From 82dcf0e67325d6eff96d5d889bbc61027b5b5b02 Mon Sep 17 00:00:00 2001 From: Alfred F Leung Date: Mon, 9 Oct 2023 13:32:50 -0700 Subject: [PATCH] IOS-XR 7.5.5 models --- vendor/cisco/xr/755/Available-Content.md | 1267 + .../BIC/Cisco-IOS-XR-controller-optics-cfg.MD | 32 + .../755/BIC/Cisco-IOS-XR-fib-common-oper.MD | 32 + .../755/BIC/Cisco-IOS-XR-infra-syslog-cfg.MD | 40 + .../Cisco-IOS-XR-8000-fib-platform-cfg.yang | 317 + .../755/Cisco-IOS-XR-8000-lpts-oper-sub1.yang | 263 + .../xr/755/Cisco-IOS-XR-8000-lpts-oper.yang | 117 + ...R-8000-platforms-npu-memory-oper-sub1.yang | 168 + ...IOS-XR-8000-platforms-npu-memory-oper.yang | 71 + ...000-platforms-npu-resources-oper-sub1.yang | 265 + ...-XR-8000-platforms-npu-resources-oper.yang | 220 + .../755/Cisco-IOS-XR-8000-qos-oper-sub1.yang | 176 + .../755/Cisco-IOS-XR-8000-qos-oper-sub2.yang | 859 + .../xr/755/Cisco-IOS-XR-8000-qos-oper.yang | 208 + .../755/Cisco-IOS-XR-Ethernet-SPAN-act.yang | 103 + .../755/Cisco-IOS-XR-Ethernet-SPAN-cfg.yang | 1117 + .../Cisco-IOS-XR-Ethernet-SPAN-datatypes.yang | 103 + .../Cisco-IOS-XR-Ethernet-SPAN-oper-sub1.yang | 1039 + .../Cisco-IOS-XR-Ethernet-SPAN-oper-sub2.yang | 239 + .../Cisco-IOS-XR-Ethernet-SPAN-oper-sub3.yang | 490 + .../755/Cisco-IOS-XR-Ethernet-SPAN-oper.yang | 244 + .../xr/755/Cisco-IOS-XR-aaa-aaacore-cfg.yang | 707 + .../xr/755/Cisco-IOS-XR-aaa-lib-cfg.yang | 352 + .../755/Cisco-IOS-XR-aaa-lib-datatypes.yang | 339 + .../xr/755/Cisco-IOS-XR-aaa-locald-cfg.yang | 760 + .../Cisco-IOS-XR-aaa-locald-oper-sub1.yang | 373 + .../xr/755/Cisco-IOS-XR-aaa-locald-oper.yang | 136 + .../xr/755/Cisco-IOS-XR-aaa-nacm-cfg.yang | 284 + .../755/Cisco-IOS-XR-aaa-nacm-oper-sub1.yang | 242 + .../xr/755/Cisco-IOS-XR-aaa-nacm-oper.yang | 136 + .../Cisco-IOS-XR-aaa-protocol-radius-cfg.yang | 1224 + ...-IOS-XR-aaa-protocol-radius-oper-sub1.yang | 563 + ...-IOS-XR-aaa-protocol-radius-oper-sub2.yang | 704 + ...Cisco-IOS-XR-aaa-protocol-radius-oper.yang | 271 + .../xr/755/Cisco-IOS-XR-aaa-tacacs-cfg.yang | 482 + .../Cisco-IOS-XR-aaa-tacacs-oper-sub1.yang | 529 + .../xr/755/Cisco-IOS-XR-aaa-tacacs-oper.yang | 119 + .../xr/755/Cisco-IOS-XR-accounting-cfg.yang | 97 + .../xr/755/Cisco-IOS-XR-adt-config-cfg.yang | 84 + .../xr/755/Cisco-IOS-XR-adt-oper-sub1.yang | 360 + .../xr/755/Cisco-IOS-XR-adt-oper-sub2.yang | 368 + .../cisco/xr/755/Cisco-IOS-XR-adt-oper.yang | 73 + ...Cisco-IOS-XR-alarmgr-server-oper-sub1.yang | 1377 + .../755/Cisco-IOS-XR-alarmgr-server-oper.yang | 361 + .../cisco/xr/755/Cisco-IOS-XR-appmgr-act.yang | 244 + .../cisco/xr/755/Cisco-IOS-XR-appmgr-cfg.yang | 227 + .../xr/755/Cisco-IOS-XR-appmgr-oper-sub1.yang | 589 + .../xr/755/Cisco-IOS-XR-appmgr-oper.yang | 144 + .../Cisco-IOS-XR-ascii-ltrace-oper-sub1.yang | 57 + .../755/Cisco-IOS-XR-ascii-ltrace-oper.yang | 90 + .../Cisco-IOS-XR-asic-error-oper-sub1.yang | 156 + .../Cisco-IOS-XR-asic-error-oper-sub2.yang | 1141 + .../xr/755/Cisco-IOS-XR-asic-error-oper.yang | 176 + .../Cisco-IOS-XR-asic-errors-oper-sub1.yang | 195 + .../Cisco-IOS-XR-asic-errors-oper-sub2.yang | 160 + .../xr/755/Cisco-IOS-XR-asic-errors-oper.yang | 390 + .../Cisco-IOS-XR-attestation-agent-cfg.yang | 73 + ...OS-XR-attestation-agent-ima-oper-sub1.yang | 304 + ...sco-IOS-XR-attestation-agent-ima-oper.yang | 97 + ...sco-IOS-XR-authenticated-variable-act.yang | 436 + .../xr/755/Cisco-IOS-XR-bundlemgr-cfg.yang | 941 + .../755/Cisco-IOS-XR-bundlemgr-oper-sub1.yang | 318 + .../755/Cisco-IOS-XR-bundlemgr-oper-sub2.yang | 3979 ++ .../xr/755/Cisco-IOS-XR-bundlemgr-oper.yang | 1197 + .../xr/755/Cisco-IOS-XR-call-home-cfg.yang | 730 + vendor/cisco/xr/755/Cisco-IOS-XR-cdp-cfg.yang | 104 + .../xr/755/Cisco-IOS-XR-cdp-oper-sub1.yang | 350 + .../cisco/xr/755/Cisco-IOS-XR-cdp-oper.yang | 157 + .../Cisco-IOS-XR-cfgmgr-cfs-check-act.yang | 49 + ...IOS-XR-cfgmgr-clear-inconsistency-act.yang | 49 + .../755/Cisco-IOS-XR-cfgmgr-rollback-act.yang | 132 + .../755/Cisco-IOS-XR-clear-counters-act.yang | 54 + vendor/cisco/xr/755/Cisco-IOS-XR-cli-cfg.yang | 48 + .../xr/755/Cisco-IOS-XR-cli-diff-act.yang | 50 + .../xr/755/Cisco-IOS-XR-clns-isis-cfg.yang | 4891 ++ .../755/Cisco-IOS-XR-clns-isis-datatypes.yang | 200 + .../755/Cisco-IOS-XR-clns-isis-oper-sub1.yang | 10189 +++++ .../755/Cisco-IOS-XR-clns-isis-oper-sub2.yang | 290 + .../xr/755/Cisco-IOS-XR-clns-isis-oper.yang | 1243 + .../xr/755/Cisco-IOS-XR-cnbng-nal-act.yang | 139 + .../Cisco-IOS-XR-common-acl-datatypes.yang | 67 + .../755/Cisco-IOS-XR-config-cfgmgr-cfg.yang | 57 + ...o-IOS-XR-config-cfgmgr-exec-oper-sub1.yang | 417 + .../Cisco-IOS-XR-config-cfgmgr-exec-oper.yang | 135 + .../755/Cisco-IOS-XR-config-cfgmgr-oper.yang | 56 + .../xr/755/Cisco-IOS-XR-config-mda-cfg.yang | 75 + .../xr/755/Cisco-IOS-XR-config-mibs-cfg.yang | 63 + .../Cisco-IOS-XR-config-valid-ccv-cfg.yang | 193 + ...sco-IOS-XR-config-valid-ccv-oper-sub1.yang | 125 + ...sco-IOS-XR-config-valid-ccv-oper-sub2.yang | 93 + .../Cisco-IOS-XR-config-valid-ccv-oper.yang | 168 + .../755/Cisco-IOS-XR-controller-ains-act.yang | 68 + ...-IOS-XR-controller-odu-clear-prbs-act.yang | 54 + ...Cisco-IOS-XR-controller-odu-datatypes.yang | 603 + .../Cisco-IOS-XR-controller-optics-cfg.yang | 964 + ...co-IOS-XR-controller-optics-oper-sub1.yang | 4611 ++ ...co-IOS-XR-controller-optics-oper-sub2.yang | 1673 + .../Cisco-IOS-XR-controller-optics-oper.yang | 238 + .../755/Cisco-IOS-XR-controller-otu-cfg.yang | 827 + ...Cisco-IOS-XR-controller-otu-oper-sub1.yang | 1328 + .../755/Cisco-IOS-XR-controller-otu-oper.yang | 97 + .../cisco/xr/755/Cisco-IOS-XR-crypto-act.yang | 420 + .../xr/755/Cisco-IOS-XR-crypto-cepki-cfg.yang | 739 + ...sco-IOS-XR-crypto-cepki-new-oper-sub1.yang | 178 + .../Cisco-IOS-XR-crypto-cepki-new-oper.yang | 145 + .../755/Cisco-IOS-XR-crypto-cepki-oper.yang | 287 + .../Cisco-IOS-XR-crypto-macsec-mka-cfg.yang | 330 + ...Cisco-IOS-XR-crypto-macsec-mka-if-cfg.yang | 134 + ...co-IOS-XR-crypto-macsec-mka-oper-sub1.yang | 1299 + .../Cisco-IOS-XR-crypto-macsec-mka-oper.yang | 116 + ...o-IOS-XR-crypto-macsec-secy-oper-sub1.yang | 293 + .../Cisco-IOS-XR-crypto-macsec-secy-oper.yang | 81 + ...o-IOS-XR-crypto-mibs-ipsecflowmon-cfg.yang | 85 + .../xr/755/Cisco-IOS-XR-crypto-ssh-cfg.yang | 714 + .../Cisco-IOS-XR-crypto-ssh-oper-sub1.yang | 253 + .../Cisco-IOS-XR-crypto-ssh-oper-sub2.yang | 822 + .../xr/755/Cisco-IOS-XR-crypto-ssh-oper.yang | 150 + .../xr/755/Cisco-IOS-XR-csd-oper-sub1.yang | 283 + .../cisco/xr/755/Cisco-IOS-XR-csd-oper.yang | 95 + ...co-IOS-XR-custom-showtech-profile-cfg.yang | 89 + .../cisco/xr/755/Cisco-IOS-XR-dot1x-cfg.yang | 292 + .../xr/755/Cisco-IOS-XR-dot1x-if-cfg.yang | 69 + .../xr/755/Cisco-IOS-XR-dot1x-oper-sub1.yang | 892 + .../cisco/xr/755/Cisco-IOS-XR-dot1x-oper.yang | 145 + ...isco-IOS-XR-dpa-port-mapper-oper-sub1.yang | 98 + .../Cisco-IOS-XR-dpa-port-mapper-oper.yang | 92 + ...isco-IOS-XR-drivers-icpe-ethernet-cfg.yang | 144 + .../Cisco-IOS-XR-drivers-media-eth-act.yang | 58 + .../Cisco-IOS-XR-drivers-media-eth-cfg.yang | 421 + ...OS-XR-drivers-media-eth-gl-pfc-wd-cfg.yang | 103 + ...co-IOS-XR-drivers-media-eth-oper-sub1.yang | 4860 ++ .../Cisco-IOS-XR-drivers-media-eth-oper.yang | 153 + .../xr/755/Cisco-IOS-XR-dwdm-ui-cfg.yang | 1038 + .../755/Cisco-IOS-XR-dwdm-ui-oper-sub1.yang | 1781 + .../xr/755/Cisco-IOS-XR-dwdm-ui-oper.yang | 132 + .../xr/755/Cisco-IOS-XR-eapol-if-cfg.yang | 80 + .../cisco/xr/755/Cisco-IOS-XR-eigrp-cfg.yang | 1461 + .../xr/755/Cisco-IOS-XR-eigrp-datatypes.yang | 58 + .../xr/755/Cisco-IOS-XR-eigrp-oper-sub1.yang | 2259 + .../cisco/xr/755/Cisco-IOS-XR-eigrp-oper.yang | 239 + .../xr/755/Cisco-IOS-XR-emon-oper-sub1.yang | 136 + .../cisco/xr/755/Cisco-IOS-XR-emon-oper.yang | 84 + .../xr/755/Cisco-IOS-XR-envmon-alt-cfg.yang | 57 + .../cisco/xr/755/Cisco-IOS-XR-envmon-cfg.yang | 163 + .../xr/755/Cisco-IOS-XR-envmon-oper-sub1.yang | 304 + .../xr/755/Cisco-IOS-XR-envmon-oper-sub2.yang | 124 + .../xr/755/Cisco-IOS-XR-envmon-oper.yang | 189 + .../cisco/xr/755/Cisco-IOS-XR-es-ace-cfg.yang | 232 + .../cisco/xr/755/Cisco-IOS-XR-es-acl-cfg.yang | 106 + .../xr/755/Cisco-IOS-XR-es-acl-datatypes.yang | 114 + .../xr/755/Cisco-IOS-XR-es-acl-oper-sub1.yang | 247 + .../xr/755/Cisco-IOS-XR-es-acl-oper.yang | 167 + .../xr/755/Cisco-IOS-XR-ethernet-cfm-act.yang | 1536 + .../xr/755/Cisco-IOS-XR-ethernet-cfm-cfg.yang | 1161 + .../Cisco-IOS-XR-ethernet-cfm-datatypes.yang | 200 + .../Cisco-IOS-XR-ethernet-cfm-oper-sub1.yang | 1226 + .../Cisco-IOS-XR-ethernet-cfm-oper-sub2.yang | 3205 ++ .../Cisco-IOS-XR-ethernet-cfm-oper-sub3.yang | 1155 + .../Cisco-IOS-XR-ethernet-cfm-oper-sub4.yang | 109 + .../755/Cisco-IOS-XR-ethernet-cfm-oper.yang | 848 + .../Cisco-IOS-XR-ethernet-link-oam-cfg.yang | 835 + ...co-IOS-XR-ethernet-link-oam-oper-sub1.yang | 1488 + .../Cisco-IOS-XR-ethernet-link-oam-oper.yang | 173 + .../755/Cisco-IOS-XR-ethernet-lldp-cfg.yang | 306 + .../Cisco-IOS-XR-ethernet-lldp-oper-sub1.yang | 608 + .../Cisco-IOS-XR-ethernet-lldp-oper-sub2.yang | 108 + .../755/Cisco-IOS-XR-ethernet-lldp-oper.yang | 195 + ...XR-event-manager-policy-map-oper-sub1.yang | 398 + ...-IOS-XR-event-manager-policy-map-oper.yang | 135 + .../xr/755/Cisco-IOS-XR-evpn-oper-sub1.yang | 3185 ++ .../cisco/xr/755/Cisco-IOS-XR-evpn-oper.yang | 958 + .../xr/755/Cisco-IOS-XR-fabhfr-mib-cfg.yang | 79 + ...S-XR-fabric-fgid-stats-8000-oper-sub1.yang | 264 + ...co-IOS-XR-fabric-fgid-stats-8000-oper.yang | 128 + ...o-IOS-XR-fabric-fsdb-server-oper-sub1.yang | 258 + .../Cisco-IOS-XR-fabric-fsdb-server-oper.yang | 171 + ...-IOS-XR-fabric-plane-health-oper-sub1.yang | 642 + ...Cisco-IOS-XR-fabric-plane-health-oper.yang | 87 + .../Cisco-IOS-XR-feature-agent-oper-sub1.yang | 288 + .../755/Cisco-IOS-XR-feature-agent-oper.yang | 76 + .../xr/755/Cisco-IOS-XR-fgid-mgr-cfg.yang | 60 + .../xr/755/Cisco-IOS-XR-fib-common-cfg.yang | 216 + .../Cisco-IOS-XR-fib-common-oper-sub1.yang | 489 + .../Cisco-IOS-XR-fib-common-oper-sub2.yang | 828 + .../Cisco-IOS-XR-fib-common-oper-sub3.yang | 242 + .../Cisco-IOS-XR-fib-common-oper-sub4.yang | 6217 +++ .../Cisco-IOS-XR-fib-common-oper-sub5.yang | 658 + .../Cisco-IOS-XR-fib-common-oper-sub6.yang | 332 + .../Cisco-IOS-XR-fib-common-oper-sub7.yang | 241 + .../xr/755/Cisco-IOS-XR-fib-common-oper.yang | 3599 ++ .../xr/755/Cisco-IOS-XR-filesysinv-cfg.yang | 121 + ...OS-XR-filesysinv-show-oper-deviations.yang | 36 + ...isco-IOS-XR-filesysinv-show-oper-sub1.yang | 387 + .../Cisco-IOS-XR-filesysinv-show-oper.yang | 200 + .../xr/755/Cisco-IOS-XR-flashmib-cfg.yang | 70 + .../xr/755/Cisco-IOS-XR-flow-oper-sub1.yang | 445 + .../xr/755/Cisco-IOS-XR-flow-oper-sub2.yang | 382 + .../cisco/xr/755/Cisco-IOS-XR-flow-oper.yang | 139 + .../xr/755/Cisco-IOS-XR-flowspec-cfg.yang | 258 + .../755/Cisco-IOS-XR-flowspec-oper-sub1.yang | 152 + .../xr/755/Cisco-IOS-XR-flowspec-oper.yang | 174 + .../xr/755/Cisco-IOS-XR-fpd-infra-cfg.yang | 130 + .../cisco/xr/755/Cisco-IOS-XR-fpmgr-cfg.yang | 243 + .../xr/755/Cisco-IOS-XR-fpmgr-oper-sub1.yang | 253 + .../cisco/xr/755/Cisco-IOS-XR-fpmgr-oper.yang | 170 + .../xr/755/Cisco-IOS-XR-freqsync-cfg.yang | 449 + .../755/Cisco-IOS-XR-freqsync-datatypes.yang | 348 + .../755/Cisco-IOS-XR-freqsync-oper-sub1.yang | 2038 + .../xr/755/Cisco-IOS-XR-freqsync-oper.yang | 427 + .../xr/755/Cisco-IOS-XR-fsdbagg-cfg.yang | 88 + .../cisco/xr/755/Cisco-IOS-XR-gnss-cfg.yang | 255 + .../xr/755/Cisco-IOS-XR-gnss-oper-sub1.yang | 505 + .../cisco/xr/755/Cisco-IOS-XR-gnss-oper.yang | 96 + .../cisco/xr/755/Cisco-IOS-XR-ha-eem-cfg.yang | 255 + .../Cisco-IOS-XR-ha-eem-policy-oper-sub1.yang | 152 + .../755/Cisco-IOS-XR-ha-eem-policy-oper.yang | 121 + .../xr/755/Cisco-IOS-XR-healthcheck-cfg.yang | 420 + .../Cisco-IOS-XR-healthcheck-oper-sub1.yang | 499 + .../Cisco-IOS-XR-healthcheck-oper-sub2.yang | 1187 + .../xr/755/Cisco-IOS-XR-healthcheck-oper.yang | 369 + .../xr/755/Cisco-IOS-XR-hw-module-cfg.yang | 112 + .../Cisco-IOS-XR-hwmod-mpa-reload-act.yang | 59 + .../cisco/xr/755/Cisco-IOS-XR-ifmgr-cfg.yang | 336 + .../xr/755/Cisco-IOS-XR-ifmgr-oper-sub1.yang | 145 + .../xr/755/Cisco-IOS-XR-ifmgr-oper-sub2.yang | 248 + .../cisco/xr/755/Cisco-IOS-XR-ifmgr-oper.yang | 240 + .../xr/755/Cisco-IOS-XR-igmp-oper-sub1.yang | 1758 + .../cisco/xr/755/Cisco-IOS-XR-igmp-oper.yang | 602 + .../Cisco-IOS-XR-igp-topodb-oper-sub1.yang | 1844 + .../xr/755/Cisco-IOS-XR-igp-topodb-oper.yang | 236 + .../Cisco-IOS-XR-infra-alarm-logger-cfg.yang | 120 + ...o-IOS-XR-infra-alarm-logger-datatypes.yang | 79 + ...o-IOS-XR-infra-alarm-logger-oper-sub1.yang | 211 + .../Cisco-IOS-XR-infra-alarm-logger-oper.yang | 76 + ...isco-IOS-XR-infra-ceredundancymib-cfg.yang | 70 + .../Cisco-IOS-XR-infra-confcopymib-cfg.yang | 59 + .../Cisco-IOS-XR-infra-correlator-cfg.yang | 560 + ...sco-IOS-XR-infra-correlator-oper-sub1.yang | 474 + .../Cisco-IOS-XR-infra-correlator-oper.yang | 209 + .../xr/755/Cisco-IOS-XR-infra-infra-cfg.yang | 103 + ...co-IOS-XR-infra-infra-clock-linux-cfg.yang | 67 + .../Cisco-IOS-XR-infra-infra-locale-cfg.yang | 1955 + .../xr/755/Cisco-IOS-XR-infra-ltrace-cfg.yang | 134 + ...IOS-XR-infra-notification-log-mib-cfg.yang | 89 + .../xr/755/Cisco-IOS-XR-infra-nsr-cfg.yang | 60 + .../xr/755/Cisco-IOS-XR-infra-objmgr-cfg.yang | 1007 + .../Cisco-IOS-XR-infra-objmgr-oper-sub1.yang | 175 + .../755/Cisco-IOS-XR-infra-objmgr-oper.yang | 949 + .../xr/755/Cisco-IOS-XR-infra-placed-act.yang | 55 + .../755/Cisco-IOS-XR-infra-policymgr-cfg.yang | 2699 ++ .../Cisco-IOS-XR-infra-policymgr-oper.yang | 8582 ++++ .../755/Cisco-IOS-XR-infra-rmf-oper-sub1.yang | 139 + .../xr/755/Cisco-IOS-XR-infra-rmf-oper.yang | 73 + .../xr/755/Cisco-IOS-XR-infra-rsi-cfg.yang | 685 + .../755/Cisco-IOS-XR-infra-rsi-oper-sub1.yang | 80 + .../755/Cisco-IOS-XR-infra-rsi-oper-sub2.yang | 424 + .../xr/755/Cisco-IOS-XR-infra-rsi-oper.yang | 394 + .../755/Cisco-IOS-XR-infra-rt-check-cfg.yang | 109 + .../Cisco-IOS-XR-infra-script-mgmt-act.yang | 568 + .../Cisco-IOS-XR-infra-script-mgmt-cfg.yang | 354 + ...co-IOS-XR-infra-script-mgmt-oper-sub1.yang | 420 + .../Cisco-IOS-XR-infra-script-mgmt-oper.yang | 1837 + .../xr/755/Cisco-IOS-XR-infra-sla-cfg.yang | 55 + .../755/Cisco-IOS-XR-infra-sla-datatypes.yang | 534 + .../xr/755/Cisco-IOS-XR-infra-sla-oper.yang | 57 + ...o-IOS-XR-infra-smartlicense-oper-sub1.yang | 1550 + .../Cisco-IOS-XR-infra-smartlicense-oper.yang | 55 + .../xr/755/Cisco-IOS-XR-infra-statsd-act.yang | 80 + .../xr/755/Cisco-IOS-XR-infra-statsd-cfg.yang | 100 + .../Cisco-IOS-XR-infra-statsd-oper-sub1.yang | 482 + .../755/Cisco-IOS-XR-infra-statsd-oper.yang | 188 + .../xr/755/Cisco-IOS-XR-infra-syslog-cfg.yang | 1363 + .../Cisco-IOS-XR-infra-syslog-oper-sub1.yang | 391 + .../755/Cisco-IOS-XR-infra-syslog-oper.yang | 171 + .../755/Cisco-IOS-XR-infra-systemmib-cfg.yang | 59 + .../xr/755/Cisco-IOS-XR-infra-tc-cfg.yang | 214 + .../755/Cisco-IOS-XR-infra-tc-oper-sub1.yang | 427 + .../xr/755/Cisco-IOS-XR-infra-tc-oper.yang | 226 + .../755/Cisco-IOS-XR-infra-xtc-agent-cfg.yang | 2395 + ...isco-IOS-XR-infra-xtc-agent-oper-sub1.yang | 3928 ++ ...isco-IOS-XR-infra-xtc-agent-oper-sub2.yang | 184 + ...isco-IOS-XR-infra-xtc-agent-oper-sub3.yang | 1007 + .../Cisco-IOS-XR-infra-xtc-agent-oper.yang | 562 + .../xr/755/Cisco-IOS-XR-infra-xtc-cfg.yang | 1726 + .../755/Cisco-IOS-XR-infra-xtc-oper-sub1.yang | 4226 ++ .../xr/755/Cisco-IOS-XR-infra-xtc-oper.yang | 1096 + .../xr/755/Cisco-IOS-XR-install-act.yang | 385 + .../Cisco-IOS-XR-install-augmented-act.yang | 442 + ...co-IOS-XR-install-augmented-oper-sub1.yang | 2878 ++ ...co-IOS-XR-install-augmented-oper-sub2.yang | 111 + .../Cisco-IOS-XR-install-augmented-oper.yang | 523 + .../xr/755/Cisco-IOS-XR-install-cfg.yang | 92 + .../755/Cisco-IOS-XR-install-oper-sub1.yang | 641 + .../xr/755/Cisco-IOS-XR-install-oper.yang | 229 + .../755/Cisco-IOS-XR-install-search-act.yang | 321 + .../cisco/xr/755/Cisco-IOS-XR-invmgr-cfg.yang | 62 + .../Cisco-IOS-XR-invmgr-diag-oper-sub1.yang | 53 + .../xr/755/Cisco-IOS-XR-invmgr-diag-oper.yang | 147 + .../xr/755/Cisco-IOS-XR-invmgr-oper-sub1.yang | 696 + .../xr/755/Cisco-IOS-XR-invmgr-oper-sub2.yang | 338 + .../xr/755/Cisco-IOS-XR-invmgr-oper-sub3.yang | 532 + .../xr/755/Cisco-IOS-XR-invmgr-oper-sub4.yang | 209 + .../xr/755/Cisco-IOS-XR-invmgr-oper.yang | 577 + .../Cisco-IOS-XR-invproxy-hwmodule-cfg.yang | 108 + .../cisco/xr/755/Cisco-IOS-XR-ip-bfd-cfg.yang | 411 + .../xr/755/Cisco-IOS-XR-ip-bfd-oper-sub1.yang | 1447 + .../xr/755/Cisco-IOS-XR-ip-bfd-oper.yang | 1650 + .../xr/755/Cisco-IOS-XR-ip-daps-cfg.yang | 345 + .../xr/755/Cisco-IOS-XR-ip-daps-mib-cfg.yang | 64 + .../755/Cisco-IOS-XR-ip-daps-oper-sub1.yang | 553 + .../xr/755/Cisco-IOS-XR-ip-daps-oper.yang | 138 + .../xr/755/Cisco-IOS-XR-ip-domain-cfg.yang | 189 + .../755/Cisco-IOS-XR-ip-domain-oper-sub1.yang | 196 + .../xr/755/Cisco-IOS-XR-ip-domain-oper.yang | 96 + .../xr/755/Cisco-IOS-XR-ip-iarm-cfg.yang | 118 + .../755/Cisco-IOS-XR-ip-iarm-datatypes.yang | 45 + .../Cisco-IOS-XR-ip-iarm-v4-oper-sub1.yang | 255 + .../xr/755/Cisco-IOS-XR-ip-iarm-v4-oper.yang | 173 + .../Cisco-IOS-XR-ip-iarm-v6-oper-sub1.yang | 230 + .../xr/755/Cisco-IOS-XR-ip-iarm-v6-oper.yang | 168 + .../xr/755/Cisco-IOS-XR-ip-iarm-vrf-cfg.yang | 77 + .../xr/755/Cisco-IOS-XR-ip-icmp-cfg.yang | 118 + .../cisco/xr/755/Cisco-IOS-XR-ip-iep-cfg.yang | 250 + .../xr/755/Cisco-IOS-XR-ip-iep-oper-sub1.yang | 147 + .../xr/755/Cisco-IOS-XR-ip-iep-oper.yang | 91 + .../Cisco-IOS-XR-ip-ntp-admin-oper-sub1.yang | 566 + .../755/Cisco-IOS-XR-ip-ntp-admin-oper.yang | 113 + .../cisco/xr/755/Cisco-IOS-XR-ip-ntp-cfg.yang | 828 + .../xr/755/Cisco-IOS-XR-ip-ntp-oper-sub1.yang | 609 + .../xr/755/Cisco-IOS-XR-ip-ntp-oper.yang | 87 + .../xr/755/Cisco-IOS-XR-ip-pfilter-cfg.yang | 349 + .../Cisco-IOS-XR-ip-pfilter-oper-sub1.yang | 48 + .../xr/755/Cisco-IOS-XR-ip-pfilter-oper.yang | 106 + .../cisco/xr/755/Cisco-IOS-XR-ip-raw-cfg.yang | 101 + .../cisco/xr/755/Cisco-IOS-XR-ip-rib-cfg.yang | 192 + .../xr/755/Cisco-IOS-XR-ip-rib-iid-cfg.yang | 41 + .../Cisco-IOS-XR-ip-rib-ipv4-oper-sub1.yang | 4329 ++ .../xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper.yang | 1379 + .../Cisco-IOS-XR-ip-rib-ipv6-oper-sub1.yang | 4355 ++ .../Cisco-IOS-XR-ip-rib-ipv6-oper-sub2.yang | 571 + .../xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper.yang | 1470 + .../cisco/xr/755/Cisco-IOS-XR-ip-rip-cfg.yang | 798 + .../xr/755/Cisco-IOS-XR-ip-rip-oper-sub1.yang | 1238 + .../xr/755/Cisco-IOS-XR-ip-rip-oper.yang | 318 + .../xr/755/Cisco-IOS-XR-ip-rsvp-cfg.yang | 739 + .../755/Cisco-IOS-XR-ip-rsvp-oper-sub1.yang | 4758 ++ .../xr/755/Cisco-IOS-XR-ip-rsvp-oper.yang | 1490 + .../xr/755/Cisco-IOS-XR-ip-sbfd-cfg.yang | 177 + .../755/Cisco-IOS-XR-ip-sbfd-oper-sub1.yang | 209 + .../xr/755/Cisco-IOS-XR-ip-sbfd-oper.yang | 132 + .../xr/755/Cisco-IOS-XR-ip-static-cfg.yang | 542 + ...Cisco-IOS-XR-ip-static-ipv4-oper-sub1.yang | 922 + .../755/Cisco-IOS-XR-ip-static-ipv4-oper.yang | 728 + ...Cisco-IOS-XR-ip-static-ipv6-oper-sub1.yang | 922 + .../755/Cisco-IOS-XR-ip-static-ipv6-oper.yang | 728 + .../cisco/xr/755/Cisco-IOS-XR-ip-tcp-cfg.yang | 417 + .../xr/755/Cisco-IOS-XR-ip-tcp-oper-sub1.yang | 1761 + .../xr/755/Cisco-IOS-XR-ip-tcp-oper-sub2.yang | 98 + .../xr/755/Cisco-IOS-XR-ip-tcp-oper-sub3.yang | 2176 + .../xr/755/Cisco-IOS-XR-ip-tcp-oper-sub4.yang | 793 + .../xr/755/Cisco-IOS-XR-ip-tcp-oper-sub5.yang | 105 + .../xr/755/Cisco-IOS-XR-ip-tcp-oper.yang | 477 + .../cisco/xr/755/Cisco-IOS-XR-ip-udp-cfg.yang | 238 + .../xr/755/Cisco-IOS-XR-ip-udp-oper-sub1.yang | 486 + .../xr/755/Cisco-IOS-XR-ip-udp-oper-sub2.yang | 998 + .../xr/755/Cisco-IOS-XR-ip-udp-oper-sub3.yang | 96 + .../xr/755/Cisco-IOS-XR-ip-udp-oper-sub4.yang | 94 + .../xr/755/Cisco-IOS-XR-ip-udp-oper.yang | 264 + .../xr/755/Cisco-IOS-XR-ipv4-ace-cfg.yang | 655 + .../xr/755/Cisco-IOS-XR-ipv4-acl-cfg.yang | 260 + .../755/Cisco-IOS-XR-ipv4-acl-datatypes.yang | 1207 + .../755/Cisco-IOS-XR-ipv4-acl-oper-sub1.yang | 941 + .../xr/755/Cisco-IOS-XR-ipv4-acl-oper.yang | 254 + .../xr/755/Cisco-IOS-XR-ipv4-arp-act.yang | 192 + .../xr/755/Cisco-IOS-XR-ipv4-arp-cfg.yang | 507 + .../755/Cisco-IOS-XR-ipv4-arp-oper-sub1.yang | 1546 + .../755/Cisco-IOS-XR-ipv4-arp-oper-sub2.yang | 121 + .../755/Cisco-IOS-XR-ipv4-arp-oper-sub3.yang | 257 + .../xr/755/Cisco-IOS-XR-ipv4-arp-oper.yang | 425 + .../Cisco-IOS-XR-ipv4-autorp-datatypes.yang | 54 + .../Cisco-IOS-XR-ipv4-autorp-oper-sub1.yang | 164 + .../Cisco-IOS-XR-ipv4-autorp-oper-sub2.yang | 109 + .../xr/755/Cisco-IOS-XR-ipv4-autorp-oper.yang | 147 + .../xr/755/Cisco-IOS-XR-ipv4-bgp-act.yang | 15245 +++++++ ...o-IOS-XR-ipv4-bgp-cfg-8000-deviations.yang | 55 + ...IOS-XR-ipv4-bgp-cfg-ncs540-deviations.yang | 55 + ...OS-XR-ipv4-bgp-cfg-ncs540l-deviations.yang | 55 + ...OS-XR-ipv4-bgp-cfg-ncs5500-deviations.yang | 55 + .../xr/755/Cisco-IOS-XR-ipv4-bgp-cfg.yang | 7417 +++ .../755/Cisco-IOS-XR-ipv4-bgp-datatypes.yang | 617 + .../Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1.yang | 353 + .../xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper.yang | 195 + .../755/Cisco-IOS-XR-ipv4-bgp-oper-sub1.yang | 19302 ++++++++ .../xr/755/Cisco-IOS-XR-ipv4-bgp-oper.yang | 2161 + .../xr/755/Cisco-IOS-XR-ipv4-cinetd-cfg.yang | 62 + .../xr/755/Cisco-IOS-XR-ipv4-dc-cfg.yang | 193 + .../xr/755/Cisco-IOS-XR-ipv4-dhcpd-cfg.yang | 2780 ++ .../Cisco-IOS-XR-ipv4-dhcpd-oper-sub1.yang | 1884 + .../Cisco-IOS-XR-ipv4-dhcpd-oper-sub2.yang | 456 + .../xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper.yang | 567 + .../Cisco-IOS-XR-ipv4-filesystems-cfg.yang | 213 + .../xr/755/Cisco-IOS-XR-ipv4-hsrp-cfg.yang | 911 + .../755/Cisco-IOS-XR-ipv4-hsrp-oper-sub1.yang | 1404 + .../xr/755/Cisco-IOS-XR-ipv4-hsrp-oper.yang | 247 + .../xr/755/Cisco-IOS-XR-ipv4-igmp-cfg.yang | 775 + .../755/Cisco-IOS-XR-ipv4-igmp-oper-sub1.yang | 1764 + .../xr/755/Cisco-IOS-XR-ipv4-igmp-oper.yang | 588 + .../xr/755/Cisco-IOS-XR-ipv4-io-cfg.yang | 402 + .../755/Cisco-IOS-XR-ipv4-io-oper-sub1.yang | 492 + .../755/Cisco-IOS-XR-ipv4-io-oper-sub2.yang | 650 + .../xr/755/Cisco-IOS-XR-ipv4-io-oper.yang | 198 + .../xr/755/Cisco-IOS-XR-ipv4-ma-cfg.yang | 149 + .../755/Cisco-IOS-XR-ipv4-ma-oper-sub1.yang | 650 + .../xr/755/Cisco-IOS-XR-ipv4-ma-oper.yang | 114 + .../xr/755/Cisco-IOS-XR-ipv4-mfwd-cfg.yang | 385 + .../xr/755/Cisco-IOS-XR-ipv4-msdp-cfg.yang | 396 + .../xr/755/Cisco-IOS-XR-ipv4-ospf-act.yang | 307 + .../xr/755/Cisco-IOS-XR-ipv4-ospf-cfg.yang | 4434 ++ .../755/Cisco-IOS-XR-ipv4-ospf-oper-sub1.yang | 245 + .../755/Cisco-IOS-XR-ipv4-ospf-oper-sub2.yang | 7883 ++++ .../755/Cisco-IOS-XR-ipv4-ospf-oper-sub3.yang | 1611 + .../xr/755/Cisco-IOS-XR-ipv4-ospf-oper.yang | 1297 + .../xr/755/Cisco-IOS-XR-ipv4-pim-cfg.yang | 1785 + .../755/Cisco-IOS-XR-ipv4-pim-oper-sub1.yang | 4070 ++ .../755/Cisco-IOS-XR-ipv4-pim-oper-sub2.yang | 215 + .../xr/755/Cisco-IOS-XR-ipv4-pim-oper.yang | 1311 + .../xr/755/Cisco-IOS-XR-ipv4-ping-act.yang | 256 + .../xr/755/Cisco-IOS-XR-ipv4-smiap-cfg.yang | 94 + .../Cisco-IOS-XR-ipv4-smiap-oper-sub1.yang | 159 + .../xr/755/Cisco-IOS-XR-ipv4-smiap-oper.yang | 77 + .../xr/755/Cisco-IOS-XR-ipv4-telnet-cfg.yang | 70 + .../Cisco-IOS-XR-ipv4-telnet-mgmt-cfg.yang | 78 + .../755/Cisco-IOS-XR-ipv4-traceroute-act.yang | 214 + .../xr/755/Cisco-IOS-XR-ipv4-vrrp-cfg.yang | 805 + .../755/Cisco-IOS-XR-ipv4-vrrp-oper-sub1.yang | 1107 + .../xr/755/Cisco-IOS-XR-ipv4-vrrp-oper.yang | 230 + .../xr/755/Cisco-IOS-XR-ipv6-ace-cfg.yang | 672 + .../xr/755/Cisco-IOS-XR-ipv6-acl-cfg.yang | 264 + .../755/Cisco-IOS-XR-ipv6-acl-datatypes.yang | 1130 + .../755/Cisco-IOS-XR-ipv6-acl-oper-sub1.yang | 909 + .../xr/755/Cisco-IOS-XR-ipv6-acl-oper.yang | 237 + .../xr/755/Cisco-IOS-XR-ipv6-io-cfg.yang | 126 + .../755/Cisco-IOS-XR-ipv6-io-oper-sub1.yang | 536 + .../xr/755/Cisco-IOS-XR-ipv6-io-oper.yang | 106 + .../xr/755/Cisco-IOS-XR-ipv6-ma-cfg.yang | 407 + .../755/Cisco-IOS-XR-ipv6-ma-oper-sub1.yang | 604 + .../xr/755/Cisco-IOS-XR-ipv6-ma-oper.yang | 227 + .../xr/755/Cisco-IOS-XR-ipv6-nd-cfg.yang | 558 + .../755/Cisco-IOS-XR-ipv6-nd-oper-sub1.yang | 843 + .../xr/755/Cisco-IOS-XR-ipv6-nd-oper.yang | 206 + .../Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg.yang | 1127 + ...co-IOS-XR-ipv6-new-dhcpv6d-client-cfg.yang | 177 + ...-XR-ipv6-new-dhcpv6d-client-oper-sub1.yang | 570 + ...o-IOS-XR-ipv6-new-dhcpv6d-client-oper.yang | 130 + ...sco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1.yang | 2077 + .../Cisco-IOS-XR-ipv6-new-dhcpv6d-oper.yang | 534 + .../xr/755/Cisco-IOS-XR-ipv6-ospfv3-act.yang | 265 + .../xr/755/Cisco-IOS-XR-ipv6-ospfv3-cfg.yang | 3235 ++ .../Cisco-IOS-XR-ipv6-ospfv3-oper-sub1.yang | 5454 +++ .../xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper.yang | 975 + .../xr/755/Cisco-IOS-XR-ipv6-ping-act.yang | 167 + .../xr/755/Cisco-IOS-XR-ipv6-smiap-cfg.yang | 94 + .../Cisco-IOS-XR-ipv6-smiap-oper-sub1.yang | 158 + .../xr/755/Cisco-IOS-XR-ipv6-smiap-oper.yang | 76 + .../755/Cisco-IOS-XR-ipv6-traceroute-act.yang | 80 + .../cisco/xr/755/Cisco-IOS-XR-isis-act.yang | 231 + .../xr/755/Cisco-IOS-XR-l2-eth-infra-cfg.yang | 850 + .../Cisco-IOS-XR-l2-eth-infra-datatypes.yang | 258 + .../Cisco-IOS-XR-l2-eth-infra-oper-sub1.yang | 90 + .../Cisco-IOS-XR-l2-eth-infra-oper-sub2.yang | 830 + .../Cisco-IOS-XR-l2-eth-infra-oper-sub3.yang | 127 + .../755/Cisco-IOS-XR-l2-eth-infra-oper.yang | 204 + .../cisco/xr/755/Cisco-IOS-XR-l2rib-cfg.yang | 157 + .../xr/755/Cisco-IOS-XR-l2rib-oper-sub1.yang | 1349 + .../cisco/xr/755/Cisco-IOS-XR-l2rib-oper.yang | 397 + .../cisco/xr/755/Cisco-IOS-XR-l2vpn-cfg.yang | 6464 +++ .../xr/755/Cisco-IOS-XR-l2vpn-oper-sub1.yang | 222 + .../xr/755/Cisco-IOS-XR-l2vpn-oper-sub2.yang | 365 + .../xr/755/Cisco-IOS-XR-l2vpn-oper-sub3.yang | 8887 ++++ .../xr/755/Cisco-IOS-XR-l2vpn-oper-sub4.yang | 5648 +++ .../cisco/xr/755/Cisco-IOS-XR-l2vpn-oper.yang | 2707 ++ .../xr/755/Cisco-IOS-XR-ledmgr-oper-sub1.yang | 63 + .../xr/755/Cisco-IOS-XR-ledmgr-oper.yang | 84 + .../xr/755/Cisco-IOS-XR-lib-keychain-act.yang | 82 + .../xr/755/Cisco-IOS-XR-lib-keychain-cfg.yang | 656 + .../Cisco-IOS-XR-lib-keychain-oper-sub1.yang | 217 + .../755/Cisco-IOS-XR-lib-keychain-oper.yang | 72 + .../xr/755/Cisco-IOS-XR-lib-mpp-cfg.yang | 295 + .../755/Cisco-IOS-XR-lib-mpp-oper-sub1.yang | 189 + .../xr/755/Cisco-IOS-XR-lib-mpp-oper.yang | 94 + .../xr/755/Cisco-IOS-XR-lib-type6-act.yang | 135 + .../xr/755/Cisco-IOS-XR-lib-type6-cfg.yang | 71 + ...sco-IOS-XR-lib-type6-server-oper-sub1.yang | 133 + .../Cisco-IOS-XR-lib-type6-server-oper.yang | 82 + ...OS-XR-linux-os-heap-summary-oper-sub1.yang | 78 + ...sco-IOS-XR-linux-os-heap-summary-oper.yang | 98 + ...-XR-linux-os-reboot-history-oper-sub1.yang | 88 + ...o-IOS-XR-linux-os-reboot-history-oper.yang | 74 + ...sco-IOS-XR-linux-security-diskenc-act.yang | 61 + ...S-XR-linux-security-showenc-oper-sub1.yang | 75 + ...co-IOS-XR-linux-security-showenc-oper.yang | 68 + .../xr/755/Cisco-IOS-XR-linux-xlnc-cfg.yang | 408 + .../Cisco-IOS-XR-linux-xlnc-oper-sub1.yang | 601 + .../xr/755/Cisco-IOS-XR-linux-xlnc-oper.yang | 129 + .../xr/755/Cisco-IOS-XR-lldp-clear-act.yang | 58 + vendor/cisco/xr/755/Cisco-IOS-XR-lmp-cfg.yang | 289 + .../xr/755/Cisco-IOS-XR-lmp-datatypes.yang | 81 + .../xr/755/Cisco-IOS-XR-lmp-oper-sub1.yang | 857 + .../cisco/xr/755/Cisco-IOS-XR-lmp-oper.yang | 125 + .../xr/755/Cisco-IOS-XR-lpts-ifib-act.yang | 57 + .../755/Cisco-IOS-XR-lpts-ifib-oper-sub1.yang | 181 + .../xr/755/Cisco-IOS-XR-lpts-ifib-oper.yang | 105 + .../xr/755/Cisco-IOS-XR-lpts-lib-cfg.yang | 46 + .../xr/755/Cisco-IOS-XR-lpts-pa-act.yang | 42 + .../755/Cisco-IOS-XR-lpts-pa-oper-sub1.yang | 251 + .../xr/755/Cisco-IOS-XR-lpts-pa-oper.yang | 93 + .../755/Cisco-IOS-XR-lpts-pre-ifib-act.yang | 75 + .../755/Cisco-IOS-XR-lpts-pre-ifib-cfg.yang | 1143 + .../Cisco-IOS-XR-lpts-pre-ifib-oper-sub1.yang | 667 + .../755/Cisco-IOS-XR-lpts-pre-ifib-oper.yang | 221 + .../xr/755/Cisco-IOS-XR-mab-oper-sub1.yang | 328 + .../cisco/xr/755/Cisco-IOS-XR-mab-oper.yang | 108 + .../xr/755/Cisco-IOS-XR-man-ems-cfg.yang | 417 + .../755/Cisco-IOS-XR-man-ems-oper-sub1.yang | 500 + .../xr/755/Cisco-IOS-XR-man-ems-oper.yang | 118 + ...sco-IOS-XR-man-http-lighttpd-yang-cfg.yang | 84 + .../xr/755/Cisco-IOS-XR-man-ipsla-cfg.yang | 2610 ++ .../755/Cisco-IOS-XR-man-ipsla-oper-sub1.yang | 142 + .../755/Cisco-IOS-XR-man-ipsla-oper-sub2.yang | 1655 + .../755/Cisco-IOS-XR-man-ipsla-oper-sub3.yang | 137 + .../xr/755/Cisco-IOS-XR-man-ipsla-oper.yang | 685 + .../xr/755/Cisco-IOS-XR-man-netconf-cfg.yang | 143 + .../Cisco-IOS-XR-man-netconf-oper-sub1.yang | 238 + .../xr/755/Cisco-IOS-XR-man-netconf-oper.yang | 126 + .../xr/755/Cisco-IOS-XR-man-restconf-cfg.yang | 74 + ...OS-XR-man-xml-ttyagent-cfg-deviations.yang | 54 + .../Cisco-IOS-XR-man-xml-ttyagent-cfg.yang | 287 + ...sco-IOS-XR-man-xml-ttyagent-oper-sub1.yang | 151 + .../Cisco-IOS-XR-man-xml-ttyagent-oper.yang | 134 + ...-XR-manageability-object-tracking-cfg.yang | 466 + ...nageability-object-tracking-datatypes.yang | 217 + ...nageability-object-tracking-oper-sub1.yang | 607 + ...XR-manageability-object-tracking-oper.yang | 133 + ...sco-IOS-XR-manageability-perfmgmt-cfg.yang | 4860 ++ ...S-XR-manageability-perfmgmt-datatypes.yang | 45 + ...S-XR-manageability-perfmgmt-oper-sub1.yang | 737 + ...co-IOS-XR-manageability-perfmgmt-oper.yang | 419 + .../xr/755/Cisco-IOS-XR-mdrv-lib-cfg.yang | 81 + ...Cisco-IOS-XR-mediasvr-linux-oper-sub1.yang | 83 + .../755/Cisco-IOS-XR-mediasvr-linux-oper.yang | 82 + .../xr/755/Cisco-IOS-XR-mfwd-oper-sub1.yang | 2279 + .../xr/755/Cisco-IOS-XR-mfwd-oper-sub2.yang | 62 + .../cisco/xr/755/Cisco-IOS-XR-mfwd-oper.yang | 462 + .../cisco/xr/755/Cisco-IOS-XR-mirror-cfg.yang | 61 + .../xr/755/Cisco-IOS-XR-mirror-oper-sub1.yang | 259 + .../xr/755/Cisco-IOS-XR-mirror-oper.yang | 100 + .../xr/755/Cisco-IOS-XR-mld-oper-sub1.yang | 1756 + .../cisco/xr/755/Cisco-IOS-XR-mld-oper.yang | 600 + .../xr/755/Cisco-IOS-XR-mpls-io-cfg.yang | 93 + .../755/Cisco-IOS-XR-mpls-io-oper-sub1.yang | 67 + .../xr/755/Cisco-IOS-XR-mpls-io-oper.yang | 123 + .../Cisco-IOS-XR-mpls-ldp-cfg-datatypes.yang | 157 + .../xr/755/Cisco-IOS-XR-mpls-ldp-cfg.yang | 2036 + .../Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1.yang | 1500 + .../755/Cisco-IOS-XR-mpls-ldp-mldp-oper.yang | 433 + .../Cisco-IOS-XR-mpls-ldp-oper-datatypes.yang | 59 + .../755/Cisco-IOS-XR-mpls-ldp-oper-sub1.yang | 3460 ++ .../755/Cisco-IOS-XR-mpls-ldp-oper-sub2.yang | 306 + .../755/Cisco-IOS-XR-mpls-ldp-oper-sub3.yang | 311 + .../xr/755/Cisco-IOS-XR-mpls-ldp-oper.yang | 866 + .../xr/755/Cisco-IOS-XR-mpls-lsd-cfg.yang | 292 + .../755/Cisco-IOS-XR-mpls-lsd-oper-sub1.yang | 4226 ++ .../xr/755/Cisco-IOS-XR-mpls-lsd-oper.yang | 580 + .../xr/755/Cisco-IOS-XR-mpls-oam-cfg.yang | 110 + .../755/Cisco-IOS-XR-mpls-oam-oper-sub1.yang | 797 + .../755/Cisco-IOS-XR-mpls-oam-oper-sub2.yang | 450 + .../xr/755/Cisco-IOS-XR-mpls-oam-oper.yang | 219 + .../xr/755/Cisco-IOS-XR-mpls-ping-act.yang | 1005 + .../xr/755/Cisco-IOS-XR-mpls-static-cfg.yang | 486 + .../Cisco-IOS-XR-mpls-static-oper-sub1.yang | 534 + .../xr/755/Cisco-IOS-XR-mpls-static-oper.yang | 120 + .../xr/755/Cisco-IOS-XR-mpls-te-act.yang | 117 + .../xr/755/Cisco-IOS-XR-mpls-te-cfg.yang | 7581 ++++ .../755/Cisco-IOS-XR-mpls-te-datatypes.yang | 962 + .../755/Cisco-IOS-XR-mpls-te-oper-sub1.yang | 614 + .../755/Cisco-IOS-XR-mpls-te-oper-sub2.yang | 252 + .../755/Cisco-IOS-XR-mpls-te-oper-sub3.yang | 185 + .../755/Cisco-IOS-XR-mpls-te-oper-sub4.yang | 1185 + .../755/Cisco-IOS-XR-mpls-te-oper-sub5.yang | 17008 +++++++ .../755/Cisco-IOS-XR-mpls-te-oper-sub6.yang | 3469 ++ .../755/Cisco-IOS-XR-mpls-te-oper-sub7.yang | 137 + .../755/Cisco-IOS-XR-mpls-te-oper-sub8.yang | 766 + .../755/Cisco-IOS-XR-mpls-te-oper-sub9.yang | 104 + .../xr/755/Cisco-IOS-XR-mpls-te-oper.yang | 2745 ++ .../755/Cisco-IOS-XR-mpls-traceroute-act.yang | 850 + .../xr/755/Cisco-IOS-XR-mpls-vpn-cfg.yang | 110 + .../755/Cisco-IOS-XR-mpls-vpn-oper-sub1.yang | 199 + .../xr/755/Cisco-IOS-XR-mpls-vpn-oper.yang | 85 + .../xr/755/Cisco-IOS-XR-mrib-oper-sub1.yang | 3632 ++ .../cisco/xr/755/Cisco-IOS-XR-mrib-oper.yang | 968 + .../xr/755/Cisco-IOS-XR-msdp-oper-sub1.yang | 1340 + .../cisco/xr/755/Cisco-IOS-XR-msdp-oper.yang | 412 + .../xr/755/Cisco-IOS-XR-mvpn-oper-sub1.yang | 2864 ++ .../cisco/xr/755/Cisco-IOS-XR-mvpn-oper.yang | 1027 + .../Cisco-IOS-XR-ncs-grid-svr-oper-sub1.yang | 58 + .../755/Cisco-IOS-XR-ncs-grid-svr-oper.yang | 97 + ...Cisco-IOS-XR-npu-fsdb-stats-oper-sub1.yang | 2027 + .../755/Cisco-IOS-XR-npu-fsdb-stats-oper.yang | 263 + .../755/Cisco-IOS-XR-npu-hw-profile-cfg.yang | 600 + ...sco-IOS-XR-npu-power-profile-sf-d-cfg.yang | 120 + ...sco-IOS-XR-npu-power-profile-sf-f-cfg.yang | 98 + .../755/Cisco-IOS-XR-nto-misc-oper-sub1.yang | 275 + .../xr/755/Cisco-IOS-XR-nto-misc-oper.yang | 83 + .../cisco/xr/755/Cisco-IOS-XR-nvgen-cfg.yang | 82 + .../Cisco-IOS-XR-ofa-netflow-oper-sub1.yang | 286 + .../Cisco-IOS-XR-ofa-netflow-oper-sub2.yang | 123 + .../xr/755/Cisco-IOS-XR-ofa-netflow-oper.yang | 107 + .../Cisco-IOS-XR-ofa-npu-pfc-oper-sub1.yang | 139 + .../xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper.yang | 84 + .../Cisco-IOS-XR-ofa-npu-qos-oper-sub1.yang | 122 + .../xr/755/Cisco-IOS-XR-ofa-npu-qos-oper.yang | 44 + .../Cisco-IOS-XR-ofa-npu-stats-oper-sub1.yang | 681 + .../755/Cisco-IOS-XR-ofa-npu-stats-oper.yang | 304 + ...sco-IOS-XR-openconfig-mpls-static-ext.yang | 251 + ...IOS-XR-openconfig-system-terminal-ext.yang | 130 + ...IOS-XR-openconfig-terminal-device-ext.yang | 223 + .../xr/755/Cisco-IOS-XR-opticalmib-cfg.yang | 59 + .../755/Cisco-IOS-XR-opticalotsmib-cfg.yang | 59 + .../xr/755/Cisco-IOS-XR-optics-dac-cfg.yang | 96 + .../755/Cisco-IOS-XR-optics-driver-cfg.yang | 87 + .../Cisco-IOS-XR-optics-driver-quad-cfg.yang | 109 + ...isco-IOS-XR-optics-driver-xponder-cfg.yang | 75 + .../Cisco-IOS-XR-optics-fan-control-cfg.yang | 87 + .../Cisco-IOS-XR-optics-media-type-cfg.yang | 71 + .../Cisco-IOS-XR-optics-port-mode-cfg.yang | 113 + .../xr/755/Cisco-IOS-XR-optics-speed-cfg.yang | 91 + .../xr/755/Cisco-IOS-XR-orrspf-oper-sub1.yang | 372 + .../xr/755/Cisco-IOS-XR-orrspf-oper.yang | 160 + .../xr/755/Cisco-IOS-XR-otnifmib-cfg.yang | 59 + .../755/Cisco-IOS-XR-ownership-oper-sub1.yang | 78 + .../xr/755/Cisco-IOS-XR-ownership-oper.yang | 60 + .../cisco/xr/755/Cisco-IOS-XR-parser-cfg.yang | 231 + .../xr/755/Cisco-IOS-XR-pbr-bng-cfg.yang | 111 + vendor/cisco/xr/755/Cisco-IOS-XR-pbr-cfg.yang | 88 + .../xr/755/Cisco-IOS-XR-pbr-oper-sub1.yang | 302 + .../cisco/xr/755/Cisco-IOS-XR-pbr-oper.yang | 99 + .../755/Cisco-IOS-XR-pbr-vrf-policy-cfg.yang | 83 + .../xr/755/Cisco-IOS-XR-perf-meas-cfg.yang | 1370 + .../755/Cisco-IOS-XR-perf-meas-oper-sub1.yang | 284 + .../755/Cisco-IOS-XR-perf-meas-oper-sub2.yang | 4477 ++ .../xr/755/Cisco-IOS-XR-perf-meas-oper.yang | 1026 + ...sco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1.yang | 145 + .../Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper.yang | 68 + .../Cisco-IOS-XR-pfi-im-cmd-oper-sub1.yang | 6838 +++ .../Cisco-IOS-XR-pfi-im-cmd-oper-sub2.yang | 321 + .../xr/755/Cisco-IOS-XR-pfi-im-cmd-oper.yang | 232 + .../xr/755/Cisco-IOS-XR-pim-oper-sub1.yang | 4060 ++ .../xr/755/Cisco-IOS-XR-pim-oper-sub2.yang | 205 + .../cisco/xr/755/Cisco-IOS-XR-pim-oper.yang | 1286 + .../cisco/xr/755/Cisco-IOS-XR-ping-act.yang | 94 + ...-IOS-XR-plat-chas-invmgr-ng-oper-sub1.yang | 435 + ...Cisco-IOS-XR-plat-chas-invmgr-ng-oper.yang | 135 + ...S-XR-platform-event-history-oper-sub1.yang | 115 + ...co-IOS-XR-platform-event-history-oper.yang | 69 + ...IOS-XR-platform-oir-history-oper-sub1.yang | 88 + ...isco-IOS-XR-platform-oir-history-oper.yang | 68 + .../755/Cisco-IOS-XR-platform-oper-sub1.yang | 426 + .../xr/755/Cisco-IOS-XR-platform-oper.yang | 121 + ...isco-IOS-XR-platforms-common-tams-act.yang | 56 + .../755/Cisco-IOS-XR-platforms-ofa-oper.yang | 83 + ...R-platforms-ofa-table-stats-oper-sub1.yang | 355 + ...IOS-XR-platforms-ofa-table-stats-oper.yang | 1718 + .../xr/755/Cisco-IOS-XR-pmengine-cfg.yang | 6474 +++ .../755/Cisco-IOS-XR-pmengine-clear-act.yang | 81 + .../xr/755/Cisco-IOS-XR-pmengine-gl-cfg.yang | 63 + .../755/Cisco-IOS-XR-pmengine-oper-sub1.yang | 3715 ++ .../xr/755/Cisco-IOS-XR-pmengine-oper.yang | 6067 +++ .../Cisco-IOS-XR-policy-repository-cfg.yang | 453 + ...co-IOS-XR-policy-repository-oper-sub1.yang | 491 + .../Cisco-IOS-XR-policy-repository-oper.yang | 388 + .../755/Cisco-IOS-XR-procfind-oper-sub1.yang | 82 + .../xr/755/Cisco-IOS-XR-procfind-oper.yang | 105 + .../755/Cisco-IOS-XR-procmem-oper-sub1.yang | 110 + .../xr/755/Cisco-IOS-XR-procmem-oper.yang | 106 + ...Cisco-IOS-XR-procthreadname-oper-sub1.yang | 97 + .../755/Cisco-IOS-XR-procthreadname-oper.yang | 77 + vendor/cisco/xr/755/Cisco-IOS-XR-ptp-cfg.yang | 1618 + .../xr/755/Cisco-IOS-XR-ptp-datatypes.yang | 405 + .../xr/755/Cisco-IOS-XR-ptp-oper-sub1.yang | 2896 ++ .../cisco/xr/755/Cisco-IOS-XR-ptp-oper.yang | 314 + .../cisco/xr/755/Cisco-IOS-XR-ptp-pd-cfg.yang | 68 + .../xr/755/Cisco-IOS-XR-ptp-pd-oper-sub1.yang | 448 + .../xr/755/Cisco-IOS-XR-ptp-pd-oper.yang | 81 + .../755/Cisco-IOS-XR-pwrmgmt-action-cfg.yang | 56 + .../xr/755/Cisco-IOS-XR-pwrmgmt-cfg.yang | 68 + .../cisco/xr/755/Cisco-IOS-XR-qos-ma-cfg.yang | 361 + .../xr/755/Cisco-IOS-XR-qos-ma-oper.yang | 1731 + .../xr/755/Cisco-IOS-XR-qos-mibs-cfg.yang | 95 + .../Cisco-IOS-XR-remote-attestation-act.yang | 859 + .../cisco/xr/755/Cisco-IOS-XR-rgmgr-cfg.yang | 201 + .../xr/755/Cisco-IOS-XR-rgmgr-oper-sub1.yang | 97 + .../cisco/xr/755/Cisco-IOS-XR-rgmgr-oper.yang | 74 + .../755/Cisco-IOS-XR-rsi-agent-oper-sub1.yang | 1290 + .../xr/755/Cisco-IOS-XR-rsi-agent-oper.yang | 480 + .../xr/755/Cisco-IOS-XR-sandbox-cfg.yang | 90 + .../755/Cisco-IOS-XR-sandbox-oper-sub1.yang | 168 + .../xr/755/Cisco-IOS-XR-sandbox-oper.yang | 69 + .../Cisco-IOS-XR-segment-routing-ms-cfg.yang | 308 + ...-IOS-XR-segment-routing-ms-common-cfg.yang | 46 + ...o-IOS-XR-segment-routing-ms-oper-sub1.yang | 67 + ...o-IOS-XR-segment-routing-ms-oper-sub2.yang | 155 + ...o-IOS-XR-segment-routing-ms-oper-sub3.yang | 211 + .../Cisco-IOS-XR-segment-routing-ms-oper.yang | 282 + ...Cisco-IOS-XR-segment-routing-srv6-cfg.yang | 278 + ...IOS-XR-segment-routing-srv6-datatypes.yang | 173 + ...IOS-XR-segment-routing-srv6-oper-sub1.yang | 1925 + ...isco-IOS-XR-segment-routing-srv6-oper.yang | 299 + .../xr/755/Cisco-IOS-XR-shellutil-cfg.yang | 55 + .../755/Cisco-IOS-XR-shellutil-copy-act.yang | 107 + .../Cisco-IOS-XR-shellutil-delete-act.yang | 76 + .../Cisco-IOS-XR-shellutil-dir-oper-sub1.yang | 153 + .../755/Cisco-IOS-XR-shellutil-dir-oper.yang | 101 + ...IOS-XR-shellutil-filesystem-oper-sub1.yang | 85 + ...isco-IOS-XR-shellutil-filesystem-oper.yang | 69 + .../755/Cisco-IOS-XR-shellutil-oper-sub1.yang | 142 + .../xr/755/Cisco-IOS-XR-shellutil-oper.yang | 60 + ...isco-IOS-XR-show-fpd-loc-ng-oper-sub1.yang | 224 + .../Cisco-IOS-XR-show-fpd-loc-ng-oper.yang | 144 + vendor/cisco/xr/755/Cisco-IOS-XR-sks-act.yang | 137 + .../xr/755/Cisco-IOS-XR-sks-server-cfg.yang | 107 + .../Cisco-IOS-XR-sks-server-oper-sub1.yang | 142 + .../xr/755/Cisco-IOS-XR-sks-server-oper.yang | 131 + .../755/Cisco-IOS-XR-smart-license-act.yang | 382 + .../755/Cisco-IOS-XR-smart-license-cfg.yang | 134 + .../Cisco-IOS-XR-smart-license-errors.yang | 983 + ...S-XR-smart-license-platform-oper-sub1.yang | 454 + ...co-IOS-XR-smart-license-platform-oper.yang | 69 + .../xr/755/Cisco-IOS-XR-snmp-agent-cfg.yang | 2425 + .../Cisco-IOS-XR-snmp-agent-oper-sub1.yang | 74 + .../Cisco-IOS-XR-snmp-agent-oper-sub2.yang | 307 + .../Cisco-IOS-XR-snmp-agent-oper-sub3.yang | 1143 + .../Cisco-IOS-XR-snmp-agent-oper-sub4.yang | 159 + .../Cisco-IOS-XR-snmp-agent-oper-sub5.yang | 90 + .../Cisco-IOS-XR-snmp-agent-oper-sub6.yang | 92 + .../Cisco-IOS-XR-snmp-agent-oper-sub7.yang | 89 + .../xr/755/Cisco-IOS-XR-snmp-agent-oper.yang | 655 + .../755/Cisco-IOS-XR-snmp-bridgemib-cfg.yang | 59 + ...sco-IOS-XR-snmp-ciscopkimib-traps-cfg.yang | 55 + .../Cisco-IOS-XR-snmp-ciscosensormib-cfg.yang | 79 + .../Cisco-IOS-XR-snmp-entityextmib-cfg.yang | 59 + .../755/Cisco-IOS-XR-snmp-entitymib-cfg.yang | 77 + ...Cisco-IOS-XR-snmp-entitymib-oper-sub1.yang | 93 + .../755/Cisco-IOS-XR-snmp-entitymib-oper.yang | 75 + .../Cisco-IOS-XR-snmp-entstatemib-cfg.yang | 69 + .../Cisco-IOS-XR-snmp-frucontrolmib-cfg.yang | 60 + .../xr/755/Cisco-IOS-XR-snmp-ifmib-cfg.yang | 179 + .../Cisco-IOS-XR-snmp-ifmib-oper-sub1.yang | 115 + .../xr/755/Cisco-IOS-XR-snmp-ifmib-oper.yang | 136 + .../755/Cisco-IOS-XR-snmp-mib-rfmib-cfg.yang | 63 + ...Cisco-IOS-XR-snmp-sensormib-oper-sub1.yang | 120 + ...Cisco-IOS-XR-snmp-sensormib-oper-sub2.yang | 76 + .../755/Cisco-IOS-XR-snmp-sensormib-oper.yang | 117 + .../755/Cisco-IOS-XR-snmp-syslogmib-cfg.yang | 63 + .../755/Cisco-IOS-XR-snmp-test-trap-act.yang | 487 + .../Cisco-IOS-XR-spirit-corehelper-cfg.yang | 65 + ...R-spirit-corehelper-context-oper-sub1.yang | 54 + ...IOS-XR-spirit-corehelper-context-oper.yang | 82 + vendor/cisco/xr/755/Cisco-IOS-XR-ssh-act.yang | 68 + .../cisco/xr/755/Cisco-IOS-XR-switch-act.yang | 136 + .../xr/755/Cisco-IOS-XR-switch-oper-sub1.yang | 2480 + .../xr/755/Cisco-IOS-XR-switch-oper.yang | 1586 + .../Cisco-IOS-XR-syncc-controller-cfg.yang | 320 + .../xr/755/Cisco-IOS-XR-syncc-oper-sub1.yang | 785 + .../cisco/xr/755/Cisco-IOS-XR-syncc-oper.yang | 91 + .../cisco/xr/755/Cisco-IOS-XR-sysdb-oper.yang | 95 + .../cisco/xr/755/Cisco-IOS-XR-syslog-act.yang | 68 + .../cisco/xr/755/Cisco-IOS-XR-sysmgr-act.yang | 116 + .../cisco/xr/755/Cisco-IOS-XR-sysmgr-cfg.yang | 120 + .../xr/755/Cisco-IOS-XR-sysmgr-oper-sub1.yang | 1327 + .../xr/755/Cisco-IOS-XR-sysmgr-oper.yang | 243 + .../755/Cisco-IOS-XR-system-reboot-act.yang | 177 + .../755/Cisco-IOS-XR-system-recovery-cfg.yang | 55 + .../755/Cisco-IOS-XR-tamsvcs-oper-sub1.yang | 198 + .../xr/755/Cisco-IOS-XR-tamsvcs-oper.yang | 102 + ...sco-IOS-XR-telemetry-model-driven-cfg.yang | 699 + ...S-XR-telemetry-model-driven-oper-sub1.yang | 194 + ...S-XR-telemetry-model-driven-oper-sub2.yang | 1202 + ...co-IOS-XR-telemetry-model-driven-oper.yang | 174 + .../755/Cisco-IOS-XR-terminal-device-cfg.yang | 759 + ...isco-IOS-XR-terminal-device-oper-sub1.yang | 820 + .../Cisco-IOS-XR-terminal-device-oper.yang | 190 + ...Cisco-IOS-XR-test-ocni-isis-oper-sub1.yang | 5390 +++ .../755/Cisco-IOS-XR-test-ocni-isis-oper.yang | 1875 + .../Cisco-IOS-XR-tmgctrl-dti-oper-sub1.yang | 399 + .../xr/755/Cisco-IOS-XR-tmgctrl-dti-oper.yang | 83 + .../Cisco-IOS-XR-tmgctrl-tmg-oper-sub1.yang | 1230 + .../xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper.yang | 83 + .../xr/755/Cisco-IOS-XR-traceroute-act.yang | 93 + .../Cisco-IOS-XR-traffmon-netflow-cfg.yang | 1018 + .../755/Cisco-IOS-XR-tty-management-cfg.yang | 220 + ...o-IOS-XR-tty-management-cmd-oper-sub1.yang | 81 + .../Cisco-IOS-XR-tty-management-cmd-oper.yang | 75 + ...Cisco-IOS-XR-tty-management-datatypes.yang | 151 + ...Cisco-IOS-XR-tty-management-oper-sub1.yang | 174 + .../755/Cisco-IOS-XR-tty-management-oper.yang | 62 + .../xr/755/Cisco-IOS-XR-tty-server-cfg.yang | 231 + .../Cisco-IOS-XR-tty-server-oper-sub1.yang | 72 + .../Cisco-IOS-XR-tty-server-oper-sub2.yang | 60 + .../Cisco-IOS-XR-tty-server-oper-sub3.yang | 60 + .../Cisco-IOS-XR-tty-server-oper-sub4.yang | 113 + .../Cisco-IOS-XR-tty-server-oper-sub5.yang | 103 + .../xr/755/Cisco-IOS-XR-tty-server-oper.yang | 364 + .../Cisco-IOS-XR-tty-show-line-oper-sub1.yang | 77 + .../755/Cisco-IOS-XR-tty-show-line-oper.yang | 71 + ...co-IOS-XR-tty-show-terminal-oper-sub1.yang | 144 + .../Cisco-IOS-XR-tty-show-terminal-oper.yang | 71 + .../xr/755/Cisco-IOS-XR-tty-vty-cfg.yang | 105 + .../xr/755/Cisco-IOS-XR-tunnel-gre-cfg.yang | 318 + .../Cisco-IOS-XR-tunnel-gre-datatypes.yang | 120 + .../Cisco-IOS-XR-tunnel-ip-ea-oper-sub1.yang | 745 + .../755/Cisco-IOS-XR-tunnel-ip-ea-oper.yang | 212 + .../Cisco-IOS-XR-tunnel-ip-ma-oper-sub1.yang | 1074 + .../755/Cisco-IOS-XR-tunnel-ip-ma-oper.yang | 270 + .../xr/755/Cisco-IOS-XR-tunnel-l2tun-cfg.yang | 295 + .../Cisco-IOS-XR-tunnel-l2tun-oper-sub1.yang | 1432 + .../755/Cisco-IOS-XR-tunnel-l2tun-oper.yang | 322 + ...co-IOS-XR-tunnel-l2tun-proto-mibs-cfg.yang | 74 + .../xr/755/Cisco-IOS-XR-tunnel-nve-cfg.yang | 398 + .../Cisco-IOS-XR-tunnel-nve-oper-sub1.yang | 377 + .../xr/755/Cisco-IOS-XR-tunnel-nve-oper.yang | 135 + vendor/cisco/xr/755/Cisco-IOS-XR-types.yang | 804 + ...-IOS-XR-um-8000-controller-fabric-cfg.yang | 80 + .../xr/755/Cisco-IOS-XR-um-8000-fpd-cfg.yang | 71 + ...-8000-hw-module-power-profile-sfd-cfg.yang | 109 + ...-8000-hw-module-power-profile-sff-cfg.yang | 62 + ...-IOS-XR-um-8000-hw-module-profile-cfg.yang | 1076 + ...um-8000-hw-module-profile-netflow-cfg.yang | 90 + .../Cisco-IOS-XR-um-8000-spp-policer-cfg.yang | 90 + .../xr/755/Cisco-IOS-XR-um-8000-udf-cfg.yang | 125 + .../cisco/xr/755/Cisco-IOS-XR-um-aaa-cfg.yang | 4224 ++ .../755/Cisco-IOS-XR-um-aaa-diameter-cfg.yang | 879 + .../xr/755/Cisco-IOS-XR-um-aaa-nacm-cfg.yang | 392 + ...Cisco-IOS-XR-um-aaa-radius-server-cfg.yang | 1230 + ...Cisco-IOS-XR-um-aaa-tacacs-server-cfg.yang | 609 + .../Cisco-IOS-XR-um-aaa-task-user-cfg.yang | 3208 ++ ...Cisco-IOS-XR-um-access-list-datatypes.yang | 1727 + .../cisco/xr/755/Cisco-IOS-XR-um-adt-cfg.yang | 77 + .../xr/755/Cisco-IOS-XR-um-appmgr-cfg.yang | 203 + .../cisco/xr/755/Cisco-IOS-XR-um-arp-cfg.yang | 296 + .../755/Cisco-IOS-XR-um-attestation-cfg.yang | 68 + .../755/Cisco-IOS-XR-um-auto-ip-ring-cfg.yang | 79 + .../xr/755/Cisco-IOS-XR-um-banner-cfg.yang | 2008 + .../xr/755/Cisco-IOS-XR-um-bfd-sbfd-cfg.yang | 537 + .../xr/755/Cisco-IOS-XR-um-call-home-cfg.yang | 1182 + .../cisco/xr/755/Cisco-IOS-XR-um-cdp-cfg.yang | 114 + .../Cisco-IOS-XR-um-cef-accounting-cfg.yang | 292 + .../xr/755/Cisco-IOS-XR-um-cfg-mibs-cfg.yang | 47 + .../xr/755/Cisco-IOS-XR-um-cinetd-cfg.yang | 51 + .../xr/755/Cisco-IOS-XR-um-cli-alias-cfg.yang | 282 + .../xr/755/Cisco-IOS-XR-um-clock-cfg.yang | 2970 ++ .../Cisco-IOS-XR-um-config-commit-cfg.yang | 701 + .../Cisco-IOS-XR-um-config-display-cfg.yang | 67 + .../Cisco-IOS-XR-um-config-hostname-cfg.yang | 69 + .../755/Cisco-IOS-XR-um-config-mode-cfg.yang | 50 + ...Cisco-IOS-XR-um-config-validation-cfg.yang | 104 + .../Cisco-IOS-XR-um-conflict-policy-cfg.yang | 149 + .../Cisco-IOS-XR-um-cont-breakout-cfg.yang | 74 + .../xr/755/Cisco-IOS-XR-um-cont-cpri-cfg.yang | 141 + .../xr/755/Cisco-IOS-XR-um-cont-dwdm-cfg.yang | 1099 + .../755/Cisco-IOS-XR-um-cont-ether-cfg.yang | 146 + ...co-IOS-XR-um-cont-ether-macsec-pm-cfg.yang | 10363 +++++ .../755/Cisco-IOS-XR-um-cont-oc-pm-cfg.yang | 623 + .../xr/755/Cisco-IOS-XR-um-cont-odu-cfg.yang | 1167 + ...XR-um-cont-odu-otu-dwdm-optics-pm-cfg.yang | 9309 ++++ .../755/Cisco-IOS-XR-um-cont-optics-cfg.yang | 1597 + ...S-XR-um-cont-optics-host-loopback-cfg.yang | 88 + .../Cisco-IOS-XR-um-cont-optics-mode-cfg.yang | 76 + ...Cisco-IOS-XR-um-cont-optics-speed-cfg.yang | 74 + .../xr/755/Cisco-IOS-XR-um-cont-otu-cfg.yang | 562 + .../755/Cisco-IOS-XR-um-cont-sonet-cfg.yang | 868 + .../Cisco-IOS-XR-um-cont-sonet-pm-cfg.yang | 1141 + .../xr/755/Cisco-IOS-XR-um-cont-stm-cfg.yang | 205 + .../755/Cisco-IOS-XR-um-cont-stm-pm-cfg.yang | 1003 + .../xr/755/Cisco-IOS-XR-um-cont-sts-cfg.yang | 139 + .../755/Cisco-IOS-XR-um-cont-sts-pm-cfg.yang | 243 + .../755/Cisco-IOS-XR-um-cont-vc-pm-cfg.yang | 373 + .../Cisco-IOS-XR-um-control-plane-cfg.yang | 3033 ++ ...sco-IOS-XR-um-control-plane-local-cfg.yang | 88 + .../xr/755/Cisco-IOS-XR-um-crypto-cfg.yang | 1017 + .../xr/755/Cisco-IOS-XR-um-dac-rate-cfg.yang | 92 + .../xr/755/Cisco-IOS-XR-um-dhcp-ipv4-cfg.yang | 5270 +++ .../xr/755/Cisco-IOS-XR-um-dhcp-ipv6-cfg.yang | 1351 + .../755/Cisco-IOS-XR-um-display-qos-cfg.yang | 77 + .../xr/755/Cisco-IOS-XR-um-domain-cfg.yang | 353 + .../xr/755/Cisco-IOS-XR-um-dot1x-cfg.yang | 471 + ...IOS-XR-um-dyn-tmpl-service-policy-cfg.yang | 243 + .../Cisco-IOS-XR-um-dynamic-template-cfg.yang | 105 + .../755/Cisco-IOS-XR-um-environment-cfg.yang | 232 + .../Cisco-IOS-XR-um-error-disable-cfg.yang | 362 + .../755/Cisco-IOS-XR-um-ethernet-cfm-cfg.yang | 1155 + .../755/Cisco-IOS-XR-um-ethernet-oam-cfg.yang | 1664 + ...-um-ethernet-services-access-list-cfg.yang | 263 + .../Cisco-IOS-XR-um-event-manager-cfg.yang | 261 + ...OS-XR-um-event-manager-policy-map-cfg.yang | 692 + .../xr/755/Cisco-IOS-XR-um-evpn-host-cfg.yang | 262 + .../xr/755/Cisco-IOS-XR-um-exception-cfg.yang | 71 + .../Cisco-IOS-XR-um-explicit-paths-cfg.yang | 498 + .../Cisco-IOS-XR-um-fault-profile-cfg.yang | 1997 + ...co-IOS-XR-um-filesystem-inventory-cfg.yang | 122 + .../xr/755/Cisco-IOS-XR-um-flow-cfg.yang | 1957 + .../xr/755/Cisco-IOS-XR-um-flowspec-cfg.yang | 212 + ...S-XR-um-frequency-synchronization-cfg.yang | 5224 +++ .../xr/755/Cisco-IOS-XR-um-ftp-tftp-cfg.yang | 636 + .../Cisco-IOS-XR-um-gnss-receiver-cfg.yang | 592 + .../xr/755/Cisco-IOS-XR-um-grpc-cfg.yang | 464 + .../xr/755/Cisco-IOS-XR-um-hostname-cfg.yang | 55 + .../755/Cisco-IOS-XR-um-http-client-cfg.yang | 191 + ...co-IOS-XR-um-hw-module-port-range-cfg.yang | 117 + .../Cisco-IOS-XR-um-hw-module-quad-cfg.yang | 87 + .../xr/755/Cisco-IOS-XR-um-icmp-cfg.yang | 622 + .../Cisco-IOS-XR-um-if-access-group-cfg.yang | 426 + .../xr/755/Cisco-IOS-XR-um-if-arp-cfg.yang | 132 + .../xr/755/Cisco-IOS-XR-um-if-bundle-cfg.yang | 816 + ...-IOS-XR-um-if-dhcp-client-options-cfg.yang | 129 + ...isco-IOS-XR-um-if-encap-ambiguous-cfg.yang | 526 + .../755/Cisco-IOS-XR-um-if-ethernet-cfg.yang | 481 + .../Cisco-IOS-XR-um-if-ethernet-lmi-cfg.yang | 122 + .../Cisco-IOS-XR-um-if-ip-address-cfg.yang | 293 + .../Cisco-IOS-XR-um-if-ipsubscriber-cfg.yang | 220 + .../xr/755/Cisco-IOS-XR-um-if-ipv4-cfg.yang | 359 + .../xr/755/Cisco-IOS-XR-um-if-ipv6-cfg.yang | 299 + ...S-XR-um-if-l2trans-service-policy-cfg.yang | 353 + .../Cisco-IOS-XR-um-if-l2transport-cfg.yang | 54 + .../Cisco-IOS-XR-um-if-mac-address-cfg.yang | 63 + .../xr/755/Cisco-IOS-XR-um-if-mpls-cfg.yang | 85 + .../xr/755/Cisco-IOS-XR-um-if-nve-cfg.yang | 299 + ...o-IOS-XR-um-if-service-policy-qos-cfg.yang | 423 + .../xr/755/Cisco-IOS-XR-um-if-tunnel-cfg.yang | 511 + .../xr/755/Cisco-IOS-XR-um-if-vrf-cfg.yang | 141 + .../xr/755/Cisco-IOS-XR-um-iidmgr-cfg.yang | 55 + .../xr/755/Cisco-IOS-XR-um-install-cfg.yang | 88 + .../xr/755/Cisco-IOS-XR-um-interface-cfg.yang | 385 + .../755/Cisco-IOS-XR-um-ip-virtual-cfg.yang | 161 + .../xr/755/Cisco-IOS-XR-um-ipsla-cfg.yang | 4121 ++ .../Cisco-IOS-XR-um-ipv4-access-list-cfg.yang | 1172 + .../xr/755/Cisco-IOS-XR-um-ipv4-cfg.yang | 138 + .../Cisco-IOS-XR-um-ipv4-prefix-list-cfg.yang | 168 + .../Cisco-IOS-XR-um-ipv6-access-list-cfg.yang | 1036 + .../xr/755/Cisco-IOS-XR-um-ipv6-cfg.yang | 156 + .../xr/755/Cisco-IOS-XR-um-ipv6-nd-cfg.yang | 1142 + .../Cisco-IOS-XR-um-ipv6-prefix-list-cfg.yang | 178 + .../xr/755/Cisco-IOS-XR-um-key-chain-cfg.yang | 1074 + .../755/Cisco-IOS-XR-um-l2-ethernet-cfg.yang | 2274 + .../xr/755/Cisco-IOS-XR-um-l2snoop-cfg.yang | 89 + .../xr/755/Cisco-IOS-XR-um-l2vpn-cfg.yang | 13467 ++++++ .../xr/755/Cisco-IOS-XR-um-lacp-cfg.yang | 67 + .../Cisco-IOS-XR-um-license-smart-cfg.yang | 132 + .../xr/755/Cisco-IOS-XR-um-line-cfg.yang | 673 + ...Cisco-IOS-XR-um-line-exec-timeout-cfg.yang | 127 + .../755/Cisco-IOS-XR-um-line-general-cfg.yang | 136 + .../Cisco-IOS-XR-um-line-timestamp-cfg.yang | 139 + .../Cisco-IOS-XR-um-linux-networking-cfg.yang | 1441 + .../xr/755/Cisco-IOS-XR-um-lldp-cfg.yang | 329 + .../xr/755/Cisco-IOS-XR-um-location-cfg.yang | 64 + .../xr/755/Cisco-IOS-XR-um-logging-cfg.yang | 1936 + ...isco-IOS-XR-um-logging-correlator-cfg.yang | 538 + .../Cisco-IOS-XR-um-logging-events-cfg.yang | 152 + .../755/Cisco-IOS-XR-um-lpts-pifib-cfg.yang | 13828 ++++++ ...Cisco-IOS-XR-um-lpts-pifib-domain-cfg.yang | 3126 ++ ...OS-XR-um-lpts-pifib-dynamic-flows-cfg.yang | 3062 ++ ...o-IOS-XR-um-lpts-pifib-police-acl-cfg.yang | 145 + ...co-IOS-XR-um-lpts-pifib-police-np-cfg.yang | 13731 ++++++ .../Cisco-IOS-XR-um-lpts-profiling-cfg.yang | 50 + .../xr/755/Cisco-IOS-XR-um-ltrace-cfg.yang | 156 + .../xr/755/Cisco-IOS-XR-um-macsec-cfg.yang | 429 + .../Cisco-IOS-XR-um-mibs-cbqosmib-cfg.yang | 94 + .../Cisco-IOS-XR-um-mibs-eventmib-cfg.yang | 137 + .../755/Cisco-IOS-XR-um-mibs-fabric-cfg.yang | 65 + .../755/Cisco-IOS-XR-um-mibs-ifmib-cfg.yang | 207 + .../755/Cisco-IOS-XR-um-mibs-rfmib-cfg.yang | 58 + .../Cisco-IOS-XR-um-mibs-sensormib-cfg.yang | 58 + .../Cisco-IOS-XR-um-mibs-subscriber-cfg.yang | 326 + .../xr/755/Cisco-IOS-XR-um-mirror-cfg.yang | 51 + .../Cisco-IOS-XR-um-monitor-session-cfg.yang | 1958 + .../755/Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang | 94 + .../xr/755/Cisco-IOS-XR-um-mpls-ldp-cfg.yang | 2229 + .../xr/755/Cisco-IOS-XR-um-mpls-lsd-cfg.yang | 280 + .../xr/755/Cisco-IOS-XR-um-mpls-oam-cfg.yang | 139 + .../755/Cisco-IOS-XR-um-mpls-static-cfg.yang | 865 + .../xr/755/Cisco-IOS-XR-um-mpls-te-cfg.yang | 21898 +++++++++ ...Cisco-IOS-XR-um-multicast-routing-cfg.yang | 4130 ++ .../755/Cisco-IOS-XR-um-netconf-yang-cfg.yang | 113 + .../cisco/xr/755/Cisco-IOS-XR-um-nsr-cfg.yang | 50 + .../cisco/xr/755/Cisco-IOS-XR-um-ntp-cfg.yang | 1925 + .../755/Cisco-IOS-XR-um-object-group-cfg.yang | 671 + .../xr/755/Cisco-IOS-XR-um-password6-cfg.yang | 56 + .../cisco/xr/755/Cisco-IOS-XR-um-pbr-cfg.yang | 114 + .../755/Cisco-IOS-XR-um-pbr-policy-cfg.yang | 735 + .../cisco/xr/755/Cisco-IOS-XR-um-pce-cfg.yang | 2889 ++ ...IOS-XR-um-performance-measurement-cfg.yang | 2685 ++ .../Cisco-IOS-XR-um-performance-mgmt-cfg.yang | 37392 ++++++++++++++++ ...isco-IOS-XR-um-policymap-classmap-cfg.yang | 5030 +++ .../xr/755/Cisco-IOS-XR-um-pool-cfg.yang | 390 + .../755/Cisco-IOS-XR-um-power-mgmt-cfg.yang | 83 + .../xr/755/Cisco-IOS-XR-um-process-cfg.yang | 290 + .../cisco/xr/755/Cisco-IOS-XR-um-ptp-cfg.yang | 3202 ++ .../Cisco-IOS-XR-um-ptp-log-servo-cfg.yang | 51 + .../cisco/xr/755/Cisco-IOS-XR-um-raw-cfg.yang | 121 + .../cisco/xr/755/Cisco-IOS-XR-um-rcc-cfg.yang | 137 + .../755/Cisco-IOS-XR-um-redundancy-cfg.yang | 261 + .../755/Cisco-IOS-XR-um-router-amt-cfg.yang | 180 + .../755/Cisco-IOS-XR-um-router-bgp-cfg.yang | 18065 ++++++++ ...isco-IOS-XR-um-router-convergence-cfg.yang | 283 + .../755/Cisco-IOS-XR-um-router-eigrp-cfg.yang | 4214 ++ .../755/Cisco-IOS-XR-um-router-hsrp-cfg.yang | 1180 + .../755/Cisco-IOS-XR-um-router-igmp-cfg.yang | 1291 + .../755/Cisco-IOS-XR-um-router-isis-cfg.yang | 9438 ++++ .../755/Cisco-IOS-XR-um-router-mld-cfg.yang | 1202 + .../755/Cisco-IOS-XR-um-router-msdp-cfg.yang | 752 + .../755/Cisco-IOS-XR-um-router-ospf-cfg.yang | 13023 ++++++ .../Cisco-IOS-XR-um-router-ospfv3-cfg.yang | 8304 ++++ .../755/Cisco-IOS-XR-um-router-pim-cfg.yang | 6154 +++ .../755/Cisco-IOS-XR-um-router-rib-cfg.yang | 468 + .../755/Cisco-IOS-XR-um-router-rip-cfg.yang | 1814 + .../Cisco-IOS-XR-um-router-static-cfg.yang | 11819 +++++ .../755/Cisco-IOS-XR-um-router-vrrp-cfg.yang | 713 + .../xr/755/Cisco-IOS-XR-um-rsvp-cfg.yang | 1317 + .../cisco/xr/755/Cisco-IOS-XR-um-sap-cfg.yang | 68 + .../xr/755/Cisco-IOS-XR-um-script-cfg.yang | 248 + .../Cisco-IOS-XR-um-segment-routing-cfg.yang | 258 + ...co-IOS-XR-um-segment-routing-srv6-cfg.yang | 224 + ...XR-um-segment-routing-traffic-eng-cfg.yang | 3396 ++ ...-um-service-sysadmin-login-banner-cfg.yang | 50 + ...isco-IOS-XR-um-service-timestamps-cfg.yang | 132 + ...isco-IOS-XR-um-session-redundancy-cfg.yang | 341 + .../755/Cisco-IOS-XR-um-snmp-server-cfg.yang | 4044 ++ ...o-IOS-XR-um-snmp-server-mroutemib-cfg.yang | 51 + ...-snmp-server-notification-log-mib-cfg.yang | 86 + .../cisco/xr/755/Cisco-IOS-XR-um-ssh-cfg.yang | 760 + .../cisco/xr/755/Cisco-IOS-XR-um-ssm-cfg.yang | 54 + .../755/Cisco-IOS-XR-um-statistics-cfg.yang | 89 + ...o-IOS-XR-um-subscriber-accounting-cfg.yang | 350 + .../755/Cisco-IOS-XR-um-subscriber-cfg.yang | 65 + ...o-IOS-XR-um-subscriber-redundancy-cfg.yang | 715 + .../cisco/xr/755/Cisco-IOS-XR-um-tcp-cfg.yang | 400 + ...-IOS-XR-um-telemetry-model-driven-cfg.yang | 782 + .../xr/755/Cisco-IOS-XR-um-telnet-cfg.yang | 230 + .../xr/755/Cisco-IOS-XR-um-track-cfg.yang | 2007 + ...Cisco-IOS-XR-um-traffic-collector-cfg.yang | 235 + .../755/Cisco-IOS-XR-um-traps-alarm-cfg.yang | 47 + .../Cisco-IOS-XR-um-traps-bridgemib-cfg.yang | 47 + .../Cisco-IOS-XR-um-traps-bulkstat-cfg.yang | 56 + ...Cisco-IOS-XR-um-traps-config-copy-cfg.yang | 47 + .../755/Cisco-IOS-XR-um-traps-entity-cfg.yang | 68 + ...IOS-XR-um-traps-entity-redundancy-cfg.yang | 61 + ...isco-IOS-XR-um-traps-entity-state-cfg.yang | 56 + .../755/Cisco-IOS-XR-um-traps-flash-cfg.yang | 56 + .../Cisco-IOS-XR-um-traps-fru-ctrl-cfg.yang | 47 + .../755/Cisco-IOS-XR-um-traps-ipsec-cfg.yang | 78 + .../755/Cisco-IOS-XR-um-traps-ipsla-cfg.yang | 47 + .../755/Cisco-IOS-XR-um-traps-l2tun-cfg.yang | 70 + .../Cisco-IOS-XR-um-traps-mpls-ldp-cfg.yang | 65 + .../755/Cisco-IOS-XR-um-traps-msdp-cfg.yang | 51 + .../xr/755/Cisco-IOS-XR-um-traps-otn-cfg.yang | 47 + .../xr/755/Cisco-IOS-XR-um-traps-pim-cfg.yang | 66 + .../755/Cisco-IOS-XR-um-traps-power-cfg.yang | 47 + .../755/Cisco-IOS-XR-um-traps-rsvp-cfg.yang | 61 + ...R-um-traps-selective-vrf-download-cfg.yang | 51 + .../755/Cisco-IOS-XR-um-traps-syslog-cfg.yang | 47 + .../755/Cisco-IOS-XR-um-traps-system-cfg.yang | 47 + .../cisco/xr/755/Cisco-IOS-XR-um-udp-cfg.yang | 270 + .../cisco/xr/755/Cisco-IOS-XR-um-vrf-cfg.yang | 780 + .../xr/755/Cisco-IOS-XR-um-vty-pool-cfg.yang | 174 + .../xr/755/Cisco-IOS-XR-um-watchd-cfg.yang | 51 + .../xr/755/Cisco-IOS-XR-um-xml-agent-cfg.yang | 508 + .../755/Cisco-IOS-XR-um-yang-server-cfg.yang | 57 + .../755/Cisco-IOS-XR-upgrade-fpd-ng-act.yang | 70 + .../xr/755/Cisco-IOS-XR-vether-mode-cfg.yang | 37 + .../cisco/xr/755/Cisco-IOS-XR-watchd-cfg.yang | 213 + ...death-notif-configured-proc-oper-sub1.yang | 70 + ...R-wd-death-notif-configured-proc-oper.yang | 73 + .../xr/755/Cisco-IOS-XR-wd-oper-sub1.yang | 225 + vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper.yang | 91 + .../755/Cisco-IOS-XR-wd-proc-state-cfg.yang | 106 + .../Cisco-IOS-XR-wd-proc-state-oper-sub1.yang | 70 + .../755/Cisco-IOS-XR-wd-proc-state-oper.yang | 55 + .../Cisco-IOS-XR-wdsysmon-fd-oper-sub1.yang | 153 + .../xr/755/Cisco-IOS-XR-wdsysmon-fd-oper.yang | 77 + ...sco-IOS-XR-wdsysmon-fd-proc-oper-sub1.yang | 144 + .../Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang | 90 + vendor/cisco/xr/755/Cisco-IOS-XR-ztp-cfg.yang | 51 + .../xr/755/Cisco-IOS-XR-ztp-oper-sub1.yang | 159 + .../cisco/xr/755/Cisco-IOS-XR-ztp-oper.yang | 65 + vendor/cisco/xr/755/README.md | 49 + vendor/cisco/xr/755/capabilities-8000.xml | 877 + vendor/cisco/xr/755/check-models.sh | 117 + vendor/cisco/xr/755/cisco-semver.yang | 87 + .../cisco-xr-ietf-netconf-acm-deviations.yang | 60 + ...xr-ietf-netconf-monitoring-deviations.yang | 52 + ...cisco-xr-ietf-yang-library-deviations.yang | 49 + .../cisco-xr-openconfig-acl-deviations.yang | 181 + ...cisco-xr-openconfig-alarms-deviations.yang | 52 + .../cisco-xr-openconfig-bfd-deviations.yang | 154 + ...o-xr-openconfig-bgp-policy-deviations.yang | 48 + ...-xr-openconfig-if-ethernet-deviations.yang | 66 + .../cisco-xr-openconfig-if-ip-deviations.yang | 462 + ...co-xr-openconfig-if-ip-ext-deviations.yang | 69 + ...co-xr-openconfig-if-tunnel-deviations.yang | 302 + ...o-xr-openconfig-interfaces-deviations.yang | 50 + ...-xr-openconfig-isis-policy-deviations.yang | 71 + .../cisco-xr-openconfig-lacp-deviations.yang | 55 + ...r-openconfig-local-routing-deviations.yang | 56 + ...cisco-xr-openconfig-macsec-deviations.yang | 95 + ...penconfig-network-instance-deviations.yang | 2689 ++ ...xr-openconfig-platform-deviations-spi.yang | 255 + ...r-openconfig-platform-port-deviations.yang | 66 + ...xr-openconfig-platform-psu-deviations.yang | 49 + ...onfig-platform-transceiver-deviations.yang | 245 + ...-openconfig-routing-policy-deviations.yang | 87 + ...-xr-openconfig-rsvp-sr-ext-deviations.yang | 57 + ...cisco-xr-openconfig-system-deviations.yang | 266 + ...co-xr-openconfig-telemetry-deviations.yang | 144 + ...openconfig-terminal-device-deviations.yang | 276 + .../cisco-xr-openconfig-vlan-deviations.yang | 133 + vendor/cisco/xr/755/iana-if-type.yang | 1547 + vendor/cisco/xr/755/ietf-datastores.yang | 117 + vendor/cisco/xr/755/ietf-inet-types.yang | 457 + vendor/cisco/xr/755/ietf-interfaces.yang | 725 + vendor/cisco/xr/755/ietf-netconf-acm.yang | 464 + .../cisco/xr/755/ietf-netconf-monitoring.yang | 558 + vendor/cisco/xr/755/ietf-netconf.yang | 934 + .../xr/755/ietf-restconf-monitoring.yang | 150 + vendor/cisco/xr/755/ietf-syslog-types.yang | 240 + vendor/cisco/xr/755/ietf-yang-library.yang | 544 + vendor/cisco/xr/755/ietf-yang-types.yang | 474 + .../cisco/xr/755/openconfig-aaa-radius.yang | 180 + .../cisco/xr/755/openconfig-aaa-tacacs.yang | 136 + vendor/cisco/xr/755/openconfig-aaa-types.yang | 162 + vendor/cisco/xr/755/openconfig-aaa.yang | 811 + vendor/cisco/xr/755/openconfig-acl.yang | 882 + .../cisco/xr/755/openconfig-aft-common.yang | 529 + .../cisco/xr/755/openconfig-aft-ethernet.yang | 125 + vendor/cisco/xr/755/openconfig-aft-ipv4.yang | 124 + vendor/cisco/xr/755/openconfig-aft-ipv6.yang | 124 + vendor/cisco/xr/755/openconfig-aft-mpls.yang | 143 + .../755/openconfig-aft-network-instance.yang | 108 + vendor/cisco/xr/755/openconfig-aft-pf.yang | 202 + vendor/cisco/xr/755/openconfig-aft-types.yang | 81 + vendor/cisco/xr/755/openconfig-aft.yang | 193 + .../cisco/xr/755/openconfig-alarm-types.yang | 139 + vendor/cisco/xr/755/openconfig-alarms.yang | 237 + vendor/cisco/xr/755/openconfig-bfd.yang | 740 + .../openconfig-bgp-common-multiprotocol.yang | 543 + .../755/openconfig-bgp-common-structure.yang | 222 + .../cisco/xr/755/openconfig-bgp-common.yang | 690 + .../cisco/xr/755/openconfig-bgp-errors.yang | 427 + .../cisco/xr/755/openconfig-bgp-global.yang | 414 + .../cisco/xr/755/openconfig-bgp-neighbor.yang | 759 + .../xr/755/openconfig-bgp-peer-group.yang | 299 + .../cisco/xr/755/openconfig-bgp-policy.yang | 1178 + vendor/cisco/xr/755/openconfig-bgp-types.yang | 754 + vendor/cisco/xr/755/openconfig-bgp.yang | 192 + .../cisco/xr/755/openconfig-evpn-types.yang | 290 + vendor/cisco/xr/755/openconfig-evpn.yang | 858 + .../cisco/xr/755/openconfig-extensions.yang | 198 + .../cisco/xr/755/openconfig-if-aggregate.yang | 245 + .../xr/755/openconfig-if-ethernet-ext.yang | 117 + .../cisco/xr/755/openconfig-if-ethernet.yang | 678 + vendor/cisco/xr/755/openconfig-if-ip-ext.yang | 179 + vendor/cisco/xr/755/openconfig-if-ip.yang | 1328 + vendor/cisco/xr/755/openconfig-if-tunnel.yang | 120 + vendor/cisco/xr/755/openconfig-if-types.yang | 98 + .../cisco/xr/755/openconfig-igmp-types.yang | 50 + vendor/cisco/xr/755/openconfig-igmp.yang | 306 + .../cisco/xr/755/openconfig-inet-types.yang | 435 + .../cisco/xr/755/openconfig-interfaces.yang | 1106 + .../xr/755/openconfig-isis-lsdb-types.yang | 703 + vendor/cisco/xr/755/openconfig-isis-lsp.yang | 3615 ++ .../cisco/xr/755/openconfig-isis-policy.yang | 212 + .../cisco/xr/755/openconfig-isis-routing.yang | 408 + .../cisco/xr/755/openconfig-isis-types.yang | 377 + vendor/cisco/xr/755/openconfig-isis.yang | 2096 + vendor/cisco/xr/755/openconfig-lacp.yang | 500 + .../cisco/xr/755/openconfig-lldp-types.yang | 306 + vendor/cisco/xr/755/openconfig-lldp.yang | 660 + .../xr/755/openconfig-local-routing.yang | 438 + .../cisco/xr/755/openconfig-macsec-types.yang | 50 + vendor/cisco/xr/755/openconfig-macsec.yang | 834 + vendor/cisco/xr/755/openconfig-messages.yang | 221 + vendor/cisco/xr/755/openconfig-mpls-igp.yang | 92 + vendor/cisco/xr/755/openconfig-mpls-ldp.yang | 929 + vendor/cisco/xr/755/openconfig-mpls-rsvp.yang | 1455 + vendor/cisco/xr/755/openconfig-mpls-sr.yang | 149 + .../cisco/xr/755/openconfig-mpls-static.yang | 342 + vendor/cisco/xr/755/openconfig-mpls-te.yang | 1386 + .../cisco/xr/755/openconfig-mpls-types.yang | 465 + vendor/cisco/xr/755/openconfig-mpls.yang | 769 + .../755/openconfig-network-instance-l2.yang | 284 + .../755/openconfig-network-instance-l3.yang | 245 + .../openconfig-network-instance-types.yang | 323 + .../xr/755/openconfig-network-instance.yang | 1260 + .../cisco/xr/755/openconfig-ospf-policy.yang | 199 + .../cisco/xr/755/openconfig-ospf-types.yang | 795 + .../755/openconfig-ospfv2-area-interface.yang | 498 + .../cisco/xr/755/openconfig-ospfv2-area.yang | 193 + .../xr/755/openconfig-ospfv2-common.yang | 115 + .../xr/755/openconfig-ospfv2-global.yang | 533 + .../cisco/xr/755/openconfig-ospfv2-lsdb.yang | 2379 + vendor/cisco/xr/755/openconfig-ospfv2.yang | 133 + .../xr/755/openconfig-packet-match-types.yang | 368 + .../cisco/xr/755/openconfig-packet-match.yang | 435 + .../openconfig-pf-forwarding-policies.yang | 423 + .../xr/755/openconfig-pf-interfaces.yang | 156 + .../xr/755/openconfig-pf-path-groups.yang | 145 + vendor/cisco/xr/755/openconfig-pf-srte.yang | 297 + vendor/cisco/xr/755/openconfig-pim-types.yang | 85 + vendor/cisco/xr/755/openconfig-pim.yang | 445 + .../cisco/xr/755/openconfig-platform-cpu.yang | 72 + .../cisco/xr/755/openconfig-platform-ext.yang | 83 + .../cisco/xr/755/openconfig-platform-fan.yang | 77 + .../xr/755/openconfig-platform-linecard.yang | 131 + .../xr/755/openconfig-platform-port.yang | 112 + .../cisco/xr/755/openconfig-platform-psu.yang | 146 + .../xr/755/openconfig-platform-software.yang | 101 + .../755/openconfig-platform-transceiver.yang | 610 + .../xr/755/openconfig-platform-types.yang | 422 + vendor/cisco/xr/755/openconfig-platform.yang | 1043 + .../xr/755/openconfig-policy-forwarding.yang | 143 + .../cisco/xr/755/openconfig-policy-types.yang | 242 + vendor/cisco/xr/755/openconfig-procmon.yang | 165 + .../xr/755/openconfig-rib-bgp-attributes.yang | 939 + .../openconfig-rib-bgp-shared-attributes.yang | 203 + .../openconfig-rib-bgp-table-attributes.yang | 137 + .../xr/755/openconfig-rib-bgp-tables.yang | 916 + .../xr/755/openconfig-rib-bgp-types.yang | 269 + vendor/cisco/xr/755/openconfig-rib-bgp.yang | 239 + .../xr/755/openconfig-routing-policy.yang | 1278 + .../cisco/xr/755/openconfig-rsvp-sr-ext.yang | 390 + .../xr/755/openconfig-sampling-sflow.yang | 310 + .../755/openconfig-segment-routing-types.yang | 158 + .../xr/755/openconfig-segment-routing.yang | 793 + .../cisco/xr/755/openconfig-srte-policy.yang | 675 + .../xr/755/openconfig-system-logging.yang | 503 + .../xr/755/openconfig-system-management.yang | 126 + .../xr/755/openconfig-system-terminal.yang | 249 + vendor/cisco/xr/755/openconfig-system.yang | 997 + .../xr/755/openconfig-telemetry-types.yang | 124 + vendor/cisco/xr/755/openconfig-telemetry.yang | 782 + .../xr/755/openconfig-terminal-device.yang | 1489 + .../xr/755/openconfig-transport-types.yang | 1047 + vendor/cisco/xr/755/openconfig-types.yang | 472 + .../cisco/xr/755/openconfig-vlan-types.yang | 283 + vendor/cisco/xr/755/openconfig-vlan.yang | 989 + .../cisco/xr/755/openconfig-yang-types.yang | 191 + vendor/cisco/xr/755/platform-metadata.json | 24 + vendor/cisco/xr/755/tailf-actions.yang | 54 + vendor/cisco/xr/755/tailf-cli-extensions.yang | 3469 ++ vendor/cisco/xr/755/tailf-common.yang | 3514 ++ .../cisco/xr/755/tailf-meta-extensions.yang | 153 + .../cisco/xr/755/yang_library_module_set.xml | 4067 ++ vendor/cisco/xr/check.sh | 2 +- 1261 files changed, 999072 insertions(+), 1 deletion(-) create mode 100644 vendor/cisco/xr/755/Available-Content.md create mode 100644 vendor/cisco/xr/755/BIC/Cisco-IOS-XR-controller-optics-cfg.MD create mode 100644 vendor/cisco/xr/755/BIC/Cisco-IOS-XR-fib-common-oper.MD create mode 100644 vendor/cisco/xr/755/BIC/Cisco-IOS-XR-infra-syslog-cfg.MD create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-fib-platform-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-aaacore-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-accounting-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-adt-config-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-authenticated-variable-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-call-home-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cdp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-cfs-check-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-clear-inconsistency-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-rollback-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-clear-counters-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cli-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cli-diff-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-cnbng-nal-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-common-acl-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-mda-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-mibs-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-ains-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-clear-prbs-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-if-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-custom-showtech-profile-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-if-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-drivers-icpe-ethernet-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-eapol-if-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-envmon-alt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-envmon-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-es-ace-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fabhfr-mib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fgid-mgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub5.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub6.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub7.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-deviations.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-flashmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fpd-infra-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-fsdbagg-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-gnss-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-hw-module-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-hwmod-mpa-reload-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-ceredundancymib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-confcopymib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-clock-linux-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-locale-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-ltrace-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-notification-log-mib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-nsr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-placed-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-rt-check-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-systemmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-install-search-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-invproxy-hwmodule-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-mib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-vrf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-icmp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-raw-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-iid-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub5.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ace-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-8000-deviations.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-cinetd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dc-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-filesystems-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-mfwd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-msdp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ping-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-mgmt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-traceroute-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ace-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ping-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-traceroute-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-isis-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-diskenc-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lldp-clear-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lmp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lmp-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-lib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-http-lighttpd-yang-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-restconf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mdrv-lib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mirror-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ping-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub5.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub6.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub7.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub8.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub9.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-traceroute-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-npu-hw-profile-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-d-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-f-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-nvgen-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-mpls-static-ext.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-system-terminal-ext.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-terminal-device-ext.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-opticalmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-opticalotsmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-dac-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-quad-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-xponder-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-fan-control-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-media-type-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-port-mode-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-optics-speed-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-otnifmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-parser-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pbr-bng-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pbr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pbr-vrf-policy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ping-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platforms-common-tams-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-clear-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-gl-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ptp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ptp-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-action-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-qos-mibs-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-remote-attestation-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-common-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-copy-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-delete-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sks-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-errors.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub5.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub6.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub7.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-bridgemib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscosensormib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entityextmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entstatemib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-frucontrolmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-mib-rfmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-syslogmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-snmp-test-trap-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ssh-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-switch-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-syncc-controller-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sysdb-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-syslog-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-system-reboot-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-system-recovery-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-traceroute-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-traffmon-netflow-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub2.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub3.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub4.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub5.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tty-vty-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-types.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-controller-fabric-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-fpd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-spp-policer-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-udf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-diameter-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-nacm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-radius-server-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-tacacs-server-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-task-user-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-access-list-datatypes.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-adt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-appmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-arp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-attestation-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-auto-ip-ring-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-banner-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-bfd-sbfd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-call-home-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cdp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cef-accounting-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cfg-mibs-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cinetd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cli-alias-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-clock-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-config-commit-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-config-display-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-config-hostname-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-config-mode-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-config-validation-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-conflict-policy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-breakout-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-cpri-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-dwdm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-oc-pm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-host-loopback-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-mode-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-speed-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-otu-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-pm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-pm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-pm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-vc-pm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-local-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-crypto-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-dac-rate-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv4-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv6-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-display-qos-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-domain-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-dot1x-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-dynamic-template-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-environment-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-error-disable-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-cfm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-oam-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-services-access-list-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-policy-map-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-evpn-host-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-exception-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-explicit-paths-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-fault-profile-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-filesystem-inventory-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-flow-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-flowspec-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-frequency-synchronization-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ftp-tftp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-gnss-receiver-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-grpc-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-hostname-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-http-client-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-port-range-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-quad-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-icmp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-access-group-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-arp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-bundle-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-dhcp-client-options-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-encap-ambiguous-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-lmi-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ip-address-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipsubscriber-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv4-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv6-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2trans-service-policy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2transport-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mac-address-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mpls-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-nve-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-service-policy-qos-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-tunnel-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-if-vrf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-iidmgr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-install-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-interface-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ip-virtual-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipsla-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-access-list-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-prefix-list-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-access-list-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-nd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-prefix-list-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-key-chain-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-l2-ethernet-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-l2snoop-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-l2vpn-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lacp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-license-smart-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-line-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-line-exec-timeout-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-line-general-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-line-timestamp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-linux-networking-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lldp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-location-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-correlator-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-events-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-domain-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-np-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-profiling-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ltrace-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-macsec-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-cbqosmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-eventmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-fabric-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-ifmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-rfmib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-sensormib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-subscriber-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mirror-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-monitor-session-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-ldp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-lsd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-oam-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-static-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-te-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-multicast-routing-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-netconf-yang-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-nsr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ntp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-object-group-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-password6-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-policy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-pce-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-measurement-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-mgmt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-policymap-classmap-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-pool-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-power-mgmt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-process-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-log-servo-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-raw-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-rcc-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-redundancy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-amt-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-bgp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-convergence-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-eigrp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-hsrp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-igmp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-isis-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-mld-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-msdp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospfv3-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-pim-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rip-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-static-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-router-vrrp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-rsvp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-sap-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-script-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-srv6-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-service-timestamps-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-session-redundancy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-mroutemib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ssh-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-ssm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-statistics-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-accounting-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-redundancy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-tcp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-telnet-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-track-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traffic-collector-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-alarm-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bridgemib-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bulkstat-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-config-copy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-redundancy-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-state-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-flash-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-fru-ctrl-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsec-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsla-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-l2tun-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-mpls-ldp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-msdp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-otn-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-pim-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-power-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-rsvp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-selective-vrf-download-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-syslog-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-system-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-udp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-vrf-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-vty-pool-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-watchd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-xml-agent-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-um-yang-server-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-upgrade-fpd-ng-act.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-vether-mode-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-watchd-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ztp-cfg.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper-sub1.yang create mode 100644 vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper.yang create mode 100644 vendor/cisco/xr/755/README.md create mode 100644 vendor/cisco/xr/755/capabilities-8000.xml create mode 100755 vendor/cisco/xr/755/check-models.sh create mode 100644 vendor/cisco/xr/755/cisco-semver.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-ietf-netconf-acm-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-ietf-netconf-monitoring-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-ietf-yang-library-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-acl-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-alarms-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-bfd-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-bgp-policy-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-if-ethernet-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-ext-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-if-tunnel-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-interfaces-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-isis-policy-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-lacp-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-local-routing-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-macsec-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-network-instance-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-platform-deviations-spi.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-platform-port-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-platform-psu-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-platform-transceiver-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-routing-policy-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-rsvp-sr-ext-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-system-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-telemetry-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-terminal-device-deviations.yang create mode 100644 vendor/cisco/xr/755/cisco-xr-openconfig-vlan-deviations.yang create mode 100644 vendor/cisco/xr/755/iana-if-type.yang create mode 100644 vendor/cisco/xr/755/ietf-datastores.yang create mode 100644 vendor/cisco/xr/755/ietf-inet-types.yang create mode 100644 vendor/cisco/xr/755/ietf-interfaces.yang create mode 100644 vendor/cisco/xr/755/ietf-netconf-acm.yang create mode 100644 vendor/cisco/xr/755/ietf-netconf-monitoring.yang create mode 100644 vendor/cisco/xr/755/ietf-netconf.yang create mode 100644 vendor/cisco/xr/755/ietf-restconf-monitoring.yang create mode 100644 vendor/cisco/xr/755/ietf-syslog-types.yang create mode 100644 vendor/cisco/xr/755/ietf-yang-library.yang create mode 100644 vendor/cisco/xr/755/ietf-yang-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-aaa-radius.yang create mode 100644 vendor/cisco/xr/755/openconfig-aaa-tacacs.yang create mode 100644 vendor/cisco/xr/755/openconfig-aaa-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-aaa.yang create mode 100644 vendor/cisco/xr/755/openconfig-acl.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-common.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-ethernet.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-ipv4.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-ipv6.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-mpls.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-network-instance.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-pf.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-aft.yang create mode 100644 vendor/cisco/xr/755/openconfig-alarm-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-alarms.yang create mode 100644 vendor/cisco/xr/755/openconfig-bfd.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-common-multiprotocol.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-common-structure.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-common.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-errors.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-global.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-neighbor.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-peer-group.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-policy.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-bgp.yang create mode 100644 vendor/cisco/xr/755/openconfig-evpn-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-evpn.yang create mode 100644 vendor/cisco/xr/755/openconfig-extensions.yang create mode 100644 vendor/cisco/xr/755/openconfig-if-aggregate.yang create mode 100644 vendor/cisco/xr/755/openconfig-if-ethernet-ext.yang create mode 100644 vendor/cisco/xr/755/openconfig-if-ethernet.yang create mode 100644 vendor/cisco/xr/755/openconfig-if-ip-ext.yang create mode 100644 vendor/cisco/xr/755/openconfig-if-ip.yang create mode 100644 vendor/cisco/xr/755/openconfig-if-tunnel.yang create mode 100644 vendor/cisco/xr/755/openconfig-if-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-igmp-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-igmp.yang create mode 100644 vendor/cisco/xr/755/openconfig-inet-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-interfaces.yang create mode 100644 vendor/cisco/xr/755/openconfig-isis-lsdb-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-isis-lsp.yang create mode 100644 vendor/cisco/xr/755/openconfig-isis-policy.yang create mode 100644 vendor/cisco/xr/755/openconfig-isis-routing.yang create mode 100644 vendor/cisco/xr/755/openconfig-isis-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-isis.yang create mode 100644 vendor/cisco/xr/755/openconfig-lacp.yang create mode 100644 vendor/cisco/xr/755/openconfig-lldp-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-lldp.yang create mode 100644 vendor/cisco/xr/755/openconfig-local-routing.yang create mode 100644 vendor/cisco/xr/755/openconfig-macsec-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-macsec.yang create mode 100644 vendor/cisco/xr/755/openconfig-messages.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls-igp.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls-ldp.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls-rsvp.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls-sr.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls-static.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls-te.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-mpls.yang create mode 100644 vendor/cisco/xr/755/openconfig-network-instance-l2.yang create mode 100644 vendor/cisco/xr/755/openconfig-network-instance-l3.yang create mode 100644 vendor/cisco/xr/755/openconfig-network-instance-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-network-instance.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospf-policy.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospf-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospfv2-area-interface.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospfv2-area.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospfv2-common.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospfv2-global.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospfv2-lsdb.yang create mode 100644 vendor/cisco/xr/755/openconfig-ospfv2.yang create mode 100644 vendor/cisco/xr/755/openconfig-packet-match-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-packet-match.yang create mode 100644 vendor/cisco/xr/755/openconfig-pf-forwarding-policies.yang create mode 100644 vendor/cisco/xr/755/openconfig-pf-interfaces.yang create mode 100644 vendor/cisco/xr/755/openconfig-pf-path-groups.yang create mode 100644 vendor/cisco/xr/755/openconfig-pf-srte.yang create mode 100644 vendor/cisco/xr/755/openconfig-pim-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-pim.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-cpu.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-ext.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-fan.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-linecard.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-port.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-psu.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-software.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-transceiver.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-platform.yang create mode 100644 vendor/cisco/xr/755/openconfig-policy-forwarding.yang create mode 100644 vendor/cisco/xr/755/openconfig-policy-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-procmon.yang create mode 100644 vendor/cisco/xr/755/openconfig-rib-bgp-attributes.yang create mode 100644 vendor/cisco/xr/755/openconfig-rib-bgp-shared-attributes.yang create mode 100644 vendor/cisco/xr/755/openconfig-rib-bgp-table-attributes.yang create mode 100644 vendor/cisco/xr/755/openconfig-rib-bgp-tables.yang create mode 100644 vendor/cisco/xr/755/openconfig-rib-bgp-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-rib-bgp.yang create mode 100644 vendor/cisco/xr/755/openconfig-routing-policy.yang create mode 100644 vendor/cisco/xr/755/openconfig-rsvp-sr-ext.yang create mode 100644 vendor/cisco/xr/755/openconfig-sampling-sflow.yang create mode 100644 vendor/cisco/xr/755/openconfig-segment-routing-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-segment-routing.yang create mode 100644 vendor/cisco/xr/755/openconfig-srte-policy.yang create mode 100644 vendor/cisco/xr/755/openconfig-system-logging.yang create mode 100644 vendor/cisco/xr/755/openconfig-system-management.yang create mode 100644 vendor/cisco/xr/755/openconfig-system-terminal.yang create mode 100644 vendor/cisco/xr/755/openconfig-system.yang create mode 100644 vendor/cisco/xr/755/openconfig-telemetry-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-telemetry.yang create mode 100644 vendor/cisco/xr/755/openconfig-terminal-device.yang create mode 100644 vendor/cisco/xr/755/openconfig-transport-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-vlan-types.yang create mode 100644 vendor/cisco/xr/755/openconfig-vlan.yang create mode 100644 vendor/cisco/xr/755/openconfig-yang-types.yang create mode 100644 vendor/cisco/xr/755/platform-metadata.json create mode 100644 vendor/cisco/xr/755/tailf-actions.yang create mode 100644 vendor/cisco/xr/755/tailf-cli-extensions.yang create mode 100644 vendor/cisco/xr/755/tailf-common.yang create mode 100644 vendor/cisco/xr/755/tailf-meta-extensions.yang create mode 100644 vendor/cisco/xr/755/yang_library_module_set.xml diff --git a/vendor/cisco/xr/755/Available-Content.md b/vendor/cisco/xr/755/Available-Content.md new file mode 100644 index 000000000..38d8a5908 --- /dev/null +++ b/vendor/cisco/xr/755/Available-Content.md @@ -0,0 +1,1267 @@ +# Cisco IOS XR Release 7.5.5 Models +[README.md](README.md) +## Platform Capabilities +[platform-metadata.json](platform-metadata.json) +[capabilities-8000.xml](capabilities-8000.xml) +## Unified Models +[Cisco-IOS-XR-um-8000-controller-fabric-cfg.yang](Cisco-IOS-XR-um-8000-controller-fabric-cfg.yang) +[Cisco-IOS-XR-um-8000-fpd-cfg.yang](Cisco-IOS-XR-um-8000-fpd-cfg.yang) +[Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg.yang](Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg.yang) +[Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg.yang](Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg.yang) +[Cisco-IOS-XR-um-8000-hw-module-profile-cfg.yang](Cisco-IOS-XR-um-8000-hw-module-profile-cfg.yang) +[Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg.yang](Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg.yang) +[Cisco-IOS-XR-um-8000-spp-policer-cfg.yang](Cisco-IOS-XR-um-8000-spp-policer-cfg.yang) +[Cisco-IOS-XR-um-8000-udf-cfg.yang](Cisco-IOS-XR-um-8000-udf-cfg.yang) +[Cisco-IOS-XR-um-aaa-cfg.yang](Cisco-IOS-XR-um-aaa-cfg.yang) +[Cisco-IOS-XR-um-aaa-diameter-cfg.yang](Cisco-IOS-XR-um-aaa-diameter-cfg.yang) +[Cisco-IOS-XR-um-aaa-nacm-cfg.yang](Cisco-IOS-XR-um-aaa-nacm-cfg.yang) +[Cisco-IOS-XR-um-aaa-radius-server-cfg.yang](Cisco-IOS-XR-um-aaa-radius-server-cfg.yang) +[Cisco-IOS-XR-um-aaa-tacacs-server-cfg.yang](Cisco-IOS-XR-um-aaa-tacacs-server-cfg.yang) +[Cisco-IOS-XR-um-aaa-task-user-cfg.yang](Cisco-IOS-XR-um-aaa-task-user-cfg.yang) +[Cisco-IOS-XR-um-access-list-datatypes.yang](Cisco-IOS-XR-um-access-list-datatypes.yang) +[Cisco-IOS-XR-um-adt-cfg.yang](Cisco-IOS-XR-um-adt-cfg.yang) +[Cisco-IOS-XR-um-appmgr-cfg.yang](Cisco-IOS-XR-um-appmgr-cfg.yang) +[Cisco-IOS-XR-um-arp-cfg.yang](Cisco-IOS-XR-um-arp-cfg.yang) +[Cisco-IOS-XR-um-attestation-cfg.yang](Cisco-IOS-XR-um-attestation-cfg.yang) +[Cisco-IOS-XR-um-auto-ip-ring-cfg.yang](Cisco-IOS-XR-um-auto-ip-ring-cfg.yang) +[Cisco-IOS-XR-um-banner-cfg.yang](Cisco-IOS-XR-um-banner-cfg.yang) +[Cisco-IOS-XR-um-bfd-sbfd-cfg.yang](Cisco-IOS-XR-um-bfd-sbfd-cfg.yang) +[Cisco-IOS-XR-um-call-home-cfg.yang](Cisco-IOS-XR-um-call-home-cfg.yang) +[Cisco-IOS-XR-um-cdp-cfg.yang](Cisco-IOS-XR-um-cdp-cfg.yang) +[Cisco-IOS-XR-um-cef-accounting-cfg.yang](Cisco-IOS-XR-um-cef-accounting-cfg.yang) +[Cisco-IOS-XR-um-cfg-mibs-cfg.yang](Cisco-IOS-XR-um-cfg-mibs-cfg.yang) +[Cisco-IOS-XR-um-cinetd-cfg.yang](Cisco-IOS-XR-um-cinetd-cfg.yang) +[Cisco-IOS-XR-um-cli-alias-cfg.yang](Cisco-IOS-XR-um-cli-alias-cfg.yang) +[Cisco-IOS-XR-um-clock-cfg.yang](Cisco-IOS-XR-um-clock-cfg.yang) +[Cisco-IOS-XR-um-config-commit-cfg.yang](Cisco-IOS-XR-um-config-commit-cfg.yang) +[Cisco-IOS-XR-um-config-display-cfg.yang](Cisco-IOS-XR-um-config-display-cfg.yang) +[Cisco-IOS-XR-um-config-hostname-cfg.yang](Cisco-IOS-XR-um-config-hostname-cfg.yang) +[Cisco-IOS-XR-um-config-mode-cfg.yang](Cisco-IOS-XR-um-config-mode-cfg.yang) +[Cisco-IOS-XR-um-config-validation-cfg.yang](Cisco-IOS-XR-um-config-validation-cfg.yang) +[Cisco-IOS-XR-um-conflict-policy-cfg.yang](Cisco-IOS-XR-um-conflict-policy-cfg.yang) +[Cisco-IOS-XR-um-cont-breakout-cfg.yang](Cisco-IOS-XR-um-cont-breakout-cfg.yang) +[Cisco-IOS-XR-um-cont-cpri-cfg.yang](Cisco-IOS-XR-um-cont-cpri-cfg.yang) +[Cisco-IOS-XR-um-cont-dwdm-cfg.yang](Cisco-IOS-XR-um-cont-dwdm-cfg.yang) +[Cisco-IOS-XR-um-cont-ether-cfg.yang](Cisco-IOS-XR-um-cont-ether-cfg.yang) +[Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg.yang](Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg.yang) +[Cisco-IOS-XR-um-cont-oc-pm-cfg.yang](Cisco-IOS-XR-um-cont-oc-pm-cfg.yang) +[Cisco-IOS-XR-um-cont-odu-cfg.yang](Cisco-IOS-XR-um-cont-odu-cfg.yang) +[Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg.yang](Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg.yang) +[Cisco-IOS-XR-um-cont-optics-cfg.yang](Cisco-IOS-XR-um-cont-optics-cfg.yang) +[Cisco-IOS-XR-um-cont-optics-host-loopback-cfg.yang](Cisco-IOS-XR-um-cont-optics-host-loopback-cfg.yang) +[Cisco-IOS-XR-um-cont-optics-mode-cfg.yang](Cisco-IOS-XR-um-cont-optics-mode-cfg.yang) +[Cisco-IOS-XR-um-cont-optics-speed-cfg.yang](Cisco-IOS-XR-um-cont-optics-speed-cfg.yang) +[Cisco-IOS-XR-um-cont-otu-cfg.yang](Cisco-IOS-XR-um-cont-otu-cfg.yang) +[Cisco-IOS-XR-um-cont-sonet-cfg.yang](Cisco-IOS-XR-um-cont-sonet-cfg.yang) +[Cisco-IOS-XR-um-cont-sonet-pm-cfg.yang](Cisco-IOS-XR-um-cont-sonet-pm-cfg.yang) +[Cisco-IOS-XR-um-cont-stm-cfg.yang](Cisco-IOS-XR-um-cont-stm-cfg.yang) +[Cisco-IOS-XR-um-cont-stm-pm-cfg.yang](Cisco-IOS-XR-um-cont-stm-pm-cfg.yang) +[Cisco-IOS-XR-um-cont-sts-cfg.yang](Cisco-IOS-XR-um-cont-sts-cfg.yang) +[Cisco-IOS-XR-um-cont-sts-pm-cfg.yang](Cisco-IOS-XR-um-cont-sts-pm-cfg.yang) +[Cisco-IOS-XR-um-cont-vc-pm-cfg.yang](Cisco-IOS-XR-um-cont-vc-pm-cfg.yang) +[Cisco-IOS-XR-um-control-plane-cfg.yang](Cisco-IOS-XR-um-control-plane-cfg.yang) +[Cisco-IOS-XR-um-control-plane-local-cfg.yang](Cisco-IOS-XR-um-control-plane-local-cfg.yang) +[Cisco-IOS-XR-um-crypto-cfg.yang](Cisco-IOS-XR-um-crypto-cfg.yang) +[Cisco-IOS-XR-um-dac-rate-cfg.yang](Cisco-IOS-XR-um-dac-rate-cfg.yang) +[Cisco-IOS-XR-um-dhcp-ipv4-cfg.yang](Cisco-IOS-XR-um-dhcp-ipv4-cfg.yang) +[Cisco-IOS-XR-um-dhcp-ipv6-cfg.yang](Cisco-IOS-XR-um-dhcp-ipv6-cfg.yang) +[Cisco-IOS-XR-um-display-qos-cfg.yang](Cisco-IOS-XR-um-display-qos-cfg.yang) +[Cisco-IOS-XR-um-domain-cfg.yang](Cisco-IOS-XR-um-domain-cfg.yang) +[Cisco-IOS-XR-um-dot1x-cfg.yang](Cisco-IOS-XR-um-dot1x-cfg.yang) +[Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg.yang](Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg.yang) +[Cisco-IOS-XR-um-dynamic-template-cfg.yang](Cisco-IOS-XR-um-dynamic-template-cfg.yang) +[Cisco-IOS-XR-um-environment-cfg.yang](Cisco-IOS-XR-um-environment-cfg.yang) +[Cisco-IOS-XR-um-error-disable-cfg.yang](Cisco-IOS-XR-um-error-disable-cfg.yang) +[Cisco-IOS-XR-um-ethernet-cfm-cfg.yang](Cisco-IOS-XR-um-ethernet-cfm-cfg.yang) +[Cisco-IOS-XR-um-ethernet-oam-cfg.yang](Cisco-IOS-XR-um-ethernet-oam-cfg.yang) +[Cisco-IOS-XR-um-ethernet-services-access-list-cfg.yang](Cisco-IOS-XR-um-ethernet-services-access-list-cfg.yang) +[Cisco-IOS-XR-um-event-manager-cfg.yang](Cisco-IOS-XR-um-event-manager-cfg.yang) +[Cisco-IOS-XR-um-event-manager-policy-map-cfg.yang](Cisco-IOS-XR-um-event-manager-policy-map-cfg.yang) +[Cisco-IOS-XR-um-evpn-host-cfg.yang](Cisco-IOS-XR-um-evpn-host-cfg.yang) +[Cisco-IOS-XR-um-exception-cfg.yang](Cisco-IOS-XR-um-exception-cfg.yang) +[Cisco-IOS-XR-um-explicit-paths-cfg.yang](Cisco-IOS-XR-um-explicit-paths-cfg.yang) +[Cisco-IOS-XR-um-fault-profile-cfg.yang](Cisco-IOS-XR-um-fault-profile-cfg.yang) +[Cisco-IOS-XR-um-filesystem-inventory-cfg.yang](Cisco-IOS-XR-um-filesystem-inventory-cfg.yang) +[Cisco-IOS-XR-um-flow-cfg.yang](Cisco-IOS-XR-um-flow-cfg.yang) +[Cisco-IOS-XR-um-flowspec-cfg.yang](Cisco-IOS-XR-um-flowspec-cfg.yang) +[Cisco-IOS-XR-um-frequency-synchronization-cfg.yang](Cisco-IOS-XR-um-frequency-synchronization-cfg.yang) +[Cisco-IOS-XR-um-ftp-tftp-cfg.yang](Cisco-IOS-XR-um-ftp-tftp-cfg.yang) +[Cisco-IOS-XR-um-gnss-receiver-cfg.yang](Cisco-IOS-XR-um-gnss-receiver-cfg.yang) +[Cisco-IOS-XR-um-grpc-cfg.yang](Cisco-IOS-XR-um-grpc-cfg.yang) +[Cisco-IOS-XR-um-hostname-cfg.yang](Cisco-IOS-XR-um-hostname-cfg.yang) +[Cisco-IOS-XR-um-http-client-cfg.yang](Cisco-IOS-XR-um-http-client-cfg.yang) +[Cisco-IOS-XR-um-hw-module-port-range-cfg.yang](Cisco-IOS-XR-um-hw-module-port-range-cfg.yang) +[Cisco-IOS-XR-um-hw-module-quad-cfg.yang](Cisco-IOS-XR-um-hw-module-quad-cfg.yang) +[Cisco-IOS-XR-um-icmp-cfg.yang](Cisco-IOS-XR-um-icmp-cfg.yang) +[Cisco-IOS-XR-um-if-access-group-cfg.yang](Cisco-IOS-XR-um-if-access-group-cfg.yang) +[Cisco-IOS-XR-um-if-arp-cfg.yang](Cisco-IOS-XR-um-if-arp-cfg.yang) +[Cisco-IOS-XR-um-if-bundle-cfg.yang](Cisco-IOS-XR-um-if-bundle-cfg.yang) +[Cisco-IOS-XR-um-if-dhcp-client-options-cfg.yang](Cisco-IOS-XR-um-if-dhcp-client-options-cfg.yang) +[Cisco-IOS-XR-um-if-encap-ambiguous-cfg.yang](Cisco-IOS-XR-um-if-encap-ambiguous-cfg.yang) +[Cisco-IOS-XR-um-if-ethernet-cfg.yang](Cisco-IOS-XR-um-if-ethernet-cfg.yang) +[Cisco-IOS-XR-um-if-ethernet-lmi-cfg.yang](Cisco-IOS-XR-um-if-ethernet-lmi-cfg.yang) +[Cisco-IOS-XR-um-if-ip-address-cfg.yang](Cisco-IOS-XR-um-if-ip-address-cfg.yang) +[Cisco-IOS-XR-um-if-ipsubscriber-cfg.yang](Cisco-IOS-XR-um-if-ipsubscriber-cfg.yang) +[Cisco-IOS-XR-um-if-ipv4-cfg.yang](Cisco-IOS-XR-um-if-ipv4-cfg.yang) +[Cisco-IOS-XR-um-if-ipv6-cfg.yang](Cisco-IOS-XR-um-if-ipv6-cfg.yang) +[Cisco-IOS-XR-um-if-l2trans-service-policy-cfg.yang](Cisco-IOS-XR-um-if-l2trans-service-policy-cfg.yang) +[Cisco-IOS-XR-um-if-l2transport-cfg.yang](Cisco-IOS-XR-um-if-l2transport-cfg.yang) +[Cisco-IOS-XR-um-if-mac-address-cfg.yang](Cisco-IOS-XR-um-if-mac-address-cfg.yang) +[Cisco-IOS-XR-um-if-mpls-cfg.yang](Cisco-IOS-XR-um-if-mpls-cfg.yang) +[Cisco-IOS-XR-um-if-nve-cfg.yang](Cisco-IOS-XR-um-if-nve-cfg.yang) +[Cisco-IOS-XR-um-if-service-policy-qos-cfg.yang](Cisco-IOS-XR-um-if-service-policy-qos-cfg.yang) +[Cisco-IOS-XR-um-if-tunnel-cfg.yang](Cisco-IOS-XR-um-if-tunnel-cfg.yang) +[Cisco-IOS-XR-um-if-vrf-cfg.yang](Cisco-IOS-XR-um-if-vrf-cfg.yang) +[Cisco-IOS-XR-um-iidmgr-cfg.yang](Cisco-IOS-XR-um-iidmgr-cfg.yang) +[Cisco-IOS-XR-um-install-cfg.yang](Cisco-IOS-XR-um-install-cfg.yang) +[Cisco-IOS-XR-um-interface-cfg.yang](Cisco-IOS-XR-um-interface-cfg.yang) +[Cisco-IOS-XR-um-ip-virtual-cfg.yang](Cisco-IOS-XR-um-ip-virtual-cfg.yang) +[Cisco-IOS-XR-um-ipsla-cfg.yang](Cisco-IOS-XR-um-ipsla-cfg.yang) +[Cisco-IOS-XR-um-ipv4-access-list-cfg.yang](Cisco-IOS-XR-um-ipv4-access-list-cfg.yang) +[Cisco-IOS-XR-um-ipv4-cfg.yang](Cisco-IOS-XR-um-ipv4-cfg.yang) +[Cisco-IOS-XR-um-ipv4-prefix-list-cfg.yang](Cisco-IOS-XR-um-ipv4-prefix-list-cfg.yang) +[Cisco-IOS-XR-um-ipv6-access-list-cfg.yang](Cisco-IOS-XR-um-ipv6-access-list-cfg.yang) +[Cisco-IOS-XR-um-ipv6-cfg.yang](Cisco-IOS-XR-um-ipv6-cfg.yang) +[Cisco-IOS-XR-um-ipv6-nd-cfg.yang](Cisco-IOS-XR-um-ipv6-nd-cfg.yang) +[Cisco-IOS-XR-um-ipv6-prefix-list-cfg.yang](Cisco-IOS-XR-um-ipv6-prefix-list-cfg.yang) +[Cisco-IOS-XR-um-key-chain-cfg.yang](Cisco-IOS-XR-um-key-chain-cfg.yang) +[Cisco-IOS-XR-um-l2-ethernet-cfg.yang](Cisco-IOS-XR-um-l2-ethernet-cfg.yang) +[Cisco-IOS-XR-um-l2snoop-cfg.yang](Cisco-IOS-XR-um-l2snoop-cfg.yang) +[Cisco-IOS-XR-um-l2vpn-cfg.yang](Cisco-IOS-XR-um-l2vpn-cfg.yang) +[Cisco-IOS-XR-um-lacp-cfg.yang](Cisco-IOS-XR-um-lacp-cfg.yang) +[Cisco-IOS-XR-um-license-smart-cfg.yang](Cisco-IOS-XR-um-license-smart-cfg.yang) +[Cisco-IOS-XR-um-line-cfg.yang](Cisco-IOS-XR-um-line-cfg.yang) +[Cisco-IOS-XR-um-line-exec-timeout-cfg.yang](Cisco-IOS-XR-um-line-exec-timeout-cfg.yang) +[Cisco-IOS-XR-um-line-general-cfg.yang](Cisco-IOS-XR-um-line-general-cfg.yang) +[Cisco-IOS-XR-um-line-timestamp-cfg.yang](Cisco-IOS-XR-um-line-timestamp-cfg.yang) +[Cisco-IOS-XR-um-linux-networking-cfg.yang](Cisco-IOS-XR-um-linux-networking-cfg.yang) +[Cisco-IOS-XR-um-lldp-cfg.yang](Cisco-IOS-XR-um-lldp-cfg.yang) +[Cisco-IOS-XR-um-location-cfg.yang](Cisco-IOS-XR-um-location-cfg.yang) +[Cisco-IOS-XR-um-logging-cfg.yang](Cisco-IOS-XR-um-logging-cfg.yang) +[Cisco-IOS-XR-um-logging-correlator-cfg.yang](Cisco-IOS-XR-um-logging-correlator-cfg.yang) +[Cisco-IOS-XR-um-logging-events-cfg.yang](Cisco-IOS-XR-um-logging-events-cfg.yang) +[Cisco-IOS-XR-um-lpts-pifib-cfg.yang](Cisco-IOS-XR-um-lpts-pifib-cfg.yang) +[Cisco-IOS-XR-um-lpts-pifib-domain-cfg.yang](Cisco-IOS-XR-um-lpts-pifib-domain-cfg.yang) +[Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg.yang](Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg.yang) +[Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg.yang](Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg.yang) +[Cisco-IOS-XR-um-lpts-pifib-police-np-cfg.yang](Cisco-IOS-XR-um-lpts-pifib-police-np-cfg.yang) +[Cisco-IOS-XR-um-lpts-profiling-cfg.yang](Cisco-IOS-XR-um-lpts-profiling-cfg.yang) +[Cisco-IOS-XR-um-ltrace-cfg.yang](Cisco-IOS-XR-um-ltrace-cfg.yang) +[Cisco-IOS-XR-um-macsec-cfg.yang](Cisco-IOS-XR-um-macsec-cfg.yang) +[Cisco-IOS-XR-um-mibs-cbqosmib-cfg.yang](Cisco-IOS-XR-um-mibs-cbqosmib-cfg.yang) +[Cisco-IOS-XR-um-mibs-eventmib-cfg.yang](Cisco-IOS-XR-um-mibs-eventmib-cfg.yang) +[Cisco-IOS-XR-um-mibs-fabric-cfg.yang](Cisco-IOS-XR-um-mibs-fabric-cfg.yang) +[Cisco-IOS-XR-um-mibs-ifmib-cfg.yang](Cisco-IOS-XR-um-mibs-ifmib-cfg.yang) +[Cisco-IOS-XR-um-mibs-rfmib-cfg.yang](Cisco-IOS-XR-um-mibs-rfmib-cfg.yang) +[Cisco-IOS-XR-um-mibs-sensormib-cfg.yang](Cisco-IOS-XR-um-mibs-sensormib-cfg.yang) +[Cisco-IOS-XR-um-mibs-subscriber-cfg.yang](Cisco-IOS-XR-um-mibs-subscriber-cfg.yang) +[Cisco-IOS-XR-um-mirror-cfg.yang](Cisco-IOS-XR-um-mirror-cfg.yang) +[Cisco-IOS-XR-um-monitor-session-cfg.yang](Cisco-IOS-XR-um-monitor-session-cfg.yang) +[Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang](Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang) +[Cisco-IOS-XR-um-mpls-ldp-cfg.yang](Cisco-IOS-XR-um-mpls-ldp-cfg.yang) +[Cisco-IOS-XR-um-mpls-lsd-cfg.yang](Cisco-IOS-XR-um-mpls-lsd-cfg.yang) +[Cisco-IOS-XR-um-mpls-oam-cfg.yang](Cisco-IOS-XR-um-mpls-oam-cfg.yang) +[Cisco-IOS-XR-um-mpls-static-cfg.yang](Cisco-IOS-XR-um-mpls-static-cfg.yang) +[Cisco-IOS-XR-um-mpls-te-cfg.yang](Cisco-IOS-XR-um-mpls-te-cfg.yang) +[Cisco-IOS-XR-um-multicast-routing-cfg.yang](Cisco-IOS-XR-um-multicast-routing-cfg.yang) +[Cisco-IOS-XR-um-netconf-yang-cfg.yang](Cisco-IOS-XR-um-netconf-yang-cfg.yang) +[Cisco-IOS-XR-um-nsr-cfg.yang](Cisco-IOS-XR-um-nsr-cfg.yang) +[Cisco-IOS-XR-um-ntp-cfg.yang](Cisco-IOS-XR-um-ntp-cfg.yang) +[Cisco-IOS-XR-um-object-group-cfg.yang](Cisco-IOS-XR-um-object-group-cfg.yang) +[Cisco-IOS-XR-um-password6-cfg.yang](Cisco-IOS-XR-um-password6-cfg.yang) +[Cisco-IOS-XR-um-pbr-cfg.yang](Cisco-IOS-XR-um-pbr-cfg.yang) +[Cisco-IOS-XR-um-pbr-policy-cfg.yang](Cisco-IOS-XR-um-pbr-policy-cfg.yang) +[Cisco-IOS-XR-um-pce-cfg.yang](Cisco-IOS-XR-um-pce-cfg.yang) +[Cisco-IOS-XR-um-performance-measurement-cfg.yang](Cisco-IOS-XR-um-performance-measurement-cfg.yang) +[Cisco-IOS-XR-um-performance-mgmt-cfg.yang](Cisco-IOS-XR-um-performance-mgmt-cfg.yang) +[Cisco-IOS-XR-um-policymap-classmap-cfg.yang](Cisco-IOS-XR-um-policymap-classmap-cfg.yang) +[Cisco-IOS-XR-um-pool-cfg.yang](Cisco-IOS-XR-um-pool-cfg.yang) +[Cisco-IOS-XR-um-power-mgmt-cfg.yang](Cisco-IOS-XR-um-power-mgmt-cfg.yang) +[Cisco-IOS-XR-um-process-cfg.yang](Cisco-IOS-XR-um-process-cfg.yang) +[Cisco-IOS-XR-um-ptp-cfg.yang](Cisco-IOS-XR-um-ptp-cfg.yang) +[Cisco-IOS-XR-um-ptp-log-servo-cfg.yang](Cisco-IOS-XR-um-ptp-log-servo-cfg.yang) +[Cisco-IOS-XR-um-raw-cfg.yang](Cisco-IOS-XR-um-raw-cfg.yang) +[Cisco-IOS-XR-um-rcc-cfg.yang](Cisco-IOS-XR-um-rcc-cfg.yang) +[Cisco-IOS-XR-um-redundancy-cfg.yang](Cisco-IOS-XR-um-redundancy-cfg.yang) +[Cisco-IOS-XR-um-router-amt-cfg.yang](Cisco-IOS-XR-um-router-amt-cfg.yang) +[Cisco-IOS-XR-um-router-bgp-cfg.yang](Cisco-IOS-XR-um-router-bgp-cfg.yang) +[Cisco-IOS-XR-um-router-convergence-cfg.yang](Cisco-IOS-XR-um-router-convergence-cfg.yang) +[Cisco-IOS-XR-um-router-eigrp-cfg.yang](Cisco-IOS-XR-um-router-eigrp-cfg.yang) +[Cisco-IOS-XR-um-router-hsrp-cfg.yang](Cisco-IOS-XR-um-router-hsrp-cfg.yang) +[Cisco-IOS-XR-um-router-igmp-cfg.yang](Cisco-IOS-XR-um-router-igmp-cfg.yang) +[Cisco-IOS-XR-um-router-isis-cfg.yang](Cisco-IOS-XR-um-router-isis-cfg.yang) +[Cisco-IOS-XR-um-router-mld-cfg.yang](Cisco-IOS-XR-um-router-mld-cfg.yang) +[Cisco-IOS-XR-um-router-msdp-cfg.yang](Cisco-IOS-XR-um-router-msdp-cfg.yang) +[Cisco-IOS-XR-um-router-ospf-cfg.yang](Cisco-IOS-XR-um-router-ospf-cfg.yang) +[Cisco-IOS-XR-um-router-ospfv3-cfg.yang](Cisco-IOS-XR-um-router-ospfv3-cfg.yang) +[Cisco-IOS-XR-um-router-pim-cfg.yang](Cisco-IOS-XR-um-router-pim-cfg.yang) +[Cisco-IOS-XR-um-router-rib-cfg.yang](Cisco-IOS-XR-um-router-rib-cfg.yang) +[Cisco-IOS-XR-um-router-rip-cfg.yang](Cisco-IOS-XR-um-router-rip-cfg.yang) +[Cisco-IOS-XR-um-router-static-cfg.yang](Cisco-IOS-XR-um-router-static-cfg.yang) +[Cisco-IOS-XR-um-router-vrrp-cfg.yang](Cisco-IOS-XR-um-router-vrrp-cfg.yang) +[Cisco-IOS-XR-um-rsvp-cfg.yang](Cisco-IOS-XR-um-rsvp-cfg.yang) +[Cisco-IOS-XR-um-sap-cfg.yang](Cisco-IOS-XR-um-sap-cfg.yang) +[Cisco-IOS-XR-um-script-cfg.yang](Cisco-IOS-XR-um-script-cfg.yang) +[Cisco-IOS-XR-um-segment-routing-cfg.yang](Cisco-IOS-XR-um-segment-routing-cfg.yang) +[Cisco-IOS-XR-um-segment-routing-srv6-cfg.yang](Cisco-IOS-XR-um-segment-routing-srv6-cfg.yang) +[Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg.yang](Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg.yang) +[Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg.yang](Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg.yang) +[Cisco-IOS-XR-um-service-timestamps-cfg.yang](Cisco-IOS-XR-um-service-timestamps-cfg.yang) +[Cisco-IOS-XR-um-session-redundancy-cfg.yang](Cisco-IOS-XR-um-session-redundancy-cfg.yang) +[Cisco-IOS-XR-um-snmp-server-cfg.yang](Cisco-IOS-XR-um-snmp-server-cfg.yang) +[Cisco-IOS-XR-um-snmp-server-mroutemib-cfg.yang](Cisco-IOS-XR-um-snmp-server-mroutemib-cfg.yang) +[Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg.yang](Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg.yang) +[Cisco-IOS-XR-um-ssh-cfg.yang](Cisco-IOS-XR-um-ssh-cfg.yang) +[Cisco-IOS-XR-um-ssm-cfg.yang](Cisco-IOS-XR-um-ssm-cfg.yang) +[Cisco-IOS-XR-um-statistics-cfg.yang](Cisco-IOS-XR-um-statistics-cfg.yang) +[Cisco-IOS-XR-um-subscriber-accounting-cfg.yang](Cisco-IOS-XR-um-subscriber-accounting-cfg.yang) +[Cisco-IOS-XR-um-subscriber-cfg.yang](Cisco-IOS-XR-um-subscriber-cfg.yang) +[Cisco-IOS-XR-um-subscriber-redundancy-cfg.yang](Cisco-IOS-XR-um-subscriber-redundancy-cfg.yang) +[Cisco-IOS-XR-um-tcp-cfg.yang](Cisco-IOS-XR-um-tcp-cfg.yang) +[Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang](Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang) +[Cisco-IOS-XR-um-telnet-cfg.yang](Cisco-IOS-XR-um-telnet-cfg.yang) +[Cisco-IOS-XR-um-track-cfg.yang](Cisco-IOS-XR-um-track-cfg.yang) +[Cisco-IOS-XR-um-traffic-collector-cfg.yang](Cisco-IOS-XR-um-traffic-collector-cfg.yang) +[Cisco-IOS-XR-um-traps-alarm-cfg.yang](Cisco-IOS-XR-um-traps-alarm-cfg.yang) +[Cisco-IOS-XR-um-traps-bridgemib-cfg.yang](Cisco-IOS-XR-um-traps-bridgemib-cfg.yang) +[Cisco-IOS-XR-um-traps-bulkstat-cfg.yang](Cisco-IOS-XR-um-traps-bulkstat-cfg.yang) +[Cisco-IOS-XR-um-traps-config-copy-cfg.yang](Cisco-IOS-XR-um-traps-config-copy-cfg.yang) +[Cisco-IOS-XR-um-traps-entity-cfg.yang](Cisco-IOS-XR-um-traps-entity-cfg.yang) +[Cisco-IOS-XR-um-traps-entity-redundancy-cfg.yang](Cisco-IOS-XR-um-traps-entity-redundancy-cfg.yang) +[Cisco-IOS-XR-um-traps-entity-state-cfg.yang](Cisco-IOS-XR-um-traps-entity-state-cfg.yang) +[Cisco-IOS-XR-um-traps-flash-cfg.yang](Cisco-IOS-XR-um-traps-flash-cfg.yang) +[Cisco-IOS-XR-um-traps-fru-ctrl-cfg.yang](Cisco-IOS-XR-um-traps-fru-ctrl-cfg.yang) +[Cisco-IOS-XR-um-traps-ipsec-cfg.yang](Cisco-IOS-XR-um-traps-ipsec-cfg.yang) +[Cisco-IOS-XR-um-traps-ipsla-cfg.yang](Cisco-IOS-XR-um-traps-ipsla-cfg.yang) +[Cisco-IOS-XR-um-traps-l2tun-cfg.yang](Cisco-IOS-XR-um-traps-l2tun-cfg.yang) +[Cisco-IOS-XR-um-traps-mpls-ldp-cfg.yang](Cisco-IOS-XR-um-traps-mpls-ldp-cfg.yang) +[Cisco-IOS-XR-um-traps-msdp-cfg.yang](Cisco-IOS-XR-um-traps-msdp-cfg.yang) +[Cisco-IOS-XR-um-traps-otn-cfg.yang](Cisco-IOS-XR-um-traps-otn-cfg.yang) +[Cisco-IOS-XR-um-traps-pim-cfg.yang](Cisco-IOS-XR-um-traps-pim-cfg.yang) +[Cisco-IOS-XR-um-traps-power-cfg.yang](Cisco-IOS-XR-um-traps-power-cfg.yang) +[Cisco-IOS-XR-um-traps-rsvp-cfg.yang](Cisco-IOS-XR-um-traps-rsvp-cfg.yang) +[Cisco-IOS-XR-um-traps-selective-vrf-download-cfg.yang](Cisco-IOS-XR-um-traps-selective-vrf-download-cfg.yang) +[Cisco-IOS-XR-um-traps-syslog-cfg.yang](Cisco-IOS-XR-um-traps-syslog-cfg.yang) +[Cisco-IOS-XR-um-traps-system-cfg.yang](Cisco-IOS-XR-um-traps-system-cfg.yang) +[Cisco-IOS-XR-um-udp-cfg.yang](Cisco-IOS-XR-um-udp-cfg.yang) +[Cisco-IOS-XR-um-vrf-cfg.yang](Cisco-IOS-XR-um-vrf-cfg.yang) +[Cisco-IOS-XR-um-vty-pool-cfg.yang](Cisco-IOS-XR-um-vty-pool-cfg.yang) +[Cisco-IOS-XR-um-watchd-cfg.yang](Cisco-IOS-XR-um-watchd-cfg.yang) +[Cisco-IOS-XR-um-xml-agent-cfg.yang](Cisco-IOS-XR-um-xml-agent-cfg.yang) +[Cisco-IOS-XR-um-yang-server-cfg.yang](Cisco-IOS-XR-um-yang-server-cfg.yang) +## Native Config Models +[Cisco-IOS-XR-8000-fib-platform-cfg.yang](Cisco-IOS-XR-8000-fib-platform-cfg.yang) +[Cisco-IOS-XR-Ethernet-SPAN-cfg.yang](Cisco-IOS-XR-Ethernet-SPAN-cfg.yang) +[Cisco-IOS-XR-aaa-aaacore-cfg.yang](Cisco-IOS-XR-aaa-aaacore-cfg.yang) +[Cisco-IOS-XR-aaa-lib-cfg.yang](Cisco-IOS-XR-aaa-lib-cfg.yang) +[Cisco-IOS-XR-aaa-locald-cfg.yang](Cisco-IOS-XR-aaa-locald-cfg.yang) +[Cisco-IOS-XR-aaa-nacm-cfg.yang](Cisco-IOS-XR-aaa-nacm-cfg.yang) +[Cisco-IOS-XR-aaa-protocol-radius-cfg.yang](Cisco-IOS-XR-aaa-protocol-radius-cfg.yang) +[Cisco-IOS-XR-aaa-tacacs-cfg.yang](Cisco-IOS-XR-aaa-tacacs-cfg.yang) +[Cisco-IOS-XR-accounting-cfg.yang](Cisco-IOS-XR-accounting-cfg.yang) +[Cisco-IOS-XR-adt-config-cfg.yang](Cisco-IOS-XR-adt-config-cfg.yang) +[Cisco-IOS-XR-appmgr-cfg.yang](Cisco-IOS-XR-appmgr-cfg.yang) +[Cisco-IOS-XR-attestation-agent-cfg.yang](Cisco-IOS-XR-attestation-agent-cfg.yang) +[Cisco-IOS-XR-bundlemgr-cfg.yang](Cisco-IOS-XR-bundlemgr-cfg.yang) +[Cisco-IOS-XR-call-home-cfg.yang](Cisco-IOS-XR-call-home-cfg.yang) +[Cisco-IOS-XR-cdp-cfg.yang](Cisco-IOS-XR-cdp-cfg.yang) +[Cisco-IOS-XR-cli-cfg.yang](Cisco-IOS-XR-cli-cfg.yang) +[Cisco-IOS-XR-clns-isis-cfg.yang](Cisco-IOS-XR-clns-isis-cfg.yang) +[Cisco-IOS-XR-config-cfgmgr-cfg.yang](Cisco-IOS-XR-config-cfgmgr-cfg.yang) +[Cisco-IOS-XR-config-mda-cfg.yang](Cisco-IOS-XR-config-mda-cfg.yang) +[Cisco-IOS-XR-config-mibs-cfg.yang](Cisco-IOS-XR-config-mibs-cfg.yang) +[Cisco-IOS-XR-config-valid-ccv-cfg.yang](Cisco-IOS-XR-config-valid-ccv-cfg.yang) +[Cisco-IOS-XR-controller-optics-cfg.yang](Cisco-IOS-XR-controller-optics-cfg.yang) +[Cisco-IOS-XR-controller-otu-cfg.yang](Cisco-IOS-XR-controller-otu-cfg.yang) +[Cisco-IOS-XR-crypto-cepki-cfg.yang](Cisco-IOS-XR-crypto-cepki-cfg.yang) +[Cisco-IOS-XR-crypto-macsec-mka-cfg.yang](Cisco-IOS-XR-crypto-macsec-mka-cfg.yang) +[Cisco-IOS-XR-crypto-macsec-mka-if-cfg.yang](Cisco-IOS-XR-crypto-macsec-mka-if-cfg.yang) +[Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg.yang](Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg.yang) +[Cisco-IOS-XR-crypto-ssh-cfg.yang](Cisco-IOS-XR-crypto-ssh-cfg.yang) +[Cisco-IOS-XR-custom-showtech-profile-cfg.yang](Cisco-IOS-XR-custom-showtech-profile-cfg.yang) +[Cisco-IOS-XR-dot1x-cfg.yang](Cisco-IOS-XR-dot1x-cfg.yang) +[Cisco-IOS-XR-dot1x-if-cfg.yang](Cisco-IOS-XR-dot1x-if-cfg.yang) +[Cisco-IOS-XR-drivers-icpe-ethernet-cfg.yang](Cisco-IOS-XR-drivers-icpe-ethernet-cfg.yang) +[Cisco-IOS-XR-drivers-media-eth-cfg.yang](Cisco-IOS-XR-drivers-media-eth-cfg.yang) +[Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg.yang](Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg.yang) +[Cisco-IOS-XR-dwdm-ui-cfg.yang](Cisco-IOS-XR-dwdm-ui-cfg.yang) +[Cisco-IOS-XR-eapol-if-cfg.yang](Cisco-IOS-XR-eapol-if-cfg.yang) +[Cisco-IOS-XR-eigrp-cfg.yang](Cisco-IOS-XR-eigrp-cfg.yang) +[Cisco-IOS-XR-envmon-alt-cfg.yang](Cisco-IOS-XR-envmon-alt-cfg.yang) +[Cisco-IOS-XR-envmon-cfg.yang](Cisco-IOS-XR-envmon-cfg.yang) +[Cisco-IOS-XR-es-ace-cfg.yang](Cisco-IOS-XR-es-ace-cfg.yang) +[Cisco-IOS-XR-es-acl-cfg.yang](Cisco-IOS-XR-es-acl-cfg.yang) +[Cisco-IOS-XR-ethernet-cfm-cfg.yang](Cisco-IOS-XR-ethernet-cfm-cfg.yang) +[Cisco-IOS-XR-ethernet-link-oam-cfg.yang](Cisco-IOS-XR-ethernet-link-oam-cfg.yang) +[Cisco-IOS-XR-ethernet-lldp-cfg.yang](Cisco-IOS-XR-ethernet-lldp-cfg.yang) +[Cisco-IOS-XR-fabhfr-mib-cfg.yang](Cisco-IOS-XR-fabhfr-mib-cfg.yang) +[Cisco-IOS-XR-fgid-mgr-cfg.yang](Cisco-IOS-XR-fgid-mgr-cfg.yang) +[Cisco-IOS-XR-fib-common-cfg.yang](Cisco-IOS-XR-fib-common-cfg.yang) +[Cisco-IOS-XR-filesysinv-cfg.yang](Cisco-IOS-XR-filesysinv-cfg.yang) +[Cisco-IOS-XR-flashmib-cfg.yang](Cisco-IOS-XR-flashmib-cfg.yang) +[Cisco-IOS-XR-flowspec-cfg.yang](Cisco-IOS-XR-flowspec-cfg.yang) +[Cisco-IOS-XR-fpd-infra-cfg.yang](Cisco-IOS-XR-fpd-infra-cfg.yang) +[Cisco-IOS-XR-fpmgr-cfg.yang](Cisco-IOS-XR-fpmgr-cfg.yang) +[Cisco-IOS-XR-freqsync-cfg.yang](Cisco-IOS-XR-freqsync-cfg.yang) +[Cisco-IOS-XR-fsdbagg-cfg.yang](Cisco-IOS-XR-fsdbagg-cfg.yang) +[Cisco-IOS-XR-gnss-cfg.yang](Cisco-IOS-XR-gnss-cfg.yang) +[Cisco-IOS-XR-ha-eem-cfg.yang](Cisco-IOS-XR-ha-eem-cfg.yang) +[Cisco-IOS-XR-healthcheck-cfg.yang](Cisco-IOS-XR-healthcheck-cfg.yang) +[Cisco-IOS-XR-hw-module-cfg.yang](Cisco-IOS-XR-hw-module-cfg.yang) +[Cisco-IOS-XR-ifmgr-cfg.yang](Cisco-IOS-XR-ifmgr-cfg.yang) +[Cisco-IOS-XR-infra-alarm-logger-cfg.yang](Cisco-IOS-XR-infra-alarm-logger-cfg.yang) +[Cisco-IOS-XR-infra-ceredundancymib-cfg.yang](Cisco-IOS-XR-infra-ceredundancymib-cfg.yang) +[Cisco-IOS-XR-infra-confcopymib-cfg.yang](Cisco-IOS-XR-infra-confcopymib-cfg.yang) +[Cisco-IOS-XR-infra-correlator-cfg.yang](Cisco-IOS-XR-infra-correlator-cfg.yang) +[Cisco-IOS-XR-infra-infra-cfg.yang](Cisco-IOS-XR-infra-infra-cfg.yang) +[Cisco-IOS-XR-infra-infra-clock-linux-cfg.yang](Cisco-IOS-XR-infra-infra-clock-linux-cfg.yang) +[Cisco-IOS-XR-infra-infra-locale-cfg.yang](Cisco-IOS-XR-infra-infra-locale-cfg.yang) +[Cisco-IOS-XR-infra-ltrace-cfg.yang](Cisco-IOS-XR-infra-ltrace-cfg.yang) +[Cisco-IOS-XR-infra-notification-log-mib-cfg.yang](Cisco-IOS-XR-infra-notification-log-mib-cfg.yang) +[Cisco-IOS-XR-infra-nsr-cfg.yang](Cisco-IOS-XR-infra-nsr-cfg.yang) +[Cisco-IOS-XR-infra-objmgr-cfg.yang](Cisco-IOS-XR-infra-objmgr-cfg.yang) +[Cisco-IOS-XR-infra-policymgr-cfg.yang](Cisco-IOS-XR-infra-policymgr-cfg.yang) +[Cisco-IOS-XR-infra-rsi-cfg.yang](Cisco-IOS-XR-infra-rsi-cfg.yang) +[Cisco-IOS-XR-infra-rt-check-cfg.yang](Cisco-IOS-XR-infra-rt-check-cfg.yang) +[Cisco-IOS-XR-infra-script-mgmt-cfg.yang](Cisco-IOS-XR-infra-script-mgmt-cfg.yang) +[Cisco-IOS-XR-infra-sla-cfg.yang](Cisco-IOS-XR-infra-sla-cfg.yang) +[Cisco-IOS-XR-infra-statsd-cfg.yang](Cisco-IOS-XR-infra-statsd-cfg.yang) +[Cisco-IOS-XR-infra-syslog-cfg.yang](Cisco-IOS-XR-infra-syslog-cfg.yang) +[Cisco-IOS-XR-infra-systemmib-cfg.yang](Cisco-IOS-XR-infra-systemmib-cfg.yang) +[Cisco-IOS-XR-infra-tc-cfg.yang](Cisco-IOS-XR-infra-tc-cfg.yang) +[Cisco-IOS-XR-infra-xtc-agent-cfg.yang](Cisco-IOS-XR-infra-xtc-agent-cfg.yang) +[Cisco-IOS-XR-infra-xtc-cfg.yang](Cisco-IOS-XR-infra-xtc-cfg.yang) +[Cisco-IOS-XR-install-cfg.yang](Cisco-IOS-XR-install-cfg.yang) +[Cisco-IOS-XR-invmgr-cfg.yang](Cisco-IOS-XR-invmgr-cfg.yang) +[Cisco-IOS-XR-invproxy-hwmodule-cfg.yang](Cisco-IOS-XR-invproxy-hwmodule-cfg.yang) +[Cisco-IOS-XR-ip-bfd-cfg.yang](Cisco-IOS-XR-ip-bfd-cfg.yang) +[Cisco-IOS-XR-ip-daps-cfg.yang](Cisco-IOS-XR-ip-daps-cfg.yang) +[Cisco-IOS-XR-ip-daps-mib-cfg.yang](Cisco-IOS-XR-ip-daps-mib-cfg.yang) +[Cisco-IOS-XR-ip-domain-cfg.yang](Cisco-IOS-XR-ip-domain-cfg.yang) +[Cisco-IOS-XR-ip-iarm-cfg.yang](Cisco-IOS-XR-ip-iarm-cfg.yang) +[Cisco-IOS-XR-ip-iarm-vrf-cfg.yang](Cisco-IOS-XR-ip-iarm-vrf-cfg.yang) +[Cisco-IOS-XR-ip-icmp-cfg.yang](Cisco-IOS-XR-ip-icmp-cfg.yang) +[Cisco-IOS-XR-ip-iep-cfg.yang](Cisco-IOS-XR-ip-iep-cfg.yang) +[Cisco-IOS-XR-ip-ntp-cfg.yang](Cisco-IOS-XR-ip-ntp-cfg.yang) +[Cisco-IOS-XR-ip-pfilter-cfg.yang](Cisco-IOS-XR-ip-pfilter-cfg.yang) +[Cisco-IOS-XR-ip-raw-cfg.yang](Cisco-IOS-XR-ip-raw-cfg.yang) +[Cisco-IOS-XR-ip-rib-cfg.yang](Cisco-IOS-XR-ip-rib-cfg.yang) +[Cisco-IOS-XR-ip-rib-iid-cfg.yang](Cisco-IOS-XR-ip-rib-iid-cfg.yang) +[Cisco-IOS-XR-ip-rip-cfg.yang](Cisco-IOS-XR-ip-rip-cfg.yang) +[Cisco-IOS-XR-ip-rsvp-cfg.yang](Cisco-IOS-XR-ip-rsvp-cfg.yang) +[Cisco-IOS-XR-ip-sbfd-cfg.yang](Cisco-IOS-XR-ip-sbfd-cfg.yang) +[Cisco-IOS-XR-ip-static-cfg.yang](Cisco-IOS-XR-ip-static-cfg.yang) +[Cisco-IOS-XR-ip-tcp-cfg.yang](Cisco-IOS-XR-ip-tcp-cfg.yang) +[Cisco-IOS-XR-ip-udp-cfg.yang](Cisco-IOS-XR-ip-udp-cfg.yang) +[Cisco-IOS-XR-ipv4-ace-cfg.yang](Cisco-IOS-XR-ipv4-ace-cfg.yang) +[Cisco-IOS-XR-ipv4-acl-cfg.yang](Cisco-IOS-XR-ipv4-acl-cfg.yang) +[Cisco-IOS-XR-ipv4-arp-cfg.yang](Cisco-IOS-XR-ipv4-arp-cfg.yang) +[Cisco-IOS-XR-ipv4-bgp-cfg.yang](Cisco-IOS-XR-ipv4-bgp-cfg.yang) +[Cisco-IOS-XR-ipv4-cinetd-cfg.yang](Cisco-IOS-XR-ipv4-cinetd-cfg.yang) +[Cisco-IOS-XR-ipv4-dc-cfg.yang](Cisco-IOS-XR-ipv4-dc-cfg.yang) +[Cisco-IOS-XR-ipv4-dhcpd-cfg.yang](Cisco-IOS-XR-ipv4-dhcpd-cfg.yang) +[Cisco-IOS-XR-ipv4-filesystems-cfg.yang](Cisco-IOS-XR-ipv4-filesystems-cfg.yang) +[Cisco-IOS-XR-ipv4-hsrp-cfg.yang](Cisco-IOS-XR-ipv4-hsrp-cfg.yang) +[Cisco-IOS-XR-ipv4-igmp-cfg.yang](Cisco-IOS-XR-ipv4-igmp-cfg.yang) +[Cisco-IOS-XR-ipv4-io-cfg.yang](Cisco-IOS-XR-ipv4-io-cfg.yang) +[Cisco-IOS-XR-ipv4-ma-cfg.yang](Cisco-IOS-XR-ipv4-ma-cfg.yang) +[Cisco-IOS-XR-ipv4-mfwd-cfg.yang](Cisco-IOS-XR-ipv4-mfwd-cfg.yang) +[Cisco-IOS-XR-ipv4-msdp-cfg.yang](Cisco-IOS-XR-ipv4-msdp-cfg.yang) +[Cisco-IOS-XR-ipv4-ospf-cfg.yang](Cisco-IOS-XR-ipv4-ospf-cfg.yang) +[Cisco-IOS-XR-ipv4-pim-cfg.yang](Cisco-IOS-XR-ipv4-pim-cfg.yang) +[Cisco-IOS-XR-ipv4-smiap-cfg.yang](Cisco-IOS-XR-ipv4-smiap-cfg.yang) +[Cisco-IOS-XR-ipv4-telnet-cfg.yang](Cisco-IOS-XR-ipv4-telnet-cfg.yang) +[Cisco-IOS-XR-ipv4-telnet-mgmt-cfg.yang](Cisco-IOS-XR-ipv4-telnet-mgmt-cfg.yang) +[Cisco-IOS-XR-ipv4-vrrp-cfg.yang](Cisco-IOS-XR-ipv4-vrrp-cfg.yang) +[Cisco-IOS-XR-ipv6-ace-cfg.yang](Cisco-IOS-XR-ipv6-ace-cfg.yang) +[Cisco-IOS-XR-ipv6-acl-cfg.yang](Cisco-IOS-XR-ipv6-acl-cfg.yang) +[Cisco-IOS-XR-ipv6-io-cfg.yang](Cisco-IOS-XR-ipv6-io-cfg.yang) +[Cisco-IOS-XR-ipv6-ma-cfg.yang](Cisco-IOS-XR-ipv6-ma-cfg.yang) +[Cisco-IOS-XR-ipv6-nd-cfg.yang](Cisco-IOS-XR-ipv6-nd-cfg.yang) +[Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg.yang](Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg.yang) +[Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg.yang](Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg.yang) +[Cisco-IOS-XR-ipv6-ospfv3-cfg.yang](Cisco-IOS-XR-ipv6-ospfv3-cfg.yang) +[Cisco-IOS-XR-ipv6-smiap-cfg.yang](Cisco-IOS-XR-ipv6-smiap-cfg.yang) +[Cisco-IOS-XR-l2-eth-infra-cfg.yang](Cisco-IOS-XR-l2-eth-infra-cfg.yang) +[Cisco-IOS-XR-l2rib-cfg.yang](Cisco-IOS-XR-l2rib-cfg.yang) +[Cisco-IOS-XR-l2vpn-cfg.yang](Cisco-IOS-XR-l2vpn-cfg.yang) +[Cisco-IOS-XR-lib-keychain-cfg.yang](Cisco-IOS-XR-lib-keychain-cfg.yang) +[Cisco-IOS-XR-lib-mpp-cfg.yang](Cisco-IOS-XR-lib-mpp-cfg.yang) +[Cisco-IOS-XR-lib-type6-cfg.yang](Cisco-IOS-XR-lib-type6-cfg.yang) +[Cisco-IOS-XR-linux-xlnc-cfg.yang](Cisco-IOS-XR-linux-xlnc-cfg.yang) +[Cisco-IOS-XR-lmp-cfg.yang](Cisco-IOS-XR-lmp-cfg.yang) +[Cisco-IOS-XR-lpts-lib-cfg.yang](Cisco-IOS-XR-lpts-lib-cfg.yang) +[Cisco-IOS-XR-lpts-pre-ifib-cfg.yang](Cisco-IOS-XR-lpts-pre-ifib-cfg.yang) +[Cisco-IOS-XR-man-ems-cfg.yang](Cisco-IOS-XR-man-ems-cfg.yang) +[Cisco-IOS-XR-man-http-lighttpd-yang-cfg.yang](Cisco-IOS-XR-man-http-lighttpd-yang-cfg.yang) +[Cisco-IOS-XR-man-ipsla-cfg.yang](Cisco-IOS-XR-man-ipsla-cfg.yang) +[Cisco-IOS-XR-man-netconf-cfg.yang](Cisco-IOS-XR-man-netconf-cfg.yang) +[Cisco-IOS-XR-man-restconf-cfg.yang](Cisco-IOS-XR-man-restconf-cfg.yang) +[Cisco-IOS-XR-man-xml-ttyagent-cfg.yang](Cisco-IOS-XR-man-xml-ttyagent-cfg.yang) +[Cisco-IOS-XR-manageability-object-tracking-cfg.yang](Cisco-IOS-XR-manageability-object-tracking-cfg.yang) +[Cisco-IOS-XR-manageability-perfmgmt-cfg.yang](Cisco-IOS-XR-manageability-perfmgmt-cfg.yang) +[Cisco-IOS-XR-mdrv-lib-cfg.yang](Cisco-IOS-XR-mdrv-lib-cfg.yang) +[Cisco-IOS-XR-mirror-cfg.yang](Cisco-IOS-XR-mirror-cfg.yang) +[Cisco-IOS-XR-mpls-io-cfg.yang](Cisco-IOS-XR-mpls-io-cfg.yang) +[Cisco-IOS-XR-mpls-ldp-cfg.yang](Cisco-IOS-XR-mpls-ldp-cfg.yang) +[Cisco-IOS-XR-mpls-lsd-cfg.yang](Cisco-IOS-XR-mpls-lsd-cfg.yang) +[Cisco-IOS-XR-mpls-oam-cfg.yang](Cisco-IOS-XR-mpls-oam-cfg.yang) +[Cisco-IOS-XR-mpls-static-cfg.yang](Cisco-IOS-XR-mpls-static-cfg.yang) +[Cisco-IOS-XR-mpls-te-cfg.yang](Cisco-IOS-XR-mpls-te-cfg.yang) +[Cisco-IOS-XR-mpls-vpn-cfg.yang](Cisco-IOS-XR-mpls-vpn-cfg.yang) +[Cisco-IOS-XR-npu-hw-profile-cfg.yang](Cisco-IOS-XR-npu-hw-profile-cfg.yang) +[Cisco-IOS-XR-npu-power-profile-sf-d-cfg.yang](Cisco-IOS-XR-npu-power-profile-sf-d-cfg.yang) +[Cisco-IOS-XR-npu-power-profile-sf-f-cfg.yang](Cisco-IOS-XR-npu-power-profile-sf-f-cfg.yang) +[Cisco-IOS-XR-nvgen-cfg.yang](Cisco-IOS-XR-nvgen-cfg.yang) +[Cisco-IOS-XR-opticalmib-cfg.yang](Cisco-IOS-XR-opticalmib-cfg.yang) +[Cisco-IOS-XR-opticalotsmib-cfg.yang](Cisco-IOS-XR-opticalotsmib-cfg.yang) +[Cisco-IOS-XR-optics-dac-cfg.yang](Cisco-IOS-XR-optics-dac-cfg.yang) +[Cisco-IOS-XR-optics-driver-cfg.yang](Cisco-IOS-XR-optics-driver-cfg.yang) +[Cisco-IOS-XR-optics-driver-quad-cfg.yang](Cisco-IOS-XR-optics-driver-quad-cfg.yang) +[Cisco-IOS-XR-optics-driver-xponder-cfg.yang](Cisco-IOS-XR-optics-driver-xponder-cfg.yang) +[Cisco-IOS-XR-optics-fan-control-cfg.yang](Cisco-IOS-XR-optics-fan-control-cfg.yang) +[Cisco-IOS-XR-optics-media-type-cfg.yang](Cisco-IOS-XR-optics-media-type-cfg.yang) +[Cisco-IOS-XR-optics-port-mode-cfg.yang](Cisco-IOS-XR-optics-port-mode-cfg.yang) +[Cisco-IOS-XR-optics-speed-cfg.yang](Cisco-IOS-XR-optics-speed-cfg.yang) +[Cisco-IOS-XR-otnifmib-cfg.yang](Cisco-IOS-XR-otnifmib-cfg.yang) +[Cisco-IOS-XR-parser-cfg.yang](Cisco-IOS-XR-parser-cfg.yang) +[Cisco-IOS-XR-pbr-bng-cfg.yang](Cisco-IOS-XR-pbr-bng-cfg.yang) +[Cisco-IOS-XR-pbr-cfg.yang](Cisco-IOS-XR-pbr-cfg.yang) +[Cisco-IOS-XR-pbr-vrf-policy-cfg.yang](Cisco-IOS-XR-pbr-vrf-policy-cfg.yang) +[Cisco-IOS-XR-perf-meas-cfg.yang](Cisco-IOS-XR-perf-meas-cfg.yang) +[Cisco-IOS-XR-pmengine-cfg.yang](Cisco-IOS-XR-pmengine-cfg.yang) +[Cisco-IOS-XR-pmengine-gl-cfg.yang](Cisco-IOS-XR-pmengine-gl-cfg.yang) +[Cisco-IOS-XR-policy-repository-cfg.yang](Cisco-IOS-XR-policy-repository-cfg.yang) +[Cisco-IOS-XR-ptp-cfg.yang](Cisco-IOS-XR-ptp-cfg.yang) +[Cisco-IOS-XR-ptp-pd-cfg.yang](Cisco-IOS-XR-ptp-pd-cfg.yang) +[Cisco-IOS-XR-pwrmgmt-action-cfg.yang](Cisco-IOS-XR-pwrmgmt-action-cfg.yang) +[Cisco-IOS-XR-pwrmgmt-cfg.yang](Cisco-IOS-XR-pwrmgmt-cfg.yang) +[Cisco-IOS-XR-qos-ma-cfg.yang](Cisco-IOS-XR-qos-ma-cfg.yang) +[Cisco-IOS-XR-qos-mibs-cfg.yang](Cisco-IOS-XR-qos-mibs-cfg.yang) +[Cisco-IOS-XR-rgmgr-cfg.yang](Cisco-IOS-XR-rgmgr-cfg.yang) +[Cisco-IOS-XR-sandbox-cfg.yang](Cisco-IOS-XR-sandbox-cfg.yang) +[Cisco-IOS-XR-segment-routing-ms-cfg.yang](Cisco-IOS-XR-segment-routing-ms-cfg.yang) +[Cisco-IOS-XR-segment-routing-ms-common-cfg.yang](Cisco-IOS-XR-segment-routing-ms-common-cfg.yang) +[Cisco-IOS-XR-segment-routing-srv6-cfg.yang](Cisco-IOS-XR-segment-routing-srv6-cfg.yang) +[Cisco-IOS-XR-shellutil-cfg.yang](Cisco-IOS-XR-shellutil-cfg.yang) +[Cisco-IOS-XR-sks-server-cfg.yang](Cisco-IOS-XR-sks-server-cfg.yang) +[Cisco-IOS-XR-smart-license-cfg.yang](Cisco-IOS-XR-smart-license-cfg.yang) +[Cisco-IOS-XR-snmp-agent-cfg.yang](Cisco-IOS-XR-snmp-agent-cfg.yang) +[Cisco-IOS-XR-snmp-bridgemib-cfg.yang](Cisco-IOS-XR-snmp-bridgemib-cfg.yang) +[Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg.yang](Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg.yang) +[Cisco-IOS-XR-snmp-ciscosensormib-cfg.yang](Cisco-IOS-XR-snmp-ciscosensormib-cfg.yang) +[Cisco-IOS-XR-snmp-entityextmib-cfg.yang](Cisco-IOS-XR-snmp-entityextmib-cfg.yang) +[Cisco-IOS-XR-snmp-entitymib-cfg.yang](Cisco-IOS-XR-snmp-entitymib-cfg.yang) +[Cisco-IOS-XR-snmp-entstatemib-cfg.yang](Cisco-IOS-XR-snmp-entstatemib-cfg.yang) +[Cisco-IOS-XR-snmp-frucontrolmib-cfg.yang](Cisco-IOS-XR-snmp-frucontrolmib-cfg.yang) +[Cisco-IOS-XR-snmp-ifmib-cfg.yang](Cisco-IOS-XR-snmp-ifmib-cfg.yang) +[Cisco-IOS-XR-snmp-mib-rfmib-cfg.yang](Cisco-IOS-XR-snmp-mib-rfmib-cfg.yang) +[Cisco-IOS-XR-snmp-syslogmib-cfg.yang](Cisco-IOS-XR-snmp-syslogmib-cfg.yang) +[Cisco-IOS-XR-spirit-corehelper-cfg.yang](Cisco-IOS-XR-spirit-corehelper-cfg.yang) +[Cisco-IOS-XR-syncc-controller-cfg.yang](Cisco-IOS-XR-syncc-controller-cfg.yang) +[Cisco-IOS-XR-sysmgr-cfg.yang](Cisco-IOS-XR-sysmgr-cfg.yang) +[Cisco-IOS-XR-system-recovery-cfg.yang](Cisco-IOS-XR-system-recovery-cfg.yang) +[Cisco-IOS-XR-telemetry-model-driven-cfg.yang](Cisco-IOS-XR-telemetry-model-driven-cfg.yang) +[Cisco-IOS-XR-terminal-device-cfg.yang](Cisco-IOS-XR-terminal-device-cfg.yang) +[Cisco-IOS-XR-traffmon-netflow-cfg.yang](Cisco-IOS-XR-traffmon-netflow-cfg.yang) +[Cisco-IOS-XR-tty-management-cfg.yang](Cisco-IOS-XR-tty-management-cfg.yang) +[Cisco-IOS-XR-tty-server-cfg.yang](Cisco-IOS-XR-tty-server-cfg.yang) +[Cisco-IOS-XR-tty-vty-cfg.yang](Cisco-IOS-XR-tty-vty-cfg.yang) +[Cisco-IOS-XR-tunnel-gre-cfg.yang](Cisco-IOS-XR-tunnel-gre-cfg.yang) +[Cisco-IOS-XR-tunnel-l2tun-cfg.yang](Cisco-IOS-XR-tunnel-l2tun-cfg.yang) +[Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg.yang](Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg.yang) +[Cisco-IOS-XR-tunnel-nve-cfg.yang](Cisco-IOS-XR-tunnel-nve-cfg.yang) +[Cisco-IOS-XR-vether-mode-cfg.yang](Cisco-IOS-XR-vether-mode-cfg.yang) +[Cisco-IOS-XR-watchd-cfg.yang](Cisco-IOS-XR-watchd-cfg.yang) +[Cisco-IOS-XR-wd-proc-state-cfg.yang](Cisco-IOS-XR-wd-proc-state-cfg.yang) +[Cisco-IOS-XR-ztp-cfg.yang](Cisco-IOS-XR-ztp-cfg.yang) +## Native Oper Models +[Cisco-IOS-XR-8000-lpts-oper-sub1.yang](Cisco-IOS-XR-8000-lpts-oper-sub1.yang) +[Cisco-IOS-XR-8000-lpts-oper.yang](Cisco-IOS-XR-8000-lpts-oper.yang) +[Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1.yang](Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1.yang) +[Cisco-IOS-XR-8000-platforms-npu-memory-oper.yang](Cisco-IOS-XR-8000-platforms-npu-memory-oper.yang) +[Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1.yang](Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1.yang) +[Cisco-IOS-XR-8000-platforms-npu-resources-oper.yang](Cisco-IOS-XR-8000-platforms-npu-resources-oper.yang) +[Cisco-IOS-XR-8000-qos-oper-sub1.yang](Cisco-IOS-XR-8000-qos-oper-sub1.yang) +[Cisco-IOS-XR-8000-qos-oper-sub2.yang](Cisco-IOS-XR-8000-qos-oper-sub2.yang) +[Cisco-IOS-XR-8000-qos-oper.yang](Cisco-IOS-XR-8000-qos-oper.yang) +[Cisco-IOS-XR-Ethernet-SPAN-oper-sub1.yang](Cisco-IOS-XR-Ethernet-SPAN-oper-sub1.yang) +[Cisco-IOS-XR-Ethernet-SPAN-oper-sub2.yang](Cisco-IOS-XR-Ethernet-SPAN-oper-sub2.yang) +[Cisco-IOS-XR-Ethernet-SPAN-oper-sub3.yang](Cisco-IOS-XR-Ethernet-SPAN-oper-sub3.yang) +[Cisco-IOS-XR-Ethernet-SPAN-oper.yang](Cisco-IOS-XR-Ethernet-SPAN-oper.yang) +[Cisco-IOS-XR-aaa-locald-oper-sub1.yang](Cisco-IOS-XR-aaa-locald-oper-sub1.yang) +[Cisco-IOS-XR-aaa-locald-oper.yang](Cisco-IOS-XR-aaa-locald-oper.yang) +[Cisco-IOS-XR-aaa-nacm-oper-sub1.yang](Cisco-IOS-XR-aaa-nacm-oper-sub1.yang) +[Cisco-IOS-XR-aaa-nacm-oper.yang](Cisco-IOS-XR-aaa-nacm-oper.yang) +[Cisco-IOS-XR-aaa-protocol-radius-oper-sub1.yang](Cisco-IOS-XR-aaa-protocol-radius-oper-sub1.yang) +[Cisco-IOS-XR-aaa-protocol-radius-oper-sub2.yang](Cisco-IOS-XR-aaa-protocol-radius-oper-sub2.yang) +[Cisco-IOS-XR-aaa-protocol-radius-oper.yang](Cisco-IOS-XR-aaa-protocol-radius-oper.yang) +[Cisco-IOS-XR-aaa-tacacs-oper-sub1.yang](Cisco-IOS-XR-aaa-tacacs-oper-sub1.yang) +[Cisco-IOS-XR-aaa-tacacs-oper.yang](Cisco-IOS-XR-aaa-tacacs-oper.yang) +[Cisco-IOS-XR-adt-oper-sub1.yang](Cisco-IOS-XR-adt-oper-sub1.yang) +[Cisco-IOS-XR-adt-oper-sub2.yang](Cisco-IOS-XR-adt-oper-sub2.yang) +[Cisco-IOS-XR-adt-oper.yang](Cisco-IOS-XR-adt-oper.yang) +[Cisco-IOS-XR-alarmgr-server-oper-sub1.yang](Cisco-IOS-XR-alarmgr-server-oper-sub1.yang) +[Cisco-IOS-XR-alarmgr-server-oper.yang](Cisco-IOS-XR-alarmgr-server-oper.yang) +[Cisco-IOS-XR-appmgr-oper-sub1.yang](Cisco-IOS-XR-appmgr-oper-sub1.yang) +[Cisco-IOS-XR-appmgr-oper.yang](Cisco-IOS-XR-appmgr-oper.yang) +[Cisco-IOS-XR-ascii-ltrace-oper-sub1.yang](Cisco-IOS-XR-ascii-ltrace-oper-sub1.yang) +[Cisco-IOS-XR-ascii-ltrace-oper.yang](Cisco-IOS-XR-ascii-ltrace-oper.yang) +[Cisco-IOS-XR-asic-error-oper-sub1.yang](Cisco-IOS-XR-asic-error-oper-sub1.yang) +[Cisco-IOS-XR-asic-error-oper-sub2.yang](Cisco-IOS-XR-asic-error-oper-sub2.yang) +[Cisco-IOS-XR-asic-error-oper.yang](Cisco-IOS-XR-asic-error-oper.yang) +[Cisco-IOS-XR-asic-errors-oper-sub1.yang](Cisco-IOS-XR-asic-errors-oper-sub1.yang) +[Cisco-IOS-XR-asic-errors-oper-sub2.yang](Cisco-IOS-XR-asic-errors-oper-sub2.yang) +[Cisco-IOS-XR-asic-errors-oper.yang](Cisco-IOS-XR-asic-errors-oper.yang) +[Cisco-IOS-XR-attestation-agent-ima-oper-sub1.yang](Cisco-IOS-XR-attestation-agent-ima-oper-sub1.yang) +[Cisco-IOS-XR-attestation-agent-ima-oper.yang](Cisco-IOS-XR-attestation-agent-ima-oper.yang) +[Cisco-IOS-XR-bundlemgr-oper-sub1.yang](Cisco-IOS-XR-bundlemgr-oper-sub1.yang) +[Cisco-IOS-XR-bundlemgr-oper-sub2.yang](Cisco-IOS-XR-bundlemgr-oper-sub2.yang) +[Cisco-IOS-XR-bundlemgr-oper.yang](Cisco-IOS-XR-bundlemgr-oper.yang) +[Cisco-IOS-XR-cdp-oper-sub1.yang](Cisco-IOS-XR-cdp-oper-sub1.yang) +[Cisco-IOS-XR-cdp-oper.yang](Cisco-IOS-XR-cdp-oper.yang) +[Cisco-IOS-XR-clns-isis-oper-sub1.yang](Cisco-IOS-XR-clns-isis-oper-sub1.yang) +[Cisco-IOS-XR-clns-isis-oper-sub2.yang](Cisco-IOS-XR-clns-isis-oper-sub2.yang) +[Cisco-IOS-XR-clns-isis-oper.yang](Cisco-IOS-XR-clns-isis-oper.yang) +[Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1.yang](Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1.yang) +[Cisco-IOS-XR-config-cfgmgr-exec-oper.yang](Cisco-IOS-XR-config-cfgmgr-exec-oper.yang) +[Cisco-IOS-XR-config-cfgmgr-oper.yang](Cisco-IOS-XR-config-cfgmgr-oper.yang) +[Cisco-IOS-XR-config-valid-ccv-oper-sub1.yang](Cisco-IOS-XR-config-valid-ccv-oper-sub1.yang) +[Cisco-IOS-XR-config-valid-ccv-oper-sub2.yang](Cisco-IOS-XR-config-valid-ccv-oper-sub2.yang) +[Cisco-IOS-XR-config-valid-ccv-oper.yang](Cisco-IOS-XR-config-valid-ccv-oper.yang) +[Cisco-IOS-XR-controller-optics-oper-sub1.yang](Cisco-IOS-XR-controller-optics-oper-sub1.yang) +[Cisco-IOS-XR-controller-optics-oper-sub2.yang](Cisco-IOS-XR-controller-optics-oper-sub2.yang) +[Cisco-IOS-XR-controller-optics-oper.yang](Cisco-IOS-XR-controller-optics-oper.yang) +[Cisco-IOS-XR-controller-otu-oper-sub1.yang](Cisco-IOS-XR-controller-otu-oper-sub1.yang) +[Cisco-IOS-XR-controller-otu-oper.yang](Cisco-IOS-XR-controller-otu-oper.yang) +[Cisco-IOS-XR-crypto-cepki-new-oper-sub1.yang](Cisco-IOS-XR-crypto-cepki-new-oper-sub1.yang) +[Cisco-IOS-XR-crypto-cepki-new-oper.yang](Cisco-IOS-XR-crypto-cepki-new-oper.yang) +[Cisco-IOS-XR-crypto-cepki-oper.yang](Cisco-IOS-XR-crypto-cepki-oper.yang) +[Cisco-IOS-XR-crypto-macsec-mka-oper-sub1.yang](Cisco-IOS-XR-crypto-macsec-mka-oper-sub1.yang) +[Cisco-IOS-XR-crypto-macsec-mka-oper.yang](Cisco-IOS-XR-crypto-macsec-mka-oper.yang) +[Cisco-IOS-XR-crypto-macsec-secy-oper-sub1.yang](Cisco-IOS-XR-crypto-macsec-secy-oper-sub1.yang) +[Cisco-IOS-XR-crypto-macsec-secy-oper.yang](Cisco-IOS-XR-crypto-macsec-secy-oper.yang) +[Cisco-IOS-XR-crypto-ssh-oper-sub1.yang](Cisco-IOS-XR-crypto-ssh-oper-sub1.yang) +[Cisco-IOS-XR-crypto-ssh-oper-sub2.yang](Cisco-IOS-XR-crypto-ssh-oper-sub2.yang) +[Cisco-IOS-XR-crypto-ssh-oper.yang](Cisco-IOS-XR-crypto-ssh-oper.yang) +[Cisco-IOS-XR-csd-oper-sub1.yang](Cisco-IOS-XR-csd-oper-sub1.yang) +[Cisco-IOS-XR-csd-oper.yang](Cisco-IOS-XR-csd-oper.yang) +[Cisco-IOS-XR-dot1x-oper-sub1.yang](Cisco-IOS-XR-dot1x-oper-sub1.yang) +[Cisco-IOS-XR-dot1x-oper.yang](Cisco-IOS-XR-dot1x-oper.yang) +[Cisco-IOS-XR-dpa-port-mapper-oper-sub1.yang](Cisco-IOS-XR-dpa-port-mapper-oper-sub1.yang) +[Cisco-IOS-XR-dpa-port-mapper-oper.yang](Cisco-IOS-XR-dpa-port-mapper-oper.yang) +[Cisco-IOS-XR-drivers-media-eth-oper-sub1.yang](Cisco-IOS-XR-drivers-media-eth-oper-sub1.yang) +[Cisco-IOS-XR-drivers-media-eth-oper.yang](Cisco-IOS-XR-drivers-media-eth-oper.yang) +[Cisco-IOS-XR-dwdm-ui-oper-sub1.yang](Cisco-IOS-XR-dwdm-ui-oper-sub1.yang) +[Cisco-IOS-XR-dwdm-ui-oper.yang](Cisco-IOS-XR-dwdm-ui-oper.yang) +[Cisco-IOS-XR-eigrp-oper-sub1.yang](Cisco-IOS-XR-eigrp-oper-sub1.yang) +[Cisco-IOS-XR-eigrp-oper.yang](Cisco-IOS-XR-eigrp-oper.yang) +[Cisco-IOS-XR-emon-oper-sub1.yang](Cisco-IOS-XR-emon-oper-sub1.yang) +[Cisco-IOS-XR-emon-oper.yang](Cisco-IOS-XR-emon-oper.yang) +[Cisco-IOS-XR-envmon-oper-sub1.yang](Cisco-IOS-XR-envmon-oper-sub1.yang) +[Cisco-IOS-XR-envmon-oper-sub2.yang](Cisco-IOS-XR-envmon-oper-sub2.yang) +[Cisco-IOS-XR-envmon-oper.yang](Cisco-IOS-XR-envmon-oper.yang) +[Cisco-IOS-XR-es-acl-oper-sub1.yang](Cisco-IOS-XR-es-acl-oper-sub1.yang) +[Cisco-IOS-XR-es-acl-oper.yang](Cisco-IOS-XR-es-acl-oper.yang) +[Cisco-IOS-XR-ethernet-cfm-oper-sub1.yang](Cisco-IOS-XR-ethernet-cfm-oper-sub1.yang) +[Cisco-IOS-XR-ethernet-cfm-oper-sub2.yang](Cisco-IOS-XR-ethernet-cfm-oper-sub2.yang) +[Cisco-IOS-XR-ethernet-cfm-oper-sub3.yang](Cisco-IOS-XR-ethernet-cfm-oper-sub3.yang) +[Cisco-IOS-XR-ethernet-cfm-oper-sub4.yang](Cisco-IOS-XR-ethernet-cfm-oper-sub4.yang) +[Cisco-IOS-XR-ethernet-cfm-oper.yang](Cisco-IOS-XR-ethernet-cfm-oper.yang) +[Cisco-IOS-XR-ethernet-link-oam-oper-sub1.yang](Cisco-IOS-XR-ethernet-link-oam-oper-sub1.yang) +[Cisco-IOS-XR-ethernet-link-oam-oper.yang](Cisco-IOS-XR-ethernet-link-oam-oper.yang) +[Cisco-IOS-XR-ethernet-lldp-oper-sub1.yang](Cisco-IOS-XR-ethernet-lldp-oper-sub1.yang) +[Cisco-IOS-XR-ethernet-lldp-oper-sub2.yang](Cisco-IOS-XR-ethernet-lldp-oper-sub2.yang) +[Cisco-IOS-XR-ethernet-lldp-oper.yang](Cisco-IOS-XR-ethernet-lldp-oper.yang) +[Cisco-IOS-XR-event-manager-policy-map-oper-sub1.yang](Cisco-IOS-XR-event-manager-policy-map-oper-sub1.yang) +[Cisco-IOS-XR-event-manager-policy-map-oper.yang](Cisco-IOS-XR-event-manager-policy-map-oper.yang) +[Cisco-IOS-XR-evpn-oper-sub1.yang](Cisco-IOS-XR-evpn-oper-sub1.yang) +[Cisco-IOS-XR-evpn-oper.yang](Cisco-IOS-XR-evpn-oper.yang) +[Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1.yang](Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1.yang) +[Cisco-IOS-XR-fabric-fgid-stats-8000-oper.yang](Cisco-IOS-XR-fabric-fgid-stats-8000-oper.yang) +[Cisco-IOS-XR-fabric-fsdb-server-oper-sub1.yang](Cisco-IOS-XR-fabric-fsdb-server-oper-sub1.yang) +[Cisco-IOS-XR-fabric-fsdb-server-oper.yang](Cisco-IOS-XR-fabric-fsdb-server-oper.yang) +[Cisco-IOS-XR-fabric-plane-health-oper-sub1.yang](Cisco-IOS-XR-fabric-plane-health-oper-sub1.yang) +[Cisco-IOS-XR-fabric-plane-health-oper.yang](Cisco-IOS-XR-fabric-plane-health-oper.yang) +[Cisco-IOS-XR-feature-agent-oper-sub1.yang](Cisco-IOS-XR-feature-agent-oper-sub1.yang) +[Cisco-IOS-XR-feature-agent-oper.yang](Cisco-IOS-XR-feature-agent-oper.yang) +[Cisco-IOS-XR-fib-common-oper-sub1.yang](Cisco-IOS-XR-fib-common-oper-sub1.yang) +[Cisco-IOS-XR-fib-common-oper-sub2.yang](Cisco-IOS-XR-fib-common-oper-sub2.yang) +[Cisco-IOS-XR-fib-common-oper-sub3.yang](Cisco-IOS-XR-fib-common-oper-sub3.yang) +[Cisco-IOS-XR-fib-common-oper-sub4.yang](Cisco-IOS-XR-fib-common-oper-sub4.yang) +[Cisco-IOS-XR-fib-common-oper-sub5.yang](Cisco-IOS-XR-fib-common-oper-sub5.yang) +[Cisco-IOS-XR-fib-common-oper-sub6.yang](Cisco-IOS-XR-fib-common-oper-sub6.yang) +[Cisco-IOS-XR-fib-common-oper-sub7.yang](Cisco-IOS-XR-fib-common-oper-sub7.yang) +[Cisco-IOS-XR-fib-common-oper.yang](Cisco-IOS-XR-fib-common-oper.yang) +[Cisco-IOS-XR-filesysinv-show-oper-sub1.yang](Cisco-IOS-XR-filesysinv-show-oper-sub1.yang) +[Cisco-IOS-XR-filesysinv-show-oper.yang](Cisco-IOS-XR-filesysinv-show-oper.yang) +[Cisco-IOS-XR-flow-oper-sub1.yang](Cisco-IOS-XR-flow-oper-sub1.yang) +[Cisco-IOS-XR-flow-oper-sub2.yang](Cisco-IOS-XR-flow-oper-sub2.yang) +[Cisco-IOS-XR-flow-oper.yang](Cisco-IOS-XR-flow-oper.yang) +[Cisco-IOS-XR-flowspec-oper-sub1.yang](Cisco-IOS-XR-flowspec-oper-sub1.yang) +[Cisco-IOS-XR-flowspec-oper.yang](Cisco-IOS-XR-flowspec-oper.yang) +[Cisco-IOS-XR-fpmgr-oper-sub1.yang](Cisco-IOS-XR-fpmgr-oper-sub1.yang) +[Cisco-IOS-XR-fpmgr-oper.yang](Cisco-IOS-XR-fpmgr-oper.yang) +[Cisco-IOS-XR-freqsync-oper-sub1.yang](Cisco-IOS-XR-freqsync-oper-sub1.yang) +[Cisco-IOS-XR-freqsync-oper.yang](Cisco-IOS-XR-freqsync-oper.yang) +[Cisco-IOS-XR-gnss-oper-sub1.yang](Cisco-IOS-XR-gnss-oper-sub1.yang) +[Cisco-IOS-XR-gnss-oper.yang](Cisco-IOS-XR-gnss-oper.yang) +[Cisco-IOS-XR-ha-eem-policy-oper-sub1.yang](Cisco-IOS-XR-ha-eem-policy-oper-sub1.yang) +[Cisco-IOS-XR-ha-eem-policy-oper.yang](Cisco-IOS-XR-ha-eem-policy-oper.yang) +[Cisco-IOS-XR-healthcheck-oper-sub1.yang](Cisco-IOS-XR-healthcheck-oper-sub1.yang) +[Cisco-IOS-XR-healthcheck-oper-sub2.yang](Cisco-IOS-XR-healthcheck-oper-sub2.yang) +[Cisco-IOS-XR-healthcheck-oper.yang](Cisco-IOS-XR-healthcheck-oper.yang) +[Cisco-IOS-XR-ifmgr-oper-sub1.yang](Cisco-IOS-XR-ifmgr-oper-sub1.yang) +[Cisco-IOS-XR-ifmgr-oper-sub2.yang](Cisco-IOS-XR-ifmgr-oper-sub2.yang) +[Cisco-IOS-XR-ifmgr-oper.yang](Cisco-IOS-XR-ifmgr-oper.yang) +[Cisco-IOS-XR-igmp-oper-sub1.yang](Cisco-IOS-XR-igmp-oper-sub1.yang) +[Cisco-IOS-XR-igmp-oper.yang](Cisco-IOS-XR-igmp-oper.yang) +[Cisco-IOS-XR-igp-topodb-oper-sub1.yang](Cisco-IOS-XR-igp-topodb-oper-sub1.yang) +[Cisco-IOS-XR-igp-topodb-oper.yang](Cisco-IOS-XR-igp-topodb-oper.yang) +[Cisco-IOS-XR-infra-alarm-logger-oper-sub1.yang](Cisco-IOS-XR-infra-alarm-logger-oper-sub1.yang) +[Cisco-IOS-XR-infra-alarm-logger-oper.yang](Cisco-IOS-XR-infra-alarm-logger-oper.yang) +[Cisco-IOS-XR-infra-correlator-oper-sub1.yang](Cisco-IOS-XR-infra-correlator-oper-sub1.yang) +[Cisco-IOS-XR-infra-correlator-oper.yang](Cisco-IOS-XR-infra-correlator-oper.yang) +[Cisco-IOS-XR-infra-objmgr-oper-sub1.yang](Cisco-IOS-XR-infra-objmgr-oper-sub1.yang) +[Cisco-IOS-XR-infra-objmgr-oper.yang](Cisco-IOS-XR-infra-objmgr-oper.yang) +[Cisco-IOS-XR-infra-policymgr-oper.yang](Cisco-IOS-XR-infra-policymgr-oper.yang) +[Cisco-IOS-XR-infra-rmf-oper-sub1.yang](Cisco-IOS-XR-infra-rmf-oper-sub1.yang) +[Cisco-IOS-XR-infra-rmf-oper.yang](Cisco-IOS-XR-infra-rmf-oper.yang) +[Cisco-IOS-XR-infra-rsi-oper-sub1.yang](Cisco-IOS-XR-infra-rsi-oper-sub1.yang) +[Cisco-IOS-XR-infra-rsi-oper-sub2.yang](Cisco-IOS-XR-infra-rsi-oper-sub2.yang) +[Cisco-IOS-XR-infra-rsi-oper.yang](Cisco-IOS-XR-infra-rsi-oper.yang) +[Cisco-IOS-XR-infra-script-mgmt-oper-sub1.yang](Cisco-IOS-XR-infra-script-mgmt-oper-sub1.yang) +[Cisco-IOS-XR-infra-script-mgmt-oper.yang](Cisco-IOS-XR-infra-script-mgmt-oper.yang) +[Cisco-IOS-XR-infra-sla-oper.yang](Cisco-IOS-XR-infra-sla-oper.yang) +[Cisco-IOS-XR-infra-smartlicense-oper-sub1.yang](Cisco-IOS-XR-infra-smartlicense-oper-sub1.yang) +[Cisco-IOS-XR-infra-smartlicense-oper.yang](Cisco-IOS-XR-infra-smartlicense-oper.yang) +[Cisco-IOS-XR-infra-statsd-oper-sub1.yang](Cisco-IOS-XR-infra-statsd-oper-sub1.yang) +[Cisco-IOS-XR-infra-statsd-oper.yang](Cisco-IOS-XR-infra-statsd-oper.yang) +[Cisco-IOS-XR-infra-syslog-oper-sub1.yang](Cisco-IOS-XR-infra-syslog-oper-sub1.yang) +[Cisco-IOS-XR-infra-syslog-oper.yang](Cisco-IOS-XR-infra-syslog-oper.yang) +[Cisco-IOS-XR-infra-tc-oper-sub1.yang](Cisco-IOS-XR-infra-tc-oper-sub1.yang) +[Cisco-IOS-XR-infra-tc-oper.yang](Cisco-IOS-XR-infra-tc-oper.yang) +[Cisco-IOS-XR-infra-xtc-agent-oper-sub1.yang](Cisco-IOS-XR-infra-xtc-agent-oper-sub1.yang) +[Cisco-IOS-XR-infra-xtc-agent-oper-sub2.yang](Cisco-IOS-XR-infra-xtc-agent-oper-sub2.yang) +[Cisco-IOS-XR-infra-xtc-agent-oper-sub3.yang](Cisco-IOS-XR-infra-xtc-agent-oper-sub3.yang) +[Cisco-IOS-XR-infra-xtc-agent-oper.yang](Cisco-IOS-XR-infra-xtc-agent-oper.yang) +[Cisco-IOS-XR-infra-xtc-oper-sub1.yang](Cisco-IOS-XR-infra-xtc-oper-sub1.yang) +[Cisco-IOS-XR-infra-xtc-oper.yang](Cisco-IOS-XR-infra-xtc-oper.yang) +[Cisco-IOS-XR-install-augmented-oper-sub1.yang](Cisco-IOS-XR-install-augmented-oper-sub1.yang) +[Cisco-IOS-XR-install-augmented-oper-sub2.yang](Cisco-IOS-XR-install-augmented-oper-sub2.yang) +[Cisco-IOS-XR-install-augmented-oper.yang](Cisco-IOS-XR-install-augmented-oper.yang) +[Cisco-IOS-XR-install-oper-sub1.yang](Cisco-IOS-XR-install-oper-sub1.yang) +[Cisco-IOS-XR-install-oper.yang](Cisco-IOS-XR-install-oper.yang) +[Cisco-IOS-XR-invmgr-diag-oper-sub1.yang](Cisco-IOS-XR-invmgr-diag-oper-sub1.yang) +[Cisco-IOS-XR-invmgr-diag-oper.yang](Cisco-IOS-XR-invmgr-diag-oper.yang) +[Cisco-IOS-XR-invmgr-oper-sub1.yang](Cisco-IOS-XR-invmgr-oper-sub1.yang) +[Cisco-IOS-XR-invmgr-oper-sub2.yang](Cisco-IOS-XR-invmgr-oper-sub2.yang) +[Cisco-IOS-XR-invmgr-oper-sub3.yang](Cisco-IOS-XR-invmgr-oper-sub3.yang) +[Cisco-IOS-XR-invmgr-oper-sub4.yang](Cisco-IOS-XR-invmgr-oper-sub4.yang) +[Cisco-IOS-XR-invmgr-oper.yang](Cisco-IOS-XR-invmgr-oper.yang) +[Cisco-IOS-XR-ip-bfd-oper-sub1.yang](Cisco-IOS-XR-ip-bfd-oper-sub1.yang) +[Cisco-IOS-XR-ip-bfd-oper.yang](Cisco-IOS-XR-ip-bfd-oper.yang) +[Cisco-IOS-XR-ip-daps-oper-sub1.yang](Cisco-IOS-XR-ip-daps-oper-sub1.yang) +[Cisco-IOS-XR-ip-daps-oper.yang](Cisco-IOS-XR-ip-daps-oper.yang) +[Cisco-IOS-XR-ip-domain-oper-sub1.yang](Cisco-IOS-XR-ip-domain-oper-sub1.yang) +[Cisco-IOS-XR-ip-domain-oper.yang](Cisco-IOS-XR-ip-domain-oper.yang) +[Cisco-IOS-XR-ip-iarm-v4-oper-sub1.yang](Cisco-IOS-XR-ip-iarm-v4-oper-sub1.yang) +[Cisco-IOS-XR-ip-iarm-v4-oper.yang](Cisco-IOS-XR-ip-iarm-v4-oper.yang) +[Cisco-IOS-XR-ip-iarm-v6-oper-sub1.yang](Cisco-IOS-XR-ip-iarm-v6-oper-sub1.yang) +[Cisco-IOS-XR-ip-iarm-v6-oper.yang](Cisco-IOS-XR-ip-iarm-v6-oper.yang) +[Cisco-IOS-XR-ip-iep-oper-sub1.yang](Cisco-IOS-XR-ip-iep-oper-sub1.yang) +[Cisco-IOS-XR-ip-iep-oper.yang](Cisco-IOS-XR-ip-iep-oper.yang) +[Cisco-IOS-XR-ip-ntp-admin-oper-sub1.yang](Cisco-IOS-XR-ip-ntp-admin-oper-sub1.yang) +[Cisco-IOS-XR-ip-ntp-admin-oper.yang](Cisco-IOS-XR-ip-ntp-admin-oper.yang) +[Cisco-IOS-XR-ip-ntp-oper-sub1.yang](Cisco-IOS-XR-ip-ntp-oper-sub1.yang) +[Cisco-IOS-XR-ip-ntp-oper.yang](Cisco-IOS-XR-ip-ntp-oper.yang) +[Cisco-IOS-XR-ip-pfilter-oper-sub1.yang](Cisco-IOS-XR-ip-pfilter-oper-sub1.yang) +[Cisco-IOS-XR-ip-pfilter-oper.yang](Cisco-IOS-XR-ip-pfilter-oper.yang) +[Cisco-IOS-XR-ip-rib-ipv4-oper-sub1.yang](Cisco-IOS-XR-ip-rib-ipv4-oper-sub1.yang) +[Cisco-IOS-XR-ip-rib-ipv4-oper.yang](Cisco-IOS-XR-ip-rib-ipv4-oper.yang) +[Cisco-IOS-XR-ip-rib-ipv6-oper-sub1.yang](Cisco-IOS-XR-ip-rib-ipv6-oper-sub1.yang) +[Cisco-IOS-XR-ip-rib-ipv6-oper-sub2.yang](Cisco-IOS-XR-ip-rib-ipv6-oper-sub2.yang) +[Cisco-IOS-XR-ip-rib-ipv6-oper.yang](Cisco-IOS-XR-ip-rib-ipv6-oper.yang) +[Cisco-IOS-XR-ip-rip-oper-sub1.yang](Cisco-IOS-XR-ip-rip-oper-sub1.yang) +[Cisco-IOS-XR-ip-rip-oper.yang](Cisco-IOS-XR-ip-rip-oper.yang) +[Cisco-IOS-XR-ip-rsvp-oper-sub1.yang](Cisco-IOS-XR-ip-rsvp-oper-sub1.yang) +[Cisco-IOS-XR-ip-rsvp-oper.yang](Cisco-IOS-XR-ip-rsvp-oper.yang) +[Cisco-IOS-XR-ip-sbfd-oper-sub1.yang](Cisco-IOS-XR-ip-sbfd-oper-sub1.yang) +[Cisco-IOS-XR-ip-sbfd-oper.yang](Cisco-IOS-XR-ip-sbfd-oper.yang) +[Cisco-IOS-XR-ip-static-ipv4-oper-sub1.yang](Cisco-IOS-XR-ip-static-ipv4-oper-sub1.yang) +[Cisco-IOS-XR-ip-static-ipv4-oper.yang](Cisco-IOS-XR-ip-static-ipv4-oper.yang) +[Cisco-IOS-XR-ip-static-ipv6-oper-sub1.yang](Cisco-IOS-XR-ip-static-ipv6-oper-sub1.yang) +[Cisco-IOS-XR-ip-static-ipv6-oper.yang](Cisco-IOS-XR-ip-static-ipv6-oper.yang) +[Cisco-IOS-XR-ip-tcp-oper-sub1.yang](Cisco-IOS-XR-ip-tcp-oper-sub1.yang) +[Cisco-IOS-XR-ip-tcp-oper-sub2.yang](Cisco-IOS-XR-ip-tcp-oper-sub2.yang) +[Cisco-IOS-XR-ip-tcp-oper-sub3.yang](Cisco-IOS-XR-ip-tcp-oper-sub3.yang) +[Cisco-IOS-XR-ip-tcp-oper-sub4.yang](Cisco-IOS-XR-ip-tcp-oper-sub4.yang) +[Cisco-IOS-XR-ip-tcp-oper-sub5.yang](Cisco-IOS-XR-ip-tcp-oper-sub5.yang) +[Cisco-IOS-XR-ip-tcp-oper.yang](Cisco-IOS-XR-ip-tcp-oper.yang) +[Cisco-IOS-XR-ip-udp-oper-sub1.yang](Cisco-IOS-XR-ip-udp-oper-sub1.yang) +[Cisco-IOS-XR-ip-udp-oper-sub2.yang](Cisco-IOS-XR-ip-udp-oper-sub2.yang) +[Cisco-IOS-XR-ip-udp-oper-sub3.yang](Cisco-IOS-XR-ip-udp-oper-sub3.yang) +[Cisco-IOS-XR-ip-udp-oper-sub4.yang](Cisco-IOS-XR-ip-udp-oper-sub4.yang) +[Cisco-IOS-XR-ip-udp-oper.yang](Cisco-IOS-XR-ip-udp-oper.yang) +[Cisco-IOS-XR-ipv4-acl-oper-sub1.yang](Cisco-IOS-XR-ipv4-acl-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-acl-oper.yang](Cisco-IOS-XR-ipv4-acl-oper.yang) +[Cisco-IOS-XR-ipv4-arp-oper-sub1.yang](Cisco-IOS-XR-ipv4-arp-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-arp-oper-sub2.yang](Cisco-IOS-XR-ipv4-arp-oper-sub2.yang) +[Cisco-IOS-XR-ipv4-arp-oper-sub3.yang](Cisco-IOS-XR-ipv4-arp-oper-sub3.yang) +[Cisco-IOS-XR-ipv4-arp-oper.yang](Cisco-IOS-XR-ipv4-arp-oper.yang) +[Cisco-IOS-XR-ipv4-autorp-oper-sub1.yang](Cisco-IOS-XR-ipv4-autorp-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-autorp-oper-sub2.yang](Cisco-IOS-XR-ipv4-autorp-oper-sub2.yang) +[Cisco-IOS-XR-ipv4-autorp-oper.yang](Cisco-IOS-XR-ipv4-autorp-oper.yang) +[Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1.yang](Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-bgp-oc-oper.yang](Cisco-IOS-XR-ipv4-bgp-oc-oper.yang) +[Cisco-IOS-XR-ipv4-bgp-oper-sub1.yang](Cisco-IOS-XR-ipv4-bgp-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-bgp-oper.yang](Cisco-IOS-XR-ipv4-bgp-oper.yang) +[Cisco-IOS-XR-ipv4-dhcpd-oper-sub1.yang](Cisco-IOS-XR-ipv4-dhcpd-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-dhcpd-oper-sub2.yang](Cisco-IOS-XR-ipv4-dhcpd-oper-sub2.yang) +[Cisco-IOS-XR-ipv4-dhcpd-oper.yang](Cisco-IOS-XR-ipv4-dhcpd-oper.yang) +[Cisco-IOS-XR-ipv4-hsrp-oper-sub1.yang](Cisco-IOS-XR-ipv4-hsrp-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-hsrp-oper.yang](Cisco-IOS-XR-ipv4-hsrp-oper.yang) +[Cisco-IOS-XR-ipv4-igmp-oper-sub1.yang](Cisco-IOS-XR-ipv4-igmp-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-igmp-oper.yang](Cisco-IOS-XR-ipv4-igmp-oper.yang) +[Cisco-IOS-XR-ipv4-io-oper-sub1.yang](Cisco-IOS-XR-ipv4-io-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-io-oper-sub2.yang](Cisco-IOS-XR-ipv4-io-oper-sub2.yang) +[Cisco-IOS-XR-ipv4-io-oper.yang](Cisco-IOS-XR-ipv4-io-oper.yang) +[Cisco-IOS-XR-ipv4-ma-oper-sub1.yang](Cisco-IOS-XR-ipv4-ma-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-ma-oper.yang](Cisco-IOS-XR-ipv4-ma-oper.yang) +[Cisco-IOS-XR-ipv4-ospf-oper-sub1.yang](Cisco-IOS-XR-ipv4-ospf-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-ospf-oper-sub2.yang](Cisco-IOS-XR-ipv4-ospf-oper-sub2.yang) +[Cisco-IOS-XR-ipv4-ospf-oper-sub3.yang](Cisco-IOS-XR-ipv4-ospf-oper-sub3.yang) +[Cisco-IOS-XR-ipv4-ospf-oper.yang](Cisco-IOS-XR-ipv4-ospf-oper.yang) +[Cisco-IOS-XR-ipv4-pim-oper-sub1.yang](Cisco-IOS-XR-ipv4-pim-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-pim-oper-sub2.yang](Cisco-IOS-XR-ipv4-pim-oper-sub2.yang) +[Cisco-IOS-XR-ipv4-pim-oper.yang](Cisco-IOS-XR-ipv4-pim-oper.yang) +[Cisco-IOS-XR-ipv4-smiap-oper-sub1.yang](Cisco-IOS-XR-ipv4-smiap-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-smiap-oper.yang](Cisco-IOS-XR-ipv4-smiap-oper.yang) +[Cisco-IOS-XR-ipv4-vrrp-oper-sub1.yang](Cisco-IOS-XR-ipv4-vrrp-oper-sub1.yang) +[Cisco-IOS-XR-ipv4-vrrp-oper.yang](Cisco-IOS-XR-ipv4-vrrp-oper.yang) +[Cisco-IOS-XR-ipv6-acl-oper-sub1.yang](Cisco-IOS-XR-ipv6-acl-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-acl-oper.yang](Cisco-IOS-XR-ipv6-acl-oper.yang) +[Cisco-IOS-XR-ipv6-io-oper-sub1.yang](Cisco-IOS-XR-ipv6-io-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-io-oper.yang](Cisco-IOS-XR-ipv6-io-oper.yang) +[Cisco-IOS-XR-ipv6-ma-oper-sub1.yang](Cisco-IOS-XR-ipv6-ma-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-ma-oper.yang](Cisco-IOS-XR-ipv6-ma-oper.yang) +[Cisco-IOS-XR-ipv6-nd-oper-sub1.yang](Cisco-IOS-XR-ipv6-nd-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-nd-oper.yang](Cisco-IOS-XR-ipv6-nd-oper.yang) +[Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1.yang](Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper.yang](Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper.yang) +[Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1.yang](Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-new-dhcpv6d-oper.yang](Cisco-IOS-XR-ipv6-new-dhcpv6d-oper.yang) +[Cisco-IOS-XR-ipv6-ospfv3-oper-sub1.yang](Cisco-IOS-XR-ipv6-ospfv3-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-ospfv3-oper.yang](Cisco-IOS-XR-ipv6-ospfv3-oper.yang) +[Cisco-IOS-XR-ipv6-smiap-oper-sub1.yang](Cisco-IOS-XR-ipv6-smiap-oper-sub1.yang) +[Cisco-IOS-XR-ipv6-smiap-oper.yang](Cisco-IOS-XR-ipv6-smiap-oper.yang) +[Cisco-IOS-XR-l2-eth-infra-oper-sub1.yang](Cisco-IOS-XR-l2-eth-infra-oper-sub1.yang) +[Cisco-IOS-XR-l2-eth-infra-oper-sub2.yang](Cisco-IOS-XR-l2-eth-infra-oper-sub2.yang) +[Cisco-IOS-XR-l2-eth-infra-oper-sub3.yang](Cisco-IOS-XR-l2-eth-infra-oper-sub3.yang) +[Cisco-IOS-XR-l2-eth-infra-oper.yang](Cisco-IOS-XR-l2-eth-infra-oper.yang) +[Cisco-IOS-XR-l2rib-oper-sub1.yang](Cisco-IOS-XR-l2rib-oper-sub1.yang) +[Cisco-IOS-XR-l2rib-oper.yang](Cisco-IOS-XR-l2rib-oper.yang) +[Cisco-IOS-XR-l2vpn-oper-sub1.yang](Cisco-IOS-XR-l2vpn-oper-sub1.yang) +[Cisco-IOS-XR-l2vpn-oper-sub2.yang](Cisco-IOS-XR-l2vpn-oper-sub2.yang) +[Cisco-IOS-XR-l2vpn-oper-sub3.yang](Cisco-IOS-XR-l2vpn-oper-sub3.yang) +[Cisco-IOS-XR-l2vpn-oper-sub4.yang](Cisco-IOS-XR-l2vpn-oper-sub4.yang) +[Cisco-IOS-XR-l2vpn-oper.yang](Cisco-IOS-XR-l2vpn-oper.yang) +[Cisco-IOS-XR-ledmgr-oper-sub1.yang](Cisco-IOS-XR-ledmgr-oper-sub1.yang) +[Cisco-IOS-XR-ledmgr-oper.yang](Cisco-IOS-XR-ledmgr-oper.yang) +[Cisco-IOS-XR-lib-keychain-oper-sub1.yang](Cisco-IOS-XR-lib-keychain-oper-sub1.yang) +[Cisco-IOS-XR-lib-keychain-oper.yang](Cisco-IOS-XR-lib-keychain-oper.yang) +[Cisco-IOS-XR-lib-mpp-oper-sub1.yang](Cisco-IOS-XR-lib-mpp-oper-sub1.yang) +[Cisco-IOS-XR-lib-mpp-oper.yang](Cisco-IOS-XR-lib-mpp-oper.yang) +[Cisco-IOS-XR-lib-type6-server-oper-sub1.yang](Cisco-IOS-XR-lib-type6-server-oper-sub1.yang) +[Cisco-IOS-XR-lib-type6-server-oper.yang](Cisco-IOS-XR-lib-type6-server-oper.yang) +[Cisco-IOS-XR-linux-os-heap-summary-oper-sub1.yang](Cisco-IOS-XR-linux-os-heap-summary-oper-sub1.yang) +[Cisco-IOS-XR-linux-os-heap-summary-oper.yang](Cisco-IOS-XR-linux-os-heap-summary-oper.yang) +[Cisco-IOS-XR-linux-os-reboot-history-oper-sub1.yang](Cisco-IOS-XR-linux-os-reboot-history-oper-sub1.yang) +[Cisco-IOS-XR-linux-os-reboot-history-oper.yang](Cisco-IOS-XR-linux-os-reboot-history-oper.yang) +[Cisco-IOS-XR-linux-security-showenc-oper-sub1.yang](Cisco-IOS-XR-linux-security-showenc-oper-sub1.yang) +[Cisco-IOS-XR-linux-security-showenc-oper.yang](Cisco-IOS-XR-linux-security-showenc-oper.yang) +[Cisco-IOS-XR-linux-xlnc-oper-sub1.yang](Cisco-IOS-XR-linux-xlnc-oper-sub1.yang) +[Cisco-IOS-XR-linux-xlnc-oper.yang](Cisco-IOS-XR-linux-xlnc-oper.yang) +[Cisco-IOS-XR-lmp-oper-sub1.yang](Cisco-IOS-XR-lmp-oper-sub1.yang) +[Cisco-IOS-XR-lmp-oper.yang](Cisco-IOS-XR-lmp-oper.yang) +[Cisco-IOS-XR-lpts-ifib-oper-sub1.yang](Cisco-IOS-XR-lpts-ifib-oper-sub1.yang) +[Cisco-IOS-XR-lpts-ifib-oper.yang](Cisco-IOS-XR-lpts-ifib-oper.yang) +[Cisco-IOS-XR-lpts-pa-oper-sub1.yang](Cisco-IOS-XR-lpts-pa-oper-sub1.yang) +[Cisco-IOS-XR-lpts-pa-oper.yang](Cisco-IOS-XR-lpts-pa-oper.yang) +[Cisco-IOS-XR-lpts-pre-ifib-oper-sub1.yang](Cisco-IOS-XR-lpts-pre-ifib-oper-sub1.yang) +[Cisco-IOS-XR-lpts-pre-ifib-oper.yang](Cisco-IOS-XR-lpts-pre-ifib-oper.yang) +[Cisco-IOS-XR-mab-oper-sub1.yang](Cisco-IOS-XR-mab-oper-sub1.yang) +[Cisco-IOS-XR-mab-oper.yang](Cisco-IOS-XR-mab-oper.yang) +[Cisco-IOS-XR-man-ems-oper-sub1.yang](Cisco-IOS-XR-man-ems-oper-sub1.yang) +[Cisco-IOS-XR-man-ems-oper.yang](Cisco-IOS-XR-man-ems-oper.yang) +[Cisco-IOS-XR-man-ipsla-oper-sub1.yang](Cisco-IOS-XR-man-ipsla-oper-sub1.yang) +[Cisco-IOS-XR-man-ipsla-oper-sub2.yang](Cisco-IOS-XR-man-ipsla-oper-sub2.yang) +[Cisco-IOS-XR-man-ipsla-oper-sub3.yang](Cisco-IOS-XR-man-ipsla-oper-sub3.yang) +[Cisco-IOS-XR-man-ipsla-oper.yang](Cisco-IOS-XR-man-ipsla-oper.yang) +[Cisco-IOS-XR-man-netconf-oper-sub1.yang](Cisco-IOS-XR-man-netconf-oper-sub1.yang) +[Cisco-IOS-XR-man-netconf-oper.yang](Cisco-IOS-XR-man-netconf-oper.yang) +[Cisco-IOS-XR-man-xml-ttyagent-oper-sub1.yang](Cisco-IOS-XR-man-xml-ttyagent-oper-sub1.yang) +[Cisco-IOS-XR-man-xml-ttyagent-oper.yang](Cisco-IOS-XR-man-xml-ttyagent-oper.yang) +[Cisco-IOS-XR-manageability-object-tracking-oper-sub1.yang](Cisco-IOS-XR-manageability-object-tracking-oper-sub1.yang) +[Cisco-IOS-XR-manageability-object-tracking-oper.yang](Cisco-IOS-XR-manageability-object-tracking-oper.yang) +[Cisco-IOS-XR-manageability-perfmgmt-oper-sub1.yang](Cisco-IOS-XR-manageability-perfmgmt-oper-sub1.yang) +[Cisco-IOS-XR-manageability-perfmgmt-oper.yang](Cisco-IOS-XR-manageability-perfmgmt-oper.yang) +[Cisco-IOS-XR-mediasvr-linux-oper-sub1.yang](Cisco-IOS-XR-mediasvr-linux-oper-sub1.yang) +[Cisco-IOS-XR-mediasvr-linux-oper.yang](Cisco-IOS-XR-mediasvr-linux-oper.yang) +[Cisco-IOS-XR-mfwd-oper-sub1.yang](Cisco-IOS-XR-mfwd-oper-sub1.yang) +[Cisco-IOS-XR-mfwd-oper-sub2.yang](Cisco-IOS-XR-mfwd-oper-sub2.yang) +[Cisco-IOS-XR-mfwd-oper.yang](Cisco-IOS-XR-mfwd-oper.yang) +[Cisco-IOS-XR-mirror-oper-sub1.yang](Cisco-IOS-XR-mirror-oper-sub1.yang) +[Cisco-IOS-XR-mirror-oper.yang](Cisco-IOS-XR-mirror-oper.yang) +[Cisco-IOS-XR-mld-oper-sub1.yang](Cisco-IOS-XR-mld-oper-sub1.yang) +[Cisco-IOS-XR-mld-oper.yang](Cisco-IOS-XR-mld-oper.yang) +[Cisco-IOS-XR-mpls-io-oper-sub1.yang](Cisco-IOS-XR-mpls-io-oper-sub1.yang) +[Cisco-IOS-XR-mpls-io-oper.yang](Cisco-IOS-XR-mpls-io-oper.yang) +[Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1.yang](Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1.yang) +[Cisco-IOS-XR-mpls-ldp-mldp-oper.yang](Cisco-IOS-XR-mpls-ldp-mldp-oper.yang) +[Cisco-IOS-XR-mpls-ldp-oper-sub1.yang](Cisco-IOS-XR-mpls-ldp-oper-sub1.yang) +[Cisco-IOS-XR-mpls-ldp-oper-sub2.yang](Cisco-IOS-XR-mpls-ldp-oper-sub2.yang) +[Cisco-IOS-XR-mpls-ldp-oper-sub3.yang](Cisco-IOS-XR-mpls-ldp-oper-sub3.yang) +[Cisco-IOS-XR-mpls-ldp-oper.yang](Cisco-IOS-XR-mpls-ldp-oper.yang) +[Cisco-IOS-XR-mpls-lsd-oper-sub1.yang](Cisco-IOS-XR-mpls-lsd-oper-sub1.yang) +[Cisco-IOS-XR-mpls-lsd-oper.yang](Cisco-IOS-XR-mpls-lsd-oper.yang) +[Cisco-IOS-XR-mpls-oam-oper-sub1.yang](Cisco-IOS-XR-mpls-oam-oper-sub1.yang) +[Cisco-IOS-XR-mpls-oam-oper-sub2.yang](Cisco-IOS-XR-mpls-oam-oper-sub2.yang) +[Cisco-IOS-XR-mpls-oam-oper.yang](Cisco-IOS-XR-mpls-oam-oper.yang) +[Cisco-IOS-XR-mpls-static-oper-sub1.yang](Cisco-IOS-XR-mpls-static-oper-sub1.yang) +[Cisco-IOS-XR-mpls-static-oper.yang](Cisco-IOS-XR-mpls-static-oper.yang) +[Cisco-IOS-XR-mpls-te-oper-sub1.yang](Cisco-IOS-XR-mpls-te-oper-sub1.yang) +[Cisco-IOS-XR-mpls-te-oper-sub2.yang](Cisco-IOS-XR-mpls-te-oper-sub2.yang) +[Cisco-IOS-XR-mpls-te-oper-sub3.yang](Cisco-IOS-XR-mpls-te-oper-sub3.yang) +[Cisco-IOS-XR-mpls-te-oper-sub4.yang](Cisco-IOS-XR-mpls-te-oper-sub4.yang) +[Cisco-IOS-XR-mpls-te-oper-sub5.yang](Cisco-IOS-XR-mpls-te-oper-sub5.yang) +[Cisco-IOS-XR-mpls-te-oper-sub6.yang](Cisco-IOS-XR-mpls-te-oper-sub6.yang) +[Cisco-IOS-XR-mpls-te-oper-sub7.yang](Cisco-IOS-XR-mpls-te-oper-sub7.yang) +[Cisco-IOS-XR-mpls-te-oper-sub8.yang](Cisco-IOS-XR-mpls-te-oper-sub8.yang) +[Cisco-IOS-XR-mpls-te-oper-sub9.yang](Cisco-IOS-XR-mpls-te-oper-sub9.yang) +[Cisco-IOS-XR-mpls-te-oper.yang](Cisco-IOS-XR-mpls-te-oper.yang) +[Cisco-IOS-XR-mpls-vpn-oper-sub1.yang](Cisco-IOS-XR-mpls-vpn-oper-sub1.yang) +[Cisco-IOS-XR-mpls-vpn-oper.yang](Cisco-IOS-XR-mpls-vpn-oper.yang) +[Cisco-IOS-XR-mrib-oper-sub1.yang](Cisco-IOS-XR-mrib-oper-sub1.yang) +[Cisco-IOS-XR-mrib-oper.yang](Cisco-IOS-XR-mrib-oper.yang) +[Cisco-IOS-XR-msdp-oper-sub1.yang](Cisco-IOS-XR-msdp-oper-sub1.yang) +[Cisco-IOS-XR-msdp-oper.yang](Cisco-IOS-XR-msdp-oper.yang) +[Cisco-IOS-XR-mvpn-oper-sub1.yang](Cisco-IOS-XR-mvpn-oper-sub1.yang) +[Cisco-IOS-XR-mvpn-oper.yang](Cisco-IOS-XR-mvpn-oper.yang) +[Cisco-IOS-XR-ncs-grid-svr-oper-sub1.yang](Cisco-IOS-XR-ncs-grid-svr-oper-sub1.yang) +[Cisco-IOS-XR-ncs-grid-svr-oper.yang](Cisco-IOS-XR-ncs-grid-svr-oper.yang) +[Cisco-IOS-XR-npu-fsdb-stats-oper-sub1.yang](Cisco-IOS-XR-npu-fsdb-stats-oper-sub1.yang) +[Cisco-IOS-XR-npu-fsdb-stats-oper.yang](Cisco-IOS-XR-npu-fsdb-stats-oper.yang) +[Cisco-IOS-XR-nto-misc-oper-sub1.yang](Cisco-IOS-XR-nto-misc-oper-sub1.yang) +[Cisco-IOS-XR-nto-misc-oper.yang](Cisco-IOS-XR-nto-misc-oper.yang) +[Cisco-IOS-XR-ofa-netflow-oper-sub1.yang](Cisco-IOS-XR-ofa-netflow-oper-sub1.yang) +[Cisco-IOS-XR-ofa-netflow-oper-sub2.yang](Cisco-IOS-XR-ofa-netflow-oper-sub2.yang) +[Cisco-IOS-XR-ofa-netflow-oper.yang](Cisco-IOS-XR-ofa-netflow-oper.yang) +[Cisco-IOS-XR-ofa-npu-pfc-oper-sub1.yang](Cisco-IOS-XR-ofa-npu-pfc-oper-sub1.yang) +[Cisco-IOS-XR-ofa-npu-pfc-oper.yang](Cisco-IOS-XR-ofa-npu-pfc-oper.yang) +[Cisco-IOS-XR-ofa-npu-qos-oper-sub1.yang](Cisco-IOS-XR-ofa-npu-qos-oper-sub1.yang) +[Cisco-IOS-XR-ofa-npu-qos-oper.yang](Cisco-IOS-XR-ofa-npu-qos-oper.yang) +[Cisco-IOS-XR-ofa-npu-stats-oper-sub1.yang](Cisco-IOS-XR-ofa-npu-stats-oper-sub1.yang) +[Cisco-IOS-XR-ofa-npu-stats-oper.yang](Cisco-IOS-XR-ofa-npu-stats-oper.yang) +[Cisco-IOS-XR-orrspf-oper-sub1.yang](Cisco-IOS-XR-orrspf-oper-sub1.yang) +[Cisco-IOS-XR-orrspf-oper.yang](Cisco-IOS-XR-orrspf-oper.yang) +[Cisco-IOS-XR-ownership-oper-sub1.yang](Cisco-IOS-XR-ownership-oper-sub1.yang) +[Cisco-IOS-XR-ownership-oper.yang](Cisco-IOS-XR-ownership-oper.yang) +[Cisco-IOS-XR-pbr-oper-sub1.yang](Cisco-IOS-XR-pbr-oper-sub1.yang) +[Cisco-IOS-XR-pbr-oper.yang](Cisco-IOS-XR-pbr-oper.yang) +[Cisco-IOS-XR-perf-meas-oper-sub1.yang](Cisco-IOS-XR-perf-meas-oper-sub1.yang) +[Cisco-IOS-XR-perf-meas-oper-sub2.yang](Cisco-IOS-XR-perf-meas-oper-sub2.yang) +[Cisco-IOS-XR-perf-meas-oper.yang](Cisco-IOS-XR-perf-meas-oper.yang) +[Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1.yang](Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1.yang) +[Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper.yang](Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper.yang) +[Cisco-IOS-XR-pfi-im-cmd-oper-sub1.yang](Cisco-IOS-XR-pfi-im-cmd-oper-sub1.yang) +[Cisco-IOS-XR-pfi-im-cmd-oper-sub2.yang](Cisco-IOS-XR-pfi-im-cmd-oper-sub2.yang) +[Cisco-IOS-XR-pfi-im-cmd-oper.yang](Cisco-IOS-XR-pfi-im-cmd-oper.yang) +[Cisco-IOS-XR-pim-oper-sub1.yang](Cisco-IOS-XR-pim-oper-sub1.yang) +[Cisco-IOS-XR-pim-oper-sub2.yang](Cisco-IOS-XR-pim-oper-sub2.yang) +[Cisco-IOS-XR-pim-oper.yang](Cisco-IOS-XR-pim-oper.yang) +[Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1.yang](Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1.yang) +[Cisco-IOS-XR-plat-chas-invmgr-ng-oper.yang](Cisco-IOS-XR-plat-chas-invmgr-ng-oper.yang) +[Cisco-IOS-XR-platform-event-history-oper-sub1.yang](Cisco-IOS-XR-platform-event-history-oper-sub1.yang) +[Cisco-IOS-XR-platform-event-history-oper.yang](Cisco-IOS-XR-platform-event-history-oper.yang) +[Cisco-IOS-XR-platform-oir-history-oper-sub1.yang](Cisco-IOS-XR-platform-oir-history-oper-sub1.yang) +[Cisco-IOS-XR-platform-oir-history-oper.yang](Cisco-IOS-XR-platform-oir-history-oper.yang) +[Cisco-IOS-XR-platform-oper-sub1.yang](Cisco-IOS-XR-platform-oper-sub1.yang) +[Cisco-IOS-XR-platform-oper.yang](Cisco-IOS-XR-platform-oper.yang) +[Cisco-IOS-XR-platforms-ofa-oper.yang](Cisco-IOS-XR-platforms-ofa-oper.yang) +[Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1.yang](Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1.yang) +[Cisco-IOS-XR-platforms-ofa-table-stats-oper.yang](Cisco-IOS-XR-platforms-ofa-table-stats-oper.yang) +[Cisco-IOS-XR-pmengine-oper-sub1.yang](Cisco-IOS-XR-pmengine-oper-sub1.yang) +[Cisco-IOS-XR-pmengine-oper.yang](Cisco-IOS-XR-pmengine-oper.yang) +[Cisco-IOS-XR-policy-repository-oper-sub1.yang](Cisco-IOS-XR-policy-repository-oper-sub1.yang) +[Cisco-IOS-XR-policy-repository-oper.yang](Cisco-IOS-XR-policy-repository-oper.yang) +[Cisco-IOS-XR-procfind-oper-sub1.yang](Cisco-IOS-XR-procfind-oper-sub1.yang) +[Cisco-IOS-XR-procfind-oper.yang](Cisco-IOS-XR-procfind-oper.yang) +[Cisco-IOS-XR-procmem-oper-sub1.yang](Cisco-IOS-XR-procmem-oper-sub1.yang) +[Cisco-IOS-XR-procmem-oper.yang](Cisco-IOS-XR-procmem-oper.yang) +[Cisco-IOS-XR-procthreadname-oper-sub1.yang](Cisco-IOS-XR-procthreadname-oper-sub1.yang) +[Cisco-IOS-XR-procthreadname-oper.yang](Cisco-IOS-XR-procthreadname-oper.yang) +[Cisco-IOS-XR-ptp-oper-sub1.yang](Cisco-IOS-XR-ptp-oper-sub1.yang) +[Cisco-IOS-XR-ptp-oper.yang](Cisco-IOS-XR-ptp-oper.yang) +[Cisco-IOS-XR-ptp-pd-oper-sub1.yang](Cisco-IOS-XR-ptp-pd-oper-sub1.yang) +[Cisco-IOS-XR-ptp-pd-oper.yang](Cisco-IOS-XR-ptp-pd-oper.yang) +[Cisco-IOS-XR-qos-ma-oper.yang](Cisco-IOS-XR-qos-ma-oper.yang) +[Cisco-IOS-XR-rgmgr-oper-sub1.yang](Cisco-IOS-XR-rgmgr-oper-sub1.yang) +[Cisco-IOS-XR-rgmgr-oper.yang](Cisco-IOS-XR-rgmgr-oper.yang) +[Cisco-IOS-XR-rsi-agent-oper-sub1.yang](Cisco-IOS-XR-rsi-agent-oper-sub1.yang) +[Cisco-IOS-XR-rsi-agent-oper.yang](Cisco-IOS-XR-rsi-agent-oper.yang) +[Cisco-IOS-XR-sandbox-oper-sub1.yang](Cisco-IOS-XR-sandbox-oper-sub1.yang) +[Cisco-IOS-XR-sandbox-oper.yang](Cisco-IOS-XR-sandbox-oper.yang) +[Cisco-IOS-XR-segment-routing-ms-oper-sub1.yang](Cisco-IOS-XR-segment-routing-ms-oper-sub1.yang) +[Cisco-IOS-XR-segment-routing-ms-oper-sub2.yang](Cisco-IOS-XR-segment-routing-ms-oper-sub2.yang) +[Cisco-IOS-XR-segment-routing-ms-oper-sub3.yang](Cisco-IOS-XR-segment-routing-ms-oper-sub3.yang) +[Cisco-IOS-XR-segment-routing-ms-oper.yang](Cisco-IOS-XR-segment-routing-ms-oper.yang) +[Cisco-IOS-XR-segment-routing-srv6-oper-sub1.yang](Cisco-IOS-XR-segment-routing-srv6-oper-sub1.yang) +[Cisco-IOS-XR-segment-routing-srv6-oper.yang](Cisco-IOS-XR-segment-routing-srv6-oper.yang) +[Cisco-IOS-XR-shellutil-dir-oper-sub1.yang](Cisco-IOS-XR-shellutil-dir-oper-sub1.yang) +[Cisco-IOS-XR-shellutil-dir-oper.yang](Cisco-IOS-XR-shellutil-dir-oper.yang) +[Cisco-IOS-XR-shellutil-filesystem-oper-sub1.yang](Cisco-IOS-XR-shellutil-filesystem-oper-sub1.yang) +[Cisco-IOS-XR-shellutil-filesystem-oper.yang](Cisco-IOS-XR-shellutil-filesystem-oper.yang) +[Cisco-IOS-XR-shellutil-oper-sub1.yang](Cisco-IOS-XR-shellutil-oper-sub1.yang) +[Cisco-IOS-XR-shellutil-oper.yang](Cisco-IOS-XR-shellutil-oper.yang) +[Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1.yang](Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1.yang) +[Cisco-IOS-XR-show-fpd-loc-ng-oper.yang](Cisco-IOS-XR-show-fpd-loc-ng-oper.yang) +[Cisco-IOS-XR-sks-server-oper-sub1.yang](Cisco-IOS-XR-sks-server-oper-sub1.yang) +[Cisco-IOS-XR-sks-server-oper.yang](Cisco-IOS-XR-sks-server-oper.yang) +[Cisco-IOS-XR-smart-license-platform-oper-sub1.yang](Cisco-IOS-XR-smart-license-platform-oper-sub1.yang) +[Cisco-IOS-XR-smart-license-platform-oper.yang](Cisco-IOS-XR-smart-license-platform-oper.yang) +[Cisco-IOS-XR-snmp-agent-oper-sub1.yang](Cisco-IOS-XR-snmp-agent-oper-sub1.yang) +[Cisco-IOS-XR-snmp-agent-oper-sub2.yang](Cisco-IOS-XR-snmp-agent-oper-sub2.yang) +[Cisco-IOS-XR-snmp-agent-oper-sub3.yang](Cisco-IOS-XR-snmp-agent-oper-sub3.yang) +[Cisco-IOS-XR-snmp-agent-oper-sub4.yang](Cisco-IOS-XR-snmp-agent-oper-sub4.yang) +[Cisco-IOS-XR-snmp-agent-oper-sub5.yang](Cisco-IOS-XR-snmp-agent-oper-sub5.yang) +[Cisco-IOS-XR-snmp-agent-oper-sub6.yang](Cisco-IOS-XR-snmp-agent-oper-sub6.yang) +[Cisco-IOS-XR-snmp-agent-oper-sub7.yang](Cisco-IOS-XR-snmp-agent-oper-sub7.yang) +[Cisco-IOS-XR-snmp-agent-oper.yang](Cisco-IOS-XR-snmp-agent-oper.yang) +[Cisco-IOS-XR-snmp-entitymib-oper-sub1.yang](Cisco-IOS-XR-snmp-entitymib-oper-sub1.yang) +[Cisco-IOS-XR-snmp-entitymib-oper.yang](Cisco-IOS-XR-snmp-entitymib-oper.yang) +[Cisco-IOS-XR-snmp-ifmib-oper-sub1.yang](Cisco-IOS-XR-snmp-ifmib-oper-sub1.yang) +[Cisco-IOS-XR-snmp-ifmib-oper.yang](Cisco-IOS-XR-snmp-ifmib-oper.yang) +[Cisco-IOS-XR-snmp-sensormib-oper-sub1.yang](Cisco-IOS-XR-snmp-sensormib-oper-sub1.yang) +[Cisco-IOS-XR-snmp-sensormib-oper-sub2.yang](Cisco-IOS-XR-snmp-sensormib-oper-sub2.yang) +[Cisco-IOS-XR-snmp-sensormib-oper.yang](Cisco-IOS-XR-snmp-sensormib-oper.yang) +[Cisco-IOS-XR-spirit-corehelper-context-oper-sub1.yang](Cisco-IOS-XR-spirit-corehelper-context-oper-sub1.yang) +[Cisco-IOS-XR-spirit-corehelper-context-oper.yang](Cisco-IOS-XR-spirit-corehelper-context-oper.yang) +[Cisco-IOS-XR-switch-oper-sub1.yang](Cisco-IOS-XR-switch-oper-sub1.yang) +[Cisco-IOS-XR-switch-oper.yang](Cisco-IOS-XR-switch-oper.yang) +[Cisco-IOS-XR-syncc-oper-sub1.yang](Cisco-IOS-XR-syncc-oper-sub1.yang) +[Cisco-IOS-XR-syncc-oper.yang](Cisco-IOS-XR-syncc-oper.yang) +[Cisco-IOS-XR-sysdb-oper.yang](Cisco-IOS-XR-sysdb-oper.yang) +[Cisco-IOS-XR-sysmgr-oper-sub1.yang](Cisco-IOS-XR-sysmgr-oper-sub1.yang) +[Cisco-IOS-XR-sysmgr-oper.yang](Cisco-IOS-XR-sysmgr-oper.yang) +[Cisco-IOS-XR-tamsvcs-oper-sub1.yang](Cisco-IOS-XR-tamsvcs-oper-sub1.yang) +[Cisco-IOS-XR-tamsvcs-oper.yang](Cisco-IOS-XR-tamsvcs-oper.yang) +[Cisco-IOS-XR-telemetry-model-driven-oper-sub1.yang](Cisco-IOS-XR-telemetry-model-driven-oper-sub1.yang) +[Cisco-IOS-XR-telemetry-model-driven-oper-sub2.yang](Cisco-IOS-XR-telemetry-model-driven-oper-sub2.yang) +[Cisco-IOS-XR-telemetry-model-driven-oper.yang](Cisco-IOS-XR-telemetry-model-driven-oper.yang) +[Cisco-IOS-XR-terminal-device-oper-sub1.yang](Cisco-IOS-XR-terminal-device-oper-sub1.yang) +[Cisco-IOS-XR-terminal-device-oper.yang](Cisco-IOS-XR-terminal-device-oper.yang) +[Cisco-IOS-XR-test-ocni-isis-oper-sub1.yang](Cisco-IOS-XR-test-ocni-isis-oper-sub1.yang) +[Cisco-IOS-XR-test-ocni-isis-oper.yang](Cisco-IOS-XR-test-ocni-isis-oper.yang) +[Cisco-IOS-XR-tmgctrl-dti-oper-sub1.yang](Cisco-IOS-XR-tmgctrl-dti-oper-sub1.yang) +[Cisco-IOS-XR-tmgctrl-dti-oper.yang](Cisco-IOS-XR-tmgctrl-dti-oper.yang) +[Cisco-IOS-XR-tmgctrl-tmg-oper-sub1.yang](Cisco-IOS-XR-tmgctrl-tmg-oper-sub1.yang) +[Cisco-IOS-XR-tmgctrl-tmg-oper.yang](Cisco-IOS-XR-tmgctrl-tmg-oper.yang) +[Cisco-IOS-XR-tty-management-cmd-oper-sub1.yang](Cisco-IOS-XR-tty-management-cmd-oper-sub1.yang) +[Cisco-IOS-XR-tty-management-cmd-oper.yang](Cisco-IOS-XR-tty-management-cmd-oper.yang) +[Cisco-IOS-XR-tty-management-oper-sub1.yang](Cisco-IOS-XR-tty-management-oper-sub1.yang) +[Cisco-IOS-XR-tty-management-oper.yang](Cisco-IOS-XR-tty-management-oper.yang) +[Cisco-IOS-XR-tty-server-oper-sub1.yang](Cisco-IOS-XR-tty-server-oper-sub1.yang) +[Cisco-IOS-XR-tty-server-oper-sub2.yang](Cisco-IOS-XR-tty-server-oper-sub2.yang) +[Cisco-IOS-XR-tty-server-oper-sub3.yang](Cisco-IOS-XR-tty-server-oper-sub3.yang) +[Cisco-IOS-XR-tty-server-oper-sub4.yang](Cisco-IOS-XR-tty-server-oper-sub4.yang) +[Cisco-IOS-XR-tty-server-oper-sub5.yang](Cisco-IOS-XR-tty-server-oper-sub5.yang) +[Cisco-IOS-XR-tty-server-oper.yang](Cisco-IOS-XR-tty-server-oper.yang) +[Cisco-IOS-XR-tty-show-line-oper-sub1.yang](Cisco-IOS-XR-tty-show-line-oper-sub1.yang) +[Cisco-IOS-XR-tty-show-line-oper.yang](Cisco-IOS-XR-tty-show-line-oper.yang) +[Cisco-IOS-XR-tty-show-terminal-oper-sub1.yang](Cisco-IOS-XR-tty-show-terminal-oper-sub1.yang) +[Cisco-IOS-XR-tty-show-terminal-oper.yang](Cisco-IOS-XR-tty-show-terminal-oper.yang) +[Cisco-IOS-XR-tunnel-ip-ea-oper-sub1.yang](Cisco-IOS-XR-tunnel-ip-ea-oper-sub1.yang) +[Cisco-IOS-XR-tunnel-ip-ea-oper.yang](Cisco-IOS-XR-tunnel-ip-ea-oper.yang) +[Cisco-IOS-XR-tunnel-ip-ma-oper-sub1.yang](Cisco-IOS-XR-tunnel-ip-ma-oper-sub1.yang) +[Cisco-IOS-XR-tunnel-ip-ma-oper.yang](Cisco-IOS-XR-tunnel-ip-ma-oper.yang) +[Cisco-IOS-XR-tunnel-l2tun-oper-sub1.yang](Cisco-IOS-XR-tunnel-l2tun-oper-sub1.yang) +[Cisco-IOS-XR-tunnel-l2tun-oper.yang](Cisco-IOS-XR-tunnel-l2tun-oper.yang) +[Cisco-IOS-XR-tunnel-nve-oper-sub1.yang](Cisco-IOS-XR-tunnel-nve-oper-sub1.yang) +[Cisco-IOS-XR-tunnel-nve-oper.yang](Cisco-IOS-XR-tunnel-nve-oper.yang) +[Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1.yang](Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1.yang) +[Cisco-IOS-XR-wd-death-notif-configured-proc-oper.yang](Cisco-IOS-XR-wd-death-notif-configured-proc-oper.yang) +[Cisco-IOS-XR-wd-oper-sub1.yang](Cisco-IOS-XR-wd-oper-sub1.yang) +[Cisco-IOS-XR-wd-oper.yang](Cisco-IOS-XR-wd-oper.yang) +[Cisco-IOS-XR-wd-proc-state-oper-sub1.yang](Cisco-IOS-XR-wd-proc-state-oper-sub1.yang) +[Cisco-IOS-XR-wd-proc-state-oper.yang](Cisco-IOS-XR-wd-proc-state-oper.yang) +[Cisco-IOS-XR-wdsysmon-fd-oper-sub1.yang](Cisco-IOS-XR-wdsysmon-fd-oper-sub1.yang) +[Cisco-IOS-XR-wdsysmon-fd-oper.yang](Cisco-IOS-XR-wdsysmon-fd-oper.yang) +[Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1.yang](Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1.yang) +[Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang](Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang) +[Cisco-IOS-XR-ztp-oper-sub1.yang](Cisco-IOS-XR-ztp-oper-sub1.yang) +[Cisco-IOS-XR-ztp-oper.yang](Cisco-IOS-XR-ztp-oper.yang) +## Native Common Datatype Models +[Cisco-IOS-XR-types.yang](Cisco-IOS-XR-types.yang) +[Cisco-IOS-XR-Ethernet-SPAN-datatypes.yang](Cisco-IOS-XR-Ethernet-SPAN-datatypes.yang) +[Cisco-IOS-XR-aaa-lib-datatypes.yang](Cisco-IOS-XR-aaa-lib-datatypes.yang) +[Cisco-IOS-XR-clns-isis-datatypes.yang](Cisco-IOS-XR-clns-isis-datatypes.yang) +[Cisco-IOS-XR-common-acl-datatypes.yang](Cisco-IOS-XR-common-acl-datatypes.yang) +[Cisco-IOS-XR-controller-odu-datatypes.yang](Cisco-IOS-XR-controller-odu-datatypes.yang) +[Cisco-IOS-XR-eigrp-datatypes.yang](Cisco-IOS-XR-eigrp-datatypes.yang) +[Cisco-IOS-XR-es-acl-datatypes.yang](Cisco-IOS-XR-es-acl-datatypes.yang) +[Cisco-IOS-XR-ethernet-cfm-datatypes.yang](Cisco-IOS-XR-ethernet-cfm-datatypes.yang) +[Cisco-IOS-XR-freqsync-datatypes.yang](Cisco-IOS-XR-freqsync-datatypes.yang) +[Cisco-IOS-XR-infra-alarm-logger-datatypes.yang](Cisco-IOS-XR-infra-alarm-logger-datatypes.yang) +[Cisco-IOS-XR-infra-sla-datatypes.yang](Cisco-IOS-XR-infra-sla-datatypes.yang) +[Cisco-IOS-XR-ip-iarm-datatypes.yang](Cisco-IOS-XR-ip-iarm-datatypes.yang) +[Cisco-IOS-XR-ipv4-acl-datatypes.yang](Cisco-IOS-XR-ipv4-acl-datatypes.yang) +[Cisco-IOS-XR-ipv4-autorp-datatypes.yang](Cisco-IOS-XR-ipv4-autorp-datatypes.yang) +[Cisco-IOS-XR-ipv4-bgp-datatypes.yang](Cisco-IOS-XR-ipv4-bgp-datatypes.yang) +[Cisco-IOS-XR-ipv6-acl-datatypes.yang](Cisco-IOS-XR-ipv6-acl-datatypes.yang) +[Cisco-IOS-XR-l2-eth-infra-datatypes.yang](Cisco-IOS-XR-l2-eth-infra-datatypes.yang) +[Cisco-IOS-XR-lmp-datatypes.yang](Cisco-IOS-XR-lmp-datatypes.yang) +[Cisco-IOS-XR-manageability-object-tracking-datatypes.yang](Cisco-IOS-XR-manageability-object-tracking-datatypes.yang) +[Cisco-IOS-XR-manageability-perfmgmt-datatypes.yang](Cisco-IOS-XR-manageability-perfmgmt-datatypes.yang) +[Cisco-IOS-XR-mpls-ldp-cfg-datatypes.yang](Cisco-IOS-XR-mpls-ldp-cfg-datatypes.yang) +[Cisco-IOS-XR-mpls-ldp-oper-datatypes.yang](Cisco-IOS-XR-mpls-ldp-oper-datatypes.yang) +[Cisco-IOS-XR-mpls-te-datatypes.yang](Cisco-IOS-XR-mpls-te-datatypes.yang) +[Cisco-IOS-XR-ptp-datatypes.yang](Cisco-IOS-XR-ptp-datatypes.yang) +[Cisco-IOS-XR-segment-routing-srv6-datatypes.yang](Cisco-IOS-XR-segment-routing-srv6-datatypes.yang) +[Cisco-IOS-XR-tty-management-datatypes.yang](Cisco-IOS-XR-tty-management-datatypes.yang) +[Cisco-IOS-XR-tunnel-gre-datatypes.yang](Cisco-IOS-XR-tunnel-gre-datatypes.yang) +[cisco-semver.yang](cisco-semver.yang) +## Native Action Models +[Cisco-IOS-XR-Ethernet-SPAN-act.yang](Cisco-IOS-XR-Ethernet-SPAN-act.yang) +[Cisco-IOS-XR-appmgr-act.yang](Cisco-IOS-XR-appmgr-act.yang) +[Cisco-IOS-XR-authenticated-variable-act.yang](Cisco-IOS-XR-authenticated-variable-act.yang) +[Cisco-IOS-XR-cfgmgr-cfs-check-act.yang](Cisco-IOS-XR-cfgmgr-cfs-check-act.yang) +[Cisco-IOS-XR-cfgmgr-clear-inconsistency-act.yang](Cisco-IOS-XR-cfgmgr-clear-inconsistency-act.yang) +[Cisco-IOS-XR-cfgmgr-rollback-act.yang](Cisco-IOS-XR-cfgmgr-rollback-act.yang) +[Cisco-IOS-XR-clear-counters-act.yang](Cisco-IOS-XR-clear-counters-act.yang) +[Cisco-IOS-XR-cli-diff-act.yang](Cisco-IOS-XR-cli-diff-act.yang) +[Cisco-IOS-XR-cnbng-nal-act.yang](Cisco-IOS-XR-cnbng-nal-act.yang) +[Cisco-IOS-XR-controller-ains-act.yang](Cisco-IOS-XR-controller-ains-act.yang) +[Cisco-IOS-XR-controller-odu-clear-prbs-act.yang](Cisco-IOS-XR-controller-odu-clear-prbs-act.yang) +[Cisco-IOS-XR-crypto-act.yang](Cisco-IOS-XR-crypto-act.yang) +[Cisco-IOS-XR-drivers-media-eth-act.yang](Cisco-IOS-XR-drivers-media-eth-act.yang) +[Cisco-IOS-XR-ethernet-cfm-act.yang](Cisco-IOS-XR-ethernet-cfm-act.yang) +[Cisco-IOS-XR-hwmod-mpa-reload-act.yang](Cisco-IOS-XR-hwmod-mpa-reload-act.yang) +[Cisco-IOS-XR-infra-placed-act.yang](Cisco-IOS-XR-infra-placed-act.yang) +[Cisco-IOS-XR-infra-script-mgmt-act.yang](Cisco-IOS-XR-infra-script-mgmt-act.yang) +[Cisco-IOS-XR-infra-statsd-act.yang](Cisco-IOS-XR-infra-statsd-act.yang) +[Cisco-IOS-XR-install-act.yang](Cisco-IOS-XR-install-act.yang) +[Cisco-IOS-XR-install-augmented-act.yang](Cisco-IOS-XR-install-augmented-act.yang) +[Cisco-IOS-XR-install-search-act.yang](Cisco-IOS-XR-install-search-act.yang) +[Cisco-IOS-XR-ipv4-arp-act.yang](Cisco-IOS-XR-ipv4-arp-act.yang) +[Cisco-IOS-XR-ipv4-bgp-act.yang](Cisco-IOS-XR-ipv4-bgp-act.yang) +[Cisco-IOS-XR-ipv4-ospf-act.yang](Cisco-IOS-XR-ipv4-ospf-act.yang) +[Cisco-IOS-XR-ipv4-ping-act.yang](Cisco-IOS-XR-ipv4-ping-act.yang) +[Cisco-IOS-XR-ipv4-traceroute-act.yang](Cisco-IOS-XR-ipv4-traceroute-act.yang) +[Cisco-IOS-XR-ipv6-ospfv3-act.yang](Cisco-IOS-XR-ipv6-ospfv3-act.yang) +[Cisco-IOS-XR-ipv6-ping-act.yang](Cisco-IOS-XR-ipv6-ping-act.yang) +[Cisco-IOS-XR-ipv6-traceroute-act.yang](Cisco-IOS-XR-ipv6-traceroute-act.yang) +[Cisco-IOS-XR-isis-act.yang](Cisco-IOS-XR-isis-act.yang) +[Cisco-IOS-XR-lib-keychain-act.yang](Cisco-IOS-XR-lib-keychain-act.yang) +[Cisco-IOS-XR-lib-type6-act.yang](Cisco-IOS-XR-lib-type6-act.yang) +[Cisco-IOS-XR-linux-security-diskenc-act.yang](Cisco-IOS-XR-linux-security-diskenc-act.yang) +[Cisco-IOS-XR-lldp-clear-act.yang](Cisco-IOS-XR-lldp-clear-act.yang) +[Cisco-IOS-XR-lpts-ifib-act.yang](Cisco-IOS-XR-lpts-ifib-act.yang) +[Cisco-IOS-XR-lpts-pa-act.yang](Cisco-IOS-XR-lpts-pa-act.yang) +[Cisco-IOS-XR-lpts-pre-ifib-act.yang](Cisco-IOS-XR-lpts-pre-ifib-act.yang) +[Cisco-IOS-XR-mpls-ping-act.yang](Cisco-IOS-XR-mpls-ping-act.yang) +[Cisco-IOS-XR-mpls-te-act.yang](Cisco-IOS-XR-mpls-te-act.yang) +[Cisco-IOS-XR-mpls-traceroute-act.yang](Cisco-IOS-XR-mpls-traceroute-act.yang) +[Cisco-IOS-XR-ping-act.yang](Cisco-IOS-XR-ping-act.yang) +[Cisco-IOS-XR-platforms-common-tams-act.yang](Cisco-IOS-XR-platforms-common-tams-act.yang) +[Cisco-IOS-XR-pmengine-clear-act.yang](Cisco-IOS-XR-pmengine-clear-act.yang) +[Cisco-IOS-XR-remote-attestation-act.yang](Cisco-IOS-XR-remote-attestation-act.yang) +[Cisco-IOS-XR-shellutil-copy-act.yang](Cisco-IOS-XR-shellutil-copy-act.yang) +[Cisco-IOS-XR-shellutil-delete-act.yang](Cisco-IOS-XR-shellutil-delete-act.yang) +[Cisco-IOS-XR-sks-act.yang](Cisco-IOS-XR-sks-act.yang) +[Cisco-IOS-XR-smart-license-act.yang](Cisco-IOS-XR-smart-license-act.yang) +[Cisco-IOS-XR-snmp-test-trap-act.yang](Cisco-IOS-XR-snmp-test-trap-act.yang) +[Cisco-IOS-XR-ssh-act.yang](Cisco-IOS-XR-ssh-act.yang) +[Cisco-IOS-XR-switch-act.yang](Cisco-IOS-XR-switch-act.yang) +[Cisco-IOS-XR-syslog-act.yang](Cisco-IOS-XR-syslog-act.yang) +[Cisco-IOS-XR-sysmgr-act.yang](Cisco-IOS-XR-sysmgr-act.yang) +[Cisco-IOS-XR-system-reboot-act.yang](Cisco-IOS-XR-system-reboot-act.yang) +[Cisco-IOS-XR-traceroute-act.yang](Cisco-IOS-XR-traceroute-act.yang) +[Cisco-IOS-XR-upgrade-fpd-ng-act.yang](Cisco-IOS-XR-upgrade-fpd-ng-act.yang) +## IETF Models +[ietf-datastores.yang](ietf-datastores.yang) +[ietf-inet-types.yang](ietf-inet-types.yang) +[ietf-interfaces.yang](ietf-interfaces.yang) +[ietf-netconf-acm.yang](ietf-netconf-acm.yang) +[ietf-netconf-monitoring.yang](ietf-netconf-monitoring.yang) +[ietf-netconf.yang](ietf-netconf.yang) +[ietf-restconf-monitoring.yang](ietf-restconf-monitoring.yang) +[ietf-syslog-types.yang](ietf-syslog-types.yang) +[ietf-yang-library.yang](ietf-yang-library.yang) +[ietf-yang-types.yang](ietf-yang-types.yang) +## openconfig Models +[openconfig-aaa-radius.yang](openconfig-aaa-radius.yang) +[openconfig-aaa-tacacs.yang](openconfig-aaa-tacacs.yang) +[openconfig-aaa-types.yang](openconfig-aaa-types.yang) +[openconfig-aaa.yang](openconfig-aaa.yang) +[openconfig-acl.yang](openconfig-acl.yang) +[openconfig-aft-common.yang](openconfig-aft-common.yang) +[openconfig-aft-ethernet.yang](openconfig-aft-ethernet.yang) +[openconfig-aft-ipv4.yang](openconfig-aft-ipv4.yang) +[openconfig-aft-ipv6.yang](openconfig-aft-ipv6.yang) +[openconfig-aft-mpls.yang](openconfig-aft-mpls.yang) +[openconfig-aft-network-instance.yang](openconfig-aft-network-instance.yang) +[openconfig-aft-pf.yang](openconfig-aft-pf.yang) +[openconfig-aft-types.yang](openconfig-aft-types.yang) +[openconfig-aft.yang](openconfig-aft.yang) +[openconfig-alarm-types.yang](openconfig-alarm-types.yang) +[openconfig-alarms.yang](openconfig-alarms.yang) +[openconfig-bfd.yang](openconfig-bfd.yang) +[openconfig-bgp-common-multiprotocol.yang](openconfig-bgp-common-multiprotocol.yang) +[openconfig-bgp-common-structure.yang](openconfig-bgp-common-structure.yang) +[openconfig-bgp-common.yang](openconfig-bgp-common.yang) +[openconfig-bgp-errors.yang](openconfig-bgp-errors.yang) +[openconfig-bgp-global.yang](openconfig-bgp-global.yang) +[openconfig-bgp-neighbor.yang](openconfig-bgp-neighbor.yang) +[openconfig-bgp-peer-group.yang](openconfig-bgp-peer-group.yang) +[openconfig-bgp-policy.yang](openconfig-bgp-policy.yang) +[openconfig-bgp-types.yang](openconfig-bgp-types.yang) +[openconfig-bgp.yang](openconfig-bgp.yang) +[openconfig-evpn-types.yang](openconfig-evpn-types.yang) +[openconfig-evpn.yang](openconfig-evpn.yang) +[openconfig-extensions.yang](openconfig-extensions.yang) +[openconfig-if-aggregate.yang](openconfig-if-aggregate.yang) +[openconfig-if-ethernet-ext.yang](openconfig-if-ethernet-ext.yang) +[openconfig-if-ethernet.yang](openconfig-if-ethernet.yang) +[openconfig-if-ip-ext.yang](openconfig-if-ip-ext.yang) +[openconfig-if-ip.yang](openconfig-if-ip.yang) +[openconfig-if-tunnel.yang](openconfig-if-tunnel.yang) +[openconfig-if-types.yang](openconfig-if-types.yang) +[openconfig-igmp-types.yang](openconfig-igmp-types.yang) +[openconfig-igmp.yang](openconfig-igmp.yang) +[openconfig-inet-types.yang](openconfig-inet-types.yang) +[openconfig-interfaces.yang](openconfig-interfaces.yang) +[openconfig-isis-lsdb-types.yang](openconfig-isis-lsdb-types.yang) +[openconfig-isis-lsp.yang](openconfig-isis-lsp.yang) +[openconfig-isis-policy.yang](openconfig-isis-policy.yang) +[openconfig-isis-routing.yang](openconfig-isis-routing.yang) +[openconfig-isis-types.yang](openconfig-isis-types.yang) +[openconfig-isis.yang](openconfig-isis.yang) +[openconfig-lacp.yang](openconfig-lacp.yang) +[openconfig-lldp-types.yang](openconfig-lldp-types.yang) +[openconfig-lldp.yang](openconfig-lldp.yang) +[openconfig-local-routing.yang](openconfig-local-routing.yang) +[openconfig-macsec-types.yang](openconfig-macsec-types.yang) +[openconfig-macsec.yang](openconfig-macsec.yang) +[openconfig-messages.yang](openconfig-messages.yang) +[openconfig-mpls-igp.yang](openconfig-mpls-igp.yang) +[openconfig-mpls-ldp.yang](openconfig-mpls-ldp.yang) +[openconfig-mpls-rsvp.yang](openconfig-mpls-rsvp.yang) +[openconfig-mpls-sr.yang](openconfig-mpls-sr.yang) +[openconfig-mpls-static.yang](openconfig-mpls-static.yang) +[openconfig-mpls-te.yang](openconfig-mpls-te.yang) +[openconfig-mpls-types.yang](openconfig-mpls-types.yang) +[openconfig-mpls.yang](openconfig-mpls.yang) +[openconfig-network-instance-l2.yang](openconfig-network-instance-l2.yang) +[openconfig-network-instance-l3.yang](openconfig-network-instance-l3.yang) +[openconfig-network-instance-types.yang](openconfig-network-instance-types.yang) +[openconfig-network-instance.yang](openconfig-network-instance.yang) +[openconfig-ospf-policy.yang](openconfig-ospf-policy.yang) +[openconfig-ospf-types.yang](openconfig-ospf-types.yang) +[openconfig-ospfv2-area-interface.yang](openconfig-ospfv2-area-interface.yang) +[openconfig-ospfv2-area.yang](openconfig-ospfv2-area.yang) +[openconfig-ospfv2-common.yang](openconfig-ospfv2-common.yang) +[openconfig-ospfv2-global.yang](openconfig-ospfv2-global.yang) +[openconfig-ospfv2-lsdb.yang](openconfig-ospfv2-lsdb.yang) +[openconfig-ospfv2.yang](openconfig-ospfv2.yang) +[openconfig-packet-match-types.yang](openconfig-packet-match-types.yang) +[openconfig-packet-match.yang](openconfig-packet-match.yang) +[openconfig-pf-forwarding-policies.yang](openconfig-pf-forwarding-policies.yang) +[openconfig-pf-interfaces.yang](openconfig-pf-interfaces.yang) +[openconfig-pf-path-groups.yang](openconfig-pf-path-groups.yang) +[openconfig-pf-srte.yang](openconfig-pf-srte.yang) +[openconfig-pim-types.yang](openconfig-pim-types.yang) +[openconfig-pim.yang](openconfig-pim.yang) +[openconfig-platform-cpu.yang](openconfig-platform-cpu.yang) +[openconfig-platform-ext.yang](openconfig-platform-ext.yang) +[openconfig-platform-fan.yang](openconfig-platform-fan.yang) +[openconfig-platform-linecard.yang](openconfig-platform-linecard.yang) +[openconfig-platform-port.yang](openconfig-platform-port.yang) +[openconfig-platform-psu.yang](openconfig-platform-psu.yang) +[openconfig-platform-software.yang](openconfig-platform-software.yang) +[openconfig-platform-transceiver.yang](openconfig-platform-transceiver.yang) +[openconfig-platform-types.yang](openconfig-platform-types.yang) +[openconfig-platform.yang](openconfig-platform.yang) +[openconfig-policy-forwarding.yang](openconfig-policy-forwarding.yang) +[openconfig-policy-types.yang](openconfig-policy-types.yang) +[openconfig-procmon.yang](openconfig-procmon.yang) +[openconfig-rib-bgp-attributes.yang](openconfig-rib-bgp-attributes.yang) +[openconfig-rib-bgp-shared-attributes.yang](openconfig-rib-bgp-shared-attributes.yang) +[openconfig-rib-bgp-table-attributes.yang](openconfig-rib-bgp-table-attributes.yang) +[openconfig-rib-bgp-tables.yang](openconfig-rib-bgp-tables.yang) +[openconfig-rib-bgp-types.yang](openconfig-rib-bgp-types.yang) +[openconfig-rib-bgp.yang](openconfig-rib-bgp.yang) +[openconfig-routing-policy.yang](openconfig-routing-policy.yang) +[openconfig-rsvp-sr-ext.yang](openconfig-rsvp-sr-ext.yang) +[openconfig-sampling-sflow.yang](openconfig-sampling-sflow.yang) +[openconfig-segment-routing-types.yang](openconfig-segment-routing-types.yang) +[openconfig-segment-routing.yang](openconfig-segment-routing.yang) +[openconfig-srte-policy.yang](openconfig-srte-policy.yang) +[openconfig-system-logging.yang](openconfig-system-logging.yang) +[openconfig-system-management.yang](openconfig-system-management.yang) +[openconfig-system-terminal.yang](openconfig-system-terminal.yang) +[openconfig-system.yang](openconfig-system.yang) +[openconfig-telemetry-types.yang](openconfig-telemetry-types.yang) +[openconfig-telemetry.yang](openconfig-telemetry.yang) +[openconfig-terminal-device.yang](openconfig-terminal-device.yang) +[openconfig-transport-types.yang](openconfig-transport-types.yang) +[openconfig-types.yang](openconfig-types.yang) +[openconfig-vlan-types.yang](openconfig-vlan-types.yang) +[openconfig-vlan.yang](openconfig-vlan.yang) +[openconfig-yang-types.yang](openconfig-yang-types.yang) +[cisco-xr-openconfig-acl-deviations.yang](cisco-xr-openconfig-acl-deviations.yang) +[cisco-xr-openconfig-alarms-deviations.yang](cisco-xr-openconfig-alarms-deviations.yang) +[cisco-xr-openconfig-bfd-deviations.yang](cisco-xr-openconfig-bfd-deviations.yang) +[cisco-xr-openconfig-bgp-policy-deviations.yang](cisco-xr-openconfig-bgp-policy-deviations.yang) +[cisco-xr-openconfig-if-ethernet-deviations.yang](cisco-xr-openconfig-if-ethernet-deviations.yang) +[cisco-xr-openconfig-if-ip-deviations.yang](cisco-xr-openconfig-if-ip-deviations.yang) +[cisco-xr-openconfig-if-ip-ext-deviations.yang](cisco-xr-openconfig-if-ip-ext-deviations.yang) +[cisco-xr-openconfig-if-tunnel-deviations.yang](cisco-xr-openconfig-if-tunnel-deviations.yang) +[cisco-xr-openconfig-interfaces-deviations.yang](cisco-xr-openconfig-interfaces-deviations.yang) +[cisco-xr-openconfig-isis-policy-deviations.yang](cisco-xr-openconfig-isis-policy-deviations.yang) +[cisco-xr-openconfig-lacp-deviations.yang](cisco-xr-openconfig-lacp-deviations.yang) +[cisco-xr-openconfig-local-routing-deviations.yang](cisco-xr-openconfig-local-routing-deviations.yang) +[cisco-xr-openconfig-macsec-deviations.yang](cisco-xr-openconfig-macsec-deviations.yang) +[cisco-xr-openconfig-network-instance-deviations.yang](cisco-xr-openconfig-network-instance-deviations.yang) +[cisco-xr-openconfig-platform-deviations-spi.yang](cisco-xr-openconfig-platform-deviations-spi.yang) +[cisco-xr-openconfig-platform-port-deviations.yang](cisco-xr-openconfig-platform-port-deviations.yang) +[cisco-xr-openconfig-platform-psu-deviations.yang](cisco-xr-openconfig-platform-psu-deviations.yang) +[cisco-xr-openconfig-platform-transceiver-deviations.yang](cisco-xr-openconfig-platform-transceiver-deviations.yang) +[cisco-xr-openconfig-routing-policy-deviations.yang](cisco-xr-openconfig-routing-policy-deviations.yang) +[cisco-xr-openconfig-rsvp-sr-ext-deviations.yang](cisco-xr-openconfig-rsvp-sr-ext-deviations.yang) +[cisco-xr-openconfig-system-deviations.yang](cisco-xr-openconfig-system-deviations.yang) +[cisco-xr-openconfig-telemetry-deviations.yang](cisco-xr-openconfig-telemetry-deviations.yang) +[cisco-xr-openconfig-terminal-device-deviations.yang](cisco-xr-openconfig-terminal-device-deviations.yang) +[cisco-xr-openconfig-vlan-deviations.yang](cisco-xr-openconfig-vlan-deviations.yang) +## Tail-F Models +[tailf-actions.yang](tailf-actions.yang) +[tailf-cli-extensions.yang](tailf-cli-extensions.yang) +[tailf-common.yang](tailf-common.yang) +[tailf-meta-extensions.yang](tailf-meta-extensions.yang) +## Other supporting Models +[Cisco-IOS-XR-filesysinv-show-oper-deviations.yang](Cisco-IOS-XR-filesysinv-show-oper-deviations.yang) +[Cisco-IOS-XR-ipv4-bgp-cfg-8000-deviations.yang](Cisco-IOS-XR-ipv4-bgp-cfg-8000-deviations.yang) +[Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations.yang](Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations.yang) +[Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations.yang](Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations.yang) +[Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations.yang](Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations.yang) +[Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations.yang](Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations.yang) +[Cisco-IOS-XR-openconfig-mpls-static-ext.yang](Cisco-IOS-XR-openconfig-mpls-static-ext.yang) +[Cisco-IOS-XR-openconfig-system-terminal-ext.yang](Cisco-IOS-XR-openconfig-system-terminal-ext.yang) +[Cisco-IOS-XR-openconfig-terminal-device-ext.yang](Cisco-IOS-XR-openconfig-terminal-device-ext.yang) +[Cisco-IOS-XR-smart-license-errors.yang](Cisco-IOS-XR-smart-license-errors.yang) +[cisco-xr-ietf-netconf-acm-deviations.yang](cisco-xr-ietf-netconf-acm-deviations.yang) +[cisco-xr-ietf-netconf-monitoring-deviations.yang](cisco-xr-ietf-netconf-monitoring-deviations.yang) +[cisco-xr-ietf-yang-library-deviations.yang](cisco-xr-ietf-yang-library-deviations.yang) +[iana-if-type.yang](iana-if-type.yang) +## Backward incompatible changes +[BIC](BIC) diff --git a/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-controller-optics-cfg.MD b/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-controller-optics-cfg.MD new file mode 100644 index 000000000..69093f567 --- /dev/null +++ b/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-controller-optics-cfg.MD @@ -0,0 +1,32 @@ +## Cisco-IOS-XR-controller-optics-cfg.yang + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Added](#xpaths-added) +- [XPaths Removed](#xpaths-removed) +- [XPaths Modified](#xpaths-modified) + +### Description + +implementation of config DAC RATE CLI. + +## XPaths Obsoleted + +N/A + +## XPaths Deprecated + +N/A + +## XPaths Added + +N/A + +## XPaths Removed + +- (L706) /interface-configurations/interface-configuration[active][interface-name]/optics/optics-loopback + +## XPaths Modified + +N/A + diff --git a/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-fib-common-oper.MD b/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-fib-common-oper.MD new file mode 100644 index 000000000..3a67530b6 --- /dev/null +++ b/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-fib-common-oper.MD @@ -0,0 +1,32 @@ +## Cisco-IOS-XR-fib-common-oper.yang + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Added](#xpaths-added) +- [XPaths Removed](#xpaths-removed) +- [XPaths Modified](#xpaths-modified) + +### Description + +changes related to treat SRv6 and SID as well-known when parsing XML for yang. + +## XPaths Obsoleted + +N/A + +## XPaths Deprecated + +N/A + +## XPaths Added + +N/A + +## XPaths Removed + +- (L2703) /fib/nodes/node[node-name]/protocols/protocol[protocol-name]/exact-routes/exact-route/destination + +## XPaths Modified + +- (L2988) /fib/nodes/node[node-name]/protocols/protocol[protocol-name]/exact-routes/exact-route/source + diff --git a/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-infra-syslog-cfg.MD b/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-infra-syslog-cfg.MD new file mode 100644 index 000000000..99a9ced6b --- /dev/null +++ b/vendor/cisco/xr/755/BIC/Cisco-IOS-XR-infra-syslog-cfg.MD @@ -0,0 +1,40 @@ +## Cisco-IOS-XR-infra-syslog-cfg.yang + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Added](#xpaths-added) +- [XPaths Removed](#xpaths-removed) +- [XPaths Modified](#xpaths-modified) + +### Description + +expanding the FileSpecification leaf datatype for local-accounting feature. + +## XPaths Obsoleted + +N/A + +## XPaths Deprecated + +N/A + +## XPaths Added + +N/A + +## XPaths Removed + +- (L979) /syslog/host-server/vrfs/vrf[vrf-name]/ipv6s/ipv6[address]/ipv6-severity-levels +- (L1009) /syslog/host-server/vrfs/vrf[vrf-name]/hosts/host[host-name]/host-name-severities +- (L1061) /syslog/host-server/vrfs/vrf[vrf-name]/ipv4s/ipv4[address]/ipv4-severity-levels +- (L1249) /syslog/ipv4/dscp +- (L1299) /syslog/ipv4/precedence +- (L1375) /syslog/ipv6/dscp +- (L1425) /syslog/ipv6/precedence +- (L410) /{Logging-dscp} +- (L492) /{Logging-precedence} + +## XPaths Modified + +N/A + diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-fib-platform-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-fib-platform-cfg.yang new file mode 100644 index 000000000..edb6969dd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-fib-platform-cfg.yang @@ -0,0 +1,317 @@ +module Cisco-IOS-XR-8000-fib-platform-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-8000-fib-platform-cfg"; + prefix xr-8000-fib-platform-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-fib-platform package configuration. + + This module contains definitions + for the following management objects: + cef: Establish CEF configuration + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-23 { + description + "Added schema for Load balancing user-data configuration + 2022-03-01 + Updated max rotate value of hash rotate to 35"; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef V4-udp { + type uint32 { + range "0..35"; + } + description + "V4 udp"; + } + + typedef V6-tcp { + type uint32 { + range "0..3"; + } + description + "V6 tcp"; + } + + typedef V6-udp { + type uint32 { + range "0..15"; + } + description + "V6 udp"; + } + + typedef Size4 { + type uint32 { + range "1..4"; + } + description + "Size4"; + } + + typedef V4-tcp { + type uint32 { + range "0..23"; + } + description + "V4 tcp"; + } + + typedef V4 { + type uint32 { + range "0..43"; + } + description + "V4"; + } + + typedef V6 { + type uint32 { + range "0..23"; + } + description + "V6"; + } + + container cef { + description + "Establish CEF configuration"; + container load-balance { + description + "Specify Load balancing algorithm"; + container hash { + description + "Specify Hash adjust"; + leaf rotate { + type uint32 { + range "1..35"; + } + description + "Router-ID is bypassed when hash rotate count + is used"; + } + } + container fields { + description + "additional fields considered for hashing"; + container userdata { + description + "specify the offset and size of additional + packet data to be included in hashing"; + container ipv6-udps { + description + "additional data for ipv6 udp packet"; + list ipv6-udp { + key "location-string"; + description + "none"; + container ipv6-udp-hash { + description + "offset and size for ipv6 udp header"; + leaf offset { + type V6-udp; + description + "zero-based offset from the end of ipv6 udp + header"; + } + leaf size { + type Size4; + units "byte"; + description + "number of bytes considered in hashing"; + } + } + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "ingress card location"; + } + } + } + container ipv4-nontcpudps { + description + "additional data for ipv4 non-tcp-udp packet"; + list ipv4-nontcpudp { + key "location-string"; + description + "none"; + container ipv4-hash { + description + "offset and size for ipv4 nontcpudp header"; + leaf offset { + type V4; + description + "zero-based offset from the end of ipv4 + header"; + } + leaf size { + type Size4; + units "byte"; + description + "number of bytes considered in hashing"; + } + } + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "ingress card location"; + } + } + } + container ipv6-tcps { + description + "additional data for ipv6 tcp packet"; + list ipv6-tcp { + key "location-string"; + description + "none"; + container ipv6-tcp-hash { + description + "offset and size for ipv6 tcp header"; + leaf offset { + type V6-tcp; + description + "zero-based offset from the end of ipv6 tcp + header"; + } + leaf size { + type Size4; + units "byte"; + description + "number of bytes considered in hashing"; + } + } + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "ingress card location"; + } + } + } + container ipv4-udps { + description + "additional data for ipv4 udp packet"; + list ipv4-udp { + key "location-string"; + description + "none"; + container ipv4-udp-hash { + description + "offset and size for ipv4 udp header"; + leaf offset { + type V4-udp; + description + "zero-based offset from the end of ipv4 udp + header"; + } + leaf size { + type Size4; + units "byte"; + description + "number of bytes considered in hashing"; + } + } + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "ingress card location"; + } + } + } + container ipv6-nontcpudps { + description + "additional data for ipv6 non-tcp-udp packet"; + list ipv6-nontcpudp { + key "location-string"; + description + "none"; + container ipv6-hash { + description + "offset and size for ipv6 nontcpudp header"; + leaf offset { + type V6; + description + "zero-based offset from the end of ipv6 + header"; + } + leaf size { + type Size4; + units "byte"; + description + "number of bytes considered in hashing"; + } + } + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "ingress card location"; + } + } + } + container ipv4-tcps { + description + "additional data for ipv4 tcp packet"; + list ipv4-tcp { + key "location-string"; + description + "none"; + container ipv4-tcp-hash { + description + "offset and size for ipv4 tcp header"; + leaf offset { + type V4-tcp; + description + "zero-based offset from the end of ipv4 tcp + header"; + } + leaf size { + type Size4; + units "byte"; + description + "number of bytes considered in hashing"; + } + } + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "ingress card location"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper-sub1.yang new file mode 100644 index 000000000..c0392db54 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper-sub1.yang @@ -0,0 +1,263 @@ +submodule Cisco-IOS-XR-8000-lpts-oper-sub1 { + belongs-to Cisco-IOS-XR-8000-lpts-oper { + prefix Cisco-IOS-XR-8000-lpts-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR 8000-lpts package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-30 { + description + "LPTS Pre-ifib Oper Yang added."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PL-PIFIB-SHOW-OG-ENTRY { + description + "LPTS TCAM Pre-IFIB OG Entry Information"; + leaf l3protocol { + type uint32; + description + "Layer 3 Protocol"; + } + leaf l4protocol { + type uint32; + description + "Layer 4 Protocol"; + } + leaf intf-handle { + type uint32; + description + "Interface Handle"; + } + leaf local-addr { + type string; + description + "Destination IP Address"; + } + leaf remote-addr { + type string; + description + "Source IP Address"; + } + leaf local-prefix-len { + type uint32; + description + "Local Prefix Length"; + } + leaf remote-prefix-len { + type uint32; + description + "Remote Prefix Length"; + } + leaf remote-port { + type uint16; + description + "Remote port"; + } + leaf policer-id { + type uint32; + description + "Policer Pointer"; + } + leaf accepted { + type uint64; + description + "Accepted Packets Counter"; + } + leaf dropped { + type uint64; + description + "Dropped Packets Counter"; + } + leaf flow-type { + type uint16; + description + "Flow type"; + } + leaf npu-id { + type uint32; + description + "npu id"; + } + leaf vrf { + type uint32; + description + "vrf"; + } + leaf queue-priority { + type uint16; + description + "punt queue priority"; + } + leaf entry-stat { + type boolean; + description + "Entry has stat or share global FT stat"; + } + leaf remote-object-group-id { + type uint16; + description + "Source object ID"; + } + leaf is-compressed { + type boolean; + description + "True if entry is compressed"; + } + } + + grouping PL-PIFIB-SHOW-ENTRY { + description + "LPTS TCAM Pre-IFIB Entry Information"; + leaf l3protocol { + type uint32; + description + "Layer 3 Protocol"; + } + leaf l4protocol { + type uint32; + description + "Layer 4 Protocol"; + } + leaf intf-handle { + type uint32; + description + "Interface Handle"; + } + leaf local-addr { + type string; + description + "Destination IP Address"; + } + leaf remote-addr { + type string; + description + "Source IP Address"; + } + leaf local-prefix-len { + type uint32; + description + "Local Prefix Length"; + } + leaf remote-prefix-len { + type uint32; + description + "Remote Prefix Length"; + } + leaf remote-port { + type uint16; + description + "Remote port"; + } + leaf policer-id { + type uint32; + description + "Policer Pointer"; + } + leaf accepted { + type uint64; + description + "Accepted Packets Counter"; + } + leaf dropped { + type uint64; + description + "Dropped Packets Counter"; + } + leaf flow-type { + type uint16; + description + "Flow type"; + } + leaf npu-id { + type uint32; + description + "npu id"; + } + leaf vrf { + type uint32; + description + "vrf"; + } + leaf queue-priority { + type uint16; + description + "punt queue priority"; + } + leaf entry-stat { + type boolean; + description + "Entry has stat or share global FT stat"; + } + } + + grouping PL-PIFIB-POLICER-INFO { + description + "PD Pre-IFIB policer information"; + leaf avgrate { + type uint32; + units "packet/s"; + description + "Average policer value in packets per second"; + } + leaf burst { + type uint32; + description + "Burst policer value in msec"; + } + leaf static-avgrate { + type uint32; + description + "Default value of average policer value"; + } + leaf avgrate-type { + type uint32; + description + "policer value type (local,global,static)"; + } + leaf hw-policer-addr { + type uint32; + description + "HW policer address - need this for display"; + } + leaf sw-police-id { + type uint16; + description + "SW policer ID - reserved"; + } + leaf npu-id { + type uint32; + description + "npu id"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper.yang new file mode 100644 index 000000000..75e9586a9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-lpts-oper.yang @@ -0,0 +1,117 @@ +module Cisco-IOS-XR-8000-lpts-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-8000-lpts-oper"; + prefix xr-8000-lpts-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-8000-lpts-oper-sub1 { + revision-date 2021-03-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-lpts package operational data. + + This module contains definitions + for the following management objects: + platform-lptsp-ifib: 8000 platform ifib operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-30 { + description + "LPTS Pre-ifib Oper Yang added."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container platform-lptsp-ifib { + config false; + description + "8000 platform ifib operational data "; + container nodes { + description + "List of nodes with platform specific lpts + operation data"; + list node { + key "node-name"; + description + "Node with platform specific lpts data"; + container polices { + description + "policer info for LC"; + list police { + key "entry"; + description + "Data for single policer entry"; + leaf entry { + type xr:Cisco-ios-xr-string; + description + "Single Policer entry"; + } + uses PL-PIFIB-POLICER-INFO; + } + } + container entries { + description + "stats for LC"; + list entry { + key "entry"; + description + "Data for single pre-ifib entry"; + leaf entry { + type xr:Cisco-ios-xr-string; + description + "Single Pre-ifib entry"; + } + uses PL-PIFIB-SHOW-ENTRY; + } + } + container og-entries { + description + "og entry for LC"; + list og-entry { + key "entry"; + description + "Data for single pre-ifib og entry"; + leaf entry { + type xr:Cisco-ios-xr-string; + description + "Single Pre-ifib og entry"; + } + uses PL-PIFIB-SHOW-OG-ENTRY; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1.yang new file mode 100644 index 000000000..dc590fd4a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1.yang @@ -0,0 +1,168 @@ +submodule Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1 { + belongs-to Cisco-IOS-XR-8000-platforms-npu-memory-oper { + prefix Cisco-IOS-XR-8000-platforms-npu-memory-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR 8000-platforms-npu-memory package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OFA-SYSDB-PKT-MEMORY-USAGE { + description + "Per NPU structure for a pkt memory usage"; + leaf timestamp { + type uint64; + description + "timestamp"; + } + leaf device { + type uint8; + description + "device"; + } + leaf buff-int-usage { + type uint32; + description + "buff int usage"; + } + leaf buff-int-max-wm { + type uint32; + description + "buff int max wm"; + } + leaf buff-ext-usage { + type uint32; + description + "buff ext usage"; + } + leaf buff-ext-max-wm { + type uint32; + description + "buff ext max wm"; + } + leaf buff-int-free-min-wm { + type uint64; + description + "buff int free min wm"; + } + leaf buff-ext-free-min-wm { + type uint64; + description + "buff ext free min wm"; + } + } + + grouping OFA-SYSDB-PKT-MEMORY-USAGE-ARRAY-ST { + description + "Resource level information"; + list entry { + description + "entry"; + uses OFA-SYSDB-PKT-MEMORY-USAGE; + } + } + + grouping OFA-SYSDB-PKT-MEMORY-CONGESTION { + description + "Per NPU structure for a pkt memory congestion"; + leaf timestamp { + type uint64; + description + "timestamp"; + } + leaf event-type { + type uint8; + description + "event type"; + } + leaf device { + type uint8; + description + "device"; + } + leaf slice { + type uint32; + description + "slice"; + } + leaf voq { + type uint32; + description + "voq"; + } + leaf voq-buff-int-wm { + type uint32; + description + "voq buff int wm"; + } + leaf evicted-buff-int-wm { + type uint32; + description + "evicted buff int wm"; + } + leaf buff-int-uc-wm { + type uint32; + description + "buff int uc wm"; + } + leaf buff-int-usage { + type uint32; + description + "buff int usage"; + } + leaf buff-int-max-wm { + type uint32; + description + "buff int max wm"; + } + leaf buff-ext-usage { + type uint32; + description + "buff ext usage"; + } + leaf buff-ext-max-wm { + type uint32; + description + "buff ext max wm"; + } + } + + grouping OFA-SYSDB-PKT-MEMORY-CONGESTION-ARRAY-ST { + description + "Resource level information"; + list entry { + description + "entry"; + uses OFA-SYSDB-PKT-MEMORY-CONGESTION; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper.yang new file mode 100644 index 000000000..71cbfebfb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-memory-oper.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XR-8000-platforms-npu-memory-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-8000-platforms-npu-memory-oper"; + prefix xr-8000-platforms-npu-memory-oper; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-platforms-ofa-oper { + prefix a1; + } + include Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-platforms-npu-memory package operational data. + + This YANG module augments the + Cisco-IOS-XR-platforms-ofa-oper + module with state data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:ofa/a1:stats/a1:nodes/a1:node" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-platforms-ofa-oper'"; + container hw-memory-table { + description + "OFA HW memory stats "; + container hw-memory-instance { + description + "Instance ID"; + container hw-memory-congested-data { + description + "OFA HW memory congested detail"; + uses OFA-SYSDB-PKT-MEMORY-CONGESTION-ARRAY-ST; + } + container hw-memory-usage-data { + description + "OFA HW memory usage "; + uses OFA-SYSDB-PKT-MEMORY-USAGE-ARRAY-ST; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1.yang new file mode 100644 index 000000000..d24bef3a3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1.yang @@ -0,0 +1,265 @@ +submodule Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1 { + belongs-to Cisco-IOS-XR-8000-platforms-npu-resources-oper { + prefix Cisco-IOS-XR-8000-platforms-npu-resources-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR 8000-platforms-npu-resources package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-23 { + description + "Updated date for revision"; + semver:module-version "3.0.1M"; + } + revision 2020-10-07 { + description + "Updated leaf fields and container stats"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OFA-SYSDB-LT-HW-RESOURCE { + description + "Logical table accounting for that bank"; + leaf lt-id { + type uint32; + description + "lt id"; + } + leaf name { + type string; + description + "name"; + } + leaf hw-entries { + type uint32; + description + "hw entries"; + } + leaf sw-entries { + type uint32; + description + "sw entries"; + } + } + + grouping OFA-SYSDB-NPU-RESOURCE-OOR-ST { + description + "OOR info for that bank"; + leaf is-oor-valid { + type boolean; + description + "Is this OOR struct valid"; + } + leaf red-oor-threshold { + type uint32; + description + "OOR red threshold in terms of entries"; + } + leaf yellow-oor-threshold { + type uint32; + description + "OOR yellow threshold in terms of entries"; + } + leaf oor-change-count { + type uint32; + description + "Counts number of OOR transitions"; + } + leaf oor-state-change-time1 { + type string { + length "0..16"; + } + description + "OOR state change time 1"; + } + leaf oor-state-change-time2 { + type string { + length "0..16"; + } + description + "OOR state change time 2"; + } + leaf oor-state { + type string { + length "0..16"; + } + description + "OOR state string"; + } + } + + grouping OFA-SYSDB-NPU-RESOURCE-COUNTER-ST { + description + "Counter information for that bank"; + leaf is-counter-valid { + type boolean; + description + "Is this counter struct valid"; + } + leaf is-max-valid { + type boolean; + description + "Is Max valid"; + } + leaf max-entries { + type uint32; + description + "Maximum entries in hardware"; + } + leaf inuse-entries { + type uint32; + description + "In use entries for this bank from hardware"; + } + } + + grouping OFA-SYSDB-NPU-HW-BANK-RESOURCE { + description + "Per bank resource info"; + container counter { + description + "Counter values for this bank"; + uses OFA-SYSDB-NPU-RESOURCE-COUNTER-ST; + } + container oor-state { + description + "OOR state for this bank"; + uses OFA-SYSDB-NPU-RESOURCE-OOR-ST; + } + leaf is-bank-valid { + type boolean; + description + "is this bank valid/skip"; + } + leaf bank-id { + type uint32; + description + "Hierarchical bank id"; + } + leaf bank-name { + type string { + length "0..64"; + } + description + "Hierarchical bank name generated in TIDL"; + } + leaf bank-info { + type string { + length "0..64"; + } + description + "Custom bank info"; + } + leaf is-bank-info-valid { + type boolean; + description + "Is Bank info valid"; + } + leaf num-lt { + type uint32; + description + "Number of logical table array elements"; + } + list lt-hwr { + description + "Logical OFA tables for npu resource bank"; + uses OFA-SYSDB-LT-HW-RESOURCE; + } + } + + grouping OFA-SYSDB-NPU-HW-RESOURCE { + description + "Per NPU structure for a hw resource"; + leaf npu-id { + type uint32; + description + "npu id"; + } + leaf red-oor-threshold-percent { + type uint32; + description + "red oor threshold percent"; + } + leaf yellow-oor-threshold-percent { + type uint32; + description + "yellow oor threshold percent"; + } + leaf num-bank { + type int32; + description + "Bank count for hierarchical NPU resource"; + } + list bank { + description + "List of Hierarchical banks for that NPU resource"; + uses OFA-SYSDB-NPU-HW-BANK-RESOURCE; + } + } + + grouping OFA-SYSDB-HW-RESOURCE { + description + "Resource level information"; + leaf resource-id { + type uint32; + description + "resource id"; + } + leaf num-npus { + type uint32; + description + "num npus"; + } + leaf cmd-invalid { + type boolean; + description + "cmd invalid"; + } + leaf asic-type { + type uint32; + description + "asic type"; + } + leaf asic-name { + type string { + length "0..32"; + } + description + "asic name"; + } + list npu-hwr { + description + "npu hwr"; + uses OFA-SYSDB-NPU-HW-RESOURCE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper.yang new file mode 100644 index 000000000..44d3db06c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-platforms-npu-resources-oper.yang @@ -0,0 +1,220 @@ +module Cisco-IOS-XR-8000-platforms-npu-resources-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-8000-platforms-npu-resources-oper"; + prefix xr-8000-platforms-npu-resources-oper; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-platforms-ofa-oper { + prefix a1; + } + include Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1 { + revision-date 2022-09-23; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-platforms-npu-resources package operational data. + + This YANG module augments the + Cisco-IOS-XR-platforms-ofa-oper + module with state data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-23 { + description + "Updated date for revision"; + semver:module-version "3.0.1M"; + } + revision 2020-10-07 { + description + "Updated leaf fields and container stats"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Resource { + type enumeration { + enum "counter-bank" { + value 0; + description + "counter bank"; + } + enum "l3-ac-port" { + value 1; + description + "l3 ac port"; + } + enum "native-fec-entry" { + value 2; + description + "native fec entry"; + } + enum "stage1-lb-group" { + value 3; + description + "stage1 lb group"; + } + enum "stage1-lb-member" { + value 4; + description + "stage1 lb member"; + } + enum "stage2-lb-group" { + value 5; + description + "stage2 lb group"; + } + enum "stage2-lb-member" { + value 6; + description + "stage2 lb member"; + } + enum "stage2-protection-monitor" { + value 7; + description + "stage2 protection monitor"; + } + enum "v4-lpts" { + value 8; + description + "v4 lpts"; + } + enum "v6-lpts" { + value 9; + description + "v6 lpts"; + } + enum "lpts-meters" { + value 10; + description + "lpts meters"; + } + enum "central-em" { + value 11; + description + "central em"; + } + enum "egress-acl-tcam" { + value 12; + description + "egress acl tcam"; + } + enum "ingress-acl-tcam" { + value 13; + description + "ingress acl tcam"; + } + enum "lpm-tcam" { + value 14; + description + "lpm tcam"; + } + enum "mc-emdb" { + value 15; + description + "mc emdb"; + } + enum "ipv6-compressed-sips" { + value 16; + description + "ipv6 compressed sips"; + } + enum "egress-large-encap" { + value 17; + description + "egress large encap"; + } + enum "egress-small-encap" { + value 18; + description + "egress small encap"; + } + enum "tunnel-termination" { + value 19; + description + "tunnel termination"; + } + enum "sipidxtbl" { + value 20; + description + "sipidxtbl"; + } + enum "myipv4tbl" { + value 21; + description + "myipv4tbl"; + } + enum "l2-service-port" { + value 22; + description + "l2 service port"; + } + enum "egress-l3-dlp" { + value 23; + description + "egress l3 dlp"; + } + enum "tunnel-termination-1" { + value 24; + description + "tunnel termination 1"; + } + enum "dip-index" { + value 25; + description + "dip index"; + } + enum "protection-group" { + value 26; + description + "protection group"; + } + } + description + "Resource"; + } + + augment "/a1:ofa/a1:stats/a1:nodes/a1:node" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-platforms-ofa-oper'"; + container hw-resources-datas { + description + "OFA HW resources stats "; + list hw-resources-data { + key "resource"; + description + "Hardware resources table"; + leaf resource { + type Resource; + description + "Resource type"; + } + uses OFA-SYSDB-HW-RESOURCE; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub1.yang new file mode 100644 index 000000000..43402194c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub1.yang @@ -0,0 +1,176 @@ +submodule Cisco-IOS-XR-8000-qos-oper-sub1 { + belongs-to Cisco-IOS-XR-8000-qos-oper { + prefix Cisco-IOS-XR-8000-qos-oper; + } + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-8000-qos-oper-sub2 { + revision-date 2021-06-28; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR 8000-qos package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-28 { + description + "Configured Max probability for RED ECN"; + semver:module-version "1.0.0"; + } + revision 2021-03-11 { + description + "Fix parent policy class default display"; + } + revision 2020-09-14 { + description + "Converted Policer HW value to 64 bit."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping WRED-PROFILE { + description + "WRED PROFILE"; + leaf min-threshold { + type uint32; + description + "Minimum Threshold"; + } + leaf max-threshold { + type uint32; + description + "Maximum Threshold"; + } + leaf drop-probability { + type uint32; + description + "Drop Probability"; + } + } + + grouping REMOTE-CLASS { + description + "REMOTE CLASS"; + container config-d-queue-limit { + description + "Configured Dual queue limit"; + uses DQL-POLICY-PARAMETER; + } + leaf class-name { + type string { + length "0..64"; + } + description + "Class Name"; + } + leaf class-id { + type uint32; + description + "Class ID"; + } + leaf cos-q { + type uint32; + description + "Class of Service Queue"; + } + leaf queue-limit { + type uint32; + units "byte"; + description + "Default/Configured queue limit in bytes"; + } + leaf hardware-queue-limit { + type uint32; + units "byte"; + description + "Hardware queue limit in bytes"; + } + leaf ecn-enabled { + type boolean; + description + "ECN Enabled"; + } + leaf is-parent { + type boolean; + description + "Class belongs to parent policy"; + } + list wred { + max-elements "4"; + description + "Default/Configured WRED profiles"; + uses WRED-PROFILE; + } + list hw-wred { + max-elements "4"; + description + "Hardware WRED profiles"; + uses WRED-PROFILE; + } + } + + grouping DPA-QOSEA-SHOW-REMOTE-IF-INFO-ST { + description + "Remote Interface Info"; + leaf policy-name { + type string { + length "0..64"; + } + description + "Policy Name"; + } + leaf virtual-output-queue-statistics-handle { + type uint64; + description + "Virtual output queue statistics handle"; + } + leaf interface-handle { + type uint32; + description + "Interface Handle"; + } + leaf egress-queue-id { + type uint32; + description + "Egress Queue ID"; + } + leaf number-of-virtual-output-queues { + type uint32; + description + "Number of Virtual Output Queues"; + } + leaf number-of-classes { + type uint32; + description + "Number of Classes"; + } + list remote-class { + description + "Remote Class array"; + uses REMOTE-CLASS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub2.yang new file mode 100644 index 000000000..e99b16a77 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper-sub2.yang @@ -0,0 +1,859 @@ +submodule Cisco-IOS-XR-8000-qos-oper-sub2 { + belongs-to Cisco-IOS-XR-8000-qos-oper { + prefix Cisco-IOS-XR-8000-qos-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR 8000-qos package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-28 { + description + "Configured Max probability for RED ECN"; + semver:module-version "1.0.0"; + } + revision 2021-03-11 { + description + "Fix parent policy class default display"; + } + revision 2020-09-14 { + description + "Converted Policer HW value to 64 bit."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Dpa-qosea-show-wred { + type enumeration { + enum "wred-cos" { + description + "WRED based on COS"; + } + enum "wred-dscp" { + description + "WRED based on DSCP"; + } + enum "wred-precedence" { + description + "WRED based on Precedence"; + } + enum "wred-discard-class" { + description + "WRED based on discard class"; + } + enum "wred-mpls-exp" { + description + "WRED based on MPLS EXP"; + } + enum "red-with-user-min-max" { + description + "RED with user defined min and max"; + } + enum "red-with-default-min-max" { + description + "RED with default min and max"; + } + enum "wred-invalid" { + description + "Invalid"; + } + } + description + "WRED type"; + } + + typedef Dpa-qosea-show-action { + type enumeration { + enum "action-none" { + description + "None"; + } + enum "action-transmit" { + description + "Transmit"; + } + enum "action-drop" { + description + "Drop"; + } + enum "action-mark" { + description + "Mark"; + } + } + description + "Policer action type"; + } + + typedef Policy-param-unit { + type enumeration { + enum "policy-param-unit-invalid" { + description + "policy param unit invalid"; + } + enum "policy-param-unit-bytes" { + description + "policy param unit bytes"; + } + enum "policy-param-unit-kbytes" { + description + "policy param unit kbytes"; + } + enum "policy-param-unit-mbytes" { + description + "policy param unit mbytes"; + } + enum "policy-param-unit-gbytes" { + description + "policy param unit gbytes"; + } + enum "policy-param-unit-bitsps" { + description + "policy param unit bitsps"; + } + enum "policy-param-unit-kbitsps" { + description + "policy param unit kbitsps"; + } + enum "policy-param-unit-mbitsps" { + description + "policy param unit mbitsps"; + } + enum "policy-param-unit-gbitsps" { + description + "policy param unit gbitsps"; + } + enum "policy-param-unit-cells-ps" { + description + "policy param unit cells ps"; + } + enum "policy-param-unit-packets-ps" { + description + "policy param unit packets ps"; + } + enum "policy-param-unit-us" { + description + "policy param unit us"; + } + enum "policy-param-unit-ms" { + description + "policy param unit ms"; + } + enum "policy-param-unit-seconds" { + description + "policy param unit seconds"; + } + enum "policy-param-unit-packets" { + description + "policy param unit packets"; + } + enum "policy-param-unit-cells" { + description + "policy param unit cells"; + } + enum "policy-param-unit-percent" { + description + "policy param unit percent"; + } + enum "policy-param-unit-per-thousand" { + description + "policy param unit per thousand"; + } + enum "policy-param-unit-per-million" { + description + "policy param unit per million"; + } + enum "policy-param-unit-hz" { + description + "policy param unit hz"; + } + enum "policy-param-unit-khz" { + description + "policy param unit khz"; + } + enum "policy-param-unit-mhz" { + description + "policy param unit mhz"; + } + enum "policy-param-unit-ratio" { + description + "policy param unit ratio"; + } + enum "policy-param-unit-inverse-ratio" { + description + "policy param unit inverse ratio"; + } + enum "policy-param-unit-max" { + description + "policy param unit max"; + } + } + description + "Policy param unit"; + } + + typedef Dpa-qosea-show-hp-level { + type enumeration { + enum "high-priority-level1" { + description + "High priority queue level 1"; + } + enum "high-priority-level2" { + description + "High priority queue level 2"; + } + enum "high-priority-level3" { + description + "High priority queue level 3"; + } + enum "high-priority-level4" { + description + "High priority queue level 4"; + } + enum "high-priority-level5" { + description + "High priority queue level 5"; + } + enum "high-priority-level6" { + description + "High priority queue level 6"; + } + enum "high-priority-level7" { + description + "High priority queue level 7"; + } + enum "unknown" { + description + "Unknown"; + } + } + description + "Priority level"; + } + + typedef Dpa-qosea-show-queue { + type enumeration { + enum "low-priority-default-queue" { + description + "Low priority default queue"; + } + enum "low-priority-queue" { + description + "Low priority queue"; + } + enum "high-priority-queue" { + description + "High priority queue"; + } + enum "unknown-queue-type" { + description + "Queue priority unknown"; + } + } + description + "Priority Queue Type"; + } + + typedef Dpa-qosea-show-mark { + type enumeration { + enum "mark-none" { + description + "None"; + } + enum "dscp" { + description + "DSCP"; + } + enum "precedence" { + description + "Precedence"; + } + enum "mpls-topmost" { + description + "MPLS topmost"; + } + enum "mpls-imposition" { + description + "MPLS imposition"; + } + enum "qos-group" { + description + "Qos group"; + } + enum "discard-class" { + description + "Discard class"; + } + enum "cos" { + description + "COS"; + } + enum "inner-cos" { + description + "Inner COS"; + } + enum "un-supported9" { + description + "Unsupported type 9"; + } + enum "un-supported10" { + description + "Unsupported type 10"; + } + enum "un-supported11" { + description + "Unsupported type 11"; + } + enum "dscp-tunnel" { + description + "DSCP tunnel"; + } + enum "precedence-tunnel" { + description + "Precedence tunnel"; + } + enum "dei" { + description + "DEI"; + } + enum "dei-imposition" { + description + "DEI Imposition"; + } + enum "un-supported16" { + description + "Unsupported type 16"; + } + enum "un-supported17" { + description + "Unsupported type 17"; + } + enum "traffic-class" { + description + "Traffic class"; + } + } + description + "Mark type"; + } + + typedef Dpa-qosea-show-level { + type enumeration { + enum "level1" { + value 0; + description + "QoS level1 class"; + } + enum "level2" { + value 1; + description + "QoS level2 class"; + } + enum "level3" { + value 2; + description + "QoS level3 class"; + } + enum "level4" { + value 3; + description + "QoS level4 class"; + } + enum "level5" { + value 4; + description + "QoS level5 class"; + } + } + description + "Level type"; + } + + typedef Dpa-qosea-show-intf-status { + type enumeration { + enum "state-unknown" { + description + "State is unknown"; + } + enum "state-down" { + description + "State is Down"; + } + } + description + "Intf Status"; + } + + typedef Dpa-qosea-show-policy-status { + type enumeration { + enum "no-error" { + description + "No errors"; + } + enum "policy-in-reset" { + description + "QoS policy is reset"; + } + } + description + "Status"; + } + + typedef Qos-policy-account-enum { + type enumeration { + enum "qos-serv-policy-no-ac-count-pref" { + description + "qos serv policy no ac count pref"; + } + enum "qos-serv-policy-ac-count-l2" { + description + "qos serv policy ac count l2"; + } + enum "qos-serv-policy-no-ac-count-l2" { + description + "qos serv policy no ac count l2"; + } + enum "qos-serv-policy-ac-count-user-def" { + description + "qos serv policy ac count user def"; + } + enum "qos-serv-policy-ac-count-l1" { + description + "qos serv policy ac count l1"; + } + } + description + "Qos policy account enum"; + } + + grouping QOS-RANGE { + description + "QOS RANGE"; + leaf range-start { + type uint8; + description + "Start value of a range"; + } + leaf range-end { + type uint8; + description + "End value of a range"; + } + } + + grouping DPA-QOSEA-SHOW-RED-MATCH-VALUES { + description + "DPA QOSEA SHOW RED MATCH VALUES"; + list dpa-qosea-show-red-match-value { + description + "dpa qosea show red match value"; + uses QOS-RANGE; + } + } + + grouping PARAMETERS { + description + "WRED parameters"; + container wred-match-value { + description + "WRED match values"; + uses DPA-QOSEA-SHOW-RED-MATCH-VALUES; + } + container config-min-threshold { + description + "Configured minimum threshold"; + uses POLICY-PARAMETER; + } + container config-max-threshold { + description + "Configured maximum threshold"; + uses POLICY-PARAMETER; + } + leaf wred-match-type { + type Dpa-qosea-show-wred; + description + "WREDMatchType"; + } + leaf hardware-min-threshold-bytes { + type uint32; + description + "Hardware minimum threshold"; + } + leaf hardware-max-threshold-bytes { + type uint32; + description + "Hardware maximum threshold"; + } + leaf first-segment { + type uint16; + description + "First segment"; + } + leaf segment-size { + type uint32; + description + "Segment size"; + } + leaf config-max-probability { + type uint32; + description + "Configured Max Probability"; + } + leaf hardware-max-probability { + type uint32; + description + "Max Probability programmed in HW x 100"; + } + } + + grouping POLICER-ACTION { + description + "POLICER ACTION"; + leaf action-type { + type Dpa-qosea-show-action; + description + "Policer action type"; + } + list mark { + description + "Action mark"; + uses QOS-MARK; + } + } + + grouping DQL-POLICY-PARAMETER { + description + "DQL Policy parameter"; + leaf class0-policy-value { + type uint32; + description + "Discard Class0 Policy value"; + } + leaf class1-policy-value { + type uint32; + description + "Discard Class1 Policy value"; + } + leaf dql-policy-unit { + type Policy-param-unit; + description + "DQL Policy unit"; + } + } + + grouping POLICY-PARAMETER { + description + "Policy parameter"; + leaf policy-value { + type uint32; + description + "Policy value"; + } + leaf policy-unit { + type Policy-param-unit; + description + "Policy unit"; + } + } + + grouping QOS-MARK { + description + "QoS mark"; + leaf mark-type { + type Dpa-qosea-show-mark; + description + "Mark type"; + } + leaf mark-value { + type uint16; + description + "Mark value"; + } + } + + grouping DPA-QOSEA-SHOW-CLASS-ST { + description + "QoS policy"; + container config-max-rate { + description + "Configured maximum rate"; + uses POLICY-PARAMETER; + } + container config-min-rate { + description + "Configured minimum rate"; + uses POLICY-PARAMETER; + } + container config-queue-limit { + description + "Configured queue limit"; + uses POLICY-PARAMETER; + } + container config-d-queue-limit { + description + "Configured Dual queue limit"; + uses DQL-POLICY-PARAMETER; + } + container config-policer-average-rate { + description + "Configured policer average rate"; + uses POLICY-PARAMETER; + } + container config-policer-peak-rate { + description + "Config policer peak rate"; + uses POLICY-PARAMETER; + } + container config-policer-conform-burst { + description + "Configured policer conform burst"; + uses POLICY-PARAMETER; + } + container config-policer-excess-burst { + description + "Configured policer excess burst"; + uses POLICY-PARAMETER; + } + container conform-action { + description + "Conform action"; + uses POLICER-ACTION; + } + container exceed-action { + description + "Exceed action"; + uses POLICER-ACTION; + } + container violate-action { + description + "Violate action"; + uses POLICER-ACTION; + } + leaf class-level { + type Dpa-qosea-show-level; + description + "Class level"; + } + leaf egress-queue-id { + type int32; + description + "Egress Queue ID"; + } + leaf queue-type { + type Dpa-qosea-show-queue; + description + "Queue type"; + } + leaf priority-level { + type Dpa-qosea-show-hp-level; + description + "Priority level"; + } + leaf hardware-max-rate-kbps { + type uint32; + units "kbit/s"; + description + "Hardware maximum rate in kbps"; + } + leaf hardware-min-rate-kbps { + type uint32; + units "kbit/s"; + description + "Hardware minimum rate in kbps"; + } + leaf config-excess-bandwidth-percent { + type uint32; + units "percentage"; + description + "Configured excess bandwidth percentage"; + } + leaf config-excess-bandwidth-unit { + type uint32; + description + "Configured excess bandwidth unit"; + } + leaf hardware-excess-bandwidth-weight { + type uint32; + description + "Hardware excess bandwidth weight"; + } + leaf network-min-bandwidth-kbps { + type uint32; + description + "Network minimum Bandwith"; + } + leaf hardware-queue-limit-bytes { + type uint64; + units "byte"; + description + "Hardware queue limit in bytes"; + } + leaf hardware-queue-limit-microseconds { + type uint64; + units "microsecond"; + description + "Hardware queue limit in microseconds"; + } + leaf hardware-class1-queue-limit-bytes { + type uint64; + units "byte"; + description + "Class1 Hardware queue limit in bytes"; + } + leaf hardware-class1-queue-limit-microseconds { + type uint64; + units "microsecond"; + description + "Class1 Hardware queue limit in microseconds"; + } + leaf policer-bucket-id { + type uint32; + description + "PolicerBucketID"; + } + leaf policer-stats-handle { + type uint64; + description + "PolicerStatsHandle"; + } + leaf hardware-policer-average-rate-kbps { + type uint64; + units "kbit/s"; + description + "Hardware policer average in kbps"; + } + leaf hardware-policer-peak-rate-kbps { + type uint64; + description + "Hardware policer peak rate"; + } + leaf hardware-policer-conform-burst-bytes { + type uint32; + description + "Hardware policer conform burst"; + } + leaf hardware-policer-excess-burst-bytes { + type uint32; + description + "Hardware policer excess burst"; + } + leaf ecn-enabled { + type boolean; + description + "ECN Enabled"; + } + list ip-mark { + description + "IP mark"; + uses QOS-MARK; + } + list common-mark { + description + "Common mark"; + uses QOS-MARK; + } + list mpls-mark { + description + "MPLS mark"; + uses QOS-MARK; + } + list wred { + description + "WRED parameters"; + uses PARAMETERS; + } + } + + grouping DPA-QOSEA-SHOW-IF-QOS-INFO-ST { + description + "Policy Details"; + leaf npu-id { + type uint32; + description + "NPU ID"; + } + leaf interface-handle { + type uint32; + description + "InterfaceHandle"; + } + leaf interface-bandwidth-kbps { + type uint64; + units "kbit/s"; + description + "Interface Bandwidth (in kbps)"; + } + leaf policy-name { + type string { + length "0..64"; + } + description + "Policy name"; + } + leaf total-number-of-classes { + type uint16; + description + "Number of Classes"; + } + leaf voq-base-address { + type uint32; + description + "VOQ base address"; + } + leaf voq-stats-handle { + type uint64; + description + "VOQ stats handle"; + } + leaf stats-accounting-type { + type Qos-policy-account-enum; + description + "QoS Statistics Accounting Type"; + } + leaf policy-status { + type Dpa-qosea-show-policy-status; + description + "Policy Status"; + } + leaf interface-status { + type Dpa-qosea-show-intf-status; + description + "Interface Status"; + } + leaf voq-mode { + type uint8; + description + "VOQ Mode"; + } + leaf shared-counter-mode { + type uint8; + description + "Shared Counter Mode"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper.yang new file mode 100644 index 000000000..0e0cf931a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-8000-qos-oper.yang @@ -0,0 +1,208 @@ +module Cisco-IOS-XR-8000-qos-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-8000-qos-oper"; + prefix xr-8000-qos-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-8000-qos-oper-sub2 { + revision-date 2021-06-28; + } + include Cisco-IOS-XR-8000-qos-oper-sub1 { + revision-date 2021-06-28; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-qos package operational data. + + This module contains definitions + for the following management objects: + platform-qos: DPA QoS EA operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-28 { + description + "Configured Max probability for RED ECN"; + semver:module-version "1.0.0"; + } + revision 2021-03-11 { + description + "Fix parent policy class default display"; + } + revision 2020-09-14 { + description + "Converted Policer HW value to 64 bit."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping POLICY-DETAILS { + description + "Common node of interface, bundle-interface, + member-interface"; + container policy-details { + description + "QoS Policy Details"; + uses DPA-QOSEA-SHOW-IF-QOS-INFO-ST; + } + } + + grouping CLASS-TABLE { + description + "Common node of interface, bundle-interface, + member-interface"; + container classes { + description + "QoS list of class names"; + list class { + key "level-one-class-name"; + description + "QoS policy class"; + leaf level-one-class-name { + type string; + description + "QoS policy class name at level 1"; + } + leaf level-two-class-name { + type string; + description + "QoS policy child class name at level 2"; + } + uses DPA-QOSEA-SHOW-CLASS-ST; + } + } + } + + container platform-qos { + config false; + description + "DPA QoS EA operational data"; + container nodes { + description + "List of nodes with platform specific QoS + configuration"; + list node { + key "node-name"; + description + "Node with platform specific QoS configuration"; + container interfaces { + description + "QoS list of interfaces"; + list interface { + description + "QoS interface names"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + leaf qos-direction { + type string; + description + "The interface direction on which QoS is + applied to."; + } + leaf policy-name { + type string; + description + "The QoS policy name."; + } + uses POLICY-DETAILS; + uses CLASS-TABLE; + } + } + container bundle-interfaces { + description + "QoS list of bundle interfaces"; + list bundle-interface { + description + "QoS interface names"; + container member-interfaces { + description + "QoS list of member interfaces"; + list member-interface { + key "interface-name"; + description + "QoS interface names"; + leaf interface-name { + type xr:Interface-name; + description + "Member interface"; + } + uses POLICY-DETAILS; + uses CLASS-TABLE; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Bundle interface name"; + } + leaf npu-id { + type uint32; + description + "NPU ID"; + } + leaf qos-direction { + type string; + description + "The interface direction on which QoS is + applied to."; + } + leaf policy-name { + type string; + description + "The QoS policy name."; + } + uses POLICY-DETAILS; + uses CLASS-TABLE; + } + } + container remote-interfaces { + description + "QoS list of remote interfaces"; + list remote-interface { + key "interface-name"; + description + "QoS remote interface names"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the remote interface"; + } + uses DPA-QOSEA-SHOW-REMOTE-IF-INFO-ST; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-act.yang new file mode 100644 index 000000000..f208ee6f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-act.yang @@ -0,0 +1,103 @@ +module Cisco-IOS-XR-Ethernet-SPAN-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-act"; + prefix ethernet-span-act; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR Ethernet-SPAN action commands. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-22 { + description + "Remove unnecessary module imports + 2020-11-09 + First implementation of action yang for File destinations"; + semver:module-version "1.0.0"; + } + + rpc packet-collection-start { + description + "Start packet collection on this session"; + input { + leaf session { + type string { + length "1..63"; + } + mandatory true; + description + "Session name"; + } + } + xr:xr-task "ethernet-services"; + xr:cli-command "monitor-session packet-collection start"; + } + rpc packet-collection-stop-discard { + description + "Stop packet collection on this session and discard data in buffer"; + input { + leaf session { + type string { + length "1..63"; + } + mandatory true; + description + "Session name"; + } + } + xr:xr-task "ethernet-services"; + xr:cli-command "monitor-session packet-collection stop discard-data"; + } + rpc packet-collection-stop-write { + description + "Stop packet collection on this session and write contents to file"; + input { + leaf session { + type string { + length "1..63"; + } + mandatory true; + description + "Session name"; + } + leaf dirname { + type string { + length "1..63"; + } + mandatory true; + description + "Directory name"; + } + leaf filename { + type string { + length "1..63"; + } + mandatory true; + description + "File name"; + } + } + xr:xr-task "ethernet-services"; + xr:cli-command "monitor-session packet-collection stop write directory filename "; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-cfg.yang new file mode 100644 index 000000000..540effa1e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-cfg.yang @@ -0,0 +1,1117 @@ +module Cisco-IOS-XR-Ethernet-SPAN-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-cfg"; + prefix ethernet-span-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-Ethernet-SPAN-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-l2vpn-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR Ethernet-SPAN package configuration. + + This module contains definitions + for the following management objects: + span-monitor-session: none + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-l2vpn-cfg + modules with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-29 { + description + "Change Buffer Drop references to Traffic Management + 2022-06-17 + Added support for ACL merge groups + 2022-04-13 + Added support for mirroring dropped packets + 2021-09-15 + Added support for mirror first configured on sessions"; + semver:module-version "4.1.0"; + } + revision 2021-07-19 { + description + "Added extended range of values to mirror interval sampling + 2021-06-02 + Added support for non-default VRFs and router-id"; + semver:module-version "4.0.0"; + } + revision 2020-12-03 { + description + "Added support for multiple attachments per class on an interface + 2020-09-14 + Added support for mirror rx and tx traffic to separate destinations"; + semver:module-version "3.1.0"; + } + revision 2020-01-30 { + description + "Added support for L3 IPv4 and IPv6 ACLs on a L2 ethernet SPAN session + 2019-12-12 + Added support for file format and PCAP filter expressions under file"; + semver:module-version "3.0.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes. + 2019-05-12 + Added support for file destinations."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Spantm-drops-direction { + type enumeration { + enum "rx" { + value 4; + description + "Rx dropped packet mirroring"; + } + enum "tx" { + value 8; + description + "Tx dropped packet mirroring"; + } + enum "rx-tx" { + value 12; + description + "Both Rx and Tx dropped packet mirroring"; + } + } + description + "Spantm drops direction"; + } + + typedef Span-forward-drops-direction { + type enumeration { + enum "rx" { + value 1; + description + "Rx dropped packet mirroring"; + } + enum "tx" { + value 2; + description + "Tx dropped packet mirroring"; + } + enum "rx-tx" { + value 3; + description + "Both Rx and Tx dropped packet mirroring"; + } + } + description + "Span forward drops direction"; + } + + typedef Span-traffic-direction { + type enumeration { + enum "rx-only" { + value 1; + description + "Replicate only received (ingress) traffic"; + } + enum "tx-only" { + value 2; + description + "Replicate only transmitted (egress) traffic"; + } + } + description + "Span traffic direction"; + } + + typedef Span-mirror-interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1k" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2k" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4k" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8k" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16k" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + enum "2" { + value 7; + description + "Mirror 1 in every 2 packets"; + } + enum "4" { + value 8; + description + "Mirror 1 in every 4 packets"; + } + enum "8" { + value 9; + description + "Mirror 1 in every 8 packets"; + } + enum "16" { + value 10; + description + "Mirror 1 in every 16 packets"; + } + enum "32" { + value 11; + description + "Mirror 1 in every 32 packets"; + } + enum "64" { + value 12; + description + "Mirror 1 in every 64 packets"; + } + enum "128" { + value 13; + description + "Mirror 1 in every 128 packets"; + } + enum "256" { + value 14; + description + "Mirror 1 in every 256 packets"; + } + } + description + "Span mirror interval"; + } + + typedef Span-destination { + type enumeration { + enum "interface" { + value 0; + description + "Destination Interface"; + } + enum "pseudowire" { + value 1; + description + "Destination Pseudowire"; + } + enum "ipv4-address" { + value 2; + description + "Destination next-hop IPv4 address"; + } + enum "ipv6-address" { + value 3; + description + "Destination next-hop IPv6 address"; + } + enum "file" { + value 5; + description + "Destination File"; + } + enum "udp" { + value 6; + description + "Destination IP address over UDP"; + } + } + description + "Span destination"; + } + + typedef Span-buffer { + type enumeration { + enum "circular" { + value 1; + description + "File buffer circular"; + } + enum "linear" { + value 2; + description + "File buffer linear"; + } + } + description + "Span buffer"; + } + + typedef Span-file-format { + type enumeration { + enum "pcapng" { + value 2; + description + "File format pcapng"; + } + } + description + "Span file format"; + } + + typedef Span-buffer-size { + type uint32; + description + "Span buffer size"; + } + + grouping IPV6ACL { + description + "Common node of span-monitor-session, + span-monitor-session, span-attachment"; + container ipv6acl { + presence "Indicates a ipv6acl node is configured."; + description + "Enable IPv6 ACL matching for traffic mirroring"; + leaf acl-enable { + type empty; + mandatory true; + description + "Enable ACL"; + } + leaf acl-name { + type dt1:Span-acl-name; + description + "ACL Name"; + } + leaf merge-group { + type uint32; + description + "merge group"; + } + leaf priority { + type uint32; + description + "priority"; + } + } + } + + grouping SPAN-ATTACHMENT-TABLE { + description + "Common node of interface-configuration, + l2-transport"; + container span-attachments { + description + "Monitor Session container for this source + interface"; + list span-attachment { + key "session-name"; + description + "Configuration for a particular Monitor Session"; + leaf session-name { + type dt1:Span-session-name; + description + "Session Name"; + } + uses MIRROR-FIRST; + uses MIRROR-INTERVAL; + uses ATTACHMENT-CONFIG; + uses ACL; + uses DROPS; + uses IPV4ACL; + uses IPV6ACL; + } + } + } + + grouping ETHERNET-SPAN-DYN-TMPL-CFG-SPAN-ATTACHMENT-TABLE { + description + "Common node of interface-configuration, + l2-transportCommon node of ip-subscriber, ppp, + subscriber-service"; + container span-attachments { + description + "Monitor Session container for this source + interface"; + list span-attachment { + key "session-name"; + description + "Configuration for a particular Monitor Session"; + leaf session-name { + type dt1:Span-session-name; + description + "Session Name"; + } + uses MIRROR-FIRST; + uses MIRROR-INTERVAL; + uses ATTACHMENT-CONFIG; + uses ACL; + } + } + } + + grouping MIRROR-INTERVAL { + description + "Common node of span-monitor-session, + span-monitor-session, span-attachment, + span-attachment"; + leaf mirror-interval { + type Span-mirror-interval; + description + "Specify the mirror interval"; + } + } + + grouping DROPS { + description + "Common node of span-monitor-session, + span-monitor-session, span-attachment"; + leaf drops { + type boolean; + description + "Specify whether or not to mirror dropped packets"; + } + } + + grouping MIRROR-FIRST { + description + "Common node of span-monitor-session, + span-monitor-session, span-attachment, + span-attachment"; + leaf mirror-first { + type uint32 { + range "1..10000"; + } + units "byte"; + description + "Mirror a specified number of bytes from start of + packet"; + } + } + + grouping SPAN-MONITOR-SESSION-TABLE { + description + "Common node of ip-subscriber, ppp, + subscriber-service"; + container span-monitor-sessions { + status deprecated; + description + "Monitor Session container for this template"; + list span-monitor-session { + key "session-class"; + description + "Configuration for a particular class of Monitor + Session"; + leaf session-class { + type dt1:Span-session-class; + description + "Session Class"; + } + uses MIRROR-FIRST; + uses ATTACHMENT; + uses MIRROR-INTERVAL; + uses ETHERNET-SPAN-ATTACH-CFG-ACL; + uses DROPS; + uses IPV4ACL; + uses IPV6ACL; + } + } + } + + grouping ETHERNET-SPAN-INTERFACE-CFG-SPAN-MONITOR-SESSION-TABLE { + description + "Common node of ip-subscriber, ppp, + subscriber-serviceCommon node of + interface-configuration, l2-transport"; + container span-monitor-sessions { + status deprecated; + description + "Monitor Session container for this source + interface"; + list span-monitor-session { + key "session-class"; + description + "Configuration for a particular class of Monitor + Session"; + leaf session-class { + type dt1:Span-session-class; + description + "Session Class"; + } + uses MIRROR-FIRST; + uses ATTACHMENT; + uses MIRROR-INTERVAL; + uses ETHERNET-SPAN-ATTACH-CFG-ACL; + uses DROPS; + uses IPV4ACL; + uses IPV6ACL; + } + } + } + + grouping ACL { + description + "Common node of span-attachment, span-attachment"; + container acl { + presence "Indicates a acl node is configured."; + description + "Enable ACL matching for traffic mirroring"; + leaf acl-enable { + type empty; + mandatory true; + description + "Enable ACL"; + } + leaf acl-name { + type dt1:Span-acl-name; + description + "ACL Name"; + } + leaf merge-group { + type uint32; + description + "merge group"; + } + leaf priority { + type uint32; + description + "priority"; + } + } + } + + grouping ETHERNET-SPAN-ATTACH-CFG-ACL { + description + "Common node of span-attachment, + span-attachmentCommon node of + span-monitor-session, span-monitor-session"; + container acl { + presence "Indicates a acl node is configured."; + description + "Enable ACL matching for traffic mirroring"; + leaf acl-enable { + type empty; + mandatory true; + description + "Enable ACL"; + } + leaf acl-name { + type dt1:Span-acl-name; + description + "ACL Name"; + } + } + } + + grouping ATTACHMENT-CONFIG { + description + "Common node of span-attachment, span-attachment"; + container attachment-config { + presence "Indicates a attachment-config node is configured."; + description + "Attach the interface to a Monitor Session"; + leaf session-class { + type dt1:Span-session-class; + mandatory true; + description + "Traffic class for the session"; + } + leaf direction { + type Span-traffic-direction; + description + "Specify the direction of traffic to replicate + (optional)"; + } + leaf port-level-enable { + type empty; + description + "Enable port level traffic mirroring"; + } + } + } + + grouping IPV4ACL { + description + "Common node of span-monitor-session, + span-monitor-session, span-attachment"; + container ipv4acl { + presence "Indicates a ipv4acl node is configured."; + description + "Enable IPv4 ACL matching for traffic mirroring"; + leaf acl-enable { + type empty; + mandatory true; + description + "Enable ACL"; + } + leaf acl-name { + type dt1:Span-acl-name; + description + "ACL Name"; + } + leaf merge-group { + type uint32; + description + "merge group"; + } + leaf priority { + type uint32; + description + "priority"; + } + } + } + + grouping ATTACHMENT { + description + "Common node of span-monitor-session, + span-monitor-session"; + container attachment { + presence "Indicates a attachment node is configured."; + description + "Attach the interface to a Monitor Session"; + leaf session-name { + type dt1:Span-session-name; + mandatory true; + description + "Session Name"; + } + leaf direction { + type Span-traffic-direction; + description + "Specify the direction of traffic to replicate + (optional)"; + } + leaf port-level-enable { + type empty; + description + "Enable port level traffic mirroring"; + } + } + } + + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + uses ETHERNET-SPAN-INTERFACE-CFG-SPAN-MONITOR-SESSION-TABLE; + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + uses ETHERNET-SPAN-INTERFACE-CFG-SPAN-MONITOR-SESSION-TABLE; + } + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + uses SPAN-ATTACHMENT-TABLE; + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + uses SPAN-ATTACHMENT-TABLE; + } + container span-monitor-session { + description + "none"; + container sessions { + description + "Monitor-session configuration commands"; + list session { + key "session"; + description + "Configuration for a particular Monitor Session"; + container destination-rx { + description + "Specify a destination for Rx direction traffic"; + leaf destination-type { + type Span-destination; + description + "Specify the type of destination"; + } + leaf destination-interface-name { + when "../destination-type = 'interface' or ../destination-type = 'udp'" { + description + "../DestinationType = Interface or . + ./DestinationType = UDP"; + } + type xr:Interface-name; + description + "Specify the destination interface name"; + } + leaf destination-ipv4-address { + when "../destination-type = 'ipv4-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv4Address or . + ./DestinationType = UDP"; + } + type inet:ipv4-address-no-zone; + description + "Specify the destination IPv4 address"; + } + leaf destination-ipv6-address { + when "../destination-type = 'ipv6-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv6Address or . + ./DestinationType = UDP"; + } + type inet:ipv6-address-no-zone; + description + "Specify the destination IPv6 address"; + } + leaf destination-buffer-size { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-buffer-size; + units "kilobyte"; + description + "Specify buffer size in kilobytes for + destination file"; + } + leaf destination-buffer-type { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-buffer; + description + "Specify the buffer type for destination file"; + } + leaf destination-port { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type uint32; + description + "Specify the destination port"; + } + leaf source-ipv4-address { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type inet:ipv4-address-no-zone; + description + "Specify the source IPv4 address"; + } + leaf source-ipv6-address { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type inet:ipv6-address-no-zone; + description + "Specify the source IPv6 address"; + } + leaf source-port { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type uint32; + description + "Specify the source port"; + } + leaf vrf-name { + when "../destination-type = 'ipv4-address' or ../destination-type = 'ipv6-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv4Address or . + ./DestinationType = IPv6Address or . + ./DestinationType = UDP"; + } + type string; + description + "Specify the VRF name"; + } + leaf destination-file-format { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-file-format; + description + "Specify the file format"; + } + leaf destination-pcap-filter { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type string; + description + "Specify a pcap filter"; + } + } + container cloud-span { + description + "CloudSPAN configuration options for this + session"; + leaf cloud-span-enable { + type empty; + description + "Enable CloudSPAN on this session"; + } + } + container destination-tx { + description + "Specify a destination for Tx direction traffic"; + leaf destination-type { + type Span-destination; + description + "Specify the type of destination"; + } + leaf destination-interface-name { + when "../destination-type = 'interface' or ../destination-type = 'udp'" { + description + "../DestinationType = Interface or . + ./DestinationType = UDP"; + } + type xr:Interface-name; + description + "Specify the destination interface name"; + } + leaf destination-ipv4-address { + when "../destination-type = 'ipv4-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv4Address or . + ./DestinationType = UDP"; + } + type inet:ipv4-address-no-zone; + description + "Specify the destination IPv4 address"; + } + leaf destination-ipv6-address { + when "../destination-type = 'ipv6-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv6Address or . + ./DestinationType = UDP"; + } + type inet:ipv6-address-no-zone; + description + "Specify the destination IPv6 address"; + } + leaf destination-buffer-size { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-buffer-size; + units "kilobyte"; + description + "Specify buffer size in kilobytes for + destination file"; + } + leaf destination-buffer-type { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-buffer; + description + "Specify the buffer type for destination file"; + } + leaf destination-port { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type uint32; + description + "Specify the destination port"; + } + leaf source-ipv4-address { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type inet:ipv4-address-no-zone; + description + "Specify the source IPv4 address"; + } + leaf source-ipv6-address { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type inet:ipv6-address-no-zone; + description + "Specify the source IPv6 address"; + } + leaf source-port { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type uint32; + description + "Specify the source port"; + } + leaf vrf-name { + when "../destination-type = 'ipv4-address' or ../destination-type = 'ipv6-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv4Address or . + ./DestinationType = IPv6Address or . + ./DestinationType = UDP"; + } + type string; + description + "Specify the VRF name"; + } + leaf destination-file-format { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-file-format; + description + "Specify the file format"; + } + leaf destination-pcap-filter { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type string; + description + "Specify a pcap filter"; + } + } + container destination { + description + "Specify a destination"; + leaf destination-type { + type Span-destination; + description + "Specify the type of destination"; + } + leaf destination-interface-name { + when "../destination-type = 'interface' or ../destination-type = 'udp'" { + description + "../DestinationType = Interface or . + ./DestinationType = UDP"; + } + type xr:Interface-name; + description + "Specify the destination interface name"; + } + leaf destination-ipv4-address { + when "../destination-type = 'ipv4-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv4Address or . + ./DestinationType = UDP"; + } + type inet:ipv4-address-no-zone; + description + "Specify the destination IPv4 address"; + } + leaf destination-ipv6-address { + when "../destination-type = 'ipv6-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv6Address or . + ./DestinationType = UDP"; + } + type inet:ipv6-address-no-zone; + description + "Specify the destination IPv6 address"; + } + leaf destination-buffer-size { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-buffer-size; + units "kilobyte"; + description + "Specify buffer size in kilobytes for + destination file"; + } + leaf destination-buffer-type { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-buffer; + description + "Specify the buffer type for destination file"; + } + leaf destination-port { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type uint32; + description + "Specify the destination port"; + } + leaf source-ipv4-address { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type inet:ipv4-address-no-zone; + description + "Specify the source IPv4 address"; + } + leaf source-ipv6-address { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type inet:ipv6-address-no-zone; + description + "Specify the source IPv6 address"; + } + leaf source-port { + when "../destination-type = 'udp'" { + description + "../DestinationType = UDP"; + } + type uint32; + description + "Specify the source port"; + } + leaf vrf-name { + when "../destination-type = 'ipv4-address' or ../destination-type = 'ipv6-address' or ../destination-type = 'udp'" { + description + "../DestinationType = IPv4Address or . + ./DestinationType = IPv6Address or . + ./DestinationType = UDP"; + } + type string; + description + "Specify the VRF name"; + } + leaf destination-file-format { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type Span-file-format; + description + "Specify the file format"; + } + leaf destination-pcap-filter { + when "../destination-type = 'file'" { + description + "../DestinationType = File"; + } + type string; + description + "Specify a pcap filter"; + } + } + leaf class { + type dt1:Span-session-class; + mandatory true; + description + "Enable a Monitor Session. Setting this item + causes the Monitor Session to be created."; + } + leaf forward-drops { + type Span-forward-drops-direction; + description + "Specify the direction to mirror dropped + packets"; + } + leaf mirror-first { + type uint32 { + range "1..10000"; + } + units "byte"; + description + "Mirror a specified number of bytes from start + of packet"; + } + leaf tm-drops { + type Spantm-drops-direction; + description + "Specify the direction to mirror dropped + packets"; + } + leaf discard-class { + type uint32 { + range "0..7"; + } + description + "Specify the discard class value to be set on + all traffic mirrored to the destination"; + } + leaf inject-interface { + type xr:Interface-name; + description + "Specify the inject interface name"; + } + leaf traffic-class { + type uint32 { + range "0..7"; + } + description + "Specify the traffic class value to be set on + all traffic mirrored to the destination"; + } + leaf session { + type dt1:Span-session-name; + description + "Session Name"; + } + } + } + leaf router-id { + type uint32 { + range "1..255"; + } + description + "Specify the Router ID for this router"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-datatypes.yang new file mode 100644 index 000000000..421a90a28 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-datatypes.yang @@ -0,0 +1,103 @@ +module Cisco-IOS-XR-Ethernet-SPAN-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-datatypes"; + prefix ethernet-span-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Span-session-name { + type string { + length "1..79"; + } + description + "Span session name"; + } + + typedef Span-session-class { + type enumeration { + enum "ethernet" { + value 0; + description + "Mirror Ethernet packets"; + } + enum "ipv4" { + value 1; + description + "Mirror IPv4 packets"; + } + enum "ipv6" { + value 2; + description + "Mirror IPv6 packets"; + } + enum "mpls-ipv4" { + value 3; + description + "Mirror MPLS-encapsulated IPv4 packets"; + } + enum "mpls-ipv6" { + value 4; + description + "Mirror MPLS-encapsulated IPv6 packets"; + } + } + description + "Span session class"; + } + + typedef Span-acl-name { + type string { + length "1..80"; + } + description + "Span acl name"; + } + + typedef Span-session-id { + type uint32; + description + "Span session id"; + } + + typedef Span-session-class-old { + type enumeration { + enum "true" { + value 0; + description + "Mirror Ethernet packets"; + } + } + description + "Span session class old"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub1.yang new file mode 100644 index 000000000..c9e796a3c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub1.yang @@ -0,0 +1,1039 @@ +submodule Cisco-IOS-XR-Ethernet-SPAN-oper-sub1 { + belongs-to Cisco-IOS-XR-Ethernet-SPAN-oper { + prefix Cisco-IOS-XR-Ethernet-SPAN-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR Ethernet-SPAN package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Operational data for GRE tunnel interfaces + 2022-09-05 + Operational data for GRE tunnel interfaces + 2022-06-29 + Change Buffer Drop references to Traffic Management + 2022-06-17 + Added support for ACL merge groups + 2022-05-27 + Added support for per-session statistics. + 2022-04-13 + Added support for mirroring dropped packets + 2021-09-15 + Added support for mirror first configured on sessions"; + semver:module-version "5.0.1m"; + } + revision 2021-07-19 { + description + "Added extended range of values to mirror interval sampling + 2021-06-02 + Added support for non-default VRFs and router-id"; + semver:module-version "5.0.0"; + } + revision 2020-12-03 { + description + "Added support for multiple attachments per class on an interface + 2020-09-14 + Added support for mirror rx and tx traffic to separate destinations + 2020-04-03 + Added support for bundle destinations."; + semver:module-version "4.0.0"; + } + revision 2020-01-30 { + description + "Added support for L3 IPv4 and IPv6 ACLs on a L2 ethernet SPAN session + 2019-12-12 + Added support for file format and PCAP filter expressions under file + 2019-10-02 + Added support for UDP destinations and CloudSPAN."; + semver:module-version "3.0.0"; + } + revision 2019-05-12 { + description + "Added support for file destinations."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mac-address { + type yang:mac-address; + description + "MAC address type"; + } + + typedef Mirror-interval { + type enumeration { + enum "mirror-interval-all" { + value 0; + description + "Mirror all packets"; + } + enum "mirror-interval512" { + value 1; + description + "Mirror Interval 512"; + } + enum "mirror-interval1k" { + value 2; + description + "Mirror Interval 1K"; + } + enum "mirror-interval2k" { + value 3; + description + "Mirror Interval 2K"; + } + enum "mirror-interval4k" { + value 4; + description + "Mirror Interval 4K"; + } + enum "mirror-interval8k" { + value 5; + description + "Mirror Interval 8K"; + } + enum "mirror-interval16k" { + value 6; + description + "Mirror Interval 16K"; + } + enum "mirror-interval2" { + value 7; + description + "Mirror Interval 2"; + } + enum "mirror-interval4" { + value 8; + description + "Mirror Interval 4"; + } + enum "mirror-interval8" { + value 9; + description + "Mirror Interval 8"; + } + enum "mirror-interval16" { + value 10; + description + "Mirror Interval 16"; + } + enum "mirror-interval32" { + value 11; + description + "Mirror Interval 32"; + } + enum "mirror-interval64" { + value 12; + description + "Mirror Interval 64"; + } + enum "mirror-interval128" { + value 13; + description + "Mirror Interval 128"; + } + enum "mirror-interval256" { + value 14; + description + "Mirror Interval 256"; + } + } + description + "Monitor-session mirror intervals"; + } + + typedef Traffic-direction { + type enumeration { + enum "invalid" { + value 0; + description + "Invalid"; + } + enum "rx-only" { + value 1; + description + "Received"; + } + enum "tx-only" { + value 2; + description + "Transmitted"; + } + enum "both" { + value 3; + description + "Both"; + } + } + description + "Monitor-session traffic directions"; + } + + typedef Optional-value { + type uint32; + description + "Optional Value"; + } + + typedef Udp-address { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4 Address"; + } + enum "ipv6" { + value 1; + description + "IPv6 Address"; + } + } + description + "UDP Address Type"; + } + + typedef File-format { + type enumeration { + enum "invalid-format" { + value 0; + description + "Invalid file format"; + } + enum "pcap-format" { + value 1; + description + "PCAP file format"; + } + enum "pcapng-format" { + value 2; + description + "PCAPNG file format"; + } + } + description + "File Format"; + } + + typedef Buffer { + type enumeration { + enum "invalid-buffer" { + value 0; + description + "Invalid buffer type"; + } + enum "circular-buffer" { + value 1; + description + "Circular buffer type"; + } + enum "linear-buffer" { + value 2; + description + "Linear buffer type"; + } + } + description + "Buffer type"; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Destination-name-string { + type string; + description + "Destination name string"; + } + + typedef Destination-class { + type enumeration { + enum "interface-class" { + value 0; + description + "Destination is an interface"; + } + enum "pseudowire-class" { + value 1; + description + "Destination is a pseudowire"; + } + enum "next-hop-ipv4-class" { + value 2; + description + "Destination is a next-hop IPv4 address"; + } + enum "next-hop-ipv6-class" { + value 3; + description + "Destination is a next-hop IPv6 address"; + } + enum "gre-tunnel-class" { + value 4; + description + "Destination is a GRE Tunnel"; + } + enum "file-class" { + value 5; + description + "Destination is a file"; + } + enum "udp-class" { + value 6; + description + "Destination is over UDP"; + } + enum "bundle-class" { + value 7; + description + "Destination is a bundle"; + } + enum "invalid-class" { + value 255; + description + "Destination is not specified"; + } + } + description + "Destination class"; + } + + typedef Session-class { + type enumeration { + enum "ethernet-class" { + value 0; + description + "Ethernet mirroring session"; + } + enum "ipv4-class" { + value 1; + description + "IPv4 mirroring session"; + } + enum "ipv6-class" { + value 2; + description + "IPv6 mirroring session"; + } + enum "mplsipv4-class" { + value 3; + description + "MPLS-IPv4 mirroring session"; + } + enum "mplsipv6-class" { + value 4; + description + "MPLS-IPv6 mirroring session"; + } + enum "invalid-class" { + value 65535; + description + "Invalid session class"; + } + } + description + "Session class"; + } + + grouping SPAN-BAG-MBR-INFO { + description + "SPAN EA Bundle Member Information"; + leaf interface-handle { + type xr:Interface-name; + description + "InterfaceHandle"; + } + } + + grouping SPAN-BAG-BDL-INFO { + description + "SPAN EA Bundle Information"; + leaf is-bundle { + type boolean; + description + "is bundle"; + } + list mbr-info { + description + "mbr info"; + uses SPAN-BAG-MBR-INFO; + } + } + + grouping SPAN-EA-ATTACHMENT-BAG { + description + "SPAN EA Attachment Information"; + container destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + container rx-destination-id { + description + "Rx Destination ID"; + uses DESTINATION-ID; + } + container tx-destination-id { + description + "Tx Destination ID"; + uses DESTINATION-ID; + } + container traffic-mirroring-parameters { + description + "Traffic mirroring parameters"; + uses TRAFFIC-MIRRORING-PARAMETERS; + } + container bundle-info { + description + "Bundle information"; + uses SPAN-BAG-BDL-INFO; + } + leaf class { + type Session-class; + description + "Attachment class"; + } + leaf name { + type string; + description + "Attached Session Name"; + } + leaf id { + type uint32; + description + "Numerical ID of attached session"; + } + leaf separate-destinations { + type boolean; + description + "Separate Destinations"; + } + } + + grouping SPAN-EA-INTF-BAG { + description + "SPAN EA Source Interface Information"; + container destination-id { + description + "Destination ID (deprecated by Attachment)"; + uses DESTINATION-ID; + } + container traffic-mirroring-parameters { + description + "Traffic mirroring parameters (deprecated by + Attachment)"; + uses TRAFFIC-MIRRORING-PARAMETERS; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface"; + } + leaf platform-error { + type uint32; + description + "Last error observed for this interface while + programming the hardware"; + } + leaf destination-interface { + type xr:Interface-name; + description + "Destination interface (deprecated by Attachment)"; + } + leaf traffic-direction { + type Traffic-direction; + description + "Traffic mirroring direction (deprecated by + Attachment)"; + } + list attachment { + description + "Attachment information"; + uses SPAN-EA-ATTACHMENT-BAG; + } + } + + grouping SPAN-EA-SESS-BAG { + description + "SPAN EA Session Information"; + container destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + container rx-destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + container tx-destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + container file-information { + description + "Extra information relating to SPAN to file"; + uses FILE-DST-STATE-INFO; + } + leaf id { + type uint32; + description + "Assigned numerical ID for this session"; + } + leaf name { + type string; + description + "Configured Session Name"; + } + leaf session-class-xr { + type Session-class; + description + "Session class"; + } + leaf destination-interface { + type xr:Interface-name; + description + "Destination interface (deprecated by + DestinationID, invalid for pseudowires)"; + } + leaf separate-destinations { + type boolean; + description + "Separate Destinations"; + } + leaf platform-error { + type uint32; + description + "Last error observed for this session while + programming the hardware"; + } + leaf inject-interface-ifh { + type xr:Interface-name; + description + "Inject Interface ifhandle"; + } + leaf inject-interface-mac { + type Mac-address; + description + "Inject Interface MAC address"; + } + leaf inject-interface-invalid { + type boolean; + description + "An inject interface is flagged as invalid on a + particular node if the interface exists on that + node, and there is no attachment interface + config for it"; + } + } + + grouping SPAN-BAG-ACL-PARAMS-TYPE { + description + "SPAN BAG ACL PARAMS TYPE"; + leaf merge-group { + type uint32; + description + "Merge group"; + } + leaf priority { + type uint32; + description + "Priority"; + } + } + + grouping TRAFFIC-MIRRORING-PARAMETERS { + description + "Monitor-session traffic mirroring parameters"; + container acl-params { + description + "ACL params"; + uses SPAN-BAG-ACL-PARAMS-TYPE; + } + container ipv4acl-params { + description + "ACL params"; + uses SPAN-BAG-ACL-PARAMS-TYPE; + } + container ipv6acl-params { + description + "ACL params"; + uses SPAN-BAG-ACL-PARAMS-TYPE; + } + leaf traffic-direction { + type Traffic-direction; + description + "Direction"; + } + leaf port-level { + type boolean; + description + "Port level mirroring"; + } + leaf is-acl-enabled { + type boolean; + description + "ACL enabled"; + } + leaf is-ipv4acl-enabled { + type boolean; + description + "IPv4 ACL enabled"; + } + leaf is-ipv6acl-enabled { + type boolean; + description + "IPv6 ACL enabled"; + } + leaf mirror-bytes { + type Optional-value; + units "byte"; + description + "Number of bytes to mirror"; + } + leaf mirror-interval { + type Mirror-interval; + description + "Interval between mirrored packets"; + } + leaf acl-name { + type string; + description + "ACL name"; + } + leaf ipv4acl-name { + type string; + description + "IPv4 ACL name"; + } + leaf ipv6acl-name { + type string; + description + "IPv6 ACL name"; + } + leaf is-drops-enabled { + type boolean; + description + "Mirroring dropped packets"; + } + } + + grouping CLOUD-SPAN-PROPERTIES { + description + "CloudSPAN Properties"; + leaf enabled { + type boolean; + description + "enabled"; + } + leaf router-id { + type uint8; + description + "router id"; + } + } + + grouping FILE-DST-STATE-INFO { + description + "File destination state"; + leaf is-active { + type boolean; + description + "Is Packet Collection Active"; + } + leaf file-name { + type string; + description + "File Name"; + } + leaf directory-name { + type string; + description + "Directory Name"; + } + } + + grouping BNDL-DST-CFG-INFO { + description + "Bundle destination config"; + leaf bundle-handle { + type xr:Interface-name; + description + "Bundle interface handle"; + } + leaf member-count { + type uint32; + description + "Bundle member count"; + } + leaf-list member-handle { + type xr:Interface-name; + description + "Bundle member interface handles"; + } + } + + grouping UDP-DST-CFG-INFO { + description + "UDP destination config"; + container ip-addresses { + description + "IP Addresses"; + uses UDP-ADDRESSES; + } + leaf source-port { + type uint32; + description + "Source Port"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf vrfid { + type string; + description + "VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping IPV6-NEXT-HOP-DESTINATION-ID { + description + "IPv6 next-hop destination ID"; + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 address"; + } + leaf vrf-name { + type string; + description + "VRF"; + } + } + + grouping IPV4-NEXT-HOP-DESTINATION-ID { + description + "IPv4 next-hop destination ID"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf vrf-name { + type string; + description + "VRF"; + } + } + + grouping DESTINATION-ID { + description + "Destination ID"; + container ipv4-address-and-vrf { + when "../destination-class = 'next-hop-ipv4-class'" { + description + "../DestinationClass = 'NextHopIPv4Class'"; + } + description + "IPv4 address"; + uses IPV4-NEXT-HOP-DESTINATION-ID; + } + container ipv6-address-and-vrf { + when "../destination-class = 'next-hop-ipv6-class'" { + description + "../DestinationClass = 'NextHopIPv6Class'"; + } + description + "IPv6 address"; + uses IPV6-NEXT-HOP-DESTINATION-ID; + } + container file-session-id { + when "../destination-class = 'file-class'" { + description + "../DestinationClass = 'FileClass'"; + } + description + "File Session ID"; + uses FILE-DST-CFG-INFO; + } + container udp-config { + when "../destination-class = 'udp-class'" { + description + "../DestinationClass = 'UDPClass'"; + } + description + "UDP config"; + uses UDP-DST-CFG-INFO; + } + container bundle-config { + when "../destination-class = 'bundle-class'" { + description + "../DestinationClass = 'BundleClass'"; + } + description + "Bundle config"; + uses BNDL-DST-CFG-INFO; + } + leaf destination-class { + type Destination-class; + description + "DestinationClass"; + } + leaf interface { + when "../destination-class = 'interface-class'" { + description + "../DestinationClass = 'InterfaceClass'"; + } + type xr:Interface-name; + description + "Interface Handle"; + } + leaf pseudowire-id { + when "../destination-class = 'pseudowire-class'" { + description + "../DestinationClass = 'PseudowireClass'"; + } + type Optional-value; + description + "Pseudowire XCID"; + } + leaf gre-interface { + when "../destination-class = 'gre-tunnel-class'" { + description + "../DestinationClass = 'GRETunnelClass'"; + } + type xr:Interface-name; + description + "GRE tunnel interface"; + } + leaf invalid-value { + when "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'gre-tunnel-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" { + description + "../DestinationClass != 'InterfaceClass' and . + ./DestinationClass != 'PseudowireClass' and . + ./DestinationClass != 'NextHopIPv4Class' and . + ./DestinationClass != 'NextHopIPv6Class' and . + ./DestinationClass != 'GRETunnelClass' and . + ./DestinationClass != 'FileClass' and . + ./DestinationClass != 'UDPClass' and . + ./DestinationClass != 'BundleClass'"; + } + type Optional-value; + description + "Invalid Parameter"; + } + } + + grouping UDPIPV6-ADDRESS { + description + "UDP IPv6 Address"; + leaf source-ipv6-address { + type inet:ipv6-address; + description + "Source IPv6 Address"; + } + leaf destination-ipv6-address { + type inet:ipv6-address; + description + "Destination IPv6 Address"; + } + } + + grouping UDPIPV4-ADDRESS { + description + "UDP IPv4 Address"; + leaf source-ipv4-address { + type inet:ipv4-address; + description + "Source IPv4 Address"; + } + leaf destination-ipv4-address { + type inet:ipv4-address; + description + "Destination IPv4 Address"; + } + } + + grouping UDP-ADDRESSES { + description + "UDP IP Addresses"; + container ipv4 { + when "../address-type = 'ipv4'" { + description + "../AddressType = 'IPv4'"; + } + description + "IPv4 Address"; + uses UDPIPV4-ADDRESS; + } + container ipv6 { + when "../address-type = 'ipv6'" { + description + "../AddressType = 'IPv6'"; + } + description + "IPv6 Address"; + uses UDPIPV6-ADDRESS; + } + leaf address-type { + type Udp-address; + description + "AddressType"; + } + } + + grouping FILE-DST-CFG-INFO { + description + "File destination config"; + leaf file-session-id { + type uint32; + description + "File Session ID"; + } + leaf buffer-size { + type uint32; + description + "Buffer Size"; + } + leaf buffer-type { + type Buffer; + description + "Buffer Type"; + } + leaf format { + type File-format; + description + "File Format"; + } + leaf filter { + type string; + description + "Pcap filter"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub2.yang new file mode 100644 index 000000000..d60fe5db2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub2.yang @@ -0,0 +1,239 @@ +submodule Cisco-IOS-XR-Ethernet-SPAN-oper-sub2 { + belongs-to Cisco-IOS-XR-Ethernet-SPAN-oper { + prefix Cisco-IOS-XR-Ethernet-SPAN-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-Ethernet-SPAN-oper-sub1 { + revision-date 2022-09-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR Ethernet-SPAN package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Operational data for GRE tunnel interfaces + 2022-09-05 + Operational data for GRE tunnel interfaces + 2022-06-29 + Change Buffer Drop references to Traffic Management + 2022-06-17 + Added support for ACL merge groups + 2022-05-27 + Added support for per-session statistics. + 2022-04-13 + Added support for mirroring dropped packets + 2021-09-15 + Added support for mirror first configured on sessions"; + semver:module-version "5.0.1m"; + } + revision 2021-07-19 { + description + "Added extended range of values to mirror interval sampling + 2021-06-02 + Added support for non-default VRFs and router-id"; + semver:module-version "5.0.0"; + } + revision 2020-12-03 { + description + "Added support for multiple attachments per class on an interface + 2020-09-14 + Added support for mirror rx and tx traffic to separate destinations + 2020-04-03 + Added support for bundle destinations."; + semver:module-version "4.0.0"; + } + revision 2020-01-30 { + description + "Added support for L3 IPv4 and IPv6 ACLs on a L2 ethernet SPAN session + 2019-12-12 + Added support for file format and PCAP filter expressions under file + 2019-10-02 + Added support for UDP destinations and CloudSPAN."; + semver:module-version "3.0.0"; + } + revision 2019-05-12 { + description + "Added support for file destinations."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SPAN-MA-ATT-BAG-DEST-INFO { + description + "Attachment Destination Info"; + container destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + leaf dest-pw-type-not-supported { + type boolean; + description + "The destination PW type is not supported"; + } + } + + grouping SPAN-MA-ATTACHMENT-BAG { + description + "SPAN MA Attachment Information"; + container traffic-parameters { + description + "Traffic mirroring parameters"; + uses TRAFFIC-MIRRORING-PARAMETERS; + } + container destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + container rx-destination-info { + description + "Rx Destination Info"; + uses SPAN-MA-ATT-BAG-DEST-INFO; + } + container tx-destination-info { + description + "Tx Destination Info"; + uses SPAN-MA-ATT-BAG-DEST-INFO; + } + leaf name { + type string; + description + "Session Name"; + } + leaf local-class { + type Session-class; + description + "Local attachment class"; + } + leaf id { + type uint32; + description + "Numerical ID assigned to session"; + } + leaf separate-destinations { + type boolean; + description + "Separate Destinations"; + } + leaf global-class { + type Session-class; + description + "Global session class"; + } + leaf session-is-configured { + type boolean; + description + "The Session is configured globally"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface"; + } + leaf source-interface-state { + type Im-state-enum; + description + "Source interface state"; + } + leaf pfi-error { + type uint32; + description + "Last error returned from PFI for this interface"; + } + leaf drops-config-error { + type uint32; + description + "Error returned when configuring drops config"; + } + leaf dest-pw-type-not-supported { + type boolean; + description + "The destination PW type is not supported"; + } + leaf source-interface-is-a-destination { + type boolean; + description + "This source interface is a destination for + another monitor-session"; + } + leaf destination-interface { + type xr:Interface-name; + description + "Destination interface (deprecated by + DestinationID, invalid for pseudowires)"; + } + leaf traffic-direction { + type Traffic-direction; + description + "Traffic mirroring direction (deprecated by + TrafficParameters)"; + } + } + + grouping SPAN-MA-STATISTICS-BAG { + description + "SPAN MA Statistics Information"; + leaf rx-packets-mirrored { + type uint64; + description + "RX Packets Mirrored"; + } + leaf rx-octets-mirrored { + type uint64; + description + "RX Octets Mirrored"; + } + leaf tx-packets-mirrored { + type uint64; + description + "TX Packets Mirrored"; + } + leaf tx-octets-mirrored { + type uint64; + description + "TX Octets Mirrored"; + } + leaf packets-not-mirrored { + type uint64; + description + "Packets Not Mirrored"; + } + leaf octets-not-mirrored { + type uint64; + description + "Octets Not Mirrored"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub3.yang new file mode 100644 index 000000000..a6ab02807 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper-sub3.yang @@ -0,0 +1,490 @@ +submodule Cisco-IOS-XR-Ethernet-SPAN-oper-sub3 { + belongs-to Cisco-IOS-XR-Ethernet-SPAN-oper { + prefix Cisco-IOS-XR-Ethernet-SPAN-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-Ethernet-SPAN-oper-sub1 { + revision-date 2022-09-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR Ethernet-SPAN package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Operational data for GRE tunnel interfaces + 2022-09-05 + Operational data for GRE tunnel interfaces + 2022-06-29 + Change Buffer Drop references to Traffic Management + 2022-06-17 + Added support for ACL merge groups + 2022-05-27 + Added support for per-session statistics. + 2022-04-13 + Added support for mirroring dropped packets + 2021-09-15 + Added support for mirror first configured on sessions"; + semver:module-version "5.0.1m"; + } + revision 2021-07-19 { + description + "Added extended range of values to mirror interval sampling + 2021-06-02 + Added support for non-default VRFs and router-id"; + semver:module-version "5.0.0"; + } + revision 2020-12-03 { + description + "Added support for multiple attachments per class on an interface + 2020-09-14 + Added support for mirror rx and tx traffic to separate destinations + 2020-04-03 + Added support for bundle destinations."; + semver:module-version "4.0.0"; + } + revision 2020-01-30 { + description + "Added support for L3 IPv4 and IPv6 ACLs on a L2 ethernet SPAN session + 2019-12-12 + Added support for file format and PCAP filter expressions under file + 2019-10-02 + Added support for UDP destinations and CloudSPAN."; + semver:module-version "3.0.0"; + } + revision 2019-05-12 { + description + "Added support for file destinations."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SPAN-MGR-STATISTICS-BAG { + description + "SPAN MA Statistics Information"; + leaf rx-packets-mirrored { + type uint64; + description + "RX Packets Mirrored"; + } + leaf rx-octets-mirrored { + type uint64; + description + "RX Octets Mirrored"; + } + leaf tx-packets-mirrored { + type uint64; + description + "TX Packets Mirrored"; + } + leaf tx-octets-mirrored { + type uint64; + description + "TX Octets Mirrored"; + } + leaf packets-not-mirrored { + type uint64; + description + "Packets Not Mirrored"; + } + leaf octets-not-mirrored { + type uint64; + description + "Octets Not Mirrored"; + } + } + + grouping INJECT-INTERFACE-DATA { + description + "Inject interface data"; + leaf name { + type string; + description + "Interface Name"; + } + } + + grouping SPAN-MGR-BAG-SESS-DST-INFO { + description + "SPAN MGR BAG SESS DST INFO"; + container destination-data { + description + "Destination data"; + uses DESTINATION-STATE; + } + container destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + leaf destination-error { + type uint32; + description + "Last error observed for the destination "; + } + } + + grouping DESTINATION-BUNDLE-DATA { + description + "Destination Bundle Data"; + leaf bundle-name { + type Destination-name-string; + description + "Bundle Name"; + } + leaf bundle-state { + type Im-state-enum; + description + "Bundle State"; + } + } + + grouping DESTINATION-UDP-ADDRESS-DATA { + description + "Destination UDP Address Data"; + container ip-addresses { + description + "IP Addresses"; + uses UDP-ADDRESSES; + } + leaf source-port { + type uint32; + description + "Source Port"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf vrfid { + type string; + description + "VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf is-reachable { + type boolean; + description + "Is reachable"; + } + } + + grouping DESTINATION-NEXT-HOP-IPV6-ADDRESS-DATA { + description + "Destination Next-hop IPv6 Address Data"; + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 address"; + } + leaf vrf-name { + type Destination-name-string; + description + "VRF name"; + } + leaf address-is-reachable { + type boolean; + description + "Address is reachable"; + } + } + + grouping DESTINATION-NEXT-HOP-IPV4-ADDRESS-DATA { + description + "Destination Next-hop IPv4 Address Data"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf vrf-name { + type Destination-name-string; + description + "VRF name"; + } + leaf address-is-reachable { + type boolean; + description + "Address is reachable"; + } + } + + grouping DESTINATION-PSEUDOWIRE-DATA { + description + "Destination Pseudowire Data"; + leaf pseudowire-name { + type Destination-name-string; + description + "Pseudowire Name"; + } + leaf pseudowire-is-up { + type boolean; + description + "Pseudowire State"; + } + } + + grouping DESTINATION-INTERFACE-DATA { + description + "Destination Interface Data"; + leaf interface-name { + type Destination-name-string; + description + "Interface Name"; + } + leaf interface-state { + type Im-state-enum; + description + "Interface State"; + } + } + + grouping DESTINATION-STATE { + description + "Destination state"; + container interface-data { + when "../destination-class = 'interface-class'" { + description + "../DestinationClass = 'InterfaceClass'"; + } + description + "Interface data"; + uses DESTINATION-INTERFACE-DATA; + } + container pseudowire-data { + when "../destination-class = 'pseudowire-class'" { + description + "../DestinationClass = 'PseudowireClass'"; + } + description + "Pseudowire data"; + uses DESTINATION-PSEUDOWIRE-DATA; + } + container next-hop-ipv4-data { + when "../destination-class = 'next-hop-ipv4-class'" { + description + "../DestinationClass = 'NextHopIPv4Class'"; + } + description + "Next-hop IPv4 data"; + uses DESTINATION-NEXT-HOP-IPV4-ADDRESS-DATA; + } + container next-hop-ipv6-data { + when "../destination-class = 'next-hop-ipv6-class'" { + description + "../DestinationClass = 'NextHopIPv6Class'"; + } + description + "Next-hop IPv6 data"; + uses DESTINATION-NEXT-HOP-IPV6-ADDRESS-DATA; + } + container gre-tunnel-data { + when "../destination-class = 'gre-tunnel-class'" { + description + "../DestinationClass = 'GRETunnelClass'"; + } + description + "GRE Tunnel data"; + uses DESTINATION-INTERFACE-DATA; + } + container file-data { + when "../destination-class = 'file-class'" { + description + "../DestinationClass = 'FileClass'"; + } + description + "File data"; + uses FILE-DST-CFG-INFO; + } + container udp-data { + when "../destination-class = 'udp-class'" { + description + "../DestinationClass = 'UDPClass'"; + } + description + "UDP data"; + uses DESTINATION-UDP-ADDRESS-DATA; + } + container bundle-data { + when "../destination-class = 'bundle-class'" { + description + "../DestinationClass = 'BundleClass'"; + } + description + "Bundle data"; + uses DESTINATION-BUNDLE-DATA; + } + leaf destination-class { + type Destination-class; + description + "DestinationClass"; + } + leaf invalid-value { + when "../destination-class != 'interface-class' and ../destination-class != 'pseudowire-class' and ../destination-class != 'next-hop-ipv4-class' and ../destination-class != 'next-hop-ipv6-class' and ../destination-class != 'gre-tunnel-class' and ../destination-class != 'file-class' and ../destination-class != 'udp-class' and ../destination-class != 'bundle-class'" { + description + "../DestinationClass != 'InterfaceClass' and . + ./DestinationClass != 'PseudowireClass' and . + ./DestinationClass != 'NextHopIPv4Class' and . + ./DestinationClass != 'NextHopIPv6Class' and . + ./DestinationClass != 'GRETunnelClass' and . + ./DestinationClass != 'FileClass' and . + ./DestinationClass != 'UDPClass' and . + ./DestinationClass != 'BundleClass'"; + } + type Optional-value; + description + "Invalid Parameter"; + } + } + + grouping SPAN-MGR-SESSION-BAG { + description + "SPAN Manager Session Information"; + container destination-data { + description + "Destination data"; + uses DESTINATION-STATE; + } + container destination-id { + description + "Destination ID"; + uses DESTINATION-ID; + } + container rx-destination-info { + description + "Rx Destination Info"; + uses SPAN-MGR-BAG-SESS-DST-INFO; + } + container tx-destination-info { + description + "Tx Destination Info"; + uses SPAN-MGR-BAG-SESS-DST-INFO; + } + container inject-interface { + description + "Inject interface data"; + uses INJECT-INTERFACE-DATA; + } + container file-information { + description + "Extra information relating to SPAN to file"; + uses FILE-DST-STATE-INFO; + } + container cloud-span { + description + "Properties related to CloudSPAN"; + uses CLOUD-SPAN-PROPERTIES; + } + leaf name { + type string; + description + "Session Name"; + } + leaf session-class { + type Session-class; + description + "Session class"; + } + leaf id { + type uint32; + description + "Numerical ID assigned to session"; + } + leaf destination-error { + type uint32; + description + "Last error observed for the destination "; + } + leaf separate-destinations { + type boolean; + description + "Separate Destinations"; + } + leaf mirror-bytes { + type uint32; + units "byte"; + description + "Number of bytes to mirror"; + } + leaf forward-rx-drop { + type boolean; + description + "TRUE if mirroring dropped forwarded packets in + the Rx direction is enabled"; + } + leaf forward-tx-drop { + type boolean; + description + "TRUE if mirroring dropped forwarded packets in + the Tx direction is enabled"; + } + leaf tm-rx-drop { + type boolean; + description + "TRUE if mirroring dropped traffic management + packets in the Rx direction is enabled"; + } + leaf tm-tx-drop { + type boolean; + description + "TRUE if mirroring dropped traffic management + packets in the Tx direction is enabled"; + } + leaf destination-interface-name { + type string; + description + "Destination interface name (deprecated by + DestinationData, invalid for pseudowires)"; + } + leaf destination-interface-handle { + type xr:Interface-name; + description + "Destination interface handle (deprecated by + DestinationID, invalid for pseudowires)"; + } + leaf interface-error { + type uint32; + description + "Last error observed for the destination + interface (deprecated by DestinationError)"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper.yang new file mode 100644 index 000000000..c4b2e25bd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-Ethernet-SPAN-oper.yang @@ -0,0 +1,244 @@ +module Cisco-IOS-XR-Ethernet-SPAN-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-oper"; + prefix ethernet-span-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-Ethernet-SPAN-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-Ethernet-SPAN-oper-sub3 { + revision-date 2022-09-05; + } + include Cisco-IOS-XR-Ethernet-SPAN-oper-sub2 { + revision-date 2022-09-05; + } + include Cisco-IOS-XR-Ethernet-SPAN-oper-sub1 { + revision-date 2022-09-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR Ethernet-SPAN package operational data. + + This module contains definitions + for the following management objects: + span-monitor-session: Monitor Session operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Operational data for GRE tunnel interfaces + 2022-09-05 + Operational data for GRE tunnel interfaces + 2022-06-29 + Change Buffer Drop references to Traffic Management + 2022-06-17 + Added support for ACL merge groups + 2022-05-27 + Added support for per-session statistics. + 2022-04-13 + Added support for mirroring dropped packets + 2021-09-15 + Added support for mirror first configured on sessions"; + semver:module-version "5.0.1m"; + } + revision 2021-07-19 { + description + "Added extended range of values to mirror interval sampling + 2021-06-02 + Added support for non-default VRFs and router-id"; + semver:module-version "5.0.0"; + } + revision 2020-12-03 { + description + "Added support for multiple attachments per class on an interface + 2020-09-14 + Added support for mirror rx and tx traffic to separate destinations + 2020-04-03 + Added support for bundle destinations."; + semver:module-version "4.0.0"; + } + revision 2020-01-30 { + description + "Added support for L3 IPv4 and IPv6 ACLs on a L2 ethernet SPAN session + 2019-12-12 + Added support for file format and PCAP filter expressions under file + 2019-10-02 + Added support for UDP destinations and CloudSPAN."; + semver:module-version "3.0.0"; + } + revision 2019-05-12 { + description + "Added support for file destinations."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container span-monitor-session { + config false; + description + "Monitor Session operational data"; + container global { + description + "Global operational data"; + container statistics { + description + "Table of statistics for source interfaces"; + list statistic { + key "session interface"; + description + "Statistics for a particular source interface"; + leaf session { + type dt1:Span-session-name; + description + "Session Name"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses SPAN-MA-STATISTICS-BAG; + } + } + container global-sessions { + description + "Global Monitor Sessions table"; + list global-session { + key "session"; + description + "Information about a globally-configured + monitor session"; + leaf session { + type dt1:Span-session-name; + description + "Session Name"; + } + uses SPAN-MGR-SESSION-BAG; + } + } + container session-statistics { + description + "Table of statistics for sessions"; + list session-statistic { + key "session"; + description + "Statistics for a particular session"; + leaf session { + type dt1:Span-session-name; + description + "Session Name"; + } + uses SPAN-MGR-STATISTICS-BAG; + } + } + } + container nodes { + description + "Node table for node-specific operational data"; + list node { + key "node"; + description + "Node-specific data for a particular node"; + container attachments { + description + "Table of source interfaces configured as + attached to a session"; + list attachment { + key "session interface"; + description + "Information about a particular source + interface configured as attached to monitor + session"; + leaf session { + type dt1:Span-session-name; + description + "Session Name"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses SPAN-MA-ATTACHMENT-BAG; + } + } + container hardware-sessions { + description + "Table of sessions set up in the hardware. + When all sessions are operating correctly the + entries in this table should match those + entries in GlobalSessionTable that have a + destination configured"; + list hardware-session { + description + "Information about a particular session that + is set up in the hardware"; + leaf session-class { + type dt1:Span-session-class; + description + "Sesssion class"; + } + leaf session-id { + type dt1:Span-session-id; + description + "Session ID"; + } + uses SPAN-EA-SESS-BAG; + } + } + container interfaces { + description + "Table of source interfaces set up in the + hardware. The entries in this table should + match the entries in AttachmentTable when all + sessions are operating correctly"; + list interface { + key "interface"; + description + "Information about a particular interface that + is set up in the hardware"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses SPAN-EA-INTF-BAG; + } + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-aaacore-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-aaacore-cfg.yang new file mode 100644 index 000000000..23260cc53 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-aaacore-cfg.yang @@ -0,0 +1,707 @@ +module Cisco-IOS-XR-aaa-aaacore-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-aaacore-cfg"; + prefix aaa-aaacore-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-aaa-lib-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-aaa-lib-cfg { + prefix a1; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-aaacore package configuration. + + This YANG module augments the + Cisco-IOS-XR-aaa-lib-cfg, + Cisco-IOS-XR-ifmgr-cfg + modules with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-09-04 { + description + "Added class for nas-identifier."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nas-port-value { + type enumeration { + enum "async" { + value 0; + description + "Async(0)"; + } + enum "sync" { + value 1; + description + "Sync(1)"; + } + enum "isdn" { + value 2; + description + "ISDN(2)"; + } + enum "isdn-async-v120" { + value 3; + description + "ISDN Async V120(3)"; + } + enum "isdn-async-v110" { + value 4; + description + "ISDN Async V110(4)"; + } + enum "virtual" { + value 5; + description + "Virtual(5)"; + } + enum "isdn-async-piafs" { + value 6; + description + "ISDN Async PIAFS(6)"; + } + enum "x75" { + value 9; + description + "X75(9)"; + } + enum "ethernet" { + value 15; + description + "Ethernet(15)"; + } + enum "pppoa" { + value 30; + description + "PPPoA(30)"; + } + enum "pppoeoa" { + value 31; + description + "PPPoEoA(31)"; + } + enum "pppoeoe" { + value 32; + description + "PPPoEoE(32)"; + } + enum "pppoeovlan" { + value 33; + description + "PPPoEoVLAN(33)"; + } + enum "pppoeoqinq" { + value 34; + description + "PPPoEoQinQ(34)"; + } + enum "virtual-pppoeoe" { + value 35; + description + "Virtual PPPoEoE(35)"; + } + enum "virtual-pppoeovlan" { + value 36; + description + "Virtual PPPoEoVLAN(36)"; + } + enum "virtual-pppoeoqinaq" { + value 37; + description + "Virtual PPPoEoQinQ(37)"; + } + enum "ipsec" { + value 38; + description + "IPSEC(38)"; + } + enum "ipoeoe" { + value 39; + description + "IPOEOE(39)"; + } + enum "ipoeovlan" { + value 40; + description + "IPOEOVLAN(40)"; + } + enum "ipoeoqinq" { + value 41; + description + "IPOEOQINQ(41)"; + } + enum "virtual-ipoeoe" { + value 42; + description + "VIRTUAL IPOEOE(42)"; + } + enum "virtual-ipoeovlan" { + value 43; + description + "VIRTUAL IPOEOVLAN(43)"; + } + enum "virtual-ipoeoqinq" { + value 44; + description + "VIRTUAL IPOEOQINQ(44)"; + } + } + description + "Nas port value"; + } + + typedef Aaa-list { + type string { + pattern "(subscriber)|(service)|(policy-if)|(prepaid)|(dot1x)"; + } + description + "subscriber:Set AAA lists for Subscriber, service + :Set AAA lists for Service, policy-if:Set + policy-if, prepaid:Set prepaid, dot1x:Set dot1x + method list"; + } + + typedef Aaa-service-accounting { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "extended" { + value 1; + description + "Extended"; + } + enum "brief" { + value 2; + description + "Brief"; + } + } + description + "Aaa service accounting"; + } + + grouping FORMAT-TABLE { + description + "Common node of nas-port-id, calling-station, + called-station"; + container formats { + description + "AAA nas-port-id attribute format"; + list format { + key "type"; + description + "nas-port-id attribute format"; + leaf type { + type uint32 { + range "0..45"; + } + description + "Nas-Port-Type value to apply format name on"; + } + leaf format-name { + type string; + mandatory true; + description + "AAA nas-port attribute format"; + } + } + } + } + + augment "/a2:interface-configurations/a2:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container aaa-table { + description + "AAA configuration"; + container radius { + description + "AAA radius configuration"; + container attribute { + description + "AAA radius attribute"; + leaf nas-port-type { + type Nas-port-value; + description + "AAA nas-port-type attribute"; + } + leaf nas-identifier { + type string; + description + "AAA nas-identifier attribute"; + } + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container aaa-subscriber { + description + "AAA subscriber"; + container policy-if-authors { + description + "AAA authorization policy"; + list policy-if-author { + key "type listname"; + description + "Configurations related to authorization"; + leaf type { + type Aaa-list; + description + "Set authorization lists"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named authorization list"; + } + leaf-list method { + type dt1:Aaa-method; + min-elements 1; + max-elements "4"; + description + "Method Types"; + } + leaf-list server-group-name { + type string; + max-elements "4"; + description + "Server group names"; + } + } + } + container accountings { + description + "AAA accounting"; + list accounting { + key "type listname"; + description + "Configurations related to accounting"; + leaf type { + type Aaa-list; + description + "Set accounting lists"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named accounting list"; + } + leaf broadcast { + type dt1:Aaa-accounting-broadcast; + mandatory true; + description + "Broadcast"; + } + leaf-list method { + type dt1:Aaa-method; + max-elements "4"; + description + "Method Types"; + } + leaf-list server-group-name { + type string; + max-elements "4"; + description + "Server group names"; + } + } + } + container service-accounting { + description + "Set accounting parameters for Service"; + leaf type { + type Aaa-service-accounting; + description + "Send extended/brief service accounting records"; + } + } + container prepaid-authors { + description + "AAA authorization prepaid"; + list prepaid-author { + key "type listname"; + description + "Configurations related to authorization"; + leaf type { + type Aaa-list; + description + "Set authorization lists"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named authorization list"; + } + leaf-list method { + type dt1:Aaa-method; + min-elements 1; + max-elements "4"; + description + "Method Types"; + } + leaf-list server-group-name { + type string; + max-elements "4"; + description + "Server group names"; + } + } + } + container authorizations { + description + "AAA authorization"; + list authorization { + key "type listname"; + description + "Configurations related to authorization"; + leaf type { + type Aaa-list; + description + "Set authorization lists"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named authorization list"; + } + leaf-list method { + type dt1:Aaa-method; + min-elements 1; + max-elements "4"; + description + "Method Types"; + } + leaf-list server-group-name { + type string; + max-elements "4"; + description + "Server group names"; + } + } + } + container authentications { + description + "AAA authentication"; + list authentication { + key "type listname"; + description + "Configurations related to authentication"; + leaf type { + type Aaa-list; + description + "Set authentication lists"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named authentication list"; + } + leaf-list method { + type dt1:Aaa-method; + min-elements 1; + max-elements "4"; + description + "Method Types"; + } + leaf-list server-group-name { + type string; + max-elements "4"; + description + "Server group names"; + } + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container aaa-mobile { + description + "AAA Mobile"; + container mobiles { + description + "AAA Mobile Accounting"; + list mobile { + key "listname"; + description + "Configurations related to accounting"; + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named accounting list"; + } + leaf broadcast { + type dt1:Aaa-accounting-broadcast; + mandatory true; + description + "Broadcast"; + } + leaf-list method { + type dt1:Aaa-method; + max-elements "4"; + description + "Method Types"; + } + leaf-list server-group-name { + type string; + max-elements "4"; + description + "Server group names"; + } + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container aaa-dot1x { + description + "AAA Dot1x"; + container authentications { + description + "AAA authentication"; + list authentication { + key "type listname"; + description + "Configurations related to authentication"; + leaf type { + type Aaa-list; + description + "Set authentication lists"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named authentication list"; + } + leaf-list method { + type dt1:Aaa-method; + min-elements 1; + max-elements "4"; + description + "Method Types"; + } + leaf-list server-group-name { + type string; + max-elements "4"; + description + "Server group names"; + } + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container radius-attribute { + description + "AAA RADIUS attribute configurations"; + container nas-port-id { + description + "AAA nas-port-id attribute"; + uses FORMAT-TABLE; + } + container calling-station { + description + "AAA calling station id attribute"; + uses FORMAT-TABLE; + } + container called-station { + description + "AAA called station id attribute"; + uses FORMAT-TABLE; + } + container nas-port { + description + "AAA nas-port-id attribute"; + container format-extendeds { + description + "AAA nas-port-id attribute format"; + list format-extended { + key "value type"; + description + "nas-port-id extended attribute"; + leaf format-identifier { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "A 32 character string representing the + format to be used"; + } + leaf value { + type xr:Cisco-ios-xr-string; + description + "format type"; + } + leaf type { + type uint32 { + range "0..45"; + } + description + "AAA nas-port attribute format"; + } + } + } + } + container format-others { + description + "AAA nas-port-id attribute format"; + list format-other { + key "nas-port-type-name"; + description + "Other configs"; + leaf nas-port-type-name { + type xr:Cisco-ios-xr-string; + description + "Nas-Port-Type value to apply format name on"; + } + leaf attribute-config1 { + type string; + description + "Argument1"; + } + leaf attribute-config2 { + type string; + description + "Argument2"; + } + leaf attribute-config3 { + type string; + description + "Argument3"; + } + leaf attribute-config4 { + type string; + description + "Argument4"; + } + leaf attribute-config5 { + type string; + description + "Argument5"; + } + leaf attribute-config6 { + type string; + description + "Argument6"; + } + leaf attribute-config7 { + type string; + description + "Argument7"; + } + leaf attribute-config8 { + type string; + description + "Argument8"; + } + leaf attribute-config9 { + type string; + description + "Argument9"; + } + leaf attribute-config10 { + type string; + description + "Argument10"; + } + leaf attribute-config11 { + type string; + description + "Argument11"; + } + leaf attribute-config12 { + type string; + description + "Argument12"; + } + leaf attribute-config13 { + type string; + description + "Argument13"; + } + leaf attribute-config14 { + type string; + description + "Argument14"; + } + leaf attribute-config15 { + type string; + description + "Argument15"; + } + leaf attribute-config16 { + type string; + description + "Argument16"; + } + leaf attribute-config17 { + type string; + description + "Argument17"; + } + leaf attribute-config18 { + type string; + description + "Argument18"; + } + leaf attribute-config19 { + type uint32 { + range "1..253"; + } + description + "Argument19"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-cfg.yang new file mode 100644 index 000000000..afdb0cf2b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-cfg.yang @@ -0,0 +1,352 @@ +module Cisco-IOS-XR-aaa-lib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg"; + prefix aaa-lib-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-aaa-lib-datatypes { + prefix dt1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-lib package configuration. + + This module contains definitions + for the following management objects: + aaa: Authentication, Authorization and Accounting + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-22 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-14 { + description + "Modified Accounting method to support local accounting as syslog"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container aaa { + description + "Authentication, Authorization and Accounting"; + container authorization-nacms { + description + "AAA authorization NACM"; + list authorization-nacm { + key "type listname"; + description + "Configurations related to NACM authorization"; + leaf type { + type xr:Cisco-ios-xr-string; + description + "nacm: Authorize NACM operations"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "List name for AAA NACM authorization"; + } + leaf merge-type { + type dt1:Aaanacm-group-merge; + description + "MergeType"; + } + leaf method1 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method2 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method3 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method4 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf server-group-name1 { + type string; + description + "Server group name"; + } + leaf server-group-name2 { + type string; + description + "Server group name"; + } + leaf server-group-name3 { + type string; + description + "Server group name"; + } + leaf server-group-name4 { + type string; + description + "Server group name"; + } + } + } + container accountings { + description + "AAA accounting"; + list accounting { + key "type listname"; + description + "Configurations related to accounting"; + leaf type { + type xr:Cisco-ios-xr-string; + description + "exec:Account exec sessions, commands: Account + CLI commands"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "Named accounting list"; + } + leaf rp-failover { + type dt1:Aaa-accounting-rp-failover; + description + "rpfailover"; + } + leaf broadcast { + type dt1:Aaa-accounting-broadcast; + description + "Broadcast"; + } + leaf type-xr { + type dt1:Aaa-accounting; + description + "Stop only/Start Stop"; + } + leaf method1 { + type dt1:Aaa-method-accounting; + description + "Method Type"; + } + leaf method2 { + type dt1:Aaa-method-accounting; + description + "Method Type"; + } + leaf method3 { + type dt1:Aaa-method-accounting; + description + "Method Type"; + } + leaf method4 { + type dt1:Aaa-method-accounting; + description + "Method Type"; + } + leaf server-group-name1 { + type string; + description + "Server group name"; + } + leaf server-group-name2 { + type string; + description + "Server group name"; + } + leaf server-group-name3 { + type string; + description + "Server group name"; + } + leaf server-group-name4 { + type string; + description + "Server group name"; + } + } + } + container authorizations { + description + "AAA authorization"; + list authorization { + key "type listname"; + description + "Configurations related to authorization"; + leaf type { + type xr:Cisco-ios-xr-string; + description + "network: Authorize IKE requests, commands: + Authorize CLI commands"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "List name for AAA authorization"; + } + leaf method1 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method2 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method3 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method4 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf server-group-name1 { + type string; + description + "Server group name"; + } + leaf server-group-name2 { + type string; + description + "Server group name"; + } + leaf server-group-name3 { + type string; + description + "Server group name"; + } + leaf server-group-name4 { + type string; + description + "Server group name"; + } + } + } + container accounting-update { + presence "Indicates a accounting-update node is configured."; + description + "Configuration related to 'update' accounting"; + leaf type { + type dt1:Aaa-accounting-update; + mandatory true; + description + "newinfo/periodic"; + } + leaf periodic-interval { + type uint32 { + range "0..35791394"; + } + units "minute"; + description + "Periodic update interval in minutes"; + } + } + container banner { + description + "AAA banner"; + leaf login { + type string; + description + "AAA login banner"; + } + } + container authentications { + description + "AAA authentication"; + list authentication { + key "type listname"; + description + "Configurations related to authentication"; + leaf type { + type xr:Cisco-ios-xr-string; + description + "login: Authenticate login sessions, ppp: + Authenticate ppp sessions"; + } + leaf listname { + type xr:Cisco-ios-xr-string; + description + "List name for AAA authentication"; + } + leaf method1 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method2 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method3 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf method4 { + type dt1:Aaa-method; + description + "Method Type"; + } + leaf server-group-name1 { + type string; + description + "Server group name"; + } + leaf server-group-name2 { + type string; + description + "Server group name"; + } + leaf server-group-name3 { + type string; + description + "Server group name"; + } + leaf server-group-name4 { + type string; + description + "Server group name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-datatypes.yang new file mode 100644 index 000000000..61ecce0f2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-lib-datatypes.yang @@ -0,0 +1,339 @@ +module Cisco-IOS-XR-aaa-lib-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-datatypes"; + prefix aaa-lib-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-22 { + description + "Fixing backward compatibility error in modulie."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-11-14 { + description + "Added AAAMethodAccounting"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Aaa-port-range { + type uint32 { + range "1..65535"; + } + description + "Aaa port range"; + } + + typedef Aaa-accounting { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "start-stop" { + value 1; + description + "Start Stop"; + } + enum "stop-only" { + value 2; + description + "Stop Only"; + } + } + description + "Aaa accounting"; + } + + typedef Aaa-accounting-rp-failover { + type enumeration { + enum "disable" { + value 0; + description + "Disable rpfailover"; + } + enum "enable" { + value 1; + description + "Enable rpfailover"; + } + } + description + "Aaa accounting rp failover"; + } + + typedef Aaa-accounting-broadcast { + type enumeration { + enum "disable" { + value 0; + description + "Disable Broadcast"; + } + enum "enable" { + value 1; + description + "Enable Broadcast"; + } + } + description + "Aaa accounting broadcast"; + } + + typedef Aaa-method-accounting { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "none" { + value 1; + description + "None"; + } + enum "radius" { + value 3; + description + "Radius"; + } + enum "tacacs-plus" { + value 4; + description + "TACACS+"; + } + enum "dsmd" { + value 5; + description + "DSMD"; + } + enum "sgbp" { + value 6; + description + "SGBP"; + } + enum "acct-d" { + value 7; + description + "AcctD"; + } + enum "error" { + value 8; + description + "Error"; + } + enum "if-authenticated" { + value 9; + description + "If Authenticated"; + } + enum "server-group" { + value 10; + description + "Server Group"; + } + enum "server-group-not-defined" { + value 11; + description + "Server Group Not Defined"; + } + enum "line" { + value 12; + description + "Line"; + } + enum "enable" { + value 13; + description + "Enable"; + } + enum "kerberos" { + value 14; + description + "Kerberos"; + } + enum "diameter" { + value 15; + description + "Diameter"; + } + enum "last" { + value 16; + description + "Last"; + } + enum "local" { + value 17; + description + "Local"; + } + } + description + "Aaa method accounting"; + } + + typedef Aaanacm-group-merge { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "prefer-external" { + value 1; + description + "Prefer external groups with nacm groups"; + } + enum "only-external" { + value 2; + description + "Only external groups to be used"; + } + } + description + "Aaanacm group merge"; + } + + typedef Aaa-method { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "none" { + value 1; + description + "None"; + } + enum "local" { + value 2; + description + "Local"; + } + enum "radius" { + value 3; + description + "Radius"; + } + enum "tacacs-plus" { + value 4; + description + "TACACS+"; + } + enum "dsmd" { + value 5; + description + "DSMD"; + } + enum "sgbp" { + value 6; + description + "SGBP"; + } + enum "acct-d" { + value 7; + description + "AcctD"; + } + enum "error" { + value 8; + description + "Error"; + } + enum "if-authenticated" { + value 9; + description + "If Authenticated"; + } + enum "server-group" { + value 10; + description + "Server Group"; + } + enum "server-group-not-defined" { + value 11; + description + "Server Group Not Defined"; + } + enum "line" { + value 12; + description + "Line"; + } + enum "enable" { + value 13; + description + "Enable"; + } + enum "kerberos" { + value 14; + description + "Kerberos"; + } + enum "diameter" { + value 15; + description + "Diameter"; + } + enum "last" { + value 16; + description + "Last"; + } + } + description + "Aaa method"; + } + + typedef Aaa-accounting-update { + type enumeration { + enum "none" { + value 0; + description + "Not Set"; + } + enum "newinfo" { + value 3; + description + "Update records for new accountable information + only"; + } + enum "periodic" { + value 4; + description + "Update records at periodic intervals"; + } + } + description + "Aaa accounting update"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-cfg.yang new file mode 100644 index 000000000..768384b3f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-cfg.yang @@ -0,0 +1,760 @@ +module Cisco-IOS-XR-aaa-locald-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-cfg"; + prefix aaa-locald-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-aaa-lib-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-locald package configuration. + + This YANG module augments the + Cisco-IOS-XR-aaa-lib-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-11 { + description + "Added config support for certificate based authentication for TACACS+ users"; + } + revision 2019-11-24 { + description + "Added cli for enabling/disabling admin accounting via XR."; + } + revision 2019-10-24 { + description + "Added policy cli in username and change namespace for password-policy."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-06-04 { + description + "Added Yang support for aaa password-policy."; + } + revision 2018-04-30 { + description + "Added model support for aaa shell-type, directory."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-03-11 { + description + "Added model support for aaa password-policy."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Aaa-pass-policy-lockout-seconds { + type uint32 { + range "0..59"; + } + description + "Aaa pass policy lockout seconds"; + } + + typedef Aaa-pass-policy-authen-attempts { + type uint32 { + range "1..24"; + } + description + "Aaa pass policy authen attempts"; + } + + typedef Aaa-pass-policy-days { + type uint32 { + range "0..30"; + } + description + "Aaa pass policy days"; + } + + typedef Aaa-locald-task-id { + type string; + description + "Aaa locald task id"; + } + + typedef Aaa-pass-policy-restrict-old-count { + type uint32 { + range "0..10"; + } + description + "Aaa pass policy restrict old count"; + } + + typedef Aaa-pass-policy-years { + type uint32 { + range "0..99"; + } + description + "Aaa pass policy years"; + } + + typedef Aaa-pass-policy-hours { + type uint32 { + range "0..23"; + } + description + "Aaa pass policy hours"; + } + + typedef Aaa-pass-policy-months { + type uint32 { + range "0..11"; + } + description + "Aaa pass policy months"; + } + + typedef Aaa-password { + type enumeration { + enum "type5" { + value 5; + description + "Type 5 password"; + } + enum "type8" { + value 8; + description + "Type 8 password"; + } + enum "type9" { + value 9; + description + "Type 9 password"; + } + enum "type10" { + value 10; + description + "Type 10 password"; + } + } + description + "Aaa password"; + } + + typedef Aaa-pass-policy-lockout-days { + type uint32 { + range "0..255"; + } + description + "Aaa pass policy lockout days"; + } + + typedef Aaa-pass-policy-seconds { + type uint32 { + range "30..59"; + } + description + "Aaa pass policy seconds"; + } + + typedef Aaa-pass-policy-length { + type uint32 { + range "2..253"; + } + description + "Aaa pass policy length"; + } + + typedef Aaa-locald-task-class { + type enumeration { + enum "read" { + value 0; + description + "Permits read operation for a Task ID"; + } + enum "write" { + value 1; + description + "Permits write operation for a Task ID"; + } + enum "execute" { + value 2; + description + "Permits execute operation for a Task ID"; + } + enum "debug" { + value 3; + description + "Permits debug operation for a Task ID"; + } + } + description + "Aaa locald task class"; + } + + typedef Aaa-pass-policy-char-repeat-length { + type uint32 { + range "2..5"; + } + description + "Aaa pass policy char repeat length"; + } + + typedef Aaa-login-history { + type uint32 { + range "0..1"; + } + description + "Aaa login history"; + } + + typedef Aaa-pass-policy-case-length { + type uint32 { + range "0..253"; + } + description + "Aaa pass policy case length"; + } + + typedef Aaa-pass-policy-minutes { + type uint32 { + range "0..59"; + } + description + "Aaa pass policy minutes"; + } + + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container password-policies { + description + "Configure password-policy"; + list password-policy { + key "name"; + description + "Password Policy name"; + container lifetime { + description + "Liftime of the password"; + leaf years { + type Aaa-pass-policy-years; + description + "Number of years"; + } + leaf months { + type Aaa-pass-policy-months; + description + "Number of months"; + } + leaf hours { + type Aaa-pass-policy-hours; + units "hour"; + description + "Number of hours"; + } + leaf minutes { + type Aaa-pass-policy-minutes; + units "minute"; + description + "Number of minutes"; + } + leaf seconds { + type Aaa-pass-policy-seconds; + units "second"; + description + "Number of seconds"; + } + leaf days { + type Aaa-pass-policy-days; + units "day"; + description + "Number of days"; + } + } + container lockout-time { + description + "Lockout time for the maximum authentication + failures"; + leaf hours { + type Aaa-pass-policy-hours; + units "hour"; + description + "Number of hours"; + } + leaf minutes { + type Aaa-pass-policy-minutes; + units "minute"; + description + "Number of minutes"; + } + leaf seconds { + type Aaa-pass-policy-lockout-seconds; + units "second"; + description + "Number of seconds"; + } + leaf days { + type Aaa-pass-policy-lockout-days; + units "day"; + description + "Number of days"; + } + } + container restrict-old-time { + description + "Time limit for old password to be considered + for new password check"; + leaf years { + type Aaa-pass-policy-years; + description + "Number of years"; + } + leaf months { + type Aaa-pass-policy-months; + description + "Number of months"; + } + leaf days { + type Aaa-pass-policy-days; + units "day"; + description + "Number of days"; + } + } + container warninterval { + description + "Warninterval of the password"; + leaf years { + type Aaa-pass-policy-years; + description + "Number of years"; + } + leaf months { + type Aaa-pass-policy-months; + description + "Number of months"; + } + leaf hours { + type Aaa-pass-policy-hours; + units "hour"; + description + "Number of hours"; + } + leaf minutes { + type Aaa-pass-policy-minutes; + units "minute"; + description + "Number of minutes"; + } + leaf seconds { + type Aaa-pass-policy-seconds; + units "second"; + description + "Number of seconds"; + } + leaf days { + type Aaa-pass-policy-days; + units "day"; + description + "Number of days"; + } + } + leaf restrict-password-advanced { + type empty; + description + "Imposes advanced constraints on new password"; + } + leaf lower-case { + type Aaa-pass-policy-case-length; + description + "Number of lower-case characters"; + } + leaf restrict-password-reverse { + type empty; + description + "Restrict usage of reversed old password as new + password"; + } + leaf upper-case { + type Aaa-pass-policy-case-length; + description + "Number of upper-case characters"; + } + leaf max-length { + type Aaa-pass-policy-length; + description + "Maximum length of the password"; + } + leaf restrict-old-count { + type Aaa-pass-policy-restrict-old-count; + description + "Number of old passwords to be considered for + new password check"; + } + leaf restrict-username-reverse { + type empty; + description + "Restrict usage of reversed username as + passwordRestrict associated username to be + used as password"; + } + leaf min-char-change { + type Aaa-pass-policy-case-length; + description + "Number of characters change required between + old and new passwords"; + } + leaf special-char { + type Aaa-pass-policy-case-length; + description + "Number of special characters"; + } + leaf numeric { + type Aaa-pass-policy-case-length; + description + "Number of numeric characters"; + } + leaf restrict-username { + type empty; + description + "Restrict associated username to be used as + password"; + } + leaf max-char-repetition { + type Aaa-pass-policy-char-repeat-length; + description + "Number of times a character can repeat + consecutively in new password"; + } + leaf min-length { + type Aaa-pass-policy-length; + description + "Minimum length of the password"; + } + leaf authen-max-attempts { + type Aaa-pass-policy-authen-attempts; + description + "Number of maximum authentication attempts"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..252"; + } + description + "Password Policy name"; + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container server-groups { + description + "AAA group definitions"; + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + leaf default-taskgroup { + type string; + description + "This class is used for setting the default + taskgroup to be used for remote server + authentication"; + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + leaf admin-accounting { + type string; + description + "This class is used to enable/disable + admin-accounting"; + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container usernames { + description + "Configure local usernames"; + list username { + key "ordering-index name"; + description + "Local username"; + container password-policy { + description + "Mention Password policy for the user"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..252"; + } + description + "Password Policy name"; + } + leaf password { + type xr:Proprietary-password; + description + "The user's password"; + } + } + container secret { + description + "Specify the secret for the user"; + leaf type { + type Aaa-password; + description + "Password type"; + } + leaf secret5 { + when "../type = 'type5'" { + description + "../Type = Type5"; + } + type xr:Md5-password; + description + "The user's secret password"; + } + leaf secret8 { + when "../type = 'type8'" { + description + "../Type = Type8"; + } + type xr:Type8-password; + description + "Type 8 password"; + } + leaf secret9 { + when "../type = 'type9'" { + description + "../Type = Type9"; + } + type xr:Type9-password; + description + "Type 9 password"; + } + leaf secret10 { + when "../type = 'type10'" { + description + "../Type = Type10"; + } + type xr:Type10-password; + description + "Type 10 password"; + } + } + container usergroup-under-usernames { + description + "Specify the usergroup to which this user + belongs"; + list usergroup-under-username { + key "name"; + description + "Name of the usergroup"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Name of the usergroup"; + } + } + } + leaf login-history { + type Aaa-login-history; + description + "To display previous login details after login + is successful."; + } + leaf password { + type xr:Proprietary-password; + description + "Specify the password for the user"; + } + leaf directory { + type string { + length "1..512"; + } + description + "Specify the directory for the user"; + } + leaf shell-type { + type string { + length "1..32"; + } + description + "Specify the shell-type for the user"; + } + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..252"; + } + description + "Mention Secret policy for the user"; + } + leaf ordering-index { + type uint32; + description + "This is used to sort the users in the order of + precedence"; + } + leaf name { + type string; + description + "Username"; + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container taskgroups { + description + "Specify a taskgroup to inherit from"; + list taskgroup { + key "name"; + description + "Taskgroup name"; + container taskgroup-under-taskgroups { + description + "Specify a taskgroup to inherit from"; + list taskgroup-under-taskgroup { + key "name"; + description + "Name of the task group to include"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Name of the task group to include"; + } + } + } + container tasks { + description + "Specify task IDs to be part of this group"; + list task { + key "type task-id"; + description + "Task ID to be included"; + leaf type { + type Aaa-locald-task-class; + description + "This specifies the operation permitted for + this task eg: read/write/execute/debug"; + } + leaf task-id { + type Aaa-locald-task-id; + description + "Task ID to which permission is to be granted + (please use class AllTasks to get a list of + valid task IDs)"; + } + } + } + leaf description { + type string; + description + "Description for the task group"; + } + leaf name { + type string; + description + "Taskgroup name"; + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container usergroups { + description + "Specify a Usergroup to inherit from"; + list usergroup { + key "name"; + description + "Usergroup name"; + container taskgroup-under-usergroups { + description + "Task group associated with this group"; + list taskgroup-under-usergroup { + key "name"; + description + "Name of the task group"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Name of the task group"; + } + } + } + container usergroup-under-usergroups { + description + "User group to be inherited by this group"; + list usergroup-under-usergroup { + key "name"; + description + "Name of the user group"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Name of the user group"; + } + } + } + leaf description { + type string; + description + "Description for the user group"; + } + leaf name { + type string; + description + "Usergroup name"; + } + } + } + } + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + leaf enable-certificate-authentication { + type empty; + description + "Enable certificate based authentication for + TACACS+ users. Mandates exec authorization with + TACACS+"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper-sub1.yang new file mode 100644 index 000000000..5878888e5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper-sub1.yang @@ -0,0 +1,373 @@ +submodule Cisco-IOS-XR-aaa-locald-oper-sub1 { + belongs-to Cisco-IOS-XR-aaa-locald-oper { + prefix Cisco-IOS-XR-aaa-locald-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR aaa-locald package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Status { + type enumeration { + enum "disabled" { + value 0; + description + "disabled"; + } + enum "enabled" { + value 1; + description + "enabled"; + } + } + description + "status enum"; + } + + typedef String1 { + type string; + description + "String1"; + } + + grouping USERGROUP-DET { + description + "Detailed information regarding a usergroup"; + container task-map { + description + "Computed task map"; + uses TASKMAP; + } + list taskgroup { + description + "Component taskgroups"; + uses TASKGROUP-DET; + } + } + + grouping PP-DURATION-LIMITED { + description + "Information about time duration"; + leaf years { + type uint8; + description + "years"; + } + leaf months { + type uint8; + description + "months"; + } + leaf days { + type uint8; + description + "days"; + } + } + + grouping PP-DURATION { + description + "Information about time duration"; + leaf years { + type uint8; + description + "years"; + } + leaf months { + type uint8; + description + "months"; + } + leaf days { + type uint8; + description + "days"; + } + leaf hours { + type uint8; + description + "hours"; + } + leaf mins { + type uint8; + description + "mins"; + } + leaf secs { + type uint8; + description + "secs"; + } + } + + grouping PP-DET { + description + "Detailed information about a single Password + Policy"; + container life-time { + description + "Lifetime of the policy"; + uses PP-DURATION; + } + container warn-interval { + description + "Warninterval of the policy"; + uses PP-DURATION; + } + container lock-out-time { + description + "Lockout time of the policy"; + uses PP-DURATION; + } + container restrict-old-time { + description + "Password History validity time"; + uses PP-DURATION-LIMITED; + } + leaf min-len { + type uint8; + description + "Min Length"; + } + leaf max-len { + type uint8; + description + "Max Length"; + } + leaf spl-char { + type uint8; + description + "Special Character length"; + } + leaf upper-case { + type uint8; + description + "UpperCase Character length"; + } + leaf lower-case { + type uint8; + description + "LowerCase Character length"; + } + leaf numeric { + type uint8; + description + "Numeric Character length"; + } + leaf restrict-old-count { + type uint8; + description + "Password History Count"; + } + leaf min-char-change { + type uint8; + description + "Number of different characters"; + } + leaf num-of-users { + type uint8; + description + "Number of users with this policy"; + } + leaf max-fail-attempts { + type uint32; + description + "Maximum Failure Attempts allowed"; + } + leaf usr-count { + type uint8; + description + "Count of users"; + } + leaf err-count { + type uint8; + description + "Error Count"; + } + leaf lock-out-count { + type uint8; + description + "Lock Out Count"; + } + leaf max-char-repetition { + type uint8; + description + "Number of times a character can repeat"; + } + leaf restrict-username { + type Status; + description + "Username restriction as password"; + } + leaf restrict-username-reverse { + type Status; + description + "Reversed Username restriction as password"; + } + leaf restrict-password-reverse { + type Status; + description + "Reversed password restriction as new password"; + } + leaf restrict-password-advanced { + type Status; + description + "Advanced restriction on new password"; + } + } + + grouping USER-DET { + description + "Detailed information about a single user"; + container task-map { + description + "Computed taskmap"; + uses TASKMAP; + } + leaf admin-user { + type boolean; + description + "Is admin plane user ?"; + } + leaf first-user { + type boolean; + description + "Is first user ?"; + } + leaf-list usergroup { + type String1; + description + "Member usergroups"; + } + } + + grouping TASKID { + description + "Information about a single Task ID"; + leaf task-id { + type string; + description + "Name of the task-id"; + } + leaf read { + type boolean; + description + "Is read permitted?"; + } + leaf write { + type boolean; + description + "Is write permitted?"; + } + leaf execute { + type boolean; + description + "Is execute permitted?"; + } + leaf debug { + type boolean; + description + "Is debug permitted?"; + } + } + + grouping TASKMAP { + description + "Computed taskmap of a user/usergroup/taskgroup or + Task IDs included in a taskgroup"; + list tasks { + description + "List of permitted tasks"; + uses TASKID; + } + } + + grouping TASKGROUP-DET { + description + "Detailed information regarding a taskgroup"; + container included-task-ids { + description + "Task-ids included"; + uses TASKMAP; + } + container task-map { + description + "Computed task map"; + uses TASKMAP; + } + } + + grouping REMOTEUSR-DET { + description + "Detailed information regarding a usergroup"; + leaf name { + type string; + description + "Name of the usergroup"; + } + leaf shelltype { + type string; + description + "Shell-type of user"; + } + leaf directory { + type string; + description + "Directory of user"; + } + leaf authenmethod { + type int32; + description + "Authentication method"; + } + leaf-list usergroup { + type String1; + description + "Component usergroups"; + } + leaf-list taskmap { + type String1; + description + "Task map details"; + } + } + + grouping SYSTEM-SUPPORTED-TASKS { + description + "List of all tasks available in the system"; + leaf-list task-id { + type String1; + description + "Names of available task-ids"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper.yang new file mode 100644 index 000000000..351ecdafb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-locald-oper.yang @@ -0,0 +1,136 @@ +module Cisco-IOS-XR-aaa-locald-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-oper"; + prefix aaa-locald-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-aaa-locald-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-locald package operational data. + + This module contains definitions + for the following management objects: + aaa: AAA operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container aaa { + config false; + description + "AAA operational data"; + container all-tasks { + description + "All tasks supported by system"; + uses SYSTEM-SUPPORTED-TASKS; + } + container currentuser-detail { + description + "Current user specific details"; + uses REMOTEUSR-DET; + } + container task-map { + description + "Task map of current user"; + uses REMOTEUSR-DET; + } + container taskgroups { + description + "Individual taskgroups container"; + list taskgroup { + key "name"; + description + "Specific Taskgroup Information"; + leaf name { + type string; + description + "Taskgroup name"; + } + uses TASKGROUP-DET; + } + } + container users { + description + "Container for individual local user information"; + list user { + key "name"; + description + "Specific local user information"; + leaf name { + type string; + description + "Username"; + } + uses USER-DET; + } + } + container password-policies { + description + "Container for individual password policy + Information"; + list password-policy { + key "name"; + description + "Password policy details"; + leaf name { + type string; + description + "Password policy name"; + } + uses PP-DET; + } + } + container usergroups { + description + "Container for individual usergroup Information"; + list usergroup { + key "name"; + description + "Specific Usergroup Information"; + leaf name { + type string; + description + "Usergroup name"; + } + uses USERGROUP-DET; + } + } + container authen-method { + description + "Current users authentication method"; + uses REMOTEUSR-DET; + } + container current-usergroup { + description + "Specific Usergroup Information"; + uses REMOTEUSR-DET; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-cfg.yang new file mode 100644 index 000000000..89f2280d6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-cfg.yang @@ -0,0 +1,284 @@ +module Cisco-IOS-XR-aaa-nacm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-nacm-cfg"; + prefix aaa-nacm-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-nacm package configuration. + + This module contains definitions + for the following management objects: + nacm: Parameters for NETCONF Access Control Model + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-01 { + description + "Change of ordering-index length equal to name length to YANG model."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nacm-action { + type enumeration { + enum "permit" { + value 0; + description + "Permit"; + } + enum "deny" { + value 1; + description + "Deny"; + } + } + description + "Nacm action"; + } + + typedef Nacm-rule { + type enumeration { + enum "protocol-operation" { + value 0; + description + "Protocoloperation"; + } + enum "data-node" { + value 1; + description + "Datanode"; + } + enum "notification" { + value 2; + description + "Notification"; + } + } + description + "Nacm rule"; + } + + container nacm { + description + "Parameters for NETCONF Access Control Model"; + container groups { + description + "NETCONF Access Control Groups"; + list group { + key "group-name"; + description + "One NACM Group Entry"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "User group name"; + } + leaf-list user-name { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + min-elements 1; + max-elements "16"; + description + "User name"; + } + } + } + container rulelist-classes { + description + "Contains all rule lists of NACM"; + list rulelist-class { + key "ordering-index rulelist-name"; + description + "Each rule list of NACM"; + container group-names { + description + "List of groups that will be assigned with the + rule"; + leaf-list group-name { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + max-elements "16"; + description + "Group name"; + } + } + container rules { + description + "Set of rules in a rulelist"; + list rule { + key "ordering-index rule-name"; + description + "Each rule in a rulelist"; + container rule-type { + description + "Rule Type associated with this rule"; + leaf type { + type Nacm-rule; + description + "Rule Type"; + } + leaf value { + type string { + length "1..511"; + } + description + "Rule Value"; + } + } + container access-operations { + description + "Access operations associated with this rule"; + leaf create { + type uint32; + description + "Enable Create"; + } + leaf read { + type uint32; + description + "Enable Read"; + } + leaf update { + type uint32; + description + "Enable Update"; + } + leaf delete { + type uint32; + description + "Enable Delete"; + } + leaf exec { + type uint32; + description + "Enable Exec"; + } + leaf all { + type uint32; + description + "Enable All permissions"; + } + } + leaf module-name { + type string { + length "1..63"; + } + description + "Name of the module associated with this rule"; + } + leaf action { + type Nacm-action; + mandatory true; + description + "The access control action associated with + the rule"; + } + leaf comment { + type string { + length "1..255"; + } + description + "Textual description of the access rule"; + } + leaf ordering-index { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "This is used to sort the rules in the order + of precedence"; + } + leaf rule-name { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "Rule name"; + } + } + } + leaf ordering-index { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "This is used to sort the rulelists in the + order of precedence"; + } + leaf rulelist-name { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "Rulelist key name"; + } + } + } + leaf enable-nacm { + type boolean; + description + "Enables or Disables all NETCONF access control + enforcement"; + } + leaf write-default { + type Nacm-action; + description + "Controls write access if no appropriate rule is + found"; + } + leaf exec-default { + type Nacm-action; + description + "Controls exec access if no appropriate rule is + found"; + } + leaf enable-external-groups { + type boolean; + description + "Controls whether the server uses the groups + reported by NETCONF transport layer"; + } + leaf read-default { + type Nacm-action; + description + "Controls read access if no appropriate rule is + found"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper-sub1.yang new file mode 100644 index 000000000..3262e6c09 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper-sub1.yang @@ -0,0 +1,242 @@ +submodule Cisco-IOS-XR-aaa-nacm-oper-sub1 { + belongs-to Cisco-IOS-XR-aaa-nacm-oper { + prefix Cisco-IOS-XR-aaa-nacm-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR aaa-nacm package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NACM-GROUP-DETAIL { + description + "Nacm Group detail"; + leaf group-name { + type string { + length "0..256"; + } + description + "Group Name"; + } + list user-name { + description + "Users Name List"; + uses LIST-NODE; + } + list rule-name { + description + "Rules Name List"; + uses LIST-NODE; + } + } + + grouping NACM-RULE-DETAIL { + description + "Nacm Rule Detail"; + leaf rule-name { + type string { + length "0..512"; + } + description + "Rule Name"; + } + leaf rule-index { + type string { + length "0..16"; + } + description + "Rule Index"; + } + leaf rulelist-index { + type string { + length "0..16"; + } + description + "Rulelist Index"; + } + leaf module-name { + type string { + length "0..512"; + } + description + "Module Name"; + } + leaf action { + type string { + length "0..256"; + } + description + "Action"; + } + leaf rule-type { + type string { + length "0..256"; + } + description + "Rule Type"; + } + leaf comment { + type string { + length "0..256"; + } + description + "Comment"; + } + leaf access-operations { + type string { + length "0..256"; + } + description + "Access Operations"; + } + leaf rule-value { + type string { + length "0..512"; + } + description + "Rule Value"; + } + leaf hit-count { + type int32; + description + "Hit Count"; + } + } + + grouping NACM-SUMMARY { + description + "Nacm Summary"; + leaf groups { + type int32; + description + "Groups"; + } + leaf users { + type int32; + description + "Users"; + } + leaf rulelist { + type int32; + description + "Rulelist"; + } + leaf rules { + type int32; + description + "Rules"; + } + leaf read-default { + type string { + length "0..16"; + } + description + "Read Default"; + } + leaf write-default { + type string { + length "0..16"; + } + description + "Write Default"; + } + leaf exec-default { + type string { + length "0..16"; + } + description + "Exec Default"; + } + leaf enable-nacm { + type string { + length "0..16"; + } + description + "Enable Nacm"; + } + leaf enable-external-groups { + type string { + length "0..16"; + } + description + "Enable External Groups"; + } + } + + grouping LIST-NODE { + description + "List Node"; + leaf name { + type string { + length "0..256"; + } + description + "Name"; + } + } + + grouping NACM-USER-DETAIL { + description + "Nacm User detail"; + leaf user-name { + type string { + length "0..256"; + } + description + "User Name"; + } + list group-name { + description + "Group Name List"; + uses LIST-NODE; + } + } + + grouping NACM-COUNTERS { + description + "Nacm Counters"; + leaf denied-operations { + type int32; + description + "Denied Operations"; + } + leaf denied-data-writes { + type int32; + description + "Denied Data Writes"; + } + leaf denied-notifications { + type int32; + description + "Denied Notifications"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper.yang new file mode 100644 index 000000000..1754c2cb8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-nacm-oper.yang @@ -0,0 +1,136 @@ +module Cisco-IOS-XR-aaa-nacm-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-nacm-oper"; + prefix aaa-nacm-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-aaa-nacm-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-nacm package operational data. + + This module contains definitions + for the following management objects: + aaa-nacm: AAA Nacm Information + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container aaa-nacm { + config false; + description + "AAA Nacm Information"; + container counters { + description + "AAA NACM summary"; + uses NACM-COUNTERS; + } + container users { + description + "AAA NACM User summary"; + list user { + key "user"; + description + "AAA NACM User detail"; + leaf user { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "User"; + } + uses NACM-USER-DETAIL; + } + } + container summary { + description + "AAA NACM summary"; + uses NACM-SUMMARY; + } + container rules { + description + "AAA NACM Rulelist summary"; + list rule { + description + "AAA NACM Rulelist detail"; + container rulelist-rules { + description + "AAA NACM Rulelist detail"; + list rulelist-rule { + key "rule"; + description + "AAA NACM Rulelist detail"; + leaf rule { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Rule"; + } + uses NACM-RULE-DETAIL; + } + } + leaf ordering-index { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Rulelist Ordering Index"; + } + leaf rulelist-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Rulelist Name"; + } + } + } + container groups { + description + "AAA NACM Group summary"; + list group { + key "group"; + description + "AAA NACM Group detail"; + leaf group { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Group"; + } + uses NACM-GROUP-DETAIL; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-cfg.yang new file mode 100644 index 000000000..b27d79baf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-cfg.yang @@ -0,0 +1,1224 @@ +module Cisco-IOS-XR-aaa-protocol-radius-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-protocol-radius-cfg"; + prefix aaa-protocol-radius-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-aaa-locald-cfg { + prefix a1; + } + import Cisco-IOS-XR-aaa-lib-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-protocol-radius package configuration. + + This YANG module augments the + Cisco-IOS-XR-aaa-locald-cfg, + Cisco-IOS-XR-aaa-lib-cfg + modules with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-21 { + description + "Added union for radius keys to make encrypt-type field mandatory."; + semver:module-version "4.0.0"; + } + revision 2020-08-26 { + description + "Fixed key display problem in netconf request + 2020-04-20 + Added Type 6 support for Secret/Key"; + semver:module-version "3.0.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers"; + semver:module-version "2.0.0"; + } + revision 2019-05-20 { + description + "Made access and accounting to mandatory."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Aaa-radius-timeout { + type uint32 { + range "1..1000"; + } + description + "Aaa radius timeout"; + } + + typedef Aaa-dscp-value { + type union { + type enumeration { + enum "af11" { + value 10; + description + "Match packets with AF11 DSCP"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 DSCP"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 DSCP"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 DSCP"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 DSCP"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 DSCP"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 DSCP"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 DSCP"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 DSCP"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 DSCP"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 DSCP"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 DSCP"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1 DSCP"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2 DSCP"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3 DSCP"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4 DSCP"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5 DSCP"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6 DSCP"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7 DSCP"; + } + enum "default" { + value 0; + description + "Match packets with 0000 DSCP"; + } + enum "ef" { + value 46; + description + "Match packets with EF DSCP"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Aaa dscp value"; + } + + typedef Sct-encryption { + type enumeration { + enum "type6" { + value 6; + description + "Type 6 encryption"; + } + enum "type7" { + value 7; + description + "Type 7 encryption"; + } + } + description + "Sct encryption"; + } + + typedef Aaa-action { + type enumeration { + enum "accept" { + value 1; + description + "Accept"; + } + enum "reject" { + value 2; + description + "Reject"; + } + } + description + "Aaa action"; + } + + typedef Scrt-encryption { + type enumeration { + enum "type6" { + value 6; + description + "Type 6 encryption"; + } + enum "type7" { + value 7; + description + "Type 7 encryption"; + } + } + description + "Scrt encryption"; + } + + typedef Aaa-authentication { + type enumeration { + enum "all" { + value 101; + description + "All"; + } + enum "any" { + value 102; + description + "Any"; + } + enum "session-key" { + value 103; + description + "Session key"; + } + } + description + "Aaa authentication"; + } + + typedef Aaa-select-key { + type enumeration { + enum "server-key" { + value 1; + description + "Server key"; + } + enum "session-key" { + value 2; + description + "Session key"; + } + } + description + "Aaa select key"; + } + + typedef Aaa-throttle-access-timeout { + type uint32 { + range "1..10"; + } + description + "Aaa throttle access timeout"; + } + + typedef Aaa-radius-dead-detect-tries { + type uint32 { + range "1..100"; + } + description + "Aaa radius dead detect tries"; + } + + typedef Aaa-radius-dead-time { + type uint32 { + range "1..1440"; + } + description + "Aaa radius dead time"; + } + + typedef Aaa-throttle-accounting { + type uint32 { + range "0..65535"; + } + description + "Aaa throttle accounting"; + } + + typedef Aaa-radius-idle-time { + type uint32 { + range "1..60"; + } + description + "Aaa radius idle time"; + } + + typedef Aaa-direction { + type enumeration { + enum "inbound" { + value 0; + description + "Inbound"; + } + enum "outbound" { + value 1; + description + "Outbound"; + } + } + description + "Aaa direction"; + } + + typedef Aaa-radius-dead-detect-time { + type uint32 { + range "1..120"; + } + description + "Aaa radius dead detect time"; + } + + typedef Aaa-radius-retransmit { + type uint32 { + range "1..100"; + } + description + "Aaa radius retransmit"; + } + + typedef Aaa-throttle-access { + type uint32 { + range "0..65535"; + } + description + "Aaa throttle access"; + } + + typedef Aaa-config { + type enumeration { + enum "false" { + value 0; + description + "False"; + } + enum "true" { + value 1; + description + "True"; + } + } + description + "Aaa config"; + } + + typedef Aaa-radius-retransmit-with-disable { + type uint32 { + range "0..100"; + } + description + "Aaa radius retransmit with disable"; + } + + grouping IGNORE-ACCOUNTING-PORT { + description + "Common node of radius, host"; + leaf ignore-accounting-port { + type boolean; + description + "Time to wait for a RADIUS server to reply"; + } + } + + grouping IDLE-TIME { + description + "Common node of radius, host"; + leaf idle-time { + type Aaa-radius-timeout; + default "5"; + description + "Idle time for RADIUS server"; + } + } + + grouping USERNAME { + description + "Common node of radius, host"; + leaf username { + type string; + description + "Username to be tested for automated testing"; + } + } + + grouping REPLY { + description + "Common node of authorization, accounting"; + container reply { + description + "Specify a filter in server group"; + leaf action { + type Aaa-action; + description + "Specify the attribute list type accept or + reject"; + } + leaf attribute-list-name { + type string; + description + "Name of RADIUS attribute list"; + } + } + } + + grouping DSCP { + description + "Common node of ipv4, ipv6"; + leaf dscp { + type Aaa-dscp-value; + description + "Specify the DSCP value"; + } + } + + grouping SERVER-KEY { + description + "Common node of client, dynamic-authorization"; + container server-key { + description + "RADIUS CoA client encryption key"; + leaf encrypt-type { + type Sct-encryption; + description + "Encryption Type"; + } + leaf secret7 { + when "../encrypt-type = 'type7'" { + description + "../EncryptType = Type7"; + } + type xr:Proprietary-password; + description + "Type7 Encryption key"; + } + leaf secret6 { + when "../encrypt-type = 'type6'" { + description + "../EncryptType = Type6"; + } + type xr:Type6-password; + description + "Type6 Encryption key, requires a valid master + key in the system"; + } + } + } + + grouping IGNORE-AUTH-PORT { + description + "Common node of radius, host"; + leaf ignore-auth-port { + type boolean; + description + "Time to wait for a RADIUS server to reply"; + } + } + + grouping REQUEST { + description + "Common node of authorization, accounting"; + container request { + description + "Specify a filter in server group"; + leaf action { + type Aaa-action; + description + "Specify the attribute list type accept or + reject"; + } + leaf attribute-list-name { + type string; + description + "Name of RADIUS attribute list"; + } + } + } + + augment "/a2:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container radius { + description + "Remote Access Dial-In User Service"; + container hosts { + description + "List of RADIUS servers"; + list host { + key "ordering-index ip-address auth-port-number acct-port-number"; + description + "Instance of a RADIUS server"; + container host-key { + description + "RADIUS encryption key"; + leaf encrypt-type { + type Scrt-encryption; + description + "Encryption Type"; + } + leaf secret7 { + when "../encrypt-type = 'type7'" { + description + "../EncryptType = Type7"; + } + type xr:Proprietary-password; + description + "Type7 Encryption key"; + } + leaf secret6 { + when "../encrypt-type = 'type6'" { + description + "../EncryptType = Type6"; + } + type xr:Type6-password; + description + "Type6 Encryption key, requires a valid + master key in the system"; + } + } + leaf host-retransmit { + type Aaa-radius-retransmit; + default "3"; + description + "Number of times to retransmit a request to + the RADIUS server"; + } + leaf host-timeout { + type Aaa-radius-timeout; + default "5"; + description + "Time to wait for a RADIUS server to reply"; + } + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the order + of precedence"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of RADIUS server"; + } + leaf auth-port-number { + type inet:port-number; + description + "Authentication Port number (standard port + 1645)"; + } + leaf acct-port-number { + type inet:port-number; + description + "Accounting Port number (standard port 1646)"; + } + uses IGNORE-ACCOUNTING-PORT; + uses IDLE-TIME; + uses USERNAME; + uses IGNORE-AUTH-PORT; + } + } + container dead-criteria { + description + "RADIUS server dead criteria"; + leaf tries { + type Aaa-radius-dead-detect-tries; + description + "The number of consecutive timeouts the router + must experience in order to mark the server as + dead. All transmissions, including the initial + transmit and all retransmits, will be counted"; + } + leaf time { + type Aaa-radius-dead-detect-time; + description + "The minimum amount of time which must elapse + since the router last received a valid RADIUS + packet from the server prior to marking it + dead"; + } + } + container disallow { + description + "disallow null-username"; + leaf null-username { + type uint32; + description + "Disallow null-username"; + } + } + container ipv6 { + description + "IPv6 configuration"; + uses DSCP; + } + container dynamic-authorization { + description + "RADIUS dynamic authorization"; + container clients { + description + "Client data"; + + grouping CLIENT-CONTENT { + description + "CLIENT CONTENT"; + uses SERVER-KEY; + } + list client { + key "ip-address"; + description + "Client data"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of COA client"; + } + uses CLIENT-CONTENT; + } + list client-vrf-name { + key "vrf-name ip-address"; + description + "Client data"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of COA client"; + } + uses CLIENT-CONTENT; + } + } + leaf ignore { + type Aaa-select-key; + description + "Ignore option for server key or session key"; + } + leaf port { + type uint32 { + range "1000..5000"; + } + description + "Specify the COA server port to listen on"; + } + leaf authentication-type { + type Aaa-authentication; + description + "RADIUS dynamic authorization type"; + } + uses SERVER-KEY; + } + container load-balance-options { + description + "Radius load-balancing options"; + container load-balance-method { + description + "Method by which the next host will be picked"; + container batch-size { + presence "Contains mandatory nodes that used to set default values"; + description + "Batch size for selection of the server"; + leaf batch-size { + type uint32 { + range "1..1500"; + } + mandatory true; + description + "Batch size for selection of the server"; + } + leaf ignore-preferred-server { + type boolean; + mandatory true; + description + "Disable preferred server for this Server + Group"; + } + } + } + } + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "A VRF"; + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in + RADIUS packets"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name. Specify 'default' for defalut VRF"; + } + } + } + container throttle { + presence "Indicates a throttle node is configured."; + description + "Radius throttling options"; + leaf access { + type Aaa-throttle-access; + mandatory true; + description + "To flow control the number of access requests + sent to a radius server"; + } + leaf accounting { + type Aaa-throttle-accounting; + mandatory true; + description + "To flow control the number of accounting + requests sent to a radius server"; + } + leaf access-timeout { + type Aaa-throttle-access-timeout; + mandatory true; + description + "Specify the number of timeouts exceeding which + a throttled access request is dropped"; + } + } + container vsa { + description + "Unknown VSA (Vendor Specific Attribute) ignore + configuration for RADIUS server"; + container attribute { + description + "Vendor Specific Attribute"; + container ignore { + description + "Ignore the VSA"; + leaf unknown { + type empty; + description + "Ignore the VSA and no prefix will reject the + unknown VSA"; + } + } + } + } + container ipv4 { + description + "IPv4 configuration"; + uses DSCP; + } + container radius-attribute { + description + "attribute"; + container filter-id-11 { + description + "Filter-Id attribute configuration"; + container defaults { + description + "Set the attribute default direction"; + leaf direction { + type Aaa-direction; + description + "Filtering is applied to + ingress(inbound)/egress(outbound) packets + only"; + } + } + } + container acct-multi-session-id { + description + "Acct-Session-Id attribute(44)"; + container include-parent-session-id { + description + "Prepend Acct-Session-Id attribute with + Nas-Port-Id"; + leaf config { + type Aaa-config; + description + "false/true"; + } + } + } + container acct-session-id { + description + "Acct-Session-Id attribute(44)"; + container prepend-nas-port-id { + description + "Prepend Acct-Session-Id attribute with + Nas-Port-Id"; + leaf config { + type Aaa-config; + description + "false/true"; + } + } + } + } + container attributes { + description + "Table of attribute list"; + list attribute { + key "attribute-list-name"; + description + "Attribute list name"; + container vendor-ids { + description + "Vendor Specific Attribute"; + list vendor-id { + key "vendor-id"; + description + "Vendor ID of vsa"; + leaf vendor-id { + type uint32; + description + "Vendor Id of vsa"; + } + list vendor-type { + key "vendor-type"; + description + "Vendor Type of vsa"; + leaf vendor-type { + type uint32; + description + "Vendor Type of vsa"; + } + list attribute-name { + key "attribute-name"; + description + "Attribute Name of vsa"; + leaf attribute-name { + type xr:Cisco-ios-xr-string; + description + "Attribute Name of vsa"; + } + list attribute-name-absent { + key "attribute-name-absent"; + description + "AttributeName of vsa is absent"; + leaf attribute-name-absent { + type uint32; + description + "AttributeName of vsa is absent"; + } + list attribute-name-present { + key "attribute-name-present"; + description + "AttributeName of vsa is present"; + leaf attribute-name-present { + type uint32; + description + "AttributeName of vsa is present"; + } + } + } + } + } + } + } + leaf attribute { + type string; + description + "Specify RADIUS attribute"; + } + leaf attribute-list-name { + type xr:Cisco-ios-xr-string; + description + "Attribute list name"; + } + } + } + container key { + description + "RADIUS encryption key"; + leaf encrypt-type { + type Scrt-encryption; + description + "Encryption Type"; + } + leaf secret7 { + when "../encrypt-type = 'type7'" { + description + "../EncryptType = Type7"; + } + type xr:Proprietary-password; + description + "Type7 Encryption key"; + } + leaf secret6 { + when "../encrypt-type = 'type6'" { + description + "../EncryptType = Type6"; + } + type xr:Type6-password; + description + "Type6 Encryption key, requires a valid master + key in the system"; + } + } + container source-port { + description + "Source port"; + leaf extended { + type empty; + description + "Enable source-port extend "; + } + } + leaf retransmit { + type Aaa-radius-retransmit-with-disable; + default "3"; + description + "Number of times to retransmit a request to the + RADIUS server(0-Disable)"; + } + leaf dead-time { + type Aaa-radius-dead-time; + units "minute"; + description + "This indicates the length of time (in minutes) + for which a RADIUS server remains marked as + dead"; + } + leaf timeout { + type Aaa-radius-timeout; + default "5"; + description + "Time to wait for a RADIUS server to reply"; + } + uses IGNORE-ACCOUNTING-PORT; + uses IDLE-TIME; + uses USERNAME; + uses IGNORE-AUTH-PORT; + } + } + augment "/a2:aaa/a1:server-groups" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-locald-cfg'"; + container radius-server-groups { + description + "RADIUS server group definition"; + list radius-server-group { + key "server-group-name"; + description + "RADIUS server group name"; + container accounting { + description + "List of filters in server group"; + uses REQUEST; + uses REPLY; + } + container servers { + description + "List of RADIUS servers present in the group"; + list server { + key "ordering-index ip-address auth-port-number acct-port-number"; + description + "A server to include in the server group"; + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of RADIUS server"; + } + leaf auth-port-number { + type inet:port-number; + description + "Authentication Port number (standard port + 1645)"; + } + leaf acct-port-number { + type inet:port-number; + description + "Accounting Port number (standard port 1646)"; + } + } + } + container private-servers { + description + "List of private RADIUS servers present in the + group"; + list private-server { + key "ordering-index ip-address auth-port-number acct-port-number"; + description + "A private server to include in the server + group"; + container private-key { + description + "RADIUS encryption key"; + leaf encrypt-type { + type Scrt-encryption; + description + "Encryption Type"; + } + leaf secret7 { + when "../encrypt-type = 'type7'" { + description + "../EncryptType = Type7"; + } + type xr:Proprietary-password; + description + "Type7 Encryption key"; + } + leaf secret6 { + when "../encrypt-type = 'type6'" { + description + "../EncryptType = Type6"; + } + type xr:Type6-password; + description + "Type6 Encryption key, requires a valid + master key in the system"; + } + } + leaf private-timeout { + type Aaa-radius-timeout; + default "5"; + description + "Time to wait for a RADIUS server to reply"; + } + leaf ignore-accounting-port { + type boolean; + description + "Ignore Accounting port"; + } + leaf private-retransmit { + type Aaa-radius-retransmit; + default "3"; + description + "Number of times to retransmit a request to + the RADIUS server"; + } + leaf idle-time { + type Aaa-radius-idle-time; + default "5"; + description + "Idle time for the radius Server"; + } + leaf username { + type string; + description + "Username to be tested for automated testing"; + } + leaf ignore-auth-port { + type boolean; + description + "Ignore authentication Port"; + } + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of RADIUS server"; + } + leaf auth-port-number { + type inet:port-number; + description + "Authentication Port number (standard port + 1645)"; + } + leaf acct-port-number { + type inet:port-number; + description + "Accounting Port number (standard port 1646)"; + } + } + } + container server-group-throttle { + presence "Contains mandatory nodes that used to set default values"; + description + "Radius throttling options"; + leaf access { + type Aaa-throttle-access; + mandatory true; + description + "To flow control the number of access requests + sent to a radius server"; + } + leaf accounting { + type Aaa-throttle-accounting; + mandatory true; + description + "To flow control the number of accounting + requests sent to a radius server"; + } + leaf access-timeout { + type Aaa-throttle-access-timeout; + mandatory true; + description + "Specify the number of timeouts exceeding + which a throttled access request is dropped"; + } + } + container load-balance { + description + "Radius load-balancing options"; + container method { + description + "Method by which the next host will be picked"; + container name { + presence "Contains mandatory nodes that used to set default values"; + description + "Batch size for selection of the server"; + leaf least-outstanding { + type uint32; + mandatory true; + description + "Pick the server with the least transactions + outstanding"; + } + leaf batch-size { + type uint32 { + range "1..1500"; + } + mandatory true; + description + "Batch size for selection of the server"; + } + leaf ignore-preferred-server { + type boolean; + mandatory true; + description + "Disable preferred server for this Server + Group"; + } + } + } + } + container authorization { + description + "List of filters in server group"; + uses REQUEST; + uses REPLY; + } + leaf dead-time { + type Aaa-radius-dead-time; + units "minute"; + description + "This indicates the length of time (in minutes) + for which RADIUS servers present in this group + remain marked as dead"; + } + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in RADIUS + packets"; + } + leaf vrf { + type string; + description + "Specify VRF name of RADIUS group"; + } + leaf server-group-name { + type xr:Cisco-ios-xr-string; + description + "RADIUS server group name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub1.yang new file mode 100644 index 000000000..0614a94de --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub1.yang @@ -0,0 +1,563 @@ +submodule Cisco-IOS-XR-aaa-protocol-radius-oper-sub1 { + belongs-to Cisco-IOS-XR-aaa-protocol-radius-oper { + prefix Cisco-IOS-XR-aaa-protocol-radius-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR aaa-protocol-radius package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-23 { + description + "Adding yang support for coa"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-13 { + description + "Adding yang support for new cli."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping RADIUS-CLIENTBAG { + description + "RADIUS CLIENTBAG"; + leaf unknown-authentication-response { + type uint32; + description + "Number of RADIUS Access-Response packets + received from unknown addresses"; + } + leaf authentication-nas-id { + type string; + description + "NAS-Identifier of the RADIUS authentication + client"; + } + leaf unknown-accounting-response { + type uint32; + description + "Number of RADIUS Accounting-Response packets + received from unknown addresses"; + } + leaf accounting-nas-id { + type string; + description + "NAS-Identifier of the RADIUS accounting client"; + } + } + + grouping SRC-INTF { + description + "SRC INTF"; + leaf interface-name { + type string; + description + "Name of the source interface"; + } + leaf ipaddrv4 { + type string; + description + "IP address buffer"; + } + leaf ipaddrv6 { + type string; + description + "IP address buffer"; + } + leaf vrfid { + type uint32; + description + "VRF Id"; + } + } + + grouping SOURCE-INTERFACES { + description + "SOURCE INTERFACES"; + list list-of-source-interface { + description + "List of source interfaces"; + uses SRC-INTF; + } + } + + grouping RADIUS-SERVERBAG { + description + "RADIUS SERVERBAG"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IP address of RADIUS server"; + } + leaf priority { + type uint32; + description + "A number that indicates the priority of the + server"; + } + leaf timeout-xr { + type uint32; + units "second"; + description + "Per-server timeout in seconds"; + } + leaf retransmit { + type uint32; + description + "Per-server retransmit"; + } + leaf dead-time { + type uint32; + units "minute"; + description + "Per-server deadtime in minutes"; + } + leaf dead-detect-time { + type uint32; + units "second"; + description + "Per-server dead-detect time in seconds"; + } + leaf dead-detect-tries { + type uint32; + description + "Per-server dead-detect tries"; + } + leaf authentication-port { + type uint32; + description + "Authentication port"; + } + leaf accounting-port { + type uint32; + description + "Accounting port"; + } + leaf state { + type string; + description + "State of the server UP/DOWN"; + } + leaf current-state-duration { + type uint32; + description + "Elapsed time the server has been in current + state"; + } + leaf previous-state-duration { + type uint32; + description + "Elapsed time the server was been in previous + state"; + } + leaf packets-in { + type uint32; + description + "Total number of incoming packets read"; + } + leaf packets-out { + type uint32; + description + "Total number of outgoing packets sent"; + } + leaf timeouts { + type uint32; + description + "Total number of packets timed-out"; + } + leaf aborts { + type uint32; + description + "Total number of requests aborted"; + } + leaf replies-expected { + type uint32; + description + "Number of replies expected to arrive"; + } + leaf redirected-requests { + type uint32; + description + "Number of requests redirected"; + } + leaf authentication-rtt { + type uint32; + units "millisecond"; + description + "Round-trip time for authentication in + milliseconds"; + } + leaf access-requests { + type uint32; + description + "Number of access requests"; + } + leaf access-request-retransmits { + type uint32; + description + "Number of retransmitted access requests"; + } + leaf access-accepts { + type uint32; + description + "Number of access accepts"; + } + leaf access-rejects { + type uint32; + description + "Number of access rejects"; + } + leaf access-challenges { + type uint32; + description + "Number of access challenges"; + } + leaf bad-access-responses { + type uint32; + description + "Number of bad access responses"; + } + leaf bad-access-authenticators { + type uint32; + description + "Number of bad access authenticators"; + } + leaf pending-access-requests { + type uint32; + description + "Number of pending access requests"; + } + leaf access-timeouts { + type uint32; + description + "Number of access packets timed-out"; + } + leaf unknown-access-types { + type uint32; + description + "Number of packets received with unknown type + from authentication server"; + } + leaf dropped-access-responses { + type uint32; + description + "Number of access responses dropped"; + } + leaf throttled-access-reqs { + type uint32; + description + "No of throttled access reqs stats"; + } + leaf throttled-timed-out-reqs { + type uint32; + description + "No of access reqs that is throttled is timedout"; + } + leaf throttled-dropped-reqs { + type uint32; + description + "No of discarded access reqs"; + } + leaf max-throttled-access-reqs { + type uint32; + description + "Max throttled access reqs"; + } + leaf currently-throttled-access-reqs { + type uint32; + description + "No of currently throttled access reqs"; + } + leaf authen-response-time { + type uint32; + description + "Average response time for authentication + requests"; + } + leaf authen-transaction-successess { + type uint32; + description + "Number of succeeded authentication transactions"; + } + leaf authen-transaction-failure { + type uint32; + description + "Number of failed authentication transactions"; + } + leaf authen-unexpected-responses { + type uint32; + description + "Number of unexpected authentication responses"; + } + leaf authen-server-error-responses { + type uint32; + description + "Number of server error authentication responses"; + } + leaf authen-incorrect-responses { + type uint32; + description + "Number of incorrect authentication responses"; + } + leaf author-requests { + type uint32; + description + "Number of access requests"; + } + leaf author-request-timeouts { + type uint32; + description + "Number of access packets timed out"; + } + leaf author-response-time { + type uint32; + description + "Average response time for authorization requests"; + } + leaf author-transaction-successess { + type uint32; + description + "Number of succeeded authorization transactions"; + } + leaf author-transaction-failure { + type uint32; + description + "Number of failed authorization transactions"; + } + leaf author-unexpected-responses { + type uint32; + description + "Number of unexpected authorization responses"; + } + leaf author-server-error-responses { + type uint32; + description + "Number of server error authorization responses"; + } + leaf author-incorrect-responses { + type uint32; + description + "Number of incorrect authorization responses"; + } + leaf accounting-rtt { + type uint32; + units "millisecond"; + description + "Round-trip time for accounting in milliseconds"; + } + leaf accounting-requests { + type uint32; + description + "Number of accounting requests"; + } + leaf accounting-retransmits { + type uint32; + description + "Number of retransmitted accounting requests"; + } + leaf accounting-responses { + type uint32; + description + "Number of accounting responses"; + } + leaf bad-accounting-responses { + type uint32; + description + "Number of bad accounting responses"; + } + leaf bad-accounting-authenticators { + type uint32; + description + "Number of bad accounting authenticators"; + } + leaf pending-accounting-requets { + type uint32; + description + "Number of pending accounting requests"; + } + leaf accounting-timeouts { + type uint32; + description + "Number of accounting packets timed-out"; + } + leaf unknown-accounting-types { + type uint32; + description + "Number of packets received with unknown type + from accounting server"; + } + leaf dropped-accounting-responses { + type uint32; + description + "Number of accounting responses dropped"; + } + leaf is-a-private-server { + type boolean; + description + "Is a private server"; + } + leaf total-test-auth-reqs { + type uint32; + description + "Total auth test request"; + } + leaf total-test-auth-timeouts { + type uint32; + description + "Total auth test timeouts"; + } + leaf total-test-auth-response { + type uint32; + description + "Total auth test response"; + } + leaf total-test-auth-pending { + type uint32; + description + "Total auth test pending"; + } + leaf total-test-acct-reqs { + type uint32; + description + " Total acct test req"; + } + leaf total-test-acct-timeouts { + type uint32; + description + "Total acct test timeouts"; + } + leaf total-test-acct-response { + type uint32; + description + "Total acct test response"; + } + leaf total-test-acct-pending { + type uint32; + description + "Total acct test pending"; + } + leaf throttled-acct-transactions { + type uint32; + description + "No of throttled acct transactions stats"; + } + leaf throttled-acct-timed-out-stats { + type uint32; + description + "No of acct transaction that is throttled is + timedout"; + } + leaf throttled-acct-failures-stats { + type uint32; + description + "No of acct discarded transaction"; + } + leaf max-acct-throttled { + type uint32; + description + "Max throttled acct transactions"; + } + leaf throttleda-acct-transactions { + type uint32; + description + "No of currently throttled acct transactions"; + } + leaf acct-unexpected-responses { + type uint32; + description + "Number of unexpected accounting responses"; + } + leaf acct-server-error-responses { + type uint32; + description + "Number of server error accounting responses"; + } + leaf acct-incorrect-responses { + type uint32; + description + "Number of incorrect accounting responses"; + } + leaf acct-response-time { + type uint32; + description + "Average response time for authentication + requests"; + } + leaf acct-transaction-successess { + type uint32; + description + "Number of succeeded authentication transactions"; + } + leaf acct-transaction-failure { + type uint32; + description + "Number of failed authentication transactions"; + } + leaf total-deadtime { + type uint32; + description + "Total time of Server being in DEAD state"; + } + leaf last-deadtime { + type uint32; + description + "Time of Server being in DEAD state, after last + UP"; + } + leaf is-quarantined { + type boolean; + description + "flag to indicate Server is quarantined or not + (Automated TEST in progress)"; + } + leaf group-name { + type string; + description + "Server group name for private server"; + } + leaf ip-address-xr { + type string; + description + "IP address buffer"; + } + leaf family { + type string; + description + "IP address Family"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub2.yang new file mode 100644 index 000000000..2f06d6e37 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper-sub2.yang @@ -0,0 +1,704 @@ +submodule Cisco-IOS-XR-aaa-protocol-radius-oper-sub2 { + belongs-to Cisco-IOS-XR-aaa-protocol-radius-oper { + prefix Cisco-IOS-XR-aaa-protocol-radius-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR aaa-protocol-radius package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-23 { + description + "Adding yang support for coa"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-13 { + description + "Adding yang support for new cli."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping RADIUS-DYNAMIC-SERVER { + description + "RADIUS dynamic author server"; + leaf disconnected-invalid-requests { + type uint32; + description + "Invalid disconnected requests"; + } + leaf invalid-coa-requests { + type uint32; + description + "Invalid change of authorization requests"; + } + leaf radius-context-not-found { + type uint32; + description + "Radius context not found"; + } + leaf client-context-not-found { + type uint32; + description + "Client context not found"; + } + } + + grouping RADIUS-GROUPS-SERVERS { + description + "RADIUS server groups"; + leaf groups { + type uint32; + description + "Number of groups"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf dead-time { + type uint32; + units "minute"; + description + "Dead time in minutes"; + } + leaf servers { + type uint32; + description + "Number of servers"; + } + list server-group { + description + "Server groups"; + uses RADIUS-SERVER-GROUP-DATA; + } + } + + grouping RADIUS-DYNAMIC-CLIENT { + description + "RADIUS dynamic clients"; + list dynamic-author-client { + description + "List of dynamic author clients"; + uses RADIUS-DYNAMIC-CLIENT-DATA; + } + } + + grouping RADIUS-ACCOUNTING { + description + "RADIUS accounting"; + container accounting { + description + "Accounting data"; + uses RADIUS-ACCOUNTING-DATA; + } + leaf port { + type uint32; + description + "Accounting port number"; + } + leaf ip-address { + type string; + description + "IP address buffer"; + } + leaf family { + type string; + description + "IP address Family"; + } + } + + grouping RADIUS-SERVER-ACCOUNTING { + description + "RADIUS accounting information of all servers"; + list accounting-group { + description + "List of accounting groups"; + uses RADIUS-ACCOUNTING; + } + } + + grouping RADIUS-AUTHENTICATION { + description + "RADIUS authentication"; + container authentication { + description + "Authentication data"; + uses RADIUS-AUTHENTICATION-DATA; + } + leaf port { + type uint32; + description + "Authentication port number"; + } + leaf ip-address { + type string; + description + "IP address buffer"; + } + leaf family { + type string; + description + "IP address Family"; + } + } + + grouping RADIUS-SERVER-AUTHENTICATION { + description + "RADIUS authentication data of all servers"; + list authentication-group { + description + "List of authentication groups"; + uses RADIUS-AUTHENTICATION; + } + } + + grouping RADIUS-DYNAMIC-CLIENT-DATA { + description + "RADIUS dynamic authorization client"; + leaf disc-reqs { + type uint32; + description + "Number of RADIUS Disconnect-Requestsreceived + from the client"; + } + leaf disc-acks { + type uint32; + description + "Number of RADIUS Disconnect-ACKs sent to the + client"; + } + leaf disc-naks { + type uint32; + description + "Number of RADIUS Disconnect-NAKs sent to the + client"; + } + leaf disc-bad-auth { + type uint32; + description + "Number of RADIUS Disconnect-Requests received + from the client containing an invalid + Authenticator"; + } + leaf drop-disc-reqs { + type uint32; + description + "Number of RADIUS Disconnect-Requests received + from the client that were silently discarded"; + } + leaf coa-reqs { + type uint32; + description + "Number of RADIUS CoA-Requests received from the + client"; + } + leaf coa-acks { + type uint32; + description + "Number of RADIUS CoA-ACKs sent to the client"; + } + leaf coa-naks { + type uint32; + description + "Number of RADIUS CoA-NAKs sent to the client"; + } + leaf coa-bad-auth { + type uint32; + description + "Number of RADIUS CoA-Requests received from the + client containing an invalid Authenticator"; + } + leaf drop-coa-reqs { + type uint32; + description + "Number of RADIUS CoA-Requests received from the + client that were silently discarded"; + } + leaf unknown-types { + type uint32; + description + "Number of incoming packets of unknown types that + were received from the client"; + } + leaf internal-error { + type uint32; + description + "Number of packets dropped due to internal error"; + } + leaf pak-decode-fail { + type uint32; + description + "Number of packets dropped due to failure in + radius packet decoding"; + } + leaf vrf-parse-fail-err { + type uint32; + description + "Number of requests which encountered vrf parse + fail error"; + } + leaf unknown-vsa-error { + type uint32; + description + "Number of requests which encountered unknown vsa + error"; + } + leaf send-msg-failed { + type uint32; + description + "Number of response packets which failed to be + send"; + } + leaf radius-to-ch { + type uint32; + description + "Number of requests sent to command handler"; + } + leaf ch-to-radius { + type uint32; + description + "Number of responses received from command + handler"; + } + leaf service-parse-fail { + type uint32; + description + "Number of requests which encountered service + parse fail error"; + } + leaf multi-subs-error { + type uint32; + description + "Number of requests which encountered multiple + subscribers not allowed error"; + } + leaf service-not-present { + type uint32; + description + "Number of requests which has missing service + name attribute"; + } + leaf send-to-ch-fail { + type uint32; + description + "Number of requests which failed to be sent to + command handler"; + } + leaf vrf-name { + type string; + description + "VRF of RADIUS dynamic authorization client"; + } + leaf client-address { + type string; + description + "Address Buffer"; + } + } + + grouping RADIUS-AUTHORIZATION-DATA { + description + "RADIUS authorization data"; + leaf author-requests { + type uint32; + description + "Number of access requests"; + } + leaf author-request-timeouts { + type uint32; + description + "Number of access packets timed out"; + } + leaf author-unexpected-responses { + type uint32; + description + "Number of unexpected authorization responses"; + } + leaf author-server-error-responses { + type uint32; + description + "Number of server error authorization responses"; + } + leaf author-incorrect-responses { + type uint32; + description + "Number of incorrect authorization responses"; + } + leaf author-response-time { + type uint32; + description + "Average response time for authorization requests"; + } + leaf author-transaction-successess { + type uint32; + description + "Number of succeeded authorization transactions"; + } + leaf author-transaction-failure { + type uint32; + description + "Number of failed authorization transactions"; + } + } + + grouping RADIUS-AUTHENTICATION-DATA { + description + "RADIUS authentication data"; + leaf access-requests { + type uint32; + description + "Number of access requests"; + } + leaf pending-access-requests { + type uint32; + description + "Number of pending access requests"; + } + leaf access-request-retransmits { + type uint32; + description + "Number of retransmitted access requests"; + } + leaf access-accepts { + type uint32; + description + "Number of access accepts"; + } + leaf access-rejects { + type uint32; + description + "Number of access rejects"; + } + leaf access-challenges { + type uint32; + description + "Number of access challenges"; + } + leaf access-timeouts { + type uint32; + description + "Number of access packets timed out"; + } + leaf bad-access-responses { + type uint32; + description + "Number of bad access responses"; + } + leaf bad-access-authenticators { + type uint32; + description + "Number of bad access authenticators"; + } + leaf unknown-access-types { + type uint32; + description + "Number of packets received with unknown type + from authentication server"; + } + leaf dropped-access-responses { + type uint32; + description + "Number of access responses dropped"; + } + leaf rtt { + type uint32; + units "millisecond"; + description + "Round trip time for authentication in + milliseconds"; + } + leaf authen-transaction-successess { + type uint32; + description + "Number of succeeded authentication transactions"; + } + leaf authen-transaction-failure { + type uint32; + description + "Number of failed authentication transactions"; + } + leaf authen-unexpected-responses { + type uint32; + description + "Number of unexpected authentication responses"; + } + leaf authen-server-error-responses { + type uint32; + description + "Number of server error authentication responses"; + } + leaf authen-incorrect-responses { + type uint32; + description + "Number of incorrect authentication responses"; + } + leaf auth-throttled-transactions { + type uint32; + description + "Estimated Throttled Authentication Transactions"; + } + leaf auth-max-transactions { + type uint32; + description + "Maximum Throttled Authentication Transactions"; + } + leaf total-test-auth-reqs { + type uint32; + description + "Automated Test Stats for authentication requests"; + } + leaf total-test-auth-timeouts { + type uint32; + description + "Automated Test Stats for authentication timeouts"; + } + leaf total-test-auth-response { + type uint32; + description + "Automated Test Stats for authentication response"; + } + leaf total-test-auth-pending { + type uint32; + description + "Automated Test Stats for authentication pending"; + } + } + + grouping RADIUS-ACCOUNTING-DATA { + description + "RADIUS accounting data"; + leaf requests { + type uint32; + description + "Number of accounting requests"; + } + leaf pending-requests { + type uint32; + description + "Number of pending accounting requests"; + } + leaf retransmits { + type uint32; + description + "Number of retransmitted accounting requests"; + } + leaf responses { + type uint32; + description + "Number of accounting responses"; + } + leaf timeouts { + type uint32; + description + "Number of accounting packets timed-out"; + } + leaf bad-responses { + type uint32; + description + "Number of bad accounting responses"; + } + leaf bad-authenticators { + type uint32; + description + "Number of bad accounting authenticators"; + } + leaf unknown-packet-types { + type uint32; + description + "Number of packets received with unknown type + from accounting server"; + } + leaf dropped-responses { + type uint32; + description + "Number of accounting responses dropped"; + } + leaf rtt { + type uint32; + units "millisecond"; + description + "Round trip time for accounting in milliseconds"; + } + leaf acct-unexpected-responses { + type uint32; + description + "Number of unexpected accounting responses"; + } + leaf acct-transaction-successess { + type uint32; + description + "Number of succeeded authentication transactions"; + } + leaf acct-transaction-failure { + type uint32; + description + "Number of failed authentication transactions"; + } + leaf acct-throttled-transactions { + type uint32; + description + "Estimated Throttled Accounting Transactions"; + } + leaf acct-max-throttle-trans { + type uint32; + description + "Maximum Throttled Accounting Transactions"; + } + leaf total-test-acct-reqs { + type uint32; + description + "Automated Test Stats for accounting requests"; + } + leaf total-test-acct-timeouts { + type uint32; + description + "Automated Test Stats for accounting timeouts"; + } + leaf total-test-acct-response { + type uint32; + description + "Automated Test Stats for accounting response"; + } + leaf total-test-acct-pending { + type uint32; + description + "Automated Test Stats for accounting pending"; + } + } + + grouping RADIUS-SERVER-GROUP-DATA { + description + "RADIUS server group data"; + container accounting { + description + "Accounting data"; + uses RADIUS-ACCOUNTING-DATA; + } + container authentication { + description + "Authentication data"; + uses RADIUS-AUTHENTICATION-DATA; + } + container authorization { + description + "Authorization data"; + uses RADIUS-AUTHORIZATION-DATA; + } + leaf authentication-port { + type uint32; + description + "Authentication port"; + } + leaf accounting-port { + type uint32; + description + "Accounting port"; + } + leaf is-private { + type boolean; + description + "True if private"; + } + leaf ip-address { + type string; + description + "IP address buffer"; + } + leaf family { + type string; + description + "IP address Family"; + } + leaf redirected-requests { + type uint32; + description + "Redirected Requests"; + } + } + + grouping RADIUS-TIME-TRIES-DATA { + description + "Time and tries information"; + leaf value { + type uint32; + description + "Value for time or tries"; + } + leaf is-computed { + type boolean; + description + "True if computed; false if not"; + } + } + + grouping RADIUS-DEAD-CRITERIA { + description + "Dead criteria information"; + container time { + description + "Time in seconds"; + uses RADIUS-TIME-TRIES-DATA; + } + container tries { + description + "Number of tries"; + uses RADIUS-TIME-TRIES-DATA; + } + } + + grouping RADIUS-CLIENT-XML { + description + "RADIUS client data"; + leaf unknown-authentication-responses { + type uint32; + description + "Number of RADIUS access responses packets + received from unknown addresses"; + } + leaf authentication-nas-id { + type string; + description + "NAS-Identifier of the RADIUS authentication + client"; + } + leaf unknown-accounting-responses { + type uint32; + description + "Number of RADIUS accounting responses packets + received from unknown addresses"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper.yang new file mode 100644 index 000000000..59aa7ab33 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-protocol-radius-oper.yang @@ -0,0 +1,271 @@ +module Cisco-IOS-XR-aaa-protocol-radius-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-protocol-radius-oper"; + prefix aaa-protocol-radius-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-aaa-locald-oper { + prefix a1; + } + include Cisco-IOS-XR-aaa-protocol-radius-oper-sub2 { + revision-date 2021-02-23; + } + include Cisco-IOS-XR-aaa-protocol-radius-oper-sub1 { + revision-date 2021-02-23; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-protocol-radius package operational data. + + This module contains definitions + for the following management objects: + radius: RADIUS operational data + + This YANG module augments the + Cisco-IOS-XR-aaa-locald-oper + module with state data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-23 { + description + "Adding yang support for coa"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-13 { + description + "Adding yang support for new cli."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Radius-port-range { + type uint32 { + range "1..65535"; + } + description + "Radius port range"; + } + + typedef Aaa-radius-port-range { + type uint32 { + range "1..65535"; + } + description + "Aaa radius port range"; + } + + augment "/a1:aaa" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-aaa-locald-oper'"; + container radius { + description + "RADIUS operational data"; + container servers { + description + "List of RADIUS servers configured"; + list server { + description + "RADIUS Server"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of RADIUS server"; + } + leaf auth-port-number { + type Aaa-radius-port-range; + description + "Authentication Port number (standard port + 1645)"; + } + leaf acct-port-number { + type Aaa-radius-port-range; + description + "Accounting Port number (standard port 1646)"; + } + uses RADIUS-SERVERBAG; + } + } + container radius-source-interface { + description + "RADIUS source interfaces"; + uses SOURCE-INTERFACES; + } + container global { + description + "RADIUS Client Information"; + uses RADIUS-CLIENTBAG; + } + } + } + container radius { + config false; + description + "RADIUS operational data"; + container nodes { + description + "Contains all the nodes"; + list node { + key "node-name"; + description + "RADIUS operational data for a particular node"; + container client { + description + "RADIUS client data"; + uses RADIUS-CLIENT-XML; + } + container dead-criteria { + description + "RADIUS dead criteria information"; + container hosts { + description + "RADIUS server dead criteria host table"; + list host { + description + "RADIUS Server"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of RADIUS server"; + } + leaf auth-port-number { + type Radius-port-range; + description + "Authentication Port number (standard port + 1645)"; + } + leaf acct-port-number { + type Radius-port-range; + description + "Accounting Port number (standard port 1646)"; + } + uses RADIUS-DEAD-CRITERIA; + } + } + } + container servergroups { + description + "RADIUS server group table"; + list servergroup { + description + "RADIUS server group information"; + leaf server-group-name { + type xr:Cisco-ios-xr-string; + description + "Server group name"; + } + leaf server-ipaddress { + type xr:Cisco-ios-xr-string; + description + "IP address of RADIUS server"; + } + leaf auth-port-number { + type Radius-port-range; + description + "Authentication Port number (standard port + 1645)"; + } + leaf acct-port-number { + type Radius-port-range; + description + "Accounting Port number (standard port 1646)"; + } + uses RADIUS-SERVER-GROUP-DATA; + } + } + container dynamic-author-clients { + description + "Dynamic authorization client data"; + list dynamic-author-client { + description + "Dynamic authorization client data"; + leaf coa-client-ipaddress { + type xr:Cisco-ios-xr-string; + description + "IP address of Coa Client server"; + } + leaf vrf { + type xr:Cisco-ios-xr-string; + description + "vrf name"; + } + uses RADIUS-DYNAMIC-CLIENT-DATA; + } + } + container authentication { + description + "RADIUS authentication data"; + uses RADIUS-SERVER-AUTHENTICATION; + } + container accounting { + description + "RADIUS accounting data"; + uses RADIUS-SERVER-ACCOUNTING; + } + container dynamic-authorization-clients { + description + "Dynamic authorization client data"; + uses RADIUS-DYNAMIC-CLIENT; + } + container server-groups { + description + "RADIUS server group table"; + list server-group { + key "server-group-name"; + description + "RADIUS server group data"; + leaf server-group-name { + type xr:Cisco-ios-xr-string; + description + "Group name"; + } + uses RADIUS-GROUPS-SERVERS; + } + } + container dynamic-authorization { + description + "Dynamic authorization data"; + uses RADIUS-DYNAMIC-SERVER; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-cfg.yang new file mode 100644 index 000000000..559db05a3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-cfg.yang @@ -0,0 +1,482 @@ +module Cisco-IOS-XR-aaa-tacacs-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-tacacs-cfg"; + prefix aaa-tacacs-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-aaa-lib-cfg { + prefix a1; + } + import Cisco-IOS-XR-aaa-locald-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-tacacs package configuration. + + This YANG module augments the + Cisco-IOS-XR-aaa-lib-cfg, + Cisco-IOS-XR-aaa-locald-cfg + modules with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-21 { + description + "Added union for tacacs keys to make encrypt-type field mandatory."; + semver:module-version "3.0.0"; + } + revision 2020-11-24 { + description + "Added single connect idle timeout support config for private server. + 2020-08-19 + Added support for Holddown Time. + 2020-04-20 + Added support for Type 6."; + semver:module-version "2.0.0"; + } + revision 2020-01-28 { + description + "Added single connect support config for private server group. + 2019-08-29 + Added new config for idle timeout for single connection."; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tacacs-dscp-value { + type union { + type enumeration { + enum "af11" { + value 10; + description + "Match packets with AF11 DSCP"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 DSCP"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 DSCP"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 DSCP"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 DSCP"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 DSCP"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 DSCP"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 DSCP"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 DSCP"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 DSCP"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 DSCP"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 DSCP"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1 DSCP"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2 DSCP"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3 DSCP"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4 DSCP"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5 DSCP"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6 DSCP"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7 DSCP"; + } + enum "default" { + value 0; + description + "Match packets with 0000 DSCP"; + } + enum "ef" { + value 46; + description + "Match packets with EF DSCP"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Tacacs dscp value"; + } + + typedef Aaa-tacacs-holddown-time { + type uint32 { + range "0..1200"; + } + description + "Aaa tacacs holddown time"; + } + + typedef Secret-encryption { + type enumeration { + enum "type6" { + value 6; + description + "Type 6 encryption"; + } + enum "type7" { + value 7; + description + "Type 7 encryption"; + } + } + description + "Secret encryption"; + } + + typedef Aaa-tacacs-timeout { + type uint32 { + range "1..1000"; + } + description + "Aaa tacacs timeout"; + } + + typedef Aaa-tacacs-port-range { + type uint32 { + range "1..65535"; + } + description + "Aaa tacacs port range"; + } + + grouping KEY { + description + "Common node of tacacs, host, private-server"; + container key { + description + "Set TACACS+ encryption key"; + leaf encrypt-type { + type Secret-encryption; + description + "Encryption Type"; + } + leaf secret7 { + when "../encrypt-type = 'type7'" { + description + "../EncryptType = Type7"; + } + type xr:Proprietary-password; + description + "Type7 Encryption key"; + } + leaf secret6 { + when "../encrypt-type = 'type6'" { + description + "../EncryptType = Type6"; + } + type xr:Type6-password; + description + "Type6 Encryption key, requires a valid master + key in the system"; + } + } + } + + grouping TIMEOUT { + description + "Common node of tacacs, host, private-server"; + leaf timeout { + type Aaa-tacacs-timeout; + default "5"; + description + "Time to wait for a TACACS+ server to reply"; + } + } + + grouping HOLDDOWN-TIME { + description + "Common node of tacacs, host, tacacs-server-group, + private-server"; + leaf holddown-time { + type Aaa-tacacs-holddown-time; + default "0"; + description + "Time for which a TACACS+ server remains marked + as dead"; + } + } + + grouping DSCP { + description + "Common node of ipv4, ipv6"; + leaf dscp { + type Tacacs-dscp-value; + description + "Specify the DSCP value"; + } + } + + grouping SINGLE-CONNECT { + description + "Common node of tacacs, host, private-server"; + leaf single-connect { + type boolean; + default "false"; + description + "Use a single connection for all sessions for a + given TACACS+ server"; + } + } + + grouping SINGLE-CONNECT-IDLE-TIMEOUT { + description + "Common node of tacacs, host, private-server"; + leaf single-connect-idle-timeout { + type uint32 { + range "5..7200"; + } + units "second"; + description + "Idle timeout for single connection to the + TACACS+ server"; + } + } + + augment "/a1:aaa" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-lib-cfg'"; + container tacacs { + description + "Modify TACACS+ query parameters"; + container ipv6 { + description + "IPv6 configuration"; + uses DSCP; + } + container hosts { + description + "Specify a TACACS+ server"; + list host { + key "ordering-index ip-address port-number"; + description + "One of the TACACS+ servers"; + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the order + of precedence"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of TACACS+ server"; + } + leaf port-number { + type Aaa-tacacs-port-range; + description + "Port number (standard 49)"; + } + uses KEY; + uses TIMEOUT; + uses SINGLE-CONNECT; + uses SINGLE-CONNECT-IDLE-TIMEOUT; + uses HOLDDOWN-TIME; + } + } + container ipv4 { + description + "IPv4 configuration"; + uses DSCP; + } + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "A VRF"; + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in + TACACS+ packets"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name. Specify 'default' for default VRF"; + } + } + } + uses KEY; + uses TIMEOUT; + uses SINGLE-CONNECT; + uses SINGLE-CONNECT-IDLE-TIMEOUT; + uses HOLDDOWN-TIME; + } + } + augment "/a1:aaa/a2:server-groups" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-aaa-locald-cfg'"; + container tacacs-server-groups { + description + "TACACS+ server-group definition"; + list tacacs-server-group { + key "server-group-name"; + description + "TACACS+ Server group name"; + container servers { + description + "Specify a TACACS+ server"; + list server { + key "ordering-index ip-address"; + description + "A server to include in the server group"; + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of TACACS+ server"; + } + } + } + container private-servers { + description + "List of private TACACS servers present in the + group"; + list private-server { + key "ordering-index ip-address port-number"; + description + "A private server to include in the server + group"; + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of TACACS+ server"; + } + leaf port-number { + type Aaa-tacacs-port-range; + description + "Port number (standard 49)"; + } + uses KEY; + uses TIMEOUT; + uses SINGLE-CONNECT; + uses SINGLE-CONNECT-IDLE-TIMEOUT; + uses HOLDDOWN-TIME; + } + } + leaf vrf { + type string; + description + "Specify VRF name of TACACS group"; + } + leaf server-group-name { + type xr:Cisco-ios-xr-string; + description + "TACACS+ Server group name"; + } + uses HOLDDOWN-TIME; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper-sub1.yang new file mode 100644 index 000000000..e90d99e91 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper-sub1.yang @@ -0,0 +1,529 @@ +submodule Cisco-IOS-XR-aaa-tacacs-oper-sub1 { + belongs-to Cisco-IOS-XR-aaa-tacacs-oper { + prefix Cisco-IOS-XR-aaa-tacacs-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR aaa-tacacs package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Added counters for tacacs+ servers + 2022-07-27 + Added support to display tacacs-source-interfaces and complete operational data"; + semver:module-version "1.2.1m"; + } + revision 2021-10-01 { + description + "Support to print IPv6 address in operational data."; + semver:module-version "1.2.0"; + } + revision 2021-01-06 { + description + "Added last-contact-attempt entry in show tacacs."; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TACACS-SERVER-GROUPS { + description + "TACACS SERVER GROUPS"; + list server-group { + description + "server group"; + uses TACACS-SERVER-GROUP-BAG; + } + } + + grouping TACACS-AAA-COUNTERS { + description + "TACACS AAA COUNTERS"; + leaf ipadd-buf { + type string; + description + "Ip address buffer of server"; + } + leaf port { + type uint32; + description + "server port"; + } + leaf group-name { + type string; + description + "name of the server group"; + } + leaf vrf-name { + type string; + description + "vrf of the group"; + } + leaf is-private { + type boolean; + description + "Flag for private or global server"; + } + leaf authen-req-counter { + type uint32; + description + "Authentication counter"; + } + leaf authen-pass-counter { + type uint32; + description + "Authentication Success counter"; + } + leaf authen-fail-counter { + type uint32; + description + "Authentication Failure counter"; + } + leaf authen-error-counter { + type uint32; + description + "Authentication Error counter"; + } + leaf authen-timeout-counter { + type uint32; + description + "Authentication Timeout counter"; + } + leaf exec-author-req-counter { + type uint32; + description + "Exec Authorization counter"; + } + leaf exec-author-pass-counter { + type uint32; + description + "Exec Authorization Success counter"; + } + leaf exec-author-deny-counter { + type uint32; + description + "Exec Authorization Deny counter"; + } + leaf exec-author-error-counter { + type uint32; + description + "Exec Authorization Error counter"; + } + leaf exec-author-timeout-counter { + type uint32; + description + "Exec Authorization Timeout counter"; + } + leaf cmd-author-req-counter { + type uint32; + description + "Cmd Authorization counter"; + } + leaf cmd-author-pass-counter { + type uint32; + description + "Cmd Authorization Success counter"; + } + leaf cmd-author-deny-counter { + type uint32; + description + "Cmd Authorization Deny counter"; + } + leaf cmd-author-error-counter { + type uint32; + description + "Cmd Authorization Error counter"; + } + leaf cmd-author-timeout-counter { + type uint32; + description + "Cmd Authorization Timeout counter"; + } + leaf exec-account-req-counter { + type uint32; + description + "Exec Accounting counter"; + } + leaf exec-account-pass-counter { + type uint32; + description + "Exec Accounting Success counter"; + } + leaf exec-account-fail-counter { + type uint32; + description + "Exec Accounting Fail counter"; + } + leaf exec-account-error-counter { + type uint32; + description + "Exec Accounting Error counter"; + } + leaf exec-account-timeout-counter { + type uint32; + description + "Exec Accounting Timeout counter"; + } + leaf cmd-account-req-counter { + type uint32; + description + "Cmd Accounting counter"; + } + leaf cmd-account-pass-counter { + type uint32; + description + "Cmd Accounting Success counter"; + } + leaf cmd-account-fail-counter { + type uint32; + description + "Cmd Accounting Fail counter"; + } + leaf cmd-account-error-counter { + type uint32; + description + "Cmd Accounting Error counter"; + } + leaf cmd-account-timeout-counter { + type uint32; + description + "Cmd Accounting Timeout counter"; + } + leaf clear-counter-time { + type int64; + description + "Last time counters are cleared"; + } + } + + grouping TACACS-SERVERS { + description + "TACACS SERVERS"; + list server { + description + "server"; + uses TACACS-SERVERBAG; + } + } + + grouping TACACS-REQUESTBAG { + description + "TACACS REQUESTBAG"; + list tacacs-requestbag { + description + "address in tacascd proc space of this req"; + leaf time-remaining { + type uint32; + description + "time remaining for this request"; + } + leaf bytes-out { + type uint32; + units "byte"; + description + "bytes written"; + } + leaf out-pak-size { + type uint32; + description + "size of the packet to be sent"; + } + leaf bytes-in { + type uint32; + units "byte"; + description + "bytes read from socket"; + } + leaf in-pak-size { + type uint32; + description + "size of the packet to be received"; + } + leaf pak-type { + type string; + description + "the type of packet"; + } + leaf session-id { + type int32; + description + "same as in pkt hdr"; + } + leaf sock { + type int32; + description + "socket number"; + } + } + } + + grouping TACACS-REQUESTS { + description + "TACACS REQUESTS"; + list request { + description + "request"; + uses TACACS-REQUESTBAG; + } + } + + grouping TACACS-SERVER-GROUP-BAG { + description + "TACACS SERVER GROUP BAG"; + leaf group-name { + type string; + description + "name of the server group"; + } + leaf sg-map-num { + type uint32; + description + "server group mapped number"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "vrf of the group"; + } + list server { + description + "list of servers in this group"; + uses TACACS-SERVERBAG; + } + } + + grouping TACACS-SERVERBAG { + description + "TACACS SERVERBAG"; + leaf addr { + type inet:ipv4-address; + description + "IPv4 address of T+ server (if applicable)"; + } + leaf timeout { + type uint32; + description + "per-server timeout"; + } + leaf port { + type uint32; + description + "per server port to use"; + } + leaf bytes-in { + type uint32; + units "byte"; + description + "# of bytes read"; + } + leaf bytes-out { + type uint32; + units "byte"; + description + "# of bytes out"; + } + leaf closes { + type uint32; + description + "socket closes"; + } + leaf opens { + type uint32; + description + "socket opens"; + } + leaf errors { + type uint32; + description + "error count"; + } + leaf aborts { + type uint32; + description + "abort count"; + } + leaf paks-in { + type uint32; + description + "# of incoming packets read"; + } + leaf paks-out { + type uint32; + description + "# of outgoing packets sent"; + } + leaf replies-expected { + type uint32; + description + "# of replies expected to arrive"; + } + leaf up { + type boolean; + description + "is the server UP or down ?"; + } + leaf conn-up { + type boolean; + description + "is the server connected ?"; + } + leaf single-connect { + type boolean; + description + "is this a single connect server ?"; + } + leaf is-private { + type boolean; + description + "is this a private server ?"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF in which server is reachable"; + } + leaf addr-buf { + type string { + length "0..46"; + } + description + "internet address of T+ server"; + } + leaf family { + type string { + length "0..5"; + } + description + "IP address Family"; + } + leaf single-connect-idle-timeout { + type uint32; + description + "Single connection idle timeout"; + } + leaf connection-attempted { + type int64; + description + "last attempted contact time"; + } + leaf connection-timeout { + type uint32; + description + "Server Connection timeout counter"; + } + leaf connection-failure { + type uint32; + description + "Server Connection failed counter"; + } + leaf connection-disconnect { + type uint32; + description + "Server connection disconnect counter"; + } + leaf receive-error { + type uint32; + description + "receive error counter"; + } + leaf receive-timeout { + type uint32; + description + "receive timeout counter"; + } + leaf send-timeout { + type uint32; + description + "Send timeout coutner"; + } + } + + grouping TACACS-DETAILS { + description + "TACACS DETAILS"; + list server { + description + "server"; + uses TACACS-SERVERBAG; + } + list server-group { + description + "server group"; + uses TACACS-SERVER-GROUP-BAG; + } + list src-intf { + description + "src intf"; + uses TACACS-SRC-INTF; + } + } + + grouping TACACS-SRC-INTF { + description + "TACACS SRC INTF"; + leaf interface-name { + type string; + description + "Name of the source interface"; + } + leaf ipaddrv4 { + type string; + description + "IP address buffer"; + } + leaf ipaddrv6 { + type string; + description + "IP address buffer"; + } + leaf vrfid { + type uint32; + description + "VRF Id"; + } + } + + grouping TACACS-SOURCE-INTERFACES { + description + "TACACS SOURCE INTERFACES"; + list list-of-source-interface { + description + "List of source interfaces"; + uses TACACS-SRC-INTF; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper.yang new file mode 100644 index 000000000..6f655f2e2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-aaa-tacacs-oper.yang @@ -0,0 +1,119 @@ +module Cisco-IOS-XR-aaa-tacacs-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-tacacs-oper"; + prefix aaa-tacacs-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-aaa-locald-oper { + prefix a1; + } + include Cisco-IOS-XR-aaa-tacacs-oper-sub1 { + revision-date 2022-11-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-tacacs package operational data. + + This YANG module augments the + Cisco-IOS-XR-aaa-locald-oper + module with state data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Added counters for tacacs+ servers + 2022-07-27 + Added support to display tacacs-source-interfaces and complete operational data"; + semver:module-version "1.2.1m"; + } + revision 2021-10-01 { + description + "Support to print IPv6 address in operational data."; + semver:module-version "1.2.0"; + } + revision 2021-01-06 { + description + "Added last-contact-attempt entry in show tacacs."; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:aaa" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-aaa-locald-oper'"; + container tacacs { + description + "TACACS operational data"; + container interfaces { + description + "TACACS Source Interfaces List"; + uses TACACS-SOURCE-INTERFACES; + } + container details { + description + "Complete Tacacs statistics"; + uses TACACS-DETAILS; + } + container requests { + description + "TACACS Active Request List"; + uses TACACS-REQUESTS; + } + container servers { + description + "TACACS server Information"; + uses TACACS-SERVERS; + } + container counters { + description + "AAA counters for all tacacs+ servers"; + list counter { + key "server-name"; + description + "AAA counters for individual server"; + leaf server-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "ServerName"; + } + uses TACACS-AAA-COUNTERS; + } + } + container server-groups { + description + "TACACS sg Information"; + uses TACACS-SERVER-GROUPS; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-accounting-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-accounting-cfg.yang new file mode 100644 index 000000000..bb5380c77 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-accounting-cfg.yang @@ -0,0 +1,97 @@ +module Cisco-IOS-XR-accounting-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-accounting-cfg"; + prefix accounting-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR accounting package configuration. + + This module contains definitions + for the following management objects: + accounting: Global Accounting configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-31 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container accounting { + description + "Global Accounting configuration commands"; + container interfaces { + description + "Interfaces configuration"; + container mpls { + description + "Interfaces MPLS configuration"; + leaf enable { + type empty; + description + "Enable accounting on MPLS"; + } + leaf enable-v4rsvpte { + type empty; + description + "Enable accounting on MPLS IPv4 RSVP TE"; + } + } + container segment-routing { + description + "Interfaces Segment Routing configuration"; + leaf enable { + type empty; + description + "Enable accounting on Segment Routing"; + } + leaf enable-mplsv4 { + type empty; + description + "Enable accounting on Segment Routing MPLS IPv4"; + } + leaf enable-mplsv6 { + type empty; + description + "Enable accounting on Segment Routing MPLS IPv6"; + } + } + leaf enable { + type empty; + description + "Enable accounting on Interfaces"; + } + } + leaf enable { + type empty; + description + "Enable Accounting"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-adt-config-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-config-cfg.yang new file mode 100644 index 000000000..92b6d1123 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-config-cfg.yang @@ -0,0 +1,84 @@ +module Cisco-IOS-XR-adt-config-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-adt-config-cfg"; + prefix adt-config-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR adt-config package configuration. + + This module contains definitions + for the following management objects: + adt-config: Container Schema adt configuration + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-05 { + description + "Modified to support deletion of all ADT config on disabling feature."; + semver:module-version "1.0.0"; + } + revision 2020-04-05 { + description + "IOS XR 7.3.1 Initial version."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container adt-config { + description + "Container Schema adt configuration"; + container enable-feature { + presence "CLI submode compatibility."; + description + "Enable adt feature"; + container input { + description + "Sources for ADT collector"; + container mdt { + description + "MDT config for collector"; + container mdt-sensor-group-ids { + description + "MDT sensor groups"; + list mdt-sensor-group-id { + key "groupname"; + description + "MDT sensor group id"; + leaf groupname { + type xr:Cisco-ios-xr-string; + description + "Mdt Sensor Group name"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub1.yang new file mode 100644 index 000000000..0d1e4f3bb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub1.yang @@ -0,0 +1,360 @@ +submodule Cisco-IOS-XR-adt-oper-sub1 { + belongs-to Cisco-IOS-XR-adt-oper { + prefix Cisco-IOS-XR-adt-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR adt package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-05 { + description + "IOS XR 7.3.1 Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ADT-SENSOR-PATHS { + description + "Sensor paths"; + leaf sensor-path { + type string; + description + "Sensor path "; + } + leaf cadence { + type uint32; + units "second"; + description + "Cadence in seconds"; + } + leaf is-implicitly-added { + type uint8; + description + "Is implicity added sensor-path"; + } + leaf subscription-id { + type uint64; + description + "Subscription Id "; + } + } + + grouping ADT-SENSOR-GROUPS { + description + "Sensor groups"; + leaf sensor-group-name { + type string; + description + "Sensor group name "; + } + list sensor-path { + description + "Sensor paths"; + uses ADT-SENSOR-PATHS; + } + } + + grouping ADT-SUBSCRIPTION-INFO { + description + "ADT subscription details"; + list sensor-group { + description + "Subscribed sensor groups"; + uses ADT-SENSOR-GROUPS; + } + list missed-collection { + description + "Missed sensor group collections "; + uses ADT-SENSOR-GROUPS; + } + } + + grouping DETECTOR-STATISTICS { + description + "ADT detector statistics"; + leaf-list detector-state { + type uint32; + max-elements "4"; + description + "detector state"; + } + } + + grouping TUNER-STATISTICS { + description + "ADT tuner statistics"; + leaf tuner-state { + type uint8; + description + "Current tuner state"; + } + leaf sys-cpu-state { + type uint8; + description + "system CPU state 1:OK 0:NOK"; + } + leaf sys-mem-state { + type uint8; + description + "system memory state 1:OK 0:NOK"; + } + leaf proc-cpu-state { + type uint8; + description + "adt process CPU state 1:OK 0:NOK"; + } + leaf proc-soft-limit { + type uint32; + description + "adt proc soft limit"; + } + leaf proc-mem-state { + type uint8; + description + "adt process memory state 1:OK 0:NOK"; + } + leaf default-path-collection-total { + type uint64; + description + "total default path collections"; + } + leaf default-path-collection-status { + type uint8; + description + "status of default path collections 1:OK 0:NOK"; + } + leaf user-path-collection-total { + type uint64; + description + "total user path collections"; + } + leaf user-path-collection-status { + type uint8; + description + "status of user path collections 1:OK 0:NOK"; + } + leaf time-in-curr-state { + type uint64; + units "second"; + description + "time :seconds: spend in current state"; + } + leaf sysdb-path-count { + type uint64; + description + "count of sysdb paths collected by ADT"; + } + leaf item-count { + type uint64; + description + "item count collected by ADT"; + } + leaf-list sys-cpu-stae { + type uint32; + max-elements "4"; + description + "last 4 samples of system cpu"; + } + leaf-list sys-mem-data { + type uint32; + max-elements "4"; + description + "last 4 samples of system memory data"; + } + leaf-list proc-cpu-stae { + type uint32; + max-elements "4"; + description + "last 4 samples of adt process cpu"; + } + leaf-list proc-mem-data { + type uint32; + max-elements "4"; + description + "last 4 samples of adt process memory data"; + } + leaf-list default-path-collection-missed-data { + type uint32; + max-elements "4"; + description + "last 4 samples of missed collection for default + paths"; + } + leaf-list user-path-collection-missed-data { + type uint32; + max-elements "4"; + description + "last 4 samples of missed collection for user + paths"; + } + } + + grouping MEMORY-STATISTICS { + description + "ADT memory statistics"; + leaf current-memory-total { + type uint32; + units "byte"; + description + "Current memory usage Total in bytes"; + } + leaf current-memory-py { + type uint32; + units "byte"; + description + "Current memory usage Py in bytes"; + } + leaf peak-memory-total { + type uint32; + units "byte"; + description + "Peak memory usage Total in bytes"; + } + leaf peak-memory-py { + type uint32; + units "byte"; + description + "Peak memory usage Py in bytes"; + } + } + + grouping OUTPUT-STATISTICS { + description + "ADT output statistics"; + leaf total-output-messages { + type uint32; + description + "Total output messages from selector"; + } + leaf total-notify { + type uint32; + description + "Total ADT notifies"; + } + leaf total-hints { + type uint32; + description + "Total Hints"; + } + leaf total-pending-selector-messages { + type uint32; + description + "Total pending selector messages not pushed to + MDT"; + } + leaf total-mdt-reads { + type uint32; + description + "Total MDT reads"; + } + leaf total-edt-events { + type uint32; + description + "Total EDT events"; + } + } + + grouping INPUT-STATISTICS { + description + "ADT input statistics"; + leaf total-input-messages { + type uint32; + description + "Total input messages received by pal"; + } + leaf total-output-messages { + type uint32; + description + "Total output messages send to collector"; + } + leaf total-collection-errors { + type uint32; + description + "Total Collection errors"; + } + leaf total-decode-errors { + type uint32; + description + "Total decode errors"; + } + leaf total-bytes-received { + type uint64; + units "byte"; + description + "Total bytes received from MDT sensor"; + } + leaf total-bytes-sent { + type uint64; + units "byte"; + description + "Total bytes sent to collector "; + } + } + + grouping ADT-STATISTICS { + description + "ADT statistics"; + container input-stats { + description + "Input statistics"; + uses INPUT-STATISTICS; + } + container output-stats { + description + "Output statistics"; + uses OUTPUT-STATISTICS; + } + container memory-stats { + description + "Memory statistics"; + uses MEMORY-STATISTICS; + } + container tuner-stats { + description + "Tuner statistics"; + uses TUNER-STATISTICS; + } + container detector-stats { + description + "Detector statistics"; + uses DETECTOR-STATISTICS; + } + leaf last-telemetry-message-timestamp { + type uint64; + description + "Timestamp of last telemetry message received"; + } + leaf last-selector-output-timestamp { + type uint64; + description + "Timestanmp of last selector output"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub2.yang new file mode 100644 index 000000000..bf8584c76 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper-sub2.yang @@ -0,0 +1,368 @@ +submodule Cisco-IOS-XR-adt-oper-sub2 { + belongs-to Cisco-IOS-XR-adt-oper { + prefix Cisco-IOS-XR-adt-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR adt package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-05 { + description + "IOS XR 7.3.1 Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ip-version { + type enumeration { + enum "unknown" { + description + "unknown"; + } + enum "ipv4" { + description + "ipv4"; + } + enum "ipv6" { + description + "ipv6"; + } + } + description + "Ip version"; + } + + grouping VAL-PREFIX { + description + "VAL PREFIX"; + container ipv4-prefix { + when "../prefix-type = '1'" { + description + "../prefix_type = '1'"; + } + description + "ipv4 prefix"; + uses VAL-STRING; + } + container ipv6-prefix { + when "../prefix-type = '2'" { + description + "../prefix_type = '2'"; + } + description + "ipv6 prefix"; + uses VAL-STRING; + } + leaf prefix-type { + type int32; + description + "prefix type"; + } + } + + grouping VAL-STRING { + description + "VAL STRING"; + leaf val-str { + type string; + description + "val str"; + } + } + + grouping COUNTER-VAL-TYPE { + description + "COUNTER VAL TYPE"; + container stringdata { + when "../value-type = '5'" { + description + "../value_type = '5'"; + } + description + "stringdata"; + uses VAL-STRING; + } + container ip-prefix { + when "../value-type = '19'" { + description + "../value_type = '19'"; + } + description + "ip prefix"; + uses VAL-PREFIX; + } + leaf value-type { + type int32; + description + "value type"; + } + leaf not-set { + when "../value-type = '0'" { + description + "../value_type = '0'"; + } + type uint32; + description + "not set"; + } + leaf val-u32 { + when "../value-type = '1'" { + description + "../value_type = '1'"; + } + type uint32; + description + "val u32"; + } + leaf val-i32 { + when "../value-type = '2'" { + description + "../value_type = '2'"; + } + type int32; + description + "val i32"; + } + leaf val-u64 { + when "../value-type = '3'" { + description + "../value_type = '3'"; + } + type uint64; + description + "val u64"; + } + leaf val-i64 { + when "../value-type = '4'" { + description + "../value_type = '4'"; + } + type int64; + description + "val i64"; + } + leaf val-counter32 { + when "../value-type = '6'" { + description + "../value_type = '6'"; + } + type uint32; + description + "val counter32"; + } + leaf val-zero-based-counter32 { + when "../value-type = '7'" { + description + "../value_type = '7'"; + } + type uint32; + description + "val zero based counter32"; + } + leaf val-counter64 { + when "../value-type = '8'" { + description + "../value_type = '8'"; + } + type uint64; + description + "val counter64"; + } + leaf val-zero-based-counter64 { + when "../value-type = '9'" { + description + "../value_type = '9'"; + } + type uint64; + description + "val zero based counter64"; + } + leaf val-guage32 { + when "../value-type = '10'" { + description + "../value_type = '10'"; + } + type uint32; + description + "val guage32"; + } + leaf val-gauge64 { + when "../value-type = '11'" { + description + "../value_type = '11'"; + } + type uint64; + description + "val gauge64"; + } + leaf val-timeticks { + when "../value-type = '12'" { + description + "../value_type = '12'"; + } + type uint64; + description + "val timeticks"; + } + leaf val-timestamp { + when "../value-type = '13'" { + description + "../value_type = '13'"; + } + type uint64; + description + "val timestamp"; + } + leaf val-ip-version { + when "../value-type = '14'" { + description + "../value_type = '14'"; + } + type Ip-version; + description + "val ip version"; + } + leaf val-dscp { + when "../value-type = '15'" { + description + "../value_type = '15'"; + } + type uint32; + description + "val dscp"; + } + leaf val-ipv6-flow-label { + when "../value-type = '16'" { + description + "../value_type = '16'"; + } + type uint32; + description + "val ipv6 flow label"; + } + leaf val-port-number { + when "../value-type = '17'" { + description + "../value_type = '17'"; + } + type uint32; + description + "val port number"; + } + leaf val-as-number { + when "../value-type = '18'" { + description + "../value_type = '18'"; + } + type uint32; + description + "val as number"; + } + } + + grouping DATA-DEF { + description + "DATA DEF"; + container value { + description + "value"; + uses COUNTER-VAL-TYPE; + } + leaf timestamp { + type uint64; + description + "timestamp"; + } + } + + grouping CHANGE-LIST-DEF { + description + "CHANGE LIST DEF"; + leaf sensor-path { + type string; + description + "sensor path"; + } + leaf sensor-path-tags { + type string; + description + "sensor path tags"; + } + leaf sensor-path-message { + type string; + description + "sensor path message"; + } + list data { + description + "data"; + uses DATA-DEF; + } + } + + grouping ADT-EVENT-DEF { + description + "ADT EVENT DEF"; + leaf event-id { + type uint32; + description + "Event id used as key"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf change-description { + type string; + description + "change description"; + } + leaf timestamp { + type uint64; + description + "timestamp"; + } + list change { + description + "change"; + uses CHANGE-LIST-DEF; + } + } + + grouping ADT-EVENTS { + description + "ADT EVENTS"; + list adt-event { + description + "adt event"; + uses ADT-EVENT-DEF; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper.yang new file mode 100644 index 000000000..8802505eb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-adt-oper.yang @@ -0,0 +1,73 @@ +module Cisco-IOS-XR-adt-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-adt-oper"; + prefix adt-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-adt-oper-sub2 { + revision-date 2020-05-05; + } + include Cisco-IOS-XR-adt-oper-sub1 { + revision-date 2020-05-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR adt package operational data. + + This module contains definitions + for the following management objects: + adt: ADT operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-05 { + description + "IOS XR 7.3.1 Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container adt { + config false; + description + "ADT operational data"; + container statistics { + description + "ADT statistics"; + uses ADT-STATISTICS; + } + container adt-output { + description + "Data associated with the event triggered from + adt"; + uses ADT-EVENTS; + } + container subscription-info { + description + "ADT subscription details"; + uses ADT-SUBSCRIPTION-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper-sub1.yang new file mode 100644 index 000000000..45cb882fd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper-sub1.yang @@ -0,0 +1,1377 @@ +submodule Cisco-IOS-XR-alarmgr-server-oper-sub1 { + belongs-to Cisco-IOS-XR-alarmgr-server-oper { + prefix Cisco-IOS-XR-alarmgr-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR alarmgr-server package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-27 { + description + "Added new container called conditions for lindt based platforms."; + semver:module-version "4.0.1m"; + } + revision 2021-09-15 { + description + "Removed enum last in Alarm-groups. + 2021-05-17 + Alarm support for CEM interface. Added enum cem to Alarm-groups. + 2021-05-11 + PTAH support for E1 controller."; + semver:module-version "4.0.0"; + } + revision 2021-05-06 { + description + "Adding new alarm groups to alarm_mgr_edm_spi.bag + 2020-12-02 + PTAH support for Fibre Channel controller. + 2020-09-02 + SNMP Trap support added for Alarm mib"; + semver:module-version "3.0.0"; + } + revision 2020-05-29 { + description + "Addressing Yang inconsistency across platforms + 2019-06-28 + PTAH support for CPRI controller in Felidae 5G platform."; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Alarm-client { + type enumeration { + enum "unknown" { + value 1; + description + "Client type unknown"; + } + enum "producer" { + value 2; + description + "Client type producer"; + } + enum "consumer" { + value 4; + description + "Client type consumer"; + } + enum "subscriber" { + value 8; + description + "Client type subscriber"; + } + enum "client-last" { + value 16; + description + "Client type last"; + } + } + description + "Alarm client"; + } + + typedef Alarm-client-state { + type enumeration { + enum "start" { + value 0; + description + "Starting state. Should be 0"; + } + enum "init" { + value 1; + description + "Client initalized"; + } + enum "connecting" { + value 2; + description + "Sent connect request"; + } + enum "connected" { + value 3; + description + "Initial connected"; + } + enum "registered" { + value 4; + description + "Has sent registration message"; + } + enum "disconnected" { + value 5; + description + "Has been disconnected due to request of error"; + } + enum "ready" { + value 6; + description + "The client is ready"; + } + } + description + "Alarm client state"; + } + + typedef Alarm-object-mib-index { + type enumeration { + enum "hwentity" { + value 0; + description + "Object MIB index type Hardware Entity"; + } + enum "interface-entity" { + value 1; + description + "Object MIB index type Interface Entity"; + } + enum "sw-entity" { + value 2; + description + "Object MIB index type Software Entity"; + } + } + description + "Alarm object mib index"; + } + + typedef Alarm-event { + type enumeration { + enum "default" { + value 0; + description + "Default Alarm Event Type"; + } + enum "notification" { + value 1; + description + "Alarm Notifcation Event Type"; + } + enum "condition" { + value 2; + description + "Alarm Type Condition"; + } + enum "last" { + value 3; + description + "Last Event Type"; + } + } + description + "Alarm event"; + } + + typedef Timing-bucket { + type enumeration { + enum "not-specified" { + value 0; + description + "Bucket Type not applicable"; + } + enum "fifteen-min" { + value 1; + description + "Fifteen minute time bucket"; + } + enum "one-day" { + value 2; + description + "One day time bucket"; + } + enum "thirty-sec" { + value 3; + description + "Thirty second time bucket"; + } + } + description + "Timing bucket"; + } + + typedef Alarm-notification-src { + type enumeration { + enum "not-specified" { + value 0; + description + "Notification src not specified"; + } + enum "near-end" { + value 1; + description + "Notification src near end"; + } + enum "far-end" { + value 2; + description + "Notification src far end"; + } + } + description + "Alarm notification src"; + } + + typedef Alarm-direction { + type enumeration { + enum "not-specified" { + value 0; + description + "Direction Not Specified"; + } + enum "send" { + value 1; + description + "Direction Send"; + } + enum "receive" { + value 2; + description + "Direction Receive"; + } + enum "send-receive" { + value 3; + description + "Direction Send and Receive"; + } + } + description + "Alarm direction"; + } + + typedef Alarm-service-affecting { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown whether alarm severity is service + affecting"; + } + enum "not-service-affecting" { + value 1; + description + "Alarm severity is not service affecting"; + } + enum "service-affecting" { + value 2; + description + "Alarm severity is service affecting"; + } + } + description + "Alarm service affecting"; + } + + typedef Alarm-groups { + type enumeration { + enum "unknown" { + value 0; + description + "An unknown alarm group"; + } + enum "environ" { + value 1; + description + "Environomental alarm group"; + } + enum "ethernet" { + value 2; + description + "Ethernet alarm group"; + } + enum "fabric" { + value 3; + description + "Fabric related alarm group"; + } + enum "power" { + value 4; + description + "Power and PEM group of alarms"; + } + enum "software" { + value 5; + description + "Software group of alarms"; + } + enum "slice" { + value 6; + description + "Slice group of alarms"; + } + enum "cpu" { + value 7; + description + "CPU group of alarms"; + } + enum "controller" { + value 8; + description + "Controller group of alarms"; + } + enum "sonet" { + value 9; + description + "Sonet group of alarms"; + } + enum "otn" { + value 10; + description + "OTN group of alarms"; + } + enum "sdh-controller" { + value 11; + description + "SDH group of alarms"; + } + enum "asic" { + value 12; + description + "ASIC group of alarms"; + } + enum "fpd-infra" { + value 13; + description + "FPD group of alarms"; + } + enum "shelf" { + value 14; + description + "Shelf group of alarms"; + } + enum "mpa" { + value 15; + description + "MPA group of alarms"; + } + enum "ots" { + value 16; + description + "OTS group of alarms"; + } + enum "timing" { + value 17; + description + "Timing group of alarms"; + } + enum "cpri" { + value 18; + description + "CPRI group of alarms"; + } + enum "fibre-channel" { + value 19; + description + "Fibre channel group of alarms"; + } + enum "e1" { + value 20; + description + "E1 group of alarms"; + } + enum "cem" { + value 21; + description + "CEM group of alarms"; + } + } + description + "Alarm groups"; + } + + typedef Alarm-status { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown alarm status level"; + } + enum "set" { + value 1; + description + "Status of active alarm that is SET by the + controller"; + } + enum "clear" { + value 2; + description + "Status of cleared alarm that is done by the + controller"; + } + enum "suppress" { + value 3; + description + "Status of suppressed alarm that is done by the + controller"; + } + enum "last" { + value 4; + description + "Last status level"; + } + } + description + "Alarm status"; + } + + typedef Alarm-severity { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown severity level"; + } + enum "not-reported" { + value 1; + description + "Severity level not reported will not raise an + alarm"; + } + enum "not-alarmed" { + value 2; + description + "Severity level of info to cater to events such + as Performance TCAS"; + } + enum "minor" { + value 3; + description + "Severity level of minor fault not traffic + affecting"; + } + enum "major" { + value 4; + description + "Severity level of major fault leading to + service disruption"; + } + enum "critical" { + value 5; + description + "Severity level of critical leading to drops + ,route loss, loss of service etc."; + } + enum "severity-last" { + value 6; + description + "Last severity level"; + } + } + description + "Alarm severity"; + } + + grouping ALARM-MGR-SHOW-ALARM-BRIEF-SUPPR-DATA { + description + "Alarm mgr show alarm brief suppressed data"; + leaf location { + type string { + length "0..128"; + } + description + "Alarm location"; + } + leaf severity { + type Alarm-severity; + description + "Alarm severity"; + } + leaf group { + type Alarm-groups; + description + "Alarm group"; + } + leaf set-time { + type string { + length "0..64"; + } + description + "Alarm set time"; + } + leaf set-timestamp { + type uint64; + description + "Alarm set time(timestamp format)"; + } + leaf suppressed-time { + type string { + length "0..64"; + } + description + "Alarm suppressed time"; + } + leaf suppressed-timestamp { + type uint64; + description + "Alarm suppressed time(timestamp format)"; + } + leaf description { + type string { + length "0..256"; + } + description + "Alarm description"; + } + } + + grouping ALARM-MGR-SHOW-ALARM-BRIEF-SUPPR-INFO { + description + "Alarm mgr show alarm brief suppressed info"; + list suppressed-info { + description + "Suppressed Alarm List"; + uses ALARM-MGR-SHOW-ALARM-BRIEF-SUPPR-DATA; + } + } + + grouping ALARM-MGR-SHOW-ALARM-BRIEF-DATA { + description + "Alarm mgr show alarm brief data"; + leaf location { + type string { + length "0..128"; + } + description + "Alarm location"; + } + leaf severity { + type Alarm-severity; + description + "Alarm severity"; + } + leaf group { + type Alarm-groups; + description + "Alarm group"; + } + leaf set-time { + type string { + length "0..64"; + } + description + "Alarm set time"; + } + leaf set-timestamp { + type uint64; + description + "Alarm set time(timestamp format)"; + } + leaf clear-time { + type string { + length "0..64"; + } + description + "Alarm clear time"; + } + leaf clear-timestamp { + type uint64; + description + "Alarm clear time(timestamp format)"; + } + leaf description { + type string { + length "0..256"; + } + description + "Alarm description"; + } + } + + grouping ALARM-MGR-SHOW-ALARM-BRIEF-INFO { + description + "Alarm mgr show alarm brief info"; + list alarm-info { + description + "Alarm List"; + uses ALARM-MGR-SHOW-ALARM-BRIEF-DATA; + } + } + + grouping SYSTEM-ALARM { + description + "Alarm mgr show alarm brief data"; + leaf location { + type string { + length "0..128"; + } + description + "Alarm location"; + } + leaf severity { + type Alarm-severity; + description + "Alarm severity"; + } + leaf group { + type Alarm-groups; + description + "Alarm group"; + } + leaf set-time { + type string { + length "0..64"; + } + description + "Alarm set time"; + } + leaf set-timestamp { + type uint64; + description + "Alarm set time(timestamp format)"; + } + leaf clear-time { + type string { + length "0..64"; + } + description + "Alarm clear time"; + } + leaf clear-timestamp { + type uint64; + description + "Alarm clear time(timestamp format)"; + } + leaf description { + type string { + length "0..256"; + } + description + "Alarm description"; + } + } + + grouping ALARM-MGR-SHOW-ALARM-AID-BRIEF-INFO { + description + "Alarm mgr show alarm brief info"; + container alarm { + description + "Alarm Brief"; + uses SYSTEM-ALARM; + } + } + + grouping ALARM-DETAIL-TCA { + description + "Alarm Detail TCA Attributes"; + container tca-value { + description + "TCA Attributes"; + uses ALARM-TCA; + } + leaf tca-data { + type string { + length "0..5"; + } + description + "TCA Data"; + } + } + + grouping SYSTEM-ALARM-DETAIL { + description + "Alarm mgr show alarm detail info"; + container otn { + description + "OTN feature specific alarm attributes"; + uses ALARM-OTN; + } + container tca { + description + "TCA feature specific alarm attributes"; + uses ALARM-DETAIL-TCA; + } + leaf alarm-id { + type string { + length "0..256"; + } + description + "Alarm ID"; + } + leaf description { + type string { + length "0..256"; + } + description + "Alarm description"; + } + leaf location { + type string { + length "0..128"; + } + description + "Alarm location"; + } + leaf aid { + type string { + length "0..128"; + } + description + "Alarm aid"; + } + leaf tag { + type string { + length "0..128"; + } + description + "Alarm tag description"; + } + leaf module { + type string { + length "0..128"; + } + description + "Alarm module description"; + } + leaf eid { + type string { + length "0..128"; + } + description + "Alarm eid"; + } + leaf pending-sync { + type boolean; + description + "Pending async flag"; + } + leaf severity { + type Alarm-severity; + description + "Alarm severity"; + } + leaf status { + type Alarm-status; + description + "Alarm status"; + } + leaf group { + type Alarm-groups; + description + "Alarm group"; + } + leaf set-time { + type string { + length "0..64"; + } + description + "Alarm set time"; + } + leaf set-timestamp { + type uint64; + description + "Alarm set time(timestamp format)"; + } + leaf clear-time { + type string { + length "0..64"; + } + description + "Alarm clear time"; + } + leaf clear-timestamp { + type uint64; + description + "Alarm clear time(timestamp format)"; + } + leaf service-affecting { + type Alarm-service-affecting; + description + "Alarm service affecting"; + } + leaf interface { + type string { + length "0..128"; + } + description + "Alarm interface name"; + } + leaf alarm-name { + type string { + length "0..128"; + } + description + "Alarm name"; + } + leaf event-type { + type string { + length "0..128"; + } + description + "Alarm Type"; + } + } + + grouping ALARM-MGR-SHOW-ALARM-AID-DETAIL-INFO { + description + "Alarm mgr show alarm Detail info"; + container alarm { + description + "Alarm Detail"; + uses SYSTEM-ALARM-DETAIL; + } + } + + grouping ALARM-MGR-SHOW-ALARM-SUPPR-DATA { + description + "Alarm mgr show alarm suppressed data"; + container otn { + description + "OTN feature specific alarm attributes"; + uses ALARM-OTN; + } + leaf description { + type string { + length "0..256"; + } + description + "Alarm description"; + } + leaf location { + type string { + length "0..128"; + } + description + "Alarm location"; + } + leaf aid { + type string { + length "0..128"; + } + description + "Alarm aid"; + } + leaf tag { + type string { + length "0..128"; + } + description + "Alarm tag description"; + } + leaf module { + type string { + length "0..128"; + } + description + "Alarm module description"; + } + leaf eid { + type string { + length "0..128"; + } + description + "Alarm eid"; + } + leaf reporting-agent-id { + type uint32; + description + "Reporting agent id"; + } + leaf pending-sync { + type boolean; + description + "Pending async flag"; + } + leaf severity { + type Alarm-severity; + description + "Alarm severity"; + } + leaf status { + type Alarm-status; + description + "Alarm status"; + } + leaf group { + type Alarm-groups; + description + "Alarm group"; + } + leaf set-time { + type string { + length "0..64"; + } + description + "Alarm set time"; + } + leaf set-timestamp { + type uint64; + description + "Alarm set time(timestamp format)"; + } + leaf suppressed-time { + type string { + length "0..64"; + } + description + "Alarm suppressed time"; + } + leaf suppressed-timestamp { + type uint64; + description + "Alarm suppressed time(timestamp format)"; + } + leaf service-affecting { + type Alarm-service-affecting; + description + "Alarm service affecting "; + } + leaf interface { + type string { + length "0..128"; + } + description + "Alarm interface name"; + } + leaf alarm-name { + type string { + length "0..128"; + } + description + "Alarm name"; + } + leaf object-mib-index-type { + type Alarm-object-mib-index; + description + "Alarm Object MIB Index Type"; + } + leaf alarm-type { + type uint32; + description + "Alarm Type"; + } + leaf object-mib-index { + type uint32; + description + "Alarm Object MIB Index Type"; + } + leaf trap-flag { + type uint32; + description + "Trap Flag"; + } + } + + grouping ALARM-MGR-SHOW-ALARM-INFO-SUPPR-CLI { + description + "alarm mgr show alarm suppressed info for CLI"; + list suppressed-info { + description + "Suppressed Alarm List"; + uses ALARM-MGR-SHOW-ALARM-SUPPR-DATA; + } + } + + grouping ALARM-MGR-SHOW-CLIENT-DATA { + description + "Alarm mgr show client data"; + leaf name { + type string { + length "0..128"; + } + description + "Alarm client"; + } + leaf id { + type uint32; + description + "Alarms agent id of the client"; + } + leaf location { + type string { + length "0..128"; + } + description + "The location of this client"; + } + leaf handle { + type string { + length "0..128"; + } + description + "The client handle through which interface"; + } + leaf state { + type Alarm-client-state; + description + "The current state of the client"; + } + leaf type { + type Alarm-client; + description + "The type of the client"; + } + leaf filter-disp { + type boolean; + description + "The current subscription status of the client"; + } + leaf subscriber-id { + type uint32; + description + "Alarms agent subscriber id of the client"; + } + leaf filter-severity { + type Alarm-severity; + description + "The filter used for alarm severity"; + } + leaf filter-state { + type Alarm-status; + description + "The filter used for alarm bi-state state+"; + } + leaf filter-group { + type Alarm-groups; + description + "The filter used for alarm group"; + } + leaf connect-count { + type uint32; + description + "Number of times the agent connected to the alarm + mgr"; + } + leaf connect-timestamp { + type string { + length "0..64"; + } + description + "Agent connect timestamp"; + } + leaf get-count { + type uint32; + description + "Number of times the agent queried for alarms"; + } + leaf subscribe-count { + type uint32; + description + "Number of times the agent subscribed for alarms"; + } + leaf report-count { + type uint32; + description + "Number of times the agent reported alarms"; + } + } + + grouping ALARM-MGR-SHOW-CLIENT-INFO { + description + "Alarm mgr show alarm info"; + list client-info { + description + "Client List"; + uses ALARM-MGR-SHOW-CLIENT-DATA; + } + } + + grouping ALARM-MGR-SHOW-ALARM-STATS { + description + "alarm mgr show alarm stats"; + leaf reported { + type uint64; + description + "Alarms that were in all reported to this Alarm + Mgr"; + } + leaf dropped { + type uint64; + description + "Alarms that we couldn't keep track due to some + error or other"; + } + leaf active { + type uint64; + description + "Alarms that are currently in the active state"; + } + leaf history { + type uint64; + description + "Alarms that are cleared. This one is counted + over a long period of time"; + } + leaf suppressed { + type uint64; + description + "Alarms that are in suppressed state"; + } + leaf sysadmin-active { + type uint64; + description + "Alarms that are currently in the active + state(sysadmin plane)"; + } + leaf sysadmin-history { + type uint64; + description + "Alarms that are cleared in sysadmin plane. This + one is counted over a long period of time"; + } + leaf sysadmin-suppressed { + type uint64; + description + "Alarms that are suppressed in sysadmin plane."; + } + leaf dropped-invalid-aid { + type uint32; + description + "Alarms dropped due to invalid aid"; + } + leaf dropped-insuff-mem { + type uint32; + description + "Alarms dropped due to insufficient memory"; + } + leaf dropped-db-error { + type uint32; + description + "Alarms dropped due to db error"; + } + leaf dropped-clear-without-set { + type uint32; + description + "Alarms dropped clear without set"; + } + leaf dropped-duplicate { + type uint32; + description + "Alarms dropped which were duplicate"; + } + leaf cache-hit { + type uint32; + description + "Total alarms which had the cache hit"; + } + leaf cache-miss { + type uint32; + description + "Total alarms which had the cache miss"; + } + } + + grouping ALARM-TCA { + description + "Alarm TCA Attributes"; + leaf threshold-value { + type string { + length "0..20"; + } + description + "Alarm Threshold "; + } + leaf current-value { + type string { + length "0..20"; + } + description + "Alarm Threshold"; + } + leaf bucket-type { + type Timing-bucket; + description + "Timing Bucket"; + } + } + + grouping ALARM-OTN { + description + "Alarm transport attributes"; + leaf direction { + type Alarm-direction; + description + "Alarm direction "; + } + leaf notification-source { + type Alarm-notification-src; + description + "Source of Alarm"; + } + } + + grouping ALARM-MGR-SHOW-ALARM-DATA { + description + "Alarm mgr show alarm data"; + container otn { + description + "OTN feature specific alarm attributes"; + uses ALARM-OTN; + } + container tca { + description + "TCA feature specific alarm attributes"; + uses ALARM-TCA; + } + leaf description { + type string { + length "0..256"; + } + description + "Alarm description"; + } + leaf location { + type string { + length "0..128"; + } + description + "Alarm location"; + } + leaf aid { + type string { + length "0..128"; + } + description + "Alarm aid"; + } + leaf tag { + type string { + length "0..128"; + } + description + "Alarm tag description"; + } + leaf module { + type string { + length "0..128"; + } + description + "Alarm module description"; + } + leaf eid { + type string { + length "0..128"; + } + description + "Alarm eid"; + } + leaf reporting-agent-id { + type uint32; + description + "Reporting agent id"; + } + leaf pending-sync { + type boolean; + description + "Pending async flag"; + } + leaf severity { + type Alarm-severity; + description + "Alarm severity"; + } + leaf status { + type Alarm-status; + description + "Alarm status"; + } + leaf group { + type Alarm-groups; + description + "Alarm group"; + } + leaf set-time { + type string { + length "0..64"; + } + description + "Alarm set time"; + } + leaf set-timestamp { + type uint64; + description + "Alarm set time(timestamp format)"; + } + leaf clear-time { + type string { + length "0..64"; + } + description + "Alarm clear time"; + } + leaf clear-timestamp { + type uint64; + description + "Alarm clear time(timestamp format)"; + } + leaf service-affecting { + type Alarm-service-affecting; + description + "Alarm service affecting"; + } + leaf type { + type Alarm-event; + description + "alarm event type"; + } + leaf interface { + type string { + length "0..128"; + } + description + "Alarm interface name"; + } + leaf alarm-name { + type string { + length "0..128"; + } + description + "Alarm name"; + } + leaf object-mib-index-type { + type Alarm-object-mib-index; + description + "Alarm Object MIB Index Type"; + } + leaf alarm-type { + type uint32; + description + "Alarm Type"; + } + leaf object-mib-index { + type uint32; + description + "Alarm Object MIB Index Type"; + } + leaf trap-flag { + type uint32; + description + "Trap Flag"; + } + } + + grouping ALARM-MGR-SHOW-ALARM-INFO-CLI { + description + "alarm mgr show alarm info for CLI"; + list alarm-info { + description + "Alarm List"; + uses ALARM-MGR-SHOW-ALARM-DATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper.yang new file mode 100644 index 000000000..8e14c21ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-alarmgr-server-oper.yang @@ -0,0 +1,361 @@ +module Cisco-IOS-XR-alarmgr-server-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-alarmgr-server-oper"; + prefix alarmgr-server-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-alarmgr-server-oper-sub1 { + revision-date 2021-09-27; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR alarmgr-server package operational data. + + This module contains definitions + for the following management objects: + alarms: Show Alarms associated with XR + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-27 { + description + "Added new container called conditions for lindt based platforms."; + semver:module-version "4.0.1m"; + } + revision 2021-09-15 { + description + "Removed enum last in Alarm-groups. + 2021-05-17 + Alarm support for CEM interface. Added enum cem to Alarm-groups. + 2021-05-11 + PTAH support for E1 controller."; + semver:module-version "4.0.0"; + } + revision 2021-05-06 { + description + "Adding new alarm groups to alarm_mgr_edm_spi.bag + 2020-12-02 + PTAH support for Fibre Channel controller. + 2020-09-02 + SNMP Trap support added for Alarm mib"; + semver:module-version "3.0.0"; + } + revision 2020-05-29 { + description + "Addressing Yang inconsistency across platforms + 2019-06-28 + PTAH support for CPRI controller in Felidae 5G platform."; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container alarms { + config false; + description + "Show Alarms associated with XR"; + container detail { + description + "A set of detail alarm commands."; + container detail-system { + description + "show detail system scope alarm related data."; + container history { + description + "Show the history alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + container conditions { + description + "Show the Conditions present at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + container stats { + description + "Show the service statistics."; + uses ALARM-MGR-SHOW-ALARM-STATS; + } + container clients { + description + "Show the clients associated with this service."; + uses ALARM-MGR-SHOW-CLIENT-INFO; + } + container suppressed { + description + "Show the suppressed alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-SUPPR-CLI; + } + container active { + description + "Show the active alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + } + container alarm-detail { + description + "show detail system scope alarm related data."; + container active-details { + description + "Table of ActiveDetail"; + list active-detail { + key "aid"; + description + "Show the active alarms at this scope."; + leaf aid { + type string; + description + "Alarm ID"; + } + uses ALARM-MGR-SHOW-ALARM-AID-DETAIL-INFO; + } + } + } + container detail-card { + description + "Show detail card scope alarm related data."; + container detail-locations { + description + "Table of DetailLocation"; + list detail-location { + key "node-id"; + description + "Specify a card location for alarms."; + container history { + description + "Show the history alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + container conditions { + description + "Show the conditions present at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + container stats { + description + "Show the service statistics."; + uses ALARM-MGR-SHOW-ALARM-STATS; + } + container clients { + description + "Show the clients associated with this + service."; + uses ALARM-MGR-SHOW-CLIENT-INFO; + } + container suppressed { + description + "Show the suppressed alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-SUPPR-CLI; + } + container active { + description + "Show the active alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + container detail-rack { + description + "Show detail rack scope alarm related data."; + container detail-numbers { + description + "Table of DetailNumber"; + list detail-number { + key "rack-num"; + description + "Specify a rack number for alarms."; + container history { + description + "Show the history alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + container conditions { + description + "Show the Conditions present at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + container stats { + description + "Show the service statistics."; + uses ALARM-MGR-SHOW-ALARM-STATS; + } + container clients { + description + "Show the clients associated with this + service."; + uses ALARM-MGR-SHOW-CLIENT-INFO; + } + container suppressed { + description + "Show the suppressed alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-SUPPR-CLI; + } + container active { + description + "Show the active alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-INFO-CLI; + } + leaf rack-num { + type xr:Cisco-ios-xr-string; + description + "Rack Number"; + } + } + } + } + } + container brief { + description + "A set of brief alarm commands."; + container alarm-id { + description + "Show brief system scope alarm related data."; + container active-alarms { + description + "Table of ActiveAlarm"; + list active-alarm { + key "aid"; + description + "Show the active alarms at this scope."; + leaf aid { + type string; + description + "Alarm ID"; + } + uses ALARM-MGR-SHOW-ALARM-AID-BRIEF-INFO; + } + } + } + container brief-rack { + description + "Show brief rack scope alarm related data."; + container brief-numbers { + description + "Table of BriefNumber"; + list brief-number { + key "rack-num"; + description + "Specify a rack number for alarms."; + container history { + description + "Show the history alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + container conditions { + description + "Show the conditions present at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + container suppressed { + description + "Show the suppressed alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-SUPPR-INFO; + } + container active { + description + "Show the active alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + leaf rack-num { + type xr:Cisco-ios-xr-string; + description + "Rack Number"; + } + } + } + } + container brief-system { + description + "Show brief system scope alarm related data."; + container history { + description + "Show the history alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + container conditions { + description + "Show the conditions present at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + container suppressed { + description + "Show the suppressed alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-SUPPR-INFO; + } + container active { + description + "Show the active alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + } + container brief-card { + description + "Show brief card scope alarm related data."; + container brief-locations { + description + "Table of BriefLocation"; + list brief-location { + key "node-id"; + description + "Specify a card location for alarms."; + container history { + description + "Show the history alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + container conditions { + description + "Show the conditions present at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + container suppressed { + description + "Show the suppressed alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-SUPPR-INFO; + } + container active { + description + "Show the active alarms at this scope."; + uses ALARM-MGR-SHOW-ALARM-BRIEF-INFO; + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-act.yang new file mode 100644 index 000000000..61eac7c21 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-act.yang @@ -0,0 +1,244 @@ +module Cisco-IOS-XR-appmgr-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-act"; + prefix appmgr-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-09 { + description + "Adding patterns and length for strings"; + semver:module-version "1.1.1M"; + } + revision 2021-08-15 { + description + "Support for process script actions added."; + semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Adding support for uninstall by source."; + semver:module-version "1.0.0"; + } + revision 2021-02-15 { + description + "Support for process script actions added."; + } + revision 2020-07-14 { + description + "Establish semantic version baseline."; + } + + rpc appmgr-app-start { + description + "Start an application"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "App name"; + } + } + } + rpc appmgr-app-stop { + description + "Stop an application"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "App name"; + } + } + } + rpc appmgr-app-kill { + description + "Kill an application"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "App name"; + } + } + } + rpc appmgr-app-copy { + description + "Copy files/folders between an application and an XR filesystem"; + input { + leaf source { + type string; + mandatory true; + description + "SOURCE-FILESYSTEM:PATH or SOURCE-APPLICATION:PATH (eg. harddisk:foo/bar or myapp:foo/bar)"; + } + leaf destination { + type string; + mandatory true; + description + "DESTINATION-FILESYSTEM:PATH or DESTINATION-APPLICATION:PATH (eg. harddisk:foo/bar or myapp:foo/bar)"; + } + } + } + rpc appmgr-package-install { + description + "Install an rpm."; + input { + leaf rpm { + type string; + mandatory true; + description + "Path to package rpm"; + } + } + } + rpc appmgr-package-uninstall { + description + "Uninstall a package."; + input { + leaf package { + type string; + mandatory true; + description + "Package name"; + } + } + } + rpc appmgr-package-uninstall-source { + description + "Uninstall a package by source name."; + input { + leaf source { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "Source name"; + } + } + } + rpc appmgr-process-script-activate { + description + "Activate a process-script"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "Process script name"; + } + } + } + rpc appmgr-process-script-deactivate { + description + "Deactivate a process-script"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "Process script name"; + } + } + } + rpc appmgr-process-script-start { + description + "Start a process-script"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "Process script name"; + } + } + } + rpc appmgr-process-script-stop { + description + "Stop a process-script"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "Process script name"; + } + } + } + rpc appmgr-process-script-kill { + description + "Kill a process-script"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "Process script name"; + } + } + } + rpc appmgr-process-script-restart { + description + "Restart a process-script"; + input { + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + mandatory true; + description + "Process script name"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-cfg.yang new file mode 100644 index 000000000..ca1ae84c7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-cfg.yang @@ -0,0 +1,227 @@ +module Cisco-IOS-XR-appmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-cfg"; + prefix appmgr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR appmgr package configuration. + + This module contains definitions + for the following management objects: + appmgr: Appmgr configuration data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-01 { + description + "Adding username configuration for process scripts + 2021-09-09 + Adding expected patterns and max length for strings"; + semver:module-version "1.1.1M"; + } + revision 2021-04-04 { + description + "Support for secure vault tuple."; + semver:module-version "1.1.0"; + } + revision 2021-02-15 { + description + "Support for process scripts."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef App-restart-policy { + type enumeration { + enum "never" { + value 1; + description + "Do not automatically restart the app."; + } + enum "on-failure" { + value 2; + description + "Restart the app if it exits due to an error."; + } + enum "always" { + value 3; + description + "Always restart the app if it stops. (the + default)"; + } + enum "unless-stopped" { + value 4; + description + "Similar to always, except that when the app is + stopped (manually or otherwise), it is not + restarted."; + } + enum "unless-errored" { + value 5; + description + "Similar to always, except that when the app is + in error state, it is not restarted."; + } + } + description + "App restart policy"; + } + + typedef App { + type enumeration { + enum "docker" { + value 1; + description + "Docker application"; + } + } + description + "App"; + } + + container appmgr { + description + "Appmgr configuration data"; + container process-scripts { + description + "Table of process scripts"; + list process-script { + key "name"; + description + "Process script configuration"; + container restart-policy { + description + "Application restart policy"; + leaf restart { + type App-restart-policy; + description + "Appliction restart policy"; + } + leaf max-retries { + when "../restart = 'on-failure'" { + description + "../Restart = on-failure"; + } + type uint32 { + range "1..10"; + } + description + "Maximum retries to attempt"; + } + } + leaf arguments { + type string { + length "1..1024"; + } + description + "Process script argument string"; + } + leaf username { + type string { + length "2..253"; + } + description + "Username to execute process script under"; + } + leaf executable { + type string { + length "1..255"; + pattern "[a-zA-Z0-9][a-zA-Z0-9_.-]+"; + } + description + "Process script executable name"; + } + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + description + "Application identifier"; + } + } + } + container applications { + description + "Table of applications"; + list application { + key "name"; + description + "Application configuration"; + container activate { + description + "Application activation"; + leaf type { + type App; + description + "Appliction type - type of application to be + deployed"; + } + leaf source { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_:.-]+$"; + } + description + "Appliction source - name of source"; + } + leaf command { + type string { + length "1..1024"; + } + description + "Command to be run inside the container - + Docker Only "; + } + leaf run-options { + type string { + length "1..1024"; + } + description + "Docker run options as a string - Docker Only"; + } + leaf svault-options { + type string { + length "1..255"; + pattern "^[a-zA-Z_][a-zA-Z_0-9:.-]*"; + } + description + "Secure Vault Profile as a string - Docker + Only"; + } + } + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + description + "Application identifier"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper-sub1.yang new file mode 100644 index 000000000..0cee4e626 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper-sub1.yang @@ -0,0 +1,589 @@ +submodule Cisco-IOS-XR-appmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-appmgr-oper { + prefix Cisco-IOS-XR-appmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR appmgr package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-09 { + description + "Adding expected patterns and max length for strings"; + semver:module-version "2.0.1M"; + } + revision 2021-05-15 { + description + "Unused application types removed"; + semver:module-version "2.0.0"; + } + revision 2021-03-01 { + description + "Adding information about installed packages"; + semver:module-version "1.0.0"; + } + revision 2021-02-15 { + description + "Support for process scripts."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Appmgr-app-state { + type enumeration { + enum "deactivated" { + value 1; + description + "Deactivated"; + } + enum "activated" { + value 2; + description + "Activated"; + } + enum "error" { + value 4; + description + "Error"; + } + } + description + "Appmgr application state"; + } + + typedef Appmgr-app { + type enumeration { + enum "docker" { + value 1; + description + "Docker"; + } + } + description + "Appmgr application type"; + } + + typedef Appmgr-daemon-state { + type enumeration { + enum "not-started" { + value 1; + description + "Not Started"; + } + enum "start-requested" { + value 2; + description + "Start Requested"; + } + enum "started" { + value 3; + description + "Started"; + } + enum "stop-requested" { + value 4; + description + "Stop Requested"; + } + enum "stopped" { + value 5; + description + "Stopped"; + } + enum "kill-requested" { + value 6; + description + "Kill Requested"; + } + enum "killed" { + value 7; + description + "Killed"; + } + enum "exit-success" { + value 8; + description + "Exit Success"; + } + enum "exit-failure" { + value 9; + description + "Exit Failure"; + } + } + description + "Appmgr process script state"; + } + + typedef String1 { + type string; + description + "String1"; + } + + typedef Appmgr-restart-policy { + type enumeration { + enum "never" { + value 1; + description + "Never"; + } + enum "on-failure" { + value 2; + description + "On Failure"; + } + enum "always" { + value 3; + description + "Always"; + } + enum "unless-stopped" { + value 4; + description + "Unless Stopped"; + } + enum "unless-errored" { + value 5; + description + "Unless Errored"; + } + } + description + "Appmgr restart policy"; + } + + typedef Package { + type string; + description + "Package"; + } + + grouping VRF-RELAY-INFO { + description + "VRF Forwarding Relay information."; + leaf name { + type string; + description + "Container Name"; + } + leaf status { + type string; + description + "Vrf Forwarding Relay status."; + } + leaf error-info { + type string; + description + "Vrf Forwarding Relay error information."; + } + leaf src-vrf { + type string; + description + "Source VRF."; + } + leaf src-port { + type string; + description + "Source Port."; + } + leaf dest-vrf { + type string; + description + "Destination VRF."; + } + leaf dest-port { + type string; + description + "Destination Port."; + } + leaf ip-range { + type string; + description + "IP address range"; + } + } + + grouping DOCKER-INFO { + description + "Docker container info"; + leaf id { + type string; + description + "Container ID"; + } + leaf image { + type string; + description + "Image ID"; + } + leaf command { + type string; + description + "Quoted command"; + } + leaf created-at { + type string; + description + "Time when the container was created"; + } + leaf running-for { + type string; + description + "Elapsed time since the container was started."; + } + leaf ports { + type string; + description + "Exposed ports."; + } + leaf status { + type string; + description + "Container status."; + } + leaf size { + type string; + description + "Container disk size."; + } + leaf names { + type string; + description + "Container names."; + } + leaf labels { + type string; + description + "All labels assigned to the container."; + } + leaf mounts { + type string; + description + "Names of the volumes mounted in this container."; + } + leaf networks { + type string; + description + "Names of the networks attached to this container + ."; + } + leaf local-volumes { + type string; + description + "Names of the local volumes mounted in this + container"; + } + list vrf-relay-info { + description + "VRF forwarding relay information"; + uses VRF-RELAY-INFO; + } + } + + grouping APPMGR-VAR-INFO { + description + "Appmgr App Variable Info"; + container docker-info { + when "../type = 'docker'" { + description + "../Type = 'Docker'"; + } + description + "Details of docker applications"; + uses DOCKER-INFO; + } + leaf type { + type Appmgr-app; + description + "Type"; + } + } + + grouping APPMGR-APP-INFO { + description + "Information about an Application managed by the + App Mgr"; + container var-info { + description + "App Variable Info"; + uses APPMGR-VAR-INFO; + } + leaf name { + type string; + description + "Application name"; + } + leaf type { + type Appmgr-app; + description + "Application type"; + } + leaf source { + type string; + description + "Application source"; + } + leaf config-state { + type Appmgr-app-state; + description + "Application config state"; + } + leaf error-info { + type string; + description + "App Error Info"; + } + } + + grouping BAG-DOCKER-STATS { + description + "Docker stats output"; + leaf container { + type string; + description + "Container name or ID (user input)"; + } + leaf name { + type string; + description + "Container name"; + } + leaf id { + type string; + description + "Container ID"; + } + leaf cpu-perc { + type string; + units "percentage"; + description + "CPU percentage"; + } + leaf mem-usage { + type string; + description + "Memory usage"; + } + leaf net-io { + type string; + description + "Network IO"; + } + leaf block-io { + type string; + description + "Block IO"; + } + leaf mem-perc { + type string; + units "percentage"; + description + "Memory percentage"; + } + leaf pids { + type string; + description + "Number of PIDs"; + } + } + + grouping APPMGR-VAR-STATS { + description + "Appmgr App Variable Stats"; + container docker-stats { + when "../type = 'docker'" { + description + "../Type = 'Docker'"; + } + description + "Stats for docker applications"; + uses BAG-DOCKER-STATS; + } + leaf type { + type Appmgr-app; + description + "Type"; + } + } + + grouping APPMGR-APP-STATS { + description + "Stats for an Application managed by the App Mgr"; + container var-stats { + description + "App Variable Stats"; + uses APPMGR-VAR-STATS; + } + } + + grouping APPMGR-DAEMON-CONFIG { + description + "Appmgr process script configuration"; + leaf executable { + type string; + description + "Executable Name"; + } + leaf run-args { + type string; + description + "Run Arguments"; + } + leaf restart-policy { + type Appmgr-restart-policy; + description + "Restart Policy"; + } + leaf max-retries { + type uint16 { + range "1..10"; + } + description + "Maximum Restarts"; + } + } + + grouping APPMGR-DAEMON-EXEC-INFO { + description + "Appmgr process script running information"; + leaf executable { + type string; + description + "Executable Name"; + } + leaf run-args { + type string; + description + "Run Arguments"; + } + leaf restart-policy { + type Appmgr-restart-policy; + description + "Restart Policy"; + } + leaf max-retries { + type uint16 { + range "1..10"; + } + description + "Maximum Restarts"; + } + leaf restarts { + type uint16; + description + "Restarts"; + } + leaf last-started-time { + type String1; + description + "Last Started Time"; + } + leaf checksum { + type String1; + description + "Executable's checksum"; + } + leaf log-location { + type String1; + description + "Log Location"; + } + leaf last-exit-code { + type int32; + description + "Last Exit Code"; + } + } + + grouping APPMGR-DAEMON-INFO { + description + "Information about a process script managed by the + App Mgr"; + container execution-info { + description + "Execution Info"; + uses APPMGR-DAEMON-EXEC-INFO; + } + container config { + description + "Registered Configuration"; + uses APPMGR-DAEMON-CONFIG; + } + leaf name { + type string; + description + "Application name"; + } + leaf status { + type Appmgr-daemon-state; + description + "Application status"; + } + leaf is-activated { + type boolean; + description + "Is App Activated"; + } + leaf is-cfg-pending { + type boolean; + description + "Is Configuration Pending"; + } + } + + grouping APPMGR-SOURCE { + description + "Information about an installed source."; + leaf name-xr { + type string; + description + "Source name"; + } + leaf file { + type string; + description + "Source file"; + } + leaf package { + type Package; + description + "Parent package"; + } + } + + grouping APPMGR-PACKAGES { + description + "Installed packages"; + leaf-list package { + type Package; + description + "Packages"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper.yang new file mode 100644 index 000000000..d4af7c9a1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-appmgr-oper.yang @@ -0,0 +1,144 @@ +module Cisco-IOS-XR-appmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-oper"; + prefix appmgr-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-appmgr-oper-sub1 { + revision-date 2021-09-09; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR appmgr package operational data. + + This module contains definitions + for the following management objects: + appmgr: Appmgr Operational data space + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-09 { + description + "Adding expected patterns and max length for strings"; + semver:module-version "2.0.1M"; + } + revision 2021-05-15 { + description + "Unused application types removed"; + semver:module-version "2.0.0"; + } + revision 2021-03-01 { + description + "Adding information about installed packages"; + semver:module-version "1.0.0"; + } + revision 2021-02-15 { + description + "Support for process scripts."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container appmgr { + config false; + description + "Appmgr Operational data space"; + container packages { + description + "Packages managed by the App Mgr"; + container installed { + description + "Installed packages"; + uses APPMGR-PACKAGES; + } + } + container sources { + description + "Sources downloaded by the App Manager"; + list source { + key "name"; + description + "Information about a source"; + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_:.-]+$"; + } + description + "Source name"; + } + uses APPMGR-SOURCE; + } + } + container process-scripts { + description + "Process scripts managed by the App Mgr"; + list process-script { + key "name"; + description + "Information about individual process script"; + container info { + description + "Information about a process script"; + uses APPMGR-DAEMON-INFO; + } + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + description + "Process script name"; + } + } + } + container applications { + description + "Applications managed by the App Mgr"; + list application { + key "name"; + description + "Information about individual application"; + container stats { + description + "Information about an application"; + uses APPMGR-APP-STATS; + } + container info { + description + "Information about an application"; + uses APPMGR-APP-INFO; + } + leaf name { + type string { + length "1..255"; + pattern "^[a-zA-Z0-9][a-zA-Z0-9_.-]+$"; + } + description + "Application name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper-sub1.yang new file mode 100644 index 000000000..fd0c95ef9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper-sub1.yang @@ -0,0 +1,57 @@ +submodule Cisco-IOS-XR-ascii-ltrace-oper-sub1 { + belongs-to Cisco-IOS-XR-ascii-ltrace-oper { + prefix Cisco-IOS-XR-ascii-ltrace-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ascii-ltrace package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-01-21 { + description + "Initial feature"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ASCII-LTRACE { + description + "Information of a Ltrace Point"; + leaf timestamp { + type string; + description + "timestamp"; + } + leaf line { + type string; + description + "a single line of a trace point"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper.yang new file mode 100644 index 000000000..2171bbf55 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ascii-ltrace-oper.yang @@ -0,0 +1,90 @@ +module Cisco-IOS-XR-ascii-ltrace-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ascii-ltrace-oper"; + prefix ascii-ltrace-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ascii-ltrace-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ascii-ltrace package operational data. + + This module contains definitions + for the following management objects: + ltrace: ASCII ltrace data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-01-21 { + description + "Initial feature"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ltrace { + config false; + description + "ASCII ltrace data"; + container features { + description + "feature"; + list feature { + description + "feature"; + container traces { + description + "trace"; + list trace { + key "ltrace-id"; + description + "trace"; + leaf ltrace-id { + type uint32; + description + "Ltrace ID of ltrace"; + } + uses ASCII-LTRACE; + } + } + leaf feature-name { + type xr:Cisco-ios-xr-string; + description + "feature name"; + } + leaf trace-buf { + type xr:Cisco-ios-xr-string; + description + "trace buffer name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub1.yang new file mode 100644 index 000000000..5bfaa9364 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub1.yang @@ -0,0 +1,156 @@ +submodule Cisco-IOS-XR-asic-error-oper-sub1 { + belongs-to Cisco-IOS-XR-asic-error-oper { + prefix Cisco-IOS-XR-asic-error-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR asic-error package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-10 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.1.0"; + } + revision 2019-09-27 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.0.0"; + } + revision 2019-09-24 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ASIC-SUMMARY-BG { + description + "ASIC SUMMARY BG"; + leaf legacy-client { + type boolean; + description + "boolean field for legacy client"; + } + leaf cih-client { + type boolean; + description + "boolean field for cih client"; + } + leaf pac-client { + type boolean; + description + "boolean field for pac client"; + } + list sum-data { + description + "summary data for asic error"; + uses SUMMARY-DATA-BG; + } + } + + grouping COUNT-INFO-BG { + description + "COUNT INFO BG"; + leaf name { + type string; + description + "Name of asic error"; + } + leaf count { + type uint32; + description + "Number of occurrence"; + } + } + + grouping SUMMARY-DATA-BG { + description + "SUMMARY DATA BG"; + leaf num-nodes { + type uint32; + description + "Number of nodes"; + } + leaf crc-err-count { + type uint32; + description + "CRC Error Count"; + } + leaf sbe-err-count { + type uint32; + description + "Single Bit Error Count"; + } + leaf mbe-err-count { + type uint32; + description + "Multi-Bit Error Count"; + } + leaf par-err-count { + type uint32; + description + "Parity Error Count"; + } + leaf gen-err-count { + type uint32; + description + "General Error Count"; + } + leaf reset-err-count { + type uint32; + description + "Reset Error Count"; + } + list err-count { + description + "Error Count"; + uses COUNT-INFO-BG; + } + list pcie-err-count { + description + "PCIE Error Count"; + uses COUNT-INFO-BG; + } + list pacerr-count { + description + "Pac Error Count"; + uses COUNT-INFO-BG; + } + list node-key { + description + "Keys to the node"; + leaf entry { + type uint32; + description + "Keys to the node"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub2.yang new file mode 100644 index 000000000..9bf8d956d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper-sub2.yang @@ -0,0 +1,1141 @@ +submodule Cisco-IOS-XR-asic-error-oper-sub2 { + belongs-to Cisco-IOS-XR-asic-error-oper { + prefix Cisco-IOS-XR-asic-error-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR asic-error package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-10 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.1.0"; + } + revision 2019-09-27 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.0.0"; + } + revision 2019-09-24 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping GENERIC-ERROR-DATA-BG { + description + "GENERIC ERROR DATA BG"; + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf counter-val { + type uint32; + description + "counter val"; + } + leaf error-data { + type string; + description + "error data"; + } + leaf top-ec { + type uint32; + description + "top ec"; + } + leaf block-ec { + type uint32; + description + "block ec"; + } + } + + grouping GENERIC-NODE-BG { + description + "GENERIC NODE BG"; + leaf name { + type string; + description + "Name assigned to mem"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "high threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "high threshold value"; + } + leaf period-hi { + type uint32; + description + "high period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + list last-err { + description + " last Printable error information"; + uses GENERIC-ERROR-DATA-BG; + } + } + + grouping GENERIC-NODES-BG { + description + "GENERIC NODES BG"; + list error { + description + "Collection of errors"; + uses GENERIC-NODE-BG; + } + } + + grouping PARITY-DATA-BG { + description + "parity bit error"; + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf addr { + type uint16; + description + "Offset from base addr of the PARITY"; + } + leaf parity { + type uint16; + description + "parity"; + } + leaf top-ec { + type uint32; + description + "top ec"; + } + leaf block-ec { + type uint32; + description + "block ec"; + } + leaf-list value { + type uint8; + description + "value"; + } + } + + grouping PARITY-NODE-BG { + description + "PARITY NODE BG"; + leaf mem-name { + type string; + description + "Name assigned to mem"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "high threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "high threshold value"; + } + leaf period-hi { + type uint32; + description + "high period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + leaf base-address { + type uint64; + description + "Base addr of ASIC mem/reg"; + } + list last-err { + description + "Collection of last errs"; + uses PARITY-DATA-BG; + } + } + + grouping PARITY-NODES-BG { + description + "PARITY NODES BG"; + list error { + description + "Collection of errors"; + uses PARITY-NODE-BG; + } + } + + grouping CRC-DATA-BG { + description + "CRC DATA BG"; + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf counter-val { + type uint32; + description + "counter val"; + } + leaf top-ec { + type uint32; + description + "top ec"; + } + leaf block-ec { + type uint32; + description + "block ec"; + } + } + + grouping CRC-NODE-BG { + description + "CRC NODE BG"; + leaf name { + type string; + description + "name"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "high threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "high threshold value"; + } + leaf period-hi { + type uint32; + description + "high period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + list last-err { + description + "Collection of last errs"; + uses CRC-DATA-BG; + } + } + + grouping CRC-NODES-BG { + description + "CRC NODES BG"; + list error { + description + "Collection of errors"; + uses CRC-NODE-BG; + } + } + + grouping MBE-DATA-BG { + description + "Hfr multi bit error"; + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf addr { + type uint32; + description + "Offset from base addr of the MBE"; + } + leaf synd { + type uint32; + description + "The error syndrome "; + } + leaf top-ec { + type uint32; + description + "top ec"; + } + leaf block-ec { + type uint32; + description + "block ec"; + } + leaf-list value { + type uint32; + description + "Data value"; + } + } + + grouping MBE-NODE-BG { + description + "MBE NODE BG"; + leaf mem-name { + type string; + description + "Name assigned to mem"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "high threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "high threshold value"; + } + leaf period-hi { + type uint32; + description + "high period value"; + } + leaf errored-data-width { + type uint8; + description + "Width of the errored data in memory/reg"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + leaf base-address { + type uint64; + description + "Base addr of ASIC mem/reg"; + } + list last-err { + description + "Collection of last errs"; + uses MBE-DATA-BG; + } + } + + grouping MBE-NODES-BG { + description + "MBE NODES BG"; + list error { + description + "Collection of errors"; + uses MBE-NODE-BG; + } + } + + grouping RESET-DATA-BG { + description + "RESET DATA BG"; + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf top-intr-status { + type uint32; + description + "top intr status"; + } + leaf top-halt-status { + type uint32; + description + "top halt status"; + } + leaf first-error-key { + type uint32; + description + "first error key"; + } + leaf reset-desc { + type string; + description + "reset desc"; + } + leaf top-ec { + type uint32; + description + "top ec"; + } + leaf block-ec { + type uint32; + description + "block ec"; + } + } + + grouping RESET-NODE-BG { + description + "RESET NODE BG"; + leaf name { + type string; + description + "Name assigned to node"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "high threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "high threshold value"; + } + leaf period-hi { + type uint32; + description + "high period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + list last-err { + description + "Collection of last errs"; + uses RESET-DATA-BG; + } + } + + grouping RESET-NODES-BG { + description + "RESET NODES BG"; + list error { + description + "Collection of errors"; + uses RESET-NODE-BG; + } + } + + grouping SBE-DATA-BG { + description + "Hfr single bit error"; + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf addr { + type uint32; + description + "Offset from base addr of the SBE"; + } + leaf synd { + type uint32; + description + "The error syndrome "; + } + leaf bit-pos { + type uint32; + description + "The bit pos at which the error"; + } + leaf top-ec { + type uint32; + description + "top ec"; + } + leaf block-ec { + type uint32; + description + "block ec"; + } + leaf-list value { + type uint32; + description + "Data value"; + } + } + + grouping SBE-NODE-BG { + description + "SBE NODE BG"; + leaf mem-name { + type string; + description + "Name assigned to mem"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "high threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "high threshold value"; + } + leaf period-hi { + type uint32; + description + "high period value"; + } + leaf errored-data-width { + type uint8; + description + "Width of the err data in memory/reg"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + leaf base-address { + type uint64; + description + "Base addr of ASIC mem/reg"; + } + list last-err { + description + "Collection of last errs"; + uses SBE-DATA-BG; + } + } + + grouping SBE-NODES-BG { + description + "SBE NODES BG"; + list error { + description + "Collection of errors"; + uses SBE-NODE-BG; + } + } + + grouping PCIE-TLP-HEADER-DATA-BG { + description + "PCIE TLP HEADER DATA BG"; + leaf fmt-type { + type uint32; + description + "fmt type"; + } + leaf traffic-class { + type uint32; + description + "traffic class"; + } + leaf tlp-digest-field-present { + type boolean; + description + "tlp digest field present"; + } + leaf poisoned-data { + type boolean; + description + "poisoned data"; + } + leaf relaxed-ordering { + type boolean; + description + "relaxed ordering"; + } + leaf no-snoop { + type boolean; + description + "no snoop"; + } + leaf length { + type uint16; + description + "length"; + } + leaf first-dw-byte-enables { + type uint8; + description + "first dw byte enables"; + } + leaf last-dw-byte-enables { + type uint8; + description + "last dw byte enables"; + } + leaf-list transaction-descriptor { + type uint8; + description + "transaction descriptor"; + } + } + + grouping PCIE-ASIC-ERRORS-DATA-BG { + description + "PCIE ASIC ERRORS DATA BG"; + container tlp-header-data { + description + "tlp header data"; + uses PCIE-TLP-HEADER-DATA-BG; + } + leaf err-type { + type uint32; + description + "err type"; + } + leaf severity { + type uint32; + description + "severity"; + } + leaf err-attribute { + type uint32; + description + "err attribute"; + } + leaf is-tlp-header-present { + type boolean; + description + "is tlp header present"; + } + leaf-list raw-tlp-header { + type uint32; + description + "raw tlp header"; + } + } + + grouping PCIE-DATA-BG { + description + "PCIE DATA BG"; + container error-data { + description + "error data"; + uses PCIE-ASIC-ERRORS-DATA-BG; + } + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf counter-val { + type uint32; + description + "counter val"; + } + leaf top-ec { + type uint32; + description + "top ec"; + } + leaf block-ec { + type uint32; + description + "block ec"; + } + } + + grouping PCIE-NODE-BG { + description + "PCIE NODE BG"; + leaf name { + type string; + description + "Name assigned to mem"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "High threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "High threshold value"; + } + leaf period-hi { + type uint32; + description + "High period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + list last-err { + description + "Collection of last errs"; + uses PCIE-DATA-BG; + } + } + + grouping PCIE-NODES-BG { + description + "PCIE NODES BG"; + list error { + description + "Collection of errors"; + uses PCIE-NODE-BG; + } + } + + grouping CIHERR-ERROR-DATA-BG { + description + "CIHERR ERROR DATA BG"; + leaf at-time { + type uint64; + description + "Asic error time"; + } + leaf at-time-nsec { + type uint64; + description + "Asic error nsec"; + } + leaf counter-val { + type uint32; + description + "Number of occurrence"; + } + leaf error-desc { + type string; + description + "Error description"; + } + list error-regval { + description + "Error register value"; + leaf entry { + type uint8; + description + "Error register value"; + } + } + } + + grouping CSRS-INFO-BG { + description + "CSRS INFO BG"; + leaf name { + type string; + description + "Name of csrs register"; + } + leaf address { + type uint64; + description + "Address of csrs register"; + } + leaf width { + type uint32; + description + "Width of csrs register"; + } + } + + grouping CIHERR-NODE-BG { + description + "CIHERR NODE BG"; + leaf name { + type string; + description + "Name assigned to mem"; + } + leaf asic-info { + type string; + description + "Name of rack/board/asic"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "High threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "High threshold value"; + } + leaf period-hi { + type uint32; + description + "High period value"; + } + leaf thresh-lo { + type uint32; + description + "High threshold value"; + } + leaf period-lo { + type uint32; + description + "High period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf intr-type { + type uint32; + description + "Type of error"; + } + leaf leaf-id { + type uint32; + description + "Leaf ID defined in user data"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + list csrs-info { + description + "List of csrs_info"; + uses CSRS-INFO-BG; + } + list last-err { + description + "Last Printable error information"; + uses CIHERR-ERROR-DATA-BG; + } + } + + grouping CIHERR-NODES-BG { + description + "CIHERR NODES BG"; + list error { + description + "Collection of errors"; + uses CIHERR-NODE-BG; + } + } + + grouping PACERR-ERROR-DATA-BG { + description + "PACERR ERROR DATA BG"; + leaf at-time { + type uint64; + description + "at time"; + } + leaf at-time-nsec { + type uint64; + description + "at time nsec"; + } + leaf counter-val { + type uint32; + description + "counter val"; + } + leaf error-desc { + type string; + description + "error desc"; + } + } + + grouping PACERR-NODE-BG { + description + "PACERR NODE BG"; + leaf name { + type string; + description + "Name assigned to mem"; + } + leaf asic-info { + type string; + description + "Name of rack/board/asic"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "High threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "High threshold value"; + } + leaf period-hi { + type uint32; + description + "High period value"; + } + leaf thresh-lo { + type uint32; + description + "Low threshold value"; + } + leaf period-lo { + type uint32; + description + "Low period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf block-id { + type uint32; + description + "block where error occurred"; + } + leaf addr { + type uint32; + description + "addr of the error interrupt inside node"; + } + leaf leaf-id { + type uint32; + description + "leaf_id of the error occurred"; + } + leaf intr-type { + type uint32; + description + "Type of error"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + list last-err { + description + "Last Printable error information"; + uses PACERR-ERROR-DATA-BG; + } + } + + grouping PACERR-NODES-BG { + description + "PACERR NODES BG"; + list error { + description + "Collection of errors"; + uses PACERR-NODE-BG; + } + } + + grouping SCHEMA-DATA-BG { + description + "SCHEMA DATA BG"; + container pacerr-nodes { + description + "pacerr nodes"; + uses PACERR-NODES-BG; + } + container ciherr-nodes { + description + "ciherr nodes"; + uses CIHERR-NODES-BG; + } + container pcie-nodes { + description + "pcie nodes"; + uses PCIE-NODES-BG; + } + container sbe-nodes { + description + "sbe nodes"; + uses SBE-NODES-BG; + } + container reset-nodes { + description + "reset nodes"; + uses RESET-NODES-BG; + } + container mbe-nodes { + description + "mbe nodes"; + uses MBE-NODES-BG; + } + container crc-nodes { + description + "crc nodes"; + uses CRC-NODES-BG; + } + container parity-nodes { + description + "parity nodes"; + uses PARITY-NODES-BG; + } + container generic-nodes { + description + "generic nodes"; + uses GENERIC-NODES-BG; + } + } + + grouping ASIC-ERROR-INST-BG { + description + "ASIC ERROR INST BG"; + leaf err-class-name { + type string; + description + "err class name"; + } + leaf count { + type uint32; + description + "count"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper.yang new file mode 100644 index 000000000..15f0ee717 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-error-oper.yang @@ -0,0 +1,176 @@ +module Cisco-IOS-XR-asic-error-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-asic-error-oper"; + prefix asic-error-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-asic-error-oper-sub2 { + revision-date 2021-02-10; + } + include Cisco-IOS-XR-asic-error-oper-sub1 { + revision-date 2021-02-10; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR asic-error package operational data. + + This module contains definitions + for the following management objects: + asic-errors: Error summary of all asics + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-10 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.1.0"; + } + revision 2019-09-27 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.0.0"; + } + revision 2019-09-24 { + description + "Introduced working oper model for asic-errors."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container asic-errors { + config false; + description + "Error summary of all asics"; + container nodes { + description + "Asic errors for each available nodes"; + list node { + key "node-name"; + description + "Asic error for a particular node"; + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + list asic-information { + key "asic"; + description + "Asic on the node"; + container instances { + description + "All asic errors on the node"; + list instance { + key "asic-instance"; + description + "Particular asic instance on the node"; + container categories { + description + "Error path of the instances"; + list category { + key "category"; + description + "Error category soft/hard"; + leaf category { + type xr:Cisco-ios-xr-string; + description + "Error Category soft/hard"; + } + list error-class { + key "class"; + description + "Error Classes - supported by asic type"; + container error-info-indexes { + description + "Asic ErrorClass Info"; + list error-info-index { + key "error-info-index"; + description + "Asic Error List Per Class"; + container error-counter { + description + "Asic Error data Per Index Per class"; + uses ASIC-ERROR-INST-BG; + } + leaf error-info-index { + type uint32; + description + "Indexed Counter Key"; + } + } + } + container asic-error-info { + description + "Asic Error Info"; + uses SCHEMA-DATA-BG; + } + leaf class { + type xr:Cisco-ios-xr-string; + description + "Error Class"; + } + } + } + } + container instance-summary { + description + "Summary for a specific instance"; + uses SUMMARY-DATA-BG; + } + leaf asic-instance { + type uint32 { + range "0..256"; + } + description + "asic instance"; + } + } + } + container all-instances { + description + "All asic instance on the node"; + container all-error-path { + description + "Error path of all instances"; + container summary { + description + "Summary of all instances errors"; + uses ASIC-SUMMARY-BG; + } + } + } + leaf asic { + type xr:Cisco-ios-xr-string; + description + "Asic string"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub1.yang new file mode 100644 index 000000000..59bf0f8a1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub1.yang @@ -0,0 +1,195 @@ +submodule Cisco-IOS-XR-asic-errors-oper-sub1 { + belongs-to Cisco-IOS-XR-asic-errors-oper { + prefix Cisco-IOS-XR-asic-errors-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR asic-errors package operational data. + + This model is obsolete and is replaced by + Cisco-IOS-XR-asic-error-oper.yang which will provide the + compatible functionalities. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-11 { + description + "The model moved to obsolete list."; + semver:module-version "1.2.0"; + } + revision 2019-09-27 { + description + "Fixed type translation error."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CIHERR-ERROR-DATA-BG { + description + "CIHERR ERROR DATA BG"; + leaf at-time { + type uint64; + description + "Asic error time"; + } + leaf at-time-nsec { + type uint64; + description + "Asic error nsec"; + } + leaf counter-val { + type uint32; + description + "Number of occurrence"; + } + leaf error-desc { + type string; + description + "Error description"; + } + list error-regval { + description + "Error register value"; + leaf entry { + type uint8; + description + "Error register value"; + } + } + } + + grouping CSRS-INFO-BG { + description + "CSRS INFO BG"; + leaf name { + type string; + description + "Name of csrs register"; + } + leaf address { + type uint64; + description + "Address of csrs register"; + } + leaf width { + type uint32; + description + "Width of csrs register"; + } + } + + grouping CIHERR-NODE-BG { + description + "CIHERR NODE BG"; + leaf name { + type string; + description + "Name assigned to mem"; + } + leaf asic-info { + type string; + description + "Name of rack/board/asic"; + } + leaf node-key { + type uint32; + description + "32 bit key"; + } + leaf alarm-on { + type boolean; + description + "High threshold crossed"; + } + leaf thresh-hi { + type uint32; + description + "High threshold value"; + } + leaf period-hi { + type uint32; + description + "High period value"; + } + leaf thresh-lo { + type uint32; + description + "High threshold value"; + } + leaf period-lo { + type uint32; + description + "High period value"; + } + leaf count { + type uint32; + description + "Accumulated count"; + } + leaf intr-type { + type uint32; + description + "Type of error"; + } + leaf leaf-id { + type uint32; + description + "Leaf ID defined in user data"; + } + leaf last-cleared { + type uint64; + description + "Time cleared"; + } + list csrs-info { + description + "List of csrs_info"; + uses CSRS-INFO-BG; + } + list last-err { + description + "Last Printable error information"; + uses CIHERR-ERROR-DATA-BG; + } + } + + grouping CIHERR-NODES-BG { + description + "CIHERR NODES BG"; + list error { + description + "Collection of errors"; + uses CIHERR-NODE-BG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub2.yang new file mode 100644 index 000000000..d02ec350a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper-sub2.yang @@ -0,0 +1,160 @@ +submodule Cisco-IOS-XR-asic-errors-oper-sub2 { + belongs-to Cisco-IOS-XR-asic-errors-oper { + prefix Cisco-IOS-XR-asic-errors-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR asic-errors package operational data. + + This model is obsolete and is replaced by + Cisco-IOS-XR-asic-error-oper.yang which will provide the + compatible functionalities. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-11 { + description + "The model moved to obsolete list."; + semver:module-version "1.2.0"; + } + revision 2019-09-27 { + description + "Fixed type translation error."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping COUNT-INFO-BG { + description + "COUNT INFO BG"; + leaf name { + type string; + description + "Name of asic error"; + } + leaf count { + type uint32; + description + "Number of occurrence"; + } + } + + grouping SUMMARY-DATA-BG { + description + "SUMMARY DATA BG"; + leaf num-nodes { + type uint32; + description + "Number of nodes"; + } + leaf crc-err-count { + type uint32; + description + "CRC Error Count"; + } + leaf sbe-err-count { + type uint32; + description + "Single Bit Error Count"; + } + leaf mbe-err-count { + type uint32; + description + "Multi-Bit Error Count"; + } + leaf par-err-count { + type uint32; + description + "Parity Error Count"; + } + leaf gen-err-count { + type uint32; + description + "General Error Count"; + } + leaf reset-err-count { + type uint32; + description + "Reset Error Count"; + } + list err-count { + description + "Error Count"; + uses COUNT-INFO-BG; + } + list pcie-err-count { + description + "PCIE Error Count"; + uses COUNT-INFO-BG; + } + list pacerr-count { + description + "Pac Error Count"; + uses COUNT-INFO-BG; + } + list node-key { + description + "Keys to the node"; + leaf entry { + type uint32; + description + "Keys to the node"; + } + } + } + + grouping ASIC-SUMMARY-BG { + description + "ASIC SUMMARY BG"; + leaf legacy-client { + type boolean; + description + "boolean field for legacy client"; + } + leaf cih-client { + type boolean; + description + "boolean field for cih client"; + } + leaf pac-client { + type boolean; + description + "boolean field for pac client"; + } + list sum-data { + description + "summary data for asic error"; + uses SUMMARY-DATA-BG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper.yang new file mode 100644 index 000000000..6e6d6558f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-asic-errors-oper.yang @@ -0,0 +1,390 @@ +module Cisco-IOS-XR-asic-errors-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-asic-errors-oper"; + prefix asic-errors-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-asic-errors-oper-sub2 { + revision-date 2020-11-11; + } + include Cisco-IOS-XR-asic-errors-oper-sub1 { + revision-date 2020-11-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR asic-errors package operational data. + + This model is obsolete and is replaced by + Cisco-IOS-XR-asic-error-oper.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + asic-errors: Error summary of all asics + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-11 { + description + "The model moved to obsolete list."; + semver:module-version "1.2.0"; + } + revision 2019-09-27 { + description + "Fixed type translation error."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container asic-errors { + config false; + status obsolete; + description + "This model is obsolete and is replaced by + Cisco-IOS-XR-asic-error-oper.yang which will + provide the compatible functionalities. Error + summary of all asics"; + container nodes { + description + "Asic errors for each available nodes"; + list node { + key "node-name"; + description + "Asic error for a particular node"; + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + list asic-information { + key "asic"; + description + "Asic on the node"; + container all-instances { + description + "All asic instance on the node"; + container all-error-path { + description + "Error path of all instances"; + container summary { + description + "Summary of all instances errors"; + uses ASIC-SUMMARY-BG; + } + } + } + container instances { + description + "All asic errors on the node"; + list instance { + key "asic-instance"; + description + "Particular asic instance on the node"; + container error-path { + description + "Error path of the instances"; + container multiple-bit-soft-errors { + description + "Multiple bit soft error information"; + uses CIHERR-NODES-BG; + } + container asic-error-generic-soft { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container crc-hard-errors { + description + "CRC hard error information"; + uses CIHERR-NODES-BG; + } + container asic-error-sbe-soft { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container hardware-soft-errors { + description + "Hardware soft error information"; + uses CIHERR-NODES-BG; + } + container asic-error-crc-soft { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container asic-error-parity-soft { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container io-soft-errors { + description + "IO soft error information"; + uses CIHERR-NODES-BG; + } + container reset-soft-errors { + description + "Reset soft error information"; + uses CIHERR-NODES-BG; + } + container barrier-hard-errors { + description + "Barrier hard error information"; + uses CIHERR-NODES-BG; + } + container ucode-soft-errors { + description + "Ucode soft error information"; + uses CIHERR-NODES-BG; + } + container asic-error-reset-hard { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container single-bit-hard-errors { + description + "Single bit hard error information"; + uses CIHERR-NODES-BG; + } + container indirect-hard-errors { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container outof-resource-soft { + description + "OOR thresh information"; + uses CIHERR-NODES-BG; + } + container crc-soft-errors { + description + "CRC soft error information"; + uses CIHERR-NODES-BG; + } + container time-out-hard-errors { + description + "Time out hard error information"; + uses CIHERR-NODES-BG; + } + container barrier-soft-errors { + description + "Barrier soft error information"; + uses CIHERR-NODES-BG; + } + container asic-error-mbe-soft { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container back-pressure-hard-errors { + description + "BP hard error information"; + uses CIHERR-NODES-BG; + } + container single-bit-soft-errors { + description + "Single bit soft error information"; + uses CIHERR-NODES-BG; + } + container indirect-soft-errors { + description + "Indirect soft error information"; + uses CIHERR-NODES-BG; + } + container generic-hard-errors { + description + "Generic hard error information"; + uses CIHERR-NODES-BG; + } + container link-hard-errors { + description + "Link hard error information"; + uses CIHERR-NODES-BG; + } + container configuration-hard-errors { + description + "Configuration hard error information"; + uses CIHERR-NODES-BG; + } + container instance-summary { + description + "Summary for a specific instance"; + uses ASIC-SUMMARY-BG; + } + container unexpected-hard-errors { + description + "Unexpected hard error information"; + uses CIHERR-NODES-BG; + } + container time-out-soft-errors { + description + "Time out soft error information"; + uses CIHERR-NODES-BG; + } + container asic-error-generic-hard { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container parity-hard-errors { + description + "Parity hard error information"; + uses CIHERR-NODES-BG; + } + container descriptor-hard-errors { + description + "Descriptor hard error information"; + uses CIHERR-NODES-BG; + } + container interface-hard-errors { + description + "Interface hard error information"; + uses CIHERR-NODES-BG; + } + container asic-error-sbe-hard { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container asic-error-crc-hard { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container asic-error-parity-hard { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container asic-error-reset-soft { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + container back-pressure-soft-errors { + description + "BP soft error information"; + uses CIHERR-NODES-BG; + } + container generic-soft-errors { + description + "Generic soft error information"; + uses CIHERR-NODES-BG; + } + container link-soft-errors { + description + "Link soft error information"; + uses CIHERR-NODES-BG; + } + container configuration-soft-errors { + description + "Configuration soft error information"; + uses CIHERR-NODES-BG; + } + container multiple-bit-hard-errors { + description + "Multiple bit hard error information"; + uses CIHERR-NODES-BG; + } + container unexpected-soft-errors { + description + "Unexpected soft error information"; + uses CIHERR-NODES-BG; + } + container outof-resource-hard { + description + "OOR thresh information"; + uses CIHERR-NODES-BG; + } + container hardware-hard-errors { + description + "Hardware hard error information"; + uses CIHERR-NODES-BG; + } + container parity-soft-errors { + description + "Parity soft error information"; + uses CIHERR-NODES-BG; + } + container descriptor-soft-errors { + description + "Descriptor soft error information"; + uses CIHERR-NODES-BG; + } + container interface-soft-errors { + description + "Interface soft error information"; + uses CIHERR-NODES-BG; + } + container io-hard-errors { + description + "IO hard error information"; + uses CIHERR-NODES-BG; + } + container reset-hard-errors { + description + "Reset hard error information"; + uses CIHERR-NODES-BG; + } + container ucode-hard-errors { + description + "UCode hard error information"; + uses CIHERR-NODES-BG; + } + container asic-error-mbe-hard { + description + "Indirect hard error information"; + uses CIHERR-NODES-BG; + } + } + leaf asic-instance { + type uint32 { + range "0..256"; + } + description + "asic instance"; + } + } + } + leaf asic { + type xr:Cisco-ios-xr-string; + description + "Asic string"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-cfg.yang new file mode 100644 index 000000000..4f24d0277 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-cfg.yang @@ -0,0 +1,73 @@ +module Cisco-IOS-XR-attestation-agent-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-attestation-agent-cfg"; + prefix attestation-agent-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR attestation-agent package configuration. + + This module contains definitions + for the following management objects: + attestation: Attestation Agent configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container attestation { + description + "Attestation Agent configuration"; + container ima { + description + "Runtime Integrity configuration"; + container cache { + description + "IMA cache related configuration"; + container job { + description + "Cache CRON Job configuration"; + leaf disable { + type boolean; + default "false"; + description + "Disable the cache job"; + } + leaf interval { + type uint32 { + range "5..1440"; + } + default "240"; + description + "Interval for CRON Job 5-1440 mins, must be + multiple or factor of 60, default 240"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper-sub1.yang new file mode 100644 index 000000000..79b07c76f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper-sub1.yang @@ -0,0 +1,304 @@ +submodule Cisco-IOS-XR-attestation-agent-ima-oper-sub1 { + belongs-to Cisco-IOS-XR-attestation-agent-ima-oper { + prefix Cisco-IOS-XR-attestation-agent-ima-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR attestation-agent-ima package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-29 { + description + "Changed a few entries in bag from character array to string."; + semver:module-version "1.1.0"; + } + revision 2021-07-19 { + description + "Added total_count under cron job stat bag."; + semver:module-version "1.1.0"; + } + revision 2020-09-21 { + description + "Fixed bag mismatch issue for dossier stat."; + semver:module-version "1.0.0"; + } + revision 2020-09-15 { + description + "Added task for netconf support."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CACHE-BLOCK-SUMMARY { + description + "CACHE BLOCK SUMMARY"; + leaf block-start { + type uint32; + description + "block start event number"; + } + leaf block-end { + type uint32; + description + "block end event number"; + } + leaf block-size { + type uint32; + description + "block size in MB"; + } + leaf duplicate-events { + type uint32; + description + "total no. of duplicate events in block"; + } + leaf unique-events { + type uint32; + description + "total no. of unique events in block"; + } + leaf block-name { + type string; + description + "block name"; + } + leaf timestamp { + type string; + description + "last modified"; + } + leaf create-time { + type string; + description + "timestamp when block was created"; + } + leaf block-exists { + type string; + description + "TRUE if block is present FALSE if block is + deleted"; + } + } + + grouping NODE-BLOCK-SUMMARY { + description + "NODE BLOCK SUMMARY"; + leaf node-name { + type string; + description + "node name"; + } + list block { + description + "list of blocks for this node"; + uses CACHE-BLOCK-SUMMARY; + } + } + + grouping BLOCK-DET { + description + "BLOCK DET"; + list node-block { + description + "node block"; + uses NODE-BLOCK-SUMMARY; + } + } + + grouping CACHE-SUMMARY { + description + "CACHE SUMMARY"; + leaf total-blocks { + type uint32; + description + "total blocks in cache"; + } + leaf cache-size { + type uint32; + description + "total cache size in MB"; + } + leaf total-events { + type uint32; + description + "total no. of events in cache"; + } + leaf duplicate-events { + type uint32; + description + "total no. of duplicate events in cache"; + } + leaf unique-events { + type uint32; + description + "total no. of unique events in cache"; + } + leaf node-name { + type string; + description + "node name"; + } + leaf timestamp { + type string; + description + "last modified"; + } + } + + grouping CACHE-DET { + description + "CACHE DET"; + list cache { + description + "cache"; + uses CACHE-SUMMARY; + } + } + + grouping CRON-STAT { + description + "CRON STAT"; + leaf run-time { + type uint32; + units "second"; + description + "average run time in secs"; + } + leaf averag-blocks-read { + type uint32; + description + "average no of IMA signed blocks read"; + } + leaf success-count { + type uint32; + description + "successful run count"; + } + leaf failure-count { + type uint32; + description + "failure count"; + } + leaf periodicity { + type uint32; + description + "Periodicity of cron job"; + } + leaf no-update-count { + type uint32; + description + "No. of times cron-job ran without reading any + data"; + } + leaf timestamp { + type string; + description + "last instant ran"; + } + leaf node-name { + type string; + description + "node name"; + } + leaf total-count { + type uint32; + description + "Total run count"; + } + } + + grouping CRON-DET { + description + "CRON DET"; + list cron { + description + "cron"; + uses CRON-STAT; + } + } + + grouping DOSSIER-STAT { + description + "DOSSIER STAT"; + leaf success-count { + type uint32; + description + "dossier successfull execution count"; + } + leaf fail-count { + type uint32; + description + "dossier failure count"; + } + leaf avg-time { + type uint32; + description + "avg time taken for dossier execution"; + } + } + + grouping BLOCK-VALIDITY { + description + "BLOCK VALIDITY"; + leaf chunk-start-event { + type uint32; + description + "Corrupted chunk start number"; + } + leaf chunk-end-event { + type uint32; + description + "Corrupted chunk end event"; + } + } + + grouping BLOCK-VALIDITY-SUMMARY { + description + "BLOCK VALIDITY SUMMARY"; + leaf node-name { + type string; + description + "node name"; + } + list chunk { + description + "list of starting event of corrupted chunk"; + uses BLOCK-VALIDITY; + } + } + + grouping BLOCK-VALID-DET { + description + "BLOCK VALID DET"; + list node { + description + "node"; + uses BLOCK-VALIDITY-SUMMARY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper.yang new file mode 100644 index 000000000..bcb3ff3c7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-attestation-agent-ima-oper.yang @@ -0,0 +1,97 @@ +module Cisco-IOS-XR-attestation-agent-ima-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-attestation-agent-ima-oper"; + prefix attestation-agent-ima-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-attestation-agent-ima-oper-sub1 { + revision-date 2022-07-29; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR attestation-agent-ima package operational data. + + This module contains definitions + for the following management objects: + attestation: Oper data for IMA cache and Cron job statistics + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-29 { + description + "Changed a few entries in bag from character array to string."; + semver:module-version "1.1.0"; + } + revision 2021-07-19 { + description + "Added total_count under cron job stat bag."; + semver:module-version "1.1.0"; + } + revision 2020-09-21 { + description + "Fixed bag mismatch issue for dossier stat."; + semver:module-version "1.0.0"; + } + revision 2020-09-15 { + description + "Added task for netconf support."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container attestation { + config false; + description + "Oper data for IMA cache and Cron job statistics "; + container ima-cache { + description + "Oper data for IMA cache and Cron job statistics "; + container ima-corrupt-stat { + description + "Cron job running stats"; + uses BLOCK-VALID-DET; + } + container dossier-stat { + description + "Dossier running stats"; + uses DOSSIER-STAT; + } + container cron-stat { + description + "Cron job running stats"; + uses CRON-DET; + } + container node-cache-summary { + description + "Cache summary for nodes running agent"; + uses CACHE-DET; + } + container node-block-summary { + description + "Block summary for nodes running agent"; + uses BLOCK-DET; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-authenticated-variable-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-authenticated-variable-act.yang new file mode 100644 index 000000000..7e2d99cc1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-authenticated-variable-act.yang @@ -0,0 +1,436 @@ +module Cisco-IOS-XR-authenticated-variable-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-authenticated-variable-act"; + prefix sb-av; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 West Tasman Drive + San Jose, CA 95134 + Tel: +1 800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "This module defines procedure to apply the + Authenticated variables to add/update the + certificates of a network platform''s secure + storage. + + Copyright (c) 2017 IETF Trust and the persons identified + as authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with + or without modification, is permitted pursuant to, and + subject to the license terms contained in, the Simplified + BSD License set forth in Section 4.c of the IETF Trust''s + Legal Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC VVVV; see + the RFC itself for full legal notices."; + + revision 2020-07-10 { + description + "Added xr-task so that Limited access user should not configure + router using this model"; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-07-11 { + description + "Initial revision."; + } + + typedef EFI_VARIABLE { + type enumeration { + enum "EFI_VAR_PK_CISCO" { + value 4; + description + "EFI VAR PK CISCO"; + } + enum "EFI_VAR_KEK_CISCO" { + value 5; + description + "EFI VAR KEK CISCO"; + } + enum "EFI_VAR_DB_CISCO" { + value 6; + description + "EFI VAR DB CISCO"; + } + enum "EFI_VAR_DBX_CISCO" { + value 7; + description + "EFI VAR DBX CISCO"; + } + enum "EFI_VAR_ALL" { + value 8; + description + "EFI VAR ALL"; + } + } + description + "EFI variable"; + } + + grouping LDWM-data { + description + "Signature data for LDWM key"; + leaf sig-list-num { + type uint32; + description + "Signature list Identifier"; + } + leaf guid { + type string; + description + "Signature owner Identifier"; + } + leaf extension-type { + type string; + description + "Type of the signature"; + } + leaf cert-list-num { + type uint32; + description + "Signature entry number"; + } + leaf owner-guid { + type string; + description + "Signature owner guid"; + } + leaf size { + type uint32; + description + "size of the signature"; + } + leaf key-type { + type string; + description + "type of the key"; + } + leaf key-index { + type uint32; + description + "Index of the Key"; + } + leaf key-length { + type uint32; + description + "Length of the Key"; + } + leaf key-data { + type binary; + description + "Key Data determined by Key-Length"; + } + } + + grouping X509-data { + description + "Signature data for X509 certificate"; + leaf sig-list-num { + type uint32; + description + "Signature list Identifier"; + } + leaf guid { + type string; + description + "Signature owner Identifier"; + } + leaf extension-type { + type string; + description + "Type of the signature"; + } + leaf cert-list-num { + type uint32; + description + "Signature entry number"; + } + leaf owner-guid { + type string; + description + "Signature owner guid"; + } + leaf size { + type uint32; + description + "size of the signature"; + } + leaf x509-data { + type binary; + description + "x509 Cert data"; + } + } + + grouping SHA256-data { + description + "Signature data for SHA256 hash"; + leaf sig-list-num { + type uint32; + description + "Signature list Identifier"; + } + leaf guid { + type string; + description + "Signature owner Identifier"; + } + leaf extension-type { + type string; + description + "Type of the signature"; + } + leaf cert-list-num { + type uint32; + description + "Signature entry number"; + } + leaf owner-guid { + type string; + description + "Signature owner guid"; + } + leaf size { + type uint32; + description + "size of the signature"; + } + leaf sha256-hash { + type binary; + description + "SHA256 Hash data"; + } + } + + rpc apply-av { + description + "Append or update certificates in the Aikido. + Returns whether operation is succeeded or failed. + When in error condition, error code will be populated."; + input { + leaf location { + type string; + mandatory true; + description + "In a distributed system get the data from a specific node + identified by the location. Either specified node location + or all is valid"; + } + leaf av-operation { + type enumeration { + enum "APPEND" { + value 1; + description + "Append"; + } + enum "UPDATE" { + value 2; + description + "Update"; + } + } + mandatory true; + description + "Append/Update operation"; + } + leaf efi-var { + type EFI_VARIABLE; + mandatory true; + description + "Contains value for EFI partition"; + } + leaf av-content-file { + type binary; + mandatory true; + description + "av content file"; + } + leaf on-bmc { + type boolean; + description + "on bmc"; + } + } + output { + container apply-av-response { + description + "apply av result data"; + list node-data { + key "node-location"; + description + "apply av result list of the nodes in a distributed system + identified by the location"; + leaf node-location { + type string; + description + "Location of the node in the distributed system"; + } + leaf result-string { + type string; + description + "result string"; + } + } + } + } + } + rpc dump-efi-var { + description + "Fetches the certificates from the EFI variable provided, + dumps into a file and returns the file."; + input { + leaf efi-var { + type EFI_VARIABLE; + mandatory true; + description + "EFI variable"; + } + leaf location { + type string; + mandatory true; + description + "In a distributed system get the data from a specific node + identified by the location. Either specified node location + or all is valid"; + } + leaf on-bmc { + type boolean; + description + "on bmc"; + } + } + output { + container dump-efi-var-response { + description + "dumping efi variables data"; + list node-data { + key "node-location"; + description + "Dumping EFI Variables list of the nodes in a distributed system + identified by the location"; + leaf node-location { + type string; + description + "Location of the node in the distributed system"; + } + leaf result-string { + type string; + description + "Result string of the show efi variables on the node"; + } + list efi-var-data { + key "efi-var-name"; + description + "EFI Variable Name"; + leaf efi-var-name { + type string; + description + "EFI Variable Name"; + } + leaf efi-content-file { + type binary; + description + "EFI Variables binary content"; + } + } + } + } + } + } + rpc show-efi-var { + description + "Returns the certificates from the EFI variable provided."; + input { + leaf efi-var { + type EFI_VARIABLE; + mandatory true; + description + "EFI variable"; + } + leaf location { + type string; + mandatory true; + description + "In a distributed system get the data from a specific node + identified by the location. Either specified node location + or all is valid"; + } + leaf on-bmc { + type boolean; + description + "on bmc"; + } + } + output { + container show-efi-var-response { + description + "show efi var response"; + list node-data { + key "node-location"; + description + "Signatures list of a node in a distributed system + identified by the location"; + leaf node-location { + type string; + description + "Location of the node in the distributed system"; + } + leaf result-string { + type string; + description + "Result string of the show efi variables on the node"; + } + list efi-var-data { + key "efi-var-name"; + description + "EFI Variable name"; + leaf efi-var-name { + type string; + description + "EFI Variable name"; + } + list signature-list { + description + "signature list"; + list ldwm-list { + description + "List of LDWM Keys"; + uses LDWM-data; + } + list x509-list { + description + "List of x509 certs"; + uses X509-data; + } + list sha256-list { + description + "List of sha256 Hashes"; + uses SHA256-data; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-cfg.yang new file mode 100644 index 000000000..262c68b82 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-cfg.yang @@ -0,0 +1,941 @@ +module Cisco-IOS-XR-bundlemgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-bundlemgr-cfg"; + prefix bundlemgr-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-rgmgr-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR bundlemgr package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + bundle: Bundle global commands + lacp: Link Aggregation Control Protocol commands + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-rgmgr-cfg, + modules with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-11 { + description + "Removed deprecated hidden CLI option- lacp fast-switchover."; + semver:module-version "2.0.0"; + } + revision 2020-02-05 { + description + "Lacp Period cli Long option added."; + semver:module-version "1.1.0"; + } + revision 2019-05-30 { + description + "64 bit bandwidth changes."; + semver:module-version "1.0.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-16 { + description + "Description updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bfd-mode { + type enumeration { + enum "no-cfg" { + value 0; + description + "BFD mode not configured on per-bundle basis"; + } + enum "cisco" { + value 1; + description + "BFD mode Cisco"; + } + enum "ietf" { + value 2; + description + "BFD mode IETF"; + } + } + description + "Bfd mode"; + } + + typedef Churn-logging { + type enumeration { + enum "actor" { + value 1; + description + "Logging for actor churn only"; + } + enum "partner" { + value 2; + description + "Logging for partner churn only"; + } + enum "both" { + value 3; + description + "Logging for actor and partner churn"; + } + } + description + "Churn logging"; + } + + typedef Bundle-mode { + type enumeration { + enum "on" { + value 0; + description + "On"; + } + enum "active" { + value 1; + description + "Active"; + } + enum "passive" { + value 2; + description + "Passive"; + } + } + description + "Bundle mode"; + } + + typedef Bundle-minimum-bandwidth-range { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "kbps" { + value 1; + description + "kbps"; + } + enum "mbps" { + value 2; + description + "mbps"; + } + enum "gbps" { + value 3; + description + "gbps"; + } + } + description + "Bundle minimum bandwidth range"; + } + + typedef Period-short-enum { + type union { + type enumeration { + enum "true" { + value 1; + description + "Use the standard LACP short period (1s)"; + } + } + type uint32 { + range "1..1000"; + } + } + description + "Period short enum"; + } + + typedef Bundle-cisco-ext-types { + type enumeration { + enum "lon-signaling-off" { + value 0; + description + "LON signaling disabled"; + } + enum "lon-signaling-on" { + value 1; + description + "LON signaling enabled"; + } + } + description + "Bundle cisco ext types"; + } + + typedef Bundle-cisco-ext { + type empty; + description + "Cisco extensions enabled"; + } + + typedef Bundle-maximum-active-links-mode { + type enumeration { + enum "default" { + value 0; + description + "Default"; + } + enum "hot-standby" { + value 1; + description + "Hot standby"; + } + } + description + "Bundle maximum active links mode"; + } + + typedef Mlacp-switchover { + type enumeration { + enum "brute-force" { + value 1; + description + "Brute force shutdown"; + } + enum "revertive" { + value 2; + description + "Revertive behavior"; + } + } + description + "Mlacp switchover"; + } + + typedef Bundle-load-balance { + type enumeration { + enum "default" { + value 0; + description + "Default hash function used"; + } + enum "efp-auto" { + value 1; + description + "Send all traffic for this EFP over an + automatically selected member"; + } + enum "efp-value" { + value 2; + description + "Send all traffic for this EFP over the member + corresponding to the specified hash function"; + } + enum "source-ip" { + value 3; + description + "Load balance according to source IP address"; + } + enum "destination-ip" { + value 4; + description + "Load balance according to detination IP address"; + } + } + description + "Bundle load balance"; + } + + typedef Bundle-port-activity { + type enumeration { + enum "on" { + value 1; + description + "On"; + } + enum "active" { + value 2; + description + "Active"; + } + enum "passive" { + value 3; + description + "Passive"; + } + enum "inherit" { + value 4; + description + "Inherit"; + } + } + description + "Bundle port activity"; + } + + typedef Mlacp-maximize-parameter { + type enumeration { + enum "links" { + value 1; + description + "Maximize the number of operational links"; + } + enum "bandwidth" { + value 2; + description + "Maximize the operational bandwidth"; + } + } + description + "Mlacp maximize parameter"; + } + + typedef Bundle-period { + type union { + type enumeration { + enum "true" { + value 1; + description + "Use the standard LACP short period (1s)"; + } + } + type uint32 { + range "1..30000"; + } + } + description + "Bundle period"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container bfd { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. BFD + over bundle members configuration"; + container address-family { + description + "Configuration of BFDoBM for all address + families"; + container ipv6 { + description + "Configuration of BFDoBM for IPv6 address + family"; + container ipv6-timers { + description + "Timers associated with BFDoBM"; + leaf ipv6-nbor-unconfig-timer { + type uint32 { + range "60..3600"; + } + description + "IPv6 Timer associated with aggressiveness on + BFD session peer being unconfigured"; + } + leaf ipv6-start-timer { + type uint32 { + range "60..3600"; + } + description + "IPv6 Timer associated with aggressiveness on + BFD session creation"; + } + } + leaf ipv6-destination-address { + type string; + description + "IPv6 Destination address for BFD sessions + created by bundlemgr"; + } + leaf ipv6-detection-multiplier { + type uint32 { + range "2..50"; + } + description + "IPv6 Detection multiplier for BFD sessions + created by bundlemgr"; + } + leaf ipv6-fast-detect { + type empty; + description + "Configure to enable BFD over bundle members"; + } + leaf ipv6-interval { + type uint32 { + range "3..30000"; + } + description + "IPV6 Hello interval for BFD sessions created + by bundlemgr"; + } + } + container ipv4 { + description + "Configuration of BFDoBM for IPv4 address + family"; + container echo { + description + "Container for Echo min-multiplier"; + leaf min-interval { + type uint32 { + range "15..2000"; + } + description + "Configure echo min-interval for bundle + interface"; + } + } + container timers { + description + "Timers associated with BFDoBM"; + leaf nbor-unconfig-timer { + type uint32 { + range "60..3600"; + } + description + "Timer associated with aggressiveness on BFD + session peer being unconfigured"; + } + leaf start-timer { + type uint32 { + range "60..3600"; + } + description + "Timer associated with aggressiveness on BFD + session creation"; + } + } + leaf interval { + type uint32 { + range "3..30000"; + } + description + "Hello interval for BFD sessions created by + bundlemgr"; + } + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detection multiplier for BFD sessions created + by bundlemgr"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination address for BFD sessions created + by bundlemgr"; + } + leaf fast-detect { + type empty; + description + "Configure to enable BFD over bundle members"; + } + } + } + leaf mode { + type Bfd-mode; + default "no-cfg"; + description + "Configuration of BFDoBM mode [cisco|ietf]"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container bundle { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. Generic + per-bundle configuration"; + container bundle-load-balancing { + description + "Load-balance configuration"; + container hash-function { + presence "Indicates a hash-function node is configured."; + description + "Enable loadbalancing on this Bundle / EFP"; + leaf hash-type { + type Bundle-load-balance; + mandatory true; + description + "The specified hash function to use"; + } + leaf hash-value { + type uint32 { + range "1..64"; + } + mandatory true; + description + "The loadbalance hash value selected. For + non-EFP Value methods, this value must be set + to 1."; + } + } + leaf localize-links { + type uint32 { + range "1..64"; + } + description + "Set thresholds for forwarding bundle traffic + within a rack"; + } + } + container minimum-active { + description + "Minimum criteria for a bundle to be active"; + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Bandwidth (in kbps) needed to bring up a + bundle"; + leaf min-bandwidth-range { + type Bundle-minimum-bandwidth-range; + mandatory true; + description + "Minimum Bandwidth Range"; + } + leaf bandwidth { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Bandwidth"; + } + } + leaf links { + type uint32 { + range "1..64"; + } + default "1"; + description + "Number of active links needed to bring up a + bundle"; + } + } + container maximum-active { + description + "Set a limit on the number of links that can be + active"; + container links { + presence "Indicates a links node is configured."; + description + "Maximum number of active links in a bundle"; + leaf links { + type uint32 { + range "1..64"; + } + mandatory true; + description + "Number of active links"; + } + leaf max-active-links-mode { + type Bundle-maximum-active-links-mode; + description + "Maximum active links mode"; + } + } + } + leaf lacp-delay { + type uint32 { + range "1000..15000"; + } + description + "Set the lacp-delay timeout for members of this + bundle"; + } + leaf lacp-fallback { + type uint32 { + range "1..120"; + } + default "5"; + description + "Set the lacp-fallback timeout for this bundle"; + } + leaf logging-oos { + type empty; + description + "Enable logging messages for OOS membership + status for bundle members"; + } + leaf shutdown { + type empty; + description + "Deactivate all member links (down to Standby + state)"; + } + leaf wait-while { + type uint32 { + range "0..2000"; + } + default "2000"; + description + "Set the wait-while timeout for members of this + bundle"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container lacp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. Link + Aggregation Control Protocol per-interface + configuration (for bundle or member)"; + container cisco-extensions { + presence "Indicates a cisco-extensions node is configured."; + description + "Enable bundle Cisco extensions"; + leaf cisco-ext { + type Bundle-cisco-ext; + mandatory true; + description + "Cisco extensions"; + } + leaf cisco-ext-type { + type Bundle-cisco-ext-types; + description + "Specific Cisco extension to enable / disable"; + } + } + container timeout { + description + "Set timeout values for LACP-related timers"; + leaf rx-default { + type uint32 { + range "0..3000"; + } + description + "Set the timeout between expired and defaulted + states"; + } + leaf actor-churn { + type uint32 { + range "0..120"; + } + description + "The time in milliseconds for which to run the + timer"; + } + leaf partner-churn { + type uint32 { + range "0..120"; + } + description + "Set the timeout to use before declaring + partner churn"; + } + } + leaf system-priority { + type uint32 { + range "1..65535"; + } + description + "System priority for this bundle. Lower value is + higher priority."; + } + leaf period { + type Bundle-period; + description + "Lacp period for the bundle."; + } + leaf collector-max-delay { + type uint32 { + range "0..65535"; + } + description + "Collector Max Delay value to signal to the LACP + partner"; + } + leaf lacp-nonrevertive { + type empty; + description + "Configure to enable lacp non-revertive mode"; + } + leaf mode { + type Bundle-mode; + description + "Lacp mode for the bundle."; + } + leaf suppress-flaps { + type uint32 { + range "100..65535"; + } + description + "Suppress flaps on switchover for the specified + period (in ms)"; + } + leaf system-mac { + type yang:mac-address; + description + "System identifier for this bundle."; + } + leaf period-short { + type Period-short-enum; + units "millisecond"; + description + "LACP period to request from the partner (LACP + standard short period, or rate in milliseconds + for use with Cisco-specific extensions). + Default is LACP standard long period (30s)."; + } + leaf churn-logging { + type Churn-logging; + description + "Log churn notifications on the specified + system(s)"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container bundle-member { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. Generic + per-member configuration"; + container id { + description + "Add the port to an aggregated interface."; + leaf bundle-id { + type uint32 { + range "1..65535"; + } + description + "Identifier of the bundle to add the port to."; + } + leaf port-activity { + type Bundle-port-activity; + description + "Port Activity"; + } + } + leaf port-priority { + type xr:Cisco-ios-xr-port-number; + default "32768"; + description + "Priority for this port. Lower value is higher + priority."; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container mlacp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. + Multi-chassis LACP configuration"; + container maximize { + presence "Indicates a maximize node is configured."; + description + "Set parameters to maximize between the mLACP + peers"; + leaf maximize-by { + type Mlacp-maximize-parameter; + mandatory true; + description + "The paramenter which should be maximized"; + } + leaf link-threshold { + type uint32 { + range "0..64"; + } + description + "The number of links below which to switch to + the peer if it has more links available. Only + applicable if maximizing by links. If 0, no + threshold is applied."; + } + leaf bandwidth-threshold { + type uint64 { + range "0..18446744073709551615"; + } + description + "The bandwidth (in kbps) below which to switch + to the peer if it has more bandwidth available + . Only applicable if maximizing by bandwidth. + If 0, no threshold is applied."; + } + } + leaf port-priority { + type xr:Cisco-ios-xr-port-number; + default "32768"; + description + "The LACP port priority (lower value is higher + priority)"; + } + leaf recovery-delay { + type uint32 { + range "0..65535"; + } + default "300"; + description + "Set the delay before the bundle becomes active + after recovery from failure"; + } + leaf switchover-type { + type Mlacp-switchover; + description + "Set the type of mLACP switchover to use for + this bundle"; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "Specify an ICCP Group in which this bundle + should operate"; + } + } + } + augment "/a2:redundancy-group-manager/a2:iccp/a2:iccp-groups/a2:iccp-group" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-rgmgr-cfg'"; + container mlacp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. + Multi-chassis Link Aggregation Control Protocol + commands"; + leaf connect-timeout { + type uint32 { + range "0..65534"; + } + description + "Number of seconds to wait before assuming mLACP + peer is down."; + } + leaf system-mac { + type yang:mac-address; + description + "Unique LACP identifier for this system."; + } + leaf node { + type uint32 { + range "0..7"; + } + description + "Unique identifier for this system in the ICCP + Group."; + } + leaf system-priority { + type uint32 { + range "1..65535"; + } + description + "Priority for this system. Lower value is higher + priority."; + } + } + } + container bundle { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. Bundle + global commands"; + leaf mac-persist { + type empty; + description + "Configure to enable MAC persistence for bundle"; + } + } + container lacp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-bundle-cfg.yang which will + provide the compatible functionalities. Link + Aggregation Control Protocol commands"; + leaf system-mac { + type yang:mac-address; + description + "Unique identifier for this system."; + } + leaf system-priority { + type uint32 { + range "1..65535"; + } + default "32768"; + description + "Priority for this system. Lower value is higher + priority."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub1.yang new file mode 100644 index 000000000..3a648d99b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub1.yang @@ -0,0 +1,318 @@ +submodule Cisco-IOS-XR-bundlemgr-oper-sub1 { + belongs-to Cisco-IOS-XR-bundlemgr-oper { + prefix Cisco-IOS-XR-bundlemgr-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR bundlemgr package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-16 { + description + "Support added for lacp timeout transitions and last lacp timeout leaves."; + semver:module-version "3.0.1m"; + } + revision 2020-10-01 { + description + "64 bit bandwidth support"; + semver:module-version "3.0.0"; + } + revision 2019-05-30 { + description + "64 bit bandwidth changes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-18 { + description + "Added a new leaf"; + } + revision 2018-07-25 { + description + "Added a new leaf"; + } + revision 2018-04-30 { + description + "Description updated."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-22 { + description + "Description updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bundle-media1 { + type enumeration { + enum "ethernet" { + value 0; + description + "Ethernet"; + } + enum "pos" { + value 1; + description + "POS"; + } + } + description + "Bundle media1"; + } + + typedef Load-balance { + type enumeration { + enum "default" { + value 0; + description + "Default"; + } + enum "auto" { + value 1; + description + "Auto"; + } + enum "value" { + value 2; + description + "Value"; + } + enum "source-ip" { + value 3; + description + "Source IP"; + } + enum "destination-ip" { + value 4; + description + "Destination IP"; + } + enum "unknown" { + value 5; + description + "Unknown"; + } + } + description + "Load balance"; + } + + typedef Bundle-media { + type enumeration { + enum "bundle-media-ethernet" { + value 0; + description + "bundle media ethernet"; + } + enum "bundle-media-pos" { + value 1; + description + "bundle media pos"; + } + enum "bundle-media-count" { + value 2; + description + "bundle media count"; + } + } + description + "Bundle media"; + } + + typedef Bundle-mlacp-mode { + type enumeration { + enum "bundle-mlacp-mode-standby" { + value 0; + description + "bundle mlacp mode standby"; + } + enum "bundle-mlacp-mode-active" { + value 1; + description + "bundle mlacp mode active"; + } + enum "bundle-mlacp-mode-count" { + value 2; + description + "bundle mlacp mode count"; + } + } + description + "Bundle mlacp mode"; + } + + grouping BMA-MEMBER-ITEM { + description + "Adjacency information associated with a single + member on a node"; + leaf interface-name { + type xr:Interface-name; + description + "Member interface"; + } + leaf link-id { + type uint8; + description + "Member's link ID in database"; + } + leaf link-order-number { + type uint8; + description + "Member's link order number in database"; + } + leaf bandwidth { + type uint8; + description + "Member's relative bandwidth"; + } + } + + grouping BMA-BUNDLE-DATA { + description + "Adjacency info for a single bundle"; + container brief { + description + "Brief bundle data"; + uses BMA-BRIEF-ITEM; + } + container load-balance-data { + description + "Load Balance data of the bundle"; + uses BMA-LOAD-BALANCE-DATA; + } + leaf media { + type Bundle-media1; + description + "Media type of bundle"; + } + leaf max-member-count { + type uint32; + description + "Maximum number of members for the bundle"; + } + leaf avoid-rebalance { + type boolean; + description + "Avoid rebalancing traffic flows"; + } + list member { + description + "Members of the bundle"; + uses BMA-MEMBER-ITEM; + } + list sub-interface { + description + "Sub-interfaces of the bundle"; + uses BMA-SUBINTF-ITEM; + } + } + + grouping BMA-LOAD-BALANCE-DATA { + description + "Load balance settings on a bundle"; + leaf type { + type Load-balance; + description + "Type of load balancing to use"; + } + leaf value { + type uint32; + description + "Load balance hash value"; + } + leaf local-link-threshold { + type uint32; + description + "Threshold below which rack-local balancing is + disabled"; + } + } + + grouping BMA-SUBINTF-ITEM { + description + "Adjacency information associated with a single + sub-interface on a node"; + container load-balance-data { + description + "Sub-interface Load balance data"; + uses BMA-LOAD-BALANCE-DATA; + } + leaf interface-name { + type xr:Interface-name; + description + "Sub interface"; + } + } + + grouping BMA-BRIEF-ITEM { + description + "Brief information for a single bundle"; + leaf interface-name { + type xr:Interface-name; + description + "Bundle interface"; + } + leaf sub-interface-count { + type uint32; + description + "Number of sub-interfaces on the bundle"; + } + leaf member-count { + type uint32; + description + "Number of members configured to the bundle"; + } + leaf total-weight { + type uint32; + description + "Total weighting (relative bandwidth) of bundle"; + } + list sub-interface { + description + "Sub-interfaces of the bundle"; + uses BMA-SUBINTF-ITEM; + } + } + + grouping BMA-BRIEF-DATA { + description + "Bag containing the brief data items for all + bundles on a node"; + list bundle-data { + description + "Data for all bundles on node"; + uses BMA-BRIEF-ITEM; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub2.yang new file mode 100644 index 000000000..f37614213 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper-sub2.yang @@ -0,0 +1,3979 @@ +submodule Cisco-IOS-XR-bundlemgr-oper-sub2 { + belongs-to Cisco-IOS-XR-bundlemgr-oper { + prefix Cisco-IOS-XR-bundlemgr-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-bundlemgr-oper-sub1 { + revision-date 2022-02-16; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR bundlemgr package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-16 { + description + "Support added for lacp timeout transitions and last lacp timeout leaves."; + semver:module-version "3.0.1m"; + } + revision 2020-10-01 { + description + "64 bit bandwidth support"; + semver:module-version "3.0.0"; + } + revision 2019-05-30 { + description + "64 bit bandwidth changes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-18 { + description + "Added a new leaf"; + } + revision 2018-07-25 { + description + "Added a new leaf"; + } + revision 2018-04-30 { + description + "Description updated."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-22 { + description + "Description updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bml-timestamp { + type uint64; + description + "Bml timestamp"; + } + + typedef Bmd-mlacp-mbr-state-enum { + type enumeration { + enum "mbr-state-nak" { + description + "Member info NAK'd"; + } + enum "mbr-state-unknown" { + description + "No member state TLV received"; + } + enum "mbr-state-up" { + description + "Member is up"; + } + enum "mbr-state-down" { + description + "Member is down"; + } + enum "mbr-state-admin-down" { + description + "Member is admin down"; + } + enum "mbr-state-test" { + description + "Member state TLV reported test"; + } + enum "mbr-state-error" { + description + "Member state TLV reported error"; + } + } + description + "State of an mLACP device"; + } + + typedef Bmd-mlacp-bdl-state-enum { + type enumeration { + enum "bdl-state-nak" { + description + "Bundle info NAK'd"; + } + enum "bdl-state-unknown" { + description + "No bundle state TLV received"; + } + enum "bdl-state-no-sync" { + description + "No bundle config TLV with sync bit set received"; + } + enum "bdl-state-rec-delay" { + description + "Revertive delay timer running"; + } + enum "bdl-state-up" { + description + "Bundle is up"; + } + enum "bdl-state-down" { + description + "Bundle is down"; + } + enum "bdl-state-admin-down" { + description + "Bundle is admin down"; + } + enum "bdl-state-test" { + description + "Bundle state TLV reported test"; + } + enum "bdl-state-error" { + description + "Bundle state TLV reported error"; + } + } + description + "State of an mLACP device"; + } + + typedef Bmd-mlacp-node-sync-enum { + type enumeration { + enum "node-sync-req" { + description + "Sync requested of device"; + } + enum "node-sync-done" { + description + "Sync performed by device"; + } + enum "node-sync-start" { + description + "Sync in progress from device"; + } + enum "node-sync-init" { + description + "Initial sync pending from device"; + } + enum "node-sync-singleton" { + description + "Sync not required for singleton groups"; + } + } + description + "Synchronization states of an mLACP device"; + } + + typedef Bmd-mlacp-node-state-enum { + type enumeration { + enum "node-state-incomplete" { + description + "Missing some mLACP IG config"; + } + enum "node-state-conn-rejected" { + description + "Connection rejected by peer"; + } + enum "node-state-connect-sent" { + description + "Connect timer running"; + } + enum "node-state-unconfigured" { + description + "Missing some ICCP IG config"; + } + enum "node-state-unreachable" { + description + "ICCP declared peer node unreachable"; + } + enum "node-state-iccp-down" { + description + "ICCP declared peer node down"; + } + enum "node-state-nak" { + description + "System info NAK'd"; + } + enum "node-state-unknown" { + description + "No system state TLV received"; + } + enum "node-state-mlacp-down" { + description + "System state TLV reported down"; + } + enum "node-state-admin-down" { + description + "System state TLV reported admin down"; + } + enum "node-state-pe-isolated" { + description + "System is isolated from core network"; + } + enum "node-state-error" { + description + "System state TLV reported error"; + } + enum "node-state-test" { + description + "System state TLV reported test"; + } + enum "node-state-up" { + description + "System is up"; + } + } + description + "State of an mLACP device"; + } + + typedef Bmd-node-ldp-id { + type Bm-in4-addr; + description + "Bmd node ldp id"; + } + + typedef Lacp-churnstates { + type enumeration { + enum "no-churn" { + value 1; + description + "The port is synchronized correctly"; + } + enum "churn" { + value 2; + description + "The port is OutOfSync and the churn timer has + expired"; + } + enum "churn-monitor" { + value 3; + description + "The port is OutOfSync but the churn timer has + not expired"; + } + } + description + "Lacp churnstates"; + } + + typedef Rxstates { + type enumeration { + enum "current-rx" { + value 1; + description + "current rx"; + } + enum "expired" { + value 2; + description + "expired"; + } + enum "defaulted" { + value 3; + description + "defaulted"; + } + enum "initialize" { + value 4; + description + "initialize"; + } + enum "lacp-disabled" { + value 5; + description + "lacp disabled"; + } + enum "port-disabled" { + value 6; + description + "port disabled"; + } + } + description + "Rxstates"; + } + + typedef Lacp-period-state { + type enumeration { + enum "period-s-low" { + description + "Packets are being sent using a long period"; + } + enum "period-fast" { + description + "Packets are being sent using a short period"; + } + enum "period-none" { + description + "Packets are not being sent"; + } + } + description + "Lacp period state"; + } + + typedef Lacp-sel-state { + type enumeration { + enum "unselected" { + description + "The link is Unselected"; + } + enum "standby" { + description + "The link is Standby"; + } + enum "selected" { + description + "The link is Selected"; + } + } + description + "Lacp sel state"; + } + + typedef Bm-link-period-value { + type uint32; + description + "Bm link period value"; + } + + typedef Bm-link-state-bits { + type uint8; + description + "Bm link state bits"; + } + + typedef Bm-link-number { + type uint16; + description + "Bm link number"; + } + + typedef Bm-bdl-id { + type uint16; + description + "Bm bdl id"; + } + + typedef Bmd-bag-event-rg-item { + type enumeration { + enum "bmd-event-rg-idb-create" { + description + "RG structure created"; + } + enum "bmd-event-rg-configured" { + description + "RG configured by user"; + } + enum "bmd-event-rg-user-config" { + description + "User changed the configuration"; + } + enum "bmd-event-rg-connect-ion" { + description + "Connection to peer"; + } + enum "bmd-event-rg-data" { + description + "Data received"; + } + enum "bmd-event-rg-sync" { + description + "Sync performed"; + } + enum "bmd-event-rg-first-retry" { + description + "First retry"; + } + enum "bmd-event-rg-error" { + description + "Last error"; + } + enum "bmd-event-rg-mlacp-tlv" { + description + "mLACP TLV received"; + } + enum "bmd-event-rg-iccp-event" { + description + "ICCP event received"; + } + enum "bmd-event-rg-count" { + description + "Number of RG events"; + } + } + description + "Description of an event for a RG"; + } + + typedef Bmd-bag-event-bdl-item { + type enumeration { + enum "bmd-event-bdl-idb-create" { + description + "Bundle structure created"; + } + enum "bmd-event-bdl-configured" { + description + "Bundle configured by user"; + } + enum "bmd-event-bdl-im-state" { + description + "Bundle's IM state changed"; + } + enum "bmd-event-bdl-mbr-added" { + description + "Member added to the bundle"; + } + enum "bmd-event-bdl-mbr-deleted" { + description + "Member removed from the bundle"; + } + enum "bmd-event-bdl-mac-addr" { + description + "Bundle's MAC address changed"; + } + enum "bmd-event-bdl-first-retry" { + description + "First retry"; + } + enum "bmd-event-bdl-user-config" { + description + "User changed the configuration"; + } + enum "bmd-event-bdl-error" { + description + "Last error"; + } + enum "bmd-event-bdl-mlacp-tlv" { + description + "mLACP TLV received"; + } + enum "bmd-event-bdl-redundancy-role" { + description + "redundancy role change"; + } + enum "bdl-bfd-state-change" { + description + "BFD state change"; + } + enum "bmd-event-bdl-icl" { + description + "Inter-chassis link mode changed"; + } + enum "bmd-event-bdl-count" { + description + "Number of bundle events"; + } + } + description + "Description of an event for a bundle"; + } + + typedef Bmd-bag-item-string { + type string; + description + "Bmd bag item string"; + } + + typedef Bmd-bag-event-data { + type enumeration { + enum "bmd-bag-evt-data-none" { + description + "No additional data"; + } + enum "bmd-bag-evt-data-error" { + description + "Additional data is an error code"; + } + enum "bmd-bag-evt-data-string" { + description + "Additional data is a string"; + } + } + description + "Type of additional info for an event"; + } + + typedef Bmd-bag-event-mbr-item { + type enumeration { + enum "bmd-event-mbr-idb-create" { + description + "Member structure created"; + } + enum "bmd-event-mbr-bdl-add" { + description + "Added to bundle"; + } + enum "bmd-event-mbr-im-state" { + description + "Member's IM state changed"; + } + enum "bmd-event-mbr-sel-logic" { + description + "Sel logic state changed"; + } + enum "bmd-event-mbr-mux" { + description + "Mux state changed"; + } + enum "bmd-event-mbr-bfd" { + description + "BFD state changed"; + } + enum "bmd-event-mbr-expired" { + description + "Expired"; + } + enum "bmd-event-mbr-defaulted" { + description + "Defaulted"; + } + enum "bmd-event-mbr-first-retry" { + description + "First retry"; + } + enum "bmd-event-mbr-msg" { + description + "Message from BML"; + } + enum "bmd-event-mbr-error" { + description + "Last error"; + } + enum "bmd-event-mbr-mlacp-tlv" { + description + "mLACP TLV received"; + } + enum "bmd-event-mbr-redundancy-role" { + description + "redundancy role change"; + } + enum "bmd-event-mbr-count" { + description + "Number of member events"; + } + } + description + "Description of an event for a member"; + } + + typedef Bmd-bag-target { + type enumeration { + enum "bm-bag-target-mbr" { + description + "Information for a member"; + } + enum "bm-bag-target-bdl" { + description + "Information for a bundle"; + } + enum "bm-bag-target-node" { + description + "Information for a node"; + } + enum "bm-bag-target-rg" { + description + "Information for an RG"; + } + } + description + "Scope of information"; + } + + typedef Bmd-switch-reason { + type enumeration { + enum "bm-switch-reason-none" { + description + "Switch is permitted"; + } + enum "bm-switch-reason-noop" { + description + "Switch has no effect"; + } + enum "bm-switch-reason-not-mlacp" { + description + "mLACP not configured"; + } + enum "bm-switch-reason-revertive" { + description + "Brute-force or revertive switchover is in + effect"; + } + enum "bm-switch-reason-bdl-down" { + description + "Would-be active bundle is not ready"; + } + enum "bm-switch-reason-recovery" { + description + "Recovery delay in effect, applications may not + be fully synced"; + } + enum "bm-switch-reason-preceding-error" { + description + "Preceding switch action not viable"; + } + enum "bm-switch-reason-wrong-order" { + description + "Switch actions are scheduled incorrectly"; + } + enum "bm-switch-reason-singleton" { + description + "The ICCP group is operating in singleton mode"; + } + } + description + "Bmd switch reason"; + } + + typedef Bmd-bag-mlacp-sch-action-item { + type enumeration { + enum "switchover" { + description + "mLACP Switchover scheduled"; + } + enum "switchback" { + description + "mLACP Switchback scheduled"; + } + } + description + "Description of scheduled actions for a bundle"; + } + + typedef Bmd-member-type-enum { + type enumeration { + enum "bmd-mbr-local" { + value 0; + description + "Member has been configured on the local device"; + } + enum "bmd-mbr-foreign" { + value 1; + description + "Member has been configured on an mLACP peer + device"; + } + enum "bmd-mbr-unknown" { + value 2; + description + "Member's type is unknown"; + } + } + description + "Bmd member type enum"; + } + + typedef Bm-muxreason { + type enumeration { + enum "bm-mux-reason-no-reason" { + value 0; + description + "Selection logic has not yet been run for the + bundle this link is a member of"; + } + enum "bm-mux-reason-link-down" { + value 1; + description + "Link is down"; + } + enum "bm-mux-reason-link-deleted" { + value 2; + description + "Link is being removed from the bundle"; + } + enum "bm-mux-reason-duplex" { + value 3; + description + "Link has wrong duplexity"; + } + enum "bm-mux-reason-bandwidth" { + value 4; + description + "Link has wrong bandwidth"; + } + enum "bm-mux-reason-loop-back" { + value 5; + description + "Link is a loopback interface"; + } + enum "bm-mux-reason-activity-type" { + value 6; + description + "Link has wrong activity type"; + } + enum "bm-mux-reason-link-limit" { + value 7; + description + "Link's bundle already has maximum number of + members allowed"; + } + enum "bm-mux-reason-shared" { + value 8; + description + "Link is attached to a shared medium"; + } + enum "bm-mux-reason-lagid" { + value 9; + description + "Link has wrong LAG ID"; + } + enum "bm-mux-reason-no-bundle" { + value 10; + description + "Link's bundle does not exist"; + } + enum "bm-mux-reason-no-primary" { + value 11; + description + "Link's bundle has no primary link"; + } + enum "bm-mux-reason-bundle-down" { + value 12; + description + "Link's bundle is shut down"; + } + enum "bm-mux-reason-individual" { + value 13; + description + "Link is marked individual by partner"; + } + enum "bm-mux-reason-defaulted" { + value 14; + description + "Link is Defaulted, suggesting it is not + receiving LACPDUs from the peer"; + } + enum "bm-mux-reason-in-sync" { + value 15; + description + "Link is in InSync state"; + } + enum "bm-mux-reason-collecting" { + value 16; + description + "Link is in Collecting state"; + } + enum "bm-mux-reason-active-link-limit" { + value 17; + description + "Link exceeds maximum active limit"; + } + enum "bm-mux-reason-distributing" { + value 18; + description + "Link is in Distributing state"; + } + enum "bm-mux-reason-plat-data" { + value 19; + description + "Link platform data is incompatible with + selected members"; + } + enum "bm-mux-reason-count" { + value 20; + description + "Enumeration maximum value"; + } + } + description + "Bm muxreason"; + } + + typedef Bmd-member-state { + type enumeration { + enum "bmd-mbr-state-configured" { + value 1; + description + "Member is configured"; + } + enum "bmd-mbr-state-standby" { + value 2; + description + "Member is standby"; + } + enum "bmd-mbr-state-hot-standby" { + value 3; + description + "Member is hot standby"; + } + enum "bmd-mbr-state-negotiating" { + value 4; + description + "Member is negotiating"; + } + enum "bmd-mbr-state-bfd-running" { + value 5; + description + "Member has a BFD session running"; + } + enum "bmd-mbr-state-active" { + value 6; + description + "Member is active"; + } + } + description + "Bmd member state"; + } + + typedef Bm-severity { + type enumeration { + enum "ok" { + value 0; + description + "OK"; + } + enum "information" { + value 1; + description + "Information"; + } + enum "misconfiguration" { + value 2; + description + "Misconfiguration"; + } + enum "warning" { + value 3; + description + "Warning"; + } + enum "error" { + value 5; + description + "Error"; + } + } + description + "Severity of the member state reason"; + } + + typedef Bm-state-reason-target { + type enumeration { + enum "member-reason" { + description + "Member applicable reason"; + } + enum "bundle-reason" { + description + "Bundle applicable reason"; + } + } + description + "Scope of the state reason"; + } + + typedef Bm-mbr-state-reason { + type enumeration { + enum "bm-mbr-state-reason-unknown" { + value 0; + description + "Reason unavailable (diagnostics error)"; + } + enum "bm-mbr-state-reason-unselectable-unknown" { + value 1; + description + "Link cannot be used (unknown reason)"; + } + enum "bm-mbr-state-reason-link-down" { + value 2; + description + "Link is down"; + } + enum "bm-mbr-state-reason-link-deleting" { + value 3; + description + "Link is being removed from the bundle"; + } + enum "bm-mbr-state-reason-creating" { + value 4; + description + "Link is in the process of being created"; + } + enum "bm-mbr-state-reason-bundle-creating" { + value 5; + description + "Bundle is in the process of being created"; + } + enum "bm-mbr-state-reason-bundle-deleting" { + value 6; + description + "Bundle is in the process of being deleted"; + } + enum "bm-mbr-state-reason-bundle-admin-down" { + value 7; + description + "Bundle has been shut down"; + } + enum "bm-mbr-state-reason-replicating" { + value 8; + description + "Bundle is in the process of being replicated to + this location"; + } + enum "bm-mbr-state-reason-bandwidth" { + value 9; + description + "Incompatible with other links in the bundle + (bandwidth out of range)"; + } + enum "bm-mbr-state-reason-loop-back" { + value 10; + description + "Loopback: Actor and Partner have the same + System ID and Key"; + } + enum "bm-mbr-state-reason-activity-type" { + value 11; + description + "Incompatible with other links in the bundle + (LACP vs non-LACP)"; + } + enum "bm-mbr-state-reason-bundle-shutdown" { + value 12; + description + "Bundle shutdown is configured for the bundle"; + } + enum "bm-mbr-state-reason-min-selected" { + value 13; + description + "Not enough links available to meet + minimum-active threshold"; + } + enum "bm-mbr-state-reason-max-selected" { + value 14; + description + "Link is Standby due to maximum-active links + configuration"; + } + enum "bm-mbr-state-reason-link-limit" { + value 15; + description + "Bundle has too many member links configured"; + } + enum "bm-mbr-state-reason-active-limit" { + value 16; + description + "Bundle has reached maximum supported number of + active links"; + } + enum "bm-mbr-state-reason-standby-unknown" { + value 17; + description + "Link is Standby (unknown reason)"; + } + enum "bm-mbr-state-reason-expired" { + value 18; + description + "Link is Expired; LACPDUs are not being received + from the partner"; + } + enum "bm-mbr-state-reason-defaulted" { + value 19; + description + "Link is Defaulted; LACPDUs are not being + received from the partner"; + } + enum "bm-mbr-state-reason-act-or-not-agg" { + value 20; + description + "Link is Not Aggregatable (unknown reason)"; + } + enum "bm-mbr-state-reason-partner-not-agg" { + value 21; + description + "Partner has marked the link as Not Aggregatable"; + } + enum "bm-mbr-state-reason-lagid" { + value 22; + description + "Partner System ID/Key do not match that of the + Selected links"; + } + enum "bm-mbr-state-reason-bundle-not-cfgd" { + value 23; + description + "Bundle interface is not present in + configuration"; + } + enum "bm-mbr-state-reason-bundle-not-ready" { + value 24; + description + "Wait-while timer is running"; + } + enum "bm-mbr-state-reason-partner-ood" { + value 25; + description + "Partner has not echoed the correct parameters + for this link"; + } + enum "bm-mbr-state-reason-partner-not-in-sync" { + value 26; + description + "Partner is not Synchronized (Waiting, Standby, + or LAG ID mismatch)"; + } + enum "bm-mbr-state-reason-foreign-partner-oos" { + value 27; + description + "Partner is not Synchronized (Waiting, not + Selected, or out-of-date)"; + } + enum "bm-mbr-state-reason-attach-unknown" { + value 28; + description + "Link is Attached and has not gone Collecting + (unknown reason)"; + } + enum "bm-mbr-state-reason-partner-not-collecting" { + value 29; + description + "Partner has not advertized that it is + Collecting"; + } + enum "bm-mbr-state-reason-collect-unknown" { + value 30; + description + "Link is Collecting and has not gone + Distributing (unknown reason)"; + } + enum "bm-mbr-state-reason-standby-foreign" { + value 31; + description + "Link is marked as Standby by mLACP peer"; + } + enum "bm-mbr-state-reason-bfd-starting" { + value 32; + description + "Link is waiting for BFD session to start"; + } + enum "bm-mbr-state-reason-bfd-down" { + value 33; + description + "BFD state of this link is Down"; + } + enum "bm-mbr-state-reason-bfd-nbr-unconfig" { + value 34; + description + "BFD session is unconfigured on the remote end"; + } + enum "bm-mbr-state-reason-mlacp" { + value 35; + description + "Link is not operational as a result of mLACP + negotiations"; + } + enum "bm-mbr-state-reason-pe-isolated" { + value 36; + description + "ICCP group is isolated from the core network"; + } + enum "bm-mbr-state-reason-forced-switchover" { + value 37; + description + "Forced switchover to the mLACP peer"; + } + enum "bm-mbr-state-reason-errdis-unknown" { + value 38; + description + "Link is error disabled (unknown reason)"; + } + enum "bm-mbr-state-reason-mlacp-no-mbr-state-info" { + value 39; + description + "Waiting for member state information from mLACP + peer"; + } + enum "bm-mbr-state-reason-active" { + value 40; + description + "Link is Active"; + } + enum "bm-mbr-state-reason-mlacp-no-bdl-state-info" { + value 41; + description + "Waiting for bundle state information from mLACP + peer"; + } + enum "bm-mbr-state-reason-mlacp-no-bdl-config-info" { + value 42; + description + "Waiting for bundle configuration information + from mLACP peer"; + } + enum "bm-mbr-state-reason-mlacp-no-bdl-sync" { + value 43; + description + "Waiting for bundle to complete initial + synchronization with mLACP peer"; + } + enum "bm-mbr-state-reason-mlacp-bdl-has-no-peer" { + value 44; + description + "mLACP bundle does not have a peer device"; + } + enum "bm-mbr-state-reason-mlacp-nak" { + value 45; + description + "Link is being ignored due to an inconsistency + with mLACP peer"; + } + enum "bm-mbr-state-reason-mlacp-transport-unavailable" { + value 46; + description + "ICCP transport is unavailable"; + } + enum "bm-mbr-state-reason-mlacp-not-configured" { + value 47; + description + "ICCP Group is not fully configured"; + } + enum "bm-mbr-state-reason-recovery-timer" { + value 48; + description + "mLACP recovery delay timer is running"; + } + enum "bm-mbr-state-reason-mlacp-standby" { + value 49; + description + "mLACP peer is active"; + } + enum "bm-mbr-state-reason-maximized-out" { + value 50; + description + "mLACP peer has more links/bandwidth available"; + } + enum "bm-mbr-state-reason-mlacp-peer-selected" { + value 51; + description + "mLACP peer has one or more links Selected"; + } + enum "bm-mbr-state-reason-mlacp-connect-timer-running" { + value 52; + description + "mLACP bundle does not have a peer device + (connect timer running)"; + } + enum "bm-mbr-state-reason-bundle-not-mlacp" { + value 53; + description + "Bundle is not configured to run mLACP"; + } + enum "bm-mbr-state-reason-no-lon" { + value 54; + description + "Bundle has too many working links configured + (more than the maximum-active limit)"; + } + enum "bm-mbr-state-reason-cumul-rel-bw-limit" { + value 55; + description + "Additional bandwidth from link would exceed + load balancing capabilities"; + } + enum "bm-mbr-state-reason-no-mac" { + value 56; + description + "No MAC address available for the bundle"; + } + enum "bm-mbr-state-reason-no-system-id" { + value 57; + description + "No system ID available for use by this bundle"; + } + enum "bm-mbr-state-reason-link-shutdown" { + value 58; + description + "Link is shutdown"; + } + enum "bm-mbr-state-reason-activity-mlacp" { + value 59; + description + "Non-LACP link in mLACP bundle"; + } + enum "bm-mbr-state-reason-activity-iccp" { + value 60; + description + "LACP link in inter-chassis bundle"; + } + enum "bm-mbr-state-reason-bundle-icpe-mlacp" { + value 61; + description + "Parent bundle is both inter-chassis and + configured for mLACP"; + } + enum "bm-mbr-state-reason-no-link-num" { + value 62; + description + "Too many bundle members in system; no link + number available"; + } + enum "bm-mbr-state-reason-standby-peer-higher-prio" { + value 63; + description + "mLACP peer has a higher priority link"; + } + enum "bm-mbr-state-reason-red-state-standby" { + value 64; + description + "Link is in standby redundancy state"; + } + enum "bm-mbr-state-reason-other-red-state-standby" { + value 65; + description + "One or more links in the bundle are in standby + redundancy state"; + } + enum "bm-mbr-state-reason-hold-ing" { + value 66; + description + "Holding down temporary to avoid churn after + restart"; + } + enum "bm-mbr-state-reason-bundle-error-disabled" { + value 67; + description + "Bundle has been error-disabled"; + } + enum "bm-mbr-state-reason-bundle-efd-disabled" { + value 68; + description + "Bundle has been disabled by EFD"; + } + enum "bm-mbr-state-reason-singleton-pe-isolated" { + value 69; + description + "Singleton ICCP group is isolated from the core + network"; + } + enum "bm-mbr-state-reason-bfd-ipv6-starting" { + value 70; + description + "Link is waiting for BFDv6 session to start"; + } + enum "bm-mbr-state-reason-bfd-ipv6-down" { + value 71; + description + "BFDv6 state of this link is Down"; + } + enum "bm-mbr-state-reason-bfd-ipv6-nbr-unconfig" { + value 72; + description + "BFDv6 session is unconfigured on the remote end"; + } + enum "bm-mbr-state-reason-timer-running" { + value 73; + description + "LACP delay timer is running"; + } + enum "bm-mbr-state-reason-client-bundle-ctrl" { + value 74; + description + "Client has configured the bundle state Down"; + } + enum "bm-mbr-state-reason-lacp-oos" { + value 75; + description + "Link is in standby due to bundle out of service + state"; + } + enum "bm-mbr-state-reason-errdis-bundle-oos" { + value 76; + description + "Link is error-disabled due to bundle out of + service state"; + } + enum "bm-mbr-state-reason-plat-data" { + value 77; + description + "Incompatible with other links platform data in + the bundle (Etm vs non ETM)"; + } + enum "bm-mbr-state-reason-count" { + value 78; + description + "Enumeration maximum value"; + } + } + description + "Bm mbr state reason"; + } + + typedef Bm-muxstate { + type enumeration { + enum "detached" { + value 1; + description + "Port is not attached to a bundle"; + } + enum "waiting" { + value 2; + description + "Port has chosen bundle and is waiting to join"; + } + enum "attached" { + value 3; + description + "Port is attached to the bundle but not active"; + } + enum "collecting" { + value 4; + description + "Port is ready to receive data"; + } + enum "distributing" { + value 5; + description + "Port is distributing data"; + } + enum "collecting-distributing" { + value 6; + description + "Port is active and can send and receive data"; + } + } + description + "Bm muxstate"; + } + + typedef Bmd-lacp-mode { + type enumeration { + enum "bmd-mode-on" { + value 0; + description + "bmd mode on"; + } + enum "bmd-mode-active" { + value 1; + description + "bmd mode active"; + } + enum "bmd-mode-passive" { + value 2; + description + "bmd mode passive"; + } + enum "bmd-mode-count" { + value 3; + description + "bmd mode count"; + } + } + description + "Bmd lacp mode"; + } + + typedef Bmd-mlacp-switchover { + type enumeration { + enum "bmd-mlacp-switchover-nonrevertive" { + value 0; + description + "Non-revertive switchover type"; + } + enum "bmd-mlacp-switchover-brute-force" { + value 1; + description + "Brute force switchover type"; + } + enum "bmd-mlacp-switchover-revertive" { + value 2; + description + "Revertive switchover type"; + } + enum "bmd-mlacp-switchover-count" { + value 3; + description + "Number of switchover types"; + } + } + description + "Bmd mlacp switchover"; + } + + typedef Bm-feature-status { + type enumeration { + enum "bm-feature-not-configured" { + description + "No configuration is applied for a feature"; + } + enum "bm-feature-not-operational" { + description + "The feature is currently not operational"; + } + enum "bm-feature-operational" { + description + "The feature is currently operational"; + } + } + description + "Bm feature status"; + } + + typedef Bm-bdl-mac-source { + type enumeration { + enum "bm-bdl-mac-source-unknown" { + description + "The MAC is currently unknown"; + } + enum "bm-bdl-mac-source-chassis" { + description + "The MAC was allocated from the chassis pool"; + } + enum "bm-bdl-mac-source-configured" { + description + "The MAC was configured by the user"; + } + enum "bm-bdl-mac-source-member" { + description + "The MAC belongs to a member"; + } + enum "bm-bdl-mac-source-peer" { + description + "The MAC has come from the peer device"; + } + } + description + "Bm bdl mac source"; + } + + typedef Bm-bdl-state { + type enumeration { + enum "bm-bdl-state-admin-down" { + description + "The bundle has been configured Down"; + } + enum "bm-bdl-state-down" { + description + "The bundle is Down"; + } + enum "bm-bdl-state-client-down" { + description + "The bundle is controlled by CLIENT Down"; + } + enum "bm-bdl-state-ptnr-down" { + description + "The bundle is Down on the partner device"; + } + enum "bm-bdl-state-bundle-shutdown" { + description + "Bundle shutdown has been configured"; + } + enum "bm-bdl-state-pe-isolated" { + description + "The bundle cannot contact the core"; + } + enum "bm-bdl-state-nak" { + description + "The state is disputed by a peer device"; + } + enum "bm-bdl-state-up-active" { + description + "The bundle is Up"; + } + enum "bm-bdl-state-mlacp-hot-standby" { + description + "The bundle is Up, but is mLACP standby"; + } + enum "bm-bdl-state-mlacp-cold-standby" { + description + "The bundle is mLACP standby, but will not + eliminate traffic loss"; + } + enum "bm-bdl-state-unknown" { + description + "The bundle state has not been determined"; + } + enum "bm-bdl-state-cold-standby" { + description + "The bundle is standby, but will not eliminate + traffic loss"; + } + enum "bm-bdl-state-error-disabled" { + description + "The bundle has been error-disabled"; + } + enum "bm-bdl-state-efd-disabled" { + description + "The bundle has been disabled by EFD"; + } + enum "bm-bdl-state-lacp-oos" { + description + "The bundle has been OOS (Out of Service)"; + } + } + description + "Bm bdl state"; + } + + typedef Bm-in6-addr { + type inet:ipv6-address; + description + "Bm in6 addr"; + } + + typedef Bm-in4-addr { + type inet:ipv4-address; + description + "Bm in4 addr"; + } + + typedef Bm-af-id { + type enumeration { + enum "bm-af-id-ipv4" { + value 1136568623; + description + "IPv4 AFI"; + } + enum "bm-af-id-ipv6" { + value 1136568624; + description + "IPv6 AFI"; + } + } + description + "Bm af id"; + } + + typedef Bmd-bfd-bdl-state { + type enumeration { + enum "bmd-bfd-bdl-down" { + description + "BFD is down on the bundle"; + } + enum "bmd-bfd-bdl-unknown" { + description + "BFD has just started on a bundle, and the state + has not been determined"; + } + enum "bmd-bfd-bdl-up" { + description + "BFD is up on the bundle"; + } + enum "bmd-bfd-bdl-count" { + description + "Number of BFD states on a bundle"; + } + } + description + "Bmd bfd bdl state"; + } + + typedef Bm-which-system { + type enumeration { + enum "bm-which-system-actr" { + description + "Actor"; + } + enum "bm-which-system-ptnr" { + description + "Partner"; + } + } + description + "Bm which system"; + } + + grouping LACP-COUNTERS { + description + "Statistics for a port using using LACP"; + leaf lacpd-us-received { + type uint32; + description + "LACPDUs received"; + } + leaf lacpd-us-transmitted { + type uint32; + description + "LACPDUs transmitted"; + } + leaf marker-packets-received { + type uint32; + description + "LACP Marker packets received"; + } + leaf marker-responses-transmitted { + type uint32; + description + "LACP Marker response packets transmitted"; + } + leaf illegal-packets-received { + type uint32; + description + "Illegal and unknown packets received"; + } + leaf excess-lacpd-us-received { + type uint32; + description + "LACPDUs received that exceed the rate limit"; + } + leaf excess-marker-packets-received { + type uint32; + description + "Marker packets received that exceed the rate + limit"; + } + leaf defaulted { + type uint32; + description + "State flag set to Defaulted"; + } + leaf expired { + type uint32; + description + "State flag set to Expired"; + } + leaf time-since-last-lacpdu-received { + type Bml-timestamp; + description + "Time elapsed since last LACPDU received (nsec)"; + } + leaf time-since-cleared { + type Bml-timestamp; + description + "Time elapsed since counters last cleared (nsec)"; + } + leaf time-since-unexpected-event { + type Bml-timestamp; + description + "Time elapsed since last unexpected event (nsec)"; + } + leaf last-cleared-sec { + type uint32; + description + "Last time counters cleared (s) (deprecated)"; + } + leaf last-cleared-nsec { + type uint32; + description + "Last time counters cleared (nsec) (deprecated)"; + } + leaf last-change { + type Bml-timestamp; + units "nanosecond"; + description + "Timestamp of last LACP timeout event in nsecs"; + } + leaf lacp-timeout-transitions { + type uint64; + description + "Total number of LACP timeout transitions"; + } + } + + grouping LACP-LINK-DATA { + description + "Link properties for a port using LACP + (Deprecated)"; + leaf interface-handle { + type xr:Interface-name; + description + "Member's interface handle"; + } + leaf actor-system-priority { + type uint16; + description + "System priority of the actor system"; + } + leaf actor-system-mac-address { + type yang:mac-address; + description + "MAC Address of the actor system"; + } + leaf actor-operational-key { + type uint16; + description + "Operational key for this port"; + } + leaf partner-system-priority { + type uint16; + description + "System priority of partner system"; + } + leaf partner-system-mac-address { + type yang:mac-address; + description + "MAC Address used to identify the partner system"; + } + leaf partner-operational-key { + type uint16; + description + "Operational key for partner port"; + } + leaf selected-aggregator-id { + type uint32; + description + "MIB ifindex of selected bundle"; + } + leaf attached-aggregator-id { + type uint32; + description + "MIB ifindex of attached bundle"; + } + leaf actor-port-id { + type uint16; + description + "Port number of this port"; + } + leaf actor-port-priority { + type uint16; + description + "Priority of this port"; + } + leaf partner-port-id { + type uint16; + description + "Port number of the partner's port"; + } + leaf partner-port-priority { + type uint16; + description + "Priority of the partner's port"; + } + leaf actor-port-state { + type uint8; + description + "LACP state of this port"; + } + leaf partner-port-state { + type uint8; + description + "LACP state of the partner's port"; + } + } + + grouping LACP-DROPS { + description + "Otherwise unaccounted LACP drops for a node"; + leaf wrong-port-count { + type uint32; + description + "LACP protocol packets received on ports with + LACP inactive/off"; + } + leaf last-wrong-port { + type uint32; + description + "Last unrecognized port on which a packet was + received"; + } + leaf unknown-port-count { + type uint32; + description + "Packets received for which rx port could not be + determined"; + } + leaf undecodable-packets { + type uint32; + description + "Packets received which could not be decoded"; + } + leaf time-since-cleared { + type Bml-timestamp; + units "nanosecond"; + description + "Time elapsed since counters were last cleared + (in nanoseconds)"; + } + leaf time-since-unexpected-event { + type Bml-timestamp; + units "nanosecond"; + description + "Time elapsed since last unexpected event (in + nanoseconds)"; + } + leaf time-since-last-updated { + type Bml-timestamp; + units "nanosecond"; + description + "Time elapsed since statistics were last updated + (in nanoseconds)"; + } + } + + grouping BM-BUNDLE-APPLIED-LACP-MODE { + description + "Applied LACP Mode for bundle interface"; + leaf applied-lacp-mode { + type Bmd-lacp-mode; + description + "Applied LACP Mode"; + } + } + + grouping BMD-BAG-MBR-INFO-MLACP-COUNTERS-MBR { + description + "Per member mLACP TLV counter information"; + container mlacp-tlv-counters { + description + "Counts of mLACP TLVs sent and received"; + uses BMD-BAG-MLACP-TLV-COUNTERS; + } + leaf port-name { + type string; + description + "Port name of member"; + } + } + + grouping BMD-BAG-MBR-INFO-MLACP-COUNTERS-NODE-DATA { + description + "Peer device specific mLACP TLV counter + information"; + leaf node-id { + type uint32; + description + "Device ID"; + } + leaf iccp-group-id { + type uint32; + description + "ICCP Group ID"; + } + } + + grouping BMD-BAG-MBR-INFO-MLACP-COUNTERS-NODE { + description + "Per peer device mLACP TLV counter information"; + container node-data { + description + "Peer device mLACP TLV counter information"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-NODE-DATA; + } + container mlacp-sync-requests-on-all-foreign-ports { + description + "Counts of mLACP sync request TLVs on all ports"; + uses OPTIONAL-SYNC-REQUEST-COUNTERS; + } + list member-data { + description + "Member mLACP TLV counter information"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-MBR; + } + } + + grouping BMD-BAG-MBR-INFO-MLACP-COUNTERS-BDL-DATA { + description + "Bundle specific mLACP TLV counter information"; + container mlacp-sync-requests-on-all-local-ports { + description + "Counts of mLACP sync request TLVs on all ports"; + uses OPTIONAL-SYNC-REQUEST-COUNTERS; + } + leaf bundle-name { + type string; + description + "Name of the bundle"; + } + leaf iccp-group-id { + type uint32; + description + "ICCP Group ID"; + } + } + + grouping BMD-BAG-MBR-INFO-MLACP-COUNTERS-BDL { + description + "Per bundle mLACP TLV counter information"; + container bundle-data { + description + "Bundle mLACP TLV counter information"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-BDL-DATA; + } + list node-data { + description + "Peer device mLACP TLV counter information"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-NODE; + } + list member-data { + description + "Local member mLACP TLV counter information"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-MBR; + } + } + + grouping BMD-BAG-MBR-INFO-MLACP-COUNTERS-RG { + description + "mLACP counter information for multiple items"; + list items { + description + "mLACP counter information items"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-BDL; + } + } + + grouping LACP-SYSTEM-ID { + description + "LACP System identification information"; + container system-id { + description + "System ID"; + uses BM-SYSTEM-ID-TYPE; + } + leaf iccp-group-id { + type uint32; + description + "ICCP Group that the system ID is for"; + } + leaf system-priority { + type uint16; + description + "Priority of the system (deprecated)"; + } + leaf system-mac-address { + type yang:mac-address; + description + "MAC Address used to identify the system + (deprecated)"; + } + } + + grouping BMD-BAG-MLACP-ICCP-EVENT-COUNTERS { + description + "Counts of ICCP events"; + leaf transport-up { + type uint32; + description + "Number of transport up events"; + } + leaf transport-down { + type uint32; + description + "Number of transport down events"; + } + leaf transport-unavailable { + type uint32; + description + "Number of transport unavailable events"; + } + leaf configured-set { + type uint32; + description + "Number of configure events"; + } + leaf configured-clear { + type uint32; + description + "Number of unconfigure events"; + } + leaf reachability-set { + type uint32; + description + "Number of reachability events"; + } + leaf reachability-cleared { + type uint32; + description + "Number of reachability cleared events"; + } + leaf member-status-up { + type uint32; + description + "Number of member status up events"; + } + leaf member-status-down { + type uint32; + description + "Number of member status down events"; + } + leaf pe-isolated { + type uint32; + description + "Number of PE isolation events"; + } + leaf pe-isolated-clear { + type uint32; + description + "Number of PE isolation cleared events"; + } + } + + grouping BMD-BAG-MLACP-ICCP-MSG-COUNTERS { + description + "Counts of ICCP messages"; + leaf sent-messages { + type uint32; + description + "Number of messages sent"; + } + leaf sent-buffer-messages { + type uint32; + description + "Number of buffers sent (may be multiple per + message)"; + } + leaf received-messages { + type uint32; + description + "Number of messages received"; + } + leaf transmission-errors { + type uint32; + description + "Number of transmission errors"; + } + } + + grouping BMD-BAG-MLACP-INVALID-TLV-COUNTERS { + description + "Counts of invalid TLVs received"; + leaf incorrect-length { + type uint32; + description + "Number of messages received of an incorrect + length"; + } + leaf invalid-type { + type uint32; + description + "Number of messages received with an invalid + mLACP TLV type"; + } + leaf invalid-data { + type uint32; + description + "Number of messages received containing invalid + data"; + } + leaf unknown-bundle { + type uint32; + description + "Number of messages received for an unknown + bundle"; + } + leaf unknown-port { + type uint32; + description + "Number of messages received for an unknown port"; + } + } + + grouping BMD-BAG-MLACP-RG-TLV-COUNTERS { + description + "Counts of ICCP level TLVs"; + leaf sent-config { + type uint32; + description + "Number of config TLVs sent"; + } + leaf received-config { + type uint32; + description + "Number of config TLVs received"; + } + leaf sent-state { + type uint32; + description + "Number of state TLVs sent"; + } + leaf received-state { + type uint32; + description + "Number of state TLVs received"; + } + leaf sent-na-ks { + type uint32; + description + "Number of NAK TLVs sent"; + } + leaf received-na-ks { + type uint32; + description + "Number of NAK TLVs received"; + } + leaf sent-sync-requests { + type uint32; + description + "Number of sync request TLVs sent"; + } + leaf received-sync-requests { + type uint32; + description + "Number of sync request TLVs received"; + } + leaf sent-state-sync-requests { + type uint32; + description + "Number of state sync request TLVs sent"; + } + leaf received-state-sync-requests { + type uint32; + description + "Number of state sync request TLVs received"; + } + leaf sent-config-sync-requests { + type uint32; + description + "Number of config sync request TLVs sent"; + } + leaf received-config-sync-requests { + type uint32; + description + "Number of state config request TLVs received"; + } + leaf sent-solicited-sync-data { + type uint32; + description + "Number of solicited sync data TLVs sent"; + } + leaf received-solicited-sync-data { + type uint32; + description + "Number of solicited sync data TLVs received"; + } + leaf sent-unsolicited-sync-data { + type uint32; + description + "Number of unsolicited sync data TLVs sent"; + } + leaf received-unsolicited-sync-data { + type uint32; + description + "Number of unsolicited sync data TLVs received"; + } + } + + grouping BMD-BAG-MLACP-CONNECTION-COUNTERS { + description + "Counts of connection events"; + leaf sent-connects { + type uint32; + description + "Number of connect TLVs sent"; + } + leaf received-connects { + type uint32; + description + "Number of connect TLVs received"; + } + leaf iccp-invalid-connects { + type uint32; + description + "Number of invalid ICCP connects"; + } + leaf iccp-config-connect-errors { + type uint32; + description + "Number of ICCP connection errors due to config"; + } + leaf iccp-count-connect-errors { + type uint32; + description + "Number of ICCP connection errors due to max ICCP + group count"; + } + leaf sent-wrong-versions { + type uint32; + description + "Number of wrong version TLVs sent"; + } + leaf received-wrong-versions { + type uint32; + description + "Number of wrong version TLVs received"; + } + leaf sent-disconnects { + type uint32; + description + "Number of disconnect TLVs sent"; + } + leaf received-disconnects { + type uint32; + description + "Number of disconnect TLVs received"; + } + leaf iccp-invalid-disconnects { + type uint32; + description + "Number of invalid ICCP disconnects"; + } + } + + grouping BMD-BAG-RG-INFO-MLACP-COUNTERS { + description + "ICCP group mLACP counters"; + container connection { + description + "Number of connection events"; + uses BMD-BAG-MLACP-CONNECTION-COUNTERS; + } + container tl-vs { + description + "Number TLVs sent and received"; + uses BMD-BAG-MLACP-RG-TLV-COUNTERS; + } + container invalid-tl-vs { + description + "Number invalid TLVs received"; + uses BMD-BAG-MLACP-INVALID-TLV-COUNTERS; + } + container iccp-messages { + description + "Number ICCP messages sent and received"; + uses BMD-BAG-MLACP-ICCP-MSG-COUNTERS; + } + container iccp-events { + description + "Number of ICCP events"; + uses BMD-BAG-MLACP-ICCP-EVENT-COUNTERS; + } + leaf last-time-cleared { + type uint64; + units "nanosecond"; + description + "Time in nsecs from boot when counters were last + cleared (deprecated)"; + } + leaf time-since-cleared { + type uint64; + units "nanosecond"; + description + "Elapsed time in nsecs since counters were last + cleared"; + } + leaf last-unexpected-event { + type uint64; + units "nanosecond"; + description + "Elapsed time in nsecs since last unexpected + event"; + } + } + + grouping BMD-BAG-RG-INFO-MLACP-COUNTERS-RG { + description + "mLACP counter information for an ICCP group"; + container iccp-group-counters { + description + "ICCP Group counters"; + uses BMD-BAG-RG-INFO-MLACP-COUNTERS; + } + leaf iccp-group-id { + type uint32; + description + "ICCP Group ID"; + } + } + + grouping BMD-EVENT-BAG-MULTIPLE { + description + "Bag for returning data about events"; + list events-item { + description + "Event items corresponding to bundle or member or + RG"; + uses BMD-EVENT-BAG; + } + } + + grouping BM-MAC-ALLOC { + description + "Data on MAC address allocation"; + list mac-address { + description + "MAC addresses allocated but unused"; + uses BM-MAC-ADDR-ST; + } + } + + grouping MLACP-MBR-INFO-TYPE { + description + "Information for a member"; + leaf port-name { + type string; + description + "Port Name"; + } + leaf interface-handle { + type xr:Interface-name; + description + "Member's interface handle (local device's + members only)"; + } + leaf mlacp-node-id { + type uint8; + description + "mLACP Device ID"; + } + leaf port-number { + type uint16; + description + "Port number of the member"; + } + leaf operational-priority { + type uint16; + description + "Operational priority of the member in the bundle"; + } + leaf configured-priority { + type uint16; + description + "Configured priority of the member in the bundle"; + } + leaf member-state { + type Bmd-mlacp-mbr-state-enum; + description + "State of the member of the bundle"; + } + } + + grouping MLACP-BDL-INFO-TYPE { + description + "Information for a bundle"; + container mac-address { + description + "Bundle MAC address"; + uses BM-MAC-ADDR-ST; + } + leaf bundle-name { + type string; + description + "Name of the bundle"; + } + leaf mlacp-node-id { + type uint8; + description + "mLACP Device ID"; + } + leaf aggregator-id { + type uint16; + description + "Bundle aggregrator ID"; + } + leaf bundle-state { + type Bmd-mlacp-bdl-state-enum; + description + "State of the bundle"; + } + leaf port-priority { + type uint16; + description + "Bundle port priority"; + } + } + + grouping BMD-BAG-MLACP-BDL { + description + "mLACP information for a bundle"; + leaf bundle-interface-key { + type uint16; + description + "Key of the bundle interface"; + } + leaf media-type { + type Bundle-media; + description + "The media type of the bundle interface"; + } + leaf redundancy-object-id { + type uint64; + description + "Redundancy Object ID of the bundle"; + } + list mlacp-bundle-data { + description + "mLACP information for the bundle"; + uses MLACP-BDL-INFO-TYPE; + } + list mlacp-member-data { + description + "mLACP information for the member"; + uses MLACP-MBR-INFO-TYPE; + } + } + + grouping MLACP-RG-NODE-INFO-TYPE { + description + "LACP information for an RG"; + container system-id { + description + "System ID for the ICCP Group"; + uses BM-SYSTEM-ID-TYPE; + } + leaf mlacp-node-id { + type uint8; + description + "mLACP Device ID"; + } + leaf ldp-id { + type Bmd-node-ldp-id; + description + "LDP ID of the device"; + } + leaf version-number { + type uint32; + description + "Version of the protocol being used"; + } + leaf node-state { + type Bmd-mlacp-node-state-enum; + description + "State of the Node"; + } + leaf iccp-group-state { + type Bmd-mlacp-node-sync-enum; + description + "Node synchronization state"; + } + } + + grouping BMD-BAG-MLACP-RG { + description + "mLACP information for an RG"; + leaf iccp-group-id { + type uint32; + description + "ICCP Group that the mLACP information is for"; + } + leaf singleton { + type boolean; + description + "Is the ICCP group in singleton mode (1 = + singleton; 0 = not singleton)"; + } + leaf connect-timer-running { + type uint64; + units "nanosecond"; + description + "Time remaining on connect timer innsecs"; + } + list node-data { + description + "Information for the IG from the local and peer + devices"; + uses MLACP-RG-NODE-INFO-TYPE; + } + } + + grouping BMD-BAG-MLACP-DATA { + description + "Combined mLACP information for bundle and ICCP + Group"; + container iccp-group-data { + description + "ICCP Group information"; + uses BMD-BAG-MLACP-RG; + } + list bundle-data { + description + "Bundle information"; + uses BMD-BAG-MLACP-BDL; + } + } + + grouping BMD-BAG-MLACP-DATA-MULTIPLE { + description + "Combined mLACP information for bundle and ICCP + Group"; + list mlacp-data { + description + "mLACP data for multiple ICCP Groups"; + uses BMD-BAG-MLACP-DATA; + } + } + + grouping BMD-BAG-PROT-MBR-INFO { + description + "Protect information for a member"; + leaf interface-handle { + type xr:Interface-name; + description + "Member's interface handle"; + } + leaf underlying-link-id { + type uint16; + description + "Member's underlying link ID"; + } + leaf link-order-number { + type uint16; + description + "Member's link order number"; + } + leaf bandwidth { + type uint64; + description + "Member's bandwidth"; + } + leaf node { + type xr:Node-id; + description + "Member's node ID"; + } + leaf active { + type boolean; + description + "Member is active within its bundle"; + } + leaf notification-received { + type boolean; + description + "Received a notification on the member"; + } + leaf slow-path-up { + type boolean; + description + "Member is up in the slow path"; + } + leaf time-stamp { + type uint64; + description + "Last event for the member"; + } + } + + grouping BMD-BAG-PROT-BDL-INFO { + description + "Protect information for a bundle"; + leaf bundle-interface-handle { + type xr:Interface-name; + description + "Handle of the bundle interface"; + } + leaf interface-up { + type boolean; + description + "Whether the bundle interface is up"; + } + leaf registered { + type boolean; + description + "Whether there is a client protect registration + on the bundle interface"; + } + leaf slow-path-up { + type boolean; + description + "Bundle is up in the slow path"; + } + leaf slow-path-trigger { + type boolean; + description + "Whether the last protect trigger originated in + the slow path"; + } + leaf minimum-active-links { + type uint32; + description + "Minimum active links threshold"; + } + leaf minimum-bandwidth { + type uint64; + description + "Minimum bandwidth threshold"; + } + leaf event-type { + type Bmd-bag-target; + description + "Scope of the last event that impacted the bundle"; + } + leaf time-stamp { + type uint64; + description + "Last event for the bundle"; + } + list member-info { + description + "Information about the members"; + uses BMD-BAG-PROT-MBR-INFO; + } + } + + grouping BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG-MULTIPLE { + description + "mLACP counter information for multiple ICCP + groups"; + list iccp-group { + description + "ICCP Group mLACP TLV counter information"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG; + } + } + + grouping BMD-BAG-BDL-INFO-MLACP-COUNTERS-NODE-DATA { + description + "Peer device specific mLACP TLV counter + information"; + container mlacp-sync-requests-on-all-foreign-ports { + description + "Counts of mLACP sync request TLVs on all ports"; + uses OPTIONAL-SYNC-REQUEST-COUNTERS; + } + container mlacp-sync-requests-on-all-foreign-bundles { + description + "Counts of mLACP sync request TLVs on all bundles"; + uses OPTIONAL-SYNC-REQUEST-COUNTERS; + } + leaf node-id { + type uint32; + description + "Device ID"; + } + } + + grouping BMD-BAG-BDL-INFO-MLACP-COUNTERS-NODE { + description + "Per peer device mLACP TLV counter information"; + container node-data { + description + "Peer device mLACP TLV counter information"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-NODE-DATA; + } + list bundle-data { + description + "Peer device bundle mLACP TLV counter information"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-BDL; + } + } + + grouping BMD-BAG-MLACP-SYNC-RQST-COUNTERS { + description + "Counts of mLACP sync request TLVs received"; + container received-sync-requests { + description + "Number of mLACP sync request TLVs received"; + uses BMD-BAG-MLACP-SYNC-RQST-TLVS-RCVD; + } + leaf last-time-cleared { + type uint64; + units "nanosecond"; + description + "Time in nsecs from boot when counters were last + cleared (deprecated)"; + } + leaf time-since-cleared { + type uint64; + units "nanosecond"; + description + "Elapsed time in nsecs since counters were last + cleared"; + } + } + + grouping OPTIONAL-SYNC-REQUEST-COUNTERS { + description + "Optional sync request counters field"; + uses BMD-BAG-MLACP-SYNC-RQST-COUNTERS; + } + + grouping BMD-BAG-MLACP-SYNC-RQST-TLVS-RCVD { + description + "Counts of mLACP sync request TLVs received"; + leaf all-syncs { + type uint32; + description + "Total number of sync requests received"; + } + leaf config-syncs { + type uint32; + description + "Number of config sync requests received"; + } + leaf state-syncs { + type uint32; + description + "Number of state sync requests received"; + } + } + + grouping BMD-BAG-MLACP-TLV-COUNTERS { + description + "Counts of mLACP TLVs sent and received"; + container received-sync-requests { + description + "Number of mLACP sync request TLVs received"; + uses BMD-BAG-MLACP-SYNC-RQST-TLVS-RCVD; + } + leaf sent-config-tl-vs { + type uint32; + description + "Number of mLACP config TLVs sent"; + } + leaf sent-state-tl-vs { + type uint32; + description + "Number of mLACP state TLVs sent"; + } + leaf sent-priority-tl-vs { + type uint32; + description + "Number of mLACP priority TLVs sent"; + } + leaf received-priority-tl-vs { + type uint32; + description + "Number of mLACP priority TLVs received"; + } + leaf received-nak-tl-vs { + type uint32; + description + "Number of mLACP NAK TLVs received"; + } + leaf last-time-cleared { + type uint64; + units "nanosecond"; + description + "Time in nsecs from boot when counters were last + cleared (deprecated)"; + } + leaf time-since-cleared { + type uint64; + units "nanosecond"; + description + "Elapsed time in nsecs since counters were last + cleared"; + } + leaf last-unexpected-event { + type uint64; + units "nanosecond"; + description + "Elapsed time in nsecs since last unexpected + event"; + } + } + + grouping BMD-BAG-BDL-INFO-MLACP-COUNTERS-BDL { + description + "Per bundle mLACP TLV counter information"; + container mlacp-tlv-counters { + description + "Counts of mLACP TLVs sent and received"; + uses BMD-BAG-MLACP-TLV-COUNTERS; + } + leaf bundle-name { + type string; + description + "Name of the bundle"; + } + } + + grouping BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG-DATA { + description + "ICCP group specific mLACP TLV counter information"; + container mlacp-sync-requests-on-all-local-ports { + description + "Counts of mLACP sync request TLVs on all ports"; + uses OPTIONAL-SYNC-REQUEST-COUNTERS; + } + container mlacp-sync-requests-on-all-local-bundles { + description + "Counts of mLACP sync request TLVs on all bundles"; + uses OPTIONAL-SYNC-REQUEST-COUNTERS; + } + leaf iccp-group-id { + type uint32; + description + "ICCP Group ID"; + } + list bundle-data { + description + "Local device bundle mLACP counter information"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-BDL; + } + } + + grouping BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG { + description + "ICCP group mLACP counter information"; + container iccp-group-data { + description + "ICCP Group mLACP TLV counter information"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG-DATA; + } + list node-data { + description + "Peer device bundle mLACP counter information"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-NODE; + } + } + + grouping LACP-LINK-ADDITIONAL-INFO-FOREIGN-TYPE { + description + "Additional information for a foreign LACP link"; + leaf peer-address { + type Bmd-node-ldp-id; + description + "The LDP address of the device that the link is + configured on"; + } + leaf member-name { + type string; + description + "Member's (short form) name"; + } + } + + grouping LACP-LINK-ADDITIONAL-INFO-LOCAL-TYPE { + description + "Additional information for a local LACP link"; + leaf interface-handle { + type xr:Interface-name; + description + "Member's interface handle"; + } + } + + grouping LACP-LINK-ADDITIONAL-INFO { + description + "Additional information for the link that is + dependent on type"; + container local { + when "../mbr-type = 'bmd-mbr-local'" { + description + "../MbrType = 'BMD_MBR_LOCAL'"; + } + description + "Information for a local port"; + uses LACP-LINK-ADDITIONAL-INFO-LOCAL-TYPE; + } + container foreign { + when "../mbr-type = 'bmd-mbr-foreign'" { + description + "../MbrType = 'BMD_MBR_FOREIGN'"; + } + description + "Information for a foreign port"; + uses LACP-LINK-ADDITIONAL-INFO-FOREIGN-TYPE; + } + leaf mbr-type { + type Bmd-member-type-enum; + description + "MbrType"; + } + } + + grouping BM-LINK-ID-TYPE { + description + "BM LINK ID TYPE"; + leaf link-priority { + type uint16; + description + "link priority"; + } + leaf link-number { + type Bm-link-number; + description + "link number"; + } + } + + grouping BM-LACP-PORT-INFO-TYPE { + description + "BM LACP PORT INFO TYPE"; + container system { + description + "system"; + uses BM-SYSTEM-ID-TYPE; + } + container port { + description + "port"; + uses BM-LINK-ID-TYPE; + } + leaf key { + type Bm-bdl-id; + description + "key"; + } + leaf state { + type Bm-link-state-bits; + description + "state"; + } + } + + grouping LACP-LINK-DEVICE-INFO-TYPE { + description + "Link properties for a port from a device"; + container port-info { + description + "LACP parameters for this device"; + uses BM-LACP-PORT-INFO-TYPE; + } + leaf tx-period { + type Bm-link-period-value; + description + "Time (in ms) between transmitting LACPDUs"; + } + } + + grouping LACP-MBR-DATA { + description + "Link properties for a port using LACP"; + container actor-info { + description + "LACP information for the port from the actor"; + uses LACP-LINK-DEVICE-INFO-TYPE; + } + container partner-info { + description + "LACP information for the port from the partner"; + uses LACP-LINK-DEVICE-INFO-TYPE; + } + container additional-info { + description + "Additional information for the link"; + uses LACP-LINK-ADDITIONAL-INFO; + } + leaf selected-aggregator-id { + type uint32; + description + "MIB ifindex of selected bundle"; + } + leaf attached-aggregator-id { + type uint32; + description + "MIB ifindex of attached bundle"; + } + leaf selection-state { + type Lacp-sel-state; + description + "State of the Selection Logic state machine"; + } + leaf period-state { + type Lacp-period-state; + description + "State of the Period state machine"; + } + leaf receive-machine-state { + type Rxstates; + description + "State of the RX state machine"; + } + leaf mux-state { + type Bm-muxstate; + description + "State of the Mux state machine"; + } + leaf actor-churn-state { + type Lacp-churnstates; + description + "State of the Churn state machine for the Actor"; + } + leaf partner-churn-state { + type Lacp-churnstates; + description + "State of the Churn state machine for the Partner"; + } + leaf iccp-group-id { + type uint32; + description + "The ID of the ICCP group that the link is + configured on"; + } + } + + grouping LACP-COMBINED-DATA { + description + "Bag containing the bundle and member data with + regard to outputting LACP data"; + container bundle-data { + description + "Bundle information"; + uses LACP-BUNDLE-DATA; + } + list member-data { + description + "Member information"; + uses LACP-MBR-DATA; + } + } + + grouping BMD-BAG-EVENT-ITEM-RG { + description + "A single event item for an RG"; + container data { + description + "Additional data for the event"; + uses BMD-BAG-EVENT-DATA; + } + leaf rg-event-type { + type Bmd-bag-event-rg-item; + description + "Type of event for RG"; + } + leaf time-stamp { + type uint64; + description + "Time stamp of the event"; + } + } + + grouping BMD-BAG-EVENT-ITEM-BDL { + description + "A single event item for a bundle"; + container data { + description + "Additional data for the event"; + uses BMD-BAG-EVENT-DATA; + } + leaf bundle-event-type { + type Bmd-bag-event-bdl-item; + description + "Type of event for bundle"; + } + leaf time-stamp { + type uint64; + description + "Time stamp of the event"; + } + } + + grouping BMD-BAG-EVENT-DATA { + description + "Additional data for an event"; + leaf data-type { + type Bmd-bag-event-data; + description + "DataType"; + } + leaf no-data { + when "../data-type = 'bmd-bag-evt-data-none'" { + description + "../DataType = 'BMD_BAG_EVT_DATA_NONE'"; + } + type uint8; + description + "NoData"; + } + leaf error { + when "../data-type = 'bmd-bag-evt-data-error'" { + description + "../DataType = 'BMD_BAG_EVT_DATA_ERROR'"; + } + type uint32; + description + "Error"; + } + leaf string-data { + when "../data-type = 'bmd-bag-evt-data-string'" { + description + "../DataType = 'BMD_BAG_EVT_DATA_STRING'"; + } + type Bmd-bag-item-string; + description + "StringData"; + } + } + + grouping BMD-BAG-EVENT-ITEM-MBR { + description + "A single event item for a member"; + container data { + description + "Additional data for the event"; + uses BMD-BAG-EVENT-DATA; + } + leaf member-event-type { + type Bmd-bag-event-mbr-item; + description + "Type of event for member"; + } + leaf time-stamp { + type uint64; + description + "Time stamp of the event"; + } + } + + grouping BMD-BAG-EVENT-ITEM { + description + "Event item"; + container member-evt-info { + when "../event-type = 'bm-bag-target-mbr'" { + description + "../EventType = 'BM_BAG_TARGET_MBR'"; + } + description + "Event information for a member"; + uses BMD-BAG-EVENT-ITEM-MBR; + } + container bundle-evt-info { + when "../event-type = 'bm-bag-target-bdl'" { + description + "../EventType = 'BM_BAG_TARGET_BDL'"; + } + description + "Event information for a bundle"; + uses BMD-BAG-EVENT-ITEM-BDL; + } + container rg-evt-info { + when "../event-type = 'bm-bag-target-rg'" { + description + "../EventType = 'BM_BAG_TARGET_RG'"; + } + description + "Event information for an RG"; + uses BMD-BAG-EVENT-ITEM-RG; + } + leaf event-type { + type Bmd-bag-target; + description + "EventType"; + } + } + + grouping BMD-EVENT-BAG { + description + "Bag for returning data about events"; + leaf item-name { + type string; + description + "Name for the current item to use"; + } + list items { + description + "Event items"; + uses BMD-BAG-EVENT-ITEM; + } + } + + grouping BM-BUNDLE-COMBINED-DATA { + description + "Combined bundle and member data bags"; + container bundle-data { + description + "Bundle information"; + uses BM-BUNDLE-DATA; + } + list member-data { + description + "Member information"; + uses BM-MEMBER-DATA; + } + } + + grouping BMD-BAG-MLACP-SCH-ACTION { + description + "Bag for returning data about scheduled actions"; + leaf mlacp-action { + type Bmd-bag-mlacp-sch-action-item; + description + "Type of mLACP scheduled action for a bundle"; + } + leaf time-remaining { + type uint64; + units "second"; + description + "Seconds left before action"; + } + leaf action-state { + type Bmd-switch-reason; + description + "Details whether the switch action is viable"; + } + } + + grouping BMD-SCH-ACTION-BAG { + description + "Bag for returning data about scheduled actions"; + leaf bundle-name { + type string; + description + "Name of the bundle"; + } + list scheduled-action { + description + "Scheduled actions for mlacp in case of switch + over"; + uses BMD-BAG-MLACP-SCH-ACTION; + } + } + + grouping BMD-BFD-COUNTER-BAG { + description + "BFD events"; + leaf member-name { + type string; + description + "Name of the member this information is for"; + } + leaf last-time-cleared { + type uint64; + description + "Timestamp when counters were last cleared + (deprecated)"; + } + leaf starting { + type uint32; + description + "Number of times member state changed to starting"; + } + leaf up { + type uint32; + description + "Number of times member state changed to up"; + } + leaf down { + type uint32; + description + "Number of times member state changed to down"; + } + leaf neighbor-unconfigured { + type uint32; + description + "Number of times member state changed to neighbor + unconfigured"; + } + leaf start-timeouts { + type uint32; + description + "Number of timeouts waiting for BFD to start"; + } + leaf neighbor-unconfigured-timeouts { + type uint32; + description + "Number of timeouts waiting for neighbor to + become unconfigured"; + } + leaf time-since-cleared { + type uint64; + units "nanosecond"; + description + "Elapsed time in nsecs since counters were last + cleared"; + } + } + + grouping BM-NAME-BAG { + description + "Item Name"; + leaf item-name { + type string; + description + "Name of item"; + } + } + + grouping BMD-BFD-COUNTER-BAG-MULTIPLE { + description + "BFD events"; + container bundle-name { + description + "Name of the bundle this information is for"; + uses BM-NAME-BAG; + } + list bfd-counter { + description + "BFD event counters"; + uses BMD-BFD-COUNTER-BAG; + } + } + + grouping BM-MBR-STATE-REASON-DATA-TYPE { + description + "Additional member state reason data"; + leaf reason-type { + type Bm-state-reason-target; + description + "The item the reason applies to"; + } + leaf severity { + type Bm-severity; + description + "The severity of the reason"; + } + } + + grouping BM-MUX-DATA { + description + "bm mux information"; + container member-mux-state-reason-data { + description + "Data regarding the reason for last Mux state + change"; + uses BM-MBR-STATE-REASON-DATA-TYPE; + } + leaf mux-state { + type Bm-muxstate; + description + "Current state of this bundle member"; + } + leaf error { + type uint32; + description + "Internal value indicating if an error occurred + trying to put a link into the desired state"; + } + leaf member-mux-state-reason { + type Bm-mbr-state-reason; + description + "Reason for last Mux state change"; + } + leaf member-state { + type Bmd-member-state; + description + "Current internal state of this bundle member"; + } + leaf mux-state-reason { + type Bm-muxreason; + description + "Reason for last Mux state change (Deprecated)"; + } + } + + grouping BM-LACP-LINK-DATA { + description + "Link properties for a port using LACP "; + leaf interface-handle { + type xr:Interface-name; + description + "Member's interface handle"; + } + leaf actor-system-priority { + type uint16; + description + "System priority of actor system"; + } + leaf actor-system-mac-address { + type yang:mac-address; + description + "MAC Address of the actor system"; + } + leaf actor-operational-key { + type uint16; + description + "Operational key for this port"; + } + leaf partner-system-priority { + type uint16; + description + "System priority of partner system"; + } + leaf partner-system-mac-address { + type yang:mac-address; + description + "MAC Address used to identify the partner system"; + } + leaf partner-operational-key { + type uint16; + description + "Operational key for partner port"; + } + leaf selected-aggregator-id { + type uint32; + description + "MIB ifindex of selected bundle"; + } + leaf attached-aggregator-id { + type uint32; + description + "MIB ifindex of attached bundle"; + } + leaf actor-port-id { + type uint16; + description + "Port number of this port"; + } + leaf actor-port-priority { + type uint16; + description + "Priority of this port"; + } + leaf partner-port-id { + type uint16; + description + "Port number of the partner's port"; + } + leaf partner-port-priority { + type uint16; + description + "Priority of the partner's port"; + } + leaf actor-port-state { + type uint8; + description + "LACP state of this port"; + } + leaf partner-port-state { + type uint8; + description + "LACP state of the partner's port"; + } + } + + grouping BM-LACP-COUNTERS { + description + "Statistics for a port using using LACP"; + leaf lacpd-us-received { + type uint32; + description + "LACPDUs received"; + } + leaf lacpd-us-transmitted { + type uint32; + description + "LACPDUs transmitted"; + } + leaf marker-packets-received { + type uint32; + description + "LACP Marker packets received"; + } + leaf marker-responses-transmitted { + type uint32; + description + "LACP Marker response packets transmitted"; + } + leaf illegal-packets-received { + type uint32; + description + "Illegal and unknown packets received"; + } + leaf excess-lacpd-us-received { + type uint32; + description + "LACPDUs received that exceed the rate limit"; + } + leaf excess-marker-packets-received { + type uint32; + description + "Marker packets received that exceed the rate + limit"; + } + leaf defaulted { + type uint32; + description + "State flag set to Defaulted"; + } + leaf expired { + type uint32; + description + "State flag set to Expired"; + } + leaf last-cleared-sec { + type uint32; + description + "Last time counters cleared (s) (deprecated)"; + } + leaf last-cleared-nsec { + type uint32; + description + "Last time counters cleared (nsec) (deprecated)"; + } + leaf last-change { + type uint64; + units "nanosecond"; + description + "Timestamp of last LACP timeout event in nsecs"; + } + leaf lacp-timeout-transitions { + type uint64; + description + "Total number of LACP timeout transitions"; + } + } + + grouping BM-MEMBER-DATA { + description + "Bundle member data for any member"; + container counters { + description + "Counters data about member link"; + uses BM-LACP-COUNTERS; + } + container link-data { + description + "Lacp data about member link"; + uses BM-LACP-LINK-DATA; + } + container member-mux-data { + description + "Mux state machine data"; + uses BM-MUX-DATA; + } + container mac-address { + description + "MAC address of this member (deprecated)"; + uses BM-MAC-ADDR-ST; + } + leaf interface-name { + type xr:Interface-name; + description + "Member's interface name"; + } + leaf port-priority { + type uint16; + description + "The priority of this member"; + } + leaf port-number { + type uint16; + description + "Member's link number"; + } + leaf underlying-link-id { + type uint16; + description + "Member's underlying link ID"; + } + leaf link-order-number { + type uint16; + description + "Member's link order number"; + } + leaf iccp-node { + type uint32; + description + "Location of member"; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth of this member (kbps)"; + } + leaf lacp-enabled { + type string; + description + "Boolean indicating LACP enabled or not"; + } + leaf member-type { + type Bmd-member-type-enum; + description + "Member's type (local/foreign)"; + } + leaf member-name { + type string; + description + "Member's (short form) name"; + } + leaf replication-error { + type uint32; + description + "Error from final replication attempt"; + } + leaf bandwidth64-bit { + type uint64; + units "kbit/s"; + description + "Bandwidth of this member 64-Bit (kbps)"; + } + } + + grouping ETHER-MACADDR-TYPE { + description + "ETHER MACADDR TYPE"; + leaf macaddr { + type yang:hex-string; + description + "macaddr"; + } + } + + grouping BM-SYSTEM-ID-TYPE { + description + "BM SYSTEM ID TYPE"; + container system-mac-addr { + description + "MAC Address used to identify the system"; + uses ETHER-MACADDR-TYPE; + } + leaf system-prio { + type uint16; + description + "Priority of the system"; + } + } + + grouping BM-ADDR { + description + "Union to store the different addresses for + different address types"; + leaf af { + type Bm-af-id; + description + "AF"; + } + leaf ipv4 { + when "../af = 'bm-af-id-ipv4'" { + description + "../AF = 'BM_AF_ID_IPV4'"; + } + type Bm-in4-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../af = 'bm-af-id-ipv6'" { + description + "../AF = 'BM_AF_ID_IPV6'"; + } + type Bm-in6-addr; + description + "IPv6 address type"; + } + } + + grouping BM-BUNDLE-BFD-DATA-TYPE { + description + "BFD information of the bundle"; + container destination-address { + description + "Configured destination address for BFD session"; + uses BM-ADDR; + } + leaf bundle-status { + type Bmd-bfd-bdl-state; + description + "Status of BFD on the bundle"; + } + leaf start-timer { + type uint32; + description + "Time to wait on session start before declaring + DOWN"; + } + leaf nbr-unconfig-timer { + type uint32; + description + "Time to wait on session NBR_UNCONFIG before + declaring DOWN"; + } + leaf pref-multiplier { + type uint16; + description + "Preferred multiplier for the BFD session"; + } + leaf pref-min-interval { + type uint32; + description + "Preferred minimum interval for the BFD session + (ms)"; + } + leaf pref-echo-min-interval { + type uint32; + description + "Preferred echo minimum interval for the BFD + session (ms)"; + } + leaf fast-detect { + type boolean; + description + "Flag indicating if BFD is enabled (1 = enabled; + 0 = not enabled)"; + } + leaf mode-info { + type uint32; + description + "Standard used for per-member BFD"; + } + } + + grouping BM-MAC-ADDR-ST { + description + "Data on MAC address allocation"; + leaf address { + type yang:mac-address; + description + "MAC address"; + } + } + + grouping BM-BUNDLE-DATA { + description + "Data for a bundle interface"; + container mac-address { + description + "MAC address of this member"; + uses BM-MAC-ADDR-ST; + } + leaf bundle-interface-name { + type xr:Interface-name; + description + "Name of the Bundle Interface"; + } + leaf available-bandwidth { + type uint64; + units "kbit/s"; + description + "Bandwidth available to the bundle interface + (kbps)"; + } + leaf effective-bandwidth { + type uint64; + units "kbit/s"; + description + "Effective bandwidth on the bundle interface + (kbps)"; + } + leaf configured-bandwidth { + type uint64; + units "kbit/s"; + description + "Bandwidth configured on the bundle interface + (kbps)"; + } + leaf minimum-active-links { + type uint8; + description + "Minimum number of active links for bundle to go + up"; + } + leaf maximum-active-links { + type uint8; + description + "Maximum number of active links in the bundle"; + } + leaf maximum-active-links-source { + type Bm-which-system; + description + "Source of maximum active links value"; + } + leaf minimum-bandwidth { + type uint64; + units "kbit/s"; + description + "Minimum bundle bandwidth for bundle to go up + (kbps)"; + } + leaf primary-member { + type xr:Interface-name; + description + "Primary bundle member (no longer applicable)"; + } + leaf bundle-status { + type Bm-bdl-state; + description + "The state of the bundle"; + } + leaf active-member-count { + type uint16; + description + "The number of active local members on the bundle"; + } + leaf standby-member-count { + type uint16; + description + "The number of standby local members on the + bundle"; + } + leaf configured-member-count { + type uint16; + description + "The number of configured local members on the + bundle"; + } + leaf mac-source { + type Bm-bdl-mac-source; + description + "The source of the MAC Address"; + } + leaf mac-source-member { + type xr:Interface-name; + description + "The name of the member that supplied the MAC + address"; + } + leaf inter-chassis { + type boolean; + description + "Indicates if this bundle is operating as an + inter-chassis link (1 = I-C link, 0 = normal)"; + } + leaf is-active { + type boolean; + description + "Indicates the active/standby redundancy state of + the device for the bundle"; + } + leaf lacp-status { + type Bm-feature-status; + description + "The status of the LACP feature on the bundle"; + } + leaf mlacp-status { + type Bm-feature-status; + description + "The status of the mLACP feature on the bundle"; + } + leaf ipv4bfd-status { + type Bm-feature-status; + description + "The status of the BFD (IPv4) feature on the + bundle"; + } + leaf link-order-status { + type Bm-feature-status; + description + "The status of the link order signaling feature + on the bundle"; + } + leaf ipv6bfd-status { + type Bm-feature-status; + description + "The status of the BFD (IPv6) feature on the + bundle"; + } + leaf load-balance-hash-type { + type string; + description + "The type of hash to use for load balancing"; + } + leaf load-balance-locality-threshold { + type uint16; + description + "The number of links required per rack for + localized load balancing"; + } + leaf suppression-timer { + type uint16; + description + "Timer for suppressing bundle state flaps"; + } + leaf wait-while-timer { + type uint16; + description + "The wait while time used for member ports"; + } + leaf collector-max-delay { + type uint16; + units "microsecond"; + description + "The maximum delay (in tens of microseconds) that + the destination system can introduce between + receiving a frame from a port and either + delivering it to the MAC Client or discarding it"; + } + leaf cisco-extensions { + type boolean; + description + "The status of the Cisco Extensions feature (1 = + enabled, 0 = not enabled)"; + } + leaf lacp-nonrevertive { + type boolean; + description + "The status of the LACP nonrevertive feature (1 = + enable, 0 = not enabled)"; + } + leaf iccp-group-id { + type uint32; + description + "ICCP Group that the bundle is configured to"; + } + leaf active-foreign-member-count { + type uint16; + description + "The number of active foreign members on the + bundle"; + } + leaf configured-foreign-member-count { + type uint16; + description + "The number of configured local members on the + bundle"; + } + leaf switchover-type { + type Bmd-mlacp-switchover; + description + "How a switchover of the bundle from this device + will occur"; + } + leaf maximize-threshold-value-links { + type uint32; + description + "Attempt to maximize the bundle if links are + below this value"; + } + leaf maximize-threshold-value-band-width { + type uint64; + description + "Attempt to maximize the bundle if bandwidth is + below this value"; + } + leaf mlacp-mode { + type Bundle-mlacp-mode; + description + "Indicates the mode of the device for the bundle"; + } + leaf recovery-delay { + type uint16; + units "second"; + description + "Number of seconds to wait before becoming active + after recovering from a failure"; + } + leaf singleton { + type boolean; + description + "Is the ICCP group of the bundle in singleton + mode (1 = singleton; 0 = not singleton)"; + } + list bfd-config { + description + "Configuration values for BFD on bundle members"; + uses BM-BUNDLE-BFD-DATA-TYPE; + } + } + + grouping LACP-BUNDLE-DATA { + description + "Data for a LACP-enabled bundle interface"; + container actor-bundle-data { + description + "Basic bundle information"; + uses BM-BUNDLE-DATA; + } + container bundle-system-id { + description + "System ID for the bundle"; + uses BM-SYSTEM-ID-TYPE; + } + leaf actor-operational-key { + type uint16; + description + "Operational key of the interface"; + } + leaf partner-system-priority { + type uint16; + description + "Priority of the partner system"; + } + leaf partner-system-mac-address { + type yang:mac-address; + description + "MAC Address used to identify the partner system"; + } + leaf partner-operational-key { + type uint16; + description + "Operational key of the partner"; + } + leaf applied-lacp-mode { + type Bmd-lacp-mode; + description + "Applied LACP Mode"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper.yang new file mode 100644 index 000000000..c63959dde --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-bundlemgr-oper.yang @@ -0,0 +1,1197 @@ +module Cisco-IOS-XR-bundlemgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-bundlemgr-oper"; + prefix bundlemgr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-bundlemgr-oper-sub2 { + revision-date 2022-02-16; + } + include Cisco-IOS-XR-bundlemgr-oper-sub1 { + revision-date 2022-02-16; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR bundlemgr package operational data. + + This module contains definitions + for the following management objects: + lacp-bundles: LACP bundle data + bundle-information: Bundle information + lacp-data: LACP data + bundles: Bundle operational data + lacp-bundle-members: LACP Bundle Member operational data + bundles-adjacency: Bundle operational data from the adjacency + processes + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-16 { + description + "Support added for lacp timeout transitions and last lacp timeout leaves."; + semver:module-version "3.0.1m"; + } + revision 2020-10-01 { + description + "64 bit bandwidth support"; + semver:module-version "3.0.0"; + } + revision 2019-05-30 { + description + "64 bit bandwidth changes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-18 { + description + "Added a new leaf"; + } + revision 2018-07-25 { + description + "Added a new leaf"; + } + revision 2018-04-30 { + description + "Description updated."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-22 { + description + "Description updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container lacp-bundles { + config false; + description + "LACP bundle data"; + container bundles { + description + "LACP bundle data"; + list bundle { + key "bundle-interface"; + description + "LACP Bundle interface"; + container data { + description + "Data for each Bundle"; + uses LACP-BUNDLE-DATA; + } + container members { + description + "LACP Member interface"; + list member { + key "member-interface"; + description + "Member information"; + leaf member-interface { + type xr:Interface-name; + description + "Member interface"; + } + uses BM-MEMBER-DATA; + } + } + leaf bundle-interface { + type xr:Interface-name; + description + "LACP Bundle interface"; + } + } + } + } + container bundle-information { + config false; + description + "Bundle information"; + container bfd-counters { + description + "BFD counters information for bundles and members"; + container bfd-counters-bundles { + description + "Bundle interfaces with BFD counters information"; + list bfd-counters-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container bfd-counters-bundle-descendant { + description + "Data for this item and all its members"; + uses BMD-BFD-COUNTER-BAG-MULTIPLE; + } + container bfd-counters-bundle-children-members { + description + "Children of bundle with BFD counters + information"; + list bfd-counters-bundle-children-member { + key "member-interface"; + description + "Bundle member item with BFD counters + information"; + leaf member-interface { + type string; + description + "Member interface"; + } + uses BMD-BFD-COUNTER-BAG; + } + } + container bfd-counters-bundle-item { + description + "Data for this item"; + uses BM-NAME-BAG; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container bfd-counters-members { + description + "Member interfaces with BFD counters information"; + list bfd-counters-member { + key "member-interface"; + description + "Member interface"; + container bfd-counters-member-item { + description + "Data for this item"; + uses BMD-BFD-COUNTER-BAG; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + } + container scheduled-actions { + description + "Scheduled actions on a bundle"; + container scheduled-actions-bundles { + description + "Bundles with actions scheduled"; + list scheduled-actions-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container scheduled-actions-bundle-item { + description + "Data for this item"; + uses BMD-SCH-ACTION-BAG; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + } + container bundle { + description + "Generic information for bundles and members"; + container bundle-bundles { + description + "Bundle interfaces with common bundle + information"; + list bundle-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container bundle-bundle-descendant { + description + "Data for this item and all its members"; + uses BM-BUNDLE-COMBINED-DATA; + } + container bundle-bundle-children-members { + description + "Children of bundle with common bundle + information"; + list bundle-bundle-children-member { + key "member-interface"; + description + "Bundle member item with common bundle + information"; + leaf member-interface { + type string; + description + "Member interface"; + } + uses BM-MEMBER-DATA; + } + } + container bundle-bundle-item { + description + "Data for this item"; + uses BM-BUNDLE-DATA; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container bundle-members { + description + "Member interfaces with common bundle + information"; + list bundle-member { + key "member-interface"; + description + "Member interface"; + container bundle-member-ancestor { + description + "Data for this item and its parent bundle"; + uses BM-BUNDLE-COMBINED-DATA; + } + container bundle-member-item { + description + "Data for this item"; + uses BM-MEMBER-DATA; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + } + container events-rg { + description + "Bundle ICCP events information for bundles and + members"; + container events-rg-members { + description + "Bundle Member interfaces with ICCP events + information"; + list events-rg-member { + key "member-interface"; + description + "Member interface"; + container events-rg-member-ancestor { + description + "Data for this item and its parent bundle"; + uses BMD-EVENT-BAG; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + container events-rg-iccp-groups { + description + "ICCP events for all ICCP Groups"; + list events-rg-iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container events-rg-bundle-item-iccp-group { + description + "Data for this item"; + uses BMD-EVENT-BAG; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + container events-rg-bundles { + description + "Bundle interfaces with ICCP events information"; + list events-rg-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container events-rg-bundle-ancestor { + description + "Data for this item and its parent bundle"; + uses BMD-EVENT-BAG; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + } + container lacp { + description + "LACP information for bundles and members"; + container lacp-bundles { + description + "Bundle interfaces with LACP information"; + list lacp-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container lacp-bundle-item { + description + "Data for this item"; + uses LACP-BUNDLE-DATA; + } + container lacp-bundle-descendant { + description + "Data for this item and all its members"; + uses LACP-COMBINED-DATA; + } + container lacp-bundle-children-members { + description + "Children of bundle with LACP information"; + list lacp-bundle-children-member { + key "member-interface"; + description + "Bundle member item with LACP information"; + leaf member-interface { + type string; + description + "Member interface"; + } + uses LACP-MBR-DATA; + } + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container lacp-members { + description + "Member interfaces with LACP information"; + list lacp-member { + key "member-interface"; + description + "Member interface"; + container lacp-member-ancestor { + description + "Data for this item and its parent bundle"; + uses LACP-COMBINED-DATA; + } + container lacp-member-item { + description + "Data for this item"; + uses LACP-MBR-DATA; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + } + container mlacp-bundle-counters { + description + "Bundle specific counters of mLACP events"; + container iccp-groups { + description + "ICCP Groups with counters of their bundle's + mLACP events"; + list iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container iccp-group-item { + description + "Data for this item"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + container bundles { + description + "Bundle interfaces with counters of mLACP events"; + list bundle { + key "bundle-interface"; + description + "Bundle interface"; + container bundle-item { + description + "Data for this item"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG-MULTIPLE; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container nodes { + description + "Devices with counters of their bundle's mLACP + events"; + list node { + key "node"; + description + "Node ID"; + container node-item { + description + "Data for this item"; + uses BMD-BAG-BDL-INFO-MLACP-COUNTERS-RG; + } + leaf node { + type string; + description + "For a local device the Node ID e.g. + '0_0_CPU0', for a peer device the LDP ID + followed by the ICCP Group ID e.g. '5.4.3.2 + ,4'"; + } + } + } + } + container protect { + description + "Information for bundles and members that are in + the protect database"; + container protect-bundles { + description + "Bundle interfaces with information in the + protect database"; + list protect-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container protect-bundle-item { + description + "Data for this item"; + uses BMD-BAG-PROT-BDL-INFO; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + } + container mlacp-brief { + description + "mLACP Information for Interchassis Groups and + bundles"; + container mlacp-bundle-briefs { + description + "Bundle interfaces with brief mLACP information"; + list mlacp-bundle-brief { + key "bundle-interface"; + description + "Bundle interface"; + container mlacp-bundle-item-brief { + description + "Data for this item"; + uses BMD-BAG-MLACP-DATA-MULTIPLE; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container mlacp-brief-iccp-groups { + description + "ICCP Groups with brief mLACP information"; + list mlacp-brief-iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container mlacp-brief-iccp-group-item { + description + "Data for this item"; + uses BMD-BAG-MLACP-DATA; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + } + container mlacp { + description + "mLACP Information for Interchassis Groups and + bundles"; + container mlacp-bundles { + description + "Bundle interfaces with mLACP information"; + list mlacp-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container mlacp-bundle-item { + description + "Data for this item"; + uses BMD-BAG-MLACP-DATA-MULTIPLE; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container mlacp-iccp-groups { + description + "ICCP Groups with mLACP information"; + list mlacp-iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container mlacp-iccp-group-item { + description + "Data for this item"; + uses BMD-BAG-MLACP-DATA; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + } + container mac-allocation { + description + "Information about allocated MAC addresses that + are not in use"; + container mac-allocation-global { + description + "All MAC addresses that are allocated but + currently not in use"; + container mac-allocation-global-item { + description + "Data for this item"; + uses BM-MAC-ALLOC; + } + } + } + container events { + description + "Events information for bundles and members"; + container events-members { + description + "Member interfaces with events information"; + list events-member { + key "member-interface"; + description + "Member interface"; + container events-member-item { + description + "Data for this item"; + uses BMD-EVENT-BAG; + } + container events-member-ancestor { + description + "Data for this item and its parent bundle"; + uses BMD-EVENT-BAG; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + container events-bundles { + description + "Bundle interfaces with events information"; + list events-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container events-bundle-ancestor { + description + "Data for this item and its parent bundle"; + uses BMD-EVENT-BAG; + } + container events-bundle-item { + description + "Data for this item"; + uses BMD-EVENT-BAG; + } + container events-bundle-descendant { + description + "Data for this item and all its members"; + uses BMD-EVENT-BAG-MULTIPLE; + } + container events-bundle-children-members { + description + "Children of bundle with events information"; + list events-bundle-children-member { + key "member-interface"; + description + "Bundle member item with events information"; + leaf member-interface { + type string; + description + "Member interface"; + } + uses BMD-EVENT-BAG; + } + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + } + container events-bdl { + description + "Bundle events information for bundles and + members"; + container events-bdl-members { + description + "Member interfaces with bundle events + information"; + list events-bdl-member { + key "member-interface"; + description + "Member interface"; + container events-bdl-member-ancestor { + description + "Data for this item and its parent bundle"; + uses BMD-EVENT-BAG; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + container events-bdl-bundles { + description + "Bundle interfaces with bundle events + information"; + list events-bdl-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container events-bdl-bundle-item { + description + "Data for this item"; + uses BMD-EVENT-BAG; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container events-bdl-iccp-groups { + description + "Bundle events for all ICCP Groups"; + list events-bdl-iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container events-bdl-bundle-descendant-iccp-group { + description + "Data for this item and all its members"; + uses BMD-EVENT-BAG-MULTIPLE; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + } + container bundle-briefs { + description + "Bundle interfaces with common bundle information"; + list bundle-brief { + key "bundle-interface"; + description + "Bundle interface"; + container bundle-brief-item { + description + "Data for this item"; + uses BM-BUNDLE-DATA; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container events-mbr { + description + "Bundle member events information for bundles and + members"; + container events-mbr-bundles { + description + "Bundle interfaces with member events + information"; + list events-mbr-bundle { + key "bundle-interface"; + description + "Bundle interface"; + container events-mbr-bundle-children-members { + description + "Children of bundle with member events + information"; + list events-mbr-bundle-children-member { + key "member-interface"; + description + "Bundle member item with member events + information"; + leaf member-interface { + type string; + description + "Member interface"; + } + uses BMD-EVENT-BAG; + } + } + container events-mbr-bundle-descendant { + description + "Data for this item and all its members"; + uses BMD-EVENT-BAG-MULTIPLE; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container events-mbr-members { + description + "Member interfaces with bundle member events + information"; + list events-mbr-member { + key "member-interface"; + description + "Member interface"; + container events-mbr-member-item { + description + "Data for this item"; + uses BMD-EVENT-BAG; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + container events-mbr-iccp-groups { + description + "Member events for all ICCP Groups"; + list events-mbr-iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container events-mbr-bundle-children-member-iccp-groups { + description + "Children of bundle with member events + information"; + list events-mbr-bundle-children-member-iccp-group { + key "member-interface"; + description + "Bundle member item with ICCP events + information"; + leaf member-interface { + type string; + description + "Member interface"; + } + uses BMD-EVENT-BAG; + } + } + container events-mbr-bundle-descendant-iccp-group { + description + "Data for this item and all its members"; + uses BMD-EVENT-BAG-MULTIPLE; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + } + container mlacp-iccp-group-counters { + description + "ICCP Group specific counters of mLACP events"; + container iccp-groups { + description + "ICCP Groups with counters of mLACP events"; + list iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container iccp-group-ancestor-bundle { + description + "Data for this item and its parent RG"; + uses BMD-BAG-RG-INFO-MLACP-COUNTERS-RG; + } + container iccp-group-ancestor-member { + description + "Data for this item and its parent RG"; + uses BMD-BAG-RG-INFO-MLACP-COUNTERS-RG; + } + container iccp-group-ancestor-node { + description + "Data for this item and its parent RG"; + uses BMD-BAG-RG-INFO-MLACP-COUNTERS-RG; + } + container iccp-group-item { + description + "Data for this item"; + uses BMD-BAG-RG-INFO-MLACP-COUNTERS-RG; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + } + container system-id { + description + "System Identifiers for the local system and all + ICCP Groups"; + container system-id-global { + description + "System Identifier for the local system"; + container system-id-global-item { + description + "Data for this item"; + uses LACP-SYSTEM-ID; + } + } + container system-id-iccp-groups { + description + "System Identifiers for all ICCP Groups"; + list system-id-iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container system-id-iccp-group-item { + description + "Data for this item"; + uses LACP-SYSTEM-ID; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + } + container mlacp-member-counters { + description + "Member specific counters of mLACP events"; + container iccp-groups { + description + "ICCP Groups with counters of their member's + mLACP events"; + list iccp-group { + key "iccp-group"; + description + "ICCP Group ID"; + container iccp-group-item { + description + "Data for this item and all its members"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-RG; + } + leaf iccp-group { + type uint32 { + range "1..4294967295"; + } + description + "ICCP Group ID"; + } + } + } + container members { + description + "Member interfaces with counters of mLACP events"; + list member { + key "member-interface"; + description + "Member interface"; + container member-item { + description + "Data for this item"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-RG; + } + leaf member-interface { + type string; + description + "Member interface"; + } + } + } + container bundles { + description + "Bundle interfaces with counters of their + member's mLACP events"; + list bundle { + key "bundle-interface"; + description + "Bundle interface"; + container bundle-item { + description + "Data for this item"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-BDL; + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + container nodes { + description + "Devices with counters of their member's mLACP + events"; + list node { + key "node"; + description + "Node ID"; + container node-item { + description + "Data for this item"; + uses BMD-BAG-MBR-INFO-MLACP-COUNTERS-RG; + } + leaf node { + type string; + description + "For a local device the Node ID e.g. + '0_0_CPU0', for a peer device the LDP ID + followed by the ICCP Group ID e.g. '5.4.3.2 + ,4'"; + } + } + } + } + } + container lacp-data { + config false; + description + "LACP data"; + container global { + description + "Global LACP data"; + container system-id { + description + "LACP System ID"; + uses LACP-SYSTEM-ID; + } + } + } + container bundles { + config false; + description + "Bundle operational data"; + container bundles { + description + "Per bundle operational data"; + list bundle { + key "bundle-interface"; + description + "Bundle interface"; + container applied-lacp-mode { + description + "Applied LACP Mode for each Bundle"; + uses BM-BUNDLE-APPLIED-LACP-MODE; + } + container data { + description + "Data for each Bundle"; + uses BM-BUNDLE-DATA; + } + container members { + description + "Member interface"; + list member { + key "member-interface"; + description + "Member information"; + leaf member-interface { + type xr:Interface-name; + description + "Member interface"; + } + uses BM-MEMBER-DATA; + } + } + leaf bundle-interface { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + } + container lacp-bundle-members { + config false; + description + "LACP Bundle Member operational data"; + container nodes { + description + "Table of devices with their LACP bundle member + interfaces"; + list node { + key "node"; + description + "Node ID"; + container counters { + description + "Link counters for LACP bundle members per node"; + uses LACP-DROPS; + } + leaf node { + type string; + description + "For a local device the Node ID e.g. '0_0_CPU0' + , for a peer device the LDP ID followed by the + ICCP Group ID e.g. '5.4.3.2,4'"; + } + } + } + container members { + description + "Table of LACP bundle member interfaces"; + list member { + key "member-interface"; + description + "LACP bundle member interface data"; + container data { + description + "Link data for LACP bundle members"; + uses LACP-LINK-DATA; + } + container counters { + description + "Link counters for LACP bundle members"; + uses LACP-COUNTERS; + } + leaf member-interface { + type xr:Interface-name; + description + "Member interface"; + } + } + } + } + container bundles-adjacency { + config false; + description + "Bundle operational data from the adjacency + processes"; + container nodes { + description + "Per bundle operational data"; + list node { + key "node-name"; + description + "Location"; + container brief { + description + "Brief load-balance information for the node"; + uses BMA-BRIEF-DATA; + } + container bundles { + description + "Per bundle operational data"; + list bundle { + key "bundle-name"; + description + "Bundle information"; + container bundle-info { + description + "Data for each Bundle"; + uses BMA-BUNDLE-DATA; + } + leaf bundle-name { + type xr:Interface-name; + description + "Bundle interface"; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-call-home-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-call-home-cfg.yang new file mode 100644 index 000000000..80ecd9105 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-call-home-cfg.yang @@ -0,0 +1,730 @@ +module Cisco-IOS-XR-call-home-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-call-home-cfg"; + prefix call-home-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR call-home package configuration. + + This module contains definitions + for the following management objects: + call-home: Set CallHome parameters + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-07-24 { + description + "Add resolution for YANG enter-tuple issue."; + } + revision 2018-06-21 { + description + "Remove container smart-licensing."; + } + revision 2017-03-13 { + description + "Initial version."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Call-home-mail-send-interval { + type enumeration { + enum "daily" { + value 0; + description + "Daily call-home message"; + } + enum "weekly" { + value 1; + description + "Weekly call-home message"; + } + enum "monthly" { + value 2; + description + "Monthly call-home message"; + } + } + description + "Call home mail send interval"; + } + + typedef Call-home-day-of-week { + type enumeration { + enum "sunday" { + value 0; + description + "Sunday"; + } + enum "monday" { + value 1; + description + "Monday"; + } + enum "tuesday" { + value 2; + description + "Tuesday"; + } + enum "wednesday" { + value 3; + description + "Wednesday"; + } + enum "thursday" { + value 4; + description + "Thursday"; + } + enum "friday" { + value 5; + description + "Friday"; + } + enum "saturday" { + value 6; + description + "Saturday"; + } + } + description + "Call home day of week"; + } + + typedef Call-home-event-severity { + type enumeration { + enum "debugging" { + value 0; + description + "Debugging event"; + } + enum "normal" { + value 1; + description + "Normal event"; + } + enum "notification" { + value 2; + description + "Notification event"; + } + enum "warning" { + value 3; + description + "Warning event"; + } + enum "minor" { + value 4; + description + "Minor event"; + } + enum "major" { + value 5; + description + "Major event"; + } + enum "critical" { + value 6; + description + "Critical event"; + } + enum "fatal" { + value 7; + description + "Fatal event"; + } + enum "disaster" { + value 8; + description + "Disaster event"; + } + enum "catastrophic" { + value 9; + description + "Catastrophic event"; + } + } + description + "Call home event severity"; + } + + typedef Snapshot-interval { + type enumeration { + enum "daily" { + value 0; + description + "Daily call-home message"; + } + enum "weekly" { + value 1; + description + "Weekly call-home message"; + } + enum "monthly" { + value 2; + description + "Monthly call-home message"; + } + } + description + "Snapshot interval"; + } + + typedef Call-home-trans-method { + type enumeration { + enum "email" { + value 1; + description + "To add email address to lthis profile"; + } + enum "http" { + value 2; + description + "To add destination address(1-200) characters"; + } + } + description + "Call home trans method"; + } + + typedef Data-privacy-level { + type enumeration { + enum "normal" { + value 0; + description + "Normal"; + } + enum "high" { + value 1; + description + "High"; + } + enum "host-name" { + value 2; + description + "HostName"; + } + } + description + "Data privacy level"; + } + + container call-home { + description + "Set CallHome parameters"; + container mail-servers { + description + "List of call-home mail_server"; + list mail-server { + key "mail-serv-address"; + description + "Email server"; + leaf priority { + type uint32 { + range "1..100"; + } + description + "Mail server with lower # will be used first"; + } + leaf mail-serv-address { + type string; + description + "Email server"; + } + } + } + container syslog-throttling { + description + "Enable or disable call-home syslog message + throttling"; + leaf active { + type boolean; + description + "Active syslog throttling"; + } + } + container http-proxy { + description + "http proxy server address and port"; + leaf server-address { + type string; + description + "http proxy server address"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "http proxy server's port"; + } + } + container profiles { + description + "List of profiles"; + list profile { + key "profile-name"; + description + "A specific profile"; + container report-type { + description + "Choose what data to report"; + container reporting-callhome-data { + description + "Report smart call-home data"; + leaf enable { + type boolean; + description + "Enable report smart call-home data"; + } + } + container reporting-licensing-data { + description + "Report smart licensing data"; + leaf enable { + type boolean; + description + "Enable report smart licensing data"; + } + } + } + container methods { + description + "Transport method (http or email)"; + list method { + key "method"; + description + "Transport method"; + leaf enable { + type boolean; + description + "Enable this transport method"; + } + leaf method { + type Call-home-trans-method; + description + "Transport Method"; + } + } + } + container addresses { + description + "List of destination address"; + list address { + key "method destination-addr"; + description + "A specific address"; + leaf enable { + type boolean; + description + "Set the address"; + } + leaf method { + type Call-home-trans-method; + description + "Transpotation Method"; + } + leaf destination-addr { + type string { + length "1..200"; + } + description + "Destination address (1-200) characters"; + } + } + } + container subscribe-alert-group { + description + "Subscribe to alert-group"; + container environment { + description + "environmental info"; + leaf severity { + type Call-home-event-severity; + description + "Severity"; + } + } + container configuration { + description + "configuration info"; + container periodic { + description + "Periodic call-home message"; + leaf interval { + type Call-home-mail-send-interval; + description + "none"; + } + leaf day { + type uint32 { + range "0..31"; + } + description + "Day"; + } + leaf weekday { + type Call-home-day-of-week; + description + "Day of week"; + } + leaf hour { + type uint32 { + range "0..23"; + } + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59"; + } + description + "Minute"; + } + } + leaf subscribe { + type empty; + description + "Subscribe the alert-group"; + } + } + container snapshot { + description + "snapshot info"; + container periodic { + description + "Periodic call-home message"; + leaf interval { + type Snapshot-interval; + description + "none"; + } + leaf day { + type uint32 { + range "0..31"; + } + description + "Day of month"; + } + leaf weekday { + type Call-home-day-of-week; + description + "Day of week"; + } + leaf hour { + type uint32 { + range "0..23"; + } + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59"; + } + description + "Minute"; + } + } + } + container inventory { + description + "inventory info"; + container periodic { + description + "Periodic call-home message"; + leaf interval { + type Call-home-mail-send-interval; + description + "none"; + } + leaf day { + type uint32 { + range "0..31"; + } + description + "Day of month"; + } + leaf weekday { + type Call-home-day-of-week; + description + "Day of week"; + } + leaf hour { + type uint32 { + range "0..23"; + } + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59"; + } + description + "Minute"; + } + } + leaf subscribe { + type empty; + description + "Subscribe the alert-group"; + } + } + container crash { + description + "Crash info"; + leaf subscribe { + type empty; + description + "Subscribe crash group"; + } + } + container syslogs { + description + "syslog info"; + list syslog { + key "syslog-pattern"; + description + "Syslog message pattern to be matched"; + leaf severity { + type Call-home-event-severity; + description + "Severity"; + } + leaf syslog-pattern { + type string { + length "1..80"; + } + description + "Syslog message pattern to be matched"; + } + } + } + } + leaf message-format { + type string; + description + "none"; + } + leaf anonymous { + type boolean; + description + "Enable call-home anonymous reporting only"; + } + leaf message-size-limit { + type uint32 { + range "50..3145728"; + } + description + "To specify message size limit for this profile"; + } + leaf active { + type empty; + description + "Activate the current profile"; + } + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + } + } + container alert-groups { + description + "List of alert-group"; + list alert-group { + key "alert-group-name"; + description + "A specific alert-group"; + leaf enable { + type boolean; + description + "Enable the alert-group"; + } + leaf disable { + type boolean; + description + "Disable the alert-group"; + } + leaf alert-group-name { + type xr:Cisco-ios-xr-string; + description + "none"; + } + } + } + container data-privacies { + description + "Set call-home data-privacy"; + list data-privacy { + key "host-name"; + description + "level hostname"; + leaf level { + type Data-privacy-level; + description + "Set call-home data-privacy level"; + } + leaf host-name { + type string; + description + "Data privacy type (hostname or level)"; + } + } + } + container alert-group-config { + description + "alert-group config"; + container snapshot-commands { + description + "snapshot for adding CLI command"; + list snapshot-command { + key "command"; + description + "A specific CLI cmd for snapshot"; + leaf active { + type empty; + description + "enable snapshot cmd"; + } + leaf command { + type string { + length "1..127"; + } + description + "new added command"; + } + } + } + } + container authorization { + description + "Config aaa authorization, default username is + callhome"; + leaf username { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Username for authorization. default is callhome"; + } + leaf active { + type empty; + description + "Enable call-home aaa-authorization"; + } + } + leaf customer-id { + type string { + length "1..64"; + } + description + "Customer identification for Cisco Smart Call + Home"; + } + leaf phone-number { + type string { + length "1..17"; + } + description + "Phone number of the contact person."; + } + leaf contact-smart-licensing { + type boolean; + description + "System Contact is Smart Licensing"; + } + leaf contact-email-address { + type string { + length "1..194"; + } + description + "Contact person's email address"; + } + leaf rate-limit { + type uint32 { + range "1..5"; + } + description + "Call-home event trigger rate-limit threshold per + minute."; + } + leaf site-id { + type string { + length "1..200"; + } + description + "Site identification for Cisco Smart Call Home"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Vrf routing/forwarding instance name"; + } + leaf street-address { + type string { + length "1..200"; + } + description + "Street address, city, state, and zip code."; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface name to send call-home messages"; + } + leaf contract-id { + type string { + length "1..64"; + } + description + "Contract identification for Cisco Smart Call + Home"; + } + leaf reply-to { + type string; + description + "Call home msg's reply-to email address"; + } + leaf from { + type string; + description + "Call home msg's from email address"; + } + leaf active { + type empty; + description + "Enable call-home service"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-cfg.yang new file mode 100644 index 000000000..b0dffb2f8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-cfg.yang @@ -0,0 +1,104 @@ +module Cisco-IOS-XR-cdp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cdp-cfg"; + prefix cdp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cdp package configuration. + + This module contains definitions + for the following management objects: + cdp: Global CDP configuration data + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-08-16 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container cdp { + description + "Interface specific CDP configuration"; + leaf enable { + type empty; + description + "Enable or disable CDP on an interface"; + } + } + } + container cdp { + description + "Global CDP configuration data"; + leaf timer { + type uint32 { + range "5..254"; + } + default "60"; + description + "Specify the rate at which CDP packets are sent"; + } + leaf advertise-v1-only { + type empty; + description + "Enable CDPv1 only advertisements"; + } + leaf enable { + type boolean; + default "true"; + description + "Enable or disable CDP globally"; + } + leaf hold-time { + type uint32 { + range "10..255"; + } + default "180"; + description + "Length of time (in sec) that the receiver must + keep a CDP packet"; + } + leaf log-adjacency { + type empty; + description + "Enable logging of adjacency changes"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper-sub1.yang new file mode 100644 index 000000000..4566df0e6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper-sub1.yang @@ -0,0 +1,350 @@ +submodule Cisco-IOS-XR-cdp-oper-sub1 { + belongs-to Cisco-IOS-XR-cdp-oper { + prefix Cisco-IOS-XR-cdp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR cdp package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-01-09 { + description + "Fixing yang usability issues."; + } + revision 2015-07-30 { + description + "Revison descritption string."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Im-state { + type uint32; + description + "Im state"; + } + + typedef Cdp-duplex { + type enumeration { + enum "cdp-dplx-none" { + value 0; + description + "cdp dplx none"; + } + enum "cdp-dplx-half" { + value 1; + description + "cdp dplx half"; + } + enum "cdp-dplx-full" { + value 2; + description + "cdp dplx full"; + } + } + description + "Cdp duplex"; + } + + typedef In6-addr { + type inet:ipv6-address; + description + "In6 addr"; + } + + typedef Cdp-l3-addr-protocol { + type enumeration { + enum "ipv4" { + description + "Address type is v4"; + } + enum "ipv6" { + description + "Address type is v6"; + } + } + description + "Cdp l3 addr protocol"; + } + + grouping CDP-INTERFACE { + description + "Information about an interface that CDP is + running on"; + leaf interface-handle { + type xr:Interface-name; + description + "Interface"; + } + leaf basecaps-state { + type Im-state; + description + "Interface basecaps state"; + } + leaf cdp-protocol-state { + type Im-state; + description + "Interface CDP protocol state"; + } + leaf interface-encaps { + type string; + description + "Interface encapsulation"; + } + } + + grouping CDP-STATS { + description + "CDP statistics"; + leaf received-packets { + type uint32; + description + "CDP packets received"; + } + leaf received-packets-v1 { + type uint32; + description + "version1 CDP packets received"; + } + leaf received-packets-v2 { + type uint32; + description + "version2 CDP packets received"; + } + leaf transmitted-packets { + type uint32; + description + "CDP packets transmitted"; + } + leaf transmitted-packets-v1 { + type uint32; + description + "Version1 CDP packets transmitted"; + } + leaf transmitted-packets-v2 { + type uint32; + description + "Version2 CDP packets transmitted"; + } + leaf header-errors { + type uint32; + description + "Header syntax errors"; + } + leaf checksum-errors { + type uint32; + description + "crc errors in packets"; + } + leaf encapsulation-errors { + type uint32; + description + "Transmission errors"; + } + leaf bad-packet-errors { + type uint32; + description + "Bad packet received and dropped"; + } + leaf out-of-memory-errors { + type uint32; + description + "Out-of-memory conditions"; + } + leaf truncated-packet-errors { + type uint32; + description + "Truncated messages"; + } + leaf header-version-errors { + type uint32; + description + "Can't handle receive version"; + } + leaf open-file-errors { + type uint32; + description + "Cannot open file"; + } + } + + grouping CDP-PROTOCOL-HELLO-ENTRY { + description + "Protocol entry for hello msgexchanged by CDP"; + list cdp-prot-hello-entry { + description + "Next protocol hello entry in list"; + leaf hello-message { + type yang:hex-string; + description + "Protocol Hello msg"; + } + } + } + + grouping CDP-L3-ADDR { + description + "Information on L3 address discovered by CDP"; + leaf address-type { + type Cdp-l3-addr-protocol; + description + "AddressType"; + } + leaf ipv4-address { + when "../address-type = 'ipv4'" { + description + "../AddressType = 'IPv4'"; + } + type inet:ipv4-address; + description + "Address type is v4"; + } + leaf ipv6-address { + when "../address-type = 'ipv6'" { + description + "../AddressType = 'IPv6'"; + } + type In6-addr; + description + "Address type is v6"; + } + } + + grouping CDP-ADDRESS-ENTRY { + description + "List of network addresses discovered by CDP"; + list cdp-addr-entry { + description + "Next address entry in list"; + container address { + description + "Network layer address"; + uses CDP-L3-ADDR; + } + } + } + + grouping CDP-NEIGHBOR-ENTRY-DETAILS { + description + "Detailed neighbor info"; + container network-addresses { + description + "List of network addresses "; + uses CDP-ADDRESS-ENTRY; + } + container protocol-hello-list { + description + "List of protocol hello entries"; + uses CDP-PROTOCOL-HELLO-ENTRY; + } + leaf version { + type string; + description + "Version TLV"; + } + leaf vtp-domain { + type string; + description + "VLAN Trunk Protocol domain"; + } + leaf native-vlan { + type uint32; + description + "Native VLAN"; + } + leaf duplex { + type Cdp-duplex; + description + "Duplex setting"; + } + leaf system-name { + type string; + description + "SysName"; + } + } + + grouping CDP-NEIGHBOR { + description + "Information on neighbor discovered"; + list cdp-neighbor { + description + "Next neighbor in the list"; + container detail { + description + "Detailed neighbor info"; + uses CDP-NEIGHBOR-ENTRY-DETAILS; + } + leaf receiving-interface-name { + type xr:Interface-name; + description + "Interface the neighbor entry was received on "; + } + leaf device-id { + type string; + description + "Device identifier"; + } + leaf port-id { + type string; + description + "Outgoing port identifier"; + } + leaf header-version { + type uint8; + description + "Version number"; + } + leaf hold-time { + type uint16; + description + "Remaining hold time"; + } + leaf capabilities { + type string; + description + "Neighbor Capabilities"; + } + leaf platform { + type string; + description + "Platform type"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper.yang new file mode 100644 index 000000000..51e4dc4b9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cdp-oper.yang @@ -0,0 +1,157 @@ +module Cisco-IOS-XR-cdp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cdp-oper"; + prefix cdp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-cdp-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cdp package operational data. + + This module contains definitions + for the following management objects: + cdp: CDP operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-01-09 { + description + "Fixing yang usability issues."; + } + revision 2015-07-30 { + description + "Revison descritption string."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container cdp { + config false; + description + "CDP operational data"; + container nodes { + description + "Per node CDP operational data"; + list node { + key "node-name"; + description + "The CDP operational data for a particular node"; + container neighbors { + description + "The CDP neighbor tables on this node"; + container details { + description + "The detailed CDP neighbor table"; + list detail { + description + "Detailed information about a neighbor + discovered by CDP"; + leaf interface-name { + type xr:Interface-name; + description + "CDP neighbor interface"; + } + leaf device-id { + type string; + description + "The neighboring device identifier"; + } + uses CDP-NEIGHBOR; + } + } + container devices { + description + "The detailed CDP neighbor table"; + list device { + key "device-id"; + description + "Detailed information about a neighbor + discovered by CDP"; + leaf device-id { + type string; + description + "The neighboring device identifier"; + } + uses CDP-NEIGHBOR; + } + } + container summaries { + description + "The CDP neighbor summary table"; + list summary { + description + "Brief information about a neighbor + discovered by CDP"; + leaf interface-name { + type xr:Interface-name; + description + "CDP neighbor interface"; + } + leaf device-id { + type string; + description + "The neighboring device identifier"; + } + uses CDP-NEIGHBOR; + } + } + } + container statistics { + description + "The CDP traffic statistics for this node"; + uses CDP-STATS; + } + container interfaces { + description + "The table of interfaces on which CDP is + running on this node"; + list interface { + key "interface-name"; + description + "Operational data for an interface on which + CDP is running"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + uses CDP-INTERFACE; + } + } + leaf node-name { + type xr:Node-id; + description + "The identifier for the node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-cfs-check-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-cfs-check-act.yang new file mode 100644 index 000000000..a7d35c84a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-cfs-check-act.yang @@ -0,0 +1,49 @@ +module Cisco-IOS-XR-cfgmgr-cfs-check-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-cfs-check-act"; + prefix cfgmgr-cfs-check-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-10 { + description + "IOS XR initial revision."; + reference + "RFC VVVV: NETCONF Server and RESTCONF Server Operational + Models"; + semver:module-version "1.0.0"; + } + + rpc cfs-check { + description + "Check the configuration file system"; + input { + leaf check { + type empty; + mandatory true; + description + "Check/Fix Configuration File system"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-clear-inconsistency-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-clear-inconsistency-act.yang new file mode 100644 index 000000000..e73833fd1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-clear-inconsistency-act.yang @@ -0,0 +1,49 @@ +module Cisco-IOS-XR-cfgmgr-clear-inconsistency-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-clear-inconsistency-act"; + prefix cfgmgr-clear-inconsistency-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-10 { + description + "IOS XR initial revision."; + reference + "RFC VVVV: NETCONF Server and RESTCONF Server Operational + Models"; + semver:module-version "1.0.0"; + } + + rpc clear-config-inconsistency { + description + "Clear configuration inconsistency"; + input { + leaf inconsistency { + type empty; + mandatory true; + description + "Configuration inconsistencies"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-rollback-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-rollback-act.yang new file mode 100644 index 000000000..eccc42a51 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cfgmgr-rollback-act.yang @@ -0,0 +1,132 @@ +module Cisco-IOS-XR-cfgmgr-rollback-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-rollback-act"; + prefix rollback-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-04-17 { + description + "IOS XR 6.1.1 revision."; + } + + grouping ROLLBACK-ATTRIBUTES { + description + "Rollback Attributes"; + leaf force { + when "../best-effort = 'false'" { + description + "Only when best-effort is false."; + } + type boolean; + default "false"; + description + "Override commit blocks"; + } + leaf best-effort { + when "../force = 'false'" { + description + "Only when force is false."; + } + type boolean; + default "false"; + description + "Rollback via best-effort operation"; + } + leaf label { + type string; + description + "Assign a label to this rollback"; + } + leaf comment { + type string; + description + "Assign a comment to this rollback"; + } + } + + rpc roll-back-configuration-last { + description + "Rollback last commits made"; + input { + leaf count { + type int32 { + range "1..100"; + } + mandatory true; + description + "Number of commits to rollback"; + } + uses ROLLBACK-ATTRIBUTES; + } + } + rpc roll-back-configuration-to { + description + "Rollback up to (and including) a specific commit"; + input { + leaf commit-id { + type string; + mandatory true; + description + "Commit ID"; + } + uses ROLLBACK-ATTRIBUTES; + } + } + rpc roll-back-configuration-to-exclude { + description + "Rollback up to (and excluding) a specific commit"; + input { + leaf commit-id { + type string; + mandatory true; + description + "Commit ID"; + } + uses ROLLBACK-ATTRIBUTES; + } + } + rpc roll-back-configuration { + description + "Rollback a specific commit"; + input { + leaf commit-id { + type string; + mandatory true; + description + "Commit ID"; + } + uses ROLLBACK-ATTRIBUTES; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-clear-counters-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-clear-counters-act.yang new file mode 100644 index 000000000..c473978c7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-clear-counters-act.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XR-clear-counters-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-clear-counters-act"; + prefix clear-counters-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR Controller to clear alarm counters. + + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-02-14 { + description + "IOS XR 6.5.1 revision."; + } + + rpc clear-counters { + description + "Execute clear counters operations"; + input { + leaf controller { + type string; + description + "Controller name in R/S/I/P format"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cli-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cli-cfg.yang new file mode 100644 index 000000000..1a85b33de --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cli-cfg.yang @@ -0,0 +1,48 @@ +module Cisco-IOS-XR-cli-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cli-cfg"; + prefix cli-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR CLI package configuration. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-18 { + description + "Initial draft"; + } + + leaf cli { + type string; + description + "A set of CLI config commands. Content matching is not supported for this node."; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cli-diff-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cli-diff-act.yang new file mode 100644 index 000000000..b79455185 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cli-diff-act.yang @@ -0,0 +1,50 @@ +module Cisco-IOS-XR-cli-diff-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cli-diff-act"; + prefix cli-diff-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR CLI package configuration. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-15 { + description + "Initial draft"; + semver:module-version "1.0.0"; + } + + rpc get-cli-config-diff { + description + "Return CLI config command changeset"; + output { + leaf response { + type string; + description + "The diff output of CLI config being changed"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-cfg.yang new file mode 100644 index 000000000..7adcb88b8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-cfg.yang @@ -0,0 +1,4891 @@ +module Cisco-IOS-XR-clns-isis-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-cfg"; + prefix clns-isis-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-clns-isis-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR clns-isis package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-isis-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + isis: IS-IS configuration for all instances + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-05 { + description + "Fixed connected-px-map yang model problem + 2022-07-28 + Add ISIS UHP support + 2021-09-24 + Add auth-check-disable CLI. + 2021-09-03 + Add IP Flex-algo CLI."; + semver:module-version "4.1.1M"; + } + revision 2021-07-01 { + description + "Add log-format-brief leaf to disable adding additional information to syslog messages."; + semver:module-version "4.1.0"; + } + revision 2021-04-02 { + description + "Add TEMetric configuration. + 2021-02-07 + Deprecate UnlabeledProtection leaf under AF and add it to SegmentRouting + 2020-11-26 + Add mpls traffic-eng tunnel metric config command. + 2020-10-27 + Added a new CLI keyword te under flex-algo metric-type. + 2020-10-25 + change sspf and algorithm prefix sid attributes php, nflag-clear and explicit-null to optional. + 2020-10-20 + Replace ospf-route-type by route-type since it is now used by protocols other than ospf via CSCvu81047. Replace boolean flag with an enum type to accommodate more values via CSCvs18561. + 2020-10-18 + Added mpls traffic-eng tunnel-preferred container. + 2020-09-21 + Added attestation submodes and related commands. + 2020-07-28 + Added a new CLI command receive application flex-algo delay app-only under the router isis menu. + 2020-07-09 + Added two additional leaves to the metric fallback bandwidth container. + 2020-07-02 + Added srv6-locator-level leaf to srv6-locator + 2020-06-30 + Added DownFlagClear option to Redistribution + 2020-04-11 + Added metric callback for bundle interface"; + semver:module-version "4.0.0"; + } + revision 2019-12-21 { + description + "Added flex-algo, explicit leaf for summary prefix Added leaf prefix-metric for flex-algo list Added container prefix-attribute-anycasts"; + semver:module-version "3.0.0"; + } + revision 2019-12-20 { + description + "Added default value for max-metric mode. + 2019-10-31 + Added mandatory nodes and presence containers. + 2019-09-25 + Added configuration options for new features + 2019-05-12 + Deprecated the native model, replaced by UM model."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-15 { + description + "Removed CLI enter-tuple YANG nodes for link-group."; + } + revision 2019-02-18 { + description + "Added affinity include-any include-all configuration items."; + } + revision 2018-11-23 { + description + "Added advertise-definition configuration item."; + } + revision 2018-11-02 { + description + "Added purge-transmit strict configuration item."; + } + revision 2018-10-30 { + description + "Change max metric definition."; + } + revision 2018-09-27 { + description + "Modify the SRv6 container and add a Locator container."; + } + revision 2018-06-15 { + description + "Added flex-algo protection command. IosSetYangSchemaRev Cisco-IOS-XR-clns-isis-cfg"; + } + revision 2018-06-15 { + description + "Added flex-algo microloop command. IosSetYangSchemaRev Cisco-IOS-XR-clns-isis-cfg"; + } + revision 2018-06-14 { + description + "Added FRR InitialDelay under address-family fast-reroute submode."; + } + revision 2018-01-24 { + description + "Added SRLG TILFA related CLIs."; + } + revision 2017-12-15 { + description + "Change metric-style to include transition modes."; + } + revision 2017-11-20 { + description + "Change micro-loop-avoidance enable default to none. Add distribute-list-in and vrf-context."; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-02 { + description + "IOS XR 6.3.2 Removed must statements from key leafs."; + } + revision 2017-05-22 { + description + "IOS XR 6.3.2 revision with schema changes for opencfg support and some string boundary checking."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nflag-clear { + type enumeration { + enum "disable" { + value 0; + description + "Disable N-flag-clear"; + } + enum "enable" { + value 1; + description + "Enable N-flag-clear"; + } + } + description + "Nflag clear"; + } + + typedef Isis-adv-type-inter-level { + type enumeration { + enum "inter-level" { + value 1; + description + "InterLevel"; + } + } + description + "Isis adv type inter level"; + } + + typedef Isis-override-metrics { + type enumeration { + enum "disabled" { + value 0; + description + "Ignore reverse-metric requests"; + } + enum "high" { + value 16777214; + description + "Highest reachable metric"; + } + enum "maximum" { + value 16777215; + description + "Unreachable metric (wide metrics only)"; + } + } + description + "Isis override metrics"; + } + + typedef Isis-enable-poi { + type enumeration { + enum "enable-poi-off" { + value 0; + description + "Disable purge originator"; + } + enum "enable-poi-on" { + value 1; + description + "Enable purge originator"; + } + } + description + "Isis enable poi"; + } + + typedef Isis-interface-state { + type enumeration { + enum "shutdown" { + value 0; + description + "Shutdown"; + } + enum "suppressed" { + value 1; + description + "Suppressed"; + } + enum "passive" { + value 2; + description + "Passive"; + } + enum "enabled-active" { + value 3; + description + "EnabledActive"; + } + } + description + "Isis interface state"; + } + + typedef Isisfrr { + type enumeration { + enum "per-link" { + value 1; + description + "Prefix independent per-link computation"; + } + enum "per-prefix" { + value 2; + description + "Prefix dependent computation"; + } + } + description + "Isisfrr"; + } + + typedef Isisfrr-load-sharing { + type enumeration { + enum "disable" { + value 1; + description + "Disable load sharing of prefixes across + multiple backups"; + } + } + description + "Isisfrr load sharing"; + } + + typedef Isis-authentication-failure-mode { + type enumeration { + enum "drop" { + value 0; + description + "Drop non-authenticating PDUs"; + } + enum "send-only" { + value 1; + description + "Accept non-authenticating PDUs"; + } + } + description + "Isis authentication failure mode"; + } + + typedef Isis-apply-weight { + type enumeration { + enum "ecmp-only" { + value 1; + description + "Apply weight to ECMP prefixes"; + } + enum "ucmp-only" { + value 2; + description + "Apply weight to UCMP prefixes"; + } + enum "ecmp-only-bandwidth" { + value 3; + description + "Apply weight to ECMP prefixes"; + } + } + description + "Isis apply weight"; + } + + typedef Isis-label-preference { + type enumeration { + enum "ldp" { + value 0; + description + "Label Distribution Protocol"; + } + enum "segment-routing" { + value 1; + description + "Segment Routing"; + } + } + description + "Isis label preference"; + } + + typedef Isissid1 { + type enumeration { + enum "index" { + value 1; + description + "SID as an index"; + } + enum "absolute" { + value 2; + description + "SID as an absolute label"; + } + } + description + "Isissid1"; + } + + typedef Isis-advertise-local { + type enumeration { + enum "local" { + value 1; + description + "Local"; + } + enum "domain-wide" { + value 2; + description + "Domain Wide"; + } + } + description + "Isis advertise local"; + } + + typedef Isis-metric { + type enumeration { + enum "internal" { + value 0; + description + "Internal metric"; + } + enum "external" { + value 1; + description + "External metric"; + } + enum "rib-internal" { + value 2; + description + "RIB Internal metric"; + } + enum "rib-external" { + value 3; + description + "RIB External metric"; + } + } + description + "Isis metric"; + } + + typedef Isis-attached-bit { + type enumeration { + enum "area" { + value 0; + description + "Computed from the attached areas"; + } + enum "on" { + value 1; + description + "Forced ON"; + } + enum "off" { + value 2; + description + "Forced OFF"; + } + } + description + "Isis attached bit"; + } + + typedef Isis-configurable-levels { + type enumeration { + enum "level1" { + value 1; + description + "Level1"; + } + enum "level2" { + value 2; + description + "Level2"; + } + enum "level1-and2" { + value 3; + description + "Both Levels"; + } + } + description + "Isis configurable levels"; + } + + typedef Isis-configurable-level { + type enumeration { + enum "level-12" { + value 0; + description + "Both Levels"; + } + enum "level-1" { + value 1; + description + "level 1"; + } + enum "level-2" { + value 2; + description + "level 2"; + } + } + description + "Isis configurable level"; + } + + typedef Isissid { + type uint32 { + range "0..1048575"; + } + description + "Isissid"; + } + + typedef Isis-hello-padding { + type enumeration { + enum "never" { + value 0; + description + "Never pad Hellos"; + } + enum "sometimes" { + value 1; + description + "Pad Hellos during adjacency formation only"; + } + } + description + "Isis hello padding"; + } + + typedef Isis-snp-auth { + type enumeration { + enum "send-only" { + value 0; + description + "Authenticate SNP send only"; + } + enum "full" { + value 1; + description + "Authenticate SNP send and recv"; + } + } + description + "Isis snp auth"; + } + + typedef Isis-interface-af-state { + type enumeration { + enum "disable" { + value 0; + description + "Disable"; + } + } + description + "Isis interface af state"; + } + + typedef Isisexplicit-null-flag { + type enumeration { + enum "disable" { + value 0; + description + "Disable EXPLICITNULL"; + } + enum "enable" { + value 1; + description + "Enable EXPLICITNULL"; + } + } + description + "Isisexplicit null flag"; + } + + typedef Isis-application-attribute { + type enumeration { + enum "srlg" { + value 0; + description + "SRLG Attribute"; + } + } + description + "Isis application attribute"; + } + + typedef Isis-metric-fallback-metric { + type enumeration { + enum "igp" { + value 0; + description + "IGP Metric"; + } + enum "te" { + value 1; + description + "TE Metric"; + } + } + description + "Isis metric fallback metric"; + } + + typedef Isis-eag-mode { + type enumeration { + enum "cisco" { + value 0; + description + "Use the Cisco pre-standard TLV code-point (252)"; + } + enum "ietf" { + value 1; + description + "Use the IETF standard TLV code-point (14)"; + } + enum "both" { + value 2; + description + "Use both the Cisco pre-standard and IETF EAG + subTLV code-points"; + } + } + description + "Isis eag mode"; + } + + typedef Isisfrr-srlg-protection { + type enumeration { + enum "local" { + value 0; + description + "SRLG Attribute"; + } + enum "weighted-global" { + value 1; + description + "SRLG Attribute"; + } + } + description + "Isisfrr srlg protection"; + } + + typedef Isis-redist-proto { + type enumeration { + enum "connected" { + value 0; + description + "Connected"; + } + enum "static" { + value 1; + description + "Static"; + } + enum "ospf" { + value 2; + description + "OSPF"; + } + enum "bgp" { + value 3; + description + "BGP"; + } + enum "isis" { + value 4; + description + "ISIS"; + } + enum "ospfv3" { + value 5; + description + "OSPFv3"; + } + enum "rip" { + value 6; + description + "RIP"; + } + enum "eigrp" { + value 7; + description + "EIGRP"; + } + enum "subscriber" { + value 8; + description + "Subscriber"; + } + enum "application" { + value 9; + description + "Application"; + } + enum "mobile" { + value 10; + description + "Mobile"; + } + } + description + "Isis redist proto"; + } + + typedef Isis-metric-fallback-anomaly-mode { + type enumeration { + enum "delay" { + value 1; + description + "Link Delay Anomaly"; + } + enum "loss" { + value 2; + description + "Link Loss Anomaly"; + } + enum "any" { + value 3; + description + "Any Anomaly"; + } + } + description + "Isis metric fallback anomaly mode"; + } + + typedef Isis-tracing-mode { + type enumeration { + enum "off" { + value 0; + description + "No tracing"; + } + enum "basic" { + value 1; + description + "Basic tracing (less overhead)"; + } + enum "enhanced" { + value 2; + description + "Enhanced tracing (more overhead)"; + } + } + description + "Isis tracing mode"; + } + + typedef Isis-prefix-priority { + type enumeration { + enum "critical-priority" { + value 0; + description + "Critical prefix priority"; + } + enum "high-priority" { + value 1; + description + "High prefix priority"; + } + enum "medium-priority" { + value 2; + description + "Medium prefix priority"; + } + } + description + "Isis prefix priority"; + } + + typedef Isis-unlabeled-protection { + type enumeration { + enum "disable" { + value 0; + description + "Disabled"; + } + enum "prefix-list" { + value 1; + description + "Prefix List"; + } + enum "route-policy" { + value 2; + description + "Route Policy"; + } + } + description + "Isis unlabeled protection"; + } + + typedef Isis-authentication-algorithm { + type enumeration { + enum "cleartext" { + value 1; + description + "Cleartext password"; + } + enum "hmac-md5" { + value 2; + description + "HMAC-MD5 checksum"; + } + enum "keychain" { + value 3; + description + "Key Chain authentication"; + } + } + description + "Isis authentication algorithm"; + } + + typedef Isis-max-metric-mode { + type enumeration { + enum "permanently-set" { + value 1; + description + "Set always"; + } + enum "startup-period" { + value 2; + description + "Set during the startup period"; + } + enum "wait-for-bgp" { + value 3; + description + "Set until BGP comverges"; + } + } + description + "Isis max metric mode"; + } + + typedef Isisispf-state { + type enumeration { + enum "enabled" { + value 1; + description + "Enabled"; + } + } + description + "Isisispf state"; + } + + typedef Isis-application { + type enumeration { + enum "lfa" { + value 0; + description + "LFA Application"; + } + enum "flex-algo" { + value 1; + description + "Flex-Algo Application"; + } + } + description + "Isis application"; + } + + typedef Isissid-protected { + type enumeration { + enum "disable" { + value 0; + description + "Not protected"; + } + enum "enable" { + value 1; + description + "Protected"; + } + } + description + "Isissid protected"; + } + + typedef Isis-adv-type-external { + type enumeration { + enum "external" { + value 1; + description + "External"; + } + } + description + "Isis adv type external"; + } + + typedef Isisphp-flag { + type enumeration { + enum "enable" { + value 0; + description + "Enable PHP"; + } + enum "disable" { + value 1; + description + "Disable PHP"; + } + } + description + "Isisphp flag"; + } + + typedef Isis-metric-style { + type enumeration { + enum "old-metric-style" { + value 0; + description + "ISO 10589 metric style (old-style)"; + } + enum "new-metric-style" { + value 1; + description + "32-bit metric style (new-style)"; + } + enum "both-metric-style" { + value 2; + description + "Both forms of metric style"; + } + enum "old-metric-style-transition" { + value 3; + description + "Send ISO 10589 metric style but accept both"; + } + enum "new-metric-style-transition" { + value 4; + description + "Send 32-bit metric style but accept both"; + } + } + description + "Isis metric style"; + } + + typedef Isis-remote-lfa { + type enumeration { + enum "remote-lfa-none" { + value 0; + description + "No remote LFA option set"; + } + enum "remote-lfa-tunnel-ldp" { + value 1; + description + "Construct remote LFA tunnel using MPLS LDP"; + } + } + description + "Isis remote lfa"; + } + + typedef Isis-micro-loop-avoidance { + type enumeration { + enum "not-set" { + value 0; + description + "No Avoidance type set"; + } + enum "micro-loop-avoidance-all" { + value 1; + description + "Provide mirco loop avoidance for all prefixes"; + } + enum "micro-loop-avoidance-protected" { + value 2; + description + "Provide mirco loop avoidance only for protected + prefixes"; + } + enum "micro-loop-avoidance-segement-routing" { + value 3; + description + "Provide segment-routing mirco loop avoidance"; + } + } + description + "Isis micro loop avoidance"; + } + + typedef Isis-adj-check { + type enumeration { + enum "disabled" { + value 0; + description + "Disabled"; + } + } + description + "Isis adj check"; + } + + typedef Isis-interface-frr-tiebreaker { + type enumeration { + enum "lc-disjoint" { + value 1; + description + "Prefer line card disjoint backup path"; + } + enum "node-protecting" { + value 3; + description + "Prefer node protecting backup path"; + } + enum "srlg-disjoint" { + value 6; + description + "Prefer SRLG disjoint backup path"; + } + } + description + "Isis interface frr tiebreaker"; + } + + typedef Isis-overload-bit-mode { + type enumeration { + enum "permanently-set" { + value 1; + description + "Set always"; + } + enum "startup-period" { + value 2; + description + "Set during the startup period"; + } + enum "wait-for-bgp" { + value 3; + description + "Set until BGP comverges"; + } + } + description + "Isis overload bit mode"; + } + + typedef Isis-no-level { + type enumeration { + enum "not-set" { + value 0; + description + "Level not set"; + } + } + description + "Isis no level"; + } + + typedef Isis-nsf-flavor { + type enumeration { + enum "cisco-proprietary-nsf" { + value 1; + description + "Cisco proprietary NSF"; + } + enum "ietf-standard-nsf" { + value 2; + description + "IETF standard NSF"; + } + } + description + "Isis nsf flavor"; + } + + typedef Isisfrr-tiebreaker { + type enumeration { + enum "downstream" { + value 0; + description + "Prefer backup path via downstream node"; + } + enum "lc-disjoint" { + value 1; + description + "Prefer line card disjoint backup path"; + } + enum "lowest-backup-metric" { + value 2; + description + "Prefer backup path with lowest total metric"; + } + enum "node-protecting" { + value 3; + description + "Prefer node protecting backup path"; + } + enum "primary-path" { + value 4; + description + "Prefer backup path from ECMP set"; + } + enum "secondary-path" { + value 5; + description + "Prefer non-ECMP backup path"; + } + enum "srlg-disjoint" { + value 6; + description + "Prefer SRLG disjoint backup path"; + } + } + description + "Isisfrr tiebreaker"; + } + + typedef Isis-mib-manual-address-drops-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 2; + description + "Enable"; + } + } + description + "Isis mib manual address drops boolean"; + } + + typedef Isis-mib-authentication-type-failure-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 9; + description + "Enable"; + } + } + description + "Isis mib authentication type failure boolean"; + } + + typedef Isis-mib-max-area-address-mismatch-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 6; + description + "Enable"; + } + } + description + "Isis mib max area address mismatch boolean"; + } + + typedef Isis-mib-sequence-number-skip-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 8; + description + "Enable"; + } + } + description + "Isis mib sequence number skip boolean"; + } + + typedef Isis-mib-database-over-flow-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 1; + description + "Enable"; + } + } + description + "Isis mib database over flow boolean"; + } + + typedef Isis-mib-all-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 19; + description + "Enable"; + } + } + description + "Isis mib all boolean"; + } + + typedef Isis-mib-lsp-too-large-to-propagate-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 14; + description + "Enable"; + } + } + description + "Isis mib lsp too large to propagate boolean"; + } + + typedef Isis-mib-own-lsp-purge-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 7; + description + "Enable"; + } + } + description + "Isis mib own lsp purge boolean"; + } + + typedef Isis-mib-adjacency-change-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 17; + description + "Enable"; + } + } + description + "Isis mib adjacency change boolean"; + } + + typedef Isis-mib-protocols-supported-mismatch-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 16; + description + "Enable"; + } + } + description + "Isis mib protocols supported mismatch boolean"; + } + + typedef Isis-mib-attempt-to-exceed-max-sequence-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 4; + description + "Enable"; + } + } + description + "Isis mib attempt to exceed max sequence boolean"; + } + + typedef Isis-mib-id-length-mismatch-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 5; + description + "Enable"; + } + } + description + "Isis mib id length mismatch boolean"; + } + + typedef Isis-mib-originated-lsp-buffer-size-mismatch-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 15; + description + "Enable"; + } + } + description + "Isis mib originated lsp buffer size mismatch + boolean"; + } + + typedef Isis-mib-area-mismatch-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 12; + description + "Enable"; + } + } + description + "Isis mib area mismatch boolean"; + } + + typedef Isis-mib-corrupted-lsp-detected-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 3; + description + "Enable"; + } + } + description + "Isis mib corrupted lsp detected boolean"; + } + + typedef Isis-mib-lsp-error-detected-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 18; + description + "Enable"; + } + } + description + "Isis mib lsp error detected boolean"; + } + + typedef Isis-mib-rejected-adjacency-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 13; + description + "Enable"; + } + } + description + "Isis mib rejected adjacency boolean"; + } + + typedef Isis-mib-version-skew-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 11; + description + "Enable"; + } + } + description + "Isis mib version skew boolean"; + } + + typedef Isis-mib-authentication-failure-boolean { + type enumeration { + enum "false" { + value 0; + description + "Disable"; + } + enum "true" { + value 10; + description + "Enable"; + } + } + description + "Isis mib authentication failure boolean"; + } + + grouping METRIC-TABLE { + description + "Common node of interface-af, af"; + container metrics { + description + "Metric configuration"; + list metric { + key "level"; + description + "Metric configuration. Legal value depends on + the metric-style specified for the topology. If + the metric-style defined is narrow, then only a + value between <1-63> is allowed and if the + metric-style is defined as wide, then a value + between <1-16777215> is allowed as the metric + value. All routers exclude links with the + maximum wide metric (16777215) from their SPF"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf metric { + type union { + type enumeration { + enum "maximum" { + value 16777215; + description + "Maximum wide metric. All routers will + exclude this link from their SPF"; + } + } + type uint32 { + range "1..16777215"; + } + } + mandatory true; + description + "Allowed metric: <1-63> for narrow, + <1-16777215> for wide"; + } + } + } + } + + grouping TE-METRIC-TABLE { + description + "Common node of interface-af, af"; + container te-metrics { + description + "Traffic Engineering metric configuration"; + list te-metric { + key "level"; + description + "TE Metric configuration"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf te-metric { + type union { + type enumeration { + enum "maximum" { + value 16777215; + description + "Maximum wide metric. All routers will + exclude this link from their SPF"; + } + } + type uint32 { + range "1..16777215"; + } + } + mandatory true; + description + "Allowed metric <1-16777215>"; + } + } + } + } + + grouping WEIGHT-TABLE { + description + "Common node of interface-af, af"; + container weights { + description + "Weight configuration"; + list weight { + key "level"; + description + "Weight configuration under interface for load + balancing"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf weight { + type uint32 { + range "1..16777214"; + } + mandatory true; + description + "Weight to be configured under interface for + Load Balancing. Allowed weight: <1-16777215>"; + } + } + } + } + + grouping MANUAL-ADJ-SID-TABLE { + description + "Common node of interface-af, af"; + container manual-adj-sids { + description + "Manual Adjacecy SID configuration"; + list manual-adj-sid { + key "level sid-type sid"; + description + "Assign adjancency SID to an interface"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf sid-type { + type Isissid1; + description + "Sid type aboslute or index"; + } + leaf sid { + type Isissid; + description + "Sid value"; + } + leaf protected { + type Isissid-protected; + mandatory true; + description + "Enable/Disable SID protection"; + } + } + } + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container isis { + presence "Contains mandatory nodes that used to set default values"; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-isis-cfg.yang which will + provide the compatible functionalities. Enable + ISIS-MIB notifications"; + leaf database-overflow { + type Isis-mib-database-over-flow-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf manual-address-drops { + type Isis-mib-manual-address-drops-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf corrupted-lsp-detected { + type Isis-mib-corrupted-lsp-detected-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf attempt-to-exceed-max-sequence { + type Isis-mib-attempt-to-exceed-max-sequence-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf id-length-mismatch { + type Isis-mib-id-length-mismatch-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf max-area-address-mismatch { + type Isis-mib-max-area-address-mismatch-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf own-lsp-purge { + type Isis-mib-own-lsp-purge-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf sequence-number-skip { + type Isis-mib-sequence-number-skip-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf authentication-type-failure { + type Isis-mib-authentication-type-failure-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf authentication-failure { + type Isis-mib-authentication-failure-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf version-skew { + type Isis-mib-version-skew-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf area-mismatch { + type Isis-mib-area-mismatch-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf rejected-adjacency { + type Isis-mib-rejected-adjacency-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf lsp-too-large-to-propagate { + type Isis-mib-lsp-too-large-to-propagate-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf originated-lsp-buffer-size-mismatch { + type Isis-mib-originated-lsp-buffer-size-mismatch-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf protocols-supported-mismatch { + type Isis-mib-protocols-supported-mismatch-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf adjacency-change { + type Isis-mib-adjacency-change-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf lsp-error-detected { + type Isis-mib-lsp-error-detected-boolean; + mandatory true; + description + "Enable or disable"; + } + leaf all { + type Isis-mib-all-boolean; + mandatory true; + description + "Enable all isisMIB notifications"; + } + } + } + container isis { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-isis-cfg.yang which will + provide the compatible functionalities. IS-IS + configuration for all instances"; + container instances { + description + "IS-IS instance configuration"; + list instance { + key "instance-name"; + description + "Configuration for a single IS-IS instance"; + container srgb { + presence "Indicates a srgb node is configured."; + description + "Segment Routing Global Block configuration"; + leaf lower-bound { + type uint32 { + range "16000..1048574"; + } + mandatory true; + description + "The lower bound of the SRGB"; + } + leaf upper-bound { + type uint32 { + range "16001..1048575"; + } + mandatory true; + description + "The upper bound of the SRGB"; + } + } + container attestation-table { + description + "Attestation configuration"; + container attestation-apps { + description + "Attestation Application configuration"; + list attestation-app { + key "application"; + description + "Configuration for Attestation for + application"; + container trust-vector-table { + description + "Trust-Vector configuration"; + leaf boot-integrity-failed { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Configure Boot Integrity Fail Affinity"; + } + leaf failures-found { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Configure Failures Found Affinity"; + } + leaf boot-integrity-passed { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Configure Boot Integrity Pass Affinity"; + } + } + leaf application { + type uint32 { + range "0..1"; + } + description + "Application"; + } + } + } + } + container lsp-generation-intervals { + description + "LSP generation-interval configuration"; + list lsp-generation-interval { + key "level"; + description + "LSP generation scheduling parameters"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf maximum-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Maximum wait before generating local LSP in + milliseconds"; + } + leaf initial-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Initial wait before generating local LSP in + milliseconds"; + } + leaf secondary-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Secondary wait before generating local LSP + in milliseconds"; + } + } + } + container lsp-arrival-times { + description + "LSP arrival time configuration"; + list lsp-arrival-time { + key "level"; + description + "Minimum LSP arrival time"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf maximum-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Maximum delay expected to take since last + LSPin milliseconds"; + } + leaf initial-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Initial delay expected to take since last + LSPin milliseconds"; + } + leaf secondary-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Secondary delay expected to take since last + LSPin milliseconds"; + } + } + } + container trace-buffer-size { + description + "Trace buffer size configuration"; + leaf detailed { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for detailed traces"; + } + leaf standard { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for standard traces"; + } + leaf severe { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for severe trace"; + } + leaf hello { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for hello trace"; + } + leaf lspgen { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for lspgen trace"; + } + leaf adj { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for adjacency trace"; + } + leaf config { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for config trace"; + } + leaf startup { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for startup trace"; + } + leaf rib { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for rib trace"; + } + leaf spf { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for spf trace"; + } + leaf sr { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for segment routing trace"; + } + leaf te { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for traffic-engg trace"; + } + leaf update { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for update trace"; + } + leaf pkt { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for packet trace"; + } + leaf debug { + type uint32 { + range "1..1000000"; + } + description + "Buffer size for debug trace"; + } + } + container max-link-metrics { + description + "Max Metric configuration"; + list max-link-metric { + key "level"; + description + "Max Metric"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf max-metric-mode { + type Isis-max-metric-mode; + default "permanently-set"; + description + "Circumstances under which the max metric is + advertised in the system LSP"; + } + leaf max-metric-period { + when "../max-metric-mode = 'startup-period'" { + description + "../MaxMetricMode = StartupPeriod"; + } + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time in seconds to advertise max link metric + after process startup"; + } + leaf external { + type boolean; + description + "If TRUE, overwrite metric of prefixes + learned from another protocol with max + metric"; + } + leaf interlevel { + type boolean; + description + "If TRUE, overwrite metric of prefixes + learned from another ISIS level with max + metric"; + } + leaf deflt-rt { + type boolean; + description + "If TRUE, overwrite metric of default route + with max metric"; + } + leaf srv6-loc { + type boolean; + description + "If TRUE, overwrite metric of segment routing + IPV6 locator with max metric"; + } + } + } + container adjacency-stagger { + presence "enable adjacency-stagger"; + description + "Stagger ISIS adjacency bring up"; + leaf initial-nbr { + type uint32 { + range "2..65000"; + } + default "2"; + description + "Adjacency Stagger: Initial number of + neighbors to bring up per area"; + } + leaf max-nbr { + type uint32 { + range "2..65000"; + } + default "64"; + description + "Adjacency Stagger: Subsequent simultaneous + number of neighbors to bring up"; + } + } + container afs { + description + "Per-address-family configuration"; + list af { + key "af-name saf-name"; + description + "Configuration for an IS-IS address-family. If + a named (non-default) topology is being + created it must be multicast."; + + grouping AF-CONTENT { + description + "Content grouping."; + container segment-routing { + description + "Enable Segment Routing configuration"; + container srv6 { + description + "SRv6 configuration"; + container srv6-locators { + description + "SRv6 Locator configuration"; + list srv6-locator { + key "locator-name"; + description + "Configuration for a single SRv6 Locator"; + leaf running { + type empty; + description + "The presence of this object enables a + SRv6 Locator. This must be the first + object created under the SRv6Locator + container, and the last one deleted"; + } + leaf srv6-locator-level { + type Isis-configurable-level; + default "level-12"; + description + "The level into which this locator + should be advertised."; + } + leaf locator-name { + type dt1:Isis-locator-name; + description + "Locator Name"; + } + } + } + leaf running { + type empty; + description + "The presence of this object enables SRv6. + This must be the first object created + under the SRV6 container, and the last + one deleted"; + } + } + container connected-prefix-sid-map { + description + "Connected Segment Routing prefix SID map + configuration"; + container connected-prefix-sids { + description + "Connected Segment Routing prefix SID + table"; + list connected-prefix-sid { + key "address-prefix algo"; + description + "Segment Routing prefix SID map"; + leaf address-prefix { + type inet:ip-prefix; + description + "IP address prefix"; + } + leaf algo { + type uint32 { + range "0..255"; + } + description + "Algo"; + } + leaf sid { + type Isissid; + mandatory true; + description + "SID value for the interface"; + } + leaf sid-type { + type Isissid1; + mandatory true; + description + "SID type for the interface"; + } + leaf unused { + type uint32; + description + "unused"; + } + leaf interface { + type string { + length "1..64"; + } + description + "Interface to which prefix belongs"; + } + leaf php { + type Isisphp-flag; + description + "Enable/Disable Penultimate Hop Popping"; + } + leaf explicit-null { + type Isisexplicit-null-flag; + description + "Enable/Disable Explicit-NULL flag"; + } + } + } + } + container prefix-sid-map { + description + "Enable Segment Routing prefix SID map + configuration"; + leaf advertise-local { + type Isis-advertise-local; + description + "Enable Segment Routing prefix SID map + advertise local"; + } + leaf receive { + type boolean; + description + "If TRUE, remote prefix SID map + advertisements will be used. If FALSE, + they will not be used."; + } + } + container unlabeled-protection { + presence "Indicates a unlabeled-protection node is configured."; + description + "SR-MPLS protection for prefixes without a + prefix SID"; + leaf filter-type { + type Isis-unlabeled-protection; + mandatory true; + description + "Type of prefix filtering for unlabeled + protection"; + } + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Prefix list to control unlabeled + protection"; + } + leaf route-policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Route policy to control unlabeled + protection"; + } + } + leaf bundle-member-adj-sid { + type empty; + description + "Enable per bundle member adjacency SID"; + } + leaf labeled-only { + type empty; + description + "Only install SR labeled paths"; + } + leaf mpls { + type Isis-label-preference; + description + "Prefer segment routing labels over LDP + labels"; + } + } + container metric-styles { + description + "Metric-style configuration"; + list metric-style { + key "level"; + description + "Configuration of metric style in LSPs"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf style { + type Isis-metric-style; + mandatory true; + description + "Metric Style"; + } + } + } + container frr-table { + description + "Fast-ReRoute configuration"; + container frr-load-sharings { + description + "Load share prefixes across multiple + backups"; + list frr-load-sharing { + key "level"; + description + "Disable load sharing"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf load-sharing { + type Isisfrr-load-sharing; + mandatory true; + description + "Load sharing"; + } + } + } + container frrsrlg-protection-types { + description + "SRLG protection type configuration"; + list frrsrlg-protection-type { + key "level"; + description + "FRR SRLG Protection Type"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf protection-type { + type Isisfrr-srlg-protection; + mandatory true; + description + "Protection Type"; + } + } + } + container priority-limits { + description + "FRR prefix-limit configuration"; + list priority-limit { + key "level frr-type"; + description + "Limit backup computation upto the prefix + priority"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf frr-type { + type Isisfrr; + description + "Computation Type"; + } + leaf priority { + type Isis-prefix-priority; + mandatory true; + description + "Compute for all prefixes upto the + specified priority"; + } + } + } + container frr-remote-lfa-prefixes { + description + "FRR remote LFA prefix list filter + configuration"; + list frr-remote-lfa-prefix { + key "level"; + description + "Filter remote LFA router IDs using + prefix-list"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "Name of the prefix list"; + } + } + } + container frr-tiebreakers { + description + "FRR tiebreakers configuration"; + list frr-tiebreaker { + key "level tiebreaker"; + description + "Configure tiebreaker for multiple backups"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf tiebreaker { + type Isisfrr-tiebreaker; + description + "Tiebreaker for which configuration + applies"; + } + leaf index { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Preference order among tiebreakers"; + } + } + } + container frr-use-cand-onlies { + description + "FRR use candidate only configuration"; + list frr-use-cand-only { + key "level frr-type"; + description + "Configure use candidate only to exclude + interfaces as backup"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf frr-type { + type Isisfrr; + description + "Computation Type"; + } + } + } + leaf frr-initial-delay { + type uint32 { + range "100..60000"; + } + units "millisecond"; + description + "Delay before running FRR (milliseconds)"; + } + } + container router-id { + description + "Stable IP address for system. Will only be + applied for the unicast sub-address-family."; + leaf address { + type string; + must "not(../interface-name)"; + description + "IPv4/IPv6 address to be used as a router + ID. Precisely one of Address and Interface + must be specified."; + } + leaf interface-name { + type xr:Interface-name; + must "not(../address)"; + description + "Interface with designated stable IP + address to be used as a router ID. This + must be a Loopback interface. Precisely + one of Address and Interface must be + specified."; + } + } + container spf-prefix-priorities { + description + "SPF Prefix Priority configuration"; + list spf-prefix-priority { + key "level prefix-priority-type"; + description + "Determine SPF priority for prefixes"; + leaf level { + type dt1:Isis-internal-level; + description + "SPF Level for prefix prioritization"; + } + leaf prefix-priority-type { + type Isis-prefix-priority; + description + "SPF Priority to assign matching prefixes"; + } + leaf admin-tag { + type uint32 { + range "1..4294967295"; + } + must "not(../access-list-name)"; + description + "Tag value to determine prefixes for this + priority"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + must "not(../admin-tag)"; + description + "Access List to determine prefixes for + this priority"; + } + } + } + container summary-prefixes { + description + "Summary-prefix configuration"; + list summary-prefix { + key "address-prefix"; + description + "Configure IP address prefixes to advertise"; + leaf address-prefix { + type inet:ip-prefix; + description + "IP summary address prefix"; + } + leaf tag { + type uint32 { + range "1..4294967295"; + } + description + "The tag value"; + } + leaf level { + type uint32 { + range "1..2"; + } + description + "Level in which to summarize routes"; + } + leaf flex-algo { + type uint32 { + range "128..255"; + } + description + "Flexible Algorithm number"; + } + leaf explicit { + type empty; + description + "Only consider prefixes from identical + algorithm"; + } + } + } + container micro-loop-avoidance { + description + "Micro Loop Avoidance configuration"; + leaf enable { + type Isis-micro-loop-avoidance; + description + "MicroLoop avoidance enable configuration"; + } + leaf rib-update-delay { + type uint32 { + range "1000..65535"; + } + units "millisecond"; + default "5000"; + description + "Value of delay in msecs in updating RIB"; + } + } + container ucmp { + description + "UCMP (UnEqual Cost MultiPath) configuration"; + container enable { + presence "Contains mandatory nodes that used to set default values"; + description + "UCMP feature enable configuration"; + leaf variance { + type uint32 { + range "101..10000"; + } + mandatory true; + description + "Value of variance"; + } + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Prefix List"; + } + } + container exclude-interfaces { + description + "Interfaces excluded from UCMP path + computation"; + list exclude-interface { + key "interface-name"; + description + "Exclude this interface from UCMP path + computation"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface to be excluded"; + } + } + } + leaf delay-interval { + type uint32 { + range "100..65535"; + } + units "millisecond"; + default "100"; + description + "Delay in msecs between primary SPF and + UCMP computation"; + } + } + container max-redist-prefixes { + description + "Maximum number of redistributed + prefixesconfiguration"; + list max-redist-prefix { + key "level"; + description + "An upper limit on the number of + redistributed prefixes which may be + included in the local system's LSP"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf prefix-limit { + type uint32 { + range "1..28000"; + } + mandatory true; + description + "Max number of prefixes"; + } + } + } + container propagations { + description + "Route propagation configuration"; + list propagation { + key "source-level destination-level"; + description + "Propagate routes between IS-IS levels"; + leaf source-level { + type dt1:Isis-internal-level; + description + "Source level for routes"; + } + leaf destination-level { + type dt1:Isis-internal-level; + description + "Destination level for routes. Must + differ from SourceLevel"; + } + leaf route-policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Route policy limiting routes to be + propagated"; + } + } + } + container redistributions { + description + "Protocol redistribution configuration"; + list redistribution { + must "connected-or-static-or-rip-or-subscriber-or-mobile or ospf-or-ospfv3-or-isis-or-application or bgp or eigrp" { + description + "Connected-or-Static-or-RIP-or-Subscriber-or-Mobile or OSPF-or-OSPFv3-or-ISIS-or-Application or BGP or EIGRP must be present."; + } + key "protocol-name"; + description + "Redistribution of other protocols into + this IS-IS instance"; + + grouping REDISTRIBUTION-CONTENT { + description + "REDISTRIBUTION CONTENT"; + leaf metric { + type uint32 { + range "0..16777215"; + } + description + "Metric for redistributed routes: <0-63> + for narrow, <0-16777215> for wide"; + } + leaf levels { + type Isis-configurable-levels; + description + "Levels to redistribute routes into"; + } + leaf route-policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Route policy to control redistribution."; + } + leaf metric-type { + type Isis-metric; + description + "IS-IS metric type"; + } + leaf route-type { + type uint32; + description + "OSPF and EIGRP: route types to + redistribute."; + } + leaf down-flag-clear { + type uint32; + description + "ISIS: Redistribute with the up/down flag + set to 0."; + } + } + container connected-or-static-or-rip-or-subscriber-or-mobile { + when "../protocol-name = 'connected' or ../protocol-name = 'static' or ../protocol-name = 'rip' or ../protocol-name = 'subscriber' or ../protocol-name = 'mobile'" { + description + "../ProtocolName = Connected or . + ./ProtocolName = Static or . + ./ProtocolName = RIP or ../ProtocolName + = Subscriber or ../ProtocolName = + Mobile"; + } + presence "Indicates that this node is configured."; + description + "connected or static or rip or subscriber + or mobile"; + uses REDISTRIBUTION-CONTENT; + } + leaf protocol-name { + type Isis-redist-proto; + description + "The protocol to be redistributed. OSPFv3 + may not be specified for an IPv4 topology + and OSPF may not be specified for an IPv6 + topology."; + } + list ospf-or-ospfv3-or-isis-or-application { + when "../protocol-name = 'ospf' or ../protocol-name = 'ospfv3' or ../protocol-name = 'isis' or ../protocol-name = 'application'" { + description + "../ProtocolName = OSPF or . + ./ProtocolName = OSPFv3 or . + ./ProtocolName = ISIS or . + ./ProtocolName = Application"; + } + key "instance-name"; + description + "ospf or ospfv3 or isis or application"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Protocol Instance Identifier. Mandatory + for ISIS, OSPF and application, must not + be specified otherwise."; + } + uses REDISTRIBUTION-CONTENT; + } + list bgp { + when "../protocol-name = 'bgp'" { + description + "../ProtocolName = BGP"; + } + key "as-xx as-yy"; + description + "bgp"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "First half of BGP AS number in XX.YY + format. Mandatory if Protocol is BGP + and must not be specified otherwise. + Must be a non-zero value if second half + is zero."; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "Second half of BGP AS number in XX.YY + format. Mandatory if Protocol is BGP and + must not be specified otherwise. Must be + a non-zero value if first half is zero."; + } + uses REDISTRIBUTION-CONTENT; + } + list eigrp { + when "../protocol-name = 'eigrp'" { + description + "../ProtocolName = EIGRP"; + } + key "as-zz"; + description + "eigrp"; + leaf as-zz { + type uint32 { + range "1..65535"; + } + description + "Eigrp as number."; + } + uses REDISTRIBUTION-CONTENT; + } + } + } + container application-tables { + description + "Advertise application specific values"; + list application-table { + key "app-type"; + description + "Application Name"; + leaf app-type { + type Isis-application; + description + "Application Type"; + } + list attribute-table { + key "app-type"; + description + "Attribute Name"; + leaf app-type { + type Isis-application-attribute; + description + "Application Type"; + } + leaf enable { + type boolean; + mandatory true; + description + "If TRUE, advertise application link + attribute in our LSP"; + } + } + } + } + container spf-periodic-intervals { + description + "Peoridic SPF configuration"; + list spf-periodic-interval { + key "level"; + description + "Maximum interval between spf runs"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf periodic-interval { + type uint32 { + range "0..3600"; + } + units "second"; + mandatory true; + description + "Maximum interval in between SPF runs in + seconds"; + } + } + } + container distribute-list-in { + description + "Filter routes sent to the RIB"; + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Prefix list to control routes installed in + RIB."; + } + leaf route-policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Route policy to control routes installed + in RIB."; + } + } + container spf-intervals { + description + "SPF-interval configuration"; + list spf-interval { + key "level"; + description + "Route calculation scheduling parameters"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf maximum-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Maximum wait before running a route + calculation in milliseconds"; + } + leaf initial-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Initial wait before running a route + calculation in milliseconds"; + } + leaf secondary-wait { + type uint32 { + range "0..120000"; + } + units "millisecond"; + description + "Secondary wait before running a route + calculation in milliseconds"; + } + } + } + container monitor-convergence { + description + "Enable convergence monitoring"; + leaf enable { + type empty; + description + "Enable convergence monitoring"; + } + leaf track-ip-frr { + type empty; + description + "Enable the Tracking of IP-Frr Convergence"; + } + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Enable the monitoring of individual + prefixes (prefix list name)"; + } + } + container default-information { + description + "Control origination of a default route with + the option of using a policy. If no policy + is specified the default route is + advertised with zero cost in level 2 only."; + leaf use-policy { + type boolean; + description + "Flag to indicate whether default + origination is controlled using a policy"; + } + leaf policy-name { + when "../use-policy != 'false'" { + description + "../UsePolicy != false"; + } + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Policy name"; + } + leaf external { + type empty; + description + "Flag to indicate that the default prefix + should be originated as an external route"; + } + } + container admin-distances { + description + "Per-route administrative + distanceconfiguration"; + list admin-distance { + key "address-prefix"; + description + "Administrative distance configuration. The + supplied distance is applied to all routes + discovered from the specified source, or + only those that match the supplied prefix + list if this is specified"; + leaf address-prefix { + type inet:ip-prefix; + description + "IP route source prefix"; + } + leaf distance { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Administrative distance"; + } + leaf prefix-list { + type string { + length "1..32"; + } + description + "List of prefixes to which this distance + applies"; + } + } + } + container ispf { + description + "ISPF configuration"; + container states { + description + "ISPF state (enable/disable)"; + list state { + key "level"; + description + "Enable/disable ISPF"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf state { + type Isisispf-state; + mandatory true; + description + "State"; + } + } + } + } + container mpls-ldp-global { + description + "MPLS LDP configuration. MPLS LDP + configuration will only be applied for the + IPv4-unicast address-family."; + leaf auto-config { + type boolean; + description + "If TRUE, LDP will be enabled onall IS-IS + interfaces enabled for this address-family"; + } + } + container mpls { + description + "MPLS Traffic Engineering configuration. + MPLS TE configuration will only be applied + for the IPv4-unicast address-family."; + container router-id { + description + "Traffic Engineering stable IP address for + system"; + leaf address { + type inet:ipv4-address-no-zone; + must "not(../interface-name)"; + description + "IPv4 address to be used as a router ID. + Precisely one of Address and Interface + must be specified."; + } + leaf interface-name { + type xr:Interface-name; + must "not(../address)"; + description + "Interface with designated stable IP + address to be used as a router ID. This + must be a Loopback interface. Precisely + one of Address and Interface must be + specified."; + } + } + container level { + description + "Enable MPLS Traffic Engineering for IS-IS + at the given levels"; + leaf level1 { + type boolean; + description + "Level 1 enabled"; + } + leaf level2 { + type boolean; + description + "Level 2 enabled"; + } + } + container metrics { + description + "FA Tunnel Metric configuration"; + list metric { + key "level"; + description + "FA Tunnel Metric configuration"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf metric { + type uint32 { + range "1..16777215"; + } + mandatory true; + description + "Default FA tunnel metric"; + } + } + } + leaf tunnel-preferred { + type empty; + description + "Prefer TE tunnels over equal-cost physical + paths"; + } + leaf igp-intact { + type empty; + description + "Install TE and non-TE nexthops in the RIB"; + } + leaf multicast-intact { + type empty; + description + "Install non-TE nexthops in the RIB for use + by multicast"; + } + leaf tunnel-prefer-igp-cost { + type empty; + description + "Prefer anycast prefix with lowest IGP cost"; + } + leaf tunnel-restricted { + type empty; + description + "Use only primary TE tunnel for destination + IP address"; + } + } + container unlabeled-protection { + presence "Indicates a unlabeled-protection node is configured."; + status deprecated; + description + "SR-MPLS protection for prefixes without a + prefix SID"; + leaf filter-type { + type Isis-unlabeled-protection; + mandatory true; + description + "Type of prefix filtering for unlabeled + protection"; + } + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Prefix list to control unlabeled + protection"; + } + leaf route-policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Route policy to control unlabeled + protection"; + } + } + leaf maximum-paths { + type uint32 { + range "1..64"; + } + description + "Maximum number of active parallel paths per + route"; + } + leaf topology-id { + type uint32 { + range "6..4095"; + } + description + "Set the topology ID for a named + (non-default) topology. This object must be + set before any other configuration is + supplied for a named (non-default) topology + , and must be the last configuration object + to be removed. This item should not be + supplied for the non-named default + topologies."; + } + leaf single-topology { + type boolean; + description + "Run IPv6 Unicast using the standard (IPv4 + Unicast) topology"; + } + leaf adjacency-check { + type Isis-adj-check; + description + "Suppress check for consistent AF support on + received IIHs"; + } + leaf advertise-link-attributes { + type boolean; + description + "If TRUE, advertise additional link + attributes in our LSP"; + } + leaf apply-weight { + type Isis-apply-weight; + description + "Apply weights to UCMP or ECMP only"; + } + leaf default-admin-distance { + type uint32 { + range "1..255"; + } + default "115"; + description + "Default IS-IS administrative distance + configuration."; + } + leaf advertise-passive-only { + type empty; + description + "If enabled, advertise prefixes of passive + interfaces only"; + } + leaf ignore-attached-bit { + type boolean; + description + "If TRUE, Ignore other routers attached bit"; + } + leaf attached-bit { + type Isis-attached-bit; + default "area"; + description + "Set the attached bit in this router's level + 1 System LSP"; + } + leaf prot-adj-sid-deletion-delay { + type uint32 { + range "30..3600"; + } + description + "Protected adjacency SID deletion delay"; + } + leaf route-source-first-hop { + type boolean; + description + "If TRUE, routes will be installed with the + IP address of the first-hop node as the + source instead of the originating node"; + } + uses MANUAL-ADJ-SID-TABLE; + uses TE-METRIC-TABLE; + uses METRIC-TABLE; + uses WEIGHT-TABLE; + } + container af-data { + presence "Indicates a af-data node is configured."; + description + "Data container."; + uses AF-CONTENT; + } + leaf af-name { + type dt1:Isis-address-family; + description + "Address family"; + } + leaf saf-name { + type dt1:Isis-sub-address-family; + description + "Sub address family"; + } + list topology-name { + key "topology-name"; + description + "keys: topology-name"; + leaf topology-name { + type dt1:Isis-topology-name; + description + "Topology Name"; + } + uses AF-CONTENT; + } + } + } + container lsp-refresh-intervals { + description + "LSP refresh-interval configuration"; + list lsp-refresh-interval { + key "level"; + description + "Interval between re-flooding of unchanged + LSPs"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf interval { + type uint32 { + range "1..65535"; + } + units "second"; + mandatory true; + description + "Seconds"; + } + } + } + container distribute { + presence "enable distribute"; + description + "Distribute link-state configuration"; + leaf dist-inst-id { + type uint32 { + range "32..4294967295"; + } + description + "Instance ID"; + } + leaf level { + type Isis-configurable-levels; + description + "Level"; + } + leaf dist-throttle { + type uint32 { + range "1..20"; + } + units "second"; + description + "Seconds"; + } + } + container flex-algos { + description + "Flex-Algo Table"; + list flex-algo { + key "flex-algo"; + description + "Configuration for an IS-IS Flex-Algo"; + container affinity-include-anies { + description + "Set the include-any affinity"; + leaf-list affinity-include-any { + type string; + max-elements "32"; + description + "Array of Attribute Names"; + } + } + container affinity-exclude-anies { + description + "Set the exclude-any affinity"; + leaf-list affinity-exclude-any { + type string; + max-elements "32"; + description + "Array of Attribute Names"; + } + } + container affinity-include-alls { + description + "Set the include-all affinity"; + leaf-list affinity-include-all { + type string; + max-elements "32"; + description + "Array of Attribute Names"; + } + } + container srlg-exclude-anies { + description + "Set the exclude-any SRLG"; + leaf-list srlg-exclude-any { + type string; + max-elements "32"; + description + "Array of SRLG Names"; + } + } + leaf prefix-metric { + type empty; + description + "Use Flex-algo Prefix Metric"; + } + leaf running { + type empty; + description + "This object must be set before any other + configuration is supplied for an interface, + and must be the last per-interface + configuration object to be removed."; + } + leaf micoloop-avoidance-disable { + type boolean; + description + "If TRUE, FRR protectinn is disabled for the + Flex-Algo."; + } + leaf metric-type { + type uint32 { + range "1..2"; + } + description + "Set the Flex-Algo metric-type"; + } + leaf priority { + type uint32 { + range "0..255"; + } + description + "Set the Flex-Algo priority"; + } + leaf frr-disable { + type boolean; + description + "If TRUE, FRR protectinn is disabled for the + Flex-Algo."; + } + leaf advertise-definition { + type boolean; + description + "If TRUE, Flex-Algo definition is advertised"; + } + leaf flex-algo { + type uint32 { + range "128..255"; + } + description + "Flex Algo"; + } + } + } + container affinity-mappings { + description + "Affinity Mapping Table"; + list affinity-mapping { + key "affinity-name"; + description + "Affinity Mapping configuration"; + leaf affinity-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Affinity Name"; + } + leaf value { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Bit position"; + } + } + } + container lsp-accept-passwords { + description + "LSP/SNP accept password configuration"; + list lsp-accept-password { + key "level"; + description + "LSP/SNP accept passwords. This requires the + existence of an LSPPassword of the same level + ."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf password { + type xr:Proprietary-password; + mandatory true; + description + "Password"; + } + } + } + container lsp-mtus { + description + "LSP MTU configuration"; + list lsp-mtu { + key "level"; + description + "LSP MTU"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf mtu { + type uint32 { + range "128..8979"; + } + units "byte"; + mandatory true; + description + "Bytes"; + } + } + } + container srlg-table { + description + "SRLG configuration"; + container srlg-names { + description + "SRLG named configuration"; + list srlg-name { + key "srlg-name"; + description + "Configuration for an IS-IS SRLG"; + container from-tos { + description + "Configure Static Remote SRLG"; + list from-to { + key "local-ipv4-address remote-ipv4-address"; + description + "Local and remote addresses of a link"; + leaf local-ipv4-address { + type inet:ipv4-address-no-zone; + description + "Local IPv4 address"; + } + leaf remote-ipv4-address { + type inet:ipv4-address-no-zone; + description + "Remote IPv4 address"; + } + } + } + leaf admin-weight { + type uint32 { + range "0..16777215"; + } + description + "Configure SRLG Admin Weight"; + } + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Srlg name"; + } + } + } + leaf srlg-admin-weight-default { + type uint32 { + range "0..16777215"; + } + description + "Configure Default SRLG Admin Weight"; + } + } + container nsf { + description + "IS-IS NSF configuration"; + leaf flavor { + type Isis-nsf-flavor; + description + "NSF not configured if item is deleted"; + } + leaf interface-timer { + type uint32 { + range "1..20"; + } + units "second"; + default "1"; + description + "Per-interface time period to wait for a + restart ACK during an IETF-NSF restart. This + configuration has no effect if IETF-NSF is + not configured"; + } + leaf max-interface-timer-expiry { + type uint32 { + range "1..10"; + } + default "10"; + description + "Maximum number of times an interface timer + may expire during an IETF-NSF restart before + the NSF restart is aborted. This + configuration has no effect if IETF NSF is + not configured."; + } + leaf lifetime { + type uint32 { + range "5..300"; + } + units "second"; + default "90"; + description + "Maximum route lifetime following restart. + When this lifetime expires, old routes will + be purged from the RIB."; + } + } + container link-groups { + description + "Link Group"; + list link-group { + key "link-group-name"; + description + "Configuration for link group name"; + leaf metric-offset { + type uint32 { + range "0..16777215"; + } + description + "Metric for redistributed routes: <0-63> for + narrow, <0-16777215> for wide"; + } + leaf revert-members { + type uint32 { + range "2..64"; + } + default "2"; + description + "Revert Members"; + } + leaf minimum-members { + type uint32 { + range "2..64"; + } + default "2"; + description + "Minimum Members"; + } + leaf link-group-name { + type dt1:Isis-link-group-name; + description + "Link Group Name"; + } + } + } + container lsp-check-intervals { + description + "LSP checksum check interval configuration"; + list lsp-check-interval { + key "level"; + description + "LSP checksum check interval parameters"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf interval { + type uint32 { + range "10..65535"; + } + units "second"; + mandatory true; + description + "LSP checksum check interval time in seconds"; + } + } + } + container lsp-passwords { + description + "LSP/SNP password configuration"; + list lsp-password { + key "level"; + description + "LSP/SNP passwords. This must exist if an + LSPAcceptPassword of the same level exists."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf algorithm { + type Isis-authentication-algorithm; + mandatory true; + description + "Algorithm"; + } + leaf failure-mode { + type Isis-authentication-failure-mode; + mandatory true; + description + "Failure Mode"; + } + leaf authentication-type { + type Isis-snp-auth; + mandatory true; + description + "SNP packet authentication mode"; + } + leaf password { + type xr:Proprietary-password; + mandatory true; + description + "Password or unencrypted Key Chain name"; + } + leaf enable-poi { + type Isis-enable-poi; + description + "Enable POI"; + } + } + } + container nets { + description + "NET configuration"; + list net { + key "net-name"; + description + "Network Entity Title (NET)"; + leaf net-name { + type xr:Osi-net; + description + "Network Entity Title"; + } + } + } + container lsp-lifetimes { + description + "LSP lifetime configuration"; + list lsp-lifetime { + key "level"; + description + "Maximum LSP lifetime"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf lifetime { + type uint32 { + range "1..65535"; + } + units "second"; + mandatory true; + description + "Seconds"; + } + } + } + container overload-bits { + description + "LSP overload-bit configuration"; + list overload-bit { + key "level"; + description + "Set the overload bit in the System LSP so + that other routers avoid this one in SPF + calculations. This may be done either + unconditionally, or on startup until either a + set time has passed or IS-IS is informed that + BGP has converged. This is an Object with a + union discriminated on an integer value of + the ISISOverloadBitModeType."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf overload-bit-mode { + type Isis-overload-bit-mode; + description + "Circumstances under which the overload bit + is set in the system LSP"; + } + leaf hippity-period { + when "../overload-bit-mode = 'startup-period'" { + description + "../OverloadBitMode = StartupPeriod"; + } + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time in seconds to advertise ourself as + overloaded after process startup"; + } + leaf external-adv-type { + type Isis-adv-type-external; + description + "Advertise prefixes from other protocols"; + } + leaf inter-level-adv-type { + type Isis-adv-type-inter-level; + description + "Advertise prefixes across ISIS levels"; + } + } + } + container interfaces { + description + "Per-interface configuration"; + list interface { + key "interface-name"; + description + "Configuration for an IS-IS interface"; + container int-affinity-table { + description + "Interface Affinity Table"; + container flex-algos { + description + "Set the interface affinities used by + Flex-Algo"; + leaf-list flex-algo { + type string; + max-elements "32"; + description + "Array of Attribute Names"; + } + } + } + container lsp-retransmit-throttle-intervals { + description + "LSP-retransmission-throttle-interval + configuration"; + list lsp-retransmit-throttle-interval { + key "level"; + description + "Minimum interval betwen retransissions of + different LSPs"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf interval { + type uint32 { + range "0..65535"; + } + units "millisecond"; + mandatory true; + description + "Milliseconds"; + } + } + } + container lsp-retransmit-intervals { + description + "LSP-retransmission-interval configuration"; + list lsp-retransmit-interval { + key "level"; + description + "Interval between retransmissions of the + same LSP"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf interval { + type uint32 { + range "0..65535"; + } + units "second"; + mandatory true; + description + "Seconds"; + } + } + } + container bfd { + description + "BFD configuration"; + leaf enable-ipv6 { + type boolean; + description + "TRUE to enable BFD. FALSE to disable and to + prevent inheritance from a parent"; + } + leaf enable-ipv4 { + type boolean; + description + "TRUE to enable BFD. FALSE to disable and to + prevent inheritance from a parent"; + } + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by + isis"; + } + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detection multiplier for BFD sessions + created by isis"; + } + } + container priorities { + description + "DIS-election priority configuration"; + list priority { + key "level"; + description + "DIS-election priority"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf priority-value { + type uint32 { + range "0..127"; + } + mandatory true; + description + "Priority"; + } + } + } + container hello-accept-passwords { + description + "IIH accept password configuration"; + list hello-accept-password { + key "level"; + description + "IIH accept passwords. This requires the + existence of a HelloPassword of the same + level."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf password { + type xr:Proprietary-password; + mandatory true; + description + "Password"; + } + } + } + container hello-passwords { + description + "IIH password configuration"; + list hello-password { + key "level"; + description + "IIH passwords. This must exist if a + HelloAcceptPassword of the same level + exists."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf algorithm { + type Isis-authentication-algorithm; + mandatory true; + description + "Algorithm"; + } + leaf failure-mode { + type Isis-authentication-failure-mode; + mandatory true; + description + "Failure Mode"; + } + leaf password { + type xr:Proprietary-password; + mandatory true; + description + "Password or unencrypted Key Chain name"; + } + } + } + container hello-paddings { + description + "Hello-padding configuration"; + list hello-padding { + key "level"; + description + "Pad IIHs to the interface MTU"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf padding-type { + type Isis-hello-padding; + mandatory true; + description + "Hello padding type value"; + } + } + } + container hello-multipliers { + description + "Hello-multiplier configuration"; + list hello-multiplier { + key "level"; + description + "Hello-multiplier configuration. The number + of successive IIHs that may be missed on an + adjacency before it is considered down."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf multiplier { + type uint32 { + range "3..1000"; + } + mandatory true; + description + "Hello multiplier value"; + } + } + } + container lsp-fast-flood-thresholds { + description + "LSP fast flood threshold configuration"; + list lsp-fast-flood-threshold { + key "level"; + description + "Number of LSPs to send back to back on an + interface."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf count { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Count"; + } + } + } + container prefix-attribute-n-flag-clears { + description + "Prefix attribute N flag clear configuration"; + list prefix-attribute-n-flag-clear { + key "level"; + description + "Clear the N flag in prefix attribute flags + sub-TLV"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + } + } + container prefix-attribute-anycasts { + description + "Prefix attribute A flag configuration"; + list prefix-attribute-anycast { + key "level"; + description + "Set the A flag in prefix attribute flags + sub-TLV"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + } + } + container hello-intervals { + description + "Hello-interval configuration"; + list hello-interval { + key "level"; + description + "Hello-interval configuration. The interval + at which IIH packets will be sent. This + will be three times quicker on a LAN + interface which has been electted DIS."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf interval { + type uint32 { + range "1..65535"; + } + units "second"; + mandatory true; + description + "Seconds"; + } + } + } + container delay-normalize { + presence "Indicates a delay-normalize node is configured."; + description + "Normalize Delay"; + leaf interval { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Normalization Interval"; + } + leaf offset { + type uint32 { + range "0..4294967295"; + } + default "0"; + description + "Normalization Offset"; + } + } + container override-metrics { + description + "Override metrics configuration"; + list override-metric { + key "level"; + description + "Override metrics"; + leaf level { + type Isis-no-level; + description + "Level to which configuration applies"; + } + leaf metric { + type Isis-override-metrics; + mandatory true; + description + "Metric"; + } + } + } + container interface-afs { + description + "Per-interface address-family configuration"; + list interface-af { + must "interface-af-data or topology-name" { + description + "interface-af-data or topology-name must be + present."; + } + key "af-name saf-name"; + description + "Configuration for an IS-IS address-family + on a single interface. If a named + (non-default) topology is being created it + must be multicast. Also the topology ID + mustbe set first and delete last in the + router configuration."; + + grouping INTERFACE-AF-CONTENT { + description + "Content grouping."; + container prefix-sid { + presence "Indicates a prefix-sid node is configured."; + description + "Assign prefix SID to an interface, + ISISEXPLICITNULLFlag will override the + value of ISISPHPFlag"; + leaf type { + type Isissid1; + mandatory true; + description + "SID type for the interface"; + } + leaf value { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "SID value for the interface"; + } + leaf php { + type Isisphp-flag; + description + "Enable/Disable Penultimate Hop Popping"; + } + leaf explicit-null { + type Isisexplicit-null-flag; + description + "Enable/Disable Explicit-NULL flag"; + } + leaf nflag-clear { + type Nflag-clear; + description + "Clear N-flag for the prefix-SID"; + } + } + container advertise-prefixes { + description + "advertise prefix configuration"; + list advertise-prefix { + key "level"; + description + "Route-policy for advertised interface + connected routes"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf route-policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Route policy for advertising interface + connected routes"; + } + } + } + container interface-frr-table { + description + "Fast-ReRoute configuration"; + container frrlfa-candidate-interfaces { + description + "FRR LFA candidate configuration"; + list frrlfa-candidate-interface { + key "interface-name frr-type"; + description + "Include an interface to LFA candidate + in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf frr-type { + type Isisfrr; + description + "Computation Type"; + } + leaf level { + type uint32 { + range "0..2"; + } + mandatory true; + description + "Level"; + } + } + } + container frr-remote-lfa-max-metrics { + description + "Remote LFA maxmimum metric"; + list frr-remote-lfa-max-metric { + key "level"; + description + "Configure the maximum metric for + selecting a remote LFA node"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf max-metric { + type uint32 { + range "1..16777215"; + } + mandatory true; + description + "Value of the metric"; + } + } + } + container frr-types { + description + "Type of FRR computation per level"; + list frr-type { + key "level"; + description + "Type of computation for prefixes + reachable via interface"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf type { + type Isisfrr; + mandatory true; + description + "Computation Type"; + } + } + } + container frr-remote-lfa-types { + description + "Remote LFA Enable"; + list frr-remote-lfa-type { + key "level"; + description + "Enable remote lfa for a particular + level"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf type { + type Isis-remote-lfa; + mandatory true; + description + "Remote LFA Type"; + } + } + } + container interface-frr-tiebreaker-defaults { + description + "Interface FRR Default tiebreaker + configuration"; + list interface-frr-tiebreaker-default { + key "level"; + description + "Configure default tiebreaker"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + } + } + container frrtilfa-types { + description + "TI LFA Enable"; + list frrtilfa-type { + key "level"; + description + "Enable TI lfa for a particular level"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + } + } + container frr-exclude-interfaces { + description + "FRR exclusion configuration"; + list frr-exclude-interface { + key "interface-name frr-type"; + description + "Exclude an interface from computation"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf frr-type { + type Isisfrr; + description + "Computation Type"; + } + leaf level { + type uint32 { + range "0..2"; + } + mandatory true; + description + "Level"; + } + } + } + container interface-frr-tiebreakers { + description + "Interface FRR tiebreakers configuration"; + list interface-frr-tiebreaker { + key "level tiebreaker"; + description + "Configure tiebreaker for multiple + backups"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf tiebreaker { + type Isis-interface-frr-tiebreaker; + description + "Tiebreaker for which configuration + applies"; + } + leaf index { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Preference order among tiebreakers"; + } + } + } + } + container metric-fallback-bandwidth { + presence "Indicates a metric-fallback-bandwidth node is configured."; + description + "metric fallback bandwidth configuration"; + leaf multiplier { + type uint32 { + range "2..100000"; + } + mandatory true; + description + "Multiplier"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Threshold"; + } + leaf increment { + type uint32 { + range "0..16777214"; + } + description + "Reserved for future use"; + } + leaf maximum { + type boolean; + description + "Reserved for future use"; + } + } + container mpls-ldp { + description + "MPLS LDP configuration"; + leaf sync-level { + type uint32 { + range "0..2"; + } + default "0"; + description + "Enable MPLS LDP Synchronization for an + IS-IS level"; + } + } + container metric-fallback-anomalies { + description + "metric fallback anomaly configuration"; + list metric-fallback-anomaly { + key "metric-type level"; + description + "metric fallback anomaly configuration"; + leaf metric-type { + type Isis-metric-fallback-metric; + description + "Metric type to which configuration + applies"; + } + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf multiplier { + type uint32 { + range "2..100000"; + } + description + "Multiplier"; + } + leaf type { + type Isis-metric-fallback-anomaly-mode; + mandatory true; + description + "Type"; + } + leaf increment { + type uint32 { + range "1..16777213"; + } + description + "Increment"; + } + leaf maximum { + type boolean; + description + "Maximum"; + } + } + } + container prefix-sspfsid { + presence "Indicates a prefix-sspfsid node is configured."; + description + "Assign prefix SSPF SID to an interface, + ISISEXPLICITNULLFlag will override the + value of ISISPHPFlag"; + leaf type { + type Isissid1; + mandatory true; + description + "SID type for the interface"; + } + leaf value { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "SID value for the interface"; + } + leaf php { + type Isisphp-flag; + description + "Enable/Disable Penultimate Hop Popping"; + } + leaf explicit-null { + type Isisexplicit-null-flag; + description + "Enable/Disable Explicit-NULL flag"; + } + leaf nflag-clear { + type Nflag-clear; + description + "Clear N-flag for the prefix-SID"; + } + } + container algorithm-prefix-sids { + description + "Algorithm SID Table"; + list algorithm-prefix-sid { + key "algo"; + description + "Assign prefix SID for algorithm to an + interface, ISISEXPLICITNULLFlag will + override the value of ISISPHPFlag"; + leaf algo { + type uint32 { + range "128..255"; + } + description + "Algorithm"; + } + leaf type { + type Isissid1; + mandatory true; + description + "SID type for the interface"; + } + leaf value { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "SID value for the interface"; + } + leaf php { + type Isisphp-flag; + description + "Enable/Disable Penultimate Hop Popping"; + } + leaf explicit-null { + type Isisexplicit-null-flag; + description + "Enable/Disable Explicit-NULL flag"; + } + leaf nflag-clear { + type Nflag-clear; + description + "Clear N-flag for the prefix-SID"; + } + } + } + container auto-metrics { + description + "AutoMetric configuration"; + list auto-metric { + key "level"; + description + "AutoMetric Proactive-Protect + configuration. Legal value depends on + the metric-style specified for the + topology. If the metric-style defined is + narrow, then only a value between <1-63> + is allowed and if the metric-style is + defined as wide, then a value between + <1-16777214> is allowed as the + auto-metric value."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf proactive-protect { + type uint32 { + range "1..16777214"; + } + mandatory true; + description + "Allowed auto metric:<1-63> for narrow + ,<1-16777214> for wide"; + } + } + } + container admin-tags { + description + "admin-tag configuration"; + list admin-tag { + key "level"; + description + "Admin tag for advertised interface + connected routes"; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf admin-tag { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Tag to associate with connected routes"; + } + } + } + container interface-link-group { + presence "Indicates a interface-link-group node is configured."; + description + "Provide link group name and level"; + leaf link-group { + type dt1:Isis-link-group-name; + mandatory true; + description + "Link Group"; + } + leaf level { + type uint32 { + range "0..2"; + } + default "0"; + description + "Level in which link group will be + effective"; + } + } + leaf interface-af-state { + type Isis-interface-af-state; + description + "Interface state"; + } + leaf running { + type empty; + description + "The presence of this object allows an + address-family to be run over the + interface in question.This must be the + first object created under the + InterfaceAddressFamily container, and the + last one deleted"; + } + uses MANUAL-ADJ-SID-TABLE; + uses TE-METRIC-TABLE; + uses METRIC-TABLE; + uses WEIGHT-TABLE; + } + container interface-af-data { + description + "Data container."; + uses INTERFACE-AF-CONTENT; + } + leaf af-name { + type dt1:Isis-address-family; + description + "Address family"; + } + leaf saf-name { + type dt1:Isis-sub-address-family; + description + "Sub address family"; + } + list topology-name { + key "topology-name"; + description + "keys: topology-name"; + leaf topology-name { + type dt1:Isis-topology-name; + description + "Topology Name"; + } + uses INTERFACE-AF-CONTENT; + } + } + } + container csnp-intervals { + description + "CSNP-interval configuration"; + list csnp-interval { + key "level"; + description + "CSNP-interval configuration. No fixed + default value as this depends on the media + type of the interface."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf interval { + type uint32 { + range "0..65535"; + } + units "second"; + mandatory true; + description + "Seconds"; + } + } + } + container lsp-intervals { + description + "LSP-interval configuration"; + list lsp-interval { + key "level"; + description + "Interval between transmission of LSPs on + interface."; + leaf level { + type dt1:Isis-internal-level; + description + "Level to which configuration applies"; + } + leaf interval { + type uint32 { + range "1..4294967295"; + } + units "millisecond"; + mandatory true; + description + "Milliseconds"; + } + } + } + leaf running { + type empty; + description + "This object must be set before any other + configuration is supplied for an interface, + and must be the last per-interface + configuration object to be removed."; + } + leaf circuit-type { + type Isis-configurable-levels; + default "level1-and2"; + description + "Configure circuit type for interface"; + } + leaf point-to-point { + type empty; + description + "IS-IS will attempt to form point-to-point + over LAN adjacencies over this interface."; + } + leaf state { + type Isis-interface-state; + description + "Enable/Disable routing"; + } + leaf mesh-group { + type union { + type enumeration { + enum "blocked" { + value 0; + description + "Blocked mesh group. Changed LSPs are not + flooded over blocked interfaces"; + } + } + type uint32 { + range "0..4294967295"; + } + } + description + "Mesh-group configuration"; + } + leaf link-down-fast-detect { + type empty; + description + "Configure high priority detection of + interface down event"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + leaf running { + type empty; + description + "Flag to indicate that instance should be + running. This must be the first object + created when an IS-IS instance is configured, + and the last object deleted when it is + deconfigured. When this object is deleted, + the IS-IS instance will exit."; + } + leaf log-adjacency-changes { + type empty; + description + "Log changes in adjacency state"; + } + leaf ignore-lsp-errors { + type boolean; + description + "If TRUE, LSPs recieved with bad checksums will + result in the purging of that LSP from the LSP + DB. If FALSE or not set, the received LSP will + just be ignored."; + } + leaf is-type { + type Isis-configurable-levels; + default "level1-and2"; + description + "IS type of the IS-IS process"; + } + leaf tracing-mode { + type Isis-tracing-mode; + default "basic"; + description + "Tracing mode configuration"; + } + leaf vrf-context { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF context for ISIS process"; + } + leaf eag-mode { + type Isis-eag-mode; + default "cisco"; + description + "Extended Admin Group configuration"; + } + leaf log-format-brief { + type empty; + description + "Don't add additional information to ISIS + syslog messages"; + } + leaf instance-id { + type uint32 { + range "0..65535"; + } + default "0"; + description + "Instance ID of the IS-IS process"; + } + leaf auth-check-disable { + type boolean; + description + "If TRUE, authenticatin check is disabled for + all ISIS PDUs."; + } + leaf dynamic-host-name { + type boolean; + description + "If TRUE, dynamic hostname resolution is + disabled, and system IDs will always be + displayed by show and debug output."; + } + leaf purge-transmit-strict { + type Isis-configurable-level; + default "level-12"; + description + "Allow only authentication TLV in purge LSPs"; + } + leaf nsr { + type empty; + description + "IS-IS NSR configuration"; + } + leaf receive-application-flex-algo-delay-app { + type empty; + description + "Receive Application Flex Algo Delay App + configuration"; + } + leaf log-pdu-drops { + type empty; + description + "Log PDU drops"; + } + leaf instance-name { + type dt1:Isis-instance-name; + description + "Instance identifier"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-datatypes.yang new file mode 100644 index 000000000..9504fe527 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-datatypes.yang @@ -0,0 +1,200 @@ +module Cisco-IOS-XR-clns-isis-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-datatypes"; + prefix clns-isis-datatypes; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-30 { + description + "add ISISVrfName datatype"; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Isis-address-family { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4"; + } + enum "ipv6" { + value 1; + description + "IPv6"; + } + } + description + "Isis address family"; + } + + typedef Isis-ipv6-prefix-length { + type uint32 { + range "0..128"; + } + description + "Isis ipv6 prefix length"; + } + + typedef Isis-packet-count-direction { + type enumeration { + enum "sending" { + value 1; + description + "Packets sent"; + } + enum "receiving" { + value 2; + description + "Packets received"; + } + } + description + "Isis packet count direction"; + } + + typedef Isis-vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Isis vrf name"; + } + + typedef Isis-ipv4-prefix-length { + type uint32 { + range "0..32"; + } + description + "Isis ipv4 prefix length"; + } + + typedef Isis-locator-name { + type xr:Cisco-ios-xr-string { + length "1..60"; + } + description + "Isis locator name"; + } + + typedef Isis-instance-name { + type xr:Cisco-ios-xr-string { + length "1..36"; + } + description + "Isis instance name"; + } + + typedef Isis-circuit { + type enumeration { + enum "lanlevel1" { + value 1; + description + "Lan level 1"; + } + enum "lanlevel2" { + value 2; + description + "Lan level 2"; + } + enum "p2pcircuit" { + value 3; + description + "point to point"; + } + } + description + "Isis circuit"; + } + + typedef Isis-internal-level { + type enumeration { + enum "not-set" { + value 0; + description + "Level not set"; + } + enum "level1" { + value 1; + description + "Level1"; + } + enum "level2" { + value 2; + description + "Level2"; + } + } + description + "Isis internal level"; + } + + typedef Isis-link-group-name { + type xr:Cisco-ios-xr-string { + length "1..40"; + } + description + "Isis link group name"; + } + + typedef Isis-sub-address-family { + type enumeration { + enum "unicast" { + value 0; + description + "Unicast"; + } + enum "multicast" { + value 1; + description + "Multicast"; + } + } + description + "Isis sub address family"; + } + + typedef Isis-topology-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Isis topology name"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub1.yang new file mode 100644 index 000000000..4bfc1bf9d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub1.yang @@ -0,0 +1,10189 @@ +submodule Cisco-IOS-XR-clns-isis-oper-sub1 { + belongs-to Cisco-IOS-XR-clns-isis-oper { + prefix Cisco-IOS-XR-clns-isis-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR clns-isis package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-28 { + description + "Add ISIS UHP support + 2022-01-30 + add per-area, per topology statistic indexed list. + 2022-01-11 + add show isis neighbor summary statistic info. IosSetYangSchemaRev Cisco-IOS-XR-PRIVATE-ocni-isis-oper + 2021-09-03 + Show output added for IP Flex-algo."; + semver:module-version "4.2.0"; + } + revision 2021-07-07 { + description + "Add timestamp and age to isis local rib routes."; + semver:module-version "4.1.0"; + } + revision 2021-03-13 { + description + "Interface bandwidth changed from uint32_t to uint64_t + 2021-01-04 + Add private adjacency bag + 2020-11-05 + Flex-algo extension for show isis topology. + 2020-10-27 + Add a new type Isis-flex-algo-metric for flex-algo metrics and change the metric-type leaf in ISIS-SH-FLEX-ALGO-AREA to use it. + 2020-10-20 + Change in Yang tool corrected strings repair-s-rv6* to repair-srv6*, end-xsid* to end-x-sid*, and is-s-rv6 to is-srv6. Changed avg-dela-rawy to avg-delay-raw to fix misspelling via CSCvu63930. Changed SRv6 function-type to sid-behavior, uint32_t to mgmt_srv6_sid_fmt, and num-sid to num-sids for consistency and to comply with current IETF ISIS SRv6 draft via CSCvu06764."; + semver:module-version "4.0.0"; + } + revision 2020-05-12 { + description + "Added SRLG and SRLG Static + 2020-03-25 + Added operational data for new features."; + semver:module-version "3.0.0"; + } + revision 2019-09-25 { + description + "Added operational data for new features + 2019-05-14 + Conditional Advertise-prefix support + 2019-05-03 + move ocni-isis opencfg model from native model to private oper model"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-28 { + description + "Upgrade ocni-isis to opencfg model version 0.4.2"; + } + revision 2019-02-23 { + description + "Added is_srv6 flag to ISIS IPv6 route"; + } + revision 2019-02-16 { + description + "Added interface link-group name"; + } + revision 2018-10-15 { + description + "Add SRv6 configured locators"; + } + revision 2018-10-04 { + description + "Update SRv6 locator table"; + } + revision 2018-05-17 { + description + "Update opencfg isis model"; + } + revision 2018-04-07 { + description + "Update SRv6 definitions to draft-filsfils-spring-srv6-network-programming-04"; + } + revision 2018-01-24 { + description + "Added SRLG TILFA operation CLI."; + } + revision 2017-12-06 { + description + "Add segment-routing srv6"; + } + revision 2017-08-08 { + description + "Add openconfig network instance model isis telemetry EDM function support."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Isis-overload-bit-mode { + type enumeration { + enum "isis-overload-bit-unset" { + value 0; + description + "Overload bit not set"; + } + enum "isis-overload-bit-set" { + value 1; + description + "Overload bit permanently set"; + } + enum "isis-overload-bit-on-startup-period" { + value 2; + description + "overload bit is set for a timed period when an + area starts"; + } + enum "isis-overload-bit-on-startup-bgp" { + value 3; + description + "overload bit set until BGP has converged"; + } + } + description + "Isis overload bit mode"; + } + + typedef Isis-max-metric-mode { + type enumeration { + enum "isis-max-metric-unset" { + value 0; + description + "max metric not set"; + } + enum "isis-max-metric-set" { + value 1; + description + "max metric always set"; + } + enum "isis-max-metric-on-startup-period" { + value 2; + description + "max metric is set for a timed period when an + area starts"; + } + enum "isis-max-metric-on-startup-bgp" { + value 3; + description + "max metric set until BGP has converged"; + } + } + description + "Isis max metric mode"; + } + + typedef Isis-uloop-event { + type enumeration { + enum "isis-u-loop-event-none" { + description + "isis u loop event none"; + } + enum "isis-u-loop-event-link-down" { + description + "isis u loop event link down"; + } + enum "isis-u-loop-event-link-up" { + description + "isis u loop event link up"; + } + enum "isis-u-loop-event-ol-bit-set" { + description + "isis u loop event ol bit set"; + } + enum "isis-u-loop-event-ol-bit-unset" { + description + "isis u loop event ol bit unset"; + } + } + description + "Isis uloop event"; + } + + typedef Isis-uloop-avoidance { + type enumeration { + enum "isis-u-loop-avoidance-type-none" { + value 0; + description + "No MicroLoop avoidance"; + } + enum "isis-u-loop-avoidance-type-all" { + value 1; + description + "Apply MicroLoop avoidance for all prefixes"; + } + enum "isis-u-loop-avoidance-type-protected" { + value 2; + description + "Apply MicroLoop avoidance only for protected + prefixes"; + } + enum "isis-u-loop-avoidance-type-sr" { + value 3; + description + "Segment Routing MicroLoop avoidance for All + single-link changes"; + } + } + description + "Isis uloop avoidance"; + } + + typedef Isis-metric-style { + type enumeration { + enum "isis-metric-style-narrow" { + value 0; + description + "old-style (ISO 10589) metrics"; + } + enum "isis-metric-style-wide" { + value 1; + description + "new-style 32-bit metrics"; + } + enum "isis-metric-style-transition" { + value 2; + description + "send/accept both forms of metric"; + } + enum "isis-metric-style-narrow-transition" { + value 3; + description + "send old-style (ISO 10589) metrics but accept + both"; + } + enum "isis-metric-style-wide-transition" { + value 4; + description + "send new-style 32-bit metrics but accept both"; + } + } + description + "Isis metric style"; + } + + typedef Isis-startup-status { + type enumeration { + enum "isis-startup-ssm-active" { + description + "Startup-state-machine controlled restart in + progress"; + } + enum "isis-startup-ssm-complete" { + description + "Startup-state-machine controlled restart + complete"; + } + enum "isis-startup-ssm-aborted" { + description + "Startup-state-machine controlled restart + aborted"; + } + enum "isis-startup-ssm-not-run" { + description + "Startup-state-machine controlled not attempted"; + } + } + description + "Isis startup status"; + } + + typedef Isis-nsf-flavor { + type enumeration { + enum "isis-nsf-protocol-none" { + value 0; + description + "NSF not configured"; + } + enum "isis-nsf-protocol-cisco" { + value 1; + description + "Internal checkpoint NSF"; + } + enum "isis-nsf-protocol-ietf" { + value 2; + description + "IETF-standard NSF"; + } + enum "isis-nsf-protocol-nsr" { + value 3; + description + "Cisco-proprietary NSR"; + } + } + description + "Isis nsf flavor"; + } + + typedef Isis-edm-label-type-enum { + type enumeration { + enum "isis-edm-label-alloc-prefix-sid" { + value 0; + description + "isis edm label alloc prefix sid"; + } + enum "isis-edm-label-alloc-local-sid" { + value 1; + description + "isis edm label alloc local sid"; + } + enum "isis-edm-label-alloc-max" { + value 2; + description + "isis edm label alloc max"; + } + } + description + "isislabeltype"; + } + + typedef Isis-err-log-level { + type enumeration { + enum "isis-err-log-level-info" { + value 0; + description + "isis err log level info"; + } + enum "isis-err-log-level-warn" { + value 1; + description + "isis err log level warn"; + } + enum "isis-err-log-level-critical" { + value 2; + description + "isis err log level critical"; + } + } + description + "Isis err log level"; + } + + typedef Isis-prot-supp { + type uint8; + description + "Isis prot supp"; + } + + typedef Isis-flex-algo-metric { + type enumeration { + enum "isis-flex-metric-igp" { + value 0; + description + "IGP metric"; + } + enum "isis-flex-metric-min-delay" { + value 1; + description + "Minimum link delay"; + } + enum "isis-flex-metric-te" { + value 2; + description + "Traffic Engineering metric"; + } + } + description + "Isis flex algo metric"; + } + + typedef Isis-if-af-prefix-unknown-reason { + type enumeration { + enum "isis-intf-af-prefix-unknown-adv-suppressed" { + description + "isis intf af prefix unknown adv suppressed"; + } + enum "isis-intf-af-prefix-unknown-global-addr-reg-error" { + description + "isis intf af prefix unknown global addr reg + error"; + } + enum "isis-intf-af-prefix-unknown-internal-error" { + description + "isis intf af prefix unknown internal error"; + } + } + description + "Isis if af prefix unknown reason"; + } + + typedef Isis-if-af-fwd-addr-unknown-reason { + type enumeration { + enum "isis-intf-af-fwd-addr-unknown-cfg-passive" { + description + "isis intf af fwd addr unknown cfg passive"; + } + enum "isis-intf-af-fwd-addr-unknown-proto-doesnt-exist" { + description + "isis intf af fwd addr unknown proto doesnt + exist"; + } + enum "isis-intf-af-fwd-addr-unknown-next-hop-reg-error" { + description + "isis intf af fwd addr unknown next hop reg + error"; + } + enum "isis-intf-af-fwd-addr-unknown-no-link-local-add" { + description + "isis intf af fwd addr unknown no link local add"; + } + enum "isis-intf-af-fwd-addr-unknown-af-not-up" { + description + "isis intf af fwd addr unknown af not up"; + } + enum "isis-intf-af-fwd-addr-unknown-vrf-enabled" { + description + "isis intf af fwd addr unknown vrf enabled"; + } + enum "isis-intf-af-fwd-addr-unknown-internal-error" { + description + "isis intf af fwd addr unknown internal error"; + } + } + description + "Isis if af fwd addr unknown reason"; + } + + typedef Isis-if-af-proto-down-reason { + type enumeration { + enum "isis-intf-af-proto-down-imd-conn-fail" { + description + "isis intf af proto down imd conn fail"; + } + enum "isis-intf-af-proto-down-imd-node-doesnt-exist" { + description + "isis intf af proto down imd node doesnt exist"; + } + enum "isis-intf-af-proto-down-imd-exist-reg-error" { + description + "isis intf af proto down imd exist reg error"; + } + enum "isis-intf-af-proto-down-imd-state-reg-error" { + description + "isis intf af proto down imd state reg error"; + } + enum "isis-intf-af-proto-down-af-not-up" { + description + "isis intf af proto down af not up"; + } + enum "isis-intf-af-proto-down-internal-error" { + description + "isis intf af proto down internal error"; + } + } + description + "Isis if af proto down reason"; + } + + typedef Isis-if-af-disabled-reason { + type enumeration { + enum "isis-intf-af-disabled-no-topo-enabled" { + description + "isis intf af disabled no topo enabled"; + } + enum "isis-intf-af-disabled-internal-error" { + description + "isis intf af disabled internal error"; + } + } + description + "Isis if af disabled reason"; + } + + typedef Isis-frr-tiebreaker { + type enumeration { + enum "isis-frr-tiebreaker-down-stream" { + value 0; + description + "Backup path is via downstream node"; + } + enum "isis-frr-tiebreaker-lc-disjoint" { + value 1; + description + "Backup path is line card disjoint"; + } + enum "isis-frr-tiebreaker-low-est-backup-metric" { + value 2; + description + "Backup path has lowest metric"; + } + enum "isis-frr-tiebreaker-node-protecting" { + value 3; + description + "Backup path is node protecting"; + } + enum "isis-frr-tiebreaker-primary-path" { + value 4; + description + "Backup path is ECMP"; + } + enum "isis-frr-tiebreaker-secondary-path" { + value 5; + description + "Backup path is not an ECMP"; + } + enum "isis-frr-tiebreaker-srlg-disjoint" { + value 6; + description + "Backup path is SRLG disjoint"; + } + enum "isis-frr-tiebreaker-default" { + value 7; + description + "Backup path is link protecting"; + } + } + description + "Isis frr tiebreaker"; + } + + typedef Isis-frr { + type enumeration { + enum "isis-frr-type-none" { + value 0; + description + "Computation disabled"; + } + enum "isis-frr-type-per-link" { + value 1; + description + "Prefix independent per-link computation"; + } + enum "isis-frr-type-per-prefix" { + value 2; + description + "Prefix dependent computation"; + } + enum "isis-frr-type-sr-u-loop" { + value 3; + description + "Segment Routing Microloop Avoidance computation"; + } + } + description + "Isis frr"; + } + + typedef Isis-if-topo-adv-prefix-disabled-reason { + type enumeration { + enum "isis-intf-topo-adv-prefix-disabled-intf-suppressed" { + description + "isis intf topo adv prefix disabled intf + suppressed"; + } + enum "isis-intf-topo-adv-prefix-disabled-af-not-up" { + description + "isis intf topo adv prefix disabled af not up"; + } + enum "isis-intf-topo-adv-prefix-disabled-af-prefixes-unknown" { + description + "isis intf topo adv prefix disabled af prefixes + unknown"; + } + enum "isis-intf-topo-adv-prefix-disabled-internal-error" { + description + "isis intf topo adv prefix disabled internal + error"; + } + } + description + "Isis if topo adv prefix disabled reason"; + } + + typedef Isis-if-topo-adj-form-disabled-reason { + type enumeration { + enum "isis-intf-topo-adj-form-disabled-intf-passive" { + description + "isis intf topo adj form disabled intf passive"; + } + enum "isis-intf-topo-adj-form-disabled-af-not-up" { + description + "isis intf topo adj form disabled af not up"; + } + enum "isis-intf-topo-adj-form-disabled-af-fwd-addr-unknown" { + description + "isis intf topo adj form disabled af fwd addr + unknown"; + } + enum "isis-intf-topo-adj-form-disabled-topo-not-cfg" { + description + "isis intf topo adj form disabled topo not cfg"; + } + enum "isis-intf-topo-adj-form-disabled-topo-can-not-participate" { + description + "isis intf topo adj form disabled topo can not + participate"; + } + enum "isis-intf-topo-adj-form-disabled-idle" { + description + "isis intf topo adj form disabled idle"; + } + enum "isis-intf-topo-adj-form-disabled-internal-error" { + description + "isis intf topo adj form disabled internal error"; + } + enum "isis-intf-topo-adj-form-disabled-mtu" { + description + "isis intf topo adj form disabled mtu"; + } + enum "isis-intf-topo-adj-form-disabled-snpa" { + description + "isis intf topo adj form disabled snpa"; + } + enum "isis-intf-topo-adj-form-disabled-mcast" { + description + "isis intf topo adj form disabled mcast"; + } + } + description + "Isis if topo adj form disabled reason"; + } + + typedef Isis-if-topo-disabled-reason { + type enumeration { + enum "isis-intf-topo-disabled-not-cfg" { + description + "isis intf topo disabled not cfg"; + } + enum "isis-intf-topo-disabled-internal-error" { + description + "isis intf topo disabled internal error"; + } + } + description + "Isis if topo disabled reason"; + } + + typedef Isis-circuit-id { + type yang:hex-string; + description + "Isis circuit id"; + } + + typedef Isis-if-mcast-invalid-reason { + type enumeration { + enum "isis-intf-mcast-invalid-join-error" { + description + "Error when attempting to join this multicast + group"; + } + enum "isis-intf-mcast-invalid-internal-error" { + description + "Internal error"; + } + enum "isis-intf-mcast-invalid-not-yet-needed" { + description + "Multicast group membership not yet requested"; + } + } + description + "Isis if mcast invalid reason"; + } + + typedef Isis-if-clns-snpa-unknown-reason { + type enumeration { + enum "isis-intf-clns-snpa-unknown-access-error" { + description + "isis intf clns snpa unknown access error"; + } + enum "isis-intf-clns-snpa-unknown-not-lan" { + description + "isis intf clns snpa unknown not lan"; + } + enum "isis-intf-clns-snpa-unknown-internal-error" { + description + "isis intf clns snpa unknown internal error"; + } + } + description + "Isis if clns snpa unknown reason"; + } + + typedef Isis-known { + type enumeration { + enum "isis-unknown" { + value 0; + description + "Unknown"; + } + enum "isis-known" { + value 1; + description + "Known"; + } + } + description + "Isis known"; + } + + typedef Isis-if-clns-mtu-invalid-reason { + type enumeration { + enum "isis-intf-clns-mtu-invalid-too-small" { + description + "isis intf clns mtu invalid too small"; + } + enum "isis-intf-clns-mtu-invalid-internal-error" { + description + "isis intf clns mtu invalid internal error"; + } + } + description + "Isis if clns mtu invalid reason"; + } + + typedef Isis-if-clns-proto-down-reason { + type enumeration { + enum "isis-intf-clns-proto-down-add-to-intf-stack-fail" { + description + "isis intf clns proto down add to intf stack + fail"; + } + enum "isis-intf-clns-proto-down-no-imd-conn" { + description + "isis intf clns proto down no imd conn"; + } + enum "isis-intf-clns-proto-down-imd-node-doesnt-exist" { + description + "isis intf clns proto down imd node doesnt exist"; + } + enum "isis-intf-clns-proto-down-imd-exist-reg-error" { + description + "isis intf clns proto down imd exist reg error"; + } + enum "isis-intf-clns-proto-down-imd-state-reg-error" { + description + "isis intf clns proto down imd state reg error"; + } + enum "isis-intf-clns-proto-down-clns-not-up" { + description + "isis intf clns proto down clns not up"; + } + } + description + "Isis if clns proto down reason"; + } + + typedef Isis-up { + type enumeration { + enum "isis-down" { + value 0; + description + "Down"; + } + enum "isis-up" { + value 1; + description + "Up"; + } + } + description + "Isis up"; + } + + typedef Isis-extended-circuit-number { + type uint32; + description + "Isis extended circuit number"; + } + + typedef Isis-circuit-number { + type uint8; + description + "Isis circuit number"; + } + + typedef Isis-if-adv-prefix-disabled-reason { + type enumeration { + enum "isis-intf-adv-prefix-disabled-if-cfg-suppressed" { + description + "isis intf adv prefix disabled if cfg suppressed"; + } + enum "isis-intf-adv-prefix-disabled-no-topo-participate" { + description + "isis intf adv prefix disabled no topo + participate"; + } + enum "isis-intf-adv-prefix-disabled-internal-error" { + description + "isis intf adv prefix disabled internal error"; + } + } + description + "Isis if adv prefix disabled reason"; + } + + typedef Isis-if-adj-form-disabled-reason { + type enumeration { + enum "isis-intf-adj-form-disabled-cfg-passive" { + description + "isis intf adj form disabled cfg passive"; + } + enum "isis-intf-adj-form-disabled-no-topo-participate" { + description + "isis intf adj form disabled no topo participate"; + } + enum "isis-intf-adj-form-disabled-add-to-intf-stack-fail" { + description + "isis intf adj form disabled add to intf stack + fail"; + } + enum "isis-intf-adj-form-disabled-clns-io" { + description + "isis intf adj form disabled clns io"; + } + enum "isis-intf-adj-form-disabled-internal-error" { + description + "isis intf adj form disabled internal error"; + } + } + description + "Isis if adj form disabled reason"; + } + + typedef Isis-if-disabled-reason { + type enumeration { + enum "isis-intf-disabled-no-net-cfg" { + description + "isis intf disabled no net cfg"; + } + enum "isis-intf-disabled-area-missing" { + description + "isis intf disabled area missing"; + } + enum "isis-intf-disabled-no-area-running" { + description + "isis intf disabled no area running"; + } + enum "isis-intf-disabled-no-topos-cfg" { + description + "isis intf disabled no topos cfg"; + } + enum "isis-intf-disabled-no-imd-conn" { + description + "isis intf disabled no imd conn"; + } + enum "isis-intf-disabled-imd-reg-error" { + description + "isis intf disabled imd reg error"; + } + enum "isis-intf-disabled-level-mismatch" { + description + "isis intf disabled level mismatch"; + } + enum "isis-intf-disabled-base-caps-error" { + description + "isis intf disabled base caps error"; + } + enum "isis-intf-disabled-intf-doesnt-exist" { + description + "isis intf disabled intf doesnt exist"; + } + enum "isis-intf-disabled-intf-shutdown" { + description + "isis intf disabled intf shutdown"; + } + enum "isis-intf-disabled-internal-error" { + description + "isis intf disabled internal error"; + } + } + description + "Isis if disabled reason"; + } + + typedef Isis-enabled { + type enumeration { + enum "isis-disabled" { + value 0; + description + "Disabled"; + } + enum "isis-enabled" { + value 1; + description + "Enabled"; + } + } + description + "Isis enabled"; + } + + typedef Isis-mesh-group-number { + type uint32; + description + "Isis mesh group number"; + } + + typedef Isis-metric-mode { + type enumeration { + enum "isis-metric-mode-fixed" { + value 0; + description + "Fixed"; + } + enum "isis-metric-mode-relative" { + value 1; + description + "Relative"; + } + enum "isis-metric-mode-absolute" { + value 2; + description + "Absolute"; + } + } + description + "Isis metric mode"; + } + + typedef Isis-spf-trigger { + type enumeration { + enum "isis-spf-trig-config" { + description + "Configuration change"; + } + enum "isis-spf-trig-nsr-fo" { + description + "NSR FO is done"; + } + enum "isis-spf-trig-periodic" { + description + "Periodic SPF"; + } + enum "isis-spf-trig-clear" { + description + "Cleared route table"; + } + enum "isis-spf-trig-null0-intf" { + description + "Null0 intf up"; + } + enum "isis-spf-trig-newadj" { + description + "New adjacency"; + } + enum "isis-spf-trig-deladj" { + description + "Deleted adjacency"; + } + enum "isis-spf-trig-next-hop" { + description + "IP nexthop address change"; + } + enum "isis-spf-trig-metric" { + description + "Changed interface metric"; + } + enum "isis-spf-trig-dis" { + description + "Change to elected DIS"; + } + enum "isis-spf-trig-frr-per-link" { + description + "Change to per-link FRR config"; + } + enum "isis-spf-trig-frr-per-prefix" { + description + "Change to per-prefix FRR config"; + } + enum "isis-spf-trig-ucmp" { + description + "Change to UCMP config/calculation"; + } + enum "isis-spf-trig-bfd-up" { + description + "BFD up for link topology"; + } + enum "isis-spf-trig-bfd-down" { + description + "BFD down for link topology"; + } + enum "isis-spf-trig-new-tunnel" { + description + "New TE Autoroute Tunnel"; + } + enum "isis-spf-trig-del-tunnel" { + description + "Deleted TE Autoroute Tunnel"; + } + enum "isis-spf-trig-chg-tunnel" { + description + "Changed TE Autoroute Tunnel"; + } + enum "isis-spf-trig-new-node" { + description + "New LSP zero which participates in topology"; + } + enum "isis-spf-trig-del-node" { + description + "New LSP zero which no longer participates in + topology"; + } + enum "isis-spf-trig-newlsp" { + description + "Previously unseen LSP fragment"; + } + enum "isis-spf-trig-lsp-expiry" { + description + "LSP expired"; + } + enum "isis-spf-trig-attach-set" { + description + "Attached bit set"; + } + enum "isis-spf-trig-attach-clr" { + description + "Attached bit cleared"; + } + enum "isis-spf-trig-overload-set" { + description + "Overload bit set"; + } + enum "isis-spf-trig-overload-clr" { + description + "Overload bit cleared"; + } + enum "isis-spf-trig-link-good" { + description + "Good news link TLV content change"; + } + enum "isis-spf-trig-link-bad" { + description + "Bad news link TLV content change"; + } + enum "isis-spf-trig-prefix-good" { + description + "Good news prefix TLV content change"; + } + enum "isis-spf-trig-prefix-bad" { + description + "Bad news prefix TLV content change"; + } + enum "isis-spf-trig-prefix" { + description + "Neutral (neither good nor bad news) prefix TLV + content change"; + } + enum "isis-spf-trig-area-addr" { + description + "Area address TLV content change"; + } + enum "isis-spf-trig-ip-addr" { + description + "IP address TLV content change"; + } + enum "isis-spf-trig-rtrid" { + description + "Router id TLV content change"; + } + enum "isis-spf-trig-flex-algo" { + description + "Flex-Algo support change"; + } + enum "isis-spf-trig-srv6-cap" { + description + "SRv6 router capability change"; + } + enum "isis-spf-trig-srv6-locator" { + description + "SRv6 locator TLV change"; + } + enum "isis-spf-trig-prefix-policy" { + description + "Prefix policy change"; + } + } + description + "Isis spf trigger"; + } + + typedef Isis-spf-class { + type enumeration { + enum "isis-spf-frr-sr-u-loop" { + value 0; + description + "Remote microloop avoidance SPF"; + } + enum "isis-spf-frr-per-link" { + value 1; + description + "FRR per-link SPF"; + } + enum "isis-spf-partial" { + value 2; + description + "PRC"; + } + enum "isis-spf-frr-per-prefix" { + value 3; + description + "FRR per-prefix SPF"; + } + enum "isis-spf-ucmp-calc" { + value 4; + description + "UCMP SPF"; + } + enum "isis-spf-flex" { + value 5; + description + "Flex-Algo SPF"; + } + enum "isis-spf-next-hop" { + value 6; + description + "Next Hop"; + } + enum "isis-spf-incremental" { + value 7; + description + "Incremental SPF"; + } + enum "isis-spf-full" { + value 8; + description + "Full SPF"; + } + } + description + "Types of route calculation"; + } + + typedef Isis-sh-te-pce-flooding-scope { + type enumeration { + enum "none" { + description + "Flooding is disabled"; + } + enum "area" { + description + "Area wide flooding"; + } + enum "domain" { + description + "Domain wide flooding"; + } + } + description + "Isis sh te pce flooding scope"; + } + + typedef Isis-sh-te-link { + type enumeration { + enum "isis-sh-te-link-p2p" { + description + "Tunnel is absolute"; + } + enum "isis-sh-te-link-broadcast" { + description + "Broadcast link"; + } + } + description + "Isis sh te link"; + } + + typedef Isis-reachable { + type enumeration { + enum "isis-unreachable" { + value 0; + description + "Unreachable"; + } + enum "isis-reachable" { + value 1; + description + "Reachable"; + } + } + description + "Isis reachable"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Mgmt-srv6-sid-fmt { + type enumeration { + enum "none" { + description + "No format"; + } + enum "base" { + description + "Base Format"; + } + enum "f3216" { + description + "Micro-segment F3216 Format"; + } + } + description + "SRv6 SID Format Type"; + } + + typedef Isis-sh-route-adv-origin { + type enumeration { + enum "isis-sh-route-adv-origin-interface" { + description + "IS-IS interface prefix"; + } + enum "isis-sh-route-adv-origin-redistributed" { + description + "Redistributed prefix"; + } + enum "isis-sh-route-adv-origin-native" { + description + "Native prefix"; + } + enum "isis-sh-route-adv-origin-summary" { + description + "Summary prefix"; + } + enum "isis-sh-route-adv-origin-default" { + description + "Explicit origination of default prefix"; + } + } + description + "Origin of a prefix advertisement"; + } + + typedef Isis-local-label-state { + type enumeration { + enum "isis-srmpls-label-none" { + description + "No label requested from LSD"; + } + enum "isis-srmpls-label-unavailable" { + description + "Label assignment failed"; + } + enum "isis-srmpls-label-request-ed" { + description + "Request to LSD pending"; + } + enum "isis-srmpls-label-assigned" { + description + "Label assigned by LSD"; + } + } + description + "Isis local label state"; + } + + typedef Isis-prefix-priority { + type enumeration { + enum "isis-prefix-priority-critical" { + value 0; + description + "Critical priority prefixes"; + } + enum "isis-prefix-priority-high" { + value 1; + description + "High priority prefixes"; + } + enum "isis-prefix-priority-med" { + value 2; + description + "Medium priority prefixes"; + } + enum "isis-prefix-priority-low" { + value 3; + description + "Low priority prefixes"; + } + } + description + "Isis prefix priority"; + } + + typedef Isis-tilfa-computation { + type enumeration { + enum "isis-tilfa-comp-none" { + description + "isis tilfa comp none"; + } + enum "isis-tilfa-comp-link" { + description + "isis tilfa comp link"; + } + enum "isis-tilfa-comp-node" { + description + "isis tilfa comp node"; + } + enum "isis-tilfa-comp-srlg" { + description + "isis tilfa comp srlg"; + } + enum "isis-tilfa-comp-node-srlg" { + description + "isis tilfa comp node srlg"; + } + enum "isis-tilfa-comp-lc" { + description + "isis tilfa comp lc"; + } + enum "isis-tilfa-comp-node-lc" { + description + "isis tilfa comp node lc"; + } + enum "isis-tilfa-comp-srlg-lc" { + description + "isis tilfa comp srlg lc"; + } + enum "isis-tilfa-comp-node-srlg-lc" { + description + "isis tilfa comp node srlg lc"; + } + } + description + "Isis tilfa computation"; + } + + typedef Isis-prefix-tag { + type uint32; + description + "Isis prefix tag"; + } + + typedef Isis-metric { + type uint32; + description + "Isis metric"; + } + + typedef Isis-prefix-origin { + type enumeration { + enum "isis-prefix-origin-l1-summary-null" { + value 0; + description + "Level 1 Summary Null Route"; + } + enum "isis-prefix-origin-l1" { + value 1; + description + "Level 1 Route"; + } + enum "isis-prefix-origin-l2-summary-null" { + value 2; + description + "Level 2 Summary Null Route"; + } + enum "isis-prefix-origin-l2" { + value 3; + description + "Level 2 Route"; + } + enum "isis-prefix-origin-inter-area-summary-null" { + value 4; + description + "Level 1 Interarea Summary Null Route"; + } + enum "isis-prefix-origin-inter-area" { + value 5; + description + "Level 1 Interarea Route"; + } + enum "isis-prefix-origin-default-nearest-attached" { + value 6; + description + "Nearest Attached Default Route"; + } + enum "isis-prefix-origin-invalid" { + value 7; + description + "Invalid Origin"; + } + } + description + "Isis prefix origin"; + } + + typedef Isis-string { + type string; + description + "Isis string"; + } + + typedef Isis-redist-proto { + type enumeration { + enum "isis-redist-connected" { + value 0; + description + "Redistributed protocol is Connected"; + } + enum "isis-redist-static" { + value 1; + description + "Redistributed protocol is Static"; + } + enum "isis-redist-ospf" { + value 2; + description + "Redistributed protocol is OSPF"; + } + enum "isis-redist-bgp" { + value 3; + description + "Redistributed protocol is BGP"; + } + enum "isis-redist-isis" { + value 4; + description + "Redistributed protocol is IS-IS"; + } + enum "isis-redist-ospfv3" { + value 5; + description + "Redistributed protocol is OSPFv3"; + } + enum "isis-redist-rip" { + value 6; + description + "Redistributed protocol is RIP"; + } + enum "isis-redist-eigrp" { + value 7; + description + "Redistributed protocol is EIGRP"; + } + enum "isis-redist-subscriber" { + value 8; + description + "Redistributed protocol is Subscriber"; + } + enum "isis-redist-application" { + value 9; + description + "Redistributed protocol is Application"; + } + enum "isis-redist-mobile" { + value 10; + description + "Redistributed protocol is Mobile"; + } + } + description + "Isis redist proto"; + } + + typedef Isis-sh-interface-name { + type string; + description + "Isis sh interface name"; + } + + typedef Isis-valid { + type enumeration { + enum "isis-invalid" { + value 0; + description + "Invalid"; + } + enum "isis-valid" { + value 1; + description + "Valid"; + } + } + description + "Isis valid"; + } + + typedef Isis-lsp-db-op { + type enumeration { + enum "isis-lsp-db-clear" { + description + "Clear the LSP database"; + } + enum "isis-lsp-db-insert-new-lsp" { + description + "Insertion of new LSP"; + } + enum "isis-lsp-db-replace-lsp-with-lsp" { + description + "LSP replacing LSP"; + } + enum "isis-lsp-db-purge-lsp" { + description + "LSP purged by the local system"; + } + enum "isis-lsp-db-delete-lsp" { + description + "Removal of the LSP from the database"; + } + } + description + "Isis lsp db op"; + } + + typedef Isis-pseudo-node-number { + type uint8; + description + "Isis pseudo node number"; + } + + typedef Isis-lsp-trigger { + type enumeration { + enum "isis-lsp-trig-config" { + description + "Any configuration change"; + } + enum "isis-lsp-trig-newadj" { + description + "New adjacency came up"; + } + enum "isis-lsp-trig-deladj" { + description + "Adjacency went down"; + } + enum "isis-lsp-trig-dr-change" { + description + "DIS changed, or pseudonode changed"; + } + enum "isis-lsp-trig-area-set" { + description + "Active area set changed"; + } + enum "isis-lsp-trig-attach" { + description + "Attached bit changed state"; + } + enum "isis-lsp-trig-hippity" { + description + "LSPDB overload bit changed state"; + } + enum "isis-lsp-trig-regen" { + description + "LSP regeneration"; + } + enum "isis-lsp-trig-ip-if-up" { + description + "Directly connected IP prefix up"; + } + enum "isis-lsp-trig-ip-if-down" { + description + "Directly connected IP prefix down"; + } + enum "isis-lsp-trig-ip-inter-area" { + description + "Interarea IP route appeared or gone"; + } + enum "isis-lsp-trig-ip-external" { + description + "Redistributed IP route appeared or gone"; + } + enum "isis-lsp-trig-ip-external-full" { + description + "Full IP redistribution"; + } + enum "isis-lsp-trig-ip-def-orig" { + description + "Default information originate changed"; + } + enum "isis-lsp-trig-ip-addr-chg" { + description + "IP interface address changed"; + } + enum "isis-lsp-trig-te-info" { + description + "TE bandwidth resource information"; + } + enum "isis-lsp-trig-te-pce-info" { + description + "TE PCE information"; + } + enum "isis-lsp-trig-te-fa-info" { + description + "TE forwarding adjacency information"; + } + enum "isis-lsp-trig-nsr-fo" { + description + "NSR FO is done"; + } + enum "isis-lsp-trig-pn-cancel" { + description + "Pseudo-node generation canceled"; + } + enum "isis-lsp-trig-lkgp" { + description + "Link-group offset metric change"; + } + enum "isis-lsp-trig-pp" { + description + "Proactive Protection metric change"; + } + enum "isis-lsp-trig-config-force-send" { + description + "Any configuration change that requires all LSPs + to be updated"; + } + enum "isis-lsp-trig-config-force-init" { + description + "Any configuration change that requires the LBD + database re-init."; + } + enum "isis-lsp-trig-adj-sid-add" { + description + "Adjacency SID added"; + } + enum "isis-lsp-trig-adj-sid-delete" { + description + "Adjacency SID deleted"; + } + enum "isis-lsp-trig-adj-sid-change" { + description + "Adjacency SIDs added and/or deleted"; + } + enum "isis-lsp-trig-msd" { + description + "Maximum SID depth change"; + } + enum "isis-lsp-trig-adj-sid-wait-timer" { + description + "Adjacency SID wait timer expired"; + } + enum "isis-lsp-trig-direct-gen" { + description + "Direct LSP generation"; + } + enum "isis-lsp-trig-flex-algo-enable-disable" { + description + "Flex-Algo Enable/Disable"; + } + enum "isis-lsp-trig-reverse-metric" { + description + "Reverse metric"; + } + enum "isis-lsp-trig-metric-fallback" { + description + "Metric Fallback"; + } + enum "isis-lsp-trig-pm-delay-loss" { + description + "Link delay/loss changed"; + } + enum "isis-lsp-trig-pm-bw-util" { + description + "Link bandwidth utilization changed"; + } + enum "isis-lsp-trig-cs-update" { + description + "Canary Stamp data changed"; + } + enum "isis-lsp-trig-bfd-chg" { + description + "BFD useability change"; + } + enum "isis-lsp-trig-bfd-up" { + description + "BFD session up event"; + } + enum "isis-lsp-trig-bfd-down" { + description + "BFD session down event"; + } + } + description + "Isis lsp trigger"; + } + + typedef Isis-adj-topo-status { + type enumeration { + enum "isis-adj-topo-status-ok" { + description + "Topology is included in adjacency"; + } + enum "isis-adj-topo-status-intf-not-configured" { + description + "Topology is not configured on the interface"; + } + enum "isis-adj-topo-status-intf-not-running" { + description + "Topology is not running on the interface"; + } + enum "isis-adj-topo-status-init-state" { + description + "Adjacency is in INIT state"; + } + enum "isis-adj-topo-status-neighbor-doesnt-participate" { + description + "Neighbor doesn't participate in topology"; + } + enum "isis-adj-topo-status-ipv4-address-tlv-missing" { + description + "Neighbor IIH doesn't contain IPv4 address TLV"; + } + enum "isis-adj-topo-status-ipv4-address-tlv-empty" { + description + "Neighbor's IPv4 address TLV is empty"; + } + enum "isis-adj-topo-status-ipv6-address-tlv-missing" { + description + "Neighbor IIH doesn't contain IPv6 address TLV"; + } + enum "isis-adj-topo-status-ipv6-address-tlv-empty" { + description + "Neighbor's IPv6 address TLV is empty"; + } + enum "isis-adj-topo-status-ipv4-address-matches-ours" { + description + "Neighbor's IPv4 address matches ours"; + } + enum "isis-adj-topo-status-ipv6-address-matches-ours" { + description + "Neighbor's IPv6 address matches ours"; + } + enum "isis-adj-topo-status-ipv4-address-subnet-mismatch" { + description + "Neighbor's IPv4 address is in a different + subnet to ours"; + } + enum "isis-adj-topo-status-ipv6-address-not-link-local" { + description + "Neighbor's IPv6 address is not link local"; + } + enum "isis-adj-topo-status-bfd-down" { + description + "BFD is down"; + } + } + description + "Status of a topology in an adjacency"; + } + + typedef Isis-dr-priority { + type uint8; + description + "Isis dr priority"; + } + + typedef Isis-adj-bfd-state { + type enumeration { + enum "isis-adj-bfd-no-state" { + value 0; + description + "No BFD session created"; + } + enum "isis-adj-bfd-down-state" { + value 1; + description + "BFD session is DOWN"; + } + enum "isis-adj-bfd-init-state" { + value 2; + description + "Waiting for BFD session to come UP"; + } + enum "isis-adj-bfd-up-state" { + value 3; + description + "BFD session is UP"; + } + } + description + "Current BFD state of an adjacency"; + } + + typedef Isis-adj-topo-change { + type enumeration { + enum "isis-adj-topo-up-change" { + value 0; + description + "Topology up"; + } + enum "isis-adj-topo-next-hop-change" { + value 1; + description + "Topology next-hop changed"; + } + enum "isis-adj-topo-down-change" { + value 2; + description + "Topology down"; + } + } + description + "Per-topology change type for an adjacency"; + } + + typedef Isis-adj-state-reason { + type enumeration { + enum "isis-adj-up-nsf-restart" { + value 0; + description + "NSF Restart"; + } + enum "isis-adj-up-new-adj" { + value 1; + description + "New adjacency"; + } + enum "isis-adj-up-restarted" { + value 2; + description + "Restarted"; + } + enum "isis-adj-up-nsf-restored" { + value 3; + description + "Restored during NSF"; + } + enum "isis-adj-up-chkpt-restored" { + value 4; + description + "Restored from checkpoint"; + } + enum "isis-adj-init-reason" { + value 5; + description + "Into INIT"; + } + enum "isis-adj-init-neighbor-forgot" { + value 6; + description + "Neighbor forgot us"; + } + enum "isis-adj-down-hold-time" { + value 7; + description + "Holdtime expired"; + } + enum "isis-adj-down-if-down" { + value 8; + description + "Interface state going down"; + } + enum "isis-adj-down-cfg-mismatch" { + value 9; + description + "Area address/level mismatch"; + } + enum "isis-adj-down-circ-id" { + value 10; + description + "Circuit ID changed"; + } + enum "isis-adj-down-nsf-ack-fail" { + value 11; + description + "NSF could not CSNP Ack P2P adjacency"; + } + enum "isis-adj-down-db-clear" { + value 12; + description + "Clear of the Adjacency DB"; + } + enum "isis-adj-down-no-common-topology" { + value 13; + description + "Neighbors have no common link topology"; + } + enum "isis-adj-down-restart-tlv-missing" { + value 14; + description + "Restart TLV missing during IETF NSF restart"; + } + enum "isis-adj-down-bfd-down" { + value 15; + description + "BFD session has gone DOWN"; + } + enum "isis-adj-down-3way-down" { + value 16; + description + "3-way state down"; + } + enum "isis-adj-down-mac-address" { + value 17; + description + "MAC address change"; + } + } + description + "Isis adj state reason"; + } + + typedef Isis-level { + type enumeration { + enum "isis-level0" { + value 0; + description + "isis level0"; + } + enum "isis-level1" { + value 1; + description + "isis level1"; + } + enum "isis-level2" { + value 2; + description + "isis level2"; + } + } + description + "Isis level"; + } + + typedef Isis-srv6-endpoint-func { + type uint16; + description + "Isis srv6 endpoint func"; + } + + typedef Isis-ip-prefix-length { + type uint8; + description + "Isis ip prefix length"; + } + + typedef Isis-ipv6-address { + type inet:ipv6-address; + description + "Isis ipv6 address"; + } + + typedef Isis-nodal-sid-value { + type uint32; + description + "Isis nodal sid value"; + } + + typedef Isis-ipv4-address { + type inet:ipv4-address; + description + "Isis ipv4 address"; + } + + typedef Isis-sub-af-id { + type enumeration { + enum "unicast" { + value 0; + description + "Unicast"; + } + enum "multicast" { + value 1; + description + "Multicast"; + } + } + description + "Isis sub af id"; + } + + typedef Isis-af-id { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4"; + } + enum "ipv6" { + value 1; + description + "IPv6"; + } + } + description + "Isis af id"; + } + + typedef Isis-media-class { + type enumeration { + enum "isis-media-class-lan" { + value 0; + description + "LAN"; + } + enum "isis-media-class-p2p" { + value 1; + description + "P2P"; + } + enum "isis-media-class-loop-back" { + value 2; + description + "Loopback"; + } + } + description + "Isis media class"; + } + + typedef Isis-levels { + type enumeration { + enum "isis-levels-none" { + value 0; + description + "isis levels none"; + } + enum "isis-levels-1" { + value 1; + description + "isis levels 1"; + } + enum "isis-levels-2" { + value 2; + description + "isis levels 2"; + } + enum "isis-levels-12" { + value 3; + description + "isis levels 12"; + } + enum "isis-levels-total" { + value 4; + description + "isis levels total"; + } + } + description + "Isis levels"; + } + + typedef Isis-adj-state { + type enumeration { + enum "isis-adj-up-state" { + value 0; + description + "Adjacency up"; + } + enum "isis-adj-init-state" { + value 1; + description + "Adjacency initializing"; + } + enum "isis-adj-failed-state" { + value 2; + description + "Adjacency down/failed"; + } + } + description + "Isis adj state"; + } + + grouping ISIS-SH-CHKPT-TE-TUNNEL { + description + "Checkpointed TE tunnel"; + leaf checkpoint-te-level { + type Isis-level; + description + "TE database level"; + } + leaf checkpoint-te-system-id { + type xr:Osi-system-id; + description + "Destination system ID"; + } + leaf checkpoint-te-interface { + type xr:Interface-name; + description + "Tunnel interface"; + } + leaf checkpoint-te-flags { + type uint32; + description + "Tunnel flags"; + } + leaf checkpoint-te-nexthop { + type Isis-ipv4-address; + description + "Tunnel next-hop IP address"; + } + leaf checkpoint-te-metric { + type int32; + description + "Tunnel metric"; + } + leaf checkpoint-te-metric-mode { + type Isis-metric-mode; + description + "Tunnel metric mode"; + } + leaf checkpoint-te-bandwidth { + type uint32; + description + "Tunnel bandwidth"; + } + leaf checkpoint-te-object-id { + type uint32; + description + "Tunnel checkpoint object ID"; + } + } + + grouping NSR-STATS-GBL-TYPE { + description + "NSR STATS GBL TYPE"; + leaf no-of-l1-lsp { + type uint32; + description + "no of l1 lsp"; + } + leaf no-of-l2-lsp { + type uint32; + description + "no of l2 lsp"; + } + leaf no-of-l1-adj { + type uint16; + description + "no of l1 adj"; + } + leaf no-of-l2-adj { + type uint16; + description + "no of l2 adj"; + } + leaf no-of-live-interface { + type uint16; + description + "no of live interface"; + } + leaf no-of-ptp-interface { + type uint16; + description + "no of ptp interface"; + } + leaf no-of-lan-interface { + type uint16; + description + "no of lan interface"; + } + leaf no-of-loopback-interface { + type uint16; + description + "no of loopback interface"; + } + leaf no-of-te-tunnels { + type uint16; + description + "no of te tunnels"; + } + leaf no-of-te-links { + type uint16; + description + "no of te links"; + } + leaf no-of-ipv4-routes { + type uint32; + description + "no of ipv4 routes"; + } + leaf no-of-ipv6-routes { + type uint32; + description + "no of ipv6 routes"; + } + leaf seqnum { + type uint32; + description + "seqnum"; + } + } + + grouping NSR-STATS-GBL-ARR-TYPE { + description + "NSR STATS GBL ARR TYPE"; + container self { + description + "self"; + uses NSR-STATS-GBL-TYPE; + } + list peer { + max-elements "3"; + description + "peer"; + uses NSR-STATS-GBL-TYPE; + } + } + + grouping ISIS-SH-NSR-STATS-GLOBAL { + description + "IS-IS process NSR statistics"; + container isis-nsr-stats-data { + description + "ISIS NSR STATS Data"; + uses NSR-STATS-GBL-ARR-TYPE; + } + leaf isis-vm-state { + type uint16; + description + "ISIS VM STATE"; + } + } + + grouping ISIS-SH-MESH-ENTRY { + description + "Mesh-group informaiton for one interface"; + list isis-sh-mesh-entry { + description + "Next entry in list"; + leaf mesh-group-interface { + type xr:Interface-name; + description + "This interface"; + } + leaf mesh-group-number { + type Isis-mesh-group-number; + description + "Mesh-group number"; + } + } + } + + grouping ISIS-SH-MESH-GROUPS { + description + "IS-IS mesh-group data"; + container mesh-group-configured-interface-list { + description + "List of mesh-group-configured interfaces"; + uses ISIS-SH-MESH-ENTRY; + } + } + + grouping ISIS-SH-CHKPT-LSP { + description + "Checkpointed LSP"; + leaf checkpoint-lsp-object-id { + type uint32; + description + "LSP Checkpoint table object ID"; + } + leaf checkpoint-lsp-level { + type uint8; + description + "LSP level"; + } + leaf checkpoint-lsp-local-flag { + type boolean; + description + "TRUE if this is a local LSP"; + } + leaf checkpoint-lsp-id { + type xr:Isis-lsp-id; + description + "LSP ID"; + } + } + + grouping ISIS-SH-NBR-SUMM-LEVEL { + description + "Neighbor states for one level"; + leaf neighbor-up-count { + type uint32; + description + "Neighbors up"; + } + leaf neighbor-init-count { + type uint32; + description + "Neighbors being initialized"; + } + leaf neighbor-down-count { + type uint32; + description + "Neighbors down"; + } + } + + grouping ISIS-SH-NBR-SUMM { + description + "Neighbor summary data"; + container level1-neighbors { + description + "L1-only neighbors"; + uses ISIS-SH-NBR-SUMM-LEVEL; + } + container level2-neighbors { + description + "L2-only neighbors"; + uses ISIS-SH-NBR-SUMM-LEVEL; + } + container level12-neigbors { + description + "L12 neighbors"; + uses ISIS-SH-NBR-SUMM-LEVEL; + } + } + + grouping ISIS-SH-GLOBAL-AREA-TOPO-STATS { + description + "ISIS process traffic per area topo statistics + data"; + container statistics { + description + "Statistics"; + uses ISIS-AREA-TOPO-STATS-TYPE; + } + } + + grouping ISIS-SH-GLOBAL-AREA-STATS { + description + "ISIS process traffic per area statistics data"; + container statistics { + description + "Statistics"; + uses ISIS-AREA-STATS-TYPE; + } + } + + grouping ISIS-SH-GLOBAL-STATS { + description + "IS-IS process traffic statistics data"; + container statistics { + description + "Statistics"; + uses ISIS-TRAFFIC-GLOBAL-TYPE; + } + } + + grouping ISIS-SH-NBR-SUMM-STATS { + description + "Neighbor summary statistics data"; + leaf level-1-nbr-count { + type uint32; + description + "L1-only neighbor counter"; + } + leaf level-2-nbr-count { + type uint32; + description + "L2-only neighbor counter"; + } + leaf level12-nbr-count { + type uint32; + description + "L1L2 neighbor counter"; + } + } + + grouping ISIS-SH-DDADJ-SID { + description + "Delay Deletion Protected Adj-SID data"; + container id { + description + "Topology ID"; + uses ISIS-TOPO-ID-TYPE; + } + container neighbor-ip-address { + description + "Neighbor IP address"; + uses ISIS-IP-ADDR-TYPE; + } + leaf adj-sid-value { + type Isis-nodal-sid-value; + description + "Protected adjacency sid value"; + } + leaf is-madj-sid { + type boolean; + description + "Is manual adjacency sid"; + } + leaf interface { + type Isis-sh-interface-name; + description + "Interface"; + } + leaf level { + type Isis-level; + description + "Level this data applies to"; + } + leaf neighbor-id { + type xr:Osi-system-id; + description + "Neighbor ID"; + } + leaf remaining-time { + type uint32; + description + "Remaining time before deletion"; + } + } + + grouping ISIS-SH-AREA { + description + "Per-area IS-IS protocol data"; + leaf lsp-mtu { + type uint32; + description + "Configured LSP MTU"; + } + leaf lsp-full { + type boolean; + description + "Indicates whether LSP space is full"; + } + } + + grouping ISIS-SH-OVRLD-TOPO-INFO { + description + "BGP Timer expiry Information per Topology"; + container id { + description + "Topology ID"; + uses ISIS-TOPO-ID-TYPE; + } + container overload-bit-b-gp-expiry-time-per-topo { + description + "Timestamp for BGP Timer Expiry per Topology"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + } + + grouping ISIS-SH-OVRLD-BIT { + description + "Overload bit Configuration and Operational data"; + container overload-bit-status-change-time { + description + "Timestamp when status changes"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container overload-bit-startup-epiry-time { + description + "Timestamp for OnStartup Timer Expiry"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container overload-bit-bgp-expiry-time { + description + "Timestamp for BGP Timer Expiry"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + leaf level { + type Isis-level; + description + "Level this data applies to"; + } + leaf currently-active { + type boolean; + description + "Overload bit Currently Active"; + } + leaf mode { + type Isis-overload-bit-mode; + description + "Overload bit mode type"; + } + leaf overload-bit-on-startup-secs { + type uint32; + description + "Time after reboot"; + } + leaf advertise-external-prefix { + type boolean; + description + "Advertise Overload bit for external prefixes"; + } + leaf advertise-inter-level-prefix { + type boolean; + description + "Advertisze Overload bit for interlevel prefixes"; + } + list overload-bit-expiry-per-topo { + description + "Timestamp for BGP Timer Expiry per Toplogy"; + uses ISIS-SH-OVRLD-TOPO-INFO; + } + } + + grouping ISIS-SH-MXM { + description + "Max Metric Operational data"; + container max-metric-status-change-time { + description + "Timestamp when status changes"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container max-metric-startup-epiry-time { + description + "Timestamp for OnStartup Timer Expiry"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container max-metric-bgp-expiry-time { + description + "Timestamp for BGP Timer Expiry"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + leaf active { + type boolean; + description + "Maximum Metric Currently Active"; + } + leaf level { + type Isis-level; + description + "Level this data applies to"; + } + leaf max-metric-mode { + type Isis-max-metric-mode; + description + "mode of the max-metric"; + } + leaf max-metric-redist-pfx { + type boolean; + description + "Override prefix metric from another protocol"; + } + leaf max-metric-inter-level-pfx { + type boolean; + description + "Override prefix metric from another ISIS Level"; + } + leaf max-metric-default-route { + type boolean; + description + "Override default route metric"; + } + leaf max-metric-srv6-locators { + type boolean; + description + "Override Segment routing ipv6 metric"; + } + leaf max-metric-trigger-expired { + type boolean; + description + "Check MaxMetric Trigger Expiry"; + } + leaf max-metric-on-startup-secs { + type uint32; + description + "Time after reboot"; + } + } + + grouping ISIS-SH-DEF-ORIG { + description + "Default Route Origination"; + container status-changed-time { + description + "Default route origination status change"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + leaf enabled { + type boolean; + description + "Default route origination enabled"; + } + leaf active { + type boolean; + description + "Default route origination currently active"; + } + } + + grouping ISIS-SH-TOPO-LOCATOR { + description + "Configured SRv6 Locator"; + leaf locator-active { + type boolean; + description + "Locator exists in global configuration"; + } + leaf anycast-locator { + type boolean; + description + "Anycast Locator"; + } + leaf locator-out-of-resources { + type boolean; + description + "Locator has no more SIDs available"; + } + leaf locator-name { + type string; + description + "Locator name"; + } + } + + grouping ISIS-SH-TOPO-AREA { + description + "Per-topology, per-area IS-IS protocol data"; + leaf level { + type Isis-level; + description + "The level this data refers to"; + } + leaf uses-default-link-topo-flag { + type boolean; + description + "Does this topology use the default link topology"; + } + leaf generated-metric-style { + type Isis-metric-style; + description + "Generate metric style"; + } + leaf accepted-metric-style { + type Isis-metric-style; + description + "Accept metric style"; + } + leaf metric { + type Isis-metric; + description + "Metric"; + } + leaf ispf-state { + type Isis-enabled; + description + "ISPF state"; + } + leaf te-enabled { + type boolean; + description + "Indicates whether MPLS TE is enabled"; + } + leaf uloop-avoidance-type { + type Isis-uloop-avoidance; + description + "Microloop avoidance type"; + } + leaf rib-update-delay { + type uint32; + description + "Microloop RIB update delay"; + } + leaf sr-uloop-is-active { + type boolean; + description + "Explicit paths installed in the RIB"; + } + leaf duration { + type uint32; + description + "SR microloop avoidance duration"; + } + leaf sr-uloop-event { + type Isis-uloop-event; + description + "SR microloop avoidance event"; + } + leaf sr-uloop-near-node-id { + type xr:Isis-node-id; + description + "SR microloop near node"; + } + leaf sr-uloop-far-node-id { + type xr:Isis-node-id; + description + "SR microloop far node"; + } + } + + grouping ISIS-SH-REDIST-ENTRY { + description + "Redistributed protocol entry"; + list isis-sh-redist-entry { + description + "Next entry in list"; + container protocol-details { + description + "Relevant details of the redistributed protocol"; + uses ISIS-SH-REDIST-ENTRY-PROTO; + } + } + } + + grouping ISIS-SH-TOPO { + description + "Per-topology IS-IS instance data"; + container id { + description + "Topology ID"; + uses ISIS-TOPO-ID-TYPE; + } + container redist-protocols-list { + description + "List of redistributed protocols"; + uses ISIS-SH-REDIST-ENTRY; + } + container default-origination { + description + "Default Origination"; + uses ISIS-SH-DEF-ORIG; + } + leaf default-admin-distance { + type uint32; + description + "Default administrative distance"; + } + leaf advertise-passive-only { + type boolean; + description + "Advertise passive interface prefixes only"; + } + leaf wait-redist-complete { + type boolean; + description + "Waiting for redist complete RIB event"; + } + leaf rib-connected { + type boolean; + description + "Rib Connected"; + } + leaf sr-mpls-enabled { + type boolean; + description + "SR-MPLS is enabled"; + } + leaf srv6-enabled { + type boolean; + description + "SRv6 is enabled"; + } + list per-area-data { + description + "Per-area data"; + uses ISIS-SH-TOPO-AREA; + } + list srv6-configured-locator { + description + "Configured SRv6 locators"; + uses ISIS-SH-TOPO-LOCATOR; + } + } + + grouping ISIS-SH-PROTO { + description + "Information about an IS-IS instance"; + leaf vrf-context { + type Isis-string; + description + "VRF context"; + } + leaf nsap-system-id { + type xr:Osi-system-id; + description + "Local system ID"; + } + leaf valid-nsap-system-id { + type boolean; + description + "Indicates if system ID valid"; + } + leaf instance-id { + type uint16; + description + "instance id"; + } + leaf running-levels { + type Isis-levels; + description + "Levels running"; + } + leaf configured-nsf-flavor { + type Isis-nsf-flavor; + description + "Configured NSF type"; + } + leaf last-restart-nsf-flavor { + type Isis-nsf-flavor; + description + "NSF type of last restart"; + } + leaf last-restart-status { + type Isis-startup-status; + description + "Last restart status"; + } + leaf te-connection { + type Isis-up; + description + "TE connection"; + } + leaf xtc-connection { + type Isis-up; + description + "XTC connection"; + } + leaf remaining-time-for-next-nsf-restart { + type uint32; + description + "Time remaining until the next NSF restart may be + attempted"; + } + leaf adj-form-count { + type uint32; + description + "Adj Forming count"; + } + leaf adj-full-count { + type uint32; + description + "Adj Full count"; + } + leaf adj-stagger-enabled { + type boolean; + description + "Adjacency Stagger Enabled"; + } + leaf adj-stagger-init { + type uint32; + description + "Adjacency Stagger Initiall Number of Forming + Neighbors Allowed"; + } + leaf adj-stagger-max { + type uint32; + description + "Adjacency Stagger Max Number of Forming + Neighbors Allowed"; + } + leaf srgb-allocated { + type boolean; + description + "Is SRGB allocated ?"; + } + leaf srgb-start { + type uint32; + description + "First label in SRGB"; + } + leaf srgb-end { + type uint32; + description + "Last label in SRGB"; + } + leaf srlb-allocated { + type boolean; + description + "Is SRLB allocated ?"; + } + leaf srlb-start { + type uint32; + description + "First label in SRLB"; + } + leaf srlb-end { + type uint32; + description + "Last label in SRLB"; + } + list manual-area-address { + description + "Manual area addresses"; + leaf entry { + type xr:Osi-area-address; + description + "Manual area addresses"; + } + } + list active-area-address { + description + "Active area addresses"; + leaf entry { + type xr:Osi-area-address; + description + "Active area addresses"; + } + } + list per-topo-data { + description + "Per-topology data"; + uses ISIS-SH-TOPO; + } + list per-level-max-metric-data { + description + "Per-level max-metric data"; + uses ISIS-SH-MXM; + } + list per-level-overload-bit-data { + description + "Per-level overload bit data"; + uses ISIS-SH-OVRLD-BIT; + } + list per-area-data { + max-elements "2"; + description + "Per-area data"; + uses ISIS-SH-AREA; + } + list dd-adj-sid-data { + description + "Delay Deletion Protected Adj-SID data"; + uses ISIS-SH-DDADJ-SID; + } + } + + grouping ISIS-TRAFFIC-INTF-AREA-LAN-TYPE { + description + "Per-interface, per-area LAN-only statistics"; + container iih-count { + description + "IIH statistics"; + uses ISIS-TRAFFIC-PDU-COUNT-TYPE; + } + leaf memory-exhausted-iih-count { + type uint32; + description + "IIHs not sent due to memory exhaustion"; + } + leaf dis-election-count { + type uint32; + description + "DIS elections"; + } + } + + grouping ISIS-TRAFFIC-INTF-AREA-TYPE { + description + "Per-interface, per-area statistics"; + container lsp-count { + description + "LSP statistics"; + uses ISIS-TRAFFIC-PDU-COUNT-TYPE; + } + container csnp-count { + description + "CSNP statistics"; + uses ISIS-TRAFFIC-PDU-COUNT-TYPE; + } + container psnp-count { + description + "PSNP statistics"; + uses ISIS-TRAFFIC-PDU-COUNT-TYPE; + } + leaf lsp-drop-count { + type uint32; + description + "Count of LSPs dropped due to minimum arrival + time config"; + } + leaf lsp-flooding-dup-count { + type uint32; + description + "Count of LSPs already received by neighbors and + not flooded"; + } + } + + grouping ISIS-SH-TRAFFIC-INTF-AREA { + description + "Per-interface, per-area data"; + container statistics { + description + "Statistics"; + uses ISIS-TRAFFIC-INTF-AREA-TYPE; + } + container lan-data { + description + "LAN interface statistics. NULL for non-LAN + interfaces"; + uses ISIS-TRAFFIC-INTF-AREA-LAN-TYPE; + } + leaf level { + type Isis-level; + description + "Level of the area this data relates to"; + } + } + + grouping ISIS-TRAFFIC-PDU-COUNT-TYPE { + description + "Per-interface, per-PDU statistics"; + leaf pdu-receive-count { + type uint32; + description + "PDUs received"; + } + leaf pdu-send-count { + type uint32; + description + "PDUs sent"; + } + leaf pdu-dropped-count { + type uint32; + description + "PDUs dropped"; + } + } + + grouping ISIS-TRAFFIC-INTF-P2P-TYPE { + description + "Per-interface point-to-point statistics"; + container iih-count { + description + "IIH statistics"; + uses ISIS-TRAFFIC-PDU-COUNT-TYPE; + } + leaf memory-exhausted-iih-count { + type uint32; + description + "IIHs not sent due to memory exhaustion"; + } + leaf lsp-retransmit-count { + type uint32; + description + "LSP retransmissions"; + } + } + + grouping ISIS-SH-TRAFFIC-INTF { + description + "IS-IS interface traffic data"; + container p2p-statistics { + description + "P2P interface statistics. NULL for non-P2P + interfaces"; + uses ISIS-TRAFFIC-INTF-P2P-TYPE; + } + leaf traffic-interface { + type xr:Interface-name; + description + "Interface to which traffic statistics apply"; + } + leaf interface-media-type { + type Isis-media-class; + description + "Interface media class"; + } + list per-area-data { + description + "Per-area data"; + uses ISIS-SH-TRAFFIC-INTF-AREA; + } + } + + grouping ISIS-SH-LABEL { + description + "Label data"; + container label-prefix { + description + "label prefix"; + uses ISIS-IP-PREFIX-TYPE; + } + leaf label-type { + type Isis-edm-label-type-enum; + description + "label type"; + } + leaf label-flags { + type uint8; + description + "label flags"; + } + leaf label-refcount { + type uint8; + description + "label refcount"; + } + leaf label-value { + type uint32; + description + "label value"; + } + leaf label-interface { + type Isis-sh-interface-name; + description + "label interface"; + } + leaf label-ifh { + type xr:Interface-name; + description + "label ifh"; + } + leaf label-table-id { + type uint32; + description + "label table id"; + } + leaf label-af-id { + type Isis-af-id; + description + "label af id"; + } + list conflict-label-prefix { + description + "conflict label prefix"; + uses ISIS-IP-PREFIX-TYPE; + } + } + + grouping ISIS-SH-CHKPT-IDB { + description + "Checkpointed interface"; + leaf checkpoint-object-id { + type uint32; + description + "Checkpoint object ID"; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf checkpoint-interface-handle { + type xr:Interface-name; + description + "Local interface handle"; + } + leaf local-circuit-number { + type Isis-circuit-number; + description + "Local circuit number"; + } + leaf dis-areas { + type Isis-levels; + description + "Areas in which this system is DIS"; + } + leaf has-adjacency { + type boolean; + description + "TRUE if there is an adjacency on this interface"; + } + leaf local-snpa { + type xr:Isis-snpa; + description + "SNPA of this interface"; + } + leaf has-joined-mcast-group { + type boolean; + description + "TRUE if multicast group registration succeeded + on this interface"; + } + leaf has-achieved-ldp-sync { + type boolean; + description + "MPLS LDP sync status"; + } + leaf has-achieved-ld-pv6-sync { + type boolean; + description + "MPLS LDPv6 sync status"; + } + } + + grouping ISIS-SH-ERR-LOG-ENT { + description + "An error log entry"; + container generic-data { + description + "Generic entry data"; + uses ISIS-SH-GENERIC-LOG-ENT; + } + leaf error-log-level { + type Isis-err-log-level; + description + "Logging level"; + } + leaf error-code { + type uint32; + description + "Error code"; + } + leaf error-reason { + type string; + description + "Error details"; + } + } + + grouping ISIS-SH-ERR-LOG-STRUC { + description + "Error log structure"; + list log-entry { + description + "Error Log entries"; + uses ISIS-SH-ERR-LOG-ENT; + } + } + + grouping ISIS-MIB-CIRC-ENTRY { + description + "isisCircEntry"; + leaf isis-circ-index { + type uint32; + description + "isisCircIndex"; + } + leaf isis-circ-if-index { + type int32; + description + "isisCircIfIndex"; + } + leaf isis-circ-admin-state { + type int32; + description + "isisCircAdminState"; + } + leaf isis-circ-exist-state { + type int32; + description + "isisCircExistState"; + } + leaf isis-circ-type { + type int32; + description + "isisCircType"; + } + leaf isis-circ-ext-domain { + type int32; + description + "isisCircExtDomain"; + } + leaf isis-circ-level-type { + type int32; + description + "isisCircLevelType"; + } + leaf isis-circ-passive-circuit { + type int32; + description + "isisCircPassiveCircuit"; + } + leaf isis-circ-mesh-group-enabled { + type int32; + description + "isisCircMeshGroupEnabled"; + } + leaf isis-circ-mesh-group { + type uint32; + description + "isisCircMeshGroup"; + } + leaf isis-circ-small-hellos { + type int32; + description + "isisCircSmallHellos"; + } + leaf isis-circ-last-up-time { + type uint32; + description + "isisCircLastUpTime"; + } + leaf isis-circ3-way-enabled { + type int32; + description + "isisCirc3WayEnabled"; + } + leaf isis-circ-extended-circ-id { + type uint32; + description + "isisCircExtendedCircID"; + } + } + + grouping ISIS-MIB-SYS-OBJECT { + description + "isisSysObject"; + leaf isis-sys-version { + type int32; + description + "isisSysVersion"; + } + leaf isis-sys-level-type { + type int32; + description + "isisSysLevelType"; + } + leaf sys-id { + type xr:Osi-system-id; + description + "sys id"; + } + leaf isis-sys-max-path-splits { + type uint32; + description + "isisSysMaxPathSplits"; + } + leaf isis-sys-max-lsp-gen-int { + type uint32; + description + "isisSysMaxLSPGenInt"; + } + leaf isis-sys-poll-es-hello-rate { + type uint32; + description + "isisSysPollESHelloRate"; + } + leaf isis-sys-wait-time { + type uint32; + description + "isisSysWaitTime"; + } + leaf isis-sys-admin-state { + type int32; + description + "isisSysAdminState"; + } + leaf isis-sys-l2to-l1-leaking { + type int32; + description + "isisSysL2toL1Leaking"; + } + leaf isis-sys-max-age { + type uint32; + description + "isisSysMaxAge"; + } + leaf isis-sys-receive-lsp-buffer-size { + type uint32; + description + "isisSysReceiveLSPBufferSize"; + } + leaf isis-sys-notification-enable { + type int32; + description + "isisSysNotificationEnable"; + } + list sys-prot-supported { + description + "sys prot supported"; + leaf entry { + type uint8; + description + "sys prot supported"; + } + } + } + + grouping ISIS-MIB-SUMM-ADDR-ENTRY { + description + "isisSummAddrEntry"; + container ip-prefix { + description + "ip prefix"; + uses ISIS-IP-PREFIX-TYPE; + } + leaf isis-summ-addr-metric { + type uint32; + description + "isisSummAddrMetric"; + } + leaf isis-summ-addr-full-metric { + type uint32; + description + "isisSummAddrFullMetric"; + } + } + + grouping ISIS-MIB-SUMM-ADDR-TABLE { + description + "isisSummAddrTable"; + list isis-summ-addr-entry { + description + "isis summ addr entry"; + uses ISIS-MIB-SUMM-ADDR-ENTRY; + } + } + + grouping ISIS-MIB-ADJ-ENTRY { + description + "isisISAdjEntry"; + leaf isis-is-adj-index { + type uint32; + description + "isisISAdjIndex"; + } + leaf isis-is-adj-state { + type int32; + description + "isisISAdjState"; + } + leaf isis-is-adj3-way-state { + type int32; + description + "isisISAdj3WayState"; + } + leaf nbr-snpa-addr { + type xr:Isis-snpa; + description + "nbr snpa addr"; + } + leaf isis-is-adj-neigh-sys-type { + type int32; + description + "isisISAdjNeighSysType"; + } + leaf nbr-system-id { + type xr:Osi-system-id; + description + "nbr system id"; + } + leaf isis-is-adj-nbr-extended-circ-id { + type uint32; + description + "isisISAdjNbrExtendedCircID"; + } + leaf isis-is-adj-usage { + type int32; + description + "isisISAdjUsage"; + } + leaf isis-is-adj-hold-timer { + type uint32; + description + "isisISAdjHoldTimer"; + } + leaf isis-is-adj-neigh-priority { + type uint32; + description + "isisISAdjNeighPriority"; + } + leaf isis-is-adj-last-up-time { + type uint32; + description + "isisISAdjLastUpTime"; + } + leaf isis-circ-index { + type uint32; + description + "isisCircIndex"; + } + leaf prot-supp { + type Isis-prot-supp; + description + "prot supp"; + } + list area-addr { + description + "area addr"; + leaf entry { + type xr:Osi-area-address; + description + "area addr"; + } + } + list ip-addr { + description + "ip addr"; + uses ISIS-IP-ADDR-TYPE; + } + } + + grouping ISIS-MIB-CIRC-ADJ-TABLE { + description + "intermediateIsisISAdjTable"; + list circuit-adj { + description + "circuit adj"; + uses ISIS-MIB-ADJ-ENTRY; + } + } + + grouping ISIS-MIB-CIRC-LEVEL-ENTRY { + description + "isisCircLevelEntry"; + leaf isis-circ-level-index { + type int32; + description + "isisCircLevelIndex"; + } + leaf isis-circ-level-metric { + type uint32; + description + "isisCircLevelMetric"; + } + leaf isis-circ-level-wide-metric { + type uint32; + description + "isisCircLevelWideMetric"; + } + leaf isis-circ-level-is-priority { + type uint32; + description + "isisCircLevelISPriority"; + } + leaf isis-circ-level-id-octet { + type uint32; + description + "isisCircLevelIDOctet"; + } + leaf circuit-id { + type Isis-circuit-id; + description + "circuit id"; + } + leaf circuit-lan-id { + type Isis-circuit-id; + description + "circuit lan id"; + } + leaf isis-circ-level-hello-multiplier { + type uint32; + description + "isisCircLevelHelloMultiplier"; + } + leaf isis-circ-level-hello-timer { + type uint32; + description + "isisCircLevelHelloTimer"; + } + leaf isis-circ-level-dr-hello-timer { + type uint32; + description + "isisCircLevelDRHelloTimer"; + } + leaf isis-circ-level-lsp-throttle { + type uint32; + description + "isisCircLevelLSPThrottle"; + } + leaf isis-circ-level-min-lsp-retrans-int { + type uint32; + description + "isisCircLevelMinLSPRetransInt"; + } + leaf isis-circ-level-csnp-interval { + type uint32; + description + "isisCircLevelCSNPInterval"; + } + leaf isis-circ-level-part-snp-interval { + type uint32; + description + "isisCircLevelPartSNPInterval"; + } + leaf isis-circ-index { + type uint32; + description + "isisCircIndex"; + } + } + + grouping ISIS-MIB-IP-RA-ENTRY { + description + "isisIPRAEntry"; + container ip-prefix { + description + "ip prefix"; + uses ISIS-IP-PREFIX-TYPE; + } + leaf isis-ipra-next-hop-index { + type uint32; + description + "isisIPRANextHopIndex"; + } + leaf isis-ipra-metric { + type uint32; + description + "isisIPRAMetric"; + } + leaf isis-ipra-metric-type { + type int32; + description + "isisIPRAMetricType"; + } + leaf isis-ipra-full-metric { + type uint32; + description + "isisIPRAFullMetric"; + } + leaf isis-ipra-source-type { + type int32; + description + "isisIPRASourceType"; + } + leaf isis-sys-level-index { + type int32; + description + "isisSysLevelIndex"; + } + } + + grouping ISIS-MIB-IP-RA-TABLE { + description + "isisIPRATable"; + list route { + description + "route"; + uses ISIS-MIB-IP-RA-ENTRY; + } + } + + grouping ISIS-MIB-YANG-MODEL-LSP-ENTRY { + description + "isisLSPListEntry"; + leaf isis-lsp-level { + type int32; + description + "isisLSPLevel"; + } + leaf lsp-lspid { + type xr:Isis-lsp-id; + description + "lsp lspid"; + } + leaf isis-lsptlv-index { + type uint32; + description + "isisLSPTLVIndex"; + } + leaf isis-lsptlv-seq { + type uint32; + description + "isisLSPTLVSeq"; + } + leaf isis-lsptlv-checksum { + type uint16; + description + "isisLSPTLVChecksum"; + } + leaf isis-lsptlv-type { + type uint8; + description + "isisLSPTLVType"; + } + leaf isis-lsptlv-len { + type uint8; + description + "isisLSPTLVLen"; + } + leaf isis-lsptlv-value { + type yang:hex-string; + description + "isisLSPTLVValue"; + } + } + + grouping ISIS-MIB-LSP-SUMMARY-LIST-ENTRY { + description + "isisLSPSummaryListEntry"; + leaf isis-lsp-level { + type int32; + description + "isisLSPLevel"; + } + leaf summ-lspid { + type xr:Isis-lsp-id; + description + "summ lspid"; + } + leaf isis-lsp-seq { + type uint32; + description + "isisLSPSeq"; + } + leaf isis-lsp-zero-life { + type int32; + description + "isisLSPZeroLife"; + } + leaf isis-lsp-checksum { + type uint32; + description + "isisLSPChecksum"; + } + leaf isis-lsp-lifetime-remain { + type uint32; + description + "isisLSPLifetimeRemain"; + } + leaf isis-lsppdu-length { + type uint32; + description + "isisLSPPDULength"; + } + leaf isis-lsp-attributes { + type uint8; + description + "isisLSPAttributes"; + } + } + + grouping ISIS-MIB-SYS-STAT-LEVEL-ENTRY { + description + "isisSystemCounterEntry"; + leaf isis-sys-stat-level { + type int32; + description + "isisSysStatLevel"; + } + leaf isis-sys-stat-corr-ls-ps { + type uint32; + description + "isisSysStatCorrLSPs"; + } + leaf isis-sys-stat-auth-type-fails { + type uint32; + description + "isisSysStatAuthTypeFails"; + } + leaf isis-sys-stat-auth-fails { + type uint32; + description + "isisSysStatAuthFails"; + } + leaf isis-sys-stat-lsp-dbase-oloads { + type uint32; + description + "isisSysStatLSPDbaseOloads"; + } + leaf isis-sys-stat-man-addr-drop-from-areas { + type uint32; + description + "isisSysStatManAddrDropFromAreas"; + } + leaf isis-sys-stat-attmpt-to-ex-max-seq-nums { + type uint32; + description + "isisSysStatAttmptToExMaxSeqNums"; + } + leaf isis-sys-stat-seq-num-skips { + type uint32; + description + "isisSysStatSeqNumSkips"; + } + leaf isis-sys-stat-own-lsp-purges { + type uint32; + description + "isisSysStatOwnLSPPurges"; + } + leaf isis-sys-stat-id-field-len-mismatches { + type uint32; + description + "isisSysStatIDFieldLenMismatches"; + } + leaf isis-sys-stat-part-changes { + type uint32; + description + "isisSysStatPartChanges"; + } + leaf isis-sys-stat-spf-runs { + type uint32; + description + "isisSysStatSPFRuns"; + } + leaf isis-sys-stat-lsp-errors { + type uint32; + description + "isisSysStatLSPErrors"; + } + } + + grouping ISIS-MIB-SYS-LEVEL-ENTRY { + description + "isisSysLevelEntry"; + leaf isis-sys-level-index { + type int32; + description + "isisSysLevelIndex"; + } + leaf isis-sys-level-orig-lsp-buff-size { + type uint32; + description + "isisSysLevelOrigLSPBuffSize"; + } + leaf isis-sys-level-min-lsp-gen-int { + type uint32; + description + "isisSysLevelMinLSPGenInt"; + } + leaf isis-sys-level-state { + type int32; + description + "isisSysLevelState"; + } + leaf isis-sys-level-set-overload { + type int32; + description + "isisSysLevelSetOverload"; + } + leaf isis-sys-level-set-overload-until { + type uint32; + description + "isisSysLevelSetOverloadUntil"; + } + leaf isis-sys-level-metric-style { + type int32; + description + "isisSysLevelMetricStyle"; + } + leaf isis-sys-level-spf-considers { + type int32; + description + "isisSysLevelSPFConsiders"; + } + leaf isis-sys-level-te-enabled { + type int32; + description + "isisSysLevelTEEnabled"; + } + } + + grouping ISIS-MIB-PACKET-COUNTER-ENTRY { + description + "isisPacketCounterEntry"; + leaf isis-packet-count-level { + type int32; + description + "isisPacketCountLevel"; + } + leaf isis-packet-count-direction { + type int32; + description + "isisPacketCountDirection"; + } + leaf isis-packet-count-ii-hello { + type uint32; + description + "isisPacketCountIIHello"; + } + leaf isis-packet-count-is-hello { + type uint32; + description + "isisPacketCountISHello"; + } + leaf isis-packet-count-es-hello { + type uint32; + description + "isisPacketCountESHello"; + } + leaf isis-packet-count-lsp { + type uint32; + description + "isisPacketCountLSP"; + } + leaf isis-packet-count-csnp { + type uint32; + description + "isisPacketCountCSNP"; + } + leaf isis-packet-count-psnp { + type uint32; + description + "isisPacketCountPSNP"; + } + leaf isis-packet-count-unknown { + type uint32; + description + "isisPacketCountUnknown"; + } + leaf isis-circ-index { + type uint32; + description + "isisCircIndex"; + } + } + + grouping ISIS-AREA-ADDRESS-TYPE { + description + "IS-IS area address"; + leaf area-address-length { + type uint8; + units "byte"; + description + "area address length (bytes)"; + } + leaf area-address { + type yang:hex-string; + description + "Encoded area address"; + } + } + + grouping ISIS-MIB-AREA-ADDR-TABLE { + description + "isisAreaAddrTable"; + list area-addr { + description + "area addr"; + uses ISIS-AREA-ADDRESS-TYPE; + } + } + + grouping ISIS-MIB-CIRCUIT-COUNTER-ENTRY { + description + "isisCircuitCounterEntry"; + leaf isis-circuit-type { + type int32; + description + "isisCircuitType"; + } + leaf isis-circ-adj-changes { + type uint32; + description + "isisCircAdjChanges"; + } + leaf isis-circ-num-adj { + type uint32; + description + "isisCircNumAdj"; + } + leaf isis-circ-init-fails { + type uint32; + description + "isisCircInitFails"; + } + leaf isis-circ-rej-adjs { + type uint32; + description + "isisCircRejAdjs"; + } + leaf isis-circ-id-field-len-mismatches { + type uint32; + description + "isisCircIDFieldLenMismatches"; + } + leaf isis-circ-max-area-addr-mismatches { + type uint32; + description + "isisCircMaxAreaAddrMismatches"; + } + leaf isis-circ-auth-type-fails { + type uint32; + description + "isisCircAuthTypeFails"; + } + leaf isis-circ-auth-fails { + type uint32; + description + "isisCircAuthFails"; + } + leaf isis-circ-lan-des-is-changes { + type uint32; + description + "isisCircLANDesISChanges"; + } + leaf isis-circ-index { + type uint32; + description + "isisCircIndex"; + } + } + + grouping ISIS-SH-FLEX-ALGO-AREA { + description + "Flex Algo Area"; + leaf level { + type Isis-level; + description + "Level"; + } + leaf disabled { + type boolean; + description + "Flex-Algo Disabled"; + } + leaf definition-priority { + type uint32; + description + "Flex-Algo Definition Priority"; + } + leaf metric-type { + type Isis-flex-algo-metric; + description + "Flex-Algo Metric Type"; + } + leaf prefix-metric { + type boolean; + description + "Flex-Algo Prefix Metric"; + } + leaf definition-local { + type boolean; + description + "Flex-Algo Definition Is Local"; + } + leaf definition-equal-local { + type boolean; + description + "Flex-Algo Definition Is Equal To Local"; + } + leaf definition-node-id { + type xr:Isis-node-id; + description + "Flex-Algo Definition Node-ID"; + } + list excl-affinity { + description + "ExclAffinity"; + leaf entry { + type uint32; + description + "ExclAffinity"; + } + } + list incl-any-affinity { + description + "InclAnyAffinity"; + leaf entry { + type uint32; + description + "InclAnyAffinity"; + } + } + list incl-all-affinity { + description + "InclAllAffinity"; + leaf entry { + type uint32; + description + "InclAllAffinity"; + } + } + list exc-srlg { + description + "ExclSRLG"; + leaf entry { + type uint32; + description + "ExclSRLG"; + } + } + } + + grouping ISIS-SH-FLEX-ALGO { + description + "Flex Algo"; + leaf number { + type uint32; + description + "Flex-Algo Number"; + } + leaf local-priority { + type uint32; + description + "Flex_algo Local Priority"; + } + leaf frr-disabled { + type boolean; + description + "Flex-Algo FRR Disabled"; + } + leaf microloop-avoidance-disabled { + type boolean; + description + "Flex-Algo Microloop Avoidance Disabled"; + } + list area { + description + "Per Area Flex-Algo"; + uses ISIS-SH-FLEX-ALGO-AREA; + } + } + + grouping ISIS-SH-CHKPT-ADJ { + description + "Checkpointed adjacency"; + leaf checkpoint-adjacency-object-id { + type uint32; + description + "Checkpoint object ID"; + } + leaf checkpoint-adjacency-system-id { + type xr:Osi-system-id; + description + "Neighbor system ID"; + } + leaf checkpoint-adjacency-snpa { + type xr:Isis-snpa; + description + "Neighbor SNPA"; + } + leaf checkpoint-adjacency-interface { + type xr:Interface-name; + description + "Local interface"; + } + leaf checkpoint-adjacency-level { + type Isis-level; + description + "Adjacency level"; + } + leaf checkpoint-adjacency-holdtime { + type uint16; + description + "Adjacency holdtime (s)"; + } + leaf checkpoint-adjacency-lan-priority { + type Isis-dr-priority; + description + "Adjacency LAN priority"; + } + leaf checkpoint-adjacency-circuit-number { + type Isis-circuit-number; + description + "Neighbor circuit number"; + } + list checkpoint-adjacency-per-address-family-next-hop { + description + "Per address family next hops"; + uses ISIS-IP-ADDR-TYPE; + } + } + + grouping ISIS-SH-IF-AF-PREFIX-DATA { + description + "Address prefix info"; + leaf is-unnumbered { + type boolean; + description + "Is the interface unnumbered"; + } + list prefix { + description + "Array of global prefixes"; + uses ISIS-IP-PREFIX-TYPE; + } + } + + grouping ISIS-SH-IF-AF-PREFIX-UNKNOWN { + description + "Address prefix unknown info"; + leaf reason-code { + type Isis-if-af-prefix-unknown-reason; + description + "Reason why the global prefix(es) is(are) unknown"; + } + } + + grouping ISIS-SH-IF-AF-PREFIX-STATUS { + description + "ISIS SH IF AF PREFIX STATUS"; + container unknown { + when "../status = 'isis-unknown'" { + description + "../Status = 'ISIS_UNKNOWN'"; + } + description + "Unknown state for the global prefixes"; + uses ISIS-SH-IF-AF-PREFIX-UNKNOWN; + } + container prefix-data { + when "../status = 'isis-known'" { + description + "../Status = 'ISIS_KNOWN'"; + } + description + "Global prefix data for the Address Family"; + uses ISIS-SH-IF-AF-PREFIX-DATA; + } + leaf status { + type Isis-known; + description + "Status"; + } + } + + grouping ISIS-IP-ADDR-TYPE { + description + "ISIS IP ADDR TYPE"; + leaf af-name { + type Isis-af-id; + description + "AFName"; + } + leaf ipv4 { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type Isis-ipv4-address; + description + "IPV4 address type"; + } + leaf ipv6 { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Isis-ipv6-address; + description + "IPV6 address type"; + } + } + + grouping ISIS-SH-IF-AF-FWD-ADDR-DATA { + description + "Address-family forwarding address data"; + leaf unnumbered-interface-name { + type string; + description + "If the interface is unnumbered, then its name, + else NULL"; + } + list forwarding-address { + description + "Array of forwarding addresses"; + uses ISIS-IP-ADDR-TYPE; + } + } + + grouping ISIS-SH-IF-AF-FWD-ADDR-UNKNOWN { + description + "Forwarding address unknown data"; + leaf reason-code { + type Isis-if-af-fwd-addr-unknown-reason; + description + "Reason why the forwarding address(es) of an AF + is(are) unknown"; + } + } + + grouping ISIS-SH-IF-AF-FWD-ADDR-STATUS { + description + "ISIS SH IF AF FWD ADDR STATUS"; + container unknown { + when "../status = 'isis-unknown'" { + description + "../Status = 'ISIS_UNKNOWN'"; + } + description + "Unknown forwarding address data"; + uses ISIS-SH-IF-AF-FWD-ADDR-UNKNOWN; + } + container forwarding-address-data { + when "../status = 'isis-known'" { + description + "../Status = 'ISIS_KNOWN'"; + } + description + "Known Forwarding address data"; + uses ISIS-SH-IF-AF-FWD-ADDR-DATA; + } + leaf status { + type Isis-known; + description + "Status"; + } + } + + grouping ISIS-SH-IF-AF-PROTO-DOWN { + description + "Address family protocol down info"; + leaf reason-code { + type Isis-if-af-proto-down-reason; + description + "Reason why the Address Family protocol status is + down"; + } + } + + grouping ISIS-SH-IF-AF-PROTO-STATUS { + description + "ISIS SH IF AF PROTO STATUS"; + container disabled { + when "../status = 'isis-down'" { + description + "../Status = 'ISIS_DOWN'"; + } + description + "Disabled state of the Address Family protocol"; + uses ISIS-SH-IF-AF-PROTO-DOWN; + } + leaf status { + type Isis-up; + description + "Status"; + } + } + + grouping ISIS-SH-IF-AF-ENABLED { + description + "Enabled address-family info of an interface"; + container protocol-status { + description + "Protocol status of the AF"; + uses ISIS-SH-IF-AF-PROTO-STATUS; + } + container forwarding-address-status { + description + "Forwarding status of the AF"; + uses ISIS-SH-IF-AF-FWD-ADDR-STATUS; + } + container prefix-status { + description + "Prefix status of the AF"; + uses ISIS-SH-IF-AF-PREFIX-STATUS; + } + } + + grouping ISIS-SH-IF-AF-DISABLED { + description + "Address family disabled info"; + leaf reason-code { + type Isis-if-af-disabled-reason; + description + "Reason why the Address Family is disabled"; + } + } + + grouping ISIS-SH-IF-AF-STATUS { + description + "ISIS SH IF AF STATUS"; + container disabled { + when "../status = 'isis-disabled'" { + description + "../Status = 'ISIS_DISABLED'"; + } + description + "Disabled info for the AF of an interface"; + uses ISIS-SH-IF-AF-DISABLED; + } + container af-data { + when "../status = 'isis-enabled'" { + description + "../Status = 'ISIS_ENABLED'"; + } + description + "Enabled data for the AF of an interface"; + uses ISIS-SH-IF-AF-ENABLED; + } + leaf status { + type Isis-enabled; + description + "Status"; + } + } + + grouping ISIS-SH-IF-AF { + description + "Per Address family info"; + container af-status { + description + "Address Family status of the interface"; + uses ISIS-SH-IF-AF-STATUS; + } + leaf af-name { + type Isis-af-id; + description + "Address Family Identifier of the interface"; + } + } + + grouping ISIS-SH-MADJ-SID-IF { + description + "Manual Adjacency SID Interface Configuration and + Operation"; + leaf manual-adjacency-sid-label { + type Isis-nodal-sid-value; + description + "Manual Adjacency SID Label"; + } + leaf manual-adjacency-sid-index { + type Isis-nodal-sid-value; + description + "Manual Adjacency SID Index (if configured as + index)"; + } + leaf manual-adjacency-sid-type { + type uint8; + description + "Manual Adjacency SID Type (Absolute or Index)"; + } + leaf sid-protected { + type boolean; + description + "SID configured as protected by backup path"; + } + leaf sid-active { + type boolean; + description + "SID is in use"; + } + } + + grouping ISIS-FRR-TIEBREAKER-SORTED { + description + "FRR Tie Breaker Structure"; + leaf tie-breaker { + type Isis-frr-tiebreaker; + description + "Tie Breaker Type"; + } + leaf index { + type uint8; + description + "Tie Breaker Index"; + } + } + + grouping ISIS-SH-IF-FRR-LEVEL { + description + "Per level FRR information"; + leaf frr-type { + type Isis-frr; + description + "FRR type configured per level for this interface"; + } + leaf is-frr { + type boolean; + description + "Is FRR enabled per level on this interface"; + } + leaf is-remote-lfa { + type boolean; + description + "Is FRR Remote LFA enabled per level for this + interface"; + } + leaf is-ti-lfa { + type boolean; + description + "Is FRR TI LFA enabled per level for this + interface"; + } + leaf ti-lfa-node-tie-breaker-index { + type uint8; + description + "TI LFA node-protecting Tie breaker index"; + } + leaf ti-lfa-srlg-tie-breaker { + type uint8; + description + "TI LFA srlg Tie breaker index"; + } + leaf ti-lfa-linecard-disjoint-tie-breaker { + type uint8; + description + "TI LFA Linecard Disjoint Tie breaker index"; + } + leaf is-tie-breakers-configured { + type boolean; + description + "Is Tiebreaker configured per level for this + interface"; + } + list frr-tie-breaker { + max-elements "8"; + description + "FRR TieBreakers array per level for this + interface"; + uses ISIS-FRR-TIEBREAKER-SORTED; + } + } + + grouping ISIS-SH-IF-TOPO-ADV-PREFIX-DISABLED { + description + "Topology info when prefix advertisement is + disabled"; + leaf reason-code { + type Isis-if-topo-adv-prefix-disabled-reason; + description + "Reason why the prefix advertisement status of a + topology is disabled"; + } + } + + grouping ISIS-SH-IF-TOPO-ADV-PREFIX-STATUS { + description + "ISIS SH IF TOPO ADV PREFIX STATUS"; + container disabled { + when "../status = 'isis-disabled'" { + description + "../Status = 'ISIS_DISABLED'"; + } + description + "Disabled state for the prefix advertisement + status of a topology"; + uses ISIS-SH-IF-TOPO-ADV-PREFIX-DISABLED; + } + leaf status { + type Isis-enabled; + description + "Status"; + } + } + + grouping ISIS-SH-IF-TOPO-ADJ-FORM-DISABLED { + description + "Topology info when adjacency formation is + disabled"; + leaf reason-code { + type Isis-if-topo-adj-form-disabled-reason; + description + "Reason why the adjacency formation status of a + topology is disabled"; + } + } + + grouping ISIS-SH-IF-TOPO-ADJ-FORM-STATUS { + description + "ISIS SH IF TOPO ADJ FORM STATUS"; + container disabled { + when "../status = 'isis-disabled'" { + description + "../Status = 'ISIS_DISABLED'"; + } + description + "Disabled state for the adjacency formation + status of a topology"; + uses ISIS-SH-IF-TOPO-ADJ-FORM-DISABLED; + } + leaf status { + type Isis-enabled; + description + "Status"; + } + } + + grouping ISIS-SH-IF-TOPO-ENABLED { + description + "Enabled topology info of an interface"; + container adjacency-form-status { + description + "Adjacency formation status of a topology"; + uses ISIS-SH-IF-TOPO-ADJ-FORM-STATUS; + } + container adv-prefix-status { + description + "Prefix advertisement status of a topology"; + uses ISIS-SH-IF-TOPO-ADV-PREFIX-STATUS; + } + container level1-frr { + description + "Level1 FRR information"; + uses ISIS-SH-IF-FRR-LEVEL; + } + container level2-frr { + description + "Level2 FRR information"; + uses ISIS-SH-IF-FRR-LEVEL; + } + leaf level1-metric { + type Isis-metric; + description + "L1 metric for this topology"; + } + leaf level2-metric { + type Isis-metric; + description + "L2 metric for this topology"; + } + leaf level1-weight { + type Isis-metric; + description + "L1 metric for this topology"; + } + leaf level2-weight { + type Isis-metric; + description + "L2 metric for this topology"; + } + leaf level1-metric-fallback-bandwidth-activated { + type boolean; + description + "L1 metric fallback bandwidth activated"; + } + leaf level2-metric-fallback-bandwidth-activated { + type boolean; + description + "L2 metric fallback bandwidth activated"; + } + leaf level1-metric-fallback-anomaly-activated { + type boolean; + description + "L1 metric fallback anomaly activated"; + } + leaf level2-metric-fallback-anomaly-activated { + type boolean; + description + "L2 metric fallback anomaly activated"; + } + leaf max-label-supported { + type uint8; + description + "MPLS maximum number of pri labels supported"; + } + leaf max-bkp-label-supported { + type uint8; + description + "MPLS maximum number of backup labels supported"; + } + leaf max-srte-label-supported { + type uint8; + description + "MPLS maximum number of srte labels supported"; + } + leaf max-srat-label-supported { + type uint8; + description + "MPLS maximum number of sr auto-tunnel labels + supported"; + } + leaf level1ldp-sync-enabled { + type boolean; + description + "MPLS LDP sync enabled status for L1"; + } + leaf level2ldp-sync-enabled { + type boolean; + description + "MPLS LDP sync enabled status for L2"; + } + leaf ldp-sync-status { + type boolean; + description + "Status of MPLS LDP synchronization"; + } + leaf ld-pv6-sync-status { + type boolean; + description + "Status of MPLS LDPv6 synchronization"; + } + leaf level1-offset-metric { + type Isis-metric; + description + "L1 metric-offset for this topology"; + } + leaf level2-offset-metric { + type Isis-metric; + description + "L2 metric-offset for this topology"; + } + leaf level1-lkgp-configured { + type boolean; + description + "Link-Group configure status for L1"; + } + leaf level2-lkgp-configured { + type boolean; + description + "Link-Group configure status for L2"; + } + leaf level1pp-metric { + type Isis-metric; + description + "L1 PP-metric for this topology"; + } + leaf level2pp-metric { + type Isis-metric; + description + "L2 PP-metric for this topology"; + } + leaf level1pp-configured { + type boolean; + description + "PP configure status for L1"; + } + leaf level2pp-configured { + type boolean; + description + "PP configure status for L2"; + } + leaf link-group-name { + type string; + description + "Link-Group name"; + } + leaf l1-adv-pfx-policy { + type string; + description + "L1 Advertise Prefix Policy Name"; + } + leaf l2-adv-pfx-policy { + type string; + description + "L2 Advertise Prefix Policy Name"; + } + leaf l1-adv-pfx-pass { + type boolean; + description + "L1 Advertise Prefix Policy Pass"; + } + leaf l2-adv-pfx-pass { + type boolean; + description + "L2 Advertise Prefix Policy Pass"; + } + list manual-adj-sid { + description + "Array of Manual Adjacency SIDs"; + uses ISIS-SH-MADJ-SID-IF; + } + } + + grouping ISIS-SH-IF-TOPO-DISABLED { + description + "Disabled topology info of an interface"; + leaf reason-code { + type Isis-if-topo-disabled-reason; + description + "Reason why the topology is disabled"; + } + } + + grouping ISIS-SH-IF-TOPO-STATUS { + description + "ISIS SH IF TOPO STATUS"; + container disabled { + when "../status = 'isis-disabled'" { + description + "../Status = 'ISIS_DISABLED'"; + } + description + "Disabled information of a topology"; + uses ISIS-SH-IF-TOPO-DISABLED; + } + container enabled { + when "../status = 'isis-enabled'" { + description + "../Status = 'ISIS_ENABLED'"; + } + description + "Enabled information of a topology"; + uses ISIS-SH-IF-TOPO-ENABLED; + } + leaf status { + type Isis-enabled; + description + "Status"; + } + } + + grouping ISIS-SH-IF-TOPO { + description + "Per topology info of an interface"; + container topology-id { + description + "Topology identifier"; + uses ISIS-TOPO-ID-TYPE; + } + container status { + description + "Status of the topology"; + uses ISIS-SH-IF-TOPO-STATUS; + } + } + + grouping ISIS-SH-IF-AREA-ACTIVE-LAN { + description + "Per-interface, per-area data for active LAN + interface"; + leaf circuit-lan-id { + type Isis-circuit-id; + description + "Circuit LAN ID"; + } + leaf time-until-next-iih { + type uint32; + description + "Time (ms) until next IIH"; + } + leaf interface-priority { + type Isis-dr-priority; + description + "Interface's DIS-election priority"; + } + leaf dispriority { + type Isis-dr-priority; + description + "Priority of current DIS on this LAN"; + } + leaf are-we-dis { + type boolean; + description + "Flag indicating if this LAN circuit is the DIS"; + } + } + + grouping ISIS-SH-IF-AREA-ACTIVE { + description + "Per-area data for an interface"; + container lan-data { + description + "LAN data, NULL iff interface has non-LAN media + type"; + uses ISIS-SH-IF-AREA-ACTIVE-LAN; + } + leaf level { + type Isis-level; + description + "Level of the area"; + } + leaf adjacency-count { + type uint32; + description + "Number of adjacencies"; + } + leaf lsp-pacing-interval { + type uint32; + description + "LSP pacing time period (ms)"; + } + leaf psnp-transmit-queue-size { + type uint32; + description + "No. of SNP entries queued to be transmitted"; + } + leaf hello-interval { + type uint32; + description + "Hello interval"; + } + leaf hello-multiplier { + type uint32; + description + "Hello Multiplier"; + } + } + + grouping ISIS-SH-IF-CLNS-P2P-OVER-LAN { + description + "Point-to-point over LAN specific CLNS state"; + container multicast-status { + description + "Multicast group membership status"; + uses ISIS-SH-IF-MCAST-STATUS; + } + } + + grouping ISIS-SH-IF-CLNS-P2P { + description + "Point-to-point CLNS state"; + container p2p-over-lan-data { + description + "Point-to-point over LAN data"; + uses ISIS-SH-IF-CLNS-P2P-OVER-LAN; + } + } + + grouping ISIS-SH-IF-MCAST-INVALID { + description + "Invalid multicast info"; + leaf reason-code { + type Isis-if-mcast-invalid-reason; + description + "Reason why the multicast status is invalid"; + } + } + + grouping ISIS-SH-IF-MCAST-STATUS { + description + "ISIS SH IF MCAST STATUS"; + container invalid { + when "../status = 'isis-invalid'" { + description + "../Status = 'ISIS_INVALID'"; + } + description + "Information pertaining to the invalid multicast + status"; + uses ISIS-SH-IF-MCAST-INVALID; + } + leaf status { + type Isis-valid; + description + "Status"; + } + } + + grouping ISIS-SH-IF-AREA-CLNS { + description + "Per interface per area CLNS state"; + container multicast-status { + description + "Multicast group membership status"; + uses ISIS-SH-IF-MCAST-STATUS; + } + leaf level { + type Isis-level; + description + "Level of the area"; + } + } + + grouping ISIS-SH-IF-CLNS-LAN { + description + "LAN specific CLNS state"; + list per-area-data { + description + "Array of per area CLNS data"; + uses ISIS-SH-IF-AREA-CLNS; + } + } + + grouping ISIS-SH-IF-CLNS-MEDIA-SPECIFIC-STATUS { + description + "Media Specific CLNS state"; + container clns-lan-data { + when "../clns-media-type = 'isis-media-class-lan'" { + description + "../CLNSMediaType = 'ISIS_MEDIA_CLASS_LAN'"; + } + description + "LAN state"; + uses ISIS-SH-IF-CLNS-LAN; + } + container clns-p2p-data { + when "../clns-media-type = 'isis-media-class-p2p'" { + description + "../CLNSMediaType = 'ISIS_MEDIA_CLASS_P2P'"; + } + description + "Point-to-point state"; + uses ISIS-SH-IF-CLNS-P2P; + } + leaf clns-media-type { + type Isis-media-class; + description + "CLNSMediaType"; + } + } + + grouping ISIS-SH-IF-CLNS-SNPA-KNOWN { + description + "CLNS SNPA info"; + leaf snpa { + type xr:Isis-snpa; + description + "Valid SNPA"; + } + } + + grouping ISIS-SH-IF-CLNS-SNPA-UNKNOWN { + description + "Interface info with CLNS SNPA unknown"; + leaf reason-code { + type Isis-if-clns-snpa-unknown-reason; + description + "Reason why the SNPA is unknown"; + } + } + + grouping ISIS-SH-IF-CLNS-SNPA-STATUS { + description + "ISIS SH IF CLNS SNPA STATUS"; + container unknown { + when "../status = 'isis-unknown'" { + description + "../Status = 'ISIS_UNKNOWN'"; + } + description + "Information pertaining to the unknown SNPA state"; + uses ISIS-SH-IF-CLNS-SNPA-UNKNOWN; + } + container known { + when "../status = 'isis-known'" { + description + "../Status = 'ISIS_KNOWN'"; + } + description + "Information pertaining to the known SNPA state"; + uses ISIS-SH-IF-CLNS-SNPA-KNOWN; + } + leaf status { + type Isis-known; + description + "Status"; + } + } + + grouping ISIS-SH-IF-CLNS-MTU-INVALID { + description + "Interface info with invalid MTU"; + leaf reason-code { + type Isis-if-clns-mtu-invalid-reason; + description + "Reason why the MTU is invalid"; + } + } + + grouping ISIS-SH-IF-CLNS-MTU-STATUS { + description + "ISIS SH IF CLNS MTU STATUS"; + container invalid { + when "../status = 'isis-invalid'" { + description + "../Status = 'ISIS_INVALID'"; + } + description + "Information pertaining to the invalid CLNS MTU"; + uses ISIS-SH-IF-CLNS-MTU-INVALID; + } + leaf status { + type Isis-valid; + description + "Status"; + } + leaf mtu { + when "../status = 'isis-valid'" { + description + "../Status = 'ISIS_VALID'"; + } + type uint32; + description + "Valid MTU"; + } + } + + grouping ISIS-SH-IF-CLNS-PROTO-DOWN { + description + "Interface info when CLNS is down"; + leaf reason-code { + type Isis-if-clns-proto-down-reason; + description + "Reason why CLNS is down"; + } + } + + grouping ISIS-SH-IF-CLNS-STATUS { + description + "ISIS SH IF CLNS STATUS"; + container clns-down-info { + when "../status = 'isis-down'" { + description + "../Status = 'ISIS_DOWN'"; + } + description + "State describing why CLNS is down"; + uses ISIS-SH-IF-CLNS-PROTO-DOWN; + } + leaf status { + type Isis-up; + description + "Status"; + } + } + + grouping ISIS-SH-IF-CLNS { + description + "CLNS I/O data for an interface"; + container clns-status { + description + "Is CLNS protcol up or if not, the reason why it + is not up"; + uses ISIS-SH-IF-CLNS-STATUS; + } + container mtu-info { + description + "A valid MTU or the reason for the MTU being + invalid"; + uses ISIS-SH-IF-CLNS-MTU-STATUS; + } + container snpa-state { + description + "SNPA state"; + uses ISIS-SH-IF-CLNS-SNPA-STATUS; + } + container media-specific-state { + description + "Media Specific CLNS state"; + uses ISIS-SH-IF-CLNS-MEDIA-SPECIFIC-STATUS; + } + leaf time-until-next-lsp { + type uint32; + description + "Time until next LSP may be sent (ms)"; + } + leaf lsp-transmit-requested-flag { + type boolean; + description + "TRUE if an LSP transmission has been requested"; + } + leaf lsp-transmitted-flag { + type boolean; + description + "TRUE if an LSP transmission has been sent, + indicates LastLSPLevelTransmitted and + LastLSP_IDTransmitted valid"; + } + leaf lsp-txmitd-b2b-limit { + type uint32; + description + "Number of LSPs that can be sent back to back in + the current window without exceeding the pacing + limit"; + } + leaf lsp-txmt-b2b-msecs { + type uint32; + units "millisecond"; + description + "Time im msecs indicating the end of the window + in which the 'back to back lsps to be sent' + counter applies"; + } + leaf last-lsp-level-transmitted { + type Isis-level; + description + "Level of the Last LSP Transmitted"; + } + leaf last-lsp-id-transmitted { + type xr:Isis-lsp-id; + description + "Last LSP ID Transmitted"; + } + } + + grouping ISIS-SH-IF-BFD-TYPE { + description + "Per-interface BFD data"; + leaf enabled { + type boolean; + description + "IPv4 BFD enabled status"; + } + leaf ipv6-enabled { + type boolean; + description + "IPv6 BFD enabled status"; + } + leaf interval { + type uint32; + units "millisecond"; + description + "BFD hello minimum interval in milliseconds"; + } + leaf multiplier { + type uint32; + description + "BFD hello multiplier"; + } + } + + grouping ISIS-SH-IF-ACTIVE-P2P { + description + "Per-interface data"; + leaf time-until-next-iih { + type uint32; + description + "Time in ms before the next IIH can be sent"; + } + leaf retransmit-lsp-queue-size { + type uint32; + description + "No. of LSPs queued to be retransmitted"; + } + leaf retransmit-lsp-interval { + type uint32; + description + "Time in ms until the next scheduled LSP is + retransmitted"; + } + leaf extended-circuit-number { + type Isis-extended-circuit-number; + description + "Extended Circuit Number valid for a P2P + interface"; + } + } + + grouping ISIS-SH-IF-ADV-PREFIX-DISABLED { + description + "Interface info when prefix advertisement is + disabled"; + leaf reason-code { + type Isis-if-adv-prefix-disabled-reason; + description + "Reason why the interface is not able to + advertise prefixes"; + } + } + + grouping ISIS-SH-IF-ADV-PREFIX-STATUS { + description + "ISIS SH IF ADV PREFIX STATUS"; + container disabled { + when "../status = 'isis-disabled'" { + description + "../Status = 'ISIS_DISABLED'"; + } + description + "Disabled info for the prefix advertisement + status"; + uses ISIS-SH-IF-ADV-PREFIX-DISABLED; + } + leaf status { + type Isis-enabled; + description + "Status"; + } + } + + grouping ISIS-SH-IF-ADJ-FORM-DISABLED { + description + "Interface info when adjacency formation is + disabled"; + leaf reason-code { + type Isis-if-adj-form-disabled-reason; + description + "Reason why the interface is not able to form + adjacencies"; + } + } + + grouping ISIS-SH-IF-ADJ-FORM-STATUS { + description + "ISIS SH IF ADJ FORM STATUS"; + container disabled { + when "../status = 'isis-disabled'" { + description + "../Status = 'ISIS_DISABLED'"; + } + description + "Disabled info for the adjacency formation status"; + uses ISIS-SH-IF-ADJ-FORM-DISABLED; + } + leaf status { + type Isis-enabled; + description + "Status"; + } + } + + grouping ISIS-SH-IF-ENABLED { + description + "State of an enabled interface"; + container adjacency-form-status { + description + "Interface's Adjacency Formation status"; + uses ISIS-SH-IF-ADJ-FORM-STATUS; + } + container adv-prefix-status { + description + "Interface's Prefix Advertisement status"; + uses ISIS-SH-IF-ADV-PREFIX-STATUS; + } + container p2p-data { + description + "Data for an active P2P interface, NULL if not + active or P2P"; + uses ISIS-SH-IF-ACTIVE-P2P; + } + container bfd-data { + description + "The BFD data for the given interface"; + uses ISIS-SH-IF-BFD-TYPE; + } + container clns-data { + description + "Interface data specific to CLNS I/O services"; + uses ISIS-SH-IF-CLNS; + } + leaf interface-media-type { + type Isis-media-class; + description + "Media type of the interface"; + } + leaf enabled-circuit-type { + type Isis-levels; + description + "Enabled Circuit type of the interface"; + } + leaf local-circuit-number { + type Isis-circuit-number; + description + "Local Circuit Number of the interface"; + } + leaf rsi-srlg-registered { + type boolean; + description + "Rsi Srlg Registered"; + } + leaf bandwidth { + type uint64; + description + "Effective bandwidth of the interface"; + } + leaf is-total-bandwidth-set { + type boolean; + description + "Is total bandwidth set"; + } + leaf total-bandwidth { + type uint64; + description + "Total bandwidth of the interface"; + } + leaf delay-norm-interval { + type uint32; + description + "Delay Normalization Interval"; + } + leaf delay-norm-offset { + type uint32; + description + "Delay Normalization Offset"; + } + leaf avg-delay { + type uint32; + description + "Normalized Average Delay"; + } + leaf avg-delay-raw { + type uint32; + description + "Raw Average Delay"; + } + leaf avg-delay-abit { + type boolean; + description + "Average Delay Anomaly Flag"; + } + leaf min-delay { + type uint32; + description + "Normalized Minimum Delay"; + } + leaf max-delay { + type uint32; + description + "Normalized Maximum Delay"; + } + leaf min-delay-raw { + type uint32; + description + "Raw Minimum Delay"; + } + leaf max-delay-raw { + type uint32; + description + "Raw Maximum Delay"; + } + leaf min-max-delay-abit { + type boolean; + description + "Min/Max Delay Anomaly Flag"; + } + leaf packet-loss-percentage { + type uint32; + description + "Packet Loss"; + } + leaf packet-loss-abit { + type boolean; + description + "Packet Loss Anomaly Flag"; + } + list underlying-interface { + description + "Underlying interface list for bundle interfaces"; + uses ISIS-SH-INTF-DET; + } + list per-area-data { + description + "Array of area information for an active + interface"; + uses ISIS-SH-IF-AREA-ACTIVE; + } + list per-topology-data { + description + "Array of topology information"; + uses ISIS-SH-IF-TOPO; + } + list per-address-family-data { + description + "Array of address family information"; + uses ISIS-SH-IF-AF; + } + } + + grouping ISIS-SH-IF-DISABLED { + description + "Disabled interface info"; + leaf reason-code { + type Isis-if-disabled-reason; + description + "Reason why the interface is disabled"; + } + } + + grouping ISIS-SH-IF-STATUS { + description + "ISIS SH IF STATUS"; + container disabled { + when "../status = 'isis-disabled'" { + description + "../Status = 'ISIS_DISABLED'"; + } + description + "The interface state if disabled"; + uses ISIS-SH-IF-DISABLED; + } + container enabled { + when "../status = 'isis-enabled'" { + description + "../Status = 'ISIS_ENABLED'"; + } + description + "The interface state if enabled"; + uses ISIS-SH-IF-ENABLED; + } + leaf status { + type Isis-enabled; + description + "Status"; + } + } + + grouping ISIS-SH-IF-CFG-STATUS { + description + "Configured state of an interface"; + leaf adjacency-form-status { + type boolean; + description + "Configured adjacency formation status"; + } + leaf adv-prefix-status { + type boolean; + description + "Configured prefix advertisement status"; + } + } + + grouping ISIS-SH-IF { + description + "All the Information of an IS-IS interface"; + container configured-status { + description + "Configured interface status"; + uses ISIS-SH-IF-CFG-STATUS; + } + container interface-status-and-data { + description + "Information about the interface status and its + data"; + uses ISIS-SH-IF-STATUS; + } + leaf configured-circuit-type { + type Isis-levels; + description + "Configured circuit type for the interface"; + } + leaf mesh-group { + type Isis-mesh-group-number; + description + "Interface mesh group"; + } + leaf is-type { + type Isis-levels; + description + "IS-type of the router"; + } + leaf nsr-intf { + type boolean; + description + "ISIS NSR Interface"; + } + } + + grouping ISIS-SH-SRLG-STATIC-NAME { + description + "ISIS Static Link SRLG Name "; + leaf srlg-name { + type string; + description + "SRLGName"; + } + } + + grouping ISIS-SH-SRLG-STATIC { + description + "SRLG Static"; + leaf local-ipv4-addr { + type Isis-ipv4-address; + description + "LocalIPv4Addr"; + } + leaf remote-ipv4-addr { + type Isis-ipv4-address; + description + "RemoteIPv4Addr"; + } + list srlg-name-xr { + description + "SRLGNames"; + uses ISIS-SH-SRLG-STATIC-NAME; + } + } + + grouping NSR-STATUS-NII-INTF { + description + "NSR STATUS NII INTF"; + leaf exist { + type boolean; + description + "exist"; + } + leaf brought-up { + type boolean; + description + "brought up"; + } + leaf retry-timer { + type boolean; + description + "retry timer"; + } + leaf running { + type boolean; + description + "running"; + } + leaf has-adj { + type boolean; + description + "has adj"; + } + } + + grouping NSR-STATUS-TE { + description + "NSR STATUS TE"; + leaf enabled { + type uint8; + description + "enabled"; + } + leaf conn-up { + type uint8; + description + "conn up"; + } + leaf te-link-cb { + type uint8; + description + "te link cb"; + } + leaf te-tunnel-cb { + type uint8; + description + "te tunnel cb"; + } + leaf adv-sync-data { + type uint8; + description + "adv sync data"; + } + leaf link-purge-time-on { + type uint8; + description + "link purge time on"; + } + leaf tunnel-purge-time-on { + type uint8; + description + "tunnel purge time on"; + } + leaf has-info-from-te { + type uint8; + description + "has info from te"; + } + } + + grouping NSR-STATUS-DS { + description + "NSR STATUS DS"; + container conn-ts { + description + "conn ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container conn-cb-ts { + description + "conn cb ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container pub-ts { + description + "pub ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container pub-cb-ts { + description + "pub cb ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container reg-ts { + description + "reg ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container reg-cb-ts { + description + "reg cb ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container unreg-ts { + description + "unreg ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container unreg-cb-ts { + description + "unreg cb ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container disconn-cb-ts { + description + "disconn cb ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container notify-cb-ts { + description + "notify cb ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container del-cb-ts { + description + "del cb ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container remove-srv-ts { + description + "remove srv ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container conn-status-ts { + description + "conn status ts"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + leaf conn { + type uint8; + description + "conn"; + } + leaf conn-cb { + type uint8; + description + "conn cb"; + } + leaf pub { + type uint8; + description + "pub"; + } + leaf pub-cb { + type uint8; + description + "pub cb"; + } + leaf reg { + type uint8; + description + "reg"; + } + leaf reg-cb { + type uint8; + description + "reg cb"; + } + leaf unreg { + type uint8; + description + "unreg"; + } + leaf unreg-cb { + type uint8; + description + "unreg cb"; + } + leaf disconn-cb { + type uint8; + description + "disconn cb"; + } + leaf notify-cb { + type uint8; + description + "notify cb"; + } + leaf notify-peer-xr { + type yang:hex-string; + description + "notify peer xr"; + } + leaf del-cb { + type uint8; + description + "del cb"; + } + leaf remove-srv { + type uint8; + description + "remove srv"; + } + leaf conn-status { + type boolean; + description + "conn status"; + } + list notify-peer { + max-elements "4"; + description + "notify peer"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + } + + grouping NSR-STATUS-PM { + description + "NSR STATUS PM"; + leaf reg { + type uint8; + description + "reg"; + } + leaf conn-cb { + type uint8; + description + "conn cb"; + } + leaf disconn-cb { + type uint8; + description + "disconn cb"; + } + leaf conn-status { + type boolean; + description + "conn status"; + } + } + + grouping NSR-STATUS-NCD { + description + "NSR STATUS NCD"; + leaf vm-idx { + type uint8; + description + "vm idx"; + } + leaf conn-up { + type boolean; + description + "conn up"; + } + leaf endp-hdl { + type uint8; + description + "endp hdl"; + } + leaf chksum { + type uint16; + description + "chksum"; + } + leaf send-seqnum { + type uint32; + description + "send seqnum"; + } + leaf recv-cnt { + type uint32; + description + "recv cnt"; + } + } + + grouping NSR-STATUS-GEN { + description + "NSR STATUS GEN"; + leaf my-nodeid { + type uint32; + description + "my nodeid"; + } + leaf my-process-id { + type uint32; + description + "my process id"; + } + leaf pm-issu-role { + type uint8; + description + "pm issu role"; + } + leaf pm-ha-role { + type uint8; + description + "pm ha role"; + } + leaf sysmgr-ha-role { + type uint8; + description + "sysmgr ha role"; + } + leaf nsr-send-ready { + type uint8; + description + "nsr send ready"; + } + leaf nsr-send-unready { + type uint8; + description + "nsr send unready"; + } + leaf nsr-send-err { + type uint32; + description + "nsr send err"; + } + leaf nsr-recv-err { + type uint32; + description + "nsr recv err"; + } + leaf retry-flag { + type uint32; + description + "retry flag"; + } + leaf nsr-enabled { + type boolean; + description + "nsr enabled"; + } + leaf nsr-configured { + type boolean; + description + "nsr configured"; + } + leaf nsf-configured { + type boolean; + description + "nsf configured"; + } + leaf failover { + type boolean; + description + "failover"; + } + leaf lanid-req-needed { + type boolean; + description + "lanid req needed"; + } + } + + grouping NSR-STATUS-INFRA-TYPE { + description + "NSR STATUS INFRA TYPE"; + container gen { + description + "gen"; + uses NSR-STATUS-GEN; + } + container pm { + description + "pm"; + uses NSR-STATUS-PM; + } + container ds { + description + "ds"; + uses NSR-STATUS-DS; + } + container te { + description + "te"; + uses NSR-STATUS-TE; + } + list ncd { + max-elements "5"; + description + "ncd"; + uses NSR-STATUS-NCD; + } + list nii-idb { + max-elements "3"; + description + "nii idb"; + uses NSR-STATUS-NII-INTF; + } + } + + grouping NSR-STATUS-GBL-TYPE { + description + "NSR STATUS GBL TYPE"; + list full-sync-achieved { + max-elements "3"; + description + "full sync achieved"; + leaf entry { + type uint32; + description + "full sync achieved"; + } + } + list man-sync-count { + max-elements "3"; + description + "man sync count"; + leaf entry { + type uint32; + description + "man sync count"; + } + } + list nsr-chg-count { + max-elements "3"; + description + "nsr chg count"; + leaf entry { + type uint32; + description + "nsr chg count"; + } + } + list uptime { + max-elements "3"; + description + "uptime"; + leaf entry { + type uint32; + description + "uptime"; + } + } + list uptime-valid { + min-elements 3; + max-elements "3"; + description + "uptime valid"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + } + + grouping ISIS-SH-NSR-STATUS-GLOBAL { + description + "IS-IS process NSR status"; + container isis-nsr-peer { + description + "ISIS NSR PEER STATUS"; + uses NSR-STATUS-GBL-TYPE; + } + container isis-nsr-infra { + description + "ISIS NSR Infra"; + uses NSR-STATUS-INFRA-TYPE; + } + leaf isis-vm-state { + type uint16; + description + "ISIS VM STATE"; + } + } + + grouping ISIS-SH-SRLG { + description + "ISIS SRLG"; + leaf srlg-name-xr { + type string; + description + "SRLG Name"; + } + leaf srlg-value { + type uint32; + description + "SRLG Value"; + } + leaf srlg-admin-weight { + type uint32; + description + "SRLG Admin Weight"; + } + leaf srlg-value-set { + type boolean; + description + "SRLG value set"; + } + leaf srlg-admin-weight-set { + type boolean; + description + "SRLG Admin Weight Set"; + } + leaf srlg-isis-cfg { + type boolean; + description + "SRLG ISIS Configuration"; + } + leaf srlg-global-cfg { + type boolean; + description + "SRLG Global Configuration"; + } + } + + grouping ISIS-SH-TE-TUNNEL { + description + "MPLS TE tunnel"; + leaf te-system-id { + type xr:Osi-system-id; + description + "Destination system ID"; + } + leaf te-interface { + type xr:Interface-name; + description + "Tunnel interface"; + } + leaf te-bandwidth { + type uint32; + description + "Tunnel bandwidth"; + } + leaf teigp-metric { + type int32; + description + "Tunnel metric"; + } + leaf te-next-hop-ip-address { + type inet:ipv4-address; + description + "Tunnel next-hop IP address"; + } + leaf te-mode-type { + type Isis-metric-mode; + description + "Tunnel metric mode"; + } + leaf teipv4fa-enabled { + type boolean; + description + "Indicates whether MPLS TE IPv4 forwarding + adjacency is enabled"; + } + leaf teipv6fa-enabled { + type boolean; + description + "Indicates whether MPLS TE IPv6 forwarding + adjacency is enabled"; + } + leaf teipv4aa-enabled { + type boolean; + description + "Indicates whether MPLS TE IPv4 autoroute + announce is enabled"; + } + leaf teipv6aa-enabled { + type boolean; + description + "Indicates whether MPLS TE IPv6 autoroute + announce is enabled"; + } + leaf te-checkpoint-object-id { + type uint32; + description + "Tunnel checkpoint object ID"; + } + leaf te-segment-routing-enabled { + type boolean; + description + "Indicates whether MPLS TE segment routing is + enabled"; + } + leaf te-segment-routing-strict-spf { + type boolean; + description + "Indicates whether MPLS TE segment routing strict + SPF is enabled"; + } + leaf te-segment-routing-exclude { + type boolean; + description + "Indicates whether Segment routing labeled + traffic exclusion is enabled"; + } + } + + grouping ISIS-SH-SPF-LOG-ROUTE-UPDATE-PREFIX-COUNTS { + description + "Prefix item counts for the route update phase"; + container unreachable { + description + "Number of unreachable prefixes in the database"; + uses ISIS-PER-PRIORITY-COUNTS; + } + container reachable { + description + "Number of reachable prefixes in the database"; + uses ISIS-PER-PRIORITY-COUNTS; + } + container added { + description + "Number of prefixes added during calculation"; + uses ISIS-PER-PRIORITY-COUNTS; + } + container deleted { + description + "Number of prefixes deleted during calculation"; + uses ISIS-PER-PRIORITY-COUNTS; + } + container modified { + description + "Number of prefixes modified, i.e. a first hop + and/or metric change"; + uses ISIS-PER-PRIORITY-COUNTS; + } + container touched { + description + "Number of prefixes considered whilst updating + the routing table"; + uses ISIS-PER-PRIORITY-COUNTS; + } + } + + grouping ISIS-SH-SPF-LOG-ROUTE-UPDATE-NODE-COUNTS { + description + "Node counts for the route update phase"; + container per-priority-touched { + description + "Per-priority count of nodes considered during + route update"; + uses ISIS-PER-PRIORITY-COUNTS; + } + leaf total-touched { + type uint32; + description + "Total number of nodes considered during route + update"; + } + } + + grouping ISIS-PER-PRIORITY-TIMINGS { + description + "Per-priority timings"; + container critical { + description + "Critical priority"; + uses ISIS-TIMINGS-TYPE; + } + container high { + description + "High priority"; + uses ISIS-TIMINGS-TYPE; + } + container medium { + description + "Medium priority"; + uses ISIS-TIMINGS-TYPE; + } + container low { + description + "Low priority"; + uses ISIS-TIMINGS-TYPE; + } + } + + grouping ISIS-SH-SPF-LOG-ROUTE-UPDATE-TIMINGS-BREAKDOWN { + description + "Breakdown of the time taken to perform the route + update"; + container local-rib-update { + description + "Time to update IS-IS's local RIB"; + uses ISIS-PER-PRIORITY-TIMINGS; + } + container global-rib-build { + description + "Time to build the update to send to the global + RIB"; + uses ISIS-PER-PRIORITY-TIMINGS; + } + container global-rib-send { + description + "Time to send the update to the global RIB"; + uses ISIS-PER-PRIORITY-TIMINGS; + } + } + + grouping ISIS-SH-SPF-LOG-ROUTE-UPDATE { + description + "Statistics for the route update phase of the + calculation"; + container duration { + description + "Duration of the routing table update"; + uses ISIS-TIMINGS-TYPE; + } + container duration-breakdown { + description + "Breakdown of the time taken by the routing table + update"; + uses ISIS-SH-SPF-LOG-ROUTE-UPDATE-TIMINGS-BREAKDOWN; + } + container node-counts { + description + "Node counts"; + uses ISIS-SH-SPF-LOG-ROUTE-UPDATE-NODE-COUNTS; + } + container item-counts { + description + "Prefix item counts"; + uses ISIS-SH-SPF-LOG-ROUTE-UPDATE-PREFIX-COUNTS; + } + container route-counts { + description + "Distinct prefix counts"; + uses ISIS-SH-SPF-LOG-ROUTE-UPDATE-PREFIX-COUNTS; + } + container rib-batch-counts { + description + "Number of RIB batches sent"; + uses ISIS-PER-PRIORITY-COUNTS; + } + } + + grouping ISIS-SH-SPF-LOG-SPT-CALC-NODE-COUNTS { + description + "Node counts for the SPT calculation phase"; + leaf unreachable { + type uint32; + description + "Number of unreachable nodes in the database"; + } + leaf reachable { + type uint32; + description + "Number of reachable nodes in the database"; + } + leaf added { + type uint32; + description + "Number of nodes added to the SPT"; + } + leaf deleted { + type uint32; + description + "Number of nodes deleted from the SPT"; + } + leaf modified { + type uint32; + description + "Number of modified nodes (first hop and/or + metric change)"; + } + leaf touched { + type uint32; + description + "Number of nodes touched whilst calculating the + SPT"; + } + } + + grouping ISIS-TIMINGS-TYPE { + description + "Duration of an event in real and CPU time"; + leaf real-duration { + type uint32; + units "millisecond"; + description + "Real time duration in milliseconds"; + } + leaf cpu-duration { + type uint32; + units "millisecond"; + description + "CPU time duration in milliseconds"; + } + } + + grouping ISIS-SH-SPF-LOG-SPT-CALC { + description + "Statistics for the SPT calculation phase"; + container duration { + description + "Duration of the SPT calculation"; + uses ISIS-TIMINGS-TYPE; + } + container node-counts { + description + "Node counts"; + uses ISIS-SH-SPF-LOG-SPT-CALC-NODE-COUNTS; + } + } + + grouping ISIS-SH-SPF-LOG-TRIGGERS { + description + "The reasons for running a calculation"; + container trigger-prefix { + description + "ID of a changed prefix in the first trigger LSP, + if any"; + uses ISIS-IP-PREFIX-TYPE; + } + leaf unique-trigger-count { + type uint32; + description + "Number of unique triggers on this run"; + } + leaf first-trigger-lsp-id { + type xr:Isis-lsp-id; + description + "ID of the first LSP to trigger the calculation, + if any"; + } + leaf trigger-link { + type xr:Isis-node-id; + description + "ID of a changed link in the first trigger LSP, + if any"; + } + leaf trigger-next-hop-id { + type xr:Osi-system-id; + description + "ID of a changed next hop, if any"; + } + leaf is-sr-uloop-calculation { + type boolean; + description + "Is this SR micro loop calculation?"; + } + leaf is-sr-uloop-link-down { + type boolean; + description + "Is this SR micro loop calculation for link down?"; + } + list trigger { + description + "Triggers applying to this log entry"; + leaf entry { + type Isis-spf-trigger; + description + "Triggers applying to this log entry"; + } + } + } + + grouping ISIS-SH-SPF-LOG-ENT { + description + "IS-IS route calculation log entry"; + container generic-data { + description + "Generic entry data."; + uses ISIS-SH-GENERIC-LOG-ENT; + } + container triggers { + description + "Trigger information"; + uses ISIS-SH-SPF-LOG-TRIGGERS; + } + container spt-calculation-statistics { + description + "Statistics for the SPT calculation phase"; + uses ISIS-SH-SPF-LOG-SPT-CALC; + } + container route-update-statistics { + description + "Statistics for the route update phase"; + uses ISIS-SH-SPF-LOG-ROUTE-UPDATE; + } + leaf class { + type Isis-spf-class; + description + "Type of calculation."; + } + leaf wait-enforced { + type uint32; + units "millisecond"; + description + "Time between the first trigger and the start of + the route calculation, in milliseconds."; + } + leaf next-wait-interval { + type uint32; + units "millisecond"; + description + "Minimum time from end of this route calculation + until the start of the next, in milliseconds"; + } + leaf updated-lsp-count { + type uint32; + description + "Number of LSPs which arrived during the route + calculation"; + } + } + + grouping ISIS-SH-SPF-LOG-STRUC { + description + "Log of IS-IS route calculations"; + list log-entry { + description + "SPF Log entries"; + uses ISIS-SH-SPF-LOG-ENT; + } + } + + grouping ISIS-SH-TE-LOG-ENT { + description + "MPLS TE log entry"; + container generic-data { + description + "Generic entry data"; + uses ISIS-SH-GENERIC-LOG-ENT; + } + leaf neighbor-ip-address { + type inet:ipv4-address; + description + "Neighbor ip address"; + } + leaf status { + type boolean; + description + "Up (TRUE) or down"; + } + leaf log-interface { + type xr:Interface-name; + description + "Interface"; + } + leaf te-log-neighbor-system-id { + type xr:Osi-system-id; + description + "Neighbor system ID"; + } + } + + grouping ISIS-SH-TE-LOG-STRUC { + description + "MPLS TE log"; + list log-entry { + description + "Log entries"; + uses ISIS-SH-TE-LOG-ENT; + } + } + + grouping ISIS-SH-TE-PCE-ADV { + description + "TE PCE advertisements for an IS-IS level"; + leaf pce-adv-data-present { + type boolean; + description + "Indicates whether any PCE advertisements are + present"; + } + leaf pce-flooding-scope { + type Isis-sh-te-pce-flooding-scope; + description + "Flooding scope for PCE advertisement"; + } + leaf pce-address-ipv4 { + type inet:ipv4-address; + description + "IPv4 PCE address"; + } + leaf pce-path-scope-bits { + type uint8; + description + "PCE path scope bits"; + } + leaf pce-path-scope-prefs { + type uint16; + description + "PCE path scope preferences"; + } + } + + grouping ISIS-SH-TE-ADV-SUB-TLV { + description + "MPLS TE advertisement sub TLV"; + leaf te-sub-tlv-type { + type uint16; + description + "Type of sub TLV"; + } + leaf te-sub-tlv-length { + type uint16; + description + "Length of sub TLV"; + } + leaf te-sub-tlv-value { + type yang:hex-string; + description + "Value of sub TLV"; + } + } + + grouping ISIS-SH-TE-ADV-ENTRY { + description + "MPLS TE advertisement"; + leaf te-neighbor-system-id { + type xr:Osi-system-id; + description + "Neighbor system ID"; + } + leaf link-type { + type Isis-sh-te-link; + description + "Link type"; + } + leaf local-ip-address { + type inet:ipv4-address; + description + "Local IP address"; + } + leaf te-neighbor-ip-address { + type inet:ipv4-address; + description + "Neighbor IP address"; + } + leaf te-metric { + type uint32; + description + "TE metric"; + } + leaf te-physical-link-bandwidth { + type uint32; + description + "Physical link bandwidth"; + } + leaf te-reserved-link-bandwidth { + type uint32; + description + "Reservable link bandwidth in global pool"; + } + leaf te-subpool-reserved-link-bandwidth { + type uint32; + description + "Reservable link bandwidth in subpool"; + } + leaf te-affinity { + type uint32; + description + "Affinity bits"; + } + leaf te-ext-admin-num { + type uint32; + description + "TE Ext Admin Number"; + } + leaf te-sub-tlv-data-present { + type boolean; + description + "Indicates whether any TE sub TLVs are present"; + } + list te-transmitted-bandwidth { + max-elements "8"; + description + "Bandwidth in use in global pool"; + leaf entry { + type uint32; + description + "Bandwidth in use in global pool"; + } + } + list te-subpool-transmitted-bandwidth { + max-elements "8"; + description + "Bandwidth in use in subpool"; + leaf entry { + type uint32; + description + "Bandwidth in use in subpool"; + } + } + list te-ext-admin-sub { + max-elements "8"; + description + "TE Extended Admin Group"; + leaf entry { + type uint32; + description + "TE Extended Admin Group"; + } + } + list te-sub-tlv { + description + "List of TE sub TLVs"; + uses ISIS-SH-TE-ADV-SUB-TLV; + } + } + + grouping ISIS-SH-TE-ADV { + description + "TE advertisements for an IS-IS level"; + container tepceadv { + description + "TE PCE advertisements"; + uses ISIS-SH-TE-PCE-ADV; + } + leaf te-adv-data-present { + type boolean; + description + "Indicates whether any TE advertisements are + present"; + } + leaf te-system-id { + type xr:Osi-system-id; + description + "Local system ID"; + } + leaf te-local-router-id { + type inet:ipv4-address; + description + "Local TE router ID"; + } + list te-adv { + description + "List of TE advertisement entries"; + uses ISIS-SH-TE-ADV-ENTRY; + } + } + + grouping ISIS-SH-IPV6-TOPO-REACHABLE-DETAILS { + description + "Status of a reachable IPv6 IS"; + leaf root-distance { + type Isis-metric; + description + "Distance to the IS"; + } + leaf multicast-root-distance { + type Isis-metric; + description + "Distance to the IS"; + } + list paths { + description + "First hops towards the IS"; + uses ISIS-SH-IPV6-PATH; + } + list multicast-path { + description + "Multicast intact first hops towards the IS"; + uses ISIS-SH-IPV6-PATH; + } + list parent { + description + "Parents of the IS within the SPT"; + uses ISIS-SH-TOPO-NEIGHBOR; + } + list children { + description + "Children of the IS within the SPT"; + uses ISIS-SH-TOPO-NEIGHBOR; + } + } + + grouping ISIS-SH-IPV6-TOPO-REACHABLE-STATUS { + description + "Reachability status of an IPv6 IS"; + container reachable-details { + when "../reachable-status = 'isis-reachable'" { + description + "../ReachableStatus = 'ISIS_REACHABLE'"; + } + description + "Status of the IS within the SPT"; + uses ISIS-SH-IPV6-TOPO-REACHABLE-DETAILS; + } + leaf reachable-status { + type Isis-reachable; + description + "ReachableStatus"; + } + } + + grouping ISIS-SH-IPV6-TOPO-ENTRY { + description + "IPv6 IS Link Topology Entry"; + container reachability-status { + description + "Is the IS reachable, and, if so, its status + within the SPT"; + uses ISIS-SH-IPV6-TOPO-REACHABLE-STATUS; + } + container advertised-prefix-item-counts { + description + "Per-priority counts of prefix items advertised + by the IS"; + uses ISIS-PER-PRIORITY-COUNTS; + } + leaf source-address { + type Isis-ipv6-address; + description + "Source Address"; + } + leaf is-participant { + type boolean; + description + "Does the IS participate in the topology?"; + } + leaf is-algo-participant { + type boolean; + description + "Does the IS participate in the Algorithm?"; + } + leaf is-overloaded { + type boolean; + description + "Is the IS overloaded?"; + } + leaf is-attached { + type boolean; + description + "Is the IS attached?"; + } + leaf algorithm { + type uint32; + description + "Algorithm"; + } + } + + grouping ISIS-SH-TOPO-NEIGHBOR { + description + "SPT Neighbor"; + leaf neighbor-id { + type xr:Osi-system-id; + description + "Neighbor ID"; + } + leaf intermediate-pseudonode { + type xr:Isis-node-id; + description + "Pseudonode between system and its neighbor"; + } + } + + grouping ISIS-SH-IPV4-TOPO-REACHABLE-DETAILS { + description + "Status of a reachable IPv4 IS"; + leaf root-distance { + type Isis-metric; + description + "Distance to the IS"; + } + leaf multicast-root-distance { + type Isis-metric; + description + "Distance to the IS"; + } + list paths { + description + "First hops towards the IS"; + uses ISIS-SH-IPV4-PATH; + } + list multicast-path { + description + "Multicast intact first hops towards the IS"; + uses ISIS-SH-IPV4-PATH; + } + list parent { + description + "Parents of the IS within the SPT"; + uses ISIS-SH-TOPO-NEIGHBOR; + } + list children { + description + "Children of the IS within the SPT"; + uses ISIS-SH-TOPO-NEIGHBOR; + } + } + + grouping ISIS-SH-IPV4-TOPO-REACHABLE-STATUS { + description + "Reachability status of an IPv4 IS"; + container reachable-details { + when "../reachable-status = 'isis-reachable'" { + description + "../ReachableStatus = 'ISIS_REACHABLE'"; + } + description + "Status of the IS within the SPT"; + uses ISIS-SH-IPV4-TOPO-REACHABLE-DETAILS; + } + leaf reachable-status { + type Isis-reachable; + description + "ReachableStatus"; + } + } + + grouping ISIS-SH-IPV4-TOPO-ENTRY { + description + "IPv4 IS Link Topology Entry"; + container reachability-status { + description + "Is the IS reachable, and, if so, its status + within the SPT"; + uses ISIS-SH-IPV4-TOPO-REACHABLE-STATUS; + } + container advertised-prefix-item-counts { + description + "Per-priority counts of prefix items advertised + by the IS"; + uses ISIS-PER-PRIORITY-COUNTS; + } + leaf source-address { + type Isis-ipv4-address; + description + "Source Address"; + } + leaf is-participant { + type boolean; + description + "Does the IS participate in the topology?"; + } + leaf is-algo-participant { + type boolean; + description + "Does the IS participate in the Algorithm?"; + } + leaf is-overloaded { + type boolean; + description + "Is the IS overloaded?"; + } + leaf is-attached { + type boolean; + description + "Is the IS attached?"; + } + leaf algorithm { + type uint32; + description + "Algorithm"; + } + } + + grouping ISIS-SH-TOPO-SUMMARY-NODE-STATS { + description + "Reachability counters"; + leaf reachable-node-count { + type uint32; + description + "Number of nodes reachable in SPT"; + } + leaf unreachable-node-count { + type uint32; + description + "Number of nodes unreachable in SPT"; + } + leaf unreachable-participant-node-count { + type uint32; + description + "Number of participating nodes unreachable in SPT"; + } + } + + grouping ISIS-SH-TOPO-SUMMARY { + description + "Summary Statistics for an IS Topology"; + container router-node-count { + description + "Node Counts for System nodes"; + uses ISIS-SH-TOPO-SUMMARY-NODE-STATS; + } + container pseudonode-node-count { + description + "Node Counts for Pseudonode nodes"; + uses ISIS-SH-TOPO-SUMMARY-NODE-STATS; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping ISIS-SRV6-RSVD-OPCODE { + description + "ISIS SRV6 RSVD OPCODE"; + container sid-behavior { + description + "SID Endpoint Behavior"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + leaf sid { + type Isis-ipv6-address; + description + "SID"; + } + leaf block-length { + type uint8; + description + "Block Length"; + } + leaf node-length { + type uint8; + description + "Node Length"; + } + leaf func-length { + type uint8; + description + "Func Length"; + } + leaf args-length { + type uint8; + description + "Args Length"; + } + } + + grouping MGMT-SRV6-SID-FMT { + description + "SRv6 SID Format Info"; + leaf type { + type Mgmt-srv6-sid-fmt; + description + "Format type"; + } + leaf description { + type string; + description + "Format description"; + } + } + + grouping ISIS-IP-PREFIX-TYPE { + description + "ISIS IP PREFIX TYPE"; + container ipv4 { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + description + "ipv4"; + uses ISIS-IPV4-PREFIX-TYPE; + } + container ipv6 { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + description + "ipv6"; + uses ISIS-IPV6-PREFIX-TYPE; + } + leaf af-name { + type Isis-af-id; + description + "AFName"; + } + } + + grouping ISIS-SH-SRV6-LOCATOR { + description + "SRv6 Locator"; + container locator-prefix { + description + "LocatorPrefix"; + uses ISIS-IP-PREFIX-TYPE; + } + container locator-format { + description + "LocatorFormat"; + uses MGMT-SRV6-SID-FMT; + } + leaf locator-name { + type string; + description + "LocatorName"; + } + leaf locator-id { + type uint32; + description + "LocatorID"; + } + leaf locator-flags { + type uint16; + description + "LocatorFlags"; + } + leaf number-of-auto-sids { + type uint8; + description + "NumberOfAutoSIDs"; + } + leaf algorithm { + type uint8; + description + "Algorithm"; + } + leaf locator-active { + type boolean; + description + "Currently active"; + } + leaf anycast-locator { + type boolean; + description + "Anycast Locator"; + } + leaf locator-out-of-resources { + type boolean; + description + "Out of resources"; + } + list auto-sid { + max-elements "5"; + description + "Reserved Opcodes"; + uses ISIS-SRV6-RSVD-OPCODE; + } + } + + grouping ISIS-PER-PRIORITY-COUNTS { + description + "Per-priority counts"; + leaf critical { + type uint32; + description + "Critical priority"; + } + leaf high { + type uint32; + description + "High priority"; + } + leaf medium { + type uint32; + description + "Medium priority"; + } + leaf low { + type uint32; + description + "Low priority"; + } + } + + grouping ISIS-SH-FRR-LEVEL-SUMMARY { + description + "FRR backup statistics for one level"; + container all-paths-protected { + description + "Number of prefixes with all paths having FRR + backup"; + uses ISIS-PER-PRIORITY-COUNTS; + } + container some-paths-protected { + description + "Number of prefixes with some paths having FRR + backup"; + uses ISIS-PER-PRIORITY-COUNTS; + } + container unprotected { + description + "Number of reachable prefixes without FRR backup"; + uses ISIS-PER-PRIORITY-COUNTS; + } + } + + grouping ISIS-SH-FRR-SUMMARY { + description + "FRR summary for an ISIS topology"; + container level1-prefixes { + description + "FRR summary for prefixes reachable in L1"; + uses ISIS-SH-FRR-LEVEL-SUMMARY; + } + container level2-prefixes { + description + "FRR summary for prefixes reachable in L2"; + uses ISIS-SH-FRR-LEVEL-SUMMARY; + } + container unreachable-prefixes { + description + "Unreachable prefixes"; + uses ISIS-PER-PRIORITY-COUNTS; + } + } + + grouping ISIS-SH-IPV6-ROUTE-SUMMARIZATION-STATUS { + description + "Summarization status"; + container summary-prefix { + when "../is-valid = 'isis-valid'" { + description + "../IsValid = 'ISIS_VALID'"; + } + description + "Summarizing Prefix"; + uses ISIS-IPV6-PREFIX-TYPE; + } + leaf is-valid { + type Isis-valid; + description + "IsValid"; + } + } + + grouping ISIS-SH-IPV6-ROUTE-ADV { + description + "How a prefix is advertised in a particular level"; + container summarization-status { + description + "Status of summarization for the prefix"; + uses ISIS-SH-IPV6-ROUTE-SUMMARIZATION-STATUS; + } + leaf level { + type Isis-level; + description + "Level in which the prefix is advertised"; + } + leaf advertising-origin { + type Isis-sh-route-adv-origin; + description + "The origin of the advertisement"; + } + leaf metric { + type Isis-metric; + description + "Metric with which the prefix is advertised"; + } + leaf is-propagated { + type boolean; + description + "Has the prefix been propagated from another + level?"; + } + leaf is-external-metric { + type boolean; + description + "Is the metric an external metric?"; + } + leaf is-external-reachability { + type boolean; + description + "Is the prefix external to the IS-IS domain?"; + } + leaf is-interarea { + type boolean; + description + "Is the up/down bit set?"; + } + list tags { + description + "Tags associated with the prefix"; + leaf entry { + type Isis-prefix-tag; + description + "Tags associated with the prefix"; + } + } + list nodal-sid { + description + "Nodal SIDs with the prefix item"; + uses ISIS-NODAL-SID-TYPE; + } + list flex-sid { + description + "Flex-Algo SIDs with the prefix item"; + uses ISIS-SID-METRIC-TYPE; + } + } + + grouping ISIS-SH-IPV6-ROUTE-NATIVE-SOURCE { + description + "Source of a native route"; + leaf source-lsp-id { + type xr:Isis-lsp-id; + description + "ID of the LSP advertising the prefix"; + } + leaf source-address { + type Isis-ipv6-address; + description + "Source address of the IS advertising the prefix"; + } + list tags { + description + "Tags associated with the prefix item"; + leaf entry { + type Isis-prefix-tag; + description + "Tags associated with the prefix item"; + } + } + list nodal-sid { + description + "Nodal SIDs with the prefix item"; + uses ISIS-NODAL-SID-TYPE; + } + } + + grouping ISIS-SH-IPV6-UCMP-PATH { + description + "IPv6 path to a destination"; + container frr-backup { + description + "FRR backup for this path"; + uses ISIS-SH-IPV6-FRR-BACKUP; + } + leaf neighbor-id { + type xr:Osi-system-id; + description + "Next hop neighbor ID"; + } + leaf egress-interface { + type Isis-sh-interface-name; + description + "Interface to send the packet out of"; + } + leaf neighbor-address { + type Isis-ipv6-address; + description + "Next hop neighbor's forwarding address"; + } + leaf neighbor-snpa { + type xr:Isis-snpa; + description + "Next hop neighbor's SNPA"; + } + leaf tag { + type Isis-prefix-tag; + description + "Tag associated with the path"; + } + leaf total-ucmp-distance { + type Isis-metric; + description + "Distance to the network via this UCMP next hop"; + } + leaf segment-routing-sid-value { + type Isis-nodal-sid-value; + description + "Segment routing sid value received from first + hop"; + } + leaf weight { + type Isis-metric; + description + "Weight configured on the interface"; + } + leaf is-te-tunnel-interface { + type boolean; + description + "Is path via a TE tunnel"; + } + leaf is-sr-exclude-tunnel-interface { + type boolean; + description + "Is path via an SR-exclude TE tunnel"; + } + leaf outgoing-label { + type uint32; + description + "SR-MPLS label"; + } + } + + grouping ISIS-SH-IPV6-FRR-BACKUP { + description + "FRR backup path"; + leaf neighbor-id { + type xr:Osi-system-id; + description + "Next hop neighbor ID"; + } + leaf egress-interface { + type Isis-sh-interface-name; + description + "Interface to send the packet out of"; + } + leaf neighbor-address { + type Isis-ipv6-address; + description + "Next hop neighbor's forwarding address"; + } + leaf tunnel-egress-interface { + type Isis-sh-interface-name; + description + "Tunnel interface to send the packet out of"; + } + leaf neighbor-snpa { + type xr:Isis-snpa; + description + "Next hop neighbor's SNPA"; + } + leaf remote-lfa-system-id { + type xr:Osi-system-id; + description + "Remote LFA PQ Node's ID"; + } + leaf remote-lfa-router-id { + type Isis-ipv6-address; + description + "Remote LFA Router ID"; + } + leaf remote-lfa-system-pid { + type xr:Osi-system-id; + description + "Remote LFA PQ Node's ID"; + } + leaf remote-lfa-router-pid { + type Isis-ipv6-address; + description + "Remote LFA Router ID"; + } + leaf total-backup-distance { + type Isis-metric; + description + "Distance to the network via this backup path"; + } + leaf segment-routing-sid-value { + type Isis-nodal-sid-value; + description + "Segment routing sid value received from first + hop"; + } + leaf num-sids { + type uint32; + description + "Number of SIDs in TI-LFA/rLFA"; + } + leaf backup-repair-list-size { + type uint32; + description + "Backup Repair List Size"; + } + leaf tilfa-computation { + type Isis-tilfa-computation; + description + "Ti LFA computation which provided backup path"; + } + leaf prefix-source-node-id { + type string; + description + "PrefixSourceNodeID"; + } + leaf is-downstream { + type boolean; + description + "Is the backup path via downstream node?"; + } + leaf is-lc-disjoint { + type boolean; + description + "Is the backup path line card disjoint with + primary?"; + } + leaf is-node-protecting { + type boolean; + description + "Is the backup path node protecting?"; + } + leaf is-primary-path { + type boolean; + description + "Is the backup path an ECMP to the network?"; + } + leaf is-srlg-disjoint { + type boolean; + description + "Is the backup path SRLG disjoint with primary?"; + } + leaf is-remote-lfa { + type boolean; + description + "Is the backup path via a Remote LFA?"; + } + leaf is-epcfrr-lfa { + type boolean; + description + "Is the backup path via a TI-LFA?"; + } + leaf is-strict-spflfa { + type boolean; + description + "Is the backup path TI-LFA strict SPF?"; + } + leaf is-srv6 { + type boolean; + description + "Is the backup path SRv6?"; + } + leaf is-tunnel-requested { + type boolean; + description + "Is SR TE tunnel requested"; + } + leaf weight { + type Isis-metric; + description + "Weight configured on the interface"; + } + leaf outgoing-label { + type uint32; + description + "SR-MPLS label"; + } + list segment-routing-sid-value-entry { + max-elements "3"; + description + "Segment routing sid values for TI-LFA/rLFA"; + leaf entry { + type Isis-nodal-sid-value; + description + "Segment routing sid values for TI-LFA/rLFA"; + } + } + list backup-repair { + description + "BAckup Repair List"; + uses ISIS-SH-REP-EL; + } + } + + grouping ISIS-SH-IPV6-PATH { + description + "IPv6 path to a destination"; + container frr-backup { + description + "FRR backup for this path"; + uses ISIS-SH-IPV6-FRR-BACKUP; + } + leaf neighbor-id { + type xr:Osi-system-id; + description + "Next hop neighbor ID"; + } + leaf egress-interface { + type Isis-sh-interface-name; + description + "Interface to send the packet out of"; + } + leaf neighbor-address { + type Isis-ipv6-address; + description + "Next hop neighbor's forwarding address"; + } + leaf neighbor-snpa { + type xr:Isis-snpa; + description + "Next hop neighbor's SNPA"; + } + leaf tag { + type Isis-prefix-tag; + description + "Tag associated with the path"; + } + leaf tunnel-interface { + type Isis-sh-interface-name; + description + "Explicit path tunnel interface"; + } + leaf segment-routing-sid-value { + type Isis-nodal-sid-value; + description + "Segment routing sid value received from first + hop"; + } + leaf weight { + type Isis-metric; + description + "Weight configured on the interface"; + } + leaf is-te-tunnel-interface { + type boolean; + description + "Is path via a TE tunnel"; + } + leaf is-sr-exclude-tunnel-interface { + type boolean; + description + "Is path via an SR-exclude TE tunnel"; + } + leaf is-srv6 { + type boolean; + description + "Is the path SRv6?"; + } + leaf outgoing-label { + type uint32; + description + "SR-MPLS label"; + } + list uloop-explicit { + description + "Uloop Explicit List"; + uses ISIS-SH-REP-EL; + } + list nnh { + description + "Next next hops"; + uses ISIS-SH-NNH; + } + } + + grouping ISIS-SH-IPV6-ROUTE-NATIVE-PREFERENCE { + description + "Paths and sources for a native route at a + particular preference"; + leaf origin { + type Isis-prefix-origin; + description + "Origin of route"; + } + leaf metric { + type Isis-metric; + description + "Distance to network"; + } + leaf multicast-metric { + type Isis-metric; + description + "Multicast-intact distance to network"; + } + leaf is-external-metric { + type boolean; + description + "Is the metric an external metric?"; + } + leaf administrative-distance { + type uint16; + description + "Administrative Distance"; + } + list paths { + description + "First hops toward the prefix"; + uses ISIS-SH-IPV6-PATH; + } + list ucmp-next-hop { + description + "UCMP first hops toward the prefix"; + uses ISIS-SH-IPV6-UCMP-PATH; + } + list multicast-path { + description + "Multicast intact first hops toward the prefix"; + uses ISIS-SH-IPV6-PATH; + } + list srte-path { + description + "SR-TE native first hops toward the prefix"; + uses ISIS-SH-IPV6-PATH; + } + list explicit-path { + description + "SR microloop avoidance paths"; + uses ISIS-SH-IPV6-PATH; + } + list source { + description + "Sources advertising the prefix"; + uses ISIS-SH-IPV6-ROUTE-NATIVE-SOURCE; + } + list multicast-source { + description + "Multicast-intact sources advertising the prefix"; + uses ISIS-SH-IPV6-ROUTE-NATIVE-SOURCE; + } + } + + grouping ISIS-SH-IPV6-ROUTE-NATIVE-DETAILS { + description + "Details of a native IS-IS route to a prefix"; + container primary { + description + "Primary paths to prefix"; + uses ISIS-SH-IPV6-ROUTE-NATIVE-PREFERENCE; + } + leaf priority { + type Isis-prefix-priority; + description + "Relative importance of the prefix"; + } + leaf is-filtered-by-dl { + type boolean; + description + "Is the prefix filtered out by distribution list?"; + } + leaf local-label { + type uint32; + description + "Prefix local label for SR-MPLS"; + } + leaf local-label-state { + type Isis-local-label-state; + description + "Status of the SR-MPLS local label"; + } + list backup { + description + "Backup paths to prefix"; + uses ISIS-SH-IPV6-ROUTE-NATIVE-PREFERENCE; + } + } + + grouping ISIS-SH-IPV6-ROUTE-NATIVE-STATUS { + description + "Status of a native IS-IS route to a prefix"; + container native-details { + when "../is-valid = 'isis-valid'" { + description + "../IsValid = 'ISIS_VALID'"; + } + description + "Details of the native route"; + uses ISIS-SH-IPV6-ROUTE-NATIVE-DETAILS; + } + leaf is-valid { + type Isis-valid; + description + "IsValid"; + } + } + + grouping ISIS-SH-IPV6-ROUTE { + description + "IS-IS IPv6 route"; + container route-timestamp { + description + "Timestamp of last route update"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container connected-status { + description + "Status of IS-IS directly connected routes to the + prefix"; + uses ISIS-SH-ROUTE-CONN-STATUS; + } + container redistributed-status { + description + "Status of other protocols' routes redistributed + into IS-IS"; + uses ISIS-SH-ROUTE-REDIST-STATUS; + } + container native-status { + description + "Status of native IS-IS routes to the prefix"; + uses ISIS-SH-IPV6-ROUTE-NATIVE-STATUS; + } + leaf route-age { + type uint32; + units "second"; + description + "Seconds since last route update"; + } + list per-level-advertising-detail { + description + "Per level details of how the local system + advertises the prefix"; + uses ISIS-SH-IPV6-ROUTE-ADV; + } + } + + grouping ISIS-SID-METRIC-TYPE { + description + "ISIS SID METRIC TYPE"; + container nodal-sid { + description + "nodal sid"; + uses ISIS-NODAL-SID-TYPE; + } + leaf metric { + type uint32; + description + "metric"; + } + } + + grouping ISIS-IPV4-PREFIX-TYPE { + description + "IPv4 address and prefix length"; + leaf prefix { + type Isis-ipv4-address; + description + "prefix"; + } + leaf prefix-length { + type Isis-ip-prefix-length; + description + "prefix length"; + } + } + + grouping ISIS-SH-IPV4-ROUTE-SUMMARIZATION-STATUS { + description + "Summarization status"; + container summary-prefix { + when "../is-valid = 'isis-valid'" { + description + "../IsValid = 'ISIS_VALID'"; + } + description + "Summarizing Prefix"; + uses ISIS-IPV4-PREFIX-TYPE; + } + leaf is-valid { + type Isis-valid; + description + "IsValid"; + } + } + + grouping ISIS-SH-IPV4-ROUTE-ADV { + description + "How a prefix is advertised in a particular level"; + container summarization-status { + description + "Status of summarization for the prefix"; + uses ISIS-SH-IPV4-ROUTE-SUMMARIZATION-STATUS; + } + leaf level { + type Isis-level; + description + "Level in which the prefix is advertised"; + } + leaf advertising-origin { + type Isis-sh-route-adv-origin; + description + "The origin of the advertisement"; + } + leaf metric { + type Isis-metric; + description + "Metric with which the prefix is advertised"; + } + leaf is-propagated { + type boolean; + description + "Has the prefix been propagated from another + level?"; + } + leaf is-external-metric { + type boolean; + description + "Is the metric an external metric?"; + } + leaf is-external-reachability { + type boolean; + description + "Is the prefix external to the IS-IS domain?"; + } + leaf is-interarea { + type boolean; + description + "Is the up/down bit set?"; + } + list tags { + description + "Tags associated with the prefix"; + leaf entry { + type Isis-prefix-tag; + description + "Tags associated with the prefix"; + } + } + list nodal-sid { + description + "Nodal SIDs with the prefix item"; + uses ISIS-NODAL-SID-TYPE; + } + list flex-sid { + description + "Flex-Algo SIDs with the prefix item"; + uses ISIS-SID-METRIC-TYPE; + } + } + + grouping ISIS-NODAL-SID-TYPE { + description + "ISIS NODAL SID TYPE"; + leaf sid-value { + type Isis-nodal-sid-value; + description + "sid value"; + } + leaf rflag { + type uint8; + description + "rflag"; + } + leaf nflag { + type uint8; + description + "nflag"; + } + leaf pflag { + type uint8; + description + "pflag"; + } + leaf eflag { + type uint8; + description + "eflag"; + } + leaf vflag { + type uint8; + description + "vflag"; + } + leaf lflag { + type uint8; + description + "lflag"; + } + leaf algorithm { + type uint8; + description + "algorithm"; + } + } + + grouping ISIS-SH-IPV4-ROUTE-NATIVE-SOURCE { + description + "Source of a native route"; + leaf source-lsp-id { + type xr:Isis-lsp-id; + description + "ID of the LSP advertising the prefix"; + } + leaf source-address { + type Isis-ipv4-address; + description + "Source address of the IS advertising the prefix"; + } + list tags { + description + "Tags associated with the prefix item"; + leaf entry { + type Isis-prefix-tag; + description + "Tags associated with the prefix item"; + } + } + list nodal-sid { + description + "Nodal SIDs with the prefix item"; + uses ISIS-NODAL-SID-TYPE; + } + } + + grouping ISIS-SH-IPV4-UCMP-PATH { + description + "IPv4 path to a destination"; + container frr-backup { + description + "FRR backup for this path"; + uses ISIS-SH-IPV4-FRR-BACKUP; + } + leaf neighbor-id { + type xr:Osi-system-id; + description + "Next hop neighbor ID"; + } + leaf egress-interface { + type Isis-sh-interface-name; + description + "Interface to send the packet out of"; + } + leaf neighbor-address { + type Isis-ipv4-address; + description + "Next hop neighbor's forwarding address"; + } + leaf neighbor-snpa { + type xr:Isis-snpa; + description + "Next hop neighbor's SNPA"; + } + leaf tag { + type Isis-prefix-tag; + description + "Tag associated with the path"; + } + leaf total-ucmp-distance { + type Isis-metric; + description + "Distance to the network via this UCMP next hop"; + } + leaf segment-routing-sid-value { + type Isis-nodal-sid-value; + description + "Segment routing sid value received from first + hop"; + } + leaf weight { + type Isis-metric; + description + "Weight configured on the interface"; + } + leaf is-te-tunnel-interface { + type boolean; + description + "Is path via a TE tunnel"; + } + leaf is-sr-exclude-tunnel-interface { + type boolean; + description + "Is path via an SR-exclude TE tunnel"; + } + leaf outgoing-label { + type uint32; + description + "SR-MPLS label"; + } + } + + grouping ISIS-SH-NNH { + description + "Next next hops for a prefix"; + leaf link-id-set { + type boolean; + description + "If link_id is given"; + } + leaf ipv4-set { + type boolean; + description + "If ipv4 address is given"; + } + leaf link-id { + type uint32; + description + "link ID of the next next hop"; + } + leaf ipv4-address { + type Isis-ipv4-address; + description + "Ipv4 address of the next next hop"; + } + } + + grouping ISIS-SH-REP-EL { + description + "OSPF Repair Element"; + leaf repair-element-node-id { + type string; + description + "RepairElementNodeID"; + } + leaf repair-ipv4-addr { + type Isis-ipv4-address; + description + "RepairIPv4Addr"; + } + leaf repair-ipv6-addr { + type Isis-ipv6-address; + description + "RepairIPv6Addr"; + } + leaf repair-label { + type uint32; + description + "Repair Label"; + } + leaf repair-element-type { + type uint32; + description + "Repair Element Type"; + } + leaf repair-strict-spf-label { + type uint32; + description + "Repair Strict SPF Label"; + } + leaf repair-srv6-sid { + type Isis-ipv6-address; + description + "Repair SRv6 SID"; + } + leaf repair-srv6-end-func { + type Isis-srv6-endpoint-func; + description + "Repair SRv6 End Function"; + } + leaf repair-srv6-strict-spf-sid { + type Isis-ipv6-address; + description + "Repair SRv6 Strict SPF SID"; + } + leaf repair-srv6-strict-spf-end-func { + type Isis-srv6-endpoint-func; + description + "Repair SRv6 Strict SPF End Function"; + } + } + + grouping ISIS-SH-IPV4-FRR-BACKUP { + description + "FRR backup path"; + leaf neighbor-id { + type xr:Osi-system-id; + description + "Next hop neighbor ID"; + } + leaf egress-interface { + type Isis-sh-interface-name; + description + "Interface to send the packet out of"; + } + leaf neighbor-address { + type Isis-ipv4-address; + description + "Next hop neighbor's forwarding address"; + } + leaf tunnel-egress-interface { + type Isis-sh-interface-name; + description + "Tunnel Interface to send the packet out of"; + } + leaf neighbor-snpa { + type xr:Isis-snpa; + description + "Next hop neighbor's SNPA"; + } + leaf remote-lfa-system-id { + type xr:Osi-system-id; + description + "Remote LFA PQ Node's ID"; + } + leaf remote-lfa-router-id { + type Isis-ipv4-address; + description + "Remote LFA Router ID"; + } + leaf remote-lfa-system-pid { + type xr:Osi-system-id; + description + "Remote LFA PQ Node's ID"; + } + leaf remote-lfa-router-pid { + type Isis-ipv4-address; + description + "Remote LFA Router ID"; + } + leaf total-backup-distance { + type Isis-metric; + description + "Distance to the network via this backup path"; + } + leaf segment-routing-sid-value { + type Isis-nodal-sid-value; + description + "Segment routing sid value received from first + hop"; + } + leaf num-sids { + type uint32; + description + "Number of SIDs in TI-LFA/rLFA"; + } + leaf backup-repair-list-size { + type uint32; + description + "Backup Repair List Size"; + } + leaf tilfa-computation { + type Isis-tilfa-computation; + description + "Ti LFA computation which provided backup path"; + } + leaf prefix-source-node-id { + type string; + description + "PrefixSourceNodeID"; + } + leaf is-downstream { + type boolean; + description + "Is the backup path via downstream node?"; + } + leaf is-lc-disjoint { + type boolean; + description + "Is the backup path line card disjoint with + primary?"; + } + leaf is-node-protecting { + type boolean; + description + "Is the backup path node protecting?"; + } + leaf is-primary-path { + type boolean; + description + "Is the backup path an ECMP to the network?"; + } + leaf is-srlg-disjoint { + type boolean; + description + "Is the backup path SRLG disjoint with primary?"; + } + leaf is-remote-lfa { + type boolean; + description + "Is the backup path via a Remote LFA?"; + } + leaf is-epcfrr-lfa { + type boolean; + description + "Is the backup path via a TI-LFA?"; + } + leaf is-strict-spflfa { + type boolean; + description + "Is the backup path TI-LFA strict SPF?"; + } + leaf is-tunnel-requested { + type boolean; + description + "Is SR TE tunnel requested"; + } + leaf weight { + type Isis-metric; + description + "Weight configured on the interface"; + } + leaf outgoing-label { + type uint32; + description + "SR-MPLS label"; + } + list segment-routing-sid-value-entry { + max-elements "3"; + description + "Segment routing sid values for TI-LFA/rLFA"; + leaf entry { + type Isis-nodal-sid-value; + description + "Segment routing sid values for TI-LFA/rLFA"; + } + } + list backup-repair { + description + "Backup Repair List"; + uses ISIS-SH-REP-EL; + } + } + + grouping ISIS-SH-IPV4-PATH { + description + "IPv4 path to a destination"; + container frr-backup { + description + "FRR backup for this path"; + uses ISIS-SH-IPV4-FRR-BACKUP; + } + leaf neighbor-id { + type xr:Osi-system-id; + description + "Next hop neighbor ID"; + } + leaf egress-interface { + type Isis-sh-interface-name; + description + "Interface to send the packet out of"; + } + leaf neighbor-address { + type Isis-ipv4-address; + description + "Next hop neighbor's forwarding address"; + } + leaf neighbor-snpa { + type xr:Isis-snpa; + description + "Next hop neighbor's SNPA"; + } + leaf tag { + type Isis-prefix-tag; + description + "Tag associated with the path"; + } + leaf tunnel-interface { + type Isis-sh-interface-name; + description + "Explicit path tunnel interface"; + } + leaf segment-routing-sid-value { + type Isis-nodal-sid-value; + description + "Segment routing sid value received from first + hop"; + } + leaf weight { + type Isis-metric; + description + "Weight configured on the interface"; + } + leaf is-te-tunnel-interface { + type boolean; + description + "Is path via a TE tunnel"; + } + leaf is-sr-exclude-tunnel-interface { + type boolean; + description + "Is path via an SR-exclude TE tunnel"; + } + leaf outgoing-label { + type uint32; + description + "SR-MPLS label"; + } + list uloop-explicit { + description + "Uloop Explicit List"; + uses ISIS-SH-REP-EL; + } + list nnh { + description + "Next next hops"; + uses ISIS-SH-NNH; + } + } + + grouping ISIS-SH-IPV4-ROUTE-NATIVE-PREFERENCE { + description + "Paths and sources for a native route at a + particular preference"; + leaf origin { + type Isis-prefix-origin; + description + "Origin of route"; + } + leaf metric { + type Isis-metric; + description + "Distance to network"; + } + leaf multicast-metric { + type Isis-metric; + description + "Multicast-intact distance to network"; + } + leaf is-external-metric { + type boolean; + description + "Is the metric an external metric?"; + } + leaf administrative-distance { + type uint16; + description + "Administrative Distance"; + } + list paths { + description + "First hops toward the prefix"; + uses ISIS-SH-IPV4-PATH; + } + list ucmp-next-hop { + description + "UCMP first hops toward the prefix"; + uses ISIS-SH-IPV4-UCMP-PATH; + } + list multicast-path { + description + "Multicast intact first hops toward the prefix"; + uses ISIS-SH-IPV4-PATH; + } + list srte-path { + description + "SR-TE native first hops toward the prefix"; + uses ISIS-SH-IPV4-PATH; + } + list explicit-path { + description + "SR microloop avoidance paths"; + uses ISIS-SH-IPV4-PATH; + } + list source { + description + "Sources advertising the prefix"; + uses ISIS-SH-IPV4-ROUTE-NATIVE-SOURCE; + } + list multicast-source { + description + "Multicast-intact sources advertising the prefix"; + uses ISIS-SH-IPV4-ROUTE-NATIVE-SOURCE; + } + } + + grouping ISIS-SH-IPV4-ROUTE-NATIVE-DETAILS { + description + "Details of a native IS-IS route to a prefix"; + container primary { + description + "Primary paths to prefix"; + uses ISIS-SH-IPV4-ROUTE-NATIVE-PREFERENCE; + } + leaf priority { + type Isis-prefix-priority; + description + "Relative importance of the prefix"; + } + leaf is-filtered-by-dl { + type boolean; + description + "Is the prefix filtered out by distribution list?"; + } + leaf local-label { + type uint32; + description + "Prefix local label for SR-MPLS"; + } + leaf local-label-state { + type Isis-local-label-state; + description + "Status of the SR-MPLS local label"; + } + list backup { + description + "Backup paths to prefix"; + uses ISIS-SH-IPV4-ROUTE-NATIVE-PREFERENCE; + } + } + + grouping ISIS-SH-IPV4-ROUTE-NATIVE-STATUS { + description + "Status of a native IS-IS route to a prefix"; + container native-details { + when "../is-valid = 'isis-valid'" { + description + "../IsValid = 'ISIS_VALID'"; + } + description + "Details of the native route"; + uses ISIS-SH-IPV4-ROUTE-NATIVE-DETAILS; + } + leaf is-valid { + type Isis-valid; + description + "IsValid"; + } + } + + grouping ISIS-SH-REDIST-ENTRY-PROTO { + description + "Redistributed protocol information"; + leaf protocol { + type Isis-redist-proto; + description + "Protocol"; + } + leaf isis-instance-id { + when "../protocol = 'isis-redist-isis'" { + description + "../Protocol = 'ISIS_REDIST_ISIS'"; + } + type Isis-string; + description + "IS-IS instance identifier"; + } + leaf ospf-process-id { + when "../protocol = 'isis-redist-ospf'" { + description + "../Protocol = 'ISIS_REDIST_OSPF'"; + } + type Isis-string; + description + "OSPF process identifier"; + } + leaf ospfv3-process-id { + when "../protocol = 'isis-redist-ospfv3'" { + description + "../Protocol = 'ISIS_REDIST_OSPFV3'"; + } + type Isis-string; + description + "OSPFv3 process identifier"; + } + leaf bgp-as-number { + when "../protocol = 'isis-redist-bgp'" { + description + "../Protocol = 'ISIS_REDIST_BGP'"; + } + type Isis-string; + description + "BGP Autonomous System number"; + } + leaf eigrp-as-number { + when "../protocol = 'isis-redist-eigrp'" { + description + "../Protocol = 'ISIS_REDIST_EIGRP'"; + } + type Isis-string; + description + "EIGRP Autonomous System number"; + } + leaf application-name { + when "../protocol = 'isis-redist-application'" { + description + "../Protocol = 'ISIS_REDIST_APPLICATION'"; + } + type Isis-string; + description + "Application Name"; + } + } + + grouping ISIS-SH-ROUTE-REDIST-LEVEL-DETAILS { + description + "Details of a route redistributed into a + particular level"; + container owner { + description + "Protocol redistributing the route"; + uses ISIS-SH-REDIST-ENTRY-PROTO; + } + leaf level { + type Isis-level; + description + "Level into which the route is redistributed"; + } + } + + grouping ISIS-SH-ROUTE-REDIST-DETAILS { + description + "ISIS SH ROUTE REDIST DETAILS"; + list isis-sh-route-redist-detail { + description + "isis sh route redist detail"; + uses ISIS-SH-ROUTE-REDIST-LEVEL-DETAILS; + } + } + + grouping ISIS-SH-ROUTE-REDIST-STATUS { + description + "Status of redistributed routes to a prefix"; + container redistribution-details { + when "../is-valid = 'isis-valid'" { + description + "../IsValid = 'ISIS_VALID'"; + } + description + "Per level details of the redistributed route"; + uses ISIS-SH-ROUTE-REDIST-DETAILS; + } + leaf is-valid { + type Isis-valid; + description + "IsValid"; + } + } + + grouping ISIS-SH-ROUTE-CONN-DETAILS { + description + "Details of an IS-IS directly connected prefix"; + list interface { + description + "Interfaces"; + leaf entry { + type Isis-sh-interface-name; + description + "Interfaces"; + } + } + } + + grouping ISIS-SH-ROUTE-CONN-STATUS { + description + "Status of an IS-IS directly connected prefix"; + container connected-details { + when "../is-valid = 'isis-valid'" { + description + "../IsValid = 'ISIS_VALID'"; + } + description + "Details of the directly connected prefix"; + uses ISIS-SH-ROUTE-CONN-DETAILS; + } + leaf is-valid { + type Isis-valid; + description + "IsValid"; + } + } + + grouping ISIS-SH-IPV4-ROUTE { + description + "IS-IS IPv4 route"; + container route-timestamp { + description + "Timestamp of last route update"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container connected-status { + description + "Status of IS-IS directly connected routes to the + prefix"; + uses ISIS-SH-ROUTE-CONN-STATUS; + } + container redistributed-status { + description + "Status of other protocols' routes redistributed + into IS-IS"; + uses ISIS-SH-ROUTE-REDIST-STATUS; + } + container native-status { + description + "Status of native IS-IS routes to the prefix"; + uses ISIS-SH-IPV4-ROUTE-NATIVE-STATUS; + } + leaf route-age { + type uint32; + units "second"; + description + "Seconds since last route update"; + } + list per-level-advertising-detail { + description + "Per level details of how the local system + advertises the prefix"; + uses ISIS-SH-IPV4-ROUTE-ADV; + } + } + + grouping ISIS-SH-LSP-DB-LOG-ENT { + description + "LSP Database Log Entry"; + container generic-data { + description + "Generic entry data"; + uses ISIS-SH-GENERIC-LOG-ENT; + } + container new-lsp-entry { + description + "Entry being inserted or the updated version of + an old entry."; + uses ISIS-SH-LSP-HEADER; + } + container old-lsp-entry { + description + "Entry being replaced."; + uses ISIS-SH-LSP-HEADER; + } + leaf lspdb-operation { + type Isis-lsp-db-op; + description + "Operation applying to this entry."; + } + } + + grouping ISIS-SH-LSP-DB-LOG-STRUC { + description + "LSP Database Log"; + list log-entry { + description + "Entries"; + uses ISIS-SH-LSP-DB-LOG-ENT; + } + } + + grouping ISIS-SH-LSP-LOG-ENT { + description + "LSP-log entry"; + container generic-data { + description + "Generic entry data"; + uses ISIS-SH-GENERIC-LOG-ENT; + } + leaf trigger-count { + type uint32; + description + "Number of triggers on this run. May not be equal + to the number of trigger event types if one or + more trigger events has occurred more than once."; + } + leaf delayed-trigger-count { + type uint32; + description + "Number of delayed triggers"; + } + leaf log-interface { + type xr:Interface-name; + description + "Appropriate interface, if any"; + } + leaf pseudo-node-number { + type Isis-pseudo-node-number; + description + "Pseudo-node number"; + } + list trigger { + description + "Triggers applying to this log entry."; + leaf entry { + type Isis-lsp-trigger; + description + "Triggers applying to this log entry."; + } + } + } + + grouping ISIS-SH-LSP-LOG-STRUC { + description + "LSP log"; + list log-entry { + description + "Log entries"; + uses ISIS-SH-LSP-LOG-ENT; + } + } + + grouping ISIS-SH-LSP-HEADER { + description + "Contents of an IS-IS LSP header"; + leaf lsp-id { + type xr:Isis-lsp-id; + description + "The LSP ID"; + } + leaf local-lsp-flag { + type boolean; + description + "TRUE if this is a locally generated LSP"; + } + leaf lsp-active-flag { + type boolean; + description + "TRUE if this LSP has not expired"; + } + leaf lsp-holdtime { + type uint16; + units "second"; + description + "Time, in seconds, until LSP expiry (if active) + or deletion (if expired) "; + } + leaf lsp-rcvd-holdtime { + type uint16; + units "second"; + description + "Time, in seconds, for the received LSP it will + be zero for the local LSP "; + } + leaf lsp-sequence-number { + type uint32; + description + "The LSP sequence number"; + } + leaf lsp-checksum { + type uint16; + description + "The LSP checksum"; + } + leaf lsp-partition-repair-supported-flag { + type boolean; + description + "TRUE if partition repair is supported"; + } + leaf lsp-attached-flag { + type boolean; + description + "TRUE if attached bit is set"; + } + leaf lsp-overloaded-flag { + type boolean; + description + "TRUE if the overload bit is set"; + } + leaf lsp-nonv1a-flag { + type uint16; + description + "TRUE if the LSP is non-v1a, XXX for testing"; + } + leaf lsp-level { + type Isis-levels; + description + "The type of the IS sourcing the LSP"; + } + leaf lsp-length { + type uint16; + description + "The total length of the LSP"; + } + leaf max-area-addresses { + type uint8; + description + "max area addresses"; + } + leaf id-length { + type uint8; + description + "System Id length"; + } + leaf version { + type uint8; + description + "isis version"; + } + leaf version2 { + type uint8; + description + "isis version2"; + } + } + + grouping ISIS-SH-LSP { + description + "An IS-IS LSP"; + container lsp-header-data { + description + "Information from the LSP header"; + uses ISIS-SH-LSP-HEADER; + } + leaf lsp-body { + type yang:hex-string; + description + "LSP as received/sent over the wire, starting + from the LSP ID field"; + } + } + + grouping ISIS-SH-ADJ-BFD-ITEM { + description + "BFD TLV item"; + leaf mtid { + type uint16; + description + "Topology ID"; + } + leaf nlpid { + type uint8; + description + "Network Layer Protocol ID"; + } + } + + grouping ISIS-SH-ADJ-TOPO { + description + "Per-topology per-adjacency data"; + container id { + description + "Topology ID"; + uses ISIS-TOPO-ID-TYPE; + } + leaf topology-status { + type Isis-adj-topo-status; + description + "Status of topology in adjacency"; + } + leaf parallel-p2p-link-suppressed-flag { + type boolean; + description + "TRUE if suppressed parallel point-to-point link"; + } + } + + grouping ISIS-SH-ADJ { + description + "An IS-IS adjacency"; + leaf adjacency-system-id { + type xr:Osi-system-id; + description + "Neighbor system ID"; + } + leaf adjacency-snpa { + type xr:Isis-snpa; + description + "Neighbor SNPA"; + } + leaf adjacency-interface { + type xr:Interface-name; + description + "Local interface"; + } + leaf adjacency-media-type { + type Isis-media-class; + description + "Link media type"; + } + leaf adjacency-state { + type Isis-adj-state; + description + "Adjacency state"; + } + leaf adjacency-bfd-state { + type Isis-adj-bfd-state; + description + "Adjacency IPv4 BFD state"; + } + leaf adjacency-ipv6bfd-state { + type Isis-adj-bfd-state; + description + "Adjacency IPv6 BFD state"; + } + leaf adj-ipv4bfd-retry-running { + type boolean; + description + "Is IPv4 BFD retry timer running"; + } + leaf adj-ipv6bfd-retry-running { + type boolean; + description + "Is IPv6 BFD retry timer running"; + } + leaf adj-ipv4bfd-retry-exp { + type uint32; + description + "Time to expiration of IPv4 BFD retry timer (s)"; + } + leaf adj-ipv6bfd-retry-exp { + type uint32; + description + "Time to expiration of IPv6 BFD retry timer (s)"; + } + leaf adj-ipv4bfd-retry-count { + type uint32; + description + "IPv4 BFD retry counter"; + } + leaf adj-ipv6bfd-retry-count { + type uint32; + description + "IPv6 BFD retry counter"; + } + leaf adjacency-uptime-valid-flag { + type boolean; + description + "TRUE if AdjacencyUptime is set"; + } + leaf adjacency-uptime { + type uint32; + description + "How long the adjacency has been up (s)"; + } + leaf adjacency-holdtime { + type uint32; + description + "Time (s) until adjacency declared down if no IIH + received"; + } + leaf adjacency-checkpoint-object-id { + type uint32; + description + "Adjacency checkpoint object ID"; + } + leaf adjacency-ietf-nsf-capable-flag { + type boolean; + description + "TRUE if neighbor is IETF-NSF capable"; + } + leaf adjacency-dispriority { + type Isis-dr-priority; + description + "Priority of DIS on this LAN. Valid only if + aj_media_class is ISIS_MEDIA_CLASS_LAN"; + } + leaf adjacency-neighbor-priority { + type Isis-dr-priority; + description + "Neighbor IS priority. Valid only if + aj_media_class is ISIS_MEDIA_CLASS_LAN"; + } + leaf adjacency-local-priority { + type Isis-dr-priority; + description + "Local IS priority. Valid only if aj_media_class + is ISIS_MEDIA_CLASS_LAN"; + } + leaf local-dis-flag { + type boolean; + description + "TRUE if local system is DIS. Valid only if + AdjacencyMediaType is ISIS_MEDIA_CLASS_LAN"; + } + leaf neighbor-dis-flag { + type boolean; + description + "TRUE if neighbor is DIS. Valid only if + AdjacencyMediaType is ISIS_MEDIA_CLASS_LAN"; + } + leaf nsr-standby { + type uint8; + description + "ISIS NSR STANDBY"; + } + leaf bfd-required { + type boolean; + description + "ISIS BFD Required"; + } + leaf neighbor-useable { + type boolean; + description + "ISIS Neighbor Useable"; + } + leaf bfd-change-pending { + type boolean; + description + "ISIS BFD change pending"; + } + leaf cs-boot-integrity-pass { + type boolean; + description + "CS Boot Integrity Pass"; + } + leaf cs-boot-integrity-fail { + type boolean; + description + "CS Boot Integrity Fail"; + } + leaf cs-failures-found { + type boolean; + description + "CS Failures Found"; + } + list adjacency-area-address { + description + "Area addresses active over this adjacency"; + leaf entry { + type xr:Osi-area-address; + description + "Area addresses active over this adjacency"; + } + } + list adjacency-topology { + description + "Per-topology data"; + uses ISIS-SH-ADJ-TOPO; + } + list adjacency-per-address-family-data { + description + "Per-address-family data"; + uses ISIS-SH-ADJ-AF; + } + list bfdtlv { + description + "BFD TLV content"; + uses ISIS-SH-ADJ-BFD-ITEM; + } + } + + grouping ISIS-SH-LSP-DB-SUMMARY-ALL-FRAGMENTS-STATS { + description + "All fragment counters"; + container node-counters { + description + "Summary by class of node"; + uses ISIS-SH-LSP-DB-SUMMARY-NODE-CLASS-COUNTERS; + } + } + + grouping ISIS-SH-LSP-DB-SUMMARY-TOPO-CLASS-COUNTERS { + description + "Per-topology related info"; + container id { + description + "Topology ID"; + uses ISIS-TOPO-ID-TYPE; + } + container overloaded-lsp-count { + description + "Number of LSPs with their per-topology overload + bit set"; + uses ISIS-SH-LSP-DB-SUMMARY-STATUS-CLASS-COUNTERS; + } + container attached-lsp-count { + description + "Number of LSPs with their per-topology attached + bit set"; + uses ISIS-SH-LSP-DB-SUMMARY-STATUS-CLASS-COUNTERS; + } + } + + grouping ISIS-SH-LSP-DB-SUMMARY-STATUS-CLASS-COUNTERS { + description + "LSP status counters"; + leaf active-lsp-count { + type uint32; + description + "Number of active LSPs"; + } + leaf purged-lsp-count { + type uint32; + description + "Number of purged LSPs"; + } + } + + grouping ISIS-SH-LSP-DB-SUMMARY-NODE-CLASS-COUNTERS { + description + "LSP node type counters"; + container route-lsp-count { + description + "Router LSPs"; + uses ISIS-SH-LSP-DB-SUMMARY-STATUS-CLASS-COUNTERS; + } + container pseudo-node-lsp-count { + description + "Pseudonode LSPs"; + uses ISIS-SH-LSP-DB-SUMMARY-STATUS-CLASS-COUNTERS; + } + } + + grouping ISIS-SH-LSP-DB-SUMMARY-FRAGMENT-0-STATS { + description + "Fragment-0 counters"; + container node-counters { + description + "Summary by class of node"; + uses ISIS-SH-LSP-DB-SUMMARY-NODE-CLASS-COUNTERS; + } + list per-topology-counter { + description + "Per topology counters"; + uses ISIS-SH-LSP-DB-SUMMARY-TOPO-CLASS-COUNTERS; + } + } + + grouping ISIS-SH-LSP-DB-SUMMARY { + description + "Summary Statistics for an IS-IS LSP Database"; + container fragment0lsp-stats { + description + "Statistics for fragment 0 LSPs"; + uses ISIS-SH-LSP-DB-SUMMARY-FRAGMENT-0-STATS; + } + container all-fragment-lsp-stats { + description + "Statistics for all LSP fragments"; + uses ISIS-SH-LSP-DB-SUMMARY-ALL-FRAGMENTS-STATS; + } + } + + grouping ISIS-ADJ-LOG-TOPO-TYPE { + description + "Per-topology per-adjacency log data"; + container id { + description + "Topology ID"; + uses ISIS-TOPO-ID-TYPE; + } + leaf change { + type Isis-adj-topo-change; + description + "Change"; + } + } + + grouping ISIS-SH-GENERIC-LOG-ENT { + description + "Generic portion of a log entry"; + container timestamp { + description + "Time in UTC relative to Jan 1st, 1970"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + } + + grouping ISIS-SH-ADJ-LOG-ENT { + description + "An adjacency log entry"; + container generic-data { + description + "Generic entry data"; + uses ISIS-SH-GENERIC-LOG-ENT; + } + leaf adj-log-neighbor-system-id { + type xr:Osi-system-id; + description + "Neighbor system ID"; + } + leaf interface-name { + type string; + description + "Interface name"; + } + leaf prev-adj-state { + type Isis-adj-state; + description + "Previous adjacency state"; + } + leaf cur-adj-state { + type Isis-adj-state; + description + "Current adjacency state"; + } + leaf state-reason { + type Isis-adj-state-reason; + description + "Reason adjacency changed state"; + } + list adjacency-per-topology-change { + description + "Per-topology changes"; + uses ISIS-ADJ-LOG-TOPO-TYPE; + } + } + + grouping ISIS-SH-ADJ-LOG-STRUC { + description + "Adjacency log structure"; + list log-entry { + description + "Adjacency Log entries"; + uses ISIS-SH-ADJ-LOG-ENT; + } + } + + grouping ISIS-AREA-TOPO-STATS-TYPE { + description + "Per-area, per-topology traffic statistics"; + leaf spf-run-count { + type uint32; + description + "Number of full SPF calculations run"; + } + leaf ispf-run-count { + type uint32; + description + "Number of ISPF calculations run"; + } + leaf nhc-run-count { + type uint32; + description + "Number of Next Hop Calculations run"; + } + leaf prc-run-count { + type uint32; + description + "Number of PRCs run"; + } + leaf periodic-run-count { + type uint32; + description + "Number of periodic SPF calculations run"; + } + } + + grouping ISIS-SH-TRAFFIC-AREA-TOPO { + description + "Per-area, per-topology traffic data"; + container id { + description + "Topology ID"; + uses ISIS-TOPO-ID-TYPE; + } + container statistics { + description + "Statistics"; + uses ISIS-AREA-TOPO-STATS-TYPE; + } + } + + grouping ISIS-AREA-STATS-TYPE { + description + "Per-area traffic statistics"; + leaf system-lsp-build-count { + type uint32; + description + "Number of times system LSP rebuilt"; + } + leaf system-lsp-refresh-count { + type uint32; + description + "Number of times system LSP refreshed"; + } + } + + grouping ISIS-SH-TRAFFIC-AREA { + description + "Per-area traffic data"; + container statistics { + description + "Statistics"; + uses ISIS-AREA-STATS-TYPE; + } + leaf level { + type Isis-level; + description + "Level this data applies to"; + } + list per-topology-data { + description + "Per-topoogy statistics"; + uses ISIS-SH-TRAFFIC-AREA-TOPO; + } + } + + grouping ISIS-SH-TIMESTAMP-TYPE { + description + "Timestamp for an event"; + leaf seconds { + type uint32; + units "second"; + description + "Timestamp value (seconds)"; + } + leaf nano-seconds { + type uint32; + units "nanosecond"; + description + "Timestamp value (nanoseconds)"; + } + } + + grouping ISIS-TRAFFIC-GLOBAL-TYPE { + description + "IS-IS process traffic statistics"; + container avg-hello-process-time { + description + "Average hello process time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container avg-csnp-process-time { + description + "Average CSNP process time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container avg-psnp-process-time { + description + "Average PSNP process time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container avg-lsp-process-time { + description + "Average LSP process time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container avg-hello-transmit-time { + description + "Average hello transmit time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container avg-csnp-transmit-time { + description + "Average CSNP transmit time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container avg-psnp-transmit-time { + description + "Average PSNP transmit time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + container avg-lsp-transmit-time { + description + "Average LSP transmit time"; + uses ISIS-SH-TIMESTAMP-TYPE; + } + leaf fast-psnp-lookup-count { + type uint32; + description + "Fast-PSNP cache lookups"; + } + leaf fast-psnp-lookup-hit-count { + type uint32; + description + "Fast-PSNP cache hits"; + } + leaf fast-csnp-lookup-count { + type uint32; + description + "Fast-CSNP cache lookups"; + } + leaf fast-csnp-lookup-hit-count { + type uint32; + description + "Fast-CSNP cache hits"; + } + leaf fast-csnp-cache-update-count { + type uint32; + description + "Fast-CSNP cache updates"; + } + leaf zero-holdtime-lsp-count { + type uint32; + description + "LSPs received with holdtime 0"; + } + leaf invalid-checksum-lsp-count { + type uint32; + description + "LSPs received with invalid checksum"; + } + leaf iih-dropped-count { + type uint32; + description + "IIHs dropped - Not Used"; + } + leaf lsp-dropped-count { + type uint32; + description + "LSPs dropped"; + } + leaf snp-dropped-count { + type uint32; + description + "SNPs dropped"; + } + leaf maximum-iih-queue-length { + type uint32; + description + "Maximum IIH queue length - Not Used"; + } + leaf maximum-pdu-queue-length { + type uint32; + description + "Maximum update PDU queue length"; + } + leaf pdu-queue-length { + type uint32; + description + "Update PDU queue length"; + } + leaf avg-hello-recv-rate { + type uint32; + units "packet/s"; + description + "Average hello receive rate in packets per second"; + } + leaf avg-csnp-recv-rate { + type uint32; + units "packet/s"; + description + "Average csnp receive rate in packets per second"; + } + leaf avg-psnp-recv-rate { + type uint32; + units "packet/s"; + description + "Average psnp receive rate in packets per second"; + } + leaf avg-lsp-recv-rate { + type uint32; + units "packet/s"; + description + "Average LSP receive rate in packets per second"; + } + leaf avg-hello-send-rate { + type uint32; + units "packet/s"; + description + "Average hello send rate in packets per second"; + } + leaf avg-csnp-send-rate { + type uint32; + units "packet/s"; + description + "Average csnp send rate in packets per second"; + } + leaf avg-psnp-send-rate { + type uint32; + units "packet/s"; + description + "Average psnp send rate in packets per second"; + } + leaf avg-lsp-send-rate { + type uint32; + units "packet/s"; + description + "Average LSP send rate in packets per second"; + } + } + + grouping ISIS-SH-TRAFFIC-GLOBAL { + description + "IS-IS process traffic data"; + container statistics { + description + "Statistics"; + uses ISIS-TRAFFIC-GLOBAL-TYPE; + } + list per-area-data { + description + "Per-area data"; + uses ISIS-SH-TRAFFIC-AREA; + } + } + + grouping ISIS-SH-HOST { + description + "Bag representing a host (IS)"; + leaf local-is-flag { + type boolean; + description + "TRUE if this is the local IS"; + } + leaf host-levels { + type Isis-levels; + description + "Host levels"; + } + leaf host-name { + type string; + description + "Host name"; + } + } + + grouping ISIS-IPV6-ENDX-SID-BACKUP-INFO { + description + "IPv6 End.X SID backup information"; + leaf backup-stack-size { + type uint8; + description + "Number of SIDs in the backup path stack"; + } + leaf backup-node-address { + type Isis-ipv6-address; + description + "Neighbor address used as adjacency backup target"; + } + leaf backup-nexthop { + type Isis-ipv6-address; + description + "Backup path nexthop address"; + } + leaf backup-interface { + type xr:Interface-name; + description + "Backup path interface"; + } + list backup-stack { + description + "Backup path SID stack"; + uses ISIS-IPV6-PREFIX-TYPE; + } + } + + grouping ISIS-IPV6-PREFIX-TYPE { + description + "IPv4 address and prefix length"; + leaf prefix { + type Isis-ipv6-address; + description + "prefix"; + } + leaf prefix-length { + type Isis-ip-prefix-length; + description + "prefix length"; + } + } + + grouping ISIS-IPV6-ENDX-SID { + description + "IPv6 End.X SID"; + container end-x-sid { + description + "End.X SID value"; + uses ISIS-IPV6-PREFIX-TYPE; + } + container end-x-sid-backup { + description + "End.X SID Backup Info"; + uses ISIS-IPV6-ENDX-SID-BACKUP-INFO; + } + leaf end-x-sid-function { + type Isis-srv6-endpoint-func; + description + "End.X SID Function"; + } + leaf algorithm { + type uint32; + description + "End.X SID Algorithm"; + } + leaf block-length { + type uint8; + description + "Block Length"; + } + leaf node-length { + type uint8; + description + "Node Length"; + } + leaf func-length { + type uint8; + description + "Func Length"; + } + leaf args-length { + type uint8; + description + "Args Length"; + } + } + + grouping ISIS-SH-ADJ-PER-LOCATOR { + description + "IPv6 Adjacency Per-Locator Data"; + container end-x-sid { + description + "SRv6 End.X SID"; + uses ISIS-IPV6-ENDX-SID; + } + container non-frr-end-x-sid { + description + "SRv6 End.X SID not eligible for FRR protection"; + uses ISIS-IPV6-ENDX-SID; + } + leaf algorithm { + type uint32; + description + "Algorithm"; + } + } + + grouping ISIS-IPV6-ADJ-SID-BACKUP-INFO { + description + "IPv6 Adjacency SID backup information"; + leaf backup-label-stack-size { + type uint8; + description + "Number of labels in the backup path label stack"; + } + leaf backup-node-address { + type Isis-ipv6-address; + description + "Neighbor address used as adjacency backup target"; + } + leaf backup-nexthop { + type Isis-ipv6-address; + description + "Backup path nexthop address"; + } + leaf backup-interface { + type xr:Interface-name; + description + "Backup path interface"; + } + list backup-label-stack { + description + "Backup path label stack"; + leaf entry { + type uint32; + description + "Backup path label stack"; + } + } + } + + grouping ISIS-IPV6-ADJ-SID { + description + "IPv6 Adjacency SID"; + container adjacency-sid-backup { + description + "Adjacency SID Backup Info"; + uses ISIS-IPV6-ADJ-SID-BACKUP-INFO; + } + container adjacency-sid-backup-te { + description + "Adjacency SID Backup Info TE"; + uses ISIS-IPV6-ADJ-SID-BACKUP-INFO; + } + leaf adjacency-sid-value { + type Isis-nodal-sid-value; + description + "Adjacency SID value"; + } + } + + grouping ISIS-SH-ADJ-IPV6 { + description + "IPv6 Specific Per-Adjacency Data"; + container adjacency-sid { + description + "Adjacency SID"; + uses ISIS-IPV6-ADJ-SID; + } + container non-frr-adjacency-sid { + description + "Adjacency SID not eligible for FRR protection"; + uses ISIS-IPV6-ADJ-SID; + } + leaf next-hop { + type Isis-ipv6-address; + description + "Adjacency next hop"; + } + list interface-address { + description + "Adjacency interface addresses"; + leaf entry { + type Isis-ipv6-address; + description + "Adjacency interface addresses"; + } + } + list underlying-adjacency-sid { + description + "Per bundle member Adjacency sid"; + leaf entry { + type Isis-nodal-sid-value; + description + "Per bundle member Adjacency sid"; + } + } + list underlying-interface { + description + "Underlying interface list for bundle interfaces"; + uses ISIS-SH-INTF-DET; + } + list end-x-sid { + description + "Per Locator ENDX SID"; + uses ISIS-SH-ADJ-PER-LOCATOR; + } + } + + grouping ISIS-SH-INTF-DET { + description + "Interface Detail"; + leaf interface-index { + type uint32; + description + "Local interface handle"; + } + leaf interface-name { + type string; + description + "Interface name"; + } + } + + grouping ISIS-IPV4-ADJ-SID-BACKUP-INFO { + description + "IPv4 Adjacency SID backup information"; + leaf backup-label-stack-size { + type uint8; + description + "Number of labels in the backup path label stack"; + } + leaf backup-node-address { + type Isis-ipv4-address; + description + "Neighbor address used as adjacency backup target"; + } + leaf backup-nexthop { + type Isis-ipv4-address; + description + "Backup path nexthop address"; + } + leaf backup-interface { + type xr:Interface-name; + description + "Backup path interface"; + } + list backup-label-stack { + description + "Backup path label stack"; + leaf entry { + type uint32; + description + "Backup path label stack"; + } + } + } + + grouping ISIS-IPV4-ADJ-SID { + description + "IPv4 Adjacency SID"; + container adjacency-sid-backup { + description + "Adjacency SID Backup Info"; + uses ISIS-IPV4-ADJ-SID-BACKUP-INFO; + } + container adjacency-sid-backup-te { + description + "Adjacency SID Backup Info TE"; + uses ISIS-IPV4-ADJ-SID-BACKUP-INFO; + } + leaf adjacency-sid-value { + type Isis-nodal-sid-value; + description + "Adjacency SID value"; + } + } + + grouping ISIS-SH-ADJ-IPV4 { + description + "IPv4 Specific Per-Adjacency Data"; + container adjacency-sid { + description + "Adjacency SID"; + uses ISIS-IPV4-ADJ-SID; + } + container non-frr-adjacency-sid { + description + "Adjacency SID not eligible for FRR protection"; + uses ISIS-IPV4-ADJ-SID; + } + leaf next-hop { + type Isis-ipv4-address; + description + "Adjacency next hop"; + } + list interface-address { + description + "Adjacency interface addresses"; + leaf entry { + type Isis-ipv4-address; + description + "Adjacency interface addresses"; + } + } + list underlying-adjacency-sid { + description + "Per bundle member Adjacency sid"; + leaf entry { + type Isis-nodal-sid-value; + description + "Per bundle member Adjacency sid"; + } + } + list underlying-interface { + description + "Underlying interface list for bundle interfaces"; + uses ISIS-SH-INTF-DET; + } + } + + grouping ISIS-SH-ADJ-AF { + description + "ISIS SH ADJ AF"; + container ipv4 { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + description + "IPV4 neighbor info"; + uses ISIS-SH-ADJ-IPV4; + } + container ipv6 { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + description + "IPV6 neighbor info"; + uses ISIS-SH-ADJ-IPV6; + } + leaf af-name { + type Isis-af-id; + description + "AFName"; + } + } + + grouping ISIS-TOPO-ID-TYPE { + description + "Identification of an IS-IS topology"; + leaf af-name { + type Isis-af-id; + description + "AF name"; + } + leaf saf-name { + type Isis-sub-af-id; + description + "Sub-AF name"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf topology-name { + type string; + description + "Topology Name"; + } + } + + grouping ISIS-SH-NBR { + description + "A neighbor IS"; + leaf neighbor-system-id { + type xr:Osi-system-id; + description + "Neighbor system ID"; + } + leaf neighbor-snpa { + type xr:Isis-snpa; + description + "Neighbor SNPA"; + } + leaf local-interface { + type xr:Interface-name; + description + "Local interface"; + } + leaf neighbor-state { + type Isis-adj-state; + description + "Neighbor (adjacency) state"; + } + leaf neighbor-circuit-type { + type Isis-levels; + description + "Circuit type"; + } + leaf neighbor-ietf-nsf-capable-flag { + type uint32; + description + "TRUE if neighbor is IETF-NSF capable"; + } + leaf neighbor-media-type { + type Isis-media-class; + description + "Link media type"; + } + leaf neighbor-holdtime { + type uint32; + description + "Time (s) until neighbor declared down if no IIH + received"; + } + leaf neighbor-uptime-valid-flag { + type boolean; + description + "TRUE if NeighborUptime is set"; + } + leaf neighbor-uptime { + type uint32; + description + "How long the neighbor has been up (s)"; + } + leaf nsr-standby { + type boolean; + description + "ISIS NSR STANDBY"; + } + list neighbor-active-area-address { + description + "Active area addresses"; + leaf entry { + type xr:Osi-area-address; + description + "Active area addresses"; + } + } + list topologies-supported { + description + "Topologies supported by both neighbor and local + system"; + uses ISIS-TOPO-ID-TYPE; + } + list neighbor-per-address-family-data { + description + "Per address-family data"; + uses ISIS-SH-ADJ-AF; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub2.yang new file mode 100644 index 000000000..1888c1da6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper-sub2.yang @@ -0,0 +1,290 @@ +submodule Cisco-IOS-XR-clns-isis-oper-sub2 { + belongs-to Cisco-IOS-XR-clns-isis-oper { + prefix Cisco-IOS-XR-clns-isis-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR clns-isis package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-28 { + description + "Add ISIS UHP support + 2022-01-30 + add per-area, per topology statistic indexed list. + 2022-01-11 + add show isis neighbor summary statistic info. IosSetYangSchemaRev Cisco-IOS-XR-PRIVATE-ocni-isis-oper + 2021-09-03 + Show output added for IP Flex-algo."; + semver:module-version "4.2.0"; + } + revision 2021-07-07 { + description + "Add timestamp and age to isis local rib routes."; + semver:module-version "4.1.0"; + } + revision 2021-03-13 { + description + "Interface bandwidth changed from uint32_t to uint64_t + 2021-01-04 + Add private adjacency bag + 2020-11-05 + Flex-algo extension for show isis topology. + 2020-10-27 + Add a new type Isis-flex-algo-metric for flex-algo metrics and change the metric-type leaf in ISIS-SH-FLEX-ALGO-AREA to use it. + 2020-10-20 + Change in Yang tool corrected strings repair-s-rv6* to repair-srv6*, end-xsid* to end-x-sid*, and is-s-rv6 to is-srv6. Changed avg-dela-rawy to avg-delay-raw to fix misspelling via CSCvu63930. Changed SRv6 function-type to sid-behavior, uint32_t to mgmt_srv6_sid_fmt, and num-sid to num-sids for consistency and to comply with current IETF ISIS SRv6 draft via CSCvu06764."; + semver:module-version "4.0.0"; + } + revision 2020-05-12 { + description + "Added SRLG and SRLG Static + 2020-03-25 + Added operational data for new features."; + semver:module-version "3.0.0"; + } + revision 2019-09-25 { + description + "Added operational data for new features + 2019-05-14 + Conditional Advertise-prefix support + 2019-05-03 + move ocni-isis opencfg model from native model to private oper model"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-28 { + description + "Upgrade ocni-isis to opencfg model version 0.4.2"; + } + revision 2019-02-23 { + description + "Added is_srv6 flag to ISIS IPv6 route"; + } + revision 2019-02-16 { + description + "Added interface link-group name"; + } + revision 2018-10-15 { + description + "Add SRv6 configured locators"; + } + revision 2018-10-04 { + description + "Update SRv6 locator table"; + } + revision 2018-05-17 { + description + "Update opencfg isis model"; + } + revision 2018-04-07 { + description + "Update SRv6 definitions to draft-filsfils-spring-srv6-network-programming-04"; + } + revision 2018-01-24 { + description + "Added SRLG TILFA operation CLI."; + } + revision 2017-12-06 { + description + "Add segment-routing srv6"; + } + revision 2017-08-08 { + description + "Add openconfig network instance model isis telemetry EDM function support."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Srms-mi-flag-e-b { + type enumeration { + enum "false" { + value 0; + description + "False"; + } + enum "true" { + value 1; + description + "True"; + } + } + description + "Srms mi flag e b"; + } + + typedef In6-addr-t-b { + type inet:ipv6-address; + description + "In6 addr t b"; + } + + typedef Srms-mi-af-e-b { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Srms mi af e b"; + } + + typedef Srms-mi-src-e-b { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "local" { + value 1; + description + "Local"; + } + enum "remote" { + value 2; + description + "Remote"; + } + } + description + "Srms mi src e b"; + } + + grouping ADDR { + description + "ADDR"; + leaf af { + type Srms-mi-af-e-b; + description + "AF"; + } + leaf ipv4 { + when "../af = 'ipv4'" { + description + "../AF = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4"; + } + leaf ipv6 { + when "../af = 'ipv6'" { + description + "../AF = 'IPv6'"; + } + type In6-addr-t-b; + description + "IPv6"; + } + } + + grouping SRMS-MI-T-B { + description + "SRMS show bag"; + container addr { + description + "Ipv4 address"; + uses ADDR; + } + leaf src { + type Srms-mi-src-e-b; + description + "Source of this prefix, whether local or remote"; + } + leaf router { + type string { + length "0..30"; + } + description + "Router ID"; + } + leaf area { + type string { + length "0..30"; + } + description + "Area (OSPF) or Level (ISIS)"; + } + leaf prefixlen { + type uint8; + description + "Prefix length"; + } + leaf sid-start { + type uint32; + description + "Starting SID"; + } + leaf sid-count { + type uint32; + description + "SID range"; + } + leaf last-prefix { + type string { + length "0..50"; + } + description + "Last IP Prefix"; + } + leaf last-sid-index { + type uint32; + description + "Last SID Index"; + } + leaf flag-attached { + type Srms-mi-flag-e-b; + description + "Attached flag"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper.yang new file mode 100644 index 000000000..5ced705ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-clns-isis-oper.yang @@ -0,0 +1,1243 @@ +module Cisco-IOS-XR-clns-isis-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-oper"; + prefix clns-isis-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-clns-isis-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-clns-isis-oper-sub2 { + revision-date 2022-07-28; + } + include Cisco-IOS-XR-clns-isis-oper-sub1 { + revision-date 2022-07-28; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR clns-isis package operational data. + + This module contains definitions + for the following management objects: + isis: IS-IS operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-28 { + description + "Add ISIS UHP support + 2022-01-30 + add per-area, per topology statistic indexed list. + 2022-01-11 + add show isis neighbor summary statistic info. IosSetYangSchemaRev Cisco-IOS-XR-PRIVATE-ocni-isis-oper + 2021-09-03 + Show output added for IP Flex-algo."; + semver:module-version "4.2.0"; + } + revision 2021-07-07 { + description + "Add timestamp and age to isis local rib routes."; + semver:module-version "4.1.0"; + } + revision 2021-03-13 { + description + "Interface bandwidth changed from uint32_t to uint64_t + 2021-01-04 + Add private adjacency bag + 2020-11-05 + Flex-algo extension for show isis topology. + 2020-10-27 + Add a new type Isis-flex-algo-metric for flex-algo metrics and change the metric-type leaf in ISIS-SH-FLEX-ALGO-AREA to use it. + 2020-10-20 + Change in Yang tool corrected strings repair-s-rv6* to repair-srv6*, end-xsid* to end-x-sid*, and is-s-rv6 to is-srv6. Changed avg-dela-rawy to avg-delay-raw to fix misspelling via CSCvu63930. Changed SRv6 function-type to sid-behavior, uint32_t to mgmt_srv6_sid_fmt, and num-sid to num-sids for consistency and to comply with current IETF ISIS SRv6 draft via CSCvu06764."; + semver:module-version "4.0.0"; + } + revision 2020-05-12 { + description + "Added SRLG and SRLG Static + 2020-03-25 + Added operational data for new features."; + semver:module-version "3.0.0"; + } + revision 2019-09-25 { + description + "Added operational data for new features + 2019-05-14 + Conditional Advertise-prefix support + 2019-05-03 + move ocni-isis opencfg model from native model to private oper model"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-28 { + description + "Upgrade ocni-isis to opencfg model version 0.4.2"; + } + revision 2019-02-23 { + description + "Added is_srv6 flag to ISIS IPv6 route"; + } + revision 2019-02-16 { + description + "Added interface link-group name"; + } + revision 2018-10-15 { + description + "Add SRv6 configured locators"; + } + revision 2018-10-04 { + description + "Update SRv6 locator table"; + } + revision 2018-05-17 { + description + "Update opencfg isis model"; + } + revision 2018-04-07 { + description + "Update SRv6 definitions to draft-filsfils-spring-srv6-network-programming-04"; + } + revision 2018-01-24 { + description + "Added SRLG TILFA operation CLI."; + } + revision 2017-12-06 { + description + "Add segment-routing srv6"; + } + revision 2017-08-08 { + description + "Add openconfig network instance model isis telemetry EDM function support."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping POLICY-MI { + description + "Common node of policy-ipv4-active, + policy-ipv4-backup, policy-ipv6-active, + policy-ipv6-backup"; + list policy-mi { + key "mi-id"; + description + "Mapping Item"; + leaf mi-id { + type xr:Cisco-ios-xr-string; + description + "Mapping Item ID (0, 1, 2, ...)"; + } + uses SRMS-MI-T-B; + } + } + + grouping INSTANCE { + description + "Common node of instances, instances-standby"; + list instance { + key "instance-name"; + description + "IS-IS instance"; + container neighbors { + description + "Neighbor table"; + list neighbor { + description + "A single neighbor router"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-NBR; + } + } + container host-names { + description + "Hostname table"; + list host-name { + key "system-id"; + description + "Hostname table entry"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + uses ISIS-SH-HOST; + } + } + container statistics-global { + description + "Per-instance statistics"; + uses ISIS-SH-TRAFFIC-GLOBAL; + } + container levels { + description + "Level table"; + list level { + key "level"; + description + "Per-level operational data"; + container adjacency-log { + description + "Log of adjacency changes within a single + level"; + uses ISIS-SH-ADJ-LOG-STRUC; + } + container lsp-table-summary { + description + "Summary information for one level's LSP + database"; + uses ISIS-SH-LSP-DB-SUMMARY; + } + container adjacencies { + description + "Adjacency table"; + list adjacency { + description + "A single IS-IS adjacency"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-ADJ; + } + } + container detailed-lsps { + description + "Detailed LSP table. Use to retrieve LSPs with + TLV content."; + list detailed-lsp { + key "lsp-id"; + description + "An IS-IS LSP with detailed TLV data included"; + leaf lsp-id { + type xr:Isis-lsp-id; + description + "LSP ID"; + } + uses ISIS-SH-LSP; + } + } + container lsps { + description + "LSP table"; + list lsp { + key "lsp-id"; + description + "An IS-IS LSP (header information only)"; + leaf lsp-id { + type xr:Isis-lsp-id; + description + "LSP ID"; + } + uses ISIS-SH-LSP; + } + } + container lsp-log { + description + "LSP-log for a single level"; + uses ISIS-SH-LSP-LOG-STRUC; + } + container database-log { + description + "Database-log for a single level"; + uses ISIS-SH-LSP-DB-LOG-STRUC; + } + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + } + } + container topologies { + description + "Topology table"; + list topology { + description + "Per-topology data"; + container ipv4frr-flex-tables { + description + "IPv4 FRR Flex-Algo tables"; + list ipv4frr-flex-table { + key "flex-alg"; + description + "IPv4 FRR Flex-Algo table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + list ipv4frr-flex-backup { + description + "Flex-Algo FRR backup for an IPv4 network"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv4-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV4-ROUTE; + } + } + } + container ipv6-flex-route-tables { + description + "IPv6 Flex-Algo local route tables"; + list ipv6-flex-route-table { + key "flex-alg"; + description + "IPv6 Flex-Algo local route table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + list ipv6-flex-route { + description + "An IPv6 route known to IS-IS"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv6-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV6-ROUTE; + } + } + } + container frr-summary { + description + "FRR summary information for a particular + IS-IS topology"; + uses ISIS-SH-FRR-SUMMARY; + } + container srv6-locators { + description + "SRv6 Locator Table"; + list srv6-locator { + key "name"; + description + "An SRv6 Locator"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Locator Name"; + } + uses ISIS-SH-SRV6-LOCATOR; + } + } + container topology-levels { + description + "Per-topology level table"; + list topology-level { + key "level"; + description + "Per-level topology operational data"; + container flex-algo-topology-summary-is-tables { + description + "Flex-Algo Link Topology Summary IS Tables"; + list flex-algo-topology-summary-is-table { + key "flex-alg"; + description + "Flex-Algo Link Topology Summary IS Table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + list flex-algo-topology-summary-is { + key "system-id"; + description + "Summary information for a particular IS + Topology and Flex-Algo"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + uses ISIS-SH-TOPO-SUMMARY; + } + } + } + container flex-algo-ipv4-link-topology-tables { + description + "Flex-Algo IPv4 IS Topology Tables"; + list flex-algo-ipv4-link-topology-table { + key "flex-alg"; + description + "Flex-Algo IPv4 IS Topology Table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + list flex-algo-ipv4-link-topology { + key "system-id"; + description + "An IS in an Flex-Algo IPv4 Link Topology"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + uses ISIS-SH-IPV4-TOPO-ENTRY; + } + } + } + container flex-algo-ipv6-link-topology-tables { + description + "Flex-Algo IPv6 IS Topology Tables"; + list flex-algo-ipv6-link-topology-table { + key "flex-alg"; + description + "Flex-Algo IPv6 IS Topology Table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + list flex-algo-ipv6-link-topology { + key "system-id"; + description + "An IS in an Flex-Algo IPv46Link Topology"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + uses ISIS-SH-IPV6-TOPO-ENTRY; + } + } + } + container te-advertisements { + description + "TE advertisements for a single level and + topology. Only available within the IPv4 + Unicast topology."; + uses ISIS-SH-TE-ADV; + } + container te-adjacency-log { + description + "TE adjacency-log for a single level and + topology. Only available within the IPv4 + Unicast topology."; + uses ISIS-SH-TE-LOG-STRUC; + } + container spf-log { + description + "Log of route calculations for a single + level and topology"; + uses ISIS-SH-SPF-LOG-STRUC; + } + container flex-algo-topology-summaries { + description + "Flex-Algo Link Topology Summary Tables"; + list flex-algo-topology-summary { + key "flex-alg"; + description + "Flex-Algo IPv4 IS Topology Table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + uses ISIS-SH-TOPO-SUMMARY; + } + } + container te-tunnels { + description + "TE tunnels table. Only available within the + IPv4 Unicast topology."; + list te-tunnel { + description + "A single TE tunnel advertized by IS-IS"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-TE-TUNNEL; + } + } + container ipv4-link-topologies { + description + "IPv4 IS Topology table"; + list ipv4-link-topology { + key "system-id"; + description + "An IS in an IPv4 Link Topology"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + uses ISIS-SH-IPV4-TOPO-ENTRY; + } + } + container topology-summary { + description + "Summary information for a particular IS + Topology"; + uses ISIS-SH-TOPO-SUMMARY; + } + container ipv6-link-topologies { + description + "IPv6 IS Topology table"; + list ipv6-link-topology { + key "system-id"; + description + "An IS in an IPv6 Link Topology"; + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + uses ISIS-SH-IPV6-TOPO-ENTRY; + } + } + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + } + } + container ipv6-routes { + description + "IPv6 local route"; + list ipv6-route { + description + "An IPv6 route known to IS-IS"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv6-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV6-ROUTE; + } + } + container ipv6frr-flex-tables { + description + "IPv6 FRR Flex-Algo tables"; + list ipv6frr-flex-table { + key "flex-alg"; + description + "IPv6 FRR Flex-Algo table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + list ipv6frr-flex-backup { + description + "Flex-algo FRR backup for an IPv6 network"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv6-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV6-ROUTE; + } + } + } + container ipv6frr-backups { + description + "IPv6 FRR table"; + list ipv6frr-backup { + description + "FRR backup for an IPv6 network"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv6-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV6-ROUTE; + } + } + container ipv4frr-backups { + description + "IPv4 FRR table"; + list ipv4frr-backup { + description + "FRR backup for an IPv4 network"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv4-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV4-ROUTE; + } + } + container ipv4-flex-route-tables { + description + "IPv4 Flex-Algo local route tables"; + list ipv4-flex-route-table { + key "flex-alg"; + description + "IPv4 Flex-Algo local route table"; + leaf flex-alg { + type uint32; + description + "Flex Algo"; + } + list ipv4-flex-route { + description + "An IPv4 route known to IS-IS"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv4-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV4-ROUTE; + } + } + } + container ipv4-routes { + description + "IPv4 local route table"; + list ipv4-route { + description + "An IPv4 route known to IS-IS"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type dt1:Isis-ipv4-prefix-length; + description + "Prefix Length"; + } + uses ISIS-SH-IPV4-ROUTE; + } + } + leaf af-name { + type dt1:Isis-address-family; + description + "Address family"; + } + leaf saf-name { + type dt1:Isis-sub-address-family; + description + "Sub address family"; + } + leaf topology-name { + type dt1:Isis-topology-name; + description + "Topology Name"; + } + } + } + container srlgs { + description + "SRLG Table"; + list srlg { + key "srlg-name"; + description + "SRLG Data"; + leaf srlg-name { + type xr:Cisco-ios-xr-string; + description + "srlg name"; + } + uses ISIS-SH-SRLG; + } + } + container nsr-status { + description + "NSR Status information"; + uses ISIS-SH-NSR-STATUS-GLOBAL; + } + container srlg-statics { + description + "SRLG Static Table"; + list srlg-static { + key "srlg-name"; + description + "SRLG Static Data"; + leaf srlg-name { + type xr:Cisco-ios-xr-string; + description + "srlg name"; + } + uses ISIS-SH-SRLG-STATIC; + } + } + container interfaces { + description + "Interface table"; + list interface { + key "interface-name"; + description + "Information about one IS-IS interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-IF; + } + } + container checkpoint-adjacencies { + description + "Checkpointed adjacency table"; + list checkpoint-adjacency { + description + "A checkpointed IS-IS adjacency"; + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + leaf system-id { + type xr:Osi-system-id; + description + "System ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-CHKPT-ADJ; + } + } + container flex-algos { + description + "Flex Algo Table"; + list flex-algo { + key "flex-algo"; + description + "Flex Algo Definition Data"; + leaf flex-algo { + type uint32; + description + "Flex Algo"; + } + uses ISIS-SH-FLEX-ALGO; + } + } + container srms { + description + "Segment Routing Mapping Server operational data"; + container policy { + description + "Policy operational data"; + container policy-ipv4 { + description + "IPv4 policy operational data"; + container policy-ipv4-active { + description + "IPv4 active policy operational data"; + uses POLICY-MI; + } + container policy-ipv4-backup { + description + "IPv4 backup policy operational data"; + uses POLICY-MI; + } + } + container policy-ipv6 { + description + "IPv6 policy operational data"; + container policy-ipv6-backup { + description + "IPv6 backup policy operational data"; + uses POLICY-MI; + } + container policy-ipv6-active { + description + "IPv6 active policy operational data"; + uses POLICY-MI; + } + } + } + } + container mib { + description + "IS-IS MIB"; + container circuit-counter-table-entries { + description + "Circuit specific counters for the system"; + list circuit-counter-table-entry { + key "circ-index circuit-type"; + description + "Each circuit has a circuit counter table + entry"; + leaf circ-index { + type uint32; + description + "Circuit Index"; + } + leaf circuit-type { + type dt1:Isis-circuit; + description + "Circuit Type"; + } + uses ISIS-MIB-CIRCUIT-COUNTER-ENTRY; + } + } + container area-addr-table { + description + "area addresses table"; + uses ISIS-MIB-AREA-ADDR-TABLE; + } + container packet-counter-table-entries { + description + "Info about IS-IS protocol traffic on a circuit"; + list packet-counter-table-entry { + key "circ-index level packet-count-direction"; + description + "Info about IS-IS protocol traffic on one + level"; + leaf circ-index { + type uint32; + description + "Circuit Index"; + } + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + leaf packet-count-direction { + type dt1:Isis-packet-count-direction; + description + "Direction"; + } + uses ISIS-MIB-PACKET-COUNTER-ENTRY; + } + } + container mib-levels { + description + "MIB Level table"; + list mib-level { + key "level"; + description + "Per-level operational data"; + container sys-level-table { + description + "Level specific info about the system"; + uses ISIS-MIB-SYS-LEVEL-ENTRY; + } + container system-counter-table { + description + "Systemwide counters for this system"; + uses ISIS-MIB-SYS-STAT-LEVEL-ENTRY; + } + container lsp-summary-entries { + description + "Table of LSP headers"; + list lsp-summary-entry { + key "lsp-id"; + description + "Summary description of an LSP stored in + this system"; + leaf lsp-id { + type xr:Isis-lsp-id; + description + "LSP ID"; + } + uses ISIS-MIB-LSP-SUMMARY-LIST-ENTRY; + } + } + container lsptlv-entries { + description + "Table of LSPs in the database"; + list lsptlv-entry { + description + "Each entry describes a TLV within an LSP in + the database"; + leaf lsp-id { + type string; + description + "LSP ID"; + } + leaf tlv-index { + type uint32; + description + "TLV Index"; + } + uses ISIS-MIB-YANG-MODEL-LSP-ENTRY; + } + } + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + } + } + container redistribute-addr-table { + description + "redistributed prefix table"; + uses ISIS-MIB-IP-RA-TABLE; + } + container man-area-addr-table { + description + "Manually configured area addresses table"; + uses ISIS-MIB-AREA-ADDR-TABLE; + } + container circ-level-table-entries { + description + "Level specific info about circuits used by the + system"; + list circ-level-table-entry { + key "circ-index level"; + description + "circuit for specific level on the system"; + leaf circ-index { + type uint32; + description + "Circuit Index"; + } + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + uses ISIS-MIB-CIRC-LEVEL-ENTRY; + } + } + container is-adj-table-entries { + description + "Intermediate System adjacencies table"; + list is-adj-table-entry { + key "circ-index is-adj-index"; + description + "Each adjacency has an adjacency table entry"; + leaf circ-index { + type uint32; + description + "Circuit Index"; + } + leaf is-adj-index { + type uint32; + description + "IS Adj Index"; + } + uses ISIS-MIB-CIRC-ADJ-TABLE; + } + } + container summ-addr-table { + description + "IP summary address table"; + uses ISIS-MIB-SUMM-ADDR-TABLE; + } + container sysobjs { + description + "Mib system objects"; + uses ISIS-MIB-SYS-OBJECT; + } + container circ-table-entries { + description + "Circuit table"; + list circ-table-entry { + key "circ-index"; + description + "Circuit table entry"; + leaf circ-index { + type uint32; + description + "Circuit Index"; + } + uses ISIS-MIB-CIRC-ENTRY; + } + } + } + container error-log { + description + "Log of errors and warnings"; + uses ISIS-SH-ERR-LOG-STRUC; + } + container checkpoint-interfaces { + description + "Checkpointed interface table"; + list checkpoint-interface { + key "interface-name"; + description + "Checkpointed information about one IS-IS + interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-CHKPT-IDB; + } + } + container sr-labels { + description + "SR Label table"; + list sr-label { + key "label"; + description + "SrLabel table entry"; + leaf label { + type uint32; + description + "SR Label"; + } + uses ISIS-SH-LABEL; + } + } + container interface-statistics { + description + "Interface statistics table"; + list interface-statistic { + key "interface-name"; + description + "Statistics data for one IS-IS interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-TRAFFIC-INTF; + } + } + container protocol { + description + "Basic protocol information about an IS-IS + instance"; + uses ISIS-SH-PROTO; + } + container nbr-summ-stats { + description + "Neighbor Summary Statistics information"; + uses ISIS-SH-NBR-SUMM-STATS; + } + container statistics-global-tbl { + description + "Per-instance statistics table"; + container statistics { + description + "Global Statistics"; + uses ISIS-SH-GLOBAL-STATS; + } + container per-area-datas { + description + "Statistcis for an area"; + list per-area-data { + key "level"; + description + "Per-area Statistics data"; + container statistics { + description + "Area Statistics"; + uses ISIS-SH-GLOBAL-AREA-STATS; + } + container per-topology-datas { + description + "Statistcis for an topology"; + list per-topology-data { + description + "Per topology Statistics"; + container statistics { + description + "Statistics info for per topology"; + uses ISIS-SH-GLOBAL-AREA-TOPO-STATS; + } + leaf af-name { + type dt1:Isis-address-family; + description + "Address family"; + } + leaf saf-name { + type dt1:Isis-sub-address-family; + description + "Sub address family"; + } + leaf vrf-name { + type dt1:Isis-vrf-name; + description + "Vrf name"; + } + leaf topology-name { + type dt1:Isis-topology-name; + description + "Topology Name"; + } + } + } + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + } + } + } + container neighbor-summaries { + description + "Neighbor-summary table"; + list neighbor-summary { + key "interface-name"; + description + "Neighbor-summary data for a single interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-NBR-SUMM; + } + } + container checkpoint-lsps { + description + "Checkpointed LSP table"; + list checkpoint-lsp { + description + "A checkpointed IS-IS LSP"; + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + leaf lsp-id { + type xr:Isis-lsp-id; + description + "LSP ID"; + } + uses ISIS-SH-CHKPT-LSP; + } + } + container mesh-groups { + description + "Mesh-group information"; + uses ISIS-SH-MESH-GROUPS; + } + container nsr-statistics { + description + "NSR Statistics information"; + uses ISIS-SH-NSR-STATS-GLOBAL; + } + container checkpoint-te-tunnels { + description + "Checkpointed TE tunnel table"; + list checkpoint-te-tunnel { + description + "A checkpointed TE tunnel"; + leaf level { + type dt1:Isis-internal-level; + description + "Level"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ISIS-SH-CHKPT-TE-TUNNEL; + } + } + leaf instance-name { + type dt1:Isis-instance-name; + description + "Instance identifier"; + } + } + } + + container isis { + config false; + description + "IS-IS operational data"; + container instances { + description + "Per-instance active ISIS operational data"; + uses INSTANCE; + } + container instances-standby { + description + "Standby ISIS operational data"; + uses INSTANCE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-cnbng-nal-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-cnbng-nal-act.yang new file mode 100644 index 000000000..cc44685b3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-cnbng-nal-act.yang @@ -0,0 +1,139 @@ +module Cisco-IOS-XR-cnbng-nal-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-cnbng-nal-act"; + prefix cnbng-nal-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2018-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-29 { + description + "IOS XR 7.6.1 revision removing cnbng-nal task"; + semver:module-version "1.1.0"; + } + revision 2021-02-11 { + description + "IOS XR 7.4.1 revision removing unused imports."; + semver:module-version "1.0.0"; + } + revision 2020-09-10 { + description + "IOS XR 7.3.1 revision."; + semver:module-version "1.0.0"; + } + + rpc clear-cnbng-nal-cp-association { + description + "Clear cnBNG NAL CP server association"; + csc:cli-command "clear cnbng-nal cp-association"; + } + rpc clear-cnbng-nal-cp-association-location { + description + "Clear cnBNG NAL CP server association for given node"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + csc:cli-name "*"; + } + } + csc:cli-command "clear cnbng-nal cp-association location "; + } + rpc clear-cnbng-nal-dynamic-routes-afi { + description + "Execute clear cnBNG NAL Dynamic-routes AFI-type"; + input { + leaf afi-type { + type string; + mandatory true; + description + "Address-family"; + csc:cli-name "*"; + } + } + csc:cli-command "clear cnbng-nal dynamic-routes afi "; + } + rpc clear-cnbng-nal-dynamic-routes-afi-location { + description + "Execute clear cnBNG NAL Dynamic-routes AFI for the given node"; + input { + leaf afi-type { + type string; + mandatory true; + description + "Address-family"; + csc:cli-name "*"; + } + leaf node-location { + type string; + mandatory true; + description + "Node location"; + csc:cli-name "*"; + } + } + csc:cli-command "clear cnbng-nal dynamic-routes afi location "; + } + rpc clear-cnbng-nal-dynamic-routes-history { + description + "Clear cnBNG NAL Dynamic-routes history"; + csc:cli-command "clear cnbng-nal dynamic-routes history"; + } + rpc clear-cnbng-nal-dynamic-routes-history-location { + description + "Clear cnBNG NAL Dynamic-routes history for given node"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + csc:cli-name "*"; + } + } + csc:cli-command "clear cnbng-nal dynamic-routes history location "; + } + rpc clear-cnbng-nal-subscriber-disconnect-history { + description + "Clear cnBNG NAL subscriber disconnect-history entries"; + csc:cli-command "clear cnbng-nal subscriber disconnect-history"; + } + rpc clear-cnbng-nal-subscriber-disconnect-history-location { + description + "Clear cnBNG NAL subscriber disconnect-history entries for given node"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + csc:cli-name "*"; + } + } + csc:cli-command "clear cnbng-nal subscriber disconnect-history location "; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-common-acl-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-common-acl-datatypes.yang new file mode 100644 index 000000000..9177ea499 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-common-acl-datatypes.yang @@ -0,0 +1,67 @@ +module Cisco-IOS-XR-common-acl-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-common-acl-datatypes"; + prefix common-acl-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Acl-usage-app-id-enum { + type enumeration { + enum "pfilter" { + value 1; + description + "General Usage Statistics"; + } + enum "bgp" { + value 2; + description + "Usage staistics related to BGP Traffic"; + } + enum "ospf" { + value 3; + description + "Usage staistics related to OSPF Traffic"; + } + } + description + "Acl usage app id enum"; + } + + typedef Acl-sequence-number-range { + type uint32 { + range "1..2147483646"; + } + description + "Acl sequence number range"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-cfg.yang new file mode 100644 index 000000000..0ad6db661 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-cfg.yang @@ -0,0 +1,57 @@ +module Cisco-IOS-XR-config-cfgmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-cfg"; + prefix config-cfgmgr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-cfgmgr package configuration. + + This module contains definitions + for the following management objects: + cfgmgr: Cfgmgr configuration + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "Updated schema to restrict user-access based on taskgroup."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container cfgmgr { + description + "Cfgmgr configuration"; + leaf mode-exclusive { + type boolean; + default "true"; + description + "Enabled or Disabled"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1.yang new file mode 100644 index 000000000..44e7c425e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1.yang @@ -0,0 +1,417 @@ +submodule Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1 { + belongs-to Cisco-IOS-XR-config-cfgmgr-exec-oper { + prefix Cisco-IOS-XR-config-cfgmgr-exec-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR config-cfgmgr-exec package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "Updated schema to restrict user-access based on taskgroup."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Hist-record { + type enumeration { + enum "cfghist-bag-record-all" { + description + "All history"; + } + enum "cfghist-bag-record-alarm" { + description + "Alarm history"; + } + enum "cfghist-bag-record-cfs-check" { + description + "CfgCheck history"; + } + enum "cfghist-bag-record-commit" { + description + "Commit history"; + } + enum "cfghist-bag-record-oir" { + description + "OIR history"; + } + enum "cfghist-bag-record-shutdown" { + description + "Shutdown history"; + } + enum "cfghist-bag-record-startup" { + description + "Bootup history"; + } + enum "cfghist-bag-record-backup" { + description + "Backup history"; + } + enum "cfghist-bag-record-rebase" { + description + "Rebase history"; + } + enum "cfghist-bag-record-last" { + description + "Last history"; + } + } + description + "Possible types of history"; + } + + grouping CFGSESSION-D-ENTRY { + description + "Per Session Detail Information"; + leaf session-id { + type string; + description + "Session Id"; + } + leaf client-name { + type string; + description + "Client Name"; + } + leaf user-id { + type string; + description + "UserId"; + } + leaf tty-name { + type string; + description + "TtyName"; + } + leaf timestamp { + type string; + description + "Timestamp"; + } + leaf lock-flag { + type string; + description + "Lock Flag"; + } + leaf trial-flag { + type string; + description + "Trial Flag"; + } + leaf pid { + type uint32; + description + "PID"; + } + leaf process-name { + type string; + description + "Process Name"; + } + leaf node-name { + type string; + description + "Node Name"; + } + leaf elapsed-time { + type string; + description + "Elapsed Time"; + } + } + + grouping HIST-BACKUP { + description + "HIST BACKUP"; + leaf comment { + type string; + description + "Comment"; + } + } + + grouping HIST-STARTUP { + description + "HIST STARTUP"; + leaf how-booted { + type string; + description + "How Booted"; + } + leaf boot-path { + type string; + description + "Boot Path"; + } + } + + grouping HIST-SHUTDOWN { + description + "HIST SHUTDOWN"; + leaf comment { + type string; + description + "Comment"; + } + } + + grouping HIST-OIR { + description + "HIST OIR"; + leaf config-type { + type string; + description + "Config Type"; + } + leaf operation { + type string; + description + "Operation"; + } + leaf config-name { + type string; + description + "Config Name"; + } + } + + grouping HIST-COMMIT { + description + "HIST COMMIT"; + leaf commit-id { + type string; + description + "CommitId"; + } + leaf user-id { + type string; + description + "UserId"; + } + leaf line { + type string; + description + "Line"; + } + leaf client-name { + type string; + description + "Client name"; + } + leaf label { + type string; + description + "Label"; + } + leaf comment { + type string; + description + "Comment"; + } + } + + grouping HIST-CFSCHECK { + description + "HIST CFSCHECK"; + leaf user-id { + type string; + description + "UserId"; + } + leaf line { + type string; + description + "Line"; + } + } + + grouping HIST-ALARM { + description + "HIST ALARM"; + leaf state { + type string; + description + "State"; + } + leaf where { + type string; + description + "Where"; + } + } + + grouping HIST-INFO { + description + "Configuration history record information"; + container alarm-info { + when "../type = 'cfghist-bag-record-alarm'" { + description + "../type = 'CFGHIST_BAG_RECORD_ALARM'"; + } + description + "alarm info"; + uses HIST-ALARM; + } + container cfscheck-info { + when "../type = 'cfghist-bag-record-cfs-check'" { + description + "../type = 'CFGHIST_BAG_RECORD_CFSCHECK'"; + } + description + "cfscheck info"; + uses HIST-CFSCHECK; + } + container commit-info { + when "../type = 'cfghist-bag-record-commit'" { + description + "../type = 'CFGHIST_BAG_RECORD_COMMIT'"; + } + description + "commit info"; + uses HIST-COMMIT; + } + container oir-info { + when "../type = 'cfghist-bag-record-oir'" { + description + "../type = 'CFGHIST_BAG_RECORD_OIR'"; + } + description + "oir info"; + uses HIST-OIR; + } + container shutdown-info { + when "../type = 'cfghist-bag-record-shutdown'" { + description + "../type = 'CFGHIST_BAG_RECORD_SHUTDOWN'"; + } + description + "shutdown info"; + uses HIST-SHUTDOWN; + } + container startup-info { + when "../type = 'cfghist-bag-record-startup'" { + description + "../type = 'CFGHIST_BAG_RECORD_STARTUP'"; + } + description + "startup info"; + uses HIST-STARTUP; + } + container backup-info { + when "../type = 'cfghist-bag-record-backup'" { + description + "../type = 'CFGHIST_BAG_RECORD_BACKUP'"; + } + description + "backup info"; + uses HIST-BACKUP; + } + leaf type { + type Hist-record; + description + "type"; + } + leaf a { + when "../type != 'cfghist-bag-record-alarm' and ../type != 'cfghist-bag-record-cfs-check' and ../type != 'cfghist-bag-record-commit' and ../type != 'cfghist-bag-record-oir' and ../type != 'cfghist-bag-record-shutdown' and ../type != 'cfghist-bag-record-startup' and ../type != 'cfghist-bag-record-backup'" { + description + "../type != 'CFGHIST_BAG_RECORD_ALARM' and . + ./type != 'CFGHIST_BAG_RECORD_CFSCHECK' and . + ./type != 'CFGHIST_BAG_RECORD_COMMIT' and . + ./type != 'CFGHIST_BAG_RECORD_OIR' and ../type + != 'CFGHIST_BAG_RECORD_SHUTDOWN' and ../type + != 'CFGHIST_BAG_RECORD_STARTUP' and ../type != + 'CFGHIST_BAG_RECORD_BACKUP'"; + } + type uint32; + description + "B"; + } + } + + grouping CONFIGURATIONHISTORY-ENTRY { + description + "Per History Information"; + container info { + description + "Content of the history"; + uses HIST-INFO; + } + leaf timestamp { + type string; + description + "Timestamp"; + } + } + + grouping CFGCOMMITLIST-D-ENTRY { + description + "Per Commit Information"; + leaf timestamp { + type string; + description + "Timestamp"; + } + leaf commit-id { + type string; + description + "CommitId"; + } + leaf user-id { + type string; + description + "UserId"; + } + leaf line { + type string; + description + "Line"; + } + leaf client-name { + type string; + description + "Client name"; + } + leaf label { + type string; + description + "Label"; + } + leaf comment { + type string; + description + "Comment"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper.yang new file mode 100644 index 000000000..2b56e122c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-exec-oper.yang @@ -0,0 +1,135 @@ +module Cisco-IOS-XR-config-cfgmgr-exec-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-exec-oper"; + prefix config-cfgmgr-exec-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1 { + revision-date 2020-06-26; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-cfgmgr-exec package operational data. + + This module contains definitions + for the following management objects: + config-manager: Show Configuration <*> Global path information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "Updated schema to restrict user-access based on taskgroup."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container config-manager { + config false; + description + "Show Configuration <*> Global path information"; + container global { + description + "Show Configuration <*> Global path information"; + container config-commit { + description + "Show Configuration Commit <*> Global path + information"; + container commits { + description + "Show Configuration Commit List Detail"; + list commit { + key "commit"; + description + "Commit information for a specific commit + entry"; + leaf commit { + type xr:Cisco-ios-xr-string; + description + "Each Session Details"; + } + uses CFGCOMMITLIST-D-ENTRY; + } + } + } + container history-tables { + description + "Show Configuration History <*> Global path + information"; + list history-table { + key "history-type"; + description + "List of possible type of History"; + leaf history-type { + type xr:Cisco-ios-xr-string; + description + "Type of History"; + } + list history { + key "history"; + description + "History summary information for a specific + type of history"; + leaf history { + type xr:Cisco-ios-xr-string; + description + "History Record"; + } + uses CONFIGURATIONHISTORY-ENTRY; + } + } + } + container config-session { + description + "Show Configuration Session <*> Global path + information"; + container sessions { + description + "Show Configuration Session Detail"; + list session { + key "session"; + description + "Session information for a specific session + entry"; + leaf session { + type xr:Cisco-ios-xr-string; + description + "Each Session Details"; + } + uses CFGSESSION-D-ENTRY; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-oper.yang new file mode 100644 index 000000000..5a86c31f1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-cfgmgr-oper.yang @@ -0,0 +1,56 @@ +module Cisco-IOS-XR-config-cfgmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-oper"; + prefix config-cfgmgr-oper; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-cfgmgr package operational data. + + This module contains definitions + for the following management objects: + config: Configuration-related operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "Updated schema to restrict user-access based on taskgroup."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container config { + config false; + description + "Configuration-related operational data"; + container global { + description + "Global operational data"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-mda-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-mda-cfg.yang new file mode 100644 index 000000000..06ea3a1f1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-mda-cfg.yang @@ -0,0 +1,75 @@ +module Cisco-IOS-XR-config-mda-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-config-mda-cfg"; + prefix config-mda-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-mda package configuration. + + This module contains definitions + for the following management objects: + active-nodes: Per-node configuration for active nodes + preconfigured-nodes: Per-node configuration for non-active + nodes + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container active-nodes { + description + "Per-node configuration for active nodes"; + list active-node { + key "node-name"; + description + "The configuration for an active node"; + leaf node-name { + type xr:Node-id; + description + "The identifier for this node"; + } + } + } + container preconfigured-nodes { + description + "Per-node configuration for non-active nodes"; + list preconfigured-node { + key "node-name"; + description + "The configuration for a non-active node"; + leaf node-name { + type xr:Node-id; + description + "The identifier for this node"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-mibs-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-mibs-cfg.yang new file mode 100644 index 000000000..20114c39d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-mibs-cfg.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XR-config-mibs-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-config-mibs-cfg"; + prefix config-mibs-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-mibs package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-09-29 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container config-man { + description + "CISCO-CONFIG-MAN-MIB notification configurations"; + leaf enable { + type empty; + description + "Enable ciscoConfigManMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-cfg.yang new file mode 100644 index 000000000..9b0e4c511 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-cfg.yang @@ -0,0 +1,193 @@ +module Cisco-IOS-XR-config-valid-ccv-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-config-valid-ccv-cfg"; + prefix config-valid-ccv-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-infra-script-mgmt-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-valid-ccv package configuration. + + This module contains definitions + for the following management objects: + configurationvalidation: Configuration for the Configuration + Validation feature + + This YANG module augments the + Cisco-IOS-XR-infra-script-mgmt-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-16 { + description + "Deprecate nodes specific to commit check."; + semver:module-version "2.1.0"; + } + revision 2020-07-06 { + description + "Added Config Scripts support."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Failure-action { + type enumeration { + enum "report" { + value 1; + description + "Report this failure type"; + } + } + description + "Failure action"; + } + + typedef Failure { + type enumeration { + enum "unsupported" { + value 0; + description + "Unsupported failure type"; + } + } + description + "Failure"; + } + + typedef Enable { + type enumeration { + enum "nonblocking" { + value 1; + description + "Non-blocking enable type"; + } + enum "blocking" { + value 2; + description + "Blocking enable type"; + } + } + description + "Enable"; + } + + typedef Checksum { + type enumeration { + enum "sha256" { + value 0; + description + "SHA256"; + } + } + description + "Checksum"; + } + + augment "/a1:scripts" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-script-mgmt-cfg'"; + container config { + description + "Config script activation configuration"; + container scripts { + description + "Config script list"; + list script { + key "name"; + description + "Config script activation item"; + leaf name { + type string; + description + "Script name"; + } + leaf checksum-type { + type Checksum; + mandatory true; + description + "Checksum type"; + } + leaf checksum { + type string { + length "64"; + } + mandatory true; + description + "Checksum value"; + } + leaf priority { + type uint32; + default "500"; + description + "Script priority"; + } + } + } + } + } + container configurationvalidation { + description + "Configuration for the Configuration Validation + feature"; + container failure-type-actions { + status deprecated; + description + "DEPRECATED: not to be used in new deployments"; + list failure-type-action { + key "failure"; + description + "Failure type action configuration"; + leaf action { + type Failure-action; + description + "Action configuration for this failure type"; + } + leaf failure { + type Failure; + description + "Failure type"; + } + } + } + leaf enable { + type Enable; + status deprecated; + description + "DEPRECATED: not to be used in new deployments. + Incompatible with use of ScriptsEnable."; + } + leaf scripts-enable { + type boolean; + description + "Enable configuration validation via scripts"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub1.yang new file mode 100644 index 000000000..bdb19151d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub1.yang @@ -0,0 +1,125 @@ +submodule Cisco-IOS-XR-config-valid-ccv-oper-sub1 { + belongs-to Cisco-IOS-XR-config-valid-ccv-oper { + prefix Cisco-IOS-XR-config-valid-ccv-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR config-valid-ccv package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-16 { + description + "Deprecate nodes specific to commit check."; + semver:module-version "2.1.0"; + } + revision 2020-09-14 { + description + "Added Config Scripts operational data support."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CCV-SCRIPT-EXCEPTION { + description + "Script exception"; + leaf error-message { + type string; + description + "The error message for the exception"; + } + leaf file-name { + type string; + description + "The name of the file that the exception was + raised from"; + } + leaf line { + type uint32; + description + "The line number on which the exception occurred"; + } + leaf backtrace { + type string; + description + "The full backtrace for the exception"; + } + } + + grouping CCV-SCRIPT-EXECUTION-INFO-ITEM-BAG { + description + "Script Execution Information"; + container exception-details { + description + "Details of the first exception that was raised, + if any"; + uses CCV-SCRIPT-EXCEPTION; + } + leaf currently-configured { + type boolean; + description + "TRUE if currently in running configuration, else + FALSE"; + } + leaf call-count { + type uint32; + description + "The number of times called during execution"; + } + leaf duration-milliseconds { + type uint32; + units "millisecond"; + description + "The total execution time, in milliseconds"; + } + leaf validation-errors { + type uint32; + description + "The number of error-level validation failures + raised"; + } + leaf validation-warnings { + type uint32; + description + "The number of warning-level validation failures + raised"; + } + leaf modifications { + type uint32; + description + "The number of configuration modifications made"; + } + leaf pending-modifications { + type uint32; + description + "The number of configuration modifications + pending"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub2.yang new file mode 100644 index 000000000..59fe7158a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper-sub2.yang @@ -0,0 +1,93 @@ +submodule Cisco-IOS-XR-config-valid-ccv-oper-sub2 { + belongs-to Cisco-IOS-XR-config-valid-ccv-oper { + prefix Cisco-IOS-XR-config-valid-ccv-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR config-valid-ccv package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-16 { + description + "Deprecate nodes specific to commit check."; + semver:module-version "2.1.0"; + } + revision 2020-09-14 { + description + "Added Config Scripts operational data support."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ccv-bag-optional-string { + type string; + description + "String which may be optionally present."; + } + + grouping CCV-YVE-VALIDATION-FAILURE { + description + "Validation failure"; + leaf error-app-tag { + type string; + description + "A unique string that identifies the error; + equivalent to error-app-tag in RFC 6241"; + } + leaf error-message { + type string; + description + "The error message; equivalent to error-message + in RFC 6241"; + } + leaf error-severity { + type string; + description + "The severity of the error; equivalent to + error-severity in RFC 6241"; + } + } + + grouping CCV-YVE-VALIDATION-FAILURE-ITEM-BAG { + description + "CCV YVE VALIDATION FAILURE ITEM BAG"; + leaf group-name { + type Ccv-bag-optional-string; + description + "The configuration group that this item is + inherited from, if any"; + } + list failure { + description + "Validation failures for this configuration item"; + uses CCV-YVE-VALIDATION-FAILURE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper.yang new file mode 100644 index 000000000..a53e639f6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-config-valid-ccv-oper.yang @@ -0,0 +1,168 @@ +module Cisco-IOS-XR-config-valid-ccv-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-config-valid-ccv-oper"; + prefix config-valid-ccv-oper; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-config-cfgmgr-oper { + prefix a1; + } + include Cisco-IOS-XR-config-valid-ccv-oper-sub2 { + revision-date 2021-06-16; + } + include Cisco-IOS-XR-config-valid-ccv-oper-sub1 { + revision-date 2021-06-16; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-valid-ccv package operational data. + + This YANG module augments the + Cisco-IOS-XR-config-cfgmgr-oper + module with state data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-16 { + description + "Deprecate nodes specific to commit check."; + semver:module-version "2.1.0"; + } + revision 2020-09-14 { + description + "Added Config Scripts operational data support."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CALLBACK-TABLE { + description + "Common node of last-validation, running-config"; + container callbacks { + description + "Execution information for callbacks registered + by config scripts"; + list callback { + key "script-name callback-name"; + description + "Information about execution of a config + script's callback"; + leaf script-name { + type string; + description + "Script name"; + } + leaf callback-name { + type string; + description + "Callback name"; + } + uses CCV-SCRIPT-EXECUTION-INFO-ITEM-BAG; + } + } + } + + grouping SCRIPT-TABLE { + description + "Common node of last-validation, running-config"; + container scripts { + description + "Execution information for configured config + scripts"; + list script { + key "script-name"; + description + "Information about execution of a config script"; + leaf script-name { + type string; + description + "Script name"; + } + uses CCV-SCRIPT-EXECUTION-INFO-ITEM-BAG; + } + } + } + + augment "/a1:config/a1:global" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-config-cfgmgr-oper'"; + container validation { + description + "Configuration validation operational data"; + container unsupported-configs { + status deprecated; + description + "DEPRECATED: not to be used in new deployments"; + list unsupported-config { + key "xpath"; + description + "Information about an unsupported warning"; + leaf xpath { + type string; + description + "XPath of the unsupported configuration"; + } + uses CCV-YVE-VALIDATION-FAILURE-ITEM-BAG; + } + } + container persistent-failures { + description + "Validation failures present in running + configuration"; + list persistent-failure { + key "xpath"; + description + "Information about a validation failure"; + leaf xpath { + type string; + description + "XPath of the failed configuration"; + } + uses CCV-YVE-VALIDATION-FAILURE-ITEM-BAG; + } + } + container script-execution { + description + "Script execution operational data"; + container last-validation { + description + "Operational data for script execution in the + last validation"; + uses SCRIPT-TABLE; + uses CALLBACK-TABLE; + } + container running-config { + description + "Operational data for script execution against + currently running config"; + uses SCRIPT-TABLE; + uses CALLBACK-TABLE; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-ains-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-ains-act.yang new file mode 100644 index 000000000..15333eece --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-ains-act.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-controller-ains-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-controller-ains-act"; + prefix controller-ains-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR Controller AINS configuration. + + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-01-09 { + description + "IOS XR 6.5.1 revision."; + } + + rpc controller-ains-soak { + description + "Execute ains soak configuration operations"; + input { + leaf controller { + type string; + description + "Controller name in R/S/I/P format"; + } + leaf hours { + type uint32 { + range "0..48"; + } + description + "Hours in range of 0-48"; + } + leaf minutes { + type uint32 { + range "0..59"; + } + description + "Minutes in range of 0-59"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-clear-prbs-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-clear-prbs-act.yang new file mode 100644 index 000000000..b6a691c99 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-clear-prbs-act.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XR-controller-odu-clear-prbs-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-controller-odu-clear-prbs-act"; + prefix controller-odu-clear-prbs-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR clear prbs bit-errrs statistics for controller-odu module. + + Copyright (c) 2018-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-04 { + description + "Added task-name to restrict user-access based on taskgroup"; + semver:module-version "1.0.0"; + } + revision 2020-10-27 { + description + "Clear prbs bit-errors support for odu controllers"; + } + + rpc clear-controller-prbsdetails { + description + "Clear prbs bit-errors statistics"; + input { + leaf controller { + type string; + description + "Controller name in R/S/I/P format"; + } + leaf prbsdetails { + type empty; + description + "clear prbs bit-errors counter"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-datatypes.yang new file mode 100644 index 000000000..55ccb6291 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-odu-datatypes.yang @@ -0,0 +1,603 @@ +module Cisco-IOS-XR-controller-odu-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-controller-odu-datatypes"; + prefix controller-odu-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-07 { + description + "Added two new PRBS pattern PRBS_PATTERN_PN15, PRBS_PATTERN_PN7."; + semver:module-version "2.1.0"; + } + revision 2019-12-09 { + description + "Removed PRBS pattern entry PRBS_PATTERN_NONE. + 2019-08-01 + Removed PRBS mode entry PRBS_MODE_INVALID."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Otn-child-controller-name { + type enumeration { + enum "odu1" { + value 1; + description + "Create lower order odu1 controller"; + } + enum "odu2" { + value 2; + description + "Create lower order odu2 controller"; + } + enum "odu3" { + value 3; + description + "Create lower order odu3 controller"; + } + enum "odu0" { + value 10; + description + "Create lower order odu0 controller"; + } + enum "odu2e" { + value 11; + description + "Create lower order odu2e controller"; + } + enum "odu1e" { + value 23; + description + "Create lower order odu1e controller"; + } + enum "odu2f" { + value 25; + description + "Create lower order odu2f controller"; + } + enum "odu3e1" { + value 26; + description + "Create lower order odu3e1 controller"; + } + enum "odu3e2" { + value 27; + description + "Create lower order odu3e2 controller"; + } + } + description + "Otn child controller name"; + } + + typedef Otn-child-flex-controller-name { + type enumeration { + enum "odu-flex" { + value 22; + description + "Create lower order odu-flex controller"; + } + } + description + "Otn child flex controller name"; + } + + typedef Otn-flex-mapping { + type enumeration { + enum "gfp-f-fixed" { + value 1; + description + "GFP-FIX Mapping"; + } + enum "gfp-resizable" { + value 2; + description + "GFP-Resizable Mapping"; + } + enum "cbr" { + value 3; + description + "CBR Mapping"; + } + } + description + "Otn flex mapping"; + } + + typedef Otntcm-mode { + type enumeration { + enum "transparent" { + value 0; + description + "Set TCM Mode as transparent"; + } + enum "nim" { + value 1; + description + "Set TCM Mode as NIM"; + } + enum "operational" { + value 2; + description + "Set TCM Mode as operational"; + } + } + description + "Otntcm mode"; + } + + typedef Otn-per-mon { + type enumeration { + enum "disable" { + value 0; + description + "Performance Monitoring Disabled"; + } + enum "enable" { + value 1; + description + "Performance Monitoring Enabled"; + } + } + description + "Otn per mon"; + } + + typedef Odu-prbs-mode { + type enumeration { + enum "mode-source" { + value 1; + description + "Prbs Mode Source"; + } + enum "mode-sink" { + value 2; + description + "Prbs Mode Sink"; + } + enum "mode-source-sink" { + value 3; + description + "Prbs Mode Source_Sink"; + } + } + description + "Odu prbs mode"; + } + + typedef Odu-time-slot-granularity { + type enumeration { + enum "1.25g" { + value 0; + description + "1.25G time slot granularity"; + } + enum "2.5g" { + value 1; + description + "2.5G time slot granularity"; + } + } + description + "Odu time slot granularity"; + } + + typedef Otn-send-tti-type-os { + type enumeration { + enum "send-tti-os-ascii/os-ascii" { + value 10; + description + "Send TTI OS ASCII string"; + } + enum "send-tti-os-hex/os-hex" { + value 12; + description + "Send TTI OS HEX string"; + } + } + description + "Otn send tti type os"; + } + + typedef Otn-exp-tti-type-sapi { + type enumeration { + enum "exp-tti-sapi-ascii/sapi-ascii" { + value 15; + description + "Expected TTI SAPI ASCII string"; + } + } + description + "Otn exp tti type sapi"; + } + + typedef Otn-termination { + type enumeration { + enum "ether" { + value 1; + description + "Termination to ether"; + } + } + description + "Otn termination"; + } + + typedef Otn-send-tti-type-sapi { + type enumeration { + enum "send-tti-sapi-ascii/sapi-ascii" { + value 14; + description + "Send TTI SAPI ASCII string"; + } + } + description + "Otn send tti type sapi"; + } + + typedef Ca-mode { + type enumeration { + enum "mode-laser-squelch" { + value 1; + description + "Laser Squelch Mode"; + } + enum "mode-idle-frame" { + value 2; + description + "Idle Frame Mode"; + } + } + description + "Ca mode"; + } + + typedef Otncem-client { + type enumeration { + enum "none" { + value 0; + description + "CEM packetize client none"; + } + enum "ether" { + value 1; + description + "Decap Ethernet from ODUk and CEM packetize + Ethernet payload"; + } + enum "sonet" { + value 2; + description + "Decap SONET from ODUk and CEM packetize SONET + payload"; + } + enum "sdh" { + value 3; + description + "Decap SDH from ODUk and CEM packetize SDH + payload"; + } + enum "otn" { + value 4; + description + "CEM packetize ODUk payload"; + } + } + description + "Otncem client"; + } + + typedef Otn-sec-admin-state { + type enumeration { + enum "normal" { + value 0; + description + "In normal state"; + } + enum "maintenance" { + value 1; + description + "Under maintenance"; + } + } + description + "Otn sec admin state"; + } + + typedef Otn-mapping { + type enumeration { + enum "none" { + value 0; + description + "No mapping"; + } + enum "gfp-f" { + value 1; + description + "gfp_f for mapping"; + } + enum "bmp" { + value 3; + description + "bmp for mapping"; + } + enum "gmp" { + value 4; + description + "gmp for mapping"; + } + enum "gfp-f-ext" { + value 6; + description + "gfp_f_ext for mapping"; + } + } + description + "Otn mapping"; + } + + typedef Otn-exp-tti-type-os { + type enumeration { + enum "exp-tti-os-ascii/os-ascii" { + value 11; + description + "Expected TTI OS ASCII string"; + } + enum "exp-tti-os-hex/os-hex" { + value 13; + description + "Expected TTI OS HEX string"; + } + } + description + "Otn exp tti type os"; + } + + typedef Odu-delay { + type enumeration { + enum "disable" { + value 0; + description + "Delay Disable"; + } + enum "enable" { + value 1; + description + "Delay Enable"; + } + } + description + "Odu delay"; + } + + typedef Otn-loopback { + type enumeration { + enum "line" { + value 2; + description + "Line loopback"; + } + enum "internal" { + value 4; + description + "Internal loopback"; + } + } + description + "Otn loopback"; + } + + typedef Odu-prbs-direction { + type enumeration { + enum "direction-none" { + value 0; + description + "Prbs Direction None"; + } + enum "direction-line" { + value 1; + description + "Prbs Direction Line"; + } + enum "direction-system" { + value 2; + description + "Prbs Direction System"; + } + } + description + "Odu prbs direction"; + } + + typedef Otn-exp-tti-type-full { + type enumeration { + enum "exp-tti-full-ascii/full-ascii" { + value 5; + description + "Expected TTI Full ASCII string"; + } + enum "exp-tti-hex/hex" { + value 7; + description + "Expected TTI hex string"; + } + } + description + "Otn exp tti type full"; + } + + typedef Otn-send-tti-type-full { + type enumeration { + enum "send-tti-full-ascii/full-ascii" { + value 4; + description + "Send TTI Full ASCII string"; + } + enum "send-tti-hex/hex" { + value 6; + description + "Send TTI hex string"; + } + } + description + "Otn send tti type full"; + } + + typedef Otn-exp-tti-type-dapi { + type enumeration { + enum "exp-tti-dapi-ascii/dapi-ascii" { + value 9; + description + "Expected TTI DAPI ASCII string"; + } + } + description + "Otn exp tti type dapi"; + } + + typedef Otngcc-mode { + type enumeration { + enum "disable" { + value 0; + description + "GCC Disabled"; + } + enum "enable" { + value 1; + description + "GCC Enabled"; + } + } + description + "Otngcc mode"; + } + + typedef Otn-send-tti-type-dapi { + type enumeration { + enum "send-tti-dapi-ascii/dapi-ascii" { + value 8; + description + "Send TTI DAPI ASCII string"; + } + } + description + "Otn send tti type dapi"; + } + + typedef Otntcmca { + type enumeration { + enum "disable" { + value 0; + description + "Consequent(ial) action for Disabled"; + } + enum "enable" { + value 1; + description + "consequent(ial) action for Enabled"; + } + } + description + "Otntcmca"; + } + + typedef Gcc-mode { + type enumeration { + enum "gcc2-mode" { + value 1; + description + "GCC2"; + } + } + description + "Gcc mode"; + } + + typedef Pattern { + type enumeration { + enum "pattern-pn31" { + value 1; + description + "Prbs pattern pn31"; + } + enum "pattern-pn23" { + value 2; + description + "Prbs pattern pn23"; + } + enum "pattern-pn11" { + value 4; + description + "Prbs pattern pn11"; + } + enum "pattern-inverted-pn31" { + value 8; + description + "Prbs pattern inverted pn31"; + } + enum "pattern-inverted-pn11" { + value 16; + description + "Prbs pattern inverted pn11"; + } + enum "pattern-pn15" { + value 32; + description + "Prbs pattern pn15"; + } + enum "pattern-pn7" { + value 64; + description + "Prbs pattern pn7"; + } + } + description + "Pattern"; + } + + typedef Otnpmtimca { + type enumeration { + enum "disable" { + value 0; + description + "Path layer PM TIM Consequent action Disabled"; + } + enum "enable" { + value 1; + description + "Path layer PM TIM Consequent action Enabled"; + } + } + description + "Otnpmtimca"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-cfg.yang new file mode 100644 index 000000000..6b4ce388e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-cfg.yang @@ -0,0 +1,964 @@ +module Cisco-IOS-XR-controller-optics-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-controller-optics-cfg"; + prefix controller-optics-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR controller-optics package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-24 { + description + "Leaf optics-loopback-host added + 2021-11-03 + Added Dac Rate parameter to Config Schema."; + semver:module-version "2.0.1M"; + } + revision 2021-06-29 { + description + "change the optics-ots-tx-voa-attenuation type to int32 + 2021-06-29 + change the optics-ots-rx-voa-attenuation type to int32 + 2021-06-29 + change the optics-ots-rx-low-threshold-psd type to int32 + 2021-06-29 + change the optics-ots-rx-low-threshold-deltatype to int32 + 2021-06-29 + change the optics-ots-amplifier-gain-degrade-low-threshold type to int32 + 2021-06-29 + change the optics-ots-amplifier-gain-degrade-high-threshold type to int32 + 2021-06-29 + change the optics-ots-amplifier-gain type to int32 + 2021-06-29 + change the optics-ots-amplifier-channel-psd type to int32 + 2021-06-18 + Added support for signed number ranges on OTS controllers + 2021-06-14 + Range changed for 100MHZ Frequency"; + semver:module-version "2.0.0"; + } + revision 2021-01-20 { + description + "Enteries added for two new FEC types in schema. + 2020-09-18 + Transceiver disable added for OTS controller + 2020-07-24 + New Cfg Model Added for optics yang for FastPoll + 2020-05-06 + Entries added in FEC enum in bag and schema"; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Range increased for Optics transmit power. IosSetYangSchemaRev Cisco-IOS-XR-controller-optics-cfg"; + semver:module-version "1.1.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Optics-fec { + type enumeration { + enum "fec-none" { + value 0; + description + "No Fec"; + } + enum "fec-h15" { + value 1; + description + "Enhanced H15"; + } + enum "fec-h25" { + value 2; + description + "Enhanced H25"; + } + enum "fec-h15-de" { + value 4; + description + "Enhanced H15 DE"; + } + enum "fec-h25-de" { + value 8; + description + "Enhanced H25 DE"; + } + enum "fec-not-set" { + value 32; + description + "Disable the FEC"; + } + enum "fec-1i7" { + value 128; + description + "Enhanced 1I7"; + } + enum "fec-1i4" { + value 256; + description + "Enhanced 1I4"; + } + enum "fec-swizzle" { + value 512; + description + "Enhanced Swizzle"; + } + enum "fec-hg20" { + value 1024; + description + "Enhanced HG20"; + } + enum "fec-hg7" { + value 2048; + description + "Enhanced HG7"; + } + enum "fec-sd20" { + value 4096; + description + "SoftDecision 20"; + } + enum "fec-sd7" { + value 8192; + description + "SoftDecision 7"; + } + enum "fec-sd15" { + value 16384; + description + "SoftDecision 15"; + } + enum "fec-sd27" { + value 32768; + description + "SoftDecision 27"; + } + enum "fec-sd15-de" { + value 65536; + description + "SoftDecision 15 with DE"; + } + enum "fec-staircase-de" { + value 131072; + description + "Enhanced Staircase FEC with DE"; + } + enum "fec-ofec" { + value 262144; + description + "OFEC"; + } + enum "fec-cfec" { + value 524288; + description + "CFEC"; + } + enum "fec-stndrd" { + value 1048576; + description + "Standard"; + } + enum "fec-cl74" { + value 2097152; + description + "CL74"; + } + enum "fec-cl108" { + value 4194304; + description + "CL108"; + } + enum "fec-all" { + value 8388608; + description + "All"; + } + } + description + "Optics fec"; + } + + typedef Optics-ots-ampli-control-mode { + type enumeration { + enum "automatic" { + value 1; + description + "Automatic Amplifier Mode"; + } + enum "manual" { + value 2; + description + "Manual Amplifier Mode"; + } + } + description + "Optics ots ampli control mode"; + } + + typedef Threshold { + type enumeration { + enum "low" { + value 1; + description + "Low Threshold"; + } + enum "high" { + value 2; + description + "High Threshold"; + } + } + description + "Threshold"; + } + + typedef Optics-dwdm-carrier-param { + type enumeration { + enum "itu-ch" { + value 0; + description + "ITU Wave Channel Number"; + } + enum "wavelength" { + value 1; + description + "Wavelength in nm"; + } + enum "frequency" { + value 2; + description + "Frequency in Hertz"; + } + } + description + "Optics dwdm carrier param"; + } + + typedef Optics-ots-safety-control-mode { + type enumeration { + enum "auto" { + value 1; + description + "Automatic Safety Control Mode"; + } + enum "disabled" { + value 2; + description + "Disable Safety Control Mode"; + } + } + description + "Optics ots safety control mode"; + } + + typedef Optics-modulation { + type enumeration { + enum "none" { + value 0; + description + "No Modulation Type"; + } + enum "bpsk" { + value 1; + description + "ModType BPSK"; + } + enum "qpsk" { + value 2; + description + "ModType QPSK"; + } + enum "8qam" { + value 3; + description + "ModType 8QAM"; + } + enum "16qam" { + value 4; + description + "ModType 16QAM"; + } + enum "32qam" { + value 5; + description + "ModType 32QAM"; + } + enum "64qam" { + value 6; + description + "ModType 64QAM"; + } + enum "bpsk-qspk" { + value 7; + description + "ModType BPSK_QPSK"; + } + enum "qpsk-8qam" { + value 8; + description + "ModType QPSK_8QAM"; + } + enum "8qam-16qam" { + value 9; + description + "ModType 8QAM_16QAM"; + } + enum "16qam-32qam" { + value 10; + description + "ModType 16QAM_32QAM"; + } + enum "32qam-64qam" { + value 11; + description + "ModType 32QAM_64QAM"; + } + } + description + "Optics modulation"; + } + + typedef Optics-ots-ampli-gain-range { + type enumeration { + enum "normal" { + value 1; + description + "Normal Amplifier Gain Range"; + } + enum "extended" { + value 2; + description + "Extended Amplifier Gain Range"; + } + } + description + "Optics ots ampli gain range"; + } + + typedef Optics-dacrate { + type enumeration { + enum "none" { + value 0; + description + "DAC Rate none"; + } + enum "1x1" { + value 1; + description + "DAC Rate 1:1 Sampling off"; + } + enum "1x1.25" { + value 2; + description + "DAC Rate 1:1.25"; + } + enum "1x1.50" { + value 3; + description + "DAC Rate 1:1.50"; + } + enum "1x1.75" { + value 4; + description + "DAC Rate 1:1.75"; + } + enum "1x2" { + value 5; + description + "DAC Rate 1:2"; + } + } + description + "Optics dacrate"; + } + + typedef Optics-dwdm-carrier-grid { + type enumeration { + enum "50g-hz-grid" { + value 0; + description + "50GHz Grid"; + } + enum "100mhz-grid" { + value 1; + description + "100MHz Grid"; + } + } + description + "Optics dwdm carrier grid"; + } + + typedef Optics-loopback { + type enumeration { + enum "none" { + value 0; + description + "No Loopback"; + } + enum "internal" { + value 1; + description + "Internal Loopback"; + } + enum "line" { + value 2; + description + "Line Loopback"; + } + } + description + "Optics loopback"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container optics { + description + "Optics controller configuration"; + container rx-thresholds { + description + "Configure Rx threshold"; + list rx-threshold { + key "rx-threshold-type"; + description + "Optics RX Low or high threshold configuration"; + leaf rx-threshold-type { + type Threshold; + description + "Low or high rx threshold"; + } + leaf rx-threshold { + type int32 { + range "-400..300"; + } + mandatory true; + description + "Select power level (in units of 0.1dBm)"; + } + } + } + container rx-voa { + description + "Rx-voa configuration"; + leaf target-power { + type int32 { + range "-190..30"; + } + description + "Receive Target Power in 0.1 dbm"; + } + leaf fixed-ratio { + type int32 { + range "100..1700"; + } + description + "Receive Ratio of Optical Attenuation in 0.01 + db"; + } + } + container optics-network-srlgs { + description + "Configure Network srlgs"; + list optics-network-srlg { + key "set-id"; + description + "Configure network srlg sets"; + leaf set-id { + type uint32 { + range "1..17"; + } + description + "Set index"; + } + leaf srlg1 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg2 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg3 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg4 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg5 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg6 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + } + } + container optics-dwdm-carrier { + presence "Indicates a optics-dwdm-carrier node is configured."; + description + "Configure optics DWDM Carrier"; + leaf grid-type { + type Optics-dwdm-carrier-grid; + mandatory true; + description + "DWDM Channel Grid Type"; + } + leaf param-type { + type Optics-dwdm-carrier-param; + mandatory true; + description + "DWDM Channel Parameter Type ITU-Channel or + Frequency or Wavelength"; + } + leaf param-value { + type uint32 { + range "1..1961375"; + } + mandatory true; + description + "Type ITU-Channel Range 1-100, Frequency Range + 19115-19610, Wavelength Range 1528773-1568362, + 100MHz Frequency Range 1861000-1961375"; + } + } + container optics-lanes { + description + "Optics lanes"; + list optics-lane { + key "index"; + description + "Lane"; + leaf description { + type string { + length "1..255"; + } + description + "Configure description for this Lane"; + } + leaf index { + type uint32; + description + "Lane Number"; + } + } + } + container tx-thresholds { + description + "Configure Tx threshold"; + list tx-threshold { + key "tx-threshold-type"; + description + "Optics TX Low or high threshold configuration"; + leaf tx-threshold-type { + type Threshold; + description + "Low or high tx threshold"; + } + leaf tx-threshold { + type int32 { + range "-400..300"; + } + mandatory true; + description + "Select power level (in units of 0.1dBm)"; + } + } + } + container transceiver { + description + "Transceiver"; + leaf disable { + type empty; + description + "Disable the transceiver module, treating it as + not inserted. When the configuration is + removed, the transceiver module on that port, + if present, would be initialized as if it is + just inserted"; + } + } + container submarine-params { + description + "Proprietary Submarine Parameters"; + list submarine-param { + key "param-type"; + description + "Proprietary Submarine Parameters"; + leaf param-type { + type uint32 { + range "1..10"; + } + description + "Proprietary submarine parameter type"; + } + leaf param-value { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "Proprietary submarine parameter value"; + } + } + } + leaf optics-transmit-power { + type int32 { + range "-190..50"; + } + description + "Select power level (in units of 0.1dBm)"; + } + leaf optics-ots-rx-enable { + type boolean; + description + "Select Rx Enable as True or False"; + } + leaf nleq-comp-mode { + type uint32 { + range "1..4"; + } + description + "Select non linear effect compenstation mode"; + } + leaf optics-ots-rx-low-threshold-psd { + type int32 { + range "0..800000"; + } + description + "Rx Low threshold Psd value in units of 0.001 + nW/MHz"; + } + leaf filter-roll-off-factor { + type string { + length "5"; + } + description + "RRC Filter Roll-Off factor in increments of 0 + .001"; + } + leaf optics-ots-channel-power-max-delta { + type int32 { + range "-500..300"; + } + description + "Configure max delta among all measured channel + powers "; + } + leaf optics-loopback { + type Optics-loopback; + description + "Configure optics media loopback mode "; + } + leaf optics-ots-osri { + type boolean; + description + "Configure Optical safety remote interlock + (OSRI)"; + } + leaf optics-ots-amplifier-gain-degrade-high-threshold { + type int32 { + range "0..500"; + } + description + "Select Amplifier Gain Degrade High Threshold(in + units of 0.1dBm)"; + } + leaf optics-ots-rx-voa-attenuation { + type int32 { + range "0..200"; + } + description + "Select RX Voa Attenuation Setpoint(in units of + 0.1dBm)"; + } + leaf optics-fastpoll { + type boolean; + default "true"; + description + "Select Fastpoll as Enable or Disable"; + } + leaf optics-fec { + type Optics-fec; + default "fec-none"; + description + "Fec H15 , Fec H25 , Fec NOTSET , Fec 1I7 , Fec + 1I4 , Fec SWIZZLE , Fec HG20 , Fec HG7 , Fec + SD20 , Fec SD7, Fec SD15 , Fec SD27 , Fec + SD15-DE , Fec STAIRCASE-DE , Fec OFEC , Fec + CFEC , Fec STNDRD"; + } + leaf optics-dgd-high-threshold { + type uint32 { + range "0..18000"; + } + description + "Select DGD high threshold(in units of 0.1ps)"; + } + leaf optics-ots-amplifier-channel-power { + type int32 { + range "-500..300"; + } + description + "Select Amplifier Channel Power(in units of 0 + .1dBm)"; + } + leaf optics-ots-amplifier-control-mode { + type Optics-ots-ampli-control-mode; + description + "Configure amplifier working mode"; + } + leaf optics-ots-rx-low-threshold-delta { + type int32 { + range "0..300"; + } + description + "Rx Low threshold delta value in units of 0.1dB"; + } + leaf cpr-ext-win-mode { + type uint32 { + range "1..9"; + } + description + "Select carrier phase recovery extended window + mode"; + } + leaf cross-pol-weight-mode { + type uint32 { + range "1..7"; + } + description + "Select carrier phase recovery cross + polarization weight mode"; + } + leaf optics-ots-amplifier-gain { + type int32 { + range "0..500"; + } + description + "Select Amplifier Gain value(in units of 0.1dBm)"; + } + leaf optics-ots-amplifier-gain-range { + type Optics-ots-ampli-gain-range; + description + "Normal or extended Ampli Gain Range"; + } + leaf optics-ots-safety-control-mode { + type Optics-ots-safety-control-mode; + description + "Configure safety Control Mode"; + } + leaf optics-cd-min { + type int32 { + range "-350000..350000"; + } + description + "Select min chromatic dispersion (in units of + ps/nm)"; + } + leaf optics-ots-amplifier-channel-psd { + type int32 { + range "0..800000"; + } + description + "Select Amplifier Channel Psd(in units of 0.001 + nW/MHz)"; + } + leaf optics-host-loopback { + type Optics-loopback; + description + "Configure optics host loopback mode "; + } + leaf optics-ots-tx-voa-attenuation { + type int32 { + range "0..200"; + } + description + "Select TX Voa Attenuation Setpoint(in units of + 0.1dBm)"; + } + leaf optics-ots-tx-enable { + type boolean; + description + "Select Tx Enable as True or False"; + } + leaf optics-ots-amplifier-tilt { + type int32 { + range "-50..50"; + } + description + "Select Amplifier Tilt value(in units of 0.1dB)"; + } + leaf optics-transmit-shutdown { + type boolean; + description + "Configure optics transmit laser shutdown "; + } + leaf optics-baud-rate { + type string { + length "1..20"; + } + description + "BaudRate(Max Length 10)"; + } + leaf optics-performance-monitoring { + type boolean; + default "true"; + description + "Select Performance Monitoring as Enable or + Disable"; + } + leaf optics-cd-max { + type int32 { + range "-350000..350000"; + } + description + "Select max chromatic dispersion (in units of + ps/nm)"; + } + leaf optics-modulation { + type Optics-modulation; + description + "BPSK,QPSK,8QAM,16QAM,32QAM,64QAM,BPSK-QPSK + ,QPSK-8QAM,8QAM-16QAM,16QAM-32QAM,32QAM-64QAM"; + } + leaf cpr-win-mode { + type uint32 { + range "1..4"; + } + description + "Select carrier phase recovery window mode"; + } + leaf optics-bits-per-symbol { + type string { + length "1..20"; + } + description + "BitsPerSymbol(Max Length 9)"; + } + leaf enh-sop-tol-mode { + type uint32 { + range "1..3"; + } + description + "Select enhanced SOP tolerance mode"; + } + leaf cross-pol-gain-mode { + type uint32 { + range "1..15"; + } + description + "Select carrier phase recovery cross + polarization gain mode"; + } + leaf optics-lbc-high-threshold { + type uint32 { + range "0..100"; + } + description + "Select power level (in units of percentage)"; + } + leaf optics-cd-high-threshold { + type int32 { + range "-350000..350000"; + } + description + "Select chromatic dispersion high threshold(in + units of ps/nm)"; + } + leaf optics-dacrate { + type Optics-dacrate; + description + "Configure optics sampling rate "; + } + leaf optics-osnr-low-threshold { + type uint32 { + range "0..4000"; + } + description + "Select OSNR low threshold(in units of 0.01db)"; + } + leaf optics-ots-amplifier-gain-degrade-low-threshold { + type int32 { + range "0..500"; + } + description + "Select Amplifier Gain Degrade Low Threshold(in + units of 0.1dBm)"; + } + leaf optics-cd-low-threshold { + type int32 { + range "-350000..350000"; + } + description + "Select chromatic dispersion low threshold(in + units of ps/nm)"; + } + leaf enh-colorless-mode { + type uint32 { + range "1..3"; + } + description + "Select enhanced colorless mode"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub1.yang new file mode 100644 index 000000000..520ab9c19 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub1.yang @@ -0,0 +1,4611 @@ +submodule Cisco-IOS-XR-controller-optics-oper-sub1 { + belongs-to Cisco-IOS-XR-controller-optics-oper { + prefix Cisco-IOS-XR-controller-optics-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR controller-optics package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-23 { + description + "Added support for optics observable data. + 2023-02-24 + Leaf loopback-host and loopback-media added for optics controller. + 2022-07-28 + enum added for new Optics Phy Type for 400G AEC + 2022-02-03 + Added power fields in mW unit in Grey lane data + 2022-01-27 + Added power fields for mW unit in optics transponder information + 2022-01-07 + enum added for new Optics Phy Type for 400G SR8 module + 2022-01-06 + New Enum OPTICS_PHY_TYPE_1G_LH are added in enum OpticsPhyType + 2021-12-03 + enumadded for new Optics Phy Type for 200G FR4 modules + 2021-11-22 + Added threshold fields for mW unit in optics transponder information + 2021-11-03 + Added Dac Rate field in optics_edm_info."; + semver:module-version "5.1.0"; + } + revision 2021-09-17 { + description + "enumadded for new Optics Phy Type for 200G Cu, 200G AOC, 2x200G CU and 2x200G AOC modules + 2021-07-30 + New Enum OPTICS_PHY_TYPE_100G_ERL are added in enum OpticsPhyType + 2021-07-06 + enum added for new Optics Phy Type for 4x100G LR module + 2021-06-22 + New OPTICS_PHY_TYPE_16G_FC,OPTICS_PHY_TYPE_32G_FC are added in enum OpticsPhyType + 2021-06-21 + New Enums added for FibreChannel 16G and 32G Optics Phy type + 2021-06-10 + New parameters added in bag + 2021-05-27 + DAC rate and Laser temperature and laser age Added for Optics Controller"; + semver:module-version "5.0.0"; + } + revision 2021-04-14 { + description + "New Enums added for Multirate Optics Phy type + 2021-03-22 + New Enums added for Optics Phy type + 2021-02-23 + enum added for new Optics Phy Type for 400G LR4 module + 2021-02-19 + enum added for 1 new Optics Phy Type and new value added to enum EthernetPmdType + 2021-02-17 + New OPTICS_ETH_100GBASE_DR_S added to enum EthernetPmdType + 2021-01-18 + Added 2 enums for New FEC Type. + 2020-12-23 + New value added to enum EthernetPmdType + 2020-11-24 + Enum value in optics_modulation_type is changed from MODE_16QAM_32QAM to MOD_16QAM_32QAM + 2020-11-10 + enum added for 1 new Optics Phy Type for 100G DR-S optics module + 2020-09-10 + removed optics_edm_fastpoll_info and added new bag optics_edm_fastpoll_data + 2020-08-02 + New values added to enum FiberConnectorType + 2020-07-24 + New value added in optics yang for FastPollInfo + 2020-07-14 + New value added to enum EthernetPmdType"; + semver:module-version "4.0.0"; + } + revision 2020-04-26 { + description + "New value added to enum EthernetPmdType + 2020-02-24 + enum added for OTN Application code. + 2020-02-19 + enum added for 1 new Optics Phy Type + 2020-01-31 + enum added for 1 new Optics Phy Type + 2020-01-27 + Added new parameters in optics bag to display parameters which are not configurable + 2019-12-05 + enum added for 2 new OTN Application codes. + 2019-11-30 + Back Reflection data field is added in bag. + 2019-09-30 + chan_num data field is added to support L-Band frequency range."; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Optics-loopback-types { + type enumeration { + enum "optics-loopback-type-none" { + value 0; + description + "optics loop back type none"; + } + enum "optics-loopback-type-internal" { + value 1; + description + "optics loop back type internal"; + } + enum "optics-loopback-type-line" { + value 2; + description + "optics loop back type line"; + } + } + description + "Optics loopback types"; + } + + typedef Optics-dac-rate { + type enumeration { + enum "dac-rate-none" { + value 0; + description + "none"; + } + enum "dac-rate-1x1" { + value 1; + description + "1x1"; + } + enum "dac-rate-1x1-25" { + value 2; + description + "1x1.25"; + } + enum "dac-rate-1x1-50" { + value 3; + description + "1x1.50"; + } + enum "dac-rate-1x1-75" { + value 4; + description + "1x1.75"; + } + enum "dac-rate-1x2" { + value 5; + description + "1x2"; + } + } + description + "Optics dac rate"; + } + + typedef Ots-back-reflection-state { + type enumeration { + enum "disable" { + value 0; + description + "Disable"; + } + enum "enable" { + value 1; + description + "Enable"; + } + } + description + "Ots back reflection state"; + } + + typedef Optics-ains-state-et { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "active-running" { + value 1; + description + "Running"; + } + enum "active-pending" { + value 2; + description + "Pending"; + } + } + description + "Optics ains state et"; + } + + typedef Ethernet-pmd { + type enumeration { + enum "optics-eth-not-set" { + value 0; + description + "Not set"; + } + enum "optics-eth-10gbase-lrm" { + value 1; + description + "10GBASE LRM"; + } + enum "optics-eth-10gbase-lr" { + value 2; + description + "10GBASE LR"; + } + enum "optics-eth-10gbase-zr" { + value 3; + description + "10GBASE ZR"; + } + enum "optics-eth-10gbase-er" { + value 4; + description + "10GBASE ER"; + } + enum "optics-eth-10gbase-sr" { + value 5; + description + "10GBASE SR"; + } + enum "optics-eth-10gbase" { + value 6; + description + "10GBASE T"; + } + enum "optics-eth-40gbase-cr4" { + value 7; + description + "40GBASE CR4"; + } + enum "optics-eth-40gbase-sr4" { + value 8; + description + "40GBASE SR4"; + } + enum "optics-eth-40gbase-lr4" { + value 9; + description + "40GBASE LR4"; + } + enum "optics-eth-40gbase-er4" { + value 10; + description + "40GBASE ER4"; + } + enum "optics-eth-40gbase-psm4" { + value 11; + description + "40GBASE PSM4"; + } + enum "optics-eth-40gbase-csr4" { + value 12; + description + "40GBASE CSR4"; + } + enum "optics-eth-40gbase-sr-bd" { + value 13; + description + "40GBASE SR BD"; + } + enum "optics-eth-40g-aoc" { + value 14; + description + "40G AOC"; + } + enum "optics-eth-4x10gbase-lr" { + value 15; + description + "4X10GBASE LR"; + } + enum "optics-eth-4x10gbase-sr" { + value 16; + description + "4X10GBASE SR"; + } + enum "optics-eth-100g-aoc" { + value 17; + description + "100G AOC"; + } + enum "optics-eth-100g-acc" { + value 18; + description + "100G ACC"; + } + enum "optics-eth-100gbase-sr10" { + value 19; + description + "100GBASE SR10"; + } + enum "optics-eth-100gbase-sr4" { + value 20; + description + "100GBASE SR4"; + } + enum "optics-eth-100gbase-lr4" { + value 21; + description + "100GBASE LR4"; + } + enum "optics-eth-100gbase-er4" { + value 22; + description + "100GBASE ER4"; + } + enum "optics-eth-100gbase-cwdm4" { + value 23; + description + "100GBASE CWDM4"; + } + enum "optics-eth-100gbase-clr4" { + value 24; + description + "100GBASE CLR4"; + } + enum "optics-eth-100gbase-psm4" { + value 25; + description + "100GBASE PSM4"; + } + enum "optics-eth-100gbase-cr4" { + value 26; + description + "100GBASE CR4"; + } + enum "optics-eth-100gbase-al" { + value 27; + description + "100GBASE AL"; + } + enum "optics-eth-100gbase-pl" { + value 28; + description + "100GBASE PL"; + } + enum "optics-eth-400gbase-fr4" { + value 29; + description + "400GBASE FR4"; + } + enum "optics-eth-400gbase-dr4" { + value 30; + description + "400GBASE DR4"; + } + enum "optics-eth-400gbase-cr8" { + value 31; + description + "400GBASE CR8"; + } + enum "optics-eth-100gbase-srbd" { + value 32; + description + "100GBASE SRBD"; + } + enum "optics-eth-100gbase-fr" { + value 33; + description + "100GBASE FR"; + } + enum "optics-eth-100gbase-lr" { + value 34; + description + "100GBASE LR"; + } + enum "optics-eth-400gbase-lr8" { + value 35; + description + "400GBASE LR8"; + } + enum "optics-eth-400gbase-aoc" { + value 36; + description + "400GBASE AOC"; + } + enum "optics-eth-100gbase-sm-sr" { + value 37; + description + "100GBASE SM SR"; + } + enum "optics-eth-100gbase-dr-s" { + value 38; + description + "100GBASE DR S"; + } + enum "optics-eth-40gbase-csr-s" { + value 39; + description + "40GBASE CSR S"; + } + enum "optics-eth-800gbase-cr8" { + value 40; + description + "800GBASE CR8"; + } + enum "optics-eth-undefined" { + value 41; + description + "Eth Undefined"; + } + } + description + "Ethernet Pmd Type"; + } + + typedef Sonet-application-code { + type enumeration { + enum "optics-sonet-not-set" { + value 0; + description + "Not Set"; + } + enum "optics-vsr2000-3r2" { + value 1; + description + "VSR2000 3R2"; + } + enum "optics-vsr2000-3r3" { + value 2; + description + "VSR2000 3R3"; + } + enum "optics-vsr2000-3r5" { + value 3; + description + "VSR2000 3R5"; + } + enum "optics-sonet-undefined" { + value 4; + description + "Undefined"; + } + } + description + "Sonet application code"; + } + + typedef Otn-application-code { + type enumeration { + enum "optics-not-set" { + value 0; + description + "Not Set"; + } + enum "optics-p1l1-2d1" { + value 1; + description + "P1L1 2D1"; + } + enum "optics-p1s1-2d2" { + value 2; + description + "P1S1 2D2"; + } + enum "optics-p1l1-2d2" { + value 3; + description + "P1L1 2D2"; + } + enum "optics-4i1-9d1f" { + value 4; + description + "4I1 9D1F"; + } + enum "optics-4l1-9c1f" { + value 5; + description + "4L1 9C1F"; + } + enum "optics-4i1-2d1f" { + value 6; + description + "4I1 2D1F"; + } + enum "optics-undefined" { + value 7; + description + "Undefined"; + } + } + description + "Otn application code"; + } + + typedef Fiber-connector { + type enumeration { + enum "optics-connect-or-not-set" { + value 0; + description + "Not Set"; + } + enum "optics-sc-connect-or" { + value 1; + description + "SC"; + } + enum "optics-lc-connect-or" { + value 2; + description + "LC"; + } + enum "optics-mpo-connect-or" { + value 3; + description + "MPO"; + } + enum "optics-aoc-connect-or" { + value 4; + description + "AOC"; + } + enum "optics-dac-connect-or" { + value 5; + description + "DAC"; + } + enum "optics-undefined-connect-or" { + value 6; + description + "Undefined"; + } + } + description + "Fiber connector"; + } + + typedef Optics-amplifier-safety-control-mode { + type enumeration { + enum "optics-amplifier-safety-mode-invalid" { + value 0; + description + "Invalid"; + } + enum "optics-amplifier-safety-mode-auto" { + value 1; + description + "auto"; + } + enum "optics-amplifier-safety-mode-disabled" { + value 2; + description + "disabled"; + } + } + description + "Optics amplifier safety control mode"; + } + + typedef Optics-amplifier-gain-range { + type enumeration { + enum "optics-amplifier-gain-range-invalid" { + value 0; + description + "Invalid"; + } + enum "optics-amplifier-gain-range-normal" { + value 1; + description + "Normal"; + } + enum "optics-amplifier-gain-range-ext-end-ed" { + value 2; + description + "Extended"; + } + } + description + "Optics amplifier gain range"; + } + + typedef Optics-amplifier-control-mode { + type enumeration { + enum "automatic" { + value 1; + description + "Automatic"; + } + enum "manual" { + value 2; + description + "Manual"; + } + } + description + "Optics amplifier control mode"; + } + + typedef Optics-port-status { + type enumeration { + enum "active" { + value 0; + description + "Active"; + } + enum "standby" { + value 1; + description + "Standby"; + } + } + description + "Optics port status"; + } + + typedef Optics-port { + type enumeration { + enum "com" { + value 0; + description + "Com"; + } + enum "line" { + value 1; + description + "Line"; + } + enum "osc" { + value 2; + description + "Osc"; + } + enum "com-check" { + value 3; + description + "Com Check"; + } + enum "work" { + value 4; + description + "Working"; + } + enum "prot" { + value 5; + description + "Protected"; + } + } + description + "Optics port"; + } + + typedef Optics-fec { + type enumeration { + enum "fec-none" { + value 0; + description + "FEC NONE"; + } + enum "fec-hg15" { + value 1; + description + "ENHANCED FEC H15"; + } + enum "fec-hg25" { + value 2; + description + "ENHANCED FEC H25"; + } + enum "fec-hg15-de" { + value 4; + description + "FEC HG15 DE"; + } + enum "fec-hg25-de" { + value 8; + description + "FEC HG25 DE"; + } + enum "fec-enabled" { + value 16; + description + "FEC ENABLED"; + } + enum "fec-not-set" { + value 32; + description + "FEC DISABLED"; + } + enum "fec-cl91" { + value 64; + description + "FEC CL91"; + } + enum "fec-1-i-7" { + value 128; + description + "FEC EnhancedI.7"; + } + enum "fec-1-i-4" { + value 256; + description + "FEC EnhancedI.4"; + } + enum "fec-swizzle" { + value 512; + description + "FEC Enhanced_Swizzle"; + } + enum "fec-hg20" { + value 1024; + description + "FEC EnhancedHG20"; + } + enum "fec-hg7" { + value 2048; + description + "FEC EnhancedHG7"; + } + enum "fec-sd20" { + value 4096; + description + "FEC SoftDecision 20"; + } + enum "fec-sd7" { + value 8192; + description + "FEC SoftDecision 7"; + } + enum "fec-sd15" { + value 16384; + description + "FEC SoftDecision 15"; + } + enum "fec-sd27" { + value 32768; + description + "FEC SoftDecision 27"; + } + enum "fec-sd15-de" { + value 65536; + description + "FEC SoftDecision 15 with DE"; + } + enum "fec-staircase-de" { + value 131072; + description + "FEC Enhanced Staircase FEC with DE"; + } + enum "fec-ofec" { + value 262144; + description + "FEC OFEC"; + } + enum "fec-cfec" { + value 524288; + description + "FEC CFEC"; + } + enum "fec-stndrd" { + value 1048576; + description + "FEC Standard"; + } + enum "fec-cl74" { + value 2097152; + description + "FEC CL74"; + } + enum "fec-cl108" { + value 4194304; + description + "FEC CL108"; + } + enum "fec-all" { + value 8388608; + description + "FEC ALL"; + } + } + description + "Optics fec"; + } + + typedef Optics-phy { + type enumeration { + enum "not-set" { + value 0; + description + "Not set"; + } + enum "invalid" { + value 1; + description + "Invalid"; + } + enum "long-reach-four-lanes" { + value 2; + description + "Long reach 4 lanes"; + } + enum "short-reach-ten-lanes" { + value 3; + description + "Short reach 10 lanes"; + } + enum "short-reach-one-lane" { + value 4; + description + "Short reach 1 lane"; + } + enum "long-reach-one-lane" { + value 5; + description + "Long reach 1 lane"; + } + enum "short-reach-four-lanes" { + value 6; + description + "Short reach 4 lanes"; + } + enum "copper-four-lanes" { + value 7; + description + "Copper 4 lanes"; + } + enum "active-optical-cable" { + value 8; + description + "Active optical cable"; + } + enum "fourty-gig-e-long-reach-four-lanes" { + value 9; + description + "Long reach 4 lanes"; + } + enum "fourty-gig-e-short-reach-four-lanes" { + value 10; + description + "Short reach 4 lanes"; + } + enum "cwdm-four-lanes" { + value 11; + description + "CWDM 4 lanes"; + } + enum "extended-reach-four-lanes" { + value 12; + description + "Extended reach 4 lanes"; + } + enum "psm-four-lanes" { + value 13; + description + "PSM 4 lanes"; + } + enum "active-copper-cable" { + value 14; + description + "Active copper cable"; + } + enum "fourty-gig-e-extended-reach-four-lanes" { + value 15; + description + "Extended reach 4 lanes"; + } + enum "four-x-ten-gig-e-short-reach-one-lane" { + value 16; + description + "Short reach 1 lane"; + } + enum "fourty-gig-epsm-four-lanes" { + value 17; + description + "PSM 4 lanes"; + } + enum "fourty-gig-e-copper-four-lanes" { + value 18; + description + "Copper 4 lanes"; + } + enum "long-reach-mm-one-lane" { + value 19; + description + "Long reach MM 1 lane"; + } + enum "copper-short-reach" { + value 20; + description + "Copper Short reach 4 lanes"; + } + enum "short-reach-srbd" { + value 21; + description + "Short reach BD 4 lanes"; + } + enum "copper-one-lane" { + value 22; + description + "Copper One Lane"; + } + enum "four-x-ten-gig-e-long-reach-one-lane" { + value 23; + description + "Long reach 1 lane"; + } + enum "fourty-gig-eaoc-four-lanes" { + value 24; + description + "Active optical cable"; + } + enum "extended-one-lane" { + value 25; + description + "Extended One Lane"; + } + enum "zr-one-lane" { + value 26; + description + "ZR One Lane"; + } + enum "dwdm-one-lane" { + value 27; + description + "DWDM One Lane"; + } + enum "sx-one-lane" { + value 28; + description + "SX One Lane"; + } + enum "lx-one-lane" { + value 29; + description + "LX One Lane"; + } + enum "ex-one-lane" { + value 30; + description + "EX One Lane"; + } + enum "zx-one-lane" { + value 31; + description + "ZX One Lane"; + } + enum "ba-set-one-lane" { + value 32; + description + "BASE_T One Lane"; + } + enum "aoc-one-lane" { + value 33; + description + "Active Optical 1 Lane"; + } + enum "active-copper-one-lane" { + value 34; + description + "Active Copper 1 Lane"; + } + enum "fourty-gig-eacu-four-lanes" { + value 35; + description + "Active Copper 4 Lanes"; + } + enum "four-x-ten-gig-eacu-one-lanes" { + value 36; + description + "Active Copper 1 Lane"; + } + enum "four-x-ten-gig-ecu-one-lanes" { + value 37; + description + "Copper 1 Lanes"; + } + enum "four-x-ten-gig-eaoc-one-lanes" { + value 38; + description + "Active Optics 1 Lane"; + } + enum "twenty-five-gig-short-reach-one-lane" { + value 39; + description + "Short reach 1 lane"; + } + enum "twenty-five-gig-long-reach-one-lane" { + value 40; + description + "Long reach 1 lane"; + } + enum "twenty-five-gig-extended-reach-one-lane" { + value 41; + description + "Extended reach 1 lane"; + } + enum "twenty-five-gig-copper-one-lane" { + value 42; + description + "Copper One Lane"; + } + enum "twenty-five-gig-active-optical-one-lane" { + value 43; + description + "Active Optical One Lane"; + } + enum "hundred-gig-edwdm-two" { + value 44; + description + "100GE DWDM Optics"; + } + enum "fourty-gig-plr4-four-lanes" { + value 45; + description + "PLR4 Optics"; + } + enum "fourty-gig-esr4-four-lanes" { + value 46; + description + "ESR4 Optics"; + } + enum "smsr-four-lanes" { + value 47; + description + "SMSR Optics"; + } + enum "cazadero-rqsa" { + value 48; + description + "Cazadero R"; + } + enum "trunk-port-cfp2" { + value 49; + description + "CFP2 DWDM Optics"; + } + enum "short-reach1-lane" { + value 50; + description + "Short reach 1 lane"; + } + enum "inmd-reach1lane" { + value 51; + description + "Inmd reach 1 lane"; + } + enum "long-reach1-lane" { + value 52; + description + "Long reach 1 lane"; + } + enum "twenty-five-gig-ecu-one-lanes" { + value 53; + description + "Copper 1 Lanes"; + } + enum "hundred-gig-e" { + value 54; + description + "ExtentedReach4Lane"; + } + enum "ten-gig-bx" { + value 55; + description + "10G BX optics"; + } + enum "one-geige" { + value 56; + description + "1G BX optics"; + } + enum "ten-x-ten-gig-e-long-reach-one-lane" { + value 57; + description + "Long Reach 1 Lane"; + } + enum "ten-x-ten-gig-e-extended-reach-one-lane" { + value 58; + description + "Extended Reach 1 Lane"; + } + enum "passive-copper-one-lane" { + value 59; + description + "Passive Copper One Lane"; + } + enum "ten-gig-ecwdm" { + value 60; + description + "TenGigE CWDM One Lane"; + } + enum "one-gig-ecwdm" { + value 61; + description + "One GigE CWDM One Lane"; + } + enum "one-gig-edwdm" { + value 62; + description + "One GigE DWDM One Lane"; + } + enum "fx-one-lane" { + value 63; + description + "FX One Lane"; + } + enum "ten-gig-emrdwdm" { + value 64; + description + "TenGigE Multi Rate DWDM 1 Lane"; + } + enum "ten-gig-e-edge-performance" { + value 65; + description + "TenGigE Edge Performance 1 Lane"; + } + enum "one-gig-csfp" { + value 66; + description + "OneGig CSFP optics"; + } + enum "four-hundred-gig-fr4-four-lanes" { + value 67; + description + "400G FR4"; + } + enum "four-hundred-gig-dr4-four-lanes" { + value 68; + description + "400G DR4"; + } + enum "four-x-hundred-gig-fr-four-lanes" { + value 69; + description + "4x100G FR breakout"; + } + enum "four-hundred-gig-aoc-eight-lanes" { + value 70; + description + "400G AOC"; + } + enum "four-hundred-gig-cu-eight-lanes" { + value 71; + description + "400G Copper cable"; + } + enum "eight-x-fifty-gig-cu-eight-lanes" { + value 72; + description + "8x50G Copper breakout"; + } + enum "short-reach-bd" { + value 73; + description + "Short reach Bi-Directional"; + } + enum "hundred-gig-far-reach-one-lane" { + value 74; + description + "Far reach duplex SMF"; + } + enum "four-hundred-gig-long-reach-eight-lanes" { + value 75; + description + "400G LR8"; + } + enum "two-x-hundred-short-range-eight-lanes" { + value 76; + description + "2X100 SR4"; + } + enum "two-x-hundred-psm-eight-lanes" { + value 78; + description + "2x100 PSM4"; + } + enum "two-x-hundred-cwdm-eight-lanes" { + value 79; + description + "2X100 CWDM4"; + } + enum "two-x-hundred-long-range-eight-lanes" { + value 80; + description + "2X100 LR4"; + } + enum "four-hundred-gig-passive-loopback" { + value 81; + description + "400G PASSIVE LB"; + } + enum "four-hundred-gig-active-loopback" { + value 82; + description + "400G ACTIVE LB"; + } + enum "twenty-five-gig-c-short-reach-one-lane" { + value 83; + description + "Short reach 1 lane"; + } + enum "ten-gig-c-short-reach-one-lane" { + value 84; + description + "Short reach 1 lane"; + } + enum "hundred-gig-long-reach-one-lane" { + value 85; + description + "Long reach duplex SMF"; + } + enum "four-x-ten-gig-multi-rate" { + value 86; + description + "4x10G MLR"; + } + enum "short-reach-bd-forty-gig-hundred-gig" { + value 87; + description + "Short reach Bi-Directional"; + } + enum "four-hundred-gig-zr-single-lane" { + value 88; + description + "Long reach duplex SMF"; + } + enum "four-hundred-gig-zrp-single-lane" { + value 89; + description + "Long reach duplex SMF"; + } + enum "hundred-gig-dr-single-lane" { + value 90; + description + "500m reach duplex SMF"; + } + enum "four-hundred-gig-long-reach-four-lanes" { + value 91; + description + "400G LR4"; + } + enum "forty-gig-copper-short-reach-single-lane" { + value 92; + description + "Extended Copper Short reach duplex SMF"; + } + enum "fifty-gig-cu1m" { + value 93; + description + "50G Copper cable"; + } + enum "fifty-gig-passive-loopback" { + value 94; + description + "50G PASSIVE LB"; + } + enum "ten-gig-twenty-five-gig-bx" { + value 95; + description + "10/25G BXU-I"; + } + enum "twenty-five-gig-fifty-gig-short-reach" { + value 96; + description + "25/50G Short Reach"; + } + enum "twenty-five-gige-copper" { + value 97; + description + "Passive Copper one lane"; + } + enum "hundred-gige4wdm" { + value 98; + description + "100G 4WDM"; + } + enum "gigabit-ethernet" { + value 99; + description + "Gigabit Ethernet"; + } + enum "eight-hundred-gig-cu-eight-lanes" { + value 100; + description + "800G Copper cable"; + } + enum "multi-rate-lr" { + value 101; + description + "Long reach 1 lane"; + } + enum "multi-rate-sr" { + value 102; + description + "Short reach 1 lane"; + } + enum "multi-rate-csr" { + value 103; + description + "Short reach 1 lane"; + } + enum "optics-phy-type-16g-fc" { + value 104; + description + "16G FC 4 lanes"; + } + enum "optics-phy-type-32g-fc" { + value 105; + description + "32G FC 4 lanes"; + } + enum "hundred-gig-extended-reach-one-lane" { + value 106; + description + "Extended reach duplex SMF"; + } + enum "four-x-hundred-gig-long-reach-four-lanes" { + value 107; + description + "4x100G LR breakout"; + } + enum "two-x-two-hundred-gig-active-optical-cable-eight-lanes" { + value 108; + description + "2x200G AOC"; + } + enum "two-x-two-hundred-gig-copper-eight-lanes" { + value 109; + description + "2x200G CU"; + } + enum "two-hundred-gig-active-optical-cable-four-lanes" { + value 110; + description + "200G AOC"; + } + enum "two-hundred-gig-copper-four-lanes" { + value 111; + description + "200G CU"; + } + enum "two-hundred-gig-far-reach-four-lanes" { + value 112; + description + "200G FR4"; + } + enum "lh-one-lane" { + value 113; + description + "LH One Lane"; + } + enum "four-hundred-gig-short-reach-eight-lanes" { + value 114; + description + "400G SR8"; + } + enum "four-hundred-gig-active-electrical-cable" { + value 115; + description + "400G AEC"; + } + } + description + "Optics phy type"; + } + + typedef Optics-form-factor { + type enumeration { + enum "not-set" { + value 0; + description + "Not set"; + } + enum "invalid" { + value 1; + description + "Invalid"; + } + enum "cpak" { + value 2; + description + "CPAK"; + } + enum "cxp" { + value 3; + description + "CXP"; + } + enum "sfp-plus" { + value 4; + description + "SFP+"; + } + enum "qsfp" { + value 5; + description + "QSFP"; + } + enum "qsfp-plus" { + value 6; + description + "QSFP+"; + } + enum "qsfp28" { + value 7; + description + "QSFP28"; + } + enum "sfp" { + value 8; + description + "SFP"; + } + enum "cfp" { + value 9; + description + "CFP"; + } + enum "cfp2" { + value 10; + description + "CFP2"; + } + enum "cfp2-aco" { + value 11; + description + "CFP2 ACO"; + } + enum "cfp2-dco" { + value 12; + description + "CFP2 DCO"; + } + enum "cfp4" { + value 13; + description + "CFP4"; + } + enum "xfp" { + value 14; + description + "XFP"; + } + enum "x2" { + value 15; + description + "X2"; + } + enum "qsfpdd" { + value 16; + description + "QSFP DD"; + } + enum "non-pluggable" { + value 17; + description + "Non pluggable"; + } + enum "other" { + value 18; + description + "Other"; + } + enum "sfp28" { + value 19; + description + "SFP28"; + } + } + description + "Optics form factor"; + } + + typedef Optics-controller-state { + type enumeration { + enum "optics-state-up" { + value 0; + description + "Up"; + } + enum "optics-state-down" { + value 1; + description + "Down"; + } + enum "optics-state-admin-down" { + value 2; + description + "Administratively Down"; + } + } + description + "Optics controller state"; + } + + typedef Optics-led-state { + type enumeration { + enum "off" { + value 0; + description + "Off"; + } + enum "green-on" { + value 1; + description + "Green"; + } + enum "green-flashing" { + value 2; + description + "Green Flashing"; + } + enum "yellow-on" { + value 3; + description + "Yellow"; + } + enum "yellow-flashing" { + value 4; + description + "Yellow Flashing"; + } + enum "red-on" { + value 5; + description + "Red"; + } + enum "red-flashing" { + value 6; + description + "Red Flashing"; + } + enum "na" { + value 7; + description + "Not Applicable"; + } + } + description + "Optics led state"; + } + + typedef Optics-modulation { + type enumeration { + enum "mod-none" { + value 0; + description + "NONE"; + } + enum "mod-bpsk" { + value 1; + description + "BPSK"; + } + enum "mod-qpsk" { + value 2; + description + "QPSK"; + } + enum "mod-8qam" { + value 3; + description + "8QAM"; + } + enum "mod-16qam" { + value 4; + description + "16QAM"; + } + enum "mod-32qam" { + value 5; + description + "32QAM"; + } + enum "mod-64qam" { + value 6; + description + "64QAM"; + } + enum "mod-bpsk-qpsk" { + value 7; + description + "BPSK QPSK"; + } + enum "mod-qpsk-8qam" { + value 8; + description + "QPSK 8QAM"; + } + enum "mod-8qam-16qam" { + value 9; + description + "8QAM 16QAM"; + } + enum "mod-16qam-32qam" { + value 10; + description + "16QAM 32QAM"; + } + enum "mod-32qam-64qam" { + value 11; + description + "32QAM 64QAM"; + } + } + description + "Optics modulation"; + } + + typedef Optics-laser-state { + type enumeration { + enum "on" { + value 0; + description + "On"; + } + enum "off" { + value 1; + description + "Off"; + } + enum "unknown" { + value 2; + description + "Unknown"; + } + enum "apr" { + value 3; + description + "Apr"; + } + enum "na" { + value 4; + description + "N/A"; + } + } + description + "Optics laser state"; + } + + typedef Optics { + type enumeration { + enum "optics-unknown" { + value 0; + description + "Unknow Optics Type"; + } + enum "optics-grey" { + value 1; + description + "Grey Optics"; + } + enum "optics-dwdm" { + value 2; + description + "DWDM Optics"; + } + enum "optics-cwdm" { + value 3; + description + "CWDM Optics"; + } + } + description + "Optics"; + } + + typedef Optics-tas { + type enumeration { + enum "tas-ui-oos" { + value 0; + description + "Out Of Service"; + } + enum "tas-ui-main" { + value 1; + description + "Maintenance"; + } + enum "tas-ui-is" { + value 2; + description + "In Service"; + } + enum "tas-ui-ains" { + value 3; + description + "Automatic In Service"; + } + } + description + "Optics tas"; + } + + typedef Optics-wave-band { + type enumeration { + enum "c-band" { + value 0; + description + "C BAND"; + } + enum "l-band" { + value 1; + description + "L BAND"; + } + enum "c-band-odd" { + value 2; + description + "C ODD"; + } + enum "c-band-even" { + value 3; + description + "C EVEN"; + } + enum "invalid-band" { + value 4; + description + "Invalid"; + } + } + description + "Optics wave band"; + } + + grouping OPTICS-DB-INFO { + description + " Optics DB Info"; + container network-srlg-info { + description + "Network SRLG information"; + uses OPTICS-EDM-NETWORK-SRLG-INFO; + } + leaf transport-admin-state { + type Optics-tas; + description + "Transport Admin State"; + } + leaf controller-state { + type Optics-controller-state; + description + "Optics controller state: Up, Down or + Administratively Down"; + } + } + + grouping FASTPOLL-INFO { + description + "Optics fastpoll parameters information"; + leaf index { + type uint32; + description + "Index"; + } + leaf timestamp { + type uint64; + description + "Timestamp"; + } + leaf interval { + type uint32; + description + "sop data interval in millisec"; + } + leaf sop1 { + type string; + description + "sop 1 info"; + } + leaf sop2 { + type string; + description + "sop 2 info"; + } + leaf sop3 { + type string; + description + "sop 3 info"; + } + } + + grouping OPTICS-EDM-FASTPOLL-DATA { + description + "Optics fastpoll information"; + container fastpoll-data { + description + "fastpoll data"; + uses FASTPOLL-INFO; + } + } + + grouping OTS-EGRESS-CHANNEL-SLICE { + description + "OTS Egress Channel Slice Attenuation Information"; + leaf egress-channel-slice { + type uint32; + description + "Egress Channel Slice"; + } + leaf egress-channel-slice-attenuation { + type string; + description + "Egress Channel Slice Attenuation in units of 0.1 + dBm"; + } + } + + grouping OTS-EGRESS-CHANNEL-SLICE-PARAM { + description + "Egress Channel Slice Attenuation Params"; + list count { + description + "Egress Channel Slice Count"; + uses OTS-EGRESS-CHANNEL-SLICE; + } + } + + grouping OTS-INGRESS-CHANNEL-SLICE { + description + "OTS Ingress Channel Slice Attenuation Information"; + leaf ingress-channel-slice { + type uint32; + description + "Ingress Channel Slice"; + } + leaf ingress-channel-slice-attenuation { + type string; + description + "Ingress Channel Slice Attenuation in units of 0 + .1 dBm"; + } + } + + grouping OTS-INGRESS-CHANNEL-SLICE-PARAM { + description + "Ingress Channel Slice Attenuation Parameters"; + list count { + description + "Ingress Channel Slice Count"; + uses OTS-INGRESS-CHANNEL-SLICE; + } + } + + grouping OTS-RECEIVE-POWER { + description + "Proprietary OTS Photodiode Receive Power + Parameters"; + list count { + description + "Receive Power count"; + uses OTS-POWER-LIST; + } + } + + grouping OTS-POWER-LIST { + description + "Proprietary OTS Photodiode Transmit/Receive Power + Parameters"; + leaf instance { + type uint32; + description + "Transmit Power Parameter Type"; + } + leaf value { + type string; + description + "Transmit Power Parameter Value"; + } + } + + grouping OTS-TRANSMIT-POWER { + description + "Proprietary OTS Photodiode Transmit Power + Parameters"; + list count { + description + "Transmit Power count"; + uses OTS-POWER-LIST; + } + } + + grouping PROP-SUB-PARAM-COUNT { + description + "Proprietary Submarine Parameters"; + leaf type { + type uint32; + description + "Proprietary Parameter Type"; + } + leaf value { + type uint32; + description + "Proprietary Parameter Value"; + } + } + + grouping SUB-PARAM { + description + "Proprietary Submarine Parameters"; + list count { + description + "submarine count"; + uses PROP-SUB-PARAM-COUNT; + } + } + + grouping OPTICS-SUBMARINE-INFO { + description + "Submarine parameteres operational information"; + container prop-submarine-params { + description + "Proprietary Submarine Parameters"; + uses SUB-PARAM; + } + leaf filter-roll-off-factor { + type string; + description + "RRC Filter Roll-Off factor"; + } + leaf rx-voa-target-power { + type string; + description + "Receive Target Power"; + } + leaf rx-voa-fixed-ratio { + type string; + description + "Receive Ratio of Optical Attenuation"; + } + leaf enh-colorless-mode { + type uint32; + description + "Enhanced Colorless Mode"; + } + leaf enhsop-tolerance-mode { + type uint32; + description + "Enhanced SOP Tolerance Mode"; + } + leaf nleq-compensation { + type uint32; + description + "Non Linear Effect Compenstation"; + } + leaf cross-pol-gain-mode { + type uint32; + description + "Carrier Phase Recovery Cross Polarization Gain + Mode"; + } + leaf cross-pol-weight-mode { + type uint32; + description + "Carrier Phase Recovery Cross Polarization Weight + Mode"; + } + leaf cpr-win-mode { + type uint32; + description + "Carrier Phase Recovery Window Mode"; + } + leaf cpr-ext-win-mode { + type uint32; + description + "Carrier Phase Recovery Extended Window Mode"; + } + } + + grouping OPTICS-AINS-HW-INFO { + description + "OPTICS AINS information"; + leaf ains-state { + type Optics-ains-state-et; + description + "AINS State"; + } + leaf ains-timer-minutes { + type uint32; + units "minute"; + description + "AINS Timer in Minutes"; + } + leaf ains-remaining-secs { + type uint32; + units "second"; + description + "AINS Remaining Seconds"; + } + } + + grouping EXT-PARAM-EDM-ALARM-INFO { + description + "Extended DOM Alarm Information"; + container lo-snr { + description + "Low SNR Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container hi-snr1 { + description + "High SNR Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container lo-snr1 { + description + "Low SNR Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container hi-snr2 { + description + "High SNR Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container lo-isi1 { + description + "Low ISI Correction Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container hi-isi1 { + description + "High ISI Correction Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container lo-isi2 { + description + "Low ISI Correction Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container hi-isi2 { + description + "High ISI Correction Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container lo-pam1 { + description + "Low PAM Rate Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container hi-pam1 { + description + "High PAM Rate Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container lo-pam2 { + description + "Low PAM Rate Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container hi-pam2 { + description + "High PAM Rate Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container lo-tec1 { + description + "Low TEC Current Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container hi-tec1 { + description + "High TEC Current Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container lo-tec2 { + description + "Low TEC Current Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container hi-tec2 { + description + "High TEC Current Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container lo-laser-freq1 { + description + "Low Laser Differential Frequency Alarm for Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container hi-laser-freq1 { + description + "High Laser Differential Frequency Alarm for + Lane1"; + uses OPTICS-ALARM-DETAIL; + } + container lo-laser-freq2 { + description + "Low Laser Differential Frequency Alarm for Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container hi-laser-freq2 { + description + "High Laser Differential Frequency Alarm for + Lane2"; + uses OPTICS-ALARM-DETAIL; + } + container hi-pre-fecber-cur-acc { + description + "High Pre FEC BER Current Accumulated Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-pre-fecber-min { + description + "High Pre FEC BER Min Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-pre-fecber-max { + description + "High Pre FEC BER Max Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-pre-fecber-prior-acc { + description + "High Pre FEC BER Prior Accumulated Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-pre-fecber-cur { + description + "High Pre FEC BER Current Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-uncorrected-ber-cur-acc { + description + "High Uncorrected BER Current Accumulated Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-uncorrected-ber-min { + description + "High Uncorrected BER Min Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-uncorrected-ber-max { + description + "High Uncorrected BER Max Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-uncorrected-ber-prior-acc { + description + "High Uncorrected BER Prior Accumulated Alarm"; + uses OPTICS-ALARM-DETAIL; + } + container hi-uncorrected-ber-cur { + description + "High Uncorrected BER Current Alarm"; + uses OPTICS-ALARM-DETAIL; + } + } + + grouping OPTICS-EXT-THRESHOLD-PARAM { + description + "extended monitored parameter threshold + information"; + leaf snr-alarm-high-threshold { + type int32; + description + "High threshold alarm for SNR"; + } + leaf snr-alarm-low-threshold { + type int32; + description + "Low threshold alarm for SNR"; + } + leaf snr-warn-high-threshold { + type int32; + description + "High threshold warning for SNR"; + } + leaf snr-warn-low-threshold { + type int32; + description + "Low threshold warning for SNR"; + } + leaf isi-correction-alarm-high-threshold { + type int32; + description + "High threshold alarm for ISI Correction"; + } + leaf isi-correction-alarm-low-threshold { + type int32; + description + "Low threshold alarm for ISI Correction"; + } + leaf isi-correction-warn-high-threshold { + type int32; + description + "High threshold warning for ISI Correction"; + } + leaf isi-correction-warn-low-threshold { + type int32; + description + "Low threshold warning for ISI Correction"; + } + leaf pam-rate-alarm-high-threshold { + type int32; + description + "High threshold alarm for PAM Rate"; + } + leaf pam-rate-alarm-low-threshold { + type int32; + description + "Low threshold alarm for PAM Rate"; + } + leaf pam-rate-warn-high-threshold { + type int32; + description + "High threshold warning for PAM Rate"; + } + leaf pam-rate-warn-low-threshold { + type int32; + description + "Low threshold warning for PAM Rate"; + } + leaf pre-fec-ber-alarm-high-threshold { + type int64; + description + "High threshold alarm for Pre FEC BER"; + } + leaf pre-fec-ber-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Pre FEC BER"; + } + leaf pre-fec-ber-warn-high-threshold { + type int64; + description + "High threshold warning for Pre FEC BER"; + } + leaf pre-fec-ber-warn-low-threshold { + type int64; + description + "Low threshold warning for Pre FEC BER"; + } + leaf uncorrected-ber-alarm-high-threshold { + type int64; + description + "High threshold alarm for Uncorrected BER"; + } + leaf uncorrected-ber-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Uncorrected BER"; + } + leaf uncorrected-ber-warn-high-threshold { + type int64; + description + "High threshold warning for Uncorrected BER"; + } + leaf uncorrected-ber-warn-low-threshold { + type int64; + description + "Low threshold warning for Uncorrected BER"; + } + leaf tec-current-alarm-high-threshold { + type int32; + description + "High threshold alarm for TEC Current"; + } + leaf tec-current-alarm-low-threshold { + type int32; + description + "Low threshold alarm for TEC Current"; + } + leaf tec-current-warn-high-threshold { + type int32; + description + "High threshold warning for TEC Current"; + } + leaf tec-current-warn-low-threshold { + type int32; + description + "Low threshold warning for TEC Current"; + } + leaf laser-diff-frequency-alarm-high-threshold { + type int32; + description + "High Threshold Alarm for Differential Laser + Frequency"; + } + leaf laser-diff-frequency-alarm-low-threshold { + type int32; + description + "Low Threshold Alarm for Differential Laser + Frequency"; + } + leaf laser-diff-frequency-warn-high-threshold { + type int32; + description + "High Threshold Warning for Differential Laser + Frequency"; + } + leaf laser-diff-frequency-warn-low-threshold { + type int32; + description + "Low Threshold Warning for Differential Laser + Frequency"; + } + leaf laser-diff-temperature-alarm-high-threshold { + type int32; + description + "High Threshold Alarm for Differential Laser + Temperature"; + } + leaf laser-diff-temperature-alarm-low-threshold { + type int32; + description + "Low Threshold Alarm for Differential Laser + Temperature"; + } + leaf laser-diff-temperature-warn-high-threshold { + type int32; + description + "High Threshold Warning for Differential Laser + Temperature"; + } + leaf laser-diff-temperature-warn-low-threshold { + type int32; + description + "Low Threshold Warning for Differential Laser + Temperature"; + } + leaf pre-fec-ber-latched-min-alarm-high-threshold { + type int64; + description + "High threshold alarm for Latched Min Pre FEC BER"; + } + leaf pre-fec-ber-latched-min-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Latched Min Pre FEC BER"; + } + leaf pre-fec-ber-latched-min-warn-high-threshold { + type int64; + description + "High threshold warning for Latched Min Pre FEC + BER"; + } + leaf pre-fec-ber-latched-min-warn-low-threshold { + type int64; + description + "Low threshold warning for Latched Min Pre FEC + BER"; + } + leaf pre-fec-ber-latched-max-alarm-high-threshold { + type int64; + description + "High threshold alarm for Latched Max Pre FEC BER"; + } + leaf pre-fec-ber-latched-max-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Latched Max Pre FEC BER"; + } + leaf pre-fec-ber-latched-max-warn-high-threshold { + type int64; + description + "High threshold warning for Latched Max Pre FEC + BER"; + } + leaf pre-fec-ber-latched-max-warn-low-threshold { + type int64; + description + "Low threshold warning for Latched Max Pre FEC + BER"; + } + leaf pre-fec-ber-accumulated-alarm-high-threshold { + type int64; + description + "High threshold alarm for Accumulated Pre FEC BER"; + } + leaf pre-fec-ber-accumulated-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Accumulated Pre FEC BER"; + } + leaf pre-fec-ber-accumulated-warn-high-threshold { + type int64; + description + "High threshold warning for Accumulated Pre FEC + BER"; + } + leaf pre-fec-ber-accumulated-warn-low-threshold { + type int64; + description + "Low threshold warning for Accumulated Pre FEC + BER"; + } + leaf pre-fec-ber-instantaneous-alarm-high-threshold { + type int64; + description + "High threshold alarm for Instantaneous Pre FEC + BER"; + } + leaf pre-fec-ber-instantaneous-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Instantaneous Pre FEC + BER"; + } + leaf pre-fec-ber-instantaneous-warn-high-threshold { + type int64; + description + "High threshold warning for Instantaneous Pre FEC + BER"; + } + leaf pre-fec-ber-instantaneous-warn-low-threshold { + type int64; + description + "Low threshold warning for Instantaneous Pre FEC + BER"; + } + leaf uncorrected-ber-latched-min-alarm-high-threshold { + type int64; + description + "High threshold alarm for Latched Min + Uncorrected BER"; + } + leaf uncorrected-ber-latched-min-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Latched Min Uncorrected + BER"; + } + leaf uncorrected-ber-latched-min-warn-high-threshold { + type int64; + description + "High threshold warning for Latched Min + Uncorrected BER"; + } + leaf uncorrected-ber-latched-min-warn-low-threshold { + type int64; + description + "Low threshold alarm for Latched Min Uncorrected + BER"; + } + leaf uncorrected-ber-latched-max-alarm-high-threshold { + type int64; + description + "High threshold alarm for Latched_Max Uncorrected + BER"; + } + leaf uncorrected-ber-latched-max-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Latched_Max Uncorrected + BER"; + } + leaf uncorrected-ber-latched-max-warn-high-threshold { + type int64; + description + "High threshold warning Latched_Max for + Uncorrected BER"; + } + leaf uncorrected-ber-latched-max-warn-low-threshold { + type int64; + description + "Low threshold warning Latched_Max for + Uncorrected BER"; + } + leaf uncorrected-ber-accumulated-alarm-high-threshold { + type int64; + description + "High threshold alarm for Accumulated Uncorrected + BER"; + } + leaf uncorrected-ber-accumulated-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Accumulated Uncorrected + BER"; + } + leaf uncorrected-ber-accumulated-warn-high-threshold { + type int64; + description + "High threshold warning for Accumulated + Uncorrected BER"; + } + leaf uncorrected-ber-accumulated-warn-low-threshold { + type int64; + description + "Low threshold warning for Accumulated + Uncorrected BER"; + } + leaf uncorrected-ber-instantaneous-alarm-high-threshold { + type int64; + description + "High threshold alarm for Instantaneous + Uncorrected BER"; + } + leaf uncorrected-ber-instantaneous-alarm-low-threshold { + type int64; + description + "Low threshold alarm for Instantaneous + Uncorrected BER"; + } + leaf uncorrected-ber-instantaneous-warn-high-threshold { + type int64; + description + "High threshold warning for Instantaneous + Uncorrected BER"; + } + leaf uncorrected-ber-instantaneous-warn-low-threshold { + type int64; + description + "Low threshold warning for Instantaneous + Uncorrected BER"; + } + } + + grouping OPTICS-EXT-PARAM { + description + "extended monitored parameter information"; + leaf snr-lane1 { + type int32; + description + "Signal to Noise Ratio on Lane 1"; + } + leaf snr-lane2 { + type int32; + description + "Signal to Noise Ratio on Lane 2"; + } + leaf isi-correction-lane1 { + type int32; + description + "Inter symbol Interference correction on Lane 1"; + } + leaf isi-correction-lane2 { + type int32; + description + "Inter symbol Interference correction on Lane 2"; + } + leaf pam-rate-lane1 { + type int32; + description + "PAM Histogram parameter on Lane 1"; + } + leaf pam-rate-lane2 { + type int32; + description + "PAM Histogram parameter on Lane 2"; + } + leaf pre-fec-ber { + type int64; + description + "Pre FEC BER since last counter reset"; + } + leaf uncorrected-ber { + type int64; + description + "Uncorrected BER since last counter reset"; + } + leaf tec-current-lane1 { + type int32; + description + "Current flowing to the TEC of a cooled laser on + Lane 1"; + } + leaf tec-current-lane2 { + type int32; + description + "Current flowing to the TEC of a cooled laser on + Lane 2"; + } + leaf laser-diff-frequency-lane1 { + type int32; + description + "Difference between target and actual center + frequency on Lane 1"; + } + leaf laser-diff-frequency-lane2 { + type int32; + description + "Difference between target and actual center + frequency on Lane 2"; + } + leaf laser-diff-temperature-lane1 { + type int32; + description + "Difference between target and actual temperature + on Lane 1"; + } + leaf laser-diff-temperature-lane2 { + type int32; + description + "Difference between target and actual temperature + on Lane 2"; + } + leaf pre-fec-ber-latched-min { + type int64; + description + "Latched minimum Pre FEC BER value since last + read, line ingress"; + } + leaf pre-fec-ber-latched-max { + type int64; + description + "Latched maximum Pre FEC BER value since last + read, line ingress"; + } + leaf pre-fec-ber-accumulated { + type int64; + description + "Pre FEC BER value prior accumulation period, + line ingress"; + } + leaf pre-fec-ber-instantaneous { + type int64; + description + "Pre FEC BER value instantaneous line ingress"; + } + leaf uncorrected-ber-latched-min { + type int64; + description + "Latched minimum Uncorrected BER value since last + read, line ingress"; + } + leaf uncorrected-ber-latched-max { + type int64; + description + "Latched maximum Uncorrected BER value since last + read, line ingress"; + } + leaf uncorrected-ber-accumulated { + type int64; + description + "Uncorrected BER value prior accumulation period, + line ingress"; + } + leaf uncorrected-ber-instantaneous { + type int64; + description + "Uncorrected BER value instantaneous line line + ingress"; + } + } + + grouping OPTICS-RAMAN-TX-POWER { + description + "OPTICS Raman Transmit Power information"; + leaf raman-tx-power-instance { + type uint32; + description + "Raman Transmit Power Intance"; + } + leaf raman-tx-power-value { + type string; + description + "Raman Transmit Power Value in units of 0.01mW"; + } + leaf raman-tx-wavelength { + type string; + description + "Raman Transmit Wavelength in units of nm"; + } + } + + grouping OPTICS-RAMAN-PARAM { + description + "Proprietary Raman transmit power Parameters"; + list count { + description + "raman transmit power count"; + uses OPTICS-RAMAN-TX-POWER; + } + } + + grouping OPTICS-TRANSCEIVER-DATA { + description + "Optics Transceiver Details"; + leaf vendor-info { + type string; + description + "Vendor Information"; + } + leaf adapter-vendor-info { + type string; + description + "Adapter Vendor Information"; + } + leaf date { + type string; + description + "Date in Transceiver"; + } + leaf optics-vendor-rev { + type string; + description + "Transceiver vendors revision number"; + } + leaf optics-serial-no { + type string; + description + "Transceiver serial number"; + } + leaf optics-vendor-part { + type string; + description + "Transceiver vendors part number"; + } + leaf optics-type { + type string; + description + "Transceiver optics type"; + } + leaf vendor-name { + type string; + description + "Transceiver optics vendor name"; + } + leaf oui-no { + type string; + description + "Transceiver optics type"; + } + leaf optics-pid { + type string; + description + "Transceiver optics pid"; + } + leaf optics-vid { + type string; + description + "Transceiver optics vid"; + } + leaf connector-type { + type Fiber-connector; + description + "Connector type"; + } + leaf otn-application-code { + type Otn-application-code; + description + "Otn Application Code"; + } + leaf sonet-application-code { + type Sonet-application-code; + description + "Sonet Application Code"; + } + leaf ethernet-compliance-code { + type Ethernet-pmd; + description + "Ethernet Compliance Code"; + } + leaf internal-temperature { + type int32; + description + "Internal Temperature in units of C"; + } + } + + grouping OTS-EDM-ALARM-INFO { + description + "Ots Alarm Information"; + container low-tx-power { + description + "Low Tx Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx-power { + description + "Low Rx Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container rx-los-p { + description + "Rx LOS_P"; + uses OPTICS-ALARM-DETAIL; + } + container rx-loc { + description + "Rx LOC"; + uses OPTICS-ALARM-DETAIL; + } + container amp-gain-deg-low { + description + "Ampli Gain Deg Low"; + uses OPTICS-ALARM-DETAIL; + } + container amp-gain-deg-high { + description + "Ampli Gain Deg High"; + uses OPTICS-ALARM-DETAIL; + } + container auto-laser-shut { + description + "Auto Laser Shut"; + uses OPTICS-ALARM-DETAIL; + } + container auto-power-red { + description + "Auto Power Red"; + uses OPTICS-ALARM-DETAIL; + } + container auto-ampli-ctrl-disabled { + description + "Auto Ampli Ctrl Disabled"; + uses OPTICS-ALARM-DETAIL; + } + container auto-ampli-ctrl-config-mismatch { + description + "Auto Ampli Ctrl Config Mismatch"; + uses OPTICS-ALARM-DETAIL; + } + container switch-to-protect { + description + "Switch To Protect"; + uses OPTICS-ALARM-DETAIL; + } + container auto-ampli-ctrl-running { + description + "Auto Ampli Ctrl Running"; + uses OPTICS-ALARM-DETAIL; + } + } + + grouping OPTICS-ALARM-DETAIL { + description + " Optics Alarm Detail"; + leaf is-detected { + type boolean; + description + "Is defect detected?"; + } + leaf counter { + type uint32; + description + "Alarm counter"; + } + } + + grouping OPTICS-EDM-ALARM-INFO { + description + "Optics Alarm Information"; + container high-rx-power { + description + "High Rx Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx-power { + description + "Low Rx Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx-power { + description + "High Tx Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx-power { + description + "Low Tx Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-lbc { + description + "High laser bias current in units of percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-temperature { + description + "Low Temperature alarm"; + uses OPTICS-ALARM-DETAIL; + } + container high-temperature { + description + "High Temperature alarm"; + uses OPTICS-ALARM-DETAIL; + } + container low-voltage { + description + "Low Voltage alarm"; + uses OPTICS-ALARM-DETAIL; + } + container high-voltage { + description + "High Voltage alarm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx1-power { + description + "High Rx1 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx2-power { + description + "High Rx2 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx3-power { + description + "High Rx3 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx4-power { + description + "High Rx4 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx5-power { + description + "High Rx5 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx6-power { + description + "High Rx6 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx7-power { + description + "High Rx7 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-rx8-power { + description + "High Rx8 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx1-power { + description + "Low Rx1 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx2-power { + description + "Low Rx2 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx3-power { + description + "Low Rx3 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx4-power { + description + "Low Rx4 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx5-power { + description + "Low Rx5 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx6-power { + description + "Low Rx6 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx7-power { + description + "Low Rx7 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-rx8-power { + description + "Low Rx8 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx1-power { + description + "High Tx1 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx2-power { + description + "High Tx2 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx3-power { + description + "High Tx3 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx4-power { + description + "High Tx4 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx5-power { + description + "High Tx5 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx6-power { + description + "High Tx6 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx7-power { + description + "High Tx7 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx8-power { + description + "High Tx8 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx1-power { + description + "Low Tx1 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx2-power { + description + "Low Tx2 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx3-power { + description + "Low Tx3 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx4-power { + description + "Low Tx4 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx5-power { + description + "Low Tx5 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx6-power { + description + "Low Tx6 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx7-power { + description + "Low Tx7 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx8-power { + description + "Low Tx8 Power in units of 0.1 dBm"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx1lbc { + description + "High Tx1 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx2lbc { + description + "High Tx2 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx3lbc { + description + "High Tx3 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx4lbc { + description + "High Tx4 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx5lbc { + description + "High Tx5 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx6lbc { + description + "High Tx6 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx7lbc { + description + "High Tx7 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container high-tx8lbc { + description + "High Tx8 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx1lbc { + description + "Low Tx1 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx2lbc { + description + "Low Tx2 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx3lbc { + description + "Low Tx3 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx4lbc { + description + "Low Tx4 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx5lbc { + description + "Low Tx5 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx6lbc { + description + "Low Tx6 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx7lbc { + description + "Low Tx7 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container low-tx8lbc { + description + "Low Tx8 laser bias current in units of + percentage"; + uses OPTICS-ALARM-DETAIL; + } + container rx-los { + description + "RX LOS"; + uses OPTICS-ALARM-DETAIL; + } + container tx-los { + description + "TX LOS"; + uses OPTICS-ALARM-DETAIL; + } + container rx-lol { + description + "RX LOL"; + uses OPTICS-ALARM-DETAIL; + } + container tx-lol { + description + "TX LOL"; + uses OPTICS-ALARM-DETAIL; + } + container tx-fault { + description + "TX Fault"; + uses OPTICS-ALARM-DETAIL; + } + container hidgd { + description + "HI DGD"; + uses OPTICS-ALARM-DETAIL; + } + container oorcd { + description + "OOR CD"; + uses OPTICS-ALARM-DETAIL; + } + container osnr { + description + "OSNR"; + uses OPTICS-ALARM-DETAIL; + } + container wvlool { + description + "WVL OOL"; + uses OPTICS-ALARM-DETAIL; + } + container mea { + description + "MEA"; + uses OPTICS-ALARM-DETAIL; + } + container imp-removal { + description + "IMPROPER REM"; + uses OPTICS-ALARM-DETAIL; + } + container rx-loc { + description + "Rx LOC"; + uses OPTICS-ALARM-DETAIL; + } + container amp-gain-deg-low { + description + "Ampli Gain Deg Low"; + uses OPTICS-ALARM-DETAIL; + } + container amp-gain-deg-high { + description + "Ampli Gain Deg High"; + uses OPTICS-ALARM-DETAIL; + } + container txpwr-mismatch { + description + "TX POWER PROV MISMATCH"; + uses OPTICS-ALARM-DETAIL; + } + container ingress-amp-gain-deg-low { + description + "Ingress Ampli Gain Deg Low"; + uses OPTICS-ALARM-DETAIL; + } + container ingress-amp-gain-deg-high { + description + "Ingress Ampli Gain Deg High"; + uses OPTICS-ALARM-DETAIL; + } + container egress-amp-gain-deg-low { + description + "egress Ampli Gain Deg Low"; + uses OPTICS-ALARM-DETAIL; + } + container egress-amp-gain-deg-high { + description + "egress Ampli Gain Deg High"; + uses OPTICS-ALARM-DETAIL; + } + } + + grouping LANE-ALARM-DETAIL { + description + " Lane Alarm Detail"; + leaf is-detected { + type boolean; + description + "Is defect detected?"; + } + leaf counter { + type uint32; + description + "Alarm counter"; + } + } + + grouping LANE-EDM-ALARM-INFO { + description + " Lane Information Detail"; + container high-rx-power { + description + "High Rx Power"; + uses LANE-ALARM-DETAIL; + } + container low-rx-power { + description + "Low Rx Power"; + uses LANE-ALARM-DETAIL; + } + container high-tx-power { + description + "High Tx Power"; + uses LANE-ALARM-DETAIL; + } + container low-tx-power { + description + "Low Tx Power"; + uses LANE-ALARM-DETAIL; + } + container high-lbc { + description + "High laser bias current"; + uses LANE-ALARM-DETAIL; + } + } + + grouping OPTICS-EDM-LANE-DATA { + description + "Grey lane data"; + container lane-alarm-info { + description + "Lane Alarm Information"; + uses LANE-EDM-ALARM-INFO; + } + leaf lane-index { + type uint32; + description + "The index number of the lane"; + } + leaf laser-bias-current-percent { + type uint32; + units "percentage"; + description + "Laser Bias Current in units of 0.01 percentage"; + } + leaf laser-bias-current-milli-amps { + type uint32; + description + "Laser Bias Current in units of 0.01mA"; + } + leaf transmit-power { + type int32; + description + "Transmit power in the units of 0.01dBm"; + } + leaf receive-power { + type int32; + description + "Transponder receive power in the units of 0 + .01dBm"; + } + leaf receive-signal-power { + type int32; + description + "Transponder receive signal power in the units of + 0.01dBm"; + } + leaf transmit-signal-power { + type int32; + description + "Transmit Signal power in the units of 0.01dBm"; + } + leaf output-frequency { + type int32; + description + "Output frequency read from hw in the units of + 100MHz"; + } + leaf frequency-offset { + type int32; + description + "Frequency Offset read from hw in units of MHz"; + } + leaf frequency100mhz { + type uint32; + description + "Output frequency read from HW in resolution of + 100MHz"; + } + leaf laser-temperature { + type int32; + description + "Laser Temperature value in units of 0.01 C"; + } + leaf laser-age { + type uint32; + units "percentage"; + description + "Laser Age in 1percent"; + } + leaf dac-rate { + type string; + description + "DAC Rate"; + } + leaf transmit-powerm-w { + type int32; + description + "Transmit power in the units of 0.01mW"; + } + leaf receive-powerm-w { + type int32; + description + "Transmit power in the units of 0.01mW"; + } + leaf description { + type string; + description + "Description"; + } + } + + grouping OPTICS-EDM-NETWORK-SRLG-STRUCTURE { + description + "Network SRLG Information"; + leaf set-number { + type uint32; + description + "Array to maintain set number"; + } + leaf-list network-srlg { + type uint32; + description + "Network Srlg"; + } + } + + grouping OPTICS-EDM-NETWORK-SRLG-INFO { + description + "Network SRLG Information Array"; + list network-srlg-array { + description + "Network Srlg Array"; + uses OPTICS-EDM-NETWORK-SRLG-STRUCTURE; + } + } + + grouping OPTICS-EDM-INFO { + description + "optics transponder information"; + container network-srlg-info { + description + "Network SRLG information"; + uses OPTICS-EDM-NETWORK-SRLG-INFO; + } + container optics-alarm-info { + description + "Optics Alarm Information"; + uses OPTICS-EDM-ALARM-INFO; + } + container ots-alarm-info { + description + "Ots Alarm Information"; + uses OTS-EDM-ALARM-INFO; + } + container transceiver-info { + description + "Transceiver Vendor Details"; + uses OPTICS-TRANSCEIVER-DATA; + } + container raman-tx-power-config { + description + "Raman Tx Power"; + uses OPTICS-RAMAN-PARAM; + } + container ext-param-val { + description + "Extended optics parameters"; + uses OPTICS-EXT-PARAM; + } + container ext-param-threshold-val { + description + "Extended optics parameters threshold values"; + uses OPTICS-EXT-THRESHOLD-PARAM; + } + container extended-alarm-alarm-info { + description + "Extended DOM alarm Information"; + uses EXT-PARAM-EDM-ALARM-INFO; + } + container ains-info { + description + "AINS information"; + uses OPTICS-AINS-HW-INFO; + } + container submarine-info { + description + "Submarine information"; + uses OPTICS-SUBMARINE-INFO; + } + container raman-tx-power { + description + "Raman Tx Power"; + uses OPTICS-RAMAN-PARAM; + } + container transmit-n-power { + description + "Transmit N Power in the unit of 0.01dBm"; + uses OTS-TRANSMIT-POWER; + } + container receive-n-power { + description + "Receive N Power in the unit of 0.01dBm"; + uses OTS-RECEIVE-POWER; + } + container ingress-channel-slice-attenuation { + description + "Ingress Channel Slice Attenuation in units of 0 + .1 dB"; + uses OTS-INGRESS-CHANNEL-SLICE-PARAM; + } + container egress-channel-slice-attenuation { + description + "Egress Channel Slice Attenuation in units of 0.1 + dB"; + uses OTS-EGRESS-CHANNEL-SLICE-PARAM; + } + container ingress-channel-slice-attenuation-configured { + description + "Ingress Channel Slice Attenuation Configured in + units of 0.1 dB"; + uses OTS-INGRESS-CHANNEL-SLICE-PARAM; + } + container egress-channel-slice-attenuation-configured { + description + "Egress Channel Slice Attenuation Configured in + units of 0.1 dB"; + uses OTS-EGRESS-CHANNEL-SLICE-PARAM; + } + leaf transport-admin-state { + type Optics-tas; + description + "Transport Admin State"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf optics-present { + type boolean; + description + "Is Optics Present?"; + } + leaf optics-type { + type Optics; + description + "Old Optics type name, Use Derived Optics type"; + } + leaf derived-optics-type { + type string; + description + "Derived Optics type name"; + } + leaf optics-module { + type string; + description + "Optics module name"; + } + leaf dwdm-carrier-band { + type Optics-wave-band; + description + "DWDM Carrier Band information"; + } + leaf dwdm-carrier-channel { + type string; + description + "Current ITU DWDM Carrier channel number"; + } + leaf dwdm-carrier-frequency { + type string; + description + "DWDM Carrier frequency read from hw in the units + of 1THz"; + } + leaf dwdm-carrier-wavelength { + type string; + description + "Wavelength of color optics 0.001nm"; + } + leaf grey-wavelength { + type uint32; + description + "Wavelength of grey optics 0.01nm"; + } + leaf rx-low-threshold { + type int32; + description + "Rx Low threshold value in units of 0.1dBm"; + } + leaf rx-high-threshold { + type int32; + description + "Rx High threshold value in units of 0.1dBm"; + } + leaf lbc-high-threshold { + type int32; + units "percentage"; + description + "LBC High threshold value in units of percentage"; + } + leaf tx-low-threshold { + type int32; + description + "Tx Low threshold value in units of 0.1dBm"; + } + leaf tx-high-threshold { + type int32; + description + "Tx High threshold value in units of 0.1dBm"; + } + leaf lbc-th-high-default { + type int32; + description + "LBC high threshold default value in units of 0 + .001mA"; + } + leaf lbc-th-low-default { + type int32; + description + "LBC low threshold default value in units of 0 + .001mA"; + } + leaf temp-low-threshold { + type int32; + description + "Temp Low threshold value in the units 0.01C"; + } + leaf temp-high-threshold { + type int32; + description + "Temp High threshold value in the units of 0.01C"; + } + leaf volt-low-threshold { + type int32; + description + "Volt Low threshold value in the units of 0.01V"; + } + leaf volt-high-threshold { + type int32; + description + "Volt High threshold value in the units of 0.01V"; + } + leaf cd { + type int32; + description + "Chromatic Dispersion ps/nm"; + } + leaf cd-min { + type int32; + description + "Chromatic Dispersion Min ps/nm"; + } + leaf cd-max { + type int32; + description + "Chromatic Dispersion Max ps/nm"; + } + leaf cd-low-threshold { + type int32; + description + "Chromatic Dispersion low threshold ps/nm"; + } + leaf cd-high-threshold { + type int32; + description + "Chromatic Dispersion high threshold ps/nm"; + } + leaf osnr-low-threshold { + type string; + description + "OSNR low threshold in 0.01 dB"; + } + leaf dgd-high-threshold { + type string; + description + "DGD high threshold in 0.1 ps"; + } + leaf polarization-mode-dispersion { + type string; + description + "Polarization Mode Dispersion 0.1ps"; + } + leaf second-order-polarization-mode-dispersion { + type string; + description + "Second Order Polarization Mode Dispersion 0 + .1ps^2"; + } + leaf optical-signal-to-noise-ratio { + type string; + description + "Optical Signal to Noise Ratio dB"; + } + leaf polarization-dependent-loss { + type string; + description + "Polarization Dependent Loss dB"; + } + leaf polarization-change-rate { + type string; + description + "Polarization Change Rate rad/s"; + } + leaf differential-group-delay { + type string; + description + "Differential Group Delay ps"; + } + leaf phase-noise { + type string; + description + "Phase Noise dB"; + } + leaf pm-enable { + type uint32; + description + "PmEable or Disable"; + } + leaf laser-state { + type Optics-laser-state; + description + "Showing laser state.Either ON or OFF or unknown"; + } + leaf modulation-type { + type Optics-modulation; + description + "Available Modulation Types"; + } + leaf led-state { + type Optics-led-state; + description + "Showing Current Colour of led state"; + } + leaf controller-state { + type Optics-controller-state; + description + "Optics controller state: Up, Down or + Administratively Down"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf form-factor { + type Optics-form-factor; + description + "Optics form factor"; + } + leaf phy-type { + type Optics-phy; + description + "Optics physical type"; + } + leaf cfg-tx-power { + type int32; + description + "Configured Tx power value in units of 0.1dB"; + } + leaf cfg-tx-power-configurable { + type boolean; + description + "TX Power Configuration is supported or not"; + } + leaf temperature { + type int32; + description + "Temperature value in units of 0.01 C"; + } + leaf voltage { + type int32; + description + "Voltage value in units of 0.01V"; + } + leaf display-volt-temp { + type boolean; + description + "Display Volt/Temp ?"; + } + leaf cd-configurable { + type boolean; + description + "CD Configurable is supported or not"; + } + leaf optics-fec { + type Optics-fec; + description + "Optics FEC"; + } + leaf skip-snmp-pm-table { + type int32; + description + "PM enabled or not"; + } + leaf port-type { + type Optics-port; + description + "Showing port type"; + } + leaf port-status { + type Optics-port-status; + description + "Showing port status"; + } + leaf rx-voa-attenuation { + type int32; + description + "Rx Voa Attenuation in the units of 0.01dB"; + } + leaf tx-voa-attenuation { + type int32; + description + "Tx Voa Attenuation in the units of 0.01dB"; + } + leaf ampli-gain { + type int32; + description + "Ampli Gain in the units of 0.01dBm"; + } + leaf ampli-tilt { + type int32; + description + "Ampli Tilt in the units of 0.01dBm"; + } + leaf rx-power-th-configurable { + type boolean; + description + "rx power th configurable"; + } + leaf tx-power-th-configurable { + type boolean; + description + "tx power th configurable"; + } + leaf rx-voa-attenuation-config-val { + type int32; + description + "RX VOA attenuation configured value in units of + 0.01dB"; + } + leaf tx-voa-attenuation-config-val { + type int32; + description + "TX VOA attenuation configured value in units of + 0.01dB"; + } + leaf ampli-control-mode-config-val { + type Optics-amplifier-control-mode; + description + "ampli control mode config val"; + } + leaf ampli-gain-range-config-val { + type Optics-amplifier-gain-range; + description + "ampli gain range config val"; + } + leaf ampli-gain-config-val { + type int32; + description + "Ampli gain configured value in units of 0.1dB"; + } + leaf ampli-tilt-config-val { + type int32; + description + "Ampli tilt configured value in units of 0.1dB"; + } + leaf ampli-channel-power-config-val { + type int32; + description + "Ampli channel power configured value in units of + 0.1dBm"; + } + leaf channel-power-max-delta-config-val { + type int32; + description + "Channel power max delta configured value in + units of 0.1 dBm"; + } + leaf ampli-gain-thr-deg-low-config-val { + type int32; + description + "Ampli gain low degrade threshold configured + value in units of 0.1dBm"; + } + leaf ampli-gain-thr-deg-high-config-val { + type int32; + description + "Ampli gain high degrade threshold configured + value in units of 0.1dBm"; + } + leaf ampli-channel-psd-config-val { + type int32; + description + "Ampli channel psd configured value in units of 0 + .001 nW/MHz"; + } + leaf rx-low-th-psd-config-val { + type int32; + description + "Rx Low threshold psd value in units of 0.001 + nW/MHz"; + } + leaf osri-config-val { + type boolean; + description + "osri config val"; + } + leaf tx-config-val { + type boolean; + description + "tx config val"; + } + leaf rx-config-val { + type boolean; + description + "rx config val"; + } + leaf rx-thr-fail-low-delta-val { + type int32; + description + "rx thr fail low delta val"; + } + leaf safety-control-mode-config-val { + type Optics-amplifier-safety-control-mode; + description + "safety control mode config val"; + } + leaf total-rx-power { + type int32; + description + "Total Receive Power for Multi-Lane Optics in + units of 0.01 dBm"; + } + leaf total-tx-power { + type int32; + description + "Total Transmit Power for Multi-Lane Optics in + units of 0.01 dBm"; + } + leaf is-bo-configured { + type boolean; + description + "Is BO configured ?"; + } + leaf ingress-ampli-gain-range-config-val { + type Optics-amplifier-gain-range; + description + "ingress ampli gain range config val"; + } + leaf ingress-ampli-gain-config { + type string; + description + "Ingress Ampli gain configured value in units of + 0.1dB"; + } + leaf ingress-ampli-tilt-config { + type string; + description + "Ingress Ampli tilt configured value in units of + 0.1dB"; + } + leaf ingress-ampli-thr-deg-low-config { + type string; + description + "Ingress Ampli gain low degrade threshold + configured value in units of 0.1dB"; + } + leaf ingress-ampli-thr-deg-high-config { + type string; + description + "Ingress Ampli gain high degrade threshold + configured value in units of 0.1dB"; + } + leaf egress-ampli-gain-range-config-val { + type Optics-amplifier-gain-range; + description + "egress ampli gain range config val"; + } + leaf egress-ampli-gain-config { + type string; + description + "Egress Ampli gain configured value in units of 0 + .1dB"; + } + leaf egress-ampli-tilt-config { + type string; + description + "Egress Ampli tilt configured value in units of 0 + .1dB"; + } + leaf egress-ampli-gain-thr-deg-low-config { + type string; + description + "Egress Ampli gain low degrade threshold + configured value in units of 0.1dB"; + } + leaf egress-ampli-gain-thr-deg-high-config { + type string; + description + "Egress Ampli gain high degrade threshold + configured value in units of 0.1dB"; + } + leaf is-ext-param-valid { + type boolean; + description + "Are the Extended Parameters Valid ?"; + } + leaf alarm-detected { + type boolean; + description + "Are there any alarms ?"; + } + leaf rx-low-warning-threshold { + type int32; + description + "Rx Low Warning threshold value in units of 0 + .1dBm"; + } + leaf rx-high-warning-threshold { + type int32; + description + "Rx High Warning threshold value in units of 0 + .1dBm"; + } + leaf tx-low-warning-threshold { + type int32; + description + "Tx Low Warning threshold value in units of 0 + .1dBm"; + } + leaf tx-high-warning-threshold { + type int32; + description + "Tx High Warning threshold value in units of 0 + .1dBm"; + } + leaf lbc-th-high-warning-default { + type int32; + description + "LBC high Warning threshold default value in + units of 0.001mA"; + } + leaf lbc-th-low-warning-default { + type int32; + description + "LBC low warning threshold default value in units + of 0.001mA"; + } + leaf temp-low-warning-threshold { + type int32; + description + "Temp Low warning threshold value in the units 0 + .01C"; + } + leaf temp-high-warning-threshold { + type int32; + description + "Temp High warning threshold value in the units + of 0.01C"; + } + leaf volt-low-warning-threshold { + type int32; + description + "Volt Low warning threshold value in the units of + 0.01V"; + } + leaf volt-high-warning-threshold { + type int32; + description + "Volt High warning threshold value in the units + of 0.01V"; + } + leaf description { + type string; + description + "Controller description string"; + } + leaf ampli-gain-range { + type Optics-amplifier-gain-range; + description + "Ampli gain range"; + } + leaf safety-control-mode { + type Optics-amplifier-safety-control-mode; + description + "Safety control mode"; + } + leaf osri { + type boolean; + description + "OSRI"; + } + leaf tx-enable { + type boolean; + description + "TX Enable"; + } + leaf rx-enable { + type boolean; + description + "RX Enable"; + } + leaf is-optics-type-string-valid { + type boolean; + description + "Is the Optics type string valid ?"; + } + leaf optics-type-str { + type string; + description + "optics type String"; + } + leaf rx-low-threshold-current { + type int32; + description + "Rx Low threshold actual value in units of 0.1dBm"; + } + leaf rx-span-loss { + type int32; + description + "RX Span Loss in units of 0.01 dB"; + } + leaf tx-span-loss { + type int32; + description + "TX Span Loss in units of 0.01 dB"; + } + leaf baud-rate { + type string; + description + "Baud Rate in GBd"; + } + leaf bits-per-symbol { + type string; + description + "Bits per Symbol"; + } + leaf rx-low-threshold-delta { + type int32; + description + "Rx Low threshold delta value in units of 0.1dB"; + } + leaf wait-to-restore { + type uint32; + units "second"; + description + "elapse time to trigger psm revert in units of + seconds"; + } + leaf channel-width { + type uint32; + description + "Channel Width"; + } + leaf channel-central-freq { + type uint64; + description + "Channel Central Frequency"; + } + leaf rx-psd { + type string { + length "0..16"; + } + description + "Received Power spectral density in microwatts + per megahertz, uW/MHz"; + } + leaf tx-psd { + type string { + length "0..16"; + } + description + "Transmit Power spectral density in microwatts + per megahertz, uW/MHz"; + } + leaf snr { + type string; + description + "Signal to Noise Ratio dB"; + } + leaf back-reflection { + type int32; + description + "Back Reflected Transmit Power in units of 0.1dBm"; + } + leaf cd-display { + type boolean; + description + "CD param to be displayed only"; + } + leaf cfg-tx-power-display { + type boolean; + description + "Config Tx power to be displayed only"; + } + leaf add-drop-channel { + type string; + description + "Add Drop Channel R/S/I/P/ch"; + } + leaf line-channel { + type string; + description + "Line Channel R/S/I/P/ch"; + } + leaf ingress-ampli-gain { + type string; + description + "Ingress Ampli Gain in the unit of 0.1dB"; + } + leaf ingress-ampli-tilt { + type string; + description + "Ingress Ampli Tilt in the unit of 0.1dB"; + } + leaf ingress-ampli-gain-range { + type Optics-amplifier-gain-range; + description + "Ingress Ampli gain range"; + } + leaf egress-ampli-gain { + type string; + description + "Egress Ampli Gain in the unit of 0.1dB"; + } + leaf egress-ampli-tilt { + type string; + description + "Egress Ampli Tilt in the unit of 0.1dB"; + } + leaf egress-ampli-gain-range { + type Optics-amplifier-gain-range; + description + "Egress Ampli gain range"; + } + leaf composite-raman-power { + type string; + description + "Composite Raman Power"; + } + leaf central-frequncy { + type string; + description + "frequency read from hw in the units of THz"; + } + leaf wavelength { + type string; + description + "Wavelength in unit of dB"; + } + leaf total-cl-tx-power { + type string; + description + "Total (L+C)-transmit Power in the unit of 0 + .01dBm"; + } + leaf total-cl-rx-power { + type string; + description + "Total (L+C)-receive Power in the unit of 0.01dBm"; + } + leaf ingress-ampli-osri { + type boolean; + description + "Ingress Ampli Osri"; + } + leaf egress-ampli-osri { + type boolean; + description + "Egress Ampli Osri"; + } + leaf ingress-ampli-force-apr { + type boolean; + description + "Ingress Ampli Force Apr"; + } + leaf egress-ampli-force-apr { + type boolean; + description + "Egress Ampli Force Apr"; + } + leaf egress-ampli-br { + type Ots-back-reflection-state; + description + "Egress Ampli Br"; + } + leaf ingress-ampli-safety-control-mode { + type Optics-amplifier-safety-control-mode; + description + "Ingress Ampli Safety control mode"; + } + leaf egress-ampli-safety-control-mode { + type Optics-amplifier-safety-control-mode; + description + "Egress Ampli Safety control mode"; + } + leaf ingress-ampli-safety-control-mode-configured { + type Optics-amplifier-safety-control-mode; + description + "Ingress Ampli Safety Control Mode Configured"; + } + leaf egress-ampli-safety-control-mode-configured { + type Optics-amplifier-safety-control-mode; + description + "Egress Ampli Safety Control Mode Configured"; + } + leaf egress-br-high-threshold { + type int32; + description + "Egress Br High Threshold in units of 0.1 dBm"; + } + leaf ingress-ampli-osri-configured { + type boolean; + description + "Ingress Ampli Osri Configured"; + } + leaf egress-ampli-osri-configured { + type boolean; + description + "Egress Ampli Osri Configured"; + } + leaf ingress-ampli-force-apr-configured { + type boolean; + description + "Ingress Ampli Force Apr Configured"; + } + leaf egress-ampli-force-apr-configured { + type boolean; + description + "Egress Ampli Force Apr Configured"; + } + leaf egress-ampli-br-configured { + type Ots-back-reflection-state; + description + "Egress Ampli Br Configured"; + } + leaf raman-safety-control-mode { + type Optics-amplifier-safety-control-mode; + description + "Raman Safety control mode"; + } + leaf raman-safety-control-mode-configured { + type Optics-amplifier-safety-control-mode; + description + "Raman Safety control mode Configured"; + } + leaf raman-osri { + type boolean; + description + "Raman Osri"; + } + leaf raman-force-apr { + type boolean; + description + "Raman Force Apr"; + } + leaf raman-br { + type Ots-back-reflection-state; + description + "Raman Br"; + } + leaf raman-br-high-threshold { + type int32; + description + "Raman Br High Threshold in units of 0.1 dBm"; + } + leaf raman-osri-configured { + type boolean; + description + "Raman Osri Configured"; + } + leaf raman-force-apr-configured { + type boolean; + description + "Raman Force Apr Configured"; + } + leaf raman-br-configured { + type Ots-back-reflection-state; + description + "Raman Br Configured"; + } + leaf channel-attenuation { + type int32; + description + "Channel Attenuation in units of 0.1 dB"; + } + leaf channel-attenuation-configured { + type int32; + description + "Channel Attenuation Configured in units of 0.1 + dB"; + } + leaf dac-rate-type { + type Optics-dac-rate; + description + "Available Dac Rate Types"; + } + leaf dac-rate-configured { + type Optics-dac-rate; + description + "DAC Rate"; + } + leaf rx-high-thresholdm-w { + type int32; + description + "Rx High threshold value in units of 0.1mW"; + } + leaf rx-low-thresholdm-w { + type int32; + description + "Rx low threshold value in units of 0.1mW"; + } + leaf rx-high-warning-thresholdm-w { + type int32; + description + "Rx High Warning threshold value in units of 0 + .1mW"; + } + leaf rx-low-warning-thresholdm-w { + type int32; + description + "Rx Low Warning threshold value in units of 0.1mW"; + } + leaf tx-low-thresholdm-w { + type int32; + description + "Tx Low threshold value in units of 0.1mW"; + } + leaf tx-high-thresholdm-w { + type int32; + description + "Tx High threshold value in units of 0.1mW"; + } + leaf tx-high-warning-thresholdm-w { + type int32; + description + "Tx High Warning threshold value in units of 0 + .1mW"; + } + leaf tx-low-warning-thresholdm-w { + type int32; + description + "Tx Low Warning threshold value in units of 0.1mW"; + } + leaf cfg-tx-powerm-w { + type int32; + description + "Configured Tx power value in units of 0.1mW"; + } + leaf total-rx-powerm-w { + type int32; + description + "Total Receive Power for Multi-Lane Optics in + units of 0.1 mW"; + } + leaf total-tx-powerm-w { + type int32; + description + "Total Transmit Power for Multi-Lane Optics in + units of 0.1 mW"; + } + leaf loopback-host { + type Optics-loopback-types; + description + "loopback for host"; + } + leaf loopback-media { + type Optics-loopback-types; + description + "loopback for media"; + } + list lane-data { + description + "Lane information"; + uses OPTICS-EDM-LANE-DATA; + } + } + + grouping OTS-EDM-SPECTRUM-POWER-INFO { + description + "OTS EDM SPECTRUM POWER INFO"; + leaf slice-num { + type uint32; + description + "spectrum slice number"; + } + leaf lower-frequency { + type uint64; + description + "Lower frequency of the specified PSD"; + } + leaf upper-frequency { + type uint64; + description + "Upper frequency of the specified PSD"; + } + leaf rx-power { + type int32; + description + "Received Power in dBm multiplied by 100"; + } + leaf tx-power { + type int32; + description + "Transmit Power in dBm multiplied by 100"; + } + leaf rx-psd { + type string { + length "0..16"; + } + description + "Received Power spectral density in microwatts + per megahertz, uW/MHz"; + } + leaf tx-psd { + type string { + length "0..16"; + } + description + "Transmit Power spectral density in microwatts + per megahertz, uW/MHz"; + } + } + + grouping OTS-EDM-SPECTRUM-INFO { + description + "power information of slices in optical spectrum"; + leaf total-spectrum-slice-count { + type uint32; + description + "Total number of slices in Spectrum"; + } + leaf spectrum-slice-spacing { + type uint32; + description + "Spacing between spectrum slices"; + } + leaf first-slice-wavelength { + type string { + length "0..32"; + } + description + "Wavelength of first slice"; + } + list spectrum-slice-power-info { + description + "Power information of spectrum slice info"; + uses OTS-EDM-SPECTRUM-POWER-INFO; + } + } + + grouping OPTICS-EDM-SPECTRUM-INFO { + description + "optics spectrum information"; + container spectrum-info { + description + "OTS Spectrum information"; + uses OTS-EDM-SPECTRUM-INFO; + } + } + + grouping OPTICS-EDM-CHANNEL-WAVELENGTH-MAP-INFO { + description + "OPTICS EDM CHANNEL WAVELENGTH MAP INFO"; + leaf itu-chan-num { + type uint32; + description + "ITU channel number"; + } + leaf chan-index { + type uint32; + description + "channel Index"; + } + leaf g694-chan-num { + type int32; + description + "G694 channel number"; + } + leaf frequency { + type string { + length "0..32"; + } + description + "Frequency"; + } + leaf wavelength { + type string { + length "0..32"; + } + description + "Wavelength"; + } + } + + grouping OPTICS-EDM-WAVE-INFO { + description + "wavelength channel mapping information"; + leaf dwdm-carrier-band { + type Optics-wave-band; + description + "DWDM carrier band"; + } + leaf dwdm-carrier-min { + type uint32; + description + "Lowest DWDM carrier supported"; + } + leaf dwdm-carrier-max { + type uint32; + description + "Highest DWDM carrier supported"; + } + list dwdm-carrier-map-info { + description + "DWDM carrier mapping info"; + uses OPTICS-EDM-CHANNEL-WAVELENGTH-MAP-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub2.yang new file mode 100644 index 000000000..f8fa43cb1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper-sub2.yang @@ -0,0 +1,1673 @@ +submodule Cisco-IOS-XR-controller-optics-oper-sub2 { + belongs-to Cisco-IOS-XR-controller-optics-oper { + prefix Cisco-IOS-XR-controller-optics-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR controller-optics package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-23 { + description + "Added support for optics observable data. + 2023-02-24 + Leaf loopback-host and loopback-media added for optics controller. + 2022-07-28 + enum added for new Optics Phy Type for 400G AEC + 2022-02-03 + Added power fields in mW unit in Grey lane data + 2022-01-27 + Added power fields for mW unit in optics transponder information + 2022-01-07 + enum added for new Optics Phy Type for 400G SR8 module + 2022-01-06 + New Enum OPTICS_PHY_TYPE_1G_LH are added in enum OpticsPhyType + 2021-12-03 + enumadded for new Optics Phy Type for 200G FR4 modules + 2021-11-22 + Added threshold fields for mW unit in optics transponder information + 2021-11-03 + Added Dac Rate field in optics_edm_info."; + semver:module-version "5.1.0"; + } + revision 2021-09-17 { + description + "enumadded for new Optics Phy Type for 200G Cu, 200G AOC, 2x200G CU and 2x200G AOC modules + 2021-07-30 + New Enum OPTICS_PHY_TYPE_100G_ERL are added in enum OpticsPhyType + 2021-07-06 + enum added for new Optics Phy Type for 4x100G LR module + 2021-06-22 + New OPTICS_PHY_TYPE_16G_FC,OPTICS_PHY_TYPE_32G_FC are added in enum OpticsPhyType + 2021-06-21 + New Enums added for FibreChannel 16G and 32G Optics Phy type + 2021-06-10 + New parameters added in bag + 2021-05-27 + DAC rate and Laser temperature and laser age Added for Optics Controller"; + semver:module-version "5.0.0"; + } + revision 2021-04-14 { + description + "New Enums added for Multirate Optics Phy type + 2021-03-22 + New Enums added for Optics Phy type + 2021-02-23 + enum added for new Optics Phy Type for 400G LR4 module + 2021-02-19 + enum added for 1 new Optics Phy Type and new value added to enum EthernetPmdType + 2021-02-17 + New OPTICS_ETH_100GBASE_DR_S added to enum EthernetPmdType + 2021-01-18 + Added 2 enums for New FEC Type. + 2020-12-23 + New value added to enum EthernetPmdType + 2020-11-24 + Enum value in optics_modulation_type is changed from MODE_16QAM_32QAM to MOD_16QAM_32QAM + 2020-11-10 + enum added for 1 new Optics Phy Type for 100G DR-S optics module + 2020-09-10 + removed optics_edm_fastpoll_info and added new bag optics_edm_fastpoll_data + 2020-08-02 + New values added to enum FiberConnectorType + 2020-07-24 + New value added in optics yang for FastPollInfo + 2020-07-14 + New value added to enum EthernetPmdType"; + semver:module-version "4.0.0"; + } + revision 2020-04-26 { + description + "New value added to enum EthernetPmdType + 2020-02-24 + enum added for OTN Application code. + 2020-02-19 + enum added for 1 new Optics Phy Type + 2020-01-31 + enum added for 1 new Optics Phy Type + 2020-01-27 + Added new parameters in optics bag to display parameters which are not configurable + 2019-12-05 + enum added for 2 new OTN Application codes. + 2019-11-30 + Back Reflection data field is added in bag. + 2019-09-30 + chan_num data field is added to support L-Band frequency range."; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Observable-lane-id { + type enumeration { + enum "lane0" { + value 0; + description + "Lane0"; + } + enum "lane1" { + value 1; + description + "Lane1"; + } + enum "lane2" { + value 2; + description + "Lane2"; + } + enum "lane3" { + value 3; + description + "Lane3"; + } + enum "lane4" { + value 4; + description + "Lane4"; + } + enum "lane5" { + value 5; + description + "Lane5"; + } + enum "lane6" { + value 6; + description + "Lane6"; + } + enum "lane7" { + value 7; + description + "Lane7"; + } + enum "lane8" { + value 8; + description + "Lane8"; + } + enum "lane9" { + value 9; + description + "Lane9"; + } + enum "lane10" { + value 10; + description + "Lane10"; + } + enum "lane11" { + value 11; + description + "Lane11"; + } + enum "lane12" { + value 12; + description + "Lane12"; + } + enum "module" { + value 255; + description + "Module"; + } + } + description + "Enumeration of lane/module identifiers"; + } + + grouping FERC-CURR-HOST-INPUT-INFO { + description + "FERC current host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Current value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping FERC-CURR-MEDIA-INPUT-INFO { + description + "FERC current media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Current value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping FERC-AVG-HOST-INPUT-INFO { + description + "FERC average host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Average value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping FERC-AVG-MEDIA-INPUT-INFO { + description + "FERC average media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Average value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping FERC-MAX-HOST-INPUT-INFO { + description + "FERC maximum host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Maximum value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping FERC-MAX-MEDIA-INPUT-INFO { + description + "FERC maximum media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Maximum value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping FERC-MIN-HOST-INPUT-INFO { + description + "FERC minimum host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Minimum value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping FERC-MIN-MEDIA-INPUT-INFO { + description + "FERC minimum media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Minimum value"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-CURR-HOST-INPUT-INFO { + description + "Pre-FEC BER current host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Current value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-CURR-MEDIA-INPUT-INFO { + description + "Pre-FEC BER current media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Current value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-AVG-HOST-INPUT-INFO { + description + "Pre-FEC BER average host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Average value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-AVG-MEDIA-INPUT-INFO { + description + "Pre-FEC BER average media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Average value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-MAX-HOST-INPUT-INFO { + description + "Pre-FEC BER maximum host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Maximum value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-MAX-MEDIA-INPUT-INFO { + description + "Pre-FEC BER maximum media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Maximum value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-MIN-HOST-INPUT-INFO { + description + "Pre-FEC BER minimum host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Minimum value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PRE-FEC-BER-MIN-MEDIA-INPUT-INFO { + description + "Pre-FEC BER minimum media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint64; + description + "Minimum value scaled by 10^18"; + } + leaf low-warning-val { + type uint64; + description + "Low warning threshold value scaled by 10^18"; + } + leaf high-warning-val { + type uint64; + description + "High warning threshold value scaled by 10^18"; + } + leaf low-alarm-val { + type uint64; + description + "Low alarm threshold value scaled by 10^18"; + } + leaf high-alarm-val { + type uint64; + description + "High alarm threshold value scaled by 10^18"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PAM4-LVL-TRANSITION-PARAM-HOST-INPUT-INFO { + description + "PAM4 level transition parameter host input + information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint16; + description + "Current value in units of 1/256 dB"; + } + leaf low-warning-val { + type uint16; + description + "Low warning threshold value in units of 1/256 dB"; + } + leaf high-warning-val { + type uint16; + description + "High warning threshold value in units of 1/256 + dB"; + } + leaf low-alarm-val { + type uint16; + description + "Low alarm threshold value in units of 1/256 dB"; + } + leaf high-alarm-val { + type uint16; + description + "High alarm threshold value in units of 1/256 dB"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping PAM4-LVL-TRANSITION-PARAM-MEDIA-INPUT-INFO { + description + "PAM4 level transition parameter media input + information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint16; + description + "Current value in units of 1/256 dB"; + } + leaf low-warning-val { + type uint16; + description + "Low warning threshold value in units of 1/256 dB"; + } + leaf high-warning-val { + type uint16; + description + "High warning threshold value in units of 1/256 + dB"; + } + leaf low-alarm-val { + type uint16; + description + "Low alarm threshold value in units of 1/256 dB"; + } + leaf high-alarm-val { + type uint16; + description + "High alarm threshold value in units of 1/256 dB"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping ESNR-HOST-INPUT-INFO { + description + "ESNR host input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint16; + description + "Current value in units of 1/256 dB"; + } + leaf low-warning-val { + type uint16; + description + "Low warning threshold value in units of 1/256 dB"; + } + leaf high-warning-val { + type uint16; + description + "High warning threshold value in units of 1/256 + dB"; + } + leaf low-alarm-val { + type uint16; + description + "Low alarm threshold value in units of 1/256 dB"; + } + leaf high-alarm-val { + type uint16; + description + "High alarm threshold value in units of 1/256 dB"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping ESNR-MEDIA-INPUT-INFO { + description + "ESNR media input information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type uint16; + description + "Current value in units of 1/256 dB"; + } + leaf low-warning-val { + type uint16; + description + "Low warning threshold value in units of 1/256 dB"; + } + leaf high-warning-val { + type uint16; + description + "High warning threshold value in units of 1/256 + dB"; + } + leaf low-alarm-val { + type uint16; + description + "Low alarm threshold value in units of 1/256 dB"; + } + leaf high-alarm-val { + type uint16; + description + "High alarm threshold value in units of 1/256 dB"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping LASER-TEMPERATURE-INFO { + description + "Laser temperature information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type int16; + description + "Current value in units of 1/256 C"; + } + leaf low-warning-val { + type int16; + description + "Low warning threshold value in units of 1/256 C"; + } + leaf high-warning-val { + type int16; + description + "High warning threshold value in units of 1/256 C"; + } + leaf low-alarm-val { + type int16; + description + "Low alarm threshold value in units of 1/256 C"; + } + leaf high-alarm-val { + type int16; + description + "High alarm threshold value in units of 1/256 C"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping LASER-FREQUENCY-ERROR-INFO { + description + "Laser frequency error information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type int16; + description + "Current value in units of 10 Mhz"; + } + leaf low-warning-val { + type int16; + description + "Low warning threshold value in units of 10 Mhz"; + } + leaf high-warning-val { + type int16; + description + "High warning threshold value in units of 10 Mhz"; + } + leaf low-alarm-val { + type int16; + description + "Low alarm threshold value in units of 10 Mhz"; + } + leaf high-alarm-val { + type int16; + description + "High alarm threshold value in units of 10 Mhz"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping TEC-CURRENT-INFO { + description + "TEC current information"; + leaf lane-id { + type Observable-lane-id; + description + "Lane/module identifier"; + } + leaf value { + type int16; + description + "Current value in 100%/32767 increments"; + } + leaf low-warning-val { + type int16; + description + "Low warning threshold value in 100%/32767 + increments"; + } + leaf high-warning-val { + type int16; + description + "High warning threshold value in 100%/32767 + increments"; + } + leaf low-alarm-val { + type int16; + description + "Low alarm threshold value in 100%/32767 + increments"; + } + leaf high-alarm-val { + type int16; + description + "High alarm threshold value in 100%/32767 + increments"; + } + leaf low-warning { + type boolean; + description + "Low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "High warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "High alarm threshold crossing"; + } + } + + grouping LASER-AGE-INFO { + description + "Laser age information"; + leaf lane-id { + type Observable-lane-id; + description + "Laser age lane/module identifier"; + } + leaf value { + type uint16; + description + "Laser age current value in %"; + } + leaf low-warning-val { + type uint16; + description + "Laser age low warning threshold value in %"; + } + leaf high-warning-val { + type uint16; + description + "Laser age high warning threshold value in %"; + } + leaf low-alarm-val { + type uint16; + description + "Laser age low alarm threshold value in %"; + } + leaf high-alarm-val { + type uint16; + description + "Laser age high alarm threshold value in %"; + } + leaf low-warning { + type boolean; + description + "Laser age low warning threshold crossing"; + } + leaf high-warning { + type boolean; + description + "Laser age high warning threshold crossing"; + } + leaf low-alarm { + type boolean; + description + "Laser age low alarm threshold crossing"; + } + leaf high-alarm { + type boolean; + description + "Laser age high alarm threshold crossing"; + } + } + + grouping OPTICS-OBSERVABLE-LANE-INFO { + description + "Lane/module level information about observables"; + container laser-age { + description + "Information about laser age"; + uses LASER-AGE-INFO; + } + container tec-current { + description + "Information about TEC current"; + uses TEC-CURRENT-INFO; + } + container laser-frequency-error { + description + "Information about laser frequency error"; + uses LASER-FREQUENCY-ERROR-INFO; + } + container laser-temperature { + description + "Information about laser temperature"; + uses LASER-TEMPERATURE-INFO; + } + container esnr-media-input { + description + "Information about esnr media input"; + uses ESNR-MEDIA-INPUT-INFO; + } + container esnr-host-input { + description + "Information about esnr host input"; + uses ESNR-HOST-INPUT-INFO; + } + container pam4-lvl-trans-media-input { + description + "Information about PAM4 level transition + parameter media input"; + uses PAM4-LVL-TRANSITION-PARAM-MEDIA-INPUT-INFO; + } + container pam4-lvl-trans-host-input { + description + "Information about PAM4 level transition + parameter host input"; + uses PAM4-LVL-TRANSITION-PARAM-HOST-INPUT-INFO; + } + container pre-fec-ber-min-media-input { + description + "Information about pre-fec BER minimum media + input"; + uses PRE-FEC-BER-MIN-MEDIA-INPUT-INFO; + } + container pre-fec-ber-min-host-input { + description + "Information about pre-fec BER minimum host input"; + uses PRE-FEC-BER-MIN-HOST-INPUT-INFO; + } + container pre-fec-ber-max-media-input { + description + "Information about pre-fec BER maximum media + input"; + uses PRE-FEC-BER-MAX-MEDIA-INPUT-INFO; + } + container pre-fec-ber-max-host-input { + description + "Information about pre-fec BER maximum host input"; + uses PRE-FEC-BER-MAX-HOST-INPUT-INFO; + } + container pre-fec-ber-avg-media-input { + description + "Information about pre-fec BER average media + input"; + uses PRE-FEC-BER-AVG-MEDIA-INPUT-INFO; + } + container pre-fec-ber-avg-host-input { + description + "Information about pre-fec BER average host input"; + uses PRE-FEC-BER-AVG-HOST-INPUT-INFO; + } + container pre-fec-ber-curr-media-input { + description + "Information about pre-fec BER current value + media input"; + uses PRE-FEC-BER-CURR-MEDIA-INPUT-INFO; + } + container pre-fec-ber-curr-host-input { + description + "Information about pre-fec BER current value host + input"; + uses PRE-FEC-BER-CURR-HOST-INPUT-INFO; + } + container ferc-min-media-input { + description + "Information about FERC minimum media input"; + uses FERC-MIN-MEDIA-INPUT-INFO; + } + container ferc-min-host-input { + description + "Information about FERC minimum Host Input"; + uses FERC-MIN-HOST-INPUT-INFO; + } + container ferc-max-media-input { + description + "Information about FERC maximum media input"; + uses FERC-MAX-MEDIA-INPUT-INFO; + } + container ferc-max-host-input { + description + "Information about FERC maximum host input"; + uses FERC-MAX-HOST-INPUT-INFO; + } + container ferc-avg-media-input { + description + "Information about FERC average media input"; + uses FERC-AVG-MEDIA-INPUT-INFO; + } + container ferc-avg-host-input { + description + "Information about FERC average host input"; + uses FERC-AVG-HOST-INPUT-INFO; + } + container ferc-curr-media-input { + description + "Information about FERC current value media input"; + uses FERC-CURR-MEDIA-INPUT-INFO; + } + container ferc-curr-host-input { + description + "Information about FERC current value host input"; + uses FERC-CURR-HOST-INPUT-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper.yang new file mode 100644 index 000000000..36a03bc4c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-optics-oper.yang @@ -0,0 +1,238 @@ +module Cisco-IOS-XR-controller-optics-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-controller-optics-oper"; + prefix controller-optics-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-controller-optics-oper-sub2 { + revision-date 2023-03-23; + } + include Cisco-IOS-XR-controller-optics-oper-sub1 { + revision-date 2023-03-23; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR controller-optics package operational data. + + This module contains definitions + for the following management objects: + optics-oper: Optics operational data + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-23 { + description + "Added support for optics observable data. + 2023-02-24 + Leaf loopback-host and loopback-media added for optics controller. + 2022-07-28 + enum added for new Optics Phy Type for 400G AEC + 2022-02-03 + Added power fields in mW unit in Grey lane data + 2022-01-27 + Added power fields for mW unit in optics transponder information + 2022-01-07 + enum added for new Optics Phy Type for 400G SR8 module + 2022-01-06 + New Enum OPTICS_PHY_TYPE_1G_LH are added in enum OpticsPhyType + 2021-12-03 + enumadded for new Optics Phy Type for 200G FR4 modules + 2021-11-22 + Added threshold fields for mW unit in optics transponder information + 2021-11-03 + Added Dac Rate field in optics_edm_info."; + semver:module-version "5.1.0"; + } + revision 2021-09-17 { + description + "enumadded for new Optics Phy Type for 200G Cu, 200G AOC, 2x200G CU and 2x200G AOC modules + 2021-07-30 + New Enum OPTICS_PHY_TYPE_100G_ERL are added in enum OpticsPhyType + 2021-07-06 + enum added for new Optics Phy Type for 4x100G LR module + 2021-06-22 + New OPTICS_PHY_TYPE_16G_FC,OPTICS_PHY_TYPE_32G_FC are added in enum OpticsPhyType + 2021-06-21 + New Enums added for FibreChannel 16G and 32G Optics Phy type + 2021-06-10 + New parameters added in bag + 2021-05-27 + DAC rate and Laser temperature and laser age Added for Optics Controller"; + semver:module-version "5.0.0"; + } + revision 2021-04-14 { + description + "New Enums added for Multirate Optics Phy type + 2021-03-22 + New Enums added for Optics Phy type + 2021-02-23 + enum added for new Optics Phy Type for 400G LR4 module + 2021-02-19 + enum added for 1 new Optics Phy Type and new value added to enum EthernetPmdType + 2021-02-17 + New OPTICS_ETH_100GBASE_DR_S added to enum EthernetPmdType + 2021-01-18 + Added 2 enums for New FEC Type. + 2020-12-23 + New value added to enum EthernetPmdType + 2020-11-24 + Enum value in optics_modulation_type is changed from MODE_16QAM_32QAM to MOD_16QAM_32QAM + 2020-11-10 + enum added for 1 new Optics Phy Type for 100G DR-S optics module + 2020-09-10 + removed optics_edm_fastpoll_info and added new bag optics_edm_fastpoll_data + 2020-08-02 + New values added to enum FiberConnectorType + 2020-07-24 + New value added in optics yang for FastPollInfo + 2020-07-14 + New value added to enum EthernetPmdType"; + semver:module-version "4.0.0"; + } + revision 2020-04-26 { + description + "New value added to enum EthernetPmdType + 2020-02-24 + enum added for OTN Application code. + 2020-02-19 + enum added for 1 new Optics Phy Type + 2020-01-31 + enum added for 1 new Optics Phy Type + 2020-01-27 + Added new parameters in optics bag to display parameters which are not configurable + 2019-12-05 + enum added for 2 new OTN Application codes. + 2019-11-30 + Back Reflection data field is added in bag. + 2019-09-30 + chan_num data field is added to support L-Band frequency range."; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container optics-oper { + config false; + description + "Optics operational data"; + container optics-ports { + description + "All Optics Port operational data"; + list optics-port { + key "name"; + description + "Optics operational data"; + container observable-lanes { + description + "Enclosing container for optics observables + lane/module data"; + list observable-lane { + key "lane-id"; + description + "Optics observable lane/module level + information"; + leaf lane-id { + type uint32; + description + "Observable lane/module identifier"; + } + uses OPTICS-OBSERVABLE-LANE-INFO; + } + } + container optics-dwdm-carrier-channel-map { + description + "Optics operational data"; + uses OPTICS-EDM-WAVE-INFO; + } + container ots-spectrum-info { + description + "Ots Spectrum Operational data"; + uses OPTICS-EDM-SPECTRUM-INFO; + } + container optics-dwdm-carrier-channel-map-flexi { + description + "Optics operational data"; + uses OPTICS-EDM-WAVE-INFO; + } + container optics-info { + description + "Optics operational data"; + uses OPTICS-EDM-INFO; + } + container optics-fastpolls { + description + "All Optics Fastpoll operational data"; + list optics-fastpoll { + key "unique-id"; + description + "Fastpoll Information"; + leaf unique-id { + type uint32; + description + "Fastpoll Index"; + } + uses OPTICS-EDM-FASTPOLL-DATA; + } + } + container optics-lanes { + description + "All Optics Port operational data"; + list optics-lane { + key "number"; + description + "Lane Information"; + leaf number { + type uint32; + description + "Lane Index"; + } + uses OPTICS-EDM-LANE-DATA; + } + } + container optics-db-info { + description + "Optics operational data"; + uses OPTICS-DB-INFO; + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-cfg.yang new file mode 100644 index 000000000..f611794ec --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-cfg.yang @@ -0,0 +1,827 @@ +module Cisco-IOS-XR-controller-otu-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-controller-otu-cfg"; + prefix controller-otu-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR controller-otu package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-23 { + description + "Added new enums to OTUForwardErrorCorrection"; + semver:module-version "2.1.0"; + } + revision 2019-12-05 { + description + "Changes made in SAPI/DAPI ASCII text to support 15 characters string. + 2019-07-31 + Changes made in PRBS leaf, added pattern and mode field as mandatory."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-03-13 { + description + "PRBS Config added"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Otu-forward-error-correction { + type enumeration { + enum "none" { + value 1; + description + "No Fec"; + } + enum "standard" { + value 2; + description + "Standard Fec"; + } + enum "enhanced-i7" { + value 4; + description + "EnhancedI7 Fec"; + } + enum "enhanced-i4" { + value 8; + description + "Enhanced I4 Fec"; + } + enum "enhanced-swizzle" { + value 16; + description + "EnhancedSwizzle Fec"; + } + enum "enhanced-hg20" { + value 32; + description + "EnhancedHG20 Fec"; + } + enum "enhanced-hg7" { + value 64; + description + "EnhancedHG7 Fec"; + } + enum "enhanced-sd15" { + value 512; + description + "EnhancedSD15 Fec"; + } + enum "enhanced-sd27" { + value 1024; + description + "EnhancedSD27 Fec"; + } + enum "enhanced-sd15de" { + value 2048; + description + "EnhancedSD27 Fec"; + } + enum "enhanced-staircase-de" { + value 4096; + description + "EnhancedStaircaseDE Fec"; + } + enum "ofec" { + value 8192; + description + "OFEC Fec"; + } + enum "cfec" { + value 16384; + description + "CFEC Fec"; + } + } + description + "Otu forward error correction"; + } + + typedef Otn-per-mon { + type enumeration { + enum "disable" { + value 0; + description + "Performance Monitoring Disabled"; + } + enum "enable" { + value 1; + description + "Performance Monitoring Enabled"; + } + } + description + "Otn per mon"; + } + + typedef Otn-send-tti-type-os { + type enumeration { + enum "send-tti-os-ascii/os-ascii" { + value 10; + description + "Send TTI OS ASCII string"; + } + enum "send-tti-os-hex/os-hex" { + value 12; + description + "Send TTI OS HEX string"; + } + } + description + "Otn send tti type os"; + } + + typedef Otn-exp-tti-type-sapi { + type enumeration { + enum "exp-tti-sapi-ascii/sapi-ascii" { + value 15; + description + "Expected TTI SAPI ASCII string"; + } + } + description + "Otn exp tti type sapi"; + } + + typedef Otn-send-tti-type-sapi { + type enumeration { + enum "send-tti-sapi-ascii/sapi-ascii" { + value 14; + description + "Send TTI SAPI ASCII string"; + } + } + description + "Otn send tti type sapi"; + } + + typedef Otu-mode { + type enumeration { + enum "mode-source" { + value 1; + description + "Prbs Mode Source"; + } + enum "mode-sink" { + value 2; + description + "Prbs Mode Sink"; + } + enum "mode-source-sink" { + value 3; + description + "Prbs Mode Source_Sink"; + } + } + description + "Otu mode"; + } + + typedef Otn-sec-admin-state { + type enumeration { + enum "normal" { + value 0; + description + "In normal state"; + } + enum "maintenance" { + value 1; + description + "Under maintenance"; + } + } + description + "Otn sec admin state"; + } + + typedef Otn-exp-tti-type-os { + type enumeration { + enum "exp-tti-os-ascii/os-ascii" { + value 11; + description + "Expected TTI OS ASCII string"; + } + enum "exp-tti-os-hex/os-hex" { + value 13; + description + "Expected TTI OS HEX string"; + } + } + description + "Otn exp tti type os"; + } + + typedef Otn-loopback { + type enumeration { + enum "line" { + value 2; + description + "Line loopback"; + } + enum "internal" { + value 4; + description + "Internal loopback"; + } + } + description + "Otn loopback"; + } + + typedef Otu-pattern { + type enumeration { + enum "pattern-pn31" { + value 1; + description + "Prbs pattern pn31"; + } + enum "pattern-pn23" { + value 2; + description + "Prbs pattern pn23"; + } + enum "pattern-pn11" { + value 4; + description + "Prbs pattern pn11"; + } + enum "pattern-inverted-pn31" { + value 8; + description + "Prbs pattern inverted pn31"; + } + enum "pattern-inverted-pn11" { + value 16; + description + "Prbs pattern inverted pn11"; + } + enum "pattern-pn15" { + value 32; + description + "Prbs pattern pn15"; + } + enum "pattern-pn7" { + value 64; + description + "Prbs pattern pn7"; + } + } + description + "Otu pattern"; + } + + typedef Otn-exp-tti-type-full { + type enumeration { + enum "exp-tti-full-ascii/full-ascii" { + value 5; + description + "Expected TTI Full ASCII string"; + } + enum "exp-tti-hex/hex" { + value 7; + description + "Expected TTI hex string"; + } + } + description + "Otn exp tti type full"; + } + + typedef Otn-send-tti-type-full { + type enumeration { + enum "send-tti-full-ascii/full-ascii" { + value 4; + description + "Send TTI Full ASCII string"; + } + enum "send-tti-hex/hex" { + value 6; + description + "Send TTI hex string"; + } + } + description + "Otn send tti type full"; + } + + typedef Otn-exp-tti-type-dapi { + type enumeration { + enum "exp-tti-dapi-ascii/dapi-ascii" { + value 9; + description + "Expected TTI DAPI ASCII string"; + } + } + description + "Otn exp tti type dapi"; + } + + typedef Otn-send-tti-type-dapi { + type enumeration { + enum "send-tti-dapi-ascii/dapi-ascii" { + value 8; + description + "Send TTI DAPI ASCII string"; + } + } + description + "Otn send tti type dapi"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container otu { + description + "OTU port controller configuration"; + container otn-send-ttitcmos { + description + "Configure OTN Send TTI value for OS config"; + leaf string-type { + type Otn-send-tti-type-os; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf osascii-string { + when "../string-type = 'send-tti-os-ascii/os-ascii'" { + description + "../StringType = SEND_TTI_OS_ASCII/OS_ASCII"; + } + type string { + length "1..32"; + } + description + "OS ASCII text (Max 32 characters)"; + } + leaf oshex-string { + when "../string-type = 'send-tti-os-hex/os-hex'" { + description + "../StringType = SEND_TTI_OS_HEX/OS_HEX"; + } + type string { + length "1..64"; + } + description + "OS HEX text (Max 64 characters)"; + } + } + container flexo-ids { + presence "Indicates a flexo-ids node is configured."; + description + "configuring group id and iid"; + leaf gid { + type uint32 { + range "1..1048575"; + } + mandatory true; + description + "Group id number"; + } + leaf iid { + type string; + description + "iid number"; + } + } + container otn-send-ttitcmdapi { + description + "Configure OTN Send TTI value for DAPI configs"; + leaf string-type { + type Otn-send-tti-type-dapi; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf dapi-ascii-string { + when "../string-type = 'send-tti-dapi-ascii/dapi-ascii'" { + description + "../StringType = + SEND_TTI_DAPI_ASCII/DAPI_ASCII"; + } + type string { + length "1..15"; + } + description + "DAPI ASCII text (Max 15 characters)"; + } + } + container otn-expected-ttisapi { + description + "Configure OTN Expected TTI value for SAPI + configs"; + leaf string-type { + type Otn-exp-tti-type-sapi; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf sapi-ascii-string { + when "../string-type = 'exp-tti-sapi-ascii/sapi-ascii'" { + description + "../StringType = EXP_TTI_SAPI_ASCII/SAPI_ASCII"; + } + type string { + length "1..15"; + } + description + "SAPI ASCII text (Max 15 characters)"; + } + } + container proactive-protection { + description + "Configure Proactive Protection"; + container trigger-threshold { + description + "Proactive Protection Threshold"; + leaf coefficient { + type uint32 { + range "1..9"; + } + description + "Bit error rate coefficient"; + } + leaf power { + type uint32 { + range "3..9"; + } + description + "Bit error rate power"; + } + leaf enable { + type empty; + description + "Proactive Protection supported"; + } + } + container revert-window { + description + "Proactive Protection Window"; + leaf value { + type uint32 { + range "2000..10000"; + } + description + "Integration window for FRR trigger in MS"; + } + leaf enable { + type empty; + description + "Enable Proactive Protection"; + } + } + container trigger-window { + description + "Proactive Protection Window"; + leaf value { + type uint32 { + range "10..10000"; + } + description + "Integration window for FRR trigger in MS"; + } + leaf enable { + type empty; + description + "Enable Proactive Protection"; + } + } + container revert-threshold { + description + "Proactive Protection Threshold"; + leaf coefficient { + type uint32 { + range "1..9"; + } + description + "Bit error rate coefficient"; + } + leaf power { + type uint32 { + range "4..10"; + } + description + "Bit error rate power"; + } + leaf enable { + type empty; + description + "Proactive Protection supported"; + } + } + leaf status { + type empty; + description + "Enable Proactive Protection"; + } + } + container network-srlgs { + description + "Configure Network srlgs"; + list network-srlg { + key "set-id"; + description + "Configure network srlg sets"; + leaf set-id { + type uint32 { + range "1..17"; + } + description + "Set index"; + } + leaf srlg1 { + type uint32 { + range "0..4294967294"; + } + description + "First value for Network SRLG"; + } + leaf srlg2 { + type uint32 { + range "0..4294967294"; + } + description + "Second value for Network SRLG"; + } + leaf srlg3 { + type uint32 { + range "0..4294967294"; + } + description + "Third value for Network SRLG"; + } + leaf srlg4 { + type uint32 { + range "0..4294967294"; + } + description + "Forth value for Network SRLG"; + } + leaf srlg5 { + type uint32 { + range "0..4294967294"; + } + description + "Fifth value for Network SRLG"; + } + leaf srlg6 { + type uint32 { + range "0..4294967294"; + } + description + "Sixth value for Network SRLG"; + } + } + } + container otn-send-tti { + description + "Configure OTN Send TTI value for Full ASCII/HEX"; + leaf string-type { + type Otn-send-tti-type-full; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf full-ascii-string { + when "../string-type = 'send-tti-full-ascii/full-ascii'" { + description + "../StringType = + SEND_TTI_FULL_ASCII/FULL_ASCII"; + } + type string { + length "1..64"; + } + description + "Full ASCII text (Max 64 characters)"; + } + leaf hex-string { + when "../string-type = 'send-tti-hex/hex'" { + description + "../StringType = SEND_TTI_HEX/Hex"; + } + type string { + length "1..128"; + } + description + "Hex nibbles (Max 128 - The string length + should be an even number)"; + } + } + container otn-expected-ttitcmdapi { + description + "Configure OTN Expected TTI value for DAPI + configs"; + leaf string-type { + type Otn-exp-tti-type-dapi; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf dapi-ascii-string { + when "../string-type = 'exp-tti-dapi-ascii/dapi-ascii'" { + description + "../StringType = EXP_TTI_DAPI_ASCII/DAPI_ASCII"; + } + type string { + length "1..15"; + } + description + "DAPI ASCII text (Max 15 characters)"; + } + } + container otn-send-ttisapi { + description + "Configure OTN Send TTI value for SAPI configs"; + leaf string-type { + type Otn-send-tti-type-sapi; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf sapi-ascii-string { + when "../string-type = 'send-tti-sapi-ascii/sapi-ascii'" { + description + "../StringType = + SEND_TTI_SAPI_ASCII/SAPI_ASCII"; + } + type string { + length "1..15"; + } + description + "SAPI ASCII text (Max 15 characters)"; + } + } + container prbs { + presence "Indicates a prbs node is configured."; + description + "Enable Prbs And configure"; + leaf mode-value { + type Otu-mode; + mandatory true; + description + "Mode value"; + } + leaf patternvalue { + type Otu-pattern; + mandatory true; + description + "Pattern value"; + } + } + container otn-expected-ttitcmos { + description + "Configure OTN Expected TTI value for OS config"; + leaf string-type { + type Otn-exp-tti-type-os; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf osascii-string { + when "../string-type = 'exp-tti-os-ascii/os-ascii'" { + description + "../StringType = EXP_TTI_OS_ASCII/OS_ASCII"; + } + type string { + length "1..32"; + } + description + "OS ASCII text (Max 32 characters)"; + } + leaf oshex-string { + when "../string-type = 'exp-tti-os-hex/os-hex'" { + description + "../StringType = EXP_TTI_OS_HEX/OS_HEX"; + } + type string { + length "1..64"; + } + description + "OS HEX text (Max 64 characters)"; + } + } + container otn-expected-tti { + description + "Configure OTN Expected TTI value for Full + ASCII/HEX"; + leaf string-type { + type Otn-exp-tti-type-full; + description + "TTI string type (FULL ASCII or DAPI ASCII or + SAPI ASCII or hex format or OS ASCII or OS + HEX)"; + } + leaf full-ascii-string { + when "../string-type = 'exp-tti-full-ascii/full-ascii'" { + description + "../StringType = EXP_TTI_FULL_ASCII/FULL_ASCII"; + } + type string { + length "1..64"; + } + description + "Full ASCII text (Max 64 characters)"; + } + leaf hex-string { + when "../string-type = 'exp-tti-hex/hex'" { + description + "../StringType = EXP_TTI_HEX/Hex"; + } + type string { + length "1..128"; + } + description + "Hex nibbles (Max 128 - The string length + should be an even number)"; + } + } + leaf gcc { + type empty; + description + "General Communication Channel configuration"; + } + leaf sf { + type uint32 { + range "5..9"; + } + description + "Signal failure threshold"; + } + leaf secondary-admin-state { + type Otn-sec-admin-state; + default "normal"; + description + "Configure secondary admin state "; + } + leaf sd { + type uint32 { + range "5..9"; + } + description + "Signal degrade threshold"; + } + leaf performance-monitoring { + type Otn-per-mon; + default "enable"; + description + "Configure performance monitoring"; + } + leaf loopback { + type Otn-loopback; + description + "Type of Loopback"; + } + leaf fec { + type Otu-forward-error-correction; + default "none"; + description + "Configure forward error correction"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper-sub1.yang new file mode 100644 index 000000000..62710eaed --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper-sub1.yang @@ -0,0 +1,1328 @@ +submodule Cisco-IOS-XR-controller-otu-oper-sub1 { + belongs-to Cisco-IOS-XR-controller-otu-oper { + prefix Cisco-IOS-XR-controller-otu-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR controller-otu package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-12 { + description + "Added flexo oper"; + semver:module-version "3.1.0"; + } + revision 2019-12-19 { + description + "Added new values in OTU_G709FECMode + 2019-09-18 + Added new parameters, q-margin, q-factor, bandwidth to reflect under show controller coherentdsp."; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-03-13 { + description + "PRBS Info added"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Otu-ains-state-et { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "active-running" { + value 1; + description + "Running"; + } + enum "active-pending" { + value 2; + description + "Pending"; + } + } + description + "Otu ains state et"; + } + + typedef Gmpls-otu-tti-mode { + type enumeration { + enum "gmpls-otu-tti-mode-none" { + description + "Not Set"; + } + enum "gmpls-otu-tti-mode-sm" { + description + "Section Monitoring"; + } + enum "gmpls-otu-tti-mode-pm" { + description + "Path Monitoring"; + } + enum "gmpls-otu-tti-mode-tcm" { + description + "Tandem Connection Monitoring"; + } + } + description + "Gmpls otu tti mode"; + } + + typedef Otu-pp-intf-state { + type enumeration { + enum "otu-pp-intf-up" { + value 0; + description + "Interface is Up"; + } + enum "otu-pp-intf-failing" { + value 1; + description + "Interface is Going Down"; + } + enum "otu-pp-intf-down" { + value 2; + description + "Interface Down"; + } + } + description + "Otu pp intf state"; + } + + typedef Otu-pp-fsm-state { + type enumeration { + enum "otu-in-active" { + value 0; + description + "In Active"; + } + enum "otu-disabled" { + value 1; + description + "Disabled"; + } + enum "otu-normal-state" { + value 2; + description + "Normal"; + } + enum "otu-local-failing" { + value 3; + description + "Local Failing"; + } + enum "otu-remote-failing" { + value 4; + description + "Remote Failing"; + } + enum "otu-main-t-failing" { + value 5; + description + "Maintance Failing"; + } + enum "otu-regen-failing" { + value 6; + description + "Regenerator Failing"; + } + enum "otu-local-failed" { + value 7; + description + "Local Failed"; + } + enum "otu-remote-failed" { + value 8; + description + "Remote Failed"; + } + enum "otu-main-t-failed" { + value 9; + description + "Maintance Failed"; + } + enum "otu-regen-failed" { + value 10; + description + "Regenerator Failed"; + } + } + description + "Otu pp fsm state"; + } + + typedef Otu-per-mon { + type enumeration { + enum "disable" { + value 0; + description + "Disable"; + } + enum "enable" { + value 1; + description + "Enable"; + } + } + description + "Otu per mon"; + } + + typedef Otu-sec-state { + type enumeration { + enum "normal" { + value 0; + description + "Normal"; + } + enum "maintenance" { + value 1; + description + "Maintenance"; + } + enum "ains" { + value 2; + description + "Automatic In Service"; + } + } + description + "Otu sec state"; + } + + typedef Otu-der-state { + type enumeration { + enum "out-of-service" { + value 0; + description + "Out Of Service"; + } + enum "in-service" { + value 1; + description + "In Service"; + } + enum "maintenance" { + value 2; + description + "Maintenance"; + } + enum "ains" { + value 3; + description + "Automatic In Service"; + } + } + description + "Otu der state"; + } + + typedef Otu-g709fec-mode { + type enumeration { + enum "otu-bag-none-fec" { + value 1; + description + "NONE"; + } + enum "otu-bag-standard-fec" { + value 2; + description + "STANDARD"; + } + enum "otu-bag-1-i-7-fec" { + value 4; + description + "ENHANCEDI.7"; + } + enum "otu-bag-1-i-4-fec" { + value 8; + description + "ENHANCEDI.4"; + } + enum "otu-bag-swizzle-fec" { + value 16; + description + "SWIZZLE"; + } + enum "otu-bag-hg20-fec" { + value 32; + description + "HIGH GAIN20"; + } + enum "otu-bag-enhanced-hg7-fec" { + value 64; + description + "Enhanced High Gain 7"; + } + enum "otu-bag-sd20-fec" { + value 128; + description + "Soft-Decision 20"; + } + enum "otu-bag-sd7-fec" { + value 256; + description + "Soft-Decision 7"; + } + enum "otu-bag-sd15-fec" { + value 512; + description + "Soft-Decision 15"; + } + enum "otu-bag-sd27-fec" { + value 1024; + description + "Soft-Decision 27"; + } + enum "otu-bag-sd15-de-fec" { + value 2048; + description + "Soft-Decision 15 DE"; + } + enum "otu-bag-staircase-de-fec" { + value 4096; + description + "STAIRCASE DE"; + } + enum "otu-bag-o-fec" { + value 8192; + description + "O FEC"; + } + enum "otu-bag-c-fec" { + value 16384; + description + "C FEC"; + } + enum "otu-bag-all-fec" { + value 32768; + description + "ALL"; + } + } + description + "Otu g709fec mode"; + } + + typedef Otu-cn-rate { + type enumeration { + enum "otuc1" { + value 1; + description + "OTUC1"; + } + enum "otuc2" { + value 2; + description + "OTUC2"; + } + enum "otuc3" { + value 3; + description + "OTUC3"; + } + enum "otuc4" { + value 4; + description + "OTUC4"; + } + } + description + "Otu cn rate"; + } + + typedef Otu-flexo-mode { + type enumeration { + enum "disable" { + value 0; + description + "Disable"; + } + enum "enable" { + value 1; + description + "Enable"; + } + } + description + "Otu flexo mode"; + } + + typedef Otu-loop-back-mode { + type enumeration { + enum "none" { + value 1; + description + "None"; + } + enum "line" { + value 2; + description + "Line"; + } + enum "internal" { + value 4; + description + "Internal"; + } + } + description + "Otu loop back mode"; + } + + typedef Otu-tti-et { + type enumeration { + enum "ascii" { + value 0; + description + "ASCII"; + } + enum "hex" { + value 1; + description + "HEX"; + } + enum "full-ascii" { + value 2; + description + "FULL ASCII"; + } + enum "full-hex" { + value 3; + description + "FULL HEX"; + } + } + description + "Otu tti et"; + } + + typedef Otu-state-et { + type enumeration { + enum "not-ready" { + value 0; + description + "Not Ready"; + } + enum "admin-down" { + value 1; + description + "Admin Down"; + } + enum "down" { + value 2; + description + "Down"; + } + enum "up" { + value 3; + description + "Up"; + } + enum "shutdown" { + value 4; + description + "Shutdown"; + } + enum "error-disable" { + value 5; + description + "Error Disable"; + } + enum "down-immediate" { + value 6; + description + "Down Immediate"; + } + enum "down-immediate-admin" { + value 7; + description + "Down Immediate Admin"; + } + enum "down-graceful" { + value 8; + description + "Down Graceful"; + } + enum "begin-shutdown" { + value 9; + description + "Begin Shutdown"; + } + enum "end-shutdown" { + value 10; + description + "End Shutdown"; + } + enum "begin-error-disable" { + value 11; + description + "Begin Error Disable"; + } + enum "end-error-disable" { + value 12; + description + "End Error Disable"; + } + enum "begin-down-graceful" { + value 13; + description + "Begin Down Graceful"; + } + enum "reset" { + value 14; + description + "Reset"; + } + enum "operational" { + value 15; + description + "Operational"; + } + enum "not-operational" { + value 16; + description + "Not Operational"; + } + enum "unknown" { + value 17; + description + "Unknown"; + } + enum "last" { + value 18; + description + "Last"; + } + } + description + "Otu state et"; + } + + typedef Otu-prbs-status { + type enumeration { + enum "locked" { + value 0; + description + "Locked"; + } + enum "unlocked" { + value 1; + description + "Unlocked"; + } + enum "not-applicable" { + value 2; + description + "Not Applicable"; + } + } + description + "Otu prbs status"; + } + + typedef Otu-prbs-pattern { + type enumeration { + enum "not-applicable" { + value 0; + description + "OTU PRBS pattern not applicable"; + } + enum "pn31" { + value 1; + description + "PN31"; + } + enum "pn23" { + value 2; + description + "PN23"; + } + enum "pn11" { + value 4; + description + "PN11"; + } + enum "inverted-pn31" { + value 8; + description + "INVERTED PN31"; + } + enum "inverted-pn11" { + value 16; + description + "INVERTED PN11"; + } + enum "pn15" { + value 32; + description + "PN15"; + } + enum "pn7" { + value 64; + description + "PN7"; + } + } + description + "Otu prbs pattern"; + } + + typedef Otu-prbs-mode { + type enumeration { + enum "not-applicable" { + value 0; + description + "OTU PRBS mode not applicable"; + } + enum "source" { + value 1; + description + "Source"; + } + enum "sink" { + value 2; + description + "Sink"; + } + enum "source-sink" { + value 3; + description + "Source Sink"; + } + } + description + "Otu prbs mode"; + } + + typedef Otu-prbs-test { + type enumeration { + enum "disable" { + value 0; + description + "Disable"; + } + enum "enable" { + value 1; + description + "Enable"; + } + } + description + "Otu prbs test"; + } + + grouping OTU-AINS-HW-INFO { + description + "OTU AINS information"; + leaf ains-state { + type Otu-ains-state-et; + description + "AINS State"; + } + leaf ains-timer-minutes { + type uint32; + units "minute"; + description + "AINS Timer in Minutes"; + } + leaf ains-remaining-secs { + type uint32; + units "second"; + description + "AINS Remaining Seconds"; + } + } + + grouping FEC-OPER-DATA { + description + "FEC Satistics"; + leaf post-fec-ber { + type string; + description + "Bit Error Rate After Forward Error Correction"; + } + leaf pre-fec-ber { + type string; + description + "Bit Error Rate Before Forward Error Correction"; + } + } + + grouping OTU-PROACTIVE-INFO { + description + "Proactive Protection"; + leaf proactive-status { + type boolean; + description + "Proactive Status"; + } + leaf inherit-sec-state { + type Otu-sec-state; + description + "Secondary Admin State"; + } + leaf config-sec-state { + type Otu-sec-state; + description + "Sec State"; + } + leaf proactive-fsm-state { + type Otu-pp-fsm-state; + description + "Proactive FSM State"; + } + leaf proactive-fsm-if-state { + type Otu-pp-intf-state; + description + "Proactive FSM IF State"; + } + leaf trig-thresh-coeff { + type uint8; + description + "Trigger threshold coefficient"; + } + leaf trig-thresh-power { + type uint8; + description + "Trigger threshold power"; + } + leaf rvrt-thresh-coeff { + type uint8; + description + "Revert threshold coefficient"; + } + leaf rvrt-thresh-power { + type uint8; + description + "Revert threshold power"; + } + leaf trigger-window { + type uint32; + description + "Trigger Integration window"; + } + leaf revert-window { + type uint32; + description + "Revert Integration Window"; + } + } + + grouping OTU-EDM-ALARM { + description + " OTU Alarm"; + leaf reporting-enabled { + type boolean; + description + "Is reporting enabled?"; + } + leaf is-detected { + type boolean; + description + "Is defect detected?"; + } + leaf is-asserted { + type boolean; + description + "Is defect delared?"; + } + leaf counter { + type uint64; + description + "Alarm counter"; + } + } + + grouping OTU-ALARM-INFO { + description + "otu information"; + container los { + description + "Loss of Signal"; + uses OTU-EDM-ALARM; + } + container lof { + description + "Loss of Frame"; + uses OTU-EDM-ALARM; + } + container lom { + description + "Loss of MultiFrame"; + uses OTU-EDM-ALARM; + } + container oof { + description + "Out of Frame"; + uses OTU-EDM-ALARM; + } + container oom { + description + "Out of MultiFrame"; + uses OTU-EDM-ALARM; + } + container ais { + description + "Alarm Indication Signal"; + uses OTU-EDM-ALARM; + } + container iae { + description + "Incoming Alignment Error"; + uses OTU-EDM-ALARM; + } + container biae { + description + "Backward Incoming Alignment Error"; + uses OTU-EDM-ALARM; + } + container bdi { + description + "Backward Defect Indication"; + uses OTU-EDM-ALARM; + } + container tim { + description + "Trace Identifier Mismatch"; + uses OTU-EDM-ALARM; + } + container eoc { + description + "GCC End of Channel"; + uses OTU-EDM-ALARM; + } + container fec-mismatch { + description + "FEC mismatch alarm"; + uses OTU-EDM-ALARM; + } + container sf-ber { + description + "SF BER alarm"; + uses OTU-EDM-ALARM; + } + container sd-ber { + description + "SD BER alarm"; + uses OTU-EDM-ALARM; + } + container ec { + description + "EC alarm"; + uses OTU-EDM-ALARM; + } + container uc { + description + "UC alarm"; + uses OTU-EDM-ALARM; + } + container fecunc { + description + "FEC UnCorrected Word"; + uses OTU-EDM-ALARM; + } + container flexo-lom { + description + "FlexO Loss Of MultiFrame"; + uses OTU-EDM-ALARM; + } + container gidm { + description + "FlexO Group Identification Mismatch"; + uses OTU-EDM-ALARM; + } + container fmm { + description + "FlexO Map Mismatch"; + uses OTU-EDM-ALARM; + } + container flexo-lof { + description + "flexo lof alarm"; + uses OTU-EDM-ALARM; + } + container rdi { + description + "FlexO Remote Defect Indicator"; + uses OTU-EDM-ALARM; + } + } + + grouping NETWORK-SRLG-SET { + description + "Network Shared Risk Link Group information + expressed in integer format"; + leaf set-id { + type uint32; + description + "Array to maintain set id number"; + } + list srlg { + description + "Shared Risk Link Group information expressed in + + integer format"; + leaf entry { + type uint32; + description + "Shared Risk Link Group information expressed in + + integer format"; + } + } + } + + grouping NETWORK-SRLG-INFO { + description + "Array of Network Shared Risk Link Group + Information"; + list srlg-info { + description + "Array of Network Shared Risk Link Group + information"; + uses NETWORK-SRLG-SET; + } + } + + grouping FLEXO-PEERS { + description + "Flexo Peers Information Parameter"; + leaf otu-cn-rate { + type Otu-cn-rate; + description + "OTUCn rate Parameter"; + } + leaf interface-name { + type string; + description + "Interface Name Parameter"; + } + } + + grouping OTU-FLEXO-PEERS-INFO { + description + "Flexo Peers Information"; + list flexo-peer { + description + "Flexo Peers"; + uses FLEXO-PEERS; + } + } + + grouping FLEXO-IID-ARRAY { + description + "Flexo IID Information Parameter"; + leaf iid { + type uint32; + description + "IID Parameter"; + } + } + + grouping OTU-FLEXO-IID-INFO { + description + "Flexo IID Information"; + list iid-array { + description + "iid array"; + uses FLEXO-IID-ARRAY; + } + } + + grouping OTU-FLEXO-INFO { + description + "otu flexo-mode information"; + container flexo-tx-iid-information { + description + "Flexo Tx IID Information"; + uses OTU-FLEXO-IID-INFO; + } + container flexo-rx-iid-information { + description + "Flexo Rx IID Information"; + uses OTU-FLEXO-IID-INFO; + } + container flexo-peers-information { + description + "Flexo Peers Information"; + uses OTU-FLEXO-PEERS-INFO; + } + leaf flexo-mode { + type Otu-flexo-mode; + description + "Flexo"; + } + leaf txgid { + type uint32; + description + "Tx GID Value"; + } + leaf rxgid { + type uint32; + description + "Rx GID Value"; + } + } + + grouping OTU-TTI-ST { + description + "TTI SAPI DAPI"; + leaf full-tti-ascii-string { + type string; + description + "full tti ascii String "; + } + list sapi { + description + "tx String "; + leaf entry { + type uint8; + description + "tx String "; + } + } + list dapi { + description + "exp String "; + leaf entry { + type uint8; + description + "exp String "; + } + } + list operator-specific { + description + "rec String "; + leaf entry { + type uint8; + description + "rec String "; + } + } + } + + grouping OTU-G709-TTI { + description + "OTU TTI"; + container tx { + description + "String Sent"; + uses OTU-TTI-ST; + } + container exp { + description + "String Expected"; + uses OTU-TTI-ST; + } + container rec { + description + "String Received"; + uses OTU-TTI-ST; + } + leaf g709tti-sent-mode { + type Otu-tti-et; + description + "G709TTI sent"; + } + leaf g709tti-exp-mode { + type Otu-tti-et; + description + "G709TTI Expected"; + } + leaf g709tti-rec-mode { + type Otu-tti-et; + description + "G709TTI Recieved"; + } + leaf remote-interface { + type string; + description + "Remote Interface Name"; + } + leaf remote-host-name { + type string; + description + "Remote host name"; + } + leaf remote-ip-addr { + type string; + description + "Remote host ip"; + } + } + + grouping OTN-OTU-REMOTE-INFO-VIA-TTI-T-RTRID-IFINDEX { + description + "otn otu remote info via tti t rtrid ifindex"; + leaf router-id { + type uint32; + description + "Router ID"; + } + leaf if-index { + type uint32; + description + "IfIndex"; + } + } + + grouping OTU-PER-PORT-INFO { + description + "OTU"; + container local { + description + "TTI"; + uses OTN-OTU-REMOTE-INFO-VIA-TTI-T-RTRID-IFINDEX; + } + container remote { + description + "Remote"; + uses OTN-OTU-REMOTE-INFO-VIA-TTI-T-RTRID-IFINDEX; + } + container tti-mode { + description + "OTU TTI"; + uses OTU-G709-TTI; + } + container otu-flexo-data-info { + description + "OTU Flexo Data Information"; + uses OTU-FLEXO-INFO; + } + container network-srlg { + description + "Network Shared Risk Link Group information"; + uses NETWORK-SRLG-INFO; + } + container otu-alarm-info { + description + "OTU layer alarm Information"; + uses OTU-ALARM-INFO; + } + container proactive { + description + "Proactive Protection"; + uses OTU-PROACTIVE-INFO; + } + container otu-fec-satistics { + description + "OTU FEC Statistics"; + uses FEC-OPER-DATA; + } + container ains-info { + description + "AINS information"; + uses OTU-AINS-HW-INFO; + } + leaf state { + type Otu-state-et; + description + "Admin State"; + } + leaf name { + type string; + description + "Interface Name"; + } + leaf sf { + type uint8; + description + "SF in the form of 1.0E - "; + } + leaf sd { + type uint8; + description + "SD in the form of 1.0E - "; + } + leaf loopback-mode { + type Otu-loop-back-mode; + description + "Loopback"; + } + leaf fec-mode { + type Otu-g709fec-mode; + description + "FEC"; + } + leaf derivedstate-mode { + type Otu-der-state; + description + "Derived State"; + } + leaf inherit-sec-state { + type Otu-sec-state; + description + "Sec State"; + } + leaf config-sec-state { + type Otu-sec-state; + description + "Sec State"; + } + leaf gcc-mode { + type boolean; + description + "OTU GCC"; + } + leaf q { + type uint64; + description + "q value calculated"; + } + leaf q-margin { + type uint64; + description + "This q margin will be deprecated"; + } + leaf performance-monitoring { + type Otu-per-mon; + description + "Performance Monitoring"; + } + leaf ec { + type uint64; + description + "Average bit errors corrected"; + } + leaf uc { + type uint64; + description + "Uncorrected word count"; + } + leaf pre-fec-val { + type int32; + description + "Pre FEC BER Value in form 0.00"; + } + leaf pre-fec-mantissa { + type int8; + description + "Pre FEC BER Mantissa in form E-"; + } + leaf ec-value { + type boolean; + description + "EC value present"; + } + leaf uc-value { + type boolean; + description + "Uc value present"; + } + leaf pre-fec-ber-value { + type boolean; + description + "Pre fec val present "; + } + leaf pre-fec-ber-mantissa { + type boolean; + description + "Pre fec val mantissa"; + } + leaf nv-optical-support { + type boolean; + description + "NV Optical support"; + } + leaf gmpls-tti-mode { + type Gmpls-otu-tti-mode; + description + "GMPLS TTI MODE"; + } + leaf gmpls-tvm-id { + type uint8; + description + "GMPLS TCM ID"; + } + leaf auto-tti-flag { + type boolean; + description + "Auto tti flag"; + } + leaf description { + type string; + description + "Controller description string"; + } + leaf qfactor { + type string; + description + "Q factor value"; + } + leaf bandwidth { + type string; + description + "OTU bandiwdth"; + } + leaf qmargin { + type string; + description + "Q Margin value"; + } + leaf inst-q-margin { + type string; + description + "Instantaneous Q Margin value"; + } + } + + grouping OTU-PRBS-INFO { + description + "PRBS"; + leaf otu-prbs-test { + type Otu-prbs-test; + description + "otu prbs test"; + } + leaf otu-prbs-mode { + type Otu-prbs-mode; + description + "otu prbs mode"; + } + leaf otu-prbs-pattern { + type Otu-prbs-pattern; + description + "otu prbs pattern"; + } + leaf otu-prbs-status { + type Otu-prbs-status; + description + "otu prbs status"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper.yang new file mode 100644 index 000000000..8ee5d01b5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-controller-otu-oper.yang @@ -0,0 +1,97 @@ +module Cisco-IOS-XR-controller-otu-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-controller-otu-oper"; + prefix controller-otu-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-controller-otu-oper-sub1 { + revision-date 2020-05-12; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR controller-otu package operational data. + + This module contains definitions + for the following management objects: + otu: OTU operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-12 { + description + "Added flexo oper"; + semver:module-version "3.1.0"; + } + revision 2019-12-19 { + description + "Added new values in OTU_G709FECMode + 2019-09-18 + Added new parameters, q-margin, q-factor, bandwidth to reflect under show controller coherentdsp."; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-03-13 { + description + "PRBS Info added"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container otu { + config false; + description + "OTU operational data"; + container controllers { + description + "All OTU Port operational data"; + list controller { + key "controller-name"; + description + "OTU Port operational data"; + container prbs { + description + "OTU port PRBS operational data"; + uses OTU-PRBS-INFO; + } + container info { + description + "OTU port operational data"; + uses OTU-PER-PORT-INFO; + } + leaf controller-name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-act.yang new file mode 100644 index 000000000..3035fbf8d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-act.yang @@ -0,0 +1,420 @@ +module Cisco-IOS-XR-crypto-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-act"; + prefix crypto-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-20 { + description + "Added OpenSSH cert support + 2021-10-19 + Added key-label node to key-generate-dsa"; + semver:module-version "1.2.1m"; + } + revision 2020-09-18 { + description + "Change user task for ca-crl-request from cisco-support to crypto"; + semver:module-version "1.2.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-06-18 { + description + "IOS XR 7.0.1 revision."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2016-04-17 { + description + "IOS XR 6.1.1 revision."; + } + + grouping KEY-MODULUS { + description + "Key modulus grouping"; + leaf key-label { + type string; + description + "RSA keypair label"; + } + leaf key-modulus { + type int32 { + range "512..4096"; + } + mandatory true; + description + "Key modulus in the range of 512 to 4096 for your General Purpose Keypair. Choosing a key modulus greater than 512 may take a few minutes"; + } + } + + rpc key-generate-rsa-general-keys { + description + "Generate a general purpose RSA key pair for signing and encryption"; + input { + uses KEY-MODULUS; + } + } + rpc key-generate-rsa-usage-keys { + description + "Generate seperate RSA key pairs for signing and encryption"; + input { + uses KEY-MODULUS; + } + } + rpc key-generate-rsa { + description + "Generate seperate RSA key pairs for signing and encryption"; + input { + uses KEY-MODULUS; + } + } + rpc key-generate-dsa { + description + "Generate DSA keys"; + input { + leaf key-modulus { + type int32 { + range "512|768|1024"; + } + mandatory true; + description + "Key modulus size can be 512, 768 or 1024 bits."; + } + leaf key-label { + type string; + description + "DSA key label"; + } + } + } + rpc key-generate-ecdsa { + description + "Generate a ECDSA key of curve type nistp256 | nistp384 | nistp521"; + input { + leaf key-modulus { + type enumeration { + enum "nistp256" { + value 0; + description + "nistp256"; + } + enum "nistp384" { + value 1; + description + "nistp384"; + } + enum "nistp521" { + value 2; + description + "nistp521"; + } + } + mandatory true; + description + "Key modulus"; + } + leaf key-label { + type string; + description + "ECDSA key label"; + } + } + } + rpc key-generate-ed25519 { + description + "Generate a Ed25519 key-pair"; + input { + leaf key-label { + type string; + description + "Ed25519 key label"; + } + } + } + rpc key-zeroize-rsa { + description + "Remove RSA keys"; + input { + leaf key-label { + type string; + description + "RSA key label"; + } + } + } + rpc key-zeroize-dsa { + description + "Remove DSA keys"; + } + rpc key-zeroize-ecdsa { + description + "Remove ECDSA key of curve type nistp256 | nistp384 | nistp521"; + input { + leaf key-modulus { + type enumeration { + enum "nistp256" { + value 0; + description + "nistp256"; + } + enum "nistp384" { + value 1; + description + "nistp384"; + } + enum "nistp521" { + value 2; + description + "nistp521"; + } + } + mandatory true; + description + "Key modulus"; + } + leaf key-label { + type string; + description + "ECDSA key label"; + } + } + } + rpc key-zeroize-authentication-rsa { + description + "Remove RSA authentication key"; + } + rpc key-zeroize-authentication-rsa-username { + description + "Remove RSA authentication key"; + input { + leaf username { + type string; + mandatory true; + description + "Username"; + } + } + } + rpc key-zeroize-authentication-rsa-all { + description + "Remove RSA authentication key"; + } + rpc key-zeroize-ed25519 { + description + "Remove ed25519 keys"; + input { + leaf key-label { + type string; + description + "Ed25519 key label"; + } + } + } + rpc key-import-authentication-rsa { + description + "Remove RSA authentication key"; + input { + leaf path { + type string; + mandatory true; + description + "Path to RSA pubkey file"; + } + } + } + rpc key-import-authentication-rsa-username { + description + "RSA authentication key for user"; + input { + leaf path { + type string; + mandatory true; + description + "Path to RSA pubkey file"; + } + leaf username { + type string; + mandatory true; + description + "Username"; + } + } + } + rpc ca-authenticate { + description + "Get the certification authority certificate"; + input { + leaf server-name { + type string; + mandatory true; + description + "CA Server Name"; + } + } + } + rpc ca-enroll { + description + "Request a certificate from a CA"; + input { + leaf server-name { + type string; + mandatory true; + description + "CA Server Name"; + } + } + } + rpc ca-import-certificate { + description + "Import a certificate from a s/tftp server or the terminal"; + input { + leaf server-name { + type string; + mandatory true; + description + "CA Server Name"; + } + } + } + rpc ca-cancel-enroll { + description + "Cancel enrollment from a CA"; + input { + leaf server-name { + type string; + mandatory true; + description + "CA Server Name"; + } + } + } + rpc ca-crl-request { + description + "Actions on certificate revocation lists"; + input { + leaf uri { + type string; + mandatory true; + description + "CRL Distribution Point in URI format"; + } + } + output { + leaf certificate { + type string; + mandatory true; + description + "Certificate returned"; + } + } + } + rpc ca-trustpool-import-url { + description + "Manual import trustpool certificates from URL"; + input { + leaf url { + type string; + description + "in URL format"; + } + } + } + rpc ca-trustpool-import-url-clean { + description + "Remove downloaded certificates in trustpool"; + input { + leaf url { + type string; + description + "in URL format"; + } + } + } + rpc ca-openssh-authenticate { + description + "Get the OpenSSH certification authority certificate"; + input { + leaf server-name { + type string; + mandatory true; + description + "Certificate Authority Server Name"; + } + leaf path { + type string; + mandatory true; + description + "Path to Certificate"; + } + } + } + rpc ca-openssh-enroll { + description + "Request hostkey from router"; + input { + leaf server-name { + type string; + mandatory true; + description + "Certificate Authority Server Name"; + } + } + } + rpc ca-openssh-import-certificate { + description + "Import certificate from a file"; + input { + leaf server-name { + type string; + mandatory true; + description + "Certificate Authority Server Name"; + } + leaf path { + type string; + mandatory true; + description + "Path to Certificate"; + } + } + } + rpc ca-openssh-revoke { + description + "Add a revoked certificate/key"; + input { + leaf path { + type string; + mandatory true; + description + "Path to Certificate"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-cfg.yang new file mode 100644 index 000000000..c98e3b9ce --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-cfg.yang @@ -0,0 +1,739 @@ +module Cisco-IOS-XR-crypto-cepki-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-cfg"; + prefix crypto-cepki-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-cepki package configuration. + + This module contains definitions + for the following management objects: + keys: Generate rsa/dsa/ecdsa/ed25519 keys + crypto-ca: Crypto CertificateAuthority + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-07 { + description + "Revision to bring renewal-message-type under trustpoint config + 2022-03-20 + OpenSSH certificate support. + 2022-03-15 + Change string to bounded string for RSA key label. + 2022-03-10 + Added support to config curl timeout + 2022-01-21 + Revision to bring auto-enroll under trustpoint config"; + semver:module-version "1.3.1M"; + } + revision 2021-05-13 { + description + "Configuration to discard certificates having rsa key size less than or equal to 1024"; + semver:module-version "1.3.0"; + } + revision 2021-03-24 { + description + "Allowed configuration of crypto keys enhancement in IOS XR + 2020-12-10 + Fips mode enabled for aarch64 platform + 2020-11-24 + Correct the range for ca lifetime for system-trustpoint. + 2020-09-02 + Yang support ed25519 key added"; + semver:module-version "1.2.0"; + } + revision 2020-07-12 { + description + "Associated task-name added + 2020-05-25 + Yang support missing for message digest + 2020-05-10 + Yang support for all cepki features + 2020-02-05 + Yang support to fetch CRL via Source Interface."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Type-key { + type enumeration { + enum "rsa" { + value 1; + description + "Rsa key"; + } + enum "ecdsanistp256" { + value 2; + description + "ecdsa-nistp256 key"; + } + enum "ecdsanistp384" { + value 4; + description + "ecdsa-nistp384 key"; + } + enum "ecdsanistp521" { + value 8; + description + "ecdsa-nistp521 key"; + } + enum "dsa" { + value 16; + description + "Dsa key"; + } + enum "ed25519" { + value 32; + description + "Ed25519 key"; + } + } + description + "Type key"; + } + + typedef Addr { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "ipv6" { + value 20; + description + "IPv6 address family"; + } + } + description + "Addr"; + } + + typedef Digest { + type enumeration { + enum "md5" { + value 1; + description + "md5 algorithm"; + } + enum "sha1" { + value 2; + description + "sha1 algorithm"; + } + enum "sha256" { + value 3; + description + "sha256 algorithm"; + } + enum "sha384" { + value 4; + description + "sha384 algorithm"; + } + enum "sha512" { + value 5; + description + "sha512 algorithm"; + } + } + description + "Digest"; + } + + typedef Ren-msg { + type enumeration { + enum "pkcsreq" { + value 1; + description + "Use PKCSReq for certificate renewal"; + } + enum "renewalreq" { + value 2; + description + "Use RenewalReq for certificate renewal"; + } + } + description + "Ren msg"; + } + + grouping SFTP { + description + "Common node of trustpoint, system-trustpoint"; + container sftp { + description + "Secure FTP"; + leaf username { + type string; + description + "Secure FTP username"; + } + leaf password { + type xr:Proprietary-password; + description + "SFTP password in cleartext or encrypted form"; + } + } + } + + grouping VRF-TABLE { + description + "Common node of trustpoint, system-trustpoint, + trustpool"; + container vrf-table { + description + "vrf table"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name (max:32 chars)"; + } + } + } + + grouping CRL { + description + "Common node of trustpoint, system-trustpoint, + trustpool"; + container crl { + description + "CRL Parameters"; + leaf optional { + type empty; + description + "Set 'true' if CRL check is optional"; + } + } + } + + grouping QUERY { + description + "Common node of trustpoint, system-trustpoint"; + container query { + description + "Query Parameters"; + leaf url { + type string; + description + "CertificateAuthority Server Query URL"; + } + } + } + + grouping AUTO-ENROLL { + description + "Common node of trustpoint, system-trustpoint"; + leaf auto-enroll { + type uint32 { + range "1..99"; + } + units "percentage"; + description + "Percentage of certificate lifetime after which + renew will be triggered"; + } + } + + grouping RENEWAL-MESSAGE-TYPE { + description + "Common node of trustpoint, system-trustpoint"; + leaf renewal-message-type { + type Ren-msg; + description + "Configure SCEP renewal message type"; + } + } + + grouping ATTRIBUTE { + description + "Common node of trustpoint, system-trustpoint"; + container attribute { + description + "Trustpoint Attributes"; + container ip-address { + description + "Include IP-Address in certificate"; + leaf address { + type inet:ipv4-address-no-zone; + must "not(../no-address)"; + description + "IP address"; + } + leaf no-address { + type empty; + must "not(../address)"; + description + "Do not include IP address"; + } + } + leaf serial-number { + type boolean; + description + "Include serial number in certificate"; + } + leaf subject-name { + type string; + description + "Include subject name in certificate"; + } + } + } + + grouping RSA-KEY-PAIR { + description + "Common node of trustpoint, system-trustpoint, + openssh-trustpoint-name"; + leaf rsa-key-pair { + type string; + description + "RSA key Pair to use for enrolling this + Trustpoint"; + } + } + + grouping DESCRIPTION { + description + "Common node of trustpoint, system-trustpoint, + trustpool"; + leaf description { + type string { + length "1..80"; + } + description + "Description for this trustpoint"; + } + } + + grouping ENROLLMENT { + description + "Common node of trustpoint, system-trustpoint"; + container enrollment { + description + "Certificate Enrollment Parameters"; + container retry { + description + "Enrollment Retry Parameters"; + leaf period { + type uint32 { + range "1..60"; + } + units "minute"; + default "1"; + description + "How long to wait between retry requests to + CertificateAuthority for Certificate"; + } + leaf count { + type uint32 { + range "1..100"; + } + default "10"; + description + "How many times the router should poll + CertificateAuthority for Certificate"; + } + } + leaf url { + type string; + description + "CertificateAuthority Server Enrollment URL"; + } + } + } + + container keys { + description + "Generate rsa/dsa/ecdsa/ed25519 keys"; + container ecdsa-keypair-types { + description + "ECDSA keypair"; + list ecdsa-keypair-type { + key "name"; + description + "ECDSA Keypair curve type"; + container ecdsa-keypair-label { + description + "ECDSA Keypair Label"; + leaf ecdsa-key { + type boolean; + default "false"; + description + "Enables to generate default ecdsa keypair"; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Keypair type"; + } + } + } + container dsa-keypair-table { + description + "DSA keypair"; + container dsa-keypair { + description + "DSA Keypair Label"; + leaf dsa-key { + type uint32 { + range "512..2048"; + } + default "1024"; + description + "Generate DSA keypairs"; + } + } + } + container rsa-keypairs { + description + "RSA keypair"; + list rsa-keypair { + key "name"; + description + "RSA Keypair Label"; + container rsa-key { + description + "Generate RSA keypairs"; + leaf key-modulus { + type uint32 { + range "512..4096"; + } + default "2048"; + description + "RSA key modulus"; + } + leaf key-type { + type string; + default "general-keys"; + description + "Type of key to generate + general-keys/usage-keys"; + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..127"; + } + description + "Keypair Label"; + } + } + } + container ed25519-keypair-table { + description + "ED25519 keypair"; + container ed25519-keypair { + description + "ED25519 Keypair Label"; + leaf ed25519-key { + type boolean; + default "false"; + description + "Enables to generate default ed25519 keypair"; + } + } + } + } + container crypto-ca { + description + "Crypto CertificateAuthority"; + container fips-mode { + description + "fips mode configuration"; + leaf enable { + type empty; + description + "Fips Mode Enabled"; + } + } + container certificate-authority { + description + "Certification Authority"; + container system-trustpoint { + description + "Trustpoint Name"; + container keypair { + description + "keypair label"; + leaf type-key { + type Type-key; + description + "dsa/ecdsanistp256/ecdsanistp384/ecdsanistp521/rsa/ed25519"; + } + leaf name { + type string; + description + "key-pair label"; + } + } + container ca-keypair { + description + "self-enrollment ca-keypair label"; + leaf type-key { + type Type-key; + description + "dsa/ecdsanistp256/ecdsanistp384/ecdsanistp521/rsa/ed25519"; + } + leaf name { + type string; + description + "key-pair label"; + } + } + container key-usage { + description + "key usage field for the certificate"; + leaf dataencipherment { + type uint32 { + range "0..1"; + } + description + "Key usage field as data-encipherment for + certificate"; + } + leaf digitalsignature { + type uint32 { + range "0..1"; + } + description + "Key usage field as digital-signature for + certificate"; + } + leaf keyagreement { + type uint32 { + range "0..1"; + } + description + "Key usage field as key-agreement for + certificate"; + } + leaf keyencipherment { + type uint32 { + range "0..1"; + } + description + "Key usage field as key-encipherment for + certificate"; + } + leaf nonrepudiation { + type uint32 { + range "0..1"; + } + description + "Key usage field as non-repudiation for + certificate"; + } + } + container key-usage-ca { + description + "key usage field for the CA certificate"; + leaf crlsign { + type uint32 { + range "0..1"; + } + description + "Key usage field as crl-sign for CA + certificate"; + } + leaf digitalsignature { + type uint32 { + range "0..1"; + } + description + "Key usage field as digital-signature for CA + certificate"; + } + leaf keycertsign { + type uint32 { + range "0..1"; + } + description + "Key usage field as key-certsign for CA + certificate"; + } + leaf nonrepudiation { + type uint32 { + range "0..1"; + } + description + "Key usage field as non-repudiation for CA + certificate"; + } + } + leaf subject-name-ca { + type string; + description + "Ca Certificate subject name for self + enrollment"; + } + leaf message-digest { + type Digest; + description + "Certificate message digest self enrollment"; + } + leaf lifetime-ca-cert { + type uint32 { + range "30..5475"; + } + units "day"; + default "365"; + description + "Validity of ca certficate in days"; + } + leaf lifetime-cert { + type uint32 { + range "30..5474"; + } + units "day"; + default "200"; + description + "Validity of leaf certficate in days"; + } + uses SFTP; + uses ATTRIBUTE; + uses RSA-KEY-PAIR; + uses CRL; + uses RENEWAL-MESSAGE-TYPE; + uses ENROLLMENT; + uses VRF-TABLE; + uses QUERY; + uses AUTO-ENROLL; + uses DESCRIPTION; + } + container trustpool { + description + "Trustpool Related Configuration"; + container cabundle { + description + "CA bundle download parameters"; + leaf url { + type string; + description + "CertificateAuthority bundle download + parameters"; + } + } + uses CRL; + uses VRF-TABLE; + uses DESCRIPTION; + } + container trustpoints { + description + "Trustpoint Related Configuration"; + list trustpoint { + key "name"; + description + "Trustpoint Name"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Trustpoint Name"; + } + uses SFTP; + uses ATTRIBUTE; + uses RSA-KEY-PAIR; + uses CRL; + uses RENEWAL-MESSAGE-TYPE; + uses ENROLLMENT; + uses VRF-TABLE; + uses QUERY; + uses AUTO-ENROLL; + uses DESCRIPTION; + } + } + container openssh-trustpoint-names { + description + "OpenSSH Trustpoint Related Configuration"; + list openssh-trustpoint-name { + key "tp-name"; + description + "Trustpoint Name"; + leaf tp-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Enter TP name"; + } + uses RSA-KEY-PAIR; + } + } + leaf curl-timeout { + type uint32 { + range "5..50"; + } + units "second"; + description + "Value in seconds for a CURL request to timeout"; + } + leaf rsa1024 { + type empty; + description + "Specify rsa key bit 1024 or lesser size allowed + or not"; + } + } + container http-proxy { + description + "Specify proxy server and port for http request"; + leaf server { + type string; + description + "Http proxy server"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "Http proxy server port"; + } + } + container source-interface { + description + "Specify source interface for http request"; + leaf source-interface { + type xr:Interface-name; + description + "Source interface for CRL"; + } + leaf addr-type { + type Addr; + description + "IPv4 / IPv6"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper-sub1.yang new file mode 100644 index 000000000..b862bfa5f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper-sub1.yang @@ -0,0 +1,178 @@ +submodule Cisco-IOS-XR-crypto-cepki-new-oper-sub1 { + belongs-to Cisco-IOS-XR-crypto-cepki-new-oper { + prefix Cisco-IOS-XR-crypto-cepki-new-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR crypto-cepki-new package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-08 { + description + "oper support added for mypub key ECDSA."; + semver:module-version "1.0.0"; + } + revision 2022-05-04 { + description + "oper support added for mypub key DSA and RSA."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Yang2bag-string { + type string; + description + "Yang2bag string"; + } + + grouping CEPKI-MYPUBKEY-DSA { + description + "Crypto key mypubkey DSA info"; + leaf key-label { + type string { + length "0..128"; + } + description + "Crypto key mypubkey DSA key label"; + } + leaf key-type { + type string { + length "0..100"; + } + description + "Crypto key mypubkey DSA key type"; + } + leaf key-size { + type uint32; + description + "Crypto key mypubkey DSA key size mod bits"; + } + leaf key-creation-time { + type uint32; + units "second"; + description + "Key creation timestamp in Epoch seconds"; + } + leaf tam-status { + type Yang2bag-string; + description + "DSA TAM status"; + } + leaf key-data { + type string { + length "0..5000"; + } + description + "DSA key data"; + } + } + + grouping CEPKI-MYPUBKEY-ECDSA { + description + "Crypto key mypubkey ECDSA info"; + leaf key-label { + type string { + length "0..128"; + } + description + "Crypto key mypubkey ECDSA key label"; + } + leaf key-type { + type string { + length "0..100"; + } + description + "Crypto key mypubkey ECDSA key type"; + } + leaf degree { + type uint32; + description + "Crypto key mypubkey ECDSA key size mod bits"; + } + leaf key-creation-time { + type uint32; + units "second"; + description + "Key creation timestamp in Epoch seconds"; + } + leaf tam-status { + type Yang2bag-string; + description + "DSA TAM status"; + } + leaf key-data { + type string { + length "0..5000"; + } + description + "ECDSA key data"; + } + } + + grouping CEPKI-MYPUBKEY-RSA { + description + "Crypto key mypubkey RSA info"; + leaf key-label { + type string { + length "0..128"; + } + description + "Crypto key mypubkey RSA key label"; + } + leaf key-type { + type string { + length "0..100"; + } + description + "Crypto key mypubkey RSA key type"; + } + leaf key-size { + type uint32; + description + "Crypto key mypubkey RSA key size mod bits"; + } + leaf key-creation-time { + type uint32; + units "second"; + description + "Key creation timestamp in Epoch seconds"; + } + leaf tam-status { + type Yang2bag-string; + description + "DSA TAM status"; + } + leaf key-data { + type string { + length "0..5000"; + } + description + "RSA key data"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper.yang new file mode 100644 index 000000000..47de2355c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-new-oper.yang @@ -0,0 +1,145 @@ +module Cisco-IOS-XR-crypto-cepki-new-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-new-oper"; + prefix crypto-cepki-new-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-crypto-cepki-new-oper-sub1 { + revision-date 2022-06-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-cepki-new package operational data. + + This module contains definitions + for the following management objects: + crypto-cepki: Public Key Infrastructure Related Information + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-08 { + description + "oper support added for mypub key ECDSA."; + semver:module-version "1.0.0"; + } + revision 2022-05-04 { + description + "oper support added for mypub key DSA and RSA."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container crypto-cepki { + config false; + description + "Public Key Infrastructure Related Information"; + container mypubkey { + description + "Public Key Infrastructure Related Information"; + container rsa-keys { + description + "RSA Keys"; + list rsa-key { + key "rsa-key-name"; + description + "RSA Key Related Information"; + leaf rsa-key-name { + type xr:Cisco-ios-xr-string; + description + "RSA key name"; + } + uses CEPKI-MYPUBKEY-RSA; + } + } + container ecdsa { + description + "Public ECDSA Key Infrastructure Related + Information"; + container nistp384-keys { + description + "ECDSA NIST P-384 Keys"; + list nistp384-key { + key "key-name"; + description + "ECDSA NIST P-384 Key Information"; + leaf key-name { + type xr:Cisco-ios-xr-string; + description + "ECDSA NIST P-384 key name"; + } + uses CEPKI-MYPUBKEY-ECDSA; + } + } + container nistp521-keys { + description + "ECDSA NIST P-521 Keys"; + list nistp521-key { + key "key-name"; + description + "ECDSA NIST P-521 Key Information"; + leaf key-name { + type xr:Cisco-ios-xr-string; + description + "ECDSA NIST P-521 key name"; + } + uses CEPKI-MYPUBKEY-ECDSA; + } + } + container nistp256-keys { + description + "ECDSA NIST P-256 Keys"; + list nistp256-key { + key "key-name"; + description + "ECDSA NIST P-256 Key Information"; + leaf key-name { + type xr:Cisco-ios-xr-string; + description + "ECDSA NIST P-256 key name"; + } + uses CEPKI-MYPUBKEY-ECDSA; + } + } + } + container dsa-keys { + description + "DSA Keys"; + list dsa-key { + key "dsa-key-name"; + description + "DSA Key Related Information"; + leaf dsa-key-name { + type xr:Cisco-ios-xr-string; + description + "DSA key name"; + } + uses CEPKI-MYPUBKEY-DSA; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-oper.yang new file mode 100644 index 000000000..282c81400 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-cepki-oper.yang @@ -0,0 +1,287 @@ +module Cisco-IOS-XR-crypto-cepki-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-oper"; + prefix crypto-cepki-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-cepki package operational data. + + This module contains definitions + for the following management objects: + crypto-certificate-authority: Public Key Infrastructure + Related Information + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-06 { + description + "Added serial number and fingerprint for ca. + 2022-03-20 + OpenSSH certificate support."; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CERTIFICATE-EXPIRES-ON { + description + "Common node of certificate-authority-certificate, + router-certificate, router-signature-certificate, + router-encryption-certificate"; + leaf certificate-expires-on { + type uint64; + units "second"; + description + "Valid before date of the Certificate, in seconds + since 00:00:00 UTC, January 1, 1970"; + } + } + + grouping SERIAL-NUM { + description + "Common node of certificate-authority-certificate, + router-certificate, router-signature-certificate, + router-encryption-certificate"; + leaf serial-num { + type string; + description + "Serial number of the Certificate"; + } + } + + grouping ISSUER { + description + "Common node of certificate-authority-certificate, + router-certificate, router-signature-certificate, + router-encryption-certificate"; + leaf issuer { + type string; + description + "Issuer Name of the Certificate"; + } + } + + grouping FINGER-PRINT { + description + "Common node of certificate-authority-certificate, + router-certificate, router-signature-certificate, + router-encryption-certificate"; + leaf finger-print { + type string; + description + "SHA1 Fingerprint of the Certificate"; + } + } + + grouping CRL-DISTRIBUTION-POINT-TABLE { + description + "Common node of certificate-authority-certificate, + router-certificate, router-signature-certificate, + router-encryption-certificate"; + container crl-distribution-points { + description + "Router Certificates CRLDistributionPoint Table"; + list crl-distribution-point { + key "index"; + description + "Certificate CRLDistributionPoint Instance"; + leaf index { + type uint32; + description + "CDP Entry Index"; + } + leaf cdp-content { + type string; + mandatory true; + description + "CRLDistributionPoint Content"; + } + } + } + } + + grouping CERTIFICATE-VALID-FROM { + description + "Common node of certificate-authority-certificate, + router-certificate, router-signature-certificate, + router-encryption-certificate"; + leaf certificate-valid-from { + type uint64; + units "second"; + description + "Valid from date of the Certificate, in seconds + since 00:00:00 UTC, January 1, 1970"; + } + } + + grouping SUBJECT { + description + "Common node of certificate-authority-certificate, + router-certificate, router-signature-certificate, + router-encryption-certificate"; + leaf subject { + type string; + description + "Subject Name of the Certificate"; + } + } + + container crypto-certificate-authority { + config false; + description + "Public Key Infrastructure Related Information"; + container trustpoints { + description + "CA Trustpoint Table Information"; + list trustpoint { + key "name"; + description + "Certificate Information for a particular + Trustpoint"; + container router-certificate { + description + "Router Certificate Attributes"; + uses SUBJECT; + uses CERTIFICATE-VALID-FROM; + uses CRL-DISTRIBUTION-POINT-TABLE; + uses CERTIFICATE-EXPIRES-ON; + uses SERIAL-NUM; + uses FINGER-PRINT; + uses ISSUER; + } + container router-encryption-certificate { + description + "Router Encryption Certificate Attributes"; + uses SUBJECT; + uses CERTIFICATE-VALID-FROM; + uses CRL-DISTRIBUTION-POINT-TABLE; + uses CERTIFICATE-EXPIRES-ON; + uses SERIAL-NUM; + uses FINGER-PRINT; + uses ISSUER; + } + container router-signature-certificate { + description + "Router Signature Certificate Attributes"; + uses SUBJECT; + uses CERTIFICATE-VALID-FROM; + uses CRL-DISTRIBUTION-POINT-TABLE; + uses CERTIFICATE-EXPIRES-ON; + uses SERIAL-NUM; + uses FINGER-PRINT; + uses ISSUER; + } + container certificate-authority-certificate { + description + "Certificate Authority Certificate Attributes"; + uses SUBJECT; + uses CERTIFICATE-VALID-FROM; + uses CRL-DISTRIBUTION-POINT-TABLE; + uses CERTIFICATE-EXPIRES-ON; + uses SERIAL-NUM; + uses FINGER-PRINT; + uses ISSUER; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "The Trustpoint to query"; + } + } + } + container openssh { + description + "Certificate Authority OpenSSH Trustpoint Table + Information"; + container openssh-trustpoints { + description + "Certificate Authority OpenSSH Trustpoint Table + Information"; + list openssh-trustpoint { + key "name"; + description + "Certificate Information for a particular + OpenSSH Trustpoint"; + container openssh-router-certificate { + description + "OpenSSH Router Certificate Attributes"; + leaf principal { + type string; + description + "Principal name for OpenSSH Router + Certificate "; + } + leaf pub-key-type { + type string; + description + "Pubkey type for OpenSSH Router Certificate"; + } + leaf expires-on { + type uint64; + description + "Valid before date of the Certificate"; + } + leaf comment { + type string; + description + "Comment for OpenSSH Router Certificate"; + } + leaf serial { + type uint64; + description + "Serial no. of OpenSSH Router Certificate"; + } + leaf key-id { + type string; + description + "Key Id of OpenSSH Router Certificate "; + } + leaf valid-from { + type uint64; + description + "Valid from date of the Certificate"; + } + } + leaf openssh-certificate-authority-certificate { + type string; + description + "OpenSSH Certificate Authority Certificate + Attributes"; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "OpenSSH Trustpoint name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-cfg.yang new file mode 100644 index 000000000..f49f00cd1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-cfg.yang @@ -0,0 +1,330 @@ +module Cisco-IOS-XR-crypto-macsec-mka-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-mka-cfg"; + prefix crypto-macsec-mka-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-macsec-mka package configuration. + + This module contains definitions + for the following management objects: + macsec: MACSec MKA + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-20 { + description + "Changed the sysdb path for ppk submode in policy"; + semver:module-version "1.3.0"; + } + revision 2020-04-08 { + description + "MKA Fallback + 2019-05-27 + MKA ISSU"; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "MKA ISSU"; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Macsec-mka-window-size { + type uint32 { + range "0..1024"; + } + description + "Macsec mka window size"; + } + + typedef Macsec-mka-security-policy { + type enumeration { + enum "should-secure" { + value 0; + description + "should secure"; + } + enum "must-secure" { + value 1; + description + "must secure"; + } + } + description + "Macsec mka security policy"; + } + + typedef Macsec-mka-key-server-priority { + type uint32 { + range "0..255"; + } + description + "Macsec mka key server priority"; + } + + typedef Macsec-mka-policy-exception { + type enumeration { + enum "lacp-in-clear" { + value 1; + description + "lacp in clear"; + } + } + description + "Macsec mka policy exception"; + } + + typedef Macsec-mka-cipher-suite { + type enumeration { + enum "gcm-aes-128" { + value 1; + description + "GCM AES 128"; + } + enum "gcm-aes-256" { + value 2; + description + "GCM AES 256"; + } + enum "gcm-aes-xpn-128" { + value 3; + description + "GCM AES XPN 128"; + } + enum "gcm-aes-xpn-256" { + value 4; + description + "GCM AES XPN 256"; + } + } + description + "Macsec mka cipher suite"; + } + + typedef Macsec-mka-conf-offset { + type enumeration { + enum "conf-off-set-0" { + value 0; + description + "CONF OFFSET 0"; + } + enum "conf-off-set-30" { + value 30; + description + "CONF OFFSET 30"; + } + enum "conf-off-set-50" { + value 50; + description + "CONF OFFSET 50"; + } + } + description + "Macsec mka conf offset"; + } + + typedef Macsec-mka-sak-rekey-interval { + type uint32 { + range "1..43200"; + } + description + "Macsec mka sak rekey interval"; + } + + typedef Macsec-mka-sak-rekey-interval-sec { + type uint32 { + range "60..2592000"; + } + description + "Macsec mka sak rekey interval sec"; + } + + typedef Macsec-mka-vlan-tags-in-clear { + type uint32 { + range "1..2"; + } + description + "Macsec mka vlan tags in clear"; + } + + container macsec { + description + "MACSec MKA"; + container policy-names { + description + "MACSec Policy"; + list policy-name { + key "name"; + description + "MACsec Policy Name"; + container allow { + description + "To allow certains data in clear text"; + leaf lacp-in-clear { + type empty; + description + "To allow lacp packets in clear text"; + } + leaf pause-frame-in-clear { + type empty; + description + "To allow pause frames in clear text"; + } + } + container suspend-for { + description + "suspendFor timer value for mka suspension"; + leaf disable { + type empty; + description + "Disable suspend for in issu"; + } + } + container ppk { + description + "PPK mode related policy"; + leaf ppk-sub { + type empty; + description + "This indicates existance of PPK"; + } + leaf sks-profile { + type xr:Cisco-ios-xr-string { + length "1..253"; + } + description + "SKS Profile Name"; + } + } + leaf suspend-on-request-disable { + type empty; + description + "Disable suspend on request in issu"; + } + leaf delay-protection { + type empty; + description + "Enables data delay protection"; + } + leaf security-policy { + type Macsec-mka-security-policy; + description + "Security-Policy of Policy"; + } + leaf created { + type empty; + description + "This indicates the existence of Policy"; + } + leaf key-server-priority { + type Macsec-mka-key-server-priority; + description + "Key-Server-Priority of Policy"; + } + leaf conf-offset { + type Macsec-mka-conf-offset; + description + "Conf-Offset of Policy"; + } + leaf sak-rekey-interval { + type Macsec-mka-sak-rekey-interval; + units "minute"; + description + "DEPRECATED-Interval(in minutes) after which + key-server generates new SAK for a Secured + Session, Default: OFF, recommended to use + seconds option"; + } + leaf policy-exception { + type Macsec-mka-policy-exception; + description + "Macsec policy exception for packets to be in + clear"; + } + leaf window-size { + type Macsec-mka-window-size; + description + "Window-Size of Policy"; + } + leaf enable-legacy-fallback { + type empty; + description + "Enable legacy fallback functionality"; + } + leaf cipher-suite { + type Macsec-mka-cipher-suite; + description + "Cipher-suite of Policy"; + } + leaf include-icv-indicator { + type empty; + description + "Enables Include ICV Indicator paramset in + MKPDU"; + } + leaf use-eapol-pae-in-icv { + type empty; + description + "Enable use eapol pae address in icv"; + } + leaf sak-rekey-interval-sec { + type Macsec-mka-sak-rekey-interval-sec; + units "second"; + description + "Interval(in seconds) after which key-server + generates new SAK for a Secured Session, + Default: OFF"; + } + leaf vlan-tags-in-clear { + type Macsec-mka-vlan-tags-in-clear; + description + "VLAN-Tags-In-Clear of Policy"; + } + leaf enable-legacy-sak-write { + type empty; + description + "To interop with legacy ncs5500 coherent + systems"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "Name of the Policy of maximum length 16"; + } + } + } + leaf shutdown { + type empty; + description + "Disable macsec on all data ports(system wide), + has no impact on macsec configs"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-if-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-if-cfg.yang new file mode 100644 index 000000000..49e6b41e3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-if-cfg.yang @@ -0,0 +1,134 @@ +module Cisco-IOS-XR-crypto-macsec-mka-if-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-mka-if-cfg"; + prefix crypto-macsec-mka-if-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-macsec-mka-if package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Eap-list { + type string { + pattern "(eap)"; + } + description + "eap: eap config"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container macsec { + description + "MACSec service for an interface"; + container macsec-service { + presence "Indicates a macsec-service node is configured."; + description + "macsec-service configuration on interface"; + leaf decrypt-port { + type xr:Interface-name; + mandatory true; + description + "macsec service decryption port"; + } + leaf key-chain { + type string { + length "1..32"; + } + mandatory true; + description + "name of keychain"; + } + leaf policy { + type string { + length "1..16"; + } + description + "name of policy"; + } + } + container eap { + description + "Enabling MACSec eap Configuration on Interface"; + leaf eap-config { + type Eap-list; + description + "Eap config"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "Name of Policy"; + } + } + container psk-key-chain { + presence "Indicates a psk-key-chain node is configured."; + description + "MACSec MKA Configuration on Interface"; + leaf key-chain-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "Name of KeyChainName"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "Name of Policy"; + } + leaf fallback-key-chain { + type string { + length "1..32"; + } + description + "name of fallback keychain"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper-sub1.yang new file mode 100644 index 000000000..7dfaf68f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper-sub1.yang @@ -0,0 +1,1299 @@ +submodule Cisco-IOS-XR-crypto-macsec-mka-oper-sub1 { + belongs-to Cisco-IOS-XR-crypto-macsec-mka-oper { + prefix Cisco-IOS-XR-crypto-macsec-mka-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR crypto-macsec-mka package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-28 { + description + "Added global MKPDU validation error stat + 2022-02-08 + Added Standby Container for MKA operational info"; + semver:module-version "2.0.1m"; + } + revision 2021-05-13 { + description + "Changed the latest SAK data field to last SAK + 2021-05-12 + Removed unwanted fields in CA bag for stats"; + semver:module-version "2.0.0"; + } + revision 2021-04-15 { + description + "Modified to display session stats + 2021-02-17 + Modified to display port power status + 2021-01-19 + show_mka.bag dormant entry remove + 2020-08-24 + MKA PPK"; + semver:module-version "2.0.0"; + } + revision 2019-05-27 { + description + "MKA ISSU"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "MKA ISSU"; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mka-authentication-mode { + type enumeration { + enum "auth-mode-invalid" { + value 0; + description + "Invalid authentication mode"; + } + enum "auth-mode-psk" { + value 1; + description + "Preshared Key"; + } + enum "auth-mode-eap" { + value 2; + description + "EAP"; + } + } + description + "Mka authentication mode"; + } + + typedef Macsec-service-port { + type enumeration { + enum "macsec-service-port-none" { + value 0; + description + "Macsec Service not enabled"; + } + enum "macsec-service-port-encryption" { + value 1; + description + "Macsec Service Encryption Port"; + } + enum "macsec-service-port-decryption" { + value 2; + description + "Macsec Service Decryption Port"; + } + } + description + "Macsec service port"; + } + + typedef Macsec-cipher-suite { + type enumeration { + enum "cipher-suite-none" { + value 0; + description + "Invalid MACsec cipher"; + } + enum "cipher-suite-gcm-aes-128" { + value 1; + description + "128 bit GCM_AES MACsec cipher suite"; + } + enum "cipher-suite-gcm-aes-256" { + value 2; + description + "256 bit GCM_AES MACsec cipher suite"; + } + enum "cipher-suite-gcm-aes-128-xpn" { + value 3; + description + "128 bit GCM_AES MACsec XPN cipher suite"; + } + enum "cipher-suite-gcm-aes-256-xpn" { + value 4; + description + "256 bit GCM_AES MACsec XPN cipher suite"; + } + } + description + "Macsec cipher suite"; + } + + grouping MKA-INTERFACE-SUMMARY { + description + "MKA INTERFACE SUMMARY"; + leaf interface-name { + type string; + description + "macsec configured interface"; + } + leaf short-name { + type string; + description + "Short Name String"; + } + leaf key-chain { + type string; + description + "Name of the Key chain"; + } + leaf policy { + type string; + description + "Policy name"; + } + leaf macsec-svc-port { + type boolean; + description + "Is macsec-service port or not"; + } + leaf macsec-svc-port-type { + type Macsec-service-port; + description + "Macsec-service Encryption / Decryption port"; + } + leaf svcport-short-name { + type string; + description + "Macsec Service paired port Short Name String"; + } + leaf mka-mode { + type Mka-authentication-mode; + description + "MKA authentication mode"; + } + leaf fallback-keychain { + type string; + description + "fallback Keychain name"; + } + leaf macsec-shutdown { + type boolean; + description + "MacsecShutdown"; + } + } + + grouping MKA-INTERFACE-INFO { + description + "MKA INTERFACE INFO"; + container interface-summary { + description + "MKA Interface Summary"; + uses MKA-INTERFACE-SUMMARY; + } + } + + grouping MKA-CA-PPK-FAILURE { + description + "MKA CA PPK FAILURE"; + leaf ppk-id-null-recv { + type uint32; + description + "PPK ID NULL recv"; + } + leaf ppk-id-mismatch { + type uint32; + description + "PPK ID mismatch"; + } + leaf ppk-req-timeout { + type uint32; + description + "PPK Request timeout"; + } + leaf ppk-tuple-fail { + type uint32; + description + "PPK Tuple Fail"; + } + leaf ppk-retrieval-fail { + type uint32; + description + "PPK retrieval fail"; + } + leaf ppk-retry-fail { + type uint32; + description + "PPK retry fail"; + } + leaf ppk-tid-mismatch { + type uint32; + description + "PPK TID mismatch"; + } + leaf ppk-aipc-conn-down { + type uint32; + description + "PPK Aipc conn down"; + } + } + + grouping MKPDU-CA-RX-FAIL { + description + "MKPDU CA RX FAIL"; + leaf rx-icv-validation-fail { + type uint32; + description + "Rx ICV validation fail"; + } + leaf rx-pkt-validation-fail { + type uint32; + description + "Rx MKPDU packet validation fail"; + } + leaf rx-bad-peer-mn { + type uint32; + description + "Rx Bad Peer MN"; + } + leaf rx-non-recent-peerlist-mn { + type uint32; + description + "Rx non-recent peerlist MN"; + } + leaf rx-sak-use-kn-mismatch { + type uint32; + description + "Rx SAK USE KN mismatch"; + } + leaf rx-sak-use-rx-not-set { + type uint32; + description + "Rx SAK USE rx not set"; + } + leaf rx-sak-use-key-mi-mismatch { + type uint32; + description + "Rx SAK USE Key MI mismatch"; + } + leaf rx-sak-use-an-not-in-use { + type uint32; + description + "Rx SAK USE AN not in use"; + } + leaf rx-sak-use-ks-rx-tx-not-set { + type uint32; + description + "Rx SAK USE KS RX/TX not set"; + } + leaf ppk-id-nak { + type uint32; + description + "PPK ID NAK"; + } + leaf ppk-id-not-found { + type uint32; + description + "PPK id not found"; + } + } + + grouping MKPDU-CA-RX { + description + "MKPDU CA RX"; + leaf mkpdu-received { + type uint32; + description + "MKPDU Received"; + } + leaf dist-sak { + type uint32; + description + "Distributed SAK"; + } + leaf dist-ppk { + type uint32; + description + "Distributed PPK"; + } + leaf dist-cak { + type uint32; + description + "Distributed CAK"; + } + leaf ppk-capable { + type uint32; + description + "PPK Cabable"; + } + } + + grouping MKPDU-CA-TX { + description + "MKPDU CA TX"; + leaf mkpdu-transmitted { + type uint32; + description + "MKPDU Transmitted"; + } + leaf dist-sak { + type uint32; + description + "Distributed SAK"; + } + leaf dist-ppk { + type uint32; + description + "Distributed PPK"; + } + leaf dist-cak { + type uint32; + description + "Distributed CAK"; + } + leaf ppk-capable { + type uint32; + description + "PPK Cabable"; + } + } + + grouping MKA-MKPDU-CA-STATS { + description + "MKA MKPDU CA STATS"; + container ca-tx { + description + "MKPDU CA tx stats"; + uses MKPDU-CA-TX; + } + container ca-rx { + description + "MKPDU CA rx stats"; + uses MKPDU-CA-RX; + } + container ca-rx-fail { + description + "CA Rx Fail"; + uses MKPDU-CA-RX-FAIL; + } + } + + grouping MKA-KEY-DERIVATION-STATS { + description + "MKA KEY DERIVATION STATS"; + leaf sak-generated { + type uint32; + description + "SAK Generated"; + } + leaf sak-rekeyed { + type uint32; + description + "SAK Rekeyed"; + } + leaf sak-received { + type uint32; + description + "SAK Received"; + } + leaf sak-resp-rvcd { + type uint32; + description + "SAK Respone Received"; + } + leaf ppk-tuple-generated { + type uint32; + description + "PPK Tuple Generated"; + } + leaf ppk-retrieved { + type uint32; + description + "PPK Retrieved"; + } + leaf pairwise-cak-derived { + type uint32; + description + "Pairwise CAK derived"; + } + leaf pairwise-cak-rekey { + type uint32; + description + "Pairwise CAK rekey"; + } + } + + grouping MKA-INTF-CA-STATS { + description + "MKA INTF CA STATS"; + container key-derivation-stats { + description + "MKA Key derivation stats"; + uses MKA-KEY-DERIVATION-STATS; + } + container mkpdu-stats { + description + "MKA MKPDU CA stats"; + uses MKA-MKPDU-CA-STATS; + } + container ppk-failure { + description + "CA PPK Failure"; + uses MKA-CA-PPK-FAILURE; + } + leaf ckn { + type string; + description + "CKN"; + } + leaf ca-type { + type string; + description + "CA type"; + } + } + + grouping MKA-MACSEC-FAILURE { + description + "MKA MACSEC FAILURE"; + leaf rx-sc-creation { + type uint32; + description + "Rx SC creation failure"; + } + leaf tx-sc-creation { + type uint32; + description + "Tx SC creation failure"; + } + leaf rx-sa-install { + type uint32; + description + "Rx SA install failure"; + } + leaf tx-sa-install { + type uint32; + description + "Tx SA install failure"; + } + } + + grouping MKA-IDB-PPK-FAILURE { + description + "MKA IDB PPK FAILURE"; + leaf ppk-id-null-recv { + type uint32; + description + "PPK ID NULL recv"; + } + leaf ppk-id-mismatch { + type uint32; + description + "PPK ID mismatch"; + } + leaf ppk-req-timeout { + type uint32; + description + "PPK Request timeout"; + } + leaf ppk-tuple-fail { + type uint32; + description + "PPK Tuple Fail"; + } + leaf ppk-retrieval-fail { + type uint32; + description + "PPK retrieval fail"; + } + leaf ppk-retry-fail { + type uint32; + description + "PPK retry fail"; + } + leaf ppk-tid-mismatch { + type uint32; + description + "PPK TID mismatch"; + } + leaf ppk-hash-key-gen { + type uint32; + description + "PPK Hash key generation fail"; + } + leaf ppk-id-encr-wrap { + type uint32; + description + "PPK Id encryption/Wrap fail"; + } + leaf ppk-id-decr-unwrap { + type uint32; + description + "PPK id decryption/unwrap fail"; + } + leaf ppk-aipc-conn-down { + type uint32; + description + "PPK Aipc conn down"; + } + } + + grouping MKA-SAK-FAILURE { + description + "MKA SAK FAILURE"; + leaf sak-gen { + type uint32; + description + "SAK gen failure"; + } + leaf hash-key-gen { + type uint32; + description + "Hash key gen failure"; + } + leaf sak-encr-wrap { + type uint32; + description + "SAK Encryption/Wrap Failure"; + } + leaf sak-decr-unwrap { + type uint32; + description + "SAK Decryption/Unwrap Failure"; + } + } + + grouping MKA-IDB-FAILURE-STATS { + description + "MKA IDB FAILURE STATS"; + container sak-failure { + description + "MKA IDB SAK Failure"; + uses MKA-SAK-FAILURE; + } + container ppk-failure { + description + "MKA IDB PPK Failure"; + uses MKA-IDB-PPK-FAILURE; + } + container macsec-failure { + description + "MKA IDB MACsec Failure"; + uses MKA-MACSEC-FAILURE; + } + } + + grouping MKPDU-OPER-STATS { + description + "MKPDU OPER STATS"; + leaf tx-success { + type uint32; + description + "MKPDU Tx Success"; + } + leaf rx-success { + type uint32; + description + "MKPDU Rx Success"; + } + leaf tx-force-suspended { + type uint32; + description + "MKPDU Tx force suspended"; + } + leaf rx-force-suspended { + type uint32; + description + "MKPDU Rx force suspended"; + } + leaf no-tx-on-intf-down { + type uint32; + description + "No Tx on intf down"; + } + leaf no-rx-on-intf-down { + type uint32; + description + "No Rx on intf down"; + } + leaf tx-fail { + type uint32; + description + "Tx Fail"; + } + leaf tx-pkt-build-fail { + type uint32; + description + "Tx Pkt Build Fail"; + } + leaf rx-ca-not-found { + type uint32; + description + "Rx CA not found"; + } + leaf rx-error { + type uint32; + description + "Rx Error"; + } + leaf rx-invalid-length { + type uint32; + description + "Rx Invalid length"; + } + leaf rx-invalid-ckn { + type uint32; + description + "Rx invalid ckn"; + } + leaf rx-icv-validation-fail { + type uint32; + description + "Rx ICV validation fail"; + } + leaf rx-pkt-validation-fail { + type uint32; + description + "Rx MKPDU packet validation fail"; + } + leaf rx-bad-peer-mn { + type uint32; + description + "Rx Bad Peer MN"; + } + leaf rx-non-recent-peerlist-mn { + type uint32; + description + "Rx non-recent peerlist MN"; + } + leaf rx-sak-use-kn-mismatch { + type uint32; + description + "Rx SAK USE KN mismatch"; + } + leaf rx-sak-use-rx-not-set { + type uint32; + description + "Rx SAK USE rx not set"; + } + leaf rx-sak-use-key-mi-mismatch { + type uint32; + description + "Rx SAK USE Key MI mismatch"; + } + leaf rx-sak-use-an-not-in-use { + type uint32; + description + "Rx SAK USE AN not in use"; + } + leaf rx-sak-use-ks-rx-tx-not-set { + type uint32; + description + "Rx SAK USE KS RX/TX not set"; + } + leaf rx-pkt-sak-use-ethertype-mismatch { + type uint32; + description + "RX Packet ethertype mismatch"; + } + leaf rx-pkt-source-mac-null { + type uint32; + description + "Rx Packet Source mac null"; + } + leaf rx-pkt-dest-mac-null { + type uint32; + description + "Rx Packet dest mac null"; + } + leaf rx-pkt-pyld-null { + type uint32; + description + "Rx Packet Payload Null"; + } + leaf ppk-id-nak { + type uint32; + description + "PPK ID NAK"; + } + leaf ppk-id-not-found { + type uint32; + description + "PPK id not found"; + } + } + + grouping MKA-INTF-IDB-STATS { + description + "MKA INTF IDB STATS"; + container mkpdu-stats { + description + "MKPDU Stats"; + uses MKPDU-OPER-STATS; + } + container failure-stats { + description + "MKA IDB Failure Stats"; + uses MKA-IDB-FAILURE-STATS; + } + } + + grouping LAST-SAK-DATA { + description + "LAST SAK DATA"; + leaf an { + type string; + description + "AN"; + } + leaf sa-install-time { + type string; + description + "SA Install Time"; + } + } + + grouping MKA-INTF-SESSION-STATS { + description + "MKA INTF SESSION STATS"; + container sak-data { + description + "Last SAK Data"; + uses LAST-SAK-DATA; + } + leaf link-secure-up-time { + type string; + description + "Link Secure Uptime"; + } + leaf session-up-time { + type string; + description + "Session Uptime"; + } + leaf sak-rekey-count-ha { + type uint32; + description + "Number of SAK Rekeys (since link secured)"; + } + leaf sak-rekey-count { + type uint32; + description + "Number of SAK Rekeys"; + } + } + + grouping MKA-INTF-STATISTICS { + description + "MKA INTF STATISTICS"; + container session-stats { + description + "Session Stats for interface"; + uses MKA-INTF-SESSION-STATS; + } + container idb-stats { + description + "IDB stats for interface"; + uses MKA-INTF-IDB-STATS; + } + leaf interface-name { + type string; + description + "Interface Name"; + } + list ca-stat { + description + "List of CA stats"; + uses MKA-INTF-CA-STATS; + } + } + + grouping SUSPEND-PEER-DATA { + description + "SUSPEND PEER DATA"; + leaf rx-sci { + type uint64; + description + "RX SCI"; + } + leaf rx-ssci { + type uint32; + description + "RX SSCI"; + } + } + + grouping PEER-DATA { + description + "PEER DATA"; + leaf mi { + type string; + description + "Member ID"; + } + leaf sci { + type string; + description + "Rx SCI"; + } + leaf mn { + type uint32; + description + "Message Number"; + } + leaf priority { + type uint32; + description + "KS Priority"; + } + leaf ssci { + type uint32; + description + "Peer SSCI"; + } + } + + grouping CA-DATA { + description + "CA DATA"; + container peers-status { + description + "Peers Status"; + uses PEERS-STATUS-DATA; + } + leaf is-key-server { + type boolean; + description + "Is Key Server"; + } + leaf status { + type string; + description + "Session Status [Secured/Not Secured]"; + } + leaf num-live-peers { + type uint32; + description + "Number of Live Peers"; + } + leaf first-ca { + type boolean; + description + "Is First CA"; + } + leaf peer-sci { + type string; + description + "Peer SCI(MAC)"; + } + leaf num-live-peers-responded { + type uint32; + description + "Number of Live Peers responded"; + } + leaf ckn { + type string; + description + "CKN"; + } + leaf my-mi { + type string; + description + "Member Identifier"; + } + leaf my-mn { + type uint32; + description + "Message Number"; + } + leaf authenticator { + type boolean; + description + "authenticator"; + } + leaf num-suspend-request { + type uint32; + description + "Number of Suspend Request"; + } + leaf status-description { + type string; + description + "Status Description"; + } + leaf authentication-mode { + type string; + description + "CA Authentication Mode + :PRIMARY-PSK/FALLBACK-PSK/EAP"; + } + leaf key-chain { + type string; + description + "Key Chain name"; + } + list live-peer { + description + "Live Peer List"; + uses PEER-DATA; + } + list potential-peer { + description + "Potential Peer List"; + uses PEER-DATA; + } + list suspend-peer { + description + "Suspend Peer List"; + uses SUSPEND-PEER-DATA; + } + } + + grouping PEER-STATUS-DATA-INTERNAL { + description + "PEER STATUS DATA INTERNAL"; + leaf mi { + type string { + length "0..25"; + } + description + "Member ID"; + } + leaf icv-status { + type string { + length "0..10"; + } + description + "ICV Status"; + } + leaf icv-check-timestamp { + type string { + length "0..128"; + } + description + "ICV Check Timestamp"; + } + } + + grouping PEER-STATUS-DATA { + description + "PEER STATUS DATA"; + container peer-data { + description + "Peer Status Data"; + uses PEER-STATUS-DATA-INTERNAL; + } + leaf sci { + type string { + length "0..17"; + } + description + "Rx SCI"; + } + } + + grouping PEERS-STATUS-DATA { + description + "PEERS STATUS DATA"; + leaf tx-mkpdu-timestamp { + type string { + length "0..128"; + } + description + "Tx MKPDU Timestamp"; + } + leaf peer-count { + type uint32; + description + "Peer Count"; + } + list peer { + description + "Peer List"; + uses PEER-STATUS-DATA; + } + } + + grouping FALLBACK-KEEPALIVE-DATA { + description + "FALLBACK KEEPALIVE DATA"; + container peers-status { + description + "Peers Status"; + uses PEERS-STATUS-DATA; + } + leaf ckn { + type string { + length "0..65"; + } + description + "CKN"; + } + leaf mi { + type string { + length "0..25"; + } + description + "Member Identifier"; + } + leaf mn { + type uint32; + description + "Message Number"; + } + } + + grouping VP-DATA { + description + "VP DATA"; + leaf my-sci { + type string; + description + "Local SCI(MAC)"; + } + leaf virtual-port-id { + type uint32; + description + "Virtual Port ID"; + } + leaf latest-rx { + type boolean; + description + "Latest Rx status"; + } + leaf latest-tx { + type boolean; + description + "Latest Tx status"; + } + leaf latest-an { + type uint32; + description + "Latest SAK AN"; + } + leaf latest-ki { + type string; + description + "Latest SAK KI"; + } + leaf latest-kn { + type uint32; + description + "Latest SAK KN"; + } + leaf old-rx { + type boolean; + description + "Old Rx status"; + } + leaf old-tx { + type boolean; + description + "Old Tx status"; + } + leaf old-an { + type uint32; + description + "Old SAK AN"; + } + leaf old-ki { + type string; + description + "Old SAK KI"; + } + leaf old-kn { + type uint32; + description + "Old SAK KN"; + } + leaf wait-time { + type uint32; + description + "SAK Transmit Wait Time"; + } + leaf retire-time { + type uint32; + description + "SAK Retire time"; + } + leaf macsec-cipher-suite { + type Macsec-cipher-suite; + description + "SAK Cipher Suite"; + } + leaf ssci { + type uint32; + description + "SSCI of the Local TxSC"; + } + leaf time-to-sak-rekey { + type string; + description + "Next SAK Rekey time in Sec"; + } + leaf time-to-exit-suspension { + type string; + description + "Time to exit suspension"; + } + leaf sak-gen-mode { + type string; + description + "SAK gen mode"; + } + list fallback-keepalive { + description + "Fallback Keepalive"; + uses FALLBACK-KEEPALIVE-DATA; + } + } + + grouping MKA-VLAN-TAG { + description + "MKA VLAN TAG"; + leaf ether-type { + type uint16; + description + "EtherType"; + } + leaf priority { + type uint8; + description + "Priority"; + } + leaf cfi { + type uint8; + description + "Cannonical Format Identifier"; + } + leaf vlan-id { + type uint16; + description + "Vlan Id"; + } + } + + grouping MKA-SESSION-SUMMARY { + description + "MKA SESSION SUMMARY"; + container outer-tag { + description + "VLAN Outer TAG"; + uses MKA-VLAN-TAG; + } + container inner-tag { + description + "VLAN Inner TAG"; + uses MKA-VLAN-TAG; + } + leaf interface-name { + type string; + description + "macsec configured interface"; + } + leaf inherited-policy { + type boolean; + description + "Is Inherited Policy"; + } + leaf policy { + type string; + description + "Policy Name"; + } + leaf priority { + type uint32; + description + "Key Server Priority"; + } + leaf my-mac { + type string; + description + "My MAC"; + } + leaf delay-protection { + type boolean; + description + "Delay Protect"; + } + leaf replay-protect { + type boolean; + description + "Replay Protect"; + } + leaf window-size { + type uint32; + description + "Replay Window Size"; + } + leaf include-icv-indicator { + type boolean; + description + "IncludeICVIndicator"; + } + leaf confidentiality-offset { + type uint32; + description + "Confidentiality Offset"; + } + leaf algo-agility { + type uint32; + description + "Alogorithm Agility"; + } + leaf capability { + type uint32; + description + "MACSec Capability"; + } + leaf mka-cipher-suite { + type string; + description + "MKA Cipher Suite"; + } + leaf configured-mac-sec-cipher-suite { + type string; + description + "configured cipher suite"; + } + leaf mac-sec-desired { + type boolean; + description + "MACSec Desired"; + } + } + + grouping MKA-SESSION { + description + "MKA SESSION"; + container session-summary { + description + "Session summary"; + uses MKA-SESSION-SUMMARY; + } + container vp { + description + "Virtual Pointer Info"; + uses VP-DATA; + } + list ca { + description + "CA List for a Session"; + uses CA-DATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper.yang new file mode 100644 index 000000000..b033b09b7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-mka-oper.yang @@ -0,0 +1,116 @@ +module Cisco-IOS-XR-crypto-macsec-mka-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-mka-oper"; + prefix crypto-macsec-mka-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-crypto-macsec-mka-oper-sub1 { + revision-date 2022-04-28; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-macsec-mka package operational data. + + This module contains definitions + for the following management objects: + macsec: Macsec operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-28 { + description + "Added global MKPDU validation error stat + 2022-02-08 + Added Standby Container for MKA operational info"; + semver:module-version "2.0.1m"; + } + revision 2021-05-13 { + description + "Changed the latest SAK data field to last SAK + 2021-05-12 + Removed unwanted fields in CA bag for stats"; + semver:module-version "2.0.0"; + } + revision 2021-04-15 { + description + "Modified to display session stats + 2021-02-17 + Modified to display port power status + 2021-01-19 + show_mka.bag dormant entry remove + 2020-08-24 + MKA PPK"; + semver:module-version "2.0.0"; + } + revision 2019-05-27 { + description + "MKA ISSU"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "MKA ISSU"; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container macsec { + config false; + description + "Macsec operational data"; + container mka { + description + "MKA Data"; + container interfaces { + description + "MKA Data"; + list interface { + key "name"; + description + "MKA Data for the Interface"; + container session { + description + "MKA Session Data"; + uses MKA-SESSION; + } + container statistics { + description + "MKA Statistics Data"; + uses MKA-INTF-STATISTICS; + } + container info { + description + "MKA Interface Summary Data"; + uses MKA-INTERFACE-INFO; + } + leaf name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper-sub1.yang new file mode 100644 index 000000000..af62aa501 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper-sub1.yang @@ -0,0 +1,293 @@ +submodule Cisco-IOS-XR-crypto-macsec-secy-oper-sub1 { + belongs-to Cisco-IOS-XR-crypto-macsec-secy-oper { + prefix Cisco-IOS-XR-crypto-macsec-secy-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR crypto-macsec-secy package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-08 { + description + "Added Standby Container for MKA operational info"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MACSEC-RX-SA-STATS { + description + "MACSEC RX SA STATS"; + leaf in-pkts-ok { + type uint64; + description + "InPktsOK"; + } + leaf in-pkts-invalid { + type uint64; + description + "InPktsInvalid"; + } + leaf in-pkts-not-valid { + type uint64; + description + "InPktsNotValid"; + } + leaf in-pkts-not-using-sa { + type uint64; + description + "InPktsNotUsingSA"; + } + leaf in-pkts-unused-sa { + type uint64; + description + "InPktsUnusedSA"; + } + leaf next-pn { + type uint64; + description + "NextPN"; + } + } + + grouping MACSEC-RX-SC-STATS { + description + "MACSEC RX SC STATS"; + leaf rx-sci { + type uint64; + description + "Rx SCI"; + } + leaf in-pkts-unchecked { + type uint64; + description + "InPktsUnchecked"; + } + leaf in-pkts-delayed { + type uint64; + description + "InPktsDelayed"; + } + leaf in-pkts-late { + type uint64; + description + "InPktsLate"; + } + leaf in-pkts-ok { + type uint64; + description + "InPktsOK"; + } + leaf in-pkts-invalid { + type uint64; + description + "InPktsInvalid"; + } + leaf in-pkts-not-valid { + type uint64; + description + "InPktsNotValid"; + } + leaf in-pkts-not-using-sa { + type uint64; + description + "InPktsNotUsingSA"; + } + leaf in-pkts-unused-sa { + type uint64; + description + "InPktsUnusedSA"; + } + leaf in-pkts-untagged-hit { + type uint64; + description + "InPktsUntaggedHit"; + } + leaf in-octets-validated { + type uint64; + description + "InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint64; + description + "InOctetsDecrypted"; + } + list rxsa-stat { + description + "rxsa stats"; + uses MACSEC-RX-SA-STATS; + } + } + + grouping MACSEC-TX-SA-STATS { + description + "MACSEC TX SA STATS"; + leaf out-pkts-protected { + type uint64; + description + "OutPktsProtected"; + } + leaf out-pkts-encrypted { + type uint64; + description + "OutPktsEncrypted"; + } + leaf next-pn { + type uint64; + description + "NextPN"; + } + } + + grouping MACSEC-TX-SC-STATS { + description + "MACSEC TX SC STATS"; + leaf tx-sci { + type uint64; + description + "Tx SCI"; + } + leaf out-pkts-protected { + type uint64; + description + "OutPktsProtected"; + } + leaf out-pkts-encrypted { + type uint64; + description + "OutPktsEncrypted"; + } + leaf out-octets-protected { + type uint64; + description + "OutOctetsProtected"; + } + leaf out-octets-encrypted { + type uint64; + description + "OutOctetsEncrypted"; + } + leaf out-pkts-too-long { + type uint64; + description + "OutPktsTooLong"; + } + list txsa-stat { + description + "tx sa stats"; + uses MACSEC-TX-SA-STATS; + } + } + + grouping MACSEC-IF-STATS { + description + "MACSEC IF STATS"; + leaf in-pkts-untagged { + type uint64; + description + "InPktsUntagged"; + } + leaf in-pkts-no-tag { + type uint64; + description + "InPktsNoTag"; + } + leaf in-pkts-bad-tag { + type uint64; + description + "InPktsBadTag"; + } + leaf in-pkts-unknown-sci { + type uint64; + description + "InPktsUnknownSCI"; + } + leaf in-pkts-no-sci { + type uint64; + description + "InPktsNoSCI"; + } + leaf in-pkts-overrun { + type uint64; + description + "InPktsOverrun"; + } + leaf in-octets-validated { + type uint64; + description + "InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint64; + description + "InOctetsDecrypted"; + } + leaf out-pkts-untagged { + type uint64; + description + "OutPktsUntagged"; + } + leaf out-pkts-too-long { + type uint64; + description + "OutPktsTooLong"; + } + leaf out-octets-protected { + type uint64; + description + "OutOctetsProtected"; + } + leaf out-octets-encrypted { + type uint64; + description + "OutOctetsEncrypted"; + } + } + + grouping MACSEC-SECY-STATS { + description + "MACSEC SECY STATS"; + container intf-stats { + description + "Interface stats"; + uses MACSEC-IF-STATS; + } + container tx-sc-stats { + description + "Tx SC Stats"; + uses MACSEC-TX-SC-STATS; + } + list rx-sc-stats { + description + "RX SC Stats List"; + uses MACSEC-RX-SC-STATS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper.yang new file mode 100644 index 000000000..908576ccc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-macsec-secy-oper.yang @@ -0,0 +1,81 @@ +module Cisco-IOS-XR-crypto-macsec-secy-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-secy-oper"; + prefix crypto-macsec-secy-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-crypto-macsec-secy-oper-sub1 { + revision-date 2022-02-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-macsec-secy package operational data. + + This module contains definitions + for the following management objects: + macsec: Macsec operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-08 { + description + "Added Standby Container for MKA operational info"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container macsec { + config false; + description + "Macsec operational data"; + container secy { + description + "MAC Security Entity"; + container interfaces { + description + "MAC Security Data"; + list interface { + key "name"; + description + "MAC Security Data for the Interface"; + container stats { + description + "MACsec Stats"; + uses MACSEC-SECY-STATS; + } + leaf name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg.yang new file mode 100644 index 000000000..58e137403 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg.yang @@ -0,0 +1,85 @@ +module Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg"; + prefix crypto-mibs-ipsecflowmon-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-mibs-ipsecflowmon package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container ip-sec { + description + "Enable CISCO-IPSEC-FLOW-MONITOR-MIB + notifications"; + leaf tunnel-stop { + type empty; + description + "Enable cipSecTunnelStop notification"; + } + leaf tunnel-start { + type empty; + description + "Enable cipSecTunnelStart notification"; + } + } + } + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container isakmp { + description + "Enable CISCO-IPSEC-FLOW-MONITOR-MIB + notifications"; + leaf tunnel-stop { + type empty; + description + "Enable cikeTunnelStop notification"; + } + leaf tunnel-start { + type empty; + description + "Enable cikeTunnelStart notification"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-cfg.yang new file mode 100644 index 000000000..d7e4618f6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-cfg.yang @@ -0,0 +1,714 @@ +module Cisco-IOS-XR-crypto-ssh-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-ssh-cfg"; + prefix crypto-ssh-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-ssh package configuration. + + This module contains definitions + for the following management objects: + ssh: Secure Shell configuration + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-26 { + description + "Changing major version to make xr-ssh and cisco-ssh schemas consistent + 2022-09-15 + Authorized principals command support. + 2022-09-02 + rate-limit max value changed + 2022-03-20 + OpenSSH certificate support. + 2021-11-15 + user-configurable non default port"; + semver:module-version "2.1.1M"; + } + revision 2021-08-15 { + description + "Max-Auth-limit min value changed"; + semver:module-version "2.1.0"; + } + revision 2021-05-27 { + description + "Ciphers and key exchange algorithms added. + 2021-05-10 + RSA keys allowed in FIPS mode + 2021-01-20 + SSH v1 support CLI added + 2020-11-18 + Port forwarding cli added. + 2020-08-14 + ED25519 support for XR SSH."; + semver:module-version "2.0.0"; + } + revision 2020-04-30 { + description + "Added CLI to disable hmac-sha2-256 in server and client"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-28 { + description + "Added CLI to disable hmac-sha1"; + } + revision 2019-03-13 { + description + "Added CLI to enable needed ciphers."; + } + revision 2018-09-11 { + description + "Added backup ssh server schema"; + } + revision 2018-05-24 { + description + "Changes in enable cipher aes-cbc schema and added enable cipher 3des-cbc support"; + } + revision 2018-04-04 { + description + "Changes in ssh kexchange algorithms schema"; + } + revision 2017-11-21 { + description + "Resolving dependency issue with SAM"; + } + revision 2017-07-15 { + description + "Fixing client rekey support."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-07-13 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping VRF { + description + "Common node of vrf-table, netconf-vrf-table"; + list vrf { + key "vrf-name"; + description + "Enter VRF name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Enter VRF name"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable to use VRF"; + } + leaf ipv4-access-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "SSH v4 access-list name"; + } + leaf ipv6-access-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "SSH v6 access-list name"; + } + } + } + + grouping KEY-EXCHANGE { + description + "Common node of client-algo, server-algo"; + container key-exchanges { + description + "Key exchange algorithm"; + leaf-list key-exchange { + type string { + length "1..32"; + } + max-elements "9"; + description + "key exchange algorithm"; + } + } + } + + grouping CIPHER { + description + "Common node of client-algo, server-algo"; + container ciphers { + description + "cipher algorithm"; + leaf-list cipher { + type string { + length "1..32"; + } + max-elements "10"; + description + "Cipher algorithm"; + } + } + } + + container ssh { + description + "Secure Shell configuration"; + container client { + description + "Provide SSH client service"; + container client-disable { + description + "disable"; + container client-hmac { + description + "hmac"; + leaf client-hmac-sha512 { + type boolean; + default "false"; + description + "Disable Hmac-sha2-512 negotiation"; + } + leaf client-hmac-sha256 { + type boolean; + default "false"; + description + "Disable Hmac-sha2-256 negotiation"; + } + leaf client-hmac-sha1 { + type boolean; + default "false"; + description + "Disable Hmac-sha1 negotiation"; + } + } + } + container client-algo { + description + "Cisco ssh algorithms"; + uses KEY-EXCHANGE; + uses CIPHER; + } + container client-enable { + description + "clientenable"; + container client-cipher { + description + "Enable AES-CBC and 3DES_CBC for ssh client"; + leaf aes-cbc { + type boolean; + default "false"; + description + "Enable AES-CBC ciphers"; + } + leaf tripledes-cbc { + type boolean; + default "false"; + description + "Enable 3DES-CBC cipher"; + } + } + } + leaf rekey-volume { + type uint32 { + range "1024..4095"; + } + default "1024"; + description + "Configure client volume-based rekey for SSH"; + } + leaf host-public-key { + type string; + description + "Filename - where to store known host file"; + } + leaf client-vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Source interface VRF for ssh client sessions"; + } + leaf v2 { + type empty; + description + "Cisco ssh client force protocol version 2 only"; + } + leaf tcp-window-scale { + type uint32 { + range "1..14"; + } + default "1"; + description + "Set SSH Client Tcp Window Scale factor"; + } + leaf rekey-time { + type uint32 { + range "30..1440"; + } + units "minute"; + default "60"; + description + "Configure client time-based rekey for SSH"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface for ssh client sessions"; + } + leaf v1 { + type empty; + description + "Cisco ssh client protocol version 2 and 1"; + } + leaf dscp { + type uint32 { + range "0..63"; + } + description + "Cisco sshd DSCP value"; + } + } + container server { + description + "Provide SSH server service"; + container openssh-enable { + description + "Enable extended feature for OpenSSH + certificates"; + leaf authorized-principal-cmd { + type empty; + description + "Enable AuthorizedPrincipalCommand config"; + } + } + container disable { + description + "disable"; + container hmac { + description + "hmac"; + leaf hmac-sha512 { + type boolean; + default "false"; + description + "Disable Hmac-sha2-512 negotiation"; + } + leaf hmac-sha256 { + type boolean; + default "false"; + description + "Disable Hmac-sha2-256 negotiation"; + } + leaf hmac-sha1 { + type boolean; + default "false"; + description + "Disable Hmac-sha1 negotiation"; + } + } + } + container enable { + description + "enable"; + container cipher { + description + "Enable AES-CBC and 3DES-CBC ciphers"; + leaf aes-cbc { + type boolean; + default "false"; + description + "Enable aes-cbc ciphers"; + } + leaf tripledes-cbc { + type boolean; + default "false"; + description + "Enable 3des-cbc cipher"; + } + } + } + container vrf-table { + description + "Cisco sshd VRF name"; + uses VRF; + } + container usernames { + description + "Username related Configuration"; + list username { + key "name"; + description + "User Name"; + leaf keystring { + type string; + description + "Public key for user"; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "User Name"; + } + } + } + container server-algo { + description + "Cisco ssh algorithms"; + container host-key { + presence "Indicates a host-key node is configured."; + description + "Host key algorithm"; + leaf ecdsa-nistp256 { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable ecdsa-nistp256"; + } + leaf ecdsa-nistp384 { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable ecdsa-nistp384"; + } + leaf ecdsa-nistp521 { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable ecdsa-nistp521"; + } + leaf rsa { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable rsa(ssh-rsa,rsa-sha2-256,rsa-sha2-512)"; + } + leaf dsa { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable dsa"; + } + leaf x509v3-ssh-rsa { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable x509-ssh-rsa"; + } + leaf ed25519 { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable ed25519"; + } + leaf rsa-sha512 { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable rsa-sha512"; + } + leaf rsa-sha256 { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable rsa-sha256"; + } + leaf ssh-rsa { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable ssh-rsa"; + } + leaf ssh-rsa-cert-v01 { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Enable ssh-rsa-cert-v01"; + } + } + uses KEY-EXCHANGE; + uses CIPHER; + } + container capability { + description + "Capability"; + leaf netconf-xml { + type boolean; + default "false"; + description + "Enable Netconf-XML stack on port 22"; + } + } + container openssh { + description + "OpenSSH certificates"; + container user-tps { + description + "Cisco ssh server user trustpoints"; + list user-tp { + key "tp-name"; + description + "Openssh trustpoints used for user certificate + validation"; + leaf tp-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Enter User TP name"; + } + } + } + leaf host { + type string { + length "1..128"; + } + description + "Openssh trustpoint from where server will take + its certificate"; + } + } + container netconf-vrf-table { + description + "Cisco sshd Netconf VRF name"; + uses VRF; + } + container certificate { + description + "Cisco ssh server certificate"; + container username { + presence "Indicates a username node is configured."; + description + "field in certificate to be matched with + username"; + leaf common-name { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Use Common-name"; + } + leaf user-principle-name { + type uint32 { + range "0..1"; + } + mandatory true; + description + "use user-principle-name"; + } + } + } + container trustpoint { + description + "Cisco ssh server trustpoints"; + container usertps { + description + "Cisco ssh server user trustpoints"; + list usertp { + key "tp-name"; + description + "trustpoints used for user certificate + validation"; + leaf tp-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Enter User TP name"; + } + } + } + leaf host { + type string { + length "1..128"; + } + description + "trustpoint from where server will take its + certificate"; + } + } + leaf rekey-volume { + type uint32 { + range "1024..4095"; + } + default "1024"; + description + "Configure volume-based rekey for SSH"; + } + leaf session-limit { + type uint32 { + range "1..110"; + } + description + "Cisco sshd session-limit of service requests"; + } + leaf port-forwarding { + type uint32 { + range "0..1"; + } + default "0"; + description + "Enable SSH Server port forwarding"; + } + leaf netconf { + type uint32 { + range "1..65535"; + } + default "830"; + description + "port number on which ssh service to be started + for netconf"; + } + leaf v2 { + type empty; + description + "Cisco sshd force protocol version 2 only"; + } + leaf tcp-window-scale { + type uint32 { + range "1..14"; + } + default "1"; + description + "Set SSH Server Tcp Window Scale factor"; + } + leaf rekey-time { + type uint32 { + range "30..1440"; + } + units "minute"; + default "60"; + description + "Time Period in minutes, defalut 60"; + } + leaf max-auth-limit { + type uint32 { + range "3..20"; + } + default "20"; + description + "User Configurable max authentication limit"; + } + leaf logging { + type empty; + description + "Enable ssh server logging"; + } + leaf rate-limit { + type uint32 { + range "1..6000"; + } + default "60"; + description + "Cisco sshd rate-limit of service requests"; + } + leaf timeout { + type uint32 { + range "5..120"; + } + units "second"; + default "30"; + description + "Timeout value between 5-120 seconds defalut 30"; + } + leaf v1 { + type empty; + description + "Cisco sshd protocol version 1"; + } + leaf dscp { + type uint32 { + range "0..63"; + } + description + "Cisco sshd DSCP value"; + } + } + container backup-server { + description + "Provide SSH server service"; + container backup-port-vrf { + presence "Indicates a backup-port-vrf node is configured."; + description + "backup server config"; + leaf port { + type uint32 { + range "11000..15000"; + } + mandatory true; + description + "Port number"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "VRF name (max:32 chars)"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub1.yang new file mode 100644 index 000000000..be276c241 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub1.yang @@ -0,0 +1,253 @@ +submodule Cisco-IOS-XR-crypto-ssh-oper-sub1 { + belongs-to Cisco-IOS-XR-crypto-ssh-oper { + prefix Cisco-IOS-XR-crypto-ssh-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR crypto-ssh package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-14 { + description + "Fixing inconsistencies between platforms. + 2022-09-15 + Authorized principals command support. + 2022-03-20 + OpenSSH certificate support."; + semver:module-version "2.0.1m"; + } + revision 2021-06-04 { + description + "Default option for authentication."; + semver:module-version "2.0.0"; + } + revision 2020-01-21 { + description + "Yang support to import pubkey for user in config mode"; + semver:module-version "1.1.0"; + } + revision 2019-07-08 { + description + "Introducing show ssh server CLI."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-08-25 { + description + "Introducing show ssh history CLI."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-06-02 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping SSH-SERVER-PARAMS { + description + "Information about ssh server running parameters"; + leaf version { + type string { + length "0..10"; + } + description + "Version"; + } + leaf port { + type uint32; + description + "SSH Port"; + } + leaf vrf { + type string { + length "0..2000"; + } + description + "Vrfs and acls"; + } + leaf netconfport { + type uint32; + description + "Netconf Port"; + } + leaf netconfvrf { + type string { + length "0..2000"; + } + description + "Netconf vrfs and acls"; + } + leaf netconfver { + type string { + length "0..10"; + } + description + "Netconf Version"; + } + leaf hostkeyalgo { + type string { + length "0..230"; + } + description + "Hostkey algorithms"; + } + leaf kexalgo { + type string { + length "0..230"; + } + description + "Key exchange algorithms"; + } + leaf cipheralgo { + type string { + length "0..230"; + } + description + "Encryption algorithms"; + } + leaf macalgo { + type string { + length "0..230"; + } + description + "Mac algorithms"; + } + leaf backupserver { + type string { + length "0..100"; + } + description + "Backup SSH server"; + } + leaf trustpointhost { + type string { + length "0..128"; + } + description + "Trustpoint for host"; + } + leaf trustpointuser { + type string { + length "0..1289"; + } + description + "Trustpoint for user"; + } + leaf dscp { + type uint32; + description + "Dscp"; + } + leaf ratelimit { + type uint32; + description + "ratelimit"; + } + leaf sessionlimit { + type uint32; + description + "session limit"; + } + leaf rekeytime { + type uint32; + description + "Rekey Time"; + } + leaf rekeyvolume { + type uint32; + description + "Rekey Volume"; + } + leaf windowscalefactor { + type uint32; + description + "Window scale factor"; + } + leaf passwordauthen { + type boolean; + description + "Password Authentication support"; + } + leaf keyboardinteractiveauthen { + type boolean; + description + "Pubkey Authentication support"; + } + leaf pubkeyauthen { + type boolean; + description + "Pubkey Authentication support"; + } + leaf certificateauthen { + type boolean; + description + "Certificate based Authentication support"; + } + leaf portforwarding { + type string { + length "0..10"; + } + description + "port forwarding for ssh server"; + } + leaf maxauthlimit { + type uint32; + description + "Max Auth limit"; + } + leaf certificate-username { + type string { + length "0..50"; + } + description + "SSHD certificate username"; + } + leaf openssh-trustpointhost { + type string { + length "0..128"; + } + description + "Openssh Trustpoint for host"; + } + leaf openssh-trustpointuser { + type string { + length "0..33023"; + } + description + "OpensshTrustpoint for user"; + } + leaf authorized-principals-cmd { + type boolean; + description + "Enable openssh Authorized principals cmd"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub2.yang new file mode 100644 index 000000000..d77739657 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper-sub2.yang @@ -0,0 +1,822 @@ +submodule Cisco-IOS-XR-crypto-ssh-oper-sub2 { + belongs-to Cisco-IOS-XR-crypto-ssh-oper { + prefix Cisco-IOS-XR-crypto-ssh-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR crypto-ssh package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-14 { + description + "Fixing inconsistencies between platforms. + 2022-09-15 + Authorized principals command support. + 2022-03-20 + OpenSSH certificate support."; + semver:module-version "2.0.1m"; + } + revision 2021-06-04 { + description + "Default option for authentication."; + semver:module-version "2.0.0"; + } + revision 2020-01-21 { + description + "Yang support to import pubkey for user in config mode"; + semver:module-version "1.1.0"; + } + revision 2019-07-08 { + description + "Introducing show ssh server CLI."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-08-25 { + description + "Introducing show ssh history CLI."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-06-02 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Connection { + type enumeration { + enum "undefined" { + value 0; + description + "connection type not yet known"; + } + enum "shell" { + value 1; + description + "Interactive Shell"; + } + enum "exec" { + value 2; + description + "Remote Command Execution"; + } + enum "scp" { + value 3; + description + "Secure Copy"; + } + enum "sftp-subsystem" { + value 4; + description + "Secure File Transfer"; + } + enum "netconf-subsystem" { + value 5; + description + "Netconf Subsystem"; + } + enum "tl1-subsystem" { + value 6; + description + "TL1 Subsystem"; + } + enum "netconf-xml-subsystem" { + value 7; + description + "Netconf XML Subsystem"; + } + enum "port-forwarded-local" { + value 8; + description + "Local Port Forwarded"; + } + } + description + "SSH channel connection types"; + } + + typedef Authen { + type enumeration { + enum "undefined" { + value -1; + description + "Authentication type unknown"; + } + enum "password" { + value 0; + description + "Password"; + } + enum "rsa-public-key" { + value 1; + description + "RSA public key encryption type"; + } + enum "keyboard-interactive" { + value 2; + description + "Keyboard interactive"; + } + enum "x509-rsa-pubkey" { + value 3; + description + "X509 RSA public key "; + } + enum "x509-dsa-pubkey" { + value 4; + description + "X509 DSA public key"; + } + enum "x509-ecdsa521-pubkey" { + value 5; + description + "X509 ECDSA 521 pubkey"; + } + enum "x509-ecdsa384-pubkey" { + value 6; + description + "X509 ECDSA 384 pubkey"; + } + enum "x509-ecdsa256-pubkey" { + value 7; + description + "X509 ECDSA 256 pubkey"; + } + enum "rsa-cert" { + value 8; + description + "OpenSSH RSA cert"; + } + enum "dsa-cert" { + value 9; + description + "OpenSSH DSA cert"; + } + enum "ecdsa-nistp256-cert" { + value 10; + description + "OpenSSH ECDSA256 cert"; + } + enum "ecdsa-nistp384-cert" { + value 11; + description + "OpenSSH ECDSA384 cert"; + } + enum "ecdsa-nistp521-cert" { + value 12; + description + "OpenSSH ECDSA521 cert"; + } + enum "ed25519-cert" { + value 13; + description + "OpenSSH ED25519 cert"; + } + } + description + "SSH session authentication types"; + } + + typedef Version { + type enumeration { + enum "v2" { + value 0; + description + "Version V2"; + } + enum "v1" { + value 1; + description + "Version V1"; + } + } + description + "SSH state versions"; + } + + typedef States { + type enumeration { + enum "open" { + value 1; + description + "SSH Open"; + } + enum "version-ok" { + value 2; + description + "SSH version OK"; + } + enum "key-exchange-initialize" { + value 3; + description + "Key exchange(KEX) init message exchanged"; + } + enum "key-exchange-dh" { + value 4; + description + "Diffie-Hellman(DH) secret is generated"; + } + enum "new-keys" { + value 5; + description + "New keys are received"; + } + enum "authenticate-information" { + value 6; + description + "Need more information to authenticate"; + } + enum "authenticated" { + value 7; + description + "The client successfully authenticated"; + } + enum "channel-open" { + value 8; + description + "Channel has been successfully opened"; + } + enum "pty-open" { + value 9; + description + "Allocated PTY"; + } + enum "session-open" { + value 10; + description + "Opened an exec shell"; + } + enum "rekey" { + value 11; + description + "Received rekey request"; + } + enum "suspended" { + value 12; + description + "Session is suspended"; + } + enum "session-closed" { + value 13; + description + "Session has been closed"; + } + } + description + "SSH session states"; + } + + typedef Mac { + type enumeration { + enum "mac-not-applicable" { + value -1; + description + "unknown"; + } + enum "hmac-md5" { + value 0; + description + "Hash-based Message Authentication Code(HMAC) + MD5 algorithm"; + } + enum "hmac-sha1" { + value 1; + description + "Hash-based Message Authentication Code(HMAC) + SHA1 algorithm"; + } + enum "hmac-sha2-256" { + value 2; + description + "Hash-based Message Authentication Code(HMAC) + SHA2-256 algorithm"; + } + enum "hmac-sha2-512" { + value 3; + description + "Hash-based Message Authentication Code(HMAC) + SHA2-512 algorithm"; + } + enum "aes-gcm" { + value 4; + description + "AES GCM based Authentication Tag as MAC + algorithm"; + } + } + description + "Different Message Authentication Code(MAC) + functions"; + } + + typedef Cipher { + type enumeration { + enum "cipher-not-applicable" { + value -1; + description + "unknown"; + } + enum "aes128-cbc" { + value 0; + description + "Advanced Encryption Standard(AES) 128 bits + cipher block chaining(CBC)"; + } + enum "aes192-cbc" { + value 1; + description + "Advanced Encryption Standard(AES) 192 bits + cipher block chaining(CBC)"; + } + enum "aes256-cbc" { + value 2; + description + "Advanced Encryption Standard(AES) 256 bits + cipher block chaining(CBC)"; + } + enum "triple-des-cbc" { + value 3; + description + "Triple Data Encryption Standard(DES) cipher + block chaining(CBC)"; + } + enum "aes128-ctr" { + value 4; + description + "Advanced Encryption Standard(AES) 128 bits + counter mode (CTR)"; + } + enum "aes192-ctr" { + value 5; + description + "Advanced Encryption Standard(AES) 192 bits + counter mode (CTR)"; + } + enum "aes256-ctr" { + value 6; + description + "Advanced Encryption Standard(AES) 256 bits + counter mode (CTR)"; + } + enum "aes128-gcm" { + value 7; + description + "Advanced Encryption Standard(AES) 128 bits GCM + mode (GCM)"; + } + enum "aes256-gcm" { + value 8; + description + "Advanced Encryption Standard(AES) 256 bits GCM + mode (GCM)"; + } + enum "chacha20-poly1305" { + value 9; + description + "Chacha20 stream cipher with Poly1305-AES + encryption"; + } + } + description + "SSH session in and out cipher standards"; + } + + typedef Hostkey { + type enumeration { + enum "host-key-not-applicable" { + value -1; + description + "unknown"; + } + enum "ssh-dss" { + value 0; + description + "Algorithm type DSS"; + } + enum "ssh-rsa" { + value 1; + description + "Algorithm type RSA"; + } + enum "ecdsa-sha2-nistp521" { + value 2; + description + "Algorithm type ECDSA NISTP521"; + } + enum "ecdsa-sha2-nistp384" { + value 3; + description + "Algorithm type ECDSA NISTP384"; + } + enum "ecdsa-sha2-nistp256" { + value 4; + description + "Algorithm type ECDSA NISTP256"; + } + enum "ssh-ed25519" { + value 5; + description + "Algorithm type ED25519"; + } + enum "ssh-x509v3-rsa" { + value 6; + description + "Algorithm type X509V3 SSH RSA"; + } + enum "ssh-rsa-sha512" { + value 7; + description + "Algorithm type RSA SHA512"; + } + enum "ssh-rsa-sha256" { + value 8; + description + "Algorithm type RSA SHA256"; + } + enum "ssh-rsa-cert" { + value 9; + description + "Algorithm type RSA CERT"; + } + } + description + "SSH session authentication types"; + } + + typedef Kex-name { + type enumeration { + enum "kex-not-applicable" { + value -1; + description + "unknown"; + } + enum "diffie-hellman-group1" { + value 0; + description + "Diffie-Hellman group 1 key exchange algorithm"; + } + enum "diffie-hellman-group14" { + value 1; + description + "Diffie-Hellman group 14 key exchange algorithm"; + } + enum "diffie-hellman-group15" { + value 2; + description + "Diffie-Hellman group 15 key exchange algorithm"; + } + enum "diffie-hellman-group16" { + value 3; + description + "Diffie-Hellman group 16 key exchange algorithm"; + } + enum "diffie-hellman-group17" { + value 4; + description + "Diffie-Hellman group 17 key exchange algorithm"; + } + enum "diffie-hellman-group18" { + value 5; + description + "Diffie-Hellman key group 18 exchange algorithm"; + } + enum "ecdh-nistp256" { + value 6; + description + "Elliptical curve Diffie-Hellman prime 256 key + exchange algorithm"; + } + enum "ecdh-nistp384" { + value 7; + description + "Elliptical curve Diffie-Hellman prime 384 key + exchange algorithm"; + } + enum "ecdh-nistp521" { + value 8; + description + "Elliptical curve Diffie-Hellman prime 521 + exchange algorithm"; + } + enum "curve25519" { + value 9; + description + "Curve25519 based on Elliptical curve + Diffie-Hellman"; + } + enum "diffie-hellman-group14-sha256" { + value 10; + description + "Diffie-Hellman group 14 with SHA-256 key + exchange algorithm"; + } + enum "diffie-hellman-group16-sha512" { + value 11; + description + "Diffie-Hellman group 16 with SHA-512 key + exchange algorithm"; + } + enum "curve25519-libssh" { + value 12; + description + "Curve25519 based on Elliptical curve + Diffie-Hellman"; + } + enum "password-authenticated" { + value 13; + description + "Password authenticated key agreement algorithm"; + } + } + description + "Different key-exchange(kex) algorithms"; + } + + grouping SESSION-HISTORY-INFO { + description + "Information for a particular session/channel"; + list session-history-info { + description + "session history info"; + leaf session-id { + type uint32; + description + "Session ID"; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + leaf user-id { + type string; + description + "User ID"; + } + leaf host-address { + type string; + description + "Host address"; + } + leaf version { + type Version; + description + "SSH state version"; + } + leaf authentication-type { + type Authen; + description + "Authentication method"; + } + list mc-info { + description + "List of channel info"; + uses SSH-MCINFO; + } + } + } + + grouping SSH-SESSION-HISTORY { + description + "Incoming ssh session history information"; + container incoming-sessions { + description + "List of incoming sessions"; + uses SESSION-HISTORY-INFO; + } + } + + grouping SSH-MCINFO { + description + " Channel info store in bag"; + leaf channel-id { + type uint32; + description + "Channel ID"; + } + leaf connection-type { + type Connection; + description + "Channel Connection Type"; + } + leaf vty-line-number { + type uint32; + description + "VTY line number"; + } + leaf vty-assigned { + type boolean; + description + "Boolean indicating whether line VTY line number + is valid"; + } + } + + grouping SESSION-BRIEF-INFO { + description + "Information for a particular session/channel"; + list session-brief-info { + description + "session brief info"; + leaf session-id { + type uint32; + description + "Session ID"; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + leaf session-state { + type States; + description + "SSH session state"; + } + leaf user-id { + type string; + description + "User ID"; + } + leaf host-address { + type string; + description + "Host address"; + } + leaf version { + type Version; + description + "SSH state version"; + } + leaf authentication-type { + type Authen; + description + "Authentication method"; + } + list mc-info { + description + "List of channel info"; + uses SSH-MCINFO; + } + } + } + + grouping SSH-SESSION-BRIEF { + description + "Incoming and outgoing session information"; + container incoming-sessions { + description + "List of incoming sessions"; + uses SESSION-BRIEF-INFO; + } + container outgoing-sessions { + description + "List of outgoing sessions"; + uses SESSION-BRIEF-INFO; + } + } + + grouping SESSION-REKEY-INFO { + description + "Session rekey info"; + list session-rekey-info { + description + "session rekey info"; + leaf session-id { + type uint32; + description + "Session ID"; + } + leaf session-rekey-count { + type uint32; + description + "Session Rekey Count"; + } + leaf time-to-rekey { + type string; + description + "Time To Rekey"; + } + leaf volume-to-rekey { + type string; + description + "Volume To Rekey"; + } + } + } + + grouping SSH-SESSION-REKEY { + description + "Incoming and outgoing session rekey details"; + container incoming-sessions { + description + "List of incoming sessions"; + uses SESSION-REKEY-INFO; + } + container outgoing-connections { + description + "List of outgoing connections"; + uses SESSION-REKEY-INFO; + } + } + + grouping SESSION-DETAIL-INFO { + description + "Particular session details"; + list session-detail-info { + description + "session detail info"; + leaf session-id { + type uint32; + description + "Session ID"; + } + leaf key-exchange { + type Kex-name; + description + "Key exchange name"; + } + leaf public-key { + type Hostkey; + description + "Host key algorithm"; + } + leaf in-cipher { + type Cipher; + description + "In cipher algorithm"; + } + leaf out-cipher { + type Cipher; + description + "Out cipher algorithm"; + } + leaf in-mac { + type Mac; + description + "In MAC"; + } + leaf out-mac { + type Mac; + description + "Out MAC"; + } + leaf start-time { + type string; + description + "session start time"; + } + leaf end-time { + type string; + description + "session end time"; + } + } + } + + grouping SSH-SESSION-DETAIL { + description + "Incoming and outgoing session details"; + container incoming-sessions { + description + "List of incoming sessions"; + uses SESSION-DETAIL-INFO; + } + container outgoing-connections { + description + "List of outgoing connections"; + uses SESSION-DETAIL-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper.yang new file mode 100644 index 000000000..511df4379 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-crypto-ssh-oper.yang @@ -0,0 +1,150 @@ +module Cisco-IOS-XR-crypto-ssh-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-ssh-oper"; + prefix crypto-ssh-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-crypto-ssh-oper-sub2 { + revision-date 2022-11-14; + } + include Cisco-IOS-XR-crypto-ssh-oper-sub1 { + revision-date 2022-11-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto-ssh package operational data. + + This module contains definitions + for the following management objects: + ssh1: Crypto Secure Shell(SSH) data + ssh: Crypto Secure Shell(SSH) data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-14 { + description + "Fixing inconsistencies between platforms. + 2022-09-15 + Authorized principals command support. + 2022-03-20 + OpenSSH certificate support."; + semver:module-version "2.0.1m"; + } + revision 2021-06-04 { + description + "Default option for authentication."; + semver:module-version "2.0.0"; + } + revision 2020-01-21 { + description + "Yang support to import pubkey for user in config mode"; + semver:module-version "1.1.0"; + } + revision 2019-07-08 { + description + "Introducing show ssh server CLI."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-08-25 { + description + "Introducing show ssh history CLI."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-06-02 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container ssh1 { + config false; + description + "Crypto Secure Shell(SSH) data"; + container kex { + description + "key exchange method data"; + container nodes { + description + "Node-specific ssh session details"; + list node { + key "node-name"; + description + "SSH session details for a particular node"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses SSH-SESSION-DETAIL; + } + } + } + } + container ssh { + config false; + description + "Crypto Secure Shell(SSH) data"; + container session { + description + "Crypto SSH session"; + container rekey { + description + "SSH session rekey information"; + uses SSH-SESSION-REKEY; + } + container history-detail { + description + "SSH session history detail information"; + uses SSH-SESSION-DETAIL; + } + container brief { + description + "SSH session brief information"; + uses SSH-SESSION-BRIEF; + } + container history { + description + "SSH session history information"; + uses SSH-SESSION-HISTORY; + } + container detail { + description + "SSH session detail information"; + uses SSH-SESSION-DETAIL; + } + } + container server { + description + "SSH server parameters"; + uses SSH-SERVER-PARAMS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper-sub1.yang new file mode 100644 index 000000000..80290c950 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper-sub1.yang @@ -0,0 +1,283 @@ +submodule Cisco-IOS-XR-csd-oper-sub1 { + belongs-to Cisco-IOS-XR-csd-oper { + prefix Cisco-IOS-XR-csd-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR csd package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-23 { + description + "Removed the trusted_peers endpoint."; + semver:module-version "1.0.0"; + } + revision 2021-04-19 { + description + "Oper yang for CSD."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tpm { + type enumeration { + enum "tpm-20" { + description + "tpm 20"; + } + enum "tpm-12" { + description + "tpm 12"; + } + } + description + "Tpm"; + } + + typedef String-array { + type string; + description + "String array"; + } + + grouping ENCODED-ATT-RESULTS-DATA { + description + "ENCODED ATT RESULTS DATA"; + leaf encoded-att-results-data { + type string; + description + "Attestation Results in CBOR-Encoded format"; + } + } + + grouping PUB-KEY-GROUPING { + description + "PUB KEY GROUPING"; + leaf public-key-format { + type string; + description + "Key Format Eg: DER, PEM"; + } + leaf public-key { + type string; + description + "Attester's public key"; + } + } + + grouping PCRVALUE { + description + "PCRVALUE"; + leaf value { + type string; + description + "PCR Value"; + } + } + + grouping TPM12-INTERNALS { + description + "TPM1.2 Details"; + leaf timestamp { + type string; + description + "The timestamp of the Verifier's appraisal"; + } + leaf-list pcr-indice { + type uint32; + description + "Indices of the desired PCRs"; + } + list pcr-value { + description + "Values of desired PCRs"; + uses PCRVALUE; + } + } + + grouping TPM20-PCR-BANK-ENTRY { + description + "Information about one pcr bank"; + leaf hash-algorithm { + type uint32; + description + "Hash algorithm used in numerical format as + specified by TCG docs"; + } + leaf-list pcr-indice { + type uint32; + description + "Mentiones what PCRs are used to calculate the + tpm2b digest"; + } + } + + grouping TPM20-INTERNALS { + description + "Unmarshaled TPM2.0 Quote"; + leaf tpm2b-digest { + type string; + description + "Hash/Digest of the string obtained by + concatenating desired PCRs"; + } + leaf clock { + type uint64; + description + "Clock is a monotonically increasing counter that + advances whenever power is applied to a TPM2. It + is incremented every millisecond"; + } + leaf reset-counter { + type uint32; + description + "The counter increments on each TPM reset"; + } + leaf restart-counter { + type uint32; + description + "This counter shall increment by one for each TPM + restart or resume"; + } + leaf safe { + type boolean; + description + "This parameter is set to YES when the value + reported in Clock is guaranteed to be unique for + the current owner"; + } + list tpm20-pcr-bank { + description + "List of all PCR banks"; + uses TPM20-PCR-BANK-ENTRY; + } + } + + grouping TPM-DATA { + description + "TPM DATA"; + container tpm20-quote { + when "../t = 'tpm-20'" { + description + "../t = 'TPM_20'"; + } + description + "tpm20 quote"; + uses TPM20-INTERNALS; + } + container tpm12-quote { + when "../t = 'tpm-12'" { + description + "../t = 'TPM_12'"; + } + description + "tpm12 quote"; + uses TPM12-INTERNALS; + } + leaf t { + type Tpm; + description + "t"; + } + } + + grouping ATT-RESULTS-DATA { + description + "Unverified attestation results"; + container tpm-data { + description + "Based on tpm type, this data is evaluated"; + uses TPM-DATA; + } + container pubkey-grouping { + description + "Public Key Grouping"; + uses PUB-KEY-GROUPING; + } + leaf public-key-algorithm-type { + type string; + description + "Public Key Algorithm type"; + } + leaf verifier-sig-key-name { + type string; + description + "A hint to identify the Verifier Key"; + } + leaf verifier-key-algo-type { + type string; + description + "Verifier Key Algorithm type"; + } + leaf-list trustworthiness-vector { + type String-array; + description + "Verifier evaluation of the Evidence"; + } + } + + grouping MAC-PEER { + description + "MAC PEER"; + leaf peer-name { + type string; + description + "Peer's name/MAC Address"; + } + leaf-list trust-vector { + type String-array; + description + "Trust vector for the peer"; + } + } + + grouping CANARYSTAMP-INTERFACE { + description + "CANARYSTAMP INTERFACE"; + leaf if-name { + type string; + description + "Interface Name"; + } + list peers { + description + "List of all peers"; + uses MAC-PEER; + } + } + + grouping CANARYSTAMP-PEERS { + description + "CANARYSTAMP PEERS"; + list interface { + description + "Interface list"; + uses CANARYSTAMP-INTERFACE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper.yang new file mode 100644 index 000000000..720e63f57 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-csd-oper.yang @@ -0,0 +1,95 @@ +module Cisco-IOS-XR-csd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-csd-oper"; + prefix csd-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-csd-oper-sub1 { + revision-date 2021-07-23; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR csd package operational data. + + This module contains definitions + for the following management objects: + security: All Stamped Passport related data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-23 { + description + "Removed the trusted_peers endpoint."; + semver:module-version "1.0.0"; + } + revision 2021-04-19 { + description + "Oper yang for CSD."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container security { + config false; + description + "All Stamped Passport related data"; + container passport { + description + "Stamped passport Peers and Attestation results + data"; + container nodes { + description + "Node specific Stamped Passport data"; + list node { + key "node-name"; + description + "Per node peers and results data"; + container peers { + description + "All Peers Data"; + uses CANARYSTAMP-PEERS; + } + container result { + description + "Attestation results data"; + uses ATT-RESULTS-DATA; + } + container encoded-result { + description + "Encoded Attestation results data"; + uses ENCODED-ATT-RESULTS-DATA; + } + leaf node-name { + type xr:Node-id; + description + "The node"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-custom-showtech-profile-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-custom-showtech-profile-cfg.yang new file mode 100644 index 000000000..a51e7c565 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-custom-showtech-profile-cfg.yang @@ -0,0 +1,89 @@ +module Cisco-IOS-XR-custom-showtech-profile-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-custom-showtech-profile-cfg"; + prefix custom-showtech-profile-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR custom-showtech-profile package configuration. + + This module contains definitions + for the following management objects: + custom-show-tech: Custom ShowTech Configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container custom-show-tech { + description + "Custom ShowTech Configuration"; + list profile-name { + key "profile-name"; + description + "Profile name"; + container command-strs { + description + "Custom commands"; + list command-str { + key "command-str"; + description + "Custom command string"; + leaf command-str { + type string; + description + "Command String"; + } + } + } + container admin-command-strs { + description + "Custom Admin commands"; + list admin-command-str { + key "admin-command-str"; + description + "Custom Admin command string"; + leaf admin-command-str { + type string; + description + "Admin Command String"; + } + } + } + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..257"; + } + description + "Profile name"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-cfg.yang new file mode 100644 index 000000000..ef250f9d9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-cfg.yang @@ -0,0 +1,292 @@ +module Cisco-IOS-XR-dot1x-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-dot1x-cfg"; + prefix dot1x-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dot1x package configuration. + + This module contains definitions + for the following management objects: + dot1x: Global Dot1x Configuration + eap: Global EAP Configuration + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "Added Retry time for MAC Authentication Bypass feature + 2021-10-26 + Added field to enable MAC Authentication Bypass feature"; + semver:module-version "1.3.0"; + } + revision 2021-08-20 { + description + "EAP TTLS/EAP Attestation Model consistency across platforms"; + semver:module-version "1.2.0"; + } + revision 2020-10-08 { + description + "EAP TTLS/EAP Attestation"; + semver:module-version "1.1.0"; + } + revision 2019-08-23 { + description + "Host Mode"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Dot1xpae { + type string { + pattern "(supplicant)|(authenticator)|(both)"; + } + description + "supplicant:PAE Type as Supplicant, authenticator: + PAE type as Authenticator, both: PAE type as + Supplicant & Authenticator"; + } + + typedef Dot1x-reauth-local-interval { + type uint32 { + range "60..5184000"; + } + description + "Dot1x reauth local interval"; + } + + typedef Mab-auth-retry-interval { + type uint32 { + range "60..300"; + } + description + "Mab auth retry interval"; + } + + typedef Dot1x-host-mode { + type enumeration { + enum "single-host" { + value 1; + description + "single host"; + } + enum "multi-host" { + value 2; + description + "multiple host mode"; + } + enum "multi-auth" { + value 3; + description + "multiple authentication mode"; + } + } + description + "Dot1x host mode"; + } + + typedef Dot1x-server-dead-action { + type enumeration { + enum "auth-fail" { + value 0; + description + "server dead action auth-fail"; + } + enum "auth-retry" { + value 1; + description + "server dead action auth-retry"; + } + } + description + "Dot1x server dead action"; + } + + container dot1x { + description + "Global Dot1x Configuration"; + list dot1x-profile { + key "profile-name"; + description + "Global Dot1x Profile Name"; + container supplicant { + description + "Dot1x Supplicant Related Configuration"; + leaf eap-profile { + type string { + length "1..63"; + } + description + "EAP Profile for Supplicant"; + } + } + container authenticator { + description + "Dot1x Authenticator Related Configuration"; + container timers { + description + "Timers for Authenticator"; + container reauth-time { + description + "After this time ReAuthentication will be + trigerred"; + leaf server { + type boolean; + description + "Reauth will be triggerred based on the EAP + server configuration"; + } + leaf local { + type Dot1x-reauth-local-interval; + units "second"; + description + "Reauth will be triggerred based on the + configuration in box"; + } + } + leaf mab-retry-time { + type Mab-auth-retry-interval; + units "second"; + description + "Interval after which an auth attempt will be + initiated for auth failed or server + unreachable MAB clients"; + } + } + leaf eap-profile { + type string { + length "1..63"; + } + description + "EAP Profile for Local EAP Server"; + } + leaf host-mode { + type Dot1x-host-mode; + description + "set the host mode for authentication"; + } + leaf server-dead { + type Dot1x-server-dead-action; + description + "dot1x authenticator action on AAA server + unreachability"; + } + } + leaf pae { + type Dot1xpae; + description + "Dot1x PAE (Port Access Entity) Role"; + } + leaf mab { + type empty; + description + "Enable MAC Authentication Bypass feature"; + } + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "Name of the Dot1x Profile"; + } + } + } + container eap { + description + "Global EAP Configuration"; + list eap-profile { + key "profile-name"; + description + "Global EAP Profile Configuration"; + container eapttls { + description + "EAP TTLS Configuration"; + container eap-attestation { + description + "Inner Method"; + container verifier { + description + "Configure verifier attributes"; + leaf rsa-key-label { + type string { + length "1..63"; + } + description + "Configure RSA public key label"; + } + } + leaf secure-topology { + type empty; + description + "Enable Secure Topology feature"; + } + } + leaf pki-trustpoint { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "Configure PKI Trustpoint"; + } + } + container eaptls { + description + "EAP TLS Configuration"; + leaf pki-trustpoint { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "Configure PKI Trustpoint"; + } + } + leaf allow-eap-tls1-0 { + type empty; + description + "Configure backward compatibility for TLS 1.0"; + } + leaf identity { + type string { + length "1..63"; + } + description + "Configure EAP Identity/UserName"; + } + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "Name of the EAP Profile"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-if-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-if-cfg.yang new file mode 100644 index 000000000..bfcf3e1e8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-if-cfg.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XR-dot1x-if-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-dot1x-if-cfg"; + prefix dot1x-if-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dot1x-if package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-18 { + description + "Eapol Ethertype"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container dot1x-interface { + description + "Interface Specific Dot1x Configuration"; + leaf dot1x-profile { + type xr:Cisco-ios-xr-string { + length "1..63"; + } + description + "Name of Dot1x profile"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper-sub1.yang new file mode 100644 index 000000000..483d51459 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper-sub1.yang @@ -0,0 +1,892 @@ +submodule Cisco-IOS-XR-dot1x-oper-sub1 { + belongs-to Cisco-IOS-XR-dot1x-oper { + prefix Cisco-IOS-XR-dot1x-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR dot1x package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-31 { + description + "EAP TTLS/EAP Attestation"; + semver:module-version "2.2.0"; + } + revision 2020-04-23 { + description + "Dot1x Port Status"; + semver:module-version "2.1.0"; + } + revision 2019-08-23 { + description + "Host Mode"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Eap-inner-method { + type enumeration { + enum "none" { + value 0; + description + "Inner Method not set"; + } + enum "eap-attestation" { + value 56; + description + "Inner Method EAP Attestation"; + } + } + description + "Eap inner method"; + } + + grouping DOT1X-INTERFACE-MKA { + description + "DOT1X INTERFACE MKA"; + leaf tie-break-role { + type string; + description + "Dot1x Tie breaker role chosen for mka when PAE + type is BOTH"; + } + leaf eap-based-macsec { + type string; + description + "EAP Mode status for MKA"; + } + leaf mka-start-time { + type string; + description + "Time stamp when Dot1x posting a message to MKA + to start session."; + } + leaf mka-stop-time { + type string; + description + "Time stamp when Dot1x posting a message to MKA + to stop session."; + } + leaf mka-response-time { + type string; + description + "Time Stamp of MKA acknowledgement to Dot1x"; + } + } + + grouping DOT1X-INTERFACE-DETAIL { + description + "DOT1X INTERFACE DETAIL"; + container intf-info { + description + "Dot1x interface Info"; + uses DOT1X-INTERFACE-INFO; + } + container mka-status-info { + description + "MKA session secure status"; + uses DOT1X-INTERFACE-MKA; + } + leaf interface-name { + type string; + description + "Interface Display name "; + } + leaf interface-sname { + type string; + description + "Interface Display short_name "; + } + leaf if-handle { + type string; + description + "Interface handle"; + } + leaf mac { + type string; + description + "formatted MAC Address"; + } + leaf ethertype { + type string; + description + "EAPOL Ethertype"; + } + leaf eapol-addr { + type string; + description + "EAPOL Destination Address"; + } + } + + grouping DOT1X-GLOBAL-PORT-CONTROL-STATISTICS { + description + "DOT1X GLOBAL PORT CONTROL STATISTICS"; + leaf enable-succ { + type uint32; + description + "EnableSucc"; + } + leaf enable-fail { + type uint32; + description + "EnableFail"; + } + leaf disable-succ { + type uint32; + description + "DisableSucc"; + } + leaf disable-fail { + type uint32; + description + "DisableFail"; + } + leaf add-client-succ { + type uint32; + description + "AddClientSucc"; + } + leaf add-client-fail { + type uint32; + description + "AddClientFail"; + } + leaf remove-client-succ { + type uint32; + description + "RemoveClientSucc"; + } + leaf remove-client-fail { + type uint32; + description + "RemoveClientFail"; + } + leaf update-succ { + type uint32; + description + "UpdateSucc"; + } + leaf update-fail { + type uint32; + description + "UpdateFail"; + } + } + + grouping DOT1X-GLOBAL-STATISTICS { + description + "DOT1X GLOBAL STATISTICS"; + container port-control { + description + "PortControl"; + uses DOT1X-GLOBAL-PORT-CONTROL-STATISTICS; + } + leaf tx-total { + type uint32; + description + "TxTotal"; + } + leaf rx-total { + type uint32; + description + "RxTotal"; + } + leaf rx-no-idb { + type uint32; + description + "RxNoIDB"; + } + leaf packet-drop-no-config-received { + type uint32; + description + "PacketDrop"; + } + } + + grouping DOT1X-STATISTICS { + description + "DOT1X STATISTICS"; + container gl-stats { + description + "Global statistics"; + uses DOT1X-GLOBAL-STATISTICS; + } + list if-stats { + description + "dot1x interface statistics list"; + uses DOT1X-IF-STATISTICS; + } + } + + grouping DOT1X-SUPP-TIMERS { + description + "DOT1X SUPP TIMERS"; + leaf auth-period { + type uint32; + units "second"; + description + "in Seconds, supplicant waits for a response from + an authenticator except for EAPOL-START before + timing out"; + } + leaf held-period { + type uint32; + units "second"; + description + "in Seconds, supplicant will stay in the HELD + state (that is, the length of time it will wait + before trying to send the credentials again + after a failed attempt)"; + } + leaf start-period { + type uint32; + units "second"; + description + "Configures the interval, in seconds, between two + successive EAPOL-Start frames when they are + being retransmitted"; + } + leaf max-start { + type uint32; + description + "Max No. of EAPOL-Start frames supplicant can + send to the authenticator"; + } + } + + grouping DOT1X-AUTH-TIMERS { + description + "DOT1X AUTH TIMERS"; + leaf quiet-period { + type uint32; + units "second"; + description + "in Seconds, authenticator remains quiet (in the + HELD state) following a failed authentication + exchange before trying to reauthenticate the + client"; + } + leaf tx-period { + type uint32; + units "second"; + description + "in Seconds, Timeout for supplicant reply, + authenticator-to-supplicant retransmission time + for EAP-request-ID packets (assuming that no + response is received) from the client"; + } + leaf max-reauth-req { + type uint32; + description + "Max No. of Reauthentication Attempts (or) + retransmits an EAP-request-ID frame to the + client before restarting the authentication + process"; + } + leaf supp-timeout { + type uint32; + units "second"; + description + "in Seconds, Timeout for supplicant reply, + authenticator-to-supplicant retransmission time + for all EAP messages except for EAP Request ID + packets"; + } + leaf max-req { + type uint32; + description + "Max No. of EAP-Req (except for EAP-Request-ID) + retransmits (authenticator-to-supplicant) before + sending EAP-Failure"; + } + leaf reauth-period { + type uint32; + units "second"; + description + "in Seconds, after which an automatic + reauthentication should be initiated"; + } + } + + grouping DOT1X-DEFAULT { + description + "DOT1X DEFAULT"; + container auth-timers { + description + "Dot1x Authenticator default Timer values"; + uses DOT1X-AUTH-TIMERS; + } + container supp-timers { + description + "Dot1x Supllicant default Timer values"; + uses DOT1X-SUPP-TIMERS; + } + leaf version { + type uint32; + description + "Dot1x Protocol Version"; + } + } + + grouping EAP-SUPP-INNER-METHOD { + description + "EAP SUPP INNER METHOD"; + leaf type { + type Eap-inner-method; + description + "Type"; + } + } + + grouping EAP-SUPP-INNER-METHOD-DATA { + description + "EAP SUPP INNER METHOD DATA"; + list method { + description + "EAP Inner Method"; + uses EAP-SUPP-INNER-METHOD; + } + } + + grouping DOT1X-SUPP-CLIENT-INFO { + description + "DOT1X SUPP CLIENT INFO"; + container inner-method { + description + "Inner Methods if any"; + uses EAP-SUPP-INNER-METHOD-DATA; + } + leaf mac { + type string; + description + "formatted MAC Address"; + } + leaf eap-method { + type string; + description + "EAP Method"; + } + leaf last-auth-time { + type string; + description + "Last Authenticated Timestamp (formatted)"; + } + leaf auth-sm-state { + type string; + description + "supp SM State"; + } + leaf auth-bend-sm-state { + type string; + description + "supp back end SM State"; + } + leaf port-status { + type string; + description + "Supp port status"; + } + } + + grouping DOT1X-SUPP-INFO { + description + "DOT1X SUPP INFO"; + leaf eap-profile { + type string; + description + "EAP profile"; + } + leaf config-dependency { + type string; + description + "Configuration Dependency "; + } + list client { + description + "Supp Client info"; + uses DOT1X-SUPP-CLIENT-INFO; + } + } + + grouping EAP-AUTH-ATTESTATION { + description + "EAP AUTH ATTESTATION"; + leaf stamped-passport-appraisal { + type string; + description + "Stamped Passport Appraisal"; + } + } + + grouping EAP-AUTH-INNER-METHOD { + description + "EAP AUTH INNER METHOD"; + container attestation { + when "../type = 'eap-attestation'" { + description + "../Type = 'EAPAttestation'"; + } + description + "EAP Attestation Data"; + uses EAP-AUTH-ATTESTATION; + } + leaf type { + type Eap-inner-method; + description + "Type"; + } + } + + grouping EAP-AUTH-INNER-METHOD-DATA { + description + "EAP AUTH INNER METHOD DATA"; + list method { + description + "EAP Inner Method"; + uses EAP-AUTH-INNER-METHOD; + } + } + + grouping EAP-AUTH-DATA { + description + "EAP AUTH DATA"; + container inner-method { + description + "Inner Methods if any"; + uses EAP-AUTH-INNER-METHOD-DATA; + } + leaf eap-method { + type string; + description + "EAP method name"; + } + } + + grouping DOT1X-AUTH-CLIENT-INFO { + description + "DOT1X AUTH CLIENT INFO"; + container local-eap { + description + "Local EAP data "; + uses EAP-AUTH-DATA; + } + leaf mac { + type string; + description + "formatted MAC Address"; + } + leaf auth-sm-state { + type string; + description + "Auth SM State"; + } + leaf auth-bend-sm-state { + type string; + description + "Auth back end SM State"; + } + leaf time-to-next-reauth { + type string; + description + "remaining time for next reauthentication"; + } + leaf last-auth-time { + type string; + description + "Last Authenticated Timestamp (formatted)"; + } + leaf last-auth-server { + type string; + description + "Last Authenticated Server"; + } + leaf port-control { + type string; + description + "Auth Client Port Control Status"; + } + leaf port-status { + type string; + description + "Auth Client Port Status"; + } + } + + grouping DOT1X-AUTH-INFO { + description + "DOT1X AUTH INFO"; + leaf port-control { + type string; + description + "Port Control Feature"; + } + leaf reauth { + type string; + description + "Re-Authentication enabled status"; + } + leaf config-dependency { + type string; + description + "Configuration Dependency "; + } + leaf eap-profile { + type string; + description + "EAP profile"; + } + leaf host-mode { + type string; + description + "Host Mode"; + } + list client { + description + "Authenticator client list"; + uses DOT1X-AUTH-CLIENT-INFO; + } + } + + grouping DOT1X-INTERFACE-INFO { + description + "DOT1X INTERFACE INFO"; + container auth-info { + description + "Dot1x Authenticator info"; + uses DOT1X-AUTH-INFO; + } + container supp-info { + description + "Dot1x Supplicant info"; + uses DOT1X-SUPP-INFO; + } + leaf pae { + type string; + description + "PAE type on interface"; + } + leaf dot1x-port-status { + type string; + description + "Dot1x Port Status"; + } + leaf dot1x-profile { + type string; + description + "Dot1x Profile"; + } + leaf l2-transport { + type boolean; + description + "L2 Transport Info"; + } + } + + grouping DOT1X-INTERFACE { + description + "DOT1X INTERFACE"; + container intf-info { + description + "Dot1x interface Info"; + uses DOT1X-INTERFACE-INFO; + } + leaf interface-name { + type string; + description + "Interface Display name "; + } + leaf interface-sname { + type string; + description + "Interface Display short_name "; + } + } + + grouping DOT1X-IF-LOCAL-EAP-STATISTICS { + description + "DOT1X IF LOCAL EAP STATISTICS"; + leaf requests { + type uint32; + description + "Requests"; + } + leaf replies { + type uint32; + description + "Replies"; + } + leaf timeout { + type uint32; + description + "Timeout"; + } + leaf dropped-no-eap { + type uint32; + description + "DroppedNoEAP"; + } + leaf dropped { + type uint32; + description + "Dropped"; + } + leaf success { + type uint32; + description + "Success"; + } + leaf failed { + type uint32; + description + "Failed"; + } + } + + grouping DOT1X-IF-SUPP-STATISTICS { + description + "DOT1X IF SUPP STATISTICS"; + leaf rx-req { + type uint32; + description + "RxReq"; + } + leaf rx-invalid { + type uint32; + description + "RxInvalid"; + } + leaf rx-len-err { + type uint32; + description + "RxLenErr"; + } + leaf rx-my-mac-err { + type uint32; + description + "RxMyMacErr"; + } + leaf rx-total { + type uint32; + description + "RxTotal"; + } + leaf tx-start { + type uint32; + description + "TxStart"; + } + leaf tx-logoff { + type uint32; + description + "TxLogoff"; + } + leaf tx-resp { + type uint32; + description + "TxResp"; + } + leaf tx-total { + type uint32; + description + "TxTotal"; + } + } + + grouping DOT1X-IF-PORT-CONTROL-STATISTICS { + description + "DOT1X IF PORT CONTROL STATISTICS"; + leaf enable-succ { + type uint32; + description + "EnableSucc"; + } + leaf enable-fail { + type uint32; + description + "EnableFail"; + } + leaf add-client-succ { + type uint32; + description + "AddClientSucc"; + } + leaf add-client-fail { + type uint32; + description + "AddClientFail"; + } + leaf remove-client-succ { + type uint32; + description + "RemoveClientSucc"; + } + leaf remove-client-fail { + type uint32; + description + "RemoveClientFail"; + } + leaf update-succ { + type uint32; + description + "UpdateSucc"; + } + leaf update-fail { + type uint32; + description + "UpdateFail"; + } + } + + grouping DOT1X-IF-AUTH-STATISTICS { + description + "DOT1X IF AUTH STATISTICS"; + container port-control { + description + "PortControl"; + uses DOT1X-IF-PORT-CONTROL-STATISTICS; + } + leaf rx-start { + type uint32; + description + "RxStart"; + } + leaf rx-logoff { + type uint32; + description + "RxLogoff"; + } + leaf rx-resp { + type uint32; + description + "RxResp"; + } + leaf rx-resp-id { + type uint32; + description + "RxRespID"; + } + leaf rx-invalid { + type uint32; + description + "RxInvalid"; + } + leaf rx-len-err { + type uint32; + description + "RxLenErr"; + } + leaf rx-my-mac-err { + type uint32; + description + "RxMyMacErr"; + } + leaf rx-total { + type uint32; + description + "RxTotal"; + } + leaf tx-req { + type uint32; + description + "TxReq"; + } + leaf tx-reqid { + type uint32; + description + "TxReqID"; + } + leaf tx-total { + type uint32; + description + "TxTotal"; + } + leaf packet-drop-no-config-received { + type uint32; + description + "PacketDrop"; + } + } + + grouping DOT1X-IDB-STATISTICS { + description + "DOT1X IDB STATISTICS"; + leaf rx-total { + type uint32; + description + "RxTotal"; + } + leaf tx-total { + type uint32; + description + "TxTotal"; + } + leaf no-rx-on-intf-down { + type uint32; + description + "NoRxOnIntfDown"; + } + } + + grouping DOT1X-IF-STATISTICS { + description + "DOT1X IF STATISTICS"; + container idb { + description + "Dot1x interface database Statistics"; + uses DOT1X-IDB-STATISTICS; + } + container auth { + description + "Dot1x Authenticator Port Statistics"; + uses DOT1X-IF-AUTH-STATISTICS; + } + container supp { + description + "Dot1x Supplicant Port Statistics"; + uses DOT1X-IF-SUPP-STATISTICS; + } + container local-eap { + description + "Dot1x Local EAP Port Statistics"; + uses DOT1X-IF-LOCAL-EAP-STATISTICS; + } + leaf interface-name { + type string; + description + "Interface Display name "; + } + leaf pae { + type string; + description + "PAE type on interface"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper.yang new file mode 100644 index 000000000..0d5e18ecf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dot1x-oper.yang @@ -0,0 +1,145 @@ +module Cisco-IOS-XR-dot1x-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-dot1x-oper"; + prefix dot1x-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-dot1x-oper-sub1 { + revision-date 2021-03-31; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dot1x package operational data. + + This module contains definitions + for the following management objects: + dot1x: Dot1x operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-31 { + description + "EAP TTLS/EAP Attestation"; + semver:module-version "2.2.0"; + } + revision 2020-04-23 { + description + "Dot1x Port Status"; + semver:module-version "2.1.0"; + } + revision 2019-08-23 { + description + "Host Mode"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container dot1x { + config false; + description + "Dot1x operational data"; + container statistics { + description + "Dot1x operational data"; + container interface-statistics { + description + "Interfaces with Dot1x"; + list interface-statistic { + key "name"; + description + "Dot1x Data for that Interface"; + leaf name { + type xr:Interface-name; + description + "Interface Name"; + } + uses DOT1X-IF-STATISTICS; + } + } + } + container nodes { + description + "Node-specific Dot1x operational data"; + list node { + key "node-name"; + description + "Dot1x operational data for a particular node"; + container interface-summaries { + description + "Dot1x Summary"; + list interface-summary { + key "name"; + description + "Dot1x Summary for that Interface"; + leaf name { + type xr:Interface-name; + description + "Interface Name"; + } + uses DOT1X-INTERFACE; + } + } + container dot1x-defaults { + description + "Dot1x Default Values"; + uses DOT1X-DEFAULT; + } + container statistics { + description + "Dot1x Default Values"; + uses DOT1X-STATISTICS; + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + container session { + description + "Dot1x operational data"; + container interface-sessions { + description + "Interfaces with Dot1x"; + list interface-session { + key "name"; + description + "Dot1x Data for that Interface"; + leaf name { + type xr:Interface-name; + description + "Interface Name"; + } + uses DOT1X-INTERFACE-DETAIL; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper-sub1.yang new file mode 100644 index 000000000..8d8adda3c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper-sub1.yang @@ -0,0 +1,98 @@ +submodule Cisco-IOS-XR-dpa-port-mapper-oper-sub1 { + belongs-to Cisco-IOS-XR-dpa-port-mapper-oper { + prefix Cisco-IOS-XR-dpa-port-mapper-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR dpa-port-mapper package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-12 { + description + "Remove the redundant interface name in oor_interface_detail"; + semver:module-version "1.0.2M"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OOR-SUMMARY { + description + "Lists interfaces in each of the three states"; + leaf red { + type uint32; + description + "interfaces in red state"; + } + leaf green { + type uint32; + description + "interfaces in green state"; + } + leaf yel-low { + type uint32; + description + "interfaces in yellow state"; + } + } + + grouping OOR-INTERFACE-DETAIL { + description + "OOR specific details for the interface"; + leaf interface-status { + type string; + description + "The current state of the interface"; + } + leaf time-stamp { + type string; + description + "Timestamp"; + } + leaf npu-id { + type string; + description + "Npuid of the interface"; + } + leaf hardware-resource { + type string; + description + "Type of harware resoruce"; + } + } + + grouping OOR-INTERFACE-INFO { + description + "OOR specific details for the bundle interface"; + list interface { + description + "Interface details"; + uses OOR-INTERFACE-DETAIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper.yang new file mode 100644 index 000000000..52586690c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dpa-port-mapper-oper.yang @@ -0,0 +1,92 @@ +module Cisco-IOS-XR-dpa-port-mapper-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-dpa-port-mapper-oper"; + prefix dpa-port-mapper-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-dpa-port-mapper-oper-sub1 { + revision-date 2021-06-12; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dpa-port-mapper package operational data. + + This module contains definitions + for the following management objects: + oor: Out of Resource Data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-12 { + description + "Remove the redundant interface name in oor_interface_detail"; + semver:module-version "1.0.2M"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container oor { + config false; + description + "Out of Resource Data"; + container nodes { + description + "OOR data for available nodes"; + list node { + key "node-name"; + description + "DPA operational data for a particular node"; + container interface-names { + description + "OOR Interface Information"; + list interface-name { + key "interface-name"; + description + "OOR Data for particular interface"; + leaf interface-name { + type xr:Cisco-ios-xr-string; + description + "The name of the interface"; + } + uses OOR-INTERFACE-INFO; + } + } + container summary { + description + "Summary"; + uses OOR-SUMMARY; + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-icpe-ethernet-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-icpe-ethernet-cfg.yang new file mode 100644 index 000000000..ba1862a8c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-icpe-ethernet-cfg.yang @@ -0,0 +1,144 @@ +module Cisco-IOS-XR-drivers-icpe-ethernet-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-icpe-ethernet-cfg"; + prefix drivers-icpe-ethernet-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR drivers-icpe-ethernet package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-07 { + description + "Insert Idle support added for ethernet controllers."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Extended-ethernet-loopback { + type enumeration { + enum "internal" { + value 1; + description + "Internal loopback"; + } + enum "line" { + value 2; + description + "Line loopback"; + } + } + description + "Extended ethernet loopback"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf laser-squelch { + type empty; + description + "Configure Laser-Squelch"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf holdoff-time { + type uint32 { + range "0..3000"; + } + description + "Configure Holdoff Time"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf insert-idle-egress { + type empty; + description + "Configure insert idle egress support"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container loopbacks { + description + "Configure Extended loopback (diagnostics)"; + list loopback { + key "level"; + description + "Configure extended loopback mode"; + leaf level { + type uint32 { + range "1..3"; + } + description + "Level"; + } + leaf loopback { + type Extended-ethernet-loopback; + mandatory true; + description + "Loopback"; + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf insert-idle-ingress { + type empty; + description + "Configure insert idle ingress support"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf perf-mon-disable { + type empty; + description + "Configure Performance Monitoring "; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-act.yang new file mode 100644 index 000000000..0d81decff --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-act.yang @@ -0,0 +1,58 @@ +module Cisco-IOS-XR-drivers-media-eth-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-act"; + prefix eth-drvr-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2018-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-14 { + description + "Moved task and cli details to private model"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-02-12 { + description + "IOS XR 6.5.1 revision."; + } + + rpc clear-controller-counters { + description + "Clear controller stats for Ethernet controllers and interfaces"; + input { + leaf controller-name { + type csc:Interface-name; + mandatory true; + description + "Ethernet Controller or Interface name"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-cfg.yang new file mode 100644 index 000000000..7ba9f378b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-cfg.yang @@ -0,0 +1,421 @@ +module Cisco-IOS-XR-drivers-media-eth-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-cfg"; + prefix drivers-media-eth-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR drivers-media-eth package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-ethernet-cfg.yang which will provide the + compatible functionalities. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-04 { + description + "Addition of base-r fec mode configuration."; + semver:module-version "2.0.1m"; + } + revision 2019-12-03 { + description + "Adding priority flow-control mode configuration."; + semver:module-version "2.0.0"; + } + revision 2019-05-21 { + description + "Added new leaf for frame preemption configuration."; + semver:module-version "1.1.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-01-18 { + description + "Makig carrier delay tuple items optional."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Ethernet-auto-negotiation { + type enumeration { + enum "true" { + value 1; + description + "IEEE Standard auto-negotiation"; + } + enum "override" { + value 2; + description + "Auto-negotiation with configuration override"; + } + } + description + "Ethernet auto negotiation"; + } + + typedef Ethernet-fec { + type enumeration { + enum "none" { + value 0; + description + "Disable any FEC enabled on the interface"; + } + enum "standard" { + value 1; + description + "Enable standard (Reed-Solomon) FEC"; + } + enum "base-r" { + value 2; + description + "Enable Base-R (Fire code) FEC"; + } + } + description + "Ethernet fec"; + } + + typedef Ethernet-flow-ctrl { + type enumeration { + enum "ingress" { + value 0; + description + "Ingress flow control (sending pause frames)"; + } + enum "egress" { + value 1; + description + "Egress flow control (received pause frames)"; + } + enum "bidirectional" { + value 2; + description + "Bi-direction flow control"; + } + } + description + "Ethernet flow ctrl"; + } + + typedef Ethernet-duplex { + type enumeration { + enum "full" { + value 0; + description + "Full duplex"; + } + enum "half" { + value 1; + description + "Half duplex"; + } + } + description + "Ethernet duplex"; + } + + typedef Ethernet-pfcwd { + type enumeration { + enum "off" { + value 0; + description + "Disable priority flow control watchdog"; + } + enum "on" { + value 1; + description + "Enable priority flow control 1atchdog"; + } + } + description + "Ethernet pfcwd"; + } + + typedef Ethernet-loopback { + type enumeration { + enum "external" { + value 0; + description + "External loopback (using loopback connector)"; + } + enum "internal" { + value 1; + description + "Internal loopback"; + } + enum "line" { + value 2; + description + "Line loopback"; + } + } + description + "Ethernet loopback"; + } + + typedef Ethernet-speed { + type enumeration { + enum "10" { + value 10; + description + "10Mbits/s"; + } + enum "100" { + value 100; + description + "100Mbits/s"; + } + enum "1000" { + value 1000; + description + "1Gbits/s"; + } + } + description + "Ethernet speed"; + } + + typedef Ethernet-ipg { + type enumeration { + enum "non-standard" { + value 16; + description + "Non standard IPG"; + } + } + description + "Ethernet ipg"; + } + + typedef Ethernet-pfc { + type enumeration { + enum "off" { + value 0; + description + "Disable priority flow control"; + } + enum "on" { + value 1; + description + "Enable priority flow control"; + } + } + description + "Ethernet pfc"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ethernet { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-ethernet-cfg.yang which will + provide the compatible functionalities. Ether + specific interface configuration"; + container priority-flow-control-watchdog { + description + "Priority Flow Control Watchdog options"; + leaf shutdown-multiplier { + type uint32 { + range "1..10"; + } + description + "Configure priority flow-control watchdog + interval multiplier"; + } + leaf mode { + type Ethernet-pfcwd; + description + "Configure priority flow-control watchdog mode"; + } + leaf auto-restore-multiplier { + type uint32 { + range "0..100"; + } + description + "Configure priority flow-control watchdog Auto + Restore Multiplier"; + } + leaf interval { + type uint32 { + range "100..1000"; + } + description + "Configure priority flow-control watchdog + interval"; + } + } + container signal-fail-bit-error-rate { + description + "Signal Fail Bit Error Rate handling options"; + leaf signal-remote-fault { + type empty; + description + "Signal a remote fault to the peer device + whenever the link is taken down due to + crossing the SF-BER threshold"; + } + leaf signal-fail-threshold { + type uint32 { + range "4..15"; + } + default "4"; + description + "Set the Signal Fail bit error rate threshold + on an interface to a value of 10e-x, where x + is the value passed in here"; + } + leaf signal-fail-report-disable { + type empty; + description + "Disable generation of an alarm whenever the + SF-BER threshold is crossed for this interface"; + } + } + container optical-power-degrade { + description + "Optical power degrade handling options"; + leaf rx-alarm-threshold { + type int32 { + range "-300..50"; + } + description + "Set the value of the received optical power + degrade alarm threshold on an interface"; + } + } + container signal-degrade-bit-error-rate { + description + "Signal Degrade Bit Error Rate handling options"; + leaf signal-degrade-threshold { + type uint32 { + range "3..15"; + } + default "6"; + description + "Set the Signal Degrade bit error rate + threshold on an interface to a value of 10e-x, + where x is the value passed in here"; + } + leaf signal-degrade-report { + type empty; + description + "Generate an alarm whenever the SD-BER + threshold is crossed for this interface"; + } + } + container priority-flow-control { + description + "Priority Flow Control options"; + leaf mode { + type Ethernet-pfc; + description + "Configure priority flow-control mode"; + } + } + container carrier-delay { + description + "Set the carrier transition delay on an + interface in msecs"; + leaf carrier-delay-up { + type uint32 { + range "0..2147483647"; + } + description + "Carrier Delay (up) in msecs"; + } + leaf carrier-delay-down { + type uint32 { + range "0..2147483647"; + } + description + "Carrier Delay (down) in msecs"; + } + } + leaf frame-preemption { + type empty; + description + "Enable frame preemption"; + } + leaf duplex { + type Ethernet-duplex; + description + "Configure duplex operational mode"; + } + leaf auto-negotiation { + type Ethernet-auto-negotiation; + description + "Link auto-negotiation"; + } + leaf flow-control { + type Ethernet-flow-ctrl; + description + "Configure flow-control mode"; + } + leaf forward-error-correction { + type Ethernet-fec; + description + "Forward Error Correction"; + } + leaf loopback { + type Ethernet-loopback; + description + "Configure loopback mode"; + } + leaf speed { + type Ethernet-speed; + description + "Set the ethernet speed on an interface"; + } + leaf inter-packet-gap { + type Ethernet-ipg; + description + "Inter-packet gap"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg.yang new file mode 100644 index 000000000..f23922e2e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg.yang @@ -0,0 +1,103 @@ +module Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg"; + prefix drivers-media-eth-gl-pfc-wd-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR drivers-media-eth-gl-pfc-wd package configuration. + + This module contains definitions + for the following management objects: + priority-flow-control-watchdog: Global Priority Flow Control + Watchdog options + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-13 { + description + "Support for displaying configured data for Global pfc watchdog."; + semver:module-version "1.0.0"; + } + revision 2019-08-15 { + description + "Global pfc watchdog configuration."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ethernet-pfcgwd { + type enumeration { + enum "off" { + value 0; + description + "Disable priority flow control watchdog"; + } + enum "on" { + value 1; + description + "Enable priority flow control watchdog"; + } + } + description + "Ethernet pfcgwd"; + } + + container priority-flow-control-watchdog { + description + "Global Priority Flow Control Watchdog options"; + leaf auto-restore-multiplier { + type uint32 { + range "0..100"; + } + description + "Configure global priority flow-control watchdog + Auto Restore Multiplier"; + } + leaf interval { + type uint32 { + range "100..1000"; + } + description + "Configure global priority flow-control watchdog + interval"; + } + leaf shutdown-multiplier { + type uint32 { + range "1..10"; + } + description + "Configure global priority flow-control watchdog + interval multiplier"; + } + leaf mode { + type Ethernet-pfcgwd; + description + "Configure global priority flow-control watchdog + mode"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper-sub1.yang new file mode 100644 index 000000000..616b4cb07 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper-sub1.yang @@ -0,0 +1,4860 @@ +submodule Cisco-IOS-XR-drivers-media-eth-oper-sub1 { + belongs-to Cisco-IOS-XR-drivers-media-eth-oper { + prefix Cisco-IOS-XR-drivers-media-eth-oper; + } + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR drivers-media-eth package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-14 { + description + "Start timestamp and validity support added for ethernet ports. + 2021-11-24 + Updated media type string + 2021-10-05 + Insert Idle support added for ethernet controllers. + 2021-09-30 + Added new Ethernet media type definition."; + semver:module-version "2.1.1M"; + } + revision 2021-09-29 { + description + "Removed list rx_drop_data_frames_per_tc and added leaf total_rx_drop_data_frames. + 2021-08-24 + Support added for last data time for generic stats. + 2021-08-16 + Added new Ethernet media type definition. + 2021-07-19 + Removed leaf total_rx_drop_data_frames and added list rx_drop_data_frames_per_tc to maintain backward compatibility. + 2021-07-01 + Support added for hardware timestamp for generic stats."; + semver:module-version "2.1.0"; + } + revision 2021-02-12 { + description + "Added support for PFC per TC Rx drop Data Frames. + 2020-11-04 + Added support for SER alarms. + 2020-09-08 + Added new ethernet speed values."; + semver:module-version "2.0.0"; + } + revision 2020-02-19 { + description + "Description updated. + 2019-11-27 + Adding operational value for power m-factor. + 2019-08-15 + Adding PFC watchdog support."; + semver:module-version "1.2.0"; + } + revision 2019-05-21 { + description + "Added new leaf for frame preemption configuration."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-04-04 { + description + "Added new fields to phy data."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Ethernet-dev-if { + type enumeration { + enum "no-interface" { + description + "no interface"; + } + enum "xgmii" { + description + "xgmii"; + } + enum "xaui" { + description + "xaui"; + } + enum "ethernet-num-dev-if" { + description + "ethernet num dev if"; + } + } + description + "Ethernet dev if"; + } + + typedef Ethernet-dev { + type enumeration { + enum "no-device" { + description + "no device"; + } + enum "pma-pmd" { + description + "pma pmd"; + } + enum "wis" { + description + "wis"; + } + enum "pcs" { + description + "pcs"; + } + enum "phy-xs" { + description + "phy xs"; + } + enum "dte-xs" { + description + "dte xs"; + } + enum "ethernet-num-dev" { + description + "ethernet num dev"; + } + } + description + "Ethernet dev"; + } + + typedef Ethernet-bert-pattern { + type enumeration { + enum "no-test-pattern" { + description + "no test pattern"; + } + enum "high-frequency" { + description + "high frequency"; + } + enum "low-frequency" { + description + "low frequency"; + } + enum "mixed-frequency" { + description + "mixed frequency"; + } + enum "continuous-random" { + description + "continuous random"; + } + enum "continuous-jitter" { + description + "continuous jitter"; + } + enum "long-continuous-random" { + description + "long continuous random"; + } + enum "short-continuous-random" { + description + "short continuous random"; + } + enum "pseudorandom-seed-a" { + description + "pseudorandom seed a"; + } + enum "pseudorandom-seed-b" { + description + "pseudorandom seed b"; + } + enum "prbs31" { + description + "prbs31"; + } + enum "square-wave" { + description + "square wave"; + } + enum "pseudorandom" { + description + "pseudorandom"; + } + enum "ethernet-bert-pattern-types" { + description + "ethernet bert pattern types"; + } + } + description + "Ethernet test patterns (IEEE spec 36A/48A)"; + } + + typedef Ethernet-bert-err-cnt { + type enumeration { + enum "no-count-type" { + description + "no count type"; + } + enum "bit-error-count" { + description + "bit error count"; + } + enum "frame-error-count" { + description + "frame error count"; + } + enum "block-error-count" { + description + "block error count"; + } + enum "ethernet-bert-err-cnt-types" { + description + "ethernet bert err cnt types"; + } + } + description + "Ethernet bert err cnt"; + } + + typedef Ethernet-bert-mask { + type uint32; + description + "Ethernet bert mask"; + } + + typedef Ether-ains-status { + type enumeration { + enum "ains-soak-status-none" { + description + "AINS Soak timer not running"; + } + enum "ains-soak-status-pending" { + description + "AINS Soak timer pending"; + } + enum "ains-soak-status-running" { + description + "AINS Soak timer running"; + } + } + description + "Ether ains status"; + } + + typedef Mac-addr { + type yang:mac-address; + description + "Mac addr"; + } + + typedef Ether-pfc-wd { + type enumeration { + enum "ether-pfc-wd-not-cfg" { + description + "Not Configured"; + } + enum "off" { + description + "No priority flow control watchdog (disabled)"; + } + enum "on" { + description + "Priority flow control watchdog enabled"; + } + } + description + "Priority flowcontrol watchdog type"; + } + + typedef Ether-pfc { + type enumeration { + enum "no-pfc" { + description + "No priority flow control (disabled)"; + } + enum "on" { + description + "Priority flow control enabled"; + } + } + description + "Priority flowcontrol type"; + } + + typedef Eth-ctrlr-alarm-state { + type enumeration { + enum "alarm-not-supported" { + value 0; + description + "Not supported on this interface"; + } + enum "alarm-set" { + value 1; + description + "Alarm set"; + } + enum "alarm-not-set" { + value 2; + description + "Alarm not set"; + } + } + description + "Ethernet alarm state"; + } + + typedef Ethernet-ipg { + type enumeration { + enum "standard" { + description + "IEEE standard value of 12"; + } + enum "non-standard" { + description + "Non-standard value of 16"; + } + } + description + "Inter packet gap"; + } + + typedef Ether-flowcontrol { + type enumeration { + enum "no-flowcontrol" { + description + "No flow control (disabled)"; + } + enum "egress" { + description + "Traffic egress (pause frames ingress)"; + } + enum "ingress" { + description + "Traffic ingress (pause frames egress)"; + } + enum "bidirectional" { + description + "On both ingress and egress"; + } + } + description + "Flowcontrol type"; + } + + typedef Ethernet-duplex { + type enumeration { + enum "ethernet-duplex-invalid" { + description + "ethernet duplex invalid"; + } + enum "half-duplex" { + description + "half duplex"; + } + enum "full-duplex" { + description + "full duplex"; + } + } + description + "Duplexity"; + } + + typedef Ethernet-speed { + type enumeration { + enum "ethernet-speed-invalid" { + value 0; + description + "ethernet speed invalid"; + } + enum "ten-mbps" { + value 1; + description + "ten mbps"; + } + enum "hundred-mbps" { + value 2; + description + "hundred mbps"; + } + enum "one-gbps" { + value 3; + description + "one gbps"; + } + enum "ten-gbps" { + value 4; + description + "ten gbps"; + } + enum "twenty-five-gbps" { + value 5; + description + "twenty five gbps"; + } + enum "forty-gbps" { + value 6; + description + "forty gbps"; + } + enum "fifty-gbps" { + value 7; + description + "fifty gbps"; + } + enum "hundred-gbps" { + value 8; + description + "hundred gbps"; + } + enum "two-hundred-gbps" { + value 9; + description + "two hundred gbps"; + } + enum "four-hundred-gbps" { + value 10; + description + "four hundred gbps"; + } + enum "six-hundred-gbps" { + value 11; + description + "six hundred gbps"; + } + enum "eight-hundred-gbps" { + value 12; + description + "eight hundred gbps"; + } + enum "ethernet-speed-types-count" { + value 13; + description + "ethernet speed types count"; + } + } + description + "Speed"; + } + + typedef Ether-autoneg-mask { + type uint32; + description + "Ether autoneg mask"; + } + + typedef Ether-led-state { + type enumeration { + enum "led-state-unknown" { + description + "LED state is unknown"; + } + enum "led-off" { + description + "LED is off"; + } + enum "green-on" { + description + "LED is green"; + } + enum "green-flashing" { + description + "LED is flashing green"; + } + enum "yellow-on" { + description + "LED is yellow"; + } + enum "yellow-flashing" { + description + "LED is flashing yellow"; + } + enum "red-on" { + description + "LED is red"; + } + enum "red-flashing" { + description + "LED is flashing red"; + } + enum "na" { + description + "LED is Not Applicable"; + } + } + description + "Ether led state"; + } + + typedef Ether-link-state { + type enumeration { + enum "state-undefined" { + description + "State undefined"; + } + enum "unknown-state" { + description + "Initializing, true state not yet known"; + } + enum "available" { + description + "Link or light normal, loopback normal"; + } + enum "not-available" { + description + "Link loss or low light, no loopback"; + } + enum "remote-fault" { + description + "Remote fault with no detail"; + } + enum "invalid-signal" { + description + "Invalid signal, applies only to 10BASE-FB"; + } + enum "remote-jabber" { + description + "Remote fault, reason known to be jabber"; + } + enum "link-loss" { + description + "Remote fault, reason known to be far-end link + loss"; + } + enum "remote-test" { + description + "Remote fault, reason known to be test"; + } + enum "offline" { + description + "Offline (applies to auto-negotiation)"; + } + enum "auto-neg-error" { + description + "Auto-Negotiation Error"; + } + enum "pmd-link-fault" { + description + "PMD/PMA receive link fault"; + } + enum "frame-loss" { + description + "WIS loss of frames"; + } + enum "signal-loss" { + description + "WIS loss of signal"; + } + enum "link-fault" { + description + "PCS receive link fault"; + } + enum "excessive-ber" { + description + "PCS Bit Error Rate monitor reporting excessive + error rate"; + } + enum "dxs-link-fault" { + description + "DTE XGXS receive link fault"; + } + enum "pxs-link-fault" { + description + "PHY XGXS transmit link fault"; + } + enum "security" { + description + "Security failure (not a valid part)"; + } + enum "phy-not-present" { + description + "The optics for the port are not present"; + } + enum "no-optic-license" { + description + "License error (No advanced optical license)"; + } + enum "unsupported-module" { + description + "Module is not supported"; + } + enum "dwdm-laser-shut" { + description + "DWDM Laser shutdown"; + } + enum "wanphy-laser-shut" { + description + "WANPHY Laser shutdown"; + } + enum "incompatible-config" { + description + "Incompatible configuration"; + } + enum "system-error" { + description + "System error"; + } + enum "wan-framing-error" { + description + "WAN Framing Error"; + } + enum "otn-framing-error" { + description + "OTN Framing Error"; + } + enum "shutdown" { + description + "Link is shutdown"; + } + } + description + "Ethernet link state: IEEE 802.3/802.3ae clause 30 + .5.1.1.4"; + } + + typedef Ethernet-fec { + type enumeration { + enum "not-configured" { + description + "FEC not configured"; + } + enum "standard" { + description + "Reed-Solomon encoding"; + } + enum "disabled" { + description + "FEC explicitly disabled"; + } + enum "base-r" { + description + "BASE-R encoding"; + } + } + description + "FEC type"; + } + + typedef Ethernet-loopback { + type enumeration { + enum "no-loopback" { + description + "Disabled"; + } + enum "internal" { + description + "Loopback in the framer"; + } + enum "line" { + description + "Loops peer's packets back to them"; + } + enum "external" { + description + "tx externally connected to rx"; + } + } + description + "Loopback type"; + } + + typedef Ether-dom-alarm { + type enumeration { + enum "no-information" { + description + "DOM Alarm information is not available"; + } + enum "alarm-high" { + description + "Alarm high"; + } + enum "warning-high" { + description + "Warning high"; + } + enum "normal" { + description + "Within normal parameters"; + } + enum "warning-low" { + description + "Warning low"; + } + enum "alarm-low" { + description + "Alarm low"; + } + } + description + "Ether dom alarm"; + } + + typedef Ether-phy-present { + type enumeration { + enum "phy-not-present" { + description + "No PHY present"; + } + enum "phy-present" { + description + "PHY is present"; + } + enum "no-information" { + description + "State is unknown"; + } + } + description + "Ether phy present"; + } + + typedef Ethernet-media { + type enumeration { + enum "ethernet-other" { + description + "IEEE 802.3/802.3ae clause 30.2.5"; + } + enum "ethernet-unknown" { + description + "Initializing, true state or type not yet known"; + } + enum "ethernet-aui" { + description + "No internal MAU, view from AUI"; + } + enum "ethernet-10base5" { + description + "Thick coax MAU"; + } + enum "ethernet-foirl" { + description + "FOIRL MAU as specified in 9.9"; + } + enum "ethernet-10base2" { + description + "Thin coax MAU"; + } + enum "ethernet-10broad36" { + description + "Broadband DTE MAU"; + } + enum "ethernet-10base" { + description + "UTP MAU, duplexity unknown"; + } + enum "ethernet-10base-thd" { + description + "UTP MAU, half duplex"; + } + enum "ethernet-10base-tfd" { + description + "UTP MAU, full duplex"; + } + enum "ethernet-10base-fp" { + description + "Passive fiber MAU"; + } + enum "ethernet-10base-fb" { + description + "Synchronous fiber MAU"; + } + enum "ethernet-10base-fl" { + description + "Asynchronous fiber MAU, duplexity unknown"; + } + enum "ethernet-10base-flhd" { + description + "Asynchronous fiber MAU, half duplex"; + } + enum "ethernet-10base-flfd" { + description + "Asynchronous fiber MAU, full duplex"; + } + enum "ethernet-100base-t4" { + description + "Four-pair Category 3 UTP"; + } + enum "ethernet-100base-tx" { + description + "Two-pair Category 5 UTP, duplexity unknown"; + } + enum "ethernet-100base-txhd" { + description + "Two-pair Category 5 UTP, half duplex"; + } + enum "ethernet-100base-txfd" { + description + "Two-pair Category 5 UTP, full duplex"; + } + enum "ethernet-100base-fx" { + description + "X fiber over PMD, duplexity unknown"; + } + enum "ethernet-100base-fxhd" { + description + "X fiber over PMD, half duplex"; + } + enum "ethernet-100base-fxfd" { + description + "X fiber over PMD, full duplex"; + } + enum "ethernet-100base-ex" { + description + "X fiber over PMD (40km), duplexity unknown"; + } + enum "ethernet-100base-exhd" { + description + "X fiber over PMD (40km), half duplex"; + } + enum "ethernet-100base-exfd" { + description + "X fiber over PMD (40km), full duplex"; + } + enum "ethernet-100base-t2" { + description + "Two-pair Category 3 UTP, duplexity unknown"; + } + enum "ethernet-100base-t2hd" { + description + "Two-pair Category 3 UTP, half duplex"; + } + enum "ethernet-100base-t2fd" { + description + "Two-pair Category 3 UTP, full duplex"; + } + enum "ethernet-1000base-x" { + description + "X PCS/PMA, duplexity unknown"; + } + enum "ethernet-1000base-xhd" { + description + "X 1000BASE-XHDX PCS/PMA, half duplex"; + } + enum "ethernet-1000base-xfd" { + description + "X PCS/PMA, full duplex"; + } + enum "ethernet-1000base-lx" { + description + "X fiber over long-wl laser PMD, duplexity + unknown"; + } + enum "ethernet-1000base-lxhd" { + description + "X fiber over long-wl laser PMD, half duplex"; + } + enum "ethernet-1000base-lxfd" { + description + "X fiber over long-wl laser PMD, full duplex"; + } + enum "ethernet-1000base-sx" { + description + "X fiber over short-wl laser PMD, duplexity + unknown"; + } + enum "ethernet-1000base-sxhd" { + description + "X fiber over short-wl laser PMD, half duplex"; + } + enum "ethernet-1000base-sxfd" { + description + "X fiber over short-wl laser PMD, full duplex"; + } + enum "ethernet-1000base-cx" { + description + "X copper over 150-Ohm balanced PMD, duplexity + unknown"; + } + enum "ethernet-1000base-cxhd" { + description + "X copper over 150-Ohm balancedPMD, half duplex"; + } + enum "ethernet-1000base-cxfd" { + description + "X copper over 150-Ohm balancedPMD, full duplex"; + } + enum "ethernet-1000base" { + description + "Four-pair Category 5 UTP PHY, duplexity unknown"; + } + enum "ethernet-1000base-thd" { + description + "Four-pair Category 5 UTP PHY, half duplex"; + } + enum "ethernet-1000base-tfd" { + description + "Four-pair Category 5 UTP PHY, full duplex"; + } + enum "ethernet-10gbase-x" { + description + "X PCS/PMA "; + } + enum "ethernet-10gbase-lx4" { + description + "X fiber over 4 lane 1310nm optics"; + } + enum "ethernet-10gbase-r" { + description + "R PCS/PMA"; + } + enum "ethernet-10gbase-er" { + description + "R fiber over 1550nm optics"; + } + enum "ethernet-10gbase-lr" { + description + "R fiber over 1310nm optics"; + } + enum "ethernet-10gbase-sr" { + description + "R fiber over 850nm optics"; + } + enum "ethernet-10gbase-csr" { + description + "R fiber over 850nm optics"; + } + enum "ethernet-10gbase-w" { + description + "W PCS/PMA"; + } + enum "ethernet-10gbase-ew" { + description + "W fiber over 1550nm optics"; + } + enum "ethernet-10gbase-lw" { + description + "W fiber over 1310nm optics"; + } + enum "ethernet-10gbase-sw" { + description + "W fiber over 850nm optics"; + } + enum "ethernet-1000base-zx" { + description + "Single-mode fiber over 1550nm optics (Cisco)"; + } + enum "ethernet-1000base-cwdm" { + description + "CWDM with unknown wavelength optics"; + } + enum "ethernet-1000base-cwdm-1470" { + description + "CWDM with 1470nm optics"; + } + enum "ethernet-1000base-cwdm-1490" { + description + "CWDM with 1490nm optics"; + } + enum "ethernet-1000base-cwdm-1510" { + description + "CWDM with 1510nm optics"; + } + enum "ethernet-1000base-cwdm-1530" { + description + "CWDM with 1530nm optics"; + } + enum "ethernet-1000base-cwdm-1550" { + description + "CWDM with 1550nm optics"; + } + enum "ethernet-1000base-cwdm-1570" { + description + "CWDM with 1570nm optics"; + } + enum "ethernet-1000base-cwdm-1590" { + description + "CWDM with 1590nm optics"; + } + enum "ethernet-1000base-cwdm-1610" { + description + "CWDM with 1610nm optics"; + } + enum "ethernet-10gbase-zr" { + description + "Cisco-defined, over 1550nm optics"; + } + enum "ethernet-10gbase-dwdm" { + description + "DWDM optics"; + } + enum "ethernet-100gbase-lr4" { + description + "fiber over 4 lane optics (long reach)"; + } + enum "ethernet-1000base-dwdm" { + description + "DWDM optics"; + } + enum "ethernet-1000base-dwdm-1533" { + description + "DWDM with 1533nm optics"; + } + enum "ethernet-1000base-dwdm-1537" { + description + "DWDM with 1537nm optics"; + } + enum "ethernet-1000base-dwdm-1541" { + description + "DWDM with 1541nm optics"; + } + enum "ethernet-1000base-dwdm-1545" { + description + "DWDM with 1545nm optics"; + } + enum "ethernet-1000base-dwdm-1549" { + description + "DWDM with 1549nm optics"; + } + enum "ethernet-1000base-dwdm-1553" { + description + "DWDM with 1553nm optics"; + } + enum "ethernet-1000base-dwdm-1557" { + description + "DWDM with 1557nm optics"; + } + enum "ethernet-1000base-dwdm-1561" { + description + "DWDM with 1561nm optics"; + } + enum "ethernet-40gbase-lr4" { + description + "fiber over 4 lane optics (long reach)"; + } + enum "ethernet-40gbase-er4" { + description + "fiber over 4 lane optics (extended reach)"; + } + enum "ethernet-100gbase-er4" { + description + "fiber over 4 lane optics (extended reach)"; + } + enum "ethernet-1000base-ex" { + description + "X fiber over 1310nm optics"; + } + enum "ethernet-1000base-bx10-d" { + description + "X fiber (D, 10km)"; + } + enum "ethernet-1000base-bx10-u" { + description + "X fiber (U, 10km)"; + } + enum "ethernet-1000base-dwdm-1561-42" { + description + "DWDM with 1561.42nm optics"; + } + enum "ethernet-1000base-dwdm-1560-61" { + description + "DWDM with 1560.61nm optics"; + } + enum "ethernet-1000base-dwdm-1559-79" { + description + "DWDM with 1559.79nm optics"; + } + enum "ethernet-1000base-dwdm-1558-98" { + description + "DWDM with 1558.98nm optics"; + } + enum "ethernet-1000base-dwdm-1558-17" { + description + "DWDM with 1558.17nm optics"; + } + enum "ethernet-1000base-dwdm-1557-36" { + description + "DWDM with 1557.36nm optics"; + } + enum "ethernet-1000base-dwdm-1556-55" { + description + "DWDM with 1556.55nm optics"; + } + enum "ethernet-1000base-dwdm-1555-75" { + description + "DWDM with 1555.75nm optics"; + } + enum "ethernet-1000base-dwdm-1554-94" { + description + "DWDM with 1554.94nm optics"; + } + enum "ethernet-1000base-dwdm-1554-13" { + description + "DWDM with 1554.13nm optics"; + } + enum "ethernet-1000base-dwdm-1553-33" { + description + "DWDM with 1553.33nm optics"; + } + enum "ethernet-1000base-dwdm-1552-52" { + description + "DWDM with 1552.52nm optics"; + } + enum "ethernet-1000base-dwdm-1551-72" { + description + "DWDM with 1551.72nm optics"; + } + enum "ethernet-1000base-dwdm-1550-92" { + description + "DWDM with 1550.92nm optics"; + } + enum "ethernet-1000base-dwdm-1550-12" { + description + "DWDM with 1550.12nm optics"; + } + enum "ethernet-1000base-dwdm-1549-32" { + description + "DWDM with 1549.32nm optics"; + } + enum "ethernet-1000base-dwdm-1548-51" { + description + "DWDM with 1548.51nm optics"; + } + enum "ethernet-1000base-dwdm-1547-72" { + description + "DWDM with 1547.72nm optics"; + } + enum "ethernet-1000base-dwdm-1546-92" { + description + "DWDM with 1546.92nm optics"; + } + enum "ethernet-1000base-dwdm-1546-12" { + description + "DWDM with 1546.12nm optics"; + } + enum "ethernet-1000base-dwdm-1545-32" { + description + "DWDM with 1545.32nm optics"; + } + enum "ethernet-1000base-dwdm-1544-53" { + description + "DWDM with 1544.53nm optics"; + } + enum "ethernet-1000base-dwdm-1543-73" { + description + "DWDM with 1543.73nm optics"; + } + enum "ethernet-1000base-dwdm-1542-94" { + description + "DWDM with 1542.94nm optics"; + } + enum "ethernet-1000base-dwdm-1542-14" { + description + "DWDM with 1542.14nm optics"; + } + enum "ethernet-1000base-dwdm-1541-35" { + description + "DWDM with 1541.35nm optics"; + } + enum "ethernet-1000base-dwdm-1540-56" { + description + "DWDM with 1540.56nm optics"; + } + enum "ethernet-1000base-dwdm-1539-77" { + description + "DWDM with 1539.77nm optics"; + } + enum "ethernet-1000base-dwdm-1538-98" { + description + "DWDM with 1538.98nm optics"; + } + enum "ethernet-1000base-dwdm-1538-19" { + description + "DWDM with 1538.19nm optics"; + } + enum "ethernet-1000base-dwdm-1537-40" { + description + "DWDM with 1537.40nm optics"; + } + enum "ethernet-1000base-dwdm-1536-61" { + description + "DWDM with 1536.61nm optics"; + } + enum "ethernet-1000base-dwdm-1535-82" { + description + "DWDM with 1535.82nm optics"; + } + enum "ethernet-1000base-dwdm-1535-04" { + description + "DWDM with 1535.04nm optics"; + } + enum "ethernet-1000base-dwdm-1534-25" { + description + "DWDM with 1534.25nm optics"; + } + enum "ethernet-1000base-dwdm-1533-47" { + description + "DWDM with 1533.47nm optics"; + } + enum "ethernet-1000base-dwdm-1532-68" { + description + "DWDM with 1532.68nm optics"; + } + enum "ethernet-1000base-dwdm-1531-90" { + description + "DWDM with 1531.90nm optics"; + } + enum "ethernet-1000base-dwdm-1531-12" { + description + "DWDM with 1531.12nm optics"; + } + enum "ethernet-1000base-dwdm-1530-33" { + description + "DWDM with 1530.33nm optics"; + } + enum "ethernet-1000base-dwdm-tunable" { + description + "DWDM with tunable optics"; + } + enum "ethernet-10gbase-dwdm-1561-42" { + description + "DWDM with 1561.42nm optics"; + } + enum "ethernet-10gbase-dwdm-1560-61" { + description + "DWDM with 1560.61nm optics"; + } + enum "ethernet-10gbase-dwdm-1559-79" { + description + "DWDM with 1559.79nm optics"; + } + enum "ethernet-10gbase-dwdm-1558-98" { + description + "DWDM with 1558.98nm optics"; + } + enum "ethernet-10gbase-dwdm-1558-17" { + description + "DWDM with 1558.17nm optics"; + } + enum "ethernet-10gbase-dwdm-1557-36" { + description + "DWDM with 1557.36nm optics"; + } + enum "ethernet-10gbase-dwdm-1556-55" { + description + "DWDM with 1556.55nm optics"; + } + enum "ethernet-10gbase-dwdm-1555-75" { + description + "DWDM with 1555.75nm optics"; + } + enum "ethernet-10gbase-dwdm-1554-94" { + description + "DWDM with 1554.94nm optics"; + } + enum "ethernet-10gbase-dwdm-1554-13" { + description + "DWDM with 1554.13nm optics"; + } + enum "ethernet-10gbase-dwdm-1553-33" { + description + "DWDM with 1553.33nm optics"; + } + enum "ethernet-10gbase-dwdm-1552-52" { + description + "DWDM with 1552.52nm optics"; + } + enum "ethernet-10gbase-dwdm-1551-72" { + description + "DWDM with 1551.72nm optics"; + } + enum "ethernet-10gbase-dwdm-1550-92" { + description + "DWDM with 1550.92nm optics"; + } + enum "ethernet-10gbase-dwdm-1550-12" { + description + "DWDM with 1550.12nm optics"; + } + enum "ethernet-10gbase-dwdm-1549-32" { + description + "DWDM with 1549.32nm optics"; + } + enum "ethernet-10gbase-dwdm-1548-51" { + description + "DWDM with 1548.51nm optics"; + } + enum "ethernet-10gbase-dwdm-1547-72" { + description + "DWDM with 1547.72nm optics"; + } + enum "ethernet-10gbase-dwdm-1546-92" { + description + "DWDM with 1546.92nm optics"; + } + enum "ethernet-10gbase-dwdm-1546-12" { + description + "DWDM with 1546.12nm optics"; + } + enum "ethernet-10gbase-dwdm-1545-32" { + description + "DWDM with 1545.32nm optics"; + } + enum "ethernet-10gbase-dwdm-1544-53" { + description + "DWDM with 1544.53nm optics"; + } + enum "ethernet-10gbase-dwdm-1543-73" { + description + "DWDM with 1543.73nm optics"; + } + enum "ethernet-10gbase-dwdm-1542-94" { + description + "DWDM with 1542.94nm optics"; + } + enum "ethernet-10gbase-dwdm-1542-14" { + description + "DWDM with 1542.14nm optics"; + } + enum "ethernet-10gbase-dwdm-1541-35" { + description + "DWDM with 1541.35nm optics"; + } + enum "ethernet-10gbase-dwdm-1540-56" { + description + "DWDM with 1540.56nm optics"; + } + enum "ethernet-10gbase-dwdm-1539-77" { + description + "DWDM with 1539.77nm optics"; + } + enum "ethernet-10gbase-dwdm-1538-98" { + description + "DWDM with 1538.98nm optics"; + } + enum "ethernet-10gbase-dwdm-1538-19" { + description + "DWDM with 1538.19nm optics"; + } + enum "ethernet-10gbase-dwdm-1537-40" { + description + "DWDM with 1537.40nm optics"; + } + enum "ethernet-10gbase-dwdm-1536-61" { + description + "DWDM with 1536.61nm optics"; + } + enum "ethernet-10gbase-dwdm-1535-82" { + description + "DWDM with 1535.82nm optics"; + } + enum "ethernet-10gbase-dwdm-1535-04" { + description + "DWDM with 1535.04nm optics"; + } + enum "ethernet-10gbase-dwdm-1534-25" { + description + "DWDM with 1534.25nm optics"; + } + enum "ethernet-10gbase-dwdm-1533-47" { + description + "DWDM with 1533.47nm optics"; + } + enum "ethernet-10gbase-dwdm-1532-68" { + description + "DWDM with 1532.68nm optics"; + } + enum "ethernet-10gbase-dwdm-1531-90" { + description + "DWDM with 1531.90nm optics"; + } + enum "ethernet-10gbase-dwdm-1531-12" { + description + "DWDM with 1531.12nm optics"; + } + enum "ethernet-10gbase-dwdm-1530-33" { + description + "DWDM with 1530.33nm optics"; + } + enum "ethernet-10gbase-dwdm-tunable" { + description + "DWDM with tunable optics"; + } + enum "ethernet-40gbase-dwdm-1561-42" { + description + "DWDM with 1561.42nm optics"; + } + enum "ethernet-40gbase-dwdm-1560-61" { + description + "DWDM with 1560.61nm optics"; + } + enum "ethernet-40gbase-dwdm-1559-79" { + description + "DWDM with 1559.79nm optics"; + } + enum "ethernet-40gbase-dwdm-1558-98" { + description + "DWDM with 1558.98nm optics"; + } + enum "ethernet-40gbase-dwdm-1558-17" { + description + "DWDM with 1558.17nm optics"; + } + enum "ethernet-40gbase-dwdm-1557-36" { + description + "DWDM with 1557.36nm optics"; + } + enum "ethernet-40gbase-dwdm-1556-55" { + description + "DWDM with 1556.55nm optics"; + } + enum "ethernet-40gbase-dwdm-1555-75" { + description + "DWDM with 1555.75nm optics"; + } + enum "ethernet-40gbase-dwdm-1554-94" { + description + "DWDM with 1554.94nm optics"; + } + enum "ethernet-40gbase-dwdm-1554-13" { + description + "DWDM with 1554.13nm optics"; + } + enum "ethernet-40gbase-dwdm-1553-33" { + description + "DWDM with 1553.33nm optics"; + } + enum "ethernet-40gbase-dwdm-1552-52" { + description + "DWDM with 1552.52nm optics"; + } + enum "ethernet-40gbase-dwdm-1551-72" { + description + "DWDM with 1551.72nm optics"; + } + enum "ethernet-40gbase-dwdm-1550-92" { + description + "DWDM with 1550.92nm optics"; + } + enum "ethernet-40gbase-dwdm-1550-12" { + description + "DWDM with 1550.12nm optics"; + } + enum "ethernet-40gbase-dwdm-1549-32" { + description + "DWDM with 1549.32nm optics"; + } + enum "ethernet-40gbase-dwdm-1548-51" { + description + "DWDM with 1548.51nm optics"; + } + enum "ethernet-40gbase-dwdm-1547-72" { + description + "DWDM with 1547.72nm optics"; + } + enum "ethernet-40gbase-dwdm-1546-92" { + description + "DWDM with 1546.92nm optics"; + } + enum "ethernet-40gbase-dwdm-1546-12" { + description + "DWDM with 1546.12nm optics"; + } + enum "ethernet-40gbase-dwdm-1545-32" { + description + "DWDM with 1545.32nm optics"; + } + enum "ethernet-40gbase-dwdm-1544-53" { + description + "DWDM with 1544.53nm optics"; + } + enum "ethernet-40gbase-dwdm-1543-73" { + description + "DWDM with 1543.73nm optics"; + } + enum "ethernet-40gbase-dwdm-1542-94" { + description + "DWDM with 1542.94nm optics"; + } + enum "ethernet-40gbase-dwdm-1542-14" { + description + "DWDM with 1542.14nm optics"; + } + enum "ethernet-40gbase-dwdm-1541-35" { + description + "DWDM with 1541.35nm optics"; + } + enum "ethernet-40gbase-dwdm-1540-56" { + description + "DWDM with 1540.56nm optics"; + } + enum "ethernet-40gbase-dwdm-1539-77" { + description + "DWDM with 1539.77nm optics"; + } + enum "ethernet-40gbase-dwdm-1538-98" { + description + "DWDM with 1538.98nm optics"; + } + enum "ethernet-40gbase-dwdm-1538-19" { + description + "DWDM with 1538.19nm optics"; + } + enum "ethernet-40gbase-dwdm-1537-40" { + description + "DWDM with 1537.40nm optics"; + } + enum "ethernet-40gbase-dwdm-1536-61" { + description + "DWDM with 1536.61nm optics"; + } + enum "ethernet-40gbase-dwdm-1535-82" { + description + "DWDM with 1535.82nm optics"; + } + enum "ethernet-40gbase-dwdm-1535-04" { + description + "DWDM with 1535.04nm optics"; + } + enum "ethernet-40gbase-dwdm-1534-25" { + description + "DWDM with 1534.25nm optics"; + } + enum "ethernet-40gbase-dwdm-1533-47" { + description + "DWDM with 1533.47nm optics"; + } + enum "ethernet-40gbase-dwdm-1532-68" { + description + "DWDM with 1532.68nm optics"; + } + enum "ethernet-40gbase-dwdm-1531-90" { + description + "DWDM with 1531.90nm optics"; + } + enum "ethernet-40gbase-dwdm-1531-12" { + description + "DWDM with 1531.12nm optics"; + } + enum "ethernet-40gbase-dwdm-1530-33" { + description + "DWDM with 1530.33nm optics"; + } + enum "ethernet-40gbase-dwdm-tunable" { + description + "DWDM with tunable optics"; + } + enum "ethernet-100gbase-dwdm-1561-42" { + description + "DWDM with 1561.42nm optics"; + } + enum "ethernet-100gbase-dwdm-1560-61" { + description + "DWDM with 1560.61nm optics"; + } + enum "ethernet-100gbase-dwdm-1559-79" { + description + "DWDM with 1559.79nm optics"; + } + enum "ethernet-100gbase-dwdm-1558-98" { + description + "DWDM with 1558.98nm optics"; + } + enum "ethernet-100gbase-dwdm-1558-17" { + description + "DWDM with 1558.17nm optics"; + } + enum "ethernet-100gbase-dwdm-1557-36" { + description + "DWDM with 1557.36nm optics"; + } + enum "ethernet-100gbase-dwdm-1556-55" { + description + "DWDM with 1556.55nm optics"; + } + enum "ethernet-100gbase-dwdm-1555-75" { + description + "DWDM with 1555.75nm optics"; + } + enum "ethernet-100gbase-dwdm-1554-94" { + description + "DWDM with 1554.94nm optics"; + } + enum "ethernet-100gbase-dwdm-1554-13" { + description + "DWDM with 1554.13nm optics"; + } + enum "ethernet-100gbase-dwdm-1553-33" { + description + "DWDM with 1553.33nm optics"; + } + enum "ethernet-100gbase-dwdm-1552-52" { + description + "DWDM with 1552.52nm optics"; + } + enum "ethernet-100gbase-dwdm-1551-72" { + description + "DWDM with 1551.72nm optics"; + } + enum "ethernet-100gbase-dwdm-1550-92" { + description + "DWDM with 1550.92nm optics"; + } + enum "ethernet-100gbase-dwdm-1550-12" { + description + "DWDM with 1550.12nm optics"; + } + enum "ethernet-100gbase-dwdm-1549-32" { + description + "DWDM with 1549.32nm optics"; + } + enum "ethernet-100gbase-dwdm-1548-51" { + description + "DWDM with 1548.51nm optics"; + } + enum "ethernet-100gbase-dwdm-1547-72" { + description + "DWDM with 1547.72nm optics"; + } + enum "ethernet-100gbase-dwdm-1546-92" { + description + "DWDM with 1546.92nm optics"; + } + enum "ethernet-100gbase-dwdm-1546-12" { + description + "DWDM with 1546.12nm optics"; + } + enum "ethernet-100gbase-dwdm-1545-32" { + description + "DWDM with 1545.32nm optics"; + } + enum "ethernet-100gbase-dwdm-1544-53" { + description + "DWDM with 1544.53nm optics"; + } + enum "ethernet-100gbase-dwdm-1543-73" { + description + "DWDM with 1543.73nm optics"; + } + enum "ethernet-100gbase-dwdm-1542-94" { + description + "DWDM with 1542.94nm optics"; + } + enum "ethernet-100gbase-dwdm-1542-14" { + description + "DWDM with 1542.14nm optics"; + } + enum "ethernet-100gbase-dwdm-1541-35" { + description + "DWDM with 1541.35nm optics"; + } + enum "ethernet-100gbase-dwdm-1540-56" { + description + "DWDM with 1540.56nm optics"; + } + enum "ethernet-100gbase-dwdm-1539-77" { + description + "DWDM with 1539.77nm optics"; + } + enum "ethernet-100gbase-dwdm-1538-98" { + description + "DWDM with 1538.98nm optics"; + } + enum "ethernet-100gbase-dwdm-1538-19" { + description + "DWDM with 1538.19nm optics"; + } + enum "ethernet-100gbase-dwdm-1537-40" { + description + "DWDM with 1537.40nm optics"; + } + enum "ethernet-100gbase-dwdm-1536-61" { + description + "DWDM with 1536.61nm optics"; + } + enum "ethernet-100gbase-dwdm-1535-82" { + description + "DWDM with 1535.82nm optics"; + } + enum "ethernet-100gbase-dwdm-1535-04" { + description + "DWDM with 1535.04nm optics"; + } + enum "ethernet-100gbase-dwdm-1534-25" { + description + "DWDM with 1534.25nm optics"; + } + enum "ethernet-100gbase-dwdm-1533-47" { + description + "DWDM with 1533.47nm optics"; + } + enum "ethernet-100gbase-dwdm-1532-68" { + description + "DWDM with 1532.68nm optics"; + } + enum "ethernet-100gbase-dwdm-1531-90" { + description + "DWDM with 1531.90nm optics"; + } + enum "ethernet-100gbase-dwdm-1531-12" { + description + "DWDM with 1531.12nm optics"; + } + enum "ethernet-100gbase-dwdm-1530-33" { + description + "DWDM with 1530.33nm optics"; + } + enum "ethernet-100gbase-dwdm-tunable" { + description + "DWDM with tunable optics"; + } + enum "ethernet-40gbase-kr4" { + description + "4 lane copper (backplane)"; + } + enum "ethernet-40gbase-cr4" { + description + "4 lane copper (very short reach)"; + } + enum "ethernet-40gbase-sr4" { + description + "fiber over 4 lane optics (short reach)"; + } + enum "ethernet-40gbase-fr" { + description + "serial fiber (2+ km)"; + } + enum "ethernet-100gbase-cr10" { + description + "10 lane copper (very short reach)"; + } + enum "ethernet-100gbase-sr10" { + description + "MMF fiber over 10 lane optics (short reach)"; + } + enum "ethernet-40gbase-csr4" { + description + "fiber over 4 lane optics (extended short reach)"; + } + enum "ethernet-10gbase-cwdm" { + description + "CWDM optics"; + } + enum "ethernet-10gbase-cwdm-tunable" { + description + "CWDM with tunable optics"; + } + enum "ethernet-10gbase-cwdm-1470" { + description + "CWDM with 1470nm optics"; + } + enum "ethernet-10gbase-cwdm-1490" { + description + "CWDM with 1490nm optics"; + } + enum "ethernet-10gbase-cwdm-1510" { + description + "CWDM with 1510nm optics"; + } + enum "ethernet-10gbase-cwdm-1530" { + description + "CWDM with 1530nm optics"; + } + enum "ethernet-10gbase-cwdm-1550" { + description + "CWDM with 1550nm optics"; + } + enum "ethernet-10gbase-cwdm-1570" { + description + "CWDM with 1570nm optics"; + } + enum "ethernet-10gbase-cwdm-1590" { + description + "CWDM with 1590nm optics"; + } + enum "ethernet-10gbase-cwdm-1610" { + description + "CWDM with 1610nm optics"; + } + enum "ethernet-40gbase-cwdm" { + description + "CWDM optics"; + } + enum "ethernet-40gbase-cwdm-tunable" { + description + "CWDM with tunable optics"; + } + enum "ethernet-40gbase-cwdm-1470" { + description + "CWDM with 1470nm optics"; + } + enum "ethernet-40gbase-cwdm-1490" { + description + "CWDM with 1490nm optics"; + } + enum "ethernet-40gbase-cwdm-1510" { + description + "CWDM with 1510nm optics"; + } + enum "ethernet-40gbase-cwdm-1530" { + description + "CWDM with 1530nm optics"; + } + enum "ethernet-40gbase-cwdm-1550" { + description + "CWDM with 1550nm optics"; + } + enum "ethernet-40gbase-cwdm-1570" { + description + "CWDM with 1570nm optics"; + } + enum "ethernet-40gbase-cwdm-1590" { + description + "CWDM with 1590nm optics"; + } + enum "ethernet-40gbase-cwdm-1610" { + description + "CWDM with 1610nm optics"; + } + enum "ethernet-100gbase-cwdm" { + description + "CWDM optics"; + } + enum "ethernet-100gbase-cwdm-tunable" { + description + "CWDM with tunable optics"; + } + enum "ethernet-100gbase-cwdm-1470" { + description + "CWDM with 1470nm optics"; + } + enum "ethernet-100gbase-cwdm-1490" { + description + "CWDM with 1490nm optics"; + } + enum "ethernet-100gbase-cwdm-1510" { + description + "CWDM with 1510nm optics"; + } + enum "ethernet-100gbase-cwdm-1530" { + description + "CWDM with 1530nm optics"; + } + enum "ethernet-100gbase-cwdm-1550" { + description + "CWDM with 1550nm optics"; + } + enum "ethernet-100gbase-cwdm-1570" { + description + "CWDM with 1570nm optics"; + } + enum "ethernet-100gbase-cwdm-1590" { + description + "CWDM with 1590nm optics"; + } + enum "ethernet-100gbase-cwdm-1610" { + description + "CWDM with 1610nm optics"; + } + enum "ethernet-40gbase-elpb" { + description + "Electrical loopback"; + } + enum "ethernet-100gbase-elpb" { + description + "Electrical loopback"; + } + enum "ethernet-100gbase-lr10" { + description + "Fiber over 10 lane optics (long reach)"; + } + enum "ethernet-40gbase" { + description + "Four-pair Category 8 STP"; + } + enum "ethernet-100gbase-kp4" { + description + "4 lane copper (backplane)"; + } + enum "ethernet-100gbase-kr4" { + description + "Improved 4 lane copper (backplane)"; + } + enum "ethernet-10gbase-lrm" { + description + "Multimode fiber with 1310nm optics (long reach)"; + } + enum "ethernet-10gbase-cx4" { + description + "4 lane X copper"; + } + enum "ethernet-10gbase" { + description + "Four-pair Category 6+ UTP"; + } + enum "ethernet-10gbase-kx4" { + description + "4 lane X copper (backplane)"; + } + enum "ethernet-10gbase-kr" { + description + "Copper (backplane)"; + } + enum "ethernet-10gbase-pr" { + description + "Passive optical network"; + } + enum "ethernet-100base-lx" { + description + "X fiber over 4 lane 1310nm optics"; + } + enum "ethernet-100base-zx" { + description + "Single-mode fiber over 1550nm optics (Cisco)"; + } + enum "ethernet-1000base-bx-d" { + description + "X fiber (D)"; + } + enum "ethernet-1000base-bx-u" { + description + "X fiber (U)"; + } + enum "ethernet-1000base-bx20-d" { + description + "X fiber (D, 20km)"; + } + enum "ethernet-1000base-bx20-u" { + description + "X fiber (U, 20km)"; + } + enum "ethernet-1000base-bx40-d" { + description + "X fiber (D, 40km)"; + } + enum "ethernet-1000base-bx40-da" { + description + "X fiber (D, 40km)"; + } + enum "ethernet-1000base-bx40-u" { + description + "X fiber (U, 40km)"; + } + enum "ethernet-1000base-bx80-d" { + description + "X fiber (D, 80km)"; + } + enum "ethernet-1000base-bx80-u" { + description + "X fiber (U, 80km)"; + } + enum "ethernet-1000base-bx120-d" { + description + "X fiber (D, 120km)"; + } + enum "ethernet-1000base-bx120-u" { + description + "X fiber (U, 120km)"; + } + enum "ethernet-10gbase-bx-d" { + description + "X fiber (D)"; + } + enum "ethernet-10gbase-bx-u" { + description + "X fiber (U)"; + } + enum "ethernet-10gbase-bx10-d" { + description + "X fiber (D, 10km)"; + } + enum "ethernet-10gbase-bx10-u" { + description + "X fiber (U, 10km)"; + } + enum "ethernet-10gbase-bx20-d" { + description + "X fiber (D, 20km)"; + } + enum "ethernet-10gbase-bx20-u" { + description + "X fiber (U, 20km)"; + } + enum "ethernet-10gbase-bx40-d" { + description + "X fiber (D, 40km)"; + } + enum "ethernet-10gbase-bx40-u" { + description + "X fiber (U, 40km)"; + } + enum "ethernet-10gbase-bx80-d" { + description + "X fiber (D, 80km)"; + } + enum "ethernet-10gbase-bx80-u" { + description + "X fiber (U, 80km)"; + } + enum "ethernet-10gbase-bx120-d" { + description + "X fiber (D, 120km)"; + } + enum "ethernet-10gbase-bx120-u" { + description + "X fiber (U, 120km)"; + } + enum "ethernet-1000base-dr-lx" { + description + "X fiber over long-wl laser PMD, duplexity + unknown, dual rate"; + } + enum "ethernet-100gbase-er4l" { + description + "fiber over 4 lane optics (25km reach) (lite)"; + } + enum "ethernet-100gbase-sr4" { + description + "fiber over 4 lane optics (short reach)"; + } + enum "ethernet-40gbase-sr-bd" { + description + "Bi-directional fiber over 2 lane optics (short + reach)"; + } + enum "ethernet-25gbase-cr" { + description + "Twinaxial copper cabling"; + } + enum "ethernet-25gbase-cr-s" { + description + "Twinaxial copper cabling (no RS-FEC)"; + } + enum "ethernet-25gbase-kr" { + description + "One lane electrical backplane"; + } + enum "ethernet-25gbase-kr-s" { + description + "One lane electrical backplane (no RS-FEC)"; + } + enum "ethernet-25gbase-r" { + description + "One lane fiber"; + } + enum "ethernet-25gbase-sr" { + description + "Multimode fiber"; + } + enum "ethernet-25gbase-csr" { + description + "Multimode fiber"; + } + enum "ethernet-25gbase-dwdm" { + description + "DWDM optics"; + } + enum "ethernet-25gbase-dwdm-tunable" { + description + "DWDM with tunable optics"; + } + enum "ethernet-25gbase-cwdm" { + description + "CWDM optics"; + } + enum "ethernet-25gbase-cwdm-tunable" { + description + "CWDM with tunable optics"; + } + enum "ethernet-100gbase-psm4" { + description + "4 parallel single mode fibers"; + } + enum "ethernet-100gbase-er10" { + description + "Fiber over 10 lane optics (extended reach)"; + } + enum "ethernet-100gbase-er10l" { + description + "Fiber over 10 lane optics (extended reach) + (lite)"; + } + enum "ethernet-100gbase-acc" { + description + "Active copper cable"; + } + enum "ethernet-100gbase-aoc" { + description + "Active optical cable"; + } + enum "ethernet-100gbase-cwdm4" { + description + "4 lane CWDM cable"; + } + enum "ethernet-40gbase-psm4" { + description + "4 parallel single mode fibers"; + } + enum "ethernet-100gbase-cr4" { + description + "4 lane copper (very short reach)"; + } + enum "ethernet-100gbase-act-loop" { + description + "Active loopback"; + } + enum "ethernet-100gbase-pas-loop" { + description + "Passive loopback"; + } + enum "ethernet-50gbase-cr2" { + description + "2 lane copper (very short reach)"; + } + enum "ethernet-50gbase-sr2" { + description + "fiber over 2 lane optics (short reach)"; + } + enum "ethernet-50gbase-psm2" { + description + "2 parallel single mode fibers"; + } + enum "ethernet-200gbase-cr4" { + description + "4 lanes Passive Copper"; + } + enum "ethernet-400gbase-fr4" { + description + "Duplex SMF LC Connector 2km"; + } + enum "ethernet-400gbase-dr4" { + description + "SMF with MPO-12 connector"; + } + enum "ethernet-10gbase-cu1m" { + description + "Passive Twinax cable assembly 1m"; + } + enum "ethernet-10gbase-cu1-5m" { + description + "Passive Twinax cable assembly 1.5m"; + } + enum "ethernet-10gbase-cu2m" { + description + "Passive Twinax cable assembly 2m"; + } + enum "ethernet-10gbase-cu2-5m" { + description + "Passive Twinax cable assembly 2.5m"; + } + enum "ethernet-10gbase-cu3m" { + description + "Passive Twinax cable assembly 3m"; + } + enum "ethernet-10gbase-cu5m" { + description + "Passive Twinax cable assembly 5m"; + } + enum "ethernet-10gbase-acu7m" { + description + "Active Twinax cable assembly 7m"; + } + enum "ethernet-10gbase-acu10m" { + description + "Active Twinax cable assembly 10m"; + } + enum "ethernet-10gbase-aoc1m" { + description + "Active optical cable 1m"; + } + enum "ethernet-10gbase-aoc2m" { + description + "Active optical cable 2m"; + } + enum "ethernet-10gbase-aoc3m" { + description + "Active optical cable 3m"; + } + enum "ethernet-10gbase-aoc5m" { + description + "Active optical cable 5m"; + } + enum "ethernet-10gbase-aoc7m" { + description + "Active optical cable 7m"; + } + enum "ethernet-10gbase-aoc10m" { + description + "Active optical cable 10m"; + } + enum "ethernet-40gbase-aoc" { + description + "Active optical cable"; + } + enum "ethernet-4x10g-base-lr" { + description + "fiber over 4 lane optics (long reach)"; + } + enum "ethernet-40gbase-acu1m" { + description + "Active Twinax cable assembly 1m"; + } + enum "ethernet-40gbase-acu3m" { + description + "Active Twinax cable assembly 3m"; + } + enum "ethernet-40gbase-acu5m" { + description + "Active Twinax cable assembly 5m"; + } + enum "ethernet-40gbase-acu7m" { + description + "Active Twinax cable assembly 7m"; + } + enum "ethernet-40gbase-acu10m" { + description + "Active Twinax cable assembly 10m"; + } + enum "ethernet-25gbase-cu1m" { + description + "Twinaxial copper cabling (1m)"; + } + enum "ethernet-25gbase-cu2m" { + description + "Twinaxial copper cabling (2m)"; + } + enum "ethernet-25gbase-cu3m" { + description + "Twinaxial copper cabling (3m)"; + } + enum "ethernet-25gbase-cu4m" { + description + "Twinaxial copper cabling (4m)"; + } + enum "ethernet-25gbase-cu5m" { + description + "Twinaxial copper cabling (5m)"; + } + enum "ethernet-25gbase-cu1dot5m" { + description + "Twinaxial copper cabling (1.5m)"; + } + enum "ethernet-25gbase-cu2dot5m" { + description + "Twinaxial copper cabling (2.5m)"; + } + enum "ethernet-100gbase-sm-sr" { + description + "4 lane CWDM Lite cable"; + } + enum "ethernet-25gbase-aoc1m" { + description + "Active optical cable 1m"; + } + enum "ethernet-25gbase-aoc2m" { + description + "Active optical cable 2m"; + } + enum "ethernet-25gbase-aoc3m" { + description + "Active optical cable 3m"; + } + enum "ethernet-25gbase-aoc4m" { + description + "Active optical cable 4m"; + } + enum "ethernet-25gbase-aoc5m" { + description + "Active optical cable 5m"; + } + enum "ethernet-25gbase-aoc7m" { + description + "Active optical cable 7m"; + } + enum "ethernet-25gbase-aoc10m" { + description + "Active optical cable 10m"; + } + enum "ethernet-1000base-2bx-d" { + description + "2 channel X fibre (D)"; + } + enum "ethernet-1000base-2bx-d-i" { + description + "2 channel X fibre (D/I)"; + } + enum "ethernet-1000base-2bx-u" { + description + "2 channel X fibre (U)"; + } + enum "ethernet-1000base-2bx-u-i" { + description + "2 channel X fibre (U/I)"; + } + enum "ethernet-400gbase-cr8" { + description + "8 lane copper (very short reach)"; + } + enum "ethernet-100gbase-sr-bd" { + description + "Bi-directional fiber over 2 lane optics (short + reach)"; + } + enum "ethernet-400gbase-lr8" { + description + "fiber over 8 lane optics (long reach)"; + } + enum "ethernet-400gbase-aoc" { + description + "Active optical cable"; + } + enum "ethernet-400gbase-acc" { + description + "Active copper cable"; + } + enum "ethernet-400gbase-act-loop" { + description + "Active loopback"; + } + enum "ethernet-400gbase-pas-loop" { + description + "Passive loopback"; + } + enum "ethernet-8x-sfp50gbase-cu" { + description + "8x50G Copper cable"; + } + enum "ethernet-2x100gbase-lr8-s" { + description + "2x100G over 8 lane optics (long reach)"; + } + enum "ethernet-2x100gbase-sr4" { + description + "2x100G over 4 lane optics (short reach)"; + } + enum "ethernet-2x100gbase-psm4" { + description + "2x100G over 4 parallel single mode fibers"; + } + enum "ethernet-2x100gbase-cwdm4" { + description + "2x100G over 4 lane CWDM cable"; + } + enum "ethernet-2x100gbase-lr4" { + description + "2x100G over 4 lane optics (long reach)"; + } + enum "ethernet-100gbase-fr" { + description + "duplex single mode fiber (Far Reach/2 km)"; + } + enum "ethernet-100gbase-dwdm2" { + description + "100G DWDM optics using 2 wavelengths on 1550nm + DWDM grid with 80km reach"; + } + enum "ethernet-100gbase-er4f" { + description + "fiber over 4 lane optics (40km reach)"; + } + enum "ethernet-100gbase-er4l-s" { + description + "fiber over 4 lane optics (25km reach) (lite)"; + } + enum "ethernet-100gbase-lr" { + description + "duplex single mode fiber (Long Reach/10 km)"; + } + enum "ethernet-400gbase-aec" { + description + "Active electrical cable"; + } + enum "ethernet-4x100gbase-fr" { + description + "Parallel SMF (Far Reach/2 km)"; + } + enum "ethernet-400gbase-zr-s" { + description + "Duplex SMF LC Connector 80km"; + } + enum "ethernet-400gbase-zr-plus-s" { + description + "Duplex SMF LC Connector 80km"; + } + enum "ethernet-100gbase-dr-s" { + description + "Duplex SMF LC Connector 500m)"; + } + enum "ethernet-400gbase-lr4" { + description + "Duplex SMF over 4 lane (long reach/10 km)"; + } + enum "ethernet-25gbase-lr" { + description + "SFP28 Module for SMF"; + } + enum "ethernet-25gbase-pas-loop" { + description + "Passive loopback"; + } + enum "ethernet-50gbase-sr" { + description + "Multimode fiber"; + } + enum "ethernet-50gbase-cu1m" { + description + "Twinaxial copper cabling (1m)"; + } + enum "ethernet-50gbase-pas-loop" { + description + "Passive loopback"; + } + enum "ethernet-25g-50g-sr-s" { + description + "Multimode fiber"; + } + enum "ethernet-800gbase-cr8" { + description + "8 lane copper (very short reach)"; + } + enum "ethernet-qsa" { + description + "No Media Type (Empty QSA)"; + } + enum "ethernet-100gbase-erl" { + description + "duplex single mode fiber (Extended Reach 25km)"; + } + enum "ethernet-50gbase-cu1-5m" { + description + "Twinaxial copper cabling (1.5m)"; + } + enum "ethernet-50gbase-cu2m" { + description + "Twinaxial copper cabling (2m)"; + } + enum "ethernet-50gbase-cu2-5m" { + description + "Twinaxial copper cabling (2.5m)"; + } + enum "ethernet-50gbase-cu3m" { + description + "Twinaxial copper cabling (3m)"; + } + enum "ethernet-50gbase-cu5m" { + description + "Twinaxial copper cabling (5m)"; + } + enum "ethernet-4x100gbase-lr" { + description + "Parallel SMF (Long Reach/10 km)"; + } + enum "ethernet-100gbase-zr-plus-s" { + description + "Duplex SMF LC Connector 80km"; + } + enum "ethernet-25gbase-er" { + description + "Duplex Single mode fibre (30/40km)"; + } + enum "ethernet-10gbase-pas-loop" { + description + "Passive loopback 10G ELB"; + } + enum "ethernet-gebase-pas-loop" { + description + "Passive loopback 1GE ELB"; + } + enum "ethernet-2x200gbase-cu" { + description + "2x200G over 8 lane passive copper"; + } + enum "ethernet-200gbase-fr4" { + description + "duplex single mode fiber (Far Reach/2 km)"; + } + enum "ethernet-400gbase-sr8" { + description + "MMF over 8 lane (short reach)"; + } + enum "ethernet-base-max" { + description + "ethernet base max"; + } + } + description + "Ethernet media types: IEEE 802.3/802.3ae clause + 30.5.1.1.2"; + } + + typedef Ethernet-port-enable { + type enumeration { + enum "disabled" { + description + "Port disabled, both directions"; + } + enum "rx-enabled" { + description + "Port enabled rx direction only"; + } + enum "tx-enabled" { + description + "Port enabled tx direction only"; + } + enum "enabled" { + description + "Port enabled, both directions"; + } + } + description + "Port admin state"; + } + + grouping ETHERNET-BERT-STATUS-TYPE { + description + "ETHERNET BERT STATUS TYPE"; + leaf bert-state-enabled { + type boolean; + description + "State"; + } + leaf data-availability { + type Ethernet-bert-mask; + description + "Flag indicating available data"; + } + leaf receive-count { + type uint64; + description + "Receive count (if 0x1 set in flag)"; + } + leaf transmit-count { + type uint64; + description + "Transmit count (if 0x2 set in flag)"; + } + leaf receive-errors { + type uint64; + description + "Received errors (if 0x4 set in flag)"; + } + leaf error-type { + type Ethernet-bert-err-cnt; + description + "Bit, block or frame error"; + } + leaf test-pattern { + type Ethernet-bert-pattern; + description + "Bert Test pattern as per IEEE"; + } + leaf device-under-test { + type Ethernet-dev; + description + "Device being tested"; + } + leaf interface-device { + type Ethernet-dev-if; + description + "Interface being tested"; + } + } + + grouping ETH-SHOWCTRL-BERT { + description + "Per port BERT test status information"; + container bert-status { + description + "Current test status"; + uses ETHERNET-BERT-STATUS-TYPE; + } + leaf time-left { + type uint32; + units "second"; + description + "Remaining time for this test in seconds"; + } + leaf port-bert-interval { + type uint32; + description + "Port BERT interval"; + } + } + + grouping ETH-CTLR-TRANSPORT-INFO { + description + "ETH CTLR TRANSPORT INFO"; + leaf maintenance-mode-enabled { + type boolean; + description + "Maintenance Mode - TRUE if enabled"; + } + leaf ains-status { + type Ether-ains-status; + description + "AINS Soak status"; + } + leaf total-duration { + type uint32; + units "minute"; + description + "Total duration (minutes) of AINS soak timer"; + } + leaf remaining-duration { + type uint32; + units "second"; + description + "Remaining duration (seconds) of AINS soak timer"; + } + } + + grouping ETHER-MCAST-MAC-TYPE { + description + "Multicast MAC address"; + leaf mac-address { + type Mac-addr; + description + "MAC address"; + } + leaf mask { + type Mac-addr; + description + "Mask for this MAC address"; + } + } + + grouping ETH-CTRLR-MCAST-MAC-FILTER { + description + "ETH CTRLR MCAST MAC FILTER"; + leaf multicast-promiscuous { + type boolean; + description + "Whether the port is in multicast promiscuous + mode"; + } + list multicast-mac-address { + description + "MAC addresses in the multicast ingress + destination MAC filter"; + uses ETHER-MCAST-MAC-TYPE; + } + } + + grouping ETH-CTRLR-UCAST-MAC-FILTER { + description + "ETH CTRLR UCAST MAC FILTER"; + leaf-list unicast-mac-address { + type Mac-addr; + description + "MAC addresses in the unicast ingress destination + MAC filter"; + } + } + + grouping ETH-CTRLR-MAC-INFO { + description + "ETH CTRLR MAC INFO"; + container unicast-mac-filters { + description + "Port unicast MAC filter information"; + uses ETH-CTRLR-UCAST-MAC-FILTER; + } + container multicast-mac-filters { + description + "Port multicast MAC filter information"; + uses ETH-CTRLR-MCAST-MAC-FILTER; + } + leaf mtu { + type uint32; + description + "Port operational MTU"; + } + leaf mru { + type uint32; + description + "Port operational MRU"; + } + leaf burned-in-mac-address { + type Mac-addr; + description + "Port Burned-In MAC address"; + } + leaf operational-mac-address { + type Mac-addr; + description + "Port operational MAC address"; + } + } + + grouping ETHER-PFC-WD-DETAILS-TYPE { + description + "ETHER PFC WD DETAILS TYPE"; + leaf watchdog-state { + type string { + length "0..8"; + } + description + "Watchdog State"; + } + leaf watchdog-traffic-class-enable-mask { + type uint8; + description + "WSTCMask"; + } + list mode { + max-elements "3"; + description + "PFC Watchdog configured mode"; + leaf entry { + type Ether-pfc-wd; + description + "PFC Watchdog configured mode"; + } + } + list interval { + max-elements "3"; + description + "PFC Watchdog Interval configured"; + leaf entry { + type uint32; + description + "PFC Watchdog Interval configured"; + } + } + list shutdown-multiplier { + max-elements "3"; + description + "PFC Watchdog Shutdown Multiplier configured"; + leaf entry { + type uint32; + description + "PFC Watchdog Shutdown Multiplier configured"; + } + } + list auto-restore-multiplier { + max-elements "3"; + description + "PFC Watchdog Auto Restore Multiplier configured"; + leaf entry { + type uint32; + description + "PFC Watchdog Auto Restore Multiplier configured"; + } + } + list fixed-restore-multiplier { + max-elements "3"; + description + "PFC Watchdog Fixed Restore Multiplier configured"; + leaf entry { + type uint32; + description + "PFC Watchdog Fixed Restore Multiplier + configured"; + } + } + list qos-q-num { + max-elements "8"; + description + "Qos Q Number"; + leaf entry { + type uint32; + description + "Qos Q Number"; + } + } + list watchdog-event { + max-elements "8"; + description + "WD events"; + leaf entry { + type uint64; + description + "WD events"; + } + } + list shutdown-event { + max-elements "8"; + description + "Shutdown Events"; + leaf entry { + type uint64; + description + "Shutdown Events"; + } + } + list auto-restore-event { + max-elements "8"; + description + "Restore Events"; + leaf entry { + type uint64; + description + "Restore Events"; + } + } + list auto-restore-and-stuck-event { + max-elements "8"; + description + "Restore And Stuck Events"; + leaf entry { + type uint64; + description + "Restore And Stuck Events"; + } + } + list auto-restore-and-stuck-instantaneous-event { + max-elements "8"; + description + "Restore And Stuck instatneous Events"; + leaf entry { + type uint64; + description + "Restore And Stuck instatneous Events"; + } + } + list fixed-restore-event { + max-elements "8"; + description + "Restore Events"; + leaf entry { + type uint64; + description + "Restore Events"; + } + } + list total-dropped-packet { + max-elements "8"; + description + "Total dropped Packets"; + leaf entry { + type uint64; + description + "Total dropped Packets"; + } + } + list dropped-packet { + max-elements "8"; + description + "Dropped Packets"; + leaf entry { + type uint64; + description + "Dropped Packets"; + } + } + } + + grouping ETHER-PFC-DETAILS-TYPE { + description + "ETHER PFC DETAILS TYPE"; + leaf priority-flowcontrol { + type Ether-pfc; + description + "Port operational priority flow control"; + } + leaf priority-enabled-bitmap { + type uint8; + description + "Priority bitmap"; + } + leaf total-rx-frames { + type uint64; + description + "Total RX Frame counts"; + } + leaf total-tx-frames { + type uint64; + description + "Total TX Frame counts"; + } + leaf total-rx-drop-data-frames { + type uint64; + description + "Total RX Dropped Data Frames"; + } + leaf per-tc-rx-drop-supported { + type uint8; + description + "Indicates support for per TC RX drop Data frames"; + } + leaf per-tc-tx-frames-not-supported { + type uint8; + description + "Indicates support for per TC tx frames"; + } + list rx-frame { + max-elements "8"; + description + "RX Frame counts"; + leaf entry { + type uint64; + description + "RX Frame counts"; + } + } + list tx-frame { + max-elements "8"; + description + "TX Frame counts"; + leaf entry { + type uint64; + description + "TX Frame counts"; + } + } + list rx-drop-data-frame { + max-elements "8"; + description + "RX Dropped Data Frames"; + leaf entry { + type uint64; + description + "RX Dropped Data Frames"; + } + } + } + + grouping ETHER-OPD-SETTINGS { + description + "ETHER OPD SETTINGS"; + leaf received-optical-power-degrade-threshold-set { + type int32; + description + "Rx-OPD alarm threshold set?"; + } + leaf received-optical-power-degrade-threshold { + type int32; + description + "Rx-OPD alarm threshold value"; + } + } + + grouping ETH-OPD-MONITORING { + description + "ETH OPD MONITORING"; + container settings { + description + "The OPD monitoring settings to be applied"; + uses ETHER-OPD-SETTINGS; + } + leaf supported { + type int32; + description + "Whether or not OPD monitoring is supported"; + } + } + + grouping ETHER-BER-STATE { + description + "ETHER BER STATE"; + leaf sd-current-ber { + type uint32; + description + "Current SD-BER"; + } + leaf sf-current-ber { + type uint32; + description + "Current SF-BER"; + } + } + + grouping ETHER-BER-SETTINGS { + description + "ETHER BER SETTINGS"; + leaf signal-degrade-threshold { + type uint32; + description + "BER threshold for signal to degrade"; + } + leaf signal-degrade-alarm { + type int32; + description + "Report alarm to indicate signal degrade"; + } + leaf signal-fail-threshold { + type uint32; + description + "BER threshold for signal to fail"; + } + leaf signal-fail-alarm { + type int32; + description + "Report alarm to indicate signal failure"; + } + leaf signal-remote-fault { + type int32; + description + "Whether drivers should signal remote faults"; + } + } + + grouping ETH-BER-MONITORING { + description + "ETH BER MONITORING"; + container settings { + description + "The BER monitoring settings to be applied"; + uses ETHER-BER-SETTINGS; + } + container state { + description + "The BER state"; + uses ETHER-BER-STATE; + } + leaf supported { + type int32; + description + "Whether or not BER monitoring is supported"; + } + } + + grouping ETH-CTRLR-ERROR-COUNTERS { + description + "ETH CTRLR ERROR COUNTERS"; + leaf sync-header-errors { + type uint64; + description + "Sync-header error count"; + } + leaf pcsbip-errors { + type uint64; + description + "PCS BIP error count"; + } + } + + grouping ETH-CTRLR-ALARMS { + description + "ETH CTRLR ALARMS"; + leaf received-loss-of-signal-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of Received Loss of Signal"; + } + leaf pcs-loss-of-block-lock-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of PCS Loss of Block Lock"; + } + leaf local-fault-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of Local Fault"; + } + leaf remote-fault-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of Remote Fault"; + } + leaf sd-ber-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of SD-BER"; + } + leaf sf-ber-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of SF-BER"; + } + leaf loss-of-synchronization-data-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of Loss of Synchronization Data + Alarm"; + } + leaf hi-ber-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of Hi-BER"; + } + leaf squelch-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of Squelch"; + } + leaf rx-opd-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state of Rx OPD Alarm"; + } + leaf hi-ser-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state for Hi-SER"; + } + leaf deg-ser-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state for degraded SER"; + } + leaf local-deg-ser-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state for Local degrade SER"; + } + leaf remote-deg-ser-alarm { + type Eth-ctrlr-alarm-state; + description + "Alarm state for Remote degrade SER"; + } + } + + grouping ETHER-AUTONEG-TYPE { + description + "Autonegotiation settings"; + leaf autoneg-enabled { + type int32; + description + "TRUE if autonegotiation is enabled"; + } + leaf mask { + type Ether-autoneg-mask; + description + "Validity mask: 0x1 speed, 0x2 duplex, 0x4 + flowcontrol, 0x8 fec"; + } + leaf speed { + type Ethernet-speed; + description + "Restricted speed (if relevant bit is set in + mask)"; + } + leaf duplex { + type Ethernet-duplex; + description + "Restricted duplex (if relevant bit is set in + mask)"; + } + leaf flowcontrol { + type Ether-flowcontrol; + description + "Restricted flowcontrol (if relevant bit is set + in mask)"; + } + leaf config-override { + type int32; + description + "If true, configuration overrides negotiated + settings. If false, negotiated settings in + effect"; + } + leaf fec { + type Ethernet-fec; + description + "Restricted FEC (if revelevant bit is set in + mask)"; + } + } + + grouping ETH-CTRLR-L1-INFO { + description + "ETH CTRLR L1 INFO"; + container autoneg { + description + "Port autonegotiation configuration settings"; + uses ETHER-AUTONEG-TYPE; + } + container current-alarms { + description + "List of l1 Current alarms generated"; + uses ETH-CTRLR-ALARMS; + } + container previous-alarms { + description + "List of Previous alarms generated"; + uses ETH-CTRLR-ALARMS; + } + container error-counts { + description + "Statistics for detected errors"; + uses ETH-CTRLR-ERROR-COUNTERS; + } + container ber-monitoring { + description + "BER monitoring details"; + uses ETH-BER-MONITORING; + } + container opd-monitoring { + description + "OPD monitoring details"; + uses ETH-OPD-MONITORING; + } + container pfc-info { + description + "Priority flow control information"; + uses ETHER-PFC-DETAILS-TYPE; + } + container pfcwd-info { + description + "Priority flow control watchdog information"; + uses ETHER-PFC-WD-DETAILS-TYPE; + } + leaf link-state { + type Ether-link-state; + description + "Link state information of ethernet port"; + } + leaf led-state { + type Ether-led-state; + description + "State of the LED"; + } + leaf speed { + type Ethernet-speed; + description + "Port operational speed"; + } + leaf duplex { + type Ethernet-duplex; + description + "Port operational duplexity"; + } + leaf flowcontrol { + type Ether-flowcontrol; + description + "Port operational flow control"; + } + leaf ipg { + type Ethernet-ipg; + description + "Port operational inter-packet-gap"; + } + leaf laser-squelch-enabled { + type boolean; + description + "Laser Squelch - TRUE if enabled"; + } + leaf insert-idle-ingress-enabled { + type boolean; + description + "Insert Idle Ingress - TRUE if enabled"; + } + leaf insert-idle-egress-enabled { + type boolean; + description + "Insert Idle Egress - TRUE if enabled"; + } + leaf bandwidth-utilization { + type uint32; + units "percentage"; + description + "Bandwidth utilization (hundredths of a percent)"; + } + leaf bandwidth { + type uint64; + description + "Port operational bandwidth"; + } + leaf frame-preemption { + type int32; + description + "Indicates whether Frame preemption is enabled"; + } + leaf neighbor-mac-address { + type Mac-addr; + description + "MAC addresses of the peer connection "; + } + } + + grouping ETHER-CTRL-STATS-PCS-VALIDITY-ST { + description + "ETHER CTRL STATS PCS VALIDITY ST"; + leaf validity-total-bip { + type boolean; + description + "Flag indicating if Total BIP counter is valid"; + } + leaf validity-total-frame-err { + type boolean; + description + "Flag indicating if Total Frame Error counter is + valid"; + } + leaf validity-total-bad-sync-hdrs { + type boolean; + description + "Flag indicating if Total Bad Sync Headers count + is valid"; + } + } + + grouping ETHER-CTRL-STATS-PCS-ST-TS { + description + "ETHER CTRL STATS PCS ST TS"; + leaf start-timestamp-total-bip { + type uint64; + units "millisecond"; + description + "Start Timestamp for Total BIP counter (in msecs)"; + } + leaf start-timestamp-total-frame-error { + type uint64; + units "millisecond"; + description + "Start Timestamp for Total Frame error counter + (in msecs)"; + } + leaf start-timestamp-total-bad-sync-hdrs { + type uint64; + units "millisecond"; + description + "Start Timestamp for Total Bad Sync Headers + counter (in msecs)"; + } + } + + grouping ETHER-PCS-DETAILS-TYPE { + description + "ETHER PCS DETAILS TYPE"; + container controller-stats-start-timestamp { + description + "Timestamp when PCS counters were created,last + cleared or overrun(most recent event)"; + uses ETHER-CTRL-STATS-PCS-ST-TS; + } + container controller-stats-validity { + description + "Validity information for PCS counters, if PCS is + supported"; + uses ETHER-CTRL-STATS-PCS-VALIDITY-ST; + } + leaf total-bip { + type uint64; + description + "Total BIP errors for all lanes, if PCS is + supported"; + } + leaf total-frame-error { + type uint64; + description + "Total Frame Errors for all lanes, if PCS is + supported"; + } + leaf total-bad-sync-hdrs { + type uint64; + description + "Total Bad Sync Headers for all lanes, if PCS is + supported"; + } + } + + grouping EXTENDED-LOOPBACK-TYPE { + description + "EXTENDED LOOPBACK TYPE"; + leaf level { + type uint32; + description + "Level"; + } + leaf loopback { + type Ethernet-loopback; + description + "Port operational loopback"; + } + } + + grouping ETHER-CTRL-STATS-FEC-VALIDITY-ST { + description + "ETHER CTRL STATS FEC VALIDITY ST"; + leaf validity-corrected-codeword-count { + type boolean; + description + "Flag indicating if Corrected codeword count is + valid"; + } + leaf validity-uncorrected-codeword-count { + type boolean; + description + "Flag indicating if Uncorrected codeword count is + valid"; + } + } + + grouping ETHER-CTRL-STATS-FEC-ST-TS { + description + "ETHER CTRL STATS FEC ST TS"; + leaf start-timestamp-corrected-codeword-count { + type uint64; + units "millisecond"; + description + "Start Timestamp for Corrected codeword count (in + msecs)"; + } + leaf start-timestamp-uncorrected-codeword-count { + type uint64; + units "millisecond"; + description + "Start Timestamp for Uncorrected codeword count + (in msecs)"; + } + } + + grouping ETHER-FEC-DETAILS-TYPE { + description + "ETHER FEC DETAILS TYPE"; + container controller-stats-start-timestamp { + description + "Timestamp when FEC stats were created,last + cleared or overrun(most recent event)"; + uses ETHER-CTRL-STATS-FEC-ST-TS; + } + container controller-stats-validity { + description + "Validity information for FEC stats, if supported + on platform"; + uses ETHER-CTRL-STATS-FEC-VALIDITY-ST; + } + leaf fec { + type Ethernet-fec; + description + "Port operational FEC type"; + } + leaf corrected-codeword-count { + type uint64; + description + "Corrected codeword error count, if FEC is + supported"; + } + leaf uncorrected-codeword-count { + type uint64; + description + "Uncorrected codeword error count, if FEC is + supported"; + } + } + + grouping ETH-CTRLR-PHY-DOM-ALARMS { + description + "ETH CTRLR PHY DOM ALARMS"; + leaf transceiver-temperature { + type Ether-dom-alarm; + description + "Transceiver Optics Temperature Alarm State"; + } + leaf transceiver-voltage { + type Ether-dom-alarm; + description + "Transceiver Voltage Alarm State"; + } + leaf transmit-laser-power { + type Ether-dom-alarm; + description + "Transmit Laser Power Alarm State"; + } + leaf received-laser-power { + type Ether-dom-alarm; + description + "Received Optical Power Alarm State"; + } + leaf laser-bias-current { + type Ether-dom-alarm; + description + "Laser Bias Current Alarm State"; + } + } + + grouping ETH-CTRLR-PHY-DOM-THRESHOLD-VALIDITY { + description + "ETH CTRLR PHY DOM THRESHOLD VALIDITY"; + leaf temperature-valid { + type int32; + description + "The temperature fields are valid"; + } + leaf voltage-valid { + type int32; + description + "The voltage fields are valid"; + } + leaf laser-bias-valid { + type int32; + description + "The laser bias fields are valid"; + } + leaf transmit-power-valid { + type int32; + description + "The transmit power fields are valid"; + } + leaf receive-power-valid { + type int32; + description + "The receive power fields are valid"; + } + } + + grouping ETH-CTRLR-PHY-DOM-THRESHOLDS { + description + "ETH CTRLR PHY DOM THRESHOLDS"; + container field-validity { + description + "Indicates which of the DOM threshold fields are + valid"; + uses ETH-CTRLR-PHY-DOM-THRESHOLD-VALIDITY; + } + leaf transceiver-temperature-alarm-high { + type int32; + description + "Transceiver high temperature alarm threshold + (mDegrees C)"; + } + leaf transceiver-temperature-warning-high { + type int32; + description + "Transceiver high temperature warning threshold + (mDegrees C)"; + } + leaf transceiver-temperature-warning-low { + type int32; + description + "Transceiver low temperature warning threshold + (mDegrees C)"; + } + leaf transceiver-temperature-alarm-low { + type int32; + description + "Transceiver low temperature alarm threshold + (mDegrees C)"; + } + leaf transceiver-voltage-alarm-high { + type uint32; + description + "Transceiver high voltage alarm threshold (mV)"; + } + leaf transceiver-voltage-warning-high { + type uint32; + description + "Transceiver high voltage warning threshold (mV)"; + } + leaf transceiver-voltage-warning-low { + type uint32; + description + "Transceiver low voltage warning threshold (mV)"; + } + leaf transceiver-voltage-alarm-low { + type uint32; + description + "Transceiver low voltage alarm threshold (mV)"; + } + leaf laser-bias-alarm-high { + type uint32; + description + "Laser bias high alarm threshold (uA)"; + } + leaf laser-bias-warning-high { + type uint32; + description + "Laser bias high warning threshold (uA)"; + } + leaf laser-bias-warning-low { + type uint32; + description + "Laser bias low warning threshold (uA)"; + } + leaf laser-bias-alarm-low { + type uint32; + description + "Laser bias low alarm threshold (uA)"; + } + leaf optical-transmit-power-alarm-high { + type uint32; + description + "High optical transmit power alarm threshold (uW)"; + } + leaf optical-transmit-power-warning-high { + type uint32; + description + "High optical transmit power warning threshold + (uW)"; + } + leaf optical-transmit-power-warning-low { + type uint32; + description + "Low optical transmit power warning threshold + (uW)"; + } + leaf optical-transmit-power-alarm-low { + type uint32; + description + "Low optical transmit power alarm threshold (uW)"; + } + leaf optical-receive-power-alarm-high { + type uint32; + description + "High optical receive power alarm threshold (uW)"; + } + leaf optical-receive-power-warning-high { + type uint32; + description + "High optical receive power warning threshold + (uW)"; + } + leaf optical-receive-power-warning-low { + type uint32; + description + "Low optical receive power warning threshold (uW)"; + } + leaf optical-receive-power-alarm-low { + type uint32; + description + "Low optical receive power alarm threshold (uW)"; + } + leaf power-m-factor { + type uint32; + description + "Power multipication factor for tx/rx + alarm/warning"; + } + leaf multipication-factor { + type uint32; + description + "Multipication factor applicable for certain + Platforms"; + } + } + + grouping ETH-CTRLR-PHY-LANE-OPT-MON-VALIDITY { + description + "ETH CTRLR PHY LANE OPT MON VALIDITY"; + leaf wavelength-valid { + type int32; + description + "The wavelength 'per lane' field is valid"; + } + leaf transmit-power-valid { + type int32; + description + "The transmit power 'per lane' field is valid"; + } + leaf receive-power-valid { + type int32; + description + "The receive power 'per lane' field is valid"; + } + leaf laser-bias-valid { + type int32; + description + "The laser bias 'per lane' field is valid"; + } + } + + grouping ETH-CTRLR-PHY-DOM-LANE-ALARMS { + description + "ETH CTRLR PHY DOM LANE ALARMS"; + leaf transmit-laser-power { + type Ether-dom-alarm; + description + "Transmit Laser Power Alarm"; + } + leaf received-laser-power { + type Ether-dom-alarm; + description + "Received Optical Power Alarm"; + } + leaf laser-bias-current { + type Ether-dom-alarm; + description + "Laser Bias Current Alarm"; + } + } + + grouping ETH-CTRLR-PHY-LANE-OPT-MON { + description + "ETH CTRLR PHY LANE OPT MON"; + container dig-opt-mon-alarm { + description + "Digital Optical Monitoring alarms"; + uses ETH-CTRLR-PHY-DOM-LANE-ALARMS; + } + leaf center-wavelength { + type uint32; + description + "Center Wavelength (nm*1000)"; + } + leaf transmit-laser-power { + type int32; + description + "Transmit Laser Power (dBm*1000)"; + } + leaf received-laser-power { + type int32; + description + "Received Optical Power (dBm*1000)"; + } + leaf laser-bias-current { + type uint32; + description + "Laser Bias Current (uAmps)"; + } + leaf lane-id { + type uint32; + description + "Numerical identifier for this lane"; + } + } + + grouping ETHER-PHY-DETAILS-TYPE { + description + "ETHER PHY DETAILS TYPE"; + container lane-field-validity { + description + "Digital Optical Monitoring (per lane + information) validity"; + uses ETH-CTRLR-PHY-LANE-OPT-MON-VALIDITY; + } + container dig-opt-mon-alarm-thresholds { + description + "Digital Optical Monitoring alarm thresholds"; + uses ETH-CTRLR-PHY-DOM-THRESHOLDS; + } + container dig-opt-mon-alarms { + description + "Digital Optical Monitoring alarms"; + uses ETH-CTRLR-PHY-DOM-ALARMS; + } + leaf vendor { + type string; + description + "Name of the port optics manufacturer"; + } + leaf vendor-part-number { + type string; + description + "Part number for the port optics"; + } + leaf vendor-serial-number { + type string; + description + "Serial number for the port optics"; + } + leaf transceiver-temperature { + type int32; + description + "The temperature of the transceiver (mDegrees C)"; + } + leaf transceiver-voltage { + type int32; + description + "The input voltage to the transceiver (mV)"; + } + leaf transceiver-tx-power { + type int32; + description + "The transceiver transmit laser power (uW)"; + } + leaf transceiver-rx-power { + type int32; + description + "The transceiver receive optical power (uW)"; + } + leaf transceiver-tx-bias { + type int32; + description + "The laser bias of the transceiver (uA)"; + } + leaf optics-wavelength { + type uint32; + description + "Wavelength of the optics being used in nm * 1000"; + } + leaf optics-type { + type string; + description + "Optics module type"; + } + leaf revision-number { + type string; + description + "Module revision number"; + } + list lane { + description + "Digital Optical Monitoring (per lane + information)"; + uses ETH-CTRLR-PHY-LANE-OPT-MON; + } + } + + grouping ETH-CTRLR-PHY-INFO { + description + "ETH CTRLR PHY INFO"; + container phy-details { + description + "Details about the PHY"; + uses ETHER-PHY-DETAILS-TYPE; + } + container fec-details { + description + "Forward Error Correction information"; + uses ETHER-FEC-DETAILS-TYPE; + } + container pcs-details { + description + "Physical Coding Sub-layer counter information"; + uses ETHER-PCS-DETAILS-TYPE; + } + leaf media-type { + type Ethernet-media; + description + "Port media type"; + } + leaf phy-present { + type Ether-phy-present; + description + "Presence of PHY"; + } + leaf loopback { + type Ethernet-loopback; + description + "Port operational loopback"; + } + leaf holdoff-time { + type uint32; + description + "Ethernet port Holdoff Time"; + } + list extended-loopback { + description + "Port operational extended loopback"; + uses EXTENDED-LOOPBACK-TYPE; + } + } + + grouping ETHERNET-CONTROLLER-DRIVER-BAG-V2-TYPE { + description + "Ethernet bag for driver state for the show + controllers command"; + container phy-info { + description + "PHY information"; + uses ETH-CTRLR-PHY-INFO; + } + container layer1-info { + description + "Layer 1 information"; + uses ETH-CTRLR-L1-INFO; + } + container mac-info { + description + "MAC Layer information"; + uses ETH-CTRLR-MAC-INFO; + } + container transport-info { + description + "Transport state information"; + uses ETH-CTLR-TRANSPORT-INFO; + } + leaf admin-state { + type Ethernet-port-enable; + description + "Port Administrative State"; + } + leaf oper-state-up { + type boolean; + description + "Port Operational state - TRUE if up"; + } + } + + grouping ETHER-CTRL-L2-VALIDITY-ST { + description + "ETHER CTRL L2 VALIDITY ST"; + leaf validity-received-total-bytes { + type boolean; + description + "Validity of total octets of all frames recieved"; + } + leaf validity-received-good-bytes { + type boolean; + description + "Validity of total octets of all good frames + recieved"; + } + leaf validity-received-total-frames { + type boolean; + description + "Validity of all frames, good or bad recieved"; + } + leaf validity-received8021q-frames { + type boolean; + description + "Validity of all 802.1Q frames recieved"; + } + leaf validity-received-pause-frames { + type boolean; + description + "Validity of all pause frames recieved"; + } + leaf validity-received-unknown-opcodes { + type boolean; + description + "Validity of unsupported MAC Control frames + recieved"; + } + leaf validity-received-total64-octet-frames { + type boolean; + description + "Validity of all 64 Octet Frame Count recieved"; + } + leaf validity-received-total-octet-frames-from65-to127 { + type boolean; + description + "Validity of all 65-127 Octet Frame Count + recieved"; + } + leaf validity-received-total-octet-frames-from128-to255 { + type boolean; + description + "Validity of all 128-255 Octet Frame Count + recieved"; + } + leaf validity-received-total-octet-frames-from256-to511 { + type boolean; + description + "Validity of all 256-511 Octet Frame Count + recieved"; + } + leaf validity-received-total-octet-frames-from512-to1023 { + type boolean; + description + "Validity of all 512-1023 Octet Frame Count + recieved"; + } + leaf validity-received-total-octet-frames-from1024-to1518 { + type boolean; + description + "Validity of all 1024-1518 Octet Frame Count + recieved"; + } + leaf validity-received-total-octet-frames-from1519-to-max { + type boolean; + description + "Validity of all > 1518 Octet Frame Count + recieved"; + } + leaf validity-received-good-frames { + type boolean; + description + "Validity of number of well formed packets + recieved"; + } + leaf validity-received-unicast-frames { + type boolean; + description + "Validity of number of unicast packets recieved"; + } + leaf validity-received-multicast-frames { + type boolean; + description + "Validity of number of multicast packets recieved"; + } + leaf validity-received-broadcast-frames { + type boolean; + description + "Validity of number of broadcast packets recieved"; + } + leaf validity-number-of-buffer-overrun-packets-dropped { + type boolean; + description + "Validity of input drops due to buffer overrun"; + } + leaf validity-number-of-aborted-packets-dropped { + type boolean; + description + "Validity of input drops due to packet abort"; + } + leaf validity-numberof-invalid-vlan-id-packets-dropped { + type boolean; + description + "Validity of input drops due to invalid VLAN id"; + } + leaf validity-invalid-dest-mac-drop-packets { + type boolean; + description + "Validity of input drops due to the destination + MAC not matching"; + } + leaf validity-invalid-encap-drop-packets { + type boolean; + description + "Validity of input drops due to the encapsulation + or ether type not matching"; + } + leaf validity-number-of-miscellaneous-packets-dropped { + type boolean; + description + "Validity of any other input drops not counted"; + } + leaf validity-dropped-giant-packets-greaterthan-mru { + type boolean; + description + "Validity of input Good frames > MRU, dropped"; + } + leaf validity-dropped-ether-stats-undersize-pkts { + type boolean; + description + "Validity of input Good frames < 64 Octet, + dropped"; + } + leaf validity-dropped-jabbers-packets-greaterthan-mru { + type boolean; + description + "Validity of Bad input Frames > MRU, dropped"; + } + leaf validity-dropped-ether-stats-fragments { + type boolean; + description + "Validity of Bad input Frames < 64 Octet, dropped"; + } + leaf validity-dropped-packets-with-crc-align-errors { + type boolean; + description + "Validity of input Frames 64 - MRU with CRC error"; + } + leaf validity-ether-stats-collisions { + type boolean; + description + "Validity of all input collision events"; + } + leaf validity-symbol-errors { + type boolean; + description + "Validity of number of input symbol errors + detected"; + } + leaf validity-dropped-miscellaneous-error-packets { + type boolean; + description + "Validity of Any other input errors not counted"; + } + leaf validity-rfc2819-ether-stats-oversized-pkts { + type boolean; + description + "Validity of input RFC2819 + etherStatsOversizedPkts"; + } + leaf validity-rfc2819-ether-stats-jabbers { + type boolean; + description + "Validity of input RFC2819 etherStatsJabbers"; + } + leaf validity-rfc2819-ether-stats-crc-align-errors { + type boolean; + description + "Validity of input RFC2819 + etherStatsCRCAlignErrors"; + } + leaf validity-rfc3635dot3-stats-alignment-errors { + type boolean; + description + "Validity of input RFC3635 + dot3StatsAlignmentErrors"; + } + leaf validity-total-bytes-transmitted { + type boolean; + description + "Validity of total octets of all frames sent"; + } + leaf validity-total-good-bytes-transmitted { + type boolean; + description + "Validity of total octets of all good frames sent"; + } + leaf validity-total-frames-transmitted { + type boolean; + description + "Validity of all frames, good or bad sent"; + } + leaf validity-transmitted8021q-frames { + type boolean; + description + "Validity of all 802.1Q frames sent"; + } + leaf validity-transmitted-total-pause-frames { + type boolean; + description + "Validity of all pause frames sent"; + } + leaf validity-transmitted-total64-octet-frames { + type boolean; + description + "Validity of all 64 Octet Frame Count sent"; + } + leaf validity-transmitted-total-octet-frames-from65-to127 { + type boolean; + description + "Validity of all 65-127 Octet Frame Count sent"; + } + leaf validity-transmitted-total-octet-frames-from128-to255 { + type boolean; + description + "Validity of all 128-255 Octet Frame Count sent"; + } + leaf validity-transmitted-total-octet-frames-from256-to511 { + type boolean; + description + "Validity of all 256-511 Octet Frame Count sent"; + } + leaf validity-transmitted-total-octet-frames-from512-to1023 { + type boolean; + description + "Validity of all 512-1023 Octet Frame Count sent"; + } + leaf validity-transmitted-total-octet-frames-from1024-to1518 { + type boolean; + description + "Validity of all 1024-1518 Octet Frame Count sent"; + } + leaf validity-transmitted-total-octet-frames-from1518-to-max { + type boolean; + description + "Validity of all > 1518 Octet Frame Count sent"; + } + leaf validity-transmitted-good-frames { + type boolean; + description + "Validity of number of well formed packets + transmitted"; + } + leaf validity-transmitted-unicast-frames { + type boolean; + description + "Validity of number of unicast packets + transmitted"; + } + leaf validity-transmitted-multicast-frames { + type boolean; + description + "Validity of number of multicast packets + transmitted"; + } + leaf validity-transmitted-broadcast-frames { + type boolean; + description + "Validity of number of broadcast packets + transmitted"; + } + leaf validity-buffer-underrun-packet-drops { + type boolean; + description + "Validity of output drops due to buffer underrun"; + } + leaf validity-aborted-packet-drops { + type boolean; + description + "Validity of output drops due to packet abort"; + } + leaf validity-uncounted-dropped-frames { + type boolean; + description + "Validity of any output drop not counted"; + } + leaf validity-miscellaneous-output-errors { + type boolean; + description + "Validity of any outputs error not counted"; + } + } + + grouping ETHER-CTRL-L2-STATS-ST-TS { + description + "ETHER CTRL L2 STATS ST TS"; + leaf start-timestamp-received-total-bytes { + type uint64; + units "millisecond"; + description + "Start Timestamp for Total octets of all frames + recieved (in msecs)"; + } + leaf start-timestamp-received-good-bytes { + type uint64; + units "millisecond"; + description + "Start Timestamp for Total octets of all good + frames recieved (in msecs)"; + } + leaf start-timestamp-received-total-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for All frames, good or bad + recieved (in msecs)"; + } + leaf start-timestamp-received8021q-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 802.1Q frames recieved + (in msecs)"; + } + leaf start-timestamp-received-pause-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for All pause frames recieved + (in msecs)"; + } + leaf start-timestamp-received-unknown-opcodes { + type uint64; + units "millisecond"; + description + "Start Timestamp for Unsupported MAC Control + frames recieved (in msecs)"; + } + leaf start-timestamp-received-total64-octet-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 64 Octet Frame Count + recieved (in msecs)"; + } + leaf start-timestamp-received-total-octet-frames-from65-to127 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 65-127 Octet Frame Count + recieved (in msecs)"; + } + leaf start-timestamp-received-total-octet-frames-from128-to255 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 128-255 Octet Frame + Count recieved (in msecs)"; + } + leaf start-timestamp-received-total-octet-frames-from256-to511 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 256-511 Octet Frame + Count recieved (in msecs)"; + } + leaf start-timestamp-received-total-octet-frames-from512-to1023 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 512-1023 Octet Frame + Count recieved (in msecs)"; + } + leaf start-timestamp-received-total-octet-frames-from1024-to1518 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 1024-1518 Octet Frame + Count recieved (in msecs)"; + } + leaf start-timestamp-received-total-octet-frames-from1519-to-max { + type uint64; + units "millisecond"; + description + "Start Timestamp for All > 1518 Octet Frame Count + recieved (in msecs)"; + } + leaf start-timestamp-received-good-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of well formed + packets recieved (in msecs)"; + } + leaf start-timestamp-received-unicast-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of unicast packets + recieved (in msecs)"; + } + leaf start-timestamp-received-multicast-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of multicast packets + recieved (in msecs)"; + } + leaf start-timestamp-received-broadcast-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of broadcast packets + recieved (in msecs)"; + } + leaf start-timestamp-number-of-buffer-overrun-packets-dropped { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Drops due to buffer + overrun (in msecs)"; + } + leaf start-timestamp-number-of-aborted-packets-dropped { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Drops due to packet + abort (in msecs)"; + } + leaf start-timestamp-numberof-invalid-vlan-id-packets-dropped { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Drops due to invalid + VLAN id (in msecs)"; + } + leaf start-timestamp-invalid-dest-mac-drop-packets { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Drops due to the + destination MAC not matching (in msecs)"; + } + leaf start-timestamp-invalid-encap-drop-packets { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Drops due to the + encapsulation or ether type not matching (in + msecs)"; + } + leaf start-timestamp-number-of-miscellaneous-packets-dropped { + type uint64; + units "millisecond"; + description + "Start Timestamp for Any other input drops not + counted (in msecs)"; + } + leaf start-timestamp-dropped-giant-packets-greaterthan-mru { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Good frames > MRU, + dropped (in msecs)"; + } + leaf start-timestamp-dropped-ether-stats-undersize-pkts { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Good frames < 64 Octet + , dropped (in msecs)"; + } + leaf start-timestamp-dropped-jabbers-packets-greaterthan-mru { + type uint64; + units "millisecond"; + description + "Start Timestamp for Bad input Frames > MRU, + dropped (in msecs)"; + } + leaf start-timestamp-dropped-ether-stats-fragments { + type uint64; + units "millisecond"; + description + "Start Timestamp for Bad input Frames < 64 Octet, + dropped (in msecs)"; + } + leaf start-timestamp-dropped-packets-with-crc-align-errors { + type uint64; + units "millisecond"; + description + "Start Timestamp for input Frames 64 - MRU with + CRC error (in msecs)"; + } + leaf start-timestamp-ether-stats-collisions { + type uint64; + units "millisecond"; + description + "Start Timestamp for all input collision events + (in msecs)"; + } + leaf start-timestamp-symbol-errors { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of input symbol + errors detected (in msecs)"; + } + leaf start-timestamp-dropped-miscellaneous-error-packets { + type uint64; + units "millisecond"; + description + "Start Timestamp for Any other input errors not + counted (in msecs)"; + } + leaf start-timestamp-rfc2819-ether-stats-oversized-pkts { + type uint64; + units "millisecond"; + description + "Start Timestamp for input RFC2819 + etherStatsOversizedPkts (in msecs)"; + } + leaf start-timestamp-rfc2819-ether-stats-jabbers { + type uint64; + units "millisecond"; + description + "Start Timestamp for input RFC2819 + etherStatsJabbers (in msecs)"; + } + leaf start-timestamp-rfc2819-ether-stats-crc-align-errors { + type uint64; + units "millisecond"; + description + "Start Timestamp for input RFC2819 + etherStatsCRCAlignErrors (in msecs)"; + } + leaf start-timestamp-rfc3635dot3-stats-alignment-errors { + type uint64; + units "millisecond"; + description + "Start Timestamp for input RFC3635 + dot3StatsAlignmentErrors (in msecs)"; + } + leaf start-timestamp-total-bytes-transmitted { + type uint64; + units "millisecond"; + description + "Start Timestamp for Total octets of all frames + sent (in msecs)"; + } + leaf start-timestamp-total-good-bytes-transmitted { + type uint64; + units "millisecond"; + description + "Start Timestamp for Total octets of all good + frames sent (in msecs)"; + } + leaf start-timestamp-total-frames-transmitted { + type uint64; + units "millisecond"; + description + "Start Timestamp for All frames, good or bad sent + (in msecs)"; + } + leaf start-timestamp-transmitted8021q-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 802.1Q frames sent (in + msecs)"; + } + leaf start-timestamp-transmitted-total-pause-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for All pause frames sent (in + msecs)"; + } + leaf start-timestamp-transmitted-total64-octet-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 64 Octet Frame Count + sent (in msecs)"; + } + leaf start-timestamp-transmitted-total-octet-frames-from65-to127 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 65-127 Octet Frame Count + sent (in msecs)"; + } + leaf start-timestamp-transmitted-total-octet-frames-from128-to255 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 128-255 Octet Frame + Count sent (in msecs)"; + } + leaf start-timestamp-transmitted-total-octet-frames-from256-to511 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 256-511 Octet Frame + Count sent (in msecs)"; + } + leaf start-timestamp-transmitted-total-octet-frames-from512-to1023 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 512-1023 Octet Frame + Count sent (in msecs)"; + } + leaf start-timestamp-transmitted-total-octet-frames-from1024-to1518 { + type uint64; + units "millisecond"; + description + "Start Timestamp for All 1024-1518 Octet Frame + Count sent (in msecs)"; + } + leaf start-timestamp-transmitted-total-octet-frames-from1518-to-max { + type uint64; + units "millisecond"; + description + "Start Timestamp for All > 1518 Octet Frame Count + sent (in msecs)"; + } + leaf start-timestamp-transmitted-good-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of well formed + packets transmitted (in msecs)"; + } + leaf start-timestamp-transmitted-unicast-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of unicast packets + transmitted (in msecs)"; + } + leaf start-timestamp-transmitted-multicast-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of multicast packets + transmitted (in msecs)"; + } + leaf start-timestamp-transmitted-broadcast-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for Number of broadcast packets + transmitted (in msecs)"; + } + leaf start-timestamp-buffer-underrun-packet-drops { + type uint64; + units "millisecond"; + description + "Start Timestamp for output drops due to buffer + underrun (in msecs)"; + } + leaf start-timestamp-aborted-packet-drops { + type uint64; + units "millisecond"; + description + "Start Timestamp for output drops due to packet + abort (in msecs)"; + } + leaf start-timestamp-uncounted-dropped-frames { + type uint64; + units "millisecond"; + description + "Start Timestamp for any output drop not counted + (in msecs)"; + } + leaf start-timestamp-miscellaneous-output-errors { + type uint64; + units "millisecond"; + description + "Start Timestamp for any outputs error not + counted (in msecs)"; + } + } + + grouping ETHERNET-L2-CONTROLLER-STATS { + description + "Layer 2 Controller Stats"; + container controller-stats-start-timestamp { + description + "Timestamp when layer 2 controller stats were + created,last cleared or overrun(most recent + event)"; + uses ETHER-CTRL-L2-STATS-ST-TS; + } + container controller-stats-validity { + description + "Validity information for controller stats per + counter for the port"; + uses ETHER-CTRL-L2-VALIDITY-ST; + } + leaf received-total-bytes { + type uint64; + description + "Total octets of all frames"; + } + leaf received-good-bytes { + type uint64; + description + "Total octets of all good frames"; + } + leaf received-total-frames { + type uint64; + description + "All frames, good or bad"; + } + leaf received8021q-frames { + type uint64; + description + "All 802.1Q frames"; + } + leaf received-pause-frames { + type uint64; + description + "All pause frames"; + } + leaf received-unknown-opcodes { + type uint64; + description + "Unsupported MAC Control frames"; + } + leaf received-total64-octet-frames { + type uint64; + description + "All 64 Octet Frame Count"; + } + leaf received-total-octet-frames-from65-to127 { + type uint64; + description + "All 65-127 Octet Frame Count"; + } + leaf received-total-octet-frames-from128-to255 { + type uint64; + description + "All 128-255 Octet Frame Count"; + } + leaf received-total-octet-frames-from256-to511 { + type uint64; + description + "All 256-511 Octet Frame Count"; + } + leaf received-total-octet-frames-from512-to1023 { + type uint64; + description + "All 512-1023 Octet Frame Count"; + } + leaf received-total-octet-frames-from1024-to1518 { + type uint64; + description + "All 1024-1518 Octet Frame Count"; + } + leaf received-total-octet-frames-from1519-to-max { + type uint64; + description + "All > 1518 Octet Frame Count"; + } + leaf received-good-frames { + type uint64; + description + "Number of well formed packets received"; + } + leaf received-unicast-frames { + type uint64; + description + "Number of unicast packets received "; + } + leaf received-multicast-frames { + type uint64; + description + "Number of multicast packets received"; + } + leaf received-broadcast-frames { + type uint64; + description + "Number of broadcast packets received"; + } + leaf number-of-buffer-overrun-packets-dropped { + type uint64; + description + "Drops due to buffer overrun"; + } + leaf number-of-aborted-packets-dropped { + type uint64; + description + "Drops due to packet abort"; + } + leaf numberof-invalid-vlan-id-packets-dropped { + type uint64; + description + "Drops due to invalid VLAN id"; + } + leaf invalid-dest-mac-drop-packets { + type uint64; + description + "Drops due to the destination MAC not matching"; + } + leaf invalid-encap-drop-packets { + type uint64; + description + "Drops due to the encapsulation or ether type not + matching"; + } + leaf number-of-miscellaneous-packets-dropped { + type uint64; + description + "Any other drops not counted"; + } + leaf dropped-giant-packets-greaterthan-mru { + type uint64; + description + "Good frames > MRU, dropped"; + } + leaf dropped-ether-stats-undersize-pkts { + type uint64; + description + "Good frames < 64 Octet, dropped"; + } + leaf dropped-jabbers-packets-greaterthan-mru { + type uint64; + description + "Bad Frames > MRU, dropped"; + } + leaf dropped-ether-stats-fragments { + type uint64; + description + "Bad Frames < 64 Octet, dropped"; + } + leaf dropped-packets-with-crc-align-errors { + type uint64; + description + "Frames 64 - MRU with CRC error"; + } + leaf ether-stats-collisions { + type uint64; + description + "All collision events"; + } + leaf symbol-errors { + type uint64; + description + "Number of symbol errors detected"; + } + leaf dropped-miscellaneous-error-packets { + type uint64; + description + "Any other errors not counted"; + } + leaf rfc2819-ether-stats-oversized-pkts { + type uint64; + description + "RFC2819 etherStatsOversizedPkts"; + } + leaf rfc2819-ether-stats-jabbers { + type uint64; + description + "RFC2819 etherStatsJabbers"; + } + leaf rfc2819-ether-stats-crc-align-errors { + type uint64; + description + "RFC2819 etherStatsCRCAlignErrors"; + } + leaf rfc3635dot3-stats-alignment-errors { + type uint64; + description + "RFC3635 dot3StatsAlignmentErrors"; + } + leaf total-bytes-transmitted { + type uint64; + description + "Total octets of all frames"; + } + leaf total-good-bytes-transmitted { + type uint64; + description + "Total octets of all good frames"; + } + leaf total-frames-transmitted { + type uint64; + description + "All frames, good or bad"; + } + leaf transmitted8021q-frames { + type uint64; + description + "All 802.1Q frames"; + } + leaf transmitted-total-pause-frames { + type uint64; + description + "All pause frames"; + } + leaf transmitted-total64-octet-frames { + type uint64; + description + "All 64 Octet Frame Count"; + } + leaf transmitted-total-octet-frames-from65-to127 { + type uint64; + description + "All 65-127 Octet Frame Count"; + } + leaf transmitted-total-octet-frames-from128-to255 { + type uint64; + description + "All 128-255 Octet Frame Count"; + } + leaf transmitted-total-octet-frames-from256-to511 { + type uint64; + description + "All 256-511 Octet Frame Count"; + } + leaf transmitted-total-octet-frames-from512-to1023 { + type uint64; + description + "All 512-1023 Octet Frame Count"; + } + leaf transmitted-total-octet-frames-from1024-to1518 { + type uint64; + description + "All 1024-1518 Octet Frame Count"; + } + leaf transmitted-total-octet-frames-from1518-to-max { + type uint64; + description + "All > 1518 Octet Frame Count"; + } + leaf transmitted-good-frames { + type uint64; + description + "Number of well formed packets transmitted"; + } + leaf transmitted-unicast-frames { + type uint64; + description + "Number of unicast packets transmitted"; + } + leaf transmitted-multicast-frames { + type uint64; + description + "Number of multicast packets transmitted"; + } + leaf transmitted-broadcast-frames { + type uint64; + description + "Number of broadcast packets transmitted"; + } + leaf buffer-underrun-packet-drops { + type uint64; + description + "Drops due to buffer underrun"; + } + leaf aborted-packet-drops { + type uint64; + description + "Drops due to packet abort"; + } + leaf uncounted-dropped-frames { + type uint64; + description + "Any other drops not counted"; + } + leaf miscellaneous-output-errors { + type uint64; + description + "Any other errors not counted"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper.yang new file mode 100644 index 000000000..019fdbf05 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-drivers-media-eth-oper.yang @@ -0,0 +1,153 @@ +module Cisco-IOS-XR-drivers-media-eth-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-oper"; + prefix drivers-media-eth-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-drivers-media-eth-oper-sub1 { + revision-date 2021-12-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR drivers-media-eth package operational data. + + This module contains definitions + for the following management objects: + ethernet-interface: Ethernet operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-14 { + description + "Start timestamp and validity support added for ethernet ports. + 2021-11-24 + Updated media type string + 2021-10-05 + Insert Idle support added for ethernet controllers. + 2021-09-30 + Added new Ethernet media type definition."; + semver:module-version "2.1.1M"; + } + revision 2021-09-29 { + description + "Removed list rx_drop_data_frames_per_tc and added leaf total_rx_drop_data_frames. + 2021-08-24 + Support added for last data time for generic stats. + 2021-08-16 + Added new Ethernet media type definition. + 2021-07-19 + Removed leaf total_rx_drop_data_frames and added list rx_drop_data_frames_per_tc to maintain backward compatibility. + 2021-07-01 + Support added for hardware timestamp for generic stats."; + semver:module-version "2.1.0"; + } + revision 2021-02-12 { + description + "Added support for PFC per TC Rx drop Data Frames. + 2020-11-04 + Added support for SER alarms. + 2020-09-08 + Added new ethernet speed values."; + semver:module-version "2.0.0"; + } + revision 2020-02-19 { + description + "Description updated. + 2019-11-27 + Adding operational value for power m-factor. + 2019-08-15 + Adding PFC watchdog support."; + semver:module-version "1.2.0"; + } + revision 2019-05-21 { + description + "Added new leaf for frame preemption configuration."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-04-04 { + description + "Added new fields to phy data."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container ethernet-interface { + config false; + description + "Ethernet operational data"; + container statistics { + description + "Ethernet controller statistics table"; + list statistic { + key "interface-name"; + description + "Ethernet statistics information"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses ETHERNET-L2-CONTROLLER-STATS; + } + } + container interfaces { + description + "Ethernet controller info table"; + list interface { + key "interface-name"; + description + "Ethernet controller information"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses ETHERNET-CONTROLLER-DRIVER-BAG-V2-TYPE; + } + } + container berts { + description + "Ethernet controller BERT table"; + list bert { + key "interface-name"; + description + "Ethernet BERT information"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses ETH-SHOWCTRL-BERT; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-cfg.yang new file mode 100644 index 000000000..2d8348a26 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-cfg.yang @@ -0,0 +1,1038 @@ +module Cisco-IOS-XR-dwdm-ui-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-dwdm-ui-cfg"; + prefix dwdm-ui-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dwdm-ui package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-04 { + description + "Enhanced FEC is not mandatory anymore."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-12-16 { + description + "Adding additional In Service Transport Admin State to allow configuration while dwdm controller is in service"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Prbs-pattern { + type enumeration { + enum "none" { + value 0; + description + "None Pattern"; + } + enum "null" { + value 1; + description + "Null Pattern"; + } + enum "pn11" { + value 2; + description + "PN11 Pattern"; + } + enum "pn23" { + value 3; + description + "PN23 Pattern"; + } + enum "pn31" { + value 4; + description + "PN31 Pattern"; + } + } + description + "Prbs pattern"; + } + + typedef Proactive { + type enumeration { + enum "default" { + value 1; + description + "Proactive Protection Default Mode"; + } + enum "graceful" { + value 2; + description + "Proactive Protection Graceful Mode"; + } + } + description + "Proactive"; + } + + typedef Expected-tti { + type enumeration { + enum "expected-tti-ascii" { + value 3; + description + "Expected TTI ascii string"; + } + enum "expected-tti-hex" { + value 4; + description + "Expected TTI hex string"; + } + } + description + "Expected tti"; + } + + typedef Fec { + type enumeration { + enum "none" { + value 0; + description + "No FEC"; + } + enum "standard" { + value 1; + description + "Standard FEC"; + } + enum "enhanced" { + value 2; + description + "Enhanced FEC"; + } + enum "high-gain-hd" { + value 3; + description + "High-Gain Hard Decision"; + } + enum "long-haul-hd" { + value 4; + description + "Long-Haul Hard Decision"; + } + enum "high-gain-sd" { + value 5; + description + "High-Gain Soft Decision"; + } + enum "long-haul-sd" { + value 6; + description + "Long-Haul Soft Decision"; + } + enum "ci-bch" { + value 7; + description + "Ci BCH"; + } + enum "high-gain-multivendor-hd" { + value 8; + description + "High-Gain Multivendor Interoperable Hard + Decision"; + } + enum "15sd-fec-de" { + value 9; + description + "15SDFecDe"; + } + enum "15sd-fec" { + value 10; + description + "15SDFec"; + } + } + description + "Fec"; + } + + typedef Framing { + type enumeration { + enum "opu1e" { + value 1; + description + "opu1e Framing"; + } + enum "opu2e" { + value 2; + description + "opu2e Framing"; + } + } + description + "Framing"; + } + + typedef Otu-threshold { + type enumeration { + enum "prefec-sd" { + value 0; + description + "PREFEC SD BER THRESHOLD"; + } + enum "prefec-sf" { + value 1; + description + "PREFEC SF BER THRESHOLD"; + } + enum "otu-sd" { + value 4; + description + "OTU SD BER threshold"; + } + enum "otu-sf" { + value 5; + description + "OTU SF BER threshold"; + } + } + description + "Otu threshold"; + } + + typedef Dwdm-loopback { + type enumeration { + enum "none" { + value 0; + description + "No Loopback"; + } + enum "line" { + value 1; + description + "Line Loopback"; + } + enum "internal" { + value 2; + description + "Internal Loopback"; + } + } + description + "Dwdm loopback"; + } + + typedef Efec { + type enumeration { + enum "none" { + value 0; + description + "default submode to handle backward + compatibility"; + } + enum "i.4" { + value 1; + description + "efec i.4"; + } + enum "i.7" { + value 2; + description + "efec i.7"; + } + } + description + "Efec"; + } + + typedef Odu-alarm { + type enumeration { + enum "oci" { + value 14; + description + "ODU OCI"; + } + enum "odu-ais" { + value 15; + description + "ODU AIS"; + } + enum "lck" { + value 16; + description + "ODU LCK"; + } + enum "odu-bdi" { + value 17; + description + "ODU BDI"; + } + enum "odu-sf" { + value 20; + description + "ODU SF BER"; + } + enum "odu-sd" { + value 21; + description + "ODU SD BER"; + } + enum "plm" { + value 22; + description + "ODU PTIM"; + } + enum "odu-tim" { + value 23; + description + "ODU TIM"; + } + } + description + "Odu alarm"; + } + + typedef Prbs-mode { + type enumeration { + enum "source" { + value 0; + description + "Source Mode"; + } + enum "sink" { + value 1; + description + "Sink Mode"; + } + enum "source-sink" { + value 2; + description + "Source-Sink Mode"; + } + enum "invalid" { + value 3; + description + "Invalid Mode"; + } + } + description + "Prbs mode"; + } + + typedef Tx-tti { + type enumeration { + enum "tx-tti-ascii" { + value 0; + description + "TX TTI ascii string"; + } + enum "tx-tti-hex" { + value 1; + description + "TX TTI hex string"; + } + } + description + "Tx tti"; + } + + typedef Otu-alarm { + type enumeration { + enum "los" { + value 0; + description + "LOS"; + } + enum "lof" { + value 1; + description + "LOF"; + } + enum "lom" { + value 2; + description + "LOM"; + } + enum "iae" { + value 6; + description + "OTU IAE"; + } + enum "otu-bdi" { + value 7; + description + "OTU BDI"; + } + enum "otu-tim" { + value 8; + description + "OTU TIM"; + } + enum "otu-sf" { + value 10; + description + "OTU SF BER"; + } + enum "otu-sd" { + value 11; + description + "OTU SD BER"; + } + enum "fec-mismatch" { + value 24; + description + "FEC mismatch"; + } + enum "prefec-sd-ber" { + value 31; + description + "PREFEC SD BER"; + } + enum "prefec-sf-ber" { + value 32; + description + "PREFEC SF BER"; + } + } + description + "Otu alarm"; + } + + typedef Dwdm-admin-state { + type enumeration { + enum "out-of-service" { + value 0; + description + "Out of service"; + } + enum "in-service" { + value 1; + description + "In service"; + } + enum "maintenance" { + value 2; + description + "Out of service maintenance"; + } + enum "in-service-config-allowed" { + value 3; + description + "In service Config allowed"; + } + } + description + "Dwdm admin state"; + } + + typedef Odu-threshold { + type enumeration { + enum "odu-sd" { + value 8; + description + "ODU SD BER threshold"; + } + enum "odu-sf" { + value 9; + description + "ODU SF BER threshold"; + } + } + description + "Odu threshold"; + } + + typedef Wave-channel-num { + type enumeration { + enum "default" { + value 0; + description + "Default Wave Channel Number"; + } + enum "channel-wavelength" { + value 1; + description + "Wavelength Wave Channel Number"; + } + enum "channel-frequency" { + value 2; + description + "Frequency Wave Channel Number"; + } + enum "100mhz-frequency" { + value 4; + description + "Frequency in Steps of 100MHz"; + } + } + description + "Wave channel num"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf maintenance-embargo { + type boolean; + description + "configure maintenance embargo flag on the given + interface"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container dwdm { + description + "DWDM port controller configuration"; + container network-srlgs { + description + "Configure Network srlgs"; + list network-srlg { + key "set-id"; + description + "Configure network srlg sets"; + leaf set-id { + type uint32 { + range "1..17"; + } + description + "Set index"; + } + leaf srlg1 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg2 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg3 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg4 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg5 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + leaf srlg6 { + type uint32 { + range "0..4294967294"; + } + description + "none"; + } + } + } + container g709 { + description + "Configure G709 parameters"; + container odu { + description + "Configure ODU parameters"; + container odu-reports { + description + "Configure ODU alarm reporting"; + list odu-report { + key "alarm"; + description + "none"; + leaf alarm { + type Odu-alarm; + description + "ODU alarm type"; + } + } + } + container odu-thresholds { + description + "Configure ODU threshold value"; + list odu-threshold { + key "threshold"; + description + "none"; + leaf threshold { + type Odu-threshold; + description + "ODU Threshold type"; + } + leaf threshold-value { + type uint32 { + range "1..9"; + } + mandatory true; + description + "Bit error rate (10 to the minus n)"; + } + } + } + container odu-expected-tti { + description + "Configure ODU Expected TTI value"; + leaf string-type { + type Expected-tti; + description + "TTI string type (ascii or hex format)"; + } + leaf ascii-string { + when "../string-type = 'expected-tti-ascii'" { + description + "../StringType = EXPECTED_TTI_ASCII"; + } + type string { + length "1..64"; + } + description + "ASCII text (Max 64 characters)"; + } + leaf hex-string { + when "../string-type = 'expected-tti-hex'" { + description + "../StringType = EXPECTED_TTI_HEX"; + } + type string { + length "1..128"; + } + description + "Hex nibbles (Max 128- The string length + should be an even number)"; + } + } + container odu-tx-tti { + description + "Configure ODU TTI value"; + leaf string-type { + type Tx-tti; + description + "TTI string type (ascii or hex format)"; + } + leaf ascii-string { + when "../string-type = 'tx-tti-ascii'" { + description + "../StringType = TX_TTI_ASCII"; + } + type string { + length "1..64"; + } + description + "ASCII text (Max 64 characters)"; + } + leaf hex-string { + when "../string-type = 'tx-tti-hex'" { + description + "../StringType = TX_TTI_HEX"; + } + type string { + length "1..128"; + } + description + "Hex nibbles (Max 128- The string length + should be an even number)"; + } + } + } + container otu { + description + "Configure OTU parameters"; + container otu-expected-tti { + description + "Configure OTU Expected TTI value"; + leaf string-type { + type Expected-tti; + description + "TTI string type (ascii or hex format)"; + } + leaf ascii-string { + when "../string-type = 'expected-tti-ascii'" { + description + "../StringType = EXPECTED_TTI_ASCII"; + } + type string { + length "1..64"; + } + description + "ASCII text (Max 64 characters)"; + } + leaf hex-string { + when "../string-type = 'expected-tti-hex'" { + description + "../StringType = EXPECTED_TTI_HEX"; + } + type string { + length "1..128"; + } + description + "Hex nibbles (Max 128- The string length + should be an even number)"; + } + } + container otu-thresholds { + description + "Configure OTU threshold value"; + list otu-threshold { + key "threshold"; + description + "none"; + leaf threshold { + type Otu-threshold; + description + "OTU Threshold type"; + } + leaf threshold-value { + type uint32 { + range "1..9"; + } + mandatory true; + description + "Bit error rate (10 to the minus n)"; + } + } + } + container frr { + description + "Configure FRR thresholds and Window for + trigger and revert"; + container trigger-window { + presence "Indicates a trigger-window node is configured."; + description + "Configure FRR trigger window"; + leaf window { + type uint32 { + range "10..10000"; + } + mandatory true; + description + "Integration window for FRR trigger in MS"; + } + leaf dummy { + type uint32 { + range "0..2"; + } + description + "Just a Dummy for window for FRR revert in + MS"; + } + } + container revert-threshold { + presence "Indicates a revert-threshold node is configured."; + description + "Configure proactive protection revert + threshold"; + leaf ber-base { + type uint32 { + range "1..9"; + } + mandatory true; + description + "Bit error rate base (x of xE-y)"; + } + leaf ber-power { + type uint32 { + range "3..10"; + } + mandatory true; + description + "Bit error rate power (y of xE-y)"; + } + } + container trigger-threshold { + presence "Indicates a trigger-threshold node is configured."; + description + "Configure proactive protection trigger + threshold"; + leaf ber-base { + type uint32 { + range "1..9"; + } + mandatory true; + description + "Bit error rate base (x of xE-y)"; + } + leaf ber-power { + type uint32 { + range "2..9"; + } + mandatory true; + description + "Bit error rate power (y of xE-y)"; + } + } + container revert-window { + presence "Indicates a revert-window node is configured."; + description + "Configure FRR revert window"; + leaf window { + type uint32 { + range "500..100000"; + } + mandatory true; + description + "Integration window for FRR revert in MS"; + } + leaf dummy { + type uint32 { + range "0..2"; + } + description + "Just a Dummy for window for FRR revert in + MS"; + } + } + } + container otu-reports { + description + "Configure OTU alarm reporting"; + list otu-report { + key "alarm"; + description + "none"; + leaf alarm { + type Otu-alarm; + description + "OTU alarm type"; + } + } + } + container otu-tx-tti { + description + "Configure OTU TTI value"; + leaf string-type { + type Tx-tti; + description + "TTI string type (ascii or hex format)"; + } + leaf ascii-string { + when "../string-type = 'tx-tti-ascii'" { + description + "../StringType = TX_TTI_ASCII"; + } + type string { + length "1..64"; + } + description + "ASCII text (Max 64 characters)"; + } + leaf hex-string { + when "../string-type = 'tx-tti-hex'" { + description + "../StringType = TX_TTI_HEX"; + } + type string { + length "1..128"; + } + description + "Hex nibbles (Max 128- The string length + should be an even number)"; + } + } + } + container prbs { + presence "Indicates a prbs node is configured."; + description + "Configure PRBS mode and pattern"; + leaf prbs-mode { + type Prbs-mode; + mandatory true; + description + "Enable PRBS with mode"; + } + leaf prbs-pattern { + type Prbs-pattern; + mandatory true; + description + "Enable prbs test with pattern"; + } + } + container fec { + presence "Indicates a fec node is configured."; + description + "Configure FEC mode"; + leaf fec-mode { + type Fec; + mandatory true; + description + "None, Standard, Enhanced, High-Gain, + Long-Haul, Ci-BCH, 15SDFecDe, 15SDFec"; + } + leaf efec-mode { + type Efec; + default "none"; + description + "Enhanced FECMode to use i.4, i.7, Other + FECMode to use None"; + } + } + leaf proactive { + type Proactive; + description + "Enable proactive protectioni Graceful or + Default mode"; + } + leaf bdi-to-gais { + type empty; + description + "Enable GAIS insertion"; + } + leaf tim-to-gais { + type empty; + description + "Configure Trace Identifier Mismatch alarm + consequence"; + } + leaf proactive-logging-file { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Configure proactive protection log file"; + } + leaf tti-processing { + type empty; + description + "Configure Trail Trace Identifier processing"; + } + leaf enable { + type boolean; + description + "Disable or Enable g709 framing"; + } + leaf framing { + type Framing; + description + "Over clocking mode for client signal bw + compatibility"; + } + } + container wavelength { + presence "Indicates a wavelength node is configured."; + description + "Configure transponder wavelength"; + leaf wave-channel { + type uint32 { + range "1..1568362"; + } + mandatory true; + description + "Select a ITU channel number,channel range for + C-band: 1~82,L-band:106~185,spacing:50GHZ or + 100MHz"; + } + leaf wave-channel-number { + type Wave-channel-num; + mandatory true; + description + "Wave Channel Number"; + } + leaf prog-frequency { + type string { + length "1..128"; + } + description + "Enter Frequency Data in THz"; + } + } + leaf enable-vtxp { + type boolean; + description + "Disable or Enable VTXP configuration"; + } + leaf network-port-id { + type string { + length "1..64"; + } + description + "Configure network port id"; + } + leaf transport-admin-state { + type Dwdm-admin-state; + default "out-of-service"; + description + "Configure transport admin state"; + } + leaf laser { + type empty; + description + "Configure laser off/on"; + } + leaf transmit-power { + type int32 { + range "-190..10"; + } + description + "Select power level (in units of 0.1dBm)"; + } + leaf rx-threshold { + type int32 { + range "-350..50"; + } + description + "Select power level (in units of 0.1dBm)"; + } + leaf network-connection-id { + type string { + length "1..64"; + } + description + "Configure network connection id"; + } + leaf loopback { + type Dwdm-loopback; + default "none"; + description + "Configure loopback mode "; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper-sub1.yang new file mode 100644 index 000000000..73de01a00 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper-sub1.yang @@ -0,0 +1,1781 @@ +submodule Cisco-IOS-XR-dwdm-ui-oper-sub1 { + belongs-to Cisco-IOS-XR-dwdm-ui-oper { + prefix Cisco-IOS-XR-dwdm-ui-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR dwdm-ui package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef G709aps-byte { + type enumeration { + enum "pp-no-protect" { + value 0; + description + "No Protection"; + } + enum "pp-no-request" { + value 15; + description + "No Request"; + } + enum "pp-regen-degrade" { + value 63; + description + "Regenerator Degrade"; + } + enum "pp-sig-degrade" { + value 175; + description + "Signal Degrade"; + } + enum "pp-remote-main" { + value 239; + description + "Maintenance Request"; + } + enum "pp-aps-unknown" { + value 255; + description + "Unknown"; + } + } + description + "G709aps byte"; + } + + typedef G709ppintf-state { + type enumeration { + enum "pp-intf-up" { + value 0; + description + "Interface is Up"; + } + enum "pp-intf-failing" { + value 1; + description + "Interface is Going Down"; + } + enum "pp-intf-down" { + value 2; + description + "Interface Down"; + } + } + description + "G709ppintf state"; + } + + typedef G709ppfsm-state { + type enumeration { + enum "in-active" { + value 0; + description + "In Active"; + } + enum "disabled" { + value 1; + description + "Disabled"; + } + enum "normal-state" { + value 2; + description + "Normal"; + } + enum "local-failing" { + value 3; + description + "Local Failing"; + } + enum "remote-failing" { + value 4; + description + "Remote Failing"; + } + enum "main-t-failing" { + value 5; + description + "Maintance Failing"; + } + enum "regen-failing" { + value 6; + description + "Regenerator Failing"; + } + enum "local-failed" { + value 7; + description + "Local Failed"; + } + enum "remote-failed" { + value 8; + description + "Remote Failed"; + } + enum "main-t-failed" { + value 9; + description + "Maintance Failed"; + } + enum "regen-failed" { + value 10; + description + "Regenerator Failed"; + } + } + description + "G709ppfsm state"; + } + + typedef G709ppfsm-mode { + type enumeration { + enum "pp-disable" { + value 0; + description + "OFF"; + } + enum "pp-default-mode" { + value 1; + description + "ON (Default Mode)"; + } + enum "pp-graceful-mode" { + value 2; + description + "ON (Graceful Mode)"; + } + } + description + "G709ppfsm mode"; + } + + typedef Dwdm-wave-channel-owner { + type enumeration { + enum "default" { + value 0; + description + "Hardware Default"; + } + enum "configuration" { + value 1; + description + "Configuration"; + } + enum "gmpls" { + value 2; + description + "GMPLS Signaled"; + } + } + description + "Dwdm wave channel owner"; + } + + typedef G709efec-mode { + type enumeration { + enum "g975-none" { + value 0; + description + ""; + } + enum "g975-1-i4" { + value 1; + description + "G975.1 I.4"; + } + enum "g975-1-i7" { + value 2; + description + "G975.1 I.7"; + } + } + description + "G709efec mode"; + } + + typedef Dwdmtas-state { + type enumeration { + enum "tas-oos" { + value 0; + description + "Out of Service"; + } + enum "tas-is" { + value 1; + description + "In Service"; + } + enum "tas-oos-mt" { + value 2; + description + "Out of Service Maintenance"; + } + enum "tas-is-cfg" { + value 3; + description + "In Service Config allowed"; + } + } + description + "Dwdmtas state"; + } + + typedef Dwdm-controller-state { + type enumeration { + enum "dwdm-ui-state-up" { + value 0; + description + "Up"; + } + enum "dwdm-ui-state-down" { + value 1; + description + "Down"; + } + enum "dwdm-ui-state-admin-down" { + value 2; + description + "Administratively Down"; + } + } + description + "Dwdm controller state"; + } + + typedef G709prbs-mode { + type enumeration { + enum "mode-source" { + value 0; + description + "mode source"; + } + enum "mode-sink" { + value 1; + description + "mode sink"; + } + enum "mode-source-sink" { + value 2; + description + "mode source sink"; + } + enum "mode-invalid" { + value 3; + description + "mode invalid"; + } + } + description + "G709prbs mode"; + } + + typedef G709prbs-pattern { + type enumeration { + enum "pattern-none" { + value 0; + description + "pattern none"; + } + enum "pattern-null" { + value 1; + description + "pattern null"; + } + enum "pattern-pn11" { + value 2; + description + "pattern pn11"; + } + enum "pattern-pn23" { + value 3; + description + "pattern pn23"; + } + enum "pattern-pn31" { + value 4; + description + "pattern pn31"; + } + } + description + "G709prbs pattern"; + } + + typedef G709prbs-interval { + type enumeration { + enum "current-interval" { + value 0; + description + "Current interval"; + } + enum "previous-interval" { + value 1; + description + "Previous interval"; + } + enum "previous-interval2" { + value 2; + description + "Previous interval 2"; + } + enum "previous-interval3" { + value 3; + description + "Previous interval 3"; + } + enum "previous-interval4" { + value 4; + description + "Previous interval 4"; + } + enum "previous-interval5" { + value 5; + description + "Previous interval 5"; + } + enum "previous-interval6" { + value 6; + description + "Previous interval 6"; + } + enum "previous-interval7" { + value 7; + description + "Previous interval 7"; + } + enum "previous-interval8" { + value 8; + description + "Previous interval 8"; + } + enum "previous-interval9" { + value 9; + description + "Previous interval 9"; + } + enum "previous-interval10" { + value 10; + description + "Previous interval 10"; + } + enum "previous-interval11" { + value 11; + description + "Previous interval 11"; + } + enum "previous-interval12" { + value 12; + description + "Previous interval 12"; + } + enum "previous-interval13" { + value 13; + description + "Previous interval 13"; + } + enum "previous-interval14" { + value 14; + description + "Previous interval 14"; + } + enum "previous-interval15" { + value 15; + description + "Previous interval 15"; + } + enum "previous-interval16" { + value 16; + description + "Previous interval 16"; + } + enum "previous-interval17" { + value 17; + description + "Previous interval 17"; + } + enum "previous-interval18" { + value 18; + description + "Previous interval 18"; + } + enum "previous-interval19" { + value 19; + description + "Previous interval 19"; + } + enum "previous-interval20" { + value 20; + description + "Previous interval 20"; + } + enum "previous-interval21" { + value 21; + description + "Previous interval 21"; + } + enum "previous-interval22" { + value 22; + description + "Previous interval 22"; + } + enum "previous-interval23" { + value 23; + description + "Previous interval 23"; + } + enum "previous-interval24" { + value 24; + description + "Previous interval 24"; + } + enum "previous-interval25" { + value 25; + description + "Previous interval 25"; + } + enum "previous-interval26" { + value 26; + description + "Previous interval 26"; + } + enum "previous-interval27" { + value 27; + description + "Previous interval 27"; + } + enum "previous-interval28" { + value 28; + description + "Previous interval 28"; + } + enum "previous-interval29" { + value 29; + description + "Previous interval 29"; + } + enum "previous-interval30" { + value 30; + description + "Previous interval 30"; + } + enum "previous-interval31" { + value 31; + description + "Previous interval 31"; + } + enum "previous-interval32" { + value 32; + description + "Previous interval 32"; + } + } + description + "PRBS test interval information"; + } + + grouping DWDM-EDM-VTXP-INFO { + description + "VTXP Information"; + leaf vtxp-enable { + type boolean; + description + "Is VTXP attribute enabled"; + } + } + + grouping DWDM-EDM-SIGNAL-LOG-INFO { + description + "Signal log information"; + leaf is-log-enabled { + type boolean; + description + "'true' if signal log is enabled 'false' + otherwise"; + } + leaf log-filename { + type string { + length "0..64"; + } + description + "Log file name "; + } + } + + grouping DWDM-EDM-PROACTIVE-INFO { + description + "Proactive Information"; + leaf proactive-feature { + type boolean; + description + "Feature Support"; + } + leaf proactive-mode { + type G709ppfsm-mode; + description + "Proactive Mode"; + } + leaf proactive-fsm-state { + type G709ppfsm-state; + description + "Proactive FSM State"; + } + leaf proactive-fsm-if-state { + type G709ppintf-state; + description + "Proactive FSM IF State"; + } + leaf tas-state { + type Dwdmtas-state; + description + "TAS State"; + } + leaf trig-thresh-coeff { + type uint8; + description + "Trigger threshold coefficient"; + } + leaf trig-thresh-power { + type uint8; + description + "Trigger threshold power"; + } + leaf rvrt-thresh-coeff { + type uint8; + description + "Revert threshold coefficient"; + } + leaf rvrt-thresh-power { + type uint8; + description + "Revert threshold power"; + } + leaf default-trig-thresh-coeff { + type uint8; + description + "Default Trigger threshold coefficient"; + } + leaf default-trig-thresh-power { + type uint8; + description + "Default Trigger threshold power"; + } + leaf default-rvrt-thresh-coeff { + type uint8; + description + "Default Revert threshold coefficient"; + } + leaf default-rvrt-thresh-power { + type uint8; + description + "Default Revert threshold power"; + } + leaf trig-samples { + type uint8; + description + "Required Trigger Samples"; + } + leaf rvrt-samples { + type uint8; + description + "Required Revert Samples"; + } + leaf trigger-window { + type uint32; + description + "Trigger Integration window"; + } + leaf revert-window { + type uint32; + description + "Revert Integration Window"; + } + leaf protection-trigger { + type boolean; + description + "Protection Trigger State"; + } + leaf interface-trigger { + type boolean; + description + "Proactive Interface Triffer"; + } + leaf tx-aps { + type uint8; + description + "Transmitted APS Byte"; + } + leaf tx-aps-descr { + type G709aps-byte; + description + "Tx APS Description"; + } + leaf rx-aps { + type uint8; + description + "Received APS byte"; + } + leaf rx-aps-descr { + type G709aps-byte; + description + "Rx APS Description"; + } + leaf alarm-state { + type boolean; + description + "AlarmState"; + } + leaf trig-ec-cnt { + type uint32; + description + "Trigger EC Cnt"; + } + leaf rvrt-ec-cnt { + type uint32; + description + "Revert EC Cnt"; + } + leaf prefec-thresh-crossed { + type boolean; + description + "Prefec Trigger Thresh Crossed"; + } + } + + grouping DWDM-EDM-NETWORK-SRLG-INFO { + description + "Network SRLG Information"; + list network-srlg { + max-elements "102"; + description + "Network Srlg"; + leaf entry { + type uint32; + description + "Network Srlg"; + } + } + } + + grouping DWDM-EDM-TDC-INFO { + description + "TDC information"; + leaf tdc-valid { + type boolean; + description + "TRUE for Valid else Invalid"; + } + leaf major-alarm { + type boolean; + description + "TRUE for Alarm condition else FALSE"; + } + leaf operation-mode { + type boolean; + description + "TRUE for MANUAL else AUTO"; + } + leaf tdc-status { + type boolean; + description + "TRUE if TDC Aquiring else Locked"; + } + leaf dispersion-offset { + type int32; + description + "TDC Dispersion Offset"; + } + leaf reroute-ber { + type int32; + description + "Reroute BER"; + } + leaf is-reroute-control-enabled { + type boolean; + description + "TRUE for ENABLED else DISABLED"; + } + } + + grouping DWDM-EDM-OPTICS-INFO { + description + "optics transponder information"; + leaf optics-type { + type string { + length "0..64"; + } + description + "Optics type name"; + } + leaf clock-source { + type uint8; + description + "Actual transmit clock source"; + } + leaf wave-frequency-progressive-string { + type string { + length "0..64"; + } + description + "Wave Frequency Information for Progressive + Frequencies"; + } + leaf wavelength-progressive-string { + type string { + length "0..64"; + } + description + "Wavelength Information for Progressive + Frequencies"; + } + leaf is-wave-frequency-progressive-valid { + type boolean; + description + "True if Progressive Frequency is supported by hw"; + } + leaf wavelength-progressive { + type uint32; + description + "Wavelength Information for Progressive + Frequencies"; + } + leaf wave-band { + type uint32; + description + "Wavelength band information"; + } + leaf wave-channel { + type uint32; + description + "Current ITU wavelength channel number"; + } + leaf wave-frequency { + type uint32; + description + " wavelenght frequency read from hw in the uint 0 + .01nm"; + } + leaf is-wave-frequency-valid { + type boolean; + description + "True if hw supported wavelength frequency + readback"; + } + leaf wave-channel-owner { + type Dwdm-wave-channel-owner; + description + "Owner of current wavelength"; + } + leaf gmpls-set-wave-channel { + type uint16; + description + "Wavelength channel set by GMPLS"; + } + leaf configured-wave-channel { + type uint16; + description + "Wavelength channel set from configuration"; + } + leaf default-wave-channel { + type uint16; + description + "Wavelength channel default from hardware"; + } + leaf transmit-power { + type int32; + description + "Transmit power in the unit of 0.01dbm"; + } + leaf transmit-power-threshold { + type int32; + description + "Transmit power threshold value"; + } + leaf laser-current-bias { + type int32; + description + "Laser current bias value"; + } + leaf laser-current-bias-threshold { + type int32; + description + " Laser Current Bias threshold value"; + } + leaf receive-power { + type int32; + description + "Transponder receive power"; + } + leaf is-rx-los-threshold-supported { + type boolean; + description + "TRUE if Rx LOS thresold configurable"; + } + leaf rx-los-threshold { + type int32; + description + "Rx LOS threshold value"; + } + leaf transmit-power-min { + type int32; + description + "Transmit power mininum value in the interval + time"; + } + leaf transmit-power-max { + type int32; + description + "Transmit power maximum value in the interval + time"; + } + leaf transmit-power-avg { + type int32; + description + "Transmit optical average value in the interval + time"; + } + leaf receive-power-min { + type int32; + description + "Recieve power mininum value in the interval time"; + } + leaf receive-power-max { + type int32; + description + "Receive power maximum value in the interval time"; + } + leaf receive-power-avg { + type int32; + description + "Recieve power average value in the interval time"; + } + leaf laser-bias-current-min { + type int32; + description + "Laser bias current minimum value in the interval + time"; + } + leaf laser-bias-current-max { + type int32; + description + "Laser bias current maxinum value in the interval + time"; + } + leaf laser-bias-current-avg { + type int32; + description + "Laser bias current average value in the interval + time"; + } + leaf chromatic-dispersion { + type int32; + description + "Current chromatic dispersion"; + } + leaf differential-group-delay { + type int32; + description + "Current differential group Delay"; + } + leaf polarization-mode-dispersion { + type int32; + description + "Current polarization mode dispersion"; + } + leaf signal-to-noise-ratio { + type int32; + description + "Current optical signal to noise ratio"; + } + leaf polarization-dependent-loss { + type int32; + description + "Current Polarization Dependent loss"; + } + leaf polarization-change-rate { + type uint32; + description + "Current Polarization change rate"; + } + leaf phase-noise { + type uint32; + description + "Current Phase Noise"; + } + leaf output-power-fail { + type uint32; + description + "Transmit power failure(above/belowe a threshold) + count"; + } + leaf input-power-fail { + type uint32; + description + "Receive power failure(above/belowe a threshold) + count"; + } + } + + grouping DWDM-EDM-G709-ODU { + description + "dwdm odu information"; + container oci { + description + "Open Connection Indiction information"; + uses DWDM-EDM-G709-ALARM; + } + container ais { + description + "Alarm Indication Signal information"; + uses DWDM-EDM-G709-ALARM; + } + container lck { + description + "Upstream Connection Locked information"; + uses DWDM-EDM-G709-ALARM; + } + container bdi { + description + "Backward Defect Indication information"; + uses DWDM-EDM-G709-ALARM; + } + container eoc { + description + "GCC End of Channel information"; + uses DWDM-EDM-G709-ALARM; + } + container ptim { + description + "Payload Type Identifier Mismatch information"; + uses DWDM-EDM-G709-ALARM; + } + container tim { + description + "Trace Identifier Mismatch information"; + uses DWDM-EDM-G709-ALARM; + } + container sf-ber { + description + "Signal Fail BER information"; + uses DWDM-EDM-G709-ALERT; + } + container sd-ber { + description + "Signal Degrade BER information"; + uses DWDM-EDM-G709-ALERT; + } + container bbe-tca { + description + "Background Block Error TCA information"; + uses DWDM-EDM-G709-ALERT; + } + container es-tca { + description + "Errored Seconds TCA information"; + uses DWDM-EDM-G709-ALERT; + } + container bbe { + description + "Background Block Error information"; + uses DWDM-EDM-G709-PM; + } + container es { + description + "Errored Seconds information"; + uses DWDM-EDM-G709-PM; + } + container ses { + description + "Severly Errored Seconds information"; + uses DWDM-EDM-G709-PM; + } + container uas { + description + "Unavailability Seconds information"; + uses DWDM-EDM-G709-PM; + } + container fc { + description + "Failure count information"; + uses DWDM-EDM-G709-PM; + } + container bber { + description + "Background Block Error Rate count information"; + uses DWDM-EDM-G709-PM; + } + container esr { + description + "Errored Seconds Rate information"; + uses DWDM-EDM-G709-PM; + } + container sesr { + description + "Severly Errored Seconds Rate information"; + uses DWDM-EDM-G709-PM; + } + container tti { + description + "Trail Trace Identifier information"; + uses DWDM-EDM-G709-TTI; + } + leaf bip { + type uint64; + description + "Bit Interleave Parity(BIP) counter"; + } + leaf bei { + type uint64; + description + "Backward Error Indication counter"; + } + } + + grouping DWDM-EDM-G709-TTI { + description + "G709 TTI information"; + leaf tx-string-type { + type uint32; + description + "Type of String"; + } + leaf expected-string-type { + type uint32; + description + "Type of String"; + } + leaf rx-string-type { + type uint32; + description + "Type of String"; + } + leaf tx-tti { + type string { + length "0..129"; + } + description + "Tx TTI String "; + } + leaf tx-sapi0 { + type string { + length "0..5"; + } + description + "Tx SAPI[0] Field"; + } + leaf tx-sapi { + type string { + length "0..16"; + } + description + "Tx SAPI[1-15] Field"; + } + leaf tx-sapi-range { + type string { + length "0..6"; + } + description + " Tx SAPI Range String"; + } + leaf tx-dapi0 { + type string { + length "0..5"; + } + description + "Tx DAPI[0] Field"; + } + leaf tx-dapi { + type string { + length "0..16"; + } + description + "Tx DAPI[1-15] Field"; + } + leaf tx-dapi-range { + type string { + length "0..6"; + } + description + " Tx DAPI Range String"; + } + leaf tx-oper-spec { + type string { + length "0..33"; + } + description + "Tx Operator Specific Field"; + } + leaf tx-oper-spec-range { + type string { + length "0..6"; + } + description + " Tx Operator Specific Field Range String"; + } + leaf rx-tti { + type string { + length "0..129"; + } + description + "Rx TTI String "; + } + leaf rx-sapi0 { + type string { + length "0..5"; + } + description + "Rx SAPI[0] Field"; + } + leaf rx-sapi { + type string { + length "0..16"; + } + description + "Rx SAPI[1-15] Field"; + } + leaf rx-sapi-range { + type string { + length "0..6"; + } + description + " Rx SAPI Range String"; + } + leaf rx-dapi0 { + type string { + length "0..5"; + } + description + "Rx DAPI[0] Field"; + } + leaf rx-dapi { + type string { + length "0..16"; + } + description + "Rx DAPI[1-15] Field"; + } + leaf rx-dapi-range { + type string { + length "0..6"; + } + description + " Rx DAPI Range String"; + } + leaf rx-oper-spec-range { + type string { + length "0..6"; + } + description + " Rx Operator Specific Field Range String"; + } + leaf rx-oper-spec { + type string { + length "0..33"; + } + description + "Rx Operator Specific Field"; + } + leaf expected-tti { + type string { + length "0..129"; + } + description + "Expected TTI String"; + } + leaf expected-sapi0 { + type string { + length "0..5"; + } + description + "Expected SAPI[0] Field"; + } + leaf expected-sapi { + type string { + length "0..16"; + } + description + "Expected SAPI[1-15] Field"; + } + leaf exp-sapi-range { + type string { + length "0..6"; + } + description + " Expected SAPI Range String"; + } + leaf expected-dapi0 { + type string { + length "0..5"; + } + description + "Expected DAPI[0] Field"; + } + leaf expected-dapi { + type string { + length "0..16"; + } + description + "Expected DAPI[1-15] Field"; + } + leaf exp-dapi-range { + type string { + length "0..6"; + } + description + " Expected DAPI Range String"; + } + leaf expected-oper-spec { + type string { + length "0..33"; + } + description + "Expected Operator Specific Field"; + } + leaf exp-oper-spec-range { + type string { + length "0..6"; + } + description + " Expected Operator Specific Field Range String"; + } + } + + grouping DWDM-EDM-G709-PM { + description + "G709 PM information"; + leaf counter { + type uint64; + description + "Performance Monitoring counter"; + } + } + + grouping DWDM-EDM-G709-OTU { + description + "DWDM OTU information"; + container los { + description + "Loss of Signal information"; + uses DWDM-EDM-G709-ALARM; + } + container lof { + description + "Loss of Frame information"; + uses DWDM-EDM-G709-ALARM; + } + container lom { + description + "Loss of MultiFrame information"; + uses DWDM-EDM-G709-ALARM; + } + container oof { + description + "Out of Frame information"; + uses DWDM-EDM-G709-ALARM; + } + container oom { + description + "Out of MultiFrame information"; + uses DWDM-EDM-G709-ALARM; + } + container ais { + description + "Alarm Indication Signal information"; + uses DWDM-EDM-G709-ALARM; + } + container iae { + description + "Incoming Alignment Error information"; + uses DWDM-EDM-G709-ALARM; + } + container bdi { + description + "Backward Defect Indication information"; + uses DWDM-EDM-G709-ALARM; + } + container tim { + description + "Trace Identifier Mismatch information"; + uses DWDM-EDM-G709-ALARM; + } + container eoc { + description + "GCC End of Channel information"; + uses DWDM-EDM-G709-ALARM; + } + container sf-ber { + description + "Signal Fail BER information"; + uses DWDM-EDM-G709-ALERT; + } + container sd-ber { + description + "Signal Degrade BER information"; + uses DWDM-EDM-G709-ALERT; + } + container prefec-sf-ber { + description + "Prefec Signal Fail BER information"; + uses DWDM-EDM-G709-ALERT; + } + container prefec-sd-ber { + description + "Prefec Signal Degrade BER information"; + uses DWDM-EDM-G709-ALERT; + } + container bbe-tca { + description + " Backgound Block Error TCA information"; + uses DWDM-EDM-G709-ALERT; + } + container es-tca { + description + "Errored Seconds TCA information"; + uses DWDM-EDM-G709-ALERT; + } + container bbe { + description + "Backgound Block Error information"; + uses DWDM-EDM-G709-PM; + } + container es { + description + "Errored Seconds information "; + uses DWDM-EDM-G709-PM; + } + container ses { + description + "Severly Errored Seconds information"; + uses DWDM-EDM-G709-PM; + } + container uas { + description + "Unavailability Seconds information"; + uses DWDM-EDM-G709-PM; + } + container fc { + description + "Failure Count information"; + uses DWDM-EDM-G709-PM; + } + container bber { + description + "Backgound Block Error Rate information"; + uses DWDM-EDM-G709-PM; + } + container esr { + description + "Errored Seconds Rate information"; + uses DWDM-EDM-G709-PM; + } + container sesr { + description + "Severly Errored Seconds Rate information"; + uses DWDM-EDM-G709-PM; + } + container tti { + description + "Trail Trace Identifier information"; + uses DWDM-EDM-G709-TTI; + } + leaf bei { + type uint64; + description + "Backward Error Indication counter"; + } + leaf bip { + type uint64; + description + "Bit Interleave Parity(BIP) counter"; + } + } + + grouping DWDM-EDM-G709-ALERT { + description + "G709 Alert Information"; + leaf reporting-enabled { + type boolean; + description + "Is reporting enabled?"; + } + leaf is-detected { + type boolean; + description + "Is defect detected?"; + } + leaf is-asserted { + type boolean; + description + "Is defect delared?"; + } + leaf threshold { + type int32; + description + "Error threshold power"; + } + leaf counter { + type uint64; + description + "Error counter"; + } + } + + grouping DWDM-EDM-G709-ALARM { + description + " G709 Alarm information"; + leaf reporting-enabled { + type boolean; + description + "Is reporting enabled?"; + } + leaf is-detected { + type boolean; + description + "Is defect detected?"; + } + leaf is-asserted { + type boolean; + description + "Is defect delared?"; + } + leaf counter { + type uint64; + description + "Alarm counter"; + } + } + + grouping DWDM-EDM-G709-INFO { + description + "g709 information"; + container fec-mismatch { + description + "FEC mismatch alarm"; + uses DWDM-EDM-G709-ALARM; + } + container ec-tca { + description + "FEC Corrected bits TCA information"; + uses DWDM-EDM-G709-ALERT; + } + container uc-tca { + description + "FEC uncorrected words TCA information"; + uses DWDM-EDM-G709-ALERT; + } + container otu-info { + description + "OTU layer information"; + uses DWDM-EDM-G709-OTU; + } + container odu-info { + description + "ODU layer Information"; + uses DWDM-EDM-G709-ODU; + } + leaf is-g709-enabled { + type boolean; + description + " Is G709 framing enabled"; + } + leaf is-fec-mode-default { + type boolean; + description + " Is Operating FEC Mode Default"; + } + leaf fec-mode { + type int32; + description + "FEC information"; + } + leaf remote-fec-mode { + type int32; + description + "Remote FEC information"; + } + leaf efec-mode { + type G709efec-mode; + description + "EFEC information"; + } + leaf loopback-mode { + type int32; + description + "Loopback information"; + } + leaf ec { + type uint64; + description + "Corrected bit error counter "; + } + leaf ec-accum { + type uint64; + description + "FEC Corrected bit error accumulated counter"; + } + leaf uc { + type uint64; + description + "FEC Uncorrected words counter"; + } + leaf fec-ber { + type uint64; + description + "pre fec ber calculated"; + } + leaf fec-ber-man { + type int32; + description + "pre fec ber calculated"; + } + leaf q { + type uint64; + description + "q value calculated"; + } + leaf q-margin { + type uint64; + description + "q margin calculated"; + } + leaf fe-cstr { + type string { + length "0..64"; + } + description + "FEC BER String "; + } + leaf qstr { + type string { + length "0..64"; + } + description + "Q String "; + } + leaf qmargin-str { + type string { + length "0..64"; + } + description + "QMargin String"; + } + leaf network-port-id { + type string { + length "0..65"; + } + description + "Network port ID"; + } + leaf network-conn-id { + type string { + length "0..65"; + } + description + "Network connection ID"; + } + leaf is-prbs-enabled { + type boolean; + description + "'true' if Prbs is enabled 'false' otherwise"; + } + leaf g709-prbs-mode { + type G709prbs-mode; + description + "Configured mode of PRBS Test"; + } + leaf g709-prbs-pattern { + type G709prbs-pattern; + description + "Pattern of PRBS Test"; + } + leaf prbs-time-stamp { + type uint64; + description + "Time stamp for prbs configuration"; + } + } + + grouping DWDM-EDM-PORT-INFO { + description + "dwdm port operational information"; + container g709-info { + description + "G709 operational information"; + uses DWDM-EDM-G709-INFO; + } + container optics-info { + description + "Optics operational information"; + uses DWDM-EDM-OPTICS-INFO; + } + container tdc-info { + description + "TDC operational information"; + uses DWDM-EDM-TDC-INFO; + } + container network-srlg-info { + description + "Network SRLG information"; + uses DWDM-EDM-NETWORK-SRLG-INFO; + } + container proactive { + description + "Proactive protection information"; + uses DWDM-EDM-PROACTIVE-INFO; + } + container signal-log { + description + "Signal log information"; + uses DWDM-EDM-SIGNAL-LOG-INFO; + } + leaf controller-state { + type Dwdm-controller-state; + description + "DWDM controller state: Up, Down or + Administratively Down"; + } + leaf transport-admin-state { + type Dwdmtas-state; + description + "DWDM controller TAS state: IS, OOS, OOS-MT or + IS-CFG"; + } + leaf slice-state { + type boolean; + description + "DWDM port slice state Up/Down"; + } + } + + grouping DWDM-EDM-WAVE-INFO { + description + "wavelength information"; + leaf wave-band { + type uint32; + description + "Wavelength band"; + } + leaf wave-channel-min { + type uint32; + description + "Lowest ITU wavelength channel number supported"; + } + leaf wave-channel-max { + type uint32; + description + "Highest ITU wavelength channel number supported"; + } + } + + grouping PRBS-INTERVAL { + description + "PRBS Interval Information"; + leaf interval-index { + type G709prbs-interval; + description + "Index of bucket, current and previous"; + } + leaf configured-pattern { + type G709prbs-pattern; + description + "Configured pattern of PRBS test"; + } + leaf start-at { + type string { + length "0..64"; + } + description + "Interval start timestamp"; + } + leaf stop-at { + type string { + length "0..64"; + } + description + "Interval stop timestamp"; + } + leaf received-pattern { + type G709prbs-pattern; + description + "Received Pattern of PRBS Test"; + } + leaf bit-error-count { + type uint64; + description + "Bit Error Count"; + } + leaf found-count { + type uint64; + description + "Count of pattern found in interval"; + } + leaf lost-count { + type uint64; + description + "Count of pattern lost in interval"; + } + leaf found-at { + type string { + length "0..64"; + } + description + "Pattern first found at timestamp"; + } + leaf lost-at { + type string { + length "0..64"; + } + description + "Pattern first lost at timestamp"; + } + } + + grouping DWDM-EDM-PRBS-INFO { + description + "PRBS information"; + leaf is-prbs-enabled { + type boolean; + description + "'True' if PRBS is enabled 'False' otherwise"; + } + leaf prbs-config-mode { + type G709prbs-mode; + description + "Configured mode of PRBS test"; + } + list prbs-entry { + description + "History consists of 15-minute/24-hour intervals"; + uses PRBS-INTERVAL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper.yang new file mode 100644 index 000000000..99ab83c70 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-dwdm-ui-oper.yang @@ -0,0 +1,132 @@ +module Cisco-IOS-XR-dwdm-ui-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-dwdm-ui-oper"; + prefix dwdm-ui-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-dwdm-ui-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dwdm-ui package operational data. + + This module contains definitions + for the following management objects: + dwdm: DWDM operational data + vtxp: VTXP specific operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container dwdm { + config false; + description + "DWDM operational data"; + container ports { + description + "All DWDM Port operational data"; + list port { + key "name"; + description + "DWDM Port operational data"; + container prbs { + description + "DWDM Port PRBS related data"; + container twenty-four-hours-bucket { + description + "Port 24-hour PRBS statistics table"; + container twenty-four-hours-statistics { + description + "Port 24-hour PRBS statistics data"; + uses DWDM-EDM-PRBS-INFO; + } + } + container fifteen-minutes-bucket { + description + "Port 15-minute PRBS statistics table"; + container fifteen-minutes-statistics { + description + "Port 15-minute PRBS statistics data"; + uses DWDM-EDM-PRBS-INFO; + } + } + } + container optics { + description + "DWDM Port optics operational data"; + container wave-info { + description + "DWDM port wavelength information data"; + uses DWDM-EDM-WAVE-INFO; + } + } + container info { + description + "DWDM port operational data"; + uses DWDM-EDM-PORT-INFO; + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container vtxp { + config false; + description + "VTXP specific operational data"; + container dwdm-vtxp { + description + "DWDM operational data"; + container port-vtxps { + description + "All DWDM Port operational data"; + list port-vtxp { + key "name"; + description + "DWDM Port operational data"; + container info { + description + "DWDM port operational data"; + uses DWDM-EDM-VTXP-INFO; + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-eapol-if-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-eapol-if-cfg.yang new file mode 100644 index 000000000..4b6b38fba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-eapol-if-cfg.yang @@ -0,0 +1,80 @@ +module Cisco-IOS-XR-eapol-if-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-eapol-if-cfg"; + prefix eapol-if-cfg; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR eapol-if package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Eapol-ether { + type enumeration { + enum "eapol-ether-type-876f" { + value 34671; + description + "EAPOL ETHER TYPE 876F"; + } + } + description + "Eapol ether"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container eapol { + description + "Interface Specific Dot1x Configuration"; + leaf eapol-ether-type { + type Eapol-ether; + description + "EAPoL ethertype for EAPoL frames transmission"; + } + leaf eapol-dest-addr { + type yang:mac-address; + description + "Destination address for EAPoL frames + transmission"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-cfg.yang new file mode 100644 index 000000000..05d61c644 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-cfg.yang @@ -0,0 +1,1461 @@ +module Cisco-IOS-XR-eigrp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-cfg"; + prefix eigrp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-eigrp-datatypes { + prefix dt1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR eigrp package configuration. + + This module contains definitions + for the following management objects: + eigrp: Configure Neighbor + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2018-04-05 { + description + "Yang support provided for config."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Eigrp-metric-version { + type enumeration { + enum "64bit" { + value 0; + description + "64-bit metrics"; + } + enum "32bit" { + value 1; + description + "32-bit metrics"; + } + } + description + "Eigrp metric version"; + } + + typedef Eigrp-soo { + type enumeration { + enum "as" { + value 1; + description + "AS:nn format"; + } + enum "ipv4-address" { + value 2; + description + "IPV4Address:nn format"; + } + enum "four-byte-as" { + value 3; + description + "AS2.AS:nn format"; + } + } + description + "Eigrp soo"; + } + + typedef Eigrp-redist-proto { + type enumeration { + enum "bgp" { + value 1; + description + "BGP routes"; + } + enum "connected" { + value 2; + description + "Connected routes"; + } + enum "eigrp" { + value 3; + description + "EIGRP routes"; + } + enum "isis" { + value 4; + description + "ISIS routes"; + } + enum "ospf" { + value 5; + description + "OSPF routes"; + } + enum "rip" { + value 6; + description + "RIP routes"; + } + enum "static" { + value 7; + description + "Static routes"; + } + enum "ospfv3" { + value 8; + description + "OSPFv3 routes"; + } + enum "subscriber" { + value 9; + description + "Subscriber routes"; + } + enum "application" { + value 10; + description + "Application routes"; + } + enum "mobile" { + value 11; + description + "Mobile routes"; + } + } + description + "Eigrp redist proto"; + } + + typedef Eigrp-stub { + type enumeration { + enum "receive-only" { + value 1; + description + "receive only"; + } + enum "filtered" { + value 2; + description + "filter some routes"; + } + } + description + "Eigrp stub"; + } + + typedef Eigrp-delay-unit { + type enumeration { + enum "ten-microsecond" { + value 0; + description + "Delay in 10's of microsecond"; + } + enum "picosecond" { + value 1; + description + "Delay in picosecond"; + } + } + description + "Eigrp delay unit"; + } + + typedef Eigrp-met { + type enumeration { + enum "maximum-hops" { + value 1; + description + "Metric maxhops"; + } + enum "weights" { + value 2; + description + "Metric weights"; + } + enum "rib-scale" { + value 3; + description + "Metric ribscale"; + } + enum "version" { + value 4; + description + "Metric version"; + } + } + description + "Eigrp met"; + } + + typedef Eigrp-dir { + type enumeration { + enum "in" { + value 1; + description + "inbound direction"; + } + enum "out" { + value 2; + description + "outbound direction"; + } + } + description + "Eigrp dir"; + } + + typedef Eigrp-timer { + type enumeration { + enum "active" { + value 1; + description + "Active time"; + } + enum "route-hold" { + value 2; + description + "Route-hold time"; + } + enum "signal" { + value 3; + description + "Signal time"; + } + enum "converge" { + value 4; + description + "Converge time"; + } + } + description + "Eigrp timer"; + } + + grouping VARIANCE { + description + "Common node of default-af, af"; + leaf variance { + type uint32 { + range "1..128"; + } + description + "Control load balancing variance"; + } + } + + grouping REDISTRIBUTE-TABLE { + description + "Common node of default-af, af"; + container redistributes { + presence "Indicates a redistributes node is configured."; + description + "List of redistributed protocols"; + + grouping REDISTRIBUTE-CONTENT { + description + "REDISTRIBUTE CONTENT"; + leaf policy-name { + type string; + description + "Policy name"; + } + leaf policy-specified { + type boolean; + mandatory true; + description + "TRUE if Policy has been specified"; + } + } + list redistribute { + key "protocol-name"; + description + "Redistribute another protocol"; + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + list redistribute-as-xx { + key "as-xx protocol-name"; + description + "Redistribute another protocol"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "Higher sixteen bits of 4-byte BGP AS number"; + } + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + list redistribute-as-yy { + key "as-yy protocol-name"; + description + "Redistribute another protocol"; + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "2-byte or 4-byte BGP AS Number"; + } + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + list redistribute-as-xx-as-yy { + key "as-xx as-yy protocol-name"; + description + "Redistribute another protocol"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "Higher sixteen bits of 4-byte BGP AS number"; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "2-byte or 4-byte BGP AS Number"; + } + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + list redistribute-tag-name { + key "tag-name protocol-name"; + description + "Redistribute another protocol"; + leaf tag-name { + type xr:Cisco-ios-xr-string; + description + "OSPF/OSPFv3/ISIS/OnePK Application tag name"; + } + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + list redistribute-as-xx-tag-name { + key "as-xx tag-name protocol-name"; + description + "Redistribute another protocol"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "Higher sixteen bits of 4-byte BGP AS number"; + } + leaf tag-name { + type xr:Cisco-ios-xr-string; + description + "OSPF/OSPFv3/ISIS/OnePK Application tag name"; + } + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + list redistribute-as-yy-tag-name { + key "as-yy tag-name protocol-name"; + description + "Redistribute another protocol"; + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "2-byte or 4-byte BGP AS Number"; + } + leaf tag-name { + type xr:Cisco-ios-xr-string; + description + "OSPF/OSPFv3/ISIS/OnePK Application tag name"; + } + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + list redistribute-as-xx-as-yy-tag-name { + key "as-xx as-yy tag-name protocol-name"; + description + "Redistribute another protocol"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "Higher sixteen bits of 4-byte BGP AS number"; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "2-byte or 4-byte BGP AS Number"; + } + leaf tag-name { + type xr:Cisco-ios-xr-string; + description + "OSPF/OSPFv3/ISIS/OnePK Application tag name"; + } + leaf protocol-name { + type Eigrp-redist-proto; + description + "Redistributed protocol"; + } + uses REDISTRIBUTE-CONTENT; + } + } + } + + grouping PASSIVE-INTERFACE-DEFAULT { + description + "Common node of default-af, af"; + leaf passive-interface-default { + type empty; + description + "Suppress routing updates on all interfaces"; + } + } + + grouping DISTANCE { + description + "Common node of default-af, af"; + container distance { + description + "Set distance for EIGRP routes"; + leaf internal-distance { + type uint32 { + range "1..255"; + } + description + "Internal routes' distance"; + } + leaf external-distance { + type uint32 { + range "1..255"; + } + description + "External routes' distance"; + } + } + } + + grouping DEFAULT-ACCEPT-TABLE { + description + "Common node of default-af, af"; + container default-accepts { + description + "Candidate default policy table"; + list default-accept { + key "direction"; + description + "Candidate default behaviour"; + leaf direction { + type Eigrp-dir; + description + "Direction (in or out)"; + } + leaf policy-name { + type string; + description + "Policy name"; + } + leaf policy-specified { + type boolean; + mandatory true; + description + "TRUE if Policy has been specified"; + } + } + } + } + + grouping AUTO-SUMMARY { + description + "Common node of default-af, af"; + leaf auto-summary { + type empty; + description + "Enable Auto Summarization"; + } + } + + grouping FILTER-POLICY-TABLE { + description + "Common node of default-af, af"; + container filter-policies { + description + "Inbound and outbound filter policies"; + list filter-policy { + key "direction"; + description + "Inbound/outbound policies"; + leaf direction { + type Eigrp-dir; + description + "Direction (in or out)"; + } + leaf policy-name { + type string; + mandatory true; + description + "Policy name"; + } + } + } + } + + grouping LOG-NEIGHBOR-WARNINGS { + description + "Common node of default-af, af"; + leaf log-neighbor-warnings { + type empty; + description + "Enable/Disable neighbor state change warnings "; + } + } + + grouping METRIC-TABLE { + description + "Common node of default-af, af"; + container metrics { + description + "List of metric change behaviours"; + list metric { + key "metric-name"; + description + "Modify EIGRP routing metrics and parameters"; + leaf metric-name { + type Eigrp-met; + description + "Type of metric change"; + } + leaf max-hops { + type uint32 { + range "1..255"; + } + description + "Hop count"; + } + leaf tos { + type uint32 { + range "0"; + } + description + "Type of Service (Only TOS 0 supported)"; + } + leaf k1 { + type uint32 { + range "0..255"; + } + description + "K1"; + } + leaf k2 { + type uint32 { + range "0..255"; + } + description + "K2"; + } + leaf k3 { + type uint32 { + range "0..255"; + } + description + "K3"; + } + leaf k4 { + type uint32 { + range "0..255"; + } + description + "K4"; + } + leaf k5 { + type uint32 { + range "0..255"; + } + description + "K5"; + } + leaf k6 { + type uint32 { + range "0..255"; + } + description + "K6"; + } + leaf rib-scale { + type uint32 { + range "1..4294967295"; + } + description + "RIB scale"; + } + leaf metric-version { + type Eigrp-metric-version; + description + "Metric version"; + } + } + } + } + + grouping AUTONOMOUS-SYSTEM { + description + "Common node of default-af, af"; + leaf autonomous-system { + type uint32 { + range "1..65535"; + } + description + "Set the autonomous system of a VRF"; + } + } + + grouping NSF-DISABLE { + description + "Common node of default-af, af"; + leaf nsf-disable { + type empty; + description + "Disable NSF for this address family under this + VRF"; + } + } + + grouping MAXIMUM-PATHS { + description + "Common node of default-af, af"; + leaf maximum-paths { + type uint32 { + range "1..32"; + } + description + "number of paths"; + } + } + + grouping LOG-NEIGHBOR-CHANGES { + description + "Common node of default-af, af"; + leaf log-neighbor-changes { + type empty; + description + "Enable/Disable logginf of neighbor state changes"; + } + } + + grouping INTERFACE-TABLE { + description + "Common node of default-af, af"; + container interfaces { + description + "List of interfaces"; + list interface { + key "interface-name"; + description + "Configuration for an Interface.Deletion of this + object also causes deletion of all objectsunder + 'Interface' associated with this interface + instance."; + container interface-metric { + description + "Metric"; + leaf bandwidth { + type uint32 { + range "1..4294967295"; + } + units "kbit/s"; + description + "Bandwidth in Kbits per second"; + } + leaf delay { + type uint32 { + range "1..4294967295"; + } + description + "Delay metric, in 10 microsecond units + (default) or picosecond units"; + } + leaf delay-unit { + type Eigrp-delay-unit; + description + "Delay unit"; + } + leaf reliability { + type uint32 { + range "0..255"; + } + description + "Reliability metric where 255 is 100% reliable"; + } + leaf load { + type uint32 { + range "1..255"; + } + description + "Effective bandwidth metric (Loading) where + 255 is 100% loaded"; + } + } + container remote-neighbor { + presence "Indicates a remote-neighbor node is configured."; + description + "Remote-Neighbors enabled, default is 65535"; + leaf enable { + type boolean; + mandatory true; + description + "Enable Remote neighbor unicast-listen"; + } + leaf allow-list { + type string; + description + "Policy name"; + } + leaf max-neighbors { + type uint32 { + range "1..65535"; + } + description + "Neighbor count"; + } + } + container bfd { + description + "Configure BFD parameters"; + leaf fast-detect { + type boolean; + description + "Enable BFD fast detection"; + } + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detect multiplier"; + } + leaf interval { + type uint32 { + range "15..3000"; + } + units "millisecond"; + description + "Hello interval in milli-seconds"; + } + } + container site-of-origin { + description + "Configure Site-of-origin"; + leaf type { + type Eigrp-soo; + description + "SoO type"; + } + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "Higher sixteen bits of 4-byte BGP AS Number"; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "2-byte or 4-byte BGP AS Number"; + } + leaf index { + type uint32 { + range "0..4294967295"; + } + description + "AS Number Index"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf address-index { + type uint32 { + range "0..65535"; + } + description + "IPv4 address index"; + } + } + container authentication { + description + "Authentication configuration"; + leaf keychain { + type string; + description + "Authentication keychain configuration"; + } + } + container summary-addresses { + description + "List of summary addresses under this interface"; + list summary-address { + key "summary-address-addr summary-address-prefix"; + description + "Summary address"; + leaf summary-address-addr { + type inet:ip-address; + description + "Summary Prefix (address part)"; + } + leaf summary-address-prefix { + type uint16 { + range "0..128"; + } + description + "Summary Prefix (prefix part)"; + } + leaf distance { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Administrative distance"; + } + } + } + container interface-filter-policies { + description + "List of filter policies"; + list interface-filter-policy { + key "direction"; + description + "none"; + leaf direction { + type Eigrp-dir; + description + "Direction (in or out)"; + } + leaf policy-name { + type string; + mandatory true; + description + "Policy name"; + } + } + } + container interface-static-neighbors { + description + "List of Neighbors"; + list interface-static-neighbor { + key "neighbor-address"; + description + "Configure Neighbor"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor IP address"; + } + leaf max-hops { + type uint32 { + range "2..100"; + } + mandatory true; + description + "Number of hops"; + } + } + } + leaf hold-time { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Neighbor hold time (in seconds)"; + } + leaf bandwidth-percent { + type uint32 { + range "1..999999"; + } + units "percentage"; + description + "Bandwidth limit"; + } + leaf passive-interface { + type boolean; + description + "Suppress routing updates on an interface"; + } + leaf hello-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval (in seconds)"; + } + leaf next-hop-self { + type empty; + description + "Disable next-hop-self"; + } + leaf enable { + type empty; + description + "Enable Interface configuration"; + } + leaf split-horizon { + type empty; + description + "Configure split horizon behaviour"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + } + + grouping TIMERS-TABLE { + description + "Common node of default-af, af"; + container timers { + description + "List of timer configurations"; + list timer { + key "timer-type"; + description + "Configure EIGRP timers"; + leaf timer-type { + type Eigrp-timer; + description + "Type of timer"; + } + leaf active-time { + type uint32; + units "second"; + description + "Active Time (in seconds)"; + } + leaf hold-time { + type uint32 { + range "20..6000"; + } + units "second"; + description + "Hold time (in seconds)"; + } + leaf signal-time { + type uint32 { + range "10..30"; + } + units "second"; + description + "Signal time (in seconds)"; + } + leaf converge-time { + type uint32 { + range "60..5000"; + } + units "second"; + description + "Converge time (in seconds)"; + } + } + } + } + + grouping ROUTER-ID { + description + "Common node of default-af, af"; + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Set router ID"; + } + } + + grouping DEFAULT-METRIC { + description + "Common node of default-af, af"; + container default-metric { + description + "Set metric of redistributed routes"; + leaf bandwidth { + type uint32 { + range "1..4294967295"; + } + units "kbit/s"; + description + "Bandwidth in Kbits per second"; + } + leaf delay { + type uint32 { + range "1..4294967295"; + } + description + "Delay metric, in 10 microsecond units"; + } + leaf reliability { + type uint32 { + range "0..255"; + } + description + "Reliability metric where 255 is 100% reliable"; + } + leaf load { + type uint32 { + range "1..255"; + } + description + "Effective bandwidth metric (Loading) where 255 + is 100% loaded"; + } + leaf mtu { + type uint32 { + range "1..65535"; + } + description + "Maximum Transmission Unit metric of the path"; + } + } + } + + grouping STUB { + description + "Common node of default-af, af"; + container stub { + presence "enable stub"; + description + "EIGRP stub configuration"; + leaf type { + type Eigrp-stub; + description + "Stub config type"; + } + leaf connected { + type boolean; + description + "Do advertise connected routes"; + } + leaf redistributed { + type boolean; + description + "Do advertise redistributed routes"; + } + leaf static { + type boolean; + description + "Do advertise static routes"; + } + leaf summary { + type boolean; + description + "Do advertise summary routes"; + } + } + } + + container eigrp { + description + "Configure Neighbor"; + container processes { + description + "Process related configuration"; + list process { + key "process-id"; + description + "Configuration for a particular EIGRP process."; + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "Non-default VRF configuration.Deletion of + this object also causes deletion of all + objectsunder 'VRF' associated with this VRF + instance."; + container afs { + description + "Address family list in a VRF"; + list af { + key "af-name"; + description + "Configuration under an AF in a non-default + VRF context.Deletion of this object also + causes deletion of all objectsunder 'AF' + associated with this AF instance."; + container all-neighbors-maximum-prefix { + description + "Maximum number of IP prefixes acceptable + in aggregate, from neighbors"; + leaf max-prefix { + type uint32 { + range "1..4294967295"; + } + description + "Number of IP prefixes for maximum-prefix + limit"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + units "percentage"; + description + "Configure threshold percentage for + warnings"; + } + leaf dampened { + type boolean; + description + "Enable decay penalty to be applied to + time period"; + } + leaf reset-time { + type uint32; + description + "Time to reset restart count"; + } + leaf restart { + type uint32; + description + "Shutdown time after hitting max-prefix + limit"; + } + leaf restart-count { + type uint32; + description + "Restart count after hitting max-prefix + limit"; + } + leaf warning-only { + type boolean; + description + "Only a warning is logged when prefix + limit is reached"; + } + } + container redist-maximum-prefix { + description + "Maximum number of prefixes redistributed + to protocol"; + leaf max-prefix { + type uint32 { + range "1..4294967295"; + } + description + "Number of IP prefixes for maximum-prefix + limit"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + units "percentage"; + description + "Configure threshold percentage for + warnings"; + } + leaf dampened { + type uint32; + description + "Enable decay penalty to be applied to + time period"; + } + leaf reset-time { + type uint32; + description + "Time to reset restart count"; + } + leaf restart { + type uint32; + description + "Shutdown time after hitting max-prefix + limit"; + } + leaf restart-count { + type uint32; + description + "Restart count after hitting max-prefix + limit"; + } + leaf warning-only { + type boolean; + description + "Only a warning is logged when prefix + limit is reached"; + } + } + container neighbor-maximum-prefixes { + description + "List of neighbors with prefix limits"; + list neighbor-maximum-prefix { + key "neighbor-address"; + description + "Neighbor prefix limits configuration"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor IP address"; + } + leaf max-prefix { + type uint32 { + range "1..4294967295"; + } + description + "Number of IP prefixes for maximum-prefix + limit"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + units "percentage"; + description + "Configure threshold percentage for + warnings"; + } + leaf warning-only { + type boolean; + description + "Only a warning is logged when prefix + limit is reached"; + } + } + } + container maximum-prefix { + description + "Maximum number of IP prefixes acceptable + in aggregate"; + leaf max-prefix { + type uint32 { + range "1..4294967295"; + } + description + "Number of IP prefixes for maximum-prefix + limit"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + units "percentage"; + description + "Configure threshold percentage for + warnings"; + } + leaf dampened { + type boolean; + description + "Enable decay penalty to be applied to + time period"; + } + leaf reset-time { + type uint32; + description + "Time to reset restart count"; + } + leaf restart { + type uint32; + description + "Shutdown time after hitting max-prefix + limit"; + } + leaf restart-count { + type uint32; + description + "Restart count after hitting max-prefix + limit"; + } + leaf warning-only { + type boolean; + description + "Only a warning is logged when prefix + limit is reached"; + } + } + leaf enable { + type empty; + description + "Enable an Address Family under a + non-default VRF"; + } + leaf af-name { + type dt1:Eigrp-af; + description + "Address Family"; + } + uses AUTO-SUMMARY; + uses STUB; + uses MAXIMUM-PATHS; + uses REDISTRIBUTE-TABLE; + uses ROUTER-ID; + uses LOG-NEIGHBOR-WARNINGS; + uses FILTER-POLICY-TABLE; + uses DEFAULT-METRIC; + uses AUTONOMOUS-SYSTEM; + uses VARIANCE; + uses METRIC-TABLE; + uses TIMERS-TABLE; + uses NSF-DISABLE; + uses DEFAULT-ACCEPT-TABLE; + uses PASSIVE-INTERFACE-DEFAULT; + uses INTERFACE-TABLE; + uses DISTANCE; + uses LOG-NEIGHBOR-CHANGES; + } + } + leaf enable { + type empty; + description + "Enable a non-default VRF under the EIGRP + process"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container default-vrf { + description + "Default VRF configuration.Deletion of this + object also causes deletion of all + objectsunder 'Process' associated with this + process instance."; + container default-afs { + description + "Address family list in the default context"; + list default-af { + key "af-name"; + description + "Configuration under an AF in the default + context.Deletion of this object also causes + deletion of all objectsunder 'DefaultAF' + associated with this AF instance."; + leaf enable { + type empty; + description + "Enable an Address Family under a default + VRF"; + } + leaf af-name { + type dt1:Eigrp-af; + description + "Address Family"; + } + uses AUTO-SUMMARY; + uses STUB; + uses MAXIMUM-PATHS; + uses REDISTRIBUTE-TABLE; + uses ROUTER-ID; + uses LOG-NEIGHBOR-WARNINGS; + uses FILTER-POLICY-TABLE; + uses DEFAULT-METRIC; + uses AUTONOMOUS-SYSTEM; + uses VARIANCE; + uses METRIC-TABLE; + uses TIMERS-TABLE; + uses NSF-DISABLE; + uses DEFAULT-ACCEPT-TABLE; + uses PASSIVE-INTERFACE-DEFAULT; + uses INTERFACE-TABLE; + uses DISTANCE; + uses LOG-NEIGHBOR-CHANGES; + } + } + leaf enable { + type empty; + description + "Enable EIGRP Default VRF + configurationDeletion of this object also + causes deletion of all objectsunder 'Process' + associated with this process instance."; + } + } + leaf nsf-disable { + type empty; + description + "Disable NSF for all address families under all + VRF's. It takes precedence over the NSF + related configuration in the address family + submode"; + } + leaf process-id { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "AS number (1 - 65535) or Virutual instance + name of the EIGRP process"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-datatypes.yang new file mode 100644 index 000000000..a63602a58 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-datatypes.yang @@ -0,0 +1,58 @@ +module Cisco-IOS-XR-eigrp-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-datatypes"; + prefix eigrp-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-04-05 { + description + "Common datatype for both config and oper changes."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Eigrp-af { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "ipv6" { + value 2; + description + "IPv6 address family"; + } + } + description + "Eigrp af"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper-sub1.yang new file mode 100644 index 000000000..f1e57c763 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper-sub1.yang @@ -0,0 +1,2259 @@ +submodule Cisco-IOS-XR-eigrp-oper-sub1 { + belongs-to Cisco-IOS-XR-eigrp-oper { + prefix Cisco-IOS-XR-eigrp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR eigrp package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-14 { + description + "Changed Internal tag value to 32-bit."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-04-05 { + description + "Oper supported provided for oper data."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Eigrp-bd-soo { + type enumeration { + enum "none" { + value 0; + description + "No SoO configured"; + } + enum "as" { + value 1; + description + "AS:nn format"; + } + enum "ipv4-address" { + value 2; + description + "IPV4Address:nn format"; + } + enum "four-byte-as" { + value 3; + description + "AS2.AS:nn format"; + } + } + description + "EIGRP SoO types"; + } + + typedef Eigrp-bd-path-rib-state { + type enumeration { + enum "active-path" { + value 0; + description + "Active path"; + } + enum "backup-path" { + value 1; + description + "Backup path"; + } + enum "path-sent-to-rib" { + value 2; + description + "Path sent to RIB"; + } + enum "path-not-selected" { + value 3; + description + "Path not selected for installation in RIB"; + } + enum "error-state" { + value 4; + description + "Path in error state"; + } + } + description + "Eigrp bd path rib state"; + } + + typedef Eigrp-bd-delay-unit { + type enumeration { + enum "none" { + value 0; + description + "No Delay configured"; + } + enum "ten-microsecond" { + value 1; + description + "Delay in 10's of Microseconds"; + } + enum "picosecond" { + value 2; + description + "Delay in Picoseconds"; + } + enum "microsecond" { + value 3; + description + "Delay in Microseconds"; + } + } + description + "EIGRP delay unit"; + } + + typedef Eigrp-bd-path-origin { + type enumeration { + enum "connected" { + value 0; + description + "connected destination"; + } + enum "static-redistributed" { + value 1; + description + "static redistribution"; + } + enum "connected-redistributed" { + value 2; + description + "connected redistribution"; + } + enum "subscriber-redistributed" { + value 3; + description + "subscriber redistribution"; + } + enum "redistributed" { + value 4; + description + "redistributed destination"; + } + enum "vpnv4-sourced" { + value 5; + description + "vpnv4 destination"; + } + enum "vpnv6-sourced" { + value 6; + description + "vpnv6 destination"; + } + enum "summary" { + value 7; + description + "summary destination"; + } + enum "dummy" { + value 8; + description + "bogus drdb used for sia transmission"; + } + enum "eigrp-destination" { + value 9; + description + "igrp2 destination"; + } + enum "origin-count" { + value 10; + description + "Number of org types"; + } + } + description + "EIGRP path origin"; + } + + typedef Eigrp-bd-path-send-flag { + type enumeration { + enum "no-send-pending" { + value 0; + description + "No packet send pending"; + } + enum "multicast-update-pending" { + value 1; + description + "Multicast update pending"; + } + enum "multicast-query-pending" { + value 2; + description + "Multicast query pending"; + } + enum "reply-pending" { + value 3; + description + "Reply pending"; + } + enum "sia-query-pending" { + value 4; + description + "SIA Query pending"; + } + enum "sia-reply-pending" { + value 5; + description + "SIA Reply pending"; + } + } + description + "EIGRP path send flag"; + } + + typedef Eigrp-bd-metric-version { + type enumeration { + enum "metric-version32-bit" { + value 0; + description + "Metric version is 32 bit"; + } + enum "metric-version64-bit" { + value 1; + description + "Metric version is 64 bit"; + } + } + description + "EIGRP metric version"; + } + + grouping EIGRP-SHOW-AF-STATS-BD { + description + "EIGRP AF statistics"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf configured-interface-count { + type uint32; + description + "Configured interfaces"; + } + leaf active-interfaces-count { + type uint32; + description + "Active interfaces"; + } + leaf activate-count { + type uint64; + description + "Activate address family success count"; + } + leaf activate-error { + type uint64; + description + "Activate address family failure count"; + } + leaf activate-last-error { + type int32; + description + "Activate address family last error"; + } + leaf deactivate-count { + type uint64; + description + "Deactivate address family success count"; + } + leaf deactivate-error { + type uint64; + description + "Deactivate address family failure count"; + } + leaf deactivate-last-error { + type int32; + description + "Deactivate address family last error"; + } + leaf socket-set { + type uint64; + description + "Socket setup success count"; + } + leaf socket-set-error { + type uint64; + description + "Socket setup failure count"; + } + leaf sock-set-last-error { + type int32; + description + "Socket setup last error"; + } + leaf raw-packet-in { + type uint64; + description + "Succeeded RAW packets in"; + } + leaf raw-packet-in-error { + type uint64; + description + "Failed RAW packets ln"; + } + leaf raw-packet-in-last-error { + type int32; + description + "RAW packets in last error"; + } + leaf raw-packet-out { + type uint64; + description + "Succeeded RAW packets out"; + } + leaf raw-packet-out-error { + type uint64; + description + "Failed RAW packets out"; + } + leaf raw-packet-out-last-error { + type int32; + description + "RAW Packets out last error"; + } + } + + grouping EIGRP-SHOW-NBR-Q-BD { + description + "EIGRP Neighbor queue"; + leaf operation-code { + type uint32; + description + "Operation Code"; + } + leaf ack-sequnce-number { + type uint32; + description + "ACK sequence number"; + } + leaf start-serial-number { + type uint64; + description + "Starting serial number"; + } + leaf end-serial-number { + type uint64; + description + "Ending serial number"; + } + leaf pregenerated { + type boolean; + description + "Pregenerated pak"; + } + leaf packet-length { + type uint32; + description + "pak len"; + } + leaf time-sent-flag { + type boolean; + description + "Has a pak been sent"; + } + leaf time-sent { + type uint32; + description + "Time sent"; + } + leaf init-bit-set { + type boolean; + description + "Is the init bit set"; + } + leaf sequenced { + type boolean; + description + "Is it sequenced"; + } + } + + grouping EIGRP-SHOW-NEIGHBORS-BD { + description + "EIGRP neighbor"; + container source { + description + "Peer address"; + uses EIGRP-ADDR-BD; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf peer-suspended { + type boolean; + description + "Is it a suspended peer"; + } + leaf peer-handle { + type uint32; + description + "Peer handle"; + } + leaf interface-list { + type string; + description + "Interface name"; + } + leaf holdtime { + type uint32; + description + "Hold time"; + } + leaf uptime { + type uint32; + units "second"; + description + "UP time (seconds)"; + } + leaf srtt { + type uint32; + description + "Round trip time"; + } + leaf rto { + type uint32; + description + "RTO"; + } + leaf bfd-enabled { + type boolean; + description + "BFD enabled"; + } + leaf queue-count { + type uint32; + description + "Q counts"; + } + leaf last-sequence-number { + type uint32; + description + "Last sequence number"; + } + leaf static-neighbor { + type boolean; + description + "Is it a static neighbor"; + } + leaf remote-neighbor { + type boolean; + description + "Is it a remote ucast neighbor"; + } + leaf hop-count { + type uint8; + description + "Hop count of the static peer"; + } + leaf restart-configured { + type boolean; + description + "Is Restart time configured"; + } + leaf restart-time { + type uint32; + units "second"; + description + "Restart time (seconds)"; + } + leaf last-startup-serial-number { + type uint64; + description + "Last startup serial number"; + } + leaf ios-major-version { + type uint8; + description + "IOS Major version"; + } + leaf ios-minor-version { + type uint8; + description + "IOS Minor version"; + } + leaf eigrp-major-version { + type uint8; + description + "EIGRP Major version"; + } + leaf eigrp-minor-version { + type uint8; + description + "EIGRP Major version"; + } + leaf retransmission-count { + type uint32; + description + "Retransmission count"; + } + leaf retry-count { + type uint32; + description + "Retry count"; + } + leaf need-init { + type boolean; + description + "Need EIGRP Init message"; + } + leaf need-init-ack { + type boolean; + description + "Need EIGRP InitAck message"; + } + leaf reinitialization-needed { + type boolean; + description + "Reinitialization needed"; + } + leaf reinit-start { + type uint32; + description + "Reinit period"; + } + leaf peer-prefix-count { + type uint32; + description + "Prefix count"; + } + leaf stubbed { + type boolean; + description + "Is it stubbed"; + } + leaf allow-connected { + type boolean; + description + "Connected routes accepted"; + } + leaf allow-static { + type boolean; + description + "Static routes accepted"; + } + leaf allow-summaries { + type boolean; + description + "Summary routes accepted"; + } + leaf allow-redistributed { + type boolean; + description + "Redist'ed routes accepted"; + } + leaf test-handle { + type boolean; + description + "Test handle flag"; + } + leaf stubbed-interface { + type boolean; + description + "Is it stubbed"; + } + leaf suspended-reset { + type boolean; + description + "Suspension manually reset"; + } + leaf suspended-time-left { + type uint32; + description + "Suspended time left"; + } + list neighbor-queue { + description + "Neighbor Queue"; + uses EIGRP-SHOW-NBR-Q-BD; + } + } + + grouping EIGRP-SHOW-EVENTS-BD { + description + "EIGRP DUAL events"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf current-event-index { + type uint32; + description + "Current event"; + } + leaf eigrp-start-absolute-seconds { + type uint32; + units "second"; + description + "Seconds since EIGRP started (absolute)"; + } + leaf eigrp-start-absolute-nanoseconds { + type uint32; + units "second"; + description + "Seconds since EIGRP started (absolute)"; + } + leaf eigrp-start-relative-seconds { + type uint32; + units "second"; + description + "Seconds since EIGRP started (relative)"; + } + leaf eigrp-start-relative-nanoseconds { + type uint32; + units "second"; + description + "Seconds since EIGRP started (relative)"; + } + } + + grouping EIGRP-SHOW-INTERFACES-BD { + description + "An EIGRP interface"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf peer-count { + type uint32; + description + "Peer Count"; + } + leaf classic-peer-count { + type uint32; + description + "Classic Peer Count"; + } + leaf wide-peer-count { + type uint32; + description + "Wide Peer Count"; + } + leaf unreliable-transmits { + type uint32; + description + "Unreliable transmissions"; + } + leaf reliable-transmits { + type uint32; + description + "Reliable transmissions"; + } + leaf total-srtt { + type uint32; + description + "Total SRTT"; + } + leaf unreliable-send-interval { + type uint32; + description + "Send interval for Unreliable transmissions"; + } + leaf reliable-send-interval { + type uint32; + description + "Send interval for Reliable transmissions"; + } + leaf last-mc-flow-delay { + type uint32; + description + "Last multicast flow delay"; + } + leaf pending-routes { + type uint32; + description + "Number of pending routes"; + } + leaf hello-interval { + type uint32; + description + "Hello interval"; + } + leaf holdtime { + type uint32; + description + "Hold time"; + } + leaf bfd-enabled { + type boolean; + description + "BFD enabled"; + } + leaf bfd-interval { + type uint32; + description + "BFD interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + leaf serial-number-present { + type boolean; + description + "Is serno present"; + } + leaf transmit-serial-number { + type uint64; + description + "Thread serial number"; + } + leaf packetize-pending { + type boolean; + description + "Packetize Timer pending"; + } + leaf unreliable-multicast-sent { + type uint32; + description + "Unreliable multicasts sent"; + } + leaf reliable-multicast-sent { + type uint32; + description + "Reliable multicasts sent"; + } + leaf unreliable-unicast-sent { + type uint32; + description + "Unreliable unicasts sent"; + } + leaf reliable-unicast-sent { + type uint32; + description + "Reliable unicasts sent"; + } + leaf multicast-exceptions-sent { + type uint32; + description + "Multicast Exceptions sent"; + } + leaf cr-packets-sent { + type uint32; + description + "CR packets sent"; + } + leaf acks-suppressed { + type uint32; + description + "Suppressed Acks"; + } + leaf retransmissions-sent { + type uint32; + description + "Retransmissions sent"; + } + leaf out-of-sequence-received { + type uint32; + description + "Out-of-sequence received"; + } + leaf stub-interface { + type boolean; + description + "All stub peers"; + } + leaf next-hop-self-enabled { + type boolean; + description + "Next-hop-self enabled"; + } + leaf split-horizon-enabled { + type boolean; + description + "SplitHorizon enabled"; + } + leaf passive-interface { + type boolean; + description + "Interface is passive"; + } + leaf bandwidth-percent { + type uint32; + units "percentage"; + description + "Bandwidth percent"; + } + leaf site-of-origin-type { + type Eigrp-bd-soo; + description + "Site of Origin Type"; + } + leaf site-of-origin { + type string; + description + "Site of Origin"; + } + leaf auth-mode { + type uint32; + description + "Authentication Mode"; + } + leaf auth-keychain { + type string; + description + "Authentication Keychain Name"; + } + leaf auth-key-exists { + type boolean; + description + "Authentication key exists"; + } + leaf auth-key-md5 { + type boolean; + description + "Authentication key programmed with MD5 algorithm"; + } + leaf auth-key-id { + type uint64; + description + "Current active Authentication Key Id"; + } + leaf total-pkt-recvd { + type uint32; + description + "Total packets received"; + } + leaf pkt-drop-wrong-kc { + type uint32; + description + "Packets dropped due to wrong keychain configured"; + } + leaf pkt-drop-no-auth { + type uint32; + description + "Packets dropped due to missing authentication + data"; + } + leaf pkt-drop-invalid-auth { + type uint32; + description + "Packets dropped due to invalid authentication + data"; + } + leaf pkt-accepted-valid-auth { + type uint32; + description + "Packets accepted with valid authentication data"; + } + leaf bandwidth { + type uint32; + description + "Deprecated. Please migrate to use Bandwidth64."; + } + leaf bandwidth64 { + type uint64; + description + "Bandwidth"; + } + leaf delay { + type uint32; + description + "Deprecated. Please migrate to use Delay64. The + value of this object might wrap if it is in + picosecond units"; + } + leaf delay64 { + type uint64; + description + "Delay"; + } + leaf delay-unit { + type Eigrp-bd-delay-unit; + description + "Delay unit"; + } + leaf reliability { + type uint32; + description + "Reliability"; + } + leaf load { + type uint32; + description + "Load"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf configured-bandwidth { + type uint32; + description + "Deprecated. Please migrate to use + ConfiguredBandwidth64."; + } + leaf configured-bandwidth64 { + type uint64; + description + "Configured bandwidth"; + } + leaf configured-delay { + type uint32; + description + "Deprecated. Please migrate to use + ConfiguredDelay64. The value of this object + might wrap if it is in picosecond units"; + } + leaf configured-delay64 { + type uint64; + description + "Configured delay"; + } + leaf configured-delay-unit { + type Eigrp-bd-delay-unit; + description + "Configured delay unit"; + } + leaf configured-reliability { + type uint32; + description + "Configured reliability"; + } + leaf configured-load { + type uint32; + description + "Configured load"; + } + leaf configured-bandwidth-flag { + type boolean; + description + "Bandwidth configured"; + } + leaf configured-delay-flag { + type boolean; + description + "Delay configured"; + } + leaf configured-reliability-flag { + type boolean; + description + "Reliability configured"; + } + leaf configured-load-flag { + type boolean; + description + "Load configured"; + } + leaf up { + type boolean; + description + "Interface is UP"; + } + leaf type-supported { + type boolean; + description + "Interface type is supported"; + } + leaf ital-record-found { + type boolean; + description + "ITAL Record valid"; + } + leaf configured { + type boolean; + description + "Interface config exists"; + } + leaf multicast-enabled { + type boolean; + description + "Requested socket state"; + } + leaf socket-setup { + type boolean; + description + "Setup socket state"; + } + leaf lpts-socket-setup { + type boolean; + description + "Setup LPTS socket state"; + } + leaf primary-ipv4-address { + type inet:ipv4-address; + description + "Primary IPv4 Address"; + } + leaf ipv6-link-local-addr { + type inet:ipv6-address; + description + "IPv6 LL Address"; + } + leaf primary-prefix-length { + type uint32; + description + "Primary prefix length"; + } + leaf interface-handle { + type uint32; + description + "Interface Handle"; + } + leaf interface-type { + type uint32; + description + "IM Interface Type"; + } + leaf configured-items { + type uint32; + description + "Interface Configured Items"; + } + leaf is-passive-enabled { + type boolean; + description + "Passive-Interface configured"; + } + leaf is-passive-disabled { + type boolean; + description + "Passive-Interface disabled"; + } + list static-neighbor { + description + "Static Neighbors"; + uses EIGRP-ADDR-BD; + } + } + + grouping EIGRP-SHOW-QUIESCENT-IF-BD { + description + "EIGRP Quiescent Interface"; + leaf quiescent-interface-list { + type string; + description + "Interface Name"; + } + } + + grouping EIGRP-SHOW-TOP-SUMMARY-BD { + description + "EIGRP Topology summary"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf thread-present { + type boolean; + description + "Is thread present ?"; + } + leaf transmit-serial-number { + type uint64; + description + "Thread serial number"; + } + leaf next-serial-number { + type uint64; + description + "Next serial number"; + } + leaf route-count { + type uint32; + description + "Number of routes"; + } + leaf path-count { + type uint32; + description + "Number of paths"; + } + leaf dummy-count { + type uint32; + description + "Dummy count"; + } + leaf ddb-name { + type string; + description + "DDB Name"; + } + leaf interface-count { + type uint32; + description + "Number of interfaces"; + } + leaf handles-used { + type uint32; + description + "Number of handles used"; + } + leaf active-interface-count { + type uint32; + description + "Number of active interfaces"; + } + list quiescent { + description + "Quiescent interfaces"; + uses EIGRP-SHOW-QUIESCENT-IF-BD; + } + } + + grouping EIGRP-SHOW-TRAFFIC-BD { + description + "EIGRP Traffic Statistics"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf hellos-sent { + type uint32; + description + "Hellos sent"; + } + leaf hellos-received { + type uint32; + description + "Hellos received"; + } + leaf updates-sent { + type uint32; + description + "Updates sent"; + } + leaf updates-received { + type uint32; + description + "Updates received"; + } + leaf queries-sent { + type uint32; + description + "Queries sent"; + } + leaf queries-received { + type uint32; + description + "Queries received"; + } + leaf replies-sent { + type uint32; + description + "Replies sent"; + } + leaf replies-received { + type uint32; + description + "Replies received"; + } + leaf acks-sent { + type uint32; + description + "Acks sent"; + } + leaf acks-received { + type uint32; + description + "Acks received"; + } + leaf sia-queries-sent { + type uint32; + description + "SIA Queries sent"; + } + leaf sia-queries-received { + type uint32; + description + "SIA Queries received"; + } + leaf sia-replies-sent { + type uint32; + description + "SIA Replies sent"; + } + leaf sia-replies-received { + type uint32; + description + "SIA Replies received"; + } + leaf max-queue-depth { + type uint32; + description + "Maximum queue depth"; + } + leaf queue-drops { + type uint32; + description + "Queue drops"; + } + } + + grouping EIGRP-PEER-STATS-BD { + description + "EIGRP peer prefix statistics"; + container source { + description + "Source address"; + uses EIGRP-ADDR-BD; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf state { + type int8; + description + "State"; + } + leaf interface-list { + type string; + description + "Interface name"; + } + leaf peer-prefix-count { + type uint32; + description + "Peer prefix count"; + } + leaf restart-count { + type uint32; + description + "Restart count"; + } + leaf time-left { + type uint32; + description + "Time left"; + } + } + + grouping EIGRP-SHOW-ACCOUNTING-BD { + description + "EIGRP Accounting"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf aggregate-count { + type uint32; + description + "Number of aggregates"; + } + leaf state { + type int8; + description + "Redist state"; + } + leaf redist-prefix-count { + type uint32; + description + "Redist prefix count"; + } + leaf restart-count { + type uint32; + description + "Restart count"; + } + leaf time-left { + type uint32; + description + "Time left"; + } + leaf redist-prefix-present { + type boolean; + description + "Are there redist'ed prefixes ?"; + } + list peer-statistics { + description + "Peers and their status"; + uses EIGRP-PEER-STATS-BD; + } + } + + grouping EIGRP-SHOW-ACT-BD { + description + "EIGRP route's active peer information"; + container source { + description + "Peer Address"; + uses EIGRP-ADDR-BD; + } + leaf peer-available { + type boolean; + description + "Peer available"; + } + leaf interface-list { + type string; + description + "Interface name"; + } + leaf handle-number { + type uint32; + description + "Handle number"; + } + } + + grouping EIGRP-SHOW-PATH-BD { + description + "An EIGRP path"; + container next-hop-address { + description + "Nexthop address"; + uses EIGRP-ADDR-BD; + } + container infosource { + description + "Source of route"; + uses EIGRP-ADDR-BD; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf next-hop-present { + type boolean; + description + "NH flag"; + } + leaf interface-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf interface-name { + type string; + description + "Interface name"; + } + leaf origin { + type Eigrp-bd-path-origin; + description + "Origin of route"; + } + leaf send-flag { + type Eigrp-bd-path-send-flag; + description + "Send flag"; + } + leaf reply-outstanding { + type boolean; + description + "Outstanding reply"; + } + leaf metric { + type uint32; + description + "Deprecated. Please migrate to use Metric64. The + value of this object might wrap since the metric + value can go up to (2^48 - 1) in 64-bit metric + mode"; + } + leaf metric64 { + type uint64; + description + "Metric"; + } + leaf successor-metric { + type uint32; + description + "Deprecated. Please migrate to use + SuccessorMetric64. The value of this object + might wrap since the metric value can go up to + (2^48 - 1) in 64-bit metric mode"; + } + leaf successor-metric64 { + type uint64; + description + "Successor metric"; + } + leaf reply-status { + type boolean; + description + "Reply status"; + } + leaf sia-status { + type boolean; + description + "SIA status"; + } + leaf transmit-serial-number { + type uint64; + description + "Transmit thread serial number"; + } + leaf anchored { + type boolean; + description + "Is Transmit thread anchored"; + } + leaf external-path { + type boolean; + description + "External"; + } + leaf bandwidth { + type uint32; + description + "Deprecated. Please migrate to use Bandwidth64."; + } + leaf bandwidth64 { + type uint64; + description + "Bandwidth"; + } + leaf delay { + type uint32; + description + "Deprecated. Please migrate to use Delay64. The + value of this object might wrap if it is in + picosecond units "; + } + leaf delay64 { + type uint64; + description + "Delay"; + } + leaf delay-unit { + type Eigrp-bd-delay-unit; + description + "Delay units"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf hop-count { + type uint32; + description + "Hopcount"; + } + leaf reliability { + type uint8; + description + "Reliability"; + } + leaf load { + type uint8; + description + "Load"; + } + leaf internal-router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf internal-tag { + type uint32; + description + "Internal Tag"; + } + leaf extended-communities-present { + type boolean; + description + "Extended communities present"; + } + leaf extended-communities-length { + type uint32; + description + "Length of extended communities"; + } + leaf extended-communities { + type yang:hex-string; + description + "Extended communities"; + } + leaf external-information-present { + type boolean; + description + "External information present"; + } + leaf external-router-id { + type uint32; + description + "Router ID"; + } + leaf external-this-system { + type boolean; + description + "Is it this system"; + } + leaf external-as { + type uint32; + description + "AS Number"; + } + leaf external-protocol { + type string; + description + "Protocol ID"; + } + leaf external-metric { + type uint32; + description + "Metric"; + } + leaf external-tag { + type uint32; + description + "Tag"; + } + leaf conditional-default-path { + type boolean; + description + "Conditional Default flag"; + } + leaf rib-state { + type Eigrp-bd-path-rib-state; + description + "State of path in RIB"; + } + } + + grouping EIGRP-PREFIX-BD { + description + "EIGRP IP v4/v6 Prefix"; + leaf ipv4-prefix { + type inet:ipv4-address; + description + "IPv4 Prefix"; + } + leaf ipv6-prefix { + type inet:ipv6-address; + description + "IPv6 Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + } + + grouping EIGRP-SHOW-ROUTE-BD { + description + "EIGRP Route"; + container prefix-xr { + description + "IP Prefix/length"; + uses EIGRP-PREFIX-BD; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf active { + type boolean; + description + "Active route"; + } + leaf successors { + type uint32; + description + "Successors"; + } + leaf successors-present { + type boolean; + description + "Are there successors"; + } + leaf old-metric { + type uint32; + description + "Deprecated. Please migrate to use OldMetric64. + The value of this object might wrap since the + metric value can go up to (2^48 - 1) in 64-bit + metric mode"; + } + leaf old-metric64 { + type uint64; + description + "Old metric"; + } + leaf metric { + type uint32; + description + "Deprecated. Please migrate to use Metric64. The + value of this object might wrap since the metric + value can go up to (2^48 - 1) in 64-bit metric + mode"; + } + leaf metric64 { + type uint64; + description + "Metric"; + } + leaf rib-metric { + type uint32; + description + "Metric downloaded to RIB"; + } + leaf tag { + type uint32; + description + "Tag"; + } + leaf send-flag { + type Eigrp-bd-path-send-flag; + description + "Send flag"; + } + leaf transmit-serial-number { + type uint64; + description + "Transmit thread Serial Number"; + } + leaf transmit-refcount { + type uint32; + description + "Transmit thread refcount"; + } + leaf transmit-anchored { + type boolean; + description + "Is Transmit thread anchored"; + } + leaf reply-handles { + type uint32; + description + "Reply handles used"; + } + leaf active-time-secs { + type uint32; + units "second"; + description + "Active time seconds"; + } + leaf active-time-nsecs { + type uint32; + units "nanosecond"; + description + "Active time nanoseconds"; + } + leaf origin { + type uint32; + description + "Origin"; + } + leaf retry-count { + type uint32; + description + "Retry count"; + } + leaf active-stats { + type boolean; + description + "Active stats flag"; + } + leaf min-time { + type uint32; + description + "Active stats min time"; + } + leaf max-time { + type uint32; + description + "Active stats max time"; + } + leaf average-time { + type uint32; + description + "Active stats average time"; + } + leaf ack-count { + type uint32; + description + "Active stats active count"; + } + leaf replies { + type uint32; + description + "Number of replies outstanding"; + } + leaf route-in-sia { + type boolean; + description + "Route is SIA"; + } + leaf sia-reply-handles { + type uint32; + description + "Reply handles used"; + } + list paths { + description + "Paths for this route"; + uses EIGRP-SHOW-PATH-BD; + } + list active-peer { + description + "Peers yet to respond"; + uses EIGRP-SHOW-ACT-BD; + } + list sia-peer { + description + "SIA Peers yet to respond"; + uses EIGRP-SHOW-ACT-BD; + } + } + + grouping EIGRP-ADDR-BD { + description + "EIGRP IP v4/v6 Address"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 Address"; + } + } + + grouping EIGRP-SHOW-STATIC-NEIGHBORS-BD { + description + "EIGRP Static neighbor"; + container source { + description + "Neighbor address"; + uses EIGRP-ADDR-BD; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf interface-list { + type string; + description + "Interface Name"; + } + } + + grouping EIGRP-SHOW-PROT-INT-BD { + description + "EIGRP Protocol Interface information"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf interface { + type string; + description + "Interface"; + } + leaf outbound-filter-policy { + type string; + description + "Outbound Filter Policy"; + } + leaf inbound-filter-policy { + type string; + description + "Inbound Filter Policy"; + } + leaf inactive { + type boolean; + description + "Interface is DOWN"; + } + leaf passive-interface { + type boolean; + description + "Interface is passive"; + } + } + + grouping EIGRP-SHOW-REDIST-BD { + description + "EIGRP Redist Protocol information"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf redistributed-protocol { + type string; + description + "Redistributed Protocol"; + } + leaf redistributed-protocol-tag { + type string; + description + "Redistributed Protocol tag"; + } + leaf redristribute-policy { + type string; + description + "Redistribute Filter policy"; + } + leaf redistribute-protocol-id { + type uint32; + description + "Redistributed Protocol ID"; + } + leaf rib-handle { + type uint32; + description + "Redistributed Protocol handle"; + } + } + + grouping EIGRP-SHOW-PROT-VRF-BD { + description + "EIGRP VRF protocol information"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf auto-summarization { + type boolean; + description + "Auto Summarization"; + } + leaf log-neighbor-changes { + type boolean; + description + "Neighbor changes logged"; + } + leaf log-neighbor-warnings { + type boolean; + description + "Neighbor warnings logged"; + } + leaf rib-table-limit-reached { + type boolean; + description + "RIB Table limit has been reached"; + } + leaf outbound-filter-policy { + type string; + description + "Outbound Filter Policy"; + } + leaf inbound-filter-policy { + type string; + description + "Inbound Filter Policy"; + } + leaf outgoing-candidate-default-flagged { + type boolean; + description + "Default Allowed Out"; + } + leaf outgoing-candidate-default-policy { + type string; + description + "Default Allowed Out Policy"; + } + leaf incoming-candidate-default-flagged { + type boolean; + description + "Default Allowed In"; + } + leaf incoming-candidate-default-policy { + type string; + description + "Default Allowed In Policy"; + } + leaf internal-distance { + type uint8; + description + "Internal Distance"; + } + leaf external-distance { + type uint8; + description + "External Distance"; + } + leaf maximum-paths { + type uint8; + description + "Maximum paths"; + } + leaf variance { + type uint8; + description + "Variance"; + } + leaf metric-weight-k1 { + type uint32; + description + "K1 value"; + } + leaf metric-weight-k2 { + type uint32; + description + "K2 value"; + } + leaf metric-weight-k3 { + type uint32; + description + "K3 value"; + } + leaf metric-weight-k4 { + type uint32; + description + "K4 value"; + } + leaf metric-weight-k5 { + type uint32; + description + "K5 value"; + } + leaf metric-weight-k6 { + type uint32; + description + "K6 value"; + } + leaf rib-scale { + type uint32; + description + "RIB Scale"; + } + leaf metric-version { + type Eigrp-bd-metric-version; + description + "Metric Version"; + } + leaf metric-maximum-hopcount { + type uint32; + description + "Metric MaxHops configured"; + } + leaf default-metric-configured { + type boolean; + description + "Default Metric Configured"; + } + leaf default-bandwidth { + type uint32; + description + "Default Bandwidth"; + } + leaf default-delay { + type uint32; + description + "Default Delay"; + } + leaf default-reliability { + type uint32; + description + "Default Reliability"; + } + leaf default-load { + type uint32; + description + "Default Load"; + } + leaf default-mtu { + type uint32; + description + "Default MTU"; + } + leaf stub-configured { + type boolean; + description + "Stub Configured"; + } + leaf stub-receive-only { + type boolean; + description + "Stub Receive-only configured"; + } + leaf stub-allow-connected-routes { + type boolean; + description + "ConnectedRoutes allowed"; + } + leaf stub-allow-static-routes { + type boolean; + description + "Static Routes allowed"; + } + leaf stub-allow-summary-routes { + type boolean; + description + "Summary Routes allowed"; + } + leaf stub-allow-redistributed-routes { + type boolean; + description + "Redistributed Routes allowed"; + } + leaf nsf-enabled { + type boolean; + description + "NSF Enabled"; + } + leaf nsf-route-hold-time { + type uint32; + description + "NSF Route Hold Time"; + } + leaf nsf-signal-time { + type uint32; + description + "NSF Signal Time"; + } + leaf nsf-converge-time { + type uint32; + description + "NSF Converge Time"; + } + leaf restart-configured { + type boolean; + description + "Is Restart time configured"; + } + leaf restart-time { + type uint32; + units "second"; + description + "Restart time (seconds)"; + } + leaf sia-active-time { + type uint32; + description + "SIA Active Time"; + } + leaf rib-protocol-id { + type uint32; + description + "RIB Protocol ID"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf ital-activation-received { + type boolean; + description + "VRF activated by ITAL"; + } + leaf vrf-activated { + type boolean; + description + "VRF activated by EIGRP"; + } + leaf up { + type boolean; + description + "VRF information available"; + } + leaf rib-initialized { + type boolean; + description + "RIB initialization for VRF"; + } + leaf rib-converged { + type boolean; + description + "RIB convergence for VRF"; + } + leaf rib-converged-reload { + type boolean; + description + "Reload following RIB Convergence"; + } + leaf socket-request { + type boolean; + description + "Requested Socket Option for VRF"; + } + leaf socket-setup { + type boolean; + description + "Setup socket state for VRF"; + } + leaf default-vrf { + type boolean; + description + "VRF represents default-context"; + } + leaf af-enabled { + type boolean; + description + "AF Enabled"; + } + leaf is-passive-default { + type boolean; + description + "Passive-Interface default configured"; + } + leaf configured-items { + type uint32; + description + "VRF Configured Items"; + } + leaf af-configured-items { + type uint32; + description + "AF Configured Items"; + } + leaf ip-arm-router-id { + type uint32; + description + "IP ARM Router ID"; + } + leaf first-interface-up-address { + type uint32; + description + "IP Address of first UP interface"; + } + leaf nsf-in-progress { + type uint32; + description + "DDB NSF in progress indication"; + } + leaf rib-table-converged { + type uint32; + description + "RIB Table convergence indication"; + } + list redistributed-protocol { + description + "Redistributed Protocols"; + uses EIGRP-SHOW-REDIST-BD; + } + list interface { + description + "Interfaces"; + uses EIGRP-SHOW-PROT-INT-BD; + } + } + + grouping EIGRP-VRFS-BD { + description + "EIGRP VRF Name"; + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper.yang new file mode 100644 index 000000000..1ddde3e7d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-eigrp-oper.yang @@ -0,0 +1,239 @@ +module Cisco-IOS-XR-eigrp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-oper"; + prefix eigrp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-eigrp-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-eigrp-oper-sub1 { + revision-date 2020-09-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR eigrp package operational data. + + This module contains definitions + for the following management objects: + eigrp: EIGRP operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-14 { + description + "Changed Internal tag value to 32-bit."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-04-05 { + description + "Oper supported provided for oper data."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container eigrp { + config false; + description + "EIGRP operational data"; + container processes { + description + "Operational data for an EIGRP process"; + list process { + key "process-id"; + description + "Operational data for an EIGRP process"; + container vrfs-xr { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "A VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses EIGRP-VRFS-BD; + } + } + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "Operational data for a VRF"; + container afs { + description + "List of Address Families"; + list af { + key "af-name"; + description + "Operational data for one AF"; + container protocol { + description + "Address family specific protocol + information"; + uses EIGRP-SHOW-PROT-VRF-BD; + } + container ases { + description + "List of Autonomous Systems"; + list as { + key "asn"; + description + "Operational data for one AS"; + container static-neighbors { + description + "EIGRP static neighbors"; + list static-neighbor { + key "neighbor-address"; + description + "Information on one static EIGRP + neighbor"; + leaf neighbor-address { + type xr:Cisco-ios-xr-string; + description + "Neighbor Address"; + } + uses EIGRP-SHOW-STATIC-NEIGHBORS-BD; + } + } + container topology-routes { + description + "EIGRP topology table"; + list topology-route { + description + "Information about one EIGRP route"; + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "IP Prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "IP Prefix length"; + } + uses EIGRP-SHOW-ROUTE-BD; + } + } + container eigrp-accounting { + description + "Accounting info for one VRF AF"; + uses EIGRP-SHOW-ACCOUNTING-BD; + } + container eigrp-traffic { + description + "Traffic info for one VRF AF"; + uses EIGRP-SHOW-TRAFFIC-BD; + } + container eigrp-topology-summary { + description + "Topology summary info for one VRF AF"; + uses EIGRP-SHOW-TOP-SUMMARY-BD; + } + container interfaces { + description + "EIGRP interfaces"; + list interface { + key "interface-name"; + description + "Information for an EIGRP interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses EIGRP-SHOW-INTERFACES-BD; + } + } + container eigrp-events { + description + "Events for a specific VRF AF"; + uses EIGRP-SHOW-EVENTS-BD; + } + container neighbors { + description + "EIGRP neighbors"; + list neighbor { + key "neighbor-address"; + description + "Information on one EIGRP neighbor"; + leaf neighbor-address { + type xr:Cisco-ios-xr-string; + description + "Neighbor Address"; + } + uses EIGRP-SHOW-NEIGHBORS-BD; + } + } + container eigrp-statistics { + description + "Statistics for a specific VRF AF"; + uses EIGRP-SHOW-AF-STATS-BD; + } + leaf asn { + type uint32 { + range "1..65535"; + } + description + "AS number"; + } + } + } + leaf af-name { + type dt1:Eigrp-af; + description + "Address Family"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + } + } + leaf process-id { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "AS number or Virtual instance name of the + EIGRP process"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper-sub1.yang new file mode 100644 index 000000000..a602e4854 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper-sub1.yang @@ -0,0 +1,136 @@ +submodule Cisco-IOS-XR-emon-oper-sub1 { + belongs-to Cisco-IOS-XR-emon-oper { + prefix Cisco-IOS-XR-emon-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR emon package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-08 { + description + "and entry for show controller switch bridge"; + } + revision 2019-03-01 { + description + "Rename esdma-oper to switch-oper, esdma-emon-oper to emon-oper"; + } + revision 2019-02-07 { + description + "Rework clear and set operations."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ESDMA-SHOW-EMON-PATH-ENTRY { + description + "show ethernet EMON path entry"; + leaf path-name { + type string { + length "0..64"; + } + description + "Path name"; + } + leaf tx-hb-packets { + type uint64; + description + "Tx heartbeat packets"; + } + leaf tx-hb-resp-packets { + type uint64; + description + "Tx heartbeat response packets"; + } + leaf rx-hb-packets { + type uint64; + description + "Rx heartbeat packets"; + } + leaf rx-hb-resp-packets { + type uint64; + description + "Rx heartbeat response packets"; + } + leaf rx-hb-resp-packet-misses { + type uint64; + description + "Rx heartbeat response packet misses"; + } + leaf rx-emon-stop-packets { + type uint64; + description + "Rx EMON stop packets"; + } + leaf rx-emon-fdb-flush-packets { + type uint64; + description + "Rx EMON FDB flush packets"; + } + leaf tx-emon-fdb-flush-packets { + type uint64; + description + "Tx EMON FDB flush packets"; + } + } + + grouping ESDMA-SHOW-EMON-CARD-ENTRY { + description + "show ethernet EMON card entry"; + leaf remote-card { + type string { + length "0..16"; + } + description + "Remote card name"; + } + list emon-path-entry { + description + "EMON path entry"; + uses ESDMA-SHOW-EMON-PATH-ENTRY; + } + } + + grouping ESDMA-SHOW-EMON-STATS-INFO { + description + "show ethernet EMON statistics info"; + leaf local-card { + type string { + length "0..16"; + } + description + "Local card name"; + } + list emon-card-entry { + description + "EMON card entry"; + uses ESDMA-SHOW-EMON-CARD-ENTRY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper.yang new file mode 100644 index 000000000..d14430764 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-emon-oper.yang @@ -0,0 +1,84 @@ +module Cisco-IOS-XR-emon-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-emon-oper"; + prefix emon-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-emon-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR emon package operational data. + + This module contains definitions + for the following management objects: + show-emon: EMON statistics + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-08 { + description + "and entry for show controller switch bridge"; + } + revision 2019-03-01 { + description + "Rename esdma-oper to switch-oper, esdma-emon-oper to emon-oper"; + } + revision 2019-02-07 { + description + "Rework clear and set operations."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container show-emon { + config false; + description + "EMON statistics"; + container emon-statistics { + description + "EMON TX and RX statistics"; + container emon-statistics-instances { + description + "Table of EmonStatisticsLocation"; + list emon-statistics-instance { + key "node-id"; + description + "Location information for EMON statistics"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-EMON-STATS-INFO; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-alt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-alt-cfg.yang new file mode 100644 index 000000000..e06dfc85b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-alt-cfg.yang @@ -0,0 +1,57 @@ +module Cisco-IOS-XR-envmon-alt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-envmon-alt-cfg"; + prefix envmon-alt-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-envmon-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR envmon-alt package configuration. + + This YANG module augments the + Cisco-IOS-XR-envmon-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:environmental-monitoring" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-envmon-cfg'"; + leaf altitude { + type uint32 { + range "0..4000"; + } + description + "Altitude value in meters"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-cfg.yang new file mode 100644 index 000000000..d706133f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-cfg.yang @@ -0,0 +1,163 @@ +module Cisco-IOS-XR-envmon-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-envmon-cfg"; + prefix envmon-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR envmon package configuration. + + This module contains definitions + for the following management objects: + environmental-monitoring: Environmental Monitoring Operational + data space + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-08 { + description + "IOS XR 7.3.1 revision. Added Alarm port config."; + semver:module-version "1.2.0"; + } + revision 2019-10-15 { + description + "IOS XR 7.0.12 revision. Added chassis door alarm."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Description-str { + type string { + length "1..80"; + } + description + "Description str"; + } + + typedef Trigger-state { + type enumeration { + enum "open" { + value 0; + description + "Trigger on Open"; + } + enum "closed" { + value 1; + description + "Trigger is Closed"; + } + } + description + "Trigger state"; + } + + typedef Severity { + type string { + pattern "(minor)|(major)|(critical)"; + } + description + "minor: minor alarm, major: major alarm, critical: + critical alarm"; + } + + container environmental-monitoring { + description + "Environmental Monitoring Operational data space"; + container fan-ctrl-optics { + status deprecated; + description + "Control chassis fan status"; + leaf enable { + type boolean; + default "false"; + status deprecated; + description + "Enable or disable higher fan speed"; + } + } + container air-filter { + description + "Chassis air-filter status"; + container replaced { + description + "air-filter replaced date"; + leaf date { + type string; + description + "CCYY-MM-DD format"; + } + } + } + container chassis-door-alarm { + description + "Control chassis door alarm"; + leaf enable { + type boolean; + default "false"; + description + "Enable or disable chassis door alarm"; + } + } + container alarm-contacts { + description + "Control alarm port behavior"; + list alarm-contact { + key "name"; + description + "Alarm port number"; + leaf severity { + type Severity; + description + "Trigger on open or close"; + } + leaf description { + type Description-str; + description + "Description of the alarm"; + } + leaf trigger { + type Trigger-state; + default "open"; + description + "Trigger alarm on pin open or closed"; + } + leaf name { + type uint32; + description + "Alarm contact number"; + } + } + } + leaf min-fan-speed { + type uint32 { + range "0..100"; + } + description + "Min default fan speed in PWM"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub1.yang new file mode 100644 index 000000000..4ffc57eaa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub1.yang @@ -0,0 +1,304 @@ +submodule Cisco-IOS-XR-envmon-oper-sub1 { + belongs-to Cisco-IOS-XR-envmon-oper { + prefix Cisco-IOS-XR-envmon-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR envmon package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-06-30 { + description + "IOS XR 7.5.5 revision. Added group name to the active and redundancy power groups."; + semver:module-version "1.2.1m"; + } + revision 2021-06-10 { + description + "IOS XR 7.5.1 revision. Decoupled chassis sensors from being reported as part of RP card"; + semver:module-version "1.2.0"; + } + revision 2020-09-25 { + description + "IOS XR 7.3.1 revision. Added alarm port oper commands."; + semver:module-version "1.1.0"; + } + revision 2020-04-07 { + description + "IOS XR 7.2.1 revision. Added extra description to interpret Threshold Value -32768."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping DPB-CLIENT-PORTS-DATA-B { + description + "DPB Client Ports Data"; + leaf port { + type uint32; + description + "Port Number"; + } + leaf power { + type uint32; + description + "Power Alloc"; + } + leaf location { + type string; + description + "Port location"; + } + } + + grouping DPB-CLIENTS-PWR-INFO-B { + description + "Consumer DPB Clients Power Info"; + leaf client-name { + type string; + description + "Client Name"; + } + leaf bulk-power { + type uint32; + description + "Bulk Power"; + } + leaf ports-allocated-power { + type uint32; + description + "Ports Allocated Power"; + } + leaf ports-data-count { + type uint32; + description + "Ports Data Count"; + } + list dpb-client-ports-data { + description + "DPB Client Ports Data Array"; + uses DPB-CLIENT-PORTS-DATA-B; + } + } + + grouping CONSUMER-PWR-INFO-B { + description + "Power Consumer Info"; + leaf node-name { + type string; + description + "Name of the Node"; + } + leaf node-type { + type string; + description + "PID of the Entity"; + } + leaf pwr-alctd { + type uint32; + description + "Power Allocated"; + } + leaf pwr-used { + type uint32; + description + "Power Used"; + } + leaf node-status { + type string; + description + "Node Status"; + } + leaf slot { + type uint32; + description + "Slot number"; + } + list dpb-clients-power-info-array { + description + "DPB Clients Power Info Array"; + uses DPB-CLIENTS-PWR-INFO-B; + } + } + + grouping CHASSIS-PWR-GRP-INFO-B { + description + "Group Level Power Info"; + leaf group-name { + type string; + description + "Group name"; + } + leaf total-pwr-in { + type uint64; + description + "Total Power Input in watts"; + } + leaf total-pwr-out { + type uint64; + description + "Total Power Output in watts"; + } + leaf total-current-in-a { + type string; + description + "Total Current Input A in amps"; + } + leaf total-current-in-b { + type string; + description + "Total Current Input B in amps"; + } + leaf total-current-out { + type string; + description + "Total Current Output in amps"; + } + leaf total-output-capacity { + type uint64; + description + "Total Output capacity in watts"; + } + } + + grouping CHASSIS-PWR-INFO-B { + description + "Chassis Level Power Info"; + leaf total-pwr-required { + type uint32; + description + "Total Power required"; + } + leaf red-mode { + type uint32; + description + "Redundancy Mode"; + } + leaf total-pe-ms { + type uint32; + description + "Total Number of PEMs"; + } + leaf red-num-pe-ms { + type uint32; + description + "Redundant Number of PEMs"; + } + leaf psu-non-fruable { + type uint8; + description + "PSU Fixed Hardware"; + } + leaf total-out-capacity { + type uint32; + description + "Total out capacity"; + } + leaf total-pwr-output { + type uint32; + description + "Total Power output"; + } + leaf total-pwr-input { + type uint32; + description + "Total Power input"; + } + list grp-info { + max-elements "3"; + description + "Total Info Group Wise"; + uses CHASSIS-PWR-GRP-INFO-B; + } + } + + grouping PRODUCER-PWR-PEM-INFO-B { + description + "Power Producer PEM Info"; + leaf node-name { + type string; + description + "Name of the Node"; + } + leaf node-type { + type string; + description + "PID of the PEM"; + } + leaf num-feed { + type uint32; + description + "Number of Feeds"; + } + leaf voltage-in-a { + type uint32; + description + "Input Voltage A"; + } + leaf voltage-in-b { + type uint32; + description + "Input Voltage B"; + } + leaf voltage-out { + type uint32; + description + "Output Voltage"; + } + leaf current-in-a { + type uint32; + description + "Input Current A"; + } + leaf current-in-b { + type uint32; + description + "Input Current B"; + } + leaf current-out { + type uint32; + description + "Output Current"; + } + leaf node-status { + type string; + description + "Node Status"; + } + } + + grouping PRODUCER-PWR-PT-INFO-B { + description + "Power Producer PT Info"; + list pem-info-array { + description + "PEM Info Array"; + uses PRODUCER-PWR-PEM-INFO-B; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub2.yang new file mode 100644 index 000000000..0506a9aef --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper-sub2.yang @@ -0,0 +1,124 @@ +submodule Cisco-IOS-XR-envmon-oper-sub2 { + belongs-to Cisco-IOS-XR-envmon-oper { + prefix Cisco-IOS-XR-envmon-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR envmon package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-06-30 { + description + "IOS XR 7.5.5 revision. Added group name to the active and redundancy power groups."; + semver:module-version "1.2.1m"; + } + revision 2021-06-10 { + description + "IOS XR 7.5.1 revision. Decoupled chassis sensors from being reported as part of RP card"; + semver:module-version "1.2.0"; + } + revision 2020-09-25 { + description + "IOS XR 7.3.1 revision. Added alarm port oper commands."; + semver:module-version "1.1.0"; + } + revision 2020-04-07 { + description + "IOS XR 7.2.1 revision. Added extra description to interpret Threshold Value -32768."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SPI-ENVMON-SENSOR-DATA-B { + description + "Sensor Data structure"; + leaf sensor-value { + type int32; + description + "Value of Sensor"; + } + leaf critical-low-threshold { + type int32; + description + "Critical Low Threshold Value, interpret -32768 + value as N/A"; + } + leaf critical-high-threshold { + type int32; + description + "Critical High Threshold Value, interpret -32768 + value as N/A"; + } + leaf major-low-threshold { + type int32; + description + "Major Low Threshold Value, interpret -32768 + value as N/A"; + } + leaf major-high-threshold { + type int32; + description + "Major High Threshold Value, interpret -32768 + value as N/A"; + } + leaf minor-low-threshold { + type int32; + description + "Minor Low Threshold Value, interpret -32768 + value as N/A"; + } + leaf minor-high-threshold { + type int32; + description + "Minor High Threshold Value, interpret -32768 + value as N/A"; + } + leaf name-xr { + type string; + description + "Name of Sensor"; + } + leaf location { + type string; + description + "Location of Sensor"; + } + leaf fru-type { + type string; + description + "FRU Type"; + } + leaf status { + type uint32; + description + "Sensor Operational Status"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper.yang new file mode 100644 index 000000000..45fa7bd34 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-envmon-oper.yang @@ -0,0 +1,189 @@ +module Cisco-IOS-XR-envmon-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-envmon-oper"; + prefix envmon-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-envmon-oper-sub2 { + revision-date 2023-06-30; + } + include Cisco-IOS-XR-envmon-oper-sub1 { + revision-date 2023-06-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR envmon package operational data. + + This module contains definitions + for the following management objects: + environmental-monitoring: Environmental Monitoring Operational + data space + power-management: Power tray and power module management + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-06-30 { + description + "IOS XR 7.5.5 revision. Added group name to the active and redundancy power groups."; + semver:module-version "1.2.1m"; + } + revision 2021-06-10 { + description + "IOS XR 7.5.1 revision. Decoupled chassis sensors from being reported as part of RP card"; + semver:module-version "1.2.0"; + } + revision 2020-09-25 { + description + "IOS XR 7.3.1 revision. Added alarm port oper commands."; + semver:module-version "1.1.0"; + } + revision 2020-04-07 { + description + "IOS XR 7.2.1 revision. Added extra description to interpret Threshold Value -32768."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container environmental-monitoring { + config false; + description + "Environmental Monitoring Operational data space"; + list rack { + key "name"; + description + "Rack Number"; + container nodes { + description + "Table of nodes"; + list node { + key "node"; + description + "Node Number"; + container sensor-types { + description + "Table of all sensor types"; + list sensor-type { + key "type"; + description + "Sensor Type"; + container sensor-names { + description + "Table of sensors"; + list sensor-name { + key "name"; + description + "Name of sensor"; + leaf name { + type string; + description + "Sensor name"; + } + uses SPI-ENVMON-SENSOR-DATA-B; + } + } + leaf type { + type xr:Cisco-ios-xr-string; + description + "Sensor Type"; + } + } + } + leaf node { + type xr:Node-id; + description + "Node ID"; + } + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Rack name"; + } + } + } + container power-management { + config false; + description + "Power tray and power module management"; + list rack { + key "name"; + description + "Rack identifier"; + container producers { + description + "Power producers information"; + container producer-nodes { + description + "Table of power producer nodes"; + list producer-node { + key "node"; + description + "Power producer node identifier"; + leaf node { + type xr:Node-id; + description + "Node ID"; + } + uses PRODUCER-PWR-PT-INFO-B; + } + } + } + container chassis { + description + "Chassis level information"; + uses CHASSIS-PWR-INFO-B; + } + container consumers { + description + "Power consumers info"; + container consumer-nodes { + description + "Table of power consumer nodes"; + list consumer-node { + key "node"; + description + "Consumer node identifier"; + leaf node { + type xr:Node-id; + description + "Node ID"; + } + uses CONSUMER-PWR-INFO-B; + } + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Rack name"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-es-ace-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-es-ace-cfg.yang new file mode 100644 index 000000000..1e568ebf0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-es-ace-cfg.yang @@ -0,0 +1,232 @@ +submodule Cisco-IOS-XR-es-ace-cfg { + belongs-to Cisco-IOS-XR-es-acl-cfg { + prefix es-acl-cfg; + } + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-es-acl-datatypes { + prefix es-acl-dt; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ES ACL entry configuration. + + Copyright (c) 2015-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-02-26 { + description + "6.5.1 revision. + Fixed datatypes for below leaves: + - vlan1, vlan2 + - inner-vlan1, inner-vlan2 + - cos, inner-cos + - dei, inner-dei + - log-option"; + } + revision 2018-02-21 { + description + "Changed ether-type-number to type Hex-integer-16."; + } + revision 2018-01-03 { + description + "6.4.1 revision. + Fixed a few typos in the description."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "Initial revision."; + } + + typedef es-acl-grant-enum { + type enumeration { + enum "deny" { + value 0; + description + "Deny"; + } + enum "permit" { + value 1; + description + "Permit"; + } + } + description + "ES ACL forwarding action."; + } + + typedef es-acl-address { + type string { + pattern "([0-9a-fA-F]{1,4}(\\.[0-9a-fA-F]{1,4}){2})"; + } + } + + grouping ES-ACL-CONFIG-ACE { + description + "ES ACE entry."; + leaf grant { + type es-acl-grant-enum; + description + "Forwarding action for the packet. This is required + for any non-remark ACE. Leave unspecified otherwise."; + } + container source-network { + description + "Source network settings."; + leaf source-address { + type es-acl-address; + description + "Source address to match, leave unspecified + for any."; + } + leaf source-wild-card-bits { + type es-acl-address; + description + "Wildcard bits to apply to source address + (if specified), leave unspecified for no + wildcarding."; + } + } + container destination-network { + description + "Destination network settings."; + leaf destination-address { + type es-acl-address; + description + "Destination address to match (if a protocol + was specified), leave unspecified for any."; + } + leaf destination-wild-card-bits { + type es-acl-address; + description + "Wildcard bits to apply to destination address + (if specified), leave unspecified for no + wildcarding."; + } + } + leaf vlan1 { + type es-acl-dt:Es-acl-vlan-range; + description + "This 12-bit VLAN-ID in the VLAN Tag header uniquely + identifies the VLAN. It can be used for the lower bound + (in range) or single value. Any value not in the + permissible range will be rejected."; + reference "IEEE 802.1Q"; + } + leaf vlan2 { + type es-acl-dt:Es-acl-vlan-range; + description + "This 12 bit VLAN-ID in the VLAN Tag header uniquely + identifies the VLAN. It is used in the upper bound + (in range). Any value not in the permissible range + will be rejected."; + reference "IEEE 802.1Q"; + } + leaf cos { + type es-acl-dt:Es-acl-cos-range; + description + "Class of Service value. Any value not in the + permissible range will be rejected."; + reference "IEEE 802.1p"; + } + leaf dei { + type es-acl-dt:Es-acl-dei-range; + description + "Discard Eligibility Indication bit. User can specify + 1 to indicate the bit is set. Leave unspecified + otherwise."; + reference "RFC 7180 Section 7"; + } + leaf inner-vlan1 { + type es-acl-dt:Es-acl-vlan-range; + description + "This represents the QinQ vlan identifier. It can be used for + the lower bound (in range) or single value. Any value not + in the permissible range will be rejected."; + reference "IEEE 802.1Q"; + } + leaf inner-vlan2 { + type es-acl-dt:Es-acl-vlan-range; + description + "This represents the QinQ vlan identifier. It is used in + the upper bound (in range). Any value not in the permissible + range will be rejected."; + reference "IEEE 802.1Q"; + } + leaf inner-cos { + type es-acl-dt:Es-acl-cos-range; + description + "Class of Service of Inner Header. Any value not in the + permissible range will be rejected."; + reference "IEEE 802.1p"; + } + leaf inner-dei { + type es-acl-dt:Es-acl-dei-range; + description + "Discard Eligibility Indication for Inner Header. User + can specify 1 to indicate the bit is set. Leave + unspecified otherwise."; + reference "RFC 7180 Section 7"; + } + leaf remark { + type string { + length "0..255"; + } + description + "Description for the access-list-entry/rule."; + } + leaf ether-type-number { + type xr:Hex-integer-16; + description + "Ethernet type Number in Hex. Any value not in the + permissible range will be rejected."; + reference "IEEE 802 Ether types"; + } + leaf capture { + type boolean; + description + "Enable capture if set to TRUE."; + } + leaf log-option { + type es-acl-dt:Es-acl-log-range; + description + "Log the packet on this access-list-entry/rule. + User can specify 1 to enable logging + the match, leave unspecified otherwise."; + } + leaf sequence-str { + type string { + length "1..64"; + } + description + "Sequence String for the ace."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-cfg.yang new file mode 100644 index 000000000..bd0fdc8c8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-cfg.yang @@ -0,0 +1,106 @@ +module Cisco-IOS-XR-es-acl-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-cfg"; + prefix es-acl-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-common-acl-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-es-ace-cfg { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR es-acl package configuration. + + This module contains definitions + for the following management objects: + es-acl: Layer 2 ACL configuration data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.1"; + } + revision 2018-02-26 { + description + "6.5.1 revision. Fixed datatypes for below leaves: - vlan1, vlan2 - inner-vlan1, inner-vlan2 - cos, inner-cos - dei, inner-dei - log-option."; + } + revision 2018-02-21 { + description + "Changed ether-type-number to type Hex-integer-16."; + } + revision 2018-01-03 { + description + "6.4.1 revision. Fixed a few typos in the description."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Es-acl-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Es acl name"; + } + + container es-acl { + description + "Layer 2 ACL configuration data"; + container accesses { + description + "Table of access lists"; + list access { + key "name"; + description + "An ACL"; + container access-list-entries { + description + "ACL entry table; contains list of access list + entries"; + list access-list-entry { + key "sequence-number"; + description + "An ACL entry; either a description (remark) + or anAccess List Entry to match against"; + leaf sequence-number { + type dt1:Acl-sequence-number-range; + description + "Sequence number of access list entry"; + } + uses ES-ACL-CONFIG-ACE; + } + } + leaf name { + type Es-acl-name; + description + "Name of the access list"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-datatypes.yang new file mode 100644 index 000000000..ee814370d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-datatypes.yang @@ -0,0 +1,114 @@ +module Cisco-IOS-XR-es-acl-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-datatypes"; + prefix es-acl-datatypes; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Es-acl-dei-range { + type uint32 { + range "0..1"; + } + description + "Es acl dei range"; + } + + typedef Es-acl-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Es acl name"; + } + + typedef Es-acl-vlan-range { + type uint32 { + range "0..4095"; + } + description + "Es acl vlan range"; + } + + typedef Acl-usage-app-id-enum { + type enumeration { + enum "pfilter" { + value 1; + description + "General Usage Statistics"; + } + enum "bgp" { + value 2; + description + "Usage staistics related to BGP Traffic"; + } + enum "ospf" { + value 3; + description + "Usage staistics related to OSPF Traffic"; + } + } + description + "Acl usage app id enum"; + } + + typedef Es-acl-cos-range { + type uint32 { + range "0..7"; + } + description + "Es acl cos range"; + } + + typedef Acl-sequence-number-range { + type uint32 { + range "1..2147483646"; + } + description + "Acl sequence number range"; + } + + typedef Es-acl-log-range { + type uint32 { + range "0..1"; + } + description + "Es acl log range"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper-sub1.yang new file mode 100644 index 000000000..eaee15e1d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper-sub1.yang @@ -0,0 +1,247 @@ +submodule Cisco-IOS-XR-es-acl-oper-sub1 { + belongs-to Cisco-IOS-XR-es-acl-oper { + prefix Cisco-IOS-XR-es-acl-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR es-acl package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Acl-action { + type enumeration { + enum "deny" { + value 0; + description + "Deny"; + } + enum "permit" { + value 1; + description + "Permit"; + } + enum "encrypt" { + value 2; + description + "Encrypt"; + } + enum "bypass" { + value 3; + description + "Bypass"; + } + enum "fallthrough" { + value 4; + description + "Fallthrough"; + } + enum "invalid" { + value 5; + description + "Invalid"; + } + } + description + "Acl action"; + } + + typedef Acl-ace1 { + type enumeration { + enum "normal" { + description + "This is Normal ACE"; + } + enum "remark" { + description + "This is Remark ACE"; + } + enum "abf" { + description + "This is ABF ACE"; + } + } + description + "ACE Types"; + } + + typedef Acl-ace { + type Acl-ace1; + description + "ACE Types"; + } + + grouping ES-ACL-EDM-ACE { + description + "ACLE bag"; + leaf ace-type { + type Acl-ace; + description + "ACE type (acl, remark)"; + } + leaf ace-sequence-number { + type uint32; + description + "ACE sequence number"; + } + leaf hits { + type uint64; + description + "ACE hit number"; + } + leaf grant { + type Acl-action; + description + "Grant value permit/deny "; + } + leaf source-address { + type xr:Osi-system-id; + description + "Source MAC address"; + } + leaf source-wild-card-bits { + type xr:Osi-system-id; + description + "Source wild card bits"; + } + leaf destination-address { + type xr:Osi-system-id; + description + "Destination MAC address"; + } + leaf destination-wild-card-bits { + type xr:Osi-system-id; + description + "Destination wild card bits"; + } + leaf ether-type-number { + type uint16; + description + "Ethernet type Number"; + } + leaf vlan1 { + type uint16; + description + "VLAN ID/range lower limit"; + } + leaf vlan2 { + type uint16; + description + "VLAN ID range higher limit"; + } + leaf cos { + type uint8; + description + "COS value"; + } + leaf dei { + type uint8; + description + "DEI bit"; + } + leaf inner-header-vlan1 { + type uint16; + description + "Inner header VLAN ID/range lower limit"; + } + leaf inner-header-vlan2 { + type uint16; + description + "Inner header VLAN ID range higher limit"; + } + leaf inner-header-cos { + type uint8; + description + "Inner header COS value"; + } + leaf inner-header-dei { + type uint8; + description + "Inner header DEI bit"; + } + leaf capture { + type boolean; + description + "Capture option, TRUE if enabled"; + } + leaf log-option { + type uint8; + description + "Log option"; + } + leaf remark { + type string; + description + "Remark string"; + } + leaf acl-name { + type string; + description + "Acl Name"; + } + leaf sequence-string { + type string; + description + "Sequence Sring"; + } + } + + grouping ES-ACL-EDM-OOR-DETAIL { + description + "Oor deatil config BAG"; + leaf current-configured-ac-ls { + type uint32; + description + "Current configured acls"; + } + leaf current-configured-ac-es { + type uint32; + description + "Current configured aces"; + } + leaf maximum-configurable-ac-ls { + type uint32; + description + "max configurable acls"; + } + leaf maximum-configurable-ac-es { + type uint32; + description + "max configurable aces"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper.yang new file mode 100644 index 000000000..3cc07efbe --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-es-acl-oper.yang @@ -0,0 +1,167 @@ +module Cisco-IOS-XR-es-acl-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-oper"; + prefix es-acl-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-common-acl-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-es-acl-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR es-acl package operational data. + + This module contains definitions + for the following management objects: + es-acl: Root class of ES ACL Oper schema tree + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Es-acl-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Es acl name"; + } + + container es-acl { + config false; + description + "Root class of ES ACL Oper schema tree"; + container active { + description + "Out Of Resources, Limits to the resources + allocatable"; + container oor { + description + "Out Of Resources, Limits to the resources + allocatable"; + container acl-summary { + description + "Resource Limits pertaining to ACLs only"; + container details { + description + "Details containing the resource limits of the + ACLs"; + uses ES-ACL-EDM-OOR-DETAIL; + } + } + container oor-acls { + description + "Resource occupation details for ACLs"; + list oor-acl { + key "name"; + description + "Resource occupation details for a particular + ACL"; + leaf name { + type Es-acl-name; + description + "Name of the Access List"; + } + uses ES-ACL-EDM-OOR-DETAIL; + } + } + } + container list { + description + "List containing ACLs"; + container acls { + description + "ACL class displaying Usage and Entries"; + list acl { + key "name"; + description + "Name of the Access List"; + container acl-sequence-numbers { + description + "Table of all the SequenceNumbers per ACL"; + list acl-sequence-number { + key "sequence-number"; + description + "Sequence Number of an ACL entry"; + leaf sequence-number { + type dt1:Acl-sequence-number-range; + description + "ACLEntry Sequence Number"; + } + uses ES-ACL-EDM-ACE; + } + } + leaf name { + type Es-acl-name; + description + "Name of the Access List"; + } + } + } + } + container usages { + description + "Table of Usage statistics of ACLs at different + nodes"; + list usage { + description + "Usage statistics of an ACL at a node"; + leaf location { + type xr:Node-id; + description + "Node where ACL is applied"; + } + leaf application-id { + type dt1:Acl-usage-app-id-enum; + description + "Application ID"; + } + leaf name { + type Es-acl-name; + description + "Name of the ACL"; + } + leaf usage-details { + type string; + mandatory true; + description + "Usage Statistics Details"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-act.yang new file mode 100644 index 000000000..0f598e90b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-act.yang @@ -0,0 +1,1536 @@ +module Cisco-IOS-XR-ethernet-cfm-act { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-act"; + prefix ethernet-cfm-act; + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet ping and traceroute actions. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-19 { + description + "IOS XR 7.4.1 revision."; + semver:module-version "1.0.0"; + } + + typedef cfm-version-type { + type uint8 { + range "0..31"; + } + description + "CFM protocol version"; + } + + typedef cfm-cos-type { + type uint8 { + range "0..7"; + } + description + "Class of Service value"; + } + + typedef cfm-exploratory-traceroute-reply-filter-type { + type enumeration { + enum "default" { + description + "Default Reply Filtering"; + } + enum "all-ports" { + description + "Request Replies from all ports"; + } + } + description + "Reply Filter for exploratory linktrace replies"; + } + + typedef Mac-address { + type yang:mac-address; + description + "MAC address type"; + } + + typedef Cfm-pm-lt-mode { + type enumeration { + enum "cfm-pm-lt-mode-basic" { + value 1; + description + "Basic IEEE 802.1ag Linktrace"; + } + enum "cfm-pm-lt-mode-exploratory" { + value 2; + description + "Cisco Exploratory Linktrace"; + } + } + description + "Type of Linktrace operation"; + } + + typedef Cfm-bag-optional-hex-data { + type yang:hex-string; + description + "Hex binary data which may be optionally present."; + } + + typedef Cfm-bag-optional-string { + type string; + description + "String which may be optionally present."; + } + + typedef Cfm-bag-md-level { + type enumeration { + enum "level0" { + value 0; + description + "CFM level 0"; + } + enum "level1" { + value 1; + description + "CFM level 1"; + } + enum "level2" { + value 2; + description + "CFM level 2"; + } + enum "level3" { + value 3; + description + "CFM level 3"; + } + enum "level4" { + value 4; + description + "CFM level 4"; + } + enum "level5" { + value 5; + description + "CFM level 5"; + } + enum "level6" { + value 6; + description + "CFM level 6"; + } + enum "level7" { + value 7; + description + "CFM level 7"; + } + } + description + "CFM level"; + } + + typedef Cfm-pm-elr-egress-action { + type enumeration { + enum "elr-egress-ok" { + value 1; + description + "Egress port is OK"; + } + enum "elr-egress-down" { + value 2; + description + "Egress port is down"; + } + enum "elr-egress-blocked" { + value 3; + description + "Egress port is STP Blocked"; + } + enum "elr-egress-vid" { + value 4; + description + "Egress port is VID Blocked"; + } + enum "elr-egress-mac" { + value 255; + description + "Egress port is MAC Pruned"; + } + } + description + "Egress actions used in the Reply Egress TLV"; + } + + typedef Cfm-pm-elr-ingress-action { + type enumeration { + enum "elr-ingress-ok" { + value 1; + description + "Ingress port is OK"; + } + enum "elr-ingress-down" { + value 2; + description + "Ingress port is down"; + } + enum "elr-ingress-blocked" { + value 3; + description + "Ingress port is STP Blocked"; + } + enum "elr-ingress-vid" { + value 4; + description + "Ingress port is VID Blocked"; + } + } + description + "Ingress actions used in the Reply Ingress TLV"; + } + + typedef Cfm-pm-elr-relay-action { + type enumeration { + enum "elr-relay-hit" { + value 1; + description + "ELR target Hit"; + } + enum "elr-relay-fdb" { + value 2; + description + "ELR forwarded by filtering database"; + } + enum "elr-relay-flood" { + value 3; + description + "ELR has been flood forwarded"; + } + enum "elr-relay-drop" { + value 4; + description + "ELR has been ropped"; + } + } + description + "ELR Relay actions, used in ELRs"; + } + + typedef Cfm-pm-last-hop-fmt { + type enumeration { + enum "last-hop-none" { + description + "No last hop identifier"; + } + enum "last-hop-host-name" { + description + "Last hop identifier is a hostname"; + } + enum "last-hop-egress-id" { + description + "Last hop identifier is an egress ID"; + } + } + description + "Last hop identifier format"; + } + + typedef Cfm-pm-egress-action { + type enumeration { + enum "egress-ok" { + value 1; + description + "Egress port is OK"; + } + enum "egress-down" { + value 2; + description + "Egress port is down"; + } + enum "egress-blocked" { + value 3; + description + "Egress port is STP Blocked"; + } + enum "egress-vid" { + value 4; + description + "Egress port is VID Blocked"; + } + } + description + "Egress action"; + } + + typedef Cfm-pm-port-id-fmt { + type enumeration { + enum "port-id-interface-alias" { + value 1; + description + "Port ID is an interface alias"; + } + enum "port-id-port-component" { + value 2; + description + "Port ID is a component name"; + } + enum "port-id-mac-address" { + value 3; + description + "Port ID is a MAC address"; + } + enum "port-id-network-address" { + value 4; + description + "Port ID is a network address"; + } + enum "port-id-interface-name" { + value 5; + description + "Port ID is an interface name"; + } + enum "port-id-agent-circuit-id" { + value 6; + description + "Port ID is an agent name"; + } + enum "port-id-local" { + value 7; + description + "Port ID is a local name"; + } + enum "port-id-unknown" { + value 8; + description + "Port ID format unknown"; + } + } + description + "Port ID format"; + } + + typedef Cfm-pm-ingress-action { + type enumeration { + enum "ingress-ok" { + value 1; + description + "Ingress port is OK"; + } + enum "ingress-down" { + value 2; + description + "Ingress port is down"; + } + enum "ingress-blocked" { + value 3; + description + "Ingress port is STP Blocked"; + } + enum "ingress-vid" { + value 4; + description + "Ingress port is VID Blocked"; + } + } + description + "Ingress actions used in the Reply Ingress TLV"; + } + + typedef Cfm-pm-id-fmt { + type enumeration { + enum "id-format-is-string" { + value 0; + description + "ID format is a string"; + } + enum "id-format-is-mac-address" { + value 1; + description + "ID format is a MAC address"; + } + enum "id-format-is-raw-hex" { + value 2; + description + "ID format is raw hex"; + } + } + description + "Port or chassis ID format"; + } + + typedef Cfm-pm-chassis-id-fmt { + type enumeration { + enum "chassis-id-chassis-component" { + value 1; + description + "Chassis ID is a component name"; + } + enum "chassis-id-interface-alias" { + value 2; + description + "Chassis ID is an interface alias"; + } + enum "chassis-id-port-component" { + value 3; + description + "Chassis ID is a port component name"; + } + enum "chassis-id-mac-address" { + value 4; + description + "Chassis ID is a MAC address"; + } + enum "chassis-id-network-address" { + value 5; + description + "Chassis ID is a network address"; + } + enum "chassis-id-interface-name" { + value 6; + description + "Chassis ID is an interface name"; + } + enum "chassis-id-local" { + value 7; + description + "Chassis ID is a local name"; + } + enum "chassis-id-unknown-type" { + value 8; + description + "Unknown Chassis ID type"; + } + } + description + "Chassis ID type"; + } + + typedef Cfm-pm-relay-action { + type enumeration { + enum "relay-hit" { + value 1; + description + "LTR target Hit"; + } + enum "relay-fdb" { + value 2; + description + "LTR forwarded by filtering database"; + } + enum "relay-mpdb" { + value 3; + description + "LTR forwarded by CCM Learning database"; + } + } + description + "LTR relay action"; + } + + typedef Cfm-pm-elm-reply-filter { + type enumeration { + enum "reply-filter-not-present" { + value 0; + description + "Reply Filter not present"; + } + enum "reply-filter-default" { + value 1; + description + "Reply from ports which are not MAC-pruned, + VID-pruned, or STP-blocked"; + } + enum "reply-filter-vlan-topology" { + value 2; + description + "Reply from ports which are not VID-pruned or + STP-blocked"; + } + enum "reply-filter-spanning-tree" { + value 3; + description + "Reply from ports which are not STP-blocked"; + } + enum "reply-filter-all-ports" { + value 4; + description + "Reply from all ports"; + } + } + description + "Reply filter used for Exploratory Linktrace + operations. Most of these values can't be returned alias + cfm-exploratory-traceroute-reply-filter-type is used as input"; + } + + typedef Cfm-pm-elt-delay-model { + type enumeration { + enum "delay-model-invalid" { + value 0; + description + "Not a valid delay model"; + } + enum "delay-model-logarithmic" { + value 1; + description + "Reply using logarithmic delay model"; + } + enum "delay-model-constant" { + value 2; + description + "Reply using constant delay model"; + } + } + description + "Delay model used for Exploratory Linktrace + operations"; + } + + grouping CFM-PM-EGRESS-ID-TYPE { + description + "Egress ID"; + leaf unique-id { + type uint16; + mandatory true; + description + "Egress port unique ID"; + } + leaf mac-address { + type Mac-address; + mandatory true; + description + "Egress port MAC address"; + } + } + + grouping CFM-PM-PORT-ID-VAL { + description + "Port ID Value"; + leaf port-id-format { + type Cfm-pm-id-fmt; + mandatory true; + description + "Format that the port ID takes: string, MAC or raw"; + } + leaf port-id-string { + when "../port-id-format = 'id-format-is-string'" { + description + "Identify port by string"; + } + type Cfm-bag-optional-string; + mandatory true; + description + "Port ID String"; + } + leaf port-id-mac { + when "../port-id-format = 'id-format-is-mac-address'" { + description + "Identify port by MAC address"; + } + type Mac-address; + mandatory true; + description + "Port ID MAC Address"; + } + leaf port-id-raw { + when "../port-id-format != 'id-format-is-string' and ../port-id-format != 'id-format-is-mac-address'" { + description + "Identify port"; + } + type Cfm-bag-optional-hex-data; + mandatory true; + description + "Undecoded Port ID"; + } + } + + grouping CFM-PM-PORT-ID { + description + "The type of port ID and its format and value"; + container port-id-value { + description + "Port ID (Current)"; + uses CFM-PM-PORT-ID-VAL; + } + leaf port-id-type { + type Cfm-pm-port-id-fmt; + mandatory true; + description + "Port ID type"; + } + leaf port-id-type-value { + type uint8; + mandatory true; + description + "Port ID type numerical value"; + } + leaf port-id { + type yang:hex-string; + status deprecated; + description + "Port ID (Deprecated)"; + } + } + + grouping CFM-PM-ELR-REPLY-EGRESS { + description + "ELR Reply egress TLV"; + container last-egress-id { + description + "Last Egress ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.3"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container next-egress-id { + description + "Next Egress ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.4"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container port-id { + presence "true"; + description + "ELR egress port ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.13"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-elr-egress-action; + mandatory true; + description + "Reply egress action"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.10"; + } + leaf mac-address { + type Mac-address; + mandatory true; + description + "MAC address of egress interface"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.11"; + } + } + + grouping CFM-PM-ELR-REPLY-INGRESS { + description + "ELR Reply ingress TLV"; + container last-egress-id { + description + "Last egress ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.3"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container next-egress-id { + description + "Next egress ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.4"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container port-id { + presence "true"; + description + "ELR reply ingress port ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.9"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-elr-ingress-action; + mandatory true; + description + "ELR Reply ingress action"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.6"; + } + leaf mac-address { + type Mac-address; + mandatory true; + description + "MAC address"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.7"; + } + } + + grouping CFM-PM-ELR-HDR { + description + "ELR frame header"; + leaf level { + type Cfm-bag-md-level; + mandatory true; + description + "MD level"; + } + leaf version { + type cfm-version-type; + mandatory true; + description + "CFM protocol version"; + } + leaf forwarded { + type boolean; + mandatory true; + description + "ELR was forwarded"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.1"; + } + leaf terminal-mep { + type boolean; + mandatory true; + description + "Terminal MEP reached"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.1"; + } + leaf reply-filter-unknown { + type boolean; + mandatory true; + description + "Reply Filter unrecognized"; + } + leaf transaction-id { + type uint32; + mandatory true; + description + "ELR transaction ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.1"; + } + leaf ttl { + type uint8; + mandatory true; + description + "Time to Live"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.2"; + } + leaf relay-action { + type Cfm-pm-elr-relay-action; + mandatory true; + description + "Relay action"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.5"; + } + leaf next-hop-timeout { + type uint32; + units "second"; + mandatory true; + description + "Next Hop Timeout, in seconds"; + } + leaf delay-model { + type Cfm-pm-elt-delay-model; + mandatory true; + description + "Delay model for delay calculations"; + reference "IEEE 802.1Q-2018 Fig N-2"; + } + } + + grouping CFM-PM-CHASSIS-ID-VAL { + description + "Chassis ID Value"; + leaf chassis-id-format { + type Cfm-pm-id-fmt; + mandatory true; + description + "ChassisIDFormat"; + } + leaf chassis-id-string { + when "../chassis-id-format = 'id-format-is-string'" { + description + "Identify chassis by string"; + } + type Cfm-bag-optional-string; + mandatory true; + description + "Chassis ID String"; + } + leaf chassis-id-mac { + when "../chassis-id-format = 'id-format-is-mac-address'" { + description + "Identify chassis by MAC address"; + } + type Mac-address; + mandatory true; + description + "Chassis ID MAC Address"; + } + leaf chassis-id-raw { + when "../chassis-id-format != 'id-format-is-string' and ../chassis-id-format != 'id-format-is-mac-address'" { + description + "Identify chassis"; + } + type Cfm-bag-optional-hex-data; + mandatory true; + description + "Undecoded Chassis ID"; + } + } + + grouping CFM-PM-CHASSIS-ID { + description + "Chassis ID type, format and value"; + container chassis-id-value { + description + "Chassis ID (Current)"; + uses CFM-PM-CHASSIS-ID-VAL; + } + leaf chassis-id-type { + type Cfm-pm-chassis-id-fmt; + mandatory true; + description + "Chassis ID Type"; + } + leaf chassis-id-type-value { + type uint8; + mandatory true; + description + "Chassis ID numerical value Type"; + } + leaf chassis-id { + type yang:hex-string; + status deprecated; + description + "Chassis ID (Deprecated)"; + } + } + + grouping CFM-PM-SENDER-ID { + description + "Sender ID TLV"; + container chassis-id { + presence "true"; + description + "Sender chassis ID"; + reference "IEEE 802.1Q-2018 Sn 21.5.3.3"; + uses CFM-PM-CHASSIS-ID; + } + leaf management-address-domain { + type yang:hex-string; + description + "Management address domain"; + reference "IEEE 802.1Q-2018 Sn 21.5.3.5"; + } + leaf management-address { + type yang:hex-string; + must "../management-address-domain"; + description + "Management address"; + reference "IEEE 802.1Q-2018 Sn 21.5.3.7"; + } + } + + grouping CFM-PM-LAST-HOP { + description + "Last hop type"; + container egress-id { + when "../last-hop-format = 'last-hop-egress-id'" { + description + "Identify last hop by egress id"; + } + description + "Egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + leaf last-hop-format { + type Cfm-pm-last-hop-fmt; + mandatory true; + description + "Format last hop identifier takes"; + } + leaf host-name { + when "../last-hop-format = 'last-hop-host-name'" { + description + "Identify last hop by hostname"; + } + type Cfm-bag-optional-string; + mandatory true; + description + "Identify last hop by hostname"; + } + } + + grouping CFM-PM-UNKNOWN-TLV { + description + "Unknown TLV"; + leaf typecode { + type uint8; + mandatory true; + description + "Type code of TLV"; + } + leaf value { + type yang:hex-string; + description + "Binary data in TLV"; + } + } + + grouping CFM-PM-ORG-SPEC-TLV { + description + "Organizational-specific TLV"; + leaf oui { + type yang:hex-string; + mandatory true; + description + "Organizationally-unique ID"; + } + leaf subtype { + type uint8; + mandatory true; + description + "Subtype of TLV"; + } + leaf value { + type yang:hex-string; + description + "Binary data in TLV"; + } + } + + grouping CFM-PM-ELR { + description + "Exploratory Linktrace Reply (ELR) message "; + container header { + description + "ELR frame header"; + uses CFM-PM-ELR-HDR; + } + container sender-id { + presence "ELR contained a sender-id TLV"; + description + "Sender ID TLV"; + uses CFM-PM-SENDER-ID; + } + container reply-ingress { + presence "Indicates existence of reply ingress TLV"; + description + "Reply ingress TLV"; + uses CFM-PM-ELR-REPLY-INGRESS; + } + container reply-egress { + presence "Indicates existence of reply egress TLV"; + description + "Reply egress TLV"; + uses CFM-PM-ELR-REPLY-EGRESS; + } + container last-hop { + description + "Last hop ID"; + uses CFM-PM-LAST-HOP; + } + leaf raw-data { + type yang:hex-string; + mandatory true; + description + "Undecoded frame"; + } + list organization-specific-tlv { + description + "Organizational-specific TLVs"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.15"; + uses CFM-PM-ORG-SPEC-TLV; + } + list unknown-tlv { + description + "Unknown TLVs"; + uses CFM-PM-UNKNOWN-TLV; + } + } + + grouping CFM-PM-REPLY-EGRESS { + description + "Reply egress TLV"; + container port-id { + description + "Port ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.13"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-egress-action; + mandatory true; + description + "Reply egress action"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.10"; + } + leaf mac-address { + type Mac-address; + mandatory true; + description + "Reply egress MAC address"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.11"; + } + } + + grouping CFM-PM-REPLY-INGRESS { + description + "Reply ingress TLV"; + container port-id { + description + "Port ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.9"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-ingress-action; + mandatory true; + description + "Reply ingress action"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.6"; + } + leaf mac-address { + type Mac-address; + mandatory true; + description + "Reply ingress MAC address"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.7"; + } + } + + grouping CFM-PM-LTR-EGRESS-ID { + description + "LTR Egress ID TLV"; + container last-egress-id { + description + "Last egress ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.3"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container next-egress-id { + description + "Next egress ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.4"; + uses CFM-PM-EGRESS-ID-TYPE; + } + } + + grouping CFM-PM-LTR-HDR { + description + "LTR frame header"; + leaf level { + type Cfm-bag-md-level; + mandatory true; + description + "LTR MD level"; + } + leaf version { + type cfm-version-type; + mandatory true; + description + "CFM protocol version"; + } + leaf use-fdb-only { + type boolean; + mandatory true; + description + "Use filtering DB only"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.1"; + } + leaf forwarded { + type boolean; + mandatory true; + description + "LTR was forwarded"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.1"; + } + leaf terminal-mep { + type boolean; + mandatory true; + description + "Terminal MEP reached"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.1"; + } + leaf transaction-id { + type uint32; + mandatory true; + description + "Transaction ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.1"; + } + leaf ttl { + type uint8; + mandatory true; + description + "Time to live"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.2"; + } + leaf relay-action { + type Cfm-pm-relay-action; + mandatory true; + description + "Relay action for the LTR"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.5"; + } + } + + grouping CFM-PM-LTR { + description + "Linktrace reply (LTR) message "; + container header { + description + "LTR frame header"; + uses CFM-PM-LTR-HDR; + } + container sender-id { + presence "Indicates LTR contained a sender-id TLV"; + description + "Sender ID TLV"; + uses CFM-PM-SENDER-ID; + } + container egress-id { + presence "Indicates LTR contains an egress ID TLV"; + description + "Egress ID TLV"; + uses CFM-PM-LTR-EGRESS-ID; + } + container reply-ingress { + presence "Indicates existence of reply ingress TLV"; + description + "Reply ingress TLV"; + uses CFM-PM-REPLY-INGRESS; + } + container reply-egress { + presence "Indicates existence of reply egress TLV"; + description + "Reply egress TLV"; + uses CFM-PM-REPLY-EGRESS; + } + container last-hop { + description + "Last hop ID"; + uses CFM-PM-LAST-HOP; + } + leaf raw-data { + type yang:hex-string; + mandatory true; + description + "Undecoded frame"; + } + list organization-specific-tlv { + description + "Organizational-specific TLVs"; + reference "IEEE 802.1Q-2018 Sn 20.41.2.15"; + uses CFM-PM-ORG-SPEC-TLV; + } + list unknown-tlv { + description + "Unknown TLVs"; + uses CFM-PM-UNKNOWN-TLV; + } + } + + grouping CFM-PM-LT-OPTS-EXPLORATORY { + description + "options for an Exploratory Linktrace"; + leaf delay-model { + type Cfm-pm-elt-delay-model; + mandatory true; + description + "Delay model for delay calculations"; + } + leaf delay-constant-factor { + type uint32; + mandatory true; + description + "Constant Factor for delay calculations"; + } + leaf reply-filter { + type Cfm-pm-elm-reply-filter; + mandatory true; + description + "Reply Filtering mode used by responders"; + } + } + + grouping CFM-PM-LT-OPTS-BASIC { + description + "Options for a basic IEEE 802.1ag Linktrace used in response"; + leaf is-auto { + type boolean; + mandatory true; + description + "Traceroute was initiated automatically"; + } + leaf fdb-only { + type boolean; + mandatory true; + description + "Only use the Filtering Database for forwarding + lookups"; + } + } + + grouping CFM-PM-LT-OPTS { + description + "Options affecting the behavior of the traceroute"; + container basic-options { + when "../mode = 'cfm-pm-lt-mode-basic'" { + description + "Use basic options"; + } + description + "Options for a basic IEEE 802.1ag Linktrace"; + uses CFM-PM-LT-OPTS-BASIC; + } + container exploratory-options { + when "../mode = 'cfm-pm-lt-mode-exploratory'" { + description + "Use exploratory options"; + } + description + "Options for an Exploratory Linktrace"; + uses CFM-PM-LT-OPTS-EXPLORATORY; + } + leaf mode { + type Cfm-pm-lt-mode; + mandatory true; + description + "Which linktrace mode to use: exploratory or basic"; + } + } + + grouping CFM-PM-LT-INFO { + description + "Information about a traceroute request used in response"; + container options { + description + "Options affecting traceroute behavior"; + uses CFM-PM-LT-OPTS; + } + leaf domain { + type string; + mandatory true; + description + "Maintenance domain name"; + } + leaf service { + type string; + mandatory true; + description + "Service name"; + } + leaf level { + type Cfm-bag-md-level; + mandatory true; + description + "Maintenance level"; + } + leaf source-mep-id { + type uint16 { + range "1..8191"; + } + mandatory true; + description + "Source MEP ID"; + } + leaf source-interface { + type xr:Interface-name; + mandatory true; + description + "Source interface"; + } + leaf source-mac-address { + type Mac-address; + mandatory true; + description + "Source MAC address"; + } + leaf target-mac-address { + type Mac-address; + mandatory true; + description + "Target MAC address"; + } + leaf directed-mac-address { + type Mac-address; + description + "Directed MAC address"; + } + leaf target-mep-id { + type uint16 { + range "1..8191"; + } + mandatory true; + description + "Target MEP ID"; + } + leaf timestamp { + type uint64; + units "second"; + mandatory true; + description + "Timestamp when linktrace initiated (seconds since epoch))"; + } + leaf ttl { + type uint8; + mandatory true; + description + "Time to live"; + } + leaf transaction-id { + type uint32; + mandatory true; + description + "Transaction ID"; + reference "IEEE 802.1Q-2018 Sn 20.41.1"; + } + } + + grouping CFM-PM-MEP-TR-CACHE-BAG { + description + "Traceroute result output"; + container traceroute-information { + description + "Information about the traceroute operation"; + uses CFM-PM-LT-INFO; + } + leaf replies-dropped { + type uint32; + mandatory true; + description + "Count of ignored replies for this request"; + } + list linktrace-reply { + description + "Received linktrace replies"; + uses CFM-PM-LTR; + } + list exploratory-linktrace-reply { + description + "Received exploratory linktrace replies"; + uses CFM-PM-ELR; + } + } + + grouping TRACEROUTE-PING-CFM-INFO-TYPE { + description + "CFM domain and service specification"; + leaf domain { + type string; + mandatory true; + description + "Specify name of domain"; + } + leaf service { + type string; + mandatory true; + description + "Specify name of service"; + } + } + + grouping TRACEROUTE-PING-REMOTE-TARGET-TYPE { + description + "Information on remote session target"; + leaf mac { + type yang:mac-address; + description + "Target MAC address"; + } + leaf target-mep-id { + type uint16 { + range "1..8191"; + } + description + "Target MEP ID"; + } + } + + grouping TRACEROUTE-PING-SOURCE-TYPE { + description + "Specify ping or traceroute source"; + leaf source-mep-id { + type uint16 { + range "1..8191"; + } + description + "Specify source MEP"; + } + leaf source-interface-name { + type string; + mandatory true; + description + "Specify source interface"; + } + } + + rpc traceroute-ethernet-cfm { + description + "Send a linktrace message"; + input { + must "target-mep-id or mac"; + uses TRACEROUTE-PING-CFM-INFO-TYPE; + uses TRACEROUTE-PING-REMOTE-TARGET-TYPE; + uses TRACEROUTE-PING-SOURCE-TYPE; + leaf explore { + type boolean; + description + "Perform an exploratory traceroute"; + } + leaf from { + type yang:mac-address; + must "../explore and ../explore = 'true'"; + description + "MAC address to explore beyond"; + } + leaf reply_filter { + type cfm-exploratory-traceroute-reply-filter-type; + must "not(../explore) or ../explore = 'false'"; + description + "Replay filtering on all ports.Only specify if Explore is FALSE"; + } + leaf cos { + type cfm-cos-type; + description + "Class of Service"; + } + leaf timeout { + type uint32 { + range "1..31535999"; + } + units "seconds"; + default "5"; + description + "Seconds to wait for each response"; + } + leaf fdb_only { + type boolean; + must "not(../explore) or ../explore = 'false'"; + description + "Replies based on Filtering DB. Only specify if Explore is FALSE"; + } + leaf ttl { + type uint16 { + range "1..255"; + } + default "64"; + description + "Specify the initial TTL"; + } + } + output { + uses CFM-PM-MEP-TR-CACHE-BAG; + } + xr:xr-task "ethernet-services"; + } + rpc ping-ethernet-cfm { + description + "Initiate a ping operation"; + input { + must "target-mep-id or mac"; + uses TRACEROUTE-PING-CFM-INFO-TYPE; + uses TRACEROUTE-PING-REMOTE-TARGET-TYPE; + uses TRACEROUTE-PING-SOURCE-TYPE; + leaf interval { + type uint32 { + range "1..4294967295"; + } + units "seconds"; + default "1"; + description + "Interval between ping messages (seconds)"; + } + leaf timeout { + type uint32 { + range "1..2147483647"; + } + units "seconds"; + default "5"; + description + "Timeout for each ping response (seconds)"; + } + leaf count { + type uint32 { + range "1..1000000"; + } + default "5"; + description + "Number of ping messages to send"; + } + leaf data-length { + type uint16 { + range "22..10000"; + } + units "bytes"; + description + "Minimum size to pad ping frame to, in bytes"; + } + leaf data-pattern { + type yang:hex-string; + description + "Pattern of hexadecimal data to include."; + } + leaf cos { + type cfm-cos-type; + description + "Class of Service"; + } + } + output { + leaf lbrs-rcvd { + type uint32; + mandatory true; + description + "Number of loopback replies received"; + reference "IEEE 802.1Q-2018 Sn 20.30.7"; + } + leaf lbrs-out-of-sequence { + type uint32; + mandatory true; + description + "Number of loopback replies received out-of-sequence"; + } + leaf lbrs-bad-data { + type uint32; + mandatory true; + description + "Number of loopback rpls rcvd with non-matching user-specified data"; + } + leaf rtt-min { + type uint32; + units "milliseconds"; + mandatory true; + description + "Minimum round-trip time (in milliseconds)"; + } + leaf rtt-avg { + type uint32; + units "milliseconds"; + mandatory true; + description + "Average round-trip time (in milliseconds)"; + } + leaf rtt-max { + type uint32; + units "milliseconds"; + mandatory true; + description + "Maximum round-trip time (in milliseconds)"; + } + leaf rcvd-duration { + type uint32; + units "milliseconds"; + mandatory true; + description + "Time between first and last loopback replies received (in ms)"; + } + } + xr:xr-task "ethernet-services"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-cfg.yang new file mode 100644 index 000000000..c971b16c0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-cfg.yang @@ -0,0 +1,1161 @@ +module Cisco-IOS-XR-ethernet-cfm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-cfg"; + prefix ethernet-cfm-cfg; + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ethernet-cfm-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-infra-sla-datatypes { + prefix dt2; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-l2-eth-infra-cfg { + prefix a2; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a3; + } + import Cisco-IOS-XR-infra-sla-cfg { + prefix a4; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-cfm package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-l2-eth-infra-cfg, + Cisco-IOS-XR-snmp-agent-cfg, + Cisco-IOS-XR-infra-sla-cfg + modules with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-03 { + description + "Added log-csf config option."; + semver:module-version "2.1.1m"; + } + revision 2020-10-07 { + description + "Added the Link Loss Forwarding feature."; + semver:module-version "2.1.0"; + } + revision 2019-10-02 { + description + "Add config support for bandwidth notifications"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-07-27 { + description + "Made bins-width mandatory"; + } + revision 2017-10-06 { + description + "SLA thresholds and actions schema/yang added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Cfm-mip-policy { + type enumeration { + enum "all" { + value 2; + description + "Create MIPs on all ports in the Bridge Domain + or Cross-connect"; + } + enum "lower-mep-only" { + value 3; + description + "Create MIPs on ports which have a MEP at a + lower level"; + } + } + description + "Cfm mip policy"; + } + + typedef Cfm-service { + type enumeration { + enum "bridge-domain" { + value 1; + description + "Use a Bridge Domain - all MEPs will be Up MEPs + and MIPs are permitted"; + } + enum "p2p-cross-connect" { + value 2; + description + "Use a P2P Cross Connect - all MEPs will be Up + MEPs and MIPs are permitted"; + } + enum "mp2mp-cross-connect" { + value 3; + description + "Use a MP2MP Cross Connect - all MEPs will be Up + MEPs and MIPs are permitted"; + } + enum "vlan-aware-flexible-cross-connect" { + value 4; + description + "Use a VLAN-aware Flexible Cross Connect - all + MEPs will be Up MEPs and MIPs are permitted"; + } + enum "vlan-unaware-flexible-cross-connect" { + value 5; + description + "Use a VLAN-unaware Flexible Cross Connect - all + MEPs will be Up MEPs and MIPs are permitted"; + } + enum "down-meps" { + value 6; + description + "Down MEPs - no MIPs permitted"; + } + } + description + "Cfm service"; + } + + typedef Cfm-short-ma-name-format { + type enumeration { + enum "vlan-id" { + value 1; + description + "VLAN ID"; + } + enum "string" { + value 2; + description + "String Short MA Name"; + } + enum "number" { + value 3; + description + "Numeric Short MA Name"; + } + enum "vpn-id" { + value 4; + description + "RFC 2685 VPN ID"; + } + enum "icc-based" { + value 32; + description + "ICC-based format"; + } + } + description + "Cfm short ma name format"; + } + + typedef Cfm-lm-counters-cfg { + type enumeration { + enum "aggregate" { + value 1; + description + "Aggregate Counters"; + } + enum "list" { + value 2; + description + "List of per-CoS counters"; + } + enum "range" { + value 3; + description + "Range of per-CoS counters"; + } + } + description + "Cfm lm counters cfg"; + } + + typedef Cfm-mdid-format { + type enumeration { + enum "null" { + value 1; + description + "Null MDID"; + } + enum "dns-like" { + value 2; + description + "DNS-like MDID"; + } + enum "mac-address" { + value 3; + description + "MDID Comprising MAC Address and 16-bit integer"; + } + enum "string" { + value 4; + description + "String MDID"; + } + } + description + "Cfm mdid format"; + } + + augment "/a4:sla/a4:protocols" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-sla-cfg'"; + container ethernet { + description + "The Ethernet SLA protocol"; + container profiles { + description + "Table of SLA profiles on the protocol"; + list profile { + key "profile-name"; + description + "Name of the profile"; + container statistics { + description + "Statistics configuration for the SLA profile"; + list statistic { + key "statistic-name"; + description + "Type of statistic"; + container buckets-size { + presence "Indicates a buckets-size node is configured."; + description + "Size of the buckets into which statistics + are collected"; + leaf buckets-size { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Size of each bucket"; + } + leaf buckets-size-unit { + type dt2:Sla-buckets-size-units-enum; + mandatory true; + description + "Unit associated with the BucketsSize"; + } + } + container actions { + description + "Thresholds and associated actions for the + given statistics type"; + list action { + key "threshold-type action-type condition"; + description + "Action to perform when the threshold is + crossed"; + leaf threshold-type { + type dt2:Sla-threshold-type-enum; + description + "Threshold type"; + } + leaf action-type { + type dt1:Sla-action-type-enum; + description + "Action to take when the threshold is + crossed"; + } + leaf condition { + type dt2:Sla-threshold-condition-enum; + description + "Condition to be met to consider the + threshold crossed"; + } + leaf threshold-value { + type uint32 { + range "1..2147483647"; + } + mandatory true; + description + "Threshold Value"; + } + leaf bin-number { + type uint32 { + range "2..100"; + } + description + "Bin number in-and-above which samples + contribute towards a sample-count + threshold (required only when Condition + is SampleCount)"; + } + } + } + container aggregation { + description + "Aggregation to apply to results for the + statistic"; + leaf bins-count { + type uint32 { + range "0..100"; + } + description + "Number of bins to aggregate results into + (0 for no aggregation)"; + } + leaf bins-width { + when "../bins-count != 0" { + description + "../BinsCount != 0"; + } + type uint32 { + range "1..10000"; + } + description + "Width of each bin"; + } + leaf bins-width-tenths { + type uint32 { + range "0..9"; + } + description + "Tenths portion of the bin width"; + } + } + leaf enable { + type empty; + description + "Enable statistic gathering of the metric"; + } + leaf buckets-archive { + type uint32 { + range "1..100"; + } + description + "Number of buckets to archive in memory"; + } + leaf statistic-name { + type dt2:Sla-statistic-type-enum; + description + "The type of statistic to measure"; + } + } + } + container schedule { + presence "Indicates a schedule node is configured."; + description + "Schedule to use for probes within an + operation"; + leaf probe-interval { + type uint32 { + range "1..90"; + } + description + "Interval between probes. This must be + specified if, and only if, ProbeIntervalUnit + is not 'Week' or 'Day'."; + } + leaf probe-interval-day { + type dt2:Sla-probe-interval-day-enum; + description + "Day of week on which to schedule probes. + This must be specified if, and only if, + ProbeIntervalUnit is 'Week'."; + } + leaf probe-interval-unit { + type dt2:Sla-probe-interval-units-enum; + mandatory true; + description + "Time unit associated with the ProbeInterval. + The value must not be 'Once'. If 'Week' or + 'Day' is specified, probes are scheduled + weekly or daily respectively."; + } + leaf start-time-hour { + type uint32 { + range "0..23"; + } + description + "Time after midnight (in UTC) to send the + first packet each day."; + } + leaf start-time-minute { + type uint32 { + range "0..59"; + } + description + "Time after midnight (in UTC) to send the + first packet each day. This must be + specified if, and only if, StartTimeHour is + specified."; + } + leaf start-time-second { + type uint32 { + range "0..59"; + } + description + "Time after midnight (in UTC) to send the + first packet each day. This must only be + specified if StartTimeHour is specified, and + must not be specified if ProbeIntervalUnit + is 'Week' or 'Day'."; + } + leaf probe-duration { + type uint32 { + range "1..3600"; + } + description + "Duration of each probe. This must be + specified if, and only if, ProbeDurationUnit + is specified."; + } + leaf probe-duration-unit { + type dt2:Sla-probe-duration-units-enum; + description + "Time unit associated with the ProbeDuration. + The value must not be 'Once'."; + } + } + container probe { + description + "Probe configuration for the SLA profile"; + container send { + presence "Indicates a send node is configured."; + description + "Schedule to use for packets within a burst. + The default value is to send a single packet + once."; + leaf burst-interval { + type uint32 { + range "1..3600"; + } + description + "Interval between bursts. This must be + specified if, and only if, the SendType is + 'Burst' and the 'BurstIntervalUnit' is not + 'Once'."; + } + leaf burst-interval-unit { + type dt2:Sla-burst-interval-units-enum; + description + "Time unit associated with the BurstInterval + . This must be specified if, and only if, + SendType is 'Burst'."; + } + leaf packet-interval { + type uint32 { + range "1..30000"; + } + description + "Interval between packets. This must be + specified if, and only if, + PacketIntervalUnit is not 'Once'."; + } + leaf packet-interval-unit { + type dt2:Sla-packet-interval-units-enum; + mandatory true; + description + "Time unit associated with the + PacketInterval"; + } + leaf packet-count { + type uint32 { + range "2..1200"; + } + description + "The number of packets in each burst. This + must be specified if, and only if, the + SendType is 'Burst'."; + } + leaf send-type { + type dt2:Sla-send; + mandatory true; + description + "The packet distribution: single packets or + bursts of packets. If 'Burst' is specified + , PacketCount and BurstInterval must be + specified."; + } + } + container packet-size-and-padding { + presence "Indicates a packet-size-and-padding node is configured."; + description + "Minimum size to pad outgoing packet to"; + leaf size { + type uint32 { + range "1..9000"; + } + mandatory true; + description + "Minimum size to pad outgoing packet to"; + } + leaf padding-type { + type dt2:Sla-padding-pattern; + description + "Type of padding to be used for the packet"; + } + leaf padding-value { + type xr:Hex-integer; + description + "Pattern to be used for hex padding. This + can be specified if, and only if, the + PaddingType is 'Hex'."; + } + } + leaf priority { + type uint32 { + range "0..7"; + } + description + "Priority class to assign to outgoing SLA + packets"; + } + leaf synthetic-loss-calculation-packets { + type uint32 { + range "10..12096000"; + } + description + "Number of packets to use in each FLR + calculation"; + } + } + leaf packet-type { + type string; + mandatory true; + description + "The possible packet types are cfm-loopback, + cfm-delay-measurement, + cfm-delay-measurement-version-0, + cfm-loss-measurement and + cfm-synthetic-loss-measurement"; + } + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration/a2:ethernet-features" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2-eth-infra-cfg'"; + container cfm { + description + "CFM interface configuration"; + container domains { + description + "Domain-specific interface configuration"; + list domain { + key "domain"; + description + "Configuration for a particular Maintenance + Domain"; + container mep { + description + "MEP Configuration"; + container sla-profile-target-mep-ids { + description + "SLA specific configuration"; + list sla-profile-target-mep-id { + key "profile target-mep-id"; + description + "Configuration for a particular SLA + operation"; + leaf profile { + type xr:Cisco-ios-xr-string; + description + "SLA profile name"; + } + leaf target-mep-id { + type dt1:Cfm-mep-id; + description + "Target MEP-ID"; + } + } + list sla-profile-target-mac-address { + key "profile target-mac-address"; + description + "Configuration for a particular SLA + operation"; + leaf profile { + type xr:Cisco-ios-xr-string; + description + "SLA profile name"; + } + leaf target-mac-address { + type yang:mac-address; + description + "Target MAC address"; + } + } + } + container mep-properties { + presence "Indicates a mep-properties node is configured."; + description + "Properties for this MEP"; + leaf service { + type string { + length "1..127"; + } + mandatory true; + description + "Service (Maintenance Association)"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + mandatory true; + description + "MEP ID"; + } + } + container loss-measurement-counters { + presence "Indicates a loss-measurement-counters node is configured."; + description + "Loss-measurement specific configuration"; + leaf cfg-type { + type Cfm-lm-counters-cfg; + mandatory true; + description + "Aggregate, List, or Range"; + } + leaf cos0 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - start of + range or list item"; + } + leaf cos1 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - end of + range or list item"; + } + leaf cos2 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - list item"; + } + leaf cos3 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - list item"; + } + leaf cos4 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - list item"; + } + leaf cos5 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - list item"; + } + leaf cos6 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - list item"; + } + leaf cos7 { + type dt1:Cfm-cos-bits; + description + "CoS bits for per-CoS counters - list item"; + } + } + leaf llf { + type empty; + description + "Enable interface TX-disable on remote fault + detection for this MEP"; + } + leaf cos { + type dt1:Cfm-cos-bits; + description + "The Class of Service bits for this MEP"; + } + } + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + } + } + container ais-up { + description + "Interface specific AIS configuration"; + container transmission { + presence "enable transmission"; + description + "AIS transmission configuration"; + leaf ais-interval { + type dt1:Cfm-ais-interval; + description + "AIS Interval"; + } + leaf cos { + type dt1:Cfm-cos-bits; + description + "Class of Service bits"; + } + } + } + container bandwidth-notifications { + description + "Bandwidth Notification configuration"; + leaf wait-to-restore { + type dt1:Cfm-bnm-wtr; + default "10"; + description + "Wait-to-restore time (in seconds)"; + } + leaf log-changes { + type empty; + description + "Enable logging of bandwidth changes"; + } + leaf hold-off { + type dt1:Cfm-bnm-hold-off; + default "0"; + description + "Hold-off time (in seconds)"; + } + leaf loss-threshold { + type dt1:Cfm-bnm-loss-threshold; + default "3"; + description + "Loss Threshold (in number of BNMs)"; + } + } + } + } + augment "/a2:ethernet-features" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2-eth-infra-cfg'"; + container cfm { + description + "CFM global configuration"; + container traceroute-cache { + description + "Traceroute Cache Configuration"; + leaf hold-time { + type uint32 { + range "1..525600"; + } + default "100"; + description + "Hold Time in minutes"; + } + leaf cache-size { + type uint32 { + range "1..4294967295"; + } + default "100"; + description + "Cache Size limit (number of replies)"; + } + } + container domains { + description + "Domain-specific global configuration"; + list domain { + key "domain"; + description + "Configuration for a particular Maintenance + Domain"; + container services { + description + "Service-specific global configuration"; + list service { + key "service"; + description + "Configuration for a particular Service + (Maintenance Association)"; + container efd2 { + presence "Indicates a efd2 node is configured."; + description + "Enable EFD to bring down ports when MEPs + detect errors"; + leaf enable { + type empty; + mandatory true; + description + "Enable EFD"; + } + leaf protection-switching-enable { + type empty; + description + "Enable protection switching notifications"; + } + } + container continuity-check-interval { + presence "Indicates a continuity-check-interval node is configured."; + description + "Continuity Check Interval and Loss + Threshold. Configuring the interval + enables Continuity Check."; + leaf ccm-interval { + type dt1:Cfm-ccm-interval; + mandatory true; + description + "CCM Interval"; + } + leaf loss-threshold { + type uint32 { + range "2..255"; + } + description + "Loss Threshold (default 3)"; + } + } + container mip-auto-creation { + presence "Indicates a mip-auto-creation node is configured."; + description + "MIP Auto-creation Policy"; + leaf mip-policy { + type Cfm-mip-policy; + mandatory true; + description + "MIP Auto-creation Policy"; + } + leaf ccm-learning-enable { + type empty; + description + "Enable CCM Learning at MIPs in this + service"; + } + } + container ais { + description + "Service specific AIS configuration"; + container transmission { + presence "enable transmission"; + description + "AIS transmission configuration"; + leaf ais-interval { + type dt1:Cfm-ais-interval; + description + "AIS Interval"; + } + leaf cos { + type dt1:Cfm-cos-bits; + description + "Class of Service bits"; + } + } + } + container cross-check { + description + "Cross-check configuration"; + container cross-check-meps { + description + "Cross-check MEPs"; + list cross-check-mep { + key "mep-id"; + description + "MEP ID and optional MAC Address for + Cross-check"; + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID"; + } + leaf enable-mac-address { + type empty; + description + "MAC Address is specified"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + } + } + leaf auto { + type empty; + description + "Enable automatic MEP cross-check"; + } + } + container service-properties { + presence "Indicates a service-properties node is configured."; + description + "Fundamental properties of the service + (maintenance association)"; + leaf service-type { + type Cfm-service; + mandatory true; + description + "Type of Service"; + } + leaf group-name { + type string; + description + "Bridge Group or Cross-connect Group, if + Service Type is BridgeDomain or + CrossConnect"; + } + leaf switching-name { + type string; + description + "Bridge Domain or Cross-connect name, if + Service Type is BridgeDomain or + CrossConnect"; + } + leaf ce-id { + type uint32 { + range "1..16384"; + } + description + "Local Customer Edge Identifier"; + } + leaf remote-ce-id { + type uint32 { + range "1..16384"; + } + description + "Remote Customer Edge Identifier"; + } + leaf evi { + type uint32 { + range "1..65534"; + } + description + "EVPN ID"; + } + leaf short-ma-name-format { + type Cfm-short-ma-name-format; + description + "Short MA Name Format"; + } + leaf short-ma-name-string { + type xr:Cisco-ios-xr-string { + length "1..45"; + } + description + "String Short MA Name, if format is String"; + } + leaf short-ma-name-number { + type uint32 { + range "0..65535"; + } + description + "Numeric Short MA Name, if format is VlanID + or Number"; + } + leaf short-ma-name-oui { + type uint32 { + range "0..16777215"; + } + description + "VPN OUI, if Short MA Name format is VPN_ID"; + } + leaf short-ma-name-vpn-index { + type uint32; + description + "VPN Index, if Short MA Name format is + VPN_ID"; + } + leaf short-ma-name-icc { + type xr:Cisco-ios-xr-string { + length "1..6"; + } + description + "ITU Carrier Code (ICC), if format is + ICCBased"; + } + leaf short-ma-name-umc { + type xr:Cisco-ios-xr-string { + length "1..12"; + } + description + "Unique MEG ID Code (UMC), if format is + ICCBased"; + } + } + leaf maximum-meps { + type uint32 { + range "2..8190"; + } + default "100"; + description + "Limit on the number of MEPs in the service"; + } + leaf log-cross-check-errors { + type empty; + description + "Log Cross-check Errors detected for peer + MEPs"; + } + leaf continuity-check-archive-hold-time { + type uint32 { + range "1..65535"; + } + default "100"; + description + "How long to store information for peer MEPs + that have timed out"; + } + leaf tags { + type uint32 { + range "1"; + } + description + "The number of tags to use when sending CFM + packets from up MEPs in this Service"; + } + leaf log-csf { + type empty; + description + "Log receipt of CSF packets"; + } + leaf log-continuity-check-state-changes { + type empty; + description + "Log peer MEPs state changes"; + } + leaf log-efd { + type empty; + description + "Enable logging"; + } + leaf continuity-check-auto-traceroute { + type empty; + description + "Automatically trigger a traceroute when a + peer MEP times out"; + } + leaf log-continuity-check-errors { + type empty; + description + "Log CCM Errors detected for peer MEPs"; + } + leaf log-ais { + type empty; + description + "Log receipt of AIS and LCK messages"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + } + } + container domain-properties { + description + "Fundamental properties of the domain"; + leaf level { + type dt1:Cfm-level; + description + "Maintenance Domain Level"; + } + leaf mdid-format { + type Cfm-mdid-format; + description + "Maintenance Domain ID Format"; + } + leaf mdid-mac-address { + when "../mdid-format = 'mac-address'" { + description + "../MDIDFormat = MACAddress"; + } + type yang:mac-address; + description + "MAC Address, if MDID Format is MACAddress"; + } + leaf mdid-number { + when "../mdid-format = 'mac-address'" { + description + "../MDIDFormat = MACAddress"; + } + type uint32 { + range "0..65535"; + } + description + "Unsigned 16-bit Interger, if MDID Format is + MACAddress"; + } + leaf mdid-string { + when "../mdid-format = 'dns-like' or ../mdid-format = 'string'" { + description + "../MDIDFormat = DNSLike or ../MDIDFormat = + String"; + } + type string { + length "1..43"; + } + description + "String MDID, if MDID format is String or + DNSLike"; + } + } + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + } + } + leaf nv-satellite-sla-processing-disable { + type empty; + description + "Disable processing of Ethernet SLA packets on + nV Satellite devices"; + } + } + } + augment "/a3:snmp/a3:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container cfm { + description + "802.1ag Connectivity Fault Management MIB + notification configuration"; + leaf enable { + type empty; + description + "Enable 802.1ag Connectivity Fault Management + MIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-datatypes.yang new file mode 100644 index 000000000..a384b7bf5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-datatypes.yang @@ -0,0 +1,200 @@ +module Cisco-IOS-XR-ethernet-cfm-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-datatypes"; + prefix ethernet-cfm-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-09 { + description + "Add SLA Action type enumeration definition"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Cfm-bandwidth-notification-state { + type enumeration { + enum "ok" { + value 1; + description + "Link is not degraded"; + } + enum "degraded" { + value 2; + description + "Link is in degraded state"; + } + } + description + "Cfm bandwidth notification state"; + } + + typedef Sla-action-type-enum { + type enumeration { + enum "log" { + value 0; + description + "Emit a syslog when the threshold is crossed"; + } + enum "efd" { + value 267434903; + description + "EFD action. Stateful thresholds only"; + } + } + description + "Sla action type enum"; + } + + typedef Cfm-bnm-wtr { + type uint32 { + range "0..600"; + } + description + "Cfm bnm wtr"; + } + + typedef Cfm-ccm-interval { + type enumeration { + enum "3.3ms" { + value 1; + description + "3.3ms"; + } + enum "10ms" { + value 2; + description + "10ms"; + } + enum "100ms" { + value 3; + description + "100ms"; + } + enum "1s" { + value 4; + description + "1s"; + } + enum "10s" { + value 5; + description + "10s"; + } + enum "1m" { + value 6; + description + "1m"; + } + enum "10m" { + value 7; + description + "10m"; + } + } + description + "Cfm ccm interval"; + } + + typedef Cfm-mep-id { + type uint32 { + range "1..8191"; + } + description + "Cfm mep id"; + } + + typedef Cfm-bnm-hold-off { + type uint32 { + range "0..600"; + } + description + "Cfm bnm hold off"; + } + + typedef Cfm-level { + type uint32 { + range "0..7"; + } + description + "Cfm level"; + } + + typedef Cfm-cos-bits { + type uint32 { + range "0..7"; + } + description + "Cfm cos bits"; + } + + typedef Cfm-bnm-loss-threshold { + type uint32 { + range "2..255"; + } + description + "Cfm bnm loss threshold"; + } + + typedef Cfm-ais-interval { + type enumeration { + enum "1s" { + value 4; + description + "1s"; + } + enum "1m" { + value 6; + description + "1m"; + } + } + description + "Cfm ais interval"; + } + + typedef Cfm-mep-dir { + type enumeration { + enum "up" { + value 0; + description + "Up MEP"; + } + enum "down" { + value 1; + description + "Down MEP"; + } + } + description + "Cfm mep dir"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub1.yang new file mode 100644 index 000000000..2b91d73fa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub1.yang @@ -0,0 +1,1226 @@ +submodule Cisco-IOS-XR-ethernet-cfm-oper-sub1 { + belongs-to Cisco-IOS-XR-ethernet-cfm-oper { + prefix Cisco-IOS-XR-ethernet-cfm-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ethernet-cfm package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-18 { + description + "Added CSF packet counters. + 2021-10-22 + Added counters for missing MEP offload intervals. + 2021-09-02 + Added support for LTM statistics."; + semver:module-version "1.3.1M"; + } + revision 2020-10-07 { + description + "Added the Link Loss Forwarding feature."; + semver:module-version "1.3.0"; + } + revision 2020-07-07 { + description + "Added SLA summary information."; + semver:module-version "1.2.0"; + } + revision 2019-10-02 { + description + "Bandwidth notification addition"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-20 { + description + "Bandwidth notification class and type name update."; + } + revision 2017-10-06 { + description + "Traceroute transaction ID changed from int to uint."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Sla-error-string { + type string; + description + "Sla error string"; + } + + typedef Sla-oper-packet-priority { + type enumeration { + enum "priority-none" { + value 0; + description + "Packet does not use any specified priority."; + } + enum "priority-cos" { + value 1; + description + "Packet uses a specified 3-bit COS priority + value."; + } + } + description + "Priority scheme for packet priority"; + } + + typedef Sla-oper-test-pattern-scheme { + type enumeration { + enum "hex" { + value 0; + description + "Packet is padded with a user-specified string"; + } + enum "pseudo-random" { + value 1; + description + "Packet is padded with a pseudo-random bit + sequence"; + } + } + description + "Test pattern scheme for packet padding"; + } + + typedef Sla-oper-bucket { + type enumeration { + enum "bucket-type-bins" { + value 0; + description + "SLA metric bin"; + } + enum "bucket-type-samples" { + value 1; + description + "SLA metric sample"; + } + } + description + "Type of SLA metric bucket"; + } + + typedef Sla-metric-threshold-state { + type enumeration { + enum "threshold-not-breached" { + description + "Threshold is not breached"; + } + enum "threshold-breached-last" { + description + "Threshold was breached in the last bucket"; + } + enum "threshold-breached-current" { + description + "Threshold is breached in the current bucket"; + } + } + description + "Sla metric threshold state"; + } + + typedef Sla-cfg-thresh-condition { + type enumeration { + enum "condition-maximum" { + value 0; + description + "Breach on maximum value"; + } + enum "condition-mean" { + value 1; + description + "Breach on mean value"; + } + enum "condition-bin-count" { + value 2; + description + "Breach on sample count in bins"; + } + enum "condition-type-count" { + value 3; + description + "Number of threshold conditions"; + } + } + description + "Sla cfg thresh condition"; + } + + typedef Sla-cfg-threshold { + type enumeration { + enum "stateful-threshold" { + value 0; + description + "Stateful threshold"; + } + enum "stateless-threshold" { + value 1; + description + "Stateless threshold"; + } + enum "threshold-type-count" { + value 2; + description + "Number of threshold types"; + } + } + description + "Sla cfg threshold"; + } + + typedef Sla-bucket-size { + type enumeration { + enum "buckets-per-probe" { + value 0; + description + "Bucket size is configured as buckets per probe"; + } + enum "probes-per-bucket" { + value 1; + description + "Bucket size is configured as probes per bucket"; + } + } + description + "Type of configuration of a bucket size"; + } + + typedef Sla-recordable-metric { + type enumeration { + enum "metric-invalid" { + value 0; + description + "Not a valid metric type"; + } + enum "metric-round-trip-delay" { + value 1; + description + "Round-trip Delay"; + } + enum "metric-one-way-delay-sd" { + value 2; + description + "One-way Delay (Source->Destination)"; + } + enum "metric-one-way-delay-ds" { + value 3; + description + "One-way Delay (Destination->Source)"; + } + enum "metric-round-trip-jitter" { + value 4; + description + "Round-trip Jitter"; + } + enum "metric-one-way-jitter-sd" { + value 5; + description + "One-way Jitter (Source->Destination)"; + } + enum "metric-one-way-jitter-ds" { + value 6; + description + "One-way Jitter (Destination->Source)"; + } + enum "metric-one-way-flr-sd" { + value 7; + description + "One-way Frame Loss Ratio (Source->Destination)"; + } + enum "metric-one-way-flr-ds" { + value 8; + description + "One-way Frame Loss Ratio (Destination->Source)"; + } + } + description + "Types of metrics that can be recorded by probes"; + } + + typedef Sla-oper-operation { + type enumeration { + enum "operation-type-configured" { + value 0; + description + "Configured SLA operation"; + } + enum "operation-type-ondemand" { + value 1; + description + "On-demand SLA operation"; + } + } + description + "Type of SLA operation"; + } + + grouping SLA-OPER-CONFIG-ERRORS { + description + "Most recent configuration error information for + an SLA operation"; + leaf profile-name-xr { + type string; + description + "The name of the operation profile."; + } + leaf display-short { + type string; + description + "Short display name used by the operation"; + } + leaf rt-delay-inconsistent { + type boolean; + description + "Is the profile configured to collect RT Delay + but the packet type doesn't support it?"; + } + leaf ow-delay-sd-inconsistent { + type boolean; + description + "Is the profile configured to collect OW Delay + (SD) but the packet type doesn't support it?"; + } + leaf ow-delay-ds-inconsistent { + type boolean; + description + "Is the profile configured to collect OW Delay + (DS) but the packet type doesn't support it?"; + } + leaf rt-jitter-inconsistent { + type boolean; + description + "Is the profile configured to collect RT Jitter + but the packet type doesn't support it?"; + } + leaf ow-jitter-sd-inconsistent { + type boolean; + description + "Is the profile configured to collect OW Jitter + (SD) but the packet type doesn't support it?"; + } + leaf ow-jitter-ds-inconsistent { + type boolean; + description + "Is the profile configured to collect OW Delay + (DS) but the packet type doesn't support it?"; + } + leaf ow-loss-sd-inconsistent { + type boolean; + description + "Is the profile configured to collect OW Frame + Loss (SD) but the packet type doesn't support it + ?"; + } + leaf ow-loss-ds-inconsistent { + type boolean; + description + "Is the profile configured to collect OW Frame + Loss (DS) but the packet type doesn't support it + ?"; + } + leaf packet-pad-inconsistent { + type boolean; + description + "Is the profile configured to pad packets but the + packet type doesn't support it?"; + } + leaf packet-rand-pad-inconsistent { + type boolean; + description + "Is the profile configured to pad packets with a + pseudo-random string but the packet type doesn't + support it?"; + } + leaf min-packet-interval-inconsistent { + type boolean; + description + "Is the profile configured to send packets more + frequently than the protocol allows?"; + } + leaf priority-inconsistent { + type boolean; + description + "Is the profile configured to use a packet + priority scheme that the protocol does not + support?"; + } + leaf packet-type-inconsistent { + type boolean; + description + "Is the profile configured to use a packet type + that isn't supported by any protocols?"; + } + leaf profile-doesnt-exist { + type boolean; + description + "Is the operation configured to use a profile + that is not currently defined for the protocol?"; + } + leaf synthetic-loss-not-supported { + type boolean; + description + "The profile is configured to use a packet type + which doesn't support synthetic loss measurement + and the number of packets per FLR calculation + has been configured"; + } + leaf probe-too-big { + type boolean; + description + "The profile is configured to use a packet type + which does not allow more than 72000 packets per + probe and greater than 72000 packets per probe + have been configured"; + } + leaf no-statistics-configured { + type boolean; + description + "Is the profile configured without any statistics + collection?"; + } + list error-string { + description + "Displays other issues not indicated from the + flags above, for example MIB incompatibility + issues."; + leaf entry { + type Sla-error-string; + description + "Displays other issues not indicated from the + flags above, for example MIB incompatibility + issues."; + } + } + } + + grouping SLA-OPER-OPERATION-THRESHOLD { + description + "Status for an individual threshold on an + operation"; + container configuration { + description + "Configuration of the threshold"; + uses SLA-CFG-METRIC-THRESH-TYPE; + } + leaf action-name { + type string; + description + "Name of the threshold action"; + } + } + + grouping SLA-OPER-OPERATION-METRIC { + description + "Status for an individual metric on an operation"; + container metric-config { + description + "Configuration of the metric"; + uses SLA-CFG-METRIC-TYPE; + } + leaf current-buckets-archive { + type uint32; + description + "Number of valid buckets currently in the buckets + archive"; + } + list threshold { + description + "Thresholds configured on the metric"; + uses SLA-OPER-OPERATION-THRESHOLD; + } + } + + grouping SLA-OPER-PACKET-PRIORITY { + description + "Union of available types of packet priority"; + leaf priority-type { + type Sla-oper-packet-priority; + description + "PriorityType"; + } + leaf cos { + when "../priority-type = 'priority-cos'" { + description + "../PriorityType = 'PriorityCOS'"; + } + type uint8; + description + "3-bit COS priority value applied to packets"; + } + } + + grouping SLA-OPER-PACKET-PADDING { + description + "Parameters of a probe that are only valid if + packet padding is configured"; + leaf packet-pad-size { + type uint16; + description + "Size that packets are being padded to"; + } + leaf test-pattern-pad-scheme { + type Sla-oper-test-pattern-scheme; + description + "Test pattern scheme that is used in the packet + padding"; + } + leaf test-pattern-pad-hex-string { + type uint32; + description + "Hex string that is used in the packet padding"; + } + } + + grouping SLA-OPER-OPERATION-PROFILE { + description + "Parameters of an operation that are only valid if + it has a profile"; + container packet-padding { + description + "Configuration of the packet padding"; + uses SLA-OPER-PACKET-PADDING; + } + container priority { + description + "Priority at which to send the packet, if + configured"; + uses SLA-OPER-PACKET-PRIORITY; + } + container operation-schedule { + description + "Operation schedule"; + uses SLA-OPER-OPERATION-SCHEDULE; + } + leaf probe-type { + type string; + description + "Type of probe used by the operation"; + } + leaf packets-per-burst { + type uint16; + description + "Number of packets sent per burst"; + } + leaf inter-packet-interval { + type uint16; + units "millisecond"; + description + "Interval between packets within a burst in + milliseconds"; + } + leaf bursts-per-probe { + type uint32; + description + "Number of bursts sent per probe"; + } + leaf inter-burst-interval { + type uint32; + units "millisecond"; + description + "Interval between bursts within a probe in + milliseconds"; + } + leaf flr-calculation-interval { + type uint32; + units "millisecond"; + description + "Interval between FLR calculations for SLM, in + milliseconds"; + } + list operation-metric { + description + "Array of the metrics that are measured by the + operation"; + uses SLA-OPER-OPERATION-METRIC; + } + } + + grouping SLA-OPER-OPERATION { + description + "The state of an SLA operation"; + container profile-options { + description + "Options that are only valid if the operation has + a profile"; + uses SLA-OPER-OPERATION-PROFILE; + } + container specific-options { + description + "Options specific to the type of operation"; + uses SLA-OPER-OPERATION-SPECIFIC-OPTS; + } + leaf display-short { + type string; + description + "Short display name used by the operation"; + } + leaf display-long { + type string; + description + "Long display name used by the operation"; + } + leaf last-run { + type uint32; + description + "Time that the last probe for the operation was + run, NULL if never run."; + } + } + + grouping SLA-OPER-SAMPLE { + description + "Contents of an SLA metric sample"; + leaf sent-at { + type uint32; + units "millisecond"; + description + "The time (in milliseconds relative to the start + time of the bucket) that the sample was sent at"; + } + leaf sent { + type boolean; + description + "Whether the sample packet was sucessfully sent"; + } + leaf timed-out { + type boolean; + description + "Whether the sample packet timed out"; + } + leaf corrupt { + type boolean; + description + "Whether the sample packet was corrupt"; + } + leaf out-of-order { + type boolean; + description + "Whether the sample packet was received + out-of-order"; + } + leaf no-data-packets { + type boolean; + description + "Whether a measurement could not be made because + no data packets were sent in the sample period. + Only applicable for LMM measurements"; + } + leaf result { + type int32; + description + "The result (in microseconds or millionths of a + percent) of the sample, if available"; + } + leaf frames-sent { + type uint32; + description + "For FLR measurements, the number of frames sent, + if available"; + } + leaf frames-lost { + type uint32; + description + "For FLR measurements, the number of frames lost, + if available"; + } + } + + grouping SLA-OPER-BUCKET-UNAGGREGATED { + description + "Result samples in an SLA metric bucket"; + list sample { + description + "The samples of an SLA metric bucket"; + uses SLA-OPER-SAMPLE; + } + } + + grouping SLA-OPER-BIN { + description + "Contents of an SLA metric bin"; + leaf lower-bound { + type int32; + description + "Lower bound (inclusive) of the bin, in + milliseconds or single units of percent. This + field is not used for LMM measurements"; + } + leaf upper-bound { + type int32; + description + "Upper bound (exclusive) of the bin, in + milliseconds or single units of percent. This + field is not used for LMM measurements"; + } + leaf lower-bound-tenths { + type int32; + units "percentage"; + description + "Lower bound (inclusive) of the bin, in tenths of + percent. This field is only used for LMM + measurements"; + } + leaf upper-bound-tenths { + type int32; + units "percentage"; + description + "Upper bound (exclusive) of the bin, in tenths of + percent. This field is only used for LMM + measurements"; + } + leaf sum { + type int64; + description + "The sum of the results in the bin, in + microseconds or millionths of a percent"; + } + leaf count { + type uint32; + description + "The total number of results in the bin"; + } + } + + grouping SLA-OPER-BUCKET-AGGREGATED { + description + "Result bins in an SLA metric bucket"; + list bins { + description + "The bins of an SLA metric bucket"; + uses SLA-OPER-BIN; + } + } + + grouping BUCKET-CONTENTS { + description + "Contents of an SLA bucket; bins or samples"; + container aggregated { + when "../bucket-type = 'bucket-type-bins'" { + description + "../BucketType = 'BucketTypeBins'"; + } + description + "Result bins in an SLA metric bucket"; + uses SLA-OPER-BUCKET-AGGREGATED; + } + container unaggregated { + when "../bucket-type = 'bucket-type-samples'" { + description + "../BucketType = 'BucketTypeSamples'"; + } + description + "Result samples in an SLA metric bucket"; + uses SLA-OPER-BUCKET-UNAGGREGATED; + } + leaf bucket-type { + type Sla-oper-bucket; + description + "BucketType"; + } + } + + grouping SLA-OPER-BUCKET { + description + "The contents of an SLA bucket"; + container contents { + description + "The contents of the bucket; bins or samples"; + uses BUCKET-CONTENTS; + } + leaf start-at { + type uint32; + description + "Absolute time that the bucket started being + filled at"; + } + leaf duration { + type uint32; + units "second"; + description + "Length of time for which the bucket is being + filled in seconds"; + } + leaf sent { + type uint32; + description + "Number of packets sent in the probe"; + } + leaf lost { + type uint32; + description + "Number of lost packets in the probe"; + } + leaf corrupt { + type uint32; + description + "Number of corrupt packets in the probe"; + } + leaf out-of-order { + type uint32; + description + "Number of packets recieved out-of-order in the + probe"; + } + leaf duplicates { + type uint32; + description + "Number of duplicate packets received in the + probe"; + } + leaf minimum { + type int32; + description + "Overall minimum result in the probe, in + microseconds or millionths of a percent"; + } + leaf maximum { + type int32; + description + "Overall minimum result in the probe, in + microseconds or millionths of a percent"; + } + leaf time-of-minimum { + type uint32; + description + "Absolute time that the minimum value was + recorded"; + } + leaf time-of-maximum { + type uint32; + description + "Absolute time that the maximum value was + recorded"; + } + leaf average { + type int32; + description + "Mean of the results in the probe, in + microseconds or millionths of a percent"; + } + leaf standard-deviation { + type int32; + description + "Standard deviation of the results in the probe, + in microseconds or millionths of a percent"; + } + leaf result-count { + type uint32; + description + "The count of samples collected in the bucket."; + } + leaf data-sent-count { + type uint32; + description + "The number of data packets sent across the + bucket, used in the calculation of overall FLR."; + } + leaf data-lost-count { + type uint32; + description + "The number of data packets lost across the + bucket, used in the calculation of overall FLR."; + } + leaf overall-flr { + type int32; + units "percentage"; + description + "Frame Loss Ratio across the whole bucket, in + millionths of a percent"; + } + leaf suspect-start-mid-bucket { + type boolean; + description + "Results suspect due to a probe starting mid-way + through a bucket"; + } + leaf suspect-schedule-latency { + type boolean; + description + "Results suspect due to scheduling latency + causing one or more packets to not be sent"; + } + leaf suspect-send-fail { + type boolean; + description + "Results suspect due to failure to send one or + more packets"; + } + leaf suspect-premature-end { + type boolean; + description + "Results suspect due to a probe ending + prematurely"; + } + leaf suspect-clock-drift { + type boolean; + description + "Results suspect as more than 10 seconds time + drift detected"; + } + leaf suspect-memory-allocation-failed { + type boolean; + description + "Results suspect due to a memory allocation + failure"; + } + leaf suspect-cleared-mid-bucket { + type boolean; + description + "Results suspect as bucket was cleared mid-way + through being filled"; + } + leaf suspect-probe-restarted { + type boolean; + description + "Results suspect as probe restarted mid-way + through the bucket"; + } + leaf suspect-management-latency { + type boolean; + description + "Results suspect as processing of results has + been delayed"; + } + leaf suspect-multiple-buckets { + type boolean; + description + "Results suspect as the probe has been configured + across multiple buckets"; + } + leaf suspect-misordering { + type boolean; + description + "Results suspect as misordering has been detected + , affecting results"; + } + leaf suspect-flr-low-packet-count { + type boolean; + description + "Results suspect as FLR calculated based on a low + packet count"; + } + leaf premature-reason { + type uint32; + description + "If the probe ended prematurely, the error that + caused a probe to end"; + } + leaf premature-reason-string { + type string; + description + "Description of the error code that caused the + probe to end prematurely. For informational + purposes only"; + } + } + + grouping SLA-CFG-METRIC-THRESH-TYPE { + description + "Threshold configuration for an individual + threshold"; + leaf threshold-type { + type Sla-cfg-threshold; + description + "Type of the threshold"; + } + leaf threshold-condition { + type Sla-cfg-thresh-condition; + description + "Condition required for the threshold to be + breached"; + } + leaf threshold-value { + type int32; + description + "Configured threshold value, above which the + threshold is breached"; + } + leaf bin-threshold { + type uint32; + description + "For bin condition thresholds, this gives the bin + number in and above which samples count towards + the threshold breach value"; + } + } + + grouping SLA-OPER-THRESHOLD-STATISTICS { + description + "The results gathered for a threshold on a metric"; + container configuration { + description + "Configuration of the threshold"; + uses SLA-CFG-METRIC-THRESH-TYPE; + } + leaf state { + type Sla-metric-threshold-state; + description + "State of the threshold"; + } + leaf breaching-value { + type int32; + description + "The breaching value of the threshold, if + applicable"; + } + leaf action-name { + type string; + description + "Name of the threshold action"; + } + } + + grouping SLA-CFG-METRIC-TYPE { + description + "Aggregation configuration for an individual + metric"; + leaf metric-type { + type Sla-recordable-metric; + description + "Type of metric to which this configuration + applies"; + } + leaf bins-count { + type uint16; + description + "Total number of bins into which to aggregate. 0 + if no aggregation."; + } + leaf bins-width { + type uint16; + description + "Width of each bin into which to aggregate. 0 if + no aggregation. For SLM, the units of this value + are in single units of percent; for LMM they are + in tenths of percent; for other measurements + they are in milliseconds."; + } + leaf bucket-size { + type uint8; + description + "Size of buckets into which measurements are + collected"; + } + leaf bucket-size-unit { + type Sla-bucket-size; + description + "Whether bucket size is 'per-probe' or 'probes'"; + } + leaf buckets-archive { + type uint32; + description + "Maximum number of buckets to store in memory"; + } + } + + grouping SLA-OPER-METRIC-STATISTICS { + description + "The results gathered for an individual metric"; + container config { + description + "Configuration of the metric"; + uses SLA-CFG-METRIC-TYPE; + } + list threshold { + description + "Thresholds on the metric"; + uses SLA-OPER-THRESHOLD-STATISTICS; + } + list bucket { + description + "Buckets stored for the metric"; + uses SLA-OPER-BUCKET; + } + } + + grouping SLA-OPER-OPERATION-SCHEDULE { + description + "Schedule of an operation"; + leaf start-time { + type uint32; + units "second"; + description + "Start time of the first probe, in seconds since + the Unix Epoch"; + } + leaf start-time-configured { + type boolean; + description + "Whether or not the operation start time was + explicitly configured"; + } + leaf schedule-duration { + type uint32; + units "second"; + description + "Duration of a probe for the operation in seconds"; + } + leaf schedule-interval { + type uint32; + units "second"; + description + "Interval between the start times of consecutive + probes, in seconds."; + } + } + + grouping SLA-OPER-OD-OPERATION-SPECIFIC { + description + "Parameters specific to the state of an ondemand + operation"; + leaf ondemand-operation-id { + type uint32; + description + "ID of the ondemand operation"; + } + leaf probe-count { + type uint8; + description + "Total number of probes sent during the operation"; + } + } + + grouping SLA-OPER-CFG-OPERATION-SPECIFIC { + description + "Parameters specific to the state of a configured + operation"; + leaf profile-name { + type string; + description + "Name of the profile used by the operation"; + } + } + + grouping SLA-OPER-OPERATION-SPECIFIC-OPTS { + description + "Parameters specific to the type of SLA operation"; + container configured-operation-options { + when "../oper-type = 'operation-type-configured'" { + description + "../OperType = 'OperationTypeConfigured'"; + } + description + "Parameters for a configured operation"; + uses SLA-OPER-CFG-OPERATION-SPECIFIC; + } + container ondemand-operation-options { + when "../oper-type = 'operation-type-ondemand'" { + description + "../OperType = 'OperationTypeOndemand'"; + } + description + "Parameters for an ondemand operation"; + uses SLA-OPER-OD-OPERATION-SPECIFIC; + } + leaf oper-type { + type Sla-oper-operation; + description + "OperType"; + } + } + + grouping SLA-OPER-OPERATION-STATISTICS { + description + "The statistics of an SLA operation"; + container specific-options { + description + "Options specific to the type of operation"; + uses SLA-OPER-OPERATION-SPECIFIC-OPTS; + } + container operation-schedule { + description + "Operation schedule"; + uses SLA-OPER-OPERATION-SCHEDULE; + } + leaf probe-type { + type string; + description + "Type of probe used by the operation"; + } + leaf display-short { + type string; + description + "Short display name used by the operation"; + } + leaf display-long { + type string; + description + "Long display name used by the operation"; + } + leaf flr-calculation-interval { + type uint32; + units "millisecond"; + description + "Interval between FLR calculations for SLM, in + milliseconds"; + } + list operation-metric { + description + "Metrics gathered for the operation"; + uses SLA-OPER-METRIC-STATISTICS; + } + } + + grouping SLA-OPER-SUM-INFORMATION { + description + "The summary information of SLA operations"; + leaf packet-name { + type string; + description + "The name of the packet type"; + } + leaf operation-count { + type uint32; + description + "Number of operations"; + } + leaf memory-usage { + type uint64; + description + "Total memory usage"; + } + } + + grouping SLA-OPER-SUMMARY { + description + "Summary of SLA operations"; + leaf packets-per-second { + type uint32; + description + "Average packets sent per second across all + operations"; + } + list packet-type { + description + "Summary of operations information"; + uses SLA-OPER-SUM-INFORMATION; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub2.yang new file mode 100644 index 000000000..d1568d8ba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub2.yang @@ -0,0 +1,3205 @@ +submodule Cisco-IOS-XR-ethernet-cfm-oper-sub2 { + belongs-to Cisco-IOS-XR-ethernet-cfm-oper { + prefix Cisco-IOS-XR-ethernet-cfm-oper; + } + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ethernet-cfm-oper-sub3 { + revision-date 2022-01-18; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ethernet-cfm package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-18 { + description + "Added CSF packet counters. + 2021-10-22 + Added counters for missing MEP offload intervals. + 2021-09-02 + Added support for LTM statistics."; + semver:module-version "1.3.1M"; + } + revision 2020-10-07 { + description + "Added the Link Loss Forwarding feature."; + semver:module-version "1.3.0"; + } + revision 2020-07-07 { + description + "Added SLA summary information."; + semver:module-version "1.2.0"; + } + revision 2019-10-02 { + description + "Bandwidth notification addition"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-20 { + description + "Bandwidth notification class and type name update."; + } + revision 2017-10-06 { + description + "Traceroute transaction ID changed from int to uint."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Cfm-pm-addl-intf-status { + type enumeration { + enum "unknown" { + value 0; + description + "Additional interface status unknown"; + } + enum "administratively-down" { + value 1; + description + "Interface is explicitly shutdown in + configuration"; + } + enum "remote-excessive-errors" { + value 2; + description + "Remote interface has exceeded its 802.3 Link + OAM error threshold"; + } + enum "local-excessive-errors" { + value 3; + description + "Local interface has exceeded its 802.3 Link OAM + error threshold"; + } + } + description + "Additional interface status"; + } + + typedef Cfm-pm-intf-status { + type enumeration { + enum "interface-status-up" { + value 1; + description + "Interface is up"; + } + enum "interface-status-down" { + value 2; + description + "Interface is down"; + } + enum "interface-status-testing" { + value 3; + description + "Interface is in testing mode"; + } + enum "interface-status-unknown" { + value 4; + description + "Unknown interface status"; + } + enum "interface-status-dormant" { + value 5; + description + "Interface is dormant"; + } + enum "interface-status-not-present" { + value 6; + description + "Interface status not found"; + } + enum "interface-status-lower-layer-down" { + value 7; + description + "Lower layer is down"; + } + } + description + "Interface status"; + } + + typedef Cfm-pm-port-status { + type enumeration { + enum "port-status-blocked" { + value 1; + description + "Port is STP blocked"; + } + enum "port-status-up" { + value 2; + description + "Port is up"; + } + enum "port-status-unknown" { + value 3; + description + "Unknown port status"; + } + } + description + "Port status"; + } + + typedef Cfm-pm-rmep-state { + type enumeration { + enum "peer-mep-idle" { + value 1; + description + "Momentary state during reset"; + } + enum "peer-mep-start" { + value 2; + description + "Loss timer not expired since reset, but no + valid CCM received"; + } + enum "peer-mep-failed" { + value 3; + description + "Loss timer has expired"; + } + enum "peer-mep-ok" { + value 4; + description + "Loss timer has not expired since last valid CCM"; + } + } + description + "State of the Peer MEP state machine"; + } + + typedef Cfm-pm-rmep-xc-state { + type enumeration { + enum "cross-check-ok" { + value 0; + description + "Cross-check OK"; + } + enum "cross-check-missing" { + value 1; + description + "No CCMs received within loss time from peer MEP"; + } + enum "cross-check-extra" { + value 2; + description + "CCMs received from peer MEP not marked for + cross-check"; + } + } + description + "Cross-check state of a peer MEP"; + } + + typedef Cfm-pm-ais-receive { + type enumeration { + enum "receive-none" { + value 0; + description + "No signal received"; + } + enum "receive-ais" { + value 1; + description + "Receiving AIS messages"; + } + enum "receive-lck" { + value 2; + description + "Receiving LCK messages"; + } + enum "receive-direct" { + value 3; + description + "Receiving AIS directly from another MEP on the + same interface"; + } + } + description + "Enumeration of how the MEP is receiving the + signal, directly or via AIS or LCK messages."; + } + + typedef Cfm-pm-ais-transmit { + type enumeration { + enum "transmit-none" { + value 0; + description + "AIS not transmitted"; + } + enum "transmit-ais" { + value 1; + description + "AIS transmitted via MIP"; + } + enum "transmit-ais-direct" { + value 2; + description + "AIS signal passed directly to a higher MEP"; + } + } + description + "Enumeration of how the MEP is transmitting AIS, + via a MIP or directly to a higher MEP"; + } + + typedef Cfm-pm-mep-defect { + type enumeration { + enum "defect-none" { + value 0; + description + "No defect reported"; + } + enum "defect-rdi-ccm" { + value 1; + description + "Some Peer MEP's CCM has the RDI bit set"; + } + enum "defect-ma-cstatus" { + value 2; + description + "A Peer MEP port or interface status error has + been reported"; + } + enum "defect-remote-ccm" { + value 3; + description + "Not receiving valid CCMs from at least one Peer + MEP"; + } + enum "defect-error-ccm" { + value 4; + description + "Currently receiving invalid CCMs from at least + one Peer MEP"; + } + enum "defect-cross-connect-ccm" { + value 5; + description + "Currently receiving CCMs from an incorrect + service (MA)"; + } + } + description + "Defects that can be reported by a MEP"; + } + + typedef Cfm-pm-mep-fng-state { + type enumeration { + enum "fng-reset" { + value 1; + description + "FNG in reset state"; + } + enum "fng-defect" { + value 2; + description + "FNG has detected but not yet reported a defect"; + } + enum "fng-report-defect" { + value 3; + description + "FNG is in the process of reporting a defect"; + } + enum "fng-defect-reported" { + value 4; + description + "FNG has reported a defect"; + } + enum "fng-defect-clearing" { + value 5; + description + "No defect present, but the reset timer has not + yet expired"; + } + } + description + "Fault Notification Generation state machine + states"; + } + + typedef Cfm-pm-elr-egress-action { + type enumeration { + enum "elr-egress-ok" { + value 1; + description + "OK"; + } + enum "elr-egress-down" { + value 2; + description + "Down"; + } + enum "elr-egress-blocked" { + value 3; + description + "STP Blocked"; + } + enum "elr-egress-vid" { + value 4; + description + "VID Blocked"; + } + enum "elr-egress-mac" { + value 255; + description + "MAC Pruned"; + } + } + description + "ELR Egress action"; + } + + typedef Cfm-pm-elr-ingress-action { + type enumeration { + enum "elr-ingress-ok" { + value 1; + description + "OK"; + } + enum "elr-ingress-down" { + value 2; + description + "Down"; + } + enum "elr-ingress-blocked" { + value 3; + description + "STP Blocked"; + } + enum "elr-ingress-vid" { + value 4; + description + "VID Blocked"; + } + } + description + "ELR Ingress action"; + } + + typedef Cfm-pm-elr-relay-action { + type enumeration { + enum "elr-relay-hit" { + value 1; + description + "Target Hit"; + } + enum "elr-relay-fdb" { + value 2; + description + "Filtering database"; + } + enum "elr-relay-flood" { + value 3; + description + "Flood forwarded"; + } + enum "elr-relay-drop" { + value 4; + description + "Dropped"; + } + } + description + "ELR relay action"; + } + + typedef Cfm-pm-last-hop-fmt { + type enumeration { + enum "last-hop-none" { + description + "No last hop identifier"; + } + enum "last-hop-host-name" { + description + "Last hop identifier is a hostname"; + } + enum "last-hop-egress-id" { + description + "Last hop identifier is an egress ID"; + } + } + description + "Last hop identifier format"; + } + + typedef Cfm-pm-egress-action { + type enumeration { + enum "egress-ok" { + value 1; + description + "OK"; + } + enum "egress-down" { + value 2; + description + "Down"; + } + enum "egress-blocked" { + value 3; + description + "STP Blocked"; + } + enum "egress-vid" { + value 4; + description + "VID Blocked"; + } + } + description + "Egress action"; + } + + typedef Cfm-pm-port-id-fmt { + type enumeration { + enum "port-id-interface-alias" { + value 1; + description + "Port ID is an interface alias"; + } + enum "port-id-port-component" { + value 2; + description + "Port ID is a component name"; + } + enum "port-id-mac-address" { + value 3; + description + "Port ID is a MAC address"; + } + enum "port-id-network-address" { + value 4; + description + "Port ID is a network address"; + } + enum "port-id-interface-name" { + value 5; + description + "Port ID is an interface name"; + } + enum "port-id-agent-circuit-id" { + value 6; + description + "Port ID is an agent name"; + } + enum "port-id-local" { + value 7; + description + "Port ID is a local name"; + } + enum "port-id-unknown" { + value 8; + description + "Port ID format unknown"; + } + } + description + "Port ID format"; + } + + typedef Cfm-pm-ingress-action { + type enumeration { + enum "ingress-ok" { + value 1; + description + "OK"; + } + enum "ingress-down" { + value 2; + description + "Down"; + } + enum "ingress-blocked" { + value 3; + description + "STP Blocked"; + } + enum "ingress-vid" { + value 4; + description + "VID Blocked"; + } + } + description + "Ingress action"; + } + + typedef Cfm-pm-id-fmt { + type enumeration { + enum "id-format-is-string" { + value 0; + description + "ID format is a string"; + } + enum "id-format-is-mac-address" { + value 1; + description + "ID format is a MAC address"; + } + enum "id-format-is-raw-hex" { + value 2; + description + "ID format is raw hex"; + } + } + description + "ID format"; + } + + typedef Cfm-pm-chassis-id-fmt { + type enumeration { + enum "chassis-id-chassis-component" { + value 1; + description + "Chassis ID is a component name"; + } + enum "chassis-id-interface-alias" { + value 2; + description + "Chassis ID is an interface alias"; + } + enum "chassis-id-port-component" { + value 3; + description + "Chassis ID is a port component name"; + } + enum "chassis-id-mac-address" { + value 4; + description + "Chassis ID is a MAC address"; + } + enum "chassis-id-network-address" { + value 5; + description + "Chassis ID is a network address"; + } + enum "chassis-id-interface-name" { + value 6; + description + "Chassis ID is an interface name"; + } + enum "chassis-id-local" { + value 7; + description + "Chassis ID is a local name"; + } + enum "chassis-id-unknown-type" { + value 8; + description + "Unknown Chassis ID type"; + } + } + description + "Chassis ID type"; + } + + typedef Cfm-pm-relay-action { + type enumeration { + enum "relay-hit" { + value 1; + description + "Target Hit"; + } + enum "relay-fdb" { + value 2; + description + "Filtering database"; + } + enum "relay-mpdb" { + value 3; + description + "CCM Learning database"; + } + } + description + "LTR relay action"; + } + + typedef Cfm-pm-elm-reply-filter { + type enumeration { + enum "reply-filter-not-present" { + value 0; + description + "Reply Filter not present"; + } + enum "reply-filter-default" { + value 1; + description + "Reply from ports which are not MAC-pruned, + VID-pruned, or STP-blocked"; + } + enum "reply-filter-vlan-topology" { + value 2; + description + "Reply from ports which are not VID-pruned or + STP-blocked"; + } + enum "reply-filter-spanning-tree" { + value 3; + description + "Reply from ports which are not STP-blocked"; + } + enum "reply-filter-all-ports" { + value 4; + description + "Reply from all ports"; + } + } + description + "Reply filter used for Exploratory Linktrace + operations"; + } + + typedef Cfm-pm-elt-delay-model { + type enumeration { + enum "delay-model-invalid" { + value 0; + description + "Not a valid delay model"; + } + enum "delay-model-logarithmic" { + value 1; + description + "Reply using logarithmic delay model"; + } + enum "delay-model-constant" { + value 2; + description + "Reply using constant delay model"; + } + } + description + "Delay model used for Exploratory Linktrace + operations"; + } + + typedef Cfm-pm-lt-mode { + type enumeration { + enum "cfm-pm-lt-mode-basic" { + value 1; + description + "Basic IEEE 802.1ag Linktrace"; + } + enum "cfm-pm-lt-mode-exploratory" { + value 2; + description + "Cisco Exploratory Linktrace"; + } + } + description + "Type of Linktrace operation"; + } + + typedef Cfm-pm-pkt-action { + type enumeration { + enum "packet-processed" { + value 0; + description + "Packet processed successfully"; + } + enum "packet-forwarded" { + value 1; + description + "Packet forwarded"; + } + enum "unknown-opcode" { + value 2; + description + "Packet dropped at a MEP due to unknown opcode"; + } + enum "filter-level" { + value 3; + description + "Packet dropped due to level/opcode filtering at + a MEP"; + } + enum "filter-blocked" { + value 4; + description + "Packet dropped because interface is STP blocked"; + } + enum "filter-local-mac" { + value 5; + description + "Packet dropped due to local destination MAC"; + } + enum "malformed-ccm-size" { + value 6; + description + "CCM too short or too long"; + } + enum "malformed-ccm-mep-id" { + value 7; + description + "Invalid MEP-ID"; + } + enum "malformed-too-short" { + value 8; + description + "Packet too short"; + } + enum "malformed-destination-mac-unicast" { + value 9; + description + "Destination MAC address does not match + interface"; + } + enum "malformed-destination-mac-multicast" { + value 10; + description + "Invalid multicast destination MAC address"; + } + enum "malformed-tlv-offset" { + value 11; + description + "TLV offset too short or beyond the end of the + packet"; + } + enum "malformed-lbm-source-mac" { + value 12; + description + "Invalid source MAC address for LBM"; + } + enum "malformed-ltr-relay-action" { + value 13; + description + "Unknown LTR relay action"; + } + enum "malformed-ltr-reply-tlv" { + value 14; + description + "LTR has neither reply-ingress or reply-egress"; + } + enum "malformed-lt-origin" { + value 15; + description + "Invalid Linktrace Message origin MAC address"; + } + enum "malformed-ltm-target" { + value 16; + description + "Invalid LTM target MAC address"; + } + enum "malformed-source-mac" { + value 17; + description + "Invalid source MAC address"; + } + enum "malformed-header-too-short" { + value 18; + description + "Packet too short for CFM header"; + } + enum "malformed-tlv-header-overrun" { + value 19; + description + "TLV header extends beyond the end of the packet"; + } + enum "malformed-tlv-overrun" { + value 20; + description + "TLV extends beyond the end of the packet"; + } + enum "malformed-duplicate-sender-id" { + value 21; + description + "Multiple Sender-ID TLVs found"; + } + enum "malformed-duplicate-port-status" { + value 22; + description + "Multiple Port-status TLVs found"; + } + enum "malformed-duplicate-interface-status" { + value 23; + description + "Multiple Interface-state TLVs found"; + } + enum "malformed-wrong-tlv" { + value 24; + description + "Invalid TLV for this type of packet found"; + } + enum "malformed-duplicate-data" { + value 25; + description + "Multiple Data TLVs found"; + } + enum "malformed-duplicate-ltr-egress-id" { + value 26; + description + "Multiple LTR-Egress-ID TLVs found"; + } + enum "malformed-duplicate-reply-ingress" { + value 27; + description + "Multiple Reply-ingress TLVs found"; + } + enum "malformed-duplicate-reply-egress" { + value 28; + description + "Multiple Reply-egress TLVs found"; + } + enum "malformed-duplicate-ltm-egress-id" { + value 29; + description + "Multiple LTM-Egress-ID TLVs found"; + } + enum "malformed-sender-id-size" { + value 30; + description + "Sender-ID TLV is too short"; + } + enum "malformed-chassis-id-size" { + value 31; + description + "Sender-ID TLV is too short to contain the + Chassis ID"; + } + enum "malformed-mgmt-address-domain-size" { + value 32; + description + "Sender-ID TLV is too short to contain the + management address domain"; + } + enum "malformed-mgmt-address-size" { + value 33; + description + "Sender-ID TLV is too short to contain the + management address"; + } + enum "malformed-port-status-size" { + value 34; + description + "Port-status TLV is too short"; + } + enum "malformed-port-status" { + value 35; + description + "Invalid Port status value"; + } + enum "malformed-interface-status-size" { + value 36; + description + "Interface-status TLV is too short"; + } + enum "malformed-interface-status" { + value 37; + description + "Invalid Interface status value"; + } + enum "malformed-organization-specific-tlv-size" { + value 38; + description + "Organization-specific TLV is too short"; + } + enum "malformed-duplicate-mep-name" { + value 39; + description + "Multiple MEP-name TLVs found"; + } + enum "malformed-duplicate-additional-interface-status" { + value 40; + description + "Multiple additional-interface-status TLVs found"; + } + enum "malformed-ltr-egress-id-size" { + value 41; + description + "LTR-Egress-ID TLV is too short"; + } + enum "malformed-reply-ingress-size" { + value 42; + description + "Reply-ingress TLV is too short"; + } + enum "malformed-ingress-action" { + value 43; + description + "Invalid ingress-action value"; + } + enum "malformed-reply-ingress-mac" { + value 44; + description + "Reply-ingress TLV has invalid MAC address"; + } + enum "malformed-ingress-port-length-size" { + value 45; + description + "Reply-ingress TLV is too short to contain the + Port ID type"; + } + enum "malformed-ingress-port-id-length" { + value 46; + description + "Reply-ingress TLV has a zero Port ID length"; + } + enum "malformed-ingress-port-id-size" { + value 47; + description + "Reply-ingress TLV is too short to contain the + Port ID"; + } + enum "malformed-reply-egress-size" { + value 48; + description + "Reply-egress TLV is too short"; + } + enum "malformed-egress-action" { + value 49; + description + "Invalid egress-action value"; + } + enum "malformed-reply-egress-mac" { + value 50; + description + "Reply-egress TLV has invalid MAC address"; + } + enum "malformed-egress-port-length-size" { + value 51; + description + "Reply-egress TLV is too short to contain the + Port ID type"; + } + enum "malformed-egress-port-id-length" { + value 52; + description + "Reply-egress TLV has a zero Port ID length"; + } + enum "malformed-egress-port-id-size" { + value 53; + description + "Reply-egress TLV is too short to contain the + Port ID"; + } + enum "malformed-ltm-egress-id-size" { + value 54; + description + "LTM-Egress_ID TLV is too short"; + } + enum "malformed-mep-name-size" { + value 55; + description + "MEP-name TLV is too short"; + } + enum "malformed-mep-name-name-length" { + value 56; + description + "MEP-name TLV is too short to contain a MEP name"; + } + enum "malformed-additional-interface-status-size" { + value 57; + description + "Additional-interface-status is too short"; + } + enum "malformed-additional-interface-status" { + value 58; + description + "Invalid additional interface status"; + } + enum "malformed-ccm-interval" { + value 59; + description + "CCM has a zero CCM interval"; + } + enum "malformed-mdid-mac-address-length" { + value 60; + description + "CCM has a MAC-address MDID but the MDID is the + wrong length"; + } + enum "malformed-mdid-length" { + value 61; + description + "CCM has an invalid MDID length"; + } + enum "malformed-sman-length" { + value 62; + description + "CCM has an invalid Short MA Name length"; + } + enum "malformed-sman2-byte-length" { + value 63; + description + "CCM has a VID or 16-bit Short MA Name but a + mismatched length"; + } + enum "malformed-sman-vpn-id-length" { + value 64; + description + "CCM has a VPNID Short MA Name but a mismatched + length"; + } + enum "malformed-elr-no-reply-tlv" { + value 65; + description + "ELR has no ELR Reply TLVs"; + } + enum "malformed-separate-elr-reply-egress" { + value 66; + description + "ELR Reply Egress TLVs not all adjacent"; + } + enum "malformed-dcm-destination-multicast" { + value 67; + description + "DCM has a multicast destination MAC"; + } + enum "malformed-dcm-embed-length" { + value 68; + description + "DCM is too short to contain an Embedded PDU"; + } + enum "malformed-dcm-embed-level" { + value 69; + description + "DCM Embedded PDU level does not match DCM level"; + } + enum "malformed-dcm-embed-version" { + value 70; + description + "DCM Embedded PDU version does not match DCM + version"; + } + enum "malformed-elr-relay-action" { + value 71; + description + "Unknown ELR relay action"; + } + enum "malformed-elr-tt-ls" { + value 73; + description + "Reply Ingress TTL is not one greater than Reply + Egress TTL"; + } + enum "malformed-elr-ttl-ingress" { + value 74; + description + "Reply Ingress TTL present without ELR Reply + Ingress TLV"; + } + enum "malformed-elr-ttl-egress" { + value 75; + description + "Reply Egress TTL present without ELR Reply + Egress TLV"; + } + enum "malformed-elm-destination-unicast" { + value 76; + description + "ELM Destination MAC must not be unicast"; + } + enum "malformed-elm-egress-id" { + value 77; + description + "ELM has no LTM Egress ID TLV"; + } + enum "malformed-dcm-embed-oui" { + value 78; + description + "Embedded DCM OUI unrecognized"; + } + enum "malformed-dcm-embed-opcode" { + value 79; + description + "Embedded DCM Opcode is not ELM"; + } + enum "malformed-elm-constant-zero" { + value 80; + description + "ELM Constant Factor is zero"; + } + enum "malformed-elr-timeout-zero" { + value 81; + description + "ELR Next-Hop Timeout is zero"; + } + enum "malformed-duplicate-test" { + value 82; + description + "Multiple Test TLVs found"; + } + enum "malformed-dmm-source-mac" { + value 83; + description + "Invalid source MAC address for DMM"; + } + enum "malformed-test-size" { + value 84; + description + "Test TLV is too short"; + } + enum "malformed-dmr-time-stamps" { + value 85; + description + "DMR has exactly one of its Rxf and Txb + timestamps unspecified"; + } + enum "malformed-dm-time-stamp-fmt" { + value 86; + description + "The format of one or more timestamps is invalid"; + } + enum "malformed-ais-interval" { + value 87; + description + "AIS/LCK has invalid interval value (not 1 + second or 1 minute)"; + } + enum "filter-interface-down" { + value 88; + description + "Packet dropped due to interface being down"; + } + enum "filter-forward-standby" { + value 89; + description + "Packet dropped - not forwarded because + interface is in standby mode"; + } + enum "malformed-sman-icc-based-length" { + value 90; + description + "CCM has an ICC-based format Short MA Name but a + mismatched length"; + } + enum "filter-foward-issu-secondary" { + value 120; + description + "Packet dropped - not forwarded in secondary HA + role"; + } + enum "filter-response-standby" { + value 121; + description + "Packet dropped - not responded to because + interface is in standby mode"; + } + enum "filter-response-issu-secondary" { + value 122; + description + "Packet dropped - not responded to in secondary + HA role"; + } + } + description + "Action taken for received packet"; + } + + typedef Cfm-pm-bnm-packet { + type enumeration { + enum "bnm-packet-type-bnm" { + description + "BNM"; + } + enum "bnm-packet-type-bwvsm" { + description + "Cisco BW-VSM"; + } + } + description + "BNM packet types"; + } + + typedef Cfm-pm-bnm-link-state { + type enumeration { + enum "bnm-link-state-ok" { + value 1; + description + "Link state OK"; + } + enum "bnm-link-state-degraded" { + value 2; + description + "Link state degraded"; + } + } + description + "Enumeration of BNM link states"; + } + + grouping CFM-PM-REMOTE-MEP-STATS { + description + "Peer MEP statistics"; + container last-ccm-received-time { + description + "Elapsed time since last CCM received"; + uses CFM-PM-TIMESTAMP; + } + leaf ccms-received { + type uint64; + description + "Number of CCMs received"; + } + leaf ccms-wrong-level { + type uint64; + description + "Number of CCMs received with an invalid level"; + } + leaf ccms-invalid-maid { + type uint64; + description + "Number of CCMs received with an invalid MAID"; + } + leaf ccms-invalid-interval { + type uint64; + description + "Number of CCMs received with an invalid interval"; + } + leaf ccms-invalid-source-mac-address { + type uint64; + description + "Number of CCMs received with an invalid source + MAC address"; + } + leaf ccms-our-mep-id { + type uint64; + description + "Number of CCMs received with our MEP ID"; + } + leaf ccms-rdi { + type uint64; + description + "Number of CCMs received with the Remote Defect + Indication bit set"; + } + leaf ccms-out-of-sequence { + type uint64; + description + "Number of CCMs received out-of-sequence"; + } + leaf last-ccm-sequence-number { + type uint32; + description + "Sequence number of last CCM received"; + } + } + + grouping CFM-PM-MEP-NAME { + description + "MEP name"; + leaf name { + type string; + description + "MEP name"; + } + } + + grouping CFM-PM-CCM-HDR-V2 { + description + "CCM frame header"; + container mdid { + description + "MDID"; + uses CFM-BAG-MDID-V2; + } + container short-ma-name { + description + "Short MA Name"; + uses CFM-BAG-SMAN-V2; + } + leaf level { + type Cfm-bag-md-level; + description + "MD level"; + } + leaf version { + type uint8; + description + "Version"; + } + leaf interval { + type Cfm-bag-ccm-interval; + description + "CCM interval"; + } + leaf rdi { + type boolean; + description + "Remote defect indicated"; + } + leaf sequence-number { + type uint32; + description + "CCM sequence number"; + } + leaf mep-id { + type uint16; + description + "MEP ID"; + } + leaf mdid-format { + type uint8; + description + "MDID Format"; + } + leaf short-ma-name-format { + type uint8; + description + "Short MA Name format"; + } + } + + grouping CFM-PM-CCM-V2 { + description + "Continuity check message (CCM)"; + container header { + description + "Frame header"; + uses CFM-PM-CCM-HDR-V2; + } + container sender-id { + description + "Sender ID TLV"; + uses CFM-PM-SENDER-ID; + } + container mep-name { + description + "MEP name"; + uses CFM-PM-MEP-NAME; + } + leaf port-status { + type Cfm-pm-port-status; + description + "Port status"; + } + leaf interface-status { + type Cfm-pm-intf-status; + description + "Interface status"; + } + leaf additional-interface-status { + type Cfm-pm-addl-intf-status; + description + "Additional interface status"; + } + leaf raw-data { + type yang:hex-string; + description + "Undecoded frame"; + } + list organization-specific-tlv { + description + "Organizational-specific TLVs"; + uses CFM-PM-ORG-SPEC-TLV; + } + list unknown-tlv { + description + "Unknown TLVs"; + uses CFM-PM-UNKNOWN-TLV; + } + } + + grouping CFM-PM-REMOTE-MEP-V2 { + description + "Peer maintenance endpoint (MEP)"; + container error-state { + description + "Error state"; + uses CFM-PM-RMEP-ERR-STATE; + } + container last-up-down-time { + description + "Elapsed time since peer MEP became active or + timed out"; + uses CFM-PM-TIMESTAMP; + } + container last-ccm-received { + description + "Last CCM received from the peer MEP"; + uses CFM-PM-CCM-V2; + } + container statistics { + description + "Peer MEP statistics"; + uses CFM-PM-REMOTE-MEP-STATS; + } + leaf mep-id { + type uint16; + description + "MEP ID"; + } + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + leaf cross-check-state { + type Cfm-pm-rmep-xc-state; + description + "Cross-check state"; + } + leaf peer-mep-state { + type Cfm-pm-rmep-state; + description + "State of the peer MEP state machine"; + } + leaf ccm-offload { + type Cfm-bag-ccm-offload; + description + "Offload status of received CCM handling"; + } + } + + grouping CFM-PM-REMOTE-MEPS-V2-BAG { + description + "Peer MEPs table entry"; + container peer-mep { + description + "Peer MEP"; + uses CFM-PM-REMOTE-MEP-V2; + } + leaf domain-xr { + type string; + description + "Maintenance domain name"; + } + leaf service-xr { + type string; + description + "Service name"; + } + leaf level { + type Cfm-bag-md-level; + description + "Maintenance level"; + } + leaf mep-id { + type uint16; + description + "MEP ID"; + } + leaf interface-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf mep-direction { + type Cfm-bag-direction; + description + "MEP facing direction"; + } + leaf standby { + type boolean; + description + "The local MEP is on an interface in standby mode"; + } + } + + grouping CFM-PM-MEP-AIS-STATS { + description + "Local MEP AIS information"; + container sending-start { + description + "Time elapsed since AIS sending started"; + uses CFM-PM-TIMESTAMP; + } + container receiving-start { + description + "Time elapsed since AIS receiving started"; + uses CFM-PM-TIMESTAMP; + } + leaf level { + type Cfm-bag-md-level; + description + "AIS transmission level"; + } + leaf interval { + type Cfm-bag-ais-interval; + description + "AIS transmission interval"; + } + leaf sending-ais { + type Cfm-pm-ais-transmit; + description + "Details of how AIS is being transmitted"; + } + leaf receiving-ais { + type Cfm-pm-ais-receive; + description + "Details of how the signal is being received"; + } + leaf last-interval { + type Cfm-bag-ais-interval; + description + "The interval of the last received AIS packet"; + } + leaf last-mac-address { + type Mac-address; + description + "Source MAC address of the last received AIS + packet"; + } + } + + grouping CFM-PM-MEP-STATS { + description + "Local MEP statistics"; + leaf ccms-sent { + type uint64; + description + "Number of CCMs sent"; + } + leaf ccms-received { + type uint64; + description + "Number of CCMs received"; + } + leaf ccms-out-of-sequence { + type uint64; + description + "Number of CCMs received out-of-sequence"; + } + leaf ccms-discarded { + type uint64; + description + "Number of CCMs discarded because maximum MEPs + limit was reached"; + } + leaf lb-ms-sent { + type uint64; + description + "Number of LBMs sent"; + } + leaf lb-rs-sent { + type uint64; + description + "Number of LBRs sent"; + } + leaf lb-rs-received { + type uint64; + description + "Number of LBRs received"; + } + leaf lb-rs-out-of-sequence { + type uint64; + description + "Number of LBRs received out-of-sequence"; + } + leaf lb-rs-bad-data { + type uint64; + description + "Number of LBRs received with non-matching + user-specified data"; + } + leaf lb-ms-received { + type uint64; + description + "Number of LBMs received"; + } + leaf lt-rs-received-unexpected { + type uint64; + description + "Number of unexpected LTRs received"; + } + leaf lt-rs-received { + type uint64; + description + "Number of LTRs received"; + } + leaf lt-rs-sent { + type uint64; + description + "Number of LTRs sent"; + } + leaf lt-ms-received { + type uint64; + description + "Number of LTMs received"; + } + leaf lt-ms-sent { + type uint64; + description + "Number of LTMs sent"; + } + leaf ai-ss-sent { + type uint64; + description + "Number of AIS messages sent"; + } + leaf ai-ss-received { + type uint64; + description + "Number of AIS messages received"; + } + leaf lc-ks-received { + type uint64; + description + "Number of LCK messages received"; + } + leaf dm-ms-sent { + type uint64; + description + "Number of DMM messages sent"; + } + leaf dm-ms-received { + type uint64; + description + "Number of DMM messages received"; + } + leaf dm-rs-sent { + type uint64; + description + "Number of DMR messages sent"; + } + leaf dm-rs-received { + type uint64; + description + "Number of DMR messages received"; + } + leaf sl-ms-sent { + type uint64; + description + "Number of SLM messages sent"; + } + leaf sl-ms-received { + type uint64; + description + "Number of SLM messages received"; + } + leaf sl-rs-sent { + type uint64; + description + "Number of SLR messages sent"; + } + leaf sl-rs-received { + type uint64; + description + "Number of SLR messages received"; + } + leaf lm-ms-sent { + type uint64; + description + "Number of LMM messages sent"; + } + leaf lm-ms-received { + type uint64; + description + "Number of LMM messages received"; + } + leaf lm-rs-sent { + type uint64; + description + "Number of LMR messages sent"; + } + leaf lm-rs-received { + type uint64; + description + "Number of LMR messages received"; + } + leaf bn-ms-received { + type uint64; + description + "Number of BNM messages received"; + } + leaf bn-ms-discarded { + type uint64; + description + "Number of BNM messages discarded"; + } + leaf ll-ms-sent { + type uint64; + description + "Number of LLM messages sent"; + } + leaf ll-ms-received { + type uint64; + description + "Number of LLM messages received"; + } + leaf ll-rs-sent { + type uint64; + description + "Number of LLR messages sent"; + } + leaf ll-rs-received { + type uint64; + description + "Number of LLR messages received"; + } + leaf los-csfs-received { + type uint64; + description + "Number of LOS CSF messages received"; + } + leaf rdi-csfs-received { + type uint64; + description + "Number of RDI CSF messages received"; + } + leaf fdi-csfs-received { + type uint64; + description + "Number of FDI CSF messages received"; + } + leaf dci-csfs-received { + type uint64; + description + "Number of DCI CSF messages received"; + } + leaf los-csfs-sent { + type uint64; + description + "Number of LOS CSF messages sent"; + } + leaf dci-csfs-sent { + type uint64; + description + "Number of DCI CSF messages sent"; + } + } + + grouping CFM-PM-MEP-STATS-BAG { + description + "Local MEP table entry"; + container statistics { + description + "MEP statistics"; + uses CFM-PM-MEP-STATS; + } + container ais-statistics { + description + "MEP AIS statistics"; + uses CFM-PM-MEP-AIS-STATS; + } + container defects { + description + "Defects detected from peer MEPs"; + uses CFM-PM-DEFECTS; + } + leaf domain-xr { + type string; + description + "Maintenance domain name"; + } + leaf service-xr { + type string; + description + "Service name"; + } + leaf level { + type Cfm-bag-md-level; + description + "Maintenance level"; + } + leaf mep-id-xr { + type uint16; + description + "MEP ID"; + } + leaf interface-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf interface-state { + type string; + description + "IM Interface state"; + } + leaf interworking-state { + type Cfm-bag-iw-state; + description + "Interface interworking state"; + } + leaf stp-state { + type Cfm-bag-stp-state; + description + "STP state"; + } + leaf mep-direction { + type Cfm-bag-direction; + description + "MEP facing direction"; + } + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + leaf peer-meps-detected { + type uint32; + description + "Number of peer MEPs detected"; + } + leaf peer-meps-with-errors-detected { + type uint32; + description + "Number of peer MEPs detected with errors"; + } + leaf remote-defect { + type boolean; + description + "Remote defect indicated"; + } + leaf fault-notification-state { + type Cfm-pm-mep-fng-state; + description + "Fault Notification Generation state"; + } + leaf ccm-generation-enabled { + type boolean; + description + "CCM generation enabled"; + } + leaf ccm-interval { + type Cfm-bag-ccm-interval; + description + "The interval between CCMs"; + } + leaf ccm-offload { + type Cfm-bag-ccm-offload; + description + "Offload status of CCM processing"; + } + leaf highest-defect { + type Cfm-pm-mep-defect; + description + "Highest-priority defect present since last FNG + reset"; + } + leaf rdi-defect { + type boolean; + description + "A peer MEP RDI defect has been reported"; + } + leaf mac-status-defect { + type boolean; + description + "A peer MEP port or interface status error has + been reported"; + } + leaf peer-mep-ccm-defect { + type boolean; + description + "A peer MEP CCM error has been reported"; + } + leaf error-ccm-defect { + type boolean; + description + "A CCM error has been reported"; + } + leaf cross-connect-ccm-defect { + type boolean; + description + "A cross-connect CCM error has been reported"; + } + leaf next-lbm-id { + type uint32; + description + "Next Transaction ID to be sent in a Loopback + Message"; + } + leaf next-ltm-id { + type uint32; + description + "Next Transaction ID to be sent in a Linktrace + Message"; + } + leaf cos { + type uint8; + description + "CoS bits the MEP will use for sent packets, if + configured"; + } + leaf efd-triggered { + type boolean; + description + "EFD triggered on the interface"; + } + leaf standby { + type boolean; + description + "The local MEP is on an interface in standby mode"; + } + leaf hairpin { + type boolean; + description + "MEP is on a sub-interface in the same + bridge-domain and on the same trunk interface as + another sub-interface"; + } + leaf defects-ignored { + type boolean; + description + "Defects present but ignored due to 'report + defects' configuration"; + } + leaf tx-disable-triggered { + type boolean; + description + "TX disable triggered"; + } + leaf restore-timer { + type uint32; + description + "Restore timer"; + } + leaf receiving-csf { + type boolean; + description + "Receiving CSF"; + } + leaf sending-csf { + type boolean; + description + "Sending CSF"; + } + leaf csf-interval { + type uint32; + description + "CSF packet interval"; + } + leaf cos-bits { + type uint32; + description + "CoS bits"; + } + leaf csf-started { + type uint32; + description + "Time when CSF packets were first sent"; + } + leaf received-csf-interval { + type Cfm-bag-ccm-interval; + description + "Time at which we are receiving CSF packets"; + } + leaf csf-received { + type uint32; + description + "Time when CSF packets were first received"; + } + } + + grouping CFM-PM-ELR-REPLY-EGRESS { + description + "ELR Reply egress TLV"; + container last-egress-id { + description + "Last Egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container next-egress-id { + description + "Next Egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container port-id { + description + "Port ID"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-elr-egress-action; + description + "Reply egress action"; + } + leaf mac-address { + type Mac-address; + description + "MAC address of egress interface"; + } + } + + grouping CFM-PM-ELR-REPLY-INGRESS { + description + "ELR Reply ingress TLV"; + container last-egress-id { + description + "Last egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container next-egress-id { + description + "Next egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container port-id { + description + "Port ID"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-elr-ingress-action; + description + "ELR Reply ingress action"; + } + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + } + + grouping CFM-PM-ELR-HDR { + description + "ELR frame header"; + leaf level { + type Cfm-bag-md-level; + description + "MD level"; + } + leaf version { + type uint8; + description + "Version"; + } + leaf forwarded { + type boolean; + description + "ELR was forwarded"; + } + leaf terminal-mep { + type boolean; + description + "Terminal MEP reached"; + } + leaf reply-filter-unknown { + type boolean; + description + "Reply Filter unrecognized"; + } + leaf transaction-id { + type uint32; + description + "Transaction ID"; + } + leaf ttl { + type uint8; + description + "TTL"; + } + leaf relay-action { + type Cfm-pm-elr-relay-action; + description + "Relay action"; + } + leaf next-hop-timeout { + type uint32; + units "second"; + description + "Next Hop Timeout, in seconds"; + } + leaf delay-model { + type Cfm-pm-elt-delay-model; + description + "Delay Model"; + } + } + + grouping CFM-PM-ELR { + description + "Exploratory Linktrace Reply (ELR) message "; + container header { + description + "Frame header"; + uses CFM-PM-ELR-HDR; + } + container sender-id { + description + "Sender ID TLV"; + uses CFM-PM-SENDER-ID; + } + container reply-ingress { + description + "Reply ingress TLV"; + uses CFM-PM-ELR-REPLY-INGRESS; + } + container reply-egress { + description + "Reply egress TLV"; + uses CFM-PM-ELR-REPLY-EGRESS; + } + container last-hop { + description + "Last hop ID"; + uses CFM-PM-LAST-HOP; + } + leaf raw-data { + type yang:hex-string; + description + "Undecoded frame"; + } + list organization-specific-tlv { + description + "Organizational-specific TLVs"; + uses CFM-PM-ORG-SPEC-TLV; + } + list unknown-tlv { + description + "Unknown TLVs"; + uses CFM-PM-UNKNOWN-TLV; + } + } + + grouping CFM-PM-LAST-HOP { + description + "Last hop type"; + container egress-id { + when "../last-hop-format = 'last-hop-egress-id'" { + description + "../LastHopFormat = 'LastHopEgressID'"; + } + description + "Egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + leaf last-hop-format { + type Cfm-pm-last-hop-fmt; + description + "LastHopFormat"; + } + leaf host-name { + when "../last-hop-format = 'last-hop-host-name'" { + description + "../LastHopFormat = 'LastHopHostname'"; + } + type Cfm-bag-optional-string; + description + "Hostname"; + } + } + + grouping CFM-PM-UNKNOWN-TLV { + description + "Unknown TLV"; + leaf typecode { + type uint8; + description + "Type code of TLV"; + } + leaf value { + type yang:hex-string; + description + "Binary data in TLV"; + } + } + + grouping CFM-PM-ORG-SPEC-TLV { + description + "Organizational-specific TLV"; + leaf oui { + type yang:hex-string; + description + "Organizationally-unique ID"; + } + leaf subtype { + type uint8; + description + "Subtype of TLV"; + } + leaf value { + type yang:hex-string; + description + "Binary data in TLV"; + } + } + + grouping CFM-PM-REPLY-EGRESS { + description + "Reply egress TLV"; + container port-id { + description + "Port ID"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-egress-action; + description + "Reply egress action"; + } + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + } + + grouping CFM-PM-PORT-ID-VAL { + description + "Port ID Value"; + leaf port-id-format { + type Cfm-pm-id-fmt; + description + "PortIDFormat"; + } + leaf port-id-string { + when "../port-id-format = 'id-format-is-string'" { + description + "../PortIDFormat = 'IDFormatIsString'"; + } + type Cfm-bag-optional-string; + description + "Port ID String"; + } + leaf port-id-mac { + when "../port-id-format = 'id-format-is-mac-address'" { + description + "../PortIDFormat = 'IDFormatIsMACAddress'"; + } + type Mac-address; + description + "Port ID MAC Address"; + } + leaf port-id-raw { + when "../port-id-format != 'id-format-is-string' and ../port-id-format != 'id-format-is-mac-address'" { + description + "../PortIDFormat != 'IDFormatIsString' and . + ./PortIDFormat != 'IDFormatIsMACAddress'"; + } + type Cfm-bag-optional-hex-data; + description + "Raw Port ID"; + } + } + + grouping CFM-PM-PORT-ID { + description + "Port ID"; + container port-id-value { + description + "Port ID (Current)"; + uses CFM-PM-PORT-ID-VAL; + } + leaf port-id-type { + type Cfm-pm-port-id-fmt; + description + "Port ID type"; + } + leaf port-id-type-value { + type uint8; + description + "Port ID type value"; + } + leaf port-id { + type yang:hex-string; + description + "Port ID (Deprecated)"; + } + } + + grouping CFM-PM-REPLY-INGRESS { + description + "Reply ingress TLV"; + container port-id { + description + "Port ID"; + uses CFM-PM-PORT-ID; + } + leaf action { + type Cfm-pm-ingress-action; + description + "Reply ingress action"; + } + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + } + + grouping CFM-PM-EGRESS-ID-TYPE { + description + "Egress ID"; + leaf unique-id { + type uint16; + description + "Unique ID"; + } + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + } + + grouping CFM-PM-LTR-EGRESS-ID { + description + "LTR Egress ID TLV"; + container last-egress-id { + description + "Last egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + container next-egress-id { + description + "Next egress ID"; + uses CFM-PM-EGRESS-ID-TYPE; + } + } + + grouping CFM-PM-CHASSIS-ID-VAL { + description + "Chassis ID Value"; + leaf chassis-id-format { + type Cfm-pm-id-fmt; + description + "ChassisIDFormat"; + } + leaf chassis-id-string { + when "../chassis-id-format = 'id-format-is-string'" { + description + "../ChassisIDFormat = 'IDFormatIsString'"; + } + type Cfm-bag-optional-string; + description + "Chassis ID String"; + } + leaf chassis-id-mac { + when "../chassis-id-format = 'id-format-is-mac-address'" { + description + "../ChassisIDFormat = 'IDFormatIsMACAddress'"; + } + type Mac-address; + description + "Chassis ID MAC Address"; + } + leaf chassis-id-raw { + when "../chassis-id-format != 'id-format-is-string' and ../chassis-id-format != 'id-format-is-mac-address'" { + description + "../ChassisIDFormat != 'IDFormatIsString' and . + ./ChassisIDFormat != 'IDFormatIsMACAddress'"; + } + type Cfm-bag-optional-hex-data; + description + "Raw Chassis ID"; + } + } + + grouping CFM-PM-CHASSIS-ID { + description + "Chassis ID"; + container chassis-id-value { + description + "Chassis ID (Current)"; + uses CFM-PM-CHASSIS-ID-VAL; + } + leaf chassis-id-type { + type Cfm-pm-chassis-id-fmt; + description + "Chassis ID Type"; + } + leaf chassis-id-type-value { + type uint8; + description + "Chassis ID Type"; + } + leaf chassis-id { + type yang:hex-string; + description + "Chassis ID (Deprecated)"; + } + } + + grouping CFM-PM-SENDER-ID { + description + "Sender ID TLV"; + container chassis-id { + description + "Chassis ID"; + uses CFM-PM-CHASSIS-ID; + } + leaf management-address-domain { + type yang:hex-string; + description + "Management address domain"; + } + leaf management-address { + type yang:hex-string; + description + "Management address"; + } + } + + grouping CFM-PM-LTR-HDR { + description + "LTR frame header"; + leaf level { + type Cfm-bag-md-level; + description + "MD level"; + } + leaf version { + type uint8; + description + "Version"; + } + leaf use-fdb-only { + type boolean; + description + "Use filtering DB only"; + } + leaf forwarded { + type boolean; + description + "LTR was forwarded"; + } + leaf terminal-mep { + type boolean; + description + "Terminal MEP reached"; + } + leaf transaction-id { + type uint32; + description + "Transaction ID"; + } + leaf ttl { + type uint8; + description + "TTL"; + } + leaf relay-action { + type Cfm-pm-relay-action; + description + "Relay action"; + } + } + + grouping CFM-PM-LTR { + description + "Linktrace reply (LTR) message "; + container header { + description + "Frame header"; + uses CFM-PM-LTR-HDR; + } + container sender-id { + description + "Sender ID TLV"; + uses CFM-PM-SENDER-ID; + } + container egress-id { + description + "Egress ID TLV"; + uses CFM-PM-LTR-EGRESS-ID; + } + container reply-ingress { + description + "Reply ingress TLV"; + uses CFM-PM-REPLY-INGRESS; + } + container reply-egress { + description + "Reply egress TLV"; + uses CFM-PM-REPLY-EGRESS; + } + container last-hop { + description + "Last hop ID"; + uses CFM-PM-LAST-HOP; + } + leaf raw-data { + type yang:hex-string; + description + "Undecoded frame"; + } + list organization-specific-tlv { + description + "Organizational-specific TLVs"; + uses CFM-PM-ORG-SPEC-TLV; + } + list unknown-tlv { + description + "Unknown TLVs"; + uses CFM-PM-UNKNOWN-TLV; + } + } + + grouping CFM-PM-MEP-TR-CACHE-BAG { + description + "Traceroute cache table entry"; + container traceroute-information { + description + "Information about the traceroute operation"; + uses CFM-PM-LT-INFO; + } + leaf replies-dropped { + type uint32; + description + "Count of ignored replies for this request"; + } + list linktrace-reply { + description + "Received linktrace replies"; + uses CFM-PM-LTR; + } + list exploratory-linktrace-reply { + description + "Received exploratory linktrace replies"; + uses CFM-PM-ELR; + } + } + + grouping CFM-PM-LT-OPTS-EXPLORATORY { + description + "options for an Exploratory Linktrace"; + leaf delay-model { + type Cfm-pm-elt-delay-model; + description + "Delay model for delay calculations"; + } + leaf delay-constant-factor { + type uint32; + description + "Constant Factor for delay calculations"; + } + leaf reply-filter { + type Cfm-pm-elm-reply-filter; + description + "Reply Filtering mode used by responders"; + } + } + + grouping CFM-PM-LT-OPTS-BASIC { + description + "Options for a basic IEEE 802.1ag Linktrace"; + leaf is-auto { + type boolean; + description + "Traceroute was initiated automatically"; + } + leaf fdb-only { + type boolean; + description + "Only use the Filtering Database for forwarding + lookups"; + } + } + + grouping CFM-PM-LT-OPTS { + description + "Options affecting the behavior of the traceroute"; + container basic-options { + when "../mode = 'cfm-pm-lt-mode-basic'" { + description + "../Mode = 'CFM_PM_LT_MODE_BASIC'"; + } + description + "Options for a basic IEEE 802.1ag Linktrace"; + uses CFM-PM-LT-OPTS-BASIC; + } + container exploratory-options { + when "../mode = 'cfm-pm-lt-mode-exploratory'" { + description + "../Mode = 'CFM_PM_LT_MODE_EXPLORATORY'"; + } + description + "Options for an Exploratory Linktrace"; + uses CFM-PM-LT-OPTS-EXPLORATORY; + } + leaf mode { + type Cfm-pm-lt-mode; + description + "Mode"; + } + } + + grouping CFM-PM-LT-INFO { + description + "Information about a traceroute request"; + container options { + description + "Options affecting traceroute behavior"; + uses CFM-PM-LT-OPTS; + } + leaf domain { + type string; + description + "Maintenance domain name"; + } + leaf service { + type string; + description + "Service name"; + } + leaf level { + type Cfm-bag-md-level; + description + "Maintenance level"; + } + leaf source-mep-id { + type uint16; + description + "Source MEP ID"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface"; + } + leaf source-mac-address { + type Mac-address; + description + "Source MAC address"; + } + leaf target-mac-address { + type Mac-address; + description + "Target MAC address"; + } + leaf directed-mac-address { + type Mac-address; + description + "Directed MAC address"; + } + leaf target-mep-id { + type uint16; + description + "Target MEP ID"; + } + leaf timestamp { + type uint64; + units "second"; + description + "Timestamp of initiation time (seconds)"; + } + leaf ttl { + type uint8; + description + "Time to live"; + } + leaf transaction-id { + type uint32; + description + "Transaction ID"; + } + } + + grouping CFM-PM-MEP-INCOMPLETE-TR-BAG { + description + "Local MEP incomplete traceroute table entry"; + container traceroute-information { + description + "Information about the traceroute operation"; + uses CFM-PM-LT-INFO; + } + leaf time-left { + type uint64; + units "second"; + description + "Time (in seconds) before the traceroute + completes"; + } + } + + grouping CFM-PM-CLDB-BAG { + description + "Continuity check message learning database table + entry"; + leaf domain-xr { + type string; + description + "Maintenance domain name"; + } + leaf level { + type Cfm-bag-md-level; + description + "Maintenance level"; + } + leaf service-xr { + type string; + description + "Maintenance association name"; + } + leaf source-mac-address { + type Mac-address; + description + "Source MAC address"; + } + leaf ingress-interface { + type uint32; + description + "The XID of the ingress interface for the CCM"; + } + leaf stale { + type boolean; + description + "The XID is stale and may have been reused for a + different interface"; + } + leaf ingress-interface-string { + type string; + description + "String representation of the Bridge Domain or + Cross-Connect associated with the ingress XID"; + } + } + + grouping CFM-PM-MALF-PKT-DATA { + description + "Structure to hold information about one packet"; + leaf reason { + type Cfm-pm-pkt-action; + description + "Reason for being malformed"; + } + leaf direction { + type Cfm-bag-pkt-direction; + description + "Direction the packet was travelling in"; + } + leaf source-mac-address { + type Mac-address; + description + "Source MAC address"; + } + leaf dest-mac-address { + type Mac-address; + description + "Destination MAC address"; + } + leaf timestamp { + type uint32; + units "second"; + description + "Timestamp for the packet in seconds"; + } + leaf timestamp-msec { + type uint32; + description + "Millisecond resolution for the timestamp"; + } + leaf interface-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf packet-content { + type yang:hex-string; + description + "Raw packet content"; + } + } + + grouping CFM-PM-MALF-PKT-IFH-BAG { + description + "Array of malformed packets for one interface"; + list malformed-packet-array { + description + "Malformed Packet Array"; + uses CFM-PM-MALF-PKT-DATA; + } + } + + grouping CFM-PM-EFP-LLF-MEP { + description + "Bag for a single MEP on an interface for the LLF + table"; + container defects { + description + "Defects detected"; + uses CFM-PM-DEFECTS; + } + leaf mep-id { + type uint16; + description + "MEP ID"; + } + leaf restore-timer { + type uint32; + description + "Restore timer"; + } + } + + grouping CFM-PM-EFP-LLF-BAG { + description + "Local interface LLF table entry"; + leaf interface-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf interface-state { + type string; + description + "IM Interface state"; + } + leaf interworking-state { + type Cfm-bag-iw-state; + description + "Interface interworking state"; + } + leaf stp-state { + type Cfm-bag-stp-state; + description + "STP state"; + } + list meps { + description + "List of MEPs on interface"; + uses CFM-PM-EFP-LLF-MEP; + } + } + + grouping CFM-PM-EFP-STATS { + description + "EFP statistics"; + leaf malformed-packets { + type uint64; + description + "Number of malformed packets received at this EFP"; + } + leaf dropped-packets { + type uint64; + description + "Number of packets dropped at this EFP"; + } + leaf last-malformed-opcode { + type Cfm-bag-opcode; + description + "Opcode for last malformed packet"; + } + leaf last-malformed-reason { + type Cfm-pm-pkt-action; + description + "Reason last malformed packet was malformed"; + } + } + + grouping CFM-PM-EFP-STATS-BAG { + description + "Local interface statistics table entry"; + container statistics { + description + "EFP statistics"; + uses CFM-PM-EFP-STATS; + } + leaf interface-xr { + type xr:Interface-name; + description + "Interface"; + } + } + + grouping CFM-PM-BNM { + description + "Last BNM Received details"; + container time-received { + description + "Time elapsed since BNM received"; + uses CFM-PM-TIMESTAMP; + } + leaf nominal-bandwidth { + type uint32; + description + "Nominal bandwidth"; + } + leaf current-bandwidth { + type uint32; + description + "Current bandwidth"; + } + leaf interval { + type Cfm-bag-bnm-interval; + description + "Interval"; + } + leaf packet-type { + type Cfm-pm-bnm-packet; + description + "Packet type"; + } + } + + grouping CFM-PM-BNM-LINK { + description + "BNM Enabled Link"; + container time-in-state { + description + "Elapsed time in this state"; + uses CFM-PM-TIMESTAMP; + } + container last-bnm-received { + description + "Last BNM received"; + uses CFM-PM-BNM; + } + leaf port-id { + type uint32; + description + "Port ID"; + } + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + leaf bnm-link-state { + type Cfm-pm-bnm-link-state; + description + "State of the BNM Enabled Link state machine"; + } + leaf nominal-bandwidth { + type uint32; + description + "Nominal Bandwidth"; + } + leaf reported-bandwidth { + type uint32; + description + "Reported Bandwidth"; + } + leaf transitions-to-degraded { + type uint32; + description + "Number of transitions into degraded state"; + } + leaf holdoff-remaining { + type uint32; + description + "Time remaining on hold-off timer"; + } + leaf wait-to-restore-remaining { + type uint32; + description + "Time remaining on wait-to-restore timer"; + } + leaf bn-ms-received { + type uint32; + description + "Number of BNMs received"; + } + } + + grouping CFM-PM-BNM-LINK-BAG { + description + "BNM Enabled Link table entry"; + container bnm-enabled-link { + description + "BNM Enabled Link"; + uses CFM-PM-BNM-LINK; + } + leaf level { + type Cfm-bag-md-level; + description + "Maintenance level"; + } + leaf interface-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf mep-direction-xr { + type Cfm-bag-direction; + description + "MEP facing direction"; + } + } + + grouping CFM-PM-TIMESTAMP { + description + "Timestamp"; + leaf seconds { + type uint32; + units "second"; + description + "Seconds"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "Nanoseconds"; + } + } + + grouping CFM-PM-RMEP-ERR-STATE { + description + "Error state of a Peer MEP"; + leaf loss-threshold-exceeded { + type boolean; + description + "Timed out (loss threshold exceeded)"; + } + leaf invalid-level { + type boolean; + description + "Invalid level"; + } + leaf invalid-maid { + type boolean; + description + "Invalid MAID"; + } + leaf invalid-ccm-interval { + type boolean; + description + "Invalid CCM interval"; + } + leaf received-our-mac { + type boolean; + description + "Loop detected (our MAC address received)"; + } + leaf received-our-mep-id { + type boolean; + description + "Configuration Error (our MEP ID received)"; + } + leaf received-rdi { + type boolean; + description + "Remote defection indication received"; + } + } + + grouping CFM-PM-DEFECTS { + description + "Defects detected from peer MEPs"; + container remote-meps-defects { + description + "Defects detected from remote MEPs"; + uses CFM-PM-RMEP-ERR-STATE; + } + leaf ais-received { + type boolean; + description + "AIS or LCK received"; + } + leaf csf-received { + type boolean; + description + "CSF packet received indicating a defect"; + } + leaf peer-meps-that-timed-out { + type uint32; + description + "Number of peer MEPs that have timed out"; + } + leaf missing { + type uint32; + description + "Number of missing peer MEPs"; + } + leaf auto-missing { + type uint32; + description + "Number of missing auto cross-check MEPs"; + } + leaf unexpected { + type uint32; + description + "Number of unexpected peer MEPs"; + } + leaf local-port-status { + type boolean; + description + "The local port or interface is down"; + } + leaf peer-port-status { + type boolean; + description + "A peer port or interface is down"; + } + } + + grouping CFM-PM-AIS-STATS { + description + "AIS statistics"; + container defects { + description + "Defects detected"; + uses CFM-PM-DEFECTS; + } + container last-started { + description + "Time elapsed since sending last started"; + uses CFM-PM-TIMESTAMP; + } + leaf direction { + type Cfm-bag-direction; + description + "Direction of AIS packets"; + } + leaf lowest-level { + type Cfm-bag-md-level; + description + "Level of the lowest MEP transmitting AIS"; + } + leaf transmission-level { + type Cfm-bag-md-level; + description + "Level that AIS packets are transmitted on"; + } + leaf transmission-interval { + type Cfm-bag-ais-interval; + description + "Interval at which AIS packets are transmitted"; + } + leaf sent-packets { + type uint32; + description + "Total number of packets sent by the transmitting + MEP"; + } + leaf-list via-level { + type Cfm-bag-md-level; + description + "Levels of other MEPs receiving AIS"; + } + } + + grouping CFM-PM-EFP-AIS-BAG { + description + "Local interface AIS table entry"; + container statistics { + description + "AIS statistics"; + uses CFM-PM-AIS-STATS; + } + leaf interface-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf interface-state { + type string; + description + "IM Interface state"; + } + leaf interworking-state { + type Cfm-bag-iw-state; + description + "Interface interworking state"; + } + leaf stp-state { + type Cfm-bag-stp-state; + description + "STP state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub3.yang new file mode 100644 index 000000000..704bed117 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub3.yang @@ -0,0 +1,1155 @@ +submodule Cisco-IOS-XR-ethernet-cfm-oper-sub3 { + belongs-to Cisco-IOS-XR-ethernet-cfm-oper { + prefix Cisco-IOS-XR-ethernet-cfm-oper; + } + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ethernet-cfm package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-18 { + description + "Added CSF packet counters. + 2021-10-22 + Added counters for missing MEP offload intervals. + 2021-09-02 + Added support for LTM statistics."; + semver:module-version "1.3.1M"; + } + revision 2020-10-07 { + description + "Added the Link Loss Forwarding feature."; + semver:module-version "1.3.0"; + } + revision 2020-07-07 { + description + "Added SLA summary information."; + semver:module-version "1.2.0"; + } + revision 2019-10-02 { + description + "Bandwidth notification addition"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-20 { + description + "Bandwidth notification class and type name update."; + } + revision 2017-10-06 { + description + "Traceroute transaction ID changed from int to uint."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Cfm-bag-sman-fmt { + type enumeration { + enum "sman-vlan-id" { + value 1; + description + "Short MA Name is a 12-bit VLAN-ID"; + } + enum "sman-string" { + value 2; + description + "Short MA Name is a character string"; + } + enum "sman-uint16" { + value 3; + description + "Short MA Name is a 16-bit unsigned integer"; + } + enum "sman-vpn-id" { + value 4; + description + "Short MA Name is a global VPN identifier"; + } + enum "sman-icc" { + value 32; + description + "Short MA Name uses the ICC-based format"; + } + enum "sman-unknown" { + value 33; + description + "Unknown Short MA Name format"; + } + } + description + "Short MA Name format"; + } + + typedef Cfm-bag-mdid-fmt { + type enumeration { + enum "mdid-null" { + value 1; + description + "MDID is explicity NULL"; + } + enum "mdid-dns-like" { + value 2; + description + "MDID is based on a DNS name"; + } + enum "mdid-mac-address" { + value 3; + description + "MDID is a (MAC address, integer) pair"; + } + enum "mdid-string" { + value 4; + description + "MDID is a character string"; + } + enum "mdid-unknown" { + value 5; + description + "Unknown MDID format"; + } + } + description + "CFM MDID format"; + } + + typedef Cfm-bag-ccm-offload { + type enumeration { + enum "offload-none" { + description + "CCM processing has not been offloaded"; + } + enum "offload-software" { + description + "CCM processing has been offloaded to software"; + } + enum "offload-hardware" { + description + "CCM processing has been offloaded to hardware"; + } + } + description + "Offload status of CCM processing"; + } + + typedef Cfm-bag-optional-hex-data { + type yang:hex-string; + description + "Hex binary data which may be optionally present."; + } + + typedef Cfm-bag-optional-string { + type string; + description + "String which may be optionally present."; + } + + typedef Cfm-bag-ccm-interval { + type enumeration { + enum "interval-none" { + value 0; + description + "Invalid CCM interval"; + } + enum "interval3-3ms" { + value 1; + description + "Interval of 3.3ms"; + } + enum "interval10ms" { + value 2; + description + "Interval of 10ms"; + } + enum "interval100ms" { + value 3; + description + "Interval of 100ms"; + } + enum "interval1s" { + value 4; + description + "Interval of 1s"; + } + enum "interval10s" { + value 5; + description + "Interval of 10s"; + } + enum "interval1m" { + value 6; + description + "Interval of 1 min"; + } + enum "interval10m" { + value 7; + description + "Interval of 10 mins"; + } + } + description + "CFM CCM intervals"; + } + + typedef Cfm-bag-bdid-fmt { + type enumeration { + enum "invalid" { + value 0; + description + "Invalid BDID identifier format"; + } + enum "bd-id" { + value 1; + description + "Identifier is a bridge domain ID"; + } + enum "xc-p2p-id" { + value 2; + description + "Identifier is a P2P cross-connect ID"; + } + enum "xc-mp2mp-id" { + value 3; + description + "Identifier is a MP2MP cross-connect ID"; + } + enum "fxc-vlan-aware-id" { + value 4; + description + "Identifier is a VLAN-aware flexible + cross-connect ID"; + } + enum "fxc-vlan-unaware-id" { + value 5; + description + "Identifier is a VLAN-unaware flexible + cross-connect ID"; + } + enum "down-only" { + value 6; + description + "Identifier is a maintenance association name"; + } + } + description + "Bridge domain identifier format"; + } + + typedef Cfm-ma-mp-variety { + type enumeration { + enum "mip" { + description + "MIP"; + } + enum "up-mep" { + description + "Up MEP"; + } + enum "down-mep" { + description + "Down MEP"; + } + enum "unknown-mep" { + description + "Unknown MEP"; + } + } + description + "CFM MA Maintenance Point varieties"; + } + + typedef Cfm-bag-issu-role { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown"; + } + enum "primary" { + value 1; + description + "Primary"; + } + enum "secondary" { + value 2; + description + "Secondary"; + } + } + description + "CFM ISSU role"; + } + + typedef Cfm-bag-pkt-direction { + type enumeration { + enum "direction-ingress" { + value 0; + description + "Ingress"; + } + enum "direction-egress" { + value 1; + description + "Egress"; + } + } + description + "Packet direction"; + } + + typedef Cfm-bag-opcode { + type enumeration { + enum "reserved" { + value 0; + description + "Reserved"; + } + enum "ccm" { + value 1; + description + "Continuity Check"; + } + enum "lbr" { + value 2; + description + "Loopback Reply"; + } + enum "lbm" { + value 3; + description + "Loopback Message"; + } + enum "ltr" { + value 4; + description + "Linktrace Reply"; + } + enum "ltm" { + value 5; + description + "Linktrace Message"; + } + } + description + "CFM Opcode"; + } + + typedef Cfm-bag-bnm-interval { + type enumeration { + enum "bnm-interval-none" { + value 0; + description + "Invalid BNM interval"; + } + enum "bnm-interval1s" { + value 4; + description + "Interval of 1s"; + } + enum "bnm-interval10s" { + value 5; + description + "Interval of 10s"; + } + enum "bnm-interval1m" { + value 6; + description + "Interval of 1 min"; + } + } + description + "CFM BNM intervals"; + } + + typedef Mac-address { + type yang:mac-address; + description + "MAC address type"; + } + + typedef Cfm-bag-ais-interval { + type enumeration { + enum "ais-interval-none" { + value 0; + description + "Invalid AIS interval"; + } + enum "ais-interval1s" { + value 4; + description + "Interval of 1s"; + } + enum "ais-interval1m" { + value 6; + description + "Interval of 1 min"; + } + } + description + "CFM AIS intervals"; + } + + typedef Cfm-bag-md-level { + type enumeration { + enum "level0" { + value 0; + description + "CFM level 0"; + } + enum "level1" { + value 1; + description + "CFM level 1"; + } + enum "level2" { + value 2; + description + "CFM level 2"; + } + enum "level3" { + value 3; + description + "CFM level 3"; + } + enum "level4" { + value 4; + description + "CFM level 4"; + } + enum "level5" { + value 5; + description + "CFM level 5"; + } + enum "level6" { + value 6; + description + "CFM level 6"; + } + enum "level7" { + value 7; + description + "CFM level 7"; + } + enum "level-invalid" { + value 8; + description + "Invalid CFM level"; + } + } + description + "CFM level"; + } + + typedef Cfm-bag-direction { + type enumeration { + enum "direction-up" { + value 0; + description + "Up"; + } + enum "direction-down" { + value 1; + description + "Down"; + } + enum "direction-invalid" { + value 2; + description + "Invalid direction"; + } + } + description + "MEP direction"; + } + + typedef Cfm-bag-stp-state { + type enumeration { + enum "stp-up" { + description + "Interface is UP"; + } + enum "stp-blocked" { + description + "Interface is STP-blocked"; + } + enum "stp-unknown" { + description + "Unknown Interface STP state"; + } + } + description + "CFM STP state"; + } + + typedef Cfm-bag-iw-state { + type enumeration { + enum "interworking-up" { + description + "Interface is UP"; + } + enum "interworking-test" { + description + "Interface is in TEST mode"; + } + } + description + "CFM Interworking state"; + } + + grouping CFM-BAG-SMAN-VPNID-NAME { + description + "Short MA Name VPN ID name"; + leaf oui { + type uint32; + description + "VPN authority organizationally-unique ID"; + } + leaf index { + type uint32; + description + "VPN index"; + } + } + + grouping CFM-BAG-SMAN-V2 { + description + "Short MA Name types"; + container vpn-id-name { + when "../short-ma-name-format-value = 'sman-vpn-id'" { + description + "../ShortMANameFormatValue = 'SMAN_VPN_ID'"; + } + description + "VPN ID name"; + uses CFM-BAG-SMAN-VPNID-NAME; + } + leaf short-ma-name-format-value { + type Cfm-bag-sman-fmt; + description + "ShortMANameFormatValue"; + } + leaf vlan-id-name { + when "../short-ma-name-format-value = 'sman-vlan-id'" { + description + "../ShortMANameFormatValue = 'SMAN_VLAN_ID'"; + } + type uint16; + description + "VLAN ID name"; + } + leaf string-name { + when "../short-ma-name-format-value = 'sman-string'" { + description + "../ShortMANameFormatValue = 'SMANString'"; + } + type Cfm-bag-optional-string; + description + "String name"; + } + leaf integer-name { + when "../short-ma-name-format-value = 'sman-uint16'" { + description + "../ShortMANameFormatValue = 'SMAN_UINT16'"; + } + type uint16; + description + "Unsigned integer name"; + } + leaf icc-based { + when "../short-ma-name-format-value = 'sman-icc'" { + description + "../ShortMANameFormatValue = 'SMAN_ICC'"; + } + type Cfm-bag-optional-string; + description + "ICC-based format"; + } + leaf short-ma-name-data { + when "../short-ma-name-format-value = 'sman-unknown'" { + description + "../ShortMANameFormatValue = 'SMANUnknown'"; + } + type Cfm-bag-optional-hex-data; + description + "Hex data"; + } + } + + grouping CFM-BAG-MDID-MAC-NAME { + description + "MDID MAC name"; + leaf mac-address { + type Mac-address; + description + "MAC address"; + } + leaf integer { + type uint16; + description + "Integer"; + } + } + + grouping CFM-BAG-MDID-V2 { + description + "MDID types"; + container mac-name { + when "../mdid-format-value = 'mdid-mac-address'" { + description + "../MDIDFormatValue = 'MDID_MACAddress'"; + } + description + "MAC address name"; + uses CFM-BAG-MDID-MAC-NAME; + } + leaf mdid-format-value { + type Cfm-bag-mdid-fmt; + description + "MDIDFormatValue"; + } + leaf dns-like-name { + when "../mdid-format-value = 'mdid-dns-like'" { + description + "../MDIDFormatValue = 'MDID_DNSLike'"; + } + type Cfm-bag-optional-string; + description + "DNS-like name"; + } + leaf string-name { + when "../mdid-format-value = 'mdid-string'" { + description + "../MDIDFormatValue = 'MDIDString'"; + } + type Cfm-bag-optional-string; + description + "String name"; + } + leaf mdid-data { + when "../mdid-format-value = 'mdid-unknown'" { + description + "../MDIDFormatValue = 'MDIDUnknown'"; + } + type Cfm-bag-optional-hex-data; + description + "Hex data"; + } + } + + grouping CFM-BAG-SAT-PDU-CAPS { + description + "Satellite PDU Capabilities"; + leaf responder { + type boolean; + description + "Responder"; + } + leaf controller { + type boolean; + description + "Controller"; + } + } + + grouping CFM-BAG-SAT-ACCESS-PORT-CAPS { + description + "Satellite access port capabilities"; + container loopback { + description + "Loopback"; + uses CFM-BAG-SAT-PDU-CAPS; + } + container delay-measurement { + description + "Delay Measurement"; + uses CFM-BAG-SAT-PDU-CAPS; + } + container synthetic-loss-measurement { + description + "Synthetic Loss Measurement"; + uses CFM-BAG-SAT-PDU-CAPS; + } + } + + grouping CFM-MA-MEP-ERRORS { + description + "CFM MA MEP Errors"; + container mep { + description + "The MEP that has errors"; + uses CFM-MA-MP; + } + container service-bridge-domain { + description + "BD/XC ID for the MEP's Service, or Service name + if the Service is 'down-only'"; + uses CFM-BAG-BDID; + } + container interface-bridge-domain { + description + "ID of the BD/XC that the MEP's EFP is in, if any"; + uses CFM-BAG-BDID; + } + container satellite-capabilities { + description + "Satellite Capabilities"; + uses CFM-BAG-SAT-ACCESS-PORT-CAPS; + } + leaf ccm-interval { + type Cfm-bag-ccm-interval; + description + "Interval between CCMs sent on this MEP."; + } + leaf no-domain { + type boolean; + description + "The MEP's Domain is not configured"; + } + leaf no-service { + type boolean; + description + "The MEP's Service is not configured"; + } + leaf bridge-domain-mismatch { + type boolean; + description + "The MEP's EFP is not in the Service's Bridge + Domain"; + } + leaf level-conflict { + type boolean; + description + "Another MEP facing in the same direction is at + the same Maintenance Level"; + } + leaf ccm-interval-not-supported { + type boolean; + description + "CCM Interval is less than minimum interval + supported by hardware"; + } + leaf offload-out-of-resources { + type boolean; + description + "Offload resource limits have been exceeded"; + } + leaf offload-multiple-local-mep { + type boolean; + description + "Multiple offloaded MEPs on the same interface + are not supported."; + } + leaf offload-no-cross-check { + type boolean; + description + "The MEP should be offloaded but crosscheck has + not been configured."; + } + leaf offload-multiple-peer-meps { + type boolean; + description + "The MEP should be offloaded but multiple + crosscheck MEPs have been configured, and this + is not supported."; + } + leaf offload-mep-direction-not-supported { + type boolean; + description + "The MEP direction does not support offload."; + } + leaf ais-configured { + type boolean; + description + "AIS is configured on the same interface as the + down MEP"; + } + leaf bundle-level0 { + type boolean; + description + "The MEP is configured in a domain at level 0, on + a bundle interface or sub-interface. This is + not supported"; + } + leaf bridge-domain-not-in-bd-infra { + type boolean; + description + "A BD/XC specified in the MEG config, but it does + not exist globally."; + } + leaf maid-format-not-supported { + type boolean; + description + "The configured MAID format is not supported for + hardware offload."; + } + leaf sman-format-not-supported { + type boolean; + description + "The configured SMAN format is not supported for + hardware offload."; + } + leaf mdid-format-not-supported { + type boolean; + description + "The configured MDID format is not supported for + hardware offload."; + } + leaf fatal-offload-error { + type boolean; + description + "The platform returned a fatal error when passed + the offload session."; + } + leaf satellite-limitation { + type boolean; + description + "A satellite limitation is preventing MEP being + offloaded to satellite."; + } + leaf sla-loopback-operations-disabled { + type boolean; + description + "In-progress Ethernet SLA loopback operations are + disabled due to satellite having loopback + responder-only capabilities."; + } + leaf sla-synthetic-loss-operations-disabled { + type boolean; + description + "In-progress Ethernet SLA synthetic loss + measurement operations are disabled due to + satellite having synthetic loss measurement + responder-only capabilities."; + } + leaf sla-delay-measurement-operations-disabled { + type boolean; + description + "In-progress Ethernet SLA delay measurement + operations are disabled due to satellite having + delay measurement responder-only capabilities."; + } + leaf sla-threshold-efd-invalid { + type boolean; + description + "One or more SLA thresholds with the EFD action + are configured on a MEP that does not support + EFD"; + } + leaf sla-threshold-efd-disabled { + type boolean; + description + "One or more SLA thresholds with the EFD action + are configured on a MEP that does not have EFD + enabled"; + } + leaf no-valid-mac-address { + type boolean; + description + "The EFP doesn't have a valid MAC address yet. + This will also get set if the MAC address we + have is a multicast address."; + } + leaf no-interface-type { + type boolean; + description + "We haven't yet been able to look up the + interface type to find whether the interface is + a bundle."; + } + leaf not-in-im { + type boolean; + description + "The EFP has been deleted from IM."; + } + leaf no-mlacp { + type boolean; + description + "The EFP is a bundle and the mLACP mode is not + yet known."; + } + leaf satellite-error-string { + type string; + description + "Error string returned from satellite"; + } + leaf satellite-id { + type uint16; + description + "ID of the satellite"; + } + leaf llf-on-down-mep { + type boolean; + description + "LLF configured on a down MEP"; + } + } + + grouping CFM-BAG-BDID { + description + "Bridge domain identifier"; + leaf bridge-domain-id-format { + type Cfm-bag-bdid-fmt; + description + "Bridge domain identifier format"; + } + leaf group { + type string; + description + "Name of the Bridge/XConnect Group"; + } + leaf name { + type string; + description + "Name of the Bridge Domain/XConnect"; + } + leaf ce-id { + type uint16; + description + "Local Customer Edge Identifier (CE-ID)"; + } + leaf remote-ce-id { + type uint16; + description + "Remote Customer Edge Identifier (CE-ID)"; + } + leaf evi { + type uint32; + description + "EVPN ID for VLAN-aware flexible cross-connects"; + } + } + + grouping CFM-MA-MP { + description + "CFM MA Maintenance Point"; + leaf domain-name { + type string; + description + "Domain name"; + } + leaf level { + type Cfm-bag-md-level; + description + "Domain level"; + } + leaf service-name { + type string; + description + "Service name"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf maintenance-point-type { + type Cfm-ma-mp-variety; + description + "Type of Maintenance Point"; + } + leaf mep-id { + type uint16; + description + "MEP ID"; + } + } + + grouping CFM-MA-MP-BRIEF { + description + "CFM MA Maintenance Point Information"; + container maintenance-point { + description + "Maintenance Point"; + uses CFM-MA-MP; + } + leaf mep-has-error { + type boolean; + description + "MEP error flag"; + } + leaf mac-address { + type Mac-address; + description + "MAC Address"; + } + } + + grouping CFM-MA-SUMMARY { + description + "CFM MA Summary Information"; + leaf domains { + type uint32; + description + "The number of domains in the CFM database."; + } + leaf services { + type uint32; + description + "The number of services in the CFM database."; + } + leaf ccm-rate { + type uint32; + description + "The combined rate of CCMs on this card."; + } + leaf local-meps { + type uint32; + description + "The number of local MEPs in the CFM database."; + } + leaf operational-local-meps { + type uint32; + description + "The number of operational local MEPs."; + } + leaf down-meps { + type uint32; + description + "The number of down-MEPs."; + } + leaf up-meps { + type uint32; + description + "The number of up-MEPs."; + } + leaf offloaded { + type uint32; + description + "The number of MEPs for which CCM processing has + been offloaded."; + } + leaf offloaded-at3-3ms { + type uint32; + description + "The number of MEPs offloaded with CCMs at 3.3ms + intervals."; + } + leaf offloaded-at10ms { + type uint32; + description + "The number of MEPs offloaded with CCMs at 10ms + intervals."; + } + leaf offloaded-at100ms-or-greater { + type uint32; + description + "The number of MEPs offloaded with CCMs at 100ms + or greater intervals."; + } + leaf disabled-misconfigured { + type uint32; + description + "The number of local MEPs disabled due to + configuration errors."; + } + leaf disabled-out-of-resources { + type uint32; + description + "The number of local MEPs disabled due to lack of + resources."; + } + leaf disabled-operational-error { + type uint32; + description + "The number of local MEPs disabled due to + operational errors."; + } + leaf peer-meps { + type uint32; + description + "The number of peer MEPs."; + } + leaf operational-peer-meps { + type uint32; + description + "The number of operational peer MEPs recorded in + the CFM database."; + } + leaf peer-meps-with-defects { + type uint32; + description + "The number of peer MEPs with defects."; + } + leaf peer-meps-without-defects { + type uint32; + description + "The number of peer MEPs without defects."; + } + leaf peer-meps-timed-out { + type uint32; + description + "The number of peer MEPs that have timed out."; + } + leaf mips { + type uint32; + description + "The number of MIPs"; + } + leaf interfaces { + type uint32; + description + "The number of interfaces running CFM."; + } + leaf bridge-domains-and-xconnects { + type uint32; + description + "Number or bridge domains and crossconnects."; + } + leaf traceroute-cache-entries { + type uint32; + description + "Number of traceroute cache entries."; + } + leaf traceroute-cache-replies { + type uint32; + description + "Number of traceroute cache replies."; + } + leaf ccm-learning-db-entries { + type uint32; + description + "Number of entries in the CCM learning database."; + } + leaf issu-role { + type Cfm-bag-issu-role; + description + "ISSU Role of CFM-D, if any."; + } + leaf bnm-enabled-links { + type uint32; + description + "Number of BNM Enabled Links"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub4.yang new file mode 100644 index 000000000..4d2cbfc3a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper-sub4.yang @@ -0,0 +1,109 @@ +submodule Cisco-IOS-XR-ethernet-cfm-oper-sub4 { + belongs-to Cisco-IOS-XR-ethernet-cfm-oper { + prefix Cisco-IOS-XR-ethernet-cfm-oper; + } + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ethernet-cfm-oper-sub3 { + revision-date 2022-01-18; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ethernet-cfm package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-18 { + description + "Added CSF packet counters. + 2021-10-22 + Added counters for missing MEP offload intervals. + 2021-09-02 + Added support for LTM statistics."; + semver:module-version "1.3.1M"; + } + revision 2020-10-07 { + description + "Added the Link Loss Forwarding feature."; + semver:module-version "1.3.0"; + } + revision 2020-07-07 { + description + "Added SLA summary information."; + semver:module-version "1.2.0"; + } + revision 2019-10-02 { + description + "Bandwidth notification addition"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-20 { + description + "Bandwidth notification class and type name update."; + } + revision 2017-10-06 { + description + "Traceroute transaction ID changed from int to uint."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CGM-CFG-ERRORS { + description + "CFM Global Manager Service Error Information"; + container bridge-domain-id { + description + "BD/XC ID, or Service name if the Service is + 'down-only'"; + uses CFM-BAG-BDID; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf level { + type Cfm-bag-md-level; + description + "Level"; + } + leaf service-name { + type string; + description + "Service name"; + } + leaf bridge-domain-is-configured { + type boolean; + description + "The BD/XC is configured globally"; + } + leaf l2-fib-download-error { + type boolean; + description + "The BD/XC could not be downloaded to L2FIB"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper.yang new file mode 100644 index 000000000..dd0d577c0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-cfm-oper.yang @@ -0,0 +1,848 @@ +module Cisco-IOS-XR-ethernet-cfm-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-oper"; + prefix ethernet-cfm-oper; + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ethernet-cfm-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-infra-sla-oper { + prefix a1; + } + include Cisco-IOS-XR-ethernet-cfm-oper-sub4 { + revision-date 2022-01-18; + } + include Cisco-IOS-XR-ethernet-cfm-oper-sub3 { + revision-date 2022-01-18; + } + include Cisco-IOS-XR-ethernet-cfm-oper-sub2 { + revision-date 2022-01-18; + } + include Cisco-IOS-XR-ethernet-cfm-oper-sub1 { + revision-date 2022-01-18; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-cfm package operational data. + + This module contains definitions + for the following management objects: + cfm: CFM operational data + + This YANG module augments the + Cisco-IOS-XR-infra-sla-oper + module with state data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-18 { + description + "Added CSF packet counters. + 2021-10-22 + Added counters for missing MEP offload intervals. + 2021-09-02 + Added support for LTM statistics."; + semver:module-version "1.3.1M"; + } + revision 2020-10-07 { + description + "Added the Link Loss Forwarding feature."; + semver:module-version "1.3.0"; + } + revision 2020-07-07 { + description + "Added SLA summary information."; + semver:module-version "1.2.0"; + } + revision 2019-10-02 { + description + "Bandwidth notification addition"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-20 { + description + "Bandwidth notification class and type name update."; + } + revision 2017-10-06 { + description + "Traceroute transaction ID changed from int to uint."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Cfm-ais-dir { + type enumeration { + enum "up" { + value 0; + description + "Packets sent inward"; + } + enum "down" { + value 1; + description + "Packets sent outward"; + } + } + description + "Cfm ais dir"; + } + + augment "/a1:sla-nodes" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-infra-sla-oper'"; + list node { + key "node"; + description + "Node-specific data for a particular node"; + container protocols { + description + "Table of all SLA protocols"; + container ethernet { + description + "The Ethernet SLA protocol"; + container summary { + description + "SLA summary configured data"; + uses SLA-OPER-SUMMARY; + } + container on-demand-summary { + description + "SLA summary on-demand data"; + uses SLA-OPER-SUMMARY; + } + } + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + augment "/a1:sla/a1:protocols" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-infra-sla-oper'"; + container ethernet { + description + "The Ethernet SLA protocol"; + container statistics-on-demand-currents { + description + "Table of current statistics for SLA on-demand + operations"; + list statistics-on-demand-current { + description + "Current statistics data for an SLA on-demand + operation"; + leaf operation-id { + type uint32 { + range "1..4294967295"; + } + description + "Operation ID"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID in the range 1 to 8191. Either MEP ID + or MAC address must be specified."; + } + leaf mac-address { + type yang:mac-address; + description + "Unicast MAC Address in xxxx.xxxx.xxxx format. + Either MEP ID or MAC address must be + specified."; + } + uses SLA-OPER-OPERATION-STATISTICS; + } + } + container operations { + description + "Table of SLA operations"; + list operation { + description + "SLA operation to get operation data for"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile Name"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID in the range 1 to 8191. Either MEP ID + or MAC address must be specified."; + } + leaf mac-address { + type yang:mac-address; + description + "Unicast MAC Address in xxxx.xxxx.xxxx format. + Either MEP ID or MAC address must be + specified."; + } + uses SLA-OPER-OPERATION; + } + } + container statistics-historicals { + description + "Table of historical statistics for SLA + operations"; + list statistics-historical { + description + "Historical statistics data for an SLA + configured operation"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile Name"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID in the range 1 to 8191. Either MEP ID + or MAC address must be specified."; + } + leaf mac-address { + type yang:mac-address; + description + "Unicast MAC Address in xxxx.xxxx.xxxx format. + Either MEP ID or MAC address must be + specified."; + } + uses SLA-OPER-OPERATION-STATISTICS; + } + } + container statistics-on-demand-historicals { + description + "Table of historical statistics for SLA + on-demand operations"; + list statistics-on-demand-historical { + description + "Historical statistics data for an SLA + on-demand operation"; + leaf operation-id { + type uint32 { + range "1..4294967295"; + } + description + "Operation ID"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID in the range 1 to 8191. Either MEP ID + or MAC address must be specified."; + } + leaf mac-address { + type yang:mac-address; + description + "Unicast MAC Address in xxxx.xxxx.xxxx format. + Either MEP ID or MAC address must be + specified."; + } + uses SLA-OPER-OPERATION-STATISTICS; + } + } + container config-errors { + description + "Table of SLA configuration errors on configured + operations"; + list config-error { + description + "SLA operation to get configuration errors data + for"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile Name"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID in the range 1 to 8191"; + } + leaf mac-address { + type yang:mac-address; + description + "Unicast MAC Address in xxxx.xxxx.xxxx format"; + } + uses SLA-OPER-CONFIG-ERRORS; + } + } + container on-demand-operations { + description + "Table of SLA on-demand operations"; + list on-demand-operation { + description + "SLA on-demand operation to get operation data + for"; + leaf operation-id { + type uint32 { + range "1..4294967295"; + } + description + "Operation ID"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID in the range 1 to 8191. Either MEP ID + or MAC address must be specified."; + } + leaf mac-address { + type yang:mac-address; + description + "Unicast MAC Address in xxxx.xxxx.xxxx format. + Either MEP ID or MAC address must be + specified."; + } + uses SLA-OPER-OPERATION; + } + } + container statistics-currents { + description + "Table of current statistics for SLA operations"; + list statistics-current { + description + "Current statistics data for an SLA configured + operation"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile Name"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID in the range 1 to 8191. Either MEP ID + or MAC address must be specified."; + } + leaf mac-address { + type yang:mac-address; + description + "Unicast MAC Address in xxxx.xxxx.xxxx format. + Either MEP ID or MAC address must be + specified."; + } + uses SLA-OPER-OPERATION-STATISTICS; + } + } + } + } + container cfm { + config false; + description + "CFM operational data"; + container nodes { + description + "Node table for node-specific operational data"; + list node { + key "node"; + description + "Node-specific data for a particular node"; + container interface-aises { + description + "Interface AIS table"; + list interface-ais { + key "interface direction"; + description + "AIS statistics for a particular interface"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf direction { + type Cfm-ais-dir; + description + "AIS Direction"; + } + uses CFM-PM-EFP-AIS-BAG; + } + } + container bandwidth-notifications { + description + "Bandwidth Notifications Table"; + list bandwidth-notification { + key "interface md-level mep-direction port-id mac-address"; + description + "Bandwidth Notification"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf md-level { + type uint32; + description + "MDLevel"; + } + leaf mep-direction { + type dt1:Cfm-mep-dir; + description + "MepDirection"; + } + leaf port-id { + type uint32; + description + "PortID"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + uses CFM-PM-BNM-LINK-BAG; + } + } + container interface-statistics { + description + "Interface Statistics table"; + list interface-statistic { + key "interface"; + description + "Counters for a particular interface"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses CFM-PM-EFP-STATS-BAG; + } + } + container interface-llfs { + description + "Interface LLF table"; + list interface-llf { + key "interface"; + description + "LLF statistics for a particular interface"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses CFM-PM-EFP-LLF-BAG; + } + } + container malformed-packets-table { + description + "Malformed Packets Table"; + container malformed-packets-interfaces { + description + "Table of interfaces which have received + malformed packets"; + list malformed-packets-interface { + key "interface"; + description + "Malformed packets received on a specific + interface"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses CFM-PM-MALF-PKT-IFH-BAG; + } + } + container malformed-packets-unknown-interface { + description + "Malformed packets received on unknown + interfaces"; + uses CFM-PM-MALF-PKT-IFH-BAG; + } + } + container summary { + description + "Summary CFM information on MEPs, traceroute, + and more"; + uses CFM-MA-SUMMARY; + } + container ccm-learning-databases { + description + "CCMLearningDatabase table"; + list ccm-learning-database { + key "domain service mac-address"; + description + "CCM Learning Database entry"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + uses CFM-PM-CLDB-BAG; + } + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + container global { + description + "Global operational data"; + container incomplete-traceroutes { + description + "Incomplete Traceroute table"; + list incomplete-traceroute { + key "domain service mep-id interface transaction-id"; + description + "Information about a traceroute operation that + has not yet timed out"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf transaction-id { + type uint32; + description + "Transaction ID"; + } + uses CFM-PM-MEP-INCOMPLETE-TR-BAG; + } + } + container maintenance-points { + description + "Maintenance Points table"; + list maintenance-point { + key "domain service interface"; + description + "Information about a particular Maintenance + Point"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses CFM-MA-MP-BRIEF; + } + } + container global-configuration-errors { + description + "CFM Global Manager Configuration Error + Information"; + list global-configuration-error { + key "domain service"; + description + "Information about a particular configuration + error"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + uses CGM-CFG-ERRORS; + } + } + container mep-configuration-errors { + description + "MEP configuration errors table"; + list mep-configuration-error { + key "domain service interface"; + description + "Information about a particular configuration + error"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses CFM-MA-MEP-ERRORS; + } + } + container traceroute-caches { + description + "Traceroute Cache table"; + list traceroute-cache { + key "domain service mep-id interface transaction-id"; + description + "Information about a particular traceroute + operation"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf transaction-id { + type uint32; + description + "Transaction ID"; + } + uses CFM-PM-MEP-TR-CACHE-BAG; + } + } + container local-meps { + description + "Local MEPs table"; + list local-mep { + key "domain service mep-id interface"; + description + "Information about a particular local MEP"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + leaf mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses CFM-PM-MEP-STATS-BAG; + } + } + container peer-me-pv2s { + description + "Peer MEPs table Version 2"; + list peer-me-pv2 { + key "domain service local-mep-id interface peer-mep-id peer-mac-address"; + description + "Information about a peer MEP for a particular + local MEP"; + leaf domain { + type string { + length "1..127"; + } + description + "Maintenance Domain"; + } + leaf service { + type string { + length "1..127"; + } + description + "Service (Maintenance Association)"; + } + leaf local-mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID of Local MEP"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf peer-mep-id { + type dt1:Cfm-mep-id; + description + "MEP ID of Peer MEP"; + } + leaf peer-mac-address { + type yang:mac-address; + description + "Peer MAC address"; + } + uses CFM-PM-REMOTE-MEPS-V2-BAG; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-cfg.yang new file mode 100644 index 000000000..d3ffa602d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-cfg.yang @@ -0,0 +1,835 @@ +module Cisco-IOS-XR-ethernet-link-oam-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-link-oam-cfg"; + prefix ethernet-link-oam-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + import Cisco-IOS-XR-l2-eth-infra-cfg { + prefix a2; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a3; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-link-oam package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg, + Cisco-IOS-XR-l2-eth-infra-cfg, + Cisco-IOS-XR-ifmgr-cfg + modules with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-15 { + description + "Fixed must conditions bug."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ether-link-oam-threshold-window-multiplier-enum { + type enumeration { + enum "none" { + value 0; + description + "Do not use a multiplier"; + } + enum "thousand" { + value 1; + description + "Use multiplier of 1000"; + } + enum "million" { + value 2; + description + "Use multiplier of 1,000,000"; + } + enum "billion" { + value 3; + description + "Use multiplier of 1,000,000,000"; + } + } + description + "Ether link oam threshold window multiplier enum"; + } + + typedef Ether-link-oam-threshold-units-frames-enum { + type enumeration { + enum "frames" { + value 3; + description + "Define threshold in frames"; + } + enum "ppm" { + value 4; + description + "Define threshold in parts per million"; + } + } + description + "Ether link oam threshold units frames enum"; + } + + typedef Ether-link-oam-threshold-units-symbols-enum { + type enumeration { + enum "symbols" { + value 2; + description + "Define threshold in symbols"; + } + enum "ppm" { + value 4; + description + "Define threshold in parts per million"; + } + } + description + "Ether link oam threshold units symbols enum"; + } + + typedef Ether-link-oam-window-units-symbols-enum { + type enumeration { + enum "milliseconds" { + value 1; + description + "Define window in milliseconds"; + } + enum "symbols" { + value 2; + description + "Define window in symbols"; + } + } + description + "Ether link oam window units symbols enum"; + } + + typedef Ether-link-oam-window-units-frames-enum { + type enumeration { + enum "milliseconds" { + value 1; + description + "Define window in milliseconds"; + } + enum "frames" { + value 3; + description + "Define window in frames"; + } + } + description + "Ether link oam window units frames enum"; + } + + typedef Ether-link-oam-require-mode-enum { + type enumeration { + enum "passive" { + value 0; + description + "Ethernet Link OAM Passive mode"; + } + enum "active" { + value 1; + description + "Ethernet Link OAM Active mode"; + } + enum "dont-care" { + value 2; + description + "Ethernet Link OAM mode not required"; + } + } + description + "Ether link oam require mode enum"; + } + + typedef Ether-link-oam-event-action-enum-efd { + type enumeration { + enum "disable" { + value 1; + description + "Perform no action"; + } + enum "error-disable" { + value 2; + description + "Disable the interface"; + } + enum "log" { + value 3; + description + "Log the event"; + } + enum "efd" { + value 4; + description + "EFD the interface"; + } + } + description + "Ether link oam event action enum efd"; + } + + typedef Ether-link-oam-event-action-prim-enum { + type enumeration { + enum "disable" { + value 1; + description + "Perform no action"; + } + enum "log" { + value 3; + description + "Log the event"; + } + } + description + "Ether link oam event action prim enum"; + } + + typedef Ether-link-oam-mode-enum { + type enumeration { + enum "passive" { + value 0; + description + "Ethernet Link OAM Passive mode"; + } + enum "active" { + value 1; + description + "Ethernet Link OAM Active mode"; + } + } + description + "Ether link oam mode enum"; + } + + typedef Ether-link-oam-event-action-enum { + type enumeration { + enum "disable" { + value 1; + description + "Perform no action"; + } + enum "error-disable" { + value 2; + description + "Disable the interface"; + } + enum "log" { + value 3; + description + "Log the event"; + } + } + description + "Ether link oam event action enum"; + } + + typedef Ether-link-oam-hello-interval-enum { + type enumeration { + enum "1s" { + value 0; + description + "1 s OAM hello interval"; + } + enum "100ms" { + value 1; + description + "100 ms OAM hello interval"; + } + } + description + "Ether link oam hello interval enum"; + } + + grouping LINK-MONITORING { + description + "Common node of profile, ether-link-oam"; + container link-monitoring { + description + "Configure link monitor parameters"; + container symbol-period { + description + "Symbol-period event configuration"; + container window { + presence "Indicates a window node is configured."; + description + "Window size configuration for symbol-period + events"; + leaf window { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Size of the symbol-period window"; + } + leaf units { + type Ether-link-oam-window-units-symbols-enum; + mandatory true; + description + "Units to use for this window"; + } + leaf multiplier { + type Ether-link-oam-threshold-window-multiplier-enum; + default "none"; + description + "The multiplier to use for this window (only + valid if 'Units' is Symbols and treated as 1 + if unspecified)"; + } + } + container threshold { + description + "Threshold configuration for symbol-period + events"; + leaf threshold-low { + type uint32 { + range "1..4294967295"; + } + must "../units"; + default "1"; + description + "The low threshold for symbol-period"; + } + leaf threshold-high { + type uint32 { + range "1..4294967295"; + } + must "../units"; + description + "The high threshold for symbol-period"; + } + leaf units { + type Ether-link-oam-threshold-units-symbols-enum; + must "../threshold-low or (../threshold-low and ../multiplier-low) or ../threshold-high or (../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high) or (../threshold-low and ../threshold-high and ../multiplier-low) or (../threshold-low and ../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high and ../multiplier-low and ../multiplier-high)"; + default "symbols"; + description + "The units to use for these thresholds"; + } + leaf multiplier-low { + type Ether-link-oam-threshold-window-multiplier-enum; + must "../threshold-low and ../units"; + default "none"; + description + "The multiplier to use for the low threshold + (only valid if 'Units' is Symbols and treated + as 1 if unspecified)"; + } + leaf multiplier-high { + type Ether-link-oam-threshold-window-multiplier-enum; + must "../threshold-high and ../units"; + description + "The multiplier to use for the high threshold + (only valid if 'Units' is Symbols and treated + as 1 if unspecified)"; + } + } + } + container frame-period { + description + "Frame-period event configuration"; + container window { + presence "Indicates a window node is configured."; + description + "Window size configuration for frame-period + events"; + leaf window { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Size of the frame-period window"; + } + leaf units { + type Ether-link-oam-window-units-frames-enum; + mandatory true; + description + "The units to use for this window"; + } + leaf multiplier { + type Ether-link-oam-threshold-window-multiplier-enum; + default "none"; + description + "The multiplier to use for this window (only + valid if 'Units' is Frames and treated as 1 + if unspecified)"; + } + } + container threshold { + description + "Threshold configuration for frame-period + events"; + leaf threshold-low { + type uint32 { + range "1..4294967295"; + } + must "../units"; + default "1"; + description + "The low threshold for frame-period events"; + } + leaf threshold-high { + type uint32 { + range "1..4294967295"; + } + must "../units"; + description + "The high threshold for frame-period events"; + } + leaf units { + type Ether-link-oam-threshold-units-frames-enum; + must "../threshold-low or (../threshold-low and ../multiplier-low) or ../threshold-high or (../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high) or (../threshold-low and ../threshold-high and ../multiplier-low) or (../threshold-low and ../threshold-high and ../multiplier-high) or (../threshold-low and ../threshold-high and ../multiplier-low and ../multiplier-high)"; + default "ppm"; + description + "The units to use for these thresholds"; + } + leaf multiplier-low { + type Ether-link-oam-threshold-window-multiplier-enum; + must "../threshold-low and ../units"; + default "none"; + description + "The multiplier to use for the low threshold + (only valid if 'Units' is Frames and treated + as 1 if unspecified)"; + } + leaf multiplier-high { + type Ether-link-oam-threshold-window-multiplier-enum; + must "../threshold-high and ../units"; + description + "The multiplier to use for the high threshold + (only valid if 'Units' is Frames and treated + as 1 if unspecified)"; + } + } + } + container frame-seconds { + description + "Frame-seconds event configuration"; + container threshold { + description + "Threshold configuration for frame-seconds + events"; + leaf threshold-low { + type uint32 { + range "1..900"; + } + units "second"; + default "1"; + description + "The low threshold for frame-seconds events"; + } + leaf threshold-high { + type uint32 { + range "1..900"; + } + units "second"; + description + "The high threshold for frame-seconds events"; + } + } + leaf window { + type uint32 { + range "10000..900000"; + } + units "millisecond"; + default "60000"; + description + "Window size configuration for frame-seconds + events"; + } + } + container frame { + description + "Frame event configuration"; + container threshold { + description + "Threshold configuration for frame events"; + leaf threshold-low { + type uint32 { + range "1..4294967295"; + } + default "1"; + description + "The low threshold for frame events"; + } + leaf threshold-high { + type uint32 { + range "1..4294967295"; + } + description + "The high threshold for frame events"; + } + leaf multiplier-low { + type Ether-link-oam-threshold-window-multiplier-enum; + must "../threshold-low"; + default "none"; + description + "The multiplier to use for the low threshold + (treated as 1 if unspecified)"; + } + leaf multiplier-high { + type Ether-link-oam-threshold-window-multiplier-enum; + must "../threshold-high"; + description + "The multiplier to use for the high threshold + (treated as 1 if unspecified)"; + } + } + leaf window { + type uint32 { + range "1000..60000"; + } + units "millisecond"; + default "1000"; + description + "Window size configuration for frame events"; + } + } + leaf monitoring { + type boolean; + description + "Enable or disable monitoring"; + } + } + } + + augment "/a3:interface-configurations/a3:interface-configuration/a2:ethernet-features" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2-eth-infra-cfg'"; + leaf ether-link-oam-enable { + type empty; + description + "Enable Ethernet Link OAM on the interface"; + } + } + augment "/a3:interface-configurations/a3:interface-configuration/a2:ethernet-features" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2-eth-infra-cfg'"; + container ether-link-oam { + description + "Ethernet Link OAM Interface Configuration"; + container action { + description + "Configure action parameters"; + leaf dying-gasp { + type Ether-link-oam-event-action-enum; + description + "Action to perform when a dying gasp occurs"; + } + leaf link-fault { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a link fault occurs"; + } + leaf capabilities-conflict { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a capabilities conflict + occurs"; + } + leaf session-up { + type Ether-link-oam-event-action-prim-enum; + description + "Action to perform when a session comes up"; + } + leaf critical-event { + type Ether-link-oam-event-action-enum; + description + "Action to perform when a critical event occurs"; + } + leaf remote-loopback { + type Ether-link-oam-event-action-prim-enum; + description + "Action to perform when remote loopback is + entered or exited"; + } + leaf wiring-conflict { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a wiring conflict + occurs"; + } + leaf high-threshold { + type Ether-link-oam-event-action-enum; + description + "Action to perform when a high-threshold event + occurs"; + } + leaf discovery-timeout { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when discovery timeout + occurs"; + } + leaf session-down { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a session comes down"; + } + } + container require-remote { + description + "Configure remote requirement parameters"; + leaf mode { + type Ether-link-oam-require-mode-enum; + description + "Possible required peer modes"; + } + leaf mib-retrieval { + type boolean; + description + "Enable or disable MIB retrieval peer + requirement"; + } + leaf remote-loopback { + type boolean; + description + "Enable or disable remote loopback peer + requirement"; + } + leaf link-monitoring { + type boolean; + description + "Enable or disable link monitoring peer + requirement"; + } + } + leaf timeout { + type uint32 { + range "2..30"; + } + description + "Connection timeout period in number of lost + heartbeats"; + } + leaf mode { + type Ether-link-oam-mode-enum; + description + "Possible Ethernet Link OAM modes"; + } + leaf mib-retrieval { + type boolean; + description + "Enable or disable MIB retrieval"; + } + leaf profile-name { + type string; + description + "Set the profile to use on the interface"; + } + leaf remote-loopback { + type boolean; + description + "Enable or disable remote loopback"; + } + leaf hello-interval { + type Ether-link-oam-hello-interval-enum; + description + "Possible Ethernet Link OAM hello intervals"; + } + leaf udlf { + type boolean; + description + "Enable or disable uni-directional link-fault + detection"; + } + uses LINK-MONITORING; + } + } + augment "/a2:ethernet-features" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2-eth-infra-cfg'"; + container ether-link-oam { + description + "Ethernet Link OAM Global Configuration"; + container profiles { + description + "Table of Ethernet Link OAM profiles"; + list profile { + key "profile"; + description + "Name of the profile"; + container action { + description + "Configure action parameters"; + leaf dying-gasp { + type Ether-link-oam-event-action-enum; + description + "Action to perform when a dying gasp occurs"; + } + leaf session-up { + type Ether-link-oam-event-action-prim-enum; + description + "Action to perform when a session comes up"; + } + leaf critical-event { + type Ether-link-oam-event-action-enum; + description + "Action to perform when a critical event + occurs"; + } + leaf session-down { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a session goes down"; + } + leaf discovery-timeout { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when discovery timeout + occurs"; + } + leaf high-threshold { + type Ether-link-oam-event-action-enum; + description + "Action to perform when a high-threshold + event occurs"; + } + leaf capabilities-conflict { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a capabilities + conflict occurs"; + } + leaf remote-loopback { + type Ether-link-oam-event-action-prim-enum; + description + "Action to perform when remote loopback is + entered or exited"; + } + leaf link-fault { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a link fault message + is received"; + } + leaf wiring-conflict { + type Ether-link-oam-event-action-enum-efd; + description + "Action to perform when a wiring conflict + occurs"; + } + } + container require-remote { + description + "Configure remote requirement parameters"; + leaf mib-retrieval { + type boolean; + description + "Enable or disable MIB retrieval requirement"; + } + leaf mode { + type Ether-link-oam-require-mode-enum; + description + "Possible required OAM modes"; + } + leaf remote-loopback { + type boolean; + description + "Enable or disable remote loopback + requirement"; + } + leaf link-monitoring { + type boolean; + description + "Enable or disable link monitoring + requirement"; + } + } + leaf mib-retrieval { + type boolean; + description + "Enable or disable MIB retrieval support"; + } + leaf udlf { + type boolean; + description + "Enable or disable uni-directional link-fault + detection support"; + } + leaf hello-interval { + type Ether-link-oam-hello-interval-enum; + description + "Possible Ethernet Link OAM hello intervals"; + } + leaf mode { + type Ether-link-oam-mode-enum; + description + "Set the OAM mode to passive"; + } + leaf remote-loopback { + type boolean; + description + "Enable or disable remote loopback support"; + } + leaf timeout { + type uint32 { + range "2..30"; + } + description + "Connection timeout period in number of lost + heartbeats"; + } + leaf profile { + type xr:Cisco-ios-xr-string; + description + "none"; + } + uses LINK-MONITORING; + } + } + } + } + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container oam { + description + "802.3 OAM MIB notification configuration"; + leaf enable { + type empty; + description + "Enable 802.3 OAM MIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper-sub1.yang new file mode 100644 index 000000000..7d536c5ce --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper-sub1.yang @@ -0,0 +1,1488 @@ +submodule Cisco-IOS-XR-ethernet-link-oam-oper-sub1 { + belongs-to Cisco-IOS-XR-ethernet-link-oam-oper { + prefix Cisco-IOS-XR-ethernet-link-oam-oper; + } + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ethernet-link-oam package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Log-location { + type enumeration { + enum "log-location-local" { + value 1; + description + "A local event"; + } + enum "log-location-remote" { + value 2; + description + "A remote event"; + } + } + description + "The location of the event that caused a log entry"; + } + + typedef Log { + type enumeration { + enum "log-type-symbol-event" { + value 1; + description + "Log entry for an errored symbol event"; + } + enum "log-type-period-event" { + value 2; + description + "Log entry for an errored frame period event"; + } + enum "log-type-frame-event" { + value 3; + description + "Log entry for an errored frame event"; + } + enum "log-type-secs-event" { + value 4; + description + "Log entry for an errored frame seconds summary + event"; + } + enum "log-type-link-fault" { + value 256; + description + "Log entry for a link fault"; + } + enum "log-type-dying-gasp" { + value 257; + description + "Log entry for a dying gasp"; + } + enum "log-type-critical-event" { + value 258; + description + "Log entry for a critical event"; + } + } + description + "The type of a log entry"; + } + + typedef Action { + type enumeration { + enum "no-action" { + value 1; + description + "Disabled (do nothing)"; + } + enum "disable-interface" { + value 2; + description + "Disable the interface"; + } + enum "log" { + value 3; + description + "Log the event and do nothing else"; + } + enum "efd" { + value 4; + description + "EFD the interface"; + } + } + description + "Actions supported by an OAM interface"; + } + + typedef Protocol-state { + type enumeration { + enum "protocol-state-inactive" { + value 0; + description + "The protocol is in the INACTIVE state"; + } + enum "protocol-state-fault" { + value 1; + description + "The protocol is in the FAULT state"; + } + enum "protocol-state-active-send-local" { + value 2; + description + "The protocol is in the ACTIVE_SEND_LOCAL state"; + } + enum "protocol-state-passive-wait" { + value 3; + description + "The protocol is in the SEND_LOCAL_REMOTE state"; + } + enum "protocol-state-send-local-remote" { + value 4; + description + "The protocol is in the LOCAL_REMOTE state"; + } + enum "protocol-state-send-local-remote-ok" { + value 5; + description + "The protocol is in the LOCAL_REMOTE_OK state"; + } + enum "protocol-state-send-any" { + value 6; + description + "The protocol is in the SEND_ANY state"; + } + } + description + "The state the protocol is in"; + } + + typedef Mode { + type enumeration { + enum "passive" { + value 0; + description + "Passive mode"; + } + enum "active" { + value 1; + description + "Active mode"; + } + enum "dont-care" { + value 2; + description + "Don't care what the mode is"; + } + } + description + "Mode of an OAM interface"; + } + + typedef Loopback-status { + type enumeration { + enum "none" { + value 1; + description + "Loopback is not being performed"; + } + enum "initiating" { + value 2; + description + "Initiating master loopback"; + } + enum "master-loopback" { + value 3; + description + "In master loopback mode"; + } + enum "terminating" { + value 4; + description + "Terminating master loopback mode"; + } + enum "local-loopback" { + value 5; + description + "In slave loopback mode"; + } + enum "unknown" { + value 6; + description + "Parser and multiplexer combination unexpected"; + } + } + description + "The loopback mode of an OAM interface"; + } + + typedef Operational-state { + type enumeration { + enum "disabled" { + value 1; + description + "802.3 OAM is disabled"; + } + enum "link-fault" { + value 2; + description + "802.3 OAM has encountered a link fault"; + } + enum "passive-wait" { + value 3; + description + "Passive OAM entity waiting to see if peer is + OAM capable"; + } + enum "active-send-local" { + value 4; + description + "Active OAM entity trying to determine if peer + is OAM capable"; + } + enum "send-local-and-remote" { + value 5; + description + "OAM discovered peer but still to accept or + reject peer config"; + } + enum "send-local-and-remote-ok" { + value 6; + description + "OAM peering is allowed by local device"; + } + enum "peering-locally-rejected" { + value 7; + description + "OAM peering rejected by local device"; + } + enum "peering-remotely-rejected" { + value 8; + description + "OAM peering rejected by remote device"; + } + enum "operational" { + value 9; + description + "802.3 OAM is operational"; + } + enum "operational-half-duplex" { + value 10; + description + "802.3 OAM is operating in half-duplex mode"; + } + } + description + "Operational state of an interface"; + } + + grouping ELOD-STATS { + description + "Statistics for an 802.3 OAM interface"; + leaf information-tx { + type uint32; + description + "Number of information OAMPDUs transmitted"; + } + leaf information-rx { + type uint32; + description + "Number of information OAMPDUs received"; + } + leaf unique-event-notification-tx { + type uint32; + description + "Number of unique event notification OAMPDUs + transmitted"; + } + leaf unique-event-notification-rx { + type uint32; + description + "Number of unique event notification OAMPDUs + received"; + } + leaf duplicate-event-notification-tx { + type uint32; + description + "Number of duplicate event notification OAMPDUs + transmitted"; + } + leaf duplicate-event-notification-rx { + type uint32; + description + "Number of duplicate event notification OAMPDUs + received"; + } + leaf loopback-control-tx { + type uint32; + description + "Number of loopback control OAMPDUs transmitted"; + } + leaf loopback-control-rx { + type uint32; + description + "Number of loopback control OAMPDUs received"; + } + leaf variable-request-tx { + type uint32; + description + "Number of variable request OAMPDUs transmitted"; + } + leaf variable-request-rx { + type uint32; + description + "Number of variable request OAMPDUs received"; + } + leaf variable-response-tx { + type uint32; + description + "Number of variable response OAMPDUs transmitted"; + } + leaf variable-response-rx { + type uint32; + description + "Number of variable response OAMPDUs received"; + } + leaf org-specific-tx { + type uint32; + description + "Number of organization specific OAMPDUs + transmitted"; + } + leaf org-specific-rx { + type uint32; + description + "Number of organization specific OAMPDUs received"; + } + leaf unsupported-codes-tx { + type uint32; + description + "Number of OAMPDUs with unsupported codes + transmitted"; + } + leaf unsupported-codes-rx { + type uint32; + description + "Number of OAMPDUs with unsupported codes + received"; + } + leaf frames-lost-due-to-oam { + type uint32; + description + "Number of frames lost due to OAM"; + } + leaf fixed-frames-rx { + type uint32; + description + "Number of RX frames 'fixed' by OAM"; + } + leaf local-error-symbol-period-records { + type uint32; + description + "Number of local error symbol period records"; + } + leaf local-error-frame-records { + type uint32; + description + "Number of local error frame records"; + } + leaf local-error-frame-period-records { + type uint32; + description + "Number of local error frame period records"; + } + leaf local-error-frame-second-records { + type uint32; + description + "Number of local error frame second records"; + } + leaf remote-error-symbol-period-records { + type uint32; + description + "Number of remote error symbol period records"; + } + leaf remote-error-frame-records { + type uint32; + description + "Number of remote error frame records"; + } + leaf remote-error-frame-period-records { + type uint32; + description + "Number of remote error frame period records"; + } + leaf remote-error-frame-second-records { + type uint32; + description + "Number of remote error frame second records"; + } + } + + grouping ELOD-LOG-ENTRY { + description + "A single log entry"; + leaf index { + type uint32; + description + "Index in the log entries table"; + } + leaf handle { + type xr:Interface-name; + description + "Interface handle for this log entry"; + } + leaf oui { + type yang:hex-string; + description + "OUI for the log entry"; + } + leaf timestamp { + type uint64; + description + "Timestamp in hundredths of a second since unix + epoch for when the event occurred"; + } + leaf type { + type Log; + description + "Type of event that this entry describes"; + } + leaf location { + type Log-location; + description + "Where the event occurred"; + } + leaf event-total { + type uint32; + description + "Total number of times event has occurred"; + } + leaf action-taken { + type Action; + description + "Local action taken (If applicable)"; + } + leaf window { + type uint64; + description + "Size of the window (If applicable)"; + } + leaf threshold { + type uint64; + description + "Size of the threshold (If applicable)"; + } + leaf local-high-threshold { + type uint64; + description + "Size of the local high threshold (If applicable) + . For remote threshold events this is scaled for + comparison with the Breaching Value. This is to + account for different local and remote window + sizes."; + } + leaf value { + type uint64; + description + "Breaching value (If applicable)"; + } + leaf running-total { + type uint64; + description + "The running total number of errors seen since + OAM was enabled on the interface(If applicable)"; + } + leaf window-config-units { + type uint64; + description + "The window in the units that are currently + configured"; + } + leaf window-units { + type uint8; + description + "The units in which the window size is configured + ."; + } + leaf threshold-config-units { + type uint64; + description + "The threshold in the units that are currently + configured"; + } + leaf threshold-units { + type uint8; + description + "The units in which the threshold size is + configured."; + } + leaf local-high-threshold-config-units { + type uint64; + description + "The local high threshold in the units that are + currently configured"; + } + leaf value-config-units { + type uint64; + description + "The breaching value in the units that are + currently configured"; + } + } + + grouping ELOD-SUMMARY-INFO { + description + "Summary information for all 802.3 OAM sessions on + a node"; + leaf interfaces { + type uint32; + description + "The number of interfaces with 802.3 OAM + configured"; + } + leaf port-down { + type uint32; + description + "The number of interfaces in 'Port Down' state"; + } + leaf passive-wait { + type uint32; + description + "The number of interfaces in 'Passive Wait' state"; + } + leaf active-send { + type uint32; + description + "The number of interfaces in 'Active Send' state"; + } + leaf evaluating { + type uint32; + description + "The number of interfaces in 'Evaluating' state"; + } + leaf local-accept { + type uint32; + description + "The number of interfaces in 'Local Accept' state"; + } + leaf local-reject { + type uint32; + description + "The number of interfaces in 'Local Reject' state"; + } + leaf remote-reject { + type uint32; + description + "The number of interfaces in 'Remote Reject' + state"; + } + leaf operational { + type uint32; + description + "The number of interfaces in 'Operational' state"; + } + leaf loopback-mode { + type uint32; + description + "The number of interfaces in loopback mode"; + } + leaf miswired-connections { + type uint32; + description + "The number of miswired connections"; + } + leaf events { + type uint64; + description + "The number of events recorded"; + } + leaf local-events { + type uint64; + description + "The number of local events recorded"; + } + leaf local-symbol-period { + type uint64; + description + "The number of local symbol period events + recorded"; + } + leaf local-frame { + type uint64; + description + "The mumber of local frame error events recorded"; + } + leaf local-frame-period { + type uint64; + description + "The number of local frame period events recorded"; + } + leaf local-frame-seconds { + type uint64; + description + "The number of local frame second events recorded"; + } + leaf remote-events { + type uint64; + description + "The number of remote events recorded"; + } + leaf remote-symbol-period { + type uint64; + description + "The number of remote symbol period events + recorded"; + } + leaf remote-frame { + type uint64; + description + "The mumber of remote frame error events recorded"; + } + leaf remote-frame-period { + type uint64; + description + "The number of remote frame period events + recorded"; + } + leaf remote-frame-seconds { + type uint64; + description + "The number of remote frame second events + recorded"; + } + } + + grouping ELOD-RUNNING-CONFIG { + description + "The configuration currently running on an + interface"; + leaf fast-hello-interval-enabled { + type boolean; + description + "Is 100ms hello interval time enabled?"; + } + leaf link-monitor-enabled { + type boolean; + description + "Is link monitoring enabled?"; + } + leaf remote-loopback-enabled { + type boolean; + description + "Is remote loopback enabled?"; + } + leaf mib-retrieval-enabled { + type boolean; + description + "Is MIB retrieval enabled?"; + } + leaf udlf-enabled { + type boolean; + description + "Is uni-directional link-fault detection enabled?"; + } + leaf mode { + type Mode; + description + "Configured mode"; + } + leaf connection-timeout { + type uint8; + description + "Connection timeout"; + } + leaf symbol-period-window { + type uint32; + description + "Symbol period event window size"; + } + leaf symbol-period-window-units { + type uint8; + description + "Symbol period event window units"; + } + leaf symbol-period-window-multiplier { + type uint8; + description + "Symbol period event window multiplier"; + } + leaf symbol-period-threshold-low { + type uint64; + description + "Symbol period event low threshold"; + } + leaf symbol-period-threshold-high { + type uint64; + description + "Symbol period event high threshold"; + } + leaf symbol-period-threshold-units { + type uint8; + description + "Symbol period event threshold units"; + } + leaf symbol-period-threshold-low-multiplier { + type uint8; + description + "Symbol period event threshold low multiplier"; + } + leaf symbol-period-threshold-high-multiplier { + type uint8; + description + "Symbol period event threshold high multiplier"; + } + leaf frame-window { + type uint32; + description + "Frame event window size"; + } + leaf frame-threshold-low { + type uint64; + description + "Frame event low threshold"; + } + leaf frame-threshold-high { + type uint64; + description + "Frame event high threshold"; + } + leaf frame-threshold-low-multiplier { + type uint8; + description + "Frame period event threshold low multiplier"; + } + leaf frame-threshold-high-multiplier { + type uint8; + description + "Frame event threshold high multiplier"; + } + leaf frame-period-window { + type uint32; + description + "Frame period event window size"; + } + leaf frame-period-window-units { + type uint8; + description + "Frame period event window units"; + } + leaf frame-period-window-multiplier { + type uint8; + description + "Frame period event window multiplier"; + } + leaf frame-period-threshold-low { + type uint64; + description + "Frame period event low threshold"; + } + leaf frame-period-threshold-high { + type uint64; + description + "Frame period event high threshold"; + } + leaf frame-period-threshold-units { + type uint8; + description + "Frame period event threshold units"; + } + leaf frame-period-threshold-low-multiplier { + type uint8; + description + "Frame period event threshold low multiplier"; + } + leaf frame-period-threshold-high-multiplier { + type uint8; + description + "Frame period event threshold high multiplier"; + } + leaf frame-seconds-window { + type uint32; + units "second"; + description + "Frame seconds event high threshold"; + } + leaf frame-seconds-threshold-low { + type uint64; + units "second"; + description + "Frame seconds event high threshold"; + } + leaf frame-seconds-threshold-high { + type uint64; + units "second"; + description + "Frame seconds event high threshold"; + } + leaf high-threshold-action { + type Action; + description + "Action to perform when a high threshold is + breached"; + } + leaf link-fault-action { + type Action; + description + "Action to perform when a link fault occurs"; + } + leaf dying-gasp-action { + type Action; + description + "Action to perform when a dying gasp occurs"; + } + leaf critical-event-action { + type Action; + description + "Action to perform when a critical event occurs"; + } + leaf discovery-timeout-action { + type Action; + description + "Action to perform when a discovery timeout + occurs"; + } + leaf capabilities-conflict-action { + type Action; + description + "Action to perform when a capabilities conflict + occurs"; + } + leaf wiring-conflict-action { + type Action; + description + "Action to perform when a wiring conflict occurs"; + } + leaf session-up-action { + type Action; + description + "Action to perform when a session comes up"; + } + leaf session-down-action { + type Action; + description + "Action to perform when a session comes down"; + } + leaf remote-loopback-action { + type Action; + description + "Action to perform when a session enters or exits + remote loopback"; + } + leaf require-remote-mode { + type Mode; + description + "The mode that is required of the remote peer"; + } + leaf require-remote-mib-retrieval { + type boolean; + description + "Require the remote peer to support MIB retrieval"; + } + leaf require-loopback { + type boolean; + description + "Require the remote peer to support loopback mode"; + } + leaf require-link-monitoring { + type boolean; + description + "Require the remote peer to support link + monitoring"; + } + leaf fast-hello-interval-enabled-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf link-monitoring-enabled-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf remote-loopback-enabled-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf mib-retrieval-enabled-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf udlf-enabled-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf mode-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf connection-timeout-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf symbol-period-window-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf symbol-period-threshold-low-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf symbol-period-threshold-high-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-window-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-threshold-low-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-threshold-high-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-period-window-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-period-threshold-low-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-period-threshold-high-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-seconds-window-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-seconds-threshold-low-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf frame-seconds-threshold-high-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf high-threshold-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf link-fault-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf dying-gasp-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf critical-event-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf discovery-timeout-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf capabilities-conflict-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf wiring-conflict-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf session-down-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf session-up-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf remote-loopback-action-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf require-mode-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf require-mib-retrieval-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf require-loopback-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + leaf require-link-monitoring-overridden { + type boolean; + description + "Is this configuration information an interface + override?"; + } + } + + grouping EFD-TRIGGERS { + description + "Triggers currently causing the interface to be + brought down using EFD"; + leaf link-fault-received { + type boolean; + description + "Link-fault messages being received"; + } + leaf discovery-timed-out { + type boolean; + description + "The discovery process has timed out"; + } + leaf capabilities-conflict { + type boolean; + description + "A capabilities conflict has been detected"; + } + leaf wiring-conflict { + type boolean; + description + "A wiring conflict has been detected"; + } + leaf session-down { + type boolean; + description + "The 802.3 OAM session is down"; + } + } + + grouping ELOD-ERRORS { + description + "Most recent error information for an 802.3 OAM + interface"; + leaf pfi-reason { + type string; + description + "Reason for the Interface Management error (if + applicable)"; + } + leaf pfi-error-code { + type uint32; + description + "The Interface Management error/success code"; + } + leaf platform-reason { + type string; + description + "Reason for the platform error (if applicable)"; + } + leaf platform-error-code { + type uint32; + description + "The platform error/success code"; + } + leaf spio-reason { + type string; + description + "Reason for the Packet I/O error (if applicable)"; + } + leaf spio-error-code { + type uint32; + description + "The Packet I/O error/success code"; + } + leaf epi-reason { + type string; + description + "Reason for the Packet error (if applicable)"; + } + leaf epi-error-code { + type uint32; + description + "The Packet error/success code"; + } + leaf caps-add-reason { + type string; + description + "Reason for the caps add error (if applicable)"; + } + leaf caps-add-error-code { + type uint32; + description + "The caps add error/success code"; + } + } + + grouping ELOD-INTERFACE-STATE { + description + "The state of an 802.3 OAM interface"; + container errors { + description + "The errors that have occurred on this interface"; + uses ELOD-ERRORS; + } + container efd-triggers { + description + "Any present EFD triggers"; + uses EFD-TRIGGERS; + } + leaf protocol-code { + type Protocol-state; + description + "The state the protocol is in"; + } + leaf rx-fault { + type boolean; + description + "Has a uni-directional link-fault been detected?"; + } + leaf local-mwd-key { + type uint32; + description + "The local MWD key"; + } + leaf remote-mwd-key-present { + type boolean; + description + "Does the remote side have an MWD key?"; + } + leaf remote-mwd-key { + type uint32; + description + "The remote MWD key"; + } + } + + grouping ELOD-DISCOVERY-INFO { + description + "The results of a 'get discovery info' query"; + leaf name { + type string; + description + "Interface Name"; + } + leaf operational-status { + type Operational-state; + description + "Operational status"; + } + leaf loopback-mode { + type Loopback-status; + description + "The loopback mode the interface is in"; + } + leaf local-mode { + type Mode; + description + "Local Mode (passive/active)"; + } + leaf miswired { + type boolean; + description + "Has the interface mis-wired?"; + } + leaf local-mwd-key { + type uint32; + description + "Local Mis-wiring Detection key"; + } + leaf local-function-unidirectional { + type boolean; + description + "Local Unidirectional support"; + } + leaf local-function-loopback { + type boolean; + description + "Local loopback support"; + } + leaf local-function-event { + type boolean; + description + "Local event support"; + } + leaf local-functionvariable { + type boolean; + description + "Local variable retreival support"; + } + leaf local-revision { + type uint32; + description + "Local revision"; + } + leaf local-mtu { + type uint32; + description + "Local MTU"; + } + leaf local-operational { + type boolean; + description + "Is the local OAM session operational?"; + } + leaf local-evaluating { + type boolean; + description + "Is the local OAM session evaluating?"; + } + leaf remote-mode { + type Mode; + description + "Remote Mode (passive/active)"; + } + leaf remote-unidirectional { + type boolean; + description + "Remote unidirectional support"; + } + leaf remote-loopback { + type boolean; + description + "Remote loopback support"; + } + leaf remote-event { + type boolean; + description + "Remote event support"; + } + leaf remote-variable { + type boolean; + description + "Remote variable retreival support"; + } + leaf remote-mtu { + type uint32; + description + "Remote MTU"; + } + leaf remote-mac-address { + type yang:mac-address; + description + "Remote MAC address"; + } + leaf remote-vendor-oui { + type yang:hex-string; + description + "Remote vendor OUI"; + } + leaf remote-revision { + type uint16; + description + "Remote revision"; + } + leaf remote-vendor-info { + type uint32; + description + "Remote vendor info"; + } + leaf remote-mwd-key { + type uint32; + description + "Remote Mis-wiring Detection key"; + } + leaf operational-status-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf loopback-mode-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-mode-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf miswired-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-mwd-key-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-function-unidirectional-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-function-loopback-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-function-event-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-functionvariable-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-revisionvalid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf local-mtu-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-mode-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-unidirectional-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-loopback-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-event-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-variable-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-mtu-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-mac-address-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-vendor-oui-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-revisionvalid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-vendor-info-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf remote-mwd-key-valid { + type boolean; + description + "Has this value been received successfully?"; + } + leaf received-at-risk-notification-timestamp { + type uint64; + units "second"; + description + "Timestamp of when the last At Risk notification + was received (in seconds since the UNIX epoch), + or 0 if the peer is not currently at risk"; + } + leaf received-at-risk-notification-time-remaining { + type uint16; + units "second"; + description + "Number of seconds remaining that the peer has + indicated it will be At Risk"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper.yang new file mode 100644 index 000000000..6438ab4ab --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-link-oam-oper.yang @@ -0,0 +1,173 @@ +module Cisco-IOS-XR-ethernet-link-oam-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-link-oam-oper"; + prefix ethernet-link-oam-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ethernet-link-oam-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-link-oam package operational data. + + This module contains definitions + for the following management objects: + ether-link-oam: Ethernet Link OAM operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ether-link-oam { + config false; + description + "Ethernet Link OAM operational data"; + container discovery-info-interfaces { + description + "Table of Ethernet Link OAM enabled interfaces + within Discovery Info container"; + list discovery-info-interface { + key "member-interface"; + description + "Ethernet Link OAM interface to get Discovery + Info for"; + leaf member-interface { + type xr:Interface-name; + description + "Member Interface"; + } + uses ELOD-DISCOVERY-INFO; + } + } + container interface-state-interfaces { + description + "Table of Ethernet Link OAM enabled interfaces + within Interface State container"; + list interface-state-interface { + key "member-interface"; + description + "Ethernet Link OAM interface to get Interface + State for"; + leaf member-interface { + type xr:Interface-name; + description + "Member Interface"; + } + uses ELOD-INTERFACE-STATE; + } + } + container running-config-interfaces { + description + "Table of Ethernet Link OAM enabled interfaces + within Running Config container"; + list running-config-interface { + key "member-interface"; + description + "Ethernet Link OAM interface to get Running + Config for"; + leaf member-interface { + type xr:Interface-name; + description + "Member Interface"; + } + uses ELOD-RUNNING-CONFIG; + } + } + container nodes { + description + "Node table for node-specific operational data"; + list node { + key "node-name"; + description + "Node-specific data for a particular node"; + container summary { + description + "Ethernet Link OAM Summary information for the + entire node"; + uses ELOD-SUMMARY-INFO; + } + leaf node-name { + type xr:Node-id; + description + "Node"; + } + } + } + container event-log-entry-interfaces { + description + "Table of Ethernet Link OAM enabled interfaces + within Event Log Entry container"; + list event-log-entry-interface { + key "member-interface"; + description + "Ethernet Link OAM enabled interface to get + Event Log Entry for"; + container event-log-entry-indexes { + description + "Table of Ethernet Link OAM Event Log entries + on the interface"; + list event-log-entry-index { + key "event-log-entry-index"; + description + "Ethernet Link OAM Event Log Entry Index to + get data for"; + leaf event-log-entry-index { + type xr:Cisco-ios-xr-string; + description + "Event Log Entry index"; + } + uses ELOD-LOG-ENTRY; + } + } + leaf member-interface { + type xr:Interface-name; + description + "Member Interface"; + } + } + } + container stats-interfaces { + description + "Table of Ethernet Link OAM enabled interfaces + within Stats container"; + list stats-interface { + key "member-interface"; + description + "Ethernet Link OAM interface to get Stats for"; + leaf member-interface { + type xr:Interface-name; + description + "Member Interface"; + } + uses ELOD-STATS; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-cfg.yang new file mode 100644 index 000000000..eccf6951f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-cfg.yang @@ -0,0 +1,306 @@ +module Cisco-IOS-XR-ethernet-lldp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-lldp-cfg"; + prefix ethernet-lldp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-lldp package configuration. + + This module contains definitions + for the following management objects: + lldp: Enable LLDP, or configure global LLDP subcommands + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-01 { + description + "Local LLDP system parameters configuration addition."; + semver:module-version "1.0.2m"; + } + revision 2020-09-01 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Chassis-id-sub { + type enumeration { + enum "chassis-component" { + value 0; + description + "Value of entPhysicalAlias object defined in + IETF RFC 2737"; + } + enum "interface-alias" { + value 1; + description + "Value of ifAlias object defined in IETF RFC + 2863"; + } + enum "port-component" { + value 2; + description + "Value of entPhysicalAlias object defined in + IETF RFC 2737"; + } + enum "mac-address" { + value 3; + description + "Value of a unicast source address"; + } + enum "network-address" { + value 4; + description + "Network address associated with a particular + chassis"; + } + enum "interface-name" { + value 5; + description + "Value of ifName object defined in IETF RFC 2863"; + } + enum "local" { + value 6; + description + "Chassis identifier based on a locally defined + value"; + } + } + description + "Chassis id sub"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container lldp { + presence "Indicates a lldp node is configured."; + description + "Disable LLDP TX or RX"; + container transmit { + description + "Disable LLDP TX"; + leaf disable { + type boolean; + default "false"; + description + "disable LLDP TX"; + } + } + container receive { + description + "Disable LLDP RX"; + leaf disable { + type boolean; + default "false"; + description + "disable LLDP RX"; + } + } + leaf lldp-intf-enter { + type boolean; + mandatory true; + description + "enter LLDP interface submode"; + } + leaf enable { + type boolean; + default "false"; + description + "Enable both LLDP TX and RX"; + } + } + } + container lldp { + description + "Enable LLDP, or configure global LLDP subcommands"; + container tlv-select { + presence "Indicates a tlv-select node is configured."; + description + "Selection of LLDP TLVs to disable"; + container system-name { + description + "System Name TLV"; + leaf disable { + type boolean; + default "false"; + description + "disable System Name TLV"; + } + } + container port-description { + description + "Port Description TLV"; + leaf disable { + type boolean; + default "false"; + description + "disable Port Description TLV"; + } + } + container system-description { + description + "System Description TLV"; + leaf disable { + type boolean; + default "false"; + description + "disable System Description TLV"; + } + } + container system-capabilities { + description + "System Capabilities TLV"; + leaf disable { + type boolean; + default "false"; + description + "disable System Capabilities TLV"; + } + } + container management-address { + description + "Management Address TLV"; + leaf disable { + type boolean; + default "false"; + description + "disable Management Address TLV"; + } + } + leaf tlv-select-enter { + type boolean; + mandatory true; + description + "enter lldp tlv-select submode"; + } + } + leaf chassis-id { + type string { + length "1..256"; + } + description + "LLDP local chassis ID"; + } + leaf holdtime { + type uint32 { + range "0..65535"; + } + description + "Length of time (in sec) that receiver must + keep this packet"; + } + leaf enable-priority-addr { + type boolean; + default "false"; + description + "Enable or disable Priority to advertise + Mgmt-interface Addr First"; + } + leaf extended-show-width { + type boolean; + default "false"; + description + "Enable or disable LLDP Show LLDP Neighbor + Extended Width"; + } + leaf enable-subintf { + type boolean; + default "false"; + description + "Enable or disable LLDP on Sub-interfaces as well + globally"; + } + leaf enable-mgmtintf { + type boolean; + default "false"; + description + "Enable or disable LLDP on Mgmt interfaces as + well globally"; + } + leaf timer { + type uint32 { + range "5..65534"; + } + default "30"; + description + "Specify the rate at which LLDP packets are sent + (in sec)"; + } + leaf reinit { + type uint32 { + range "2..5"; + } + default "2"; + description + "Delay (in sec) for LLDP initialization on any + interface"; + } + leaf system-description { + type string { + length "1..256"; + } + description + "LLDP local system description"; + } + leaf enable { + type boolean; + default "false"; + description + "Enable or disable LLDP globally"; + } + leaf system-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "LLDP local system name"; + } + leaf chassis-id-type { + type Chassis-id-sub; + description + "LLDP local chassis ID type"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub1.yang new file mode 100644 index 000000000..0b8adbf48 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub1.yang @@ -0,0 +1,608 @@ +submodule Cisco-IOS-XR-ethernet-lldp-oper-sub1 { + belongs-to Cisco-IOS-XR-ethernet-lldp-oper { + prefix Cisco-IOS-XR-ethernet-lldp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ethernet-lldp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-08 { + description + "Added system-description field + 2022-04-01 + Added last clear time and transmit failure fields + 2022-03-01 + Added interface stats fields"; + semver:module-version "1.1.1m"; + } + revision 2020-09-01 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-13 { + description + "Added a new notification."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef In6-addr { + type inet:ipv6-address; + description + "In6 addr"; + } + + typedef Lldp-l3-addr-protocol { + type enumeration { + enum "ipv4" { + description + "IPv4"; + } + enum "ipv6" { + description + "IPv6"; + } + } + description + "Lldp l3 addr protocol"; + } + + grouping LLDP-STATS { + description + "LLDP statistics"; + leaf transmitted-packets { + type uint32; + description + "Transmitted packets"; + } + leaf aged-out-entries { + type uint32; + description + "Aged out entries"; + } + leaf discarded-packets { + type uint32; + description + "Discarded packets"; + } + leaf bad-packets { + type uint32; + description + "Bad packet received and dropped"; + } + leaf received-packets { + type uint32; + description + "Received packets"; + } + leaf discarded-tl-vs { + type uint32; + description + "Discarded TLVs"; + } + leaf unrecognized-tl-vs { + type uint32; + description + "Unrecognized TLVs"; + } + leaf out-of-memory-errors { + type uint32; + description + "Out-of-memory conditions"; + } + leaf encapsulation-errors { + type uint32; + description + "Transmission errors"; + } + leaf queue-overflow-errors { + type uint32; + description + "Queue overflows"; + } + leaf table-overflow-errors { + type uint32; + description + "Table overflows"; + } + leaf accepted-tl-vs { + type uint32; + description + "Accepted TLVs"; + } + leaf last-clear { + type uint64; + units "second"; + description + "Time elapsed since last clear in seconds"; + } + } + + grouping INTERFACE-STATISTICS { + description + "LLDP Interface Stats"; + leaf transmitted-packets { + type uint64; + description + "Transmitted packets"; + } + leaf discarded-packets { + type uint64; + description + "Discarded packets"; + } + leaf bad-packets { + type uint64; + description + "Bad packet received and dropped"; + } + leaf received-packets { + type uint64; + description + "Received packets"; + } + leaf discarded-tl-vs { + type uint64; + description + "Discarded TLVs"; + } + leaf unrecognized-tl-vs { + type uint64; + description + "Unrecognized TLVs"; + } + leaf transmit-failures { + type uint64; + description + "LLDP Packets failed in transmission"; + } + leaf last-clear { + type uint64; + units "second"; + description + "Time elapsed since last clear in seconds"; + } + } + + grouping LLDP-INTERFACE { + description + "Information about an interface that LLDP is + running on"; + container local-network-addresses { + description + "Local Management Addresses"; + uses LLDP-ADDRESS-ENTRY; + } + container interface-stats { + description + "Interface Statistics"; + uses INTERFACE-STATISTICS; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tx-enabled { + type uint8; + description + "TX Enabled"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf rx-enabled { + type uint8; + description + "RX Enabled"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tx-state { + type string; + description + "TX State"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf rx-state { + type string; + description + "RX State"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf if-index { + type uint32; + description + "ifIndex"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-id { + type string; + description + "Outgoing port identifier"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-id-sub-type { + type uint8; + description + "Port ID sub type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-description { + type string; + description + "Port Description"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping LLDP-ORG-DEF-TLV-ENTRY { + description + "LLDP Org Def TLV entry"; + list lldp-org-def-tlv-entry { + description + "Next Org Def TLV entry in list"; + leaf oui { + type uint32; + description + "Organizationally Unique Identifier"; + } + leaf tlv-subtype { + type uint8; + description + "Org Def TLV subtype"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tlv-info-indes { + type uint32; + description + "lldpRemOrgDefInfoIndex"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tlv-value { + type yang:hex-string; + description + "Org Def TLV payload"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + } + + grouping LLDP-UNKNOWN-TLV-ENTRY { + description + "LLDP Unknown TLV entry"; + list lldp-unknown-tlv-entry { + description + "Next unknown TLV entry in list"; + leaf tlv-type { + type uint8; + description + "Unknown TLV type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tlv-value { + type yang:hex-string; + description + "Unknown TLV payload"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + } + + grouping LLDP-NEIGHBOR-ENTRY-MIB-DETAILS { + description + "MIB neighbor info"; + container unknown-tlv-list { + description + "Unknown TLV list"; + uses LLDP-UNKNOWN-TLV-ENTRY; + } + container org-def-tlv-list { + description + "Org Def TLV list"; + uses LLDP-ORG-DEF-TLV-ENTRY; + } + leaf rem-time-mark { + type uint32; + description + "TimeFilter"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf rem-local-port-num { + type uint32; + description + "LldpPortNumber"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf rem-index { + type uint32; + description + "lldpRemIndex"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf chassis-id-sub-type { + type uint8; + description + "Chassis ID sub type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf chassis-id-len { + type uint16; + description + "Chassis ID length"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-id-sub-type { + type uint8; + description + "Port ID sub type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-id-len { + type uint16; + description + "Port ID length"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf combined-capabilities { + type uint32; + description + "Supported and combined cpabilities"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping LLDP-L3-ADDR { + description + "LLDP L3 ADDR"; + leaf address-type { + type Lldp-l3-addr-protocol; + description + "AddressType"; + } + leaf ipv4-address { + when "../address-type = 'ipv4'" { + description + "../AddressType = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf ipv6-address { + when "../address-type = 'ipv6'" { + description + "../AddressType = 'IPv6'"; + } + type In6-addr; + description + "IPv6 address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping LLDP-ADDRESS-ENTRY { + description + "LLDP Address entry"; + list lldp-addr-entry { + description + "Next address entry in list"; + container address { + description + "Network layer address"; + uses LLDP-L3-ADDR; + } + leaf ma-subtype { + type uint8; + description + "MA sub type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf if-num { + type uint32; + description + "Interface num"; + } + } + } + + grouping LLDP-NEIGHBOR-ENTRY-DETAILS { + description + "Detailed neighbor info"; + container network-addresses { + description + "Management Addresses"; + uses LLDP-ADDRESS-ENTRY; + } + leaf peer-mac-address { + type yang:mac-address; + description + "Peer Mac Address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-description { + type string; + description + "Port Description"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf system-name { + type string; + description + "System Name"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf system-description { + type string; + description + "System Description"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf time-remaining { + type uint32; + description + "Time remaining"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf system-capabilities { + type string; + description + "System Capabilities"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf enabled-capabilities { + type string; + description + "Enabled Capabilities"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf auto-negotiation { + type string; + description + "Auto Negotiation"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf physical-media-capabilities { + type string; + description + "Physical media capabilities"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf media-attachment-unit-type { + type uint32; + description + "Media Attachment Unit type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-vlan-id { + type uint32; + description + "Vlan ID"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf last-update { + type uint64; + units "second"; + description + "Last Update Time in seconds"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf age { + type uint64; + units "second"; + description + "Age since discovery in seconds"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping LLDP-NEIGHBOR { + description + "LLDP neighbor info"; + list lldp-neighbor { + description + "Next neighbor in the list"; + container detail { + description + "Detailed neighbor info"; + uses LLDP-NEIGHBOR-ENTRY-DETAILS; + } + container mib { + description + "MIB nieghbor info"; + uses LLDP-NEIGHBOR-ENTRY-MIB-DETAILS; + } + leaf receiving-interface-name { + type xr:Interface-name; + description + "Interface the neighbor entry was received on "; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf receiving-parent-interface-name { + type xr:Interface-name; + description + "Parent Interface the neighbor entry was + received on "; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf device-id { + type string; + description + "Device identifier"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf chassis-id { + type string; + description + "Chassis id"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf port-id-detail { + type string; + description + "Outgoing port identifier"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf header-version { + type uint8; + description + "Version number"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf hold-time { + type uint16; + description + "Remaining hold time"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf enabled-capabilities { + type string; + description + "Enabled Capabilities"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf platform { + type string; + description + "Platform type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub2.yang new file mode 100644 index 000000000..7c5f0b2d4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper-sub2.yang @@ -0,0 +1,108 @@ +submodule Cisco-IOS-XR-ethernet-lldp-oper-sub2 { + belongs-to Cisco-IOS-XR-ethernet-lldp-oper { + prefix Cisco-IOS-XR-ethernet-lldp-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ethernet-lldp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-08 { + description + "Added system-description field + 2022-04-01 + Added last clear time and transmit failure fields + 2022-03-01 + Added interface stats fields"; + semver:module-version "1.1.1m"; + } + revision 2020-09-01 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-13 { + description + "Added a new notification."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping LLDP-MGR-GLOBAL-INFO { + description + "LLDP global info"; + leaf chassis-id { + type string; + description + "Chassis identifier"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf chassis-id-sub-type { + type uint8; + description + "Chassis ID sub type"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf system-name { + type string; + description + "System Name"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf timer { + type uint32; + description + "Rate at which LLDP packets re sent (in sec)"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf hold-time { + type uint32; + description + "Length of time (in sec)that receiver must keep + thispacket"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf re-init { + type uint32; + description + "Delay (in sec) for LLDPinitialization on + anyinterface"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf system-description { + type string; + description + "System Description"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper.yang new file mode 100644 index 000000000..bb7033e68 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ethernet-lldp-oper.yang @@ -0,0 +1,195 @@ +module Cisco-IOS-XR-ethernet-lldp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-lldp-oper"; + prefix ethernet-lldp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ethernet-lldp-oper-sub2 { + revision-date 2022-11-08; + } + include Cisco-IOS-XR-ethernet-lldp-oper-sub1 { + revision-date 2022-11-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-lldp package operational data. + + This module contains definitions + for the following management objects: + lldp: Link Layer Discovery Protocol operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-08 { + description + "Added system-description field + 2022-04-01 + Added last clear time and transmit failure fields + 2022-03-01 + Added interface stats fields"; + semver:module-version "1.1.1m"; + } + revision 2020-09-01 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-13 { + description + "Added a new notification."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping LLDP-BODY { + description + "LLDP protocol state information"; + container global-lldp { + description + "Global LLDP data"; + container lldp-info { + description + "The LLDP Global Information of this box"; + uses LLDP-MGR-GLOBAL-INFO; + } + } + container nodes { + description + "Per node LLDP operational data"; + list node { + key "node-name"; + description + "The LLDP operational data for a particular node"; + container neighbors { + description + "The LLDP neighbor tables on this node"; + container devices { + description + "The detailed LLDP neighbor table on this + device"; + list device { + description + "Detailed information about a LLDP neighbor + entry"; + leaf device-id { + type string; + description + "The neighboring device identifier"; + } + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + uses LLDP-NEIGHBOR; + } + } + container details { + description + "The detailed LLDP neighbor table"; + list detail { + description + "Detailed information about a LLDP neighbor + entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + leaf device-id { + type string; + description + "The neighboring device identifier"; + } + uses LLDP-NEIGHBOR; + } + } + container summaries { + description + "The LLDP neighbor summary table"; + list summary { + description + "Brief information about a LLDP neighbor + entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + leaf device-id { + type string; + description + "The neighboring device identifier"; + } + uses LLDP-NEIGHBOR; + } + } + } + container interfaces { + description + "The table of interfaces on which LLDP is + running on this node"; + list interface { + key "interface-name"; + description + "Operational data for an interface on which + LLDP is running"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + uses LLDP-INTERFACE; + } + } + container statistics { + description + "The LLDP traffic statistics for this node"; + uses LLDP-STATS; + } + leaf node-name { + type xr:Node-id; + description + "The identifier for the node"; + } + } + } + } + + notification lldp-event { + description + "Notification event for lldp"; + uses LLDP-BODY; + } + container lldp { + config false; + description + "Link Layer Discovery Protocol operational data"; + uses LLDP-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper-sub1.yang new file mode 100644 index 000000000..5180e426e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper-sub1.yang @@ -0,0 +1,398 @@ +submodule Cisco-IOS-XR-event-manager-policy-map-oper-sub1 { + belongs-to Cisco-IOS-XR-event-manager-policy-map-oper { + prefix Cisco-IOS-XR-event-manager-policy-map-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR event-manager-policy-map package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-11 { + description + "IOS XR 7.7.1 revision."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping EEM-EVENT-MAPPING-INFO { + description + "Policy-Event map detail info"; + leaf event-name { + type string; + description + "Event Name"; + } + leaf event-status { + type string { + length "0..15"; + } + description + "Event Status"; + } + leaf corr-status { + type boolean; + description + "Event Correlation Status"; + } + leaf reset-time { + type uint32; + description + "Event Reset time"; + } + } + + grouping EEM-POLICY-DETAIL-BAG { + description + "Policy detail info"; + leaf policy-name-xr { + type string; + description + "Policy Name"; + } + leaf policy-status { + type string; + description + "Policy Status"; + } + leaf policy-occurrence { + type string; + description + "Policy Occurs"; + } + leaf policy-period { + type string; + description + "Policy Period"; + } + leaf policy-triggered-count { + type uint32; + description + "Trigger Count"; + } + leaf event-count { + type uint32; + description + "Event Count"; + } + leaf action-count { + type uint32; + description + "Action Count"; + } + leaf multi-event-policy { + type boolean; + description + "Multi-event Policy"; + } + leaf current-correlation-state { + type boolean; + description + "Current Correlation state"; + } + leaf multi-event-string { + type string; + description + "Multi Event String"; + } + list policy-event-map { + description + "Policy-Event Mapping"; + uses EEM-EVENT-MAPPING-INFO; + } + list policy-action-map { + description + "Policy-Action Mapping"; + uses EEM-ACTION-MAPPING-INFO; + } + } + + grouping EEM-EVENT-TELEMETRY-DETAIL-BAG { + description + "Event Telemetry detail info"; + leaf sensor-path { + type string; + description + "Sensor Path"; + } + leaf sample-interval { + type uint64; + description + "Sample Interval"; + } + } + + grouping EEM-EVENT-TRACK-DETAIL-BAG { + description + "Event Timer detail info"; + leaf track-name { + type string; + description + "Track Name"; + } + leaf track-state { + type string; + description + "Track State"; + } + } + + grouping EEM-EVENT-TIMER-WD-DETAIL-BAG { + description + "Event Timer watchdog detail info"; + leaf timer-value { + type uint64; + description + "Timer Value"; + } + } + + grouping EEM-EVENT-TIMER-CRON-DETAIL-BAG { + description + "Event Timer cron detail info"; + leaf cron-entry { + type string; + description + "Cron Entry"; + } + } + + grouping EEM-EVENT-TIMER-DETAIL-BAG { + description + "Event Timer detail info"; + container cron-info { + description + "cron info"; + uses EEM-EVENT-TIMER-CRON-DETAIL-BAG; + } + container wd-info { + description + "wd info"; + uses EEM-EVENT-TIMER-WD-DETAIL-BAG; + } + leaf timer-type { + type string; + description + "Timer Type"; + } + } + + grouping EEM-EVENT-SYSLOG-DETAIL-BAG { + description + "Event Syslog detail info"; + leaf pattern { + type string; + description + "Event Syslog Pattern"; + } + leaf severity { + type string; + description + "Event Severity info"; + } + } + + grouping EEM-EVENT-DETAIL-BAG { + description + "Event policy detail info"; + container event-syslog-info { + description + "Event Syslog Info"; + uses EEM-EVENT-SYSLOG-DETAIL-BAG; + } + container event-timer-info { + description + "Event Timer Info"; + uses EEM-EVENT-TIMER-DETAIL-BAG; + } + container event-track-info { + description + "Event Track Info"; + uses EEM-EVENT-TRACK-DETAIL-BAG; + } + container event-telemetry-info { + description + "Event Telemetry Info"; + uses EEM-EVENT-TELEMETRY-DETAIL-BAG; + } + leaf event-name-xr { + type string; + description + "Event Name"; + } + leaf event-status { + type string; + description + "Event Status"; + } + leaf event-type { + type string; + description + "Event type"; + } + leaf eventesid { + type uint32; + description + "Event Spec ID"; + } + leaf event-occurrence { + type string; + description + "Event Occurrence"; + } + leaf event-period { + type string; + description + "Event Period"; + } + leaf rate-limit { + type uint32; + description + "Rate limit"; + } + leaf event-triggered-count { + type uint32; + description + "Event Trigger Count"; + } + leaf event-policy-reg-count { + type uint32; + description + "Event Policy Registration Count"; + } + list event-policy-map { + description + "Event Policy Mapping"; + uses EEM-POLICY-MAPPING-INFO; + } + } + + grouping EEM-POLICY-MAPPING-INFO { + description + "Event policy mapping info"; + leaf policy-name { + type string; + description + "Policy Name"; + } + } + + grouping EEM-ACTION-DETAIL-BAG { + description + "Action policy detail info"; + leaf action-name-xr { + type string; + description + "Action Name"; + } + leaf script-name { + type string; + description + "Script Name"; + } + leaf action-type { + type string; + description + "Action Type"; + } + leaf triggered-count { + type uint32; + description + "Triggered Count"; + } + leaf policy-count { + type uint32; + description + "Policy Count"; + } + leaf max-run { + type uint32; + description + "Max Run"; + } + leaf checksum-enabled { + type string { + length "0..15"; + } + description + "Checksum enabled"; + } + leaf last-run-status { + type string; + description + "Script last run status"; + } + leaf user-name { + type string; + description + "User Name"; + } + leaf checksum-string { + type string; + description + "Checksum String"; + } + list action-policy-map { + description + "Action Policy Mapping"; + uses EEM-POLICY-MAPPING-INFO; + } + } + + grouping EEM-ACTION-MAPPING-INFO { + description + "Policy-Action map detail info"; + leaf action-name { + type string; + description + "Action Name"; + } + leaf checksum-enabled { + type string { + length "0..15"; + } + description + "Checksum Enabled"; + } + } + + grouping EEM-SCRIPT-BAG { + description + "Script action mapping"; + leaf script-name-xr { + type string; + description + "Script Name"; + } + list policy-action-map { + description + "Script-Action Mapping"; + uses EEM-ACTION-MAPPING-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper.yang new file mode 100644 index 000000000..40c3c3bbf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-event-manager-policy-map-oper.yang @@ -0,0 +1,135 @@ +module Cisco-IOS-XR-event-manager-policy-map-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-event-manager-policy-map-oper"; + prefix event-manager-policy-map-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ha-eem-policy-oper { + prefix a1; + } + include Cisco-IOS-XR-event-manager-policy-map-oper-sub1 { + revision-date 2022-01-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR event-manager-policy-map package operational data. + + This YANG module augments the + Cisco-IOS-XR-ha-eem-policy-oper + module with state data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-11 { + description + "IOS XR 7.7.1 revision."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:eem" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-ha-eem-policy-oper'"; + container script-action-names { + description + "Event Manager script-action mapping parameters"; + list script-action-name { + key "script-name"; + description + "Name of the script-action mapping"; + leaf script-name { + type xr:Cisco-ios-xr-string; + description + "Name of script"; + } + uses EEM-SCRIPT-BAG; + } + } + } + augment "/a1:eem" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-ha-eem-policy-oper'"; + container action-names { + description + "Event Manager Action parameters"; + list action-name { + key "action-name"; + description + "Name of the action"; + leaf action-name { + type xr:Cisco-ios-xr-string; + description + "Name of Action"; + } + uses EEM-ACTION-DETAIL-BAG; + } + } + } + augment "/a1:eem" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-ha-eem-policy-oper'"; + container event-trigger-names { + description + "EEM Event-trigger parameters"; + list event-trigger-name { + key "event-name"; + description + "Name of the event trigger"; + leaf event-name { + type xr:Cisco-ios-xr-string; + description + "Name of event-trigger"; + } + uses EEM-EVENT-DETAIL-BAG; + } + } + } + augment "/a1:eem" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-ha-eem-policy-oper'"; + container policy-map-names { + description + "Event Manager policy-map parameters"; + list policy-map-name { + key "policy-name"; + description + "Name of the policy-map"; + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of Policy-Map"; + } + uses EEM-POLICY-DETAIL-BAG; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper-sub1.yang new file mode 100644 index 000000000..a2f056867 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper-sub1.yang @@ -0,0 +1,3185 @@ +submodule Cisco-IOS-XR-evpn-oper-sub1 { + belongs-to Cisco-IOS-XR-evpn-oper { + prefix Cisco-IOS-XR-evpn-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR evpn package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-17 { + description + "- Added SRv6 ELAN list support in l2vpn_evpn_es bag."; + semver:module-version "5.1.0"; + } + revision 2021-08-13 { + description + "Added multicast SID information for SRv6 ELAN + 2021-07-07 + Updated main port gES-MAC field in bag for clarity + 2021-05-06 + Added union-path-buffer to l2vpn evpn label. + 2021-04-30 + Added vES nexthop list to EVPN Ethernet Segment + 2021-03-16 + Added support to retrieve multiple EVPN clients under ClientTable"; + semver:module-version "5.0.0"; + } + revision 2020-05-05 { + description + "changes related to treat SRv6 and SID as well-known when parsing XML for yang + 2020-04-02 + EVPN DF Election Synchronization with NTP related changes"; + semver:module-version "4.0.0"; + } + revision 2019-12-20 { + description + "EVPN SRv6 related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2018-09-26 { + description + "Duplicate detection parameters config moved from l2vpn to l2rib."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2vpn-evpn-es-access-signal-mode { + type enumeration { + enum "unsupported" { + description + "Unsupported interface type"; + } + enum "oos" { + description + "Out of Sync"; + } + enum "down" { + description + "Down"; + } + } + description + "L2vpn evpn es access signal mode"; + } + + typedef L2vpn-evpn-sc-mcast-mode { + type enumeration { + enum "disabled" { + description + "multicast service carving is disabled"; + } + enum "hrw-s-g" { + description + "Multicast HRW S,G"; + } + enum "hrw-g" { + description + "Multicast HRW *,G"; + } + } + description + "EVPN Ethernet-Segment service multicast carving + mode"; + } + + typedef L2vpn-evpn-sc-synchronization-mode { + type enumeration { + enum "none" { + description + "No service carving synchronization"; + } + enum "ntp" { + description + "NTP SCT based service carving synchronization"; + } + enum "handshake" { + description + "Handshake messaging based service carving + synchronization"; + } + enum "invalid" { + description + "Invalid or unknown service carving + synchronization mode"; + } + } + description + "EVPN Ethernet-Segment service carving + synchronization mode"; + } + + typedef L2vpn-evpn-sc-mode { + type enumeration { + enum "invalid" { + description + "Invalid service carving mode"; + } + enum "auto" { + description + "Auto service carving mode"; + } + enum "manual" { + description + "Manual service carving"; + } + enum "manual-list" { + description + "Manual List service carving"; + } + enum "hrw" { + description + "HRW service carving"; + } + enum "pref" { + description + "Preferential service carving"; + } + } + description + "EVPN Ethernet-Segment service carving mode"; + } + + typedef L2vpn-evpn-smac-src { + type enumeration { + enum "invalid" { + description + "Incomplete Configuration"; + } + enum "not-applicable" { + description + "Source MAC Not Applicable (EVPN)"; + } + enum "local" { + description + "Local"; + } + enum "pbb-bsa" { + description + "PBB BSA"; + } + enum "esi" { + description + "From ESI"; + } + enum "esi-invalid" { + description + "From ESI, Error"; + } + enum "pbb-bsa-overrride" { + description + "PBB BSA, no ESI"; + } + } + description + "L2vpn evpn smac src"; + } + + typedef L2vpn-evpn-lb-mode { + type enumeration { + enum "invalid-load-balancing" { + description + "Invalid load balancing"; + } + enum "single-homed" { + description + "Single-homed site or network"; + } + enum "multi-homed-aa-per-flow" { + description + "Multi-homed access network active/active per + flow"; + } + enum "multi-homed-aa-per-service" { + description + "Multi-homed access network active/active per + service"; + } + enum "multi-homed-single-flow-active" { + description + "Multi-homed access network single-flow-active"; + } + enum "multi-homed-port-active" { + description + "Multi-homed access network port-active"; + } + } + description + "L2VPN EVPN load balancing mode"; + } + + typedef L2vpn-evpn-mf-mode { + type enumeration { + enum "invalid" { + description + "Invalid MAC Flushing mode"; + } + enum "tcn-stp" { + description + "TCN STP MAC Flushing mode"; + } + enum "mvrp" { + description + "MVRP MAC Flushing mode"; + } + } + description + "L2VPN EVPN MAC flushing mode"; + } + + typedef Evpn-es-warning { + type enumeration { + enum "ves-conflict" { + description + "VES conflict on ES detected"; + } + enum "none" { + description + "None"; + } + } + description + "Evpn es warning"; + } + + typedef L2vpn-evpn-rt-origin { + type enumeration { + enum "invalid" { + description + "Incomplete Configuration"; + } + enum "extracted" { + description + "From ESI"; + } + enum "configured" { + description + "Locally configured"; + } + } + description + "L2vpn evpn rt origin"; + } + + typedef L2vpn-rg-role { + type enumeration { + enum "l2vpn-rg-role-not-defined" { + description + "l2vpn rg role not defined"; + } + enum "l2vpn-rg-role-active" { + description + "l2vpn rg role active"; + } + enum "l2vpn-rg-role-standby" { + description + "l2vpn rg role standby"; + } + enum "l2vpn-rg-role-max" { + description + "l2vpn rg role max"; + } + } + description + "L2vpn rg role"; + } + + typedef L2vpn-evpn-es-state { + type enumeration { + enum "not-ready" { + description + "Not Ready"; + } + enum "peering" { + description + "Peering"; + } + enum "up" { + description + "Up"; + } + enum "down" { + description + "Down"; + } + enum "standby" { + description + "Standby"; + } + } + description + "L2vpn evpn es state"; + } + + typedef L2vpn-evpn-esi { + type enumeration { + enum "esi-type0" { + value 0; + description + "ESI type zero"; + } + enum "esi-type1" { + value 1; + description + "ESI type one"; + } + enum "esi-type2" { + value 2; + description + "ESI type two"; + } + enum "esi-type3" { + value 3; + description + "ESI type three"; + } + enum "esi-type4" { + value 4; + description + "ESI type four"; + } + enum "esi-type5" { + value 5; + description + "ESI type five"; + } + enum "l2vpn-evpn-esi-type-legacy" { + value 128; + description + "ESI type legacy"; + } + enum "l2vpn-evpn-esi-type-override" { + value 129; + description + "ESI type override (10-octet value)"; + } + enum "esi-type-invalid" { + value 255; + description + "ESI type invalid"; + } + } + description + "EVPN ESI types"; + } + + typedef Evpn-bag-label-unresolved-reason { + type enumeration { + enum "none" { + description + "No reasons"; + } + enum "no-evi-paths" { + description + "No valid per-EVI EAD paths"; + } + enum "no-es-ead" { + description + "No per-ES EAD"; + } + enum "local-not-ready" { + description + "Local service not ready, or multiple matching + remote EADs"; + } + enum "no-mac-paths" { + description + "No valid MAC paths"; + } + } + description + "EVPN label entry unresolved reasons"; + } + + typedef L2vpn-ad-rt-role { + type enumeration { + enum "both" { + value 0; + description + "Both"; + } + enum "import" { + value 1; + description + "Import"; + } + enum "export" { + value 2; + description + "Export"; + } + } + description + "L2vpn ad rt role"; + } + + typedef Evpn-bag-path-issues { + type enumeration { + enum "unknown" { + description + "Unknown Issue"; + } + enum "invalid-transport-id" { + description + "Invalid Transport ID"; + } + enum "sid-format-mismatch" { + description + "SIDs Do Not Match Local Format"; + } + enum "control-word-mismatch" { + description + "Control Word Mismatch"; + } + enum "mtu-mismatch" { + description + "MTU Mismatch"; + } + enum "nhafi-not-supported" { + description + "NH AFI Not Supported"; + } + } + description + "Evpn bag path issues"; + } + + typedef Evpn-bag-l2-attr-cw { + type enumeration { + enum "unspecified" { + description + "Control Word Not Specified"; + } + enum "disabled" { + description + "Control Word Disabled"; + } + enum "enabled" { + description + "Control Word Enabled"; + } + } + description + "Evpn bag l2 attr cw"; + } + + typedef Evpn-bag-df-role { + type enumeration { + enum "invalid" { + description + "Designated Forwarder Role Not Specified"; + } + enum "primary" { + description + "Designated Forwarder Role Primary"; + } + enum "backup" { + description + "Designated Forwarder Role Backup"; + } + enum "not-designated-forwarder" { + description + "No Designated Forwarder Role"; + } + } + description + "Evpn bag df role"; + } + + typedef Evpn-pref-ecmp-nh-mode { + type enumeration { + enum "invalid" { + description + "Invalid"; + } + enum "pref-nh-lowest-ip" { + description + "Preferred ECMP Nexthop Lowest IP"; + } + enum "pref-nh-highest-ip" { + description + "Preferred ECMP Nexthop Highest IP"; + } + enum "pref-nh-modulo" { + description + "Preferred ECMP Nexthop Modulo"; + } + enum "ecmp-disable" { + description + "ECMP Disable"; + } + } + description + "Evpn pref ecmp nh mode"; + } + + typedef L2vpn-ad-rt { + type enumeration { + enum "l2vpn-ad-rt-none" { + value 0; + description + "Route target not set"; + } + enum "l2vpn-ad-rt-as" { + value 1; + description + "Route Target with 2 Byte AS number"; + } + enum "l2vpn-ad-rt-4byte-as" { + value 2; + description + "Route Target with 4 Byte AS number"; + } + enum "l2vpn-ad-rt-v4-addr" { + value 3; + description + "Route Target with IPv4 Address"; + } + enum "es-import" { + value 1538; + description + "Ethernet Segment Route Target from BGP"; + } + } + description + "L2vpn ad rt"; + } + + typedef L2vpn-ad-rd { + type enumeration { + enum "l2vpn-ad-rd-none" { + value 0; + description + "Route Distinguisher not set"; + } + enum "l2vpn-ad-rd-auto" { + value 1; + description + "Route Distinguisher auto-generated"; + } + enum "l2vpn-ad-rd-as" { + value 2; + description + "Route Distinguisher with 2 Byte AS number"; + } + enum "l2vpn-ad-rd-4byte-as" { + value 3; + description + "Route Distinguisher with 4 Byte AS number"; + } + enum "l2vpn-ad-rd-v4-addr" { + value 4; + description + "Route Distinguisher with IPv4 Address"; + } + } + description + "L2vpn ad rd"; + } + + typedef L2vpn-evpn { + type enumeration { + enum "evpn-type-invalid" { + description + "Unspecify type for that EVI entry"; + } + enum "evpn-type-evpn" { + description + "EVPN service type"; + } + enum "evpn-type-pbb-evpn" { + description + "PBB EVPN service type"; + } + enum "evpn-type-evpn-vpws-vlan-unaware" { + description + "EVPN VPWS vlan-unaware service type"; + } + enum "evpn-type-evpn-vpws-vlan-aware" { + description + "EVPN VPWS vlan-aware service type"; + } + enum "evpn-type-max" { + description + "Max EVPN type"; + } + } + description + "L2vpn evpn"; + } + + typedef L2vpn-evpn-encap { + type enumeration { + enum "l2vpn-bag-evpn-encap-unknown" { + value 0; + description + "Unknown encapsulation"; + } + enum "l2vpn-bag-evpn-encap-vxlan" { + value 8; + description + "VxLAN Encapsulation"; + } + enum "l2vpn-bag-evpn-encap-mpls" { + value 10; + description + "MPLS Encapsulation"; + } + enum "l2vpn-bag-evpn-encap-es-global" { + value 253; + description + "ES Global"; + } + enum "l2vpn-bag-evpn-encap-route-sync" { + value 254; + description + "EVPN Route Sync"; + } + enum "l2vpn-bag-evpn-encap-srv6" { + value 255; + description + "SRv6 Encapsulation"; + } + } + description + "EVPN Encapsulation Type"; + } + + typedef Evpn-child { + type enumeration { + enum "l2-fwd" { + description + "L2 FWD"; + } + enum "l3-sub-if" { + description + "L3 SUBIF"; + } + } + description + "Evpn child"; + } + + typedef Evpn-igmp-grp { + type enumeration { + enum "include" { + description + "Include"; + } + enum "exclude" { + description + "Exclude"; + } + } + description + "Evpn igmp grp"; + } + + typedef Evpn-igmp-version { + type enumeration { + enum "v1" { + description + "Version 1"; + } + enum "v2" { + description + "Version 2"; + } + enum "v3" { + description + "Version 3"; + } + } + description + "Evpn igmp version"; + } + + typedef L2vpn-bag-in6-addr { + type inet:ipv6-address; + description + "L2vpn bag in6 addr"; + } + + typedef Evpn-igmp-source { + type enumeration { + enum "local" { + description + "Local"; + } + enum "remote" { + description + "Remote"; + } + } + description + "Evpn igmp source"; + } + + typedef Evpn-igmp-msg { + type enumeration { + enum "join" { + description + "Join"; + } + enum "leave" { + description + "Leave"; + } + enum "proxy-join" { + description + "Proxy Join"; + } + } + description + "Evpn igmp msg"; + } + + typedef Evpn-client1 { + type enumeration { + enum "igmpsn" { + description + "IGMPSN"; + } + enum "igmp" { + description + "IGMP"; + } + enum "mrib" { + description + "MRIB"; + } + enum "mld" { + description + "MLD"; + } + enum "mldsn" { + description + "MLDSN"; + } + enum "invalid" { + description + "Invalid"; + } + } + description + "Evpn client1"; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Evpn-grp { + type enumeration { + enum "deisolating" { + description + "Deisolating"; + } + enum "isolated" { + description + "Isolated"; + } + enum "ready" { + description + "Ready"; + } + enum "incomplete" { + description + "Incomplete"; + } + } + description + "EVPN Group State"; + } + + grouping L2VPN-ATOM-ACID { + description + "L2VPN ATOM ACID"; + leaf source-ac-id { + type uint32; + description + "Source AC ID"; + } + leaf target-ac-id { + type uint32; + description + "Target AC ID"; + } + leaf vpn-id { + type uint32; + description + "VPN ID"; + } + leaf taii-global-id { + type uint32; + description + "TAII Global ID"; + } + leaf taii-ac-id { + type uint32; + description + "TAII AC ID"; + } + leaf taii-prefix { + type inet:ipv6-address; + description + "TAII Prefix"; + } + } + + grouping L2VPN-EVPN-EAD-SERVICE-INFO { + description + "L2VPN EVPN EAD Ethernet Tag"; + leaf vpn-id { + type uint32; + description + "VPN ID"; + } + leaf type { + type L2vpn-evpn; + description + "Service Type"; + } + leaf ethernet-tag { + type uint32; + description + "Ethernet Tag"; + } + } + + grouping L2VPN-BAG-TIMESPEC { + description + "L2VPN Timespec Data Structure"; + leaf tv-sec { + type uint32; + description + "tv sec"; + } + leaf tv-nsec { + type uint32; + description + "tv nsec"; + } + } + + grouping L2VPN-STAT-ITEM { + description + "L2VPN EVPN Ethernet Segment (ES) private stats + item"; + container last-time { + description + "last time"; + uses L2VPN-BAG-TIMESPEC; + } + leaf count { + type uint32; + description + "count"; + } + leaf last-arg { + type uint32; + description + "last arg"; + } + } + + grouping L2VPN-EVPN-ES-NH-BUFFER { + description + "L2VPN EVPN Ethernet Segment (ES) nexthops + information"; + leaf next-hop { + type inet:ipv6-address; + description + "Next-hop IP address (v6 format)"; + } + leaf ges-mac { + type yang:mac-address; + description + "Grouping ES MAC Address"; + } + leaf df-dont-preempt { + type boolean; + description + "DF Dont Preemption"; + } + leaf df-type { + type uint8; + description + "DF Election Mode Configured"; + } + leaf df-pref { + type uint16; + description + "DF Election Preference Set"; + } + leaf df-ntp-enabled { + type boolean; + description + "NTP based DF Election Synchronization"; + } + leaf ntp-sct-microseconds { + type uint64; + units "microsecond"; + description + "NTP based SCT: represented in microseconds + relative to Unix epoch: 1st Jan 1970"; + } + } + + grouping L2VPN-EVPN-ES { + description + "EVPN Ethernet Segment (ES) database information"; + container msti-flush-count { + description + "Statistics for Host-mobility driven flush + operations"; + uses L2VPN-STAT-ITEM; + } + leaf esi-type { + type L2vpn-evpn-esi; + description + "ESI Type"; + } + leaf esi-system-identifier { + type string; + description + "ESI System Identifier"; + } + leaf esi-port-key { + type uint32; + description + "ESI Port Key"; + } + leaf esi-system-priority { + type uint32; + description + "ESI System Priority"; + } + leaf ethernet-segment-name { + type string; + description + "Ethernet Segment Name"; + } + leaf ethernet-segment-state { + type L2vpn-evpn-es-state; + description + "State of the ethernet segment"; + } + leaf in-staggered-bringup { + type boolean; + description + "Is this ES in the staggered bring-up queue?"; + } + leaf if-handle { + type xr:Interface-name; + description + "Main port ifhandle"; + } + leaf main-port-role { + type L2vpn-rg-role; + description + "Main port redundancy group role"; + } + leaf main-port-mac { + type yang:mac-address; + description + "Main Port MAC Address"; + } + leaf num-up-p-ws { + type uint32; + description + "Number of PWs in Up state"; + } + leaf route-target { + type yang:mac-address; + description + "ES-Import Route Target"; + } + leaf rt-origin { + type L2vpn-evpn-rt-origin; + description + "Origin of operational ES-Import RT"; + } + leaf es-bgp-gates { + type string; + description + "ES BGP Gates"; + } + leaf es-l2fib-gates { + type string; + description + "ES L2FIB Gates"; + } + leaf mac-flushing-mode-config { + type L2vpn-evpn-mf-mode; + description + "Configured MAC Flushing mode"; + } + leaf load-balance-mode-config { + type L2vpn-evpn-lb-mode; + description + "Configured load balancing mode"; + } + leaf load-balance-mode-is-default { + type boolean; + description + "Load balancing mode is default"; + } + leaf load-balance-mode-oper { + type L2vpn-evpn-lb-mode; + description + "Operational load balancing mode"; + } + leaf force-single-home { + type boolean; + description + "Ethernet-Segment forced to single home"; + } + leaf convergence-mac-mobility { + type boolean; + description + "Fast convergence mode based on MAC-mobility."; + } + leaf convergence-reroute { + type boolean; + description + "Fast convergence mode based on reroute to backup + peer."; + } + leaf convergence-nh-tracking { + type boolean; + description + "Fast DF-Election based on tracking peer BGP + Nexthop reachability"; + } + leaf mp-ges-mac { + type yang:mac-address; + description + "Main-port Grouping-ES MAC"; + } + leaf source-mac-oper { + type yang:mac-address; + description + "Operational Source MAC address"; + } + leaf source-mac-origin { + type L2vpn-evpn-smac-src; + description + "Origin of operational source MAC address"; + } + leaf ves-pending-up-refcount { + type uint32; + description + "Refcount of VES' whose peering timer is running"; + } + leaf ves-sub-interface-count { + type uint32; + description + "Number of Sub interface VES' in this main port + grouping"; + } + leaf peering-timer { + type uint32; + units "second"; + description + "Configured timer for triggering DF election + (seconds)"; + } + leaf peering-timer-left { + type uint32; + units "millisecond"; + description + "Milliseconds left on DF election timer"; + } + leaf recovery-timer { + type uint32; + units "second"; + description + "Configured timer for (STP) recovery (seconds)"; + } + leaf recovery-timer-left { + type uint32; + units "millisecond"; + description + "Milliseconds left on (STP) recovery timer"; + } + leaf carving-timer { + type uint32; + units "second"; + description + "Configured timer for delaying DF election + (seconds)"; + } + leaf carving-timer-left { + type uint32; + units "millisecond"; + description + "Milliseconds left on carving timer"; + } + leaf hrw-reset-timer { + type uint32; + units "second"; + description + "Configured timer for HRW reset (seconds)"; + } + leaf hrw-reset-timer-left { + type uint32; + units "millisecond"; + description + "Milliseconds left on HRW reset timer"; + } + leaf service-carving-mode { + type L2vpn-evpn-sc-mode; + description + "Service carving mode"; + } + leaf service-carving-synchronization-mode { + type L2vpn-evpn-sc-synchronization-mode; + description + "Service carving synchronization mode"; + } + leaf service-carving-mcast-mode { + type L2vpn-evpn-sc-mcast-mode; + description + "Service carving multicast mode"; + } + leaf primary-services-input { + type string; + description + "Input string of Primary services ESI/I-SIDs"; + } + leaf secondary-services-input { + type string; + description + "Input string of Secondary services ESI/I-SIDs"; + } + leaf preferential-df-configured-weight { + type uint16; + description + "Configured Weight for Preferential DF Election"; + } + leaf preferential-df-operational-weight { + type uint16; + description + "Operational Weight for Preferential DF Election"; + } + leaf access-driven-df-election { + type boolean; + description + "Access Driven DF Election is active"; + } + leaf forwarder-ports { + type uint32; + description + "Count of Forwarders (AC, AC PW, VFI PW)"; + } + leaf permanent-forwarder-ports { + type uint32; + description + "Count of Forwarders with permanent service"; + } + leaf elected-forwarder-ports { + type uint32; + description + "Count of Forwarders with elected service"; + } + leaf not-elected-forwarder-ports { + type uint32; + description + "Count of Forwarders with not elected service"; + } + leaf not-config-forwarder-ports { + type uint32; + description + "Count of forwarders with missing config detected"; + } + leaf mp-protected { + type boolean; + description + "MP is protected and not under EVPN control"; + } + leaf nve-anycast-vtep { + type boolean; + description + "Anycast VTEP mode on NVE main-interface"; + } + leaf nve-ingress-replication { + type boolean; + description + "Ingress-Replication is configured on NVE + main-interface"; + } + leaf msti-flush-debounce { + type uint32; + description + "Value of scale-dependant debouncing"; + } + leaf tracked-bgp-nexthop { + type inet:ipv6-address; + description + "Reachability-tracked BGP Nexthop"; + } + leaf local-split-horizon-group-label-valid { + type boolean; + description + "Local split horizon group label is valid"; + } + leaf local-split-horizon-group-label { + type uint32; + description + "Local split horizon group label"; + } + leaf access-signal-mode { + type L2vpn-evpn-es-access-signal-mode; + description + "Operational access signal mode"; + } + list ethernet-segment-identifier { + description + "Ethernet Segment id"; + leaf entry { + type uint8; + description + "Ethernet Segment id"; + } + } + list es-warning { + description + "EVPN ES warnings"; + leaf entry { + type Evpn-es-warning; + description + "EVPN ES warnings"; + } + } + list primary-service { + description + "List of Primary services ESI/I-SIDs"; + leaf entry { + type uint32; + description + "List of Primary services ESI/I-SIDs"; + } + } + list secondary-service { + description + "List of Secondary services ESI/I-SIDs"; + leaf entry { + type uint32; + description + "List of Secondary services ESI/I-SIDs"; + } + } + list service-carving-i-sidelected-result { + description + "Elected ISID service carving results"; + leaf entry { + type uint32; + description + "Elected ISID service carving results"; + } + } + list service-carving-isid-not-elected-result { + description + "Not elected ISID service carving results"; + leaf entry { + type uint32; + description + "Not elected ISID service carving results"; + } + } + list service-carving-evi-elected-result { + description + "Elected EVI service carving results"; + leaf entry { + type uint32; + description + "Elected EVI service carving results"; + } + } + list service-carving-evi-not-elected-result { + description + "Not elected EVI service carving results"; + leaf entry { + type uint32; + description + "Not elected EVI service carving results"; + } + } + list service-carving-vni-elected-result { + description + "Elected VNI service carving results"; + leaf entry { + type uint32; + description + "Elected VNI service carving results"; + } + } + list service-carving-vni-not-elected-result { + description + "Not elected VNI service carving results"; + leaf entry { + type uint32; + description + "Not elected VNI service carving results"; + } + } + list service-carving-srv6-elan-elected-result { + description + "Elected SRv6 ELAN service carving results"; + leaf entry { + type uint32; + description + "Elected SRv6 ELAN service carving results"; + } + } + list service-carving-srv6-elan-not-elected-result { + description + "Not elected SRv6 ELAN service carving results"; + leaf entry { + type uint32; + description + "Not elected SRv6 ELAN service carving results"; + } + } + list next-hop { + description + "List of nexthop IPv6 addresses"; + uses L2VPN-EVPN-ES-NH-BUFFER; + } + list mp-ves-next-hop { + description + "List of nexthop IPv6 addresses for child vES"; + uses L2VPN-EVPN-ES-NH-BUFFER; + } + list service-carving-evpn-vpws-primary-result { + description + "EVPN VPWS service carving primary results"; + uses L2VPN-EVPN-EAD-SERVICE-INFO; + } + list service-carving-evpn-vpws-backup-result { + description + "EVPN VPWS service carving backup results"; + uses L2VPN-EVPN-EAD-SERVICE-INFO; + } + list service-carving-evpn-vpws-ndf-result { + description + "EVPN VPWS service carving non-DF results"; + uses L2VPN-EVPN-EAD-SERVICE-INFO; + } + list remote-split-horizon-group-label { + description + "Remote split horizon group labels"; + uses L2VPN-EVPN-REMOTE-SHG-INFO; + } + } + + grouping EVPN-SRV6-LOCATOR-INFO { + description + "EVPN SRv6 Locator information"; + leaf locator-name { + type string; + description + "SRv6 Locator name"; + } + leaf locator-prefix { + type inet:ipv6-address; + description + "SRv6 Locator prefix"; + } + leaf locator-length { + type uint8; + description + "SRv6 Locator length"; + } + leaf oor-state { + type boolean; + description + "Out of Resources state"; + } + leaf in-use { + type boolean; + description + "In use by services"; + } + leaf service-count { + type uint32; + description + "Number of services using this locator implicitly + and explicitly"; + } + leaf sid-count { + type uint32; + description + "Number of SIDs allocated by services for this + locator"; + } + leaf is-default { + type boolean; + description + "Configured default locator"; + } + list evi { + description + "List of EVIs with this locator explicitly + + configured"; + leaf entry { + type uint32; + description + "List of EVIs with this locator explicitly + + configured"; + } + } + list srv6 { + description + "List of ELAN based SRv6 with locator explicitly + + configured"; + leaf entry { + type uint32; + description + "List of ELAN based SRv6 with locator explicitly + + configured"; + } + } + list pw { + description + "List of VPWS services with this locator + explicitly configured"; + uses EVPN-SRV6-VPWS-KEY; + } + } + + grouping EVPN-SRV6-VPWS-KEY { + description + "EVPN SRv6 VPWS service key"; + leaf evi { + type uint32; + description + "EVI for the VPWS service"; + } + leaf acid { + type uint32; + description + "Attachment circuit ID for the VPWS service"; + } + } + + grouping L2VPN-EVPN-SRV6 { + description + "EVPN SRv6 info object"; + leaf enabled { + type boolean; + description + "SRv6 Enabled"; + } + leaf configured-default-locator { + type string; + description + "Configured default SRv6 locator"; + } + list unknown-locator-evi { + description + "List of EVIs with unknown locator names + + configured"; + leaf entry { + type uint32; + description + "List of EVIs with unknown locator names + + configured"; + } + } + list unknown-locator-vpws { + description + "List of VPWS services with unknown locator names + configured"; + uses EVPN-SRV6-VPWS-KEY; + } + list locator { + description + "List of locators from L3RIB"; + uses EVPN-SRV6-LOCATOR-INFO; + } + } + + grouping L2VPN-EVPN-LABEL { + description + "EVPN Internal Label database information"; + container evpn-instance { + description + "EVPN Instance summary information"; + uses L2VPN-EVPN-EVI-SUMMARY; + } + leaf esi { + type yang:hex-string; + description + "Ethernet Segment id"; + } + leaf tag { + type uint32; + description + "Label Tag"; + } + leaf internal-label { + type uint32; + description + "MPLS Internal Label"; + } + leaf alternate-internal-label { + type uint32; + description + "Alternate MPLS Internal Label"; + } + leaf internal-id { + type uint32; + description + "SRv6 Internal ID"; + } + leaf resolved { + type boolean; + description + "Internal Label has resolved per-ES EAD and + per-EVI EAD or MAC routes"; + } + leaf unresolved-reason { + type Evpn-bag-label-unresolved-reason; + description + "Optional reason why the label entry has not been + resolved"; + } + leaf preferred-nh-mode { + type Evpn-pref-ecmp-nh-mode; + description + "Preferred ECMP Nexthop Mode"; + } + leaf redundancy-single-active { + type boolean; + description + "Single-active redundancy configured at remote ES"; + } + leaf redundancy-single-flow-active { + type boolean; + description + "Single-flow-active redundancy at remote ES + (MST-AG)"; + } + list mac-path-buffer { + description + "MAC Path list buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + list ead-path-buffer { + description + "EAD/ES Path list buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + list evi-path-buffer { + description + "EAD/EVI Path list buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + list union-path-buffer { + description + "Union Path list buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + list summary-path-buffer { + description + "Summary Path list buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + list alternate-summary-path-buffer { + description + "Alternate Summary Path list buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + } + + grouping L2VPN-EVPN-TEP-INFO { + description + "L2VPN EVPN TEP INFO"; + leaf ethernet-vpn-id { + type uint32; + description + "Ethernet VPN id"; + } + leaf encapsulation { + type uint8; + description + "EVPN Tunnel encapsulation"; + } + leaf ip { + type inet:ipv6-address; + description + "IP address (v6 format)"; + } + } + + grouping L2VPN-EVPN-TEP { + description + "EVPN Tunnel Endpoint database information"; + container local-info { + description + "Local TEP Information"; + uses L2VPN-EVPN-TEP-INFO; + } + container remote-info { + description + "Remote TEP Information"; + uses L2VPN-EVPN-TEP-INFO; + } + leaf tunnel-endpoint-id { + type uint32; + description + "Tunnel Endpoint id"; + } + leaf type { + type uint8; + description + "EVPN Tunnel Endpoint Type"; + } + leaf use-count { + type uint32; + description + "in-use counter"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vrf-table-id { + type uint32; + description + "VRF Table Id in RIB"; + } + leaf udp-port { + type uint16; + description + "UDP port"; + } + } + + grouping L2VPN-EVPN-TEP-NOTIFICATION-ENTRY { + description + "EVPN Tunnel Endpoint notification entry + information"; + leaf entry-name { + type string; + description + "Entry Name"; + } + } + + grouping L2VPN-EVPN-CLIENT { + description + "EVPN Client Information"; + leaf client-type-xr { + type Evpn-client1; + description + "Client Type"; + } + } + + grouping L2VPN-EVPN-MAC { + description + "L2VPN EVPN MAC database information"; + container evpn-instance { + description + "EVPN Instance summary information"; + uses L2VPN-EVPN-EVI-SUMMARY; + } + leaf ethernet-tag-xr { + type uint32; + description + "Ethernet Tag"; + } + leaf mac-address-xr { + type yang:mac-address; + description + "MAC address"; + } + leaf ip-address-xr { + type inet:ipv6-address; + description + "IP address (v6 format)"; + } + leaf local-label { + type uint32; + description + "Associated local label"; + } + leaf is-local-mac { + type boolean; + description + "Indication of MAC being locally generated"; + } + leaf is-proxy-entry { + type boolean; + description + "Proxy entry"; + } + leaf is-remote-mac { + type boolean; + description + "Indication of MAC being remotely generated"; + } + leaf soo-nexthop { + type inet:ipv6-address; + description + "SOO nexthop (v6 format)"; + } + leaf ipnh-address { + type inet:ipv6-address; + description + "IP nexthop address (v6 format)"; + } + leaf esi-port-key { + type uint16; + description + "ESI port key"; + } + leaf local-encap-type { + type uint8; + description + "Encap type of local MAC"; + } + leaf remote-encap-type { + type uint8; + description + "Encap type of remote MAC"; + } + leaf learned-bridge-port-name { + type string; + description + "Port the MAC was learned on"; + } + leaf local-seq-id { + type uint32; + description + "local seq id"; + } + leaf remote-seq-id { + type uint32; + description + "remote seq id"; + } + leaf local-l3-label { + type uint32; + description + "local l3 label"; + } + leaf router-mac-address { + type yang:mac-address; + description + "Router MAC address"; + } + leaf mac-flush-requested { + type uint16; + description + "Number of flushes requested "; + } + leaf mac-flush-received { + type uint16; + description + "Number of flushes received "; + } + leaf internal-label { + type uint32; + description + "MPLS Internal Label"; + } + leaf resolved { + type boolean; + description + "Internal Label has resolved per-ES EAD and + per-EVI EAD or MAC routes"; + } + leaf local-is-static { + type boolean; + description + "Indication if Local MAC is statically configured"; + } + leaf remote-is-static { + type boolean; + description + "Indication if Remote MAC is statically + configured"; + } + leaf local-etree-leaf { + type boolean; + description + "Local E-Tree Leaf Indication"; + } + leaf remote-etree-leaf { + type boolean; + description + "Remote E-Tree Leaf Indication"; + } + leaf remote-etree-rt-leaf { + type boolean; + description + "Remote MAC matching E-Tree Route-Target Leaf"; + } + leaf local-attachment-circuit-id { + type uint32; + description + "Local Attachement Circuit ID used in + ac-aware-vlan-bundling"; + } + leaf remote-attachment-circuit-id { + type uint32; + description + "Remote Attachement Circuit ID used in + ac-aware-vlan-bundling"; + } + list local-ethernet-segment-identifier { + description + "Local Ethernet Segment id"; + leaf entry { + type uint8; + description + "Local Ethernet Segment id"; + } + } + list remote-ethernet-segment-identifier { + description + "Remote Ethernet Segment id"; + leaf entry { + type uint8; + description + "Remote Ethernet Segment id"; + } + } + list local-sid-array { + description + "Associated local SIDs"; + uses L2VPN-EVPN-SRV6-SID-INFO; + } + list path-buffer { + description + "Path List Buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + } + + grouping L2VPN-EVPN-EVI-BGP-RT { + description + "EVPN Instance Route Target information"; + container evpn-instance { + description + "EVPN Instance summary information"; + uses L2VPN-EVPN-EVI-SUMMARY; + } + container route-target { + description + "Route Target"; + uses L2VPN-RT; + } + leaf route-target-role { + type L2vpn-ad-rt-role; + description + "RT Role"; + } + leaf route-target-stitching { + type boolean; + description + "RT Stitching"; + } + } + + grouping L2VPN-EVPN-IMCAST { + description + "L2VPN EVPN Inclusive Multicast database + information"; + container evpn-instance { + description + "EVPN Instance summary information"; + uses L2VPN-EVPN-EVI-SUMMARY; + } + container sr-te-info { + description + "SR(v6)-TE Policy info from ODN"; + uses L2VPN-EVPN-SRTE-INFO; + } + leaf ethernet-tag-xr { + type uint32; + description + "Ethernet Tag"; + } + leaf originating-ip-xr { + type inet:ipv6-address; + description + "Originating IP"; + } + leaf tunnel-endpoint-id { + type uint32; + description + "Tunnel Endpoint ID"; + } + leaf pmsi-tunnel-type { + type uint32; + description + "PMSI Tunnel Type"; + } + leaf next-hop { + type inet:ipv6-address; + description + "IP of nexthop"; + } + leaf output-label { + type uint32; + description + "Output label"; + } + leaf is-local-entry { + type boolean; + description + "Local entry"; + } + leaf is-proxy-entry { + type boolean; + description + "Proxy entry"; + } + leaf is-igmp-snooping-proxy-entry { + type boolean; + description + "IGMP Proxy enabled"; + } + leaf is-mld-snooping-proxy-entry { + type boolean; + description + "MLD Proxy enabled"; + } + leaf num-resolved-proxy-joins { + type uint32; + description + "Number of Proxy Joins resolving against this + entry"; + } + leaf etree-leaf { + type boolean; + description + "E-Tree Leaf Indication"; + } + list output-sid { + description + "Output SID"; + uses L2VPN-EVPN-SRV6-SID-INFO; + } + } + + grouping L2VPN-EVPN-L2-ATTRS { + description + "L2VPN EVPN L2 ATTRS"; + leaf mtu { + type uint16; + description + "Maximum Transmission Unit"; + } + leaf designated-forwarder-role { + type Evpn-bag-df-role; + description + "Designated Forwarder Role"; + } + leaf control-word { + type Evpn-bag-l2-attr-cw; + description + "Control Word"; + } + } + + grouping L2VPN-EVPN-SRTE-INFO { + description + "L2VPN EVPN SRTE INFO"; + leaf sr-te-type { + type uint8; + description + "Type of SR-TE Policy path from ODN"; + } + leaf sr-te-interface-name { + type xr:Interface-name; + description + "SR Traffic Engineering Interface Name"; + } + leaf sr-te-bsid { + type uint32; + description + "SR Traffic Engineering Binding-SID (Label)"; + } + leaf srv6-te-bsid { + type inet:ipv6-address; + description + "SRv6 Traffic Engineering Binding-SID"; + } + } + + grouping L2VPN-LABEL-PATH-BUFFER { + description + "L2VPN LABEL PATH BUFFER"; + container sr-te-info { + description + "SR(v6)-TE Policy info from ODN"; + uses L2VPN-EVPN-SRTE-INFO; + } + container layer2-attributes { + description + "Layer 2 Attributes"; + uses L2VPN-EVPN-L2-ATTRS; + } + leaf tunnel-endpoint-id { + type uint32; + description + "Tunnel Endpoint Identifier"; + } + leaf next-hop { + type inet:ipv6-address; + description + "Next-hop IP address (v6 format)"; + } + leaf output-label { + type uint32; + description + "Output Label"; + } + leaf reroute-label { + type uint32; + description + "Reroute Label"; + } + leaf ges-mac-address { + type yang:mac-address; + description + "Grouping ES MAC address"; + } + list issue { + description + "Issues with this path item"; + leaf entry { + type Evpn-bag-path-issues; + description + "Issues with this path item"; + } + } + list srv6-sid-info { + description + "Array of SRv6 SID information"; + uses L2VPN-EVPN-SRV6-SID-INFO; + } + } + + grouping L2VPN-EVPN-SRV6-SID-INFO { + description + "SRv6 SID information for EVPN services"; + leaf srv6-sid { + type inet:ipv6-address; + description + "SRv6 SID"; + } + } + + grouping L2VPN-EVPN-EAD { + description + "L2VPN EVPN EAD database information"; + container evpn-instance { + description + "EVPN Instance summary information"; + uses L2VPN-EVPN-EVI-SUMMARY; + } + container layer2-attributes { + description + "Layer 2 Attributes"; + uses L2VPN-EVPN-L2-ATTRS; + } + leaf ethernet-tag-xr { + type uint32; + description + "Ethernet Tag"; + } + leaf local-next-hop { + type inet:ipv6-address; + description + "Local nexthop IP"; + } + leaf local-label { + type uint32; + description + "Associated local label"; + } + leaf is-local-ead { + type boolean; + description + "Indication of EthernetAutoDiscovery Route is + local"; + } + leaf redundancy-single-active { + type boolean; + description + "Single-active redundancy configured at remote + EAD"; + } + leaf redundancy-single-flow-active { + type boolean; + description + "Single-flow-active redundancy configured at + remote EAD"; + } + list ethernet-segment-identifier { + description + "Ethernet Segment id"; + leaf entry { + type uint8; + description + "Ethernet Segment id"; + } + } + list local-sid-array { + description + "Associated local SIDs"; + uses L2VPN-EVPN-SRV6-SID-INFO; + } + list path-buffer { + description + "Path List Buffer"; + uses L2VPN-LABEL-PATH-BUFFER; + } + } + + grouping L2VPN-EVPN-NEIGHBOR { + description + "L2VPN EVPN Neighbor database information"; + container evpn-instance { + description + "EVPN Instance summary information"; + uses L2VPN-EVPN-EVI-SUMMARY; + } + leaf neighbor { + type inet:ipv6-address; + description + "Neighbor IP"; + } + list leaf-evis { + description + "Leaf EVIs"; + leaf entry { + type uint32; + description + "Leaf EVIs"; + } + } + } + + grouping L2VPN-RT-ES-IMPORT { + description + "L2VPN RT ES IMPORT"; + leaf high-bytes { + type uint32; + description + "Top 4 bytes of ES Import"; + } + leaf low-bytes { + type uint16; + description + "Low 2 bytes of ES Import"; + } + } + + grouping L2VPN-RT-V4ADDR { + description + "L2VPN RT V4ADDR"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RT-4BYTE-AS { + description + "L2VPN RT 4BYTE AS"; + leaf four-byte-as { + type uint32; + description + "4 Byte AS Number"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RT-2BYTE-AS { + description + "L2VPN RT 2BYTE AS"; + leaf two-byte-as { + type uint16; + description + "2 Byte AS Number"; + } + leaf four-byte-index { + type uint32; + description + "4 Byte Index"; + } + } + + grouping L2VPN-RT { + description + "L2VPN RT"; + container two-byte-as { + when "../rt = 'l2vpn-ad-rt-as'" { + description + "../RT = 'L2VPN_AD_RT_AS'"; + } + description + "two byte as"; + uses L2VPN-RT-2BYTE-AS; + } + container four-byte-as { + when "../rt = 'l2vpn-ad-rt-4byte-as'" { + description + "../RT = 'L2VPN_AD_RT_4BYTE_AS'"; + } + description + "four byte as"; + uses L2VPN-RT-4BYTE-AS; + } + container v4-addr { + when "../rt = 'l2vpn-ad-rt-v4-addr'" { + description + "../RT = 'L2VPN_AD_RT_V4ADDR'"; + } + description + "v4 addr"; + uses L2VPN-RT-V4ADDR; + } + container es-import { + when "../rt = 'es-import'" { + description + "../RT = 'ES_Import'"; + } + description + "es import"; + uses L2VPN-RT-ES-IMPORT; + } + leaf rt { + type L2vpn-ad-rt; + description + "RT"; + } + } + + grouping L2VPN-RD-V4ADDR { + description + "L2VPN RD V4ADDR"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RD-4BYTE-AS { + description + "L2VPN RD 4BYTE AS"; + leaf four-byte-as { + type uint32; + description + "4 Byte AS Number"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RD-2BYTE-AS { + description + "L2VPN RD 2BYTE AS"; + leaf two-byte-as { + type uint16; + description + "2 Byte AS Number"; + } + leaf four-byte-index { + type uint32; + description + "4 Byte Index"; + } + } + + grouping L2VPN-RD-AUTO { + description + "L2VPN RD AUTO"; + leaf router-id { + type inet:ipv4-address; + description + "BGP Router ID"; + } + leaf auto-index { + type uint16; + description + "Auto-generated Index"; + } + } + + grouping L2VPN-RD { + description + "L2VPN RD"; + container auto { + when "../rd = 'l2vpn-ad-rd-auto'" { + description + "../RD = 'L2VPN_AD_RD_AUTO'"; + } + description + "auto"; + uses L2VPN-RD-AUTO; + } + container two-byte-as { + when "../rd = 'l2vpn-ad-rd-as'" { + description + "../RD = 'L2VPN_AD_RD_AS'"; + } + description + "two byte as"; + uses L2VPN-RD-2BYTE-AS; + } + container four-byte-as { + when "../rd = 'l2vpn-ad-rd-4byte-as'" { + description + "../RD = 'L2VPN_AD_RD_4BYTE_AS'"; + } + description + "four byte as"; + uses L2VPN-RD-4BYTE-AS; + } + container v4-addr { + when "../rd = 'l2vpn-ad-rd-v4-addr'" { + description + "../RD = 'L2VPN_AD_RD_V4ADDR'"; + } + description + "v4 addr"; + uses L2VPN-RD-V4ADDR; + } + leaf rd { + type L2vpn-ad-rd; + description + "RD"; + } + } + + grouping L2VPN-EVPN-FLOW-LABEL { + description + "L2VPN EVPN FLOW LABEL"; + leaf static-flow-label { + type boolean; + description + "Static flow label"; + } + leaf global-flow-label { + type boolean; + description + "Globally configured flow label"; + } + } + + grouping L2VPN-EVPN-EVI-DETAIL { + description + "EVPN E-VPN ID database detail information"; + container evpn-instance { + description + "EVPN Instance summary information"; + uses L2VPN-EVPN-EVI-SUMMARY; + } + container flow-label { + description + "Flow Label Information"; + uses L2VPN-EVPN-FLOW-LABEL; + } + container rd-auto { + description + "Automatic Route Distingtuisher"; + uses L2VPN-RD; + } + container rd-configured { + description + "Configured Route Distinguisher"; + uses L2VPN-RD; + } + container rt-auto { + description + "Automatic Route Target"; + uses L2VPN-RT; + } + leaf evi-xr { + type uint32; + description + "E-VPN id"; + } + leaf encapsulation-xr { + type uint8; + description + "EVPN Instance encapsulation"; + } + leaf bd-name { + type string; + description + "Bridge domain name"; + } + leaf type { + type L2vpn-evpn; + description + "Service Type"; + } + leaf description { + type string; + description + "EVI description"; + } + leaf unicast-label { + type uint32; + description + "Unicast Label"; + } + leaf multicast-label { + type uint32; + description + "Multicast Label"; + } + leaf reroute-label { + type uint32; + description + "Reroute Label"; + } + leaf cw-disable { + type boolean; + description + "Control-Word Disable"; + } + leaf mtu-mismatch-ignore { + type boolean; + description + "Ignore MTU Mismatch"; + } + leaf mtu-zero-transmit { + type boolean; + description + "Transmit MTU Zero"; + } + leaf table-policy-name { + type string; + description + "Table-policy Name"; + } + leaf export-route-policy { + type string; + description + "Export Route Policy"; + } + leaf import-route-policy { + type string; + description + "Import Route Policy"; + } + leaf forward-class { + type uint8; + description + "Forward Class attribute"; + } + leaf rt-import-block-set { + type boolean; + description + "Is Import RT None set"; + } + leaf rt-export-block-set { + type boolean; + description + "Is Export RT None set"; + } + leaf advertise-mac { + type boolean; + description + "Advertise MAC-only routes on this EVI"; + } + leaf etree-leaf { + type boolean; + description + "E-Tree Leaf Indication"; + } + leaf etree-rt-leaf { + type boolean; + description + "E-Tree Route-Target Leaf Indication"; + } + leaf advertise-bvi-mac { + type boolean; + description + "Advertise BVI MACs routes on this EVI"; + } + leaf aliasing-disabled { + type boolean; + description + "Route Aliasing is disabled"; + } + leaf unknown-unicast-flooding-disabled { + type boolean; + description + "Unknown-unicast flooding is disabled"; + } + leaf reoriginate-disabled { + type boolean; + description + "Route Re-origination is disabled"; + } + leaf stitching { + type boolean; + description + "EVPN Instance is Regular/Stitching side"; + } + leaf multicast-source-connected { + type boolean; + description + "EVI is connected to multicast source"; + } + leaf multicast-igmp-snooping-proxy { + type boolean; + description + "IGMP-Snooping Proxy is enabled + (Selective-Multicast)"; + } + leaf multicast-mld-snooping-proxy { + type boolean; + description + "MLD-Snooping Proxy is enabled + (Selective-Multicast)"; + } + leaf bgp-implicit-import-disabled { + type boolean; + description + "BGP implicit import is disabled"; + } + leaf vrf-name { + type string; + description + "L3 VRF name from BVI"; + } + leaf preferred-nh-mode { + type Evpn-pref-ecmp-nh-mode; + description + "Preferred Nexthop Mode"; + } + leaf srv6-locator-name { + type string; + description + "SRv6 Locator Name"; + } + } + + grouping L2VPN-EVPN-SUMMARY { + description + "EVPN Information Summary"; + leaf router-id { + type inet:ipv6-address; + description + "EVPN Router ID"; + } + leaf as { + type uint32; + description + "BGP AS number"; + } + leaf ev-is { + type uint32; + description + "Number of EVI DB Entries"; + } + leaf tunnel-endpoints { + type uint32; + description + "Number of Tunnel Endpoint DB Entries"; + } + leaf local-mac-routes { + type uint32; + description + "Number of Local MAC Routes"; + } + leaf local-ipv4-mac-routes { + type uint32; + description + "Number of Local IPv4 MAC-IP Routes"; + } + leaf local-ipv6-mac-routes { + type uint32; + description + "Number of Local IPv6 MAC-IP Routes"; + } + leaf es-global-mac-routes { + type uint32; + description + "Number of ES:Global MAC Routes"; + } + leaf remote-mac-routes { + type uint32; + description + "Number of Remote MAC Routes"; + } + leaf remote-sync-mac-routes { + type uint32; + description + "Number of Remote SYNC MAC Routes"; + } + leaf remote-ipv4-mac-routes { + type uint32; + description + "Number of Remote IPv4 MAC-IP Routes"; + } + leaf remote-ipv6-mac-routes { + type uint32; + description + "Number of Remote IPv6 MAC-IP Routes"; + } + leaf local-imcast-routes { + type uint32; + description + "Number of Local IMCAST Routes"; + } + leaf remote-imcast-routes { + type uint32; + description + "Number of Remote IMCAST Routes"; + } + leaf labels { + type uint32; + description + "Number of Internal Labels"; + } + leaf sh-internal-ids { + type uint32; + description + "Number of single-homed Internal IDs"; + } + leaf mh-internal-ids { + type uint32; + description + "Number of multi-homed Internal IDs"; + } + leaf es-entries { + type uint32; + description + "Number of ES Entries in DB"; + } + leaf neighbor-entries { + type uint32; + description + "Number of neighbor Entries in DB"; + } + leaf local-ead-routes { + type uint32; + description + "Number of Local EAD Entries in DB"; + } + leaf remote-ead-routes { + type uint32; + description + "Number of Remote EAD Entries in DB"; + } + leaf global-source-mac { + type yang:mac-address; + description + "Global Source MAC Address"; + } + leaf peering-time { + type uint32; + units "second"; + description + "EVPN ES Peering Time (seconds)"; + } + leaf recovery-time { + type uint32; + units "second"; + description + "EVPN ES Recovery Time (seconds)"; + } + leaf carving-time { + type uint32; + units "second"; + description + "EVPN ES Carving Time (seconds)"; + } + leaf cost-out-configured { + type boolean; + description + "EVPN node cost out via manual configuration"; + } + leaf bundle-convergence-in-progress { + type boolean; + description + "Bundle convergence in progress"; + } + leaf node-costed-out { + type boolean; + description + "EVPN Services costed out on node and holding + Bundle interfaces down"; + } + leaf startup-cost-in-time { + type uint32; + units "second"; + description + "EVPN Node startup cost-in Time (seconds)"; + } + leaf startup-cost-in-time-left { + type uint32; + units "millisecond"; + description + "Milliseconds left on EVPN Node startup cost-in"; + } + leaf mac-postpone-timer { + type uint32; + units "second"; + description + "Configured timer for postponing MAC withdraws + (seconds)"; + } + leaf mac-postpone-timer-left { + type uint32; + units "millisecond"; + description + "Milliseconds left on MAC withdraw postpone timer"; + } + leaf l2rib-throttle { + type boolean; + description + "Send to L2RIB Throttled"; + } + leaf logging-df-election-enabled { + type boolean; + description + "Logging EVPN Designated Forwarder changes + enabled"; + } + } + + grouping L2VPN-EVPN-EVI-SUMMARY { + description + "EVPN Instance summary information"; + leaf ethernet-vpn-id { + type uint32; + description + "Ethernet VPN id"; + } + leaf encapsulation-xr { + type L2vpn-evpn-encap; + description + "EVPN Instance transport encapsulation"; + } + leaf bd-name { + type string; + description + "Bridge domain name"; + } + leaf type { + type L2vpn-evpn; + description + "Service Type"; + } + } + + grouping L2VPN-EVPN-IGMP-SUBIF-INFO { + description + "L2VPN EVPN IGMP SUBIF INFO"; + leaf vrf-id { + type uint32; + description + "VRF id"; + } + } + + grouping L2VPN-EVPN-IGMP-FWD-INFO { + description + "L2VPN EVPN IGMP FWD INFO"; + leaf bd-id { + type uint32; + description + "BD id"; + } + } + + grouping EVPN-IGMP-CHILD-INFO { + description + "EVPN IGMP CHILD INFO"; + container fwd-info { + when "../child-type = 'l2-fwd'" { + description + "../ChildType = 'L2_FWD'"; + } + description + "fwd info"; + uses L2VPN-EVPN-IGMP-FWD-INFO; + } + container subif-info { + when "../child-type = 'l3-sub-if'" { + description + "../ChildType = 'L3_SUBIF'"; + } + description + "subif info"; + uses L2VPN-EVPN-IGMP-SUBIF-INFO; + } + leaf child-type { + type Evpn-child; + description + "ChildType"; + } + } + + grouping L2VPN-EVPN-IGMP-LOCAL-INFO { + description + "L2VPN EVPN IGMP LOCAL INFO"; + leaf if-name { + type string { + length "0..81"; + } + description + "Interface name internal format"; + } + } + + grouping EVPN-IGMP-SRC-INFO { + description + "EVPN IGMP SRC INFO"; + container local-info { + when "../type = 'local'" { + description + "../Type = 'Local'"; + } + description + "local info"; + uses L2VPN-EVPN-IGMP-LOCAL-INFO; + } + leaf type { + type Evpn-igmp-source; + description + "Type"; + } + leaf remote-info { + when "../type = 'remote'" { + description + "../Type = 'Remote'"; + } + type L2vpn-bag-in6-addr; + description + "remote info"; + } + } + + grouping L2VPN-EVPN-IGMP { + description + "EVPN IGMP database information"; + container source-info { + description + "Source Info"; + uses EVPN-IGMP-SRC-INFO; + } + container child-info { + description + "Child Info"; + uses EVPN-IGMP-CHILD-INFO; + } + leaf evpn-client-type { + type Evpn-client1; + description + "EVPN Client Type"; + } + leaf ethernet-segment-name { + type string; + description + "Ethernet Segment Name"; + } + leaf evi-xr { + type uint32; + description + "E-VPN id"; + } + leaf route-type { + type Evpn-igmp-msg; + description + "Route Type"; + } + leaf source-addr { + type inet:ipv6-address; + description + "Source IP Address"; + } + leaf group-addr { + type inet:ipv6-address; + description + "Group IP Address"; + } + leaf originating-ip-xr { + type inet:ipv6-address; + description + "Originating IP Address (remotes)"; + } + leaf ethernet-tag-id { + type uint32; + description + "Ethernet Tag id"; + } + leaf igmp-version { + type Evpn-igmp-version; + description + "IGMP Version"; + } + leaf igmp-group-type { + type Evpn-igmp-grp; + description + "IGMP Group Type"; + } + leaf max-response-time { + type uint8; + description + "Max Response Time"; + } + leaf resolved { + type boolean; + description + "Resolved"; + } + list ethernet-segment-identifier { + description + "Ethernet Segment id"; + leaf entry { + type uint8; + description + "Ethernet Segment id"; + } + } + } + + grouping L2VPN-EVPN-REMOTE-SHG-INFO { + description + "L2VPN EVPN remote split horizon group labels"; + leaf next-hop { + type inet:ipv6-address; + description + "Next-hop IP address (v6 format)"; + } + leaf label { + type uint32; + description + "Split horizon label associated with next-hop + address"; + } + } + + grouping L2VPN-EVPN-REMOTE-SHG { + description + "EVPN Remote SHG object"; + leaf ethernet-vpn-id { + type uint32; + description + "Ethernet VPN id"; + } + leaf encapsulation { + type uint8; + description + "EVPN Instance transport encapsulation"; + } + list ethernet-segment-identifier { + description + "Ethernet Segment id"; + leaf entry { + type uint8; + description + "Ethernet Segment id"; + } + } + list remote-split-horizon-group-label { + description + "Remote split horizon group labels"; + uses L2VPN-EVPN-REMOTE-SHG-INFO; + } + } + + grouping EVPN-GRP-INTF-INFO { + description + "EVPN Group Interface Information"; + leaf interface-name { + type string; + description + "Interface name"; + } + leaf state { + type Im-state-enum; + description + "Interface State"; + } + } + + grouping EVPN-GRP-INFO { + description + "EVPN Group Information"; + leaf group-id { + type uint32; + description + "EVPN Group ID"; + } + leaf state { + type Evpn-grp; + description + "EVPN Group State"; + } + list core-interface { + description + "EVPN Group Core Interface table"; + uses EVPN-GRP-INTF-INFO; + } + list access-interface { + description + "EVPN Access Core Interface table"; + uses EVPN-GRP-INTF-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper.yang new file mode 100644 index 000000000..32ec187d0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-evpn-oper.yang @@ -0,0 +1,958 @@ +module Cisco-IOS-XR-evpn-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-evpn-oper"; + prefix evpn-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-evpn-oper-sub1 { + revision-date 2022-02-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR evpn package operational data. + + This module contains definitions + for the following management objects: + evpn: EVPN Operational Table + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-17 { + description + "- Added SRv6 ELAN list support in l2vpn_evpn_es bag."; + semver:module-version "5.1.0"; + } + revision 2021-08-13 { + description + "Added multicast SID information for SRv6 ELAN + 2021-07-07 + Updated main port gES-MAC field in bag for clarity + 2021-05-06 + Added union-path-buffer to l2vpn evpn label. + 2021-04-30 + Added vES nexthop list to EVPN Ethernet Segment + 2021-03-16 + Added support to retrieve multiple EVPN clients under ClientTable"; + semver:module-version "5.0.0"; + } + revision 2020-05-05 { + description + "changes related to treat SRv6 and SID as well-known when parsing XML for yang + 2020-04-02 + EVPN DF Election Synchronization with NTP related changes"; + semver:module-version "4.0.0"; + } + revision 2019-12-20 { + description + "EVPN SRv6 related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2018-09-26 { + description + "Duplicate detection parameters config moved from l2vpn to l2rib."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rd-addr-index { + type uint32 { + range "0..65535"; + } + description + "Rd addr index"; + } + + typedef Bgp-route-target-role { + type enumeration { + enum "both" { + value 0; + description + "Both Import and export roles"; + } + enum "import" { + value 1; + description + "Import role"; + } + enum "export" { + value 2; + description + "Export role"; + } + } + description + "Bgp route target role"; + } + + typedef Evpn-client-source { + type enumeration { + enum "local" { + value 0; + description + "Source Local"; + } + enum "remote" { + value 1; + description + "Source Remote"; + } + } + description + "Evpn client source"; + } + + typedef Evpn-client { + type enumeration { + enum "igmpsn" { + value 0; + description + "IGMPSN client"; + } + enum "igmp" { + value 1; + description + "IGMP client"; + } + } + description + "Evpn client"; + } + + typedef Evpnrdas-display-range { + type uint32 { + range "0..4294967295"; + } + description + "Evpnrdas display range"; + } + + typedef Rdas-index { + type uint32 { + range "0..4294967295"; + } + description + "Rdas index"; + } + + typedef Bgp-route-target-format { + type enumeration { + enum "none" { + value 0; + description + "No route target"; + } + enum "two-byte-as" { + value 1; + description + "2 Byte AS:nn format"; + } + enum "four-byte-as" { + value 2; + description + "4 byte AS:nn format"; + } + enum "ipv4-address" { + value 3; + description + "IP:nn format"; + } + enum "es-import" { + value 1538; + description + "a.a.i format"; + } + } + description + "Bgp route target format"; + } + + typedef Evpn-multicast-entry { + type enumeration { + enum "join" { + value 0; + description + "Sync join entry"; + } + enum "leave" { + value 1; + description + "Sync leave entry"; + } + enum "proxy" { + value 2; + description + "Proxy join entry"; + } + } + description + "Evpn multicast entry"; + } + + grouping EVI-TABLE { + description + "Common node of active, standby, node"; + container evis { + description + "L2VPN EVPN EVI Table"; + list evi { + description + "L2VPN EVPN EVI Entry"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + uses L2VPN-EVPN-EVI-SUMMARY; + } + } + } + + grouping SEGMENT-ROUTING-SRV6 { + description + "Common node of active, standby, node"; + container segment-routing-srv6 { + description + "L2VPN EVPN Segment Routing SRv6"; + uses L2VPN-EVPN-SRV6; + } + } + + grouping AC-ID-TABLE { + description + "Common node of active, standby, node"; + container ac-ids { + description + "EVPN AC ID table"; + list ac-id { + description + "EVPN AC ID table"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf ac-id { + type uint32; + description + "AC ID"; + } + uses L2VPN-ATOM-ACID; + } + } + } + + grouping EVI-DETAIL { + description + "Common node of active, standby, node"; + container evi-detail { + description + "L2VPN EVI Detail Table"; + container elements { + description + "EVI BGP RT Detail Info Elements"; + list element { + description + "EVI BGP RT Detail Info"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + uses L2VPN-EVPN-EVI-DETAIL; + } + } + container evi-children { + description + "Container for all EVI detail info"; + container neighbors { + description + "EVPN Neighbor table"; + list neighbor { + description + "EVPN Neighbor table"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + leaf neighbor-ip { + type inet:ip-address-no-zone; + description + "Neighbor IP"; + } + uses L2VPN-EVPN-NEIGHBOR; + } + } + container ethernet-auto-discoveries { + description + "EVPN Ethernet Auto-Discovery table"; + list ethernet-auto-discovery { + description + "EVPN Ethernet Auto-Discovery Entry"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + leaf esi1 { + type xr:Hex-integer; + description + "ES id (part 1/5)"; + } + leaf esi2 { + type xr:Hex-integer; + description + "ES id (part 2/5)"; + } + leaf esi3 { + type xr:Hex-integer; + description + "ES id (part 3/5)"; + } + leaf esi4 { + type xr:Hex-integer; + description + "ES id (part 4/5)"; + } + leaf esi5 { + type xr:Hex-integer; + description + "ES id (part 5/5)"; + } + leaf ethernet-tag { + type uint32; + description + "Ethernet Tag ID"; + } + uses L2VPN-EVPN-EAD; + } + } + container inclusive-multicasts { + description + "L2VPN EVPN IMCAST table"; + list inclusive-multicast { + description + "L2VPN EVPN IMCAST table"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + leaf ethernet-tag { + type uint32; + description + "Ethernet Tag"; + } + leaf originating-ip { + type inet:ip-address-no-zone; + description + "Originating IP"; + } + uses L2VPN-EVPN-IMCAST; + } + } + container route-targets { + description + "L2VPN EVPN EVI RT Child Table"; + list route-target { + description + "L2VPN EVPN EVI RT Table"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + leaf role { + type Bgp-route-target-role; + description + "Role of the route target"; + } + leaf format { + type Bgp-route-target-format; + description + "Format of the route target"; + } + leaf as { + type Evpnrdas-display-range; + description + "Two or Four byte AS Number"; + } + leaf as-index { + type Rdas-index; + description + "RT AS Index"; + } + leaf addr-index { + type Rd-addr-index; + description + "RT IP Index"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "RT IPv4 Address"; + } + uses L2VPN-EVPN-EVI-BGP-RT; + } + } + container macs { + description + "L2VPN EVPN EVI MAC table"; + list mac { + description + "L2VPN EVPN MAC table"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + leaf ethernet-tag { + type uint32; + description + "Ethernet Tag ID"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC address"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP Address"; + } + uses L2VPN-EVPN-MAC; + } + } + } + } + } + + grouping IGMP-TABLE { + description + "Common node of active, standby, node"; + container igmps { + description + "EVPN IGMP table"; + list igmp { + description + "IGMP Route"; + leaf client-type { + type Evpn-client; + description + "Client type"; + } + leaf source-type { + type Evpn-client-source; + description + "Source type"; + } + leaf entry-type { + type Evpn-multicast-entry; + description + "Join, Leave or Proxy entry"; + } + leaf evi { + type uint32; + description + "EVI"; + } + leaf esi1 { + type xr:Hex-integer; + description + "ES id (part 1/5)"; + } + leaf esi2 { + type xr:Hex-integer; + description + "ES id (part 2/5)"; + } + leaf esi3 { + type xr:Hex-integer; + description + "ES id (part 3/5)"; + } + leaf esi4 { + type xr:Hex-integer; + description + "ES id (part 4/5)"; + } + leaf esi5 { + type xr:Hex-integer; + description + "ES id (part 5/5)"; + } + leaf ethernet-tag { + type uint32; + description + "Ethernet Tag ID"; + } + leaf src-ip { + type inet:ip-address-no-zone; + description + "Source IP Address"; + } + leaf grp-ip { + type inet:ip-address-no-zone; + description + "Group IP Address"; + } + leaf originating-ip { + type inet:ip-address-no-zone; + description + "Originating IP Address"; + } + leaf bd-id { + type uint32; + description + "BD ID"; + } + leaf bp-xcid { + type uint32; + description + "BP XCID"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf sub-interface-name { + type xr:Interface-name; + description + "Sub-interface name"; + } + uses L2VPN-EVPN-IGMP; + } + } + } + + grouping INTERNAL-ID-TABLE { + description + "Common node of active, standby, node"; + container internal-ids { + description + "EVPN Internal ID Table"; + list internal-id { + description + "L2VPN EVPN Internal ID"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + leaf esi1 { + type xr:Hex-integer; + description + "ES id (part 1/5)"; + } + leaf esi2 { + type xr:Hex-integer; + description + "ES id (part 2/5)"; + } + leaf esi3 { + type xr:Hex-integer; + description + "ES id (part 3/5)"; + } + leaf esi4 { + type xr:Hex-integer; + description + "ES id (part 4/5)"; + } + leaf esi5 { + type xr:Hex-integer; + description + "ES id (part 5/5)"; + } + leaf ethernet-tag { + type uint32; + description + "Ethernet Tag ID"; + } + uses L2VPN-EVPN-LABEL; + } + } + } + + grouping ETHERNET-SEGMENT-TABLE { + description + "Common node of active, standby, node"; + container ethernet-segments { + description + "EVPN Ethernet-Segment Table"; + list ethernet-segment { + description + "EVPN Ethernet-Segment Entry"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf esi1 { + type xr:Hex-integer; + description + "ES id (part 1/5)"; + } + leaf esi2 { + type xr:Hex-integer; + description + "ES id (part 2/5)"; + } + leaf esi3 { + type xr:Hex-integer; + description + "ES id (part 3/5)"; + } + leaf esi4 { + type xr:Hex-integer; + description + "ES id (part 4/5)"; + } + leaf esi5 { + type xr:Hex-integer; + description + "ES id (part 5/5)"; + } + uses L2VPN-EVPN-ES; + } + } + } + + grouping CLIENT-TABLE { + description + "Common node of active, standby, node"; + container clients { + description + "L2VPN EVPN Client"; + list client { + key "client-type"; + description + "L2VPN EVPN Client"; + leaf client-type { + type Evpn-client; + description + "Client type"; + } + uses L2VPN-EVPN-CLIENT; + } + } + } + + grouping REMOTE-SHG-TABLE { + description + "Common node of active, standby, node"; + container remote-shgs { + description + "EVPN Remote SHG table"; + list remote-shg { + description + "EVPN Remote SHG"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf esi1 { + type xr:Hex-integer; + description + "ES id (part 1/5)"; + } + leaf esi2 { + type xr:Hex-integer; + description + "ES id (part 2/5)"; + } + leaf esi3 { + type xr:Hex-integer; + description + "ES id (part 3/5)"; + } + leaf esi4 { + type xr:Hex-integer; + description + "ES id (part 4/5)"; + } + leaf esi5 { + type xr:Hex-integer; + description + "ES id (part 5/5)"; + } + uses L2VPN-EVPN-REMOTE-SHG; + } + } + } + + grouping TEP-TABLE { + description + "Common node of active, standby, node"; + container teps { + description + "L2VPN EVPN TEP Table"; + list tep { + key "tep-id"; + description + "L2VPN EVPN TEP Entry"; + container tep-notification-entries { + description + "L2VPN EVPN TEP Notification Table"; + list tep-notification-entry { + key "index"; + description + "L2VPN EVPN TEP Notification Entry"; + leaf index { + type uint32; + description + "TEP notification index"; + } + uses L2VPN-EVPN-TEP-NOTIFICATION-ENTRY; + } + } + container tep-info { + description + "L2VPN EVPN TEP Entry"; + uses L2VPN-EVPN-TEP; + } + leaf tep-id { + type uint32; + description + "TEP id"; + } + } + } + } + + grouping SUMMARY { + description + "Common node of active, standby, node"; + container summary { + description + "L2VPN EVPN Summary"; + uses L2VPN-EVPN-SUMMARY; + } + } + + grouping EVPN-GROUP-TABLE { + description + "Common node of active, standby, node"; + container evpn-groups { + description + "EVPN Group Table"; + list evpn-group { + key "group-number"; + description + "EVPN Group information"; + leaf group-number { + type uint32 { + range "1..4294967295"; + } + description + "EVPN group number"; + } + uses EVPN-GRP-INFO; + } + } + } + + grouping INTERNAL-LABEL-TABLE { + description + "Common node of active, standby, node"; + container internal-labels { + description + "EVPN Internal Label Table"; + list internal-label { + description + "L2VPN EVPN Internal Label"; + leaf evi { + type uint32; + description + "EVPN id"; + } + leaf encapsulation { + type uint32; + description + "Encap"; + } + leaf esi1 { + type xr:Hex-integer; + description + "ES id (part 1/5)"; + } + leaf esi2 { + type xr:Hex-integer; + description + "ES id (part 2/5)"; + } + leaf esi3 { + type xr:Hex-integer; + description + "ES id (part 3/5)"; + } + leaf esi4 { + type xr:Hex-integer; + description + "ES id (part 4/5)"; + } + leaf esi5 { + type xr:Hex-integer; + description + "ES id (part 5/5)"; + } + leaf ethernet-tag { + type uint32; + description + "Ethernet Tag ID"; + } + uses L2VPN-EVPN-LABEL; + } + } + } + + container evpn { + config false; + description + "EVPN Operational Table"; + container nodes { + description + "Table of EVPN operational data for a particular + node"; + list node { + key "node-id"; + description + "EVPN operational data for a particular node"; + leaf node-id { + type xr:Node-id; + description + "Location"; + } + uses EVPN-GROUP-TABLE; + uses REMOTE-SHG-TABLE; + uses IGMP-TABLE; + uses EVI-TABLE; + uses SUMMARY; + uses EVI-DETAIL; + uses CLIENT-TABLE; + uses TEP-TABLE; + uses INTERNAL-LABEL-TABLE; + uses INTERNAL-ID-TABLE; + uses SEGMENT-ROUTING-SRV6; + uses ETHERNET-SEGMENT-TABLE; + uses AC-ID-TABLE; + } + } + container active { + description + "Active EVPN operational data"; + uses EVPN-GROUP-TABLE; + uses REMOTE-SHG-TABLE; + uses IGMP-TABLE; + uses EVI-TABLE; + uses SUMMARY; + uses EVI-DETAIL; + uses CLIENT-TABLE; + uses TEP-TABLE; + uses INTERNAL-LABEL-TABLE; + uses INTERNAL-ID-TABLE; + uses SEGMENT-ROUTING-SRV6; + uses ETHERNET-SEGMENT-TABLE; + uses AC-ID-TABLE; + } + container standby { + description + "Standby EVPN operational data"; + uses EVPN-GROUP-TABLE; + uses REMOTE-SHG-TABLE; + uses IGMP-TABLE; + uses EVI-TABLE; + uses SUMMARY; + uses EVI-DETAIL; + uses CLIENT-TABLE; + uses TEP-TABLE; + uses INTERNAL-LABEL-TABLE; + uses INTERNAL-ID-TABLE; + uses SEGMENT-ROUTING-SRV6; + uses ETHERNET-SEGMENT-TABLE; + uses AC-ID-TABLE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fabhfr-mib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fabhfr-mib-cfg.yang new file mode 100644 index 000000000..4996d1df1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fabhfr-mib-cfg.yang @@ -0,0 +1,79 @@ +module Cisco-IOS-XR-fabhfr-mib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fabhfr-mib-cfg"; + prefix fabhfr-mib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fabhfr-mib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "task-name field added."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-31 { + description + "Yang Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container fabric-crs { + description + "CISCO-FABRIC-HFR-MIB notification configuration"; + leaf bundle-state { + type empty; + description + "Enable cfhBundleStateNotification notification"; + } + leaf plane-state { + type empty; + description + "Enable cfhPlaneStateNotification notification"; + } + leaf bundle-downed-link { + type empty; + description + "Enable cfhBundleDownedLinkNotification + notification"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1.yang new file mode 100644 index 000000000..603c078d0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1.yang @@ -0,0 +1,264 @@ +submodule Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1 { + belongs-to Cisco-IOS-XR-fabric-fgid-stats-8000-oper { + prefix Cisco-IOS-XR-fabric-fgid-stats-8000-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fabric-fgid-stats-8000 package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FE-HW-FGID-BITMAP { + description + "Fgid bitmap on FE Asic HW"; + leaf asic-name { + type string { + length "0..16"; + } + description + "FE Asic"; + } + leaf asic-type { + type string { + length "0..8"; + } + description + "FE Asic type"; + } + leaf status { + type string { + length "0..4"; + } + description + "SW/HW fgid bitmap match"; + } + list bitmap { + max-elements "2"; + description + "FGID Bitmap"; + leaf entry { + type uint64; + description + "FGID Bitmap"; + } + } + } + + grouping FGID-DIAG-INFO { + description + "Fgid bitmap on rack FE asics"; + leaf rack-num { + type uint32; + description + "Rack num"; + } + list fe-asic { + description + "FGID bitmaps info on FE HW"; + uses FE-HW-FGID-BITMAP; + } + } + + grouping RACK-FGID-BITMAP { + description + "Rack Fgid Bitmaps"; + leaf rack { + type uint32; + description + "Rack"; + } + list bitmap { + max-elements "2"; + description + "Fgid bitmap"; + leaf entry { + type uint64; + description + "Fgid bitmap"; + } + } + } + + grouping FAPID-INFO { + description + "Fabid information"; + leaf fapid { + type uint32; + description + "Fapid"; + } + leaf rack { + type uint32; + description + "Rack"; + } + leaf slot { + type uint32; + description + "Slot"; + } + leaf asic { + type uint32; + description + "Asic"; + } + } + + grouping FGID-INFO { + description + "Per FGID ID information"; + leaf fgid-id-xr { + type uint32; + description + "FGID ID"; + } + leaf num-fapids { + type uint32; + description + "Number of assoicated fapids"; + } + leaf client-id { + type uint32; + description + "Client ID"; + } + leaf client-name { + type string; + description + "Client name"; + } + leaf sdr-name { + type string; + description + "SDR Name"; + } + leaf num-up-racks { + type uint32; + description + "Number of UP Racks"; + } + leaf max-lcc-racks { + type uint32; + description + "Maximum LCC Racks"; + } + list fapid { + description + "Associated fapids"; + uses FAPID-INFO; + } + list fgid-bitmap { + description + "Racks FGID Bitmaps"; + uses RACK-FGID-BITMAP; + } + list rack-fgid-diag-info { + description + "FGID Diag per rack"; + uses FGID-DIAG-INFO; + } + } + + grouping FGID-APPL-STATS-INFO { + description + "Per application basis fabric multicast resource + statistics information - no LR info"; + leaf appl-name { + type string; + description + "multicast resource application name"; + } + leaf inuse-fgids { + type uint32; + description + "the number of inuse FGIDs by the appl"; + } + leaf hwm-inuse-fgids { + type uint32; + description + "the high water mark of inused FGIDs"; + } + leaf inuse-fgids-act { + type uint32; + description + "inuse FGIDs by the appl at appl registration + time"; + } + leaf alloc-fgids-act { + type uint32; + description + "number allocated FGIDs by the appl after appl + registration"; + } + leaf free-fgids-act { + type uint32; + description + "number free FGIDs by the appl after appl + registration"; + } + } + + grouping FGID-SYS-STATS-INFO { + description + "Per HFR basis fabric multicast resource + statistics information"; + leaf total-fgids { + type uint32; + description + "the total number of FGIDs"; + } + leaf inuse-fgids { + type uint32; + description + "the number of inuse FGIDs"; + } + leaf hwm-inuse-fgids { + type uint32; + description + "the high water mark of inuse FGIDs"; + } + } + + grouping FGID-ALL-STATS-INFO { + description + "Fgid statistics information"; + container sys-stats { + description + "FGID system statistics"; + uses FGID-SYS-STATS-INFO; + } + list appl-stat { + description + "Application statistics"; + uses FGID-APPL-STATS-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper.yang new file mode 100644 index 000000000..557ccbc03 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fgid-stats-8000-oper.yang @@ -0,0 +1,128 @@ +module Cisco-IOS-XR-fabric-fgid-stats-8000-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-fgid-stats-8000-oper"; + prefix fabric-fgid-stats-8000-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fabric-fgid-stats-8000 package operational data. + + This module contains definitions + for the following management objects: + fabric-fgid: Fabric Fgid Data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fgid-info-elem-max { + type uint32 { + range "1..262144"; + } + description + "Fgid info elem max"; + } + + typedef Fgid-info-start-max { + type uint32 { + range "0..262143"; + } + description + "Fgid info start max"; + } + + container fabric-fgid { + config false; + description + "Fabric Fgid Data"; + container statistics { + description + "Fabric Fgid Statistics"; + container all { + description + "Statistics Data"; + uses FGID-ALL-STATS-INFO; + } + container system { + description + "Statistics Data"; + uses FGID-SYS-STATS-INFO; + } + } + container display-opts { + description + "Fabric Fgid System"; + list display-opt { + key "displayopt"; + description + "Display Option"; + leaf displayopt { + type xr:Cisco-ios-xr-string; + description + "brief/detail/diag"; + } + list start-fgid-id { + key "fgid-id"; + description + "Start FGID Number"; + leaf fgid-id { + type Fgid-info-start-max; + description + "Fabric FGID"; + } + list element { + key "num-fgids"; + description + "Number of Fgids"; + leaf num-fgids { + type Fgid-info-elem-max; + description + "Number of Fabric FGIDs"; + } + list fgid-id { + key "fgid-id"; + description + "Single Fgid information"; + leaf fgid-id { + type Fgid-info-start-max; + description + "Single Fgid"; + } + uses FGID-INFO; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper-sub1.yang new file mode 100644 index 000000000..cfca9deaf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper-sub1.yang @@ -0,0 +1,258 @@ +submodule Cisco-IOS-XR-fabric-fsdb-server-oper-sub1 { + belongs-to Cisco-IOS-XR-fabric-fsdb-server-oper { + prefix Cisco-IOS-XR-fabric-fsdb-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fabric-fsdb-server package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "task-name field added."; + semver:module-version "1.0.0"; + } + revision 2019-07-17 { + description + "Yang Schema fixed for fabric link port Information."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FSDB-SERVER-EDM-PLA-FAB { + description + "FSDB SERVER EDM PLA FAB"; + leaf rack-num-str { + type string { + length "0..128"; + } + description + "rack num str"; + } + leaf stage-name { + type string { + length "0..128"; + } + description + "stage name"; + } + leaf fabid-address { + type string { + length "0..128"; + } + description + "fabid address"; + } + leaf fabid-status { + type string; + description + "fabid status"; + } + leaf num-planes { + type int32; + description + "num planes"; + } + leaf plane-0-mask { + type string { + length "0..128"; + } + description + "plane 0 mask"; + } + leaf plane-1-mask { + type string { + length "0..128"; + } + description + "plane 1 mask"; + } + leaf plane-2-mask { + type string { + length "0..128"; + } + description + "plane 2 mask"; + } + leaf plane-3-mask { + type string { + length "0..128"; + } + description + "plane 3 mask"; + } + leaf plane-4-mask { + type string { + length "0..128"; + } + description + "plane 4 mask"; + } + leaf plane-5-mask { + type string { + length "0..128"; + } + description + "plane 5 mask"; + } + leaf plane-6-mask { + type string { + length "0..128"; + } + description + "plane 6 mask"; + } + leaf plane-7-mask { + type string { + length "0..128"; + } + description + "plane 7 mask"; + } + leaf total-links { + type int32; + description + "total links"; + } + leaf total-up-links { + type int32; + description + "total up links"; + } + leaf min-links-per-asic { + type int32; + description + "min links per asic"; + } + leaf max-links-per-asic { + type int32; + description + "max links per asic"; + } + leaf min-up-links-per-asic { + type int32; + description + "min up links per asic"; + } + leaf max-up-links-per-asic { + type int32; + description + "max up links per asic"; + } + } + + grouping FSDB-LINK-HIST { + description + "FSDB LINK HIST"; + leaf timestamp-str { + type string { + length "0..128"; + } + description + "timestamp str"; + } + leaf admin-state { + type string; + description + "admin state"; + } + leaf oper-state { + type string; + description + "oper state"; + } + leaf error-state { + type string; + description + "error state"; + } + } + + grouping FSDB-SERVER-EDM-LPORT { + description + "FSDB SERVER EDM LPORT"; + leaf link-str { + type string { + length "0..128"; + } + description + "link str"; + } + leaf neib-link-str { + type string { + length "0..128"; + } + description + "neib link str"; + } + leaf admin-state { + type string; + description + "admin state"; + } + leaf oper-state { + type string; + description + "oper state"; + } + leaf retimer-rx-str { + type string { + length "0..128"; + } + description + "retimer rx str"; + } + leaf retimer-tx-str { + type string { + length "0..128"; + } + description + "retimer tx str"; + } + leaf mux-rx-str { + type string { + length "0..128"; + } + description + "mux rx str"; + } + leaf mux-tx-str { + type string { + length "0..128"; + } + description + "mux tx str"; + } + list history { + max-elements "5"; + description + "history"; + uses FSDB-LINK-HIST; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper.yang new file mode 100644 index 000000000..8d62f31e6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-fsdb-server-oper.yang @@ -0,0 +1,171 @@ +module Cisco-IOS-XR-fabric-fsdb-server-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-fsdb-server-oper"; + prefix fabric-fsdb-server-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fabric-fsdb-server-oper-sub1 { + revision-date 2020-06-26; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fabric-fsdb-server package operational data. + + This module contains definitions + for the following management objects: + fabric-server: Fabric Data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "task-name field added."; + semver:module-version "1.0.0"; + } + revision 2019-07-17 { + description + "Yang Schema fixed for fabric link port Information."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container fabric-server { + config false; + description + "Fabric Data"; + list rack-number { + key "rack-num"; + description + "Fabric Fsdb Rack Number"; + container stages { + description + "Fsdb Server Link Port"; + list stage { + key "stage"; + description + "Fsdb Server Link-Port Stage FIA=1;S1=2;S2=3 + ;S3=4;"; + leaf stage { + type uint32; + description + "Stage Option fia/s1/s2/s3"; + } + list rx-tx { + key "rx-tx"; + description + "Link Direction rx/tx - RX=0;TX=1;"; + leaf rx-tx { + type uint32; + description + "Direction rx/tx"; + } + list filter-option { + key "foption"; + description + "FE Port state - UP=0;DOWN=1;MISMATCH=2;ALL=3 + ;"; + leaf foption { + type uint32; + description + "Filter option"; + } + list links-info { + key "log-slot-no"; + description + "Links Information - logical slot"; + leaf log-slot-no { + type uint32; + description + "Logical Slot Num"; + } + list asics { + key "asic-inst"; + description + "Links Information - asic instances"; + leaf asic-inst { + type uint32; + description + "Asic Instance"; + } + list links { + key "link-num"; + description + "Links Information - link number"; + container link { + description + "Single Link Information R/S/A/L"; + uses FSDB-SERVER-EDM-LPORT; + } + leaf link-num { + type uint32; + description + "Link Number"; + } + } + } + } + } + } + } + } + container fsdb-stages { + description + "Fabric Fsdb Pla Data"; + list fsdb-stage { + key "option"; + description + "Option : s1 , s2 , s3 , s123"; + leaf option { + type xr:Cisco-ios-xr-string; + description + "Stage option"; + } + list fabid { + key "fabid"; + description + "Destination fabid"; + container fabid-xr { + description + "PLA info for fabid"; + uses FSDB-SERVER-EDM-PLA-FAB; + } + leaf fabid { + type uint32; + description + "fabid"; + } + } + } + } + leaf rack-num { + type uint32; + description + "Rack Number"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper-sub1.yang new file mode 100644 index 000000000..ba864695b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper-sub1.yang @@ -0,0 +1,642 @@ +submodule Cisco-IOS-XR-fabric-plane-health-oper-sub1 { + belongs-to Cisco-IOS-XR-fabric-plane-health-oper { + prefix Cisco-IOS-XR-fabric-plane-health-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fabric-plane-health package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-10 { + description + "Yang Schema some leaf nodes type changed to prevent memory leak."; + semver:module-version "1.0.0"; + } + revision 2020-06-26 { + description + "Yang Schema added with task-name."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FSDB-PLA-HEALTH-INFO { + description + "FSDB PLA HEALTH INFO"; + leaf fabid-address { + type string { + length "0..128"; + } + description + "fabid address"; + } + leaf fabid-status { + type string { + length "0..32"; + } + description + "fabid status"; + } + leaf show-fabid-unreachable { + type boolean; + description + "show fabid unreachable"; + } + leaf plane-0-mask { + type string { + length "0..32"; + } + description + "plane 0 mask"; + } + leaf plane-1-mask { + type string { + length "0..32"; + } + description + "plane 1 mask"; + } + leaf plane-2-mask { + type string { + length "0..32"; + } + description + "plane 2 mask"; + } + leaf plane-3-mask { + type string { + length "0..32"; + } + description + "plane 3 mask"; + } + leaf plane-4-mask { + type string { + length "0..32"; + } + description + "plane 4 mask"; + } + leaf plane-5-mask { + type string { + length "0..32"; + } + description + "plane 5 mask"; + } + leaf plane-6-mask { + type string { + length "0..32"; + } + description + "plane 6 mask"; + } + leaf plane-7-mask { + type string { + length "0..32"; + } + description + "plane 7 mask"; + } + leaf total-links { + type int32; + description + "total links"; + } + leaf total-up-links { + type int32; + description + "total up links"; + } + leaf min-links-per-asic { + type int32; + description + "min links per asic"; + } + leaf max-links-per-asic { + type int32; + description + "max links per asic"; + } + leaf min-up-links-per-asic { + type int32; + description + "min up links per asic"; + } + leaf max-up-links-per-asic { + type int32; + description + "max up links per asic"; + } + } + + grouping NPU-FABRIC-HEALTH-EDM-ASIC { + description + "NPU FABRIC HEALTH EDM ASIC"; + leaf rack-num { + type uint32; + description + "rack num"; + } + leaf slot-num { + type uint32; + description + "slot num"; + } + leaf asic-instance { + type uint32; + description + "asic instance"; + } + leaf asic-state-str { + type string { + length "0..32"; + } + description + "asic state str"; + } + leaf asic-state { + type uint32; + description + "asic state"; + } + leaf fab-reach { + type boolean; + description + "fab reach"; + } + leaf asic-valid { + type boolean; + description + "asic valid"; + } + leaf is-below { + type boolean; + description + "is below"; + } + leaf total-bw { + type uint32; + description + "total bw"; + } + leaf total-availbw { + type uint32; + description + "total availbw"; + } + leaf total-reqdbw { + type uint32; + description + "total reqdbw"; + } + } + + grouping NPU-FABRIC-HEALTH-INFO { + description + "NPU FABRIC HEALTH INFO"; + leaf fe-status { + type boolean; + description + "fe status"; + } + leaf total-asics { + type uint32; + description + "total asics"; + } + list asic-list-ptr { + description + "asic list ptr"; + uses NPU-FABRIC-HEALTH-EDM-ASIC; + } + } + + grouping FSDB-EDM-RACK-PLANE-INFO { + description + "FSDB EDM RACK PLANE INFO"; + leaf plane-id { + type uint32; + description + "plane id"; + } + leaf plane-state { + type string { + length "0..32"; + } + description + "plane state"; + } + leaf asics-total { + type int32; + description + "asics total"; + } + leaf asics-up { + type int32; + description + "asics up"; + } + leaf asics-dn { + type int32; + description + "asics dn"; + } + leaf num-reachable-fabids { + type int32; + description + "num reachable fabids"; + } + } + + grouping FSDB-EDM-RACK-INFO { + description + "FSDB EDM RACK INFO"; + container activerp-card-npu-info { + description + "activerp card npu info"; + uses NPU-FABRIC-HEALTH-INFO; + } + leaf is-valid { + type boolean; + description + "is valid"; + } + leaf fsdb-status { + type string { + length "0..32"; + } + description + "fsdb status"; + } + leaf npu-fe-status { + type string { + length "0..32"; + } + description + "npu fe status"; + } + leaf rack-num { + type string { + length "0..32"; + } + description + "rack num"; + } + leaf rack-type { + type string { + length "0..32"; + } + description + "rack type"; + } + leaf sfe-asics-total { + type int32; + description + "sfe asics total"; + } + leaf sfe-asics-up { + type int32; + description + "sfe asics up"; + } + leaf sfe-asics-dn { + type int32; + description + "sfe asics dn"; + } + leaf fia-asics-total { + type int32; + description + "fia asics total"; + } + leaf fia-asics-up { + type int32; + description + "fia asics up"; + } + leaf fia-asics-dn { + type int32; + description + "fia asics dn"; + } + leaf num-valid-fabids { + type int32; + description + "num valid fabids"; + } + leaf show-rack-plane-detail { + type boolean; + description + "show rack plane detail"; + } + list rack-plane-info { + max-elements "8"; + description + "rack plane info"; + uses FSDB-EDM-RACK-PLANE-INFO; + } + list lc-card-npu-info { + max-elements "18"; + description + "lc card npu info"; + uses NPU-FABRIC-HEALTH-INFO; + } + list fsdb-pla-ptr { + description + "fsdb pla ptr"; + uses FSDB-PLA-HEALTH-INFO; + } + } + + grouping FSDBAGG-EDM-SYS-PLANE-INFO { + description + "FSDBAGG EDM SYS PLANE INFO"; + leaf plane-id { + type uint32; + description + "plane id"; + } + leaf admin-state { + type string; + description + "admin state"; + } + leaf plane-state { + type string; + description + "plane state"; + } + leaf racks-w-plane-fault { + type int32; + description + "racks w plane fault"; + } + leaf is-data-drop { + type boolean; + description + "is data drop"; + } + } + + grouping FSDBAGG-EDM-FABRIC-HEALTH { + description + "FSDBAGG EDM FABRIC HEALTH"; + leaf aggr-status { + type string; + description + "aggr status"; + } + leaf rack-total { + type int32; + description + "rack total"; + } + leaf rack-lcc { + type int32; + description + "rack lcc"; + } + leaf rack-fcc { + type int32; + description + "rack fcc"; + } + leaf plane-up { + type int32; + description + "plane up"; + } + leaf plane-dn { + type int32; + description + "plane dn"; + } + leaf plane-mcast-dn { + type int32; + description + "plane mcast dn"; + } + leaf plane-admin-dn { + type int32; + description + "plane admin dn"; + } + leaf sfe-asics-total { + type int32; + description + "sfe asics total"; + } + leaf sfe-asics-up { + type int32; + description + "sfe asics up"; + } + leaf sfe-asics-dn { + type int32; + description + "sfe asics dn"; + } + leaf fia-asics-total { + type int32; + description + "fia asics total"; + } + leaf fia-asics-up { + type int32; + description + "fia asics up"; + } + leaf fia-asics-dn { + type int32; + description + "fia asics dn"; + } + leaf show-sys-plane-detail { + type boolean; + description + "show sys plane detail"; + } + list sys-plane-info { + max-elements "8"; + description + "sys plane info"; + uses FSDBAGG-EDM-SYS-PLANE-INFO; + } + list rack-health-bag { + description + "rack health bag"; + uses FSDB-EDM-RACK-INFO; + } + } + + grouping FSDBAGG-EDM-PLANE-STATS { + description + "FSDBAGG EDM PLANE STATS"; + leaf planeid { + type uint32; + description + "planeid"; + } + leaf rx-data-cells { + type uint64; + description + "rx data cells"; + } + leaf tx-data-cells { + type uint64; + description + "tx data cells"; + } + leaf rx-ce-cells { + type uint64; + description + "rx ce cells"; + } + leaf rx-ce-cells-is-overflow { + type boolean; + description + "rx ce cells is overflow"; + } + leaf rx-uce-cells { + type uint64; + description + "rx uce cells"; + } + leaf rx-uce-cells-is-overflow { + type boolean; + description + "rx uce cells is overflow"; + } + leaf rx-pe-cells { + type uint64; + description + "rx pe cells"; + } + leaf rx-pe-cells-is-overflow { + type boolean; + description + "rx pe cells is overflow"; + } + leaf ucast-lost-cells { + type uint32; + description + "ucast lost cells"; + } + leaf mcast-lost-cells { + type uint32; + description + "mcast lost cells"; + } + leaf asic-internal-drops { + type uint32; + description + "asic internal drops"; + } + leaf last-clear-elapsed { + type uint32; + description + "last clear elapsed"; + } + leaf is-asic-internal-error { + type boolean; + description + "is asic internal error"; + } + leaf last-clear-ts { + type string { + length "0..128"; + } + description + "last clear ts"; + } + leaf last-clear-reason { + type string; + description + "last clear reason"; + } + leaf last-clear-req-ts { + type string { + length "0..128"; + } + description + "last clear req ts"; + } + leaf last-clear-status { + type string; + description + "last clear status"; + } + } + + grouping FSDBAGG-EDM-PLANE-INFO { + description + "FSDBAGG EDM PLANE INFO"; + leaf planeid { + type int32; + description + "planeid"; + } + leaf admin-state { + type string; + description + "admin state"; + } + leaf ucast-oper-state { + type string; + description + "ucast oper state"; + } + leaf ucast-cnt-dn { + type int32; + description + "ucast cnt dn"; + } + leaf ucast-cnt-some-up { + type int32; + description + "ucast cnt some up"; + } + leaf total-bundles { + type int32; + description + "total bundles"; + } + leaf down-bundles { + type int32; + description + "down bundles"; + } + leaf ppu-state { + type string { + length "0..128"; + } + description + "ppu state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper.yang new file mode 100644 index 000000000..953a9ebd5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fabric-plane-health-oper.yang @@ -0,0 +1,87 @@ +module Cisco-IOS-XR-fabric-plane-health-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-plane-health-oper"; + prefix fabric-plane-health-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fabric-plane-health-oper-sub1 { + revision-date 2020-10-10; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fabric-plane-health package operational data. + + This module contains definitions + for the following management objects: + fabric: Fabric Data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-10 { + description + "Yang Schema some leaf nodes type changed to prevent memory leak."; + semver:module-version "1.0.0"; + } + revision 2020-06-26 { + description + "Yang Schema added with task-name."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container fabric { + config false; + description + "Fabric Data"; + container fabric-plane-ids { + description + "Fabric Plane data for available planes"; + list fabric-plane-id { + key "fabric-plane-key"; + description + "Filter Fabric Plane data for specific plane"; + container fabric-plane-info { + description + "Fabric Plane info for specific plane"; + uses FSDBAGG-EDM-PLANE-INFO; + } + container fabric-plane-stats { + description + "Fabric Plane statistics for specific plane"; + uses FSDBAGG-EDM-PLANE-STATS; + } + leaf fabric-plane-key { + type uint32; + description + "Plane Number"; + } + } + } + container fabric-health { + description + "Fabric Health Data"; + uses FSDBAGG-EDM-FABRIC-HEALTH; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper-sub1.yang new file mode 100644 index 000000000..9cd56f5b1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper-sub1.yang @@ -0,0 +1,288 @@ +submodule Cisco-IOS-XR-feature-agent-oper-sub1 { + belongs-to Cisco-IOS-XR-feature-agent-oper { + prefix Cisco-IOS-XR-feature-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR feature-agent package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-16 { + description + "Fixed user permission"; + semver:module-version "1.0.0"; + } + revision 2021-03-25 { + description + "IOS XR 7.05.01 version"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Feature-capability-vc { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "supported" { + description + "Boolean feature supported"; + } + enum "unsupported" { + description + "Boolean feature unsupported"; + } + enum "uint32" { + description + "Integer feature with uint32 support value"; + } + enum "not-packaged" { + description + "Feature not packaged"; + } + enum "no-data" { + description + "No data on feature support"; + } + enum "no-data-for-optional-feature" { + description + "No feature support value data for the optional + feature"; + } + enum "unexpected-type" { + description + "Feature support value type mismatch with the + definition"; + } + enum "unexpected-value" { + description + "Feature support value from an unpackaged + feature"; + } + enum "unexpected-runtime-value" { + description + "Feature support value at runtime for a compile + time feature"; + } + enum "no-card" { + description + "Node scope feature with value on card not in + inventory"; + } + enum "unexpected" { + description + "Feature support value unexpected on card in its + card class"; + } + enum "unexpected-use" { + description + "Feature use value unexpected on card in its + card class"; + } + enum "not-relevant" { + description + "Feature support value not relevant on card"; + } + enum "inconsistent" { + description + "Support value inconsistent"; + } + } + description + "Feature capability vc"; + } + + typedef Feature { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "boolean" { + description + "Boolean"; + } + enum "integer" { + description + "Integer"; + } + } + description + "Feature"; + } + + typedef Feature-scope { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "system" { + description + "System"; + } + enum "node" { + description + "Node"; + } + } + description + "Feature scope"; + } + + grouping FEATURE-NODE { + description + "Per node feature information"; + container node-capability { + description + "Support value"; + uses FEATURE-CAPABILITY-SV; + } + leaf node-name { + type string; + description + "Node name"; + } + } + + grouping FEATURE-NS-CAPABILITY { + description + "Node scope capability"; + list nodes { + description + "Nodes"; + uses FEATURE-NODE; + } + } + + grouping FEATURE-INTEGER-SV { + description + "Integer feature support value"; + leaf classification { + type Feature-capability-vc; + description + "Classification"; + } + leaf value { + when "../classification = 'uint32'" { + description + "../Classification = 'Uint32'"; + } + type uint32; + description + "Integer Support Value"; + } + } + + grouping FEATURE-CAPABILITY-SV { + description + "Feature support value"; + container integer-value { + when "../type = 'integer'" { + description + "../Type = 'Integer'"; + } + description + "Integer Support value"; + uses FEATURE-INTEGER-SV; + } + leaf type { + type Feature; + description + "Type"; + } + leaf classification { + when "../type = 'boolean'" { + description + "../Type = 'Boolean'"; + } + type Feature-capability-vc; + description + "Classification"; + } + } + + grouping FEATURE-CAPABILITY { + description + "Feature Capability"; + container system-capability { + when "../scope = 'system'" { + description + "../Scope = 'System'"; + } + description + "Capability if system scope"; + uses FEATURE-CAPABILITY-SV; + } + container nodes-capability { + when "../scope = 'node'" { + description + "../Scope = 'Node'"; + } + description + "Capability if node scope"; + uses FEATURE-NS-CAPABILITY; + } + leaf scope { + type Feature-scope; + description + "Scope"; + } + } + + grouping FEATURE { + description + "Feature"; + container capability { + description + "Feature Capability"; + uses FEATURE-CAPABILITY; + } + leaf name { + type string; + description + "Feature name"; + } + leaf description { + type string; + description + "Feature description"; + } + leaf parent-id { + type string; + description + "ID of feature's parent"; + } + leaf in-use { + type boolean; + description + "Feature In Use"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper.yang new file mode 100644 index 000000000..ede14a4da --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-feature-agent-oper.yang @@ -0,0 +1,76 @@ +module Cisco-IOS-XR-feature-agent-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-feature-agent-oper"; + prefix feature-agent-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-feature-agent-oper-sub1 { + revision-date 2021-06-16; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR feature-agent package operational data. + + This module contains definitions + for the following management objects: + feature-capabilities: XR Features + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-16 { + description + "Fixed user permission"; + semver:module-version "1.0.0"; + } + revision 2021-03-25 { + description + "IOS XR 7.05.01 version"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container feature-capabilities { + config false; + description + "XR Features"; + container features { + description + "XR Features"; + list feature { + key "feature-id"; + description + "Data for Feature"; + leaf feature-id { + type xr:Cisco-ios-xr-string; + description + "Feature ID"; + } + uses FEATURE; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fgid-mgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fgid-mgr-cfg.yang new file mode 100644 index 000000000..3e61f5301 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fgid-mgr-cfg.yang @@ -0,0 +1,60 @@ +module Cisco-IOS-XR-fgid-mgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fgid-mgr-cfg"; + prefix fgid-mgr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fgid-mgr package configuration. + + This module contains definitions + for the following management objects: + fgid-mgr-config: none + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-21 { + description + "Yang Schema added with task-name."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container fgid-mgr-config { + description + "none"; + container fabric-fgid { + description + "Configure FGID consistency checker"; + leaf consistency-checker-timeout { + type uint32; + description + "configure timeout 1 min=1, 10 mins=10, 60 + mins=60; off=0"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-cfg.yang new file mode 100644 index 000000000..91cb296f4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-cfg.yang @@ -0,0 +1,216 @@ +module Cisco-IOS-XR-fib-common-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fib-common-cfg"; + prefix fib-common-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fib-common package configuration. + + This module contains definitions + for the following management objects: + fib: CEF configuration + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-18 { + description + "Added cef hierarchical-load-balancing configuration"; + semver:module-version "1.2.0"; + } + revision 2021-07-09 { + description + "Added PI FIB Telemetry Hopeless Retry and OOR"; + semver:module-version "1.1.0"; + } + revision 2020-07-23 { + description + "obsolete frr-follow-bgp-pic + 2020-07-21 + Added Support for Proactive ARP and ND"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fib-hlb-mode { + type enumeration { + enum "ecmp" { + value 1; + description + "HLB Mode ECMP"; + } + enum "ucmp" { + value 2; + description + "HLB Mode UCMP"; + } + } + description + "Fib hlb mode"; + } + + typedef Fib-pbts-forward-class { + type union { + type enumeration { + enum "any" { + value 8; + description + "Any class"; + } + } + type uint32 { + range "0..8"; + } + } + description + "Fib pbts forward class"; + } + + typedef Fib-pbts-fallback { + type enumeration { + enum "list" { + value 1; + description + "Fallback to class number list"; + } + enum "any" { + value 2; + description + "Fallback to any class"; + } + enum "drop" { + value 3; + description + "Fallback to drop"; + } + } + description + "Fib pbts fallback"; + } + + container fib { + description + "CEF configuration"; + container pbts-forward-class-fallbacks { + description + "PBTS class configuration"; + list pbts-forward-class-fallback { + key "forward-class-number"; + description + "Set PBTS class for fallback"; + leaf forward-class-number { + type Fib-pbts-forward-class; + description + "PBTS forward class number"; + } + leaf fallback-type { + type Fib-pbts-fallback; + mandatory true; + description + "Set PBTS fallback type"; + } + leaf-list fallback-class-number-array { + type uint32 { + range "0..7"; + } + max-elements "7"; + description + "Set PBTS fallback class number array"; + } + } + } + container platform { + description + "FIB platform parameters"; + container label-switched-multicast { + description + "Options for label-switched-multicast parameters"; + leaf frr-holdtime { + type uint32 { + range "3..180"; + } + units "second"; + description + "Set time to keep FRR slots programmed post FRR"; + } + } + } + container hierarchical-loadbalancing { + description + "Hierarchical Load Balancing"; + leaf hlb-mode { + type Fib-hlb-mode; + description + "HLB Mode"; + } + leaf hlb-num-paths { + type uint32 { + range "1..128"; + } + description + "HLB NumPaths"; + } + } + leaf auto-hash-recover { + type boolean; + description + "Set option for automatcially recovering + consistent-hashing state on interface up"; + } + leaf prefer-aib-routes { + type boolean; + description + "Set options for adjacency routes overriding RIB + routes"; + } + leaf proactive-arp-nd { + type empty; + description + "Enable Proactive ARP and ND"; + } + leaf encap-sharing-disable { + type boolean; + description + "Set true to disable encapsulation sharing"; + } + leaf frr-follow-bgp-pic { + type boolean; + status deprecated; + description + "Set option for fast-reroute to follow BGP PIC + update, not to wait for timeout"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub1.yang new file mode 100644 index 000000000..e7fad61f6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub1.yang @@ -0,0 +1,489 @@ +submodule Cisco-IOS-XR-fib-common-oper-sub1 { + belongs-to Cisco-IOS-XR-fib-common-oper { + prefix Cisco-IOS-XR-fib-common-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mgmt-fib-mpls-frr-state { + type enumeration { + enum "partial" { + value 0; + description + "Partial"; + } + enum "active" { + value 1; + description + "Active"; + } + enum "ready" { + value 2; + description + "Ready"; + } + enum "complete" { + value 3; + description + "Complete"; + } + enum "any" { + value 4; + description + "Any"; + } + } + description + "MPLS FRR entry state"; + } + + typedef Mgmt-fib-mpls-lsp-role { + type enumeration { + enum "head" { + value 0; + description + "Head"; + } + enum "midpoint" { + value 1; + description + "Midpoint"; + } + } + description + "MPLS FRR entry role"; + } + + grouping FIB-MPLS-FRR-DB-MCAST-LEGS { + description + "FIB MPLS FRR DB MCAST LEGS"; + container frr-entry-id { + description + "FRR entry ID"; + uses FIB-MPLS-FRR-DB-ENTRY-GEN-ID; + } + leaf tunnel-interface-name { + type xr:Interface-name; + description + "Tunnel interface"; + } + leaf input-label { + type uint32; + description + "Input label"; + } + leaf outgoing-interface { + type xr:Interface-name; + description + "Outgoing interface"; + } + leaf outgoing-label { + type uint32; + description + "Outgoing label"; + } + leaf frr-interface-name { + type xr:Interface-name; + description + "FRR interface"; + } + leaf frr-label { + type uint32; + description + "FRR output label"; + } + leaf entry-frr-state { + type Mgmt-fib-mpls-frr-state; + description + "MPLS FRR entry state"; + } + leaf frr-next-hop-ipv4-address { + type inet:ipv4-address; + description + "Next hop IPv4 address"; + } + leaf is-mldp-lsp { + type boolean; + description + "MLDP or P2MP-TE"; + } + } + + grouping FIB-MPLS-FRR-DB-ENTRY-MID-ID { + description + "FIB MPLS FRR DB ENTRY MID ID"; + leaf source-address { + type inet:ipv4-address; + description + "Source IPv4 address"; + } + leaf lspid { + type uint32; + description + "LSP ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + } + + grouping FIB-MPLS-FRR-DB-ENTRY-HEAD-ID { + description + "FIB MPLS FRR DB ENTRY HEAD ID"; + leaf destination-prefix { + type inet:ipv4-address; + description + "Destination prefix"; + } + leaf destination-prefix-length { + type uint32; + description + "Destination prefix length"; + } + } + + grouping FIB-MPLS-FRR-DB-ENTRY-GEN-ID { + description + "FIB MPLS FRR DB ENTRY GEN ID"; + container head { + when "../role = 'head'" { + description + "../Role = 'Head'"; + } + description + "head"; + uses FIB-MPLS-FRR-DB-ENTRY-HEAD-ID; + } + container midpoint { + when "../role = 'midpoint'" { + description + "../Role = 'Midpoint'"; + } + description + "midpoint"; + uses FIB-MPLS-FRR-DB-ENTRY-MID-ID; + } + leaf role { + type Mgmt-fib-mpls-lsp-role; + description + "Role"; + } + } + + grouping FIB-MPLS-FRR-DB-ENTRY { + description + "FIB MPLS FRR DB ENTRY"; + container frr-entry-id { + description + "FRR entry ID"; + uses FIB-MPLS-FRR-DB-ENTRY-GEN-ID; + } + leaf tunnel-interface-name { + type xr:Interface-name; + description + "Tunnel interface"; + } + leaf input-label { + type uint32; + description + "Input label"; + } + leaf outgoing-interface { + type xr:Interface-name; + description + "Outgoing interface"; + } + leaf outgoing-label { + type uint32; + description + "Outgoing label"; + } + leaf frr-interface-name { + type xr:Interface-name; + description + "FRR interface"; + } + leaf frr-label { + type uint32; + description + "FRR output label"; + } + leaf entry-frr-state { + type Mgmt-fib-mpls-frr-state; + description + "MPLS FRR entry state"; + } + leaf frr-next-hop-ipv4-address { + type inet:ipv4-address; + description + "Next hop IPv4 address"; + } + leaf is-mldp-lsp { + type boolean; + description + "MLDP or P2MP-TE"; + } + leaf is-multicast-tunnel { + type boolean; + description + "Multicast tunnel"; + } + leaf multicast-tunnel-legs { + type uint32; + description + "Number of legs in MCAST tunnel"; + } + list multicast-leg { + description + "MCAST legs"; + uses FIB-MPLS-FRR-DB-MCAST-LEGS; + } + } + + grouping FIB-MPLS-FRR-DB-SUM { + description + "FIB MPLS FRR DB SUM"; + leaf active { + type uint32; + description + "Number of FRR rewrites in Active state"; + } + leaf ready { + type uint32; + description + "Number of FRR rewrites in Ready state"; + } + leaf partial { + type uint32; + description + "Number of FRR rewrites in Partial state"; + } + leaf other { + type uint32; + description + "Number of FRR rewrites in an unrecognized state"; + } + } + + grouping FIB-MPLS-SH-TUN-INFO { + description + "Information about TE-head tunnel LI"; + leaf tunnel-interface-name { + type xr:Interface-name; + description + "Tunnel interface"; + } + leaf tunnel-local-label { + type uint32; + description + "Tunnel Local label"; + } + leaf tunnel-fwd-class { + type uint8; + description + "Tunnel Forward Class"; + } + leaf tunnel-load-metric { + type uint8; + description + " Tunnel Load Metric"; + } + leaf tunnel-is-srte { + type boolean; + description + "Is Tunnel SRTE"; + } + leaf tunnel-resolution-incomplete { + type boolean; + description + "Tunnel head resolution is incomplete"; + } + leaf tunnel-resolution-inconsistent { + type boolean; + description + "Tunnel head resolition is inconsitent b/w TEhead + and Local label"; + } + leaf tunnel-is-programmed-to-drop { + type boolean; + description + "Is Tunnel programmed as drop"; + } + } + + grouping FIB-MPLS-TIMESPEC { + description + "FIB MPLS TIMESPEC"; + leaf seconds { + type int32; + units "second"; + description + "Seconds part of time valueiin UTC"; + } + leaf nanoseconds { + type int32; + units "nanosecond"; + description + "Nanoseconds part of time value"; + } + } + + grouping FIB-MPLS-FRR-EVENT { + description + "FIB MPLS FRR EVENT"; + container start-time { + description + "Time of FRR event processing start, Seconds in + UTC, and Nano Seconds"; + uses FIB-MPLS-TIMESPEC; + } + leaf protected-frr-interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf next-hop { + type uint32; + description + "Next Hop"; + } + leaf number-of-rewrites-affected { + type uint32; + description + "Number of rewrites affected"; + } + leaf switching-time-nsecs { + type uint32; + units "nanosecond"; + description + "Time to switch rewrites [nsecs]"; + } + leaf main-processing { + type uint32; + description + "Main Processing for FRR"; + } + leaf fast-bundle-member-down-interface { + type uint32; + description + "Fast Bundle Member Down Interface"; + } + leaf frr-event-node-id { + type xr:Node-id; + description + "Node on which the FRR event happened"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub2.yang new file mode 100644 index 000000000..042ee5dcd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub2.yang @@ -0,0 +1,828 @@ +submodule Cisco-IOS-XR-fib-common-oper-sub2 { + belongs-to Cisco-IOS-XR-fib-common-oper { + prefix Cisco-IOS-XR-fib-common-oper; + } + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fib-common-oper-sub1 { + revision-date 2023-02-06; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Next-hop { + type enumeration { + enum "tx" { + value 0; + description + "TX"; + } + enum "rx" { + value 1; + description + "RX"; + } + enum "special" { + value 2; + description + "Special"; + } + } + description + "MPLS Forwarding Next Hop Type"; + } + + typedef Proto { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4"; + } + enum "ipv6" { + value 1; + description + "IPv6"; + } + enum "mpls" { + value 2; + description + "MPLS"; + } + } + description + "MPLS Forwarding Protocol Type"; + } + + grouping MPLS-FRR-DB-ENTRY { + description + "MPLS FRR DB ENTRY"; + container frr-db { + description + "FRR DB"; + uses FIB-MPLS-FRR-DB-ENTRY; + } + leaf outgoing-lable-string { + type string; + description + "Output label in string format"; + } + leaf frr-lable-string { + type string; + description + "FRR label in string format"; + } + } + + grouping MPLS-SH-TEHEAD { + description + "Information about TE tunnel head"; + container tunnel-info { + description + "Tunnel head information"; + uses FIB-MPLS-SH-TUN-INFO; + } + container fwdg { + description + "Tunnel forwarding information"; + uses MPLS-SH-LEAF; + } + } + + grouping MPLS-LABEL-SECURITY-SUMMARY { + description + "MPLS LABEL SECURITY SUMMARY"; + leaf rpf-drops { + type uint64; + description + "RPF drops"; + } + leaf multi-label-drops { + type uint64; + description + "Multi-label drops"; + } + } + + grouping MPLS-LABEL-SECURITY-INTF { + description + "MPLS LABEL SECURITY INTF"; + leaf rpf-enabled { + type boolean; + description + "RPF is enabled on interface"; + } + leaf rpf-supported { + type boolean; + description + "RPF stats supported per interface"; + } + leaf mld-enabled { + type boolean; + description + "Multi-label drop is enabled on interface"; + } + leaf mld-supported { + type boolean; + description + "Multi-label drop counters are supported per + interface"; + } + leaf rpf-drops { + type uint64; + description + "RPF drops"; + } + leaf multi-label-drops { + type uint64; + description + "Multi-label drops"; + } + leaf rpfifh { + type xr:Interface-name; + description + "RPF interface handle"; + } + } + + grouping MPLS-MCAST-INFO { + description + "Information for mpls multicast entries"; + leaf multicast-mol-base-flags { + type uint32; + description + "MOL base flags"; + } + leaf multicast-mol-flags { + type uint16; + description + "MOL flags"; + } + leaf multicast-mol-referance-count { + type uint16; + description + "MOL refcount"; + } + leaf multicast-tunnel-interface-handler { + type xr:Interface-name; + description + "multicast mpls tunnel"; + } + leaf multicast-tunnel-id { + type uint32; + description + "multicast mpls P2MP-TE tunnel id or MLDP Tunnel + LSMID on all nodes"; + } + leaf multicast-tunnel-next-hop-information { + type uint32; + description + "multicast nhinfo for p2mp TE Head"; + } + leaf multicast-tunnel-lspvif { + type uint32; + description + "multicast LSPVIF for MLDP Tunnels"; + } + leaf multicast-mpls-output-paths { + type uint16; + description + "num multicast mpls output paths "; + } + leaf multicast-mpls-protocol-output-paths { + type uint16; + description + "num multicast mpls prot output paths "; + } + leaf multicast-mpls-local-output-paths { + type uint16; + description + "num multicast mpls local output paths"; + } + leaf multicast-rpf-id { + type uint32; + description + "The multicast RPF-ID "; + } + leaf multicast-encap-id { + type uint32; + description + "The multicast ENCAP-ID "; + } + leaf multicast-platform-data-length { + type uint8; + description + "The multicast platform data len"; + } + leaf multicast-platform-data { + type yang:hex-string; + description + "The multicast platform data"; + } + } + + grouping MPLS-LDI-INFO { + description + "Detailed load sharing information for mpls table + entries"; + leaf ldi-hardware-information { + type yang:hex-string; + description + "Hardware info"; + } + } + + grouping MPLS-ADJ-EXACT-ROUTE-HASH-INFO { + description + "MPLS Adj Exact-Route Hash info"; + leaf hash-index-is-valid { + type boolean; + description + "Is Hash Index valid?"; + } + leaf hash-index { + type uint8; + description + "Hash Index value"; + } + } + + grouping MPLS-FWD-INFO { + description + "MPLS FWD INFO"; + leaf l3-mtu { + type uint32; + description + "L3 MTU"; + } + leaf total-encapsulation-size { + type uint32; + description + "Total encapsulation size: L2 + MPLS"; + } + leaf mac-size { + type uint32; + description + "Length of L2 encapsulation"; + } + leaf transmit-number-of-packets-switched { + type uint64; + description + "Number of packets switched"; + } + leaf transmit-number-of-bytes-switched { + type uint64; + units "byte"; + description + "Number of Bytes switched"; + } + leaf status { + type int32; + description + "Status"; + } + leaf next-hop-interface { + type xr:Interface-name; + description + "Next hop interface"; + } + leaf next-hop-protocol { + type Proto; + description + "The address family (V4/V6) "; + } + leaf next-hop-string { + type string; + description + "Next hop address in string format"; + } + list label-stack { + description + "Label stack"; + leaf entry { + type uint32; + description + "Label stack"; + } + } + } + + grouping MPLS-ADJ-INFO { + description + "MPLS ADJ INFO"; + container label-information-detail { + description + "Detail label info"; + uses MPLS-FWD-INFO; + } + container exact-route-hash-info { + description + "Path's Hash info in case of exact-route command"; + uses MPLS-ADJ-EXACT-ROUTE-HASH-INFO; + } + leaf label-information-type { + type uint32; + description + "Label-Info type"; + } + leaf local-label { + type uint32; + description + "Local label"; + } + leaf outgoing-label { + type uint32; + description + "Outgoing label"; + } + leaf mpls-adjacency-flags { + type uint32; + description + "MPLS Adjacency flags"; + } + leaf tunnel-id-present { + type boolean; + description + "Tunnel id present?"; + } + leaf label-information-path-index { + type uint32; + description + "LabelInformationPathIndex"; + } + leaf label-information-next-hop-type { + type Next-hop; + description + "NHinfo Type"; + } + leaf label-information-next-hop-protocol { + type Proto; + description + "The address family (v4/v6) "; + } + leaf tx-bytes { + type uint64; + units "byte"; + description + "Bytes transmitted per LSP"; + } + leaf tx-packets { + type uint64; + description + "Packets transmitted per LSP"; + } + leaf outgoing-interface { + type string; + description + "Output Interface in string format"; + } + leaf outgoing-physical-interface { + type string; + description + "Output Physical Interface in string format"; + } + leaf outgoing-parent-interface { + type string; + description + "Output Parent Interface in string format"; + } + leaf tunnel-interface { + type string; + description + "Tunnel Interface in string format"; + } + leaf outgoing-label-string { + type string; + description + "Output Label in string format"; + } + leaf prefix-or-id { + type string; + description + "Prefix Or ID"; + } + leaf label-information-next-hop-string { + type string; + description + "Next hop address in string format"; + } + leaf label-information-route-version { + type uint64; + description + "The version of the route"; + } + leaf label-information-time-in-milli-seconds { + type uint64; + description + "The time of last update in msec"; + } + } + + grouping MPLS-SH-LEAF { + description + "Information about label leaf"; + container ldi-information { + description + "LDI-info in FIB leaf"; + uses MPLS-LDI-INFO; + } + container multicast-information { + description + "The multicast info"; + uses MPLS-MCAST-INFO; + } + leaf leaf-local-label { + type uint32; + description + "Local label"; + } + leaf eos-bit { + type uint32; + description + "EOS bit"; + } + leaf hardware-information { + type yang:hex-string; + description + "Hardware info"; + } + leaf leaf-referance-count { + type uint32; + description + "Number of references to the leaf"; + } + leaf leaf-flags { + type uint32; + description + "The leaf flags"; + } + leaf path-list-referance-count { + type uint32; + description + "Number of references to the pathlist"; + } + leaf path-list-flags { + type uint32; + description + "The pathlist flags"; + } + leaf ldi-referance-count { + type uint32; + description + "Number of references to the LDI"; + } + leaf ldi-flags { + type uint32; + description + "The LDI flags"; + } + leaf ldi-type { + type uint32; + description + "The LDI type"; + } + leaf ldi-pointer { + type uint32; + description + "The pointer to the LDI"; + } + leaf lw-ldi-type { + type uint32; + description + "The LW-LDI type"; + } + leaf lw-ldi-pointer { + type uint32; + description + "The pointer to the LW-LDI"; + } + leaf lw-ldi-refernace-count { + type uint32; + description + "The LW-LDI refcounter"; + } + leaf lw-shared-ldi-pointer { + type uint32; + description + "The pointer to the shared LDI in LW-LDI"; + } + leaf lspa-flags { + type uint32; + description + "The LSPA flags"; + } + leaf afi-table-id { + type uint32; + description + "The AFI table ID"; + } + leaf multicast-label { + type boolean; + description + "The unicast or multicast label"; + } + leaf leaf-time-in-milli-seconds { + type uint64; + description + "The time of last update in msec"; + } + leaf total-number-of-packets-switched { + type uint64; + description + "The total number of packets switched on all + paths"; + } + leaf total-number-of-bytes-switched { + type uint64; + units "byte"; + description + "The total number of bytes switched on all paths"; + } + list label-information { + description + "Label-infos in FIB leaf"; + uses MPLS-ADJ-INFO; + } + } + + grouping MPLS-FWDING-SUMMARY { + description + "MPLS FWDING SUMMARY"; + leaf ipv4-imposition-entries { + type uint32; + description + "Number of IPv4 imposition entries"; + } + leaf reserved-label-entries { + type uint32; + description + "Number of reserved label entries"; + } + leaf label-switched-entries { + type uint32; + description + "Number of label swap/disposition entries"; + } + leaf protected-label-switched-entries { + type uint32; + description + "Number of FRR protected label swap/disposition + entries"; + } + leaf frr-ready-label-switched-entries { + type uint32; + description + "Number of FRR Ready label swap/disposition + entries"; + } + leaf frr-active-label-switched-entries { + type uint32; + description + "Number of FRR Active label swap/disposition + entries"; + } + leaf deleted-stale-entries { + type uint32; + description + "Number of delete stale label entries"; + } + leaf te-head-entries { + type uint32; + description + "Number of TE tunnel head imposition entries"; + } + leaf te-frr-head-entries { + type uint32; + description + "Number of TE FRR tunnel head imposition entries"; + } + leaf te-frr-interface-entries { + type uint32; + description + "Number of TE FRR protected interface entries"; + } + leaf te-frr-next-hop-entries { + type uint32; + description + "Number of TE FRR protected next-hop entries"; + } + leaf te-mid-points-entries { + type uint32; + description + "Number of TE MidPoints forwarding entries"; + } + leaf te-frr-mid-points-entries { + type uint32; + description + "Number of TE FRR MidPoints forwarding entries"; + } + leaf te-internal-entries { + type uint32; + description + "Number of TE internal forwarding entries"; + } + leaf te-frr-internal-entries { + type uint32; + description + "Number of TE internal forwarding entries"; + } + leaf total-forwarding-updates { + type uint32; + description + "Total forwarding updates from LSD to LFDs"; + } + leaf total-forwarding-update-messages { + type uint32; + description + "Total forwarding update messages from LSD to + LFDs"; + } + leaf total-p2mp-forwarding-updates { + type uint32; + description + "Total forwarding updates from MRIB to LFDs"; + } + leaf total-p2mp-forwarding-added-or-modify-messages { + type uint32; + description + "Total p2mp forwarding add/modify messages from + MRIB to LFDs"; + } + leaf total-p2mp-forwarding-delete-messages { + type uint32; + description + "Total p2mp forwarding del messages from MRIB to + LFDs"; + } + leaf total-p2mp-forwarding-drop-messages { + type uint32; + description + "Total p2mp forwarding messages dropped from MRIB + to LFDs"; + } + leaf total-p2mp-iir-forwarding-drop-messages { + type uint32; + description + "Total IIR triggered p2mp forwarding MRIB + messages dropped"; + } + leaf lowest-label { + type uint32; + description + "Lowest label in use"; + } + leaf highest-label { + type uint32; + description + "Highest Label in use"; + } + leaf ignore-protect { + type uint32; + description + "Number of TE tunnels treated as non-protected"; + } + leaf mte-head-entries { + type uint32; + description + "Number of MTE tunnel head entries"; + } + leaf mte-ll-entries { + type uint32; + description + "Number of MTE local entries"; + } + leaf mte-midpoint-entries { + type uint32; + description + "Number of MTE midpoint entries"; + } + leaf global-dropped-packets { + type uint64; + description + "Number of global FIB packets dropped"; + } + leaf global-fragmented-packets { + type uint64; + description + "Number of global FIB packets fragmented"; + } + leaf global-failed-lookups { + type uint64; + description + "Number of global failed lookups"; + } + leaf lrpf-entries { + type uint32; + description + "Number of labels with RPF"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub3.yang new file mode 100644 index 000000000..881f4d5e4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub3.yang @@ -0,0 +1,242 @@ +submodule Cisco-IOS-XR-fib-common-oper-sub3 { + belongs-to Cisco-IOS-XR-fib-common-oper { + prefix Cisco-IOS-XR-fib-common-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Oc-encapsulation-header { + type enumeration { + enum "oc-encap-type-gre" { + value 0; + description + "oc encap type gre"; + } + enum "oc-encap-type-ipv4" { + value 1; + description + "oc encap type ipv4"; + } + enum "oc-encap-type-ipv6" { + value 2; + description + "oc encap type ipv6"; + } + enum "oc-encap-type-mpls" { + value 3; + description + "oc encap type mpls"; + } + enum "oc-encap-type-vxlan" { + value 4; + description + "oc encap type vxlan"; + } + } + description + "Oc encapsulation header"; + } + + grouping FIB-OC-AFT-ERROR-STATE { + description + "FIB OC AFT ERROR STATE"; + leaf is-in-error-state { + type boolean; + description + "Error State"; + } + } + + grouping FIB-OC-AFT-OOR-STATE { + description + "FIB OC AFT OOR STATE"; + leaf is-in-oor-state { + type boolean; + description + "OOR State"; + } + } + + grouping FIB-OC-AFT-NEXTHOP-V2 { + description + "FIB OC AFT NEXTHOP V2"; + leaf pfx { + type string; + description + "IP prefix or MPLS label"; + } + leaf encap-type { + type Oc-encapsulation-header; + description + "Encapsulation type"; + } + leaf if-hdl { + type xr:Interface-name; + description + "Interface handle"; + } + leaf-list pushed-label-stack { + type uint32; + description + "Pushed MPLS label stack"; + } + } + + grouping FIB-OC-AFT-NH-GROUP-STATE-V2 { + description + "FIB OC AFT NH GROUP STATE V2"; + leaf bckup-grp-id { + type uint64; + description + "Backup group ID"; + } + leaf-list nhid { + type uint64; + description + "List of next-hop IDs"; + } + leaf-list wt-of-nh { + type uint64; + description + "List of next-hop Weights"; + } + leaf-list fwd-class { + type uint8; + description + "List of active forward classes"; + } + } + + grouping FIB-OC-AFT-COND-GRP-STATE-V2 { + description + "FIB OC AFT COND GRP STATE V2"; + leaf nhg-id { + type uint64; + description + "Nexthop Group ID of subset of nh's for this fwd + class"; + } + leaf-list interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + + grouping FIB-OC-AFT-PRFX-STATE-V2 { + description + "FIB OC AFT PRFX STATE V2"; + leaf grp-id { + type uint64; + description + "Next-hop Group ID"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub4.yang new file mode 100644 index 000000000..bd2e041cb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub4.yang @@ -0,0 +1,6217 @@ +submodule Cisco-IOS-XR-fib-common-oper-sub4 { + belongs-to Cisco-IOS-XR-fib-common-oper { + prefix Cisco-IOS-XR-fib-common-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fib-mpls-llc-entry-bag { + type enumeration { + enum "fib-mpls-llc-bag-type-xc" { + value 1; + description + "fib mpls llc bag type xc"; + } + enum "fib-mpls-llc-bag-type-pfx" { + value 2; + description + "fib mpls llc bag type pfx"; + } + enum "fib-mpls-llc-bag-type-lsm" { + value 3; + description + "fib mpls llc bag type lsm"; + } + enum "fib-mpls-llc-bag-type-max" { + value 4; + description + "fib mpls llc bag type max"; + } + } + description + "Fib mpls llc entry bag"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address "; + } + + typedef Mgmt-srv6-sid-fmt { + type enumeration { + enum "none" { + description + "No format"; + } + enum "base" { + description + "Base Format"; + } + enum "f3216" { + description + "Micro-segment F3216 Format"; + } + } + description + "SRv6 SID Format Type"; + } + + typedef Srv6-op-mode { + type enumeration { + enum "none" { + description + "No mode"; + } + enum "srv6-base" { + description + "SRv6 base"; + } + enum "srv6-micro-segment" { + description + "SRv6 micro-segment"; + } + } + description + "SRv6 operational mode"; + } + + typedef Fib-sh-policy-bag { + type enumeration { + enum "none" { + description + "None type"; + } + enum "saf" { + description + "Source Address Filtering type"; + } + } + description + "FIB Policy Bag Type"; + } + + typedef Fib-nhinfo-ext-bag { + type enumeration { + enum "replicated-nh-info" { + description + "Replicated NHINFO"; + } + enum "shared-nh-info" { + description + "Shared NHINFO"; + } + enum "tunnel-endpoint" { + description + "Tunnel Endpoint"; + } + } + description + "FIB NHINFO extension type"; + } + + typedef Fib-bag-adj-pref { + type enumeration { + enum "unspecified" { + description + "Preference is unspecified"; + } + enum "low" { + description + "Preference is low"; + } + enum "high" { + description + "Preference is high"; + } + } + description + "FIB adjacency preference"; + } + + typedef Fib-rpf-mode { + type enumeration { + enum "fib-rpf-mode-strict" { + description + "RPF mode strict"; + } + enum "fib-rpf-mode-loose" { + description + "RPF mode loose"; + } + enum "fib-rpf-mode-unknown" { + description + "RPF mode unknown"; + } + } + description + "RPF mode types"; + } + + typedef Fibidb-oper { + type enumeration { + enum "fibidb-none" { + value 0; + description + "fibidb none"; + } + enum "fibidb-create" { + value 1; + description + "fibidb create"; + } + enum "fibidb-delete" { + value 2; + description + "fibidb delete"; + } + enum "fibidb-modify" { + value 3; + description + "fibidb modify"; + } + enum "fibidb-max" { + value 4; + description + "fibidb max"; + } + } + description + "Fibidb oper"; + } + + typedef Fib-vni-info-type-in-bag { + type enumeration { + enum "unspecified" { + value 0; + description + "unspecified"; + } + enum "evni" { + value 1; + description + "evni"; + } + } + description + "Fib vni info type in bag"; + } + + typedef Fib-sh-tbl-fib-ext-bag { + type enumeration { + enum "leaf-extension" { + value 1; + description + "Leaf Extension"; + } + } + description + "Fib sh tbl fib ext bag"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Fib-update-path-lfa-protection { + type enumeration { + enum "not-lfa-protected" { + description + "Not LFA-protected"; + } + enum "protected" { + description + "Protected"; + } + enum "local-lfa-backup" { + description + "Local-LFA backup"; + } + enum "remote-lfa-backup" { + description + "Remote-LFA backup"; + } + enum "ti-lfa-backup" { + description + "TI-LFA backup"; + } + } + description + "LFA protection type"; + } + + typedef Fib-sh-ipencap-hdr { + type enumeration { + enum "fib-sh-ip-encap-none" { + description + "No Header"; + } + enum "fib-sh-ip-encap-ip4" { + description + "IPv4 Header"; + } + enum "fib-sh-ip-encap-ip6" { + description + "IPv6 Header"; + } + enum "fib-sh-ip-encap-udp" { + description + "UDP Header"; + } + enum "fib-sh-ip-encap-lisp" { + description + "Lisp Header"; + } + } + description + "IP Encap Header Type"; + } + + typedef Fib-neh-special { + type enumeration { + enum "nh-not-found" { + description + "nh not found"; + } + enum "nh-null0" { + description + "nh null0"; + } + enum "nh-punt" { + description + "nh punt"; + } + enum "nh-drop" { + description + "nh drop"; + } + enum "nh-glean" { + description + "nh glean"; + } + enum "nh-receive" { + description + "nh receive"; + } + enum "nh-broadcast" { + description + "nh broadcast"; + } + enum "nh-external" { + description + "nh external"; + } + enum "nh-lisp" { + description + "nh lisp"; + } + enum "nh-lookup" { + description + "nh lookup"; + } + enum "nh-max-type" { + description + "nh max type"; + } + } + description + "Fib neh special"; + } + + typedef Fib-neh { + type enumeration { + enum "nh-local" { + description + "nh local"; + } + enum "nh-remote" { + description + "nh remote"; + } + enum "nh-special" { + description + "nh special"; + } + } + description + "Fib neh"; + } + + typedef Fib-adjacency-show { + type enumeration { + enum "fib-adjacency-normal" { + description + "Normal adjacency"; + } + enum "fib-adjacency-null" { + description + "Null adjacency"; + } + enum "fib-adjacency-punt" { + description + "Punt adjacency"; + } + enum "fib-adjacency-drop" { + description + "Drop adjacency"; + } + enum "fib-adjacency-glean" { + description + "Glean adjacency"; + } + enum "fib-adjacency-discard" { + description + "Discard adjacency"; + } + enum "fib-adjacency-broadcast" { + description + "Broadcast adjacency"; + } + enum "fib-adjacency-external" { + description + "external adjacency"; + } + enum "fib-adjacency-lisp" { + description + "LISP adjacency"; + } + enum "fib-adjacency-unknown" { + description + "Unknown adjacency"; + } + } + description + "Adjacency types"; + } + + typedef Fib-loadshare-show { + type enumeration { + enum "fib-load-share-none" { + description + "No loadsharing"; + } + enum "fib-load-share-per-packet" { + description + "Per packet loadsharing"; + } + enum "fib-load-share-dest-sharing" { + description + "Destination loadsharing"; + } + } + description + "Loadsharing type"; + } + + typedef Ss-lba-state { + type enumeration { + enum "l3" { + description + "L3 Load Balance config"; + } + enum "l4" { + description + "L4 Load Balance config"; + } + } + description + "Load Balance config"; + } + + typedef Fib-aib-adjacency { + type enumeration { + enum "tx-adjacency" { + description + "TX Adjacency"; + } + enum "tx-vxlan-adjacency" { + description + "TX Vxlan Adjacency"; + } + enum "tx-mpls-mcast-adjacency" { + description + "TX MPLS Mcast Adjacency"; + } + enum "tx-subscriber-adjacency" { + description + "TX Subscriber Adjacency"; + } + enum "rx-adjacency" { + description + "RX Adjacency"; + } + } + description + "FIB AIB Adjacency type"; + } + + typedef Fib-bag-protocol { + type enumeration { + enum "ipv4" { + description + "IPv4 Protocol"; + } + enum "ipv6" { + description + "IPv6 Protocol"; + } + enum "mpls" { + description + "MPLS Protocol"; + } + } + description + "Protocol definitions for FIB Bags"; + } + + typedef Fib-rsrc-mode-bag { + type enumeration { + enum "green" { + description + "Resource is in Green mode"; + } + enum "yellow" { + description + "Resource is in Yellow mode"; + } + enum "red" { + description + "Resource is in Red mode"; + } + } + description + "FIB Resource Mode"; + } + + typedef Fib-bag-shmwin { + type enumeration { + enum "ipv4" { + description + "IPv4 Shared Memory Window"; + } + enum "ipv6" { + description + "IPv6 Shared Memory Window"; + } + enum "mpls" { + description + "MPLS Shared Memory Window"; + } + enum "common" { + description + "Common Shared Memory Window"; + } + } + description + "Shared Memory Window Type"; + } + + typedef Fib-retry-entry-bag-sched-class { + type enumeration { + enum "slow" { + description + "Slow Scheduling Class"; + } + enum "regular" { + description + "Regular Scheduling Class"; + } + enum "fast" { + description + "Fast Scheduling Class"; + } + } + description + "Fib retry entry bag sched class"; + } + + typedef Fib-bag-object { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "pathlist" { + value 7; + description + "Pathlist"; + } + enum "adjacency" { + value 8; + description + "NHINFO"; + } + enum "all" { + value 23; + description + "ALL"; + } + enum "tep" { + value 65; + description + "TEP"; + } + enum "ltep" { + value 66; + description + "LTEP"; + } + enum "object-count" { + value 101; + description + "Number of Objects"; + } + } + description + "Object type definitions for FIB Bags"; + } + + typedef Fib-common-in6-addr { + type inet:ipv6-address; + description + "Fib common in6 addr"; + } + + typedef Fib-common-in-addr { + type inet:ipv4-address; + description + "Fib common in addr"; + } + + typedef Fib-common-af-id { + type enumeration { + enum "none" { + value 0; + description + "No address family"; + } + enum "ipv4" { + value 2; + description + "IPv4 AFI"; + } + enum "ipv6" { + value 26; + description + "IPv6 AFI"; + } + } + description + "Fib common af id"; + } + + typedef Fib-common-ipvpn-tunnel { + type enumeration { + enum "invalid" { + value 0; + description + "Invalid encap type"; + } + enum "l2tp" { + value 1; + description + "L2TP encap type"; + } + enum "mgre" { + value 2; + description + "mGRE encap type"; + } + enum "vxlan-l2" { + value 3; + description + "VxLAN L2 encap type"; + } + enum "gre" { + value 4; + description + "GRE encap type"; + } + enum "ip" { + value 5; + description + "IP-in-IP encap type"; + } + enum "te" { + value 6; + description + "TE encap type"; + } + enum "vxlan-l3" { + value 7; + description + "VxLAN L3 encap type"; + } + enum "vxlan-l3-sfi" { + value 8; + description + "VxLAN L3 over SFI encap type"; + } + enum "mpls-udp" { + value 9; + description + "MPLS over UDP encap type"; + } + } + description + "Fib common ipvpn tunnel"; + } + + grouping FIB-MPLS-LLC-LSM { + description + "FIB MPLS LLC LSM"; + leaf nh { + type string { + length "0..52"; + } + description + "nh"; + } + leaf mcast-id { + type uint32; + description + "mcast id"; + } + } + + grouping FIB-MPLS-LLC-PFX { + description + "FIB MPLS LLC PFX"; + leaf pfx { + type string { + length "0..52"; + } + description + "pfx"; + } + leaf tbl-id { + type uint32; + description + "tbl id"; + } + } + + grouping FIB-MPLS-LLC-TYPE-EXT { + description + "FIB MPLS LLC TYPE EXT"; + container pfx { + when "../type = 'fib-mpls-llc-bag-type-pfx'" { + description + "../type = 'FIB_MPLS_LLC_BAG_TYPE_PFX'"; + } + description + "pfx"; + uses FIB-MPLS-LLC-PFX; + } + container lsm { + when "../type = 'fib-mpls-llc-bag-type-lsm'" { + description + "../type = 'FIB_MPLS_LLC_BAG_TYPE_LSM'"; + } + description + "lsm"; + uses FIB-MPLS-LLC-LSM; + } + leaf type { + type Fib-mpls-llc-entry-bag; + description + "type"; + } + } + + grouping FIB-MPLS-LLC { + description + "FIB MPLS LLC"; + container ext { + description + "ext"; + uses FIB-MPLS-LLC-TYPE-EXT; + } + leaf local-label { + type uint32; + description + "local label"; + } + leaf source-xr { + type uint32; + description + "source xr"; + } + leaf update-ts { + type uint64; + description + "update ts"; + } + leaf retry-ts { + type uint64; + description + "retry ts"; + } + leaf num-retries { + type uint32; + description + "num retries"; + } + } + + grouping FIB-OBJECT-QUEUE-ITEM-INFO { + description + "FIB Object Queue Information"; + container object-base { + description + "Object Base"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf key-string { + type string; + description + "Object String Key"; + } + } + + grouping FIB-SH-PLAT-CAPABILITIES { + description + "FIB platform capabilities"; + leaf fpc-num-l3-lbl-levels { + type uint8; + description + "L3 LBL levels"; + } + leaf fpc-num-l3-lbl-paths { + type uint8; + description + "L3 Hash buckets"; + } + leaf fpc-num-l3-lbl-rec-paths { + type uint8; + description + "L3 Recursive Hash buckets"; + } + leaf fpc-num-l3-ucmp-paths { + type uint8; + description + "L3 Unequal cost hash buckets"; + } + leaf fpc-num-fwding-stages { + type uint8; + description + "Forwarding stages"; + } + leaf fpc-local-label-split { + type uint32; + description + "Label split"; + } + leaf fpc-stats-support { + type boolean; + description + "Statistics support"; + } + leaf fpc-platf-ready-cb-wait { + type boolean; + description + "Plat ready cb register"; + } + leaf fpc-num-paths-per-pbts-class { + type uint8; + description + "Path per tunnel class"; + } + leaf fpc-platf-v4-upd-disable { + type boolean; + description + "V4 update disable"; + } + leaf fpc-platf-v6-upd-disable { + type boolean; + description + "V6 update disable"; + } + leaf fpc-lba-tuples-default { + type uint32; + description + "LBA tuples"; + } + leaf fpc-mraps-support { + type boolean; + description + "MRAPS support"; + } + leaf fpc-pbts-defclass-support { + type boolean; + description + "PBTS default class support"; + } + leaf fpc-loadinfo-filter-support { + type boolean; + description + "loadinfo filter support"; + } + leaf fpc-nhid { + type boolean; + description + "NHID support"; + } + leaf fpc-platf-temp-back-walk-reqd { + type boolean; + description + "Backwalk dependents is required"; + } + leaf fpc-link-mpls-nhinfo-in-ipv6-thread-support { + type boolean; + description + "Link MPLS IPv6 NH support"; + } + leaf fpc-exclude-deag-bkup { + type boolean; + description + "Exclude Deag backup Paths"; + } + leaf fpc-dlb-support { + type boolean; + description + "Per-destination load-balancing support"; + } + leaf fpc-prefix-filter-support { + type uint8; + description + "Prefix filter level of support"; + } + leaf fpc-slowpath-ingress-inject-reqd { + type boolean; + description + "Slowpath ingress inject required"; + } + leaf fpc-cofo-support { + type boolean; + description + "COFO supported"; + } + leaf fpc-srv6-support { + type boolean; + description + "SRv6 supported"; + } + leaf fpc-srv6-replicated-lwldi-required { + type boolean; + description + "SRv6 replicated LW-LDI required"; + } + leaf fpc-v4v6-ldi-collapse-support { + type boolean; + description + "IPv4 over IPV6 Collapse LDI support"; + } + leaf fpc-1-pass-gre-support { + type boolean; + description + "1-pass GRE support"; + } + leaf fpc-srte-collapse-support { + type boolean; + description + "SR-TE collapse support"; + } + leaf fpc-eint-support { + type boolean; + description + "EINT interface support"; + } + leaf no-collapse-ip-over-mpls { + type boolean; + description + "Disable collapse for IP routes over MPLS"; + } + leaf encap-id-conflict { + type boolean; + description + "Encap ID conflict Check"; + } + leaf via-label-ignore-next-hop { + type boolean; + description + "Ignore nexthop address and interface in case of + via-label routes"; + } + leaf platform-nsr-ready-required { + type boolean; + description + "Platform NSR readiness is required"; + } + leaf adjacency-replication-support { + type boolean; + description + "Support Adjacency Replication in PI and + allocation Encap ID for ADJ"; + } + leaf disable-rfc5549ipv4-over-ipv6-nexthop { + type boolean; + description + "Disable RFC5549 IPv4 over IPv6 nexthop"; + } + list fpc-lisp-decap-over-v4 { + min-elements 3; + max-elements "3"; + description + "LISP Decap over 4"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + list fpc-lisp-decap-over-v6 { + min-elements 3; + max-elements "3"; + description + "LISP Decap over 6"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + list fpc-lisp-ucmp { + min-elements 3; + max-elements "3"; + description + "LISP UCMP support"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + list fpc-resolve-via-table { + min-elements 3; + max-elements "3"; + description + "Fallback VRF support"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + } + + grouping FIB-SH-PROTO-FRR-STATS { + description + "FIB per protocol frr counters"; + leaf mi-num-intf-frr { + type uint32; + description + "number of FRR events sent on nh interface down"; + } + leaf mi-num-parent-intf-frr { + type uint32; + description + "number of FRR events sent on nh parent interface + down"; + } + leaf mi-num-pfi-intf-down { + type uint32; + description + "number of interface down FRR events from PFI"; + } + leaf mi-num-bfd-down { + type uint32; + description + "number of NH down FRR events frm BFD"; + } + leaf mi-num-prot-frr-objects { + type uint32; + description + "total number of prot FRR objects"; + } + leaf mi-num-bkup-frr-objects { + type uint32; + description + "total number of backup FRR objects"; + } + leaf mi-num-tunid-allocs { + type uint32; + description + "total number of successful FRR tunnel ID + allocations"; + } + leaf mi-num-tunid-alloc-failures { + type uint32; + description + "total number of FRR tunnel ID allocation + failures"; + } + leaf mi-num-tunid-frees { + type uint32; + description + "total number of successful FRR tunnel ID frees"; + } + leaf mi-num-tunid-free-failures { + type uint32; + description + "total number of FRR tunnel ID free failures"; + } + leaf mi-num-frr-reset-queue-adds { + type uint32; + description + "number of FRR reset queue adds"; + } + leaf mi-num-frr-reset-queue-remove { + type uint32; + description + "number of FRR reset queue deletes"; + } + leaf mi-num-frr-reset { + type uint32; + description + "number of FRR resets"; + } + leaf mi-num-frr-proto-events { + type uint32; + description + "number of frr events received in proto thread"; + } + leaf mi-num-frr-logs { + type uint32; + description + "frr log size"; + } + leaf mi-num-pm-session-down { + type uint32; + description + "number of session down FRR events from PM"; + } + } + + grouping ADDR-TYPE { + description + "Union for IPv4/Ipv6 addr"; + leaf afi { + type int32; + description + "AFI"; + } + leaf ipv4-address { + when "../afi = '2'" { + description + "../AFI = '2'"; + } + type inet:ipv4-address; + description + "IPV4 Address"; + } + leaf ipv6-address { + when "../afi = '10'" { + description + "../AFI = '10'"; + } + type Ipv6-address; + description + "IPV6 Address"; + } + } + + grouping FIB-SH-ROUTE-DEL-TS { + description + "FIB SH ROUTE DEL TS"; + container prfx { + description + "prfx"; + uses ADDR-TYPE; + } + leaf tableid { + type uint32; + description + "tableid"; + } + leaf prfx-len { + type uint16; + description + "prfx len"; + } + leaf prfx-proto { + type uint16; + description + "prfx proto"; + } + leaf msec-time { + type uint64; + description + "msec time"; + } + } + + grouping FIB-SH-PROTO-PURGE-STATS { + description + "FIB per protocol purge counters"; + list fpp-cntr { + max-elements "3"; + description + "the number of frees for this proto"; + leaf entry { + type uint32; + description + "the number of frees for this proto"; + } + } + } + + grouping FIB-SH-GTRIE-FN-TIMING { + description + "FIB timing statistics for individual gtrie + functions"; + leaf fgft-fn { + type string { + length "0..64"; + } + description + "Gtrie operation"; + } + leaf fgft-tot-updates { + type uint64; + description + "Total number of updates"; + } + leaf fgft-tot-updates-zero { + type uint64; + description + "Total number of updates with zero timing (due to + timestamp granularity)"; + } + leaf fgft-tot-upd-time { + type uint64; + description + "Total time for updates"; + } + leaf fgft-max-time { + type uint64; + description + "Time for the update"; + } + leaf fgft-max-tstamp { + type uint64; + description + "Time stamp of max update"; + } + } + + grouping FIB-SH-GTRIE-TIMING { + description + "FIB platform update statistics"; + leaf fgt-num-success { + type uint64; + description + "Number of successful updates"; + } + leaf fgt-num-failure { + type uint64; + description + "Number of unsuccessful updates"; + } + leaf fgt-upd-total-time { + type uint64; + description + "Total time for all pd updates"; + } + list fgt-gtrie-fn-timing { + description + "Array of max time info indexed by gtrie function"; + uses FIB-SH-GTRIE-FN-TIMING; + } + } + + grouping FIB-SH-OBJ-ACTION-STATS { + description + "FIB Max time statistics for each action types of + an object"; + leaf foas-tot-updates { + type uint64; + description + "Total number of updates"; + } + leaf foas-tot-upd-time { + type uint64; + description + "Total time for updates"; + } + leaf foas-tot-updates-zero { + type uint64; + description + "Total number of updates that took zero time"; + } + leaf foas-num-success { + type uint64; + description + "Total number of successful updates"; + } + leaf foas-num-failure { + type uint64; + description + "Total number of failed updates"; + } + leaf object-per-action-oor { + type uint64; + description + "Total number of out of resource updates"; + } + leaf foas-max-time { + type uint64; + description + "Time for the update"; + } + leaf foas-max-tstamp { + type uint64; + description + "Time stamp of max update"; + } + } + + grouping FIB-SH-OBJ-STATS { + description + "FIB Max time statistics for each FIB object"; + leaf fos-tot-updates { + type uint64; + description + "Total number of updates"; + } + leaf fos-tot-upd-time { + type uint64; + description + "Total time for updates"; + } + leaf number-async-update-oor { + type uint64; + description + "Number of asynchronous platform update out of + resource"; + } + leaf number-async-update-error { + type uint64; + description + "Number of asynchronous platform update errors"; + } + leaf number-async-oor-notify { + type uint64; + description + "Number of asynchronous out of resource notify"; + } + list fos-obj-act-stat { + description + "Array of max time info indexed by action type"; + uses FIB-SH-OBJ-ACTION-STATS; + } + } + + grouping FIB-SH-PLATF-UPD-STATS { + description + "FIB platform update statistics"; + leaf fpus-num-success { + type uint64; + description + "Number of successful updates"; + } + leaf fpus-num-failure { + type uint64; + description + "Number of unsuccessful updates"; + } + leaf number-sync-update-oor { + type uint64; + description + "Number of synchronous out of resources updates"; + } + leaf number-async-update-oor { + type uint64; + description + "Number of asynchronous out of resources updates"; + } + leaf number-async-update-error { + type uint64; + description + "Number of asynchronous update errors"; + } + leaf number-async-oor-notify { + type uint64; + description + "Number of asynchronous out of resources notify"; + } + leaf fpus-upd-total-time { + type uint64; + description + "Total time for all pd updates"; + } + leaf number-async-eod-done { + type uint64; + description + "Number of asynchronous end of download done"; + } + list fpus-obj-stat { + description + "Array of max time info indexed by object type"; + uses FIB-SH-OBJ-STATS; + } + } + + grouping FIB-SH-PROTO-DEBUG-STATS { + description + "FIB per protocol debug information"; + container fpd-platf-upd-stats { + description + "platform update statistics"; + uses FIB-SH-PLATF-UPD-STATS; + } + container fpd-gtrie-timing { + description + "Gtrie timing statistics"; + uses FIB-SH-GTRIE-TIMING; + } + leaf fpd-gbltbl-entries { + type uint64; + description + "the number of fib entries in global tbl"; + } + leaf fpd-gbltbl-rej-entries { + type uint64; + description + "the number of fib entries in global retry tbl"; + } + leaf fpd-vrftbl-entries { + type uint64; + description + "the number of fib entries in vrf tbls"; + } + leaf fpd-vrftbl-rej-entries { + type uint64; + description + "the number of fib entries in vrf retry tbls"; + } + leaf fpd-num-tbls { + type uint32; + description + "the number of tables in table set"; + } + leaf fpd-bcdl-msgs { + type uint64; + description + "the number of bcdl msgs"; + } + leaf fpd-route-upd { + type uint64; + description + "the number of route updates"; + } + leaf fpd-route-del { + type uint64; + description + "the number of route deletes"; + } + leaf fpd-route-rcv { + type uint64; + description + "the number of routes received"; + } + leaf fpd-route-drops { + type uint64; + description + "the number of routes dropped"; + } + leaf fpd-lbl-recycled { + type uint64; + description + "the number of routes handled with recycled label"; + } + leaf fpd-version-mismatch-drops { + type uint64; + description + "the number of routes dropped because of version + mismatch"; + } + leaf fpd-adj-upd { + type uint64; + description + "the number of adjacency updates"; + } + leaf fpd-adj-del { + type uint64; + description + "the number of adjacency deletes"; + } + leaf fpd-adj-upd-tx { + type uint64; + description + "number of TX adjacency updates from AIB"; + } + leaf fpd-adj-upd-tx-nh-found { + type uint64; + description + "number of TX adjacency updates that found or + created NH"; + } + leaf fpd-adj-upd-tx-retry-created { + type uint64; + description + "number of TX adjacency updates that went to + retry"; + } + leaf fpd-adj-tx-retry-nh-found { + type uint64; + description + "number of TX adj retries that found or created + NH"; + } + leaf fpd-adj-tx-retry-obj-reinit { + type uint64; + description + "number of times TX NH retry objects updated"; + } + leaf fpd-adj-drops { + type uint64; + description + " number of adj updates dropped because of OOR"; + } + leaf fpd-adj-msg { + type uint64; + description + "number of AIB messages"; + } + leaf fpd-te-rcv { + type uint64; + description + "the number of TE upds received"; + } + leaf fpd-te-version-mismatch-drops { + type uint64; + description + "the number of TE upds dropped because of version + mismatch"; + } + leaf fpd-num-retry-touts { + type uint64; + description + "the number of retry timeouts"; + } + leaf fpd-ldi-num-fixedup { + type uint64; + description + "the number of fixup LDIs"; + } + leaf fpd-ldi-num-correct-fixup { + type uint64; + description + "the number of corrected fixup LDIs"; + } + leaf fpd-pl-num-queued-fixedup { + type uint64; + description + "the number of PL queued for fixup"; + } + leaf fpd-pl-num-correct-fixup { + type uint64; + description + "the number of corrected fixup PLs"; + } + leaf fpd-pl-retry-add-exist { + type uint64; + description + "the number PLs added to retry while already in + retry"; + } + leaf fpd-pl-inline-res-q { + type uint64; + description + "the number of PLs linked to resolving tables for + inline res"; + } + leaf fpd-pl-with-backup-create-count { + type uint64; + description + "number of pl creates with backu path"; + } + leaf fpd-pl-with-backup-del-count { + type uint64; + description + "number of pl deletes with backup path"; + } + leaf fpd-pl-backup-enable-count { + type uint64; + description + "number of PLs marked to include backup path"; + } + leaf fpd-pl-backup-disable-count { + type uint64; + description + " number of PLs unmarked to include backup path"; + } + leaf fpd-pl-fast-nfn-count { + type uint64; + description + "number of PLs visited on fast notification"; + } + leaf fpd-ldi-backup-activate-count { + type uint64; + description + "number of ldi backup path activications"; + } + leaf fpd-ldi-last-backup-activate-time { + type uint64; + description + "ldi mod time for last backup activation"; + } + leaf fpd-ldi-max-backup-activate-time { + type uint64; + description + "max ldi mod time for backup activation"; + } + leaf fpd-ldi-min-backup-activate-time { + type uint64; + description + "min ldi mod time for backup activation"; + } + leaf fpd-ldi-total-backup-activate-time { + type uint64; + description + "total ldi mod time for backup activation"; + } + leaf fpd-ldi-avg-backup-activate-time { + type uint64; + description + "avg ldi mod time for backup activation"; + } + leaf fpd-recursion-constraint-count { + type uint64; + description + "number of resolution failures because of + recursion constraint"; + } + leaf fpd-ldi-num-del-refcnt { + type uint64; + description + "the number of deleted with non-zero refcount"; + } + leaf fpd-retryq-size { + type uint32; + description + "the number of elements in retryq"; + } + leaf fpd-num-allocs { + type uint64; + description + "the number of allocs for this proto"; + } + leaf fpd-num-frees { + type uint64; + description + "the number of frees for this proto"; + } + leaf fpd-retryq-timeout { + type uint32; + description + "timeout value in msec"; + } + leaf fpd-retryq-sched-time { + type uint32; + description + "Scheduler time period in msec"; + } + list fpd-gbltbl-src-entry { + max-elements "15"; + description + "Number of global routes from + + each route source"; + leaf entry { + type uint64; + description + "Number of global routes from + + each route source"; + } + } + list fpd-vrftbl-src-entry { + max-elements "15"; + description + "Number of vrf routes from + + each route source"; + leaf entry { + type uint64; + description + "Number of vrf routes from + + each route source"; + } + } + list fpd-num-retry { + description + "the number of retries of each type"; + leaf entry { + type uint64; + description + "the number of retries of each type"; + } + } + } + + grouping FIB-SH-MISC { + description + "FIB miscellaneous info"; + container mi-issu-state { + description + "FIB ISSU state"; + uses FIB-ISSU-STATE; + } + container mi-plat-capabilities { + description + "FIB platform capabilities"; + uses FIB-SH-PLAT-CAPABILITIES; + } + leaf mi-pfi-ifh-upd { + type uint64; + description + "number of pfi ifh create notif"; + } + leaf mi-pfi-ifh-del { + type uint64; + description + "number of pfi ifh delete notif"; + } + leaf mi-pfi-ifh-stale { + type uint64; + description + "number of stale ifh removed"; + } + leaf mi-tot-plat-upd-time { + type uint64; + description + "total platform update time"; + } + leaf mi-tot-gtrie-time { + type uint64; + description + "total time spent in gtrie operations"; + } + leaf mi-tot-dnld-time { + type uint64; + description + "total download time"; + } + leaf mi-clock-time { + type uint64; + description + "clock download time"; + } + leaf mi-cpu-time { + type uint64; + description + "CPU download time"; + } + leaf mi-shm-reset-ts { + type uint64; + description + "Last FIB shared memory reset time stamp"; + } + leaf mi-idb-recycle-count { + type uint32; + description + "Number of idbs that hit ifh recycle"; + } + leaf mi-idb-recycle-cleanup-count { + type uint32; + description + "Number of idb cleaned up after hitting ifh + recycle"; + } + leaf mi-num-mgmt-list { + type uint32; + description + "Number of management interfaces"; + } + leaf mi-num-virtual-ll-addresses-added { + type uint32; + description + "mi num virtual ll addresses added"; + } + leaf mi-num-virtual-ll-addresses-deleted { + type uint32; + description + "mi num virtual ll addresses deleted"; + } + leaf mi-num-virtual-ll-addresses-dropped { + type uint32; + description + "mi num virtual ll addresses dropped"; + } + leaf mi-num-virtual-ll-addresses-cached { + type uint32; + description + "mi num virtual ll addresses cached"; + } + leaf mi-cpuless-init { + type boolean; + description + "cpuless node list init"; + } + leaf mi-cpuless-count { + type uint32; + description + "count of cpuless line cards"; + } + leaf mi-prefer-aib-routes-over-rib-oper { + type boolean; + description + "Prefer AIB routes over RIB/LSD operational state"; + } + leaf mi-prefer-aib-routes-over-rib-cfg { + type boolean; + description + "Prefer AIB routes over RIB/LSD configured state"; + } + leaf mi-proactive-arp-nd-enabled { + type boolean; + description + "Proactive-ARP-ND feature"; + } + leaf mi-xpl-ldi-enabled { + type boolean; + description + "XPL loadinfo is enabled"; + } + leaf mi-frr-follow-bgp-pic { + type boolean; + description + "fast-reroute follow BGP-PIC configured"; + } + leaf mi-encap-sharing-disable { + type boolean; + description + "MPLS encapsulation sharing disabled"; + } + leaf mi-lba-hash-recover { + type boolean; + description + "Consistent-hashing auto-recovery"; + } + leaf mi-ltrace-multiplier { + type uint32; + description + "The value of trace buffer multiplier"; + } + leaf mi-retry-syslog-timer { + type uint32; + description + "The value of the retry syslog timer"; + } + leaf mi-hlb-mode { + type uint32; + description + "BGP hierarchical load balancing mode"; + } + leaf mi-hlb-num-paths { + type uint32; + description + "number of paths for hierarchical load balancing"; + } + list mi-idb-ext-cleanup-failed-count { + max-elements "3"; + description + "Number of recycled idb extensions that failed + + cleanup"; + leaf entry { + type uint32; + description + "Number of recycled idb extensions that failed + + cleanup"; + } + } + list mi-lrpf-stats-fail { + max-elements "9"; + description + "Per protocol Failure stats for label RPF"; + leaf entry { + type uint32; + description + "Per protocol Failure stats for label RPF"; + } + } + list mi-lrpf-stats-act { + max-elements "24"; + description + "Per protocol actions stats for label RPF"; + leaf entry { + type uint32; + description + "Per protocol actions stats for label RPF"; + } + } + list mi-lrpf-num { + max-elements "3"; + description + "Per protocol number of label RPFs"; + leaf entry { + type uint32; + description + "Per protocol number of label RPFs"; + } + } + list mi-idb-lsec-enabled-num { + max-elements "3"; + description + "Number of interfaces having label security + + enabled"; + leaf entry { + type uint32; + description + "Number of interfaces having label security + + enabled"; + } + } + list mi-num-lisp-eid { + max-elements "3"; + description + "number of LISP EID prefixes"; + leaf entry { + type uint32; + description + "number of LISP EID prefixes"; + } + } + list mi-num-lisp-valid-eid { + max-elements "3"; + description + "number of LISP EID prefixes eligible for + + forwarding"; + leaf entry { + type uint32; + description + "number of LISP EID prefixes eligible for + + forwarding"; + } + } + list mi-cpuless-node { + max-elements "20"; + description + "list of cpuless line cards"; + leaf entry { + type uint32; + description + "list of cpuless line cards"; + } + } + list mi-retry-backoff-timer { + max-elements "4"; + description + "The value of the retry backoff timer"; + leaf entry { + type uint32; + description + "The value of the retry backoff timer"; + } + } + list mi-proto-dbg-stat { + description + "Per protocol debug stats"; + uses FIB-SH-PROTO-DEBUG-STATS; + } + list mi-idb-purge-cntr { + max-elements "3"; + description + "the number of counters used for purge counter + stats"; + uses FIB-SH-PROTO-PURGE-STATS; + } + list mi-del { + description + "Timestamps of deleted routes"; + uses FIB-SH-ROUTE-DEL-TS; + } + list mi-frr-stat { + max-elements "3"; + description + "FRR statistics"; + uses FIB-SH-PROTO-FRR-STATS; + } + list mi-retry-syslog-timer-running { + min-elements 4; + max-elements "4"; + description + "is retry syslog/backoff timer running"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + } + + grouping FIB-SH-TBL-EXT-CLIENT-SUM { + description + "FIB external client summary information"; + container ses-pl-sum { + description + "ECD pathlist summary"; + uses FIB-SH-TBL-EXT-PL-SUM; + } + leaf ses-client-name { + type string; + description + "External client name"; + } + leaf ses-feci-fib-proto { + type uint32; + description + "Registration proto"; + } + leaf ses-num-regs { + type uint32; + description + "Number of registrations"; + } + leaf ses-num-pending { + type uint32; + description + "Number of pending notifs"; + } + leaf ses-client-pulsed-time { + type uint64; + description + "Client pulsed timestamp"; + } + leaf ses-comp-id { + type uint32; + description + "component-id of the client"; + } + leaf ses-ecd-version { + type uint32; + description + "ECD version"; + } + } + + grouping FIB-SH-FRR-NHINFO { + description + "FIB per nhinfo information"; + leaf si-frrtype { + type uint32; + description + "FRR-NHinfo Type"; + } + leaf si-refcount { + type uint32; + description + "Next Hop Reference Count"; + } + leaf si-flags { + type uint32; + description + "FRR nhinfo flags"; + } + leaf si-tbl-id { + type uint32; + description + "VRF table ID"; + } + leaf si-ifh { + type uint32; + description + "ifh assoc w FRR nh"; + } + leaf si-main-ifh { + type uint32; + description + "main ifh assoc w prot-frr nh"; + } + leaf si-linktype { + type uint32; + description + "Linktype using this FRR object"; + } + leaf si-nh-pfx-proto { + type uint32; + description + "Protocol for next-hop prefix"; + } + leaf si-nh-pfx { + type yang:hex-string; + description + "nh prefix"; + } + leaf si-nh-pfx-len { + type uint32; + description + "prefix len"; + } + leaf si-tunid { + type uint32; + description + "tunnel id for c12k"; + } + leaf si-frr-ptr { + type uint64; + description + "frr-nhinfo pointer"; + } + leaf si-prot-frr-ptr { + type uint64; + description + "prot-frr-nhinfo pointer for a bkup-frr"; + } + leaf si-parent-nh-ptr { + type uint64; + description + "parent nhinfo pointer"; + } + leaf si-partner-nh-ptr { + type uint64; + description + "partner nhinfo pointer"; + } + leaf si-repl-parent-type { + type uint8; + description + "replicated parent nhinfo type"; + } + leaf si-upd-ts { + type uint64; + description + "update timestamp"; + } + } + + grouping FIB-SH-NHID-ENTRY { + description + "FIB per NHID entry information"; + leaf nh-interface-name-xr { + type xr:Interface-name; + description + "Next-hop interface"; + } + leaf nh-address-xr { + type string; + description + "Next-hop address"; + } + leaf nh-protocol { + type uint8; + description + "Next-hop address protocol, IPv4/IPv6"; + } + leaf nh-link-type { + type uint8; + description + "Payload linktype"; + } + leaf nh-table-id { + type uint32; + description + "Table-ID entry notified for"; + } + leaf nh-id-xr { + type uint32; + description + "NHID value"; + } + leaf nh-id-application { + type uint8; + description + "NHID application type"; + } + leaf version { + type uint64; + description + "RIB version"; + } + leaf time-of-last-update-in-msec { + type uint64; + description + "The time of last update in msec"; + } + leaf encap-id { + type uint64; + description + "ENCAP ID value"; + } + } + + grouping MGMT-SRV6-SID-FMT { + description + "SRv6 SID Format Info"; + leaf type { + type Mgmt-srv6-sid-fmt; + description + "Format type"; + } + leaf description { + type string; + description + "Format description"; + } + } + + grouping MGMT-SRV6-OP-MODE { + description + "SRv6 operational mode Info"; + leaf type { + type Srv6-op-mode; + description + "Mode type"; + } + leaf description { + type string; + description + "Mode description"; + } + } + + grouping FIB-SRV6-GBL-MODE-INFO { + description + "FIB SRv6 global mode info"; + container mode { + description + "Mode (type and desc)"; + uses MGMT-SRV6-OP-MODE; + } + container sid-format { + description + "SID Format"; + uses MGMT-SRV6-SID-FMT; + } + leaf block-srv6-space { + type string; + description + "Block SRv6 space"; + } + } + + grouping FIB-SRV6-GBL-UPD-SET-OR-PROP { + description + "FIB SRv6 global param set or propagate value"; + leaf use-default { + type boolean; + description + "Use default value"; + } + leaf do-propagate { + type boolean; + description + "Propagate from incoming packet/frame"; + } + leaf value { + type uint8; + description + "Specific value"; + } + } + + grouping FIB-SRV6-GBL-UPD { + description + "FIB SRv6 global update"; + container encap-hop-limit { + description + "Encap Hop-limit info"; + uses FIB-SRV6-GBL-UPD-SET-OR-PROP; + } + container encap-traffic-class { + description + "Encap Traffic-class info"; + uses FIB-SRV6-GBL-UPD-SET-OR-PROP; + } + leaf srv6-enabled { + type boolean; + description + "Is SRv6 enabled?"; + } + leaf encap-source-address { + type inet:ipv6-address; + description + "Encap Source Address"; + } + list mode-info { + description + "Info per SRv6 Mode"; + uses FIB-SRV6-GBL-MODE-INFO; + } + } + + grouping FIB-SH-POLICY-SAF-ENTRY { + description + "FIB Policy Source-Address-Filtering entry"; + list saf-ip-address { + description + "SAF Policy IP address list"; + uses FIB-IP-ADDR-T-UNION; + } + } + + grouping FIB-SH-POLICY-TYPE-ENTRY { + description + "FIB SH POLICY TYPE ENTRY"; + container saf-policy { + when "../type = 'saf'" { + description + "../type = 'SAF'"; + } + description + "SAF Policy"; + uses FIB-SH-POLICY-SAF-ENTRY; + } + leaf type { + type Fib-sh-policy-bag; + description + "type"; + } + } + + grouping FIB-SH-POLICY-ENTRY { + description + "FIB Policy"; + container object-base { + description + "Object Base"; + uses FIB-SH-FIB-OBJ-BASE; + } + container policy-entry { + description + "Policy Entry"; + uses FIB-SH-POLICY-TYPE-ENTRY; + } + leaf policy-name-xr { + type string; + description + "Policy Name"; + } + leaf hardware { + type yang:hex-string; + description + "Policy HW info"; + } + } + + grouping FIB-ATTRIBUTE-SUMMARY { + description + "Summary of downloaded fib route attributes"; + } + + grouping FIB-SH-REC-NH-INT { + description + "FIB RNH's Internal information"; + leaf string-rep { + type string; + description + "String Representation of a RNH"; + } + } + + grouping FIB-SH-REC-NH-DEP-INT { + description + "RNH Dependent's Internal Info"; + container fib-rtep-hist { + description + "FIB Rtep History"; + uses EVT-HIST-INFO; + } + container fib-ecd-hist { + description + "FIB Ecd History"; + uses EVT-HIST-INFO; + } + } + + grouping FIB-SH-NHINFO-EXT-TEP-DET { + description + "NHINFO entry extension object information"; + leaf nh-info-tep-type { + type uint8; + description + "TEP type"; + } + leaf is-tep-single-pass { + type boolean; + description + "Is TEP is Single Pass"; + } + } + + grouping FIB-SH-NHINFO-EXT-REP-DET { + description + "NHINFO entry extension object information"; + leaf nh-info-replicated-type { + type uint8; + description + "Replicated NHINFO type"; + } + leaf nh-info-replicated-nh-id { + type uint32; + description + "NHID of the replicated NHINFO"; + } + leaf nh-info-replicated-encap-id { + type uint64; + description + "ENCAP ID of the replicated NHINFO"; + } + leaf nh-info-replicated-interface { + type xr:Interface-name; + description + "Interface of the replicated NHINFO"; + } + } + + grouping FIB-SH-NHINFO-EXT-CMN-DET { + description + "FIB SH NHINFO EXT CMN DET"; + container snecd-nhr { + when "../type = 'replicated-nh-info'" { + description + "../type = 'ReplicatedNHINFO'"; + } + description + "snecd nhr"; + uses FIB-SH-NHINFO-EXT-REP-DET; + } + container snecd-tep { + when "../type = 'tunnel-endpoint'" { + description + "../type = 'TunnelEndpoint'"; + } + description + "snecd tep"; + uses FIB-SH-NHINFO-EXT-TEP-DET; + } + leaf type { + type Fib-nhinfo-ext-bag; + description + "type"; + } + } + + grouping FIB-SH-EXT-BASE { + description + "FIB object extension base information"; + container object-base { + description + "FIB Object Base information"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf parent-object-pointer { + type uint64; + description + "FIB Extension Object's parent pointer"; + } + leaf back-object-pointer { + type uint64; + description + "FIB Extension Object's back pointer"; + } + } + + grouping FIB-SH-NHINFO-EXT-DET { + description + "NHINFO entry extension internal information"; + container nh-info-extension-base { + description + "NHINFO Extension object base information"; + uses FIB-SH-EXT-BASE; + } + container nh-info-extension-detail { + description + "NHINFO Extension Detail Information"; + uses FIB-SH-NHINFO-EXT-CMN-DET; + } + } + + grouping FIB-SH-NHINFO-EXT { + description + "FIB per nhinfo info"; + list nh-info-extension-detail { + description + "NHINFO Extension Detail"; + uses FIB-SH-NHINFO-EXT-DET; + } + } + + grouping FIB-SH-NHINFO-PWHE-EXT { + description + "FIB PW-HE specific info"; + leaf pwhe-adjacency-client-data { + type uint32; + description + "PW-HE specific client data in adjacency"; + } + leaf vctype { + type uint32; + description + "VC type"; + } + leaf vc-internal-label { + type uint32; + description + "VC Internal Label"; + } + leaf cw-enabled { + type boolean; + description + "Is CW enabled?"; + } + leaf l2-overhead-bytes { + type uint16; + units "byte"; + description + "L2 overhead bytes for interface stats accounting"; + } + leaf dot1q-vlan-tag { + type uint32; + description + "VLAN tag"; + } + } + + grouping FIB-SH-NHINFO { + description + "FIB per nhinfo information"; + container si-pwhe { + description + "PW-HE interface extension"; + uses FIB-SH-NHINFO-PWHE-EXT; + } + container nh-info-extension { + description + "NHinfo Extensions"; + uses FIB-SH-NHINFO-EXT; + } + leaf si-link-proto { + type uint32; + description + "FIB Protocol Type for NHINFO linktype"; + } + leaf si-nhtype { + type uint32; + description + "NHinfo Type"; + } + leaf si-ifh { + type uint32; + description + "Ifhndl assoc w nhinfo"; + } + leaf si-pfi-interface-type { + type uint32; + description + "Pamna Interface Type"; + } + leaf si-adj-ptr { + type uint32; + description + "Adj Ptr"; + } + leaf si-adj-present { + type boolean; + description + "nhinfo point to adj"; + } + leaf si-special-type { + type uint32; + description + "nature of special nhinfo"; + } + leaf si-refcount { + type uint32; + description + "Next Hop Reference Count"; + } + leaf si-flags { + type uint32; + description + "nhinfo flags"; + } + leaf nh-info-base-extended-flags { + type uint16; + description + "NHInfo Base Extended Flags"; + } + leaf si-adj-if { + type uint32; + description + "ADJ Interface"; + } + leaf si-ext-pfx { + type yang:hex-string; + description + "Extension Prefix"; + } + leaf si-ext-pfx-len { + type uint32; + description + "Extension Prefix Len"; + } + leaf si-ext-pfx-proto { + type uint32; + description + "Extension Prefix Protocol"; + } + leaf si-adj-address { + type yang:hex-string; + description + "AIB L3 Address"; + } + leaf si-adj-addrlen { + type uint32; + description + "ADJ L3 address length"; + } + leaf si-adj-addr-proto { + type uint32; + description + "ADJ L3 address Protocol"; + } + leaf si-adj-rw-len { + type uint32; + description + "Length of Macstring"; + } + leaf si-adj-rw { + type yang:hex-string; + description + "Macstring for Adjacency"; + } + leaf adjacency-route-preference { + type Fib-bag-adj-pref; + description + "Adjacency route preference"; + } + leaf si-dep-nhinfo-type { + type uint32; + description + "Depenedent nhinfo type"; + } + leaf si-dep-nhinfo { + type uint32; + description + "Dependent nhinfo"; + } + leaf si-dep-nhinfo-ifh { + type uint32; + description + "Dependent nhinfo ifhndl"; + } + leaf si-bkup-frr { + type uint32; + description + "pointer to Backup FRR obj"; + } + leaf si-protect-frr { + type uint32; + description + "pointer to protect FRR object"; + } + leaf si-bkup-nhinfo { + type uint32; + description + "Bacckup NHINFO obj"; + } + leaf si-bkup-ifh { + type uint32; + description + "Bacckup IFH"; + } + leaf si-bkup-addr { + type yang:hex-string; + description + "Bkup L3 Address"; + } + leaf si-bkup-addrlen { + type uint32; + description + "BKup L3 address length"; + } + leaf si-bkup-addr-proto { + type uint32; + description + "BKup L3 address Protocol"; + } + leaf si-frr-active { + type boolean; + description + "is FRR currently active"; + } + leaf si-attr-is-ext-mgd { + type boolean; + description + "NH is externally managed"; + } + leaf si-attr-is-incomp { + type boolean; + description + "NH is incomplete"; + } + leaf si-attr-is-tunnel { + type boolean; + description + "NH is assoc w a TE tunnel"; + } + leaf si-attr-is-tunnel-srte { + type boolean; + description + "NH is assoc w a SRTE tunnel"; + } + leaf si-attr-is-gre-tunnel { + type boolean; + description + "NH is assoc w a GRE tunnel"; + } + leaf si-gre-ti { + type uint64; + description + "GRE tunnel info"; + } + leaf si-gre-ti-flags { + type uint32; + description + "Flags on GRE tunnel info"; + } + leaf si-gre-ti-refcnt { + type uint32; + description + "Refcount on GRE tunnel info"; + } + leaf si-gre-tos-propagate { + type boolean; + description + "Is GRE TOS propagate set"; + } + leaf si-hardware { + type yang:hex-string; + description + "Platform Hardware info"; + } + leaf si-nhinfo-ptr { + type uint32; + description + "nhinfo pointer"; + } + leaf si-fnb-idb-ptr { + type uint32; + description + "pointer to idb"; + } + leaf si-anc-ifh { + type uint32; + description + "Ancestor IFH"; + } + leaf si-gre-ti-resolving-leafp { + type uint64; + description + "GRE resolving ip-leaf"; + } + leaf si-gre-dest-addr { + type yang:hex-string; + description + "GRE dest address"; + } + leaf si-nhid { + type uint32; + description + "NHID value in the TX NH"; + } + leaf si-upd-ts { + type uint64; + description + "NH update timestamp"; + } + leaf nh-is-in-oor-state { + type boolean; + description + "is NH in OOR"; + } + } + + grouping FIB-SH-REC-NH-DEP { + description + "FIB recursive nexthop dependant information"; + list fib-sh-rec-nh-dep { + description + "Next dependant"; + container rnd-shadow-nh { + description + "VXLAN shadow NH"; + uses FIB-SH-NHINFO; + } + container rnd-int { + description + "RNH dependent's Internal Info"; + uses FIB-SH-REC-NH-DEP-INT; + } + leaf rnd-type { + type uint32; + description + "Dependant type"; + } + leaf rnd-tunnel-id { + type uint32; + description + "Tunnel endpoint id"; + } + leaf rnd-ifh { + type xr:Interface-name; + description + "Interface handle"; + } + leaf rnd-ref-count { + type uint32; + description + "Ref count"; + } + leaf rnd-resolved { + type boolean; + description + "Dependant resolved"; + } + leaf rnd-flags { + type uint32; + description + "Dependant flags"; + } + leaf rnd-loc-tun-up { + type uint32; + description + "Local tunnel status"; + } + leaf rnd-data { + type yang:hex-string; + description + "TEP encapsulation details"; + } + leaf rnd-src-size { + type uint32; + description + "Source addr pool size"; + } + leaf rnd-stale { + type boolean; + description + "Stale flag"; + } + leaf rnd-retry { + type boolean; + description + "Retry flag"; + } + leaf rnd-gti-ptr { + type uint64; + description + "GRE tunnel info ptr"; + } + leaf rnd-nh-ptr { + type uint64; + description + "GRE/VXLAN NH-info ptr"; + } + leaf rnd-parent-nh-ptr { + type uint64; + description + "VXLAN parent NH-info ptr"; + } + leaf rnd-nh-proto { + type Fib-bag-protocol; + description + "NH proto"; + } + leaf rnd-vxlan-rtep-ptr { + type uint32; + description + "VXLAN rTEP info ptr"; + } + leaf rnd-vxlan-evni { + type uint32; + description + "VXLAN egress VNI"; + } + leaf rnd-vxlan-ol-tblid { + type uint32; + description + "VXLAN overlay tbl id"; + } + leaf rnd-hw-info { + type yang:hex-string; + description + "Opaque hardware info"; + } + } + } + + grouping FIB-SH-REC-NH { + description + "FIB recursive nexthop information"; + container rn-first-dep { + description + "First dependant"; + uses FIB-SH-REC-NH-DEP; + } + container rn-int { + description + "Internal representation of an RNH"; + uses FIB-SH-REC-NH-INT; + } + leaf rn-prefix { + type yang:hex-string; + description + "Recursive nexthop prefix"; + } + leaf rn-prefix-len { + type uint32; + description + "Prefix length"; + } + leaf rn-resolved { + type boolean; + description + "Recursive nexthop resolved"; + } + leaf rn-resolve-prefix { + type yang:hex-string; + description + "Resolving prefix"; + } + leaf rn-resolve-prefix-len { + type uint32; + description + "Resolving prefix length"; + } + leaf rn-v4mappedv6 { + type boolean; + description + "Address is v4-mapped-v6"; + } + leaf rn-hw-info-incl { + type boolean; + description + "Hardware info included"; + } + } + + grouping EVT-HIST-ENTRY { + description + "Event history Entry"; + leaf evt-timestamp { + type string; + description + "The timestamp of the event"; + } + leaf evt-name { + type string; + description + "Event name"; + } + leaf evt-type { + type uint8; + description + "Event type"; + } + leaf evt-many { + type boolean; + description + "Multiple instance flag"; + } + leaf evt-sticky { + type boolean; + description + "Sticky flag"; + } + list evt-data { + description + "Optional data"; + leaf entry { + type uint32; + description + "Optional data"; + } + } + } + + grouping EVT-HIST-INFO { + description + "Per object event history"; + leaf evt-class-name { + type string; + description + "Class name string"; + } + list evt-entry { + description + "Array of event entries"; + uses EVT-HIST-ENTRY; + } + } + + grouping FIB-SH-INT-INTERNAL { + description + "FIB per interface internal information"; + container fib-idb-hist { + description + "Event History for IDB"; + uses EVT-HIST-INFO; + } + container fib-srte-head-hist { + description + "Event History for Srtehead"; + uses EVT-HIST-INFO; + } + } + + grouping FIB-SH-INT-DET { + description + "FIB per interface detail information"; + leaf interface-mtu { + type uint16; + description + "Interface Protocol MTU"; + } + leaf forwarding-flag { + type boolean; + description + "Forwarding enabled/disabled flag"; + } + leaf rpf-configured-flag { + type boolean; + description + "RPF configured flag"; + } + leaf rpf-mode { + type Fib-rpf-mode; + description + "RPF mode"; + } + leaf default-route-with-rpf { + type boolean; + description + "Allow default route with RPF"; + } + leaf self-ping-with-rpf { + type boolean; + description + "Allow selfping with RPF"; + } + leaf bgp-pa-input-configured-flag { + type boolean; + description + "BGP PA configured flag"; + } + leaf source-bgp-pa-input-configured-flag { + type boolean; + description + "src BGP PA configured flag"; + } + leaf destination-bgp-pa-input-configured-flag { + type boolean; + description + "dst BGP PA configured flag"; + } + leaf bgp-pa-output-configured-flag { + type boolean; + description + "BGP PA configured flag"; + } + leaf source-bgp-pa-output-configured-flag { + type boolean; + description + "src BGP PA configured flag"; + } + leaf destination-bgp-pa-output-configured-flag { + type boolean; + description + "dst BGP PA configured flag"; + } + leaf icmp-flag { + type uint32; + description + "ICMP configured flag"; + } + leaf multi-label-drop-flag { + type boolean; + description + "Drop packets with multiple-label-stack if set"; + } + } + + grouping FIB-SH-INT { + description + "FIB per interface information"; + container detail-fib-int-information { + description + "Detailed FIB interface information"; + uses FIB-SH-INT-DET; + } + container si-internal { + description + "Internal Information"; + uses FIB-SH-INT-INTERNAL; + } + leaf per-interface { + type xr:Interface-name; + description + "Interface handle"; + } + leaf fib-interface-type { + type uint32; + description + "FIB Interface type"; + } + leaf fib-id-pointer { + type uint32; + description + "Pointer to fibidb"; + } + leaf fib-id-flags { + type uint32; + description + "Flags on fibidb"; + } + leaf fib-id-extension-pointer { + type uint32; + description + "Pointer to fibidb extension"; + } + leaf fib-id-extension-flags { + type uint32; + description + "Flags on fibidb extension"; + } + leaf number-of-dependent-next-hop-information { + type uint32; + description + "Number of dependent nhinfo's"; + } + leaf vrf-local-cef-information-pointer { + type uint32; + description + "Vrf local cef info ptr"; + } + leaf reference-count { + type uint16; + description + "Reference count"; + } + leaf last-modified-time { + type uint32; + description + "Time last modified"; + } + leaf last-operation { + type Fibidb-oper; + description + "Last Oper"; + } + leaf protocol-enabled { + type boolean; + description + "Is the protocol configured?"; + } + leaf referance-count-for-protocol { + type uint32; + description + "Reference count for the protocol"; + } + leaf number-of-input-packets { + type uint64; + description + "Number of input packets"; + } + leaf number-of-input-bytes { + type uint64; + units "byte"; + description + "Number of input bytes"; + } + leaf number-of-output-packets { + type uint64; + description + "Number of output packets"; + } + leaf number-of-output-bytes { + type uint64; + units "byte"; + description + "Number of output bytes"; + } + leaf interface-up-flag { + type boolean; + description + "Interface up flag"; + } + leaf per-packet-load-balancing-flag { + type boolean; + description + "Per packet loadbalancing flag"; + } + leaf p2p-interface-flag { + type boolean; + description + "P2P interface flag"; + } + leaf loopback-interface-flag { + type boolean; + description + "Loopback interface flag"; + } + leaf null-interface-flag { + type boolean; + description + "Null interface flag"; + } + leaf tunnel-interface-flag { + type boolean; + description + "Tunnel interface flag"; + } + leaf gre-tunnel-interface-flag { + type boolean; + description + "GRE Tunnel interface flag"; + } + leaf punt-packets-from-fib-switching-flag { + type boolean; + description + "Punt packets from FIB switching flag"; + } + leaf drop-packets-while-fib-switching-flag { + type boolean; + description + "Drop packets while FIB switching flag"; + } + leaf punt-packets-from-linecard-flag { + type boolean; + description + "Punt packets from linecard flag"; + } + leaf primary-ipv4-address { + type string { + length "0..52"; + } + description + "Pimary local v4 address for the interface"; + } + leaf primary-ipv6-address { + type string { + length "0..52"; + } + description + "Pimary local v6 address for the interface"; + } + } + + grouping FIB-SH-TBL-FIB-DVAR-VRF-DET { + description + "FIB table destination VRF information"; + container vrf-leak-timestamp { + description + "Destination Vrf Leak Timestamp"; + uses FIB-SH-TIMESPEC; + } + leaf destinationvrf-name { + type string; + description + "Destination Vrf Name"; + } + leaf destinationvrf-table-id { + type uint32; + description + "Destination Vrf Table ID"; + } + leaf destinationvrf-table-pointer { + type uint64; + description + "Destination Vrf Table Ptr"; + } + } + + grouping FIB-SH-TBL-FIB-DVARS { + description + "FIB table destination information"; + leaf protocol { + type Fib-bag-protocol; + description + "Src Vrf Protocol"; + } + leaf prefix-length-xr { + type uint32; + description + "Src Prefix Length"; + } + leaf source-vrf { + type uint32; + description + "Src VRF"; + } + leaf destination-count { + type uint32; + description + "Count of Number of Destination Vrfs this prefix + is leaked in"; + } + leaf flags { + type uint32; + description + "Flags"; + } + list destinationvrf-detail { + description + "Destination Vrf Detail"; + uses FIB-SH-TBL-FIB-DVAR-VRF-DET; + } + } + + grouping FIB-ATTRIBUTE-DET { + description + "Detailed info for downloaded fib route attributes"; + leaf sfa-attribute-id { + type uint32; + description + "BGP attribute id"; + } + leaf sfa-lcl-attribute-id { + type uint32; + description + "BGP local attribute id"; + } + leaf sfa-local-pref { + type uint32; + description + "BGP attribute local preference of the path"; + } + leaf sfa-origin-as { + type uint32; + description + "BGP attribute origin as"; + } + leaf sfa-next-hop-as { + type uint32; + description + "BGP attribute next hop as"; + } + leaf sfa-aspath-string { + type yang:hex-string; + description + "As path string"; + } + leaf sfa-extended-community-string { + type yang:hex-string; + description + "extcom st"; + } + leaf sfa-community-string { + type yang:hex-string; + description + "com st"; + } + leaf sfa-extended-community { + type uint32; + description + "extended community"; + } + } + + grouping FIB-VNI-INFO-ENTRY { + description + "FIB VNI_INFO entry"; + leaf table-id { + type uint32; + description + "EVNI Table Id"; + } + leaf vni-id-xr { + type uint32; + description + "VNI_Info Id"; + } + leaf vni-info-type { + type Fib-vni-info-type-in-bag; + description + "VNI_Info Type"; + } + leaf encap-id { + type uint64; + description + "VNI_Info Encap Id"; + } + } + + grouping FIB-RTEP-ENTRY { + description + "FIB rtep entry"; + container destination-address-xr { + description + "Destination address"; + uses FIB-IP-ADDR-T-UNION; + } + container ltep { + description + "LTEP"; + uses FIB-COMMON-LTEP-ENTRY; + } + leaf tunnel-type-xr { + type Fib-common-ipvpn-tunnel; + description + "Tunnel type"; + } + leaf underlay-table-id-xr { + type uint32; + description + "Underlay Table Id"; + } + leaf vxlan-overlay-table-id-xr { + type uint32; + description + "VxLAN Overlay Table Id"; + } + leaf vxlan-e-vni-id-xr { + type uint32; + description + "VxLAN E-VNI Id"; + } + leaf hardware-info { + type yang:hex-string; + description + "Hardware Info"; + } + leaf stat-id { + type uint64; + description + "Stats ID"; + } + } + + grouping FIB-SH-TBL-FIB-EXT-DET { + description + "FIB entry extension list information"; + leaf context-label-flag { + type boolean; + description + "Context Label Exist"; + } + leaf context-label { + type uint32; + description + "Context Label"; + } + } + + grouping FIB-SH-TBL-FIB-EXT-CMN-DET { + description + "FIB SH TBL FIB EXT CMN DET"; + container sfecd-le { + when "../type = 'leaf-extension'" { + description + "../type = 'LeafExtension'"; + } + description + "sfecd le"; + uses FIB-SH-TBL-FIB-EXT-DET; + } + leaf type { + type Fib-sh-tbl-fib-ext-bag; + description + "type"; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping FIB-SH-TBL-SRV6-RECYCLE { + description + "SRv6 packet recycle information for large SID + stacks"; + list fib-sh-tbl-srv6-recycle { + description + "SRv6 packet recycling information"; + leaf internal-id { + type string { + length "0..52"; + } + description + "The internal ID containing more SID for packet + reycling"; + } + leaf srv6-sid-list-subset { + type string; + description + "The subset of the SRv6 SID list of the current + prefix"; + } + } + } + + grouping FIB-SH-TBL-PATH-SRV6-INFO { + description + "SRv6 path information for FIB table entries"; + container srv6-packet-recycling-information { + description + "SRv6 Packet recycling information"; + uses FIB-SH-TBL-SRV6-RECYCLE; + } + leaf srv6-encapsulation-behavior { + type string; + description + "SRv6 Per-path Encapsulation Behavior"; + } + leaf srv6-sid-list { + type string; + description + "SRv6 SID list"; + } + leaf srv6-evpn-ac-interface { + type xr:Interface-name; + description + "SRv6 EVPN attached circuit interface"; + } + leaf srv6-evpn-xconnect-id { + type uint32; + description + "SRv6 EVPN xconnect ID"; + } + leaf srv6-evpn-bridge-id { + type uint32; + description + "SRv6 EVPN bridge ID"; + } + leaf srv6-evpn-shg-id { + type uint32; + description + "SRv6 EVPN shg ID"; + } + } + + grouping FIB-SH-TBL-MPLS-LABEL-STACK { + description + "mpls label stack information for FIB table + entries"; + leaf number-of-labels { + type uint32; + description + "Total number of labels"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing Interface"; + } + leaf nh-address { + type string { + length "0..52"; + } + description + "Next Hop address"; + } + list lstack { + max-elements "23"; + description + "Label Stack"; + leaf entry { + type uint32; + description + "Label Stack"; + } + } + } + + grouping FIB-SH-TBL-PATH-MPLS-INFO { + description + "mpls path information for FIB table entries"; + leaf local-lable { + type uint32; + description + "LocalLable"; + } + leaf recursive-fwd-chain { + type boolean; + description + "RecursiveFwdChain"; + } + leaf number-of-igp-paths { + type uint32; + description + "NumberOfIGPPaths"; + } + leaf remote-backup { + type boolean; + description + "RemoteBackupPath"; + } + list recursive-lbl-stack { + description + "Recursive Label(s)"; + leaf entry { + type uint32; + description + "Recursive Label(s)"; + } + } + list igp-label-stack-array { + description + "igp label stack array"; + uses FIB-SH-TBL-MPLS-LABEL-STACK; + } + } + + grouping FIB-SH-TBL-NNH-PATH { + description + "Detailed Next Next Hop Information"; + leaf next-next-hop-index { + type uint8; + description + "Next next hop index"; + } + leaf next-next-hop-prefix { + type string { + length "0..52"; + } + description + "Next next hop prefix"; + } + leaf next-next-hop-interface { + type uint32; + description + "Next next hop interface index"; + } + } + + grouping FIB-SH-IPENCAP-HDR-DET { + description + "Detailed IP Encap Header Description"; + leaf ip-encap-hdr-type { + type Fib-sh-ipencap-hdr; + description + "Header Type"; + } + leaf ip-encap-hdrp { + type yang:hex-string; + description + "Static Header"; + } + leaf ip-encap-hdr-dyn { + type uint32; + description + "Dynamic Header Fields"; + } + } + + grouping FIB-SH-IPENCAP-DET { + description + "Detailed IP Encap Description"; + leaf ip-encap-hdr-count { + type uint8; + description + "Header Count"; + } + leaf ip-encap-locks { + type uint32; + description + "IPEncap Object Locks"; + } + leaf ip-encap-transport-tbl { + type uint32; + description + "Transport Table"; + } + leaf ipe-transport-vrf-name { + type string; + description + "Transport VRF name"; + } + leaf ip-encap-transport-af { + type uint32; + description + "Transport AF"; + } + leaf ip-encap-payload-af { + type uint32; + description + "Payload AF"; + } + leaf ip-encap-payload-mtu { + type uint16; + description + "Payload MTU"; + } + leaf ip-encap-parent { + type uint32; + description + "Pointer to parent"; + } + leaf ip-encap-parent-type { + type uint32; + description + "Parent type enumeration"; + } + list ip-encap-hdr { + description + "Headers"; + uses FIB-SH-IPENCAP-HDR-DET; + } + } + + grouping FIB-SH-TBL-PATH-DET { + description + "Detailed path information for FIB table entries"; + leaf ip-address-to-recurse { + type string { + length "0..52"; + } + description + "IP address to recurse to"; + } + leaf label-to-recurse { + type uint32; + description + "Local label to recurse over"; + } + leaf srv6-sid-to-recurse { + type inet:ipv6-address; + description + "SRv6 SID to recurse over"; + } + leaf detail-next-hop-prefix { + type string { + length "0..52"; + } + description + "Next hop prefix"; + } + leaf next-hop-mask-length { + type uint8; + description + "Next hop mask length"; + } + leaf interface-associated-path { + type xr:Interface-name; + description + "Interface associated with this path"; + } + leaf next-hop-interface { + type xr:Interface-name; + description + "Next hop interface"; + } + leaf next-hop-vrf { + type string; + description + "Next hop VRF"; + } + leaf tunnle-endpoint-id { + type uint32; + description + "Tunnel endpoint id"; + } + leaf lisprlocid { + type uint32; + description + "LISP RLOC ID"; + } + leaf number-of-dependencies-this-path { + type uint32; + description + "No. of dependents for this path"; + } + leaf robin-reset-value { + type uint8; + description + "Round robin reset value"; + } + leaf recurse-prefix-object { + type boolean; + description + "Is recursion object a leaf?"; + } + leaf next-prefix-recursion { + type string; + description + "Next prefix recursion in the path"; + } + leaf next-prefix-length { + type uint8; + description + "Next prefix length"; + } + leaf recurse-prefix-object2 { + type boolean; + description + "Recursion has two leaves (e.g. implicit-null + path)"; + } + leaf next-prefix-recursion2 { + type string; + description + "Next prefix2 recursion in the path"; + } + leaf next-prefix-length2 { + type uint8; + description + "Next prefix2 length"; + } + leaf detail-fib-adjacency-type { + type Fib-adjacency-show; + description + "FIB entry adjacency type"; + } + leaf current-path-flag { + type boolean; + description + "Current path flag"; + } + leaf recursive-path-information { + type boolean; + description + "Recursive path information is available"; + } + leaf external-adjacency { + type boolean; + description + "Path is an external adjacency"; + } + leaf fib-path-nh-information-type { + type Fib-neh; + description + "FIB Nhinfo type"; + } + leaf fib-path-nh-information-type-special { + type Fib-neh-special; + description + "FIB Nhinfo type special"; + } + leaf weight-of-path { + type uint32; + description + "Path's Weight"; + } + leaf tunnel-class { + type uint8; + description + "Tunnel class of the path"; + } + leaf tunnel-is-forward-class { + type boolean; + description + "Flag to indicate if the Tunnel is forward class"; + } + list spd-ipencap { + description + "IP Encap"; + uses FIB-SH-IPENCAP-DET; + } + list next-next-hop { + description + "Next Next hop sets"; + uses FIB-SH-TBL-NNH-PATH; + } + } + + grouping FIB-SH-TBL-PATH { + description + "Brief path information for FIB table entries"; + list fib-sh-tbl-path { + description + "Next entry in the path"; + container more-detail-about-path { + description + "More detail about this path entry"; + uses FIB-SH-TBL-PATH-DET; + } + container mpls-information-for-path { + description + "mpls info for this path entry"; + uses FIB-SH-TBL-PATH-MPLS-INFO; + } + container srv6-information-for-path { + description + "SRv6 info for this path entry"; + uses FIB-SH-TBL-PATH-SRV6-INFO; + } + leaf hardware-information { + type yang:hex-string; + description + "Hardware info"; + } + leaf brief-interface-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf brief-next-hop-prefix { + type string { + length "0..52"; + } + description + "Next hop prefix"; + } + leaf via-label-to-recurse { + type uint32; + description + "Local label to recurse over"; + } + leaf via-srv6-sid-to-recurse { + type inet:ipv6-address; + description + "SRv6 SID to recurse over"; + } + leaf brief-pnode-address { + type string { + length "0..52"; + } + description + "P-node address"; + } + leaf brief-qnode-address { + type string { + length "0..52"; + } + description + "Q-node address"; + } + leaf brief-lfa-protection-type { + type Fib-update-path-lfa-protection; + description + "LFA protection type"; + } + leaf resolved-path { + type boolean; + description + "Resolved path"; + } + leaf recursive-path { + type boolean; + description + "Recursive path"; + } + leaf packets-received-path { + type boolean; + description + "Packets received on this path"; + } + leaf attached-path { + type boolean; + description + "Attached path"; + } + leaf backup-path { + type boolean; + description + "Backup path"; + } + leaf best-external-path { + type boolean; + description + "Best external path"; + } + leaf protect-ignore { + type boolean; + description + "Is protection ignored"; + } + leaf path-dlb { + type boolean; + description + "Is this the path used for DLB"; + } + leaf path-flags { + type uint32; + description + "Path flags"; + } + leaf path-info-flags { + type uint16; + description + "Path Info flags"; + } + leaf path-index { + type uint8; + description + "Path index"; + } + leaf backup-index { + type uint8; + description + "Backup path index"; + } + leaf next-hop-index { + type uint32; + description + "Next Hop Index"; + } + leaf parent-interface-handle { + type xr:Interface-name; + description + "Parent Interface Handle"; + } + leaf recursionvia-len { + type uint8; + description + "recursion via /N constraint"; + } + } + } + + grouping FIB-ADDR-STR { + description + "FIB address"; + leaf address { + type string { + length "0..60"; + } + description + "address"; + } + } + + grouping FIB-SH-TBL-LOADINFO-INT { + description + "Internal load sharing information arrays for FIB + table entries"; + leaf level-ofldis { + type uint8; + description + "level of ldis"; + } + leaf number-of-ldis { + type uint8; + description + "no. of ldis"; + } + leaf maximum-index-arrays { + type uint32; + description + "Maximum index of the load sharing information + arrays"; + } + leaf maximum-slots { + type uint32; + description + "Maximum slots"; + } + leaf normalized-weights { + type yang:hex-string; + description + "Normalized weights"; + } + leaf tunnel-class-value { + type yang:hex-string; + description + "Tunnel class value"; + } + leaf is-pbts-info-valid { + type boolean; + description + "PBTS info valid flag"; + } + leaf pbts-class-offset { + type yang:hex-string; + description + "PBTS class offset"; + } + leaf pbts-class-num-paths { + type yang:hex-string; + description + "PBTS class num paths"; + } + leaf pbts-fallback-mapped-class { + type yang:hex-string; + description + "PBTS class falls back to class"; + } + leaf round-robin-disable { + type boolean; + description + "Flag to indicate if the Round Robin is Disabled + or not"; + } + leaf ldi-next-hop-buckets { + type uint8; + description + "Number of LDI next hop buckets"; + } + leaf platform-hardware-information { + type yang:hex-string; + description + "Platform Hardware info"; + } + list path-indice { + description + "Path indices"; + leaf entry { + type uint8; + description + "Path indices"; + } + } + list path-ldi-number { + description + "Path indices"; + leaf entry { + type uint8; + description + "Path indices"; + } + } + list sanity-flag { + description + "Sanity flag"; + leaf entry { + type boolean; + description + "Sanity flag"; + } + } + list interface-handle { + description + "Interface handle"; + leaf entry { + type xr:Interface-name; + description + "Interface handle"; + } + } + list weights-of-path { + description + "Paths Weights"; + leaf entry { + type uint32; + description + "Paths Weights"; + } + } + list adjacency-address { + description + "Adjacency address"; + uses FIB-ADDR-STR; + } + list pbts-class-is-fallback-mapped { + min-elements 9; + max-elements "9"; + description + "Does PBTS class fall back to drop or any class"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + list pbts-fallback-to-drop { + min-elements 9; + max-elements "9"; + description + "PBTS class falls back to drop"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + list tunnel-is-forward-class { + min-elements 256; + max-elements "256"; + description + "Flag to indicate if the Tunnel is forward class"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + } + + grouping FIB-SH-TBL-LOADINFO-DET { + description + "Detailed load sharing information for FIB table + entries"; + container load-informtion-internal-data { + description + "Loadinfo internal data"; + uses FIB-SH-TBL-LOADINFO-INT; + } + leaf packets-through-load-information { + type uint64; + description + "Packets through this loadinfo"; + } + leaf bytes-through-load-information { + type uint64; + units "byte"; + description + "Bytes through this loadinfo"; + } + leaf total-packets-through-load-information { + type uint64; + description + "Total packets through this loadinfo"; + } + leaf total-bytes-through-load-information { + type uint64; + units "byte"; + description + "Total bytes through this loadinfo"; + } + leaf prefix-of-owner { + type uint32; + description + "Owner's Prefix"; + } + leaf mask-length-of-owner { + type uint32; + description + "Owner Prefix Mask length"; + } + leaf load-information-reference-count { + type uint16; + description + "Loadinfo reference count"; + } + leaf per-dest-load-sharing-flag { + type boolean; + description + "Flag to indicate if the Per destination load + sharing flag is enabled"; + } + leaf load-information-owner-deleted-flag { + type boolean; + description + "Flag to indicate if the Loadinfo owner deleted + flag is enabled "; + } + leaf loadinfo-sanity-flag { + type boolean; + description + "Flag to indicate if the Loadinfo sanity flag is + enabled"; + } + leaf is-owner { + type boolean; + description + "Owner flag"; + } + } + + grouping FIB-SH-TBL-FIB-DET { + description + "Detailed FIB table entry information"; + container loadshare-information { + description + "Detailed Loadshare info"; + uses FIB-SH-TBL-LOADINFO-DET; + } + leaf fib-entry-version { + type uint32; + description + "FIB entry version number"; + } + leaf per-prefix-accounting { + type uint8; + description + "Per Prefix Accounting"; + } + leaf load-sharing-type { + type Fib-loadshare-show; + description + "Load sharing type"; + } + leaf fib-entry-adjacency-type { + type Fib-adjacency-show; + description + "FIB entry adjacency type"; + } + leaf fib-protocol-type { + type uint32; + description + "FIB Protocol type"; + } + leaf afi-fib-protocol-type { + type uint32; + description + "AFI FIB protocol type"; + } + leaf aib-l3-address { + type yang:hex-string; + description + "AIB L3 Address"; + } + leaf adjacency-address-length { + type uint32; + description + "ADJ ADDR LEN"; + } + leaf adjacency-interface { + type uint32; + description + "ADJ IFH"; + } + leaf fib-special-nh-information-type { + type uint32; + description + "FIB Special NHINFO Type"; + } + leaf fib-entry-adjacency-address { + type yang:hex-string; + description + "FIB entry adj address"; + } + leaf fib-entry-adjacency-interface { + type uint32; + description + "FIB entry adjacency interface"; + } + leaf packets-through-fib-entry { + type uint64; + description + "Packets through this FIB entry"; + } + leaf bytes-through-fib-entry { + type uint64; + units "byte"; + description + "Bytes through this FIB entry"; + } + leaf detailed-prefix-length { + type uint32; + description + "Prefix length"; + } + leaf prefix-protocol { + type uint32; + description + "Prefix protocol"; + } + leaf precedence-forpackets { + type uint8; + description + "Precedence for packets to this entry"; + } + leaf traffic-index-for-packets { + type uint8; + description + "Traffic index for packets to this entry"; + } + leaf switch-compontent-id { + type uint32; + description + "Switch function compontent ID"; + } + leaf fast-adjacency-flag { + type boolean; + description + "Fast adjacency flag"; + } + leaf illegal-fast-adjacency-flag { + type boolean; + description + "Illegal fast adjacency flag"; + } + leaf remote-adjacency-flag { + type boolean; + description + "Remote adjacency flag"; + } + leaf bgp-attribute-id { + type uint32; + description + "BGP attribute id"; + } + leaf bgp-local-attribute-id { + type uint32; + description + "BGP local attribute id"; + } + leaf bgp-attribute-local-preference { + type uint32; + description + "BGP attribute local preference of the path"; + } + leaf bgp-attribute-origin-as { + type uint32; + description + "BGP attribute origin as"; + } + leaf bgp-attribute-next-hop-as { + type uint32; + description + "BGP attribute next hop as"; + } + leaf path-string { + type string; + description + "As path string"; + } + leaf extcom-string { + type yang:hex-string; + description + "extcom st"; + } + leaf com-string { + type yang:hex-string; + description + "com st"; + } + leaf extended-community { + type uint32; + description + "extended community"; + } + leaf qos-group { + type uint32; + description + "Quality of Service Group"; + } + leaf mpls-fec { + type uint32; + description + "MPLS forwarding equivalence class"; + } + leaf qppb-qos-group-and-ip-precedence { + type uint32; + description + "QPPB quality of service group and IP precedence"; + } + leaf flow-tag { + type uint8; + description + "PBR flow-tag"; + } + leaf forward-class { + type uint8; + description + "SPP forwarding class ID"; + } + leaf pl-time-of-last-update-in-msec { + type uint64; + description + "The time of last update for PL in msec"; + } + leaf ldi-time-of-last-update-in-msec { + type uint64; + description + "The time of last update for LDI in msec"; + } + leaf lwldi-time-of-last-update-in-msec { + type uint64; + description + "The time of last update for LW-LDI in msec"; + } + leaf encap-id { + type uint64; + description + "Prefix EncapID"; + } + leaf pl-time-stamp-type { + type uint32; + description + "The type of time-stamp on PL"; + } + } + + grouping FIB-SH-TBL-FIB { + description + "Basic FIB table information"; + container detail-fib-entry-information { + description + "Detailed FIB entry information"; + uses FIB-SH-TBL-FIB-DET; + } + container fib-entry-path { + description + "FIB entry path details"; + uses FIB-SH-TBL-PATH; + } + container srv6-endpoint { + description + "SRv6 Endpoint behavior (if applicable)"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + leaf protocol-type-fib-entry { + type uint32; + description + "Proto type for this entry"; + } + leaf label-type { + type string { + length "0..16"; + } + description + "Local Label type"; + } + leaf platform-hardware { + type yang:hex-string; + description + "Platform Hardware info"; + } + leaf number-of-referances-to-path-list { + type uint32; + description + "Number of references to the pathlist"; + } + leaf path-list-flags { + type uint32; + description + "The pathlist flags"; + } + leaf path-list-source { + type uint32; + description + "The pathlist source"; + } + leaf number-of-referances-to-ldi { + type uint32; + description + "Number of references to the LDI"; + } + leaf ldi-flags { + type uint32; + description + "The LDI flags"; + } + leaf flags-external-ldi { + type uint32; + description + "The flags of ext assocaited with LDI "; + } + leaf pointer-external-ldi { + type uint32; + description + "The pointer to the ext assocaited with LDI"; + } + leaf exact-path-interface-handle { + type uint32; + description + "exact-path interface handle"; + } + leaf exact-path-gre-interface-handle { + type uint32; + description + "exact-path GRE physical interface handle"; + } + leaf exact-route-gre-phys-ifh-avail { + type boolean; + description + "exact-route GRE phy ifh available"; + } + leaf exact-route-result { + type boolean; + description + "exact-route result"; + } + leaf prefix-is-static-or-connected { + type boolean; + description + "Prefix is static or connected"; + } + leaf packet-should-recieve { + type boolean; + description + "Packet should always be received"; + } + leaf prefix-connected { + type boolean; + description + "Prefix is connected"; + } + leaf prefix-for-adjancency { + type boolean; + description + "Prefix is for an adjacency"; + } + leaf prefix-for-pic-next-hop { + type boolean; + description + "Prefix is for a PIC nexthop"; + } + leaf purgable-after-purge-interval { + type boolean; + description + "Purgable after the purge interval"; + } + leaf broadcast-recive-flag { + type boolean; + description + "Broadcast receive flag"; + } + leaf broadcast-forward-flag { + type boolean; + description + "Broadcast forward flag"; + } + leaf zero-by-zero-route-as-default { + type boolean; + description + "0/0 route added as default route"; + } + leaf external-switch-triggered { + type boolean; + description + "External switch function triggered"; + } + leaf route-attribute-flag { + type boolean; + description + "Route attributes summary flag"; + } + leaf dummy-real-zero-route { + type boolean; + description + "Dummy real zero route"; + } + leaf ldi-lw-flag { + type uint32; + description + "The LDI LW flags"; + } + leaf ref-counter-of-ldi-lw-ldi { + type uint32; + description + "The refcounter of LDI LW LDI"; + } + leaf type-of-ldi-lw-ldi { + type uint32; + description + "The type of LDI LW LDI"; + } + leaf lspa-flags { + type uint32; + description + "The LSPA flags"; + } + leaf version-of-route { + type uint64; + description + "The version of the route"; + } + leaf fib-route-download-priority { + type uint32; + description + "Priority at which the route was downloaded"; + } + leaf time-of-last-update-in-msec { + type uint64; + description + "The time of last update in msec"; + } + leaf l2-subscriber-route { + type boolean; + description + "Is L2 Subscriber route"; + } + leaf l2-subscriber-xconnect-id { + type uint32; + description + "XConnect-id associated with L2 subscriber"; + } + leaf l2-subscriber-flags { + type uint32; + description + "Flags associated with L2 subscriber"; + } + leaf l2-subscriber-ip-protocol { + type uint32; + description + "IP protocol associated with L2 subscriber"; + } + leaf l2tpv3-cookie-length-bits { + type uint32; + description + "L2TPv3 cookie length for L2 subscriber"; + } + leaf route-for-external-reach-linecard-flag { + type boolean; + description + "Route destined for Line Card that support + External Reach only"; + } + leaf route-source-not-preferred { + type boolean; + description + "The source of this route is not preferred over + other sources with the same prefix"; + } + leaf route-is-sr-flag { + type boolean; + description + "Route is a MPLS Segment-Routing prefix"; + } + leaf route-is-srv6-headend { + type boolean; + description + "This route is an SRv6 Head-end"; + } + leaf route-is-srv6-endpoint { + type boolean; + description + "This route is an SRv6 Endpoint"; + } + leaf internal-i-droute { + type boolean; + description + "Internal ID route"; + } + leaf internal-id-route-type { + type string; + description + "Internal ID route type"; + } + leaf prefix-is-in-oor-state { + type boolean; + description + "prefix is not installed in HW as platform + out-of-resource"; + } + leaf ldi-base-extended-flags { + type uint16; + description + "LDI Base Extended Flags"; + } + leaf lwldi-base-extended-flags { + type uint16; + description + "LWLDI Base Extended Flags"; + } + list extension-object { + description + "Leaf Extension Object List"; + uses FIB-SH-TBL-FIB-EXT-CMN-DET; + } + } + + grouping FIB-SH-TIMESPEC { + description + "FIB SH TIMESPEC"; + leaf seconds { + type int32; + description + "Seconds"; + } + leaf nano-seconds { + type int32; + description + "NanoSeconds"; + } + } + + grouping FIB-SH-FRR-LOG { + description + "FIB frr log information"; + container rrr-timestamp { + description + "FIB fast reroute timestamp"; + uses FIB-SH-TIMESPEC; + } + leaf frr-protocol-type { + type Fib-bag-protocol; + description + "FIB Protocol Type"; + } + leaf frr-interface-name { + type xr:Interface-name; + description + "Interface assoc w FRR nh"; + } + leaf frr-prefix { + type string { + length "0..52"; + } + description + "nh prefix"; + } + leaf frr-switching-time { + type uint32; + description + "FIB fast reroute switching time"; + } + leaf bundle-member-interface-name { + type xr:Interface-name; + description + "bundle member"; + } + } + + grouping FIB-SH-TBL-EXT-PL-SUM { + description + "FIB external client pathlist summary"; + leaf sep-num-ecd-pathlist { + type uint32; + description + "Number of ECD pathlists"; + } + leaf sep-num-ecd-pl-unresolved { + type uint32; + description + "Number of ECD pathlists unresolved"; + } + list sep-num-ecd-pl-per-interest { + max-elements "17"; + description + "Number of ECD pathlists per interest"; + leaf entry { + type uint32; + description + "Number of ECD pathlists per interest"; + } + } + } + + grouping FIB-SH-TBL-EXT-SUM-ALL { + description + "FIB external brief summary information across all + clients"; + container sesa-pl-sum { + description + "External pathlist summary"; + uses FIB-SH-TBL-EXT-PL-SUM; + } + leaf sesa-num-client { + type uint32; + description + "Client information"; + } + } + + grouping FIB-OBJECT-MARKER-INFO { + description + "FIB Object Marker Information"; + container object-base { + description + "Object Base"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf name { + type string; + description + "Marker Name"; + } + leaf active { + type boolean; + description + "Enabled"; + } + leaf need-timer { + type boolean; + description + "Need Timer Support"; + } + leaf need-wrap { + type boolean; + description + "Need Wrap Support"; + } + } + + grouping FIB-OBJECT-QUEUE-INFO { + description + "FIB Object Queue Information"; + container object-base { + description + "Object Base"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf name { + type string; + description + "Object Queue Name"; + } + leaf queue-id { + type uint32; + description + "Queue ID"; + } + leaf number-of-nodes { + type uint32; + description + "Number of Nodes"; + } + leaf number-of-special-nodes { + type uint32; + description + "Number of Special Nodes"; + } + list marker { + description + "Object Markers"; + uses FIB-OBJECT-MARKER-INFO; + } + } + + grouping FIB-RSRC-BAG { + description + "Hardware object resource availability"; + leaf resource-name { + type string; + description + "Resource Name"; + } + leaf resource-mode { + type Fib-rsrc-mode-bag; + description + "OOR mode for resource"; + } + } + + grouping FIB-SH-RSRC-AVAIL-STATE { + description + "FIB resource availability state"; + leaf resource-mode { + type Fib-rsrc-mode-bag; + description + "Current overall OOR mode"; + } + leaf hardware-resource-info { + type yang:hex-string; + description + "Opaque hardware resource state info"; + } + leaf shared-memory-oor-counter { + type uint8; + description + "Shared memory OOR count"; + } + leaf hardware-oor-counter { + type uint8; + description + "Hardware OOR count"; + } + leaf incoming-oor-timestamp { + type uint64; + description + "Incoming OOR timestamp"; + } + leaf outgoing-oor-timestamp { + type uint64; + description + "Outgoing OOR timestamp"; + } + list shared-memory-status { + description + "Current status of shared memory windows"; + uses FIB-SH-RSRC-SHM; + } + list hardware-resource-mode { + description + "Hardware object resource mode"; + uses FIB-RSRC-BAG; + } + } + + grouping FIB-GENERIC-INTF-LIST-DATA { + description + "Data related to generic interface list"; + leaf ild-name { + type string { + length "0..33"; + } + description + "Interface_list name"; + } + leaf ild-id { + type uint32; + description + "Interface_list id"; + } + leaf ild-ptr { + type uint32; + description + "Address of struct"; + } + leaf ild-flag { + type uint32; + description + "Flags"; + } + leaf ild-refcount { + type uint32; + description + "Ref count"; + } + leaf ild-ts { + type uint64; + description + "Last updated time stamp"; + } + leaf ild-interface-count { + type uint32; + description + "Total interfaces in the list"; + } + list ild-ifh { + description + "Array of members' IFhandle"; + leaf entry { + type xr:Interface-name; + description + "Array of members' IFhandle"; + } + } + } + + grouping FIB-SH-PFX-MASKLEN-CNT { + description + "FIB Prefix Masklength counts"; + leaf mask-length { + type uint8; + description + "FIB Prefix Mask length"; + } + leaf number-of-prefixes { + type uint32; + description + "Number of prefixes with given mask length"; + } + } + + grouping FIB-SH-PFX-MASKLEN-DISTRIB { + description + "FIB Prefix Masklengths distribution"; + list unicast-prefix { + description + "Masklength counts for unicast prefixes"; + uses FIB-SH-PFX-MASKLEN-CNT; + } + list broadcast-prefix { + description + "Masklength counts for broadcast prefixes"; + uses FIB-SH-PFX-MASKLEN-CNT; + } + list multicast-prefix { + description + "Masklength counts for multicast prefixes"; + uses FIB-SH-PFX-MASKLEN-CNT; + } + } + + grouping FIB-PL-LDI-COUNT { + description + "FIB Pathlist and Loadinfo summary"; + leaf total-load-sharing-element-bytes { + type uint32; + units "byte"; + description + "Total memory used by load sharing elements in + bytes"; + } + leaf total-load-sharing-element-references { + type uint64; + description + "Total count of references to load sharing + elements"; + } + leaf total-path-list-elements { + type uint32; + description + "Total count of Pathlist elements"; + } + leaf recursive-path-list-elements { + type uint32; + description + "Count of recursive Pathlist elements"; + } + leaf platform-shared-path-list-elements { + type uint32; + description + "Count of platform shared Pathlist elements"; + } + leaf retry-path-list-elements { + type uint32; + description + "Count of Pathlist elements in retry"; + } + leaf total-load-info-elements { + type uint32; + description + "Total count of Loadinfo elements"; + } + leaf recursive-load-info-elements { + type uint32; + description + "Count of recursive Loadinfo elements"; + } + leaf platform-shared-load-info-elements { + type uint32; + description + "Count of platform shared Loadinfo elements"; + } + leaf xpl-load-info-elements { + type uint32; + description + "Count of XPL Loadinfo elements"; + } + } + + grouping FIB-SH-SUM { + description + "FIB summary statistics"; + container exclusive-load-sharing-element { + description + "Exclusive load sharing element"; + uses FIB-PL-LDI-COUNT; + } + container shared-load-sharing-element { + description + "Shared load sharing element"; + uses FIB-PL-LDI-COUNT; + } + container cross-shared-load-sharing-element { + description + "Cross-table shared load sharing element"; + uses FIB-PL-LDI-COUNT; + } + container encap-shared-load-sharing-element { + description + "Encap-shared load sharing element"; + uses FIB-PL-LDI-COUNT; + } + container prefix-masklen-distribution { + description + "Distribution of prefix mask lengths"; + uses FIB-SH-PFX-MASKLEN-DISTRIB; + } + leaf prefix { + type yang:hex-string; + description + "The router-id"; + } + leaf ss-tbl-id { + type uint32; + description + "Table Id"; + } + leaf ss-tbl-id-ptr { + type uint32; + description + "Table Id Ptr"; + } + leaf ss-vrf-id { + type uint32; + description + "Virtual routing forwarding instance Id"; + } + leaf ss-vr-id { + type uint32; + description + "Virtual router instance Id"; + } + leaf load-balancing { + type Ss-lba-state; + description + "LBA configuration state"; + } + leaf forwarding-elements { + type uint32; + description + "Number of forwarding elements linked to the + table"; + } + leaf routes { + type uint32; + description + "Number of routes"; + } + leaf prefix-in-place-modifications { + type uint32; + description + "Number of inplace modifications"; + } + leaf stale-prefix-deletes { + type uint32; + description + "Number of deleted stale leafs"; + } + leaf load-sharing-elements { + type uint32; + description + "Count of load sharing elements"; + } + leaf load-sharing-references { + type uint64; + description + "Count of load sharing references"; + } + leaf total-load-share-element-bytes { + type uint32; + description + "Total memory used by load sharing elements"; + } + leaf leaves-used-bytes { + type uint32; + description + "Total memory used by leaves"; + } + leaf reresolve-entries { + type uint32; + description + "Number of reresolved entries"; + } + leaf old-unresolved-entries { + type uint32; + description + "Number of old unresolved entries"; + } + leaf new-unresolved-entries { + type uint32; + description + "Number of new unresolved entries"; + } + leaf unresolved-entries { + type uint32; + description + "Number of total unresolved entries"; + } + leaf cef-route-drops { + type uint32; + description + "Number of routes dropped by CEF"; + } + leaf cef-version-mismatch-route-drops { + type uint64; + description + "the number of routes dropped due to version + mismatch"; + } + leaf delete-cache-num-entries { + type uint32; + description + "Number of entries in the route delete cache"; + } + leaf existing-leaves-revisions { + type uint32; + description + "Number of entries present on addition"; + } + leaf fib-default-prefix { + type uint32; + description + "Default prefix"; + } + leaf fib-default-prefix-mask-length { + type uint32; + description + "Default prefix mask length"; + } + leaf next-hops { + type uint32; + description + "Number of NHINFOS"; + } + leaf incomplete-next-hops { + type uint32; + description + "Number of incomplete NHINFOS"; + } + leaf resolution-timer { + type uint32; + units "second"; + description + "IP CEF resolution timer in seconds"; + } + leaf slow-process-timer { + type uint32; + units "second"; + description + "IP CEF slow processing time in seconds"; + } + leaf max-resolution-timer { + type uint32; + units "second"; + description + "IP CEF max resolution time in seconds"; + } + leaf imposition-prefixes { + type uint32; + description + "Number of prefixes with imposition LDI"; + } + leaf extended-prefixes { + type uint32; + description + "Number of prefixes with extended path-list"; + } + leaf cefl-bl-recycled-routes { + type uint32; + description + "Number of routes updates with recycled label + handled"; + } + leaf ldi-backwalks { + type uint32; + description + "pd backwalks on LDI modify with backup path"; + } + leaf ss-prot-route-count { + type uint32; + description + "Number of routes with FRR protection"; + } + leaf lisp-eid-prefixes { + type uint32; + description + "Number of lisp eid prefixes associated with + table"; + } + leaf lisp-eid-valid-prefixes { + type uint32; + description + "Number of lisp eid prefixes eligible for + forwarding"; + } + leaf lisp-rloc-objects { + type uint32; + description + "Number of lisp rloc objects associated with + table"; + } + leaf number-routes-srv6-headend { + type uint32; + description + "Number of SRv6 headend routes"; + } + leaf number-routes-srv6-endpoint { + type uint32; + description + "Number of SRv6 endpoint routes"; + } + leaf number-of-sr-labels { + type uint32; + description + "Number of SR labels"; + } + leaf ss-drop-pl-count { + type uint32; + description + "Number of dropped pathlists"; + } + } + + grouping FIB-AIB-EOD-RECVD-TS { + description + "FIB AIB EOD received timestamp"; + leaf aib-type { + type Fib-aib-adjacency; + description + "AIB requested type"; + } + leaf aib-adjacency-flags { + type uint32; + description + "AIB adjacency request flags"; + } + leaf aibeod-timestamp { + type string; + description + "AIB EOD Timestamp"; + } + leaf aib-register-timestamp { + type string; + description + "AIB Register Timestamp"; + } + } + + grouping FIB-AIB-EOD-RECVD-TS-AFI { + description + "FIB AIB EOD timestamp per AFI"; + leaf aibeodafi { + type Fib-bag-protocol; + description + "FIB AIB EOD Address Family"; + } + list aibeodtx-timestamp { + description + "FIB AIB Tx EODs"; + uses FIB-AIB-EOD-RECVD-TS; + } + list aibeodrx-timestamp { + description + "FIB AIB Rx EODs"; + uses FIB-AIB-EOD-RECVD-TS; + } + } + + grouping FIB-ISSU-PROTO-STATE { + description + "FIB ISSU protocol state"; + leaf protocol-name { + type string { + length "0..6"; + } + description + "FIB ISSU Protocol name"; + } + leaf rsi-eod-valid { + type boolean; + description + "RSI EOD expected/valid"; + } + leaf rsi-eod-time-stamp { + type string { + length "0..33"; + } + description + "RSI EOD received timestamp"; + } + leaf lsd-eod-valid { + type boolean; + description + "LSD EOD expected/valid"; + } + leaf lsd-eod-time-stamp { + type string { + length "0..33"; + } + description + "LSD EOD received timestamp"; + } + leaf lmrib-eod-valid { + type boolean; + description + "LMRIB EOD expected/valid"; + } + leaf lmrib-eod-time-stamp { + type string { + length "0..33"; + } + description + "LMRIB EOD received timestamp"; + } + leaf rib-info-valid { + type boolean; + description + "RIB table info valid"; + } + leaf bcdl-tables { + type uint32; + description + "Number of BCDL tables"; + } + leaf converged-tables { + type uint32; + description + "Number of tables converged"; + } + leaf rib-tables-converged-time-stamp { + type string { + length "0..33"; + } + description + "The converged timestamp for all rib tables"; + } + leaf protocol-eod-valid { + type boolean; + description + "Protocol EOD expected/valid"; + } + leaf protocol-eod-time-stamp { + type string { + length "0..33"; + } + description + "Protocol EOD sent timestamp"; + } + list aibeodafi-timestamp { + description + "FIB AIB EODs"; + uses FIB-AIB-EOD-RECVD-TS-AFI; + } + } + + grouping FIB-ISSU-STATE { + description + "FIB ISSU state"; + leaf imdr-support { + type boolean; + description + "IMDR supported"; + } + leaf slc-support { + type boolean; + description + "SLC supported"; + } + leaf fis-issu-restart { + type boolean; + description + "ISSU restart"; + } + leaf imdr-eoc-implicit { + type boolean; + description + "IMDR End-of-config implicit"; + } + leaf slc-eoc-implicit { + type boolean; + description + "SLC End-of-config implicit"; + } + leaf eoc-received-imdr-time-stamp { + type string { + length "0..33"; + } + description + "End-of-config received from IMDR timestamp"; + } + leaf eoc-received-slc-time-stamp { + type string { + length "0..33"; + } + description + "End-of-config received from SLC timestamp"; + } + leaf eod-received-im-time-stamp { + type string { + length "0..33"; + } + description + "End-of-download received from IM timestamp"; + } + leaf eod-sent-imdr-time-stamp { + type string { + length "0..33"; + } + description + "End-of-download send to IMDR timestamp"; + } + leaf eod-sent-slc-time-stamp { + type string { + length "0..33"; + } + description + "End-of-download send to SLC timestamp"; + } + leaf fis-issu-error-ts { + type uint64; + description + "ISSU error sent to ISSUMGR timetstamp"; + } + list fis-proto-state { + max-elements "3"; + description + "IMDR state for the protocols"; + uses FIB-ISSU-PROTO-STATE; + } + } + + grouping FIB-RSRC-OOR-BAG { + description + "Hardware object resource out of resource"; + leaf oor-resource-name { + type string; + description + "OOR resource name"; + } + leaf oor-resource-mode { + type Fib-rsrc-mode-bag; + description + "OOR mode for resource"; + } + leaf oor-resource-counter { + type uint32; + description + "Object OOR counters"; + } + } + + grouping FIB-SH-RSRC-SHM { + description + "Shared memory availability"; + leaf shared-memory-window { + type Fib-bag-shmwin; + description + "Shared Memory Window Type"; + } + leaf resource-mode { + type Fib-rsrc-mode-bag; + description + "OOR mode for this shared memory window"; + } + leaf average-bytes-available { + type uint64; + units "byte"; + description + "Average number of bytes available"; + } + leaf maximum-bytes-available { + type uint64; + units "byte"; + description + "Maximum bytes available"; + } + } + + grouping FIB-SH-RSRC-AVAIL-OOR-STATE { + description + "FIB resource availability state"; + list shared-memory-status { + description + "Shared memory out of resource"; + uses FIB-SH-RSRC-SHM; + } + list hardware-resource-mode { + description + "Hardware objects resource out of resource"; + uses FIB-RSRC-OOR-BAG; + } + } + + grouping FIB-RETRY-DB-INFO { + description + "FIB Retry DB information"; + leaf retry-flags { + type uint32; + description + "FIB Retry flags"; + } + leaf retry-count { + type uint32; + description + "FIB Retry count"; + } + leaf error-code { + type uint32; + description + "Error Code"; + } + leaf retry-object-info { + type string; + description + "FIB Object String"; + } + leaf retry-fib-object-type { + type string; + description + "FIB Object type"; + } + leaf retry-timestamp { + type string; + description + "FIB Retry timestamp"; + } + leaf retry-sched-class { + type Fib-retry-entry-bag-sched-class; + description + "FIB Retry scheduling class"; + } + } + + grouping FIB-IP-ADDR-T-UNION { + description + "FIB IP ADDR T UNION"; + leaf afi { + type Fib-common-af-id; + description + "AFI"; + } + leaf none { + when "../afi = 'none'" { + description + "../AFI = 'None'"; + } + type uint8; + description + "No address family"; + } + leaf ipv4 { + when "../afi = 'ipv4'" { + description + "../AFI = 'IPv4'"; + } + type Fib-common-in-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../afi = 'ipv6'" { + description + "../AFI = 'IPv6'"; + } + type Fib-common-in6-addr; + description + "IPv6 address type"; + } + } + + grouping FIB-COMMON-LTEP-ENTRY { + description + "FIB LTEP Entry Info"; + container source-address-xr { + description + "Source address"; + uses FIB-IP-ADDR-T-UNION; + } + leaf tunnel-type-xr { + type Fib-common-ipvpn-tunnel; + description + "Tunnel type"; + } + leaf underlay-table-id-xr { + type uint32; + description + "Underlay table Id"; + } + leaf hardware-info { + type yang:hex-string; + description + "Hardware Info"; + } + leaf ltep-internal { + type string; + description + "Internal representation of an LTEP Object"; + } + leaf stat-id { + type uint64; + description + "Stats ID"; + } + leaf vxlan-vni-id-xr { + type uint32; + description + "VXLAN VNI Id"; + } + } + + grouping FIB-OBJECT-ENCAP-ID-CHILD { + description + "FIB Encap ID Object Child Information"; + container object-base { + description + "Object Base"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf key-string { + type string; + description + "Object String Key"; + } + } + + grouping FIB-OBJECT-ENCAP-ID-INFO { + description + "FIB Encap ID Object Information"; + container object-base { + description + "Object Base"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf encap-id-xr { + type uint64; + description + "Encap ID"; + } + leaf key-string { + type string; + description + "Encap Object Key"; + } + leaf meta-data { + type uint64; + description + "PD Meta Data"; + } + list conflict-children { + description + "Conflict Children"; + uses FIB-OBJECT-ENCAP-ID-CHILD; + } + list non-conflict-children { + description + "NonConflict Children"; + uses FIB-OBJECT-ENCAP-ID-CHILD; + } + } + + grouping FIB-ENCAP-ID-SUMMARY { + description + "FIB Encap ID Summary"; + leaf number-of-encap-id { + type uint32; + description + "Number of Encap ID"; + } + leaf number-of-encap-id-conflict { + type uint32; + description + "Number of Encap IDs have conflicts"; + } + leaf number-of-conflict-child { + type uint32; + description + "Number of Conflict Children"; + } + leaf number-of-non-conflict-child { + type uint32; + description + "Number of NonConflict Children"; + } + leaf number-of-incomplete { + type uint32; + description + "Number of incomplete Encap ID objects"; + } + } + + grouping FIB-SH-FIB-OBJ-BASE { + description + "FIB object base information"; + leaf object-reference-count { + type uint32; + description + "FIB Object Reference Count"; + } + leaf object-flags { + type uint32; + description + "FIB Object flags"; + } + leaf object-type { + type uint8; + description + "FIB Object type"; + } + leaf object-time-stamp { + type uint64; + description + "FIB Object TimeStamp in msec"; + } + leaf object-pointer { + type uint64; + description + "FIB Object pointer"; + } + leaf object-id { + type uint64; + description + "FIB Object ID"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub5.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub5.yang new file mode 100644 index 000000000..87f13aff7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub5.yang @@ -0,0 +1,658 @@ +submodule Cisco-IOS-XR-fib-common-oper-sub5 { + belongs-to Cisco-IOS-XR-fib-common-oper { + prefix Cisco-IOS-XR-fib-common-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fib-common-oper-sub4 { + revision-date 2023-02-06; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fib-bag-adjacency { + type enumeration { + enum "none" { + description + "Invalid adjacency type"; + } + enum "tx-nh" { + description + "TX Nhinfo"; + } + enum "tx-interface" { + description + "TX Interface"; + } + } + description + "Type of Adjacency"; + } + + typedef Fib-bag-adjaceny-app { + type enumeration { + enum "none" { + description + "None type"; + } + enum "rsvp-te" { + description + "RSVP-TE type"; + } + enum "sr-mpls" { + description + "SR-MPLS type"; + } + enum "bundle-member" { + description + "Bundle-Member type"; + } + } + description + "Application type of Adjacency"; + } + + typedef Fib-global-aggregation-bag { + type enumeration { + enum "aggregation-type-state" { + description + "Aggregation OOR and ERROR State"; + } + enum "aggregation-type-adj" { + description + "Aggregation Adj Replication"; + } + } + description + "FIB Aggregation bag type"; + } + + typedef Fib-bag-ao-attribute { + type enumeration { + enum "none" { + description + "Invalid attribute type"; + } + enum "error" { + description + "Error type attribute"; + } + enum "out-of-resource" { + description + "Out-of-Resource type attribute"; + } + enum "adjacency" { + description + "Adjacency type attribute"; + } + enum "attribute-count" { + description + "Number of attributes"; + } + } + description + "Attribute types for the Aggregation Object (AO)"; + } + + typedef Fib-glbl-bag-protocol { + type enumeration { + enum "ipv4" { + description + "IPv4 Protocol"; + } + enum "ipv6" { + description + "IPv6 Protocol"; + } + enum "mpls" { + description + "MPLS Protocol"; + } + } + description + "Global Protocol definitions for FIB Bags"; + } + + grouping FIB-GLOBAL-CLIENT { + description + "FIB GLOBAL CLIENT"; + leaf client-id-xr { + type uint32; + description + "Client ID"; + } + leaf node-id { + type uint32; + description + "Location of the client"; + } + leaf client-name { + type string; + description + "Client name"; + } + leaf create-time { + type uint64; + description + "Time of creation"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-SUMMARY { + description + "FIB Aggregation Summary"; + leaf total { + type uint32; + description + "Total number of Aggregations"; + } + leaf total-ipv4 { + type uint32; + description + "Total number of Aggregations of V4"; + } + leaf total-ipv6 { + type uint32; + description + "Total number of Aggregations of V6"; + } + leaf total-adj-ipv4 { + type uint32; + description + "Total number of V4 Adjacency Replications"; + } + leaf total-adj-ipv6 { + type uint32; + description + "Total number of V6 Adjacency Replications"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-ADJ-REPL-ATTR-EXT { + description + "FIB Aggregation Data of Adjacency Replication"; + leaf bit-mask-string { + type string; + description + "Adjacency bit mask"; + } + leaf mac-length { + type uint32; + description + "Adjacency MAC length"; + } + leaf mac-string { + type string; + description + "Adjacency MAC string"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-ATTR-EXT { + description + "FIB GLOBAL AGGREGATION ATTR EXT"; + container adjacency-attribute-extension { + when "../type = 'aggregation-type-adj'" { + description + "../type = 'AggregationTypeAdj'"; + } + description + "adjacency attribute extension"; + uses FIB-GLOBAL-AGGREGATION-ADJ-REPL-ATTR-EXT; + } + leaf type { + type Fib-global-aggregation-bag; + description + "type"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-ATTR { + description + "FIB Aggregation Attribute"; + leaf node-id { + type uint32; + description + "NodeID of Aggregation Info from"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-ADJ-REPL-KEY-EXT { + description + "FIB Aggregation Key-Ext of Adjacency Replication"; + leaf interface-name { + type xr:Interface-name; + description + "Adjacency Replication Interface"; + } + leaf is-mpls { + type boolean; + description + "Adjacency Replication Is MPLS"; + } + leaf nh-address { + type string; + description + "Next-hop address"; + } + leaf application-type { + type Fib-bag-adjaceny-app; + description + "NH Replication type"; + } + leaf adjacency-type { + type Fib-bag-adjacency; + description + "Adjacency type"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-KEY-EXT { + description + "FIB GLOBAL AGGREGATION KEY EXT"; + container adjacency-key-extension { + when "../type = 'aggregation-type-adj'" { + description + "../type = 'AggregationTypeAdj'"; + } + description + "adjacency key extension"; + uses FIB-GLOBAL-AGGREGATION-ADJ-REPL-KEY-EXT; + } + leaf type { + type Fib-global-aggregation-bag; + description + "type"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-KEY { + description + "FIB Aggregation Key"; + leaf protocol { + type Fib-glbl-bag-protocol; + description + "Aggregation AFI Protocol"; + } + leaf object-type { + type Fib-bag-object; + description + "Aggregation Object Type"; + } + leaf attribute-type { + type Fib-bag-ao-attribute; + description + "Aggregation Attribute Type"; + } + } + + grouping FIB-GLOBAL-AGGREGATION-ENTRY { + description + "FIB Aggregation Entry Info"; + container key { + description + "Aggregation Key"; + uses FIB-GLOBAL-AGGREGATION-KEY; + } + container key-extension { + description + "Aggregation Key Extension"; + uses FIB-GLOBAL-AGGREGATION-KEY-EXT; + } + list attribute { + description + "Aggregation Attributes"; + uses FIB-GLOBAL-AGGREGATION-ATTR; + } + list attribute-extension { + description + "Aggregation Attributes Ext"; + uses FIB-GLOBAL-AGGREGATION-ATTR-EXT; + } + } + + grouping FIB-GLOBAL-LTEP-NVE-ENTRY { + description + "FIB LTEP NVE Entry Info"; + container ltep { + description + "LTEP"; + uses FIB-COMMON-LTEP-ENTRY; + } + leaf table-id-xr { + type uint32; + description + "Table Id"; + } + leaf nve-interface-id-xr { + type uint32; + description + "NVE interface ID"; + } + leaf vni-id-xr { + type uint32; + description + "VNI Id"; + } + } + + grouping FIB-GLOBAL-SUMMARY-OBJ-HISTORY { + description + "FIB Global summary object history"; + leaf count { + type uint32; + description + "Placeholder for obj history counts"; + } + } + + grouping FIB-GLOBAL-SUMMARY-OBJ-HISTORY-PROTO { + description + "FIB GLOBAL SUMMARY OBJ HISTORY PROTO"; + container base-object { + description + "Base object"; + uses FIB-GLOBAL-BASE-ST; + } + container object-history { + description + "Obj History"; + uses FIB-GLOBAL-SUMMARY-OBJ-HISTORY; + } + } + + grouping FIB-GLOBAL-SUMMARY-HEALTH { + description + "FIB Global summary health"; + leaf is-retry-db-empty { + type boolean; + description + "Boolean to indicate if the retry database is + empty or not"; + } + } + + grouping FIB-GLOBAL-BASE-ST { + description + "FIB Global Base st"; + leaf protocol { + type uint32; + description + "Fib Global base protocol"; + } + } + + grouping FIB-GLOBAL-SUMMARY { + description + "FIB Global summary"; + container base-object { + description + "Base object"; + uses FIB-GLOBAL-BASE-ST; + } + container summary-counts { + description + "Global Summary counts"; + uses FIB-GLOBAL-SUMMARY-COUNTS; + } + container health { + description + "Global summary health"; + uses FIB-GLOBAL-SUMMARY-HEALTH; + } + } + + grouping FIB-GLOBAL-SUMMARY-PROTO { + description + "FIB GLOBAL SUMMARY PROTO"; + container common-info { + description + "Common Info"; + uses FIB-GLOBAL-SUMMARY-COMMON-INFO; + } + container summary { + description + "Global summary"; + uses FIB-GLOBAL-SUMMARY; + } + } + + grouping FIB-BAG-SUM-OBJ { + description + "Object summary"; + container object-attributes { + description + "Object's attributes"; + uses FIB-BAG-SUM-OBJ-ATTR; + } + leaf object-type { + type uint32; + description + "Object type"; + } + leaf object-name { + type string; + description + "Object name"; + } + } + + grouping FIB-BAG-SUM-OBJ-ATTR { + description + "Object summary attributes"; + list fsum-attr-cnt { + max-elements "4"; + description + "fsum attr cnt"; + leaf entry { + type uint32; + description + "fsum attr cnt"; + } + } + } + + grouping FIB-BAG-GLBL-SUM { + description + "FIB BAG GLBL SUM"; + container obj-attr { + description + "Aggregate Summary across protocols"; + uses FIB-BAG-SUM-OBJ-ATTR; + } + } + + grouping FIB-GLOBAL-NUM-OBJECTS-ST { + description + "FIB Global summary num retries"; + leaf object-type { + type string { + length "0..30"; + } + description + "object"; + } + leaf num-objects { + type uint32; + description + "number of elements for this obj type"; + } + } + + grouping FIB-GLOBAL-NUM-RETRIES-ST { + description + "FIB Global summary num retries"; + leaf retry-object-type { + type string { + length "0..30"; + } + description + "retry object"; + } + leaf num-retries { + type uint64; + description + "number of elements for this obj type in retry db"; + } + } + + grouping FIB-GLOBAL-SUMMARY-COUNTS { + description + "FIB Global summary counts"; + leaf num-retry-timeouts { + type uint64; + description + "number of retry timeouts"; + } + leaf num-retry-objects { + type uint32; + description + "number of elements in retry db"; + } + list array-number-of-retry { + description + "number of objects in retry db"; + uses FIB-GLOBAL-NUM-RETRIES-ST; + } + list array-number-of-object { + description + "total number of objects"; + uses FIB-GLOBAL-NUM-OBJECTS-ST; + } + } + + grouping FIB-GLOBAL-SUMMARY-COMMON-INFO { + description + "FIB Global summary common"; + leaf count { + type uint32; + description + "Placeholder for common info counts"; + } + } + + grouping FIB-GLOBAL-SUMMARY-TOTAL { + description + "FIB GLOBAL SUMMARY TOTAL"; + container common-info { + description + "FIB global Summary Common info"; + uses FIB-GLOBAL-SUMMARY-COMMON-INFO; + } + container total-counters { + description + "Aggregate counters of all protocols"; + uses FIB-GLOBAL-SUMMARY-COUNTS; + } + container global-summary { + description + "Global Summary"; + uses FIB-BAG-GLBL-SUM; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub6.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub6.yang new file mode 100644 index 000000000..70cf9b5a9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub6.yang @@ -0,0 +1,332 @@ +submodule Cisco-IOS-XR-fib-common-oper-sub6 { + belongs-to Cisco-IOS-XR-fib-common-oper { + prefix Cisco-IOS-XR-fib-common-oper; + } + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fib-common-oper-sub4 { + revision-date 2023-02-06; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FIB-SH-COFO-TBL-ID-PER-SDR { + description + "FIB SH COFO TBL ID PER SDR"; + leaf sdrid { + type uint32; + description + "SDR ID"; + } + leaf num-ofipv4-tables { + type uint16; + description + "Number of Tables for IPv4"; + } + leaf num-ofipv6-tables { + type uint16; + description + "Number of Tables for IPv6"; + } + leaf num-ofmpls-tables { + type uint16; + description + "Number of Tables for MPLS"; + } + } + + grouping FIB-SH-COFO-TBL-ID-DB-SUM { + description + "FIB cofo table id summary information"; + leaf number-of-tbl-id-allocated { + type uint32; + description + "Number of Table Id Allocated"; + } + leaf tbl-id-minimum { + type uint32; + description + "Minimum Table Id in Range"; + } + leaf tbl-id-maximum { + type uint32; + description + "Maximum Table Id in Range"; + } + leaf tbl-id-last-allocated { + type uint32; + description + "Last Table Id Allocated"; + } + leaf tbl-id-default-v4 { + type uint32; + description + "COFO default V4 Table Id"; + } + leaf tbl-id-default-v6 { + type uint32; + description + "COFO default V6 Table Id"; + } + leaf number-of-tbl-id-in-gc { + type uint32; + description + "Number of Table Id in Garbage Collection List"; + } + list per-sdr-stat { + description + "Per SDR statistics"; + uses FIB-SH-COFO-TBL-ID-PER-SDR; + } + } + + grouping FIB-SH-COFO-TBL-ID-ENTRY-INFO { + description + "FIB cofo table id information"; + container object-base { + description + "FIB Object Base information"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf sdrid { + type uint32; + description + "SDR ID"; + } + leaf protocol-type { + type uint32; + description + "FIB Cofo Protocol"; + } + leaf route-distinguisher { + type yang:hex-string; + description + "Route Distinguisher"; + } + leaf table-id-xr { + type uint32; + description + "Table ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-pointer { + type uint64; + description + "Table Pointer"; + } + } + + grouping FIB-SH-COFO-IDB-BUNDLE-MEMBER-INFO { + description + "FIB SH COFO IDB BUNDLE MEMBER INFO"; + leaf intf-index { + type uint32; + description + "Interface Index"; + } + leaf unique-id { + type uint8; + description + "Unique Identifier"; + } + leaf order-num { + type uint8; + description + "Link Order Number"; + } + leaf weight { + type uint8; + description + "Member Weight"; + } + leaf pic { + type uint64; + description + "Port Information Context"; + } + } + + grouping FIB-SH-COFO-IDB-TBL-ENTRY-INFO { + description + "FIB cofo idb entry information"; + container object-base { + description + "FIB Object Base information"; + uses FIB-SH-FIB-OBJ-BASE; + } + leaf sdrid { + type uint32; + description + "SDR ID"; + } + leaf intf-type { + type uint32; + description + "Interface Type"; + } + leaf intf-index { + type uint32; + description + "Interface Index"; + } + leaf intf-state { + type uint32; + description + "Interface State"; + } + leaf parent-intf-index { + type uint32; + description + "Parent Interface Index"; + } + leaf parent-intf-type { + type uint32; + description + "Parent Interface Type"; + } + leaf bundle-member-total-weight { + type uint16; + description + "Bundle Member Interface Total Weight"; + } + leaf main-pointer { + type uint64; + description + "Main Interface Pointer"; + } + leaf table-pointer { + type uint64; + description + "Table Pointer"; + } + leaf hardware-handle { + type uint64; + description + "FIB Cofo Hardware Handle"; + } + leaf intf-name { + type string; + description + "Interface Name"; + } + leaf-list pic { + type uint64; + description + "Port Information Context"; + } + list bundle-member-info { + description + "Bundle Member Info"; + uses FIB-SH-COFO-IDB-BUNDLE-MEMBER-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub7.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub7.yang new file mode 100644 index 000000000..a4ded8ecb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper-sub7.yang @@ -0,0 +1,241 @@ +submodule Cisco-IOS-XR-fib-common-oper-sub7 { + belongs-to Cisco-IOS-XR-fib-common-oper { + prefix Cisco-IOS-XR-fib-common-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FIB-STATISTICS-BAG-DROPS { + description + "FIB drop statistics"; + leaf no-route-packets { + type uint64; + description + "Fib stats for no route pkts"; + } + leaf punt-unreachable-packets { + type uint64; + description + "Punt generate unreach pkt"; + } + leaf df-unreachable-packets { + type uint64; + description + "DF unreachable pkt"; + } + leaf encapsulation-failure-packets { + type uint64; + description + "Fib stats for encapsulation failure pkts"; + } + leaf incomplete-adjacency-packets { + type uint64; + description + "Fib stats for incomplete adjacency pkts"; + } + leaf unresolved-prefix-packets { + type uint64; + description + "Fib stats for unresolved prefix pkts"; + } + leaf unsupported-feature-packets { + type uint64; + description + "Fib stats for unsupported feature pkt"; + } + leaf discard-packets { + type uint64; + description + "Fib stats for discarded pkts"; + } + leaf checksum-error-packets { + type uint64; + description + "Fib stats for checksum error pkts"; + } + leaf fragmenation-consumed-packets { + type uint64; + description + "frag consumed packet pkt"; + } + leaf fragmenation-failure-packets { + type uint64; + description + "Fib stats for fragmenation failure pkt"; + } + leaf null-packets { + type uint64; + description + "null0 pkt"; + } + leaf rpf-check-failure-packets { + type uint64; + description + "RPF check failures pkt"; + } + leaf acl-in-rpf-packets { + type uint64; + description + "ACL in RPF pkt"; + } + leaf rp-destination-drop-packets { + type uint64; + description + "rp dest drop pkt"; + } + leaf total-number-of-drop-packets { + type uint64; + description + "Fib stats for the total number of dropped pkts"; + } + leaf mpls-disabled-interface { + type uint64; + description + "Fib number of drops for mpls disabled interfaces"; + } + leaf gre-lookup-failed-drop { + type uint64; + description + "GRE tunnel lookup failed drop pkt"; + } + leaf gre-error-drop { + type uint64; + description + "GRE processing errors"; + } + leaf lisp-punt-drops { + type uint64; + description + "LISP Punt drops"; + } + leaf lisp-encap-error-drops { + type uint64; + description + "Fib stats for Lisp encap error drops"; + } + leaf lisp-decap-error-drops { + type uint64; + description + "Fib stats for Lisp decap error drops"; + } + leaf multi-label-drops { + type uint64; + description + "Drops for the packets with multi[le labels"; + } + leaf unreachable-sr-label-drops { + type uint64; + description + "No route or unresolved route of MPLS SR labels"; + } + leaf ttl-expired-sr-label-drops { + type uint64; + description + "TTL expired drops of MPLS SR labels"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper.yang new file mode 100644 index 000000000..08174c38f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fib-common-oper.yang @@ -0,0 +1,3599 @@ +module Cisco-IOS-XR-fib-common-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fib-common-oper"; + prefix fib-common-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fib-common-oper-sub7 { + revision-date 2023-02-06; + } + include Cisco-IOS-XR-fib-common-oper-sub6 { + revision-date 2023-02-06; + } + include Cisco-IOS-XR-fib-common-oper-sub5 { + revision-date 2023-02-06; + } + include Cisco-IOS-XR-fib-common-oper-sub4 { + revision-date 2023-02-06; + } + include Cisco-IOS-XR-fib-common-oper-sub3 { + revision-date 2023-02-06; + } + include Cisco-IOS-XR-fib-common-oper-sub2 { + revision-date 2023-02-06; + } + include Cisco-IOS-XR-fib-common-oper-sub1 { + revision-date 2023-02-06; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fib-common package operational data. + + This module contains definitions + for the following management objects: + fib-statistics: cef interface drops operational data + fib: FIB operational data + oc-aft-l3: Openconfig L3 abstract forwarding table data + mpls-forwarding: MPLS forwarding operational data + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-06 { + description + "Added disable-rfc5549-ipv4-over-ipv6-nexthop platform capability. + 2022-10-17 + CNHG changes + 2022-04-27 + Added vxlan-vni-id to ltep-tunnel + 2022-03-15 + Added vxlan-tunnels + 2022-02-01 + Added policy and hardware ingress and egress paths + 2021-11-26 + Added ltep-tunnels and hardware ingress and egress paths + 2021-11-05 + Added rtep-tunnels and hardware ingress and egress paths + 2021-11-03 + Added ltep-nve-tunnels hardware ingress and egress paths + 2021-10-23 + Added ltep-nve-tunnels and added object-id to object-base"; + semver:module-version "4.0.1M"; + } + revision 2021-10-17 { + description + "Modify the type of list fsum-attr-cnt + 2021-09-17 + Rename lists unicast-prefix, broadcast-prefix and leafs num-retry-objects, old-unresolved-entries, new-unresolved-entries, unresolved-entries + 2021-07-30 + Added evpn bridge ID and SHG ID to srv6-information-for-path bag + 2021-07-06 + Added global-main subtree and support show CLIs for FIB IPC infra + 2021-05-25 + Migrate NHINFO to TI infra"; + semver:module-version "4.0.0"; + } + revision 2020-12-02 { + description + "Adding per-object accounting. + 2020-10-20 + NBC documentation of CSCvu06764, CSCvv14573,CSCvv76648 + 2020-05-26 + Update SRv6 Block Space naming convention + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "3.0.0"; + } + revision 2020-01-16 { + description + "NBC documentation of CSCvs27272,CSCvs22018,CSCvs45512 + 2019-10-29 + Updated srv6 global bag"; + semver:module-version "2.0.0"; + } + revision 2019-09-27 { + description + "IOS XR 7.0.x revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Fixed schema descriptions."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-20 { + description + "IOS XR 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fib-route-source { + type enumeration { + enum "lsd" { + value 5; + description + "LSD"; + } + enum "rib" { + value 7; + description + "RIB"; + } + enum "mrib" { + value 14; + description + "MRIB"; + } + } + description + "Fib route source"; + } + + typedef Fib-protocol { + type enumeration { + enum "ipv4" { + value 0; + description + "ipv4 protocol"; + } + enum "ipv6" { + value 1; + description + "ipv6 protocol"; + } + enum "mpls" { + value 2; + description + "MPLS protocol"; + } + } + description + "Fib protocol"; + } + + typedef Exact-route-flags-un-res { + type enumeration { + enum "prefix-unres-flg-off" { + value 0; + description + "flag prefix unresolved off"; + } + enum "prefix-unres-flg-on" { + value 128; + description + "show flag prefix unresolved"; + } + } + description + "Exact route flags un res"; + } + + typedef Fib-object { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "adjacency" { + value 8; + description + "NHINFO"; + } + enum "all" { + value 23; + description + "ALL"; + } + } + description + "Fib object"; + } + + typedef Fibipv6-flow-label { + type uint32 { + range "0..1048575"; + } + description + "Fibipv6 flow label"; + } + + typedef Ipvpn-tunnel { + type enumeration { + enum "ipvpn-tunnel-type-invalid" { + value 0; + description + "Invalid"; + } + enum "ipvpn-tunnel-type-l2tp" { + value 1; + description + "l2tpv3"; + } + enum "ipvpn-tunnel-type-mgre" { + value 2; + description + "merge"; + } + enum "ipvpn-tunnel-type-vxlan-l2" { + value 3; + description + "vxlan l2"; + } + enum "ipvpn-tunnel-type-gre" { + value 4; + description + "gre"; + } + enum "ipvpn-tunnel-type-ip" { + value 5; + description + "ip"; + } + enum "ipvpn-tunnel-type-te" { + value 6; + description + "te"; + } + enum "ipvpn-tunnel-type-vxlan-l3" { + value 7; + description + "vxlan l3"; + } + enum "ipvpn-tunnel-type-vxlan-l3-sfi" { + value 8; + description + "vxlan l3 sfi"; + } + enum "ipvpn-tunnel-type-mpl-so-udp" { + value 9; + description + "mpls udp"; + } + enum "ipvpn-tunnel-type-max" { + value 10; + description + "max"; + } + } + description + "Ipvpn tunnel"; + } + + typedef Exact-route-flags-hw-egress { + type enumeration { + enum "hw-egress-flg-off" { + value 0; + description + "HW Egress flag off"; + } + enum "hw-egress-flg-on" { + value 16384; + description + "show flag hardware egress"; + } + } + description + "Exact route flags hw egress"; + } + + typedef Fib-object-attribute { + type enumeration { + enum "none" { + value 0; + description + "Invalid type of attribute"; + } + enum "error" { + value 1; + description + "Error type of attribute"; + } + enum "out-of-resource" { + value 2; + description + "Out-of-Resource type of attribute"; + } + enum "oadjacency" { + value 3; + description + "Adjacency type of attribute"; + } + } + description + "Fib object attribute"; + } + + typedef Fibafi-proto { + type enumeration { + enum "ipv4" { + value 0; + description + "ipv4 protocol"; + } + enum "ipv4-mpls" { + value 1; + description + "ipv4 mpls protocol"; + } + enum "ipv6" { + value 2; + description + "ipv6 protocol"; + } + enum "ipv6-mpls" { + value 3; + description + "ipv6 mpls protocol"; + } + } + description + "Fibafi proto"; + } + + typedef Fib-label { + type uint32 { + range "16..1048575"; + } + description + "Fib label"; + } + + typedef Fibllc-entry { + type enumeration { + enum "xc" { + value 1; + description + "LabelXconnect"; + } + enum "pfx" { + value 2; + description + "IPPrefix"; + } + } + description + "Fibllc entry"; + } + + typedef Fibnh-info-repl { + type enumeration { + enum "fib-nh-repl-none" { + value 0; + description + "None Replicated NHINFO"; + } + enum "fib-nh-repl-rsvpte" { + value 1; + description + "Replicated NHINFO for TE Accounting"; + } + enum "fib-nh-repl-sr-mpls" { + value 2; + description + "Replicated NHINFO for SR MPLS Accounting"; + } + enum "fib-nh-repl-bm" { + value 3; + description + "Replicated NHINFO for Bundle member"; + } + } + description + "Fibnh info repl"; + } + + typedef Exact-route-flags-hw-ingress { + type enumeration { + enum "hw-ingress-flg-off" { + value 0; + description + "HW Ingress flag off"; + } + enum "hw-ingress-flg-on" { + value 32768; + description + "show flag hardware ingress"; + } + } + description + "Exact route flags hw ingress"; + } + + typedef Fibfrr { + type enumeration { + enum "fib-te-frr-node" { + value 0; + description + "TE FRR"; + } + enum "fib-te-frr-intf" { + value 1; + description + "TE Interface FRR"; + } + enum "fib-te-frr-protected-nh" { + value 2; + description + "TE Protected FRR"; + } + enum "fib-te-frr-backup-nh" { + value 3; + description + "TE Backup FRR"; + } + enum "fib-per-link-frr-protected-nh" { + value 4; + description + "Per Link Protected FRR"; + } + enum "fib-per-link-frr-backup-nh" { + value 5; + description + "Per Link Backup FRR"; + } + enum "fib-prefix-frr-protected-nh" { + value 6; + description + "Per Prefix Protected FRR"; + } + enum "fib-prefix-frr-backup-nh" { + value 7; + description + "Per Prefix Backup FRR"; + } + enum "fib-pic-frr-protected-nh" { + value 8; + description + "BGP PIC Protected FRR"; + } + enum "fib-pic-frr-backup-nh" { + value 9; + description + "BGP PIC Backup FRR"; + } + } + description + "Fibfrr"; + } + + typedef Exact-route-flags-non-rec { + type enumeration { + enum "prefix-nonrec-flg-off" { + value 0; + description + "flag prefix non-rec off"; + } + enum "prefix-nonrec-flg-on" { + value 64; + description + "show flag prefix non-rec"; + } + } + description + "Exact route flags non rec"; + } + + typedef Fib-link { + type enumeration { + enum "link-ipv4" { + value 0; + description + "IPv4 link protocol"; + } + enum "link-ipv6" { + value 1; + description + "IPv6 link protocol"; + } + enum "link-mpls" { + value 2; + description + "MPLS link protocol"; + } + } + description + "Fib link"; + } + + typedef Exact-route-ip-protocol { + type enumeration { + enum "ip-proto-icmp" { + value 1; + description + "icmp"; + } + enum "ip-proto-ggp" { + value 3; + description + "ggp"; + } + enum "ip-proto-ipinip" { + value 4; + description + "ip in ip"; + } + enum "ip-proto-tcp" { + value 6; + description + "tcp"; + } + enum "ip-proto-egp" { + value 8; + description + "egp"; + } + enum "ip-proto-i-grp" { + value 9; + description + "igrp"; + } + enum "ip-proto-pup" { + value 12; + description + "pup"; + } + enum "ip-proto-udp" { + value 17; + description + "udp"; + } + enum "ip-proto-idp" { + value 22; + description + "idp"; + } + enum "ip-proto-tp" { + value 29; + description + "tp"; + } + enum "ip-proto-rsvp" { + value 46; + description + "rsvp"; + } + enum "ip-proto-gre" { + value 47; + description + "gre"; + } + enum "ip-proto-esp" { + value 50; + description + "esp"; + } + enum "ip-proto-ahp" { + value 51; + description + "ahp"; + } + enum "ip-proto-eon" { + value 80; + description + "eon"; + } + enum "ipproto_eigrp:" { + value 88; + description + "eigrp"; + } + enum "ip-proto-ospf" { + value 89; + description + "ospf"; + } + enum "ip-proto-nosip" { + value 94; + description + "no sip"; + } + enum "ip-proto-encap" { + value 98; + description + "encap"; + } + enum "ip-proto-pim" { + value 103; + description + "pim"; + } + enum "ip-proto-pcp" { + value 108; + description + "pcp"; + } + enum "ip-proto-l2tpv3" { + value 115; + description + "l2tpv3"; + } + enum "ip-proto-uti" { + value 120; + description + "uti"; + } + enum "ip-proto-sctp" { + value 123; + description + "sctp"; + } + enum "ip-proto-raw" { + value 255; + description + "raw"; + } + } + description + "Exact route ip protocol"; + } + + typedef Exact-route-flags-frr { + type enumeration { + enum "prefix-frr-flg-off" { + value 0; + description + "FRR flag off"; + } + enum "prefix-frr-flg-on" { + value 1073741824; + description + "show flag prefix FRR"; + } + } + description + "Exact route flags frr"; + } + + typedef Fibnh-remote { + type enumeration { + enum "fib-nh-rx" { + value 1; + description + "NHINFO Remote Type"; + } + } + description + "Fibnh remote"; + } + + typedef Mpls-label { + type uint32 { + range "16..1048575"; + } + description + "Mpls label"; + } + + typedef Mplseos { + type enumeration { + enum "eos0" { + value 0; + description + "EOS Disable"; + } + enum "eos1" { + value 1; + description + "EOS Enable"; + } + } + description + "Mplseos"; + } + + typedef Prefix-len-range { + type uint32 { + range "0..128"; + } + description + "Prefix len range"; + } + + typedef Fibnh-local { + type enumeration { + enum "fib-nh-tx" { + value 0; + description + "NHINFO Local Type"; + } + enum "fib-nh-special" { + value 2; + description + "NHINFO Special Type"; + } + } + description + "Fibnh local"; + } + + typedef Generic-index { + type uint32 { + range "0..4294967295"; + } + description + "Generic index"; + } + + grouping STATE { + description + "Common node of prefix, label"; + container state { + description + "Operational data"; + uses FIB-OC-AFT-PRFX-STATE-V2; + } + } + + grouping NH-INFO-SPECIAL-PUNT-DETAIL-HARDWARE-INGRESS { + description + "Common node of + nh-info-special-detail-hardware-ingress, + nh-info-special-mpls-detail-hardware-ingress"; + container nh-info-special-punt-detail-hardware-ingress { + description + "Detail hardware ingress info for special-punt + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-PUNT-DETAIL { + description + "Common node of nh-info-special-detail, + nh-info-special-mpls-detail"; + container nh-info-special-punt-detail { + description + "Detail special NHInfo punt entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-DISCARD-DETAIL { + description + "Common node of nh-info-special-detail, + nh-info-special-mpls-detail"; + container nh-info-special-discard-detail { + description + "Detail special NHInfo discard entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-DROP-DETAIL { + description + "Common node of nh-info-special-detail, + nh-info-special-mpls-detail"; + container nh-info-special-drop-detail { + description + "Detail special NHInfo punt entry"; + uses FIB-SH-NHINFO; + } + } + + grouping OBJECT-TABLE { + description + "Common node of summary-protocol, total"; + container objects { + description + "Object Table"; + list object { + key "object-id"; + description + "Object Table entry"; + leaf object-id { + type uint32; + description + "Object ID"; + } + uses FIB-BAG-SUM-OBJ; + } + } + } + + grouping NH-INFO-SPECIAL-DROP-BRIEF { + description + "Common node of nh-info-special-brief, + nh-info-special-mpls-brief"; + container nh-info-special-drop-brief { + description + "Brief special NHInfo drop entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-DISCARD-BRIEF { + description + "Common node of nh-info-special-brief, + nh-info-special-mpls-brief"; + container nh-info-special-discard-brief { + description + "Brief special NHInfo discard entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-PUNT-BRIEF { + description + "Common node of nh-info-special-brief, + nh-info-special-mpls-brief"; + container nh-info-special-punt-brief { + description + "Brief special NHInfo punt entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-DROP-DETAIL-HARDWARE-EGRESS { + description + "Common node of + nh-info-special-detail-hardware-egress, + nh-info-special-mpls-detail-hardware-egress"; + container nh-info-special-drop-detail-hardware-egress { + description + "Detail hardware egress info for special-drop + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + grouping ERROR { + description + "Common node of ipv4, ipv6"; + container error { + description + "Error data"; + container state { + description + "Error data"; + uses FIB-OC-AFT-ERROR-STATE; + } + } + } + + grouping PREFIX-TABLE { + description + "Common node of ipv6-unicast, ipv4-unicast"; + container prefixes { + description + "Table of IP prefixes"; + list prefix { + key "prefix"; + description + "Prefix data"; + leaf prefix { + type string; + description + "Prefix"; + } + uses STATE; + } + } + } + + grouping NH-INFO-SPECIAL-NULL-DETAIL-HARDWARE-INGRESS { + description + "Common node of + nh-info-special-detail-hardware-ingress, + nh-info-special-mpls-detail-hardware-ingress"; + container nh-info-special-null-detail-hardware-ingress { + description + "Detail hardware ingress info for special-null + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-DISCARD-DETAIL-HARDWARE-EGRESS { + description + "Common node of + nh-info-special-detail-hardware-egress, + nh-info-special-mpls-detail-hardware-egress"; + container nh-info-special-discard-detail-hardware-egress { + description + "Detail hardware egress info for special-discard + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-NULL-BRIEF { + description + "Common node of nh-info-special-brief, + nh-info-special-mpls-brief"; + container nh-info-special-null-brief { + description + "Brief special NHInfo null entry"; + uses FIB-SH-NHINFO; + } + } + + grouping OOR { + description + "Common node of ipv4, ipv6"; + container oor { + description + "OOR data"; + container state { + description + "OOR data"; + uses FIB-OC-AFT-OOR-STATE; + } + } + } + + grouping NH-INFO-SPECIAL-DISCARD-DETAIL-HARDWARE-INGRESS { + description + "Common node of + nh-info-special-detail-hardware-ingress, + nh-info-special-mpls-detail-hardware-ingress"; + container nh-info-special-discard-detail-hardware-ingress { + description + "Detail hardware ingress info for special-discard + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-NULL-DETAIL { + description + "Common node of nh-info-special-detail, + nh-info-special-mpls-detail"; + container nh-info-special-null-detail { + description + "Detail special NHInfo null entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-NULL-DETAIL-HARDWARE-EGRESS { + description + "Common node of + nh-info-special-detail-hardware-egress, + nh-info-special-mpls-detail-hardware-egress"; + container nh-info-special-null-detail-hardware-egress { + description + "Detail hardware egress info for special-null + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-PUNT-DETAIL-HARDWARE-EGRESS { + description + "Common node of + nh-info-special-detail-hardware-egress, + nh-info-special-mpls-detail-hardware-egress"; + container nh-info-special-punt-detail-hardware-egress { + description + "Detail hardware egress info for special-punt + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + grouping NH-INFO-SPECIAL-DROP-DETAIL-HARDWARE-INGRESS { + description + "Common node of + nh-info-special-detail-hardware-ingress, + nh-info-special-mpls-detail-hardware-ingress"; + container nh-info-special-drop-detail-hardware-ingress { + description + "Detail hardware ingress info for special-drop + NHInfo entry"; + uses FIB-SH-NHINFO; + } + } + + container fib-statistics { + config false; + description + "cef interface drops operational data"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Specific node operational data"; + container drops { + description + "Specific node drops"; + uses FIB-STATISTICS-BAG-DROPS; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + container fib { + config false; + description + "FIB operational data"; + container nodes { + description + "Table of nodes"; + list node { + key "node-name"; + description + "Operational data for a specific Node"; + container global { + description + "FIB Global info"; + container fib-cofo { + description + "Collapsed Forwarding"; + container fib-cofo-idb { + description + "Collapsed Forwarding IDB Table"; + container fib-cofo-idb-table-entries { + description + "Collapsed Forwarding Idb Table Entries"; + list fib-cofo-idb-table-entry { + description + "Collapsed Forwarding Idb Table Entries"; + leaf sdr-id { + type uint32; + description + "SDR ID value"; + } + leaf if-index { + type uint32; + description + "Interface Index"; + } + uses FIB-SH-COFO-IDB-TBL-ENTRY-INFO; + } + } + } + container fib-cofo-table-id { + description + "Collapsed Forwarding Table Id Table"; + container fib-cofo-table-id-entries { + description + "Collapsed Forwarding Table Id Entries"; + list fib-cofo-table-id-entry { + description + "Collapsed Forwarding Idb Table Entries"; + leaf sdr-id { + type uint32; + description + "SDR ID value"; + } + leaf protocol { + type Fib-protocol; + description + "Protocol"; + } + leaf rd { + type xr:Cisco-ios-xr-string; + description + "Route Distinguisher"; + } + leaf table-id { + type uint32; + description + "Table Id"; + } + uses FIB-SH-COFO-TBL-ID-ENTRY-INFO; + } + } + container fib-cofo-table-id-summary { + description + "Collapsed Forwarding Table Id Entries"; + uses FIB-SH-COFO-TBL-ID-DB-SUM; + } + } + } + container summary { + description + "Global Summary"; + container total { + description + "Display total"; + container counters { + description + "Display total counters and common info"; + uses FIB-GLOBAL-SUMMARY-TOTAL; + } + uses OBJECT-TABLE; + } + container summary-protocols { + description + "Summary Protocol Table"; + list summary-protocol { + key "protocol-name"; + description + "Summary Protocol Table entry"; + container proto-counters { + description + "Display protocol counters"; + uses FIB-GLOBAL-SUMMARY-PROTO; + } + leaf protocol-name { + type Fibafi-proto; + description + "Protocol Name"; + } + uses OBJECT-TABLE; + } + } + } + container encap-id-database { + description + "Encap ID database"; + container summary { + description + "Encap ID DB summary"; + uses FIB-ENCAP-ID-SUMMARY; + } + container encap-id-incompletes { + description + "Incomplete Encap ID entry table"; + list encap-id-incomplete { + key "object-id"; + description + "Incomplete Encap ID entry"; + leaf object-id { + type xr:Cisco-ios-xr-string; + description + "Object ID"; + } + uses FIB-OBJECT-ENCAP-ID-INFO; + } + } + container encap-ids { + description + "Encap ID table"; + list encap-id { + key "encap-id"; + description + "Encap ID entry"; + leaf encap-id { + type xr:Cisco-ios-xr-string; + description + "Encap ID"; + } + uses FIB-OBJECT-ENCAP-ID-INFO; + } + } + } + container object-history { + description + "FIB Global Object History"; + container obj-history-protos { + description + "Proto Table"; + list obj-history-proto { + key "protocol-name"; + description + "Protocol Table entry"; + leaf protocol-name { + type Fibafi-proto; + description + "Protocol Name"; + } + uses FIB-GLOBAL-SUMMARY-OBJ-HISTORY-PROTO; + } + } + } + container tunnel-database { + description + "TunnelTable database"; + container ltep-nve-tunnel-hardware-egresses { + description + "Ltep NVE Tunnel database"; + list ltep-nve-tunnel-hardware-egress { + description + "LTEP NVE table entry"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + leaf nve-interface-id { + type uint32; + description + "NVE interface ID"; + } + leaf vni-id { + type uint32; + description + "VNI ID"; + } + uses FIB-GLOBAL-LTEP-NVE-ENTRY; + } + } + container ltep-nve-tunnels { + description + "Ltep NVE Tunnel database"; + list ltep-nve-tunnel { + description + "LTEP NVE table entry"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + leaf nve-interface-id { + type uint32; + description + "NVE interface ID"; + } + leaf vni-id { + type uint32; + description + "VNI ID"; + } + uses FIB-GLOBAL-LTEP-NVE-ENTRY; + } + } + container ltep-nve-tunnel-hardware-ingresses { + description + "Ltep NVE Tunnel database"; + list ltep-nve-tunnel-hardware-ingress { + description + "LTEP NVE table entry"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + leaf nve-interface-id { + type uint32; + description + "NVE interface ID"; + } + leaf vni-id { + type uint32; + description + "VNI ID"; + } + uses FIB-GLOBAL-LTEP-NVE-ENTRY; + } + } + } + container aggregation-db { + description + "Aggregation database"; + container aggregation-entries { + description + "Aggregation table"; + list aggregation-entry { + description + "Aggregation table entry"; + leaf protocol { + type Fib-protocol; + description + "Protocol type"; + } + leaf object-type { + type Fib-object; + description + "Object Type"; + } + leaf attribute-type { + type Fib-object-attribute; + description + "Attribute Type"; + } + leaf is-mpls { + type boolean; + description + "Is MPLS flag?"; + } + leaf adjacency-interface { + type xr:Interface-name; + description + "Adjacency interface name"; + } + uses FIB-GLOBAL-AGGREGATION-ENTRY; + } + } + container aggregation-summary { + description + "Aggregation table summary"; + uses FIB-GLOBAL-AGGREGATION-SUMMARY; + } + } + } + container global-main { + description + "FIB Global info from the Main thread"; + container global-retry-db-entries { + description + "Details for retry db"; + list global-retry-db-entry { + description + "Details for retry_db corresponding to index"; + leaf index { + type Generic-index; + description + "Index"; + } + leaf frsc { + type Generic-index; + description + "Frsc"; + } + leaf queue-id { + type Generic-index; + description + "Queue Id"; + } + uses FIB-RETRY-DB-INFO; + } + } + container clients { + description + "Client table"; + list client { + key "client-id"; + description + "FIB Client"; + leaf client-id { + type uint32; + description + "Client ID"; + } + uses FIB-GLOBAL-CLIENT; + } + } + } + container protocols { + description + "Protocol table"; + list protocol { + key "protocol-name"; + description + "Protocol table entry"; + container resource-oor { + description + "Resource out of resource information"; + uses FIB-SH-RSRC-AVAIL-OOR-STATE; + } + container issu-state { + description + "CEF ISSU State"; + uses FIB-ISSU-STATE; + } + container cef-tables { + description + "Details for cef tables db"; + list cef-table { + description + "Details for cef_db corresponding to + table_id"; + leaf table-id { + type xr:Hex-integer; + description + "Table Id"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + uses FIB-SH-SUM; + } + } + container interfaces { + description + "Interface list data details"; + list interface { + description + "Details for interface list data"; + leaf protocol-id { + type Fib-protocol; + description + "Protocol ID"; + } + leaf interface-list-id { + type uint32 { + range "0..4294967295"; + } + description + "Interface List ID"; + } + leaf interface-list-name { + type xr:Cisco-ios-xr-string; + description + "Interface List Name"; + } + uses FIB-GENERIC-INTF-LIST-DATA; + } + } + container resource { + description + "Resource information"; + container resource-detail-info { + description + "Detailed info"; + uses FIB-SH-RSRC-AVAIL-STATE; + } + container resource-hardware-ingress-info { + description + "Detailed info with ingress hardware info"; + uses FIB-SH-RSRC-AVAIL-STATE; + } + container resource-hardware-egress-info { + description + "Detailed info with egress hardware info"; + uses FIB-SH-RSRC-AVAIL-STATE; + } + container resource-summary-info { + description + "Summary info"; + uses FIB-SH-RSRC-AVAIL-STATE; + } + } + container fib-summaries { + description + "Summary for FIB tables"; + list fib-summary { + description + "Summary for the requested fib table"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type xr:Hex-integer; + description + "FIB table id"; + } + uses FIB-SH-SUM; + } + } + container object-queues { + description + "Object queue details"; + list object-queue { + key "object-queue-id"; + description + "Details for corresponding object queue id"; + leaf object-queue-id { + type uint32 { + range "0..255"; + } + description + "Object Queue ID"; + } + uses FIB-OBJECT-QUEUE-INFO; + } + } + container external-summary-all { + description + "Summary for all external clients"; + uses FIB-SH-TBL-EXT-SUM-ALL; + } + container frr-log { + description + "Table of Fast Reroute activation logs"; + container frr-interfaces { + description + "FRR Interface Table"; + list frr-interface { + key "frr-interface-name"; + description + "Specify FRR Interface Name"; + container logs { + description + "FRR log table"; + list log { + key "log-index"; + description + "Specify index into frr log table"; + leaf log-index { + type uint32; + description + "FRR Log Index"; + } + uses FIB-SH-FRR-LOG; + } + } + leaf frr-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + } + container retry-db-entries { + description + "Details for retry db"; + list retry-db-entry { + description + "Details for retry_db corresponding to index"; + leaf index { + type Generic-index; + description + "Index"; + } + leaf frsc { + type Generic-index; + description + "Frsc"; + } + leaf queue-id { + type Generic-index; + description + "Queue Id"; + } + uses FIB-RETRY-DB-INFO; + } + } + container prefix-detail-generics { + description + "Prefix Detail Generic Table"; + list prefix-detail-generic { + description + "LinkLocal"; + leaf protocol-name { + type Fib-protocol; + description + "Fib Protocol Name"; + } + leaf flag-non-rec { + type Exact-route-flags-non-rec; + description + "Prefix non-recursive filter ON/OFF"; + } + leaf flag-un-res { + type Exact-route-flags-un-res; + description + "Prefix unresolved filter ON/OFF"; + } + leaf flag-frr { + type Exact-route-flags-frr; + description + "FRR filter ON/OFF"; + } + leaf flag-hw-egress { + type Exact-route-flags-hw-egress; + description + "HW Egress filter ON/OFF"; + } + leaf flag-hw-ingress { + type Exact-route-flags-hw-ingress; + description + "HW Ingress filter ONOFF"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "Table Id"; + } + leaf class-id { + type uint32 { + range "0..7"; + } + description + "Class ID"; + } + leaf ipv6-flow-label { + type Fibipv6-flow-label; + description + "IPv6 flow label (applies only to and used + only for IPv6)"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + uses FIB-SH-TBL-FIB; + } + } + container protocol-tunnel-database { + description + "Protocol tunnel database"; + container ltep-tunnel-hardware-egresses { + description + "Ltep Tunnel database, HW Egress"; + list ltep-tunnel-hardware-egress { + description + "LTEP table entry, HW Egress"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf source-address { + type xr:Cisco-ios-xr-string; + description + "Source address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-vni-id { + type uint32; + description + "VxLAN VNI ID"; + } + uses FIB-COMMON-LTEP-ENTRY; + } + } + container rtep-tunnel-hardware-egresses { + description + "Rtep Tunnel database, HW Egress"; + list rtep-tunnel-hardware-egress { + description + "RTEP table entry, HW Egress"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf destination-address { + type xr:Cisco-ios-xr-string; + description + "Destination address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-overlay-table-id { + type xr:Hex-integer; + description + "VxLAN Overlay Table Id"; + } + leaf vxlan-e-vni-id { + type uint32; + description + "VxLAN E-VNI ID"; + } + leaf is-default { + type boolean; + description + "Is Default LTEP NVE"; + } + leaf table-id { + type xr:Hex-integer; + description + "LTEP_NVE Table ID"; + } + leaf nve-interface-id { + type uint32; + description + "LTEP_NVE NVE ID"; + } + leaf vni-id { + type uint32; + description + "LTEP_NVE VNI ID"; + } + uses FIB-RTEP-ENTRY; + } + } + container rtep-tunnel-internals { + description + "Rtep tunnel database"; + list rtep-tunnel-internal { + description + "RTEP table entry"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf destination-address { + type xr:Cisco-ios-xr-string; + description + "Destination address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-overlay-table-id { + type xr:Hex-integer; + description + "VxLAN Overlay Table Id"; + } + leaf vxlan-e-vni-id { + type uint32; + description + "VxLAN E-VNI ID"; + } + leaf is-default { + type boolean; + description + "Is Default LTEP NVE"; + } + leaf table-id { + type xr:Hex-integer; + description + "LTEP_NVE Table ID"; + } + leaf nve-interface-id { + type uint32; + description + "LTEP_NVE NVE ID"; + } + leaf vni-id { + type uint32; + description + "LTEP_NVE VNI ID"; + } + uses FIB-RTEP-ENTRY; + } + } + container rtep-tunnels { + description + "Rtep tunnel database"; + list rtep-tunnel { + description + "RTEP table entry"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf destination-address { + type xr:Cisco-ios-xr-string; + description + "Destination address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-overlay-table-id { + type xr:Hex-integer; + description + "VxLAN Overlay Table Id"; + } + leaf vxlan-e-vni-id { + type uint32; + description + "VxLAN E-VNI ID"; + } + leaf is-default { + type boolean; + description + "Is Default LTEP NVE"; + } + leaf table-id { + type xr:Hex-integer; + description + "LTEP_NVE Table ID"; + } + leaf nve-interface-id { + type uint32; + description + "LTEP_NVE NVE ID"; + } + leaf vni-id { + type uint32; + description + "LTEP_NVE VNI ID"; + } + uses FIB-RTEP-ENTRY; + } + } + container ltep-tunnel-hardware-ingresses { + description + "Ltep Tunnel database, HW Ingress"; + list ltep-tunnel-hardware-ingress { + description + "LTEP table entry, HW Ingress"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf source-address { + type xr:Cisco-ios-xr-string; + description + "Source address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-vni-id { + type uint32; + description + "VxLAN VNI ID"; + } + uses FIB-COMMON-LTEP-ENTRY; + } + } + container ltep-tunnel-internals { + description + "Ltep tunnel database"; + list ltep-tunnel-internal { + description + "LTEP table entry"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf source-address { + type xr:Cisco-ios-xr-string; + description + "Source address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-vni-id { + type uint32; + description + "VxLAN VNI ID"; + } + uses FIB-COMMON-LTEP-ENTRY; + } + } + container rtep-tunnel-hardware-ingresses { + description + "Rtep Tunnel database, HW Ingress"; + list rtep-tunnel-hardware-ingress { + description + "RTEP table entry, HW Ingress"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf destination-address { + type xr:Cisco-ios-xr-string; + description + "Destination address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-overlay-table-id { + type xr:Hex-integer; + description + "VxLAN Overlay Table Id"; + } + leaf vxlan-e-vni-id { + type uint32; + description + "VxLAN E-VNI ID"; + } + leaf is-default { + type boolean; + description + "Is Default LTEP NVE"; + } + leaf table-id { + type xr:Hex-integer; + description + "LTEP_NVE Table ID"; + } + leaf nve-interface-id { + type uint32; + description + "LTEP_NVE NVE ID"; + } + leaf vni-id { + type uint32; + description + "LTEP_NVE VNI ID"; + } + uses FIB-RTEP-ENTRY; + } + } + container vxlan-tunnels { + description + "Vxlan tunnel database"; + list vxlan-tunnel { + description + "VXLAN evni table entry"; + leaf vrf-name { + type string; + description + "VXLAN EVNI Table vrf name"; + } + leaf vni-id { + type uint32; + description + "VNI ID"; + } + uses FIB-VNI-INFO-ENTRY; + } + } + container ltep-tunnels { + description + "Ltep tunnel database"; + list ltep-tunnel { + description + "LTEP table entry"; + leaf tunnel-type { + type Ipvpn-tunnel; + description + "Tunnel type"; + } + leaf source-address { + type xr:Cisco-ios-xr-string; + description + "Source address"; + } + leaf underlay-table-id { + type xr:Hex-integer; + description + "Underlay Table Id"; + } + leaf vxlan-vni-id { + type uint32; + description + "VxLAN VNI ID"; + } + uses FIB-COMMON-LTEP-ENTRY; + } + } + } + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF table entry"; + container ip-prefix-details { + description + "IP FIB prefix detail table"; + list ip-prefix-detail { + description + "IP FIB prefix detail table entry"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Destination IP address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "IP FIB prefix length"; + } + uses FIB-SH-TBL-FIB; + } + } + container summary { + description + "Operational data for FIB Tablee"; + uses FIB-SH-SUM; + } + container attributes { + description + "Information on attribute data"; + list attribute { + description + "Attribute Data"; + leaf attribute-index { + type uint32 { + range "0..4294967295"; + } + description + "Attribute Index"; + } + leaf attribute-local-index { + type uint32 { + range "0..4294967295"; + } + description + "Attribute Local Index"; + } + uses FIB-ATTRIBUTE-DET; + } + } + container ipv6-d-var-details { + description + "IPv6 FIB prefix DVAR table"; + list ipv6-d-var-detail { + description + "IPv6 FIB prefix dvar entry"; + leaf table-id { + type xr:Hex-integer; + description + "Table Id"; + } + leaf prefix { + type inet:ip-address-no-zone; + description + "IPv6 address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "IPv6 prefix length"; + } + uses FIB-SH-TBL-FIB-DVARS; + } + } + container interface-infos { + description + "Table of InterfaceInfo"; + list interface-info { + key "link-type"; + description + "Specify link type"; + container interfaces { + description + "Table of interfaces"; + list interface { + key "interface-name"; + description + "Specify Interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses FIB-SH-INT; + } + } + leaf link-type { + type Fib-link; + description + "Link type"; + } + } + } + container recursive-nexthops { + description + "Information on Recursive Nexthop"; + list recursive-nexthop { + description + "Route address, Prefix length"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Route Address "; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix Length"; + } + uses FIB-SH-REC-NH; + } + } + container ip-prefix-briefs { + description + "IP FIB prefix brief table"; + list ip-prefix-brief { + description + "IP FIB prefix brief table entry"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Destination IP address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "IP FIB prefix length"; + } + uses FIB-SH-TBL-FIB; + } + } + container ipv4-d-var-details { + description + "IPv4 FIB prefix DVAR table"; + list ipv4-d-var-detail { + description + "IPv4 FIB prefix dvar entry"; + leaf table-id { + type xr:Hex-integer; + description + "Table Id"; + } + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "IPv4 prefix length"; + } + uses FIB-SH-TBL-FIB-DVARS; + } + } + container attribute-summary { + description + "Information on attribute summary"; + uses FIB-ATTRIBUTE-SUMMARY; + } + container ipv6-recursive-nexthops { + description + "Information on IPv6 Recursive Nexthop"; + list ipv6-recursive-nexthop { + description + "IPv6 Route address, IPv6 Prefix length"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 Route Address "; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "IPv6 Prefix Length"; + } + uses FIB-SH-REC-NH; + } + } + container policy-database { + description + "Database of Policies"; + container policy-hardware-egresses { + description + "Policy Table"; + list policy-hardware-egress { + key "policy-name"; + description + "Policy Entry"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Policy Name"; + } + uses FIB-SH-POLICY-ENTRY; + } + } + container policies { + description + "Policy Table"; + list policy { + key "policy-name"; + description + "Policy Entry"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Policy Name"; + } + uses FIB-SH-POLICY-ENTRY; + } + } + container policy-hardware-ingresses { + description + "Policy Table"; + list policy-hardware-ingress { + key "policy-name"; + description + "Policy Entry"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Policy Name"; + } + uses FIB-SH-POLICY-ENTRY; + } + } + } + container nh-info { + description + "FIB NHInfo table"; + container nh-info-detail-hardware-egress { + description + "NHInfoTable is accessed by two keys; + {NHInterface,NHAddress}"; + container nh-info-local-mpls-detail-hardware-egresses { + description + "Local (non-remote) nhinfo"; + list nh-info-local-mpls-detail-hardware-egress { + description + "MPLS Detail-Hardware-Egress NHinfo + entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-special-detail-hardware-egress { + description + "Detail hardware egress info for Special + nhinfo"; + uses NH-INFO-SPECIAL-NULL-DETAIL-HARDWARE-EGRESS; + uses NH-INFO-SPECIAL-PUNT-DETAIL-HARDWARE-EGRESS; + uses NH-INFO-SPECIAL-DISCARD-DETAIL-HARDWARE-EGRESS; + uses NH-INFO-SPECIAL-DROP-DETAIL-HARDWARE-EGRESS; + } + container nh-info-local-detail-hardware-egresses { + description + "Local (non-remote) nhinfo"; + list nh-info-local-detail-hardware-egress { + description + "Detail-Hardware-Egress NHinfo entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-remote-mpls-detail-hardware-egresses { + description + "Detail hardware egress info for remote + NHInfo table"; + list nh-info-remote-mpls-detail-hardware-egress { + description + "MPLS Detail-Hardware-Egress NHinfo + entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-special-mpls-detail-hardware-egress { + description + "Detail hardware egress info for Special + nhinfo"; + uses NH-INFO-SPECIAL-NULL-DETAIL-HARDWARE-EGRESS; + uses NH-INFO-SPECIAL-PUNT-DETAIL-HARDWARE-EGRESS; + uses NH-INFO-SPECIAL-DISCARD-DETAIL-HARDWARE-EGRESS; + uses NH-INFO-SPECIAL-DROP-DETAIL-HARDWARE-EGRESS; + } + container nh-info-remote-detail-hardware-egresses { + description + "Detail hardware egress info for remote + NHInfo table"; + list nh-info-remote-detail-hardware-egress { + description + "Detail-Hardware-Egress NHinfo entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + } + container nh-info-detail { + description + "NHInfoTable is accessed by two keys; + {NHInterface,NHAddress}"; + container nh-info-local-details { + description + "Local (non-remote) nhinfo"; + list nh-info-local-detail { + description + "Detail NHinfo entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-remote-mpls-details { + description + "Detailed Remote NHInfo table"; + list nh-info-remote-mpls-detail { + description + "MPLS Detail NHinfo entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-local-mpls-details { + description + "Local (non-remote) nhinfo"; + list nh-info-local-mpls-detail { + description + "MPLS Detail NHinfo entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-special-detail { + description + "Special nhinfo"; + uses NH-INFO-SPECIAL-PUNT-DETAIL; + uses NH-INFO-SPECIAL-DROP-DETAIL; + uses NH-INFO-SPECIAL-NULL-DETAIL; + uses NH-INFO-SPECIAL-DISCARD-DETAIL; + } + container nh-info-special-mpls-detail { + description + "Special nhinfo"; + uses NH-INFO-SPECIAL-PUNT-DETAIL; + uses NH-INFO-SPECIAL-DROP-DETAIL; + uses NH-INFO-SPECIAL-NULL-DETAIL; + uses NH-INFO-SPECIAL-DISCARD-DETAIL; + } + container nh-info-remote-details { + description + "Detailed Remote NHInfo table"; + list nh-info-remote-detail { + description + "Detail NHinfo entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + } + container nh-info-detail-hardware-ingress { + description + "NHInfoTable is accessed by two keys; + {NHInterface,NHAddress}"; + container nh-info-special-mpls-detail-hardware-ingress { + description + "Special nhinfo"; + uses NH-INFO-SPECIAL-PUNT-DETAIL-HARDWARE-INGRESS; + uses NH-INFO-SPECIAL-NULL-DETAIL-HARDWARE-INGRESS; + uses NH-INFO-SPECIAL-DROP-DETAIL-HARDWARE-INGRESS; + uses NH-INFO-SPECIAL-DISCARD-DETAIL-HARDWARE-INGRESS; + } + container nh-info-remote-detail-hardware-ingresses { + description + "Detailed hardware ingress info for + remote NHInfo table"; + list nh-info-remote-detail-hardware-ingress { + description + "Detail-Hardware-Ingress NHinfo entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-remote-mpls-detail-hardware-ingresses { + description + "Detailed hardware ingress info for + remote NHInfo table"; + list nh-info-remote-mpls-detail-hardware-ingress { + description + "MPLS Detail-Hardware-Ingress NHinfo + entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-local-detail-hardware-ingresses { + description + "Local (non-remote) nhinfo"; + list nh-info-local-detail-hardware-ingress { + description + "Detail-Hardware-Ingress NHinfo entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-special-detail-hardware-ingress { + description + "Special nhinfo"; + uses NH-INFO-SPECIAL-PUNT-DETAIL-HARDWARE-INGRESS; + uses NH-INFO-SPECIAL-NULL-DETAIL-HARDWARE-INGRESS; + uses NH-INFO-SPECIAL-DROP-DETAIL-HARDWARE-INGRESS; + uses NH-INFO-SPECIAL-DISCARD-DETAIL-HARDWARE-INGRESS; + } + container nh-info-local-mpls-detail-hardware-ingresses { + description + "Local (non-remote) nhinfo"; + list nh-info-local-mpls-detail-hardware-ingress { + description + "MPLS Detail-Hardware-Ingress NHinfo + entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + } + container nh-info-brief { + description + "NHInfoTable is accessed by two keys; + {NHInterface,NHAddress}"; + container nh-info-special-mpls-brief { + description + "Special nhinfo"; + uses NH-INFO-SPECIAL-DISCARD-BRIEF; + uses NH-INFO-SPECIAL-NULL-BRIEF; + uses NH-INFO-SPECIAL-PUNT-BRIEF; + uses NH-INFO-SPECIAL-DROP-BRIEF; + } + container nh-info-special-brief { + description + "Special nhinfo"; + uses NH-INFO-SPECIAL-DISCARD-BRIEF; + uses NH-INFO-SPECIAL-NULL-BRIEF; + uses NH-INFO-SPECIAL-PUNT-BRIEF; + uses NH-INFO-SPECIAL-DROP-BRIEF; + } + container nh-info-local-mpls-briefs { + description + "Local (non-remote) nhinfo"; + list nh-info-local-mpls-brief { + description + "MPLS Brief NHinfo entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-remote-briefs { + description + "remote nhinfo"; + list nh-info-remote-brief { + description + "Brief NHinfo entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-local-briefs { + description + "Local (non-remote) nhinfo"; + list nh-info-local-brief { + description + "Brief NHinfo entry"; + leaf nh-local-type { + type Fibnh-local; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + container nh-info-remote-mpls-briefs { + description + "remote nhinfo"; + list nh-info-remote-mpls-brief { + description + "MPLS Brief NHinfo entry"; + leaf nh-remote-type { + type Fibnh-remote; + description + "Next-hop Type"; + } + leaf parent-nh-interface-name { + type xr:Interface-name; + description + "Parent Interface Name"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-proto { + type Fib-protocol; + description + "Next-hop proto"; + } + leaf nh-pfx-length { + type uint32; + description + "Next-hop prefix length"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format"; + } + uses FIB-SH-NHINFO; + } + } + } + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + } + container exact-routes { + description + "Exact Route Table"; + list exact-route { + description + "Exact route for the given source and + destination addresses"; + leaf protocol-name { + type Fib-protocol; + description + "Fib Protocol Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source { + type inet:ip-address-no-zone; + description + "Source address"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + leaf class-id { + type uint32 { + range "0..7"; + } + description + "Class ID"; + } + leaf ipv6-flow-label { + type Fibipv6-flow-label; + description + "IPv6 flow label (applies only to and used + only for IPv6)"; + } + leaf ip-protocol { + type Exact-route-ip-protocol; + description + "IP Protocol"; + } + leaf src-port { + type uint32; + description + "Source Port"; + } + leaf dest-port { + type uint32; + description + "Destination Port"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf has-user-data { + type boolean; + description + "Has User Data"; + } + leaf user-data { + type uint32; + description + "User Data"; + } + uses FIB-SH-TBL-FIB; + } + } + container protocol-global { + description + "FIB SRV6 global information"; + container segment-routing { + description + "FIB SRV6 global segment routing information"; + container srv6 { + description + "FIB ipv6 global segment routing srv6 + information"; + uses FIB-SRV6-GBL-UPD; + } + } + } + container nh-ids { + description + "NHIdTable is accessed by two keys; {NHId} + and/or {NHInterface,NHAddress"; + list nh-id { + description + "NextHopId table entry"; + leaf nh-id { + type uint32; + description + "NexthopId Value"; + } + leaf nh-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf nh-address { + type xr:Cisco-ios-xr-string; + description + "Next-hop address in string format (e.g., 1 + .2.3.4)"; + } + uses FIB-SH-NHID-ENTRY; + } + } + container frr-nhinfo-pendings { + description + "FIB FRR NHINFO pending information"; + list frr-nhinfo-pending { + description + "FIB FRR Nhinfo pending information"; + leaf queue-index { + type Generic-index; + description + "FIB FRR Queue Index"; + } + leaf frr-type { + type Fibfrr; + description + "FRR Type"; + } + leaf link-type { + type Fib-link; + description + "Link Type"; + } + leaf prefix-length { + type Prefix-len-range; + description + "Prefix Length"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf main-interface-name { + type xr:Interface-name; + description + "Main Interface Name"; + } + leaf next-hop-prefix { + type inet:ip-address-no-zone; + description + "NextHop Address"; + } + leaf replicated-nh-type { + type Fibnh-info-repl; + description + "Replicated NextHop Type"; + } + uses FIB-SH-FRR-NHINFO; + } + } + container external-client-summaries { + description + "External Client Summary Table"; + list external-client-summary { + description + "Summary of the external clients"; + leaf ecd-ver { + type uint32; + description + "Ecd Version"; + } + leaf id { + type uint32; + description + "ID of the client: ECDv1 is component id, + ECDv2 is client id"; + } + uses FIB-SH-TBL-EXT-CLIENT-SUM; + } + } + container misc { + description + "CEF misc hidden data"; + uses FIB-SH-MISC; + } + container object-queue-entries { + description + "Object queue entry details"; + list object-queue-entry { + key "object-queue-id"; + description + "Object queue id"; + container object-queue-entry-infos { + description + "Details for corresponding object queue + entry"; + list object-queue-entry-info { + key "item-index"; + description + "Details for corresponding object queue + entry"; + leaf item-index { + type uint32 { + range "0..4294967295"; + } + description + "Item Index"; + } + uses FIB-OBJECT-QUEUE-ITEM-INFO; + } + } + leaf object-queue-id { + type uint32 { + range "0..255"; + } + description + "Object Queue ID"; + } + } + } + container local-label { + description + "Fib Local label"; + container conflicts { + description + "FIB Local-label conflicts database"; + list conflict { + description + "CEF Local-label conflicts entry"; + leaf label { + type Fib-label; + description + "Local label"; + } + leaf source { + type Fib-route-source; + description + "Route source"; + } + leaf ll-ctype { + type Fibllc-entry; + description + "Type of entry"; + } + leaf pfx-tbl-id { + type uint32; + description + "Table ID of IP prefix"; + } + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "IP Prefix"; + } + leaf prefix-len { + type uint32; + description + "Length of IP Prefix"; + } + uses FIB-MPLS-LLC; + } + } + } + leaf protocol-name { + type Fib-protocol; + description + "Protocol Name "; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + container oc-aft-l3 { + config false; + description + "Openconfig L3 abstract forwarding table data"; + container vrfs { + description + "Table VRFs - openconfig network-instances"; + list vrf { + key "vrf-name"; + description + "VRF/network-instace table"; + container abstract-forwarding-tables { + description + "Abstract forwarding table per FIB protocol"; + container mpls { + description + "MPLS abstract forwarding table"; + container labels { + description + "Table of MPLS labels"; + list label { + key "label"; + description + "Label data"; + leaf label { + type string; + description + "Label"; + } + uses STATE; + } + } + } + container next-hop-groups { + description + "Next-hop groups associated with the + forwarding instance"; + list next-hop-group { + key "nh-grp-id"; + description + "A next-hop group associated with the + forwarding instance"; + container condition-groups { + description + "A condition group associated with the + forwarding instance"; + list condition-group { + key "cond-id"; + description + "A condition group associated with the + forwarding instance"; + container state { + description + "A condition group associated with the + forwarding instance"; + uses FIB-OC-AFT-COND-GRP-STATE-V2; + } + leaf cond-id { + type uint32; + description + "A unique ID identifying the condition + group entry for the AFT entry"; + } + } + } + container state { + description + "A next-hop group associated with the + forwarding instance"; + uses FIB-OC-AFT-NH-GROUP-STATE-V2; + } + leaf nh-grp-id { + type uint32; + description + "A unique ID identifying the next-hop group + entry for the AFT entry"; + } + } + } + container next-hops { + description + "A next-hop associated with the forwarding + instance"; + list next-hop { + key "nh-id"; + description + "Prefix data"; + container state { + description + "A unique index identifying the next-hop + entry for the AFT nexthop entry"; + uses FIB-OC-AFT-NEXTHOP-V2; + } + leaf nh-id { + type uint32; + description + "A unique ID identifying the next-hop entry + for the AFT nexthop entry"; + } + } + } + container ipv6-unicast { + description + "IPv6 abstract forwarding table"; + uses PREFIX-TABLE; + } + container ipv4-unicast { + description + "IPv4 abstract forwarding table"; + uses PREFIX-TABLE; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Network Instance Name"; + } + } + } + container protocol { + description + "Abstract forwarding table per FIB protocol"; + container ipv6 { + description + "IPv6 abstract forwarding table"; + uses OOR; + uses ERROR; + } + container ipv4 { + description + "IPv4 abstract forwarding table"; + uses OOR; + uses ERROR; + } + } + } + container mpls-forwarding { + config false; + description + "MPLS forwarding operational data"; + container nodes { + description + "Table of Nodes"; + list node { + key "node-name"; + description + "Operational data for a specific Node"; + container forwarding-summary { + description + "MPLS forwarding summary"; + uses MPLS-FWDING-SUMMARY; + } + container frr-logs { + description + "FRR Log Table"; + list frr-log { + key "event-id"; + description + "FRR Log information"; + leaf event-id { + type uint32; + description + "Event ID"; + } + uses FIB-MPLS-FRR-EVENT; + } + } + container label-fib { + description + "Labels For FIB"; + container forwarding-details { + description + "MPLS Forwarding Detail table"; + list forwarding-detail { + description + "MPLS forwarding details"; + leaf label-value { + type Mpls-label; + description + "Local label value"; + } + leaf eos { + type Mplseos; + description + "End of stack flag"; + } + uses MPLS-SH-LEAF; + } + } + container informations { + description + "Forwarding filtering details"; + list information { + description + "MPLS forwarding information"; + leaf label-value { + type Mpls-label; + description + "Local label value"; + } + leaf eos { + type Mplseos; + description + "End of stack flag"; + } + uses MPLS-SH-LEAF; + } + } + container label-security { + description + "MPLS label security"; + container interfaces { + description + "MPLS label security interface table"; + list interface { + key "interface-name"; + description + "Specify interface Name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MPLS-LABEL-SECURITY-INTF; + } + } + container summary { + description + "MPLS label security summary"; + uses MPLS-LABEL-SECURITY-SUMMARY; + } + } + } + container tunnel { + description + "TE Tunnel information"; + container forwarding-tunnels { + description + "Forwarding details for TE tunnels"; + list forwarding-tunnel { + key "interface-name"; + description + "Forwarding information for the TE tunnel"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MPLS-SH-TEHEAD; + } + } + } + container frr-database { + description + "MPLS forwarding FRR Database"; + container frrdb-summary { + description + "MPLS forwarding FRR Database Summary"; + uses FIB-MPLS-FRR-DB-SUM; + } + container frrdb-protected-interface-table-summaries { + description + "MPLS forwarding FRR Database Protected + Interface Summary Table"; + list frrdb-protected-interface-table-summary { + key "interface-name"; + description + "MPLS forwarding FRR Database Protected + Interface Summary"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses FIB-MPLS-FRR-DB-SUM; + } + } + container frrdb-tunnel-midpoint-summary { + description + "MPLS forwarding FRR Database Tunnel Midpoint + Summary"; + uses FIB-MPLS-FRR-DB-SUM; + } + container frrdb-tunnel-midpoints { + description + "MPLS forwarding FRR Database Tunnel Midpoint + Table"; + list frrdb-tunnel-midpoint { + key "local-label"; + description + "MPLS forwarding FRR Database Tunnel Midpoint + Entry"; + leaf local-label { + type Mpls-label; + description + "Local label value"; + } + uses MPLS-FRR-DB-ENTRY; + } + } + container frrdb-tunnel-heads { + description + "MPLS forwarding FRR Database Tunnel Head + Table"; + list frrdb-tunnel-head { + key "interface-name"; + description + "MPLS forwarding FRR Database Tunnel Head + Entry"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MPLS-FRR-DB-ENTRY; + } + } + container frrdb-tunnel-head-summary { + description + "MPLS forwarding FRR Database Tunnel Head + Summary"; + uses FIB-MPLS-FRR-DB-SUM; + } + container frrdb-backup-interface-summaries { + description + "MPLS forwarding FRR Database Backup Interface + Summary Table"; + list frrdb-backup-interface-summary { + key "interface-name"; + description + "MPLS forwarding FRR Database Backup + Interface Summary"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses FIB-MPLS-FRR-DB-SUM; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-cfg.yang new file mode 100644 index 000000000..95c1fe264 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-cfg.yang @@ -0,0 +1,121 @@ +module Cisco-IOS-XR-filesysinv-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-filesysinv-cfg"; + prefix filesysinv-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR filesysinv package configuration. + + This module contains definitions + for the following management objects: + filesystem-inventory: Filesystem inventory config + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-13 { + description + "Support for OnDemand DirSet and SkipList."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Filesysinv-snapshot { + type enumeration { + enum "incremental" { + value 0; + description + "Incremental"; + } + enum "full" { + value 1; + description + "Full"; + } + } + description + "Filesysinv snapshot"; + } + + container filesystem-inventory { + description + "Filesystem inventory config"; + container dir-sets { + description + "OnDemand config"; + list dir-set { + key "dir-set"; + description + "OnDemand config"; + leaf value { + type string; + description + "List of directories seperated by + space(enclosed in quotes)"; + } + leaf dir-set { + type uint32 { + range "1..5"; + } + description + "Dir Set"; + } + } + } + leaf skip-files { + type string; + description + "Space seperated list of files to be + skipped(enclosed in quotes)"; + } + leaf skip-list { + type string; + description + "Space seperated list of directories to be + skipped(enclosed in quotes)"; + } + leaf enable { + type empty; + description + "Enable Filesystem inventory"; + } + leaf snapshot-type { + type Filesysinv-snapshot; + description + "Type of snapshot to be taken at periodic + intervals. Default is incremental"; + } + leaf snapshot-interval { + type uint32 { + range "1..720"; + } + description + "Snapshot Time interval in 1 hour blocks eg 2 is + 120 minutes"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-deviations.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-deviations.yang new file mode 100644 index 000000000..c450fef43 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-deviations.yang @@ -0,0 +1,36 @@ +module Cisco-IOS-XR-filesysinv-show-oper-deviations { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-filesysinv-show-oper-deviations"; + prefix filesysinv-show-oper-dev; + + import Cisco-IOS-XR-filesysinv-show-oper { + prefix fsinv; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + E-mail: cs-yang@cisco.com"; + description + "This module contains a set of deviations for + on Cisco IOS-XR devices. + Copyright (c) 2016-2017, 2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + deviation "/fsinv:file-system-inventory/fsinv:rack-slots" { + deviate not-supported; + } + deviation "/fsinv:file-system-inventory/fsinv:nodes/fsinv:node/fsinv:snapshot/fsinv:current/fsinv:admin" { + deviate not-supported; + } + deviation "/fsinv:file-system-inventory/fsinv:nodes/fsinv:node/fsinv:snapshot/fsinv:on-demand-all/fsinv:admin" { + deviate not-supported; + } + deviation "/fsinv:file-system-inventory/fsinv:nodes/fsinv:node/fsinv:snapshot/fsinv:all/fsinv:admin" { + deviate not-supported; + } + deviation "/fsinv:file-system-inventory/fsinv:nodes/fsinv:node/fsinv:snapshot/fsinv:all/fsinv:admin/fsinv:snapshot-id" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-sub1.yang new file mode 100644 index 000000000..c7ee7a1e2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper-sub1.yang @@ -0,0 +1,387 @@ +submodule Cisco-IOS-XR-filesysinv-show-oper-sub1 { + belongs-to Cisco-IOS-XR-filesysinv-show-oper { + prefix Cisco-IOS-XR-filesysinv-show-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR filesysinv-show package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Filesysinv-classification { + type enumeration { + enum "unclassified" { + value 0; + description + "Unclassified file type"; + } + enum "executable" { + value 1; + description + "Executable type of file"; + } + enum "direct-ory" { + value 2; + description + "Directory"; + } + enum "config" { + value 3; + description + "Config type of file"; + } + enum "volatile" { + value 4; + description + "Volatile type of file"; + } + enum "library" { + value 5; + description + "Library type of file"; + } + } + description + "File Classification"; + } + + typedef Filesys-inv-digest-algorithm { + type enumeration { + enum "digest-invalid" { + value 0; + description + "DIGEST INVALID"; + } + enum "md5" { + value 1; + description + "MD5"; + } + enum "sha1" { + value 2; + description + "SHA1"; + } + enum "sha256" { + value 3; + description + "SHA256"; + } + enum "sha384" { + value 4; + description + "SHA384"; + } + enum "sha512" { + value 5; + description + "SHA512"; + } + } + description + "Digest Algorithm"; + } + + typedef Filesys-inv-change-kind { + type enumeration { + enum "change-kind-invalid" { + value 0; + description + "Change Kind Invalid"; + } + enum "change-kind-created" { + value 1; + description + "Change Kind Created"; + } + enum "change-kind-contents-modified" { + value 2; + description + "Change Kind Modified"; + } + enum "change-kind-deleted" { + value 3; + description + "Change Kind Deleted"; + } + enum "change-kind-meta-data-modified" { + value 4; + description + "Change Kind Metadata Modified"; + } + } + description + "Change Kind"; + } + + typedef Filesys-inv-package-kind { + type enumeration { + enum "package-invalid" { + value 0; + description + "Package Invalid"; + } + enum "package-rpm" { + value 1; + description + "Package RPM"; + } + enum "package-anonymous" { + value 2; + description + "Package Anonymous"; + } + } + description + "Package Kind"; + } + + typedef Filesys-inv-container { + type enumeration { + enum "container-invalid" { + value 0; + description + "CONTAINER INVALID"; + } + enum "container-host" { + value 1; + description + "CONTAINER HOST"; + } + enum "container-sys-admin" { + value 2; + description + "CONTAINER SYSADMIN"; + } + enum "container-xr" { + value 3; + description + "CONTAINER XR"; + } + } + description + "Container Kind"; + } + + typedef Filesys-inv-signature { + type enumeration { + enum "signature-invalid" { + value 0; + description + "Signature Invalid"; + } + enum "rsa" { + value 1; + description + "RSA"; + } + enum "ecdsa" { + value 2; + description + "ECDSA"; + } + } + description + "Signature Type"; + } + + grouping FILESYS-INV-DIGEST { + description + "Digest"; + leaf algorithm { + type Filesys-inv-digest-algorithm; + description + "Algorithm for this digest"; + } + leaf digest-value { + type string; + description + "Hash of the event data, base64 encoded"; + } + } + + grouping FILESYS-INV-FILE-META-DATA { + description + "File Meta Data"; + leaf uid { + type uint32; + description + "user id"; + } + leaf gid { + type uint32; + description + "group id"; + } + leaf devid { + type uint64; + description + "Device ID on which this file resides"; + } + leaf inode { + type uint64; + description + "Inode number"; + } + leaf blocks { + type uint64; + description + "No of blocks of the file"; + } + leaf size { + type uint64; + units "byte"; + description + "Size of the file in bytes"; + } + leaf atime { + type int64; + description + "Last access time of the file"; + } + leaf mtime { + type int64; + description + "Last Modification time of the file"; + } + leaf ctime { + type int64; + description + "Creation time of the file"; + } + leaf mode { + type uint32; + description + "File type and mode"; + } + } + + grouping FILESYS-INV-FILE { + description + "File"; + container meta { + description + "Metadata of the file"; + uses FILESYS-INV-FILE-META-DATA; + } + container digest { + description + "Digest"; + uses FILESYS-INV-DIGEST; + } + leaf name { + type string; + description + "Complete path of the file"; + } + leaf package-kind { + type Filesys-inv-package-kind; + description + "Package Kind"; + } + leaf change-kind { + type Filesys-inv-change-kind; + description + "Change Kind"; + } + leaf package-name { + type string; + description + "Package Name"; + } + leaf parent-package-name { + type string; + description + "Package Name"; + } + leaf package-version { + type string; + description + "Package version"; + } + leaf classification { + type Filesysinv-classification; + description + "File Classification"; + } + } + + grouping FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT { + description + "FileSystemSignedSnapshot"; + leaf signature { + type uint8; + description + "Signature version designates the format of the + signed data"; + } + leaf signature-version { + type uint32; + description + "Signature Version"; + } + leaf signature-type { + type Filesys-inv-signature; + description + "Signature Type"; + } + leaf snapshot-block-no { + type uint32; + description + "Block No"; + } + leaf snap-time { + type string; + description + "Time when the snapshot was taken"; + } + leaf container { + type Filesys-inv-container; + description + "Container type"; + } + leaf release-version { + type string; + description + "Release Version"; + } + leaf chassis-serial-number { + type string; + description + "Chassis serial number"; + } + list files { + description + "List of entities in snapshot"; + uses FILESYS-INV-FILE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper.yang new file mode 100644 index 000000000..81d0d4376 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-filesysinv-show-oper.yang @@ -0,0 +1,200 @@ +module Cisco-IOS-XR-filesysinv-show-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-filesysinv-show-oper"; + prefix filesysinv-show-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-filesysinv-show-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR filesysinv-show package operational data. + + This module contains definitions + for the following management objects: + file-system-inventory: File System Snapshot operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SNAPSHOT-ID { + description + "Common node of xr, admin"; + list snapshot-id { + key "snapshot-id"; + description + "Snapshot date and time and number"; + container snapshot-info { + description + "Current file system inventory snapshot"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + leaf snapshot-id { + type xr:Cisco-ios-xr-string; + description + "Snapshot id"; + } + } + } + + container file-system-inventory { + config false; + description + "File System Snapshot operational data"; + container rack-slots { + description + "List of nodes (having admin only) with filesys + inv operation data"; + list rack-slot { + key "card-id"; + description + "Card"; + container snapshot { + description + "File SystemInventory Snapshot"; + container on-demand-all { + description + "On Demand Snapshot for Root Directory"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + container current { + description + "Current File SystemInventory Snapshot"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + container snapshot-ids { + description + "File SystemInventory Snapshot"; + list snapshot-id { + key "snapshot-id"; + description + "Snapshot date and time and number"; + container snapshot-info { + description + "Current file system inventory snapshot"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + leaf snapshot-id { + type xr:Cisco-ios-xr-string; + description + "Snapshot id"; + } + } + } + } + leaf card-id { + type xr:Cisco-ios-xr-string; + description + "Card id"; + } + } + } + container nodes { + description + "List of nodes with filesys inv operation data"; + list node { + key "node-name"; + description + "Node with filesys inv operational data"; + container snapshot { + description + "File SystemInventory Snapshot"; + container directory-sets { + description + "OnDemand Configured Snapshot. Only supported + for Full Snapshot type"; + list directory-set { + key "on-demand-dir-set"; + description + "On Demand Snapshot for Configured Directory + Set"; + leaf on-demand-dir-set { + type xr:Cisco-ios-xr-string; + description + "Set id"; + } + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + } + container current { + description + "Current File SystemInventory Snapshot"; + container admin { + description + "Current File SystemInventory Snapshot"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + container xr { + description + "Current File SystemInventory Snapshot"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + } + container all { + description + "List of all available File SystemInventory + Snapshots"; + container admin { + description + "File SystemInventory Snapshot"; + uses SNAPSHOT-ID; + } + container xr { + description + "File SystemInventory Snapshot"; + uses SNAPSHOT-ID; + } + } + container on-demand-all { + description + "On Demand Snapshot for Root Directory. Only + supported for Full Snapshot type"; + container admin { + description + "On Demand Snapshot for Root Directory"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + container xr { + description + "On Demand Snapshot for Root Directory"; + uses FILESYS-INV-FILE-SYSTEM-SIGNED-SNAPSHOT; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-flashmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-flashmib-cfg.yang new file mode 100644 index 000000000..4f4eb9c75 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-flashmib-cfg.yang @@ -0,0 +1,70 @@ +module Cisco-IOS-XR-flashmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-flashmib-cfg"; + prefix flashmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR flashmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-12-15 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container flash { + description + "CISCO-FLASH-MIB notification configuration"; + leaf insertion { + type empty; + description + "Enable ciscoFlashDeviceInsertedNotif + notification"; + } + leaf removal { + type empty; + description + "Enable ciscoFlashDeviceRemovedNotif + notification"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub1.yang new file mode 100644 index 000000000..1baa8716e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub1.yang @@ -0,0 +1,445 @@ +submodule Cisco-IOS-XR-flow-oper-sub1 { + belongs-to Cisco-IOS-XR-flow-oper { + prefix Cisco-IOS-XR-flow-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR flow package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-25 { + description + "Added source-port related field in the exporter information"; + semver:module-version "1.1.0"; + } + revision 2021-06-16 { + description + "Added tunnel egress related options for sflow + 2021-04-23 + Added new node for data-template info"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NFSVR-TEMPLATE-IE-ITEM-ST { + description + "NFSVR TEMPLATE IE ITEM ST"; + leaf ie-name { + type string; + description + "Name of the Information Element"; + } + leaf ie-id { + type uint16; + description + "Integer identifier of the Information Element"; + } + leaf ie-length { + type uint16; + units "byte"; + description + "Length of the Information Element item in bytes"; + } + } + + grouping NFSVR-SHOW-FLOW-DATA-TEMPLATE { + description + "Data Template Info"; + leaf fm-name { + type string; + description + "Name of the flow monitor"; + } + leaf frec-name { + type string; + description + "Name of flow record"; + } + leaf template-description { + type string; + description + "Name of template description"; + } + list v9-ie-array { + description + "Array of template items for v9 export protocol"; + uses NFSVR-TEMPLATE-IE-ITEM-ST; + } + list ipfix-ie-array { + description + "Array of template items for ipfix export + protocol"; + uses NFSVR-TEMPLATE-IE-ITEM-ST; + } + } + + grouping NFSVR-HASH-BUCKET-STATS-RESP { + description + "Bucket stats"; + leaf depth-min { + type uint16; + description + "Minimum depth"; + } + leaf depth-max { + type uint16; + description + "Maximum depth"; + } + leaf curr-depth { + type uint32; + description + "Buckets with current depth in range"; + } + leaf max-depth { + type uint32; + description + "Buckets with maximum depth in range"; + } + } + + grouping NFSVR-SHOW-FLOW-CACHE-RESP-INTERNAL { + description + "Flow cache internal details"; + leaf cache-hits { + type uint64; + description + "Hits"; + } + leaf cache-misses { + type uint64; + description + "Misses"; + } + leaf cache-overflows { + type uint64; + description + "Overflows"; + } + leaf cache-above-hi-water { + type uint64; + description + "Exceed Hi water mark"; + } + leaf flows-dropped-by-ager { + type uint64; + description + "flows dropped by ager"; + } + leaf flows-not-exported-by-clear-cache { + type uint64; + description + "flows not exported by clear cache"; + } + leaf flows-not-aged-export-ring-full { + type uint64; + description + "flows not exported due to exporter ring full"; + } + leaf flows-periodic-export-failure { + type uint64; + description + "flows not exported by updated timeout"; + } + leaf cache-state { + type uint32; + description + "Cache state"; + } + leaf total-memory { + type uint32; + description + "Total memory usage by this monitor"; + } + leaf num-hash-buckets { + type uint64; + description + "Total number of hash buckets"; + } + leaf max-hash-depth { + type uint64; + description + "Summary data"; + } + list bucket-stat { + description + "Hash bucket Statistics"; + uses NFSVR-HASH-BUCKET-STATS-RESP; + } + } + + grouping NFSVR-SHOW-FLOW-CACHE-RESP-SUMMARY { + description + "Flow cache summary"; + leaf cache-name { + type string; + description + "Cache name"; + } + leaf frec-name { + type string; + description + "Typename of flow record"; + } + leaf cache-size { + type uint32; + description + "Cache size"; + } + leaf current-entries { + type uint32; + description + "Current number of entries"; + } + leaf match-entries { + type uint32; + description + "Entries that match this search criteria"; + } + leaf display-entries { + type uint32; + description + "Number of cache entries returned"; + } + leaf high-watermark { + type uint32; + description + "Cache high watermark"; + } + leaf fl-added { + type uint64; + description + "Number of flows added"; + } + leaf fl-dropped { + type uint64; + description + "Number of flows dropped because of cache full"; + } + leaf ager-polls { + type uint64; + description + "Total number of ager polls"; + } + leaf fl-age-active-tout { + type uint64; + description + "Flows aged on active timeout"; + } + leaf fl-age-inactive-tout { + type uint64; + description + "Flows aged on inactive timeout"; + } + leaf fl-age-immediate { + type uint64; + description + "Flows aged immediately"; + } + leaf fl-age-watermark { + type uint64; + description + "Flows aged due to exceeding high water mark"; + } + leaf fl-age-ememrgency { + type uint64; + description + "Flows aged due to emergency aging"; + } + leaf fl-age-tcp-fin { + type uint64; + description + "Flows aged due to TCP FIN"; + } + leaf fl-age-counter-wrap { + type uint64; + description + "Flows aged due to counter wrap"; + } + leaf fl-tcp-fin { + type uint64; + description + "Flows exported with TCP FIN"; + } + leaf fl-counter-wrap { + type uint64; + description + "Flows exported with counter wrap"; + } + leaf fl-exported { + type uint64; + description + "Total flows given to the exporter"; + } + leaf sflow-flow-samples { + type uint64; + description + "sFlow flow samples which came in"; + } + leaf sflow-counter-samples { + type uint64; + description + "sFlow counter samples which came in"; + } + } + + grouping NFSVR-SHOW-FLOW-CACHE-RESP-SINGLE-MONITOR-MAP { + description + "Response to a show cache internal cmd for a + single monitor"; + container summary { + description + "Summary of the flow cache"; + uses NFSVR-SHOW-FLOW-CACHE-RESP-SUMMARY; + } + container internal { + description + "Internal info of the flow cache"; + uses NFSVR-SHOW-FLOW-CACHE-RESP-INTERNAL; + } + } + + grouping NFSVR-TRING-BAG { + description + "NFSVR TRING BAG"; + leaf exist-flag { + type uint8; + description + "Flag where name exists or not"; + } + leaf name { + type string; + description + "Name of flow exporter"; + } + } + + grouping NFSVR-SHOW-FLOW-MONITOR-BASIC { + description + "Basic flow monitor information"; + leaf fm-name { + type string; + description + "Name of the flow monitor"; + } + leaf frec-name { + type string; + description + "Name of flow record"; + } + leaf num-labels { + type uint32; + description + "Number of labels"; + } + leaf aging-mode { + type uint32; + description + "Type of cache"; + } + leaf num-entries { + type uint32; + description + "Total number of cache entries"; + } + leaf inactive-timeout { + type uint32; + description + "Cache inactive timeout"; + } + leaf active-timeout { + type uint32; + description + "Cache active timeout"; + } + leaf update-timeout { + type uint32; + description + "Cache update timeout"; + } + leaf rate-limit { + type uint32; + description + "Cache timeout rate-limit"; + } + leaf options { + type uint32; + description + "flow monitor options"; + } + leaf sflow-ext-router { + type uint8; + description + "sFlow extended router enabled"; + } + leaf sflow-ext-gateway { + type uint8; + description + "sFlow extended gateway enabled"; + } + leaf sflow-input-ifindex-physical { + type uint8; + description + "sFlow Using input physical interface ifindex"; + } + leaf sflow-output-ifindex-physical { + type uint8; + description + "sFlow Using output physical interface ifindex"; + } + leaf sflow-sample-header-max { + type uint32; + description + "sFlow Maximum size of packet header to be + exported"; + } + leaf sflow-if-stats-interval { + type uint32; + description + "sFlow if_stats counter sampling interval"; + } + leaf sflow-ext-ipv4-tun-egress { + type uint8; + description + "sFlow extended ipv4 tunnel egress enabled"; + } + leaf sflow-ext-ipv6-tun-egress { + type uint8; + description + "sFlow extended ipv6 tunnel egress enabled"; + } + list fe-name { + max-elements "8"; + description + "Name of flow exporter"; + uses NFSVR-TRING-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub2.yang new file mode 100644 index 000000000..046f4f331 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper-sub2.yang @@ -0,0 +1,382 @@ +submodule Cisco-IOS-XR-flow-oper-sub2 { + belongs-to Cisco-IOS-XR-flow-oper { + prefix Cisco-IOS-XR-flow-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR flow package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-25 { + description + "Added source-port related field in the exporter information"; + semver:module-version "1.1.0"; + } + revision 2021-06-16 { + description + "Added tunnel egress related options for sflow + 2021-04-23 + Added new node for data-template info"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Flow-monitor-name { + type string; + description + "Flow monitor name"; + } + + grouping NFSVR-COLLECTOR-INFO { + description + "Per collector information"; + leaf exporter-state { + type string; + description + "Exporter state"; + } + leaf destination-address { + type string; + description + "Destination IPv4 address in AAA.BBB.CCC.DDD + format"; + } + leaf source-address { + type string; + description + "Source IPv4 address in AAA.BBB.CCC.DDD format"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf destination-port { + type uint16; + description + "Destination port number"; + } + leaf souce-port { + type uint16; + description + "Source port number"; + } + leaf transport-protocol { + type string; + description + "Transport protocol"; + } + leaf packets-sent { + type uint64; + description + "Packets sent"; + } + leaf flows-sent { + type uint64; + description + "Flows sent"; + } + leaf templates-sent { + type uint64; + description + "Templates sent"; + } + leaf option-templates-sent { + type uint64; + description + "Option templates sent"; + } + leaf option-data-sent { + type uint64; + description + "Option data sent"; + } + leaf bytes-sent { + type uint64; + units "byte"; + description + "Bytes sent"; + } + leaf flow-bytes-sent { + type uint64; + units "byte"; + description + "Flow bytes sent"; + } + leaf template-bytes-sent { + type uint64; + units "byte"; + description + "Template bytes sent"; + } + leaf option-template-bytes-sent { + type uint64; + units "byte"; + description + "Option template bytes sent"; + } + leaf option-data-bytes-sent { + type uint64; + units "byte"; + description + "Option data bytes sent"; + } + leaf packets-dropped { + type uint64; + description + "Packets dropped"; + } + leaf flows-dropped { + type uint64; + description + "Flows dropped"; + } + leaf templates-dropped { + type uint64; + description + "Templates dropped"; + } + leaf option-templates-dropped { + type uint64; + description + "Option templates dropped"; + } + leaf option-data-dropped { + type uint64; + description + "Option data dropped"; + } + leaf bytes-dropped { + type uint64; + units "byte"; + description + "Bytes dropped"; + } + leaf flow-bytes-dropped { + type uint64; + units "byte"; + description + "Flow bytes dropped"; + } + leaf template-bytes-dropped { + type uint64; + units "byte"; + description + "Template bytes dropped"; + } + leaf option-template-bytes-dropped { + type uint64; + units "byte"; + description + "Option template bytes dropped"; + } + leaf option-data-bytes-dropped { + type uint64; + description + "Option data dropped"; + } + leaf last-hour-packest-sent { + type uint64; + description + "Total packets exported over the last one hour"; + } + leaf last-hour-bytes-sent { + type uint64; + units "byte"; + description + "Total bytes exported over the last one hour"; + } + leaf last-hour-flows-sent { + type uint64; + description + "Total flows exported over the of last one hour"; + } + leaf last-minute-packets { + type uint64; + description + "Total packets exported over the last one minute"; + } + leaf last-minute-bytes-sent { + type uint64; + units "byte"; + description + "Total bytes exported over the last one minute"; + } + leaf last-minute-flows-sent { + type uint64; + description + "Total flows exported over the last one minute"; + } + leaf last-second-packets-sent { + type uint64; + description + "Total packets exported over the last one second"; + } + leaf last-second-bytes-sent { + type uint64; + units "byte"; + description + "Total bytes exported over the last one second"; + } + leaf last-second-flows-sent { + type uint64; + description + "Total flows exported over the last one second"; + } + } + + grouping NFSVR-SHOW-FLOW-EXPORTER-RESP-STATS { + description + "Flow exporter information"; + leaf name { + type string; + description + "Exporter name"; + } + leaf protocol { + type string; + description + "Export Protocol Name"; + } + leaf memory-usage { + type uint32; + description + "Memory usage"; + } + leaf-list used-by-flow-monitor { + type Flow-monitor-name; + description + "List of flow monitors that use the exporter"; + } + list collector { + description + "Statistics of all collectors"; + uses NFSVR-COLLECTOR-INFO; + } + } + + grouping NFSVR-EXPORT-SERVER-OPER-CONFIG { + description + "Exporter operational config"; + leaf exporter-map-name { + type string; + description + "Exporter-map Name"; + } + leaf protocol { + type string; + description + "Export Protocol Name"; + } + leaf destination-address { + type string; + description + "Destination IPv4 address in AAA.BBB.CCC.DDD + format"; + } + leaf source-address { + type string; + description + "Source IPv4 address in AAA.BBB.CCC.DDD format"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf destination-port { + type uint16; + description + "Destination port number"; + } + leaf source-port { + type uint16; + description + "Source port number"; + } + leaf transport-protocol { + type string; + description + "Transport protocol"; + } + leaf df-bit-set { + type uint8; + description + "Do Not Fragment option is set"; + } + leaf dscp-value { + type uint8; + description + "IPv4 DSCP or IPv6 Traffic class value"; + } + leaf packet-length { + type uint32; + description + "Maximum length of export packet excluding L2 + header"; + } + leaf common-template-export-timeout { + type uint32; + units "second"; + description + "Common template export timeout in seconds"; + } + leaf data-template-export-timeout { + type uint32; + units "second"; + description + "Data template export timeout in seconds"; + } + leaf options-template-export-timeout { + type uint32; + units "second"; + description + "Options template export timeout in seconds"; + } + leaf sampler-table-export-timeout { + type uint32; + units "second"; + description + "Sampler table export timeout in seconds"; + } + leaf interface-table-export-timeout { + type uint32; + units "second"; + description + "Interface table export timeout in seconds"; + } + leaf vrf-table-export-timeout { + type uint32; + units "second"; + description + "VRF table export timeout in seconds"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper.yang new file mode 100644 index 000000000..b635aabf8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-flow-oper.yang @@ -0,0 +1,139 @@ +module Cisco-IOS-XR-flow-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-flow-oper"; + prefix flow-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-flow-oper-sub2 { + revision-date 2022-09-25; + } + include Cisco-IOS-XR-flow-oper-sub1 { + revision-date 2022-09-25; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR flow package operational data. + + This module contains definitions + for the following management objects: + flow: Flow operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-25 { + description + "Added source-port related field in the exporter information"; + semver:module-version "1.1.0"; + } + revision 2021-06-16 { + description + "Added tunnel egress related options for sflow + 2021-04-23 + Added new node for data-template info"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container flow { + config false; + description + "Flow operational data"; + container nodes { + description + "Node table for node-specific operational data"; + list node { + key "node-name"; + description + "Node-specific data for a particular node"; + container flow-server { + description + "Flow server related"; + container exporter-map-names { + description + "Exporter-map related"; + list exporter-map-name { + key "exporter-map-name"; + description + "Exporter-map name"; + container operational-config { + description + "Exporter-map operational configuration"; + uses NFSVR-EXPORT-SERVER-OPER-CONFIG; + } + container operational-data { + description + "Exporter-map operational data"; + uses NFSVR-SHOW-FLOW-EXPORTER-RESP-STATS; + } + leaf exporter-map-name { + type xr:Cisco-ios-xr-string; + description + "The name of the exporter-map"; + } + } + } + container monitor-map-names { + description + "Monitor-map related"; + list monitor-map-name { + key "monitor-map-name"; + description + "Monitor-map name"; + container operational-config { + description + "Monitor-map operational configuration"; + uses NFSVR-SHOW-FLOW-MONITOR-BASIC; + } + container operational-data { + description + "Monitor-map operational data"; + uses NFSVR-SHOW-FLOW-CACHE-RESP-SINGLE-MONITOR-MAP; + } + container data-template { + description + "Monitor-map data template information"; + uses NFSVR-SHOW-FLOW-DATA-TEMPLATE; + } + leaf monitor-map-name { + type xr:Cisco-ios-xr-string; + description + "The name of the monitor-map"; + } + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-cfg.yang new file mode 100644 index 000000000..39b0357dd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-cfg.yang @@ -0,0 +1,258 @@ +module Cisco-IOS-XR-flowspec-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-flowspec-cfg"; + prefix flowspec-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR flowspec package configuration. + + This module contains definitions + for the following management objects: + flow-spec: FlowSpec configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fs-vrf-af { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 FlowSpec"; + } + enum "ipv6" { + value 2; + description + "IPv6 FlowSpec"; + } + } + description + "Fs vrf af"; + } + + typedef Fs-af-p { + type enumeration { + enum "pbr" { + value 2; + description + "PBR policy type"; + } + } + description + "Fs af p"; + } + + typedef Fs-addf { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 FlowSpec"; + } + enum "ipv6" { + value 2; + description + "IPv6 FlowSpec"; + } + } + description + "Fs addf"; + } + + typedef Fs-vrf-af-p { + type enumeration { + enum "pbr" { + value 2; + description + "PBR policy type"; + } + } + description + "Fs vrf af p"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv4-flow-spec { + description + "Flowspec on IPv4 interface"; + leaf enabled { + type empty; + description + "Disable FlowSpec on this interface"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv6-flow-spec { + description + "Flowspec on IPv6 interface"; + leaf enabled { + type empty; + description + "Disable flowspec on interface"; + } + } + } + container flow-spec { + description + "FlowSpec configuration"; + container afs { + description + "Table of AF"; + list af { + key "af-name"; + description + "Address Family Identifier Type (IPv4/IPv6)"; + container service-policies { + description + "Table of ServicePolicy"; + list service-policy { + key "policy-type policy-name"; + description + "Service Policy configuration"; + leaf policy-type { + type Fs-af-p; + description + "Choose the Policy type"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Policy map name"; + } + leaf local { + type boolean; + mandatory true; + description + "Set constant integer"; + } + } + } + leaf interface-all { + type empty; + description + "Install FlowSpec policy on all interfaces"; + } + leaf af-name { + type Fs-addf; + description + "AFI type"; + } + } + } + container vrfs { + description + "Table of VRF"; + list vrf { + key "vrf-name"; + description + "VRF configuration"; + container afs { + description + "Table of AF"; + list af { + key "af-name"; + description + "Address Family Identifier Type (IPv4/IPv6)"; + container service-policies { + description + "Table of ServicePolicy"; + list service-policy { + key "policy-type policy-name"; + description + "Service Policy configuration"; + leaf policy-type { + type Fs-af-p; + description + "Choose the Policy type"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Policy map name"; + } + leaf local { + type boolean; + mandatory true; + description + "Set constant integer"; + } + } + } + leaf interface-all { + type empty; + description + "Install FlowSpec policy on all interfaces"; + } + leaf af-name { + type Fs-vrf-af; + description + "AFI type"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + } + } + leaf enable { + type empty; + description + "Enable FlowSpec configuration. Deletion of this + object also causes deletion of all associated + objects under FlowSpec."; + } + leaf interface-all { + type empty; + description + "Install FlowSpec policy on all interfaces"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper-sub1.yang new file mode 100644 index 000000000..f7a347997 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper-sub1.yang @@ -0,0 +1,152 @@ +submodule Cisco-IOS-XR-flowspec-oper-sub1 { + belongs-to Cisco-IOS-XR-flowspec-oper { + prefix Cisco-IOS-XR-flowspec-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR flowspec package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fs-mgr-client-state { + type enumeration { + enum "dormant" { + description + "Dormant"; + } + enum "connected" { + description + "Connected"; + } + enum "replay" { + description + "Replay"; + } + enum "unconfigured" { + description + "Unconfigured"; + } + } + description + "FlowSpec manager client state"; + } + + grouping FS-MGR-FLOW-STATS-CTRS { + description + "Flowspec class stats counters."; + leaf packets { + type uint64; + description + "Number of packets"; + } + leaf bytes { + type uint64; + units "byte"; + description + "Number of bytes"; + } + } + + grouping FS-MGR-FLOW-STATS { + description + "Flowspec class classified and drop stats."; + container classified { + description + "Classified statistics"; + uses FS-MGR-FLOW-STATS-CTRS; + } + container dropped { + description + "Drop statistics"; + uses FS-MGR-FLOW-STATS-CTRS; + } + } + + grouping FS-MGR-NLRI { + description + "FlowSpec manager NLRI information"; + container flow-statistics { + description + "Flow statistics"; + uses FS-MGR-FLOW-STATS; + } + } + + grouping FS-MGR-TBL-SUMMARY { + description + "FlowSpec manager table summary information"; + leaf total-flows { + type uint32; + description + "Total number of flows"; + } + leaf service-policies { + type uint32; + description + "Total number of attached service policies"; + } + leaf local-install-enabled { + type boolean; + description + "Local installation of flowspec rules"; + } + } + + grouping FS-MGR-SUMMARY { + description + "FlowSpec manager summary information"; + leaf vrfafi-tables { + type uint32; + description + "Total VRF+AFI tables"; + } + leaf flows { + type uint32; + description + "Total flows"; + } + } + + grouping FS-MGR-CLIENT { + description + "FlowSpec manager client information"; + leaf client-state { + type Fs-mgr-client-state; + description + "State of FS client"; + } + leaf client-flows { + type uint32; + description + "Number of client flows"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper.yang new file mode 100644 index 000000000..7dbe40a02 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-flowspec-oper.yang @@ -0,0 +1,174 @@ +module Cisco-IOS-XR-flowspec-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-flowspec-oper"; + prefix flowspec-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-flowspec-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR flowspec package operational data. + + This module contains definitions + for the following management objects: + flow-spec: FlowSpec information + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fs-client { + type enumeration { + enum "bgp" { + value 0; + description + "FlowSpec BGP Client"; + } + enum "one-pk" { + value 1; + description + "FlowSpec OneP Client"; + } + enum "policy" { + value 2; + description + "FlowSpec Policy Client"; + } + enum "ha" { + value 3; + description + "FlowSpec HA Client"; + } + enum "test" { + value 4; + description + "FlowSpec Test Client"; + } + } + description + "Fs client"; + } + + container flow-spec { + config false; + description + "FlowSpec information"; + container clients { + description + "Table of Client"; + list client { + description + "FlowSpec client information"; + leaf client-type { + type Fs-client; + description + "FlowSpec Client Type"; + } + leaf client-id { + type uint32; + description + "FlowSpec client ID"; + } + uses FS-MGR-CLIENT; + } + } + container summary { + description + "FlowSpec summary"; + uses FS-MGR-SUMMARY; + } + container vrfs { + description + "Table of VRF"; + list vrf { + key "vrf-name"; + description + "VRF information"; + container afs { + description + "Table of AF"; + list af { + key "af-name"; + description + "AFI Type (IPv4/IPv6)"; + container table-summary { + description + "FlowSpec summary for VRF+AFI tables"; + uses FS-MGR-TBL-SUMMARY; + } + container nlris { + description + "Table of NLRI"; + list nlri { + key "nlri-bytes"; + description + "NLRI information (hexdump)"; + leaf nlri-bytes { + type xr:Cisco-ios-xr-string; + description + "Enter NLRI hex string"; + } + uses FS-MGR-NLRI; + } + } + container flows { + description + "Table of Flow"; + list flow { + key "flow-notation"; + description + "Flow notation string"; + leaf flow-notation { + type string; + description + "Enter the Flow notation string"; + } + uses FS-MGR-NLRI; + } + } + leaf af-name { + type xr:Cisco-ios-xr-string; + description + "Set string"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fpd-infra-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fpd-infra-cfg.yang new file mode 100644 index 000000000..f5a99ed43 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fpd-infra-cfg.yang @@ -0,0 +1,130 @@ +module Cisco-IOS-XR-fpd-infra-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fpd-infra-cfg"; + prefix fpd-infra-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fpd-infra package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-fpd-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + fpd: FPD Configuration + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-05 { + description + "Deprecated the native model, replaced by UM model in Exr."; + semver:module-version "1.0.1m"; + } + revision 2020-07-06 { + description + "Added auto-upgrade config in display"; + semver:module-version "1.0.0"; + } + revision 2020-05-21 { + description + "Separating eXR and LNT versions for module"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Auto-reload { + type enumeration { + enum "disable" { + value 0; + description + "fpd auto-reload disable"; + } + enum "enable" { + value 1; + description + "fpd auto-reload enable"; + } + } + description + "Auto reload"; + } + + typedef Exclude { + type enumeration { + enum "pm" { + value 1; + description + "fpd auto-upgrade exclude power module"; + } + } + description + "Exclude"; + } + + typedef Auto-upgrade { + type enumeration { + enum "disable" { + value 0; + description + "fpd auto-upgrade disable"; + } + enum "enable" { + value 1; + description + "fpd auto-upgrade enable"; + } + } + description + "Auto upgrade"; + } + + container fpd { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-fpd-cfg.yang which will provide + the compatible functionalities. FPD + Configuration"; + leaf auto-reload { + type Auto-reload; + description + "Enable or disable fpd auto-reload"; + } + leaf exclude { + type Exclude; + description + "Exclude entity for fpd auto-upgrade"; + } + leaf auto-upgrade { + type Auto-upgrade; + description + "Enable or disable fpd auto-upgrade"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-cfg.yang new file mode 100644 index 000000000..e4ec6025f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-cfg.yang @@ -0,0 +1,243 @@ +module Cisco-IOS-XR-fpmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fpmgr-cfg"; + prefix fpmgr-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fpmgr package configuration. + + This module contains definitions + for the following management objects: + fault-manager: Fault mgr + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nsas { + type enumeration { + enum "unknown" { + value 0; + description + "Unkown severity"; + } + enum "nonreported" { + value 1; + description + "Non reported severity"; + } + enum "nonfaulted" { + value 2; + description + "Non faulted severity"; + } + enum "minor" { + value 3; + description + "Minor severity"; + } + enum "major" { + value 4; + description + "Major severity"; + } + enum "critical" { + value 5; + description + "Critical severity"; + } + } + description + "Nsas"; + } + + typedef Sas { + type enumeration { + enum "unknown" { + value 0; + description + "Unkown severity"; + } + enum "nonreported" { + value 1; + description + "Non reported severity"; + } + enum "nonfaulted" { + value 2; + description + "Non faulted severity"; + } + enum "minor" { + value 3; + description + "Minor severity"; + } + enum "major" { + value 4; + description + "Major severity"; + } + enum "critical" { + value 5; + description + "Critical severity"; + } + } + description + "Sas"; + } + + container fault-manager { + description + "Fault mgr"; + list fault-profile { + key "fault-profile-name"; + description + "Fault profile name"; + container racks { + description + "Apply fault profile"; + list rack { + key "rack"; + description + "rack numnber"; + leaf rack { + type xr:Cisco-ios-xr-string; + description + " "; + } + list slot { + key "slot"; + description + "None"; + container ports { + description + "Configure a port"; + list port { + key "port"; + description + "None"; + leaf propagate { + type uint32; + description + "Propagate fault profile on child entities + of port"; + } + leaf port { + type xr:Cisco-ios-xr-string; + description + " "; + } + } + } + leaf propagate { + type uint32; + description + "Apply fault profile on child entities of + card"; + } + leaf slot { + type xr:Cisco-ios-xr-string; + description + " "; + } + } + } + } + container subsystems { + description + "Fault identifier"; + list subsystem { + key "subsystem"; + description + "Subsystem name"; + leaf subsystem { + type xr:Cisco-ios-xr-string; + description + " "; + } + list fault-type { + key "fault-type"; + description + "Fault type name"; + leaf fault-type { + type xr:Cisco-ios-xr-string; + description + " "; + } + list fault-tag { + key "fault-tag"; + description + "Fault tag name"; + leaf fault-tag { + type xr:Cisco-ios-xr-string; + description + " "; + } + leaf sas { + type Sas; + description + "Fault severity selection"; + } + leaf nsas { + type Nsas; + description + "Fault severity selection"; + } + } + } + } + } + leaf description { + type string { + length "1..128"; + } + description + "Fault profile description"; + } + leaf enable { + type empty; + description + "Enable Fault profile name. Deletion of this + object also causes deletion of all associated + objects under FaultProfile."; + } + leaf fault-profile-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Fault profile"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper-sub1.yang new file mode 100644 index 000000000..9d1ba1eb6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper-sub1.yang @@ -0,0 +1,253 @@ +submodule Cisco-IOS-XR-fpmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-fpmgr-oper { + prefix Cisco-IOS-XR-fpmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR fpmgr package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FP-SHOW-DEFAULT-PROFILE { + description + "fp show default profile"; + leaf fault-tag { + type string; + description + "fault tag"; + } + leaf sas-severity { + type string; + description + "default SAS Severity"; + } + leaf nsas-severity { + type string; + description + "default NSAS Severity "; + } + } + + grouping FP-SHOW-DEFAULT-PROFILE-LIST { + description + "fp show default profile"; + list fault-tag { + description + "default profile list"; + uses FP-SHOW-DEFAULT-PROFILE; + } + } + + grouping FP-SHOW-FP-FAULT-TAG { + description + "fp show fault tag"; + leaf fault-tag { + type string; + description + "fault tag"; + } + } + + grouping FP-SHOW-FP-FAULT-TAG-LIST { + description + "fp show fault tags"; + list fault-tag { + description + "fault tag list"; + uses FP-SHOW-FP-FAULT-TAG; + } + } + + grouping FP-SHOW-FP-DETAIL-DATA { + description + "fp show fault profile detail data"; + leaf profile-id { + type int32; + description + "fault profile id"; + } + leaf profile-name { + type string; + description + "profile name"; + } + leaf profile-type { + type string; + description + "profile type"; + } + leaf location { + type string; + description + "location name"; + } + leaf status { + type string; + description + "fault profile status"; + } + leaf root-entity { + type string; + description + "root entity name"; + } + leaf entity-count { + type int32; + description + "number of entities"; + } + } + + grouping FP-SHOW-FP-DETAIL { + description + "fp show fault profile detail info "; + list detail-info { + description + "fault profile detail info"; + uses FP-SHOW-FP-DETAIL-DATA; + } + } + + grouping FP-SHOW-FP-STATISTIC-DATA { + description + "fp show fault profile statistic data"; + leaf profile-id { + type int32; + description + "fault profile id"; + } + leaf root-entity { + type string; + description + "root entity name"; + } + leaf entity-count { + type int32; + description + "number of entities"; + } + } + + grouping FP-SHOW-FP-LOCATION-NAME { + description + "fp show line card location name string"; + leaf location-name { + type string; + description + "line card name"; + } + } + + grouping FP-SHOW-FP-LOCATION-NAME-LIST { + description + "fp show line card location name string list"; + list location-name { + description + "line card name list"; + uses FP-SHOW-FP-LOCATION-NAME; + } + } + + grouping FP-SHOW-FP-INTERNAL-DATA { + description + "fp show fault profile internal data"; + leaf profile-id { + type int32; + description + "fault profile id"; + } + leaf profile-name-xr { + type string; + description + "fault profile name"; + } + leaf profile-type { + type string; + description + "profile type"; + } + leaf location { + type string; + description + "location name"; + } + leaf status { + type string; + description + "fault profile status"; + } + leaf root-entity { + type string; + description + "root entity name"; + } + leaf entity-count { + type int32; + description + "number of entities"; + } + leaf subsystem { + type string; + description + "sub system"; + } + } + + grouping FP-SHOW-FP-BRIEF-DATA { + description + "fp show fault profile brief data"; + leaf profile-id { + type int32; + description + "fault prfoile id"; + } + leaf profile-name { + type string; + description + "fault profile name"; + } + leaf description { + type string; + description + "fault profile description"; + } + } + + grouping FP-SHOW-FP-BRIEF { + description + "fp show fault profile brief info"; + list brief-info { + description + "fault profile brief info"; + uses FP-SHOW-FP-BRIEF-DATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper.yang new file mode 100644 index 000000000..8c0b4da6c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fpmgr-oper.yang @@ -0,0 +1,170 @@ +module Cisco-IOS-XR-fpmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fpmgr-oper"; + prefix fpmgr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-fpmgr-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fpmgr package operational data. + + This module contains definitions + for the following management objects: + fault-profile: Show fault profile + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container fault-profile { + config false; + description + "Show fault profile"; + container brief { + description + "Display brief fault profile info"; + uses FP-SHOW-FP-BRIEF; + } + container internals { + description + "Table of Internal"; + list internal { + key "profile-name"; + description + "Display fault profile details"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Fault profile name"; + } + uses FP-SHOW-FP-INTERNAL-DATA; + } + } + container location-lc-names { + description + "Get rack numbers"; + list location-lc-name { + key "location-rack-name"; + description + "Get line card names"; + container location-lc-name-str { + description + "Get line card names"; + uses FP-SHOW-FP-LOCATION-NAME-LIST; + } + leaf location-rack-name { + type xr:Cisco-ios-xr-string; + description + "Rack number"; + } + } + } + container statistics { + description + "Table of Statistics"; + list statistic { + key "profile-name"; + description + "Display fault profile statistics"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Fault profile name"; + } + uses FP-SHOW-FP-STATISTIC-DATA; + } + } + container detail { + description + "Display detailed fault profile info"; + uses FP-SHOW-FP-DETAIL; + } + container fault-id-fault-types { + description + "Get subsystem ids"; + list fault-id-fault-type { + key "fault-id-subsystem-name"; + description + "Get fault types"; + leaf fault-id-subsystem-name { + type xr:Cisco-ios-xr-string; + description + "Subsystem name"; + } + list fault-id-fault-tag { + key "fault-id-fault-type-name"; + description + "Get fault tags"; + container fault-id-fault-tag-names { + description + "Get fault tags"; + uses FP-SHOW-FP-FAULT-TAG-LIST; + } + leaf fault-id-fault-type-name { + type xr:Cisco-ios-xr-string; + description + "Fault type name"; + } + } + } + } + container default-profile-fault-types { + description + "Get default subsystem profiles"; + list default-profile-fault-type { + key "fault-id-subsystem-name"; + description + "Get fault types"; + leaf fault-id-subsystem-name { + type xr:Cisco-ios-xr-string; + description + "Subsystem name"; + } + list default-profile-fault-tag { + key "fault-id-fault-type-name"; + description + "Get fault tags"; + container default-profile-fault-value-names { + description + "Get fault tags"; + uses FP-SHOW-DEFAULT-PROFILE-LIST; + } + leaf fault-id-fault-type-name { + type xr:Cisco-ios-xr-string; + description + "Fault type name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-cfg.yang new file mode 100644 index 000000000..5ff4a8a4a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-cfg.yang @@ -0,0 +1,449 @@ +module Cisco-IOS-XR-freqsync-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-cfg"; + prefix freqsync-cfg; + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-config-mda-cfg { + prefix node; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-freqsync-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR freqsync package configuration. + + This module contains definitions + for the following management objects: + frequency-synchronization: Frequency Synchronization global + configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg, + Cisco-IOS-XR-ifmgr-cfg + Cisco-IOS-XR-config-mda-cfg + modules with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-15 { + description + "Fixed must conditions bug."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fsync-system-timing-mode { + type enumeration { + enum "line-only" { + value 2; + description + "Line-interfaces only"; + } + enum "clock-only" { + value 3; + description + "Clock-interfaces only"; + } + } + description + "Fsync system timing mode"; + } + + typedef Fsync-clock-source { + type enumeration { + enum "system" { + value 1; + description + "System"; + } + enum "independent" { + value 3; + description + "Independent"; + } + } + description + "Fsync clock source"; + } + + typedef Fsync-source-selection-logging { + type enumeration { + enum "changes" { + value 1; + description + "Log both selection changes and errors"; + } + enum "errors" { + value 2; + description + "Log selection errors"; + } + } + description + "Fsync source selection logging"; + } + + typedef Freq-sync-quality-level { + type enumeration { + enum "dnu" { + value 1; + description + "DNU"; + } + enum "prc" { + value 2; + description + "PRC"; + } + enum "sec" { + value 3; + description + "SEC"; + } + enum "ssua" { + value 4; + description + "SSU A"; + } + enum "ssub" { + value 5; + description + "SSU B"; + } + } + description + "Freq sync quality level"; + } + + grouping NODE-CFG { + description + "active/preconfigured nodes configuration"; + container clock-interface { + description + "Configuration for a clock interface"; + container clocks { + description + "Configuration for a clock interface"; + list clock { + key "clock-type port"; + description + "Configuration for a clock interface"; + container frequency-synchronization { + description + "Frequency Synchronization clock configuraiton"; + container output-quality-level { + description + "Set the output quality level"; + leaf quality-level-option { + type dt1:Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + container input-quality-level { + description + "Set the input quality level"; + leaf quality-level-option { + type dt1:Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + leaf wait-to-restore-time { + type uint32 { + range "0..12"; + } + default "5"; + description + "Set the wait-to-restore time for this source"; + } + leaf priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Set the priority of this source"; + } + leaf selection-input { + type empty; + description + "Assign this source as a selection input"; + } + leaf time-of-day-priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Set the time-of-day priority of this source"; + } + leaf ssm-disable { + type empty; + description + "Disable SSM on this source"; + } + } + leaf clock-type { + type dt1:Fsync-clock; + description + "Clock type"; + } + leaf port { + type uint32; + description + "Clock port"; + } + } + } + } + } + + augment "/a2:interface-configurations/a2:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container frequency-synchronization { + presence "CLI submode compatibility."; + description + "Frequency Synchronization interface + configuration"; + container input-quality-level { + description + "Set the input quality level"; + leaf quality-level-option { + type dt1:Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + container output-quality-level { + description + "Set the output quality level"; + leaf quality-level-option { + type dt1:Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + leaf ssm-disable { + type empty; + description + "Disable SSM on this source"; + } + leaf time-of-day-priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Set the time-of-day priority of this source"; + } + leaf selection-input { + type empty; + description + "Assign this source as a selection input"; + } + leaf enable { + type empty; + description + "Enable Frequency Synchronization"; + } + leaf priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Set the priority of this source"; + } + leaf wait-to-restore-time { + type uint32 { + range "0..12"; + } + default "5"; + description + "Set the wait-to-restore time for this source"; + } + } + } + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container frequency-synchronization { + description + "Frequency Synchronization trap configuration"; + leaf enable { + type empty; + description + "Enable Frequency Synchronization traps"; + } + leaf qlt { + type Freq-sync-quality-level; + description + "Enable Frequency Synchronization QLT trap"; + } + } + } + augment "/node:active-nodes/node:active-node" { + description + "This augment extends active nodes configuration"; + uses NODE-CFG; + } + augment "/node:preconfigured-nodes/node:preconfigured-node" { + description + "This augment extends preconfigured nodes + configuration"; + uses NODE-CFG; + } + container frequency-synchronization { + presence "CLI submode compatibility."; + description + "Frequency Synchronization global configuration"; + leaf clock-identity { + type yang:mac-address; + description + "Local clock ID"; + } + leaf quality-level-option { + type dt1:Fsync-ql-option; + default "option-1"; + description + "Quality level option"; + } + leaf source-selection-logging { + type Fsync-source-selection-logging; + description + "Source selection logging option"; + } + leaf clock-interface-source-type { + type Fsync-clock-source; + description + "Clock interface source type"; + } + leaf system-timing-mode { + type Fsync-system-timing-mode; + description + "System timing mode"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-datatypes.yang new file mode 100644 index 000000000..7f81ddd63 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-datatypes.yang @@ -0,0 +1,348 @@ +module Cisco-IOS-XR-freqsync-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-datatypes"; + prefix freqsync-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-13 { + description + "Added ePRC QL code."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fsync-ql-option { + type enumeration { + enum "option-1" { + value 1; + description + "ITU-T Option 1"; + } + enum "option-2,-generation-1" { + value 2; + description + "ITU-T Option 2, Generation 1"; + } + enum "option-2,-generation-2" { + value 3; + description + "ITU-T Option 2, Generation 2"; + } + } + description + "Fsync ql option"; + } + + typedef Gnss1pps-polarity { + type enumeration { + enum "positive" { + value 0; + description + "Positive 1PPS polarity"; + } + enum "negative" { + value 1; + description + "Negative 1PPS polarity"; + } + } + description + "Gnss1pps polarity"; + } + + typedef Gnss-constellation { + type enumeration { + enum "auto" { + value 0; + description + "Unicast communication"; + } + enum "gps" { + value 1; + description + "GPS constellation"; + } + enum "galileo" { + value 2; + description + "Galileo constellation"; + } + enum "bei-dou" { + value 3; + description + "BeiDou constellation"; + } + enum "qzss" { + value 4; + description + "QZSS constellation"; + } + enum "glonass" { + value 5; + description + "GLONASS constellation"; + } + enum "sbas" { + value 6; + description + "SBAS constellation"; + } + enum "irnss" { + value 7; + description + "IRNSS constellation"; + } + } + description + "Gnss constellation"; + } + + typedef Fsync-clock { + type enumeration { + enum "sync" { + value 3; + description + "Synchronous clock"; + } + enum "internal" { + value 4; + description + "Internal clock"; + } + enum "gnss" { + value 8; + description + "GNSS receiver"; + } + } + description + "Fsync clock"; + } + + typedef Fsync-ql-value { + type enumeration { + enum "dnu" { + value 1; + description + "This signal should not be used for + synchronization"; + } + enum "o1-e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference + timing clock"; + } + enum "o1-prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "o1-prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "o1-ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V slave clock"; + } + enum "o1-ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV slave clock"; + } + enum "o1-e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment + clock"; + } + enum "o1-eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "o1-sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "o1-e-prc" { + value 28; + description + "ITU-T Option 1: Enhanced primary reference + clock"; + } + enum "o2-g1-e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary + reference timing clock"; + } + enum "o2-g1-prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference + timing clock"; + } + enum "o2-g1-prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference + source"; + } + enum "o2-g1-stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - + traceability unknown"; + } + enum "o2-g1-st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "o2-g1-st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "o2-g1-e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Enhanced ethernet + equipment clock"; + } + enum "o2-g1-eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet + equipment clock"; + } + enum "o2-g1-smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self + timed"; + } + enum "o2-g1-st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "o2-g1-e-prc" { + value 51; + description + "ITU-T Option 2, Generation 1: Enhanced primary + reference clock"; + } + enum "o2-g2-e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary + reference timing clock"; + } + enum "o2-g2-prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference + timing clock"; + } + enum "o2-g2-prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference + source"; + } + enum "o2-g2-stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - + traceability unknown"; + } + enum "o2-g2-st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "o2-g2-tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node + clock"; + } + enum "o2-g2-st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "o2-g2-st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "o2-g2-e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Enhanced ethernet + equipment clock"; + } + enum "o2-g2-eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet + equipment clock"; + } + enum "o2-g2-smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self + timed"; + } + enum "o2-g2-st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "o2-g2-e-prc" { + value 73; + description + "ITU-T Option 2, Generation 2: Enhanced primary + reference clock"; + } + } + description + "Fsync ql value"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper-sub1.yang new file mode 100644 index 000000000..51edb6340 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper-sub1.yang @@ -0,0 +1,2038 @@ +submodule Cisco-IOS-XR-freqsync-oper-sub1 { + belongs-to Cisco-IOS-XR-freqsync-oper { + prefix Cisco-IOS-XR-freqsync-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR freqsync package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "1.2.1m"; + } + revision 2021-01-13 { + description + "Added ePRC QL code."; + semver:module-version "1.2.0"; + } + revision 2019-12-18 { + description + "Added selection point input information, source information, SSM and satellite counters to line interfaces, and information about selection points."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-20 { + description + "Combined selection point info from FSYNC-SP-INFO in FSYNC-SP-INFO-V2"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fsync-bag-stream-state { + type enumeration { + enum "stream-invalid" { + value 0; + description + "Invalid stream"; + } + enum "stream-unqualified" { + value 1; + description + "Unqualified stream"; + } + enum "stream-available" { + value 2; + description + "Stream available"; + } + enum "stream-acquiring" { + value 3; + description + "Stream acquiring"; + } + enum "stream-locked" { + value 4; + description + "Stream locked"; + } + enum "stream-holdover" { + value 5; + description + "Stream in holdover"; + } + enum "stream-freerun" { + value 6; + description + "Stream free running"; + } + enum "stream-failed" { + value 7; + description + "Stream failed"; + } + enum "stream-unmonitored" { + value 8; + description + "Unmonitored stream"; + } + enum "stream-error" { + value 9; + description + "Stream error"; + } + } + description + "Platform stream status"; + } + + typedef Fsync-bag-clock-intf-class { + type enumeration { + enum "clock-class-bitst1" { + value 0; + description + "BITS T1"; + } + enum "clock-class-bitse1" { + value 1; + description + "BITS E1"; + } + enum "clock-class-bits2m" { + value 2; + description + "BITS 2M"; + } + enum "clock-class-bits6m" { + value 3; + description + "BITS 6M"; + } + enum "clock-class-bits64k" { + value 4; + description + "BITS 64K"; + } + enum "clock-class-dti" { + value 5; + description + "DTI"; + } + enum "clock-class-gps" { + value 6; + description + "GPS"; + } + enum "clock-class-chassis-sync" { + value 7; + description + "Inter-Chassis Sync"; + } + enum "clock-class-bitsj1" { + value 8; + description + "Bits J1"; + } + enum "clock-class-unknown" { + value 255; + description + "Unknown"; + } + } + description + "Clock-interface class"; + } + + typedef Fsync-bag-esmc-peer-state { + type enumeration { + enum "peer-down" { + value 1808240398; + description + "Peer state down"; + } + enum "peer-up" { + value 1808240399; + description + "Peer state up"; + } + enum "peer-timed-out" { + value 1808240400; + description + "Peer state timed out"; + } + enum "peer-unknown" { + value 1808240401; + description + "Peer state unknown"; + } + } + description + "ESMC peer state"; + } + + typedef Fsync-clock-id { + type uint64; + description + "Fsync clock id"; + } + + typedef Fsync-bag-ql-o2-g2-value { + type enumeration { + enum "option2-generation2-invalid" { + value 0; + description + "Invalid"; + } + enum "option2-generation2-do-not-use" { + value 1; + description + "Do not use"; + } + enum "option2-generation2-failed" { + value 2; + description + "Failed"; + } + enum "option2-generation2-none" { + value 3; + description + "Interface does not support SSMs or no QL has + been received"; + } + enum "option2e-prtc" { + value 60; + description + "Enhanced primary reference timing clock"; + } + enum "option2prtc" { + value 61; + description + "Primary reference timing clock"; + } + enum "option2-generation2prs" { + value 62; + description + "Primary reference source"; + } + enum "option2-generation2stu" { + value 63; + description + "Synchronized - traceability unknown"; + } + enum "option2-generation2-stratum2" { + value 64; + description + "Stratum 2"; + } + enum "option2-generation2tnc" { + value 65; + description + "Transit node clock"; + } + enum "option2-generation2-stratum3e" { + value 66; + description + "Stratum 3E"; + } + enum "option2-generation2-stratum3" { + value 67; + description + "Stratum 3"; + } + enum "option2e-eec" { + value 68; + description + "Enhanced ethernet equipment clock"; + } + enum "option2eec2" { + value 69; + description + "Ethernet equipment clock"; + } + enum "option2-generation2smc" { + value 70; + description + "SONET clock self timed"; + } + enum "option2-generation2-stratum4" { + value 71; + description + "Stratum 4 freerun"; + } + enum "option2e-prc" { + value 73; + description + "Enhanced primary reference clock"; + } + } + description + "Quality level option 2, generation 2 values"; + } + + typedef Fsync-bag-ql-o2-g1-value { + type enumeration { + enum "option2-generation1-invalid" { + value 0; + description + "Invalid"; + } + enum "option2-generation1-do-not-use" { + value 1; + description + "Do not use"; + } + enum "option2-generation1-failed" { + value 2; + description + "Failed"; + } + enum "option2-generation1-none" { + value 3; + description + "Interface does not support SSMs or no QL has + been received"; + } + enum "option2e-prtc" { + value 40; + description + "Enhanced primary reference timing clock"; + } + enum "option2prtc" { + value 41; + description + "Primary reference timing clock"; + } + enum "option2-generation1prs" { + value 42; + description + "Primary reference source"; + } + enum "option2-generation1stu" { + value 43; + description + "Synchronized - traceability unknown"; + } + enum "option2-generation1-stratum2" { + value 44; + description + "Stratum 2"; + } + enum "option2-generation1-stratum3" { + value 45; + description + "Stratum 3"; + } + enum "option2e-eec" { + value 46; + description + "Enhanced ethernet equipment clock"; + } + enum "option2eec2" { + value 47; + description + "Ethernet equipment clock"; + } + enum "option2-generation1smc" { + value 48; + description + "SONET clock self timed"; + } + enum "option2-generation1-stratum4" { + value 49; + description + "Stratum 4 freerun"; + } + enum "option2e-prc" { + value 51; + description + "Enhanced primary reference clock"; + } + } + description + "Quality level option 2, generation 1 values"; + } + + typedef Fsync-bag-ql-o1-value { + type enumeration { + enum "option1-invalid" { + value 0; + description + "Invalid"; + } + enum "option1-do-not-use" { + value 1; + description + "Do not use"; + } + enum "option1-failed" { + value 2; + description + "Failed"; + } + enum "option1-none" { + value 3; + description + "Interface does not support SSMs or no QL has + been received"; + } + enum "option1e-prtc" { + value 20; + description + "Enhanced primary reference timing clock"; + } + enum "option1prtc" { + value 21; + description + "Primary reference timing clock"; + } + enum "option1prc" { + value 22; + description + "Primary reference clock"; + } + enum "option1ssu-a" { + value 23; + description + "Type I or V slave clock"; + } + enum "option1ssu-b" { + value 24; + description + "Type VI slave clock"; + } + enum "option1e-eec" { + value 25; + description + "Enhanced ethernet equipment clock"; + } + enum "option1eec1" { + value 26; + description + "Ethernet equipment clock"; + } + enum "option1sec" { + value 27; + description + "SONET equipment clock"; + } + enum "option1e-prc" { + value 28; + description + "Enhanced primary reference clock"; + } + } + description + "Quality level option 1 values"; + } + + typedef Fsync-bag-ql-option { + type enumeration { + enum "no-quality-level-option" { + value 0; + description + "Interface does not support SSMs or no QL has + been received"; + } + enum "option1" { + value 1; + description + "ITU-T Quality level option 1"; + } + enum "option2-generation1" { + value 2; + description + "ITU-T Quality level option 2, generation 1"; + } + enum "option2-generation2" { + value 3; + description + "ITU-T Quality level option 2, generation 2"; + } + enum "invalid-quality-level-option" { + value 4; + description + "Invalid quality level option"; + } + } + description + "Quality level option"; + } + + typedef Fsync-bag-optional-string { + type string; + description + "Fsync bag optional string"; + } + + typedef Fsync-bag-source-state { + type enumeration { + enum "source-state-unknown" { + value 0; + description + "Unknown"; + } + enum "source-state-up" { + value 1; + description + "Up"; + } + enum "source-state-down" { + value 2; + description + "Down"; + } + enum "source-state-unavailable" { + value 3; + description + "Unvailable"; + } + } + description + "Source state"; + } + + typedef Fsync-output-id { + type uint8; + description + "Fsync output id"; + } + + typedef Fsync-bag-stream-input { + type enumeration { + enum "invalid-input" { + value 0; + description + "Invalid stream input"; + } + enum "source-input" { + value 1; + description + "Source stream input"; + } + enum "selection-point-input" { + value 2; + description + "Selection point stream input"; + } + } + description + "Stream input type"; + } + + typedef Fsync-bag-damping-state { + type enumeration { + enum "damping-state-down" { + value 0; + description + "Down"; + } + enum "damping-state-coming-up" { + value 1; + description + "Coming up"; + } + enum "damping-state-up" { + value 2; + description + "Up"; + } + enum "damping-state-going-down" { + value 3; + description + "Going down"; + } + } + description + "Damping state"; + } + + typedef Fsync-time-pri { + type uint8; + description + "Fsync time pri"; + } + + typedef Fsync-pri { + type uint8; + description + "Fsync pri"; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Fsync-bag-forwardtrace-node { + type enumeration { + enum "forward-trace-node-selection-point" { + description + "A selection point forwardtrace node"; + } + enum "forward-trace-node-source" { + description + "A timing source forwardtrace node"; + } + } + description + "Selection forwardtrace node information"; + } + + typedef Fsync-bag-selection-point-desc { + type string; + description + "Fsync bag selection point desc"; + } + + typedef Fsync-selection-point-type { + type uint8; + description + "Fsync selection point type"; + } + + typedef Fsync-bag-source-class { + type enumeration { + enum "invalid-source" { + value 0; + description + "Invalid source class"; + } + enum "ethernet-interface-source" { + value 1; + description + "Ethernet interface"; + } + enum "sonet-interface-source" { + value 2; + description + "SONET interface"; + } + enum "clock-interface-source" { + value 3; + description + "Clock interface"; + } + enum "internal-clock-source" { + value 4; + description + "Internal clock"; + } + enum "ptp-source" { + value 5; + description + "PTP clock"; + } + enum "satellite-access-interface-source" { + value 6; + description + "Satellite Access Interface"; + } + enum "ntp-source" { + value 7; + description + "NTP clock"; + } + enum "gnss-receiver" { + value 8; + description + "GNSS Receiver"; + } + } + description + "Source class"; + } + + grouping FSYNC-SP-INPUT-INFO { + description + "Selection point input information"; + container input-selection-point { + description + "The selection point the input is for"; + uses FSYNC-BAG-SP-ID; + } + container stream { + description + "Stream"; + uses FSYNC-BAG-STREAM-ID; + } + container original-source { + description + "Original source"; + uses FSYNC-BAG-SOURCE-ID; + } + container quality-level { + description + "Quality Level"; + uses FSYNC-BAG-QL; + } + leaf supports-frequency { + type boolean; + description + "The selection point input supports frequency"; + } + leaf supports-time-of-day { + type boolean; + description + "The selection point input supports time-of-day"; + } + leaf priority { + type Fsync-pri; + description + "Priority"; + } + leaf time-of-day-priority { + type Fsync-time-pri; + description + "Time-of-day priority"; + } + leaf selected { + type boolean; + description + "The selection point input is selected"; + } + leaf output-id-xr { + type Fsync-output-id; + description + "Platform output ID, if the input is selected"; + } + leaf platform-status { + type Fsync-bag-stream-state; + description + "Platform status"; + } + leaf platform-failed-reason { + type Fsync-bag-optional-string; + description + "Why the stream has failed"; + } + leaf source { + type string { + length "0..160"; + } + description + "Description of the source that this stream + represents (if any)"; + } + leaf stale { + type boolean; + description + "The stream is stale"; + } + leaf removed { + type boolean; + description + "Stream has been removed as input to this SP but + is still selected"; + } + leaf pd-update { + type boolean; + description + "Stream has update that has yet to be processed"; + } + } + + grouping FSYNC-CLOCK-INFO-V2 { + description + "Clock interface information"; + container source { + description + "The source ID for the clock"; + uses FSYNC-BAG-SOURCE-ID; + } + container selected-source { + description + "Timing source selected for clock output"; + uses FSYNC-BAG-SOURCE-ID; + } + container quality-level-received { + description + "Received quality level"; + uses FSYNC-BAG-QL; + } + container quality-level-damped { + description + "Quality level after damping has been applied"; + uses FSYNC-BAG-QL; + } + container quality-level-effective-input { + description + "The effective input quality level"; + uses FSYNC-BAG-QL; + } + container quality-level-effective-output { + description + "The effective output quality level"; + uses FSYNC-BAG-QL; + } + container quality-level-selected-source { + description + "The quality level of the source driving this + interface"; + uses FSYNC-BAG-QL; + } + leaf state { + type Fsync-bag-source-state; + description + "Clock state"; + } + leaf down-reason { + type Fsync-bag-optional-string; + description + "Why the clock is down"; + } + leaf description { + type string; + description + "Clock description"; + } + leaf priority { + type Fsync-pri; + description + "Priority"; + } + leaf time-of-day-priority { + type Fsync-time-pri; + description + "Time-of-day priority"; + } + leaf ssm-support { + type boolean; + description + "The clock supports SSMs"; + } + leaf ssm-enabled { + type boolean; + description + "The clock output is squelched"; + } + leaf loopback { + type boolean; + description + "The clock is looped back"; + } + leaf selection-input { + type boolean; + description + "The clock is an input for selection"; + } + leaf squelched { + type boolean; + description + "The clock output is squelched"; + } + leaf damping-state { + type Fsync-bag-damping-state; + description + "Damping state"; + } + leaf damping-time { + type uint32; + description + "Time until damping state changes in ms"; + } + leaf input-disabled { + type boolean; + description + "Timing input is disabled"; + } + leaf output-disabled { + type boolean; + description + "Timing output is disabled"; + } + leaf wait-to-restore-time { + type uint16; + description + "Wait-to-restore time for the clock"; + } + leaf clock-type-xr { + type Fsync-bag-clock-intf-class; + description + "The type of clock"; + } + leaf supports-frequency { + type boolean; + description + "The PTP clock supports frequency"; + } + leaf supports-time-of-day { + type boolean; + description + "The PTP clock supports time"; + } + list spa-selection-point { + description + "Spa selection points"; + uses FSYNC-BAG-SP-INFO; + } + list node-selection-point { + description + "Node selection points"; + uses FSYNC-BAG-SP-INFO; + } + } + + grouping FSYNC-SSM-INFO { + description + "SSM summary information"; + leaf ethernet-sources { + type uint32; + description + "Number of ethernet interfaces in synchronous + mode"; + } + leaf ethernet-sources-select { + type uint32; + description + "Number of ethernet interfaces assigned for + selection"; + } + leaf ethernet-sources-enabled { + type uint32; + description + "Number of ethernet interfaces with SSM enabled"; + } + leaf sonet-sources { + type uint32; + description + "Number of SONET interfaces in synchronous mode"; + } + leaf sonet-sources-select { + type uint32; + description + "Number of SONET interfaces assigned for + selection"; + } + leaf sonet-sources-enabled { + type uint32; + description + "Number of SONET interfaces with SSM enabled"; + } + leaf events-sent { + type uint32; + description + "Total event SSMs sent"; + } + leaf events-received { + type uint32; + description + "Total event SSMs received"; + } + leaf infos-sent { + type uint32; + description + "Total information SSMs sent"; + } + leaf infos-received { + type uint32; + description + "Total information SSMs received"; + } + leaf dn-us-sent { + type uint32; + description + "Total DNU SSMs sent"; + } + leaf dn-us-received { + type uint32; + description + "Total DNU SSMs received"; + } + } + + grouping FSYNC-PTP-INFO-V2 { + description + "Frequency Synchronization PTP information"; + container quality-level-effective-input { + description + "The effective input quality level"; + uses FSYNC-BAG-QL; + } + leaf state { + type Fsync-bag-source-state; + description + "PTP state"; + } + leaf supports-frequency { + type boolean; + description + "The PTP clock supports frequency"; + } + leaf supports-time-of-day { + type boolean; + description + "The PTP clock supports time"; + } + leaf frequency-priority { + type Fsync-pri; + description + "The priority of the PTP clock when selected + between frequency sources"; + } + leaf time-of-day-priority { + type Fsync-time-pri; + description + "The priority of the PTP clock when selecting + between time-of-day sources"; + } + list spa-selection-point { + description + "Spa selection points"; + uses FSYNC-BAG-SP-INFO; + } + list node-selection-point { + description + "Node selection points"; + uses FSYNC-BAG-SP-INFO; + } + } + + grouping FSYNC-BAG-ERROR { + description + "Source QL config error information"; + container source { + description + "Source"; + uses FSYNC-BAG-SOURCE-ID; + } + container input-min-ql { + description + "Configured minimum input QL"; + uses FSYNC-BAG-QL; + } + container input-exact-ql { + description + "Configured exact input QL"; + uses FSYNC-BAG-QL; + } + container input-max-ql { + description + "Configured maximum input QL"; + uses FSYNC-BAG-QL; + } + container output-min-ql { + description + "Configured mininum output QL"; + uses FSYNC-BAG-QL; + } + container output-exact-ql { + description + "Configured exact output QL"; + uses FSYNC-BAG-QL; + } + container output-max-ql { + description + "Configured exact maximum QL"; + uses FSYNC-BAG-QL; + } + leaf enable-error { + type boolean; + description + "Frequency Synchronization enable error"; + } + leaf input-min-error { + type boolean; + description + "Minimum input QL option config error"; + } + leaf input-exact-error { + type boolean; + description + "Exact input QL config error"; + } + leaf input-max-error { + type boolean; + description + "Maximum input QL option config error"; + } + leaf ouput-min-error { + type boolean; + description + "Minimum output QL option config error"; + } + leaf output-exact-error { + type boolean; + description + "Exact output QL option config error"; + } + leaf output-max-error { + type boolean; + description + "Maximum output QL option config error"; + } + leaf ext-ql-input-min-error { + type boolean; + description + "Minimum input extended QL config error"; + } + leaf ext-ql-input-exact-error { + type boolean; + description + "Exact input extended QL config error"; + } + leaf ext-ql-input-max-error { + type boolean; + description + "Maximum input extended Ql config error"; + } + leaf ext-ql-ouput-min-error { + type boolean; + description + "Minimum output extended QL config error"; + } + leaf ext-ql-output-exact-error { + type boolean; + description + "Exact output extended QL config error"; + } + leaf ext-ql-output-max-error { + type boolean; + description + "Maximum output extended QL config error"; + } + leaf input-output-mismatch { + type boolean; + description + "Input/Output mismatch error"; + } + } + + grouping FSYNC-CONFIG-ERRORS-INFO { + description + "Configuration error information"; + list error-source { + description + "Configuration errors"; + uses FSYNC-BAG-ERROR; + } + } + + grouping FSYNC-BAG-SP-OUTPUT-DEF-V2 { + description + "Output information for a selection point or + interface"; + leaf local-clock-ouput { + type boolean; + description + "Used for local clock output"; + } + leaf local-line-output { + type boolean; + description + "Used for local line interface output"; + } + leaf local-time-of-day-output { + type boolean; + description + "Used for local time-of-day output"; + } + list spa-selection-point { + description + "SPA selection points"; + uses FSYNC-BAG-SP-INFO; + } + list node-selection-point { + description + "Node selection points"; + uses FSYNC-BAG-SP-INFO; + } + list chassis-selection-point { + description + "Chassis selection points"; + uses FSYNC-BAG-SP-INFO; + } + list router-selection-point { + description + "Router selection points"; + uses FSYNC-BAG-SP-INFO; + } + } + + grouping FSYNC-SP-INFO-V2 { + description + "Selection point information"; + container output { + description + "Information about the output of the selection + point"; + uses FSYNC-BAG-SP-OUTPUT-DEF-V2; + } + container last-programmed { + description + "Time the SP was last programmed"; + uses FSYNC-BAG-TIMESTAMP; + } + container last-selection { + description + "Time the last selection was made"; + uses FSYNC-BAG-TIMESTAMP; + } + leaf selection-point-type { + type Fsync-selection-point-type; + description + "Selection Point Type"; + } + leaf description { + type string; + description + "Description"; + } + leaf inputs { + type uint32; + description + "Number of inputs"; + } + leaf inputs-selected { + type uint32; + description + "Number of inputs that are selected"; + } + leaf time-of-day-selection { + type boolean; + description + "The selection point is a time-of-day selection + point"; + } + leaf pending-s-ps { + type uint32; + description + "Flags indicating which SPs must be programmed + before this SP"; + } + leaf sp-flags { + type uint8; + description + "Flags for the SP structure"; + } + list stream { + description + "A list of stream IDs which are valid inputs to + this SP"; + uses FSYNC-BAG-STREAM-ID; + } + } + + grouping FSYNC-NTP-INFO-V2 { + description + "Frequency Synchronization NTP information"; + container quality-level-effective-input { + description + "The effective input quality level"; + uses FSYNC-BAG-QL; + } + leaf state { + type Fsync-bag-source-state; + description + "NTP state"; + } + leaf supports-frequency { + type boolean; + description + "The NTP clock supports frequency"; + } + leaf supports-time-of-day { + type boolean; + description + "The NTP clock supports time"; + } + leaf frequency-priority { + type Fsync-pri; + description + "The priority of the NTP clock when selected + between frequency sources"; + } + leaf time-of-day-priority { + type Fsync-time-pri; + description + "The priority of the NTP clock when selecting + between time-of-day sources"; + } + list spa-selection-point { + description + "Spa selection points"; + uses FSYNC-BAG-SP-INFO; + } + list node-selection-point { + description + "Node selection points"; + uses FSYNC-BAG-SP-INFO; + } + } + + grouping FSYNC-BAG-TIMESTAMP { + description + "Timestamp"; + leaf seconds { + type uint32; + units "second"; + description + "Seconds"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "Nanoseconds"; + } + } + + grouping FSYNC-BAG-ETH-PEER-INFO { + description + "Ethernet peer information"; + container peer-state-time { + description + "Time of last peer state transition"; + uses FSYNC-BAG-TIMESTAMP; + } + container last-ssm { + description + "Time of last SSM received"; + uses FSYNC-BAG-TIMESTAMP; + } + leaf peer-state { + type Fsync-bag-esmc-peer-state; + description + "Peer state"; + } + leaf peer-up-count { + type uint16; + description + "Number of times the peer has come up"; + } + leaf peer-timeout-count { + type uint16; + description + "Number of times the peer has timed out"; + } + } + + grouping FSYNC-BAG-SP-INFO { + description + "Selection point information"; + leaf selection-point { + type Fsync-selection-point-type; + description + "Selection point ID"; + } + leaf selection-point-description { + type Fsync-bag-selection-point-desc; + description + "Selection point description"; + } + } + + grouping FSYNC-BAG-QL-DATA { + description + "Quality level data"; + leaf originator-clock-id { + type Fsync-clock-id; + description + "Originator clock ID"; + } + leaf sync-e-steps { + type uint8; + description + "SyncE steps"; + } + leaf esync-e-steps { + type uint8; + description + "Enhanced SyncE steps"; + } + leaf all-steps-e-sync-e { + type boolean; + description + "Whether all steps are running enhanced SyncE"; + } + leaf chain-complete { + type boolean; + description + "Whether the chain of extended QL TLVs is + complete"; + } + } + + grouping FSYNC-BAG-QL { + description + "Quality level"; + leaf quality-level-option { + type Fsync-bag-ql-option; + description + "QualityLevelOption"; + } + leaf option1-value { + when "../quality-level-option = 'option1'" { + description + "../QualityLevelOption = 'Option1'"; + } + type Fsync-bag-ql-o1-value; + description + "ITU-T Option 1 QL value"; + } + leaf option2-generation1-value { + when "../quality-level-option = 'option2-generation1'" { + description + "../QualityLevelOption = 'Option2Generation1'"; + } + type Fsync-bag-ql-o2-g1-value; + description + "ITU-T Option 2, generation 1 value"; + } + leaf option2-generation2-value { + when "../quality-level-option = 'option2-generation2'" { + description + "../QualityLevelOption = 'Option2Generation2'"; + } + type Fsync-bag-ql-o2-g2-value; + description + "ITU-T Option 2, generation 2 value"; + } + } + + grouping FSYNC-BAG-SAT-INFO-TYPE { + description + "Satellite info type"; + leaf satellite-id { + type uint16; + description + "The satellite ID"; + } + leaf sdac-key-length { + type uint16; + description + "The length of the SDAC key"; + } + leaf-list sdac-key { + type uint8; + description + "The SDAC key"; + } + } + + grouping FSYNC-BAG-ETH-ESMC-STATS { + description + "ESMC Statistics"; + leaf esmc-events-sent { + type uint16; + description + "Number of event SSMs sent"; + } + leaf esmc-events-received { + type uint16; + description + "Number of event SSMs received"; + } + leaf esmc-infos-sent { + type uint32; + description + "Number of info SSMs sent"; + } + leaf esmc-infos-received { + type uint32; + description + "Number of info SSms received"; + } + leaf esmc-dn-us-sent { + type uint32; + description + "Number of SSMs with DNU QL sent"; + } + leaf esmc-dn-us-received { + type uint32; + description + "Number of SSMs with DNU QL received"; + } + leaf esmc-malformed-received { + type uint16; + description + "Number of malformed packets received"; + } + leaf esmc-received-error { + type uint16; + description + "Number of received packets that failed to be + handled"; + } + } + + grouping FSYNC-BAG-LAST-SP-ID { + description + "Last selection point ID"; + container selection-point { + description + "Last selection point"; + uses FSYNC-BAG-SP-ID; + } + leaf output-id { + type Fsync-output-id; + description + "Output ID"; + } + } + + grouping FSYNC-BAG-STREAM-ID { + description + "Stream ID"; + container source-id { + when "../stream-input = 'source-input'" { + description + "../StreamInput = 'SourceInput'"; + } + description + "Source ID"; + uses FSYNC-BAG-SOURCE-ID; + } + container selection-point-id { + when "../stream-input = 'selection-point-input'" { + description + "../StreamInput = 'SelectionPointInput'"; + } + description + "Selection point ID"; + uses FSYNC-BAG-LAST-SP-ID; + } + leaf stream-input { + type Fsync-bag-stream-input; + description + "StreamInput"; + } + } + + grouping FSYNC-IF-INFO-V2 { + description + "Line interface information"; + container source { + description + "The source ID for the interface"; + uses FSYNC-BAG-SOURCE-ID; + } + container selected-source { + description + "Timing source selected for interface output"; + uses FSYNC-BAG-SOURCE-ID; + } + container ssm-counters { + description + "Counters for sent and received SSMs on ESMC + enabled interfaces"; + uses FSYNC-BAG-ETH-ESMC-STATS; + } + container sat-info { + description + "Sat info for the source if source is a sat + access interface"; + uses FSYNC-BAG-SAT-INFO-TYPE; + } + container quality-level-received { + description + "Received quality level"; + uses FSYNC-BAG-QL; + } + container quality-level-damped { + description + "Quality level after damping has been applied"; + uses FSYNC-BAG-QL; + } + container quality-level-effective-input { + description + "The effective input quality level"; + uses FSYNC-BAG-QL; + } + container quality-level-effective-output { + description + "The effective output quality level"; + uses FSYNC-BAG-QL; + } + container quality-level-selected-source { + description + "The quality level of the source driving this + interface"; + uses FSYNC-BAG-QL; + } + container ql-data-received { + description + "Received quality level data"; + uses FSYNC-BAG-QL-DATA; + } + container ql-data-to-send { + description + "Quality level data to be sent"; + uses FSYNC-BAG-QL-DATA; + } + container ethernet-peer-information { + description + "Ethernet peer information"; + uses FSYNC-BAG-ETH-PEER-INFO; + } + container esmc-statistics { + description + "ESMC Statistics"; + uses FSYNC-BAG-ETH-ESMC-STATS; + } + leaf name { + type string; + description + "Interface name"; + } + leaf state { + type Im-state-enum; + description + "Interface state"; + } + leaf ssm-enabled { + type boolean; + description + "SSM is enabled on the interface"; + } + leaf squelched { + type boolean; + description + "The interface output is squelched"; + } + leaf selection-input { + type boolean; + description + "The interface is an input for selection"; + } + leaf priority { + type Fsync-pri; + description + "Priority"; + } + leaf time-of-day-priority { + type Fsync-time-pri; + description + "Time-of-day priority"; + } + leaf damping-state { + type Fsync-bag-damping-state; + description + "Damping state"; + } + leaf damping-time { + type uint32; + description + "Time until damping state changes in ms"; + } + leaf wait-to-restore-time { + type uint16; + description + "Wait-to-restore time for the interface"; + } + leaf supports-frequency { + type boolean; + description + "The PTP clock supports frequency"; + } + leaf supports-time-of-day { + type boolean; + description + "The PTP clock supports time"; + } + leaf source-flags { + type uint32; + description + "The source flags"; + } + leaf mac-address { + type string { + length "0..6"; + } + description + "The MAC address of the source"; + } + leaf source-config-flags { + type uint8; + description + "The source configuration flags"; + } + leaf last-up-down { + type uint32; + description + "Time the interface last went up or down"; + } + leaf platform-state { + type Fsync-bag-source-state; + description + "Platform state for the source"; + } + leaf pd-down-reason { + type Fsync-bag-optional-string; + description + "Why the stream is down"; + } + list local-stream { + description + "The local streams"; + uses FSYNC-BAG-STREAM-ID; + } + list spa-selection-point { + description + "Spa selection points"; + uses FSYNC-BAG-SP-INFO; + } + list node-selection-point { + description + "Node selection points"; + uses FSYNC-BAG-SP-INFO; + } + } + + grouping FSYNC-BAG-SUMMARY-TOD-INFO { + description + "Time-of-day summary information"; + container source { + description + "The source associated with this summary + information"; + uses FSYNC-BAG-SOURCE-ID; + } + leaf node-count { + type uint32; + description + "The number of cards having their time-of-day set + by the source"; + } + } + + grouping FSYNC-BAG-SUMMARY-FREQ-INFO { + description + "Frequency summary information"; + container source { + description + "The source associated with this summary + information"; + uses FSYNC-BAG-SOURCE-ID; + } + leaf clock-count { + type uint32; + description + "The number of clock-interfaces being driven by + the source"; + } + leaf ethernet-count { + type uint32; + description + "The number of Ethernet interfaces being driven + by the source"; + } + leaf sonet-count { + type uint32; + description + "The number of SONET/SDH interfaces being driven + by the source"; + } + } + + grouping FSYNC-SUMMARY-INFO { + description + "Frequency Synchronization summary information"; + list frequency-summary { + description + "Summary of sources selected for frequency"; + uses FSYNC-BAG-SUMMARY-FREQ-INFO; + } + list time-of-day-summary { + description + "Summary of sources selected for time-of-day"; + uses FSYNC-BAG-SUMMARY-TOD-INFO; + } + } + + grouping FSYNC-BAG-FORWARDTRACE-NODE { + description + "Selection forwardtrace node"; + container selection-point { + when "../node-type = 'forward-trace-node-selection-point'" { + description + "../NodeType = 'ForwardTraceNodeSelectionPoint'"; + } + description + "Selection Point"; + uses FSYNC-BAG-SP-ID; + } + container source { + when "../node-type = 'forward-trace-node-source'" { + description + "../NodeType = 'ForwardTraceNodeSource'"; + } + description + "Timing Source"; + uses FSYNC-BAG-SOURCE-ID; + } + leaf node-type { + type Fsync-bag-forwardtrace-node; + description + "NodeType"; + } + } + + grouping FSYNC-BAG-FORWARDTRACE { + description + "Selection forwardtrace"; + container forward-trace-node { + description + "The source or selection point at this point in + the forwardtrace"; + uses FSYNC-BAG-FORWARDTRACE-NODE; + } + } + + grouping FSYNC-SELECTION-FORWARDTRACE-INFO { + description + "Selection forwardtrace information"; + list forward-trace { + description + "Selection ForwardTrace"; + uses FSYNC-BAG-FORWARDTRACE; + } + } + + grouping FSYNC-BAG-SP-ID { + description + "Selection point ID"; + leaf selection-point-type { + type Fsync-selection-point-type; + description + "Selection point type"; + } + leaf selection-point-description { + type Fsync-bag-selection-point-desc; + description + "Selection point descrption"; + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + + grouping FSYNC-BAG-CLOCK-ID { + description + "Clock ID"; + leaf node { + type xr:Node-id; + description + "Node"; + } + leaf id { + type uint32; + description + "ID (port number for clock interface, receiver + number for GNSS receiver)"; + } + leaf clock-name { + type string { + length "0..160"; + } + description + "Name"; + } + } + + grouping FSYNC-BAG-SOURCE-ID { + description + "Source ID"; + container clock-id { + when "../source-class = 'clock-interface-source'" { + description + "../SourceClass = 'ClockInterfaceSource'"; + } + description + "Clock ID"; + uses FSYNC-BAG-CLOCK-ID; + } + container internal-clock-id { + when "../source-class = 'internal-clock-source'" { + description + "../SourceClass = 'InternalClockSource'"; + } + description + "Internal Clock ID"; + uses FSYNC-BAG-CLOCK-ID; + } + container gnss-receiver-id { + when "../source-class = 'gnss-receiver'" { + description + "../SourceClass = 'GNSSReceiver'"; + } + description + "GNSS Receiver ID"; + uses FSYNC-BAG-CLOCK-ID; + } + leaf source-class { + type Fsync-bag-source-class; + description + "SourceClass"; + } + leaf ethernet-interface { + when "../source-class = 'ethernet-interface-source'" { + description + "../SourceClass = 'EthernetInterfaceSource'"; + } + type xr:Interface-name; + description + "Ethernet interface"; + } + leaf sonet-interface { + when "../source-class = 'sonet-interface-source'" { + description + "../SourceClass = 'SONETInterfaceSource'"; + } + type xr:Interface-name; + description + "SONET interfaces"; + } + leaf ptp-node { + when "../source-class = 'ptp-source'" { + description + "../SourceClass = 'PTPSource'"; + } + type xr:Node-id; + description + "PTP Clock Node"; + } + leaf satellite-access-interface { + when "../source-class = 'satellite-access-interface-source'" { + description + "../SourceClass = + 'SatelliteAccessInterfaceSource'"; + } + type xr:Interface-name; + description + "Satellite Access Interface"; + } + leaf ntp-node { + when "../source-class = 'ntp-source'" { + description + "../SourceClass = 'NTPSource'"; + } + type xr:Node-id; + description + "NTP Clock Node"; + } + } + + grouping FSYNC-SELECTION-BACKTRACE-INFO { + description + "Selection backtrace information"; + container selected-source { + description + "Source which has been selected for output"; + uses FSYNC-BAG-SOURCE-ID; + } + list selection-point { + description + "List of selection points in the backtrace"; + uses FSYNC-BAG-SP-ID; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper.yang new file mode 100644 index 000000000..0d2f650f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-freqsync-oper.yang @@ -0,0 +1,427 @@ +module Cisco-IOS-XR-freqsync-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-oper"; + prefix freqsync-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-freqsync-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-freqsync-oper-sub1 { + revision-date 2021-12-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR freqsync package operational data. + + This module contains definitions + for the following management objects: + frequency-synchronization: Frequency Synchronization + operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "1.2.1m"; + } + revision 2021-01-13 { + description + "Added ePRC QL code."; + semver:module-version "1.2.0"; + } + revision 2019-12-18 { + description + "Added selection point input information, source information, SSM and satellite counters to line interfaces, and information about selection points."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-20 { + description + "Combined selection point info from FSYNC-SP-INFO in FSYNC-SP-INFO-V2"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Fsync-stream { + type enumeration { + enum "local" { + value 1; + description + "Stream input from a local source"; + } + enum "selection-point" { + value 2; + description + "Stream input from a selection point on a remote + node"; + } + } + description + "Fsync stream"; + } + + typedef Fsync-source { + type enumeration { + enum "ethernet" { + value 1; + description + "An ethernet interface"; + } + enum "sonet" { + value 2; + description + "A SONET interface"; + } + enum "clock" { + value 3; + description + "A clock interface"; + } + enum "internal" { + value 4; + description + "An internal clock"; + } + enum "ptp" { + value 5; + description + "A PTP clock"; + } + enum "satellite-access" { + value 6; + description + "A satellite access interface clock"; + } + enum "ntp" { + value 7; + description + "An NTP clock"; + } + enum "gnss" { + value 8; + description + "A GNSS receiver"; + } + } + description + "Fsync source"; + } + + container frequency-synchronization { + config false; + description + "Frequency Synchronization operational data"; + container global-nodes { + description + "Table for global node-specific operational data"; + list global-node { + key "node"; + description + "Global node-specific data for a particular node"; + container clock-interface-selection-back-traces { + description + "Selection backtrace operational data for + clock-interfaces"; + list clock-interface-selection-back-trace { + key "clock-type id"; + description + "Selection backtrace operational data for a + particular clock-interface or GNSS receiver"; + leaf clock-type { + type dt1:Fsync-clock; + description + "Clock type"; + } + leaf id { + type uint32 { + range "0..4294967295"; + } + description + "Clock ID (port number for clock interfaces, + receiver number for GNSS receivers"; + } + uses FSYNC-SELECTION-BACKTRACE-INFO; + } + } + container clock-interface-selection-forward-traces { + description + "Selection forwardtrace operational data for + clock-interfaces"; + list clock-interface-selection-forward-trace { + key "clock-type port"; + description + "Selection forwardtrace operational data for a + particular clock-interface"; + leaf clock-type { + type dt1:Fsync-clock; + description + "Clock type"; + } + leaf port { + type uint32 { + range "0..4294967295"; + } + description + "Clock port"; + } + uses FSYNC-SELECTION-FORWARDTRACE-INFO; + } + } + container time-of-day-back-trace { + description + "Selection backtrace operational data for + time-of-day on a particular node"; + uses FSYNC-SELECTION-BACKTRACE-INFO; + } + container ntp-selection-forward-trace { + description + "Selection forwardtrace operational data for a + NTP clock"; + uses FSYNC-SELECTION-FORWARDTRACE-INFO; + } + container ptp-selection-forward-trace { + description + "Selection forwardtrace operational data for a + PTP clock"; + uses FSYNC-SELECTION-FORWARDTRACE-INFO; + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + container global-interfaces { + description + "Table for global interface operational data"; + list global-interface { + key "interface-name"; + description + "Global interface information for a particular + interface"; + container interface-selection-forward-trace { + description + "Selection forwardtrace operational data for a + particular interface"; + uses FSYNC-SELECTION-FORWARDTRACE-INFO; + } + container interface-selection-back-trace { + description + "Selection backtrace operational data for a + particular interface"; + uses FSYNC-SELECTION-BACKTRACE-INFO; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container summary { + description + "Summary operational data"; + uses FSYNC-SUMMARY-INFO; + } + container interface-datas { + description + "Table for interface operational data"; + list interface-data { + key "interface-name"; + description + "Operational data for a particular interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses FSYNC-IF-INFO-V2; + } + } + container nodes { + description + "Table for node-specific operational data"; + list node { + key "node"; + description + "Node-specific data for a particular node"; + container ntp-data { + description + "NTP operational data"; + uses FSYNC-NTP-INFO-V2; + } + container selection-point-datas { + description + "Selection point data table"; + list selection-point-data { + key "selection-point"; + description + "Operational data for a given selection point"; + leaf selection-point { + type uint32 { + range "0..4294967295"; + } + description + "Selection point ID"; + } + uses FSYNC-SP-INFO-V2; + } + } + container configuration-errors { + description + "Configuration error operational data"; + uses FSYNC-CONFIG-ERRORS-INFO; + } + container ptp-data { + description + "PTP operational data"; + uses FSYNC-PTP-INFO-V2; + } + container ssm-summary { + description + "SSM operational data"; + uses FSYNC-SSM-INFO; + } + container detailed-clock-datas { + description + "Table for detailed clock operational data"; + list detailed-clock-data { + key "clock-type id"; + description + "Detailed operational data for a particular + clock"; + leaf clock-type { + type dt1:Fsync-clock; + description + "Clock type"; + } + leaf id { + type uint32 { + range "0..4294967295"; + } + description + "Clock ID (port number for clock interfaces, + receiver number for GNSS receivers"; + } + uses FSYNC-CLOCK-INFO-V2; + } + } + container clock-datas { + description + "Table for clock operational data"; + list clock-data { + key "clock-type id"; + description + "Operational data for a particular clock"; + leaf clock-type { + type dt1:Fsync-clock; + description + "Clock type"; + } + leaf id { + type uint32 { + range "0..4294967295"; + } + description + "Clock ID (port number for clock interfaces, + receiver number for GNSS receivers"; + } + uses FSYNC-CLOCK-INFO-V2; + } + } + container selection-point-inputs { + description + "Table for selection point input operational + data"; + list selection-point-input { + description + "Operational data for a particular selection + point input"; + leaf selection-point { + type uint32 { + range "0..4294967295"; + } + description + "Selection point ID"; + } + leaf stream-type { + type Fsync-stream; + description + "Type of stream"; + } + leaf source-type { + type Fsync-source; + description + "Type of source"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf clock-port { + type uint32 { + range "0..4294967295"; + } + description + "Clock port"; + } + leaf last-node { + type xr:Node-id; + description + "Last node for a selection point stream"; + } + leaf last-selection-point { + type uint32 { + range "0..4294967295"; + } + description + "Last selection point for a selection point + stream"; + } + leaf output-id { + type uint32 { + range "0..4294967295"; + } + description + "Output ID for a selection point stream"; + } + uses FSYNC-SP-INPUT-INFO; + } + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-fsdbagg-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-fsdbagg-cfg.yang new file mode 100644 index 000000000..7f380f4d7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-fsdbagg-cfg.yang @@ -0,0 +1,88 @@ +module Cisco-IOS-XR-fsdbagg-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-fsdbagg-cfg"; + prefix fsdbagg-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fsdbagg package configuration. + + This module contains definitions + for the following management objects: + fsdb-agg-config: none + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-30 { + description + "Yang Schema update to remove support of Oversubscribed FC mode."; + semver:module-version "1.0.0"; + } + revision 2020-10-27 { + description + "Yang Schema update to support new 5fc config."; + semver:module-version "1.0.0"; + } + revision 2020-06-26 { + description + "Yang Schema added with 5fc config support and task-name."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container fsdb-agg-config { + description + "none"; + container fabric-mode { + description + "Configure Fabric Mode as either 8FC or 5FC"; + leaf five-fc { + type uint32; + description + "enable 5FC(slot:1-2-3-4-5)=1; enable 5FC(slot + :0-2-4-5-6)=2"; + } + } + container planes { + description + "Configure fabric."; + list plane { + key "plane"; + description + "Configure fabric planes"; + leaf plane-shutdown { + type uint32; + description + "Shutdown fabric planes"; + } + leaf plane { + type uint32; + description + "Plane"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-cfg.yang new file mode 100644 index 000000000..dbf30bb08 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-cfg.yang @@ -0,0 +1,255 @@ +module Cisco-IOS-XR-gnss-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-gnss-cfg"; + prefix gnss-cfg; + + import Cisco-IOS-XR-config-mda-cfg { + prefix node; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-freqsync-datatypes { + prefix dt1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR gnss package configuration. + + This YANG module augments the + Cisco-IOS-XR-config-mda-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-15 { + description + "Fixed must conditions bug."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NODE-CFG { + description + "active/preconfigured nodes configuration"; + container gnss-receivers { + description + "Configuration for a GNSS receiver"; + list gnss-receiver { + key "number"; + description + "Configuration for a GNSS receiver"; + container frequency-synchronization { + description + "Frequency Synchronization clock configuraiton"; + container output-quality-level { + description + "Set the output quality level"; + leaf quality-level-option { + type dt1:Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + container input-quality-level { + description + "Set the input quality level"; + leaf quality-level-option { + type dt1:Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type dt1:Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + leaf ssm-disable { + type empty; + description + "Disable SSM on this source"; + } + leaf priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Set the priority of this source"; + } + leaf selection-input { + type empty; + description + "Assign this source as a selection input"; + } + leaf wait-to-restore-time { + type uint32 { + range "0..12"; + } + default "5"; + description + "Set the wait-to-restore time for this source"; + } + leaf time-of-day-priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Set the time-of-day priority of this source"; + } + } + leaf enable { + type empty; + description + "Enable the GNSS receiver"; + } + leaf snr-threshold { + type uint32 { + range "0..40"; + } + default "0"; + description + "Set the satellite SNR threshold, in dB-Hz"; + } + leaf traim-threshold { + type uint32 { + range "0..2"; + } + units "microsecond"; + default "0"; + description + "Set the satellite TRAIM threshold, in + microseconds"; + } + leaf polarity1pps { + type dt1:Gnss1pps-polarity; + default "positive"; + description + "Set the GNSS receiver 1PPS polarity"; + } + leaf cable-delay-compensation { + type int32 { + range "-1000000..1000000"; + } + units "nanosecond"; + default "0"; + description + "Set the cable-delay compensation, in + nanoseconds"; + } + leaf anti-jam-disable { + type empty; + description + "Stop running the GNSS receiver in anti-jam + mode"; + } + leaf pdop-threshold { + type uint32 { + range "0..10"; + } + default "0"; + description + "Set the satellite PDOP threshold"; + } + leaf elevation-threshold { + type uint32 { + range "0..40"; + } + default "0"; + description + "Set the satellite elevation threshold, in + degrees"; + } + leaf shutdown { + type empty; + description + "Shutdown the GNSS receiver"; + } + leaf constellation { + type dt1:Gnss-constellation; + default "auto"; + description + "Set the constellation to be used by the GNSS + receiver"; + } + leaf number { + type uint32; + description + "Receiver number"; + } + } + } + } + + augment "/node:active-nodes/node:active-node" { + description + "This augment extends active nodes configuration"; + uses NODE-CFG; + } + augment "/node:preconfigured-nodes/node:preconfigured-node" { + description + "This augment extends preconfigured nodes + configuration"; + uses NODE-CFG; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper-sub1.yang new file mode 100644 index 000000000..30b0e39f7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper-sub1.yang @@ -0,0 +1,505 @@ +submodule Cisco-IOS-XR-gnss-oper-sub1 { + belongs-to Cisco-IOS-XR-gnss-oper { + prefix Cisco-IOS-XR-gnss-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR gnss package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-20 { + description + "Add optional serial number field"; + semver:module-version "2.1.0"; + } + revision 2019-09-30 { + description + "Removed enum usage from alarms, added elevation, azimuth and time locked by gnss receiver"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Gnssmgr-bag-sat-sv { + type enumeration { + enum "gps" { + value 0; + description + "GPS"; + } + enum "glonass" { + value 1; + description + "GLONASS"; + } + enum "sbas" { + value 2; + description + "SBAS (WAAS)"; + } + enum "qzss" { + value 3; + description + "QZSS"; + } + enum "bei-dou" { + value 4; + description + "BeiDou"; + } + enum "galileo" { + value 5; + description + "Galileo"; + } + enum "irnss" { + value 6; + description + "IRNSS"; + } + enum "gnss" { + value 7; + description + "GNSS"; + } + enum "unknown" { + value 8; + description + "Unknown"; + } + enum "reserved" { + value 9; + description + "Reserved"; + } + } + description + "Space vehicle (SV) type"; + } + + typedef Gnssmgr-bag-optional-string { + type string; + description + "Gnssmgr bag optional string"; + } + + typedef Gnssmgr-bag-rx-mode { + type enumeration { + enum "no-fix" { + value 0; + description + "No fix"; + } + enum "dead-reckoning-only" { + value 1; + description + "Dead Reckoning only"; + } + enum "fix-2d" { + value 2; + description + "2D fix"; + } + enum "fix-3d" { + value 3; + description + "3D fix"; + } + enum "gnss-and-dead-reckoning" { + value 4; + description + "GNSS and Dead Reckoning"; + } + enum "time-fix-only" { + value 5; + description + "Time fix only"; + } + enum "a-gnss" { + value 6; + description + "A GNSS"; + } + enum "gnss-and-sbas" { + value 7; + description + "GNSS and SBAS"; + } + enum "gnss-and-gbas" { + value 8; + description + "GNSS and GBAS"; + } + enum "reserved" { + value 9; + description + "Reserved"; + } + } + description + "Receiver mode"; + } + + typedef Gnssmgr-bag-lock-status { + type enumeration { + enum "phase-locked" { + value 0; + description + "Phase locked"; + } + enum "frequency-locked" { + value 1; + description + "Frequency locked"; + } + enum "initializing" { + value 2; + description + "Initializing"; + } + enum "auto-holdover" { + value 3; + description + "Auto holdover"; + } + enum "manual-holdover" { + value 4; + description + "Manual holdover"; + } + enum "recovery" { + value 5; + description + "Recovery"; + } + enum "inactive" { + value 6; + description + "Inactive"; + } + } + description + "Lock status"; + } + + typedef Gnssmgr-bag-1pps-polarity { + type enumeration { + enum "positive" { + value 0; + description + "Positive"; + } + enum "negative" { + value 1; + description + "Negative"; + } + } + description + "1PPS polarity"; + } + + typedef Gnssmgr-bag-constellation { + type enumeration { + enum "auto" { + value 0; + description + "Auto choose constellation"; + } + enum "gps" { + value 1; + description + "GPS"; + } + enum "galileo" { + value 2; + description + "Galileo"; + } + enum "bei-dou" { + value 3; + description + "BeiDou"; + } + enum "qzss" { + value 4; + description + "QZSS"; + } + enum "glonass" { + value 5; + description + "GLONASS"; + } + enum "sbas" { + value 6; + description + "SBAS (WAAS)"; + } + enum "irnss" { + value 7; + description + "IRNSS"; + } + } + description + "Consetellation"; + } + + grouping GNSSMGR-BAG-SATELLITE { + description + "Satellite information"; + leaf prn-number { + type uint8; + description + "PRN number"; + } + leaf channel-number { + type uint8; + description + "Channel number"; + } + leaf acquisition-flag { + type boolean; + description + "Acquisition flag"; + } + leaf ephemeris-flag { + type boolean; + description + "Ephemeris flag"; + } + leaf sv-type { + type Gnssmgr-bag-sat-sv; + description + "Space vehicle (SV) type"; + } + leaf signal-strength { + type uint32; + description + "Signal strength (0.001 dB-Hz)"; + } + leaf elevation { + type uint32; + description + "Elevation (0.001 degrees)"; + } + leaf azimuth { + type uint32; + description + "Azimuth (0.001 degrees)"; + } + } + + grouping GNSSMGR-RX-INFO { + description + "GNSS receiver information"; + leaf receiver-number { + type uint32; + description + "Receiver number"; + } + leaf node { + type xr:Node-id; + description + "Node the receiver is on"; + } + leaf enabled { + type boolean; + description + "Whether the receiver is enabled"; + } + leaf shutdown { + type boolean; + description + "Whether the receiver is shutdown"; + } + leaf anti-jam-disable { + type boolean; + description + "Whether anti-jam mode is disabled"; + } + leaf constellation { + type Gnssmgr-bag-constellation; + description + "Constellation used by the receiver"; + } + leaf snr-threshold { + type uint32; + description + "Satellite SNR threshold"; + } + leaf elevation-threshold { + type uint32; + description + "Satellite elevation threshold"; + } + leaf pdop-threshold { + type uint32; + description + "Satellite position (3D) dilution of precision + (PDOP) threshold"; + } + leaf traim-threshold { + type uint32; + description + "Satellite TRAIM threshold"; + } + leaf cable-delay-compensation { + type int32; + description + "Cable delay compensation"; + } + leaf polarity1pps { + type Gnssmgr-bag-1pps-polarity; + description + "1PPS polarity"; + } + leaf available { + type boolean; + description + "Whether the receiver is available"; + } + leaf lock-status { + type Gnssmgr-bag-lock-status; + description + "The lock status of the receiver"; + } + leaf receiver-mode { + type Gnssmgr-bag-rx-mode; + description + "The receiver mode of the receiver"; + } + leaf survey-progress { + type uint32; + description + "The survey progress of the receiver"; + } + leaf holdover-duration { + type uint32; + description + "The holdover duration of the receier"; + } + leaf major-alarm { + type uint32; + description + "The status of the receiver's major alarm"; + } + leaf minor-alarm { + type uint32; + description + "The status of the receiver's minor alarm"; + } + leaf pdop { + type uint32; + description + "Position (3D) dilution of precision (in + thousandths)"; + } + leaf hdop { + type uint32; + description + "Horizontal dilution of precision (in + thousandths)"; + } + leaf vdop { + type uint32; + description + "Vertical dilution of precision (in thousandths)"; + } + leaf tdop { + type uint32; + description + "Time dilution of precision (in thousandths)"; + } + leaf latitude { + type int32; + units "centisecond"; + description + "Latitude of the receiver (arcseconds)"; + } + leaf longitude { + type int32; + units "centisecond"; + description + "Longitude of the receiver (arcseconds)"; + } + leaf altitude { + type int64; + description + "Altitude of the receiver (m)"; + } + leaf time { + type uint32; + units "second"; + description + "Current time recovered by the receiver (secs + since epoch)"; + } + leaf utc-offset { + type int16; + description + "UTC offset of the receiver"; + } + leaf firmware-version { + type Gnssmgr-bag-optional-string; + description + "Firmware version of the receiver"; + } + leaf locked-time { + type uint32; + units "second"; + description + "Locked time recovered by the receiver (secs + since epoch)"; + } + leaf serial-number { + type Gnssmgr-bag-optional-string; + description + "Serial number of the receiver"; + } + leaf satellite-data-known { + type boolean; + description + "Is the satellite data known?"; + } + list satellite { + description + "Satellites visible to the receiver"; + uses GNSSMGR-BAG-SATELLITE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper.yang new file mode 100644 index 000000000..66aee96aa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-gnss-oper.yang @@ -0,0 +1,96 @@ +module Cisco-IOS-XR-gnss-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-gnss-oper"; + prefix gnss-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-gnss-oper-sub1 { + revision-date 2020-10-20; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR gnss package operational data. + + This module contains definitions + for the following management objects: + gnss-receiver: GNSS receiver operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-20 { + description + "Add optional serial number field"; + semver:module-version "2.1.0"; + } + revision 2019-09-30 { + description + "Removed enum usage from alarms, added elevation, azimuth and time locked by gnss receiver"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container gnss-receiver { + config false; + description + "GNSS receiver operational data"; + container nodes { + description + "Table for node-specific operational data"; + list node { + key "node"; + description + "Node-specific data for a particular node"; + container receivers { + description + "Table for node-specific operational data"; + list receiver { + key "number"; + description + "Operational data for a GNSS receiver"; + leaf number { + type uint32; + description + "Number"; + } + uses GNSSMGR-RX-INFO; + } + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-cfg.yang new file mode 100644 index 000000000..26afb60e9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-cfg.yang @@ -0,0 +1,255 @@ +module Cisco-IOS-XR-ha-eem-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ha-eem-cfg"; + prefix ha-eem-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ha-eem package configuration. + + This module contains definitions + for the following management objects: + event-manager: Event manager configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Event-manager-persist-time { + type uint32 { + range "0..4294967295"; + } + description + "Event manager persist time"; + } + + typedef Event-manager-checksum { + type enumeration { + enum "sha-1" { + value 1; + description + "Use SHA-1 checksum"; + } + enum "md5" { + value 2; + description + "Use MD5 checksum"; + } + } + description + "Event manager checksum"; + } + + typedef Event-manager-policy-sec { + type enumeration { + enum "rsa-2048" { + value 2; + description + "Cisco Signature"; + } + enum "trust" { + value 3; + description + "Trust Signature"; + } + } + description + "Event manager policy sec"; + } + + typedef Event-manager-policy-mode { + type enumeration { + enum "cisco" { + value 1; + description + "Cisco Signature"; + } + enum "trust" { + value 2; + description + "Trust Signature"; + } + } + description + "Event manager policy mode"; + } + + typedef Event-manager-policy { + type enumeration { + enum "system" { + value 0; + description + "Event manager system policy"; + } + enum "user" { + value 1; + description + "Event manager user policy"; + } + } + description + "Event manager policy"; + } + + container event-manager { + description + "Event manager configuration"; + container policies { + description + "Register an event manager policy"; + list policy { + key "policy-name"; + description + "Name of the policy file"; + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the policy file"; + } + leaf username { + type string; + mandatory true; + description + "A configured username"; + } + leaf persist-time { + type Event-manager-persist-time; + units "second"; + mandatory true; + description + "Time of validity (in seconds) for cached AAA + taskmap of username (default is 3600)"; + } + leaf policy-type { + type Event-manager-policy; + description + "Event manager type of this policy"; + } + leaf checksum-type { + type Event-manager-checksum; + description + "Specify Embedded Event Manager policy checksum"; + } + leaf check-sum-value { + type string; + description + "CheckSum Value"; + } + leaf policy-security-mode { + type Event-manager-policy-mode; + description + "Specify Embedded Event Manager policy security + mode"; + } + leaf policy-security-level { + type Event-manager-policy-sec; + description + "Event Manager policy security Level"; + } + } + } + container scheduler-script { + description + "scheduler classs type"; + container thread-classes { + description + "scheduler thread classs "; + list thread-class { + key "thread-class-name"; + description + "scheduler classs type argument"; + leaf thread-class-name { + type xr:Cisco-ios-xr-string; + description + "Name of the global variable"; + } + leaf num-threads { + type uint32 { + range "1..5"; + } + mandatory true; + description + "number of scheduler threads"; + } + } + } + } + container environments { + description + "Set an event manager global variable for event + manager policies"; + list environment { + key "environment-name"; + description + "Name of the global variable"; + leaf environment-name { + type xr:Cisco-ios-xr-string; + description + "Name of the global variable"; + } + leaf environment-value { + type string; + mandatory true; + description + "Value of the global variable"; + } + } + } + leaf refresh-time { + type uint32 { + range "10..4294967295"; + } + units "second"; + default "1800"; + description + "Set refresh time (in seconds) for policy + username's AAA taskmap"; + } + leaf schedule-suspend { + type boolean; + description + "Enable suspend policy scheduling"; + } + leaf directory-user-policy { + type string; + description + "Set event manager user policy directory"; + } + leaf directory-user-library { + type string; + description + "Path of the user policy library directory"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper-sub1.yang new file mode 100644 index 000000000..33870dd51 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper-sub1.yang @@ -0,0 +1,152 @@ +submodule Cisco-IOS-XR-ha-eem-policy-oper-sub1 { + belongs-to Cisco-IOS-XR-ha-eem-policy-oper { + prefix Cisco-IOS-XR-ha-eem-policy-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ha-eem-policy package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-02-05 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping EEM-POLICY { + description + "Event manager policy availabe"; + leaf type { + type string; + description + "policy type"; + } + leaf time-created { + type string; + description + "time created"; + } + leaf policy-name { + type string; + description + "policy name"; + } + } + + grouping EEM-POLICY-REG { + description + "Event manager policy Registered"; + leaf type { + type string; + description + "policy type"; + } + leaf time-created { + type string; + description + "time created"; + } + leaf policy-name { + type string; + description + "policy name"; + } + leaf class { + type string; + description + "class"; + } + leaf event-type { + type string; + description + "event type"; + } + leaf trap { + type string; + description + "trap"; + } + leaf persist-time { + type uint32; + description + "PersistTime "; + } + leaf username { + type string; + description + "username"; + } + leaf description { + type string; + description + "description"; + } + } + + grouping EEM-REFRESH-TIME { + description + "Event manager refresh-time"; + leaf refreshtime { + type uint32; + description + "Event manager refresh-time "; + } + } + + grouping EEM-ENV { + description + "Event manager environmental"; + leaf name-xr { + type string; + description + "variable name"; + } + leaf value { + type string; + description + "value"; + } + } + + grouping EEM-DIR-USR { + description + "Event manager directory user"; + leaf policy { + type string; + description + "policy"; + } + leaf library { + type string; + description + "library"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper.yang new file mode 100644 index 000000000..02a2acf8d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ha-eem-policy-oper.yang @@ -0,0 +1,121 @@ +module Cisco-IOS-XR-ha-eem-policy-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ha-eem-policy-oper"; + prefix ha-eem-policy-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ha-eem-policy-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ha-eem-policy package operational data. + + This module contains definitions + for the following management objects: + eem: EEM operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-02-05 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container eem { + config false; + description + "EEM operational data"; + container dir-user { + description + "directory user"; + container library { + description + "directory user library"; + uses EEM-DIR-USR; + } + container policy { + description + "directory user policy"; + uses EEM-DIR-USR; + } + } + container env-variables { + description + "list of environmental variables"; + list env-variable { + key "name"; + description + "environmental variables name and value "; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Environmental variable name"; + } + uses EEM-ENV; + } + } + container refresh-time { + description + "Refresh time"; + uses EEM-REFRESH-TIME; + } + container reg-policies { + description + "list the registered policies"; + list reg-policy { + key "name"; + description + "policy name and create time "; + leaf name { + type xr:Cisco-ios-xr-string; + description + "policy name"; + } + uses EEM-POLICY-REG; + } + } + container avl-policies { + description + "list the available policies"; + list avl-policy { + key "name"; + description + "policy name and create time "; + leaf name { + type xr:Cisco-ios-xr-string; + description + "System policy name"; + } + uses EEM-POLICY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-cfg.yang new file mode 100644 index 000000000..ba848de4c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-cfg.yang @@ -0,0 +1,420 @@ +module Cisco-IOS-XR-healthcheck-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-healthcheck-cfg"; + prefix healthcheck-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR healthcheck package configuration. + + This module contains definitions + for the following management objects: + health-check: System Health Check operational data space + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-01-18 { + description + "Updated Metric Threshold Ranges + 2022-08-17 + Added container use-case and DROP-TOLERANCE + 2021-05-25 + ASIC reset and packet drops usecases added"; + semver:module-version "1.0.1M"; + } + revision 2020-07-14 { + description + "Platform Stats metrics and Custom Metrics configurations added"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Hcmgr-avgutil-enum { + type enumeration { + enum "minute1" { + value 1; + description + "1 minute utilization"; + } + enum "minute5" { + value 5; + description + "5 minutes utilization"; + } + enum "minute15" { + value 15; + description + "15 minutes utilization"; + } + } + description + "Hcmgr avgutil enum"; + } + + grouping DROP-TOLERANCE { + description + "Common node of asic-reset, packet-drop"; + leaf drop-tolerance { + type uint32 { + range "0..100"; + } + units "percentage"; + default "10"; + description + "Drop tolerance as a percentage of total incoming + bytes/packets"; + } + } + + container health-check { + description + "System Health Check operational data space"; + container ord-z { + description + "Healthcheck config"; + leaf enable { + type empty; + description + "Enable or disable health check"; + } + } + container use-case { + description + "Use case to monitor"; + container asic-reset { + description + "Use case Asic reset"; + leaf disable { + type empty; + description + "Enable or disable Asic reset use case + monitoring"; + } + uses DROP-TOLERANCE; + } + container packet-drop { + description + "Use case Packet drop"; + leaf disable { + type empty; + description + "Enable or disable Packet drop use case + monitoring"; + } + uses DROP-TOLERANCE; + } + } + container ord-a { + description + "Healthcheck config"; + leaf cadence { + type uint32 { + range "30..1800"; + } + default "60"; + description + "health check cadence"; + } + } + container ord-b { + description + "Healthcheck config"; + container metric { + description + "System metric to monitor"; + container fabric-health { + description + "Metric Fabric Health"; + leaf disable { + type empty; + description + "Enable or disable Fabric health monitoring"; + } + } + container cpu { + description + "Metric CPU"; + container threshold { + presence "Indicates a threshold node is configured."; + description + "CPU thresholds"; + leaf minor { + type uint32 { + range "1..98"; + } + mandatory true; + description + "Minor threshold, Range(1, 98)"; + } + leaf severe { + type uint32 { + range "1..99"; + } + mandatory true; + description + "Severe threshold, Range(minor, 99)"; + } + leaf critical { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Critical threshold, Range(severe, 100)"; + } + } + leaf avg-util { + type Hcmgr-avgutil-enum; + default "minute15"; + description + "Average CPU utilization"; + } + leaf disable { + type empty; + description + "Enable or disable CPU monitoring"; + } + } + container intf-counters { + description + "Metric Interface counters"; + container interfaces { + description + "List of interface to monitor"; + leaf-list interface { + type string; + max-elements "5"; + description + "Interface Name"; + } + } + leaf counter-size { + type uint32 { + range "2..15"; + } + default "5"; + description + "Number of runs for Interface counters + monitoring"; + } + leaf disable { + type empty; + description + "Enable or disable Interface counters + monitoring"; + } + } + container redundancy { + description + "Metric Redundancy"; + leaf disable { + type empty; + description + "Enable or disable Redundancy monitoring"; + } + } + container free-memory { + description + "Metric Free Memory"; + container threshold { + presence "Indicates a threshold node is configured."; + description + "Free Memory thresholds"; + leaf minor { + type uint32 { + range "3..100"; + } + mandatory true; + description + "Minor threshold, Range(3, 100)"; + } + leaf severe { + type uint32 { + range "2..100"; + } + mandatory true; + description + "Severe threshold, Range(2, minor)"; + } + leaf critical { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Critical threshold, Range(1, severe)"; + } + } + leaf disable { + type empty; + description + "Enable or disable Free Memory monitoring"; + } + } + container platform { + description + "Metric Platform"; + leaf disable { + type empty; + description + "Enable or disable Platform monitoring"; + } + } + container custom-metrics { + description + "List of custom metrics to monitor"; + leaf-list custom-metric { + type string { + length "1..64"; + } + max-elements "10"; + description + "Custom Metric Name"; + } + } + container fabric-stats { + description + "Metric Fabric stats"; + leaf counter-size { + type uint32 { + range "2..15"; + } + default "5"; + description + "Number of runs for Fabric stats monitoring"; + } + leaf disable { + type empty; + description + "Enable or disable Fabric stats monitoring"; + } + } + container fpd { + description + "Metric FPD"; + leaf disable { + type empty; + description + "Enable or disable FPD monitoring"; + } + } + container asic-errors { + description + "Metric Asic errors"; + leaf counter-size { + type uint32 { + range "2..15"; + } + default "5"; + description + "Number of runs for Asic errors monitoring"; + } + leaf disable { + type empty; + description + "Enable or disable Asic errors monitoring"; + } + } + container filesystem { + description + "Metric Filesystem Usage"; + container threshold { + presence "Indicates a threshold node is configured."; + description + "Filesystem Usage thresholds"; + leaf minor { + type uint32 { + range "1..98"; + } + mandatory true; + description + "Minor threshold, Range(1, 98)"; + } + leaf severe { + type uint32 { + range "1..99"; + } + mandatory true; + description + "Severe threshold, Range(minor, 99)"; + } + leaf critical { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Critical threshold, Range(severe, 100)"; + } + } + leaf disable { + type empty; + description + "Enable or disable Filesystem Usage monitoring"; + } + } + container shared-memory { + description + "Metric Shared Memory"; + container threshold { + presence "Indicates a threshold node is configured."; + description + "Shared Memory thresholds"; + leaf minor { + type uint32 { + range "1..98"; + } + mandatory true; + description + "Minor threshold, Range(1, 98)"; + } + leaf severe { + type uint32 { + range "1..99"; + } + mandatory true; + description + "Severe threshold, Range(minor, 99)"; + } + leaf critical { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Critical threshold, Range(severe, 100)"; + } + } + leaf disable { + type empty; + description + "Enable or disable Shared Memory monitoring"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub1.yang new file mode 100644 index 000000000..a16399b79 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub1.yang @@ -0,0 +1,499 @@ +submodule Cisco-IOS-XR-healthcheck-oper-sub1 { + belongs-to Cisco-IOS-XR-healthcheck-oper { + prefix Cisco-IOS-XR-healthcheck-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR healthcheck package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-19 { + description + "Updated Custom Metric + 2021-07-22 + ASIC reset and packet drops use case updated + 2021-05-25 + ASIC reset and packet drops usecases added"; + semver:module-version "1.0.1m"; + } + revision 2020-09-18 { + description + "Fabric health metric updated."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Metric-state { + type enumeration { + enum "normal" { + value 0; + description + "Health check metric state normal"; + } + enum "minor" { + value 1; + description + "Health check metric state minor"; + } + enum "severe" { + value 2; + description + "Health check metric state severe"; + } + enum "critical" { + value 3; + description + "Health check metric state critical"; + } + enum "warning" { + value 4; + description + "Health check metric state warning"; + } + enum "unknown" { + value 5; + description + "Health check metric state unknown"; + } + } + description + "Metric state"; + } + + typedef Stage-status { + type enumeration { + enum "running" { + value 0; + description + "NOSI stage is in running state"; + } + enum "stopped" { + value 1; + description + "NOSI stage is in stopped state"; + } + enum "exited" { + value 2; + description + "NOSI stage is in exited state"; + } + enum "fatal" { + value 3; + description + "NOSI stage is in fatal state"; + } + enum "error" { + value 4; + description + "NOSI stage is in error state"; + } + enum "unknown" { + value 5; + description + "NOSI stage is in unknown state"; + } + enum "not-running" { + value 6; + description + "NOSI stage is in not running state"; + } + } + description + "Stage status"; + } + + typedef Config-state { + type enumeration { + enum "enabled" { + value 0; + description + "Use case configuration state enabled"; + } + enum "disabled" { + value 1; + description + "Use case configuration state disabled"; + } + enum "unknown" { + value 2; + description + "Use case configuration state unknown"; + } + } + description + "Config state"; + } + + typedef Nosi-state { + type enumeration { + enum "normal" { + value 1; + description + "Use case health state normal"; + } + enum "warning" { + value 2; + description + "Use case health state warning"; + } + enum "error" { + value 3; + description + "Health check service state error"; + } + } + description + "Nosi state"; + } + + grouping HCMGR-METRIC-DATA-REPORT { + description + "Health check report metric data"; + leaf service-message { + type string; + description + "Metric service message"; + } + leaf state { + type Metric-state; + description + "Metric state"; + } + leaf reason { + type string; + description + "Metric not healthy reason"; + } + leaf timestamp { + type uint64; + units "nanosecond"; + description + "Timestamp in nanoseconds since the Unix epoch + (January 1st 1970 00:00:00 UTC)"; + } + } + + grouping HCMGR-STATUS-USECASE-DATA-LEGACY { + description + "Health check status information of a use case"; + leaf use-case-name { + type string; + description + "Use case name associated with its state and + tolerence"; + } + leaf state { + type Config-state; + description + "Configuration state of use case"; + } + leaf drop-tolerance { + type uint8; + description + "Drop tolerance as a percentage of incoming + packets/bytes"; + } + } + + grouping HCMGR-USE-CASE { + description + "Healthcheck use-case description"; + leaf pipeline-state { + type Stage-status; + description + "Running state of NOSI container"; + } + list use-case { + description + "Collection of different use cases"; + uses HCMGR-STATUS-USECASE-DATA-LEGACY; + } + } + + grouping HCMGR-CUSTOM-METRIC { + description + "Healthcheck custom metrics"; + leaf metric-name { + type string; + description + "Metric Name"; + } + } + + grouping HCMGR-STATUS-DATA { + description + "Health check status data"; + container use-case-status { + description + "Use-case details"; + uses HCMGR-USE-CASE; + } + leaf collector-pid { + type int32; + description + "Healthcheck collector pid"; + } + leaf plat-collector-pid { + type int32; + description + "Healthcheck Plat collector pid"; + } + leaf collector-cadence { + type string; + description + "Healthcheck collector cadence"; + } + leaf service-status { + type string; + description + "Healthcheck service status"; + } + leaf time-started { + type string; + description + "Healthcheck enabled time"; + } + leaf time-stopped { + type string; + description + "Healthcheck disabled time"; + } + leaf cpu-avg-util { + type string; + description + "CPU average utilization"; + } + leaf reason { + type string; + description + "Healthcheck reason for error"; + } + list sys-resource { + description + "System resource metrics"; + uses HCMGR-SYS-RES; + } + list infra-service { + description + "Infra service metrics"; + uses HCMGR-INFRA-SRV; + } + list platform-stat { + description + "platform stats metric"; + uses HCMGR-PFM-STATS; + } + list custom-metric { + description + "Custom metrics"; + uses HCMGR-CUSTOM-METRIC; + } + } + + grouping HCMGR-STATUS-USECASE-DATA { + description + "Health check status information of use case"; + leaf state { + type Config-state; + description + "Configuration state of use case"; + } + leaf drop-tolerance { + type uint8; + description + "Drop tolerance as a percentage of incoming + packets/bytes"; + } + } + + grouping HCMGR-PFM-STATS { + description + "Healthcheck platform stats metrics"; + leaf metric-name { + type string; + description + "Metric name"; + } + leaf countersize { + type uint32; + description + "counter size"; + } + leaf interface-list { + type string; + description + "Interface list"; + } + } + + grouping HCMGR-INFRA-SRV { + description + "Healthcheck infra service metrics"; + leaf metric-name { + type string; + description + "Metric Name"; + } + } + + grouping HCMGR-METRIC-THLD { + description + "Metric thresholds"; + leaf minor { + type uint32; + description + "Minor threshold"; + } + leaf severe { + type uint32; + description + "Severe threshold"; + } + leaf critical { + type uint32; + description + "Critical threshold"; + } + } + + grouping HCMGR-SYS-RES { + description + "Healthcheck system resource metrics"; + container threshold { + description + "Metric threshold"; + uses HCMGR-METRIC-THLD; + } + leaf metric-name { + type string; + description + "Metric name"; + } + } + + grouping HCMGR-METRIC-DATA { + description + "Healthcheck metric data"; + leaf cpu-avg-util { + type string; + description + "CPU average utilization"; + } + list sys-resource { + description + "System resource metrics"; + uses HCMGR-SYS-RES; + } + list infra-service { + description + "Infra service metrics"; + uses HCMGR-INFRA-SRV; + } + list platform-stat { + description + "platform stats metric"; + uses HCMGR-PFM-STATS; + } + } + + grouping HCMGR-USE-CASE-REPORT-DATA { + description + "Health check use case report data"; + leaf alert { + type string; + description + "Alert message. For display only"; + } + leaf state { + type Nosi-state; + description + "NOSI state"; + } + } + + grouping HCMGR-USE-CASE-SUMMARY { + description + "Health check use case summary data"; + container use-case-info { + description + "Use case report data"; + uses HCMGR-USE-CASE-REPORT-DATA; + } + leaf use-case { + type string; + description + "Enabled use case"; + } + } + + grouping HCMGR-REPORT-METRIC-DATA { + description + "Health check report metric data"; + leaf name { + type string; + description + "Metric name"; + } + leaf service-msg { + type string; + description + "Metric service msg"; + } + leaf state { + type string; + description + "Metric state"; + } + leaf reason { + type string; + description + "Metric not healthy reason"; + } + } + + grouping HCMGR-REPORT-DATA { + description + "Healthcheck Report data"; + leaf time-stamp { + type string; + description + "Last updated timestamp for metrics"; + } + list metric { + description + "Metric info"; + uses HCMGR-REPORT-METRIC-DATA; + } + list summary { + description + "Usecase summary report information"; + uses HCMGR-USE-CASE-SUMMARY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub2.yang new file mode 100644 index 000000000..d0ac9b6fc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper-sub2.yang @@ -0,0 +1,1187 @@ +submodule Cisco-IOS-XR-healthcheck-oper-sub2 { + belongs-to Cisco-IOS-XR-healthcheck-oper { + prefix Cisco-IOS-XR-healthcheck-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR healthcheck package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-19 { + description + "Updated Custom Metric + 2021-07-22 + ASIC reset and packet drops use case updated + 2021-05-25 + ASIC reset and packet drops usecases added"; + semver:module-version "1.0.1m"; + } + revision 2020-09-18 { + description + "Fabric health metric updated."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef String1 { + type string; + description + "String1"; + } + + grouping HCMGR-USE-CASE-SUMMARY-DATA { + description + "Use case summary"; + leaf use-case { + type string; + description + "Use case name"; + } + leaf timestamp { + type uint64; + units "nanosecond"; + description + "Timestamp in nanoseconds since the UNIX epoch + (January 1st 1970 00:00:00 UTC)"; + } + leaf alert { + type string; + description + "Alert message. For display only"; + } + leaf state { + type string; + description + "NOSI state"; + } + } + + grouping HCMGR-USE-CASE-DETAIL-DATA { + description + "Detail use case data for given NPU"; + leaf timestamp { + type uint64; + units "nanosecond"; + description + "Timestamp in nanoseconds since the UNIX epoch + (January 1st 1970 00:00:00 UTC)"; + } + leaf-list alert { + type String1; + description + "Alert message. For display only"; + } + } + + grouping HCMGR-CPU-METRIC-MDATA { + description + "CPU Metric Mdata"; + leaf one-min { + type uint8; + description + "One Minute Utilization"; + } + leaf five-min { + type uint8; + description + "Five Minute Utilization"; + } + leaf fifteen-min { + type uint8; + description + "Fifteen Minute Utilization"; + } + leaf node-name { + type string; + description + "Node Name"; + } + } + + grouping HCMGR-CPU-METRIC-DATA { + description + "CPU Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf active-node-count { + type uint8; + description + "Number of Active Nodes"; + } + leaf srv-state { + type string; + description + "Service State"; + } + leaf cp-util-sel { + type uint32; + description + "CPU Utilization Selection"; + } + leaf minor-threshold { + type uint32; + description + "Minor Threshold"; + } + leaf severe-threshold { + type uint32; + description + "Severe Threshold"; + } + leaf critical-threshold { + type uint32; + description + "Critical Threshold"; + } + list mdata { + description + "Metric Mdata Array"; + uses HCMGR-CPU-METRIC-MDATA; + } + } + + grouping HCMGR-SHARED-MEM-METRIC-MDATA { + description + "Shared Memory Metric Mdata"; + leaf shared-memory-usage { + type uint64; + description + "Shared Memory Usage"; + } + leaf shared-mem-util { + type uint32; + description + "Shared Memory Utilization"; + } + leaf node-name { + type string; + description + "Node Name"; + } + } + + grouping HCMGR-SHARED-MEM-METRIC-DATA { + description + "Shared Memory Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf active-node-count { + type uint8; + description + "Number of Active Nodes"; + } + leaf srv-state { + type string; + description + "Service State"; + } + leaf shared-mem-alloc { + type uint64; + description + "Shared Memory Allocation"; + } + leaf minor-threshold { + type uint32; + description + "Minor Threshold"; + } + leaf severe-threshold { + type uint32; + description + "Severe Threshold"; + } + leaf critical-threshold { + type uint32; + description + "Critical Threshold"; + } + list mdata { + description + "Metric Mdata array"; + uses HCMGR-SHARED-MEM-METRIC-MDATA; + } + } + + grouping HCMGR-FILESYSTEM-PARTITION { + description + "Filesystem Partition Data"; + leaf flags { + type string; + description + "Partition Access Attribute"; + } + leaf prefixes { + type string; + description + "Partition Name"; + } + leaf type { + type string; + description + "Partition Type"; + } + leaf size { + type uint64; + description + "Partition Size"; + } + leaf free { + type uint64; + units "byte"; + description + "Free Bytes"; + } + leaf avl-free { + type uint8; + description + "Free Space in %"; + } + } + + grouping HCMGR-FILESYSTEM-METRIC-MDATA { + description + "Filesystem Metric Mdata"; + leaf node-name { + type string; + description + "Node Name"; + } + leaf partition-count { + type uint8; + description + "Partition Count"; + } + list fs-mdata { + description + "Partition Data"; + uses HCMGR-FILESYSTEM-PARTITION; + } + } + + grouping HCMGR-FILESYSTEM-METRIC-DATA { + description + "Filesystem Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf active-node-count { + type uint8; + description + "Number of Active Nodes"; + } + leaf srv-state { + type string; + description + "Service State"; + } + leaf minor-threshold { + type uint32; + description + "Minor Threshold"; + } + leaf severe-threshold { + type uint32; + description + "Severe Threshold"; + } + leaf critical-threshold { + type uint32; + description + "Critical Threshold"; + } + list mdata { + description + "Metric Mdata Array"; + uses HCMGR-FILESYSTEM-METRIC-MDATA; + } + } + + grouping HCMGR-FABRIC-STATS-METRIC-DETAIL-MDATA { + description + "Fabric Stats Metric Detail Mdata Structure"; + leaf fabric-plane-key { + type uint32; + description + "Fabric Plane Key"; + } + leaf planeid { + type uint32; + description + "PlaneID"; + } + leaf ucast-oper-state { + type string; + description + "Ucast Oper State"; + } + list counter-mdata { + description + "Fabric Stats Metric Counter Mdata"; + uses HCMGR-PFM-STATS-METRICS-DETAIL-COUNTER-MDATA; + } + } + + grouping HCMGR-FABRIC-STATS-METRIC-DETAIL-DATA { + description + "Fabric Stats Metric Detail Data structure"; + leaf last-update { + type string; + description + "Last Update Time"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-FABRIC-STATS-METRIC-DETAIL-MDATA; + } + } + + grouping HCMGR-FABRIC-STATS-METRIC-MDATA { + description + "Fabric Stats Metric Mdata Structure"; + leaf fabric-plane-key { + type uint32; + description + "Fabric Plane Key"; + } + leaf planeid { + type uint32; + description + "PlaneID"; + } + leaf ucast-oper-state { + type string; + description + "Ucast Oper State"; + } + list counter-mdata { + description + "Fabric Stats Metric Counters Mdata"; + uses HCMGR-PFM-STATS-METRICS-COUNTER-MDATA; + } + } + + grouping HCMGR-FABRIC-STATS-METRIC-DATA { + description + "Fabric Stats Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf srv-state { + type string; + description + "Service State"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-FABRIC-STATS-METRIC-MDATA; + } + } + + grouping HCMGR-CUSTOM-METRIC-DATA { + description + "Custom Metric Data Structure"; + leaf srv-state { + type string; + description + "Service State"; + } + leaf name { + type string; + description + "Metric Name"; + } + leaf health-state { + type string; + description + "Metric Health State"; + } + leaf health-msg { + type string; + description + "Metric Health Message"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf metric-info { + type string; + description + "Vendor Proprietary Metric Info"; + } + } + + grouping HCMGR-FREE-MEM-METRIC-MDATA { + description + "Free Memory Metric Mdata"; + leaf free-mem { + type uint64; + description + "Total Free Memory"; + } + leaf system-mem { + type uint64; + description + "Total System Memory"; + } + leaf avl-free-mem { + type uint8; + description + "Free Memory Utilization"; + } + leaf node-name { + type string; + description + "Node Name"; + } + } + + grouping HCMGR-FREE-MEM-METRIC-DATA { + description + "Free Memory Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf active-node-count { + type uint8; + description + "Number of Active Nodes"; + } + leaf srv-state { + type string; + description + "Service State"; + } + leaf minor-threshold { + type uint32; + description + "Minor Threshold"; + } + leaf severe-threshold { + type uint32; + description + "Severe Threshold"; + } + leaf critical-threshold { + type uint32; + description + "Critical Threshold"; + } + list mdata { + description + "Metric Mdata Array"; + uses HCMGR-FREE-MEM-METRIC-MDATA; + } + } + + grouping HCMGR-ASIC-ERRORS-METRIC-INSTANCE-MDATA { + description + "Asic Errors Metric Instance Mdata Structure"; + leaf instance-number { + type uint8; + description + "Instance Number"; + } + list counter-mdata { + description + "Asic Errors Metric Counters Mdata"; + uses HCMGR-PFM-STATS-METRICS-COUNTER-MDATA; + } + } + + grouping HCMGR-ASIC-ERRORS-METRIC-MDATA { + description + "Asic Errors Metric Mdata Structure"; + leaf node-name { + type string; + description + "Node Name"; + } + list instance-mdata { + description + "Asic Errors Metric Mdata"; + uses HCMGR-ASIC-ERRORS-METRIC-INSTANCE-MDATA; + } + } + + grouping HCMGR-ASIC-ERRORS-METRIC-DATA { + description + "Asic Errors Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf srv-state { + type string; + description + "Service State"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-ASIC-ERRORS-METRIC-MDATA; + } + } + + grouping HCMGR-ASIC-ERRORS-METRIC-DETAIL-INSTANCE-MDATA { + description + "Asic Errors Metric Instance Mdata Structure"; + leaf instance-number { + type uint8; + description + "Instance Number"; + } + list counter-mdata { + description + "Asic Errors Metric Mdata"; + uses HCMGR-PFM-STATS-METRICS-DETAIL-COUNTER-MDATA; + } + } + + grouping HCMGR-ASIC-ERRORS-METRIC-DETAIL-MDATA { + description + "Asic Errors Metric Detail Mdata Structure"; + leaf node-name { + type string; + description + "Node Name"; + } + list instance-mdata { + description + "Asic Errors Metric Mdata"; + uses HCMGR-ASIC-ERRORS-METRIC-DETAIL-INSTANCE-MDATA; + } + } + + grouping HCMGR-ASIC-ERRORS-METRIC-DETAIL-DATA { + description + "Asic Errors Metric Detail Data structure"; + leaf last-update { + type string; + description + "Last Update Time"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-ASIC-ERRORS-METRIC-DETAIL-MDATA; + } + } + + grouping HCMGR-PFM-STATS-METRICS-COUNTER-MDATA { + description + "Platform Stats Metrics Counter Mdata Structure"; + leaf counter-name { + type string; + description + "Counter Name"; + } + leaf counter-value { + type uint64; + description + "Counter Value"; + } + leaf average { + type uint64; + description + "Counter Average Value"; + } + leaf is-consistently-increasing { + type boolean; + description + "Is Counter Increasing Consistently"; + } + } + + grouping HCMGR-INTF-COUNTERS-METRIC-MDATA { + description + "Interface Counters Metric Mdata Structure"; + leaf interface-name { + type string; + description + "Interface Name Monitored"; + } + list counter-mdata { + description + "Interface Counters Metric Mdata"; + uses HCMGR-PFM-STATS-METRICS-COUNTER-MDATA; + } + } + + grouping HCMGR-INTF-COUNTERS-METRIC-DATA { + description + "Interface Counters Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf srv-state { + type string; + description + "Service State"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-INTF-COUNTERS-METRIC-MDATA; + } + } + + grouping HCMGR-PFM-STATS-METRICS-DETAIL-COUNTER-MDATA { + description + "Platform Stats Metrics Detail Counter Mdata + Structure"; + leaf counter-name { + type string; + description + "Counter Name"; + } + list counter-value { + description + "Counter Value"; + leaf entry { + type uint64; + description + "Counter Value"; + } + } + } + + grouping HCMGR-INTF-COUNTERS-METRIC-DETAIL-MDATA { + description + "Interface Counters Metric Detail Mdata Structure"; + leaf interface-name { + type string; + description + "Interface Name Monitored"; + } + list counter-mdata { + description + "Interface Counters Metric Mdata"; + uses HCMGR-PFM-STATS-METRICS-DETAIL-COUNTER-MDATA; + } + } + + grouping HCMGR-INTF-COUNTERS-METRIC-DETAIL-DATA { + description + "Interface Counters Metric Detail Data structure"; + leaf last-update { + type string; + description + "Last Update Time"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-INTF-COUNTERS-METRIC-DETAIL-MDATA; + } + } + + grouping HCMGR-PLATFORM-METRIC-INFO { + description + "Platform Metric Info Structure"; + leaf node-name { + type string; + description + "Node Name"; + } + leaf card-type { + type string; + description + "Card Type"; + } + leaf card-redundancy-state { + type string; + description + "Card Redundancy State"; + } + leaf admin-state { + type string; + description + "Admin State"; + } + leaf oper-state { + type string; + description + "Oper State"; + } + } + + grouping HCMGR-PLATFORM-INSTANCE-MDATA { + description + "Platform Metric Instance Mdata Structure"; + container platform-info { + description + "Platform Info"; + uses HCMGR-PLATFORM-METRIC-INFO; + } + leaf instance-name { + type string; + description + "Instance Name"; + } + } + + grouping HCMGR-PLATFORM-SLOT-MDATA { + description + "Platform Metric Slot Mdata Structure"; + leaf slot-name { + type string; + description + "Slot Name"; + } + leaf instance-count { + type uint8; + description + "Instance Count"; + } + list instance-mdata { + description + "Instance Mdata"; + uses HCMGR-PLATFORM-INSTANCE-MDATA; + } + list platform-info { + description + "Platform Info"; + uses HCMGR-PLATFORM-METRIC-INFO; + } + } + + grouping HCMGR-PLATFORM-METRIC-RACK-MDATA { + description + "Platform Metric Mdata Structure"; + leaf rack-name { + type string; + description + "Rack Name"; + } + leaf slot-count { + type uint8; + description + "Slot Count"; + } + list slot-mdata { + description + "Slot Mdata"; + uses HCMGR-PLATFORM-SLOT-MDATA; + } + } + + grouping HCMGR-PLATFORM-METRIC-DATA { + description + "Platform Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf rack-count { + type uint8; + description + "Rack Count"; + } + leaf srv-state { + type string; + description + "Service State"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-PLATFORM-METRIC-RACK-MDATA; + } + } + + grouping HCMGR-FABRIC-HEALTH-METRIC-SYS-PLANE-MDATA { + description + "Fabric Health Metric Mdata structure"; + leaf admin-state { + type string; + description + "Admin State"; + } + leaf plane-state { + type string; + description + "Plane State"; + } + leaf racks-w-plane-fault { + type uint8; + description + "Racks With Plane Fault"; + } + leaf is-data-drop { + type boolean; + description + "Is Data Drop"; + } + } + + grouping HCMGR-FABRIC-HEALTH-METRIC-RACK-MDATA { + description + "Fabric Health Metric Mdata structure"; + leaf rack-num { + type uint8; + description + "Rack Number"; + } + leaf rack-type { + type string; + description + "Rack Type"; + } + leaf sfe-asics-total { + type uint8; + description + "SFE Asics Total"; + } + leaf sfe-asics-up { + type uint8; + description + "SFE Asics Up"; + } + leaf sfe-asics-dn { + type uint8; + description + "SFE Asics Down"; + } + leaf fia-asics-total { + type uint8; + description + "FIA Asics Total"; + } + leaf fia-asics-up { + type uint8; + description + "FIA Asics Up"; + } + leaf fia-asics-dn { + type uint8; + description + "FIA Asics Down"; + } + leaf num-valid-fabids { + type uint8; + description + "Number of Valid Fabids"; + } + } + + grouping HCMGR-FABRIC-HEALTH-METRIC-MSG { + description + "Fabric Health Metric Message structure"; + leaf rack-total { + type uint8; + description + "Rack Total"; + } + leaf rack-fcc { + type uint8; + description + "Rack FCC"; + } + leaf rack-lcc { + type uint8; + description + "Rack LCC"; + } + leaf plane-up { + type uint8; + description + "Plane Up"; + } + leaf plane-dn { + type uint8; + description + "Plane Down"; + } + leaf plane-mcast-dn { + type uint8; + description + "Plane Mcast Down"; + } + leaf plane-admin-dn { + type uint8; + description + "Plane Admin Down"; + } + leaf sfe-asics-total { + type uint8; + description + "SFE Asics Total"; + } + leaf sfe-asics-up { + type uint8; + description + "SFE Asics Up"; + } + leaf sfe-asics-dn { + type uint8; + description + "SFE Asics Down"; + } + leaf fia-asics-total { + type uint8; + description + "FIA Asics Total"; + } + leaf fia-asics-up { + type uint8; + description + "FIA Asics Up"; + } + leaf fia-asics-dn { + type uint8; + description + "FIA Asics Down"; + } + list rack-mdata { + description + "Rack Mdata"; + uses HCMGR-FABRIC-HEALTH-METRIC-RACK-MDATA; + } + list sys-plane-mdata { + description + "Plane Mdata"; + uses HCMGR-FABRIC-HEALTH-METRIC-SYS-PLANE-MDATA; + } + } + + grouping HCMGR-FABRIC-HEALTH-METRIC-DATA { + description + "Fabric Health Metric Data structure"; + container mdata { + description + "Metric Message"; + uses HCMGR-FABRIC-HEALTH-METRIC-MSG; + } + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf err-rack-count { + type uint32; + description + "Error Rack count"; + } + leaf err-sys-plane-count { + type uint32; + description + "Error System Plane count"; + } + leaf srv-state { + type string; + description + "Service State"; + } + } + + grouping HCMGR-REDUNDANCY-METRIC-MDATA { + description + "Redundancy Metric Mdata Structure"; + leaf active { + type string; + description + "Active"; + } + leaf standby { + type string; + description + "Standby"; + } + leaf ha-state { + type string; + description + "HA State"; + } + leaf nsr-state { + type string; + description + "NSR State"; + } + } + + grouping HCMGR-REDUNDANCY-METRIC-DATA { + description + "Redundancy Metric Data structure"; + container mdata { + description + "Metric Mdata"; + uses HCMGR-REDUNDANCY-METRIC-MDATA; + } + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf srv-state { + type string; + description + "Service State"; + } + } + + grouping HCMGR-FPD-METRIC-MDATA { + description + "FPD Metric Mdata Structure"; + leaf card-name { + type string; + description + "Card Name"; + } + leaf fpd-name { + type string; + description + "FPD Name"; + } + leaf hw-version { + type string; + description + "Hardware Version"; + } + leaf status { + type string; + description + "Status"; + } + leaf runversion { + type string; + description + "Run Version"; + } + leaf prgmd-version { + type string; + description + "Programmed Version"; + } + leaf node-name { + type string; + description + "Node Name"; + } + } + + grouping HCMGR-FPD-METRIC-DATA { + description + "FPD Metric Data structure"; + leaf state { + type string; + description + "Metric Current State"; + } + leaf last-update { + type string; + description + "Last Update Time"; + } + leaf active-node-count { + type uint32; + description + "FPD count"; + } + leaf srv-state { + type string; + description + "Service State"; + } + list mdata { + description + "Metric Mdata"; + uses HCMGR-FPD-METRIC-MDATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper.yang new file mode 100644 index 000000000..c43124483 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-healthcheck-oper.yang @@ -0,0 +1,369 @@ +module Cisco-IOS-XR-healthcheck-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-healthcheck-oper"; + prefix healthcheck-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-healthcheck-oper-sub2 { + revision-date 2021-10-19; + } + include Cisco-IOS-XR-healthcheck-oper-sub1 { + revision-date 2021-10-19; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR healthcheck package operational data. + + This module contains definitions + for the following management objects: + health-check: Health check operational data space + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-19 { + description + "Updated Custom Metric + 2021-07-22 + ASIC reset and packet drops use case updated + 2021-05-25 + ASIC reset and packet drops usecases added"; + semver:module-version "1.0.1m"; + } + revision 2020-09-18 { + description + "Fabric health metric updated."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SUMMARY { + description + "Common node of asic-reset, packet-drop"; + container summary { + description + "ASIC reset and packet drop summary"; + uses HCMGR-USE-CASE-SUMMARY-DATA; + } + } + + grouping NODE-TABLE { + description + "Common node of asic-reset, packet-drop"; + container node-entries { + description + "Node"; + list node-entry { + key "node-name"; + description + "Node name"; + container npus { + description + "NPU ID"; + list npu { + key "npu-id"; + description + "NPU ID"; + leaf npu-id { + type uint32; + description + "NPU ID"; + } + uses HCMGR-USE-CASE-DETAIL-DATA; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + + container health-check { + config false; + description + "Health check operational data space"; + container metric-info { + description + "Metric"; + container fpd { + description + "FPD metric"; + uses HCMGR-FPD-METRIC-DATA; + } + container redundancy { + description + "Redundancy metric"; + uses HCMGR-REDUNDANCY-METRIC-DATA; + } + container fabric-health { + description + "Fabric health metric"; + uses HCMGR-FABRIC-HEALTH-METRIC-DATA; + } + container platform { + description + "Platform metric"; + uses HCMGR-PLATFORM-METRIC-DATA; + } + container interface-counters { + description + "Interface counter metric"; + container interface-counters-details { + description + "Interface name"; + list interface-counters-detail { + key "intf-name"; + description + "Interface name"; + container interface-counters-detail-data { + description + "Interface counters metric detail"; + uses HCMGR-INTF-COUNTERS-METRIC-DETAIL-DATA; + } + leaf intf-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container interface-counters-info { + description + "Interface counter metric"; + uses HCMGR-INTF-COUNTERS-METRIC-DATA; + } + } + container asic-errors { + description + "ASIC errors metric"; + container asic-errors-details { + description + "Node name"; + list asic-errors-detail { + key "node-name"; + description + "Node name"; + container asic-errors-detail-data { + description + "ASIC errors metric detail"; + uses HCMGR-ASIC-ERRORS-METRIC-DETAIL-DATA; + } + leaf node-name { + type xr:Cisco-ios-xr-string; + description + "Node name"; + } + } + } + container asic-errors-info { + description + "ASIC errors metric"; + uses HCMGR-ASIC-ERRORS-METRIC-DATA; + } + } + container free-memory { + description + "Free memory metric"; + uses HCMGR-FREE-MEM-METRIC-DATA; + } + container custom-metric { + description + "Custom metric oper data"; + container custom-metric-infos { + description + "Name"; + list custom-metric-info { + key "metric-name"; + description + "Metric name"; + container custom-metric-info-data { + description + "Custom metric oper data"; + uses HCMGR-CUSTOM-METRIC-DATA; + } + leaf metric-name { + type xr:Cisco-ios-xr-string; + description + "Metric name"; + } + } + } + container infos { + description + "A list of custom metrics and user defined + information"; + list info { + key "metric-name"; + description + "Custom metric user defined information"; + leaf metric-name { + type xr:Cisco-ios-xr-string; + description + "Metric name"; + } + uses HCMGR-CUSTOM-METRIC-DATA; + } + } + } + container fabric-stats { + description + "ASIC errors metric"; + container fabric-stats-info { + description + "Fabric statistics metric"; + uses HCMGR-FABRIC-STATS-METRIC-DATA; + } + container fabric-stats-details { + description + "Plane ID"; + list fabric-stats-detail { + key "plane-id"; + description + "Plane ID"; + container fabric-stats-detail-data { + description + "Fabric statistics metric detail"; + uses HCMGR-FABRIC-STATS-METRIC-DETAIL-DATA; + } + leaf plane-id { + type uint32; + description + "Plane ID"; + } + } + } + } + container filesystem { + description + "Filesystem metric"; + uses HCMGR-FILESYSTEM-METRIC-DATA; + } + container shared-memory { + description + "Shared memory metric"; + uses HCMGR-SHARED-MEM-METRIC-DATA; + } + container cpu { + description + "CPU metric"; + uses HCMGR-CPU-METRIC-DATA; + } + } + container report-info { + description + "Report data"; + uses HCMGR-REPORT-DATA; + } + container use-case { + description + "Use case"; + container asic-reset { + description + "ASIC reset use case"; + uses NODE-TABLE; + uses SUMMARY; + } + container packet-drop { + description + "Packet drop use case"; + uses NODE-TABLE; + uses SUMMARY; + } + } + container status { + description + "Health check status data"; + container metric { + description + "Holds specific metric information from list of + different metrics"; + uses HCMGR-METRIC-DATA; + } + container status-use-cases { + description + "Enabled use cases information"; + list status-use-case { + key "use-case"; + description + "Specific use case information from list of + different use cases"; + leaf use-case { + type xr:Cisco-ios-xr-string; + description + "Use case"; + } + uses HCMGR-STATUS-USECASE-DATA; + } + } + } + container status-info { + description + "Status"; + uses HCMGR-STATUS-DATA; + } + container report { + description + "Report data"; + container metrics { + description + "Holds information associated with different + metrics"; + list metric { + key "metric"; + description + "Holds specific metric information from list of + different metrics"; + leaf metric { + type xr:Cisco-ios-xr-string; + description + "Metric name"; + } + uses HCMGR-METRIC-DATA-REPORT; + } + } + container use-cases { + description + "Enabled use cases information"; + list use-case { + key "use-case"; + description + "Specific use case information from list of + different use cases"; + leaf use-case { + type xr:Cisco-ios-xr-string; + description + "Use case"; + } + uses HCMGR-USE-CASE-REPORT-DATA; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-hw-module-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-hw-module-cfg.yang new file mode 100644 index 000000000..b5815a0fe --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-hw-module-cfg.yang @@ -0,0 +1,112 @@ +module Cisco-IOS-XR-hw-module-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-hw-module-cfg"; + prefix hw-module-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR hw-module package configuration. + + This module contains definitions + for the following management objects: + hw-module: Hardware module information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-27 { + description + "Addition of attention-led and auto-reset-disable leaves to eXR model."; + semver:module-version "3.0.0"; + } + revision 2019-10-15 { + description + "IOS XR 7.0.12 revision."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Admin-state { + type enumeration { + enum "unshut" { + value 0; + description + "Power On"; + } + enum "shut" { + value 1; + description + "Power Off"; + } + } + description + "Admin state"; + } + + container hw-module { + description + "Hardware module information"; + container nodes { + description + "List of nodes"; + list node { + key "location"; + description + "Node object"; + container config { + must "attention-led or admin-state or auto-reset-disable" { + error-message "Hw-module config containers cannot be empty"; + description + "At least one configuration parameter must be set"; + } + description + "Configuration data for hw-module"; + leaf attention-led { + type boolean; + description + "Enable hw-module attention LED (Blue)"; + } + leaf admin-state { + type Admin-state; + description + "Set the admin state of the hw-module"; + } + leaf auto-reset-disable { + type boolean; + description + "Do not automatically reset the hw-module on + failure"; + } + } + leaf location { + type string; + description + "Location string"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-hwmod-mpa-reload-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-hwmod-mpa-reload-act.yang new file mode 100644 index 000000000..9614211fa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-hwmod-mpa-reload-act.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-hwmod-mpa-reload-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-hwmod-mpa-reload-act"; + prefix hwmod-mpa-reload-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR MPA reload action package configuration. + + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-06-30 { + description + "IOS XR 6.2.1 revision."; + } + + rpc hw-module-subslot { + description + "Execute subslot h/w module operations"; + input { + leaf subslot { + type string; + description + "Fully qualified location specification"; + } + leaf reload { + type empty; + description + "Cycle subslot h/w reset"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-cfg.yang new file mode 100644 index 000000000..6153878f5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-cfg.yang @@ -0,0 +1,336 @@ +module Cisco-IOS-XR-ifmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg"; + prefix ifmgr-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ifmgr package configuration. + + This module contains definitions + for the following management objects: + global-interface-configuration: Global scoped configuration + for interfaces + interface-configurations: Configuration for all interfaces + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "Updated path for description configuration"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Interface-mode-enum { + type enumeration { + enum "default" { + value 0; + description + "Default Interface Mode"; + } + enum "point-to-point" { + value 1; + description + "Point-to-Point Interface Mode"; + } + enum "multipoint" { + value 2; + description + "Multipoint Interface Mode"; + } + enum "l2-transport" { + value 3; + description + "L2 Transport Interface Mode"; + } + } + description + "Interface mode enum"; + } + + typedef Interface-active { + type string { + pattern "(act)|(pre)"; + } + description + "act:The interface is active, pre:Preconfiguration"; + } + + typedef Secondary-admin-state-enum { + type enumeration { + enum "normal" { + value 0; + description + "Normal Mode"; + } + enum "maintenance" { + value 1; + description + "Maintenance Mode"; + } + } + description + "Secondary admin state enum"; + } + + typedef Link-status-enum { + type enumeration { + enum "default" { + value 0; + description + "Display link status messages for physical links"; + } + enum "disable" { + value 1; + description + "Disable link status messages"; + } + enum "software-interfaces" { + value 2; + description + "Display link status messages for all interfaces"; + } + } + description + "Link status enum"; + } + + container global-interface-configuration { + description + "Global scoped configuration for interfaces"; + leaf link-status { + type Link-status-enum; + default "default"; + description + "Enable or disable link-status messages"; + } + } + container interface-configurations { + description + "Configuration for all interfaces"; + list interface-configuration { + key "active interface-name"; + description + "The configuration for an interface"; + container dampening { + description + "Whether this interface's state changes are + dampened or not"; + leaf args { + type enumeration { + enum "default-values" { + value 0; + description + "Default values"; + } + enum "specify-half-life" { + value 1; + description + "Half Life Specified"; + } + enum "specify-all" { + value 4; + description + "All Arguments except Restart Penalty + Specified"; + } + enum "specify-rp" { + value 5; + description + "All Arguments Specified"; + } + } + description + "Dampening Arguments"; + } + leaf half-life { + when "../args = 'specify-half-life' or ../args = 'specify-all' or ../args = 'specify-rp'" { + description + "../Args = SpecifyHalfLife or ../Args = + SpecifyAll or ../Args = SpecifyRP"; + } + type uint32 { + range "1..45"; + } + units "minute"; + description + "Decay half life (in minutes)"; + } + leaf reuse-threshold { + when "../args = 'specify-all' or ../args = 'specify-rp'" { + description + "../Args = SpecifyAll or ../Args = SpecifyRP"; + } + type uint32 { + range "1..20000"; + } + description + "Reuse threshold"; + } + leaf suppress-threshold { + when "../args = 'specify-all' or ../args = 'specify-rp'" { + description + "../Args = SpecifyAll or ../Args = SpecifyRP"; + } + type uint32 { + range "1..20000"; + } + description + "Suppress threshold"; + } + leaf suppress-time { + when "../args = 'specify-all' or ../args = 'specify-rp'" { + description + "../Args = SpecifyAll or ../Args = SpecifyRP"; + } + type uint32 { + range "1..255"; + } + units "minute"; + description + "Max suppress time (in minutes)"; + } + leaf restart-penalty { + when "../args = 'specify-rp'" { + description + "../Args = SpecifyRP"; + } + type uint32 { + range "0..20000"; + } + description + "Restart penalty"; + } + } + container mtus { + description + "The MTU configuration for the interface"; + list mtu { + key "owner"; + description + "The MTU for the interface"; + leaf owner { + type xr:Cisco-ios-xr-string; + description + "The Owner of the interface - eg. for + 'LoopbackX' main interface this is 'loopback'"; + } + leaf mtu { + type uint32 { + range "64..65535"; + } + mandatory true; + description + "The MTU value"; + } + } + } + container encapsulation { + description + "The encapsulation on the interface"; + leaf encapsulation { + type string; + description + "The encapsulation - e.g. hdlc, ppp"; + } + leaf capsulation-options { + type uint32; + description + "The options for this capsulation, usually '0'"; + } + } + leaf shutdown { + type empty; + description + "The existence of this configuration indicates + the interface is shut down"; + } + leaf interface-virtual { + type empty; + description + "The mode in which an interface is running. The + existence of this object causes the creation of + the software virtual/subinterface."; + } + leaf secondary-admin-state { + type Secondary-admin-state-enum; + description + "The secondary admin state of the interface"; + } + leaf interface-mode-non-physical { + type Interface-mode-enum; + default "default"; + description + "The mode in which an interface is running. The + existence of this object causes the creation of + the software subinterface."; + } + leaf bandwidth { + type uint64 { + range "0..18446744073709551615"; + } + units "kbit/s"; + description + "The bandwidth of the interface in kbps"; + } + leaf link-status { + type empty; + description + "Enable interface and line-protocol state change + alarms"; + } + leaf description { + type string; + description + "The description of this interface"; + } + leaf active { + type Interface-active; + description + "Whether the interface is active or + preconfigured"; + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub1.yang new file mode 100644 index 000000000..b5583b2eb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub1.yang @@ -0,0 +1,145 @@ +submodule Cisco-IOS-XR-ifmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-ifmgr-oper { + prefix Cisco-IOS-XR-ifmgr-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ifmgr-oper-sub2 { + revision-date 2020-10-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ifmgr package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "64-bit bandwidth changes"; + semver:module-version "2.0.0"; + } + revision 2019-12-03 { + description + "Updated description."; + semver:module-version "2.0.0"; + } + revision 2019-07-23 { + description + "IosApi version change + 2019-05-30 + 64 bit bandwidth changes."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-07-30 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping IMDS-IFATTR-BASE-INFO { + description + "Basic interface information"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf parent-interface { + type xr:Interface-name; + description + "Parent Interface"; + } + leaf type { + type string; + description + "Interface type"; + } + leaf state { + type Im-state-enum; + description + "Operational state"; + } + leaf actual-state { + type Im-state-enum; + description + "Operational state with no translation of error + disable or shutdown"; + } + leaf line-state { + type Im-state-enum; + description + "Line protocol state"; + } + leaf actual-line-state { + type Im-state-enum; + description + "Line protocol state with no translation of error + disable or shutdown"; + } + leaf encapsulation { + type string; + description + "Interface encapsulation"; + } + leaf encapsulation-type-string { + type string { + length "0..32"; + } + description + "Interface encapsulation description string"; + } + leaf mtu { + type uint32; + units "byte"; + description + "MTU in bytes"; + } + leaf sub-interface-mtu-overhead { + type uint32; + description + "Subif MTU overhead"; + } + leaf l2-transport { + type boolean; + description + "L2 transport"; + } + leaf bandwidth { + type uint32; + description + "Interface bandwidth (Kb/s)"; + } + leaf bandwidth64-bit { + type uint64; + description + "Interface bandwidth 64-bit (Kb/s)"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub2.yang new file mode 100644 index 000000000..ec986df11 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper-sub2.yang @@ -0,0 +1,248 @@ +submodule Cisco-IOS-XR-ifmgr-oper-sub2 { + belongs-to Cisco-IOS-XR-ifmgr-oper { + prefix Cisco-IOS-XR-ifmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ifmgr package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "64-bit bandwidth changes"; + semver:module-version "2.0.0"; + } + revision 2019-12-03 { + description + "Updated description."; + semver:module-version "2.0.0"; + } + revision 2019-07-23 { + description + "IosApi version change + 2019-05-30 + 64 bit bandwidth changes."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-07-30 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + grouping IM-SHOW-DAMP-NODE { + description + "Contains dampening information of capsulation and + capsulation number of interface"; + container capsulation-dampening { + description + "Dampening information of capsulation"; + uses IM-SHOW-DAMP-NODE-INFO; + } + leaf capsulation-number { + type string; + description + "Capsulation number of the Interface"; + } + } + + grouping IM-SHOW-DAMP-NODE-INFO { + description + "Dampening information of interface "; + leaf penalty { + type uint32; + description + "Dampening penalty of the interface"; + } + leaf is-suppressed-enabled { + type boolean; + description + "Flag showing if state is suppressed"; + } + leaf seconds-remaining { + type uint32; + units "second"; + description + "Remaining period of suppression in secs"; + } + leaf flaps { + type uint32; + description + "Number of underlying state flaps"; + } + leaf state { + type Im-state-enum; + description + "Underlying state of the node"; + } + } + + grouping IM-SHOW-DAMP-INFO { + description + "Dampening information of interface"; + container interface-dampening { + description + "Interface dampening configuration for an + interface"; + uses IM-SHOW-DAMP-NODE-INFO; + } + leaf state-transition-count { + type uint32; + description + "The number of times the state has changed"; + } + leaf last-state-transition-time { + type uint64; + description + "The absolute time of last state change of the + interface"; + } + leaf is-dampening-enabled { + type boolean; + description + "Flag showing if dampening is enabled"; + } + leaf half-life { + type uint32; + units "minute"; + description + "Configured decay half life in mins"; + } + leaf reuse-threshold { + type uint32; + description + "Configured reuse threshold"; + } + leaf suppress-threshold { + type uint32; + description + "Value of suppress threshold"; + } + leaf maximum-suppress-time { + type uint32; + units "minute"; + description + "Maximum suppress time in mins"; + } + leaf restart-penalty { + type uint32; + description + "Configured restart penalty"; + } + list capsulation { + description + "Dampening information for capsulations"; + uses IM-SHOW-DAMP-NODE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper.yang new file mode 100644 index 000000000..24e7f90a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ifmgr-oper.yang @@ -0,0 +1,240 @@ +module Cisco-IOS-XR-ifmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-oper"; + prefix ifmgr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ifmgr-oper-sub2 { + revision-date 2020-10-01; + } + include Cisco-IOS-XR-ifmgr-oper-sub1 { + revision-date 2020-10-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ifmgr package operational data. + + This module contains definitions + for the following management objects: + interface-dampening: Interface dampening configuration for an + interface + interface-properties: Non feature-specific interface + operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "64-bit bandwidth changes"; + semver:module-version "2.0.0"; + } + revision 2019-12-03 { + description + "Updated description."; + semver:module-version "2.0.0"; + } + revision 2019-07-23 { + description + "IosApi version change + 2019-05-30 + 64 bit bandwidth changes."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-07-30 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping INTERFACE-TABLE { + description + "Common node of system-view, locationview, + pq-node-location"; + container interfaces { + description + "Operational data for all interfaces and + controllers"; + list interface { + key "interface-name"; + description + "The operational attributes for a particular + interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IMDS-IFATTR-BASE-INFO; + } + } + } + + container interface-dampening { + config false; + description + "Interface dampening configuration for an + interface"; + container interfaces { + description + "The interface list for which dampening info is + available"; + list interface { + key "interface-name"; + description + "The interface for which dampening info is being + queried"; + container if-dampening { + description + "Dampening info for the interface"; + uses IM-SHOW-DAMP-INFO; + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the"; + } + } + } + container nodes { + description + "The location of the interface(s) being queried"; + list node { + key "node-name"; + description + "The location of the interface(s) being queried"; + container show { + description + "Show details for the interfaces"; + container dampening { + description + "Dampening information of the interface(s) + being queried"; + container if-handles { + description + "Interface handle for which dampening info + queried"; + list if-handle { + key "interface-handle-name"; + description + "Dampening info for the interface handle"; + leaf interface-handle-name { + type xr:Cisco-ios-xr-string; + description + "The interface handle"; + } + uses IM-SHOW-DAMP-INFO; + } + } + container interfaces { + description + "Table of interfaces for which dampening info + can be queried"; + list interface { + key "interface-name"; + description + "Dampening info for the interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the"; + } + uses IM-SHOW-DAMP-INFO; + } + } + } + } + leaf node-name { + type xr:Node-id; + description + "The location of the interface(s)"; + } + } + } + } + container interface-properties { + config false; + description + "Non feature-specific interface operational data"; + container data-nodes { + description + "Operational data for interfaces"; + list data-node { + key "data-node-name"; + description + "The location of a (D)RP in the same LR as the + interface being queried"; + container locationviews { + description + "Location-specific view of interface + operational data"; + list locationview { + key "locationview-name"; + description + "Operational data for all interfaces and + controllers on a particular node"; + leaf locationview-name { + type xr:Node-id; + description + "The location to filter on"; + } + uses INTERFACE-TABLE; + } + } + container pq-node-locations { + description + "Partially qualified Location-specific view of + interface operational data"; + list pq-node-location { + key "pq-node-name"; + description + "Operational data for all interfaces and + controllers on a particular pq_node"; + leaf pq-node-name { + type xr:Pq-node-id; + description + "The partially qualified location to filter + on"; + } + uses INTERFACE-TABLE; + } + } + container system-view { + description + "System-wide view of interface operational data"; + uses INTERFACE-TABLE; + } + leaf data-node-name { + type xr:Node-id; + description + "The location of the (D)RP"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper-sub1.yang new file mode 100644 index 000000000..701fd2828 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper-sub1.yang @@ -0,0 +1,1758 @@ +submodule Cisco-IOS-XR-igmp-oper-sub1 { + belongs-to Cisco-IOS-XR-igmp-oper { + prefix Cisco-IOS-XR-igmp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR igmp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length + 2021-12-01 + Increase in interface name length"; + semver:module-version "1.1.1m"; + } + revision 2021-02-03 { + description + "Added DVMRP packet counter tracking for malloc and free."; + semver:module-version "1.1.0"; + } + revision 2019-08-27 { + description + "Initial IOS-XR IGMP native model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igmp-edm-protocol { + type enumeration { + enum "no-route" { + value 0; + description + "no route"; + } + enum "sm" { + value 1; + description + "sm"; + } + enum "dm" { + value 2; + description + "dm"; + } + enum "bidir" { + value 3; + description + "bidir"; + } + enum "ssm" { + value 4; + description + "ssm"; + } + enum "any" { + value 6; + description + "any"; + } + } + description + "IGMP Protocol"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Igmp-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + typedef Im-state { + type uint32; + description + "Im state"; + } + + grouping IGMP-EDM-NSF-BAG { + description + "IGMP NSF state"; + leaf is-multicast-nsf-active { + type boolean; + description + "Is Multicast NSF active"; + } + leaf multicast-nsf-timeout { + type uint32; + units "second"; + description + "Multicast NSF timeout in secs"; + } + leaf multicast-nsf-time-left { + type uint32; + units "second"; + description + "Multicast NSF time remaining in secs"; + } + leaf respawn-count { + type uint32; + description + "Respawn Count"; + } + leaf last-nsf-on { + type int64; + description + "Last NSF time ON"; + } + leaf last-nsf-off { + type int64; + description + "Last NSF time off"; + } + leaf last-nsf-on-min { + type int32; + units "second"; + description + "Last NSF time ON in Seconds"; + } + leaf last-nsf-off-min { + type int32; + units "second"; + description + "Last NSF time OFF in Seconds"; + } + leaf last-icd-notif-recv { + type int64; + description + "Last ICD Notif Recv"; + } + leaf last-icd-notif-recv-min { + type int32; + units "second"; + description + "Last ICD Notif Recv in Seconds"; + } + } + + grouping IGMP-EDM-BVI-STATS-BAG { + description + "IGMP EDM BVI STATS BAG"; + leaf receive-buffers { + type uint32; + description + "Number of AIPC buffers received"; + } + leaf release-buffers { + type uint32; + description + "Number of AIPC buffers released"; + } + leaf send-blocks { + type uint32; + description + "Number of AIPC buffers send blocked"; + } + leaf release-fail-buffers { + type uint32; + description + "Number of AIPC buffers release failed"; + } + leaf null-buffer-handles { + type uint32; + description + "Number of AIPC NULL buffer handles"; + } + leaf rx-ipc-open-notif { + type uint32; + description + "Number of AIPC open notifications received"; + } + leaf rx-ipc-close-notif { + type uint32; + description + "Number of AIPC close notifications received"; + } + leaf rx-ipc-error-notif { + type uint32; + description + "Number of AIPC error notifications received"; + } + leaf rx-ipc-lwm-notif { + type uint32; + description + "Number of AIPC LWM notifications received"; + } + leaf rx-ipc-hwm-notif { + type uint32; + description + "Number of AIPC HWM notifications received"; + } + leaf rx-ipc-input-wait-notif { + type uint32; + description + "Number of AIPC input waiting notifications + received"; + } + leaf rx-ipc-send-status-notif { + type uint32; + description + "Number of AIPC send status notifications + received"; + } + leaf rx-ipc-publish-notif { + type uint32; + description + "Number of AIPC publish notifications received"; + } + leaf rx-ipc-q-full-notif { + type uint32; + description + "Number of AIPC queue full notifications received"; + } + leaf rx-ipc-output-notif { + type uint32; + description + "Number of AIPC output notifications received"; + } + leaf rx-ipc-connect-notif { + type uint32; + description + "Number of AIPC connect notifications received"; + } + leaf rx-igmp-packet-success { + type uint32; + description + "Number of IGMP protocol messages received"; + } + leaf rx-add-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Add messages received"; + } + leaf rx-delete-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Delete messages received"; + } + leaf rx-sweep-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Sweep messages received"; + } + leaf tx-add-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Add messages transmitted"; + } + leaf tx-delete-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Delete messages + transmitted"; + } + leaf tx-sweep-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Sweep messages received"; + } + leaf rx-unknown-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Unknown messages received"; + } + leaf tx-unknown-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Unknown messages + transmitted"; + } + leaf tx-buffer-errors { + type uint32; + description + "Number of AIPC transmission errors"; + } + leaf tx-buffers { + type uint32; + description + "Number of AIPC buffers transmited"; + } + leaf tx-protocol-buffers { + type uint32; + description + "Number of IGMP protocol buffers transmitted"; + } + leaf tx-mrouter-buffers { + type uint32; + description + "Number of IGMP Mrouter buffers transmitted"; + } + leaf tx-unknown-buffers { + type uint32; + description + "Number of IGMP Unknown buffers transmited"; + } + leaf wtx-msg-recvd { + type uint32; + description + "Number of WTX messages received"; + } + leaf wtx-msg-sent { + type uint32; + description + "Number of WTX messages sent"; + } + leaf wtx-msg-proto-sent { + type uint32; + description + "Number of WTX messages sent to Protocol"; + } + leaf wtx-msg-drop-dc { + type uint32; + description + "Number of WTX messages dropped due to disconnect"; + } + leaf wtx-msg-drop-nomem { + type uint32; + description + "Number of WTX messages dropped to memory"; + } + leaf wtx-msg-freed { + type uint32; + description + "Number of WTX messages freed"; + } + } + + grouping IGMP-EDM-I2Q-STATS-BAG { + description + "IGMP Rate Adjust Stats"; + leaf queues { + type uint16; + description + "I2Q Queue count"; + } + leaf batches { + type uint16; + description + "I2Q Rate Batch count"; + } + leaf add-to-batches { + type uint32; + description + "Add to batch count"; + } + leaf delete-to-batches { + type uint32; + description + "Delete to batch count"; + } + leaf send-success { + type uint32; + description + "Send Success count"; + } + leaf send-errors { + type uint32; + description + "Number of Send errors in batch"; + } + leaf send-comm-errors { + type uint32; + description + "Send Error due to comms count"; + } + leaf send-partial-errors { + type uint32; + description + "Send Error due to partial issue count"; + } + leaf received-resync-requests { + type uint32; + description + "Number of Resync request received"; + } + leaf sent-resync-bulks { + type uint32; + description + "Number of bulks sent for last resync received"; + } + leaf is-resync-received { + type boolean; + description + "Is Resync request received"; + } + leaf is-resync-required { + type boolean; + description + "Is Resync required"; + } + leaf is-resync-start-sent { + type boolean; + description + "Is Resync Start message sent"; + } + leaf is-qos-s-sweeped { + type boolean; + description + "Is QOS Sweeped once "; + } + leaf last-sweep-time { + type uint64; + units "second"; + description + "Time elapsed since Last mark and sweep in + seconds"; + } + leaf last-download-time { + type uint64; + units "second"; + description + "Time elapsed since Last download to QOS in + seconds"; + } + } + + grouping AMT-GW-BAG { + description + "AMT GW info"; + leaf amtgw { + type inet:ipv4-address; + description + "GW"; + } + leaf amt-port { + type uint32; + description + "Port"; + } + leaf key-len { + type uint32; + description + "Len"; + } + leaf amtnh { + type uint32; + description + "AMT NH"; + } + leaf amt-nonce { + type uint32; + description + "Nonce"; + } + leaf idb { + type uint64; + description + "IDB"; + } + leaf mem-upd-in { + type uint32; + description + "UpdIn"; + } + leaf mem-upd-out { + type uint32; + description + "UpdOut"; + } + } + + grouping IGMP-EDM-NSR-BAG { + description + "IGMP NSR state"; + leaf state { + type uint8; + description + "NSR state"; + } + leaf partner-proc-connected { + type boolean; + description + "Partner process connected"; + } + leaf collab-conv-done { + type boolean; + description + "Collaborators convergence done"; + } + leaf rmf-notification-done { + type boolean; + description + "RMF Notification done"; + } + leaf last-proc { + type uint64; + description + "Time when process came up"; + } + leaf last-proc-connection-up { + type uint64; + description + "Time when process connection went up"; + } + leaf last-proc-connection-dn { + type uint64; + description + "Time when process connection went down"; + } + leaf last-rmf-ready { + type uint64; + description + "Time when RMF Rdy notif was sent"; + } + leaf last-rmf-not-ready { + type uint64; + description + "Time when RMF Not-Rdy notif was sent"; + } + leaf count-proc-connection-up { + type uint32; + description + "No. of times process connection went up"; + } + leaf count-proc-connection-dn { + type uint32; + description + "No. of times process connection went down"; + } + leaf count-rmf-ready { + type uint32; + description + "No. of times RMF Ready notif was sent"; + } + leaf count-rmf-not-ready { + type uint32; + description + "No. of times RMF Not Ready notif was sent"; + } + } + + grouping AMT-SUMMARY-BAG { + description + "AMT summary info"; + leaf anycast-prefix { + type inet:ipv4-address; + description + "Robustness variable"; + } + leaf prefix-length { + type uint32; + description + "Advertize AMT prefix length"; + } + leaf relay-address { + type inet:ipv4-address; + description + "Advertaisment for AMT Relay address"; + } + leaf mtu { + type uint32; + description + "AMT Tunnel MTU"; + } + leaf tos { + type uint32; + description + "Type Of Service value in AMT header"; + } + leaf ttl { + type uint32; + description + "Time To Live value in AMT header"; + } + leaf query-interval { + type uint32; + description + "AMT Query interval"; + } + leaf gateway-count { + type uint32; + description + "Number of AMT Gateway"; + } + leaf max-gateway { + type uint32; + description + "Maximum Gateway allowed"; + } + leaf tunnel-count { + type uint32; + description + "AMT Tunnel Count"; + } + leaf tunnel-configured-maximum { + type uint32; + description + "AMT Tunnel configured Maximum"; + } + leaf is-acl-configured { + type boolean; + description + "ACL configured under AMT"; + } + leaf is-gateway-simulation { + type boolean; + description + "AMT Gateway Simulation"; + } + leaf is-ou-of-resource { + type boolean; + description + "AMT Out Of Resource"; + } + } + + grouping IGMP-EDM-SSM-MAP-DETAIL-BAG { + description + "IGMP SSM Map Detail List"; + container map-info { + description + "Basic Map Info"; + uses IGMP-EDM-SSM-MAP-BAG; + } + leaf expiration-time { + type uint32; + units "second"; + description + "Expiration Time in Seconds"; + } + leaf response-pending { + type boolean; + description + "Response Pending"; + } + leaf query-interval { + type uint32; + description + "Query interval"; + } + leaf elapsed-time { + type uint64; + description + "Elapsed time"; + } + list sources { + description + "List of sources"; + uses IGMP-ADDRTYPE; + } + } + + grouping IGMP-EDM-IDB-SUMM-BAG { + description + "IGMP Interface DB summary"; + leaf interface-count { + type uint32; + description + "Interface Count"; + } + leaf configuration-count { + type uint32; + description + "Configuration count"; + } + } + + grouping IGMP-EDM-GROUPS-SUMMARY-BAG { + description + "IGMP group summary entry"; + leaf groutes { + type uint32; + description + "No. of (*,G) routes"; + } + leaf sg-routes { + type uint32; + description + "No. of (S,G) routes"; + } + leaf group-count { + type uint32; + description + "Current groups accepted"; + } + leaf is-low-memory { + type boolean; + description + "Node is running low on memory"; + } + } + + grouping IGMP-EDM-TRAFFIC-BAG { + description + "IGMP Traffic Counters bag"; + leaf elapsed-time { + type uint32; + description + "Running time for counters"; + } + leaf packets-in { + type uint32; + description + "Packets in"; + } + leaf packets-out { + type uint32; + description + "Packets out"; + } + leaf format-errors { + type uint32; + description + "Malformed packets in"; + } + leaf packet-manager-input-errors { + type uint32; + description + "Incoming Packet Manager packets dropped"; + } + leaf packet-manager-output-errors { + type uint32; + description + "Outgoing Packet Manager packets dropped"; + } + leaf checksum-errors { + type uint32; + description + "Checksum errors"; + } + leaf receive-socket-errors { + type uint32; + description + "Socket errors on reception"; + } + leaf socket-errors { + type uint32; + description + "Socket errors on send"; + } + leaf bad-scope-errors { + type uint32; + description + "BadScope errors"; + } + leaf auxillary-data-length-errors { + type uint32; + description + "AuxDataLen errors"; + } + leaf invalid-source-address-errors { + type uint32; + description + "Invalid Source Address errors"; + } + leaf no-socket-connection { + type uint32; + description + "Packets dropped since no socket connection"; + } + leaf miscellaneous-errors { + type uint32; + description + "Packets dropped for other reasons"; + } + leaf input-queries { + type uint32; + description + "Query packets in"; + } + leaf input-reports { + type uint32; + description + "Reports in"; + } + leaf input-leaves { + type uint32; + description + "Leaves in"; + } + leaf input-mtrace { + type uint32; + description + "Mtrace packets in"; + } + leaf input-dvmrp { + type uint32; + description + "DVMRP packets in"; + } + leaf dvmrp-alloc { + type uint32; + description + "DVMRP buffer allocations"; + } + leaf dvmrp-free { + type uint32; + description + "DVMRP freed buffers"; + } + leaf dvmrp-drop { + type uint32; + description + "DVMRP packets dropped"; + } + leaf input-pim { + type uint32; + description + "PIM packets in"; + } + leaf output-queries { + type uint32; + description + "Query packets out"; + } + leaf output-reports { + type uint32; + description + "Reports out"; + } + leaf output-leaves { + type uint32; + description + "Leaves out"; + } + leaf output-mtrace { + type uint32; + description + "Mtrace packets out"; + } + leaf output-dvmrp { + type uint32; + description + "DVMRP packets out"; + } + leaf output-pim { + type uint32; + description + "PIM packets out"; + } + leaf get-packet-failure { + type uint32; + description + "Packet get failed"; + } + leaf output-no-parent-interface-handle { + type uint32; + description + "Failures setting 2nd ifhandle"; + } + leaf input-no-idb { + type uint32; + description + "Packets received without idb"; + } + leaf input-no-vrf-in-idb { + type uint32; + description + "Packets received on idb without VRF"; + } + leaf input-disabled-idb { + type uint32; + description + "Packet received on disabled idb"; + } + leaf input-martian-address { + type uint32; + description + "Packets received with Martian Address"; + } + leaf input-no-assigned-vrf-id { + type uint32; + description + "Packets received with no assigned vrf id"; + } + leaf input-no-vrf-mtrace { + type uint32; + description + "mtrace packets with no vrf associated"; + } + leaf input-no-platform-support-mtrace { + type uint32; + description + "mtrace packets without platform support"; + } + leaf packet-allocated { + type uint32; + description + "Number of pak allocated by IGMP"; + } + leaf packet-freed { + type uint32; + description + "Number of pak freed by IGMP"; + } + } + + grouping IGMP-EDM-IDB-IFRS-BAG { + description + "IGMP IFRS interface entry"; + container igmp-interface-entry { + description + "IGMP interface entry"; + uses IGMP-EDM-IDB-BAG; + } + leaf join-group-count { + type uint32; + description + "Join group count"; + } + } + + grouping IGMP-GROUP-RANGE { + description + "IGMP Group-Map Range"; + container group-address-xr { + description + "Group address"; + uses IGMP-ADDRTYPE; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf protocol { + type Igmp-edm-protocol; + description + "Protocol"; + } + leaf is-stale { + type boolean; + description + "Is the entry stale"; + } + } + + grouping IGMP-EDM-I2Q-INTF-RATE-BAG { + description + "IGMP-QOS Interface Rate"; + container source-address { + description + "Source address"; + uses IGMP-ADDRTYPE; + } + container group-address { + description + "Group address"; + uses IGMP-ADDRTYPE; + } + leaf is-add { + type boolean; + description + "Is this a rate increment"; + } + leaf weight { + type uint32; + description + "Weight from policy"; + } + leaf received-time { + type uint64; + description + "Time this update is received"; + } + } + + grouping IGMP-EDM-I2Q-INTF-STATS-BAG { + description + "IGMP-QOS Interface Stats"; + leaf is-virtual-access { + type boolean; + description + "Is VirtualAccess Interface"; + } + leaf rate { + type uint32; + units "kbit/s"; + description + "Overall rate in Kbps"; + } + leaf rate-increments { + type uint32; + description + "Count of rate increments"; + } + leaf rate-decrements { + type uint32; + description + "Count of rate decrements"; + } + list update { + max-elements "5"; + description + "List of updates"; + uses IGMP-EDM-I2Q-INTF-RATE-BAG; + } + } + + grouping IGMP-EDM-GROUPS-HOST-BAG { + description + "IGMP Groups host entry"; + container address { + description + "Host Address"; + uses IGMP-ADDRTYPE; + } + leaf uptime { + type uint32; + units "second"; + description + "Uptime in seconds"; + } + leaf is-exclude { + type boolean; + description + "Exclude flag set"; + } + leaf expiration-time { + type uint32; + units "second"; + description + "Expiration time in seconds"; + } + leaf source-count { + type uint32; + description + "No. of sources in entry"; + } + list source-address { + max-elements "3"; + description + "First 3 source addresses"; + uses IGMP-ADDRTYPE; + } + } + + grouping IGMP-EDM-GROUPS-ET-BAG { + description + "IGMP group explicit-tracking entry"; + container group-info { + description + "Basic Group information"; + uses IGMP-EDM-GROUPS-BAG; + } + leaf include-hosts { + type uint32; + description + "No. of hosts who are included"; + } + leaf exclude-hosts { + type uint32; + description + "No. of hosts who are excluded"; + } + list host { + description + "List of hosts"; + uses IGMP-EDM-GROUPS-HOST-BAG; + } + } + + grouping IGMP-EDM-SSM-MAP-BAG { + description + "IGMP SSM Map List"; + container group-address-xr { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + leaf map-type { + type uint32; + description + "Map Type of group"; + } + leaf source-counts { + type uint32; + description + "Count of Sources"; + } + } + + grouping IGMP-EDM-NOT-ACTIVE-GROUP-BAG { + description + "IGMP Non active group"; + container group-address { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf interface { + type string { + length "0..81"; + } + description + "Interface Name"; + } + leaf reason-for-non-activity { + type string { + length "0..257"; + } + description + "Reason for group join not being processed"; + } + } + + grouping IGMP-EDM-NOT-ACTIVE-ALLGROUPS-BAG { + description + "IGMP Non active groups list"; + list non-active-groups { + description + "List of non-active groups"; + uses IGMP-EDM-NOT-ACTIVE-GROUP-BAG; + } + } + + grouping IGMP-EDM-GROUPS-SOURCE-BAG { + description + "IGMP Groups source entry"; + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiration-time { + type int32; + units "second"; + description + "Expiration time in seconds"; + } + leaf is-local { + type boolean; + description + "Is this a local source"; + } + leaf is-remote { + type boolean; + description + "Is this a remote source"; + } + leaf is-forward { + type boolean; + description + "Should we forward on this entry"; + } + leaf is-we-report { + type boolean; + description + "Should we report the source"; + } + leaf flags { + type int32; + description + "Source flags"; + } + leaf is-added { + type boolean; + description + "Joined"; + } + leaf is-evpn-remote { + type boolean; + description + "Route learnt through EVPN"; + } + } + + grouping IGMP-EDM-GROUPS-BAG { + description + "IGMP group entry"; + container group-address-xr { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + container last-reporter { + description + "Last reporter address"; + uses IGMP-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiration-time { + type int32; + units "second"; + description + "Expiration time in seconds"; + } + leaf explicit-tracking-enabled { + type boolean; + description + "Is explicit tracking enabled"; + } + leaf is-self-join { + type boolean; + description + "If local system is member of this group on this + interface"; + } + leaf row-status { + type string { + length "0..16"; + } + description + "interface on or off for the group"; + } + leaf is-low-memory { + type boolean; + description + "Node is running low on memory"; + } + leaf router-filter-mode { + type uint8; + description + "Filter mode"; + } + leaf older-host-version1-timer { + type uint32; + description + "IGMP Hostversion1timer"; + } + leaf older-host-version2-timer { + type uint32; + description + "IGMP Hostversion2timer"; + } + leaf is-added { + type boolean; + description + "Joined"; + } + leaf is-suppressed { + type boolean; + description + "Suppressed"; + } + leaf is-evpn-remote { + type boolean; + description + "EVPN remote flag"; + } + leaf is-evpn-stale { + type boolean; + description + "EVPN stale flag"; + } + } + + grouping IGMP-EDM-GROUPS-DETAIL-BAG { + description + "IGMP group detail entry"; + container group-info { + description + "Basic Group information"; + uses IGMP-EDM-GROUPS-BAG; + } + leaf is-router-exclude-mode { + type boolean; + description + "Group router filter mode"; + } + leaf is-host-exclude-mode { + type boolean; + description + "Group host filter mode"; + } + list source { + description + "List of sources"; + uses IGMP-EDM-GROUPS-SOURCE-BAG; + } + } + + grouping IGMP-ADDRTYPE { + description + "IGMP ADDRTYPE"; + leaf af-name { + type Igmp-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Addr"; + } + } + + grouping IGMP-EDM-IDB-BAG { + description + "IGMP interface entry"; + container address { + description + "IP address"; + uses IGMP-ADDRTYPE; + } + container querier-address { + description + "Address of the Querier"; + uses IGMP-ADDRTYPE; + } + container subscriber-address { + description + "Address of subscriber"; + uses IGMP-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf state { + type Im-state; + description + "Interface state"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf is-interface-up { + type boolean; + description + "Is interface up"; + } + leaf is-ip-enabled { + type boolean; + description + "Is IP enabled"; + } + leaf is-router-enabled { + type boolean; + description + "Is Router functionality enabled"; + } + leaf is-multi-homing-enabled { + type boolean; + description + "Is Multihoming enabled"; + } + leaf is-multi-homing-stale { + type boolean; + description + "Is Multihoming Update stale"; + } + leaf igmp-version { + type uint8; + description + "IGMP Router version"; + } + leaf host-version { + type uint8; + description + "IGMP Host version"; + } + leaf query-interval { + type uint16; + units "second"; + description + "Query Interval value in seconds"; + } + leaf query-timeout { + type uint16; + description + "Query Timeout value"; + } + leaf query-maximum-response-time { + type uint16; + description + "Max Response Timeout value"; + } + leaf last-member-query-interval { + type uint16; + description + "Last Member Query Interval"; + } + leaf group-joins { + type uint32; + description + "No. of group joins"; + } + leaf group-leaves { + type uint32; + description + "No. of group leaves"; + } + leaf is-querier { + type boolean; + description + "Are we querier"; + } + leaf total-active-groups { + type uint32; + description + "Actual number of groups on interface"; + } + leaf robustness { + type uint32; + description + "Robustness Variable value"; + } + leaf proxy-interface { + type xr:Interface-name; + description + "Proxy interface index"; + } + leaf querier-uptime { + type uint16; + description + "Time since the last querier took over"; + } + leaf las-ll-registration-count { + type uint32; + description + "LAS reg count"; + } + leaf las-get-address-count { + type uint32; + description + "LAS get addr count"; + } + leaf las-update-count { + type uint32; + description + "LAS Update count"; + } + leaf las-ll-remove-update-count { + type uint32; + description + "LAS LL remove update count"; + } + leaf las-ll-add-update-count { + type uint32; + description + "LAS LL add update count"; + } + leaf las-null-update-count { + type uint32; + description + "LAS Null update count"; + } + leaf las-unregistration-count { + type uint32; + description + "LAS unreg count"; + } + leaf is-las-request { + type boolean; + description + "LAS req"; + } + leaf is-las-registered { + type boolean; + description + "LAS registered"; + } + leaf vrf-id { + type uint32; + description + "VRF id"; + } + leaf mte-vrf-id { + type uint32; + description + "MTE VRF id"; + } + leaf location { + type uint32; + description + "Location"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf vrf-state { + type uint32; + description + "Vrf State"; + } + leaf is-configurationverify { + type boolean; + description + "CFG verify"; + } + leaf configurationvrf-set { + type boolean; + description + "CFG vrf set"; + } + leaf configurationvrf-error { + type boolean; + description + "CFG vrf error"; + } + leaf configuration-mcast-vrf-set { + type boolean; + description + "Is mcast set"; + } + leaf configuration-mcast-vrf-error { + type boolean; + description + "Is mcast error"; + } + leaf is-im-state-registered { + type boolean; + description + "Im state registered"; + } + leaf is-subscriber { + type boolean; + description + "Subscriber interface"; + } + leaf subscriber-mode { + type uint32; + description + "Subscriber mode"; + } + leaf is-identity-present { + type boolean; + description + "Subscriber ID or Address available from AAA"; + } + leaf subscriber-id { + type string { + length "0..257"; + } + description + "ID string of subscriber"; + } + leaf parent-ifhandle { + type xr:Interface-name; + description + "Parent If Handle"; + } + leaf time-since-last-query-in-seconds { + type uint32; + description + "Time elapsed since last query"; + } + leaf time-since-last-report-in-seconds { + type uint32; + description + "Time elapsed since last report"; + } + leaf router-uptime-in-seconds { + type uint32; + description + "Uptime since router enabled event"; + } + leaf mte-tuple-count { + type uint32; + description + "MTE Tuple count"; + } + } + + grouping IGMP-EDM-INTF-SUMMARY-BAG { + description + "IGMP interface summary info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf group-limit { + type uint32; + description + "Maximum groups accepted per interface"; + } + leaf group-count { + type uint32; + description + "Current groups accepted per interface"; + } + leaf parent-ifhandle { + type xr:Interface-name; + description + "Parent if handle"; + } + leaf on-off { + type boolean; + description + "Enabled/Disabled"; + } + leaf time-since-last-query-in-seconds { + type uint32; + description + "Time elapsed since last query"; + } + leaf time-since-last-report-in-seconds { + type uint32; + description + "Time elapsed since last report"; + } + leaf router-uptime-in-seconds { + type uint32; + description + "Time elapsed since router enabled event"; + } + } + + grouping IGMP-EDM-SUMMARY-BAG { + description + "IGMP summary info"; + leaf robustness { + type uint32; + description + "Robustness variable"; + } + leaf group-limit { + type uint32; + description + "Maximum groups accepted"; + } + leaf group-count { + type uint32; + description + "Current groups accepted"; + } + leaf is-disabled { + type boolean; + description + "Is maximum enforcement disabled"; + } + leaf is-evpn-connection-up { + type boolean; + description + "Is EVPN connection up"; + } + leaf supported-interfaces { + type uint32; + description + "No. of supported interfaces"; + } + leaf unsupported-interfaces { + type uint32; + description + "No. of unsupported interfaces"; + } + leaf enabled-interface-count { + type uint32; + description + "No. of enabled interfaces"; + } + leaf disabled-interface-count { + type uint32; + description + "No. of disabled interfaces"; + } + leaf multi-homing-enabled-interfaces { + type uint32; + description + "No. of EVPN MH enabled interfaces"; + } + leaf tunnel-mte-config-count { + type uint32; + description + "No. of static group commands"; + } + leaf node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + leaf querier-number { + type uint32; + description + "Number of querier interfaces"; + } + list interface { + description + "Maximum and current groups accepted for each + interface"; + uses IGMP-EDM-INTF-SUMMARY-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper.yang new file mode 100644 index 000000000..47a4cb1db --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-igmp-oper.yang @@ -0,0 +1,602 @@ +module Cisco-IOS-XR-igmp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-igmp-oper"; + prefix igmp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-igmp-oper-sub1 { + revision-date 2022-03-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR igmp package operational data. + + This module contains definitions + for the following management objects: + igmp: IGMP operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length + 2021-12-01 + Increase in interface name length"; + semver:module-version "1.1.1m"; + } + revision 2021-02-03 { + description + "Added DVMRP packet counter tracking for malloc and free."; + semver:module-version "1.1.0"; + } + revision 2019-08-27 { + description + "Initial IOS-XR IGMP native model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igmpssm-map { + type enumeration { + enum "static" { + value 0; + description + "Static"; + } + enum "dns" { + value 1; + description + "Dns"; + } + enum "all" { + value 2; + description + "All"; + } + } + description + "Igmpssm map"; + } + + grouping UNICAST-QOS-ADJUST-STATS { + description + "Common node of process, process"; + container unicast-qos-adjust-stats { + description + "IGMP Unicast-Qos-Adjust Statistics"; + uses IGMP-EDM-I2Q-STATS-BAG; + } + } + + grouping INTERFACE-STATE-OFF-TABLE { + description + "Common node of vrf, default-context"; + container interface-state-offs { + description + "IGMP Interface state off"; + list interface-state-off { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + } + + grouping RANGE-TABLE { + description + "Common node of vrf, default-context"; + container ranges { + description + "Range table"; + list range { + key "group-address group-mask"; + description + "Range information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + leaf group-mask { + type uint32; + description + "Group Mask"; + } + uses IGMP-GROUP-RANGE; + } + } + } + + grouping SSM-MAP-DETAIL-TABLE { + description + "Common node of vrf, default-context"; + container ssm-map-details { + description + "SSM Map Detail"; + list ssm-map-detail { + key "ssm-map-type group-address"; + description + "SSM Map Detail Table information"; + leaf ssm-map-type { + type Igmpssm-map; + description + "SSM Map Type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses IGMP-EDM-SSM-MAP-DETAIL-BAG; + } + } + } + + grouping EXPLICIT-GROUP-TABLE { + description + "Common node of vrf, default-context"; + container explicit-groups { + description + "IGMP Explicit Group Database"; + list explicit-group { + key "group-address interface-name source-address"; + description + "IGMP Explicit Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source/Host Address"; + } + uses IGMP-EDM-GROUPS-ET-BAG; + } + } + } + + grouping AMT-GATEWAY-TABLE { + description + "Common node of process, process"; + container amt-gateways { + description + "Table containing AMT Gateway DataBase + information"; + list amt-gateway { + key "gateway-address port"; + description + "AMT Gateway DataBase information"; + leaf gateway-address { + type inet:ipv4-address-no-zone; + description + "Gateway Address"; + } + leaf port { + type uint32; + description + "Port"; + } + uses AMT-GW-BAG; + } + } + } + + grouping GROUP-TABLE { + description + "Common node of vrf, default-context"; + container groups { + description + "IGMP Group Database Table"; + list group { + key "group-address interface-name"; + description + "IGMP Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-GROUPS-BAG; + } + } + } + + grouping GROUP-SUMMARY { + description + "Common node of vrf, default-context"; + container group-summary { + description + "IGMP Groups Summary"; + uses IGMP-EDM-GROUPS-SUMMARY-BAG; + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrf-table { + description + "VRF Table"; + uses VRF; + } + } + + grouping BVI-STATISTICS { + description + "Common node of process, process"; + container bvi-statistics { + description + "IGMP BVI Stats"; + uses IGMP-EDM-BVI-STATS-BAG; + } + } + + grouping INTERFACE-STATE-ON-TABLE { + description + "Common node of vrf, default-context"; + container interface-state-ons { + description + "IGMP Interface state on"; + list interface-state-on { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + } + + grouping INTERFACE { + description + "Common node of interface-table, + global-interface-table"; + list interface { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + + grouping IFRS-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container ifrs-interfaces { + description + "IGMP Interface specific"; + list ifrs-interface { + key "interface-name"; + description + "IGMP IFRS Interface"; + leaf interface-name { + type xr:Interface-name; + description + "IFRS Interface Name"; + } + uses IGMP-EDM-IDB-IFRS-BAG; + } + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container nsr { + description + "NSR Information"; + uses IGMP-EDM-NSR-BAG; + } + uses AMT-SUMMARY; + uses AMT-GATEWAY-TABLE; + uses UNICAST-QOS-ADJUST-STATS; + uses BVI-STATISTICS; + uses NSF; + } + } + + grouping TRAFFIC-COUNTERS { + description + "Common node of vrf, default-context"; + container traffic-counters { + description + "IGMP Message Traffic Counters"; + uses IGMP-EDM-TRAFFIC-BAG; + } + } + + grouping GLOBAL-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container global-interface-table { + description + "IGMP Global Interface "; + uses INTERFACE; + } + } + + grouping ACTIVE { + description + "Common node of igmp, mld"; + container active { + description + "Active Process"; + uses VRF-TABLE; + uses PROCESS; + uses DEFAULT-CONTEXT; + } + } + + grouping INTERFACE-UNICAST-QOS-ADJUST-TABLE { + description + "Common node of vrf, default-context"; + container interface-unicast-qos-adjusts { + description + "IGMP Interface Unicast-Qos-Adjust"; + list interface-unicast-qos-adjust { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-I2Q-INTF-STATS-BAG; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container interface-table { + description + "IGMP Interface specific Table"; + uses INTERFACE; + } + } + + grouping SUMMARY { + description + "Common node of vrf, default-context"; + container summary { + description + "IGMP Summary Information"; + uses IGMP-EDM-SUMMARY-BAG; + } + } + + grouping NON-ACTIVE-GROUPS { + description + "Common node of vrf, default-context"; + container non-active-groups { + description + "IGMP Non-Active Groups Information"; + uses IGMP-EDM-NOT-ACTIVE-ALLGROUPS-BAG; + } + } + + grouping VRF { + description + "Common node of vrf-table, vrf-table"; + list vrf { + key "vrf-name"; + description + "VRF table Names"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses SUMMARY; + uses INTERFACE-STATE-ON-TABLE; + uses DETAIL-GROUP-TABLE; + uses NON-ACTIVE-GROUPS; + uses SSM-MAP-TABLE; + uses EXPLICIT-GROUP-TABLE; + uses INTERFACE-TABLE; + uses INTERFACE-UNICAST-QOS-ADJUST-TABLE; + uses RANGE-TABLE; + uses IFRS-INTERFACE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-TABLE; + uses GROUP-SUMMARY; + uses IFRS-INTERFACE-SUMMARY; + uses GLOBAL-INTERFACE-TABLE; + uses SSM-MAP-DETAIL-TABLE; + uses INTERFACE-STATE-OFF-TABLE; + } + } + + grouping NSF { + description + "Common node of process, process"; + container nsf { + description + "NSF Information"; + uses IGMP-EDM-NSF-BAG; + } + } + + grouping DETAIL-GROUP-TABLE { + description + "Common node of vrf, default-context"; + container detail-groups { + description + "IGMP Detail Group Database"; + list detail-group { + key "group-address interface-name source-address"; + description + "IGMP Detail Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source/Host Address"; + } + uses IGMP-EDM-GROUPS-DETAIL-BAG; + } + } + } + + grouping SSM-MAP-TABLE { + description + "Common node of vrf, default-context"; + container ssm-maps { + description + "SSM Map Table"; + list ssm-map { + key "ssm-map-type group-address"; + description + "SSM Map information"; + leaf ssm-map-type { + type Igmpssm-map; + description + "SSM Map Type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses IGMP-EDM-SSM-MAP-BAG; + } + } + } + + grouping AMT-SUMMARY { + description + "Common node of process, process"; + container amt-summary { + description + "MRIB RouteDB Expiry Information"; + uses AMT-SUMMARY-BAG; + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default Context"; + uses SUMMARY; + uses INTERFACE-STATE-ON-TABLE; + uses DETAIL-GROUP-TABLE; + uses NON-ACTIVE-GROUPS; + uses SSM-MAP-TABLE; + uses EXPLICIT-GROUP-TABLE; + uses INTERFACE-TABLE; + uses INTERFACE-UNICAST-QOS-ADJUST-TABLE; + uses RANGE-TABLE; + uses IFRS-INTERFACE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-TABLE; + uses GROUP-SUMMARY; + uses IFRS-INTERFACE-SUMMARY; + uses GLOBAL-INTERFACE-TABLE; + uses SSM-MAP-DETAIL-TABLE; + uses INTERFACE-STATE-OFF-TABLE; + } + } + + grouping IFRS-INTERFACE-SUMMARY { + description + "Common node of vrf, default-context"; + container ifrs-interface-summary { + description + "IGMP IFRS Interface summary"; + uses IGMP-EDM-IDB-SUMM-BAG; + } + } + + grouping STANDBY { + description + "Common node of igmp, mld"; + container standby { + description + "Standby Process"; + uses VRF-TABLE; + uses PROCESS; + uses DEFAULT-CONTEXT; + } + } + + container igmp { + config false; + description + "IGMP operational data"; + uses STANDBY; + uses ACTIVE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper-sub1.yang new file mode 100644 index 000000000..d4359d1b9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper-sub1.yang @@ -0,0 +1,1844 @@ +submodule Cisco-IOS-XR-igp-topodb-oper-sub1 { + belongs-to Cisco-IOS-XR-igp-topodb-oper { + prefix Cisco-IOS-XR-igp-topodb-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR igp-topodb package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-22 { + description + "Modified for Flex algo srlg exclude-any and Flex algo External features."; + semver:module-version "3.0.1M"; + } + revision 2021-05-12 { + description + "Modified for Flex algo Inter-area support."; + semver:module-version "3.0.0"; + } + revision 2020-01-02 { + description + "Added topodb operational data support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Otlib-repair-el { + type enumeration { + enum "mgmt-otlib-repair-el-invalid" { + value 0; + description + "Unknown LFA"; + } + enum "mgmt-otlib-repair-el-p-node" { + value 1; + description + "Direct LFA"; + } + enum "mgmt-otlib-repair-el-q-node" { + value 2; + description + "TI LFA"; + } + } + description + "Otlib repair el"; + } + + typedef Otlib-lfa { + type enumeration { + enum "mgmt-otlib-unknown-lfa" { + value 0; + description + "Unknown LFA"; + } + enum "mgmt-otlib-direct-lfa" { + value 1; + description + "Direct LFA"; + } + enum "mgmt-otlib-ti-lfa" { + value 2; + description + "TI LFA"; + } + } + description + "Otlib lfa"; + } + + grouping OTLIB-SH-AREA-ALGO-SUMMARY { + description + "OTLIB Area Algo Summary"; + leaf algo-number { + type uint8; + description + "Algo Number"; + } + leaf spf-trigger-flags { + type uint8; + description + "SPF Trigger Flags"; + } + leaf spf-schedule-flags { + type uint8; + description + "SPF Schedule Flags"; + } + leaf spf-count { + type uint8; + description + "SPF Count"; + } + leaf fad-adv-router-id { + type inet:ipv4-address; + description + "FAD Adv Router ID"; + } + leaf fad-area-id-string { + type string { + length "0..16"; + } + description + "FAD Adv Router's Area ID"; + } + leaf metric-type { + type uint8; + description + "Metric Type"; + } + leaf algo-type { + type uint8; + description + "Algo Type"; + } + leaf is-uloop-active { + type boolean; + description + "Whether microloop avoidance is active"; + } + leaf is-fad-unsupported { + type boolean; + description + "Whether selected FAD contains parameters not + supported by this node"; + } + leaf is-fapm-supported { + type boolean; + description + "Whether FAPM/FAAM support is enabled"; + } + leaf uloop-near-end-node { + type uint32; + description + "Near end node in the active microloop + calculation"; + } + leaf uloop-far-end-node { + type uint32; + description + "Far end node in the active microloop calculation"; + } + leaf uloop-cost-in-out-node { + type uint32; + description + "Node that had a cost in or cost out in the + active microloop calculation"; + } + leaf uloop-news { + type uint8; + description + "Action that triggered the active microloop + calculation"; + } + leaf uloop-last-successful-near-end-node { + type uint32; + description + "Near end node in the last successful microloop + calculation"; + } + leaf uloop-last-successful-far-end-node { + type uint32; + description + "Far end node in the last successful microloop + calculation"; + } + leaf uloop-last-successful-cost-in-out-node { + type uint32; + description + "Node that had a cost in or cost out in the last + successful microloop calculation"; + } + leaf uloop-last-successful-news { + type uint8; + description + "Action that triggered the last successful + microloop calculation"; + } + leaf uloop-last-success-begin { + type string { + length "0..50"; + } + description + "Time at which last successful microloop + calculation began"; + } + leaf uloop-last-success-end { + type string { + length "0..50"; + } + description + "Time at which last successful microloop + calculation was completed"; + } + leaf-list exclude-affinity { + type uint32; + description + "Exclude Affinity"; + } + leaf-list include-any-affinity { + type uint32; + description + "Include Any Affinity"; + } + leaf-list include-all-affinity { + type uint32; + description + "Include All Affinity"; + } + leaf-list exclude-srlg { + type uint32; + description + "Exclude SRLG"; + } + } + + grouping OTLIB-SH-AREA-SUMMARY { + description + "OTLIB Area Summary"; + leaf area-id-string { + type string { + length "0..16"; + } + description + "Area ID"; + } + leaf num-nodes { + type uint16; + description + "No. of Nodes"; + } + leaf ulooptime-remaining { + type uint32; + description + "Time remaining for the active Microloop + avoidance paths"; + } + list algo { + description + "List of Algos"; + uses OTLIB-SH-AREA-ALGO-SUMMARY; + } + } + + grouping OTLIB-SH-INST-SUMMARY { + description + "OTLIB Instance Summary"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf num-areas { + type uint16; + description + "No. of Areas"; + } + leaf spf-trigger-flags { + type uint8; + description + "SPF Trigger Flags"; + } + leaf spf-schedule-flags { + type uint8; + description + "SPF Schedule Flags"; + } + leaf num-algos { + type uint8; + description + "No. of Algos supported"; + } + leaf algo-status { + type yang:hex-string; + description + "Algo Status"; + } + leaf max-paths { + type uint16; + description + "Max Paths"; + } + leaf num-routes { + type uint32; + description + "No. of Routes"; + } + leaf-list route-work-queue-size { + type uint32; + max-elements "4"; + description + "Route Work Queue Sizes"; + } + list srgb { + description + "SRGB List"; + uses OTLIB-SHOW-SR-RANGE; + } + list area { + description + "List of Areas"; + uses OTLIB-SH-AREA-SUMMARY; + } + } + + grouping OTLIB-SHOW-ROUTE-ULOOP-PATH { + description + "OTLIB Route Microloop Avoidance Path"; + leaf repair-list-size { + type uint32; + description + "Repair List Size"; + } + leaf tunnel-interface-name { + type uint32; + description + "Microloop Avoidance Tunnel Interface"; + } + list repair { + max-elements "12"; + description + "Microloop Avoidance Repair List"; + uses OTLIB-SH-REP-EL; + } + } + + grouping OTLIB-SH-REP-EL { + description + "OSPF Repair Element"; + leaf repair-element-id { + type inet:ipv4-address; + description + "ID of the Repair Element"; + } + leaf repair-label { + type uint32; + description + "Label of Repair Element"; + } + leaf repair-element-type { + type Otlib-repair-el; + description + "Type of the Repair Element"; + } + } + + grouping OTLIB-SHOW-ROUTE-BACKUP-PATH { + description + "OTLIB Route Backup Path"; + leaf interface-handle { + type uint32; + description + "Interface Handle"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "NextHop IP Address"; + } + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf backup-route-source { + type inet:ipv4-address; + description + "IP address of source of route"; + } + leaf backup-metric { + type uint64; + description + "Backup Metric"; + } + leaf label { + type uint32; + description + "Label"; + } + leaf primary-path { + type boolean; + description + "Whether this is also a Primary Path"; + } + leaf interface-disjoint { + type boolean; + description + "Wheher this is a Interface Disjoint path"; + } + leaf line-card-disjoint { + type boolean; + description + "Whether this is a Line Card Disjoint path"; + } + leaf downstream { + type boolean; + description + "Whether this is a downstream path"; + } + leaf node-protect { + type boolean; + description + "Whether this is a Node Protect path"; + } + leaf srlg-disjoint { + type boolean; + description + "Whether this is a SRLG Disjoint path"; + } + leaf weighted-srlg { + type boolean; + description + "Whether this is a Weighted SRLG path"; + } + leaf lfa-type { + type Otlib-lfa; + description + "LFA type"; + } + leaf backup-repair-list-size { + type uint32; + description + "Repair List Size"; + } + leaf backup-tunnel-interface-name { + type uint32; + description + "Backup Tunnel Interface"; + } + list backup-repair { + max-elements "12"; + description + "Backup Repair List"; + uses OTLIB-SH-REP-EL; + } + } + + grouping OTLIB-SHOW-ROUTE-PATH { + description + "OTLIB Route Path"; + container backup-path { + description + "Backup path details"; + uses OTLIB-SHOW-ROUTE-BACKUP-PATH; + } + container uloop-path { + description + "Microloop Avoidance Path"; + uses OTLIB-SHOW-ROUTE-ULOOP-PATH; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "NextHop IP Address"; + } + leaf interface-handle { + type uint32; + description + "Interface Handle"; + } + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf info-src { + type inet:ipv4-address; + description + "Source of Path"; + } + leaf path-weight { + type uint32; + description + "Path Weight"; + } + leaf path-label { + type uint32; + description + "Path Label"; + } + leaf area-id { + type uint32; + description + "Area ID"; + } + } + + grouping OTLIB-SHOW-ROUTE-ALGO { + description + "OTLIB Route Algo"; + leaf algo-number { + type uint8; + description + "Algo Number"; + } + leaf route-metric { + type uint64; + description + "Route Metric"; + } + leaf forward-distance { + type uint64; + description + "Forward Distance"; + } + leaf route-update-time { + type string { + length "0..50"; + } + description + "Time at which this route was updated"; + } + leaf route-algo-flags { + type uint8; + description + "Route algo flags"; + } + leaf route-type { + type uint8; + description + "Route Type"; + } + leaf route-sid { + type uint32; + description + "Route SID"; + } + leaf route-label { + type uint32; + description + "Route label"; + } + leaf path-count { + type uint32; + description + "Route path count"; + } + leaf ext-e-bit { + type boolean; + description + "External E bit"; + } + list path { + description + "Algo Path List"; + uses OTLIB-SHOW-ROUTE-PATH; + } + list route-contributor { + description + "Route prefix contributors"; + uses OTLIB-SHOW-PREFIX-CONTRIB; + } + } + + grouping OTLIB-SHOW-ROUTE { + description + "OTLIB Route"; + leaf route-prefix { + type inet:ipv4-address; + description + "Route Prefix Address"; + } + leaf route-prefix-length { + type uint8; + description + "Route Prefix Length"; + } + leaf route-priority { + type uint8; + description + "Route priority"; + } + leaf route-flags { + type uint16; + description + "Route flags"; + } + list algo { + description + "Route Algo list"; + uses OTLIB-SHOW-ROUTE-ALGO; + } + } + + grouping OTLIB-SHOW-ROUTE-INSTANCE { + description + "OTLIB Route Instance"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf num-routes { + type uint32; + description + "No. of routes"; + } + list route { + description + "List of Routes"; + uses OTLIB-SHOW-ROUTE; + } + } + + grouping OTLIB-SHOW-ASBR-CONTRIB-ALGO { + description + "OTLIB Flex algo specific ASBR contributor"; + leaf algo { + type uint8; + description + "Algo number"; + } + leaf igp-metric { + type uint32; + description + "Base IGP metric of the asbr by the node"; + } + leaf faam-metric { + type uint32; + description + "FAAM metric of the asbr by the node"; + } + leaf total-metric { + type uint64; + description + "Total metric to reach the asbr"; + } + leaf contrib-flags { + type uint8; + description + "ASBR contributor flags"; + } + } + + grouping OTLIB-SHOW-ASBR { + description + "OTLIB ASBR"; + leaf asbrid { + type inet:ipv4-address; + description + "ASBR ID"; + } + leaf asbr-metric { + type uint32; + description + "ASBR metric"; + } + list asbr-contributor { + description + "ASBR Contributors"; + uses OTLIB-SHOW-ASBR-CONTRIB-ALGO; + } + } + + grouping OTLIB-SHOW-ASBR-REACHABILITY-NODE { + description + "OTLIB ASBR Reachability Node"; + container node-id { + description + "Node ID"; + uses OTLIB-SHOW-NODE-ID; + } + leaf num-asb-rs { + type uint32; + description + "Number of ASBRs"; + } + list asbr { + description + "List of ASBRs advertised by the node"; + uses OTLIB-SHOW-ASBR; + } + } + + grouping OTLIB-SHOW-ASBR-REACHABILITY-AREA { + description + "OTLIB ASBR Reachability Area"; + leaf area-id-string { + type string { + length "0..16"; + } + description + "Area ID string"; + } + list node { + description + "List of Nodes"; + uses OTLIB-SHOW-ASBR-REACHABILITY-NODE; + } + } + + grouping OTLIB-SHOW-ASBR-REACHABILITY-INSTANCE { + description + "OTLIB ASBR Reachability Instance"; + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + list area { + description + "List of Areas"; + uses OTLIB-SHOW-ASBR-REACHABILITY-AREA; + } + } + + grouping OTLIB-SHOW-NFTE-NODE-SRLG { + description + "OTLIB Nfte Srlg"; + leaf srlg-interface-topo-intf { + type uint32; + description + "Srlg Interface Topo Interface"; + } + leaf sit-pcspt-node-srlg-dist { + type uint64; + description + "Srlg Pcspt Node Srlg Dist"; + } + list nfte-path { + description + "Nfte Path List"; + uses OTLIB-SHOW-NFTE-PATH; + } + } + + grouping OTLIB-SHOW-NFTE-SRLG { + description + "OTLIB Nfte Srlg"; + leaf srlg-interface-topo-intf { + type uint32; + description + "Srlg Interface Topo Interface"; + } + leaf sit-pcspt-srlg-dist { + type uint64; + description + "Srlg Pcspt Srlg Dist"; + } + list nfte-path { + description + "Nfte Path List"; + uses OTLIB-SHOW-NFTE-PATH; + } + } + + grouping OTLIB-SHOW-NFTE-NODE { + description + "OTLIB Nfte Node"; + leaf nfte-pcspt-node-dist { + type uint64; + description + "Nfte Post Convergence Node Distance"; + } + list nfte-path { + description + "Nfte Path List"; + uses OTLIB-SHOW-NFTE-PATH; + } + } + + grouping OTLIB-SHOW-NFTE-PATH { + description + "OTLIB Nfte Path"; + leaf nfte-path-nexthop { + type inet:ipv4-address; + description + "Nfte Path Nexthop"; + } + leaf nfte-path-ifhandle { + type uint32; + description + "Nfte Path Intf Handle"; + } + leaf nfte-path-nbr-id { + type inet:ipv4-address; + description + "Nfte Path Nbr Id"; + } + leaf nfte-parent-node-id { + type inet:ipv4-address; + description + "Nfte Parent Node Id"; + } + leaf nfte-path-is-repair { + type boolean; + description + "Nfte Path Node Id"; + } + list repair-node { + description + "Repair Node List"; + uses OTLIB-SHOW-REPAIR-NODE; + } + } + + grouping OTLIB-SHOW-NFTE-LINK { + description + "OTLIB Nfte Link"; + leaf nfte-pcspt-dist { + type uint64; + description + "Nfte Post Convergence Distance"; + } + list nfte-path { + description + "Nfte Path List"; + uses OTLIB-SHOW-NFTE-PATH; + } + } + + grouping OTLIB-SHOW-NFTE { + description + "OTLIB Nfte"; + container nfte-link { + description + "Nfte Link Protection"; + uses OTLIB-SHOW-NFTE-LINK; + } + container nfte-node { + description + "Nfte Node Protection"; + uses OTLIB-SHOW-NFTE-NODE; + } + leaf nfte-node-id { + type inet:ipv4-address; + description + "Nfte Node Id"; + } + leaf nfte-dist { + type uint64; + description + "Nfte Distance"; + } + leaf nfte-rspt-dist { + type uint64; + description + "Nfte Reverse SPT Distance"; + } + leaf nfte-in-pspace { + type boolean; + description + "Nfte In P Space"; + } + leaf nfte-in-qspace { + type boolean; + description + "Nfte In Q Space"; + } + leaf nfte-in-ext-pspace { + type boolean; + description + "Nfte In Ext P Space"; + } + list nfte-srlg { + description + "Nfte Srlg Protection list"; + uses OTLIB-SHOW-NFTE-SRLG; + } + list nfte-node-srlg { + description + "Nfte Node Srlg Protection list"; + uses OTLIB-SHOW-NFTE-NODE-SRLG; + } + } + + grouping OTLIB-SHOW-IPFRR-NBR-ALGO { + description + "OTLIB Ipfrr Nbr Algo"; + leaf algo-number { + type uint8; + description + "Algo Number"; + } + leaf lfa-rev-num { + type uint32; + description + "Lfa Revision Number"; + } + list nfte { + description + "Node Flexalgo Topo Entries List"; + uses OTLIB-SHOW-NFTE; + } + } + + grouping OTLIB-SHOW-IPFRR-NBR { + description + "OTLIB Ipfrr Nbr"; + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + list ipfrr-nbr-algo { + description + "Ipfrr Nbr Algo List"; + uses OTLIB-SHOW-IPFRR-NBR-ALGO; + } + } + + grouping OTLIB-SHOW-IPFRR-AREA { + description + "OTLIB SHOW IPFRR AREA"; + leaf area-id-str { + type string; + description + "Area Id Str"; + } + list ipfrr-nbr { + description + "Ipfrr Nbr List"; + uses OTLIB-SHOW-IPFRR-NBR; + } + } + + grouping OTLIB-SHOW-IPFRR-INSTANCE { + description + "OTLIB SHOW IPFRR INSTANCE"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + list ipfrr-area { + description + "Ipfrr Area List"; + uses OTLIB-SHOW-IPFRR-AREA; + } + } + + grouping OTLIB-SHOW-FORW-ADDR { + description + "OTLIB Forwarding Address"; + leaf forw-addr { + type inet:ipv4-address; + description + "Forw Addr"; + } + leaf route-prefix { + type inet:ipv4-address; + description + "Route Prefix"; + } + leaf route-prefix-len { + type uint8; + description + "Route Prefix Len"; + } + leaf forw-addr-flags { + type uint8; + description + "Forwarding Address flags"; + } + } + + grouping OTLIB-SHOW-FORW-ADDR-INSTANCE { + description + "OTLIB Forwarding Address Instance"; + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + list forw-addr { + description + "List of forwarding addresses"; + uses OTLIB-SHOW-FORW-ADDR; + } + } + + grouping OTLIB-SHOW-REPAIR-NODE { + description + "OTLIB Repair Node"; + leaf re-label { + type uint32; + description + "Repair element Label"; + } + leaf re-address { + type inet:ipv4-address; + description + "Repair Address"; + } + leaf re-identifier { + type inet:ipv4-address; + description + "Repair Identifier"; + } + leaf re-is-node-sid { + type boolean; + description + "Repair Is Node Sid"; + } + } + + grouping OTLIB-SHOW-ULOOP-NODE-PATH { + description + "OTLIB Microloop Avoidance Node Path"; + leaf path-nexthop { + type inet:ipv4-address; + description + "Path Nexthop"; + } + leaf path-ifhandle { + type uint32; + description + "Path Intf Handle"; + } + leaf path-nbr-id { + type uint32; + description + "Path Nbr Id"; + } + leaf parent-node-id { + type inet:ipv4-address; + description + "Parent Node Id"; + } + leaf path-is-repair { + type boolean; + description + "Path Node Id"; + } + list repair-node { + description + "Reapir Node List"; + uses OTLIB-SHOW-REPAIR-NODE; + } + } + + grouping OTLIB-SHOW-ULOOP-NODE { + description + "OTLIB Microloop Avoidance Node"; + leaf node-id { + type inet:ipv4-address; + description + "Node Id"; + } + leaf rspt-dist { + type uint64; + description + "Rspt Distance"; + } + leaf in-pspace { + type boolean; + description + "In P Space"; + } + leaf in-qspace { + type boolean; + description + "In Q Space"; + } + leaf in-ext-pspace { + type boolean; + description + "In Ext P Space"; + } + list path { + description + "Path List"; + uses OTLIB-SHOW-ULOOP-NODE-PATH; + } + } + + grouping OTLIB-SHOW-ULOOP-ALGO { + description + "OTLIB Microloop Avoidance Algo"; + leaf algo-number { + type uint8; + description + "Algo Number"; + } + list node { + description + "Node List"; + uses OTLIB-SHOW-ULOOP-NODE; + } + } + + grouping OTLIB-SHOW-ULOOP-AREA { + description + "OTLIB Microloop Avoidance Area"; + leaf area-id-str { + type string; + description + "Area Id Str"; + } + list algo { + description + "Algo List"; + uses OTLIB-SHOW-ULOOP-ALGO; + } + } + + grouping OTLIB-SHOW-ULOOP-INSTANCE { + description + "OTLIB Microloop Avoidance Instance"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + list area { + description + "Area List"; + uses OTLIB-SHOW-ULOOP-AREA; + } + } + + grouping OTLIB-SHOW-ASBR-CONTRIB { + description + "OTLIB ASBR contributor"; + leaf igp-metric { + type uint32; + description + "Base IGP metric of the asbr by the node"; + } + leaf faam-metric { + type uint32; + description + "FAAM metric of the asbr by the node"; + } + leaf total-metric { + type uint64; + description + "Total metric to reach the asbr"; + } + leaf contrib-flags { + type uint8; + description + "ASBR contributor flags"; + } + leaf adv-router-id { + type inet:ipv4-address; + description + "Advertising Router ID"; + } + leaf area-id { + type uint32; + description + "Area ID of the contributor"; + } + } + + grouping OTLIB-SHOW-TOPO-PATH { + description + "OTLIB Topo Path"; + leaf next-hop-address { + type inet:ipv4-address; + description + "NextHop IP Address"; + } + leaf interface-handle { + type uint32; + description + "Interface Handle"; + } + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf path-weight { + type uint32; + description + "Path Weight"; + } + leaf area-id { + type uint32; + description + "Area ID"; + } + } + + grouping OTLIB-SHOW-NODE-ALGO { + description + "OTLIB Node Algo"; + leaf algo-number { + type uint8; + description + "Algo Number"; + } + leaf node-distance { + type uint64; + description + "Node Distance"; + } + leaf is-node-reachable { + type boolean; + description + "Node reachable"; + } + leaf is-direct-node { + type boolean; + description + "Direct Node"; + } + leaf is-node-dirty { + type boolean; + description + "Node is dirty"; + } + leaf is-abr-dirty { + type boolean; + description + "ABR Node is dirty"; + } + leaf is-asbr-dirty { + type boolean; + description + "ASBR Node is dirty"; + } + list path { + description + "Algo Path List"; + uses OTLIB-SHOW-TOPO-PATH; + } + list asbr-contributor { + description + "ASBR Contributors"; + uses OTLIB-SHOW-ASBR-CONTRIB; + } + } + + grouping OTLIB-SHOW-PATH-NODE { + description + "OTLIB Path Node"; + container node-id { + description + "Node ID"; + uses OTLIB-SHOW-NODE-ID; + } + leaf is-root-node { + type boolean; + description + "Is root node"; + } + leaf is-area-border-router { + type boolean; + description + "Node is ABR"; + } + leaf is-as-border-router { + type boolean; + description + "Node is ASBR"; + } + list algo { + description + "List of node Algos"; + uses OTLIB-SHOW-NODE-ALGO; + } + } + + grouping OTLIB-SHOW-PATH-AREA { + description + "OTLIB Path Area"; + leaf area-id-string { + type string { + length "0..16"; + } + description + "Area ID string. Valid only if it is not ASBR + paths"; + } + leaf is-asbr-paths { + type boolean; + description + "Is the paths to ASBRs"; + } + list node { + description + "List of Nodes"; + uses OTLIB-SHOW-PATH-NODE; + } + } + + grouping OTLIB-SHOW-PATH-INSTANCE { + description + "OTLIB Path Instance"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + list area { + description + "List of Areas"; + uses OTLIB-SHOW-PATH-AREA; + } + } + + grouping OTLIB-SHOW-FAD-DEFN { + description + "OTLIB FAD Definition"; + leaf algo-number { + type uint8; + description + "Algo Number"; + } + leaf metric-type { + type uint8; + description + "Metric Type"; + } + leaf algo-type { + type uint8; + description + "Algo Type"; + } + leaf priority { + type uint8; + description + "Algo Priority"; + } + leaf fad-oper-flags { + type uint16; + description + "FAD Operational Flags"; + } + leaf fad-has-unsupported-params { + type boolean; + description + "The FAD defintion contains TLVs or Flags that + are not supported by this node"; + } + leaf-list exclude-affinity { + type uint32; + description + "Exclude Affinity"; + } + leaf-list include-any-affinity { + type uint32; + description + "Include Any Affinity"; + } + leaf-list include-all-affinity { + type uint32; + description + "Include All Affinity"; + } + leaf-list exclude-srlg { + type uint32; + description + "Exclude-any SRLG"; + } + } + + grouping OTLIB-SHOW-SR-RANGE { + description + "OTLIB SR Range"; + leaf range-start { + type uint32; + description + "Range Start"; + } + leaf range-size { + type uint32; + description + "Range Size"; + } + } + + grouping OTLIB-SHOW-PREFIX-CONTRIB { + description + "OTLIB Prefix contributor"; + leaf algo { + type uint8; + description + "Algo number"; + } + leaf sid { + type uint32; + description + "SID"; + } + leaf igp-metric { + type uint32; + description + "Base IGP metric of the prefix by the node"; + } + leaf fapm-metric { + type uint32; + description + "FAPM metric of the prefix by the node"; + } + leaf total-metric { + type uint64; + description + "Total metric to reach the prefix"; + } + leaf contrib-flags { + type uint8; + description + "Prefix contributor flags"; + } + leaf sid-flags { + type uint8; + description + "SID flags"; + } + leaf route-type { + type uint8; + description + "Route Type of this contributor"; + } + leaf adv-router-id { + type inet:ipv4-address; + description + "Advertising Router ID"; + } + leaf area-id { + type uint32; + description + "Area ID of the contributor"; + } + } + + grouping OTLIB-SHOW-PREFIX { + description + "OTLIB Prefix"; + leaf prefix-address { + type inet:ipv4-address; + description + "Prefix Address"; + } + leaf prefix-length { + type uint8; + description + "Prefix Length"; + } + leaf prefix-metric { + type uint32; + description + "Prefix metric"; + } + leaf route-type { + type uint32; + description + "Route Type"; + } + leaf ext-e-bit { + type boolean; + description + "External E Bit. Valid when route type is + external"; + } + leaf forwarding-address { + type inet:ipv4-address; + description + "Forwarding Address applicable only for external + prefixes"; + } + leaf external-tag { + type uint32; + description + "Tag applicable only for external prefixes"; + } + leaf prefix-flags { + type uint16; + description + "Prefix Flags"; + } + list prefix-contributor { + description + "Prefix Contributors"; + uses OTLIB-SHOW-PREFIX-CONTRIB; + } + } + + grouping OTLIB-SHOW-ADJ-SID { + description + "OTLIB Adj Sid"; + leaf lan-nbr-id { + type uint32; + description + "Neighbor ID in LAN"; + } + leaf sid { + type uint32; + description + "SID value advertised"; + } + leaf type { + type uint8; + description + "Type specifying if this is Normal Adj SID or LAN + Adj SID"; + } + leaf flags { + type uint8; + description + "Adj SID Flags as per RFC"; + } + leaf mtid { + type uint8; + description + "Multi-Topology ID as per RFC"; + } + leaf weight { + type uint8; + description + "Weight used in load balancing"; + } + } + + grouping OTLIB-SHOW-LINK-ASLA-ATTR { + description + "OTLIB ASLA Link Attrs"; + leaf srte-metric { + type uint32; + description + "SR-TE Metric"; + } + leaf min-delay { + type uint32; + description + "Min Delay"; + } + leaf-list ext-admin-group { + type uint32; + units "bit"; + description + "Ext. Admin Group bits"; + } + leaf-list srlg { + type uint32; + description + "SRLG values"; + } + } + + grouping OTLIB-SHOW-LINK-ATTR { + description + "OTLIB Link Attrs"; + container flex-algo-asla-attrs { + description + "Flex Algo ASLA Attributes"; + uses OTLIB-SHOW-LINK-ASLA-ATTR; + } + leaf lsid { + type inet:ipv4-address; + description + "Ext Link LSA ID"; + } + leaf local-interface-id { + type uint32; + description + "Local Interface ID"; + } + leaf remote-interface-id { + type uint32; + description + "Remote Interface ID"; + } + leaf remote-ipv4-address { + type inet:ipv4-address; + description + "Remote IPv4 Address"; + } + leaf max-bandwidth { + type uint32; + description + "Max Bandwidth"; + } + list adj-sid { + description + "Adjacency Sid"; + uses OTLIB-SHOW-ADJ-SID; + } + } + + grouping OTLIB-SHOW-LINK-ID { + description + "OTLIB Link ID"; + leaf link-id { + type inet:ipv4-address; + description + "Link ID"; + } + leaf link-data { + type inet:ipv4-address; + description + "Link Data"; + } + leaf link-type { + type uint8; + description + "Link Type"; + } + } + + grouping OTLIB-SHOW-LINK { + description + "OTLIB Link"; + container link-id { + description + "Link ID"; + uses OTLIB-SHOW-LINK-ID; + } + container remote-link-id { + description + "Remote Link ID"; + uses OTLIB-SHOW-LINK-ID; + } + container link-attrs { + description + "Link Attributes"; + uses OTLIB-SHOW-LINK-ATTR; + } + leaf link-metric { + type uint16; + description + "Link Metric"; + } + leaf link-subnet-mask { + type inet:ipv4-address; + description + "Link Subnet Mask"; + } + leaf link-oper-flags { + type uint16; + description + "Link Operational flags"; + } + leaf is-router-lsa-contrib { + type boolean; + description + "Is Router LSA Contributing"; + } + leaf is-network-lsa-contrib { + type boolean; + description + "Is Network LSA Contributing"; + } + leaf is-ext-link-lsa-contrib { + type boolean; + description + "Is Ext Link LSA Contributing"; + } + } + + grouping OTLIB-SHOW-NODE-ID { + description + "OTLIB Node ID"; + leaf adv-router-id { + type inet:ipv4-address; + description + "Advertising Router ID"; + } + leaf dr-identifier { + type inet:ipv4-address; + description + "Node DR Identifier"; + } + } + + grouping OTLIB-SHOW-NODE { + description + "OTLIB Node"; + container node-id { + description + "Node ID"; + uses OTLIB-SHOW-NODE-ID; + } + leaf num-links { + type uint16; + description + "Number of Links"; + } + leaf num-prefixes { + type uint32; + description + "Number of prefixes"; + } + leaf is-root-node { + type boolean; + description + "Is root node"; + } + leaf is-area-border-router { + type boolean; + description + "Node is ABR"; + } + leaf is-as-border-router { + type boolean; + description + "Node is ASBR"; + } + leaf node-oper-flags { + type uint16; + description + "Node Operational flags"; + } + leaf is-router-lsa-contrib { + type boolean; + description + "Is Router LSA Contributing"; + } + leaf is-network-lsa-contrib { + type boolean; + description + "Is Network LSA Contributing"; + } + leaf is-router-info-lsa-contrib { + type boolean; + description + "Is Router Info LSA Contributing"; + } + leaf-list node-algo { + type uint8; + description + "Node algo support list"; + } + list link { + description + "List of Links"; + uses OTLIB-SHOW-LINK; + } + list prefix { + description + "List of prefixes"; + uses OTLIB-SHOW-PREFIX; + } + list srgb { + description + "Node SRGB List"; + uses OTLIB-SHOW-SR-RANGE; + } + list fad { + description + "Flex Algo Definition List"; + uses OTLIB-SHOW-FAD-DEFN; + } + } + + grouping OTLIB-SHOW-AREA { + description + "OTLIB Area"; + leaf area-id-string { + type string { + length "0..16"; + } + description + "Area ID string. Valid only if not AS scoped"; + } + leaf is-as-scoped { + type boolean; + description + "Is the prefixes AS scoped"; + } + leaf num-nodes { + type uint16; + description + "No. of nodes under area"; + } + list node { + description + "List of Nodes"; + uses OTLIB-SHOW-NODE; + } + } + + grouping OTLIB-SHOW-INSTANCE { + description + "OTLIB Instance"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + list area { + description + "List of Areas"; + uses OTLIB-SHOW-AREA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper.yang new file mode 100644 index 000000000..ac2d5c804 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-igp-topodb-oper.yang @@ -0,0 +1,236 @@ +module Cisco-IOS-XR-igp-topodb-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-igp-topodb-oper"; + prefix igp-topodb-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-igp-topodb-oper-sub1 { + revision-date 2021-10-22; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR igp-topodb package operational data. + + This module contains definitions + for the following management objects: + topo-db: Open Topology Database library operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-22 { + description + "Modified for Flex algo srlg exclude-any and Flex algo External features."; + semver:module-version "3.0.1M"; + } + revision 2021-05-12 { + description + "Modified for Flex algo Inter-area support."; + semver:module-version "3.0.0"; + } + revision 2020-01-02 { + description + "Added topodb operational data support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container topo-db { + config false; + description + "Open Topology Database library operational data"; + container topo-db-processes { + description + "Table for each process using topology library"; + list topo-db-process { + key "process-name"; + description + "Operational data for a particular process"; + container topology-prefixes { + description + "Container for Topology prefix information"; + list topology-prefix { + key "topo-vrf-name"; + description + "Topology prefix information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-INSTANCE; + } + } + container topology-paths { + description + "Container for Topology path information"; + list topology-path { + key "topo-vrf-name"; + description + "Topology path information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-PATH-INSTANCE; + } + } + container topology-microloop-avoidances { + description + "Container for Topology Microloop Avoidance + information"; + list topology-microloop-avoidance { + key "topo-vrf-name"; + description + "Topology Microloop Avoidance information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-ULOOP-INSTANCE; + } + } + container topology-forwarding-addresses { + description + "Container for Topology Forwarding Address + information"; + list topology-forwarding-address { + key "topo-vrf-name"; + description + "Topology Forwarding Address information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-FORW-ADDR-INSTANCE; + } + } + container topology-fast-reroutes { + description + "Container for Topology Fast Reroute + information"; + list topology-fast-reroute { + key "topo-vrf-name"; + description + "Topology Fast Reroute information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-IPFRR-INSTANCE; + } + } + container topology-asbr-reachabilities { + description + "Container for Topology ASBR Reachability + information"; + list topology-asbr-reachability { + key "topo-vrf-name"; + description + "Topology ASBR Reachability information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-ASBR-REACHABILITY-INSTANCE; + } + } + container topology-routes { + description + "Container for Topology route information"; + list topology-route { + key "topo-vrf-name"; + description + "Topology Route Information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-ROUTE-INSTANCE; + } + } + container topology-asbr-paths { + description + "Container for Topology ASBR path information"; + list topology-asbr-path { + key "topo-vrf-name"; + description + "Topology ASBR path information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-PATH-INSTANCE; + } + } + container topology-summaries { + description + "Container for Topology summary information"; + list topology-summary { + key "topo-vrf-name"; + description + "Topology summary information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SH-INST-SUMMARY; + } + } + container topologies { + description + "Container for Topology information"; + list topology { + key "topo-vrf-name"; + description + "Topology information"; + leaf topo-vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses OTLIB-SHOW-INSTANCE; + } + } + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Process name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-cfg.yang new file mode 100644 index 000000000..7b8dc8ada --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-cfg.yang @@ -0,0 +1,120 @@ +module Cisco-IOS-XR-infra-alarm-logger-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-cfg"; + prefix infra-alarm-logger-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-infra-alarm-logger-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-infra-syslog-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-alarm-logger package configuration. + + This YANG module augments the + Cisco-IOS-XR-infra-syslog-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-02-23 { + description + "Added pre-config suppression feature"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:syslog" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-syslog-cfg'"; + container alarm-logger { + description + "Alarm Logger Properties"; + container alarm-filter-strings { + description + "List of filter strings"; + list alarm-filter-string { + key "filter-string"; + description + "Match string to filter alarms"; + leaf filter-string { + type xr:Cisco-ios-xr-string; + description + "Filter String"; + } + } + } + leaf pre-config-suppression { + type empty; + description + "Suppress events from a card/VM till its + configuration is complete"; + } + leaf severity-level { + type dt1:Alarm-logger-severity-level; + description + "Log all events with equal or higher (lower + level) severity than this"; + } + leaf pre-config-suppression-timeout { + type uint32 { + range "1..60"; + } + units "minute"; + default "15"; + description + "Timeout (in minutes) for pre-config events + suppression (default 15)"; + } + leaf buffer-size { + type uint32 { + range "1024..1024000"; + } + description + "Set size of the local event buffer"; + } + leaf source-location { + type empty; + description + "Enable alarm source location in message text"; + } + leaf threshold { + type uint32 { + range "10..100"; + } + default "90"; + description + "Configure threshold (%) for capacity alarm"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-datatypes.yang new file mode 100644 index 000000000..9b9336b54 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-datatypes.yang @@ -0,0 +1,79 @@ +module Cisco-IOS-XR-infra-alarm-logger-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-datatypes"; + prefix infra-alarm-logger-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Alarm-logger-severity-level { + type enumeration { + enum "emergency" { + value 0; + description + "Emergency"; + } + enum "alert" { + value 1; + description + "Alert"; + } + enum "critical" { + value 2; + description + "Critical"; + } + enum "error" { + value 3; + description + "Error"; + } + enum "warning" { + value 4; + description + "Warning"; + } + enum "notice" { + value 5; + description + "Notice"; + } + enum "informational" { + value 6; + description + "Informational"; + } + } + description + "Alarm logger severity level"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper-sub1.yang new file mode 100644 index 000000000..fa62fae7b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper-sub1.yang @@ -0,0 +1,211 @@ +submodule Cisco-IOS-XR-infra-alarm-logger-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-alarm-logger-oper { + prefix Cisco-IOS-XR-infra-alarm-logger-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-alarm-logger package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Al-alarm-bistate { + type enumeration { + enum "not-available" { + value 0; + description + "not available"; + } + enum "active" { + value 1; + description + "active"; + } + enum "clear" { + value 2; + description + "clear"; + } + } + description + "Al alarm bistate"; + } + + typedef Al-alarm-severity { + type enumeration { + enum "unknown" { + value -1; + description + "unknown"; + } + enum "emergency" { + value 0; + description + "emergency"; + } + enum "alert" { + value 1; + description + "alert"; + } + enum "critical" { + value 2; + description + "critical"; + } + enum "error" { + value 3; + description + "error"; + } + enum "warning" { + value 4; + description + "warning"; + } + enum "notice" { + value 5; + description + "notice"; + } + enum "informational" { + value 6; + description + "informational"; + } + enum "debugging" { + value 7; + description + "debugging"; + } + } + description + "Al alarm severity"; + } + + grouping AL-ALDEMS-ALARM-BAG { + description + "Alarm-Logger alarm"; + leaf source-id { + type string; + description + "Source Identifier(Location).Indicates the node + in which the alarm was generated"; + } + leaf timestamp { + type uint64; + units "millisecond"; + description + "Time when the alarm was generated. It is + expressed in number of milliseconds since 00:00 + :00 UTC, January 1, 1970"; + } + leaf category { + type string; + description + "Category of the alarm"; + } + leaf group { + type string; + description + "Group of messages to which this alarm belongs to"; + } + leaf code { + type string; + description + "Alarm code which further qualifies the alarm + within a message group"; + } + leaf severity { + type Al-alarm-severity; + description + "Severity of the alarm"; + } + leaf state { + type Al-alarm-bistate; + description + "State of the alarm (bistate alarms only)"; + } + leaf correlation-id { + type uint32; + description + "Correlation Identifier"; + } + leaf is-admin { + type boolean; + description + "Indicates the event id admin-level"; + } + leaf additional-text { + type string; + description + "Full text of the Alarm"; + } + } + + grouping AL-LOGGING-INFO-BAG { + description + "Logging information"; + leaf log-buffer-size { + type uint32; + units "byte"; + description + "Current Logging Buffer Size (Bytes)"; + } + leaf max-log-buffer-size { + type uint32; + units "byte"; + description + "Maximum Logging Buffer Size (Bytes) "; + } + leaf record-count { + type uint32; + description + "Number of Records in the Buffer"; + } + leaf capacity-threshold { + type uint32; + units "percentage"; + description + "Percentage of the buffer utilization which, when + exceeded, triggers the generation of a + notification for the clients of the XML agent"; + } + leaf severity-filter { + type Al-alarm-severity; + description + "Severity Filter"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper.yang new file mode 100644 index 000000000..d25301fe2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-alarm-logger-oper.yang @@ -0,0 +1,76 @@ +module Cisco-IOS-XR-infra-alarm-logger-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-oper"; + prefix infra-alarm-logger-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-alarm-logger-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-alarm-logger package operational data. + + This module contains definitions + for the following management objects: + alarm-logger: Alarm Logger operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container alarm-logger { + config false; + description + "Alarm Logger operational data"; + container buffer-status { + description + "Describes buffer utilization and parameters + configured"; + uses AL-LOGGING-INFO-BAG; + } + container alarms { + description + "Table that contains the database of logged + alarms"; + list alarm { + key "event-id"; + description + "One of the logged alarms"; + leaf event-id { + type uint32; + description + "Event ID"; + } + uses AL-ALDEMS-ALARM-BAG; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-ceredundancymib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-ceredundancymib-cfg.yang new file mode 100644 index 000000000..e5f03945d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-ceredundancymib-cfg.yang @@ -0,0 +1,70 @@ +module Cisco-IOS-XR-infra-ceredundancymib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-ceredundancymib-cfg"; + prefix infra-ceredundancymib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-ceredundancymib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container entity-redundancy { + description + "CISCO-ENTITY-REDUNDANCY-MIB notification + configuration"; + leaf switchover { + type empty; + description + "Enable switchover notification"; + } + leaf enable { + type empty; + description + "Enable CISCO-ENTITY-REDUNDANCY-MIB notification"; + } + leaf status { + type empty; + description + "Enable status change notification"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-confcopymib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-confcopymib-cfg.yang new file mode 100644 index 000000000..cc3cc24d5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-confcopymib-cfg.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-infra-confcopymib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-confcopymib-cfg"; + prefix infra-confcopymib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-confcopymib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container config-copy { + description + "CISCO-CONFIG-COPY-MIB notification configuration"; + leaf completion { + type empty; + description + "Enable ccCopyCompletion notification"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-cfg.yang new file mode 100644 index 000000000..b973ce2b2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-cfg.yang @@ -0,0 +1,560 @@ +module Cisco-IOS-XR-infra-correlator-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-correlator-cfg"; + prefix infra-correlator-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-infra-syslog-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-correlator package configuration. + + This YANG module augments the + Cisco-IOS-XR-infra-syslog-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CONTEXT-CORRELATION { + description + "Common node of non-stateful, stateful"; + leaf context-correlation { + type empty; + description + "Enable correlation on alarm context"; + } + } + + grouping NON-ROOT-CAUSE-TABLE { + description + "Common node of non-stateful, stateful"; + container non-root-causes { + description + "Table of configured non-rootcause"; + list non-root-cause { + key "category group message-code"; + description + "A non-rootcause"; + leaf category { + type string; + description + "Correlated message category"; + } + leaf group { + type string; + description + "Correlated message group"; + } + leaf message-code { + type string; + description + "Correlated message code"; + } + } + } + } + + grouping TIMEOUT-ROOT-CAUSE { + description + "Common node of non-stateful, stateful"; + leaf timeout-root-cause { + type uint32 { + range "1..7200000"; + } + units "millisecond"; + description + "Rootcause Timeout (time to wait for rootcause) + in milliseconds"; + } + } + + grouping APPLIED-TO { + description + "Common node of rule, rule-set"; + container applied-to { + description + "Applied to the Rule or Ruleset"; + container contexts { + description + "Table of configured contexts to apply"; + list context { + key "context"; + description + "A context"; + leaf context { + type string { + length "1..32"; + } + description + "Context"; + } + } + } + container locations { + description + "Table of configured locations to apply"; + list location { + key "location"; + description + "A location"; + leaf location { + type xr:Node-id; + description + "Location"; + } + } + } + leaf all { + type empty; + description + "Apply to all of the router"; + } + } + } + + grouping TIMEOUT { + description + "Common node of non-stateful, stateful"; + leaf timeout { + type uint32 { + range "1..7200000"; + } + units "millisecond"; + description + "Timeout (time to wait for active correlation) in + milliseconds"; + } + } + + grouping ROOT-CAUSE { + description + "Common node of non-stateful, stateful"; + container root-cause { + description + "The root cause"; + leaf category { + type string; + description + "Root message category"; + } + leaf group { + type string; + description + "Root message group"; + } + leaf message-code { + type string; + description + "Root message code"; + } + } + } + + augment "/a1:syslog" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-syslog-cfg'"; + container correlator { + description + "Configure properties of the event correlator"; + container rules { + description + "Table of configured rules"; + list rule { + key "name"; + description + "Rule name"; + container definition { + description + "Configure a specified correlation rule"; + leaf timeout { + type uint32 { + range "1..7200000"; + } + description + "Timeout (time the rule is to be active) in + milliseconds"; + } + leaf category-name-entry1 { + type string; + description + "Root message category name"; + } + leaf group-name-entry1 { + type string; + description + "Root message group name"; + } + leaf message-code-entry1 { + type string; + description + "Root message code"; + } + leaf category-name-entry2 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry2 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry2 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry3 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry3 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry3 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry4 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry4 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry4 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry5 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry5 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry5 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry6 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry6 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry6 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry7 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry7 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry7 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry8 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry8 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry8 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry9 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry9 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry9 { + type string; + description + "Correlated message code"; + } + leaf category-name-entry10 { + type string; + description + "Correlated message category name"; + } + leaf group-name-entry10 { + type string; + description + "Correlated message group name"; + } + leaf message-code-entry10 { + type string; + description + "Correlated message code"; + } + } + container non-stateful { + description + "The Non-Stateful Rule Type"; + uses CONTEXT-CORRELATION; + uses TIMEOUT-ROOT-CAUSE; + uses NON-ROOT-CAUSE-TABLE; + uses ROOT-CAUSE; + uses TIMEOUT; + } + container stateful { + description + "The Stateful Rule Type"; + leaf reparent { + type empty; + description + "Enable reparent of alarm on rootcause alarm + clear"; + } + leaf reissue { + type empty; + description + "Enable reissue of non-bistate alarms on + rootcause alarm clear"; + } + uses CONTEXT-CORRELATION; + uses TIMEOUT-ROOT-CAUSE; + uses NON-ROOT-CAUSE-TABLE; + uses ROOT-CAUSE; + uses TIMEOUT; + } + container apply-to { + description + "Apply the Rules"; + container contexts { + description + "Apply rule to a specified list of contexts, + e.g. interfaces"; + leaf-list context { + type string; + max-elements "32"; + description + "One or more context names"; + } + } + container locations { + description + "Apply rule to a specified list of Locations"; + leaf-list location { + type xr:Node-id; + max-elements "32"; + description + "One or more Locations"; + } + } + leaf all-of-router { + type empty; + description + "Apply the rule to all of the router"; + } + } + leaf name { + type string { + length "1..32"; + } + description + "Rule name"; + } + uses APPLIED-TO; + } + } + container rule-sets { + description + "Table of configured rulesets"; + list rule-set { + key "name"; + description + "Ruleset name"; + container rulenames { + description + "Table of configured rulenames"; + list rulename { + key "rulename"; + description + "A rulename"; + leaf rulename { + type string { + length "1..32"; + } + description + "Rule name"; + } + } + } + leaf name { + type string { + length "1..32"; + } + description + "Ruleset name"; + } + uses APPLIED-TO; + } + } + leaf buffer-size { + type uint32 { + range "1024..52428800"; + } + description + "Configure size of the correlator buffer"; + } + } + } + augment "/a1:syslog" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-syslog-cfg'"; + container suppression { + description + "Configure properties of the syslog/alarm + suppression"; + container rules { + description + "Table of configured rules"; + list rule { + key "name"; + description + "Rule name"; + container applied-to { + description + "Applied to the Rule"; + container sources { + description + "Table of configured sources to apply"; + list source { + key "source"; + description + "An alarm source"; + leaf source { + type xr:Node-id; + description + "Source"; + } + } + } + leaf all { + type empty; + description + "Apply to all of the router"; + } + } + container alarm-causes { + description + "Causes of alarms to be suppressed"; + list alarm-cause { + key "category group code"; + description + "Category, Group and Code of alarm/syslog to + be suppressed"; + leaf category { + type string { + length "1..32"; + } + description + "Category"; + } + leaf group { + type string { + length "1..32"; + } + description + "Group"; + } + leaf code { + type string { + length "1..32"; + } + description + "Code"; + } + } + } + leaf all-alarms { + type empty; + description + "Suppress all alarms"; + } + leaf name { + type string { + length "1..32"; + } + description + "Rule name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper-sub1.yang new file mode 100644 index 000000000..9a49abe16 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper-sub1.yang @@ -0,0 +1,474 @@ +submodule Cisco-IOS-XR-infra-correlator-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-correlator-oper { + prefix Cisco-IOS-XR-infra-correlator-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-correlator package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Al-alarm-bistate { + type enumeration { + enum "not-available" { + value 0; + description + "not available"; + } + enum "active" { + value 1; + description + "active"; + } + enum "clear" { + value 2; + description + "clear"; + } + } + description + "Al alarm bistate"; + } + + typedef Context { + type string { + length "0..33"; + } + description + "Context"; + } + + typedef Al-alarm-severity { + type enumeration { + enum "unknown" { + value -1; + description + "unknown"; + } + enum "emergency" { + value 0; + description + "emergency"; + } + enum "alert" { + value 1; + description + "alert"; + } + enum "critical" { + value 2; + description + "critical"; + } + enum "error" { + value 3; + description + "error"; + } + enum "warning" { + value 4; + description + "warning"; + } + enum "notice" { + value 5; + description + "notice"; + } + enum "informational" { + value 6; + description + "informational"; + } + enum "debugging" { + value 7; + description + "debugging"; + } + } + description + "Al alarm severity"; + } + + typedef Ac-rule-state { + type enumeration { + enum "rule-unapplied" { + value 0; + description + "Rule is in Unapplied state"; + } + enum "rule-applied" { + value 1; + description + "Rule is Applied to specified RacksSlots, + Contexts and Sources"; + } + enum "rule-applied-all" { + value 2; + description + "Rule is Applied to all of router"; + } + } + description + "Ac rule state"; + } + + grouping AC-RULE-DETAIL-BAG { + description + "Correlation Rule detail information"; + container rule-summary { + description + "Rule summary, name, etc"; + uses AC-RULE-SUMMARY-BAG; + } + leaf timeout { + type uint32; + description + "Time window (in ms) for which root/all messages + are kept in correlater before sending them to + the logger"; + } + leaf root-cause-timeout { + type uint32; + description + "Timeout before root cause alarm"; + } + leaf internal { + type boolean; + description + "True if the rule is internal"; + } + leaf reissue-non-bistate { + type boolean; + description + "Whether to reissue non-bistate alarms"; + } + leaf reparent { + type boolean; + description + "Reparent"; + } + leaf context-correlation { + type boolean; + description + "Whether context correlation is enabled"; + } + leaf-list apply-location { + type xr:Node-id; + description + "Locations (R/S/M) to which the rule is applied"; + } + leaf-list apply-context { + type Context; + description + "Contexts (Interfaces) to which the rule is + applied"; + } + list codes { + description + "Message codes defining the rule."; + uses AC-MSG-CODE; + } + } + + grouping AC-RULE-SUMMARY-BAG { + description + "Correlation Rule summary information"; + leaf rule-name-xr { + type string; + description + "Correlation Rule Name"; + } + leaf stateful { + type boolean; + description + "Whether the rule is stateful"; + } + leaf rule-state { + type Ac-rule-state; + description + "Applied state of the rule It could be not + applied, applied or applied to all"; + } + leaf buffered-alarms-count { + type uint32; + description + "Number of buffered alarms correlated to this + rule"; + } + } + + grouping AC-RULESET-DETAIL-BAG { + description + "Correlation Ruleset detail information"; + leaf rule-set-name-xr { + type string; + description + "Ruleset Name"; + } + list rules { + description + "Rules contained in a ruleset"; + uses AC-RULE-SUMMARY-BAG; + } + } + + grouping AC-RULESET-SUMMARY-BAG { + description + "Correlation Ruleset summary information"; + leaf rule-set-name-xr { + type string; + description + "Ruleset Name"; + } + } + + grouping AL-ALDEMS-ALARM-BAG { + description + "Alarm-Logger alarm"; + leaf source-id { + type string; + description + "Source Identifier(Location).Indicates the node + in which the alarm was generated"; + } + leaf timestamp { + type uint64; + units "millisecond"; + description + "Time when the alarm was generated. It is + expressed in number of milliseconds since 00:00 + :00 UTC, January 1, 1970"; + } + leaf category { + type string; + description + "Category of the alarm"; + } + leaf group { + type string; + description + "Group of messages to which this alarm belongs to"; + } + leaf code { + type string; + description + "Alarm code which further qualifies the alarm + within a message group"; + } + leaf severity { + type Al-alarm-severity; + description + "Severity of the alarm"; + } + leaf state { + type Al-alarm-bistate; + description + "State of the alarm (bistate alarms only)"; + } + leaf correlation-id { + type uint32; + description + "Correlation Identifier"; + } + leaf is-admin { + type boolean; + description + "Indicates the event id admin-level"; + } + leaf additional-text { + type string; + description + "Full text of the Alarm"; + } + } + + grouping AC-ALDEMS-ALARM-BAG { + description + "Correlator Alarm"; + container alarm-info { + description + "Correlated alarm information"; + uses AL-ALDEMS-ALARM-BAG; + } + leaf rule-name { + type string; + description + "Correlation rule name"; + } + leaf context { + type string; + description + "Context string for the alarm"; + } + } + + grouping AC-BUFFER-INFO-BAG { + description + "Correlator buffer usage information"; + leaf current-size { + type uint32; + description + "Current buffer usage"; + } + leaf configured-size { + type uint32; + description + "Configured buffer size"; + } + } + + grouping AC-RULE-INFO-BAG { + description + "Deprecated bag for correlation rule information"; + leaf rule-name-xr { + type string; + description + "Correlation Rule Name"; + } + leaf timeout { + type uint32; + description + "Time window (in ms) for which root/all messages + are kept in correlater before sending them to + the logger"; + } + leaf rule-state { + type Ac-rule-state; + description + "Applied state of the rule It could be not + applied, applied or applied to all"; + } + leaf-list apply-location { + type xr:Node-id; + max-elements "32"; + description + "Locations (R/S/M) to which the rule is applied"; + } + leaf-list apply-context { + type Context; + max-elements "32"; + description + "Contexts (Interfaces) to which the rule is + applied"; + } + list codes { + max-elements "10"; + description + "Message codes defining the rule."; + uses AC-MSG-CODE; + } + } + + grouping AC-MSG-CODE { + description + "MSG group code pair"; + leaf category { + type string; + description + "Category of messages to which this alarm belongs"; + } + leaf group { + type string; + description + "Group of messages to which this alarm belongs"; + } + leaf code { + type string; + description + "Alarm code which further qualifies the alarm + within a message group"; + } + } + + grouping AC-SUPPR-RULE-DETAIL-BAG { + description + "Suppress Rule detail information"; + container rule-summary { + description + "Rule summary, name, etc"; + uses AC-SUPPR-RULE-SUMMARY-BAG; + } + leaf all-alarms { + type boolean; + description + "Match any alarm"; + } + leaf alarm-severity { + type Al-alarm-severity; + description + "Severity level to suppress"; + } + leaf-list apply-source { + type xr:Node-id; + description + "Sources (R/S/M) to which the rule is applied"; + } + list codes { + description + "Message codes defining the rule."; + uses AC-MSG-CODE; + } + } + + grouping AC-SUPPR-RULE-SUMMARY-BAG { + description + "Suppress Rule summary information"; + leaf rule-name-xr { + type string; + description + "Suppress Rule Name"; + } + leaf rule-state { + type Ac-rule-state; + description + "Applied state of the rule It could be not + applied, applied or applied to all"; + } + leaf suppressed-alarms-count { + type uint32; + description + "Number of suppressed alarms associated with this + rule"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper.yang new file mode 100644 index 000000000..3ac9c6ead --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-correlator-oper.yang @@ -0,0 +1,209 @@ +module Cisco-IOS-XR-infra-correlator-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-correlator-oper"; + prefix infra-correlator-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-correlator-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-correlator package operational data. + + This module contains definitions + for the following management objects: + suppression: Suppression operational data + correlator: Correlator operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container suppression { + config false; + description + "Suppression operational data"; + container rule-summaries { + description + "Table that contains the database of suppression + rule summary"; + list rule-summary { + key "rule-name"; + description + "One of the suppression rules"; + leaf rule-name { + type string { + length "1..32"; + } + description + "Suppression Rule Name"; + } + uses AC-SUPPR-RULE-SUMMARY-BAG; + } + } + container rule-details { + description + "Table that contains the database of suppression + rule details"; + list rule-detail { + key "rule-name"; + description + "Details of one of the suppression rules"; + leaf rule-name { + type string { + length "1..32"; + } + description + "Suppression Rule Name"; + } + uses AC-SUPPR-RULE-DETAIL-BAG; + } + } + } + container correlator { + config false; + description + "Correlator operational data"; + container rules { + description + "Table that contains the database of correlation + rules"; + list rule { + key "rule-name"; + description + "One of the correlation rules"; + leaf rule-name { + type string { + length "1..32"; + } + description + "Correlation Rule Name"; + } + uses AC-RULE-INFO-BAG; + } + } + container buffer-status { + description + "Describes buffer utilization and parameters + configured"; + uses AC-BUFFER-INFO-BAG; + } + container alarms { + description + "Correlated alarms Table"; + list alarm { + key "alarm-id"; + description + "One of the correlated alarms"; + leaf alarm-id { + type uint32; + description + "Alarm ID"; + } + uses AC-ALDEMS-ALARM-BAG; + } + } + container rule-set-summaries { + description + "Table that contains the ruleset summary info"; + list rule-set-summary { + key "rule-set-name"; + description + "Summary of one of the correlation rulesets"; + leaf rule-set-name { + type string { + length "1..32"; + } + description + "Ruleset Name"; + } + uses AC-RULESET-SUMMARY-BAG; + } + } + container rule-set-details { + description + "Table that contains the ruleset detail info"; + list rule-set-detail { + key "rule-set-name"; + description + "Detail of one of the correlation rulesets"; + leaf rule-set-name { + type string { + length "1..32"; + } + description + "Ruleset Name"; + } + uses AC-RULESET-DETAIL-BAG; + } + } + container rule-details { + description + "Table that contains the database of correlation + rule details"; + list rule-detail { + key "rule-name"; + description + "Details of one of the correlation rules"; + leaf rule-name { + type string { + length "1..32"; + } + description + "Correlation Rule Name"; + } + uses AC-RULE-DETAIL-BAG; + } + } + container rule-summaries { + description + "Table that contains the database of correlation + rule summary"; + list rule-summary { + key "rule-name"; + description + "One of the correlation rules"; + leaf rule-name { + type string { + length "1..32"; + } + description + "Correlation Rule Name"; + } + uses AC-RULE-SUMMARY-BAG; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-cfg.yang new file mode 100644 index 000000000..438dd5ec7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-cfg.yang @@ -0,0 +1,103 @@ +module Cisco-IOS-XR-infra-infra-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-infra-cfg"; + prefix infra-infra-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-infra package configuration. + + This module contains definitions + for the following management objects: + banners: Schema for Banner configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-06-16 { + description + "Initial Rev 1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Banner { + type enumeration { + enum "exec" { + value 0; + description + "Set EXEC process creation banner"; + } + enum "incoming" { + value 1; + description + "Set incoming terminal line banner"; + } + enum "motd" { + value 2; + description + "Set Message of the Day banner"; + } + enum "login" { + value 3; + description + "Set login banner"; + } + enum "slip-ppp" { + value 4; + description + "Set Message for SLIP/PPP"; + } + enum "prompt-timeout" { + value 5; + description + "Set Message for login authentication timeout"; + } + } + description + "Banner"; + } + + container banners { + description + "Schema for Banner configuration commands"; + list banner { + key "banner-name"; + description + "Select a Banner Type"; + leaf banner-name { + type Banner; + description + "Banner Type"; + } + leaf banner-text { + type string; + mandatory true; + description + "Banner text message"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-clock-linux-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-clock-linux-cfg.yang new file mode 100644 index 000000000..5acebd4d4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-clock-linux-cfg.yang @@ -0,0 +1,67 @@ +module Cisco-IOS-XR-infra-infra-clock-linux-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-infra-clock-linux-cfg"; + prefix infra-infra-clock-linux-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-infra-clock-linux package configuration. + + This module contains definitions + for the following management objects: + clock: Configure time-of-day clock + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-25 { + description + "removed timezone as mandatory node."; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container clock { + description + "Configure time-of-day clock"; + container time-zone { + presence "Indicates a time-zone node is configured."; + description + "Configure time zone"; + leaf time-zone-name { + type string; + description + "Name of time zone"; + } + leaf area-name { + type string; + mandatory true; + description + "Area File in zoneinfo package"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-locale-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-locale-cfg.yang new file mode 100644 index 000000000..9b07160d6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-infra-locale-cfg.yang @@ -0,0 +1,1955 @@ +module Cisco-IOS-XR-infra-infra-locale-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-infra-locale-cfg"; + prefix infra-infra-locale-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-infra-locale package configuration. + + This module contains definitions + for the following management objects: + locale: Define the geographical locale + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Locale-country { + type enumeration { + enum "ad" { + value 1; + description + "Andorra"; + } + enum "ae" { + value 2; + description + "United Arab Emirates"; + } + enum "af" { + value 3; + description + "Afghanistan"; + } + enum "ag" { + value 4; + description + "Antigua and Barbuda"; + } + enum "ai" { + value 5; + description + "Anguilla"; + } + enum "al" { + value 6; + description + "Albania"; + } + enum "am" { + value 7; + description + "Armenia"; + } + enum "an" { + value 8; + description + "Netherlands Antilles"; + } + enum "ao" { + value 9; + description + "Angola"; + } + enum "aq" { + value 10; + description + "Antarctica"; + } + enum "ar" { + value 11; + description + "Argentina"; + } + enum "as" { + value 12; + description + "American Samoa"; + } + enum "at" { + value 13; + description + "Austria"; + } + enum "au" { + value 14; + description + "Australia"; + } + enum "aw" { + value 15; + description + "Aruba"; + } + enum "az" { + value 16; + description + "Azerbaijan"; + } + enum "ba" { + value 17; + description + "Bosnia and Herzegovina"; + } + enum "bb" { + value 18; + description + "Barbados"; + } + enum "bd" { + value 19; + description + "Bangladesh"; + } + enum "be" { + value 20; + description + "Belgium"; + } + enum "bf" { + value 21; + description + "Burkina Faso"; + } + enum "bg" { + value 22; + description + "Bulgaria"; + } + enum "bh" { + value 23; + description + "Bahrain"; + } + enum "bi" { + value 24; + description + "Burundi"; + } + enum "bj" { + value 25; + description + "Benin"; + } + enum "bm" { + value 26; + description + "Bermuda"; + } + enum "bn" { + value 27; + description + "Brunei Darussalam"; + } + enum "bo" { + value 28; + description + "Bolivia"; + } + enum "br" { + value 29; + description + "Brazil"; + } + enum "bs" { + value 30; + description + "Bahamas"; + } + enum "bt" { + value 31; + description + "Bhutan"; + } + enum "bv" { + value 32; + description + "Bouvet Island"; + } + enum "bw" { + value 33; + description + "Botswana"; + } + enum "by" { + value 34; + description + "Belarus"; + } + enum "bz" { + value 35; + description + "Belize"; + } + enum "ca" { + value 36; + description + "Canada"; + } + enum "cc" { + value 37; + description + "Cocos (Keeling) Islands"; + } + enum "cd" { + value 38; + description + "Congo, The Democratic Republic of the (Zaire)"; + } + enum "cf" { + value 39; + description + "Central African Republic"; + } + enum "cg" { + value 40; + description + "Congo"; + } + enum "ch" { + value 41; + description + "Switzerland"; + } + enum "ci" { + value 42; + description + "Cote D'Ivoire"; + } + enum "ck" { + value 43; + description + "Cook Islands"; + } + enum "cl" { + value 44; + description + "Chile"; + } + enum "cm" { + value 45; + description + "Cameroon"; + } + enum "cn" { + value 46; + description + "China"; + } + enum "co" { + value 47; + description + "Colombia"; + } + enum "cr" { + value 48; + description + "Costa Rica"; + } + enum "cu" { + value 49; + description + "Cuba"; + } + enum "cv" { + value 50; + description + "Cape Verde"; + } + enum "cx" { + value 51; + description + "Christmas Island"; + } + enum "cy" { + value 52; + description + "Cyprus"; + } + enum "cz" { + value 53; + description + "Czech Republic"; + } + enum "de" { + value 54; + description + "Germany"; + } + enum "dj" { + value 55; + description + "Djibouti"; + } + enum "dk" { + value 56; + description + "Denmark"; + } + enum "dm" { + value 57; + description + "Dominica"; + } + enum "do" { + value 58; + description + "Dominican Republic"; + } + enum "dz" { + value 59; + description + "Algeria"; + } + enum "ec" { + value 60; + description + "Ecuador"; + } + enum "ee" { + value 61; + description + "Estonia"; + } + enum "eg" { + value 62; + description + "Egypt"; + } + enum "eh" { + value 63; + description + "Western Sahara"; + } + enum "er" { + value 64; + description + "Eritrea"; + } + enum "es" { + value 65; + description + "Spain"; + } + enum "et" { + value 66; + description + "Ethiopia"; + } + enum "fi" { + value 67; + description + "Finland"; + } + enum "fj" { + value 68; + description + "Fiji"; + } + enum "fk" { + value 69; + description + "Falkland Islands (Malvinas)"; + } + enum "fm" { + value 70; + description + "Micronesia, Federated States of"; + } + enum "fo" { + value 71; + description + "Faroe Islands"; + } + enum "fr" { + value 72; + description + "France"; + } + enum "ga" { + value 73; + description + "Gabon"; + } + enum "gb" { + value 74; + description + "United Kingdom"; + } + enum "gd" { + value 75; + description + "Grenada"; + } + enum "ge" { + value 76; + description + "Georgia"; + } + enum "gf" { + value 77; + description + "French Guiana"; + } + enum "gh" { + value 78; + description + "Ghana"; + } + enum "gi" { + value 79; + description + "Gibraltar"; + } + enum "gl" { + value 80; + description + "Greenland"; + } + enum "gm" { + value 81; + description + "Gambia"; + } + enum "gn" { + value 82; + description + "Guinea"; + } + enum "gp" { + value 83; + description + "Guadeloupe"; + } + enum "gq" { + value 84; + description + "Equatorial Guinea"; + } + enum "gr" { + value 85; + description + "Greece"; + } + enum "gs" { + value 86; + description + "South Georgia and the South Sandwich Islands"; + } + enum "gt" { + value 87; + description + "Guatemala"; + } + enum "gu" { + value 88; + description + "Guam"; + } + enum "gw" { + value 89; + description + "Guinea Bissau"; + } + enum "gy" { + value 90; + description + "Guyana"; + } + enum "hk" { + value 91; + description + "Hong Kong"; + } + enum "hm" { + value 92; + description + "Heard Island and McDonald Islands"; + } + enum "hn" { + value 93; + description + "Honduras"; + } + enum "hr" { + value 94; + description + "Croatia"; + } + enum "ht" { + value 95; + description + "Haiti"; + } + enum "hu" { + value 96; + description + "Hungary"; + } + enum "id" { + value 97; + description + "Indonesia"; + } + enum "ie" { + value 98; + description + "Ireland"; + } + enum "il" { + value 99; + description + "Israel"; + } + enum "in" { + value 100; + description + "India"; + } + enum "io" { + value 101; + description + "British Indian Ocean Territory"; + } + enum "iq" { + value 102; + description + "Iraq"; + } + enum "ir" { + value 103; + description + "Iran, Islamic Republic of"; + } + enum "is" { + value 104; + description + "Iceland"; + } + enum "it" { + value 105; + description + "Italy"; + } + enum "jm" { + value 106; + description + "Jamaica"; + } + enum "jo" { + value 107; + description + "Jordan"; + } + enum "jp" { + value 108; + description + "Japan"; + } + enum "ke" { + value 109; + description + "Kenya"; + } + enum "kg" { + value 110; + description + "Kyrgyzstan"; + } + enum "kh" { + value 111; + description + "Cambodia"; + } + enum "ki" { + value 112; + description + "Kiribati"; + } + enum "km" { + value 113; + description + "Comoros"; + } + enum "kn" { + value 114; + description + "Saint Kitts and Nevis"; + } + enum "kp" { + value 115; + description + "Korea, Democratic People's Republic of"; + } + enum "kr" { + value 116; + description + "Korea, Republic of"; + } + enum "kw" { + value 117; + description + "Kuwait"; + } + enum "ky" { + value 118; + description + "Cayman Islands"; + } + enum "kz" { + value 119; + description + "Kazakstan"; + } + enum "la" { + value 120; + description + "Lao People's Democratic Republic"; + } + enum "lb" { + value 121; + description + "Lebanon"; + } + enum "lc" { + value 122; + description + "Saint Lucia"; + } + enum "li" { + value 123; + description + "Liechtenstein"; + } + enum "lk" { + value 124; + description + "Sri Lanka"; + } + enum "lr" { + value 125; + description + "Liberia"; + } + enum "ls" { + value 126; + description + "Lesotho"; + } + enum "lt" { + value 127; + description + "Lithuania"; + } + enum "lu" { + value 128; + description + "Luxembourg"; + } + enum "lv" { + value 129; + description + "Latvia"; + } + enum "ly" { + value 130; + description + "Libyan Arab Jamahiriya"; + } + enum "ma" { + value 131; + description + "Morocco"; + } + enum "mc" { + value 132; + description + "Monaco"; + } + enum "md" { + value 133; + description + "Moldova, Republic of"; + } + enum "mg" { + value 134; + description + "Madagascar"; + } + enum "mh" { + value 135; + description + "Marshall Islands"; + } + enum "mk" { + value 136; + description + "Macedonia, The Former Yugoslav Republic of"; + } + enum "ml" { + value 137; + description + "Mali"; + } + enum "mm" { + value 138; + description + "Myanmar"; + } + enum "mn" { + value 139; + description + "Mongolia"; + } + enum "mo" { + value 140; + description + "Macau"; + } + enum "mp" { + value 141; + description + "Northern Mariana Islands"; + } + enum "mq" { + value 142; + description + "Martinique"; + } + enum "mr" { + value 143; + description + "Mauritania"; + } + enum "ms" { + value 144; + description + "Montserrat"; + } + enum "mt" { + value 145; + description + "Malta"; + } + enum "mu" { + value 146; + description + "Mauritius"; + } + enum "mv" { + value 147; + description + "Maldives"; + } + enum "mw" { + value 148; + description + "Malawi"; + } + enum "mx" { + value 149; + description + "Mexico"; + } + enum "my" { + value 150; + description + "Malaysia"; + } + enum "mz" { + value 151; + description + "Mozambique"; + } + enum "na" { + value 152; + description + "Namibia"; + } + enum "nc" { + value 153; + description + "New Caledonia"; + } + enum "ne" { + value 154; + description + "Niger"; + } + enum "nf" { + value 155; + description + "Norfolk Island"; + } + enum "ng" { + value 156; + description + "Nigeria"; + } + enum "ni" { + value 157; + description + "Nicaragua"; + } + enum "nl" { + value 158; + description + "Netherlands"; + } + enum "no" { + value 159; + description + "Norway"; + } + enum "np" { + value 160; + description + "Nepal"; + } + enum "nr" { + value 161; + description + "Nauru"; + } + enum "nu" { + value 162; + description + "Niue"; + } + enum "nz" { + value 163; + description + "New Zealand"; + } + enum "om" { + value 164; + description + "Oman"; + } + enum "pa" { + value 165; + description + "Panama"; + } + enum "pe" { + value 166; + description + "Peru"; + } + enum "pf" { + value 167; + description + "French Polynesia"; + } + enum "pg" { + value 168; + description + "Papua New Guinea"; + } + enum "ph" { + value 169; + description + "Philippines"; + } + enum "pk" { + value 170; + description + "Pakistan"; + } + enum "pl" { + value 171; + description + "Poland"; + } + enum "pm" { + value 172; + description + "Saint Pierre and Miquelon"; + } + enum "pn" { + value 173; + description + "Pitcairn"; + } + enum "pr" { + value 174; + description + "Puerto Rico"; + } + enum "pt" { + value 175; + description + "Portugal"; + } + enum "pw" { + value 176; + description + "Palau"; + } + enum "py" { + value 177; + description + "Paraguay"; + } + enum "qa" { + value 178; + description + "Qatar"; + } + enum "re" { + value 179; + description + "Reunion"; + } + enum "ro" { + value 180; + description + "Romania"; + } + enum "ru" { + value 181; + description + "Russian Federation"; + } + enum "rw" { + value 182; + description + "Rwanda"; + } + enum "sa" { + value 183; + description + "Saudi Arabia"; + } + enum "sb" { + value 184; + description + "Solomon Islands"; + } + enum "sc" { + value 185; + description + "Seychelles"; + } + enum "sd" { + value 186; + description + "Sudan"; + } + enum "se" { + value 187; + description + "Sweden"; + } + enum "sg" { + value 188; + description + "Singapore"; + } + enum "sh" { + value 189; + description + "Saint Helena"; + } + enum "si" { + value 190; + description + "Slovenia"; + } + enum "sj" { + value 191; + description + "Svalbard and Jan Mayen"; + } + enum "sk" { + value 192; + description + "Slovakia"; + } + enum "sl" { + value 193; + description + "Sierra Leone"; + } + enum "sm" { + value 194; + description + "San Marino"; + } + enum "sn" { + value 195; + description + "Senegal"; + } + enum "so" { + value 196; + description + "Somalia"; + } + enum "sr" { + value 197; + description + "Suriname"; + } + enum "st" { + value 198; + description + "Sao Tome and Principe"; + } + enum "sv" { + value 199; + description + "El Salvador"; + } + enum "sy" { + value 200; + description + "Syrian Arab Republic"; + } + enum "sz" { + value 201; + description + "Swaziland"; + } + enum "tc" { + value 202; + description + "Turks and Caicos Islands"; + } + enum "td" { + value 203; + description + "Chad"; + } + enum "tf" { + value 204; + description + "French Southern Territories"; + } + enum "tg" { + value 205; + description + "Togo"; + } + enum "th" { + value 206; + description + "Thailand"; + } + enum "tj" { + value 207; + description + "Tajikistan"; + } + enum "tk" { + value 208; + description + "Tokelau"; + } + enum "tm" { + value 209; + description + "Turkmenistan"; + } + enum "tn" { + value 210; + description + "Tunisia"; + } + enum "to" { + value 211; + description + "Tonga"; + } + enum "tp" { + value 212; + description + "East Timor"; + } + enum "tr" { + value 213; + description + "Turkey"; + } + enum "tt" { + value 214; + description + "Trinidad and Tobago"; + } + enum "tv" { + value 215; + description + "Tuvalu"; + } + enum "tw" { + value 216; + description + "Taiwan, Province of China"; + } + enum "tz" { + value 217; + description + "Tanzania, United Republic of"; + } + enum "ua" { + value 218; + description + "Ukraine"; + } + enum "ug" { + value 219; + description + "Uganda"; + } + enum "um" { + value 220; + description + "United States Minor Outlying Islands"; + } + enum "us" { + value 221; + description + "United States"; + } + enum "uy" { + value 222; + description + "Uruguay"; + } + enum "uz" { + value 223; + description + "Uzbekistan"; + } + enum "va" { + value 224; + description + "Holy See (Vatican City State)"; + } + enum "vc" { + value 225; + description + "Saint Vincent and The Grenadines"; + } + enum "ve" { + value 226; + description + "Venezuela"; + } + enum "vg" { + value 227; + description + "Virgin Islands, British"; + } + enum "vi" { + value 228; + description + "Virgin Islands, U.S."; + } + enum "vn" { + value 229; + description + "Vietnam"; + } + enum "vu" { + value 230; + description + "Vanuatu"; + } + enum "wf" { + value 231; + description + "Wallis and Futuna"; + } + enum "ws" { + value 232; + description + "Samoa"; + } + enum "ye" { + value 233; + description + "Yemen"; + } + enum "yt" { + value 234; + description + "Mayotte"; + } + enum "yu" { + value 235; + description + "Yugoslavia"; + } + enum "za" { + value 236; + description + "South Africa"; + } + enum "zm" { + value 237; + description + "Zambia"; + } + enum "zw" { + value 238; + description + "Zimbabwe"; + } + } + description + "Locale country"; + } + + typedef Locale-language { + type enumeration { + enum "aa" { + value 1; + description + "Afar"; + } + enum "ab" { + value 2; + description + "Abkhazian"; + } + enum "af" { + value 3; + description + "Afrikaans"; + } + enum "am" { + value 4; + description + "Amharic"; + } + enum "ar" { + value 5; + description + "Arabic"; + } + enum "as" { + value 6; + description + "Assamese"; + } + enum "ay" { + value 7; + description + "Aymara"; + } + enum "az" { + value 8; + description + "Azerbaijani"; + } + enum "ba" { + value 9; + description + "Bashkir"; + } + enum "be" { + value 10; + description + "Byelorussian"; + } + enum "bg" { + value 11; + description + "Bulgarian"; + } + enum "bh" { + value 12; + description + "Bihari"; + } + enum "bi" { + value 13; + description + "Bislama"; + } + enum "bn" { + value 14; + description + "Bengali"; + } + enum "bo" { + value 15; + description + "Tibetan"; + } + enum "br" { + value 16; + description + "Breton"; + } + enum "ca" { + value 17; + description + "Catalan"; + } + enum "co" { + value 18; + description + "Corsican"; + } + enum "cs" { + value 19; + description + "Czech"; + } + enum "cy" { + value 20; + description + "Welsh"; + } + enum "da" { + value 21; + description + "Danish"; + } + enum "de" { + value 22; + description + "German"; + } + enum "dz" { + value 23; + description + "Bhutani"; + } + enum "el" { + value 24; + description + "Greek"; + } + enum "en" { + value 25; + description + "English"; + } + enum "eo" { + value 26; + description + "Esperanto"; + } + enum "es" { + value 27; + description + "Spanish"; + } + enum "et" { + value 28; + description + "Estonian"; + } + enum "eu" { + value 29; + description + "Basque"; + } + enum "fa" { + value 30; + description + "Persian"; + } + enum "fi" { + value 31; + description + "Finnish"; + } + enum "fj" { + value 32; + description + "Fiji"; + } + enum "fo" { + value 33; + description + "Faroese"; + } + enum "fr" { + value 34; + description + "French"; + } + enum "fy" { + value 35; + description + "Frisian"; + } + enum "ga" { + value 36; + description + "Irish"; + } + enum "gd" { + value 37; + description + "Scots Gaelic"; + } + enum "gl" { + value 38; + description + "Galician"; + } + enum "gn" { + value 39; + description + "Guarani"; + } + enum "gu" { + value 40; + description + "Gujarati"; + } + enum "ha" { + value 41; + description + "Hausa"; + } + enum "he" { + value 42; + description + "Hebrew"; + } + enum "hi" { + value 43; + description + "Hindi"; + } + enum "hr" { + value 44; + description + "Croatian"; + } + enum "hu" { + value 45; + description + "Hungarian"; + } + enum "hy" { + value 46; + description + "Armenian"; + } + enum "ia" { + value 47; + description + "Interlingua"; + } + enum "id" { + value 48; + description + "Indonesian"; + } + enum "ie" { + value 49; + description + "Interlingue"; + } + enum "ik" { + value 50; + description + "Inupiak"; + } + enum "is" { + value 51; + description + "Icelandic"; + } + enum "it" { + value 52; + description + "Italian"; + } + enum "iu" { + value 53; + description + "Inuktitut"; + } + enum "ja" { + value 54; + description + "Japanese"; + } + enum "jw" { + value 55; + description + "Javanese"; + } + enum "ka" { + value 56; + description + "Georgian"; + } + enum "kk" { + value 57; + description + "Kazakh"; + } + enum "kl" { + value 58; + description + "Greenlandic"; + } + enum "km" { + value 59; + description + "Cambodian"; + } + enum "kn" { + value 60; + description + "Kannada"; + } + enum "ko" { + value 61; + description + "Korean"; + } + enum "ks" { + value 62; + description + "Kashmiri"; + } + enum "ku" { + value 63; + description + "Kurdish"; + } + enum "ky" { + value 64; + description + "Kirghiz"; + } + enum "la" { + value 65; + description + "Latin"; + } + enum "ln" { + value 66; + description + "Lingala"; + } + enum "lo" { + value 67; + description + "Laothian"; + } + enum "lt" { + value 68; + description + "Lithuanian"; + } + enum "lv" { + value 69; + description + "Latvian, Lettish"; + } + enum "mg" { + value 70; + description + "Malagasy"; + } + enum "mi" { + value 71; + description + "Maori"; + } + enum "mk" { + value 72; + description + "Macedonian"; + } + enum "ml" { + value 73; + description + "Malayalam"; + } + enum "mn" { + value 74; + description + "Mongolian"; + } + enum "mo" { + value 75; + description + "Moldavian"; + } + enum "mr" { + value 76; + description + "Marathi"; + } + enum "ms" { + value 77; + description + "Malay"; + } + enum "mt" { + value 78; + description + "Maltese"; + } + enum "my" { + value 79; + description + "Burmese"; + } + enum "na" { + value 80; + description + "Nauru"; + } + enum "ne" { + value 81; + description + "Nepali"; + } + enum "nl" { + value 82; + description + "Dutch"; + } + enum "no" { + value 83; + description + "Norwegian"; + } + enum "oc" { + value 84; + description + "Occitan"; + } + enum "om" { + value 85; + description + "(Afan) Oromo"; + } + enum "or" { + value 86; + description + "Oriya"; + } + enum "pa" { + value 87; + description + "Punjabi"; + } + enum "pl" { + value 88; + description + "Polish"; + } + enum "ps" { + value 89; + description + "Pashto, Pushto"; + } + enum "pt" { + value 90; + description + "Portuguese"; + } + enum "qu" { + value 91; + description + "Quechua"; + } + enum "rm" { + value 92; + description + "Rhaeto Romance"; + } + enum "rn" { + value 93; + description + "Kirundi"; + } + enum "ro" { + value 94; + description + "Romanian"; + } + enum "ru" { + value 95; + description + "Russian"; + } + enum "rw" { + value 96; + description + "Kinyarwanda"; + } + enum "sa" { + value 97; + description + "Sanskrit"; + } + enum "sd" { + value 98; + description + "Sindhi"; + } + enum "sg" { + value 99; + description + "Sangho"; + } + enum "sh" { + value 100; + description + "Serbo Croatian"; + } + enum "si" { + value 101; + description + "Sinhalese"; + } + enum "sk" { + value 102; + description + "Slovak"; + } + enum "sl" { + value 103; + description + "Slovenian"; + } + enum "sm" { + value 104; + description + "Samoan"; + } + enum "sn" { + value 105; + description + "Shona"; + } + enum "so" { + value 106; + description + "Somali"; + } + enum "sq" { + value 107; + description + "Albanian"; + } + enum "sr" { + value 108; + description + "Serbian"; + } + enum "ss" { + value 109; + description + "Siswati"; + } + enum "st" { + value 110; + description + "Sesotho"; + } + enum "su" { + value 111; + description + "Sundanese"; + } + enum "sv" { + value 112; + description + "Swedish"; + } + enum "sw" { + value 113; + description + "Swahili"; + } + enum "ta" { + value 114; + description + "Tamil"; + } + enum "te" { + value 115; + description + "Telugu"; + } + enum "tg" { + value 116; + description + "Tajik"; + } + enum "th" { + value 117; + description + "Thai"; + } + enum "ti" { + value 118; + description + "Tigrinya"; + } + enum "tk" { + value 119; + description + "Turkmen"; + } + enum "tl" { + value 120; + description + "Tagalog"; + } + enum "tn" { + value 121; + description + "Setswana"; + } + enum "to" { + value 122; + description + "Tonga"; + } + enum "tr" { + value 123; + description + "Turkish"; + } + enum "ts" { + value 124; + description + "Tsonga"; + } + enum "tt" { + value 125; + description + "Tatar"; + } + enum "tw" { + value 126; + description + "Twi"; + } + enum "ug" { + value 127; + description + "Uighur"; + } + enum "uk" { + value 128; + description + "Ukrainian"; + } + enum "ur" { + value 129; + description + "Urdu"; + } + enum "uz" { + value 130; + description + "Uzbek"; + } + enum "vi" { + value 131; + description + "Vietnamese"; + } + enum "vo" { + value 132; + description + "Volapuk"; + } + enum "wo" { + value 133; + description + "Wolof"; + } + enum "xh" { + value 134; + description + "Xhosa"; + } + enum "yi" { + value 135; + description + "Yiddish"; + } + enum "yo" { + value 136; + description + "Yoruba"; + } + enum "za" { + value 137; + description + "Zhuang"; + } + enum "zh" { + value 138; + description + "Chinese"; + } + enum "zu" { + value 139; + description + "Zulu"; + } + } + description + "Locale language"; + } + + container locale { + description + "Define the geographical locale"; + leaf country { + type Locale-country; + description + "Name of country locale"; + } + leaf language { + type Locale-language; + description + "Name of language locale"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-ltrace-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-ltrace-cfg.yang new file mode 100644 index 000000000..1d9ff8a89 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-ltrace-cfg.yang @@ -0,0 +1,134 @@ +module Cisco-IOS-XR-infra-ltrace-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-ltrace-cfg"; + prefix infra-ltrace-cfg; + + import Cisco-IOS-XR-config-mda-cfg { + prefix node; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-ltrace package configuration. + + This YANG module augments the + Cisco-IOS-XR-config-mda-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Infra-ltrace-mode { + type enumeration { + enum "static" { + value 1; + description + "Set ltrace memory allocation to static mode"; + } + enum "dynamic" { + value 2; + description + "Set ltrace memory allocation to dynamic mode"; + } + } + description + "Infra ltrace mode"; + } + + typedef Infra-ltrace-scale { + type enumeration { + enum "0" { + value 0; + description + "Use platform-defined scale-factor"; + } + enum "1" { + value 1; + description + "Do not scale down ltrace memory request"; + } + enum "2" { + value 2; + description + "Scale down ltrace memory request by 2"; + } + enum "4" { + value 4; + description + "Scale down ltrace memory request by 4"; + } + enum "8" { + value 8; + description + "Scale down ltrace memory request by 8"; + } + enum "16" { + value 16; + description + "Scale down ltrace memory request by 16"; + } + } + description + "Infra ltrace scale"; + } + + grouping NODE-CFG { + description + "active/preconfigured nodes configuration"; + container ltrace { + description + "Ltrace Memory configuration"; + container allocation-params { + description + "Select Ltrace mode and scale-factor"; + leaf mode { + type Infra-ltrace-mode; + description + "Select an allocation mode (static:1, dynamic + :2)"; + } + leaf scale-factor { + type Infra-ltrace-scale; + description + "Select a scaling down factor"; + } + } + } + } + + augment "/node:active-nodes/node:active-node" { + description + "This augment extends active nodes configuration"; + uses NODE-CFG; + } + augment "/node:preconfigured-nodes/node:preconfigured-node" { + description + "This augment extends preconfigured nodes + configuration"; + uses NODE-CFG; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-notification-log-mib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-notification-log-mib-cfg.yang new file mode 100644 index 000000000..dbcd35c3d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-notification-log-mib-cfg.yang @@ -0,0 +1,89 @@ +module Cisco-IOS-XR-infra-notification-log-mib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-notification-log-mib-cfg"; + prefix infra-notification-log-mib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-notification-log-mib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container notification-log-mib { + description + "Notification log MIB configuration"; + leaf global-age-out { + type uint32 { + range "1..4294967295"; + } + units "minute"; + description + "GlobalAgeOut is the minutes associated with the + mib"; + } + leaf disable { + type empty; + description + "Disable, to disable the logging in default log"; + } + leaf default { + type empty; + description + "To create a default log"; + } + leaf global-size { + type uint32 { + range "1..15000"; + } + description + "GlobalSize, max number of notifications that + can be logged in all logs"; + } + leaf default-size { + type uint32 { + range "1..15000"; + } + description + "The max number of notifications that this log + (default) can hold"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-nsr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-nsr-cfg.yang new file mode 100644 index 000000000..fcdd5add0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-nsr-cfg.yang @@ -0,0 +1,60 @@ +module Cisco-IOS-XR-infra-nsr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-nsr-cfg"; + prefix infra-nsr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-nsr package configuration. + + This module contains definitions + for the following management objects: + nsr: NSR global configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-06-27 { + description + "IOS XR 6.4.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container nsr { + description + "NSR global configuration"; + container process-failure { + description + "Recovery action for process failures on active + RP/DRP"; + leaf switchover { + type empty; + description + "Enable RP/DRP switchover on process failures"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-cfg.yang new file mode 100644 index 000000000..732c9a084 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-cfg.yang @@ -0,0 +1,1007 @@ +module Cisco-IOS-XR-infra-objmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-objmgr-cfg"; + prefix infra-objmgr-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-objmgr package configuration. + + This module contains definitions + for the following management objects: + udf: UDF configuration + object-group: Object-group configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-16 { + description + "Adding udf in the module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Start-port { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Echo (7)"; + } + enum "discard" { + value 9; + description + "Discard (9)"; + } + enum "daytime" { + value 13; + description + "Daytime (13)"; + } + enum "chargen" { + value 19; + description + "Character generator (19)"; + } + enum "ftp-data" { + value 20; + description + "FTP data connections (used infrequently, 20)"; + } + enum "ftp" { + value 21; + description + "File Transfer Protocol (21)"; + } + enum "ssh" { + value 22; + description + "Secure Shell (22)"; + } + enum "telnet" { + value 23; + description + "Telnet (23)"; + } + enum "smtp" { + value 25; + description + "Simple Mail Transport Protocol (25)"; + } + enum "time" { + value 37; + description + "Time (37)"; + } + enum "nicname" { + value 43; + description + "Nicname (43)"; + } + enum "tacacs" { + value 49; + description + "TAC Access Control System (49)"; + } + enum "domain" { + value 53; + description + "Domain Name Service (53)"; + } + enum "gopher" { + value 70; + description + "Gopher (70)"; + } + enum "finger" { + value 79; + description + "Finger (79)"; + } + enum "www" { + value 80; + description + "World Wide Web (HTTP, 80)"; + } + enum "host-name" { + value 101; + description + "NIC hostname server (101)"; + } + enum "pop2" { + value 109; + description + "Post Office Protocol v2 (109)"; + } + enum "pop3" { + value 110; + description + "Post Office Protocol v3 (110)"; + } + enum "sun-rpc" { + value 111; + description + "Sun Remote Procedure Call (111)"; + } + enum "ident" { + value 113; + description + "Ident Protocol (113)"; + } + enum "nntp" { + value 119; + description + "Network News Transport Protocol (119)"; + } + enum "bgp" { + value 179; + description + "Border Gateway Protocol (179)"; + } + enum "irc" { + value 194; + description + "Internet Relay Chat (194)"; + } + enum "pim-auto-rp" { + value 496; + description + "PIM Auto-RP (496)"; + } + enum "exec" { + value 512; + description + "Exec (rsh, 512)"; + } + enum "login" { + value 513; + description + "Login (rlogin, 513)"; + } + enum "cmd" { + value 514; + description + "Remote commands (rcmd, 514)"; + } + enum "lpd" { + value 515; + description + "Printer service (515)"; + } + enum "uucp" { + value 540; + description + "Unix-to-Unix Copy Program (540)"; + } + enum "klogin" { + value 543; + description + "Kerberos login (543)"; + } + enum "kshell" { + value 544; + description + "Kerberos shell (544)"; + } + enum "talk" { + value 517; + description + "Talk (517)"; + } + enum "ldp" { + value 646; + description + "LDP session connection attempts (MPLS, 646)"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "Start port"; + } + + typedef Port-operator { + type enumeration { + enum "equal" { + value 0; + description + "Match packets on ports equal to entered port + number"; + } + enum "not-equal" { + value 1; + description + "Match packets on ports not equal to entered + port number"; + } + enum "greater-than" { + value 2; + description + "Match packets on ports greater than entered + port number"; + } + enum "less-than" { + value 3; + description + "Match packets on ports less than entered port + number"; + } + } + description + "Port operator"; + } + + typedef Udf-encapsulation { + type enumeration { + enum "inner" { + value 0; + description + "Inner header for UDF"; + } + enum "outer" { + value 1; + description + "Outer header for UDF"; + } + } + description + "Udf encapsulation"; + } + + typedef Port { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Echo (7)"; + } + enum "discard" { + value 9; + description + "Discard (9)"; + } + enum "daytime" { + value 13; + description + "Daytime (13)"; + } + enum "chargen" { + value 19; + description + "Character generator (19)"; + } + enum "ftp-data" { + value 20; + description + "FTP data connections (used infrequently, 20)"; + } + enum "ftp" { + value 21; + description + "File Transfer Protocol (21)"; + } + enum "ssh" { + value 22; + description + "Secure Shell (22)"; + } + enum "telnet" { + value 23; + description + "Telnet (23)"; + } + enum "smtp" { + value 25; + description + "Simple Mail Transport Protocol (25)"; + } + enum "time" { + value 37; + description + "Time (37)"; + } + enum "nicname" { + value 43; + description + "Nicname (43)"; + } + enum "tacacs" { + value 49; + description + "TAC Access Control System (49)"; + } + enum "domain" { + value 53; + description + "Domain Name Service (53)"; + } + enum "gopher" { + value 70; + description + "Gopher (70)"; + } + enum "finger" { + value 79; + description + "Finger (79)"; + } + enum "www" { + value 80; + description + "World Wide Web (HTTP, 80)"; + } + enum "host-name" { + value 101; + description + "NIC hostname server (101)"; + } + enum "pop2" { + value 109; + description + "Post Office Protocol v2 (109)"; + } + enum "pop3" { + value 110; + description + "Post Office Protocol v3 (110)"; + } + enum "sun-rpc" { + value 111; + description + "Sun Remote Procedure Call (111)"; + } + enum "ident" { + value 113; + description + "Ident Protocol (113)"; + } + enum "nntp" { + value 119; + description + "Network News Transport Protocol (119)"; + } + enum "bgp" { + value 179; + description + "Border Gateway Protocol (179)"; + } + enum "irc" { + value 194; + description + "Internet Relay Chat (194)"; + } + enum "pim-auto-rp" { + value 496; + description + "PIM Auto-RP (496)"; + } + enum "exec" { + value 512; + description + "Exec (rsh, 512)"; + } + enum "login" { + value 513; + description + "Login (rlogin, 513)"; + } + enum "cmd" { + value 514; + description + "Remote commands (rcmd, 514)"; + } + enum "lpd" { + value 515; + description + "Printer service (515)"; + } + enum "uucp" { + value 540; + description + "Unix-to-Unix Copy Program (540)"; + } + enum "klogin" { + value 543; + description + "Kerberos login (543)"; + } + enum "kshell" { + value 544; + description + "Kerberos shell (544)"; + } + enum "talk" { + value 517; + description + "Talk (517)"; + } + enum "ldp" { + value 646; + description + "LDP session connection attempts (MPLS, 646)"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "Port"; + } + + typedef End-port { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Echo (7)"; + } + enum "discard" { + value 9; + description + "Discard (9)"; + } + enum "daytime" { + value 13; + description + "Daytime (13)"; + } + enum "chargen" { + value 19; + description + "Character generator (19)"; + } + enum "ftp-data" { + value 20; + description + "FTP data connections (used infrequently, 20)"; + } + enum "ftp" { + value 21; + description + "File Transfer Protocol (21)"; + } + enum "ssh" { + value 22; + description + "Secure Shell (22)"; + } + enum "telnet" { + value 23; + description + "Telnet (23)"; + } + enum "smtp" { + value 25; + description + "Simple Mail Transport Protocol (25)"; + } + enum "time" { + value 37; + description + "Time (37)"; + } + enum "nicname" { + value 43; + description + "Nicname (43)"; + } + enum "tacacs" { + value 49; + description + "TAC Access Control System (49)"; + } + enum "domain" { + value 53; + description + "Domain Name Service (53)"; + } + enum "gopher" { + value 70; + description + "Gopher (70)"; + } + enum "finger" { + value 79; + description + "Finger (79)"; + } + enum "www" { + value 80; + description + "World Wide Web (HTTP, 80)"; + } + enum "host-name" { + value 101; + description + "NIC hostname server (101)"; + } + enum "pop2" { + value 109; + description + "Post Office Protocol v2 (109)"; + } + enum "pop3" { + value 110; + description + "Post Office Protocol v3 (110)"; + } + enum "sun-rpc" { + value 111; + description + "Sun Remote Procedure Call (111)"; + } + enum "ident" { + value 113; + description + "Ident Protocol (113)"; + } + enum "nntp" { + value 119; + description + "Network News Transport Protocol (119)"; + } + enum "bgp" { + value 179; + description + "Border Gateway Protocol (179)"; + } + enum "irc" { + value 194; + description + "Internet Relay Chat (194)"; + } + enum "pim-auto-rp" { + value 496; + description + "PIM Auto-RP (496)"; + } + enum "exec" { + value 512; + description + "Exec (rsh, 512)"; + } + enum "login" { + value 513; + description + "Login (rlogin, 513)"; + } + enum "cmd" { + value 514; + description + "Remote commands (rcmd, 514)"; + } + enum "lpd" { + value 515; + description + "Printer service (515)"; + } + enum "uucp" { + value 540; + description + "Unix-to-Unix Copy Program (540)"; + } + enum "klogin" { + value 543; + description + "Kerberos login (543)"; + } + enum "kshell" { + value 544; + description + "Kerberos shell (544)"; + } + enum "talk" { + value 517; + description + "Talk (517)"; + } + enum "ldp" { + value 646; + description + "LDP session connection attempts (MPLS, 646)"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "End port"; + } + + typedef Layer { + type enumeration { + enum "l2" { + value 0; + description + "L2 layer for UDF"; + } + enum "l3" { + value 1; + description + "L3 layer for UDF"; + } + enum "l4" { + value 2; + description + "L4 layer for UDF"; + } + } + description + "Layer"; + } + + container udf { + description + "UDF configuration"; + container udf-objects { + description + "Table of Udf objects"; + list udf-object { + key "object-name"; + description + "UDF object group"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "UDF name - maximum 16 characters"; + } + leaf header { + type uint32; + description + "Set constant integer"; + } + leaf udf-encapsulation { + type Udf-encapsulation; + description + "Encapsulation options"; + } + leaf layer { + type Layer; + description + "Layer options"; + } + leaf offset { + type uint32 { + range "0..65535"; + } + units "byte"; + description + "Configure the offset value (bytes)"; + } + leaf length { + type uint32 { + range "0..65535"; + } + units "byte"; + description + "Configure the length (bytes)"; + } + } + } + } + container object-group { + description + "Object-group configuration"; + container port { + description + "Port object group"; + container udf-objects { + description + "Table of port objects groups"; + list udf-object { + key "object-name"; + description + "Port object group"; + container operators { + description + "Table of port operators"; + list operator { + key "operator-type port"; + description + "op class"; + leaf operator-type { + type Port-operator; + description + "operation for ports"; + } + leaf port { + type Port; + description + "Port number"; + } + } + } + container nested-groups { + description + "Table of nested port object groups"; + list nested-group { + key "nested-group-name"; + description + "nested object group"; + leaf nested-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of a nested object group"; + } + } + } + container port-ranges { + description + "Table of port range addresses"; + list port-range { + key "start-port end-port"; + description + "Match only packets on a given port range"; + leaf start-port { + type Start-port; + description + "Port number"; + } + leaf end-port { + type End-port; + description + "Port number"; + } + } + } + leaf description { + type string { + length "1..100"; + } + description + "Up to 100 characters describing this object"; + } + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Port object group name - maximum 64 + characters"; + } + } + } + } + container network { + description + "Network object group"; + container ipv6 { + description + "IPv6 object group"; + container udf-objects { + description + "Table of ipv6 object groups"; + list udf-object { + key "object-name"; + description + "IPv6 object group"; + container nested-groups { + description + "Table of nested ipv6 object groups"; + list nested-group { + key "nested-group-name"; + description + "nested object group"; + leaf nested-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter the name of a nested object group"; + } + } + } + container address-ranges { + description + "Table of ipv6 address ranges"; + list address-range { + key "start-address end-address"; + description + "Range of host addresses"; + leaf start-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + leaf end-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + } + } + container addresses { + description + "Table of ipv6 addresses"; + list address { + key "prefix prefix-length"; + description + "IPv6 address"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "IPv6 prefix x:x::x/y"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix of the IP Address"; + } + } + } + container hosts { + description + "Table of ipv6 host addresses"; + list host { + key "host-address"; + description + "A single host address"; + leaf host-address { + type inet:ipv6-address-no-zone; + description + "host ipv6 address"; + } + } + } + leaf description { + type string { + length "1..100"; + } + description + "Up to 100 characters describing this object"; + } + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "IPv6 object group name - maximum 64 + characters"; + } + } + } + } + container ipv4 { + description + "IPv4 object group"; + container udf-objects { + description + "Table of ipv4 object groups"; + list udf-object { + key "object-name"; + description + "IPv4 object group"; + container nested-groups { + description + "Table of nested ipv4 object groups"; + list nested-group { + key "nested-group-name"; + description + "Nested object group"; + leaf nested-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Nested object group"; + } + } + } + container address-ranges { + description + "Table of ipv4 host address ranges"; + list address-range { + key "start-address end-address"; + description + "Range of host addresses"; + leaf start-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf end-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + } + container addresses { + description + "Table of addresses"; + list address { + key "prefix prefix-length"; + description + "IPv4 address"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 address/prefix"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix of the IP Address"; + } + } + } + container hosts { + description + "Table of host addresses"; + list host { + key "host-address"; + description + "A single host address"; + leaf host-address { + type inet:ipv4-address-no-zone; + description + "Host ipv4 address"; + } + } + } + leaf description { + type string { + length "1..100"; + } + description + "Up to 100 characters describing this object"; + } + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "IPv4 object group name - maximum 64 + characters"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper-sub1.yang new file mode 100644 index 000000000..98b22a50f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper-sub1.yang @@ -0,0 +1,175 @@ +submodule Cisco-IOS-XR-infra-objmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-objmgr-oper { + prefix Cisco-IOS-XR-infra-objmgr-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-objmgr package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OBJ-GROUP-IPV4-MEMBER-HOST { + description + "Member host address bag"; + leaf host-address-xr { + type inet:ipv4-address; + description + "Host address"; + } + } + + grouping OBJ-GROUP-IPV4-MEMBER-RANGE { + description + "Member range bag"; + leaf start-address-xr { + type inet:ipv4-address; + description + "Range start address"; + } + leaf end-address-xr { + type inet:ipv4-address; + description + "Range end address"; + } + } + + grouping OBJ-GROUP-IPV4-MEMBER-ADDRESS { + description + "Member address bag"; + leaf prefix-xr { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf prefix-length-xr { + type uint32; + description + "Prefix length"; + } + } + + grouping OBJ-GROUP-IPV6-MEMBER-HOST { + description + "Member host address bag"; + leaf host-address-xr { + type inet:ipv6-address; + description + "Host address"; + } + } + + grouping OBJ-GROUP-IPV6-MEMBER-RANGE { + description + "Member range bag"; + leaf start-address-xr { + type inet:ipv6-address; + description + "Range start address"; + } + leaf end-address-xr { + type inet:ipv6-address; + description + "Range end address"; + } + } + + grouping OBJ-GROUP-IPV6-MEMBER-ADDRESS { + description + "Member address bag"; + leaf prefix-xr { + type inet:ipv6-address; + description + "IPv4 Address"; + } + leaf prefix-length-xr { + type uint32; + description + "Prefix length"; + } + } + + grouping OBJ-GROUP-PARENT { + description + "Group parent bag"; + leaf parent-name { + type string; + description + "Parent node"; + } + } + + grouping OBJ-GROUP-PORT-MEMBER-RANGE { + description + "Member port range bag"; + leaf start-port-xr { + type uint32; + description + "Port start address"; + } + leaf end-port-xr { + type uint32; + description + "Port end address"; + } + } + + grouping OBJ-GROUP-PORT-MEMBER-PORT { + description + "Member port operator port bag"; + leaf operator-type-xr { + type uint32; + description + "Operator"; + } + leaf port-xr { + type uint32; + description + "Port"; + } + } + + grouping OBJ-GROUP-MEMBER-NESTED { + description + "Member nested bag"; + leaf nested-group-name-xr { + type string; + description + "Nested group"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper.yang new file mode 100644 index 000000000..f374a715c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-objmgr-oper.yang @@ -0,0 +1,949 @@ +module Cisco-IOS-XR-infra-objmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-objmgr-oper"; + prefix infra-objmgr-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-objmgr-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-objmgr package operational data. + + This module contains definitions + for the following management objects: + object-group: Object-group operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Start-port { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Echo (7)"; + } + enum "discard" { + value 9; + description + "Discard (9)"; + } + enum "daytime" { + value 13; + description + "Daytime (13)"; + } + enum "chargen" { + value 19; + description + "Character generator (19)"; + } + enum "ftp-data" { + value 20; + description + "FTP data connections (used infrequently, 20)"; + } + enum "ftp" { + value 21; + description + "File Transfer Protocol (21)"; + } + enum "ssh" { + value 22; + description + "Secure Shell (22)"; + } + enum "telnet" { + value 23; + description + "Telnet (23)"; + } + enum "smtp" { + value 25; + description + "Simple Mail Transport Protocol (25)"; + } + enum "time" { + value 37; + description + "Time (37)"; + } + enum "nicname" { + value 43; + description + "Nicname (43)"; + } + enum "tacacs" { + value 49; + description + "TAC Access Control System (49)"; + } + enum "domain" { + value 53; + description + "Domain Name Service (53)"; + } + enum "gopher" { + value 70; + description + "Gopher (70)"; + } + enum "finger" { + value 79; + description + "Finger (79)"; + } + enum "www" { + value 80; + description + "World Wide Web (HTTP, 80)"; + } + enum "host-name" { + value 101; + description + "NIC hostname server (101)"; + } + enum "pop2" { + value 109; + description + "Post Office Protocol v2 (109)"; + } + enum "pop3" { + value 110; + description + "Post Office Protocol v3 (110)"; + } + enum "sun-rpc" { + value 111; + description + "Sun Remote Procedure Call (111)"; + } + enum "ident" { + value 113; + description + "Ident Protocol (113)"; + } + enum "nntp" { + value 119; + description + "Network News Transport Protocol (119)"; + } + enum "bgp" { + value 179; + description + "Border Gateway Protocol (179)"; + } + enum "irc" { + value 194; + description + "Internet Relay Chat (194)"; + } + enum "pim-auto-rp" { + value 496; + description + "PIM Auto-RP (496)"; + } + enum "exec" { + value 512; + description + "Exec (rsh, 512)"; + } + enum "login" { + value 513; + description + "Login (rlogin, 513)"; + } + enum "cmd" { + value 514; + description + "Remote commands (rcmd, 514)"; + } + enum "lpd" { + value 515; + description + "Printer service (515)"; + } + enum "uucp" { + value 540; + description + "Unix-to-Unix Copy Program (540)"; + } + enum "klogin" { + value 543; + description + "Kerberos login (543)"; + } + enum "kshell" { + value 544; + description + "Kerberos shell (544)"; + } + enum "talk" { + value 517; + description + "Talk (517)"; + } + enum "ldp" { + value 646; + description + "LDP session connection attempts (MPLS, 646)"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "Start port"; + } + + typedef Port-operator { + type enumeration { + enum "equal" { + value 0; + description + "Match packets on ports equal to entered port + number"; + } + enum "not-equal" { + value 1; + description + "Match packets on ports not equal to entered + port number"; + } + enum "greater-than" { + value 2; + description + "Match packets on ports greater than entered + port number"; + } + enum "less-than" { + value 3; + description + "Match packets on ports less than entered port + number"; + } + } + description + "Port operator"; + } + + typedef Port { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Echo (7)"; + } + enum "discard" { + value 9; + description + "Discard (9)"; + } + enum "daytime" { + value 13; + description + "Daytime (13)"; + } + enum "chargen" { + value 19; + description + "Character generator (19)"; + } + enum "ftp-data" { + value 20; + description + "FTP data connections (used infrequently, 20)"; + } + enum "ftp" { + value 21; + description + "File Transfer Protocol (21)"; + } + enum "ssh" { + value 22; + description + "Secure Shell (22)"; + } + enum "telnet" { + value 23; + description + "Telnet (23)"; + } + enum "smtp" { + value 25; + description + "Simple Mail Transport Protocol (25)"; + } + enum "time" { + value 37; + description + "Time (37)"; + } + enum "nicname" { + value 43; + description + "Nicname (43)"; + } + enum "tacacs" { + value 49; + description + "TAC Access Control System (49)"; + } + enum "domain" { + value 53; + description + "Domain Name Service (53)"; + } + enum "gopher" { + value 70; + description + "Gopher (70)"; + } + enum "finger" { + value 79; + description + "Finger (79)"; + } + enum "www" { + value 80; + description + "World Wide Web (HTTP, 80)"; + } + enum "host-name" { + value 101; + description + "NIC hostname server (101)"; + } + enum "pop2" { + value 109; + description + "Post Office Protocol v2 (109)"; + } + enum "pop3" { + value 110; + description + "Post Office Protocol v3 (110)"; + } + enum "sun-rpc" { + value 111; + description + "Sun Remote Procedure Call (111)"; + } + enum "ident" { + value 113; + description + "Ident Protocol (113)"; + } + enum "nntp" { + value 119; + description + "Network News Transport Protocol (119)"; + } + enum "bgp" { + value 179; + description + "Border Gateway Protocol (179)"; + } + enum "irc" { + value 194; + description + "Internet Relay Chat (194)"; + } + enum "pim-auto-rp" { + value 496; + description + "PIM Auto-RP (496)"; + } + enum "exec" { + value 512; + description + "Exec (rsh, 512)"; + } + enum "login" { + value 513; + description + "Login (rlogin, 513)"; + } + enum "cmd" { + value 514; + description + "Remote commands (rcmd, 514)"; + } + enum "lpd" { + value 515; + description + "Printer service (515)"; + } + enum "uucp" { + value 540; + description + "Unix-to-Unix Copy Program (540)"; + } + enum "klogin" { + value 543; + description + "Kerberos login (543)"; + } + enum "kshell" { + value 544; + description + "Kerberos shell (544)"; + } + enum "talk" { + value 517; + description + "Talk (517)"; + } + enum "ldp" { + value 646; + description + "LDP session connection attempts (MPLS, 646)"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "Port"; + } + + typedef End-port { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Echo (7)"; + } + enum "discard" { + value 9; + description + "Discard (9)"; + } + enum "daytime" { + value 13; + description + "Daytime (13)"; + } + enum "chargen" { + value 19; + description + "Character generator (19)"; + } + enum "ftp-data" { + value 20; + description + "FTP data connections (used infrequently, 20)"; + } + enum "ftp" { + value 21; + description + "File Transfer Protocol (21)"; + } + enum "ssh" { + value 22; + description + "Secure Shell (22)"; + } + enum "telnet" { + value 23; + description + "Telnet (23)"; + } + enum "smtp" { + value 25; + description + "Simple Mail Transport Protocol (25)"; + } + enum "time" { + value 37; + description + "Time (37)"; + } + enum "nicname" { + value 43; + description + "Nicname (43)"; + } + enum "tacacs" { + value 49; + description + "TAC Access Control System (49)"; + } + enum "domain" { + value 53; + description + "Domain Name Service (53)"; + } + enum "gopher" { + value 70; + description + "Gopher (70)"; + } + enum "finger" { + value 79; + description + "Finger (79)"; + } + enum "www" { + value 80; + description + "World Wide Web (HTTP, 80)"; + } + enum "host-name" { + value 101; + description + "NIC hostname server (101)"; + } + enum "pop2" { + value 109; + description + "Post Office Protocol v2 (109)"; + } + enum "pop3" { + value 110; + description + "Post Office Protocol v3 (110)"; + } + enum "sun-rpc" { + value 111; + description + "Sun Remote Procedure Call (111)"; + } + enum "ident" { + value 113; + description + "Ident Protocol (113)"; + } + enum "nntp" { + value 119; + description + "Network News Transport Protocol (119)"; + } + enum "bgp" { + value 179; + description + "Border Gateway Protocol (179)"; + } + enum "irc" { + value 194; + description + "Internet Relay Chat (194)"; + } + enum "pim-auto-rp" { + value 496; + description + "PIM Auto-RP (496)"; + } + enum "exec" { + value 512; + description + "Exec (rsh, 512)"; + } + enum "login" { + value 513; + description + "Login (rlogin, 513)"; + } + enum "cmd" { + value 514; + description + "Remote commands (rcmd, 514)"; + } + enum "lpd" { + value 515; + description + "Printer service (515)"; + } + enum "uucp" { + value 540; + description + "Unix-to-Unix Copy Program (540)"; + } + enum "klogin" { + value 543; + description + "Kerberos login (543)"; + } + enum "kshell" { + value 544; + description + "Kerberos shell (544)"; + } + enum "talk" { + value 517; + description + "Talk (517)"; + } + enum "ldp" { + value 646; + description + "LDP session connection attempts (MPLS, 646)"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "End port"; + } + + container object-group { + config false; + description + "Object-group operational data"; + container port { + description + "Port object group"; + container objects { + description + "Table of Object"; + list object { + key "object-name"; + description + "Port object group"; + container nested-groups { + description + "Table of NestedGroup"; + list nested-group { + key "nested-group-name"; + description + "nested object group"; + leaf nested-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Nested object group"; + } + uses OBJ-GROUP-MEMBER-NESTED; + } + } + container operators { + description + "Table of Operator"; + list operator { + description + "op class"; + leaf operator-type { + type Port-operator; + description + "operation for ports"; + } + leaf port { + type Port; + description + "Port number"; + } + uses OBJ-GROUP-PORT-MEMBER-PORT; + } + } + container port-ranges { + description + "Table of PortRange"; + list port-range { + description + "Match only packets on a given port range"; + leaf start-port { + type Start-port; + description + "Start port number"; + } + leaf end-port { + type End-port; + description + "End port number"; + } + uses OBJ-GROUP-PORT-MEMBER-RANGE; + } + } + container parent-groups { + description + "Table of ParentGroup"; + list parent-group { + key "parent-group-name"; + description + "Parent object group"; + leaf parent-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Nested object group"; + } + uses OBJ-GROUP-PARENT; + } + } + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Port object group name"; + } + } + } + } + container network { + description + "Network object group"; + container ipv6 { + description + "IPv6 object group"; + container objects { + description + "Table of Object"; + list object { + key "object-name"; + description + "IPv6 object group"; + container nested-groups { + description + "Table of NestedGroup"; + list nested-group { + key "nested-group-name"; + description + "nested object group"; + leaf nested-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter the name of a nested object group"; + } + uses OBJ-GROUP-MEMBER-NESTED; + } + } + container addresses { + description + "Table of Address"; + list address { + description + "IPv6 address"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "IPv6 prefix x:x::x/y"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix of the IP Address"; + } + uses OBJ-GROUP-IPV6-MEMBER-ADDRESS; + } + } + container address-ranges { + description + "Table of AddressRange"; + list address-range { + description + "Range of host addresses"; + leaf start-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + leaf end-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + uses OBJ-GROUP-IPV6-MEMBER-RANGE; + } + } + container parent-groups { + description + "Table of parent object group"; + list parent-group { + key "parent-group-name"; + description + "Parent object group"; + leaf parent-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Nested object group"; + } + uses OBJ-GROUP-PARENT; + } + } + container hosts { + description + "Table of Host"; + list host { + key "host-address"; + description + "A single host address"; + leaf host-address { + type inet:ipv6-address-no-zone; + description + "host ipv6 address"; + } + uses OBJ-GROUP-IPV6-MEMBER-HOST; + } + } + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "IPv6 object group name - maximum 64 + characters"; + } + } + } + } + container ipv4 { + description + "IPv4 object group"; + container objects { + description + "Table of Object"; + list object { + key "object-name"; + description + "IPv4 object group"; + container nested-groups { + description + "Table of NestedGroup"; + list nested-group { + key "nested-group-name"; + description + "Nested object group"; + leaf nested-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Nested object group"; + } + uses OBJ-GROUP-MEMBER-NESTED; + } + } + container addresses { + description + "Table of Address"; + list address { + description + "IPv4 address"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 address/prefix"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix of the IP Address"; + } + uses OBJ-GROUP-IPV4-MEMBER-ADDRESS; + } + } + container address-ranges { + description + "Table of AddressRange"; + list address-range { + description + "Range of host addresses"; + leaf start-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf end-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + uses OBJ-GROUP-IPV4-MEMBER-RANGE; + } + } + container parent-groups { + description + "Table of parent object group"; + list parent-group { + key "parent-group-name"; + description + "Parent object group"; + leaf parent-group-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Nested object group"; + } + uses OBJ-GROUP-PARENT; + } + } + container hosts { + description + "Table of Host"; + list host { + key "host-address"; + description + "A single host address"; + leaf host-address { + type inet:ipv4-address-no-zone; + description + "Host ipv4 address"; + } + uses OBJ-GROUP-IPV4-MEMBER-HOST; + } + } + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "IPv4 object group name - maximum 64 + characters"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-placed-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-placed-act.yang new file mode 100644 index 000000000..eab765eff --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-placed-act.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-infra-placed-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-placed-act"; + prefix placed-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2018-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-22 { + description + "Added root access for placement-reoptimize."; + } + revision 2020-03-09 { + description + "Changed cli command."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-01-10 { + description + "IOS XR 6.4.1 revision."; + } + + rpc placement-reoptimize { + description + "Migrate the processes, if placement is not optimal.\n"; + csc:xr-task "cisco-support | root-lr"; + csc:cli-command "placement reoptimize force"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-cfg.yang new file mode 100644 index 000000000..2bd61756e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-cfg.yang @@ -0,0 +1,2699 @@ +module Cisco-IOS-XR-infra-policymgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-cfg"; + prefix infra-policymgr-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix ietf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ASR9k policy manager configuration. + + Copyright (c) 2013, 2015-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-02 { + description + "Added ordered-by statements for policy class list"; + semver:module-version "4.1.0"; + } + revision 2021-02-15 { + description + "IOS XR 7.3.2 revision."; + semver:module-version "4.0.0"; + } + revision 2020-06-05 { + description + "IOS XR 7.2.1 revision. + 2020-05-17 + IOS XR 7.2.1 revision. + 2020-04-29 + IOS XR 7.2.1 revision. + 2020-04-06 + IOS XR 7.2.1 revision. + 2020-01-30 + IOS XR 7.2.1 revision. + 2019-12-18 + IOS XR 7.2.1 revision."; + semver:module-version "3.0.0"; + } + revision 2019-11-21 { + description + "IOS XR 7.1.1 revision. + 2019-11-03 + IOS XR 7.1.1 revision. + 2019-10-04 + IOS XR 7.1.1 revision."; + semver:module-version "2.0.0"; + } + revision 2019-07-31 { + description + "IOS XR 7.0.1 revision."; + } + revision 2019-07-23 { + description + "IOS XR 7.0.1 revision."; + } + revision 2019-07-15 { + description + "IOS XR 7.0.1 revision."; + } + revision 2019-07-11 { + description + "IOS XR 7.0.1 revision."; + } + revision 2019-07-02 { + description + "IOS XR 7.1.1 revision."; + } + revision 2018-11-22 { + description + "IOS XR 7.0.1 revision."; + } + revision 2018-11-02 { + description + "IOS XR 7.1.1 revision."; + } + revision 2018-09-10 { + description + "IOS XR 7.0.1 revision."; + } + revision 2018-06-29 { + description + "IOS XR 7.0.1 revision."; + } + revision 2018-03-02 { + description + "IOS XR 6.5.1 revision."; + } + revision 2017-12-11 { + description + "IOS XR 6.4.1 revision."; + } + revision 2017-06-27 { + description + "IOS XR 6.4.1 revision."; + } + revision 2017-05-15 { + description + "IOS XR 6.3.1 revision."; + } + revision 2017-04-03 { + description + "IOS XR 6.3.1 revision."; + } + revision 2017-03-03 { + description + "IOS XR 6.3.1 revision."; + } + revision 2017-02-15 { + description + "IOS XR 6.2.1 revision."; + } + revision 2017-02-08 { + description + "IOS XR 6.2.1 revision."; + } + revision 2016-12-15 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-05-18 { + description + "IOS XR 5.3.2 revision."; + } + revision 2013-07-22 { + description + "Initial revision."; + } + + typedef Class-map-type { + type enumeration { + enum "qos" { + value 1; + description + "QoS Classmap."; + } + enum "traffic" { + value 3; + description + "TRAFFIC Classmap."; + } + enum "subscriber-control" { + value 4; + description + "Control Subscriber Classmap."; + } + } + description + "Policy manager class-map type."; + } + + typedef Alarm-severity { + type string { + pattern "(informational)|(notification)|(warning)|(error)|(critical)|(alert)|(emergency)"; + } + description + "Alaram severity types."; + } + + typedef Policy-map-type { + type enumeration { + enum "qos" { + value 1; + description + "QoS Policymap"; + } + enum "pbr" { + value 2; + description + "PBR Policymap"; + } + enum "traffic" { + value 3; + description + "TRAFFIC Policymap"; + } + enum "subscriber-control" { + value 4; + description + "SUBSCRIBER-CONTROL Policymap"; + } + enum "accounting" { + value 5; + description + "Accounting Policymap"; + } + enum "redirect" { + value 6; + description + "REDIRECT Policy map"; + } + enum "flow-monitor" { + value 7; + description + "FLOWMONITOR Policy map"; + } + } + description + "Policy manager policy-map type."; + } + + typedef Service-policy-type { + type string { + pattern "(PBR)|(QOS)|(REDIRECT)|(TRAFFIC)|(pbr)|(qos)|(redirect)|(traffic)"; + } + description + "Policy manager service-policy type."; + } + + typedef Bandwidth-units { + type string { + pattern "(bps)|(kbps)|(mbps)|(gbps)|(percent)|(per-million)|(per-thousand)"; + } + description + "Supported units for bandwidth. + bps - units in Bits/Sec + kbps - units in KiloBits/Sec + mbps - units in MegaBits/Sec + gbps - units in GigaBits/Sec + percent - units in Percentage + per-million - parts per-million bandwidth value + per-thousand - Parts per-thousand bandwidth value"; + } + + typedef Bandwidth-remaining-units { + type string { + pattern "(percent)|(ratio)"; + } + description + "Supported units for bandwidth remaining. + percent - units in Percentage + ratio - units in Ratio"; + } + + typedef Rate-units { + type string { + pattern "(bps)|(kbps)|(mbps)|(gbps)|(pps)|(percent)|(cellsps)"; + } + description + "Supported units for police rate or peak-rate. + bps - units in Bits/Sec + kbps - units in KiloBits/Sec + mbps - units in MegaBits/Sec + gbps - units in GigaBits/Sec + pps - units in Packets/Sec + percent - units in Percentage + cellsps - units in Cells/Sec"; + } + + typedef Police-Rate-units { + type string { + pattern "(bps)|(kbps)|(mbps)|(gbps)|(pps)|(percent)|(cellsps)|(per-thousand)|(per-million)"; + } + description + "Supported units for police rate or peak-rate. + bps - units in Bits/Sec + kbps - units in KiloBits/Sec + mbps - units in MegaBits/Sec + gbps - units in GigaBits/Sec + pps - units in Packets/Sec + percent - units in Percentage + cellsps - units in Cells/Sec + per-million - parts per-million bandwidth value + per-thousand - Parts per-thousand bandwidth value"; + } + + typedef Cac-rate-units { + type string { + pattern "(bps)|(kbps)|(mbps)|(gbps)|(cellsps)"; + } + description + "Supported units for CAC rate or flow-rate. + bps - units in Bits/Sec + kbps - units in KiloBits/Sec + mbps - units in MegaBits/Sec + gbps - units in GigaBits/Sec + cellsps - units in Cells/Sec"; + } + + typedef Queue-units { + type string { + pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|(packets)|(cells)|(percent)"; + } + description + "Supported units for queue. + bytes - units in Bytes + kbytes - units in KiloBytes + mbytes - units in MegaBytes + gbytes - units in Gigabytes + us - units in Microseconds + ms - units in Milliseconds + packets - units in Packets + cells - units in Cells + percent - units in Percent"; + } + + typedef Threshold-units { + type string { + pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|(packets)|(cells)"; + } + description + "Supported units for RED threshold. + bytes - units in Bytes + kbytes - units in KiloBytes + mbytes - units in MegaBytes + gbytes - units in GigaBytes + us - units in Microseconds + ms - units in Milliseconds + packets - units in Packets + cells - units in Cells"; + } + + typedef Pfc-units { + type string { + pattern "(bytes)|(kbytes)|(mbytes)|(gbytes)|(us)|(ms)|(packets)|(cells)"; + } + description + "Supported units for pfc. + bytes - units in Bytes + kbytes - units in KiloBytes + mbytes - units in MegaBytes + gbytes - units in Gigabytes + us - units in Microseconds + ms - units in Milliseconds + packets - units in Packets + cells - units in Cells"; + } + + typedef Float-str { + type string { + pattern "[0-9]+(\\.[0-9]+)?"; + } + description + "Floating point number string representation."; + } + + typedef Dscp { + type string { + pattern "([0-9]|[1-5][0-9]|6[0-3])|(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)"; + } + description + "DSCP value string representation. + Should be single value 0..63 or predefined string."; + } + + typedef Dscp-range { + type string { + pattern "([0-9]|[1-5][0-9]|6[0-3])|(([0-9]|[1-5][0-9]|6[0-3])-([0-9]|[1-5][0-9]|6[0-3]))|(af11)|(af12)|(af13)|(af21)|(af22)|(af23)|(af31)|(af32)|(af33)|(af41)|(af42)|(af43)|(ef)|(default)|(cs1)|(cs2)|(cs3)|(cs4)|(cs5)|(cs6)|(cs7)"; + } + description + "DSCP value or range string representation. + Should be single value 0..63 or predefined string + or range -."; + } + + typedef Num-range { + type string { + pattern "(\\d+)|(\\d+\\-\\d+)"; + } + description + "Numeric value or range string representation. + Should be single value or range -."; + } + + typedef Protocol { + type string { + pattern "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\-([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))|((ahp)|(dhcpv4)|(dhcpv6)|(eigrp)|(esp)|(gre)|(icmp)|(igmp)|(igrp)|(ipinip)|(ipv4)|(ipv6)|(ipv6icmp)|(mpls)|(nos)|(ospf)|(pcp)|(pim)|(ppp)|(sctp)|(tcp)|(udp))"; + } + description + "Numeric value or range or string representation. + Should be single value or range 0..255."; + } + + typedef Subs-Protocol { + type string { + pattern "(dhcpv4)|(dhcpv6)|(ppp)"; + } + description + "Should be one of the 3 values."; + } + + typedef Ethertype { + type string { + pattern "((153[6-9]|15[4-9][0-9]|1[6-9][0-9][0-9]|[2-9][0-9][0-9][0-9])|([1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9])|(65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5]))|((arp)|(ipv4)|(ipv6))"; + } + description + "Numeric value or string representation. + Should be single value 1536..65535 or predefined string."; + } + + typedef shape-value { + type union { + type string { + pattern "[$][a-zA-Z0-9][a-zA-Z0-9\\._@%+:\\-]{0,32}[ ][=][ ]\\d{1,10}"; + } + type uint32 { + range "1..4294967295"; + } + } + description + "The shape can be either given as $var= or + . The range is from 1..4294967295"; + } + + typedef Precedence { + type union { + type uint8 { + range "0..7"; + } + type string { + pattern "(critical)|(flash)|(flash-override)|(immediate)|(internet)|(network)|(priority)|(routine)"; + } + } + description + "Precedence value. + critical Critical precedence (5) + flash Flash precedence (3) + flash-override Flash override precedence (4) + immediate Immediate precedence (2) + internet Internetwork control precedence (6) + network Network control precedence (7) + priority Priority precedence (1) + routine Routine precedence (0)"; + } + + typedef Cos { + type uint8 { + range "0..7"; + } + description + "Cos value."; + } + + typedef vrf-name-length { + type string { + length "1..32"; + } + description + "length of the vrf name."; + } + + typedef Idle-timeout-number { + type uint16 { + range "10..2550"; + } + units "seconds"; + description + "String that idle-timeout can take."; + } + + typedef Idle-timeout-string { + type string { + pattern "(None)|(none)"; + } + description + "This flow does not expire."; + } + + typedef Idle-timeout { + type union { + type Idle-timeout-number; + type Idle-timeout-string; + } + description + "Idle timeout after which flow expires"; + } + + typedef Encap-Seq-number { + type uint16 { + range "1..15"; + } + description + "Encap seq number"; + } + + typedef Encap-Seq-string { + type string { + pattern "(None)|(none)"; + } + description + "No encap sequence."; + } + + typedef Encap-sequence-type { + type union { + type Encap-Seq-number; + type Encap-Seq-string; + } + description + "Encap sequence for the policy-map"; + } + + typedef Event-type { + type enumeration { + enum "account-logoff" { + description + "Account logoff event."; + } + enum "account-logon" { + description + "Account logon event."; + } + enum "authentication-failure" { + description + "Denotes Authentication failure event."; + } + enum "authentication-no-response" { + description + "Denotes Authentication no response event."; + } + enum "authorization-failure" { + description + "Denotes Authorization failure event."; + } + enum "authorization-no-response" { + description + "Denotes Authorization no response event."; + } + enum "credit-exhausted" { + description + "Credit exhaustion event."; + } + enum "exception" { + description + "Exception event."; + } + enum "idle-timeout" { + description + "Idle timeout event."; + } + enum "quota-depleted" { + description + "Quota depletion event."; + } + enum "service-start" { + description + "Service start event."; + } + enum "service-stop" { + description + "Service stop event."; + } + enum "session-activate" { + description + "Session activate event."; + } + enum "session-start" { + description + "Session start event."; + } + enum "session-stop" { + description + "Session stop event."; + } + enum "timer-expiry" { + description + "Timer expiry event."; + } + enum "session-identity-change" { + description + "Session identity change event."; + } + enum "authorize-dhcp-renew" { + description + "Authorize dhcp renew packet event."; + } + enum "session-umi-report" { + description + "Session UMI report event."; + } + enum "session-established" { + description + "Session established event."; + } + enum "prepaid-quota-rejected" { + description + "Prepaid quota rejected."; + } + enum "prepaid-start-failed" { + description + "prepaid start request failed for the session."; + } + } + description + "Service Policy Event type."; + } + + typedef Execution-strategy { + type enumeration { + enum "do-all" { + description + "Do all actions."; + } + enum "do-until-failure" { + description + "Do all actions until failure."; + } + enum "do-until-success" { + description + "Do all actions until success."; + } + } + description + "Strategy to execute the Policy action."; + } + + typedef Authorize-identifier { + type enumeration { + enum "circuit-id" { + description + "Authorize circuit ID."; + } + enum "dhcp-client-id" { + description + "Authorize dhcp client ID."; + } + enum "remote-id" { + description + "Authorize remote ID."; + } + enum "source-address-ipv4" { + description + "Authorize source IPv4 address."; + } + enum "source-address-ipv6" { + description + "Authorize source IPv6 address."; + } + enum "source-address-mac" { + description + "Authorize source MAC address."; + } + enum "username" { + description + "Authorize username."; + } + } + description + "Different parameters for Authorization"; + } + + typedef dhcp-client-id-options { + type string { + pattern "(none)|(ascii)|(hex)"; + } + description + "DHCP client Id Flag option."; + } + + grouping MATCH { + description + "Supported 'match' or 'match-not' actions."; + leaf-list ipv4-dscp { + type Dscp-range; + ordered-by user; + description + "Match IPv4 DSCP."; + } + leaf-list ipv6-dscp { + type Dscp-range; + ordered-by user; + description + "Match IPv6 DSCP."; + } + leaf-list dscp { + type Dscp-range; + ordered-by user; + description + "Match DSCP."; + } + leaf-list ipv4-precedence { + type Precedence; + ordered-by user; + description + "Match IPv4 precedence."; + } + leaf-list ipv6-precedence { + type Precedence; + ordered-by user; + description + "Match IPv6 precedence."; + } + leaf-list precedence { + type Precedence; + ordered-by user; + description + "Match precedence."; + } + leaf-list qos-group { + type Num-range; + ordered-by user; + description + "Match QoS group. + Should be value 0..512 or range."; + } + leaf-list traffic-class { + type Num-range; + ordered-by user; + description + "Match Traffic Class. + Should be value 0..63 or range."; + } + leaf-list cos { + type Cos; + ordered-by user; + description + "Match CoS."; + } + leaf-list inner-cos { + type Cos; + ordered-by user; + description + "Match inner CoS."; + } + leaf dei { + type uint8 { + range "0..1"; + } + description + "Match DEI bit."; + } + leaf dei-inner { + type uint8 { + range "0..1"; + } + description + "Match DEI INNER bit."; + } + leaf-list protocol { + type Protocol; + ordered-by user; + description + "Match protocol."; + } + leaf-list subs-protocol { + type Subs-Protocol; + ordered-by user; + description + "Match subs protocol."; + } + leaf-list ipv4-acl { + type string { + length "1..64"; + } + ordered-by user; + description + "Match IPv4 ACL."; + } + leaf-list ipv6-acl { + type string { + length "1..64"; + } + ordered-by user; + description + "Match IPv6 ACL."; + } + leaf-list ethernet-services-acl { + type string { + length "1..64"; + } + ordered-by user; + description + "Match Ethernet Services"; + } + leaf-list mpls-experimental-topmost { + type Cos; + ordered-by user; + description + "Match MPLS experimental topmost label."; + } + leaf-list mpls-experimental-imposition { + type Cos; + ordered-by user; + description + "Match MPLS experimental imposition label."; + } + leaf-list discard-class { + type Cos; + ordered-by user; + description + "Match discard class."; + } + leaf-list ipv4-packet-length { + type Num-range; + ordered-by user; + description + "Match IPv4 packet length. + Should be value 0..65535 or range."; + } + leaf-list ipv6-packet-length { + type Num-range; + ordered-by user; + description + "Match IPv6 packet length. + Should be value 0..65535 or range."; + } + leaf-list packet-length { + type Num-range; + ordered-by user; + description + "Match packet length. + Should be value 0..65535 or range."; + } + leaf-list mpls-disposition-ipv4-access-list { + type string { + length "1..32"; + } + ordered-by user; + description + "Match MPLS Label Disposition IPv4 access list."; + } + leaf-list mpls-disposition-ipv6-access-list { + type string { + length "1..32"; + } + ordered-by user; + description + "Match MPLS Label Disposition IPv6 access list."; + } + leaf-list mpls-disp-class-map { + type string { + length "1..32"; + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]*"; + } + ordered-by user; + description + "Match MPLS Label Disposition class-map"; + } + leaf-list vlan { + type Num-range; + ordered-by user; + description + "Match VLAN ID."; + } + leaf-list inner-vlan { + type Num-range; + ordered-by user; + description + "Match inner VLAN ID."; + } + leaf-list flow-tag { + type Num-range; + ordered-by user; + description + "Match flow-tag. Should be value 1..63 or range."; + } + leaf-list ethertype { + type Ethertype; + ordered-by user; + description + "Match Ethertype."; + } + list destination-address-ipv4 { + key "address netmask"; + description + "Match destination IPv4 address."; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IPv4 netmask."; + } + } + list destination-address-ipv6 { + key "address prefix-length"; + description + "Match destination IPv6 address."; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address."; + } + leaf prefix-length { + type uint8 { + range "0..128"; + } + description + "Length of the IPv6 prefix"; + } + } + leaf-list destination-port { + type Num-range; + ordered-by user; + description + "Match destination port. + Should be value 0..65535 or range."; + } + leaf-list fragment-type { + type string { + pattern "(dont-fragment)|(first-fragment)|(is-fragment)|(last-fragment)"; + } + max-elements "4"; + ordered-by user; + description + "Match fragment type for a packet."; + } + leaf-list frame-relay-dlci { + type Num-range; + ordered-by user; + description + "Match frame-relay DLCI value. + Should be value 16..1007 or range."; + } + leaf-list fr-de { + type uint8 { + range "0..1"; + } + description + "Match FrameRelay DE bit."; + } + leaf-list icmpv4-code { + type Num-range; + ordered-by user; + description + "Match IPv4 ICMP code. + Should be value 0..255 or range."; + } + leaf-list icmpv4-type { + type Num-range; + ordered-by user; + description + "Match IPv4 ICMP type. + Should be value 0..255 or range."; + } + leaf-list icmpv6-code { + type Num-range; + ordered-by user; + description + "Match IPv6 ICMP code. + Should be value 0..255 or range."; + } + leaf-list icmpv6-type { + type Num-range; + ordered-by user; + description + "Match IPv6 ICMP type. + Should be value 0..255 or range."; + } + list source-address-ipv4 { + key "address netmask"; + description + "Match source IPv4 address."; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IPv4 netmask."; + } + } + list source-address-ipv6 { + key "address prefix-length"; + description + "Match source IPv6 address."; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address."; + } + leaf prefix-length { + type uint8 { + range "0..128"; + } + description + "Length of the IPv6 prefix"; + } + } + leaf-list source-port { + type Num-range; + ordered-by user; + description + "Match source port. + Should be value 0..65535 or range."; + } + leaf tcp-flag { + type uint16 { + range "0..4095"; + } + description + "Match TCP flags."; + } + leaf authen-status { + type string { + pattern "(authenticated)|(unauthenticated)"; + } + description + "Match authentication status."; + } + leaf-list circuit-id { + type string { + length "1..32"; + } + ordered-by user; + description + "Match Circuit ID."; + } + leaf-list circuit-id-regex { + type string { + length "1..32"; + } + ordered-by user; + description + "Match Circuit id regular expression"; + } + list dhcp-client-id { + key "client-id flag"; + description + "Match dhcp client ID."; + leaf client-id { + type string { + length "1..32"; + } + description + "Dhcp client Id."; + } + leaf flag { + type dhcp-client-id-options; + description + "Dhcp client id Ascii/Hex"; + } + } + list dhcp-client-id-regex { + key "client-id flag"; + description + "Match dhcp client id regular expression"; + leaf client-id { + type string { + length "1..32"; + } + description + "Dhcp client id regular expression."; + } + leaf flag { + type dhcp-client-id-options; + description + "Dhcp client Id regex Ascii/Hex."; + } + } + list domain-name { + key "name format"; + description + "Match domain name."; + leaf name { + type string { + length "1..32"; + } + description + "Domain name or regular expression."; + } + leaf format { + type string { + length "1..32"; + } + description + "Domain-format name."; + } + } + list domain-name-regex { + key "regex format"; + description + "Match domain name."; + leaf regex { + type string { + length "1..32"; + } + description + "Domain name or regular expression."; + } + leaf format { + type string { + length "1..32"; + } + description + "Domain-format name."; + } + } + leaf-list remote-id { + type string { + length "1..32"; + } + ordered-by user; + description + "Match remote ID."; + } + leaf-list remote-id-regex { + type string { + length "1..32"; + } + ordered-by user; + description + "Match remote id regular expression"; + } + leaf-list service-name { + type string { + length "1..32"; + } + ordered-by user; + description + "Match servicve name."; + } + leaf-list service-name-regex { + type string { + length "1..32"; + } + ordered-by user; + description + "Match servicve name regular expression."; + } + leaf-list timer { + type string { + length "1..32"; + } + ordered-by user; + description + "Match timer."; + } + leaf-list timer-regex { + type string { + length "1..32"; + } + ordered-by user; + description + "Match timer regular expression."; + } + leaf-list user-name { + type string { + length "1..32"; + } + ordered-by user; + description + "Match user name."; + } + leaf-list user-name-regex { + type string { + length "1..32"; + } + ordered-by user; + description + "Match user name regular expression."; + } + leaf source-mac { + type ietf:mac-address; + description + "Match source MAC address. Format is e.g. ff:a6:8e:00:01:02."; + } + leaf destination-mac { + type ietf:mac-address; + description + "Match destination MAC address. Format is e.g. ff:a6:8e:00:01:02."; + } + leaf vpls-control { + type empty; + description + "Match VPLS control"; + } + leaf vpls-broadcast { + type empty; + description + "Match VPLS Broadcast"; + } + leaf vpls-multicast { + type empty; + description + "Match VPLS Multicast"; + } + leaf vpls-known { + type empty; + description + "Match VPLS Known"; + } + leaf vpls-unknown { + type empty; + description + "Match VPLS Unknown"; + } + } + + grouping MATCH-MATCHNOT { + description + "match or match-not containers."; + container match { + description + "Match rules."; + uses MATCH; + leaf-list atm-clp { + type uint8 { + range "0..1"; + } + ordered-by user; + description + "Match ATM CLP bit."; + } + leaf atm-oam { + type empty; + description + "Match ATM OAM."; + } + leaf cac-admit { + type empty; + description + "Match CAC admitted."; + } + leaf cac-unadmit { + type empty; + description + "Match CAC unadmitted."; + } + container flow { + description + "Match flow."; + leaf-list flow-key { + type string { + pattern "(SourceIP)|(DestinationIP)|(5Tuple)"; + } + ordered-by user; + description + "Configure the flow-key parameters."; + } + container flow-cache { + description + "Configure the flow-cache parameters"; + leaf idle-timeout { + type Idle-timeout; + description + "Maximum time of inactivity for a flow."; + } + leaf max-count { + type uint16 { + range "1..65535"; + } + description + "Configure the max-count for the flow-key"; + } + } + } + } + container match-not { + description + "Match not rules."; + uses MATCH; + } + } + + grouping CLASS-MAP-RULE { + description + "Class-map rule"; + choice class-map-mode-match { + default "class-map-mode-match-any"; + case class-map-mode-match-any { + leaf class-map-mode-match-any { + type empty; + description + "Match any match criteria"; + } + } + case class-map-mode-match-all { + leaf class-map-mode-match-all { + type empty; + description + "Match all match criteria."; + } + } + } + uses MATCH-MATCHNOT; + leaf description { + type string; + description + "Description for this policy-map."; + } + } + + grouping POLICY-MARK { + description + "Policy packet marking actions."; + leaf dscp { + type Dscp; + description + "Marks a packet by setting the DSCP in the ToS byte."; + } + leaf qos-group { + type uint16 { + range "0..512"; + } + description + "Sets the QoS group identifiers on IPv4 or MPLS packets. + The set qos-group is supported only on an ingress policy."; + } + leaf traffic-class { + type uint8 { + range "0..63"; + } + description + "Sets the Traffic class identifiers on IPv4 or MPLS packets."; + } + leaf discard-class { + type Cos; + description + "Sets the discard class on IPv4 or MPLS packets. + The discard-class can be used only in service policies + that are attached in the ingress policy."; + } + leaf forward-class { + type uint8 { + range "0..7"; + } + description + "Sets the forward class."; + } + leaf df { + type uint8 { + range "0..1"; + } + description + "Set DF bit."; + } + leaf cos { + type Cos; + description + "Sets the specific IEEE 802.1Q Layer 2 CoS value of an + outgoing packet. + This command should be used by a router if a user wants + to mark a packet that is being sent to a switch. + Switches can leverage Layer 2 header information, + including a CoS value marking. Packets entering an + interface cannot be set with a CoS value."; + } + leaf inner-cos { + type Cos; + description + "Set inner cos."; + } + leaf precedence { + type Precedence; + description + "Sets the precedence value in the IP header."; + } + leaf precedence-tunnel { + type Precedence; + description + "Sets the precedence tunnel value for ipsec."; + } + leaf mpls-experimental-top-most { + type uint8 { + range "0..7"; + } + description + "Sets the experimental value of the MPLS packet top-most + labels."; + } + leaf mpls-experimental-imposition { + type Cos; + description + "Sets the experimental value of the MPLS packet + imposition labels. + Imposition can be used only in service policies that + are attached in the ingress policy"; + } + leaf srp-priority { + type uint8 { + range "0..7"; + } + description + "Sets the spatial reuse protocol priority value of an + outgoing packet."; + } + leaf fr-de { + type uint8 { + range "0..1"; + } + description + "Set FrameRelay DE bit."; + } + leaf dei { + type uint8 { + range "0..1"; + } + description + "Set DEI bit."; + } + leaf dei-imposition { + type uint8 { + range "0..1"; + } + description + "Set DEI imposition bit."; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Set the Source IPv4 address."; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Set the Destination IPv4 address."; + } + leaf atm-clp { + type empty; + description + "Set atm cell-loss-priority bit."; + } + leaf dscp-tunnel { + type Dscp; + description + "Marks a packet by setting DSCP in the tunnel header. + This is specific to ipsec tunnels"; + } + } + + grouping CAC-RATE-VALUE { + description + "CAC rate value."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Rate value."; + } + leaf units { + type Cac-rate-units; + description + "Rate units."; + } + } + + grouping POLICE-ACTION { + description + "Police action."; + leaf Transmit { + type empty; + description + "Police action transmit."; + } + leaf drop { + type empty; + description + "Police action drop."; + } + container set { + description + "Police action packet marking."; + uses POLICY-MARK; + } + } + + grouping POLICY-MAP-RULE { + description + "Class-map rule."; + list event { + key "event-type"; + ordered-by user; + description + "Policy event."; + leaf event-type { + type Event-type; + description + "Service Policy Event type."; + } + leaf event-mode-match-all { + when "count(../event-mode-match-first) = 0" { + description + "Event MUST have only one mode."; + } + type empty; + description + "Execute all the matched classes."; + } + leaf event-mode-match-first { + when "count(../event-mode-match-all) = 0" { + description + "Event MUST have only one mode."; + } + type empty; + description + "Execute only the first matched class."; + } + list class { + key "class-name class-type"; + ordered-by user; + description + "Class-map rule."; + leaf class-name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}"; + } + description + "Name of class."; + } + leaf class-type { + type Class-map-type; + description + "Type of class."; + } + leaf class-execution-strategy { + type Execution-strategy; + description + "Strategy to execute Class-map"; + } + list action-rule { + key "action-sequence-number"; + description + "Action rule parameters"; + leaf action-sequence-number { + type uint16 { + range "1..65535"; + } + description + "Sequence number for this action."; + } + container activate-dynamic-template { + presence + "This container is present only if actions is + related to dynamic templates."; + description + "Activate dynamically created templates."; + leaf name { + type string; + mandatory true; + description + "Dynamic template name."; + } + leaf aaa-list { + type string; + description + "Name of the AAA method list."; + } + } + container authenticate { + description + "Authentication related configuration."; + leaf aaa-list { + type string; + description + "Name of the AAA method list."; + } + } + container authorize { + must "format or identifier" { + description + "format or identifier must be set."; + } + presence + "This container is present only if actions is + related to authorization."; + description + "Authorize using format or identifier or password"; + leaf aaa-list { + type string; + mandatory true; + description + "Name of the AAA method list."; + } + leaf format { + type string; + description + "Specify an Authorize format name."; + } + leaf identifier { + type Authorize-identifier; + description + "Specify an Authorize format name."; + } + leaf password { + type string; + mandatory true; + description + "Specify a password to be used for AAA + request."; + } + } + container deactivate-dynamic-template { + presence + "This container is present only if actions is + related to dynamic templates."; + description + "Deactivate dynamically created templates."; + leaf name { + type string; + mandatory true; + description + "Dynamic template name."; + } + leaf aaa-list { + type string; + description + "Name of the AAA method list."; + } + } + leaf disconnect { + type empty; + description + "Disconnect session."; + } + leaf monitor { + type empty; + description + "Monitor session."; + } + leaf service-deactivate { + type empty; + description + "deactivate service on prepaid start failure."; + } + container set-timer { + presence + "This container is present only if actions is + related to timer."; + description + "Set a timer to execute a rule on its + expiry"; + leaf timer-name { + type string; + mandatory true; + description + "Name of the timer."; + } + leaf timer-value { + type uint32 { + range "1..4294967295"; + } + units "minutes"; + mandatory true; + description + "Timer value in minutes."; + } + } + container stop-timer { + description + "Disable timer before it expires."; + leaf timer-name { + type string; + description + "Name of the timer."; + } + } + } + } + } + list policy-map-rule { + key "class-name class-type"; + ordered-by user; + description + "Class-map rule."; + leaf class-name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}"; + } + description + "Name of class-map."; + } + leaf class-type { + type Class-map-type; + description + "Type of class-map."; + } + container shape { + must "rate" { + description + "rate container must be present."; + } + description + "Policy action shape."; + container rate { + description + "Rate configuration."; + leaf value { + type shape-value; + must "../unit" { + description + "unit must be set."; + } + description + "Shape bandwidth value."; + } + leaf unit { + type Bandwidth-units; + description + "Shape bandwidth units."; + } + } + container burst { + description + "Burst size configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Burst size value."; + } + leaf units { + type Threshold-units; + description + "Burst size units."; + } + } + } + container min-bandwidth { + description + "Policy action minimum bandwidth queue."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../unit" { + description + "unit must be set."; + } + description + "Minimum bandwidth value."; + } + leaf unit { + type Bandwidth-units; + description + "Minimum bandwidth units."; + } + } + container bandwidth-remaining { + description + "Policy action bandwidth remaining queue."; + leaf value { + type uint32 { + range "0..4294967295"; + } + must "../unit" { + description + "unit must be set."; + } + description + "Remaining bandwidth value."; + } + leaf unit { + type Bandwidth-remaining-units; + description + "Remaining bandwidth units."; + } + } + list queue-limit { + key "value unit"; + description + "Policy action queue limit."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../unit" { + description + "unit must be set."; + } + description + "Remaining bandwidth value."; + } + leaf unit { + type Queue-units; + description + "Remaining bandwidth units."; + } + leaf-list discard-class { + type Cos; + description + "queue-limit discard-class value."; + } + } + container pfc { + description + "Policy action pfc."; + leaf pfc-pause-set { + type empty; + description + "Pfc Pause set value."; + } + container pfc-buffer-size { + description + "PFC Buffer Size."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../unit" { + description + "unit must be set."; + } + description + "Pfc buffer size value."; + } + leaf unit { + type Pfc-units; + description + "Pfc buffer size units."; + } + } + container pfc-pause-threshold { + description + "PFC Pause Threshold."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../unit" { + description + "unit must be set."; + } + description + "Pfc pause threshold value."; + } + leaf unit { + type Pfc-units; + description + "Pfc pause threshold units."; + } + } + container pfc-resume-threshold { + description + "PFC Resume Threshold."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../unit" { + description + "unit must be set."; + } + description + "Pfc resume threshold value."; + } + leaf unit { + type Pfc-units; + description + "Pfc resume threshold units."; + } + } + } + leaf priority-level { + type uint8 { + range "1..7"; + } + description + "Priority level of the policy-map rule"; + } + leaf default-red { + type empty; + description + "Default random early detection"; + } + leaf ecn-red { + type empty; + description + "ECN based random early detection"; + } + list random-detect { + key "threshold-min-value threshold-min-units threshold-max-value threshold-max-units"; + description + "Random early detection. + All RED profiles in a class must be based + on the same field."; + leaf threshold-min-value { + type uint32 { + range "0..1073741823"; + } + description + "Minimum RED threshold value."; + } + leaf threshold-min-units { + type Threshold-units; + description + "Minimum RED threshold units."; + } + leaf threshold-max-value { + type uint32 { + range "0..1073741823"; + } + description + "Maximum RED threshold value."; + } + leaf threshold-max-units { + type Threshold-units; + description + "Maximum RED threshold units."; + } + leaf probability { + type uint32 { + range "0..4294967295"; + } + description + "Drop Probability of RED"; + } + leaf-list cos { + type Cos; + ordered-by user; + description + "WRED based on CoS."; + } + leaf-list discard-class { + type Cos; + ordered-by user; + description + "WRED based on discard class."; + } + leaf-list dscp { + type Dscp-range; + ordered-by user; + description + "WRED based on DSCP."; + } + leaf-list mpls-exp { + type Cos; + ordered-by user; + description + "MPLS Experimental value based WRED."; + } + leaf-list precedence { + type Precedence; + ordered-by user; + description + "WRED based on precedence."; + } + leaf-list dei { + type uint8 { + range "0..1"; + } + ordered-by user; + description + "DEI based WRED. + Should be value 0..1."; + } + } + container set { + description + "Policy action packet marking."; + uses POLICY-MARK; + } + leaf encap-sequence { + type Encap-sequence-type; + description + "Configure encap sequence for the policy-map."; + } + container police { + description + "Configures traffic policing action."; + container bucket { + description + "Bucket related configuration."; + container shared { + description + "Shared bucket configuration."; + leaf name { + type string; + description + "Shared Bucket name."; + } + container rate { + description + "Rate configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Rate value."; + } + leaf units { + type Police-Rate-units; + description + "Rate units."; + } + } + container peak-rate { + description + "Peak rate configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Peak rate value."; + } + leaf units { + type Rate-units; + description + "Peak rate units."; + } + } + container burst { + description + "Burst configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Burst value."; + } + leaf units { + type Threshold-units; + description + "Burst units."; + } + } + container peak-burst { + description + "Peak burst configuration."; + leaf value { + type uint32; + must "../units" { + description + "units must be set."; + } + description + "Peak burst value."; + } + leaf units { + type Threshold-units; + description + "Peak burst units."; + } + } + } + container referred { + description + "Referred bucket related configuration"; + leaf name { + type string; + description + "Referred bucket name"; + } + } + } + container rate { + description + "Rate configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Rate value."; + } + leaf units { + type Police-Rate-units; + description + "Rate units."; + } + } + container peak-rate { + description + "Peak rate configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Peak rate value."; + } + leaf units { + type Rate-units; + description + "Peak rate units."; + } + } + container burst { + description + "Burst configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Burst value."; + } + leaf units { + type Threshold-units; + description + "Burst units."; + } + } + container peak-burst { + description + "Peak burst configuration."; + leaf value { + type uint32 { + range "1..4294967295"; + } + must "../units" { + description + "units must be set."; + } + description + "Peak burst value."; + } + leaf units { + type Threshold-units; + description + "Peak burst units."; + } + } + container conform-action { + description + "Configures the action to take on packets that conform + to the rate limit."; + uses POLICE-ACTION; + } + leaf conform-color { + type string; + description + "Configures the class that classifies the packets that conform"; + } + leaf exceed-color { + type string; + description + "Configures the class that classifies the packets that conform"; + } + container exceed-action { + description + "Configures the action to take on packets that exceed + the rate limit."; + uses POLICE-ACTION; + } + container violate-action { + description + "Configures the action to take on packets that violate + the rate limit."; + uses POLICE-ACTION; + } + } + container compress { + description + "IP header compression"; + container header { + container ip { + presence "IP header compression"; + } + } + } + container service-policy { + description + "Configure a child service policy."; + leaf policy-name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}"; + } + description + "Name of service-policy."; + } + leaf type { + type Service-policy-type; + description + "Type of service-policy."; + } + } + container cac-local { + description + "Policy action CAC."; + container rate { + description + "The rate allocated for all flows."; + uses CAC-RATE-VALUE; + } + container flow-rate { + description + "The rate allocated per flow."; + uses CAC-RATE-VALUE; + } + leaf flow-idle-timeout { + type Idle-timeout; + description + "The interval after which a flow is removed, + if there is no activity. + If timeout is 0 this flow does not expire."; + } + } + container flow-params { + description + "Policy flow monitoring action."; + leaf max-flow { + type uint16 { + range "0..4096"; + } + description + "Max simultaneous flows monitored per policy class"; + } + leaf interval-duration { + type uint32 { + range "10..600"; + } + units "seconds"; + description + "Monitored interval duration."; + } + leaf history { + type uint32 { + range "1..60"; + } + description + "Keep stats/metrics on box for so many intervals."; + } + leaf timeout { + type uint32 { + range "2..60"; + } + units "seconds"; + description + "Declare a flow dead if no packets received in + so much time"; + } + } + container metrics-ipcbr { + description + "Policy IP-CBR metric action."; + container rate { + description + "Nominal per-flow data rate."; + leaf layer3 { + type uint32; + units "bps"; + description + "Nominal rate specified at the L3 (IP)."; + } + leaf packet { + type uint32 { + range "1..4294967294"; + } + units "pps"; + description + "Nominal IP layer packet rate (in pps)."; + } + leaf media { + type uint32 { + range "1..3000000000"; + } + units "bps"; + description + "Nominal data rate of the media flow (ip payload)."; + } + } + container media-packet { + description + "Media-packet structure."; + leaf size { + type uint16 { + range "1..65535"; + } + units "bytes"; + description + "Nominal size of the media-packet."; + } + leaf count-in-layer3 { + type uint8 { + range "1..64"; + } + units "packets"; + description + "Nominal number of media packets in an IP payload."; + } + } + } + container react { + description + "Policy action react."; + leaf descrition { + type string; + description + "String describing the react statement."; + } + container action { + description + "Action on alert."; + leaf syslog { + type empty; + description + "Syslog."; + } + leaf snmp { + type empty; + description + "SNMP."; + } + } + container alarm { + description + "Alaram settings."; + container type { + description + "Alarm type."; + leaf discrete { + type empty; + description + "Discrete alarm type."; + } + leaf group-count { + type uint16 { + range "1..65535"; + } + units "number of flows"; + description + "Number of flows to reach before + triggering alarm"; + } + leaf group-percent { + type uint16 { + range "1..100"; + } + units "percentage"; + description + "Percent to reach before triggering alarm"; + } + } + leaf severity { + type Alarm-severity; + description + "Severity of the alarm."; + } + } + container threshold { + description + "Alarm threshold settings."; + container trigger-value { + description + "Alarm trigger value settings."; + leaf greater-than { + type string; + description + "trigger only if metric is Greater than given value"; + } + leaf greater-than-equal { + type string; + description + "trigger only if metric is Greater than equal to given value"; + } + leaf less-than { + type string; + description + "trigger only if metric is Less than given value"; + } + leaf less-than-equal { + type string; + description + "trigger only if metric is Less than equal given value"; + } + leaf range { + type string; + description + "Range"; + } + } + container trigger-type { + description + "Alarm trigger type settings."; + leaf immediate { + type empty; + description + "Immediate trigger."; + } + leaf average { + type uint32 { + range "1..60"; + } + description + "Trigger averaged over N intervals."; + } + } + } + leaf criterion-delay-factor { + type empty; + description + "React criterion Delay factor of the policy-map action"; + } + leaf criterion-media-stop { + type empty; + description + "React criterion media stop of policy-map action."; + } + leaf criterion-mrv { + type empty; + description + "React criterion mrv of policy-map action."; + } + leaf criterion-flow-count { + type empty; + description + "React criterion flow count of policy-map action."; + } + leaf criterion-packet-rate { + type empty; + description + "React criterion packet rate of policy-map action."; + } + } + leaf http-redirect { + type string; + description + "Policy action http redirect. + Redirect to this url."; + } + leaf pbr-transmit { + type empty; + description + "Policy action PBR transmit."; + } + leaf drop { + type empty; + description + "Policy action drop."; + } + leaf decap-gre { + type empty; + description + "Policy action DECAP GRE."; + } + leaf decap-gue-v1 { + type empty; + description + "Policy action DECAP GRE."; + } + container pbr-redirect { + description + "Policy action redirect"; + container ipv4 { + description + "Policy action redirect IPv4"; + leaf ipv4-next-hop { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf vrf { + type vrf-name-length; + description + "IPv4 VRF."; + } + } + container ipv6 { + description + "Policy action redirect IPv6"; + leaf ipv6-next-hop { + type inet:ipv6-address-no-zone; + description + "IPv6 address."; + } + leaf vrf { + type vrf-name-length; + description + "IPv6 VRF."; + } + } + container next-hop { + description + "Next hop address."; + container route-target { + description + "Destination address of the route"; + container ipv4-address { + description + "IPv4 address."; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IPv4 netmask."; + } + } + leaf as-number { + type uint32 { + range "1..4294967295"; + } + description + "2-byte/4-byte AS number"; + } + leaf index { + type uint32 { + range "0..4294967295"; + } + description + "ASN2:index 2/4 byte (hex or decimal format)"; + } + } + } + } + container pbr-forward { + description + "Policy action PBR forward."; + leaf default { + type empty; + description + "Use system default routing table."; + } + container next-hop { + description + "Use specific next-hop. + Here we present 5 different combination + for the pbf next-hop. + 1. vrf with v6 address + 2. vrf with v4 address + 3. vrf + 4. v4 address + 5. v6 address"; + leaf vrf { + type vrf-name-length; + description + "VRF name."; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address."; + } + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 address."; + } + } + } + leaf service-fragment { + type string { + length "1..64"; + } + description + "Policy action service fragment. + Service fragment name"; + } + leaf fragment { + type string { + length "1..64"; + } + description + "Policy action fragment. Fragment name"; + } + container service-function-path { + presence + "This container is present for service- + function-path configuration"; + description + "Policy action service function path."; + leaf path-id { + type uint32 { + range "1..16777215"; + } + mandatory true; + description + "Service function path id."; + } + leaf index { + type uint8 { + range "1..255"; + } + mandatory true; + description + "Service function path index."; + } + leaf metadata { + type string; + description + "Service function path metadata name."; + } + } + container http-enrichment { + description + "HTTP Enrichment action"; + leaf subscribermac { + type empty; + description + "Subscriber Mac of the host"; + } + leaf subscriberip { + type empty; + description + "Subscriber IP"; + } + leaf hostname { + type empty; + description + "Name of the host"; + } + leaf bngidentifierinterface { + type empty; + description + "BNG Identifier Interface"; + } + } + } + leaf description { + type string; + description + "Description for this policy-map."; + } + } + + container policy-manager { + description + "Global Policy Manager configuration."; + container class-maps { + description + "Class-maps configuration."; + list class-map { + key "type name"; + description + "Class-map configuration."; + leaf type { + type Class-map-type; + description + "Type of class-map."; + } + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}"; + } + description + "Name of class-map."; + } + uses CLASS-MAP-RULE; + } + } + container policy-maps { + description + "Policy-maps configuration."; + list policy-map { + key "type name"; + description + "Policy-map configuration."; + leaf type { + type Policy-map-type; + description + "Type of policy-map."; + } + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}"; + } + description + "Name of policy-map."; + } + uses POLICY-MAP-RULE; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-oper.yang new file mode 100644 index 000000000..884ab1cdd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-policymgr-oper.yang @@ -0,0 +1,8582 @@ +module Cisco-IOS-XR-infra-policymgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-oper"; + prefix infra-policymgr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-policymgr package operational data. + + This module contains definitions + for the following management objects: + policy-manager: Policy-map operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-24 { + description + "IOS XR 7.3.1 revision."; + } + revision 2020-05-19 { + description + "IOS XR 7.3.1 revision."; + } + revision 2020-04-29 { + description + "IOS XR 7.3.1 revision."; + } + revision 2019-10-29 { + description + "IOS XR 7.2.1 revision."; + } + revision 2019-09-11 { + description + "IOS XR 7.1.1 revision."; + } + revision 2019-09-09 { + description + "IOS XR 7.1.1 revision."; + } + revision 2019-09-05 { + description + "IOS XR 7.1.1 revision."; + } + revision 2019-08-31 { + description + "IOS XR 7.1.1 revision."; + } + revision 2019-08-16 { + description + "IOS XR 7.1.1 revision."; + } + revision 2019-08-12 { + description + "IOS XR 7.1.1 revision."; + } + revision 2019-07-30 { + description + "IOS XR 7.1.1 revision."; + } + revision 2019-05-27 { + description + "IOS XR 7.0.1 revision."; + } + revision 2019-03-27 { + description + "IOS XR 7.0.1 revision."; + } + revision 2019-02-28 { + description + "IOS XR 7.0.1 revision."; + } + revision 2018-09-20 { + description + "IOS XR 7.1.1 revision."; + } + revision 2018-01-17 { + description + "IOS XR 6.4.1 revision."; + } + revision 2017-05-27 { + description + "IOS XR 6.3.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef afi-enum { + type enumeration { + enum "ipv4" { + value 1; + description + "Address family IPv4"; + } + enum "ipv6" { + value 2; + description + "Address family IPv6"; + } + } + } + + typedef Policymgr-policy-map { + type enumeration { + enum "qos" { + value 1; + description + "QoS Policymap"; + } + enum "pbr" { + value 2; + description + "PBR Policymap"; + } + enum "traffic" { + value 3; + description + "TRAFFIC Policymap"; + } + enum "subscriber-control" { + value 4; + description + "SUBSCONTROL Policymap"; + } + enum "accounting" { + value 5; + description + "ACCOUNTING Policymap"; + } + enum "redirect" { + value 6; + description + "REDIRECT Policy map"; + } + enum "flow-monitor" { + value 7; + description + "FlOWMONITOR Policy map"; + } + } + description + "Policymgr policy map"; + } + + typedef Policymgr-class-map { + type enumeration { + enum "qos" { + value 1; + description + "QoS Classmap"; + } + enum "pbr" { + value 2; + description + "PBR Classmap"; + } + enum "traffic" { + value 3; + description + "TRAFFIC Classmap"; + } + enum "subscriber-control" { + value 4; + description + "SUBSCONTROL Classmap"; + } + } + description + "Policymgr class map"; + } + + typedef Pclass-exec-strat-en { + type enumeration { + enum "pclass-exe-strat-unspecified" { + description + "Unspecified"; + } + enum "pclass-exe-strat-do-all" { + description + "Exec all actions"; + } + enum "pclass-exe-strat-do-until-success" { + description + "Exec until one of actions succeeds"; + } + enum "pclass-exe-strat-do-until-failure" { + description + "Exec until there is a failure"; + } + enum "pclass-exe-strat-max" { + description + "Invalid"; + } + } + description + "Policy class execution strategy"; + } + + typedef Match-available-id-en { + type enumeration { + enum "match-avail-ident-unspecified" { + value 0; + description + "match avail ident unspecified"; + } + enum "match-avail-ident-dnis" { + value 1; + description + "match avail ident dnis"; + } + enum "match-avail-ident-domain" { + value 2; + description + "match avail ident domain"; + } + enum "match-avail-ident-circuit-id" { + value 3; + description + "match avail ident circuit id"; + } + enum "match-avail-ident-remote-id" { + value 4; + description + "match avail ident remote id"; + } + enum "match-avail-ident-media" { + value 5; + description + "match avail ident media"; + } + enum "match-avail-ident-nas-port" { + value 6; + description + "match avail ident nas port"; + } + enum "match-avail-ident-protocol" { + value 7; + description + "match avail ident protocol"; + } + enum "match-avail-ident-source-address-ipv4" { + value 8; + description + "match avail ident source address ipv4"; + } + enum "match-avail-ident-source-address-ipv6" { + value 9; + description + "match avail ident source address ipv6"; + } + enum "match-avail-ident-source-address-mac" { + value 10; + description + "match avail ident source address mac"; + } + enum "match-avail-ident-tunnel-name" { + value 11; + description + "match avail ident tunnel name"; + } + enum "match-avail-ident-user-name" { + value 12; + description + "match avail ident user name"; + } + enum "match-avail-ident-vendor-id" { + value 13; + description + "match avail ident vendor id"; + } + enum "match-avail-ident-dhcp-client-id" { + value 14; + description + "match avail ident dhcp client id"; + } + enum "match-avail-ident-max" { + value 15; + description + "match avail ident max"; + } + } + description + "Match available id en"; + } + + typedef Afmon-alarm-type-en { + type enumeration { + enum "afmon-alm-type-invalid" { + value 0; + description + "afmon alm type invalid"; + } + enum "afmon-alm-discrete" { + value 1; + description + "afmon alm discrete"; + } + enum "afmon-alm-grp-cnt" { + value 2; + description + "afmon alm grp cnt"; + } + enum "afmon-alm-grp-pct" { + value 3; + description + "afmon alm grp pct"; + } + enum "afmon-alm-type-max" { + value 4; + description + "afmon alm type max"; + } + } + description + "Afmon alarm type en"; + } + + typedef Decode-identifier-en { + type enumeration { + enum "policy-decid-unspecified" { + value 0; + description + "policy decid unspecified"; + } + enum "policy-decid-remote-id" { + value 1; + description + "policy decid remote id"; + } + enum "policy-decid-circuit-id" { + value 2; + description + "policy decid circuit id"; + } + enum "policy-decid-user-name" { + value 3; + description + "policy decid user name"; + } + enum "policy-decid-max" { + value 4; + description + "policy decid max"; + } + } + description + "Decode identifier en"; + } + + typedef Class-map-name { + type string { + length "0..65"; + } + description + "Class map name"; + } + + typedef Policy-chk-sum { + type string { + length "0..16"; + } + description + "Policy chk sum"; + } + + typedef Policy-action-en { + type enumeration { + enum "policy-action-none" { + description + "Policy Action None"; + } + enum "policy-action-unspecified" { + description + "Policy Action is not specified"; + } + enum "policy-action-mark" { + description + "Policy Action Mark"; + } + enum "policy-action-mark2" { + description + "Policy Action Mark2"; + } + enum "policy-action-wred" { + description + "Policy Action WRED"; + } + enum "policy-action-encap-seq" { + description + "Policy action encap-sequence number"; + } + enum "policy-action-priority" { + description + "Policy Action Priority Queue"; + } + enum "policy-action-iphc" { + description + "Policy Action IP Header Compression"; + } + enum "policy-action-bw-remaining" { + description + "Policy Action Bandwidth Remaining Queue"; + } + enum "policy-action-min-bw" { + description + "Policy Action Minimum Bandwidth Queue"; + } + enum "policy-action-authenticate-aaa" { + description + "Policy Action authenticate"; + } + enum "policy-action-collect-id" { + description + "Policy Action collect identifier"; + } + enum "policy-action-disconnect" { + description + "Policy Action disconnect session"; + } + enum "policy-action-set-timer" { + description + "Policy Action set timer"; + } + enum "policy-action-stop-timer" { + description + "Policy Action stop timer"; + } + enum "policy-action-query-ancp" { + description + "Policy Action query ancp"; + } + enum "policy-action-accounting-aaa-list" { + description + "Policy Action accounting aaa"; + } + enum "policy-action-prepaid-config" { + description + "Policy Action prepaid config"; + } + enum "policy-action-timeout-idle" { + description + "Policy Action timeout idle"; + } + enum "policy-action-proxy-aaa" { + description + "Policy Action proxy aaa"; + } + enum "policy-action-template-activate" { + description + "Policy Action activate template"; + } + enum "policy-action-template-deactivate" { + description + "Policy Action deactivate template"; + } + enum "policy-action-decode-identifier" { + description + "Policy Action decode identifier"; + } + enum "policy-action-q-limit" { + description + "Policy Action Queue Limit"; + } + enum "policy-action-authorize-id" { + description + "Policy Action authorize idetifier"; + } + enum "policy-action-accounting-event-aaa-list" { + description + "Policy Action accounting event"; + } + enum "policy-action-afmon-react" { + description + "Policy Action React (afmon)"; + } + enum "policy-action-httpr" { + description + "Policy Action httpr (pbr)"; + } + enum "policy-action-pbr-transmit" { + description + "Policy Action pbr transmit"; + } + enum "policy-action-pbr-drop" { + description + "Policy Action pbr drop"; + } + enum "policy-action-punt" { + description + "Policy Action pbr punt"; + } + enum "policy-action-copy" { + description + "Policy Action pbr copy"; + } + enum "policy-action-sfrag" { + description + "Policy Action Service fragment"; + } + enum "policy-action-monitor" { + description + "Policy Action Monitor"; + } + enum "policy-action-redirect" { + description + "Policy Action redirect"; + } + enum "policy-action-ipv4-nh" { + description + "Policy Action ipv4 next hop"; + } + enum "policy-action-ipv6-nh" { + description + "Policy Action ipv6 next hop"; + } + enum "policy-action-vlan-pop" { + description + "Policy Action pop"; + } + enum "policy-action-pbr-next-hop" { + description + "Policy Action PBR Forward"; + } + enum "policy-action-decap-gre" { + description + "Policy Action decapsule GRE"; + } + enum "policy-action-output-interface" { + description + "Policy Action PBR redirect interface"; + } + enum "policy-action-service-function-path" { + description + "Policy Action PBR service chaining"; + } + enum "policy-action-http-enrich" { + description + "Policy Action FTTP Enrich"; + } + enum "policy-action-decap-gue-v1" { + description + "Policy Action decapsule GUE v1"; + } + enum "policy-action-ptrs" { + description + "Dummy action for internal use"; + } + enum "policy-action-police" { + description + "Policy Action Police"; + } + enum "policy-action-shape" { + description + "Policy Action Shape"; + } + enum "policy-action-serv-pol" { + description + "Policy Action Service Policy"; + } + enum "policy-action-cac" { + description + "Policy Action CAC"; + } + enum "policy-action-afmon-flow-parm" { + description + "Policy Action Flow params (afmon)"; + } + enum "policy-action-afmon-ipcbr-metric" { + description + "Policy Action IP-CBR Metric (afmon)"; + } + enum "policy-action-afmon-rtp-metric" { + description + "Policy Action RTP-Custom Metric (afmon)"; + } + enum "policy-action-afmon-rtp-mmr-metric" { + description + "Policy Action RTP-MMR Metric (afmon)"; + } + enum "policy-action-afmon-rtp-j2k-metric" { + description + "Policy Action RTP-J2K Metric (afmon)"; + } + enum "policy-action-afmon-rtp-voice-metric" { + description + "Policy Action RTP-Voice Metric (afmon)"; + } + enum "policy-action-afmon-mdi-metric" { + description + "Policy Action MDI Metric (afmon)"; + } + enum "policy-action-afmon-mdi-rtp-metric" { + description + "Policy Action MDI RTP Metric (afmon)"; + } + enum "policy-action-afmon-fmm" { + description + "Policy Action flow monitor (afmon)"; + } + enum "policy-action-pfc" { + description + "Policy Action PFC"; + } + enum "policy-action-max" { + description + "Policy Action Max (Invalid)"; + } + } + description + "Policy Actions Enumeration"; + } + + typedef Cac-flow-actn-type-e { + type uint8; + description + "Cac flow actn type e"; + } + + typedef Authorize-id-en { + type enumeration { + enum "policy-authorize-ident-unspecified" { + value 0; + description + "policy authorize ident unspecified"; + } + enum "policy-authorize-ident-dnis" { + value 1; + description + "policy authorize ident dnis"; + } + enum "policy-authorize-ident-domain" { + value 2; + description + "policy authorize ident domain"; + } + enum "policy-authorize-ident-user-name" { + value 3; + description + "policy authorize ident user name"; + } + enum "policy-authorize-ident-nas-port" { + value 4; + description + "policy authorize ident nas port"; + } + enum "policy-authorize-ident-source-address-ipv4" { + value 5; + description + "policy authorize ident source address ipv4"; + } + enum "policy-authorize-ident-source-address-ipv6" { + value 6; + description + "policy authorize ident source address ipv6"; + } + enum "policy-authorize-ident-source-address-mac" { + value 7; + description + "policy authorize ident source address mac"; + } + enum "policy-authorize-ident-auto-detect" { + value 8; + description + "policy authorize ident auto detect"; + } + enum "policy-authorize-ident-tunnel-name" { + value 9; + description + "policy authorize ident tunnel name"; + } + enum "policy-authorize-ident-dhcp-client-id" { + value 10; + description + "policy authorize ident dhcp client id"; + } + enum "policy-authorize-ident-circuit-id" { + value 11; + description + "policy authorize ident circuit id"; + } + enum "policy-authorize-ident-remote-id" { + value 12; + description + "policy authorize ident remote id"; + } + enum "policy-authorize-ident-vendor-id" { + value 13; + description + "policy authorize ident vendor id"; + } + enum "policy-authorize-ident-service-name" { + value 14; + description + "policy authorize ident service name"; + } + enum "policy-authorize-ident-max" { + value 15; + description + "policy authorize ident max"; + } + } + description + "Authorize id en"; + } + + typedef Afmon-ipcbr-parm-type-en { + type enumeration { + enum "afmon-ipcbr-parm-invalid" { + value 0; + description + "afmon ipcbr parm invalid"; + } + enum "afmon-ipcbr-parm-ip-pkt-rate" { + value 1; + description + "afmon ipcbr parm ip pkt rate"; + } + enum "afmon-ipcbr-parm-ip-bit-rate" { + value 2; + description + "afmon ipcbr parm ip bit rate"; + } + enum "afmon-ipcbr-parm-media-bit-rate" { + value 3; + description + "afmon ipcbr parm media bit rate"; + } + enum "afmon-ipcbr-parm-media-pkt-size" { + value 4; + description + "afmon ipcbr parm media pkt size"; + } + enum "afmon-ipcbr-parm-media-pkts-per-ip" { + value 5; + description + "afmon ipcbr parm media pkts per ip"; + } + enum "afmon-ipcbr-parm-max" { + value 6; + description + "afmon ipcbr parm max"; + } + } + description + "Afmon ipcbr parm type en"; + } + + typedef Match-media-type-en { + type enumeration { + enum "match-media-type-unspecified" { + value 0; + description + "match media type unspecified"; + } + enum "match-media-type-async" { + value 1; + description + "match media type async"; + } + enum "match-media-type-atm" { + value 2; + description + "match media type atm"; + } + enum "match-media-type-ether" { + value 3; + description + "match media type ether"; + } + enum "match-media-type-ip" { + value 4; + description + "match media type ip"; + } + enum "match-media-type-isdn" { + value 5; + description + "match media type isdn"; + } + enum "match-media-type-mpls" { + value 6; + description + "match media type mpls"; + } + enum "match-media-type-sync" { + value 7; + description + "match media type sync"; + } + enum "match-media-type-max" { + value 8; + description + "match media type max"; + } + } + description + "Match media type en"; + } + + typedef Plmgr-appln-type-en { + type enumeration { + enum "qos" { + value 1; + description + "Application type QOS"; + } + enum "pbr" { + value 2; + description + "Application type PBR"; + } + enum "subscriber-control" { + value 3; + description + "Application type subscriber control"; + } + enum "accounting" { + value 4; + description + "Application type accounting"; + } + enum "traffic" { + value 5; + description + "Application type traffic"; + } + enum "performance-traffic" { + value 6; + description + "Application type performance traffic"; + } + } + description + "Different Application types"; + } + + typedef Policy-route-target-en { + type enumeration { + enum "policy-rt-type-none" { + value 0; + description + "policy rt type none"; + } + enum "policy-rt-type-asn2" { + value 1; + description + "policy rt type asn2"; + } + enum "policy-rt-type-ipv4" { + value 2; + description + "policy rt type ipv4"; + } + enum "policy-rt-type-asn4" { + value 3; + description + "policy rt type asn4"; + } + enum "policy-rt-type-max" { + value 4; + description + "policy rt type max"; + } + } + description + "Policy route target en"; + } + + typedef Identifier-en { + type enumeration { + enum "policy-ident-unspecified" { + value 0; + description + "policy ident unspecified"; + } + enum "policy-ident-authen-status" { + value 1; + description + "policy ident authen status"; + } + enum "policy-ident-dnis" { + value 2; + description + "policy ident dnis"; + } + enum "policy-ident-media" { + value 3; + description + "policy ident media"; + } + enum "policy-ident-mlp-negotiated" { + value 4; + description + "policy ident mlp negotiated"; + } + enum "policy-ident-nas-port" { + value 5; + description + "policy ident nas port"; + } + enum "policy-ident-no-user-name" { + value 6; + description + "policy ident no user name"; + } + enum "policy-ident-protocol" { + value 7; + description + "policy ident protocol"; + } + enum "policy-ident-service-name" { + value 8; + description + "policy ident service name"; + } + enum "policy-ident-source-address-ipv4" { + value 9; + description + "policy ident source address ipv4"; + } + enum "policy-ident-source-address-ipv6" { + value 10; + description + "policy ident source address ipv6"; + } + enum "policy-ident-source-address-mac" { + value 11; + description + "policy ident source address mac"; + } + enum "policy-ident-timer" { + value 12; + description + "policy ident timer"; + } + enum "policy-ident-tunnel-name" { + value 13; + description + "policy ident tunnel name"; + } + enum "policy-ident-auth-domain" { + value 14; + description + "policy ident auth domain"; + } + enum "policy-ident-auth-user-name" { + value 15; + description + "policy ident auth user name"; + } + enum "policy-ident-unauth-domain" { + value 16; + description + "policy ident unauth domain"; + } + enum "policy-ident-unauth-user-name" { + value 17; + description + "policy ident unauth user name"; + } + enum "policy-ident-max" { + value 18; + description + "policy ident max"; + } + } + description + "Identifier en"; + } + + typedef Mark-type-en { + type enumeration { + enum "mark-type-none" { + value 0; + description + "Mark None"; + } + enum "mark-type-dscp" { + value 1; + description + "Mark DSCP"; + } + enum "mark-type-prec" { + value 2; + description + "Mark Precedence"; + } + enum "mark-type-mpls-exp-topmost" { + value 3; + description + "Mark MPLS EXP on topmost header"; + } + enum "mark-type-mpls-exp-imposition" { + value 4; + description + "Mark MPLS EXP on imposition header"; + } + enum "mark-type-qos-group" { + value 5; + description + "Mark QoS Group"; + } + enum "mark-type-discard-class" { + value 6; + description + "Mark Discard Class"; + } + enum "mark-type-cos" { + value 7; + description + "Mark CoS"; + } + enum "mark-type-cos-inner" { + value 8; + description + "Mark COS Inner"; + } + enum "mark-type-srp-priority" { + value 9; + description + "Mark Priority"; + } + enum "mark-type-atm-clp" { + value 10; + description + "Mark ATM CLP"; + } + enum "mark-type-fr-de" { + value 11; + description + "Mark FR DE"; + } + enum "mark-type-dscp-tunnel" { + value 12; + description + "Mark DSCP in Tunnel Header"; + } + enum "mark-type-prec-tunnel" { + value 13; + description + "Mark Precedence in Tunnel Header"; + } + enum "mark-type-dei" { + value 14; + description + "Mark DEI"; + } + enum "mark-type-dei-imposition" { + value 15; + description + "Mark DEI on imposition header"; + } + enum "mark-type-forward-class" { + value 16; + description + "Mark forward class"; + } + enum "mark-type-df" { + value 17; + description + "Mark DF bit"; + } + enum "mark-type-traffic-class" { + value 18; + description + "Mark Traffic Class"; + } + enum "mark-type-src-mac" { + value 19; + description + "Mark source mac"; + } + enum "mark-type-dst-mac" { + value 20; + description + "Mark destination mac"; + } + enum "mark-type-ipv4-src-addr" { + value 21; + description + "Mark ipv4 source address"; + } + enum "mark-type-ipv4-dst-addr" { + value 22; + description + "Mark ipv4 destination address"; + } + enum "mark-type-vlan-id" { + value 23; + description + "Mark vlan id"; + } + enum "mark-type-udp-src-port" { + value 24; + description + "Mark type udp source port"; + } + enum "mark-type-udp-dst-port" { + value 25; + description + "Mark type udp destination port"; + } + enum "mark-type-tcp-src-port" { + value 26; + description + "Mark type tcp source port"; + } + enum "mark-type-tcp-dst-port" { + value 27; + description + "Mark type tcp destination port"; + } + enum "mark-type-sctp-src-port" { + value 28; + description + "Mark type sctp source port"; + } + enum "mark-type-sctp-dst-port" { + value 29; + description + "Mark type sctp destination port"; + } + enum "mark-type-max" { + value 30; + description + "Mark Type Max (Invalid)"; + } + } + description + "Mark Type Enumeration"; + } + + typedef Qlimit-type-en { + type enumeration { + enum "qlimit-cmd" { + value 0; + description + "Queue Limit"; + } + enum "qlimit-discard-class" { + value 1; + description + "Queue Limit based on Discard Class"; + } + enum "qlimit-qos-group" { + value 2; + description + "Queue Limit based on Qos Group"; + } + enum "qlimit-precedence" { + value 3; + description + "Queue Limit based on Precedence"; + } + enum "qlimit-mpls-exp" { + value 4; + description + "Queue Limit based on Mpls Exp"; + } + enum "qlimit-dscp" { + value 5; + description + "Queue Limit based on Dscp"; + } + enum "qlimit-max" { + value 6; + description + "Queue Limit Max (Invalid)"; + } + } + description + "Queue Limit Types"; + } + + typedef Afmon-react-criterion-en { + type enumeration { + enum "afmon-react-crit-invalid" { + value 0; + description + "afmon react crit invalid"; + } + enum "afmon-react-mrv" { + value 1; + description + "afmon react mrv"; + } + enum "afmon-react-df" { + value 2; + description + "afmon react df"; + } + enum "afmon-react-mse" { + value 3; + description + "afmon react mse"; + } + enum "afmon-react-pkt-rate" { + value 4; + description + "afmon react pkt rate"; + } + enum "afmon-react-flow-cnt" { + value 5; + description + "afmon react flow cnt"; + } + enum "afmon-react-rtp-loss-fraction" { + value 6; + description + "afmon react rtp loss fraction"; + } + enum "afmon-react-rtp-jitter" { + value 7; + description + "afmon react rtp jitter"; + } + enum "afmon-react-rtp-max-jitter" { + value 8; + description + "afmon react rtp max jitter"; + } + enum "afmon-react-rtp-out-of-order" { + value 9; + description + "afmon react rtp out of order"; + } + enum "afmon-react-rtp-loss-pkts" { + value 10; + description + "afmon react rtp loss pkts"; + } + enum "afmon-react-rtp-ta" { + value 11; + description + "afmon react rtp ta"; + } + enum "afmon-react-rtp-es" { + value 12; + description + "afmon react rtp es"; + } + enum "afmon-react-mdi-mlr" { + value 13; + description + "afmon react mdi mlr"; + } + enum "afmon-react-mdi-mdc" { + value 14; + description + "afmon react mdi mdc"; + } + enum "afmon-react-mdi-jitter" { + value 15; + description + "afmon react mdi jitter"; + } + enum "afmon-react-mdi-loss-pkts" { + value 16; + description + "afmon react mdi loss pkts"; + } + enum "afmon-react-mdi-ta" { + value 17; + description + "afmon react mdi ta"; + } + enum "afmon-react-mdi-es" { + value 18; + description + "afmon react mdi es"; + } + enum "afmon-react-crit-max" { + value 19; + description + "afmon react crit max"; + } + } + description + "Afmon react criterion en"; + } + + typedef Pfc-pause-type { + type enumeration { + enum "pfc-buffer-size-defined" { + description + "pfc buffer size defined"; + } + enum "pfc-pause-threshold-defined" { + description + "pfc pause threshold defined"; + } + enum "pfc-resume-threshold-defined" { + description + "pfc resume threshold defined"; + } + enum "pfc-buffer-size-value" { + description + "pfc buffer size value"; + } + enum "pfc-pause-threshold-value" { + description + "pfc pause threshold value"; + } + enum "pfc-resume-threshold-value" { + description + "pfc resume threshold value"; + } + } + description + "Pfc pause type"; + } + + typedef Police-actn-category-en { + type enumeration { + enum "police-actn-category-conform" { + value 0; + description + "Conform action"; + } + enum "police-actn-category-exceed" { + value 1; + description + "Exceed action"; + } + enum "police-actn-category-violate" { + value 2; + description + "Violate action"; + } + enum "police-actn-category-max" { + value 3; + description + "Maximum police action categories"; + } + } + description + "Police Action Categories"; + } + + typedef Redirect-type-e { + type uint8; + description + "Redirect type e"; + } + + typedef Match-nas-port-sub-id-en { + type enumeration { + enum "match-nas-port-sub-id-unspecified" { + value 0; + description + "match nas port sub id unspecified"; + } + enum "match-nas-port-sub-id-adapter" { + value 1; + description + "match nas port sub id adapter"; + } + enum "match-nas-port-sub-id-channel" { + value 2; + description + "match nas port sub id channel"; + } + enum "match-nas-port-sub-id-ip-addr" { + value 3; + description + "match nas port sub id ip addr"; + } + enum "match-nas-port-sub-id-port" { + value 4; + description + "match nas port sub id port"; + } + enum "match-nas-port-sub-id-shelf" { + value 5; + description + "match nas port sub id shelf"; + } + enum "match-nas-port-sub-id-slot" { + value 6; + description + "match nas port sub id slot"; + } + enum "match-nas-port-sub-id-sub-interface" { + value 7; + description + "match nas port sub id sub interface"; + } + enum "match-nas-port-sub-id-type" { + value 8; + description + "match nas port sub id type"; + } + enum "match-nas-port-sub-id-vci" { + value 9; + description + "match nas port sub id vci"; + } + enum "match-nas-port-sub-id-vlan" { + value 10; + description + "match nas port sub id vlan"; + } + enum "match-nas-port-sub-id-vpi" { + value 11; + description + "match nas port sub id vpi"; + } + enum "match-nas-port-sub-id-max" { + value 12; + description + "match nas port sub id max"; + } + } + description + "Match nas port sub id en"; + } + + typedef Mark-type-e { + type uint8; + description + "Mark type e"; + } + + typedef Object-name { + type string { + length "0..65"; + } + description + "Object name"; + } + + typedef Cac-flow-actn-type-en { + type enumeration { + enum "cac-flow-actn-type-local" { + value 0; + description + "CAC flow local"; + } + enum "cac-flow-actn-type-max" { + value 1; + description + "Max CAC flow types"; + } + } + description + "CAC flow types"; + } + + typedef Policy-map-table-type-e { + type uint8; + description + "Policy map table type e"; + } + + typedef Enum-val-t { + type uint16; + description + "Enum val t"; + } + + typedef Afmon-react-actn-en { + type enumeration { + enum "afmon-react-actn-none" { + value 0; + description + "afmon react actn none"; + } + enum "afmon-react-syslog" { + value 1; + description + "afmon react syslog"; + } + enum "afmon-react-snmp" { + value 2; + description + "afmon react snmp"; + } + enum "afmon-react-clone" { + value 3; + description + "afmon react clone"; + } + } + description + "Afmon react actn en"; + } + + typedef Pevent-cond-eval-en { + type enumeration { + enum "pevent-cond-eval-unspecified" { + description + "Unspecified execution strategy"; + } + enum "pevent-cond-eval-match-first" { + description + "Match-first execution strategy"; + } + enum "pevent-cond-eval-match-all" { + description + "Match-all execution strategy"; + } + enum "pevent-cond-eval-max" { + description + "Internal use only"; + } + } + description + "Policy event execution strategy enumeration"; + } + + typedef Dpss-snid-type-en { + type enumeration { + enum "dpss-snid-invalid" { + value 0; + description + "dpss snid invalid"; + } + enum "dpss-snid-index" { + value 1; + description + "dpss snid index"; + } + enum "dpss-snid-name" { + value 2; + description + "dpss snid name"; + } + enum "dpss-snid-type-max" { + value 3; + description + "dpss snid type max"; + } + } + description + "Dpss snid type en"; + } + + typedef Pclass-data-avl-inbag { + type uint64; + description + "Pclass data avl inbag"; + } + + typedef Match-type-en { + type enumeration { + enum "match-type-none" { + description + "Match Type None"; + } + enum "match-type-ipv4-dscp" { + description + "Match Type IPv4 DSCP"; + } + enum "match-type-ipv4-prec" { + description + "Match Type IPv4 Precedence"; + } + enum "match-type-ipv6-dscp" { + description + "Match Type IPv6 DSCP"; + } + enum "match-type-packet-length" { + description + "Match Type Packet length"; + } + enum "match-type-ipv4-packet-length" { + description + "Match Type IPv4 Packet length"; + } + enum "match-type-ipv6-packet-length" { + description + "Match Type IPv6 Packet length"; + } + enum "match-type-flow-tag" { + description + "Match Type Flow Tag"; + } + enum "match-type-icmpv4-type" { + description + "Match Type IPv4 icmp-type"; + } + enum "match-type-icmpv4-code" { + description + "Match Type IPv4 icmp-code"; + } + enum "match-type-icmpv6-type" { + description + "Match Type IPv6 icmp-type"; + } + enum "match-type-icmpv6-code" { + description + "Match Type IPv6 icmp-code"; + } + enum "match-type-ipv6-prec" { + description + "Match Type IPv6 Precedence"; + } + enum "match-type-fragment-type" { + description + "Match type fragment-type"; + } + enum "match-type-tcp-flag" { + description + "Match type TCP flag"; + } + enum "match-type-dscp" { + description + "Match Type DSCP"; + } + enum "match-type-prec" { + description + "Match Type Precedence"; + } + enum "match-type-proto" { + description + "Match Type Protocol"; + } + enum "match-type-proto-icmpv4" { + description + "Match Type protocol ICMPv4"; + } + enum "match-type-proto-icmpv6" { + description + "Match Type protocol ICMPv6"; + } + enum "match-type-mpls-exp-top" { + description + "Match Type MPLS EXP Topmost"; + } + enum "match-type-mpls-exp-imp" { + description + "Match Type MPLS EXP Imposition"; + } + enum "match-type-mpls-disp-ipv4-acl" { + description + "Match Type MPLS DISP IPv4 ACL"; + } + enum "match-type-mpls-disp-ipv6-acl" { + description + "Match Type MPLS DISP IPv6 ACL"; + } + enum "match-type-mpls-disp-cl-map" { + description + "Match Type MPLS DISP Class Map"; + } + enum "match-type-mpls-topmost-eos" { + description + "Match Type MPLS TOPMOST EOS"; + } + enum "match-type-mpls-topmost-label" { + description + "Match Type MPLS TOPMOST LABEL"; + } + enum "match-type-cos" { + description + "Match Type COS"; + } + enum "match-type-cos-inner" { + description + "Match Type inner COS"; + } + enum "match-type-dei" { + description + "Match Type DEI"; + } + enum "match-type-dei-inner" { + description + "Match Type inner DEI"; + } + enum "match-type-vlan" { + description + "Match Type VLAN"; + } + enum "match-type-vlan-inner" { + description + "Match Type inner VLAN"; + } + enum "match-type-fr-dlci" { + description + "Match Type FR DLCI"; + } + enum "match-type-src-mac" { + description + "Match Type Source MAC Address"; + } + enum "match-type-dst-mac" { + description + "Match Type Destination MAC Address"; + } + enum "match-type-atm-oam" { + description + "Match Type ATM OAM"; + } + enum "match-type-atm-clp" { + description + "Match Type ATM CLP"; + } + enum "match-type-fr-de" { + description + "Match Type FR DE"; + } + enum "match-type-qos-grp" { + description + "Match Type QoS Group"; + } + enum "match-type-traffic-class" { + description + "Match Type Traffic Class"; + } + enum "match-type-disc-cls" { + description + "Match Type Discard Class"; + } + enum "match-type-vpls-known" { + description + "Match Type VPLS Known"; + } + enum "match-type-vpls-unknown" { + description + "Match Type VPLS Unknown"; + } + enum "match-type-vpls-mcast" { + description + "Match Type VPLS Multicast"; + } + enum "match-type-vpls-bcast" { + description + "Match Type VPLS Broadcast"; + } + enum "match-type-vpls-control" { + description + "Match Type VPLS Control"; + } + enum "match-type-ipv4-acl" { + description + "Match Type IPv4 ACL"; + } + enum "match-type-ipv6-acl" { + description + "Match Type IPv6 ACL"; + } + enum "match-type-flow-key" { + description + "Match Type Flow Key"; + } + enum "match-type-avail-id" { + description + "Match Type Available Identifier"; + } + enum "match-type-authen-status" { + description + "Match Type Authentication Status"; + } + enum "match-type-media" { + description + "Match Type Media"; + } + enum "match-type-mlp-negotiated" { + description + "Match Type MLP Negotiated"; + } + enum "match-type-subs-protocol" { + description + "Match Type Protocol"; + } + enum "match-type-dnis" { + description + "Match Type DNIS"; + } + enum "match-type-dnis-regexp" { + description + "Match Type DNIS Regular Exp"; + } + enum "match-type-domain" { + description + "Match Type Domain"; + } + enum "match-type-domain-regexp" { + description + "Match Type Domain Regular Exp"; + } + enum "match-type-nas-port" { + description + "Match Type NAS Port"; + } + enum "match-type-service-name" { + description + "Match Type Service Name"; + } + enum "match-type-service-name-regexp" { + description + "Match Type Service Name Regular Exp"; + } + enum "match-type-src-addr-ipv4" { + description + "Match Type Source Address IPV4"; + } + enum "match-type-dst-addr-ipv4" { + description + "Match Type Source Address IPV4"; + } + enum "match-type-src-addr-ipv6" { + description + "Match Type Source Address IPV6"; + } + enum "match-type-dst-addr-ipv6" { + description + "Match Type Source Address IPV6"; + } + enum "match-type-src-addr-mac" { + description + "Match Type Source Address Mac"; + } + enum "match-type-src-port" { + description + "Match Type Source Port"; + } + enum "match-type-dst-port" { + description + "Match Type Source Port"; + } + enum "match-type-timer" { + description + "Match Type Timer"; + } + enum "match-type-timer-regexp" { + description + "Match Type Timer Regular Exp"; + } + enum "match-type-tunnel-name" { + description + "Match Type Tunnel Name"; + } + enum "match-type-tunnel-name-regexp" { + description + "Match Type Tunnel Name Regular Exp"; + } + enum "match-type-user-name" { + description + "Match Type User Name"; + } + enum "match-type-user-name-regexp" { + description + "Match Type User Name Regular Exp"; + } + enum "match-type-auth-user-name" { + description + "Match Type Authenticated User Name"; + } + enum "match-type-auth-user-name-regexp" { + description + "Match Type Authenticated Userame Reg Exp"; + } + enum "match-type-unauth-user-name" { + description + "Match Type Unauthenticated Username"; + } + enum "match-type-unauth-user-name-regexp" { + description + "Match Type Unauthenicated Username RegEx"; + } + enum "match-type-no-user-name" { + description + "Match Type No Username"; + } + enum "match-type-auth-domain" { + description + "Match Type Authenticated Domain"; + } + enum "match-type-auth-domain-regexp" { + description + "Match Type Authenticated Domain RegEx"; + } + enum "match-type-unauth-domain" { + description + "Match Type Unauthenticated Domain"; + } + enum "match-type-unauth-domain-regexp" { + description + "Match Type Unauthenticated Domain RegEx"; + } + enum "match-type-vendor-id" { + description + "Match Type Vendor ID"; + } + enum "match-type-vendor-id-regexp" { + description + "Match Type Vendor ID RegEx"; + } + enum "match-type-access-interface" { + description + "Match Type Access Interface"; + } + enum "match-type-input-interface" { + description + "Match Type Input Interface"; + } + enum "match-type-input-interface-hdl" { + description + "Match Type Input Interface handle"; + } + enum "match-type-ether-type" { + description + "Match Type Ethernet Type"; + } + enum "match-type-dhcp-client-id" { + description + "Match DHCP Client ID"; + } + enum "match-type-dhcp-client-id-regexp" { + description + "Match DHCP Client ID RegEx"; + } + enum "match-type-circuit-id" { + description + "Match Type Circuit ID"; + } + enum "match-type-circuit-id-regexp" { + description + "Match Type Circuit ID RegEx"; + } + enum "match-type-remote-id" { + description + "Match Type Remote ID"; + } + enum "match-type-remote-id-regexp" { + description + "Match Type Remote ID RegEx"; + } + enum "match-type-cac-admit-local" { + description + "Match Type CAC admitted"; + } + enum "match-type-cac-unadmit-local" { + description + "Match Type CAC unadmitted"; + } + enum "match-type-any-internal" { + description + "Match Type Any (Used only for class-default)"; + } + enum "match-type-ethernet-service-s-acl" { + description + "Match Type Ethernet-Services ACL"; + } + enum "match-type-ptrs" { + description + "Dummy match type for internal use"; + } + enum "match-type-max" { + description + "Match Type Max (Invalid)"; + } + } + description + "Match Type"; + } + + typedef Flow-key-en { + type enumeration { + enum "flow-key-invalid" { + value 0; + description + "Flow key invalid"; + } + enum "flow-key-src-ip" { + value 1; + description + "Flow key source ip"; + } + enum "flow-key-dst-ip" { + value 2; + description + "Flow key destination ip"; + } + enum "flow-key-five-tuple" { + value 3; + description + "Flow key five tuple"; + } + enum "flow-key-max" { + value 4; + description + "Flow key max"; + } + } + description + "Flow key en"; + } + + typedef Match-attr-e { + type enumeration { + enum "value" { + value 0; + description + "Match attribute value"; + } + enum "range" { + value 1; + description + "Match attribute range"; + } + enum "mask" { + value 2; + description + "Match attribute mask"; + } + } + description + "Match attribute type"; + } + + typedef Afmon-alarm-sev-en { + type enumeration { + enum "afmon-alm-none" { + value 0; + description + "afmon alm none"; + } + enum "afmon-alm-info" { + value 1; + description + "afmon alm info"; + } + enum "afmon-alm-notif" { + value 2; + description + "afmon alm notif"; + } + enum "afmon-alm-warn" { + value 3; + description + "afmon alm warn"; + } + enum "afmon-alm-error" { + value 4; + description + "afmon alm error"; + } + enum "afmon-alm-crit" { + value 5; + description + "afmon alm crit"; + } + enum "afmon-alm-alert" { + value 6; + description + "afmon alm alert"; + } + enum "afmon-alm-emerg" { + value 7; + description + "afmon alm emerg"; + } + enum "afmon-alm-sev-max" { + value 8; + description + "afmon alm sev max"; + } + } + description + "AFMon Alarm Severities"; + } + + typedef Acct-en { + type enumeration { + enum "policy-acct-evt-unspecified" { + value 0; + description + "policy acct evt unspecified"; + } + enum "policy-acct-evt-start" { + value 1; + description + "policy acct evt start"; + } + enum "policy-acct-evt-stop" { + value 2; + description + "policy acct evt stop"; + } + enum "policy-acct-evt-update" { + value 3; + description + "policy acct evt update"; + } + } + description + "Acct en"; + } + + typedef Match-logical-operator-en { + type enumeration { + enum "match-operator-unspecified" { + value 0; + description + "match operator unspecified"; + } + enum "match-equal-to" { + value 1; + description + "match equal to"; + } + enum "match-greater-than" { + value 2; + description + "match greater than"; + } + enum "match-greater-than-or-equal" { + value 3; + description + "match greater than or equal"; + } + enum "match-less-than" { + value 4; + description + "match less than"; + } + enum "match-less-than-or-equal" { + value 5; + description + "match less than or equal"; + } + enum "match-operator-max" { + value 6; + description + "match operator max"; + } + } + description + "Logical Operators"; + } + + typedef Pclass-diff-inbag { + type uint64; + description + "Pclass diff inbag"; + } + + typedef Shared-bucket-name { + type string { + length "0..65"; + } + description + "Shared bucket name"; + } + + typedef Policy-param-unit-type { + type enumeration { + enum "policy-param-unit-invalid" { + description + "policy param unit invalid"; + } + enum "policy-param-unit-bytes" { + description + "policy param unit bytes"; + } + enum "policy-param-unit-kbytes" { + description + "policy param unit kbytes"; + } + enum "policy-param-unit-mbytes" { + description + "policy param unit mbytes"; + } + enum "policy-param-unit-gbytes" { + description + "policy param unit gbytes"; + } + enum "policy-param-unit-bitsps" { + description + "policy param unit bitsps"; + } + enum "policy-param-unit-kbitsps" { + description + "policy param unit kbitsps"; + } + enum "policy-param-unit-mbitsps" { + description + "policy param unit mbitsps"; + } + enum "policy-param-unit-gbitsps" { + description + "policy param unit gbitsps"; + } + enum "policy-param-unit-cells-ps" { + description + "policy param unit cells ps"; + } + enum "policy-param-unit-packets-ps" { + description + "policy param unit packets ps"; + } + enum "policy-param-unit-us" { + description + "policy param unit us"; + } + enum "policy-param-unit-ms" { + description + "policy param unit ms"; + } + enum "policy-param-unit-seconds" { + description + "policy param unit seconds"; + } + enum "policy-param-unit-packets" { + description + "policy param unit packets"; + } + enum "policy-param-unit-cells" { + description + "policy param unit cells"; + } + enum "policy-param-unit-percent" { + description + "policy param unit percent"; + } + enum "policy-param-unit-per-thousand" { + description + "policy param unit per thousand"; + } + enum "policy-param-unit-per-million" { + description + "policy param unit per million"; + } + enum "policy-param-unit-hz" { + description + "policy param unit hz"; + } + enum "policy-param-unit-khz" { + description + "policy param unit khz"; + } + enum "policy-param-unit-mhz" { + description + "policy param unit mhz"; + } + enum "policy-param-unit-ratio" { + description + "policy param unit ratio"; + } + enum "policy-param-unit-max" { + description + "policy param unit max"; + } + } + description + "Policy param unit type"; + } + + typedef Pevent-type-en { + type enumeration { + enum "pevent-type-unspecified" { + description + "Unspecified event"; + } + enum "pevent-type-acct-logon" { + description + "Log on event"; + } + enum "pevent-type-acct-logoff" { + description + "Log off event"; + } + enum "pevent-type-credit-exhausted" { + description + "Credit exhausted event"; + } + enum "pevent-type-idle-timeout" { + description + "Idle timeout event"; + } + enum "pevent-type-absolute-timeout" { + description + "Absolute timeout event"; + } + enum "pevent-type-quota-depleted" { + description + "Quota depletion event"; + } + enum "pevent-type-service-start" { + description + "Service start event"; + } + enum "pevent-type-service-stop" { + description + "Service stop event"; + } + enum "pevent-type-session-start" { + description + "Session start event"; + } + enum "pevent-type-session-activate" { + description + "Session activate event"; + } + enum "pevent-type-session-restart" { + description + "Session restart event"; + } + enum "pevent-type-session-stop" { + description + "Session stop event"; + } + enum "pevent-type-session-disconnect" { + description + "Session disconnect event"; + } + enum "pevent-type-session-update" { + description + "Session update event"; + } + enum "pevent-type-flow-start" { + description + "Flow start event"; + } + enum "pevent-type-flow-stop" { + description + "Flow stop event"; + } + enum "pevent-type-accouting-start" { + description + "Accounting start event"; + } + enum "pevent-type-acountng-g-stop" { + description + "Accounting stop event"; + } + enum "pevent-type-acountng-g-update" { + description + "Accounting update event"; + } + enum "pevent-type-timer-expiry" { + description + "Timer expierd event"; + } + enum "pevent-type-threshold-reached" { + description + "Threshold reached event"; + } + enum "pevent-type-ka-success" { + description + "Keep alive success event"; + } + enum "pevent-type-ka-failure" { + description + "Keep alive failure event"; + } + enum "pevent-type-link-up" { + description + "Link up event"; + } + enum "pevent-type-link-down" { + description + "Link down event"; + } + enum "pevent-type-authorization-failure" { + description + "Authorization failure event"; + } + enum "pevent-type-authorization-no-response" { + description + "Authorization no response event"; + } + enum "pevent-type-authentication-failure" { + description + "Authentication failure event"; + } + enum "pevent-type-authentication-no-response" { + description + "Authentication no response event"; + } + enum "pevent-type-exception" { + description + "Exception event"; + } + enum "pevent-type-session-ident-chg" { + description + "Session identity change event"; + } + enum "pevent-type-max" { + description + "Internal use only"; + } + } + description + "Policy event enumeration"; + } + + typedef Afmon-react-parm-type-en { + type enumeration { + enum "afmon-react-parm-invalid" { + value 0; + description + "invalid"; + } + enum "afmon-react-parm-oper-id" { + value 1; + description + "Operation ID"; + } + enum "afmon-react-parm-crit-erion" { + value 2; + description + "Criterion"; + } + enum "afmon-react-parm-desc" { + value 3; + description + "Description"; + } + enum "afmon-react-parm-trig-value" { + value 4; + description + "Trigger value"; + } + enum "afmon-react-parm-trig-type" { + value 5; + description + "Trigger Type"; + } + enum "afmon-react-parm-action" { + value 6; + description + "Action"; + } + enum "afmon-react-parm-alm-type" { + value 7; + description + "Alarm type"; + } + enum "afmon-react-parm-alm-severity" { + value 8; + description + "Alarm Severity"; + } + enum "afmon-react-parm-max" { + value 9; + description + "Maximum react parm type"; + } + } + description + "(afmon) React submode param types"; + } + + typedef Plmgr-var-type-en { + type enumeration { + enum "plmgr-var-type-class-name" { + description + "plmgr var type class name"; + } + enum "plmgr-var-type-uint8" { + description + "plmgr var type uint8"; + } + enum "plmgr-var-type-uint16" { + description + "plmgr var type uint16"; + } + enum "plmgr-var-type-uint32" { + description + "plmgr var type uint32"; + } + enum "plmgr-var-type-param-uint32" { + description + "plmgr var type param uint32"; + } + enum "plmgr-var-type-dscp" { + description + "plmgr var type dscp"; + } + enum "plmgr-var-type-prec" { + description + "plmgr var type prec"; + } + enum "plmgr-var-type-max" { + description + "plmgr var type max"; + } + } + description + "Type of default variable values"; + } + + typedef Policy-map-name { + type string { + length "0..65"; + } + description + "Policy map name"; + } + + typedef Policy-action-attr-en { + type enumeration { + enum "action-attribute" { + value 1; + description + "action attribute"; + } + enum "sub-action-attribute" { + value 2; + description + "sub action attribute"; + } + } + description + "Policy action attribute enum"; + } + + typedef Policy-obj-enc-en { + type enumeration { + enum "policy-obj-enc-name" { + description + "Name of the Policy"; + } + enum "policy-obj-enc-hdl" { + description + "Policy Handle"; + } + enum "policy-obj-enc-var-idx" { + description + "Policy Variable Index"; + } + enum "policy-obj-enc-in-line" { + description + "Inline Class"; + } + } + description + "Child policy related encoding information"; + } + + typedef Plmgr-app-fwding-type-e { + type enumeration { + enum "layer2" { + value 0; + description + " Forwarding type layer2"; + } + enum "layer3" { + value 1; + description + " Forwarding type layer3"; + } + enum "any" { + value 2; + description + "Forwarding type any"; + } + } + description + "Forwarding types"; + } + + typedef Class-map-type-en { + type enumeration { + enum "class-map-type-none" { + description + "class map type none"; + } + enum "class-map-type-qos" { + description + "class map type qos"; + } + enum "class-map-type-pbr" { + description + "class map type pbr"; + } + enum "class-map-type-traffic" { + description + "class map type traffic"; + } + enum "class-map-type-subs-control" { + description + "class map type subs control"; + } + enum "class-map-type-max" { + description + "class map type max"; + } + } + description + "Class map type en"; + } + + typedef Wred-type-en { + type enumeration { + enum "wred-cos-cmd" { + description + "wred cos cmd"; + } + enum "wred-dscp-cmd" { + description + "wred dscp cmd"; + } + enum "wred-precedence-cmd" { + description + "wred precedence cmd"; + } + enum "wred-discard-class-cmd" { + description + "wred discard class cmd"; + } + enum "wred-mpls-exp-cmd" { + description + "wred mpls exp cmd"; + } + enum "red-with-user-min-max" { + description + "red with user min max"; + } + enum "red-with-default-min-max" { + description + "red with default min max"; + } + enum "wred-dei-cmd" { + description + "wred dei cmd"; + } + enum "wred-ecn-cmd" { + description + "wred ecn cmd"; + } + enum "wred-invalid-cmd" { + description + "wred invalid cmd"; + } + } + description + "Wred type en"; + } + + typedef Policy-map-table-type-en { + type enumeration { + enum "policy-map-table-type-none" { + description + "policy map table type none"; + } + enum "policy-map-table-type-l2-any" { + description + "policy map table type l2 any"; + } + enum "policy-map-table-type-l2-l3" { + description + "policy map table type l2 l3"; + } + enum "policy-map-table-type-l3-ipv4" { + description + "policy map table type l3 ipv4"; + } + enum "policy-map-table-type-l3-ds" { + description + "policy map table type l3 ds"; + } + enum "policy-map-table-type-traffic-ingress" { + description + "policy map table type traffic ingress"; + } + enum "policy-map-table-type-qos-ingress" { + description + "policy map table type qos ingress"; + } + enum "policy-map-table-type-qos-egress" { + description + "policy map table type qos egress"; + } + enum "policy-map-table-type-max" { + description + "policy map table type max"; + } + } + description + "Policy-Map Table Type"; + } + + typedef Shared-bucket-type { + type enumeration { + enum "shared-bucket-type-not-specified" { + description + "shared bucket type not specified"; + } + enum "shared-bucket-referred" { + description + "shared bucket referred"; + } + enum "shared-bucket-defined" { + description + "shared bucket defined"; + } + } + description + "Shared bucket type"; + } + + typedef Afmon-rtp-clock-rate-type-en { + type enumeration { + enum "afmon-rtp-cr-invalid" { + value 0; + description + "afmon rtp cr invalid"; + } + enum "afmon-rtp-cr-8k" { + value 1; + description + "afmon rtp cr 8k"; + } + enum "afmon-rtp-cr-16k" { + value 2; + description + "afmon rtp cr 16k"; + } + enum "afmon-rtp-cr-11025" { + value 3; + description + "afmon rtp cr 11025"; + } + enum "afmon-rtp-cr-22050" { + value 4; + description + "afmon rtp cr 22050"; + } + enum "afmon-rtp-cr-44100" { + value 5; + description + "afmon rtp cr 44100"; + } + enum "afmon-rtp-cr-48k" { + value 6; + description + "afmon rtp cr 48k"; + } + enum "afmon-rtp-cr-90k" { + value 7; + description + "afmon rtp cr 90k"; + } + enum "afmon-rtp-cr-27m" { + value 8; + description + "afmon rtp cr 27m"; + } + enum "afmon-rtp-cr-148500k" { + value 9; + description + "afmon rtp cr 148500k"; + } + enum "afmon-rtp-cr-148351k" { + value 10; + description + "afmon rtp cr 148351k"; + } + enum "afmon-rtp-cr-max" { + value 11; + description + "afmon rtp cr max"; + } + } + description + "Afmon rtp clock rate type en"; + } + + typedef Afmon-trig-relop-en { + type enumeration { + enum "afmon-trig-relop-invalid" { + value 0; + description + "afmon trig relop invalid"; + } + enum "afmon-trig-lt" { + value 1; + description + "afmon trig lt"; + } + enum "afmon-trig-le" { + value 2; + description + "afmon trig le"; + } + enum "afmon-trig-gt" { + value 3; + description + "afmon trig gt"; + } + enum "afmon-trig-ge" { + value 4; + description + "afmon trig ge"; + } + enum "afmon-trig-range" { + value 5; + description + "afmon trig range"; + } + enum "afmon-trig-relop-max" { + value 6; + description + "afmon trig relop max"; + } + } + description + "Afmon trig relop en"; + } + + typedef Match-no-username-en { + type enumeration { + enum "match-no-user-name-unspecified" { + value 0; + description + "match no user name unspecified"; + } + enum "match-no-user-name" { + value 1; + description + "match no user name"; + } + enum "match-user-name" { + value 2; + description + "match user name"; + } + enum "match-no-user-name-max" { + value 3; + description + "match no user name max"; + } + } + description + "Match no username en"; + } + + typedef Afmon-rtp-parm-type-en { + type enumeration { + enum "afmon-rtp-parm-invalid" { + value 0; + description + "afmon rtp parm invalid"; + } + enum "afmon-rtp-parm-min-seq" { + value 1; + description + "afmon rtp parm min seq"; + } + enum "afmon-rtp-parm-max-drop" { + value 2; + description + "afmon rtp parm max drop"; + } + enum "afmon-rtp-parm-max-mis-order" { + value 3; + description + "afmon rtp parm max mis order"; + } + enum "afmon-rtp-parm-seq-ext-cop4" { + value 4; + description + "afmon rtp parm seq ext cop4"; + } + enum "afmon-rtp-parm-clock-rate" { + value 5; + description + "afmon rtp parm clock rate"; + } + enum "afmon-rtp-parm-max" { + value 6; + description + "afmon rtp parm max"; + } + } + description + "Afmon rtp parm type en"; + } + + typedef Policy-map-type-en { + type enumeration { + enum "policy-map-type-none" { + description + "policy map type none"; + } + enum "policy-map-type-qos" { + description + "policy map type qos"; + } + enum "policy-map-type-pbr" { + description + "policy map type pbr"; + } + enum "policy-map-type-traffic" { + description + "policy map type traffic"; + } + enum "policy-map-type-subs-control" { + description + "policy map type subs control"; + } + enum "policy-map-type-accounting" { + description + "policy map type accounting"; + } + enum "policy-map-type-redirect" { + description + "policy map type redirect"; + } + enum "policy-map-type-afmon" { + description + "policy map type afmon"; + } + enum "policy-map-type-merge" { + description + "policy map type merge"; + } + enum "policy-map-type-max" { + description + "policy map type max"; + } + } + description + "Policy map type en"; + } + + typedef Redirect-type-en { + type enumeration { + enum "redirect-type-none" { + value 0; + description + "Redirect None"; + } + enum "redirect-type-output-interface" { + value 1; + description + "Redirect to output intreface"; + } + enum "redirect-type-max" { + value 2; + description + "Redirect Max (Invalid)"; + } + } + description + "Redirect types Enumeration"; + } + + typedef Policy-action-exec-type-e { + type enumeration { + enum "execution-immediate" { + value 1; + description + "execution immediate"; + } + enum "execution-deferred" { + value 2; + description + "execution deferred"; + } + } + description + "Policy action execution type enum"; + } + + typedef Class-map-mode-en { + type enumeration { + enum "class-map-mode-match-any" { + value 0; + description + "Type Match-Any"; + } + enum "class-map-mode-match-all" { + value 1; + description + "Type Match-All"; + } + enum "class-map-mode-max" { + value 2; + description + "Not a valid mode"; + } + enum "class-map-mode-usr-def" { + value 1073741824; + description + "User defined match type"; + } + } + description + "Class-Map Mode"; + } + + typedef Match-subs-protocol-en { + type enumeration { + enum "match-subs-protocol-unspecified" { + value 0; + description + "match subs protocol unspecified"; + } + enum "match-subs-protocol-ipv4" { + value 1; + description + "match subs protocol ipv4"; + } + enum "match-subs-protocol-ppp" { + value 2; + description + "match subs protocol ppp"; + } + enum "match-subs-protocol-dhcpv4" { + value 3; + description + "match subs protocol dhcpv4"; + } + enum "match-subs-protocol-dhcpv6" { + value 4; + description + "match subs protocol dhcpv6"; + } + enum "match-subs-protocol-max" { + value 5; + description + "match subs protocol max"; + } + } + description + "Match subs protocol en"; + } + + typedef Vsvc-service-type-t { + type enumeration { + enum "vsvc-service-invalid" { + value 0; + description + "vsvc service invalid"; + } + enum "vsvc-service-v-path" { + value 1; + description + "vsvc service v path"; + } + enum "vsvc-service-ipsec" { + value 2; + description + "vsvc service ipsec"; + } + enum "vsvc-service-cgn" { + value 3; + description + "vsvc service cgn"; + } + enum "vsvc-service-o-flow" { + value 4; + description + "vsvc service o flow"; + } + enum "vsvc-service-output" { + value 5; + description + "vsvc service output"; + } + enum "vsvc-service-cfg-v-path" { + value 6; + description + "vsvc service cfg v path"; + } + enum "vsvc-service-sfp" { + value 7; + description + "vsvc service sfp"; + } + enum "vsvc-service-sfl" { + value 8; + description + "vsvc service sfl"; + } + enum "vsvc-service-sffl" { + value 9; + description + "vsvc service sffl"; + } + enum "vsvc-service-max" { + value 10; + description + "vsvc service max"; + } + } + description + "Vsvc service type t"; + } + + typedef Afmon-flow-parm-type-en { + type enumeration { + enum "afmon-flow-parm-invalid" { + value 0; + description + "invalid"; + } + enum "afmon-flow-parm-max-mon-flow-s" { + value 1; + description + "Max monitored flows"; + } + enum "afmon-flow-parm-mon-interval" { + value 2; + description + "Monitoring interval"; + } + enum "afmon-flow-parm-intvl-hist" { + value 3; + description + "Interval History"; + } + enum "afmon-flow-parm-flow-timeout" { + value 4; + description + "Flow Timeout"; + } + enum "afmon-flow-parm-max" { + value 5; + description + "Maximum flow parm type"; + } + } + description + "(afmon) Flow submode param types"; + } + + typedef Afmon-trig-type-en { + type enumeration { + enum "afmon-trig-type-invalid" { + value 0; + description + "afmon trig type invalid"; + } + enum "afmon-trig-immed" { + value 1; + description + "afmon trig immed"; + } + enum "afmon-trig-avg" { + value 2; + description + "afmon trig avg"; + } + enum "afmon-trig-type-max" { + value 3; + description + "afmon trig type max"; + } + } + description + "Afmon trig type en"; + } + + typedef Match-authen-status-en { + type enumeration { + enum "match-authen-status-unspecified" { + value 0; + description + "match authen status unspecified"; + } + enum "match-authen-status-authenticated" { + value 1; + description + "match authen status authenticated"; + } + enum "match-authen-status-unauthenticated" { + value 2; + description + "match authen status unauthenticated"; + } + enum "match-authen-status-max" { + value 3; + description + "match authen status max"; + } + } + description + "Match authen status en"; + } + + typedef Policy-class-info-en { + type enumeration { + enum "policy-class-info-key-type" { + description + "Policy Class Info Key"; + } + enum "policy-class-info-mod-type" { + description + "Policy Class Info Modify Bag"; + } + } + description + "Policy class info en"; + } + + typedef Afmon-mdi-parm-type-en { + type enumeration { + enum "afmon-mdi-parm-invalid" { + value 0; + description + "afmon mdi parm invalid"; + } + enum "afmon-mdi-parm-pids" { + value 1; + description + "afmon mdi parm pids"; + } + enum "afmon-mdi-parm-pkt-rate" { + value 2; + description + "afmon mdi parm pkt rate"; + } + enum "afmon-mdi-parm-ip-pkt-rate" { + value 3; + description + "afmon mdi parm ip pkt rate"; + } + enum "afmon-mdi-parm-ip-bit-rate" { + value 4; + description + "afmon mdi parm ip bit rate"; + } + enum "afmon-mdi-parm-max" { + value 5; + description + "afmon mdi parm max"; + } + } + description + "Afmon mdi parm type en"; + } + + typedef Police-action-type-en { + type enumeration { + enum "police-action-none" { + value 0; + description + "Policer Action None"; + } + enum "police-action-transmit" { + value 1; + description + "Policer Action Transmit"; + } + enum "police-action-drop" { + value 2; + description + "Policer Action Drop"; + } + enum "police-action-mark" { + value 3; + description + "Policer Action Mark"; + } + enum "police-action-max" { + value 4; + description + "Policer Action Max"; + } + } + description + "Policer Action Type"; + } + + typedef Match-mlp-negotiated-en { + type enumeration { + enum "match-mlp-negotiated-unspecified" { + value 0; + description + "match mlp negotiated unspecified"; + } + enum "match-mlp-negotiated" { + value 1; + description + "match mlp negotiated"; + } + enum "match-mlp-not-negotiated" { + value 2; + description + "match mlp not negotiated"; + } + enum "match-mlp-max" { + value 3; + description + "match mlp max"; + } + } + description + "Match mlp negotiated en"; + } + + typedef Match-cap-e { + type uint8; + description + "Match cap e"; + } + + typedef Policy-action-e { + type uint8; + description + "Policy action e"; + } + + typedef Match-nas-port-intf-type-en { + type enumeration { + enum "match-nas-port-intf-type-unspecified" { + value 0; + description + "match nas port intf type unspecified"; + } + enum "match-nas-port-intf-type-async" { + value 1; + description + "match nas port intf type async"; + } + enum "match-nas-port-intf-type-atm" { + value 2; + description + "match nas port intf type atm"; + } + enum "match-nas-port-intf-type-bri" { + value 3; + description + "match nas port intf type bri"; + } + enum "match-nas-port-intf-type-ether" { + value 4; + description + "match nas port intf type ether"; + } + enum "match-nas-port-intf-type-ipsec" { + value 5; + description + "match nas port intf type ipsec"; + } + enum "match-nas-port-intf-type-none" { + value 6; + description + "match nas port intf type none"; + } + enum "match-nas-port-intf-type-piafs" { + value 7; + description + "match nas port intf type piafs"; + } + enum "match-nas-port-intf-type-pppatm" { + value 8; + description + "match nas port intf type pppatm"; + } + enum "match-nas-port-intf-type-ppp-ether" { + value 9; + description + "match nas port intf type ppp ether"; + } + enum "match-nas-port-intf-type-pppoeatm" { + value 10; + description + "match nas port intf type pppoeatm"; + } + enum "match-nas-port-intf-type-pppqinq" { + value 11; + description + "match nas port intf type pppqinq"; + } + enum "match-nas-port-intf-type-pppvlan" { + value 12; + description + "match nas port intf type pppvlan"; + } + enum "match-nas-port-intf-type-pri" { + value 13; + description + "match nas port intf type pri"; + } + enum "match-nas-port-intf-type-sync" { + value 14; + description + "match nas port intf type sync"; + } + enum "match-nas-port-intf-type-v110" { + value 15; + description + "match nas port intf type v110"; + } + enum "match-nas-port-intf-type-v120" { + value 16; + description + "match nas port intf type v120"; + } + enum "match-nas-port-intf-type-vty" { + value 17; + description + "match nas port intf type vty"; + } + enum "match-nas-port-intf-type-x75" { + value 18; + description + "match nas port intf type x75"; + } + enum "match-nas-port-intf-type-max" { + value 19; + description + "match nas port intf type max"; + } + } + description + "Match nas port intf type en"; + } + + grouping DEI-BIT { + description + "DEI BIT"; + uses DEI-BIT-ST; + } + + grouping UINT64-ARRAY { + description + "UINT64 ARRAY"; + leaf-list uint64_array { + type uint64; + description + "uint64 array"; + } + } + + grouping DEI-BIT-ST { + description + "DEI BIT ST"; + leaf bit-value { + type uint32; + description + "Value of the DEI bit"; + } + } + + grouping ACTION-PBF-INFO-ST { + description + "action pbr pbf"; + leaf addr { + type inet:ipv6-address; + description + "v4 or v6 address"; + } + leaf vrf { + type string; + description + "vrf name"; + } + leaf rt-type { + type uint8; + description + "route target type"; + } + leaf rt { + type yang:hex-string; + description + "route target"; + } + } + + grouping MAC-ADDR-ARRAY { + description + "MAC ADDR ARRAY"; + list mac-addr-array { + description + "mac addr array"; + uses MAC-ADDR-ST; + } + } + + grouping ACTION-SERVICE-FUNCTION-PATH-ST { + description + "service function path"; + leaf path-id { + type uint32; + description + "service path id"; + } + leaf service-index { + type uint8; + description + "service path index"; + } + leaf meta-name { + type string; + description + "metadata name"; + } + leaf vs-index { + type uint32; + description + "vservice index"; + } + } + + grouping ACTION-AFMON-FMM-INFO-P { + description + "ACTION AFMON FMM INFO P"; + uses ACTION-AFMON-FMM-INFO-ST; + } + + grouping ACTION-MARK2-INFO { + description + "ACTION MARK2 INFO"; + list action-mark2-info { + description + "action mark2 info"; + uses ACTION-MARK2-INFO-ST; + } + } + + grouping ACTION-AUTHEN-AAA-INFO-P { + description + "ACTION AUTHEN AAA INFO P"; + uses ACTION-AUTHEN-AAA-ST; + } + + grouping ACTION-IPV4-NH-INFO-ST { + description + "ipv4 next hop action"; + leaf ipv4-nh-addr { + type inet:ipv4-address; + description + "nh addr"; + } + leaf vrf-name { + type string; + description + "Vrf name"; + } + } + + grouping ACTION-AFMON-REACT-ST { + description + "AFMon React Configuration"; + leaf oper-id { + type uint32; + description + "React Operation ID"; + } + leaf description { + type string; + description + "Describing the oper"; + } + leaf trig-num-intvls { + type uint32; + description + "Averaged over N intvls"; + } + leaf clone-ifh { + type uint32; + description + "Clone interface handle"; + } + leaf notif-actns { + type uint8; + description + "Bitmap of actions on alert"; + } + leaf criterion { + type uint8; + description + "React Criterion"; + } + leaf trig-type { + type uint8; + description + "Immediate or averaged thresh trigger"; + } + leaf trig-relop { + type uint8; + description + "Trigger LT|LE|GT|GE|Range"; + } + leaf trig-level-1 { + type string; + description + "Trigger threshold 1/lower"; + } + leaf trig-level-2 { + type string; + description + "Trigger upper threshold for range"; + } + leaf alm-grp-thresh { + type uint16; + units "percentage"; + description + "Num/percent in grp"; + } + leaf alm-type { + type uint8; + description + "Discrete | grouped alarm"; + } + leaf alm-severity { + type uint8; + description + "Major|Minor|... alarm"; + } + } + + grouping ACTION-STOP-TIMER-INFO-P { + description + "ACTION STOP TIMER INFO P"; + uses ACTION-STOP-TIMER-ST; + } + + grouping PMAP-VAR-LIST-ST { + description + "PMAP VAR LIST ST"; + list pmap-var-list-arr { + description + "pmap var list arr"; + uses PMAP-VAR-INFO-ST; + } + } + + grouping ACTION-AFMON-MDI-INFO-ST { + description + "AFMon MDI Configuration"; + container ip-bit-rate { + description + "data rate in bps"; + uses POLICY-PARAM-UINT32-ST; + } + leaf action-metric-type { + type Policy-action-en; + description + "metric type"; + } + leaf filtered-pkt-rate { + type uint32; + description + "filtered packet rate"; + } + leaf ip-pkt-rate { + type uint32; + description + "packet rate in pps"; + } + leaf-list pids { + type uint32; + description + "array of monitoredcd pids"; + } + } + + grouping INLINE-CLASS-MAP-BG { + description + "Inline Class-map bag"; + container match-infop { + description + "Pointer to the first Match info"; + uses CLASS-MATCH-INFO-ST; + } + leaf mode { + type Class-map-mode-en; + description + "Inline Class-Map Mode Match any/all"; + } + leaf flags { + type uint32; + description + "Inline Class-Map flags"; + } + leaf match-count { + type uint32; + description + "Number of Match infos"; + } + } + + grouping ACTION-AFMON-FLOW-PARM-INFO-ST { + description + "(afmon) flow-parm submode action"; + leaf max-mon-flows { + type uint32; + description + "max simult flows monitored per policy class"; + } + leaf mon-interval { + type uint32; + units "second"; + description + "monitored interval duration in secs"; + } + leaf intvl-hist { + type uint32; + description + "num intervals of data stored on rtr"; + } + leaf flow-timeout { + type uint32; + units "second"; + description + "timeout in secs"; + } + } + + grouping ACTION-TIMEOUT-IDLE-INFO-P { + description + "ACTION TIMEOUT IDLE INFO P"; + uses ACTION-TIMEOUT-IDLE-ST; + } + + grouping ACTION-ACCOUNTING-EVENT-ST { + description + "ACTION ACCOUNTING EVENT ST"; + leaf action { + type Acct-en; + description + "action"; + } + leaf aaa-list-name { + type string; + description + "aaa list name"; + } + } + + grouping PLMGR-VRF-STATS-BG { + description + "List of Stats of all class type"; + leaf pmap-name { + type string; + description + "pmap name"; + } + list cmap-stats-arr { + description + "cmap stats arr"; + uses PLMGR-CMAP-STATS-ARR-ST; + } + } + + grouping POLICY-MAP-BG { + description + "Policy-map Bag"; + list policy-map-bg { + description + "policy map bg"; + container pmap-var-list { + description + "contains variable argument data"; + uses PMAP-VAR-LIST-ST; + } + container event-infop { + description + "event infop"; + uses POLICY-EVENT-INFO-BG; + } + leaf name { + type Policy-map-name; + description + "name"; + } + leaf type { + type Policy-map-type-en; + description + "type"; + } + leaf description { + type string; + description + "description"; + } + } + } + + grouping MATCH-IPV4-ST { + description + "Source Address IPv4"; + leaf prefix { + type inet:ipv4-address; + description + "prefix"; + } + leaf mask { + type inet:ipv4-address; + description + "mask"; + } + } + + grouping ACTION-IPV4-NH-INFO-P { + description + "ACTION IPV4 NH INFO P"; + uses ACTION-IPV4-NH-INFO-ARRAY; + } + + grouping ACTION-QLIMIT-INFO-ST { + description + "Queue Limit structure"; + container qlim { + description + "qlim"; + uses POLICY-PARAM-UINT32-ST; + } + container atmclp-qlim { + description + "atmclp qlim"; + uses POLICY-PARAM-UINT32-ST; + } + container match-values { + description + "match values"; + uses UINT8-RNG-ARRAY; + } + leaf type { + type Qlimit-type-en; + description + "type"; + } + leaf qlimit-flags { + type uint32; + description + "qlimit flags"; + } + } + + grouping POLICY-MAP-APPLIED-SHOW-BG { + description + "Policy-map applied show bag"; + leaf parent-pmap-name { + type Policy-map-name; + description + "parent pmap name"; + } + leaf pmap-type { + type Policy-map-type-en; + description + "pmap type"; + } + leaf-list subscriber-grp { + type Object-name; + description + "subscriber grp"; + } + list pmaps { + description + "pmaps"; + uses POLICY-MAP-BG; + } + list pmap-var-list { + description + "pmap var list"; + uses PLMGR-APPLIED-VARLIST-BG; + } + } + + grouping POLICY-PARAM-UINT32-ST { + description + "POLICY PARAM UINT32 ST"; + leaf value { + type uint32; + description + "value"; + } + leaf unit { + type Policy-param-unit-type; + description + "unit"; + } + } + + grouping ACTION-PFC-INFO-P { + description + "ACTION PFC INFO P"; + uses ACTION-PFC-INFO-ST; + } + + grouping VALUE-ATTR-T { + description + " Value attribute for a match type"; + leaf minimum { + type uint32; + description + "Minimum value for a match type"; + } + leaf maximum { + type uint32; + description + "Maximum value for a match type"; + } + } + + grouping POLICY-MAP-APPLIED-DATA-BG { + description + "Policy-map applied data bag"; + leaf applied-pmap-name { + type Policy-map-name; + description + "applied pmap name"; + } + leaf pmap-type { + type Policy-map-type-en; + description + "pmap type"; + } + leaf-list merged-pmap-name-arr { + type Policy-map-name; + description + "merged pmap name arr"; + } + leaf-list subscriber-grp { + type Object-name; + description + "subscriber grp"; + } + list pmap-var-list { + description + "pmap var list"; + uses PLMGR-APPLIED-VARLIST-BG; + } + } + + grouping PACTION-DATA-HD { + description + "PACTION DATA HD"; + uses POLICY-ACTION-INFO-ST; + } + + grouping PLMGR-CMAP-DIFF-BG { + description + "Class-map diff Bag"; + container del { + description + "del"; + uses CLASS-MAP-BG; + } + container add { + description + "add"; + uses CLASS-MAP-BG; + } + } + + grouping ACTION-MARK-INFO { + description + "ACTION MARK INFO"; + list action-mark-info { + description + "action mark info"; + uses ACTION-MARK-INFO-ST; + } + } + + grouping POLICY-CLASS-INFO-MOD-BG { + description + "Policy-class modify Bag"; + list policy-class-info-mod-bg { + description + "policy class info mod bg"; + container new-value { + description + "new value"; + uses POLICY-CLASS-INFO-BG; + } + container old-value { + description + "old value"; + uses POLICY-CLASS-INFO-BG; + } + } + } + + grouping POLICY-ACTION-INFO-ST { + description + "Per class action structure"; + list policy-action-info-st { + description + "policy action info st"; + container actp { + description + "actp"; + uses POLICY-ACTION-DATAP-UN; + } + leaf seq { + type uint16; + description + "seq"; + } + leaf flags { + type uint16; + description + "flags"; + } + } + } + + grouping CMATCH-DATA-HD { + description + "CMATCH DATA HD"; + uses CLASS-MATCH-INFO-ST; + } + + grouping ACTION-QLIMIT-INFO-P { + description + "ACTION QLIMIT INFO P"; + uses ACTION-QLIMIT-INFO-ARRAY; + } + + grouping PLMGR-APP-TB-ACTION-CAP-T { + description + "Policy action capability"; + container policy-action-attribute { + description + "Policy Action attribute info"; + uses PLMGR-ACTION-ATTR-UN; + } + leaf policy-action { + type Policy-action-e; + description + "Policy action "; + } + } + + grouping PLMGR-CMAP-STATS-ARR-ST { + description + "Statistics per ClassMap"; + leaf cmap-name { + type string { + length "0..65"; + } + description + "cmap name"; + } + leaf matched-bytes { + type uint64; + description + "matched bytes"; + } + leaf matched-packets { + type uint64; + description + "matched packets"; + } + leaf transmit-bytes { + type uint64; + description + "transmit bytes"; + } + leaf transmit-packets { + type uint64; + description + "transmit packets"; + } + } + + grouping POL-CLASS-ENC-UN { + description + "Union of object name and app object ptr"; + container inline-cmap { + when "../enc = 'policy-obj-enc-in-line'" { + description + "../enc = 'POLICY_OBJ_ENC_INLINE'"; + } + description + "inline cmap"; + uses INLINE-CLASS-MAP-BG; + } + leaf enc { + type Policy-obj-enc-en; + description + "enc"; + } + leaf class-name { + when "../enc = 'policy-obj-enc-name'" { + description + "../enc = 'POLICY_OBJ_ENC_NAME'"; + } + type Class-map-name; + description + "class name"; + } + leaf hd { + when "../enc = 'policy-obj-enc-hdl'" { + description + "../enc = 'POLICY_OBJ_ENC_HDL'"; + } + type uint64; + description + "hd"; + } + leaf idx { + when "../enc = 'policy-obj-enc-var-idx'" { + description + "../enc = 'POLICY_OBJ_ENC_VAR_IDX'"; + } + type uint8; + description + "idx"; + } + } + + grouping ACTION-SERVICE-FUNCTION-PATH-P { + description + "ACTION SERVICE FUNCTION PATH P"; + uses ACTION-SERVICE-FUNCTION-PATH-ST; + } + + grouping ACTION-SHAPE-INFO-STR { + description + "ACTION POLICE INFO ARRAY"; + list action-shape-info-st { + description + "action police info array"; + uses ACTION-SHAPE-INFO-ST; + } + } + + grouping ACTION-SHAPE-INFO-ST { + description + "Shape info bag"; + container bw { + description + "bw"; + uses POLICY-PARAM-UINT32-ST; + } + container be { + description + "be"; + uses POLICY-PARAM-UINT32-ST; + } + } + + grouping ACTION-SERVICE-POLICY-INFO-P { + description + "ACTION SERVICE POLICY INFO P"; + uses CHLD-POL-ENC-UN; + } + + grouping ACTION-PFC-INFO { + description + "ACTION PFC INFO"; + list action-pfc-info-st { + description + "action pfc info st"; + uses ACTION-PFC-INFO-ST; + } + } + + grouping ACTION-PFC-INFO-ST { + description + "Pfc info bag"; + container buffer-size { + description + "buffer size"; + uses POLICY-PARAM-UINT32-ST; + } + container pause-threshold { + description + "pause threshold"; + uses POLICY-PARAM-UINT32-ST; + } + container resume-threshold { + description + "resume threshold"; + uses POLICY-PARAM-UINT32-ST; + } + leaf pfc-pause-set { + type uint32; + description + "pfc pause set"; + } + leaf buffer-size-flag { + type uint32; + description + "buffer size flag"; + } + } + + grouping MATCH-NAS-PORT-ST { + description + "NAS Port"; + leaf sub-id { + type Match-nas-port-sub-id-en; + description + "sub id"; + } + leaf operator { + type Match-logical-operator-en; + description + "operator"; + } + leaf value { + type uint32; + description + "value"; + } + } + + grouping PLMGR-APP-GL-COOKIE-CAP-T { + description + "Cookie capability of a network element"; + leaf policy-map-cookie { + type boolean; + description + "Specifies policy-map cookie supported or not"; + } + leaf inline-class-cookie { + type boolean; + description + "Specifies class cookie supported or not"; + } + } + + grouping CMAP-DATA-HD { + description + "CMAP DATA HD"; + uses CLASS-MAP-BG; + } + + grouping ACTION-AUTHEN-AAA-ST { + description + "Authenticate AAA list info"; + leaf aaa-list-name { + type string; + description + "aaa list name"; + } + leaf authen-password { + type string; + description + "authen password"; + } + } + + grouping ACTION-SET-TIMER-INFO-P { + description + "ACTION SET TIMER INFO P"; + uses ACTION-SET-TIMER-ST; + } + + grouping MAC-ADDR-ST { + description + "MAC ADDR ST"; + list mac-addr { + max-elements "3"; + description + "MAC address list"; + leaf mac { + type uint16; + description + "MAC address"; + } + } + list mac-mask { + max-elements "3"; + description + "MAC mask list"; + leaf mask { + type uint16; + description + "MAC mask"; + } + } + } + + grouping PLMGR-ACTION-ATTR-UN { + description + "Union of default values corrosponding to variable + type"; + container sub-action { + when "../action-type = 'sub-action-attribute'" { + description + "../action_type = 'SubActionAttribute'"; + } + description + "sub action"; + uses POLICY-SUB-ACTIONS-T; + } + container action-attr { + when "../action-type = 'action-attribute'" { + description + "../action_type = 'ActionAttribute'"; + } + description + "action attr"; + uses POLICY-ACTION-ATTR-T; + } + leaf action-type { + type Policy-action-attr-en; + description + "action type"; + } + } + + grouping PLMGR-APP-GL-SYSTEM-CAP-T { + description + "System level capability of a network element"; + leaf maximum-inline-classes-per-system { + type uint32; + description + "Maximum number of inline classes supported on a + network element"; + } + leaf maximum-policy-maps-per-system { + type uint32; + description + "Maximum number of unique policy-map supported on + a network element"; + } + } + + grouping ACTION-PRIO-INFO-ST { + description + "Priority action"; + leaf prio-lvl { + type uint32; + description + "prio lvl"; + } + } + + grouping ACTION-AFMON-RTP-INFO-P { + description + "ACTION AFMON RTP INFO P"; + uses ACTION-AFMON-RTP-INFO-ST; + } + + grouping PLMGR-MATCH-ATTR-UN { + description + "Union of default values corrosponding to variable + type"; + container val-attr { + when "../match-attr-type = 'value'" { + description + "../match_attr_type = 'Value'"; + } + description + "val attr"; + uses VALUE-ATTR-T; + } + container rng-attr { + when "../match-attr-type = 'range'" { + description + "../match_attr_type = 'Range'"; + } + description + "rng attr"; + uses VALUE-ATTR-T; + } + container mask-attr { + when "../match-attr-type = 'mask'" { + description + "../match_attr_type = 'Mask'"; + } + description + "mask attr"; + uses MASK-ATTR-T; + } + leaf match-attr-type { + type Match-attr-e; + description + "match attr type"; + } + } + + grouping UINT16-RNG-ARRAY { + description + "UINT16 RNG ARRAY"; + list uint16_rng_array { + description + "uint16 rng array"; + uses UINT16-RNG-ST; + } + } + + grouping PLMGR-PMAP-TARGETS-SUMMARY-BG { + description + "Policymap targets summary info. returned to show + client(from policymgr)"; + leaf total-policy-maps-input-direction { + type uint32; + description + "Total policymapsin the input direction"; + } + leaf total-policy-maps-output-direction { + type uint32; + description + "Total policymapsin the output direction"; + } + leaf total-child-policy-maps-input-direction { + type uint32; + description + "Totalpolicymaps applied as child policy in the + input direction"; + } + leaf total-child-policy-maps-output-direction { + type uint32; + description + "Totalpolicymaps applied as child policy in the + output direction"; + } + leaf total-interfaces-input-direction { + type uint32; + description + "Totalinterfaces with service-policy in the input + direction"; + } + leaf total-interfaces-output-direction { + type uint32; + description + "Totalinterfaces with service-policy in the + output direction"; + } + } + + grouping POLICY-MAP-DETAILED-SHOW-BG { + description + "Policy-map detail show bag"; + container pmap { + description + "Policy map info"; + uses POLICY-MAP-BG; + } + container ipv4-acl { + description + "IPv4 Access-list"; + uses STRING-ARRAY; + } + container ipv6-acl { + description + "IPv6 Access-list"; + uses STRING-ARRAY; + } + container ether-service-acl { + description + "Ethernet-Services Access-list"; + uses STRING-ARRAY; + } + } + + grouping PLMGR-SUMMARY-BG { + description + "The policymgr database"; + leaf total-class-maps { + type uint32; + description + "Total number of Classmaps configured"; + } + leaf total-class-map-types { + type uint32; + description + "Total number of Classmap types configured"; + } + leaf total-policy-maps { + type uint32; + description + "Total number of Policymaps configured"; + } + leaf total-policy-map-types { + type uint32; + description + "Total number of Policymap types configured"; + } + list class-maps { + description + "Summary of Classmap database"; + uses PLMGR-APP-DB-BG; + } + list policy-maps { + description + "Summary of Policymap database"; + uses PLMGR-APP-DB-BG; + } + } + + grouping ACTION-IPV6-NH-INFO-ARRAY { + description + "ACTION IPV6 NH INFO ARRAY"; + list action-ipv6-nh-info-array { + description + "action ipv6 nh info array"; + uses ACTION-IPV6-NH-INFO-ST; + } + } + + grouping ACTION-PREPAID-CONFIG-INFO-P { + description + "ACTION PREPAID CONFIG INFO P"; + uses ACTION-PREPAID-CFG-ST; + } + + grouping PCLASS-KEY-HD { + description + "PCLASS KEY HD"; + uses POLICY-CLASS-INFO-KEY-BG; + } + + grouping CLASS-MATCH-INFO-ST { + description + "Class-map match info"; + list class-match-info-st { + description + "class match info st"; + container match-data { + description + "Match criteria"; + uses CLASS-MATCH-DATA-UN; + } + leaf flags { + type uint32; + description + "Flags"; + } + } + } + + grouping ACTION-CAC-INFO { + description + "ACTION CAC INFO"; + list action-cac-info-st { + description + "action cac info st"; + uses ACTION-CAC-INFO-ST; + } + } + + grouping ACTION-CAC-INFO-ST { + description + "CAC action info bag"; + container flow-rate { + description + "flow rate"; + uses POLICY-PARAM-UINT32-ST; + } + container rate { + description + "rate"; + uses POLICY-PARAM-UINT32-ST; + } + leaf cac-type { + type Cac-flow-actn-type-e; + description + "cac type"; + } + leaf idle-timeout { + type uint16; + description + "idle timeout"; + } + } + + grouping AFMON-RTP-CLOCK-RATE-ST { + description + "AFMon RTP clock rate params"; + leaf pt { + type uint32; + description + "pt"; + } + leaf frequency { + type uint32; + description + "frequency"; + } + } + + grouping ACTION-ACCT-AAA-LIST-INFO-P { + description + "ACTION ACCT AAA LIST INFO P"; + uses ACTION-ACCT-AAA-LIST-ST; + } + + grouping PLMGR-APP-TB-PERSISTENT-CAP-T { + description + "Table persistent capability"; + leaf persistent { + type boolean; + description + "Table persistent support"; + } + } + + grouping ACTION-BWREM-INFO-P { + description + "ACTION BWREM INFO P"; + uses ACTION-BWREM-INFO-ST; + } + + grouping PLMGR-APP-TB-TRANSIENT-CAP-T { + description + "Table transient support capability"; + leaf transient { + type boolean; + description + "Table transient support"; + } + } + + grouping PCLASS-DATA-HD { + description + "PCLASS DATA HD"; + uses POLICY-CLASS-INFO-BG; + } + + grouping PLMGR-OBJ-REF-PMAP-BG { + description + "Object detail."; + leaf total-internal-reference-objects { + type uint32; + description + "Total number of internal reference objects"; + } + leaf total-class-maps { + type uint32; + description + "Total number of Classmaps in a Policymap"; + } + leaf total-flows { + type uint32; + description + "Total flows in a Policymap"; + } + } + + grouping PLMGR-VAR-VAL-UN { + description + "Union of default values corrosponding to variable + type"; + leaf type { + type Plmgr-var-type-en; + description + "type"; + } + leaf class-name { + when "../type = 'plmgr-var-type-class-name'" { + description + "../type = 'PLMGR_VAR_TYPE_CLASS_NAME'"; + } + type Class-map-name; + description + "class name"; + } + leaf uint8_val { + when "../type = 'plmgr-var-type-uint8'" { + description + "../type = 'PLMGR_VAR_TYPE_UINT8'"; + } + type uint8; + description + "uint8 val"; + } + leaf uint16_val { + when "../type = 'plmgr-var-type-uint16'" { + description + "../type = 'PLMGR_VAR_TYPE_UINT16'"; + } + type uint16; + description + "uint16 val"; + } + leaf uint32_val { + when "../type = 'plmgr-var-type-uint32'" { + description + "../type = 'PLMGR_VAR_TYPE_UINT32'"; + } + type uint32; + description + "uint32 val"; + } + leaf param-uint32-val { + when "../type = 'plmgr-var-type-param-uint32'" { + description + "../type = 'PLMGR_VAR_TYPE_PARAM_UINT32'"; + } + type uint32; + description + "param uint32 val"; + } + leaf dscp-val { + when "../type = 'plmgr-var-type-dscp'" { + description + "../type = 'PLMGR_VAR_TYPE_DSCP'"; + } + type uint8; + description + "dscp val"; + } + leaf prec-val { + when "../type = 'plmgr-var-type-prec'" { + description + "../type = 'PLMGR_VAR_TYPE_PREC'"; + } + type uint8; + description + "prec val"; + } + } + + grouping ACTION-AUTHORIZE-ID-ST { + description + "authorize identifiers"; + leaf id { + type uint8; + description + "id"; + } + leaf aaa-list-name { + type string; + description + "aaa list name"; + } + leaf format-name { + type string; + description + "format name"; + } + leaf password { + type string; + description + "password"; + } + } + + grouping ACTION-ENCAP-INFO-ST { + description + "Encapsulation sequence action"; + leaf seq { + type uint8; + description + "seq"; + } + } + + grouping IPV4-ADDR-ARRAY { + description + "IPV4 ADDR ARRAY"; + list ipv4-addr-array { + description + "ipv4 addr array"; + uses MATCH-IPV4-ST; + } + } + + grouping NAS-PORT-ARRAY { + description + "NAS PORT ARRAY"; + list nas-port-array { + description + "nas port array"; + uses MATCH-NAS-PORT-ST; + } + } + + grouping ACTION-AFMON-IPCBR-INFO-ST { + description + "AFMon IP-CBR Configuration"; + container ip-bit-rate { + description + "data rate in bps"; + uses POLICY-PARAM-UINT32-ST; + } + container media-bit-rate { + description + "media data rate in bps"; + uses POLICY-PARAM-UINT32-ST; + } + leaf action-metric-type { + type Policy-action-en; + description + "metric type"; + } + leaf ip-pkt-rate { + type uint32; + description + "packet rate in pps"; + } + leaf media-pkt-size { + type uint32; + units "byte"; + description + "media packet size in bytes"; + } + leaf media-pkts-per-ip { + type uint32; + description + "media packets per ip pkt"; + } + } + + grouping ACTION-AFMON-IPCBR-INFO-P { + description + "ACTION AFMON IPCBR INFO P"; + uses ACTION-AFMON-IPCBR-INFO-ST; + } + + grouping ACTION-IPV4-NH-INFO-ARRAY { + description + "ACTION IPV4 NH INFO ARRAY"; + list action-ipv4-nh-info-array { + description + "action ipv4 nh info array"; + uses ACTION-IPV4-NH-INFO-ST; + } + } + + grouping PEVENT-DATA-HD { + description + "PEVENT DATA HD"; + uses POLICY-EVENT-INFO-BG; + } + + grouping ACTION-REDIRECT-INFO-ST { + description + "redirect action"; + leaf value { + type uint32; + description + "value"; + } + leaf type { + type Redirect-type-e; + description + "type"; + } + } + + grouping CLASS-MAP-BG { + description + "Class-map bag"; + list class-map-bg { + description + "class map bg"; + container match-infop { + description + "Pointer to the first Match info"; + uses CLASS-MATCH-INFO-ST; + } + leaf name { + type Class-map-name; + description + "Name of the class-map"; + } + leaf type { + type Class-map-type-en; + description + "Class-Map Type QoS/PBR/Netflow/..."; + } + leaf mode { + type Class-map-mode-en; + description + "Class-Map Mode Match any/Match all"; + } + leaf description { + type string; + description + "description"; + } + } + } + + grouping MATCH-IPV6-ST { + description + "MATCH IPV6 ST"; + leaf prefix { + type inet:ipv6-address; + description + "IPV6 prefix"; + } + leaf mask { + type uint32; + description + "IPV6 mask"; + } + } + + grouping ACTION-SERVICE-POLICY-INFO-ST { + description + "ACTION SERVICE POLICY INFO ST"; + uses CHLD-POL-ENC-UN; + } + + grouping ACTION-ENCAP-INFO-P { + description + "ACTION ENCAP INFO P"; + uses ACTION-ENCAP-INFO-ST; + } + + grouping ACTION-PBF-INFO-ARRAY { + description + "ACTION PBF INFO ARRAY"; + list action-pbf-info-array { + description + "action pbf info array"; + uses ACTION-PBF-INFO-ST; + } + } + + grouping ACTION-HTTPR-INFO-ST { + description + "httpr action"; + leaf redirect-url { + type string; + description + "redirect url"; + } + } + + grouping POLICY-ACTION-DATAP-UN { + description + "Pointers to the action data of different type"; + container mark { + when "../type = 'policy-action-mark'" { + description + "../type = 'POLICY_ACTION_MARK'"; + } + description + "mark"; + uses ACTION-MARK-INFO; + } + container mark2 { + when "../type = 'policy-action-mark2'" { + description + "../type = 'POLICY_ACTION_MARK2'"; + } + description + "mark2"; + uses ACTION-MARK2-INFO; + } + container wred { + when "../type = 'policy-action-wred'" { + description + "../type = 'POLICY_ACTION_WRED'"; + } + description + "wred"; + uses ACTION-WRED-INFO; + } + container encap { + when "../type = 'policy-action-encap-seq'" { + description + "../type = 'POLICY_ACTION_ENCAP_SEQ'"; + } + description + "encap"; + uses ACTION-ENCAP-INFO-ST; + } + container prio { + when "../type = 'policy-action-priority'" { + description + "../type = 'POLICY_ACTION_PRIORITY'"; + } + description + "prio"; + uses ACTION-PRIO-INFO-ST; + } + container bwrem { + when "../type = 'policy-action-bw-remaining'" { + description + "../type = 'POLICY_ACTION_BW_REMAINING'"; + } + description + "bwrem"; + uses ACTION-BWREM-INFO-ST; + } + container min-bw { + when "../type = 'policy-action-min-bw'" { + description + "../type = 'POLICY_ACTION_MIN_BW'"; + } + description + "min bw"; + uses ACTION-MINBW-INFO-ST; + } + container authen-aaa { + when "../type = 'policy-action-authenticate-aaa'" { + description + "../type = 'POLICY_ACTION_AUTHENTICATE_AAA'"; + } + description + "authen aaa"; + uses ACTION-AUTHEN-AAA-ST; + } + container collect-id { + when "../type = 'policy-action-collect-id'" { + description + "../type = 'POLICY_ACTION_COLLECT_ID'"; + } + description + "collect id"; + uses ACTION-COLLECT-ID-ST; + } + container decode-id { + when "../type = 'policy-action-decode-identifier'" { + description + "../type = 'POLICY_ACTION_DECODE_IDENTIFIER'"; + } + description + "decode id"; + uses ACTION-DECODE-IDENTIFIER-ST; + } + container set-timer { + when "../type = 'policy-action-set-timer'" { + description + "../type = 'POLICY_ACTION_SET_TIMER'"; + } + description + "set timer"; + uses ACTION-SET-TIMER-ST; + } + container stop-timer { + when "../type = 'policy-action-stop-timer'" { + description + "../type = 'POLICY_ACTION_STOP_TIMER'"; + } + description + "stop timer"; + uses ACTION-STOP-TIMER-ST; + } + container acct-aaa-list { + when "../type = 'policy-action-accounting-aaa-list'" { + description + "../type = 'POLICY_ACTION_ACCOUNTING_AAA_LIST'"; + } + description + "acct aaa list"; + uses ACTION-ACCT-AAA-LIST-ST; + } + container query-ancp { + when "../type = 'policy-action-query-ancp'" { + description + "../type = 'POLICY_ACTION_QUERY_ANCP'"; + } + description + "query ancp"; + uses ACTION-QUERY-ANCP-SESSION-ST; + } + container prepaid-cfg { + when "../type = 'policy-action-prepaid-config'" { + description + "../type = 'POLICY_ACTION_PREPAID_CONFIG'"; + } + description + "prepaid cfg"; + uses ACTION-PREPAID-CFG-ST; + } + container timeout-idle { + when "../type = 'policy-action-timeout-idle'" { + description + "../type = 'POLICY_ACTION_TIMEOUT_IDLE'"; + } + description + "timeout idle"; + uses ACTION-TIMEOUT-IDLE-ST; + } + container proxy-aaa { + when "../type = 'policy-action-proxy-aaa'" { + description + "../type = 'POLICY_ACTION_PROXY_AAA'"; + } + description + "proxy aaa"; + uses ACTION-PROXY-AAA-ST; + } + container act-template { + when "../type = 'policy-action-template-activate'" { + description + "../type = 'POLICY_ACTION_TEMPLATE_ACTIVATE'"; + } + description + "act template"; + uses ACTION-TEMPLATE-ST; + } + container deact-template { + when "../type = 'policy-action-template-deactivate'" { + description + "../type = 'POLICY_ACTION_TEMPLATE_DEACTIVATE'"; + } + description + "deact template"; + uses ACTION-TEMPLATE-ST; + } + container qlimit { + when "../type = 'policy-action-q-limit'" { + description + "../type = 'POLICY_ACTION_Q_LIMIT'"; + } + description + "qlimit"; + uses ACTION-QLIMIT-INFO-ARRAY; + } + container accounting-event-aaa { + when "../type = 'policy-action-accounting-event-aaa-list'" { + description + "../type = + 'POLICY_ACTION_ACCOUNTING_EVENT_AAA_LIST'"; + } + description + "accounting event aaa"; + uses ACTION-ACCOUNTING-EVENT-ST; + } + container authorize-id { + when "../type = 'policy-action-authorize-id'" { + description + "../type = 'POLICY_ACTION_AUTHORIZE_ID'"; + } + description + "authorize id"; + uses ACTION-AUTHORIZE-ID-ST; + } + container afm-react { + when "../type = 'policy-action-afmon-react'" { + description + "../type = 'POLICY_ACTION_AFMON_REACT'"; + } + description + "afm react"; + uses ACTION-AFMON-REACT-INFO; + } + container httpr { + when "../type = 'policy-action-httpr'" { + description + "../type = 'POLICY_ACTION_HTTPR'"; + } + description + "httpr"; + uses ACTION-HTTPR-INFO-ST; + } + container punt { + when "../type = 'policy-action-punt'" { + description + "../type = 'POLICY_ACTION_PUNT'"; + } + description + "punt"; + uses ACTION-PUNT-INFO-ST; + } + container copy { + when "../type = 'policy-action-copy'" { + description + "../type = 'POLICY_ACTION_COPY'"; + } + description + "copy"; + uses ACTION-COPY-INFO-ST; + } + container sfrag { + when "../type = 'policy-action-sfrag'" { + description + "../type = 'POLICY_ACTION_SFRAG'"; + } + description + "sfrag"; + uses ACTION-SFRAG-INFO-ST; + } + container redirect { + when "../type = 'policy-action-redirect'" { + description + "../type = 'POLICY_ACTION_REDIRECT'"; + } + description + "redirect"; + uses ACTION-REDIRECT-INFO-ST; + } + container out-intf { + when "../type = 'policy-action-output-interface'" { + description + "../type = 'POLICY_ACTION_OUTPUT_INTERFACE'"; + } + description + "out intf"; + uses ACTION-OUTPUT-INTERFACE-INFO-ST; + } + container serv-func { + when "../type = 'policy-action-service-function-path'" { + description + "../type = 'POLICY_ACTION_SERVICE_FUNCTION_PATH'"; + } + description + "serv func"; + uses ACTION-SERVICE-FUNCTION-PATH-ST; + } + container http-enrich { + when "../type = 'policy-action-http-enrich'" { + description + "../type = 'POLICY_ACTION_HTTP_ENRICH'"; + } + description + "http enrich"; + } + container police { + when "../type = 'policy-action-police'" { + description + "../type = 'POLICY_ACTION_POLICE'"; + } + description + "police"; + uses ACTION-POLICE-INFO-STR; + } + container shape { + when "../type = 'policy-action-shape'" { + description + "../type = 'POLICY_ACTION_SHAPE'"; + } + description + "shape"; + uses ACTION-SHAPE-INFO-STR; + } + container child-policy { + when "../type = 'policy-action-serv-pol'" { + description + "../type = 'POLICY_ACTION_SERV_POL'"; + } + description + "child policy"; + uses CHLD-POL-ENC-UNION; + } + container cac { + when "../type = 'policy-action-cac'" { + description + "../type = 'POLICY_ACTION_CAC'"; + } + description + "cac"; + uses ACTION-CAC-INFO; + } + container pfc { + when "../type = 'policy-action-pfc'" { + description + "../type = 'POLICY_ACTION_PFC'"; + } + description + "pfc"; + uses ACTION-PFC-INFO; + } + container flow-parm { + when "../type = 'policy-action-afmon-flow-parm'" { + description + "../type = 'POLICY_ACTION_AFMON_FLOW_PARM'"; + } + description + "flow parm"; + uses ACTION-AFMON-FLOW-PARM-INFO-ST; + } + container ipcbr { + when "../type = 'policy-action-afmon-ipcbr-metric'" { + description + "../type = 'POLICY_ACTION_AFMON_IPCBR_METRIC'"; + } + description + "ipcbr"; + uses ACTION-AFMON-IPCBR-INFO-ST; + } + container rtp { + when "../type = 'policy-action-afmon-rtp-metric'" { + description + "../type = 'POLICY_ACTION_AFMON_RTP_METRIC'"; + } + description + "rtp"; + uses ACTION-AFMON-RTP-INFO-ST; + } + container rtp-mmr { + when "../type = 'policy-action-afmon-rtp-mmr-metric'" { + description + "../type = 'POLICY_ACTION_AFMON_RTP_MMR_METRIC'"; + } + description + "rtp mmr"; + uses ACTION-AFMON-RTP-INFO-ST; + } + container rtp-j2k { + when "../type = 'policy-action-afmon-rtp-j2k-metric'" { + description + "../type = 'POLICY_ACTION_AFMON_RTP_J2K_METRIC'"; + } + description + "rtp j2k"; + uses ACTION-AFMON-RTP-INFO-ST; + } + container rtp-voice { + when "../type = 'policy-action-afmon-rtp-voice-metric'" { + description + "../type = + 'POLICY_ACTION_AFMON_RTP_VOICE_METRIC'"; + } + description + "rtp voice"; + uses ACTION-AFMON-RTP-INFO-ST; + } + container mdi { + when "../type = 'policy-action-afmon-mdi-metric'" { + description + "../type = 'POLICY_ACTION_AFMON_MDI_METRIC'"; + } + description + "mdi"; + uses ACTION-AFMON-MDI-INFO-ST; + } + container mdi-rtp { + when "../type = 'policy-action-afmon-mdi-rtp-metric'" { + description + "../type = 'POLICY_ACTION_AFMON_MDI_RTP_METRIC'"; + } + description + "mdi rtp"; + uses ACTION-AFMON-MDI-INFO-ST; + } + container fmm { + when "../type = 'policy-action-afmon-fmm'" { + description + "../type = 'POLICY_ACTION_AFMON_FMM'"; + } + description + "fmm"; + uses ACTION-AFMON-FMM-INFO-ST; + } + container pbf { + when "../type = 'policy-action-pbr-next-hop'" { + description + "../type = 'POLICY_ACTION_PBR_NEXTHOP'"; + } + description + "pbf"; + uses ACTION-PBF-INFO-ARRAY; + } + container ipv4-nh { + when "../type = 'policy-action-ipv4-nh'" { + description + "../type = 'POLICY_ACTION_IPV4_NH'"; + } + description + "ipv4 nh"; + uses ACTION-IPV4-NH-INFO-ARRAY; + } + container ipv6-nh { + when "../type = 'policy-action-ipv6-nh'" { + description + "../type = 'POLICY_ACTION_IPV6_NH'"; + } + description + "ipv6 nh"; + uses ACTION-IPV6-NH-INFO-ARRAY; + } + leaf type { + type Policy-action-en; + description + "type"; + } + leaf data-p { + when "../type != 'policy-action-mark' and ../type != 'policy-action-mark2' and ../type != 'policy-action-wred' and ../type != 'policy-action-encap-seq' and ../type != 'policy-action-priority' and ../type != 'policy-action-bw-remaining' and ../type != 'policy-action-min-bw' and ../type != 'policy-action-authenticate-aaa' and ../type != 'policy-action-collect-id' and ../type != 'policy-action-decode-identifier' and ../type != 'policy-action-set-timer' and ../type != 'policy-action-stop-timer' and ../type != 'policy-action-accounting-aaa-list' and ../type != 'policy-action-query-ancp' and ../type != 'policy-action-prepaid-config' and ../type != 'policy-action-timeout-idle' and ../type != 'policy-action-proxy-aaa' and ../type != 'policy-action-template-activate' and ../type != 'policy-action-template-deactivate' and ../type != 'policy-action-q-limit' and ../type != 'policy-action-accounting-event-aaa-list' and ../type != 'policy-action-authorize-id' and ../type != 'policy-action-afmon-react' and ../type != 'policy-action-httpr' and ../type != 'policy-action-punt' and ../type != 'policy-action-copy' and ../type != 'policy-action-sfrag' and ../type != 'policy-action-redirect' and ../type != 'policy-action-output-interface' and ../type != 'policy-action-service-function-path' and ../type != 'policy-action-police' and ../type != 'policy-action-shape' and ../type != 'policy-action-serv-pol' and ../type != 'policy-action-cac' and ../type != 'policy-action-pfc' and ../type != 'policy-action-afmon-flow-parm' and ../type != 'policy-action-afmon-ipcbr-metric' and ../type != 'policy-action-afmon-rtp-metric' and ../type != 'policy-action-afmon-rtp-mmr-metric' and ../type != 'policy-action-afmon-rtp-j2k-metric' and ../type != 'policy-action-afmon-rtp-voice-metric' and ../type != 'policy-action-afmon-mdi-metric' and ../type != 'policy-action-afmon-mdi-rtp-metric' and ../type != 'policy-action-afmon-fmm' and ../type != 'policy-action-pbr-next-hop' and ../type != 'policy-action-ipv4-nh' and ../type != 'policy-action-ipv6-nh'" { + description + "../type != 'POLICY_ACTION_MARK' and ../type != + 'POLICY_ACTION_MARK2' and ../type != + 'POLICY_ACTION_WRED' and ../type != + 'POLICY_ACTION_ENCAP_SEQ' and ../type != + 'POLICY_ACTION_PRIORITY' and ../type != + 'POLICY_ACTION_BW_REMAINING' and ../type != + 'POLICY_ACTION_MIN_BW' and ../type != + 'POLICY_ACTION_AUTHENTICATE_AAA' and ../type + != 'POLICY_ACTION_COLLECT_ID' and ../type != + 'POLICY_ACTION_DECODE_IDENTIFIER' and ../type + != 'POLICY_ACTION_SET_TIMER' and ../type != + 'POLICY_ACTION_STOP_TIMER' and ../type != + 'POLICY_ACTION_ACCOUNTING_AAA_LIST' and . + ./type != 'POLICY_ACTION_QUERY_ANCP' and . + ./type != 'POLICY_ACTION_PREPAID_CONFIG' and . + ./type != 'POLICY_ACTION_TIMEOUT_IDLE' and . + ./type != 'POLICY_ACTION_PROXY_AAA' and . + ./type != 'POLICY_ACTION_TEMPLATE_ACTIVATE' + and ../type != + 'POLICY_ACTION_TEMPLATE_DEACTIVATE' and . + ./type != 'POLICY_ACTION_Q_LIMIT' and ../type + != 'POLICY_ACTION_ACCOUNTING_EVENT_AAA_LIST' + and ../type != 'POLICY_ACTION_AUTHORIZE_ID' + and ../type != 'POLICY_ACTION_AFMON_REACT' and + ../type != 'POLICY_ACTION_HTTPR' and ../type + != 'POLICY_ACTION_PUNT' and ../type != + 'POLICY_ACTION_COPY' and ../type != + 'POLICY_ACTION_SFRAG' and ../type != + 'POLICY_ACTION_REDIRECT' and ../type != + 'POLICY_ACTION_OUTPUT_INTERFACE' and ../type + != 'POLICY_ACTION_SERVICE_FUNCTION_PATH' and . + ./type != 'POLICY_ACTION_POLICE' and ../type + != 'POLICY_ACTION_SHAPE' and ../type != + 'POLICY_ACTION_SERV_POL' and ../type != + 'POLICY_ACTION_CAC' and ../type != + 'POLICY_ACTION_PFC' and ../type != + 'POLICY_ACTION_AFMON_FLOW_PARM' and ../type != + 'POLICY_ACTION_AFMON_IPCBR_METRIC' and ../type + != 'POLICY_ACTION_AFMON_RTP_METRIC' and . + ./type != 'POLICY_ACTION_AFMON_RTP_MMR_METRIC' + and ../type != + 'POLICY_ACTION_AFMON_RTP_J2K_METRIC' and . + ./type != + 'POLICY_ACTION_AFMON_RTP_VOICE_METRIC' and . + ./type != 'POLICY_ACTION_AFMON_MDI_METRIC' and + ../type != + 'POLICY_ACTION_AFMON_MDI_RTP_METRIC' and . + ./type != 'POLICY_ACTION_AFMON_FMM' and . + ./type != 'POLICY_ACTION_PBR_NEXTHOP' and . + ./type != 'POLICY_ACTION_IPV4_NH' and ../type + != 'POLICY_ACTION_IPV6_NH'"; + } + type uint32; + description + "data p"; + } + } + + grouping ACTION-DECODE-IDENTIFIER-ST { + description + "ACTION DECODE IDENTIFIER ST"; + leaf id { + type Decode-identifier-en; + description + "id"; + } + leaf format-name { + type string; + description + "format name"; + } + } + + grouping ACTION-POLICE-INFO-STR { + description + "ACTION POLICE INFO ARRAY"; + list action-police-info-st { + description + "action police info array"; + uses ACTION-POLICE-INFO-ST; + } + } + + grouping ACTION-POLICE-INFO-ST { + description + "Police action info bag"; + container rate { + description + "rate"; + uses POLICY-PARAM-UINT32-ST; + } + container burst { + description + "burst"; + uses POLICY-PARAM-UINT32-ST; + } + container peak-rate { + description + "peak rate"; + uses POLICY-PARAM-UINT32-ST; + } + container peak-burst { + description + "peak burst"; + uses POLICY-PARAM-UINT32-ST; + } + container cdvt { + description + "cdvt"; + uses POLICY-PARAM-UINT32-ST; + } + container conform-actns { + description + "conform actns"; + uses POLICE-ACTION-ARRAY; + } + container exceed-actns { + description + "exceed actns"; + uses POLICE-ACTION-ARRAY; + } + container violate-actns { + description + "violate actns"; + uses POLICE-ACTION-ARRAY; + } + container confclass-p { + description + "confclass p"; + uses CLASS-MAP-BG; + } + container excdclass-p { + description + "excdclass p"; + uses CLASS-MAP-BG; + } + leaf flags { + type uint32; + description + "flags"; + } + leaf police-flags { + type uint32; + description + "police flags"; + } + leaf sbuck-name { + type Shared-bucket-name; + description + "sbuck name"; + } + leaf sbuck-type { + type Shared-bucket-type; + description + "sbuck type"; + } + } + + grouping PLMGR-APP-GL-BULK-BEST-EFFORT-CAP-T { + description + " Best effort capability of a network element"; + leaf best-effort-per-bulk-instance { + type boolean; + description + "Specifies policymgr supports bulk configuration + best effort behavior or not"; + } + } + + grouping POLICY-CLASS-INFO-KEY-BG { + description + "Policy-class key Bag"; + list policy-class-info-key-bg { + description + "policy class info key bg"; + leaf policy-class-hd { + type uint32; + description + "policy class hd"; + } + leaf seq { + type uint32; + description + "seq"; + } + } + } + + grouping ACTION-COLLECT-ID-INFO-P { + description + "ACTION COLLECT ID INFO P"; + uses ACTION-COLLECT-ID-ST; + } + + grouping POLICY-CLASS-INFO-UN { + description + "POLICY CLASS INFO UN"; + container key { + when "../type = 'policy-class-info-key-type'" { + description + "../type = 'POLICY_CLASS_INFO_KEY_TYPE'"; + } + description + "key"; + uses POLICY-CLASS-INFO-KEY-BG; + } + container mod-data { + when "../type = 'policy-class-info-mod-type'" { + description + "../type = 'POLICY_CLASS_INFO_MOD_TYPE'"; + } + description + "mod data"; + uses POLICY-CLASS-INFO-MOD-BG; + } + leaf type { + type Policy-class-info-en; + description + "type"; + } + } + + grouping ACTION-PRIO-INFO-P { + description + "ACTION PRIO INFO P"; + uses ACTION-PRIO-INFO-ST; + } + + grouping ACTION-QUERY-ANCP-SESSION-P { + description + "ACTION QUERY ANCP SESSION P"; + uses ACTION-QUERY-ANCP-SESSION-ST; + } + + grouping PLMGR-TABLE-CAP-BG { + description + "Table Capability details "; + list table-capabilty { + description + "Table capability"; + uses PLMGR-APP-TB-CAPS-T; + } + } + + grouping POLICE-ACTION-UN { + description + "Police action bag"; + container mark { + when "../type = 'police-action-mark'" { + description + "../type = 'POLICE_ACTION_MARK'"; + } + description + "mark"; + uses ACTION-MARK-INFO-ST; + } + leaf type { + type Police-action-type-en; + description + "type"; + } + } + + grouping UINT32-RNG-ST { + description + "UINT32 RNG ST"; + leaf min { + type uint32; + description + "Lower limit of the range"; + } + leaf max { + type uint32; + description + "Upper limit of the range"; + } + } + + grouping ACTION-COLLECT-ID-ST { + description + "Collect identifiers"; + leaf id { + type Identifier-en; + description + "id"; + } + leaf aaa-list-name { + type string; + description + "aaa list name"; + } + } + + grouping ACTION-SHAPE-INFO-P { + description + "ACTION SHAPE INFO P"; + uses ACTION-SHAPE-INFO-ST; + } + + grouping PLMGR-PMAP-DIFF-BG { + description + "Policy-map diff Bag"; + container del { + description + "del"; + uses POLICY-MAP-BG; + } + container add { + description + "add"; + uses POLICY-MAP-BG; + } + } + + grouping ACTION-WRED-INFO-P { + description + "ACTION WRED INFO P"; + uses ACTION-WRED-INFO; + } + + grouping PLMGR-APP-GL-STATS-CAP-T { + description + "Stats capability of a network element"; + leaf maximum-class-stats-polling-rate { + type uint32; + description + "Maximum statistics polling rate supported by a + network in terms of class stats per sec"; + } + } + + grouping UINT32-ARRAY { + description + "UINT32 ARRAY"; + leaf-list uint32_array { + type uint32; + description + "uint32 array"; + } + } + + grouping PLMGR-OBJ-REF-SUMMARY-BG { + description + "Object detail."; + leaf object-name { + type string { + length "0..64"; + } + description + "Name of object (Policymap/Classmap)"; + } + } + + grouping ACTION-COPY-INFO-ST { + description + "copy action"; + leaf num-byte { + type uint32; + units "byte"; + description + "number of bytes"; + } + leaf sn-type { + type Dpss-snid-type-en; + description + "service node ID type"; + } + leaf sn-index { + type uint32; + description + "service node index"; + } + leaf sn-name { + type string; + description + "service node url"; + } + leaf app-id { + type uint32; + description + "application ID"; + } + leaf local-id { + type uint32; + description + "local ID"; + } + leaf vsnode-type { + type Vsvc-service-type-t; + description + "vservice node type"; + } + } + + grouping ACTION-SFRAG-INFO-P { + description + "ACTION SFRAG INFO P"; + uses ACTION-SFRAG-INFO-ST; + } + + grouping PLMGR-APP-TB-CLASS-CAP-T { + description + " Table class capability"; + leaf classmap-class-support { + type boolean; + description + "ClassmapClassSupport"; + } + leaf class-sequence-number-support { + type boolean; + description + "ClassSequenceNumberSupport"; + } + leaf class-ordering-support { + type boolean; + description + "ClassOrderingSupport"; + } + leaf class-idel-timeout-support { + type boolean; + description + "ClassIdelTimeoutSupport"; + } + leaf inline-c-lass-support { + type boolean; + description + "InlineCLassSupport"; + } + leaf maximum-inline-class-provision-rate { + type uint32; + description + "MaximumInlineClassProvisionRate"; + } + leaf maximum-inline-class-per-table { + type uint32; + description + "MaximumInlineClassPerTable"; + } + } + + grouping PLMGR-PMAP-TARGETS-ARR-BG { + description + "The array bag"; + list plmgr-pmap-targets { + description + "plmgr pmap targets"; + uses PLMGR-PMAP-TARGETS-BG; + } + } + + grouping CLASS-MATCH-DATA-UN { + description + "Union of pointers to the supported match criteria"; + container ipv4-dscp { + when "../type = 'match-type-ipv4-dscp'" { + description + "../type = 'MATCH_TYPE_IPV4_DSCP'"; + } + description + "IPv4 DSCP"; + uses UINT8-RNG-ARRAY; + } + container ipv6-dscp { + when "../type = 'match-type-ipv6-dscp'" { + description + "../type = 'MATCH_TYPE_IPV6_DSCP'"; + } + description + "IPv6 DSCP"; + uses UINT8-RNG-ARRAY; + } + container dscp { + when "../type = 'match-type-dscp'" { + description + "../type = 'MATCH_TYPE_DSCP'"; + } + description + "Match DSCP range array"; + uses UINT8-RNG-ARRAY; + } + container ipv4-prec { + when "../type = 'match-type-ipv4-prec'" { + description + "../type = 'MATCH_TYPE_IPV4_PREC'"; + } + description + "IPv4 Precedence"; + uses UINT8-ARRAY; + } + container ipv6-prec { + when "../type = 'match-type-ipv6-prec'" { + description + "../type = 'MATCH_TYPE_IPV6_PREC'"; + } + description + "IPv6 Precedence"; + uses UINT8-ARRAY; + } + container prec { + when "../type = 'match-type-prec'" { + description + "../type = 'MATCH_TYPE_PREC'"; + } + description + "Match Precedence array"; + uses UINT8-ARRAY; + } + container discard-class { + when "../type = 'match-type-disc-cls'" { + description + "../type = 'MATCH_TYPE_DISC_CLS'"; + } + description + "Match Discard Class array"; + uses UINT8-ARRAY; + } + container qos-group { + when "../type = 'match-type-qos-grp'" { + description + "../type = 'MATCH_TYPE_QOS_GRP'"; + } + description + "Match QoS group array"; + uses UINT16-RNG-ARRAY; + } + container traffic-class { + when "../type = 'match-type-traffic-class'" { + description + "../type = 'MATCH_TYPE_TRAFFIC_CLASS'"; + } + description + "Match Traffic class array"; + uses UINT8-RNG-ARRAY; + } + container proto { + when "../type = 'match-type-proto'" { + description + "../type = 'MATCH_TYPE_PROTO'"; + } + description + "Match Protocol array"; + uses UINT16-RNG-ARRAY; + } + container ipv4-packet-len { + when "../type = 'match-type-ipv4-packet-length'" { + description + "../type = 'MATCH_TYPE_IPV4_PACKET_LENGTH'"; + } + description + "IPv4 packet length array"; + uses UINT16-RNG-ARRAY; + } + container ipv6-packet-len { + when "../type = 'match-type-ipv6-packet-length'" { + description + "../type = 'MATCH_TYPE_IPV6_PACKET_LENGTH'"; + } + description + "IPv6 packet length array"; + uses UINT16-RNG-ARRAY; + } + container packet-len { + when "../type = 'match-type-packet-length'" { + description + "../type = 'MATCH_TYPE_PACKET_LENGTH'"; + } + description + "Match packet length array"; + uses UINT16-RNG-ARRAY; + } + container flow-tag { + when "../type = 'match-type-flow-tag'" { + description + "../type = 'MATCH_TYPE_FLOW_TAG'"; + } + description + "Match flow-tag array"; + uses UINT8-RNG-ARRAY; + } + container tcp-flag { + when "../type = 'match-type-tcp-flag'" { + description + "../type = 'MATCH_TYPE_TCP_FLAG'"; + } + description + "Match tcp flag value"; + uses TCP-FLAG-ST; + } + container icmpv4-type { + when "../type = 'match-type-icmpv4-type'" { + description + "../type = 'MATCH_TYPE_ICMPV4_TYPE'"; + } + description + "Match ipv4 icmp type"; + uses UINT8-RNG-ARRAY; + } + container icmpv4-code { + when "../type = 'match-type-icmpv4-code'" { + description + "../type = 'MATCH_TYPE_ICMPV4_CODE'"; + } + description + "Match ipv4 icmp code"; + uses UINT8-RNG-ARRAY; + } + container icmpv6-type { + when "../type = 'match-type-icmpv6-type'" { + description + "../type = 'MATCH_TYPE_ICMPV6_TYPE'"; + } + description + "Match ipv6 icmp type"; + uses UINT8-RNG-ARRAY; + } + container icmpv6-code { + when "../type = 'match-type-icmpv6-code'" { + description + "../type = 'MATCH_TYPE_ICMPV6_CODE'"; + } + description + "Match ipv6 icmp code"; + uses UINT8-RNG-ARRAY; + } + container mpls-exp { + when "../type = 'match-type-mpls-exp-top'" { + description + "../type = 'MATCH_TYPE_MPLS_EXP_TOP'"; + } + description + "Match MPLS experimental topmost array"; + uses UINT8-ARRAY; + } + container mpls-exp-imp { + when "../type = 'match-type-mpls-exp-imp'" { + description + "../type = 'MATCH_TYPE_MPLS_EXP_IMP'"; + } + description + "Match MPLS experimental imposition array"; + uses UINT8-ARRAY; + } + container mpls-disp-ipv4-acl { + when "../type = 'match-type-mpls-disp-ipv4-acl'" { + description + "../type = 'MATCH_TYPE_MPLS_DISP_IPV4_ACL'"; + } + description + "MPLS Disposition IPv4 Access-list"; + uses STRING-ARRAY; + } + container mpls-disp-ipv6-acl { + when "../type = 'match-type-mpls-disp-ipv6-acl'" { + description + "../type = 'MATCH_TYPE_MPLS_DISP_IPV6_ACL'"; + } + description + "MPLS Disposition IPv6 Access-list"; + uses STRING-ARRAY; + } + container mpls-disp-cl-map { + when "../type = 'match-type-mpls-disp-cl-map'" { + description + "../type = 'MATCH_TYPE_MPLS_DISP_CMAP'"; + } + description + "MPLS Disposition Class Map"; + uses STRING-ARRAY; + } + container mpls-top-label { + when "../type = 'match-type-mpls-topmost-label'" { + description + "../type = 'MATCH_TYPE_MPLS_TOPMOST_LABEL'"; + } + description + "MPLS Topmost LABEL"; + uses UINT32-RNG-ARRAY; + } + container cos { + when "../type = 'match-type-cos'" { + description + "../type = 'MATCH_TYPE_COS'"; + } + description + "Match CoS array"; + uses UINT8-ARRAY; + } + container cos-inr { + when "../type = 'match-type-cos-inner'" { + description + "../type = 'MATCH_TYPE_COS_INNER'"; + } + description + "Match inner header CoS"; + uses UINT8-ARRAY; + } + container dei { + when "../type = 'match-type-dei'" { + description + "../type = 'MATCH_TYPE_DEI'"; + } + description + "Match DEI Bit"; + uses DEI-BIT-ST; + } + container dei-inr { + when "../type = 'match-type-dei-inner'" { + description + "../type = 'MATCH_TYPE_DEI_INNER'"; + } + description + "Match inner DEI Bit"; + uses DEI-BIT-ST; + } + container vlan { + when "../type = 'match-type-vlan'" { + description + "../type = 'MATCH_TYPE_VLAN'"; + } + description + "Match VLAN array"; + uses VLAN-ID-ARRAY; + } + container vlan-inr { + when "../type = 'match-type-vlan-inner'" { + description + "../type = 'MATCH_TYPE_VLAN_INNER'"; + } + description + "Match inner header VLAN range array"; + uses UINT16-RNG-ARRAY; + } + container fr-dlci { + when "../type = 'match-type-fr-dlci'" { + description + "../type = 'MATCH_TYPE_FR_DLCI'"; + } + description + "Match FR DLCI range array"; + uses UINT16-RNG-ARRAY; + } + container src-mac { + when "../type = 'match-type-src-mac'" { + description + "../type = 'MATCH_TYPE_SRC_MAC'"; + } + description + "Match Source MAC address"; + uses MAC-ADDR-ST; + } + container dst-mac { + when "../type = 'match-type-dst-mac'" { + description + "../type = 'MATCH_TYPE_DST_MAC'"; + } + description + "Match Destination MAC address"; + uses MAC-ADDR-ST; + } + container atm-clp { + when "../type = 'match-type-atm-clp'" { + description + "../type = 'MATCH_TYPE_ATM_CLP'"; + } + description + "Match ATM CLP level"; + uses UINT8-ARRAY; + } + container fr-de { + when "../type = 'match-type-fr-de'" { + description + "../type = 'MATCH_TYPE_FR_DE'"; + } + description + "Match FR DE value"; + uses UINT8-ARRAY; + } + container ipv4-acl { + when "../type = 'match-type-ipv4-acl'" { + description + "../type = 'MATCH_TYPE_IPV4_ACL'"; + } + description + "IPv4 Access-list"; + uses STRING-ARRAY; + } + container ipv6-acl { + when "../type = 'match-type-ipv6-acl'" { + description + "../type = 'MATCH_TYPE_IPV6_ACL'"; + } + description + "IPv6 Access-list"; + uses STRING-ARRAY; + } + container ether-service-acl { + when "../type = 'match-type-ethernet-service-s-acl'" { + description + "../type = 'MATCH_TYPE_ETHERNET_SERVICES_ACL'"; + } + description + "Ethernet-Services Access-list"; + uses STRING-ARRAY; + } + container avail-id { + when "../type = 'match-type-avail-id'" { + description + "../type = 'MATCH_TYPE_AVAIL_ID'"; + } + description + "Available Identifiers"; + uses UINT8-ARRAY; + } + container media-type { + when "../type = 'match-type-media'" { + description + "../type = 'MATCH_TYPE_MEDIA'"; + } + description + "Media Type"; + uses UINT8-ARRAY; + } + container subs-protocol { + when "../type = 'match-type-subs-protocol'" { + description + "../type = 'MATCH_TYPE_SUBS_PROTOCOL'"; + } + description + "Protocol"; + uses UINT8-ARRAY; + } + container dnis { + when "../type = 'match-type-dnis'" { + description + "../type = 'MATCH_TYPE_DNIS'"; + } + description + "DNIS"; + uses STRING-ARRAY; + } + container dnis-regex { + when "../type = 'match-type-dnis-regexp'" { + description + "../type = 'MATCH_TYPE_DNIS_REGEXP'"; + } + description + "DNIS Regular Expression"; + uses STRING-ARRAY; + } + container domain { + when "../type = 'match-type-domain'" { + description + "../type = 'MATCH_TYPE_DOMAIN'"; + } + description + "Domain Name"; + uses DOMAIN-ARRAY; + } + container domain-regex { + when "../type = 'match-type-domain-regexp'" { + description + "../type = 'MATCH_TYPE_DOMAIN_REGEXP'"; + } + description + "Domain Regular Expression"; + uses DOMAIN-ARRAY; + } + container nas-port { + when "../type = 'match-type-nas-port'" { + description + "../type = 'MATCH_TYPE_NAS_PORT'"; + } + description + "NAS Port"; + uses NAS-PORT-ARRAY; + } + container service-name { + when "../type = 'match-type-service-name'" { + description + "../type = 'MATCH_TYPE_SERVICE_NAME'"; + } + description + "Service Name"; + uses STRING-ARRAY; + } + container service-name-regex { + when "../type = 'match-type-service-name-regexp'" { + description + "../type = 'MATCH_TYPE_SERVICE_NAME_REGEXP'"; + } + description + "Service Name Regular Exp"; + uses STRING-ARRAY; + } + container src-addr-ipv4 { + when "../type = 'match-type-src-addr-ipv4'" { + description + "../type = 'MATCH_TYPE_SRC_ADDR_IPV4'"; + } + description + "Source Address IPV4"; + uses IPV4-ADDR-ARRAY; + } + container dst-addr-ipv4 { + when "../type = 'match-type-dst-addr-ipv4'" { + description + "../type = 'MATCH_TYPE_DST_ADDR_IPV4'"; + } + description + "Destination Address IPV4"; + uses IPV4-ADDR-ARRAY; + } + container src-addr-ipv6 { + when "../type = 'match-type-src-addr-ipv6'" { + description + "../type = 'MATCH_TYPE_SRC_ADDR_IPV6'"; + } + description + "Source Address IPV6"; + uses IPV6-ADDR-ARRAY; + } + container dst-addr-ipv6 { + when "../type = 'match-type-dst-addr-ipv6'" { + description + "../type = 'MATCH_TYPE_DST_ADDR_IPV6'"; + } + description + "Destination Address IPV6"; + uses IPV6-ADDR-ARRAY; + } + container src-addr-mac { + when "../type = 'match-type-src-addr-mac'" { + description + "../type = 'MATCH_TYPE_SRC_ADDR_MAC'"; + } + description + "Source Address MAC"; + uses MAC-ADDR-ARRAY; + } + container timer { + when "../type = 'match-type-timer'" { + description + "../type = 'MATCH_TYPE_TIMER'"; + } + description + "Timer"; + uses STRING-ARRAY; + } + container timer-regexp { + when "../type = 'match-type-timer-regexp'" { + description + "../type = 'MATCH_TYPE_TIMER_REGEXP'"; + } + description + "Timer Regular Expression"; + uses STRING-ARRAY; + } + container tunnel-name { + when "../type = 'match-type-tunnel-name'" { + description + "../type = 'MATCH_TYPE_TUNNEL_NAME'"; + } + description + "Tunnel Name"; + uses STRING-ARRAY; + } + container tunnel-name-regex { + when "../type = 'match-type-tunnel-name-regexp'" { + description + "../type = 'MATCH_TYPE_TUNNEL_NAME_REGEXP'"; + } + description + "Tunnel Name Regular Expression"; + uses STRING-ARRAY; + } + container user-name { + when "../type = 'match-type-user-name'" { + description + "../type = 'MATCH_TYPE_USERNAME'"; + } + description + "User Name"; + uses STRING-ARRAY; + } + container user-name-regex { + when "../type = 'match-type-user-name-regexp'" { + description + "../type = 'MATCH_TYPE_USERNAME_REGEXP'"; + } + description + "User Name Regular Expression"; + uses STRING-ARRAY; + } + container auth-username { + when "../type = 'match-type-auth-user-name'" { + description + "../type = 'MATCH_TYPE_AUTH_USERNAME'"; + } + description + "Authenticated User Name"; + uses STRING-ARRAY; + } + container auth-username-regex { + when "../type = 'match-type-auth-user-name-regexp'" { + description + "../type = 'MATCH_TYPE_AUTH_USERNAME_REGEXP'"; + } + description + "Authenticated User Name RegEx"; + uses STRING-ARRAY; + } + container unauth-username { + when "../type = 'match-type-unauth-user-name'" { + description + "../type = 'MATCH_TYPE_UNAUTH_USERNAME'"; + } + description + "Unauthenticated User Name"; + uses STRING-ARRAY; + } + container unauth-username-regex { + when "../type = 'match-type-unauth-user-name-regexp'" { + description + "../type = 'MATCH_TYPE_UNAUTH_USERNAME_REGEXP'"; + } + description + "Unauthenticated User Name RegEx"; + uses STRING-ARRAY; + } + container auth-domain { + when "../type = 'match-type-auth-domain'" { + description + "../type = 'MATCH_TYPE_AUTH_DOMAIN'"; + } + description + "Authenticated domain name"; + uses STRING-ARRAY; + } + container auth-domain-regex { + when "../type = 'match-type-auth-domain-regexp'" { + description + "../type = 'MATCH_TYPE_AUTH_DOMAIN_REGEXP'"; + } + description + "Authenticated Domain Name RegEx"; + uses STRING-ARRAY; + } + container unauth-domain { + when "../type = 'match-type-unauth-domain'" { + description + "../type = 'MATCH_TYPE_UNAUTH_DOMAIN'"; + } + description + "Unauthenticated Domain Name"; + uses STRING-ARRAY; + } + container unauth-domain-regex { + when "../type = 'match-type-unauth-domain-regexp'" { + description + "../type = 'MATCH_TYPE_UNAUTH_DOMAIN_REGEXP'"; + } + description + "Unauthenticated Domain Name RegEx"; + uses STRING-ARRAY; + } + container vendor-id { + when "../type = 'match-type-vendor-id'" { + description + "../type = 'MATCH_TYPE_VENDOR_ID'"; + } + description + "Vendor ID"; + uses STRING-ARRAY; + } + container vendor-id-regex { + when "../type = 'match-type-vendor-id-regexp'" { + description + "../type = 'MATCH_TYPE_VENDOR_ID_REGEXP'"; + } + description + "Vendor ID RegEx"; + uses STRING-ARRAY; + } + container access-interface { + when "../type = 'match-type-access-interface'" { + description + "../type = 'MATCH_TYPE_ACCESS_INTERFACE'"; + } + description + "Access interface"; + uses STRING-ARRAY; + } + container input-interface { + when "../type = 'match-type-input-interface'" { + description + "../type = 'MATCH_TYPE_INPUT_INTERFACE'"; + } + description + "Input interface"; + uses STRING-ARRAY; + } + container ethertype { + when "../type = 'match-type-ether-type'" { + description + "../type = 'MATCH_TYPE_ETHERTYPE'"; + } + description + "Ethernet type"; + uses UINT16-RNG-ARRAY; + } + container flow-key-data { + when "../type = 'match-type-flow-key'" { + description + "../type = 'MATCH_TYPE_FLOW_KEY'"; + } + description + "Flow key structure"; + uses FLOW-KEY-ST; + } + container dhcp-client-id { + when "../type = 'match-type-dhcp-client-id'" { + description + "../type = 'MATCH_TYPE_DHCP_CLIENT_ID'"; + } + description + "Dhcp Client ID"; + uses STRING-ARRAY; + } + container dhcp-client-id-regex { + when "../type = 'match-type-dhcp-client-id-regexp'" { + description + "../type = 'MATCH_TYPE_DHCP_CLIENT_ID_REGEXP'"; + } + description + "Dhcp Client ID RegEx"; + uses STRING-ARRAY; + } + container circuit-id { + when "../type = 'match-type-circuit-id'" { + description + "../type = 'MATCH_TYPE_CIRCUIT_ID'"; + } + description + "Circuit ID"; + uses STRING-ARRAY; + } + container circuit-id-regex { + when "../type = 'match-type-circuit-id-regexp'" { + description + "../type = 'MATCH_TYPE_CIRCUIT_ID_REGEXP'"; + } + description + "Circuit ID RegEx"; + uses STRING-ARRAY; + } + container remote-id { + when "../type = 'match-type-remote-id'" { + description + "../type = 'MATCH_TYPE_REMOTE_ID'"; + } + description + "Remote ID"; + uses STRING-ARRAY; + } + container remote-id-regex { + when "../type = 'match-type-remote-id-regexp'" { + description + "../type = 'MATCH_TYPE_REMOTE_ID_REGEXP'"; + } + description + "Remote ID RegEx"; + uses STRING-ARRAY; + } + container src-port { + when "../type = 'match-type-src-port'" { + description + "../type = 'MATCH_TYPE_SRC_PORT'"; + } + description + "Source port"; + uses UINT16-RNG-ARRAY; + } + container dst-port { + when "../type = 'match-type-dst-port'" { + description + "../type = 'MATCH_TYPE_DST_PORT'"; + } + description + "Destination port"; + uses UINT16-RNG-ARRAY; + } + leaf type { + type Match-type-en; + description + "type"; + } + leaf mpls-top-eos { + when "../type = 'match-type-mpls-topmost-eos'" { + description + "../type = 'MATCH_TYPE_MPLS_TOPMOST_EOS'"; + } + type uint8; + description + "MPLS Topmost EOS"; + } + leaf fragment-type { + when "../type = 'match-type-fragment-type'" { + description + "../type = 'MATCH_TYPE_FRAGMENT_TYPE'"; + } + type uint8; + description + "Fragment type"; + } + leaf authen-status { + when "../type = 'match-type-authen-status'" { + description + "../type = 'MATCH_TYPE_AUTHEN_STATUS'"; + } + type Match-authen-status-en; + description + "Authentication Status"; + } + leaf mlp-negotiated { + when "../type = 'match-type-mlp-negotiated'" { + description + "../type = 'MATCH_TYPE_MLP_NEGOTIATED'"; + } + type Match-mlp-negotiated-en; + description + "MLP Negotiated"; + } + } + + grouping ACTION-OUTPUT-INTERFACE-INFO-P { + description + "ACTION OUTPUT INTERFACE INFO P"; + uses ACTION-OUTPUT-INTERFACE-INFO-ST; + } + + grouping UINT32-RNG-ARRAY { + description + "UINT32 RNG ARRAY"; + list uint32_rng_array { + description + "uint32 rng array"; + uses UINT32-RNG-ST; + } + } + + grouping TCP-FLAG-ST { + description + "TCP FLAG ST"; + leaf value { + type uint16; + description + "Value of TCP flag"; + } + leaf match-any { + type boolean; + description + "Match any TCP flag bit"; + } + } + + grouping ACTION-AUTHORIZE-ID-INFO-P { + description + "ACTION AUTHORIZE ID INFO P"; + uses ACTION-AUTHORIZE-ID-ST; + } + + grouping PLMGR-APPLIED-VARLIST-BG { + description + "Policy-map applied variable list"; + list var-list { + description + "var list"; + uses PLMGR-VAR-VAL-UN; + } + } + + grouping ACTION-IPV6-NH-INFO-P { + description + "ACTION IPV6 NH INFO P"; + uses ACTION-IPV6-NH-INFO-ARRAY; + } + + grouping ACTION-PROXY-AAA-ST { + description + "ACTION PROXY AAA ST"; + leaf aaa-list-name { + type string; + description + "aaa list name"; + } + } + + grouping ACTION-PROXY-AAA-INFO-P { + description + "ACTION PROXY AAA INFO P"; + uses ACTION-PROXY-AAA-ST; + } + + grouping ACTION-SFRAG-INFO-ST { + description + "service fragment action"; + leaf name { + type string; + description + "Service Fragment Name"; + } + } + + grouping ACTION-MINBW-INFO-P { + description + "ACTION MINBW INFO P"; + uses ACTION-MINBW-INFO-ST; + } + + grouping ACTION-PUNT-INFO-P { + description + "ACTION PUNT INFO P"; + uses ACTION-PUNT-INFO-ST; + } + + grouping ACTION-COPY-INFO-P { + description + "ACTION COPY INFO P"; + uses ACTION-COPY-INFO-ST; + } + + grouping ACTION-DECODE-IDENTIFIER-INFO-P { + description + "ACTION DECODE IDENTIFIER INFO P"; + uses ACTION-DECODE-IDENTIFIER-ST; + } + + grouping ACTION-CAC-INFO-P { + description + "ACTION CAC INFO P"; + uses ACTION-CAC-INFO-ST; + } + + grouping PLMGR-OBJ-CMAP-DETAIL-BG { + description + "Object detail."; + leaf total-reference-objects { + type uint32; + description + "Total number of Policymaps referencing a + Classmap"; + } + list policy-map-reference { + description + "List of Policymaps referencing a Classmap"; + uses PLMGR-PMAP-LIST; + } + } + + grouping ACTION-BWREM-INFO-ST { + description + "BW remaining action"; + container bwrem { + description + "bwrem"; + uses POLICY-PARAM-UINT32-ST; + } + } + + grouping PMAP-DATA-HD { + description + "PMAP DATA HD"; + uses POLICY-MAP-BG; + } + + grouping ACTION-AFMON-REACT-INFO-P { + description + "ACTION AFMON REACT INFO P"; + uses ACTION-AFMON-REACT-INFO; + } + + grouping POLICY-SUB-ACTIONS-T { + description + ""; + list sub-action-attribute { + description + ""; + uses POLICY-SUB-ACTION-ATTR-T; + } + } + + grouping PLMGR-PIPELINE-CAP-BG { + description + " Pipeline capabilities details"; + list pipeline-capability { + description + "Pipelinecapability"; + uses PLMGR-APP-PLN-CAPS-T; + } + } + + grouping ACTION-MARK-INFO-ST { + description + "Mark action"; + leaf type { + type Mark-type-en; + description + "type"; + } + leaf mark-flags { + type uint32; + description + "mark flags"; + } + leaf value { + type uint16; + description + "value"; + } + } + + grouping ACTION-TIMEOUT-IDLE-ST { + description + "ACTION TIMEOUT IDLE ST"; + leaf secs { + type uint32; + description + "secs"; + } + } + + grouping ACTION-AFMON-MDI-INFO-P { + description + "ACTION AFMON MDI INFO P"; + uses ACTION-AFMON-MDI-INFO-ST; + } + + grouping ACTION-MINBW-INFO-ST { + description + "Min BW action"; + container bw { + description + "bw"; + uses POLICY-PARAM-UINT32-ST; + } + } + + grouping POLICY-MAP-NAME-TYPE { + description + "Policy-map name type info"; + list policy-map-name-type { + description + "policy map type and name"; + uses POLICY-MAP-TYPE-N-NAME-ST; + } + } + + grouping POLICY-MAP-HD-ST { + description + "POLICY MAP HD ST"; + container data-hd { + description + "data hd"; + uses POLICY-MAP-NAME-TYPE; + } + } + + grouping MATCH-DOMAIN-ST { + description + "Domain Format"; + leaf domain-name { + type string; + description + "domain name"; + } + leaf format-name { + type string; + description + "format name"; + } + } + + grouping STRING-ARRAY { + description + "STRING ARRAY"; + leaf-list string-array { + type string; + description + "string array"; + } + } + + grouping ACTION-ACCT-AAA-LIST-ST { + description + "ACTION ACCT AAA LIST ST"; + leaf aaa-list-name { + type string; + description + "aaa list name"; + } + leaf secs { + type uint32; + description + "secs"; + } + } + + grouping PMAP-VAR-INFO-ST { + description + "contains the name of the + variable argument and the value configured"; + container val { + description + "val"; + uses PLMGR-VAR-VAL-UN; + } + leaf name { + type string { + length "0..32"; + } + description + "name"; + } + leaf id { + type uint32; + description + "id"; + } + } + + grouping PLMGR-PMAP-STR-TARGETS-BG { + description + "Policymap and target info returned to the show + client"; + leaf-list targets { + type string; + description + "targets"; + } + leaf-list parent-targets { + type string; + description + "parent targets"; + } + } + + grouping IPV6-ADDR-ARRAY { + description + "IPV6 ADDR ARRAY"; + list ipv6-addr-array { + description + "ipv6 addr array"; + uses MATCH-IPV6-ST; + } + } + + grouping PLMGR-APP-PLN-CAPS-T { + description + " Pipe line capabilty info"; + leaf pipeline-id { + type uint32; + description + "Pipe line id"; + } + leaf description { + type string; + description + "Description"; + } + leaf-list table-type { + type Policy-map-table-type-e; + description + "List of table types in the pipeline in the + order"; + } + } + + grouping PLMGR-APP-GL-STATUS-CAP-T { + description + "Status capabilty of a network element"; + leaf status-per-match { + type boolean; + description + "Filter operation status capability"; + } + leaf status-per-action { + type boolean; + description + "Action operation status capability"; + } + leaf status-per-inline-class { + type boolean; + description + "Inline class operation status capability"; + } + leaf status-per-class-map { + type boolean; + description + "Class map operation status capability"; + } + leaf status-per-policy-map { + type boolean; + description + "Policy map operation status capability"; + } + leaf status-per-bulk { + type boolean; + description + "Bulk operation status capability"; + } + } + + grouping POLICY-SUB-ACTION-ATTR-T { + description + ""; + container action-attribute { + description + ""; + uses POLICY-ACTION-ATTR-T; + } + leaf sub-action { + type uint32; + description + ""; + } + } + + grouping ACTION-AFMON-FMM-INFO-ST { + description + "AFMon flow monitor configuration"; + leaf fmm-name { + type string { + length "0..33"; + } + description + "flow monitor name"; + } + } + + grouping ACTION-WRED-INFO-ST { + description + "WRED parameters info structure"; + container match-ranges { + description + "match ranges"; + uses UINT8-RNG-ARRAY; + } + container min-threshold { + description + "min threshold"; + uses POLICY-PARAM-UINT32-ST; + } + container max-threshold { + description + "max threshold"; + uses POLICY-PARAM-UINT32-ST; + } + leaf type { + type Wred-type-en; + description + "cos/prec/dscp/ based WRED"; + } + leaf wred-flags { + type uint32; + description + "wred flags"; + } + leaf probability { + type uint32; + description + "probability"; + } + } + + grouping ACTION-AFMON-FLOW-PARM-INFO-P { + description + "ACTION AFMON FLOW PARM INFO P"; + uses ACTION-AFMON-FLOW-PARM-INFO-ST; + } + + grouping ACTION-MARK-INFO-P { + description + "ACTION MARK INFO P"; + uses ACTION-MARK-INFO; + } + + grouping ACTION-PUNT-INFO-ST { + description + "punt action"; + leaf sn-type { + type Dpss-snid-type-en; + description + "service node ID type"; + } + leaf sn-index { + type uint32; + description + "service node index"; + } + leaf sn-name { + type string; + description + "service node name"; + } + leaf app-id { + type uint32; + description + "application ID"; + } + leaf local-id { + type uint32; + description + "local ID"; + } + leaf vsnode-type { + type Vsvc-service-type-t; + description + "vservice node type"; + } + } + + grouping PLMGR-VRF-STATS-ARR-BG { + description + "The array bag"; + leaf pmap-name { + type string; + description + "pmap name"; + } + leaf vrf-name { + type string; + description + "vrf name"; + } + leaf appln-type { + type uint32; + description + "appln type"; + } + leaf addr-family { + type uint32; + description + "addr family"; + } + leaf rc { + type int32; + description + "rc"; + } + list plmgr-vrf-stats { + description + "plmgr vrf stats"; + uses PLMGR-VRF-STATS-BG; + } + } + + grouping UINT8-RNG-ARRAY { + description + "UINT8 RNG ARRAY"; + list uint8_rng_array { + description + "uint8 rng array"; + uses UINT8-RNG-ST; + } + } + + grouping POLICE-ACTION-ARRAY { + description + "POLICE ACTION ARRAY"; + list police-action-array { + description + "police action array"; + uses POLICE-ACTION-UN; + } + } + + grouping POLICY-MAP-TYPE-N-NAME-ST { + description + "POLICY MAP TYPE N NAME ST"; + leaf name { + type Policy-map-name; + description + "name"; + } + leaf type { + type Policy-map-type-en; + description + "type"; + } + } + + grouping ACTION-PBF-INFO-P { + description + "ACTION PBF INFO P"; + uses ACTION-PBF-INFO-ARRAY; + } + + grouping ACTION-ACCT-EVENT-INFO-P { + description + "ACTION ACCT EVENT INFO P"; + uses ACTION-ACCOUNTING-EVENT-ST; + } + + grouping ACTION-SET-TIMER-ST { + description + "ACTION SET TIMER ST"; + leaf timer-name { + type string; + description + "timer name"; + } + leaf duration { + type uint32; + description + "duration"; + } + leaf absolute-time { + type string; + description + "absolute time"; + } + } + + grouping ACTION-AFMON-RTP-INFO-ST { + description + "AFMon RTP Configuration"; + leaf action-metric-type { + type Policy-action-en; + description + "metric type"; + } + leaf min-sequential { + type uint32; + description + "min sequential"; + } + leaf max-dropout { + type uint32; + description + "max dropout"; + } + leaf max-misorder { + type uint32; + description + "max misorder"; + } + leaf seq-ext-cop4 { + type uint32; + description + "enable seq extension cop4"; + } + list clock-rate { + description + "clock rate"; + uses AFMON-RTP-CLOCK-RATE-ST; + } + } + + grouping PCLASS-MOD-DATA-HD { + description + "PCLASS MOD DATA HD"; + uses POLICY-CLASS-INFO-MOD-BG; + } + + grouping PLMGR-PCLASS-DIFF-BG { + description + "Policy-class diff Bag"; + container del { + description + "del"; + uses POLICY-CLASS-INFO-UN; + } + container mod { + description + "mod"; + uses POLICY-CLASS-INFO-UN; + } + container add { + description + "add"; + uses POLICY-CLASS-INFO-UN; + } + } + + grouping ACTION-MARK2-INFO-P { + description + "ACTION MARK2 INFO P"; + uses ACTION-MARK2-INFO; + } + + grouping ACTION-IPV6-NH-INFO-ST { + description + "ipv6 next hop action"; + leaf ipv6-nh-addr { + type inet:ipv6-address; + description + "IPV6 Address"; + } + leaf vrf-name { + type string; + description + "Vrf name"; + } + } + + grouping PLMGR-APP-GL-ATOMICITY-CAP-T { + description + " Atomicity capability of network element "; + leaf atomicity-per-bulk { + type boolean; + description + "Specifies policymgr bulk configuration atomicity + supported or not"; + } + leaf atomicity-per-inline-class { + type boolean; + description + "Specifies policymgr inline class configuration + atomicity supported or not"; + } + leaf atomicity-per-policy-map { + type boolean; + description + "Specifies policymgr policy-map configuration + atomicity supported or not"; + } + } + + grouping PLMGR-APP-TB-MATCH-CAP-T { + description + "Match capability"; + leaf match-capability-type { + type Match-cap-e; + description + "Match type"; + } + list match-attribute { + description + "Match attribute"; + uses PLMGR-MATCH-ATTR-UN; + } + } + + grouping ACTION-STOP-TIMER-ST { + description + "ACTION STOP TIMER ST"; + leaf timer-name { + type string; + description + "timer name"; + } + } + + grouping CHLD-POL-ENC-UNION { + description + "ACTION SERVICE POLICY INFO ARRAY"; + list action-policy-info-st { + description + "child policy info"; + uses CHLD-POL-ENC-UN; + } + } + + grouping CHLD-POL-ENC-UN { + description + "Union of object name and app object ptr"; + container info { + when "../enc = 'policy-obj-enc-name'" { + description + "../enc = 'POLICY_OBJ_ENC_NAME'"; + } + description + "info"; + uses POLICY-MAP-TYPE-N-NAME-ST; + } + container hd-info { + when "../enc = 'policy-obj-enc-hdl'" { + description + "../enc = 'POLICY_OBJ_ENC_HDL'"; + } + description + "hd info"; + uses POLICY-MAP-HD-ST; + } + leaf enc { + type Policy-obj-enc-en; + description + "enc"; + } + } + + grouping POLICY-CLASS-INFO-BG { + description + "Class per policy info"; + list policy-class-info-bg { + description + "policy class info bg"; + container clmp-p { + description + "clmp p"; + uses CLASS-MAP-BG; + } + container act-infop { + description + "act infop"; + uses POLICY-ACTION-INFO-ST; + } + container nlri-infop { + description + "nlri info pointer"; + uses PCLASS-NLRI-INFO-ST; + } + leaf policy-class-hd { + type uint32; + description + "policy class hd"; + } + leaf seq { + type uint32; + description + "seq"; + } + leaf flags { + type uint32; + description + "flags"; + } + leaf ctype { + type Class-map-type-en; + description + "ctype"; + } + leaf num-actions { + type uint16; + description + "num actions"; + } + leaf version { + type uint8; + description + "version"; + } + leaf exe-strat { + type Pclass-exec-strat-en; + description + "exe strat"; + } + } + } + + grouping ACTION-TEMPLATE-ST { + description + "ACTION TEMPLATE ST"; + leaf template-name { + type string; + description + "template name"; + } + leaf aaa-list-name { + type string; + description + "aaa list name"; + } + leaf flags { + type uint32; + description + "flags"; + } + } + + grouping ACTION-QLIMIT-INFO-ARRAY { + description + "ACTION QLIMIT INFO ARRAY"; + list action-qlimit-info-array { + description + "action qlimit info array"; + uses ACTION-QLIMIT-INFO-ST; + } + } + + grouping UINT16-ARRAY { + description + "UINT16 ARRAY"; + leaf-list uint16_array { + type uint16; + description + "uint16 array"; + } + } + + grouping ACTION-MARK2-INFO-ST { + description + "Mark action"; + leaf value { + type uint32; + description + "value"; + } + leaf value-overflow { + type uint16; + description + "value overflow"; + } + leaf type { + type Mark-type-e; + description + "type"; + } + leaf mark-flags { + type uint8; + description + "mark flags"; + } + } + + grouping ACTION-AFMON-REACT-INFO { + description + "ACTION AFMON REACT INFO"; + list action-afmon-react-info { + description + "action afmon react info"; + uses ACTION-AFMON-REACT-ST; + } + } + + grouping PLMGR-APP-TB-STATS-CAP-T { + description + " Table stats capability"; + leaf class-aggregate-targetaggregate-stats { + type boolean; + description + "Specifies if complete table stats is supported + or not"; + } + leaf class-target-aggregate { + type boolean; + description + "Specifies if class statistics aggregated for + all targets is supporte dor not"; + } + leaf class-target-stats { + type boolean; + description + "Specifies if class statistics for each target + supported or not"; + } + leaf table-target-stats { + type boolean; + description + "Specifies if per targets statistics retrieval is + supporte dor not"; + } + leaf action-taget-stats { + type boolean; + description + "Specifies per action per target statistics + supoorted or not"; + } + } + + grouping PROTO-ICMP-ST { + description + "PROTO ICMP ST"; + leaf type { + type uint8; + description + "Protocol type"; + } + leaf code { + type uint8; + description + "Protocol code"; + } + } + + grouping ACTION-OUTPUT-INTERFACE-INFO-ST { + description + "output_interface action"; + leaf out-ifname { + type string; + description + "output interface name"; + } + } + + grouping VLAN-ID-ARRAY { + description + "VLAN ID ARRAY"; + list vlan-id-array { + description + "vlan id array"; + uses VLAN-ID-ST; + } + } + + grouping PLMGR-PMAP-TARGETS-BG { + description + "Policymap and targets info. returned to Policymgr + (from policy client)"; + leaf policy-map-name { + type string { + length "0..64"; + } + description + "PolicyMapName"; + } + leaf num-targets { + type uint32; + description + "NumTargets"; + } + leaf num-parent-targets { + type uint32; + description + "NumParentTargets"; + } + leaf-list pmap-targets { + type uint8; + description + "pmap targets"; + } + leaf-list pmap-parent-targets { + type uint8; + description + "pmap parent targets"; + } + } + + grouping PLMGR-PMAP-LIST { + description + "policy-map list"; + leaf object-type { + type Plmgr-appln-type-en; + description + "Application type configured"; + } + leaf policy-map-name { + type string { + length "0..64"; + } + description + "Name of Policymap referencing a Classmap"; + } + } + + grouping ACTION-REDIRECT-INFO-P { + description + "ACTION REDIRECT INFO P"; + uses ACTION-REDIRECT-INFO-ST; + } + + grouping POLICY-EVENT-INFO-BG { + description + "Event info bag"; + list policy-event-info-bg { + description + "policy event info bg"; + container class-infop { + description + "class infop"; + uses POLICY-CLASS-INFO-BG; + } + leaf event-type { + type Pevent-type-en; + description + "event type"; + } + leaf cond-eval { + type Pevent-cond-eval-en; + description + "cond eval"; + } + } + } + + grouping INLINE-CMAP-DATA-HD { + description + "INLINE CMAP DATA HD"; + uses INLINE-CLASS-MAP-BG; + } + + grouping UINT8-RNG-ST { + description + "UINT8 RNG ST"; + leaf min { + type uint8; + description + "Lower limit of the range"; + } + leaf max { + type uint8; + description + "Upper limit of the range"; + } + } + + grouping PLMGR-APP-TB-CAPS-T { + description + "Policymgr application table capabilty info"; + container stats-capabilty { + description + "Stats capabaility"; + uses PLMGR-APP-TB-STATS-CAP-T; + } + container transient-capability { + description + "Transient capability"; + uses PLMGR-APP-TB-TRANSIENT-CAP-T; + } + container persistent-capability { + description + "Persistent capability"; + uses PLMGR-APP-TB-PERSISTENT-CAP-T; + } + container class-capability { + description + "Class capabaility"; + uses PLMGR-APP-TB-CLASS-CAP-T; + } + leaf table-type { + type Policy-map-table-type-e; + description + " Table type"; + } + leaf-list forwarding-type { + type Plmgr-app-fwding-type-e; + description + "Forwarding type supported "; + } + list match-capability { + description + "Match capability "; + uses PLMGR-APP-TB-MATCH-CAP-T; + } + list action-capability { + description + "Action capability"; + uses PLMGR-APP-TB-ACTION-CAP-T; + } + } + + grouping DOMAIN-ARRAY { + description + "DOMAIN ARRAY"; + list domain-array { + description + "domain array"; + uses MATCH-DOMAIN-ST; + } + } + + grouping FLOW-KEY-ST { + description + "FLOW KEY ST"; + container flow-keys { + description + "flow keys"; + uses FLOW-KEY-ARRAY; + } + leaf max-count { + type uint16; + description + "Maximum count of flows"; + } + leaf idle-timeout { + type uint16; + units "second"; + description + "Idle timeout of flows (in seconds)"; + } + } + + grouping POLICY-MAP-HDR-BG { + description + "Policy-map Header Bag"; + leaf name { + type Policy-map-name; + description + "name"; + } + leaf type { + type Policy-map-type-en; + description + "type"; + } + leaf table-id { + type uint32; + description + "table id"; + } + leaf flags { + type uint32; + description + "flags"; + } + } + + grouping ACTION-TEMPLATE-INFO-P { + description + "ACTION TEMPLATE INFO P"; + uses ACTION-TEMPLATE-ST; + } + + grouping ACTION-HTTPR-INFO-P { + description + "ACTION HTTPR INFO P"; + uses ACTION-HTTPR-INFO-ST; + } + + grouping ACTION-POLICE-INFO-P { + description + "ACTION POLICE INFO P"; + uses ACTION-POLICE-INFO-ST; + } + + grouping VLAN-ID-ST { + description + "VLAN ID ST"; + leaf min { + type uint16; + description + "Lower limit of the range"; + } + leaf max { + type uint16; + description + "Upper limit of the range"; + } + leaf mask { + type uint16; + description + "VLAN mask"; + } + } + + grouping PLMGR-APP-GL-CAP-T { + description + "Global capability of network element"; + container system-capability { + description + "system capability"; + uses PLMGR-APP-GL-SYSTEM-CAP-T; + } + container atomicity-capability { + description + "atomicity capability"; + uses PLMGR-APP-GL-ATOMICITY-CAP-T; + } + container stats-capability { + description + "stats capability"; + uses PLMGR-APP-GL-STATS-CAP-T; + } + container cookie-capability { + description + "cookie capability"; + uses PLMGR-APP-GL-COOKIE-CAP-T; + } + container status-capability { + description + "status capability"; + uses PLMGR-APP-GL-STATUS-CAP-T; + } + container bulk-best-effort-capability { + description + "bulk best effort capability"; + uses PLMGR-APP-GL-BULK-BEST-EFFORT-CAP-T; + } + } + + grouping ACTION-WRED-INFO { + description + "ACTION WRED INFO"; + list action-wred-info { + description + "action wred info"; + uses ACTION-WRED-INFO-ST; + } + } + + grouping FLOW-KEY-ARRAY { + description + "FLOW KEY ARRAY"; + leaf keys { + type yang:hex-string; + description + "keys"; + } + leaf num { + type uint8; + description + "num"; + } + } + + grouping UINT8-ARRAY { + description + "UINT8 ARRAY"; + leaf-list uint8_array { + type uint8; + description + "uint8 array"; + } + } + + grouping PCLASS-NLRI-INFO-ST { + description + "nlri info structure"; + container nlri { + description + "nlri value"; + uses UINT8-ARRAY; + } + } + + grouping POLICY-ACTION-ATTR-T { + description + " Policy action attribute"; + leaf policy-action-exec-type { + type Policy-action-exec-type-e; + description + "policy action exec type"; + } + leaf num-instances { + type uint32; + description + "num instances"; + } + } + + grouping ACTION-QUERY-ANCP-SESSION-ST { + description + "ACTION QUERY ANCP SESSION ST"; + leaf enable { + type boolean; + description + "enable"; + } + } + + grouping MASK-ATTR-T { + description + "Mask attributes for a match type"; + leaf subnet { + type boolean; + description + "Subnet mask support for a match type"; + } + leaf arbitrary { + type boolean; + description + "Arbitrary mask support for a match type"; + } + leaf wild-card { + type boolean; + description + "Wild card mask support for a match type"; + } + } + + grouping PLMGR-GLOBAL-CAP-BG { + description + "Global Capabaility details "; + list global-capability { + description + "Global capability"; + uses PLMGR-APP-GL-CAP-T; + } + } + + grouping UINT16-RNG-ST { + description + "UINT16 RNG ST"; + leaf min { + type uint16; + description + "Lower limit of the range"; + } + leaf max { + type uint16; + description + "Upper limit of the range"; + } + } + + grouping ACTION-PREPAID-CFG-ST { + description + "ACTION PREPAID CFG ST"; + leaf prepaid-config-profile-name { + type string; + description + "prepaid config profile name"; + } + } + + grouping PLMGR-APP-DB-BG { + description + "Per application Classmap/Policymap database"; + leaf object-type { + type Plmgr-appln-type-en; + description + "Application type configured"; + } + leaf total-objects { + type uint32; + description + "Total number of objects configured for a + specific object type"; + } + leaf transient { + type boolean; + description + "Transient object"; + } + list reference { + description + "Each Policymap details"; + uses PLMGR-OBJ-REF-PMAP-BG; + } + list objects { + description + "Each object details"; + uses PLMGR-OBJ-REF-SUMMARY-BG; + } + list class-map-reference { + description + "Each Classmapdetails"; + uses PLMGR-OBJ-CMAP-DETAIL-BG; + } + } + + grouping TARGETS { + description + "Common node of node, global"; + container target-policy-map-types { + description + "Targets of a policymap"; + list target-policy-map-type { + key "type"; + description + "Policymgr application type"; + container policy-map-targets { + description + "Policy-map table"; + list policy-map-target { + key "policy-map-name"; + description + "Policy-map targets"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses PLMGR-PMAP-STR-TARGETS-BG; + } + } + container policy-map-target-summary { + description + "Policy-map table"; + uses PLMGR-PMAP-TARGETS-SUMMARY-BG; + } + container target-summary-per-policy-maps { + description + "Policy-map table per Policy-map"; + list target-summary-per-policy-map { + key "policy-map-name"; + description + "Policy-map targets summary"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses PLMGR-PMAP-TARGETS-SUMMARY-BG; + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + } + + grouping CLASS-MAP { + description + "Common node of node, global"; + container class-map { + description + "List of classmap details"; + container class-map-types { + description + "Application type of a classmap"; + list class-map-type { + key "type"; + description + "Policymgr application type"; + container class-map-details { + description + "Class-map detail table"; + list class-map-detail { + key "class-map-name"; + description + "Class-map detail information"; + leaf class-map-name { + type string { + length "1..63"; + } + description + "Name of class-map"; + } + uses PLMGR-APP-DB-BG; + } + } + container class-maps { + description + "Class-map definition table"; + list class-map { + key "class-map-name"; + description + "Class-map configuration"; + leaf class-map-name { + type string { + length "1..63"; + } + description + "Name of class-map"; + } + uses CLASS-MAP-BG; + } + } + container class-map-briefs { + description + "Class-map brief table"; + list class-map-brief { + key "class-map-name"; + description + "Class-map brief information"; + leaf class-map-name { + type string { + length "1..63"; + } + description + "Name of class-map"; + } + uses PLMGR-APP-DB-BG; + } + } + leaf type { + type Policymgr-class-map; + description + "The application type"; + } + } + } + } + } + + grouping SUMMARY { + description + "Common node of node, global"; + container summary { + description + "Summary of policy-maps and class-maps configured"; + uses PLMGR-SUMMARY-BG; + } + } + + grouping POLICY-MAP { + description + "Common node of node, global"; + container policy-map { + description + "List of policymap details"; + container transient-policy-map-type-xr { + description + "Application type of transient policy-map"; + list transient-policy-map-type { + key "type"; + description + "Transient policy-map type"; + container transient-policy-map-names { + description + "Transient policy-map definition table"; + list transient-policy-map-name { + key "policy-map-name"; + description + "Transient policy-map definition table"; + container class-handles { + description + "Transient policy-map class handle table"; + list class-handle { + key "inline-classhandle"; + description + "Transient policy-map class handle"; + leaf inline-classhandle { + type uint32 { + range "0..4294967295"; + } + description + "inline class handle"; + } + uses POLICY-MAP-BG; + } + } + container class-seq-nums { + description + "Transient policy-map sequence number table"; + list class-seq-num { + key "sequence-num"; + description + "Transient policy-map sequence number"; + leaf sequence-num { + type uint32 { + range "1..4294967295"; + } + description + "sequence number"; + } + uses POLICY-MAP-BG; + } + } + container definition { + description + "Transient Policy-map type name"; + uses POLICY-MAP-BG; + } + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + container policy-map-unused-types { + description + "Policy-map unused table"; + list policy-map-unused-type { + key "type"; + description + "Policy-map unused"; + container unuseds { + description + "Policy-map unused"; + list unused { + key "policy-map-name"; + description + "Policy-map unused information"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses PLMGR-APP-DB-BG; + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + container policy-map-types { + description + "Application type of a policymap"; + list policy-map-type { + key "type"; + description + "Policymgr application type"; + container policy-maps { + description + "Policy-map definition table"; + list policy-map { + key "policy-map-name"; + description + "Policy-map configuration"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses POLICY-MAP-BG; + } + } + container policy-map-details { + description + "Policy-map table"; + list policy-map-detail { + key "policy-map-name"; + description + "Policy-map detail information"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses PLMGR-APP-DB-BG; + } + } + container vrf-table { + description + "VRF table"; + xr:xr-xml-map "policymgr_oper:VRFTable"; + list vrf { + key "vrf-name"; + description + "VRF configuration"; + xr:xr-xml-map "policymgr_oper:VRF"; + leaf vrf-name { + type string { + length "1..63"; + } + description + "Name of Vrf"; + xr:xr-xml-map "policymgr_oper:VRFName"; + } + container afi-table { + description + "AFI table"; + xr:xr-xml-map "policymgr_oper:AfITable"; + list afi { + key "afi-type"; + description + "Address family config"; + xr:xr-xml-map "policymgr_oper:AfI"; + leaf afi-type { + type afi-enum; + description + "Name of AFI"; + xr:xr-xml-map "policymgr_oper:Type"; + } + container stats { + xr:xr-xml-map "policymgr_oper:VrfStats"; + uses PLMGR-VRF-STATS-ARR-BG; + } + } + } + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + container transient-policy-map-types { + description + "Application type of transient policy-map list"; + list transient-policy-map-type { + key "type"; + description + "Transient policy-map type"; + container transient-list-unuseds { + description + "Transient policy-map list unused table"; + list transient-list-unused { + key "policy-map-name"; + description + "Policy-map list unused"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses PLMGR-APP-DB-BG; + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + } + } + + grouping DETAIL { + description + "Common node of transient-input, transient-output"; + container detail { + description + "Policy map"; + uses POLICY-MAP-APPLIED-SHOW-BG; + } + } + + grouping POLICYMGR-OPER-DETAIL { + description + "Common node of transient-input, + transient-outputCommon node of output, input"; + container detail { + description + "WORD interface name"; + uses POLICY-MAP-APPLIED-SHOW-BG; + } + } + + container policy-manager { + config false; + description + "Policy-map operational data"; + container global { + description + "Global QOS operational data"; + container policy-map-global-cap { + description + "Policy Global Capability"; + uses PLMGR-GLOBAL-CAP-BG; + } + container policy-map-table-cap { + description + "Policy Table Capability"; + xr:xr-xml-map "policymgr_oper:TableCapabilty"; + container policy-table-cap-types { + description + "Table Capability Types"; + xr:xr-xml-map "policymgr_oper:TableType"; + container l2any { + description + "Tablecap for l2any"; + uses PLMGR-TABLE-CAP-BG; + } + container l2l3 { + description + "Tablecap for l2l3"; + uses PLMGR-TABLE-CAP-BG; + } + container l3ds { + description + "Tablecap for l3ds"; + uses PLMGR-TABLE-CAP-BG; + } + container l3ipv4 { + description + "Tablecap for l3ipv4"; + uses PLMGR-TABLE-CAP-BG; + } + container qos-in { + description + "Tablecap for qos-in"; + uses PLMGR-TABLE-CAP-BG; + } + container qos-out { + description + "Tablecap for qos-out"; + uses PLMGR-TABLE-CAP-BG; + } + container traffic-in { + description + "Tablecap for traffic-in"; + uses PLMGR-TABLE-CAP-BG; + } + } + } + container policy-map-applied-types { + description + "List of Applied policymap details"; + list policy-map-applied-type { + key "type"; + description + "Policymgr application type"; + container if-names { + description + "Interface table"; + list if-name { + key "interface-name"; + description + "WORD interface name"; + container input { + description + "Input direction table"; + uses POLICYMGR-OPER-DETAIL; + } + container output { + description + "Output direction table"; + uses POLICYMGR-OPER-DETAIL; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + container transient-policy-map-targets-types { + description + "Transient policy-map target table"; + list transient-policy-map-targets-type { + key "type"; + description + "Transient Policymgr application type"; + container transient-target-summary-per-policy-maps { + description + "Transient Policy-map table per Policy-map"; + list transient-target-summary-per-policy-map { + key "policy-map-name"; + description + "Policy-map targets summary"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses PLMGR-PMAP-TARGETS-SUMMARY-BG; + } + } + container transient-policy-map-target-summary { + description + "Transient Policy-map table"; + uses PLMGR-PMAP-TARGETS-SUMMARY-BG; + } + container transient-policy-map-targets { + description + "Transient Policy-map table"; + list transient-policy-map-target { + key "policy-map-name"; + description + "Transient Policy-map targets"; + leaf policy-map-name { + type string { + length "1..63"; + } + description + "Name of policy-map"; + } + uses PLMGR-PMAP-STR-TARGETS-BG; + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + container transient-policy-map-applied-types { + description + "Transient policy-map applied type"; + list transient-policy-map-applied-type { + key "type"; + description + "Transient policy-map applied type"; + container transient-interface-names { + description + "Interface table"; + list transient-interface-name { + key "interface-name"; + description + "WORD interface name"; + container transient-output { + description + "Output direction table"; + uses DETAIL; + } + container transient-input { + description + "Input direction table"; + uses DETAIL; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + } + } + leaf type { + type Policymgr-policy-map; + description + "The application type"; + } + } + } + uses TARGETS; + uses CLASS-MAP; + uses POLICY-MAP; + uses SUMMARY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper-sub1.yang new file mode 100644 index 000000000..b0ea64416 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper-sub1.yang @@ -0,0 +1,139 @@ +submodule Cisco-IOS-XR-infra-rmf-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-rmf-oper { + prefix Cisco-IOS-XR-infra-rmf-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-rmf package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping RED-SUMMARY { + description + "rmf show"; + leaf err-log { + type string; + description + "Error Log"; + } + list red-pair { + description + "Redundancy Pair"; + uses RED-SUMMARY-PAIR; + } + } + + grouping RED-GROUP-INFO { + description + "RED GROUP INFO"; + leaf active { + type string; + description + "Active node name R/S/I"; + } + leaf standby { + type string; + description + "Standby node name R/S/I"; + } + leaf ha-state { + type string; + description + "High Availability state Ready/Not Ready"; + } + leaf nsr-state { + type string; + description + "NSR state Configured/Not Configured"; + } + } + + grouping RED-SUMMARY-PAIR { + description + "rmf row show"; + leaf active { + type string; + description + "Active node name R/S/I"; + } + leaf standby { + type string; + description + "Standby node name R/S/I"; + } + leaf ha-state { + type string; + description + "High Availability state Ready/Not Ready"; + } + leaf nsr-state { + type string; + description + "NSR state Configured/Not Configured"; + } + list groupinfo { + description + "Process group redundancy - Only for Asr9k viking + cluster"; + uses RED-GROUP-INFO; + } + } + + grouping RED-NODE-INFO { + description + "Node Information"; + container redundancy { + description + "Row information"; + uses RED-SUMMARY-PAIR; + } + leaf log { + type string; + description + "Reload and boot logs"; + } + leaf active-reboot-reason { + type string; + description + "Active node reload"; + } + leaf standby-reboot-reason { + type string; + description + "Standby node reload"; + } + leaf err-log { + type string; + description + "Error Log"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper.yang new file mode 100644 index 000000000..fd53f804b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rmf-oper.yang @@ -0,0 +1,73 @@ +module Cisco-IOS-XR-infra-rmf-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rmf-oper"; + prefix infra-rmf-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-rmf-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-rmf package operational data. + + This module contains definitions + for the following management objects: + redundancy: Redundancy show information + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container redundancy { + config false; + description + "Redundancy show information"; + container nodes { + description + "Location show information"; + list node { + key "node-id"; + description + "Redundancy Node Information"; + leaf node-id { + type xr:Node-id; + description + "Node Location"; + } + uses RED-NODE-INFO; + } + } + container summary { + description + "Redundancy Summary of Nodes"; + uses RED-SUMMARY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-cfg.yang new file mode 100644 index 000000000..276f13cae --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-cfg.yang @@ -0,0 +1,685 @@ +module Cisco-IOS-XR-infra-rsi-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rsi-cfg"; + prefix infra-rsi-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-rsi package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + vrfs: VRF configuration + global-af: Default VRF configuration + srlg: SRLG configuration commands + vrf-groups: Set of VRF groups configured + selective-vrf-download: Selective VRF download configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-snmp-agent-cfg + modules with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-12 { + description + "Configuration support for srlg description."; + semver:module-version "2.1.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers."; + semver:module-version "2.0.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Vrf-sub-address-family { + type enumeration { + enum "unicast" { + value 1; + description + "Unicast"; + } + enum "multicast" { + value 2; + description + "Multicast"; + } + enum "flow-spec" { + value 133; + description + "Flow spec"; + } + } + description + "Vrf sub address family"; + } + + typedef Vrf-address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Vrf address family"; + } + + typedef Srlg-priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical"; + } + enum "high" { + value 1; + description + "High"; + } + enum "default" { + value 2; + description + "Default"; + } + enum "low" { + value 3; + description + "Low"; + } + enum "very-low" { + value 4; + description + "Very low"; + } + } + description + "Srlg priority"; + } + + grouping AF-TABLE { + description + "Common node of vrf, global-af"; + container afs { + description + "VRF address family configuration"; + list af { + key "af-name saf-name topology-name"; + description + "VRF address family configuration"; + leaf create { + type empty; + description + "VRF configuration for a particular address + family"; + } + leaf af-name { + type Vrf-address-family; + description + "Address family"; + } + leaf saf-name { + type Vrf-sub-address-family; + description + "Sub-Address family"; + } + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..244"; + } + description + "Topology name"; + } + } + } + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Assign the interface to a VRF"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container afs { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide + the compatible functionalities. + Per-address-family and topology configuration"; + list af { + key "af-name saf-name"; + description + "The presence of this object enables the + givenaddress-family and topology on the + interface."; + leaf af-name { + type Vrf-address-family; + description + "Address-family"; + } + leaf saf-name { + type Vrf-sub-address-family; + description + "Sub-address-family"; + } + } + list af-topology-name { + key "topology-name af-name saf-name"; + description + "The presence of this object enables the + givenaddress-family and topology on the + interface."; + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Topology name"; + } + leaf af-name { + type Vrf-address-family; + description + "Address-family"; + } + leaf saf-name { + type Vrf-sub-address-family; + description + "Sub-address-family"; + } + } + } + } + augment "/a2:snmp/a2:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container selective-vrf-download { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide + the compatible functionalities. + CISCO-SELECTIVE-VRF-DOWNLOAD-MIB notification + configuration"; + leaf role-change { + type empty; + description + "Enable csvdEntityRoleChangeNotification + notification"; + } + } + } + container vrfs { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide + the compatible functionalities. VRF + configuration"; + list vrf { + key "vrf-name"; + description + "VRF configuration"; + container vpn-id { + presence "Indicates a vpn-id node is configured."; + description + "VPN-ID for the VRF"; + leaf vpn-oui { + type uint32 { + range "0..16777215"; + } + mandatory true; + description + "OUI of VPNID OUI"; + } + leaf vpn-index { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "Index of VPNID Index"; + } + } + leaf fallback-vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Fallback VRF"; + } + leaf remote-route-filter-disable { + type empty; + description + "For disabling remote route filtering for this + VRF on core-facing card"; + } + leaf evpn-route-sync { + type uint32 { + range "1..65534"; + } + description + "EVPN route sync vpn id"; + } + leaf create { + type empty; + description + "VRF global configuration"; + } + leaf mode-big { + type empty; + description + "Configuration enable of big VRF"; + } + leaf description { + type string { + length "1..244"; + } + description + "A textual description of the VRF"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses AF-TABLE; + } + } + container global-af { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide + the compatible functionalities. Default VRF + configuration"; + uses AF-TABLE; + } + container srlg { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide + the compatible functionalities. SRLG + configuration commands"; + container interfaces { + description + "Set of interfaces configured with SRLG"; + list interface { + key "interface-name"; + description + "Interface configurations"; + container include-optical { + presence "Contains mandatory nodes that used to set default values"; + description + "Include optical configuration for an interface"; + leaf enable { + type empty; + description + "Enable SRLG interface include optical"; + } + leaf priority { + type Srlg-priority; + mandatory true; + description + "Priority for optical domain values"; + } + } + container interface-group { + description + "Group configuration for an interface"; + container group-names { + description + "Set of group name under an interface"; + list group-name { + key "group-name-index"; + description + "Group name included under interface"; + leaf group-name-index { + type uint32 { + range "1"; + } + description + "Group name index"; + } + leaf group-name { + type string; + mandatory true; + description + "Group name"; + } + leaf srlg-priority { + type Srlg-priority; + mandatory true; + description + "SRLG priority"; + } + } + } + leaf enable { + type empty; + description + "Enable SRLG interface group submode"; + } + } + container values { + description + "SRLG Value configuration for an interface"; + list value { + key "srlg-index"; + description + "SRLG value data"; + leaf srlg-index { + type uint32 { + range "1..65535"; + } + description + "SRLG index"; + } + leaf srlg-value { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "SRLG value"; + } + leaf srlg-priority { + type Srlg-priority; + mandatory true; + description + "SRLG priority"; + } + } + } + container interface-srlg-names { + description + "SRLG Name configuration for an interface"; + list interface-srlg-name { + key "srlg-name"; + description + "SRLG name data"; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG name"; + } + } + } + leaf enable { + type empty; + description + "Enable SRLG interface"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container srlg-names { + description + "Set of SRLG name configuration"; + list srlg-name { + key "srlg-name"; + description + "SRLG name configuration"; + leaf srlg-value { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "SRLG network value configuration"; + } + leaf srlg-description { + type string; + description + "SRLG description configuration"; + } + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG name"; + } + } + } + container groups { + description + "Set of groups configured with SRLG"; + list group { + key "group-name"; + description + "Group configurations"; + container group-values { + description + "Set of SRLG values configured under a group"; + list group-value { + key "srlg-index"; + description + "Group SRLG values with attribute"; + leaf srlg-index { + type uint32 { + range "1..65535"; + } + description + "SRLG index"; + } + leaf srlg-value { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "SRLG value"; + } + leaf srlg-priority { + type Srlg-priority; + mandatory true; + description + "SRLG priority"; + } + } + } + leaf enable { + type empty; + description + "Enable SRLG group"; + } + leaf group-name { + type xr:Cisco-ios-xr-string; + description + "Group name"; + } + } + } + container inherit-nodes { + description + "Set of inherit nodes configured with SRLG"; + list inherit-node { + key "inherit-node-name"; + description + "Inherit node configurations"; + container inherit-node-values { + description + "Set of SRLG values configured under an inherit + node"; + list inherit-node-value { + key "srlg-index"; + description + "Inherit node SRLG value with attributes"; + leaf srlg-index { + type uint32 { + range "1..65535"; + } + description + "SRLG index"; + } + leaf srlg-value { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "SRLG value"; + } + leaf srlg-priority { + type Srlg-priority; + mandatory true; + description + "SRLG priority"; + } + } + } + leaf enable { + type empty; + description + "Enable SRLG inherit node"; + } + leaf inherit-node-name { + type xr:Pq-node-id; + description + "The inherit node name"; + } + } + } + leaf enable { + type empty; + description + "Enable SRLG"; + } + } + container vrf-groups { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide + the compatible functionalities. Set of VRF + groups configured"; + list vrf-group { + key "vrf-group-name"; + description + "VRF group configuration"; + container vrfs { + description + "Set of VRFs configured under a VRF group"; + list vrf { + key "vrf-name"; + description + "VRF configuration"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + } + leaf enable { + type empty; + description + "Enable VRF group"; + } + leaf vrf-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF group name"; + } + } + } + container selective-vrf-download { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-vrf-cfg.yang which will provide + the compatible functionalities. Selective VRF + download configuration"; + leaf disable { + type empty; + description + "Disable selective VRF download"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub1.yang new file mode 100644 index 000000000..919b92fa1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub1.yang @@ -0,0 +1,80 @@ +submodule Cisco-IOS-XR-infra-rsi-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-rsi-oper { + prefix Cisco-IOS-XR-infra-rsi-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-rsi package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-21 { + description + "Operational support for new safi bier."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-13 { + description + "Fixing yang oper coverage."; + } + revision 2018-11-26 { + description + "Fixing yang usability issues."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef String1 { + type string; + description + "String1"; + } + + grouping RSI-MASTER-STATE { + description + "State for master RSI"; + leaf is-svd-enabled { + type boolean; + description + "Is SVD Enabled Operational"; + } + leaf is-svd-enabled-cfg { + type boolean; + description + "Is SVD Enabled Config"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub2.yang new file mode 100644 index 000000000..d95ee2504 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper-sub2.yang @@ -0,0 +1,424 @@ +submodule Cisco-IOS-XR-infra-rsi-oper-sub2 { + belongs-to Cisco-IOS-XR-infra-rsi-oper { + prefix Cisco-IOS-XR-infra-rsi-oper; + } + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-rsi-oper-sub1 { + revision-date 2020-09-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-rsi package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-21 { + description + "Operational support for new safi bier."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-13 { + description + "Fixing yang oper coverage."; + } + revision 2018-11-26 { + description + "Fixing yang usability issues."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Source { + type enumeration { + enum "configured" { + value 1; + description + "Configured"; + } + enum "from-group" { + value 2; + description + "From group"; + } + enum "inherited" { + value 4; + description + "Inherited"; + } + enum "from-optical" { + value 8; + description + "From optical"; + } + enum "configured-and-notified" { + value 17; + description + "Configured and notified"; + } + enum "from-group-and-notified" { + value 18; + description + "From group and notified"; + } + enum "inherited-and-notified" { + value 20; + description + "Inherited and notified"; + } + enum "from-optical-and-notified" { + value 24; + description + "From optical and notified"; + } + } + description + "Source"; + } + + typedef Priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical"; + } + enum "high" { + value 1; + description + "High"; + } + enum "medium" { + value 2; + description + "Medium"; + } + enum "low" { + value 3; + description + "Low"; + } + enum "very-low" { + value 4; + description + "Very low"; + } + enum "invald" { + value 5; + description + "Invalid"; + } + } + description + "Priority"; + } + + grouping RSI-SRLG-NAME-INTF-SHOW { + description + "Interface name for RSI SRLG"; + container interfaces { + description + "Interfaces information"; + uses RSI-SRLG-INTF-SHOW; + } + leaf srlg-name-xr { + type string; + description + "SRLG name"; + } + leaf srlg-value { + type uint32; + description + "SRLG value"; + } + leaf description { + type string; + description + "SRLG description"; + } + } + + grouping RSI-SRLG-INTF-SHOW { + description + "Interface for RSI SRLG"; + list interface-name { + description + "Name of the interface which has SRLG values"; + leaf entry { + type String1; + description + "Name of the interface which has SRLG values"; + } + } + } + + grouping RSI-SRLG-RSIP-LIST { + description + "RSIP list for RSI SRLG"; + leaf rsip-name { + type string; + description + "list of names matching rsip"; + } + } + + grouping RSI-SRLG-ATTR-DETAIL { + description + "Attribute details for RSI SRLG"; + leaf srlg-value { + type uint32; + description + "SRLG value"; + } + leaf priority { + type Priority; + description + "Priority level"; + } + leaf source { + type Source; + description + "Source flag"; + } + leaf source-name { + type string; + description + "Source for SRLG value"; + } + leaf srlg-index { + type uint16; + description + "Index"; + } + } + + grouping RSI-SRLG-INTF-DETAIL-SHOW { + description + "Interface for RSI SRLG"; + leaf groups { + type uint32; + description + "Group count"; + } + leaf nodes { + type uint32; + description + "Nodes"; + } + list srlg-attribute { + description + "SRLG attributes"; + uses RSI-SRLG-ATTR-DETAIL; + } + list rsip { + description + "rsip list"; + uses RSI-SRLG-RSIP-LIST; + } + } + + grouping RSI-SRLG-DESC-SHOW { + description + "Show RSI SRLG Description"; + leaf srlg-value { + type uint32; + description + "SRLG value"; + } + leaf description { + type string; + description + "SRLG description"; + } + } + + grouping RSI-SRLG-INHLOC-SHOW { + description + "Location for RSI SRLG"; + leaf location { + type string; + description + "Inherit node name"; + } + leaf node-values { + type uint32; + description + "Node value count"; + } + list srlg-attribute { + description + "SRLG attribute"; + uses RSI-SRLG-ATTR-BRIEF; + } + } + + grouping RSI-SRLG-NAME-VALUE-SHOW { + description + "Name value for RSI SRLG"; + leaf srlg-value { + type uint32; + description + "SRLG value"; + } + leaf srlg-name-xr { + type string; + description + "SRLG name"; + } + } + + grouping RSI-SRLG-RSIP-SHOW { + description + "RSIP for RSI SRLG"; + leaf optical-layer-interface-name { + type string; + description + "Optics interface"; + } + leaf registrations { + type uint32; + description + "Registration count"; + } + leaf interface-values { + type uint32; + description + "Interface value count"; + } + list srlg-attribute { + description + "SRLG attribute"; + uses RSI-SRLG-ATTR-BRIEF; + } + } + + grouping RSI-SRLG-INTF-BRIEF-SHOW { + description + "Interface for RSI SRLG"; + leaf interface-name-xr { + type string; + description + "Interface list"; + } + leaf value-count { + type uint32; + description + "Values"; + } + leaf registrations { + type uint32; + description + "Registration count"; + } + list srlg-value { + description + "SRLG values"; + leaf entry { + type uint32; + description + "SRLG values"; + } + } + } + + grouping RSI-SRLG-ATTR-BRIEF { + description + "Attribute for RSI SRLG"; + leaf srlg-value { + type uint32; + description + "SRLG value"; + } + leaf priority { + type Priority; + description + "Priority level"; + } + leaf srlg-index { + type uint16; + description + "Index"; + } + } + + grouping RSI-SRLG-GROUP-SHOW { + description + "Show RSI SRLG group"; + leaf group-name-xr { + type string; + description + "Group name"; + } + leaf group-values { + type uint32; + description + "Group value count"; + } + list srlg-attribute { + description + "SRLG attribute"; + uses RSI-SRLG-ATTR-BRIEF; + } + } + + grouping RSI-VRFGROUP-ATTR-BRIEF { + description + "Attribute brief for RSI VRF group"; + leaf vrf-name { + type string; + description + "VRF name"; + } + } + + grouping RSI-VRFGROUP-GROUP-SHOW { + description + "Show RSI VRF group"; + leaf vr-fs { + type uint32; + description + "Number of VRFs in this VRF group"; + } + leaf forward-reference { + type boolean; + description + "VRF group not present but used"; + } + list vrf { + description + "VRF group's VRF"; + uses RSI-VRFGROUP-ATTR-BRIEF; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper.yang new file mode 100644 index 000000000..5c0a72d04 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rsi-oper.yang @@ -0,0 +1,394 @@ +module Cisco-IOS-XR-infra-rsi-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rsi-oper"; + prefix infra-rsi-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-rsi-oper-sub2 { + revision-date 2020-09-21; + } + include Cisco-IOS-XR-infra-rsi-oper-sub1 { + revision-date 2020-09-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-rsi package operational data. + + This module contains definitions + for the following management objects: + vrf-group: VRF group operational data + srlg: RSI SRLG operational data + selective-vrf-download: Selective VRF Download operational + data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-21 { + description + "Operational support for new safi bier."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-13 { + description + "Fixing yang oper coverage."; + } + revision 2018-11-26 { + description + "Fixing yang usability issues."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container vrf-group { + config false; + description + "VRF group operational data"; + container nodes { + description + "Node operational data"; + list node { + key "node-name"; + description + "Node details"; + container groups { + description + "Group operational data"; + list group { + key "group-name"; + description + "Group details"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Group name"; + } + uses RSI-VRFGROUP-GROUP-SHOW; + } + } + leaf node-name { + type xr:Node-id; + description + "Node"; + } + } + } + } + container srlg { + config false; + description + "RSI SRLG operational data"; + container groups { + description + "Set of Groups configured for SRLG"; + list group { + key "group-name"; + description + "SRLG group details"; + leaf group-name { + type xr:Cisco-ios-xr-string; + description + "Group name"; + } + uses RSI-SRLG-GROUP-SHOW; + } + } + container interfaces { + description + "Set of interfaces configured for SRLG"; + list interface { + key "interface-name"; + description + "SRLG interface summary"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses RSI-SRLG-INTF-BRIEF-SHOW; + } + } + container rsips { + description + "Set of rsip configured for SRLG"; + list rsip { + key "rsip-name"; + description + "SRLG rsip details"; + leaf rsip-name { + type xr:Interface-name; + description + "Interface name"; + } + uses RSI-SRLG-RSIP-SHOW; + } + } + container srlg-maps { + description + "Set of SRLG name, value maps configured"; + list srlg-map { + key "srlg-name"; + description + "Configured SRLG name details "; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG name"; + } + uses RSI-SRLG-NAME-VALUE-SHOW; + } + } + container nodes { + description + "RSI SRLG operational data"; + list node { + key "node-name"; + description + "RSI SRLG operational data"; + container srlg-maps { + description + "Set of SRLG name, value maps configured"; + list srlg-map { + key "srlg-name"; + description + "Configured SRLG name details "; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG name"; + } + uses RSI-SRLG-NAME-VALUE-SHOW; + } + } + container groups { + description + "Set of Groups configured for SRLG"; + list group { + key "group-name"; + description + "SRLG group details"; + leaf group-name { + type xr:Cisco-ios-xr-string; + description + "Group name"; + } + uses RSI-SRLG-GROUP-SHOW; + } + } + container inherit-nodes { + description + "Set of inherit locations configured for SRLG"; + list inherit-node { + key "inherit-node-name"; + description + "SRLG inherit location details"; + leaf inherit-node-name { + type xr:Node-id; + description + "Inherit node"; + } + uses RSI-SRLG-INHLOC-SHOW; + } + } + container interfaces { + description + "Set of interfaces configured for SRLG"; + list interface { + key "interface-name"; + description + "SRLG interface summary"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses RSI-SRLG-INTF-BRIEF-SHOW; + } + } + container srlg-descriptions { + description + "Set of SRLG name, description configured"; + list srlg-description { + key "srlg-name"; + description + "Configured SRLG Description details "; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG name"; + } + uses RSI-SRLG-DESC-SHOW; + } + } + container interface-details { + description + "Set of interfaces configured for SRLG"; + list interface-detail { + key "interface-name"; + description + "SRLG interface info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses RSI-SRLG-INTF-DETAIL-SHOW; + } + } + container srlg-values { + description + "Set of SRLG values configured"; + list srlg-value { + key "value"; + description + "Configured SRLG value details "; + leaf value { + type uint32 { + range "0..4294967295"; + } + description + "SRLG value"; + } + uses RSI-SRLG-INTF-SHOW; + } + } + container interface-srlg-names { + description + "Set of SRLG names configured"; + list interface-srlg-name { + key "srlg-name"; + description + "Configured SRLG name details "; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG name"; + } + uses RSI-SRLG-NAME-INTF-SHOW; + } + } + leaf node-name { + type xr:Node-id; + description + "Node"; + } + } + } + container interface-srlg-names { + description + "Set of SRLG names configured"; + list interface-srlg-name { + key "srlg-name"; + description + "Configured SRLG name details "; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG name"; + } + uses RSI-SRLG-NAME-INTF-SHOW; + } + } + container inherit-nodes { + description + "Set of inherit locations configured for SRLG"; + list inherit-node { + key "inherit-node-name"; + description + "SRLG inherit location details"; + leaf inherit-node-name { + type xr:Node-id; + description + "Inherit Locatio"; + } + uses RSI-SRLG-INHLOC-SHOW; + } + } + container srlg-values { + description + "Set of SRLG values configured"; + list srlg-value { + key "value"; + description + "Configured SRLG value details "; + leaf value { + type uint32 { + range "0..4294967295"; + } + description + "SRLG value"; + } + uses RSI-SRLG-INTF-SHOW; + } + } + container interface-details { + description + "Set of interfaces configured for SRLG"; + list interface-detail { + key "interface-name"; + description + "SRLG interface info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses RSI-SRLG-INTF-DETAIL-SHOW; + } + } + } + container selective-vrf-download { + config false; + description + "Selective VRF Download operational data"; + container state { + description + "Selective VRF Download feature state details"; + uses RSI-MASTER-STATE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rt-check-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rt-check-cfg.yang new file mode 100644 index 000000000..557ff7171 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-rt-check-cfg.yang @@ -0,0 +1,109 @@ +module Cisco-IOS-XR-infra-rt-check-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rt-check-cfg"; + prefix infra-rt-check-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-rt-check package configuration. + + This module contains definitions + for the following management objects: + rcc: RCC (Route Consistency Checker) configuration + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-27 { + description + "Removed Mulicast SAFI from RCC/LCC config which has never been supported."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping UNICAST { + description + "Common node of ipv4, ipv6"; + container unicast { + description + "RCC configuration for unicast"; + uses PERIOD; + uses ENABLE; + } + } + + grouping PERIOD { + description + "Common node of unicast, lcc"; + leaf period { + type uint32 { + range "100..600000"; + } + units "millisecond"; + description + "Period of check in milliseconds"; + } + } + + grouping ENABLE { + description + "Common node of unicast, lcc"; + leaf enable { + type empty; + description + "Enable RCC/LCC"; + } + } + + grouping LCC { + description + "Common node of ipv4, ipv6"; + container lcc { + description + "IPv4/IPv6 LCC (Label Consistency Checker) + configuration"; + uses PERIOD; + uses ENABLE; + } + } + + container rcc { + description + "RCC (Route Consistency Checker) configuration"; + container ipv6 { + description + "RCC/LCC configuration for IPv6"; + uses LCC; + uses UNICAST; + } + container ipv4 { + description + "RCC/LCC configuration for IPv4"; + uses LCC; + uses UNICAST; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-act.yang new file mode 100644 index 000000000..1ab0dda6c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-act.yang @@ -0,0 +1,568 @@ +module Cisco-IOS-XR-infra-script-mgmt-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-act"; + prefix script-mgmt-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-23 { + description + "Added checksum-type to add-checksum and run. Removed 'URL' from script run"; + semver:module-version "2.0.1M"; + } + revision 2020-10-12 { + description + "Added container for filenames"; + semver:module-version "1.0.0"; + } + revision 2020-10-09 { + description + "Added grouping for checksum"; + } + revision 2020-10-09 { + description + "Added grouping for file list"; + } + revision 2020-10-09 { + description + "Separated leaf-list into individual leafs"; + } + revision 2020-10-08 { + description + "Initial version"; + } + + typedef SCRIPT-TYPE { + type enumeration { + enum "exec" { + value 0; + description + "Exec script type"; + } + enum "eem" { + value 1; + description + "EEM script type"; + } + enum "process" { + value 2; + description + "Process script type"; + } + enum "config" { + value 3; + description + "Config script type"; + } + enum "snmp" { + value 4; + description + "SNMP script type"; + } + enum "precommit" { + value 5; + description + "Precommit script type"; + } + } + description + "Script type"; + } + + typedef SCRIPT-TYPE-ALL { + type enumeration { + enum "exec" { + value 0; + description + "Exec script type"; + } + enum "eem" { + value 1; + description + "EEM script type"; + } + enum "process" { + value 2; + description + "Process script type"; + } + enum "config" { + value 3; + description + "Config script type"; + } + enum "snmp" { + value 4; + description + "SNMP script type"; + } + enum "precommit" { + value 5; + description + "Precommit script type"; + } + enum "all" { + value 6; + description + "All scripts"; + } + } + description + "Script type"; + } + + typedef LOG-LEVEL { + type enumeration { + enum "CRITICAL" { + value 0; + description + "Log messages with severity CRITICAL"; + } + enum "DEBUG" { + value 1; + description + "Log messages with severity DEBUG"; + } + enum "ERROR" { + value 2; + description + "Log messages with severity ERROR"; + } + enum "INFO" { + value 3; + description + "Log messages with severity INFO"; + } + enum "WARNING" { + value 4; + description + "Log messages with severity WARNING"; + } + } + description + "LOG-LEVEL"; + } + + typedef CHECKSUM-TYPE { + type enumeration { + enum "SHA256" { + value 1; + description + "Specify an SHA256 checksum"; + } + } + } + + typedef update-condition { + type enumeration { + enum "manual" { + value 0; + description + "update scripts configured for manual update"; + } + } + description + "script update condition"; + } + + grouping SCRIPT-LIST { + description + "Scripts to add/remove"; + leaf-list script-name { + type string { + length "1..256"; + } + min-elements 1; + max-elements "10"; + description + "Script File name to add/remove"; + } + } + + grouping SCRIPT-CHECKSUM-LIST { + description + "Scripts and checksums to add"; + list script-checksums { + key "script-name"; + min-elements 1; + max-elements "10"; + description + "List of script and checksum pairs to add; max 10 script/checksum pairs can be added"; + leaf script-name { + type string { + length "1..256"; + } + mandatory true; + description + "Script File name to add"; + } + leaf checksum-type { + type CHECKSUM-TYPE; + mandatory true; + description + "Specify a checksum for the script"; + } + leaf checksum { + type string { + length "64"; + } + mandatory true; + description + "SHA256 checksum value of script"; + } + } + } + + grouping SCRIPT-ADD-REMOVE-OUTPUT { + description + "Output/Response for Script Add/Remove"; + list responses { + key "script-name"; + description + "List of Success or error messages for the script operations"; + leaf script-name { + type string; + mandatory true; + description + "Name of script executed"; + } + leaf response { + type string; + mandatory true; + description + "Success or error message for the operation"; + } + leaf status { + type string; + mandatory true; + description + "success or fail"; + } + } + } + + rpc add { + description + "Add script to script repository"; + input { + leaf script-type { + type SCRIPT-TYPE; + mandatory true; + description + "Type of script to add"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specify the VRF for the network file system"; + } + leaf source { + type string { + length "1..1024"; + } + mandatory true; + description + "Enter source directory for the script(s) + Example: + http://[user:password@]server[:port]/directory/ + https://[user:password@]server[:port]/directory/ + ftp://[user:password@]server[:port]/directory/ + tftp://[user:password@]server[:port]/directory/ + scp://[user@]server:/directory/ + /directory/"; + } + leaf location { + type string { + length "1..20"; + } + description + "Fully Qualified RP location"; + } + uses SCRIPT-LIST; + } + output { + container script-add-response { + description + "Script Add Response"; + uses SCRIPT-ADD-REMOVE-OUTPUT; + } + } + } + rpc add-checksum { + description + "Add script to script repository"; + input { + leaf script-type { + type SCRIPT-TYPE; + mandatory true; + description + "Type of script to add"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specify the VRF for the network file system"; + } + leaf source { + type string { + length "1..1024"; + } + mandatory true; + description + "Enter source directory for the script(s) + Example: + http://[user:password@]server[:port]/directory/ + https://[user:password@]server[:port]/directory/ + ftp://[user:password@]server[:port]/directory/ + tftp://[user:password@]server[:port]/directory/ + scp://[user@]server:/directory/ + /directory/"; + } + leaf location { + type string { + length "1..20"; + } + description + "Fully Qualified RP location"; + } + uses SCRIPT-CHECKSUM-LIST; + } + output { + container script-add-checksum-response { + description + "Script Add-Checksum Response"; + uses SCRIPT-ADD-REMOVE-OUTPUT; + } + } + } + rpc remove { + description + "Remove script from script repository"; + input { + leaf script-type { + type SCRIPT-TYPE; + mandatory true; + description + "Type of script to remove"; + } + uses SCRIPT-LIST; + } + output { + container script-remove-response { + description + "Script Remove Response"; + uses SCRIPT-ADD-REMOVE-OUTPUT; + } + } + } + rpc stop { + description + "Stop OP script"; + input { + leaf request-id { + type uint32; + mandatory true; + description + "Request ID of job in queue"; + } + leaf description { + type string { + length "1..512"; + } + description + "Reason why user wants to stop script execution"; + } + } + output { + container script-stop-response { + description + "Script Stop Response"; + leaf response { + type string; + mandatory true; + description + "Success or error message for the operation"; + } + leaf status { + type string; + mandatory true; + description + "success or fail"; + } + } + } + } + rpc run { + description + "Run Exec script from script repository"; + input { + leaf script-name { + type string { + length "1..1024"; + } + mandatory true; + description + "Name of Exec script to run (OR) Enter URL source. Example: [protocol]://[user:password@]server[:port]/directory/file_name"; + } + leaf checksum-type { + type CHECKSUM-TYPE; + description + "Specify a checksum for the script"; + } + leaf checksum { + type string { + length "64"; + } + description + "Specify SHA256 checksum value of source file"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specify the VRF for the network file system"; + } + leaf argument-list { + type string { + length "1..1024"; + } + description + "Script command line argument(s). FORMAT: Strings in single quotes.Escape double quotes inside string arguments(if any)"; + } + leaf description { + type string { + length "1..512"; + } + description + "Description of script run"; + } + leaf log-level { + type LOG-LEVEL; + description + "Script logging level. Default is INFO"; + } + leaf log-path { + type string { + length "1..512"; + } + description + "Location to store script logs"; + } + leaf max-runtime { + type uint16 { + range "1..3600"; + } + description + "max runtime in seconds"; + } + } + output { + container script-run-response { + description + "Script Run Response"; + leaf response { + type string; + mandatory true; + description + "Success or error message for the operation"; + } + leaf request-id { + type string; + description + "Request id of the script execution"; + } + leaf status { + type string; + mandatory true; + description + "success or fail"; + } + } + } + } + rpc update { + description + "update scripts in repository"; + input { + leaf condition { + type update-condition; + mandatory true; + description + "script update condition"; + } + leaf script-type { + type SCRIPT-TYPE-ALL; + mandatory true; + description + "config-script|eem-script|exec-script|process-script|snmp-script|precommit-script|all"; + } + leaf script-name { + type string { + length "1..256"; + } + description + "Script name/Update all scripts in config"; + } + } + output { + container script-update-response { + description + "Script Update Response"; + list responses { + key "script-name script-type"; + description + "List of Success or error messages for the script operations"; + leaf script-name { + type string; + mandatory true; + description + "Name of script executed"; + } + leaf script-type { + type string; + mandatory true; + description + "script type: exec|eem|config|process|snmp|precommit"; + } + leaf response { + type string; + mandatory true; + description + "Success or error message for the operation"; + } + leaf status { + type string; + mandatory true; + description + "success or fail"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-cfg.yang new file mode 100644 index 000000000..3b3ee756d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-cfg.yang @@ -0,0 +1,354 @@ +module Cisco-IOS-XR-infra-script-mgmt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-cfg"; + prefix infra-script-mgmt-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-script-mgmt package configuration. + + This module contains definitions + for the following management objects: + scripts: Script-mgmt configuration data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-22 { + description + "Fixed default values, deprecated redundant classes ie., manual-update, scheduled-update, runtime-update. Added script-update class + 2022-08-09 + Fixed SNMP checksum configuration + 2022-08-03 + Changes to Precommit script priority configuration + 2022-08-03 + Changes to Precommit script priority configuration + 2022-04-29 + Fixed precommit checksum configuration issue + 2022-04-29 + Extend schema to support precommit priority config. + 2022-03-23 + Added precommit as a new script type supported by script management. + 2021-12-13 + Added snmp as a new script type supported by script management."; + semver:module-version "2.0.1M"; + } + revision 2021-08-31 { + description + "Define range for update interval in yang + 2021-08-25 + Encrypt password in auto-update config + 2021-08-14 + Extend schema to support auto-update feature + 2021-07-20 + revert checksum type to Enum"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Config-checksum { + type enumeration { + enum "sha256" { + value 1; + description + "SHA256"; + } + } + description + "Config checksum"; + } + + typedef On-failure { + type enumeration { + enum "do-not-run" { + value 0; + description + "do not run"; + } + enum "run-local" { + value 1; + description + "run local"; + } + } + description + "On failure"; + } + + grouping SCRIPT-UPDATE-TABLE { + description + "Common node of eem-script, config-script"; + container script-updates { + description + "Name of script"; + list script-update { + key "script-name"; + description + "Config Script activation item"; + leaf script-name { + type xr:Cisco-ios-xr-string; + description + "Script name"; + } + uses CONDITION-SCHEDULE; + uses CONDITION-MANUAL; + } + } + } + + grouping CONDITION-SCHEDULE { + description + "Common node of script, script-update, + script-precommit"; + container condition-schedule { + presence "Indicates a condition-schedule node is configured."; + description + "auto-update condition"; + leaf url { + type string; + mandatory true; + description + "URL location"; + } + leaf update-interval { + type uint32 { + range "60..262800"; + } + mandatory true; + description + "update interval"; + } + leaf username { + type string; + description + "Username"; + } + leaf password { + type xr:Proprietary-password; + description + "Password"; + } + leaf vrf { + type string; + mandatory true; + description + "VRF name"; + } + } + } + + grouping CONDITION-MANUAL { + description + "Common node of script, script-update, + script-precommit"; + container condition-manual { + presence "Indicates a condition-manual node is configured."; + description + "auto-update condition"; + leaf url { + type string; + mandatory true; + description + "URL location"; + } + leaf username { + type string; + description + "Username"; + } + leaf password { + type xr:Proprietary-password; + description + "Password"; + } + leaf vrf { + type string; + mandatory true; + description + "VRF name"; + } + } + } + + grouping SCRIPT-TABLE { + description + "Common node of exec-script, process-script, + snmp-script"; + container scripts { + description + "Name of script"; + list script { + key "script-name"; + description + "Config Script activation item"; + container condition-runtime { + presence "Indicates a condition-runtime node is configured."; + description + "auto-update condition"; + leaf url { + type string; + mandatory true; + description + "URL location"; + } + leaf failure { + type On-failure; + mandatory true; + description + "run local/do not run"; + } + leaf username { + type string; + description + "Username"; + } + leaf password { + type xr:Proprietary-password; + description + "Password"; + } + leaf vrf { + type string; + mandatory true; + description + "VRF name"; + } + } + container checksum { + presence "Indicates a checksum node is configured."; + description + "Checksum of script"; + leaf checksum-type { + type Config-checksum; + mandatory true; + description + "Checksum type"; + } + leaf checksum { + type string { + length "64"; + } + mandatory true; + description + "Checksum value"; + } + } + leaf script-name { + type xr:Cisco-ios-xr-string; + description + "Script name"; + } + uses CONDITION-SCHEDULE; + uses CONDITION-MANUAL; + } + } + } + + container scripts { + description + "Script-mgmt configuration data"; + container exec-script { + description + "Exec script"; + uses SCRIPT-TABLE; + } + container snmp-script { + description + "Snmp script"; + uses SCRIPT-TABLE; + } + container config-script { + description + "Config scripts"; + uses SCRIPT-UPDATE-TABLE; + } + container eem-script { + description + "Eem script"; + uses SCRIPT-UPDATE-TABLE; + } + container process-script { + description + "Process script"; + uses SCRIPT-TABLE; + } + container precommit-script { + description + "Precommit script"; + container script-precommits { + description + "Name of script"; + list script-precommit { + key "script-name"; + description + "Config Script activation item"; + container precommit-checksum { + presence "Indicates a precommit-checksum node is configured."; + description + "Checksum of script"; + leaf checksum-type { + type Config-checksum; + mandatory true; + description + "Checksum type"; + } + leaf checksum { + type string { + length "64"; + } + mandatory true; + description + "Checksum value"; + } + leaf priority { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Precommit Script priority"; + } + } + leaf active { + type empty; + description + "Activate Precommit script"; + } + leaf script-name { + type xr:Cisco-ios-xr-string; + description + "Script name"; + } + uses CONDITION-SCHEDULE; + uses CONDITION-MANUAL; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper-sub1.yang new file mode 100644 index 000000000..024e53f25 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper-sub1.yang @@ -0,0 +1,420 @@ +submodule Cisco-IOS-XR-infra-script-mgmt-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-script-mgmt-oper { + prefix Cisco-IOS-XR-infra-script-mgmt-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-script-mgmt package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-21 { + description + "Added script repo type to script status + 2022-05-24 + Added show-del for script execution + 2022-05-17 + Added show-del and other options for script status/execution + 2022-03-23 + Added precommit as a new script type supported by script management. + 2021-12-13 + Added snmp as a new script type supported by script management."; + semver:module-version "2.0.1M"; + } + revision 2021-04-08 { + description + "Removed Detail, Output, Error, Reverse, Last, classes under ShowDel."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SCRIPT-EXECUTION-DETAIL { + description + "Execution detail bag"; + list execution-detail { + description + "Execution Details"; + uses EXEC-DETAILS; + } + } + + grouping EXEC-LOG-TYPE { + description + "Show Script Execution - Log Fields"; + leaf output-file { + type string; + description + "Output File Path"; + } + leaf output-file-content { + type string; + description + "Output File Content"; + } + leaf error-file { + type string; + description + "Error File Path"; + } + leaf error-file-content { + type string; + description + "Error File Content"; + } + } + + grouping EXEC-LOGS { + description + "Execution log struct"; + container execution-details { + description + "Execution Details"; + uses EXEC-DETAILS; + } + container execution-log { + description + "Log information for execution request(s)"; + uses EXEC-LOG-TYPE; + } + } + + grouping SCRIPT-EXECUTION-LOG { + description + "Execution log bag"; + list execution-log-detail { + description + "Execution Log (Output/Error) Details"; + uses EXEC-LOGS; + } + } + + grouping SCRIPT-EXECUTION-SUMMARY { + description + "Execution summary bag"; + list execution-summary { + description + "Summary of requests"; + uses EXEC-SUM-TYPE; + } + } + + grouping EXEC-LOG-OUTPUT-TYPE { + description + "Show Script Execution - Log Fields"; + leaf output-file { + type string; + description + "Output File Path"; + } + leaf output-file-content { + type string; + description + "Output File Content"; + } + } + + grouping EXEC-OUTPUT-LOGS { + description + "Execution log struct"; + container execution-details { + description + "Execution Details"; + uses EXEC-DETAILS; + } + container execution-log { + description + "Log information for execution request(s)"; + uses EXEC-LOG-OUTPUT-TYPE; + } + } + + grouping SCRIPT-EXECUTION-OUTPUT-LOG { + description + "Execution log bag"; + list execution-log-detail { + description + "Execution Log (Output/Error) Details"; + uses EXEC-OUTPUT-LOGS; + } + } + + grouping EXEC-LOG-ERROR-TYPE { + description + "Show Script Execution - Log Fields"; + leaf error-file { + type string; + description + "Error File Path"; + } + leaf error-file-content { + type string; + description + "Error File Content"; + } + } + + grouping EXEC-EVENT-TYPE { + description + "Show Script Execution - Event Fields"; + leaf description { + type string; + description + "Description"; + } + leaf duration { + type string; + description + "Time Elapsed"; + } + leaf event { + type string; + description + "Event"; + } + leaf time { + type string; + description + "Time"; + } + } + + grouping EXEC-DETAIL-TYPE { + description + "Show Script Execution - Detail Fields"; + leaf log-path { + type string; + description + "Log location"; + } + leaf arguments { + type string; + description + "Arguments for script execution"; + } + leaf run-options { + type string; + description + "Run options"; + } + } + + grouping EXEC-SUM-TYPE { + description + "Script execution summary struct"; + leaf request-id { + type uint32; + description + "Request Id of script execution"; + } + leaf return-val { + type string; + description + "Return value of execution"; + } + leaf script-type { + type string; + description + "Repository of script being executed"; + } + leaf script-name { + type string; + description + "Script name that script being execution"; + } + leaf duration { + type string; + description + "Duration of script execution"; + } + leaf event-time { + type string; + description + "Start time of script execution"; + } + leaf status { + type string; + description + "Status of script exectuion"; + } + } + + grouping EXEC-DETAILS { + description + "Execution detail struct"; + container execution-summary { + description + "Summary information for execution request(s)"; + uses EXEC-SUM-TYPE; + } + container execution-detail { + description + "Detail information for execution request(s)"; + uses EXEC-DETAIL-TYPE; + } + list execution-event { + description + "Event information for execution request(s)"; + uses EXEC-EVENT-TYPE; + } + } + + grouping EXEC-ERROR-LOGS { + description + "Execution log struct"; + container execution-details { + description + "Execution Details"; + uses EXEC-DETAILS; + } + container execution-log { + description + "Log information for execution request(s)"; + uses EXEC-LOG-ERROR-TYPE; + } + } + + grouping SCRIPT-EXECUTION-ERROR-LOG { + description + "Execution log bag"; + list execution-log-detail { + description + "Execution Log (Output/Error) Details"; + uses EXEC-ERROR-LOGS; + } + } + + grouping SCRIPT-STATUS-SUMMARY { + description + "Status summary bag"; + list status-summary { + description + "Summary information for script status"; + uses STATUS-SUMMARY-TYPE; + } + } + + grouping STATUS-HISTORY-TYPE { + description + "Show Script Status - History Fields"; + leaf action { + type string; + description + "Script action"; + } + leaf checksum { + type string; + description + "Checksum of script"; + } + leaf description { + type string; + description + "Description of user action"; + } + leaf time-stamp { + type string; + description + "Time of script action"; + } + } + + grouping STATUS-SUMMARY-TYPE { + description + "Show Script Status - Summary Fields"; + leaf last-action { + type string; + description + "Last action of the script"; + } + leaf last-action-time { + type string; + description + "Time of last action"; + } + leaf script-name { + type string; + description + "Name of Script"; + } + leaf script-type { + type string; + description + "Type of script"; + } + leaf status { + type string; + description + "Status of script"; + } + } + + grouping STATUS-DETAILS { + description + "Status detail struct"; + container status-summary { + description + "Summary information for script status"; + uses STATUS-SUMMARY-TYPE; + } + leaf checksum { + type string; + description + "Checksum of script"; + } + leaf script-description { + type string; + description + "Description of script"; + } + leaf script-repository-type { + type string; + description + "Repository type of script "; + } + leaf script-arguments { + type string; + description + "Arguments to pass to script"; + } + list status-history { + description + "History information for script"; + uses STATUS-HISTORY-TYPE; + } + } + + grouping SCRIPT-STATUS-DETAIL { + description + "Status Detail bag"; + list status-detail { + description + "Script status details"; + uses STATUS-DETAILS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper.yang new file mode 100644 index 000000000..9b3f42cd6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-script-mgmt-oper.yang @@ -0,0 +1,1837 @@ +module Cisco-IOS-XR-infra-script-mgmt-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-oper"; + prefix infra-script-mgmt-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-script-mgmt-oper-sub1 { + revision-date 2022-11-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-script-mgmt package operational data. + + This module contains definitions + for the following management objects: + script: Script operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-21 { + description + "Added script repo type to script status + 2022-05-24 + Added show-del for script execution + 2022-05-17 + Added show-del and other options for script status/execution + 2022-03-23 + Added precommit as a new script type supported by script management. + 2021-12-13 + Added snmp as a new script type supported by script management."; + semver:module-version "2.0.1M"; + } + revision 2021-04-08 { + description + "Removed Detail, Output, Error, Reverse, Last, classes under ShowDel."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TYPE-SHOW-DEL { + description + "Common node of exec-script, process-script, + config-script, eem-script, snmp-script, + precommit-script"; + container type-show-del { + description + "Detailed deleted script status information of + specified script type"; + container summary { + description + "Status Information about a particular script"; + uses SCRIPT-STATUS-SUMMARY; + } + } + } + + grouping TYPE-LAST-TABLE { + description + "Common node of exec-script, process-script, + config-script, eem-script, snmp-script, + precommit-script"; + container lasts { + description + "Detailed script status information given last + number of scripts"; + list last { + key "last-num"; + description + "Detailed script status information given last + number of scripts"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + } + + grouping REVERSE { + description + "Common node of exec-script, process-script, + config-script, eem-script, snmp-script, + precommit-script"; + container reverse { + description + "Detailed script status information reversed"; + uses SCRIPT-STATUS-DETAIL; + } + } + + grouping SHOW-DELETE { + description + "Common node of exec-script, process-script, + config-script, eem-script, snmp-script, + precommit-script"; + container show-delete { + description + "Detailed script status information reversed"; + uses SCRIPT-STATUS-DETAIL; + } + } + + grouping TYPE-NAME-TABLE { + description + "Common node of exec-script, process-script, + config-script, eem-script, snmp-script, + precommit-script"; + container type-names { + description + "Script status information given script type and + script name"; + list type-name { + key "name-str"; + description + "Script Status Information about a particular + script"; + container reverse { + description + "Detailed script status information reversed"; + uses SCRIPT-STATUS-DETAIL; + } + container detail { + description + "Detailed script status information"; + uses SCRIPT-STATUS-DETAIL; + } + container type-name-detail-show-del { + description + "Deleted information about a particular script"; + uses SCRIPT-STATUS-DETAIL; + } + container lasts { + description + "Detailed script status information given last + number of scripts"; + list last { + key "last-num"; + description + "Detailed script status information given last + number of scripts"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container type-name-detail-last-show-dels { + description + "Detailed information of a particular execution + request"; + list type-name-detail-last-show-del { + key "last-num"; + description + "Detailed information of a particular + execution request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container summary { + description + "Status Information about a particular script"; + uses SCRIPT-STATUS-SUMMARY; + } + container type-name-show-del { + description + "Deleted information about a particular script"; + container summary { + description + "Status summary information about a particular + script"; + uses SCRIPT-STATUS-SUMMARY; + } + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Script name"; + } + } + } + } + + grouping DETAIL-SHOW-DEL { + description + "Common node of exec-script, process-script, + config-script, eem-script, snmp-script, + precommit-script"; + container detail-show-del { + description + "Deleted information about a particular script"; + uses SCRIPT-STATUS-DETAIL; + } + } + + grouping SUMMARY { + description + "Common node of exec-script, eem-script, + process-script, config-script, snmp-script, + precommit-script"; + container summary { + description + "Show script status information"; + uses SCRIPT-STATUS-SUMMARY; + } + } + + grouping DETAIL { + description + "Common node of exec-script, process-script, + config-script, eem-script, snmp-script, + precommit-script"; + container detail { + description + "Detailed script status information"; + uses SCRIPT-STATUS-DETAIL; + } + } + + container script { + config false; + description + "Script operational data"; + container status { + description + "Script status information"; + container detail-reverse-showdel-table { + description + "Detailed information of a particular execution + request"; + container detail-reverse-showdel { + description + "Detailed information of a particular execution + request"; + uses SCRIPT-STATUS-DETAIL; + } + } + container lasts { + description + "Detailed information of a particular execution + request"; + list last { + key "last-num"; + description + "Detailed information of a particular execution + request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container detail-reverse-lasts { + description + "Detailed information of a particular execution + request"; + list detail-reverse-last { + key "last-num"; + description + "Detailed information of a particular execution + request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container detail-last-show-dels { + description + "Detailed information of a particular execution + request"; + list detail-last-show-del { + key "last-num"; + description + "Detailed information of a particular execution + request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container type { + description + "Show script status type information"; + container process-script { + description + "Show script status type information"; + uses TYPE-LAST-TABLE; + uses TYPE-SHOW-DEL; + uses SHOW-DELETE; + uses REVERSE; + uses DETAIL-SHOW-DEL; + uses DETAIL; + uses TYPE-NAME-TABLE; + uses SUMMARY; + } + container eem-script { + description + "Show script status type information"; + uses TYPE-LAST-TABLE; + uses TYPE-SHOW-DEL; + uses SHOW-DELETE; + uses REVERSE; + uses DETAIL-SHOW-DEL; + uses DETAIL; + uses TYPE-NAME-TABLE; + uses SUMMARY; + } + container config-script { + description + "Show script status type information"; + uses TYPE-LAST-TABLE; + uses TYPE-SHOW-DEL; + uses SHOW-DELETE; + uses REVERSE; + uses DETAIL-SHOW-DEL; + uses DETAIL; + uses TYPE-NAME-TABLE; + uses SUMMARY; + } + container precommit-script { + description + "Show script status type information"; + uses TYPE-LAST-TABLE; + uses TYPE-SHOW-DEL; + uses SHOW-DELETE; + uses REVERSE; + uses DETAIL-SHOW-DEL; + uses DETAIL; + uses TYPE-NAME-TABLE; + uses SUMMARY; + } + container exec-script { + description + "Show script status type information"; + uses TYPE-LAST-TABLE; + uses TYPE-SHOW-DEL; + uses SHOW-DELETE; + uses REVERSE; + uses DETAIL-SHOW-DEL; + uses DETAIL; + uses TYPE-NAME-TABLE; + uses SUMMARY; + } + container snmp-script { + description + "Show script status type information"; + uses TYPE-LAST-TABLE; + uses TYPE-SHOW-DEL; + uses SHOW-DELETE; + uses REVERSE; + uses DETAIL-SHOW-DEL; + uses DETAIL; + uses TYPE-NAME-TABLE; + uses SUMMARY; + } + } + container reverse { + description + "Detailed information of a particular execution + request"; + uses SCRIPT-STATUS-DETAIL; + } + container status-names { + description + "Information about last request"; + list status-name { + key "name-str"; + description + "Status Information about a particular script"; + container status-name-detail-reverse-last-show-dels { + description + "Detailed information of a particular + execution request"; + list status-name-detail-reverse-last-show-del { + key "last-num"; + description + "Detailed information of a particular + execution request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container show-delete { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-STATUS-DETAIL; + } + container reverse { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-STATUS-DETAIL; + } + container status-name-detail-reverse-show-del { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-STATUS-DETAIL; + } + container detail { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-STATUS-DETAIL; + } + container status-name-show-del { + description + "Show script status detail information"; + container summary { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-STATUS-SUMMARY; + } + } + container detail-last-show-dels { + description + "Detailed information of a particular + execution request"; + list detail-last-show-del { + key "last-num"; + description + "Detailed information of a particular + execution request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container summary { + description + "Status Information about a particular script"; + uses SCRIPT-STATUS-SUMMARY; + } + container status-name-detail-reverse-lasts { + description + "Detailed information of a particular + execution request"; + list status-name-detail-reverse-last { + key "last-num"; + description + "Detailed information of a particular + execution request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container lasts { + description + "Detailed information of a particular + execution request"; + list last { + key "last-num"; + description + "Detailed information of a particular + execution request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container detail-showdel { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-STATUS-DETAIL; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container detail-reverse-last-show-dels { + description + "Detailed information of a particular execution + request"; + list detail-reverse-last-show-del { + key "last-num"; + description + "Detailed information of a particular execution + request"; + leaf last-num { + type uint32; + description + "Last number of scripts"; + } + uses SCRIPT-STATUS-DETAIL; + } + } + container detail { + description + "Detailed information of a particular execution + request"; + uses SCRIPT-STATUS-DETAIL; + } + container summary { + description + "Script status summary information"; + uses SCRIPT-STATUS-SUMMARY; + } + container show-del { + description + "Information about deleted scripts"; + container summary { + description + "Detailed information of a particular execution + request"; + uses SCRIPT-STATUS-SUMMARY; + } + } + } + container execution { + description + "Information about script execution"; + container error-showdel { + description + "Error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + container lasts { + description + "Information about last request"; + list last { + key "last-num"; + description + "Information about last request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container last-names { + description + "Status Details about a particular execution + request"; + list last-name { + key "name-str"; + description + "Information about a particular request"; + container last-name-show-del { + description + "Status Details about a particular execution + request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container last-name-detail-show-del { + description + "Status Details about a particular execution + request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Information about script execution for last + script request executed"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + container last-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + leaf last-num { + type uint32; + description + "Last given number of executed requests"; + } + } + } + container output-showdel { + description + "Output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container execution-statuses { + description + "Information about status of script execution"; + list execution-status { + key "status-str"; + description + "Status Information about request"; + container status-lasts { + description + "Status Reverse Details about a particular + execution request"; + list status-last { + key "last-num"; + description + "Information about last request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container status-last-names { + description + "Status Reverse Details about a particular + execution request"; + list status-last-name { + key "name-str"; + description + "Information about a particular request"; + container status-last-name-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf last-num { + type uint32; + description + "Last given number of executed requests"; + } + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container status-reverse { + description + "Status Details about a particular execution + request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + container status-reverse-lasts { + description + "Status Details about a particular execution + request"; + list status-reverse-last { + key "last-num"; + description + "Information about last request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container status-reverse-last-names { + description + "Status Details about a particular + execution request"; + list status-reverse-last-name { + key "name-str"; + description + "Information about a particular request"; + container status-reverse-last-name-show-del { + description + "Status Details about a particular + execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf last-num { + type uint32; + description + "Last given number of executed requests"; + } + } + } + } + container status-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container execution-status-names { + description + "Status Reverse Details about a particular + execution request"; + list execution-status-name { + key "name-str"; + description + "Information about a particular request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container execution-status-name-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container summary { + description + "Status information for script execution"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf status-str { + type xr:Cisco-ios-xr-string; + description + "Status of given executed requests"; + } + } + } + container output { + description + "Output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error-showdel { + description + "Output and Error log for script execution"; + uses SCRIPT-EXECUTION-LOG; + } + container output-error { + description + "Output and Error log for script execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Detailed information about script execution"; + uses SCRIPT-EXECUTION-DETAIL; + } + container requests { + description + "Information about script execution requests"; + list request { + key "request-id"; + description + "Information about a particular request"; + container request-statuses { + description + "Status Details about a particular execution + request"; + list request-status { + key "status-str"; + description + "Status Information about request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container request-status-reverse { + description + "Status Reverse Details about a particular + execution request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container request-status-reverse-lasts { + description + "Status Reverse Details about a particular + execution request"; + list request-status-reverse-last { + key "last-num"; + description + "Information about last request"; + container request-status-reverse-last-names { + description + "Status Reverse Details about a + particular execution request"; + list request-status-reverse-last-name { + key "name-str"; + description + "Information about a particular request"; + container request-status-reverse-last-name-show-del { + description + "Status Reverse Details about a + particular execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output { + description + "Detailed output log for script + execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for + script execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script + execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf last-num { + type uint32; + description + "Last given number of executed requests"; + } + } + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf status-str { + type xr:Cisco-ios-xr-string; + description + "Status of given executed requests"; + } + } + } + container request-names { + description + "Status Reverse Details about a particular + execution request"; + list request-name { + key "name-str"; + description + "Information about a particular request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container request-name-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container request-reverse { + description + "Status Reverse Details about a particular + execution request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + container req-rev-lasts { + description + "Status Reverse Details about a particular + execution request"; + list req-rev-last { + key "last-num"; + description + "Information about last request"; + container req-rev-last-names { + description + "Status Reverse Details about a particular + execution request"; + list req-rev-last-name { + key "name-str"; + description + "Information about a particular request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container request-reverse-last-name-show-del { + description + "Status Reverse Details about a + particular execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf last-num { + type uint32; + description + "Last given number of executed requests"; + } + } + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container request-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container request-lasts { + description + "Status Reverse Details about a particular + execution request"; + list request-last { + key "last-num"; + description + "Information about last request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container request-last-names { + description + "Status Reverse Details about a particular + execution request"; + list request-last-name { + key "name-str"; + description + "Information about a particular request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container request-last-name-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf last-num { + type uint32; + description + "Last given number of executed requests"; + } + } + } + container summary { + description + "Summary information of particular execution + request id"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf request-id { + type xr:Cisco-ios-xr-string; + description + "Show Execution Request ID"; + } + } + } + container names { + description + "Execution information about specific script"; + list name { + key "name-str"; + description + "Information about a particular request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container detail-show-del { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Detailed information of a particular + execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container name-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container summary { + description + "Information about script execution for a + particular script"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container reverse { + description + "Information about last request"; + container reverse-names { + description + "Status Reverse Details about a particular + execution request"; + list reverse-name { + key "name-str"; + description + "Information about a particular request"; + container reverse-name-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container reverse-lasts { + description + "Status Reverse Details about a particular + execution request"; + list reverse-last { + key "last-num"; + description + "Information about last request"; + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container reverse-last-names { + description + "Status Details about a particular execution + request"; + list reverse-last-name { + key "name-str"; + description + "Information about a particular request"; + container reverse-last-name-show-del { + description + "Status Details about a particular + execution request"; + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container output { + description + "Detailed output log for script execution"; + uses SCRIPT-EXECUTION-OUTPUT-LOG; + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Show execution request status summary + about a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf name-str { + type xr:Cisco-ios-xr-string; + description + "Show Execution Name string"; + } + } + } + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + leaf last-num { + type uint32; + description + "Last given number of executed requests"; + } + } + } + container output-error { + description + "Detailed output and error log for script + execution"; + uses SCRIPT-EXECUTION-LOG; + } + container detail { + description + "Detailed information of a particular execution + request"; + uses SCRIPT-EXECUTION-DETAIL; + } + container summary { + description + "Information about script execution for last + script request executed"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Detailed error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + container reverse-show-del { + description + "Status Reverse Details about a particular + execution request"; + container summary { + description + "Show execution request status summary about + a particular execution request"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + } + container summary { + description + "Summary information about script execution"; + uses SCRIPT-EXECUTION-SUMMARY; + } + container error { + description + "Error log for script execution"; + uses SCRIPT-EXECUTION-ERROR-LOG; + } + container execution-show-del { + description + "Deleted information about script execution"; + container summary { + description + "Deleted information for script execution"; + uses SCRIPT-EXECUTION-SUMMARY; + } + } + container detail-showdel { + description + "Detailed information about script execution"; + uses SCRIPT-EXECUTION-DETAIL; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-cfg.yang new file mode 100644 index 000000000..45f4f8049 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-cfg.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-infra-sla-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-cfg"; + prefix infra-sla-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-sla package configuration. + + This module contains definitions + for the following management objects: + sla: SLA prtocol and profile Configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-02 { + description + "Thresholds and actions schema/yang updated with stateful thresholds"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sla { + description + "SLA prtocol and profile Configuration"; + container protocols { + description + "Table of all SLA protocols"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-datatypes.yang new file mode 100644 index 000000000..c44bc392f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-datatypes.yang @@ -0,0 +1,534 @@ +module Cisco-IOS-XR-infra-sla-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-datatypes"; + prefix infra-sla-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-09 { + description + "Add Stateful to SLA Threshold type enumeration"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Sla-burst-interval-units-enum { + type enumeration { + enum "once" { + value 1; + description + "Send one burst per probe"; + } + enum "milliseconds" { + value 2; + description + "Send bursts within a probe with an interval + unit of milliseconds"; + } + enum "seconds" { + value 3; + description + "Send bursts within a probe with an interval + unit of seconds"; + } + enum "minutes" { + value 4; + description + "Send bursts within a probe with an interval + unit of minutes"; + } + enum "hours" { + value 5; + description + "Send bursts within a probe with an interval + unit of hours"; + } + } + description + "Sla burst interval units enum"; + } + + typedef Sla-threshold-type-enum { + type enumeration { + enum "stateful" { + value 0; + description + "Stateful threshold"; + } + enum "stateless" { + value 1; + description + "Stateless threshold"; + } + } + description + "Sla threshold type enum"; + } + + typedef Sla-send { + type enumeration { + enum "packet" { + value 0; + description + "Send individual packets"; + } + enum "burst" { + value 1; + description + "Send bursts of packets"; + } + } + description + "Sla send"; + } + + typedef Sla-probe-interval-day-enum { + type enumeration { + enum "monday" { + value 1; + description + "Schedule every Monday"; + } + enum "tuesday" { + value 2; + description + "Schedule every Tuesday"; + } + enum "wednesday" { + value 3; + description + "Schedule every Wednesday"; + } + enum "thursday" { + value 4; + description + "Schedule every Thursday"; + } + enum "friday" { + value 5; + description + "Schedule every Friday"; + } + enum "saturday" { + value 6; + description + "Schedule every Saturday"; + } + enum "sunday" { + value 7; + description + "Schedule every Sunday"; + } + } + description + "Sla probe interval day enum"; + } + + typedef Sla-packet-interval-units-enum { + type enumeration { + enum "once" { + value 1; + description + "Send one packet per burst"; + } + enum "milliseconds" { + value 2; + description + "Send packets with an interval unit of + milliseconds"; + } + enum "seconds" { + value 3; + description + "Send packets with an interval unit of seconds"; + } + enum "minutes" { + value 4; + description + "Send packets with an interval unit of minutes"; + } + enum "hours" { + value 5; + description + "Send packets with an interval unit of hours"; + } + } + description + "Sla packet interval units enum"; + } + + typedef Sla-on-demand-repeat-interval-units-enum { + type enumeration { + enum "seconds" { + value 3; + description + "Schedule probes to repeat with an interval unit + of seconds"; + } + enum "minutes" { + value 4; + description + "Schedule probes to repeat with an interval unit + of minutes"; + } + enum "hours" { + value 5; + description + "Schedule probes to repeat with an interval unit + of hours"; + } + } + description + "Sla on demand repeat interval units enum"; + } + + typedef Sla-probe-duration-units-enum { + type enumeration { + enum "seconds" { + value 3; + description + "Schedule probes to run with a duration unit of + seconds"; + } + enum "minutes" { + value 4; + description + "Schedule probes to run with a duration unit of + minutes"; + } + enum "hours" { + value 5; + description + "Schedule probes to run with a duration unit of + hours"; + } + enum "day" { + value 6; + description + "Schedule probes to run for a duration of 1 day"; + } + enum "week" { + value 7; + description + "Schedule probes to run for a duration of 1 week"; + } + } + description + "Sla probe duration units enum"; + } + + typedef Sla-statistic-type-enum { + type enumeration { + enum "round-trip-delay" { + value 1; + description + "Collect round trip delay metric data"; + } + enum "one-way-delay-sd" { + value 2; + description + "Collect one way delay source->dest metric data"; + } + enum "one-way-delay-ds" { + value 3; + description + "Collect one way delay dest->source metric data"; + } + enum "round-trip-jitter" { + value 4; + description + "Collect round trip delay metric data"; + } + enum "one-way-jitter-sd" { + value 5; + description + "Collect one way jitter source->dest metric data"; + } + enum "one-way-jitter-ds" { + value 6; + description + "Collect one way jitter dest->source metric data"; + } + enum "one-way-loss-sd" { + value 7; + description + "Collect one way loss source->dest metric data"; + } + enum "one-way-loss-ds" { + value 8; + description + "Collect one way loss dest->source metric data"; + } + } + description + "Sla statistic type enum"; + } + + typedef Sla-buckets-size-units-enum { + type enumeration { + enum "buckets-per-probe" { + value 0; + description + "Store results as a number of buckets per probe + - note that this option has been DEPRECATED"; + } + enum "probes-per-bucket" { + value 1; + description + "Store results as a number of probes per bucket"; + } + } + description + "Sla buckets size units enum"; + } + + typedef Sla-threshold-condition-enum { + type enumeration { + enum "max" { + value 0; + description + "Threshold is breached when the maximum value + crosses the configured threshold value"; + } + enum "mean" { + value 1; + description + "Threshold is breached when the mean value + crosses the configured threshold value"; + } + enum "sample-count" { + value 2; + description + "Threshold is breached when the sample count in + bins in and above a certain bin number crosses + the configured sample count"; + } + } + description + "Sla threshold condition enum"; + } + + typedef Sla-probe-interval-units-enum { + type enumeration { + enum "minutes" { + value 4; + description + "Schedule probes to run with an interval unit of + minutes"; + } + enum "hours" { + value 5; + description + "Schedule probes to run with an interval unit of + hours"; + } + enum "day" { + value 6; + description + "Schedule probes to run every day"; + } + enum "week" { + value 7; + description + "Schedule probes to run every week"; + } + } + description + "Sla probe interval units enum"; + } + + typedef Sla-on-demand-start-month-enum { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + description + "Sla on demand start month enum"; + } + + typedef Sla-padding-pattern { + type enumeration { + enum "hex" { + value 0; + description + "Use an optionally specified hex pattern for + packet padding"; + } + enum "pseudo-random" { + value 1; + description + "Use a pseudo-random bit sequence for packet + padding"; + } + } + description + "Sla padding pattern"; + } + + typedef Sla-on-demand-start-time-types-enum { + type enumeration { + enum "now" { + value 0; + description + "Start immediately"; + } + enum "absolute" { + value 1; + description + "Start at a specified time"; + } + enum "relative" { + value 2; + description + "Start after a specified period"; + } + } + description + "Sla on demand start time types enum"; + } + + typedef Sla-on-demand-probe-duration-units-enum { + type enumeration { + enum "seconds" { + value 3; + description + "Schedule probes to run with a duration unit of + seconds"; + } + enum "minutes" { + value 4; + description + "Schedule probes to run with a duration unit of + minutes"; + } + enum "hours" { + value 5; + description + "Schedule probes to run with a duration unit of + hours"; + } + } + description + "Sla on demand probe duration units enum"; + } + + typedef Sla-on-demand-start-time-relative-units-enum { + type enumeration { + enum "seconds" { + value 3; + description + "Schedule probe to start after a unit of seconds"; + } + enum "minutes" { + value 4; + description + "Schedule probe to start after a unit of minutes"; + } + enum "hours" { + value 5; + description + "Schedule probe to start after a unit of hours"; + } + } + description + "Sla on demand start time relative units enum"; + } + + typedef Sla-action-type-enum-default { + type enumeration { + enum "log" { + value 0; + description + "Emit a syslog when the threshold is crossed"; + } + } + description + "Sla action type enum default"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-oper.yang new file mode 100644 index 000000000..7d0f23702 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-sla-oper.yang @@ -0,0 +1,57 @@ +module Cisco-IOS-XR-infra-sla-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-oper"; + prefix infra-sla-oper; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-sla package operational data. + + This module contains definitions + for the following management objects: + sla: SLA oper commands + sla-nodes: SLA Node table for node-specific operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sla { + config false; + description + "SLA oper commands"; + container protocols { + description + "Table of all SLA protocols"; + } + } + container sla-nodes { + config false; + description + "SLA Node table for node-specific operational data"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper-sub1.yang new file mode 100644 index 000000000..161d69b01 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper-sub1.yang @@ -0,0 +1,1550 @@ +submodule Cisco-IOS-XR-infra-smartlicense-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-smartlicense-oper { + prefix Cisco-IOS-XR-infra-smartlicense-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-smartlicense package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Export-status-time-enum { + type enumeration { + enum "time-not-started" { + description + "time not started"; + } + enum "time-in-progress" { + description + "time in progress"; + } + enum "time-success" { + description + "time success"; + } + enum "time-failed" { + description + "time failed"; + } + } + description + "exportStatusTimeEnum"; + } + + typedef License-term-type-enum { + type enumeration { + enum "none" { + description + "There is no term information. Probably an error + condition."; + } + enum "perpetual" { + description + "License term type is perpetual."; + } + enum "term" { + description + "term license that includes a start and end date"; + } + enum "subscription" { + description + "License term type is subscription."; + } + enum "max" { + description + "max value"; + } + } + description + "The license term type."; + } + + typedef License-enforcement-type-enum { + type enumeration { + enum "invalid" { + description + "Invalid"; + } + enum "not-enforced" { + description + "License type is not enforced."; + } + enum "enforced" { + description + "License type is enforced."; + } + enum "export" { + description + "License type is export restricted."; + } + enum "license-enforcement-max" { + description + "Max Value"; + } + } + description + "The license (entitlement tag) type."; + } + + typedef Install-status-enum { + type enumeration { + enum "in-progress" { + description + "in progress"; + } + enum "not-installed" { + description + "not installed"; + } + enum "type-universal" { + description + "type universal"; + } + enum "type-specific" { + description + "type specific"; + } + } + description + "install state"; + } + + typedef Export-entitlement-status-enum { + type enumeration { + enum "not-restricted" { + value 1; + description + "not restricted"; + } + enum "authorized" { + value 2; + description + "authorized"; + } + enum "not-authorized" { + value 3; + description + "not authorized"; + } + } + description + "exportEntitlementStatusEnum"; + } + + typedef Reservation-usage-status-enum { + type enumeration { + enum "not-installed" { + description + "not installed"; + } + enum "plr-installed" { + description + "plr installed"; + } + enum "slr-installed" { + description + "slr installed"; + } + enum "in-progress" { + description + "in progress"; + } + } + description + "reservationUsageStatusEnum"; + } + + typedef Enforcement-mode-enum { + type enumeration { + enum "waiting" { + value 0; + description + "The initial state after an entitlement request + while we are waiting for the Authorization + request response. In this mode the device will + already have established communications with + Cisco and successfully registered with the + Cisco Licensing cloud."; + } + enum "in-compliance" { + value 1; + description + "Cisco Smart Software Manager (CSSM) has + responded that the entitlement requested is in + compliance."; + } + enum "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 "overage" { + value 3; + description + "more licenses are in use than were purchased + but the customer is still within the terms of + their contract"; + } + enum "evaluation" { + value 4; + description + "The agent is using the evaluation period for + this entitlement. In this mode the device has + not established communications with Cisco and + had not registered"; + } + enum "evaluation-expired" { + value 5; + description + " Eval period has expired"; + } + enum "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 "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 "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 "disabled" { + value 9; + description + "Smart licensing has been disabled. The feature + using this license should be disabled."; + } + enum "in-use" { + value 10; + description + "This entitlement is in use"; + } + enum "not-in-use" { + value 11; + description + "This entitlement is not in use"; + } + enum "not-authorized" { + value 12; + description + "This entitlement is in use but is not + authorized. The feature consuming this + entitlement should be disabled"; + } + enum "mode-invalid" { + value 13; + description + "Error condition state"; + } + enum "mode-init" { + value 14; + description + "The initial state after the handle is created + with SmartAgentCreateHandle This will be the + mode if the entitlement is not in use."; + } + enum "grace-period" { + value 15; + description + "The grace period has being deprecated."; + } + enum "grace-period-expired" { + value 16; + description + "The grace period has been deprecated."; + } + enum "not-applicable" { + value 17; + description + "This enforcement mode will only be set in case + smart agent is operational in enhanced mode."; + } + enum "enforcement-max" { + value 18; + description + "always the last state"; + } + } + description + "For an entitlement tag (license) that is in use + this enumeration tells us how the license is + being enforced."; + } + + typedef Transport-type-enum { + type enumeration { + enum "invalid" { + description + "Not used in most case"; + } + enum "not-used" { + description + "Not used"; + } + enum "callhome" { + description + "Smart Licensing is using callhome for + communications."; + } + enum "smart" { + description + "Smart licensing is using the smart transport + for communications."; + } + enum "clsu" { + description + "Smart licensing will communicate with the CSLU) + for licensing operations"; + } + enum "transport-off" { + description + "Transport off"; + } + } + description + "The type of transport in use by smart licensing."; + } + + typedef Utility-reporting-type-enum { + type enumeration { + enum "none" { + description + "The system is not reporting utility usage data."; + } + enum "subscription" { + description + "The system is reporting utility usage data + because it has received subscription + information from either the SSM or satellite"; + } + enum "certificate" { + description + "The system is reporting utility usage data + because it has received a utility certificate + from a Third Party Billing Platform."; + } + } + description + "Is the system reporting utility data"; + } + + typedef Authorization-state-enum { + type enumeration { + enum "none" { + description + "No licenses are in use so there is no + authorization state to report."; + } + enum "eval" { + description + "Evaluation period is in use and is counting + down."; + } + enum "eval-expired" { + description + "Evaluation period in use but it has expired."; + } + enum "authorized" { + description + "All license usage is authorized and within + terms of the customer's contract."; + } + enum "authorized-reservation" { + description + "All license usage is authorized because a + reservation authorization code is installed."; + } + enum "out-of-compliance" { + 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 "authorization-expired" { + description + "The authorization period has expired because + this product instance has not communicated with + the SSM or satellite in over 90 days."; + } + enum "authorization-not-authorized" { + description + "AuthorizationNotAuthorized"; + } + } + description + "The smart licensing authorization state."; + } + + typedef Export-status-type-enum { + type enumeration { + enum "allowed" { + description + "ExportStatusAllowed"; + } + enum "not-allowed" { + description + "ExportStatusNotAllowed"; + } + enum "conditional" { + description + "ExportStatusConditional"; + } + } + description + "Export control status information"; + } + + typedef Registration-state-enum { + type enumeration { + enum "not-registered" { + value 0; + description + "This smart licensing instance is not registered + ."; + } + enum "complete" { + value 1; + description + "Registration was successful"; + } + enum "in-progress" { + value 2; + description + "Registration is in progress."; + } + enum "retry" { + value 3; + description + "The initial registration attempt failed but a + retry is in progress."; + } + enum "failed" { + value 4; + description + "Registration failed."; + } + enum "not-supported" { + value 5; + description + "Registration is not supported in the current + operating mode."; + } + } + description + "The smart licensing registration state."; + } + + typedef Bool-state { + type enumeration { + enum "no" { + value 0; + description + "No"; + } + enum "yes" { + value 1; + description + "Yes"; + } + } + description + "Boolean State "; + } + + grouping EXPORT-AUTH-KEY-UDI { + description + "EXPORT AUTH KEY UDI"; + container udi { + description + "UDI"; + uses SMARTAGENT-UDI; + } + leaf num-strings { + type int32; + description + "numStrings"; + } + list return-key { + description + "returnKeyList"; + uses KEY-LIST; + } + } + + grouping EXPORT-AUTH-KEY-LIST { + description + "EXPORT AUTH KEY LIST"; + leaf num-elements { + type int32; + description + "NumElements"; + } + list list { + description + "List"; + uses EXPORT-AUTH-KEY-UDI; + } + } + + grouping KEY-LIST { + description + "KEY LIST"; + leaf key { + type string; + description + "Key"; + } + } + + grouping EXPORT-RETURN-KEY-UDI { + description + "EXPORT RETURN KEY UDI"; + container udi { + description + "UDI"; + uses SMARTAGENT-UDI; + } + leaf num-strings { + type int32; + description + "numStrings"; + } + list return-key { + description + "returnKeyList"; + uses KEY-LIST; + } + } + + grouping EXPORT-RETURN-KEY-LIST { + description + "EXPORT RETURN KEY LIST"; + leaf num-elements { + type int32; + description + "NumElements"; + } + list list { + description + "List"; + uses EXPORT-RETURN-KEY-UDI; + } + } + + grouping EXPORT-STATUS-TIME { + description + "EXPORT STATUS TIME"; + leaf status { + type Export-status-time-enum; + description + "Status"; + } + leaf operation-time { + type string; + description + "OperationTime"; + } + leaf operation-next-time { + type string; + description + "operationNextTime"; + } + leaf failure-message { + type string; + description + "FailureMessage"; + } + } + + grouping EXPORT-AUTH-KEYS { + description + "EXPORT AUTH KEYS"; + container export-key-request-status { + description + "ExportKeyRequestStatus"; + uses EXPORT-STATUS-TIME; + } + container export-key-return-status { + description + "ExportKeyReturnStatus"; + uses EXPORT-STATUS-TIME; + } + container export-return-keys { + description + " ExportReturnKeys"; + uses EXPORT-RETURN-KEY-LIST; + } + container export-features-authorized { + description + "ExportFeaturesAuthorized"; + uses EXPORT-AUTH-KEY-LIST; + } + } + + grouping SMART-AGENT-TERM-INFO { + description + "SMART AGENT TERM INFO"; + leaf type { + type License-term-type-enum; + description + "The type of the term license."; + } + leaf count { + type int32; + description + "The count for this term."; + } + leaf start-date { + type string; + description + "The date and time the term starts."; + } + leaf end-date { + type string; + description + "The date and time the term ends."; + } + leaf subscription-id { + type string; + description + "SubscriptionId"; + } + } + + grouping SMART-AGENT-HAUDI-TERM { + description + "SMART AGENT HAUDI TERM"; + container udi { + description + "the UDI and HA role for this reservation + information"; + uses SMARTAGENT-UDI; + } + list term-count { + description + "The list of term information"; + uses SMART-AGENT-TERM-INFO; + } + } + + grouping SMARTAGENT-RESERVATION-ENTITLEMENTLIST { + description + "SMARTAGENT RESERVATION ENTITLEMENTLIST"; + 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 int32; + 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."; + } + list term-info { + description + "the list of term info for each UDI This is an + array of structures"; + uses SMART-AGENT-HAUDI-TERM; + } + } + + grouping LICENSE-AUTH-OVERALL-INFO { + description + "LICENSE AUTH OVERALL INFO"; + container udi { + description + "UDI of this device"; + uses SMARTAGENT-UDI; + } + leaf install-status { + type Install-status-enum; + description + "Install Status"; + } + leaf status-time { + type string; + description + "Status Time"; + } + leaf export-control-status { + type Export-status-type-enum; + description + "Export control status information"; + } + leaf request-code { + type string; + description + "Request code"; + } + leaf return-code { + type string; + description + "ReturnCode"; + } + leaf confirmation-code { + type string; + description + "ConfirmationCode"; + } + leaf authorization-code { + type string; + description + "AuthorizationCode"; + } + leaf error-message { + type string; + description + "ErrorMessage"; + } + } + + grouping IMPORTED-AUTHORIZATIONS { + description + "IMPORTED AUTHORIZATIONS"; + list overall-status { + description + "list of all reservation status information for + all UDIs"; + uses LICENSE-AUTH-OVERALL-INFO; + } + list authorization { + description + "Information about how a single license is + authorized."; + uses SMARTAGENT-RESERVATION-ENTITLEMENTLIST; + } + } + + grouping RESERVATION-USAGE { + description + "RESERVATION USAGE"; + leaf reservation-usage-status { + type Reservation-usage-status-enum; + description + "ReservationUsageStatus"; + } + leaf total-reserved-count { + type int32; + description + "totalReservedCount"; + } + } + + grouping LICENSE-USAGE { + description + "LICENSE USAGE"; + container reservation-usage { + description + "Reservation Usage"; + uses RESERVATION-USAGE; + } + 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 enforce-mode { + type Enforcement-mode-enum; + description + "The current enforcement mode of this license."; + } + leaf post-paid { + type Bool-state; + 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 + "Subscription ID for this feature."; + } + leaf export-entitlement-status { + type Export-entitlement-status-enum; + description + "exportEntitlementStatus"; + } + leaf feature-description { + type string; + description + "FeatureDescription"; + } + leaf feature-name { + type string; + description + "FeatureName"; + } + } + + grouping SMARTAGENT-UDI { + description + "SMARTAGENT UDI"; + leaf pid { + type string; + description + "The Product Identifier. Always combined with sn."; + } + leaf sn { + type string; + description + "The system serial number. Always combined with + pid."; + } + leaf vid { + type string; + description + "The version identifier. Usually combined with + pid & sn."; + } + leaf uuid { + type string; + 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; + description + "Free form virtual identifier often used by + software only devices like software routers or + VMs."; + } + leaf host-identifier { + type string; + description + "Host identifier available on some systems. + Typically 8 hex digits."; + } + leaf mac-address { + type string; + 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 EVAL-EXPIRE-TIME { + description + "EVAL EXPIRE TIME"; + leaf expire-time { + type string; + description + "Date and time the evaluation period expired."; + } + } + + grouping EVAL-PERIOD-LEFT { + description + "EVAL PERIOD LEFT"; + leaf time-left { + type uint64; + units "second"; + description + "Number of seconds of license usage until the + evaluation period expires."; + } + } + + grouping EVAL-PERIOD-STATE { + description + "EVAL PERIOD STATE"; + container eval-period-left { + description + "If the evaluation period is not expired this is + the number of seconds left in the period."; + uses EVAL-PERIOD-LEFT; + } + container eval-expire-time { + description + "If the evaluation period has expired then this + is the time of the expiration."; + uses EVAL-EXPIRE-TIME; + } + leaf eval-in-use { + type Bool-state; + description + "Is the evaluation period currently in use and + counting down."; + } + leaf eval-expired { + type Bool-state; + description + "Has the evaluation period expired."; + } + } + + grouping SMART-AGENT-PRIVACY-INFO { + description + "SMART AGENT PRIVACY INFO"; + leaf host-name { + type Bool-state; + description + "If true then the hostname will not be sent in + any messages."; + } + leaf version { + type Bool-state; + description + "If true then the smart licensing version will + not be sent in any messages."; + } + } + + grouping PROXY-INFO { + description + "PROXY INFO"; + leaf address { + type string; + description + "Proxy address for sending message."; + } + leaf port { + type string; + description + "Proxy port for sending message."; + } + } + + grouping URL-SETTINGS { + description + "URL SETTINGS"; + leaf url-registration { + type string; + description + "The URL used for registration, authorization and + any other messages not related to utility."; + } + leaf url-utility { + type string; + 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 SMART-AGENT-TRANSPORT-INFO { + description + "SMART AGENT TRANSPORT INFO"; + container url-settings { + description + "URLs in use if the transport type is smart."; + uses URL-SETTINGS; + } + container proxy-info { + description + "Proxy information if the transport type is smart + ."; + uses PROXY-INFO; + } + leaf transport-type { + type Transport-type-enum; + description + "The communications transport type set in the + config"; + } + } + + grouping SMARTAGENT-CUSTOMER-INFO { + description + "SMARTAGENT CUSTOMER INFO"; + leaf id { + type string; + description + "The cisco issued customer id which will be + included in the utility usage (RUM) report."; + } + leaf name { + type string; + description + "The customer company name which will be included + in the utility usage (RUM) report."; + } + leaf street { + type string; + description + "The customer company street address which will + be included in the utility usage (RUM) report."; + } + leaf city { + type string; + description + "The customer company city which will be included + in the utility usage (RUM) report."; + } + leaf state { + type string; + description + "The customer company state which will be + included in the utility usage (RUM) report."; + } + leaf country { + type string; + description + "The customer company country which will be + included in the utility usage (RUM) report."; + } + leaf postal-code { + type string; + description + "The customer location specific postal code which + will be included in the utility usage (RUM) + report."; + } + } + + grouping SMART-AGENT-UTILITY-INFO { + description + "SMART AGENT UTILITY INFO"; + container customer-info { + description + "Customer address information that will be + included in the utility usage reports."; + uses SMARTAGENT-CUSTOMER-INFO; + } + leaf utility-enable { + type Bool-state; + description + "Flag to indicate if Utility is currently enabled"; + } + leaf reporting { + type Utility-reporting-type-enum; + description + "Is the system reporting utility data."; + } + } + + grouping AUTHORIZATION-AUTHORIZATION-EXPIRED { + description + "AUTHORIZATION AUTHORIZATION EXPIRED"; + container authorization-info { + description + "Additional authorization state information used + by some of the authorization states."; + uses AUTHORIZATION-INFO; + } + } + + grouping AUTHORIZATION-OUT-OF-COMPLIANCE { + description + "AUTHORIZATION OUT OF COMPLIANCE"; + container authorization-info { + description + "Additional authorization state information used + by some of the authorization states."; + uses AUTHORIZATION-INFO; + } + leaf ooc-time { + type string; + description + "Time the product instance entered the out of + compliance state."; + } + } + + grouping AUTHORIZATION-AUTHORIZED-RESERVATION { + description + "AUTHORIZATION AUTHORIZED RESERVATION"; + leaf reservation-time { + type string; + description + "Time the reservation occurred."; + } + } + + grouping AUTHORIZATION-INFO { + description + "AUTHORIZATION INFO"; + leaf last-comm-status-success { + type Bool-state; + description + "Last communication was successful or failed."; + } + leaf fail-message { + type string; + 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 string; + description + "Time the last communication attempt happened."; + } + leaf next-comm-time { + type string; + 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 string; + 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 AUTHORIZATION-AUTHORIZED { + description + "AUTHORIZATION AUTHORIZED"; + container authorization-info { + description + "Additional authorization state information used + by some of the authorization states."; + uses AUTHORIZATION-INFO; + } + } + + grouping AUTHORIZATION-EVAL-EXPIRED { + description + "AUTHORIZATION EVAL EXPIRED"; + leaf expire-time { + type string; + description + "Time the evaluation period expired."; + } + } + + grouping EVALUATION-TIME-LEFT { + description + "EVALUATION TIME LEFT"; + leaf seconds-left { + type uint64; + units "second"; + 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-EVAL { + description + "AUTHORIZATION EVAL"; + container evaluation-time-left { + description + "Number of seconds of license usage until the + evaluation period expires."; + uses EVALUATION-TIME-LEFT; + } + } + + grouping AUTHORIZATION-NONE { + description + "AUTHORIZATION NONE"; + leaf empty { + type string; + description + "Empty string and container"; + } + } + + grouping AUTHORIZATION-STATE { + description + "AUTHORIZATION STATE"; + container authorization-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."; + uses AUTHORIZATION-NONE; + } + container authorization-eval { + description + "Evaluation period is in use and counting down + .The evaluation period only counts down when + licenses are in use."; + uses AUTHORIZATION-EVAL; + } + container authorization-eval-expired { + description + "Evaluation period is in use but has expired."; + uses AUTHORIZATION-EVAL-EXPIRED; + } + container authorization-authorized { + description + "All license usage is authorized and within terms + of the contract. uses authorization-info"; + uses AUTHORIZATION-AUTHORIZED; + } + container authorization-authorized-reservation { + description + "All license usage is authorized because a + reservation authorization code is installed."; + uses AUTHORIZATION-AUTHORIZED-RESERVATION; + } + container authorization-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-OUT-OF-COMPLIANCE; + } + container authorization-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-AUTHORIZATION-EXPIRED; + } + leaf authorization-state { + type Authorization-state-enum; + description + "The current authorization state."; + } + } + + grouping REGISTRATION-COMPLETE { + description + "REGISTRATION COMPLETE"; + leaf complete-time { + type string; + description + "Time the registration was successful."; + } + leaf last-renew-time { + type string; + description + "Time the last registration renewal occurred. If + empty then no renewal has occurred."; + } + leaf next-renew-time { + type string; + description + "Time the registration will be automatically + renewed."; + } + leaf expire-time { + type string; + description + "Time the registration will expire if it is not + renewed."; + } + leaf last-renew-success { + type Bool-state; + description + "Was the last renewal attempt successful."; + } + leaf fail-message { + type string; + 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; + description + "The smart account name for this registration."; + } + leaf virtual-account { + type string; + description + "The virtual account name for this registration."; + } + } + + grouping REGISTRATION-RETRY { + description + "REGISTRATION RETRY"; + container registration-info { + description + "Registration failed info."; + uses REGISTRATION-FAILED; + } + leaf retry-next-time { + type string; + description + "Time the registration will be retried."; + } + } + + grouping REGISTRATION-FAILED { + description + "REGISTRATION FAILED"; + leaf fail-time { + type string; + description + "Time the registration failed."; + } + leaf fail-message { + type string; + description + "Failure message that can be displayed for the + user.This is not a parsable message."; + } + } + + grouping REGISTRATION-IN-PROGRESS { + description + "REGISTRATION IN PROGRESS"; + leaf start-time { + type string; + description + "Time the registration started."; + } + } + + grouping SMARTAGENT-REGISTER { + description + "SMARTAGENT REGISTER"; + container registration-in-progress { + description + "Registration is in progress."; + uses REGISTRATION-IN-PROGRESS; + } + container registration-failed { + description + "Registration failed."; + uses REGISTRATION-FAILED; + } + container registration-retry { + description + "Registration failed and doing a retry."; + uses REGISTRATION-RETRY; + } + container registration-complete { + description + "Registration success."; + uses REGISTRATION-COMPLETE; + } + leaf registration-state { + type Registration-state-enum; + description + "The current registration state."; + } + leaf export-control-allowed { + type Bool-state; + description + "Is the device allowed to enable export + controlled features."; + } + leaf export-control-status { + type Export-status-type-enum; + description + "Export control status information"; + } + } + + grouping STATE-INFO { + description + "STATE INFO"; + container registration { + description + "The state of the registration for this product + instance."; + uses SMARTAGENT-REGISTER; + } + container authorization { + description + "State of license authorization."; + uses AUTHORIZATION-STATE; + } + container utility { + description + "Utility settings."; + uses SMART-AGENT-UTILITY-INFO; + } + container transport { + description + "Transport layer settings."; + uses SMART-AGENT-TRANSPORT-INFO; + } + container privacy { + description + "Controls whether or not some information is sent + in messages to the Cisco Smart Software Manger + (CSSM) or satellite."; + uses SMART-AGENT-PRIVACY-INFO; + } + container evaluation { + description + "State of the evaluation period. In use or not + and time left."; + uses EVAL-PERIOD-STATE; + } + container udi { + description + "UDI of the system."; + uses SMARTAGENT-UDI; + } + container reservation { + description + "Information about all licenses that are + authorized and how they were authorized"; + uses IMPORTED-AUTHORIZATIONS; + } + container export-authorization-keys { + description + "Export Authorization Keys"; + uses EXPORT-AUTH-KEYS; + } + 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"; + } + leaf conversion-enabled { + type Bool-state; + description + "Conversion Enabled or not"; + } + list usage { + description + "List of license (entitlement tag) usage + information. This only contains the information + for licenses that are in use."; + uses LICENSE-USAGE; + } + } + + grouping SMART-AGENT-STATE { + description + "SMART AGENT STATE"; + container state-info { + description + "This state-info is only available if + smart-enabled = true"; + uses STATE-INFO; + } + leaf always-enabled { + type Bool-state; + description + "Is Smart Licensing is always enabled."; + } + leaf smart-enabled { + type Bool-state; + description + "Is smart licensing enabled"; + } + leaf version { + type string; + description + "The smart licensing version in use."; + } + } + + grouping SMARTAGENT-LICENSING-INFO { + description + "All information of Smart Licensing common yang + model"; + container state { + description + "Smart licensing state."; + uses SMART-AGENT-STATE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper.yang new file mode 100644 index 000000000..3ced08a61 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-smartlicense-oper.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-infra-smartlicense-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-smartlicense-oper"; + prefix infra-smartlicense-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-smartlicense-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-smartlicense package operational data. + + This module contains definitions + for the following management objects: + smart-agent: Information of Smart License list and operations + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container smart-agent { + config false; + description + "Information of Smart License list and operations"; + container licensing { + description + "Smart Licensing Module Information"; + uses SMARTAGENT-LICENSING-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-act.yang new file mode 100644 index 000000000..d55bb8688 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-act.yang @@ -0,0 +1,80 @@ +module Cisco-IOS-XR-infra-statsd-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-act"; + prefix statsd-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-01-10 { + description + "IOS XR 6.4.1 revision."; + } + + rpc clear-counters-controller { + description + "Controller name.\n"; + input { + leaf controller-name { + type csc:Interface-name; + mandatory true; + description + "Controller name"; + } + } + csc:xr-task "interface"; + csc:cli-command "clear counters "; + } + rpc clear-counters-all { + description + "Clear counters on all interfaces.\n"; + csc:xr-task "interface"; + csc:cli-command "clear counters all"; + } + rpc clear-counters-interface { + description + "Clear counters for interface.\n"; + input { + leaf interface-name { + type csc:Interface-name; + mandatory true; + description + "Interface name"; + } + } + csc:xr-task "interface"; + csc:cli-command "clear counters interface "; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-cfg.yang new file mode 100644 index 000000000..0990f6af3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-cfg.yang @@ -0,0 +1,100 @@ +module Cisco-IOS-XR-infra-statsd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-cfg"; + prefix infra-statsd-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-statsd package configuration. + + This module contains definitions + for the following management objects: + statistics: Global statistics configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container statistics { + description + "Per-interface statistics configuration"; + leaf load-interval { + type uint32 { + range "0..600"; + } + default "300"; + description + "Specify interval for load calculation for an + interface"; + } + } + } + container statistics { + description + "Global statistics configuration"; + container period { + description + "Collection period for statistics polling"; + container service-accounting { + description + "Collection polling period for service + accounting collectors"; + leaf polling-period { + type uint32 { + range "30..3600"; + } + must "not(../polling-disable)"; + description + "Collection polling period for service + accounting collectors"; + } + leaf polling-disable { + type empty; + must "not(../polling-period)"; + description + "Disable periodic statistics polling for + service accounting collectors"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper-sub1.yang new file mode 100644 index 000000000..aaef8196d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper-sub1.yang @@ -0,0 +1,482 @@ +submodule Cisco-IOS-XR-infra-statsd-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-statsd-oper { + prefix Cisco-IOS-XR-infra-statsd-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-statsd package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-30 { + description + "Interface rates support added"; + semver:module-version "1.2.1m"; + } + revision 2020-12-17 { + description + "Unit of bandwidth in datarate container changed from 32-bit to 64-bit."; + semver:module-version "1.2.0"; + } + revision 2020-10-08 { + description + "Unit of last-data-time in milliseconds reverted to seconds for generic stats + 2020-05-05 + Added Hardware timestamp support for protocol stats. + 2020-04-14 + Unit of last-data-time changed from seconds to milliseconds for generic stats + 2020-04-14 + Data type of last-data-time changed from uint32 to uint64 for generic and proto stats + 2020-04-14 + Adding Hardware timestamp feature in generic structure."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping IFCS-RATE-BAG { + description + "Interface client rate"; + leaf time-interval-ms { + type uint64; + description + "Time period in ms over which the rates was + calculated"; + } + leaf input-datarate-kbps { + type uint64; + units "bit/s"; + description + "Input data rate in 1000's of bps"; + } + leaf input-packetratepps { + type uint64; + description + "Input packets in pps"; + } + leaf output-datarate-kbps { + type uint64; + units "bit/s"; + description + "Output data rate in 1000's of bps"; + } + leaf output-packetratepps { + type uint64; + description + "Output packets in pps"; + } + leaf overhead-bytes { + type uint64; + units "byte"; + description + "Overhead bytes per packet"; + } + leaf bandwidth-kbps { + type uint64; + units "bit/s"; + description + "Bandwidth in 1000's of bps"; + } + leaf input-bandwidth-percent { + type uint8; + units "percentage"; + description + "Percent Input bandwidth utilization"; + } + leaf output-bandwidth-percent { + type uint8; + units "percentage"; + description + "Percent Output bandwidth utilization"; + } + } + + grouping STATSDBAG-DATARATE { + description + "Datarate information"; + leaf input-data-rate { + type uint64; + units "bit/s"; + description + "Input data rate in 1000's of bps"; + } + leaf input-packet-rate { + type uint64; + units "packet/s"; + description + "Input packets per second"; + } + leaf output-data-rate { + type uint64; + units "bit/s"; + description + "Output data rate in 1000's of bps"; + } + leaf output-packet-rate { + type uint64; + units "packet/s"; + description + "Output packets per second"; + } + leaf peak-input-data-rate { + type uint64; + description + "Peak input data rate, highest spike since last + clear counters"; + } + leaf peak-input-packet-rate { + type uint64; + description + "Peak input packet rate, highest spike since last + clear counters"; + } + leaf peak-output-data-rate { + type uint64; + description + "Peak output data rate, highest spike since last + clear counters"; + } + leaf peak-output-packet-rate { + type uint64; + description + "Peak output packet rate, highest spike since + last clear counters"; + } + leaf bandwidth { + type uint64; + units "kbit/s"; + description + "Bandwidth (in kbps)"; + } + leaf load-interval { + type uint32; + description + "Number of 30-sec intervals less one"; + } + leaf output-load { + type uint8; + description + "Output load as fraction of 255"; + } + leaf input-load { + type uint8; + description + "Input load as fraction of 255"; + } + leaf reliability { + type uint8; + description + "Reliability coefficient"; + } + } + + grouping IFSTATSBAG-GENERIC { + description + "Generic set of interface counters"; + leaf packets-received { + type uint64; + description + "Total Packets received"; + } + leaf bytes-received { + type uint64; + units "byte"; + description + "Total Bytes received"; + } + leaf packets-sent { + type uint64; + description + "Total Packets sent"; + } + leaf bytes-sent { + type uint64; + units "byte"; + description + "Total Bytes sent"; + } + leaf multicast-packets-received { + type uint64; + description + "Total no. of multicast packets received"; + } + leaf broadcast-packets-received { + type uint64; + description + "Total no. of broadcast packets received"; + } + leaf multicast-packets-sent { + type uint64; + description + "Total no. of multicast packets sent"; + } + leaf broadcast-packets-sent { + type uint64; + description + "Total no. of broadcast packets sent"; + } + leaf output-drops { + type uint32; + description + "No. of packet dropped before being transmitted"; + } + leaf output-queue-drops { + type uint32; + description + "Number of packets dropped due to configured + output policy"; + } + leaf input-drops { + type uint32; + description + "Total input drops"; + } + leaf input-queue-drops { + type uint32; + description + "Placeholder for packets dropped due to configure + input policy"; + } + leaf runt-packets-received { + type uint32; + description + "Received packets which are too small to be + handled"; + } + leaf giant-packets-received { + type uint32; + description + "Received packets which are too large to be + handled"; + } + leaf throttled-packets-received { + type uint32; + description + "No. of times the receiver on the port is was + disabled"; + } + leaf parity-packets-received { + type uint32; + description + "No. of parity errors on the interface"; + } + leaf unknown-protocol-packets-received { + type uint32; + description + "No. of packets dropped because they were + destined for higher levelprotocols not configure + or running on the interface"; + } + leaf input-errors { + type uint32; + description + "Total input errors"; + } + leaf crc-errors { + type uint32; + description + "Input CRC errors"; + } + leaf input-overruns { + type uint32; + description + "No. of input packets received with FIFO or DMA + overrun errors"; + } + leaf framing-errors-received { + type uint32; + description + "No. of packets received with framing error"; + } + leaf input-ignored-packets { + type uint32; + description + "Packets dropped due to internal driver error or + hardware errors "; + } + leaf input-aborts { + type uint32; + description + "No. of packets whose reciept was aborted"; + } + leaf output-errors { + type uint32; + description + "Total packets that could not be transmitted due + to internal driver error"; + } + leaf output-underruns { + type uint32; + description + "Transmitted packets with FIFO or DMA underrun + errors"; + } + leaf output-buffer-failures { + type uint32; + description + "No. of no resource error received on output"; + } + leaf output-buffers-swapped-out { + type uint32; + description + "No. of packets swapped to DRAM or main memory"; + } + leaf applique { + type uint32; + description + "No. of unrecoverable error which have occured on + the applique"; + } + leaf resets { + type uint32; + description + "Number of hardware resets"; + } + leaf carrier-transitions { + type uint32; + description + "No. of times the carrier detect signal of + interface has changed state"; + } + leaf availability-flag { + type uint32; + description + "Availability bit mask"; + } + leaf last-data-time { + type uint64; + units "second"; + description + "Time when counters were last written (in + seconds)"; + } + leaf hardware-timestamp { + type uint64; + units "millisecond"; + description + "Time when counters were last read by Primary + collector from hardware (in msecs)"; + } + leaf seconds-since-last-clear-counters { + type uint32; + units "second"; + description + "Time elapsed since last clear command executed + (in Seconds)"; + } + leaf last-discontinuity-time { + type uint32; + units "second"; + description + "SysUpTime when counters were last reset (in + seconds)"; + } + leaf seconds-since-packet-received { + type uint32; + units "second"; + description + "Time elapsed since packet received (in Seconds)"; + } + leaf seconds-since-packet-sent { + type uint32; + units "second"; + description + "Time elapsed since packet sent (in Seconds)"; + } + } + + grouping IFSTATSBAG-PROTO { + description + "Interface counters per protocol"; + leaf bytes-received { + type uint64; + units "byte"; + description + "Total no. of Bytes received"; + } + leaf packets-received { + type uint64; + description + "Total no. of Packets received"; + } + leaf bytes-sent { + type uint64; + units "byte"; + description + "Total no. of Bytes sent"; + } + leaf packets-sent { + type uint64; + description + "Total no. of Packets sent"; + } + leaf protocol { + type uint32; + description + "Protocol number"; + } + leaf last-data-time { + type uint64; + units "second"; + description + "Time when counters were last written (in + seconds)"; + } + leaf input-data-rate { + type uint64; + units "bit/s"; + description + "Input data rate in 1000's of bps"; + } + leaf input-packet-rate { + type uint64; + units "packet/s"; + description + "Input packets per second"; + } + leaf output-data-rate { + type uint64; + units "bit/s"; + description + "Output data rate in 1000's of bps"; + } + leaf output-packet-rate { + type uint64; + units "packet/s"; + description + "Output packets per second"; + } + leaf hardware-timestamp { + type uint64; + units "millisecond"; + description + "Time when counters were last read by Primary + collector from hardware (in msecs)"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper.yang new file mode 100644 index 000000000..3af54e264 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-statsd-oper.yang @@ -0,0 +1,188 @@ +module Cisco-IOS-XR-infra-statsd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-oper"; + prefix infra-statsd-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-statsd-oper-sub1 { + revision-date 2022-09-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-statsd package operational data. + + This module contains definitions + for the following management objects: + infra-statistics: Statistics Infrastructure + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-30 { + description + "Interface rates support added"; + semver:module-version "1.2.1m"; + } + revision 2020-12-17 { + description + "Unit of bandwidth in datarate container changed from 32-bit to 64-bit."; + semver:module-version "1.2.0"; + } + revision 2020-10-08 { + description + "Unit of last-data-time in milliseconds reverted to seconds for generic stats + 2020-05-05 + Added Hardware timestamp support for protocol stats. + 2020-04-14 + Unit of last-data-time changed from seconds to milliseconds for generic stats + 2020-04-14 + Data type of last-data-time changed from uint32 to uint64 for generic and proto stats + 2020-04-14 + Adding Hardware timestamp feature in generic structure."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping DATA-RATE { + description + "Common node of latest, cache, total, interface"; + container data-rate { + description + "Datarate information"; + uses STATSDBAG-DATARATE; + } + } + + grouping PROTOCOL-TABLE { + description + "Common node of latest, cache, total, interface"; + container protocols { + description + "List of protocols"; + list protocol { + key "protocol-name"; + description + "Interface counters per protocol"; + leaf protocol-name { + type xr:Cisco-ios-xr-string; + description + "Name of the protocol"; + } + uses IFSTATSBAG-PROTO; + } + } + } + + grouping INTERFACES-MIB-COUNTERS { + description + "Common node of latest, cache, total, interface"; + container interfaces-mib-counters { + description + "Set of interface counters as displayed by the + InterfacesMIB"; + uses IFSTATSBAG-GENERIC; + } + } + + grouping GENERIC-COUNTERS { + description + "Common node of latest, cache, total, interface"; + container generic-counters { + description + "Generic set of interface counters"; + uses IFSTATSBAG-GENERIC; + } + } + + container infra-statistics { + config false; + description + "Statistics Infrastructure"; + container interfaces { + description + "List of interfaces"; + list interface { + key "interface-name"; + description + "Statistics of an interface"; + container cache { + description + "Cached stats data of interfaces"; + uses PROTOCOL-TABLE; + uses INTERFACES-MIB-COUNTERS; + uses DATA-RATE; + uses GENERIC-COUNTERS; + } + container latest { + description + "Latest stats data of interfaces"; + uses PROTOCOL-TABLE; + uses INTERFACES-MIB-COUNTERS; + uses DATA-RATE; + uses GENERIC-COUNTERS; + } + container total { + description + "Total stats data of interfaces"; + uses PROTOCOL-TABLE; + uses INTERFACES-MIB-COUNTERS; + uses DATA-RATE; + uses GENERIC-COUNTERS; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses PROTOCOL-TABLE; + uses INTERFACES-MIB-COUNTERS; + uses DATA-RATE; + uses GENERIC-COUNTERS; + } + } + container counter-rates { + description + "Rate data for interfaces"; + container interface-rates { + description + "List of interfaces"; + list interface-rate { + key "interface-name"; + description + "Rate information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses IFCS-RATE-BAG; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-cfg.yang new file mode 100644 index 000000000..b6d3eafe4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-cfg.yang @@ -0,0 +1,1363 @@ +module Cisco-IOS-XR-infra-syslog-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-syslog-cfg"; + prefix infra-syslog-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-syslog package configuration. + + This module contains definitions + for the following management objects: + syslog-service: Syslog Timestamp Services + syslog: Modify message logging facilities + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-04-28 { + description + "Buffered Logging Entries Count Changes"; + semver:module-version "4.0.1M"; + } + revision 2022-03-03 { + description + "Added fetch timestamp support from the container logs"; + semver:module-version "4.0.0"; + } + revision 2021-08-03 { + description + "Modified the logging file max-size type as range from integer + 2021-06-14 + Support for logging file local-accounting feature"; + semver:module-version "3.0.0"; + } + revision 2020-05-22 { + description + "Support for syslog format types bsd and rfc5424"; + semver:module-version "2.0.0"; + } + revision 2019-09-30 { + description + "Changes done for Openroadm Severity level support"; + semver:module-version "1.0.1"; + } + revision 2019-07-30 { + description + "container ipv4-severity-port changed to presence container"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-10-31 { + description + "file path option provided in logging file config"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-06-22 { + description + "file path removed from logging file config"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Logging-tos { + type enumeration { + enum "precedence" { + value 0; + description + "Logging TOS type precedence"; + } + enum "dscp" { + value 1; + description + "Logging TOS type DSCP"; + } + } + description + "Logging tos"; + } + + typedef Logging-dscp-value { + type union { + type enumeration { + enum "default" { + value 0; + description + "Applicable to DSCP: bits 000000"; + } + enum "af11" { + value 10; + description + "Applicable to DSCP: bits 001010"; + } + enum "af12" { + value 12; + description + "Applicable to DSCP: bits 001100"; + } + enum "af13" { + value 14; + description + "Applicable to DSCP: bits 001110"; + } + enum "af21" { + value 18; + description + "Applicable to DSCP: bits 010010"; + } + enum "af22" { + value 20; + description + "Applicable to DSCP: bits 010100"; + } + enum "af23" { + value 22; + description + "Applicable to DSCP: bits 010110"; + } + enum "af31" { + value 26; + description + "Applicable to DSCP: bits 011010"; + } + enum "af32" { + value 28; + description + "Applicable to DSCP: bits 011100"; + } + enum "af33" { + value 30; + description + "Applicable to DSCP: bits 011110"; + } + enum "af41" { + value 34; + description + "Applicable to DSCP: bits 100010"; + } + enum "af42" { + value 36; + description + "Applicable to DSCP: bits 100100"; + } + enum "af43" { + value 38; + description + "Applicable to DSCP: bits 100110"; + } + enum "ef" { + value 46; + description + "Applicable to DSCP: bits 101110"; + } + enum "cs1" { + value 8; + description + "Applicable to DSCP: bits 001000"; + } + enum "cs2" { + value 16; + description + "Applicable to DSCP: bits 010000"; + } + enum "cs3" { + value 24; + description + "Applicable to DSCP: bits 011000"; + } + enum "cs4" { + value 32; + description + "Applicable to DSCP: bits 100000"; + } + enum "cs5" { + value 40; + description + "Applicable to DSCP: bits 101000"; + } + enum "cs6" { + value 48; + description + "Applicable to DSCP: bits 110000"; + } + enum "cs7" { + value 56; + description + "Applicable to DSCP: bits 111000"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Logging dscp value"; + } + + typedef Logging-precedence-value { + type union { + type enumeration { + enum "routine" { + value 0; + description + "Applicable to precedence: value 0"; + } + enum "priority" { + value 1; + description + "Applicable to precedence: value 1"; + } + enum "immediate" { + value 2; + description + "Applicable to precedence: value 2"; + } + enum "flash" { + value 3; + description + "Applicable to precedence: value 3"; + } + enum "flash-override" { + value 4; + description + "Applicable to precedence: value 4"; + } + enum "critical" { + value 5; + description + "Applicable to precedence: value 5"; + } + enum "internet" { + value 6; + description + "Applicable to precedence: value 6"; + } + enum "network" { + value 7; + description + "Applicable to precedence: value 7"; + } + } + type uint32 { + range "0..7"; + } + } + description + "Logging precedence value"; + } + + typedef Facility { + type enumeration { + enum "kern" { + value 0; + description + "Kernel Facility"; + } + enum "user" { + value 8; + description + "User Facility"; + } + enum "mail" { + value 16; + description + "Mail Facility"; + } + enum "daemon" { + value 24; + description + "Daemon Facility"; + } + enum "auth" { + value 32; + description + "Auth Facility"; + } + enum "syslog" { + value 40; + description + "Syslog Facility"; + } + enum "lpr" { + value 48; + description + "Lpr Facility"; + } + enum "news" { + value 56; + description + "News Facility"; + } + enum "uucp" { + value 64; + description + "Uucp Facility"; + } + enum "cron" { + value 72; + description + "Cron Facility"; + } + enum "authpriv" { + value 80; + description + "Authpriv Facility"; + } + enum "ftp" { + value 88; + description + "Ftp Facility"; + } + enum "local0" { + value 128; + description + "Local0 Facility"; + } + enum "local1" { + value 136; + description + "Local1 Facility"; + } + enum "local2" { + value 144; + description + "Local2 Facility"; + } + enum "local3" { + value 152; + description + "Local3 Facility"; + } + enum "local4" { + value 160; + description + "Local4 Facility"; + } + enum "local5" { + value 168; + description + "Local5 Facility"; + } + enum "local6" { + value 176; + description + "Local6 Facility"; + } + enum "local7" { + value 184; + description + "Local7 Facility"; + } + enum "sys9" { + value 192; + description + "System9 Facility"; + } + enum "sys10" { + value 200; + description + "System10 Facility"; + } + enum "sys11" { + value 208; + description + "System11 Facility"; + } + enum "sys12" { + value 216; + description + "System12 Facility"; + } + enum "sys13" { + value 224; + description + "System13 Facility"; + } + enum "sys14" { + value 232; + description + "System14 Facility"; + } + } + description + "Facility"; + } + + typedef Logging-levels { + type enumeration { + 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"; + } + enum "disable" { + value 15; + description + "Disable logging"; + } + } + description + "Logging levels"; + } + + typedef Syslog-format { + type enumeration { + enum "rfc5424" { + value 1; + description + "Enable to send the syslog message rfc5424 + format"; + } + enum "bsd" { + value 2; + description + "Enable to send the syslog message as BSD format"; + } + } + description + "Syslog format"; + } + + typedef Log-opertor { + type enumeration { + enum "equals-or-higher" { + value 0; + description + "Messages equal or higher than severity + (Operator=0)"; + } + enum "equals" { + value 1; + description + "Messages equal to severity + (Operator=1)"; + } + enum "not-equals" { + value 2; + description + "Messages not equal to severity + (Operator=2)"; + } + } + description + "Log opertor"; + } + + typedef Time-info { + type enumeration { + enum "disable" { + value 0; + description + "Exclude"; + } + enum "enable" { + value 1; + description + "Include"; + } + } + description + "Time info"; + } + + typedef Log-message-severity { + type enumeration { + enum "emergency" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alert" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "error" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notice" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "informational" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debug" { + value 7; + description + "Debugging messages (severity=7)"; + } + } + description + "Log message severity"; + } + + typedef Log-collect-frequency { + type enumeration { + enum "weekly" { + value 1; + description + "Collect log in files on a weekly basis"; + } + enum "daily" { + value 2; + description + "Collect log in files on a daily basis"; + } + } + description + "Log collect frequency"; + } + + typedef Log-severity { + type enumeration { + enum "emergency" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alert" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "error" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notice" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "informational" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debug" { + value 7; + description + "Debugging messages (severity=7)"; + } + enum "all" { + value 8; + description + "All severity messages (severity=8)"; + } + enum "none" { + value 9; + description + "None of severity messages (severity=9)"; + } + } + description + "Log severity"; + } + + container syslog-service { + description + "Syslog Timestamp Services"; + container timestamps { + description + "Timestamp debug/log messages configuration"; + container log { + description + "Timestamp log messages"; + container log-datetime { + description + "Timestamp with date and time"; + container log-datetime-value { + description + "Set timestamp for log message"; + leaf time-stamp-value { + type Time-info; + default "enable"; + description + "Time"; + } + leaf msec { + type Time-info; + units "second"; + default "enable"; + description + "Seconds"; + } + leaf time-zone { + type Time-info; + default "disable"; + description + "Timezone"; + } + leaf year { + type Time-info; + default "disable"; + description + "Year"; + } + } + } + leaf log-uptime { + type empty; + description + "Timestamp with systime uptime"; + } + leaf log-timestamp-disable { + type empty; + description + "Disable timestamp log messages"; + } + } + container debug { + description + "Timestamp debug messages"; + container debug-datetime { + description + "Timestamp with date and time"; + container datetime-value { + description + "Set time format for debug msg"; + leaf time-stamp-value { + type Time-info; + default "enable"; + description + "Time"; + } + leaf msec { + type Time-info; + units "second"; + default "enable"; + description + "Seconds"; + } + leaf time-zone { + type Time-info; + default "disable"; + description + "Timezone"; + } + leaf year { + type Time-info; + default "disable"; + description + "Year"; + } + } + } + leaf debug-timestamp-disable { + type empty; + description + "Disable timestamp debug messages"; + } + leaf debug-uptime { + type empty; + description + "Timestamp with systime uptime"; + } + } + leaf enable { + type empty; + description + "Enable timestamp debug/log messages"; + } + } + } + container syslog { + description + "Modify message logging facilities"; + container yang-logging { + description + "Set yang telemetry logging"; + leaf logging-level { + type Logging-levels; + default "info"; + description + "Yang telemetry Logging Level"; + } + } + container monitor-logging { + description + "Set monitor logging"; + container monitor-discriminator { + description + "Set monitor logging discriminators"; + leaf match2 { + type string; + description + "Set monitor logging match2 discriminator"; + } + leaf nomatch1 { + type string; + description + "Set monitor logging no-match1 discriminator"; + } + leaf match1 { + type string; + description + "Set monitor logging match1 discriminator"; + } + leaf nomatch3 { + type string; + description + "Set monitor logging no-match3 discriminator"; + } + leaf match3 { + type string; + description + "Set monitor logging match3 discriminator"; + } + leaf nomatch2 { + type string; + description + "Set monitor logging no-match2 discriminator"; + } + } + leaf logging-level { + type Logging-levels; + default "debug"; + description + "Monitor Logging Level"; + } + } + container history-logging { + description + "Set history logging"; + leaf history-size { + type uint32 { + range "1..500"; + } + default "1"; + description + "Logging history size"; + } + leaf logging-level { + type Logging-levels; + default "warning"; + description + "History logging level"; + } + } + container logging-facilities { + description + "Modify message logging facilities"; + leaf facility-level { + type Facility; + default "local7"; + description + "Facility from which logging is done"; + } + } + container trap-logging { + description + "Set trap logging"; + leaf logging-level { + type Logging-levels; + default "info"; + description + "Trap logging level"; + } + } + container container-logs { + description + "Configurations for collecting logs from dockers + running in device"; + container all-containers { + description + "Configurations for all containers"; + leaf enable-logging { + type empty; + description + "Enable collection of logs from all containers"; + } + leaf fetch-timestamp { + type empty; + description + "Fetch Timestamp from all containers"; + } + } + } + container buffered-logging { + description + "Set buffered logging parameters"; + container buffered-discriminator { + description + "Set buffered logging discriminators"; + leaf match2 { + type string; + description + "Set buffered logging match2 discriminator"; + } + leaf nomatch1 { + type string; + description + "Set buffered logging no-match1 discriminator"; + } + leaf match1 { + type string; + description + "Set buffered logging match1 discriminator"; + } + leaf nomatch3 { + type string; + description + "Set buffered logging no-match3 discriminator"; + } + leaf match3 { + type string; + description + "Set buffered logging match3 discriminator"; + } + leaf nomatch2 { + type string; + description + "Set buffered logging no-match2 discriminator"; + } + } + container buffered-entries { + description + "Syslog in buffers"; + leaf count { + type uint32 { + range "2545..151699"; + } + description + "Number of syslog entries in buffer"; + } + } + leaf logging-level { + type Logging-levels; + default "debug"; + description + "Logging level for Buffered logging"; + } + leaf buffer-size { + type uint32 { + range "2097152..125000000"; + } + default "2097152"; + description + "Logging buffered size"; + } + } + container host-server { + description + "Configure logging host"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF specific data"; + container ipv6s { + description + "List of the IPv6 logging host"; + list ipv6 { + key "address"; + description + "IPv6 address of the logging host"; + container ipv6-severity-port { + description + "Severity/Port for the logging host"; + leaf severity { + type Log-severity; + default "informational"; + description + "Severity for the logging host"; + } + leaf port { + type inet:port-number; + default "514"; + description + "Port for the logging host"; + } + leaf operator { + type Log-opertor; + default "equals-or-higher"; + description + "Severity Operator for the logging host"; + } + } + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address of the logging host"; + } + } + } + container hosts { + description + "List of the logging host"; + list host { + key "host-name"; + description + "Name of the logging host"; + container host-severity-port { + description + "Severity/Port for the logging host"; + leaf severity { + type Log-severity; + default "informational"; + description + "Severity for the logging host"; + } + leaf port { + type inet:port-number; + default "514"; + description + "Port for the logging host"; + } + leaf operator { + type Log-opertor; + default "equals-or-higher"; + description + "Severity Operator for the logging host"; + } + } + leaf host-name { + type string; + description + "Name of the logging host"; + } + } + } + container ipv4s { + description + "List of the IPv4 logging host"; + list ipv4 { + key "address"; + description + "IPv4 address of the logging host"; + container ipv4-severity-port { + presence "enable ipv4-severity-port"; + description + "Severity/Port for the logging host"; + leaf severity { + type Log-severity; + default "informational"; + description + "Severity for the logging host"; + } + leaf port { + type inet:port-number; + default "514"; + description + "Port for the logging host"; + } + leaf operator { + type Log-opertor; + default "equals-or-higher"; + description + "Severity Operator for the logging host"; + } + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the logging host"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF instance"; + } + } + } + } + container console-logging { + description + "Set console logging"; + container console-discriminator { + description + "Set console logging discriminators"; + leaf match2 { + type string; + description + "Set console logging match2 discriminator"; + } + leaf nomatch1 { + type string; + description + "Set console logging no-match1 discriminator"; + } + leaf match1 { + type string; + description + "Set console logging match1 discriminator"; + } + leaf nomatch3 { + type string; + description + "Set console logging no-match3 discriminator"; + } + leaf match3 { + type string; + description + "Set console logging match3 discriminator"; + } + leaf nomatch2 { + type string; + description + "Set console logging no-match2 discriminator"; + } + } + leaf logging-level { + type Logging-levels; + default "warning"; + description + "Console logging level"; + } + } + container files { + description + "Configure logging file destination"; + list file { + key "file-name"; + description + "Specify File Name"; + container file-specification { + presence "Contains mandatory nodes that used to set default values"; + description + "Specifications of the logging file destination"; + leaf path { + type string; + description + "File path"; + } + leaf max-file-size { + type uint32 { + range "1..2097152"; + } + mandatory true; + description + "Maximum file size (in KB)"; + } + leaf severity { + type Log-message-severity; + mandatory true; + description + "Severity of messages"; + } + leaf local-accounting { + type boolean; + description + "Store only the command accounting logs"; + } + leaf send-to-remote { + type boolean; + description + "Send logs to syslog server"; + } + leaf facility { + type Facility; + description + "Message logging facilities"; + } + } + container file-log-discriminator { + description + "Set File logging discriminators"; + leaf nomatch2 { + type string; + description + "Set file logging no match discriminator 2"; + } + leaf match3 { + type string; + description + "Set file logging match discriminator 3"; + } + leaf nomatch3 { + type string; + description + "Set file logging no match discriminator 3"; + } + leaf match1 { + type string; + description + "Set file logging match discriminator 1"; + } + leaf nomatch1 { + type string; + description + "Set file logging no match discriminator 1"; + } + leaf match2 { + type string; + description + "Set file logging match discriminator 2"; + } + } + leaf file-name { + type xr:Cisco-ios-xr-string; + description + "Name of the file"; + } + } + } + container ipv4 { + description + "Syslog TOS bit for outgoing messages"; + container tos { + description + "Type of service"; + leaf type { + type Logging-tos; + description + "Logging TOS type DSCP or precedence"; + } + leaf precedence { + when "../type = 'precedence'" { + description + "../Type = Precedence"; + } + type Logging-precedence-value; + description + "Logging precedence value"; + } + leaf dscp { + when "../type = 'dscp'" { + description + "../Type = DSCP"; + } + type Logging-dscp-value; + description + "Logging DSCP value"; + } + } + } + container archive { + description + "Archive attributes configuration"; + leaf size { + type uint32 { + range "1..2047"; + } + description + "The total size of the archive"; + } + leaf file-size { + type uint32 { + range "1..2047"; + } + description + "The maximum file size for a single log file."; + } + leaf device { + type string; + description + "'/disk0:' or '/disk1:' or '/harddisk:'"; + } + leaf threshold { + type uint32 { + range "1..99"; + } + units "percentage"; + description + "The size threshold at which a syslog is + generated"; + } + leaf frequency { + type Log-collect-frequency; + description + "The collection interval for logs"; + } + leaf severity { + type Log-message-severity; + description + "The minimum severity of log messages to archive"; + } + leaf length { + type uint32 { + range "1..256"; + } + description + "The maximum number of weeks of log to maintain"; + } + } + container ipv6 { + description + "Syslog traffic class bit for outgoing messages"; + container traffic-class { + description + "Type of traffic class"; + leaf type { + type Logging-tos; + description + "Logging TOS type DSCP or precedence"; + } + leaf precedence { + when "../type = 'precedence'" { + description + "../Type = Precedence"; + } + type Logging-precedence-value; + description + "Logging precedence value"; + } + leaf dscp { + when "../type = 'dscp'" { + description + "../Type = DSCP"; + } + type Logging-dscp-value; + description + "Logging DSCP value"; + } + } + } + container source-interface-table { + description + "Configure source interface"; + container source-interface-values { + description + "Specify interface for source address in logging + transactions"; + list source-interface-value { + key "src-interface-name-value"; + description + "Source interface"; + container source-interface-vrfs { + description + "Configure source interface VRF"; + list source-interface-vrf { + key "vrf-name"; + description + "Specify VRF for source interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF instance"; + } + } + } + leaf src-interface-name-value { + type xr:Interface-name; + description + "Which Interface"; + } + } + } + } + leaf logging-format { + type Syslog-format; + description + "Syslog Logging Message Format"; + } + leaf host-name-prefix { + type string; + description + "Hostname prefix to add on msgs to servers"; + } + leaf local-log-file-size { + type uint32 { + range "0..4294967295"; + } + default "32768"; + description + "Set size of the local log file"; + } + leaf enable-console-logging { + type boolean; + description + "Enabled or disabled"; + } + leaf suppress-duplicates { + type empty; + description + "Suppress consecutive duplicate messages"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper-sub1.yang new file mode 100644 index 000000000..6e96b8cae --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper-sub1.yang @@ -0,0 +1,391 @@ +submodule Cisco-IOS-XR-infra-syslog-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-syslog-oper { + prefix Cisco-IOS-XR-infra-syslog-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-syslog package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-22 { + description + "Marking Sensor Paths for Event Driven Telemetry"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-02-23 { + description + "Added a new rpc statement."; + } + revision 2018-02-22 { + description + "Fixed syslog message filter."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-06-24 { + description + "Schema added for Show logging files CLI"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef System-message-severity { + type enumeration { + enum "message-severity-unknown" { + value -1; + description + "Unknown"; + } + enum "message-severity-emergency" { + value 0; + description + "Emergency"; + } + enum "message-severity-alert" { + value 1; + description + "Alert"; + } + enum "message-severity-critical" { + value 2; + description + "Critical"; + } + enum "message-severity-error" { + value 3; + description + "Error"; + } + enum "message-severity-warning" { + value 4; + description + "Warning"; + } + enum "message-severity-notice" { + value 5; + description + "Notice"; + } + enum "message-severity-informational" { + value 6; + description + "Informational"; + } + enum "message-severity-debug" { + value 7; + description + "Debug"; + } + } + description + "System message severity"; + } + + grouping FILE-LOG-STATS { + description + "System log file destination statistics"; + leaf file-name { + type string; + description + "File name for logging messages"; + } + leaf message-count { + type uint32; + description + "Message count"; + } + } + + grouping TLS-REMOTE-LOG-STATS { + description + "System log tls remote statistics"; + leaf remote-host-name { + type string; + description + "TLS Remote hostname"; + } + leaf message-count { + type uint32; + description + "Message count"; + } + } + + grouping REMOTE-LOG-STATS { + description + "System log remote statistics"; + leaf remote-host-name { + type string; + description + "Remote hostname"; + } + leaf message-count { + type uint32; + description + "Message count"; + } + } + + grouping LOG-DEST-STATS { + description + "System log statistics"; + leaf is-log-enabled { + type boolean; + description + "Is log enabled"; + } + leaf severity { + type System-message-severity; + description + "Configured severity"; + } + leaf message-count { + type uint32; + description + "Message count"; + } + leaf buffer-size { + type uint32; + units "byte"; + description + "Buffer size in bytes if logging buffer isenabled"; + } + } + + grouping LOG-ENABLE-STATS { + description + "System log discard statistics"; + leaf is-log-enabled { + type boolean; + description + "Is log enabled"; + } + leaf drop-count { + type uint32; + description + "Number of messages dropped"; + } + leaf flush-count { + type uint32; + description + "Number of messages flushed"; + } + leaf overrun-count { + type uint32; + description + "Number of messages overrun"; + } + } + + grouping SYSTEM-MESSAGE-STATISTICS { + description + "System message statistics"; + container logging-stats { + description + "Logging statistics"; + uses LOG-ENABLE-STATS; + } + container console-logging-stats { + description + "Console logging statistics"; + uses LOG-DEST-STATS; + } + container monitor-logging-stats { + description + "Monitor loggingstatistics"; + uses LOG-DEST-STATS; + } + container trap-logging-stats { + description + "Trap logging statistics"; + uses LOG-DEST-STATS; + } + container buffer-logging-stats { + description + "Buffer logging statistics"; + uses LOG-DEST-STATS; + } + list remote-logging-stat { + description + "Remote logging statistics"; + uses REMOTE-LOG-STATS; + } + list tls-remote-logging-stat { + description + "TLS Remote logging statistics"; + uses TLS-REMOTE-LOG-STATS; + } + list file-logging-stat { + description + "File logging statistics"; + uses FILE-LOG-STATS; + } + } + + grouping SYSTEM-MESSAGE { + description + "System message"; + leaf card-type { + type string; + description + "Message card location: 'RP', 'DRP', 'LC', 'SC', + 'SP' or 'UNK' "; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf node-name { + type xr:Node-id; + description + "Message source location"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf time-stamp { + type uint64; + units "millisecond"; + description + "Time in milliseconds since 00:00:00 UTC, January + 11970 of when message was generated"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf time-of-day { + type string; + description + "Time of day of event in DDD MMM DD YYYY HH:MM + :SS format, e.g Wed Apr 01 2009 15:50:26"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf time-zone { + type string; + description + "Time Zone in UTC+/-HH:MM format, e.g UTC+5:30, + UTC-6"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf process-name { + type string; + description + "Process name"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf category { + type string; + description + "Message category"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf group { + type string; + description + "Message group"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf message-name { + type string; + description + "Message name"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf severity { + type System-message-severity; + description + "Message severity"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf text { + type string; + description + "Additional message text"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping AN-REMOTE-LOG-SERVER { + description + "A System log AN remote log server structure"; + leaf ip-address { + type string; + description + "IP Address"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vrf-severity { + type string; + description + "VRF Severity"; + } + leaf rh-discriminator { + type string; + description + "Remote-Host Discriminator"; + } + } + + grouping AN-REMOTE-LOG-SERVERS { + description + "System log All AN remote servers"; + list an-remote-log-server { + description + "AN Remote Log Servers"; + uses AN-REMOTE-LOG-SERVER; + } + } + + grouping FILE-LOG-DETAILS { + description + "System log file details"; + leaf file-path { + type string; + description + "File path for logging messages"; + } + leaf file-name { + type string; + description + "File name for logging messages"; + } + } + + grouping FILE-LOG-LIST-PATH { + description + "System log files list and path"; + list file-log-detail { + description + "Logging Files"; + uses FILE-LOG-DETAILS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper.yang new file mode 100644 index 000000000..ef797e431 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-syslog-oper.yang @@ -0,0 +1,171 @@ +module Cisco-IOS-XR-infra-syslog-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-syslog-oper"; + prefix infra-syslog-oper; + + import cisco-semver { + prefix semver; + } + import ietf-yang-types { + prefix yang; + } + include Cisco-IOS-XR-infra-syslog-oper-sub1 { + revision-date 2020-09-22; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-syslog package operational data. + + This module contains definitions + for the following management objects: + logging: Logging History data + syslog: System message operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-22 { + description + "Marking Sensor Paths for Event Driven Telemetry"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-02-23 { + description + "Added a new rpc statement."; + } + revision 2018-02-22 { + description + "Fixed syslog message filter."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-06-24 { + description + "Schema added for Show logging files CLI"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + rpc get-syslog { + input { + container filters { + must "start-time or end-time" { + description + "At least one of the filters must be specified."; + } + description + "A set of filters of syslog messages to be returned"; + leaf start-time { + type yang:date-and-time; + description + "Start timestamp of syslog messages to be returned"; + } + leaf end-time { + type yang:date-and-time; + description + "End timestamp of syslog messages to be returned"; + } + } + } + output { + container data { + description + "Output for RPC operation"; + container syslog { + description + "syslog"; + container messages { + description + "Message table information"; + list message { + key "message-id"; + description + "A system message"; + leaf message-id { + type uint32; + description + "Message ID of the system message"; + } + uses SYSTEM-MESSAGE; + } + } + } + } + } + } + container logging { + config false; + description + "Logging History data"; + container history { + description + "Syslog Info "; + leaf properties { + type string; + description + "Syslog Properties"; + } + leaf message { + type string; + description + "Syslog Message"; + } + } + } + container syslog { + config false; + description + "System message operational data"; + container logging-files { + description + "Logging Files information"; + uses FILE-LOG-LIST-PATH; + } + container an-remote-servers { + description + "Logging AN remote servers information"; + uses AN-REMOTE-LOG-SERVERS; + } + container messages { + description + "Message table information"; + list message { + key "message-id"; + description + "A system message"; + leaf message-id { + type uint32; + description + "Message ID of the system message"; + } + uses SYSTEM-MESSAGE; + } + } + container logging-statistics { + description + "Logging statistics information"; + uses SYSTEM-MESSAGE-STATISTICS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-systemmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-systemmib-cfg.yang new file mode 100644 index 000000000..c1d896466 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-systemmib-cfg.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-infra-systemmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-systemmib-cfg"; + prefix infra-systemmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-systemmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container system { + description + "CISCO-SYSTEM-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable ciscoSystemMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-cfg.yang new file mode 100644 index 000000000..5040a2375 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-cfg.yang @@ -0,0 +1,214 @@ +module Cisco-IOS-XR-infra-tc-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-tc-cfg"; + prefix infra-tc-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-tc package configuration. + + This module contains definitions + for the following management objects: + traffic-collector: Global Traffic Collector configuration + commands + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-24 { + description + "Added config to disable oc-aft stats"; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef History-size { + type union { + type enumeration { + enum "max" { + value 10; + description + "Max history"; + } + } + type uint32 { + range "1..10"; + } + } + description + "History size"; + } + + typedef Collect-ion-interval { + type enumeration { + enum "1-minute" { + value 1; + description + "Interval1minute"; + } + enum "2-minutes" { + value 2; + description + "Interval2minutes"; + } + enum "3-minutes" { + value 3; + description + "Interval3minutes"; + } + enum "4-minutes" { + value 4; + description + "Interval4minutes"; + } + enum "5-minutes" { + value 5; + description + "Interval5minutes"; + } + enum "6-minutes" { + value 6; + description + "Interval6minutes"; + } + enum "10-minutes" { + value 10; + description + "Interval10minutes"; + } + enum "12-minutes" { + value 12; + description + "Interval12minutes"; + } + enum "15-minutes" { + value 15; + description + "Interval15inutes"; + } + enum "20-minutes" { + value 20; + description + "Interval20minutes"; + } + enum "30-minutes" { + value 30; + description + "Interval30minutes"; + } + enum "60-minutes" { + value 60; + description + "Interval60minutes"; + } + } + description + "Collect ion interval"; + } + + typedef History-timeout { + type union { + type enumeration { + enum "max" { + value 720; + description + "Max timeout"; + } + } + type uint32 { + range "0..720"; + } + } + description + "History timeout"; + } + + container traffic-collector { + description + "Global Traffic Collector configuration commands"; + container external-interfaces { + description + "Configure external interfaces"; + list external-interface { + key "interface-name"; + description + "Configure an external internface"; + leaf enable { + type empty; + description + "Enable traffic collector on this interface"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of interface"; + } + } + } + container oc-aft { + description + "Configure OC-AFT related parameters"; + leaf stats-disable { + type empty; + description + "Disable periodic streaming/collection of AFT + label stat"; + } + } + container statistics { + description + "Configure statistics related parameters"; + leaf history-size { + type History-size; + description + "Configure statistics history size"; + } + leaf collection-interval { + type Collect-ion-interval; + description + "Configure statistics collection interval"; + } + leaf enable-traffic-collector-statistics { + type empty; + description + "Enable traffic collector statistics"; + } + leaf history-timeout { + type History-timeout; + description + "Configure statistics history timeout interval"; + } + } + leaf enable-traffic-collector { + type empty; + description + "Enable traffic collector"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper-sub1.yang new file mode 100644 index 000000000..fbfe3e8c0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper-sub1.yang @@ -0,0 +1,427 @@ +submodule Cisco-IOS-XR-infra-tc-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-tc-oper { + prefix Cisco-IOS-XR-infra-tc-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-tc package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-26 { + description + "Added is OCAFT/OCSR enabled to track TC FSM modes and has SR flag to track label flag"; + semver:module-version "1.1.0"; + } + revision 2019-06-17 { + description + "Change type of tunnel interface name to string"; + semver:module-version "1.0.0"; + } + revision 2019-05-30 { + description + "Fix to extend range of valid OC-AFT Labels"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-01-01 { + description + "Yang evaluator: updates to schema descriptions."; + } + revision 2018-11-30 { + description + "Adding label data and total count stats for OC-AFT."; + } + revision 2018-10-05 { + description + "Removed stat collection message statistics. LDP label is provided in prefix info if present."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TC-MGMT-MSG-STAT { + description + "TC Server Message Statistics"; + leaf packet-sent { + type uint64; + description + "Number of packets sent"; + } + leaf byte-sent { + type uint64; + units "byte"; + description + "Number of bytes sent"; + } + leaf packet-received { + type uint64; + description + "Number of packets received"; + } + leaf byte-received { + type uint64; + units "byte"; + description + "Number of bytes received"; + } + leaf maximum-roundtrip-latency { + type uint32; + description + "Maximum message roundtrip latency in msec"; + } + leaf maimum-latency-timestamp { + type uint64; + description + "Timestamp of maximum latency"; + } + } + + grouping TC-MGMT-VRF-STAT { + description + "Statistics on VRF Table and its sub-tables"; + container database-statistics-ipv4 { + description + "Database statistics for IPv4 table"; + uses TC-MGMT-DB-STAT; + } + container database-statistics-tunnel { + description + "Database statistics for Tunnel table"; + uses TC-MGMT-DB-STAT; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + } + + grouping TC-MGMT-DB-STAT { + description + "Database statistics"; + leaf number-of-entries { + type uint32; + description + "Number of entries in the database"; + } + leaf number-of-stale-entries { + type uint32; + description + "Number of stale entries in the database"; + } + leaf number-of-add-operations { + type uint64; + description + "Number of add operations for the database"; + } + leaf number-of-delete-operations { + type uint64; + description + "Number of delete operations for the database"; + } + } + + grouping TC-MGMT-SUMMARY { + description + "TC Server Summary"; + container database-statistics-external-interface { + description + "Configured external interface counts"; + uses TC-MGMT-DB-STAT; + } + leaf collection-interval { + type uint8; + units "minute"; + description + "Statistic collection interval in minutes"; + } + leaf collection-timer-is-running { + type boolean; + description + "Flag to indicate if collection timer is running"; + } + leaf timeout-interval { + type uint16; + units "hour"; + description + "Statistic history timeout interval in hours"; + } + leaf timeout-timer-is-running { + type boolean; + description + "Flag to indicate if history timeout timer is + running"; + } + leaf history-size { + type uint8; + description + "Statistics history size"; + } + leaf total-prefix-count { + type uint32; + description + "Total count of prefix entries"; + } + list vrf-statistic { + description + "VRF table statistics"; + uses TC-MGMT-VRF-STAT; + } + list checkpoint-message-statistic { + description + "Statistics per message type for Chkpt"; + uses TC-MGMT-MSG-STAT; + } + } + + grouping TC-MGMT-EXT-IF-DATA { + description + "TC Server external interface data"; + leaf interface-name-xr { + type string; + description + "Interface name in Display format"; + } + leaf interface-handle { + type uint32; + description + "Interface handle for the external interface"; + } + leaf vrfid { + type uint32; + description + "Interface VRF ID"; + } + leaf is-interface-enabled { + type boolean; + description + "Flag to indicate interface enabled or not"; + } + } + + grouping TC-MGMT-OCAFT-SUMMARY { + description + "TC oc Server Summary"; + leaf collection-interval { + type uint8; + units "minute"; + description + "Statistic collection interval in minutes"; + } + leaf collection-interval-sec { + type uint16; + units "second"; + description + "Statistic collection interval in seconds"; + } + leaf collection-timer-is-running { + type boolean; + description + "Flag to indicate if collection timer is running"; + } + leaf total-label-count { + type uint32; + description + "Total count of oc label entries"; + } + } + + grouping TC-MGMT-TUNNEL-DATA { + description + "TC Server tunnel data"; + container base-counter-statistics { + description + "Base counter statistics for the tunnel"; + uses TC-MGMT-COUNT-STATS; + } + leaf interface-name-xr { + type string; + description + "Interface name in Display format"; + } + leaf interface-handle { + type uint32; + description + "Interface handle for the tunnel"; + } + leaf vrfid { + type uint32; + description + "Interface VRF ID"; + } + leaf is-active { + type boolean; + description + "Interface is Active and collecting new + Statistics"; + } + } + + grouping TC-MGMT-COUNT-HISTORY { + description + "TC Server counter statistics"; + leaf event-start-timestamp { + type uint64; + description + "Time when the collection interval started"; + } + leaf event-end-timestamp { + type uint64; + description + "Time when the collection interval ended"; + } + leaf transmit-number-of-packets-switched { + type uint64; + description + "Number of packets switched in this interval"; + } + leaf transmit-number-of-bytes-switched { + type uint64; + units "byte"; + description + "Number of Bytes switched in this interval"; + } + leaf is-valid { + type boolean; + description + "Flag to indicate if this history entry is valid"; + } + } + + grouping TC-MGMT-COUNT-STATS { + description + "TC Server counter statistics"; + leaf transmit-packets-per-second-switched { + type uint64; + units "packet/s"; + description + "Average Rate of Packets/second switched"; + } + leaf transmit-bytes-per-second-switched { + type uint64; + units "byte/s"; + description + "Average Rate of Bytes/second switched"; + } + list count-history { + description + "Counter History"; + uses TC-MGMT-COUNT-HISTORY; + } + } + + grouping TC-MGMT-PREFIX-DATA { + description + "TC Server Prefix data"; + container base-counter-statistics { + description + "Base counter statistics for the prefix"; + uses TC-MGMT-COUNT-STATS; + } + container traffic-matrix-counter-statistics { + description + "Traffic Matrix (TM) counter statistics for the + prefix"; + uses TC-MGMT-COUNT-STATS; + } + leaf prefix { + type string; + description + "Prefix Address (V4 or V6 Format)"; + } + leaf label-xr { + type uint32; + description + "SR Label"; + } + leaf ldp-label { + type uint32; + description + "LDP Label"; + } + leaf is-active { + type boolean; + description + "Prefix is Active and collecting new Statistics"; + } + } + + grouping TC-MGMT-COUNT-TOTAL { + description + "TC Server total counts"; + leaf last-collection-time { + type uint64; + description + "Last time the stats were collected"; + } + leaf transmit-packets-switched { + type uint64; + description + "Total Packets switched"; + } + leaf transmit-bytes-switched { + type uint64; + units "byte"; + description + "Total Bytes switched"; + } + } + + grouping TC-MGMT-LABEL-DATA { + description + "TC Server Label data"; + container base-counter-total { + description + "Base counter total bytes/packets"; + uses TC-MGMT-COUNT-TOTAL; + } + leaf label-xr { + type uint32; + description + "Label"; + } + leaf is-active { + type boolean; + description + "Label is Active and collecting new Statistics"; + } + leaf has-sr-flag { + type boolean; + description + "Label has SR flag meaning stats are pushed on + OCSR sensor path"; + } + leaf is-oc-aft-mode-enabled { + type boolean; + description + "OC-AFT mode is enabled in TC FSM"; + } + leaf is-oc-sr-mode-enabled { + type boolean; + description + "OC-SR mode is enabled in TC FSM"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper.yang new file mode 100644 index 000000000..d17d26743 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-tc-oper.yang @@ -0,0 +1,226 @@ +module Cisco-IOS-XR-infra-tc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-tc-oper"; + prefix infra-tc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-tc-oper-sub1 { + revision-date 2020-07-26; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-tc package operational data. + + This module contains definitions + for the following management objects: + traffic-collector: Global Traffic Collector configuration + commands + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-26 { + description + "Added is OCAFT/OCSR enabled to track TC FSM modes and has SR flag to track label flag"; + semver:module-version "1.1.0"; + } + revision 2019-06-17 { + description + "Change type of tunnel interface name to string"; + semver:module-version "1.0.0"; + } + revision 2019-05-30 { + description + "Fix to extend range of valid OC-AFT Labels"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-01-01 { + description + "Yang evaluator: updates to schema descriptions."; + } + revision 2018-11-30 { + description + "Adding label data and total count stats for OC-AFT."; + } + revision 2018-10-05 { + description + "Removed stat collection message statistics. LDP label is provided in prefix info if present."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tc-oper-af-name { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4"; + } + enum "ipv6" { + value 1; + description + "IPv6"; + } + } + description + "Tc oper af name"; + } + + typedef Tc-oper-ocaft-label { + type uint32 { + range "0..1048575"; + } + description + "Tc oper ocaft label"; + } + + typedef Tc-oper-local-label { + type uint32 { + range "16..1048575"; + } + description + "Tc oper local label"; + } + + grouping AF-TABLE { + description + "Common node of default-vrf, traffic-collector"; + container afs { + description + "Address Family specific operational data"; + list af { + key "af-name"; + description + "Operational data for given Address Family"; + container counters { + description + "Show Counters"; + container labels { + description + "Label Database"; + list label { + key "label"; + description + "Show Label Counter"; + leaf label { + type Tc-oper-ocaft-label; + description + "Local Label"; + } + uses TC-MGMT-LABEL-DATA; + } + } + container prefixes { + description + "Prefix Database"; + list prefix { + description + "Show Prefix Counter"; + leaf ipaddr { + type xr:Cisco-ios-xr-string; + description + "IP Address"; + } + leaf mask { + type xr:Cisco-ios-xr-string; + description + "Prefix Mask"; + } + leaf label { + type Tc-oper-local-label; + description + "Local Label"; + } + uses TC-MGMT-PREFIX-DATA; + } + } + container tunnels { + description + "List of tunnels in the traffic collector + tunnel database"; + list tunnel { + key "interface-name"; + description + "Information about a specific tunnel"; + leaf interface-name { + type xr:Cisco-ios-xr-string; + description + "The Interface Name"; + } + uses TC-MGMT-TUNNEL-DATA; + } + } + } + leaf af-name { + type Tc-oper-af-name; + description + "Address Family name"; + } + } + } + } + + container traffic-collector { + config false; + description + "Global Traffic Collector configuration commands"; + container summary-oc-aft { + description + "Traffic Collector summary for oc-aft"; + uses TC-MGMT-OCAFT-SUMMARY; + } + container external-interfaces { + description + "List of interfaces in the traffic collector + external interface database"; + list external-interface { + key "interface-name"; + description + "Information about a specific external interface"; + leaf interface-name { + type xr:Interface-name; + description + "The Interface Name"; + } + uses TC-MGMT-EXT-IF-DATA; + } + } + container summary { + description + "Traffic Collector summary"; + uses TC-MGMT-SUMMARY; + } + container vrf-table { + description + "VRF specific operational data"; + container default-vrf { + description + "DefaultVRF specific operational data"; + uses AF-TABLE; + } + } + uses AF-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-cfg.yang new file mode 100644 index 000000000..7e9ab4a06 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-cfg.yang @@ -0,0 +1,2395 @@ +module Cisco-IOS-XR-infra-xtc-agent-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-cfg"; + prefix infra-xtc-agent-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-segment-routing-ms-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc-agent package configuration. + + This YANG module augments the + Cisco-IOS-XR-segment-routing-ms-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-31 { + description + "Range for on-demand-colors/constraint/segments/sid-algorithm was incrased from 128-255 to 0-255 to allow algo-0/1 prefix-SIDS. Range for candidate-paths/preferences/preference/constraint/segment-rules/sid-algorithm was increased from 128-255 to 0-255 to allow algo-0/1 prefix-SIDS."; + semver:module-version "5.0.1m"; + } + revision 2021-07-22 { + description + "Added SR-TE path Strict SPF algorithm configuration + 2021-06-04 + DEPRECATED on-demand-colors on-demand-color on-demand-color-dyn-mpls on-demand-color-dyn-mpls-flex-algorithm in IOS-XR 7.5.1. Please use on-demand-colors on-demand-color constraint segments sid-algorithm. + 2021-05-14 + Modify the description of ODN related nodes to indicate that they are applicable for both SR-MPLS and SRv6 policies. + 2021-04-09 + Add backup liveness profile. + 2021-03-09 + Removed unsupported TCP Authentication option - accept mismatch connection, Changed taskgroup for SRPAG leaf."; + semver:module-version "5.0.0"; + } + revision 2021-02-18 { + description + "Remove deprecated liveness-detection and reverse-path cfg schema from performance-measurement delay measurement. + 2020-12-13 + Added performance-measurement liveness-detection config schema. + 2020-11-04 + Adding configurations for new features path invalidation drop protected and unprotected path Added liveness-detection container under delay measurement container. Added dm-reverse-path under delay measurement container. Added profile-name leaf under delay measurement container. Added separate-next-hop leaf under traffic-engineering container. Increased the maximum value of PCC delegation timeout. Added invalidation-drop leaf under steering container. Renamed type XTCSteeringApplicationType to XTCAgentPolicySteeringApplicationType. + 2020-10-27 + Adding support for ipv6 link local for srv6 + 2020-09-18 + Effective metric config CLI + 2020-08-07 + Remodel related to steering submode IosSetYangSchemaRev Cisco-IOS-XR-infra-xtc-agent-cfg"; + semver:module-version "4.0.0"; + } + revision 2020-01-29 { + description + "Implement new performance-measurement logging commands. Added per-flow configuration under policy and on-demand color. Adding leaf pdp-count to support Per-Flow Policy. Remove unnecessary config leaves from the steering container. + 2019-10-11 + Introduce a new HTTP API bindpoint for sibling PCEs. Adding enable leaf to profile list. + 2019-09-25 + Adding enum ipv4-adjacency-address."; + semver:module-version "3.0.0"; + } + revision 2019-09-05 { + description + "Source of SRTE policies are not getting selected properly in case of Multiple IGP Instance"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-01 { + description + "Added BFD configuration."; + } + revision 2018-11-28 { + description + "Added new SR-TE timers configuration."; + } + revision 2018-07-25 { + description + "Removed incorrect mandatory specifications."; + } + revision 2018-07-07 { + description + "Modified the allowed range for policy path weight."; + } + revision 2018-07-03 { + description + "Added TE-latency algorithm configuration."; + } + revision 2018-01-31 { + description + "Added BW configuration option for On Demand Color policy."; + } + revision 2017-12-21 { + description + "Added BW configuration option for SR policy."; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-09-11 { + description + "Initial version"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Xtc-bound-scope { + type enumeration { + enum "bound-scope-none" { + value 0; + description + "BOUND SCOPE NONE"; + } + enum "bound-scope-link" { + value 1; + description + "bounds on per link metric"; + } + enum "bound-scope-cumulative" { + value 2; + description + "bounds on path metric"; + } + } + description + "Xtc bound scope"; + } + + typedef Xtc-metric-value { + type enumeration { + enum "relative" { + value 1; + description + "Relative metric value"; + } + enum "absolute" { + value 2; + description + "Absolute metric value"; + } + } + description + "Xtc metric value"; + } + + typedef Xtc-pm-invalidation-action { + type enumeration { + enum "invalid-ation-action-none" { + value 0; + description + "PM liveness session state does not affect LSP + state, use for diagnostic purposes"; + } + enum "invalid-ation-action-down" { + value 1; + description + "LSP can only be operationally up if the PM + liveness session is up"; + } + } + description + "Xtc pm invalidation action"; + } + + typedef Effective-metric { + type enumeration { + enum "default" { + value 0; + description + "Default metric type (optimization metric type)"; + } + enum "igp" { + value 1; + description + "IGP metric type"; + } + enum "te" { + value 2; + description + "TE metric type"; + } + enum "hopcount" { + value 3; + description + "HOPCOUNT metric type"; + } + enum "latency" { + value 12; + description + "LATENCY metric type"; + } + } + description + "Effective metric"; + } + + typedef Xtc-bfd-invalidation-action { + type enumeration { + enum "invalid-ation-action-none" { + value 0; + description + "BFD session state does not affect LSP state, + use for diagnostic purposes"; + } + enum "invalid-ation-action-down" { + value 1; + description + "LSP can only be operationally up if the BFD + session is up"; + } + } + description + "Xtc bfd invalidation action"; + } + + typedef Xtc-binding-sidsrv6 { + type enumeration { + enum "srv6-dynamic" { + value 1; + description + "Allocate dynamic SRv6 BSID"; + } + } + description + "Xtc binding sidsrv6"; + } + + typedef Xtc-affinity-rule { + type enumeration { + enum "affinity-include-all" { + value 0; + description + "Include-all affinity rule"; + } + enum "affinity-exclude-any" { + value 1; + description + "Exclude-any affinity rule"; + } + enum "affinity-include-any" { + value 2; + description + "Include-any affinity rule"; + } + } + description + "Xtc affinity rule"; + } + + typedef Xtc-metric { + type enumeration { + enum "igp" { + value 1; + description + "IGP metric type"; + } + enum "te" { + value 2; + description + "TE metric type"; + } + enum "hopcount" { + value 3; + description + "Hopcount metric type"; + } + enum "latency" { + value 12; + description + "Latency metric type"; + } + } + description + "Xtc metric"; + } + + typedef Xtc-behavior-srv6 { + type enumeration { + enum "ub6-insert-reduced" { + value 1; + description + "SRv6 USID Insert Reduced Behavior"; + } + } + description + "Xtc behavior srv6"; + } + + typedef Xtc-end-point { + type enumeration { + enum "end-point-type-ipv4" { + value 1; + description + "IPv4 endpoint address"; + } + enum "end-point-type-ipv6" { + value 2; + description + "IPv6 endpoint address"; + } + } + description + "Xtc end point"; + } + + typedef Xtc-binding-sidexplicit-rule { + type enumeration { + enum "fallback-dynamic" { + value 1; + description + "Fallback dynamic option"; + } + enum "enforce-srlb" { + value 2; + description + "SRLB enforcement option"; + } + } + description + "Xtc binding sidexplicit rule"; + } + + typedef Xtc-binding-sid-dynamic-rule { + type enumeration { + enum "disable" { + value 1; + description + "Disable dynamic binding SID allocation"; + } + } + description + "Xtc binding sid dynamic rule"; + } + + typedef Xtc-path-algo-check-igp-protocol { + type enumeration { + enum "ospf" { + value 2; + description + "OSPF protocol"; + } + } + description + "Xtc path algo check igp protocol"; + } + + typedef Xtc-agent-policy-steering-application { + type enumeration { + enum "bgp" { + value 1; + description + "BGP as steering client"; + } + enum "isis" { + value 2; + description + "ISIS as steering client"; + } + enum "ospf" { + value 3; + description + "OSPF as steering client"; + } + } + description + "Xtc agent policy steering application"; + } + + typedef Xtc-path-hop { + type enumeration { + enum "mpls" { + value 1; + description + "Segment-routing MPLS"; + } + enum "srv6" { + value 2; + description + "Segment-routing v6"; + } + } + description + "Xtc path hop"; + } + + typedef Xtc-cpath { + type enumeration { + enum "candidate-path-type-all" { + value 0; + description + "All candidate-path type"; + } + enum "candidate-path-type-local" { + value 1; + description + "Local candidate-path type"; + } + enum "candidate-path-type-bgp-odn" { + value 2; + description + "BGP-ODN candidate-path type"; + } + enum "candidate-path-type-bgp-srte" { + value 3; + description + "BGP-SRTE candidate-path type"; + } + enum "candidate-path-type-pcep" { + value 4; + description + "PCEP candidate-path type"; + } + } + description + "Xtc cpath"; + } + + typedef Xtc-steering-application { + type enumeration { + enum "bgp" { + value 1; + description + "BGP as steering client"; + } + enum "isis" { + value 2; + description + "ISIS as steering client"; + } + enum "ospf" { + value 3; + description + "OSPF as steering client"; + } + } + description + "Xtc steering application"; + } + + typedef Xtc-adj-sid-protection { + type enumeration { + enum "protected-preferred" { + value 0; + description + "Protected adj SID preferred"; + } + enum "unprotected-only" { + value 1; + description + "Unprotected adj SID only"; + } + enum "protected-only" { + value 2; + description + "Protected adj SID only"; + } + enum "unprotected-preferred" { + value 3; + description + "Unprotected adj SID preferred"; + } + } + description + "Xtc adj sid protection"; + } + + typedef Xtc-path { + type enumeration { + enum "explicit" { + value 1; + description + "Explicit"; + } + enum "dynamic" { + value 2; + description + "Dynamic"; + } + } + description + "Xtc path"; + } + + typedef Xtc-address-family { + type enumeration { + enum "af-type-all" { + value 0; + description + "All address families"; + } + enum "af-type-ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "af-type-ipv6" { + value 2; + description + "IPv6 address family"; + } + } + description + "Xtc address family"; + } + + typedef Xtc-segment { + type enumeration { + enum "ipv4-address" { + value 1; + description + "IPv4 Address"; + } + enum "mpls-label" { + value 3; + description + "MPLS Label"; + } + enum "ipv4-adjacency-address" { + value 4; + description + "IPv4 Adjacency Address"; + } + } + description + "Xtc segment"; + } + + typedef Xtc-binding-sid { + type enumeration { + enum "mpls-label-specified" { + value 1; + description + "Use specified BSID MPLS label"; + } + enum "mpls-label-any" { + value 2; + description + "Allocate BSID MPLS label"; + } + } + description + "Xtc binding sid"; + } + + typedef Xtc-disjointness { + type enumeration { + enum "link" { + value 1; + description + "Link Disjointness"; + } + enum "node" { + value 2; + description + "Node Disjointness"; + } + enum "srlg" { + value 3; + description + "SRLG Disjointness"; + } + enum "srlg-node" { + value 4; + description + "SRLG Node Disjointness"; + } + } + description + "Xtc disjointness"; + } + + typedef Xtc-auto-route-metric { + type enumeration { + enum "relative" { + value 1; + description + "Autoroute relative metric type"; + } + enum "constant" { + value 3; + description + "Autoroute constant metric type"; + } + } + description + "Xtc auto route metric"; + } + + grouping EFFECTIVE-METRIC { + description + "Common node of policy, preference, + on-demand-color"; + container effective-metric { + presence "CLI submode compatibility."; + description + "Effective metric configuration submode"; + container metric-value-type { + description + "Metric value, advertised to other protocols"; + leaf metric-value { + type uint32 { + range "0..4294967295"; + } + description + "Integer value of metric"; + } + leaf metric-type { + type Effective-metric; + description + "Metric type, advertised to other protocols"; + } + } + leaf enable { + type empty; + description + "True only"; + } + } + } + + grouping PM-PROFILE-NAME { + description + "Common node of liveness-profile, delay-profile, + backup"; + leaf pm-profile-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "SR Policy delay profile name"; + } + } + + grouping SOURCE-ADDRESS { + description + "Common node of candidate-path-type, policy, + on-demand-color"; + container source-address { + presence "Indicates a source-address node is configured."; + description + "Source address of a candidate path. EndPointType + , Source"; + leaf ip-address-type { + type Xtc-end-point; + mandatory true; + description + "IP address type"; + } + leaf source-address { + type inet:ip-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + + grouping PERFORMANCE-MEASUREMENT { + description + "Common node of policy, on-demand-color"; + container performance-measurement { + presence "CLI submode compatibility."; + description + "Performance Measurement configuration submode"; + container delay-measurement { + presence "CLI submode compatibility."; + description + "Delay-measurement configuration submode"; + container delay-measurement-logging { + presence "CLI submode compatibility."; + description + "Syslog configuration options"; + leaf delay-exceeded { + type empty; + description + "Emit syslog when the delay exceeds the + threshold"; + } + } + container delay-profile { + description + "SR Policy delay profile name"; + uses PM-PROFILE-NAME; + } + } + container pm-liveness-detection { + presence "CLI submode compatibility."; + description + "Liveness detection configuration submode"; + container liveness-profile { + description + "SR Policy liveness profile name"; + container backup { + description + "SR Policy liveness backup profile name"; + uses PM-PROFILE-NAME; + } + uses PM-PROFILE-NAME; + } + container pm-liveness-detection-logging { + presence "CLI submode compatibility."; + description + "Syslog configuration options"; + leaf pm-liveness-session-state-change { + type empty; + description + "Emit syslog when the state of the session + changes"; + } + } + leaf pm-liveness-invalidation-action { + type Xtc-pm-invalidation-action; + description + "Action to be taken when PM liveness session is + invalidated"; + } + } + container pm-reverse-path { + description + "PM packets return to head-end using a label"; + leaf label { + type uint32 { + range "16..1048575"; + } + description + "DM packets return to head-end using a label"; + } + } + leaf enable { + type empty; + description + "True only"; + } + } + } + + grouping PRECEDENCE { + description + "Common node of pce-peer, pce-peer-v6"; + leaf precedence { + type uint32 { + range "0..255"; + } + description + "Precedence value of this PCE"; + } + } + + grouping METRIC-MARGIN { + description + "Common node of metric, + on-demand-color-dyn-mpls-metric"; + container metric-margin { + description + "Metric Margin"; + leaf value-type { + type Xtc-metric-value; + description + "Metric margin type"; + } + leaf absolute-value { + when "../value-type = 'absolute'" { + description + "../ValueType = Absolute"; + } + type uint32 { + range "0..2147483647"; + } + description + "Absolute metric value"; + } + leaf relative-value { + when "../value-type = 'relative'" { + description + "../ValueType = Relative"; + } + type uint32 { + range "0..2147483647"; + } + description + "Relative metric value"; + } + } + } + + grouping BOUNDS { + description + "Common node of constraints, + on-demand-color-dyn-mpls"; + container bounds { + description + "Bound related configuration"; + container bounds { + description + "SR path computation and verification metric + bounds"; + list bound { + key "scope-type metric-type"; + description + "SR path computation and verification metric + bound"; + leaf scope-type { + type Xtc-bound-scope; + description + "Scope of the bound"; + } + leaf metric-type { + type Xtc-metric; + description + "Metric type to bound"; + } + leaf bound-value { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Metric Bound Value"; + } + } + } + } + } + + grouping PER-FLOW { + description + "Common node of preference, on-demand-color"; + container per-flow { + presence "CLI submode compatibility."; + description + "Policy per-flow configuration"; + container forward-class-and-colors { + description + "Policy per-flow forward class table"; + list forward-class-and-color { + key "forward-class"; + description + "Policy per-flow forward class entry and + colorForwardClass, Color"; + leaf forward-class { + type uint32 { + range "0..7"; + } + description + "ForwardClass"; + } + leaf color { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Color"; + } + } + } + leaf default-forward-class { + type uint32 { + range "0..7"; + } + description + "Default forward class entry"; + } + leaf enable { + type empty; + description + "True only"; + } + } + } + + grouping XTC-AGENT-CFG-ENABLE { + description + "Common node of pce-peer, pce-peer-v6Common node + of segment-list, candidate-paths, preference, + path-info, metric, srte-interface, auto-route, + pcep, anycast, delay-measurement, + pm-liveness-detection, delay-measurement-logging, + pm-liveness-detection-logging"; + leaf enable { + type empty; + description + "True only"; + } + } + + grouping SRV6 { + description + "Common node of traffic-engineering, policy, + on-demand-color"; + container srv6 { + presence "CLI submode compatibility."; + description + "SRv6 options"; + container locator { + description + "SRv6 Locator options"; + leaf locator-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRv6 locator name"; + } + leaf behavior { + type Xtc-behavior-srv6; + description + "SRv6 USID Behavior"; + } + leaf binding-sid-type { + type Xtc-binding-sidsrv6; + description + "Binding Segment ID type"; + } + } + leaf maximum-sid-depth { + type uint32 { + range "1..255"; + } + description + "SRv6 Maximum SID Depth Configuration"; + } + leaf enable { + type empty; + description + "True only"; + } + } + } + + grouping PASSWORD { + description + "Common node of pce-peer, pce-peer-v6"; + leaf password { + type string { + length "1..25"; + } + description + "PCC Peer MD5 Password"; + } + } + + grouping PCE-GROUP { + description + "Common node of policy, preference, + on-demand-color"; + leaf pce-group { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "Name of the PCE group - maximum 16 characters"; + } + } + + grouping XTC-AGENT-CFG-PCE-GROUP { + description + "Common node of policy, preference, + on-demand-colorCommon node of pce-peer, + pce-peer-v6"; + leaf pce-group { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "Name of the PCE group - maximum 16 characters"; + } + } + + grouping AFFINITY-RULE-TABLE { + description + "Common node of constraints, + on-demand-color-dyn-mpls"; + container affinity-rules { + description + "SR path computation and verification affinity + rules"; + list affinity-rule { + key "rule"; + description + "SR path computation and verification affinity + rule"; + leaf rule { + type Xtc-affinity-rule; + description + "Affinity rule type"; + } + list affinity-name { + key "affinity-name"; + description + "Affinity rule name"; + leaf affinity-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Affinity name"; + } + } + } + } + } + + grouping BFD { + description + "Common node of policy, on-demand-color"; + container bfd { + presence "CLI submode compatibility."; + description + "Bidirectional Forwarding Detection (BFD)"; + container reverse-path { + presence "CLI submode compatibility."; + description + "Specify parameters about the reverse path back + to the head-end"; + leaf binding-label { + type uint32 { + range "16..1048575"; + } + description + "Binding label of a policy/tunnel from + destination to head-end"; + } + } + container bfd-logging { + presence "CLI submode compatibility."; + description + "Syslog configuration options"; + leaf session-state-change { + type empty; + description + "Emit syslog when the state of the session + changes"; + } + } + leaf enable { + type empty; + description + "Bidirectional Forwarding Detection (BFD)"; + } + leaf multiplier { + type uint32 { + range "1..10"; + } + description + "Number of missed BFD packets to declare session + down (default 3)"; + } + leaf minimum-interval { + type uint32 { + range "50..30000"; + } + units "millisecond"; + description + "Hello interval in milliseconds (default 150)"; + } + leaf disable { + type empty; + description + "Do not create BFD sessions"; + } + leaf invalidation-action { + type Xtc-bfd-invalidation-action; + description + "Action to be taken when BFD session is + invalidated"; + } + } + } + + grouping AUTHENTICATION-OPTION { + description + "Common node of pce-peer, pce-peer-v6"; + container authentication-option { + presence "Indicates a authentication-option node is configured."; + description + "Configure AO keychain based authentication"; + leaf keychain { + type string { + length "1..32"; + } + mandatory true; + description + "Name of the keychain"; + } + leaf include-tcp-options { + type boolean; + description + "Include other TCP options in the header"; + } + leaf accept-mismatch-connection { + type boolean; + description + "Deprecated"; + } + } + } + + grouping FORWARD-CLASS { + description + "Common node of auto-route, profile-auto-route"; + leaf forward-class { + type uint32 { + range "0..7"; + } + description + "Forward class associated with the policy"; + } + } + + grouping DISABLE { + description + "Common node of application, labeled-services"; + leaf disable { + type empty; + description + "Disable all steering services"; + } + } + + grouping XTC-AGENT-CFG-DISABLE { + description + "Common node of application, + labeled-servicesCommon node of application, + labeled-services"; + leaf disable { + type empty; + description + "Disable all steering services"; + } + } + + grouping MAXIMUM-SID-DEPTH { + description + "Common node of traffic-engineering, + on-demand-color"; + leaf maximum-sid-depth { + type uint32 { + range "1..255"; + } + description + "Maximum SID Depth Configuration"; + } + } + + grouping KEYCHAIN { + description + "Common node of pce-peer, pce-peer-v6"; + leaf keychain { + type string { + length "1..32"; + } + description + "PCC Peer Keychain"; + } + } + + augment "/a1:sr" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-segment-routing-ms-cfg'"; + container traffic-engineering { + presence "CLI submode compatibility."; + description + "Traffic Engineering configuration data"; + container out-of-resources { + description + "SR-TE out-of-resources handling configuration"; + leaf maximum-paths-batch { + type uint32 { + range "0..4294967295"; + } + default "0"; + description + "Maximum total number of LSP path operations in + a single batch"; + } + leaf maximum-paths { + type uint32 { + range "0..4294967295"; + } + default "0"; + description + "Maximum total number of LSP paths that can be + created"; + } + } + container on-demand-colors { + description + "On-demand color configuration"; + list on-demand-color { + key "color"; + description + "On-demand color configuration"; + container on-demand-color-dyn-mpls { + presence "CLI submode compatibility."; + description + "Dynamic path properties. Applicable for + SR-MPLS and SRv6 policies"; + container on-demand-color-dyn-mpls-anycast { + presence "CLI submode compatibility."; + description + "Anycast Prefix SID Inclusion. Applicable for + SR-MPLS and SRv6 policies"; + } + container on-demand-color-dyn-mpls-metric { + presence "CLI submode compatibility."; + description + "Metric type. Applicable for SR-MPLS and SRv6 + policies"; + leaf metric-type { + type Xtc-metric; + description + "Metric Type"; + } + uses METRIC-MARGIN; + } + container on-demand-color-dyn-mpls-pce { + presence "CLI submode compatibility."; + description + "Use Path Computation Element. Applicable for + SR-MPLS and SRv6 policies"; + } + container disjoint-path { + presence "Indicates a disjoint-path node is configured."; + description + "Disjoint path"; + leaf group-id { + type uint32 { + range "1..65535"; + } + mandatory true; + description + "Group ID"; + } + leaf disjointness-type { + type Xtc-disjointness; + mandatory true; + description + "Disjointness Type"; + } + leaf sub-id { + type uint32 { + range "1..65535"; + } + description + "Sub ID"; + } + } + leaf on-demand-color-dyn-mpls-flex-algorithm { + type uint32 { + range "128..255"; + } + description + "DEPRECATED in IOS-XR 7.5.1. Please use + on-demand-colors on-demand-color constraint + segments sid-algorithm. Prefix-SID algorithm + . Applicable for SR-MPLS and SRv6 policies"; + } + uses AFFINITY-RULE-TABLE; + uses BOUNDS; + } + container constraint { + description + "Path computation and verification constraints"; + container segments { + description + "Path computation segment specific rules"; + leaf protection-type { + type Xtc-adj-sid-protection; + description + "Protection Type"; + } + leaf sid-algorithm { + type uint32 { + range "0..255"; + } + description + "'0' for regular SIDs, '1' for strict-spf + SIDs, '128' - '255' for algorithm SIDs"; + } + } + } + container steering { + presence "CLI submode compatibility."; + description + "Ondemand steering options"; + container labeled-services { + description + "Steering options for labeled services"; + leaf disable { + type empty; + description + "Disable all steering services"; + } + } + leaf invalidation-drop { + type empty; + description + "Enable path invalidation drop"; + } + } + leaf bandwidth { + type uint32 { + range "1..4294967295"; + } + description + "The value of the bandwidth reserved by this + policy in kbps"; + } + leaf color { + type uint32 { + range "1..4294967295"; + } + description + "Color"; + } + uses PERFORMANCE-MEASUREMENT; + uses PER-FLOW; + uses MAXIMUM-SID-DEPTH; + uses BFD; + uses PCE-GROUP; + uses SOURCE-ADDRESS; + uses EFFECTIVE-METRIC; + uses SRV6; + } + } + container effective-metric-global { + presence "CLI submode compatibility."; + description + "Effective metric configuration submode"; + container effective-metric-admin-distance { + presence "CLI submode compatibility."; + description + "Administrative distance advertised to other + protocols"; + container effective-metric-admin-distance-metric-types { + description + "Administrative distance advertised to other + protocols"; + list effective-metric-admin-distance-metric-type { + key "metric-type"; + description + "Administrative distance advertised for this + metric type"; + leaf metric-type { + type Effective-metric; + description + "MetricType"; + } + leaf admin-distance { + type uint32 { + range "1..255"; + } + mandatory true; + description + "AdminDistance"; + } + } + } + } + } + container steering { + presence "CLI submode compatibility."; + description + "Steering options"; + container applications { + description + "Application table that steering options need + to be applied"; + list application { + key "application"; + description + "Application that steering options need to be + applied"; + leaf application { + type Xtc-steering-application; + description + "Steering application"; + } + uses XTC-AGENT-CFG-DISABLE; + } + } + container labeled-services { + presence "CLI submode compatibility."; + description + "Steering options for labeled services"; + leaf disable-on-demand-policies { + type empty; + description + "Disable steering for labeled services for + on-demand policies"; + } + leaf disable-all-policies { + type empty; + description + "Disable steering for labeled services for all + policies"; + } + leaf disable-pcep-policies { + type empty; + description + "Disable steering for labeled services for PCE + initiated policies"; + } + leaf disable-local-policies { + type empty; + description + "Disable steering for labeled services for + local policies"; + } + leaf disable-bgp-sr-te-policies { + type empty; + description + "Disable steering for labeled services for + BGP-SRTE policies"; + } + uses XTC-AGENT-CFG-DISABLE; + } + } + container segments { + description + "Segment-lists configuration"; + list segment { + key "path-name"; + description + "Segment-list configuration"; + container segments { + description + "Segments/hops configuration for given + Segment-list"; + list segment { + key "segment-index"; + description + "Configure Segment/hop at the index"; + leaf segment-index { + type uint32 { + range "1..65535"; + } + description + "Segment index"; + } + leaf segment-type { + type Xtc-segment; + description + "Segment/hop type"; + } + leaf address { + when "../segment-type = 'ipv4-address' or ../segment-type = 'ipv4-adjacency-address'" { + description + "../SegmentType = IPv4Address or . + ./SegmentType = IPv4AdjacencyAddress"; + } + type inet:ipv4-address-no-zone; + description + "IPv4 Address"; + } + leaf mpls-label { + when "../segment-type = 'mpls-label'" { + description + "../SegmentType = MPLSLabel"; + } + type uint32 { + range "0..1048575"; + } + description + "MPLS Label"; + } + leaf adjacency-address { + type inet:ipv4-address-no-zone; + description + "IPv4 Adjacency Address"; + } + leaf address-type { + when "../segment-type = 'ipv4-adjacency-address'" { + description + "../SegmentType = IPv4AdjacencyAddress"; + } + type uint32 { + range "0..32"; + } + description + "IP address types"; + } + leaf interface-identifier { + type uint32 { + range "1..65535"; + } + description + "Interface Identifier"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Prefix Length"; + } + leaf validate-flag { + type uint32 { + range "0..1"; + } + description + "Validate No Validate"; + } + } + } + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Segment-list name"; + } + } + } + container logging { + description + "Logging configuration"; + leaf pcep-peer-status { + type empty; + description + "Enable logging for pcep peer status"; + } + leaf policy-status { + type empty; + description + "Enable logging for policy status"; + } + } + container timers { + description + "SR-TE timers configuration"; + leaf candidate-path-cleanup-delay { + type uint32 { + range "0..86400"; + } + default "120"; + description + "Delay before cleaning up candidate paths"; + } + leaf initial-verify-restart { + type uint32 { + range "10..10000"; + } + default "40"; + description + "Timer to wait for topology convergence after + topology starts populating for restart case"; + } + leaf initial-verify-switchover { + type uint32 { + range "10..10000"; + } + default "60"; + description + "Timer to wait for topology convergence after + topology starts populating for switchover case"; + } + leaf initial-verify-startup { + type uint32 { + range "10..10000"; + } + default "120"; + description + "Timer to wait for topology convergence after + topology starts populating for startup case"; + } + leaf cleanup-delay { + type uint32 { + range "0..300"; + } + default "10"; + description + "Delay before cleaning up previous path"; + } + leaf install-delay { + type uint32 { + range "0..300"; + } + default "10"; + description + "Delay before switching to a reoptimized path"; + } + leaf periodic-reoptimization { + type uint32 { + range "0..86400"; + } + default "600"; + description + "How often to perform periodic reoptimization + of policies"; + } + } + container bfd-global { + presence "CLI submode compatibility."; + description + "Bidirectional Forwarding Detection (BFD)"; + container bfd-timers { + presence "CLI submode compatibility."; + description + "BFD timers configuration"; + leaf bringup-timer { + type uint32 { + range "10..3600"; + } + description + "How long to wait for new BFD session to come + up"; + } + } + } + container binding-sid-rules { + description + "Binding sid rules"; + container explicit { + presence "Indicates a explicit node is configured."; + description + "Binding sid explicit options"; + leaf rule { + type Xtc-binding-sidexplicit-rule; + mandatory true; + description + "Binding sid explicit rule"; + } + } + container dynamic-binding-sid-rules { + presence "Indicates a dynamic-binding-sid-rules node is configured."; + description + "Dynamic binding SID options. Applicable for + SR-MPLS and SRv6 policies"; + leaf dynamic-binding-sid-rule { + type Xtc-binding-sid-dynamic-rule; + mandatory true; + description + "Binding SID dynamic rule. Applicable for + SR-MPLS and SRv6 policies"; + } + } + } + container policies { + description + "Policy configuration"; + list policy { + key "policy-name"; + description + "Policy configuration"; + container binding-sid { + description + "Binding Segment ID"; + leaf binding-sid-type { + type Xtc-binding-sid; + description + "Binding SID type"; + } + leaf mpls-label { + when "../binding-sid-type = 'mpls-label-specified'" { + description + "../BindingSIDType = MPLSLabelSpecified"; + } + type uint32 { + range "16..1048575"; + } + description + "MPLS Label"; + } + } + container steering { + description + "Policy steering options"; + container labeled-services { + description + "Steering options for labeled services"; + uses DISABLE; + } + container applications { + description + "Application table that steering options need + to be applied"; + list application { + key "application"; + description + "Application that steering options need to + be applied"; + leaf application { + type Xtc-agent-policy-steering-application; + description + "Steering application"; + } + uses DISABLE; + } + } + leaf invalidation-drop { + type empty; + description + "Enable path invalidation drop"; + } + } + container policy-color-endpoint { + presence "Indicates a policy-color-endpoint node is configured."; + description + "Color and endpoint of a policyColor, + EndPointType, Endpoint"; + leaf color { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Color"; + } + leaf end-point-type { + type Xtc-end-point; + mandatory true; + description + "End point type"; + } + leaf end-point-address { + type inet:ip-address-no-zone; + mandatory true; + description + "End point address"; + } + } + container auto-route { + presence "CLI submode compatibility."; + description + "Autoroute configuration"; + container auto-route-metric { + description + "Autoroute metric"; + leaf autoroute-metric-type { + type Xtc-auto-route-metric; + description + "Metric type"; + } + leaf metric-relative-value { + type int32 { + range "-10..10"; + } + description + "Autoroute relative metric"; + } + leaf metric-constant-value { + type uint32 { + range "1..2147483647"; + } + description + "Autoroute constant metric"; + } + } + container include-prefixes { + description + "Autoroute include prefix table configuration"; + list include-prefix { + must "af-type-all or af-type-ipv4-or-af-type-ipv6" { + description + "AF_TYPE_ALL or + AF_TYPE_IPV4-or-AF_TYPE_IPV6 must be + present."; + } + key "af-type"; + description + "Autoroute IP prefix to include (limited to + IPv4 prefixes)"; + container af-type-all { + when "../af-type = 'af-type-all'" { + description + "../AFType = AF_TYPE_ALL"; + } + presence "Indicates that this node is configured."; + description + "af type all"; + } + leaf af-type { + type Xtc-address-family; + description + "Address family type"; + } + list af-type-ipv4-or-af-type-ipv6 { + when "../af-type = 'af-type-ipv4' or ../af-type = 'af-type-ipv6'" { + description + "../AFType = AF_TYPE_IPV4 or ../AFType = + AF_TYPE_IPV6"; + } + key "prefix-address prefix-length"; + description + "af type ipv4 or af type ipv6"; + leaf prefix-address { + type inet:ip-address-no-zone; + description + "Autoroute prefix IP address"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Autoroute IP prefix length"; + } + } + } + } + leaf include-ipv6-all { + type empty; + description + "Include all eligible IPv6 prefixes"; + } + leaf force-sr-include { + type empty; + description + "Force policy to carry SR MPLS traffic as + well"; + } + uses FORWARD-CLASS; + } + container candidate-paths { + presence "CLI submode compatibility."; + description + "Policy candidate-paths configuration"; + container preferences { + description + "Policy path-option preference table"; + list preference { + key "path-index"; + description + "Policy path-option preference entry"; + container constraints { + description + "SR path computation and verification + constraints"; + container disjoint-path { + presence "Indicates a disjoint-path node is configured."; + description + "Disjoint path"; + leaf group-id { + type uint32 { + range "1..65535"; + } + mandatory true; + description + "Group ID"; + } + leaf disjointness-type { + type Xtc-disjointness; + mandatory true; + description + "Disjointness Type"; + } + leaf sub-id { + type uint32 { + range "1..65535"; + } + description + "Sub ID"; + } + } + container segment-rules { + description + "SR path computation segment specific + rules"; + leaf protection-type { + type Xtc-adj-sid-protection; + description + "Protection Type"; + } + leaf sid-algorithm { + type uint32 { + range "0..255"; + } + description + "'0' for regular SIDs, '1' for strict-spf + SIDs, '128' - '255' for algorithm SIDs"; + } + } + uses AFFINITY-RULE-TABLE; + uses BOUNDS; + } + container path-infos { + description + "Policy path-option preference + configuration"; + list path-info { + key "type hop-type segment-list-name"; + description + "Policy configuration"; + container metric { + presence "CLI submode compatibility."; + description + "Metric configuration, valid only for + dynamic path-options"; + leaf sid-limit { + type uint32 { + range "1..255"; + } + description + "Maximum number of SIDs"; + } + leaf metric-type { + type Xtc-metric; + description + "Metric type"; + } + uses METRIC-MARGIN; + } + container anycast { + presence "CLI submode compatibility."; + description + "Anycast Prefix SID Inclusion"; + } + container pcep { + presence "CLI submode compatibility."; + description + "Path Computation Element Protocol"; + } + leaf weight { + type uint32 { + range "1..4294967295"; + } + description + "Path-option weight"; + } + leaf type { + type Xtc-path; + description + "Path-option type"; + } + leaf hop-type { + type Xtc-path-hop; + description + "Type of dynamic path to be computed"; + } + leaf segment-list-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Segment-list name"; + } + } + } + leaf path-index { + type uint32 { + range "1..65535"; + } + description + "Path-option preference"; + } + uses PER-FLOW; + uses PCE-GROUP; + uses EFFECTIVE-METRIC; + } + } + } + leaf ipv6-disable { + type empty; + description + "IPv6 disable"; + } + leaf shutdown { + type empty; + description + "Administratively shutdown policy"; + } + leaf bandwidth { + type uint32 { + range "1..4294967295"; + } + description + "The value of the bandwidth reserved by this + policy in kbps"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..59"; + } + description + "Policy name"; + } + uses PERFORMANCE-MEASUREMENT; + uses BFD; + uses PCE-GROUP; + uses SOURCE-ADDRESS; + uses EFFECTIVE-METRIC; + uses SRV6; + } + } + container srte-interfaces { + description + "SR-TE interfaces"; + list srte-interface { + key "srte-interface-name"; + description + "SR-TE interface"; + container interface-affinities { + description + "Set user defined interface attribute flags"; + list interface-affinity { + key "affinity-name"; + description + "Set user defined interface attribute flags"; + leaf affinity-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Interface affinity names"; + } + } + } + leaf interface-metric { + type uint32 { + range "0..2147483647"; + } + description + "Interface TE metric configuration"; + } + leaf srte-interface-name { + type xr:Interface-name; + description + "SR-TE Interface name"; + } + } + } + container pcc { + presence "CLI submode compatibility."; + description + "Path Computation Client"; + container pce-peers { + description + "PCE peer configuration"; + list pce-peer { + key "pce-address"; + description + "PCE peer"; + leaf pce-address { + type inet:ip-address-no-zone; + description + "Remote PCE address"; + } + uses PASSWORD; + uses KEYCHAIN; + uses XTC-AGENT-CFG-PCE-GROUP; + uses AUTHENTICATION-OPTION; + uses PRECEDENCE; + } + } + container pce-peer-v6s { + description + "PCE peer configuration for IPv6"; + list pce-peer-v6 { + key "pce-address"; + description + "PCE peer"; + leaf pce-address { + type inet:ip-address-no-zone; + description + "Remote PCE address"; + } + uses PASSWORD; + uses KEYCHAIN; + uses XTC-AGENT-CFG-PCE-GROUP; + uses AUTHENTICATION-OPTION; + uses PRECEDENCE; + } + } + container profiles { + description + "Path profiles configuration"; + list profile { + key "profile-id"; + description + "Path profile configuration"; + container steering { + presence "CLI submode compatibility."; + description + "Steering options"; + leaf invalidation-drop { + type empty; + description + "Enable path invalidation drop"; + } + } + container profile-auto-route { + description + "Autoroute configuration"; + container auto-route-metric { + description + "Autoroute metric"; + leaf autoroute-metric-type { + type Xtc-auto-route-metric; + description + "Metric type"; + } + leaf metric-relative-value { + type int32 { + range "-10..10"; + } + description + "Autoroute relative metric"; + } + leaf metric-constant-value { + type uint32 { + range "1..2147483647"; + } + description + "Autoroute constant metric"; + } + } + leaf include-all { + type empty; + description + "Include all IPv4 prefixes to autoroute"; + } + leaf include-ipv6-all { + type empty; + description + "Include all eligible IPv6 prefixes"; + } + leaf force-sr-include { + type empty; + description + "Force SR traffic over autoroute policy"; + } + uses FORWARD-CLASS; + } + leaf profile-id { + type uint32 { + range "1..65534"; + } + description + "Profile unique identifier"; + } + } + } + leaf dead-timer-interval { + type uint32 { + range "1..255"; + } + description + "Amount of time after which the peer can + declare this session down, if no PCEP message + has been received"; + } + leaf pcc-centric { + type empty; + description + "Enable PCC centric model, where PCC only + allows the lowest precedence PCE to initiate + policies"; + } + leaf report-all { + type empty; + description + "Report all local SR policies to connected PCEP + peers"; + } + leaf keepalive-timer-interval { + type uint32 { + range "0..255"; + } + description + "Maximum time between two consecutive PCEP + messages sent by this node"; + } + leaf initiated-state-interval { + type uint32 { + range "0..86400"; + } + description + "Amount of time that PCE initiated policy can + exist as an orphan before it is cleaned up"; + } + leaf ipv6-source-address { + type inet:ipv6-address-no-zone; + description + "Local source IP address to use on PCEP + sessions"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Local source IP address to use on PCEP + sessions"; + } + leaf srpag { + type empty; + description + "Enable signaling using SR Policy Association + Group"; + } + leaf initiated-orphan-interval { + type uint32 { + range "0..180"; + } + description + "Amount of time that PCE initiated policy + remains delegated to a peer that has gone down"; + } + leaf delegation-timeout { + type uint32 { + range "0..1576800000"; + } + description + "Maximum time delegated SR-TE policies can + remain up without an active connection to a + PCE"; + } + } + container trace-counts { + description + "Configure SR-TE trace options"; + list trace-count { + key "buffer-name"; + description + "Trace count for provided buffer"; + leaf buffer-name { + type xr:Cisco-ios-xr-string { + length "1..15"; + } + description + "Buffer name"; + } + leaf trace-count { + type uint32 { + range "0..1000000"; + } + mandatory true; + description + "Trace count"; + } + } + } + container path { + description + "Path configuration"; + container disable-algorithm-check { + description + "Path algorithm check configuration"; + container strict-spf { + description + "Disable SID algorithm check for Strict SPF"; + container areas { + description + "List of disabled areas"; + list area { + key "area-id protocol"; + description + "IGP area"; + leaf area-id { + type uint32; + description + "Area identifier"; + } + leaf protocol { + type Xtc-path-algo-check-igp-protocol; + description + "IGP protocol"; + } + } + } + leaf all { + type empty; + description + "Disable check for all IGP areas"; + } + } + } + } + container affinity-maps { + description + "Affinity-map configuration"; + list affinity-map { + key "affinity-name"; + description + "Affinity-map entry"; + leaf affinity-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Affinity-map bit-position"; + } + leaf bit-position { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Affinity-map bit-position"; + } + } + } + container candidate-path-types { + presence "CLI submode compatibility."; + description + "Configurations for candidate paths."; + list candidate-path-type { + must "candidate-path-type-all-or-candidate-path-type-local-or-candidate-path-type-bgp-odn-or-candidate-path-type-bgp-srte-or-candidate-path-type-pcep" { + description + "CANDIDATE_PATH_TYPE_ALL-or-CANDIDATE_PATH_TYPE_LOCAL-or-CANDIDATE_PATH_TYPE_BGP_ODN-or-CANDIDATE_PATH_TYPE_BGP_SRTE-or-CANDIDATE_PATH_TYPE_PCEP must be present."; + } + key "candidate-path-type"; + description + "Configurations for candidate paths of specific + type."; + container candidate-path-type-all-or-candidate-path-type-local-or-candidate-path-type-bgp-odn-or-candidate-path-type-bgp-srte-or-candidate-path-type-pcep { + when "../candidate-path-type = 'candidate-path-type-all' or ../candidate-path-type = 'candidate-path-type-local' or ../candidate-path-type = 'candidate-path-type-bgp-odn' or ../candidate-path-type = 'candidate-path-type-bgp-srte' or ../candidate-path-type = 'candidate-path-type-pcep'" { + description + "../CandidatePathType = + CANDIDATE_PATH_TYPE_ALL or . + ./CandidatePathType = + CANDIDATE_PATH_TYPE_LOCAL or . + ./CandidatePathType = + CANDIDATE_PATH_TYPE_BGP_ODN or . + ./CandidatePathType = + CANDIDATE_PATH_TYPE_BGP_SRTE or . + ./CandidatePathType = + CANDIDATE_PATH_TYPE_PCEP"; + } + presence "Indicates that this node is configured."; + description + "candidate path type all or candidate path + type local or candidate path type bgp odn or + candidate path type bgp srte or candidate + path type pcep"; + leaf enable { + type empty; + description + "True only"; + } + uses SOURCE-ADDRESS; + } + leaf candidate-path-type { + type Xtc-cpath; + description + "Candidate-path type"; + } + } + } + leaf te-latency { + type empty; + description + "Use TE-latency algorithm"; + } + leaf kshortest-paths { + type uint32 { + range "1..200"; + } + description + "Maximum number of attempted paths for + cumulative bounds (default 100)"; + } + leaf separate-next-hop { + type empty; + description + "Use Next Hop Separation in Forwarding"; + } + leaf enable { + type empty; + description + "True only"; + } + uses MAXIMUM-SID-DEPTH; + uses SRV6; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub1.yang new file mode 100644 index 000000000..51e0c2dcf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub1.yang @@ -0,0 +1,3928 @@ +submodule Cisco-IOS-XR-infra-xtc-agent-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-xtc-agent-oper { + prefix Cisco-IOS-XR-infra-xtc-agent-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-xtc-agent-oper-sub2 { + revision-date 2021-08-31; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc-agent package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-31 { + description + "Added leaf segment-algorithm-set under grouping XTC-SEGMENTS-BAG."; + semver:module-version "4.2.0"; + } + revision 2021-07-27 { + description + "Added invalid reason leaf under segment-list container + 2021-06-14 + Added SL First Label and Start Index field in LSP SL MOI bag. Added NH Seperation enabled field in Global info bag. IosSetYangSchemaRev Cisco-IOS-XR-infra-xtc-agent-oper"; + semver:module-version "4.1.0"; + } + revision 2021-05-21 { + description + "Added path invalidation drop flag in policy bag. + 2021-04-22 + Added TE metric field for Flex-algo ASLA. + 2021-02-18 + Remove deprecated performance-measurement oper bag and renamed pm config field name in xtc_pm_lsp_info. Added performance-measurement config data bag in lsp bag. + 2021-02-08 + Added performance-measurement config data bag in lsp bag. + 2020-12-13 + Added performance-measurement liveness-detection oper schema. + 2020-10-27 + Added A flag set field in show command to support A flag sent from PM side + 2020-09-16 + Adding operational nodes for new features path invalidation drop protected and unprotected path + 2020-09-04 + Modified the Extended-Affinities and ASLA-Extended-Affinities to be list instead of a leaf-list + 2020-05-12 + Add SRv6TE policy operational data + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-01-16 { + description + "Removed event buffer from SR-TE policy model. Implement new statistic info for policy performance-measurement session. Added support for per-flow policy output. Added additional filter for policy type i.e. per-flow and per-destination."; + semver:module-version "3.0.0"; + } + revision 2019-09-09 { + description + "PCE/SRTE topology should display P-flag set for OSPF prefix-SID with explicit-null"; + semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added operational models for interface database."; + semver:module-version "1.0.0"; + } + revision 2019-04-15 { + description + "Hierarchical changes to policy forwarding model to organize the paths under the proper segment lists and LSPs."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-11-28 { + description + "Various modifications to policy-related models for better compatibility with the IETF policy draft."; + } + revision 2017-09-11 { + description + "Initial version"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Cmn-ha-case { + type enumeration { + enum "ha-case-migration" { + description + "HA Case Migration"; + } + enum "ha-case-restart" { + description + "HA Case Restart"; + } + enum "ha-case-switchover" { + description + "HA Case Switchover"; + } + enum "ha-case-startup" { + description + "HA Case Startup"; + } + enum "ha-case-invalid" { + description + "HA Case Invalid"; + } + } + description + "Various HA cases"; + } + + typedef Xtc-sid1 { + type enumeration { + enum "sr-protected-adj-sid" { + value 1; + description + "Protected Adjacency SID"; + } + enum "sr-unprotected-adj-sid" { + value 2; + description + "Unprotected Adjacency SID"; + } + enum "sr-bgp-egress-peer-engineering-sid" { + value 3; + description + "BGP egress peer engineering SID"; + } + enum "sr-reqular-prefix-sid" { + value 4; + description + "Regular prefix SID"; + } + enum "sr-strict-prefix-sid" { + value 5; + description + "Strict prefix SID"; + } + enum "sr-flex-algo-prefix-sid" { + value 6; + description + "Flex-algo prefix SID"; + } + } + description + "XTC SID Types"; + } + + typedef Xtc-regist-entry { + type enumeration { + enum "color" { + value 0; + description + "Color"; + } + enum "color-endpoint" { + value 1; + description + "Color Endpoint"; + } + enum "policy-name" { + value 2; + description + "PolicyName"; + } + } + description + "Xtc regist entry"; + } + + typedef Xtc-igp-info-id { + type enumeration { + enum "isis" { + value 1; + description + "ISIS"; + } + enum "ospf" { + value 2; + description + "OSPF"; + } + enum "bgp" { + value 3; + description + "BGP"; + } + } + description + "IGP IDs"; + } + + typedef Xtc-disjointness { + type enumeration { + enum "no-disjointness" { + description + "No Disjointness"; + } + enum "link-disjointness" { + description + "Link disjointness"; + } + enum "node-disjointness" { + description + "Node disjointness"; + } + enum "srlg-disjointness" { + description + "SRLG disjointness"; + } + enum "srlg-node-disjointness" { + description + "SRLG-Node disjointness"; + } + } + description + "XTC policy path type"; + } + + typedef Mgmt-srv6-sid-fmt { + type enumeration { + enum "none" { + description + "No format"; + } + enum "base" { + description + "Base Format"; + } + enum "f3216" { + description + "Micro-segment F3216 Format"; + } + } + description + "SRv6 SID Format Type"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Xtc-treesid-role { + type enumeration { + enum "none" { + description + "No role"; + } + enum "ingress" { + description + "Ingress"; + } + enum "transit" { + description + "Transit"; + } + enum "egress" { + description + "Egress"; + } + enum "bud-node" { + description + "BudNode"; + } + } + description + "XTC TreeSID role"; + } + + typedef Xtc-pfp-state { + type enumeration { + enum "initialized" { + value 0; + description + "Initialized"; + } + enum "bsid-rewrite-pending" { + value 1; + description + "Waiting for BSID rewrite result"; + } + enum "up" { + value 2; + description + "Up"; + } + enum "bsid-reoptimizing" { + value 3; + description + "Waiting for reoptimized BSID rewrite result"; + } + } + description + "XTC Per-flow Policy FSM states"; + } + + typedef Xtc-pm-live-session-state { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "down" { + description + "Down"; + } + enum "up" { + description + "Up"; + } + } + description + "Xtc pm live session state"; + } + + typedef Xtc-bfd-session-state { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "down" { + description + "Down"; + } + enum "up" { + description + "Up"; + } + } + description + "Xtc bfd session state"; + } + + typedef Xtc-policy-lsp-sm-state { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "initialized" { + description + "Initialized"; + } + enum "deleted" { + description + "Deleted"; + } + enum "programmed" { + description + "Programmed; all forwarding rewrites created"; + } + enum "egress-paths-pending" { + description + "Waiting for egress paths"; + } + enum "out-of-resources-pending" { + description + "Waiting for resources to become available"; + } + enum "label-allocation-pending" { + description + "Waiting for label allocation result"; + } + enum "label-allocation-cleanup-pending" { + description + "Waiting for label free result"; + } + enum "label-rewrite-pending" { + description + "Waiting for label rewrite create result"; + } + enum "label-rewrite-cleanup-pending" { + description + "Waiting for label rewrite delete result"; + } + enum "bsid-allocation-pending" { + description + "Waiting for BSID label allocation result"; + } + enum "bsid-allocation-cleanup-pending" { + description + "Waiting for BSID label free result"; + } + enum "bsid-rewrite-pending" { + description + "Waiting for BSID rewrite create result"; + } + enum "bsid-rewrite-cleanup-pending" { + description + "Waiting for BSID rewrite delete result"; + } + enum "tunnel-rewrite-pending" { + description + "Waiting for tunnel rewrite create result"; + } + enum "tunnel-rewrite-cleanup-pending" { + description + "Waiting for tunnel rewrite delete result"; + } + enum "install-timer-pending" { + description + "Waiting for install timer to expire"; + } + enum "cleanup-timer-pending" { + description + "Waiting for cleanup timer to expire"; + } + enum "bfd-session-pending" { + description + "Waiting for BFD session to come up"; + } + enum "pm-liveness-session-pending" { + description + "Waiting for PM liveness session to come up"; + } + enum "invalidated-traffic-dropped" { + description + "Path invalidated, policy remains up but traffic + dropped"; + } + } + description + "XTC policy LSP FSM states"; + } + + typedef Xtc-pm-live-invalidation-action { + type enumeration { + enum "none" { + description + "None"; + } + enum "down" { + description + "Down"; + } + } + description + "Xtc pm live invalidation action"; + } + + typedef Xtc-bfd-invalidation-action { + type enumeration { + enum "none" { + description + "None"; + } + enum "down" { + description + "Down"; + } + } + description + "Xtc bfd invalidation action"; + } + + typedef Xtc-path-protection { + type enumeration { + enum "protected-preferred" { + value 0; + description + "Protected Preferred"; + } + enum "unprotected-only" { + value 1; + description + "Unprotected Only"; + } + enum "protected-only" { + value 2; + description + "Protected Only"; + } + enum "unprotected-preferred" { + value 3; + description + "Unprotected Preferred"; + } + } + description + "XTC path protection type"; + } + + typedef Xtc-sr-sid { + type enumeration { + enum "ipv4-node-sid" { + description + "IPv4 Node SID"; + } + enum "ipv4-adjacency-sid" { + description + "IPv4 Adjacency SID"; + } + enum "ipv4-unnumbered-adjacency-sid" { + description + "IPv4 Unnumbered Adjacency SID"; + } + enum "ipv6-node-sid" { + description + "IPv6 Node SID"; + } + enum "ipv6-adjacency-sid" { + description + "IPv6 Adjacency SID"; + } + enum "srv6usid" { + description + "SRv6 USID"; + } + enum "ipv6-link-local-adjacency-sid" { + description + "IPv6 Link Local Adjacency SID"; + } + enum "unknown-sid" { + description + "Unknown SID"; + } + } + description + "XTC SR SID type"; + } + + typedef Xtc-policy-path { + type enumeration { + enum "explicit" { + description + "Explicit path"; + } + enum "dynamic" { + description + "Dynamic path"; + } + enum "dynamic-pce" { + description + "Dynamic PCE-based path"; + } + } + description + "XTC policy path type"; + } + + typedef Xtc-policy-cpath-proto-origin { + type enumeration { + enum "unknown" { + value 0; + description + "unknown"; + } + enum "xtc" { + value 5; + description + "xtc"; + } + enum "pcep" { + value 10; + description + "pcep"; + } + enum "bgp" { + value 20; + description + "bgp"; + } + enum "configuration" { + value 30; + description + "configuration"; + } + } + description + "Policy candidate path protocol origin"; + } + + typedef Cmn-metric { + type enumeration { + enum "metric-type-none" { + value 0; + description + "Metric Type None"; + } + enum "metric-type-igp" { + value 1; + description + "Metric Type IGP"; + } + enum "metric-type-te" { + value 2; + description + "Metric Type TE"; + } + enum "metric-type-hop-count" { + value 3; + description + "Metric Type hop count"; + } + enum "metric-type-msd" { + value 11; + description + "Metric Type MSD"; + } + enum "metric-type-latency" { + value 12; + description + "Metric Type latency"; + } + } + description + "PCE Metric Type"; + } + + typedef Xtc-af-id { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Xtc af id"; + } + + grouping XTC-INTERFACE-SUMMARY-BAG { + description + "XTC interface summary information"; + leaf interface-count { + type uint32; + description + "Number of interfaces"; + } + leaf interface-operational-up-count { + type uint32; + description + "Number of interfaces that are operationally up"; + } + leaf interface-operational-down-count { + type uint32; + description + "Number of interfaces that are operationally down"; + } + } + + grouping XTC-PFX-ENTRY { + description + "XTC prefix etnry"; + container ip-address { + description + "Prefix IP address"; + uses XTC-IP-ADDR-TYPE; + } + } + + grouping XTC-PFX-BAG { + description + "XTC Prefix Information"; + container node-protocol-identifier { + description + "Node protocol identifier"; + uses XTC-NODE-PID-BAG; + } + leaf node-identifier-xr { + type uint32; + description + "Node identifier"; + } + list address { + description + "Prefix address"; + uses XTC-PFX-ENTRY; + } + } + + grouping XTC-TOPO-READY-BAG { + description + "XTC Topology Readiness Information"; + container timer { + description + "Topology readiness timer"; + uses CMN-TIMER-INFO; + } + leaf ready { + type boolean; + description + "Topology readiness"; + } + leaf ha-case { + type Cmn-ha-case; + description + "Last HA case"; + } + leaf timer-value { + type uint32; + description + "Topology ready timer value selected at start"; + } + leaf pcep-allowed { + type boolean; + description + "Whether PCEP is allowed"; + } + } + + grouping XTC-TOPO-SUMMARY-BAG { + description + "XTC Topology Node Summary Information"; + container topology-ready-summary { + description + "Topology ready summary"; + uses XTC-TOPO-READY-BAG; + } + leaf nodes { + type uint32; + description + "Number of nodes"; + } + leaf prefixes { + type uint32; + description + "Number of prefixes"; + } + leaf prefix-sids { + type uint32; + description + "Number of prefix SIDs"; + } + leaf links { + type uint32; + description + "Number of links"; + } + leaf adjacency-sids { + type uint32; + description + "Number of adjacency SIDs"; + } + } + + grouping XTC-IPV6-LINK-BAG { + description + "XTC IPv6 Link Information"; + container local-igp-information { + description + "Local node IGP information"; + uses XTC-IGP-INFO-BAG; + } + container remote-node-protocol-identifier { + description + "Remote node protocol identifier"; + uses XTC-NODE-PID-BAG; + } + leaf local-ipv6-address { + type inet:ipv6-address; + description + "Local IPv6 address"; + } + leaf remote-ipv6-address { + type inet:ipv6-address; + description + "Remote IPv6 address"; + } + leaf igp-metric { + type uint32; + description + "IGP Metric"; + } + leaf te-metric { + type uint32; + description + "TE Metric"; + } + leaf maximum-link-bandwidth { + type uint64; + description + "Max link bandwidth"; + } + leaf max-reservable-bandwidth { + type uint64; + description + "Max Reservable bandwidth"; + } + leaf flex-algo-te-metric { + type uint32; + description + "Flex-algo specific TE metric value"; + } + list adjacency-sid { + description + "Adjacency SIDs"; + uses XTC-SID-BAG; + } + } + + grouping XTC-LINK-PM-METRICS { + description + "Link performance metric information"; + leaf unidirectional-minimum-delay-microseconds { + type uint32; + units "microsecond"; + description + "Min delay in microseconds"; + } + } + + grouping XTC-IPV4-LINK-BAG { + description + "XTC IPv4 Link Information"; + container local-igp-information { + description + "Local node IGP information"; + uses XTC-IGP-INFO-BAG; + } + container remote-node-protocol-identifier { + description + "Remote node protocol identifier"; + uses XTC-NODE-PID-BAG; + } + container performance-metrics { + description + "Performance metrics"; + uses XTC-LINK-PM-METRICS; + } + leaf is-unnumbered { + type boolean; + description + "True if this is an IPv4 Unnumbered link"; + } + leaf local-interface-index { + type uint32; + description + "SNMP index of local interface: non-zero if + IsUnnumbered is True"; + } + leaf remote-interface-index { + type uint32; + description + "SNMP index of remote interface: non-zero if + IsUnnumbered is True"; + } + leaf local-ipv4-address { + type inet:ipv4-address; + description + "Local IPv4 address"; + } + leaf remote-ipv4-address { + type inet:ipv4-address; + description + "Remote IPv4 address"; + } + leaf igp-metric { + type uint32; + description + "IGP Metric"; + } + leaf te-metric { + type uint32; + description + "TE Metric"; + } + leaf maximum-link-bandwidth { + type uint64; + description + "Max link bandwidth"; + } + leaf max-reservable-bandwidth { + type uint64; + description + "Max Reservable bandwidth"; + } + leaf administrative-groups { + type uint32; + description + "Link admin-groups"; + } + leaf flex-algo-te-metric { + type uint32; + description + "Flex-algo specific TE metric value"; + } + leaf-list srlgs { + type uint32; + description + "SRLG Values"; + } + list extended-administrative-group { + description + "Link Extended admin-groups"; + leaf entry { + type uint32; + description + "Link Extended admin-groups"; + } + } + list adjacency-sid { + description + "Adjacency SIDs"; + uses XTC-SID-BAG; + } + list flex-algo-asla-administrative-group { + description + "Flex-algo specific Link Extended admin-groups"; + leaf entry { + type uint32; + description + "Flex-algo specific Link Extended admin-groups"; + } + } + } + + grouping XTC-SID-BAG { + description + "XTC SID bags"; + container sid-prefix { + description + "Prefix"; + uses XTC-IP-ADDR-TYPE; + } + leaf sid-type { + type Xtc-sid1; + description + "SID Type"; + } + leaf algorithm { + type uint32; + description + "Prefix-SID algorithm number"; + } + leaf mpls-label { + type uint32; + description + "MPLS Label"; + } + leaf xflag { + type boolean; + description + "X Flag"; + } + leaf rflag { + type boolean; + description + "R Flag"; + } + leaf nflag { + type boolean; + description + "N Flag"; + } + leaf pflag { + type boolean; + description + "P Flag"; + } + leaf eflag { + type boolean; + description + "E Flag"; + } + leaf vflag { + type boolean; + description + "V Flag"; + } + leaf lflag { + type boolean; + description + "L Flag"; + } + leaf mflag { + type boolean; + description + "M Flag"; + } + } + + grouping XTC-NODE-PID-BAG { + description + "XTC Node Protocol Identifier Information"; + leaf node-name { + type string; + description + "Node Name"; + } + leaf ipv4-bgp-router-id-set { + type boolean; + description + "True if IPv4 BGP router ID is set"; + } + leaf ipv4-bgp-router-id { + type inet:ipv4-address; + description + "IPv4 TE router ID"; + } + leaf ipv4te-router-id-set { + type boolean; + description + "True if IPv4 TE router ID is set"; + } + leaf ipv4te-router-id { + type inet:ipv4-address; + description + "IPv4 BGP router ID"; + } + list igp-information { + description + "IGP information"; + uses XTC-IGP-INFO-BAG; + } + } + + grouping XTC-TOPO-NODE-BAG { + description + "XTC Topology Node Information"; + container node-protocol-identifier { + description + "Node protocol identifier"; + uses XTC-NODE-PID-BAG; + } + leaf node-identifier-xr { + type uint32; + description + "Node identifier"; + } + leaf overload { + type boolean; + description + "Node Overload Bit"; + } + list prefix-sid { + description + "Prefix SIDs"; + uses XTC-SID-BAG; + } + list ipv4-link { + description + "IPv4 Link information"; + uses XTC-IPV4-LINK-BAG; + } + list ipv6-link { + description + "IPv6 Link information"; + uses XTC-IPV6-LINK-BAG; + } + list srv6-sid { + description + "SRv6 END SIDs"; + uses XTC-SRV6-SID-BAG; + } + } + + grouping XTC-REGIST-CONTENT-BAG { + description + "Regist entry content"; + leaf-list client-id { + type uint32; + description + "Clients that registered"; + } + } + + grouping XTC-REGIST-KEY-BAG { + description + "Regist entry key"; + container endpoint { + description + "Policy endpoint"; + uses XTC-IP-ADDR-TYPE; + } + leaf type { + type Xtc-regist-entry; + description + "Type of registration"; + } + leaf color { + type uint32; + description + "Color"; + } + leaf policy-name { + type string; + description + "Policy name"; + } + } + + grouping XTC-REGIST-ENTRY-BAG { + description + "Regist entry"; + container key { + description + "Entry key"; + uses XTC-REGIST-KEY-BAG; + } + container content { + description + "Entry content"; + uses XTC-REGIST-CONTENT-BAG; + } + } + + grouping XTC-CONTROLLER-POLICY-REQ-BAG { + description + "Controller policy request"; + container end-point { + description + "End point"; + uses XTC-IP-ADDR-TYPE; + } + leaf source-address-xr { + type inet:ipv4-address; + description + "Source address"; + } + leaf binding-sid { + type uint32; + description + "Binding SID"; + } + leaf preference { + type uint32; + description + "Preference"; + } + leaf color-xr { + type uint32; + description + "Color"; + } + leaf route-distinguisher-xr { + type uint32; + description + "Route distinguisher"; + } + leaf creation-time { + type uint32; + units "second"; + description + "Creation time of the request in seconds"; + } + leaf last-updated-time { + type uint32; + units "second"; + description + "Last updated time of the request in seconds"; + } + list segment-list { + description + "Segment lists"; + uses XTC-POLICY-SL-BAG; + } + } + + grouping XTC-IGP-INFO-BGP { + description + "XTC BGP Information"; + leaf router-id { + type Xtc-ipv4-address; + description + "BGP router ID"; + } + } + + grouping XTC-IGP-INFO-OSPF { + description + "XTC OSPF Information"; + leaf router-id { + type Xtc-ipv4-address; + description + "OSPF router ID"; + } + leaf area { + type uint32; + description + "OSPF area"; + } + } + + grouping XTC-IGP-INFO-ISIS { + description + "XTC ISIS Information"; + leaf system-id { + type string; + description + "ISIS system ID"; + } + leaf level { + type uint32; + description + "ISIS level"; + } + } + + grouping XTC-IGP-INFO-TYPE { + description + "XTC IGP INFO TYPE"; + container isis { + when "../igp-id = 'isis'" { + description + "../IGP_ID = 'ISIS'"; + } + description + "ISIS information"; + uses XTC-IGP-INFO-ISIS; + } + container ospf { + when "../igp-id = 'ospf'" { + description + "../IGP_ID = 'OSPF'"; + } + description + "OSPF information"; + uses XTC-IGP-INFO-OSPF; + } + container bgp { + when "../igp-id = 'bgp'" { + description + "../IGP_ID = 'BGP'"; + } + description + "BGP information"; + uses XTC-IGP-INFO-BGP; + } + leaf igp-id { + type Xtc-igp-info-id; + description + "IGP ID"; + } + } + + grouping XTC-IGP-INFO-BAG { + description + "XTC IGP information bag"; + container igp { + description + "IGP-specific information"; + uses XTC-IGP-INFO-TYPE; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + } + + grouping XTC-SRV6-LOCATOR-BAG { + description + "OBSOLETE XTC SRv6 SID bag"; + leaf locator { + type Xtc-ipv6-address; + description + "SRv6 Locator"; + } + leaf prefix-length { + type uint8; + description + "Prefix length"; + } + leaf metric { + type uint16; + description + "Metric"; + } + leaf algorithm { + type uint32; + description + "Prefix-SID algorithm number"; + } + } + + grouping XTC-SRV6-PREFIX-BAG { + description + "OBSOLETE XTC SRv6 Prefix bag"; + list srv6-sid { + description + "SRv6 END SIDs"; + uses XTC-SRV6-SID-BAG; + } + list srv6-locator { + description + "SRv6 Locators"; + uses XTC-SRV6-LOCATOR-BAG; + } + list igp-information { + description + "Local node IGP information"; + uses XTC-IGP-INFO-BAG; + } + } + + grouping XTC-DIST-INFO-BAG { + description + "Disjoint path information"; + leaf disjointness-type { + type Xtc-disjointness; + description + "Disjointness type"; + } + leaf group-id { + type uint32; + description + "Group ID"; + } + leaf sub-id { + type uint32; + description + "Sub ID"; + } + } + + grouping XTC-ON-DEMAND-COLOR-BAG { + description + "On-Demand Color information"; + container disjoint-path-info { + description + "Disjoint path information"; + uses XTC-DIST-INFO-BAG; + } + container performance-measurement-configuration { + description + "Performance-measurement configuration"; + uses XTC-PM-CPATH-CFG-INFO; + } + container per-flow-policy-config { + description + "Per-flow Policy Configuration Data"; + uses XTC-PFP-CONFIG-BAG; + } + container srv6-information { + description + "SRv6 policy candidate-path information"; + uses XTC-SRV6-CONFIG-BAG; + } + leaf color-xr { + type uint32; + description + "Color"; + } + leaf absolute-margin { + type uint32; + description + "Absolute Metric Margin"; + } + leaf relative-margin { + type uint32; + description + " Relative Metric Margin"; + } + leaf maximum-sid-depth { + type uint32; + description + "Maximum SID Depth"; + } + leaf config-anycast { + type boolean; + description + "Config Anycast"; + } + leaf igp-metric-bound { + type uint32; + description + "IGP metric bound"; + } + leaf te-metric-bound { + type uint32; + description + "TE metric bound"; + } + leaf delay-metric-bound { + type uint32; + description + "Delay metric bound"; + } + leaf hop-count-metric-bound { + type uint32; + description + "Hopcount metric bound"; + } + } + + grouping MGMT-SRV6-SID-FMT { + description + "SRv6 SID Format Info"; + leaf type { + type Mgmt-srv6-sid-fmt; + description + "Format type"; + } + leaf description { + type string; + description + "Format description"; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping XTC-SRV6U-LOCATOR { + description + "XTC Locator Information"; + container micro-segment-behavior { + description + "Micro-segment behavior"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container sid-format { + description + "SID Format"; + uses MGMT-SRV6-SID-FMT; + } + leaf name-xr { + type string; + description + "Locator Name"; + } + leaf prefix { + type string; + description + "Locator Prefix"; + } + leaf flex-algo { + type uint8; + description + "FlexAlgo"; + } + leaf is-operational { + type boolean; + description + "Locator Status"; + } + leaf is-oor { + type boolean; + description + "Locator OOR Status"; + } + } + + grouping XTC-RIB-STATS { + description + "XTC RIB stats"; + leaf sid-alloc-count { + type uint32; + description + "sid alloc count"; + } + leaf sid-free-count { + type uint32; + description + "sid free count"; + } + leaf ub6-rw-count { + type uint32; + description + "ub6 rw count"; + } + leaf sid-alloc-fail-count { + type uint32; + description + "sid alloc fail count"; + } + leaf sid-free-fail-count { + type uint32; + description + "sid free fail count"; + } + leaf ub6-rw-fail-count { + type uint32; + description + "ub6 rw fail count"; + } + leaf sid-alloc-success-count { + type uint32; + description + "sid alloc success count"; + } + leaf sid-free-success-count { + type uint32; + description + "sid free success count"; + } + leaf ub6-rw-success-count { + type uint32; + description + "ub6 rw success count"; + } + leaf rib6-conn-up-count { + type uint32; + description + "rib6 conn up count"; + } + leaf rib6-conn-up-ts-first { + type uint32; + description + "rib6 conn up ts first"; + } + leaf rib6-conn-up-ts-last { + type uint32; + description + "rib6 conn up ts last"; + } + leaf rib6-conn-down-count { + type uint32; + description + "rib6 conn down count"; + } + leaf rib6-conn-down-ts-first { + type uint32; + description + "rib6 conn down ts first"; + } + leaf rib6-conn-down-ts-last { + type uint32; + description + "rib6 conn down ts last"; + } + } + + grouping XTC-PATH { + description + "XTC Path Information"; + leaf interface-handle { + type xr:Interface-name; + description + "Interface"; + } + leaf address { + type Xtc-ipv6-address; + description + "Primary Address"; + } + leaf path-id { + type uint32; + description + "Path ID"; + } + leaf backup-path-id { + type uint32; + description + "Backup Path ID"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf info-source { + type Xtc-ipv6-address; + description + "Info Source"; + } + leaf sid-behavior { + type uint32; + description + "SID behavior"; + } + leaf-list backup-address { + type Xtc-ipv6-address; + description + "List of Backup Addresses"; + } + leaf-list sid { + type Xtc-ipv6-address; + description + "Underlay SID List"; + } + } + + grouping XTC-NEXT-HOP { + description + "XTC Next Hop Information"; + leaf prefix-xr { + type inet:ipv6-address; + description + "Next Hop Prefix"; + } + leaf create-time { + type uint32; + description + "Create Time"; + } + leaf last-update-time { + type uint32; + description + "Last Update Time"; + } + list paths { + description + "List of Paths"; + uses XTC-PATH; + } + } + + grouping CMN-TRACE-BUFFER-SUMMARY-BAG { + description + "Trace buffer summary"; + leaf trace-buffer-name { + type string; + description + "Name of trace buffer"; + } + leaf unique-trace-count { + type uint32; + description + "Unique trace count"; + } + leaf wrapping-trace-count-default { + type uint32; + description + "Default value of wrapping trace count"; + } + leaf wrapping-trace-count-programmed { + type uint32; + description + "Programmed value of wrapping trace count"; + } + leaf string-buffer-size-default { + type uint32; + units "byte"; + description + "Default string buffer size for wrapping traces + in bytes"; + } + leaf string-buffer-size-programmed { + type uint32; + units "byte"; + description + "Programmed string buffer size for wrapping + traces in bytes"; + } + } + + grouping XTC-EVENT-INFO { + description + "XTC Event information"; + leaf event-message { + type string; + description + "Event message"; + } + leaf time-stamp { + type uint64; + description + "Event time, relative to Jan 1, 1970"; + } + } + + grouping XTC-TREESID-PIMINFO-BAG { + description + "P2MP policy PIM information"; + leaf rpf-id { + type uint32; + description + "Reverse-path-forwarding identifier"; + } + leaf mdt-interface-handle { + type xr:Interface-name; + description + "Multicast Distribution Tree interface handle"; + } + leaf rsi-table-id { + type uint32; + description + "Router Space Infrastructure table ID"; + } + } + + grouping XTC-TREESID-HOP-BAG { + description + "P2MP Policy hop"; + container remote-address { + description + "Remote address"; + uses XTC-IP-ADDR-TYPE; + } + leaf outgoing-label { + type uint32; + description + "Outgoing label"; + } + leaf interface-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf central-control-identifier { + type uint32; + description + "Identifier for Central Control instructions"; + } + leaf stale { + type boolean; + description + "Whether the hop is stale"; + } + leaf lfa-protected { + type boolean; + description + "Whether the hop is protected by LFA FRR"; + } + } + + grouping XTC-TREESID-EP-BAG { + description + "P2MP Policy endpoint"; + container addres { + description + "Endpoint address"; + uses XTC-IP-ADDR-TYPE; + } + leaf stale { + type boolean; + description + "Whether the ep is stale"; + } + } + + grouping XTC-TREESID-BAG { + description + "P2MP Policy"; + container pim-information { + description + "Information from PIM regarding this policy"; + uses XTC-TREESID-PIMINFO-BAG; + } + leaf name-xr { + type string; + description + "Policy name"; + } + leaf root-address-xr { + type inet:ipv4-address; + description + "Root address of dynamic policy"; + } + leaf tree-id-xr { + type uint32; + description + "Tree-ID of dynamic policy"; + } + leaf lsm-id { + type uint32; + description + "LSM Identifier"; + } + leaf role { + type Xtc-treesid-role; + description + "TreeSID node role"; + } + leaf pce-creator { + type inet:ipv4-address; + description + "PCE which created/updated this policy"; + } + leaf stale { + type boolean; + description + "Is this dynamic policy stale"; + } + leaf color { + type uint32; + description + "On-demand color of dynamic policy"; + } + list end-point { + description + "Endpoints for dynamic policy"; + uses XTC-TREESID-EP-BAG; + } + list replication-hop { + description + "Replication points"; + uses XTC-TREESID-HOP-BAG; + } + list event { + description + "Events"; + uses XTC-EVENT-INFO; + } + } + + grouping XTC-POLICY-SUMMARY-BAG { + description + "Policy summary information"; + leaf total-policy-count { + type uint32; + description + "Total number of policies"; + } + leaf up-policy-count { + type uint32; + description + "Total number of policies that are operationally + up"; + } + leaf down-policy-count { + type uint32; + description + "Total number of policies that are operationally + down"; + } + leaf total-candidate-path-count { + type uint32; + description + "Total number of candidate paths"; + } + leaf active-candidate-path-count { + type uint32; + description + "Total number of candidate paths that are active"; + } + leaf inactive-candidate-path-count { + type uint32; + description + "Total number of candidate paths that are + inactive"; + } + leaf total-lsp-count { + type uint32; + description + "Total number of LSPs"; + } + leaf active-lsp-count { + type uint32; + description + "Total number of active LSPs"; + } + leaf reoptimized-lsp-count { + type uint32; + description + "Total number of reoptimized LSPs"; + } + leaf cleanup-lsp-count { + type uint32; + description + "Total number of cleanup LSPs"; + } + leaf oor-lsp-count { + type uint32; + description + "Total number of LSPs in OOR state"; + } + leaf pdp-count { + type uint32; + description + "Total number of per-destination policies"; + } + leaf up-pdp-count { + type uint32; + description + "Total number of PDPs that are operationally up"; + } + leaf down-pdp-count { + type uint32; + description + "Total number of PDPs that are operationally down"; + } + leaf pfp-count { + type uint32; + description + "Total number of per-flow policies"; + } + leaf up-pfp-count { + type uint32; + description + "Total number of PFPs that are operationally up"; + } + leaf down-pfp-count { + type uint32; + description + "Total number of PFPs that are operationally down"; + } + } + + grouping XTC-FWDING-EXT-INPROT-STATS-BAG { + description + "Extended statistics for an input protocol, + per-path"; + list output-protocol { + max-elements "5"; + description + "Output protocol"; + uses XTC-FWDING-STATS-BAG; + } + list feature { + max-elements "2"; + description + "Feature"; + uses XTC-FWDING-STATS-BAG; + } + } + + grouping XTC-FWDING-PATH-STATS-BAG { + description + "Extended statistics, per-path"; + list input-protocol { + max-elements "5"; + description + "Input protocol"; + uses XTC-FWDING-EXT-INPROT-STATS-BAG; + } + } + + grouping XTC-SRV6-SID-BAG { + description + "XTC SRv6 SID bag"; + leaf srv6-sid { + type Xtc-ipv6-address; + description + "SRv6 SID"; + } + leaf sid-behavior { + type uint16; + description + "Endpoint SID behavior"; + } + leaf algorithm { + type uint32; + description + "Prefix-SID algorithm number"; + } + } + + grouping XTC-FWDING-POLICY-PATH-BAG { + description + "Policy Forwarding path information"; + container stats { + description + "Forwarding stats of the path (backward + compatibility)"; + uses XTC-FWDING-STATS-BAG; + } + container full-stats { + description + "Full forwarding stats of the path"; + uses XTC-FWDING-PATH-STATS-BAG; + } + leaf next-hop-ipv6 { + type Xtc-ipv6-address; + description + "IPv6 Next Hop"; + } + leaf next-hop-table-id { + type uint32; + description + "Table ID for nexthop address"; + } + leaf is-protected { + type boolean; + description + "Is this path protected ?"; + } + leaf is-pure-bkup { + type boolean; + description + "Is this path a pure backup ?"; + } + leaf is-lfa-or-ecmp-backup { + type boolean; + description + "Whether the path is LFA or ECMP backup"; + } + leaf load-metric { + type uint32; + description + "Path's load metric for load balancing"; + } + leaf path-id { + type uint8; + description + "path Id"; + } + leaf bkup-path-id { + type uint8; + description + "Backup path Id"; + } + leaf internal-recursive-label { + type uint32; + description + "Internal Recursive label"; + } + leaf-list outgoing-interface { + type xr:Interface-name; + description + "Outgoing interface handle"; + } + leaf-list next-hop-ipv4 { + type Xtc-ipv4-address; + description + "IPv4 Next Hop"; + } + leaf-list label-stack { + type uint32; + description + "Path outgoing labels"; + } + list sid-stack { + description + "Path outgoing sids"; + uses XTC-SRV6-SID-BAG; + } + } + + grouping XTC-FWDING-POLICY-SL-BAG { + description + "Forwarding information related to a single + segment list"; + container stats { + description + "Forwarding stats of the segment list (backward + compatibility)"; + uses XTC-FWDING-STATS-BAG; + } + container full-stats { + description + "Full forwarding stats of the segment list"; + uses XTC-FWDING-PATH-STATS-BAG; + } + leaf name { + type string; + description + "Name of the segment list, if any"; + } + list forwarding-path { + description + "Segment list paths in forwarding"; + uses XTC-FWDING-POLICY-PATH-BAG; + } + } + + grouping XTC-FWDING-POLICY-CPATH-BAG { + description + "XTC FWDING POLICY CPATH BAG"; + container originator { + description + "Candidate path originator"; + uses XTC-POLICY-CPATH-ORIGINATOR-BAG; + } + leaf name { + type string; + description + "Name of the candidate path, if any"; + } + leaf preference { + type uint32; + description + "Candidate path preference"; + } + leaf protocol-originator { + type Xtc-policy-cpath-proto-origin; + description + "Candidate path protocol origin"; + } + leaf discriminator { + type uint32; + description + "Candidate path discriminator"; + } + } + + grouping XTC-FWDING-POLICY-LSP-BAG { + description + "Forwarding information related to a single LSP"; + container candidate-path { + description + "Candidate path associated with this LSP"; + uses XTC-FWDING-POLICY-CPATH-BAG; + } + leaf local-label { + type uint32; + description + "Local label of the LSP"; + } + list forwarding-segment-list { + description + "Segment lists installed in forwarding"; + uses XTC-FWDING-POLICY-SL-BAG; + } + } + + grouping XTC-FWDING-POLICY-BAG { + description + "Policy forwarding information"; + container endpoint-address { + description + "Endpoint address"; + uses XTC-IP-ADDR-TYPE; + } + container binding-sid { + description + "Programmed Binding SID"; + uses XTC-PREFIX-SID-TYPE; + } + container stats { + description + "Overall forwarding stats of the policy"; + uses XTC-FWDING-STATS-BAG; + } + container active-lsp { + description + "Active LSP information"; + uses XTC-FWDING-POLICY-LSP-BAG; + } + container reoptimized-lsp { + description + "Reoptimized LSP information"; + uses XTC-FWDING-POLICY-LSP-BAG; + } + container per-flow-information { + description + "Per-flow policy candidate-path information"; + uses XTC-PFP-CONFIG-BAG; + } + leaf policy-name { + type string; + description + "Policy name"; + } + leaf color { + type uint32; + description + "Color"; + } + } + + grouping XTC-INTERFACE-BAG { + description + "XTC interface information"; + leaf interface-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf name { + type string; + description + "Name of the interface"; + } + leaf operational-up { + type boolean; + description + "Operational up"; + } + } + + grouping XTC-FS-EG-NH-BAG { + description + "next-hop within an egress-group of a + first-segment"; + container next-hop-address { + description + "IP address of the directly connected neighbour"; + uses XTC-IP-ADDR-TYPE; + } + leaf interface-handle { + type xr:Interface-name; + description + "Interface handle of the outgoing interface"; + } + leaf interface-name { + type string; + description + "Name of the outgoing interface"; + } + leaf path-id { + type uint8; + description + "Path index for rewrite"; + } + leaf backup-path-id { + type uint8; + description + "Backup Path index for rewrite"; + } + leaf path-flags { + type uint16; + description + "Path flags for rewrite"; + } + } + + grouping XTC-FS-EG-BAG { + description + "egress-group within a first-segment"; + leaf next-hop-id { + type uint32; + description + "Next-hop ID"; + } + leaf local-label { + type uint32; + description + "Internal label that points to this next-hop"; + } + leaf needs-cleaning-up { + type boolean; + description + "Cleanup to be scheduled"; + } + leaf is-cleaning-up { + type boolean; + description + "Cleanup in progress"; + } + leaf rewrite-refresh-needed { + type boolean; + description + "Need to refresh the rewrite"; + } + leaf-list out-label { + type uint32; + description + "Outgoing label stack"; + } + list next-hop { + description + "Next-hops within the same egress-group"; + uses XTC-FS-EG-NH-BAG; + } + } + + grouping XTC-FS-BAG { + description + "first-segment of an SR-TE segment-list"; + leaf first-segment-label { + type uint32; + description + "First segment label as a key"; + } + list egress-group { + description + "Groups of egress hops"; + uses XTC-FS-EG-BAG; + } + } + + grouping XTC-EFFMET-POLICY-NOTIFY-BAG { + description + "XTC effective metric notification"; + leaf metric-type { + type uint8; + description + "Notified metric type"; + } + leaf metric-value { + type uint32; + description + "Notified metric value"; + } + leaf admin-distance { + type uint32; + description + "Notified administrative distance"; + } + } + + grouping XTC-POLICY-NOTIFY-BAG { + description + "XTC Policy notification to clients"; + container bsid-value { + description + "Binding SID value"; + uses XTC-PREFIX-SID-TYPE; + } + container effective-metric { + description + "Information about effective metric"; + uses XTC-EFFMET-POLICY-NOTIFY-BAG; + } + leaf sense { + type boolean; + description + "TRUE if adding, FALSE if removing"; + } + leaf is-state-up { + type boolean; + description + "Oper state of the policy"; + } + leaf steering-disabled { + type boolean; + description + "Steering is disabled for this policy"; + } + leaf ipv6-caps { + type boolean; + description + "Policy has SRv6 capability"; + } + } + + grouping XTC-PFP-OPER-BAG { + description + "XTC Per-flow policy Operational Data"; + container reopt-bsid { + description + "Reoptimized BSID"; + uses XTC-POLICY-BSID-BAG; + } + leaf is-enabled { + type boolean; + description + "Whether Per-flow is enabled on Policy"; + } + leaf state { + type Xtc-pfp-state; + description + "Per-flow Policy State"; + } + leaf transition-count { + type uint32; + description + "State transition count"; + } + } + + grouping XTC-PER-FLOW-POLICY-BAG { + description + "XTC Per-flow policy"; + container pfp-config { + description + "Per-flow Policy Configuration Data"; + uses XTC-PFP-CONFIG-BAG; + } + container pfp-oper { + description + "Per-flow Policy Operational Data"; + uses XTC-PFP-OPER-BAG; + } + } + + grouping XTC-PFP-RW-INFO-BAG { + description + "XTC policy LSP per-flow rewrite information"; + leaf default-forward-class { + type uint8; + description + "Default forward class"; + } + leaf-list ifhandle { + type uint32; + max-elements "8"; + description + "Ifhandle of per-destination policy at + forward-class"; + } + } + + grouping XTC-PM-LD-LSP-SESSION-INFO { + description + "XTC PM LD LSP SESSION INFO"; + container bring-up-timer { + description + "Bring up timer information"; + uses CMN-TIMER-INFO; + } + leaf last-liveness-state-change-time { + type uint64; + description + "Time when the last liveness state change + occurred"; + } + leaf last-liveness-state-change-age { + type uint64; + description + "Age when the last liveness state change occurred"; + } + leaf liveness-session-state { + type Xtc-pm-live-session-state; + description + "Last liveness state change"; + } + } + + grouping XTC-PM-DM-METRICS { + description + "XTC PM DM METRICS"; + leaf average-delay { + type uint32; + description + "Average delay"; + } + leaf minimum-delay { + type uint32; + description + "Minimum delay"; + } + leaf maximum-delay { + type uint32; + description + "Maximum delay"; + } + leaf delay-variance { + type uint32; + description + "Delay variance"; + } + leaf aflag-set { + type boolean; + description + "A flag is set"; + } + } + + grouping XTC-PM-DM-LSP-SESSION-INFO { + description + "XTC PM DM LSP SESSION INFO"; + container delay-metrics { + description + "Last delay-measurement metrics"; + uses XTC-PM-DM-METRICS; + } + leaf last-delay-change-time { + type uint64; + description + "Time when the last delay change occurred"; + } + leaf last-delay-change-age { + type uint64; + description + "Age when the last delay change occurred"; + } + leaf delay-session-is-created { + type boolean; + description + "Is delay-measurement session created"; + } + } + + grouping XTC-PM-LSP-INFO { + description + "XTC PM LSP INFO"; + container pm-delay-measurement-info { + description + "Delay-measurement information"; + uses XTC-PM-DM-LSP-SESSION-INFO; + } + container pm-liveness-detection-info { + description + "Liveness-detection information"; + uses XTC-PM-LD-LSP-SESSION-INFO; + } + leaf pm-delay-measurement-enabled { + type boolean; + description + "Is delay-measurement enabled"; + } + leaf pm-liveness-detection-enabled { + type boolean; + description + "Is liveness-detection enabled"; + } + } + + grouping XTC-BFD-LSP-INFO { + description + "XTC BFD LSP INFO"; + container session-params { + description + "BFD session parameters that are to be used for + this LSP"; + uses XTC-BFD-SESSION-PARAMS; + } + leaf last-session-state-change-time { + type uint64; + description + "Time when the last BFD state change occurred"; + } + leaf last-session-state-change-age { + type uint64; + description + "Age when the last BFD state change occurred"; + } + leaf session-state { + type Xtc-bfd-session-state; + description + "State of the BFD session"; + } + leaf is-created { + type boolean; + description + "Is BFD session created"; + } + leaf is-update-needed { + type boolean; + description + "Is update needed to BFD"; + } + leaf is-stale { + type boolean; + description + "Is the BFD session stale"; + } + } + + grouping XTC-POLICY-LSP-BAG { + description + "XTC Policy LSP"; + container binding-sid { + description + "Binding SID information"; + uses XTC-POLICY-BSID-BAG; + } + container install-timer { + description + "Install timer information"; + uses CMN-TIMER-INFO; + } + container cleanup-timer { + description + "Cleanup timer information"; + uses CMN-TIMER-INFO; + } + container bfd-information { + description + "BFD information"; + uses XTC-BFD-LSP-INFO; + } + container performance-measurement-configuration { + description + "Performance-measurement configuration"; + uses XTC-PM-CPATH-CFG-INFO; + } + container performance-measurement-info { + description + "Performance-measurement information"; + uses XTC-PM-LSP-INFO; + } + container per-flow-rewrite-info { + description + "Per-flow LSP rewrite information"; + uses XTC-PFP-RW-INFO-BAG; + } + leaf lsp-id { + type uint16; + description + "LSP ID"; + } + leaf policy-id { + type uint16; + description + "Policy ID"; + } + leaf local-label { + type uint32; + description + "Local label of the LSP"; + } + leaf state { + type Xtc-policy-lsp-sm-state; + description + "Current LSP state"; + } + leaf is-active-lsp { + type boolean; + description + "Whether this is the active LSP"; + } + leaf is-reoptimized-lsp { + type boolean; + description + "Whether this is the reoptimized LSP"; + } + } + + grouping XTC-SRV6-CONFIG-BAG { + description + "XTC SRv6 policy Configuration"; + container binding-sid { + description + "SRv6 Binding SID"; + uses XTC-PREFIX-SID-TYPE; + } + leaf locator-name { + type string; + description + "Locator name"; + } + leaf binding-sid-behavior { + type uint32; + description + "Binding SID behavior"; + } + } + + grouping XTC-FWDING-STATS-BAG { + description + "Forwarding stats"; + leaf packets { + type uint64; + description + "Number of packets forwarded"; + } + leaf bytes { + type uint64; + units "byte"; + description + "Number of bytes forwarded"; + } + } + + grouping XTC-PER-FLOW-PDP-ENTRY-BAG { + description + "XTC per-flow entry for per-destination policy"; + container stats { + description + "Forwarding stats of the per-destination policy"; + uses XTC-FWDING-STATS-BAG; + } + leaf color { + type uint32; + description + "Per-destination policy Color"; + } + leaf state { + type boolean; + description + "Per-destination policy state"; + } + leaf forward-class { + type uint8; + description + "Per-destination policy Forward Class"; + } + } + + grouping XTC-PFP-CONFIG-BAG { + description + "XTC Per-flow policy Configuration"; + leaf default-forward-class { + type uint8; + description + "Default forward class"; + } + list pdp-entry { + max-elements "8"; + description + "Per-flow PDP entry table"; + uses XTC-PER-FLOW-PDP-ENTRY-BAG; + } + } + + grouping XTC-PM-DM-STATS { + description + "XTC PM DM STATS"; + leaf session-create-counter { + type uint64; + description + "Counters for session create"; + } + leaf session-update-counter { + type uint64; + description + "Counters of sessions updated"; + } + leaf session-delete-counter { + type uint64; + description + "Counters for session delete update"; + } + leaf session-up-counter { + type uint64; + description + "Counters for session up update"; + } + leaf session-down-counter { + type uint64; + description + "Counters for session down update"; + } + leaf delay-notification-counter { + type uint64; + description + "Counters for session delay notification"; + } + leaf error-counter { + type uint64; + description + "Counters for session error update"; + } + } + + grouping XTC-PM-CPATH-INFO { + description + "XTC PM CPATH INFO"; + container liveness-session-statistics { + description + "Statistics of liveness sessions"; + uses XTC-PM-DM-STATS; + } + } + + grouping XTC-PM-LD-CFG-INFO { + description + "XTC PM LD CFG INFO"; + leaf invalidation-action { + type Xtc-pm-live-invalidation-action; + description + "Action to be taken when the PM liveness session + is invalidated"; + } + leaf profile-name { + type string; + description + "Profile name"; + } + leaf logging-session-state-change { + type boolean; + description + "Should syslog be emitted when session state + changes"; + } + } + + grouping XTC-PM-DM-CFG-INFO { + description + "XTC PM DM CFG INFO"; + leaf invalidation-action { + type Xtc-pm-live-invalidation-action; + description + "Action to be taken when the PM liveness session + is invalidated"; + } + leaf profile-name { + type string; + description + "Profile name"; + } + leaf logging-delay-exceeded { + type boolean; + description + "Should syslog be emitted when delay exceeds + threshold"; + } + } + + grouping XTC-PM-CPATH-CFG-INFO { + description + "XTC PM CPATH CFG INFO"; + container delay-measurement-configuration { + description + "Delay-measurement candidate-path configuration"; + uses XTC-PM-DM-CFG-INFO; + } + container liveness-detection-configuration { + description + "Liveness-detection candidate-path configuration"; + uses XTC-PM-LD-CFG-INFO; + } + leaf reverse-path-label { + type uint32; + description + "Reverse-path label"; + } + leaf delay-measurement-enabled { + type boolean; + description + "Is delay-measurement enabled"; + } + leaf liveness-detection-enabled { + type boolean; + description + "Is delay-measurement enabled"; + } + } + + grouping XTC-BFD-SESSION-STATS { + description + "XTC BFD SESSION STATS"; + leaf session-create { + type uint64; + description + "Count of sessions created"; + } + leaf session-update { + type uint64; + description + "Count of sessions updated"; + } + leaf session-delete { + type uint64; + description + "Count of sessions destroyed"; + } + leaf session-up { + type uint64; + description + "Count of session state UP notifications"; + } + leaf session-down { + type uint64; + description + "Count of session state DOWN notifications"; + } + leaf session-error { + type uint64; + description + "Count of unexpected events or API errors"; + } + } + + grouping XTC-BFD-CPATH-INFO { + description + "XTC BFD CPATH INFO"; + container session-statistics { + description + "Candidate path session statistics"; + uses XTC-BFD-SESSION-STATS; + } + } + + grouping XTC-BFD-SESSION-PARAMS { + description + "XTC BFD SESSION PARAMS"; + leaf minimum-interval { + type uint32; + description + "Minimum interval between transmitted BFD packets"; + } + leaf multiplier { + type uint32; + description + "Number of missed packets before declaring + session down"; + } + leaf reverse-binding-label { + type uint32; + description + "Reverse binding label"; + } + } + + grouping XTC-BFD-CFG-INFO-CPATH { + description + "XTC BFD CFG INFO CPATH"; + container session-params { + description + "BFD session parameters that should be used for + LSPs created from this CPATH"; + uses XTC-BFD-SESSION-PARAMS; + } + leaf invalidation-action { + type Xtc-bfd-invalidation-action; + description + "Action to be taken when BFD session is + invalidated"; + } + leaf submode-enable { + type boolean; + description + "Is BFD configured"; + } + leaf disable { + type boolean; + description + "Is BFD temporarily disabled"; + } + leaf logging-session-state-change { + type boolean; + description + "Should syslog be emitted when session state + changes"; + } + } + + grouping XTC-PROFILE-KEY { + description + "XTC profile key bag"; + leaf id { + type uint16; + description + "Numeric part of profile key"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source IPv4 address"; + } + } + + grouping XTC-PCC-INFO-BAG { + description + "XTC PCC info"; + container orphan-timer { + description + "Deprecated"; + uses CMN-TIMER-INFO; + } + container state-timer { + description + "State timer for PCE-initiated candidate paths in + orphan state"; + uses CMN-TIMER-INFO; + } + container fallback-timer { + description + "Timer for delaying delegation revoke back to LSP + originator"; + uses CMN-TIMER-INFO; + } + leaf symbolic-name { + type string; + description + "Symbolic name of the PLSP"; + } + leaf plsp-id { + type uint32; + description + "PLSP-ID associated with the PCC info"; + } + leaf is-orphan { + type boolean; + description + "Whether the candidate path is in orphan state"; + } + list profile-key { + description + "List of profile keys"; + uses XTC-PROFILE-KEY; + } + } + + grouping CMN-TIMER-INFO { + description + "Timer information"; + leaf running { + type boolean; + description + "Whether the timer is running"; + } + leaf remaining-seconds { + type int64; + units "second"; + description + "Number of remaining seconds"; + } + leaf remaining-nano-seconds { + type int64; + units "nanosecond"; + description + "Number of remaining nanoseconds"; + } + } + + grouping XTC-SEGMENTS-BAG { + description + "XTC SEGMENTS BAG"; + leaf segment-algorithm { + type uint8; + description + "Segment Algorithm"; + } + leaf segment-algorithm-set { + type boolean; + description + "Flag to indicate if segment algorithm is set"; + } + leaf protection-type { + type Xtc-path-protection; + description + "Protection Type"; + } + leaf protection-type-set { + type boolean; + description + "Flag to indicate if protection type is set"; + } + } + + grouping XTC-PATH-METRICS-BAG { + description + "SR path metrics bag"; + leaf margin-relative { + type uint32; + description + "Margin Relative"; + } + leaf margin-absolute { + type uint32; + description + "Margin Absolute"; + } + leaf maximum-segments { + type uint16; + description + "Maximum number of segments"; + } + leaf igp-metric-bound { + type uint32; + description + "IGP Metric Bound"; + } + leaf te-metric-bound { + type uint32; + description + "TE Metric Bound"; + } + leaf delay-metric-bound { + type uint32; + description + "Delay Metric Bound"; + } + leaf hop-count-metric-bound { + type uint32; + description + "Hopcount Metric Bound"; + } + leaf config-anycast { + type boolean; + description + "Config Anycast"; + } + } + + grouping XTC-AFFINITY-COLOR { + description + "XTC AFFINITY COLOR"; + leaf color { + type string; + description + "An affinity color"; + } + } + + grouping XTC-AFFINITY-CONSTRAINT { + description + "XTC AFFINITY CONSTRAINT"; + leaf type { + type uint8; + description + "Affinity type"; + } + leaf value { + type uint32; + description + "Affinity value"; + } + leaf-list extended-value { + type uint32; + description + "Extended Affinity values"; + } + list color { + description + "Colors"; + uses XTC-AFFINITY-COLOR; + } + } + + grouping XTC-PATH-CONSTRAINTS-BAG { + description + "XTC SR per candidate path metrics information"; + container path-metrics { + description + "Path metrics"; + uses XTC-PATH-METRICS-BAG; + } + container segments { + description + "Segments constraints"; + uses XTC-SEGMENTS-BAG; + } + list affinity-constraint { + description + "Affinity constraints list"; + uses XTC-AFFINITY-CONSTRAINT; + } + } + + grouping SRV6-SID-STRUCTURE-BAG { + description + "SRv6 MicroSID Structure"; + leaf locator-block-length { + type uint8; + description + "Block Length"; + } + leaf locator-node-length { + type uint8; + description + "Node Length"; + } + leaf function-length { + type uint8; + description + "Function Length"; + } + leaf argument-length { + type uint8; + description + "Argument Length"; + } + } + + grouping XTC-SR-HOP-TYPE { + description + "XTC SR hop"; + container sid { + description + "SID value"; + uses XTC-PREFIX-SID-TYPE; + } + container local-address { + description + "Local address"; + uses XTC-IP-ADDR-TYPE; + } + container remote-address { + description + "Remote address"; + uses XTC-IP-ADDR-TYPE; + } + container segment-id-structure { + description + "The SRv6 strucutre of the SID"; + uses SRV6-SID-STRUCTURE-BAG; + } + leaf sid-type { + type Xtc-sr-sid; + description + "SID type"; + } + leaf local-interface-index { + type uint32; + description + "SNMP index of the upstream interface of this hop"; + } + leaf remote-interface-index { + type uint32; + description + "SNMP index of the downstream interface of this + hop"; + } + leaf algorithm { + type uint8; + description + "Algorithm"; + } + leaf sid-behavior { + type uint16; + description + "Endpoint SID behavior"; + } + } + + grouping XTC-POLICY-SL-BAG { + description + "XTC policy segment list information bag"; + container pce-address-af { + description + "IPv4 or IPv6 Address of the PCE that computed + this path"; + uses XTC-IP-ADDR-TYPE; + } + leaf name { + type string; + description + "Explicit segment list name"; + } + leaf type { + type Xtc-policy-path; + description + "Segment list type"; + } + leaf active { + type boolean; + description + "Whether the segment list is active (used)"; + } + leaf weight { + type uint32; + description + "Weight of the segment list"; + } + leaf metric-type { + type uint8; + description + "Metric type of the segment list"; + } + leaf metric-value { + type uint64; + description + "Accumulated metric of the segment list"; + } + leaf is-valid { + type boolean; + description + "True if path is valid"; + } + leaf pce-based-path { + type boolean; + description + "True if the path is to be computed by PCE"; + } + leaf pce-address { + type inet:ipv4-address; + description + "Deprecated: IPv4 Address of the PCE that + computed this path. Use the PCE Addr + AF field instead"; + } + leaf error { + type string; + description + "Error (for display only)"; + } + leaf cumulative-te-metric { + type uint32; + description + "The cumulative TE metric of the path"; + } + leaf cumulative-igp-metric { + type uint32; + description + "The cumulative IGP metric of the path"; + } + leaf cumulative-latency { + type uint32; + description + "The cumulative latency of the path"; + } + leaf hop-count { + type uint32; + description + "The number of hops in the path"; + } + leaf kshortest-paths-computed { + type uint32; + description + "Number of computed shortest paths before finding + the one that satisfies the + constraints"; + } + leaf invalid-reason { + type string; + description + "Segment List Invalid Reason"; + } + list hops { + description + "SR hop list"; + uses XTC-SR-HOP-TYPE; + } + } + + grouping XTC-POLICY-CPATH-ORIGINATOR-BAG { + description + "XTC POLICY CPATH ORIGINATOR BAG"; + container node-address { + description + "Originator node address"; + uses XTC-IP-ADDR-TYPE; + } + leaf autonomous-system-number { + type uint32; + description + "Originator Autonomous System Number"; + } + } + + grouping XTC-POLICY-CPATH-BAG { + description + "XTC policy candidate path bag"; + container originator { + description + "Candidate path originator"; + uses XTC-POLICY-CPATH-ORIGINATOR-BAG; + } + container sr-path-constraints { + description + "SR candidate path constraints"; + uses XTC-PATH-CONSTRAINTS-BAG; + } + container requested-bsid { + description + "Requested binding SID"; + uses XTC-PREFIX-SID-TYPE; + } + container cleanup-timer { + description + "Cleanup timer if the candidate path is in the + process of being cleaned up"; + uses CMN-TIMER-INFO; + } + container pcc-information { + description + "PCC PCEP-related information"; + uses XTC-PCC-INFO-BAG; + } + container bfd-config { + description + "BFD configuration"; + uses XTC-BFD-CFG-INFO-CPATH; + } + container bfd-information { + description + "BFD information"; + uses XTC-BFD-CPATH-INFO; + } + container performance-measurement-configuration { + description + "Performance-measurement configuration"; + uses XTC-PM-CPATH-CFG-INFO; + } + container performance-measurement-info { + description + "Performance-measurement session information"; + uses XTC-PM-CPATH-INFO; + } + container per-flow-information { + description + "Per-flow policy candidate-path information"; + uses XTC-PFP-CONFIG-BAG; + } + container srv6-information { + description + "SRv6 policy candidate-path information"; + uses XTC-SRV6-CONFIG-BAG; + } + leaf name { + type string; + description + "Candidate path name"; + } + leaf preference { + type uint32; + description + "Candidate path preference"; + } + leaf protocol-originator { + type Xtc-policy-cpath-proto-origin; + description + "Candidate path protocol origin"; + } + leaf discriminator { + type uint32; + description + "Candidate path discriminator"; + } + leaf is-active { + type boolean; + description + "Whether this is the currently active candidate + path"; + } + leaf is-reoptimizing { + type boolean; + description + "Whether this is the candidate path that the + policy is reoptimizing to"; + } + leaf shutdown { + type boolean; + description + "If set, the candidate path is administratively + shutdown"; + } + leaf error { + type string; + description + "Candidate path error (for display only)"; + } + leaf pce-group-name { + type string; + description + "PCE group name"; + } + list segment-list { + description + "Segment lists of the candidate path"; + uses XTC-POLICY-SL-BAG; + } + } + + grouping XTC-POLICY-BSID-BAG { + description + "XTC policy binding SID information"; + container value { + description + "Binding SID value"; + uses XTC-PREFIX-SID-TYPE; + } + leaf is-fallback-dynamic { + type boolean; + description + "Whether the BSID is in fallback dynamic mode"; + } + leaf is-within-srlb-range { + type boolean; + description + "Whether the BSID is within SRLB range"; + } + leaf is-within-pfp-range { + type boolean; + description + "Whether the BSID is within PFP range"; + } + } + + grouping XTC-POLICY-BAG { + description + "XTC policy information"; + container destination-address { + description + "Destination address"; + uses XTC-IP-ADDR-TYPE; + } + container binding-sid { + description + "Binding SID information"; + uses XTC-POLICY-BSID-BAG; + } + container per-flow { + description + "Per-flow policy information"; + uses XTC-PER-FLOW-POLICY-BAG; + } + container last-notify { + description + "Last notification to clients"; + uses XTC-POLICY-NOTIFY-BAG; + } + leaf policy-name { + type string; + description + "Policy name"; + } + leaf administrative-up { + type uint32; + description + "Admin up"; + } + leaf operational-up { + type uint32; + description + "Operational up"; + } + leaf color { + type uint32; + description + "Color"; + } + leaf transition-count { + type uint32; + description + "Indicates number of up/down transitions"; + } + leaf forward-class { + type uint32; + description + "Forward class of the policy"; + } + leaf up-time { + type uint64; + units "nanosecond"; + description + "Policy up time in nano seconds"; + } + leaf up-age { + type uint64; + units "nanosecond"; + description + "Policy up age (since) in nano seconds"; + } + leaf down-time { + type uint64; + units "nanosecond"; + description + "Policy down time in nano seconds"; + } + leaf down-age { + type uint64; + units "nanosecond"; + description + "Policy down age (since) in nano seconds"; + } + leaf steering-bgp-disabled { + type boolean; + description + "Whether steering to BGP client is disabled"; + } + leaf steering-labeled-services-disabled { + type boolean; + description + "Whether steering for labeled-services is + disabled"; + } + leaf invalidation-drop-enabled { + type boolean; + description + "Whether invalidation drop is enabled"; + } + leaf invalidated-traffic-dropping { + type boolean; + description + "TRUE if the traffic on this policy is being + dropped due to path invalidation"; + } + leaf interface-handle { + type uint32; + description + "Interface handle"; + } + leaf profile-id { + type uint16; + description + "deprecated - replaced by key list in + xtc_pcc_info_bag"; + } + leaf ipv6-caps-enabled { + type boolean; + description + "IPv6 caps enabled"; + } + list candidate-path { + description + "Candidate paths"; + uses XTC-POLICY-CPATH-BAG; + } + list ls-ps { + description + "LSPs"; + uses XTC-POLICY-LSP-BAG; + } + } + + grouping XTC-GLOBAL-INFO-AD-BAG { + description + "XTC global admin distance information"; + leaf metric-type { + type Cmn-metric; + description + "Metric type"; + } + leaf admin-distance { + type uint32; + description + "Admin distance"; + } + } + + grouping XTC-GLOBAL-INFO-BAG { + description + "XTC global information"; + leaf next-hop-separation-enabled { + type uint32; + description + "Is NextHop Separation enabled"; + } + list admin-distance { + description + "List of global admin distances"; + uses XTC-GLOBAL-INFO-AD-BAG; + } + } + + grouping XTC-IP-ADDR-TYPE { + description + "XTC IP ADDR TYPE"; + leaf af-name { + type Xtc-af-id; + description + "AFName"; + } + leaf ipv4 { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type Xtc-ipv4-address; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Xtc-ipv6-address; + description + "IPv6 address type"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub2.yang new file mode 100644 index 000000000..3ac504c79 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub2.yang @@ -0,0 +1,184 @@ +submodule Cisco-IOS-XR-infra-xtc-agent-oper-sub2 { + belongs-to Cisco-IOS-XR-infra-xtc-agent-oper { + prefix Cisco-IOS-XR-infra-xtc-agent-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc-agent package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-31 { + description + "Added leaf segment-algorithm-set under grouping XTC-SEGMENTS-BAG."; + semver:module-version "4.2.0"; + } + revision 2021-07-27 { + description + "Added invalid reason leaf under segment-list container + 2021-06-14 + Added SL First Label and Start Index field in LSP SL MOI bag. Added NH Seperation enabled field in Global info bag. IosSetYangSchemaRev Cisco-IOS-XR-infra-xtc-agent-oper"; + semver:module-version "4.1.0"; + } + revision 2021-05-21 { + description + "Added path invalidation drop flag in policy bag. + 2021-04-22 + Added TE metric field for Flex-algo ASLA. + 2021-02-18 + Remove deprecated performance-measurement oper bag and renamed pm config field name in xtc_pm_lsp_info. Added performance-measurement config data bag in lsp bag. + 2021-02-08 + Added performance-measurement config data bag in lsp bag. + 2020-12-13 + Added performance-measurement liveness-detection oper schema. + 2020-10-27 + Added A flag set field in show command to support A flag sent from PM side + 2020-09-16 + Adding operational nodes for new features path invalidation drop protected and unprotected path + 2020-09-04 + Modified the Extended-Affinities and ASLA-Extended-Affinities to be list instead of a leaf-list + 2020-05-12 + Add SRv6TE policy operational data + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-01-16 { + description + "Removed event buffer from SR-TE policy model. Implement new statistic info for policy performance-measurement session. Added support for per-flow policy output. Added additional filter for policy type i.e. per-flow and per-destination."; + semver:module-version "3.0.0"; + } + revision 2019-09-09 { + description + "PCE/SRTE topology should display P-flag set for OSPF prefix-SID with explicit-null"; + semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added operational models for interface database."; + semver:module-version "1.0.0"; + } + revision 2019-04-15 { + description + "Hierarchical changes to policy forwarding model to organize the paths under the proper segment lists and LSPs."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-11-28 { + description + "Various modifications to policy-related models for better compatibility with the IETF policy draft."; + } + revision 2017-09-11 { + description + "Initial version"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Xtc-srv6-sid { + type inet:ipv6-address; + description + "Xtc srv6 sid"; + } + + typedef Xtc-sid { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "mpls" { + value 1; + description + "MPLS"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + enum "srv6" { + value 3; + description + "SRv6"; + } + } + description + "Xtc sid"; + } + + typedef Xtc-ipv6-address { + type inet:ipv6-address; + description + "Xtc ipv6 address"; + } + + typedef Xtc-ipv4-address { + type inet:ipv4-address; + description + "Xtc ipv4 address"; + } + + grouping XTC-PREFIX-SID-TYPE { + description + "XTC PREFIX SID TYPE"; + leaf sid-type { + type Xtc-sid; + description + "SIDType"; + } + leaf label { + when "../sid-type = 'mpls'" { + description + "../SIDType = 'MPLS'"; + } + type uint32; + description + "MPLS label"; + } + leaf ipv6 { + when "../sid-type = 'ipv6'" { + description + "../SIDType = 'IPv6'"; + } + type Xtc-ipv6-address; + description + "IPv6 address"; + } + leaf srv6sid { + when "../sid-type = 'srv6'" { + description + "../SIDType = 'SRV6'"; + } + type Xtc-srv6-sid; + description + "SRv6 SID"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub3.yang new file mode 100644 index 000000000..ea9cd2368 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper-sub3.yang @@ -0,0 +1,1007 @@ +submodule Cisco-IOS-XR-infra-xtc-agent-oper-sub3 { + belongs-to Cisco-IOS-XR-infra-xtc-agent-oper { + prefix Cisco-IOS-XR-infra-xtc-agent-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-xtc-agent-oper-sub1 { + revision-date 2021-08-31; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc-agent package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-31 { + description + "Added leaf segment-algorithm-set under grouping XTC-SEGMENTS-BAG."; + semver:module-version "4.2.0"; + } + revision 2021-07-27 { + description + "Added invalid reason leaf under segment-list container + 2021-06-14 + Added SL First Label and Start Index field in LSP SL MOI bag. Added NH Seperation enabled field in Global info bag. IosSetYangSchemaRev Cisco-IOS-XR-infra-xtc-agent-oper"; + semver:module-version "4.1.0"; + } + revision 2021-05-21 { + description + "Added path invalidation drop flag in policy bag. + 2021-04-22 + Added TE metric field for Flex-algo ASLA. + 2021-02-18 + Remove deprecated performance-measurement oper bag and renamed pm config field name in xtc_pm_lsp_info. Added performance-measurement config data bag in lsp bag. + 2021-02-08 + Added performance-measurement config data bag in lsp bag. + 2020-12-13 + Added performance-measurement liveness-detection oper schema. + 2020-10-27 + Added A flag set field in show command to support A flag sent from PM side + 2020-09-16 + Adding operational nodes for new features path invalidation drop protected and unprotected path + 2020-09-04 + Modified the Extended-Affinities and ASLA-Extended-Affinities to be list instead of a leaf-list + 2020-05-12 + Add SRv6TE policy operational data + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-01-16 { + description + "Removed event buffer from SR-TE policy model. Implement new statistic info for policy performance-measurement session. Added support for per-flow policy output. Added additional filter for policy type i.e. per-flow and per-destination."; + semver:module-version "3.0.0"; + } + revision 2019-09-09 { + description + "PCE/SRTE topology should display P-flag set for OSPF prefix-SID with explicit-null"; + semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added operational models for interface database."; + semver:module-version "1.0.0"; + } + revision 2019-04-15 { + description + "Hierarchical changes to policy forwarding model to organize the paths under the proper segment lists and LSPs."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-11-28 { + description + "Various modifications to policy-related models for better compatibility with the IETF policy draft."; + } + revision 2017-09-11 { + description + "Initial version"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tcp-auth { + type enumeration { + enum "tcp-authentication-none" { + description + "TCP Authentication None"; + } + enum "tcp-authentication-keychain" { + description + "TCP EA Keychain"; + } + enum "tcp-authentication-password-clear" { + description + "MD5 password clear"; + } + enum "tcp-authentication-password-encrypted" { + description + "MD5 password encrypted"; + } + enum "tcp-authentication-option" { + description + "TCP Authentication Option"; + } + } + description + "TCP authentication type"; + } + + grouping PCEP-CONN-PWD-BAG { + description + "PCEP connection password information"; + leaf type { + type Tcp-auth; + description + "password type"; + } + leaf keychain-name { + type string; + description + "Keychain Name"; + } + leaf md5-password { + type string; + description + "MD5 Password"; + } + leaf ao-keychain-name { + type string; + description + "Authentication Option Keychain Name"; + } + leaf ao-include-options-enable { + type boolean; + description + "AO Include Option Enable"; + } + leaf ao-accept-mismatch-enable { + type boolean; + description + "AO Accept Mismatch Enable"; + } + } + + grouping PCEP-CONN-STATS-BAG { + description + "PCEP CONN STATS information"; + leaf ka-msg-rx { + type uint64; + description + "KA messages rxed"; + } + leaf ka-msg-fail-rx { + type uint64; + description + "KA messages fail rxed"; + } + leaf ka-msg-tx { + type uint64; + description + "KA messages txed"; + } + leaf ka-msg-fail-tx { + type uint64; + description + "KA messages fail txed"; + } + leaf pcreq-msg-rx { + type uint64; + description + "PCREQ messages rxed"; + } + leaf pcreq-msg-fail-rx { + type uint64; + description + "PCREQ messages fail rxed"; + } + leaf pcreq-msg-tx { + type uint64; + description + "PCREQ messages txed"; + } + leaf pcreq-msg-fail-tx { + type uint64; + description + "PCREQ messages fail txed"; + } + leaf pcrep-msg-rx { + type uint64; + description + "PCREP messages rxed"; + } + leaf pcrep-msg-fail-rx { + type uint64; + description + "PCREP messages fail rxed"; + } + leaf pcrep-msg-tx { + type uint64; + description + "PCREP messages txed"; + } + leaf pcrep-msg-fail-tx { + type uint64; + description + "PCREP messages fail txed"; + } + leaf pcrpt-msg-rx { + type uint64; + description + "PCRPT messages rxed"; + } + leaf pcrpt-msg-fail-rx { + type uint64; + description + "PCRPT messages fail rxed"; + } + leaf pcrpt-msg-tx { + type uint64; + description + "PCRPT messages txed"; + } + leaf pcrpt-msg-fail-tx { + type uint64; + description + "PCRPT messages fail txed"; + } + leaf pcupd-msg-rx { + type uint64; + description + "PCUPD messages rxed"; + } + leaf pcupd-msg-fail-rx { + type uint64; + description + "PCUPD messages fail rxed"; + } + leaf pcupd-msg-tx { + type uint64; + description + "PCUPD messages txed"; + } + leaf pcupd-msg-fail-tx { + type uint64; + description + "PCUPD messages fail txed"; + } + leaf open-msg-rx { + type uint64; + description + "OPEN messages rxed"; + } + leaf open-msg-fail-rx { + type uint64; + description + "OPEN messages fail rxed"; + } + leaf open-msg-tx { + type uint64; + description + "OPEN messages txed"; + } + leaf open-msg-fail-tx { + type uint64; + description + "OPEN messages fail txed"; + } + leaf pcerr-msg-rx { + type uint64; + description + "PCERR messages rxed"; + } + leaf pcerr-msg-fail-rx { + type uint64; + description + "PCERR messages fail rxed"; + } + leaf pcerr-msg-tx { + type uint64; + description + "PCERR messages txed"; + } + leaf pcerr-msg-fail-tx { + type uint64; + description + "PCERR messages fail txed"; + } + leaf pcntf-msg-rx { + type uint64; + description + "PCNTF messages rxed"; + } + leaf pcntf-msg-fail-rx { + type uint64; + description + "PCNTF messages fail rxed"; + } + leaf pcntf-msg-tx { + type uint64; + description + "PCNTF messages txed"; + } + leaf pcntf-msg-fail-tx { + type uint64; + description + "PCNTF messages fail txed"; + } + leaf pce-eos-msg-tx { + type uint64; + description + "PCE EOS messages txed"; + } + leaf pce-eos-msg-fail-tx { + type uint64; + description + "PCE EOS messages fail txed"; + } + leaf close-msg-rx { + type uint64; + description + "CLOSE messages rxed"; + } + leaf close-msg-fail-rx { + type uint64; + description + "CLOSE messages fail rxed"; + } + leaf close-msg-tx { + type uint64; + description + "CLOSE messages txed"; + } + leaf close-msg-fail-tx { + type uint64; + description + "CLOSE messages fail txed"; + } + leaf unexpected-msg-rx { + type uint64; + description + "Unexpected messages rxed"; + } + leaf corrupted-msg-rx { + type uint64; + description + "Corrupted messages rxed"; + } + leaf reply-time-index { + type uint32; + description + "index into recorded reply time"; + } + leaf minimum-reply-time { + type uint64; + description + "min reply time"; + } + leaf maximum-reply-time { + type uint64; + description + "max reply time"; + } + leaf requests-timed-out { + type uint64; + description + "requests timed out"; + } + leaf last-pcerr-type-rx { + type uint8; + description + "last PCERR type received"; + } + leaf last-pcerr-val-rx { + type uint8; + description + "last PCERR value received"; + } + leaf last-pcerr-rx-ts { + type uint64; + description + "last time when PCERR was received"; + } + leaf last-pcerr-type-tx { + type uint8; + description + "last PCERR type transmitted"; + } + leaf last-pcerr-val-tx { + type uint8; + description + "last PCERR value transmitted"; + } + leaf last-pcerr-tx-ts { + type uint64; + description + "last time when PCERR was transmitted"; + } + leaf pcinitiate-msg-rx { + type uint64; + description + "PCINITIATE messages rxed"; + } + leaf pcinitiate-msg-fail-rx { + type uint64; + description + "PCINITIATE messages fail rxed"; + } + leaf-list recorded-reply-time { + type uint64; + max-elements "10"; + description + "Recorded reply time"; + } + } + + grouping PCEP-SOCKET-BAG { + description + "PCEP SOCKET information"; + leaf fd { + type int64; + description + "file descriptor"; + } + leaf wnotify { + type boolean; + description + "write notify"; + } + leaf rnotify { + type boolean; + description + "read notify"; + } + leaf refcnt { + type uint32; + description + "ref count"; + } + leaf selected { + type boolean; + description + "selected"; + } + leaf owner { + type uint32; + description + "owner"; + } + leaf csockaddr-str { + type string; + description + "client address"; + } + leaf ssockaddr-str { + type string; + description + "server address"; + } + } + + grouping PCEP-CONN-BAG { + description + "PCEP CONN information"; + container socket-info { + description + "socket info"; + uses PCEP-SOCKET-BAG; + } + container pcep-server-addr { + description + "PCEP server address"; + uses XTC-IP-ADDR-TYPE; + } + container pcep-client-addr { + description + "PCEP client address"; + uses XTC-IP-ADDR-TYPE; + } + container stats { + description + "stats"; + uses PCEP-CONN-STATS-BAG; + } + container password { + description + "Password Information"; + uses PCEP-CONN-PWD-BAG; + } + leaf handle { + type uint32; + description + "internal handle"; + } + leaf state-str { + type string; + description + "connection state"; + } + leaf pce-group-name { + type string; + description + "PCE group name"; + } + leaf local-ok { + type boolean; + description + "local accepted"; + } + leaf remote-ok { + type boolean; + description + "remote accepted"; + } + leaf open-retry { + type uint32; + description + "open retry count"; + } + leaf ref-cnt { + type uint32; + description + "ref count"; + } + leaf rx-state-str { + type string; + description + "socket state"; + } + leaf holddown-counter { + type uint16; + description + "holddown counter"; + } + leaf pcep-up-ts { + type uint64; + description + "PCEP up timestamp"; + } + leaf precedence { + type uint8; + description + "Precedence"; + } + leaf ka-interval-local { + type uint32; + description + "KA interval local"; + } + leaf ka-interval-remote { + type uint32; + description + "KA interval remote"; + } + leaf dead-interval-local { + type uint32; + description + "Dead interval local"; + } + leaf dead-interval-remote { + type uint32; + description + "Dead interval remote"; + } + leaf pcep-session-id-local { + type uint32; + description + "PCEP session ID local"; + } + leaf pcep-session-id-remote { + type uint32; + description + "PCEP session ID remote"; + } + leaf pcep-server-ipv4-addr { + type inet:ipv4-address; + description + "PCEP server Ipv4 address"; + } + leaf pcep-client-ipv4-addr { + type inet:ipv4-address; + description + "PCEP client Ipv4 address"; + } + leaf is-stateful-local { + type boolean; + description + "is stateful local"; + } + leaf is-stateful-remote { + type boolean; + description + "is stateful remote"; + } + leaf is-stateful-u-flag-local { + type boolean; + description + "is stateful with U flag local"; + } + leaf is-stateful-u-flag-remote { + type boolean; + description + "is stateful with U flag remote"; + } + leaf is-segment-routing-local { + type boolean; + description + "is segment routing local"; + } + leaf is-segment-routing-remote { + type boolean; + description + "is segment routing remote"; + } + leaf is-initiate-local { + type boolean; + description + "local initiate capability"; + } + leaf is-initiate-remote { + type boolean; + description + "remote initiate capability"; + } + leaf is-best-pce { + type boolean; + description + "is this the best PCE to delegate to"; + } + leaf sr-msd-local { + type uint8; + description + "SR MSD local"; + } + leaf sr-msd-remote { + type uint8; + description + "SR MSD remote"; + } + } + + grouping PCEP-HOP-SR-IPV4 { + description + "PCEP SR IPv4 hop information"; + leaf type { + type uint8; + description + "SID type"; + } + leaf cflag { + type boolean; + description + "C flag"; + } + leaf sid { + type uint32; + description + "SID"; + } + leaf remote-addr { + type uint32; + description + "Remote address"; + } + leaf local-addr { + type uint32; + description + "Local address"; + } + } + + grouping PCEP-HOP-IPV4 { + description + "PCEP IPv4 hop information"; + leaf v4-addr { + type uint32; + description + "IPv4 prefix"; + } + leaf prefix-len { + type uint8; + description + "Prefix length"; + } + } + + grouping PCEP-HOP-DATA { + description + "PCEP HOP DATA"; + container ipv4 { + when "../hop-type = 'pcep-hop-type-ipv4'" { + description + "../HopType = 'PCEP_HOP_TYPE_IPV4'"; + } + description + "IPv4 hop info"; + uses PCEP-HOP-IPV4; + } + container sr-v4 { + when "../hop-type = 'pcep-hop-type-srv4'" { + description + "../HopType = 'PCEP_HOP_TYPE_SRV4'"; + } + description + "SR IPv4 hop info"; + uses PCEP-HOP-SR-IPV4; + } + leaf hop-type { + type uint8; + description + "HopType"; + } + } + + grouping PCEP-HOP-BAG { + description + "PCEP HOP information"; + container data { + description + "data"; + uses PCEP-HOP-DATA; + } + leaf loose { + type boolean; + description + "is loose hop"; + } + } + + grouping PCEP-PATH-STATS-BAG { + description + "PCEP PATH stats"; + leaf reports-requested { + type uint64; + description + "Reports requested"; + } + leaf reports-sent { + type uint64; + description + "Reports sent"; + } + leaf reports-failed-to-send { + type uint64; + description + "Reports failed"; + } + } + + grouping PCEP-PATH-BAG { + description + "PCEP PATH information"; + container stats { + description + "stats"; + uses PCEP-PATH-STATS-BAG; + } + leaf pce-group-name { + type string; + description + "PCE group name"; + } + leaf used-bw { + type int64; + description + "used bw"; + } + leaf requested-bw { + type int64; + description + "requested bw"; + } + leaf metric-value { + type int64; + description + "metric value"; + } + leaf refcnt { + type int64; + description + "refcnt"; + } + leaf lsp-plsp-id { + type uint32; + description + "LSP PLSP ID"; + } + leaf binding-sid-value { + type uint32; + description + "Binding SID"; + } + leaf lsp-id-tlv-ext-tunnel-id { + type uint32; + description + "Ext Tun ID"; + } + leaf lsp-id-tlv-tunnel-endpoint-address { + type uint32; + description + "Tun endpoint address"; + } + leaf lsp-id-tlv-tunnel-sender-address { + type uint32; + description + "Tun sender address"; + } + leaf srp-id { + type uint32; + description + "SRP ID"; + } + leaf lsp-id-tlv-lsp-id { + type uint16; + description + "LSP ID"; + } + leaf lsp-id-tlv-tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf lsp-id { + type uint16; + description + "Application LSP ID"; + } + leaf binding-sid-type { + type uint16; + description + "Binding SID type"; + } + leaf lsp-oper { + type uint8; + description + "LSP oper flags"; + } + leaf path-setup-type { + type uint8; + description + "Path setup type"; + } + leaf metric-type { + type uint8; + description + "Metric type"; + } + leaf is-reported { + type boolean; + description + "is reported"; + } + leaf lsp-a-flag { + type boolean; + description + "LSP A Flag"; + } + leaf lsp-r-flag { + type boolean; + description + "LSP R Flag"; + } + leaf lsp-s-flag { + type boolean; + description + "LSP S Flag"; + } + leaf lsp-d-flag { + type boolean; + description + "LSP D Flag"; + } + leaf lsp-c-flag { + type boolean; + description + "LSP C Flag"; + } + list ero-hop { + description + "ero hop"; + uses PCEP-HOP-BAG; + } + list rro-hop { + description + "rro hop"; + uses PCEP-HOP-BAG; + } + } + + grouping PCEP-PLSP-EVENT-BAG { + description + "PCEP PLSP event"; + leaf ts { + type uint64; + description + "Timestamp"; + } + leaf desc { + type string; + description + "Description"; + } + } + + grouping PCEP-PLSP-STATS-BAG { + description + "PCEP PLSP stats"; + leaf paths-created { + type uint64; + description + "Paths Created"; + } + leaf paths-destroyed { + type uint64; + description + "Paths Destroyed"; + } + leaf path-create-errors { + type uint64; + description + "Path create errors"; + } + leaf path-destroy-errors { + type uint64; + description + "Path destroy errors"; + } + leaf requests-created { + type uint64; + description + "Requests created"; + } + leaf requests-destroyed { + type uint64; + description + "Requests destroyed"; + } + leaf requests-failed { + type uint64; + description + "Requests failed"; + } + } + + grouping PCEP-PLSP-BAG { + description + "PCEP PLSP information"; + container stats { + description + "Stats"; + uses PCEP-PLSP-STATS-BAG; + } + leaf plsp-id-xr { + type uint32; + description + "PLSP ID"; + } + leaf sym-path-name { + type string; + description + "Symbolic Path Name"; + } + leaf refcnt { + type int64; + description + "Refcnt"; + } + leaf conn-delegated-to { + type uint32; + description + "CONN delegated to"; + } + list event-history { + max-elements "10"; + description + "event history"; + uses PCEP-PLSP-EVENT-BAG; + } + list path { + description + "path"; + uses PCEP-PATH-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper.yang new file mode 100644 index 000000000..fd3460749 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-agent-oper.yang @@ -0,0 +1,562 @@ +module Cisco-IOS-XR-infra-xtc-agent-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-oper"; + prefix infra-xtc-agent-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-xtc-agent-oper-sub3 { + revision-date 2021-08-31; + } + include Cisco-IOS-XR-infra-xtc-agent-oper-sub2 { + revision-date 2021-08-31; + } + include Cisco-IOS-XR-infra-xtc-agent-oper-sub1 { + revision-date 2021-08-31; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc-agent package operational data. + + This module contains definitions + for the following management objects: + pcc: Path-computation client in XTC + xtc: XTC Agent operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-31 { + description + "Added leaf segment-algorithm-set under grouping XTC-SEGMENTS-BAG."; + semver:module-version "4.2.0"; + } + revision 2021-07-27 { + description + "Added invalid reason leaf under segment-list container + 2021-06-14 + Added SL First Label and Start Index field in LSP SL MOI bag. Added NH Seperation enabled field in Global info bag. IosSetYangSchemaRev Cisco-IOS-XR-infra-xtc-agent-oper"; + semver:module-version "4.1.0"; + } + revision 2021-05-21 { + description + "Added path invalidation drop flag in policy bag. + 2021-04-22 + Added TE metric field for Flex-algo ASLA. + 2021-02-18 + Remove deprecated performance-measurement oper bag and renamed pm config field name in xtc_pm_lsp_info. Added performance-measurement config data bag in lsp bag. + 2021-02-08 + Added performance-measurement config data bag in lsp bag. + 2020-12-13 + Added performance-measurement liveness-detection oper schema. + 2020-10-27 + Added A flag set field in show command to support A flag sent from PM side + 2020-09-16 + Adding operational nodes for new features path invalidation drop protected and unprotected path + 2020-09-04 + Modified the Extended-Affinities and ASLA-Extended-Affinities to be list instead of a leaf-list + 2020-05-12 + Add SRv6TE policy operational data + 2020-05-05 + changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-01-16 { + description + "Removed event buffer from SR-TE policy model. Implement new statistic info for policy performance-measurement session. Added support for per-flow policy output. Added additional filter for policy type i.e. per-flow and per-destination."; + semver:module-version "3.0.0"; + } + revision 2019-09-09 { + description + "PCE/SRTE topology should display P-flag set for OSPF prefix-SID with explicit-null"; + semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added operational models for interface database."; + semver:module-version "1.0.0"; + } + revision 2019-04-15 { + description + "Hierarchical changes to policy forwarding model to organize the paths under the proper segment lists and LSPs."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-11-28 { + description + "Various modifications to policy-related models for better compatibility with the IETF policy draft."; + } + revision 2017-09-11 { + description + "Initial version"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Xtcigp-protocol { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown protocol"; + } + enum "isis" { + value 1; + description + "ISIS protocol"; + } + enum "ospf" { + value 2; + description + "OSPF protocol"; + } + enum "bgp" { + value 3; + description + "BGP protocol"; + } + enum "te" { + value 4; + description + "TE protocol"; + } + } + description + "Xtcigp protocol"; + } + + typedef Xtc-label { + type uint32 { + range "16..1048575"; + } + description + "Xtc label"; + } + + typedef Xtc-registration-entry { + type enumeration { + enum "color" { + value 0; + description + "Color"; + } + enum "color-endpoint" { + value 1; + description + "Color and Endpoint"; + } + enum "policy-name" { + value 2; + description + "Policy Name"; + } + } + description + "Xtc registration entry"; + } + + typedef Xtc-address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "ipv6" { + value 2; + description + "IPv6 address family"; + } + } + description + "Xtc address family"; + } + + container pcc { + config false; + description + "Path-computation client in XTC"; + container plsps { + description + "PCC PLSP database in XTC"; + list plsp { + key "plsp-id"; + description + "PCC PLSP information"; + leaf plsp-id { + type uint32; + description + "PLSP ID"; + } + uses PCEP-PLSP-BAG; + } + } + container peers { + description + "PCC peer database in XTC"; + list peer { + key "peer-addr"; + description + "PCC peer information"; + leaf peer-addr { + type inet:ip-address-no-zone; + description + "Peer Address"; + } + uses PCEP-CONN-BAG; + } + } + } + container xtc { + config false; + description + "XTC Agent operational data"; + container global-info { + description + "Global information"; + uses XTC-GLOBAL-INFO-BAG; + } + container policies { + description + "Policy database in XTC Agent"; + list policy { + key "id"; + description + "Policy information"; + leaf id { + type uint32; + description + "Policy ID"; + } + uses XTC-POLICY-BAG; + } + } + container first-segments { + description + "First segments of all segment-lists"; + list first-segment { + key "label"; + description + "first-segment of an SR-TE segment-list"; + leaf label { + type Xtc-label; + description + "Label"; + } + uses XTC-FS-BAG; + } + } + container interfaces { + description + "Interface database in XTC Agent"; + list interface { + key "interface-name"; + description + "Interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses XTC-INTERFACE-BAG; + } + } + container policy-forwardings { + description + "Forwarding information for policies"; + list policy-forwarding { + key "name"; + description + "Forwarding information for the policy"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Policy Name"; + } + uses XTC-FWDING-POLICY-BAG; + } + } + container policy-summary { + description + "Summary of all policies"; + uses XTC-POLICY-SUMMARY-BAG; + } + container p2mp-policy-infos { + description + "P2MP policy database indexed by Root address in + XTC Agent"; + list p2mp-policy-info { + key "root-address tree-id"; + description + "Policy information"; + leaf root-address { + type inet:ip-address-no-zone; + description + "Root Address"; + } + leaf tree-id { + type uint32; + description + "P2MP Policy Tree-ID"; + } + uses XTC-TREESID-BAG; + } + } + container trace-buffer-summaries { + description + "Summary of all trace buffers"; + list trace-buffer-summary { + key "name"; + description + "Summary of specific trace buffer"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Trace buffer name"; + } + uses CMN-TRACE-BUFFER-SUMMARY-BAG; + } + } + container srv6 { + description + "SRv6TE specific information"; + container next-hops { + description + "Next Hop Information"; + list next-hop { + key "prefix"; + description + "Next Hop detailed information"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Prefix"; + } + uses XTC-NEXT-HOP; + } + } + container rib-stats { + description + "RIB Stats"; + uses XTC-RIB-STATS; + } + container locators { + description + "Locators Information"; + list locator { + key "name"; + description + "Locator detailed information"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Locator name"; + } + uses XTC-SRV6U-LOCATOR; + } + } + } + container on-demand-colors { + description + "On-Demand Color database in XTC Agent"; + list on-demand-color { + key "color"; + description + "On Demand Color information"; + leaf color { + type uint32; + description + "Color"; + } + uses XTC-ON-DEMAND-COLOR-BAG; + } + } + container srv6-prefixes { + description + "OBSOLETE: SRv6 Prefixes database in XTC Agent"; + list srv6-prefix { + key "srv6-prefix prefix-length"; + description + "OBSOLETE: Prefix information"; + leaf srv6-prefix { + type inet:ip-address-no-zone; + description + "Match SRv6 prefix address"; + } + leaf prefix-length { + type uint32; + description + "Address Length"; + } + uses XTC-SRV6-PREFIX-BAG; + } + } + container controller { + description + "Controller information"; + container policy-requests { + description + "Table containing policy requests"; + list policy-request { + key "source-address endpoint-type endpoint-address color route-distinguisher"; + description + "Policy request information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf endpoint-type { + type Xtc-address-family; + description + "Endpoint Address Type"; + } + leaf endpoint-address { + type inet:ip-address-no-zone; + description + "Endpoint Address"; + } + leaf color { + type uint32 { + range "1..4294967295"; + } + description + "Color"; + } + leaf route-distinguisher { + type uint32 { + range "0..4294967295"; + } + description + "Route Distinguisher"; + } + uses XTC-CONTROLLER-POLICY-REQ-BAG; + } + } + } + container p2mp-policies { + description + "P2MP policy database in XTC Agent"; + list p2mp-policy { + key "name"; + description + "Policy information"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Policy name"; + } + uses XTC-TREESID-BAG; + } + } + container registrations { + description + "Registrations"; + list registration { + description + "Registration"; + leaf entry-type { + type Xtc-registration-entry; + description + "Entry Type"; + } + leaf color { + type uint32 { + range "1..4294967295"; + } + description + "Color"; + } + leaf endpoint { + type inet:ip-address-no-zone; + description + "Endpoint Address"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Policy Name"; + } + uses XTC-REGIST-ENTRY-BAG; + } + } + container topology-nodes { + description + "Node database in XTC Agent"; + list topology-node { + key "node-identifier"; + description + "Node information"; + leaf node-identifier { + type uint32; + description + "Node Identifier"; + } + uses XTC-TOPO-NODE-BAG; + } + } + container topology-summaries { + description + "Node summary table"; + list topology-summary { + description + "Node summary database"; + leaf af { + type Xtc-address-family; + description + "Only show data related to the specified + address family"; + } + leaf protocol { + type Xtcigp-protocol; + description + "Match nodes from the specified IGP protocol"; + } + uses XTC-TOPO-SUMMARY-BAG; + } + } + container prefix-infos { + description + "Prefixes database in XTC Agent"; + list prefix-info { + key "node-identifier"; + description + "Prefix information"; + leaf node-identifier { + type uint32; + description + "Node ID"; + } + uses XTC-PFX-BAG; + } + } + container interface-summary { + description + "Summary of all interfaces"; + uses XTC-INTERFACE-SUMMARY-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-cfg.yang new file mode 100644 index 000000000..1ac75901a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-cfg.yang @@ -0,0 +1,1726 @@ +module Cisco-IOS-XR-infra-xtc-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-cfg"; + prefix infra-xtc-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc package configuration. + + This module contains definitions + for the following management objects: + pce: PCE configuration data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-28 { + description + "Added SR-TE path constraints protection type set configuration"; + semver:module-version "4.0.1M"; + } + revision 2021-03-03 { + description + "Added PCE API address configuration + 2021-02-17 + Removing the hop-type key leaf from path-info list + 2021-01-12 + srv6 global msd config. + 2021-01-06 + schema changes of removing srv6 explicit bsid cfg. + 2020-11-20 + Adding leaf to enable Anycast SID inclusion for all SR policies + 2020-11-14 + Added P2MP policy fast reroute support Changed Cleanup timer range change Added Support for invalidation drop and protected/unprotected path + 2020-08-07 + Adding configurations for new features path invalidation drop protected and unprotected path + 2020-07-07 + Added PCE global constraint bounds latency configuration."; + semver:module-version "3.0.0"; + } + revision 2020-06-25 { + description + "Added API VRF config + 2020-06-14 + Added SR native CSPF algorithm configuration + 2020-06-11 + REST API interface in VRF config. + 2020-03-31 + Hidde PM DM liveness and named profile for 721. + 2020-02-21 + Adding disjointness-status leaf to logging container to support logging of messages whenever disjointness status changes. + 2020-02-11 + Removing enable leafs from submodes. Added sid-limit leaf for SID limit configuration. + 2019-11-17 + Adding leaf exclude-srlg to support SR-PCE srlg-exclude with disjointness. + 2019-10-09 + Adding container constraints to suppport Flex-algo related info. + 2019-09-25 + Adding enum ipv4-adjacency-address, leaf adjacency-address, leaf address-type, leaf interface-identifier, leaf prefix-length, and leaf validate-flag to support SRV6."; + semver:module-version "2.0.0"; + } + revision 2019-09-24 { + description + "Add submode-enter enable leaf to segment-list container."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-07-25 { + description + "Removed incorrect mandatory specifications."; + } + revision 2018-07-02 { + description + "Removed mandatory specification from Netconf SSH username/password"; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-05-31 { + description + "Revision description string."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pce-loggging-disabled { + type enumeration { + enum "disabled" { + value 1; + description + "Logging disabled"; + } + } + description + "Pce loggging disabled"; + } + + typedef Pce-segment { + type enumeration { + enum "ipv4-address" { + value 1; + description + "IPv4 Address"; + } + enum "mpls-label" { + value 3; + description + "MPLS Label"; + } + enum "ipv4-adjacency-address" { + value 4; + description + "IPv4 Adjacency Address"; + } + } + description + "Pce segment"; + } + + typedef Pce-path-algo-check-igp-protocol { + type enumeration { + enum "ospf" { + value 2; + description + "OSPF protocol"; + } + } + description + "Pce path algo check igp protocol"; + } + + typedef Pce-tree-sid { + type enumeration { + enum "mpls-label" { + value 1; + description + "MPLS Label"; + } + } + description + "Pce tree sid"; + } + + typedef Pcep2mp-fast-reroute { + type enumeration { + enum "lfa" { + value 1; + description + "LFA Fast Re-route"; + } + } + description + "Pcep2mp fast reroute"; + } + + typedef Pce-bound-scope { + type enumeration { + enum "bound-scope-none" { + value 0; + description + "BOUND SCOPE NONE"; + } + enum "bound-scope-cumulative" { + value 2; + description + "bounds on path metric"; + } + } + description + "Pce bound scope"; + } + + typedef Pce-append-sid { + type enumeration { + enum "mpls-label" { + value 1; + description + "MPLS Label"; + } + } + description + "Pce append sid"; + } + + typedef Pce-api-authentication { + type enumeration { + enum "digest" { + value 2; + description + "MD5-Digest HTTP auth"; + } + } + description + "Pce api authentication"; + } + + typedef Pce-cumulative-metric { + type enumeration { + enum "latency" { + value 12; + description + "Latency metric type"; + } + } + description + "Pce cumulative metric"; + } + + typedef Xtc-adj-sid-protection { + type enumeration { + enum "protected-preferred" { + value 0; + description + "Protected adj SID preferred"; + } + enum "unprotected-only" { + value 1; + description + "Unprotected adj SID only"; + } + enum "protected-only" { + value 2; + description + "Protected adj SID only"; + } + enum "unprotected-preferred" { + value 3; + description + "Unprotected adj SID preferred"; + } + } + description + "Xtc adj sid protection"; + } + + typedef Pce-path-hop { + type enumeration { + enum "mpls" { + value 1; + description + "Segment-routing MPLS"; + } + enum "srv6" { + value 2; + description + "Segment-routing v6"; + } + } + description + "Pce path hop"; + } + + typedef Pce-path { + type enumeration { + enum "explicit" { + value 1; + description + "Explicit"; + } + enum "dynamic" { + value 2; + description + "Dynamic"; + } + } + description + "Pce path"; + } + + typedef Pce-disjoint-path { + type enumeration { + enum "link" { + value 1; + description + "Link"; + } + enum "node" { + value 2; + description + "Node"; + } + enum "srlg" { + value 3; + description + "SRLG"; + } + enum "srlg-node" { + value 4; + description + "SRLG Node"; + } + } + description + "Pce disjoint path"; + } + + typedef Pce-end-point { + type enumeration { + enum "end-point-type-ipv4" { + value 1; + description + "IPv4 endpoint address"; + } + enum "end-point-type-ipv6" { + value 2; + description + "IPv6 endpoint address"; + } + } + description + "Pce end point"; + } + + typedef Pce-binding-sid { + type enumeration { + enum "mpls-label-specified" { + value 1; + description + "Use specified BSID MPLS label"; + } + enum "mpls-label-any" { + value 2; + description + "Allocate BSID MPLS label"; + } + } + description + "Pce binding sid"; + } + + typedef Pce-metric { + type enumeration { + enum "igp" { + value 1; + description + "IGP metric type"; + } + enum "te" { + value 2; + description + "TE metric type"; + } + enum "hopcount" { + value 3; + description + "Hopcount metric type"; + } + enum "latency" { + value 12; + description + "Latency metric type"; + } + } + description + "Pce metric"; + } + + typedef Pce-address-family { + type enumeration { + enum "af-type-ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "af-type-ipv6" { + value 2; + description + "IPv6 address family"; + } + } + description + "Pce address family"; + } + + typedef Pce-path-selection { + type enumeration { + enum "protected" { + value 0; + description + "protected"; + } + enum "unprotected" { + value 1; + description + "unprotected"; + } + } + description + "Pce path selection"; + } + + grouping SHUTDOWN { + description + "Common node of p2mp-policy, policy"; + leaf shutdown { + type empty; + description + "Administratively shutdown policy"; + } + } + + grouping METRIC { + description + "Common node of path-info, p2mp-path-info"; + container metric { + presence "CLI submode compatibility."; + description + "Metric configuration, valid only for dynamic + path-options"; + leaf metric-type { + type Pce-metric; + description + "Metric type"; + } + leaf sid-limit { + type uint32 { + range "1..255"; + } + description + "SID limit value"; + } + leaf enable { + type empty; + description + "True only"; + } + } + } + + grouping CONSTRAINTS { + description + "Common node of preference, pce"; + container constraints { + description + "SR path computation and verification constraints"; + container bounds { + description + "Bound related configuration"; + container bounds { + description + "Path computation and verification metric + bounds"; + list bound { + key "scope-type metric-type"; + description + "Path computation and verification metric + bound"; + leaf scope-type { + type Pce-bound-scope; + description + "Scope of the bound"; + } + leaf metric-type { + type Pce-cumulative-metric; + description + "Metric type to bound"; + } + leaf bound-value { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Metric Bound Value"; + } + } + } + } + container segment-rules { + description + "SR path computation segment specific rules"; + leaf protection-type { + type Xtc-adj-sid-protection; + description + "Protection Type"; + } + leaf sid-algorithm { + type uint32 { + range "0..255"; + } + description + "Prefix-SID algorithm"; + } + } + } + } + + grouping P2MPFRR-NODE-SET-ADDRESS-TABLE { + description + "Common node of p2mpfrr-node-set-from, + p2mpfrr-node-set-to"; + container p2mpfrr-node-set-addresses { + description + "P2MP frr-node-set address table"; + list p2mpfrr-node-set-address { + key "af-type endpoint-address"; + description + "P2MP frr-node-set address configuration"; + leaf af-type { + type Pce-address-family; + description + "FRR node address-family type"; + } + leaf endpoint-address { + type inet:ip-address-no-zone; + description + "FRR node address"; + } + } + } + } + + grouping AFFINITY-RULE-TABLE { + description + "Common node of candidate-paths, p2mp-constraints"; + container affinity-rules { + description + "Affinity rule table"; + list affinity-rule { + key "rule aff-value"; + description + "Affinity rule"; + leaf rule { + type uint32 { + range "0..2"; + } + description + "affinity rule"; + } + leaf aff-value { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "affinity value"; + } + } + } + } + + container pce { + presence "CLI submode compatibility."; + description + "PCE configuration data"; + container authentication-option { + presence "Indicates a authentication-option node is configured."; + description + "Configure global AO keychain based + authentication"; + leaf keychain { + type string { + length "1..32"; + } + mandatory true; + description + "Name of the keychain"; + } + leaf include-tcp-options { + type boolean; + description + "Include other TCP options in the header"; + } + leaf accept-mismatch-connection { + type boolean; + description + "Accept new connection even if Authentication + Option mismatched"; + } + } + container ipv6-state-syncs { + description + "Standby IPv6 PCE configuration"; + list ipv6-state-sync { + key "address"; + description + "Standby PCE ipv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + } + } + container pcc-addresses { + description + "Path computation client configuration"; + list pcc-address { + key "address"; + description + "Path computation client address"; + container lsp-names { + description + "MPLS label switched path"; + list lsp-name { + key "name"; + description + "MPLS label switched path"; + container rsvp-te { + presence "CLI submode compatibility."; + description + "RSVP-TE configuration"; + container affinity { + description + "LSP Affinity"; + leaf include-any { + type xr:Hex-integer; + description + "Include-any affinity value"; + } + leaf include-all { + type xr:Hex-integer; + description + "Include-all affinity value"; + } + leaf exclude-any { + type xr:Hex-integer; + description + "Exclude-any affinity value"; + } + } + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel Setup and Hold Priorities"; + leaf setup-priority { + type uint32 { + range "0..7"; + } + mandatory true; + description + "Setup Priority"; + } + leaf hold-priority { + type uint32 { + range "0..7"; + } + mandatory true; + description + "Hold Priority"; + } + } + leaf fast-protect { + type empty; + description + "Enable fast protection"; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + mandatory true; + description + "Bandwidth configuration"; + } + } + leaf undelegate { + type empty; + description + "Undelegate LSP"; + } + leaf explicit-path-name { + type string; + mandatory true; + description + "Explicit-path name"; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "LSP name"; + } + } + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + } + container logging { + description + "PCE logging configuration"; + container rest-logging { + description + "REST logging configuration"; + leaf send-queue-congestion { + type Pce-loggging-disabled; + description + "Logging of send queue congestion messages"; + } + } + leaf no-path { + type empty; + description + "Logging NO-PATH configuration"; + } + leaf pcerr { + type empty; + description + "Logging of received PCErr messages"; + } + leaf fallback { + type empty; + description + "Logging fallback configuration"; + } + leaf disjointness-status { + type empty; + description + "Logging of disjointness status related messages"; + } + } + container backoff { + presence "Indicates a backoff node is configured."; + description + "PCE backoff configuration"; + leaf ratio { + type uint32 { + range "0..255"; + } + default "2"; + description + "Backoff common ratio configuration"; + } + leaf threshold { + type uint32 { + range "0..3600"; + } + default "0"; + description + "Backoff threshold configuration"; + } + leaf difference { + type uint32 { + range "0..255"; + } + default "2"; + description + "Backoff common difference configuration"; + } + } + container trace-counts { + description + "Configure PCE trace options"; + list trace-count { + key "buffer-name"; + description + "Trace count for provided buffer"; + leaf buffer-name { + type xr:Cisco-ios-xr-string { + length "1..15"; + } + description + "Buffer name"; + } + leaf trace-count { + type uint32 { + range "0..1000000"; + } + mandatory true; + description + "Trace count"; + } + } + } + container pce-peers { + description + "PCE peer configuration"; + list pce-peer { + key "af-type pce-address"; + description + "PCE peer"; + container authentication-option { + presence "Indicates a authentication-option node is configured."; + description + "Configure Peer AO keychain based + authentication"; + leaf keychain { + type string { + length "1..32"; + } + mandatory true; + description + "Name of the keychain"; + } + leaf include-tcp-options { + type boolean; + description + "Include other TCP options in the header"; + } + leaf accept-mismatch-connection { + type boolean; + description + "Accept new connection even if Authentication + Option mismatched"; + } + } + leaf password { + type xr:Proprietary-password; + description + "PCE Peer MD5 Password"; + } + leaf af-type { + type Pce-address-family; + description + "Peer address-family type"; + } + leaf pce-address { + type inet:ip-address-no-zone; + description + "Remote PCE address"; + } + } + } + container hierarchical { + presence "CLI submode compatibility."; + description + "Configure hierarchical policy computation"; + container underlay { + presence "CLI submode compatibility."; + description + "Configure underlay tunnels"; + leaf enable-all { + type empty; + description + "Use all available tunnels as underlay"; + } + } + } + container api { + presence "CLI submode compatibility."; + description + "Northbound API configuration"; + container api-ipv6 { + description + "IPv6 API configuration"; + leaf api-ipv6-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address of API server"; + } + } + container api-ipv4 { + description + "IPv4 API configuration"; + leaf api-ipv4-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of API server"; + } + } + container api-users { + description + "Northbound API authorized users configuration"; + list api-user { + key "name"; + description + "API authorized user"; + leaf api-user-password { + type xr:Proprietary-password; + description + "API user password configuration"; + } + leaf name { + type string; + description + "User name"; + } + } + } + leaf sibling { + type inet:ip-address-no-zone; + description + "Address of sibling PCE"; + } + leaf api-authentication { + type Pce-api-authentication; + description + "API authentication type"; + } + leaf api-vrf { + type xr:Cisco-ios-xr-string { + length "1..33"; + } + description + "API Interface vrf configuration"; + } + } + container state-syncs { + description + "Standby IPv4 PCE configuration"; + list state-sync { + key "address"; + description + "Standby PCE ipv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + } + container segment-routing { + description + "PCE segment-routing configuration"; + container traffic-engineering { + presence "CLI submode compatibility."; + description + "Traffic Engineering configuration data"; + container affinity-bits { + description + "Affinity Bit-map"; + list affinity-bit { + key "color-name"; + description + "Affinity Bit"; + leaf color-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Color Name"; + } + leaf bit { + type uint32 { + range "0..255"; + } + mandatory true; + description + "The bit"; + } + } + } + container peers { + description + "Peer configuration"; + list peer { + key "peer-addr"; + description + "Peer configuration"; + container policies { + description + "Policy configuration"; + list policy { + key "policy-name"; + description + "Policy configuration"; + container binding-sid { + description + "Binding Segment ID"; + leaf binding-sid-type { + type Pce-binding-sid; + description + "Binding SID type"; + } + leaf mpls-label { + when "../binding-sid-type = 'mpls-label-specified'" { + description + "../BindingSIDType = MPLSLabelSpecified"; + } + type uint32 { + range "16..1048575"; + } + description + "MPLS Label"; + } + } + container color-endpoint { + description + "Color and Endpoint"; + leaf color { + type uint32 { + range "1..4294967295"; + } + description + "Color"; + } + leaf end-point-type { + type Pce-end-point; + description + "End point type"; + } + leaf end-point-address { + type inet:ip-address-no-zone; + description + "End point address"; + } + } + container candidate-paths { + presence "CLI submode compatibility."; + description + "Policy candidate-paths configuration"; + container append-sid { + description + "Append a specific SID to the computed + label stack"; + leaf append-sid-type { + type Pce-append-sid; + description + "AppendSID type"; + } + leaf mpls-label { + when "../append-sid-type = 'mpls-label'" { + description + "../AppendSIDType = MPLSLabel"; + } + type uint32 { + range "1..1048575"; + } + description + "MPLS Label"; + } + } + container preferences { + description + "Policy path-option preference table"; + list preference { + key "path-index"; + description + "Policy path-option preference entry"; + container path-infos { + description + "Policy path-option preference + configuration"; + list path-info { + key "type hop-type segment-list-name"; + description + "Policy configuration"; + leaf type { + type Pce-path; + description + "Path-option type"; + } + leaf hop-type { + type Pce-path-hop; + description + "Type of dynamic path to be computed"; + } + leaf segment-list-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Segment-list name"; + } + uses METRIC; + } + } + leaf path-index { + type uint32 { + range "1..65535"; + } + description + "Path-option preference"; + } + uses CONSTRAINTS; + } + } + uses AFFINITY-RULE-TABLE; + } + leaf profile-id { + type uint32 { + range "1..65534"; + } + description + "Profile-ID to send to the PCC"; + } + leaf path-selection { + type Pce-path-selection; + description + "Path selection type"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Policy name"; + } + uses SHUTDOWN; + } + } + leaf peer-addr { + type inet:ip-address-no-zone; + description + "Peer address"; + } + } + } + container path { + description + "Path configuration"; + container disable-algorithm-check { + description + "Path algorithm check configuration"; + container strict-spf { + description + "Disable SID algorithm check for Strict SPF"; + container areas { + description + "List of disabled areas"; + list area { + key "area-id protocol"; + description + "IGP area"; + leaf area-id { + type uint32; + description + "Area identifier"; + } + leaf protocol { + type Pce-path-algo-check-igp-protocol; + description + "IGP protocol"; + } + } + } + leaf all { + type empty; + description + "Disable check for all IGP areas"; + } + } + } + } + container cspf { + description + "Path computation configuration"; + container anycast-sid-inclusion { + presence "CLI submode compatibility."; + description + "Enable Anycast SID Inclusion for all policies"; + } + container sr-native { + presence "CLI submode compatibility."; + description + "Use SR native algorithm"; + leaf force { + type empty; + description + "Use algorithm for all path computation"; + } + } + } + container p2mp { + description + "P2MP configuration"; + container p2mp-label-range { + presence "Indicates a p2mp-label-range node is configured."; + description + "Specify label range for dynamic P2MP policies"; + leaf minimum { + type uint32 { + range "16..1048575"; + } + mandatory true; + description + "Minimum value of label range"; + } + leaf maximum { + type uint32 { + range "16..1048575"; + } + mandatory true; + description + "Maximum value of label range"; + } + } + container p2mp-policies { + description + "P2MP policy configuration"; + list p2mp-policy { + key "policy-name"; + description + "P2MP policy configuration"; + container p2mp-color-endpoint-set { + description + "Color and endpoint-set"; + leaf color { + type uint32 { + range "1..4294967295"; + } + description + "Color"; + } + leaf endpoint-set-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Endpoint set name"; + } + } + container p2mp-source { + description + "Source address"; + leaf af-type { + type Pce-address-family; + description + "Address-family type"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source IP address"; + } + } + container p2m-ptree-sid { + description + "TreeSID value"; + leaf tree-sid { + type Pce-tree-sid; + description + "TreeSID type"; + } + leaf mpls-label { + when "../tree-sid = 'mpls-label'" { + description + "../TreeSID = MPLSLabel"; + } + type uint32 { + range "16..1048575"; + } + description + "MPLS Label"; + } + } + container p2mp-candidate-paths { + description + "Policy candidate-paths configuration"; + container p2mp-preferences { + description + "Policy path-option preference table"; + list p2mp-preference { + key "path-index"; + description + "Policy path-option preference entry"; + container p2mp-path-infos { + description + "Policy path-option preference + configuration"; + list p2mp-path-info { + key "type hop-type segment-list-name"; + description + "Policy configuration"; + leaf type { + type Pce-path; + description + "Path-option type"; + } + leaf hop-type { + type Pce-path-hop; + description + "Type of dynamic path to be computed"; + } + leaf segment-list-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Segment-list name"; + } + uses METRIC; + } + } + leaf path-index { + type uint32 { + range "100"; + } + description + "Path-option preference"; + } + } + } + container p2mp-constraints { + description + "Policy path contraints configuration"; + uses AFFINITY-RULE-TABLE; + } + } + leaf p2mp-policy-fast-reroute { + type Pcep2mp-fast-reroute; + description + "Enable Fast Re-route protection for this + tree"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Policy name"; + } + uses SHUTDOWN; + } + } + container p2mpfrr-node-set-from { + presence "CLI submode compatibility."; + description + "Nodes from which adjacencies are to be + protected"; + uses P2MPFRR-NODE-SET-ADDRESS-TABLE; + } + container p2mpfrr-node-set-to { + presence "CLI submode compatibility."; + description + "Nodes to which adjacencies are to be + protected"; + uses P2MPFRR-NODE-SET-ADDRESS-TABLE; + } + container p2mp-endpoint-sets { + description + "P2MP endpoint-set table"; + list p2mp-endpoint-set { + key "endpoint-set-name"; + description + "P2MP endpoint-set configuration"; + container p2mp-endpoint-set-addresses { + description + "P2MP endpoint-set address table"; + list p2mp-endpoint-set-address { + key "af-type endpoint-address"; + description + "P2MP endpoint-set address configuration"; + leaf af-type { + type Pce-address-family; + description + "Endpoint address-family type"; + } + leaf endpoint-address { + type inet:ip-address-no-zone; + description + "Endpoint address"; + } + } + } + leaf endpoint-set-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Endpoint set name"; + } + } + } + container p2mp-timers { + description + "P2MP timers configuration"; + leaf p2mp-timers-cleanup { + type uint32 { + range "1..86400"; + } + units "second"; + description + "Delay before node is excluded from P2MP path + computation after PCEP connection with it + goes away"; + } + leaf p2mp-timers-reoptimization { + type uint32 { + range "60..3600"; + } + units "second"; + description + "How often to reoptimize all P2MP paths"; + } + } + leaf p2mp-fast-reroute { + type Pcep2mp-fast-reroute; + description + "Enable Fast Re-route protection for all trees"; + } + leaf p2mp-multipath-disable { + type empty; + description + "Disable load balancing of SR P2MP across ECMP + paths"; + } + } + container segments { + description + "Segment-lists configuration"; + list segment { + key "path-name"; + description + "Segment-list configuration"; + container segments { + description + "Segments/hops configuration for given + Segment-list"; + list segment { + key "segment-index"; + description + "Configure Segment/hop at the index"; + leaf segment-index { + type uint32 { + range "1..65535"; + } + description + "Segment index"; + } + leaf segment-type { + type Pce-segment; + description + "Segment/hop type"; + } + leaf address { + when "../segment-type = 'ipv4-address' or ../segment-type = 'ipv4-adjacency-address'" { + description + "../SegmentType = IPv4Address or . + ./SegmentType = IPv4AdjacencyAddress"; + } + type inet:ipv4-address-no-zone; + description + "IPv4 Address"; + } + leaf mpls-label { + when "../segment-type = 'mpls-label'" { + description + "../SegmentType = MPLSLabel"; + } + type uint32 { + range "0..1048575"; + } + description + "MPLS Label"; + } + leaf adjacency-address { + type inet:ipv4-address-no-zone; + description + "IPv4 Adjacency Address"; + } + leaf address-type { + when "../segment-type = 'ipv4-adjacency-address'" { + description + "../SegmentType = IPv4AdjacencyAddress"; + } + type uint32 { + range "0..32"; + } + description + "IP address types"; + } + leaf interface-identifier { + type uint32 { + range "1..65535"; + } + description + "Interface Identifier"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Prefix Length"; + } + leaf validate-flag { + type uint32 { + range "0..1"; + } + description + "Validate No Validate"; + } + } + } + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Segment-list name"; + } + } + } + } + leaf strict-sid-only { + type empty; + description + "Use strict-sid-only configuration"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "PCE Timers configuration"; + leaf initial-verify-restart { + type uint32 { + range "10..10000"; + } + units "second"; + default "40"; + description + "Timer to wait for topology convergence after + topology starts populating for restart case"; + } + leaf peer-zombie { + type uint32 { + range "0..3600"; + } + units "second"; + default "60"; + description + "Timer value in seconds 0-3600. Use 0 to disable + . Default is 60."; + } + leaf initial-verify-startup { + type uint32 { + range "10..10000"; + } + units "second"; + default "180"; + description + "Timer to wait for topology convergence after + topology starts populating for startup case"; + } + leaf reoptimization-timer { + type uint32 { + range "600..86400"; + } + units "second"; + default "1800"; + description + "Topology reoptimization timer configuration"; + } + leaf initial-verify-switchover { + type uint32 { + range "10..10000"; + } + units "second"; + default "60"; + description + "Timer to wait for topology convergence after + topology starts populating for switchover case"; + } + leaf keepalive { + type uint32 { + range "0..255"; + } + units "second"; + default "30"; + description + "Keepalive interval in seconds, zero to disable"; + } + leaf minimum-peer-keepalive { + type uint32 { + range "0..255"; + } + units "second"; + default "20"; + description + "Minimum acceptable peer proposed keepalive + interval"; + } + } + container netconf { + presence "CLI submode compatibility."; + description + "NETCONF configuration"; + container netconf-ssh { + description + "NETCONF SSH configuration"; + leaf netconf-ssh-password { + type xr:Proprietary-password; + description + "Password to use for NETCONF SSH connections"; + } + leaf netconf-ssh-user { + type string; + description + "User name to use for NETCONF SSH connections"; + } + } + } + container disjoint-path { + presence "CLI submode compatibility."; + description + "Disjoint path configuration"; + container groups { + description + "Association configuration"; + list group { + key "group-id dp-type sub-id"; + description + "Association Group Configuration"; + container group-lsp-records { + description + "lsp pcc records container with in group"; + list group-lsp-record { + key "lsp-id"; + description + "LSP first/second PCC record tuple + containingAF, IpAddr, LspName, DisjPath"; + leaf lsp-id { + type uint32 { + range "1..2"; + } + description + "Lsp id"; + } + leaf af-type { + type Pce-address-family; + description + "Address-family type"; + } + leaf ip-addr { + type inet:ip-address-no-zone; + description + "PCC IP address"; + } + leaf lsp-name { + type string; + description + "Identifying name for LSP"; + } + leaf disj-path { + type uint32 { + range "0..1"; + } + description + "Set to 1 to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "0..4294967295"; + } + description + "SRLG value to be excluded, value 0 means no + exclusion"; + } + } + } + leaf strict { + type empty; + description + "Disable Fallback"; + } + leaf group-id { + type uint32 { + range "1..65535"; + } + description + "Group ID"; + } + leaf dp-type { + type Pce-disjoint-path; + description + "Disjointness type"; + } + leaf sub-id { + type uint32 { + range "0..65535"; + } + description + "Sub group ID, 0 to unset"; + } + } + } + leaf maximum-attempts { + type uint32 { + range "1..100000"; + } + description + "Maximum number of attempts during disjoint path + computation (default: 1000)"; + } + } + container peer-filter { + description + "Peer filter"; + leaf ipv4-acl { + type string; + description + "IPv4 ACL for peer filtering"; + } + } + leaf server-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of PCE server"; + } + leaf ipv6-server-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address of PCE server"; + } + leaf password { + type xr:Proprietary-password; + description + "MD5 password"; + } + uses CONSTRAINTS; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper-sub1.yang new file mode 100644 index 000000000..8e6c2b3d5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper-sub1.yang @@ -0,0 +1,4226 @@ +submodule Cisco-IOS-XR-infra-xtc-oper-sub1 { + belongs-to Cisco-IOS-XR-infra-xtc-oper { + prefix Cisco-IOS-XR-infra-xtc-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-28 { + description + "Added protection type set in candidate path constraints."; + semver:module-version "4.0.0"; + } + revision 2021-04-22 { + description + "Added TE metric field for Flex-algo ASLA. + 2021-04-08 + Change protection type from integer to enum. + 2021-03-31 + Added new enumeration Api-peer-stats-info-oper. Changed type of type in API-PEER-STATS-INFO to use Api-peer-stats-info-oper. This is a non backward compatible change. + 2021-03-04 + Added MSD list per topology link. Added SRLB list per topology node. + 2021-01-29 + Updated SRv6 Endpoint function from int to enum. + 2020-09-16 + Adding operational nodes for new features path invalidation drop protected and unprotected path Operational nodes for PCE segment-routing traffic-eng policy + 2020-09-01 + Added uB6SID field in the LSP object + 2020-08-18 + Added SRv6 LSP details fields in the LSP object + 2020-07-13 + Added NodeID fields in the uN SID object in the IPv6 topology. + 2020-04-20 + Added fields in the PCE IPv6 link object."; + semver:module-version "3.0.0"; + } + revision 2020-03-17 { + description + "Add flex-algo related operational nodes. Updated description of statistics-nodes. Add SR-PAG related operational nodes. Add PCE authentication related operational nodes. + 2020-02-03 + Added TCP AuthenticationOption related operational model. Implemented show pce authentication. Added classes AuthenticationKeyTable and AuthenticationKey. + 2019-11-07 + Adding leaf preference, leaf interface-name, and leaf profile-id to support a new HTTP API bindpoint for sibling PCEs. + 2019-10-09 + Adding enum sr-flex-algo-prefix-sid, enum pce-cspf-flex-algo-definition-mistmatch, leaf flex-algo-prefix-sids, list sr-flex-algo, and container flex-algos to support Flex-algo info."; + semver:module-version "2.0.0"; + } + revision 2019-10-02 { + description + "Added REST peer statistic information. + 2019-09-27 + Implement new show pce lsp and show pce initiated tunnels commands for Optima"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-08-24 { + description + "Added C flag to pcep flags."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-05-31 { + description + "Revision description string."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nbapi-peer-state { + type enumeration { + enum "api-peer-state-down" { + value 0; + description + "Operational status down"; + } + enum "api-peer-state-up" { + value 1; + description + "Operational status up"; + } + } + description + "Nbapi peer state"; + } + + typedef Api-peer-stats-info-oper { + type enumeration { + enum "api-operation-invalid" { + value 0; + description + "Invalid operation"; + } + enum "api-operation-lsp-create" { + value 1; + description + "LSP create"; + } + enum "api-operation-lsp-reclaim-delegation" { + value 2; + description + "LSP reclaim delegation"; + } + enum "api-operation-lsp-drop-delegation" { + value 3; + description + "LSP drop delegation"; + } + enum "api-operation-lsp-update" { + value 4; + description + "LSP update"; + } + enum "api-operation-lsp-delete" { + value 5; + description + "LSP delete"; + } + enum "api-operation-lsp-delete-all" { + value 6; + description + "LSP delete all"; + } + enum "api-operation-lsp-computation" { + value 7; + description + "LSP compute"; + } + enum "api-operation-lsp-subscription" { + value 8; + description + "LSP subscrube"; + } + enum "api-operation-topology-subscription" { + value 9; + description + "Topology subscribe"; + } + enum "api-operation-topology-subscriptionv2" { + value 10; + description + "Topology subscribe version 2"; + } + enum "api-operation-peer-subscription" { + value 11; + description + "Peer subscribe"; + } + enum "api-operation-bwod-subscription" { + value 12; + description + "BWoD subscribe"; + } + enum "api-operation-p2mp-install" { + value 13; + description + "P2MP install"; + } + enum "api-operation-p2mp-delete" { + value 14; + description + "P2MP delete"; + } + enum "api-operation-p2mp-delete-all" { + value 15; + description + "P2MP delete all"; + } + enum "api-operation-p2mp-reoptimization" { + value 16; + description + "P2MP reoptimization"; + } + enum "api-operation-p2mp-get-information" { + value 17; + description + "P2MP get information"; + } + enum "api-operation-p2mp-subscription" { + value 18; + description + "P2MP subscribe"; + } + enum "api-operation-external-lsp" { + value 19; + description + "External LSP"; + } + enum "api-operation-topology-link-attribute" { + value 20; + description + "Topology link attribute update"; + } + enum "api-operationversion" { + value 21; + description + "API version"; + } + enum "api-operation-maximum" { + value 22; + description + "Maximum value"; + } + } + description + "Api peer stats info oper"; + } + + typedef Pce-headend-swap { + type enumeration { + enum "pcehs-none" { + description + "Headends not swapped"; + } + enum "pcehs-plain" { + description + "Headends swapped"; + } + enum "pcehs-rwi" { + description + "Headends swapped with increment"; + } + } + description + "PCE Headends Swap Code"; + } + + typedef Path-work-node { + type enumeration { + enum "path-work-bag-node-type-work" { + value 0; + description + "work"; + } + enum "path-work-bag-node-type-worker-prio-1" { + value 1; + description + "reoptimization worker"; + } + enum "path-work-bag-node-type-region" { + value 2; + description + "region"; + } + } + description + "Path work node type"; + } + + typedef Pce-treesid-state { + type enumeration { + enum "none" { + description + "No state"; + } + enum "programming" { + description + "Programming non-root nodes"; + } + enum "programming-root" { + description + "Programming the root node"; + } + enum "pruning" { + description + "Pruning stale legs on non-root nodes"; + } + enum "pruning-root" { + description + "Pruning stale legs on root node"; + } + enum "deleting" { + description + "TreeSID is being deleted"; + } + } + description + "Pce treesid state"; + } + + typedef Pce-treesid-role { + type enumeration { + enum "none" { + description + "No role"; + } + enum "ingress" { + description + "Ingress"; + } + enum "transit" { + description + "Transit"; + } + enum "egress" { + description + "Egress"; + } + enum "bud-node" { + description + "Bud Node"; + } + } + description + "Pce treesid role"; + } + + typedef Pce-cspf-rc { + type enumeration { + enum "pce-cspf-not-set" { + description + "Not set"; + } + enum "pce-cspf-src-not-found" { + description + "Source not found"; + } + enum "pce-cspf-dst-not-found" { + description + "Destination not found"; + } + enum "pce-cspf-second-src-not-found" { + description + "Second source not found"; + } + enum "pce-cspf-second-dst-not-found" { + description + "Second destination not found"; + } + enum "pce-cspf-no-mem" { + description + "No memory"; + } + enum "pce-cspf-ex-path-not-resolved" { + description + "Second path not resolved"; + } + enum "pce-cspf-no-path" { + description + "No path"; + } + enum "pce-cspf-sp-success" { + description + "Shortest path success"; + } + enum "pce-cspf-error" { + description + "Error"; + } + enum "pce-cspf-fallback-srlg-node-node" { + description + "Fallback from SRLG-NODE to NODE"; + } + enum "pce-cspf-fallback-srlg-node-link" { + description + "Fallback from SRLG-NODE to LINK"; + } + enum "pce-cspf-fallback-srlg-node-sp" { + description + "Fallback from SRLG-NODE to SP"; + } + enum "pce-cspf-fallback-node-link" { + description + "Fallback from NODE to LINK"; + } + enum "pce-cspf-fallback-link-sp" { + description + "Fallback from LINK to SP"; + } + enum "pce-cspf-fallback-node-sp" { + description + "Fallback from NODE to SP"; + } + enum "pce-cspf-fallback-srlg-link" { + description + "Fallback from SRLG to LINK"; + } + enum "pce-cspf-fallback-srlg-sp" { + description + "Fallback from SRLG to SP"; + } + enum "pce-cspf-dp-success" { + description + "Disjoint path success"; + } + enum "pce-cspf-flex-algo-definition-mistmatch" { + description + "Flex-algo definition mistmatch across IGP + domain"; + } + enum "pce-cspf-latency-bound-exceeded" { + description + "Latency bound exceeded for computed path"; + } + enum "pce-cspf-flex-algo-unsupported" { + description + "Flex-algo based path computation unsupported"; + } + } + description + "PCE CSPF Result Code"; + } + + typedef Cmn-ha-case { + type enumeration { + enum "ha-case-migration" { + description + "HA Case Migration"; + } + enum "ha-case-restart" { + description + "HA Case Restart"; + } + enum "ha-case-switchover" { + description + "HA Case Switchover"; + } + enum "ha-case-startup" { + description + "HA Case Startup"; + } + enum "ha-case-invalid" { + description + "HA Case Invalid"; + } + } + description + "Various HA cases"; + } + + typedef Topo-msd-subtype { + type enumeration { + enum "msd-type-mpls" { + value 1; + description + "Base MPLS Imposition MSD"; + } + enum "msd-type-erld" { + value 2; + description + "ERLD MSD"; + } + enum "msd-type-srh-max-sl" { + value 41; + description + "SRH Max SL"; + } + enum "msd-type-srh-max-end-pop" { + value 42; + description + "SRH Max End Pop"; + } + enum "msd-type-srh-max-h-encaps" { + value 44; + description + "SRH Max H.encaps"; + } + enum "msd-type-srh-max-end-d" { + value 45; + description + "SRH Max End D"; + } + enum "msd-type-unknown" { + value 255; + description + "Unknown"; + } + } + description + "Topo msd subtype"; + } + + typedef Sid { + type enumeration { + enum "sr-protected-adj-sid" { + value 1; + description + "Protected Adjacency SID"; + } + enum "sr-unprotected-adj-sid" { + value 2; + description + "Unprotected Adjacency SID"; + } + enum "sr-bgp-egress-peer-engineering-sid" { + value 3; + description + "BGP egress peer engineering SID"; + } + enum "sr-reqular-prefix-sid" { + value 4; + description + "Regular prefix SID"; + } + enum "sr-strict-prefix-sid" { + value 5; + description + "Strict prefix SID"; + } + enum "sr-flex-algo-prefix-sid" { + value 6; + description + "Flex-algo prefix SID"; + } + } + description + "SID Types"; + } + + typedef Cmn-metric { + type enumeration { + enum "metric-type-none" { + value 0; + description + "Metric Type None"; + } + enum "metric-type-igp" { + value 1; + description + "Metric Type IGP"; + } + enum "metric-type-te" { + value 2; + description + "Metric Type TE"; + } + enum "metric-type-hop-count" { + value 3; + description + "Metric Type hop count"; + } + enum "metric-type-msd" { + value 11; + description + "Metric Type MSD"; + } + enum "metric-type-latency" { + value 12; + description + "Metric Type latency"; + } + } + description + "PCE Metric Type"; + } + + typedef Pce-igp-info-id { + type enumeration { + enum "isis" { + value 1; + description + "ISIS"; + } + enum "ospf" { + value 2; + description + "OSPF"; + } + enum "bgp" { + value 3; + description + "BGP"; + } + } + description + "IGP IDs"; + } + + typedef Cmn-auth { + type enumeration { + enum "none" { + description + "None"; + } + enum "md5-clear" { + description + "MD5 Clear"; + } + enum "md5-encrypted" { + description + "MD5 Encrypted"; + } + enum "authentication-option" { + description + "Authentication Option"; + } + enum "authentication-keychain" { + description + "Authentication Keychain"; + } + enum "max" { + description + "Max"; + } + } + description + "Cmn auth"; + } + + typedef Pcep-state { + type enumeration { + enum "tcp-close" { + description + "TCP close"; + } + enum "tcp-listen" { + description + "TCP listen"; + } + enum "tcp-connect" { + description + "TCP connect"; + } + enum "pcep-closed" { + description + "PCEP closed"; + } + enum "pcep-opening" { + description + "PCEP opening"; + } + enum "pcep-open" { + description + "PCEP open"; + } + } + description + "PCEP State"; + } + + typedef Pce-proto { + type enumeration { + enum "pcep" { + description + "PCE protocol"; + } + enum "netconf" { + description + "Netconf protocol"; + } + } + description + "PCE peer protocol"; + } + + typedef Xtc-ipv6-address { + type inet:ipv6-address; + description + "Xtc ipv6 address"; + } + + typedef Xtc-ipv4-address { + type inet:ipv4-address; + description + "Xtc ipv4 address"; + } + + typedef Xtc-af-id { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Xtc af id"; + } + + typedef Pce-rro { + type enumeration { + enum "rro-type-ipv4-address" { + description + "IPv4 Address"; + } + enum "rro-type-mpls-label" { + description + "MPLS Label"; + } + enum "rro-type-sripv4-node-sid" { + description + "Segment Routing IPv4 Node SID"; + } + enum "rro-type-sripv4-adjacency-sid" { + description + "Segment Routing IPv4 Adjacency SID"; + } + enum "rro-type-sr-nai-null" { + description + "Segment Routing with NAI null"; + } + } + description + "PCE RRO type"; + } + + typedef Pce-sr-sid { + type enumeration { + enum "ipv4-node-sid" { + description + "IPv4 Node SID"; + } + enum "ipv4-adjacency-sid" { + description + "IPv4 Adjacency SID"; + } + enum "ipv6-node-sid" { + description + "IPv6 Node SID"; + } + enum "ipv6-adjacency-sid" { + description + "IPv6 Adjacency SID"; + } + enum "ipv4-unnumbered-adjacency-sid" { + description + "IPv4 unnumbered adjacency segment identifier"; + } + enum "ipv6-linklocal-adjacency-sid" { + description + "IPv6 linklocal adjacency segment identifier"; + } + enum "unknown-sid" { + description + "Unknown SID"; + } + } + description + "PCE SR SID type"; + } + + typedef Lsp-state { + type enumeration { + enum "lsp-down" { + description + "LSP is down"; + } + enum "lsp-up" { + description + "LSP is up"; + } + } + description + "LSP setup type"; + } + + typedef Pcep-lsp-state { + type enumeration { + enum "lsp-down" { + description + "LSP is down"; + } + enum "lsp-up" { + description + "LSP is up"; + } + enum "lsp-active" { + description + "LSP is active (carrying traffic)"; + } + enum "lsp-going-down" { + description + "LSP is going down"; + } + enum "lsp-being-signaled" { + description + "LSP is being signaled"; + } + } + description + "PCEP operation protocol"; + } + + typedef Lsp-setup { + type enumeration { + enum "setup-rsvp" { + description + "LSP is established using RSVP-TE"; + } + enum "setup-sr" { + description + "LSP is established using SR-TE"; + } + enum "setup-unknown" { + description + "Unknown LSP establishment method"; + } + } + description + "LSP setup type"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Pce-ipv6-address { + type inet:ipv6-address; + description + "Pce ipv6 address"; + } + + typedef Pce-ipv4-address { + type inet:ipv4-address; + description + "Pce ipv4 address"; + } + + typedef Pce-af-id { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Pce af id"; + } + + grouping API-PEER-STATS-INFO { + description + "Stats info struct"; + leaf api-peer-type { + type Api-peer-stats-info-oper; + description + "Peer operation types"; + } + leaf peer-state { + type Nbapi-peer-state; + description + "Peer state"; + } + leaf id { + type uint32; + description + "Unique Identifier for stats"; + } + leaf failed-flag { + type boolean; + description + "Indicates failure"; + } + leaf start-time { + type uint32; + description + "Indicates start time"; + } + leaf last-seen-time { + type uint32; + description + "Indicates Last seen time"; + } + leaf queue-valid-time { + type uint32; + description + "Timestamp, when something was sent from queue or + when it was empty."; + } + leaf send-queue-size { + type uint64; + units "byte"; + description + "Size of data in send queue in bytes"; + } + leaf rest-query { + type string; + description + "query string"; + } + } + + grouping API-PEER-STATS-BAG { + description + "API PEER STATS BAG"; + container peer-address { + description + "Indicates the peer IP"; + uses PCE-IP-ADDR-TYPE; + } + leaf uid { + type uint32; + description + "Indicates the UID for the peer"; + } + list stats { + description + "Stats info"; + uses API-PEER-STATS-INFO; + } + } + + grouping PCE-PATH-LIST-BAG { + description + "PCE path list"; + leaf headends-swapped { + type Pce-headend-swap; + description + "Headends swapped"; + } + leaf cspf-result { + type Pce-cspf-rc; + description + "CSPF Result"; + } + leaf iterations-done { + type uint32; + description + "Iterations of the Suurballe-Tarjan algorithm"; + } + list output-path { + description + "Output PCE paths"; + uses PCE-PATH-BAG; + } + } + + grouping PCE-SRV6-HOP-BAG { + description + "SRv6 Hop Details"; + container srv6sid { + description + "SRv6 SID detailed"; + uses SRV6-SID-BAG; + } + leaf local-ipv6-address { + type inet:ipv6-address; + description + "Local IPv6 address"; + } + leaf remote-ipv6-address { + type inet:ipv6-address; + description + "Remote IPv6 address"; + } + } + + grouping PCE-ADDR-BAG { + description + "PCE Address Information"; + container srv6-hop { + description + "SRv6 Hop information"; + uses PCE-SRV6-HOP-BAG; + } + leaf address-family { + type uint8; + description + "Address Family"; + } + leaf ipv4-prefix { + type inet:ipv4-address; + description + "IPv4 prefix"; + } + leaf ipv6-prefix { + type inet:ipv6-address; + description + "IPv6 prefix"; + } + } + + grouping PCE-PATH-BAG { + description + "PCE path information"; + container source-xr { + description + "Source of path"; + uses PCE-IP-ADDR-TYPE; + } + container destination-xr { + description + "Destination of path"; + uses PCE-IP-ADDR-TYPE; + } + leaf cost { + type uint64; + description + "Cost"; + } + list hops { + description + "Hop addresses"; + uses PCE-ADDR-BAG; + } + } + + grouping PATH-WORK-CACHE-STATS { + description + "Statistics about a particular cache"; + leaf work-consumed { + type uint64; + description + "Number of work nodes consumed"; + } + leaf cache-hit { + type uint64; + description + "How many times we were able to use the cache"; + } + leaf cache-miss { + type uint64; + description + "How many times we had to recompute the cache"; + } + leaf cache-miss-time-usec { + type uint64; + units "microsecond"; + description + "How many microseconds the last computation took"; + } + leaf average-cache-miss-time-usec { + type uint64; + units "microsecond"; + description + "How many microseconds the average computation + took"; + } + leaf error { + type uint64; + description + "Number of errors"; + } + leaf run-time-usec { + type uint64; + units "microsecond"; + description + "How many microseconds it took to verify one + region"; + } + } + + grouping PATH-WORK-GROUP-STATS { + description + "Path work group stats"; + list last { + description + "Last several computations"; + uses PATH-WORK-CACHE-STATS; + } + } + + grouping PATH-WORK-REGION { + description + "Path work region"; + leaf work-count { + type uint32; + description + "Number of work elements"; + } + } + + grouping XTC-AFFINITY-COLOR { + description + "XTC AFFINITY COLOR"; + leaf color { + type string; + description + "An affinity color"; + } + } + + grouping XTC-AFFINITY-CONSTRAINT { + description + "XTC AFFINITY CONSTRAINT"; + leaf type { + type uint8; + description + "Affinity type"; + } + leaf value { + type uint32; + description + "Affinity value"; + } + leaf-list extended-value { + type uint32; + description + "Extended Affinity values"; + } + list color { + description + "Colors"; + uses XTC-AFFINITY-COLOR; + } + } + + grouping PATH-WORK-GROUP-KEY { + description + "Identifies path work group"; + container source-address { + description + "Source address"; + uses XTC-IP-ADDR-TYPE; + } + leaf maximum-segments { + type uint16; + description + "Max number of segments to impose"; + } + leaf metric-type { + type uint8; + description + "Metric type being optimized"; + } + leaf non-ocspf { + type boolean; + description + "Constraints are something other than O-CSPF"; + } + list affinity-constraint { + description + "Affinity constraints list"; + uses XTC-AFFINITY-CONSTRAINT; + } + } + + grouping PATH-WORK-GROUP { + description + "Path work group"; + container key { + description + "Unique key to identify group"; + uses PATH-WORK-GROUP-KEY; + } + container region-1 { + description + "First region of the group"; + uses PATH-WORK-REGION; + } + container region-2 { + description + "Second region of the group"; + uses PATH-WORK-REGION; + } + container stats { + description + "Group statistics"; + uses PATH-WORK-GROUP-STATS; + } + leaf works-count { + type uint64; + description + "Number of works in this group"; + } + leaf worker-past-region1 { + type boolean; + description + "Is the worker past region_1"; + } + } + + grouping PCE-ASSO-LSP-INFO { + description + "Association LSP common information"; + container pcc-address { + description + "PCC address"; + uses PCE-IP-ADDR-TYPE; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf lspid { + type uint32; + description + "LSP ID"; + } + leaf tunnel-name { + type string; + description + "Tunnel Name"; + } + leaf pce-based { + type boolean; + description + "PCE Based"; + } + leaf plsp-id { + type uint32; + description + "PLSP ID"; + } + } + + grouping PCE-ASSO-BAG { + description + "PCE Association information"; + container association-source { + description + "Association Source"; + uses PCE-IP-ADDR-TYPE; + } + leaf association-type { + type uint32; + description + "Association Type"; + } + leaf association-id { + type uint32; + description + "Association ID"; + } + leaf strict { + type boolean; + description + "Association Strict Mode"; + } + leaf status { + type uint32; + description + "Association Status"; + } + leaf headends-swapped { + type uint32; + description + "Headends Swapped"; + } + list association-lsp { + description + "Association LSP Info"; + uses PCE-ASSO-LSP-INFO; + } + } + + grouping CMN-TRACE-BUFFER-SUMMARY-BAG { + description + "Trace buffer summary"; + leaf trace-buffer-name { + type string; + description + "Name of trace buffer"; + } + leaf unique-trace-count { + type uint32; + description + "Unique trace count"; + } + leaf wrapping-trace-count-default { + type uint32; + description + "Default value of wrapping trace count"; + } + leaf wrapping-trace-count-programmed { + type uint32; + description + "Programmed value of wrapping trace count"; + } + leaf string-buffer-size-default { + type uint32; + units "byte"; + description + "Default string buffer size for wrapping traces + in bytes"; + } + leaf string-buffer-size-programmed { + type uint32; + units "byte"; + description + "Programmed string buffer size for wrapping + traces in bytes"; + } + } + + grouping PATH-WORK-NODE { + description + "Path work node"; + leaf type { + type Path-work-node; + description + "Node type"; + } + leaf repr { + type string; + description + "String representation"; + } + } + + grouping PCE-NODE-FLEX-ALGO-DEFINITION { + description + "PCE Node Flex-algo definition"; + container node-id { + description + "Flex-algo Advertising Link-state node identifier"; + uses PCE-NODE-ID-BAG; + } + container flex-algo-definition { + description + "Flex-algo definition"; + uses PCE-FA-DEFINITION; + } + } + + grouping PCE-IGP-AREA-INFO-TYPE { + description + "PCE IGP AREA INFO TYPE"; + leaf igp-id { + type Pce-igp-info-id; + description + "IGP ID"; + } + leaf level { + when "../igp-id = 'isis'" { + description + "../IGP_ID = 'ISIS'"; + } + type uint32; + description + "ISIS level"; + } + leaf area { + when "../igp-id = 'ospf'" { + description + "../IGP_ID = 'OSPF'"; + } + type uint32; + description + "OSPF area"; + } + } + + grouping PCE-FLEX-ALGO-AREA { + description + "Flex-algo information per Area"; + container igp-area { + description + "IGP-area-specific information"; + uses PCE-IGP-AREA-INFO-TYPE; + } + leaf igp-id { + type Pce-igp-info-id; + description + "IGP type"; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + list definition { + description + "Per Area Flex-Algo Definition"; + uses PCE-NODE-FLEX-ALGO-DEFINITION; + } + } + + grouping PCE-PEER-PROTO-SUMMARY-BAG { + description + "Peer summary for specified protocol"; + leaf peer-count-up { + type uint32; + description + "Number of peers in up state"; + } + leaf peer-count-down { + type uint32; + description + "Number of peers in down state"; + } + leaf peer-count-all { + type uint32; + description + "Number of all peers"; + } + } + + grouping PCE-PEER-SUMMARY-BAG { + description + "Peer summary information"; + container pcep-peers { + description + "PCEP peers summary information"; + uses PCE-PEER-PROTO-SUMMARY-BAG; + } + } + + grouping PCE-TREESID-HOP-BAG { + description + "TreeSID hop information"; + leaf next-hop-address { + type inet:ipv4-address; + description + "Next hop remote address"; + } + leaf next-hop-label { + type uint32; + description + "Next hop outgoing label"; + } + leaf next-hop-node-address { + type inet:ipv4-address; + description + "Next hop node address"; + } + leaf next-hop-node-name { + type string; + description + "Next hop node name"; + } + leaf stale { + type boolean; + description + "Stale hop; will be removed in next update"; + } + leaf central-control-identifier { + type uint32; + description + "Identifier for Central Control instructions"; + } + leaf fast-reroute { + type boolean; + description + "Fast Re-route to hop remote node"; + } + } + + grouping PCE-TREESID-NODE-BAG { + description + "TreeSID node information"; + leaf prefix-address { + type inet:ipv4-address; + description + "Node prefix address"; + } + leaf name { + type string; + description + "Node name"; + } + leaf role { + type Pce-treesid-role; + description + "Node role"; + } + leaf awaiting-report { + type boolean; + description + "Awaiting report"; + } + leaf stale { + type boolean; + description + "Stale node"; + } + list next-hop { + description + "Next hops"; + uses PCE-TREESID-HOP-BAG; + } + } + + grouping PCE-TREESID-BAG { + description + "TreeSID information"; + container attribute-info { + description + "TreeSID attributes"; + uses PCE-LSPA-INFO; + } + leaf name-xr { + type string; + description + "Name of the TreeSID"; + } + leaf metric-type { + type uint8; + description + "Metric type of the TreeSID"; + } + leaf error { + type string; + description + "Last path computation error"; + } + leaf label { + type uint32; + description + "SID of the TreeSID"; + } + leaf source-address { + type inet:ipv4-address; + description + "Address of the source node"; + } + leaf pcc-address { + type inet:ipv4-address; + description + "PCC Address of the source node"; + } + leaf operational-state { + type boolean; + description + "Operational state"; + } + leaf administrative-state { + type boolean; + description + "Administrative state"; + } + leaf lfa-protected { + type boolean; + description + "LFA Protection enabled?"; + } + leaf from-checkpoint { + type boolean; + description + "Created from checkpoint database?"; + } + leaf pcc-initiated { + type boolean; + description + "Initiated by PCC?"; + } + leaf state { + type Pce-treesid-state; + description + "State of the TreeSID (ie, pending operation)"; + } + leaf uptime { + type uint32; + units "second"; + description + "Uptime of the tunnel in seconds"; + } + leaf transition-count { + type uint32; + description + "Number of transitions between operational + up/down"; + } + leaf tree-id-xr { + type uint32; + description + "TreeSID Tree-ID"; + } + leaf-list destination-address { + type inet:ipv4-address; + description + "List of destination addresses"; + } + list nodes { + description + "List of nodes associated with this TreeSID"; + uses PCE-TREESID-NODE-BAG; + } + list event { + description + "Events"; + uses PCE-EVENT-INFO; + } + } + + grouping PCE-SIBLING-CONN-BAG { + description + "PCE sibling connection information"; + container address { + description + "Address of sibling"; + uses XTC-IP-ADDR-TYPE; + } + leaf connected { + type boolean; + description + "Flag indicating the connection status"; + } + leaf packet-read-size { + type uint32; + description + "Input buffer data size"; + } + leaf packet-write { + type uint32; + description + "Packets in output buffer"; + } + } + + grouping PCE-SYNCED-LSP-DISJOINTNESS-BAG { + description + "PCE disjointness bag"; + container association-information { + description + "Association information"; + uses PCE-ASSO-INFO; + } + leaf fallback { + type boolean; + description + "Fallback flag"; + } + } + + grouping PCE-AFFINITY-BAG { + description + "PCE affinity bag"; + leaf exclude-any { + type uint32; + description + "Exclude any"; + } + leaf include-any { + type uint32; + description + "Include any"; + } + leaf include-all { + type uint32; + description + "Include all"; + } + } + + grouping PCE-SIBLING-SYNCED-LSP-BAG { + description + "PCE sibling synced LSP data"; + container actual-pcc-address { + description + "Actual address of PCC peer where the PCInitiate + was sent"; + uses XTC-IP-ADDR-TYPE; + } + container requested-pcc-address { + description + "Requested address of PCC peer used by the + creator of LSP"; + uses XTC-IP-ADDR-TYPE; + } + container affinity { + description + "Affinity"; + uses PCE-AFFINITY-BAG; + } + container disjointness { + description + "Disjointness"; + uses PCE-SYNCED-LSP-DISJOINTNESS-BAG; + } + leaf lsp-name-xr { + type string; + description + "Name of the LSP"; + } + leaf remote-ls-pdata { + type boolean; + description + "Flag to indicate whether this is remote lsp data + or a local copy"; + } + leaf protected { + type boolean; + description + "Flag to indicate if protected path is required"; + } + leaf allow-xtc-reoptimization { + type boolean; + description + "Flag to indicate if reoptimization is allowed"; + } + leaf binding-sid { + type uint32; + description + "Binding sid"; + } + } + + grouping PCE-POLICY-CPATH-BAG { + description + "PCE policy candidate-path"; + leaf name { + type string; + description + "Name of the candidate-path"; + } + leaf plsp-id { + type uint32; + description + "PLSP-ID pf tje candidate-path"; + } + leaf active-flag { + type boolean; + description + "Flag to mention if the candidate-path is + currently active"; + } + } + + grouping PCE-POLICY-BAG { + description + "PCE policy"; + container pcc-address-xr { + description + "Path computation client address"; + uses XTC-IP-ADDR-TYPE; + } + container end-point { + description + "End-point of the policy"; + uses XTC-IP-ADDR-TYPE; + } + leaf interface-name { + type string; + description + "Name of the interface"; + } + leaf color { + type uint32; + description + "Color of the policy"; + } + list candidate-path { + description + "Array of candidate-paths"; + uses PCE-POLICY-CPATH-BAG; + } + } + + grouping PCE-SR-MPLS-PATH-BAG { + description + "PCE SR path information"; + container source { + description + "Source of path"; + uses PCE-IP-ADDR-TYPE; + } + container destination { + description + "Destination of path"; + uses PCE-IP-ADDR-TYPE; + } + leaf cost { + type uint64; + description + "Cost"; + } + list hops { + description + "SR hops"; + uses PCE-SR-HOP-TYPE; + } + } + + grouping PCE-SR-MPLS-PATH-LIST-BAG { + description + "PCE SR MPLS path list"; + leaf cspf-result { + type Pce-cspf-rc; + description + "Result of the computation"; + } + leaf iterations-done { + type uint32; + description + "Iterations performed of the Suurballe-Tarjan + algorithm"; + } + list output-path { + description + "Output SR MPLS paths"; + uses PCE-SR-MPLS-PATH-BAG; + } + } + + grouping PCE-PEER-AUTH-OPTION-BAG { + description + "PCE Peer Authentication Option information"; + container peer-address { + description + "Peer address"; + uses PCE-IP-ADDR-TYPE; + } + container authentication-option { + description + "Authentication Option information"; + uses PCE-AUTH-OPTION-BAG; + } + } + + grouping PCE-PFX-ENTRY { + description + "PCE prefix etnry"; + container ip { + description + "Prefix IP address"; + uses PCE-IP-ADDR-TYPE; + } + } + + grouping PCE-PFX-BAG { + description + "PCE Prefix Information"; + container node-protocol-identifier { + description + "Node protocol identifier"; + uses PCE-NODE-PID-BAG; + } + leaf node-identifier-xr { + type uint32; + description + "Node identifier"; + } + list address { + description + "Prefix address"; + uses PCE-PFX-ENTRY; + } + } + + grouping CMN-TIMER-INFO { + description + "Timer information"; + leaf running { + type boolean; + description + "Whether the timer is running"; + } + leaf remaining-seconds { + type int64; + units "second"; + description + "Number of remaining seconds"; + } + leaf remaining-nano-seconds { + type int64; + units "nanosecond"; + description + "Number of remaining nanoseconds"; + } + } + + grouping XTC-TOPO-READY-BAG { + description + "XTC Topology Readiness Information"; + container timer { + description + "Topology readiness timer"; + uses CMN-TIMER-INFO; + } + leaf ready { + type boolean; + description + "Topology readiness"; + } + leaf pcep-allowed { + type boolean; + description + "Whether PCEP is allowed"; + } + leaf ha-case { + type Cmn-ha-case; + description + "Last HA case"; + } + leaf timer-value { + type uint32; + description + "Topology ready timer value selected at start"; + } + } + + grouping PCE-TOPO-STATS-BAG { + description + "Statistics on topology update"; + leaf num-nodes-added { + type uint32; + description + "Number of nodes added"; + } + leaf num-nodes-deleted { + type uint32; + description + "Number of nodes deleted"; + } + leaf num-links-added { + type uint32; + description + "Number of links added"; + } + leaf num-links-deleted { + type uint32; + description + "Number of links deleted"; + } + leaf num-prefixes-added { + type uint32; + description + "Number of prefixes added"; + } + leaf num-prefixes-deleted { + type uint32; + description + "Number of prefixes deleted"; + } + } + + grouping PCE-NODE-SUMMARY-BAG { + description + "PCE Node Summary Information"; + container stats-topology-update { + description + "Statistics on topology update"; + uses PCE-TOPO-STATS-BAG; + } + container topology-ready-summary { + description + "Topology ready summary"; + uses XTC-TOPO-READY-BAG; + } + leaf nodes { + type uint32; + description + "Number of PCE nodes"; + } + leaf lookup-nodes { + type uint32; + description + "Number of lookup nodes"; + } + leaf prefixes { + type uint32; + description + "Number of prefixes"; + } + leaf prefix-sids { + type uint32; + description + "Number of total prefix SIDs"; + } + leaf regular-prefix-sids { + type uint32; + description + "Number of reguar prefix SIDs"; + } + leaf strict-prefix-sids { + type uint32; + description + "Number of strict prefix SIDs"; + } + leaf flex-algo-prefix-sids { + type uint32; + description + "Number of flex-algo prefix SIDs"; + } + leaf links { + type uint32; + description + "Number of links"; + } + leaf epe-links { + type uint32; + description + "Number of EPE links"; + } + leaf adjacency-sids { + type uint32; + description + "Number of total adjacency SIDs"; + } + leaf epesids { + type uint32; + description + "Number of total EPE SIDs"; + } + leaf protected-adjacency-sids { + type uint32; + description + "Number of protected adjacency SIDs"; + } + leaf un-protected-adjacency-sids { + type uint32; + description + "Number of unprotected adjacency SIDs"; + } + leaf topology-consistent { + type boolean; + description + "True if topology is consistent"; + } + } + + grouping SRV6-NODE-SID-BAG { + description + "SRv6 Node SID bag"; + container srv6sid { + description + "SRv6 node SID"; + uses SRV6-SID-BAG; + } + container node-id { + description + "Link-state node identifier"; + uses PCE-NODE-ID-BAG; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + } + + grouping PCE-IPV6-LINK-BAG { + description + "PCE IPv6 Link Information"; + container local-igp-information { + description + "Local node IGP information"; + uses PCE-IGP-INFO-BAG; + } + container remote-node-protocol-identifier { + description + "Remote node protocol identifier"; + uses PCE-NODE-PID-BAG; + } + container performance-metrics { + description + "Performance metrics"; + uses PCE-LINK-PM-METRICS; + } + leaf is-unnumbered { + type boolean; + description + "True if this is an IPv6 Unnumbered link"; + } + leaf local-interface-index { + type uint32; + description + "Non-zero if IsUnnumbered is True"; + } + leaf remote-interface-index { + type uint32; + description + "Non-zero if IsUnnumbered is True"; + } + leaf local-ipv6-address { + type inet:ipv6-address; + description + "Local IPv6 address"; + } + leaf remote-ipv6-address { + type inet:ipv6-address; + description + "Remote IPv6 address"; + } + leaf igp-metric { + type uint32; + description + "IGP Metric"; + } + leaf te-metric { + type uint32; + description + "TE Metric"; + } + leaf maximum-link-bandwidth { + type uint64; + description + "Max link bandwidth"; + } + leaf max-reservable-bandwidth { + type uint64; + description + "Max Reservable bandwidth"; + } + leaf administrative-groups { + type uint32; + description + "Link admin-groups"; + } + leaf flex-algo-asla-te-metric { + type uint32; + description + "Flex-algo specific Link TE metric"; + } + leaf-list srlgs { + type uint32; + description + "SRLG Values"; + } + leaf-list flex-algo-asla-administrative-group { + type uint32; + description + "Flex-algo specific Link Extended admin-groups"; + } + list adjacency-sid { + description + "Adjacency SIDs"; + uses PCE-SID-BAG; + } + list srv6-adjacency-sid { + description + "SRv6 Adjacecny micro-SIDs"; + uses SRV6-SID-BAG; + } + list msd { + description + "Advertised MSDs"; + uses TOPO-MSD-BAG; + } + } + + grouping TOPO-MSD-BAG { + description + "Topology MSD"; + leaf subtype { + type Topo-msd-subtype; + description + "Subtype of the MSD as defined by IANA"; + } + leaf value { + type uint8; + description + "MSD value"; + } + } + + grouping PCE-LINK-PM-METRICS { + description + "Link performance metric information"; + leaf unidirectional-minimum-delay-microseconds { + type uint32; + units "microsecond"; + description + "Min delay in microseconds"; + } + } + + grouping PCE-IPV4-LINK-BAG { + description + "PCE IPv4 Link Information"; + container local-igp-information { + description + "Local node IGP information"; + uses PCE-IGP-INFO-BAG; + } + container remote-node-protocol-identifier { + description + "Remote node protocol identifier"; + uses PCE-NODE-PID-BAG; + } + container performance-metrics { + description + "Performance metrics"; + uses PCE-LINK-PM-METRICS; + } + leaf is-unnumbered { + type boolean; + description + "True if this is an IPv4 Unnumbered link"; + } + leaf local-interface-index { + type uint32; + description + "Non-zero if IsUnnumbered is True"; + } + leaf remote-interface-index { + type uint32; + description + "Non-zero if IsUnnumbered is True"; + } + leaf local-ipv4-address { + type inet:ipv4-address; + description + "Local IPv4 address"; + } + leaf remote-ipv4-address { + type inet:ipv4-address; + description + "Remote IPv4 address"; + } + leaf igp-metric { + type uint32; + description + "IGP Metric"; + } + leaf te-metric { + type uint32; + description + "TE Metric"; + } + leaf maximum-link-bandwidth { + type uint64; + description + "Max link bandwidth"; + } + leaf max-reservable-bandwidth { + type uint64; + description + "Max Reservable bandwidth"; + } + leaf administrative-groups { + type uint32; + description + "Link admin-groups"; + } + leaf flex-algo-asla-te-metric { + type uint32; + description + "Flex-algo specific Link TE metric"; + } + leaf-list flex-algo-asla-administrative-group { + type uint32; + description + "Flex-algo specific Link Extended admin-groups"; + } + leaf-list srlgs { + type uint32; + description + "SRLG Values"; + } + list adjacency-sid { + description + "Adjacency SIDs"; + uses PCE-SID-BAG; + } + list msd { + description + "Advertised MSDs"; + uses TOPO-MSD-BAG; + } + } + + grouping PCE-SID-BAG { + description + "PCE SID bags"; + container sid-prefix { + description + "Prefix"; + uses PCE-IP-ADDR-TYPE; + } + leaf sid-type { + type Sid; + description + "SID Type"; + } + leaf mpls-label { + type uint32; + description + "MPLS Label"; + } + leaf algorithm { + type uint32; + description + "Prefix SID Algorithm"; + } + leaf xflag { + type boolean; + description + "X Flag"; + } + leaf rflag { + type boolean; + description + "R Flag"; + } + leaf nflag { + type boolean; + description + "N Flag"; + } + leaf pflag { + type boolean; + description + "P Flag"; + } + leaf eflag { + type boolean; + description + "E Flag"; + } + leaf vflag { + type boolean; + description + "V Flag"; + } + leaf lflag { + type boolean; + description + "L Flag"; + } + leaf mflag { + type boolean; + description + "M Flag"; + } + } + + grouping PCE-PREFIX-BAG { + description + "PCE Prefix bag"; + container pfx-sid { + description + "Prefix SID"; + uses PCE-SID-BAG; + } + container node-id { + description + "Link-state node identifier"; + uses PCE-NODE-ID-BAG; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + } + + grouping PCE-SRLB-INFO-BAG { + description + "PCE SRLB information bag"; + container node-id { + description + "Link-state node identifier"; + uses PCE-NODE-ID-BAG; + } + leaf start { + type uint32; + description + "SRLB start"; + } + leaf size { + type uint32; + description + "SRLB size"; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + } + + grouping PCE-FA-DEFINITION { + description + "Flex-algo definition"; + leaf number { + type uint8; + description + "Flex-Algo number"; + } + leaf local-priority { + type uint8; + description + "Local Priority"; + } + leaf metric-type { + type Cmn-metric; + description + "Metric Type"; + } + leaf-list aff { + type uint32; + description + "Affinity exclude any"; + } + leaf-list affinity-include-any { + type uint32; + description + "Affinity include any"; + } + leaf-list affinity-include-all { + type uint32; + description + "Affinity include all"; + } + } + + grouping PCE-SR-ALGO-BAG { + description + "PCE SR Algo Information"; + container node-id { + description + "Link-state node identifier"; + uses PCE-NODE-ID-BAG; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + leaf-list algo-participation { + type uint8; + description + "Algos participated by this node"; + } + list flex-algo-advertised-definition { + description + "Flex-algo definition advertised"; + uses PCE-FA-DEFINITION; + } + } + + grouping PCE-SRGB-INFO-BAG { + description + "PCE SRGB information bag"; + container node-id { + description + "Link-state node identifier"; + uses PCE-NODE-ID-BAG; + } + leaf start { + type uint32; + description + "SRGB start"; + } + leaf size { + type uint32; + description + "SRGB size"; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + } + + grouping PCE-IGP-INFO-BGP { + description + "PCE BGP Information"; + leaf router-id { + type Pce-ipv4-address; + description + "BGP router ID"; + } + leaf confed-asn { + type uint32; + description + "Confederation ASN"; + } + } + + grouping PCE-IGP-INFO-OSPF { + description + "PCE OSPF Information"; + leaf router-id { + type Pce-ipv4-address; + description + "OSPF router ID"; + } + leaf area { + type uint32; + description + "OSPF area"; + } + } + + grouping PCE-IGP-INFO-ISIS { + description + "PCE ISIS Information"; + leaf system-id { + type string; + description + "ISIS system ID"; + } + leaf level { + type uint32; + description + "ISIS level"; + } + leaf area { + type string; + description + "ISIS area"; + } + } + + grouping PCE-IGP-INFO-TYPE { + description + "PCE IGP INFO TYPE"; + container isis { + when "../igp-id = 'isis'" { + description + "../IGP_ID = 'ISIS'"; + } + description + "ISIS information"; + uses PCE-IGP-INFO-ISIS; + } + container ospf { + when "../igp-id = 'ospf'" { + description + "../IGP_ID = 'OSPF'"; + } + description + "OSPF information"; + uses PCE-IGP-INFO-OSPF; + } + container bgp { + when "../igp-id = 'bgp'" { + description + "../IGP_ID = 'BGP'"; + } + description + "BGP information"; + uses PCE-IGP-INFO-BGP; + } + leaf igp-id { + type Pce-igp-info-id; + description + "IGP ID"; + } + } + + grouping PCE-NODE-ID-BAG { + description + "PCE Node ID information"; + container igp { + description + "IGP-specific information"; + uses PCE-IGP-INFO-TYPE; + } + leaf autonomous-system-number { + type uint32; + description + "Autonomous System Number"; + } + leaf ls-identifier { + type uint32; + description + "Link-State identifier"; + } + } + + grouping PCE-IGP-INFO-BAG { + description + "PCE IGP information bag"; + container node-id { + description + "Link-state node identifier"; + uses PCE-NODE-ID-BAG; + } + leaf domain-identifier { + type uint64; + description + "Domain identifier"; + } + } + + grouping PCE-NODE-PID-BAG { + description + "PCE Node Protocol Identifier Information"; + leaf node-name { + type string; + description + "Node Name"; + } + leaf ipv4-bgp-router-id-set { + type boolean; + description + "True if IPv4 BGP router ID is set"; + } + leaf ipv4-bgp-router-id { + type inet:ipv4-address; + description + "IPv4 TE router ID"; + } + leaf ipv4te-router-id-set { + type boolean; + description + "True if IPv4 TE router ID is set"; + } + leaf ipv4te-router-id { + type inet:ipv4-address; + description + "IPv4 BGP router ID"; + } + leaf ipv6-router-id-set { + type boolean; + description + "True if the IPv6 router ID is set"; + } + leaf ipv6-router-id { + type inet:ipv6-address; + description + "IPv6 Router ID"; + } + list igp-information { + description + "IGP information"; + uses PCE-IGP-INFO-BAG; + } + list srgb-information { + description + "SRGB information"; + uses PCE-SRGB-INFO-BAG; + } + list sr-algo { + description + "SR Algo information"; + uses PCE-SR-ALGO-BAG; + } + list srlb-information { + description + "SRLB information"; + uses PCE-SRLB-INFO-BAG; + } + } + + grouping PCE-XTC-NODE-BAG { + description + "PCE XTC Node Information"; + container node-protocol-identifier { + description + "Node protocol identifier"; + uses PCE-NODE-PID-BAG; + } + leaf node-identifier-xr { + type uint32; + description + "Node identifier"; + } + leaf overload { + type boolean; + description + "Node Overload Bit"; + } + list prefixe { + description + "Prefixes"; + uses PCE-PREFIX-BAG; + } + list ipv4-link { + description + "IPv4 Link information"; + uses PCE-IPV4-LINK-BAG; + } + list ipv6-link { + description + "IPv6 Link information"; + uses PCE-IPV6-LINK-BAG; + } + list srv6-node-sid { + description + "SRv6 Node micro-SIDs"; + uses SRV6-NODE-SID-BAG; + } + } + + grouping PCE-VIRTUAL-LINK-BAG { + description + "PCE Virtual Link Info"; + leaf local-pce-id { + type uint32; + description + "Virtual link local PCE ID"; + } + leaf remote-pce-id { + type uint32; + description + "Virtual link remote PCE ID"; + } + leaf local-ipv4-address { + type inet:ipv4-address; + description + "Virtual link local IPv4 address"; + } + leaf remote-ipv4-address { + type inet:ipv4-address; + description + "Virtual link remote IPv4 address"; + } + leaf metric { + type uint32; + description + "Virtual link metric"; + } + leaf label { + type uint32; + description + "Virtual link SID Label"; + } + } + + grouping PCE-REMOTE-PFX-BAG { + description + "PCE Remote Prefix Information"; + container ip { + description + "Remote prefix IP address"; + uses PCE-IP-ADDR-TYPE; + } + leaf virtual-node-pce-id { + type uint32; + description + "Virtual Node PCE ID"; + } + list virtual-link { + description + "virtual links"; + uses PCE-VIRTUAL-LINK-BAG; + } + } + + grouping PCE-PEER-BAG { + description + "Peer information"; + container peer-address-xr { + description + "Peer address"; + uses PCE-IP-ADDR-TYPE; + } + container brief-pcep-information { + description + "PCE protocol information"; + uses PCE-PCEP-BAG; + } + leaf peer-protocol { + type Pce-proto; + description + "Protocol between PCE and peer"; + } + } + + grouping PCE-AUTH-OPTION-BAG { + description + "PCE Authentication Option information"; + leaf authentication-key-type { + type Cmn-auth; + description + "Authentication Key Type"; + } + leaf password { + type string; + description + "Authentication Password"; + } + leaf authentication-option-include-options-enable { + type boolean; + description + "Include Option Enable"; + } + leaf authentication-option-accept-mismatch-enable { + type boolean; + description + "Accept Mismatch Enable"; + } + } + + grouping PCE-PCEP-ERROR-BAG { + description + "PCEP Error information"; + leaf pc-error-type { + type uint8; + description + "PCEP Error type"; + } + leaf pc-error-value { + type uint8; + description + "PCEP Error Value"; + } + } + + grouping PCE-PCEP-BAG { + description + "PCEP information"; + leaf pcep-state { + type Pcep-state; + description + "PCEP State"; + } + leaf stateful { + type boolean; + description + "Stateful"; + } + leaf capability-update { + type boolean; + description + "Update capability"; + } + leaf capability-instantiate { + type boolean; + description + "Instantiation capability"; + } + leaf capability-segment-routing { + type boolean; + description + "Segment Routing capability"; + } + leaf capability-triggered-sync { + type boolean; + description + "Triggered Synchronization capability"; + } + leaf capability-db-version { + type boolean; + description + "DB version capability"; + } + leaf capability-delta-sync { + type boolean; + description + "Delta Synchronization capability"; + } + } + + grouping PCE-PCEP-DETAIL-BAG { + description + "Detailed PCE protocol information"; + container brief-pcep-information { + description + "Brief PCE protocol information"; + uses PCE-PCEP-BAG; + } + container last-error-rx { + description + "Last PCError received"; + uses PCE-PCEP-ERROR-BAG; + } + container last-error-tx { + description + "Last PCError sent"; + uses PCE-PCEP-ERROR-BAG; + } + container pce-authentication { + description + "PCE Peer Authentication"; + uses PCE-AUTH-OPTION-BAG; + } + leaf error { + type string; + description + "Error (for display only)"; + } + leaf speaker-id { + type string; + description + "Speaker Entity ID"; + } + leaf pcep-up-time { + type uint32; + description + "PCEP Up Time"; + } + leaf keepalives { + type uint32; + description + "Keepalive count"; + } + leaf md5-enabled { + type boolean; + description + "MD5 Authentication Enabled"; + } + leaf authentication-option-keychain-enabled { + type boolean; + description + "AO Keychain based Authentication Enabled"; + } + leaf negotiated-local-keepalive { + type uint32; + description + "Negotiated KA"; + } + leaf negotiated-remote-keepalive { + type uint32; + description + "Negotiated KA"; + } + leaf negotiated-dead-time { + type uint32; + description + "Negotiated DT"; + } + leaf pce-request-rx { + type uint32; + description + "PCEReq Rx"; + } + leaf pce-request-tx { + type uint32; + description + "PCEReq Tx"; + } + leaf pce-reply-rx { + type uint32; + description + "PCERep Rx"; + } + leaf pce-reply-tx { + type uint32; + description + "PCERep Tx"; + } + leaf pce-error-rx { + type uint32; + description + "PCEErr Rx"; + } + leaf pce-error-tx { + type uint32; + description + "PCEErr Tx"; + } + leaf pce-open-tx { + type uint32; + description + "PCEOpen Tx"; + } + leaf pce-open-rx { + type uint32; + description + "PCEOpen Rx"; + } + leaf pce-report-rx { + type uint32; + description + "PCERpt Rx"; + } + leaf pce-report-tx { + type uint32; + description + "PCERpt Tx"; + } + leaf pce-update-rx { + type uint32; + description + "PCEUpd Rx"; + } + leaf pce-update-tx { + type uint32; + description + "PCEUpd Tx"; + } + leaf pce-initiate-rx { + type uint32; + description + "PCEInit Rx"; + } + leaf pce-initiate-tx { + type uint32; + description + "PCEInit Tx"; + } + leaf pce-keepalive-tx { + type uint64; + description + "PCE Keepalive Tx"; + } + leaf pce-keepalive-rx { + type uint64; + description + "PCE Keepalive Rx"; + } + leaf local-session-id { + type uint8; + description + "Local PCEP session ID"; + } + leaf remote-session-id { + type uint8; + description + "Remote PCEP session ID"; + } + leaf minimum-keepalive-interval { + type uint8; + description + "Minimum keepalive interval for the peer"; + } + leaf maximum-dead-interval { + type uint8; + description + "Maximum dead interval for the peer"; + } + leaf max-sid-depth { + type uint8; + description + "Maximum number of labels the peer can impose"; + } + } + + grouping PCE-PEER-DETAIL-BAG { + description + "Detailed PCEP peer information"; + container peer-address-xr { + description + "Peer address"; + uses PCE-IP-ADDR-TYPE; + } + container detail-pcep-information { + description + "Detailed PCE protocol information"; + uses PCE-PCEP-DETAIL-BAG; + } + leaf peer-protocol { + type Pce-proto; + description + "Protocol between PCE and peer"; + } + leaf max-sid-depth { + type uint32; + description + "Maximum SID Depth"; + } + } + + grouping PCE-EVENT-INFO { + description + "PCE Event information"; + leaf event-id { + type uint32; + description + "Event ID in range 1 - 0xFFFFFFFF. 0 is invalid."; + } + leaf event-message { + type string; + description + "Event message"; + } + leaf time-stamp { + type uint64; + description + "Event time, relative to Jan 1, 1970"; + } + } + + grouping PCE-EVENT-BAG { + description + "Private LSP information"; + list event-buffer { + description + "LSP Event buffer"; + uses PCE-EVENT-INFO; + } + } + + grouping PCEP-SRPOLICY-CPATH-PREFERENCE-BAG { + description + "PCEP SR Policy CPATH-PREFERENCE"; + leaf preference { + type uint32; + description + "Preference"; + } + } + + grouping PCEP-SRPOLICY-CPATH-ID-BAG { + description + "PCEP SR Policy CPATH-ID"; + leaf originator-address { + type inet:ipv6-address; + description + "Originator IPv6 address"; + } + leaf originator-asn { + type uint32; + description + "Originator AS number"; + } + leaf discriminator { + type uint32; + description + "Discriminator"; + } + leaf protocol-origin { + type uint8; + description + "Protocol origin"; + } + } + + grouping PCEP-SRPOLICY-POL-NAME-BAG { + description + "PCEP SR Policy Name"; + leaf policy-name { + type string; + description + "Policy name"; + } + } + + grouping PCEP-SRPOLICY-POL-ID-BAG { + description + "PCEP SR Policy POL-ID"; + container endpoint { + description + "Policy endpoint"; + uses XTC-IP-ADDR-TYPE; + } + leaf color { + type uint32; + description + "Policy color"; + } + } + + grouping XTC-IP-ADDR-TYPE { + description + "XTC IP ADDR TYPE"; + leaf af-name { + type Xtc-af-id; + description + "AFName"; + } + leaf ipv4 { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type Xtc-ipv4-address; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Xtc-ipv6-address; + description + "IPv6 address type"; + } + } + + grouping PCEP-SRPAG-BAG { + description + "PCEP SR Policy Association Group"; + container srpag-asso-source { + description + "Association Source"; + uses XTC-IP-ADDR-TYPE; + } + container policy-id-info { + description + "POL ID"; + uses PCEP-SRPOLICY-POL-ID-BAG; + } + container policy-name-info { + description + "POL Name"; + uses PCEP-SRPOLICY-POL-NAME-BAG; + } + container candidate-path-id-info { + description + "CPATH ID"; + uses PCEP-SRPOLICY-CPATH-ID-BAG; + } + container candidate-path-preference { + description + "CPATH PREFERENCE"; + uses PCEP-SRPOLICY-CPATH-PREFERENCE-BAG; + } + leaf srpag-asso-id { + type uint16; + description + "Association ID"; + } + } + + grouping PCE-LSPA-INFO { + description + "PCE LSP attribute information"; + leaf affinity-exclude-any { + type uint32; + description + "Affinity exclude any"; + } + leaf affinity-include-any { + type uint32; + description + "Affinity include any"; + } + leaf affinity-include-all { + type uint32; + description + "Affinity include all"; + } + leaf setup-priority { + type uint8; + description + "Setup Priority"; + } + leaf hold-priority { + type uint8; + description + "Hold Priority"; + } + leaf local-protection { + type boolean; + description + "True, if local protection is desired"; + } + } + + grouping PCE-ASSO-INFO { + description + "PCE LSP association information"; + container association-source { + description + "Association Source"; + uses PCE-IP-ADDR-TYPE; + } + leaf association-type { + type uint32; + description + "Association Type"; + } + leaf association-id { + type uint32; + description + "Association ID"; + } + } + + grouping PCE-LSP-RSVP-ERROR-BAG { + description + "RSVP error information"; + leaf node-address { + type inet:ipv4-address; + description + "RSVP error node address"; + } + leaf error-flags { + type uint8; + description + "RSVP error flags"; + } + leaf error-code { + type uint8; + description + "RSVP error code"; + } + leaf error-value { + type uint16; + description + "RSVP error value"; + } + } + + grouping PCE-PCEP-INFO { + description + "PCEP LSP information"; + container rsvp-error { + description + "RSVP error info"; + uses PCE-LSP-RSVP-ERROR-BAG; + } + leaf pcepid { + type uint32; + description + "PCE protocol identifier"; + } + leaf pcep-flag-d { + type boolean; + description + "PCEP LSP delegation flag"; + } + leaf pcep-flag-s { + type boolean; + description + "PCEP LSP state-sync flag"; + } + leaf pcep-flag-r { + type boolean; + description + "PCEP LSP remove flag"; + } + leaf pcep-flag-a { + type boolean; + description + "PCEP LSP admin flag"; + } + leaf pcep-flag-o { + type uint8; + description + "PCEP LSP operation flag"; + } + leaf pcep-flag-c { + type uint8; + description + "PCEP LSP initiated flag"; + } + } + + grouping PCE-RRO-INFO { + description + "RRO information"; + container sr-rro { + description + "Segment Routing RRO info"; + uses PCE-SR-HOP-TYPE; + } + leaf rro-type { + type Pce-rro; + description + "RRO Type"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address of RRO"; + } + leaf mpls-label { + type uint32; + description + "MPLS label of RRO"; + } + leaf flags { + type uint8; + description + "RRO Flags"; + } + } + + grouping SRV6-SID-BAG { + description + "PCE SRv6 SID bag"; + container endpoint-function { + description + "Endpoint behavior of the SRv6SID"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container structure { + description + "The SRv6 strucutre of the SID"; + uses SRV6-SID-STRUCTURE-BAG; + } + leaf srv6sid { + type inet:ipv6-address; + description + "Full SRv6 SID"; + } + leaf type { + type uint8; + description + "SRv6 SID Type"; + } + leaf flags { + type uint8; + description + "SRv6 SID flags"; + } + leaf algorithm { + type uint8; + description + "Flex-Algo value used for this SRv6SID"; + } + leaf weight { + type uint8; + description + "Weight"; + } + } + + grouping PCE-SR-HOP-TYPE { + description + "SR hop type"; + container local-addr { + description + "Local Address"; + uses PCE-IP-ADDR-TYPE; + } + container remote-addr { + description + "Remote Address"; + uses PCE-IP-ADDR-TYPE; + } + container srv6sid { + description + "SRv6 SID"; + uses SRV6-SID-BAG; + } + leaf sid-type { + type Pce-sr-sid; + description + "SID type"; + } + leaf mpls-label { + type uint32; + description + "Label"; + } + leaf local-interface-index { + type uint32; + description + "SNMP index of the upstream interface of this hop"; + } + leaf remote-interface-index { + type uint32; + description + "SNMP index of the downstream interface of this + hop"; + } + } + + grouping PCE-RSVP-HOP-TYPE { + description + "RSVP hop type"; + leaf hop-address { + type inet:ipv4-address; + description + "RSVP hop address"; + } + leaf loose { + type boolean; + description + "Loose hop"; + } + } + + grouping PCE-ERO-INFO { + description + "ERO information"; + leaf reported-metric-type { + type uint32; + description + "Reported Metric Type"; + } + leaf reported-metric-value { + type uint32; + description + "Reported Metric Value"; + } + leaf computed-metric-type { + type uint32; + description + "Computed Metric Type"; + } + leaf computed-metric-value { + type uint32; + description + "Computed Metric Value"; + } + leaf computed-hop-list-time { + type uint32; + description + "Computed Hop List Time"; + } + list reported-rsvp-path { + description + "Reported RSVP path"; + uses PCE-RSVP-HOP-TYPE; + } + list reported-sr-path { + description + "Reported SR path"; + uses PCE-SR-HOP-TYPE; + } + list computed-rsvp-path { + description + "Computed RSVP path"; + uses PCE-RSVP-HOP-TYPE; + } + list computed-sr-path { + description + "Computed SR path"; + uses PCE-SR-HOP-TYPE; + } + } + + grouping PCE-LSP-DETAIL-INFO { + description + "Detailed LSP information"; + container brief-lsp-information { + description + "Brief LSP information"; + uses PCE-LSP-INFO; + } + container er-os { + description + "Paths"; + uses PCE-ERO-INFO; + } + container lsppcep-information { + description + "PCEP related LSP information"; + uses PCE-PCEP-INFO; + } + container lsp-association-info { + description + "LSP association information"; + uses PCE-ASSO-INFO; + } + container lsp-attributes { + description + "LSP attributes"; + uses PCE-LSPA-INFO; + } + container sub-delegated-pce { + description + "Sub delegated PCE"; + uses PCE-IP-ADDR-TYPE; + } + container state-sync-pce { + description + "State-sync PCE"; + uses PCE-IP-ADDR-TYPE; + } + container reporting-pcc-address { + description + "Reporting PCC address"; + uses PCE-IP-ADDR-TYPE; + } + container srpag-info { + description + "SR Policy Association Group"; + uses PCEP-SRPAG-BAG; + } + leaf signaled-bandwidth-specified { + type boolean; + description + "True if router notifies signal bandwidth"; + } + leaf signaled-bandwidth { + type uint64; + description + "Signaled Bandwidth"; + } + leaf actual-bandwidth-specified { + type boolean; + description + "True if router notifies actual bandwidth"; + } + leaf actual-bandwidth { + type uint64; + description + "Actual bandwidth utilized in the data-plane"; + } + leaf lsp-role { + type uint32; + description + "LSP Role"; + } + leaf computing-pce { + type uint32; + description + "Computing PCE"; + } + leaf preference { + type uint32; + description + "Preference"; + } + leaf protection-type { + type uint32; + description + "Protection Type"; + } + leaf invalidated-traffic-dropped { + type boolean; + description + "Invalidated Traffic Dropped"; + } + leaf-list srlg-info { + type uint32; + description + "List of SLRGs used by LSP"; + } + list rro { + description + "RRO"; + uses PCE-RRO-INFO; + } + } + + grouping PCE-TUN-DETAIL-BAG { + description + "Tunnel detail information"; + container pcc-address { + description + "PCC address"; + uses PCE-IP-ADDR-TYPE; + } + container private-lsp-information { + description + "Private LSP information"; + uses PCE-EVENT-BAG; + } + leaf tunnel-name-xr { + type string; + description + "Tunnel Name"; + } + leaf xtc-controlled { + type boolean; + description + "Allow XTC reoptimizations"; + } + leaf color { + type uint32; + description + "Color"; + } + leaf interface-name { + type string; + description + "Interface name"; + } + leaf profile-id { + type uint16; + description + "Profile ID"; + } + leaf is-zombie { + type boolean; + description + "PCC has disconnected, but tunnel still kept + around"; + } + list detail-lsp-information { + description + "Detail LSP information"; + uses PCE-LSP-DETAIL-INFO; + } + } + + grouping PCE-LSP-COUNTS-BAG { + description + "Number of LSPs"; + leaf all-ls-ps { + type uint32; + description + "Number of all LSPs"; + } + leaf up-ls-ps { + type uint32; + description + "Number of operational LSPs"; + } + leaf admin-up-ls-ps { + type uint32; + description + "Number of administratively up LSPs"; + } + leaf sr-ls-ps { + type uint32; + description + "Number of LSPs with Segment routing setup type"; + } + leaf rsvp-ls-ps { + type uint32; + description + "Number of LSPs with RSVP setup type"; + } + } + + grouping PCE-LSP-PER-PEER-SUMMARY-BAG { + description + "Number of LSPs for specific peer"; + container lsp-summary { + description + "Number of LSPs for specific peer"; + uses PCE-LSP-COUNTS-BAG; + } + container peer-address { + description + "Peer address"; + uses PCE-IP-ADDR-TYPE; + } + } + + grouping PCE-LSP-SUMMARY-BAG { + description + "PCE LSP summary information"; + container all-ls-ps { + description + "Summary for all peers"; + uses PCE-LSP-COUNTS-BAG; + } + list peer-ls-ps-info { + description + "Number of LSPs for specific peer"; + uses PCE-LSP-PER-PEER-SUMMARY-BAG; + } + } + + grouping SRV6-SID-STRUCTURE-BAG { + description + "SRv6 MicroSID Structure"; + leaf locator-block-length { + type uint8; + description + "Block Length"; + } + leaf locator-node-length { + type uint8; + description + "Node Length"; + } + leaf function-length { + type uint8; + description + "Function Length"; + } + leaf argument-length { + type uint8; + description + "Argument Length"; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping PCE-SRV6-BSID-INFO { + description + "SRv6 Binding SID Info"; + container binding-sid-prefix { + description + "SRv6 Binding SID prefix"; + uses PCE-IP-ADDR-TYPE; + } + container binding-sid-behavior { + description + "Binding SID behavior"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container structure { + description + "The SRv6 strucutre of the SID"; + uses SRV6-SID-STRUCTURE-BAG; + } + } + + grouping PCE-LSP-INFO { + description + "LSP common information"; + container source-address { + description + "Source address"; + uses PCE-IP-ADDR-TYPE; + } + container destination-address { + description + "Destination address"; + uses PCE-IP-ADDR-TYPE; + } + container srv6-binding-sid { + description + "SRv6 Binding SID"; + uses PCE-SRV6-BSID-INFO; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf lspid { + type uint32; + description + "LSP ID"; + } + leaf binding-sid { + type uint32; + description + "Binding SID"; + } + leaf lsp-setup-type { + type Lsp-setup; + description + "LSP Setup Type"; + } + leaf operational-state { + type Pcep-lsp-state; + description + "Operational state"; + } + leaf administrative-state { + type Lsp-state; + description + "Administrative state"; + } + leaf msd { + type uint32; + description + "Maximum SID Depth"; + } + leaf absolute-margin { + type uint32; + description + "Absolute Margin"; + } + leaf relative-margin { + type uint32; + description + "Relative Margin"; + } + leaf igp-bound { + type uint32; + description + "IGP Metric Bound"; + } + leaf te-bound { + type uint32; + description + "TE Metric Bound"; + } + leaf latency-bound { + type uint32; + description + "Latency Metric Bound"; + } + leaf hop-count-bound { + type uint32; + description + "HopCount Metric Bound"; + } + leaf anycast-sid-inclusion { + type uint32; + description + "Anycast SID Inclusion"; + } + } + + grouping PCE-IP-ADDR-TYPE { + description + "PCE IP ADDR TYPE"; + leaf af-name { + type Pce-af-id; + description + "AFName"; + } + leaf ipv4 { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type Pce-ipv4-address; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Pce-ipv6-address; + description + "IPv6 address type"; + } + } + + grouping PCE-TUN-BAG { + description + "Tunnel information"; + container pcc-address { + description + "PCC address"; + uses PCE-IP-ADDR-TYPE; + } + leaf tunnel-name-xr { + type string; + description + "Tunnel Name"; + } + list brief-lsp-information { + description + "Brief LSP information"; + uses PCE-LSP-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper.yang new file mode 100644 index 000000000..79c2a6320 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-infra-xtc-oper.yang @@ -0,0 +1,1096 @@ +module Cisco-IOS-XR-infra-xtc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-oper"; + prefix infra-xtc-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-infra-xtc-oper-sub1 { + revision-date 2021-09-28; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR infra-xtc package operational data. + + This module contains definitions + for the following management objects: + pce-lsp-data: PCE LSP's data + pce-peer: PCE peer data + pce-topology: PCE topology data + pce: PCE operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-28 { + description + "Added protection type set in candidate path constraints."; + semver:module-version "4.0.0"; + } + revision 2021-04-22 { + description + "Added TE metric field for Flex-algo ASLA. + 2021-04-08 + Change protection type from integer to enum. + 2021-03-31 + Added new enumeration Api-peer-stats-info-oper. Changed type of type in API-PEER-STATS-INFO to use Api-peer-stats-info-oper. This is a non backward compatible change. + 2021-03-04 + Added MSD list per topology link. Added SRLB list per topology node. + 2021-01-29 + Updated SRv6 Endpoint function from int to enum. + 2020-09-16 + Adding operational nodes for new features path invalidation drop protected and unprotected path Operational nodes for PCE segment-routing traffic-eng policy + 2020-09-01 + Added uB6SID field in the LSP object + 2020-08-18 + Added SRv6 LSP details fields in the LSP object + 2020-07-13 + Added NodeID fields in the uN SID object in the IPv6 topology. + 2020-04-20 + Added fields in the PCE IPv6 link object."; + semver:module-version "3.0.0"; + } + revision 2020-03-17 { + description + "Add flex-algo related operational nodes. Updated description of statistics-nodes. Add SR-PAG related operational nodes. Add PCE authentication related operational nodes. + 2020-02-03 + Added TCP AuthenticationOption related operational model. Implemented show pce authentication. Added classes AuthenticationKeyTable and AuthenticationKey. + 2019-11-07 + Adding leaf preference, leaf interface-name, and leaf profile-id to support a new HTTP API bindpoint for sibling PCEs. + 2019-10-09 + Adding enum sr-flex-algo-prefix-sid, enum pce-cspf-flex-algo-definition-mistmatch, leaf flex-algo-prefix-sids, list sr-flex-algo, and container flex-algos to support Flex-algo info."; + semver:module-version "2.0.0"; + } + revision 2019-10-02 { + description + "Added REST peer statistic information. + 2019-09-27 + Implement new show pce lsp and show pce initiated tunnels commands for Optima"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-08-24 { + description + "Added C flag to pcep flags."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-05-31 { + description + "Revision description string."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pce-address-family-summary { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "ipv6" { + value 2; + description + "IPv6 address family"; + } + enum "all" { + value 3; + description + "All address families"; + } + } + description + "Pce address family summary"; + } + + typedef Pceigp-protocol { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown protocol"; + } + enum "isis" { + value 1; + description + "ISIS protocol"; + } + enum "ospf" { + value 2; + description + "OSPF protocol"; + } + enum "bgp" { + value 3; + description + "BGP protocol"; + } + enum "te" { + value 4; + description + "TE protocol"; + } + } + description + "Pceigp protocol"; + } + + typedef Pceigp-protocol-summary { + type enumeration { + enum "isis" { + value 1; + description + "ISIS protocol"; + } + enum "ospf" { + value 2; + description + "OSPF protocol"; + } + enum "bgp" { + value 3; + description + "BGP protocol"; + } + enum "te" { + value 4; + description + "TE protocol"; + } + enum "all" { + value 5; + description + "All protocols"; + } + } + description + "Pceigp protocol summary"; + } + + typedef Pce-asso { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown type"; + } + enum "link" { + value 1; + description + "LINK"; + } + enum "node" { + value 2; + description + "NODE"; + } + enum "srlg" { + value 3; + description + "SRLG"; + } + } + description + "Pce asso"; + } + + typedef Xtc-adj-sid-protection { + type enumeration { + enum "protected-preferred" { + value 0; + description + "Protected adj SID preferred"; + } + enum "unprotected-only" { + value 1; + description + "Unprotected adj SID only"; + } + enum "protected-only" { + value 2; + description + "Protected adj SID only"; + } + enum "unprotected-preferred" { + value 3; + description + "Unprotected adj SID preferred"; + } + } + description + "Xtc adj sid protection"; + } + + typedef Pce-address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "ipv6" { + value 2; + description + "IPv6 address family"; + } + } + description + "Pce address family"; + } + + grouping PEER-TABLE { + description + "Common node of pce, pce-peer"; + container peer-infos { + description + "Peers database in XTC"; + list peer-info { + key "peer-address"; + description + "PCE peer information"; + leaf peer-address { + type inet:ip-address-no-zone; + description + "Peer Address"; + } + uses PCE-PEER-BAG; + } + } + } + + grouping PEER-DETAIL-TABLE { + description + "Common node of pce, pce-peer"; + container peer-detail-infos { + description + "Detailed peers database in XTC"; + list peer-detail-info { + key "peer-address"; + description + "Detailed PCE peer information"; + leaf peer-address { + type inet:ip-address-no-zone; + description + "Peer Address"; + } + uses PCE-PEER-DETAIL-BAG; + } + } + } + + grouping PREFIX-TABLE { + description + "Common node of pce, pce-topology"; + container prefix-infos { + description + "Prefixes database in XTC"; + list prefix-info { + key "node-identifier"; + description + "PCE prefix information"; + leaf node-identifier { + type uint32; + description + "Node ID"; + } + uses PCE-PFX-BAG; + } + } + } + + grouping TUNNEL-TABLE { + description + "Common node of pce, pce-lsp-data"; + container tunnel-infos { + description + "Tunnel database in XTC"; + list tunnel-info { + key "peer-address plsp-id tunnel-name"; + description + "Tunnel information"; + leaf peer-address { + type inet:ip-address-no-zone; + description + "Peer Address"; + } + leaf plsp-id { + type uint32; + description + "PCEP LSP ID"; + } + leaf tunnel-name { + type string; + description + "Tunnel name"; + } + uses PCE-TUN-BAG; + } + } + } + + grouping REMOTE-PREFIX-TABLE { + description + "Common node of pce, pce-topology"; + container remote-prefixes { + description + "Remote Prefixes database in PCE"; + list remote-prefix { + key "remote-pce-id"; + description + "PCE remote prefix information"; + leaf remote-pce-id { + type uint32; + description + "Remote PCE ID"; + } + uses PCE-REMOTE-PFX-BAG; + } + } + } + + grouping LSP-SUMMARY { + description + "Common node of pce, pce-lsp-data"; + container lsp-summary { + description + "LSP summary database in XTC"; + uses PCE-LSP-SUMMARY-BAG; + } + } + + grouping TOPOLOGY-SUMMARY-TABLE { + description + "Common node of pce, pce-topology"; + container topology-summaries { + description + "Node summary database in XTC"; + list topology-summary { + key "af protocol"; + description + "Node summary database in XTC"; + leaf af { + type Pce-address-family-summary; + description + "Only show data related to the specified + address family"; + } + leaf protocol { + type Pceigp-protocol-summary; + description + "Match nodes from the specified IGP protocol"; + } + uses PCE-NODE-SUMMARY-BAG; + } + } + } + + grouping TOPOLOGY-NODE-TABLE { + description + "Common node of pce, pce-topology"; + container topology-nodes { + description + "Node database in XTC"; + list topology-node { + key "node-identifier"; + description + "Node information"; + leaf node-identifier { + type uint32; + description + "Node Identifier"; + } + uses PCE-XTC-NODE-BAG; + } + } + } + + grouping TUNNEL-DETAIL-TABLE { + description + "Common node of pce, pce-lsp-data"; + container tunnel-detail-infos { + description + "Detailed tunnel database in XTC"; + list tunnel-detail-info { + key "peer-address plsp-id tunnel-name"; + description + "Detailed tunnel information"; + leaf peer-address { + type inet:ip-address-no-zone; + description + "Peer Address"; + } + leaf plsp-id { + type uint32; + description + "PCEP LSP ID"; + } + leaf tunnel-name { + type string; + description + "Tunnel name"; + } + uses PCE-TUN-DETAIL-BAG; + } + } + } + + container pce-lsp-data { + config false; + description + "PCE LSP's data"; + uses TUNNEL-TABLE; + uses LSP-SUMMARY; + uses TUNNEL-DETAIL-TABLE; + } + container pce-peer { + config false; + description + "PCE peer data"; + uses PEER-DETAIL-TABLE; + uses PEER-TABLE; + } + container pce-topology { + config false; + description + "PCE topology data"; + uses REMOTE-PREFIX-TABLE; + uses TOPOLOGY-NODE-TABLE; + uses TOPOLOGY-SUMMARY-TABLE; + uses PREFIX-TABLE; + } + container pce { + config false; + description + "PCE operational data"; + container authentication-keys { + description + "Authentication keys"; + list authentication-key { + key "ip-address"; + description + "PCE peer IP address"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address"; + } + uses PCE-PEER-AUTH-OPTION-BAG; + } + } + container cspf-sr-mpls { + description + "CSPF for SR MPLS path info"; + container cspf-sr-mpls-paths { + description + "This table models the path calculation + capabilities in XTC.A GET operation for the + complete table will return no entries."; + list cspf-sr-mpls-path { + description + "A GET operation on this class returns the path + ."; + leaf af { + type uint32; + description + "Address Family"; + } + leaf source1 { + type inet:ip-address-no-zone; + description + "Source of path 1"; + } + leaf destination1 { + type inet:ip-address-no-zone; + description + "Destination of path 1"; + } + leaf metric-type { + type uint32; + description + "Metric type"; + } + leaf source2 { + type inet:ip-address-no-zone; + description + "Source of path 2"; + } + leaf destination2 { + type inet:ip-address-no-zone; + description + "Destination of path 2"; + } + leaf disjoint-level { + type uint32; + description + "Disjointness level"; + } + leaf disjoint-strict { + type uint32; + description + "Strict disjointness required"; + } + leaf shortest-path { + type uint32; + description + "Whether path 1 or 2 should be shortest"; + } + leaf msd1 { + type uint32; + description + "MSD for path 1"; + } + leaf msd2 { + type uint32; + description + "MSD for path 2"; + } + leaf relative-margin { + type uint32; + description + "Relative Margin"; + } + leaf absolute-margin { + type uint32; + description + "Absolute Margin"; + } + leaf affinity-include-all { + type uint32; + description + "Affinity include-all constraint"; + } + leaf affinity-include-any { + type uint32; + description + "Affinity include-any constraint"; + } + leaf affinity-exclude-any { + type uint32; + description + "Affinity exclude-any constraint"; + } + leaf protection-type1 { + type Xtc-adj-sid-protection; + description + "Protection type for path 1"; + } + leaf protection-type2 { + type Xtc-adj-sid-protection; + description + "Protection type for path 2"; + } + leaf flex-algo { + type uint32; + description + "Flex Algo number"; + } + leaf anycast-include { + type boolean; + description + "Perform anycast SID inclusion"; + } + uses PCE-SR-MPLS-PATH-LIST-BAG; + } + } + } + container segment-routing { + description + "Segment-Routing related data"; + container traffic-engineering { + description + "Traffic-engineering related data"; + container policies { + description + "PCE policies"; + list policy { + description + "PCE policy"; + leaf pcc-address { + type inet:ip-address-no-zone; + description + "PCC Address"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Policy Name"; + } + uses PCE-POLICY-BAG; + } + } + } + } + container verification-events { + description + "PCE Verification events in XTC"; + list verification-event { + key "event-idx"; + description + "PCE single verification event"; + leaf event-idx { + type uint32; + description + "Index of an event"; + } + uses PCE-EVENT-INFO; + } + } + container api { + description + "PCE API details"; + container sibling { + description + "PCE sibling"; + container synced-lsps { + description + "Synced LSP table"; + list synced-lsp { + description + "Synced LSP details"; + leaf pcc-address { + type inet:ip-address-no-zone; + description + "PCC Address"; + } + leaf lsp-name { + type string; + description + "Name of the synced LSP"; + } + leaf remote-flag { + type boolean; + description + "Flag to indicate lsp data is remote"; + } + uses PCE-SIBLING-SYNCED-LSP-BAG; + } + } + container connection { + description + "Connection information"; + uses PCE-SIBLING-CONN-BAG; + } + } + } + container p2mp-policies { + description + "P2MP policy database in SR-PCE"; + list p2mp-policy { + key "name"; + description + "Policy information"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Policy name"; + } + uses PCE-TREESID-BAG; + } + } + container peer-summaries { + description + "Detailed PCE peer information"; + list peer-summary { + key "af"; + description + "Summary PCE peer information"; + leaf af { + type Pce-address-family; + description + "Only show data related to the specified + address family"; + } + uses PCE-PEER-SUMMARY-BAG; + } + } + container cspf-srv6 { + description + "CSPF for SRV6 path info"; + container cspf-srv6-paths { + description + "This table models the path calculation + capabilities in XTC.A GET operation for the + complete table will return no entries."; + list cspf-srv6-path { + description + "A GET operation on this class returns the path + ."; + leaf af { + type uint32; + description + "Address Family"; + } + leaf source1 { + type inet:ip-address-no-zone; + description + "Source of path 1"; + } + leaf destination1 { + type inet:ip-address-no-zone; + description + "Destination of path 1"; + } + leaf metric-type { + type uint32; + description + "Metric type"; + } + leaf source2 { + type inet:ip-address-no-zone; + description + "Source of path 2"; + } + leaf destination2 { + type inet:ip-address-no-zone; + description + "Destination of path 2"; + } + leaf disjoint-level { + type uint32; + description + "Disjointness level"; + } + leaf disjoint-strict { + type uint32; + description + "Strict disjointness required"; + } + leaf shortest-path { + type uint32; + description + "Whether path 1 or 2 should be shortest"; + } + leaf msd1 { + type uint32; + description + "MSD for path 1"; + } + leaf msd2 { + type uint32; + description + "MSD for path 2"; + } + leaf relative-margin { + type uint32; + description + "Relative Margin"; + } + leaf absolute-margin { + type uint32; + description + "Absolute Margin"; + } + leaf affinity-include-all { + type uint32; + description + "Affinity include-all constraint"; + } + leaf affinity-include-any { + type uint32; + description + "Affinity include-any constraint"; + } + leaf affinity-exclude-any { + type uint32; + description + "Affinity exclude-any constraint"; + } + uses PCE-SR-MPLS-PATH-LIST-BAG; + } + } + } + container flex-algos { + description + "FlexAlgo database in PCE"; + list flex-algo { + description + "FlexAlgo Definition"; + leaf igp-type { + type Pceigp-protocol; + description + "Match nodes from the specified IGP protocol"; + } + leaf domain-id { + type uint32; + description + "Domain ID"; + } + leaf area-id { + type uint32; + description + "Area ID"; + } + uses PCE-FLEX-ALGO-AREA; + } + } + container work-nodes { + description + "Work node database"; + list work-node { + key "index"; + description + "Path work node information"; + leaf index { + type uint32; + description + "Position in work list"; + } + uses PATH-WORK-NODE; + } + } + container trace-buffer-summaries { + description + "Summary of all trace buffers"; + list trace-buffer-summary { + key "name"; + description + "Summary of specific trace buffer"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Trace buffer name"; + } + uses CMN-TRACE-BUFFER-SUMMARY-BAG; + } + } + container association-infos { + description + "Associaition database in XTC"; + list association-info { + key "group-id"; + description + "PCE Association information"; + leaf group-id { + type uint32; + description + "Group ID"; + } + leaf type { + type Pce-asso; + description + "Type"; + } + leaf sub-id { + type inet:ip-address-no-zone; + description + "Sub ID"; + } + uses PCE-ASSO-BAG; + } + } + container work-groups { + description + "Work group database"; + list work-group { + key "algo"; + description + "Path work group information"; + leaf algo { + type uint32; + description + "Algorithm"; + } + leaf metric-type { + type uint32; + description + "Metric Type"; + } + leaf msd { + type uint32; + description + "Max SID Depth"; + } + leaf inc-all { + type uint32; + description + "Include-All affinity"; + } + leaf exc-any { + type uint32; + description + "Exclude-Any affinity"; + } + leaf inc-any { + type uint32; + description + "Include-Any affinity"; + } + leaf source { + type inet:ip-address-no-zone; + description + "Source"; + } + uses PATH-WORK-GROUP; + } + } + container paths { + description + "This table models the path calculation + capabilities in XTC.A GET operation for the + complete table will return no entries."; + list path { + key "af source destination"; + description + "A GET operation on this class returns the path."; + leaf af { + type uint32; + description + "Address Family"; + } + leaf source { + type inet:ip-address-no-zone; + description + "Source of path"; + } + leaf destination { + type inet:ip-address-no-zone; + description + "Destination of path"; + } + uses PCE-PATH-BAG; + } + } + container p2mp-policy-infos { + description + "P2MP policy database indexed by Root address in + XTC"; + list p2mp-policy-info { + key "root-address tree-id"; + description + "P2MP Policy information"; + leaf root-address { + type inet:ip-address-no-zone; + description + "Root Address"; + } + leaf tree-id { + type uint32; + description + "P2MP Policy Tree-ID"; + } + uses PCE-TREESID-BAG; + } + } + container cspf { + description + "CSPF path info"; + container cspf-paths { + description + "This table models the path calculation + capabilities in XTC.A GET operation for the + complete table will return no entries."; + list cspf-path { + description + "A GET operation on this class returns the path + ."; + leaf af { + type uint32; + description + "Address Family"; + } + leaf source1 { + type inet:ip-address-no-zone; + description + "Source of path 1"; + } + leaf destination1 { + type inet:ip-address-no-zone; + description + "Destination of path 1"; + } + leaf metric-type { + type uint32; + description + "Metric type"; + } + leaf source2 { + type inet:ip-address-no-zone; + description + "Source of path 2"; + } + leaf destination2 { + type inet:ip-address-no-zone; + description + "Destination of path 2"; + } + leaf disjoint-level { + type uint32; + description + "Disjointness level"; + } + leaf disjoint-strict { + type uint32; + description + "Strict disjointness required"; + } + leaf shortest-path { + type uint32; + description + "Whether path 1 or 2 should be shortest"; + } + uses PCE-PATH-LIST-BAG; + } + } + } + container statistics-nodes { + description + "PCE API peer statistics"; + list statistics-node { + key "ip"; + description + "PCE API peer statistics information"; + leaf ip { + type inet:ip-address-no-zone; + description + "Specify IPv4 or v6 Address"; + } + uses API-PEER-STATS-BAG; + } + } + uses REMOTE-PREFIX-TABLE; + uses TUNNEL-TABLE; + uses PEER-DETAIL-TABLE; + uses TOPOLOGY-NODE-TABLE; + uses TOPOLOGY-SUMMARY-TABLE; + uses PREFIX-TABLE; + uses LSP-SUMMARY; + uses PEER-TABLE; + uses TUNNEL-DETAIL-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-act.yang new file mode 100644 index 000000000..a1865574c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-act.yang @@ -0,0 +1,385 @@ +module Cisco-IOS-XR-install-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-install-act"; + prefix install-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR install actions. + + Copyright (c) 2018-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-11 { + description + "Addition of ability to skip upgrade matrix checks for source + 2022-06-27 + Addition of ability to skip upgrade matrix checks for replace and + rollback"; + semver:module-version "2.0.1m"; + } + revision 2021-08-31 { + description + "7.5.1 release features: + Ability to indicate to try operations best-effort with the force option."; + semver:module-version "2.0.0"; + } + revision 2021-03-22 { + description + "7.4.1 release features: + Ability to add a description to a commit. + 2019-12-10 + Addition of install-mode-type enum, deprecation of update-all leaf, and + addition of tar to packages-source-type"; + semver:module-version "1.2.0"; + } + revision 2019-11-05 { + description + "Addition of INST-SHARED-OP-ID-TYPE for the return type of action RPCs"; + semver:module-version "1.1.0"; + } + revision 2019-10-03 { + description + "Addition of apply type enumeration and option for replace/source commands + 2019-10-01 + Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-05 { + description + "IOS XR 7.0.1 revision."; + } + + typedef replace-source-type { + type enumeration { + enum "local" { + description + "Install from a local file path"; + } + enum "http" { + description + "Install over http"; + } + enum "https" { + description + "Install over https"; + } + enum "scp" { + description + "Install over scp"; + } + enum "ftp" { + description + "Install over ftp"; + } + enum "tftp" { + description + "Install over tftp"; + } + enum "sftp" { + description + "Install over sftp"; + } + } + description + "replace source type"; + } + + typedef packages-source-type { + type enumeration { + enum "local" { + description + "Install from a local directory or repository containing RPMs and/or + tar files"; + } + enum "http" { + description + "Install over http"; + } + enum "https" { + description + "Install over https"; + } + enum "scp" { + description + "Install over scp"; + } + enum "ftp" { + description + "Install over ftp"; + } + enum "tftp" { + description + "Install over tftp"; + } + enum "sftp" { + description + "Install over sftp"; + } + enum "any-configured-repository" { + description + "Install from any configured repository"; + } + enum "configured-repository" { + description + "Install from the given repository"; + } + enum "tar" { + description + "Install from a local tar file"; + } + } + description + "packages source type"; + } + + typedef config-type { + type enumeration { + enum "ignore" { + description + "Ignore the configuration in the given ISO"; + } + enum "merge" { + description + "Merge the configuration in the given ISO with existing + configuration"; + } + enum "replace" { + description + "Replace the existing configuration with the configuration + in the given ISO"; + } + } + description + "config type"; + } + + typedef apply-type { + type enumeration { + enum "restart" { + description + "Apply atomic change by restarting processes - only valid + for the augmented 'install-apply' operation"; + } + enum "reload" { + description + "Apply atomic change by reloading"; + } + enum "least-impactful" { + description + "Apply atomic change by least impactful method"; + } + } + description + "apply type"; + } + + typedef install-mode-type { + type enumeration { + enum "specified-packages" { + description + "Add the specified packages"; + } + enum "upgrade-all" { + description + "Upgrade all packages that have a higher version available"; + } + enum "install-all" { + description + "Install the highest compatible version of all packages + from a specified source"; + } + } + description + "install mode type"; + } + + grouping INST-SHARED-OP-ID-TYPE { + description + "Operation ID type"; + leaf op-id { + type string; + description + "operation id of the triggered action"; + } + leaf Error { + type string; + description + "error information"; + } + } + + rpc install-replace { + description + "Replace the existing software with that from the given ISO"; + input { + leaf source-type { + type replace-source-type; + default "local"; + description + "Type of source used to obtain the ISO"; + } + leaf source { + type string; + mandatory true; + description + "Path to the location of the ISO"; + } + leaf file { + type string; + mandatory true; + description + "Name of the ISO to install"; + } + leaf commit { + type boolean; + default "false"; + description + "Commit at the end of the replace operation, if the + software is successfully applied"; + } + leaf description { + type string; + description + "Description to be stored for the transaction ID"; + } + leaf config { + type config-type; + description + "Action to take on any configuration present in the ISO"; + } + leaf activation-type { + type apply-type; + default "least-impactful"; + description + "Activate the software using the specified apply type"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + leaf skip-upgrade-matrix-checks { + type boolean; + default "false"; + description + "Skip upgrade matrix checks when moving between XR versions"; + } + } + output { + uses INST-SHARED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install { + description + "Install packages from a given source"; + input { + container packages { + description + "Set of packages to install. Should be set only when 'install-mode' + is 'specified-packages'"; + leaf-list packagename { + type string; + description + "package name"; + } + } + leaf update-all { + type boolean; + default "false"; + status deprecated; + description + "True to update all packages using the given source, False + to only install or update the specified packages"; + } + leaf source-type { + type packages-source-type; + default "local"; + description + "Type of source used to obtain the packages"; + } + leaf source { + type string; + description + "Path to the location of the packages. If source-type is + 'any-configured-repository' this field is unused, and if + source-type is 'configured-repository' this should be the + name of the repository to use."; + } + leaf activation-type { + type apply-type; + default "least-impactful"; + description + "Activate the software using the specified apply type"; + } + leaf install-mode { + type install-mode-type; + default "specified-packages"; + description + "Mode of install operation"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + leaf skip-upgrade-matrix-checks { + type boolean; + default "false"; + description + "Skip upgrade matrix checks when moving between XR versions"; + } + } + output { + uses INST-SHARED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-commit { + description + "Commit the current software, such that it will persist over reload."; + input { + leaf description { + type string; + description + "Description to be stored for the transaction ID"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + } + output { + uses INST-SHARED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-act.yang new file mode 100644 index 000000000..e0b0a759c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-act.yang @@ -0,0 +1,442 @@ +module Cisco-IOS-XR-install-augmented-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-install-augmented-act"; + prefix install-augmented-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + import Cisco-IOS-XR-install-act { + prefix install-act; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a augmented collection of YANG definitions for Cisco + IOS-XR install actions, and should be used along with + Cisco-IOS-XR-install-act.yang + + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-27 { + description + "Addition of ability to skip upgrade matrix checks for replace and + rollback + 2021-09-21 + Addition of force flag to package-abort"; + semver:module-version "3.2.1m"; + } + revision 2021-01-14 { + description + "Addition of force flag"; + semver:module-version "3.2.0"; + } + revision 2020-08-03 { + description + "Modified tasks for the RPC operations."; + semver:module-version "3.1.0"; + } + revision 2020-03-06 { + description + "Removal of the install-reload-failed-nodes RPC + 2019-11-05 + Addition of INST-AUGMENTED-OP-ID-TYPE for the return type of action RPCs"; + semver:module-version "3.0.0"; + } + revision 2019-10-03 { + description + "Move apply type enum to Cisco-IOS-XR-install-act.yang + 2019-10-01 + Made changes to be RFC6087 compliant + 2019-09-19 + Allow user to indicate apply-type at the beginning of an operation."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-05 { + description + "IOS XR 7.0.1 revision."; + } + + typedef abort-type { + type enumeration { + enum "latest" { + description + "Abort the latest packaging operation"; + } + enum "all-since-apply" { + description + "Abort all packaging operations since the last apply"; + } + } + description + "abort type"; + } + + grouping INST-AUGMENTED-OP-ID-TYPE { + leaf op-id { + type string; + description + "operation id of the triggered action"; + } + } + + rpc install-package-add { + description + "Add all packages in a specified source, or the given list of packages"; + input { + container packages { + description + "List of packages to add, or empty to add all packages"; + leaf-list packagename { + type string; + description + "package name"; + } + } + leaf source-type { + type install-act:packages-source-type; + default "any-configured-repository"; + description + "Type of source used to obtain the packages"; + } + leaf source { + type string; + description + "Path to the location of the packages. If source-type is + 'any-configured-repository' this field is unused, and if + source-type is 'configured-repository' this should be the + name of the repository to use."; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-package-remove { + description + "Remove the given list of packages"; + input { + container packages { + description + "List of packages to remove"; + leaf-list packagename { + type string; + description + "package name"; + } + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-package-upgrade { + description + "Upgrade all packages, or the given list of packages"; + input { + container packages { + description + "List of packages to upgrade, or empty to upgrade all packages"; + leaf-list packagename { + type string; + description + "package name"; + } + } + leaf source-type { + type install-act:packages-source-type; + default "any-configured-repository"; + description + "Type of source used to obtain the packages"; + } + leaf source { + type string; + description + "Path to the location of the packages. If source-type is + 'any-configured-repository' this field is unused, and if + source-type is 'configured-repository' this should be the + name of the repository to use."; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-package-downgrade { + description + "Downgrade all packages in a specified source, or the given list of + packages"; + input { + container packages { + description + "List of packages to downgrade, or empty to downgrade all packages + in a specified source"; + leaf-list packagename { + type string; + description + "package name"; + } + } + leaf source-type { + type install-act:packages-source-type; + default "any-configured-repository"; + description + "Type of source used to obtain the packages"; + } + leaf source { + type string; + description + "Path to the location of the packages. If source-type is + 'any-configured-repository' this field is unused, and if + source-type is 'configured-repository' this should be the + name of the repository to use."; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-package-replace { + description + "Replace the current installed software"; + input { + leaf config { + type install-act:config-type; + description + "Action to take on any configuration present in the ISO"; + } + leaf source-type { + type install-act:replace-source-type; + default "local"; + description + "Type of source used to obtain the ISO"; + } + leaf source { + type string; + mandatory true; + description + "Path to the location of the ISO"; + } + leaf file { + type string; + mandatory true; + description + "Name of the ISO to install"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + leaf skip-upgrade-matrix-checks { + type boolean; + default "false"; + description + "Skip upgrade matrix checks when moving between XR versions"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-package-rollback { + description + "Rollback the installed software to a previous revision"; + input { + leaf transaction-id { + type uint32; + mandatory true; + description + "Transaction ID to rollback to"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + leaf skip-upgrade-matrix-checks { + type boolean; + default "false"; + description + "Skip upgrade matrix checks when moving between XR versions"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-rollback { + description + "Rollback the installed software to a previous revision and apply the change"; + input { + leaf transaction-id { + type uint32; + mandatory true; + description + "Transaction ID to rollback to"; + } + leaf commit { + type boolean; + default "false"; + description + "Commit at the end of the rollback operation, if the + software is successfully applied"; + } + leaf description { + type string; + description + "Description to be stored for the transaction ID"; + } + leaf activation-type { + type install-act:apply-type; + default "least-impactful"; + description + "Activate the software using the specified apply type"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + leaf skip-upgrade-matrix-checks { + type boolean; + default "false"; + description + "Skip upgrade matrix checks when moving between XR versions"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-apply { + description + "Apply atomic operation by restarting processes or reloading"; + input { + leaf apply-method { + type install-act:apply-type; + mandatory true; + description + "Method of applying atomic operation"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-package-abort { + description + "Abort the specified packaging operation(s)"; + input { + leaf abort-type { + type abort-type; + mandatory true; + description + "Which packaging operations to abort"; + } + leaf force { + type boolean; + default "false"; + description + "Ignore non-critical errors"; + } + } + output { + uses INST-AUGMENTED-OP-ID-TYPE; + } + csc:xr-task "pkg-mgmt"; + } + rpc install-label { + description + "Label a transaction ID with a description"; + input { + leaf transaction-id { + type uint32; + description + "Transaction ID to be labelled"; + } + leaf description { + type string; + description + "Description to be stored for the transaction ID"; + } + } + } + rpc install-clear-rollback { + description + "Remove specified rollback points to save disk space"; + input { + leaf transaction-id { + type uint32; + description + "Transaction ID corresponding to the rollback point to be removed"; + } + leaf number-of-oldest { + type uint32; + description + "The number of oldest rollback points to be removed"; + } + } + csc:xr-task "pkg-mgmt"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub1.yang new file mode 100644 index 000000000..20391ee3c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub1.yang @@ -0,0 +1,2878 @@ +submodule Cisco-IOS-XR-install-augmented-oper-sub1 { + belongs-to Cisco-IOS-XR-install-augmented-oper { + prefix Cisco-IOS-XR-install-augmented-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-install-augmented-oper-sub2 { + revision-date 2021-08-25; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR install-augmented package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-25 { + description + "7.5.1 release features."; + semver:module-version "2.2.1m"; + } + revision 2021-03-22 { + description + "7.4.1 release features. + 2020-09-30 + 7.3.1 release features."; + semver:module-version "2.1.0"; + } + revision 2020-05-12 { + description + "Removal of compound from enum naming conventions to avoid confusion. + 2019-12-11 + Obsoleted the nodes list for history items. + 2019-10-14 + Combined platform updates including updates to show install rollback list-ids"; + semver:module-version "2.0.0"; + } + revision 2019-10-13 { + description + "NCS540L 7.1.1 release + 2019-10-12 + 8000 series 7.0.11 release"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Inst-req-state { + type enumeration { + enum "in-progress" { + value 0; + description + "In progress"; + } + enum "success" { + value 1; + description + "Success"; + } + enum "failure" { + value 2; + description + "Failure"; + } + } + description + "Install request state type"; + } + + typedef Inst-action { + type enumeration { + enum "install-package-add" { + value 10; + description + "Package add"; + } + enum "install-package-remove" { + value 11; + description + "Package remove"; + } + enum "install-package-upgrade" { + value 12; + description + "Package upgrade"; + } + enum "install-package-downgrade" { + value 13; + description + "Package downgrade"; + } + enum "install-package-replace" { + value 14; + description + "Package replace"; + } + enum "install-package-rollback" { + value 15; + description + "Rollback"; + } + enum "install-package-abort-latest" { + value 20; + description + "Package abort latest"; + } + enum "install-package-abort-all-since-apply" { + value 21; + description + "Package abort all since apply"; + } + enum "install-package-abort-latest-force" { + value 22; + description + "Package abort latest with force"; + } + enum "install-package-abort-all-since-apply-force" { + value 23; + description + "Package abort all since apply with force"; + } + enum "install-apply-restart" { + value 30; + description + "Apply by process restart"; + } + enum "install-apply-reload" { + value 31; + description + "Apply by reload"; + } + enum "install-commit" { + value 40; + description + "Commit"; + } + enum "install-replace" { + value 70; + description + "Replace and apply"; + } + enum "install-rollback" { + value 71; + description + "Rollback and apply"; + } + enum "install-source" { + value 72; + description + "Upgrade and apply packages from a source"; + } + enum "install-label" { + value 90; + description + "Label"; + } + } + description + "Inst action"; + } + + typedef Inst-notif-phase { + type enumeration { + enum "veto" { + value 0; + description + "Veto"; + } + enum "prepare" { + value 1; + description + "Prepare"; + } + enum "pre-pre-apply" { + value 2; + description + "Pre pre apply"; + } + enum "pre-apply" { + value 3; + description + "Pre apply"; + } + enum "apply" { + value 4; + description + "Apply"; + } + enum "post-apply" { + value 5; + description + "Post apply"; + } + enum "post-post-apply" { + value 6; + description + "Post post apply"; + } + } + description + "Install notification phase type"; + } + + typedef Inst-pkg-op-stage { + type enumeration { + enum "not-started" { + value 0; + description + "No operation has yet begun"; + } + enum "preamble" { + value 1; + description + "Preamble, including loading plugins"; + } + enum "resolving-dependencies" { + value 2; + description + "Resolving dependencies"; + } + enum "transaction-check" { + value 3; + description + "Package downloads and transaction check"; + } + enum "package-operations" { + value 4; + description + "Package operations - installations and removals"; + } + enum "complete" { + value 5; + description + "Operation has finished. This does not imply + success"; + } + } + description + "Inst pkg op stage"; + } + + typedef Inst-node-req { + type enumeration { + enum "veto-check" { + value 0; + description + "Veto check"; + } + enum "begin-trans" { + value 1; + description + "Begin transaction"; + } + enum "end-trans" { + value 2; + description + "End transaction"; + } + enum "abort-trans" { + value 3; + description + "Abort transaction"; + } + enum "begin-atomic" { + value 4; + description + "Begin atomic operation"; + } + enum "abort-atomic" { + value 5; + description + "Abort atomic operation"; + } + enum "pkg-install" { + value 6; + description + "Package install operation"; + } + enum "pkg-replace" { + value 7; + description + "Package replace operation"; + } + enum "undo-pkg-install" { + value 8; + description + "Undo package install or undo other package + operation"; + } + enum "apply-reload" { + value 9; + description + "Apply by reload"; + } + enum "pre-pre-apply-restart" { + value 10; + description + "Pre-pre-apply by restarting processes"; + } + enum "pre-apply-restart" { + value 11; + description + "Pre-apply by restarting processes"; + } + enum "apply-and-post-apply-restart" { + value 12; + description + "Apply and post-apply by restarting processes"; + } + enum "post-post-apply-restart" { + value 13; + description + "Post-post-apply by restarting processes"; + } + enum "restart-infra" { + value 14; + description + "Restart install infra"; + } + enum "abort-op" { + value 15; + description + "Abort current operation"; + } + enum "node-idle" { + value 16; + description + "Node is not handling a request"; + } + enum "status-unknown" { + value 17; + description + "The node did not respond to the operational + data request"; + } + enum "resync-remote-node" { + value 18; + description + "Resyncing remote nodes with the active node"; + } + enum "pre-commit-check" { + value 19; + description + "Perform pre-commit checks"; + } + } + description + "Install node request type"; + } + + typedef Inst-activity { + type enumeration { + enum "initiate-op" { + value 0; + description + "Initiate operation"; + } + enum "begin-trans" { + value 1; + description + "Begin transaction"; + } + enum "begin-atomic" { + value 2; + description + "Begin atomic operation"; + } + enum "veto-check" { + value 3; + description + "Veto check"; + } + enum "pkg-install" { + value 4; + description + "Package add or other package operation"; + } + enum "apply-reload" { + value 5; + description + "Apply by reload"; + } + enum "apply-restart" { + value 6; + description + "Apply by restarting processes"; + } + enum "restart-infra" { + value 7; + description + "Restart install infra"; + } + enum "commit-trans" { + value 8; + description + "Commit transaction"; + } + enum "abort-op" { + value 9; + description + "Abort operation"; + } + enum "abort-trans" { + value 10; + description + "Abort transaction"; + } + enum "abort-atomic" { + value 11; + description + "Abort atomic operation"; + } + enum "undo-pkg-inst" { + value 12; + description + "Undo package install"; + } + enum "await-user-input" { + value 13; + description + "Await user input"; + } + enum "await-recovery-input" { + value 14; + description + "Failure, await user recovery input"; + } + enum "trans-complete" { + value 15; + description + "Transaction complete"; + } + enum "no-op-in-progress" { + value 16; + description + "No install operation in progress"; + } + enum "apply-reload-awaiting-node-readiness" { + value 17; + description + "Cleanup after apply by reload"; + } + enum "automatic-recovery" { + value 18; + description + "Automatic recovery"; + } + enum "apply" { + value 19; + description + "Apply by restarting processes or reload"; + } + enum "begin-pkg-op" { + value 20; + description + "Begin packaging operation"; + } + enum "begin-apply-op" { + value 21; + description + "Begin apply operation"; + } + enum "apply-cleanup" { + value 22; + description + "Post-apply operation cleanup"; + } + enum "download" { + value 23; + description + "Verify input and download to internal + repository if needed"; + } + enum "undo-download" { + value 24; + description + "Undo download to internal repository if needed"; + } + enum "bridging-download" { + value 25; + description + "Download bridging bugfix RPMs to the internal + repository"; + } + enum "bridging-veto-check" { + value 26; + description + "Veto check for bridging bugfix install"; + } + enum "bridging-pkg-install" { + value 27; + description + "Package upgrade of bridging bugfix RPMs"; + } + enum "bridging-begin-apply-op" { + value 28; + description + "Begin apply operation of bridging bugfixes"; + } + enum "bridging-apply-reload" { + value 29; + description + "Apply by reload of bridging bugfixes"; + } + enum "bridging-apply-reload-awaiting-node-readiness" { + value 30; + description + "Cleanup after apply by reload of bridging + bugfixes"; + } + enum "bridging-apply-restart" { + value 31; + description + "Apply by restarting processes"; + } + enum "bridging-restart-infra" { + value 32; + description + "Restart install infra during apply of bridging + bugfixes"; + } + enum "bridging-apply-cleanup" { + value 33; + description + "Post-apply of bridging bugfixes cleanup"; + } + enum "bridging-apply" { + value 34; + description + "Apply bridging bugfixes by restarting processes + or reload"; + } + enum "await-dnf-completion" { + value 35; + description + "Wait for all DNF processes to complete after a + packaging operation failure"; + } + } + description + "Install activity type"; + } + + typedef Caveat { + type string; + description + "Caveat"; + } + + typedef Fix { + type string; + description + "DDTS or fix ID"; + } + + typedef Inst-fp-request-status { + type enumeration { + enum "generation-up-to-date" { + value 0; + description + "Runtime fingerprint generation up to date."; + } + enum "generation-in-progress" { + value 1; + description + "Runtime fingerprint generation in progress"; + } + enum "to-be-regenerated-at-apply" { + value 2; + description + "Runtime fingerprints will be regenerated on + apply"; + } + } + description + "package Fingerprint request status"; + } + + typedef Install-opt-string { + type string; + description + "Install opt string"; + } + + typedef Inst-bridging-bugfix { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown bridging bugfix status"; + } + enum "none-in-iso" { + value 1; + description + "No bridging bugfixes in gISO"; + } + enum "none-at-version" { + value 2; + description + "No bridging bugfixes found for running XR + version"; + } + enum "already-installed" { + value 3; + description + "Bridging bugfixes in gISO already installed"; + } + enum "install-required" { + value 4; + description + "Bridging bugfixes in gISO to be installed"; + } + } + description + "Install bridging bugfix type"; + } + + typedef Inst-atomic-status { + type enumeration { + enum "in-progress" { + value 0; + description + "In progress"; + } + enum "apply-in-progress" { + value 1; + description + "Apply in progress"; + } + enum "success" { + value 2; + description + "Success"; + } + enum "failure" { + value 3; + description + "Failure"; + } + enum "aborting" { + value 4; + description + "Aborting"; + } + enum "aborted" { + value 5; + description + "Aborted"; + } + enum "skipped" { + value 6; + description + "Skipped"; + } + } + description + "Atomic change status type"; + } + + typedef Inst-cfg-replace-info { + type enumeration { + enum "iso-config-obtained" { + value 0; + description + "Config successfully extracted from the ISO and + user did not request to ignore config"; + } + enum "iso-config-requested-but-not-present" { + value 1; + description + "User requested to replace config, but no config + present in ISO"; + } + enum "ignored" { + value 2; + description + "User requested to ignore config"; + } + enum "iso-config-not-present" { + value 3; + description + "No config present in ISO and user made no + explicit request"; + } + enum "iso-config-not-supported" { + value 4; + description + "Config extraction is not supported for this ISO"; + } + } + description + "Install ISO config outcome type"; + } + + typedef Inst-pkg-op-status { + type enumeration { + enum "in-progress" { + value 0; + description + "In progress"; + } + enum "success" { + value 1; + description + "Success"; + } + enum "failure" { + value 2; + description + "Failure"; + } + enum "aborted" { + value 3; + description + "Aborted"; + } + enum "skipped" { + value 4; + description + "Skipped"; + } + } + description + "Package operation status type"; + } + + typedef Inst-req-reason { + type enumeration { + enum "user" { + value 0; + description + "User request"; + } + enum "undoing-due-to-abort" { + value 1; + description + "Undoing previous package operation due to user + request"; + } + } + description + "Install request reason type"; + } + + typedef Inst-disk-space-check-phase { + type enumeration { + enum "download" { + value 0; + description + "Download"; + } + enum "iso-unpack" { + value 1; + description + "ISO unpack"; + } + enum "tar-unpack" { + value 2; + description + "Tar unpack"; + } + enum "veto" { + value 3; + description + "Veto"; + } + enum "iso-copy" { + value 4; + description + "This stage encompasses copying the ISO onto the + router, and unpacking it, requiring 2x the size + of the file"; + } + enum "tar-copy" { + value 5; + description + "This stage encompasses copying the tarball onto + the router, and unpacking it, requiring 2.5x + the size of the file"; + } + } + description + "Install disk space check phase type"; + } + + typedef Inst-notif-res { + type enumeration { + enum "awaiting-response" { + value 0; + description + "Awaiting response"; + } + enum "success" { + value 1; + description + "Success"; + } + enum "veto-req" { + value 2; + description + "Veto requested"; + } + enum "reload-req" { + value 3; + description + "Reload requested"; + } + enum "extra-time" { + value 4; + description + "Extra time requested"; + } + enum "failure" { + value 5; + description + "Client failed to process notification"; + } + } + description + "Install client notification result type"; + } + + typedef Inst-feature-change { + type enumeration { + enum "removed" { + value 0; + description + "Removed"; + } + enum "added" { + value 1; + description + "Added"; + } + } + description + "Inst feature change"; + } + + typedef Inst-proc-change { + type enumeration { + enum "removed" { + value 0; + description + "Removed"; + } + enum "modified" { + value 1; + description + "Modified"; + } + } + description + "Inst proc change"; + } + + typedef Inst-file-change { + type enumeration { + enum "removed" { + value 0; + description + "Removed"; + } + enum "added" { + value 1; + description + "Added"; + } + enum "modified" { + value 2; + description + "Modified"; + } + } + description + "File change type"; + } + + typedef Inst-client { + type enumeration { + enum "default" { + value 0; + description + "Default client"; + } + enum "legacy" { + value 1; + description + "Legacy client"; + } + } + description + "Install client type"; + } + + typedef Inst-no-action-reason { + type enumeration { + enum "already-installed" { + value 0; + description + "Package was already installed"; + } + enum "nothing-to-remove" { + value 1; + description + "No matching package found to remove"; + } + enum "no-suitable-version" { + value 2; + description + "No suitable package to upgrade to or downgrade + to was found"; + } + } + description + "Install no action reason type"; + } + + typedef Inst-pkg-op-act { + type enumeration { + enum "add" { + value 0; + description + "Add"; + } + enum "remove" { + value 1; + description + "Remove"; + } + enum "unknown" { + value 255; + description + "Unknown"; + } + } + description + "Install package operation action type"; + } + + typedef Inst-trans-status { + type enumeration { + enum "in-progress" { + value 0; + description + "In progress"; + } + enum "commit-in-progress" { + value 1; + description + "Commit in progress"; + } + enum "success" { + value 2; + description + "Success"; + } + enum "failure" { + value 3; + description + "Failure"; + } + enum "aborting" { + value 4; + description + "Aborting"; + } + enum "aborted" { + value 5; + description + "Aborted"; + } + enum "post-commit-cleanup" { + value 6; + description + "Committed, cleaning up"; + } + enum "error-retry" { + value 7; + description + "Error encountered, retrying"; + } + enum "commit-failure" { + value 8; + description + "Commit failure"; + } + } + description + "Transaction status type"; + } + + typedef Inst-request { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown, operation history not available"; + } + enum "add" { + value 1; + description + "Add"; + } + enum "remove" { + value 2; + description + "Remove"; + } + enum "upgrade" { + value 3; + description + "Upgrade"; + } + enum "downgrade" { + value 4; + description + "Downgrade"; + } + enum "replace" { + value 5; + description + "Replace"; + } + enum "rollback" { + value 6; + description + "Rollback"; + } + } + description + "Install request type"; + } + + typedef Inst-node-event-reload-reason { + type enumeration { + enum "reloaded-to-continue" { + value 0; + description + "The force keyword meant that in order for the + install operation to continue best-effort + despite this node event, this node was reloaded + ."; + } + } + description + "The reason a node was reloaded due to a node + event"; + } + + typedef Inst-node-event { + type enumeration { + enum "node-unavailable" { + value 0; + description + "Node became unavailable"; + } + enum "node-available" { + value 1; + description + "Node became available"; + } + enum "error" { + value 2; + description + "Per-node error"; + } + enum "user-requested-reload" { + value 3; + description + "User requested reload of this node to recover + from a failure."; + } + } + description + "Install node event type"; + } + + grouping INST-AVAILABLE-FIX-TYPE { + description + "INST AVAILABLE FIX TYPE"; + leaf ddts { + type string; + description + "DDTS id"; + } + list package { + description + "Packages"; + uses INST-AVAILABLE-PKG-TYPE; + } + } + + grouping INST-AVAILABLE-FIXES-BAG { + description + "Install bag containing details of available fixes"; + leaf-list inaccessible-repository { + type String1; + description + "List of repositories that the package manager + was unable to access, likely due to + configuration errors or network connectivity"; + } + leaf-list repositories-metadata-failed { + type String1; + description + "List of local repositories where automatic + metadata generation failed. Information about + packages in these repositories may not be up to + date."; + } + list fixes { + description + "Fixes"; + uses INST-AVAILABLE-FIX-TYPE; + } + } + + grouping INST-DEACTIVATE-GROUP-FIX-TYPE { + description + "INST DEACTIVATE GROUP FIX TYPE"; + leaf-list requested-ddts { + type String1; + description + "Requested DDTS ids to deactivate"; + } + leaf-list ddt-ss-to-deactivate { + type String1; + description + "The DDTS ids that would be deactivated by this + change"; + } + list packages-to-downgrade { + description + "The packages that would be downgraded from by + this change"; + uses INST-PKG; + } + list packages-to-activate { + description + "The packages that would be activated by this + change (ie. downgraded to)"; + uses INST-PKG; + } + list missing-mandatory-package { + description + "The mandatory packages that are missing and so + preventing this downgrade"; + uses INST-PKG; + } + list missing-optional-package { + description + "The optional packages that are missing and so + preventing this downgrade"; + uses INST-PKG; + } + } + + grouping INST-DEACTIVATE-DDTS-IDS-BAG { + description + "Install bag containing details of available + groups of fixes"; + container combined-deactivate-info { + description + "The combined information for deactivating all + specified DDTSs"; + uses INST-DEACTIVATE-GROUP-FIX-TYPE; + } + leaf-list not-installed-ddts { + type String1; + description + "DDTSs specified for deactivation but not + currently installed"; + } + list group-deactivate-info { + description + "The groups of fixes for deactivating the + specified DDTSs"; + uses INST-DEACTIVATE-GROUP-FIX-TYPE; + } + } + + grouping INST-QUERY-PKG-FIX-TYPE { + description + "Package and fix type"; + container package { + description + "Package"; + uses INST-PKG-TYPE; + } + container ddts-list { + description + "DDTSs associated with this package"; + uses INST-DDTS-LIST; + } + } + + grouping INST-ROLLBACK-POINT-BAG { + description + "Bag containing information for a specific + rollback point"; + leaf id { + type int32; + description + "Rollback point ID"; + } + leaf label { + type String1; + description + "Optional GISO label for rollback point"; + } + leaf description { + type String1; + description + "Optional user defined description of the + rollback point"; + } + list package { + description + "List of packages and fixes for the rollback + point"; + uses INST-QUERY-PKG-FIX-TYPE; + } + } + + grouping INST-DDTS-LIST { + description + "DDTS List"; + leaf-list ddts { + type String1; + description + "DDTS items in list"; + } + } + + grouping INST-QUERY-PKG-CHANGE-TYPE { + description + "Package changes type"; + container package { + description + "Package"; + uses INST-PKG-TYPE; + } + container ddts-list { + description + "DDTSs associated with this package"; + uses INST-DDTS-LIST; + } + leaf action { + type Inst-pkg-op-act; + description + "Action pending on package"; + } + } + + grouping INST-CHANGES-BAG { + description + "Install pending changes bag"; + list package { + description + "List of packages and the action pending on each"; + uses INST-QUERY-PKG-CHANGE-TYPE; + } + } + + grouping INST-ROLLBACK-SUMMARY-BAG { + description + "Install bag containing summary information about + a possible rollback transaction"; + leaf time-finished { + type String1; + description + "Timestamp this transaction completed, in RFC3339 + internet date/time format"; + } + leaf pkgs-to-add-count { + type int32; + description + "Number of packages to be added"; + } + leaf pkgs-to-modify-count { + type int32; + description + "Number of packages to be modified"; + } + leaf pkgs-to-remove-count { + type int32; + description + "Number of packages to be removed"; + } + leaf description { + type string; + description + "The description of the transaction, if set"; + } + leaf ddt-ss-to-add-count { + type int32; + description + "Number of DDTSs to be added"; + } + leaf ddt-ss-to-remove-count { + type int32; + description + "Number of DDTSs to be removed"; + } + } + + grouping INST-VER-PKG-TYPE { + description + "Install package type"; + leaf name { + type string; + description + "Name"; + } + leaf version { + type string; + description + "Version"; + } + leaf built-by { + type string; + description + "User built by"; + } + leaf built-on { + type string; + description + "Time built"; + } + leaf workspace { + type string; + description + "Workspace built in"; + } + leaf build-host { + type string; + description + "Build host"; + } + } + + grouping INST-VERSION-BAG { + description + "Install version bag"; + leaf label { + type string; + description + "Added telemetry event on Label field"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf copyright-info { + type string; + description + "Copyright information"; + } + leaf hardware-info { + type string; + description + "Hardware information"; + } + leaf uptime { + type string; + description + "System uptime"; + } + leaf location { + type Install-opt-string; + description + "Prefix for the path where packages will be + installed"; + } + leaf processor { + type Install-opt-string; + description + "Processor"; + } + leaf chassis-pid { + type Install-opt-string; + description + "Chassis PID"; + } + leaf chassis-description { + type Install-opt-string; + description + "Chassis Unique Device Identifier description"; + } + leaf xr-host-name { + type Install-opt-string; + description + "Configured XR hostname"; + } + leaf total-ram { + type uint64; + description + "Total physical memory in GB"; + } + list package { + description + "Packages"; + uses INST-VER-PKG-TYPE; + } + } + + grouping INST-AVAILABLE-ACTIONS { + description + "INST AVAILABLE ACTIONS"; + leaf-list available-action { + type Inst-action; + description + "Action available to user. If there are no + available actions, a system reload may be used + to recover."; + } + } + + grouping INST-NOTIF-STATUS { + description + "Install client notification status information"; + leaf notification-phase { + type Inst-notif-phase; + description + "Notification phase"; + } + leaf time-sent { + type string; + description + "Timestamp notifications were sent, in RFC3339 + internet date/time format"; + } + leaf-list clients-responded { + type String1; + description + "Clients that have responded to notifications"; + } + leaf-list clients-waiting { + type String1; + description + "Clients that have not yet responded to + notifications"; + } + } + + grouping INST-PKG-OP-INFO { + description + "Install packaging operation information"; + leaf stage { + type Inst-pkg-op-stage; + description + "Package operation stage"; + } + leaf percentage-progress { + type uint32; + units "percentage"; + description + "Percentage complete"; + } + leaf packages-complete { + type uint32; + description + "Count of packages completed"; + } + leaf packages-total { + type uint32; + description + "Count of total packages"; + } + } + + grouping INST-STATUS-NODE { + description + "Install per-node status data"; + container packaging-operation-status { + description + "Further information, if a packaging operation is + in progress"; + uses INST-PKG-OP-INFO; + } + container client-notification-status { + description + "Further information, if client notifications are + in progress"; + uses INST-NOTIF-STATUS; + } + leaf node { + type string; + description + "Node name"; + } + leaf current-request { + type Inst-node-req; + description + "Node request currently being handled"; + } + leaf time-started { + type String1; + description + "Timestamp this node request was started, in + RFC3339 internet date/time format"; + } + } + + grouping INST-REQUEST-VERBOSE-BAG { + description + "Status of current install user request"; + container available-actions { + description + "Actions that are currently valid to start"; + uses INST-AVAILABLE-ACTIONS; + } + leaf current-activity { + type Inst-activity; + description + "Activity in progress"; + } + leaf time-started { + type String1; + description + "Timestamp this activity was started, in RFC3339 + internet date/time format"; + } + leaf next-activity { + type Inst-activity; + description + "Activity "; + } + leaf node-request { + type Inst-node-req; + description + "Node request in progress, if any"; + } + leaf node-request-time { + type String1; + description + "Timestamp node request was sent, in RFC3339 + internet date/time format"; + } + leaf node-request-time-left { + type uint32; + units "second"; + description + "Seconds until the node request will time out"; + } + leaf nodes-responded { + type uint32; + description + "Count of nodes that have responded"; + } + leaf nodes-total { + type uint32; + description + "Total count of nodes the request was sent to"; + } + leaf request { + type String1; + description + "The last user request"; + } + leaf state { + type Inst-req-state; + description + "The state of the last user request"; + } + leaf timestamp { + type String1; + description + "The time the current state was entered"; + } + leaf error { + type String1; + description + "String describing the error, if any"; + } + leaf operation-id { + type String1; + description + "The operation ID of this request"; + } + list nodes-req-status { + description + "Status of per-node processing, if a node request + is in progress"; + uses INST-STATUS-NODE; + } + } + + grouping INST-AVAILABLE-GROUP-FIX-TYPE { + description + "INST AVAILABLE GROUP FIX TYPE"; + leaf-list ddt-ss { + type String1; + description + "All DDTS ids fixed by Packages"; + } + list package { + description + "Packages"; + uses INST-PKG; + } + } + + grouping INST-AVAILABLE-GROUP-FIXES-BAG { + description + "Install bag containing details of available + groups of fixes"; + leaf-list all-ddts { + type String1; + description + "All DDTSs referenced in GroupFix"; + } + list group-fix { + description + "The group fixes"; + uses INST-AVAILABLE-GROUP-FIX-TYPE; + } + } + + grouping INST-UPGRADE-MATRIX-RPM { + description + "Upgrade matrix RPM details"; + leaf name { + type string; + description + "RPM name"; + } + leaf version { + type string; + description + "RPM version"; + } + } + + grouping INST-UPGRADE-MATRIX-FIX { + description + "Upgrade matrix fix"; + leaf fix { + type string; + description + "DDTS or fix ID"; + } + list rpms { + description + "RPMs"; + uses INST-UPGRADE-MATRIX-RPM; + } + } + + grouping INST-UPGRADE-MATRIX-HW { + description + "Upgrade matrix hardware data"; + leaf pid { + type Install-opt-string; + description + "PID"; + } + leaf reason { + type Install-opt-string; + description + "Reason for the hardware being unsupported"; + } + } + + grouping INSTALL-UPGRADE-MATRIX-DETAILS { + description + "Upgrade matrix details"; + leaf-list bridging-fixe { + type Fix; + description + "Bridging Fixes List"; + } + leaf-list caveats { + type Caveat; + description + "Caveats list"; + } + leaf-list blocklisted-fixe { + type Fix; + description + "Blocklisted Fixes List"; + } + list unsupported-hardware { + description + "Unsupported hardware list"; + uses INST-UPGRADE-MATRIX-HW; + } + list bridging-fixes-rpm { + description + "Bridging Fixes, list of DDTS (and associated + RPMs)"; + uses INST-UPGRADE-MATRIX-FIX; + } + list blocklisted-fixes-rpm { + description + "List of DDTS (and associated RPMs) which must + not be installed"; + uses INST-UPGRADE-MATRIX-FIX; + } + } + + grouping INSTALL-UPGRADE-MATRIX-RELEASE-DATA { + description + "Upgrade matrix version data"; + leaf from { + type string; + description + "From version"; + } + leaf to { + type string; + description + "To version"; + } + } + + grouping INSTALL-UPGRADE-MATRIX-DATA { + description + "Upgrade matrix data"; + container versions { + description + "Versions"; + uses INSTALL-UPGRADE-MATRIX-RELEASE-DATA; + } + container details { + description + "Details"; + uses INSTALL-UPGRADE-MATRIX-DETAILS; + } + } + + grouping INSTALL-UPGRADE-MATRIX-ISO { + description + "Upgrade matrix info for the input ISO"; + leaf info { + type Install-opt-string; + description + "Info"; + } + list upgrade-matrix-info { + description + "Upgrade matrix table"; + uses INSTALL-UPGRADE-MATRIX-DATA; + } + } + + grouping INST-AVAILABLE-PKG-TYPE { + description + "Install package type"; + leaf name { + type string; + description + "Package name"; + } + leaf architecture { + type string; + description + "Architecture"; + } + leaf version { + type string; + description + "Version"; + } + leaf repository { + type string; + description + "Repository"; + } + leaf cached { + type boolean; + description + "Cached in the internal repository"; + } + leaf release { + type Install-opt-string; + description + "Release"; + } + leaf epoch { + type Install-opt-string; + description + "Epoch"; + } + leaf xr-package { + type boolean; + description + "XR Package"; + } + } + + grouping INST-AVAILABLE-PACKAGES-BAG { + description + "Available package result bag"; + leaf-list inaccessible-repository { + type String1; + description + "List of repositories that the package manager + was unable to access, likely due to + configuration errors or network connectivity"; + } + leaf-list repositories-metadata-failed { + type String1; + description + "List of local repositories where automatic + metadata generation failed. Information about + packages in these repositories may not be up to + date."; + } + list package { + description + "Packages"; + uses INST-AVAILABLE-PKG-TYPE; + } + } + + grouping INST-RPM-FINGER-PRINT { + description + "Install package fingerprint type"; + leaf rpm-fingerprint-install-time { + type Install-opt-string; + description + "Package fingerprint at install time."; + } + leaf rpm-fingerprint-run-time { + type Install-opt-string; + description + "Package fingerprint at run time. A runtime + fingerprint of '0' indicates that the runtime + fingerprint for this package has not yet been + calculated."; + } + } + + grouping INST-PKG-TYPE { + description + "Install package type"; + container rpm-fingerprint { + description + "RPM Fingerprint at install and run time"; + uses INST-RPM-FINGER-PRINT; + } + leaf name { + type string; + description + "Package name"; + } + leaf architecture { + type string; + description + "Architecture"; + } + leaf version { + type string; + description + "Version"; + } + leaf release { + type string; + description + "Release"; + } + leaf epoch { + type Install-opt-string; + description + "Epoch"; + } + leaf gpg-key-id { + type Install-opt-string; + description + "The GPG key ID at install time. A key ID of '0' + indicates a package with no GPG signature."; + } + } + + grouping INST-PACKAGES-BAG { + description + "Package result bag"; + leaf rpm-fingerprint-status { + type Inst-fp-request-status; + description + "Package Fingerprint request status"; + } + leaf rpm-fingerprint-timestamp { + type Install-opt-string; + description + "Package run time fingerprint collection time"; + } + leaf label { + type Install-opt-string; + description + "Label of image"; + } + leaf xr-packages-hash { + type Install-opt-string; + description + "Hash of XR packages in this bag"; + } + list package { + description + "Packages"; + uses INST-PKG-TYPE; + } + } + + grouping INST-ATOMIC-CHANGE-NODE-BAG { + description + "Node specific atomic change information"; + container changeset { + description + "Changeset information"; + uses INST-CHANGESET; + } + list pre-pre-apply-notification { + description + "Notifications sent for 'Pre-pre-apply' phase"; + uses INST-NOTIF; + } + list pre-apply-notification { + description + "Notifications sent for 'Pre-apply' phase"; + uses INST-NOTIF; + } + list apply-notification { + description + "Notifications sent for 'Apply' phase"; + uses INST-NOTIF; + } + list further-apply-notification { + description + "Further notifications sent for 'Apply' phase, + after allowing for processes to restart"; + uses INST-NOTIF; + } + list post-apply-notification { + description + "Notifications sent for 'Post-apply' phase"; + uses INST-NOTIF; + } + list post-post-apply-notification { + description + "Notifications sent for 'Post-post-apply' phase"; + uses INST-NOTIF; + } + list event { + description + "Per node events"; + uses INST-NODE-EVENT; + } + } + + grouping INST-SYSTEM-RELOAD-REASON { + description + "Information about system reload reasons"; + leaf iso-config { + type boolean; + description + "True if ISO config is being applied"; + } + } + + grouping INST-ATOMIC-CHANGE-NODE { + description + "Install per-node atomic change data"; + container changeset { + description + "Changeset information"; + uses INST-CHANGESET; + } + leaf node { + type string; + description + "Node name"; + } + list pre-pre-apply-notification { + description + "Notifications sent for 'Pre-pre-apply' phase"; + uses INST-NOTIF; + } + list pre-apply-notification { + description + "Notifications sent for 'Pre-apply' phase"; + uses INST-NOTIF; + } + list apply-notification { + description + "Notifications sent for 'Apply' phase"; + uses INST-NOTIF; + } + list further-apply-notification { + description + "Further notifications sent for 'Apply' phase, + after allowing for processes to restart"; + uses INST-NOTIF; + } + list post-apply-notification { + description + "Notifications sent for 'Post-apply' phase"; + uses INST-NOTIF; + } + list post-post-apply-notification { + description + "Notifications sent for 'Post-post-apply' phase"; + uses INST-NOTIF; + } + list event { + description + "Per node events"; + uses INST-NODE-EVENT; + } + } + + grouping INST-ATOMIC-STATUS { + description + "Atomic change status"; + leaf status { + type Inst-atomic-status; + description + "Status"; + } + leaf reason { + type String1; + description + "Reason this status was set, which could be an + error or a recovery action"; + } + leaf time { + type string; + description + "Timestamp this status was set, in RFC3339 + internet date/time format"; + } + leaf event-id { + type uint32; + description + "Transaction level identifier for this status + change"; + } + } + + grouping INST-ATOMIC-CHANGE-BAG { + description + "Install atomic change entry"; + container reload-reasons { + description + "Reload reasons"; + uses INST-SYSTEM-RELOAD-REASON; + } + leaf index { + type uint32; + description + "Atomic change index"; + } + leaf requested-apply-method { + type Inst-activation; + description + "Requested apply method"; + } + leaf least-impactful-apply-method { + type Inst-activation; + description + "Least impactful apply method required to apply + packaging operations thus far."; + } + leaf install-restart { + type boolean; + description + "Install infra restart during apply"; + } + leaf previous-index { + type uint32; + description + "Atomic change index of previous atomic operation"; + } + leaf previous-bridging-status { + type Inst-bridging-bugfix; + description + "Information about whether bridging bugfix RPMs + were installed as part of the previous atomic + change"; + } + list status-history { + description + "Status history for this atomic change, in + reverse chronological order"; + uses INST-ATOMIC-STATUS; + } + list nodes { + status obsolete; + description + "Node-specific information"; + uses INST-ATOMIC-CHANGE-NODE; + } + } + + grouping INST-PKG-OP-NODE { + description + "Install per-node packaging operation data"; + container disk-space-check { + description + "Disk space pre-check information"; + uses INST-DISK-SPACE; + } + leaf node { + type string; + description + "Node name"; + } + leaf download-size { + type uint64; + units "byte"; + description + "Download size in bytes (deprecated)"; + } + leaf installed-size { + type uint64; + units "byte"; + description + "Total installed size of packages in bytes + (deprecated)"; + } + list package { + description + "List of packages"; + uses INST-PKG-INFO; + } + list packages-no-action { + description + "List of input packages on which no action was + taken, for example because there was no suitable + version to upgrade or downgrade to"; + uses INST-PKG-NO-ACTION; + } + list veto-notification { + description + "List of notifications sent in 'Veto' phase"; + uses INST-NOTIF; + } + list prepare-veto-notification { + description + "List of veto notifications sent in 'Prepare' + phase"; + uses INST-NOTIF; + } + list prepare-notification { + description + "List of prepare notifications sent in 'Prepare' + phase"; + uses INST-NOTIF; + } + list event { + description + "Per node events"; + uses INST-NODE-EVENT; + } + } + + grouping INST-PKG-OP-STATUS { + description + "Package operation status"; + leaf status { + type Inst-pkg-op-status; + description + "Status"; + } + leaf reason { + type String1; + description + "Reason this status was set, which could be an + error or a recovery action"; + } + leaf time { + type string; + description + "Timestamp this status was set, in RFC3339 + internet date/time format"; + } + leaf event-id { + type uint32; + description + "Transaction level identifier for this status + change"; + } + } + + grouping INST-UNDO-REQ { + description + "Install undo packaging operation request"; + leaf abort-type { + type Inst-package-abort; + description + "Abort Type"; + } + leaf-list packaging-operation { + type uint32; + description + "Indices of packaging operations being undone"; + } + } + + grouping INST-REQ { + description + "Install request"; + container operation { + when "../reason = 'user'" { + description + "../Reason = 'User'"; + } + description + "Details of user request"; + uses INST-USER-REQ; + } + container abort-operation { + when "../reason = 'undoing-due-to-abort'" { + description + "../Reason = 'UndoingDueToAbort'"; + } + description + "Details of packaging operation(s) being undone"; + uses INST-UNDO-REQ; + } + leaf reason { + type Inst-req-reason; + description + "Reason"; + } + } + + grouping INST-PKG-OP-BAG { + description + "Install package operation entry"; + container request { + description + "Requested operation"; + uses INST-REQ; + } + leaf index { + type uint32; + description + "Packaging operation index"; + } + leaf error-string { + type String1; + description + "String pointing the user to any packaging + manager error information"; + } + leaf config-replace-info { + type Inst-cfg-replace-info; + description + "Info about config handling in replace operations"; + } + list status-history { + description + "Status history for the package operation, in + reverse chronological order"; + uses INST-PKG-OP-STATUS; + } + list nodes { + status obsolete; + description + "Node-specific information"; + uses INST-PKG-OP-NODE; + } + } + + grouping INST-DISK-SPACE { + description + "Install disk space pre-check data"; + leaf phase { + type Inst-disk-space-check-phase; + description + "Phase the disk space check failed at"; + } + leaf required-space { + type uint64; + units "byte"; + description + "Space required in the rootfs in bytes"; + } + leaf available-space { + type uint64; + units "byte"; + description + "Space available in the rootfs in bytes"; + } + } + + grouping INST-NOTIF-TIME-REQ { + description + "Extra time request information"; + leaf time { + type string; + description + "Timestamp of request, in RFC3339 internet + date/time format"; + } + leaf extra-time { + type uint32; + units "second"; + description + "Amount of extra time requested in seconds"; + } + leaf reason { + type String1; + description + "Reason for the extra time being requested (if + known)"; + } + } + + grouping INST-NOTIF-RELOAD-TYPE { + description + "INST NOTIF RELOAD TYPE"; + leaf node { + type string; + description + "Which node is to be reloaded"; + } + leaf reason { + type String1; + description + "Reason for requested reload"; + } + } + + grouping INST-CLIENT-RELOAD { + description + "Information about client reload reasons"; + leaf name { + type string; + description + "The name of the client"; + } + leaf jid { + type string; + description + "Job ID of the client"; + } + leaf reason { + type string; + description + "Reason to request a reload"; + } + } + + grouping INST-RELOAD-REASON { + description + "Information about reload reasons"; + container packages { + description + "List of packages which has requested a reload"; + uses PACKAGE-NAMES; + } + leaf too-many-processes { + type boolean; + description + "True if too many processes requested a restart"; + } + list client { + description + "List of clients which have requested a reload"; + uses INST-CLIENT-RELOAD; + } + } + + grouping INST-FEATURE-CHANGE { + description + "Feature change information"; + leaf feature-name { + type string; + description + "Name of feature"; + } + leaf change { + type Inst-feature-change; + description + "Change type"; + } + } + + grouping INST-PROCESS-CHANGE { + description + "Impacted process information"; + leaf name { + type string; + description + "Process name"; + } + leaf change { + type Inst-proc-change; + description + "Type of change"; + } + leaf pid { + type uint32; + description + "Process ID"; + } + } + + grouping INST-FILE-CHANGE { + description + "File change information"; + leaf path { + type string; + description + "File path, relative to /opt/cisco/iosxr"; + } + leaf change { + type Inst-file-change; + description + "Change type"; + } + } + + grouping INST-CHANGESET { + description + "Changeset"; + container reload-reasons { + description + "Reload reasons"; + uses INST-RELOAD-REASON; + } + list changed-file { + description + "Changed files"; + uses INST-FILE-CHANGE; + } + list impacted-process { + description + "Impacted processes"; + uses INST-PROCESS-CHANGE; + } + list changed-feature { + description + "Changed features"; + uses INST-FEATURE-CHANGE; + } + } + + grouping NOTIFICATION-TRIGGER { + description + "Notification Trigger"; + container trigger-changeset { + when "../client-type = 'default'" { + description + "../ClientType = 'Default'"; + } + description + "Trigger Changeset"; + uses INST-CHANGESET; + } + leaf client-type { + type Inst-client; + description + "ClientType"; + } + leaf legacy-client { + when "../client-type = 'legacy'" { + description + "../ClientType = 'Legacy'"; + } + type boolean; + description + "Legacy client - notifications are sent + regardless of changeset"; + } + } + + grouping INST-NOTIF { + description + "Install notification information"; + container notification-trigger { + description + "Notification trigger"; + uses NOTIFICATION-TRIGGER; + } + leaf client { + type string; + description + "Client notification was sent to"; + } + leaf description { + type string; + description + "Description of the client"; + } + leaf sent-time { + type string; + description + "Time notification was sent, in RFC3339 internet + date/time format"; + } + leaf response-status { + type Inst-notif-res; + description + "Status of response from client"; + } + leaf error { + type String1; + description + "Error, if any"; + } + leaf response-time { + type string; + description + "Time of clients response, in RFC3339 internet + date/time format"; + } + leaf veto-reason { + type String1; + description + "Reason for requested veto"; + } + list reload-reason { + description + "Reasons for reload, if any"; + uses INST-NOTIF-RELOAD-TYPE; + } + list extra-time-request { + description + "Requests for extra time, if any"; + uses INST-NOTIF-TIME-REQ; + } + } + + grouping INST-PKG-NO-ACTION { + description + "Information about a package on which no action + was taken"; + container package { + description + "Package or user input on which no action was + taken"; + uses INST-PKG; + } + leaf reason { + type Inst-no-action-reason; + description + "Reason that no action was taken on this package"; + } + } + + grouping INST-PKG { + description + "Package"; + leaf name { + type string; + description + "Package name"; + } + leaf version { + type String1; + description + "Version"; + } + leaf architecture { + type String1; + description + "Package architecture"; + } + } + + grouping INST-PKG-INFO { + description + "Install per package information"; + container package { + description + "Package"; + uses INST-PKG; + } + leaf action { + type Inst-pkg-op-act; + description + "Action taken on this package"; + } + } + + grouping INST-PKG-OP-NODE-BAG { + description + "Node specific packaging operation information"; + container disk-space-check { + description + "Disk space pre-check information"; + uses INST-DISK-SPACE; + } + leaf download-size { + type uint64; + units "byte"; + description + "Download size in bytes (deprecated)"; + } + leaf installed-size { + type uint64; + units "byte"; + description + "Total installed size of packages in bytes + (deprecated)"; + } + list package { + description + "List of packages"; + uses INST-PKG-INFO; + } + list packages-no-action { + description + "List of input packages on which no action was + taken, for example because there was no suitable + version to upgrade or downgrade to"; + uses INST-PKG-NO-ACTION; + } + list veto-notification { + description + "List of notifications sent in 'Veto' phase"; + uses INST-NOTIF; + } + list prepare-veto-notification { + description + "List of veto notifications sent in 'Prepare' + phase"; + uses INST-NOTIF; + } + list prepare-notification { + description + "List of prepare notifications sent in 'Prepare' + phase"; + uses INST-NOTIF; + } + list event { + description + "Per node events"; + uses INST-NODE-EVENT; + } + } + + grouping INST-PKG-OP-ERRORS-BAG { + description + "DNF logs for any node where DNF has encountered + errors in a packaging operation"; + leaf-list lines { + type String1; + description + "Lines of the DNF output"; + } + } + + grouping INST-TRANS-NODE { + description + "Install per-node transaction data"; + leaf node { + type String1; + description + "Node name"; + } + list event { + description + "Per-node events"; + uses INST-NODE-EVENT; + } + } + + grouping INST-TRANS-STATUS { + description + "Transaction status"; + leaf status { + type Inst-trans-status; + description + "Status"; + } + leaf reason { + type String1; + description + "Reason this status was set, which could be an + error or a recovery action"; + } + leaf time { + type string; + description + "Timestamp this status was set, in RFC3339 + internet date/time format"; + } + leaf event-id { + type uint32; + description + "Transaction level identifier for this status + change"; + } + } + + grouping PACKAGE-NAMES { + description + "PACKAGE NAMES"; + leaf-list package-name { + type String1; + description + "package name"; + } + } + + grouping INST-USER-REQ { + description + "Install user packaging operation request"; + container unknown-packages { + when "../request = 'unknown'" { + description + "../Request = 'Unknown'"; + } + description + "List of packages"; + uses PACKAGE-NAMES; + } + container install-packages { + when "../request = 'add'" { + description + "../Request = 'Add'"; + } + description + "List of packages"; + uses PACKAGE-NAMES; + } + container remove-packages { + when "../request = 'remove'" { + description + "../Request = 'Remove'"; + } + description + "List of packages"; + uses PACKAGE-NAMES; + } + container upgrade-packages { + when "../request = 'upgrade'" { + description + "../Request = 'Upgrade'"; + } + description + "List of packages"; + uses PACKAGE-NAMES; + } + container downgrade-packages { + when "../request = 'downgrade'" { + description + "../Request = 'Downgrade'"; + } + description + "List of packages"; + uses PACKAGE-NAMES; + } + leaf request { + type Inst-request; + description + "Request"; + } + leaf replace-iso { + when "../request = 'replace'" { + description + "../Request = 'Replace'"; + } + type String1; + description + "ISO"; + } + leaf rollback-to-transaction { + when "../request = 'rollback'" { + description + "../Request = 'Rollback'"; + } + type uint32; + description + "Transaction ID"; + } + } + + grouping INST-TRANS-BAG { + description + "Install transaction entry"; + container started-by-user-request { + description + "Packaging operation that started this + transaction"; + uses INST-USER-REQ; + } + leaf transaction-id { + type uint32; + description + "Transaction ID"; + } + list status-history { + description + "Status history for this transaction, in reverse + chronological order"; + uses INST-TRANS-STATUS; + } + list nodes { + status obsolete; + description + "Node-specific information"; + uses INST-TRANS-NODE; + } + } + + grouping INST-NODE-EVENT { + description + "Node events"; + leaf event { + type Inst-node-event; + description + "Event"; + } + leaf time { + type string; + description + "Timestamp, in RFC3339 internet date/time format"; + } + leaf reason { + type String1; + description + "Reason for the event, for example an error + string"; + } + leaf event-id { + type uint32; + description + "Transaction level identifier for this event"; + } + leaf reload-reason { + type Inst-node-event-reload-reason; + description + "If applicable, the reason the node was reloaded + due to this node event"; + } + } + + grouping INST-TRANS-NODE-BAG { + description + "Node specific transaction information"; + list event { + description + "Per-node events"; + uses INST-NODE-EVENT; + } + } + + grouping INST-PLATFORM-SUPPORT-BAG { + description + "Support for Install features on this platform"; + leaf max-rollback-space { + type uint64; + description + "The maximum amount of space allowed for rollback + points on this platform. A value of 0 indicates + that rollback is not supported."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub2.yang new file mode 100644 index 000000000..87bfe7983 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper-sub2.yang @@ -0,0 +1,111 @@ +submodule Cisco-IOS-XR-install-augmented-oper-sub2 { + belongs-to Cisco-IOS-XR-install-augmented-oper { + prefix Cisco-IOS-XR-install-augmented-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR install-augmented package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-25 { + description + "7.5.1 release features."; + semver:module-version "2.2.1m"; + } + revision 2021-03-22 { + description + "7.4.1 release features. + 2020-09-30 + 7.3.1 release features."; + semver:module-version "2.1.0"; + } + revision 2020-05-12 { + description + "Removal of compound from enum naming conventions to avoid confusion. + 2019-12-11 + Obsoleted the nodes list for history items. + 2019-10-14 + Combined platform updates including updates to show install rollback list-ids"; + semver:module-version "2.0.0"; + } + revision 2019-10-13 { + description + "NCS540L 7.1.1 release + 2019-10-12 + 8000 series 7.0.11 release"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Inst-activation { + type enumeration { + enum "restart" { + value 0; + description + "Process restart"; + } + enum "reload" { + value 1; + description + "Reload"; + } + enum "least-impactful" { + value 2; + description + "Least impactful"; + } + } + description + "Activation type"; + } + + typedef Inst-package-abort { + type enumeration { + enum "latest" { + value 0; + description + "Latest packaging operation"; + } + enum "all-since-apply" { + value 1; + description + "All packaging operations since the last apply"; + } + } + description + "Package abort type"; + } + + typedef String1 { + type string; + description + "String1"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper.yang new file mode 100644 index 000000000..fd9561239 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-augmented-oper.yang @@ -0,0 +1,523 @@ +module Cisco-IOS-XR-install-augmented-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-install-augmented-oper"; + prefix install-augmented-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-install-augmented-oper-sub2 { + revision-date 2021-08-25; + } + include Cisco-IOS-XR-install-augmented-oper-sub1 { + revision-date 2021-08-25; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR install-augmented package operational data. + + This module contains definitions + for the following management objects: + install: Install operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-25 { + description + "7.5.1 release features."; + semver:module-version "2.2.1m"; + } + revision 2021-03-22 { + description + "7.4.1 release features. + 2020-09-30 + 7.3.1 release features."; + semver:module-version "2.1.0"; + } + revision 2020-05-12 { + description + "Removal of compound from enum naming conventions to avoid confusion. + 2019-12-11 + Obsoleted the nodes list for history items. + 2019-10-14 + Combined platform updates including updates to show install rollback list-ids"; + semver:module-version "2.0.0"; + } + revision 2019-10-13 { + description + "NCS540L 7.1.1 release + 2019-10-12 + 8000 series 7.0.11 release"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ATOMIC-CHANGE-TABLE { + description + "Common node of transaction, latest-transaction"; + container atomic-changes { + description + "Table for atomic software change specific + operational data"; + list atomic-change { + key "index"; + description + "Information about a particular atomic change"; + leaf index { + type uint32; + description + "Index"; + } + uses PACKAGING-OPERATION-TABLE; + uses ATOMIC-CHANGE-INFO; + uses ATOMIC-CHANGE-INFO-NODE-TABLE; + } + } + } + + grouping TRANSACTION-INFO-NODE-TABLE { + description + "Common node of transaction, latest-transaction"; + container transaction-info-nodes { + description + "Table for per-node information when carrying out + a transaction"; + list transaction-info-node { + key "node"; + description + "Node specific information when carrying out a + transaction"; + leaf node { + type xr:Node-id; + description + "Node name"; + } + uses INST-TRANS-NODE-BAG; + } + } + } + + grouping TRANSACTION-INFO { + description + "Common node of transaction, latest-transaction"; + container transaction-info { + description + "Summary information about the transaction"; + uses INST-TRANS-BAG; + } + } + + grouping ATOMIC-CHANGE-INFO { + description + "Common node of atomic-change, + latest-atomic-change"; + container atomic-change-info { + description + "Summary information about the atomic change"; + uses INST-ATOMIC-CHANGE-BAG; + } + } + + grouping PACKAGING-OPERATION-INFO-NODE-TABLE { + description + "Common node of latest-packaging-operation, + packaging-operation"; + container packaging-operation-info-nodes { + description + "Table for per-node information when carrying out + a packaging operation"; + list packaging-operation-info-node { + key "node"; + description + "Node specific information when carrying out a + packaging operation"; + leaf node { + type xr:Node-id; + description + "Node name"; + } + uses INST-PKG-OP-NODE-BAG; + } + } + } + + grouping PACKAGING-OPERATION-TABLE { + description + "Common node of atomic-change, + latest-atomic-change"; + container packaging-operations { + description + "Table for packaging operation specific + operational data"; + list packaging-operation { + key "index"; + description + "Data about a particular packaging operation"; + leaf index { + type uint32; + description + "Index"; + } + uses PACKAGING-OPERATION-ERRORS-NODE-TABLE; + uses PACKAGING-OPERATION-INFO-NODE-TABLE; + uses PACKAGING-OPERATION-INFO; + } + } + } + + grouping PACKAGING-OPERATION-ERRORS-NODE-TABLE { + description + "Common node of latest-packaging-operation, + packaging-operation"; + container packaging-operation-errors-nodes { + description + "Table for per-node DNF errors when carrying out + a packaging operation"; + list packaging-operation-errors-node { + key "node"; + description + "Node specific DNF errors when carrying out a + packaging operation"; + leaf node { + type xr:Node-id; + description + "Node name"; + } + uses INST-PKG-OP-ERRORS-BAG; + } + } + } + + grouping PACKAGING-OPERATION-INFO { + description + "Common node of latest-packaging-operation, + packaging-operation"; + container packaging-operation-info { + description + "Information about a packaging operation"; + uses INST-PKG-OP-BAG; + } + } + + grouping ATOMIC-CHANGE-INFO-NODE-TABLE { + description + "Common node of atomic-change, + latest-atomic-change"; + container atomic-change-info-nodes { + description + "Table for per-node information when carrying out + an atomic change"; + list atomic-change-info-node { + key "node"; + description + "Node specific information when carrying out an + atomic change"; + leaf node { + type xr:Node-id; + description + "Node name"; + } + uses INST-ATOMIC-CHANGE-NODE-BAG; + } + } + } + + container install { + config false; + description + "Install operational data"; + container platform-support { + description + "Information about what features are supported on + this platform"; + container platform-support-info { + description + "Information about what features are supported + on this platform"; + uses INST-PLATFORM-SUPPORT-BAG; + } + } + container history { + description + "Operation history"; + container latest-transaction { + description + "Latest transaction data"; + uses TRANSACTION-INFO-NODE-TABLE; + uses TRANSACTION-INFO; + uses ATOMIC-CHANGE-TABLE; + } + container latest-packaging-operation { + description + "Information about the latest packaging + operation"; + uses PACKAGING-OPERATION-ERRORS-NODE-TABLE; + uses PACKAGING-OPERATION-INFO-NODE-TABLE; + uses PACKAGING-OPERATION-INFO; + } + container latest-atomic-change { + description + "Latest atomic software change"; + uses PACKAGING-OPERATION-TABLE; + uses ATOMIC-CHANGE-INFO; + uses ATOMIC-CHANGE-INFO-NODE-TABLE; + } + container transactions { + description + "Table for transaction-specific operational data"; + list transaction { + key "transaction-id"; + description + "Information about a particular transaction"; + leaf transaction-id { + type uint32; + description + "Install Transaction ID"; + } + uses TRANSACTION-INFO-NODE-TABLE; + uses TRANSACTION-INFO; + uses ATOMIC-CHANGE-TABLE; + } + } + } + container packages { + description + "Package information"; + container cached { + description + "Information about cached packages"; + container summary { + description + "Summary packages"; + uses INST-PACKAGES-BAG; + } + container all { + description + "All packages including card-specific + dependencies"; + uses INST-PACKAGES-BAG; + } + } + container available { + description + "Information about available packages"; + container internal { + description + "All packages including card-specific + dependencies"; + uses INST-AVAILABLE-PACKAGES-BAG; + } + container all { + description + "All user-installable packages"; + uses INST-AVAILABLE-PACKAGES-BAG; + } + } + } + container upgrade-matrix { + description + "Upgrade compatibility matrix information"; + container rollbacks { + description + "Table containing upgrade matrix data from the + current active version to the rollback point"; + list rollback { + key "id"; + description + "Rollback point information"; + container all { + description + "Bag containing upgrade matrix data for all + supported known paths for the rollback point"; + uses INSTALL-UPGRADE-MATRIX-ISO; + } + container from-running { + description + "Bag containing upgrade matrix data from the + current active version to the rollback point"; + uses INSTALL-UPGRADE-MATRIX-ISO; + } + leaf id { + type uint32; + description + "Rollback point ID"; + } + } + } + } + container internal { + description + "Internal debug information"; + container fixes { + description + "Information about fixes that are available"; + container available-group-fixes { + description + "Groups of fixes"; + list available-group-fixe { + key "ddts"; + description + "Information about groups of fixes that are + available"; + leaf ddts { + type xr:Cisco-ios-xr-string; + description + "First DDTS Id in list"; + } + uses INST-AVAILABLE-GROUP-FIXES-BAG; + } + } + } + container packages { + description + "Package information"; + container pkgmgr { + description + "Information about package-manager installed + packages. During an atomic change, this is the + full set of packages that will be active after + the atomic change is applied"; + container nodes { + description + "Table for node level data"; + list node { + key "node"; + description + "Per-node packages"; + leaf node { + type xr:Node-id; + description + "Node name"; + } + uses INST-PACKAGES-BAG; + } + } + container summary { + description + "Summary packages"; + uses INST-PACKAGES-BAG; + } + } + } + } + container request { + description + "Information about the latest user request"; + container verbose { + description + "Verbose information about the status of current + install operation"; + uses INST-REQUEST-VERBOSE-BAG; + } + } + container version { + description + "Install version information"; + container detail { + description + "Install version detailed information"; + uses INST-VERSION-BAG; + } + container brief { + description + "Install version brief information"; + uses INST-VERSION-BAG; + } + } + container rollback { + description + "Information about software rollback options"; + container rollback-points { + description + "Table for rollback points"; + list rollback-point { + key "id"; + description + "Rollback point information"; + container summary { + description + "Summary of changes when rolling back to a a + rollback point"; + uses INST-ROLLBACK-SUMMARY-BAG; + } + container installed-packages { + description + "Installed packages"; + container user-installable { + description + "User-installable packages associated with + rollback point"; + uses INST-PACKAGES-BAG; + } + container changes { + description + "Changes in packages if rolling back"; + uses INST-CHANGES-BAG; + } + container pkgs-and-fixes { + description + "User-installable packages (and their fixes) + associated with rollback point"; + uses INST-ROLLBACK-POINT-BAG; + } + } + leaf id { + type uint32; + description + "Rollback point ID"; + } + } + } + } + container fixes { + description + "Information about DDTS fixes"; + container deactivate-fixes { + description + "Deactivate one or more fixes"; + list deactivate-fixe { + key "ddt-ss"; + description + "Information about groups of fixes that are + available"; + leaf ddt-ss { + type xr:Cisco-ios-xr-string; + description + "Comma separated DDTS list of DDTSs to + deactivate"; + } + uses INST-DEACTIVATE-DDTS-IDS-BAG; + } + } + container available { + description + "Information about fixes that are available"; + uses INST-AVAILABLE-FIXES-BAG; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-cfg.yang new file mode 100644 index 000000000..469c85801 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-cfg.yang @@ -0,0 +1,92 @@ +module Cisco-IOS-XR-install-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-install-cfg"; + prefix install-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR install package configuration. + + This module contains definitions + for the following management objects: + install: Install configuration data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-12-11 { + description + "Repository URL description updated."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container install { + description + "Install configuration data"; + container repositories { + description + "Table of repositories"; + list repository { + key "id"; + description + "Repository configuration"; + leaf url { + type string { + length "1..900"; + } + description + "Repository URL - path to local repository or + directory or ftp, http, or https path to + remote repository, optionally containing the + name of a VRF for the repository. Format one + of: + ftp://[;]/ + + http://[;]/ + + https://[;]/ + + file:///"; + } + leaf description { + type string { + length "1..900"; + } + description + "Repository name or description"; + } + leaf id { + type string { + length "1..80"; + } + description + "Repository identifier"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-oper-sub1.yang new file mode 100644 index 000000000..f66f26330 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-oper-sub1.yang @@ -0,0 +1,641 @@ +submodule Cisco-IOS-XR-install-oper-sub1 { + belongs-to Cisco-IOS-XR-install-oper { + prefix Cisco-IOS-XR-install-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR install package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-10 { + description + "Add force option to package abort."; + semver:module-version "1.4.1m"; + } + revision 2021-07-15 { + description + "Add pre-commit check support. + 2021-05-18 + Modified oper path for upgrade compatibility matrix with iso input + 2021-05-13 + Added optional hash into all package queries. + 2021-04-14 + Add system reload reason and config replace info + 2021-03-22 + Added support for upgrade compatibility matrix feature"; + semver:module-version "1.4.0"; + } + revision 2021-01-14 { + description + "Add DDTS info to rollback queries. + 2020-07-23 + Added optional label into inst_packages_bag. + 2020-07-22 + Update Inst-provides-match-type with additional provide value + 2020-05-27 + Add install and runtime fingerprint + 2020-05-27 + Add install and runtime fingerprint + 2020-05-27 + Add install and runtime fingerprint + 2020-05-13 + Updated version information to add hostname and disk space + 2020-05-13 + Updated version information to add hostname and disk space + 2020-05-13 + Updated version information to add hostname and disk space"; + semver:module-version "1.3.0"; + } + revision 2020-04-23 { + description + "Add categorization of installed software packages into Cisco and Non-Cisco + 2020-04-23 + Add categorization of installed software packages into Cisco and Non-Cisco + 2020-04-23 + Add categorization of installed software packages into Cisco and Non-Cisco + 2020-02-05 + Updated version information to add a GISO label + 2020-02-05 + Updated version information to add a GISO label + 2020-02-05 + Updated version information to add a GISO label + 2020-01-09 + Added optional label into inst_summary_packages_bag. + 2019-10-14 + Combined platform updates including updates to show install rollback list-ids"; + semver:module-version "1.2.0"; + } + revision 2019-10-13 { + description + "NCS540L 7.1.1 release + 2019-10-12 + 8000 series 7.0.11 release + 2019-08-13 + Common yang oper model for lindt and eXR install."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Inst-req-state { + type enumeration { + enum "in-progress" { + value 0; + description + "In progress"; + } + enum "success" { + value 1; + description + "Success"; + } + enum "failure" { + value 2; + description + "Failure"; + } + } + description + "Install request state type"; + } + + typedef Inst-fp-request-status { + type enumeration { + enum "generation-up-to-date" { + value 0; + description + "Runtime fingerprint generation up to date."; + } + enum "generation-in-progress" { + value 1; + description + "Runtime fingerprint generation in progress"; + } + enum "to-be-regenerated-at-apply" { + value 2; + description + "Runtime fingerprints will be regenerated on + apply"; + } + } + description + "package Fingerprint request status"; + } + + typedef Caveat { + type string; + description + "Caveat"; + } + + typedef Fix { + type string; + description + "DDTS or fix ID"; + } + + typedef Install-opt-string { + type string; + description + "Install opt string"; + } + + grouping INST-REQUEST-BAG { + description + "Request result bag"; + leaf request { + type string; + description + "The last user request"; + } + leaf state { + type Inst-req-state; + description + "The state of the last user request. Added + telemetry event for operation state"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf timestamp { + type string; + description + "The time the current state was entered"; + } + leaf error { + type string; + description + "String describing the error, if any"; + } + leaf operation-id { + type Install-opt-string; + description + "Operation ID of the ongoing or previous + completed install operation. Added + telemetry event for install operation id"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping INST-TOP-LEVEL-PKG-TYPE { + description + "Install user-installable package type"; + container rpm-fingerprint { + description + "RPM Fingerprint at install and run time"; + uses INST-RPM-FINGER-PRINT; + } + leaf name { + type string; + description + "Package name"; + } + leaf architecture { + type string; + description + "Architecture"; + } + leaf version { + type string; + description + "Version"; + } + leaf release { + type string; + description + "Release"; + } + leaf epoch { + type Install-opt-string; + description + "Epoch"; + } + leaf xr-mandatory { + type boolean; + description + "XR Mandatory"; + } + leaf xr-optional { + type boolean; + description + "XR Optional"; + } + leaf gpg-key-id { + type Install-opt-string; + description + "The GPG key ID at install time. A key ID of '0' + indicates a package with no GPG signature."; + } + } + + grouping INST-SUMMARY-PACKAGES-BAG { + description + "Summary packages result bag"; + leaf xr-packages-hash { + type string; + description + "Hash of XR packages"; + } + leaf label { + type Install-opt-string; + description + "Label of image"; + } + leaf rpm-fingerprint-status { + type Inst-fp-request-status; + description + "Package Fingerprint request status"; + } + leaf rpm-fingerprint-timestamp { + type Install-opt-string; + description + "Package run time fingerprint collection time"; + } + list package { + description + "Added telemetry event at packages level"; + uses INST-TOP-LEVEL-PKG-TYPE; + } + } + + grouping INST-PACKAGES-BAG { + description + "Package result bag"; + leaf rpm-fingerprint-status { + type Inst-fp-request-status; + description + "Package Fingerprint request status"; + } + leaf rpm-fingerprint-timestamp { + type Install-opt-string; + description + "Package run time fingerprint collection time"; + } + leaf label { + type Install-opt-string; + description + "Label of image"; + } + leaf xr-packages-hash { + type Install-opt-string; + description + "Hash of XR packages in this bag"; + } + list package { + description + "Packages"; + uses INST-PKG-TYPE; + } + } + + grouping INST-RPM-FINGER-PRINT { + description + "Install package fingerprint type"; + leaf rpm-fingerprint-install-time { + type Install-opt-string; + description + "Package fingerprint at install time."; + } + leaf rpm-fingerprint-run-time { + type Install-opt-string; + description + "Package fingerprint at run time. A runtime + fingerprint of '0' indicates that the runtime + fingerprint for this package has not yet been + calculated."; + } + } + + grouping INST-PKG-TYPE { + description + "Install package type"; + container rpm-fingerprint { + description + "RPM Fingerprint at install and run time"; + uses INST-RPM-FINGER-PRINT; + } + leaf name { + type string; + description + "Package name"; + } + leaf architecture { + type string; + description + "Architecture"; + } + leaf version { + type string; + description + "Version"; + } + leaf release { + type string; + description + "Release"; + } + leaf epoch { + type Install-opt-string; + description + "Epoch"; + } + leaf gpg-key-id { + type Install-opt-string; + description + "The GPG key ID at install time. A key ID of '0' + indicates a package with no GPG signature."; + } + } + + grouping INST-FIX-TYPE { + description + "INST FIX TYPE"; + leaf ddts { + type string; + description + "DDTS id"; + } + list package { + description + "Packages"; + uses INST-PKG-TYPE; + } + } + + grouping INST-FIXES-BAG { + description + "Install bag containing details of + active/committed fixes"; + list fixes { + description + "Fixes"; + uses INST-FIX-TYPE; + } + } + + grouping INST-VER-PKG-TYPE { + description + "Install package type"; + leaf name { + type string; + description + "Name"; + } + leaf version { + type string; + description + "Version"; + } + leaf built-by { + type string; + description + "User built by"; + } + leaf built-on { + type string; + description + "Time built"; + } + leaf workspace { + type string; + description + "Workspace built in"; + } + leaf build-host { + type string; + description + "Build host"; + } + } + + grouping INST-VERSION-BAG { + description + "Install version bag"; + leaf label { + type string; + description + "Added telemetry event on Label field"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf copyright-info { + type string; + description + "Copyright information"; + } + leaf hardware-info { + type string; + description + "Hardware information"; + } + leaf uptime { + type string; + description + "System uptime"; + } + leaf location { + type Install-opt-string; + description + "Prefix for the path where packages will be + installed"; + } + leaf processor { + type Install-opt-string; + description + "Processor"; + } + leaf chassis-pid { + type Install-opt-string; + description + "Chassis PID"; + } + leaf chassis-description { + type Install-opt-string; + description + "Chassis Unique Device Identifier description"; + } + leaf xr-host-name { + type Install-opt-string; + description + "Configured XR hostname"; + } + leaf total-ram { + type uint64; + description + "Total physical memory in GB"; + } + list package { + description + "Packages"; + uses INST-VER-PKG-TYPE; + } + } + + grouping INSTALL-UPGRADE-MATRIX-ISO { + description + "Upgrade matrix info for the input ISO"; + leaf info { + type Install-opt-string; + description + "Info"; + } + list upgrade-matrix-info { + description + "Upgrade matrix table"; + uses INSTALL-UPGRADE-MATRIX-DATA; + } + } + + grouping INST-UPGRADE-MATRIX-RPM { + description + "Upgrade matrix RPM details"; + leaf name { + type string; + description + "RPM name"; + } + leaf version { + type string; + description + "RPM version"; + } + } + + grouping INST-UPGRADE-MATRIX-FIX { + description + "Upgrade matrix fix"; + leaf fix { + type string; + description + "DDTS or fix ID"; + } + list rpms { + description + "RPMs"; + uses INST-UPGRADE-MATRIX-RPM; + } + } + + grouping INST-UPGRADE-MATRIX-HW { + description + "Upgrade matrix hardware data"; + leaf pid { + type Install-opt-string; + description + "PID"; + } + leaf reason { + type Install-opt-string; + description + "Reason for the hardware being unsupported"; + } + } + + grouping INSTALL-UPGRADE-MATRIX-DETAILS { + description + "Upgrade matrix details"; + leaf-list bridging-fixes { + type Fix; + description + "Bridging Fixes List"; + } + leaf-list caveats { + type Caveat; + description + "Caveats list"; + } + leaf-list blocklisted-fixe { + type Fix; + description + "Blocklisted Fixes List"; + } + list unsupported-hardware { + description + "Unsupported hardware list"; + uses INST-UPGRADE-MATRIX-HW; + } + list bridging-fixess-rpm { + description + "Bridging Fixes, list of DDTS (and associated + RPMs)"; + uses INST-UPGRADE-MATRIX-FIX; + } + list blocklisted-fixes-rpm { + description + "List of DDTS (and associated RPMs) which must + not be installed"; + uses INST-UPGRADE-MATRIX-FIX; + } + } + + grouping INSTALL-UPGRADE-MATRIX-RELEASE-DATA { + description + "Upgrade matrix version data"; + leaf from { + type string; + description + "From version"; + } + leaf to { + type string; + description + "To version"; + } + } + + grouping INSTALL-UPGRADE-MATRIX-DATA { + description + "Upgrade matrix data"; + container versions { + description + "Versions"; + uses INSTALL-UPGRADE-MATRIX-RELEASE-DATA; + } + container details { + description + "Details"; + uses INSTALL-UPGRADE-MATRIX-DETAILS; + } + } + + grouping INSTALL-UPGRADE-MATRIX-RUNNING { + description + "Upgrade matrix info for current running image"; + leaf info { + type Install-opt-string; + description + "Info"; + } + list upgrade-matrix-info { + description + "Upgrade matrix table"; + uses INSTALL-UPGRADE-MATRIX-DATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-oper.yang new file mode 100644 index 000000000..16cc9fee5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-oper.yang @@ -0,0 +1,229 @@ +module Cisco-IOS-XR-install-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-install-oper"; + prefix install-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-install-oper-sub1 { + revision-date 2021-08-10; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR install package operational data. + + This module contains definitions + for the following management objects: + install: Install operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-10 { + description + "Add force option to package abort."; + semver:module-version "1.4.1m"; + } + revision 2021-07-15 { + description + "Add pre-commit check support. + 2021-05-18 + Modified oper path for upgrade compatibility matrix with iso input + 2021-05-13 + Added optional hash into all package queries. + 2021-04-14 + Add system reload reason and config replace info + 2021-03-22 + Added support for upgrade compatibility matrix feature"; + semver:module-version "1.4.0"; + } + revision 2021-01-14 { + description + "Add DDTS info to rollback queries. + 2020-07-23 + Added optional label into inst_packages_bag. + 2020-07-22 + Update Inst-provides-match-type with additional provide value + 2020-05-27 + Add install and runtime fingerprint + 2020-05-27 + Add install and runtime fingerprint + 2020-05-27 + Add install and runtime fingerprint + 2020-05-13 + Updated version information to add hostname and disk space + 2020-05-13 + Updated version information to add hostname and disk space + 2020-05-13 + Updated version information to add hostname and disk space"; + semver:module-version "1.3.0"; + } + revision 2020-04-23 { + description + "Add categorization of installed software packages into Cisco and Non-Cisco + 2020-04-23 + Add categorization of installed software packages into Cisco and Non-Cisco + 2020-04-23 + Add categorization of installed software packages into Cisco and Non-Cisco + 2020-02-05 + Updated version information to add a GISO label + 2020-02-05 + Updated version information to add a GISO label + 2020-02-05 + Updated version information to add a GISO label + 2020-01-09 + Added optional label into inst_summary_packages_bag. + 2019-10-14 + Combined platform updates including updates to show install rollback list-ids"; + semver:module-version "1.2.0"; + } + revision 2019-10-13 { + description + "NCS540L 7.1.1 release + 2019-10-12 + 8000 series 7.0.11 release + 2019-08-13 + Common yang oper model for lindt and eXR install."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SUMMARY { + description + "Common node of committed, active"; + container summary { + description + "Summary information"; + uses INST-SUMMARY-PACKAGES-BAG; + } + } + + grouping NODE-TABLE { + description + "Common node of committed, active"; + container nodes { + description + "Table for per-node package data"; + list node { + key "node"; + description + "Per-node package data"; + leaf node { + type xr:Node-id; + description + "Node name"; + } + uses INST-PACKAGES-BAG; + } + } + } + + container install { + config false; + description + "Install operational data"; + container upgrade-matrix { + description + "Upgrade compatibility matrix information"; + container running { + description + "Show matrix for all supported known paths from + the current active version"; + uses INSTALL-UPGRADE-MATRIX-RUNNING; + } + container isos { + description + "Show upgrade matrix for the input (G)ISO"; + list iso { + key "iso-path"; + description + "Absolute path to the (G)ISO"; + container from-running { + description + "Show upgrade matrix from the current active + version to the input (G)ISO"; + uses INSTALL-UPGRADE-MATRIX-ISO; + } + container all { + description + "Show upgrade matrix for all supported known + paths for the input (G)ISO"; + uses INSTALL-UPGRADE-MATRIX-ISO; + } + leaf iso-path { + type string { + length "1..256"; + } + description + "Absolute path to (G)ISO"; + } + } + } + } + container version { + description + "Install version information"; + uses INST-VERSION-BAG; + } + container fixes { + description + "Information about installed fixes"; + container active { + description + "Information about fixes that are active"; + uses INST-FIXES-BAG; + } + container committed { + description + "Information about fixes that are committed"; + uses INST-FIXES-BAG; + } + } + container packages { + description + "Information about packages installed to the + system"; + container committed { + description + "Information about committed packages"; + uses NODE-TABLE; + uses SUMMARY; + } + container active { + description + "Information about active packages"; + uses NODE-TABLE; + uses SUMMARY; + } + } + container request { + description + "Information about the latest user request"; + uses INST-REQUEST-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-install-search-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-install-search-act.yang new file mode 100644 index 000000000..ad3a3160e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-install-search-act.yang @@ -0,0 +1,321 @@ +module Cisco-IOS-XR-install-search-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-install-search-act"; + prefix install-search-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR install actions related to searching for package + information. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-03 { + description + "Modified tasks for the RPC operations."; + semver:module-version "2.0.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-12-01 { + description + "IOS XR 7.1.1 revision."; + } + + typedef Inst-provides-match-type { + type enumeration { + enum "description" { + value 0; + description + "Description"; + } + enum "URL" { + value 1; + description + "URL"; + } + enum "license" { + value 2; + description + "License"; + } + enum "filename" { + value 3; + description + "Filename"; + } + enum "other" { + value 4; + description + "Other"; + } + enum "provide" { + value 5; + description + "Provide"; + } + } + description + "Install provides match type"; + } + + grouping INST-PKG-COMMON-TYPE { + description + "Package details"; + leaf name { + type string; + description + "Package name"; + } + leaf architecture { + type string; + description + "Package architecture"; + } + leaf summary { + type string; + description + "Brief package description"; + } + } + + grouping INST-PKG-VERSION-TYPE { + description + "Package versioning information"; + leaf version { + type string; + description + "Package version"; + } + leaf epoch { + type string; + description + "Package epoch, if any"; + } + leaf release { + type string; + description + "Package release"; + } + } + + grouping INST-PKG-INFO-TYPE { + description + "Further package details for 'info' queries"; + leaf size { + type uint32; + description + "Package size, in kB"; + } + leaf description { + type string; + description + "More detailed description of the package"; + } + leaf license { + type string; + description + "Package license information"; + } + leaf repository { + type string; + description + "Repository containing the package"; + } + leaf url { + type string; + description + "Repository URL reference"; + } + } + + grouping INST-PKG-SEARCH-LIST-TYPE { + description + "Install package search list type"; + container packages { + description + "List of packages"; + list package { + description + "List of packages"; + uses INST-PKG-COMMON-TYPE; + } + } + } + + grouping INST-PKG-INFO-LIST-TYPE { + description + "Install package info list type"; + container packages { + description + "List of packages"; + list package { + description + "List of packages"; + uses INST-PKG-COMMON-TYPE; + uses INST-PKG-VERSION-TYPE; + uses INST-PKG-INFO-TYPE; + } + } + } + + grouping INST-PKG-REPOSITORY-WARNINGS { + description + "Information about user configured repositories that were searched"; + container inaccessible-repositories { + description + "List of repositories that the package manager was unable to access, + likely due to configuration errors or network connectivity"; + leaf-list repository { + type string; + description + "repository-name"; + } + } + container repositories-metadata-failed { + description + "List of local repositories where automatic metadata generation + failed. Information about packages in these repositories may not be + up to date."; + leaf-list repository { + type string; + description + "repository-name"; + } + } + } + + grouping INST-PKG-PROVIDES-LIST-TYPE { + description + "Install package provides list type"; + container packages { + description + "List of packages"; + list package { + description + "List of packages"; + uses INST-PKG-COMMON-TYPE; + uses INST-PKG-VERSION-TYPE; + leaf repository { + type string; + description + "Repository containing the package"; + } + container provides-matches { + description + "Features or dependencies this package provides"; + list provides-match { + description + "Provides match"; + leaf match_type { + type Inst-provides-match-type; + description + "Type of object that the item was matched from"; + } + leaf item { + type string; + description + "Package/feature/filename that is provided"; + } + } + } + } + } + } + + rpc info { + description + "Search for information about the given packages"; + input { + leaf search-packages { + type string { + length "1..1024"; + } + description + "Space separated list of packages to query"; + } + } + output { + container results { + description + "Info results"; + uses INST-PKG-INFO-LIST-TYPE; + uses INST-PKG-REPOSITORY-WARNINGS; + } + } + csc:xr-task "pkg-mgmt"; + } + rpc provides { + description + "Search for packages that provide the given file. Wildcards may + be used (do not use quotes)."; + input { + leaf search-files { + type string { + length "1..1024"; + } + description + "Space separated list of files or wildcard strings to query"; + } + } + output { + container results { + description + "Provides results"; + uses INST-PKG-PROVIDES-LIST-TYPE; + uses INST-PKG-REPOSITORY-WARNINGS; + } + } + csc:xr-task "pkg-mgmt"; + } + rpc search { + description + "Search for packages that contain the given string in the name, + summary, description or url. Wildcards may be used."; + input { + leaf search-strings { + type string { + length "1..1024"; + } + description + "Space separated list of strings to search for"; + } + } + output { + container results { + description + "Search results"; + uses INST-PKG-SEARCH-LIST-TYPE; + uses INST-PKG-REPOSITORY-WARNINGS; + } + } + csc:xr-task "pkg-mgmt"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-cfg.yang new file mode 100644 index 000000000..dd4db6d7c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-cfg.yang @@ -0,0 +1,62 @@ +module Cisco-IOS-XR-invmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-cfg"; + prefix invmgr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR invmgr package configuration. + + This module contains definitions + for the following management objects: + inventory-configurations: Configuration for inventory entities + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container inventory-configurations { + description + "Configuration for inventory entities"; + list entity { + key "name"; + description + "Entity name"; + leaf name { + type string; + description + "Entity name"; + } + leaf name-xr { + type string; + mandatory true; + description + "Entity name"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper-sub1.yang new file mode 100644 index 000000000..e391206a3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper-sub1.yang @@ -0,0 +1,53 @@ +submodule Cisco-IOS-XR-invmgr-diag-oper-sub1 { + belongs-to Cisco-IOS-XR-invmgr-diag-oper { + prefix Cisco-IOS-XR-invmgr-diag-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR invmgr-diag package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping INVMGR-DIAG-DETAIL-FORMAT { + description + "invmgr diag detail format"; + leaf name { + type string; + description + "Name of the entity"; + } + leaf fmt-detail-output { + type string; + description + "Formatted detail output"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper.yang new file mode 100644 index 000000000..4dbedb113 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-diag-oper.yang @@ -0,0 +1,147 @@ +module Cisco-IOS-XR-invmgr-diag-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-diag-oper"; + prefix invmgr-diag-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-invmgr-diag-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR invmgr-diag package operational data. + + This module contains definitions + for the following management objects: + diag: Diag information + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping INSTANCE-TABLE { + description + "Common node of slot, fan-tray, power-shelf"; + container instances { + description + "Table of instances"; + list instance { + key "name"; + description + "instance number"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Instance name"; + } + uses DETAIL; + } + } + } + + grouping DETAIL { + description + "Common node of instance, chassis"; + container detail { + description + "Detail information"; + uses INVMGR-DIAG-DETAIL-FORMAT; + } + } + + container diag { + config false; + description + "Diag information"; + container racks { + description + "Table of racks"; + list rack { + key "rack-name"; + description + "Rack name"; + container power-shelfs { + description + "Table for rack power shelf "; + list power-shelf { + key "power-shelf-name"; + description + "Power shelf name"; + leaf power-shelf-name { + type xr:Cisco-ios-xr-string; + description + "Power Shelf name"; + } + uses INSTANCE-TABLE; + } + } + container fan-trays { + description + "Table for rack fan trays"; + list fan-tray { + key "fan-tray-name"; + description + "Fan tray name"; + leaf fan-tray-name { + type xr:Cisco-ios-xr-string; + description + "Fan tray name"; + } + uses INSTANCE-TABLE; + } + } + container slots { + description + "Table of slots"; + list slot { + key "slot-name"; + description + "Slot name"; + leaf slot-name { + type xr:Cisco-ios-xr-string; + description + "Slot name"; + } + uses INSTANCE-TABLE; + } + } + container chassis { + description + "Chassis information"; + uses DETAIL; + } + leaf rack-name { + type xr:Cisco-ios-xr-string; + description + "Rack name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub1.yang new file mode 100644 index 000000000..b118c473b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub1.yang @@ -0,0 +1,696 @@ +submodule Cisco-IOS-XR-invmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-invmgr-oper { + prefix Cisco-IOS-XR-invmgr-oper; + } + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR invmgr package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-09 { + description + "Deprecated pluggable-info container"; + semver:module-version "3.0.0"; + } + revision 2020-05-08 { + description + "Deprecated Inventory:Rack container. + 2020-03-30 + Changed threshold-value type to int32. + 2019-10-07 + Added pluggable-info bag. + 2019-10-04 + Removed slot-info, vm-done bags."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-21 { + description + "Resolved string constraints issue."; + } + revision 2018-08-03 { + description + "Added slot-info and parent-info bags."; + } + revision 2018-04-19 { + description + "Added additional bags"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping VM-NODEID-INFO { + description + "VM Node ID Information"; + leaf vm-node-id { + type uint32; + description + "VM Node Id Tuple"; + } + } + + grouping NODEID-INFO { + description + "Node ID Information"; + leaf node-id { + type uint32; + description + "Node Id Tuple"; + } + } + + grouping SUPPORTED-INTERFACES-INFO { + description + "Interface Capability"; + leaf name { + type string { + length "0..255"; + } + description + "Name of the interface capability"; + } + } + + grouping PLUGGABLE-TYPE { + description + "Supported Interfaces for pluggable"; + leaf name { + type string { + length "0..255"; + } + description + "Name of the pluggable"; + } + leaf description { + type string { + length "0..255"; + } + description + "Description for the pluggable"; + } + list supported-interface { + description + "List of supported interfaces for the pluggable"; + uses SUPPORTED-INTERFACES-INFO; + } + } + + grouping PLUGGABLE-INFO { + description + "Bag to store the available pluggable types for a + container"; + list pluggable-type { + description + "List of the Pluggables for the container"; + uses PLUGGABLE-TYPE; + } + } + + grouping INV-PARENT-INFO { + description + "Bag to indicate the name of the parent entity"; + leaf name { + type string { + length "0..255"; + } + description + "Parent entity name"; + } + } + + grouping SUBENTITY-INFO { + description + "Subentity Information"; + leaf subentity-name { + type string { + length "0..255"; + } + description + "Describe the Subentity Name"; + } + } + + grouping RMA-DETAIL { + description + "EEPROM RMA data content"; + leaf test-history { + type string { + length "0..255"; + } + description + "RMA detail Test history innformation"; + } + leaf rma-number { + type string { + length "0..255"; + } + description + "RMA tracking number format is N-N-N"; + } + leaf rma-history { + type string { + length "0..255"; + } + description + "RMA history infromation"; + } + } + + grouping DIAG-EEPROM { + description + "Diag EEPROM data content"; + container rma { + description + "Description of Entity RMA Data"; + uses RMA-DETAIL; + } + leaf description { + type string { + length "0..255"; + } + description + "A textual description of physical entity"; + } + leaf idprom-format-rev { + type string { + length "0..255"; + } + description + "Description of Entity IDPROM Format Revision"; + } + leaf controller-family { + type string { + length "0..255"; + } + description + "Description of Entity Controller family"; + } + leaf controller-type { + type string { + length "0..255"; + } + description + "Description of Entity Controller type"; + } + leaf vid { + type string { + length "0..255"; + } + description + "Description of Entity Version ID"; + } + leaf hwid { + type string { + length "0..255"; + } + description + "Description of Entity Hardware Revision"; + } + leaf pid { + type string { + length "0..255"; + } + description + "Description of Entity Product ID"; + } + leaf udi-description { + type string { + length "0..255"; + } + description + "Description of Entity UDI"; + } + leaf udi-name { + type string { + length "0..255"; + } + description + "Description of Entity UDI name"; + } + leaf clei { + type string { + length "0..255"; + } + description + "Common Language Equipment Identifier (CLEI) code"; + } + leaf eci { + type string { + length "0..255"; + } + description + "Equipment Catalog Item (ECI) number"; + } + leaf top-assem-part-num { + type string { + length "0..255"; + } + description + "Description of Top assembly part number"; + } + leaf top-assem-vid { + type string { + length "0..255"; + } + description + "Description of Top assembly revision number"; + } + leaf pca-num { + type string { + length "0..255"; + } + description + "Description of Entity PCA number"; + } + leaf pcavid { + type string { + length "0..255"; + } + description + "Description of Entity PCA revision ID"; + } + leaf chassis-sid { + type string { + length "0..255"; + } + description + "Description of Entity Chassis serial number"; + } + leaf dev-num1 { + type string { + length "0..255"; + } + description + "Deviation Number # 1"; + } + leaf dev-num2 { + type string { + length "0..255"; + } + description + "Deviation Number # 2"; + } + leaf dev-num3 { + type string { + length "0..255"; + } + description + "Deviation Number # 3"; + } + leaf dev-num4 { + type string { + length "0..255"; + } + description + "Deviation Number # 4"; + } + leaf dev-num5 { + type string { + length "0..255"; + } + description + "Deviation Number # 5"; + } + leaf dev-num6 { + type string { + length "0..255"; + } + description + "Deviation Number # 6"; + } + leaf dev-num7 { + type string { + length "0..255"; + } + description + "Deviation Number # 7"; + } + leaf manu-test-data { + type string { + length "0..255"; + } + description + "Manufacturing Test Data"; + } + leaf asset-id { + type string { + length "0..255"; + } + description + "Description of Entity Asset ID"; + } + leaf asset-alias { + type string { + length "0..255"; + } + description + "Description of Entity Asset Alias"; + } + leaf base-mac-address1 { + type string { + length "0..255"; + } + description + "Base Mac Address #1"; + } + leaf mac-add-blk-size1 { + type string { + length "0..255"; + } + description + "Mac Address Block Size #1"; + } + leaf base-mac-address2 { + type string { + length "0..255"; + } + description + "Base Mac Address #2"; + } + leaf mac-add-blk-size2 { + type string { + length "0..255"; + } + description + "Mac Address Block Size #2"; + } + leaf base-mac-address3 { + type string { + length "0..255"; + } + description + "Base Mac Address #3"; + } + leaf mac-add-blk-size3 { + type string { + length "0..255"; + } + description + "Mac Address Block Size #3"; + } + leaf base-mac-address4 { + type string { + length "0..255"; + } + description + "Base Mac Address #4"; + } + leaf mac-add-blk-size4 { + type string { + length "0..255"; + } + description + "Mac Address Block Size #4"; + } + leaf pcb-serial-num { + type string { + length "0..255"; + } + description + "Description of Entity PCB Serial Number"; + } + leaf power-supply-type { + type string { + length "0..255"; + } + description + "Description of Entity Power Supply Type"; + } + leaf power-consumption { + type string { + length "0..255"; + } + description + "Description of Entity Power Consumption"; + } + leaf block-signature { + type string { + length "0..255"; + } + description + "Description of Entity Block Signature"; + } + leaf block-version { + type string { + length "0..255"; + } + description + "Description of Entity Block Version"; + } + leaf block-length { + type string { + length "0..255"; + } + description + "Description of Entity Block Length"; + } + leaf block-checksum { + type string { + length "0..255"; + } + description + "Description of Entity Block Checksum"; + } + leaf eeprom-size { + type string { + length "0..255"; + } + description + "Description of Entity EEPROM Size"; + } + leaf block-count { + type string { + length "0..255"; + } + description + "Description of Entity Block Count"; + } + leaf fru-major-type { + type string { + length "0..255"; + } + description + "Description of Entity FRU Major Type"; + } + leaf fru-minor-type { + type string { + length "0..255"; + } + description + "Description of Entity FRU Minor Type"; + } + leaf oem-string { + type string { + length "0..255"; + } + description + "Description of Entity OEM String"; + } + leaf product-id { + type string { + length "0..255"; + } + description + "Description of Entity Product ID"; + } + leaf serial-number { + type string { + length "0..255"; + } + description + "Description of Entity Serial Number"; + } + leaf part-number { + type string { + length "0..255"; + } + description + "Description of Entity Part Number"; + } + leaf part-revision { + type string { + length "0..255"; + } + description + "Description of Entity Part Revision"; + } + leaf mfg-deviation { + type string { + length "0..255"; + } + description + "Description of Entity MFG Deviation"; + } + leaf hw-version { + type string { + length "0..255"; + } + description + "Description of Entity Hardware Version"; + } + leaf mfg-bits { + type string { + length "0..255"; + } + description + "Description of Entity MFG Bits"; + } + leaf engineer-use { + type string { + length "0..255"; + } + description + "Description of Entity Engineer Use"; + } + leaf snmpoid { + type string { + length "0..255"; + } + description + "Description of Entity SNMP OID"; + } + leaf rma-code { + type string { + length "0..255"; + } + description + "Description of Entity RMA Code"; + } + leaf eci-alpha-number { + type string { + length "0..255"; + } + description + "AlphaNumeric Equipment Catalog Item (ECI) number"; + } + } + + grouping INVMGR-EEPROM-OPAQUE-DATA { + description + "invmgr eeprom opaque data"; + container eeprom { + description + "EEPROM data not from hex data"; + uses DIAG-EEPROM; + } + leaf inv-card-type { + type uint8; + description + "Inventory card type"; + } + leaf opaque-data { + type yang:hex-string; + description + "EEPROM hex data"; + } + leaf opaque-data-size { + type uint32; + description + "size of the EEPROM hex data"; + } + leaf has-eeprom { + type uint32; + description + "use eeprom instead of opaque data"; + } + leaf has-eeprom-format { + type uint32; + description + "has eeprom format "; + } + leaf eeprom-format { + type uint32; + description + "eeprom format"; + } + leaf name { + type string { + length "0..255"; + } + description + "A textual description of physical entity"; + } + leaf description { + type string { + length "0..255"; + } + description + "A textual description of physical entity"; + } + leaf form-factor { + type uint32; + description + "Optics form factor"; + } + leaf connector-type { + type uint32; + description + "Describes the Entity Connector type"; + } + leaf otn-application-code { + type uint32; + description + "Describes the Entity Otn Application Code"; + } + leaf sonet-application-code { + type uint32; + description + "Describes the Entity Sonet Application Code"; + } + leaf ethernet-compliance-code { + type uint32; + description + "Describes the Entity Ethernet Compliance Code"; + } + leaf date-string { + type string { + length "0..255"; + } + description + "Describes the Entity Date string in IDPROM"; + } + leaf vendor-revision { + type string { + length "0..255"; + } + description + "Vendor rev string in IDPROM"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub2.yang new file mode 100644 index 000000000..5aaacb618 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub2.yang @@ -0,0 +1,338 @@ +submodule Cisco-IOS-XR-invmgr-oper-sub2 { + belongs-to Cisco-IOS-XR-invmgr-oper { + prefix Cisco-IOS-XR-invmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR invmgr package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-09 { + description + "Deprecated pluggable-info container"; + semver:module-version "3.0.0"; + } + revision 2020-05-08 { + description + "Deprecated Inventory:Rack container. + 2020-03-30 + Changed threshold-value type to int32. + 2019-10-07 + Added pluggable-info bag. + 2019-10-04 + Removed slot-info, vm-done bags."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-21 { + description + "Resolved string constraints issue."; + } + revision 2018-08-03 { + description + "Added slot-info and parent-info bags."; + } + revision 2018-04-19 { + description + "Added additional bags"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Threshold-relation { + type enumeration { + enum "less-than" { + value 1; + description + "Sensor value is less than threshold"; + } + enum "less-or-equal" { + value 2; + description + "Sensor value is lesser than or equal to + threshold"; + } + enum "greater-than" { + value 3; + description + "Sensor value is greater than threshold"; + } + enum "greater-or-equal" { + value 4; + description + "Sensor value is greater than or equal to + threshold"; + } + enum "equal" { + value 5; + description + "Sensor value is equal to threshold"; + } + enum "not-equal" { + value 6; + description + "Sensor value is not equal to threshold"; + } + } + description + "Threshold relation"; + } + + typedef Threshold-severity { + type enumeration { + enum "other" { + value 1; + description + "Other"; + } + enum "minor" { + value 10; + description + "Minor"; + } + enum "major" { + value 20; + description + "Major"; + } + enum "critical" { + value 30; + description + "Critical"; + } + } + description + "Threshold severity"; + } + + typedef Sensor-status { + type enumeration { + enum "ok" { + value 1; + description + "State ok"; + } + enum "unavailable" { + value 2; + description + "State Unavailable"; + } + enum "non-operational" { + value 3; + description + "State no operational"; + } + } + description + "Sensor status"; + } + + typedef Sensor-data { + type enumeration { + enum "unknown" { + value 2; + description + "Datatype unknown"; + } + enum "ac-volts" { + value 3; + description + "AC volts"; + } + enum "dc-volts" { + value 4; + description + "DC volts"; + } + enum "amperes" { + value 5; + description + "Amperes"; + } + enum "watts" { + value 6; + description + "Power in watts"; + } + enum "hertz" { + value 7; + description + "Frequency in hertz"; + } + enum "celsius" { + value 8; + description + "Celsius"; + } + enum "rpm" { + value 10; + description + "Rotations per minute"; + } + enum "dbm" { + value 14; + description + "Power in dBm"; + } + enum "db" { + value 15; + description + "Power in dB"; + } + } + description + "Sensor measurement data types"; + } + + typedef Unit { + type enumeration { + enum "celsius" { + description + "Degree in celsius"; + } + enum "milli-volts" { + description + "Milli volts"; + } + enum "milli-amperes" { + description + "Milli amperes"; + } + enum "rpm" { + description + "Rotations per minute"; + } + enum "watts" { + description + "Watts"; + } + enum "dbm" { + description + "dBm"; + } + enum "db" { + description + "dB"; + } + } + description + "Unit information"; + } + + grouping ENVMON-THRESHOLD-TYPE { + description + "Threshold information of a specific type"; + leaf threshold-severity { + type Threshold-severity; + description + "Indicates minor, major, critical severities"; + } + leaf threshold-relation { + type Threshold-relation; + description + "Indicates relation between sensor value and + threshold"; + } + leaf threshold-value { + type int32; + description + "Value of the configured threshold"; + } + leaf threshold-name { + type string { + length "0..50"; + } + description + "Indicates the Threshold name"; + } + } + + grouping ENVMON-THRESHOLD-INFO-XML { + description + "Threshold information"; + list threshold-array { + description + "Array of threshold"; + uses ENVMON-THRESHOLD-TYPE; + } + } + + grouping ENVMON-SENSOR-INFO-XML { + description + "Environment monitoring sensor information"; + container threshold { + description + "Threshold information"; + uses ENVMON-THRESHOLD-INFO-XML; + } + leaf description { + type string { + length "0..50"; + } + description + "Device Name"; + } + leaf units { + type Unit; + description + "Units of variable being read"; + } + leaf value { + type string { + length "0..50"; + } + description + "Current reading of sensor Displays in decimal(ex + 1.234) for powersupply sensor type"; + } + leaf data-type { + type Sensor-data; + description + "Sensor data type"; + } + leaf status { + type Sensor-status; + description + "Sensor operation state"; + } + leaf update-rate { + type uint32; + description + "Sensor value update rate; set to 0 if sensor + value is updated and evaluated immediately"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub3.yang new file mode 100644 index 000000000..90d25d1bf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub3.yang @@ -0,0 +1,532 @@ +submodule Cisco-IOS-XR-invmgr-oper-sub3 { + belongs-to Cisco-IOS-XR-invmgr-oper { + prefix Cisco-IOS-XR-invmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR invmgr package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-09 { + description + "Deprecated pluggable-info container"; + semver:module-version "3.0.0"; + } + revision 2020-05-08 { + description + "Deprecated Inventory:Rack container. + 2020-03-30 + Changed threshold-value type to int32. + 2019-10-07 + Added pluggable-info bag. + 2019-10-04 + Removed slot-info, vm-done bags."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-21 { + description + "Resolved string constraints issue."; + } + revision 2018-08-03 { + description + "Added slot-info and parent-info bags."; + } + revision 2018-04-19 { + description + "Added additional bags"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Card-reset-reason { + type enumeration { + enum "reset-unknown" { + value 1; + description + "reset unknown"; + } + enum "power-up" { + value 2; + description + "power up"; + } + enum "parity-error" { + value 3; + description + "parity error"; + } + enum "clear-config-reset" { + value 4; + description + "clear config reset"; + } + enum "manual-reset" { + value 5; + description + "manual reset"; + } + enum "watch-dog-timeout-reset" { + value 6; + description + "watch dog timeout reset"; + } + enum "resource-overflow-reset" { + value 7; + description + "resource overflow reset"; + } + enum "missing-task-reset" { + value 8; + description + "missing task reset"; + } + enum "low-voltage-reset" { + value 9; + description + "low voltage reset"; + } + enum "controller-reset" { + value 10; + description + "controller reset"; + } + enum "system-reset" { + value 11; + description + "system reset"; + } + enum "switchover-reset" { + value 12; + description + "switchover reset"; + } + enum "upgrade-reset" { + value 13; + description + "upgrade reset"; + } + enum "downgrade-reset" { + value 14; + description + "downgrade reset"; + } + enum "cache-error-reset" { + value 15; + description + "cache error reset"; + } + enum "device-driver-reset" { + value 16; + description + "device driver reset"; + } + enum "software-exception-reset" { + value 17; + description + "software exception reset"; + } + enum "restore-config-reset" { + value 18; + description + "restore config reset"; + } + enum "abort-rev-reset" { + value 19; + description + "abort rev reset"; + } + enum "burn-boot-reset" { + value 20; + description + "burn boot reset"; + } + enum "standby-cd-healthier-reset" { + value 21; + description + "standby cd healthier reset"; + } + enum "non-native-config-clear-reset" { + value 22; + description + "non native config clear reset"; + } + enum "memory-protection-error-reset" { + value 23; + description + "memory protection error reset"; + } + enum "card-reset-reason-max" { + value 24; + description + "card reset reason max"; + } + } + description + "Card reset reason"; + } + + grouping INV-TIMESPEC { + description + "Inventory FRU Info Time Spec"; + leaf time-in-seconds { + type int32; + units "second"; + description + "Time Value in Seconds"; + } + leaf time-in-nano-seconds { + type int32; + units "nanosecond"; + description + "Time Value in Nano-seconds"; + } + } + + grouping INV-CARD-FRU-INFO { + description + "card (FRU) operation state bag"; + container last-operational-state-change { + description + "last card oper change state"; + uses INV-TIMESPEC; + } + container card-up-time { + description + "time for which the card has remained up"; + uses INV-TIMESPEC; + } + leaf card-administrative-state { + type int32; + description + "Indicates the card admin state: shutdown or not"; + } + leaf power-administrative-state { + type int32; + description + "Indicates the power admin state: up or down"; + } + leaf card-operational-state { + type int32; + description + "Indicates the card operation state"; + } + leaf card-monitor-state { + type int32; + description + "Indicates the card is monitored by a manager or + left unmonitored"; + } + leaf card-reset-reason { + type Card-reset-reason; + description + "Indicates the card reset reason enum"; + } + leaf power-current-measurement { + type int32; + description + "power current: not implemented"; + } + leaf power-operational-state { + type int32; + description + "Power operation state value"; + } + } + + grouping INV-PWG-INFO { + description + "Power supply group bag"; + leaf power-group-redundancy-mode { + type int32; + description + "redundancy mode"; + } + leaf power-group-power-units { + type string; + description + "power units"; + } + leaf power-group-available-current { + type int32; + description + "available current"; + } + leaf power-group-drawn-current { + type int32; + description + "drawn current"; + } + } + + grouping INV-PHY-ENTITY-BASIC-INFO { + description + "Bag contains all the basic inventory information + for each entity"; + leaf description { + type string { + length "0..255"; + } + description + "describes in user-readable termswhat the entity + in question does"; + } + leaf vendor-type { + type string { + length "0..255"; + } + description + "maps to the vendor OID string"; + } + leaf name { + type string { + length "0..255"; + } + description + "Describes the Entity name string"; + } + leaf hardware-revision { + type string { + length "0..255"; + } + description + "Describes the Entity hw revision string"; + } + leaf firmware-revision { + type string { + length "0..255"; + } + description + "Describes the Entity firmware revision string"; + } + leaf software-revision { + type string { + length "0..255"; + } + description + "Describes the Entity software revision string"; + } + leaf chip-hardware-revision { + type string { + length "0..255"; + } + description + "Describes the Entity chip module hw revision + string"; + } + leaf serial-number { + type string { + length "0..255"; + } + description + "Describes the Entity serial number string"; + } + leaf manufacturer-name { + type string { + length "0..255"; + } + description + "Describes the Entity manufacturer's name string"; + } + leaf model-name { + type string { + length "0..255"; + } + description + "Describes the Entity model name"; + } + leaf asset-id-str { + type string { + length "0..255"; + } + description + "Describes the Entity asset Identification string"; + } + leaf asset-identification { + type int32; + description + "Describes the Entity asset Identification number"; + } + leaf is-field-replaceable-unit { + type boolean; + description + "1 if Field Replaceable Unit 0, if not"; + } + leaf manufacturer-asset-tags { + type int32; + description + "Describes the Entity Manufacture Asset Tags + number"; + } + leaf composite-class-code { + type int32; + description + "Major&minor class of the entity"; + } + leaf memory-size { + type int32; + description + "Size of memory associated withthe entity where + applicable"; + } + leaf environmental-monitor-path { + type string { + length "0..255"; + } + description + "sysdb name of sensor in the envmon EDM"; + } + leaf alias { + type string { + length "0..255"; + } + description + "useful for storing an entity alias "; + } + leaf group-flag { + type boolean; + description + "indicates if this entity is groupor not"; + } + leaf new-deviation-number { + type int32; + description + "integer value for New Deviation Number 0x88"; + } + leaf physical-layer-interface-module-type { + type int32; + description + "integer value for plim type ifapplicable to this + entity"; + } + leaf unrecognized-fru { + type boolean; + description + "1 if UnrecognizedFRU and 0 for recognizedFRU"; + } + leaf redundancystate { + type int32; + description + "integer value for Redundancy State ifapplicable + to this entity"; + } + leaf ceport { + type boolean; + description + "1 if ce port found, 0 if not"; + } + leaf xr-scoped { + type boolean; + description + "1 if xr scoped, 0 if not"; + } + leaf unique-id { + type int32; + description + "Unique id for an entity"; + } + leaf allocated-power { + type int32; + description + "Allocated power for an entity"; + } + leaf power-capacity { + type int32; + description + "Power Capacity of a Power Module"; + } + } + + grouping INV-PHY-ENTITY-ASSET-INFO { + description + "The physical entity detaled asset attribute bag"; + leaf part-number { + type string { + length "0..255"; + } + description + "Describes the Entity Part Number"; + } + leaf manufacturer-assembly-number { + type string { + length "0..255"; + } + description + "Describes the Entity Manufacture Assembly number + string"; + } + leaf manufacturer-assembly-revision { + type string { + length "0..255"; + } + description + "Describes the Entity Manufacture assembly + revision string"; + } + leaf manufacturer-firmware-identifier { + type string { + length "0..255"; + } + description + "Describes the Entity Manufacturer Firmware + Identifier string"; + } + leaf manufacturer-software-identifier { + type string { + length "0..255"; + } + description + "Describes the Entity Manufacturer Software + Identifier string"; + } + leaf manufacturer-common-language-equipment-identifier { + type string { + length "0..255"; + } + description + "Describes the Entity Common LanguageEquipment + Identifier number"; + } + leaf original-equipment-manufacturer-string { + type string { + length "0..255"; + } + description + "Describes the Entity String containingOEM + information if applicable"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub4.yang new file mode 100644 index 000000000..6ad206715 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper-sub4.yang @@ -0,0 +1,209 @@ +submodule Cisco-IOS-XR-invmgr-oper-sub4 { + belongs-to Cisco-IOS-XR-invmgr-oper { + prefix Cisco-IOS-XR-invmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR invmgr package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-09 { + description + "Deprecated pluggable-info container"; + semver:module-version "3.0.0"; + } + revision 2020-05-08 { + description + "Deprecated Inventory:Rack container. + 2020-03-30 + Changed threshold-value type to int32. + 2019-10-07 + Added pluggable-info bag. + 2019-10-04 + Removed slot-info, vm-done bags."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-21 { + description + "Resolved string constraints issue."; + } + revision 2018-08-03 { + description + "Added slot-info and parent-info bags."; + } + revision 2018-04-19 { + description + "Added additional bags"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ENVMON-THRESHOLD-INFO { + description + "ENVMON threshold Info"; + leaf threshold-severity { + type uint32; + description + "Indicates minor, major, critical severities"; + } + leaf threshold-relation { + type uint32; + description + "Indicates relation between sensor value and + threshold"; + } + leaf threshold-value { + type int32; + description + "Value of the configured threshold"; + } + leaf threshold-evaluation { + type boolean; + description + "Indicates the result of the most recent + evaluation of the thresholD"; + } + leaf threshold-notification-enabled { + type boolean; + description + "Indicates whether or not a notification should + result, in case of threshold violation"; + } + } + + grouping ENVMON-SENSOR-INFO { + description + "ENVMON sensor Info"; + leaf field-validity-bitmap { + type uint32; + description + "Sensor valid bitmap"; + } + leaf device-description { + type string { + length "0..50"; + } + description + "Device Name"; + } + leaf units { + type string { + length "0..50"; + } + description + "Units of variable being read"; + } + leaf device-id { + type uint32; + description + "Identifier for this device"; + } + leaf value { + type uint32; + description + "Current reading of sensor"; + } + leaf alarm-type { + type uint32; + description + "Indicates threshold violation"; + } + leaf data-type { + type uint32; + description + "Sensor data type enums"; + } + leaf scale { + type uint32; + description + "Sensor scale enums"; + } + leaf precision { + type uint32; + description + "Sensor precision range"; + } + leaf status { + type uint32; + description + "Sensor operation state enums"; + } + leaf age-time-stamp { + type uint32; + description + "Age of the sensor value; set to the current time + if directly access the value from sensor"; + } + leaf update-rate { + type uint32; + description + "Sensor value update rate;set to 0 if sensor + value is updated and evaluated immediately"; + } + leaf average { + type int32; + description + "Average sensor value over time interval"; + } + leaf minimum { + type int32; + description + "Minimum Sensor value over time interval"; + } + leaf maximum { + type int32; + description + "Maximum Sensor value over time interval"; + } + leaf interval { + type int32; + description + "Time Interval over which sensor value is + monitored"; + } + leaf min-time { + type uint64; + description + "Absolute time when maximum sensor value occured"; + } + leaf max-time { + type uint64; + description + "Absolute time when minimum sensor value occured"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper.yang new file mode 100644 index 000000000..a9d966391 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invmgr-oper.yang @@ -0,0 +1,577 @@ +module Cisco-IOS-XR-invmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-oper"; + prefix invmgr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-invmgr-oper-sub4 { + revision-date 2020-11-09; + } + include Cisco-IOS-XR-invmgr-oper-sub3 { + revision-date 2020-11-09; + } + include Cisco-IOS-XR-invmgr-oper-sub2 { + revision-date 2020-11-09; + } + include Cisco-IOS-XR-invmgr-oper-sub1 { + revision-date 2020-11-09; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR invmgr package operational data. + + This module contains definitions + for the following management objects: + inventory: Inventory information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-09 { + description + "Deprecated pluggable-info container"; + semver:module-version "3.0.0"; + } + revision 2020-05-08 { + description + "Deprecated Inventory:Rack container. + 2020-03-30 + Changed threshold-value type to int32. + 2019-10-07 + Added pluggable-info bag. + 2019-10-04 + Removed slot-info, vm-done bags."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-21 { + description + "Resolved string constraints issue."; + } + revision 2018-08-03 { + description + "Added slot-info and parent-info bags."; + } + revision 2018-04-19 { + description + "Added additional bags"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping THRESH-BAG { + description + "Common node of minor-lo, minor-hi, major-lo, + major-hi, critical-lo, critical-hi"; + container thresh-bag { + status deprecated; + description + "Environment threshold info"; + uses ENVMON-THRESHOLD-INFO; + } + } + + grouping INVMGR-EXT1-OPER-THRESH-BAG { + description + "Common node of minor-lo, minor-hi, major-lo, + major-hi, critical-lo, critical-hiCommon node of + minor-lo, minor-hi, major-lo, major-hi, + critical-lo, critical-hi"; + container thresh-bag { + description + "Environment threshold info"; + uses ENVMON-THRESHOLD-INFO; + } + } + + grouping ATTRIBUTES { + description + "Common node of rack, slot, tsi1, tsi2, tsi3, tsi4 + , tsi5, tsi6, tsi7, tsi8, tsi9, tsi10, tsi11"; + container attributes { + status deprecated; + description + "Shows the different attributes or status of each + entity or component in inventory"; + container inv-asset-bag { + status deprecated; + description + "Inventory Asset Bag"; + uses INV-PHY-ENTITY-ASSET-INFO; + } + container inv-eeprom-info { + status deprecated; + description + "Inventory EDM EEPROM Information Bag"; + uses INVMGR-EEPROM-OPAQUE-DATA; + } + container inv-basic-bag { + status deprecated; + description + "Inventory Basic Bag"; + uses INV-PHY-ENTITY-BASIC-INFO; + } + container env-sensor-info { + status deprecated; + description + "Environment sensor info"; + uses ENVMON-SENSOR-INFO; + } + container pwg-info { + status deprecated; + description + "Inventory EDM PWG info"; + uses INV-PWG-INFO; + } + container threshold { + status deprecated; + description + "Temperature alarm data for platform components"; + container major-hi { + status deprecated; + description + "Major High"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container critical-hi { + status deprecated; + description + "Critical High"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container minor-lo { + status deprecated; + description + "Minor Low"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container major-lo { + status deprecated; + description + "Major Low"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container minor-hi { + status deprecated; + description + "Minor High"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container critical-lo { + status deprecated; + description + "Critical Low"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + } + container fru-info { + status deprecated; + description + "Inventory EDM FRU info"; + uses INV-CARD-FRU-INFO; + } + container env-sensor-info-xml { + status deprecated; + description + "Environment sensor info XML"; + uses ENVMON-SENSOR-INFO-XML; + } + } + } + + grouping SLOT { + description + "Common node of powershelf, fantray, entity"; + list slot { + key "name"; + status deprecated; + description + "Slot number"; + container tsi1s { + status deprecated; + description + "Entity Level 1"; + list tsi1 { + key "name"; + status deprecated; + description + "TSI1"; + container tsi2s { + status deprecated; + description + "Entity Level 2"; + list tsi2 { + key "name"; + status deprecated; + description + "TSI2"; + container tsi3s { + status deprecated; + description + "Entity Level 3"; + list tsi3 { + key "name"; + status deprecated; + description + "TSI3"; + container tsi4s { + status deprecated; + description + "Entity Level 4"; + list tsi4 { + key "name"; + status deprecated; + description + "TSI4"; + container tsi5s { + status deprecated; + description + "Entity Level 5"; + list tsi5 { + key "name"; + status deprecated; + description + "TSI5"; + container tsi6s { + status deprecated; + description + "Entity Level 6"; + list tsi6 { + key "name"; + status deprecated; + description + "TSI6"; + container tsi7s { + status deprecated; + description + "Entity Level 7"; + list tsi7 { + key "name"; + status deprecated; + description + "TSI7"; + container tsi8s { + status deprecated; + description + "Entity Level 8"; + list tsi8 { + key "name"; + status deprecated; + description + "TSI8"; + container tsi9s { + status deprecated; + description + "Entity Level 9"; + list tsi9 { + key "name"; + status deprecated; + description + "TSI9"; + container tsi10s { + status deprecated; + description + "Entity Level 10"; + list tsi10 { + key "name"; + status deprecated; + description + "TSI10"; + container tsi11s { + status deprecated; + description + "Entity Level 11"; + list tsi11 { + key "name"; + status deprecated; + description + "TSI11"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI11"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI10"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI9"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI8"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI7"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI6"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI5"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI4"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI3"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI2"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "TSI1"; + } + uses ATTRIBUTES; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Slot name"; + } + uses ATTRIBUTES; + } + } + + container inventory { + config false; + description + "Inventory information"; + container racks { + status deprecated; + description + "RackTable"; + list rack { + key "name"; + status deprecated; + description + "Rack name"; + container powershelf { + status deprecated; + description + "Powershelf information"; + uses SLOT; + } + container entity { + status deprecated; + description + "Entity information"; + uses SLOT; + } + container fantray { + status deprecated; + description + "Fantray information"; + uses SLOT; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Rack name"; + } + uses ATTRIBUTES; + } + } + container entities { + description + "Entities Table"; + list entity { + key "name"; + description + "Entity name"; + container subentities { + description + "SubEntities Table"; + list subentity { + key "name"; + description + "Subentity Bag"; + leaf name { + type string { + length "1..100"; + } + description + "Subentity name"; + } + uses SUBENTITY-INFO; + } + } + container parent-info { + description + "Inventory parent name info"; + uses INV-PARENT-INFO; + } + container attributes { + description + "Shows the different attributes or status of + each entity or component in inventory"; + container inv-asset-bag { + description + "Inventory Asset Bag"; + uses INV-PHY-ENTITY-ASSET-INFO; + } + container inv-basic-bag { + description + "Inventory Basic Bag"; + uses INV-PHY-ENTITY-BASIC-INFO; + } + container inv-eeprom-info { + description + "Inventory EDM EEPROM Information Bag"; + uses INVMGR-EEPROM-OPAQUE-DATA; + } + container pluggable-info { + status deprecated; + description + "Info of supported interaces for pluggable + type"; + uses PLUGGABLE-INFO; + } + container node-id { + description + "Node ID Tuple"; + uses NODEID-INFO; + } + container threshold { + description + "Temperature alarm data for platform + components"; + container minor-lo { + description + "Minor Low"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container major-hi { + description + "Major High"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container minor-hi { + description + "Minor High"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container critical-lo { + description + "Critical Low"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container critical-hi { + description + "Critical High"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + container major-lo { + description + "Major Low"; + uses INVMGR-EXT1-OPER-THRESH-BAG; + } + } + container fru-info { + description + "Inventory EDM FRU info"; + uses INV-CARD-FRU-INFO; + } + container env-sensor-info { + description + "Environment sensor info"; + uses ENVMON-SENSOR-INFO; + } + container vm-node-id { + description + "VM Node ID Tuple"; + uses VM-NODEID-INFO; + } + } + leaf name { + type string { + length "1..100"; + } + description + "Entity name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-invproxy-hwmodule-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-invproxy-hwmodule-cfg.yang new file mode 100644 index 000000000..1a7e80e0c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-invproxy-hwmodule-cfg.yang @@ -0,0 +1,108 @@ +module Cisco-IOS-XR-invproxy-hwmodule-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-invproxy-hwmodule-cfg"; + prefix invproxy-hwmodule-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR invproxy-hwmodule package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-hw-module-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + hw-module-admin: Hardware module shut + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-19 { + description + "Add default value Unshut for Admin-power-state"; + semver:module-version "1.2.0"; + } + revision 2020-03-31 { + description + "Deprecated the model, replaced by Cisco-IOS-XR-hw-module-cfg + 2019-12-03 + IOS XR 7.0.12 revision."; + semver:module-version "1.1.0"; + } + revision 2019-10-15 { + description + "IOS XR 7.0.12 revision."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Admin-power-state { + type enumeration { + enum "unshut" { + value 0; + description + "Unshut"; + } + enum "shut" { + value 1; + description + "Shut"; + } + } + description + "Admin power state"; + } + + container hw-module-admin { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-hw-module-cfg.yang which will + provide the compatible functionalities. Hardware + module shut"; + container nodes { + description + "For list of nodes"; + list node { + key "location"; + description + "For a specific node"; + leaf admin-power-state { + type Admin-power-state; + default "unshut"; + description + "Shut/Unshut the specified hwmodule"; + } + leaf location { + type string; + description + "hwmodule location"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-cfg.yang new file mode 100644 index 000000000..c1b1a8699 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-cfg.yang @@ -0,0 +1,411 @@ +module Cisco-IOS-XR-ip-bfd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-bfd-cfg"; + prefix ip-bfd-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-bfd package configuration. + + This module contains definitions + for the following management objects: + bfd: BFD Configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-31 { + description + "Added mandary modes and presence containers."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bfd-echo-startup-validate { + type enumeration { + enum "off" { + value 0; + description + "Disable echo startup validation"; + } + enum "on" { + value 1; + description + "Enable echo startup validation"; + } + enum "force" { + value 2; + description + "Force echo startup validation"; + } + } + description + "Bfd echo startup validate"; + } + + typedef Bfd-bundle-coexistence-bob-blb { + type enumeration { + enum "inherited" { + value 1; + description + "Inherited coexistence mode"; + } + enum "logical" { + value 2; + description + "Logical coexistence mode"; + } + } + description + "Bfd bundle coexistence bob blb"; + } + + typedef Bfd-if-echo-usage { + type enumeration { + enum "enable" { + value 0; + description + "Enable echo"; + } + enum "disable" { + value 1; + description + "Disable echo"; + } + } + description + "Bfd if echo usage"; + } + + typedef Bfd-if-ipv6-checksum-usage { + type enumeration { + enum "disable" { + value 0; + description + "Disable IPv6 checksum"; + } + enum "enable" { + value 1; + description + "Enable IPv6 checksum"; + } + } + description + "Bfd if ipv6 checksum usage"; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container bfd { + description + "CISCO-IETF-BFD-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable CISCO-IETF-BFD-MIB notifications"; + } + } + } + container bfd { + description + "BFD Configuration"; + container flap-damp { + description + "Flapping class container"; + container bundle-member { + description + "Bundle per member feature class container"; + leaf initial-delay { + type uint32 { + range "1..518400000"; + } + units "millisecond"; + default "16000"; + description + "Initial delay before bringing up session"; + } + leaf maximum-delay { + type uint32 { + range "1..518400000"; + } + units "millisecond"; + default "600000"; + description + "Maximum delay before bringing up session"; + } + leaf secondary-delay { + type uint32 { + range "1..518400000"; + } + units "millisecond"; + default "20000"; + description + "Secondary delay before bringing up session"; + } + leaf l3-only-mode { + type empty; + description + "Apply immediate dampening and only when + failure is L3 specific"; + } + } + container extensions { + description + "Extensions to the BFD dampening feature"; + leaf down-monitor { + type empty; + description + "If set, DOWN state monitoring mode is enabled"; + } + } + leaf threshold { + type uint32 { + range "60000..3600000"; + } + units "millisecond"; + default "120000"; + description + "Stability threshold to enable dampening"; + } + leaf initial-delay { + type uint32 { + range "1..3600000"; + } + units "millisecond"; + default "2000"; + description + "Initial delay before bringing up session"; + } + leaf maximum-delay { + type uint32 { + range "1..3600000"; + } + units "millisecond"; + default "120000"; + description + "Maximum delay before bringing up session"; + } + leaf dampen-disable { + type empty; + description + "Dampening Enable/Disable"; + } + leaf secondary-delay { + type uint32 { + range "1..3600000"; + } + units "millisecond"; + default "5000"; + description + "Secondary delay before bringing up session"; + } + } + container echo-latency { + description + "BFD echo latency feature class container"; + container detect { + description + "BFD echo latency detection"; + leaf latency-detect-enabled { + type boolean; + description + "If set, echo latency detect is enabled"; + } + leaf latency-detect-percentage { + type uint32 { + range "100..250"; + } + units "percentage"; + description + "Echo latency detect percentage"; + } + leaf latency-detect-count { + type uint32 { + range "1..10"; + } + description + "Echo latency detect count"; + } + } + } + container echo-startup { + presence "Contains mandatory nodes that used to set default values"; + description + "BFD echo startup feature class container"; + leaf validate { + type Bfd-echo-startup-validate; + mandatory true; + description + "BFD echo validation prior to session bringup"; + } + } + container interfaces { + description + "Interface configuration"; + list interface { + key "interface-name"; + description + "Single interface configuration"; + leaf interface-bfd-multiplier { + type uint32 { + range "2..50"; + } + description + "BFD Multiplier for this Interface"; + } + leaf interface-echo-usage { + type Bfd-if-echo-usage; + default "enable"; + description + "Echo usage for this interface"; + } + leaf interface-bfd-rx-interval { + type uint32 { + range "3000..30000000"; + } + units "microsecond"; + description + "BFD RxInterval for this Interface"; + } + leaf interface-bfd { + type empty; + description + "Enable/Disable BFD for this interface"; + } + leaf ipv6-checksum { + type Bfd-if-ipv6-checksum-usage; + default "enable"; + description + "IPv6 checksum usage for this interface - + Interface config will always take precedence + over global config"; + } + leaf interface-ipv4-echo-source { + type inet:ip-address-no-zone; + description + "Interface IPv4 echo source address + configuration"; + } + leaf interface-bfd-local-addr { + type inet:ip-address-no-zone; + description + "BFD LocalAddr for this Interface"; + } + leaf interface-bfd-tx-interval { + type uint32 { + range "3000..30000000"; + } + units "microsecond"; + description + "BFD TxInterval for this Interface"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + container multi-path-includes { + description + "Multipath Include configuration"; + list multi-path-include { + key "location"; + description + "Location configuration"; + leaf location { + type xr:Node-id; + description + "Location"; + } + } + } + container bundle { + description + "Configuration related to BFD over Bundle"; + container coexistence { + description + "Coexistence mode for BFD on bundle feature"; + leaf bob-blb { + type Bfd-bundle-coexistence-bob-blb; + description + "Coexistence mode for BoB and BLB feature"; + } + } + } + leaf global-echo-usage { + type empty; + description + "Echo configuration"; + } + leaf ipv6-checksum-disable { + type empty; + description + "To disable IPv6 checksum configuration"; + } + leaf global-echo-min-interval { + type uint32 { + range "15..2000"; + } + units "millisecond"; + default "15"; + description + "Configure echo min-interval for bundle interface"; + } + leaf ttl-drop-threshold { + type uint32 { + range "0..254"; + } + description + "Multihop TTL Drop Threshold"; + } + leaf single-hop-trap { + type empty; + description + "Single hop trap configuration"; + } + leaf global-ipv4-echo-source { + type inet:ip-address-no-zone; + description + "IPv4 echo source address configuration"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper-sub1.yang new file mode 100644 index 000000000..87a8ec36e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper-sub1.yang @@ -0,0 +1,1447 @@ +submodule Cisco-IOS-XR-ip-bfd-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-bfd-oper { + prefix Cisco-IOS-XR-ip-bfd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-bfd package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-12 { + description + "New count field added for bfd_mgmt_interval_statistics"; + semver:module-version "2.0.1m"; + } + revision 2020-05-20 { + description + "Added XML Support for IPv4 and IPv6SingleHopMultiPathTable via CSCvu15981."; + semver:module-version "2.0.0"; + } + revision 2019-10-03 { + description + "Addressed openconfig-bfd model open issues via CSCvp68925.Revision updated now."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bfd-mp-download-state { + type enumeration { + enum "bfd-mp-download-none" { + value 0; + description + "bfd mp download none"; + } + enum "bfd-mp-download-no-lc" { + value 1; + description + "bfd mp download no lc"; + } + enum "bfd-mp-download-downloaded" { + value 2; + description + "bfd mp download downloaded"; + } + enum "bfd-mp-download-ack" { + value 3; + description + "bfd mp download ack"; + } + enum "bfd-mp-download-nack" { + value 4; + description + "bfd mp download nack"; + } + enum "bfd-mp-download-delete" { + value 5; + description + "bfd mp download delete"; + } + } + description + "Bfd mp download state"; + } + + typedef Bfd-mgmt-session-diag { + type enumeration { + enum "bfd-mgmt-session-diag-none" { + value 0; + description + "No diagnostic"; + } + enum "bfd-mgmt-session-diag-control-detect-expired" { + value 1; + description + "Control Detection Time Expired"; + } + enum "bfd-mgmt-session-diag-echo-function-failed" { + value 2; + description + "Echo Function Failed"; + } + enum "bfd-mgmt-session-diag-nb-or-signaled-down" { + value 3; + description + "Neighbor Signaled Session Down"; + } + enum "bfd-mgmt-session-diag-fwding-plane-reset" { + value 4; + description + "Forwarding Plane Reset"; + } + enum "bfd-mgmt-session-diag-path-down" { + value 5; + description + "Path Down"; + } + enum "bfd-mgmt-session-diag-conc-path-down" { + value 6; + description + "Concatenated Path Down"; + } + enum "bfd-mgmt-session-diag-admin-down" { + value 7; + description + "Administratively Down"; + } + enum "bfd-mgmt-session-diag-rev-conc-path-down" { + value 8; + description + "Reverse Concatenated Path Down"; + } + enum "bfd-mgmt-session-diag-num" { + value 10; + description + "Unknown diagnostic state"; + } + } + description + "BFD session diagnostic"; + } + + typedef Bfd-in6-addr { + type inet:ipv6-address; + description + "Bfd in6 addr"; + } + + typedef Bfd-in-addr { + type inet:ipv4-address; + description + "Bfd in addr"; + } + + typedef Bfd-af-id { + type enumeration { + enum "bfd-af-id-none" { + value 0; + description + "No Address"; + } + enum "bfd-af-id-ipv4" { + value 2; + description + "IPv4 AFI"; + } + enum "bfd-af-id-ipv6" { + value 10; + description + "IPv6 AFI"; + } + } + description + "Bfd af id"; + } + + typedef Bfd-discr { + type uint32; + description + "Bfd discr"; + } + + typedef Bfd-mgmt-pkt-display { + type enumeration { + enum "bfd-mgmt-pkt-display-type-none" { + value 0; + description + "None"; + } + enum "bfd-mgmt-pkt-display-type-bob-mbr" { + value 1; + description + "Display Type Bundle RTR Member"; + } + enum "bfd-mgmt-pkt-display-type-max" { + value 2; + description + "Display Type Enum Max Value"; + } + } + description + "BFD session type"; + } + + typedef Bfd-session { + type enumeration { + enum "undefined" { + description + "Session type is undefined"; + } + enum "bundle-member" { + description + "Session type is bundle member"; + } + enum "bundle-interface" { + description + "Session type is bundle interface"; + } + enum "state-inheriting" { + description + "Session type is state inheriting"; + } + enum "bundle-vlan" { + description + "Session type is bundle vlan"; + } + enum "mpls-tp" { + description + "Session type is MPLS-TP"; + } + enum "gre" { + description + "Session type is GRE tunnel"; + } + enum "pseudowire-headend" { + description + "Session type is PW-HE"; + } + enum "ip-single-hop" { + description + "Session type is IP single hop"; + } + } + description + "BFD session type"; + } + + typedef Bfd-mgmt-session-state { + type enumeration { + enum "bfd-mgmt-session-state-admin-down" { + value 0; + description + "Session in Administratively Shutdown State"; + } + enum "bfd-mgmt-session-state-down" { + value 1; + description + "Session in Down State"; + } + enum "bfd-mgmt-session-state-init" { + value 2; + description + "Session in Initializing State"; + } + enum "bfd-mgmt-session-state-up" { + value 3; + description + "Session in Up State"; + } + enum "bfd-mgmt-session-state-failing" { + value 4; + description + "Session in Failing State"; + } + enum "bfd-mgmt-session-state-unknown" { + value 6; + description + "Session in Unknown State"; + } + } + description + "BFD session states"; + } + + grouping BFD-MGMT-RELATION-LINK-DETAIL { + description + "Detail Member Link Information"; + leaf state { + type Bfd-mgmt-session-state; + description + "State"; + } + leaf interface-name { + type string { + length "0..64"; + } + description + "Session Interface Name"; + } + leaf local-discriminator { + type Bfd-discr; + description + "Session's Local discriminator"; + } + } + + grouping BFD-MGMT-RELATION { + description + "BFD Relation Detail Information"; + leaf state { + type Bfd-mgmt-session-state; + description + "State"; + } + leaf local-discriminator { + type Bfd-discr; + description + "Session's Local discriminator"; + } + list link-information { + description + "Detail Member Link Information"; + uses BFD-MGMT-RELATION-LINK-DETAIL; + } + list association-information { + description + "Association session information"; + uses BFD-MGMT-SESSION-ASSOCIATION-INFORMATION; + } + } + + grouping BFD-MGMT-RELATION-LINK-BRIEF { + description + "Brief Member Link Information"; + leaf state { + type Bfd-mgmt-session-state; + description + "State"; + } + leaf interface-name { + type string { + length "0..64"; + } + description + "Session Interface Name"; + } + } + + grouping BFD-MGMT-RELATION-BRIEF { + description + "BFD Relation Brief Information"; + leaf state { + type Bfd-mgmt-session-state; + description + "State"; + } + list link-information { + description + "Brief Member Link Information"; + uses BFD-MGMT-RELATION-LINK-BRIEF; + } + } + + grouping BFD-MGMT-MIB-DATABASE { + description + "BFD MIB Mapping Database Entry Information"; + container dest-address { + description + "Session Destination address"; + uses IP-ADDR-T-UNION; + } + leaf local-discriminator { + type Bfd-discr; + description + "Sessions' Local Discriminator"; + } + leaf remote-discriminator { + type Bfd-discr; + description + "Sessions' Remote Discriminator"; + } + leaf sessionversion { + type uint32; + description + "Session BFD Version"; + } + leaf session-state { + type uint32; + description + "Session State"; + } + leaf trap-bitmap { + type uint32; + description + "Trap Generator Bitmap"; + } + leaf pkt-in { + type uint64; + description + "Packet In Counter"; + } + leaf pkt-out { + type uint64; + description + "Packet Out Counter"; + } + leaf last-up-time-sec { + type uint64; + units "second"; + description + "Last Session Up Time (seconds)"; + } + leaf last-up-time-nsec { + type uint32; + units "nanosecond"; + description + "Last Session Up Time (nanoseconds)"; + } + leaf last-down-time-sec { + type uint64; + units "second"; + description + "Last Session Down Time (seconds)"; + } + leaf last-down-time-nsec { + type uint32; + units "nanosecond"; + description + "Last Session Down Time (nanoseconds)"; + } + leaf last-io-evm-schd-time-sec { + type uint64; + units "second"; + description + "Last IO EVM Schd Time (seconds)"; + } + leaf last-io-evm-schd-time-nsec { + type uint32; + units "nanosecond"; + description + "Last IO Evm Schd Time (nanoseconds)"; + } + leaf last-io-evm-schd-comp-time-sec { + type uint64; + units "second"; + description + "Last IO EVM Schd Comp Time (seconds)"; + } + leaf last-io-evm-schd-comp-time-nsec { + type uint32; + units "nanosecond"; + description + "Last IO Evm Schd Comp Time (nanoseconds)"; + } + leaf last-down-diag { + type Bfd-mgmt-session-diag; + description + "Last Session Down Diag"; + } + leaf last-rx-down-diag { + type Bfd-mgmt-session-diag; + description + "Last Rx Session Down Diag"; + } + leaf up-counter { + type uint32; + description + "Up Count"; + } + leaf last-time-cached { + type uint64; + description + "Last Time Session Info Queried"; + } + leaf interface-name { + type string { + length "0..64"; + } + description + "Session Interface Name"; + } + leaf int-handle { + type uint32; + description + "Session Interface Handle"; + } + leaf detection-multiplier { + type uint32; + description + "Detection Multiplier"; + } + leaf desired-min-tx-interval { + type uint32; + description + "Desired Min TX Interval"; + } + leaf required-min-rx-interval { + type uint32; + description + "Required Min RX Interval"; + } + leaf required-min-rx-echo-interval { + type uint32; + description + "Required Min RX Echo Interval"; + } + leaf session-key { + type string { + length "0..256"; + } + description + "Session Key"; + } + } + + grouping BFD-LOC-MGMT-SESSION-STATE-INFORMATION { + description + "BFD Location Session State Information"; + leaf total-count { + type uint32; + description + "Number of sessions in database"; + } + leaf up-count { + type uint32; + description + "Number of sessions in up state"; + } + leaf down-count { + type uint32; + description + "Number of sessions in down state"; + } + leaf unknown-count { + type uint32; + description + "Number of sessions in unknown state"; + } + leaf retry-count { + type uint32; + description + "Number of sessions in retry state"; + } + leaf standby-count { + type uint32; + description + "Number of sessions in standby state"; + } + } + + grouping BFD-MGMT-BFD-LOC-INFORMATION { + description + "BFD Location Summary Information"; + container session-state { + description + "Statistics of states for sessions"; + uses BFD-LOC-MGMT-SESSION-STATE-INFORMATION; + } + } + + grouping BFD-MGMT-SUMMARY { + description + "BFD MGMT SUMMARY"; + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + leaf pps-allocated-value { + type uint32; + description + "Allocated PPS value"; + } + leaf ppsmp-allocated-value { + type uint32; + description + "Allocated MP PPS value"; + } + leaf pps-max-value { + type uint32; + description + "Max PPS value"; + } + leaf ppsmp-max-value { + type uint32; + description + "Max MP PPS value"; + } + leaf total-session-number { + type uint32; + description + "Total Session Number"; + } + leaf mp-session-number { + type uint32; + description + "MP Session Number"; + } + leaf max-session-number { + type uint32; + description + "Max Session Number"; + } + leaf pps-all-percentage { + type uint32; + units "percentage"; + description + "All PPS percentage"; + } + leaf ppsmp-percentage { + type uint32; + units "percentage"; + description + "MP PPS percentage"; + } + } + + grouping BFD-MGMT-LSP-PING-INFO { + description + "BFD LSP Ping info"; + container lsp-ping-tx-last-time { + description + "LSP Ping last sent time"; + uses BFD-TIMESPEC; + } + container lsp-ping-tx-last-error-time { + description + "LSP Ping last error time"; + uses BFD-TIMESPEC; + } + container lsp-ping-rx-last-time { + description + "LSP Ping last received time"; + uses BFD-TIMESPEC; + } + leaf lsp-ping-tx-count { + type uint32; + description + "LSP Ping Tx count"; + } + leaf lsp-ping-tx-error-count { + type uint32; + description + "LSP Ping Tx error count"; + } + leaf lsp-ping-tx-last-rc { + type string; + description + "LSP Ping Tx last result"; + } + leaf lsp-ping-tx-last-error-rc { + type string; + description + "LSP Ping Tx last error"; + } + leaf lsp-ping-rx-last-discr { + type Bfd-discr; + description + "LSP Ping Rx last received discriminator"; + } + leaf lsp-ping-rx-count { + type uint32; + description + "LSP Ping numer of times received"; + } + leaf lsp-ping-rx-last-code { + type uint8; + description + "LSP Ping Rx Last Code"; + } + leaf lsp-ping-rx-last-subcode { + type uint8; + description + "LSP Ping Rx Last Subcode"; + } + leaf lsp-ping-rx-last-output { + type string; + description + "LSP Ping Rx Last Output"; + } + } + + grouping BFD-TIMESPEC { + description + "BFD TIMESPEC"; + leaf seconds { + type uint64; + units "second"; + description + "seconds"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "nanoseconds"; + } + } + + grouping BFD-MGMT-MP-DOWNLOAD-STATE-INFO { + description + "BFD Download State"; + container change-time { + description + "Change time"; + uses BFD-TIMESPEC; + } + leaf mp-download-state { + type Bfd-mp-download-state; + description + "MP Download State"; + } + } + + grouping BFD-MGMT-SESSION-ASSOCIATION-INFORMATION { + description + "BFD Session Association Information"; + container ip-destination-address { + description + "IPv4/v6 dest address"; + uses IP-ADDR-T-UNION; + } + leaf interface-name { + type string { + length "0..64"; + } + description + "Session Interface Name"; + } + leaf sessiontype { + type Bfd-session; + description + "Session type"; + } + leaf local-discriminator { + type Bfd-discr; + description + "Session's Local discriminator"; + } + list owner-information { + description + "Client applications owning the session"; + uses BFD-MGMT-SESSION-OWNER-INFORMATION; + } + } + + grouping BFD-MGMT-SESSION-OWNER-INFORMATION { + description + "BFD Session Owner Information"; + leaf interval { + type uint32; + units "microsecond"; + description + "Client specified minimum transmit interval in + micro-seconds"; + } + leaf detection-multiplier { + type uint32; + description + "Client specified detection multiplier to compute + detection time"; + } + leaf adjusted-interval { + type uint32; + units "millisecond"; + description + "Adjusted minimum transmit interval in + milli-seconds"; + } + leaf adjusted-detection-multiplier { + type uint32; + description + "Adjusted detection multiplier to compute + detection time"; + } + leaf name { + type string { + length "0..257"; + } + description + "Client process name"; + } + } + + grouping BFD-MGMT-INTERVAL-STATISTICS { + description + "BFD Agent Interval between packets Information"; + leaf number { + type uint32; + description + "Number of Interval Samples between Packets + sent/received"; + } + leaf minimum { + type uint32; + units "millisecond"; + description + "Minimum of Transmit/Receive Interval (in + milli-seconds)"; + } + leaf maximum { + type uint32; + units "millisecond"; + description + "Maximum of Transmit/Receive Interval (in + milli-seconds)"; + } + leaf average { + type uint32; + units "millisecond"; + description + "Average of Transmit/Receive Interval (in + milli-seconds)"; + } + leaf last { + type uint32; + units "millisecond"; + description + "Time since last Transmit/Receive (in + milli-seconds)"; + } + leaf last-time-stamp { + type uint64; + description + "TimeStamp of last Transmit/Receive"; + } + leaf actual-number { + type uint32; + description + "Actual Number of BFD Packets sent/received"; + } + } + + grouping BFD-MGMT-CONTROL-PACKET { + description + "BFD Control Packet"; + leaf version { + type uint8; + description + "Version"; + } + leaf diagnostic { + type Bfd-mgmt-session-diag; + description + "Diagnostic"; + } + leaf ihear-you { + type int32; + description + "I Hear You (v0)"; + } + leaf state { + type Bfd-mgmt-session-state; + description + "State (v1)"; + } + leaf demand { + type int32; + description + "Demand mode"; + } + leaf poll { + type int32; + description + "Poll bit"; + } + leaf final { + type int32; + description + "Final bit"; + } + leaf control-plane-independent { + type int32; + description + "BFD implementation does not share fate with its + control plane"; + } + leaf authentication-present { + type int32; + description + "Requesting authentication for the session"; + } + leaf detection-multiplier { + type uint32; + description + "Detection Multiplier"; + } + leaf length { + type uint32; + description + "Length"; + } + leaf my-discriminator { + type Bfd-discr; + description + "My Discriminator"; + } + leaf your-discriminator { + type Bfd-discr; + description + "Your Discriminator"; + } + leaf desired-minimum-transmit-interval { + type uint32; + units "microsecond"; + description + "Desired minimum transmit interval in + micro-seconds"; + } + leaf required-minimum-receive-interval { + type uint32; + units "microsecond"; + description + "Required receive interval in micro-seconds"; + } + leaf required-minimum-echo-receive-interval { + type uint32; + units "microsecond"; + description + "Required echo receive interval in micro-seconds"; + } + } + + grouping BFD-MGMT-SESSION-STATE-TIME { + description + "BFD Session State Transition Time Information"; + leaf days { + type uint32; + units "day"; + description + "Number of days since last session state + transition"; + } + leaf hours { + type uint8; + units "hour"; + description + "Number of hours since last session state + transition"; + } + leaf minutes { + type uint8; + units "minute"; + description + "Number of mins since last session state + transition"; + } + leaf seconds { + type uint8; + units "second"; + description + "Number of seconds since last session state + transition"; + } + } + + grouping IP-ADDR-T-UNION { + description + "IP ADDR T UNION"; + leaf afi { + type Bfd-af-id; + description + "AFI"; + } + leaf dummy { + when "../afi = 'bfd-af-id-none'" { + description + "../AFI = 'BFD_AF_ID_NONE'"; + } + type uint8; + description + "No Address"; + } + leaf ipv4 { + when "../afi = 'bfd-af-id-ipv4'" { + description + "../AFI = 'BFD_AF_ID_IPV4'"; + } + type Bfd-in-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../afi = 'bfd-af-id-ipv6'" { + description + "../AFI = 'BFD_AF_ID_IPV6'"; + } + type Bfd-in6-addr; + description + "IPv6 address type"; + } + } + + grouping BFD-MGMT-SESSION-STATUS-INFORMATION { + description + "BFD Agent detailed Session Information"; + container source-address { + description + "Source address"; + uses IP-ADDR-T-UNION; + } + container last-state-change { + description + "Time since last state change"; + uses BFD-MGMT-SESSION-STATE-TIME; + } + container transmit-packet { + description + "Transmit Packet"; + uses BFD-MGMT-CONTROL-PACKET; + } + container receive-packet { + description + "Receive Packet"; + uses BFD-MGMT-CONTROL-PACKET; + } + container status-brief-information { + description + "Brief Status Information"; + uses BFD-MGMT-SESSION-STATUS-INFORMATION-BRIEF; + } + container async-transmit-statistics { + description + "Statistics of Interval between Async Packets + Transmitted (in milli-seconds)"; + uses BFD-MGMT-INTERVAL-STATISTICS; + } + container async-receive-statistics { + description + "Statistics of Interval between Async Packets + Received (in milli-seconds)"; + uses BFD-MGMT-INTERVAL-STATISTICS; + } + container echo-transmit-statistics { + description + "Statistics of Interval between Echo Packets + Transmitted (in milli-seconds)"; + uses BFD-MGMT-INTERVAL-STATISTICS; + } + container echo-received-statistics { + description + "Statistics of Interval between Echo Packets + Received (in milli-seconds)"; + uses BFD-MGMT-INTERVAL-STATISTICS; + } + leaf sessiontype { + type Bfd-session; + description + "Session type"; + } + leaf session-subtype { + type string; + description + "Session subtype"; + } + leaf state { + type Bfd-mgmt-session-state; + description + "State"; + } + leaf local-discriminator { + type Bfd-discr; + description + "Session's Local discriminator"; + } + leaf remote-discriminator { + type Bfd-discr; + description + "Session's Remote discriminator"; + } + leaf last-failure-time-sec { + type uint64; + units "second"; + description + "Last Session Down Time (seconds)"; + } + leaf out-of-up-state-count { + type uint64; + description + "Number of times session moved out of UP state"; + } + leaf to-up-state-count { + type uint32; + description + "Number of times session state went to UP"; + } + leaf desired-minimum-echo-transmit-interval { + type uint32; + units "millisecond"; + description + "Desired minimum echo transmit interval in + milli-seconds"; + } + leaf remote-negotiated-interval { + type uint32; + units "millisecond"; + description + "Remote Negotiated Interval in milli-seconds"; + } + leaf latency-number { + type uint32; + description + "Number of Latency Samples. Time between Transmit + and Receive"; + } + leaf latency-minimum { + type uint32; + units "microsecond"; + description + "Minimum value of Latency (in micro-seconds)"; + } + leaf latency-maximum { + type uint32; + units "microsecond"; + description + "Maximum value of Latency (in micro-seconds)"; + } + leaf latency-average { + type uint32; + units "microsecond"; + description + "Average value of Latency (in micro-seconds)"; + } + leaf node-id { + type xr:Node-id; + description + "Location where session is housed"; + } + leaf internal-label { + type uint32; + description + "Internal Label"; + } + leaf reverse-label { + type uint32; + description + "Reverse Label"; + } + } + + grouping BFD-MGMT-SESSION-DETAIL { + description + "BFD Detailed Session Information"; + container status-information { + description + "Session status information"; + uses BFD-MGMT-SESSION-STATUS-INFORMATION; + } + container mp-download-state { + description + "MP Dowload State"; + uses BFD-MGMT-MP-DOWNLOAD-STATE-INFO; + } + container lsp-ping-info { + description + "LSP Ping Info"; + uses BFD-MGMT-LSP-PING-INFO; + } + list owner-information { + description + "Client applications owning the session"; + uses BFD-MGMT-SESSION-OWNER-INFORMATION; + } + list association-information { + description + "Association session information"; + uses BFD-MGMT-SESSION-ASSOCIATION-INFORMATION; + } + } + + grouping BFD-MGMT-MULTIPLE-PATHS { + description + "BFD Multiple paths Info"; + leaf session-subtype { + type string; + description + "Session subtype"; + } + leaf state { + type Bfd-mgmt-session-state; + description + "State"; + } + leaf local-discriminator-xr { + type Bfd-discr; + description + "Session's Local discriminator"; + } + leaf node-id { + type xr:Node-id; + description + "Location where session is housed"; + } + leaf incoming-label-xr { + type uint32; + description + "Incoming Label"; + } + leaf session-interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + + grouping BFD-MGMT-CLIENT-FLAGS { + description + "BFD Client Flags"; + leaf is-zombie-state { + type int32; + description + "Client is in Zombie State"; + } + leaf is-recreate-state { + type int32; + description + "Client is in Recreate State"; + } + } + + grouping BFD-MGMT-CLIENT-BRIEF-INFORMATION { + description + "BFD Brief Client Information"; + leaf name-xr { + type string { + length "0..257"; + } + description + "Client process name"; + } + leaf node-id { + type xr:Node-id; + description + "Location where client resides"; + } + leaf session-count { + type uint32; + description + "Number of sessions created by this client"; + } + } + + grouping BFD-MGMT-CLIENT-DETAIL-INFORMATION { + description + "BFD detailed Client Information"; + container brief { + description + "Brief client information"; + uses BFD-MGMT-CLIENT-BRIEF-INFORMATION; + } + container flags { + description + "The BFD Client Flags"; + uses BFD-MGMT-CLIENT-FLAGS; + } + leaf recreate-time { + type uint32; + units "second"; + description + "Recreate Time in Seconds"; + } + } + + grouping BFD-MGMT-PACKET-COUNT { + description + "BFD Agent Packet Count Info"; + leaf hello-transmit-count { + type uint32; + description + "Number of Hellos transmitted"; + } + leaf hello-receive-count { + type uint32; + description + "Number of Hellos received"; + } + leaf echo-transmit-count { + type uint32; + description + "Number of echo packets transmitted"; + } + leaf echo-receive-count { + type uint32; + description + "Number of echo packets received"; + } + leaf display-type { + type Bfd-mgmt-pkt-display; + description + "Packet Display Type"; + } + } + + grouping BFD-MGMT-SESSION-STATE-INFORMATION { + description + "BFD Session State Information"; + leaf total-count { + type uint32; + description + "Number of sessions in database"; + } + leaf down-count { + type uint32; + description + "Number of sessions in down state"; + } + leaf up-count { + type uint32; + description + "Number of sessions in up state"; + } + leaf unknown-count { + type uint32; + description + "Number of sessions in unknown state"; + } + } + + grouping BFD-MGMT-BFD-INFORMATION { + description + "BFD Summary Information"; + container session-state { + description + "Statistics of states for sessions"; + uses BFD-MGMT-SESSION-STATE-INFORMATION; + } + } + + grouping BFD-MGMT-ECHO-INTERVAL-MULTIPLIER-INFORMATION { + description + "BFD Agent Echo Interval and Detection Multiplier + Information"; + leaf negotiated-transmit-interval { + type uint32; + units "microsecond"; + description + "Negotiated transmit interval in micro-seconds"; + } + leaf detection-time { + type uint32; + units "microsecond"; + description + "Detection time in micro-seconds"; + } + leaf detection-multiplier { + type uint32; + description + "Detection Multiplier"; + } + } + + grouping BFD-MGMT-ASYNC-INTERVAL-MULTIPLIER-INFORMATION { + description + "BFD Agent Async Interval and Detection Multiplier + Information"; + leaf negotiated-remote-transmit-interval { + type uint32; + units "microsecond"; + description + "Negotiated remote transmit interval in + micro-seconds"; + } + leaf negotiated-local-transmit-interval { + type uint32; + units "microsecond"; + description + "Negotiated local transmit interval in + micro-seconds"; + } + leaf detection-time { + type uint32; + units "microsecond"; + description + "Detection time in micro-seconds"; + } + leaf detection-multiplier { + type uint32; + description + "Detection Multiplier"; + } + } + + grouping BFD-MGMT-SESSION-STATUS-INFORMATION-BRIEF { + description + "BFD Session Status Brief Information "; + container async-interval-multiplier { + description + "Async Interval and Detect Multiplier Information"; + uses BFD-MGMT-ASYNC-INTERVAL-MULTIPLIER-INFORMATION; + } + container echo-interval-multiplier { + description + "Echo Interval and Detect Multiplier Information"; + uses BFD-MGMT-ECHO-INTERVAL-MULTIPLIER-INFORMATION; + } + } + + grouping BFD-MGMT-SESSION-BRIEF { + description + "BFD Brief Session Information"; + container status-brief-information { + description + "Brief Status Information"; + uses BFD-MGMT-SESSION-STATUS-INFORMATION-BRIEF; + } + leaf node-id { + type xr:Node-id; + description + "Location where session is housed"; + } + leaf state { + type Bfd-mgmt-session-state; + description + "State"; + } + leaf session-type { + type Bfd-session; + description + "Session type"; + } + leaf session-subtype { + type string; + description + "Session subtype"; + } + leaf session-flags { + type uint32; + description + "Session Flags"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper.yang new file mode 100644 index 000000000..d1f98b24f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-bfd-oper.yang @@ -0,0 +1,1650 @@ +module Cisco-IOS-XR-ip-bfd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-bfd-oper"; + prefix ip-bfd-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-bfd-oper-sub1 { + revision-date 2022-07-12; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-bfd package operational data. + + This module contains definitions + for the following management objects: + bfd: Bidirectional Forwarding Detection(BFD) operational data + bfd-server-nodes: Table of information about BFD in the Node + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-12 { + description + "New count field added for bfd_mgmt_interval_statistics"; + semver:module-version "2.0.1m"; + } + revision 2020-05-20 { + description + "Added XML Support for IPv4 and IPv6SingleHopMultiPathTable via CSCvu15981."; + semver:module-version "2.0.0"; + } + revision 2019-10-03 { + description + "Addressed openconfig-bfd model open issues via CSCvp68925.Revision updated now."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container bfd { + config false; + description + "Bidirectional Forwarding Detection(BFD) + operational data"; + container label-session-briefs { + description + "Table of brief information about all Label BFD + sessions in the System"; + list label-session-brief { + description + "Brief information for a single Label BFD + session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container ipv4bf-do-mplste-tail-summary { + description + "Summary information of IPv4 BFD over MPLS-TE + Tail"; + uses BFD-MGMT-BFD-INFORMATION; + } + container ipv6-single-hop-counters { + description + "IPv6 single hop Counters"; + container ipv6-single-hop-packet-counters { + description + "Table of IPv6 single hop Packet counters"; + list ipv6-single-hop-packet-counter { + description + "Interface IPv6 single hop Packet counters"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container counters { + description + "IPv4 Counters"; + container packet-counters { + description + "Table of IPv4 Packet counters"; + list packet-counter { + description + "Interface IPv4 Packet counters"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container client-details { + description + "Table of detailed information about BFD clients"; + list client-detail { + key "client-name"; + description + "Detailed information of client"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client Name"; + } + uses BFD-MGMT-CLIENT-DETAIL-INFORMATION; + } + } + container ipv4-single-hop-summary { + description + "Summary information of BFD IPv4 singlehop + sessions"; + uses BFD-MGMT-BFD-INFORMATION; + } + container ipv6-single-hop-summary { + description + "Summary information of BFD IPv6 singlehop + sessions"; + uses BFD-MGMT-BFD-INFORMATION; + } + container label-multi-paths { + description + "Label multipath"; + list label-multi-path { + description + "Label multipath table"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-MULTIPLE-PATHS; + } + } + container ipv4-multi-hop-session-details { + description + "Table of detailed information about all IPv4 + multihop BFD sessions in the System "; + list ipv4-multi-hop-session-detail { + description + "Detailed information for a single IPv4 multihop + BFD session"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv4-single-hop-session-details { + description + "Table of detailed information about all IPv4 + singlehop BFD sessions in the System "; + list ipv4-single-hop-session-detail { + description + "Detailed information for a single IPv4 + singlehop BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session Discr"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv4-multi-hop-session-briefs { + description + "Table of brief information about all IPv4 + multihop BFD sessions in the System"; + list ipv4-multi-hop-session-brief { + description + "Brief information for a single IPv4 multihop + BFD session"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container generic-summaries { + description + "Generic summary information about BFD location"; + list generic-summary { + key "location"; + description + "Generic summary information for bfd location + table"; + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-SUMMARY; + } + } + container ipv6-single-hop-multi-paths { + description + "IPv6 single hop multipath"; + list ipv6-single-hop-multi-path { + description + "IPv6 single hop multipath table"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session's Local discriminator"; + } + uses BFD-MGMT-MULTIPLE-PATHS; + } + } + container ipv4-single-hop-node-location-summaries { + description + "Table of summary information about BFD IPv4 + singlehop sessions per location"; + list ipv4-single-hop-node-location-summary { + key "location"; + description + "Summary information for BFD IPv4 singlehop + sessions for location"; + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-BFD-LOC-INFORMATION; + } + } + container label-summary { + description + "Summary information of Label BFD"; + uses BFD-MGMT-BFD-INFORMATION; + } + container ipv4bf-do-mplste-head-session-briefs { + description + "Table of brief information about all IPv4 BFD + over MPLS-TE Head sessions in the System"; + list ipv4bf-do-mplste-head-session-brief { + description + "Brief information for a single IPv4 BFD over + MPLS-TE Head session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf fec-subgroup-id { + type uint32; + description + "FEC Subgroup ID"; + } + leaf feclspid { + type uint32; + description + "FEC LSP ID"; + } + leaf fec-tunnel-id { + type uint32; + description + "FEC Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "FEC Extended Tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address-no-zone; + description + "FEC Source"; + } + leaf fec-destination { + type inet:ipv4-address-no-zone; + description + "FEC Destination"; + } + leaf fecp2mpid { + type uint32; + description + "FEC P2MP ID"; + } + leaf fec-subgroup-originator { + type inet:ipv4-address-no-zone; + description + "FEC Subgroup originator"; + } + leaf fec-ctype { + type uint32; + description + "FEC C Type"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container ipv4bf-do-mplste-tail-session-details { + description + "Table of detailed information about all IPv4 BFD + over MPLS-TE Tail sessions in the System"; + list ipv4bf-do-mplste-tail-session-detail { + description + "Detailed information for a single IPv4 BFD over + MPLS-TE Tail session"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf fec-subgroup-id { + type uint32; + description + "FEC Subgroup ID"; + } + leaf feclspid { + type uint32; + description + "FEC LSP ID"; + } + leaf fec-tunnel-id { + type uint32; + description + "FEC Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "FEC Extended Tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address-no-zone; + description + "FEC Source"; + } + leaf fec-destination { + type inet:ipv4-address-no-zone; + description + "FEC Destination"; + } + leaf fecp2mpid { + type uint32; + description + "FEC P2MP ID"; + } + leaf fec-subgroup-originator { + type inet:ipv4-address-no-zone; + description + "FEC Subgroup originator"; + } + leaf fec-ctype { + type uint32; + description + "FEC C Type"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv4-multi-hop-node-location-summaries { + description + "Table of summary information about BFD IPv4 + multihop sessions per location"; + list ipv4-multi-hop-node-location-summary { + key "location"; + description + "Summary information for BFD IPv4 multihop + sessions for location"; + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-BFD-LOC-INFORMATION; + } + } + container ipv4bf-do-mplste-tail-session-briefs { + description + "Table of brief information about all IPv4 BFD + over MPLS-TE Tail sessions in the System"; + list ipv4bf-do-mplste-tail-session-brief { + description + "Brief information for a single IPv4 BFD over + MPLS-TE session"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf fec-subgroup-id { + type uint32; + description + "FEC Subgroup ID"; + } + leaf feclspid { + type uint32; + description + "FEC LSP ID"; + } + leaf fec-tunnel-id { + type uint32; + description + "FEC Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "FEC Extended Tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address-no-zone; + description + "FEC Source"; + } + leaf fec-destination { + type inet:ipv4-address-no-zone; + description + "FEC Destination"; + } + leaf fecp2mpid { + type uint32; + description + "FEC P2MP ID"; + } + leaf fec-subgroup-originator { + type inet:ipv4-address-no-zone; + description + "FEC Subgroup originator"; + } + leaf fec-ctype { + type uint32; + description + "FEC C Type"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container ipv6-multi-hop-node-location-summaries { + description + "Table of summary information about BFD IPv6 + multihop sessions per location"; + list ipv6-multi-hop-node-location-summary { + key "location"; + description + "Summary information for BFD IPv6 multihop + sessions for location"; + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-BFD-LOC-INFORMATION; + } + } + container ip-single-hop-session-details { + description + "Table of detailed information about all IP + singlehop BFD sessions in the System "; + list ip-single-hop-session-detail { + description + "Detailed information for a single IPv4/IPv6 + singlehop BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session Discr"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv4-multi-hop-summary { + description + "Summary information of BFD IPv4 multihop + sessions"; + uses BFD-MGMT-BFD-INFORMATION; + } + container ipv4-single-hop-counters { + description + "IPv4 single hop Counters"; + container ipv4-single-hop-packet-counters { + description + "Table of IPv4 single hop Packet counters"; + list ipv4-single-hop-packet-counter { + description + "Interface IPv4 single hop Packet counters"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container ipv6-multi-hop-session-details { + description + "Table of detailed information about all IPv6 + multihop BFD sessions in the System "; + list ipv6-multi-hop-session-detail { + description + "Detailed information for a single IPv6 multihop + BFD session"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv6-multi-hop-multi-paths { + description + "IPv6 multi hop multipath"; + list ipv6-multi-hop-multi-path { + description + "IPv6 multihop multipath table"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-MULTIPLE-PATHS; + } + } + container ipv4bf-do-mplste-head-counters { + description + "IPv4 BFD over MPLS-TE Counters"; + container ipv4bf-do-mplste-head-packet-counters { + description + "Table of IPv4 BFD over MPLS-TE Packet counters"; + list ipv4bf-do-mplste-head-packet-counter { + description + "Interface IPv4 BFD over MPLS-TE Packet + counters"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container session-mibs { + description + "BFD session MIB database"; + list session-mib { + key "discriminator"; + description + "Brief information for BFD session MIB"; + leaf discriminator { + type uint32 { + range "1..4294967295"; + } + description + "Session Discr"; + } + uses BFD-MGMT-MIB-DATABASE; + } + } + container ipv6-multi-hop-summary { + description + "Summary information of BFD IPv6 multihop + sessions"; + uses BFD-MGMT-BFD-INFORMATION; + } + container label-summary-nodes { + description + "Table of summary about Label BFD sessions for + location"; + list label-summary-node { + key "location-name"; + description + "Summary of Label BFD "; + leaf location-name { + type xr:Cisco-ios-xr-string; + description + "Location name"; + } + uses BFD-MGMT-BFD-LOC-INFORMATION; + } + } + container ipv6-multi-hop-session-briefs { + description + "Table of brief information about all IPv6 + multihop BFD sessions in the System"; + list ipv6-multi-hop-session-brief { + description + "Brief information for a single IPv6 multihop + BFD session"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container session-briefs { + description + "Table of brief information about singlehop IPv4 + BFD sessions in the System"; + list session-brief { + description + "Brief information for a single IPv4 singlehop + BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session Discr"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container ipv6-single-hop-node-location-summaries { + description + "Table of summary information about BFD IPv6 + singlehop sessions per location"; + list ipv6-single-hop-node-location-summary { + key "location"; + description + "Summary information for BFD IPv6 singlehop + sessions for location"; + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-BFD-LOC-INFORMATION; + } + } + container summary { + description + "Summary information of BFD IPv4 singlehop + sessions"; + uses BFD-MGMT-BFD-INFORMATION; + } + container ipv4bfd-mplste-tail-node-summaries { + description + "Table of summary about IPv4 TE tail BFD sessions + for location"; + list ipv4bfd-mplste-tail-node-summary { + key "location-name"; + description + "Summary of IPv4 BFD over MPLS-TE tail"; + leaf location-name { + type xr:Cisco-ios-xr-string; + description + "Location name"; + } + uses BFD-MGMT-BFD-LOC-INFORMATION; + } + } + container ipv4bfd-mplste-head-summary-nodes { + description + "Table of summary about IPv4 TE head BFD sessions + for location"; + list ipv4bfd-mplste-head-summary-node { + key "location-name"; + description + "Summary of IPv4 BFD over MPLS-TE head"; + leaf location-name { + type xr:Cisco-ios-xr-string; + description + "Location name"; + } + uses BFD-MGMT-BFD-LOC-INFORMATION; + } + } + container label-session-details { + description + "Table of detailed information about all Label + BFD sessions in the System "; + list label-session-detail { + description + "Detailed information for a single BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv6-single-hop-session-details { + description + "Table of detailed information about all IPv6 + singlehop BFD sessions in the System "; + list ipv6-single-hop-session-detail { + description + "Detailed information for a single IPv6 + singlehop BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session Discr"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv4-multi-hop-counters { + description + "IPv4 multiple hop Counters"; + container ipv4-multi-hop-packet-counters { + description + "Table of IPv4 multiple hop Packet counters"; + list ipv4-multi-hop-packet-counter { + description + "IPv4 multiple hop Packet counters"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container session-details { + description + "Table of detailed information about IPv4 + singlehop BFD sessions in the System "; + list session-detail { + description + "Detailed information for a single IPv4 + singlehop BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session Discr"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container ipv4-single-hop-multi-paths { + description + "IPv4 single hop multipath"; + list ipv4-single-hop-multi-path { + description + "IPv4 single hop multipath table"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session's Local discriminator"; + } + uses BFD-MGMT-MULTIPLE-PATHS; + } + } + container ipv4-single-hop-session-briefs { + description + "Table of brief information about all IPv4 + singlehop BFD sessions in the System"; + list ipv4-single-hop-session-brief { + description + "Brief information for a single IPv4 singlehop + BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session Discr"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container ipv6-multi-hop-counters { + description + "IPv6 multiple hop Counters"; + container ipv6-multi-hop-packet-counters { + description + "Table of IPv6 multiple hop Packet counters"; + list ipv6-multi-hop-packet-counter { + description + "IPv4 multiple hop Packet counters"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container label-counters { + description + "Label Counters"; + container label-packet-counters { + description + "Table of Label Packet counters"; + list label-packet-counter { + description + "Interface Label Packet counters"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container ipv4bf-do-mplste-head-session-details { + description + "Table of detailed information about all IPv4 BFD + over MPLS-TE Head sessions in the System"; + list ipv4bf-do-mplste-head-session-detail { + description + "Detailed information for a single IPv4 BFD over + MPLS-TE head session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf fec-subgroup-id { + type uint32; + description + "FEC Subgroup ID"; + } + leaf feclspid { + type uint32; + description + "FEC LSP ID"; + } + leaf fec-tunnel-id { + type uint32; + description + "FEC Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "FEC Extended Tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address-no-zone; + description + "FEC Source"; + } + leaf fec-destination { + type inet:ipv4-address-no-zone; + description + "FEC Destination"; + } + leaf fecp2mpid { + type uint32; + description + "FEC P2MP ID"; + } + leaf fec-subgroup-originator { + type inet:ipv4-address-no-zone; + description + "FEC Subgroup originator"; + } + leaf fec-ctype { + type uint32; + description + "FEC C Type"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-SESSION-DETAIL; + } + } + container relation-briefs { + description + "Table of brief information about all BFD + relations in the System"; + list relation-brief { + description + "Brief information for relation of a single BFD + session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + uses BFD-MGMT-RELATION-BRIEF; + } + } + container client-briefs { + description + "Table of Brief information about BFD clients"; + list client-brief { + key "name"; + description + "Brief information of client"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Client Name"; + } + uses BFD-MGMT-CLIENT-BRIEF-INFORMATION; + } + } + container ipv4bf-do-mplste-head-multi-paths { + description + "IPv4 BFD over MPLS-TE Head multipath"; + list ipv4bf-do-mplste-head-multi-path { + description + "Label multipath table"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf fec-subgroup-id { + type uint32; + description + "FEC Subgroup ID"; + } + leaf feclspid { + type uint32; + description + "FEC LSP ID"; + } + leaf fec-tunnel-id { + type uint32; + description + "FEC Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "FEC Extended Tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address-no-zone; + description + "FEC Source"; + } + leaf fec-destination { + type inet:ipv4-address-no-zone; + description + "FEC Destination"; + } + leaf fecp2mpid { + type uint32; + description + "FEC P2MP ID"; + } + leaf fec-subgroup-originator { + type inet:ipv4-address-no-zone; + description + "FEC Subgroup originator"; + } + leaf fec-ctype { + type uint32; + description + "FEC C Type"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-MULTIPLE-PATHS; + } + } + container relation-details { + description + "Table of detail information about all BFD + relations in the System"; + list relation-detail { + description + "Detail information for relation of a single BFD + session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + uses BFD-MGMT-RELATION; + } + } + container ipv4bf-do-mplste-tail-counters { + description + "IPv4 BFD over MPLS-TE Counters"; + container ipv4bf-do-mplste-tail-packet-counters { + description + "Table of IPv4 BFD over MPLS-TE Packet counters"; + list ipv4bf-do-mplste-tail-packet-counter { + description + "Interface IPv4 BFD over MPLS-TE Packet + counters"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf fec-subgroup-id { + type uint32; + description + "FEC Subgroup ID"; + } + leaf feclspid { + type uint32; + description + "FEC LSP ID"; + } + leaf fec-tunnel-id { + type uint32; + description + "FEC Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "FEC Extended Tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address-no-zone; + description + "FEC Source"; + } + leaf fec-destination { + type inet:ipv4-address-no-zone; + description + "FEC Destination"; + } + leaf fecp2mpid { + type uint32; + description + "FEC P2MP ID"; + } + leaf fec-subgroup-originator { + type inet:ipv4-address-no-zone; + description + "FEC Subgroup originator"; + } + leaf fec-ctype { + type uint32; + description + "FEC C Type"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-PACKET-COUNT; + } + } + } + container ipv6-single-hop-session-briefs { + description + "Table of brief information about all IPv6 + singlehop BFD sessions in the System"; + list ipv6-single-hop-session-brief { + description + "Brief information for a single IPv6 singlehop + BFD session"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf local-discriminator { + type uint32; + description + "Session Discr"; + } + uses BFD-MGMT-SESSION-BRIEF; + } + } + container ipv4bf-do-mplste-tail-multi-paths { + description + "IPv4 BFD over MPLS-TE Tail multipath"; + list ipv4bf-do-mplste-tail-multi-path { + description + "Label multipath table"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf incoming-label { + type uint32; + description + "Incoming Label"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf fec-subgroup-id { + type uint32; + description + "FEC Subgroup ID"; + } + leaf feclspid { + type uint32; + description + "FEC LSP ID"; + } + leaf fec-tunnel-id { + type uint32; + description + "FEC Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "FEC Extended Tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address-no-zone; + description + "FEC Source"; + } + leaf fec-destination { + type inet:ipv4-address-no-zone; + description + "FEC Destination"; + } + leaf fecp2mpid { + type uint32; + description + "FEC P2MP ID"; + } + leaf fec-subgroup-originator { + type inet:ipv4-address-no-zone; + description + "FEC Subgroup originator"; + } + leaf fec-ctype { + type uint32; + description + "FEC C Type"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + uses BFD-MGMT-MULTIPLE-PATHS; + } + } + container ipv4-multi-hop-multi-paths { + description + "IPv4 multi-hop multipath"; + list ipv4-multi-hop-multi-path { + description + "IPv4 multi hop multipath table"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination Address"; + } + leaf location { + type xr:Node-id; + description + "Location"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses BFD-MGMT-MULTIPLE-PATHS; + } + } + container ipv4bf-do-mplste-head-summary { + description + "Summary information of IPv4 BFD over MPLS-TE + Head"; + uses BFD-MGMT-BFD-INFORMATION; + } + } + container bfd-server-nodes { + config false; + description + "Table of information about BFD in the Node"; + list bfd-server-node { + key "location"; + description + "Table of information about BFD per Node"; + container client-detail-locs { + description + "Table of detailed information about BFD clients"; + list client-detail-loc { + key "client-name"; + description + "Detailed information of client"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client Name"; + } + uses BFD-MGMT-CLIENT-DETAIL-INFORMATION; + } + } + container client-brief-locs { + description + "Table of Brief information about BFD clients"; + list client-brief-loc { + key "name"; + description + "Brief information of client"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Client Name"; + } + uses BFD-MGMT-CLIENT-BRIEF-INFORMATION; + } + } + leaf location { + type xr:Node-id; + description + "Location"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-cfg.yang new file mode 100644 index 000000000..19d718697 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-cfg.yang @@ -0,0 +1,345 @@ +module Cisco-IOS-XR-ip-daps-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-daps-cfg"; + prefix ip-daps-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-daps package configuration. + + This module contains definitions + for the following management objects: + address-pool-service: Address Pool configuration data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-15 { + description + "Onfly pool change support"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container address-pool-service { + description + "Address Pool configuration data"; + container onfly { + description + "Enable onfly pool config"; + leaf pppoe { + type empty; + description + "onfly pool edit/delete, ipv4 release ip enable"; + } + } + container vrfs { + description + "Enter VRF specific config mode"; + list vrf { + key "vrf-name"; + description + "Specify VRF Name"; + container ipv6 { + description + "Enter IPv6 specific mode"; + container pools { + description + "IPv6 Pool Name"; + list pool { + key "ipv6-pool-name"; + description + "Enter the IPv6 Pool name"; + container address-ranges { + description + "Specify address range for allocation"; + list address-range { + key "start-address"; + description + "None"; + leaf start-address { + type inet:ip-address-no-zone; + description + "Start address of the range"; + } + leaf blocked { + type uint32; + description + "Blocked flag"; + } + leaf end-address { + type inet:ip-address-no-zone; + mandatory true; + description + "End Address of the range"; + } + } + } + container excludes { + description + "Exclude IPv6 addresses / prefixes"; + list exclude { + key "start-address"; + description + "None"; + leaf start-address { + type inet:ip-address-no-zone; + description + "First Address in IPv6 exclude range"; + } + leaf end-address { + type inet:ip-address-no-zone; + mandatory true; + description + "Last address in exclude Range"; + } + } + } + container utilization-mark { + presence "Indicates a utilization-mark node is configured."; + description + "Specify utilization mark"; + leaf high-mark { + type uint32 { + range "0..100"; + } + units "percentage"; + mandatory true; + description + "Specify numerical value as percentage"; + } + leaf low-mark { + type uint32 { + range "0..100"; + } + units "percentage"; + mandatory true; + description + "Specify numerical value as percentage"; + } + } + container prefix-ranges { + description + "Specify prefix range for allocation"; + list prefix-range { + key "start-prefix"; + description + "None"; + leaf start-prefix { + type inet:ip-address-no-zone; + description + "First prefix of range"; + } + leaf blocked { + type uint32; + description + "Blocked flag"; + } + leaf end-prefix { + type inet:ip-address-no-zone; + mandatory true; + description + "Last prefix of range"; + } + } + } + container networks { + description + "Specify network for allocation"; + list network { + key "prefix"; + description + "None"; + leaf prefix { + type inet:ip-address-no-zone; + description + "None"; + } + leaf blocked { + type uint32; + description + "Blocked flag"; + } + leaf prefix-length { + type uint32 { + range "1..128"; + } + mandatory true; + description + "Prefix length for the IPv6 Prefix"; + } + } + } + leaf prefix-length { + type uint32 { + range "1..128"; + } + description + "Enter the prefix-length for the Pool"; + } + leaf ipv6-pool-name { + type xr:Cisco-ios-xr-string; + description + "Enter the IPv6 Pool name"; + } + } + } + } + container ipv4 { + description + "Enter IPv4 specific configuration"; + container pools { + description + "IPv4 Pool Table"; + list pool { + key "pool-name"; + description + "IPv4 Pool name"; + container address-ranges { + description + "address range for allocation"; + list address-range { + key "start-address"; + description + "Specify first address in range"; + leaf start-address { + type inet:ipv4-address-no-zone; + description + "Specify first address of the range"; + } + leaf end-address { + type inet:ip-address-no-zone; + mandatory true; + description + "Last address of the range"; + } + leaf blocked { + type uint32; + description + "Blocked flag"; + } + } + } + container excludes { + description + "Exclude addresses"; + list exclude { + key "start-address"; + description + "First address in range"; + leaf start-address { + type inet:ipv4-address-no-zone; + description + "First address in exclude range"; + } + leaf end-address { + type inet:ip-address-no-zone; + mandatory true; + description + "Last address in excluded range"; + } + } + } + container utilization-mark { + presence "Indicates a utilization-mark node is configured."; + description + "Specify utilization mark"; + leaf high { + type uint32 { + range "0..100"; + } + units "percentage"; + mandatory true; + description + "Specify numerical value as percentage"; + } + leaf low { + type uint32 { + range "0..100"; + } + units "percentage"; + mandatory true; + description + "Specify numerical value as percentage"; + } + } + container networks { + description + "Specify network for allocation"; + list network { + key "ipv4-prefix"; + description + "Network Prefix"; + leaf ipv4-prefix { + type inet:ip-address-no-zone; + description + "None"; + } + leaf blocked { + type uint32; + description + "Blocked flag"; + } + leaf prefix-length { + type uint32; + mandatory true; + description + "Subnet Length for IPv4 subnet"; + } + leaf default-router { + type inet:ipv4-address-no-zone; + description + "Default Gateway for IPv4 subnet"; + } + } + } + leaf pool-name { + type xr:Cisco-ios-xr-string; + description + "Enter the IPv4 Pool name"; + } + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "none"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-mib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-mib-cfg.yang new file mode 100644 index 000000000..32f1f1c9b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-mib-cfg.yang @@ -0,0 +1,64 @@ +module Cisco-IOS-XR-ip-daps-mib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-daps-mib-cfg"; + prefix ip-daps-mib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-daps-mib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container addresspool-mib { + description + "Enable SNMP daps traps"; + leaf high { + type boolean; + description + "Enable SNMP Address Pool High Threshold trap"; + } + leaf low { + type boolean; + description + "Enable SNMP Address Pool Low Threshold trap"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper-sub1.yang new file mode 100644 index 000000000..8f53a15e4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper-sub1.yang @@ -0,0 +1,553 @@ +submodule Cisco-IOS-XR-ip-daps-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-daps-oper { + prefix Cisco-IOS-XR-ip-daps-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-daps package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Daps-serg-role { + type enumeration { + enum "none" { + description + "Role None"; + } + enum "master" { + description + "Role Master"; + } + enum "slave" { + description + "Role Slave"; + } + } + description + "DAPS SERG role"; + } + + typedef Daps-client { + type enumeration { + enum "none" { + value 0; + description + "Client type is None"; + } + enum "ppp" { + value 1; + description + "Client type is PPP"; + } + enum "dhcp" { + value 2; + description + "Client type is DHCP"; + } + enum "dhcpv6" { + value 4; + description + "Client type is DHCPv6"; + } + enum "ipv6nd" { + value 5; + description + "Client type is IPv6ND"; + } + } + description + "DAPS client types"; + } + + typedef Ipv6-addr { + type inet:ipv6-address; + description + "Ipv6 addr"; + } + + typedef Ip-addr { + type enumeration { + enum "ipv4" { + value 2; + description + "IPv4 address"; + } + enum "ipv6" { + value 10; + description + "IPv6 address"; + } + } + description + "Address type"; + } + + grouping DAPS-VRF-POOL-INFO { + description + "VRF pool information"; + leaf pool-name { + type string { + length "0..64"; + } + description + "Pool name"; + } + leaf vrf-name { + type string { + length "0..64"; + } + description + "VRF name"; + } + leaf used { + type uint32; + description + "Used allocations"; + } + leaf excluded { + type uint32; + description + "Excluded allocations"; + } + leaf free { + type uint32; + description + "Free allocations"; + } + leaf total { + type uint32; + description + "Total allocations"; + } + } + + grouping DAPS-VRF-ALLOCATION-SUMMARY { + description + "VRF allocation summary"; + leaf used { + type uint32; + description + "Used allocations"; + } + leaf excluded { + type uint32; + description + "Excluded allocations"; + } + leaf free { + type uint32; + description + "Free allocations"; + } + leaf total { + type uint32; + description + "Total allocations"; + } + leaf high-utilization-threshold { + type uint8; + units "percentage"; + description + "High utilization threshold in percentage"; + } + leaf low-utilization-threshold { + type uint8; + units "percentage"; + description + "Low utilization threshold in percentage"; + } + leaf utilization { + type uint8; + units "percentage"; + description + "Current utilization in percentage"; + } + } + + grouping DAPS-VRF-INFO { + description + " VRF information"; + container allocation-summary { + description + "Allocation summary"; + uses DAPS-VRF-ALLOCATION-SUMMARY; + } + list pools { + description + "Pools data"; + uses DAPS-VRF-POOL-INFO; + } + } + + grouping IP-DAPS-SHOW-POOL-TOTAL-UTIL { + description + "IP DAPS pool total utilization"; + leaf total-utilization-high-mark { + type uint8; + description + "High utilization mark"; + } + leaf total-utilization-low-mark { + type uint8; + description + "Low utilization mark"; + } + leaf current-total-utilization { + type uint8; + description + "Current utilization"; + } + } + + grouping DAPS-POOL-SERG-INFO { + description + "SERG info"; + leaf preferred-role { + type Daps-serg-role; + description + "SERG PreferredRole"; + } + leaf peer-down { + type boolean; + description + "Peer Down"; + } + leaf verify-pend { + type boolean; + description + "Verify Pending"; + } + } + + grouping IP-DAPS-SHOW-POOL-CFG { + description + "IP DAPS pool configuration"; + container serg-info { + description + "SERG Info"; + uses DAPS-POOL-SERG-INFO; + } + leaf pool-name { + type string { + length "0..64"; + } + description + "Pool name"; + } + leaf pool-id { + type uint32; + description + "Pool ID for MIBS"; + } + leaf vrf-name { + type string { + length "0..64"; + } + description + "VRF name"; + } + leaf pool-scope { + type string { + length "0..64"; + } + description + "Pool Scope"; + } + leaf pool-prefix-length { + type uint32; + description + "Prefix length"; + } + leaf high-utilization-mark { + type uint8; + description + "High utilization mark"; + } + leaf low-utilization-mark { + type uint8; + description + "Low utilization mark"; + } + leaf current-utilization { + type uint8; + description + "Current utilization"; + } + leaf utilization-high-count { + type uint32; + description + "Number of times High utilization threshold was + crossed"; + } + leaf utilization-low-count { + type uint32; + description + "Number of times Low utilization threshold was + crossed"; + } + } + + grouping DAPS-POOL-IN-USE-ADDRESS { + description + "In-use address data"; + container address { + description + "Client address"; + uses IP-ADDR-ST; + } + leaf client-type { + type Daps-client; + description + "Client type"; + } + } + + grouping DAPS-POOL-RANGE { + description + "Pool address range data"; + container start-address { + description + "Range start"; + uses IP-ADDR-ST; + } + container end-address { + description + "Range end"; + uses IP-ADDR-ST; + } + leaf used { + type uint32; + description + "Used allocations"; + } + leaf excluded { + type uint32; + description + "Excluded allocations"; + } + leaf free { + type uint32; + description + "Free allocations"; + } + } + + grouping DAPS-POOL-THRESHOLD { + description + "Pool threshold information"; + leaf threshold { + type uint32; + units "percentage"; + description + "Threshold in percentage"; + } + leaf triggers { + type uint32; + description + "Number of Triggers"; + } + leaf time-last-crossed { + type string; + description + "Last time at which threshold crossed in DDD MMM + DD HH:MM:SS YYYY format eg: Tue Apr 11 21:30:47 + 2011"; + } + } + + grouping DAPS-POOL-ALLOCATIONS { + description + "Pool allocations data"; + container high-threshold { + description + "High threshold data"; + uses DAPS-POOL-THRESHOLD; + } + container low-threshold { + description + "Low threshold data"; + uses DAPS-POOL-THRESHOLD; + } + leaf vrf-name { + type string { + length "0..64"; + } + description + "VRF name"; + } + leaf used { + type uint32; + description + "Used allocations"; + } + leaf excluded { + type uint32; + description + "Excluded allocations"; + } + leaf free { + type uint32; + description + "Free allocations"; + } + leaf total { + type uint32; + description + "Total allocations"; + } + leaf utilization { + type uint32; + units "percentage"; + description + "Current utilization in percentage"; + } + } + + grouping DAPS-POOL-DETAIL { + description + "Pool data"; + container pool-allocations { + description + "Pool allocations"; + uses DAPS-POOL-ALLOCATIONS; + } + list address-range { + description + "Address ranges"; + uses DAPS-POOL-RANGE; + } + list in-use-address { + description + "In-use addresses"; + uses DAPS-POOL-IN-USE-ADDRESS; + } + } + + grouping IP-ADDR-UN { + description + "Daps Address"; + leaf address-family { + type Ip-addr; + description + "AddressFamily"; + } + leaf ipv4-address { + when "../address-family = 'ipv4'" { + description + "../AddressFamily = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6-address { + when "../address-family = 'ipv6'" { + description + "../AddressFamily = 'IPv6'"; + } + type Ipv6-addr; + description + "IPv6 address"; + } + } + + grouping IP-ADDR-ST { + description + "IP address information"; + container address { + description + "Address"; + uses IP-ADDR-UN; + } + } + + grouping IP-DAPS-SHOW-POOL-BRIEF { + description + "IP DAPS pool parameters"; + container start-address-xr { + description + "Range start"; + uses IP-ADDR-ST; + } + container end-address { + description + "Range end"; + uses IP-ADDR-ST; + } + container default-router { + description + "Default router"; + uses IP-ADDR-ST; + } + leaf pool-name { + type string { + length "0..64"; + } + description + "Pool name"; + } + leaf vrf-name { + type string { + length "0..64"; + } + description + "VRF name"; + } + leaf allocated-addresses { + type uint32; + description + "Number of addresses allocated"; + } + leaf free-addresses { + type uint32; + description + "Number of addresses free"; + } + leaf excluded-addresses { + type uint32; + description + "Number of addresses excluded"; + } + leaf network-blocked-status { + type uint32; + description + "Is network blocked"; + } + leaf network-blocked-status-trp { + type uint32; + description + "Is network blocked trap send"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper.yang new file mode 100644 index 000000000..0e433a723 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-daps-oper.yang @@ -0,0 +1,138 @@ +module Cisco-IOS-XR-ip-daps-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-daps-oper"; + prefix ip-daps-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-daps-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-daps package operational data. + + This module contains definitions + for the following management objects: + address-pool-service: Pool operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container address-pool-service { + config false; + description + "Pool operational data"; + container nodes { + description + "Pool operational data for a particular location"; + list node { + key "node-name"; + description + "Location. For eg., 0/1/CPU0"; + container pools { + description + "List of IPv4/IPv6 pool data"; + list pool { + key "pool-name"; + description + "Pool data by pool name"; + container address-ranges { + description + "Summary info for pool"; + list address-range { + key "start-address"; + description + "Start Address of the Range"; + leaf start-address { + type inet:ip-address-no-zone; + description + "IP Address"; + } + uses IP-DAPS-SHOW-POOL-BRIEF; + } + } + container allocated-addresses { + description + "Detailed info for the Pool"; + uses DAPS-POOL-DETAIL; + } + container configuration { + description + "Configuration info for pool"; + uses IP-DAPS-SHOW-POOL-CFG; + } + leaf pool-name { + type xr:Cisco-ios-xr-string; + description + "The pool name"; + } + } + } + container total-utilization { + description + "Show total utilization for pool"; + uses IP-DAPS-SHOW-POOL-TOTAL-UTIL; + } + container vrfs { + description + "Pool VRF data"; + list vrf { + key "vrf-name"; + description + "VRF level Pool information"; + container ipv4 { + description + "IPv4 pool VRF data"; + uses DAPS-VRF-INFO; + } + container ipv6 { + description + "IPv6 Pool VRF data"; + uses DAPS-VRF-INFO; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The VRF name"; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-cfg.yang new file mode 100644 index 000000000..cef1ea558 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-cfg.yang @@ -0,0 +1,189 @@ +module Cisco-IOS-XR-ip-domain-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-domain-cfg"; + prefix ip-domain-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-domain package configuration. + + This module contains definitions + for the following management objects: + ip-domain: IP domain configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-19 { + description + "Domains default flows Disable support."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-05-13 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container ip-domain { + description + "IP domain configuration"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF specific data"; + container ipv6-hosts { + description + "IPv6 host"; + list ipv6-host { + key "host-name"; + description + "Host name and up to 4 host IPv6 addresses"; + leaf host-name { + type string; + description + "A hostname"; + } + leaf-list address { + type inet:ipv6-address-no-zone; + min-elements 1; + max-elements "4"; + description + "Host IPv6 addresses"; + } + } + } + container servers { + description + "Name server addresses"; + list server { + key "order server-address"; + description + "Name server address"; + leaf order { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf server-address { + type inet:ip-address-no-zone; + description + "A name server address"; + } + } + } + container lists { + description + "Domain names to complete unqualified host + names"; + list list { + key "order list-name"; + description + "Domain name to complete unqualified host + names"; + leaf order { + type uint32; + description + "This is used to sort the names in the order + of precedence"; + } + leaf list-name { + type xr:Cisco-ios-xr-string; + description + "A domain name"; + } + } + } + container ipv4-hosts { + description + "IPv4 host"; + list ipv4-host { + key "host-name"; + description + "Host name and up to 8 host IPv4 addresses"; + leaf host-name { + type string; + description + "A hostname"; + } + leaf-list address { + type inet:ipv4-address-no-zone; + min-elements 1; + max-elements "8"; + description + "Host IPv4 addresses"; + } + } + } + leaf lookup { + type empty; + description + "Disable Domain Name System hostname + translation"; + } + leaf multicast-domain { + type string; + description + "Default multicast domain name"; + } + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in + connections"; + } + leaf name { + type string; + description + "Default domain name"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF instance"; + } + } + } + leaf default-flows-disable { + type empty; + description + "Disable default flows programming"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper-sub1.yang new file mode 100644 index 000000000..4bc261fb3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper-sub1.yang @@ -0,0 +1,196 @@ +submodule Cisco-IOS-XR-ip-domain-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-domain-oper { + prefix Cisco-IOS-XR-ip-domain-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-domain package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-09-29 { + description + "IOS XR 6.0.0 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + identity Host-address-base { + description + "Base identity for Host-address"; + } + + identity ipv4 { + base Host-address-base; + description + "IPv4 family address"; + } + + identity ipv6 { + base Host-address-base; + description + "IPv6 family address"; + } + + typedef String1 { + type string { + length "0..256"; + } + description + "String1"; + } + + typedef Domain-ipv6-address { + type inet:ipv6-address; + description + "Domain ipv6 address"; + } + + typedef Host-address { + type identityref { + base Host-address-base; + } + description + "Host Address Type"; + } + + typedef Server-domain-lkup { + type enumeration { + enum "static-mapping" { + value 0; + description + "Static mapping"; + } + enum "domain-service" { + value 1; + description + "Domain service"; + } + } + description + "Domain look up"; + } + + grouping DOMAIN-HOST-ALIAS-BAG { + description + "Domain host alias"; + leaf-list host-alias { + type String1; + description + "Host alias list"; + } + } + + grouping DOMAIN-SH-HOSTS-BAG { + description + "Domain hosts"; + container host-alias-list { + description + "Host alias"; + uses DOMAIN-HOST-ALIAS-BAG; + } + leaf af-name { + type Host-address; + description + "Address type"; + } + leaf age { + type uint16; + units "hour"; + description + "Age in hours"; + } + list host-address { + description + "Host address list"; + uses DOMAIN-IPADDRESS; + } + } + + grouping DOMAIN-IPADDRESS { + description + "IP Address"; + leaf af-name { + type Host-address; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6-address { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Domain-ipv6-address; + description + "IPv6 address"; + } + } + + grouping DOMAIN-SH-SERVER-BAG { + description + "Domain servers"; + leaf domain-lookup { + type Server-domain-lkup; + description + "Domain lookup"; + } + leaf domain-name { + type string { + length "0..256"; + } + description + "Domain name"; + } + leaf-list domain { + type String1; + description + "Domain list"; + } + list server-address { + description + "Server address list"; + uses DOMAIN-IPADDRESS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper.yang new file mode 100644 index 000000000..4c7f94327 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-domain-oper.yang @@ -0,0 +1,96 @@ +module Cisco-IOS-XR-ip-domain-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-domain-oper"; + prefix ip-domain-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-domain-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-domain package operational data. + + This module contains definitions + for the following management objects: + ip-domain: Domain server and host data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-09-29 { + description + "IOS XR 6.0.0 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container ip-domain { + config false; + description + "Domain server and host data"; + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "VRF instance"; + container server { + description + "Domain server data"; + uses DOMAIN-SH-SERVER-BAG; + } + container hosts { + description + "List of domain hosts"; + list host { + key "host-name"; + description + "IP domain-name, lookup style, nameservers for + specific host"; + leaf host-name { + type string; + description + "Hostname"; + } + uses DOMAIN-SH-HOSTS-BAG; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-cfg.yang new file mode 100644 index 000000000..fbe9a5460 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-cfg.yang @@ -0,0 +1,118 @@ +module Cisco-IOS-XR-ip-iarm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-cfg"; + prefix ip-iarm-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-iarm package configuration. + + This module contains definitions + for the following management objects: + ip-arm: IP Address Repository Manager (IPv4/IPv6 ARM) + configuration data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ip-arm-conflict-policy { + type enumeration { + enum "lowest-rack-slot" { + value 0; + description + "Lowest Rack/Slot"; + } + enum "static" { + value 1; + description + "UP interfaces unaffected"; + } + enum "longest-prefix" { + value 2; + description + "Longest Prefix"; + } + enum "highest-ip" { + value 4; + description + "Highest IP"; + } + } + description + "Ip arm conflict policy"; + } + + grouping CONFLICT-POLICY-TABLE { + description + "Common node of ipv4, ipv6"; + container conflict-policy-table { + description + "IP ARM conflict policy configuration"; + leaf conflict-policy { + type Ip-arm-conflict-policy; + description + "IP ARM conflict policy value definitions"; + } + } + } + + grouping MULTICAST-HOST { + description + "Common node of ipv4, ipv6"; + container multicast-host { + description + "IP ARM Multicast Host configuration"; + leaf multicast-host-interface { + type xr:Interface-name; + description + "Default multicast host interface name"; + } + } + } + + container ip-arm { + description + "IP Address Repository Manager (IPv4/IPv6 ARM) + configuration data"; + container ipv4 { + description + "IPv4 ARM configuration"; + uses CONFLICT-POLICY-TABLE; + uses MULTICAST-HOST; + } + container ipv6 { + description + "IPv6 ARM configuration"; + uses CONFLICT-POLICY-TABLE; + uses MULTICAST-HOST; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-datatypes.yang new file mode 100644 index 000000000..3b3f0fd7d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-datatypes.yang @@ -0,0 +1,45 @@ +module Cisco-IOS-XR-ip-iarm-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-datatypes"; + prefix ip-iarm-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Ipv6arm-prefix-length { + type uint32 { + range "0..128"; + } + description + "Ipv6arm prefix length"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper-sub1.yang new file mode 100644 index 000000000..2d76208ab --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper-sub1.yang @@ -0,0 +1,255 @@ +submodule Cisco-IOS-XR-ip-iarm-v4-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-iarm-v4-oper { + prefix Cisco-IOS-XR-ip-iarm-v4-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-iarm-v4 package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Fixing yang usability issues."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef String1 { + type string; + description + "String1"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + grouping IP-ARM-EDM-DB-RTRID-BAG-TYPE { + description + "Router-id information by VRF"; + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf interface-name { + type string; + description + "Interface name corresponding to the router ID"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + } + + grouping IP-ARM-EDM-DB-VRF-BAG-TYPE { + description + "VRF summary information"; + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + } + + grouping IP-ARM-EDM-SUMMARY-BAG-TYPE { + description + "IP-ARM summary information"; + leaf producer-count { + type int32; + description + "Number of producers"; + } + leaf address-conflict-count { + type int32; + description + "Number of address conflicts"; + } + leaf unnumbered-conflict-count { + type int32; + description + "Number of unnumbered interface conflicts"; + } + leaf db-master-version { + type uint32; + description + "IP-ARM DB master version"; + } + leaf vrf-count { + type int32; + description + "Number of known VRFs"; + } + } + + grouping IP-ARM-EDM-DB-IF-BAG-TYPE { + description + "Database information by interface"; + leaf referenced-interface { + type String1; + description + "Referenced Interface - only valid for an + unnumbered interface"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + list address { + description + "Address info"; + uses IP-ARM-EDM-ADDR-TYPE; + } + } + + grouping ARM-ADDRTYPE { + description + "Union representing an address"; + leaf afi { + type int32; + description + "AFI"; + } + leaf ipv4-address { + when "../afi = '2'" { + description + "../AFI = '2'"; + } + type inet:ipv4-address; + description + "IPV4 Address"; + } + leaf ipv6-address { + when "../afi = '10'" { + description + "../AFI = '10'"; + } + type Ipv6-address; + description + "IPV6 Address"; + } + } + + grouping IP-ARM-EDM-ADDR-TYPE { + description + "IP ARM collective address and other attribute + info"; + container address { + description + "IPv4/IPv6 address"; + uses ARM-ADDRTYPE; + } + leaf prefix-length { + type uint32; + description + "Prefix length of theIPv4/IPv6 Address"; + } + leaf route-tag { + type uint32; + description + "Route Tag of the address"; + } + leaf is-primary { + type boolean; + description + "Is address primary - valid only for IPv4 + addresses"; + } + leaf is-tentative { + type boolean; + description + "Is address valid/tentative - valid only for IPV6 + addresses"; + } + leaf is-prefix-sid { + type boolean; + description + "Is prefix_sid valid - valid only for IPV6 + addresses"; + } + leaf producer { + type string; + description + "Producer Name"; + } + } + + grouping IP-ARM-EDM-DB-NET-BAG-TYPE { + description + "Database information by network"; + container address-xr { + description + "Address info"; + uses IP-ARM-EDM-ADDR-TYPE; + } + leaf interface-name { + type string; + description + "Ingress/Egress Interface name for this address + in the Network"; + } + leaf referenced-interface { + type String1; + description + "Referenced Interface - only valid for an + unnumbered interface"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper.yang new file mode 100644 index 000000000..7883b119b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v4-oper.yang @@ -0,0 +1,173 @@ +module Cisco-IOS-XR-ip-iarm-v4-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-v4-oper"; + prefix ip-iarm-v4-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-iarm-v4-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-iarm-v4 package operational data. + + This module contains definitions + for the following management objects: + ipv4arm: IPv4 Address Repository Manager (IPv4 ARM) + operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Fixing yang usability issues."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv4arm-prefix-length { + type uint32 { + range "0..32"; + } + description + "Ipv4arm prefix length"; + } + + container ipv4arm { + config false; + description + "IPv4 Address Repository Manager (IPv4 ARM) + operational data"; + container addresses { + description + "IPv4 ARM address database information"; + container vrfs { + description + "IPv4 ARM address database information per VRF"; + list vrf { + key "vrf-name"; + description + "IPv4 ARM address database information in a VRF"; + container networks { + description + "IPv4 ARM address database information by + network"; + list network { + description + "An IPv4 Address in IPv4 ARM"; + leaf address { + type inet:ipv4-address-no-zone; + description + "An IPv4 Address in this Network."; + } + leaf prefix-length { + type Ipv4arm-prefix-length; + description + "Ipv4 ARM prefix length for this address in + the Network."; + } + leaf interface { + type xr:Interface-name; + description + "Ingress/Egress interface handle for this + address in the Network."; + } + uses IP-ARM-EDM-DB-NET-BAG-TYPE; + } + } + container interfaces { + description + "IPv4 ARM address database information by + interface"; + list interface { + key "interface"; + description + "An IPv4 address in IPv4 ARM"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses IP-ARM-EDM-DB-IF-BAG-TYPE; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + } + } + container summary { + description + "IPv4 ARM summary information"; + uses IP-ARM-EDM-SUMMARY-BAG-TYPE; + } + container vrf-summaries { + description + "IPv4 ARM VRFs summary information"; + list vrf-summary { + key "vrf-name"; + description + "IPv4 ARM VRF summary information"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses IP-ARM-EDM-DB-VRF-BAG-TYPE; + } + } + container router-id { + description + "IPv4 ARM Router ID information"; + uses IP-ARM-EDM-DB-RTRID-BAG-TYPE; + } + leaf multicast-host-interface { + type xr:Interface-name; + description + "Interface Handle of Default Multicast Host"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper-sub1.yang new file mode 100644 index 000000000..2d69c5a36 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper-sub1.yang @@ -0,0 +1,230 @@ +submodule Cisco-IOS-XR-ip-iarm-v6-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-iarm-v6-oper { + prefix Cisco-IOS-XR-ip-iarm-v6-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-iarm-v6 package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Fixing yang usability issues."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef String1 { + type string; + description + "String1"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + grouping IP-ARM-EDM-DB-VRF-BAG-TYPE { + description + "VRF summary information"; + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + } + + grouping IP-ARM-EDM-SUMMARY-BAG-TYPE { + description + "IP-ARM summary information"; + leaf producer-count { + type int32; + description + "Number of producers"; + } + leaf address-conflict-count { + type int32; + description + "Number of address conflicts"; + } + leaf unnumbered-conflict-count { + type int32; + description + "Number of unnumbered interface conflicts"; + } + leaf db-master-version { + type uint32; + description + "IP-ARM DB master version"; + } + leaf vrf-count { + type int32; + description + "Number of known VRFs"; + } + } + + grouping IP-ARM-EDM-DB-IF-BAG-TYPE { + description + "Database information by interface"; + leaf referenced-interface { + type String1; + description + "Referenced Interface - only valid for an + unnumbered interface"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + list address { + description + "Address info"; + uses IP-ARM-EDM-ADDR-TYPE; + } + } + + grouping ARM-ADDRTYPE { + description + "Union representing an address"; + leaf afi { + type int32; + description + "AFI"; + } + leaf ipv4-address { + when "../afi = '2'" { + description + "../AFI = '2'"; + } + type inet:ipv4-address; + description + "IPV4 Address"; + } + leaf ipv6-address { + when "../afi = '10'" { + description + "../AFI = '10'"; + } + type Ipv6-address; + description + "IPV6 Address"; + } + } + + grouping IP-ARM-EDM-ADDR-TYPE { + description + "IP ARM collective address and other attribute + info"; + container address { + description + "IPv4/IPv6 address"; + uses ARM-ADDRTYPE; + } + leaf prefix-length { + type uint32; + description + "Prefix length of theIPv4/IPv6 Address"; + } + leaf route-tag { + type uint32; + description + "Route Tag of the address"; + } + leaf is-primary { + type boolean; + description + "Is address primary - valid only for IPv4 + addresses"; + } + leaf is-tentative { + type boolean; + description + "Is address valid/tentative - valid only for IPV6 + addresses"; + } + leaf is-prefix-sid { + type boolean; + description + "Is prefix_sid valid - valid only for IPV6 + addresses"; + } + leaf producer { + type string; + description + "Producer Name"; + } + } + + grouping IP-ARM-EDM-DB-NET-BAG-TYPE { + description + "Database information by network"; + container address-xr { + description + "Address info"; + uses IP-ARM-EDM-ADDR-TYPE; + } + leaf interface-name { + type string; + description + "Ingress/Egress Interface name for this address + in the Network"; + } + leaf referenced-interface { + type String1; + description + "Referenced Interface - only valid for an + unnumbered interface"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper.yang new file mode 100644 index 000000000..db88ea676 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-v6-oper.yang @@ -0,0 +1,168 @@ +module Cisco-IOS-XR-ip-iarm-v6-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-v6-oper"; + prefix ip-iarm-v6-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-iarm-v6-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-iarm-v6 package operational data. + + This module contains definitions + for the following management objects: + ipv6arm: IPv6 Address Repository Manager (IPv6 ARM) + operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Fixing yang usability issues."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6arm-prefix-length { + type uint32 { + range "0..128"; + } + description + "Ipv6arm prefix length"; + } + + container ipv6arm { + config false; + description + "IPv6 Address Repository Manager (IPv6 ARM) + operational data"; + container addresses { + description + "IPv6 ARM address database information"; + container vrfs { + description + "IPv6 ARM address database information per VRF"; + list vrf { + key "vrf-name"; + description + "IPv6 ARM address database information in a VRF"; + container networks { + description + "IPv6 ARM address database information by + network"; + list network { + description + "An IPv6 Address in IPv6 ARM"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Ipv6 Address in the Network"; + } + leaf prefix-length { + type Ipv6arm-prefix-length; + description + "IPv6 Arm prefix length for this address in + the Network"; + } + leaf interface { + type xr:Interface-name; + description + "Ingress/Egress interface handle for this + address in the Network"; + } + uses IP-ARM-EDM-DB-NET-BAG-TYPE; + } + } + container interfaces { + description + "IPv6 ARM address database information by + interface"; + list interface { + key "interface"; + description + "An IPv6 address in IPv6 ARM"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses IP-ARM-EDM-DB-IF-BAG-TYPE; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + } + } + container summary { + description + "IPv6 ARM summary information"; + uses IP-ARM-EDM-SUMMARY-BAG-TYPE; + } + container vrf-summaries { + description + "IPv6 ARM VRFs summary information"; + list vrf-summary { + key "vrf-name"; + description + "IPv6 ARM VRF summary information"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses IP-ARM-EDM-DB-VRF-BAG-TYPE; + } + } + leaf multicast-host-interface { + type xr:Interface-name; + description + "Interface Handle of Default Multicast Host"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-vrf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-vrf-cfg.yang new file mode 100644 index 000000000..787b1b865 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iarm-vrf-cfg.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XR-ip-iarm-vrf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-vrf-cfg"; + prefix ip-iarm-vrf-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-infra-rsi-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-iarm-vrf package configuration. + + This YANG module augments the + Cisco-IOS-XR-infra-rsi-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping INTERFACE { + description + "Common node of ipv4, ipv6"; + leaf interface { + type xr:Interface-name; + description + "Default multicast host interface name"; + } + } + + augment "/a1:vrfs/a1:vrf" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-rsi-cfg'"; + container multicast-host { + description + "Multicast host stack configuration"; + container ipv4 { + description + "IPv4 configuration"; + uses INTERFACE; + } + container ipv6 { + description + "IPv6 configuration"; + uses INTERFACE; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-icmp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-icmp-cfg.yang new file mode 100644 index 000000000..817a2d0ba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-icmp-cfg.yang @@ -0,0 +1,118 @@ +module Cisco-IOS-XR-ip-icmp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-icmp-cfg"; + prefix ip-icmp-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-icmp package configuration. + + This module contains definitions + for the following management objects: + icmp: IP ICMP configuration data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-10 { + description + "IOS XR 7.3.1 revision."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-06-08 { + description + "IOS XR 6.3.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Source-policy { + type enumeration { + enum "vrf" { + value 1; + description + "Set Source Selection Policy to vrf"; + } + enum "rfc" { + value 2; + description + "Set Source Selection Policy to rfc"; + } + } + description + "Source policy"; + } + + grouping SOURCE { + description + "Common node of ipv4, ipv6"; + container source { + description + "IP ICMP Source Address Selection Policy"; + leaf source-address-policy { + type Source-policy; + description + "Configure Source Address Policy"; + } + } + } + + container icmp { + description + "IP ICMP configuration data"; + container ipv6 { + description + "IP Protocol Type"; + uses SOURCE; + } + container ipv4 { + description + "IP Protocol Type"; + container rate-limit { + description + "Set ratelimit of ICMP packets"; + container unreachable { + description + "Set unreachable ICMP packets ratelimit"; + leaf rate { + type uint32 { + range "0..4294967295"; + } + description + "Rate Limit of Unreachable ICMP packets"; + } + leaf fragmentation { + type uint32 { + range "0..4294967295"; + } + description + "Rate Limit of Unreachable DF packets"; + } + } + } + uses SOURCE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-cfg.yang new file mode 100644 index 000000000..9587b1e74 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-cfg.yang @@ -0,0 +1,250 @@ +module Cisco-IOS-XR-ip-iep-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iep-cfg"; + prefix ip-iep-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-iep package configuration. + + This module contains definitions + for the following management objects: + ip-explicit-paths: IP Explicit Path config data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ip-iep-num { + type enumeration { + enum "unnumbered" { + value 1; + description + "Unnumbered"; + } + enum "numbered" { + value 2; + description + "Numbered"; + } + } + description + "Ip iep num"; + } + + typedef Ip-iep-hop { + type enumeration { + enum "next-strict" { + value 2; + description + "NextStrict"; + } + enum "next-loose" { + value 3; + description + "NextLoose"; + } + enum "exclude" { + value 4; + description + "Exclude"; + } + enum "exclude-srlg" { + value 5; + description + "Exclude Shared Risk Link Group"; + } + enum "next-label" { + value 6; + description + "NextLabel"; + } + } + description + "Ip iep hop"; + } + + typedef Ip-iep-path { + type enumeration { + enum "identifier" { + value 1; + description + "Identifier"; + } + enum "name" { + value 2; + description + "Name"; + } + } + description + "Ip iep path"; + } + + container ip-explicit-paths { + description + "IP Explicit Path config data"; + container paths { + description + "A list of explicit paths"; + list path { + must "name or identifier" { + description + "Name or Identifier must be present."; + } + key "type"; + description + "Config data for a specific explicit path"; + + grouping PATH-CONTENT { + description + "PATH CONTENT"; + container hops { + description + "List of Hops"; + list hop { + key "index-number"; + description + "Hop Information"; + leaf index-number { + type uint32 { + range "1..65535"; + } + description + "Index number"; + } + leaf ip-address { + when "../hop-type != 'next-label'" { + description + "../HopType != NextLabel"; + } + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address of the hop"; + } + leaf hop-type { + type Ip-iep-hop; + mandatory true; + description + "Include or exclude this hop in the path"; + } + leaf if-index { + when "../hop-type != 'next-label'" { + description + "../HopType != NextLabel"; + } + type uint32; + mandatory true; + description + "Ifindex value"; + } + leaf num-type { + when "../hop-type != 'next-label'" { + description + "../HopType != NextLabel"; + } + type Ip-iep-num; + mandatory true; + description + "Number type Numbered or Unnumbered"; + } + leaf mpls-label { + when "../hop-type = 'next-label'" { + description + "../HopType = NextLabel"; + } + type uint32 { + range "0..1048575"; + } + description + "MPLS Label"; + } + } + } + leaf disable { + type empty; + description + "Disable the explicit path"; + } + } + leaf type { + type Ip-iep-path; + description + "Path type"; + } + list name { + when "../type = 'name'" { + description + "../Type = Name"; + } + key "name"; + description + "name"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Path name"; + } + uses PATH-CONTENT; + } + list identifier { + when "../type = 'identifier'" { + description + "../Type = Identifier"; + } + key "id"; + description + "identifier"; + leaf id { + type uint32 { + range "1..65535"; + } + description + "Path identifier"; + } + uses PATH-CONTENT; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper-sub1.yang new file mode 100644 index 000000000..2bc3e2cc6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper-sub1.yang @@ -0,0 +1,147 @@ +submodule Cisco-IOS-XR-ip-iep-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-iep-oper { + prefix Cisco-IOS-XR-ip-iep-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-iep package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Iep-hop { + type enumeration { + enum "strict" { + description + "Hop type is strict"; + } + enum "loose" { + description + "Hop type is loose"; + } + } + description + "Hop types of the next-address configured"; + } + + typedef Iep-address { + type enumeration { + enum "next" { + description + "Address type is next"; + } + enum "exclude" { + description + "Address type is exclude"; + } + enum "exclude-srlg" { + description + "Address type is exclude SRLG"; + } + } + description + "Address types"; + } + + typedef Iep-status { + type enumeration { + enum "enabled" { + description + "Status is enabled"; + } + enum "disabled" { + description + "Status is disabled"; + } + } + description + "Status of the path"; + } + + grouping IEP-IP-ADDRESS-ENTRY { + description + "IP address configured in the explicit path"; + leaf index { + type uint32; + description + "Index number at which the path entry is inserted + or modified"; + } + leaf if-index { + type uint32; + description + "Interface Index of the path"; + } + leaf address-type { + type Iep-address; + description + "Specifies the address type"; + } + leaf hop-type { + type Iep-hop; + description + "Specifies the next unicast address in the path + as a strict or loose hop"; + } + leaf address { + type inet:ipv4-address; + description + "IPv4 unicast address"; + } + leaf mpls-label { + type uint32; + description + "MPLS label"; + } + } + + grouping IEP-EXPLICIT-PATH { + description + "Explicit path details"; + leaf status { + type Iep-status; + description + "Status of the path"; + } + list address { + description + "List of IP addresses configured in the explicit + path"; + uses IEP-IP-ADDRESS-ENTRY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper.yang new file mode 100644 index 000000000..173071068 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-iep-oper.yang @@ -0,0 +1,91 @@ +module Cisco-IOS-XR-ip-iep-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iep-oper"; + prefix ip-iep-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-iep-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-iep package operational data. + + This module contains definitions + for the following management objects: + explicit-paths: Configured IP explicit paths + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container explicit-paths { + config false; + description + "Configured IP explicit paths"; + container identifiers { + description + "List of configured IP explicit path identifiers, + this corresponds to mplsTunnelHopTable in TE MIB"; + list identifier { + key "identifier-id"; + description + "IP explicit path configured for a particular + identifier"; + leaf identifier-id { + type uint32; + description + "Identifier ID"; + } + uses IEP-EXPLICIT-PATH; + } + } + container names { + description + "List of configured IP explicit path names, this + corresponds to mplsTunnelHopTable in TE MIB"; + list name { + key "path-name"; + description + "IP explicit path configured for a particular + path name"; + leaf path-name { + type xr:Cisco-ios-xr-string; + description + "Path name"; + } + uses IEP-EXPLICIT-PATH; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper-sub1.yang new file mode 100644 index 000000000..fe9081ec8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper-sub1.yang @@ -0,0 +1,566 @@ +submodule Cisco-IOS-XR-ip-ntp-admin-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-ntp-admin-oper { + prefix Cisco-IOS-XR-ip-ntp-admin-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-ntp-admin package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ntp-peer-status { + type enumeration { + enum "ntp-ctl-pst-sel-reject" { + description + " reject"; + } + enum "ntp-ctl-pst-sel-sane" { + description + " x falsetick"; + } + enum "ntp-ctl-pst-sel-correct" { + description + " . excess "; + } + enum "ntp-ctl-pst-sel-selcand" { + description + " - outlyer"; + } + enum "ntp-ctl-pst-sel-sync-cand" { + description + " + candidate"; + } + enum "ntp-ctl-pst-sel-distsys-peer" { + description + " # selected"; + } + enum "ntp-ctl-pst-sel-sys-peer" { + description + " * sys peer"; + } + enum "ntp-ctl-pst-sel-pps" { + description + " o pps peer"; + } + } + description + "Type of peer status"; + } + + typedef Ntp-mode { + type enumeration { + enum "ntp-mode-unspec" { + description + "Unspecified probably old NTP version"; + } + enum "ntp-mode-symetric-active" { + description + "Symmetric active"; + } + enum "ntp-mode-symetric-passive" { + description + "Symmetric passive"; + } + enum "ntp-mode-client" { + description + "Client mode"; + } + enum "ntp-mode-server" { + description + "Server mode"; + } + enum "ntp-mode-xcast-server" { + description + "Broadcast mode"; + } + enum "ntp-mode-control" { + description + "Control mode packet"; + } + enum "ntp-mode-private" { + description + "Implementation defined function"; + } + enum "ntp-mode-xcast-client" { + description + "A broadcast client mode"; + } + } + description + "Type of mode"; + } + + typedef Clock-update-node { + type enumeration { + enum "clk-never-updated" { + value 0; + description + " clock is never updated"; + } + enum "clk-updated" { + value 1; + description + " clock is updated"; + } + enum "clk-no-update-info" { + value 2; + description + " clock has no update info"; + } + } + description + "Mode of Clock Update"; + } + + typedef Ntp-loop-filter-state { + type enumeration { + enum "ntp-loop-flt-n-set" { + value 1; + description + " never set"; + } + enum "ntp-loop-flt-f-set" { + value 2; + description + " drift set from file"; + } + enum "ntp-loop-flt-spik" { + value 3; + description + " spike"; + } + enum "ntp-loop-flt-freq" { + value 4; + description + " drift being measured"; + } + enum "ntp-loop-flt-sync" { + value 5; + description + " normal controlled loop"; + } + enum "ntp-loop-flt-unkn" { + value 6; + description + " unknown"; + } + } + description + "Loop filter state"; + } + + typedef Ntp-leap { + type enumeration { + enum "ntp-leap-no-warning" { + description + "Normal, no leap second warning"; + } + enum "ntp-leap-addse-cond" { + description + "Last minute of day has 61 seconds"; + } + enum "ntp-leap-delse-cond" { + description + "Last minute of day has 59 seconds"; + } + enum "ntp-leap-not-in-sync" { + description + "Overload, clock is free running"; + } + } + description + "Type of leap"; + } + + grouping FILTER-DETAILS { + description + "Sub part of peer info"; + leaf filter-delay { + type string; + description + "filter delay"; + } + leaf filter-offset { + type string; + description + "filter offset"; + } + leaf filter-disp { + type string; + description + "filter disp"; + } + } + + grouping NTP-EDM-PEER-DETAIL-INFO { + description + "Peer Detail Information"; + container peer-info-common { + description + "Common peer info"; + uses NTP-EDM-PEER-INFO-COMMON; + } + container ref-time { + description + "Reference time"; + uses EDM-L-FP; + } + container originate-time { + description + "Originate timestamp"; + uses EDM-L-FP; + } + container receive-time { + description + "Receive timestamp"; + uses EDM-L-FP; + } + container transmit-time { + description + "Transmit timestamp"; + uses EDM-L-FP; + } + leaf leap { + type Ntp-leap; + description + "Leap"; + } + leaf peer-mode { + type Ntp-mode; + description + "Peer's association mode"; + } + leaf poll-interval { + type uint8; + description + "Peer poll interval"; + } + leaf is-ref-clock { + type boolean; + description + "Is refclock"; + } + leaf is-authenticated { + type boolean; + description + "Is authenticated"; + } + leaf root-delay { + type string; + description + "Root delay"; + } + leaf root-dispersion { + type string; + description + "Root dispersion"; + } + leaf synch-distance { + type string; + description + "Synch distance"; + } + leaf precision { + type int8; + description + "Precision"; + } + leaf version { + type uint8; + description + "NTP version"; + } + leaf filter-index { + type uint32; + description + "Index into filter shift register"; + } + leaf cast-flags { + type uint8; + description + "Cast Flags"; + } + list filter-detail { + max-elements "8"; + description + "Filter Details"; + uses FILTER-DETAILS; + } + } + + grouping NTP-EDM-ASSOC-DETAIL-RESULT { + description + "The NTP association detail result"; + leaf is-ntp-enabled { + type boolean; + description + "Is NTP enabled"; + } + leaf sys-leap { + type Ntp-leap; + description + "Leap"; + } + list peer-detail-info { + description + "Peer info"; + uses NTP-EDM-PEER-DETAIL-INFO; + } + } + + grouping NTP-EDM-PEER-INFO-COMMON { + description + "Peer common info"; + leaf host-mode { + type Ntp-mode; + description + "Association mode with this peer"; + } + leaf is-configured { + type boolean; + description + "Is configured"; + } + leaf address { + type string; + description + "Peer Address"; + } + leaf reference-id { + type inet:ipv4-address; + description + "Peer reference ID"; + } + leaf host-poll { + type uint8; + description + "Host poll"; + } + leaf reachability { + type uint8; + description + "Reachability"; + } + leaf stratum { + type uint8; + description + "Peer stratum"; + } + leaf status { + type Ntp-peer-status; + description + "Peer status"; + } + leaf delay { + type string; + description + "Peer delay"; + } + leaf offset { + type string; + description + "Peer offset"; + } + leaf dispersion { + type string; + description + "Peer dispersion"; + } + leaf is-sys-peer { + type boolean; + description + "Indicates whether this is syspeer"; + } + } + + grouping NTP-EDM-PEER-SUMMARY-INFO { + description + "Peer summary info"; + container peer-info-common { + description + "Common peer info"; + uses NTP-EDM-PEER-INFO-COMMON; + } + leaf time-since { + type int32; + description + "Time since last frame received (-1=none)"; + } + } + + grouping NTP-EDM-ASSOC-SUMMARY-RESULT { + description + "The NTP association result"; + leaf is-ntp-enabled { + type boolean; + description + "Is NTP enabled"; + } + leaf sys-leap { + type Ntp-leap; + description + "Leap"; + } + list peer-summary-info { + description + "Peer info"; + uses NTP-EDM-PEER-SUMMARY-INFO; + } + } + + grouping EDM-UL-F { + description + "EDM UL F"; + leaf frac { + type uint32; + description + "Fractional format in NTP reference code"; + } + } + + grouping EDM-UL-I { + description + "EDM UL I"; + leaf int { + type uint32; + description + "Integer format in NTP reference code"; + } + } + + grouping EDM-L-FP { + description + "EDM L FP"; + container sec { + description + "Second part in 64-bit NTP timestamp"; + uses EDM-UL-I; + } + container frac-secs { + description + "Fractional part in 64-bit NTP timestamp"; + uses EDM-UL-F; + } + } + + grouping NTP-EDM-STATUS-RESULT { + description + "The NTP status result"; + container sys-ref-time { + description + "Reference time"; + uses EDM-L-FP; + } + container sys-drift { + description + "System Drift"; + uses EDM-L-FP; + } + leaf is-ntp-enabled { + type boolean; + description + "Is NTP enabled"; + } + leaf sys-dispersion { + type string; + description + "Peer dispersion"; + } + leaf sys-offset { + type string; + description + "Clock offset"; + } + leaf clock-period { + type uint32; + units "nanosecond"; + description + "Clock period in nanosecs"; + } + leaf sys-leap { + type Ntp-leap; + description + "leap"; + } + leaf sys-precision { + type int8; + description + "Precision"; + } + leaf sys-stratum { + type uint8; + description + "Stratum"; + } + leaf sys-ref-id { + type inet:ipv4-address; + description + "Reference clock ID"; + } + leaf sys-root-delay { + type string; + description + "Root delay"; + } + leaf sys-root-dispersion { + type string; + description + "Root dispersion"; + } + leaf loop-filter-state { + type Ntp-loop-filter-state; + description + "Loop Filter State"; + } + leaf poll-interval { + type uint8; + description + "Peer poll interval"; + } + leaf is-updated { + type Clock-update-node; + description + "Is clock updated"; + } + leaf last-update { + type int32; + description + "Last Update"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper.yang new file mode 100644 index 000000000..0867318c8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-admin-oper.yang @@ -0,0 +1,113 @@ +module Cisco-IOS-XR-ip-ntp-admin-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-admin-oper"; + prefix ip-ntp-admin-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-ntp-admin-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-ntp package + admin-plane operational data. + + This module contains definitions + for the following management objects: + ntp: NTP admin operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ntp { + config false; + description + "NTP admin operational data"; + container racks { + description + "Rack-specific NTP operational data"; + list rack { + key "number"; + description + "NTP operational data for a particular rack"; + container slots { + description + "Node-specific NTP operational data"; + list slot { + key "number"; + description + "NTP operational data for a particular slot"; + container instances { + description + "Instance-specific NTP operational data"; + list instance { + key "number"; + description + "NTP operational data for a particular + instance"; + container status { + description + "Status of NTP peer(s)"; + uses NTP-EDM-STATUS-RESULT; + } + container associations { + description + "NTP Associations information"; + uses NTP-EDM-ASSOC-SUMMARY-RESULT; + } + container associations-detail { + description + "NTP Associations Detail information"; + uses NTP-EDM-ASSOC-DETAIL-RESULT; + } + leaf number { + type uint32; + description + "The instance number"; + } + } + } + leaf number { + type uint32; + description + "The slot number"; + } + } + } + leaf number { + type uint32; + description + "The rack number"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-cfg.yang new file mode 100644 index 000000000..b47f5258e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-cfg.yang @@ -0,0 +1,828 @@ +module Cisco-IOS-XR-ip-ntp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-cfg"; + prefix ip-ntp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-ntp package configuration. + + This module contains definitions + for the following management objects: + ntp: NTP configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-23 { + description + "Changed description for CMAC key."; + semver:module-version "2.1.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ntp-prefer-peer { + type empty; + description + "Prefer"; + } + + typedef Ntpdscp { + type enumeration { + enum "ntp-precedence" { + value 0; + description + "Precedence Value"; + } + enum "ntpdscp" { + value 1; + description + "DSCP Value"; + } + } + description + "Ntpdscp"; + } + + typedef Ntp-key-number { + type uint32 { + range "1..65535"; + } + description + "Ntp key number"; + } + + typedef Ntpttl { + type uint32 { + range "1..255"; + } + description + "Ntpttl"; + } + + typedef Ntp-burst { + type empty; + description + "Burst"; + } + + typedef Ntpi-burst { + type empty; + description + "IBurst"; + } + + typedef Ntp-version { + type uint32 { + range "2..4"; + } + description + "Ntp version"; + } + + typedef Ntp-peer { + type enumeration { + enum "peer" { + value 0; + description + "Peer"; + } + enum "server" { + value 1; + description + "Server"; + } + } + description + "Ntp peer"; + } + + typedef Ntp-access-af { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4"; + } + enum "ipv6" { + value 1; + description + "IPv6"; + } + } + description + "Ntp access af"; + } + + typedef Ntp-access { + type enumeration { + enum "peer" { + value 0; + description + "Peer"; + } + enum "serve" { + value 1; + description + "Serve"; + } + enum "serve-only" { + value 2; + description + "Serve Only"; + } + enum "query-only" { + value 3; + description + "Query Only"; + } + } + description + "Ntp access"; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container ntp { + description + "CISCO-NTP-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable ciscoNtpMIB notification configuration"; + } + } + } + container ntp { + description + "NTP configuration"; + container admin-types { + description + "Configure NTP server admin-plane"; + list admin-type { + key "peer-type"; + description + "Configure NTP server admin plane"; + leaf peer-type { + type Ntp-peer; + description + "Peer or Server"; + } + leaf ntp-version { + type Ntp-version; + description + "NTP version"; + } + leaf authentication-key { + type Ntp-key-number; + description + "Authentication Key"; + } + leaf min-poll { + type uint32 { + range "4..17"; + } + description + "Minimum poll interval"; + } + leaf max-poll { + type uint32 { + range "4..17"; + } + description + "Maxinum poll interval"; + } + leaf preferred-peer { + type Ntp-prefer-peer; + description + "Preferred peer"; + } + leaf burst { + type Ntp-burst; + description + "Use burst mode"; + } + leaf iburst { + type Ntpi-burst; + description + "Use iburst mode"; + } + } + } + container peer-vrfs { + description + "Configures NTP Peers or Servers"; + list peer-vrf { + key "vrf-name"; + description + "Configures NTP Peers or Servers for a single + VRF. The 'default' must also be specified for + default VRF"; + container peer-ipv4s { + description + "Configures IPv4 NTP Peers or Servers"; + list peer-ipv4 { + key "address-ipv4"; + description + "Configure an IPv4 NTP server or peer"; + leaf address-ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 Address of a peer"; + } + list peer-type-ipv4 { + key "peer-type"; + description + "Configure an IPv4 NTP server or peer"; + leaf peer-type { + type Ntp-peer; + description + "Peer or Server"; + } + leaf ntp-version { + type Ntp-version; + description + "NTP version"; + } + leaf authentication-key { + type Ntp-key-number; + description + "Authentication Key"; + } + leaf min-poll { + type uint32 { + range "4..17"; + } + description + "Minimum poll interval"; + } + leaf max-poll { + type uint32 { + range "4..17"; + } + description + "Maxinum poll interval"; + } + leaf preferred-peer { + type Ntp-prefer-peer; + description + "Preferred peer"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface of this peer"; + } + leaf burst { + type Ntp-burst; + description + "Use burst mode"; + } + leaf iburst { + type Ntpi-burst; + description + "Use iburst mode"; + } + } + } + } + container peer-ipv6s { + description + "Configuration NTP Peers or Servers of IPV6"; + list peer-ipv6 { + key "address-ipv6"; + description + "Configure a NTP server or peer"; + leaf address-ipv6 { + type inet:ipv6-address-no-zone; + description + "Address of a peer"; + } + list peer-type-ipv6 { + key "peer-type"; + description + "Configure a NTP server or peer"; + leaf peer-type { + type Ntp-peer; + description + "Peer or Server"; + } + leaf ntp-version { + type Ntp-version; + description + "NTP version"; + } + leaf authentication-key { + type Ntp-key-number; + description + "Authentication Key"; + } + leaf min-poll { + type uint32 { + range "4..17"; + } + description + "Minimum poll interval"; + } + leaf max-poll { + type uint32 { + range "4..17"; + } + description + "Maxinum poll interval"; + } + leaf preferred-peer { + type Ntp-prefer-peer; + description + "Preferred peer"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface of this peer"; + } + leaf burst { + type Ntp-burst; + description + "Use burst mode"; + } + leaf iburst { + type Ntpi-burst; + description + "Use iburst mode"; + } + leaf address-ipv6 { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container dscp-ipv4 { + presence "Indicates a dscp-ipv4 node is configured."; + description + " Set IP DSCP value for outgoing NTP IPV4 packets"; + leaf mode { + type Ntpdscp; + mandatory true; + description + "NTPPRECEDENCE (0) to specify Precedence value + NTPDSCP (1) to specify DSCP value"; + } + leaf dscp-or-precedence-value { + type uint32 { + range "0..63"; + } + mandatory true; + description + "If Mode is set to 'NTPPRECEDENCE(0)' specify + Precedence value , if Mode is set to + 'NTPDSCP(1)' specify DSCP"; + } + } + container dscp-ipv6 { + presence "Indicates a dscp-ipv6 node is configured."; + description + " Set IP DSCP value for outgoing NTP IPV6 packets"; + leaf mode { + type Ntpdscp; + mandatory true; + description + "NTPPRECEDENCE(0) to specify Precedence value + NTPDSCP(1) to specify DSCP value"; + } + leaf dscp-or-precedence-value { + type uint32 { + range "0..63"; + } + mandatory true; + description + "If Mode is set to 'NTPPRECEDENCE(0)' specify + Precedence value , if Mode is set to + 'NTPDSCP(1)' specify DSCP"; + } + } + container sources { + description + "Configure NTP source interface"; + list source { + key "vrf-name"; + description + "Configure NTP source interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf source-interface { + type xr:Interface-name; + mandatory true; + description + "Source Interface for NTP"; + } + } + } + container drift { + description + "NTP drift"; + container file { + presence "Contains mandatory nodes that used to set default values"; + description + "File containing drift value"; + leaf location { + type string; + mandatory true; + description + "disk0 or apphost or config or ftp or harddisk + or rootfs or tftp. Defaults to PWD if none + specified"; + } + leaf filename { + type string; + description + "File containing drift value"; + } + } + leaf aging-time { + type uint32 { + range "0..65535"; + } + description + "Drift Aging Time"; + } + } + container authentication { + description + "Configure NTP Authentication keys"; + container auth-hmacsha1 { + description + "Configure NTP Authentication keys HMAC-SHA1"; + container key-hmacsha1s { + description + "Authentication Key Table for HMAC-SHA1"; + list key-hmacsha1 { + key "key-number"; + description + "Authentication key for trusted time sources"; + leaf key-number { + type Ntp-key-number; + description + "Authentication Key number"; + } + leaf authentication-key { + type xr:Proprietary-password; + mandatory true; + description + "Authentication key - maximum 32 characters"; + } + } + } + } + container auth-hmacsha2 { + description + "Configure NTP Authentication keys HMAC-SHA2"; + container key-hmacsha2s { + description + "Authentication Key Table for HMAC-SHA2"; + list key-hmacsha2 { + key "key-number"; + description + "Authentication key for trusted time sources"; + leaf key-number { + type Ntp-key-number; + description + "Authentication Key number"; + } + leaf authentication-key { + type xr:Proprietary-password; + mandatory true; + description + "Authentication key - maximum 32 characters"; + } + } + } + } + container keys { + description + "Authentication Key Table for MD5"; + list key { + key "key-number"; + description + "Authentication key for trusted time sources"; + leaf key-number { + type Ntp-key-number; + description + "Authentication Key number"; + } + leaf authentication-key { + type xr:Proprietary-password; + mandatory true; + description + "Authentication key - maximum 32 characters"; + } + } + } + container auth-cmac { + description + "Configure NTP Authentication keys CMAC"; + container key-cmacs { + description + "Authentication Key Table for CMAC"; + list key-cmac { + key "key-number"; + description + "Authentication key for trusted time sources"; + leaf key-number { + type Ntp-key-number; + description + "Authentication Key number"; + } + leaf authentication-key { + type xr:Proprietary-password; + mandatory true; + description + "Authentication key - 16 characters"; + } + } + } + } + container trusted-keys { + description + "Key numbers for trusted time sources"; + list trusted-key { + key "key-number"; + description + "Configure NTP trusted key"; + leaf key-number { + type Ntp-key-number; + description + "Key number"; + } + } + } + leaf enable { + type empty; + description + "Enable NTP authentication keys"; + } + } + container passive { + description + "Configure NTP passive associations"; + leaf enable { + type empty; + description + "Enable NTP Passive associations"; + } + } + container interface-tables { + description + "NTP per interface configuration"; + list interface-table { + key "vrf-name"; + description + "NTP per interface configuration"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + list interface { + key "interface"; + description + "Name of the interface"; + container interface-multicast { + description + "Configure NTP multicast service"; + container multicast-clients { + description + "Configures multicast client peers"; + list multicast-client { + key "ip-address"; + description + "Listen to NTP multicasts"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of a multicast group"; + } + } + } + container multicast-servers { + description + "Configures multicast server peers"; + list multicast-server { + key "ip-address"; + description + "Configure NTP multicast group server peer"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of a multicast group"; + } + leaf authentication-key { + type Ntp-key-number; + description + "Authentication key"; + } + leaf version { + type Ntp-version; + description + "NTP version"; + } + leaf ttl { + type Ntpttl; + description + "TTL"; + } + } + } + } + container interface-broadcast { + description + "Configure NTP broadcast service"; + container broadcast-servers { + description + "Configure NTP broadcast"; + list broadcast-server { + key "broadcast-type"; + description + "Configure NTP broadcast server"; + leaf broadcast-type { + type xr:Cisco-ios-xr-string; + description + "Broadcast Type"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Destination broadcast IPv4 address"; + } + leaf authentication-key { + type Ntp-key-number; + description + "Authentication key"; + } + leaf ntp-version { + type Ntp-version; + description + "NTP version"; + } + } + } + leaf broadcast-client { + type empty; + description + "Listen to NTP broadcasts"; + } + } + leaf disable { + type empty; + description + "Disable NTP"; + } + leaf interface { + type xr:Interface-name; + description + "interface"; + } + } + } + } + container access-group-tables { + description + "Control NTP access"; + list access-group-table { + key "vrf-name"; + description + "Control NTP access"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + list access-group-af-table { + key "af"; + description + "Configure NTP access address family"; + leaf af { + type Ntp-access-af; + description + "Address family"; + } + list access-group { + key "access-group-type"; + description + "Configure NTP access group"; + leaf access-group-type { + type Ntp-access; + description + "Access group type"; + } + leaf access-list-name { + type string; + mandatory true; + description + "Access list name - maximum 32 characters"; + } + } + } + } + } + leaf max-associations { + type uint32 { + range "0..4294967295"; + } + description + "Set maximum number of associations"; + } + leaf master { + type uint32 { + range "1..20"; + } + default "8"; + description + "Act as NTP master clock"; + } + leaf broadcast-delay { + type uint32 { + range "1..999999"; + } + description + "Estimated round-trip delay"; + } + leaf log-internal-sync { + type empty; + description + "To enable logging internal sync conflicts"; + } + leaf update-calendar { + type empty; + description + "To enable calendar update with NTP time"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper-sub1.yang new file mode 100644 index 000000000..7053aa848 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper-sub1.yang @@ -0,0 +1,609 @@ +submodule Cisco-IOS-XR-ip-ntp-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-ntp-oper { + prefix Cisco-IOS-XR-ip-ntp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-ntp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-23 { + description + "Strong NTP authentication needs addition of authentication type."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Clock-update-node { + type enumeration { + enum "clk-never-updated" { + value 0; + description + " clock is never updated"; + } + enum "clk-updated" { + value 1; + description + " clock is updated"; + } + enum "clk-no-update-info" { + value 2; + description + " clock has no update info"; + } + } + description + "Mode of Clock Update"; + } + + typedef Ntp-loop-filter-state { + type enumeration { + enum "ntp-loop-flt-n-set" { + value 1; + description + " never set"; + } + enum "ntp-loop-flt-f-set" { + value 2; + description + " drift set from file"; + } + enum "ntp-loop-flt-spik" { + value 3; + description + " spike"; + } + enum "ntp-loop-flt-freq" { + value 4; + description + " drift being measured"; + } + enum "ntp-loop-flt-sync" { + value 5; + description + " normal controlled loop"; + } + enum "ntp-loop-flt-unkn" { + value 6; + description + " unknown"; + } + } + description + "Loop filter state"; + } + + typedef Authentication { + type enumeration { + enum "none" { + value 0; + description + " No authentication type"; + } + enum "md5" { + value 1; + description + " MD5 authentication"; + } + enum "cmac" { + value 2; + description + " CMAC authentication"; + } + enum "hmac-sha1" { + value 3; + description + " HMAC SHA1 authentication"; + } + enum "hmac-sha2" { + value 4; + description + " HMAC SHA2 authentication"; + } + } + description + "NTP authentication type"; + } + + typedef Ntp-peer-status { + type enumeration { + enum "ntp-ctl-pst-sel-reject" { + description + " reject"; + } + enum "ntp-ctl-pst-sel-sane" { + description + " x falsetick"; + } + enum "ntp-ctl-pst-sel-correct" { + description + " . excess "; + } + enum "ntp-ctl-pst-sel-selcand" { + description + " - outlyer"; + } + enum "ntp-ctl-pst-sel-sync-cand" { + description + " + candidate"; + } + enum "ntp-ctl-pst-sel-distsys-peer" { + description + " # selected"; + } + enum "ntp-ctl-pst-sel-sys-peer" { + description + " * sys peer"; + } + enum "ntp-ctl-pst-sel-pps" { + description + " o pps peer"; + } + } + description + "Type of peer status"; + } + + typedef Ntp-mode { + type enumeration { + enum "ntp-mode-unspec" { + description + "Unspecified probably old NTP version"; + } + enum "ntp-mode-symetric-active" { + description + "Symmetric active"; + } + enum "ntp-mode-symetric-passive" { + description + "Symmetric passive"; + } + enum "ntp-mode-client" { + description + "Client mode"; + } + enum "ntp-mode-server" { + description + "Server mode"; + } + enum "ntp-mode-xcast-server" { + description + "Broadcast mode"; + } + enum "ntp-mode-control" { + description + "Control mode packet"; + } + enum "ntp-mode-private" { + description + "Implementation defined function"; + } + enum "ntp-mode-xcast-client" { + description + "A broadcast client mode"; + } + } + description + "Type of mode"; + } + + typedef Ntp-leap { + type enumeration { + enum "ntp-leap-no-warning" { + description + "Normal, no leap second warning"; + } + enum "ntp-leap-addse-cond" { + description + "Last minute of day has 61 seconds"; + } + enum "ntp-leap-delse-cond" { + description + "Last minute of day has 59 seconds"; + } + enum "ntp-leap-not-in-sync" { + description + "Overload, clock is free running"; + } + } + description + "Type of leap"; + } + + grouping NTP-EDM-PEER-SUMMARY-INFO { + description + "Peer summary info"; + container peer-info-common { + description + "Common peer info"; + uses NTP-EDM-PEER-INFO-COMMON; + } + leaf time-since { + type int32; + description + "Time since last frame received (-1=none)"; + } + } + + grouping NTP-EDM-ASSOC-SUMMARY-RESULT { + description + "The NTP association result"; + leaf is-ntp-enabled { + type boolean; + description + "Is NTP enabled"; + } + leaf sys-leap { + type Ntp-leap; + description + "Leap"; + } + list peer-summary-info { + description + "Peer info"; + uses NTP-EDM-PEER-SUMMARY-INFO; + } + } + + grouping NTP-EDM-STATUS-RESULT { + description + "The NTP status result"; + container sys-ref-time { + description + "Reference time"; + uses EDM-L-FP; + } + container sys-drift { + description + "System Drift"; + uses EDM-L-FP; + } + leaf is-ntp-enabled { + type boolean; + description + "Is NTP enabled"; + } + leaf sys-dispersion { + type string; + description + "Peer dispersion"; + } + leaf sys-offset { + type string; + description + "Clock offset"; + } + leaf clock-period { + type uint32; + units "nanosecond"; + description + "Clock period in nanosecs"; + } + leaf sys-leap { + type Ntp-leap; + description + "leap"; + } + leaf sys-precision { + type int8; + description + "Precision"; + } + leaf sys-stratum { + type uint8; + description + "Stratum"; + } + leaf sys-ref-id { + type inet:ipv4-address; + description + "Reference clock ID"; + } + leaf sys-root-delay { + type string; + description + "Root delay"; + } + leaf sys-root-dispersion { + type string; + description + "Root dispersion"; + } + leaf loop-filter-state { + type Ntp-loop-filter-state; + description + "Loop Filter State"; + } + leaf poll-interval { + type uint8; + description + "Peer poll interval"; + } + leaf is-updated { + type Clock-update-node; + description + "Is clock updated"; + } + leaf last-update { + type int32; + description + "Last Update"; + } + leaf is-auth-enabled { + type boolean; + description + "Is NTP Authenticate enabled"; + } + } + + grouping FILTER-DETAILS { + description + "Sub part of peer info"; + leaf filter-delay { + type string; + description + "filter delay"; + } + leaf filter-offset { + type string; + description + "filter offset"; + } + leaf filter-disp { + type string; + description + "filter disp"; + } + } + + grouping EDM-UL-F { + description + "EDM UL F"; + leaf frac { + type uint32; + description + "Fractional format in NTP reference code"; + } + } + + grouping EDM-UL-I { + description + "EDM UL I"; + leaf int { + type uint32; + description + "Integer format in NTP reference code"; + } + } + + grouping EDM-L-FP { + description + "EDM L FP"; + container sec { + description + "Second part in 64-bit NTP timestamp"; + uses EDM-UL-I; + } + container frac-secs { + description + "Fractional part in 64-bit NTP timestamp"; + uses EDM-UL-F; + } + } + + grouping NTP-EDM-PEER-INFO-COMMON { + description + "Peer common info"; + leaf host-mode { + type Ntp-mode; + description + "Association mode with this peer"; + } + leaf is-configured { + type boolean; + description + "Is configured"; + } + leaf address { + type string; + description + "Peer Address"; + } + leaf reference-id { + type inet:ipv4-address; + description + "Peer reference ID"; + } + leaf host-poll { + type uint8; + description + "Host poll"; + } + leaf reachability { + type uint8; + description + "Reachability"; + } + leaf stratum { + type uint8; + description + "Peer stratum"; + } + leaf status { + type Ntp-peer-status; + description + "Peer status"; + } + leaf delay { + type string; + description + "Peer delay"; + } + leaf offset { + type string; + description + "Peer offset"; + } + leaf dispersion { + type string; + description + "Peer dispersion"; + } + leaf is-sys-peer { + type boolean; + description + "Indicates whether this is syspeer"; + } + } + + grouping NTP-EDM-PEER-DETAIL-INFO { + description + "Peer Detail Information"; + container peer-info-common { + description + "Common peer info"; + uses NTP-EDM-PEER-INFO-COMMON; + } + container ref-time { + description + "Reference time"; + uses EDM-L-FP; + } + container originate-time { + description + "Originate timestamp"; + uses EDM-L-FP; + } + container receive-time { + description + "Receive timestamp"; + uses EDM-L-FP; + } + container transmit-time { + description + "Transmit timestamp"; + uses EDM-L-FP; + } + leaf leap { + type Ntp-leap; + description + "Leap"; + } + leaf peer-mode { + type Ntp-mode; + description + "Peer's association mode"; + } + leaf poll-interval { + type uint8; + description + "Peer poll interval"; + } + leaf is-ref-clock { + type boolean; + description + "Is refclock"; + } + leaf is-authenticated { + type boolean; + description + "Is authenticated"; + } + leaf authentication-type { + type Authentication; + description + "NTP authentication type"; + } + leaf root-delay { + type string; + description + "Root delay"; + } + leaf root-dispersion { + type string; + description + "Root dispersion"; + } + leaf synch-distance { + type string; + description + "Synch distance"; + } + leaf precision { + type int8; + description + "Precision"; + } + leaf version { + type uint8; + description + "NTP version"; + } + leaf filter-index { + type uint32; + description + "Index into filter shift register"; + } + leaf cast-flags { + type uint8; + description + "Cast Flags"; + } + list filter-detail { + max-elements "8"; + description + "Filter Details"; + uses FILTER-DETAILS; + } + } + + grouping NTP-EDM-ASSOC-DETAIL-RESULT { + description + "The NTP association detail result"; + leaf is-ntp-enabled { + type boolean; + description + "Is NTP enabled"; + } + leaf sys-leap { + type Ntp-leap; + description + "Leap"; + } + list peer-detail-info { + description + "Peer info"; + uses NTP-EDM-PEER-DETAIL-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper.yang new file mode 100644 index 000000000..e60383fe9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-ntp-oper.yang @@ -0,0 +1,87 @@ +module Cisco-IOS-XR-ip-ntp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-oper"; + prefix ip-ntp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-ntp-oper-sub1 { + revision-date 2021-08-23; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-ntp package operational data. + + This module contains definitions + for the following management objects: + ntp: NTP operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-23 { + description + "Strong NTP authentication needs addition of authentication type."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ntp { + config false; + description + "NTP operational data"; + container nodes { + description + "Node-specific NTP operational data"; + list node { + key "node"; + description + "NTP operational data for a particular node"; + container associations-detail { + description + "NTP Associations Detail information"; + uses NTP-EDM-ASSOC-DETAIL-RESULT; + } + container status { + description + "Status of NTP peer(s)"; + uses NTP-EDM-STATUS-RESULT; + } + container associations { + description + "NTP Associations information"; + uses NTP-EDM-ASSOC-SUMMARY-RESULT; + } + leaf node { + type xr:Node-id; + description + "The node identifier"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-cfg.yang new file mode 100644 index 000000000..d4fb406f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-cfg.yang @@ -0,0 +1,349 @@ +module Cisco-IOS-XR-ip-pfilter-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-pfilter-cfg"; + prefix ip-pfilter-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-pfilter package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv6-packet-filter { + description + "IPv6 Packet Filtering configuration for the + interface"; + container inbound { + description + "IPv6 Packet filter to be applied to inbound + packets"; + leaf common-acl-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Reserved for backward compatibility. IPv6 + Packet Filter Name to be applied to Inbound + packets, ACL providing HW optimization when + applied on multiple interfaces. NOTE: This + parameter is mandatory if 'Name' is not + specified."; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Reserved for backward compatibility. IPv6 + Packet Filter Name to be applied to Inbound + NOTE: This parameter is mandatory if + 'CommonACLName' is not specified."; + } + leaf interface-statistics { + type empty; + description + "True if packets hitting the ACL should be + counted in hardware per interface.The default + is not to count them. NOTE: + InterfaceStatistics is allowed only if Name is + specified."; + } + leaf compression-level { + type uint32 { + range "0..3"; + } + description + "The level of compression applied to the ACL on + this interface. The range is 0 to 3 with + default being no compression (0)."; + } + leaf-list acl-name-array { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + max-elements "5"; + description + "Array of IPv6 Packet Filter Names to be + applied to Inbound packets"; + } + leaf-list is-common-array { + type boolean; + max-elements "5"; + description + "Array of CommonACL flags for each ACL. TRUE + indicates HW optimization on multiple + interfaces is provided"; + } + } + container outbound { + description + "IPv6 Packet filter to be applied to outbound + packets"; + leaf do-not-use { + type string { + length "1..64"; + } + description + "Reserved. Error if specified."; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Reserved for backward compatibility. IPv6 + Packet Filter Name to be applied to Outbound + packets."; + } + leaf interface-statistics { + type empty; + description + "True if packets hitting the ACL should be + counted in hardware per interface.The default + is not to count them."; + } + leaf compression-level { + type uint32 { + range "0..3"; + } + description + "The level of compression applied to the ACL on + this interface. The range is 0 to 3 with + default being no compression (0)."; + } + leaf-list acl-name-array { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + max-elements "5"; + description + "Array of IPv6 Packet Filter Names to be + applied to Inbound packets"; + } + leaf-list is-common-array { + type boolean; + max-elements "5"; + description + "Array of CommonACL flags for each ACL. TRUE + indicates HW optimization on multiple + interfaces is provided"; + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container es-packet-filter { + description + "ES Packet Filtering configuration for the + interface"; + leaf outbound { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of filter to be applied to outbound + packets"; + } + leaf inbound { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of filter to be applied to inbound packets"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv4-packet-filter { + description + "IPv4 Packet Filtering configuration for the + interface"; + container outbound { + description + "IPv4 Packet filter to be applied to outbound + packets"; + leaf do-not-use { + type string { + length "1..64"; + } + description + "Reserved. Error if specified."; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Reserved for backward compatibility. IPv4 + Packet Filter Name to be applied to Outbound + packets NOTE: This parameter is mandatory if + 'CommonACLName' is not specified."; + } + leaf hardware-count { + type empty; + description + "True if packets hitting the ACL should be + counted in the hardware. The default is not + to count them."; + } + leaf interface-statistics { + type empty; + description + "True if packets hitting the ACL should be + counted in hardware per interface.The default + is not to count them."; + } + leaf compression-level { + type uint32 { + range "0..3"; + } + description + "The level of compression applied to the ACL on + this interface. The range is 0 to 3 with + default being no compression (0)."; + } + leaf-list acl-name-array { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + max-elements "5"; + description + "Array of IPv4 Packet Filter Names to be + applied to Outbound packets"; + } + leaf-list is-common-array { + type boolean; + max-elements "5"; + description + "Array of CommonACL flags for each ACL. TRUE + indicates HW optimization on multiple + interfaces is provided"; + } + } + container inbound { + description + "IPv4 Packet filter to be applied to inbound + packets"; + leaf common-acl-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Reserved for backward compatibility. IPv4 + Packet Filter Name to be applied to Inbound + packets, ACL providing HW optimization when + applied on multiple interfaces. NOTE: This + parameter is mandatory if 'Name' is not + specified."; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Reserved for backward compatibility. IPv4 + Packet Filter Name to be applied to Inbound + packets NOTE: This parameter is mandatory if + 'CommonACLName' is not specified."; + } + leaf hardware-count { + type empty; + description + "True if packets hitting the ACL should be + counted in the hardware. The default is not + to count them. NOTE: HardwareCount is allowed + only if Name is specified."; + } + leaf interface-statistics { + type empty; + description + "True if packets hitting the ACL should be + counted in hardware per interface.The default + is not to count them. NOTE: + InterfaceStatistics is allowed only if Name is + specified."; + } + leaf compression-level { + type uint32 { + range "0..3"; + } + description + "The level of compression applied to the ACL on + this interface. The range is 0 to 3 with + default being no compression (0)."; + } + leaf-list acl-name-array { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + max-elements "5"; + description + "Array of IPv4 Packet Filter Names to be + applied to Inbound packets"; + } + leaf-list is-common-array { + type boolean; + max-elements "5"; + description + "Array of CommonACL flags for each ACL. TRUE + indicates HW optimization on multiple + interfaces is provided"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper-sub1.yang new file mode 100644 index 000000000..d3eccfc74 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper-sub1.yang @@ -0,0 +1,48 @@ +submodule Cisco-IOS-XR-ip-pfilter-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-pfilter-oper { + prefix Cisco-IOS-XR-ip-pfilter-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-pfilter package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PFILTER-INTF-ACL-INFO { + description + "Pfilter interface ACL details"; + leaf acl-info { + type string; + description + "acl information"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper.yang new file mode 100644 index 000000000..a9c4cc223 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-pfilter-oper.yang @@ -0,0 +1,106 @@ +module Cisco-IOS-XR-ip-pfilter-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-pfilter-oper"; + prefix ip-pfilter-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-pfilter-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-pfilter package operational data. + + This module contains definitions + for the following management objects: + pfilter-ma: Root class of PfilterMa Oper schema + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ACL-INFO-TABLE { + description + "Common node of ipv4, ipv6"; + container acl-info-table { + description + "Operational data for pfilter"; + container interface-infos { + description + "Operational data for pfilter"; + list interface-info { + key "interface-name"; + description + "Operational data for pfilter in bag"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses PFILTER-INTF-ACL-INFO; + } + } + } + } + + container pfilter-ma { + config false; + description + "Root class of PfilterMa Oper schema"; + container nodes { + description + "Node-specific operational data"; + list node { + key "node-name"; + description + "PfilterMa operational data for a particular + node"; + container process { + description + "Operational data for pfilter"; + container ipv6 { + description + "Operational data for pfilter"; + uses ACL-INFO-TABLE; + } + container ipv4 { + description + "Operational data for pfilter"; + uses ACL-INFO-TABLE; + } + } + leaf node-name { + type xr:Node-id; + description + "The node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-raw-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-raw-cfg.yang new file mode 100644 index 000000000..83562890a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-raw-cfg.yang @@ -0,0 +1,101 @@ +module Cisco-IOS-XR-ip-raw-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-raw-cfg"; + prefix ip-raw-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-raw package configuration. + + This module contains definitions + for the following management objects: + ip-raw: Global IP RAW configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ip-raw { + description + "Global IP RAW configuration"; + container num-thread { + presence "Indicates a num-thread node is configured."; + description + "RAW InQueue and OutQueue threads"; + leaf raw-in-q-threads { + type uint32 { + range "1..16"; + } + mandatory true; + description + "InQ Threads"; + } + leaf raw-out-q-threads { + type uint32 { + range "1..16"; + } + mandatory true; + description + "OutQ Threads"; + } + } + container directory { + presence "Indicates a directory node is configured."; + description + "RAW directory details"; + leaf directoryname { + type string; + mandatory true; + description + "Directory name"; + } + leaf max-raw-debug-files { + type uint32 { + range "1..18000"; + } + default "256"; + description + "Set number of Debug files"; + } + leaf max-file-size-files { + type uint32 { + range "1024..4294967295"; + } + units "byte"; + description + "Set size of debug files in bytes"; + } + } + leaf receive-q { + type uint32 { + range "40..800"; + } + description + "RAW receive Queue Size"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-cfg.yang new file mode 100644 index 000000000..6615b18e5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-cfg.yang @@ -0,0 +1,192 @@ +module Cisco-IOS-XR-ip-rib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-cfg"; + prefix ip-rib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-infra-rsi-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rib package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-rib-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + rib: RIB configuration. + + This YANG module augments the + Cisco-IOS-XR-infra-rsi-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-07-31 { + description + "Fixed missing augmentation from multiple MDA parent."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NEXT-HOP-DAMPENING-DISABLE { + description + "Common node of ipv4, ipv6"; + leaf next-hop-dampening-disable { + type empty; + description + "Disable next-hop dampening"; + } + } + + grouping REDISTRIBUTION-HISTORY { + description + "Common node of ipv4, ipv6"; + container redistribution-history { + description + "Redistribution history related configs"; + container keep { + description + "Retain redistribution history after disconnect."; + leaf bcdl { + type empty; + description + "Enable retain BCDL history"; + } + } + leaf bcdl-client { + type uint32 { + range "10..2000000"; + } + description + "Maximum BCDL redistribution history size."; + } + leaf protocol-client { + type uint32 { + range "10..250000"; + } + description + "Maximum protocol redistribution history size."; + } + } + } + + augment "/a1:vrfs/a1:vrf/a1:afs/a1:af" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-rsi-cfg'"; + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-rib-cfg.yang which will + provide the compatible functionalities. Set + maximum prefix limits"; + leaf prefix-limit { + type uint32 { + range "32..10000000"; + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-threshold { + type uint32 { + range "1..100"; + } + description + "Mid-threshold (% of maximum)"; + } + } + } + augment "/a1:global-af/a1:afs/a1:af" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-rsi-cfg'"; + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-rib-cfg.yang which will + provide the compatible functionalities. Set + maximum prefix limits"; + leaf prefix-limit { + type uint32 { + range "32..10000000"; + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-threshold { + type uint32 { + range "1..100"; + } + description + "Mid-threshold (% of maximum)"; + } + } + } + container rib { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-rib-cfg.yang which will + provide the compatible functionalities. RIB + configuration."; + container af { + description + "RIB address family configuration"; + container ipv4 { + description + "IPv4 configuration"; + uses NEXT-HOP-DAMPENING-DISABLE; + uses REDISTRIBUTION-HISTORY; + } + container ipv6 { + description + "IPv6 configuration"; + uses NEXT-HOP-DAMPENING-DISABLE; + uses REDISTRIBUTION-HISTORY; + } + } + leaf max-recursion-depth { + type uint32 { + range "5..16"; + } + description + "Set maximum depth for route recursion check"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-iid-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-iid-cfg.yang new file mode 100644 index 000000000..4b252ae1d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-iid-cfg.yang @@ -0,0 +1,41 @@ +module Cisco-IOS-XR-ip-rib-iid-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-iid-cfg"; + prefix ip-rib-iid-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rib-iid package configuration. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-06-29 { + description + "Added holdtime support."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper-sub1.yang new file mode 100644 index 000000000..2c025c5cd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper-sub1.yang @@ -0,0 +1,4329 @@ +submodule Cisco-IOS-XR-ip-rib-ipv4-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-rib-ipv4-oper { + prefix Cisco-IOS-XR-ip-rib-ipv4-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-rib-ipv4 package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-16 { + description + "Added VNI to ip tunnel info path attribute + 2021-11-26 + Add IID Local to known Protocol Types + 2021-10-29 + Added Opaque redistribution history + 2021-09-24 + New path vpn attribute for ip tunnels"; + semver:module-version "4.1.1m"; + } + revision 2021-07-20 { + description + "Flexible Algorithm attribute added to IP Route + 2021-06-24 + L2 Path attribute extended with support for Split Horizong Group and BridgeID + 2021-03-25 + Add FIB redistribution flag to route bag"; + semver:module-version "4.1.0"; + } + revision 2020-12-11 { + description + "Add forwarding sidlist + 2020-10-16 + Route model now includes optional SRv6 SID Format field for SRv6 Local SID routes + 2020-09-30 + Nexthop notification model now includes client specific registration flags"; + semver:module-version "4.0.0"; + } + revision 2020-05-29 { + description + "Updated the max number of elements for opaque stats to 16 Extended rib edm path to include IID info and SID Format type + 2020-04-02 + Increased path_num size in redist hist route bag to 16 bits"; + semver:module-version "3.0.0"; + } + revision 2019-11-05 { + description + "Extended Nexthop and NexhopPrefix paths to include all by NH flags + 2019-10-22 + Extended rib_edm_client_stats_summary to include client stats on bcdl ugs Extended rib_edm_local_label to support AIB prefer Extended rib_edm_path to include recursion length field Extended rib_edm_path to include metric field Extended iidmgr_summary to include oor summary info Extended rib_edm_route to include l3 route type field"; + semver:module-version "2.0.0"; + } + revision 2019-06-28 { + description + "Fixed NexthopPrefix path"; + semver:module-version "1.0.0"; + } + revision 2019-06-08 { + description + "Added RPF list and NHIDs"; + } + revision 2019-05-30 { + description + "Fixed adverts and backup paths"; + } + revision 2019-05-17 { + description + "Added Nexthops Summary, Nexthop Route, Longer Routes, Redist Clients and Client Stasts"; + } + revision 2019-04-25 { + description + "Updated yang schema to extend Native Yang model for the data exposed via CLI"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-02-21 { + description + "Yang evaluator: updates to schema descriptions and ranges"; + } + revision 2019-01-11 { + description + "Route lookup key is limited to Prefix and Prefix Length"; + } + revision 2018-11-20 { + description + "Add keys for route lookup via restconf."; + } + revision 2018-11-06 { + description + "Support Algorithm Label List per route"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rib-opaque { + type enumeration { + enum "opaque-attribute" { + value 0; + description + "opaque attribute"; + } + enum "opaque-ipfrr" { + value 1; + description + "opaque ipfrr"; + } + enum "opaque-ip-nh" { + value 2; + description + "opaque ip nh"; + } + enum "opaque-tunnel-nh" { + value 3; + description + "opaque tunnel nh"; + } + enum "opaque-tunnel-safi" { + value 4; + description + "opaque tunnel safi"; + } + enum "opaque-virtual-ll-address" { + value 5; + description + "opaque virtual ll address"; + } + enum "opaque-lisp" { + value 6; + description + "opaque lisp"; + } + enum "opaque-tep-vxlan" { + value 7; + description + "opaque tep vxlan"; + } + enum "opaque-tep-bgp" { + value 8; + description + "opaque tep bgp"; + } + enum "opaque-cofo-s-label" { + value 9; + description + "opaque cofo s label"; + } + enum "opaque-cofo-nnh-if" { + value 10; + description + "opaque cofo nnh if"; + } + enum "opaque-cofo-mcast" { + value 11; + description + "opaque cofo mcast"; + } + enum "opaque-label-range" { + value 12; + description + "opaque label range"; + } + enum "opaque-tep" { + value 13; + description + "opaque tep"; + } + enum "opaque-ipv4-adj" { + value 14; + description + "opaque ipv4 adj"; + } + enum "opaque-ipv6-adj" { + value 15; + description + "opaque ipv6 adj"; + } + enum "opaque-sfi" { + value 16; + description + "opaque sfi"; + } + enum "opaque-ltep" { + value 17; + description + "opaque ltep"; + } + enum "opaque-rtep" { + value 18; + description + "opaque rtep"; + } + enum "opaque-encap-id" { + value 19; + description + "opaque encap id"; + } + enum "opaque-policy" { + value 20; + description + "opaque policy"; + } + enum "opaque-max" { + value 21; + description + "opaque max"; + } + } + description + "Rib opaque"; + } + + typedef Mgmt-srv6-headend { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "transit" { + description + "T (Pure transit)"; + } + enum "h-insert" { + description + "H.Insert"; + } + enum "h-insert-red" { + description + "H.Insert.Red"; + } + enum "h-encaps" { + description + "H.Encaps"; + } + enum "h-encaps-red" { + description + "H.Encaps.Red"; + } + enum "h-encaps-l2" { + description + "H.Encaps.L2"; + } + enum "h-encaps-l2-red" { + description + "H.Encaps.L2.Red"; + } + } + description + "SRv6 Headend Behavior Type"; + } + + typedef Rib-edm-nnh { + type enumeration { + enum "unknown" { + description + "Unknown - Invalid"; + } + enum "ipv4-address" { + description + "IPv4 Address"; + } + enum "if-index" { + description + "Interface Index"; + } + } + description + "Rib edm nnh"; + } + + typedef Mgmt-srv6-sid-fmt { + type enumeration { + enum "none" { + description + "No format"; + } + enum "base" { + description + "Base Format"; + } + enum "f3216" { + description + "Micro-segment F3216 Format"; + } + } + description + "SRv6 SID Format Type"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Ipv4-rib-edm-addr { + type inet:ipv4-address; + description + "Ipv4 rib edm addr"; + } + + grouping IPV4-RIB-EDM-CLIENT-REDIST-TABLE { + description + "Information on a client's redistribution of a + table"; + leaf full-table { + type boolean; + description + "Full table redistrbution or not?"; + } + leaf insync { + type uint32; + description + "Is this is sync or not?"; + } + leaf afi { + type uint32; + description + "Address Family"; + } + leaf safi { + type uint32; + description + "sub Address Family"; + } + leaf vrf-name { + type string; + description + "VRF Name of the table"; + } + leaf updatemode { + type uint32; + description + "Update type in route registration"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-REDIST-PROTO { + description + "Information on a client's redist of a proto"; + leaf insync { + type boolean; + description + "Is this in sync or not?"; + } + leaf protocol-names { + type string; + description + "Name of proto it is redistributing"; + } + leaf proto-instance { + type string; + description + "Instance of redistributed proto"; + } + leaf updatemode { + type uint32; + description + "Type of route information getting redistributed"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-HISTORY-ROUTE { + description + "Route information for history purposes"; + list ipv4-rib-edm-client-history-route { + description + "Next route"; + container advertisement { + description + "list of advertising protos"; + uses IPV4-RIB-EDM-ADVERT; + } + leaf prefix { + type Ipv4-rib-edm-addr; + description + "Route prefix"; + } + leaf prefix-length { + type uint8; + description + "Length of prefix"; + } + leaf priority { + type uint8; + description + "Priority of update"; + } + leaf flags { + type uint32; + description + "Route flags"; + } + leaf source { + type uint32; + description + "source"; + } + leaf table-id { + type uint32; + description + "table identifier"; + } + leaf distance { + type uint32; + description + "Administrative distance"; + } + leaf metric { + type uint32; + description + "Route metric"; + } + leaf local-label { + type uint32; + description + "Route local label"; + } + leaf path-num { + type uint16; + description + "Number of paths"; + } + leaf nnh-num { + type uint16; + description + "Number of NNHs"; + } + leaf route-age { + type uint32; + units "second"; + description + "Age of event (seconds)"; + } + leaf route-modify-time { + type uint64; + units "nanosecond"; + description + "Time of event (nanoseconds)"; + } + leaf private-flags { + type uint16; + description + "Route head private flags"; + } + leaf number-of-srv6-sids { + type uint16; + description + "Number of SRv6 Segment Identifiers"; + } + leaf converge { + type uint8; + description + "Redist table converged"; + } + leaf code { + type int8; + description + "Protocol code"; + } + leaf outsync { + type uint32; + description + "Last packed outsync prio"; + } + } + } + + grouping IPV4-RIB-EDM-CLIENT-REDIST { + description + "General info. on a client's redistribution"; + container routes { + description + "Link to history routes"; + uses IPV4-RIB-EDM-CLIENT-HISTORY-ROUTE; + } + leaf num-tables-outsync { + type uint32; + description + "Num tables to get updates from"; + } + leaf num-history-routes { + type uint32; + description + "Number of history routes"; + } + } + + grouping IPV4-RIB-EDM-CLIENT { + description + "Rib client information"; + leaf pname { + type string; + description + "Client's name"; + } + leaf nodename { + type string; + description + "Node client process is running on"; + } + leaf pid { + type uint32; + description + "Client's process ID"; + } + leaf redist { + type boolean; + description + "Is client registered for redist"; + } + leaf proto { + type boolean; + description + "Is client registered as a protocol"; + } + leaf client-id { + type uint32; + description + "Client's RIB ID number"; + } + leaf redist-opaques { + type boolean; + description + "Is client registered for redist of opaques"; + } + } + + grouping IPV4-RIB-EDM-STATS-REDIST-NH { + description + "Nexthop redistribution statistics"; + leaf table-id-xr { + type uint32; + description + "table id xr"; + } + leaf vrf-name { + type string; + description + "vrf name"; + } + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf total-converge { + type uint32; + description + "total converge"; + } + leaf total-suppress { + type uint32; + description + "total suppress"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + leaf total-converge-sent { + type uint32; + description + "total converge sent"; + } + leaf last-converge { + type uint64; + description + "last converge"; + } + leaf last-converge-sent { + type uint64; + description + "last converge sent"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-HISTORY-OPAQUE { + description + "Opaque information for history purposes"; + list ipv4-rib-edm-client-history-opaque { + description + "Next opaque"; + leaf type { + type Rib-opaque; + description + "Opaque Type"; + } + leaf decoded-key { + type string; + description + "Decoded opaque key string"; + } + leaf is-deleted { + type boolean; + description + "Opaque is deleted"; + } + leaf opaque-modify-time { + type string; + description + "Timestamp of event"; + } + leaf table-id { + type uint32; + description + "table identifier"; + } + } + } + + grouping IPV4-RIB-EDM-CLIENT-REDIST-OPAQUE { + description + "Client redistribution information for opaques"; + container opaques { + description + "Link to history opaques"; + uses IPV4-RIB-EDM-CLIENT-HISTORY-OPAQUE; + } + leaf num-history-opaques { + type uint32; + description + "Number of history opaques"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-PROTO-INFO { + description + "Information on client protocols"; + leaf num-protos-outsync { + type uint32; + description + "Count of out-of-sync protocols"; + } + leaf update-time { + type uint32; + units "second"; + description + "Time of last update in seconds"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-PROTO-TABLE-INFO { + description + "Information on table-specific client protocols"; + leaf num-protos-outsync { + type uint32; + description + "Count of out-of-sync protocols"; + } + leaf update-time { + type uint64; + units "nanosecond"; + description + "Time of last update (nanoseconds)"; + } + leaf afi { + type uint32; + description + "Address Family"; + } + leaf safi { + type uint32; + description + "sub Address Family"; + } + leaf vrf-name { + type string; + description + "VRF Name of the table"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-PROTO { + description + "Information on a client proto"; + leaf protocol-names { + type string; + description + "Name of proto"; + } + leaf proto-instance { + type string; + description + "Instance of proto"; + } + leaf distance { + type uint32; + description + "Route distane for the protocol"; + } + leaf maxmetric { + type uint32; + description + "Route metric for the protocol"; + } + leaf purgetime { + type uint32; + description + "Route purgetime"; + } + leaf update-complete { + type boolean; + description + "Has the client finished updating"; + } + } + + grouping RIB-EDM-STATS-OPAQUE { + description + "Opaqaue statistics"; + leaf total-registration { + type uint32; + description + "total registration"; + } + leaf total-add { + type uint32; + description + "total add"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping IPV4-RIB-EDM-STATS-NEXTHOP { + description + "Nexthop notification statistics"; + leaf table-id-xr { + type uint32; + description + "table id xr"; + } + leaf vrf-name { + type string; + description + "vrf name"; + } + leaf total-next-hop-reg { + type uint32; + description + "total next hop reg"; + } + leaf total-next-hop-unreg { + type uint32; + description + "total next hop unreg"; + } + leaf total-sync-reg { + type uint32; + description + "total sync reg"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping RIB-EDM-STATS-PURGE { + description + "Purge statistics"; + leaf total-purges { + type uint32; + description + "total purges"; + } + leaf total-prefix-deleted { + type uint32; + description + "total prefix deleted"; + } + leaf total-paths-deleted { + type uint32; + description + "total paths deleted"; + } + leaf last-purge { + type uint64; + description + "last purge"; + } + } + + grouping RIB-EDM-STATS-COMPLETE-UPDATE { + description + "Batch complete update statistic"; + leaf total-complete { + type uint32; + description + "total complete"; + } + leaf insync { + type uint32; + description + "insync"; + } + leaf last-insync { + type uint64; + description + "last insync"; + } + leaf bad-args { + type uint32; + description + "bad args"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-complete-msg { + type uint64; + description + "last complete msg"; + } + } + + grouping RIB-EDM-STATS-BATCH-CONVERGE { + description + "Batch converge operation statistics"; + leaf total-converge { + type uint32; + description + "total converge"; + } + leaf insync { + type uint32; + description + "insync"; + } + leaf last-insync { + type uint64; + description + "last insync"; + } + leaf bad-args { + type uint32; + description + "bad args"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-converge-msg { + type uint64; + description + "last converge msg"; + } + } + + grouping RIB-EDM-STATS-BATCH-COMPLETE { + description + "Batch complete operation statistic"; + leaf total-complete { + type uint32; + description + "total complete"; + } + leaf insync { + type uint32; + description + "insync"; + } + leaf last-insync { + type uint64; + description + "last insync"; + } + leaf last-complete-msg { + type uint64; + description + "last complete msg"; + } + } + + grouping RIB-EDM-STATS-ADVERTISEMENT { + description + "Advertisement statistic"; + leaf total-adv { + type uint32; + description + "total adv"; + } + leaf new-adv { + type uint32; + description + "new adv"; + } + leaf modification { + type uint32; + description + "modification"; + } + leaf delete { + type uint32; + description + "delete"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-adv-time { + type uint64; + description + "last adv time"; + } + } + + grouping RIB-EDM-STATS-ROUTE-OP { + description + "Route operation statistics"; + leaf paths-add-op { + type uint32; + description + "paths add op"; + } + leaf prefix-added { + type uint32; + description + "prefix added"; + } + leaf paths-added { + type uint32; + description + "paths added"; + } + leaf prefix-modified-add { + type uint32; + description + "prefix modified add"; + } + leaf paths-delete-op { + type uint32; + description + "paths delete op"; + } + leaf prefix-deleted { + type uint32; + description + "prefix deleted"; + } + leaf paths-deleted { + type uint32; + description + "paths deleted"; + } + leaf prefix-modified-del { + type uint32; + description + "prefix modified del"; + } + leaf prefix-flushed { + type uint32; + description + "prefix flushed"; + } + leaf paths-flushed { + type uint32; + description + "paths flushed"; + } + leaf invalid-op { + type uint32; + description + "invalid op"; + } + leaf flushed { + type uint32; + description + "flushed"; + } + leaf too-manypaths { + type uint32; + description + "too manypaths"; + } + leaf invalid-parameter { + type uint32; + description + "invalid parameter"; + } + leaf no-ecmp-support { + type uint32; + description + "no ecmp support"; + } + leaf mem-alloc-error { + type uint32; + description + "mem alloc error"; + } + leaf path-backup { + type uint32; + description + "path backup"; + } + leaf path-active { + type uint32; + description + "path active"; + } + leaf path-change { + type uint32; + description + "path change"; + } + leaf path-nochange { + type uint32; + description + "path nochange"; + } + leaf table-limit { + type uint32; + description + "table limit"; + } + leaf outsync { + type uint32; + description + "outsync"; + } + leaf last-outsync { + type uint64; + description + "last outsync"; + } + leaf last-route-opt { + type uint16; + description + "last route opt"; + } + leaf last-result { + type uint32; + description + "last result"; + } + leaf last-opt-time { + type uint64; + description + "last opt time"; + } + leaf attribute-not-found { + type uint32; + description + "attribute not found"; + } + leaf last-attribute-not-found-time { + type uint64; + description + "last attribute not found time"; + } + leaf num-fb-cookies { + type uint32; + description + "num fb cookies"; + } + leaf last-fb-cookie-op { + type uint64; + description + "last fb cookie op"; + } + leaf invalid-path-combination { + type uint32; + description + "invalid path combination"; + } + leaf invalid-pathid-change { + type uint32; + description + "invalid pathid change"; + } + leaf path-attribute-too-large { + type uint32; + description + "path attribute too large"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-PROTO-STATS-SUMMARY { + description + "Summary of RIB client protocol statistic summary"; + container route-op-stats { + description + "route op stats"; + uses RIB-EDM-STATS-ROUTE-OP; + } + container adv { + description + "adv"; + uses RIB-EDM-STATS-ADVERTISEMENT; + } + container complete-stats { + description + "complete stats"; + uses RIB-EDM-STATS-BATCH-COMPLETE; + } + container converge-stats { + description + "converge stats"; + uses RIB-EDM-STATS-BATCH-CONVERGE; + } + container complete-update-stats { + description + "complete update stats"; + uses RIB-EDM-STATS-COMPLETE-UPDATE; + } + container purge-stats { + description + "purge stats"; + uses RIB-EDM-STATS-PURGE; + } + container nh-stats { + description + "nh stats"; + uses IPV4-RIB-EDM-STATS-NEXTHOP; + } + leaf protocol-name { + type string; + description + " Name of Protocol"; + } + leaf instance { + type string; + description + "Instance name"; + } + list opaque-stat { + max-elements "21"; + description + "opaque stat"; + uses RIB-EDM-STATS-OPAQUE; + } + } + + grouping RIB-EDM-STATS-CLIENT-UG-START { + description + "BCDL update group notify timer statistics"; + leaf bcdl-ug-notify-num-not-started { + type uint32; + description + "bcdl ug notify num not started"; + } + leaf bcdl-ug-last-notify-not-started-time { + type uint64; + description + "bcdl ug last notify not started time"; + } + } + + grouping RIB-EDM-STATS-CLIENT-FIB-UG-UPD { + description + "FIB update group updates statistics"; + leaf fib-ug-updates { + type uint32; + description + "fib ug updates"; + } + leaf fib-ug-total-nodes { + type uint32; + description + "fib ug total nodes"; + } + } + + grouping RIB-EDM-STATS-CLIENT-LOOKUPS { + description + "Lookup statistics"; + leaf best-local-address { + type uint32; + description + "best local address"; + } + leaf is-connected { + type uint32; + description + "is connected"; + } + leaf route-lookups { + type uint32; + description + "route lookups"; + } + leaf next-hop-lookups { + type uint32; + description + "next hop lookups"; + } + leaf default-source { + type uint32; + description + "default source"; + } + } + + grouping RIB-EDM-STATS-CLIENT-ATTRIBUTE { + description + "Attribute operation statistics"; + leaf total-registration { + type uint32; + description + "total registration"; + } + leaf total-add { + type uint32; + description + "total add"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping RIB-EDM-STATS-CLIENT-REDIST-TBL { + description + "Table redistribution statistics"; + leaf total-table-redist { + type uint32; + description + "total table redist"; + } + leaf table-created { + type uint32; + description + "table created"; + } + leaf table-full { + type uint32; + description + "table full"; + } + leaf has-space { + type uint32; + description + "has space"; + } + leaf last-redist { + type uint8; + description + "last redist"; + } + leaf last-redist-time { + type uint64; + description + "last redist time"; + } + } + + grouping RIB-EDM-STATS-CLIENT-TBL { + description + "Table operation statistics"; + leaf total-table-register { + type uint32; + description + "total table register"; + } + leaf new-table { + type uint32; + description + "new table"; + } + leaf modification { + type uint32; + description + "modification"; + } + leaf deletion { + type uint32; + description + "deletion"; + } + leaf cl-lookup-err { + type uint32; + description + "cl lookup err"; + } + leaf tbl-lookup-err { + type uint32; + description + "tbl lookup err"; + } + leaf invalid-id-lookup-err { + type uint32; + description + "invalid id lookup err"; + } + leaf tbl-create-err { + type uint32; + description + "tbl create err"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping RIB-EDM-STATS-CLIENT-REDIST { + description + "Client redistribution stats"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping EVT-HIST-ENTRY { + description + "Event history Entry"; + leaf evt-timestamp { + type string; + description + "The timestamp of the event"; + } + leaf evt-name { + type string; + description + "Event name"; + } + leaf evt-type { + type uint8; + description + "Event type"; + } + leaf evt-many { + type boolean; + description + "Multiple instance flag"; + } + leaf evt-sticky { + type boolean; + description + "Sticky flag"; + } + list evt-data { + description + "Optional data"; + leaf entry { + type uint32; + description + "Optional data"; + } + } + } + + grouping EVT-HIST-INFO { + description + "Per object event history"; + leaf evt-class-name { + type string; + description + "Class name string"; + } + list evt-entry { + description + "Array of event entries"; + uses EVT-HIST-ENTRY; + } + } + + grouping RIB-EDM-STATS-CLIENT-NOTF { + description + "RIB pulse statistics"; + container evt-hist { + description + "evt hist"; + uses EVT-HIST-INFO; + } + leaf total-notifications { + type uint32; + description + "total notifications"; + } + leaf clear { + type uint32; + description + "clear"; + } + leaf nexthop-critical { + type uint32; + description + "nexthop critical"; + } + leaf nexthop-noncritical { + type uint32; + description + "nexthop noncritical"; + } + leaf nexthop-converge { + type uint32; + description + "nexthop converge"; + } + leaf redist-register { + type uint32; + description + "redist register"; + } + leaf redist-reset { + type uint32; + description + "redist reset"; + } + leaf preceeding-client { + type uint32; + description + "preceeding client"; + } + leaf redist-list { + type uint32; + description + "redist list"; + } + leaf gc-proto { + type uint32; + description + "gc proto"; + } + leaf gc-db { + type uint32; + description + "gc db"; + } + leaf gc-attribute { + type uint32; + description + "gc attribute"; + } + leaf table-event { + type uint32; + description + "table event"; + } + leaf feedback-cookie { + type uint32; + description + "feedback cookie"; + } + leaf fib-ug-update { + type uint32; + description + "fib ug update"; + } + leaf critical { + type uint32; + description + "critical"; + } + leaf non-critical { + type uint32; + description + "non critical"; + } + leaf delay-timer { + type uint32; + description + "delay timer"; + } + leaf skip-notification { + type uint32; + description + "skip notification"; + } + leaf end-of-data { + type uint32; + description + "end of data"; + } + leaf disconnect { + type uint32; + description + "disconnect"; + } + leaf srv6-redist-register { + type uint32; + description + "srv6 redist register"; + } + leaf srv6-cfg-updt { + type uint32; + description + "srv6 cfg updt"; + } + leaf srv6-opcode-updt { + type uint32; + description + "srv6 opcode updt"; + } + leaf state-sync-done { + type uint32; + description + "state sync done"; + } + leaf last-notification { + type uint64; + description + "last notification"; + } + leaf last-eod { + type uint64; + description + "last eod"; + } + leaf total-pulse { + type uint64; + description + "total pulse"; + } + leaf total-select { + type uint64; + description + "total select"; + } + leaf total-read { + type uint64; + description + "total read"; + } + } + + grouping IPV4-RIB-EDM-CLIENT-STATS-SUMMARY { + description + "Summary of RIB client statistics"; + container notification { + description + "notification"; + uses RIB-EDM-STATS-CLIENT-NOTF; + } + container redist { + description + "redist"; + uses RIB-EDM-STATS-CLIENT-REDIST; + } + container tbl-stats { + description + "tbl stats"; + uses RIB-EDM-STATS-CLIENT-TBL; + } + container redist-tbl { + description + "redist tbl"; + uses RIB-EDM-STATS-CLIENT-REDIST-TBL; + } + container attribute { + description + "attribute"; + uses RIB-EDM-STATS-CLIENT-ATTRIBUTE; + } + container lookups { + description + "lookups"; + uses RIB-EDM-STATS-CLIENT-LOOKUPS; + } + container fib-ug { + description + "fib ug"; + uses RIB-EDM-STATS-CLIENT-FIB-UG-UPD; + } + container ug-start-stats { + description + "ug start stats"; + uses RIB-EDM-STATS-CLIENT-UG-START; + } + leaf client-id { + type uint32; + description + "client id"; + } + } + + grouping RIB-EDM-STATS-REDIST-SRV6 { + description + "SRv6 redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping RIB-EDM-STATS-REDIST-OPAQUE { + description + "Opaque redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf total-tbl-entries { + type uint32; + description + "total tbl entries"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping RIB-EDM-STATS-REDIST-ATTR { + description + "Attribe redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf total-tbl-entries { + type uint32; + description + "total tbl entries"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping RIB-EDM-STATS-REDIST-ROUTE { + description + "Route redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf update-sent { + type uint32; + description + "update sent"; + } + leaf paths-sent { + type uint32; + description + "paths sent"; + } + leaf prefixes-deleted { + type uint32; + description + "prefixes deleted"; + } + leaf total-advertisment { + type uint32; + description + "total advertisment"; + } + leaf last-redist-delete { + type boolean; + description + "last redist delete"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping IPV4-RIB-EDM-STATS-REDIST { + description + "Redistribution statistics"; + container route { + description + "route"; + uses RIB-EDM-STATS-REDIST-ROUTE; + } + container attr { + description + "attr"; + uses RIB-EDM-STATS-REDIST-ATTR; + } + container srv6 { + description + "srv6"; + uses RIB-EDM-STATS-REDIST-SRV6; + } + leaf protocol-name { + type string; + description + " Name of Protocol"; + } + leaf instance { + type string; + description + "Instance name"; + } + list opaque-stat { + max-elements "21"; + description + "opaque stat"; + uses RIB-EDM-STATS-REDIST-OPAQUE; + } + } + + grouping IPV4-RIB-EDM-RECURSION-DEPTH-MAX { + description + "Information about the maximum recursion depth in + the RIB"; + leaf current { + type uint32; + description + "Current maximum recursion depth"; + } + leaf configured { + type uint32; + description + "Configured maximum recursion depth"; + } + } + + grouping RIB-EDM-STATS-GRID-SUMMARY { + description + "RIB EDM STATS GRID SUMMARY"; + leaf num-in-queue { + type uint32; + description + "num in queue"; + } + leaf num-enqueue { + type uint32; + description + "num enqueue"; + } + leaf num-dequeue { + type uint32; + description + "num dequeue"; + } + leaf num-enqueue-del-skipped { + type uint32; + description + "num enqueue del skipped"; + } + leaf num-requeue { + type uint32; + description + "num requeue"; + } + leaf num-enqueue-del-with-ref { + type uint32; + description + "num enqueue del with ref"; + } + } + + grouping RIB-EDM-STATS-NH-BATCH-SUMMARY { + description + "RIB batch nexthop statistics informatio"; + leaf total-nh-batch-requests { + type uint32; + description + "total nh batch requests"; + } + leaf total-nh-operations { + type uint32; + description + "total nh operations"; + } + leaf batch-init { + type uint32; + description + "batch init"; + } + leaf batch-register { + type uint32; + description + "batch register"; + } + leaf batch-unregister { + type uint32; + description + "batch unregister"; + } + leaf register-complete { + type uint32; + description + "register complete"; + } + leaf sync-register { + type uint32; + description + "sync register"; + } + leaf batch-finish { + type uint32; + description + "batch finish"; + } + leaf batch-null { + type uint32; + description + "batch null"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-client { + type uint32; + description + "last client"; + } + leaf last-nh-operation { + type uint32; + description + "last nh operation"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-nh-time { + type uint64; + description + "last nh time"; + } + } + + grouping RIB-EDM-STATS-LWM-SUMMARY { + description + "RIB EDM STATS LWM SUMMARY"; + leaf total-lwm { + type uint32; + description + "total lwm"; + } + leaf route-add { + type uint32; + description + "route add"; + } + leaf route-delete { + type uint32; + description + "route delete"; + } + leaf purge-protocol { + type uint32; + description + "purge protocol"; + } + leaf purge-client { + type uint32; + description + "purge client"; + } + leaf protocol-register { + type uint32; + description + "protocol register"; + } + leaf protocol-unregister { + type uint32; + description + "protocol unregister"; + } + leaf protocol-modify { + type uint32; + description + "protocol modify"; + } + leaf redist-proto { + type uint32; + description + "redist proto"; + } + leaf unreg-redist-proto { + type uint32; + description + "unreg redist proto"; + } + leaf redist-reset { + type uint32; + description + "redist reset"; + } + leaf update-complete { + type uint32; + description + "update complete"; + } + leaf advertisement { + type uint32; + description + "advertisement"; + } + leaf unreg-advertisement { + type uint32; + description + "unreg advertisement"; + } + leaf next-hop-register { + type uint32; + description + "next hop register"; + } + leaf next-hop-unregister { + type uint32; + description + "next hop unregister"; + } + leaf bind-data { + type uint32; + description + "bind data"; + } + leaf succcess { + type uint32; + description + "succcess"; + } + leaf route-lookup { + type uint32; + description + "route lookup"; + } + leaf best-local-addr { + type uint32; + description + "best local addr"; + } + leaf is-connected { + type uint32; + description + "is connected"; + } + leaf first-hop { + type uint32; + description + "first hop"; + } + leaf find-proto { + type uint32; + description + "find proto"; + } + leaf free-all-srv6-sid { + type uint32; + description + "free all srv6 sid"; + } + leaf other { + type uint32; + description + "other"; + } + leaf last-client { + type uint32; + description + "last client"; + } + leaf last-operation { + type uint32; + description + "last operation"; + } + leaf last-oper-result { + type boolean; + description + "last oper result"; + } + leaf last-lwm-time { + type uint64; + description + "last lwm time"; + } + } + + grouping RIB-EDM-STATS-BATCH-SUMMARY { + description + "RIB Batch statistic information"; + leaf total-msg-rx { + type uint32; + description + "total msg rx"; + } + leaf route-op-arg-rx { + type uint32; + description + "route op arg rx"; + } + leaf attribute-arg-rx { + type uint32; + description + "attribute arg rx"; + } + leaf complete-arg-rx { + type uint32; + description + "complete arg rx"; + } + leaf converge-arg-rx { + type uint32; + description + "converge arg rx"; + } + leaf opaque-arg-rx { + type uint32; + description + "opaque arg rx"; + } + leaf total-fwd-ref { + type uint32; + description + "total fwd ref"; + } + leaf invalid-client-id-error { + type uint32; + description + "invalid client id error"; + } + leaf mem-alloc-error { + type uint32; + description + "mem alloc error"; + } + leaf client-lookup-error { + type uint32; + description + "client lookup error"; + } + leaf db-lookup-error { + type uint32; + description + "db lookup error"; + } + leaf proto-lookup-error { + type uint32; + description + "proto lookup error"; + } + leaf client-proto-lookup-error { + type uint32; + description + "client proto lookup error"; + } + leaf table-missing-error { + type uint32; + description + "table missing error"; + } + leaf unknown-arg { + type uint32; + description + "unknown arg"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type uint32; + description + "last result"; + } + leaf last-operation { + type uint32; + description + "last operation"; + } + leaf last-client { + type uint32; + description + "last client"; + } + leaf last-msg-rx-time { + type uint64; + description + "last msg rx time"; + } + } + + grouping IPV4-RIB-EDM-STATS-SUMMARY { + description + "Summary of RIB statistic information"; + container batch-stats { + description + "batch stats"; + uses RIB-EDM-STATS-BATCH-SUMMARY; + } + container lwm-stats { + description + "lwm stats"; + uses RIB-EDM-STATS-LWM-SUMMARY; + } + container nh-batch-stats { + description + "nh batch stats"; + uses RIB-EDM-STATS-NH-BATCH-SUMMARY; + } + container grid-stats { + description + "grid stats"; + uses RIB-EDM-STATS-GRID-SUMMARY; + } + } + + grouping IPV4-RIB-EDM-NHID-OBJ { + description + "Information of nhid objects"; + leaf nhid { + type uint32; + description + "nhid"; + } + leaf feid { + type uint64; + description + "feid"; + } + leaf nh-addr { + type Ipv4-rib-edm-addr; + description + "nh addr"; + } + leaf ifindex { + type xr:Interface-name; + description + "ifindex"; + } + leaf chkpt-obj-id { + type uint32; + description + "chkpt obj id"; + } + leaf ref-count { + type uint32; + description + "ref count"; + } + leaf feature-type { + type uint8; + description + "feature type"; + } + } + + grouping RIB-EDM-RPF-NBR-OBJ { + description + "Information of the rpf nbr data"; + leaf afi { + type uint8; + description + "afi"; + } + leaf ip-address { + type Ipv4-rib-edm-addr; + description + "ip address"; + } + } + + grouping IPV4-RIB-EDM-RPFLIST-OBJ { + description + "Informaton of rpf list objects"; + leaf label { + type uint32; + description + "label"; + } + leaf flags { + type uint32; + description + "flags"; + } + leaf ref-count { + type uint32; + description + "ref count"; + } + leaf sent-to-fib { + type boolean; + description + "sent to fib"; + } + list nbr { + description + "nbr"; + uses RIB-EDM-RPF-NBR-OBJ; + } + } + + grouping IPV4-RIB-EDM-NH-STATS { + description + "Nexthop statistics for a table"; + leaf num-resolved-nh { + type uint32; + description + "Number of resolved nexthop"; + } + leaf num-unresolved-nh { + type uint32; + description + "Number of unresolved nexthop"; + } + } + + grouping RIB-PATH-SHARED-DB-STATS { + description + "Per table path sharing stats"; + leaf num-mutable-paths { + type uint32; + description + "Number of mutable paths"; + } + leaf num-total-mutable-alloc { + type uint32; + description + "Running count of mutable path allocation calls"; + } + leaf num-total-mutable-cleanup { + type uint32; + description + "Running count of mutable path frees"; + } + leaf num-path-clone-ops { + type uint32; + description + "Count of path clone operations"; + } + leaf num-path-save-ops { + type uint32; + description + "Count of path save operations"; + } + leaf num-shr-refcnt-incr { + type uint32; + description + "Number of refcount increment operations"; + } + leaf num-shr-refcnt-decr { + type uint32; + description + "Number of refcount decrements operations"; + } + leaf num-current-shared-paths { + type uint32; + description + "Current number of shared paths"; + } + leaf max-share-refcnt { + type uint32; + description + "The highest sharing factor by any path, + high-water"; + } + leaf max-paths-in-db { + type uint32; + description + "Largest number of paths in DB high-water"; + } + leaf num-shared-path-search-miss { + type uint32; + description + "Number of MISS operations searching for shared + path"; + } + leaf num-shared-path-search-hit { + type uint32; + description + "Number of HIT operations searching for shared + path"; + } + leaf num-total-shared-path-create { + type uint32; + description + "Number of path create operations"; + } + leaf num-total-shared-path-delete { + type uint32; + description + "Number of path delete operations"; + } + leaf sum-of-all-refcounts { + type uint32; + description + "Sum of all path refcounts in the shared db"; + } + leaf avg-path-shares { + type uint32; + description + "Average number of pathlists using a shared path"; + } + } + + grouping RIB-PATHLIST-SHARED-DB-STATS { + description + " Per table pathlist sharing stats"; + leaf num-mutable-pathlists { + type uint32; + description + "Number of mutable pathlists"; + } + leaf num-immutable-pathlists { + type uint32; + description + "Number of immutable pathlists"; + } + leaf num-cumulative-pathlist-creates { + type uint32; + description + "Cumulative number of pathlist-CREATES"; + } + leaf num-pathlist-clone-ops { + type uint32; + description + "Count of pathlist clone operations"; + } + leaf num-pathlist-save-ops { + type uint32; + description + "Count of pathlist save operations"; + } + leaf max-share-refcnt { + type uint32; + description + "The max sharing factor by any pathlist, + high-water"; + } + leaf max-pathlists-in-db { + type uint32; + description + "Largest number of pathlists in DB, high-water"; + } + leaf num-shared-pathlist-search-hit { + type uint32; + description + "number of HIT operations searching for a shared + pathlist"; + } + leaf num-shared-pathlist-search-miss { + type uint32; + description + "number of MISS operations searching for a shared + pathlist"; + } + leaf sum-of-all-refcounts { + type uint32; + description + "Sum of all pathlist refcounts in the shared db"; + } + leaf avg-pathlist-shares { + type uint32; + description + "Average number of routes using a shared pathlist"; + } + } + + grouping IPV4-RIB-EDM-TABLE { + description + "Information of a routing table"; + container pathlist-stats { + description + "Pathlist Statistics"; + uses RIB-PATHLIST-SHARED-DB-STATS; + } + container path-stats { + description + "Path Statistics"; + uses RIB-PATH-SHARED-DB-STATS; + } + leaf tableid { + type uint32; + description + "Table id"; + } + leaf afi { + type uint32; + description + "Address Family"; + } + leaf safi { + type uint32; + description + "sub Address Family"; + } + leaf vrf-name { + type string; + description + "VRF Name of the table"; + } + leaf table-name { + type string; + description + "Name of the table"; + } + leaf version { + type uint64; + description + "Table version"; + } + leaf conf-prefix-limit { + type uint32; + description + "Configured prefix limit"; + } + leaf current-prefix-count { + type uint32; + description + "Num prefixes in table"; + } + leaf num-svdlcl-prefix { + type uint32; + description + "Num SVD local prefixes"; + } + leaf num-svdrem-prefix { + type uint32; + description + "Num SVD remote prefixes"; + } + leaf table-version { + type uint64; + description + "Version no. of the table"; + } + leaf prefix-limit-notified { + type boolean; + description + "Prefix limit state indicator"; + } + leaf fwd-referenced { + type boolean; + description + "Table in fwd reference state?"; + } + leaf deleted { + type boolean; + description + "Table deleted?"; + } + leaf initial-converge { + type boolean; + description + "Table has reached convergence"; + } + } + + grouping RIB-EDM-ROUTE-COUNT { + description + "Specifics of route count"; + leaf active-routes-count { + type uint32; + description + "Number of active routes"; + } + leaf num-backup-routes { + type uint32; + description + "Number of backup (inactive) routes"; + } + leaf num-active-paths { + type uint32; + description + "Number of paths to active routes"; + } + leaf num-backup-paths { + type uint32; + description + "Number of paths to backup routes"; + } + } + + grouping RIB-EDM-PROTO-ROUTE-SUMM-DETAIL { + description + "Details of Protocol route types"; + container proto-route-count { + description + "Count for proto. instance"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-none { + description + "No route type"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-other { + description + "Unknown route type"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-intra { + description + "OSPF route within an area"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-inter { + description + "OSPF route across diff. areas"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-extern1 { + description + "OSPF external route of type 1"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-extern2 { + description + "OSPF external route of type 2"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-sum { + description + "IS-IS summary route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-l1 { + description + "IS-IS level 1 route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-l2 { + description + "IS-IS level 2 route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-l1-ia { + description + "IS-IS level1 inter-area route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-bgp-int { + description + "iBGP route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-bgp-ext { + description + "eBGP route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-bgp-loc { + description + "BGP local route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-nssa1 { + description + "OSPF NSSA ext. route type 1"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-nssa2 { + description + "OSPF NSSA ext. route type 2"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-igrp2-int { + description + "EIGRP internal route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-igrp2-ext { + description + "EIGRP external route"; + uses RIB-EDM-ROUTE-COUNT; + } + leaf name { + type string; + description + "Proto name"; + } + leaf instance { + type string; + description + "Instance name of the protocol"; + } + } + + grouping IPV4-RIB-EDM-ADVERT { + description + "Route advertisement information"; + list ipv4-rib-edm-advert { + description + "Next advertising proto"; + leaf protocol-id { + type uint32; + description + "Protocol advertising the route"; + } + leaf client-id { + type uint32; + description + " Client advertising the route"; + } + leaf number-of-extended-communities { + type uint32; + description + "Number of extended communities attached by + advertiser"; + } + leaf extended-communities { + type yang:hex-string; + description + "Extended communities attached by the advertiser"; + } + leaf protocol-opaque-flags { + type uint8; + description + "OSPF area-id flags"; + } + leaf protocol-opaque { + type uint32; + description + "OSPF area-id"; + } + leaf code { + type int8; + description + "Protocol code"; + } + leaf instance-name { + type string { + length "0..41"; + } + description + "Instance name of the protocol advertising the + route"; + } + } + } + + grouping RIB-EDM-NH-PATH { + description + "Information of a nexthop notification client"; + leaf interface { + type uint32; + description + "interface"; + } + leaf address { + type Ipv4-rib-edm-addr; + description + "Address"; + } + leaf tableid { + type uint32; + description + "tableid"; + } + leaf vrf-name { + type string; + description + "VRF Name of the nh table"; + } + } + + grouping RIB-EDM-NH-CLIENT { + description + "Information of a nexthop notification client"; + list rib-edm-nh-client { + description + "Next client"; + leaf id { + type uint32; + description + "Client id"; + } + leaf ref-count { + type uint32; + description + "The number NH reference this client"; + } + leaf nh-create-age { + type uint32; + description + "How long has client has been created"; + } + leaf nh-create-time { + type uint64; + description + "Client creation time"; + } + leaf nh-read-age { + type uint32; + description + "How long ago client read this notification"; + } + leaf nh-read-time { + type uint64; + description + "Client notification read time"; + } + leaf pack-mvpn { + type boolean; + description + "Pack MVPN"; + } + leaf pack-path-rt { + type boolean; + description + "Pack path RT"; + } + leaf pack-vrf-import-rt { + type boolean; + description + "Pack VRF import RT"; + } + leaf pack-source-as-rt { + type boolean; + description + "Pack source AS RT"; + } + leaf pack-source-rd { + type boolean; + description + "Pack source RD"; + } + leaf pack-mldp-root { + type boolean; + description + "Pack MLDP root"; + } + leaf pack-seg-nh { + type boolean; + description + "Pack seg NH"; + } + leaf notify-reregister { + type boolean; + description + "Notify Reregister"; + } + } + } + + grouping IPV4-RIB-EDM-NH-ADDR { + description + "Information of a registered nexthop notification + address"; + container clients { + description + "Client(s) of the address"; + uses RIB-EDM-NH-CLIENT; + } + container resolved-route { + description + "Route resolved this nexthop"; + uses IPV4-RIB-EDM-ROUTE; + } + leaf prefix { + type Ipv4-rib-edm-addr; + description + "Route prefix"; + } + leaf prefix-len { + type uint32; + description + "Length of prefix"; + } + leaf dest-addr { + type Ipv4-rib-edm-addr; + description + "Destination address"; + } + leaf dest-intf { + type uint32; + description + "Destination interface"; + } + leaf dest-tableid { + type uint32; + description + "Destination tableid"; + } + leaf dest-metric { + type uint32; + description + "Destination metric"; + } + leaf dest-vrf-name { + type string; + description + "VRF Name of the nh table"; + } + leaf damped { + type boolean; + description + "Nexthop being damped?"; + } + leaf exact-match-xr { + type boolean; + description + "Exact match"; + } + leaf allow-default-xr { + type boolean; + description + "Allow default flag"; + } + leaf recurse-xr { + type boolean; + description + "Allow recurse flag"; + } + leaf xtable { + type boolean; + description + "Cross table nexthop"; + } + leaf pack-sf-xr { + type boolean; + description + "Pack SFS paths for multicast"; + } + leaf pack-backup { + type boolean; + description + "Pack backup paths"; + } + leaf backup-route-xr { + type boolean; + description + "Backup route notifications"; + } + leaf best-metric-xr { + type boolean; + description + "Return lowest metric for dest. metric"; + } + leaf unres-nh-tree { + type boolean; + description + "Context about which tree the server should walk"; + } + leaf flags { + type uint16; + description + "nh_entry flags"; + } + leaf dest-path-count { + type uint32; + description + "Number of destination paths"; + } + leaf accrued-penalty { + type uint16; + description + "Damped accured penalty"; + } + leaf num-algo-label { + type uint16; + description + "Destination number of Algorithm Labels"; + } + leaf expiration-age { + type uint32; + description + "How soon the nexthop is undamped"; + } + leaf expiration-time { + type uint64; + description + "Time where the first is undamped"; + } + leaf min-damped-threshold { + type uint32; + description + "Minimum damped threshold"; + } + leaf max-damped-penalty { + type uint32; + description + "Maximum damped threshold"; + } + leaf decay-rate { + type uint32; + description + "Damped decay rate"; + } + leaf version { + type uint32; + description + "Event version"; + } + leaf last-event-age { + type uint32; + description + "How long since last event occured"; + } + leaf last-event-time { + type uint64; + description + "Time at which last event occured"; + } + list dest-path { + description + "Path(s) of the route"; + uses RIB-EDM-NH-PATH; + } + list algo-label-set { + description + "Destination list of Algorithm Labels"; + uses RIB-EDM-ALGO-LABEL-SET; + } + } + + grouping RIB-EDM-OPAQUE-OBJ { + description + "Informaton of an opaque data"; + leaf key { + type yang:hex-string; + description + "The unique ID assigned to the opaque object by + client"; + } + leaf data { + type yang:hex-string; + description + "The data part of the opaque object"; + } + } + + grouping IPV4-RIB-EDM-PROTO { + description + "Information of a rib protocol"; + leaf protocol-names { + type string; + description + "Name"; + } + leaf instance { + type string; + description + "Instance name of the protocol"; + } + leaf version { + type uint32; + description + "Proto version"; + } + leaf redistribution-client-count { + type uint32; + description + "Number of redist clients"; + } + leaf protocol-clients-count { + type uint32; + description + "Number of proto clients"; + } + leaf routes-counts { + type uint32; + description + "Number of routes (including active, backup and + deleted), where, number of backup routes = + RoutesCounts - ActiveRoutesCount - + DeletedRoutesCount "; + } + leaf active-routes-count { + type uint32; + description + "Number of active routes (not deleted)"; + } + leaf deleted-routes-count { + type uint32; + description + "Number of deleted routes"; + } + leaf paths-count { + type uint32; + description + "Number of paths for all routes"; + } + leaf protocol-route-memory { + type uint32; + units "byte"; + description + "Memory for proto's routes and paths in bytes"; + } + leaf backup-routes-count { + type uint32; + description + "Number of backup routes"; + } + } + + grouping RIB-EDM-PATH-IP-TUNNEL-INFO { + description + "Information of IP tunnel Info attribute in path"; + leaf auto-created { + type boolean; + description + "Tunnel is auto created"; + } + leaf tunnel-type { + type string; + description + "Tunnel Type"; + } + leaf has-evni { + type boolean; + description + "Egress VXLAN Network Identifier present"; + } + leaf evni { + type uint32; + description + "Egress VXLAN Network Identifier"; + } + leaf has-tunnel-id { + type boolean; + description + "Tunnel ID present"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf has-vni { + type boolean; + description + "VXLAN Network Identifier present"; + } + leaf vni { + type uint32; + description + "VXLAN Network Identifier"; + } + } + + grouping RIB-EDM-VIA-SRV6-SID { + description + "Information related to Via-SRv6-SID"; + leaf sid { + type inet:ipv6-address; + description + "Via-SRv6-SID value"; + } + leaf resolution-length { + type uint8; + description + "FIB Resolution length"; + } + } + + grouping MGMT-SRV6-HEADEND-BEHAVIOR { + description + "SRv6 Headend Behavior Info"; + leaf type { + type Mgmt-srv6-headend; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping MGMT-SRV6-SID { + description + "SRv6 SID"; + leaf sid { + type inet:ipv6-address; + description + "SID value"; + } + } + + grouping RIB-EDM-PATH-SRV6-INFO { + description + "RIB path's SRv6 related information"; + container srv6-carrier-format { + description + "SRv6 Carrier Format"; + uses MGMT-SRV6-SID-FMT; + } + container srv6-headend-behavior { + description + "SRv6 headend behavior/type info"; + uses MGMT-SRV6-HEADEND-BEHAVIOR; + } + container via-srv6-sid { + description + "Via-SRv6-SID value"; + uses RIB-EDM-VIA-SRV6-SID; + } + leaf number-of-srv6-carriers { + type uint8; + description + "Number of SRv6 Carriers"; + } + leaf has-srv6-headend-behavior { + type boolean; + description + "Path has some SRv6 head-end behavior associated"; + } + leaf has-via-srv6-sid { + type boolean; + description + "Via-SRv6-SID is present"; + } + list srv6-carrier { + description + "List of SRv6 Carriers with one or more SIDs"; + uses MGMT-SRV6-SID; + } + } + + grouping RIB-EDM-PATH-GROUPING-INFO { + description + "Information of Path Grouping"; + leaf grouping-id { + type uint32; + description + "Grouping ID for this path"; + } + } + + grouping RIB-EDM-PATH-L2-INFO { + description + "Information of L2 Info attribute in path"; + leaf xcid { + type uint32; + description + "L2 Cross Connect ID for this path"; + } + leaf ac-interface { + type xr:Interface-name; + description + "L2 AC Interface"; + } + leaf split-horizon-group-id { + type uint32; + description + "L2 Split Horizon Group ID"; + } + leaf bridge-id { + type uint32; + description + "L2 Bridge ID"; + } + } + + grouping RIB-EDM-NNH { + description + "Information of a NNH in path installed in RIB"; + leaf type { + type Rib-edm-nnh; + description + "type"; + } + leaf unknownval { + when "../type = 'unknown'" { + description + "../type = 'Unknown'"; + } + type uint32; + description + "Unknown Value"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../type = 'IPv4Address'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf interface-index { + when "../type = 'if-index'" { + description + "../type = 'IfIndex'"; + } + type uint32; + description + "Interface Index"; + } + } + + grouping IPV4-RIB-EDM-PATH { + description + "Information of a rib path"; + list ipv4-rib-edm-path { + description + "Next path"; + container l2-info { + description + "L2 Info for this path"; + uses RIB-EDM-PATH-L2-INFO; + } + container path-grouping-info { + description + "Grouping Info for this path"; + uses RIB-EDM-PATH-GROUPING-INFO; + } + container srv6-info { + description + "SRv6 related information"; + uses RIB-EDM-PATH-SRV6-INFO; + } + container ip-tunnel-info { + description + "IP Tunnel Info for this path"; + uses RIB-EDM-PATH-IP-TUNNEL-INFO; + } + leaf address { + type Ipv4-rib-edm-addr; + description + "Nexthop"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf information-source { + type Ipv4-rib-edm-addr; + description + "Infosource"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf v6-nexthop { + type inet:ipv6-address; + description + "IPv6 nexthop for v4 over v6"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf v6-information-source { + type inet:ipv6-address; + description + "V6 Infosource"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface handle for the path's nexthop"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf metric { + type uint32; + description + "Metrics"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf load-metric { + type uint32; + description + "Load Metrics"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf flags64 { + type uint64; + description + "Flags extended to 64 bits"; + } + leaf flags { + type uint16; + description + "Flags"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf private-flags { + type uint16; + description + "Private Flags, used internally by RIB"; + } + leaf minimum-recurse-length { + type uint8; + description + "Minimum netmask length of recursive resolving + route"; + } + leaf looped { + type boolean; + description + "Looping path"; + } + leaf next-hop-table-id { + type uint32; + description + "The table to which the next hop belongs"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-vrf-name { + type string; + description + "VRF Name of the nh table"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-table-name { + type string; + description + "NH table name"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-afi { + type uint32; + description + "NH afi"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-safi { + type uint32; + description + "NH safi"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf route-label { + type uint32; + description + "Label associated with this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID associated with this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf pathid { + type uint32; + description + "Path id of this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf backup-pathid { + type uint32; + description + "Path id of this path's backup"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf ref-cnt-of-backup { + type uint32; + description + "For backup paths, the number of active paths + protected by the backup path"; + } + leaf number-of-extended-communities { + type uint32; + description + "Number of extended communities associated with + this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf mvpn-present { + type boolean; + description + "MVPN attribute present"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf path-rt-present { + type boolean; + description + "Path RT present"; + } + leaf vrf-import-rt-present { + type boolean; + description + "VRFIMPORTRTPresent"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf source-asrt-present { + type boolean; + description + "SOURCEASRTPresent"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf source-rd-present { + type boolean; + description + "SOURCERDPresent"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf segmented-nexthop-present { + type boolean; + description + "Segmented NH attributes present for this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf number-of-nnh { + type uint32; + description + "Number of Next Next Hops"; + } + leaf next-hop-id { + type uint32; + description + "NHID associated with this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-id-refcount { + type uint32; + description + "NHID references"; + } + leaf ospf-area-id { + type string; + description + "OSPF area associated with the path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf has-labelstk { + type boolean; + description + "Path has a label stack"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf num-labels { + type uint8; + description + "Number of labels in stack"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf binding-label { + type uint32; + description + "binding Label for this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf nhid-feid { + type uint64; + description + "Fib nhid encap id"; + } + leaf mpls-feid { + type uint64; + description + "Fib mpls encap id"; + } + leaf has-vxlan-network-id { + type boolean; + description + "VXLAN Network Identifier exists for this path"; + } + leaf vxlan-network-id { + type uint32; + description + "VXLAN Network Identifier for this path"; + } + leaf has-xcid { + type boolean; + description + "L2 Cross Connect ID exists for this path"; + } + leaf xcid { + type uint32; + description + "L2 Cross Connect ID for this path"; + } + leaf has-span-diag-interface { + type boolean; + description + "SPAN Diagnostics Interface exists for this path"; + } + leaf span-diag-interface { + type xr:Interface-name; + description + "SPAN Diagnostics Interface for this path"; + } + leaf has-subscriber-parent-interface { + type boolean; + description + "Subscriber Parent Interface exists for this + path"; + } + leaf subscriber-parent-interface { + type xr:Interface-name; + description + "Subscriber Parent Interface for this path"; + } + leaf interface-index-present { + type boolean; + description + "Flag to indicate if interface index attribute + is present for this path"; + } + leaf interface-index-attribute { + type uint32; + description + "Interface Index attribute"; + } + leaf iid-present { + type boolean; + description + "Internal ID present"; + } + leaf iid { + type Ipv4-rib-edm-addr; + description + "Internal ID attribute"; + } + leaf has-l2-info { + type boolean; + description + "L2 Info present for this path"; + } + leaf has-path-grouping-info { + type boolean; + description + "Grouping Info present for this path"; + } + leaf has-ip-tunnel-info { + type boolean; + description + "IP Tunnel Info present for this path"; + } + list remote-backup-addr { + max-elements "2"; + description + "Remote backup node address"; + leaf entry { + type Ipv4-rib-edm-addr; + description + "Remote backup node address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + list labelstk { + description + "Outgoing label stack for this path"; + leaf entry { + type uint32; + description + "Outgoing label stack for this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + list next-next-hop { + description + "List of Next Next Hops"; + uses RIB-EDM-NNH; + } + } + } + + grouping MGMT-SRV6-SID-FMT { + description + "SRv6 SID Format Info"; + leaf type { + type Mgmt-srv6-sid-fmt; + description + "Format type"; + } + leaf description { + type string; + description + "Format description"; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping RIB-EDM-ROUTE-SRV6-INFO { + description + "RIB route's SRv6 related information"; + container srv6-endpoint-behavior { + description + "SRv6 Endpoint behavior/type"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container srv6-format { + description + "SRv6 Format"; + uses MGMT-SRV6-SID-FMT; + } + leaf is-srv6-endpoint { + type boolean; + description + "Route is an SRv6 Endpoint (local SID)"; + } + leaf is-srv6-locator { + type boolean; + description + "Route corresponds to an SRv6 remote locator"; + } + leaf srv6-locator-algo { + type uint8; + description + "SRv6 Algo corresponding to SRv6 remote locator"; + } + } + + grouping RIB-EDM-ALGO-LABEL-SET { + description + "Algorithm ID to Local Label information"; + leaf algorithm-id { + type uint8; + description + "Algorithm Identifier"; + } + leaf label { + type uint32; + description + "Local label"; + } + leaf metric { + type uint32; + description + "Route Metric associated with Algorithm + Identifier"; + } + } + + grouping IPV4-RIB-EDM-ROUTE { + description + "Information of a rib route head and rib proto + route"; + container srv6-info { + description + "SRv6 related information"; + uses RIB-EDM-ROUTE-SRV6-INFO; + } + container route-path { + description + "Path(s) of the route"; + uses IPV4-RIB-EDM-PATH; + } + leaf prefix { + type Ipv4-rib-edm-addr; + description + "Route prefix"; + } + leaf prefix-length-xr { + type uint8; + description + "Length of prefix"; + } + leaf route-version { + type uint32; + description + "Route version, incremented by one on each active + route change"; + } + leaf protocol-id { + type uint32; + description + "Protocol advertising the route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf protocol-name { + type string; + description + " Name of Protocol"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf instance { + type string; + description + "Instance name"; + } + leaf client-id { + type uint32; + description + "Client adding the route to RIB"; + } + leaf mirrored { + type boolean; + description + "Mirrored"; + } + leaf route-type { + type uint16; + description + "Type of route installed in RIB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf priority { + type uint8; + description + "Route priority"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf svd-type { + type uint8; + description + "SVD Type of route"; + } + leaf l2-route-type { + type uint8; + description + "Type of route associated with L2 Service"; + } + leaf flags { + type uint32; + description + "Route flags"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf extended-flags { + type uint64; + description + "Extended Route flags"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tag { + type uint32; + description + "Opaque proto specific info"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf distance { + type uint32; + description + "Distance of the route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf diversion-distance { + type uint32; + description + "Diversion distance of the route"; + } + leaf metric { + type uint32; + description + "Route metric"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf paths-count { + type uint32; + description + "Number of paths"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf attribute-identity { + type uint32; + description + "BGP Attribute ID"; + } + leaf traffic-index { + type uint8; + description + "BGP Traffic Index"; + } + leaf route-precedence { + type uint8; + description + "IP precedence for this route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf qos-group { + type uint8; + description + "Route qos group"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf flow-tag { + type uint8; + description + "Flow tag for this route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf fwd-class { + type uint8; + description + "Forward Class"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf pic-count { + type uint8; + description + "Number of pic paths in this route"; + } + leaf active { + type boolean; + description + "Is the route active or backup"; + } + leaf diversion { + type boolean; + description + "Route has a diversion path"; + } + leaf diversion-proto-name { + type string; + description + "Diversion route protocol name"; + } + leaf route-age { + type uint32; + units "second"; + description + "Age of route (seconds)"; + } + leaf route-label { + type uint32; + description + "Local label of the route"; + } + leaf version { + type uint32; + description + "Route Version"; + } + leaf tbl-version { + type uint64; + description + "Table Version"; + } + leaf route-modify-time { + type uint64; + units "nanosecond"; + description + "Route modification time(nanoseconds)"; + } + leaf prefix-feid { + type uint64; + description + "Fib per-prefix encap id"; + } + leaf number-of-algorithm-labels { + type uint16; + description + "Number of Algorithm Labels associated with this + prefix"; + } + leaf no-fib-redist { + type boolean; + description + "Should the route be redistributed to FIB"; + } + leaf flexible-algorithm { + type uint8; + description + "Flexible Algorithm associated with route"; + } + list algorithm-label { + description + "List of Algorithm Labels associated with this + Prefix"; + uses RIB-EDM-ALGO-LABEL-SET; + } + } + + grouping IPV4-RIB-EDM-UG-PRUNED-NODES { + description + "RIB updategroup pruned nodes information"; + leaf num-pruned-nodes { + type uint32; + description + "Number of pruned nodes"; + } + list pruned-node { + max-elements "256"; + description + "Pruned nodes ID"; + leaf entry { + type uint32; + description + "Pruned nodes ID"; + } + } + } + + grouping IPV4-RIB-EDM-UG { + description + "RIB updategroup information"; + leaf ug-id { + type uint32; + description + "Update Group ID"; + } + leaf client-id { + type uint32; + description + "ClientId associated with UG"; + } + leaf parent-id { + type int32; + description + "UG's parent if child"; + } + leaf insync { + type boolean; + description + "Is this ug insync with RIB"; + } + leaf freezecnt { + type uint32; + description + "Freeze count if frozen"; + } + } + + grouping IPV4-RIB-EDM-NHID-HIST-OBJ { + description + "Information of nhid history objects"; + leaf nhid { + type uint32; + description + "nhid"; + } + leaf nh-addr { + type Ipv4-rib-edm-addr; + description + "nh addr"; + } + leaf ifindex { + type xr:Interface-name; + description + "ifindex"; + } + leaf tableid { + type uint32; + description + "tableid"; + } + leaf operation { + type uint32; + description + "operation"; + } + leaf update { + type uint32; + description + "update"; + } + leaf oper-time { + type uint64; + description + "oper time"; + } + leaf feature-type { + type uint8; + description + "feature type"; + } + leaf chkpt-obj-id { + type uint32; + description + "chkpt obj id"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper.yang new file mode 100644 index 000000000..8219380ff --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv4-oper.yang @@ -0,0 +1,1379 @@ +module Cisco-IOS-XR-ip-rib-ipv4-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-ipv4-oper"; + prefix ip-rib-ipv4-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-rib-ipv4-oper-sub1 { + revision-date 2021-12-16; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rib-ipv4 package operational data. + + This module contains definitions + for the following management objects: + rib-stdby: RIB standby node operational data + rib: RIB operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-16 { + description + "Added VNI to ip tunnel info path attribute + 2021-11-26 + Add IID Local to known Protocol Types + 2021-10-29 + Added Opaque redistribution history + 2021-09-24 + New path vpn attribute for ip tunnels"; + semver:module-version "4.1.1m"; + } + revision 2021-07-20 { + description + "Flexible Algorithm attribute added to IP Route + 2021-06-24 + L2 Path attribute extended with support for Split Horizong Group and BridgeID + 2021-03-25 + Add FIB redistribution flag to route bag"; + semver:module-version "4.1.0"; + } + revision 2020-12-11 { + description + "Add forwarding sidlist + 2020-10-16 + Route model now includes optional SRv6 SID Format field for SRv6 Local SID routes + 2020-09-30 + Nexthop notification model now includes client specific registration flags"; + semver:module-version "4.0.0"; + } + revision 2020-05-29 { + description + "Updated the max number of elements for opaque stats to 16 Extended rib edm path to include IID info and SID Format type + 2020-04-02 + Increased path_num size in redist hist route bag to 16 bits"; + semver:module-version "3.0.0"; + } + revision 2019-11-05 { + description + "Extended Nexthop and NexhopPrefix paths to include all by NH flags + 2019-10-22 + Extended rib_edm_client_stats_summary to include client stats on bcdl ugs Extended rib_edm_local_label to support AIB prefer Extended rib_edm_path to include recursion length field Extended rib_edm_path to include metric field Extended iidmgr_summary to include oor summary info Extended rib_edm_route to include l3 route type field"; + semver:module-version "2.0.0"; + } + revision 2019-06-28 { + description + "Fixed NexthopPrefix path"; + semver:module-version "1.0.0"; + } + revision 2019-06-08 { + description + "Added RPF list and NHIDs"; + } + revision 2019-05-30 { + description + "Fixed adverts and backup paths"; + } + revision 2019-05-17 { + description + "Added Nexthops Summary, Nexthop Route, Longer Routes, Redist Clients and Client Stasts"; + } + revision 2019-04-25 { + description + "Updated yang schema to extend Native Yang model for the data exposed via CLI"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-02-21 { + description + "Yang evaluator: updates to schema descriptions and ranges"; + } + revision 2019-01-11 { + description + "Route lookup key is limited to Prefix and Prefix Length"; + } + revision 2018-11-20 { + description + "Add keys for route lookup via restconf."; + } + revision 2018-11-06 { + description + "Support Algorithm Label List per route"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rpf-head-count-range { + type uint32 { + range "0..4294967295"; + } + description + "Rpf head count range"; + } + + typedef Rib-saf-name { + type string { + pattern "(Unicast)|(Multicast)"; + } + description + "Unicast: Comment: Ucast string for , + Multicast: Comment: Mcast string for "; + } + + typedef Rib-af-name { + type string { + pattern "(IPv4)|(IPv6)"; + } + description + "IPv4: Comment: v4 string for , IPv6: + Comment: v6 string for "; + } + + typedef Table-id-range-ipv4 { + type uint32 { + range "0..4294967295"; + } + description + "Table id range ipv4"; + } + + typedef Nhid-hist-count-range { + type uint32 { + range "0..4294967295"; + } + description + "Nhid hist count range"; + } + + typedef Nhid-entry-count-range { + type uint32 { + range "0..4294967295"; + } + description + "Nhid entry count range"; + } + + grouping RIB-NH-ID-HISTORY-TABLE { + description + "Common node of rib, rib-stdby"; + container rib-nh-id-histories { + description + "nhids history"; + list rib-nh-id-history { + key "nh-idi-hist-count"; + description + "NH Id history count"; + leaf nh-idi-hist-count { + type Nhid-hist-count-range; + description + "NH Id hist count"; + } + uses IPV4-RIB-EDM-NHID-HIST-OBJ; + } + } + } + + grouping VRF-TABLE { + description + "Common node of rib, rib-stdby"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "Specific VRF"; + container afs { + description + "Address Family (AF) table"; + list af { + key "af-name"; + description + "Specific AF information"; + container safs { + description + "Subsequent Address Family (SAF) table"; + list saf { + key "saf-name"; + description + "Specific SAF information"; + container ip-rib-route-table-names { + description + "Global container of routes"; + list ip-rib-route-table-name { + key "route-table-name"; + description + "IP RIB Route table name for a topology"; + container routes { + description + "Route information "; + list route { + key "address prefix-length"; + description + "Route information of a specific Network + Address "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Network Address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length of the network address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + container deleted-routes { + description + "Deleted"; + list deleted-route { + key "address prefix-length"; + description + "Route information for a specific + deleted address "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Deleted network address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length of the deleted network + address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + container destination-kw { + description + "Destination KW"; + container dest-best-routes { + description + "Best Local"; + list dest-best-route { + key "address"; + description + "Best local route information for a + specific Address "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Network Address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + container dest-q-routes { + description + "Quarantine"; + list dest-q-route { + key "address prefix-length"; + description + "Route information of a specific + quarantined address "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Quarantined network address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "prefix length of the quarantined + network address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + container dest-backup-kw { + description + "Backup"; + container dest-backup-prefixes { + description + "Backup adresses prefix table"; + list dest-backup-prefix { + key "address prefix-length"; + description + "Route information of a specific + Backup Address "; + container dest-backup-routes { + description + "Backup adresses route table"; + list dest-backup-route { + key "protoid"; + description + "Route information of a specific + Backup Address and Client "; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Backup network address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "prefix length of the backup network + address"; + } + } + } + } + container dest-next-hop-routes { + description + "Resolving next hop"; + list dest-next-hop-route { + key "address"; + description + "Nexthop information for a specific + address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Network Address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + } + container protocol { + description + "Contains the classification of routes by + protocol"; + container mobile { + description + "Mobile Protocol"; + uses NON-AS; + } + container subscriber { + description + "Subscriber Protocol"; + uses NON-AS; + } + container connected { + description + "Connected Protocol"; + uses NON-AS; + } + container dagr { + description + "DAGR Protocol(Direct-Attached Gateway + Redundancy) Protocol"; + uses NON-AS; + } + container rip { + description + "RIP Protocol"; + uses NON-AS; + } + container iid-local { + description + "Internal ID Local Protocol"; + uses NON-AS; + } + container ospf { + description + "OSPF Protocol"; + uses AS; + } + container srv6-local { + description + "SRv6-Local Protocol"; + uses NON-AS; + } + container static { + description + "Static Protocol"; + uses NON-AS; + } + container rpl { + description + "RPL Protocol"; + uses AS; + } + container application { + description + "Application Protocol"; + uses NON-AS; + } + container te-client { + description + "TEClient Protocol"; + uses NON-AS; + } + container eigrp { + description + "EIGRP Protocol"; + uses AS; + } + container local { + description + "Local Protocol"; + container smiap { + description + "SMIAP"; + uses PROTOCOL-ROUTE-TABLE; + uses INFORMATION; + } + container lspv { + description + "LSPV(Label Switched Path Verification) + Protocol"; + uses PROTOCOL-ROUTE-TABLE; + uses INFORMATION; + } + uses NON-AS; + } + container bgp { + description + "BGP Protocol"; + uses AS; + } + container isis { + description + "ISIS Protocol"; + uses AS; + } + } + container opaques { + description + "Opaque information "; + list opaque { + description + "Opaque item "; + leaf opaque-client-id { + type uint32 { + range "0..2501"; + } + description + "Opaque Client ID"; + } + leaf opaque-proto-id { + type uint32 { + range "0..96"; + } + description + "Opaque Proto ID"; + } + leaf opaque-key-type { + type uint32 { + range "0..21"; + } + description + "The type of the opaque key installed + in the RIB table"; + } + leaf opaque-key-size { + type uint32 { + range "0..4294967295"; + } + description + "The size of the opaque key installed + in the RIB table"; + } + leaf opaque-data-size { + type uint32 { + range "0..4294967295"; + } + description + "The size of the opaque data installed + in the RIB table"; + } + leaf opaque-string { + type xr:Cisco-ios-xr-string; + description + "The opaque data installed in the RIB + table"; + } + uses RIB-EDM-OPAQUE-OBJ; + } + } + container q-routes { + description + "Quarantine"; + list q-route { + key "address prefix-length"; + description + "Route information for a specific + quarantined address "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Quarantined network address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length of the quarantined + network address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + container longer-route-prefixes { + description + "Longer routes prefix table"; + list longer-route-prefix { + description + "Net/mask to match longer routes"; + container longer-route-last-prefixes { + description + "Longer route last prefix table"; + list longer-route-last-prefix { + description + "Information of all matching longer + routes for a prefix/mask under a + given table"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Network Address "; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix Length "; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Network Address "; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix Length "; + } + } + } + container nexthops { + description + "Nexthop notification registerations + under a given table"; + list nexthop { + description + "List the nexthop notification + registeration under a given table"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Nexthop network address "; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length of the nexthop network + address"; + } + leaf unresolved-nh-tree { + type boolean; + description + "Unresolved Nexthop Tree"; + } + leaf exact-match { + type boolean; + description + "Exact match"; + } + leaf allow-default { + type boolean; + description + "Allow Default"; + } + leaf recurse { + type boolean; + description + "Recurse"; + } + leaf cross-table { + type boolean; + description + "Cross table nextHop"; + } + leaf pack-sfs { + type boolean; + description + "Pack SFS paths for Multicast"; + } + leaf pack-backup-paths { + type boolean; + description + "Pack backup paths"; + } + leaf backup-route { + type boolean; + description + "Backup route notifications"; + } + leaf best-metric { + type boolean; + description + "Return lowest metric"; + } + uses IPV4-RIB-EDM-NH-ADDR; + } + } + container backup-routes { + description + "Backup route information for the given + table"; + list backup-route { + key "address prefix-length protoid"; + description + "Route information for a specific backup + address "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Backup network address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length of the backup network + address"; + } + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + container adverts-list { + description + "Route advertiser information "; + container advert-prefixes { + description + "Route advertiser prefix table"; + list advert-prefix { + key "address prefix-length"; + description + "Route advertiser information of a + specific Network Address "; + container adverts { + description + "Route advertiser table"; + list advert { + key "protoid"; + description + "Route advertiser information of a + specific Network Address and Client"; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV4-RIB-EDM-ADVERT; + } + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Network Address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length of the network address"; + } + } + } + } + leaf route-table-name { + type xr:Cisco-ios-xr-string; + description + "Name of the route table"; + } + } + } + leaf saf-name { + type Rib-saf-name; + description + "Name of the SAF"; + } + } + } + leaf af-name { + type Rib-af-name; + description + "Name of the AF"; + } + } + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + } + } + } + + grouping RIB-STATS { + description + "Common node of rib, rib-stdby"; + container rib-stats { + description + "Statistics summary"; + container rib-stats-summary { + description + "Summary"; + uses IPV4-RIB-EDM-STATS-SUMMARY; + } + } + } + + grouping AS { + description + "Common node of bgp, ospf, isis, eigrp, rpl"; + list as { + key "as"; + description + "Autonomous System of protocol"; + leaf as { + type xr:Cisco-ios-xr-string; + description + "Autonomous system"; + } + uses PROTOCOL-ROUTE-TABLE; + uses INFORMATION; + } + } + + grouping RIB-RPF-LIST-TABLE { + description + "Common node of rib, rib-stdby"; + container rib-rpfs { + description + "Route prefix table"; + list rib-rpf { + key "table-id"; + description + "Table Id"; + container rib-rpf-list-routes { + description + "rpf list table route"; + list rib-rpf-list-route { + description + "Last route prefix and prefix length"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Route Address "; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix Length "; + } + uses IPV4-RIB-EDM-RPFLIST-OBJ; + } + } + container rib-rpf-list-summary-head-counts { + description + "rpf list table summary"; + list rib-rpf-list-summary-head-count { + key "rpf-head-count"; + description + "RPF Head count"; + leaf rpf-head-count { + type Rpf-head-count-range; + description + "RPF Head count"; + } + uses IPV4-RIB-EDM-RPFLIST-OBJ; + } + } + leaf table-id { + type Table-id-range-ipv4; + description + "Table ID"; + } + } + } + } + + grouping INFORMATION { + description + "Common node of as, non-as, smiap, lspv"; + container information { + description + "Protocol related Information"; + uses IPV4-RIB-EDM-PROTO; + } + } + + grouping RIB-TABLE { + description + "Common node of rib, rib-stdby"; + container rib-table-ids { + description + "RIB table"; + list rib-table-id { + key "tableid"; + description + "Specific Table"; + container summary-protos { + description + "RIB table summary"; + list summary-proto { + key "protoid"; + description + "Route summary information for a specific + table/protocol "; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses RIB-EDM-PROTO-ROUTE-SUMM-DETAIL; + } + } + container rib-table-itf-hndls { + description + "RIB table interface"; + list rib-table-itf-hndl { + key "handle"; + description + "Interface handle"; + leaf handle { + type uint32 { + range "0..4294967295"; + } + description + "Itf Handle"; + } + list itf-route { + key "address"; + description + "Route information for a specific + table/interface "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Network Address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + } + container information { + description + "Table related Information"; + uses IPV4-RIB-EDM-TABLE; + } + container rib-nexthop-prefixes { + description + "RIB table nexthop client table"; + list rib-nexthop-prefix { + description + "Route address, Prefix length"; + container rib-nexthop-routes { + description + "Nexthop route table"; + list rib-nexthop-route { + description + "Route information for a specific + table/interface"; + leaf exact-match { + type boolean; + description + "Exact Match"; + } + leaf allow-default { + type boolean; + description + "Allow Default"; + } + leaf recurse { + type boolean; + description + "Recurse"; + } + leaf cross-table { + type boolean; + description + "Cross table nextHop"; + } + leaf pack-sfs { + type boolean; + description + "Pack SFS paths for Multicast"; + } + leaf pack-backup-paths { + type boolean; + description + "Pack backup paths"; + } + leaf backup-route { + type boolean; + description + "Backup route notifications"; + } + leaf best-metric { + type boolean; + description + "Return lowest metric"; + } + uses IPV4-RIB-EDM-NH-ADDR; + } + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Route Address "; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix Length "; + } + leaf unresolved-nh-tree { + type boolean; + description + "Unresolved Nexthop Tree"; + } + } + } + container nexthops-summary { + description + "Nexthops summary"; + uses IPV4-RIB-EDM-NH-STATS; + } + leaf tableid { + type xr:Hex-integer; + description + "Table ID"; + } + } + } + } + + grouping RIB-MAX-DEPTH { + description + "Common node of rib, rib-stdby"; + container rib-max-depth { + description + "Information of maximum recursion depth in RIB"; + uses IPV4-RIB-EDM-RECURSION-DEPTH-MAX; + } + } + + grouping RIB-NH-ID-SUMMARY-TABLE { + description + "Common node of rib, rib-stdby"; + container rib-nh-id-summaries { + description + "NHIds table"; + list rib-nh-id-summary { + key "table-id"; + description + "Table Id"; + container rib-nh-ids { + description + "nhids summary"; + list rib-nh-id { + key "nh-id-entry-count"; + description + "NH Id"; + leaf nh-id-entry-count { + type Nhid-entry-count-range; + description + "NH Id entry count"; + } + uses IPV4-RIB-EDM-NHID-OBJ; + } + } + leaf table-id { + type Table-id-range-ipv4; + description + "Table Id"; + } + } + } + } + + grouping RIB-UPDATE-GROUP-TABLE { + description + "Common node of rib, rib-stdby"; + container rib-update-groups { + description + "RIB UpdateGroup table"; + list rib-update-group { + key "update-group-id"; + description + "UpdateGroup id"; + container rib-update-group-info { + description + "Information of specific updategroup"; + uses IPV4-RIB-EDM-UG; + } + leaf update-group-id { + type uint32; + description + "UpdateGroup Id"; + } + } + } + } + + grouping RIB-CLIENT-TABLE { + description + "Common node of rib, rib-stdby"; + container rib-clients { + description + "Client"; + list rib-client { + key "clientid"; + description + "Specific Client"; + container rib-client-redist-stats { + description + "Redist statistics of a specific client"; + uses IPV4-RIB-EDM-STATS-REDIST; + } + container rib-client-stats-client { + description + "Client statistics of a specific client"; + uses IPV4-RIB-EDM-CLIENT-STATS-SUMMARY; + } + container rib-client-stats { + description + "Statistics of table of a specific client"; + list rib-client-stat { + key "table-id"; + description + "Specific Table"; + container rib-client-stats-protos { + description + "Statistics of table of protocol of a + specific client"; + list rib-client-stats-proto { + key "proto-id"; + description + "Specific proto id"; + leaf proto-id { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV4-RIB-EDM-CLIENT-PROTO-STATS-SUMMARY; + } + } + leaf table-id { + type xr:Cisco-ios-xr-string; + description + "Table Id"; + } + } + } + container rib-client-stats-nexthops { + description + "Statistics of table of a specific client"; + list rib-client-stats-nexthop { + key "table-id"; + description + "Specific Table"; + leaf table-id { + type Table-id-range-ipv4; + description + "Table Id"; + } + uses IPV4-RIB-EDM-STATS-NEXTHOP; + } + } + container rib-client-proto { + description + "Information of protocols of client"; + container rib-client-proto-table-ids { + description + "Client Protocol table"; + list rib-client-proto-table-id { + key "tableid"; + description + "Table ID for a given protocol under a given + client"; + container rib-client-proto-ids { + description + "Protocols list under a given table under a + given client"; + list rib-client-proto-id { + key "protoid"; + description + "Information of protocols under a given + table under a given client"; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV4-RIB-EDM-CLIENT-PROTO; + } + } + container rib-client-proto-table-info { + description + "Information of a specifc table under a + given protocol under a given client"; + uses IPV4-RIB-EDM-CLIENT-PROTO-TABLE-INFO; + } + leaf tableid { + type xr:Cisco-ios-xr-string; + description + "Table Id"; + } + } + } + container rib-client-proto-info { + description + "Information of protocols of a specific client"; + uses IPV4-RIB-EDM-CLIENT-PROTO-INFO; + } + } + container rib-client-redist-history-opaque { + description + "Opaque History information of the table + associated with a given redist under a + specific client"; + uses IPV4-RIB-EDM-CLIENT-REDIST-OPAQUE; + } + container rib-client-stats-redist-nexthops { + description + "Statistics of nexthop table distribution"; + list rib-client-stats-redist-nexthop { + key "table-id"; + description + "Specific Table"; + leaf table-id { + type Table-id-range-ipv4; + description + "Table Id"; + } + uses IPV4-RIB-EDM-STATS-REDIST-NH; + } + } + container rib-client-info { + description + "Information for a specific client"; + uses IPV4-RIB-EDM-CLIENT; + } + container rib-client-redist-history { + description + "History information of the table associated + with a given redist under a specific client"; + uses IPV4-RIB-EDM-CLIENT-REDIST; + } + container rib-client-redists { + description + "RIB client redistribution"; + list rib-client-redist { + key "table-id"; + description + "Id of RIB client redistribution Table"; + container rib-client-redist-protos { + description + "Client proto"; + list rib-client-redist-proto { + key "proto-id"; + description + "Protocols information for a specific client"; + leaf proto-id { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV4-RIB-EDM-CLIENT-REDIST-PROTO; + } + } + container rib-client-redist-info { + description + "Information for a specific redistribution + table under a given client"; + uses IPV4-RIB-EDM-CLIENT-REDIST-TABLE; + } + leaf table-id { + type xr:Cisco-ios-xr-string; + description + "Table Id"; + } + } + } + container rib-client-stats-redists { + description + "Statistics of table distribution"; + list rib-client-stats-redist { + key "table-id"; + description + "Specific Table"; + container rib-client-stats-redist-protos { + description + "Protocol under a given table"; + list rib-client-stats-redist-proto { + key "proto-id"; + description + "Specific protocol"; + leaf proto-id { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV4-RIB-EDM-STATS-REDIST; + } + } + leaf table-id { + type Table-id-range-ipv4; + description + "Table Id"; + } + } + } + leaf clientid { + type uint32 { + range "0..2501"; + } + description + "Client ID"; + } + } + } + } + + grouping NON-AS { + description + "Common node of local, srv6-local, iid-local, + connected, rip, static, subscriber, mobile, dagr, + application, te-client"; + container non-as { + description + "Non Autonomous System of protocol"; + uses PROTOCOL-ROUTE-TABLE; + uses INFORMATION; + } + } + + grouping PROTOCOL-ROUTE-TABLE { + description + "Common node of as, non-as, smiap, lspv"; + container protocol-routes { + description + "Protocol specific Route"; + list protocol-route { + key "address prefix-length"; + description + " Route information of a specific Network + Address "; + leaf address { + type inet:ipv4-address-no-zone; + description + "Network address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix Length of the network address"; + } + uses IPV4-RIB-EDM-ROUTE; + } + } + } + + grouping RIB-UPDATE-GROUP-PRUNED-NODES { + description + "Common node of rib, rib-stdby"; + container rib-update-group-pruned-nodes { + description + "Information of updategroup pruned nodes"; + container rib-update-group-pruned-nodes-info { + description + "Information of updategroup pruned nodes"; + uses IPV4-RIB-EDM-UG-PRUNED-NODES; + } + } + } + + container rib-stdby { + config false; + description + "RIB standby node operational data"; + uses RIB-NH-ID-HISTORY-TABLE; + uses RIB-UPDATE-GROUP-TABLE; + uses RIB-UPDATE-GROUP-PRUNED-NODES; + uses VRF-TABLE; + uses RIB-TABLE; + uses RIB-RPF-LIST-TABLE; + uses RIB-NH-ID-SUMMARY-TABLE; + uses RIB-STATS; + uses RIB-MAX-DEPTH; + uses RIB-CLIENT-TABLE; + } + container rib { + config false; + description + "RIB operational data"; + uses RIB-NH-ID-HISTORY-TABLE; + uses RIB-UPDATE-GROUP-TABLE; + uses RIB-UPDATE-GROUP-PRUNED-NODES; + uses VRF-TABLE; + uses RIB-TABLE; + uses RIB-RPF-LIST-TABLE; + uses RIB-NH-ID-SUMMARY-TABLE; + uses RIB-STATS; + uses RIB-MAX-DEPTH; + uses RIB-CLIENT-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub1.yang new file mode 100644 index 000000000..11dfff06b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub1.yang @@ -0,0 +1,4355 @@ +submodule Cisco-IOS-XR-ip-rib-ipv6-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-rib-ipv6-oper { + prefix Cisco-IOS-XR-ip-rib-ipv6-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-rib-ipv6 package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-03 { + description + "Add SID resource usage information + 2021-12-16 + Added VNI to ip tunnel info path attribute + 2021-11-26 + Add IID Local to known Protocol Types, and sync with existing types in ipv4-oper + 2021-11-25 + Added is delayed delete flag on routes local SID list + 2021-10-29 + Added Opaque redistribution history + 2021-09-24 + New path vpn attribute for ip tunnels"; + semver:module-version "4.1.1m"; + } + revision 2021-08-08 { + description + "SRv6 uSID context extended with uDX + 2021-07-20 + Flexible Algorithm attribute added to IP Route + 2021-06-24 + IID context extended with EVPN ELAN support SRv6 SID context extended with EVPN ELAN support uDT2U uDT2M EndDT2U EndDT2M L2 Path attribute extended with support for Split Horizong Group and BridgeID + 2021-03-31 + SRv6 SID Manager include per operation mode block parameters + 2021-03-25 + Add FIB redistribution flag to route bag + 2021-03-14 + SRv6 SID context extensions"; + semver:module-version "4.1.0"; + } + revision 2020-12-11 { + description + "Add forwarding sidlist + 2020-09-30 + Nexthop notification model now includes client specific registration flags + 2020-09-24 + Changes to SRv6 uSID platform capabilities + 2020-07-24 + SRv6 uSID context extended for evpn"; + semver:module-version "4.0.0"; + } + revision 2020-05-29 { + description + "Updated the max number of elements for opaque stats to 16 Extended rib edm path to include IID info and SID Format type + 2020-04-30 + Updated sidmgr oper to add contexts for F1 SID: DT6, DX6 + 2020-04-02 + Increased path_num size in redist hist route bag to 16 bits + 2019-12-05 + Extended SidMgr info to include uSID platform capabilities + 2019-11-21 + Extended SidMgr info to include flag string and anycast flag"; + semver:module-version "3.0.0"; + } + revision 2019-11-05 { + description + "Extended Nexthop and NexhopPrefix paths to include all by NH flags + 2019-10-22 + Extended rib_edm_client_stats_summary to include client stats on bcdl ugs Extended rib_edm_local_label to support AIB prefer Added EDM support for large SID stack Extended rib_edm_path to include recursion length field Extended rib_edm_path to include metric field Extended iidmgr_summary to include oor summary info Extended rib_edm_route to include l3 route type field"; + semver:module-version "2.0.0"; + } + revision 2019-06-28 { + description + "Fixed NexthopPrefix path"; + semver:module-version "1.0.0"; + } + revision 2019-06-15 { + description + "Fixed IPv6 Address format for Nexthops"; + } + revision 2019-06-08 { + description + "Added RPF list and NHIDs"; + } + revision 2019-05-30 { + description + "Fixed adverts and backup paths"; + } + revision 2019-05-17 { + description + "Added Nexthops Summary, Nexthop Route, Longer Routes, Redist Clients and Client Stasts"; + } + revision 2019-04-25 { + description + "Updated yang schema to extend Native Yang model for the data exposed via CLI"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-02-21 { + description + "Yang evaluator: updates to schema descriptions and ranges"; + } + revision 2019-01-11 { + description + "Route lookup key is limited to Prefix and Prefix Length"; + } + revision 2018-11-20 { + description + "Add keys for route lookup via restconf."; + } + revision 2018-11-06 { + description + "Support Algorithm Label List per route"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rib-opaque { + type enumeration { + enum "opaque-attribute" { + value 0; + description + "opaque attribute"; + } + enum "opaque-ipfrr" { + value 1; + description + "opaque ipfrr"; + } + enum "opaque-ip-nh" { + value 2; + description + "opaque ip nh"; + } + enum "opaque-tunnel-nh" { + value 3; + description + "opaque tunnel nh"; + } + enum "opaque-tunnel-safi" { + value 4; + description + "opaque tunnel safi"; + } + enum "opaque-virtual-ll-address" { + value 5; + description + "opaque virtual ll address"; + } + enum "opaque-lisp" { + value 6; + description + "opaque lisp"; + } + enum "opaque-tep-vxlan" { + value 7; + description + "opaque tep vxlan"; + } + enum "opaque-tep-bgp" { + value 8; + description + "opaque tep bgp"; + } + enum "opaque-cofo-s-label" { + value 9; + description + "opaque cofo s label"; + } + enum "opaque-cofo-nnh-if" { + value 10; + description + "opaque cofo nnh if"; + } + enum "opaque-cofo-mcast" { + value 11; + description + "opaque cofo mcast"; + } + enum "opaque-label-range" { + value 12; + description + "opaque label range"; + } + enum "opaque-tep" { + value 13; + description + "opaque tep"; + } + enum "opaque-ipv4-adj" { + value 14; + description + "opaque ipv4 adj"; + } + enum "opaque-ipv6-adj" { + value 15; + description + "opaque ipv6 adj"; + } + enum "opaque-sfi" { + value 16; + description + "opaque sfi"; + } + enum "opaque-ltep" { + value 17; + description + "opaque ltep"; + } + enum "opaque-rtep" { + value 18; + description + "opaque rtep"; + } + enum "opaque-encap-id" { + value 19; + description + "opaque encap id"; + } + enum "opaque-policy" { + value 20; + description + "opaque policy"; + } + enum "opaque-max" { + value 21; + description + "opaque max"; + } + } + description + "Rib opaque"; + } + + typedef Mgmt-srv6-headend { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "transit" { + description + "T (Pure transit)"; + } + enum "h-insert" { + description + "H.Insert"; + } + enum "h-insert-red" { + description + "H.Insert.Red"; + } + enum "h-encaps" { + description + "H.Encaps"; + } + enum "h-encaps-red" { + description + "H.Encaps.Red"; + } + enum "h-encaps-l2" { + description + "H.Encaps.L2"; + } + enum "h-encaps-l2-red" { + description + "H.Encaps.L2.Red"; + } + } + description + "SRv6 Headend Behavior Type"; + } + + typedef Rib-edm-nnh { + type enumeration { + enum "unknown" { + description + "Unknown - Invalid"; + } + enum "ipv4-address" { + description + "IPv4 Address"; + } + enum "if-index" { + description + "Interface Index"; + } + } + description + "Rib edm nnh"; + } + + typedef Mgmt-srv6-sid-fmt { + type enumeration { + enum "none" { + description + "No format"; + } + enum "base" { + description + "Base Format"; + } + enum "f3216" { + description + "Micro-segment F3216 Format"; + } + } + description + "SRv6 SID Format Type"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Ipv6-rib-edm-addr { + type inet:ipv6-address; + description + "Ipv6 rib edm addr"; + } + + grouping IPV6-RIB-EDM-UG-PRUNED-NODES { + description + "RIB updategroup pruned nodes information"; + leaf num-pruned-nodes { + type uint32; + description + "Number of pruned nodes"; + } + list pruned-node { + max-elements "256"; + description + "Pruned nodes ID"; + leaf entry { + type uint32; + description + "Pruned nodes ID"; + } + } + } + + grouping IPV6-RIB-EDM-NHID-OBJ { + description + "Information of nhid objects"; + leaf nhid { + type uint32; + description + "nhid"; + } + leaf feid { + type uint64; + description + "feid"; + } + leaf nh-addr { + type Ipv6-rib-edm-addr; + description + "nh addr"; + } + leaf ifindex { + type xr:Interface-name; + description + "ifindex"; + } + leaf chkpt-obj-id { + type uint32; + description + "chkpt obj id"; + } + leaf ref-count { + type uint32; + description + "ref count"; + } + leaf feature-type { + type uint8; + description + "feature type"; + } + } + + grouping RIB-EDM-STATS-GRID-SUMMARY { + description + "RIB EDM STATS GRID SUMMARY"; + leaf num-in-queue { + type uint32; + description + "num in queue"; + } + leaf num-enqueue { + type uint32; + description + "num enqueue"; + } + leaf num-dequeue { + type uint32; + description + "num dequeue"; + } + leaf num-enqueue-del-skipped { + type uint32; + description + "num enqueue del skipped"; + } + leaf num-requeue { + type uint32; + description + "num requeue"; + } + leaf num-enqueue-del-with-ref { + type uint32; + description + "num enqueue del with ref"; + } + } + + grouping RIB-EDM-STATS-NH-BATCH-SUMMARY { + description + "RIB batch nexthop statistics informatio"; + leaf total-nh-batch-requests { + type uint32; + description + "total nh batch requests"; + } + leaf total-nh-operations { + type uint32; + description + "total nh operations"; + } + leaf batch-init { + type uint32; + description + "batch init"; + } + leaf batch-register { + type uint32; + description + "batch register"; + } + leaf batch-unregister { + type uint32; + description + "batch unregister"; + } + leaf register-complete { + type uint32; + description + "register complete"; + } + leaf sync-register { + type uint32; + description + "sync register"; + } + leaf batch-finish { + type uint32; + description + "batch finish"; + } + leaf batch-null { + type uint32; + description + "batch null"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-client { + type uint32; + description + "last client"; + } + leaf last-nh-operation { + type uint32; + description + "last nh operation"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-nh-time { + type uint64; + description + "last nh time"; + } + } + + grouping RIB-EDM-STATS-LWM-SUMMARY { + description + "RIB EDM STATS LWM SUMMARY"; + leaf total-lwm { + type uint32; + description + "total lwm"; + } + leaf route-add { + type uint32; + description + "route add"; + } + leaf route-delete { + type uint32; + description + "route delete"; + } + leaf purge-protocol { + type uint32; + description + "purge protocol"; + } + leaf purge-client { + type uint32; + description + "purge client"; + } + leaf protocol-register { + type uint32; + description + "protocol register"; + } + leaf protocol-unregister { + type uint32; + description + "protocol unregister"; + } + leaf protocol-modify { + type uint32; + description + "protocol modify"; + } + leaf redist-proto { + type uint32; + description + "redist proto"; + } + leaf unreg-redist-proto { + type uint32; + description + "unreg redist proto"; + } + leaf redist-reset { + type uint32; + description + "redist reset"; + } + leaf update-complete { + type uint32; + description + "update complete"; + } + leaf advertisement { + type uint32; + description + "advertisement"; + } + leaf unreg-advertisement { + type uint32; + description + "unreg advertisement"; + } + leaf next-hop-register { + type uint32; + description + "next hop register"; + } + leaf next-hop-unregister { + type uint32; + description + "next hop unregister"; + } + leaf bind-data { + type uint32; + description + "bind data"; + } + leaf succcess { + type uint32; + description + "succcess"; + } + leaf route-lookup { + type uint32; + description + "route lookup"; + } + leaf best-local-addr { + type uint32; + description + "best local addr"; + } + leaf is-connected { + type uint32; + description + "is connected"; + } + leaf first-hop { + type uint32; + description + "first hop"; + } + leaf find-proto { + type uint32; + description + "find proto"; + } + leaf free-all-srv6-sid { + type uint32; + description + "free all srv6 sid"; + } + leaf other { + type uint32; + description + "other"; + } + leaf last-client { + type uint32; + description + "last client"; + } + leaf last-operation { + type uint32; + description + "last operation"; + } + leaf last-oper-result { + type boolean; + description + "last oper result"; + } + leaf last-lwm-time { + type uint64; + description + "last lwm time"; + } + } + + grouping RIB-EDM-STATS-BATCH-SUMMARY { + description + "RIB Batch statistic information"; + leaf total-msg-rx { + type uint32; + description + "total msg rx"; + } + leaf route-op-arg-rx { + type uint32; + description + "route op arg rx"; + } + leaf attribute-arg-rx { + type uint32; + description + "attribute arg rx"; + } + leaf complete-arg-rx { + type uint32; + description + "complete arg rx"; + } + leaf converge-arg-rx { + type uint32; + description + "converge arg rx"; + } + leaf opaque-arg-rx { + type uint32; + description + "opaque arg rx"; + } + leaf total-fwd-ref { + type uint32; + description + "total fwd ref"; + } + leaf invalid-client-id-error { + type uint32; + description + "invalid client id error"; + } + leaf mem-alloc-error { + type uint32; + description + "mem alloc error"; + } + leaf client-lookup-error { + type uint32; + description + "client lookup error"; + } + leaf db-lookup-error { + type uint32; + description + "db lookup error"; + } + leaf proto-lookup-error { + type uint32; + description + "proto lookup error"; + } + leaf client-proto-lookup-error { + type uint32; + description + "client proto lookup error"; + } + leaf table-missing-error { + type uint32; + description + "table missing error"; + } + leaf unknown-arg { + type uint32; + description + "unknown arg"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type uint32; + description + "last result"; + } + leaf last-operation { + type uint32; + description + "last operation"; + } + leaf last-client { + type uint32; + description + "last client"; + } + leaf last-msg-rx-time { + type uint64; + description + "last msg rx time"; + } + } + + grouping IPV6-RIB-EDM-STATS-SUMMARY { + description + "Summary of RIB statistic information"; + container batch-stats { + description + "batch stats"; + uses RIB-EDM-STATS-BATCH-SUMMARY; + } + container lwm-stats { + description + "lwm stats"; + uses RIB-EDM-STATS-LWM-SUMMARY; + } + container nh-batch-stats { + description + "nh batch stats"; + uses RIB-EDM-STATS-NH-BATCH-SUMMARY; + } + container grid-stats { + description + "grid stats"; + uses RIB-EDM-STATS-GRID-SUMMARY; + } + } + + grouping RIB-EDM-RPF-NBR-OBJ { + description + "Information of the rpf nbr data"; + leaf afi { + type uint8; + description + "afi"; + } + leaf ip-address { + type Ipv6-rib-edm-addr; + description + "ip address"; + } + } + + grouping IPV6-RIB-EDM-RPFLIST-OBJ { + description + "Informaton of rpf list objects"; + leaf label { + type uint32; + description + "label"; + } + leaf flags { + type uint32; + description + "flags"; + } + leaf ref-count { + type uint32; + description + "ref count"; + } + leaf sent-to-fib { + type boolean; + description + "sent to fib"; + } + list nbr { + description + "nbr"; + uses RIB-EDM-RPF-NBR-OBJ; + } + } + + grouping IPV6-RIB-EDM-CLIENT-PROTO-TABLE-INFO { + description + "Information on table-specific client protocols"; + leaf num-protos-outsync { + type uint32; + description + "Count of out-of-sync protocols"; + } + leaf update-time { + type uint64; + units "nanosecond"; + description + "Time of last update (nanoseconds)"; + } + leaf afi { + type uint32; + description + "Address Family"; + } + leaf safi { + type uint32; + description + "sub Address Family"; + } + leaf vrf-name { + type string; + description + "VRF Name of the table"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-PROTO { + description + "Information on a client proto"; + leaf protocol-names { + type string; + description + "Name of proto"; + } + leaf proto-instance { + type string; + description + "Instance of proto"; + } + leaf distance { + type uint32; + description + "Route distane for the protocol"; + } + leaf maxmetric { + type uint32; + description + "Route metric for the protocol"; + } + leaf purgetime { + type uint32; + description + "Route purgetime"; + } + leaf update-complete { + type boolean; + description + "Has the client finished updating"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-PROTO-INFO { + description + "Information on client protocols"; + leaf num-protos-outsync { + type uint32; + description + "Count of out-of-sync protocols"; + } + leaf update-time { + type uint32; + units "second"; + description + "Time of last update in seconds"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-HISTORY-ROUTE { + description + "Route information for history purposes"; + list ipv6-rib-edm-client-history-route { + description + "Next route"; + container advertisement { + description + "list of advertising protos"; + uses IPV6-RIB-EDM-ADVERT; + } + leaf prefix { + type Ipv6-rib-edm-addr; + description + "Route prefix"; + } + leaf prefix-length { + type uint8; + description + "Length of prefix"; + } + leaf priority { + type uint8; + description + "Priority of update"; + } + leaf flags { + type uint32; + description + "Route flags"; + } + leaf source { + type uint32; + description + "source"; + } + leaf table-id { + type uint32; + description + "table identifier"; + } + leaf distance { + type uint32; + description + "Administrative distance"; + } + leaf metric { + type uint32; + description + "Route metric"; + } + leaf local-label { + type uint32; + description + "Route local label"; + } + leaf path-num { + type uint16; + description + "Number of paths"; + } + leaf nnh-num { + type uint16; + description + "Number of NNHs"; + } + leaf route-age { + type uint32; + units "second"; + description + "Age of event (seconds)"; + } + leaf route-modify-time { + type uint64; + units "nanosecond"; + description + "Time of event (nanoseconds)"; + } + leaf private-flags { + type uint16; + description + "Route head private flags"; + } + leaf number-of-srv6-sids { + type uint16; + description + "Number of SRv6 Segment Identifiers"; + } + leaf converge { + type uint8; + description + "Redist table converged"; + } + leaf code { + type int8; + description + "Protocol code"; + } + leaf outsync { + type uint32; + description + "Last packed outsync prio"; + } + } + } + + grouping IPV6-RIB-EDM-CLIENT-REDIST { + description + "General info. on a client's redistribution"; + container routes { + description + "Link to history routes"; + uses IPV6-RIB-EDM-CLIENT-HISTORY-ROUTE; + } + leaf num-tables-outsync { + type uint32; + description + "Num tables to get updates from"; + } + leaf num-history-routes { + type uint32; + description + "Number of history routes"; + } + } + + grouping IPV6-RIB-EDM-CLIENT { + description + "Rib client information"; + leaf pname { + type string; + description + "Client's name"; + } + leaf nodename { + type string; + description + "Node client process is running on"; + } + leaf pid { + type uint32; + description + "Client's process ID"; + } + leaf redist { + type boolean; + description + "Is client registered for redist"; + } + leaf proto { + type boolean; + description + "Is client registered as a protocol"; + } + leaf client-id { + type uint32; + description + "Client's RIB ID number"; + } + leaf redist-opaques { + type boolean; + description + "Is client registered for redist of opaques"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-REDIST-PROTO { + description + "Information on a client's redist of a proto"; + leaf insync { + type boolean; + description + "Is this in sync or not?"; + } + leaf protocol-names { + type string; + description + "Name of proto it is redistributing"; + } + leaf proto-instance { + type string; + description + "Instance of redistributed proto"; + } + leaf updatemode { + type uint32; + description + "Type of route information getting redistributed"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-REDIST-TABLE { + description + "Information on a client's redistribution of a + table"; + leaf full-table { + type boolean; + description + "Full table redistrbution or not?"; + } + leaf insync { + type uint32; + description + "Is this is sync or not?"; + } + leaf afi { + type uint32; + description + "Address Family"; + } + leaf safi { + type uint32; + description + "sub Address Family"; + } + leaf vrf-name { + type string; + description + "VRF Name of the table"; + } + leaf updatemode { + type uint32; + description + "Update type in route registration"; + } + } + + grouping RIB-EDM-STATS-REDIST-SRV6 { + description + "SRv6 redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping RIB-EDM-STATS-REDIST-OPAQUE { + description + "Opaque redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf total-tbl-entries { + type uint32; + description + "total tbl entries"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping RIB-EDM-STATS-REDIST-ATTR { + description + "Attribe redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf total-tbl-entries { + type uint32; + description + "total tbl entries"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping RIB-EDM-STATS-REDIST-ROUTE { + description + "Route redistribution statistics"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf update-sent { + type uint32; + description + "update sent"; + } + leaf paths-sent { + type uint32; + description + "paths sent"; + } + leaf prefixes-deleted { + type uint32; + description + "prefixes deleted"; + } + leaf total-advertisment { + type uint32; + description + "total advertisment"; + } + leaf last-redist-delete { + type boolean; + description + "last redist delete"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping IPV6-RIB-EDM-STATS-REDIST { + description + "Redistribution statistics"; + container route { + description + "route"; + uses RIB-EDM-STATS-REDIST-ROUTE; + } + container attr { + description + "attr"; + uses RIB-EDM-STATS-REDIST-ATTR; + } + container srv6 { + description + "srv6"; + uses RIB-EDM-STATS-REDIST-SRV6; + } + leaf protocol-name { + type string; + description + " Name of Protocol"; + } + leaf instance { + type string; + description + "Instance name"; + } + list opaque-stat { + max-elements "21"; + description + "opaque stat"; + uses RIB-EDM-STATS-REDIST-OPAQUE; + } + } + + grouping RIB-EDM-STATS-CLIENT-UG-START { + description + "BCDL update group notify timer statistics"; + leaf bcdl-ug-notify-num-not-started { + type uint32; + description + "bcdl ug notify num not started"; + } + leaf bcdl-ug-last-notify-not-started-time { + type uint64; + description + "bcdl ug last notify not started time"; + } + } + + grouping RIB-EDM-STATS-CLIENT-FIB-UG-UPD { + description + "FIB update group updates statistics"; + leaf fib-ug-updates { + type uint32; + description + "fib ug updates"; + } + leaf fib-ug-total-nodes { + type uint32; + description + "fib ug total nodes"; + } + } + + grouping RIB-EDM-STATS-CLIENT-LOOKUPS { + description + "Lookup statistics"; + leaf best-local-address { + type uint32; + description + "best local address"; + } + leaf is-connected { + type uint32; + description + "is connected"; + } + leaf route-lookups { + type uint32; + description + "route lookups"; + } + leaf next-hop-lookups { + type uint32; + description + "next hop lookups"; + } + leaf default-source { + type uint32; + description + "default source"; + } + } + + grouping RIB-EDM-STATS-CLIENT-ATTRIBUTE { + description + "Attribute operation statistics"; + leaf total-registration { + type uint32; + description + "total registration"; + } + leaf total-add { + type uint32; + description + "total add"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping RIB-EDM-STATS-CLIENT-REDIST-TBL { + description + "Table redistribution statistics"; + leaf total-table-redist { + type uint32; + description + "total table redist"; + } + leaf table-created { + type uint32; + description + "table created"; + } + leaf table-full { + type uint32; + description + "table full"; + } + leaf has-space { + type uint32; + description + "has space"; + } + leaf last-redist { + type uint8; + description + "last redist"; + } + leaf last-redist-time { + type uint64; + description + "last redist time"; + } + } + + grouping RIB-EDM-STATS-CLIENT-TBL { + description + "Table operation statistics"; + leaf total-table-register { + type uint32; + description + "total table register"; + } + leaf new-table { + type uint32; + description + "new table"; + } + leaf modification { + type uint32; + description + "modification"; + } + leaf deletion { + type uint32; + description + "deletion"; + } + leaf cl-lookup-err { + type uint32; + description + "cl lookup err"; + } + leaf tbl-lookup-err { + type uint32; + description + "tbl lookup err"; + } + leaf invalid-id-lookup-err { + type uint32; + description + "invalid id lookup err"; + } + leaf tbl-create-err { + type uint32; + description + "tbl create err"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping RIB-EDM-STATS-CLIENT-REDIST { + description + "Client redistribution stats"; + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + } + + grouping EVT-HIST-ENTRY { + description + "Event history Entry"; + leaf evt-timestamp { + type string; + description + "The timestamp of the event"; + } + leaf evt-name { + type string; + description + "Event name"; + } + leaf evt-type { + type uint8; + description + "Event type"; + } + leaf evt-many { + type boolean; + description + "Multiple instance flag"; + } + leaf evt-sticky { + type boolean; + description + "Sticky flag"; + } + list evt-data { + description + "Optional data"; + leaf entry { + type uint32; + description + "Optional data"; + } + } + } + + grouping EVT-HIST-INFO { + description + "Per object event history"; + leaf evt-class-name { + type string; + description + "Class name string"; + } + list evt-entry { + description + "Array of event entries"; + uses EVT-HIST-ENTRY; + } + } + + grouping RIB-EDM-STATS-CLIENT-NOTF { + description + "RIB pulse statistics"; + container evt-hist { + description + "evt hist"; + uses EVT-HIST-INFO; + } + leaf total-notifications { + type uint32; + description + "total notifications"; + } + leaf clear { + type uint32; + description + "clear"; + } + leaf nexthop-critical { + type uint32; + description + "nexthop critical"; + } + leaf nexthop-noncritical { + type uint32; + description + "nexthop noncritical"; + } + leaf nexthop-converge { + type uint32; + description + "nexthop converge"; + } + leaf redist-register { + type uint32; + description + "redist register"; + } + leaf redist-reset { + type uint32; + description + "redist reset"; + } + leaf preceeding-client { + type uint32; + description + "preceeding client"; + } + leaf redist-list { + type uint32; + description + "redist list"; + } + leaf gc-proto { + type uint32; + description + "gc proto"; + } + leaf gc-db { + type uint32; + description + "gc db"; + } + leaf gc-attribute { + type uint32; + description + "gc attribute"; + } + leaf table-event { + type uint32; + description + "table event"; + } + leaf feedback-cookie { + type uint32; + description + "feedback cookie"; + } + leaf fib-ug-update { + type uint32; + description + "fib ug update"; + } + leaf critical { + type uint32; + description + "critical"; + } + leaf non-critical { + type uint32; + description + "non critical"; + } + leaf delay-timer { + type uint32; + description + "delay timer"; + } + leaf skip-notification { + type uint32; + description + "skip notification"; + } + leaf end-of-data { + type uint32; + description + "end of data"; + } + leaf disconnect { + type uint32; + description + "disconnect"; + } + leaf srv6-redist-register { + type uint32; + description + "srv6 redist register"; + } + leaf srv6-cfg-updt { + type uint32; + description + "srv6 cfg updt"; + } + leaf srv6-opcode-updt { + type uint32; + description + "srv6 opcode updt"; + } + leaf state-sync-done { + type uint32; + description + "state sync done"; + } + leaf last-notification { + type uint64; + description + "last notification"; + } + leaf last-eod { + type uint64; + description + "last eod"; + } + leaf total-pulse { + type uint64; + description + "total pulse"; + } + leaf total-select { + type uint64; + description + "total select"; + } + leaf total-read { + type uint64; + description + "total read"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-STATS-SUMMARY { + description + "Summary of RIB client statistics"; + container notification { + description + "notification"; + uses RIB-EDM-STATS-CLIENT-NOTF; + } + container redist { + description + "redist"; + uses RIB-EDM-STATS-CLIENT-REDIST; + } + container tbl-stats { + description + "tbl stats"; + uses RIB-EDM-STATS-CLIENT-TBL; + } + container redist-tbl { + description + "redist tbl"; + uses RIB-EDM-STATS-CLIENT-REDIST-TBL; + } + container attribute { + description + "attribute"; + uses RIB-EDM-STATS-CLIENT-ATTRIBUTE; + } + container lookups { + description + "lookups"; + uses RIB-EDM-STATS-CLIENT-LOOKUPS; + } + container fib-ug { + description + "fib ug"; + uses RIB-EDM-STATS-CLIENT-FIB-UG-UPD; + } + container ug-start-stats { + description + "ug start stats"; + uses RIB-EDM-STATS-CLIENT-UG-START; + } + leaf client-id { + type uint32; + description + "client id"; + } + } + + grouping IPV6-RIB-EDM-STATS-REDIST-NH { + description + "Nexthop redistribution statistics"; + leaf table-id-xr { + type uint32; + description + "table id xr"; + } + leaf vrf-name { + type string; + description + "vrf name"; + } + leaf total-redist { + type uint32; + description + "total redist"; + } + leaf total-converge { + type uint32; + description + "total converge"; + } + leaf total-suppress { + type uint32; + description + "total suppress"; + } + leaf last-redist { + type uint64; + description + "last redist"; + } + leaf total-converge-sent { + type uint32; + description + "total converge sent"; + } + leaf last-converge { + type uint64; + description + "last converge"; + } + leaf last-converge-sent { + type uint64; + description + "last converge sent"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-HISTORY-OPAQUE { + description + "Opaque information for history purposes"; + list ipv6-rib-edm-client-history-opaque { + description + "Next opaque"; + leaf type { + type Rib-opaque; + description + "Opaque Type"; + } + leaf decoded-key { + type string; + description + "Decoded opaque key string"; + } + leaf is-deleted { + type boolean; + description + "Opaque is deleted"; + } + leaf opaque-modify-time { + type string; + description + "Timestamp of event"; + } + leaf table-id { + type uint32; + description + "table identifier"; + } + } + } + + grouping IPV6-RIB-EDM-CLIENT-REDIST-OPAQUE { + description + "Client redistribution information for opaques"; + container opaques { + description + "Link to history opaques"; + uses IPV6-RIB-EDM-CLIENT-HISTORY-OPAQUE; + } + leaf num-history-opaques { + type uint32; + description + "Number of history opaques"; + } + } + + grouping RIB-EDM-STATS-OPAQUE { + description + "Opaqaue statistics"; + leaf total-registration { + type uint32; + description + "total registration"; + } + leaf total-add { + type uint32; + description + "total add"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping IPV6-RIB-EDM-STATS-NEXTHOP { + description + "Nexthop notification statistics"; + leaf table-id-xr { + type uint32; + description + "table id xr"; + } + leaf vrf-name { + type string; + description + "vrf name"; + } + leaf total-next-hop-reg { + type uint32; + description + "total next hop reg"; + } + leaf total-next-hop-unreg { + type uint32; + description + "total next hop unreg"; + } + leaf total-sync-reg { + type uint32; + description + "total sync reg"; + } + leaf last-registration { + type uint64; + description + "last registration"; + } + } + + grouping RIB-EDM-STATS-PURGE { + description + "Purge statistics"; + leaf total-purges { + type uint32; + description + "total purges"; + } + leaf total-prefix-deleted { + type uint32; + description + "total prefix deleted"; + } + leaf total-paths-deleted { + type uint32; + description + "total paths deleted"; + } + leaf last-purge { + type uint64; + description + "last purge"; + } + } + + grouping RIB-EDM-STATS-COMPLETE-UPDATE { + description + "Batch complete update statistic"; + leaf total-complete { + type uint32; + description + "total complete"; + } + leaf insync { + type uint32; + description + "insync"; + } + leaf last-insync { + type uint64; + description + "last insync"; + } + leaf bad-args { + type uint32; + description + "bad args"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-complete-msg { + type uint64; + description + "last complete msg"; + } + } + + grouping RIB-EDM-STATS-BATCH-CONVERGE { + description + "Batch converge operation statistics"; + leaf total-converge { + type uint32; + description + "total converge"; + } + leaf insync { + type uint32; + description + "insync"; + } + leaf last-insync { + type uint64; + description + "last insync"; + } + leaf bad-args { + type uint32; + description + "bad args"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-converge-msg { + type uint64; + description + "last converge msg"; + } + } + + grouping RIB-EDM-STATS-BATCH-COMPLETE { + description + "Batch complete operation statistic"; + leaf total-complete { + type uint32; + description + "total complete"; + } + leaf insync { + type uint32; + description + "insync"; + } + leaf last-insync { + type uint64; + description + "last insync"; + } + leaf last-complete-msg { + type uint64; + description + "last complete msg"; + } + } + + grouping RIB-EDM-STATS-ADVERTISEMENT { + description + "Advertisement statistic"; + leaf total-adv { + type uint32; + description + "total adv"; + } + leaf new-adv { + type uint32; + description + "new adv"; + } + leaf modification { + type uint32; + description + "modification"; + } + leaf delete { + type uint32; + description + "delete"; + } + leaf success { + type uint32; + description + "success"; + } + leaf last-result { + type boolean; + description + "last result"; + } + leaf last-adv-time { + type uint64; + description + "last adv time"; + } + } + + grouping RIB-EDM-STATS-ROUTE-OP { + description + "Route operation statistics"; + leaf paths-add-op { + type uint32; + description + "paths add op"; + } + leaf prefix-added { + type uint32; + description + "prefix added"; + } + leaf paths-added { + type uint32; + description + "paths added"; + } + leaf prefix-modified-add { + type uint32; + description + "prefix modified add"; + } + leaf paths-delete-op { + type uint32; + description + "paths delete op"; + } + leaf prefix-deleted { + type uint32; + description + "prefix deleted"; + } + leaf paths-deleted { + type uint32; + description + "paths deleted"; + } + leaf prefix-modified-del { + type uint32; + description + "prefix modified del"; + } + leaf prefix-flushed { + type uint32; + description + "prefix flushed"; + } + leaf paths-flushed { + type uint32; + description + "paths flushed"; + } + leaf invalid-op { + type uint32; + description + "invalid op"; + } + leaf flushed { + type uint32; + description + "flushed"; + } + leaf too-manypaths { + type uint32; + description + "too manypaths"; + } + leaf invalid-parameter { + type uint32; + description + "invalid parameter"; + } + leaf no-ecmp-support { + type uint32; + description + "no ecmp support"; + } + leaf mem-alloc-error { + type uint32; + description + "mem alloc error"; + } + leaf path-backup { + type uint32; + description + "path backup"; + } + leaf path-active { + type uint32; + description + "path active"; + } + leaf path-change { + type uint32; + description + "path change"; + } + leaf path-nochange { + type uint32; + description + "path nochange"; + } + leaf table-limit { + type uint32; + description + "table limit"; + } + leaf outsync { + type uint32; + description + "outsync"; + } + leaf last-outsync { + type uint64; + description + "last outsync"; + } + leaf last-route-opt { + type uint16; + description + "last route opt"; + } + leaf last-result { + type uint32; + description + "last result"; + } + leaf last-opt-time { + type uint64; + description + "last opt time"; + } + leaf attribute-not-found { + type uint32; + description + "attribute not found"; + } + leaf last-attribute-not-found-time { + type uint64; + description + "last attribute not found time"; + } + leaf num-fb-cookies { + type uint32; + description + "num fb cookies"; + } + leaf last-fb-cookie-op { + type uint64; + description + "last fb cookie op"; + } + leaf invalid-path-combination { + type uint32; + description + "invalid path combination"; + } + leaf invalid-pathid-change { + type uint32; + description + "invalid pathid change"; + } + leaf path-attribute-too-large { + type uint32; + description + "path attribute too large"; + } + } + + grouping IPV6-RIB-EDM-CLIENT-PROTO-STATS-SUMMARY { + description + "Summary of RIB client protocol statistic summary"; + container route-op-stats { + description + "route op stats"; + uses RIB-EDM-STATS-ROUTE-OP; + } + container adv { + description + "adv"; + uses RIB-EDM-STATS-ADVERTISEMENT; + } + container complete-stats { + description + "complete stats"; + uses RIB-EDM-STATS-BATCH-COMPLETE; + } + container converge-stats { + description + "converge stats"; + uses RIB-EDM-STATS-BATCH-CONVERGE; + } + container complete-update-stats { + description + "complete update stats"; + uses RIB-EDM-STATS-COMPLETE-UPDATE; + } + container purge-stats { + description + "purge stats"; + uses RIB-EDM-STATS-PURGE; + } + container nh-stats { + description + "nh stats"; + uses IPV6-RIB-EDM-STATS-NEXTHOP; + } + leaf protocol-name { + type string; + description + " Name of Protocol"; + } + leaf instance { + type string; + description + "Instance name"; + } + list opaque-stat { + max-elements "21"; + description + "opaque stat"; + uses RIB-EDM-STATS-OPAQUE; + } + } + + grouping IPV6-RIB-EDM-NHID-HIST-OBJ { + description + "Information of nhid history objects"; + leaf nhid { + type uint32; + description + "nhid"; + } + leaf nh-addr { + type Ipv6-rib-edm-addr; + description + "nh addr"; + } + leaf ifindex { + type xr:Interface-name; + description + "ifindex"; + } + leaf tableid { + type uint32; + description + "tableid"; + } + leaf operation { + type uint32; + description + "operation"; + } + leaf update { + type uint32; + description + "update"; + } + leaf oper-time { + type uint64; + description + "oper time"; + } + leaf feature-type { + type uint8; + description + "feature type"; + } + leaf chkpt-obj-id { + type uint32; + description + "chkpt obj id"; + } + } + + grouping IPV6-RIB-EDM-UG { + description + "RIB updategroup information"; + leaf ug-id { + type uint32; + description + "Update Group ID"; + } + leaf client-id { + type uint32; + description + "ClientId associated with UG"; + } + leaf parent-id { + type int32; + description + "UG's parent if child"; + } + leaf insync { + type boolean; + description + "Is this ug insync with RIB"; + } + leaf freezecnt { + type uint32; + description + "Freeze count if frozen"; + } + } + + grouping IPV6-RIB-EDM-OPAQUE-OBJ { + description + "Informaton of an opaque data"; + leaf key { + type yang:hex-string; + description + "The unique ID assigned to the opaque object by + client"; + } + leaf data { + type yang:hex-string; + description + "The data part of the opaque object"; + } + } + + grouping IPV6-RIB-EDM-PROTO { + description + "Information of a rib protocol"; + leaf protocol-names { + type string; + description + "Name"; + } + leaf instance { + type string; + description + "Instance name of the protocol"; + } + leaf version { + type uint32; + description + "Proto version"; + } + leaf redistribution-client-count { + type uint32; + description + "Number of redist clients"; + } + leaf protocol-clients-count { + type uint32; + description + "Number of proto clients"; + } + leaf routes-counts { + type uint32; + description + "Number of routes (including active, backup and + deleted), where, number of backup routes = + RoutesCounts - ActiveRoutesCount - + DeletedRoutesCount "; + } + leaf active-routes-count { + type uint32; + description + "Number of active routes (not deleted)"; + } + leaf deleted-routes-count { + type uint32; + description + "Number of deleted routes"; + } + leaf paths-count { + type uint32; + description + "Number of paths for all routes"; + } + leaf protocol-route-memory { + type uint32; + units "byte"; + description + "Memory for proto's routes and paths in bytes"; + } + leaf backup-routes-count { + type uint32; + description + "Number of backup routes"; + } + } + + grouping IPV6-RIB-EDM-ADVERT { + description + "Route advertisement information"; + list ipv6-rib-edm-advert { + description + "Next advertising proto"; + leaf protocol-id { + type uint32; + description + "Protocol advertising the route"; + } + leaf client-id { + type uint32; + description + " Client advertising the route"; + } + leaf number-of-extended-communities { + type uint32; + description + "Number of extended communities attached by + advertiser"; + } + leaf extended-communities { + type yang:hex-string; + description + "Extended communities attached by the advertiser"; + } + leaf protocol-opaque-flags { + type uint8; + description + "OSPF area-id flags"; + } + leaf protocol-opaque { + type uint32; + description + "OSPF area-id"; + } + leaf code { + type int8; + description + "Protocol code"; + } + leaf instance-name { + type string { + length "0..41"; + } + description + "Instance name of the protocol advertising the + route"; + } + } + } + + grouping IPV6-RIB-EDM-RECURSION-DEPTH-MAX { + description + "Information about the maximum recursion depth in + the RIB"; + leaf current { + type uint32; + description + "Current maximum recursion depth"; + } + leaf configured { + type uint32; + description + "Configured maximum recursion depth"; + } + } + + grouping IPV6-RIB-EDM-NH-STATS { + description + "Nexthop statistics for a table"; + leaf num-resolved-nh { + type uint32; + description + "Number of resolved nexthop"; + } + leaf num-unresolved-nh { + type uint32; + description + "Number of unresolved nexthop"; + } + } + + grouping RIB-EDM-ROUTE-COUNT { + description + "Specifics of route count"; + leaf active-routes-count { + type uint32; + description + "Number of active routes"; + } + leaf num-backup-routes { + type uint32; + description + "Number of backup (inactive) routes"; + } + leaf num-active-paths { + type uint32; + description + "Number of paths to active routes"; + } + leaf num-backup-paths { + type uint32; + description + "Number of paths to backup routes"; + } + } + + grouping RIB-EDM-PROTO-ROUTE-SUMM-DETAIL { + description + "Details of Protocol route types"; + container proto-route-count { + description + "Count for proto. instance"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-none { + description + "No route type"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-other { + description + "Unknown route type"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-intra { + description + "OSPF route within an area"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-inter { + description + "OSPF route across diff. areas"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-extern1 { + description + "OSPF external route of type 1"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-extern2 { + description + "OSPF external route of type 2"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-sum { + description + "IS-IS summary route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-l1 { + description + "IS-IS level 1 route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-l2 { + description + "IS-IS level 2 route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-isis-l1-ia { + description + "IS-IS level1 inter-area route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-bgp-int { + description + "iBGP route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-bgp-ext { + description + "eBGP route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-bgp-loc { + description + "BGP local route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-nssa1 { + description + "OSPF NSSA ext. route type 1"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-ospf-nssa2 { + description + "OSPF NSSA ext. route type 2"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-igrp2-int { + description + "EIGRP internal route"; + uses RIB-EDM-ROUTE-COUNT; + } + container rtype-igrp2-ext { + description + "EIGRP external route"; + uses RIB-EDM-ROUTE-COUNT; + } + leaf name { + type string; + description + "Proto name"; + } + leaf instance { + type string; + description + "Instance name of the protocol"; + } + } + + grouping RIB-PATH-SHARED-DB-STATS { + description + "Per table path sharing stats"; + leaf num-mutable-paths { + type uint32; + description + "Number of mutable paths"; + } + leaf num-total-mutable-alloc { + type uint32; + description + "Running count of mutable path allocation calls"; + } + leaf num-total-mutable-cleanup { + type uint32; + description + "Running count of mutable path frees"; + } + leaf num-path-clone-ops { + type uint32; + description + "Count of path clone operations"; + } + leaf num-path-save-ops { + type uint32; + description + "Count of path save operations"; + } + leaf num-shr-refcnt-incr { + type uint32; + description + "Number of refcount increment operations"; + } + leaf num-shr-refcnt-decr { + type uint32; + description + "Number of refcount decrements operations"; + } + leaf num-current-shared-paths { + type uint32; + description + "Current number of shared paths"; + } + leaf max-share-refcnt { + type uint32; + description + "The highest sharing factor by any path, + high-water"; + } + leaf max-paths-in-db { + type uint32; + description + "Largest number of paths in DB high-water"; + } + leaf num-shared-path-search-miss { + type uint32; + description + "Number of MISS operations searching for shared + path"; + } + leaf num-shared-path-search-hit { + type uint32; + description + "Number of HIT operations searching for shared + path"; + } + leaf num-total-shared-path-create { + type uint32; + description + "Number of path create operations"; + } + leaf num-total-shared-path-delete { + type uint32; + description + "Number of path delete operations"; + } + leaf sum-of-all-refcounts { + type uint32; + description + "Sum of all path refcounts in the shared db"; + } + leaf avg-path-shares { + type uint32; + description + "Average number of pathlists using a shared path"; + } + } + + grouping RIB-PATHLIST-SHARED-DB-STATS { + description + " Per table pathlist sharing stats"; + leaf num-mutable-pathlists { + type uint32; + description + "Number of mutable pathlists"; + } + leaf num-immutable-pathlists { + type uint32; + description + "Number of immutable pathlists"; + } + leaf num-cumulative-pathlist-creates { + type uint32; + description + "Cumulative number of pathlist-CREATES"; + } + leaf num-pathlist-clone-ops { + type uint32; + description + "Count of pathlist clone operations"; + } + leaf num-pathlist-save-ops { + type uint32; + description + "Count of pathlist save operations"; + } + leaf max-share-refcnt { + type uint32; + description + "The max sharing factor by any pathlist, + high-water"; + } + leaf max-pathlists-in-db { + type uint32; + description + "Largest number of pathlists in DB, high-water"; + } + leaf num-shared-pathlist-search-hit { + type uint32; + description + "number of HIT operations searching for a shared + pathlist"; + } + leaf num-shared-pathlist-search-miss { + type uint32; + description + "number of MISS operations searching for a shared + pathlist"; + } + leaf sum-of-all-refcounts { + type uint32; + description + "Sum of all pathlist refcounts in the shared db"; + } + leaf avg-pathlist-shares { + type uint32; + description + "Average number of routes using a shared pathlist"; + } + } + + grouping IPV6-RIB-EDM-TABLE { + description + "Information of a routing table"; + container pathlist-stats { + description + "Pathlist Statistics"; + uses RIB-PATHLIST-SHARED-DB-STATS; + } + container path-stats { + description + "Path Statistics"; + uses RIB-PATH-SHARED-DB-STATS; + } + leaf tableid { + type uint32; + description + "Table id"; + } + leaf afi { + type uint32; + description + "Address Family"; + } + leaf safi { + type uint32; + description + "sub Address Family"; + } + leaf vrf-name { + type string; + description + "VRF Name of the table"; + } + leaf table-name { + type string; + description + "Name of the table"; + } + leaf version { + type uint64; + description + "Table version"; + } + leaf conf-prefix-limit { + type uint32; + description + "Configured prefix limit"; + } + leaf current-prefix-count { + type uint32; + description + "Num prefixes in table"; + } + leaf num-svdlcl-prefix { + type uint32; + description + "Num SVD local prefixes"; + } + leaf num-svdrem-prefix { + type uint32; + description + "Num SVD remote prefixes"; + } + leaf table-version { + type uint64; + description + "Version no. of the table"; + } + leaf prefix-limit-notified { + type boolean; + description + "Prefix limit state indicator"; + } + leaf fwd-referenced { + type boolean; + description + "Table in fwd reference state?"; + } + leaf deleted { + type boolean; + description + "Table deleted?"; + } + leaf initial-converge { + type boolean; + description + "Table has reached convergence"; + } + } + + grouping RIB-EDM-NH-PATH { + description + "Information of a nexthop notification client"; + leaf interface { + type uint32; + description + "interface"; + } + leaf address { + type Ipv6-rib-edm-addr; + description + "Address"; + } + leaf tableid { + type uint32; + description + "tableid"; + } + leaf vrf-name { + type string; + description + "VRF Name of the nh table"; + } + } + + grouping RIB-EDM-PATH-IP-TUNNEL-INFO { + description + "Information of IP tunnel Info attribute in path"; + leaf auto-created { + type boolean; + description + "Tunnel is auto created"; + } + leaf tunnel-type { + type string; + description + "Tunnel Type"; + } + leaf has-evni { + type boolean; + description + "Egress VXLAN Network Identifier present"; + } + leaf evni { + type uint32; + description + "Egress VXLAN Network Identifier"; + } + leaf has-tunnel-id { + type boolean; + description + "Tunnel ID present"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf has-vni { + type boolean; + description + "VXLAN Network Identifier present"; + } + leaf vni { + type uint32; + description + "VXLAN Network Identifier"; + } + } + + grouping RIB-EDM-VIA-SRV6-SID { + description + "Information related to Via-SRv6-SID"; + leaf sid { + type inet:ipv6-address; + description + "Via-SRv6-SID value"; + } + leaf resolution-length { + type uint8; + description + "FIB Resolution length"; + } + } + + grouping MGMT-SRV6-HEADEND-BEHAVIOR { + description + "SRv6 Headend Behavior Info"; + leaf type { + type Mgmt-srv6-headend; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping MGMT-SRV6-SID { + description + "SRv6 SID"; + leaf sid { + type inet:ipv6-address; + description + "SID value"; + } + } + + grouping RIB-EDM-PATH-SRV6-INFO { + description + "RIB path's SRv6 related information"; + container srv6-carrier-format { + description + "SRv6 Carrier Format"; + uses MGMT-SRV6-SID-FMT; + } + container srv6-headend-behavior { + description + "SRv6 headend behavior/type info"; + uses MGMT-SRV6-HEADEND-BEHAVIOR; + } + container via-srv6-sid { + description + "Via-SRv6-SID value"; + uses RIB-EDM-VIA-SRV6-SID; + } + leaf number-of-srv6-carriers { + type uint8; + description + "Number of SRv6 Carriers"; + } + leaf has-srv6-headend-behavior { + type boolean; + description + "Path has some SRv6 head-end behavior associated"; + } + leaf has-via-srv6-sid { + type boolean; + description + "Via-SRv6-SID is present"; + } + list srv6-carrier { + description + "List of SRv6 Carriers with one or more SIDs"; + uses MGMT-SRV6-SID; + } + } + + grouping RIB-EDM-PATH-GROUPING-INFO { + description + "Information of Path Grouping"; + leaf grouping-id { + type uint32; + description + "Grouping ID for this path"; + } + } + + grouping RIB-EDM-PATH-L2-INFO { + description + "Information of L2 Info attribute in path"; + leaf xcid { + type uint32; + description + "L2 Cross Connect ID for this path"; + } + leaf ac-interface { + type xr:Interface-name; + description + "L2 AC Interface"; + } + leaf split-horizon-group-id { + type uint32; + description + "L2 Split Horizon Group ID"; + } + leaf bridge-id { + type uint32; + description + "L2 Bridge ID"; + } + } + + grouping RIB-EDM-NNH { + description + "Information of a NNH in path installed in RIB"; + leaf type { + type Rib-edm-nnh; + description + "type"; + } + leaf unknownval { + when "../type = 'unknown'" { + description + "../type = 'Unknown'"; + } + type uint32; + description + "Unknown Value"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../type = 'IPv4Address'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf interface-index { + when "../type = 'if-index'" { + description + "../type = 'IfIndex'"; + } + type uint32; + description + "Interface Index"; + } + } + + grouping IPV6-RIB-EDM-PATH { + description + "Information of a rib path"; + list ipv6-rib-edm-path { + description + "Next path"; + container l2-info { + description + "L2 Info for this path"; + uses RIB-EDM-PATH-L2-INFO; + } + container path-grouping-info { + description + "Grouping Info for this path"; + uses RIB-EDM-PATH-GROUPING-INFO; + } + container srv6-info { + description + "SRv6 related information"; + uses RIB-EDM-PATH-SRV6-INFO; + } + container ip-tunnel-info { + description + "IP Tunnel Info for this path"; + uses RIB-EDM-PATH-IP-TUNNEL-INFO; + } + leaf address { + type Ipv6-rib-edm-addr; + description + "Nexthop"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf information-source { + type Ipv6-rib-edm-addr; + description + "Infosource"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf v6-nexthop { + type inet:ipv6-address; + description + "IPv6 nexthop for v4 over v6"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf v6-information-source { + type inet:ipv6-address; + description + "V6 Infosource"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface handle for the path's nexthop"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf metric { + type uint32; + description + "Metrics"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf load-metric { + type uint32; + description + "Load Metrics"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf flags64 { + type uint64; + description + "Flags extended to 64 bits"; + } + leaf flags { + type uint16; + description + "Flags"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf private-flags { + type uint16; + description + "Private Flags, used internally by RIB"; + } + leaf minimum-recurse-length { + type uint8; + description + "Minimum netmask length of recursive resolving + route"; + } + leaf looped { + type boolean; + description + "Looping path"; + } + leaf next-hop-table-id { + type uint32; + description + "The table to which the next hop belongs"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-vrf-name { + type string; + description + "VRF Name of the nh table"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-table-name { + type string; + description + "NH table name"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-afi { + type uint32; + description + "NH afi"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-safi { + type uint32; + description + "NH safi"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf route-label { + type uint32; + description + "Label associated with this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID associated with this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf pathid { + type uint32; + description + "Path id of this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf backup-pathid { + type uint32; + description + "Path id of this path's backup"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf ref-cnt-of-backup { + type uint32; + description + "For backup paths, the number of active paths + protected by the backup path"; + } + leaf number-of-extended-communities { + type uint32; + description + "Number of extended communities associated with + this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf mvpn-present { + type boolean; + description + "MVPN attribute present"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf path-rt-present { + type boolean; + description + "Path RT present"; + } + leaf vrf-import-rt-present { + type boolean; + description + "VRFIMPORTRTPresent"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf source-asrt-present { + type boolean; + description + "SOURCEASRTPresent"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf source-rd-present { + type boolean; + description + "SOURCERDPresent"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf segmented-nexthop-present { + type boolean; + description + "Segmented NH attributes present for this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf number-of-nnh { + type uint32; + description + "Number of Next Next Hops"; + } + leaf next-hop-id { + type uint32; + description + "NHID associated with this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf next-hop-id-refcount { + type uint32; + description + "NHID references"; + } + leaf ospf-area-id { + type string; + description + "OSPF area associated with the path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf has-labelstk { + type boolean; + description + "Path has a label stack"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf num-labels { + type uint8; + description + "Number of labels in stack"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf binding-label { + type uint32; + description + "binding Label for this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf nhid-feid { + type uint64; + description + "Fib nhid encap id"; + } + leaf mpls-feid { + type uint64; + description + "Fib mpls encap id"; + } + leaf has-vxlan-network-id { + type boolean; + description + "VXLAN Network Identifier exists for this path"; + } + leaf vxlan-network-id { + type uint32; + description + "VXLAN Network Identifier for this path"; + } + leaf has-xcid { + type boolean; + description + "L2 Cross Connect ID exists for this path"; + } + leaf xcid { + type uint32; + description + "L2 Cross Connect ID for this path"; + } + leaf has-span-diag-interface { + type boolean; + description + "SPAN Diagnostics Interface exists for this path"; + } + leaf span-diag-interface { + type xr:Interface-name; + description + "SPAN Diagnostics Interface for this path"; + } + leaf has-subscriber-parent-interface { + type boolean; + description + "Subscriber Parent Interface exists for this + path"; + } + leaf subscriber-parent-interface { + type xr:Interface-name; + description + "Subscriber Parent Interface for this path"; + } + leaf interface-index-present { + type boolean; + description + "Flag to indicate if interface index attribute + is present for this path"; + } + leaf interface-index-attribute { + type uint32; + description + "Interface Index attribute"; + } + leaf iid-present { + type boolean; + description + "Internal ID present"; + } + leaf iid { + type Ipv6-rib-edm-addr; + description + "Internal ID attribute"; + } + leaf has-l2-info { + type boolean; + description + "L2 Info present for this path"; + } + leaf has-path-grouping-info { + type boolean; + description + "Grouping Info present for this path"; + } + leaf has-ip-tunnel-info { + type boolean; + description + "IP Tunnel Info present for this path"; + } + list remote-backup-addr { + max-elements "2"; + description + "Remote backup node address"; + leaf entry { + type Ipv6-rib-edm-addr; + description + "Remote backup node address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + list labelstk { + description + "Outgoing label stack for this path"; + leaf entry { + type uint32; + description + "Outgoing label stack for this path"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + list next-next-hop { + description + "List of Next Next Hops"; + uses RIB-EDM-NNH; + } + } + } + + grouping MGMT-SRV6-SID-FMT { + description + "SRv6 SID Format Info"; + leaf type { + type Mgmt-srv6-sid-fmt; + description + "Format type"; + } + leaf description { + type string; + description + "Format description"; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping RIB-EDM-ROUTE-SRV6-INFO { + description + "RIB route's SRv6 related information"; + container srv6-endpoint-behavior { + description + "SRv6 Endpoint behavior/type"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container srv6-format { + description + "SRv6 Format"; + uses MGMT-SRV6-SID-FMT; + } + leaf is-srv6-endpoint { + type boolean; + description + "Route is an SRv6 Endpoint (local SID)"; + } + leaf is-srv6-locator { + type boolean; + description + "Route corresponds to an SRv6 remote locator"; + } + leaf srv6-locator-algo { + type uint8; + description + "SRv6 Algo corresponding to SRv6 remote locator"; + } + } + + grouping RIB-EDM-ALGO-LABEL-SET { + description + "Algorithm ID to Local Label information"; + leaf algorithm-id { + type uint8; + description + "Algorithm Identifier"; + } + leaf label { + type uint32; + description + "Local label"; + } + leaf metric { + type uint32; + description + "Route Metric associated with Algorithm + Identifier"; + } + } + + grouping IPV6-RIB-EDM-ROUTE { + description + "Information of a rib route head and rib proto + route"; + container srv6-info { + description + "SRv6 related information"; + uses RIB-EDM-ROUTE-SRV6-INFO; + } + container route-path { + description + "Path(s) of the route"; + uses IPV6-RIB-EDM-PATH; + } + leaf prefix { + type Ipv6-rib-edm-addr; + description + "Route prefix"; + } + leaf prefix-length-xr { + type uint8; + description + "Length of prefix"; + } + leaf route-version { + type uint32; + description + "Route version, incremented by one on each active + route change"; + } + leaf protocol-id { + type uint32; + description + "Protocol advertising the route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf protocol-name { + type string; + description + " Name of Protocol"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf instance { + type string; + description + "Instance name"; + } + leaf client-id { + type uint32; + description + "Client adding the route to RIB"; + } + leaf mirrored { + type boolean; + description + "Mirrored"; + } + leaf route-type { + type uint16; + description + "Type of route installed in RIB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf priority { + type uint8; + description + "Route priority"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf svd-type { + type uint8; + description + "SVD Type of route"; + } + leaf l2-route-type { + type uint8; + description + "Type of route associated with L2 Service"; + } + leaf flags { + type uint32; + description + "Route flags"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf extended-flags { + type uint64; + description + "Extended Route flags"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tag { + type uint32; + description + "Opaque proto specific info"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf distance { + type uint32; + description + "Distance of the route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf diversion-distance { + type uint32; + description + "Diversion distance of the route"; + } + leaf metric { + type uint32; + description + "Route metric"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf paths-count { + type uint32; + description + "Number of paths"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf attribute-identity { + type uint32; + description + "BGP Attribute ID"; + } + leaf traffic-index { + type uint8; + description + "BGP Traffic Index"; + } + leaf route-precedence { + type uint8; + description + "IP precedence for this route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf qos-group { + type uint8; + description + "Route qos group"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf flow-tag { + type uint8; + description + "Flow tag for this route"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf fwd-class { + type uint8; + description + "Forward Class"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf pic-count { + type uint8; + description + "Number of pic paths in this route"; + } + leaf active { + type boolean; + description + "Is the route active or backup"; + } + leaf diversion { + type boolean; + description + "Route has a diversion path"; + } + leaf diversion-proto-name { + type string; + description + "Diversion route protocol name"; + } + leaf route-age { + type uint32; + units "second"; + description + "Age of route (seconds)"; + } + leaf route-label { + type uint32; + description + "Local label of the route"; + } + leaf version { + type uint32; + description + "Route Version"; + } + leaf tbl-version { + type uint64; + description + "Table Version"; + } + leaf route-modify-time { + type uint64; + units "nanosecond"; + description + "Route modification time(nanoseconds)"; + } + leaf prefix-feid { + type uint64; + description + "Fib per-prefix encap id"; + } + leaf number-of-algorithm-labels { + type uint16; + description + "Number of Algorithm Labels associated with this + prefix"; + } + leaf no-fib-redist { + type boolean; + description + "Should the route be redistributed to FIB"; + } + leaf flexible-algorithm { + type uint8; + description + "Flexible Algorithm associated with route"; + } + list algorithm-label { + description + "List of Algorithm Labels associated with this + Prefix"; + uses RIB-EDM-ALGO-LABEL-SET; + } + } + + grouping RIB-EDM-NH-CLIENT { + description + "Information of a nexthop notification client"; + list rib-edm-nh-client { + description + "Next client"; + leaf id { + type uint32; + description + "Client id"; + } + leaf ref-count { + type uint32; + description + "The number NH reference this client"; + } + leaf nh-create-age { + type uint32; + description + "How long has client has been created"; + } + leaf nh-create-time { + type uint64; + description + "Client creation time"; + } + leaf nh-read-age { + type uint32; + description + "How long ago client read this notification"; + } + leaf nh-read-time { + type uint64; + description + "Client notification read time"; + } + leaf pack-mvpn { + type boolean; + description + "Pack MVPN"; + } + leaf pack-path-rt { + type boolean; + description + "Pack path RT"; + } + leaf pack-vrf-import-rt { + type boolean; + description + "Pack VRF import RT"; + } + leaf pack-source-as-rt { + type boolean; + description + "Pack source AS RT"; + } + leaf pack-source-rd { + type boolean; + description + "Pack source RD"; + } + leaf pack-mldp-root { + type boolean; + description + "Pack MLDP root"; + } + leaf pack-seg-nh { + type boolean; + description + "Pack seg NH"; + } + leaf notify-reregister { + type boolean; + description + "Notify Reregister"; + } + } + } + + grouping IPV6-RIB-EDM-NH-ADDR { + description + "Information of a registered nexthop notification + address"; + container clients { + description + "Client(s) of the address"; + uses RIB-EDM-NH-CLIENT; + } + container resolved-route { + description + "Route resolved this nexthop"; + uses IPV6-RIB-EDM-ROUTE; + } + leaf prefix { + type Ipv6-rib-edm-addr; + description + "Route prefix"; + } + leaf prefix-len { + type uint32; + description + "Length of prefix"; + } + leaf dest-addr { + type Ipv6-rib-edm-addr; + description + "Destination address"; + } + leaf dest-intf { + type uint32; + description + "Destination interface"; + } + leaf dest-tableid { + type uint32; + description + "Destination tableid"; + } + leaf dest-metric { + type uint32; + description + "Destination metric"; + } + leaf dest-vrf-name { + type string; + description + "VRF Name of the nh table"; + } + leaf damped { + type boolean; + description + "Nexthop being damped?"; + } + leaf exact-match-xr { + type boolean; + description + "Exact match"; + } + leaf allow-default-xr { + type boolean; + description + "Allow default flag"; + } + leaf recurse-xr { + type boolean; + description + "Allow recurse flag"; + } + leaf xtable { + type boolean; + description + "Cross table nexthop"; + } + leaf pack-sf-xr { + type boolean; + description + "Pack SFS paths for multicast"; + } + leaf pack-backup { + type boolean; + description + "Pack backup paths"; + } + leaf backup-route-xr { + type boolean; + description + "Backup route notifications"; + } + leaf best-metric-xr { + type boolean; + description + "Return lowest metric for dest. metric"; + } + leaf unres-nh-tree { + type boolean; + description + "Context about which tree the server should walk"; + } + leaf flags { + type uint16; + description + "nh_entry flags"; + } + leaf dest-path-count { + type uint32; + description + "Number of destination paths"; + } + leaf accrued-penalty { + type uint16; + description + "Damped accured penalty"; + } + leaf num-algo-label { + type uint16; + description + "Destination number of Algorithm Labels"; + } + leaf expiration-age { + type uint32; + description + "How soon the nexthop is undamped"; + } + leaf expiration-time { + type uint64; + description + "Time where the first is undamped"; + } + leaf min-damped-threshold { + type uint32; + description + "Minimum damped threshold"; + } + leaf max-damped-penalty { + type uint32; + description + "Maximum damped threshold"; + } + leaf decay-rate { + type uint32; + description + "Damped decay rate"; + } + leaf version { + type uint32; + description + "Event version"; + } + leaf last-event-age { + type uint32; + description + "How long since last event occured"; + } + leaf last-event-time { + type uint64; + description + "Time at which last event occured"; + } + list dest-path { + description + "Path(s) of the route"; + uses RIB-EDM-NH-PATH; + } + list algo-label-set { + description + "Destination list of Algorithm Labels"; + uses RIB-EDM-ALGO-LABEL-SET; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub2.yang new file mode 100644 index 000000000..57b111ad4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper-sub2.yang @@ -0,0 +1,571 @@ +submodule Cisco-IOS-XR-ip-rib-ipv6-oper-sub2 { + belongs-to Cisco-IOS-XR-ip-rib-ipv6-oper { + prefix Cisco-IOS-XR-ip-rib-ipv6-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-rib-ipv6-oper-sub1 { + revision-date 2022-02-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-rib-ipv6 package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-03 { + description + "Add SID resource usage information + 2021-12-16 + Added VNI to ip tunnel info path attribute + 2021-11-26 + Add IID Local to known Protocol Types, and sync with existing types in ipv4-oper + 2021-11-25 + Added is delayed delete flag on routes local SID list + 2021-10-29 + Added Opaque redistribution history + 2021-09-24 + New path vpn attribute for ip tunnels"; + semver:module-version "4.1.1m"; + } + revision 2021-08-08 { + description + "SRv6 uSID context extended with uDX + 2021-07-20 + Flexible Algorithm attribute added to IP Route + 2021-06-24 + IID context extended with EVPN ELAN support SRv6 SID context extended with EVPN ELAN support uDT2U uDT2M EndDT2U EndDT2M L2 Path attribute extended with support for Split Horizong Group and BridgeID + 2021-03-31 + SRv6 SID Manager include per operation mode block parameters + 2021-03-25 + Add FIB redistribution flag to route bag + 2021-03-14 + SRv6 SID context extensions"; + semver:module-version "4.1.0"; + } + revision 2020-12-11 { + description + "Add forwarding sidlist + 2020-09-30 + Nexthop notification model now includes client specific registration flags + 2020-09-24 + Changes to SRv6 uSID platform capabilities + 2020-07-24 + SRv6 uSID context extended for evpn"; + semver:module-version "4.0.0"; + } + revision 2020-05-29 { + description + "Updated the max number of elements for opaque stats to 16 Extended rib edm path to include IID info and SID Format type + 2020-04-30 + Updated sidmgr oper to add contexts for F1 SID: DT6, DX6 + 2020-04-02 + Increased path_num size in redist hist route bag to 16 bits + 2019-12-05 + Extended SidMgr info to include uSID platform capabilities + 2019-11-21 + Extended SidMgr info to include flag string and anycast flag"; + semver:module-version "3.0.0"; + } + revision 2019-11-05 { + description + "Extended Nexthop and NexhopPrefix paths to include all by NH flags + 2019-10-22 + Extended rib_edm_client_stats_summary to include client stats on bcdl ugs Extended rib_edm_local_label to support AIB prefer Added EDM support for large SID stack Extended rib_edm_path to include recursion length field Extended rib_edm_path to include metric field Extended iidmgr_summary to include oor summary info Extended rib_edm_route to include l3 route type field"; + semver:module-version "2.0.0"; + } + revision 2019-06-28 { + description + "Fixed NexthopPrefix path"; + semver:module-version "1.0.0"; + } + revision 2019-06-15 { + description + "Fixed IPv6 Address format for Nexthops"; + } + revision 2019-06-08 { + description + "Added RPF list and NHIDs"; + } + revision 2019-05-30 { + description + "Fixed adverts and backup paths"; + } + revision 2019-05-17 { + description + "Added Nexthops Summary, Nexthop Route, Longer Routes, Redist Clients and Client Stasts"; + } + revision 2019-04-25 { + description + "Updated yang schema to extend Native Yang model for the data exposed via CLI"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-02-21 { + description + "Yang evaluator: updates to schema descriptions and ranges"; + } + revision 2019-01-11 { + description + "Route lookup key is limited to Prefix and Prefix Length"; + } + revision 2018-11-20 { + description + "Add keys for route lookup via restconf."; + } + revision 2018-11-06 { + description + "Support Algorithm Label List per route"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Internal-id-state { + type enumeration { + enum "unknown" { + description + "InternalID state is Unknown"; + } + enum "in-use" { + description + "InternalID state is In_Use"; + } + enum "stale" { + description + "InternalID state is Stale"; + } + } + description + "InternalID state"; + } + + typedef Internal-id-context { + type enumeration { + enum "none" { + value 0; + description + "No InternalID context"; + } + enum "evpn-vpws" { + value 1; + description + "InternalID context type for EVPN-VPWS"; + } + enum "large-sid-stack" { + value 2; + description + "InternalID context type for Large SID Stack"; + } + enum "evpn-elan" { + value 3; + description + "InternalID context type for EVPN-ELAN"; + } + enum "invalid" { + value 255; + description + "Invalid InternalID context type"; + } + } + description + "InternalID context type"; + } + + typedef Internal-id-out-of-resource-state { + type enumeration { + enum "oor-green" { + description + "Resources Available"; + } + enum "oor-yellow" { + description + "Resources Warning. Minor threshold exceeded"; + } + enum "oor-red" { + description + "Out of Resources. Major threshold exceeded"; + } + } + description + "InternalID Out of Resource State"; + } + + grouping IIDMGR-TIMESTAMP { + description + "iidmgr generic timestamp"; + leaf time-in-nano-seconds { + type uint64; + units "nanosecond"; + description + "Time in nano seconds elapsed since 1970-01-01 00 + :00:00 +0000 (UTC)"; + } + leaf age-in-nano-seconds { + type uint64; + units "nanosecond"; + description + "Age in nano seconds relative to current system + time"; + } + } + + grouping IID-OWNER { + description + "InternalID Owner"; + leaf owner { + type string; + description + "Owner"; + } + } + + grouping IID-EDM-SRV6-SID { + description + "Information for Large SID stack context used in + IID"; + leaf sid { + type inet:ipv6-address; + description + "Segment Identifier Attribute"; + } + } + + grouping MGMT-RIB-IID-LSS-CTX { + description + "InternalID context for Large SID Stack"; + leaf path-interface-name { + type xr:Interface-name; + description + "Path NH interface"; + } + leaf nexthop-prefix { + type inet:ipv6-address; + description + "Path NH Prefix"; + } + leaf headend-oper-type { + type Mgmt-srv6-headend; + description + "SRv6 Headend Oper type"; + } + leaf num-sids { + type uint32; + description + "Number of SID's"; + } + leaf srv6sid-format { + type Mgmt-srv6-sid-fmt; + description + "Format of the SRv6 InternalID uSID"; + } + list sid { + description + "SID list"; + uses IID-EDM-SRV6-SID; + } + } + + grouping MGMT-RIB-IID-EVPN-ELAN-CTX { + description + "InternalID context for EVPN_ELAN"; + leaf evi { + type uint32; + description + "EVPN Instance"; + } + leaf nexthop-address { + type inet:ipv6-address; + description + "NH Address as V6 native or V6-encoded-v4"; + } + leaf eth-tag { + type uint32; + description + "Ethernet Tag"; + } + leaf opaque-id { + type uint32; + description + "Additional differentiator - opaque to IIDmgr"; + } + leaf esi { + type yang:hex-string; + description + "Ethernet Segment Identifier"; + } + leaf type { + type uint32; + description + "L2 route type"; + } + } + + grouping MGMT-RIB-IID-EVPN-VPWS-CTX { + description + "InternalID context for EVPN_VPWS"; + leaf evi { + type uint32; + description + "EVPN Instance"; + } + leaf eth-tag { + type uint32; + description + "Ethernet Tag"; + } + leaf type { + type uint32; + description + "Type"; + } + } + + grouping MGMT-RIB-IID-CTX-KEY { + description + "MGMT RIB IID CTX KEY"; + container evpn-vpws { + when "../internal-id-context-type = 'evpn-vpws'" { + description + "../InternalIDContextType = 'EVPN_VPWS'"; + } + description + "InternalID context for EVPN_VPWS"; + uses MGMT-RIB-IID-EVPN-VPWS-CTX; + } + container evpn-elan { + when "../internal-id-context-type = 'evpn-elan'" { + description + "../InternalIDContextType = 'EVPN_ELAN'"; + } + description + "InternalID context for EVPN_ELAN"; + uses MGMT-RIB-IID-EVPN-ELAN-CTX; + } + container large-sid-stack { + when "../internal-id-context-type = 'large-sid-stack'" { + description + "../InternalIDContextType = 'LargeSIDStack'"; + } + description + "InternalID context for LSS"; + uses MGMT-RIB-IID-LSS-CTX; + } + leaf internal-id-context-type { + type Internal-id-context; + description + "InternalIDContextType"; + } + } + + grouping MGMT-IID-CTX { + description + "InternalID context"; + container key { + description + "InternalID Context"; + uses MGMT-RIB-IID-CTX-KEY; + } + } + + grouping IIDMGR-IID-INFO { + description + "InternalID info"; + container internal-id-context { + description + "InternalID Context"; + uses MGMT-IID-CTX; + } + container create-timestamp { + description + "Creation timestamp"; + uses IIDMGR-TIMESTAMP; + } + leaf internal-id { + type uint32; + description + "InternalID Value"; + } + leaf internal-id-table-id { + type uint32; + description + "InternalID Table ID"; + } + leaf internal-id-prod-id { + type uint8; + description + "InternalID Producer ID"; + } + leaf state { + type Internal-id-state; + description + "InternalID State"; + } + leaf has-forwarding { + type boolean; + description + "Rewrite done or not"; + } + leaf iid-usid-block { + type inet:ipv6-address; + description + "Block where InternalID uSID is allocated"; + } + list owner { + description + "InternalID Owner"; + uses IID-OWNER; + } + } + + grouping IIDMGR-PLATFORM-CAPABILITY { + description + "Platform Capabilities for InternalID manager"; + leaf internal-id-holdtime-mins { + type uint32; + units "minute"; + description + "Default InternalID Holdtime in mins"; + } + } + + grouping IIDMGR-PARAMS { + description + "InternalID Manager runtime and configured + parameters"; + leaf is-internal-id-holdtime-configured { + type boolean; + description + "Is InternalID Holdtime configured?"; + } + leaf internal-id-holdtime-mins-configured { + type uint32; + units "minute"; + description + "Configured InternalID Holdtime in mins"; + } + } + + grouping IID-OOR-SUMMARY { + description + "InternalID Manager Out of Resource Summary"; + leaf out-of-resources-state { + type Internal-id-out-of-resource-state; + description + "Out of Resources State for InternalIDs"; + } + leaf oor-yellow-free-internal-id-threshold { + type uint32; + description + "Threshold for Number of Free InternalID below + which OOR Yellow State is reached"; + } + leaf oor-green-free-internal-id-threshold { + type uint32; + description + "Threshold for Number of Free InternalID above + which OOR Green State is restored"; + } + leaf oor-green-count { + type uint32; + description + "Number of times Resources Warning or Out of + Resources state has been cleared"; + } + leaf oor-yellow-count { + type uint32; + description + "Number of times system went into Resources + Warning state"; + } + leaf oor-red-count { + type uint32; + description + "Number of times system went into Out of + Resources state"; + } + } + + grouping IIDMGR-SUMMARY { + description + "InternalID Manager summary"; + container internal-ids-out-of-resource-summary { + description + "InternalIDs Out of Resource info"; + uses IID-OOR-SUMMARY; + } + leaf prod-id { + type uint8; + description + "Producer ID of InternalIDs"; + } + leaf prod-internal-id-count { + type uint32; + description + "Active InternalIDs of Producer"; + } + leaf prod-stale-internal-id-count { + type uint32; + description + "Stale InternalIDs of Producer"; + } + leaf prod-checkpoint-object-count { + type uint32; + description + "Checkpoint object count of Producer"; + } + } + + grouping IIDMGR-INFO { + description + "InternalID manager info"; + container internal-id-mgr-summary { + description + "InternalID Manager summary"; + uses IIDMGR-SUMMARY; + } + container internal-id-mgr-params { + description + "InternalID Manager runtime and configured + parameters"; + uses IIDMGR-PARAMS; + } + container platform-capabilities { + description + "Platform Capabilities"; + uses IIDMGR-PLATFORM-CAPABILITY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper.yang new file mode 100644 index 000000000..37d33b75a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rib-ipv6-oper.yang @@ -0,0 +1,1470 @@ +module Cisco-IOS-XR-ip-rib-ipv6-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-ipv6-oper"; + prefix ip-rib-ipv6-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-rib-ipv6-oper-sub2 { + revision-date 2022-02-03; + } + include Cisco-IOS-XR-ip-rib-ipv6-oper-sub1 { + revision-date 2022-02-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rib-ipv6 package operational data. + + This module contains definitions + for the following management objects: + ipv6-rib: RIB operational data + ipv6-rib-stdby: RIB standby node IPv6 operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-03 { + description + "Add SID resource usage information + 2021-12-16 + Added VNI to ip tunnel info path attribute + 2021-11-26 + Add IID Local to known Protocol Types, and sync with existing types in ipv4-oper + 2021-11-25 + Added is delayed delete flag on routes local SID list + 2021-10-29 + Added Opaque redistribution history + 2021-09-24 + New path vpn attribute for ip tunnels"; + semver:module-version "4.1.1m"; + } + revision 2021-08-08 { + description + "SRv6 uSID context extended with uDX + 2021-07-20 + Flexible Algorithm attribute added to IP Route + 2021-06-24 + IID context extended with EVPN ELAN support SRv6 SID context extended with EVPN ELAN support uDT2U uDT2M EndDT2U EndDT2M L2 Path attribute extended with support for Split Horizong Group and BridgeID + 2021-03-31 + SRv6 SID Manager include per operation mode block parameters + 2021-03-25 + Add FIB redistribution flag to route bag + 2021-03-14 + SRv6 SID context extensions"; + semver:module-version "4.1.0"; + } + revision 2020-12-11 { + description + "Add forwarding sidlist + 2020-09-30 + Nexthop notification model now includes client specific registration flags + 2020-09-24 + Changes to SRv6 uSID platform capabilities + 2020-07-24 + SRv6 uSID context extended for evpn"; + semver:module-version "4.0.0"; + } + revision 2020-05-29 { + description + "Updated the max number of elements for opaque stats to 16 Extended rib edm path to include IID info and SID Format type + 2020-04-30 + Updated sidmgr oper to add contexts for F1 SID: DT6, DX6 + 2020-04-02 + Increased path_num size in redist hist route bag to 16 bits + 2019-12-05 + Extended SidMgr info to include uSID platform capabilities + 2019-11-21 + Extended SidMgr info to include flag string and anycast flag"; + semver:module-version "3.0.0"; + } + revision 2019-11-05 { + description + "Extended Nexthop and NexhopPrefix paths to include all by NH flags + 2019-10-22 + Extended rib_edm_client_stats_summary to include client stats on bcdl ugs Extended rib_edm_local_label to support AIB prefer Added EDM support for large SID stack Extended rib_edm_path to include recursion length field Extended rib_edm_path to include metric field Extended iidmgr_summary to include oor summary info Extended rib_edm_route to include l3 route type field"; + semver:module-version "2.0.0"; + } + revision 2019-06-28 { + description + "Fixed NexthopPrefix path"; + semver:module-version "1.0.0"; + } + revision 2019-06-15 { + description + "Fixed IPv6 Address format for Nexthops"; + } + revision 2019-06-08 { + description + "Added RPF list and NHIDs"; + } + revision 2019-05-30 { + description + "Fixed adverts and backup paths"; + } + revision 2019-05-17 { + description + "Added Nexthops Summary, Nexthop Route, Longer Routes, Redist Clients and Client Stasts"; + } + revision 2019-04-25 { + description + "Updated yang schema to extend Native Yang model for the data exposed via CLI"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-02-21 { + description + "Yang evaluator: updates to schema descriptions and ranges"; + } + revision 2019-01-11 { + description + "Route lookup key is limited to Prefix and Prefix Length"; + } + revision 2018-11-20 { + description + "Add keys for route lookup via restconf."; + } + revision 2018-11-06 { + description + "Support Algorithm Label List per route"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nhid-entry-count-range-v6 { + type uint32 { + range "0..4294967295"; + } + description + "Nhid entry count range v6"; + } + + typedef Nhid-hist-count-range-v6 { + type uint32 { + range "0..4294967295"; + } + description + "Nhid hist count range v6"; + } + + typedef Rpf-head-count-range-v6 { + type uint32 { + range "0..4294967295"; + } + description + "Rpf head count range v6"; + } + + typedef Table-id-range { + type uint32 { + range "0..4294967295"; + } + description + "Table id range"; + } + + grouping IID-MGR-INFO { + description + "Common node of iid-mgr-active, iid-mgr-standby"; + container iid-mgr-info { + description + "IID Manager information"; + uses IIDMGR-INFO; + } + } + + grouping ALL-IID-TABLE { + description + "Common node of iid-mgr-active, iid-mgr-standby"; + container all-iids { + description + "Operational container for all (Active and Stale) + IIDs"; + list all-iid { + key "iid-prefix"; + description + "Operational data for a given IID"; + leaf iid-prefix { + type inet:ipv6-address-no-zone; + description + "IID Value as IPv6 prefix"; + } + uses IIDMGR-IID-INFO; + } + } + } + + grouping RIB-NH-ID-HISTORY-TABLE { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-nh-id-histories { + description + "nhids history"; + list rib-nh-id-history { + key "nh-idi-hist-count"; + description + "NH Id history count"; + leaf nh-idi-hist-count { + type Nhid-hist-count-range-v6; + description + "NH Id hist count"; + } + uses IPV6-RIB-EDM-NHID-HIST-OBJ; + } + } + } + + grouping VRF-TABLE { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "Specific VRF"; + container afs { + description + "Address Family (AF) table"; + list af { + key "af-name"; + description + "Specific AF information"; + container safs { + description + "Subsequent Address Family (SAF) table"; + list saf { + key "saf-name"; + description + "Specific SAF information"; + container ip-rib-route-table-names { + description + "Global container of routes"; + list ip-rib-route-table-name { + key "route-table-name"; + description + "IP RIB Route table name for a topology"; + container destination-kw { + description + "Destination KW"; + container dest-q-routes { + description + "Quarantine"; + list dest-q-route { + key "address prefix-length"; + description + "Route information of a specific Backup + Address "; + leaf address { + type inet:ipv6-address-no-zone; + description + "Quarantined network address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix length of the quarantined + network address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + container dest-backup-kw { + description + "Backup"; + container dest-backup-prefixes { + description + "Backup adresses prefix table"; + list dest-backup-prefix { + key "address prefix-length"; + description + "Route information of a specific + Backup Address "; + container dest-backup-routes { + description + "Backup adresses route table"; + list dest-backup-route { + key "protoid"; + description + "Route information of a specific + Backup Address and Client "; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Backup network address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix length of the backup network + address"; + } + } + } + } + container dest-best-routes { + description + "Best Local"; + list dest-best-route { + key "address"; + description + "Best local route information for a + specific Address "; + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + container dest-next-hop-routes { + description + "Resolving next hop"; + list dest-next-hop-route { + key "address"; + description + "Nexthop information for a specific + address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + } + container adverts-list { + description + "Route advertiser information "; + container advert-prefixes { + description + "Route advertiser prefix table"; + list advert-prefix { + key "address prefix-length"; + description + "Route advertiser information of a + specific Network Address "; + container adverts { + description + "Route advertiser table"; + list advert { + key "protoid"; + description + "Route advertiser information of a + specific Network Address and Client"; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV6-RIB-EDM-ADVERT; + } + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address "; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix length of the network address"; + } + } + } + } + container deleted-routes { + description + "Deleted"; + list deleted-route { + key "address prefix-length"; + description + "Route information for a specific + deleted address "; + leaf address { + type inet:ipv6-address-no-zone; + description + "Deleted network address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix length of the deleted network + address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + container longer-route-prefixes { + description + "Longer routes prefix table"; + list longer-route-prefix { + description + "Net/mask to match longer routes"; + container longer-route-last-prefixes { + description + "Longer route last prefix table"; + list longer-route-last-prefix { + description + "Information of all matching longer + routes for a prefix/mask under a + given table"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix Length"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix Length"; + } + } + } + container protocol { + description + "Contains the classification of routes by + protocol"; + container srv6-local { + description + "SRv6-Local Protocol"; + uses NON-AS; + } + container dagr { + description + "DAGR Protocol(Direct-Attached Gateway + Redundancy) Protocol"; + uses NON-AS; + } + container rip { + description + "RIP Protocol"; + uses NON-AS; + } + container local { + description + "Local Protocol"; + container lspv { + description + "LSPV(Label Switched Path Verification) + protocol"; + uses INFORMATION; + uses PROTOCOL-ROUTE-TABLE; + } + uses NON-AS; + } + container bgp { + description + "BGP Protocol"; + uses AS; + } + container mobile { + description + "Mobile Protocol"; + uses NON-AS; + } + container eigrp { + description + "EIGRP Protocol"; + uses AS; + } + container rpl { + description + "RPL Protocol"; + uses AS; + } + container application { + description + "Application Protocol"; + uses NON-AS; + } + container static { + description + "Static Protocol"; + uses NON-AS; + } + container te-client { + description + "TEClient protocol"; + uses NON-AS; + } + container subscriber { + description + "Subscriber Protocol"; + uses NON-AS; + } + container ospf { + description + "OSPF Protocol"; + uses AS; + } + container connected { + description + "Connected Protocol"; + container l2vpn { + description + "L2VPN"; + uses INFORMATION; + uses PROTOCOL-ROUTE-TABLE; + } + uses NON-AS; + } + container iid-local { + description + "Internal ID Local Protocol"; + uses NON-AS; + } + container isis { + description + "ISIS Protocol"; + uses AS; + } + } + container routes { + description + "Route information "; + list route { + key "address prefix-length"; + description + "Route information of a specific Network + Address "; + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address "; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix Length length of the network + address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + container opaques { + description + "Opaque information "; + list opaque { + description + "Opaque item "; + leaf opaque-client-id { + type uint32 { + range "0..2501"; + } + description + "Opaque Client ID"; + } + leaf opaque-proto-id { + type uint32 { + range "0..96"; + } + description + "Opaque Proto ID"; + } + leaf opaque-key-type { + type uint32 { + range "0..21"; + } + description + "The type of the opaque key installed + in the RIB table"; + } + leaf opaque-key-size { + type uint32 { + range "0..4294967295"; + } + description + "The size of the opaque key installed + in the RIB table"; + } + leaf opaque-data-size { + type uint32 { + range "0..4294967295"; + } + description + "The size of the opaque data installed + in the RIB table"; + } + leaf opaque-string { + type xr:Cisco-ios-xr-string; + description + "The opaque data installed in the RIB + table"; + } + uses IPV6-RIB-EDM-OPAQUE-OBJ; + } + } + container q-routes { + description + "Quarantine"; + list q-route { + key "address prefix-length"; + description + "Route information for a specific + quarantined address "; + leaf address { + type inet:ipv6-address-no-zone; + description + "Quarantined network address "; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix length of the quarantined + network address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + container backup-routes { + description + "Backup route information for the given + table"; + list backup-route { + key "address prefix-length protoid"; + description + "Route information for a specific backup + address "; + leaf address { + type inet:ipv6-address-no-zone; + description + "Backup network address "; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix length of the backup network + address"; + } + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + container nexthops { + description + "Nexthop notification registerations + under a given table"; + list nexthop { + description + "List the nexthop notification + registeration under a given table"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Nexthop network address "; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix length of the nexthop network + address"; + } + leaf unresolved-nh-tree { + type boolean; + description + "Unresolved Nexthop Tree"; + } + leaf exact-match { + type boolean; + description + "Exact match"; + } + leaf allow-default { + type boolean; + description + "Allow Default"; + } + leaf recurse { + type boolean; + description + "Recurse"; + } + leaf cross-table { + type boolean; + description + "Cross table Nexthop"; + } + leaf pack-sfs { + type boolean; + description + "Pack SFS paths for Multicast"; + } + leaf pack-backup-paths { + type boolean; + description + "Pack backup paths"; + } + leaf backup-route { + type boolean; + description + "Backup route notifications"; + } + leaf best-metric { + type boolean; + description + "Return lowest metric"; + } + uses IPV6-RIB-EDM-NH-ADDR; + } + } + leaf route-table-name { + type xr:Cisco-ios-xr-string; + description + "Name of the route table "; + } + } + } + leaf saf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the SAF"; + } + } + } + leaf af-name { + type xr:Cisco-ios-xr-string; + description + "Name of the AF - 'IPv6'"; + } + } + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + } + } + } + + grouping RIB-STATS { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-stats { + description + "Statistics summary"; + container rib-stats-summary { + description + "Summary"; + uses IPV6-RIB-EDM-STATS-SUMMARY; + } + } + } + + grouping AS { + description + "Common node of bgp, ospf, isis, eigrp, rpl"; + list as { + key "as"; + description + "Autonomous System of protocol"; + leaf as { + type xr:Cisco-ios-xr-string; + description + "Autonomous system"; + } + uses INFORMATION; + uses PROTOCOL-ROUTE-TABLE; + } + } + + grouping RIB-RPF-LIST-TABLE { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-rpfs { + description + "Route prefix table"; + list rib-rpf { + key "table-id"; + description + "Table Id"; + container rib-rpf-list-summary-head-counts { + description + "rpf list table summary"; + list rib-rpf-list-summary-head-count { + key "rpf-head-count"; + description + "RPF Head count"; + leaf rpf-head-count { + type Rpf-head-count-range-v6; + description + "RPF Head count"; + } + uses IPV6-RIB-EDM-RPFLIST-OBJ; + } + } + container rib-rpf-list-routes { + description + "rpf list table route"; + list rib-rpf-list-route { + description + "Last route prefix and prefix length"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Route Address "; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix Length "; + } + uses IPV6-RIB-EDM-RPFLIST-OBJ; + } + } + leaf table-id { + type Table-id-range; + description + "Table ID"; + } + } + } + } + + grouping INFORMATION { + description + "Common node of as, non-as, l2vpn, lspv"; + container information { + description + "Protocol related Information"; + uses IPV6-RIB-EDM-PROTO; + } + } + + grouping RIB-TABLE { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-table-ids { + description + "RIB table"; + list rib-table-id { + key "tableid"; + description + "Specific Table"; + container rib-nexthop-prefixes { + description + "RIB table nexthop client table"; + list rib-nexthop-prefix { + description + "Nexthop prefix"; + container rib-nexthop-routes { + description + "Nexthop route table"; + list rib-nexthop-route { + description + "Route information for a specific + table/interface"; + leaf exact-match { + type boolean; + description + "Exact Match"; + } + leaf allow-default { + type boolean; + description + "Allow Default"; + } + leaf recurse { + type boolean; + description + "Recurse"; + } + leaf cross-table { + type boolean; + description + "Cross table nexthop"; + } + leaf pack-sfs { + type boolean; + description + "Pack SFS paths for Multicast"; + } + leaf pack-backup-paths { + type boolean; + description + "Pack backup paths"; + } + leaf backup-route { + type boolean; + description + "Backup route notifications"; + } + leaf best-metric { + type boolean; + description + "Return lowest metric"; + } + uses IPV6-RIB-EDM-NH-ADDR; + } + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix Length"; + } + leaf unresolved-nh-tree { + type boolean; + description + "Unresolved Nexthop Tree"; + } + } + } + container information { + description + "Table related Information"; + uses IPV6-RIB-EDM-TABLE; + } + container summary-protos { + description + "RIB table summary"; + list summary-proto { + key "protoid"; + description + "Route summary information for a specific + table/protocol "; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses RIB-EDM-PROTO-ROUTE-SUMM-DETAIL; + } + } + container nexthops-summary { + description + "Nexthops summary"; + uses IPV6-RIB-EDM-NH-STATS; + } + container rib-table-itf-hndls { + description + "RIB table interface"; + list rib-table-itf-hndl { + key "handle"; + description + "Interface handle"; + leaf handle { + type uint32 { + range "0..4294967295"; + } + description + "Itf Handle"; + } + list itf-route { + key "address"; + description + "Route information for a specific + table/interface "; + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + } + leaf tableid { + type xr:Hex-integer; + description + "Table ID"; + } + } + } + } + + grouping RIB-MAX-DEPTH { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-max-depth { + description + "Information of maximum recursion depth in RIB"; + uses IPV6-RIB-EDM-RECURSION-DEPTH-MAX; + } + } + + grouping RIB-IID-MGR { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-iid-mgr { + description + "RIB IID Operational Data"; + container iid-mgr-standby { + description + "Standby RIB IID operational data"; + uses IID-MGR-INFO; + uses IID-TABLE; + uses ALL-IID-TABLE; + } + container iid-mgr-active { + description + "Active RIB IID operational data"; + uses IID-MGR-INFO; + uses IID-TABLE; + uses ALL-IID-TABLE; + } + } + } + + grouping RIB-NH-ID-SUMMARY-TABLE { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-nh-id-summaries { + description + "NHIds table"; + list rib-nh-id-summary { + key "table-id"; + description + "Table Id"; + container rib-nh-ids { + description + "nhids summary"; + list rib-nh-id { + key "nh-id-entry-count"; + description + "NH Id"; + leaf nh-id-entry-count { + type Nhid-entry-count-range-v6; + description + "NH Id entry count"; + } + uses IPV6-RIB-EDM-NHID-OBJ; + } + } + leaf table-id { + type Table-id-range; + description + "Table Id"; + } + } + } + } + + grouping RIB-UPDATE-GROUP-TABLE { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-update-groups { + description + "RIB UpdateGroup table"; + list rib-update-group { + key "update-group-id"; + description + "UpdateGroup id"; + container rib-update-group-info { + description + "Information of specific updategroup"; + uses IPV6-RIB-EDM-UG; + } + leaf update-group-id { + type uint32; + description + "UpdateGroup Id"; + } + } + } + } + + grouping RIB-CLIENT-TABLE { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-clients { + description + "Client"; + list rib-client { + key "clientid"; + description + "Specific Client"; + container rib-client-stats { + description + "Statistics of table of a specific client"; + list rib-client-stat { + key "table-id"; + description + "Specific Table"; + container rib-client-stats-protos { + description + "Statistics of table of protocol of a + specific client"; + list rib-client-stats-proto { + key "proto-id"; + description + "Specific proto id"; + leaf proto-id { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV6-RIB-EDM-CLIENT-PROTO-STATS-SUMMARY; + } + } + leaf table-id { + type xr:Cisco-ios-xr-string; + description + "Table Id"; + } + } + } + container rib-client-redist-history-opaque { + description + "Opaque History information of the table + associated with a given redist under a + specific client"; + uses IPV6-RIB-EDM-CLIENT-REDIST-OPAQUE; + } + container rib-client-stats-redist-nexthops { + description + "Statistics of nexthop table distribution"; + list rib-client-stats-redist-nexthop { + key "table-id"; + description + "Specific Table"; + leaf table-id { + type Table-id-range; + description + "Table Id"; + } + uses IPV6-RIB-EDM-STATS-REDIST-NH; + } + } + container rib-client-stats-nexthops { + description + "Statistics of table of a specific client"; + list rib-client-stats-nexthop { + key "table-id"; + description + "Specific Table"; + leaf table-id { + type Table-id-range; + description + "Table Id"; + } + uses IPV6-RIB-EDM-STATS-NEXTHOP; + } + } + container rib-client-stats-client { + description + "Client statistics of a specific client"; + uses IPV6-RIB-EDM-CLIENT-STATS-SUMMARY; + } + container rib-client-stats-redists { + description + "Statistics of table distribution"; + list rib-client-stats-redist { + key "table-id"; + description + "Specific Table"; + container rib-client-stats-redist-protos { + description + "Protocol under a given table"; + list rib-client-stats-redist-proto { + key "proto-id"; + description + "Specific protocol"; + leaf proto-id { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV6-RIB-EDM-STATS-REDIST; + } + } + leaf table-id { + type Table-id-range; + description + "Table Id"; + } + } + } + container rib-client-redists { + description + "RIB client redistribution"; + list rib-client-redist { + key "table-id"; + description + "Id of RIB client redistribution Table"; + container rib-client-redist-info { + description + "Information for a specific redistribution + table under a given client"; + uses IPV6-RIB-EDM-CLIENT-REDIST-TABLE; + } + container rib-client-redist-protos { + description + "Client proto"; + list rib-client-redist-proto { + key "proto-id"; + description + "Protocols information for a specific client"; + leaf proto-id { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV6-RIB-EDM-CLIENT-REDIST-PROTO; + } + } + leaf table-id { + type xr:Cisco-ios-xr-string; + description + "Table Id"; + } + } + } + container rib-client-info { + description + "Information for a specific client"; + uses IPV6-RIB-EDM-CLIENT; + } + container rib-client-redist-stats { + description + "Redist statistics of a specific client"; + uses IPV6-RIB-EDM-STATS-REDIST; + } + container rib-client-redist-history { + description + "History information of the table associated + with a given redist under a specific client"; + uses IPV6-RIB-EDM-CLIENT-REDIST; + } + container rib-client-proto { + description + "Information of protocols of client"; + container rib-client-proto-info { + description + "Information of protocols of a specific client"; + uses IPV6-RIB-EDM-CLIENT-PROTO-INFO; + } + container rib-client-proto-table-ids { + description + "Client Protocol table"; + list rib-client-proto-table-id { + key "tableid"; + description + "Table ID for a given protocol under a given + client"; + container rib-client-proto-ids { + description + "Protocols list under a given table under a + given client"; + list rib-client-proto-id { + key "protoid"; + description + "Information of protocols under a given + table under a given client"; + leaf protoid { + type uint32 { + range "0..96"; + } + description + "Proto ID"; + } + uses IPV6-RIB-EDM-CLIENT-PROTO; + } + } + container rib-client-proto-table-info { + description + "Information of a specifc table under a + given protocol under a given client"; + uses IPV6-RIB-EDM-CLIENT-PROTO-TABLE-INFO; + } + leaf tableid { + type xr:Cisco-ios-xr-string; + description + "Table Id"; + } + } + } + } + leaf clientid { + type uint32 { + range "0..2501"; + } + description + "Client ID"; + } + } + } + } + + grouping NON-AS { + description + "Common node of local, srv6-local, iid-local, + connected, rip, static, subscriber, mobile, dagr, + application, te-client"; + container non-as { + description + "Non Autonomous System of protocol"; + uses INFORMATION; + uses PROTOCOL-ROUTE-TABLE; + } + } + + grouping PROTOCOL-ROUTE-TABLE { + description + "Common node of as, non-as, l2vpn, lspv"; + container protocol-routes { + description + "Protocol specific Route"; + list protocol-route { + key "address prefix-length"; + description + "Route information of a specific Network Address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix Length of the network address"; + } + uses IPV6-RIB-EDM-ROUTE; + } + } + } + + grouping IID-TABLE { + description + "Common node of iid-mgr-active, iid-mgr-standby"; + container iids { + description + "Container class for all active IIDs"; + list iid { + key "iid-prefix"; + description + "Operational container for a given IID"; + container iid-info { + description + "Operational data for a given IID"; + uses IIDMGR-IID-INFO; + } + leaf iid-prefix { + type inet:ipv6-address-no-zone; + description + "IID Value as IPv6 prefix"; + } + } + } + } + + grouping RIB-UPDATE-GROUP-PRUNED-NODES { + description + "Common node of ipv6-rib, ipv6-rib-stdby"; + container rib-update-group-pruned-nodes { + description + "Information of updategroup pruned nodes"; + container rib-update-group-pruned-nodes-info { + description + "Information of updategroup pruned nodes"; + uses IPV6-RIB-EDM-UG-PRUNED-NODES; + } + } + } + + container ipv6-rib { + config false; + description + "RIB operational data"; + uses RIB-TABLE; + uses RIB-MAX-DEPTH; + uses VRF-TABLE; + uses RIB-UPDATE-GROUP-TABLE; + uses RIB-NH-ID-HISTORY-TABLE; + uses RIB-CLIENT-TABLE; + uses RIB-IID-MGR; + uses RIB-RPF-LIST-TABLE; + uses RIB-STATS; + uses RIB-NH-ID-SUMMARY-TABLE; + uses RIB-UPDATE-GROUP-PRUNED-NODES; + } + container ipv6-rib-stdby { + config false; + description + "RIB standby node IPv6 operational data"; + uses RIB-TABLE; + uses RIB-MAX-DEPTH; + uses VRF-TABLE; + uses RIB-UPDATE-GROUP-TABLE; + uses RIB-NH-ID-HISTORY-TABLE; + uses RIB-CLIENT-TABLE; + uses RIB-IID-MGR; + uses RIB-RPF-LIST-TABLE; + uses RIB-STATS; + uses RIB-NH-ID-SUMMARY-TABLE; + uses RIB-UPDATE-GROUP-PRUNED-NODES; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-cfg.yang new file mode 100644 index 000000000..33a8c2228 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-cfg.yang @@ -0,0 +1,798 @@ +module Cisco-IOS-XR-ip-rip-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rip-cfg"; + prefix ip-rip-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rip package configuration. + + This module contains definitions + for the following management objects: + rip: RIP configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rip-ext-community { + type enumeration { + enum "as" { + value 0; + description + "AS:nn format"; + } + enum "ipv4-address" { + value 1; + description + "IPV4Address:nn format"; + } + enum "four-byte-as" { + value 2; + description + "4-byte ASN format"; + } + } + description + "Rip ext community"; + } + + typedef Default-redist-route { + type enumeration { + enum "all" { + value 0; + description + "All routes"; + } + } + description + "Default redist route"; + } + + typedef Default-information-option { + type enumeration { + enum "always" { + value 0; + description + "Always"; + } + enum "policy" { + value 1; + description + "Use route-policy"; + } + } + description + "Default information option"; + } + + typedef Isis-redist-route { + type enumeration { + enum "level1" { + value 1; + description + "Level-1 routes only"; + } + enum "level2" { + value 2; + description + "Level-1 routes only"; + } + enum "level1-and2" { + value 3; + description + "Level-1 and level-2 routes"; + } + } + description + "Isis redist route"; + } + + typedef Bgp-redist-route { + type enumeration { + enum "all" { + value 0; + description + "All routes"; + } + enum "internal" { + value 512; + description + "Internal routes only"; + } + enum "external" { + value 1024; + description + "External routes only"; + } + enum "local" { + value 2048; + description + "Local routes only"; + } + } + description + "Bgp redist route"; + } + + typedef Rip-auth-mode { + type enumeration { + enum "text" { + value 2; + description + "Text mode"; + } + enum "md5" { + value 3; + description + "MD5 mode"; + } + } + description + "Rip auth mode"; + } + + grouping DISTANCE { + description + "Common node of default-vrf, vrf"; + leaf distance { + type uint32 { + range "0..255"; + } + default "120"; + description + "Administrative distance"; + } + } + + grouping VALIDATE-SOURCE-DISABLE { + description + "Common node of default-vrf, vrf"; + leaf validate-source-disable { + type empty; + description + "Disable validation of source address of routing + updates"; + } + } + + grouping AUTO-SUMMARY { + description + "Common node of default-vrf, vrf"; + leaf auto-summary { + type empty; + description + "Enable automatic network number summarization"; + } + } + + grouping TIMERS { + description + "Common node of default-vrf, vrf"; + container timers { + presence "Indicates a timers node is configured."; + description + "Various routing timers"; + leaf update-timer { + type uint32 { + range "5..50000"; + } + mandatory true; + description + "Interval between updates"; + } + leaf invalid-timer { + type uint32 { + range "15..200000"; + } + mandatory true; + description + "Invalid"; + } + leaf holddown-timer { + type uint32 { + range "15..200000"; + } + mandatory true; + description + "Holddown"; + } + leaf flush-timer { + type uint32 { + range "16..250000"; + } + mandatory true; + description + "Flush"; + } + } + } + + grouping REDISTRIBUTION { + description + "Common node of default-vrf, vrf"; + container redistribution { + description + "Redistribute information from another routing + protocol"; + container connected { + presence "enable connected"; + description + "Redistribute connected routes"; + leaf route-policy-name { + type string; + description + "Route Policy name"; + } + leaf route-type { + type Default-redist-route; + description + "Route type"; + } + } + container bgps { + description + "Redistribute BGP routes"; + list bgp { + key "asnxx asnyy"; + description + "Autonomous system number"; + leaf asnxx { + type uint32 { + range "0..65535"; + } + description + "Higher 16 bits of 4-byte BGP AS number"; + } + leaf asnyy { + type uint32 { + range "0..4294967295"; + } + description + "2-byte or 4-byte BGP AS number"; + } + leaf policy { + type string; + description + "Route Policy name"; + } + leaf type { + type Bgp-redist-route; + description + "Route type"; + } + } + } + container isises { + description + "Redistribute IS-IS routes"; + list isis { + key "isis-name"; + description + "Redistribute IS-IS routes"; + leaf isis-name { + type xr:Cisco-ios-xr-string; + description + "IS-IS instance name"; + } + leaf route-policy-name { + type string; + description + "Route Policy name"; + } + leaf route-type { + type Isis-redist-route; + description + "Route type"; + } + } + } + container eigrp-s { + description + "Redistribute EIGRP routes"; + list eigrp { + key "as"; + description + "Redistribute EIGRP routes"; + leaf as { + type uint32 { + range "1..65535"; + } + description + "Autonomous system number"; + } + leaf route-policy-name { + type string; + description + "Route Policy name"; + } + leaf route-type { + type Default-redist-route; + description + "Route type"; + } + } + } + container static { + presence "enable static"; + description + "Redistribute static routes"; + leaf route-policy-name { + type string; + description + "Route Policy name"; + } + leaf route-type { + type Default-redist-route; + description + "Route type"; + } + } + container ospfs { + description + "Redistribute OSPF routes"; + list ospf { + key "ospf-name"; + description + "Redistribute OSPF routes"; + leaf ospf-name { + type xr:Cisco-ios-xr-string; + description + "Process ID for the OSPF instance"; + } + leaf route-policy-name { + type string; + description + "Route Policy name"; + } + leaf internal { + type boolean; + description + "Internal routes"; + } + leaf external { + type boolean; + description + "External routes"; + } + leaf external-type { + type uint32 { + range "0..2"; + } + description + "External route type"; + } + leaf nssa-external { + type boolean; + description + "NSSA External routes"; + } + leaf nssa-external-type { + type uint32 { + range "0..2"; + } + description + "NSSA External route type"; + } + } + } + } + } + + grouping DEFAULT-INFORMATION { + description + "Common node of default-vrf, vrf"; + container default-information { + presence "Indicates a default-information node is configured."; + description + "Controls default information origination"; + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf option { + type Default-information-option; + mandatory true; + description + "Origination option"; + } + } + } + + grouping IP-DISTANCE-TABLE { + description + "Common node of default-vrf, vrf"; + container ip-distances { + description + "Table of IP specific administrative distances"; + list ip-distance { + key "address netmask"; + description + "IP specific administrative distance"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP Source address"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IP address mask"; + } + leaf distance { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Administrative distance"; + } + } + } + } + + grouping MAXIMUM-PATHS { + description + "Common node of default-vrf, vrf"; + leaf maximum-paths { + type uint32 { + range "1..128"; + } + default "4"; + description + "Maximum number of paths allowed per route"; + } + } + + grouping POLICY-IN { + description + "Common node of default-vrf, vrf"; + leaf policy-in { + type string; + description + "Route Policy for inbbound routing updates"; + } + } + + grouping POLICY-OUT { + description + "Common node of default-vrf, vrf"; + leaf policy-out { + type string; + description + "Route Policy for outbound routing updates"; + } + } + + grouping INTERFACE-TABLE { + description + "Common node of default-vrf, vrf"; + container interfaces { + description + "Table of RIP interfaces"; + list interface { + key "interface-name"; + description + "RIP interface name"; + container authentication { + presence "Indicates a authentication node is configured."; + description + "Authentication keychain and mode"; + leaf keychain { + type string; + mandatory true; + description + "Name of keychain"; + } + leaf mode { + type Rip-auth-mode; + mandatory true; + description + "Authentication mode"; + } + } + container site-of-origin { + description + "SOO community for prefixes learned over this + interface"; + leaf type { + type Rip-ext-community; + description + "Extended community type"; + } + leaf as-xx { + when "../type != 'as' and ../type != 'ipv4-address'" { + description + "../Type != AS and ../Type != IPV4Address"; + } + type uint32 { + range "0..65535"; + } + description + "AS Number for AS:nn format"; + } + leaf as-yy { + when "../type != 'ipv4-address'" { + description + "../Type != IPV4Address"; + } + type uint32 { + range "0..4294967295"; + } + description + "32 bit value for AS:nn format"; + } + leaf as-index { + when "../type != 'ipv4-address'" { + description + "../Type != IPV4Address"; + } + type uint32 { + range "0..4294967295"; + } + description + "AS Number Index"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IPV4 address for IPV4Address:nn format"; + } + leaf address-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type uint32 { + range "0..65535"; + } + description + "16bit value for IPV4Address:nn format"; + } + } + container receive-version { + description + "RIP versions supported for receiving + advertisements"; + leaf version1 { + type boolean; + description + "Support RIP version 1"; + } + leaf version2 { + type boolean; + default "true"; + description + "Support RIP version 2"; + } + } + container send-version { + description + "RIP versions supported for sending + advertisements"; + leaf version1 { + type boolean; + description + "Support RIP version 1"; + } + leaf version2 { + type boolean; + default "true"; + description + "Support RIP version 2"; + } + } + leaf broadcast-for-v2 { + type empty; + description + "Send RIP v2 output packets to broadcast + address"; + } + leaf poison-reverse { + type empty; + description + "Enable poison reverse"; + } + leaf passive { + type empty; + description + "Suppress routing updates on this interface"; + } + leaf enable { + type empty; + description + "Starts RIP interface configuration"; + } + leaf policy-out { + type string; + description + "Route Policy for outbound routing updates"; + } + leaf accept-metric-zero { + type empty; + description + "Accept RIP updates with metric 0"; + } + leaf policy-in { + type string; + description + "Route Policy for inbound routing updates"; + } + leaf split-horizon-disable { + type empty; + description + "Disable split horizon"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + } + + grouping BROADCAST-FOR-V2 { + description + "Common node of default-vrf, vrf"; + leaf broadcast-for-v2 { + type empty; + description + "Send RIP v2 output packets to broadcast address"; + } + } + + grouping NSF { + description + "Common node of default-vrf, vrf"; + leaf nsf { + type empty; + description + "Enable Cisco Non Stop Forwarding"; + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbors { + description + "Configure RIP Neighbors"; + list neighbor { + key "neighbor-address"; + description + "Neighbor address"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + } + } + + grouping OUTPUT-DELAY { + description + "Common node of default-vrf, vrf"; + leaf output-delay { + type uint32 { + range "8..50"; + } + units "millisecond"; + description + "Inter-packet delay for RIP updates"; + } + } + + grouping DEFAULT-METRIC { + description + "Common node of default-vrf, vrf"; + leaf default-metric { + type uint32 { + range "0..16"; + } + description + "Default metric of redistributed routes"; + } + } + + container rip { + description + "RIP configuration"; + container default-vrf { + description + "RIP configuration for Default VRF"; + leaf enable { + type empty; + description + "Starts RIP configuration for Default VRF"; + } + uses BROADCAST-FOR-V2; + uses DISTANCE; + uses DEFAULT-INFORMATION; + uses DEFAULT-METRIC; + uses OUTPUT-DELAY; + uses AUTO-SUMMARY; + uses REDISTRIBUTION; + uses IP-DISTANCE-TABLE; + uses POLICY-OUT; + uses INTERFACE-TABLE; + uses NEIGHBOR-TABLE; + uses VALIDATE-SOURCE-DISABLE; + uses MAXIMUM-PATHS; + uses NSF; + uses POLICY-IN; + uses TIMERS; + } + container vrfs { + description + "VRF related RIP configuration"; + list vrf { + key "vrf-name"; + description + "RIP configuration for a particular VRF"; + leaf enable { + type empty; + description + "Starts RIP configuration for a particular VRF"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses BROADCAST-FOR-V2; + uses DISTANCE; + uses DEFAULT-INFORMATION; + uses DEFAULT-METRIC; + uses OUTPUT-DELAY; + uses AUTO-SUMMARY; + uses REDISTRIBUTION; + uses IP-DISTANCE-TABLE; + uses POLICY-OUT; + uses INTERFACE-TABLE; + uses NEIGHBOR-TABLE; + uses VALIDATE-SOURCE-DISABLE; + uses MAXIMUM-PATHS; + uses NSF; + uses POLICY-IN; + uses TIMERS; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper-sub1.yang new file mode 100644 index 000000000..d768e06d7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper-sub1.yang @@ -0,0 +1,1238 @@ +submodule Cisco-IOS-XR-ip-rip-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-rip-oper { + prefix Cisco-IOS-XR-ip-rip-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-rip package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-31 { + description + "Removed Unused leafs triggered rip and neighbor from IPv6 information of interfaces + 2021-12-10 + Corrected pathname for vrf global data + 2021-09-15 + Changed datatype of IPv6Prefix in IPv6Route + 2021-09-07 + Added support for RIPv6 in oper schema"; + semver:module-version "1.0.2M"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Interface-state { + type enumeration { + enum "interface-none" { + value 0; + description + "Interface does not exist"; + } + enum "interface-down" { + value 1; + description + "Interface exists but IP is down"; + } + enum "interface-up" { + value 2; + description + "Interface exists and IP is up"; + } + enum "interface-unknown" { + value 3; + description + "Unknown state"; + } + } + description + "Interface state"; + } + + typedef Rip-route-origin { + type enumeration { + enum "rip-rt-org-runover" { + value 0; + description + "configured 'network'"; + } + enum "rip-rt-org-redist" { + value 1; + description + "redistributed"; + } + enum "rip-rt-org-auto-summary" { + value 2; + description + "auto summary"; + } + enum "rip-rt-org-rip" { + value 3; + description + "learned via RIP"; + } + enum "rip-rt-org-intsummary" { + value 4; + description + "interface summary-address"; + } + enum "rip-rt-org-unused" { + value 5; + description + "route stay in for triggered rip"; + } + } + description + "Rip route origin"; + } + + grouping V6-RIP-SHOW-PROTO-PROC-BD { + description + "RIP protocol process data"; + leaf vrf-config-count { + type uint32; + description + "Number of VRFs configured"; + } + leaf vrf-active-count { + type uint32; + description + "Number of active VRFs"; + } + leaf socket-descriptor { + type int32; + description + "Socket descriptior"; + } + leaf current-oom-state { + type int32; + description + "Current OOM state"; + } + leaf route-count { + type uint32; + description + "Number of routes allocated"; + } + leaf path-count { + type uint32; + description + "Number of paths allocated"; + } + list vrf-summary { + description + "List of VRFs configured"; + uses RIP-SHOW-VRF-SUMM-BD; + } + } + + grouping V6-RIP-SHOW-IF-SUMM-BD { + description + "IPv6 RIP Interface summary data"; + leaf interface-name { + type string; + description + "Interface name"; + } + leaf enabled { + type boolean; + description + "RIP enabled indicator"; + } + leaf state { + type Interface-state; + description + "Interface state"; + } + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 address"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of IP address"; + } + leaf oom-flags { + type uint32; + description + "Current OOM flags"; + } + leaf neighbor-count { + type uint32; + description + "Number of neighbors seen"; + } + } + + grouping V6-RIP-SHOW-PROTO-VRF-BD { + description + "RIP IPv6 protocol VRF data"; + container vrf-summary { + description + "VRF summary data"; + uses RIP-SHOW-VRF-SUMM-BD; + } + list ipv6-interface-summary { + description + "List of IPv6 Interfaces configured"; + uses V6-RIP-SHOW-IF-SUMM-BD; + } + } + + grouping V6-RIP-PEER-BD { + description + "A ipv6 RIP peer"; + leaf peer-uptime { + type uint32; + description + "Uptime of this peer"; + } + leaf ipv6-peer-address { + type inet:ipv6-address; + description + "IPv6 Address of this peer"; + } + leaf peer-version { + type uint8; + description + "RIP version for this peer"; + } + leaf discarded-peer-packets { + type uint32; + description + "Discarded packets from this peer"; + } + leaf discarded-peer-routes { + type uint32; + description + "Discarded routes from this peer"; + } + } + + grouping V6-RIP-SHOW-INTERFACE-BD { + description + "An IPv6 Rip enabled interface"; + leaf interface { + type string; + description + "Interface name"; + } + leaf if-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf rip-enabled { + type boolean; + description + "Whether RIP is enabled on this interface"; + } + leaf is-passive-interface { + type boolean; + description + "Passive interface indicator"; + } + leaf accept-metric-zero { + type boolean; + description + "Accept routes of metric 0 indicator"; + } + leaf state { + type Interface-state; + description + "Current state of the interface"; + } + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 Address of this interface"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of the IP address"; + } + leaf metric-cost { + type uint32; + description + "Cost added to routes through this interface"; + } + leaf split-horizon { + type boolean; + description + "Split horizon enabled indicator"; + } + leaf poison-reverse { + type boolean; + description + "Poisoned reverse enabled indicator"; + } + leaf oom-flags { + type uint32; + description + "Out-of-memory status flags"; + } + leaf join-status { + type boolean; + description + "Multicast group join status"; + } + leaf lpts-state { + type boolean; + description + "Lpts status"; + } + leaf total-pkt-recvd { + type uint32; + description + "Total packets received"; + } + list rip-peer { + description + "Neighbors on this interface"; + uses V6-RIP-PEER-BD; + } + } + + grouping V6-RIP-SHOW-GLOBAL-CONFIG-BD { + description + "RIPv6's configuration settings"; + leaf active { + type boolean; + description + "VRF active indicator"; + } + leaf vr-fised-socket { + type boolean; + description + "VRF added to socket indicator"; + } + leaf default-metric { + type uint8; + description + "Default metric for RIP routes"; + } + leaf maximum-paths { + type uint8; + description + "Maximum number of paths a route can have"; + } + leaf update-timer { + type uint32; + description + "Update timer"; + } + leaf next-update-time { + type uint32; + description + "Time left for next update"; + } + leaf invalid-timer { + type uint32; + description + "Invalid timer"; + } + leaf hold-down-timer { + type uint32; + description + "Holddown timer"; + } + leaf flush-timer { + type uint32; + description + "Flush timer"; + } + leaf oom-flags { + type uint32; + description + "Out-of-memory status flags"; + } + leaf nsf-status { + type boolean; + description + "NSF Enable status"; + } + leaf nsf-life-time { + type uint32; + description + "NSF life time"; + } + } + + grouping V6-RIP-SHOW-STATISTICS-BD { + description + "RIP v6 statistics"; + leaf received-packets { + type uint32; + description + "Total packets received"; + } + leaf discarded-packets { + type uint32; + description + "Total discarded packets"; + } + leaf discarded-routes { + type uint32; + description + "Total discarded routes"; + } + leaf standby-packets-received { + type uint32; + description + "Packets rx in SRP"; + } + leaf sent-messages { + type uint32; + description + "Number of messages sent"; + } + leaf sent-message-failures { + type uint32; + description + "Number of message send failures"; + } + leaf query-responses { + type uint32; + description + "Number of RIP queries responded to"; + } + leaf periodic-updates { + type uint32; + description + "Number of periodic RIP updates"; + } + leaf route-count { + type uint32; + description + "Number of routes allocated"; + } + leaf path-count { + type uint32; + description + "Number of paths allocated"; + } + leaf route-malloc-failures { + type uint32; + description + "Number of failures to allocate memory for a + route"; + } + leaf path-malloc-failures { + type uint32; + description + "Number of failures to allocate memory for a path"; + } + leaf rib-updates { + type uint32; + description + "Number of route updates to RIB made by RIP"; + } + } + + grouping V6-RIP-PATH-BD { + description + "A ipv6 RIP route path"; + leaf ipv6-source-address { + type inet:ipv6-address; + description + "IPv6 Source address"; + } + leaf ipv6-next-hop-address { + type inet:ipv6-address; + description + "IPv6 Next hop address"; + } + leaf metric { + type uint16; + description + "Metric"; + } + leaf tag { + type uint16; + description + "Tag"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf up-time { + type uint32; + description + "Up time"; + } + leaf is-permanent { + type boolean; + description + "Permanent indicator"; + } + } + + grouping V6-RIP-SHOW-ROUTE-BD { + description + "A ipv6 route in RIP's local routing table"; + leaf ipv6-destination-address { + type inet:ipv6-address; + description + "IPv6 Destination IP Address for this route"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of IPv6 address"; + } + leaf distance { + type uint16; + description + "Route administrative distance"; + } + leaf hop-count { + type uint16; + description + "Hop count for this route"; + } + leaf route-type { + type uint16; + description + "Type of this route"; + } + leaf route-tag { + type uint16; + description + "Generic route information"; + } + leaf version { + type uint8; + description + "RIB supplied version number"; + } + leaf attributes { + type uint32; + description + "RIB supplied route attributes"; + } + leaf active { + type boolean; + description + "Active route indicator"; + } + leaf path-origin { + type Rip-route-origin; + description + "Where this route was learnt"; + } + leaf hold-down { + type boolean; + description + "Indicates whether route is in holddown"; + } + list paths { + description + "The paths for this route"; + uses V6-RIP-PATH-BD; + } + } + + grouping RIP-SHOW-PROTO-PROC-BD { + description + "RIP protocol process data"; + leaf vrf-config-count { + type uint32; + description + "Number of VRFs configured"; + } + leaf vrf-active-count { + type uint32; + description + "Number of active VRFs"; + } + leaf socket-descriptor { + type int32; + description + "Socket descriptior"; + } + leaf current-oom-state { + type int32; + description + "Current OOM state"; + } + leaf route-count { + type uint32; + description + "Number of routes allocated"; + } + leaf path-count { + type uint32; + description + "Number of paths allocated"; + } + list vrf-summary { + description + "List of VRFs configured"; + uses RIP-SHOW-VRF-SUMM-BD; + } + } + + grouping RIP-SHOW-IF-SUMM-BD { + description + "RIP Interface summary data"; + leaf interface-name { + type string; + description + "Interface name"; + } + leaf enabled { + type boolean; + description + "RIP enabled indicator"; + } + leaf state { + type Interface-state; + description + "Interface state"; + } + leaf destination-address { + type inet:ipv4-address; + description + "IP address"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of IP address"; + } + leaf oom-flags { + type uint32; + description + "Current OOM flags"; + } + leaf send-version { + type uint32; + description + "RIP versions this interface sends out"; + } + leaf receive-version { + type uint32; + description + "RIP versions this interface will receive"; + } + leaf neighbor-count { + type uint32; + description + "Number of neighbors seen"; + } + } + + grouping RIP-SHOW-VRF-SUMM-BD { + description + "RIP VRF summary data"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf active { + type boolean; + description + "VRF Active indicator"; + } + leaf oom-flags { + type uint32; + description + "Current OOM flags"; + } + leaf route-count { + type uint32; + description + "Number of routes allocated"; + } + leaf path-count { + type uint32; + description + "Number of paths allocated"; + } + leaf update-timer { + type uint32; + description + "Update timer"; + } + leaf next-update-time { + type uint32; + description + "Time left for next update"; + } + leaf invalid-timer { + type uint32; + description + "Invalid timer"; + } + leaf hold-down-timer { + type uint32; + description + "Holddown timer"; + } + leaf flush-timer { + type uint32; + description + "Flush timer"; + } + leaf interface-configured-count { + type uint32; + description + "Number of interfaces configured"; + } + leaf active-interface-count { + type uint32; + description + "Number of active interfaces"; + } + } + + grouping RIP-SHOW-PROTO-VRF-BD { + description + "RIP protocol VRF data"; + container vrf-summary { + description + "VRF summary data"; + uses RIP-SHOW-VRF-SUMM-BD; + } + list interface-summary { + description + "List of Interfaces configured"; + uses RIP-SHOW-IF-SUMM-BD; + } + } + + grouping RIP-PEER-BD { + description + "A RIP peer"; + leaf peer-uptime { + type uint32; + description + "Uptime of this peer"; + } + leaf peer-address { + type inet:ipv4-address; + description + "IP Address of this peer"; + } + leaf peer-version { + type uint8; + description + "RIP version for this peer"; + } + leaf discarded-peer-packets { + type uint32; + description + "Discarded packets from this peer"; + } + leaf discarded-peer-routes { + type uint32; + description + "Discarded routes from this peer"; + } + } + + grouping RIP-SUMMARY-BD { + description + "A RIP summary route"; + leaf prefix { + type inet:ipv4-address; + description + "Summary address prefix"; + } + leaf prefix-length { + type uint32; + description + "Summary address prefix length"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Summary address next hop"; + } + leaf metric { + type int32; + description + "Summary metric"; + } + } + + grouping RIP-SHOW-INTERFACE-BD { + description + "A RIP-enabled interface"; + leaf interface { + type string; + description + "Interface name"; + } + leaf if-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf rip-enabled { + type boolean; + description + "Whether RIP is enabled on this interface"; + } + leaf is-passive-interface { + type boolean; + description + "Passive interface indicator"; + } + leaf multicast-address { + type boolean; + description + "Use broadcast address for v2 packets"; + } + leaf accept-metric-zero { + type boolean; + description + "Accept routes of metric 0 indicator"; + } + leaf send-version { + type uint32; + description + "Versions that the interface is sending"; + } + leaf receive-version { + type uint32; + description + "Versions that the interface will recieve"; + } + leaf state { + type Interface-state; + description + "Current state of the interface"; + } + leaf destination-address { + type inet:ipv4-address; + description + "IP Address of this interface"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of the IP address"; + } + leaf metric-cost { + type uint32; + description + "Cost added to routes through this interface"; + } + leaf split-horizon { + type boolean; + description + "Split horizon enabled indicator"; + } + leaf poison-reverse { + type boolean; + description + "Poisoned reverse enabled indicator"; + } + leaf triggered-rip { + type boolean; + description + "Triggered RIP enabled indicator"; + } + leaf neighbor-address { + type inet:ipv4-address; + description + "Interface's triggered RIP neighbor"; + } + leaf oom-flags { + type uint32; + description + "Out-of-memory status flags"; + } + leaf join-status { + type boolean; + description + "Multicast group join status"; + } + leaf lpts-state { + type boolean; + description + "LPTSState"; + } + leaf auth-mode { + type uint32; + description + "Authentication Mode"; + } + leaf auth-keychain { + type string; + description + "Authentication Keychain Name"; + } + leaf send-auth-key-exists { + type boolean; + description + "Authentication send key exists"; + } + leaf auth-key-md5 { + type boolean; + description + "Authentication key programmed with MD5 algorithm"; + } + leaf auth-key-send-id { + type uint64; + description + "Current active Send Authentication Key Id"; + } + leaf total-pkt-recvd { + type uint32; + description + "Total packets received"; + } + leaf pkt-drop-wrong-kc { + type uint32; + description + "Packets dropped due to wrong keychain configured"; + } + leaf pkt-drop-no-auth { + type uint32; + description + "Packets dropped due to missing authentication + data"; + } + leaf pkt-drop-invalid-auth { + type uint32; + description + "Packets dropped due to invalid authentication + data"; + } + leaf pkt-accepted-valid-auth { + type uint32; + description + "Packets accepted with valid authentication data"; + } + list rip-summary { + description + "User defined summary addresses"; + uses RIP-SUMMARY-BD; + } + list rip-peer { + description + "Neighbors on this interface"; + uses RIP-PEER-BD; + } + } + + grouping RIP-SHOW-STATISTICS-BD { + description + "RIP statistics"; + leaf received-packets { + type uint32; + description + "Total packets received"; + } + leaf discarded-packets { + type uint32; + description + "Total discarded packets"; + } + leaf discarded-routes { + type uint32; + description + "Total discarded routes"; + } + leaf standby-packets-received { + type uint32; + description + "Packets rx in SRP"; + } + leaf sent-messages { + type uint32; + description + "Number of messages sent"; + } + leaf sent-message-failures { + type uint32; + description + "Number of message send failures"; + } + leaf query-responses { + type uint32; + description + "Number of RIP queries responded to"; + } + leaf periodic-updates { + type uint32; + description + "Number of periodic RIP updates"; + } + leaf route-count { + type uint32; + description + "Number of routes allocated"; + } + leaf path-count { + type uint32; + description + "Number of paths allocated"; + } + leaf route-malloc-failures { + type uint32; + description + "Number of failures to allocate memory for a + route"; + } + leaf path-malloc-failures { + type uint32; + description + "Number of failures to allocate memory for a path"; + } + leaf rib-updates { + type uint32; + description + "Number of route updates to RIB made by RIP"; + } + } + + grouping RIP-SHOW-GLOBAL-CONFIG-BD { + description + "RIP's configuration settings"; + leaf active { + type boolean; + description + "VRF active indicator"; + } + leaf vr-fised-socket { + type boolean; + description + "VRF added to socket indicator"; + } + leaf rip-version { + type int32; + description + "Version of RIP configured"; + } + leaf default-metric { + type uint8; + description + "Default metric for RIP routes"; + } + leaf maximum-paths { + type uint8; + description + "Maximum number of paths a route can have"; + } + leaf auto-summarize { + type boolean; + description + "Auto-summarization indicator"; + } + leaf multicast-address { + type boolean; + description + "Use broadcast/multicast address indicator"; + } + leaf flash-threshold { + type uint8; + description + "Flash update threshold"; + } + leaf input-q-length { + type uint16; + description + "Length of the input queue"; + } + leaf triggered-rip { + type boolean; + description + "Triggered RIP enabled indicator"; + } + leaf validation-indicator { + type boolean; + description + "Incoming packet source validation indicator"; + } + leaf update-timer { + type uint32; + description + "Update timer"; + } + leaf next-update-time { + type uint32; + description + "Time left for next update"; + } + leaf invalid-timer { + type uint32; + description + "Invalid timer"; + } + leaf hold-down-timer { + type uint32; + description + "Holddown timer"; + } + leaf flush-timer { + type uint32; + description + "Flush timer"; + } + leaf oom-flags { + type uint32; + description + "Out-of-memory status flags"; + } + leaf nsf-status { + type boolean; + description + "NSF Enable status"; + } + leaf nsf-life-time { + type uint32; + description + "NSF life time"; + } + } + + grouping RIP-PATH-BD { + description + "A RIP route path"; + leaf source-address { + type inet:ipv4-address; + description + "Source address"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next hop address"; + } + leaf metric { + type uint16; + description + "Metric"; + } + leaf tag { + type uint16; + description + "Tag"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf uptime { + type uint32; + description + "Up time"; + } + leaf is-permanent { + type boolean; + description + "Permanent indicator"; + } + } + + grouping RIP-SHOW-ROUTE-BD { + description + "A route in RIP's local routing table"; + leaf destination-address { + type inet:ipv4-address; + description + "Destination IP Address for this route"; + } + leaf prefix-length-xr { + type uint32; + description + "Prefix length of IP address"; + } + leaf distance { + type uint16; + description + "Route administrative distance"; + } + leaf hop-count { + type uint16; + description + "Hop count for this route"; + } + leaf route-type { + type uint16; + description + "Type of this route"; + } + leaf route-summary { + type boolean; + description + "Summary route placeholder indicator"; + } + leaf route-tag { + type uint16; + description + "Generic route information"; + } + leaf version { + type uint8; + description + "RIB supplied version number"; + } + leaf attributes { + type uint32; + description + "RIB supplied route attributes"; + } + leaf active { + type boolean; + description + "Active route indicator"; + } + leaf path-origin { + type Rip-route-origin; + description + "Where this route was learnt"; + } + leaf hold-down { + type boolean; + description + "Indicates whether route is in holddown"; + } + list paths { + description + "The paths for this route"; + uses RIP-PATH-BD; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper.yang new file mode 100644 index 000000000..77ef283b9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rip-oper.yang @@ -0,0 +1,318 @@ +module Cisco-IOS-XR-ip-rip-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rip-oper"; + prefix ip-rip-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-rip-oper-sub1 { + revision-date 2022-03-31; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rip package operational data. + + This module contains definitions + for the following management objects: + rip: RIP operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-31 { + description + "Removed Unused leafs triggered rip and neighbor from IPv6 information of interfaces + 2021-12-10 + Corrected pathname for vrf global data + 2021-09-15 + Changed datatype of IPv6Prefix in IPv6Route + 2021-09-07 + Added support for RIPv6 in oper schema"; + semver:module-version "1.0.2M"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping IPV6-INTERFACE-TABLE { + description + "Common node of ipv6-default-vrf, ipv6vrf"; + container ipv6-interfaces { + description + "RIPv6 interfaces"; + list ipv6-interface { + key "interface-name"; + description + "Information about a particular RIPv6 interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses V6-RIP-SHOW-INTERFACE-BD; + } + } + } + + grouping ROUTE-TABLE { + description + "Common node of default-vrf, vrf"; + container routes { + description + "RIP route database"; + list route { + description + "A route in the RIP database"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Network prefix"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Prefix length"; + } + uses RIP-SHOW-ROUTE-BD; + } + } + } + + grouping IPV6-ROUTE-TABLE { + description + "Common node of ipv6-default-vrf, ipv6vrf"; + container ipv6-routes { + description + "RIPv6 route database"; + list ipv6-route { + description + "A route in the RIPv6 database"; + leaf ipv6-prefix { + type inet:ipv6-address-no-zone; + description + "Network prefix"; + } + leaf ipv6-prefix-length { + type uint32 { + range "0..128"; + } + description + "Prefix length"; + } + uses V6-RIP-SHOW-ROUTE-BD; + } + } + } + + grouping STATISTICS { + description + "Common node of default-vrf, vrf"; + container statistics { + description + "RIP statistics information"; + uses RIP-SHOW-STATISTICS-BD; + } + } + + grouping IPV6-STATISTICS { + description + "Common node of ipv6-default-vrf, ipv6vrf"; + container ipv6-statistics { + description + "RIP statistics information"; + uses V6-RIP-SHOW-STATISTICS-BD; + } + } + + grouping IPV6-CONFIGURATION { + description + "Common node of ipv6-default-vrf, ipv6vrf"; + container ipv6-configuration { + description + "RIPv6 global configuration"; + uses V6-RIP-SHOW-GLOBAL-CONFIG-BD; + } + } + + grouping DEFAULT-VRF { + description + "Common node of rip, protocol"; + container default-vrf { + description + "RIP operational data for Default VRF"; + uses ROUTE-TABLE; + uses CONFIGURATION; + uses STATISTICS; + uses INTERFACE-TABLE; + } + } + + grouping CONFIGURATION { + description + "Common node of default-vrf, vrf"; + container configuration { + description + "RIP global configuration"; + uses RIP-SHOW-GLOBAL-CONFIG-BD; + } + } + + grouping INTERFACE-TABLE { + description + "Common node of default-vrf, vrf"; + container interfaces { + description + "RIP interfaces"; + list interface { + key "interface-name"; + description + "Information about a particular RIP interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses RIP-SHOW-INTERFACE-BD; + } + } + } + + container rip { + config false; + description + "RIP operational data"; + container vrfs { + description + "VRF related operational data"; + list vrf { + key "vrf-name"; + description + "Operational data for a particular VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF"; + } + uses ROUTE-TABLE; + uses CONFIGURATION; + uses STATISTICS; + uses INTERFACE-TABLE; + } + } + container protocol { + description + "Protocol operational data"; + container protocol-vrf-names { + description + "Protocol VRF list"; + list protocol-vrf-name { + key "vrf-name"; + description + "Protocol data for a particular VRF"; + container global { + description + "Global Information "; + uses RIP-SHOW-PROTO-VRF-BD; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF"; + } + } + } + container process { + description + "RIP global process "; + uses RIP-SHOW-PROTO-PROC-BD; + } + uses DEFAULT-VRF; + } + container ipv6-address-family { + description + "RIPv6 operational data"; + container ipv6vrfs { + description + "VRF related operational data for v6"; + list ipv6vrf { + key "vrf-name"; + description + "IPv6 Operational data for a particular VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF"; + } + uses IPV6-ROUTE-TABLE; + uses IPV6-STATISTICS; + uses IPV6-CONFIGURATION; + uses IPV6-INTERFACE-TABLE; + } + } + container ipv6-protocol { + description + "IPv6 Protocol operational data"; + container ipv6-protocol-vrf-names { + description + "IPv6 Protocol VRF list"; + list ipv6-protocol-vrf-name { + key "vrf-name"; + description + "IPv6 Protocol data for a particular VRF"; + container ipv6-global { + description + "IPv6 Global Information for RIP"; + uses V6-RIP-SHOW-PROTO-VRF-BD; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF"; + } + } + } + container ipv6-process { + description + "RIP global process "; + uses V6-RIP-SHOW-PROTO-PROC-BD; + } + } + container ipv6-default-vrf { + description + "RIPv6 operational data for Default VRF"; + uses IPV6-ROUTE-TABLE; + uses IPV6-STATISTICS; + uses IPV6-CONFIGURATION; + uses IPV6-INTERFACE-TABLE; + } + } + uses DEFAULT-VRF; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-cfg.yang new file mode 100644 index 000000000..63ed8f52e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-cfg.yang @@ -0,0 +1,739 @@ +module Cisco-IOS-XR-ip-rsvp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rsvp-cfg"; + prefix ip-rsvp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rsvp package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-rsvp-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + rsvp: Global RSVP configuration commands + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-09-20 { + description + "missing some containers under rsvp.signalling.graceful-restart in the RSVP UM cfg model"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rsvp-rdm { + type enumeration { + enum "rdm" { + value 1; + description + "RDM Keyword Specified"; + } + enum "not-specified" { + value 2; + description + "RDM Keyword Not Specified"; + } + enum "use-default-bandwidth" { + value 3; + description + "Use Default Bandwidth - 75% Link Bandwidth"; + } + } + description + "Rsvp rdm"; + } + + typedef Rsvp-bc0 { + type enumeration { + enum "bc0" { + value 1; + description + "Keyword is bc0"; + } + enum "global-pool" { + value 2; + description + "Keyword is global-pool"; + } + enum "not-specified" { + value 3; + description + "Keyword is not specified"; + } + } + description + "Rsvp bc0"; + } + + typedef Rsvp-bw-cfg { + type enumeration { + enum "absolute" { + value 0; + description + "Configuration is in absolute bandwidth values"; + } + enum "percentage" { + value 1; + description + "Configuration is in percentage of physical + bandwidth values"; + } + } + description + "Rsvp bw cfg"; + } + + typedef Rsvp-bc1 { + type enumeration { + enum "bc1" { + value 1; + description + "Keyword is bc1"; + } + enum "sub-pool" { + value 2; + description + "Keyword is sub-pool"; + } + } + description + "Rsvp bc1"; + } + + grouping AUTHENTICATION { + description + "Common node of rsvp, interface, neighbor"; + container authentication { + description + "Configure RSVP authentication"; + leaf life-time { + type uint32 { + range "30..86400"; + } + units "second"; + description + "Life time (in seconds) for each security + association"; + } + leaf enable { + type boolean; + description + "Enable or disable RSVP authentication"; + } + leaf window-size { + type uint32 { + range "1..64"; + } + description + "Window-size to limit number of out-of-order + messages"; + } + leaf key-chain { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Key chain to authenticate RSVP signalling + messages"; + } + } + } + + grouping OUT-OF-BAND { + description + "Common node of cntl-signalling, if-signalling"; + container out-of-band { + description + "Configure RSVP out-of-band signalling parameters"; + leaf missed-messages { + type uint32 { + range "1..110000"; + } + default "38000"; + description + "Configure max number of consecutive missed + messages for state expiry for out-of-band + tunnels"; + } + leaf refresh-interval { + type uint32 { + range "180..86400"; + } + units "second"; + description + "Configure interval between successive refreshes + for out-of-band tunnels"; + } + } + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container rsvp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-rsvp-cfg.yang which will provide + the compatible functionalities. Enable RSVP-MIB + notifications"; + leaf lost-flow { + type empty; + description + "Enable lostFlow notification"; + } + leaf new-flow { + type empty; + description + "Enable newFlow notification"; + } + leaf enable { + type empty; + description + "Enable all RSVP notifications"; + } + } + } + container rsvp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-rsvp-cfg.yang which will provide + the compatible functionalities. Global RSVP + configuration commands"; + container neighbors { + description + "RSVP Neighbor Table"; + list neighbor { + key "neighbor"; + description + "RSVP neighbor configuration"; + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + uses AUTHENTICATION; + } + } + container controllers { + description + "Controller table"; + list controller { + key "controller-name"; + description + "Controller configuration"; + container cntl-signalling { + description + "Configure RSVP signalling parameters"; + uses OUT-OF-BAND; + } + leaf enable { + type empty; + description + "Enable RSVP on an interface"; + } + leaf controller-name { + type xr:Interface-name; + description + "Name of controller"; + } + } + } + container global-logging { + description + "Global Logging"; + leaf log-nsr-status { + type empty; + description + "Enable NSR Status Logging"; + } + leaf log-issu-status { + type empty; + description + "Enable ISSU Status Logging"; + } + } + container global-bandwidth { + description + "Configure Global Bandwidth Parameters"; + container default-interface-percent { + description + "Configure Global RSVP signalling parameters"; + container mam { + description + "Configure global default MAM I/F percent + bandwidth parameters"; + leaf max-res-percent { + type uint32 { + range "0..10000"; + } + description + "Default maximum reservable I/F % B/W "; + } + leaf bc0-percent { + type uint32 { + range "0..10000"; + } + description + "Default BC0 pool I/F % B/W "; + } + leaf bc1-percent { + type uint32 { + range "0..10000"; + } + description + "Default BC1 pool I/F % B/W "; + } + } + container rdm { + description + "Configure global default RDM I/F percent + bandwidth parameters"; + leaf bc0-percent { + type uint32 { + range "0..10000"; + } + description + "Default BC0 pool I/F % B/W "; + } + leaf bc1-percent { + type uint32 { + range "0..10000"; + } + description + "Default BC1 pool I/F % B/W "; + } + } + } + } + container interfaces { + description + "Interface table"; + list interface { + key "name"; + description + "Interface configuration"; + container if-signalling { + description + "Configure RSVP signalling parameters"; + container refresh-reduction { + description + "Configure RSVP Refresh Reduction parameters"; + leaf disable { + type empty; + description + "Disable refresh reduction"; + } + leaf reliable-ack-max-size { + type uint32 { + range "20..65000"; + } + units "byte"; + default "4096"; + description + "Configure max size of a single RSVP ACK + message"; + } + leaf reliable-ack-hold-time { + type uint32 { + range "100..5000"; + } + units "millisecond"; + default "400"; + description + "Configure hold time for sending RSVP ACK + message(s)"; + } + leaf reliable-retransmit-time { + type uint32 { + range "100..10000"; + } + units "millisecond"; + default "2100"; + description + "Configure min delay to wait for an ACK + before a retransmit"; + } + leaf reliable-s-refresh { + type empty; + description + "Configure use of reliable messaging for + summary refresh"; + } + leaf summary-max-size { + type uint32 { + range "20..65000"; + } + units "byte"; + default "4096"; + description + "Configure max size of a single RSVP summary + refresh message"; + } + leaf bundle-message-max-size { + type uint32 { + range "512..65000"; + } + units "byte"; + default "4096"; + description + "Configure maximum size of a single RSVP + Bundle message"; + } + } + container interval-rate { + description + "Configure number of messages to be sent per + interval"; + leaf messages-per-interval { + type uint32 { + range "1..500"; + } + default "100"; + description + "Number of messages to be sent per interval"; + } + leaf interval-size { + type uint32 { + range "250..2000"; + } + units "millisecond"; + default "1000"; + description + "Size of an interval (milliseconds)"; + } + } + leaf dscp { + type uint32 { + range "0..63"; + } + description + "Differentiated Services Code Point (DSCP)"; + } + leaf missed-messages { + type uint32 { + range "1..8"; + } + default "4"; + description + "Configure max number of consecutive missed + messages for state expiry"; + } + leaf hello-graceful-restart-if-based { + type empty; + description + "Enable IF-based Hello adjacency on a RSVP + interface"; + } + leaf pacing { + type empty; + description + "Enable rate-limiting on the interface"; + } + leaf refresh-interval { + type uint32 { + range "10..180"; + } + units "second"; + default "45"; + description + "Configure interval between successive + refreshes"; + } + uses OUT-OF-BAND; + } + container bandwidth { + description + "Configure Bandwidth"; + container mam { + description + "Configure MAM bandwidth parameters"; + leaf max-resv-bandwidth { + type uint32 { + range "0..4294967295"; + } + description + "Maximum reservable bandwidth (Kbps or + percent of physical bandwidth)"; + } + leaf max-resv-flow { + type uint32 { + range "0..4294967295"; + } + description + "Largest reservable flow (Kbps or percent of + physical bandwidth)"; + } + leaf bc0-bandwidth { + type uint32 { + range "0..4294967295"; + } + description + "Reservable bandwidth in BC0 (Kbps or percent + of physical bandwidth)"; + } + leaf bc1-bandwidth { + type uint32 { + range "0..4294967295"; + } + description + "Reservable bandwidth in BC1 (Kbps or percent + of physical bandwidth)"; + } + leaf bandwidth-mode { + type Rsvp-bw-cfg; + units "percentage"; + description + "Absolute or Percentage bandwidth mode"; + } + } + container rdm { + description + "Configure RDM bandwidth parameters"; + leaf max-resv-flow { + when "../rdm-keyword = 'rdm' or ../rdm-keyword = 'not-specified'" { + description + "../RDMKeyword = RDM or ../RDMKeyword = + NotSpecified"; + } + type uint32 { + range "0..4294967295"; + } + description + "Largest reservable flow (Kbps or percent of + physical bandwidth)"; + } + leaf bc0-bandwidth { + when "../rdm-keyword = 'rdm' or ../rdm-keyword = 'not-specified'" { + description + "../RDMKeyword = RDM or ../RDMKeyword = + NotSpecified"; + } + type uint32 { + range "0..4294967295"; + } + description + "Reservable bandwidth in BC0 (Kbps or percent + of physical bandwidth)"; + } + leaf bc1-bandwidth { + when "../rdm-keyword = 'rdm' or ../rdm-keyword = 'not-specified'" { + description + "../RDMKeyword = RDM or ../RDMKeyword = + NotSpecified"; + } + type uint32 { + range "0..4294967295"; + } + description + "Reservable bandwidth in BC1 (Kbps or percent + of physical bandwidth)"; + } + leaf rdm-keyword { + type Rsvp-rdm; + description + "Set requests should always use RDM"; + } + leaf bc0-keyword { + when "../rdm-keyword = 'rdm' or ../rdm-keyword = 'not-specified'" { + description + "../RDMKeyword = RDM or ../RDMKeyword = + NotSpecified"; + } + type Rsvp-bc0; + description + "Set requests should always use BC0"; + } + leaf bc1-keyword { + when "../rdm-keyword = 'rdm' or ../rdm-keyword = 'not-specified'" { + description + "../RDMKeyword = RDM or ../RDMKeyword = + NotSpecified"; + } + type Rsvp-bc1; + description + "Set requests should always use BC1"; + } + leaf bandwidth-mode { + when "../rdm-keyword = 'rdm' or ../rdm-keyword = 'not-specified'" { + description + "../RDMKeyword = RDM or ../RDMKeyword = + NotSpecified"; + } + type Rsvp-bw-cfg; + units "percentage"; + description + "Absolute or Percentage bandwidth mode"; + } + } + } + leaf name { + type xr:Interface-name; + description + "Name of interface"; + } + uses AUTHENTICATION; + } + } + container signalling { + description + "Configure Global RSVP signalling parameters"; + container global-out-of-band { + description + "Configure out-of-band signalling parameters"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF used for out-of-band control signalling"; + } + } + container graceful-restart { + description + "Configure RSVP Graceful-Restart parameters"; + container lsp-class-type { + description + "Send LSP's ctype for recovery and suggested + label"; + leaf enable { + type boolean; + description + "Send LSP's ctype for recovery and suggested + label"; + } + } + leaf enable { + type boolean; + description + "Enable RSVP graceful restart"; + } + leaf restart-time { + type uint32 { + range "60..3600"; + } + units "second"; + default "120"; + description + "Graceful restart time (seconds)"; + } + leaf recovery-time { + type uint32 { + range "0..3600"; + } + units "second"; + default "120"; + description + "Graceful restart recovery time (seconds)"; + } + } + container prefix-filtering { + description + "Configure prefix filtering parameters"; + container default-deny-action { + description + "Configure RSVP behaviour for scenarios where + ACL match yields a default (implicit) deny"; + leaf drop { + type empty; + description + "Configure RSVP to drop packets when ACL match + yields a default (implicit) deny"; + } + } + leaf acl { + type string { + length "1..65"; + } + description + "Configure an ACL to perform prefix filtering + of RSVP Router Alert messages"; + } + } + container pesr { + description + "Sending Path Error with State-Removal flag"; + leaf disable { + type empty; + description + "Disable RSVP PESR"; + } + } + container checksum { + description + "RSVP message checksum computation"; + leaf disable { + type empty; + description + "Disable RSVP message checksum computation"; + } + } + leaf hello-graceful-restart-misses { + type uint32 { + range "1..10"; + } + default "3"; + description + "Configure max number of consecutive missed + Hello messages"; + } + leaf hello-graceful-restart-interval { + type uint32 { + range "3000..30000"; + } + units "millisecond"; + default "5000"; + description + "Configure interval between successive Hello + messages"; + } + } + uses AUTHENTICATION; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper-sub1.yang new file mode 100644 index 000000000..2cd4b74e8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper-sub1.yang @@ -0,0 +1,4758 @@ +submodule Cisco-IOS-XR-ip-rsvp-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-rsvp-oper { + prefix Cisco-IOS-XR-ip-rsvp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-rsvp package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igpte-lib-bw-model { + type enumeration { + enum "rdm" { + value 0; + description + "Russian Dolls Model"; + } + enum "mam" { + value 1; + description + "Maximum Allocation Model"; + } + enum "not-set" { + value 2; + description + "No model set"; + } + } + description + "Bandwidth model"; + } + + typedef Rsvp-mgmt-restart-state { + type enumeration { + enum "done" { + description + "Restart is done"; + } + enum "recovery" { + description + "Neighbor is in recovery"; + } + enum "abort" { + description + "Neighbor recovery aborted"; + } + } + description + "RSVP GR (Graceful Restart) Restart states"; + } + + typedef Rsvp-mgmt-hello-down-reason { + type enumeration { + enum "not-applicable" { + description + "Not applicable. This means RSVP Hellos are up"; + } + enum "wrong-destination-instance" { + description + "Incorrect destination instance in received + Hellos"; + } + enum "wrong-source-instance" { + description + "Incorrect source instance in received Hellos"; + } + enum "hello-missed" { + description + "Hellos not being received"; + } + enum "interface-down" { + description + "Interface went down"; + } + enum "neighbor-disabled-hello" { + description + "Neighbor disabled Hellos"; + } + enum "control-channel-down" { + description + "Control channel went down"; + } + } + description + "Reasons why RSVP Hellos went down"; + } + + typedef Rsvp-mgmt-hello-instance-owner { + type enumeration { + enum "mpls-graceful-restart" { + description + "MPLS Graceful Restart"; + } + enum "mpls-ouni" { + description + "MPLS OUNI"; + } + } + description + "RSVP Hello instance owner"; + } + + typedef Rsvp-mgmt-association { + type enumeration { + enum "none" { + value 0; + description + "No ASSOCIATION Object present"; + } + enum "ipv4" { + value 1; + description + "IPv4 ASSOCIATION Type"; + } + enum "ipv6" { + value 2; + description + "IPv6 ASSOCIATION Type"; + } + enum "extended-ipv4" { + value 3; + description + "EXTENDED IPv4 ASSOCIATION Type"; + } + enum "extended-ipv6" { + value 4; + description + "EXTENDED IPv6 ASSOCIATION Type"; + } + } + description + "RSVP ASSOCIATION Types"; + } + + typedef Rsvp-mgmt-rro-subobj { + type enumeration { + enum "ipv4rro-type" { + value 1; + description + "IPv4 RRO Type"; + } + enum "label-rro-type" { + value 3; + description + "Label RRO Type"; + } + enum "unnumbered-rro-type" { + value 4; + description + "Unnumbered RRO Type"; + } + enum "srlg-rro-type" { + value 34; + description + "SRLG RRO Type"; + } + } + description + "RSVP RRO Types"; + } + + typedef Rsi-vrf-id { + type uint32; + description + "Rsi vrf id"; + } + + typedef Rsvp-mgmt-frr-state-enum { + type enumeration { + enum "ready-state" { + value 0; + description + "Ready State"; + } + enum "pending-state" { + value 1; + description + "Pending"; + } + enum "active-state" { + value 2; + description + "Active State"; + } + } + description + "RSVP FRR States"; + } + + typedef Rsvp-proc-nsr-not-ready-reason { + type enumeration { + enum "collab-time-out" { + description + "Collab connection time out"; + } + enum "collab-conntection-idt" { + description + "Collab connection down or IDT not done"; + } + enum "nsr-peer-not-connected" { + description + "NSR peer not connected"; + } + enum "nsr-peer-not-in-sync" { + description + "NSR peer not in sync"; + } + } + description + "Rsvp proc nsr not ready reason"; + } + + typedef Rsvp-sync-status { + type enumeration { + enum "not-ready" { + description + "Not Ready"; + } + enum "ready" { + description + "Ready"; + } + } + description + "Rsvp sync status"; + } + + typedef Rsvp-mgmt-gr-app { + type enumeration { + enum "ouni" { + description + "Application is OUNI"; + } + enum "gmpls" { + description + "Application is GMPLS"; + } + } + description + "RSVP Graceful Restart application type"; + } + + typedef Rsvp-proc-role { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "v1-active" { + description + "V1 Active"; + } + enum "v1-standby" { + description + "V1 Standby"; + } + enum "v2-active" { + description + "V2 Active"; + } + enum "v2-standby" { + description + "V2 Standby"; + } + enum "v1-active-post-big-bang" { + description + "V1 Active post big-bang"; + } + enum "v1-standby-post-big-bang" { + description + "V1 Standbyi post big-bang"; + } + enum "count" { + description + "Count"; + } + } + description + "RSVP Process Role"; + } + + typedef Rsvp-mgmt-auth-challenge-status { + type enumeration { + enum "rsvp-mgmt-auth-cs-not-cfg" { + description + "Not configured"; + } + enum "rsvp-mgmt-auth-cs-completed" { + description + "Complete"; + } + enum "rsvp-mgmt-auth-cs-in-progress" { + description + "In Progress"; + } + enum "rsvp-mgmt-auth-cs-failure" { + description + "Failed"; + } + enum "rsvp-mgmt-auth-cs-not-supported" { + description + "Not supported"; + } + } + description + "RSVP Authentication Challenge Status"; + } + + typedef Rsvp-mgmt-hello-instance { + type enumeration { + enum "active" { + description + "Hello requests and ACKs are sent"; + } + enum "passive" { + description + "Hello ACKs only are sent"; + } + } + description + "RSVP Hello instance types"; + } + + typedef Rsvp-mgmt-hello-state { + type enumeration { + enum "hello-state-init" { + description + "No Hello messages ever received from neighbor"; + } + enum "hello-state-up" { + description + "Receiving expected Hello messages from neighbor"; + } + enum "hello-state-down" { + description + "Stopped receiving expected Hello messages from + neighbor"; + } + } + description + "RSVP Hello instance states"; + } + + typedef Rsvp-mgmt-reservation-type-enum { + type enumeration { + enum "rsvp-mgmt-ff-option" { + value 10; + description + "Single Reservation"; + } + enum "rsvp-mgmt-wf-option" { + value 17; + description + "Shared Reservation, Unlimited Scope"; + } + enum "rsvp-mgmt-se-option" { + value 18; + description + "Shared Reservation, Limited Scope"; + } + } + description + "RSVP Reservation Types"; + } + + typedef Rsvp-mgmt-flow-spec { + type enumeration { + enum "g709otn" { + value 5; + description + "G709 OTN FlowSpec Type"; + } + } + description + "RSVP Generic FlowSpec Types"; + } + + typedef Rsvp-mgmt-qos-service-enum { + type enumeration { + enum "rsvp-mgmt-qos-unknown" { + value 0; + description + "QOS Unknown"; + } + enum "rsvp-mgmt-qos-guaranteed" { + value 3; + description + "QOS Guaranteed"; + } + enum "rsvp-mgmt-qos-controlled-load" { + value 5; + description + "QOS Controlled Load"; + } + enum "rsvp-mgmt-qos-qualitative" { + value 6; + description + "QOS Qualitative"; + } + } + description + "QOS Types"; + } + + typedef Rsvp-mgmt-messageid { + type uint32; + description + "Rsvp mgmt messageid"; + } + + typedef Rsvp-timer-state { + type enumeration { + enum "rsvp-timer-running-and-sleeping" { + value 1; + description + "RSVP timer running and sleeping"; + } + enum "rsvp-timer-running" { + value 2; + description + "RSVP timer running"; + } + enum "rsvp-timer-not-running" { + value 3; + description + "RSVP timer not running"; + } + } + description + "RSVP Timer States"; + } + + typedef Rsvp-mgmt-ero-subobj-status { + type enumeration { + enum "rsvp-mgmt-ero-status-not-available" { + value 0; + description + "ERO is not available in topology"; + } + enum "rsvp-mgmt-ero-status-available" { + value 1; + description + "ERO is available in topology"; + } + enum "rsvp-mgmt-ero-status-bw-not-available" { + value 2; + description + "ERO doesn't have bw available in topology"; + } + } + description + "RSVP ERO Status"; + } + + typedef Rsvp-mgmt-ero-subobj { + type enumeration { + enum "rsvp-mgmt-ero-type-ipv4" { + value 1; + description + "IPv4 ERO Type"; + } + enum "rsvp-mgmt-ero-type-un-num" { + value 4; + description + "Unnumbered ERO Type"; + } + } + description + "RSVP ERO Types"; + } + + typedef Rsvp-mgmt-generic-label { + type enumeration { + enum "rsvp-mgmt-label-type-gmpls" { + value 2; + description + "Generalized Label Type"; + } + } + description + "RSVP Generic Label Types"; + } + + typedef Rsvp-mgmt-mpls-label { + type uint32; + description + "Rsvp mgmt mpls label"; + } + + typedef Rsvp-mgmt-tspec { + type enumeration { + enum "g709otn" { + value 5; + description + "G709 OTN Sender Tspec Type"; + } + enum "intsrv" { + value 12; + description + "Int-Serv Sender Tspec Type"; + } + } + description + "RSVP Generic Sender Tspec Types"; + } + + typedef Rsvp-mgmt-filter { + type enumeration { + enum "rsvp-mgmt-filter-type-ipv4" { + value 1; + description + "IPv4 FilterSpec Type"; + } + enum "rsvp-mgmt-filter-type-p2mp-lsp-ipv4" { + value 12; + description + "P2MP LSP IPv4 FilterSpec Type"; + } + } + description + "RSVP Filter Types"; + } + + typedef Rsvp-mgmt-session { + type enumeration { + enum "rsvp-mgmt-session-type-udp-ipv4" { + value 1; + description + "UDP IPv4 Session Type"; + } + enum "rsvp-mgmt-session-type-lsp-ipv4" { + value 7; + description + "LSP IPv4 Session Type"; + } + enum "rsvp-mgmt-session-type-uni-ipv4" { + value 9; + description + "UNI IPv4 Session Type"; + } + enum "rsvp-mgmt-session-type-p2mp-lsp-ipv4" { + value 13; + description + "P2MP LSP IPv4 Session Type"; + } + } + description + "RSVP Session Types"; + } + + typedef Rsvp-mgmt-auth-ki { + type enumeration { + enum "rsvp-mgmt-auth-ki-type-none" { + description + "None"; + } + enum "rsvp-mgmt-auth-ki-type-global" { + description + "Global"; + } + enum "rsvp-mgmt-auth-ki-type-interface" { + description + "Interface"; + } + enum "rsvp-mgmt-auth-ki-type-neighbor" { + description + "Neighbor"; + } + } + description + "RSVP Authentication KeyInfo Type"; + } + + typedef Rsvp-mgmt-auth-direction { + type enumeration { + enum "rsvp-mgmt-auth-direction-send" { + description + "Send"; + } + enum "rsvp-mgmt-auth-direction-recv" { + description + "Receive"; + } + } + description + "RSVP Authentication Direction Types"; + } + + typedef Rsvp-mgmt-dste-modes { + type enumeration { + enum "pre-standard" { + value 1; + description + "pre standard"; + } + enum "standard" { + value 3; + description + "standard"; + } + } + description + "RSVP DSTE modes"; + } + + grouping RSVP-MGMT-RXSB-DETAIL { + description + "Detailed Form of RSVP Proxy Reservation"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container style { + description + "RSVP Style"; + uses RSVP-MGMT-STYLE; + } + container filter { + description + "RSVP Filter"; + uses RSVP-MGMT-FILTER-INFO; + } + container flow-spec { + description + "Flow Spec Information"; + uses RSVP-MGMT-FLOW-SPEC; + } + container generic-flow-spec { + description + "Generic Flow Spec Information"; + uses RSVP-MGMT-GEN-FLOW-SPEC; + } + container hop { + description + "Path Hop Info"; + uses RSVP-MGMT-HOP-INFO; + } + container rsvp-header { + description + "RSVP Header"; + uses RSVP-MGMT-HEADER-INFO; + } + leaf input-interface { + type string; + description + "Path Input Interface"; + } + leaf dynamic-state { + type uint32; + description + "Dynamic State Handle"; + } + } + + grouping RSVP-MGMT-PXSB-DETAIL { + description + "Detailed Form of RSVP Proxy Path"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container template { + description + "RSVP Template"; + uses RSVP-MGMT-FILTER-INFO; + } + container traffic-spec { + description + "RSVP Traffic Spec Info"; + uses RSVP-MGMT-TRAFFIC-SPEC; + } + container generic-traffic-spec { + description + "RSVP Generic Traffic Spec Info"; + uses RSVP-MGMT-GEN-TRAFFIC-SPEC; + } + container hop { + description + "Path Hop Info"; + uses RSVP-MGMT-HOP-INFO; + } + container rsvp-header { + description + "RSVP Header"; + uses RSVP-MGMT-HEADER-INFO; + } + leaf input-interface { + type string; + description + "Path Input Interface"; + } + leaf dynamic-state { + type uint32; + description + "Dynamic State Handle"; + } + } + + grouping RSVP-MGMT-GLBL-BW-POOL-INFO { + description + "Global B/W pool information"; + leaf max-res-pool-percent { + type uint32; + units "percentage"; + description + "Maxium reservable I/F percent B/W"; + } + leaf bc0-percent { + type uint32; + units "percentage"; + description + "BC0 I/F percent B/W"; + } + leaf bc1-percent { + type uint32; + units "percentage"; + description + "BC1 I/F percent B/W"; + } + leaf is-max-res-pool-percent-configured { + type boolean; + description + "Is maximum reservable default I/F percent + configured"; + } + leaf is-bc0-percent-configured { + type boolean; + description + "Is BC0 default I/F percent configured"; + } + leaf is-bc1-percent-configured { + type boolean; + description + "Is BC1 default I/F percent configured"; + } + leaf bandwidth-configuration-model { + type Igpte-lib-bw-model; + description + "Bandwith configuration model currently in use + (MAM/RDM)"; + } + } + + grouping RSVP-MGMT-GLBL-NBR-COMPACT { + description + "Compact Info for RSVP Global Neighbor"; + container global-neighbor-flags { + description + "Global Neighbor Flags"; + uses RSVP-MGMT-GLBL-NBR-FLAGS; + } + leaf is-gr-enabled { + type boolean; + description + "Is GR enabled"; + } + leaf node-address { + type inet:ipv4-address; + description + "Neighbor node address"; + } + leaf restart-state { + type Rsvp-mgmt-restart-state; + description + "Restart state"; + } + list local-node-address { + description + "Local node address"; + leaf entry { + type inet:ipv4-address; + description + "Local node address"; + } + } + list neighbor-hello-state { + description + "Neighbor Hello state"; + leaf entry { + type Rsvp-mgmt-hello-state; + description + "Neighbor Hello state"; + } + } + list lost-communication-reason { + description + "Reason why communication was lost"; + leaf entry { + type Rsvp-mgmt-hello-down-reason; + description + "Reason why communication was lost"; + } + } + list lost-communication-total { + description + "Total number of times communication got lost"; + leaf entry { + type uint16; + description + "Total number of times communication got lost"; + } + } + list up-time { + description + "Time hellos have been up"; + uses RSVP-MGMT-TIMESPEC; + } + list lost-communication-time { + description + "Time when communication was lost"; + uses RSVP-MGMT-TIMESPEC; + } + } + + grouping RSVP-MGMT-PATH-COMPACT { + description + "Compact Form of RSVP Path Info"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container template { + description + "RSVP Template"; + uses RSVP-MGMT-FILTER-INFO; + } + container session-attribute { + description + "RSVP Session Attribute"; + uses RSVP-MGMT-SESSION-ATTRIBUTE; + } + container traffic-spec { + description + "RSVP Traffic Spec Info"; + uses RSVP-MGMT-TRAFFIC-SPEC; + } + container generic-traffic-spec { + description + "RSVP Generic Traffic Spec Info"; + uses RSVP-MGMT-GEN-TRAFFIC-SPEC; + } + leaf input-interface { + type string; + description + "Path Input Interface"; + } + } + + grouping RSVP-MGMT-GLBL-NBR-FLAGS { + description + "Global Neighbor Flags"; + leaf is-application-ouni { + type boolean; + description + "OUNI Application"; + } + leaf is-application-mpls { + type boolean; + description + "MPLS Application"; + } + } + + grouping RSVP-MGMT-GLBL-NBR-DETAIL { + description + "Detail Info for RSVP Global Neighbor"; + container global-neighbor-flags { + description + "Global Neighbor Flags"; + uses RSVP-MGMT-GLBL-NBR-FLAGS; + } + container restart-time-left { + description + "How much restart time remains"; + uses RSVP-MGMT-TIMESPEC; + } + container restart-timer-expiry-time { + description + "When will restart timer expire"; + uses RSVP-MGMT-TIMESPEC; + } + container recovery-time-left { + description + "How much recovery timer remains"; + uses RSVP-MGMT-TIMESPEC; + } + container recovery-timer-exp-time { + description + "Time at which recovery timer will expire"; + uses RSVP-MGMT-TIMESPEC; + } + leaf is-gr-enabled { + type boolean; + description + "Is GR enabled"; + } + leaf node-address { + type inet:ipv4-address; + description + "Neighbor node address"; + } + leaf restart-state { + type Rsvp-mgmt-restart-state; + description + "Current restart state"; + } + leaf restart-time { + type uint32; + units "millisecond"; + description + "GR Restart Time (milliseconds)"; + } + leaf is-restart-timer-running { + type boolean; + description + "Is GR restart timer running"; + } + leaf recovery-time { + type uint32; + units "millisecond"; + description + "GR Recovery Time (milliseconds)"; + } + leaf is-recovery-timer-running { + type boolean; + description + "Is RSVP recovery timer running"; + } + leaf hello-interval { + type uint32; + units "millisecond"; + description + "Hello Interval (milliseconds)"; + } + leaf missed-hellos { + type uint8; + description + "Hello missed count"; + } + leaf pending-states { + type uint32; + description + "Number of pending states for this neighbor"; + } + list local-node-address { + description + "Local node address"; + leaf entry { + type inet:ipv4-address; + description + "Local node address"; + } + } + list interface-neighbor { + description + "Interface Neighbor List"; + leaf entry { + type inet:ipv4-address; + description + "Interface Neighbor List"; + } + } + list neighbor-hello-state { + description + "Neighbor's hello state"; + leaf entry { + type Rsvp-mgmt-hello-state; + description + "Neighbor's hello state"; + } + } + list lost-communication-reason { + description + "Reason why communication was lost"; + leaf entry { + type Rsvp-mgmt-hello-down-reason; + description + "Reason why communication was lost"; + } + } + list lost-communication-total { + description + "Total number of times communication got lost"; + leaf entry { + type uint16; + description + "Total number of times communication got lost"; + } + } + list up-time { + description + "Hello up time"; + uses RSVP-MGMT-TIMESPEC; + } + list lost-communication-time { + description + "Time when communication was lost"; + uses RSVP-MGMT-TIMESPEC; + } + } + + grouping RSVP-MGMT-HELLO-INSTANCE-DETAIL { + description + "Detail Info for RSVP Hello Instance"; + container up-time { + description + "Hello up time"; + uses RSVP-MGMT-TIMESPEC; + } + container communication-lost-time { + description + "Time when communication was lost"; + uses RSVP-MGMT-TIMESPEC; + } + leaf source-address-xr { + type inet:ipv4-address; + description + "Source address"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "Destination address"; + } + leaf hello-instance-owner { + type Rsvp-mgmt-hello-instance-owner; + description + "Hello instance owner"; + } + leaf neighbor-hello-state { + type Rsvp-mgmt-hello-state; + description + "Neighbor Hello state"; + } + leaf instance-type { + type Rsvp-mgmt-hello-instance; + description + "Hello instance type"; + } + leaf hello-interface { + type xr:Interface-name; + description + "Interface to use"; + } + leaf hello-interval { + type uint32; + description + "Hello Interval"; + } + leaf missed-acks-allowed { + type uint32; + description + "Number of missed Hello allowed"; + } + leaf source-instance { + type uint32; + description + "Source Instance"; + } + leaf destination-instance { + type uint32; + description + "Destination Instance"; + } + leaf communication-lost-reason { + type Rsvp-mgmt-hello-down-reason; + description + "Reason why communication was lost"; + } + leaf total-communication-lost { + type uint16; + description + "Total number of times communication got lost"; + } + leaf communication-lost-hello-missed { + type uint16; + description + "Lost Comm. Hello missed count"; + } + leaf communication-lost-wrong-source-inst { + type uint16; + description + "Count of lost comm. due to wrong Source Inst"; + } + leaf communication-lost-wrong-destination-inst { + type uint16; + description + "Count of lost comm. due to wrong Destination + Inst"; + } + leaf communication-lost-interface-down { + type uint16; + description + "Count of lost comm. due to interface down"; + } + leaf communication-lost-neighbor-disabled-hello { + type uint16; + description + "Count of lost comm. due to nbor disabling Hellos"; + } + leaf hello-messages-sent { + type uint64; + description + "Number of hello messages sent"; + } + leaf hello-messages-received { + type uint64; + description + "Number of hello messages received"; + } + leaf hello-request-suppressed { + type uint64; + description + "Count of Hello Requests suppessed"; + } + } + + grouping RSVP-SESSION-RSB-DETAIL { + description + "RSVP Detail Session Reservation Info"; + container generic-out-label { + description + "Generic Label for outbound traffic"; + uses RSVP-MGMT-GENERIC-LABEL; + } + container flow-spec { + description + "Flow spec object"; + uses RSVP-MGMT-FLOW-SPEC; + } + container generic-flow-spec { + description + "Generic Flow Spec object"; + uses RSVP-MGMT-GEN-FLOW-SPEC; + } + leaf is-valid { + type boolean; + description + "Entry validity"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf out-interface { + type xr:Interface-name; + description + "Interface on which outbound message was sent"; + } + leaf out-label { + type Rsvp-mgmt-mpls-label; + description + "Label for outbound traffic"; + } + leaf backup-interface { + type xr:Interface-name; + description + "Backup tunnel interface"; + } + leaf backup-label { + type Rsvp-mgmt-mpls-label; + description + "Backup label"; + } + leaf is-rro-valid { + type boolean; + description + "RRO validity"; + } + leaf is-flow-spec-valid { + type boolean; + description + "FlowSpec validity"; + } + list rro { + description + "Record route object"; + uses RSVP-MGMT-RRO-SUBOBJ; + } + } + + grouping RSVP-MGMT-REV-LSP-UNSUPPORTED-SUBOBJ { + description + "RSVP MGMT REV LSP UNSUPPORTED SUBOBJ"; + list rsvp-mgmt-rev-lsp-unsupported-subobj { + description + "rsvp mgmt rev lsp unsupported subobj"; + leaf entry { + type uint8; + description + "rsvp mgmt rev lsp unsupported subobj"; + } + } + } + + grouping RSVP-MGMT-REVERSE-LSP { + description + "RSVP REVERSE_LSP Object"; + container generic-traffic-spec { + description + "Generic Traffic Spec object"; + uses RSVP-MGMT-GEN-TRAFFIC-SPEC; + } + list ero { + description + "Explicit Route Sub Objects"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + list unsup-sub-object { + description + "Unsupported REVERSE_LSP Sub Objects"; + uses RSVP-MGMT-REV-LSP-UNSUPPORTED-SUBOBJ; + } + } + + grouping RSVP-MGMT-PROTECTION-LINK-FLAGS { + description + "RSVP PROTECTION Object Link Flags"; + leaf enhanced { + type boolean; + description + "Indicates Enhanced Protection Scheme"; + } + leaf ded1-plus1 { + type boolean; + description + "Dedicated 1+1 Protection"; + } + leaf ded1-to1 { + type boolean; + description + "Dedicated 1:1 Protection"; + } + leaf shared { + type boolean; + description + "Shared Link Layer Protection"; + } + leaf unprotected { + type boolean; + description + "LSP should not use any Link Layer Protection"; + } + leaf extra-traffic { + type boolean; + description + "LSP should use Links that are protecting other + (primary) traffic"; + } + leaf reserved-bit1 { + type boolean; + description + "Reserved Bit 1"; + } + leaf reserved-bit2 { + type boolean; + description + "Reserved Bit 2"; + } + } + + grouping RSVP-MGMT-PROTECTION-LSP-FLAGS { + description + "RSVP PROTECTION Object LSP Flags"; + leaf rerouting { + type boolean; + description + "Full Rerouting"; + } + leaf rerouting-no-et { + type boolean; + description + "Rerouting Without Extra-Traffic"; + } + leaf one-to-n-protection-et { + type boolean; + description + "1:N Protection with Extra-Traffic"; + } + leaf one-plus-one-uni { + type boolean; + description + "1+1 Unidirectional Protection"; + } + leaf one-plus-one-bi { + type boolean; + description + "1+1 Bidirectional Protection"; + } + } + + grouping RSVP-MGMT-PROTECTION { + description + "RSVP PROTECTION Object Info"; + container lsp-flags { + description + "PROTECTION Object LSP Flags"; + uses RSVP-MGMT-PROTECTION-LSP-FLAGS; + } + container link-flags { + description + "PROTECTION Object Link Flags"; + uses RSVP-MGMT-PROTECTION-LINK-FLAGS; + } + leaf s { + type boolean; + description + "Secondary Bit"; + } + leaf p { + type boolean; + description + "Protecting Bit"; + } + leaf n { + type boolean; + description + "Notification Bit"; + } + leaf o { + type boolean; + description + "Operational Bit"; + } + } + + grouping RSVP-MGMT-ASSOCIATION-IPV6-EXT { + description + "RSVP EXTENDED ASSOCIATION IPv6 Object Info"; + leaf type { + type uint16; + description + "Association Type (RFC 4872)"; + } + leaf id { + type uint16; + description + "Association ID"; + } + leaf source { + type inet:ipv6-address; + description + "Association IPV6 Source Address"; + } + leaf global-source { + type uint32; + description + "Global Association Source"; + } + list extended-id { + description + "Extended Association ID"; + leaf entry { + type uint32; + description + "Extended Association ID"; + } + } + } + + grouping RSVP-MGMT-ASSOCIATION-IPV4-EXT { + description + "RSVP EXTENDED ASSOCIATION IPv4 Object Info"; + leaf type { + type uint16; + description + "Association Type (RFC 4872)"; + } + leaf id { + type uint16; + description + "Association ID"; + } + leaf source { + type inet:ipv4-address; + description + "Association IPV4 Source Address"; + } + leaf global-source { + type uint32; + description + "Global Association Source"; + } + list extended-id { + description + "Extended Association ID"; + leaf entry { + type uint32; + description + "Extended Association ID"; + } + } + } + + grouping RSVP-MGMT-ASSOCIATION-IPV6 { + description + "RSVP ASSOCIATION IPv6 Object Info"; + leaf type { + type uint16; + description + "Association Type (RFC 4872)"; + } + leaf id { + type uint16; + description + "Association ID"; + } + leaf source { + type inet:ipv6-address; + description + "Association IPV6 Source Address"; + } + } + + grouping RSVP-MGMT-ASSOCIATION-IPV4 { + description + "RSVP ASSOCIATION IPv4 Object Info"; + leaf type { + type uint16; + description + "Association Type (RFC 4872)"; + } + leaf id { + type uint16; + description + "Association ID"; + } + leaf source { + type inet:ipv4-address; + description + "Association IPV4 Source Address"; + } + } + + grouping RSVP-MGMT-ASSOCIATION { + description + "Union of the different ASSOCIATION types"; + container ipv4 { + when "../association-type = 'ipv4'" { + description + "../AssociationType = 'IPv4'"; + } + description + "IPV4 ASSOCIATION Object"; + uses RSVP-MGMT-ASSOCIATION-IPV4; + } + container ipv6 { + when "../association-type = 'ipv6'" { + description + "../AssociationType = 'IPv6'"; + } + description + "IPV6 ASSOCIATION Object"; + uses RSVP-MGMT-ASSOCIATION-IPV6; + } + container extended-ipv4 { + when "../association-type = 'extended-ipv4'" { + description + "../AssociationType = 'ExtendedIPv4'"; + } + description + "EXTENDED IPV4 ASSOCIATION Object"; + uses RSVP-MGMT-ASSOCIATION-IPV4-EXT; + } + container extended-ipv6 { + when "../association-type = 'extended-ipv6'" { + description + "../AssociationType = 'ExtendedIPv6'"; + } + description + "EXTENDED IPV6 ASSOCIATION Object"; + uses RSVP-MGMT-ASSOCIATION-IPV6-EXT; + } + leaf association-type { + type Rsvp-mgmt-association; + description + "AssociationType"; + } + } + + grouping RSVP-MGMT-RRO-SRLG-SUBOBJ { + description + "RSVP RRO SRLG subobject"; + list srl-gs { + description + "The RRO Subobject SRLGs"; + leaf entry { + type uint32; + description + "The RRO Subobject SRLGs"; + } + } + } + + grouping RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ-FLAGS { + description + "RSVP RRO UNNUMBERED Subobject Flags"; + leaf is-protection-available { + type boolean; + description + "Local Protection Available"; + } + leaf is-protection-in-use { + type boolean; + description + "Local Protection In Use"; + } + leaf is-bandwidth-protected { + type boolean; + description + "Bandwidth Protection Available"; + } + leaf is-node-protection-available { + type boolean; + description + "Node Protection Available"; + } + leaf is-node-id { + type boolean; + description + "Node ID In Use"; + } + } + + grouping RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ { + description + "RSVP RRO Unnumbered subobject"; + container flags { + description + "The RRO Subobject Unnumbered Flags"; + uses RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ-FLAGS; + } + leaf interface-address { + type inet:ipv4-address; + description + "The RRO Interface Address"; + } + leaf interface-id { + type uint32; + description + "The RRO Interface ID"; + } + } + + grouping RSVP-MGMT-RRO-LABEL-SUBOBJ-FLAGS { + description + "RSVP RRO Label Subobject Flags"; + leaf is-global-label { + type boolean; + description + "Label is Global across all interfaces"; + } + } + + grouping RSVP-MGMT-RRO-LABEL-SUBOBJ { + description + "RSVP RRO Label subobject"; + container flags { + description + "The RRO Subobject Label Flags"; + uses RSVP-MGMT-RRO-LABEL-SUBOBJ-FLAGS; + } + leaf label { + type uint32; + description + "The RRO Subobject Label Value"; + } + leaf is-label-variable-length { + type boolean; + description + "Is the RRO Subobject Label Variable Length"; + } + list variable-length-label { + description + "The RRO Subobject Variable Length Label"; + leaf entry { + type uint32; + description + "The RRO Subobject Variable Length Label"; + } + } + } + + grouping RSVP-MGMT-RRO-IPV4-SUBOBJ-FLAGS { + description + "RSVP RRO IPV4 Subobject Flags"; + leaf is-protection-available { + type boolean; + description + "Local Protection Available"; + } + leaf is-protection-in-use { + type boolean; + description + "Local Protection In Use"; + } + leaf is-bandwidth-protected { + type boolean; + description + "Bandwidth Protection Available"; + } + leaf is-node-protection-available { + type boolean; + description + "Node Protection Available"; + } + leaf is-node-id { + type boolean; + description + "Node ID In Use"; + } + } + + grouping RSVP-MGMT-RRO-IPV4-SUBOBJ { + description + "RSVP RRO IPV4 subobject"; + container flags { + description + "The RRO IPV4 Subobject Flags"; + uses RSVP-MGMT-RRO-IPV4-SUBOBJ-FLAGS; + } + leaf rro-address { + type inet:ipv4-address; + description + "The RRO IPV4 Address"; + } + } + + grouping RSVP-MGMT-RRO-SUBOBJ { + description + "Union of the different RSVP RRO types"; + container ipv4rro-sub-object { + when "../rro-type = 'ipv4rro-type'" { + description + "../RROType = 'IPv4RROType'"; + } + description + "IPV4 RRO Sub Object"; + uses RSVP-MGMT-RRO-IPV4-SUBOBJ; + } + container label-rro-sub-object { + when "../rro-type = 'label-rro-type'" { + description + "../RROType = 'LabelRROType'"; + } + description + "Label RRO Sub Object"; + uses RSVP-MGMT-RRO-LABEL-SUBOBJ; + } + container unnumbered-rro-sub-object { + when "../rro-type = 'unnumbered-rro-type'" { + description + "../RROType = 'UnnumberedRROType'"; + } + description + "Unnumbered RRO Sub Object"; + uses RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ; + } + container srlg-rro-sub-object { + when "../rro-type = 'srlg-rro-type'" { + description + "../RROType = 'SRLG_RROType'"; + } + description + "SRLG RRO Sub Object"; + uses RSVP-MGMT-RRO-SRLG-SUBOBJ; + } + leaf rro-type { + type Rsvp-mgmt-rro-subobj; + description + "RROType"; + } + } + + grouping RSVP-SESSION-PSB-DETAIL { + description + "RSVP Detail Session Path Info"; + container generic-in-label { + description + "Generic Label for inbound traffic"; + uses RSVP-MGMT-GENERIC-LABEL; + } + container traffic-spec { + description + "Traffic Spec object"; + uses RSVP-MGMT-TRAFFIC-SPEC; + } + container generic-traffic-spec { + description + "Generic Traffic Spec object"; + uses RSVP-MGMT-GEN-TRAFFIC-SPEC; + } + container association { + description + "Association object"; + uses RSVP-MGMT-ASSOCIATION; + } + container protection { + description + "Protection object"; + uses RSVP-MGMT-PROTECTION; + } + container reverse-lsp { + description + "Reverse LSP object"; + uses RSVP-MGMT-REVERSE-LSP; + } + leaf is-valid { + type boolean; + description + "Entry validity"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf p2mp-sub-group-origin { + type inet:ipv4-address; + description + "Point to Multipoint SubGroup Origin"; + } + leaf sub-group-id { + type uint16; + description + "Point to Multipoint Subgroup ID"; + } + leaf in-interface { + type xr:Interface-name; + description + "Interface on which inbound message was received"; + } + leaf in-label { + type Rsvp-mgmt-mpls-label; + description + "Label for inbound traffic"; + } + leaf lsp-wrap-label { + type Rsvp-mgmt-mpls-label; + description + "LSP Wrap Label"; + } + leaf is-bad-address { + type boolean; + description + "Address validity"; + } + leaf incoming-interface-address { + type inet:ipv4-address; + description + "IP address of Path's incoming interface"; + } + leaf is-ero-valid { + type boolean; + description + "ERO validity"; + } + leaf is-rro-valid { + type boolean; + description + "RRO validity"; + } + leaf is-traffic-spec-valid { + type boolean; + description + "Traffic Spec validity"; + } + leaf tunnel-name { + type string; + description + "Tunnel name"; + } + list ero { + description + "Explicit Route Sub Objects"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + list rro { + description + "Record Route Sub Objects"; + uses RSVP-MGMT-RRO-SUBOBJ; + } + } + + grouping RSVP-SESSION-PSB-RSB-DETAIL { + description + "List of Path and Reservation Info"; + list psb-info { + description + "Path Info"; + uses RSVP-SESSION-PSB-DETAIL; + } + list rsb-info { + description + "Reservation Info"; + uses RSVP-SESSION-RSB-DETAIL; + } + } + + grouping RSVP-MGMT-SESSION-DETAIL { + description + "RSVP Detail Session Info"; + container compact { + description + "Compact session data"; + uses RSVP-MGMT-SESSION-COMPACT; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + list psb-rsb-info { + description + "Path and Reservation Info"; + uses RSVP-SESSION-PSB-RSB-DETAIL; + } + } + + grouping RSVP-MGMT-KEY { + description + "Key to uniquely identify some RSVP records"; + leaf p2mp-id { + type uint32; + description + "Point-to-multipoint ID"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf destination-port-or-tunnel-id { + type uint32; + description + "Destination Port or Tunnel ID. For the LSP and + OUNI session types this represents the Tunnel ID + whereas for the UDP session type this represents + the Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol. UDP session type this represents the + Protocol (UDP not supported at present)"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "Protocol or Extended Tunnel ID. For the LSP and + OUNI sesion types this represents the Extended + Tunnel ID"; + } + leaf session-type { + type Rsvp-mgmt-session; + description + "Session Type (e.g. LSP, OUNI or UDP)"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source Address"; + } + leaf source-port-or-lsp-id { + type uint32; + description + "Source Port or LSP_ID. For the LSP and OUNI + session types this represents the LSP_ID whereas + for the UDP session type this represents the + SourcePort"; + } + leaf p2mp-sub-group-origin { + type inet:ipv4-address; + description + "Point to Multipoint SubGroup Origin"; + } + leaf sub-group-id { + type uint16; + description + "Point to Multipoint Subgroup ID"; + } + leaf vrfid { + type Rsi-vrf-id; + description + "Signalling VRF ID"; + } + } + + grouping RSVP-MGMT-REQUEST-FLAGS { + description + "Request state flags"; + leaf is-local-receiver { + type boolean; + description + "Local Receiver"; + } + leaf is-refreshing { + type boolean; + description + "Is neighbor refreshing"; + } + leaf is-send-confirm { + type boolean; + description + "Send Confirm message"; + } + leaf is-ack-outstanding { + type boolean; + description + "Is ACK message outstanding"; + } + leaf is-message-id-allocated { + type boolean; + description + "Is MessageID allocated"; + } + leaf is-nack-received { + type boolean; + description + "A NACK message was received"; + } + leaf is-retransmit { + type boolean; + description + "Retransmit the message"; + } + leaf is-paced { + type boolean; + description + "Message is paced"; + } + leaf is-label-request-in-path { + type boolean; + description + "The Path message contains Label Request"; + } + leaf is-rro-in-path { + type boolean; + description + "The Path message contains RRO"; + } + leaf is-record-label-in-path { + type boolean; + description + "Path has Session-Attr object with Record Labels + set"; + } + leaf is-merge-point { + type boolean; + description + "Is node a Merge Point"; + } + } + + grouping RSVP-MGMT-REQUEST-DETAIL { + description + "Detailed Form of RSVP Request Info"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container flow-spec { + description + "Flow Spec Information"; + uses RSVP-MGMT-FLOW-SPEC; + } + container generic-flow-spec { + description + "Generic Flow Spec Information"; + uses RSVP-MGMT-GEN-FLOW-SPEC; + } + container filter { + description + "RSVP Filter"; + uses RSVP-MGMT-FILTER-INFO; + } + container style { + description + "RSVP Style"; + uses RSVP-MGMT-STYLE; + } + container req-flags { + description + "Request flags"; + uses RSVP-MGMT-REQUEST-FLAGS; + } + container hop { + description + "Hop Infomation"; + uses RSVP-MGMT-HOP-INFO; + } + container header { + description + "RSVP Header Information"; + uses RSVP-MGMT-HEADER-INFO; + } + container policy-sources { + description + "RSVP Policy Sources"; + uses RSVP-MGMT-POLICY-SOURCES; + } + container policy-flags { + description + "RSVP Policy Flags"; + uses RSVP-MGMT-POLICY-FLAGS; + } + container policy-query-flags { + description + "RSVP Query Flags"; + uses RSVP-MGMT-POLICY-QUERY-FLAGS; + } + leaf output-interface { + type string; + description + "output Interface"; + } + list psb-key { + description + "List of RSB keys"; + uses RSVP-MGMT-KEY; + } + list rsb-key { + description + "List of RSB keys"; + uses RSVP-MGMT-KEY; + } + } + + grouping RSVP-MGMT-REQUEST-COMPACT { + description + "Compact Form of RSVP Request Info"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container flow-spec { + description + "Flow Spec Information"; + uses RSVP-MGMT-FLOW-SPEC; + } + container generic-flow-spec { + description + "Generic Flow Spec Information"; + uses RSVP-MGMT-GEN-FLOW-SPEC; + } + container filter { + description + "RSVP Filter"; + uses RSVP-MGMT-FILTER-INFO; + } + container style { + description + "RSVP Style"; + uses RSVP-MGMT-STYLE; + } + leaf output-interface { + type string; + description + "Output Interface"; + } + } + + grouping RSVP-MGMT-FRR-STATES-DETAIL { + description + "RSVP states for one FRR LSP"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + leaf path-status { + type Rsvp-mgmt-frr-state-enum; + description + "RSVP FRR Path States"; + } + leaf reservation-status { + type Rsvp-mgmt-frr-state-enum; + description + "RSVP FRR Reservation States"; + } + } + + grouping RSVP-GLOBAL-INFO { + description + "RSVP global information"; + container issu-status { + description + "Issu status"; + uses RSVP-NSR-ISSU-STATUS-INFO; + } + container nsr-status { + description + "NSR status"; + uses RSVP-NSR-ISSU-STATUS-INFO; + } + container database-counters { + description + "All database counters"; + uses RSVP-MGMT-ALL-DB-COUNTERS; + } + leaf interfaces { + type uint32; + description + "Total interfaces"; + } + leaf ls-ps { + type uint32; + description + "Total LSPs"; + } + } + + grouping RSVP-IDT-STATUS { + description + "IDT status information"; + leaf sync-status { + type Rsvp-sync-status; + description + "Sync status"; + } + leaf not-ready-reason { + type Rsvp-proc-nsr-not-ready-reason; + description + "Not ready reason"; + } + leaf idt-start-time { + type uint32; + units "second"; + description + "IDT start timestamp in seconds"; + } + leaf idt-end-time { + type uint32; + units "second"; + description + "IDT end timestamp in seconds"; + } + leaf declare-time { + type uint32; + units "second"; + description + "Declare ready timestamp in seconds"; + } + leaf withdraw-time { + type uint32; + units "second"; + description + "Withdraw ready timestamp in seconds"; + } + } + + grouping RSVP-NSR-ISSU-STATUS-INFO { + description + "NSR/ISSU status information"; + container idt-status { + description + "IDT status"; + uses RSVP-IDT-STATUS; + } + container previous-idt-status { + description + "Previous IDT status"; + uses RSVP-IDT-STATUS; + } + leaf role { + type Rsvp-proc-role; + description + "Process role"; + } + } + + grouping RSVP-MGMT-IF-NBR-DETAIL { + description + "Detail Info for RSVP Interface Neighbor"; + leaf interface-neighbor-address { + type inet:ipv4-address; + description + "Interface Neighbor address"; + } + leaf neighbor-interface-name { + type xr:Interface-name; + description + "Neighbor's Interface handle"; + } + leaf is-rr-enabled { + type boolean; + description + "Is Neighbor's RR enable"; + } + leaf neighbor-epoch { + type uint32; + description + "Neighbor's epoch value"; + } + leaf out-of-order-messages { + type uint32; + description + "Number of out of order msgs"; + } + leaf retransmitted-messages { + type uint32; + description + "Number of retransmitted msgs"; + } + } + + grouping RSVP-MGMT-NBR-DETAIL { + description + "Detail Info for RSVP Neighbor"; + leaf node-address { + type inet:ipv4-address; + description + "Neighbor node address"; + } + list interface-neighbor-list-detail { + description + "Detail list of I/F Neighbors"; + uses RSVP-MGMT-IF-NBR-DETAIL; + } + } + + grouping RSVP-MGMT-HELLO-IF-INSTANCE-DETAIL { + description + "Detail Info for IF-based RSVP Hello Instance"; + container last-message-sent-time { + description + "Last Ack/msg sent time"; + uses RSVP-MGMT-TIMESPEC; + } + leaf source-address-xr { + type inet:ipv4-address; + description + "Source address"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "Destination address"; + } + leaf hello-global-neighbor-id { + type inet:ipv4-address; + description + "Global Neighbor ID"; + } + leaf instance-type { + type Rsvp-mgmt-hello-instance; + description + "Hello instance type"; + } + leaf hello-interface { + type xr:Interface-name; + description + "Interface to use"; + } + leaf source-instance { + type uint32; + description + "Source Instance"; + } + leaf destination-instance { + type uint32; + description + "Destination Instance"; + } + leaf hello-messages-sent { + type uint64; + description + "Number of hello messages sent"; + } + leaf hello-messages-received { + type uint64; + description + "Number of hello messages received"; + } + } + + grouping RSVP-MGMT-HELLO-IF-INSTANCE-COMPACT { + description + "Compact Info for IF-based RSVP Hello Instance"; + leaf source-address-xr { + type inet:ipv4-address; + description + "Source address"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "Destination address"; + } + leaf instance-type { + type Rsvp-mgmt-hello-instance; + description + "Hello instance type"; + } + leaf hello-interface { + type xr:Interface-name; + description + "Interface to use"; + } + } + + grouping RSVP-MGMT-LOCAL-NODE-ID-IPV4 { + description + "Local Node-id"; + leaf local-node-ip-address { + type inet:ipv4-address; + description + "Local node address"; + } + leaf application-type { + type Rsvp-mgmt-gr-app; + description + "GR local node-id app type"; + } + } + + grouping RSVP-MGMT-GRACEFUL-RESTART { + description + "RSVP Graceful Restart Info"; + container recovery-time-left { + description + "How much recovery timer remains"; + uses RSVP-MGMT-TIMESPEC; + } + container recovery-timer-exp-time { + description + "Time at which recovery timer will expire"; + uses RSVP-MGMT-TIMESPEC; + } + leaf is-gr-enabled { + type boolean; + description + "Whether GR is enabled"; + } + leaf global-neighbors { + type uint32; + description + "Global neighbor count"; + } + leaf restart-time { + type uint32; + units "millisecond"; + description + "Restart time (milliseconds)"; + } + leaf recovery-time { + type uint32; + units "millisecond"; + description + "Recovery time (milliseconds)"; + } + leaf is-recovery-timer-running { + type boolean; + description + "Whether recovery timer is running"; + } + leaf hello-interval { + type uint32; + description + "Interval at which hello messages are sent"; + } + leaf missed-hellos { + type uint8; + description + "Max number of hellos missed before hellos + declared down"; + } + leaf pending-states { + type uint32; + description + "Total number of pending states"; + } + list local-node-address { + description + "Local node address"; + uses RSVP-MGMT-LOCAL-NODE-ID-IPV4; + } + } + + grouping RSVP-MGMT-INTERFACE-COMPACT { + description + "Compact Form of RSVP interface Info"; + container bandwidth-information { + description + "Interface bandwidth information"; + uses RSVP-MGMT-DSTE-MODE-INTERFACE-BW; + } + leaf interface-name-xr { + type string; + description + "Interface Name"; + } + } + + grouping RSVP-MGMT-ALL-DB-COUNTERS { + description + "All database counters"; + leaf sessions { + type uint32; + description + "Number of sessions"; + } + leaf incoming-paths { + type uint32; + description + "Number of locally created and incoming path + states"; + } + leaf outgoing-paths { + type uint32; + description + "Number of outgoing path states"; + } + leaf incoming-reservations { + type uint32; + description + "Number of locally created and incoming + reservation states"; + } + leaf outgoing-reservations { + type uint32; + description + "Number of outgoing reservation states"; + } + leaf interfaces { + type uint32; + description + "Number of Interfaces"; + } + } + + grouping RSVP-SYNC-COUNT-INFO { + description + "RSVP sync sent and received counters information"; + leaf last-cleared-timestamp { + type uint32; + units "second"; + description + "The timestamp, in seconds, when these statistics + are cleared since 00:00:00 UTC, + January 1, 1970"; + } + leaf rsvp-process-role { + type Rsvp-proc-role; + description + "Process role"; + } + leaf last-idt-states { + type uint32; + description + "Last IDT number of states"; + } + leaf total-states { + type uint32; + description + "Total number of states"; + } + leaf total-deletions { + type uint32; + description + "Total number of deletions"; + } + leaf total-nacks { + type uint64; + description + "Total number of NACKs"; + } + leaf total-id-ts { + type uint32; + description + "Total number of IDTs"; + } + } + + grouping RSVP-MGMT-EVENT-COUNT-INFO { + description + "Count of events"; + leaf expired-paths { + type uint32; + description + "Counter for Expired Path states"; + } + leaf expired-reservations { + type uint32; + description + "Counter for Expired Reservation states"; + } + leaf nac-ks { + type uint32; + description + "Counter for NACKs received"; + } + } + + grouping RSVP-MGMT-COUNTERS-OOR { + description + "Counters for all messages dropped in OOR + condition"; + leaf dropped-path-messages { + type uint32; + description + "Count of Path messages dropped due to an out of + resource condition"; + } + } + + grouping RSVP-MGMT-COUNT-PREFIX-INTERFACE-INFO { + description + "Prefix filtering interface counters"; + container forwarded { + description + "Count of messages which got forwarded"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container locally-destined { + description + "Count of locally destined messages"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container dropped { + description + "Count of messages dropped"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container default-action-dropped { + description + "Count of messages which got dropped due to + default ACL action"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container default-action-processed { + description + "Count of messages which were processed due to + default ACL action"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container total { + description + "Count of total messages"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + } + + grouping RSVP-MGMT-COUNT-PREFIX-MSG { + description + "Message types for prefix filtering"; + leaf path { + type uint32; + description + "Count of Path messages"; + } + leaf path-tear { + type uint32; + description + "Count of PathTear messages"; + } + leaf reservation-confirm { + type uint32; + description + "Count of ReservationConfirm messages"; + } + leaf total { + type uint32; + description + "Total count of messages"; + } + } + + grouping RSVP-MGMT-COUNT-PREFIX-ACL-INFO { + description + "Prefix filtering ACL counters"; + container forwarded { + description + "Count of messages which got forwarded"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container locally-destined { + description + "Count of locally destined messages"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container dropped { + description + "Count of messages dropped"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + container total { + description + "Count of total messages"; + uses RSVP-MGMT-COUNT-PREFIX-MSG; + } + } + + grouping RSVP-MGMT-COUNTS { + description + "Counters for all known RSVP message types"; + leaf path { + type uint32; + description + "Count of Path messages"; + } + leaf reservation { + type uint32; + description + "Count of Reservation messages"; + } + leaf path-error { + type uint32; + description + "Count of PathError messages"; + } + leaf reservation-error { + type uint32; + description + "Count of ReservationError messages"; + } + leaf path-tear { + type uint32; + description + "Count of PathTear messages"; + } + leaf reservation-tear { + type uint32; + description + "Count of ReservationTear messages"; + } + leaf reservation-confirm { + type uint32; + description + "Count of ReservationConfirm messages"; + } + leaf bundle { + type uint32; + description + "Count of Bundle messages"; + } + leaf ack { + type uint32; + description + "Count of ACK messages"; + } + leaf srefresh { + type uint32; + description + "Count of Srefresh messages"; + } + leaf hello { + type uint32; + description + "Count of Hello messages"; + } + leaf challenge { + type uint32; + description + "Count of Integrity Challenge messages"; + } + leaf response { + type uint32; + description + "Count of Integrity Response messages"; + } + } + + grouping RSVP-MGMT-COUNT-MESSAGE { + description + "Counters for all messages"; + container received-messages { + description + "Count of messages received"; + uses RSVP-MGMT-COUNTS; + } + container transmitted-messages { + description + "Count of messages transmitted"; + uses RSVP-MGMT-COUNTS; + } + container bundle-received-messages { + description + "Count of Bundle messages received"; + uses RSVP-MGMT-COUNTS; + } + container bundle-transmitted-messages { + description + "Count of Bundle messages transmitted"; + uses RSVP-MGMT-COUNTS; + } + leaf retransmitted-messages { + type uint32; + description + "Count of messages retransmitted"; + } + leaf out-of-order-messages { + type uint32; + description + "Count of Out of Order messages"; + } + leaf rate-limited-messages { + type uint32; + description + "Count of Rate Limited messages"; + } + } + + grouping RSVP-MGMT-RESERVATION-COMPACT { + description + "Compact Form of RSVP Reservation Info"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container flow-spec { + description + "Flow Spec Information"; + uses RSVP-MGMT-FLOW-SPEC; + } + container generic-flow-spec { + description + "Generic Flow Spec Info"; + uses RSVP-MGMT-GEN-FLOW-SPEC; + } + container style { + description + "RSVP Style"; + uses RSVP-MGMT-STYLE; + } + container filter { + description + "RSVP Filter"; + uses RSVP-MGMT-FILTER-INFO; + } + leaf input-interface { + type string; + description + "Reservation Input Interface"; + } + } + + grouping RSVP-MGMT-AUTH-RECV-TYPE-COUNTERS { + description + "RSVP Authentication Receive Type Counters"; + leaf authentication-received-valid-messages { + type uint32; + description + "Valid messages"; + } + leaf authentication-received-challenges-sent { + type uint32; + description + "Challenges sent"; + } + leaf authentication-received-challenge-response { + type uint32; + description + "Challenge responses received"; + } + leaf authentication-received-challenges-resent { + type uint32; + description + "Challenges resent"; + } + leaf authentication-received-challenge-timeouts { + type uint32; + description + "Challenge timeouts"; + } + leaf authentication-received-during-challenge { + type uint32; + description + "Authentication received during challenge"; + } + leaf authentication-received-incomplete { + type uint32; + description + "Authentication received incomplete"; + } + leaf authentication-received-no-integrity { + type uint32; + description + "Authentication received with no integrity"; + } + leaf authentication-received-bad-digest { + type uint32; + description + "Authentication received with bad digest"; + } + leaf authentication-received-wrong-digest-type { + type uint32; + description + "Authentication received with wrong digest type"; + } + leaf authentication-received-sequence-number-duplicate { + type uint32; + description + "Authentication received with duplicate sequence + number"; + } + leaf authentication-received-sequence-number-outof-range { + type uint32; + description + "Authentication received with sequence number out + of range"; + } + leaf authentication-received-wrong-challenges-response { + type uint32; + description + "Incorect challenge responses received"; + } + leaf authentication-received-challenges-response-duplicate { + type uint32; + description + "Duplicate challenge responses received"; + } + leaf authentication-received-response-late { + type uint32; + description + "Challenge responses received late"; + } + leaf authentication-received-bad-message-format { + type uint32; + description + "Authentication received with bad mesage format"; + } + } + + grouping RSVP-MGMT-AUTH-DIRECTION-RECV { + description + "RSVP Authentication Recieve Type Information"; + container counters { + description + "Counters"; + uses RSVP-MGMT-AUTH-RECV-TYPE-COUNTERS; + } + leaf sequence { + type uint64; + description + "Sequence number"; + } + leaf sequence-window-size { + type uint32; + description + "Sequence window size"; + } + leaf sequence-window-count { + type uint32; + description + "Sequence window count"; + } + list sequence-window { + max-elements "64"; + description + "Sequence window"; + leaf entry { + type uint64; + description + "Sequence window"; + } + } + } + + grouping RSVP-MGMT-AUTH-SEND-TYPE-COUNTERS { + description + "RSVP Authentication Send Type Counters"; + leaf authentication-sent { + type uint32; + description + "Messages sent"; + } + leaf authentication-failures { + type uint32; + description + "Failures"; + } + leaf authentication-send-challenges-received { + type uint32; + description + "Challenges received"; + } + leaf authentication-challenge-responses-sent { + type uint32; + description + "Challenge responses sent"; + } + } + + grouping RSVP-MGMT-AUTH-DIRECTION-SEND { + description + "RSVP Authentication Send Type Information"; + container counters { + description + "Counters"; + uses RSVP-MGMT-AUTH-SEND-TYPE-COUNTERS; + } + leaf sequence { + type uint64; + description + "Sequence number"; + } + } + + grouping RSVP-MGMT-AUTH-DIRECTION { + description + "Union of the different RSVP Authentication + Direction types"; + container send-info { + when "../auth-direction = 'rsvp-mgmt-auth-direction-send'" { + description + "../AuthDirection = 'RSVPMgmtAuthDirectionSend'"; + } + description + "send info"; + uses RSVP-MGMT-AUTH-DIRECTION-SEND; + } + container receive-info { + when "../auth-direction = 'rsvp-mgmt-auth-direction-recv'" { + description + "../AuthDirection = 'RSVPMgmtAuthDirectionRecv'"; + } + description + "receive info"; + uses RSVP-MGMT-AUTH-DIRECTION-RECV; + } + leaf auth-direction { + type Rsvp-mgmt-auth-direction; + description + "AuthDirection"; + } + } + + grouping RSVP-MGMT-AUTHENTICATION-DETAIL { + description + "Authentication Detail Information"; + container auth-compact { + description + "Basic authentication data"; + uses RSVP-MGMT-AUTHENTICATION-COMPACT; + } + container direction-info { + description + "direction info"; + uses RSVP-MGMT-AUTH-DIRECTION; + } + leaf key-status { + type uint32; + description + "Key status"; + } + leaf key-digest-info { + type uint32; + description + "Direction"; + } + leaf lifetime { + type uint32; + units "second"; + description + "Lifetime (seconds)"; + } + leaf lifetime-left { + type uint32; + units "second"; + description + "Remaining lifetime (seconds)"; + } + leaf challenge-status { + type Rsvp-mgmt-auth-challenge-status; + description + "Challenge status"; + } + } + + grouping RSVP-MGMT-HELLO-INSTANCE-COMPACT { + description + "Compact Info for RSVP Hello Instance"; + leaf source-address-xr { + type inet:ipv4-address; + description + "Source address"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "Destination address"; + } + leaf neighbor-hello-state { + type Rsvp-mgmt-hello-state; + description + "Neighbor Hello state"; + } + leaf instance-type { + type Rsvp-mgmt-hello-instance; + description + "Hello instance type"; + } + leaf hello-interface { + type xr:Interface-name; + description + "Interface to use"; + } + leaf lost-communication-total { + type uint16; + description + "Total number of times communication got lost"; + } + } + + grouping RSVP-MGMT-RSB-FLAGS { + description + "Reservation State Block Flags"; + leaf is-local-receiver { + type boolean; + description + "Local Receiver"; + } + leaf is-message-id-valid { + type boolean; + description + "MessageID Valid"; + } + leaf is-local-repair { + type boolean; + description + "Rerouted"; + } + leaf is-merge-point { + type boolean; + description + "Is node a Merge Point"; + } + leaf is-lockout { + type boolean; + description + "Locked Out"; + } + } + + grouping RSVP-MGMT-STYLE { + description + "RSVP Reservation Style"; + leaf reservation-type { + type Rsvp-mgmt-reservation-type-enum; + description + "The Reservation Type: WF, SE or FF"; + } + } + + grouping RSVP-MGMT-FLOW-SPEC-G709-OTN { + description + "RSVP G709 OTN FlowSpec Info"; + leaf flow-signal-type { + type uint8; + description + "G709 OTN Flow Signal Type (Refer G709 v3)"; + } + leaf flow-nvc { + type uint16; + description + "G709 OTN Flow NVC"; + } + leaf flow-multiplier { + type uint16; + description + "G709 OTN Flow Multiplier"; + } + leaf flow-bit-rate { + type uint64; + description + "G709 OTN Flow Bit Rate"; + } + } + + grouping RSVP-MGMT-GEN-FLOW-SPEC { + description + "Union of different RSVP Generic FlowSpec types"; + container g709otn-flow-spec { + when "../flow-spec-type = 'g709otn'" { + description + "../FlowSpecType = 'G709OTN'"; + } + description + "G709 OTN FlowSpec"; + uses RSVP-MGMT-FLOW-SPEC-G709-OTN; + } + leaf flow-spec-type { + type Rsvp-mgmt-flow-spec; + description + "FlowSpecType"; + } + } + + grouping RSVP-MGMT-FLOW-SPEC { + description + "RSVP Flow Spec"; + leaf flow-average-rate { + type uint64; + units "byte/s"; + description + "The Flow Average Rate in bytes per second"; + } + leaf flow-max-burst { + type uint64; + description + "The Flow Maximum Burst"; + } + leaf flow-peak-rate { + type uint64; + units "byte/s"; + description + "The Flow Peak Rate in bytes per second"; + } + leaf flow-min-unit { + type uint32; + description + "The Flow Minimum Unit"; + } + leaf flow-max-unit { + type uint32; + description + "The Flow Maximum Unit"; + } + leaf flow-requested-rate { + type uint64; + units "byte/s"; + description + "The Flow Requested Rate in bytes per second"; + } + leaf flow-slack { + type uint32; + description + "The Flow Slack"; + } + leaf flow-qos { + type Rsvp-mgmt-qos-service-enum; + description + "The Flow Quality of Service"; + } + } + + grouping RSVP-MGMT-RESERVATION-DETAIL { + description + "Detailed Form of RSVP Reservation Info"; + container flow-spec { + description + "Flow Spec Information"; + uses RSVP-MGMT-FLOW-SPEC; + } + container generic-flow-spec { + description + "Generic Flow Spec Information"; + uses RSVP-MGMT-GEN-FLOW-SPEC; + } + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container style { + description + "RSVP Style"; + uses RSVP-MGMT-STYLE; + } + container filter { + description + "RSVP Filter"; + uses RSVP-MGMT-FILTER-INFO; + } + container rsb-flags { + description + "Reservation State Block Flags"; + uses RSVP-MGMT-RSB-FLAGS; + } + container hop { + description + "Hop Infomation"; + uses RSVP-MGMT-HOP-INFO; + } + container policy-sources { + description + "RSVP Policy Sources"; + uses RSVP-MGMT-POLICY-SOURCES; + } + container header { + description + "RSVP Header Information"; + uses RSVP-MGMT-HEADER-INFO; + } + container policy-flags { + description + "RSVP Policy Flags"; + uses RSVP-MGMT-POLICY-FLAGS; + } + container expiry-time { + description + "Expiry Time"; + uses RSVP-MGMT-TIMESPEC; + } + container policy-query-flags { + description + "RSVP Query Flags"; + uses RSVP-MGMT-POLICY-QUERY-FLAGS; + } + container label-info { + description + "Label Information"; + uses RSVP-MGMT-LABEL-INFO; + } + leaf input-adjusted-interface { + type string; + description + "Input Adjusted Interface"; + } + leaf input-physical-interface { + type string; + description + "Input Physical Interface"; + } + } + + grouping RSVP-MGMT-FRR-STATE-STATUS-COUNTERS { + description + "FRR state counters"; + leaf total { + type uint32; + description + "Total number of instances of this state"; + } + leaf active-instances { + type uint32; + description + "Number of active instances of this state"; + } + leaf ready-instances { + type uint32; + description + "Number of ready instances of this state"; + } + leaf active-wait-instances { + type uint32; + description + "Number of instances of this state awaiting Path + messages to be sent out or Resv messages to be + received"; + } + } + + grouping RSVP-MGMT-FRR-STATES-COMPACT { + description + "Count of RSVP FRR States"; + container path-states { + description + "Path state counters"; + uses RSVP-MGMT-FRR-STATE-STATUS-COUNTERS; + } + container reservation-states { + description + "Rerservation state counters"; + uses RSVP-MGMT-FRR-STATE-STATUS-COUNTERS; + } + } + + grouping RSVP-MGMT-MESSAGEID { + description + "RSVP Message ID"; + leaf message-id { + type Rsvp-mgmt-messageid; + description + "Message ID"; + } + } + + grouping RSVP-MGMT-NBOR { + description + "Neighbor"; + container expiry-time { + description + "Expiry time"; + uses RSVP-MGMT-TIMESPEC; + } + leaf is-neighbor-refresh-reduction-capable { + type boolean; + description + "Is neighbor capable of Refresh Reduction"; + } + leaf neighbor-address { + type inet:ipv4-address; + description + "IP address of the neighbor"; + } + leaf message-ids { + type uint32; + description + "Number of MessageIDs"; + } + leaf outgoing-states { + type int32; + description + "Number of outgoing states to the neighbour"; + } + list neighbor-message-id { + max-elements "6"; + description + "List of Neighbor MessageIDs"; + uses RSVP-MGMT-MESSAGEID; + } + } + + grouping RSVP-MGMT-INTERFACE-FLAGS { + description + "Interface related flags"; + leaf is-mpls-enabled { + type boolean; + description + "MPLS enabled on interface"; + } + leaf is-refresh-reduction-enabled { + type boolean; + description + "Refresh Reduction enabled"; + } + leaf is-pacing-enabled { + type boolean; + description + "Message pacing enabled"; + } + leaf is-refresh-enabled { + type boolean; + description + "Refresh enabled"; + } + leaf is-s-refresh-enabled { + type boolean; + description + "Summary Refresh enabled"; + } + leaf is-interface-down { + type boolean; + description + "Interface is DOWN"; + } + leaf is-interface-created { + type boolean; + description + "Interface is created"; + } + leaf is-rel-s-refresh-enabled { + type boolean; + description + "Use reliable xmt for SRefresh"; + } + leaf is-backup-tunnel { + type boolean; + description + "This is backup tunnel"; + } + leaf is-rsvp-configured { + type boolean; + description + "RSVP explicitly configured"; + } + leaf is-non-default-vrf { + type boolean; + description + "Interface is defined in non-Default VRF"; + } + leaf is-message-bundling-enabled { + type boolean; + description + "Use bundling for outgoing RSVP messages."; + } + } + + grouping RSVP-MGMT-INTERFACE-DETAIL { + description + "Detail Form of RSVP interface Info"; + container bandwidth-information { + description + "Interface bandwidth information"; + uses RSVP-MGMT-DSTE-MODE-INTERFACE-BW; + } + container flags { + description + "Interface flags"; + uses RSVP-MGMT-INTERFACE-FLAGS; + } + leaf interface-name-xr { + type string; + description + "Interface Name"; + } + leaf signalling-ip-tos { + type uint8; + description + "IP TOS (precedence/DSCP) to use in signalling + messages"; + } + leaf integrity-send-password { + type string { + length "0..40"; + } + description + "Integrity send password"; + } + leaf integrity-receive-password { + type string { + length "0..40"; + } + description + "Integrity receive password"; + } + leaf integrity-receive-password-optional { + type uint8; + description + "Integrity recv password optional"; + } + leaf refresh-timer-state { + type Rsvp-timer-state; + description + "Refresh timer state"; + } + leaf summary-refresh-timer-state { + type Rsvp-timer-state; + description + "Summary refresh timer state"; + } + leaf refresh-interval { + type int32; + units "millisecond"; + description + "Refresh interval in msecs"; + } + leaf out-of-band-refresh-interval { + type uint32; + units "millisecond"; + description + "Out-of-band Refresh interval in msecs"; + } + leaf summary-refresh-max-size { + type uint32; + units "byte"; + description + "Max size in bytes of a single SRefresh"; + } + leaf bundle-message-max-size { + type uint32; + units "byte"; + description + "Max size in bytes of a single Bundle message"; + } + leaf expiry-timer-state { + type Rsvp-timer-state; + description + "Expiry timer state"; + } + leaf expiry-states { + type int32; + description + "Number of states for expiry check"; + } + leaf expiry-interval { + type int32; + units "millisecond"; + description + "Expiry interval in msecs"; + } + leaf expiry-drops-tolerated { + type int32; + description + "Number of missed messages tolerated"; + } + leaf out-of-band-expiry-drops-tolerated { + type uint32; + description + "Number of out-of-band missed messages tolerated"; + } + leaf ack-hold-time { + type uint32; + description + "ACK hold time in msec"; + } + leaf ack-max-size { + type uint32; + description + "Max size for ACK message"; + } + leaf retransmit-time { + type uint32; + description + "Retransmit time in msec"; + } + leaf pacing-interval { + type uint32; + units "millisecond"; + description + "Pacing interval in msecs"; + } + leaf pacing-message-rate { + type uint32; + description + "No. of messages per interval"; + } + leaf pacing-timer-state { + type Rsvp-timer-state; + description + "State of pacing timer"; + } + leaf pacing-messages { + type int32; + description + "Number of messages deferred for pacing"; + } + list neighbor-array { + max-elements "6"; + description + "Neighbor array"; + uses RSVP-MGMT-NBOR; + } + } + + grouping RSVP-MGMT-ERO-UNNUM-SUBOBJ { + description + "RSVP ERO UNNUM subobject"; + leaf is-strict-route { + type boolean; + description + "ERO Entry Is Strict"; + } + leaf ero-interface-id { + type uint32; + description + "The Interface ID in ERO"; + } + leaf ero-router-id { + type inet:ipv4-address; + description + "The Router ID in ERO"; + } + leaf status { + type Rsvp-mgmt-ero-subobj-status; + description + "Status of ERO"; + } + } + + grouping RSVP-MGMT-ERO-IPV4-SUBOBJ { + description + "RSVP ERO IPV4 subobject"; + leaf is-strict-route { + type boolean; + description + "ERO Entry Is Strict"; + } + leaf ero-address { + type inet:ipv4-address; + description + "The ERO IPV4 Address"; + } + leaf prefix-length { + type uint8; + description + "ERO Prefix Length"; + } + } + + grouping RSVP-MGMT-ERO-SUBOBJ { + description + "Union of the different RSVP ERO types"; + container ipv4ero-sub-object { + when "../ero-type = 'rsvp-mgmt-ero-type-ipv4'" { + description + "../EROType = 'RSVP_MGMT_ERO_TYPE_IPv4'"; + } + description + "IPV4 ERO Sub Object"; + uses RSVP-MGMT-ERO-IPV4-SUBOBJ; + } + container unnumbered-ero-sub-object { + when "../ero-type = 'rsvp-mgmt-ero-type-un-num'" { + description + "../EROType = 'RSVP_MGMT_ERO_TYPE_UNNUM'"; + } + description + "Unnumbered ERO Sub Object"; + uses RSVP-MGMT-ERO-UNNUM-SUBOBJ; + } + leaf ero-type { + type Rsvp-mgmt-ero-subobj; + description + "EROType"; + } + } + + grouping RSVP-MGMT-CT-INFO { + description + "Class-Type Information"; + leaf is-class-type-info-valid { + type boolean; + description + "Is the Class-Type information valid"; + } + leaf class-type { + type uint8; + description + "DS-TE Class-Type"; + } + } + + grouping RSVP-MGMT-GENERALIZED-LABEL { + description + "RSVP Generalized Label"; + list value { + description + "Generalized Label Value"; + leaf entry { + type uint32; + description + "Generalized Label Value"; + } + } + } + + grouping RSVP-MGMT-GENERIC-LABEL { + description + "Union of different RSVP Generic Label types"; + container generalized-label { + when "../generic-label-type = 'rsvp-mgmt-label-type-gmpls'" { + description + "../GenericLabelType = + 'RSVP_MGMT_LABEL_TYPE_GMPLS'"; + } + description + "Generalized Label"; + uses RSVP-MGMT-GENERALIZED-LABEL; + } + leaf generic-label-type { + type Rsvp-mgmt-generic-label; + description + "GenericLabelType"; + } + } + + grouping RSVP-MGMT-LABEL-INFO { + description + "Label Information"; + container generic-local-downstream-label { + description + "Generic Local Downstream Label"; + uses RSVP-MGMT-GENERIC-LABEL; + } + container generic-outgoing-downstream-label { + description + "Generic Outgoing Downstream Label"; + uses RSVP-MGMT-GENERIC-LABEL; + } + container generic-merge-point-label { + description + "Generic MergePoint Label"; + uses RSVP-MGMT-GENERIC-LABEL; + } + container generic-outgoing-upstream-label { + description + "Generic Outgoing Upstream Label"; + uses RSVP-MGMT-GENERIC-LABEL; + } + container generic-local-upstream-label { + description + "Generic Local Upstream Label"; + uses RSVP-MGMT-GENERIC-LABEL; + } + container generic-recovery-label { + description + "Generic Recovery Label"; + uses RSVP-MGMT-GENERIC-LABEL; + } + leaf is-valid { + type boolean; + description + "Is the label information valid"; + } + leaf local-downstream-label { + type Rsvp-mgmt-mpls-label; + description + "Local Downstream Label"; + } + leaf outgoing-downstream-label { + type Rsvp-mgmt-mpls-label; + description + "Outgoing Downstream Label"; + } + leaf merge-point-label { + type Rsvp-mgmt-mpls-label; + description + "MergePoint Label"; + } + leaf outgoing-upstream-label { + type Rsvp-mgmt-mpls-label; + description + "Outgoing Upstream Label"; + } + leaf local-upstream-label { + type Rsvp-mgmt-mpls-label; + description + "Local Upstream Label"; + } + leaf recovery-label { + type Rsvp-mgmt-mpls-label; + description + "Recovery Label"; + } + leaf lsp-wrap-label { + type Rsvp-mgmt-mpls-label; + description + "LSP Wrap Label"; + } + } + + grouping RSVP-PATH-FORWARDING-CONTEXT { + description + "RSVP Path Forwarding Context"; + container policy-flags { + description + "Policy Flags"; + uses RSVP-MGMT-POLICY-FLAGS; + } + container policy-query-flags { + description + "Policy Query Flags"; + uses RSVP-MGMT-POLICY-QUERY-FLAGS; + } + leaf output-interface { + type string; + description + "Output interface"; + } + } + + grouping RSVP-MGMT-POLICY-QUERY-FLAGS { + description + "RSVP Policy Query Flags"; + leaf is-needed { + type boolean; + description + "Needed"; + } + leaf is-report-required { + type boolean; + description + "Report Required"; + } + leaf is-resync { + type boolean; + description + "Resynchronization"; + } + leaf is-bypass { + type boolean; + description + "Bypass"; + } + } + + grouping RSVP-MGMT-POLICY-FLAGS { + description + "RSVP Policy Flags"; + leaf is-accepted { + type boolean; + description + "Accepted"; + } + leaf is-installed { + type boolean; + description + "Installed"; + } + leaf is-forwarding { + type boolean; + description + "Forwarding"; + } + } + + grouping RSVP-MGMT-TIMESPEC { + description + "RSVP Time Spec"; + leaf seconds { + type int32; + units "second"; + description + "Time Value in Seconds"; + } + leaf nanoseconds { + type int32; + units "nanosecond"; + description + "Time Value in Nano-seconds"; + } + } + + grouping RSVP-MGMT-HEADER-INFO { + description + "RSVP/IP Header Info"; + leaf rsvp-version { + type uint8; + description + "RSVP Version"; + } + leaf rsvp-header-flags { + type uint8; + description + "RSVP Header Flags (defined in RFC2205 Section 3 + .1.1)"; + } + leaf rsvp-ttl { + type uint8; + description + "RSVP TTL"; + } + leaf rsvp-message-type { + type uint8; + description + "RSVP Message Type"; + } + leaf ip-tos { + type uint8; + description + "IP Type of Service"; + } + leaf ip-ttl { + type uint8; + description + "IP TTL"; + } + leaf ip-source-address { + type inet:ipv4-address; + description + "IP Source Address"; + } + } + + grouping RSVP-MGMT-POLICY-SOURCES { + description + "RSVP Policy Sources"; + leaf is-te-link { + type boolean; + description + "Policy Source is TE Link"; + } + leaf is-local { + type boolean; + description + "Policy Source is Local"; + } + leaf is-cops { + type boolean; + description + "Policy Source is COPS"; + } + leaf is-default { + type boolean; + description + "Policy Source is Default"; + } + leaf is-cable { + type boolean; + description + "Policy Source is Cable"; + } + } + + grouping RSVP-MGMT-HOP-INFO { + description + "Hop Info"; + leaf neighbor-address { + type inet:ipv4-address; + description + "IP address of the neighbor"; + } + leaf neighbor-logical-interface-handle { + type uint32; + description + "Neighbor Logical Interface Handle"; + } + } + + grouping RSVP-MGMT-PATH-FLAGS { + description + "RSVP Path Flags"; + leaf is-non-rsvp-hop-upstream { + type boolean; + description + "Non-RSVP Hop Upstream"; + } + leaf is-local-sender { + type boolean; + description + "Local Sender"; + } + leaf is-message-id-valid { + type boolean; + description + "MessageID Valid"; + } + leaf is-local-repair { + type boolean; + description + "Rerouted"; + } + leaf is-bidirectional { + type boolean; + description + "Bidirectional"; + } + leaf is-lockout { + type boolean; + description + "Locked Out"; + } + } + + grouping RSVP-MGMT-TSPEC-G709-OTN { + description + "RSVP G709 OTN Sender Tspec Info"; + leaf traffic-signal-type { + type uint8; + description + "G709 OTN Traffic Signal Type (Refer G709 v3)"; + } + leaf traffic-nvc { + type uint16; + description + "G709 OTN Traffic NVC"; + } + leaf traffic-multiplier { + type uint16; + description + "G709 OTN Traffic Multiplier"; + } + leaf traffic-bit-rate { + type uint64; + description + "G709 OTN Traffic Bit Rate"; + } + } + + grouping RSVP-MGMT-GEN-TRAFFIC-SPEC { + description + "Union of different RSVP Generic Sender Tspec + types"; + container g709otn-tspec { + when "../tspec-type = 'g709otn'" { + description + "../TspecType = 'G709OTN'"; + } + description + "G709 OTN Sender Tspec"; + uses RSVP-MGMT-TSPEC-G709-OTN; + } + container intsrv-tspec { + when "../tspec-type = 'intsrv'" { + description + "../TspecType = 'INTSRV'"; + } + description + "Integrated Services Sender Tspec"; + uses RSVP-MGMT-TRAFFIC-SPEC; + } + leaf tspec-type { + type Rsvp-mgmt-tspec; + description + "TspecType"; + } + } + + grouping RSVP-MGMT-TRAFFIC-SPEC { + description + "RSVP Traffic Spec Info"; + leaf traffic-average-rate { + type uint64; + units "byte/s"; + description + "Traffic Average Rate in bytes per second"; + } + leaf traffic-max-burst { + type uint64; + description + "Traffic Maximum Burst"; + } + leaf traffic-peak-rate { + type uint64; + units "byte/s"; + description + "Traffic Peak Rate in bytes per second"; + } + leaf traffic-min-unit { + type uint32; + description + "Traffic Minimum Unit"; + } + leaf traffic-max-unit { + type uint32; + description + "Traffic Maximum Unit"; + } + } + + grouping RSVP-MGMT-SESSION-ATTRIBUTE-FLAGS { + description + "RSVP Session Attribute Flags"; + leaf is-local-protect { + type boolean; + description + "Local Protection"; + } + leaf is-node-protect { + type boolean; + description + "Node Protection"; + } + leaf is-bandwidth-protect { + type boolean; + description + "Bandwidth Protection"; + } + leaf is-record-labels { + type boolean; + description + "Records Labels"; + } + leaf is-shared-explicit-requested { + type boolean; + description + "Shared Explicit Requested"; + } + } + + grouping RSVP-MGMT-SESSION-ATTRIBUTE { + description + "RSVP Session Attributes"; + container sess-attribute-flags { + description + "Session Attributes"; + uses RSVP-MGMT-SESSION-ATTRIBUTE-FLAGS; + } + leaf setup-priority { + type uint8; + description + "Setup Priority"; + } + leaf reservation-priority { + type uint8; + description + "Reservation Priority"; + } + } + + grouping RSVP-MGMT-FILTER-P2MP-IPV4 { + description + "RSVP P2MP IPv4 FilterSpec"; + leaf source-address { + type inet:ipv4-address; + description + "Source Address"; + } + leaf source-port { + type uint16; + description + "Source Port"; + } + leaf p2mp-sub-group-origin { + type inet:ipv4-address; + description + "Point to Multipoint SubGroup Origin"; + } + leaf sub-group-id { + type uint16; + description + "Point to Multipoint Subgroup ID"; + } + } + + grouping RSVP-MGMT-FILTER-IPV4 { + description + "RSVP Filter"; + leaf source-address { + type inet:ipv4-address; + description + "Source Address"; + } + leaf source-port { + type uint16; + description + "Source Port"; + } + } + + grouping RSVP-FILTER-UNION { + description + "Union of the different RSVP filterspec types"; + container udp-ipv4-session { + when "../filter-type = 'rsvp-mgmt-filter-type-ipv4'" { + description + "../FilterType = 'RSVPMgmtFilterTypeIPv4'"; + } + description + "UDP IPV4 FilterSpec"; + uses RSVP-MGMT-FILTER-IPV4; + } + container p2mp-ipv4-session { + when "../filter-type = 'rsvp-mgmt-filter-type-p2mp-lsp-ipv4'" { + description + "../FilterType = + 'RSVPMgmtFilterTypeP2MP_LSP_IPv4'"; + } + description + "IPv4 P2MP LSP FilterSpec"; + uses RSVP-MGMT-FILTER-P2MP-IPV4; + } + leaf filter-type { + type Rsvp-mgmt-filter; + description + "FilterType"; + } + } + + grouping RSVP-MGMT-FILTER-INFO { + description + "RSVP FilterSpec Info"; + container rsvp-filter { + description + "RSVP Filter"; + uses RSVP-FILTER-UNION; + } + } + + grouping RSVP-MGMT-S2L-SUB-LSP-IPV4 { + description + "RSVP S2L Sub-LSP"; + leaf s2l-destination-address { + type inet:ipv4-address; + description + "S2L Sub-LSP Destination Address"; + } + } + + grouping RSVP-MGMT-PATH-DETAIL { + description + "Detailed Form of RSVP Path Info"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + container s2l-sub-lsp { + description + "RSVP S2L Sub-LSP information"; + uses RSVP-MGMT-S2L-SUB-LSP-IPV4; + } + container template { + description + "RSVP Template"; + uses RSVP-MGMT-FILTER-INFO; + } + container session-attribute { + description + "RSVP Session Attribute"; + uses RSVP-MGMT-SESSION-ATTRIBUTE; + } + container traffic-spec { + description + "RSVP Traffic Spec Info"; + uses RSVP-MGMT-TRAFFIC-SPEC; + } + container generic-traffic-spec { + description + "RSVP Generic Traffic Spec Info"; + uses RSVP-MGMT-GEN-TRAFFIC-SPEC; + } + container path-flags { + description + "Path Flags"; + uses RSVP-MGMT-PATH-FLAGS; + } + container hop { + description + "Path Hop Info"; + uses RSVP-MGMT-HOP-INFO; + } + container policy-source-info { + description + "Policy Sources Info"; + uses RSVP-MGMT-POLICY-SOURCES; + } + container header { + description + "RSVP Header Info"; + uses RSVP-MGMT-HEADER-INFO; + } + container expiry-time { + description + "Expiry Time"; + uses RSVP-MGMT-TIMESPEC; + } + container policy-flags { + description + "Policy Flags"; + uses RSVP-MGMT-POLICY-FLAGS; + } + container policy-query-flags { + description + "Policy Query Flags"; + uses RSVP-MGMT-POLICY-QUERY-FLAGS; + } + container label-info { + description + "Label Information"; + uses RSVP-MGMT-LABEL-INFO; + } + container class-type { + description + "DS-TE Class-Type"; + uses RSVP-MGMT-CT-INFO; + } + leaf input-interface { + type string; + description + "Path Input Interface"; + } + leaf backup-tunnel-name { + type string; + description + "Path Backup Tunnel"; + } + leaf is-in-ero-valid { + type boolean; + description + "Incoming ERO validity"; + } + leaf is-out-ero-valid { + type boolean; + description + "Outgoing ERO validity"; + } + list pfc { + description + "Path Forwarding Contexts"; + uses RSVP-PATH-FORWARDING-CONTEXT; + } + list in-ero { + description + "Incoming Explicit Route Sub Objects"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + list out-ero { + description + "Outgoing Explicit Route Sub Objects"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + } + + grouping RSVP-MGMT-SESSION-P2MP-LSP-TUNNEL-IPV4 { + description + "RSVP P2MP-LSP-Tunnel-IPv4 Session"; + leaf p2mp-id { + type uint32; + description + "The Point to Multipoint ID"; + } + leaf tunnel-id { + type uint16; + description + "The Session Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "The Session Extended Tunnel ID"; + } + } + + grouping RSVP-MGMT-SESSION-UNI-IPV4 { + description + "RSVP UNI IPv4 Session"; + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf tunnel-id { + type uint16; + description + "The Session Tunnel ID"; + } + leaf extended-address { + type inet:ipv4-address; + description + "The Session Extended Address"; + } + } + + grouping RSVP-MGMT-SESSION-LSP-TUNNEL-IPV4 { + description + "RSVP LSP-Tunnel-IPv4 Session"; + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf tunnel-id { + type uint16; + description + "The Session Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "The Session Extended Tunnel ID"; + } + } + + grouping RSVP-MGMT-SESSION-UDP-IPV4 { + description + "RSVP UDP IPv4 Session"; + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf protocol { + type uint8; + description + "Protocol type (originally defined in RFC 790, + further values in subsequent RFCs)"; + } + leaf destination-port { + type uint16; + description + "The Session Destination Port"; + } + } + + grouping RSVP-SESSION-UNION { + description + "Union of the different RSVP session types"; + container ipv4 { + when "../session-type = 'rsvp-mgmt-session-type-udp-ipv4'" { + description + "../SessionType = 'RSVPMgmtSessionTypeUDP_IPv4'"; + } + description + "UDP IPv4 session"; + uses RSVP-MGMT-SESSION-UDP-IPV4; + } + container ipv4-lsp-session { + when "../session-type = 'rsvp-mgmt-session-type-lsp-ipv4'" { + description + "../SessionType = 'RSVPMgmtSessionTypeLSP_IPv4'"; + } + description + "IPv4 LSP session"; + uses RSVP-MGMT-SESSION-LSP-TUNNEL-IPV4; + } + container ipv4-uni-session { + when "../session-type = 'rsvp-mgmt-session-type-uni-ipv4'" { + description + "../SessionType = 'RSVPMgmtSessionTypeUNI_IPv4'"; + } + description + "IPv4 UNI session"; + uses RSVP-MGMT-SESSION-UNI-IPV4; + } + container ipv4-p2mp-lsp-session { + when "../session-type = 'rsvp-mgmt-session-type-p2mp-lsp-ipv4'" { + description + "../SessionType = + 'RSVPMgmtSessionTypeP2MP_LSP_IPv4'"; + } + description + "IPv4 P2MP LSP session"; + uses RSVP-MGMT-SESSION-P2MP-LSP-TUNNEL-IPV4; + } + leaf session-type { + type Rsvp-mgmt-session; + description + "SessionType"; + } + } + + grouping RSVP-MGMT-SESSION-INFO { + description + "RSVP Session Info"; + container rsvp-session { + description + "RSVP Session"; + uses RSVP-SESSION-UNION; + } + } + + grouping RSVP-MGMT-SESSION-COMPACT { + description + "RSVP Compact Session Info"; + container session { + description + "RSVP Session Information"; + uses RSVP-MGMT-SESSION-INFO; + } + leaf ps-bs { + type uint32; + description + "Number of path state block states"; + } + leaf rs-bs { + type uint32; + description + "Number of reservation state block states"; + } + leaf requests { + type uint32; + description + "Number of request states"; + } + leaf detail-list-size { + type uint32; + description + "Number of elements in detail list"; + } + } + + grouping RSVP-MGMT-AUTHENTICATION-COMPACT { + description + "Authentication Compact Information"; + leaf source-address-xr { + type inet:ipv4-address; + description + "Source address"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "Destination address"; + } + leaf neighbor-address { + type inet:ipv4-address; + description + "Neighbor address"; + } + leaf direction { + type Rsvp-mgmt-auth-direction; + description + "Direction"; + } + leaf key-type { + type Rsvp-mgmt-auth-ki; + description + "Key type"; + } + leaf key-source { + type string; + description + "Key source"; + } + leaf key-id { + type uint64; + description + "Key ID"; + } + leaf key-id-valid { + type uint32; + description + "Key validity"; + } + } + + grouping RSVP-MGMT-INTERFACE-BW-STD-DSTE { + description + "RSVP interface bandwidth info with standard based + DSTE enabled"; + leaf allocated-bit-rate { + type uint64; + units "bit/s"; + description + "Bandwidth (bits per second) now allocated"; + } + leaf max-flow-bandwidth { + type uint64; + units "bit/s"; + description + "Max bandwidth (bits per second) allowed per flow"; + } + leaf max-bandwidth { + type uint64; + units "bit/s"; + description + "Max bandwidth (bits per second) allowed"; + } + leaf max-pool0-bandwidth { + type uint64; + units "bit/s"; + description + "Max bandwidth (bits per second) allowed in BC0 + pool"; + } + leaf max-pool1-bandwidth { + type uint64; + units "bit/s"; + description + "Max bandwidth (bits per second) allowed in BC1 + pool"; + } + leaf is-max-bandwidth-absolute { + type boolean; + description + "True if the Max B/W is an absolute value and + false if its a percentage"; + } + leaf is-max-bc0-bandwidth-absolute { + type boolean; + description + "True if the Max BC0 B/W is an absolute value and + false if its a percentage"; + } + leaf is-max-bc1-bandwidth-absolute { + type boolean; + description + "True if the Max BC1 sub-pool B/W is an absolute + value and false if its a percentage"; + } + } + + grouping RSVP-MGMT-INTERFACE-BW-PRESTD-DSTE { + description + "Prestandard DSTE interface bandwidth information"; + leaf allocated-bit-rate { + type uint64; + units "bit/s"; + description + "Bandwidth (bits per second) now allocated"; + } + leaf max-flow-bandwidth { + type uint64; + units "bit/s"; + description + "Max bandwidth (bits per second) allowed per flow"; + } + leaf max-bandwidth { + type uint64; + units "bit/s"; + description + "Max bandwidth (bits per second) allowed"; + } + leaf max-subpool-bandwidth { + type uint64; + units "bit/s"; + description + "Max bandwidth (bits per second) allowed in + subpool"; + } + leaf is-max-bandwidth-absolute { + type boolean; + description + "True if the Max B/W is an absolute value and + false if its a percentage"; + } + leaf is-max-subpool-bandwidth-absolute { + type boolean; + description + "True if the Max sub-pool B/W is an absolute + value and false if its a percentage"; + } + } + + grouping RSVP-MGMT-DSTE-MODE-INTERFACE-BW { + description + "Union of the different RSVP interface bandwidth + types"; + container pre-standard-dste-interface { + when "../dste-mode = 'pre-standard'" { + description + "../DSTEMode = 'PreStandard'"; + } + description + "Prestandard DSTE interface information"; + uses RSVP-MGMT-INTERFACE-BW-PRESTD-DSTE; + } + container standard-dste-interface { + when "../dste-mode = 'standard'" { + description + "../DSTEMode = 'Standard'"; + } + description + "Standard DSTE interface information"; + uses RSVP-MGMT-INTERFACE-BW-STD-DSTE; + } + leaf dste-mode { + type Rsvp-mgmt-dste-modes; + description + "DSTEMode"; + } + } + + grouping RSVP-MGMT-INTERFACE-SUMMARY { + description + "Summary Form of RSVP interface Info"; + container bandwidth-information { + description + "Interface bandwidth information"; + uses RSVP-MGMT-DSTE-MODE-INTERFACE-BW; + } + leaf interface-name-xr { + type string; + description + "Interface Name"; + } + leaf paths-in { + type uint32; + description + "Number of locally created and incoming path + states"; + } + leaf paths-out { + type uint32; + description + "Number of outgoing path states"; + } + leaf reservations-in { + type uint32; + description + "Number of locally created and incoming + reservation states"; + } + leaf reservations-out { + type uint32; + description + "Number of outgoing reservation states"; + } + } + + grouping RSVP-MGMT-IF-NBR-COMPACT { + description + "Compact Info for RSVP Interface Neighbor"; + leaf interface-neighbor-address { + type inet:ipv4-address; + description + "Interface Neighbor address"; + } + leaf neighbor-interface-name { + type xr:Interface-name; + description + "Neighbor's Interface handle"; + } + } + + grouping RSVP-MGMT-NBR-COMPACT { + description + "Compact Info for RSVP Neighbor"; + leaf node-address { + type inet:ipv4-address; + description + "Neighbor node address"; + } + list interface-neighbor-list-compact { + description + "Compact list of I/F Neighbors"; + uses RSVP-MGMT-IF-NBR-COMPACT; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper.yang new file mode 100644 index 000000000..456c07f2f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-rsvp-oper.yang @@ -0,0 +1,1490 @@ +module Cisco-IOS-XR-ip-rsvp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rsvp-oper"; + prefix ip-rsvp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-rsvp-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-rsvp package operational data. + + This module contains definitions + for the following management objects: + rsvp-standby: RSVP operational data for standby role + rsvp: RSVP operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rsvp-mode { + type enumeration { + enum "send" { + value 0; + description + "Send"; + } + enum "receive" { + value 1; + description + "Receive"; + } + } + description + "Rsvp mode"; + } + + typedef Rsvp-session { + type enumeration { + enum "ipv4" { + value 1; + description + "Show IPv4 sessions only"; + } + enum "p2p-lsp-ipv4" { + value 7; + description + "Show IPv4 P2P LSP sessions only"; + } + enum "ouni-ipv4" { + value 9; + description + "Show IPv4 OUNI sessions only"; + } + enum "p2mp-lsp-ipv4" { + value 13; + description + "Show IPv4 P2MP LSP sessions only"; + } + } + description + "Rsvp session"; + } + + grouping INTERFACE-NEIGHBOR-DETAIL-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container interface-neighbor-details { + description + "Table of detailed info about I/F neighbors"; + list interface-neighbor-detail { + key "neighbor-address"; + description + "Detailed info for a single interface neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Address of global neighbor"; + } + uses RSVP-MGMT-NBR-DETAIL; + } + } + } + + grouping COUNTERS { + description + "Common node of rsvp, rsvp-standby"; + container counters { + description + "Counters"; + container interface-messages { + description + "Table of message counters"; + list interface-message { + key "interface-name"; + description + "Interface message counters"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name. 'None' is used internally + where the true interface is unknown (e.g. for + routed packets)"; + } + uses RSVP-MGMT-COUNT-MESSAGE; + } + } + container message-summary { + description + "Summary information for all RSVP message + counters"; + uses RSVP-MGMT-COUNT-MESSAGE; + } + container prefix-filtering { + description + "Prefix filtering counters"; + container accesses { + description + "AccessList specific prefix filtering counters"; + list access { + key "access-list-name"; + description + "Prefix filtering counters for a specific + AccessList"; + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "AccessList Name"; + } + uses RSVP-MGMT-COUNT-PREFIX-ACL-INFO; + } + } + container interfaces { + description + "Interface specific prefix filtering counters"; + container summary { + description + "Summary of prefix filtering counts for all + interfaces"; + uses RSVP-MGMT-COUNT-PREFIX-INTERFACE-INFO; + } + container interfaces { + description + "Table of interface specific prefix filtering + counters"; + list interface { + key "interface-name"; + description + "Prefix filtering counters for a specific + interface"; + leaf interface-name { + type xr:Cisco-ios-xr-string; + description + "Interface Name. 'None' is used internally + where the true interface is unknown (e.g. + for routed packets)"; + } + uses RSVP-MGMT-COUNT-PREFIX-INTERFACE-INFO; + } + } + } + } + container out-of-resource { + description + "Out of resource counters"; + container interfaces { + description + "Interface specific out of resource counters"; + container summary { + description + "Summary of out of resource counts for all + interfaces"; + uses RSVP-MGMT-COUNTERS-OOR; + } + container interfaces { + description + "Table of interface specific out of resource + counters"; + list interface { + key "interface-name"; + description + "Out of resource counters for a specific + interface"; + leaf interface-name { + type xr:Cisco-ios-xr-string; + description + "Interface Name. 'None' is used internally + where the true interface is unknown (e.g. + for routed packets)"; + } + uses RSVP-MGMT-COUNTERS-OOR; + } + } + } + } + container interface-events { + description + "Event counters"; + list interface-event { + key "interface-name"; + description + "Event counters for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name. 'None' is used internally + where the true interface is unknown (e.g. for + routed packets)"; + } + uses RSVP-MGMT-EVENT-COUNT-INFO; + } + } + container nsr { + description + "Summary information for all RSVP NSR counters"; + uses RSVP-SYNC-COUNT-INFO; + } + container issu { + description + "Summary information for all RSVP ISSU counters"; + uses RSVP-SYNC-COUNT-INFO; + } + container database { + description + "Summary information for all RSVP database + counters"; + uses RSVP-MGMT-ALL-DB-COUNTERS; + } + container event-syncs { + description + "Table containing event sync counters"; + list event-sync { + key "interface-name"; + description + "Event sync counters"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses RSVP-MGMT-EVENT-COUNT-INFO; + } + } + } + } + + grouping HELLO-INTERFACE-INSTANCE-DETAIL-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container hello-interface-instance-details { + description + "Table of detailed info about i/f-based hello + instances"; + list hello-interface-instance-detail { + key "source-address destination-address"; + description + "Detailed info for a single interface-based + hello instance"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + uses RSVP-MGMT-HELLO-IF-INSTANCE-DETAIL; + } + } + } + + grouping AUTHENTICATION-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container authentication-briefs { + description + "Table for Authentication related information"; + list authentication-brief { + key "source-address destination-address mode-id interface-name"; + description + "Brief Authentication information"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf mode-id { + type Rsvp-mode; + description + "Mode (Tx or Rx)"; + } + leaf interface-name { + type xr:Interface-name; + description + "InterfaceName"; + } + uses RSVP-MGMT-AUTHENTICATION-COMPACT; + } + } + } + + grouping REQUEST-DETAIL-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container request-details { + description + "Table of detail info about requests"; + list request-detail { + description + "Detail info for a request"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port"; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-REQUEST-DETAIL; + } + } + } + + grouping RSB-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container rsb-briefs { + description + "Table of brief info about reservation state + blocks"; + list rsb-brief { + description + "Brief info for a single reservation state block"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port "; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-RESERVATION-COMPACT; + } + } + } + + grouping REQUEST-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container request-briefs { + description + "Table of brief info about requests"; + list request-brief { + description + "Brief info for a request"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port"; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-REQUEST-COMPACT; + } + } + } + + grouping HELLO-INTERFACE-INSTANCE-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container hello-interface-instance-briefs { + description + "Table of brief info about i/f-based hello + instances"; + list hello-interface-instance-brief { + key "source-address destination-address"; + description + "Brief info for a single interface-based hello + instance"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + uses RSVP-MGMT-HELLO-IF-INSTANCE-COMPACT; + } + } + } + + grouping INTERFACE-NEIGHBOR-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container interface-neighbor-briefs { + description + "Table of brief info about I/F neighbors"; + list interface-neighbor-brief { + key "neighbor-address"; + description + "Brief info for a single interface neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Address of global neighbor"; + } + uses RSVP-MGMT-NBR-COMPACT; + } + } + } + + grouping PSB-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container psb-briefs { + description + "Table of brief info about path state blocks"; + list psb-brief { + description + "Brief info for a single path state block"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port "; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-PATH-COMPACT; + } + } + } + + grouping GLOBAL-NEIGHBOR-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container global-neighbor-briefs { + description + "Table of brief info about global neighbors"; + list global-neighbor-brief { + key "neighbor-address"; + description + "Brief info for a single global neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Address of global neighbor"; + } + uses RSVP-MGMT-GLBL-NBR-COMPACT; + } + } + } + + grouping SESSION-DETAILED-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container session-detaileds { + description + "Table of detailed info about sessions"; + list session-detailed { + description + "Detailed info about session"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-SESSION-DETAIL; + } + } + } + + grouping AUTHENTICATION-DETAIL-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container authentication-details { + description + "Table for detailed authentication related + information"; + list authentication-detail { + key "source-address destination-address mode-id interface-name"; + description + "Brief Authentication information"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf mode-id { + type Rsvp-mode; + description + "Mode (Tx or Rx)"; + } + leaf interface-name { + type xr:Interface-name; + description + "InterfaceName"; + } + uses RSVP-MGMT-AUTHENTICATION-DETAIL; + } + } + } + + grouping GLOBAL-NEIGHBOR-DETAIL-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container global-neighbor-details { + description + "Table of detailed info about global neighbors"; + list global-neighbor-detail { + key "neighbor-address"; + description + "Detail info for a single global neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Address of global neighbor"; + } + uses RSVP-MGMT-GLBL-NBR-DETAIL; + } + } + } + + grouping INTERFACE-SUMMARY-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container interface-summaries { + description + "Table of summary info about RSVP-enabled + interfaces"; + list interface-summary { + key "interface-name"; + description + "Summary info about an RSVP-enabled interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses RSVP-MGMT-INTERFACE-SUMMARY; + } + } + } + + grouping INTERFACE-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container interface-briefs { + description + "Table of brief info about RSVP-enabled + interfaces"; + list interface-brief { + key "interface-name"; + description + "Brief info about an RSVP-enabled interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses RSVP-MGMT-INTERFACE-COMPACT; + } + } + } + + grouping HELLO-INSTANCE-DETAIL-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container hello-instance-details { + description + "Table of detailed info about hello instances"; + list hello-instance-detail { + key "source-address destination-address"; + description + "Detailed info for a single hello instance"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + uses RSVP-MGMT-HELLO-INSTANCE-DETAIL; + } + } + } + + grouping SUMMARY { + description + "Common node of rsvp, rsvp-standby"; + container summary { + description + "RSVP summary information"; + uses RSVP-GLOBAL-INFO; + } + } + + grouping PSB-DETAILED-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container psb-detaileds { + description + "Table of detailed info about path state blocks"; + list psb-detailed { + description + "Detailed info for a single path state block"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port "; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-PATH-DETAIL; + } + } + } + + grouping NSR { + description + "Common node of rsvp, rsvp-standby"; + container nsr { + description + "RSVP NSR information"; + container status { + description + "RSVP NSR status information"; + uses RSVP-NSR-ISSU-STATUS-INFO; + } + } + } + + grouping GRACEFUL-RESTART { + description + "Common node of rsvp, rsvp-standby"; + container graceful-restart { + description + "Info about graceful-restart"; + uses RSVP-MGMT-GRACEFUL-RESTART; + } + } + + grouping FRR-SUMMARY { + description + "Common node of rsvp, rsvp-standby"; + container frr-summary { + description + "Fast Re-Route Summary State Information"; + uses RSVP-MGMT-FRR-STATES-COMPACT; + } + } + + grouping RSB-DETAILED-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container rsb-detaileds { + description + "Table of detailed info about reservation state + blocks"; + list rsb-detailed { + description + "Detailed info for a single reservation state + block"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port "; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-RESERVATION-DETAIL; + } + } + } + + grouping HELLO-INSTANCE-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container hello-instance-briefs { + description + "Table of brief info about hello instances"; + list hello-instance-brief { + key "source-address destination-address"; + description + "Brief info for a single hello instance"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + uses RSVP-MGMT-HELLO-INSTANCE-COMPACT; + } + } + } + + grouping FRR-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container frrs { + description + "Table of detailed info about Fast Re-route + states"; + list frr { + description + "Detailed info for a single Fast Re-route state"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port"; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-FRR-STATES-DETAIL; + } + } + } + + grouping CONTROLLER-SUMMARY-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container controller-summaries { + description + "Table of summary info about RSVP-enabled + controllers"; + list controller-summary { + key "controller-name"; + description + "Summary info about an RSVP-enabled controller"; + leaf controller-name { + type xr:Interface-name; + description + "Controller Name"; + } + uses RSVP-MGMT-INTERFACE-SUMMARY; + } + } + } + + grouping SESSION-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container session-briefs { + description + "Table of brief info about sessions"; + list session-brief { + description + "Brief info about session"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-SESSION-COMPACT; + } + } + } + + grouping INTERFACE-DETAILED-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container interface-detaileds { + description + "Table of detailed info about RSVP-enabled + interfaces"; + list interface-detailed { + key "interface-name"; + description + "Detailed info about an RSVP-enabled interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses RSVP-MGMT-INTERFACE-DETAIL; + } + } + } + + grouping CONTROLLER-BRIEF-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container controller-briefs { + description + "Table of brief info about RSVP-enabled + controller"; + list controller-brief { + key "controller-name"; + description + "Brief info about an RSVP-enabled controller"; + leaf controller-name { + type xr:Interface-name; + description + "Controller Name"; + } + uses RSVP-MGMT-INTERFACE-COMPACT; + } + } + } + + grouping CONTROLLER-DETAILED-TABLE { + description + "Common node of rsvp, rsvp-standby"; + container controller-detaileds { + description + "Table of detailed info about RSVP-enabled + controllers"; + list controller-detailed { + key "controller-name"; + description + "Detailed info about an RSVP-enabled controller"; + leaf controller-name { + type xr:Interface-name; + description + "Controller Name"; + } + uses RSVP-MGMT-INTERFACE-DETAIL; + } + } + } + + container rsvp-standby { + config false; + description + "RSVP operational data for standby role"; + uses INTERFACE-NEIGHBOR-BRIEF-TABLE; + uses CONTROLLER-SUMMARY-TABLE; + uses AUTHENTICATION-BRIEF-TABLE; + uses SESSION-BRIEF-TABLE; + uses PSB-DETAILED-TABLE; + uses CONTROLLER-DETAILED-TABLE; + uses FRR-SUMMARY; + uses RSB-DETAILED-TABLE; + uses INTERFACE-SUMMARY-TABLE; + uses HELLO-INSTANCE-BRIEF-TABLE; + uses AUTHENTICATION-DETAIL-TABLE; + uses RSB-BRIEF-TABLE; + uses COUNTERS; + uses INTERFACE-DETAILED-TABLE; + uses CONTROLLER-BRIEF-TABLE; + uses GRACEFUL-RESTART; + uses HELLO-INTERFACE-INSTANCE-BRIEF-TABLE; + uses HELLO-INTERFACE-INSTANCE-DETAIL-TABLE; + uses INTERFACE-NEIGHBOR-DETAIL-TABLE; + uses NSR; + uses SUMMARY; + uses FRR-TABLE; + uses REQUEST-BRIEF-TABLE; + uses REQUEST-DETAIL-TABLE; + uses INTERFACE-BRIEF-TABLE; + uses SESSION-DETAILED-TABLE; + uses HELLO-INSTANCE-DETAIL-TABLE; + uses GLOBAL-NEIGHBOR-DETAIL-TABLE; + uses PSB-BRIEF-TABLE; + uses GLOBAL-NEIGHBOR-BRIEF-TABLE; + } + container rsvp { + config false; + description + "RSVP operational data"; + container issu { + description + "RSVP ISSU information"; + container status { + description + "RSVP ISSU status information"; + uses RSVP-NSR-ISSU-STATUS-INFO; + } + } + container bw-pool-info { + description + "All B/W Pool info"; + uses RSVP-MGMT-GLBL-BW-POOL-INFO; + } + container pxsb-details { + description + "Table of detailed PXSB info"; + list pxsb-detail { + description + "Detailed PXSB info"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port"; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-PXSB-DETAIL; + } + } + container rxsb-details { + description + "Table of detailed RXSB info"; + list rxsb-detail { + description + "Detailed RXSB info"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf destination-port { + type uint32; + description + "Destination Port"; + } + leaf protocol { + type uint32; + description + "Protocol"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf session-type { + type Rsvp-session; + description + "Session Type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf source-port { + type uint32; + description + "Source Port"; + } + leaf sub-group-origin { + type inet:ipv4-address-no-zone; + description + "Subgroup Origin"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses RSVP-MGMT-RXSB-DETAIL; + } + } + uses INTERFACE-NEIGHBOR-BRIEF-TABLE; + uses CONTROLLER-SUMMARY-TABLE; + uses AUTHENTICATION-BRIEF-TABLE; + uses SESSION-BRIEF-TABLE; + uses PSB-DETAILED-TABLE; + uses CONTROLLER-DETAILED-TABLE; + uses FRR-SUMMARY; + uses RSB-DETAILED-TABLE; + uses INTERFACE-SUMMARY-TABLE; + uses HELLO-INSTANCE-BRIEF-TABLE; + uses AUTHENTICATION-DETAIL-TABLE; + uses RSB-BRIEF-TABLE; + uses COUNTERS; + uses INTERFACE-DETAILED-TABLE; + uses CONTROLLER-BRIEF-TABLE; + uses GRACEFUL-RESTART; + uses HELLO-INTERFACE-INSTANCE-BRIEF-TABLE; + uses HELLO-INTERFACE-INSTANCE-DETAIL-TABLE; + uses INTERFACE-NEIGHBOR-DETAIL-TABLE; + uses NSR; + uses SUMMARY; + uses FRR-TABLE; + uses REQUEST-BRIEF-TABLE; + uses REQUEST-DETAIL-TABLE; + uses INTERFACE-BRIEF-TABLE; + uses SESSION-DETAILED-TABLE; + uses HELLO-INSTANCE-DETAIL-TABLE; + uses GLOBAL-NEIGHBOR-DETAIL-TABLE; + uses PSB-BRIEF-TABLE; + uses GLOBAL-NEIGHBOR-BRIEF-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-cfg.yang new file mode 100644 index 000000000..d5f6945a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-cfg.yang @@ -0,0 +1,177 @@ +module Cisco-IOS-XR-ip-sbfd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-sbfd-cfg"; + prefix ip-sbfd-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-sbfd package configuration. + + This module contains definitions + for the following management objects: + sbfd: SBFD Configuration ,Seamless-BFD is method for detecting + faultsbetween two different nodes in a network + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-03 { + description + "SBFD configuration objects."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping REMOTE-DISCRIMINATOR { + description + "Common node of ipv4-address, ipv6-address"; + list remote-discriminator { + key "remote-discriminator"; + description + "Remote Discriminator value"; + leaf remote-discriminator { + type uint32 { + range "1..4294967295"; + } + description + "Remote Discriminator Value"; + } + } + } + + container sbfd { + description + "SBFD Configuration ,Seamless-BFD is method for + detecting faultsbetween two different nodes in a + network"; + container remote-target { + description + "configure remote target"; + container ipv4-addresses { + description + "ipv4 address as target"; + list ipv4-address { + key "address"; + description + "IP Address Value for RemoteDiscriminatorTable"; + leaf address { + type inet:ipv4-address-no-zone; + description + " IPv4 address"; + } + uses REMOTE-DISCRIMINATOR; + } + } + container ipv6-addresses { + description + "ipv6 address as target"; + list ipv6-address { + key "address"; + description + "IP Address Value for RemoteDiscriminatorTable"; + leaf address { + type inet:ipv6-address-no-zone; + description + " IPv6 adddress"; + } + uses REMOTE-DISCRIMINATOR; + } + } + } + container local-discriminator { + description + "Configure local discriminator"; + container intf-discriminators { + description + "Configure local discriminator from interface + address"; + list intf-discriminator { + key "interface-name"; + description + "interface address as discriminator"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + container dynamic-discriminators { + description + "Configure local discriminator dynamically"; + list dynamic-discriminator { + key "discriminator"; + description + "Local discriminator value"; + leaf discriminator { + type uint32 { + range "0..1"; + } + description + "Dynamic discriminator value"; + } + } + } + container ipv4-discriminators { + description + "Configure local discriminator as an ipv4 + address"; + list ipv4-discriminator { + key "address"; + description + "ipv4 address as discriminator"; + leaf address { + type inet:ip-address-no-zone; + description + " IPv4 address"; + } + } + } + container val32-discriminators { + description + "Configure local discriminator as an integer"; + list val32-discriminator { + key "discriminator"; + description + "Local discriminator value"; + leaf discriminator { + type uint32 { + range "1..4294967295"; + } + description + "Local discriminator value"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper-sub1.yang new file mode 100644 index 000000000..be580433d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper-sub1.yang @@ -0,0 +1,209 @@ +submodule Cisco-IOS-XR-ip-sbfd-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-sbfd-oper { + prefix Cisco-IOS-XR-ip-sbfd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-sbfd package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-01 { + description + "Added task privileges to sbfd oper."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bfd-discr { + type uint32; + description + "Bfd discr"; + } + + typedef Bfd-in6-addr { + type inet:ipv6-address; + description + "Bfd in6 addr"; + } + + typedef Bfd-in-addr { + type inet:ipv4-address; + description + "Bfd in addr"; + } + + typedef Bfd-af-id { + type enumeration { + enum "bfd-af-id-none" { + value 0; + description + "No Address"; + } + enum "bfd-af-id-ipv4" { + value 2; + description + "IPv4 AFI"; + } + enum "bfd-af-id-ipv6" { + value 10; + description + "IPv6 AFI"; + } + } + description + "Bfd af id"; + } + + typedef Sbfd-address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "ipv4"; + } + enum "ipv6" { + value 2; + description + "ipv6"; + } + } + description + "Sbfd address family"; + } + + grouping BFD-MGMT-TGT-IDENTIFIER-LOCAL { + description + "SBFD Target Identifier Table"; + leaf discr { + type uint32; + description + "Local discriminator"; + } + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + leaf flags { + type string; + description + "MODE name"; + } + leaf status { + type string; + description + "Status"; + } + leaf discr-src { + type string; + description + "Discriminator source name"; + } + } + + grouping IP-ADDR-T-UNION { + description + "IP ADDR T UNION"; + leaf afi { + type Bfd-af-id; + description + "AFI"; + } + leaf dummy { + when "../afi = 'bfd-af-id-none'" { + description + "../AFI = 'BFD_AF_ID_NONE'"; + } + type uint8; + description + "No Address"; + } + leaf ipv4 { + when "../afi = 'bfd-af-id-ipv4'" { + description + "../AFI = 'BFD_AF_ID_IPV4'"; + } + type Bfd-in-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../afi = 'bfd-af-id-ipv6'" { + description + "../AFI = 'BFD_AF_ID_IPV6'"; + } + type Bfd-in6-addr; + description + "IPv6 address type"; + } + } + + grouping BFD-MGMT-TGT-IDENTIFIER-REMOTE { + description + "SBFD Target Identifier Table"; + container ip-address { + description + "IP address"; + uses IP-ADDR-T-UNION; + } + leaf tid-type { + type Sbfd-address-family; + description + "Target identifier for sbfd"; + } + leaf discr { + type Bfd-discr; + description + "Remote discriminator"; + } + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + leaf status { + type string; + description + "Status"; + } + leaf discr-src { + type string; + description + "Discriminator source name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper.yang new file mode 100644 index 000000000..e4234be57 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-sbfd-oper.yang @@ -0,0 +1,132 @@ +module Cisco-IOS-XR-ip-sbfd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-sbfd-oper"; + prefix ip-sbfd-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-sbfd-oper-sub1 { + revision-date 2020-07-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-sbfd package operational data. + + This module contains definitions + for the following management objects: + sbfd: Seamless BFD (S-BFD) operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-01 { + description + "Added task privileges to sbfd oper."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sbfd { + config false; + description + "Seamless BFD (S-BFD) operational data"; + container target-identifier { + description + "Target-identifier information"; + container remote-vrfs { + description + "SBFD remote discriminator data"; + list remote-vrf { + key "vrf-name"; + description + "Table of remote discriminator data per VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + list remote-discriminator { + description + "SBFD remote discriminator "; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name "; + } + leaf remote-discriminator { + type uint32; + description + "Remote Discriminator"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Address"; + } + uses BFD-MGMT-TGT-IDENTIFIER-REMOTE; + } + } + } + container local-vrfs { + description + "SBFD local discriminator data"; + list local-vrf { + key "vrf-name"; + description + "Table of local discriminator data per VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + list local-discriminator { + description + "SBFD local discriminator "; + leaf local-discriminator { + type uint32; + description + "Local discriminator"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name "; + } + uses BFD-MGMT-TGT-IDENTIFIER-LOCAL; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-cfg.yang new file mode 100644 index 000000000..3549bb4c6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-cfg.yang @@ -0,0 +1,542 @@ +module Cisco-IOS-XR-ip-static-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-cfg"; + prefix ip-static-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-static package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-static-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + router-static: This class represents router static + configuration + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-03 { + description + "Remove the default value for load-metric"; + semver:module-version "1.1.1M"; + } + revision 2021-02-11 { + description + "Added new to option to prefer RIB over LDB"; + semver:module-version "1.1.0"; + } + revision 2019-07-18 { + description + "Added one more field to accept Algorithm"; + semver:module-version "1.0.1"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-09-21 { + description + "Added bfd multihop option"; + } + revision 2018-08-02 { + description + "Added one more key to accept SR Policy"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-09-10 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping VRF-ROUTE { + description + "Common node of vrf-prefix, vrf-prefix-topology"; + container vrf-route { + description + "A connected or recursive static route"; + container vrf-next-hop-table { + description + "The set of nexthop information configured for + this route"; + uses VRF-NEXT-HOP; + } + } + } + + grouping VRF-NEXT-HOP { + description + "Common node of vrf-next-hop-table, + vrf-recursive-next-hop-table, + segment-route-next-hop-table"; + + grouping VRF-NEXT-HOP-CONTENT { + description + "VRF NEXT HOP CONTENT"; + leaf bfd-fast-detect { + type boolean; + default "false"; + description + "If set, bfd is enabled"; + } + leaf minimum-interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + default "100"; + description + "BFD Hello interval in milliseconds"; + } + leaf detect-multiplier { + type uint32 { + range "1..10"; + } + default "3"; + description + "BFD Detect Multiplier"; + } + leaf metric { + type uint32 { + range "1..254"; + } + default "1"; + description + "Distance metric for this path"; + } + leaf tag { + type uint32 { + range "1..4294967295"; + } + description + "Tag for this path"; + } + leaf permanent { + type boolean; + default "false"; + description + "If set, path is permanent"; + } + leaf vrf-lable { + type uint32 { + range "0..4294967295"; + } + default "0"; + description + "VRF LABEL"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + default "0"; + description + "Tunnel ID for this path"; + } + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the object to track"; + } + leaf description { + type string; + description + "Short Description of Static Route"; + } + leaf load-metric { + type uint32 { + range "1..16777214"; + } + description + "UCMP load metric"; + } + leaf index { + type string; + description + "Nexthop Identifier for OC Yang model"; + } + leaf multihop { + type boolean; + default "false"; + description + "If set, BFD is multihop enabled"; + } + leaf bfd-source-address { + type inet:ip-address-no-zone; + description + "BFD Multihop Source"; + } + leaf algorithm { + type uint32 { + range "0..255"; + } + default "0"; + description + "FlexAlgo range is ideally 128-255 but here + placed 0-255 as default value (0) can't be put + outside range"; + } + leaf prefer-rib-over-ldp { + type boolean; + default "false"; + description + "Flag passid to rib to prefer rib over ldp"; + } + } + list vrf-next-hop-interface-name { + key "interface-name"; + description + "A forwarding interface or Segement Routing mpls + path name and/or the address of a nexthop router + for this route (one of these must be specified)"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + uses VRF-NEXT-HOP-CONTENT; + } + list vrf-next-hop-interface-name-next-hop-address { + key "interface-name next-hop-address"; + description + "A forwarding interface or Segement Routing mpls + path name and/or the address of a nexthop router + for this route (one of these must be specified)"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf next-hop-address { + type inet:ip-address-no-zone; + description + "Next hop address"; + } + uses VRF-NEXT-HOP-CONTENT; + } + list vrf-next-hop-next-hop-address { + key "next-hop-address"; + description + "A forwarding interface or Segement Routing mpls + path name and/or the address of a nexthop router + for this route (one of these must be specified)"; + leaf next-hop-address { + type inet:ip-address-no-zone; + description + "Next hop address"; + } + uses VRF-NEXT-HOP-CONTENT; + } + list vrf-next-hop-next-hop-address-explicit-path-name { + key "next-hop-address explicit-path-name"; + description + "A forwarding interface or Segement Routing mpls + path name and/or the address of a nexthop router + for this route (one of these must be specified)"; + leaf next-hop-address { + type inet:ip-address-no-zone; + description + "Next hop address"; + } + leaf explicit-path-name { + type xr:Cisco-ios-xr-string; + description + "Segment Routing mpls path name"; + } + uses VRF-NEXT-HOP-CONTENT; + } + list vrf-next-hop-explicit-path-name-sr-policy-name { + key "explicit-path-name sr-policy-name"; + description + "A forwarding interface or Segement Routing mpls + path name and/or the address of a nexthop router + for this route (one of these must be specified)"; + leaf explicit-path-name { + type xr:Cisco-ios-xr-string; + description + "Segment Routing mpls path name"; + } + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "Sr Policy name"; + } + uses VRF-NEXT-HOP-CONTENT; + } + list vrf-next-hop-sr-policy-name { + key "sr-policy-name"; + description + "A forwarding interface or Segement Routing mpls + path name and/or the address of a nexthop router + for this route (one of these must be specified)"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "Sr Policy name"; + } + uses VRF-NEXT-HOP-CONTENT; + } + } + + grouping VRF-SEG-ROUTE { + description + "Common node of vrf-prefix, vrf-prefix-topology"; + container vrf-seg-route { + description + "A static segment route"; + container segment-route-next-hop-table { + description + "The set of nexthop information configured for + this route"; + uses VRF-NEXT-HOP; + } + } + } + + grouping VRF-RECURSE-ROUTE-TABLE { + description + "Common node of vrf-prefix, vrf-prefix-topology"; + container vrf-recurse-routes { + description + "A recursive next VRF static route"; + list vrf-recurse-route { + key "vrf-name"; + description + "A recursive next vrf static route"; + container vrf-recursive-next-hop-table { + description + "The set of nexthop information configured for + this route"; + uses VRF-NEXT-HOP; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Fallback or recusive VRF name"; + } + } + } + } + + grouping TOPOLOGY-TABLE { + description + "Common node of vrf-unicast, vrf-multicast"; + container topologies { + description + "Topology static configuration container"; + list topology { + key "topology-name"; + description + "Topology static configuration"; + leaf topology-name { + type xr:Cisco-ios-xr-string; + description + "Topology name"; + } + uses VRF-PREFIX-TOPOLOGY-TABLE; + } + } + } + + grouping VRF-PREFIX-TABLE { + description + "Common node of vrf-unicast, vrf-multicast"; + container vrf-prefixes { + description + "The set of all Static Topologies for this AFI."; + list vrf-prefix { + key "prefix prefix-length"; + description + "A static route"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + uses VRF-ROUTE; + uses VRF-RECURSE-ROUTE-TABLE; + uses VRF-SEG-ROUTE; + } + } + } + + grouping ADDRESS-FAMILY { + description + "Common node of default-vrf, vrf"; + container address-family { + description + "Address family configuration"; + container vrfipv4 { + description + "IPv4 static configuration"; + uses VRF-UNICAST; + uses VRF-MULTICAST; + } + container vrfipv6 { + description + "IPv6 static configuration"; + uses VRF-UNICAST; + uses VRF-MULTICAST; + } + } + } + + grouping VRF-PREFIX-TOPOLOGY-TABLE { + description + "Common node of default-topology, topology"; + container vrf-prefix-topologies { + description + "The set of all Static Topologies for this AFI."; + list vrf-prefix-topology { + key "prefix prefix-length"; + description + "A static route"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + uses VRF-ROUTE; + uses VRF-RECURSE-ROUTE-TABLE; + uses VRF-SEG-ROUTE; + } + } + } + + grouping DEFAULT-TOPOLOGY { + description + "Common node of vrf-unicast, vrf-multicast"; + container default-topology { + description + "Default topology configuration"; + uses VRF-PREFIX-TOPOLOGY-TABLE; + } + } + + grouping VRF-UNICAST { + description + "Common node of vrfipv4, vrfipv6"; + container vrf-unicast { + description + "Unicast static configuration"; + uses TOPOLOGY-TABLE; + uses VRF-PREFIX-TABLE; + uses DEFAULT-TOPOLOGY; + } + } + + grouping VRF-MULTICAST { + description + "Common node of vrfipv4, vrfipv6"; + container vrf-multicast { + description + "Multicast static configuration"; + uses TOPOLOGY-TABLE; + uses VRF-PREFIX-TABLE; + uses DEFAULT-TOPOLOGY; + } + } + + container router-static { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-static-cfg.yang which will + provide the compatible functionalities. This + class represents router static configuration"; + container vrfs { + description + "VRF static configuration container"; + list vrf { + key "vrf-name"; + description + "VRF static configuration"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses ADDRESS-FAMILY; + } + } + container default-vrf { + description + "Default VRF configuration"; + uses ADDRESS-FAMILY; + } + container maximum-routes { + description + "The maximum number of static routes that can be + configured."; + leaf ipv6-routes { + type uint32 { + range "1..140000"; + } + default "4000"; + description + "The maximum number of static routes that can be + configured for IPv6 AFI."; + } + leaf ipv4-routes { + type uint32 { + range "1..140000"; + } + default "4000"; + description + "The maximum number of static routes that can be + configured for IPv4 AFI."; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper-sub1.yang new file mode 100644 index 000000000..c09d53152 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper-sub1.yang @@ -0,0 +1,922 @@ +submodule Cisco-IOS-XR-ip-static-ipv4-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-static-ipv4-oper { + prefix Cisco-IOS-XR-ip-static-ipv4-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-static-ipv4 package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-06-21 { + description + "Added new elements to display nodeDB and Protect events"; + semver:module-version "1.2.1m"; + } + revision 2020-11-20 { + description + "Added leaf node for prefer RIB over LDP"; + semver:module-version "1.2.0"; + } + revision 2019-12-12 { + description + "Added leaf node for FlexAlgo for srv6"; + semver:module-version "1.1.0"; + } + revision 2019-06-01 { + description + "Added oper ipv4 support for fridb, colocation, sr-policy + 2019-05-13 + Added ipv4 support for bfd sessions, object track database and segment routing"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-03 { + description + "Added oper ipv4 support"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Object-state { + type enumeration { + enum "object-state-unknown" { + value 0; + description + "Object does not exist"; + } + enum "object-state-down" { + value 1; + description + "Object exists but state is down"; + } + enum "object-state-up" { + value 2; + description + "Object exists and state is up"; + } + } + description + "Object state"; + } + + typedef Explicit-path-state { + type enumeration { + enum "explicit-path-state-unknown" { + value 0; + description + "Explicit Path does not exist"; + } + enum "explicit-path-state-up" { + value 1; + description + "Explicit path exists and state is up"; + } + enum "explicit-path-state-down" { + value 2; + description + "Explicit path exists but state is down"; + } + } + description + "Explicit path state"; + } + + typedef Bfd-state { + type enumeration { + enum "next-hop-bfd-not-ready" { + description + "BFD for next-hop address is not ready"; + } + enum "next-hop-bfd-down" { + description + "BFD for next-hop address is down"; + } + enum "next-hop-bfd-up" { + description + "BFD for next-hop address is up"; + } + } + description + "Bfd state"; + } + + typedef Nexthop-state { + type enumeration { + enum "next-hop-unresolved" { + description + "Next-hop address is not resolved"; + } + enum "next-hop-resolved" { + description + "Next-hop address is resolved"; + } + enum "next-hop-unknown" { + description + "Unknown state"; + } + } + description + "Nexthop state"; + } + + typedef Ipv4-static-addr-bd { + type inet:ipv4-address; + description + "Ipv4 static addr bd"; + } + + typedef Interface-state { + type enumeration { + enum "interface-none" { + value 0; + description + "Interface does not exist"; + } + enum "interface-down" { + value 1; + description + "Interface exists but IP is down"; + } + enum "interface-up" { + value 2; + description + "Interface exists and IP is up"; + } + enum "interface-unknown" { + value 3; + description + "Unknown state"; + } + } + description + "Interface state"; + } + + grouping IPV4-STATIC-TEDB-BD { + description + "A static tedb"; + leaf state { + type Explicit-path-state; + description + "Explicit path state"; + } + leaf tunnel-ifh { + type uint32; + description + "Tunnel interface handle"; + } + leaf binding-label { + type uint32; + description + "Explicit path Binding label"; + } + leaf last-te-time { + type uint64; + description + "Last TE notification time"; + } + leaf last-te-state { + type Explicit-path-state; + description + "Last TE notification state"; + } + list paths { + description + "Paths referenced by this tedb"; + uses IP-STATIC-PATH-ADDR-BD; + } + } + + grouping IP-STATIC-COLOCATION-NODE-BD { + description + "A static co-location node"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-name { + type string; + description + "Table Name"; + } + leaf table-id { + type uint32; + description + "colocation table id"; + } + leaf ref-count { + type uint32; + description + "Refrence Count"; + } + } + + grouping IP-STATIC-COLOCATION-BD { + description + "A static co-location list"; + list colocation { + description + "Colocation List of table"; + uses IP-STATIC-COLOCATION-NODE-BD; + } + } + + grouping IPV4-STATIC-OTDB-BD { + description + "A static otdb"; + leaf state { + type Object-state; + description + "Object state"; + } + leaf last-ot-time { + type uint64; + description + "Last OT notification time"; + } + leaf last-ot-state { + type Object-state; + description + "Last OT notification state"; + } + list paths { + description + "Paths referenced by this otdb"; + uses IP-STATIC-PATH-ADDR-BD; + } + } + + grouping IP-STATIC-TDB-BD { + description + "A static tdb"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-name { + type string; + description + "VRF Name"; + } + leaf table-id-xr { + type uint32; + description + "table id in table database"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + } + + grouping IPV4-STATIC-PATH-BD { + description + "A static path"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf interface { + type string; + description + "Next-hop interface"; + } + leaf if-resolved { + type boolean; + description + "Interface resolved indicator"; + } + leaf object { + type string; + description + "Tracking object"; + } + leaf object-resolved { + type boolean; + description + "Object resolved indicator"; + } + leaf exp-path { + type string; + description + "Explicit path"; + } + leaf next-hop { + type Ipv4-static-addr-bd; + description + "Next-hop address"; + } + leaf nh-resolved { + type boolean; + description + "Next-hop resolved indicator"; + } + leaf path-tag { + type uint32; + description + "Protocol tag"; + } + leaf path-flags { + type uint32; + description + "Topology path flags"; + } + leaf distance { + type uint32; + description + "Administrative distance"; + } + leaf ref-count { + type uint32; + description + "Reference count"; + } + leaf metric { + type uint32; + description + "UCMP Metric"; + } + leaf status { + type uint32; + description + "Path Status"; + } + leaf rib-time { + type uint64; + description + "RIB add or delete time"; + } + leaf version { + type uint32; + description + "Path version"; + } + leaf index { + type string; + description + "OC index"; + } + leaf local-label { + type uint32; + description + "Route local Label"; + } + leaf last-notif-time { + type uint64; + description + "Last IM notification time"; + } + leaf last-rib-time { + type uint64; + description + "Last RIB notification time for nh"; + } + leaf last-rib-result { + type uint64; + description + "Last RIB batch result"; + } + leaf last-bfd-state { + type Bfd-state; + description + "State of bfd session"; + } + leaf last-bfd-time { + type uint64; + description + "Last BFD notification time"; + } + leaf path-state { + type Explicit-path-state; + description + "explicit path status"; + } + leaf last-te-time { + type uint64; + description + "Last TE notification time"; + } + leaf algorithm { + type uint32; + description + "FlexAlgo value, Valid only for ipv6_static"; + } + leaf prefer-rib-over-ldp { + type boolean; + description + "Give precedence to RIB over LDP"; + } + } + + grouping IPV4-STATIC-ROUTE-BD { + description + "A static route"; + container evt-hist { + description + "Event history of topology"; + uses EVT-HIST-INFO; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "Table id of static route"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf best-distance { + type uint32; + description + "Administrative distance of best path"; + } + leaf last-tdb-time { + type uint64; + description + "Last event occured on the tdb"; + } + list paths { + description + "Path(s) of the route"; + uses IPV4-STATIC-PATH-BD; + } + } + + grouping IP-STATIC-NHDB-BFD-STAT-BD { + description + "BFD session stats"; + leaf session-up-cnt { + type uint32; + description + "# of state change to up"; + } + leaf session-down-cnt { + type uint32; + description + "# of state change to down"; + } + } + + grouping IPV4-STATIC-NHDB-BFD-BD { + description + "A static nhdb bfd session"; + container bfd-stat { + description + "Stat of bfd session"; + uses IP-STATIC-NHDB-BFD-STAT-BD; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "next-hop bfd table id"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf ifh { + type uint32; + description + "Interface handle"; + } + leaf bfd-interval { + type uint32; + description + "BFD hello interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + leaf bfd-multihop { + type boolean; + description + "BFD multihop"; + } + leaf bfd-state { + type Bfd-state; + description + "State of bfd session"; + } + leaf bfd-source { + type Ipv4-static-addr-bd; + description + "Multihop session source IP"; + } + } + + grouping IP-STATIC-FRIDB-BD { + description + "A static fridb"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf if-handle { + type uint32; + description + "Interface handle"; + } + leaf-list tblid-db { + type uint32; + description + "Table ID database"; + } + } + + grouping IP-STATIC-PATH-BFD-BD { + description + "A static bfd"; + leaf enable { + type boolean; + description + "TRUE if bfd is enabled"; + } + } + + grouping IPV4-STATIC-NHDB-BD { + description + "A static nhdb"; + container evt-hist { + description + "Event history of next-hop"; + uses EVT-HIST-INFO; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "next-hop table id"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf state { + type Nexthop-state; + description + "Next-hop address state"; + } + leaf conn-state { + type Nexthop-state; + description + "Next-hop address connected state"; + } + leaf ifh { + type uint32; + description + "Interface handleto which RIB resolves this"; + } + leaf conn-ifh { + type uint32; + description + "Interface handle to which this is connected"; + } + leaf conn-ref-count { + type uint32; + description + "Number of paths for which conn_state is resolved"; + } + leaf bfd-interval { + type uint32; + description + "BFD hello interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + leaf bfd-state { + type Bfd-state; + description + "State of bfd session"; + } + leaf last-rib-time { + type uint64; + description + "Last RIB notification time"; + } + leaf last-rib-state { + type Nexthop-state; + description + "Last RIB notification state"; + } + leaf last-bfd-time { + type uint64; + description + "Last BFD notification time"; + } + leaf last-bfd-state { + type Bfd-state; + description + "Last BFD notification state"; + } + list paths { + description + "Paths referenced by this nhdb"; + uses IP-STATIC-PATH-ADDR-BD; + } + list bfds { + description + "Paths bfd state"; + uses IP-STATIC-PATH-BFD-BD; + } + } + + grouping EVT-HIST-ENTRY { + description + "Event history Entry"; + leaf evt-timestamp { + type string; + description + "The timestamp of the event"; + } + leaf evt-name { + type string; + description + "Event name"; + } + leaf evt-type { + type uint8; + description + "Event type"; + } + leaf evt-many { + type boolean; + description + "Multiple instance flag"; + } + leaf evt-sticky { + type boolean; + description + "Sticky flag"; + } + leaf-list evt-data { + type uint32; + description + "Optional data"; + } + } + + grouping EVT-HIST-INFO { + description + "Per object event history"; + leaf evt-class-name { + type string; + description + "Class name string"; + } + list evt-entry { + description + "Array of event entries"; + uses EVT-HIST-ENTRY; + } + } + + grouping IP-STATIC-ADDR-INFO-BD { + description + "Static address route"; + leaf addr { + type Ipv4-static-addr-bd; + description + "IP address"; + } + leaf prefix-len { + type uint32; + description + "Prefix length"; + } + leaf route-tag { + type uint32; + description + "Static route tag"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf inactive { + type boolean; + description + "Active/Inactive"; + } + leaf prefix-sid { + type boolean; + description + "Prefix SID"; + } + } + + grouping IP-STATIC-PATH-ADDR-BD { + description + "Static address path"; + leaf prefix { + type Ipv4-static-addr-bd; + description + "The path's prefix address"; + } + leaf prefix-len { + type uint8; + description + "The path's prefix length"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping IPV4-STATIC-IDB-BD { + description + "A static idb"; + container evt-hist { + description + "Event history of interface"; + uses EVT-HIST-INFO; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "interface database table id"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf state { + type Interface-state; + description + "Interface state"; + } + leaf ifh { + type uint32; + description + "Interface handle"; + } + leaf last-notif-time { + type uint64; + description + "Last IM/RSI notification time"; + } + leaf last-if-state { + type Interface-state; + description + "Last IM notification state"; + } + leaf ref-count { + type uint32; + description + "Reference count"; + } + leaf gl-ifh { + type uint32; + description + "Global Interface handle"; + } + leaf im-state { + type uint32; + description + "Interface manager state"; + } + leaf rsi-register { + type boolean; + description + "Registration status with RSI"; + } + leaf-list tblid-db { + type uint32; + description + "IDB Table ID"; + } + leaf-list fr-tblid-db { + type uint32; + description + "FR Table ID"; + } + list paths { + description + "Paths referenced by this idb"; + uses IP-STATIC-PATH-ADDR-BD; + } + list addr-info { + description + "IP address info"; + uses IP-STATIC-ADDR-INFO-BD; + } + } + + grouping IP-STATIC-PROT-IFH-BD { + description + "Static protect interface details"; + leaf if-name { + type string; + description + "Interface name"; + } + } + + grouping IPV4-STATIC-PROT-NODE-BD { + description + "static protect node details"; + leaf node-id { + type uint32; + description + "Node value"; + } + leaf node-name { + type string; + description + "Location of the node"; + } + list ifh-info { + description + "Ifh info for the node"; + uses IP-STATIC-PROT-IFH-BD; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper.yang new file mode 100644 index 000000000..d82c61567 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv4-oper.yang @@ -0,0 +1,728 @@ +module Cisco-IOS-XR-ip-static-ipv4-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-ipv4-oper"; + prefix ip-static-ipv4-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-static-ipv4-oper-sub1 { + revision-date 2023-06-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-static-ipv4 package operational data. + + This module contains definitions + for the following management objects: + ipv4-local: Local Routing Information + ipv4-static: Static Routing Information + ipv4-connected: Connected Routing Information + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-06-21 { + description + "Added new elements to display nodeDB and Protect events"; + semver:module-version "1.2.1m"; + } + revision 2020-11-20 { + description + "Added leaf node for prefer RIB over LDP"; + semver:module-version "1.2.0"; + } + revision 2019-12-12 { + description + "Added leaf node for FlexAlgo for srv6"; + semver:module-version "1.1.0"; + } + revision 2019-06-01 { + description + "Added oper ipv4 support for fridb, colocation, sr-policy + 2019-05-13 + Added ipv4 support for bfd sessions, object track database and segment routing"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-03 { + description + "Added oper ipv4 support"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Safi { + type enumeration { + enum "unicast" { + value 1; + description + "unicast type"; + } + enum "multicast" { + value 2; + description + "multicast type"; + } + } + description + "Safi"; + } + + typedef Afi { + type enumeration { + enum "ipv4" { + value 1; + description + "ipv4 addressfamily"; + } + enum "ipv6" { + value 2; + description + "ipv6 addressfamily"; + } + } + description + "Afi"; + } + + typedef Ipv4friafi { + type enumeration { + enum "ipv4" { + value 1; + description + "ipv4 addressfamily"; + } + enum "ipv6" { + value 2; + description + "ipv6 addressfamily"; + } + } + description + "Ipv4friafi"; + } + + typedef Ipv4frisafi { + type enumeration { + enum "unicast" { + value 1; + description + "unicast type"; + } + enum "multicast" { + value 2; + description + "multicast type"; + } + } + description + "Ipv4frisafi"; + } + + grouping TOPO-VRF-TABLE { + description + "Common node of ipv4-static, ipv4-local, + ipv4-connected"; + container topo-vrfs { + description + "vrf list for Topology"; + list topo-vrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of thei vrf"; + } + list topo-table { + key "table-name"; + description + "Topology table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the atble"; + } + list topo-afi { + key "afi"; + description + "Topology address family type"; + leaf afi { + type Afi; + description + "IPv4 AFI"; + } + list topo-safi { + key "safi"; + description + "Topology SAFI type"; + container destinations { + description + "route info"; + list destination { + description + "Destinatioin address and prefix length"; + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "detaination address prefix"; + } + leaf prefix-length { + type xr:Hex-integer; + description + "detaination prefix length"; + } + uses IPV4-STATIC-ROUTE-BD; + } + } + leaf safi { + type Safi; + description + "IPv4 SAFI"; + } + } + } + } + } + } + } + + grouping NHVRF-TABLE { + description + "Common node of ipv4-static, ipv4-local, + ipv4-connected"; + container nhvrfs { + description + "next-hop's vrf list"; + list nhvrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of thei vrf"; + } + list nh-table { + key "table-name"; + description + "next-hop table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the atble"; + } + list nhafi { + key "afi"; + description + "next-hop address family type"; + leaf afi { + type Afi; + description + "IPv4 AFI"; + } + list nhsafi { + key "safi"; + description + "next-hop safi(unicat|multicast) type"; + container nh-addresses { + description + "next hop Database"; + list nh-address { + key "next-hop-addr"; + description + "next-hop address to display"; + leaf next-hop-addr { + type xr:Cisco-ios-xr-string; + description + "next hop address"; + } + uses IPV4-STATIC-NHDB-BD; + } + } + leaf safi { + type Safi; + description + "IPv4 SAFI"; + } + } + } + } + } + } + } + + grouping TABLE { + description + "Common node of ipv4-static, ipv4-local, + ipv4-connected"; + container table-ids { + description + "list of Tables"; + list table-id { + key "table-id"; + description + "Table ID to display"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + uses IP-STATIC-TDB-BD; + } + } + } + + grouping IPV4-PROTECT-NODE-DB { + description + "Common node of ipv4-local, ipv4-connected"; + container ipv4-protect-nodes { + description + "ipv4 Protect Node Database"; + list ipv4-protect-node { + key "node"; + description + "Protect Node to display"; + leaf node { + type xr:Node-id; + description + "Node ID"; + } + uses IPV4-STATIC-PROT-NODE-BD; + } + } + } + + grouping BFDVRF-TABLE { + description + "Common node of ipv4-static, ipv4-local, + ipv4-connected"; + container bfdvrfs { + description + "BFD's vrf list"; + list bfdvrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of the vrf"; + } + list bfd-table { + key "table-name"; + description + "BFD table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the table"; + } + list bfdafi { + key "afi"; + description + "BFD address family type"; + leaf afi { + type Afi; + description + "IPv4 AFI"; + } + list bfdsafi { + key "safi"; + description + "BFD safi(unicat|multicast) type"; + container bfd-addresses { + description + "list of BFD sessions"; + list bfd-address { + key "bfd-next-hop-addr"; + description + "BFD next-hop address to display"; + leaf bfd-next-hop-addr { + type xr:Cisco-ios-xr-string; + description + "BFD next hop address"; + } + uses IPV4-STATIC-NHDB-BFD-BD; + } + } + leaf safi { + type Safi; + description + "IPv4 SAFI"; + } + } + } + } + } + } + } + + grouping IPV4-IF-DB { + description + "Common node of ipv4-static, ipv4-local, + ipv4-connected"; + container ipv4vrfs { + description + "ipv4 interface database"; + list ipv4vrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of the"; + } + list ipv4-table { + key "table-name"; + description + "table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the atble"; + } + list ipv4afi { + key "afi"; + description + "address family type"; + leaf afi { + type Afi; + description + "IPv4 AFI"; + } + list ipv4safi { + key "safi"; + description + "unicast|multicast"; + leaf safi { + type Safi; + description + "IPv4 SAFI"; + } + list ipv4-interface { + key "interface-name"; + description + "Interface to display"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses IPV4-STATIC-IDB-BD; + } + } + } + } + } + } + } + + grouping TABLE-EVENTS { + description + "Common node of ipv4-static, ipv4-local, + ipv4-connected"; + container table-events-ids { + description + "list of Tables"; + list table-events-id { + key "table-id"; + description + "Table ID to display events info"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + uses EVT-HIST-INFO; + } + } + } + + grouping IPV4FRIDB { + description + "Common node of ipv4-local, ipv4-connected"; + container ipv4fridbvrfs { + description + "ipv4 forward database"; + list ipv4fridbvrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Forward DB vrf name"; + } + list ipv4fridb-table { + key "table-name"; + description + "table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the forward DB table"; + } + list ipv4fridbafi { + key "afitype"; + description + "address family type"; + leaf afitype { + type Ipv4friafi; + description + "IPv4 AFI"; + } + list ipv4fridbsafi { + key "safitype"; + description + "unicast|multicast"; + leaf safitype { + type Ipv4frisafi; + description + "IPv4 SAFI"; + } + list ipv4fridb-interface { + key "interface-name"; + description + "forward DB Interface to display"; + leaf interface-name { + type xr:Interface-name; + description + "forward DB Interface name"; + } + uses IP-STATIC-FRIDB-BD; + } + } + } + } + } + } + } + + grouping IPV4-PROTECT-NODE-EVENTS-DB { + description + "Common node of ipv4-local, ipv4-connected"; + container ipv4-protect-node-events { + description + "Protect interface event info"; + list ipv4-protect-node-event { + key "node"; + description + "Protect interface event"; + leaf node { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + + container ipv4-local { + config false; + description + "Local Routing Information"; + uses IPV4-PROTECT-NODE-DB; + uses IPV4-IF-DB; + uses NHVRF-TABLE; + uses IPV4-PROTECT-NODE-EVENTS-DB; + uses IPV4FRIDB; + uses TABLE-EVENTS; + uses BFDVRF-TABLE; + uses TOPO-VRF-TABLE; + uses TABLE; + } + container ipv4-static { + config false; + description + "Static Routing Information"; + container ipv4-sr-policy-vrfs { + description + "ipv4 sr-policy interface database"; + list ipv4-sr-policy-vrf { + key "vrf-name"; + description + "sr policy vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of the vrf"; + } + list ipv4-sr-policy-table { + key "table-name"; + description + "sr policy table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the table"; + } + list ipv4-sr-policy-afi { + key "afi"; + description + "address family type"; + leaf afi { + type Afi; + description + "IPv4 AFI"; + } + list ipv4-sr-policy-safi { + key "safi"; + description + "unicast|multicast"; + leaf safi { + type Safi; + description + "IPv4 SAFI"; + } + list ipv4-sr-policy-interface { + key "srpolicy"; + description + "sr policy to display"; + leaf srpolicy { + type xr:Cisco-ios-xr-string; + description + "sr policy name"; + } + uses IPV4-STATIC-IDB-BD; + } + } + } + } + } + } + container track-object-names { + description + "list of track objects"; + list track-object-name { + key "ot-name"; + description + "Track object to display"; + leaf ot-name { + type xr:Cisco-ios-xr-string; + description + "The name of the tacking object"; + } + uses IPV4-STATIC-OTDB-BD; + } + } + container colocationvrf-names { + description + "list of colocation vrfs"; + list colocationvrf-name { + key "vrf"; + description + "vrf name of table id to display colocation list"; + leaf vrf { + type xr:Cisco-ios-xr-string; + description + "vrf name"; + } + list colocation-table { + key "table-name"; + description + "table name to display colocation list"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "table name"; + } + list colocation-afi { + key "afi"; + description + "Colocation address family type"; + leaf afi { + type Afi; + description + "IPv4 AFI"; + } + list colocation-safi { + key "safi"; + description + "Colocation safi(unicat|multicast) type"; + container colo-table-ids { + description + "tables to display colocation list"; + list colo-table-id { + key "table-id"; + description + "table to display colocation list"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + uses IP-STATIC-COLOCATION-BD; + } + } + leaf safi { + type Safi; + description + "IPv4 SAFI"; + } + } + } + } + } + } + container exp-paths { + description + "list of isegment routes"; + list exp-path { + key "exp-path"; + description + "Explicit path to display"; + leaf exp-path { + type xr:Cisco-ios-xr-string; + description + "The name of the tacking object"; + } + uses IPV4-STATIC-TEDB-BD; + } + } + uses IPV4-IF-DB; + uses NHVRF-TABLE; + uses TABLE-EVENTS; + uses BFDVRF-TABLE; + uses TOPO-VRF-TABLE; + uses TABLE; + } + container ipv4-connected { + config false; + description + "Connected Routing Information"; + uses IPV4-PROTECT-NODE-DB; + uses IPV4-IF-DB; + uses NHVRF-TABLE; + uses IPV4-PROTECT-NODE-EVENTS-DB; + uses IPV4FRIDB; + uses TABLE-EVENTS; + uses BFDVRF-TABLE; + uses TOPO-VRF-TABLE; + uses TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper-sub1.yang new file mode 100644 index 000000000..c977946ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper-sub1.yang @@ -0,0 +1,922 @@ +submodule Cisco-IOS-XR-ip-static-ipv6-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-static-ipv6-oper { + prefix Cisco-IOS-XR-ip-static-ipv6-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-static-ipv6 package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-06-21 { + description + "Added new elements to display nodeDB and Protect events"; + semver:module-version "1.2.1m"; + } + revision 2020-11-20 { + description + "Added leaf node for Prefer RIB over LDP"; + semver:module-version "1.2.0"; + } + revision 2019-12-12 { + description + "Added leaf node for FlexAlgo for srv6"; + semver:module-version "1.1.0"; + } + revision 2019-06-01 { + description + "Added oper ipv6 support for fridb, colocation, sr-policy + 2019-05-13 + Added ipv4 support for bfd sessions, object track database and segment routing"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-03 { + description + "Added oper ipv6 support"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Object-state { + type enumeration { + enum "object-state-unknown" { + value 0; + description + "Object does not exist"; + } + enum "object-state-down" { + value 1; + description + "Object exists but state is down"; + } + enum "object-state-up" { + value 2; + description + "Object exists and state is up"; + } + } + description + "Object state"; + } + + typedef Interface-state { + type enumeration { + enum "interface-none" { + value 0; + description + "Interface does not exist"; + } + enum "interface-down" { + value 1; + description + "Interface exists but IP is down"; + } + enum "interface-up" { + value 2; + description + "Interface exists and IP is up"; + } + enum "interface-unknown" { + value 3; + description + "Unknown state"; + } + } + description + "Interface state"; + } + + typedef Explicit-path-state { + type enumeration { + enum "explicit-path-state-unknown" { + value 0; + description + "Explicit Path does not exist"; + } + enum "explicit-path-state-up" { + value 1; + description + "Explicit path exists and state is up"; + } + enum "explicit-path-state-down" { + value 2; + description + "Explicit path exists but state is down"; + } + } + description + "Explicit path state"; + } + + typedef Ipv6-static-addr-bd { + type inet:ipv6-address; + description + "Ipv6 static addr bd"; + } + + typedef Bfd-state { + type enumeration { + enum "next-hop-bfd-not-ready" { + description + "BFD for next-hop address is not ready"; + } + enum "next-hop-bfd-down" { + description + "BFD for next-hop address is down"; + } + enum "next-hop-bfd-up" { + description + "BFD for next-hop address is up"; + } + } + description + "Bfd state"; + } + + typedef Nexthop-state { + type enumeration { + enum "next-hop-unresolved" { + description + "Next-hop address is not resolved"; + } + enum "next-hop-resolved" { + description + "Next-hop address is resolved"; + } + enum "next-hop-unknown" { + description + "Unknown state"; + } + } + description + "Nexthop state"; + } + + grouping IP-STATIC-COLOCATION-NODE-BD { + description + "A static co-location node"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-name { + type string; + description + "Table Name"; + } + leaf table-id { + type uint32; + description + "colocation table id"; + } + leaf ref-count { + type uint32; + description + "Refrence Count"; + } + } + + grouping IP-STATIC-COLOCATION-BD { + description + "A static co-location list"; + list colocation { + description + "Colocation List of table"; + uses IP-STATIC-COLOCATION-NODE-BD; + } + } + + grouping IPV6-STATIC-TEDB-BD { + description + "A static tedb"; + leaf state { + type Explicit-path-state; + description + "Explicit path state"; + } + leaf tunnel-ifh { + type uint32; + description + "Tunnel interface handle"; + } + leaf binding-label { + type uint32; + description + "Explicit path Binding label"; + } + leaf last-te-time { + type uint64; + description + "Last TE notification time"; + } + leaf last-te-state { + type Explicit-path-state; + description + "Last TE notification state"; + } + list paths { + description + "Paths referenced by this tedb"; + uses IP-STATIC-PATH-ADDR-BD; + } + } + + grouping IPV6-STATIC-OTDB-BD { + description + "A static otdb"; + leaf state { + type Object-state; + description + "Object state"; + } + leaf last-ot-time { + type uint64; + description + "Last OT notification time"; + } + leaf last-ot-state { + type Object-state; + description + "Last OT notification state"; + } + list paths { + description + "Paths referenced by this otdb"; + uses IP-STATIC-PATH-ADDR-BD; + } + } + + grouping IP-STATIC-PROT-IFH-BD { + description + "Static protect interface details"; + leaf if-name { + type string; + description + "Interface name"; + } + } + + grouping IPV6-STATIC-PROT-NODE-BD { + description + "static protect node details"; + leaf node-id { + type uint32; + description + "Node value"; + } + leaf node-name { + type string; + description + "Location of the node"; + } + list ifh-info { + description + "Ifh info for the node"; + uses IP-STATIC-PROT-IFH-BD; + } + } + + grouping IP-STATIC-TDB-BD { + description + "A static tdb"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-name { + type string; + description + "VRF Name"; + } + leaf table-id-xr { + type uint32; + description + "table id in table database"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + } + + grouping IP-STATIC-ADDR-INFO-BD { + description + "Static address route"; + leaf addr { + type Ipv6-static-addr-bd; + description + "IP address"; + } + leaf prefix-len { + type uint32; + description + "Prefix length"; + } + leaf route-tag { + type uint32; + description + "Static route tag"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf inactive { + type boolean; + description + "Active/Inactive"; + } + leaf prefix-sid { + type boolean; + description + "Prefix SID"; + } + } + + grouping IPV6-STATIC-IDB-BD { + description + "A static idb"; + container evt-hist { + description + "Event history of interface"; + uses EVT-HIST-INFO; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "interface database table id"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf state { + type Interface-state; + description + "Interface state"; + } + leaf ifh { + type uint32; + description + "Interface handle"; + } + leaf last-notif-time { + type uint64; + description + "Last IM/RSI notification time"; + } + leaf last-if-state { + type Interface-state; + description + "Last IM notification state"; + } + leaf ref-count { + type uint32; + description + "Reference count"; + } + leaf gl-ifh { + type uint32; + description + "Global Interface handle"; + } + leaf im-state { + type uint32; + description + "Interface manager state"; + } + leaf rsi-register { + type boolean; + description + "Registration status with RSI"; + } + leaf-list tblid-db { + type uint32; + description + "IDB Table ID"; + } + leaf-list fr-tblid-db { + type uint32; + description + "FR Table ID"; + } + list paths { + description + "Paths referenced by this idb"; + uses IP-STATIC-PATH-ADDR-BD; + } + list addr-info { + description + "IP address info"; + uses IP-STATIC-ADDR-INFO-BD; + } + } + + grouping IPV6-STATIC-PATH-BD { + description + "A static path"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf interface { + type string; + description + "Next-hop interface"; + } + leaf if-resolved { + type boolean; + description + "Interface resolved indicator"; + } + leaf object { + type string; + description + "Tracking object"; + } + leaf object-resolved { + type boolean; + description + "Object resolved indicator"; + } + leaf exp-path { + type string; + description + "Explicit path"; + } + leaf next-hop { + type Ipv6-static-addr-bd; + description + "Next-hop address"; + } + leaf nh-resolved { + type boolean; + description + "Next-hop resolved indicator"; + } + leaf path-tag { + type uint32; + description + "Protocol tag"; + } + leaf path-flags { + type uint32; + description + "Topology path flags"; + } + leaf distance { + type uint32; + description + "Administrative distance"; + } + leaf ref-count { + type uint32; + description + "Reference count"; + } + leaf metric { + type uint32; + description + "UCMP Metric"; + } + leaf status { + type uint32; + description + "Path Status"; + } + leaf rib-time { + type uint64; + description + "RIB add or delete time"; + } + leaf version { + type uint32; + description + "Path version"; + } + leaf index { + type string; + description + "OC index"; + } + leaf local-label { + type uint32; + description + "Route local Label"; + } + leaf last-notif-time { + type uint64; + description + "Last IM notification time"; + } + leaf last-rib-time { + type uint64; + description + "Last RIB notification time for nh"; + } + leaf last-rib-result { + type uint64; + description + "Last RIB batch result"; + } + leaf last-bfd-state { + type Bfd-state; + description + "State of bfd session"; + } + leaf last-bfd-time { + type uint64; + description + "Last BFD notification time"; + } + leaf path-state { + type Explicit-path-state; + description + "explicit path status"; + } + leaf last-te-time { + type uint64; + description + "Last TE notification time"; + } + leaf algorithm { + type uint32; + description + "FlexAlgo value, Valid only for ipv6_static"; + } + leaf prefer-rib-over-ldp { + type boolean; + description + "Give precedence to RIB over LDP"; + } + } + + grouping IPV6-STATIC-ROUTE-BD { + description + "A static route"; + container evt-hist { + description + "Event history of topology"; + uses EVT-HIST-INFO; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "Table id of static route"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf best-distance { + type uint32; + description + "Administrative distance of best path"; + } + leaf last-tdb-time { + type uint64; + description + "Last event occured on the tdb"; + } + list paths { + description + "Path(s) of the route"; + uses IPV6-STATIC-PATH-BD; + } + } + + grouping IP-STATIC-NHDB-BFD-STAT-BD { + description + "BFD session stats"; + leaf session-up-cnt { + type uint32; + description + "# of state change to up"; + } + leaf session-down-cnt { + type uint32; + description + "# of state change to down"; + } + } + + grouping IPV6-STATIC-NHDB-BFD-BD { + description + "A static nhdb bfd session"; + container bfd-stat { + description + "Stat of bfd session"; + uses IP-STATIC-NHDB-BFD-STAT-BD; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "next-hop bfd table id"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf ifh { + type uint32; + description + "Interface handle"; + } + leaf bfd-interval { + type uint32; + description + "BFD hello interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + leaf bfd-multihop { + type boolean; + description + "BFD multihop"; + } + leaf bfd-state { + type Bfd-state; + description + "State of bfd session"; + } + leaf bfd-source { + type Ipv6-static-addr-bd; + description + "Multihop session source IP"; + } + } + + grouping EVT-HIST-ENTRY { + description + "Event history Entry"; + leaf evt-timestamp { + type string; + description + "The timestamp of the event"; + } + leaf evt-name { + type string; + description + "Event name"; + } + leaf evt-type { + type uint8; + description + "Event type"; + } + leaf evt-many { + type boolean; + description + "Multiple instance flag"; + } + leaf evt-sticky { + type boolean; + description + "Sticky flag"; + } + leaf-list evt-data { + type uint32; + description + "Optional data"; + } + } + + grouping EVT-HIST-INFO { + description + "Per object event history"; + leaf evt-class-name { + type string; + description + "Class name string"; + } + list evt-entry { + description + "Array of event entries"; + uses EVT-HIST-ENTRY; + } + } + + grouping IP-STATIC-PATH-BFD-BD { + description + "A static bfd"; + leaf enable { + type boolean; + description + "TRUE if bfd is enabled"; + } + } + + grouping IP-STATIC-PATH-ADDR-BD { + description + "Static address path"; + leaf prefix { + type Ipv6-static-addr-bd; + description + "The path's prefix address"; + } + leaf prefix-len { + type uint8; + description + "The path's prefix length"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping IPV6-STATIC-NHDB-BD { + description + "A static nhdb"; + container evt-hist { + description + "Event history of next-hop"; + uses EVT-HIST-INFO; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf table-id { + type uint32; + description + "next-hop table id"; + } + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf state { + type Nexthop-state; + description + "Next-hop address state"; + } + leaf conn-state { + type Nexthop-state; + description + "Next-hop address connected state"; + } + leaf ifh { + type uint32; + description + "Interface handleto which RIB resolves this"; + } + leaf conn-ifh { + type uint32; + description + "Interface handle to which this is connected"; + } + leaf conn-ref-count { + type uint32; + description + "Number of paths for which conn_state is resolved"; + } + leaf bfd-interval { + type uint32; + description + "BFD hello interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + leaf bfd-state { + type Bfd-state; + description + "State of bfd session"; + } + leaf last-rib-time { + type uint64; + description + "Last RIB notification time"; + } + leaf last-rib-state { + type Nexthop-state; + description + "Last RIB notification state"; + } + leaf last-bfd-time { + type uint64; + description + "Last BFD notification time"; + } + leaf last-bfd-state { + type Bfd-state; + description + "Last BFD notification state"; + } + list paths { + description + "Paths referenced by this nhdb"; + uses IP-STATIC-PATH-ADDR-BD; + } + list bfds { + description + "Paths bfd state"; + uses IP-STATIC-PATH-BFD-BD; + } + } + + grouping IP-STATIC-FRIDB-BD { + description + "A static fridb"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf if-handle { + type uint32; + description + "Interface handle"; + } + leaf-list tblid-db { + type uint32; + description + "Table ID database"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper.yang new file mode 100644 index 000000000..afe71ffb3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-static-ipv6-oper.yang @@ -0,0 +1,728 @@ +module Cisco-IOS-XR-ip-static-ipv6-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-ipv6-oper"; + prefix ip-static-ipv6-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-static-ipv6-oper-sub1 { + revision-date 2023-06-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-static-ipv6 package operational data. + + This module contains definitions + for the following management objects: + ipv6-local: Local Routing Information + ipv6-static: Static Routing Information + ipv6-connected: connected Routing Information + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-06-21 { + description + "Added new elements to display nodeDB and Protect events"; + semver:module-version "1.2.1m"; + } + revision 2020-11-20 { + description + "Added leaf node for Prefer RIB over LDP"; + semver:module-version "1.2.0"; + } + revision 2019-12-12 { + description + "Added leaf node for FlexAlgo for srv6"; + semver:module-version "1.1.0"; + } + revision 2019-06-01 { + description + "Added oper ipv6 support for fridb, colocation, sr-policy + 2019-05-13 + Added ipv4 support for bfd sessions, object track database and segment routing"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-03 { + description + "Added oper ipv6 support"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6friafi { + type enumeration { + enum "ipv4" { + value 1; + description + "ipv4 addressfamily"; + } + enum "ipv6" { + value 2; + description + "ipv6 addressfamily"; + } + } + description + "Ipv6friafi"; + } + + typedef Afiipv6 { + type enumeration { + enum "ipv4" { + value 1; + description + "ipv4 addressfamily"; + } + enum "ipv6" { + value 2; + description + "ipv6 addressfamily"; + } + } + description + "Afiipv6"; + } + + typedef Safiipv6 { + type enumeration { + enum "unicast" { + value 1; + description + "unicat type"; + } + enum "multicast" { + value 2; + description + "multicast type"; + } + } + description + "Safiipv6"; + } + + typedef Ipv6frisafi { + type enumeration { + enum "unicast" { + value 1; + description + "unicast type"; + } + enum "multicast" { + value 2; + description + "multicast type"; + } + } + description + "Ipv6frisafi"; + } + + grouping TOPO-VRF-TABLE { + description + "Common node of ipv6-static, ipv6-local, + ipv6-connected"; + container topo-vrfs { + description + "vrf list for Topology"; + list topo-vrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of thei vrf"; + } + list topo-table { + key "table-name"; + description + "Topology table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the atble"; + } + list topo-afi { + key "afi"; + description + "Topology address family type"; + leaf afi { + type Afiipv6; + description + "IPv6 AFI"; + } + list topo-safi { + key "safi"; + description + "Topology SAFI type"; + container destinations { + description + "route info"; + list destination { + description + "Destinatioin address and prefix length"; + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "IP Prefix"; + } + leaf prefix-length { + type xr:Hex-integer; + description + "IPv6 Prefix length"; + } + uses IPV6-STATIC-ROUTE-BD; + } + } + leaf safi { + type Safiipv6; + description + "IPv6 SAFI"; + } + } + } + } + } + } + } + + grouping IPV6-PROTECT-NODE-EVENTS-DB { + description + "Common node of ipv6-local, ipv6-connected"; + container ipv6-protect-node-events { + description + "Protect interface event info"; + list ipv6-protect-node-event { + key "node"; + description + "Protect interface event"; + leaf node { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + + grouping NHVRF-TABLE { + description + "Common node of ipv6-static, ipv6-local, + ipv6-connected"; + container nhvrfs { + description + "next-hop's vrf list"; + list nhvrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of thei vrf"; + } + list nh-table { + key "table-name"; + description + "next-hop table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the atble"; + } + list nhafi { + key "afi"; + description + "next-hop address family type"; + leaf afi { + type Afiipv6; + description + "IPv6 AFI"; + } + list nhsafi { + key "safi"; + description + "next-hop safi(unicat|multicast) type"; + container nh-addresses { + description + "next-hop Database"; + list nh-address { + key "next-hop-addr"; + description + "next hop address to display"; + leaf next-hop-addr { + type xr:Cisco-ios-xr-string; + description + "next hop address"; + } + uses IPV6-STATIC-NHDB-BD; + } + } + leaf safi { + type Safiipv6; + description + "IPv6 SAFI"; + } + } + } + } + } + } + } + + grouping TABLE { + description + "Common node of ipv6-static, ipv6-local, + ipv6-connected"; + container table-ids { + description + "list of Tables"; + list table-id { + key "table-id"; + description + "Table ID to display"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + uses IP-STATIC-TDB-BD; + } + } + } + + grouping IPV6FRIDB { + description + "Common node of ipv6-local, ipv6-connected"; + container ipv6fridbvrfs { + description + "ipv6 forward database"; + list ipv6fridbvrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Forward DB vrf name"; + } + list ipv6fridb-table { + key "table-name"; + description + "table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the forward DB table"; + } + list ipv6fridbafi { + key "afitype"; + description + "address family type"; + leaf afitype { + type Ipv6friafi; + description + "IPv6 AFI"; + } + list ipv6fridbsafi { + key "safitype"; + description + "unicast|multicast"; + leaf safitype { + type Ipv6frisafi; + description + "IPv6 SAFI"; + } + list ipv6fridb-interface { + key "interface-name"; + description + "forward DB Interface to display"; + leaf interface-name { + type xr:Interface-name; + description + "forward DB Interface name"; + } + uses IP-STATIC-FRIDB-BD; + } + } + } + } + } + } + } + + grouping BFDVRF-TABLE { + description + "Common node of ipv6-static, ipv6-local, + ipv6-connected"; + container bfdvrfs { + description + "BFD's vrf list"; + list bfdvrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of the vrf"; + } + list bfd-table { + key "table-name"; + description + "BFD table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the table"; + } + list bfdafi { + key "afi"; + description + "BFD address family type"; + leaf afi { + type Afiipv6; + description + "IPv6 AFI"; + } + list bfdsafi { + key "safi"; + description + "BFD safi(unicat|multicast) type"; + container bfd-addresses { + description + "list of BFD sessions"; + list bfd-address { + key "bfd-next-hop-addr"; + description + "BFD next-hop address to display"; + leaf bfd-next-hop-addr { + type xr:Cisco-ios-xr-string; + description + "BFD next hop address"; + } + uses IPV6-STATIC-NHDB-BFD-BD; + } + } + leaf safi { + type Safiipv6; + description + "IPv6 SAFI"; + } + } + } + } + } + } + } + + grouping TABLE-EVENTS { + description + "Common node of ipv6-static, ipv6-local, + ipv6-connected"; + container table-events-ids { + description + "list of Tables"; + list table-events-id { + key "table-id"; + description + "Table ID to display events info"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + uses EVT-HIST-INFO; + } + } + } + + grouping IPV6-PROTECT-NODE-DB { + description + "Common node of ipv6-local, ipv6-connected"; + container ipv6-protect-nodes { + description + "ipv6 Protect Node Database"; + list ipv6-protect-node { + key "node"; + description + "Protect Node to display"; + leaf node { + type xr:Node-id; + description + "Node ID"; + } + uses IPV6-STATIC-PROT-NODE-BD; + } + } + } + + grouping IPV6-IF-DB { + description + "Common node of ipv6-static, ipv6-local, + ipv6-connected"; + container ipv6vrfs { + description + "ipv6 interface database"; + list ipv6vrf { + key "vrf-name"; + description + "vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of the"; + } + list ipv6-table { + key "table-name"; + description + "table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the"; + } + list ipv6afi { + key "afi"; + description + "address family type"; + leaf afi { + type Afiipv6; + description + "IPv6 AFI"; + } + list ipv6safi { + key "safi"; + description + "unicast|multicast"; + leaf safi { + type Safiipv6; + description + "IPv6 SAFI"; + } + list ipv6-interface { + key "interface-name"; + description + "Interface to display"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses IPV6-STATIC-IDB-BD; + } + } + } + } + } + } + } + + container ipv6-local { + config false; + description + "Local Routing Information"; + uses IPV6FRIDB; + uses NHVRF-TABLE; + uses TABLE-EVENTS; + uses IPV6-PROTECT-NODE-EVENTS-DB; + uses BFDVRF-TABLE; + uses TOPO-VRF-TABLE; + uses IPV6-IF-DB; + uses TABLE; + uses IPV6-PROTECT-NODE-DB; + } + container ipv6-static { + config false; + description + "Static Routing Information"; + container ipv6-track-object-names { + description + "list of track objects"; + list ipv6-track-object-name { + key "ot-name"; + description + "Track object to display"; + leaf ot-name { + type xr:Cisco-ios-xr-string; + description + "The name of the tacking object"; + } + uses IPV6-STATIC-OTDB-BD; + } + } + container ipv6-exp-paths { + description + "list of explicit paths"; + list ipv6-exp-path { + key "explicit-path"; + description + "Explicit path to display"; + leaf explicit-path { + type xr:Cisco-ios-xr-string; + description + "The name of the explicit path"; + } + uses IPV6-STATIC-TEDB-BD; + } + } + container ipv6-colocationvrf-names { + description + "list of colocation vrfs"; + list ipv6-colocationvrf-name { + key "vrf"; + description + "vrf name of table id to display colocation list"; + leaf vrf { + type xr:Cisco-ios-xr-string; + description + "vrf name"; + } + list ipv6-colocation-table { + key "table-name"; + description + "table name to display colocation list"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "table name"; + } + list ipv6-colocation-afi { + key "afi"; + description + "Colocation address family type"; + leaf afi { + type Afiipv6; + description + "IPv6 AFI"; + } + list ipv6-colocation-safi { + key "safi"; + description + "Colocation safi(unicat|multicast) type"; + container ipv6-colo-table-ids { + description + "tables to display colocation list"; + list ipv6-colo-table-id { + key "table-id"; + description + "table to display colocation list"; + leaf table-id { + type xr:Hex-integer; + description + "Table ID"; + } + uses IP-STATIC-COLOCATION-BD; + } + } + leaf safi { + type Safiipv6; + description + "IPv6 SAFI"; + } + } + } + } + } + } + container ipv6-sr-policy-vrfs { + description + "ipv6 sr-policy interface database"; + list ipv6-sr-policy-vrf { + key "vrf-name"; + description + "sr policy vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The name of the vrf"; + } + list ipv6-sr-policy-table { + key "table-name"; + description + "sr policy table name"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "The name of the table"; + } + list ipv6-sr-policy-afi { + key "afi"; + description + "address family type"; + leaf afi { + type Afiipv6; + description + "IPv6 AFI"; + } + list ipv6-sr-policy-safi { + key "safi"; + description + "unicast|multicast"; + leaf safi { + type Safiipv6; + description + "IPv6 SAFI"; + } + list ipv6-sr-policy-interface { + key "srpolicy"; + description + "sr policy to display"; + leaf srpolicy { + type xr:Cisco-ios-xr-string; + description + "sr policy name"; + } + uses IPV6-STATIC-IDB-BD; + } + } + } + } + } + } + uses NHVRF-TABLE; + uses TABLE-EVENTS; + uses BFDVRF-TABLE; + uses TOPO-VRF-TABLE; + uses IPV6-IF-DB; + uses TABLE; + } + container ipv6-connected { + config false; + description + "connected Routing Information"; + uses IPV6FRIDB; + uses NHVRF-TABLE; + uses TABLE-EVENTS; + uses IPV6-PROTECT-NODE-EVENTS-DB; + uses BFDVRF-TABLE; + uses TOPO-VRF-TABLE; + uses IPV6-IF-DB; + uses TABLE; + uses IPV6-PROTECT-NODE-DB; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-cfg.yang new file mode 100644 index 000000000..b1f1c9699 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-cfg.yang @@ -0,0 +1,417 @@ +module Cisco-IOS-XR-ip-tcp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-tcp-cfg"; + prefix ip-tcp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-tcp package configuration. + + This module contains definitions + for the following management objects: + ip-tcp: Global IP TCP configuration + ip: IP TCP Configuration Data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-16 { + description + "Changed path for Telnet and TFTP"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-02-14 { + description + "Added support for TCP-AO feature."; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping UDP { + description + "Common node of ipv4, ipv6"; + container udp { + presence "Indicates a udp node is configured."; + description + "UDP details"; + leaf access-list-name { + type string; + description + "Access list"; + } + leaf maximum-server { + type uint32 { + range "0..2147483647"; + } + description + "Set number of allowable servers, 0 for no-limit"; + } + leaf home-directory { + type string; + mandatory true; + description + "Specify device name where file is read from (e + .g. flash:)"; + } + leaf dscp-value { + type uint32; + description + "Set IP DSCP (DiffServ CodePoint) for TFTP + Server Packets"; + } + } + } + + grouping SMALL-SERVERS { + description + "Common node of ipv4, ipv6"; + container small-servers { + description + "Describing IPV4 and IPV6 small servers"; + container tcp-small-servers { + presence "Indicates a tcp-small-servers node is configured."; + description + "Describing TCP related IPV4 and IPV6 small + servers"; + leaf access-control-list-name { + type string; + description + "Specify the access list"; + } + leaf small-server { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "Unlimited Servers"; + } + } + type uint32 { + range "0..2147483647"; + } + } + mandatory true; + description + "Set number of allowable TCP small servers, + specify 0 for no-limit"; + } + } + } + } + + grouping VRF-TABLE { + description + "Common node of telnet, tftp"; + container vrfs { + description + "VRF table"; + list vrf { + must "ipv4 or ipv6"; + key "vrf-name"; + description + "VRF specific data"; + container ipv6 { + description + "IPV6 related services"; + uses TCP; + uses UDP; + } + container ipv4 { + description + "IPV4 related services"; + uses TCP; + uses UDP; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF instance"; + } + } + } + } + + grouping TCP { + description + "Common node of ipv4, ipv6"; + container tcp { + presence "Indicates a tcp node is configured."; + description + "TCP details"; + leaf access-list-name { + type string; + description + "Access list"; + } + leaf maximum-server { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Set number of allowable servers"; + } + } + } + + container ip-tcp { + presence "Indicates a ip-tcp node is configured."; + description + "Global IP TCP configuration"; + container directory { + presence "Indicates a directory node is configured."; + description + "TCP directory details"; + leaf directoryname { + type string; + mandatory true; + description + "Directory name "; + } + leaf max-debug-files { + type uint32 { + range "1..10000"; + } + default "256"; + description + "Set number of Debug files"; + } + leaf max-file-size-files { + type uint32 { + range "1024..4294967295"; + } + units "byte"; + description + "Set size of debug files in bytes"; + } + } + container throttle { + presence "Indicates a throttle node is configured."; + description + "Throttle TCP receive buffer (in percentage)"; + leaf tcpmin-throttle { + type uint32 { + range "0..100"; + } + mandatory true; + description + "Min throttle"; + } + leaf tcpmaxthrottle { + type uint32 { + range "0..100"; + } + mandatory true; + description + "Max throttle"; + } + } + container ao { + description + "TCP authentication option configuration mode"; + container keychains { + description + "Configure a Key Chain"; + list keychain { + key "name"; + description + "Name of the key chain"; + container keys { + description + "Configure a Key"; + list key { + key "key-id"; + description + "Key identifier"; + leaf key-id { + type xr:Cisco-ios-xr-string; + description + "48-bit Key identifier in range [0 - + 281474976710655]"; + } + leaf send-id { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Send ID"; + } + leaf receive-id { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Receive ID"; + } + } + } + leaf create { + type empty; + description + "Create keychain"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the key chain"; + } + } + } + leaf enable { + type empty; + description + "Create TCP-AO submode"; + } + } + container num-thread { + presence "Indicates a num-thread node is configured."; + description + "TCP InQueue and OutQueue threads"; + leaf tcp-in-q-threads { + type uint32 { + range "1..16"; + } + mandatory true; + description + "InQ Threads"; + } + leaf tcp-out-q-threads { + type uint32 { + range "1..16"; + } + mandatory true; + description + "OutQ Threads"; + } + } + leaf accept-rate { + type uint32 { + range "1..1000"; + } + default "500"; + description + "TCP connection accept rate"; + } + leaf selective-ack { + type empty; + description + "Enable TCP selective-ACK"; + } + leaf window-size { + type uint32 { + range "2048..65535"; + } + units "byte"; + description + "TCP receive window size (bytes)"; + } + leaf receive-q { + type uint32 { + range "40..800"; + } + description + "TCP receive Queue Size"; + } + leaf maximum-segment-size { + type uint32 { + range "68..10000"; + } + description + "TCP initial maximum segment size"; + } + leaf syn-wait-time { + type uint32 { + range "5..30"; + } + units "second"; + description + "Time to wait on new TCP connections in seconds"; + } + leaf timestamp { + type empty; + description + "Enable TCP timestamp option"; + } + leaf path-mtu-discovery { + type uint32; + units "minute"; + default "10"; + description + "Aging time; 0 for infinite, and range be (10,30)"; + } + } + container ip { + description + "IP TCP Configuration Data"; + container cinetd { + description + "Cinetd configuration data"; + container services { + description + "Describing services of cinetd"; + container ipv4 { + description + "IPV4 related services"; + uses SMALL-SERVERS; + } + container telnet { + description + "TELNET server configuration commands"; + uses VRF-TABLE; + } + container tftp { + description + "TFTP server configuration commands"; + uses VRF-TABLE; + } + container ipv6 { + description + "IPV6 related services"; + uses SMALL-SERVERS; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub1.yang new file mode 100644 index 000000000..ef059e8f6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub1.yang @@ -0,0 +1,1761 @@ +submodule Cisco-IOS-XR-ip-tcp-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-tcp-oper { + prefix Cisco-IOS-XR-ip-tcp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-tcp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-21 { + description + "APP bound interface handle added to PCB_DETAIL output"; + semver:module-version "1.2.0"; + } + revision 2020-05-15 { + description + "First SYN delay timer added"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-01 { + description + "Added socket async double free prevention count in tcp statistics summary"; + } + revision 2018-02-14 { + description + "PCB_ID argument is passed in string format."; + } + revision 2018-02-14 { + description + "Added support for TCP-AO feature."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nsr-down-reason { + type enumeration { + enum "none" { + description + "None, i.e. NSR was never up"; + } + enum "init-sync-aborted" { + description + "Initial sync was aborted"; + } + enum "client-disabled" { + description + "Disabled by Active APP"; + } + enum "client-disconnect" { + description + "Standby APP disconnected"; + } + enum "tcp-disconnect" { + description + "Standby TCP disconnected"; + } + enum "failover" { + description + "RP/DRP Failover occurred"; + } + enum "nsr-clear" { + description + "Clear nsr command"; + } + enum "internal-error" { + description + "Internal error occurred"; + } + enum "retransmit-threshold-exceed" { + description + "Retransmission threshold exceededprobably + becauseS-TCP was not healthy"; + } + enum "init-sync-failure-thresh-exceeded" { + description + "Init-sync repeat failures have exceeded + threshold"; + } + enum "audit-timeout" { + description + "Audit operation timed out"; + } + enum "audit-failed" { + description + "Audit operation failed"; + } + enum "standby-sscb-deleted" { + description + "Standby SSCB deleted"; + } + enum "standby-session-close" { + description + "Session was closed on standby"; + } + enum "standby-rxpath-frozen" { + description + "RX-Path was frozen on standby"; + } + enum "partner-deleted" { + description + "Partner was deleted from set"; + } + } + description + "NSR-Down Reasons"; + } + + typedef Nsr-status { + type enumeration { + enum "down" { + description + "NSR Stream Down"; + } + enum "up" { + description + "NSR Stream Up"; + } + enum "na" { + description + "NSR Stream Not applicable"; + } + } + description + "NSR Stream Status"; + } + + typedef Addr-family { + type enumeration { + enum "internetwork" { + value 2; + description + "Internetwork: UDP, TCP, etc."; + } + enum "ip-version6" { + value 10; + description + "IP version 6"; + } + } + description + "Address Family Types"; + } + + grouping TCP-NSR-PCB-STATS-BAG { + description + "SSO/NSR statistics of a TCP connection"; + container snd-counters { + description + "Send path counters for the PCB"; + uses TCP-NSR-SND-COUNTERS-NODE; + } + leaf pcb { + type uint64; + description + "PCB Address"; + } + leaf number-of-times-nsr-up { + type uint32; + description + "no. of times nsr went up"; + } + leaf number-of-timers-nsr-down { + type uint32; + description + "no. of times nsr went down"; + } + leaf number-of-times-nsr-disabled { + type uint32; + description + "no. of times nsr was disabled"; + } + leaf number-of-times-nsr-fail-over { + type uint32; + description + "no. of times fail-over occured"; + } + leaf internal-ack-drops-not-replicated { + type uint64; + description + "Number of iACKs dropped because session is not + replicated"; + } + leaf internal-ack-drops-initsync-first-phase { + type uint64; + description + "Number of iACKs dropped because 1st phase of + init-sync is in progress"; + } + leaf internal-ack-drops-stale { + type uint64; + description + "Number of stale iACKs dropped"; + } + leaf internal-ack-drops-immediate-match { + type uint64; + description + "Number of iACKs not held because of an immediate + match"; + } + leaf last-cleared-time { + type uint32; + units "second"; + description + "Time of last clear (in seconds since 1st Jan + 1970 00:00:00)"; + } + } + + grouping TCP-NSR-SSCB-STATS-BAG { + description + "SSO/NSR statistics of a Session Set"; + leaf sscb { + type uint64; + description + "SSCB Address"; + } + leaf set-id { + type uint32; + description + "ID of this Session-set"; + } + leaf number-of-attempted-init-sync { + type uint32; + description + "no. of initial-sync attempts"; + } + leaf number-of-succeeded-init-sync { + type uint32; + description + "no. of initial-sync successes"; + } + leaf number-of-failed-init-sync { + type uint32; + description + "no. of initial-sync failures"; + } + leaf number-of-failover { + type uint32; + description + "Number of Switch-overs"; + } + leaf number-of-nsr-resets { + type uint32; + description + "Number of times NSR was reset for the session"; + } + leaf last-cleared-time { + type uint32; + units "second"; + description + "Time of last clear (in seconds since 1st Jan + 1970 00:00:00)"; + } + } + + grouping TCP-NSR-CCB-STATS-BAG { + description + "SSO/NSR statistics of a Client"; + leaf ccb { + type uint64; + description + "Address of the Client Control Block"; + } + leaf pid { + type uint32; + description + "PID of the Client"; + } + leaf process-name { + type string; + description + "Proc name of Clinet"; + } + leaf job-id { + type int32; + description + "JOb ID of Client"; + } + leaf instance { + type uint32; + description + "Instance of the Client"; + } + leaf connected-at { + type uint32; + units "second"; + description + "Time of connect (in seconds since 1st Jan 1970 + 00:00:00)"; + } + leaf number-of-created-sscb { + type uint32; + description + "Num of created session sets"; + } + leaf number-of-deleted-sscb { + type uint32; + description + "Num of deleted session sets"; + } + leaf last-cleared-time { + type uint32; + units "second"; + description + "Time of last clear (in seconds since 1st Jan + 1970 00:00:00)"; + } + list notification-statistic { + description + "Various types of notification stats"; + uses TSS-NOTIF-STATS; + } + } + + grouping TCP-NSR-AUDIT-COUNTERS-AGGR-ONLY-NODE { + description + "Aggregate-only counters for NSR audit"; + leaf mark-session-set-rcv-drop-aggr { + type uint32; + description + "Number of session-set Mark messages dropped by + standby"; + } + leaf session-rcv-drop-aggr { + type uint32; + description + "Number of session audit messages dropped by + standby"; + } + leaf sweep-session-set-rcv-drop-aggr { + type uint32; + description + "Number of session-set Sweep messages dropped by + standby"; + } + leaf session-set-response-rcv-drop-aggr { + type uint32; + description + "Number of session-set response messages dropped + by active"; + } + leaf mark-session-set-ack-rcv-drop-aggr { + type uint32; + description + "Number of session-set mark ack messages dropped + by active"; + } + leaf mark-session-set-nack-rcv-drop-aggr { + type uint32; + description + "Number of session-set mark nack messages dropped + by active"; + } + } + + grouping TCP-NSR-AUDIT-COUNTERS-NODE { + description + "Audit counters"; + leaf mark-session-set-send { + type uint32; + description + "Number of successful session-set Mark's sent by + active"; + } + leaf mark-session-set-send-drop { + type uint32; + description + "Number of failed session-set Mark's"; + } + leaf mark-session-set-rcv { + type uint32; + description + "Number of successful session-set Mark's received + by standby"; + } + leaf mark-session-set-rcv-drop { + type uint32; + description + "Number of session-set Mark's dropped by standby"; + } + leaf session-send { + type uint32; + description + "Number of successful session audits sent by + active"; + } + leaf session-send-drop { + type uint32; + description + "Number of session audits that couldn't be sent + by active"; + } + leaf session-rcv { + type uint32; + description + "Number of session audits received by standby"; + } + leaf session-rcv-drop { + type uint32; + description + "Number of session audits dropped by standby"; + } + leaf sweep-session-set-send { + type uint32; + description + "Number of successful session-set Sweep's sent by + active"; + } + leaf sweep-session-set-send-drop { + type uint32; + description + "Number of failed session-set Sweep's"; + } + leaf sweep-session-set-rcv { + type uint32; + description + "Number of successful session-set Sweep's + received by standby"; + } + leaf sweep-session-set-rcv-drop { + type uint32; + description + "Number of session-set Sweep's dropped by standby"; + } + leaf session-set-response-send { + type uint32; + description + "Number of successful audit responses sent by + standby"; + } + leaf session-set-response-send-drop { + type uint32; + description + "Number of audit responses that couldn't be sent + by standby"; + } + leaf session-set-response-rcv { + type uint32; + description + "Number of audit responses received by active"; + } + leaf session-set-response-rcv-drop { + type uint32; + description + "Number of audit responses dropped by active"; + } + leaf mark-session-set-ack-send { + type uint32; + description + "Number of successful audit mark acks sent by + standby"; + } + leaf mark-session-set-ack-send-drop { + type uint32; + description + "Number of audit mark acks that couldn't be sent + by standby"; + } + leaf mark-session-set-ack-rcv { + type uint32; + description + "Number of audit mark acks received by active"; + } + leaf mark-session-set-ack-rcv-drop { + type uint32; + description + "Number of audit mark acks dropped by active"; + } + leaf mark-session-set-nack-send { + type uint32; + description + "Number of successful audit mark nacks sent by + standby"; + } + leaf mark-session-set-nack-send-drop { + type uint32; + description + "Number of audit mark nacks that couldn't be sent + by standby"; + } + leaf mark-session-set-nack-rcv { + type uint32; + description + "Number of audit mark nacks received by active"; + } + leaf mark-session-set-nack-rcv-drop { + type uint32; + description + "Number of audit mark nacks dropped by active"; + } + leaf abort { + type uint32; + description + "Number of times the active aborted an audit + session"; + } + } + + grouping TCP-NSR-AUDIT-COUNTERS-AGGR-NODE { + description + "Aggregate counters for NSR audit"; + container common { + description + "Common audit counters"; + uses TCP-NSR-AUDIT-COUNTERS-NODE; + } + container aggr-only { + description + "Aggregate only audit counters"; + uses TCP-NSR-AUDIT-COUNTERS-AGGR-ONLY-NODE; + } + } + + grouping TCP-NSR-SND-COUNTERS-AGGR-ONLY-NODE { + description + "Send path aggregate only counters"; + leaf data-xfer-rcv-drop-no-pcb { + type uint32; + description + "Number of Data transfer messages dropped because + PCB wasn't found"; + } + leaf data-xfer-rcv-drop-no-scb-dp { + type uint32; + description + "Number of Data transfer messages dropped because + SCB DP wasn't found"; + } + leaf seg-instr-rcv-drop-no-pcb { + type uint32; + description + "Number of Segmentation instruction messages + dropped because PCB wasn't found"; + } + leaf seg-instr-rcv-drop-no-scb-dp { + type uint32; + description + "Number of Segmentation instruction messages + dropped because SCB DP wasn't found"; + } + leaf nack-rcv-drop-no-pcb { + type uint32; + description + "Number of NACK messages dropped because PCB + wasn't found"; + } + leaf nack-rcv-drop-no-scb-dp { + type uint32; + description + "Number of NACK messages dropped because SCB DP + wasn't found"; + } + leaf cleanup-rcv-drop-no-pcb { + type uint32; + description + "Number of Cleanup messages dropped because PCB + wasn't found"; + } + leaf cleanup-rcv-drop-no-scb-dp { + type uint32; + description + "Number of Cleanup messages dropped because SCB + DP wasn't found"; + } + } + + grouping TCP-NSR-SND-COUNTERS-NODE { + description + "Send path counters"; + leaf data-xfer-send { + type uint32; + description + "Number of successful DATA transfers"; + } + leaf data-xfer-send-total { + type uint64; + description + "Amount of data transferred"; + } + leaf data-xfer-send-drop { + type uint32; + description + "Number of failed DATA transfers"; + } + leaf data-xfer-send-iov-alloc { + type uint32; + description + "Number of data transfer msgs., that required new + IOV's to be allocated"; + } + leaf data-xfer-rcv { + type uint32; + description + "Number of received DATA transfers"; + } + leaf data-xfer-rcv-success { + type uint32; + description + "Number of successfully received DATA transfers"; + } + leaf data-xfer-rcv-fail-buffer-trim { + type uint32; + description + "Number of received DATA transfers that had + buffer trim failures"; + } + leaf data-xfer-rcv-fail-snd-una-out-of-sync { + type uint32; + description + "Number of received DATA transfers that had + failures because the send path was out of sync"; + } + leaf seg-instr-send { + type uint32; + description + "Number of successful Segmentation instruction + messages"; + } + leaf seg-instr-send-units { + type uint32; + description + "Number of segement units transferred via the + successful Segmentation instruction messages"; + } + leaf seg-instr-send-drop { + type uint32; + description + "Number of failed Segmentation instruction + messages"; + } + leaf seg-instr-rcv { + type uint32; + description + "Number of received Segmentation instruction + messages"; + } + leaf seg-instr-rcv-success { + type uint32; + description + "Number of successfully received Segmentation + instruction messages"; + } + leaf seg-instr-rcv-fail-buffer-trim { + type uint32; + description + "Number of received Segmentation instructions + that had buffer trim failures"; + } + leaf seg-instr-rcv-fail-tcp-process { + type uint32; + description + "Number of received Segmentation instructions + that had failures during TCP processing"; + } + leaf nack-send { + type uint32; + description + "Number of successful NACK messages"; + } + leaf nack-send-drop { + type uint32; + description + "Number of failed NACK messages"; + } + leaf nack-rcv { + type uint32; + description + "Number of received NACK messages"; + } + leaf nack-rcv-success { + type uint32; + description + "Number of successfully received NACK messages"; + } + leaf nack-rcv-fail-data-send { + type uint32; + description + "Number of received NACK messages that had + failures when sending data in response to the + NACK"; + } + leaf cleanup-send { + type uint32; + description + "Number of successful Cleanup messages"; + } + leaf cleanup-send-drop { + type uint32; + description + "Number of failed Cleanup messages"; + } + leaf cleanup-rcv { + type uint32; + description + "Number of received Cleanup messages"; + } + leaf cleanup-rcv-success { + type uint32; + description + "Number of successfully received Cleanup messages"; + } + leaf cleanup-rcv-fail-buffer-trim { + type uint32; + description + "Number of Cleanup messages that had trim + failures"; + } + } + + grouping TCP-NSR-SND-COUNTERS-AGGR-NODE { + description + "Send path aggregate counters"; + container common { + description + "Common send path counters"; + uses TCP-NSR-SND-COUNTERS-NODE; + } + container aggr-only { + description + "Aggregate only send path counters"; + uses TCP-NSR-SND-COUNTERS-AGGR-ONLY-NODE; + } + } + + grouping TSS-NOTIF-STATS { + description + "notif stats structure used in ccb stats bag"; + leaf queued-count { + type uint32; + description + "how many were queued"; + } + leaf failed-count { + type uint32; + description + "Errors while queuing the notifs"; + } + leaf delivered-count { + type uint32; + description + "How many were picked up by app?"; + } + leaf dropped-count { + type uint32; + description + "How many were dropped because of timeout"; + } + } + + grouping TCP-NSR-SUMMARY-STATS-BAG { + description + "Summary SSO/NSR statistics"; + container snd-counters { + description + "Aggregate Send path counters"; + uses TCP-NSR-SND-COUNTERS-AGGR-NODE; + } + container audit-counters { + description + "Aggregate Audit counters"; + uses TCP-NSR-AUDIT-COUNTERS-AGGR-NODE; + } + leaf last-cleared-time { + type uint32; + units "second"; + description + "Time of last clear (in seconds since 1st Jan + 1970 00:00:00)"; + } + leaf number-of-connected-clients { + type uint32; + description + "Number of disconnected clients"; + } + leaf number-of-disconnected-clients { + type uint32; + description + "Number of disconnected clients"; + } + leaf number-of-current-clients { + type uint32; + description + "Number of current clients"; + } + leaf number-of-created-session-sets { + type uint32; + description + "Number of created session sets"; + } + leaf number-of-destroyed-session-sets { + type uint32; + description + "Number of destroyed session sets"; + } + leaf number-of-current-session-sets { + type uint32; + description + "Number of current session sets"; + } + leaf number-of-added-sessions { + type uint32; + description + "Number of added sessions"; + } + leaf number-of-deleted-sessions { + type uint32; + description + "Number of deleted sessions"; + } + leaf number-of-current-sessions { + type uint32; + description + "Number of current sessions"; + } + leaf number-of-partner-node { + type uint32; + description + " Number of Parner Nodes"; + } + leaf number-of-attempted-init-sync { + type uint32; + description + "no. of initial-sync attempts"; + } + leaf number-of-succeeded-init-sync { + type uint32; + description + "no. of initial-sync successes"; + } + leaf number-of-failed-init-sync { + type uint32; + description + "no. of initial-sync fails"; + } + leaf number-of-held-packets { + type uint32; + description + "Number of Packets held by Active TCP"; + } + leaf number-of-held-but-dropped-packets { + type uint32; + description + "Number of held packets dropped by Active TCP"; + } + leaf number-of-held-internal-acks { + type uint32; + description + "Number of Internal Acks held by Active TCP"; + } + leaf number-of-held-but-dropped-internal-acks { + type uint32; + description + "Number of held Internal Acks dropped by Active + TCP"; + } + leaf number-of-sent-internal-acks { + type uint32; + description + "Number of Internal Acks sent to Active TCP by + Standby TCP"; + } + leaf number-of-received-internal-acks { + type uint32; + description + "Number of Internal Acks received by Active TCP"; + } + leaf number-of-qad-receive-messages-drops { + type uint32; + description + "Number of dropped messages from partner TCP + stack(s)"; + } + leaf number-of-qad-receive-messages-unknowns { + type uint32; + description + "Number of unknown messages from partner TCP + stack(s)"; + } + leaf number-of-qad-receive-messages-accepts { + type uint32; + description + "Number of messages accepted from partner TCP + stack(s)"; + } + leaf number-of-qad-stale-receive-messages-drops { + type uint32; + description + "Number of dropped messages from partner TCP + stack(s) because they were out-of-order"; + } + leaf number-of-qad-transfer-message-sent { + type uint32; + description + "Number of messages sent to partner TCP stack(s)"; + } + leaf number-of-qad-transfer-message-drops { + type uint32; + description + "Number of messages failed to be sent to partner + TCP stack(s)"; + } + leaf number-of-internal-ack-drops-no-pcb { + type uint32; + description + "Number of iACKs dropped because there is no PCB"; + } + leaf number-of-internal-ack-drops-no-scbdp { + type uint32; + description + "Number of iACKs dropped because there is no + datapath SCB"; + } + leaf internal-ack-drops-not-replicated { + type uint32; + description + "Number of iACKs dropped because session is not + replicated"; + } + leaf internal-ack-drops-initsync-first-phase { + type uint32; + description + "Number of iACKs dropped because init-sync is in + 1st phase"; + } + leaf internal-ack-drops-stale { + type uint32; + description + "Number of stale iACKs dropped"; + } + leaf internal-ack-drops-immediate-match { + type uint32; + description + "Number of iACKs not held because of an immediate + match"; + } + leaf held-packet-drops { + type uint32; + description + "Number of held packets dropped because of errors"; + } + list notification-statistic { + description + "Various types of notification stats"; + uses TSS-NOTIF-STATS; + } + } + + grouping TCP-NSR-SSCB-DETAILED-BAG { + description + "Detailed Information about an SSO/NSR Session-set"; + leaf sscb { + type uint64; + description + "Address of the Session Set Control Block"; + } + leaf pid { + type uint32; + description + "PID of the Client that owns this Session-set"; + } + leaf set-id { + type uint32; + description + "ID of this Session-set"; + } + leaf sso-role { + type uint32; + description + "TCP role for this set?"; + } + leaf mode { + type uint32; + description + "Session-set mode"; + } + leaf address-family { + type Addr-family; + description + "Address Family of the sessions in this set"; + } + leaf well-known-port { + type uint16; + description + "Well Known Port of the client"; + } + leaf local-node { + type xr:Node-id; + description + "Local node of this set"; + } + leaf local-instance { + type uint32; + description + "Instance of the client application on the local + node"; + } + leaf protect-node { + type xr:Node-id; + description + "The node protecting this set"; + } + leaf protect-instance { + type uint32; + description + "Instance of the client application on the + protection node"; + } + leaf number-of-sessions { + type uint32; + description + "Number of Sessions in the set"; + } + leaf number-of-synced-sessions-up-stream { + type uint32; + description + "How many sessions are synced with upstream + partner"; + } + leaf number-of-synced-sessions-down-stream { + type uint32; + description + "How many sessions are synced with downstream + partner"; + } + leaf is-init-sync-in-progress { + type boolean; + description + "Is an initial sync in progress currently?"; + } + leaf is-init-sync-second-phase { + type boolean; + description + "Is initial sync in the second phase?"; + } + leaf sequence-number-of-init-sync { + type uint32; + description + "ID of the current or the last initial sync + operation"; + } + leaf init-sync-timer { + type uint32; + description + "Time left on the initial sync timer"; + } + leaf total-number-of-init-sync-sessions { + type uint32; + description + "Number of sessions being synced as part of the + current initial sync operation"; + } + leaf number-of-init-synced-sessions { + type uint32; + description + "Number of sessions that are synced as part of + the current initial sync operation"; + } + leaf number-of-sessions-init-sync-failed { + type uint32; + description + "Number of sessions that failed to sync as part + of the current initial sync operation"; + } + leaf init-sync-error { + type string; + description + "Initial sync failure reason, if any"; + } + leaf is-init-sync-error-local { + type boolean; + description + "Initial sync failed due to a local error or + remote stack"; + } + leaf init-sync-start-time { + type uint32; + units "second"; + description + "Time at which last or current initial sync + operation was started (in seconds since 1st Jan + 1970 00:00:00)"; + } + leaf init-sync-end-time { + type uint32; + units "second"; + description + "Time at which the last initial sync operation + was ended (in seconds since 1st Jan 1970 00:00 + :00)"; + } + leaf is-sscb-init-sync-ready { + type boolean; + description + "Is the SSCB ready for another initial sync?"; + } + leaf init-sync-ready-start-time { + type uint32; + units "second"; + description + "Time at which the session was ready for initial + sync last (in seconds since 1st Jan 1970 00:00 + :00)"; + } + leaf init-sync-ready-end-time { + type uint32; + units "second"; + description + "Time at which the session set last went + not-ready for initial sync (in seconds since 1st + Jan 1970 00:00:00)"; + } + leaf nsr-reset-time { + type uint32; + units "second"; + description + "Time at which NSR was last reset on the session + set (in seconds since 1st Jan 1970 00:00:00)"; + } + leaf is-audit-in-progress { + type boolean; + description + "Is an audit in progress currently?"; + } + leaf audit-seq-number { + type uint32; + description + "ID of the current or the last audit operation"; + } + leaf audit-start-time { + type uint32; + units "second"; + description + "Time at which last or current audit operation + was started (in seconds since 1st Jan 1970 00:00 + :00)"; + } + leaf audit-end-time { + type uint32; + units "second"; + description + "Time at which the last audit operation was ended + (in seconds since 1st Jan 1970 00:00:00)"; + } + } + + grouping TCP-NSR-CCB-BRIEF-BAG { + description + "Summary Information about an SSO/NSR Client"; + leaf ccb { + type uint64; + description + "Address of the Client Control Block"; + } + leaf pid { + type uint32; + description + "PID of the Client"; + } + leaf process-name { + type string; + description + "Proc name of Clinet"; + } + leaf job-id { + type int32; + description + "JOb ID of Client"; + } + leaf instance { + type uint32; + description + "Instance of the Client"; + } + leaf numberof-sets { + type uint32; + description + "Number of Sets owned by this client "; + } + leaf number-of-sessions { + type uint32; + description + "Number of sessions owned by this client "; + } + leaf number-of-up-sessions { + type uint32; + description + "Number of sessions with NSR up "; + } + } + + grouping TCP-NSR-CCB-DETAILED-BAG { + description + "Detailed Information about an SSO/NSR Client"; + leaf ccb { + type uint64; + description + "Address of the Client Control Block"; + } + leaf pid { + type uint32; + description + "PID of the Client"; + } + leaf process-name { + type string; + description + "Proc name of Clinet"; + } + leaf job-id { + type int32; + description + "JOb ID of Client"; + } + leaf instance { + type uint32; + description + "Instance of the Client"; + } + leaf numberof-sets { + type uint32; + description + "Number of Sets owned by this client "; + } + leaf number-of-sessions { + type uint32; + description + "Number of sessions owned by this client "; + } + leaf number-of-up-sessions { + type uint32; + description + "Number of sessions with NSR up"; + } + leaf connected-at { + type uint32; + units "second"; + description + "Time of connect (in seconds since 1st Jan 1970 + 00:00:00)"; + } + leaf is-notification-registered { + type boolean; + description + "Registered with TCP for notifications?"; + } + } + + grouping TCP-NSR-HOLD-QUEUE-NODE { + description + "Info about the Packet or iACK held"; + leaf sequence-number { + type uint32; + description + "Sequence Number"; + } + leaf data-length { + type uint32; + description + "Data Length"; + } + leaf acknoledgement-number { + type uint32; + description + "Ack Number"; + } + } + + grouping TCP-NSR-SSCB-BRIEF-BAG { + description + "Summary Information about an SSO/NSR Session-set"; + leaf sscb { + type uint64; + description + "Address of the Session Set Control Block"; + } + leaf pid { + type uint32; + description + "PID of the Client that owns this Session-set"; + } + leaf client-name { + type string; + description + "the name of Clinet that owns this Session-set"; + } + leaf client-instance { + type uint32; + description + "Instance of the Client that owns this + Session-set"; + } + leaf set-id { + type uint32; + description + "ID of this Session-set"; + } + leaf sso-role { + type uint32; + description + "TCP role for this set?"; + } + leaf mode { + type uint32; + description + "Session-set mode"; + } + leaf address-family { + type Addr-family; + description + "Address Family of the sessions in this set"; + } + leaf well-known-port { + type uint16; + description + "Well Known Port of the client"; + } + leaf local-node { + type xr:Node-id; + description + "Local node of this set"; + } + leaf local-instance { + type uint32; + description + "Instance of the client application on the local + node"; + } + leaf protect-node { + type xr:Node-id; + description + "The node protecting this set"; + } + leaf protect-instance { + type uint32; + description + "Instance of the client application on the + protection node"; + } + leaf number-of-sessions { + type uint32; + description + "Number of Sessions in the set"; + } + leaf number-of-synced-sessions-up-stream { + type uint32; + description + "How many sessions are synced with upstream + partner"; + } + leaf number-of-synced-sessions-down-stream { + type uint32; + description + "How many sessions are synced with downstream + partner"; + } + leaf is-init-sync-in-progress { + type boolean; + description + "Is an initial sync in progress currently?"; + } + leaf is-sscb-init-sync-ready { + type boolean; + description + "Is the SSCB ready for another initial sync?"; + } + leaf sync-options { + type uint32; + description + "Option specifying NSR or ISSU sync"; + } + } + + grouping TCP-NSR-PCB-DETAILED-BAG { + description + "Detailed SSO/NSR information about a TCP + connection"; + container set-information { + description + "Sesson-set information"; + uses TCP-NSR-SSCB-BRIEF-BAG; + } + leaf address-family { + type Addr-family; + description + "Address family"; + } + leaf pcb { + type uint64; + description + "PCB Address"; + } + leaf sscb { + type uint64; + description + "SSCB Address"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Foreign port"; + } + leaf vrf-id { + type uint32; + description + "VRF Id"; + } + leaf is-admin-configured-up { + type boolean; + description + "Is NSR administratively configured?"; + } + leaf is-us-operational-up { + type Nsr-status; + description + "Is Upstream NSR operational?"; + } + leaf is-ds-operational-up { + type Nsr-status; + description + "Is Downstream NSR operational?"; + } + leaf is-only-receive-path-replication { + type boolean; + description + "Is replication limited to receive-path only"; + } + leaf cookie { + type uint64; + description + "Cookie provided by active APP"; + } + leaf is-session-replicated { + type boolean; + description + "Has the session been replicated to standby?"; + } + leaf is-session-synced { + type boolean; + description + "Has the session completed initial-sync?"; + } + leaf fist-standby-sequence-number { + type uint32; + description + "If initial sync is completed, then the FSSN - + First Standby Sequence Number"; + } + leaf fssn-offset { + type uint32; + description + "Offset of FSSN in input stream"; + } + leaf nsr-down-reason { + type Nsr-down-reason; + description + "If NSR is not up, the reason for it."; + } + leaf nsr-down-time { + type uint32; + description + "Time at which NSR went down"; + } + leaf sequence-number-of-init-sync { + type uint32; + description + "ID of the Initial sync operation"; + } + leaf is-init-sync-in-progress { + type boolean; + description + "Is initial-sync currently in progress?"; + } + leaf is-init-sync-second-phase { + type boolean; + description + "Is initial sync in the second phase?"; + } + leaf init-sync-error { + type string; + description + "Initial sync failure reason, if any"; + } + leaf is-init-sync-error-local { + type boolean; + description + "Initial sync failed due to a local error or + remote stack"; + } + leaf init-sync-start-time { + type uint32; + units "second"; + description + "Time at which the initial sync operation was + started (in seconds since 1st Jan 1970 00:00:00)"; + } + leaf init-sync-end-time { + type uint32; + units "second"; + description + "Time at which the initial sync operation was + ended (in seconds since 1st Jan 1970 00:00:00)"; + } + leaf init-sync-flags { + type uint32; + description + "Init Sync flags for the session"; + } + leaf sequence-number-of-init-sync-up-stream { + type uint32; + description + "ID of the Initial sync operation"; + } + leaf peer-endp-hdl-up-stream { + type uint64; + description + "Peer NCD endp handle"; + } + leaf init-sync-start-time-up-stream { + type uint32; + units "second"; + description + "Time at which the initial sync operation was + started (in seconds since 1st Jan 1970 00:00:00)"; + } + leaf init-sync-end-time-up-stream { + type uint32; + units "second"; + description + "Time at which the initial sync operation was + ended (in seconds since 1st Jan 1970 00:00:00)"; + } + leaf fist-standby-sequence-number-up-stream { + type uint32; + description + "FSSN for the upstream partner"; + } + leaf nsr-down-reason-up-stream { + type Nsr-down-reason; + description + "The reason NSR is not up towards the upstream + partner"; + } + leaf nsr-down-time-up-stream { + type uint32; + description + "Time at which NSR went down"; + } + leaf sequence-number-of-init-sync-down-stream { + type uint32; + description + "ID of the Initial sync operation"; + } + leaf peer-endp-hdl-down-stream { + type uint64; + description + "Peer NCD endp handle"; + } + leaf init-sync-start-time-down-stream { + type uint32; + units "second"; + description + "Time at which the initial sync operation was + started (in seconds since 1st Jan 1970 00:00:00)"; + } + leaf init-sync-end-time-down-stream { + type uint32; + units "second"; + description + "Time at which the initial sync operation was + ended (in seconds since 1st Jan 1970 00:00:00)"; + } + leaf fist-standby-sequence-number-down-stream { + type uint32; + description + "FSSN for the upstream partner"; + } + leaf nsr-down-reason-down-stream { + type Nsr-down-reason; + description + "The reason NSR is not up towards the upstream + partner"; + } + leaf nsr-down-time-down-stream { + type uint32; + description + "Time at which NSR went down"; + } + leaf max-number-of-held-packet { + type int32; + description + "Max number of incoming packets have been held"; + } + leaf max-number-of-held-packet-reach-time { + type uint32; + description + "Max number of held incoming packets reaches at"; + } + leaf max-number-of-held-internal-ack { + type int32; + description + "Max number of internal acks have been held"; + } + leaf max-number-of-held-internal-ack-reach-time { + type uint32; + description + "Max number of held internal acks reaches at"; + } + list local-address { + max-elements "4"; + description + "Local address"; + leaf entry { + type inet:ipv4-address; + description + "Local address"; + } + } + list foreign-address { + max-elements "4"; + description + "Foreign address"; + leaf entry { + type inet:ipv4-address; + description + "Foreign address"; + } + } + list packet-hold-queue { + description + "Sequence Number and datalength of each node in + hold_pakqueue"; + uses TCP-NSR-HOLD-QUEUE-NODE; + } + list internal-ack-hold-queue { + description + "Sequence Number and datalength of each node in + hold_iackqueue"; + uses TCP-NSR-HOLD-QUEUE-NODE; + } + } + + grouping TCP-NSR-PCB-BRIEF-BAG { + description + "Summary NSR information about a TCP connection"; + leaf address-family { + type Addr-family; + description + "Address family"; + } + leaf pcb { + type uint64; + description + "PCB Address"; + } + leaf sscb { + type uint64; + description + "SSCB Address"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Foreign port"; + } + leaf vrf-id { + type uint32; + description + "VRF Id"; + } + leaf is-admin-configured-up { + type boolean; + description + "Is NSR administratively configured?"; + } + leaf is-us-operational-up { + type Nsr-status; + description + "Is Upstream NSR operational?"; + } + leaf is-ds-operational-up { + type Nsr-status; + description + "Is Downstream NSR operational?"; + } + leaf is-only-receive-path-replication { + type boolean; + description + "Is replication limited to receive-path only"; + } + list local-address { + max-elements "4"; + description + "Local address"; + leaf entry { + type inet:ipv4-address; + description + "Local address"; + } + } + list foreign-address { + max-elements "4"; + description + "Foreign address"; + leaf entry { + type inet:ipv4-address; + description + "Foreign address"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub2.yang new file mode 100644 index 000000000..929bdac32 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub2.yang @@ -0,0 +1,98 @@ +submodule Cisco-IOS-XR-ip-tcp-oper-sub2 { + belongs-to Cisco-IOS-XR-ip-tcp-oper { + prefix Cisco-IOS-XR-ip-tcp-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-tcp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-21 { + description + "APP bound interface handle added to PCB_DETAIL output"; + semver:module-version "1.2.0"; + } + revision 2020-05-15 { + description + "First SYN delay timer added"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-01 { + description + "Added socket async double free prevention count in tcp statistics summary"; + } + revision 2018-02-14 { + description + "PCB_ID argument is passed in string format."; + } + revision 2018-02-14 { + description + "Added support for TCP-AO feature."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping IP-TCP { + description + "TCP Traffic Information"; + leaf tcp-input-packets { + type uint32; + description + "TCP packets received"; + } + leaf tcp-checksum-error-packets { + type uint32; + description + "TCP packets with checksum errors"; + } + leaf tcp-dropped-packets { + type uint32; + description + "TCP packets dropped (no port)"; + } + leaf tcp-output-packets { + type uint32; + description + "TCP packets transmitted"; + } + leaf tcp-retransmitted-packets { + type uint32; + description + "TCP packets retransmitted"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub3.yang new file mode 100644 index 000000000..e7b0f20ef --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub3.yang @@ -0,0 +1,2176 @@ +submodule Cisco-IOS-XR-ip-tcp-oper-sub3 { + belongs-to Cisco-IOS-XR-ip-tcp-oper { + prefix Cisco-IOS-XR-ip-tcp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-tcp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-21 { + description + "APP bound interface handle added to PCB_DETAIL output"; + semver:module-version "1.2.0"; + } + revision 2020-05-15 { + description + "First SYN delay timer added"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-01 { + description + "Added socket async double free prevention count in tcp statistics summary"; + } + revision 2018-02-14 { + description + "PCB_ID argument is passed in string format."; + } + revision 2018-02-14 { + description + "Added support for TCP-AO feature."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tcp-mac-algo { + type enumeration { + enum "not-configured" { + value 0; + description + "Not configured"; + } + enum "aes-128-cmac-96" { + value 1; + description + "CMAC 96"; + } + enum "hmac-sha1-12" { + value 2; + description + "HMAC SHA1 12"; + } + enum "md5-16" { + value 3; + description + "MD5 16"; + } + enum "sha1-20" { + value 4; + description + "SHA1 20"; + } + enum "hmac-md5-16" { + value 5; + description + "HMAC MD5 16"; + } + enum "hmac-sha1-20" { + value 6; + description + "HMAC SHA1 20"; + } + enum "aes-128-cmac" { + value 7; + description + "AES 128 CMAC"; + } + enum "aes-256-cmac" { + value 8; + description + "AES 256 CMAC"; + } + enum "hmac-sha1-96" { + value 9; + description + "HMAC SHA1 96"; + } + enum "hmac-sha-256" { + value 10; + description + "HMAC SHA1 256"; + } + } + description + "TCP AO MAC algorithm type"; + } + + typedef Tcp-key-invalid-reason { + type enumeration { + enum "none" { + value 0; + description + "No reason"; + } + enum "incomplete" { + value 1; + description + "Incomplete"; + } + enum "lifetime-not-same" { + value 2; + description + "Send and accept lifetime are not same"; + } + enum "send-id-invalid" { + value 3; + description + "Send ID is invalid"; + } + enum "recv-id-invalid" { + value 4; + description + "Receive ID is invalid"; + } + } + description + "TCP AO key state invalid reason"; + } + + typedef Tcp-timer { + type enumeration { + enum "retransmission-timer" { + value 0; + description + "Retransmission timer"; + } + enum "window-probe-timer" { + value 1; + description + "Send Window Probe timer"; + } + enum "timewait-state-timer" { + value 2; + description + "TIMEWAIT state timer"; + } + enum "ack-hold-timer" { + value 3; + description + "ACK Hold timer"; + } + enum "keep-alive-timer" { + value 4; + description + "Keep Alive timer"; + } + enum "pmtu-ager-timer" { + value 5; + description + "PMTU Ager Timer"; + } + enum "retransmission-giveup-timer" { + value 6; + description + "Retransmission Giveup timer"; + } + enum "throttle-timer" { + value 7; + description + "Throttle (for PAW/xipc) timer"; + } + enum "syn-delay-timer" { + value 8; + description + "First SYN delay timer"; + } + } + description + "TCP Timer Type"; + } + + typedef Pak-prio { + type enumeration { + enum "unspecified-packet" { + value 0; + description + "Unspecified"; + } + enum "normal-packet" { + value 1; + description + "Normal: all traffic routed via this router, + Telnet/FTP traffic generated from within this + router"; + } + enum "medium-packet" { + value 2; + description + "Medium: Packets with low drop probability e.g. + Routing updates & requests"; + } + enum "high-packet" { + value 3; + description + "High: Packets with very low drop probability + and normal delivery e.g. L3 Keepalives like + OSPF/ISIS Hellos"; + } + enum "crucial-packet" { + value 4; + description + "Crucial: Packets with very low drop probability + and expedited delivery e.g L2 keepalives, HDLC + Keepalives"; + } + } + description + "Packet Priority Types"; + } + + typedef Tcp-in6-addr { + type inet:ipv6-address; + description + "Tcp in6 addr"; + } + + typedef Tcp-conn-state { + type enumeration { + enum "closed" { + value 0; + description + "Closed"; + } + enum "listen" { + value 1; + description + "Listen"; + } + enum "syn-sent" { + value 2; + description + "Syn sent"; + } + enum "syn-received" { + value 3; + description + "Syn received"; + } + enum "established" { + value 4; + description + "Established"; + } + enum "close-wait" { + value 5; + description + "Close wait"; + } + enum "fin-wait1" { + value 6; + description + "FIN Wait1"; + } + enum "closing" { + value 7; + description + "Closing"; + } + enum "last-ack" { + value 8; + description + "Last ack"; + } + enum "fin-wait2" { + value 9; + description + "FIN Wait2"; + } + enum "time-wait" { + value 10; + description + "Time wait"; + } + } + description + "TCP Connection State"; + } + + typedef Tcp-address-family { + type enumeration { + enum "ipv4" { + value 2; + description + "IPv4"; + } + enum "ipv6" { + value 10; + description + "IPv6"; + } + } + description + "Address Family Type"; + } + + grouping TCP-SH-BRIEF-BAG { + description + "Summary information about a TCP connection"; + container local-address { + description + "Local address"; + uses TCP-ADDRESS-TYPE; + } + container foreign-address { + description + "Foreign address"; + uses TCP-ADDRESS-TYPE; + } + leaf af-name { + type Tcp-address-family; + description + "Address family"; + } + leaf pcb { + type uint64; + description + "PCB Address"; + } + leaf connection-state { + type Tcp-conn-state; + description + "Connection state"; + } + leaf local-pid { + type uint32; + description + "Id of the local process"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Foreign port"; + } + leaf current-receive-queue-size { + type uint32; + units "byte"; + description + "Current receive queue size in bytes"; + } + leaf current-send-queue-size { + type uint32; + units "byte"; + description + "Current send queue size in bytes"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + } + + grouping TCP-SH-ID-BAG { + description + "Detailed information about a TCP AO ID under a + keychain"; + leaf id { + type uint8; + description + "Identifier"; + } + list keys { + description + "List of keys having this id"; + uses TCP-SH-KEY-ID-BAG; + } + } + + grouping TCP-SH-KEY-ID-BAG { + description + "Information about a TCP AO active key"; + leaf key-id { + type uint64; + description + "Key identifier"; + } + } + + grouping TCP-SH-KEY-BAG { + description + "Detailed information about a TCP AO key"; + leaf key-id { + type uint64; + description + "Key identifier"; + } + leaf is-active { + type boolean; + description + "Is key active"; + } + leaf is-expired { + type boolean; + description + "Is key expired"; + } + leaf is-valid { + type boolean; + description + "Is key valid"; + } + leaf reason { + type Tcp-key-invalid-reason; + description + "Key invalid reason"; + } + leaf send-id { + type uint8; + description + "Send ID"; + } + leaf recv-id { + type uint8; + description + "Receive ID"; + } + leaf crypt-algo { + type Tcp-mac-algo; + description + "Cryptography algorithm associated with the key"; + } + leaf is-configured { + type boolean; + description + "Is key configured?"; + } + leaf overlapping-key-available { + type boolean; + description + "Is overlapping key available?"; + } + leaf overlapping-key { + type uint64; + description + "Overlapping key identifier"; + } + list invalidated-key { + description + "List of keys invalidated"; + uses TCP-SH-KEY-ID-BAG; + } + } + + grouping TCP-SH-KEYCHAIN-BAG { + description + "Detailed information about a TCP AO keychain"; + leaf chain-name { + type string; + description + "Keychain name"; + } + leaf is-configured { + type boolean; + description + "Is keychain configured?"; + } + leaf desired-key-available { + type boolean; + description + "Is desired key available?"; + } + leaf desired-key-id { + type uint64; + description + "Desired key identifier"; + } + list keys { + description + "Keys under this keychain"; + uses TCP-SH-KEY-BAG; + } + list active-key { + description + "List of active keys"; + uses TCP-SH-KEY-ID-BAG; + } + list send-id { + description + "Send IDs under this keychain"; + uses TCP-SH-ID-BAG; + } + list receive-id { + description + "Receive IDs under this keychain"; + uses TCP-SH-ID-BAG; + } + } + + grouping TCP-SOCKBUF-STATES-BAG { + description + "TCP Socket Buffer State Flags"; + leaf locked { + type boolean; + description + "Lock on data queue (so_rcv only)"; + } + leaf waiting-for-lock { + type boolean; + description + "Someone is waiting to lock"; + } + leaf waiting-for-data { + type boolean; + description + "Someone is waiting for data/space"; + } + leaf input-select { + type boolean; + description + "Buffer is selected for INPUT"; + } + leaf async-io { + type boolean; + description + "Async I/O"; + } + leaf not-interruptible { + type boolean; + description + "Not interruptible"; + } + leaf io-timer-set { + type boolean; + description + "Read/write timer set"; + } + leaf delayed-wakeup { + type boolean; + description + "Want delayed wakeups"; + } + leaf wakeup { + type boolean; + description + "Read/write wakeup pending"; + } + leaf connect-wakeup { + type boolean; + description + "Connect wakeup pending"; + } + leaf output-select { + type boolean; + description + "Buffer is selected for OUTPUT"; + } + leaf out-of-band-select { + type boolean; + description + "Buffer is selected for OBAND"; + } + leaf packet-extended { + type boolean; + description + "Packet Buffer is extended"; + } + } + + grouping SACKHOLE-BAG { + description + "Sack send hole entry"; + leaf start { + type uint32; + description + "Start seq no. of hole"; + } + leaf end { + type uint32; + description + "End seq no. of hole"; + } + leaf duplicated-ack { + type uint32; + description + "Number of dup (s)acks for this hole"; + } + leaf retransmitted { + type uint32; + description + "Next seq. no in hole to be retransmitted"; + } + } + + grouping SACKBLK-BAG { + description + "Sack block entry"; + leaf start { + type uint32; + description + "Start seq no. of sack block"; + } + leaf end { + type uint32; + description + "End seq no. of sack block"; + } + } + + grouping TCP-CONN-STATES-BAG { + description + "TCP Connection states"; + leaf nagle-wait { + type boolean; + description + "Nagle has delayed output"; + } + leaf ack-needed { + type boolean; + description + "Send an ACK"; + } + leaf fin-sent { + type boolean; + description + "FIN has been sent"; + } + leaf probing { + type boolean; + description + "Probing a closed window"; + } + leaf need-push { + type boolean; + description + "Need to push data out"; + } + leaf pushed { + type boolean; + description + "A segment is pushed due to MSG_PUSH"; + } + leaf in-syn-cache { + type boolean; + description + "Connection is in SYN cache"; + } + leaf path-mtu-ager { + type boolean; + description + "Path MTU aging timer is running"; + } + } + + grouping TCP-CONN-FEATURES-BAG { + description + "TCP Connection features"; + leaf selective-ack { + type boolean; + description + "Selective ack on?"; + } + leaf md5 { + type boolean; + description + "MD5 option on?"; + } + leaf timestamps { + type boolean; + description + "Timestamps on?"; + } + leaf window-scaling { + type boolean; + description + "Window-scaling on?"; + } + leaf nagle { + type boolean; + description + "Nagle algorithm on?"; + } + leaf giveup-timer { + type boolean; + description + "Giveup timer is on?"; + } + leaf connection-keep-alive-timer { + type boolean; + description + "Keepalive timer is on?"; + } + leaf path-mtu-discovery { + type boolean; + description + "Path MTU Discovery feature is on?"; + } + leaf mss-cisco { + type boolean; + description + "tcp mss feature is on?"; + } + } + + grouping TCP-SOCK-STATES-BAG { + description + "TCP Socket State Flags"; + leaf no-file-descriptor-reference { + type boolean; + description + "No file descriptor ref"; + } + leaf is-connected { + type boolean; + description + "Socket is connected to peer"; + } + leaf is-connecting { + type boolean; + description + "Connecting in progress"; + } + leaf is-disconnecting { + type boolean; + description + "Disconnecting in progress"; + } + leaf cant-send-more { + type boolean; + description + "Can't send more data to peer"; + } + leaf cant-receive-more { + type boolean; + description + "Can't recv more data from peer"; + } + leaf received-at-mark { + type boolean; + description + "At mark on input"; + } + leaf privileged { + type boolean; + description + "Privileged for broadcast, raw..."; + } + leaf block-close { + type boolean; + description + "Close is blocked (i.e. socket is a replicated + socket on a standby node"; + } + leaf async-io-notify { + type boolean; + description + "Async i/o notify"; + } + leaf is-confirming { + type boolean; + description + "Deciding to accept connection req"; + } + leaf is-solock { + type boolean; + description + "Mutex acquired by solock()"; + } + leaf is-detached { + type boolean; + description + "PCB and socket are detached"; + } + leaf block-receive { + type boolean; + description + "Socket is blocked for receive - while going + through SSO initial sync"; + } + leaf block-send { + type boolean; + description + "Socket is blocked for send (if it is a + replicated socket on a standby node)"; + } + } + + grouping TCP-SOCK-OPTIONS-BAG { + description + "TCP Socket Option Flags "; + leaf debug { + type boolean; + description + "Turn on debugging info recording"; + } + leaf accept-connection { + type boolean; + description + "Socket has had listen()"; + } + leaf reuse-address { + type boolean; + description + "Allow local address reuse"; + } + leaf keep-alive { + type boolean; + description + "Keep connections alive"; + } + leaf dont-route { + type boolean; + description + "Just use interface addresses"; + } + leaf broadcast { + type boolean; + description + "Permit sending of broadcast msgs"; + } + leaf use-loopback { + type boolean; + description + "Bypass hardware when possible"; + } + leaf linger { + type boolean; + description + "Linger on close if data present"; + } + leaf out-of-band-inline { + type boolean; + description + "Leave received Out-of-band data inline"; + } + leaf reuse-port { + type boolean; + description + "Allow local address & port reuse"; + } + leaf nonblocking-io { + type boolean; + description + "Nonblocking socket I/O operation"; + } + leaf snd-buf-scaled { + type boolean; + description + "Send buffer scaled"; + } + leaf rcv-buf-scaled { + type boolean; + description + "Receive buffer scaled"; + } + } + + grouping TCP-TIMER-BAG { + description + "TCP Timer Info"; + leaf timer-type { + type Tcp-timer; + description + "Timer Type"; + } + leaf timer-activations { + type uint32; + description + "Count of timer activations"; + } + leaf timer-expirations { + type uint32; + description + "Count of timer expirations"; + } + leaf timer-next-activation { + type uint32; + description + "Timer next activation (msec)"; + } + } + + grouping TCP-ADDRESS-TYPE { + description + "TCP ADDRESS TYPE"; + leaf af-name { + type Tcp-address-family; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf ipv6-address { + when "../af-name != 'ipv4'" { + description + "../AFName != 'IPv4'"; + } + type Tcp-in6-addr; + description + "IPv6 Address"; + } + } + + grouping TCP-SH-TABLE-BAG { + description + "Detailed information about a TCP connection"; + container local-address { + description + "Local address"; + uses TCP-ADDRESS-TYPE; + } + container foreign-address { + description + "Foreign address"; + uses TCP-ADDRESS-TYPE; + } + container socket-option-flags { + description + "Socket option flags"; + uses TCP-SOCK-OPTIONS-BAG; + } + container socket-state-flags { + description + "Socket state flags"; + uses TCP-SOCK-STATES-BAG; + } + container feature-flags { + description + "Connection feature flags"; + uses TCP-CONN-FEATURES-BAG; + } + container state-flags { + description + "Connection state flags"; + uses TCP-CONN-STATES-BAG; + } + container request-flags { + description + "Connection request flags"; + uses TCP-CONN-FEATURES-BAG; + } + container receive-buf-state-flags { + description + "Receive buffer state flags"; + uses TCP-SOCKBUF-STATES-BAG; + } + container send-buf-state-flags { + description + "Send buffer state flags"; + uses TCP-SOCKBUF-STATES-BAG; + } + leaf address-family { + type Tcp-address-family; + description + "Address Family"; + } + leaf pcb { + type uint64; + description + "PCB Address"; + } + leaf so { + type uint64; + description + "Socket Address"; + } + leaf tcpcb { + type uint64; + description + "TCPCB Address"; + } + leaf vrf-id { + type uint32; + description + "VRF Id"; + } + leaf connection-state { + type Tcp-conn-state; + description + "Connection state"; + } + leaf established-time { + type uint32; + description + "Time at which connection is established"; + } + leaf local-pid { + type uint32; + description + "Id of the local process"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Foreign port"; + } + leaf packet-priority { + type Pak-prio; + description + "Priority given to packets on this socket"; + } + leaf packet-tos { + type uint16; + description + "Type of Service value to be applied to + transmistted packets"; + } + leaf packet-ttl { + type uint16; + description + "TTL to be applied to transmited packets"; + } + leaf hash-index { + type uint32; + description + "Index of the Hash Bucket"; + } + leaf current-receive-queue-size { + type uint32; + units "byte"; + description + "Current receive queue size in bytes"; + } + leaf max-receive-queue-size { + type uint32; + units "byte"; + description + "Max receive queue size in bytes"; + } + leaf current-send-queue-size { + type uint32; + units "byte"; + description + "Current send queue size in bytes"; + } + leaf max-send-queue-size { + type uint32; + units "byte"; + description + "Max send queue size in bytes"; + } + leaf current-receive-queue-packet-size { + type uint32; + description + "Current receive queue size in packets"; + } + leaf max-receive-queue-packet-size { + type uint32; + description + "Max receive queue size in packets"; + } + leaf save-queue-size { + type uint32; + units "byte"; + description + "Save queue (out-of seq data) size in bytes"; + } + leaf send-initial-sequence-num { + type uint32; + description + "Initial send sequence number"; + } + leaf send-unack-sequence-num { + type uint32; + description + "Sequence number of unacked data"; + } + leaf send-next-sequence-num { + type uint32; + description + "Sequence number of next data to be sent"; + } + leaf send-max-sequence-num { + type uint32; + description + "Highest sequence number sent"; + } + leaf send-window-size { + type uint32; + units "byte"; + description + "Send window size in bytes"; + } + leaf send-congestion-window-size { + type uint32; + units "byte"; + description + "Send congestion window size in bytes"; + } + leaf receive-initial-sequence-num { + type uint32; + description + "Initial receive sequence number"; + } + leaf receive-next-sequence-num { + type uint32; + description + "Next sequence number expected"; + } + leaf receive-adv-window-size { + type uint32; + units "byte"; + description + "Receive advertised window size in bytes"; + } + leaf receive-window-size { + type uint32; + units "byte"; + description + "Receive window size in bytes"; + } + leaf mss { + type uint32; + units "byte"; + description + "Max segment size calculated in bytes"; + } + leaf peer-mss { + type uint32; + units "byte"; + description + "Max segment size offered by the peer in bytes"; + } + leaf srtt { + type uint32; + description + "Smoothed round trip time * 8 (msec)"; + } + leaf rtto { + type uint32; + description + "Round trip timeout (msec)"; + } + leaf krtt { + type uint32; + description + "Round trip time (karn algorithm) (msec)"; + } + leaf srtv { + type uint32; + description + "Smoothed round trip time variance * 4 (msec)"; + } + leaf min-rtt { + type uint32; + description + "Min RTT (msec)"; + } + leaf max-rtt { + type uint32; + description + "Max RTT (msec)"; + } + leaf retries { + type uint32; + description + "Number of retries"; + } + leaf ack-hold-time { + type uint32; + description + "ACK hold time (msec)"; + } + leaf giveup-time { + type uint32; + description + "Giveup time (msec)"; + } + leaf keep-alive-time { + type uint32; + description + "Keepalive time (msec)"; + } + leaf syn-wait-time { + type uint32; + description + "SYN wait time (msec)"; + } + leaf rxsy-naclname { + type string { + length "0..64"; + } + description + "RX Syn acl name"; + } + leaf soft-error { + type int32; + description + "Error code from ICMP Notify"; + } + leaf sock-error { + type int32; + description + "Socket error code"; + } + leaf is-retrans-forever { + type boolean; + description + "Retransimit forever?"; + } + leaf min-mss { + type uint32; + description + "Lowest MSS ever used"; + } + leaf max-mss { + type uint32; + description + "Highest MSS ever used"; + } + leaf connect-retries { + type uint16; + description + "Number of times connect will be retried?"; + } + leaf connect-retry-interval { + type uint16; + units "second"; + description + "Connect retry interval in seconds"; + } + leaf receive-window-scale { + type uint32; + description + "Window scaling for receive window"; + } + leaf send-window-scale { + type uint32; + description + "Window scaling for send window"; + } + leaf request-receive-window-scale { + type uint32; + description + "Requested receive window scale"; + } + leaf rqst-send-wnd-scale { + type uint32; + description + "Requested send window scale"; + } + leaf time-stamp-recent { + type uint32; + description + "Timestamp from remote host"; + } + leaf time-stamp-recent-age { + type uint32; + description + "Timestamp when last updated"; + } + leaf last-ack-sent { + type uint32; + description + "ACK number of a sent segment"; + } + leaf sendbuf-lowwat { + type uint32; + description + "Send buffer's low water mark"; + } + leaf recvbuf-lowwat { + type uint32; + description + "Receive buffer's low water mark"; + } + leaf sendbuf-hiwat { + type uint32; + description + "Send buffer's high water mark"; + } + leaf recvbuf-hiwat { + type uint32; + description + "Receive buffer's high water mark"; + } + leaf sendbuf-notify-thresh { + type uint32; + description + "Send buffer's notify threshold"; + } + leaf recvbuf-datasize { + type uint32; + description + "Receive buffer's data size"; + } + leaf queue-length { + type uint32; + description + "Incoming connection queue size"; + } + leaf queue-zero-length { + type uint32; + description + "Incoming half-connection queue size"; + } + leaf queue-limit { + type uint32; + description + "Incoming connection queue limit"; + } + leaf socket-error { + type uint32; + description + "Socket error status"; + } + leaf auto-rearm { + type uint32; + description + "Socket auto rearm state"; + } + leaf send-pdu-count { + type uint32; + description + "# of PDU's in Send Buffer"; + } + leaf output-ifhandle { + type uint32; + description + "Cached Outgoing interface handle"; + } + leaf bind-ifhandle { + type uint32; + description + "Application bound interface handle"; + } + leaf fib-pd-ctx-size { + type uint32; + description + "Cached fib pd context size"; + } + leaf num-labels { + type uint32; + description + "Number of labels returned by fib lookup"; + } + leaf local-app-instance { + type uint32; + description + "Instance number of the local process"; + } + list fib-pd-ctx { + max-elements "4"; + description + "Cached fib pd context"; + leaf entry { + type uint32; + description + "Cached fib pd context"; + } + } + list fib-label-output { + max-elements "7"; + description + "Cached Label stack"; + leaf entry { + type uint32; + description + "Cached Label stack"; + } + } + list timer { + max-elements "9"; + description + "Timers"; + uses TCP-TIMER-BAG; + } + list sack-blk { + max-elements "6"; + description + "Seq nos. of sack blocks"; + uses SACKBLK-BAG; + } + list send-sack-hole { + max-elements "6"; + description + "Sorted list of sack holes"; + uses SACKHOLE-BAG; + } + } + + grouping TCP-SH-STATS-BAG { + description + "TCP Statistics"; + leaf syn-cache-count { + type uint32; + description + "Current number of SYN cache entries"; + } + leaf num-open-sockets { + type uint32; + description + "Number of Open sockets"; + } + leaf total-pakets-sent { + type uint32; + description + "Total packets sent"; + } + leaf send-packets-dropped { + type uint32; + description + "Total transmit packets dropped due to general + failures"; + } + leaf send-auth-packets-dropped { + type uint32; + description + "Total transmit packets dropped due to + authentication failures"; + } + leaf data-pakets-sent { + type uint32; + description + "Data packets sent"; + } + leaf data-bytes-sent { + type uint32; + units "byte"; + description + "Data bytes sent"; + } + leaf packets-retransmitted { + type uint32; + description + "Data packets retransmitted"; + } + leaf bytes-retransmitted { + type uint32; + units "byte"; + description + "Data bytes retransmitted"; + } + leaf ack-only-packets-sent { + type uint32; + description + "Ack only packets sent (incl. delay)"; + } + leaf delay-ack-packets-sent { + type uint32; + description + "Delay ack packets sent"; + } + leaf urgent-only-packets-sent { + type uint32; + description + "Urgent only packets sent"; + } + leaf window-probe-packets-sent { + type uint32; + description + "Window probe packets sent"; + } + leaf window-update-packets-sent { + type uint32; + description + "Window update packets sent"; + } + leaf control-packets-sent { + type uint32; + description + "Control (SYN|FIN|RST) packets sent"; + } + leaf rst-packets-sent { + type uint32; + description + "RST packets sent"; + } + leaf total-packets-received { + type uint32; + description + "Total packets received"; + } + leaf received-packets-dropped { + type uint32; + description + "Received packets dropped due to general failures"; + } + leaf synacl-match-pkts-dropped { + type uint32; + description + "Received packets dropped due to ACL DENY on SYN + pkts"; + } + leaf received-packets-dropped-stale-c-hdr { + type uint32; + description + "Received packets dropped due to stale cached + header"; + } + leaf received-auth-packets-dropped { + type uint32; + description + "Received packets dropped due to authentication + failures"; + } + leaf ack-packets-received { + type uint32; + description + "Ack packets received"; + } + leaf ackbytes-received { + type uint32; + units "byte"; + description + "Bytes acked by ack packets"; + } + leaf duplicated-ack-packets-received { + type uint32; + description + "Duplicate ack packets"; + } + leaf ack-packets-for-unsent-received { + type uint32; + description + "Ack packets for unsent data"; + } + leaf data-packets-received-in-sequence { + type uint32; + description + "Data packets received in sequence"; + } + leaf data-bytes-received-in-sequence { + type uint32; + units "byte"; + description + "Data bytes received in sequence"; + } + leaf duplicate-packets-received { + type uint32; + description + "Duplicate packets received"; + } + leaf duplicate-bytes-received { + type uint32; + units "byte"; + description + "Duplicate bytes received"; + } + leaf partial-duplicate-ack-received { + type uint32; + description + "Packets with partial dup data"; + } + leaf partial-duplicate-bytes-received { + type uint32; + units "byte"; + description + "Bytes with partial dup data"; + } + leaf out-of-order-packets-received { + type uint32; + description + "Out-of-order packets received"; + } + leaf out-of-order-bytes-received { + type uint32; + units "byte"; + description + "Out-of-order bytes received"; + } + leaf after-window-packets-received { + type uint32; + description + "After-window packets received"; + } + leaf after-window-bytes-received { + type uint32; + units "byte"; + description + "After-window bytes received"; + } + leaf window-probe-packets-received { + type uint32; + description + "Window probe packets received"; + } + leaf window-update-packets-received { + type uint32; + description + "Window update packets received"; + } + leaf packets-received-after-close-packet { + type uint32; + description + "Packets received after close"; + } + leaf bad-checksum-packets-received { + type uint32; + description + "Packets received with bad checksum"; + } + leaf too-short-packets-received { + type uint32; + description + "Packets received with too short size"; + } + leaf malformed-packets-received { + type uint32; + description + "Packets received with malformed header"; + } + leaf no-port-packets-received { + type uint32; + description + "Packets rcceived with no wild listener"; + } + leaf connections-requested { + type uint32; + description + "Connection requests sent"; + } + leaf connections-accepted { + type uint32; + description + "Connection requests accepted"; + } + leaf connections-established { + type uint32; + description + "Connections established"; + } + leaf connections-forcibly-closed { + type uint32; + description + "Connections forcibly closed"; + } + leaf connections-closed { + type uint32; + description + "connections closed (incl. drops)"; + } + leaf connections-dropped { + type uint32; + description + "connections dropped"; + } + leaf embryonic-connection-dropped { + type uint32; + description + "Embryonic connections dropped"; + } + leaf connections-failed { + type uint32; + description + "Connections failed"; + } + leaf established-connections-reset { + type uint32; + description + "Established connections reset"; + } + leaf retransmit-timeouts { + type uint32; + description + "Retransmit timeouts (incl. data packets)"; + } + leaf retransmit-dropped { + type uint32; + description + "Connection drops during retransmit timeouts"; + } + leaf keep-alive-timeouts { + type uint32; + description + "Keepalive timeouts"; + } + leaf keep-alive-dropped { + type uint32; + description + "Connection drops due to keepalive timeouts"; + } + leaf keep-alive-probes { + type uint32; + description + "Keepalive probes sent"; + } + leaf paws-dropped { + type uint32; + description + "Segments dropped due to PAWS"; + } + leaf persist-dropped { + type uint32; + description + "Segments dropped due to window probe"; + } + leaf try-lock-dropped { + type uint32; + description + "Segments dropped due to trylock fail"; + } + leaf connection-rate-limited { + type uint32; + description + "Connections rate-limited"; + } + leaf syn-cache-added { + type uint32; + description + "SYN Cache entries added"; + } + leaf syn-cache-completed { + type uint32; + description + "SYN Cache connections completed"; + } + leaf syn-cache-timed-out { + type uint32; + description + "SYN Cache entries timed out"; + } + leaf syn-cache-overflow { + type uint32; + description + "SYN Cache entries dropped due to overflow"; + } + leaf syn-cache-reset { + type uint32; + description + "SYN Cache entries dropped due to RST"; + } + leaf syn-cache-unreach { + type uint32; + description + "SYN Cache entries dropped due to ICMP unreach"; + } + leaf syn-cache-bucket-oflow { + type uint32; + description + "SYN Cache entries dropped due to bucket overflow"; + } + leaf syn-cache-aborted { + type uint32; + description + "SYN Cache entries aborted (no mem)"; + } + leaf syn-cache-duplicate-sy-ns { + type uint32; + description + "SYN Cache duplicate SYNs received"; + } + leaf syn-cache-dropped { + type uint32; + description + "SYN Cache entries dropped (no route/mem)"; + } + leaf pulse-errors { + type uint32; + description + "Punt (down to ip) failures"; + } + leaf socket-layer-packets { + type uint32; + description + "Packets owned by the socket layer"; + } + leaf reassembly-packets { + type uint32; + description + "Packets owned by TCP reassembly"; + } + leaf recovered-packets { + type uint32; + description + "Packets freed after starvation"; + } + leaf packet-failures { + type uint32; + description + "Packet allocation errors"; + } + leaf mss-up { + type uint32; + description + "Number of times MSS was increased"; + } + leaf mss-down { + type uint32; + description + "Number of times MSS was decreased"; + } + leaf truncated-write-iov { + type uint32; + description + "Segments truncated due to insufficient Write I/O + vectors"; + } + leaf no-throttle { + type uint32; + description + "Number of times throttle mode was off"; + } + leaf low-water-mark-throttle { + type uint32; + description + "Number of times low water mark throttle was on"; + } + leaf high-water-mark-throttle { + type uint32; + description + "Number of times high water mark throttle was on"; + } + leaf stalled-timer-tickle-count { + type uint32; + description + "Number of times a stalled tcp timer was tickled"; + } + leaf stalled-timer-tickle-time { + type uint32; + description + "Last timestamp when a stalled tcp timer was + tickled"; + } + leaf iq-sock-writes { + type uint32; + description + "Number of write attempts from socket-lib into an + IQ"; + } + leaf iq-sock-retries { + type uint32; + description + "Number of retried write attempts"; + } + leaf iq-sock-aborts { + type uint32; + description + "Number of aborted socket-lib writes"; + } + leaf iq-ingress-drops { + type uint32; + description + "Number of total ingress dropped packets"; + } + leaf total-i-qs { + type uint32; + description + "Number of TCP internal queues in use"; + } + leaf sockbuf-pak-res-cur { + type uint32; + description + "Current number of packets extended for scaled + sockets"; + } + leaf sockbuf-pak-res-max { + type uint32; + description + "Maximum number of packets extended for scaled + sockets"; + } + leaf sock-async-double-free-prevent-count { + type uint32; + description + "Total number of socket async buffer double free + prevented"; + } + list iqs-total-ingpacket { + max-elements "20"; + description + "Total Number of Ingress packets on TCP iqs"; + leaf entry { + type uint32; + description + "Total Number of Ingress packets on TCP iqs"; + } + } + list iqs-total-egpacket { + max-elements "20"; + description + "Total Number of Egress packets on TCP iqs"; + leaf entry { + type uint32; + description + "Total Number of Egress packets on TCP iqs"; + } + } + } + + grouping TCP-ASYNC-SESSION-STATS-BAG { + description + "TCP Async Session Statistic"; + leaf async-session { + type boolean; + description + "Flag of async session"; + } + list data-write-success-num { + max-elements "2"; + description + "Number of successful data write to XIPC"; + leaf entry { + type uint32; + description + "Number of successful data write to XIPC"; + } + } + list data-read-success-num { + max-elements "2"; + description + "Number of successful data read from XIPC"; + leaf entry { + type uint32; + description + "Number of successful data read from XIPC"; + } + } + list data-write-error-num { + max-elements "2"; + description + "Number of failed data write to XIPC"; + leaf entry { + type uint32; + description + "Number of failed data write to XIPC"; + } + } + list data-read-error-num { + max-elements "2"; + description + "Number of failed data read from XIPC"; + leaf entry { + type uint32; + description + "Number of failed data read from XIPC"; + } + } + list control-write-success-num { + max-elements "5"; + description + "Number of successful control write to XIPC"; + leaf entry { + type uint32; + description + "Number of successful control write to XIPC"; + } + } + list control-read-success-num { + max-elements "5"; + description + "Number of successful control read to XIPC"; + leaf entry { + type uint32; + description + "Number of successful control read to XIPC"; + } + } + list control-write-error-num { + max-elements "5"; + description + "Number of failed control write to XIPC"; + leaf entry { + type uint32; + description + "Number of failed control write to XIPC"; + } + } + list control-read-error-num { + max-elements "5"; + description + "Number of failed control read from XIPC"; + leaf entry { + type uint32; + description + "Number of failed control read from XIPC"; + } + } + list data-write-byte { + max-elements "2"; + description + "Number of bytes data has been written"; + leaf entry { + type uint64; + units "byte"; + description + "Number of bytes data has been written"; + } + } + list data-read-byte { + max-elements "2"; + description + "Number of bytes data has been read"; + leaf entry { + type uint64; + units "byte"; + description + "Number of bytes data has been read"; + } + } + } + + grouping TCP-IO-COUNTS-BAG { + description + "Counts of I/O events"; + leaf io-count { + type uint32; + description + "Number of I/O operations done by application"; + } + leaf arm-count { + type uint32; + description + "How many times socket was armed by application"; + } + leaf unarm-count { + type uint32; + description + "How many times socket was unarmed by application"; + } + leaf autoarm-count { + type uint32; + description + "How many times socket was auto-armed by TCP"; + } + } + + grouping TCP-SH-PCB-STATS-BAG { + description + "TCP PCB Statistics"; + container read-io-counts { + description + "Read I/O counts"; + uses TCP-IO-COUNTS-BAG; + } + container write-io-counts { + description + "Write I/O counts"; + uses TCP-IO-COUNTS-BAG; + } + container async-session-stats { + description + "Statistics of Async TCP Sessions"; + uses TCP-ASYNC-SESSION-STATS-BAG; + } + leaf pcb { + type uint64; + description + "PCB Address"; + } + leaf vrf-id { + type uint32; + description + "VRF Id"; + } + leaf packets-sent { + type uint64; + description + "Packets received from application"; + } + leaf xipc-pulse-received { + type uint64; + description + "XIPC pulses received from application"; + } + leaf segment-instruction-received { + type uint32; + description + "Segment Instruction received from partner node"; + } + leaf send-packets-queued { + type uint64; + description + "Packets queued to v4/v6 IO"; + } + leaf send-packets-queued-net-io { + type uint64; + description + "Packets queued to NetIO"; + } + leaf send-queue-failed { + type uint32; + description + "Packets failed to be queued to v4/v6 IO"; + } + leaf send-queue-net-io-failed { + type uint32; + description + "Packets failed to be queued to NetIO"; + } + leaf packets-received { + type uint64; + description + "Packets received from network"; + } + leaf receive-queue-failed { + type uint32; + description + "Received packets failed to be queued to + application"; + } + leaf received-packets-queued { + type uint64; + description + "Received packets queued to application"; + } + leaf send-window-shrink-ignored { + type uint32; + description + "No. of times send window shrinkage by peer was + ignored"; + } + leaf is-paw-socket { + type boolean; + description + "PAW or non-PAW socket?"; + } + leaf read-io-time { + type uint32; + description + "Time at which receive buffer was last read from"; + } + leaf write-io-time { + type uint32; + description + "Time at which send buffer was last written to"; + } + leaf min-ttl-dropped { + type uint64; + description + "Received packets dropped due to minttl"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub4.yang new file mode 100644 index 000000000..784b2f80c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub4.yang @@ -0,0 +1,793 @@ +submodule Cisco-IOS-XR-ip-tcp-oper-sub4 { + belongs-to Cisco-IOS-XR-ip-tcp-oper { + prefix Cisco-IOS-XR-ip-tcp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-tcp-oper-sub1 { + revision-date 2021-05-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-tcp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-21 { + description + "APP bound interface handle added to PCB_DETAIL output"; + semver:module-version "1.2.0"; + } + revision 2020-05-15 { + description + "First SYN delay timer added"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-01 { + description + "Added socket async double free prevention count in tcp statistics summary"; + } + revision 2018-02-14 { + description + "PCB_ID argument is passed in string format."; + } + revision 2018-02-14 { + description + "Added support for TCP-AO feature."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Message-id { + type uint32; + description + "Message id"; + } + + typedef Message-type-igmp { + type enumeration { + enum "membership-query" { + value 17; + description + "IGMP Packet type: Membership query"; + } + enum "v1-membership-report" { + value 18; + description + "IGMP Packet type: V1 membership report"; + } + enum "dvmrp" { + value 19; + description + "IGMP Packet type: DVMRP"; + } + enum "pi-mv1" { + value 20; + description + "IGMP Packet type: PIM version 1"; + } + enum "cisco-trace-messages" { + value 21; + description + "IGMP Packet type: Cisco Trace Messages"; + } + enum "v2-membership-report" { + value 22; + description + "IGMP Packet type: V2 membership report"; + } + enum "v2-leave-group" { + value 23; + description + "IGMP Packet type: V2 leave group"; + } + enum "multicast-traceroute-response" { + value 30; + description + "IGMP Packet type: Multicast traceroute response"; + } + enum "multicast-traceroute" { + value 31; + description + "IGMP Packet type: MulticastTraceroute"; + } + enum "v3-membership-report" { + value 34; + description + "IGMP Packet type: V3 membership report"; + } + enum "multicast-router-advertisement" { + value 48; + description + "IGMP Packet type: Multicast router + advertisement"; + } + enum "multicast-router-solicitation" { + value 49; + description + "IGMP Packet type: Multicast router solicitation"; + } + enum "multicast-router-termination" { + value 50; + description + "IGMP Packet type: Multicast router termination"; + } + } + description + "LPTS IGMP message types"; + } + + typedef Message-igmp { + type Message-type-igmp; + description + "Message igmp"; + } + + typedef Message-type-icmpv6 { + type enumeration { + enum "destination-unreachable" { + value 1; + description + "ICMPv6 Packet type: Destination unreachable"; + } + enum "packet-too-big" { + value 2; + description + "ICMPv6 Packet type: packet too big"; + } + enum "time-exceeded" { + value 3; + description + "ICMPv6 Packet type: Time exceeded"; + } + enum "parameter-problem" { + value 4; + description + "ICMPv6 Packet type: Parameter problem"; + } + enum "echo-request" { + value 128; + description + "ICMPv6 Packet type: Echo request"; + } + enum "echo-reply" { + value 129; + description + "ICMPv6 Packet type: Echo reply"; + } + enum "multicast-listener-query" { + value 130; + description + "ICMPv6 Packet type: Multicast listener query"; + } + enum "multicast-listener-report" { + value 131; + description + "ICMPv6 Packet type: Multicast listener report"; + } + enum "multicast-listener-done" { + value 132; + description + "ICMPv6 Packet type: Multicast listener done"; + } + enum "router-solicitation" { + value 133; + description + "ICMPv6 Packet type: Router solicitation"; + } + enum "router-advertisement" { + value 134; + description + "ICMPv6 Packet type: Router advertisement"; + } + enum "neighbor-solicitation" { + value 135; + description + "ICMPv6 Packet type: Neighbor solicitation"; + } + enum "neighbor-advertisement" { + value 136; + description + "ICMPv6 Packet type: Neighbor advertisement"; + } + enum "redirect-message" { + value 137; + description + "ICMPv6 Packet type: Redirect message"; + } + enum "router-renumbering" { + value 138; + description + "ICMPv6 Packet type: Router renumbering"; + } + enum "node-information-query" { + value 139; + description + "ICMPv6 Packet type: Node information query"; + } + enum "node-information-reply" { + value 140; + description + "ICMPv6 Packet type: Node information reply"; + } + enum "inverse-neighbor-discovery-solicitaion" { + value 141; + description + "ICMPv6 Packet type: Inverse neighbor discovery + solicitation message"; + } + enum "inverse-neighbor-discover-advertisement" { + value 142; + description + "ICMPv6 Packet type: Inverse neighbor discovery + advertisement message"; + } + enum "v2-multicast-listener-report" { + value 143; + description + "ICMPv6 Packet type: Version 2 multicast + listener report"; + } + enum "home-agent-address-discovery-request" { + value 144; + description + "ICMPv6 Packet type: Home agent address + discovery request message"; + } + enum "home-agent-address-discovery-reply" { + value 145; + description + "ICMPv6 Packet type: Home agent address + discovery reply message"; + } + enum "mobile-prefix-solicitation" { + value 146; + description + "ICMPv6 Packet type: Mobile prefix solicitation"; + } + enum "mobile-prefix-advertisement" { + value 147; + description + "ICMPv6 Packet type: Mobile prefix advertisement"; + } + enum "certification-path-solicitation-message" { + value 148; + description + "ICMPv6 Packet type: Certification path + solicitation message"; + } + enum "certification-path-advertisement-message" { + value 149; + description + "ICMPv6 Packet type: Certification path + advertisement message"; + } + enum "experimental-mobility-protocols" { + value 150; + description + "ICMPv6 Packet type: ICMP messages utilized by + experimental mobility protocols such as + seamoby"; + } + enum "multicast-router-advertisement" { + value 151; + description + "ICMPv6 Packet type: Multicast router + advertisement"; + } + enum "multicast-router-solicitation" { + value 152; + description + "ICMPv6 Packet type: Multicast router + solicitation"; + } + enum "multicast-router-termination" { + value 153; + description + "ICMPv6 Packet type: Multicast router + termination"; + } + enum "fmipv6-messages" { + value 154; + description + "ICMPv6 Packet type: FMIPv6 messages"; + } + } + description + "LPTS ICMPv6 message types"; + } + + typedef Message-icmpv6 { + type Message-type-icmpv6; + description + "Message icmpv6"; + } + + typedef Message-type-icmp { + type enumeration { + enum "echo-reply" { + value 0; + description + "ICMP Packet type: Echo reply"; + } + enum "destination-unreachable" { + value 3; + description + "ICMP Packet type: Destination unreachable"; + } + enum "source-quench" { + value 4; + description + "ICMP Packet type: Source quench"; + } + enum "redirect" { + value 5; + description + "ICMP Packet type: Redirect"; + } + enum "alternate-host-address" { + value 6; + description + "ICMP Packet type: Alternate host address"; + } + enum "echo" { + value 8; + description + "ICMP Packet type: Echo"; + } + enum "router-advertisement" { + value 9; + description + "ICMP Packet type: Router advertisement"; + } + enum "router-selection" { + value 10; + description + "ICMP Packet type: Router selection"; + } + enum "time-exceeded" { + value 11; + description + "ICMP Packet type: Time exceeded"; + } + enum "parameter-problem" { + value 12; + description + "ICMP Packet type: Parameter problem"; + } + enum "time-stamp" { + value 13; + description + "ICMP Packet type: Time stamp"; + } + enum "time-stamp-reply" { + value 14; + description + "ICMP Packet type: Time stamp reply"; + } + enum "information-request" { + value 15; + description + "ICMP Packet type: Information request"; + } + enum "information-reply" { + value 16; + description + "ICMP Packet type: Information reply"; + } + enum "address-mask-request" { + value 17; + description + "ICMP Packet type: Address mask request"; + } + enum "address-mask-reply" { + value 18; + description + "ICMP Packet type: Address mask reply"; + } + enum "trace-route" { + value 30; + description + "ICMP Packet type: Trace route"; + } + enum "datagram-conversion-error" { + value 31; + description + "ICMP Packet type: Datagram Conversion error"; + } + enum "mobile-host-redirect" { + value 32; + description + "ICMP Packet type: Mobile host redirect"; + } + enum "where-are-you" { + value 33; + description + "ICMP Packet type: IPv6 where-are-you"; + } + enum "iam-here" { + value 34; + description + "ICMP Packet type: IPv6 i-am-here"; + } + enum "mobile-registration-request" { + value 35; + description + "ICMP Packet type: Mobile registration request"; + } + enum "mobile-registration-reply" { + value 36; + description + "ICMP Packet type: Mobile registration reply"; + } + enum "domain-name-request" { + value 37; + description + "ICMP Packet type: Domain name request"; + } + } + description + "LPTS ICMP message types"; + } + + typedef Message-icmp { + type Message-type-icmp; + description + "Message icmp"; + } + + typedef Packet { + type enumeration { + enum "icmp" { + description + "ICMP packet type"; + } + enum "icm-pv6" { + description + "ICMPv6 packet type"; + } + enum "igmp" { + description + "IGMP packet type"; + } + enum "unknown" { + description + "Packet type unknown"; + } + } + description + "Packet type"; + } + + typedef Lpts-ipv6-address { + type inet:ipv6-address; + description + "Lpts ipv6 address"; + } + + grouping PKT-TYPE { + description + "PKT TYPE"; + leaf type { + type Packet; + description + "Type"; + } + leaf icmp-message-type { + when "../type = 'icmp'" { + description + "../Type = 'ICMP'"; + } + type Message-icmp; + description + "ICMP message type"; + } + leaf icm-pv6-message-type { + when "../type = 'icm-pv6'" { + description + "../Type = 'ICMPv6'"; + } + type Message-icmpv6; + description + "ICMPv6 message type"; + } + leaf igmp-message-type { + when "../type = 'igmp'" { + description + "../Type = 'IGMP'"; + } + type Message-igmp; + description + "IGMP message type"; + } + leaf message-id { + when "../type = 'unknown'" { + description + "../Type = 'Unknown'"; + } + type Message-id; + description + "Message type in number"; + } + } + + grouping LPTS-RX-FILTER { + description + "LPTS Interface Filter"; + container packet-type { + description + "Protocol-specific packet type"; + uses PKT-TYPE; + } + container remote-address { + description + "Remote address"; + uses IP-ADDR; + } + container local-address { + description + "Local address"; + uses IP-ADDR; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf remote-length { + type uint16; + description + "Remote address length"; + } + leaf local-length { + type uint16; + description + "Local address length"; + } + leaf receive-remote-port { + type uint16; + description + "Receive Remote port"; + } + leaf receive-local-port { + type uint16; + description + "Receive Local port"; + } + leaf priority { + type uint8; + description + "Priority"; + } + leaf ttl { + type uint8; + description + "Minimum TTL"; + } + leaf flow-types-info { + type uint32; + description + "flow information"; + } + } + + grouping LPTS-ACCEPT-MASK { + description + "LPTS accept mask"; + leaf is-interface { + type boolean; + description + "Set interface"; + } + leaf is-packet-type { + type boolean; + description + "Set packet type"; + } + leaf is-remote-address { + type boolean; + description + "Set Remote address"; + } + leaf is-remote-port { + type boolean; + description + "Set Remote Port"; + } + leaf is-local-address { + type boolean; + description + "Set Local Address"; + } + leaf is-local-port { + type boolean; + description + "Set Local Port"; + } + } + + grouping LPTS-FLAGS { + description + "LPTS flags"; + leaf is-pcb-bound { + type boolean; + description + "PCB bound"; + } + leaf is-local-address-ignore { + type boolean; + description + "Sent drop packets"; + } + leaf is-ignore-vrf-filter { + type boolean; + description + "Ignore VRF Filter"; + } + } + + grouping LPTS-OPTIONS { + description + "LPTS options"; + leaf is-receive-filter { + type boolean; + description + "Receive filter enabled"; + } + leaf is-ip-sla { + type boolean; + description + "IP SLA"; + } + } + + grouping LPTS-PCB { + description + "LPTS PCB information block"; + container options { + description + "Receive options"; + uses LPTS-OPTIONS; + } + container lpts-flags { + description + "LPTS flags"; + uses LPTS-FLAGS; + } + container accept-mask { + description + "AcceptMask"; + uses LPTS-ACCEPT-MASK; + } + leaf ttl { + type uint8; + description + "Minimum TTL"; + } + leaf flow-types-info { + type uint32; + description + "flow information"; + } + list filter { + description + "Interface Filters"; + uses LPTS-RX-FILTER; + } + } + + grouping COMMON-PCB-INFO { + description + "Common information for all PCB types"; + container lpts-pcb { + description + "LPTS PCB information"; + uses LPTS-PCB; + } + leaf af-name { + type Addr-family; + description + "Address Family"; + } + } + + grouping IP-ADDR { + description + "IP Address"; + leaf af-name { + type Addr-family; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'internetwork'" { + description + "../AFName = 'Internetwork'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6-address { + when "../af-name = 'ip-version6'" { + description + "../AFName = 'IPVersion6'"; + } + type Lpts-ipv6-address; + description + "IPv6 address"; + } + } + + grouping SHOW-PCB-INFO { + description + "PCB information to display"; + container local-address { + description + "Local IP address"; + uses IP-ADDR; + } + container foreign-address { + description + "Remote IP address"; + uses IP-ADDR; + } + container common { + description + "Common PCB information"; + uses COMMON-PCB-INFO; + } + leaf l4-protocol { + type uint32; + description + "Layer 4 protocol"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Remote port"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub5.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub5.yang new file mode 100644 index 000000000..cca82dd22 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper-sub5.yang @@ -0,0 +1,105 @@ +submodule Cisco-IOS-XR-ip-tcp-oper-sub5 { + belongs-to Cisco-IOS-XR-ip-tcp-oper { + prefix Cisco-IOS-XR-ip-tcp-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-tcp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-21 { + description + "APP bound interface handle added to PCB_DETAIL output"; + semver:module-version "1.2.0"; + } + revision 2020-05-15 { + description + "First SYN delay timer added"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-01 { + description + "Added socket async double free prevention count in tcp statistics summary"; + } + revision 2018-02-14 { + description + "PCB_ID argument is passed in string format."; + } + revision 2018-02-14 { + description + "Added support for TCP-AO feature."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TRANSP-CLIENT-STATS-BAG { + description + "Aggregated statistics of a transport client"; + leaf client-jid { + type int32; + description + "Job ID of the transport client"; + } + leaf client-name { + type string { + length "0..21"; + } + description + "Transport client name"; + } + leaf ipv4-received-packets { + type uint32; + description + "Total IPv4 packets received from client"; + } + leaf ipv4-sent-packets { + type uint32; + description + "Total IPv4 packets sent to client"; + } + leaf ipv6-received-packets { + type uint32; + description + "Total IPv6 packets received from app"; + } + leaf ipv6-sent-packets { + type uint32; + description + "Total IPv6 packets sent to app"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper.yang new file mode 100644 index 000000000..7d5accbb6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-tcp-oper.yang @@ -0,0 +1,477 @@ +module Cisco-IOS-XR-ip-tcp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-tcp-oper"; + prefix ip-tcp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-tcp-oper-sub5 { + revision-date 2021-05-21; + } + include Cisco-IOS-XR-ip-tcp-oper-sub4 { + revision-date 2021-05-21; + } + include Cisco-IOS-XR-ip-tcp-oper-sub3 { + revision-date 2021-05-21; + } + include Cisco-IOS-XR-ip-tcp-oper-sub2 { + revision-date 2021-05-21; + } + include Cisco-IOS-XR-ip-tcp-oper-sub1 { + revision-date 2021-05-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-tcp package operational data. + + This module contains definitions + for the following management objects: + tcp-connection: TCP connection operational data + tcp: IP TCP Operational Data + tcp-nsr: TCP NSR operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-21 { + description + "APP bound interface handle added to PCB_DETAIL output"; + semver:module-version "1.2.0"; + } + revision 2020-05-15 { + description + "First SYN delay timer added"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-01 { + description + "Added socket async double free prevention count in tcp statistics summary"; + } + revision 2018-02-14 { + description + "PCB_ID argument is passed in string format."; + } + revision 2018-02-14 { + description + "Added support for TCP-AO feature."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Show { + type enumeration { + enum "all" { + value 0; + description + "To dispay all"; + } + enum "static-policy" { + value 1; + description + "To display static policy"; + } + enum "interface-filter" { + value 2; + description + "To display interface filter"; + } + enum "packet-filter" { + value 3; + description + "To display packet type filter"; + } + } + description + "Show"; + } + + container tcp-connection { + config false; + description + "TCP connection operational data"; + container nodes { + description + "Table of information about all nodes present on + the system"; + list node { + key "id"; + description + "Information about a single node"; + container statistics { + description + "Statistics of all TCP connections"; + container clients { + description + "Table listing clients"; + list client { + key "client-id"; + description + "Describing Client ID"; + leaf client-id { + type uint32 { + range "0..4294967295"; + } + description + "Displaying client's aggregated statistics"; + } + uses TRANSP-CLIENT-STATS-BAG; + } + } + container pcbs { + description + "Table listing the TCP connections for which + statistics are provided"; + list pcb { + key "id"; + description + "Protocol Control Block ID"; + leaf id { + type xr:Cisco-ios-xr-string; + description + "Displaying statistics associated with a + particular PCB"; + } + uses TCP-SH-PCB-STATS-BAG; + } + } + container summary { + description + "Summary statistics across all TCP connections"; + uses TCP-SH-STATS-BAG; + } + } + container extended-information { + description + "Extended Filter related Information"; + container display-types { + description + "Table listing display types"; + list display-type { + key "disp-type"; + description + "Describing particular display type"; + leaf disp-type { + type Show; + description + "Specifying display type"; + } + list connection-id { + key "pcb-id"; + description + "Describing connection ID"; + leaf pcb-id { + type xr:Cisco-ios-xr-string; + description + "Displaying inforamtion based on selected + display type associatedwith a particular + PCB"; + } + uses SHOW-PCB-INFO; + } + } + } + } + container detail-informations { + description + "Table listing TCP connections for which + detailed information is provided"; + list detail-information { + key "pcb-id"; + description + "Protocol Control Block ID"; + leaf pcb-id { + type xr:Cisco-ios-xr-string; + description + "Detail information about TCP connection, put + null for all"; + } + uses TCP-SH-TABLE-BAG; + } + } + container keychains { + description + "Table listing keychains configured for TCP-AO."; + list keychain { + key "keychain-name"; + description + "Details of a keychain"; + leaf keychain-name { + type xr:Cisco-ios-xr-string; + description + "Keychain name"; + } + uses TCP-SH-KEYCHAIN-BAG; + } + } + container brief-informations { + description + "Table listing connections for which brief + information is provided.Note that not all + connections are listed in the brief table."; + list brief-information { + key "pcb-id"; + description + "Brief information about a TCP connection"; + leaf pcb-id { + type xr:Cisco-ios-xr-string; + description + "Protocol Control Block ID"; + } + uses TCP-SH-BRIEF-BAG; + } + } + leaf id { + type xr:Node-id; + description + "Describing a location"; + } + } + } + } + container tcp { + config false; + description + "IP TCP Operational Data"; + container nodes { + description + "Node-specific TCP operational data"; + list node { + key "node-name"; + description + "TCP operational data for a particular node"; + container statistics { + description + "Statistical TCP operational data for a node"; + container ipv4-traffic { + description + "TCP Traffic statistics for IPv4"; + uses IP-TCP; + } + container ipv6-traffic { + description + "TCP Traffic statistics for IPv6"; + uses IP-TCP; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + container tcp-nsr { + config false; + description + "TCP NSR operational data"; + container nodes { + description + "Table of information about all nodes present on + the system"; + list node { + key "id"; + description + "Information about a single node"; + container session { + description + "Information about TCP NSR Sessions"; + container brief-sessions { + description + "Information about TCP NSR Sessions"; + list brief-session { + key "id"; + description + "Brief information about NSR Sessions"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR Sesison"; + } + uses TCP-NSR-PCB-BRIEF-BAG; + } + } + container detail-sessions { + description + "Table about TCP NSR Sessions details"; + list detail-session { + key "id"; + description + "showing detailed information of NSR Sessions"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR Sesison"; + } + uses TCP-NSR-PCB-DETAILED-BAG; + } + } + } + container client { + description + "Information about TCP NSR Client"; + container detail-clients { + description + "Table about TCP NSR Client details"; + list detail-client { + key "id"; + description + "showing detailed information of NSR Clients"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR client"; + } + uses TCP-NSR-CCB-DETAILED-BAG; + } + } + container brief-clients { + description + "Information about TCP NSR Client"; + list brief-client { + key "id"; + description + "Brief information about NSR Client"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR client"; + } + uses TCP-NSR-CCB-BRIEF-BAG; + } + } + } + container session-set { + description + "Information about TCP NSR Session Sets"; + container detail-sets { + description + "Table about TCP NSR Session Sets details"; + list detail-set { + key "id"; + description + "showing detailed information of NSR Session + Sets"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR Sesison Set"; + } + uses TCP-NSR-SSCB-DETAILED-BAG; + } + } + container brief-sets { + description + "Information about TCP NSR Session Sets"; + list brief-set { + key "id"; + description + "Brief information about NSR Session Sets"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR Session Set"; + } + uses TCP-NSR-SSCB-BRIEF-BAG; + } + } + } + container statistics { + description + "Statis Information about TCP NSR connections"; + container summary { + description + "Summary statistics across all NSR connections"; + uses TCP-NSR-SUMMARY-STATS-BAG; + } + container statistic-clients { + description + "Table listing NSR connections for which + statistic information is provided"; + list statistic-client { + key "id"; + description + "showing statistic information of NSR Clients"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR Client"; + } + uses TCP-NSR-CCB-STATS-BAG; + } + } + container statistic-sets { + description + "Table listing NSR connections for which + statistic information is provided"; + list statistic-set { + key "id"; + description + "showing statistic information of NSR Session + Set"; + leaf id { + type xr:Hex-integer; + description + "ID of NSR Session Set"; + } + uses TCP-NSR-SSCB-STATS-BAG; + } + } + container statistic-sessions { + description + "Table listing NSR connections for which + statistic information is provided"; + list statistic-session { + key "id"; + description + "showing statistic information of TCP + connections"; + leaf id { + type xr:Hex-integer; + description + "ID of TCP connection"; + } + uses TCP-NSR-PCB-STATS-BAG; + } + } + } + leaf id { + type xr:Node-id; + description + "Describing a location"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-cfg.yang new file mode 100644 index 000000000..f0996fc25 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-cfg.yang @@ -0,0 +1,238 @@ +module Cisco-IOS-XR-ip-udp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-udp-cfg"; + prefix ip-udp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ip-tcp-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-udp package configuration. + + This module contains definitions + for the following management objects: + ip-udp: Global IP UDP configuration + + This YANG module augments the + Cisco-IOS-XR-ip-tcp-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-07-31 { + description + "Fixed missing augmentation from multiple MDA parent."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:ip" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ip-tcp-cfg'"; + container forward-protocol { + description + "Controls forwarding of physical and directed IP + broadcasts"; + container udp { + description + "Packets to a specific UDP port"; + container ports { + description + "Port configuration"; + list port { + key "port-id"; + description + "Well-known ports are enabled by default and + non well-known ports are disabled by default. + It is not allowed to configure the default."; + leaf port-id { + type xr:Cisco-ios-xr-port-number; + description + "Port number"; + } + leaf enable { + type boolean; + mandatory true; + description + "Specify 'false' to disable well-known ports + Domain (53), TFTP (69), NameServer (42), + TACACS (49), NetBiosNameService (137), or + NetBiosDatagramService (138). Specify + 'true' to enable non well-known ports."; + } + } + } + leaf disable { + type empty; + description + "Disable IP Forward Protocol UDP"; + } + } + } + } + augment "/a1:ip/a1:cinetd/a1:services/a1:ipv4/a1:small-servers" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ip-tcp-cfg'"; + container udp-small-servers { + presence "Indicates a udp-small-servers node is configured."; + description + "UDP small servers configuration"; + leaf access-control-list-name { + type string; + description + "Specify the access list"; + } + leaf small-server { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "Unlimited Servers"; + } + } + type uint32 { + range "0..2147483647"; + } + } + mandatory true; + description + "Set number of allowable small servers, specify + 0 for no-limit"; + } + } + } + augment "/a1:ip/a1:cinetd/a1:services/a1:ipv6/a1:small-servers" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ip-tcp-cfg'"; + container udp-small-servers { + presence "Indicates a udp-small-servers node is configured."; + description + "UDP small servers configuration"; + leaf access-control-list-name { + type string; + description + "Specify the access list"; + } + leaf small-server { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "Unlimited Servers"; + } + } + type uint32 { + range "0..2147483647"; + } + } + mandatory true; + description + "Set number of allowable small servers, specify + 0 for no-limit"; + } + } + } + container ip-udp { + description + "Global IP UDP configuration"; + container num-thread { + presence "Indicates a num-thread node is configured."; + description + "UDP InQueue and OutQueue threads"; + leaf udp-in-q-threads { + type uint32 { + range "1..16"; + } + mandatory true; + description + "InQ Threads"; + } + leaf udp-out-q-threads { + type uint32 { + range "1..16"; + } + mandatory true; + description + "OutQ Threads"; + } + } + container directory { + presence "Indicates a directory node is configured."; + description + "UDP directory details"; + leaf directoryname { + type string; + mandatory true; + description + "Directory name"; + } + leaf max-udp-debug-files { + type uint32 { + range "1..5000"; + } + default "256"; + description + "Set number of Debug files"; + } + leaf max-file-size-files { + type uint32 { + range "1024..4294967295"; + } + units "byte"; + description + "Set size of debug files in bytes"; + } + } + leaf receive-q { + type uint32 { + range "40..800"; + } + description + "UDP receive Queue Size"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub1.yang new file mode 100644 index 000000000..50a9e4474 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub1.yang @@ -0,0 +1,486 @@ +submodule Cisco-IOS-XR-ip-udp-oper-sub1 { + belongs-to Cisco-IOS-XR-ip-udp-oper { + prefix Cisco-IOS-XR-ip-udp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-udp package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-06 { + description + "min_ttl_dropped field is added to PCB_DETAIL output."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-09 { + description + "bind_local field is added to PCB_DETAIL output"; + } + revision 2018-03-04 { + description + "PCB_ID argument is passed in string format."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Udp-in6-addr { + type inet:ipv6-address; + description + "Udp in6 addr"; + } + + typedef Udp-address-family { + type enumeration { + enum "ipv4" { + value 2; + description + "IPv4"; + } + enum "ipv6" { + value 10; + description + "IPv6"; + } + } + description + "Address Family Type"; + } + + grouping UDP-SH-BRIEF-BAG { + description + "UDP connection brief information"; + container local-address { + description + "Local address"; + uses UDP-ADDRESS-TYPE; + } + container foreign-address { + description + "Foreign address"; + uses UDP-ADDRESS-TYPE; + } + leaf af-name { + type Udp-address-family; + description + "Address family"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Foreign port"; + } + leaf receive-queue { + type uint32; + description + "Receive queue count"; + } + leaf send-queue { + type uint32; + description + "Send queue count"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + } + + grouping UDP-PCB-FLAGS-BAG { + description + "UDP PCB flags"; + leaf recv-opts { + type boolean; + description + "Receive input options"; + } + leaf recv-ret-opts { + type boolean; + description + "Receive input source-route options"; + } + leaf recv-dest-addr { + type boolean; + description + "Receive destination address"; + } + leaf header-include { + type boolean; + description + "Header include option"; + } + leaf recv-intf { + type boolean; + description + "Receive input interface"; + } + leaf recv-header { + type boolean; + description + "Receive header"; + } + leaf mcast-loopback { + type boolean; + description + "Loopback of multicast packet"; + } + leaf recv-l2-header { + type boolean; + description + "Receive L2 header"; + } + leaf recv-packet-info { + type boolean; + description + "Receive packet information"; + } + leaf router-alert { + type boolean; + description + "Receive router alert packets"; + } + leaf recv-hop-limit { + type boolean; + description + "Receive hop limit"; + } + leaf recv-routing-header { + type boolean; + description + "Receive routing header"; + } + leaf recv-hop-header { + type boolean; + description + "Receive hop by hop option header"; + } + leaf recv-dest-header { + type boolean; + description + "Receive destination option header"; + } + leaf recv-traffic-class { + type boolean; + description + "Receive traffic class"; + } + leaf recv-ip-sec { + type boolean; + description + "Receive IP security information"; + } + leaf recv-tabel-id { + type boolean; + description + "Receive table identifier"; + } + leaf recv-pak-priority { + type boolean; + description + "Receive packet priority"; + } + leaf conn-limit { + type boolean; + description + "Connection limit"; + } + leaf opt-handled { + type boolean; + description + "Option handled"; + } + leaf bind-local { + type boolean; + description + "Local node packet delivery"; + } + } + + grouping UDP-ADDRESS-TYPE { + description + "UDP ADDRESS TYPE"; + leaf af-name { + type Udp-address-family; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf ipv6-address { + when "../af-name != 'ipv4'" { + description + "../AFName != 'IPv4'"; + } + type Udp-in6-addr; + description + "IPv6 Address"; + } + } + + grouping UDP-SH-TABLE-BAG { + description + "UDP detail pcb information"; + container local-address { + description + "Local address"; + uses UDP-ADDRESS-TYPE; + } + container foreign-address { + description + "Foreign address"; + uses UDP-ADDRESS-TYPE; + } + container pcb-flags { + description + "PCB flags"; + uses UDP-PCB-FLAGS-BAG; + } + leaf af-name { + type Udp-address-family; + description + "Address family"; + } + leaf local-process-id { + type uint32; + description + "ID of local process"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Foreign port"; + } + leaf receive-queue { + type uint32; + description + "Receive queue count"; + } + leaf send-queue { + type uint32; + description + "Send queue count"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf flow-label { + type uint32; + description + "Flow label set "; + } + leaf traffic-class { + type int32; + description + "Traffic Class set "; + } + } + + grouping UDP-PCB-RECEIVE-STATS-TYPE { + description + "UDP receive statistics"; + leaf received-network-packets { + type uint64; + description + "Packets received from network"; + } + leaf failed-queued-application-packets { + type uint32; + description + "Packets failed queued to application"; + } + leaf queued-application-packets { + type uint64; + description + "Packets queued to application"; + } + leaf failed-queued-application-socket-packets { + type uint32; + description + "Packet that couldn't be queued to application.on + socket"; + } + leaf queued-application-socket-packets { + type uint64; + description + "Packets queued to application on socket"; + } + leaf min-ttl-dropped { + type uint64; + description + "Received packets dropped due to minttl"; + } + } + + grouping UDP-PCB-SEND-STATS-TYPE { + description + "UDP send statistics"; + leaf received-application-bytes { + type uint64; + units "byte"; + description + "Bytes received from application"; + } + leaf received-xipc-pulses { + type uint64; + description + "XIPC pulses received from application"; + } + leaf sent-network-packets { + type uint64; + description + "Packets sent to network (v4/v6 IO)"; + } + leaf sent-net-io-packets { + type uint64; + description + "Packets sent to network (NetIO)"; + } + leaf failed-queued-network-packets { + type uint32; + description + "Packets failed getting queued to network (v4/v6 + IO)"; + } + leaf failed-queued-net-io-packets { + type uint32; + description + "Packets failed getting queued to network (NetIO)"; + } + } + + grouping UDP-SH-PCB-STATS-BAG { + description + "UDP statistics"; + container send { + description + "UDP send statistics"; + uses UDP-PCB-SEND-STATS-TYPE; + } + container receive { + description + "UDP receive statistics"; + uses UDP-PCB-RECEIVE-STATS-TYPE; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf is-paw-socket { + type boolean; + description + "True if paw socket"; + } + } + + grouping UDP-SH-STATS-BAG { + description + "UDP statistics summary"; + leaf received-total-packets { + type uint32; + description + "Total packets received"; + } + leaf received-no-port-packets { + type uint32; + description + "Packets received when no wild listener"; + } + leaf received-bad-checksum-packets { + type uint32; + description + "Packets received has bad checksum"; + } + leaf received-too-short-packets { + type uint32; + description + "Packets received is too short"; + } + leaf received-drop-packets { + type uint32; + description + "Packets dropped for other reasons"; + } + leaf sent-total-packets { + type uint32; + description + "Total packets sent"; + } + leaf sent-error-packets { + type uint32; + description + "Total send erorr packets"; + } + leaf forward-broadcast-packets { + type uint32; + description + "Total forwarding broadcast packets"; + } + leaf cloned-packets { + type uint32; + description + "Total cloned packets"; + } + leaf failed-clone-packets { + type uint32; + description + "Total failed cloned packets"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub2.yang new file mode 100644 index 000000000..4330602a8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub2.yang @@ -0,0 +1,998 @@ +submodule Cisco-IOS-XR-ip-udp-oper-sub2 { + belongs-to Cisco-IOS-XR-ip-udp-oper { + prefix Cisco-IOS-XR-ip-udp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-udp package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-06 { + description + "min_ttl_dropped field is added to PCB_DETAIL output."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-09 { + description + "bind_local field is added to PCB_DETAIL output"; + } + revision 2018-03-04 { + description + "PCB_ID argument is passed in string format."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Message-id { + type uint32; + description + "Message id"; + } + + typedef Message-type-igmp { + type enumeration { + enum "membership-query" { + value 17; + description + "IGMP Packet type: Membership query"; + } + enum "v1-membership-report" { + value 18; + description + "IGMP Packet type: V1 membership report"; + } + enum "dvmrp" { + value 19; + description + "IGMP Packet type: DVMRP"; + } + enum "pi-mv1" { + value 20; + description + "IGMP Packet type: PIM version 1"; + } + enum "cisco-trace-messages" { + value 21; + description + "IGMP Packet type: Cisco Trace Messages"; + } + enum "v2-membership-report" { + value 22; + description + "IGMP Packet type: V2 membership report"; + } + enum "v2-leave-group" { + value 23; + description + "IGMP Packet type: V2 leave group"; + } + enum "multicast-traceroute-response" { + value 30; + description + "IGMP Packet type: Multicast traceroute response"; + } + enum "multicast-traceroute" { + value 31; + description + "IGMP Packet type: MulticastTraceroute"; + } + enum "v3-membership-report" { + value 34; + description + "IGMP Packet type: V3 membership report"; + } + enum "multicast-router-advertisement" { + value 48; + description + "IGMP Packet type: Multicast router + advertisement"; + } + enum "multicast-router-solicitation" { + value 49; + description + "IGMP Packet type: Multicast router solicitation"; + } + enum "multicast-router-termination" { + value 50; + description + "IGMP Packet type: Multicast router termination"; + } + } + description + "LPTS IGMP message types"; + } + + typedef Message-igmp { + type Message-type-igmp; + description + "Message igmp"; + } + + typedef Message-type-icmpv6 { + type enumeration { + enum "destination-unreachable" { + value 1; + description + "ICMPv6 Packet type: Destination unreachable"; + } + enum "packet-too-big" { + value 2; + description + "ICMPv6 Packet type: packet too big"; + } + enum "time-exceeded" { + value 3; + description + "ICMPv6 Packet type: Time exceeded"; + } + enum "parameter-problem" { + value 4; + description + "ICMPv6 Packet type: Parameter problem"; + } + enum "echo-request" { + value 128; + description + "ICMPv6 Packet type: Echo request"; + } + enum "echo-reply" { + value 129; + description + "ICMPv6 Packet type: Echo reply"; + } + enum "multicast-listener-query" { + value 130; + description + "ICMPv6 Packet type: Multicast listener query"; + } + enum "multicast-listener-report" { + value 131; + description + "ICMPv6 Packet type: Multicast listener report"; + } + enum "multicast-listener-done" { + value 132; + description + "ICMPv6 Packet type: Multicast listener done"; + } + enum "router-solicitation" { + value 133; + description + "ICMPv6 Packet type: Router solicitation"; + } + enum "router-advertisement" { + value 134; + description + "ICMPv6 Packet type: Router advertisement"; + } + enum "neighbor-solicitation" { + value 135; + description + "ICMPv6 Packet type: Neighbor solicitation"; + } + enum "neighbor-advertisement" { + value 136; + description + "ICMPv6 Packet type: Neighbor advertisement"; + } + enum "redirect-message" { + value 137; + description + "ICMPv6 Packet type: Redirect message"; + } + enum "router-renumbering" { + value 138; + description + "ICMPv6 Packet type: Router renumbering"; + } + enum "node-information-query" { + value 139; + description + "ICMPv6 Packet type: Node information query"; + } + enum "node-information-reply" { + value 140; + description + "ICMPv6 Packet type: Node information reply"; + } + enum "inverse-neighbor-discovery-solicitaion" { + value 141; + description + "ICMPv6 Packet type: Inverse neighbor discovery + solicitation message"; + } + enum "inverse-neighbor-discover-advertisement" { + value 142; + description + "ICMPv6 Packet type: Inverse neighbor discovery + advertisement message"; + } + enum "v2-multicast-listener-report" { + value 143; + description + "ICMPv6 Packet type: Version 2 multicast + listener report"; + } + enum "home-agent-address-discovery-request" { + value 144; + description + "ICMPv6 Packet type: Home agent address + discovery request message"; + } + enum "home-agent-address-discovery-reply" { + value 145; + description + "ICMPv6 Packet type: Home agent address + discovery reply message"; + } + enum "mobile-prefix-solicitation" { + value 146; + description + "ICMPv6 Packet type: Mobile prefix solicitation"; + } + enum "mobile-prefix-advertisement" { + value 147; + description + "ICMPv6 Packet type: Mobile prefix advertisement"; + } + enum "certification-path-solicitation-message" { + value 148; + description + "ICMPv6 Packet type: Certification path + solicitation message"; + } + enum "certification-path-advertisement-message" { + value 149; + description + "ICMPv6 Packet type: Certification path + advertisement message"; + } + enum "experimental-mobility-protocols" { + value 150; + description + "ICMPv6 Packet type: ICMP messages utilized by + experimental mobility protocols such as + seamoby"; + } + enum "multicast-router-advertisement" { + value 151; + description + "ICMPv6 Packet type: Multicast router + advertisement"; + } + enum "multicast-router-solicitation" { + value 152; + description + "ICMPv6 Packet type: Multicast router + solicitation"; + } + enum "multicast-router-termination" { + value 153; + description + "ICMPv6 Packet type: Multicast router + termination"; + } + enum "fmipv6-messages" { + value 154; + description + "ICMPv6 Packet type: FMIPv6 messages"; + } + } + description + "LPTS ICMPv6 message types"; + } + + typedef Message-icmpv6 { + type Message-type-icmpv6; + description + "Message icmpv6"; + } + + typedef Message-type-icmp { + type enumeration { + enum "echo-reply" { + value 0; + description + "ICMP Packet type: Echo reply"; + } + enum "destination-unreachable" { + value 3; + description + "ICMP Packet type: Destination unreachable"; + } + enum "source-quench" { + value 4; + description + "ICMP Packet type: Source quench"; + } + enum "redirect" { + value 5; + description + "ICMP Packet type: Redirect"; + } + enum "alternate-host-address" { + value 6; + description + "ICMP Packet type: Alternate host address"; + } + enum "echo" { + value 8; + description + "ICMP Packet type: Echo"; + } + enum "router-advertisement" { + value 9; + description + "ICMP Packet type: Router advertisement"; + } + enum "router-selection" { + value 10; + description + "ICMP Packet type: Router selection"; + } + enum "time-exceeded" { + value 11; + description + "ICMP Packet type: Time exceeded"; + } + enum "parameter-problem" { + value 12; + description + "ICMP Packet type: Parameter problem"; + } + enum "time-stamp" { + value 13; + description + "ICMP Packet type: Time stamp"; + } + enum "time-stamp-reply" { + value 14; + description + "ICMP Packet type: Time stamp reply"; + } + enum "information-request" { + value 15; + description + "ICMP Packet type: Information request"; + } + enum "information-reply" { + value 16; + description + "ICMP Packet type: Information reply"; + } + enum "address-mask-request" { + value 17; + description + "ICMP Packet type: Address mask request"; + } + enum "address-mask-reply" { + value 18; + description + "ICMP Packet type: Address mask reply"; + } + enum "trace-route" { + value 30; + description + "ICMP Packet type: Trace route"; + } + enum "datagram-conversion-error" { + value 31; + description + "ICMP Packet type: Datagram Conversion error"; + } + enum "mobile-host-redirect" { + value 32; + description + "ICMP Packet type: Mobile host redirect"; + } + enum "where-are-you" { + value 33; + description + "ICMP Packet type: IPv6 where-are-you"; + } + enum "iam-here" { + value 34; + description + "ICMP Packet type: IPv6 i-am-here"; + } + enum "mobile-registration-request" { + value 35; + description + "ICMP Packet type: Mobile registration request"; + } + enum "mobile-registration-reply" { + value 36; + description + "ICMP Packet type: Mobile registration reply"; + } + enum "domain-name-request" { + value 37; + description + "ICMP Packet type: Domain name request"; + } + } + description + "LPTS ICMP message types"; + } + + typedef Message-icmp { + type Message-type-icmp; + description + "Message icmp"; + } + + typedef Packet { + type enumeration { + enum "icmp" { + description + "ICMP packet type"; + } + enum "icm-pv6" { + description + "ICMPv6 packet type"; + } + enum "igmp" { + description + "IGMP packet type"; + } + enum "unknown" { + description + "Packet type unknown"; + } + } + description + "Packet type"; + } + + typedef Lpts-ipv6-address { + type inet:ipv6-address; + description + "Lpts ipv6 address"; + } + + typedef Addr-family { + type enumeration { + enum "unspecified" { + value 0; + description + "Unspecified"; + } + enum "local" { + value 1; + description + "Local to host (pipes, portals)"; + } + enum "inet" { + value 2; + description + "Internetwork: UDP, TCP, etc."; + } + enum "implink" { + value 3; + description + "arpanet imp addresses"; + } + enum "pup" { + value 4; + description + "Pup protocols: e.g. BSP"; + } + enum "chaos" { + value 5; + description + "mit CHAOS protocols"; + } + enum "ns" { + value 6; + description + "XEROX NS protocols"; + } + enum "iso" { + value 7; + description + "ISO protocols"; + } + enum "ecma" { + value 8; + description + "European computer manufacturers"; + } + enum "data-kit" { + value 9; + description + "Datakit protocols"; + } + enum "ccitt" { + value 26; + description + "CCITT protocols, X.25 etc"; + } + enum "sna" { + value 11; + description + "IBM SNA"; + } + enum "de-cnet" { + value 12; + description + "DECnet"; + } + enum "dli" { + value 13; + description + "DEC Direct data link interface"; + } + enum "lat" { + value 14; + description + "LAT"; + } + enum "hylink" { + value 15; + description + "NSC Hyperchannel"; + } + enum "appletalk" { + value 16; + description + "Apple Talk"; + } + enum "route" { + value 17; + description + "Internal Routing Protocol"; + } + enum "link" { + value 18; + description + "Link layer interface"; + } + enum "pseudo-xtp" { + value 19; + description + "eXpress Transfer Protocol (no AF)"; + } + enum "coip" { + value 20; + description + "Connection-oriented IP, aka ST II"; + } + enum "cnt" { + value 21; + description + "Computer Network Technology"; + } + enum "pseudo-rtip" { + value 22; + description + "Help Identify RTIP packets"; + } + enum "ipx" { + value 23; + description + "Novell Internet Protocol"; + } + enum "sip" { + value 24; + description + "Simple Internet Protocol"; + } + enum "pseudo-pip" { + value 25; + description + "Help Identify PIP packets"; + } + enum "inet6" { + value 10; + description + "IP version 6"; + } + enum "snap" { + value 27; + description + "802.2 SNAP sockets"; + } + enum "clnl" { + value 28; + description + "SAP_CLNS + nlpid encaps"; + } + enum "chdlc" { + value 29; + description + "cisco HDLC on serial"; + } + enum "ppp" { + value 30; + description + "PPP sockets"; + } + enum "host-cas" { + value 31; + description + "Host-based CAS signaling"; + } + enum "dsp" { + value 32; + description + "DSP messaging"; + } + enum "sap" { + value 33; + description + "SAP Sockets"; + } + enum "atm" { + value 34; + description + "ATM Sockets"; + } + enum "fr" { + value 35; + description + "Frame Relay sockets"; + } + enum "mso" { + value 36; + description + "Voice Media Stream Sockets"; + } + enum "dchan" { + value 37; + description + "ISDN D Channel Sockets"; + } + enum "cas" { + value 38; + description + "Trunk Framer media IF Sockets"; + } + enum "nat" { + value 39; + description + "Network Address Translation Sockets"; + } + enum "ether" { + value 40; + description + "Generic Ethernet Sockets"; + } + enum "srp" { + value 41; + description + "Spatial Reuse Protocol Sockets"; + } + } + description + "Address Family Types"; + } + + grouping PKT-TYPE { + description + "PKT TYPE"; + leaf type { + type Packet; + description + "Type"; + } + leaf icmp-message-type { + when "../type = 'icmp'" { + description + "../Type = 'ICMP'"; + } + type Message-icmp; + description + "ICMP message type"; + } + leaf icm-pv6-message-type { + when "../type = 'icm-pv6'" { + description + "../Type = 'ICMPv6'"; + } + type Message-icmpv6; + description + "ICMPv6 message type"; + } + leaf igmp-message-type { + when "../type = 'igmp'" { + description + "../Type = 'IGMP'"; + } + type Message-igmp; + description + "IGMP message type"; + } + leaf message-id { + when "../type = 'unknown'" { + description + "../Type = 'Unknown'"; + } + type Message-id; + description + "Message type in number"; + } + } + + grouping LPTS-RX-FILTER { + description + "LPTS Interface Filter"; + container packet-type { + description + "Protocol-specific packet type"; + uses PKT-TYPE; + } + container remote-address { + description + "Remote address"; + uses IP-ADDR; + } + container local-address { + description + "Local address"; + uses IP-ADDR; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf remote-length { + type uint16; + description + "Remote address length"; + } + leaf local-length { + type uint16; + description + "Local address length"; + } + leaf receive-remote-port { + type uint16; + description + "Receive Remote port"; + } + leaf receive-local-port { + type uint16; + description + "Receive Local port"; + } + leaf priority { + type uint8; + description + "Priority"; + } + leaf ttl { + type uint8; + description + "Minimum TTL"; + } + leaf flow-types-info { + type uint32; + description + "flow information"; + } + } + + grouping LPTS-ACCEPT-MASK { + description + "LPTS accept mask"; + leaf is-interface { + type boolean; + description + "Set interface"; + } + leaf is-packet-type { + type boolean; + description + "Set packet type"; + } + leaf is-remote-address { + type boolean; + description + "Set Remote address"; + } + leaf is-remote-port { + type boolean; + description + "Set Remote Port"; + } + leaf is-local-address { + type boolean; + description + "Set Local Address"; + } + leaf is-local-port { + type boolean; + description + "Set Local Port"; + } + } + + grouping LPTS-FLAGS { + description + "LPTS flags"; + leaf is-pcb-bound { + type boolean; + description + "PCB bound"; + } + leaf is-local-address-ignore { + type boolean; + description + "Sent drop packets"; + } + leaf is-ignore-vrf-filter { + type boolean; + description + "Ignore VRF Filter"; + } + } + + grouping LPTS-OPTIONS { + description + "LPTS options"; + leaf is-receive-filter { + type boolean; + description + "Receive filter enabled"; + } + leaf is-ip-sla { + type boolean; + description + "IP SLA"; + } + } + + grouping LPTS-PCB { + description + "LPTS PCB information block"; + container options { + description + "Receive options"; + uses LPTS-OPTIONS; + } + container lpts-flags { + description + "LPTS flags"; + uses LPTS-FLAGS; + } + container accept-mask { + description + "AcceptMask"; + uses LPTS-ACCEPT-MASK; + } + leaf ttl { + type uint8; + description + "Minimum TTL"; + } + leaf flow-types-info { + type uint32; + description + "flow information"; + } + list filter { + description + "Interface Filters"; + uses LPTS-RX-FILTER; + } + } + + grouping COMMON-PCB-INFO { + description + "Common information for all PCB types"; + container lpts-pcb { + description + "LPTS PCB information"; + uses LPTS-PCB; + } + leaf af-name { + type Addr-family; + description + "Address Family"; + } + } + + grouping IP-ADDR { + description + "IP Address"; + leaf af-name { + type Addr-family; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'inet'" { + description + "../AFName = 'INET'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6-address { + when "../af-name = 'inet6'" { + description + "../AFName = 'INET6'"; + } + type Lpts-ipv6-address; + description + "IPv6 address"; + } + } + + grouping SHOW-PCB-INFO { + description + "PCB information to display"; + container local-address { + description + "Local IP address"; + uses IP-ADDR; + } + container foreign-address { + description + "Remote IP address"; + uses IP-ADDR; + } + container common { + description + "Common PCB information"; + uses COMMON-PCB-INFO; + } + leaf l4-protocol { + type uint32; + description + "Layer 4 protocol"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf foreign-port { + type uint16; + description + "Remote port"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub3.yang new file mode 100644 index 000000000..2f19d44e8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub3.yang @@ -0,0 +1,96 @@ +submodule Cisco-IOS-XR-ip-udp-oper-sub3 { + belongs-to Cisco-IOS-XR-ip-udp-oper { + prefix Cisco-IOS-XR-ip-udp-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-udp package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-06 { + description + "min_ttl_dropped field is added to PCB_DETAIL output."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-09 { + description + "bind_local field is added to PCB_DETAIL output"; + } + revision 2018-03-04 { + description + "PCB_ID argument is passed in string format."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TRANSP-CLIENT-STATS-BAG { + description + "Aggregated statistics of a transport client"; + leaf client-jid { + type int32; + description + "Job ID of the transport client"; + } + leaf client-name { + type string { + length "0..21"; + } + description + "Transport client name"; + } + leaf ipv4-received-packets { + type uint32; + description + "Total IPv4 packets received from client"; + } + leaf ipv4-sent-packets { + type uint32; + description + "Total IPv4 packets sent to client"; + } + leaf ipv6-received-packets { + type uint32; + description + "Total IPv6 packets received from app"; + } + leaf ipv6-sent-packets { + type uint32; + description + "Total IPv6 packets sent to app"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub4.yang new file mode 100644 index 000000000..5df304b63 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper-sub4.yang @@ -0,0 +1,94 @@ +submodule Cisco-IOS-XR-ip-udp-oper-sub4 { + belongs-to Cisco-IOS-XR-ip-udp-oper { + prefix Cisco-IOS-XR-ip-udp-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ip-udp package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-06 { + description + "min_ttl_dropped field is added to PCB_DETAIL output."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-09 { + description + "bind_local field is added to PCB_DETAIL output"; + } + revision 2018-03-04 { + description + "PCB_ID argument is passed in string format."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping IP-UDP { + description + "UDP Traffic Information"; + leaf udp-input-packets { + type uint32; + description + "UDP Received"; + } + leaf udp-checksum-error-packets { + type uint32; + description + "UDP Checksum Errors"; + } + leaf udp-no-port-packets { + type uint32; + description + "UDP No Port"; + } + leaf udp-bad-length-packets { + type uint32; + description + "UDP bad length"; + } + leaf udp-output-packets { + type uint32; + description + "UDP Transmitted"; + } + leaf udp-dropped-packets { + type uint32; + description + "UDP drop for other reason"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper.yang new file mode 100644 index 000000000..24dd46035 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ip-udp-oper.yang @@ -0,0 +1,264 @@ +module Cisco-IOS-XR-ip-udp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-udp-oper"; + prefix ip-udp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ip-udp-oper-sub4 { + revision-date 2020-04-06; + } + include Cisco-IOS-XR-ip-udp-oper-sub3 { + revision-date 2020-04-06; + } + include Cisco-IOS-XR-ip-udp-oper-sub2 { + revision-date 2020-04-06; + } + include Cisco-IOS-XR-ip-udp-oper-sub1 { + revision-date 2020-04-06; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-udp package operational data. + + This module contains definitions + for the following management objects: + udp: IP UDP Operational Data + udp-connection: UDP connection operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-06 { + description + "min_ttl_dropped field is added to PCB_DETAIL output."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-09 { + description + "bind_local field is added to PCB_DETAIL output"; + } + revision 2018-03-04 { + description + "PCB_ID argument is passed in string format."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2016-02-26 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Lpts-pcb-query { + type enumeration { + enum "all" { + value 0; + description + "No filter"; + } + enum "static-policy" { + value 1; + description + "Static policy filter"; + } + enum "interface" { + value 2; + description + "Interface filter"; + } + enum "packet" { + value 3; + description + "Packet type filter"; + } + } + description + "Lpts pcb query"; + } + + container udp { + config false; + description + "IP UDP Operational Data"; + container nodes { + description + "Node-specific UDP operational data"; + list node { + key "node-name"; + description + "UDP operational data for a particular node"; + container statistics { + description + "Statistical UDP operational data for a node"; + container ipv4-traffic { + description + "UDP Traffic statistics for IPv4"; + uses IP-UDP; + } + container ipv6-traffic { + description + "UDP Traffic statistics for IPv6"; + uses IP-UDP; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + container udp-connection { + config false; + description + "UDP connection operational data"; + container nodes { + description + "List of UDP connections nodes"; + list node { + key "node-name"; + description + "Information about a particular node"; + container statistics { + description + "Statistics of UDP connections"; + container clients { + description + "Table listing clients"; + list client { + key "client-id"; + description + "Describing Client ID"; + leaf client-id { + type uint32 { + range "0..4294967295"; + } + description + "Displaying client's aggregated statistics"; + } + uses TRANSP-CLIENT-STATS-BAG; + } + } + container summary { + description + "Summary statistics across all UDP connections"; + uses UDP-SH-STATS-BAG; + } + container pcb-statistics { + description + "Table listing the UDP connections for which + statistics are provided"; + list pcb-statistic { + key "pcb-address"; + description + "Satistics associated with a particular PCB"; + leaf pcb-address { + type xr:Cisco-ios-xr-string; + description + "Protocol Control Block address"; + } + uses UDP-SH-PCB-STATS-BAG; + } + } + } + container lpts { + description + "LPTS statistical data"; + container queries { + description + "List of query options"; + list query { + key "query-name"; + description + "Query option"; + container pcbs { + description + "List of PCBs"; + list pcb { + key "pcb-address"; + description + "A PCB information"; + leaf pcb-address { + type xr:Cisco-ios-xr-string; + description + "PCB address"; + } + uses SHOW-PCB-INFO; + } + } + leaf query-name { + type Lpts-pcb-query; + description + "Query option"; + } + } + } + } + container pcb-details { + description + "Detail information for list of UDP connections + ."; + list pcb-detail { + key "pcb-address"; + description + "Detail information about a UDP connection"; + leaf pcb-address { + type xr:Cisco-ios-xr-string; + description + "Protocol Control Block address"; + } + uses UDP-SH-TABLE-BAG; + } + } + container pcb-briefs { + description + "Brief information for list of UDP connections."; + list pcb-brief { + key "pcb-address"; + description + "Brief information about a UDP connection"; + leaf pcb-address { + type xr:Cisco-ios-xr-string; + description + "Protocol Control Block address"; + } + uses UDP-SH-BRIEF-BAG; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ace-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ace-cfg.yang new file mode 100644 index 000000000..3ca40a9a7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ace-cfg.yang @@ -0,0 +1,655 @@ +submodule Cisco-IOS-XR-ipv4-ace-cfg { + belongs-to Cisco-IOS-XR-ipv4-acl-cfg { + prefix ipv4-acl-cfg; + } + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv4-acl-datatypes { + prefix ipv4-acl-dt; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR IPv4 ACL entry configuration. + + Copyright (c) 2013, 2015-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "Added dscp bitmask field"; + semver:module-version "1.0.0"; + } + revision 2021-09-20 { + description + "Adding icmp-on per ace in the schema"; + } + revision 2021-07-28 { + description + "Added new police units"; + } + revision 2021-06-20 { + description + "Adding icmp-off in the schema"; + } + revision 2021-03-17 { + description + "Adding rsvp and vrrp keywords for protocols under access-list config CLI"; + } + revision 2020-12-04 { + description + "Fixing Remark Length"; + semver:module-version "1.0.0"; + } + revision 2020-11-23 { + description + "Changing the bag version"; + } + revision 2019-10-22 { + description + "Fixing ICMP TYPE CODE datatype from Enum to RangeEnum"; + } + revision 2019-05-16 { + description + "Add more keywords for protocols under access-list config CLI."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-05-08 { + description + "6.5.1 revision. + Remove the when statement for fragments"; + } + revision 2018-04-03 { + description + "6.5.1 revision. + Correct enum value for Next-hop-type"; + } + revision 2018-03-23 { + description + "6.5.1 revision. + Removing none-next-type."; + } + revision 2018-02-01 { + description + "Using YANG bit types for tcp flags."; + } + revision 2018-01-03 { + description + "6.4.1 revision. + Fixed a few typos in the description."; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2017-06-08 { + description + "6.3.1 revision. + This revision adds the following new leaf: + - fragment-type"; + } + revision 2017-05-11 { + description + "6.3.1 revision. + This revision adds the following new leaf: + - set-ttl"; + } + revision 2016-11-07 { + description + "6.2.1 revision. + This revision adds the following new leaves: + - protocol-operator + - protocol2"; + } + revision 2015-11-09 { + description + "Initial revision."; + } + + typedef Next-hop-type { + type enumeration { + enum "regular-next-hop" { + value 1; + description + "Regular next-hop."; + } + enum "default-next-hop" { + value 2; + description + "Default next-hop."; + } + } + description + "Next-hop type."; + } + + grouping IPV4-ACE { + description + "IPv4 ACL entry."; + leaf grant { + type ipv4-acl-dt:Ipv4-acl-grant-enum; + description + "Forwarding action for the packet. This is required + for any non-remark ACE. Leave unspecified otherwise."; + } + leaf protocol-operator { + type ipv4-acl-dt:Ipv4-acl-operator-enum; + description + "Protocol operator. User can specify equal or leave + it unspecified for singleton protocol match, or + specify range for protocol range match."; + } + leaf protocol { + type ipv4-acl-dt:Ipv4-acl-protocol-number; + description + "Protocol number to match. It can be used for the lower + bound (range operator) or single value (equal operator). + Any value not in the permissible range will be rejected. + When leave unspecified, default value is ipv4."; + reference "RFC 758 - ASSIGNED INTERNET PROTOCOL NUMBERS"; + } + leaf protocol2 { + type ipv4-acl-dt:Ipv4-acl-protocol-number; + description + "Protocol2 to match. It is used in upper bound (range + operator). Any value not in the permissible range will + be rejected."; + reference "RFC 758 - ASSIGNED INTERNET PROTOCOL NUMBERS"; + } + container source-network { + description + "Source network settings."; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source IPv4 address to match, leave unspecified + for any."; + } + leaf source-wild-card-bits { + type inet:ipv4-address-no-zone; + description + "Wildcard bits to apply to source address + (if specified), leave unspecified for no + wildcarding."; + } + leaf source-prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length to apply to source address + (if specified), leave unspecified for no + wildcarding."; + } + } + container destination-network { + description + "Destination network settings."; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination IPv4 address to match (if a protocol + was specified), leave unspecified for any."; + } + leaf destination-wild-card-bits { + type inet:ipv4-address-no-zone; + description + "Wildcard bits to apply to destination address + (if specified), leave unspecified for no + wildcarding."; + } + leaf destination-prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix length to apply to destination address + (if specified), leave unspecified for no + wildcarding."; + } + } + container source-port { + when "../protocol = '6' or ../protocol = 'tcp' or ../protocol = '17' or ../protocol = 'udp' or ../protocol = '132' or ../protocol = 'sctp'" { + description + "Applicable only to TCP, SCTP and UDP."; + } + description + "Source port settings."; + leaf source-operator { + type ipv4-acl-dt:Ipv4-acl-operator-enum; + description + "Source port comparison operator. This is a required + field if any source port value is given, otherwise, + config will be rejected. Leave unspecified + if no source port comparison is to be done."; + } + leaf first-source-port { + type ipv4-acl-dt:Ipv4-acl-port-number; + description + "Lower source port for comparison. It can be used + for the lower bound (range operator) or single value + (equal, less, greater..etc). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + leaf second-source-port { + type ipv4-acl-dt:Ipv4-acl-port-number; + description + "Upper source port for comparion. It is used + in the upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + } + container destination-port { + when "../protocol = '6' or ../protocol = 'tcp' or ../protocol = '17' or ../protocol = 'udp' or ../protocol = '132' or ../protocol = 'sctp'" { + description + "Applicable only to TCP, SCTP and UDP."; + } + description + "Destination port settings."; + leaf destination-operator { + type ipv4-acl-dt:Ipv4-acl-operator-enum; + description + "Destination port comparison operator. This is a + required field if any destination port value is + given, otherwise, config will be rejected. + Leave unspecified if no destination + port comparison is to be done."; + } + leaf first-destination-port { + type ipv4-acl-dt:Ipv4-acl-port-number; + description + "Lower destination port for comparison. It can be used + for the lower bound (range operator) or single value + (equal, less, greater..etc). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + leaf second-destination-port { + type ipv4-acl-dt:Ipv4-acl-port-number; + description + "Upper destination port for comparison. It is used + in the upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + } + container icmp { + when "../protocol = '1' or ../protocol = 'icmp'" { + description + "Applicable only to ICMP."; + } + description + "ICMP settings."; + leaf icmp-type-code { + type ipv4-acl-dt:Ipv4-acl-icmp-type-code-enum; + description + "Well known ICMP message code types to match, + leave unspecified if ICMP message code type + comparion is not to be performed."; + reference "RFC 792"; + } + } + container tcp { + when "../protocol = '6' or ../protocol = 'tcp'" { + description + "Applicable only to TCP."; + } + description + "TCP settings."; + leaf tcp-bits-match-operator { + type ipv4-acl-dt:Ipv4-acl-tcp-match-operator-enum; + description + "TCP Bits match operator. Leave unspecified if + flexible comparison of TCP bits is not + required."; + } + leaf tcp-bits { + type ipv4-acl-dt:Ipv4-acl-tcp-bits-number; + description + "TCP bits to match. + Leave unspecified if comparison of TCP bits is + not required."; + reference "RFC 793 Section 3.1 Control Bits"; + } + leaf tcp-bits-mask { + type ipv4-acl-dt:Ipv4-acl-tcp-bits-number; + description + "TCP bits mask to use for flexible TCP matching. + Leave unspecified if tcp-bits-match-operator is + unspecified."; + } + } + container packet-length { + description + "Packet length settings."; + leaf packet-length-operator { + type ipv4-acl-dt:Ipv4-acl-operator-enum; + description + "Packet length operator applicable if packet length + is to be compared. This is a required field if any + packet-length value is given, otherwise, config + will be rejected."; + } + leaf packet-length-min { + type ipv4-acl-dt:Ipv4-acl-plen-range; + description + "Mininum packet length value for comparison. It can be used + for the lower bound (range operator) or single value + (equal, less, greater..etc). Any value not in the permissible + range will be rejected. Leave unspecified otherwise."; + } + leaf packet-length-max { + type ipv4-acl-dt:Ipv4-acl-plen-range; + description + "Maximum packet length value for comparison. It is used + in the upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + } + } + container time-to-live { + description + "TTL settings."; + leaf time-to-live-operator { + type ipv4-acl-dt:Ipv4-acl-operator-enum; + description + "TTL operator is applicable if TTL is to be compared. + This is a required field if any TTL value is given, + otherwise, config will be rejected. Leave + unspecified if TTL classification is not required."; + } + leaf time-to-live-min { + type ipv4-acl-dt:Ipv4-acl-ttl-range; + description + "Mininum TTL value for comparison. It can be used for the + lower bound (range operator) or single value (equal, less, + greater..etc). Any value not in the permissible range will + be rejected. Leave unspecified otherwise."; + reference "RFC 791 Section 3.2 - Time to Live"; + } + leaf time-to-live-max { + type ipv4-acl-dt:Ipv4-acl-ttl-range; + description + "Maximum TTL value for comparison. It is used in the + upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 791 Section 3.2 - Time to Live"; + } + } + container fragment-offset { + description + "Fragment-offset settings."; + leaf fragment-offset-operator { + type ipv4-acl-dt:Ipv4-acl-operator-enum; + description + "Fragment-offset operator if fragment-offset is to be + compared. This is a required field if any fragment-offset + value is given, otherwise, config will be rejected. + Leave unspecified if fragment-offset classification + is not required."; + } + leaf fragment-offset-1 { + type ipv4-acl-dt:Ipv4-acl-frag-offset-range; + description + "Fragment-offset value for comparison. It can be used + for the lower bound (range operator) or single value + (equal, less, greater..etc). Any value not in the permissible + range will be rejected. Leave unspecified otherwise."; + reference "RFC 791 Section 2.3 - Fragmentation"; + } + leaf fragment-offset-2 { + type ipv4-acl-dt:Ipv4-acl-frag-offset-range; + description + "Second fragment-offset value for comparison. It is used + in the upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 791 Section 2.3 - Fragmentation"; + } + } + leaf fragment-type { + type ipv4-acl-dt:Ipv4-acl-frag-flags; + description + "Fragment flags, such as dont-fragment, is-fragment, + first-fragment and last-fragment."; + reference "RFC 791 Section 2.3 - Fragmentation"; + } + container next-hop { + description + "Next-hop settings."; + leaf next-hop-type { + type Next-hop-type; + description + "The nexthop type."; + } + container next-hop-1 { + description + "The first next-hop settings."; + leaf next-hop { + type inet:ipv4-address-no-zone; + description + "The IPv4 address of the next-hop."; + } + leaf vrf-name { + type string { + length "1..32"; + } + description + "The VRF name of the next-hop."; + } + leaf track-name { + type string { + length "1..32"; + } + description + "The object tracking name for the next-hop."; + } + } + container next-hop-2 { + description + "The second next-hop settings."; + leaf next-hop { + type inet:ipv4-address-no-zone; + description + "The IPv4 address of the next-hop."; + } + leaf vrf-name { + type string { + length "1..32"; + } + description + "The VRF name of the next-hop."; + } + leaf track-name { + type string { + length "1..32"; + } + description + "The object tracking name for the next-hop."; + } + } + container next-hop-3 { + description + "The third next-hop settings."; + leaf next-hop { + type inet:ipv4-address-no-zone; + description + "The IPv4 address of the next-hop."; + } + leaf vrf-name { + type string { + length "1..32"; + } + description + "The VRF name of the next-hop."; + } + leaf track-name { + type string { + length "1..32"; + } + description + "The object tracking name for the next-hop."; + } + } + } + leaf counter-name { + type string { + length "1..64"; + } + description + "Name of counter to aggregate hardware statistics."; + } + leaf igmp-message-type { + when "../protocol = '2' or ../protocol = 'igmp'" { + description + "Applicable only to IGMP."; + } + type ipv4-acl-dt:Ipv4-acl-igmp-number; + description + "IGMP message type to match. Leave unspecified if + no message type comparison is to be done."; + reference "RFC 3376"; + } + container dscp { + description + "DSCP settings."; + leaf dscp-operator { + type ipv4-acl-dt:Ipv4-acl-operator-enum; + description + "DSCP operator is applicable only when DSCP + range is configured. Leave unspecified if + DSCP range is not required."; + } + leaf dscp-min { + type ipv4-acl-dt:Ipv4-acl-dscp-number; + description + "Mininum DSCP value for comparison. It can be used for the + lower bound (range operator) or single value (equal, less, + greater..etc). Any value not in the permissible range will + be rejected. Leave unspecified otherwise."; + reference "RFC 2474"; + } + leaf dscp-max { + type ipv4-acl-dt:Ipv4-acl-dscp-number; + description + "Maximum DSCP value for comparison. It is used in the + upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 2474"; + } + } + leaf precedence { + type ipv4-acl-dt:Ipv4-acl-precedence-number; + description + "Precedence value to match (if a protocol was specified). + Any value not in the permissible range will be rejected. + Leave unspecified if precedence comparion is not to be + performed."; + reference "RFC 791 Section 3.1 - Precedence"; + } + leaf log-option { + type ipv4-acl-dt:Ipv4-acl-logging-enum; + description + "Log the packet on this access-list-entry/rule."; + } + leaf capture { + type boolean; + description + "Enable capture if set to TRUE."; + } + leaf icmp-off { + type empty; + description + "To turn off ICMP generation for deny ACEs."; + } + leaf qos-group { + type ipv4-acl-dt:Ipv4-acl-qos-group-number; + description + "Set qos-group number. Any value not in the permissible range + will be rejected."; + } + leaf set-ttl { + type ipv4-acl-dt:Ipv4-acl-ttl-range; + description + "Set TTL Value. Any value not in the permissible range + will be rejected."; + } + leaf fragments { + type empty; + description + "Check non-initial fragments. Item is mutually + exclusive with TCP, SCTP, UDP, IGMP and ICMP + comparions and with logging."; + reference "RFC 791 Section 2.3 - Fragmentation"; + } + leaf remark { + type string { + length "0..255"; + } + description + "Description for the access-list-entry/rule."; + } + leaf source-prefix-group { + type string { + length "1..64"; + } + description + "IPv4 source network object group name."; + } + leaf destination-prefix-group { + type string { + length "1..64"; + } + description + "IPv4 destination network object group name."; + } + leaf source-port-group { + type string { + length "1..64"; + } + description + "Source port object group name."; + } + leaf destination-port-group { + type string { + length "1..64"; + } + description + "Destination port object group name."; + } + leaf sequence-str { + type string { + length "1..64"; + } + description + "Sequence String for the ace."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-cfg.yang new file mode 100644 index 000000000..dbe4b0d49 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-cfg.yang @@ -0,0 +1,260 @@ +module Cisco-IOS-XR-ipv4-acl-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-cfg"; + prefix ipv4-acl-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv4-acl-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-ipv4-ace-cfg { + revision-date 2022-07-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-acl package configuration. + + This module contains definitions + for the following management objects: + ipv4-acl-and-prefix-list: IPv4 ACL configuration data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "7.5.4 revision. Added dscp-bitmask feature + 2021-09-20 + 7.6.1 revision. Adding icmp-on for ace in the schema + 2021-07-28 + 7.5.1 revision. Adding additional units for policer"; + semver:module-version "2.1.0"; + } + revision 2021-06-20 { + description + "7.5.1 revision. Adding icmp-off in the schema + 2021-03-17 + 7.3.15 revision. Adding vrrp and rsvp keywords for protocol under access-list config CLI."; + semver:module-version "2.1.0"; + } + revision 2020-12-04 { + description + "7.4.1 revision. Fixing Remark Length + 2020-11-23 + 7.3.2 revision. Changing the bag version"; + semver:module-version "2.0.0"; + } + revision 2019-10-22 { + description + "7.0.1 revision. Fixing ICMP TYPE CODE datatype from Enum to RangeEnum"; + semver:module-version "1.1.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-05-08 { + description + "6.5.1 revision. Remove the when statement for fragments."; + } + revision 2018-04-03 { + description + "6.5.1 revision. Correct enum value for Next-hop-type."; + } + revision 2018-03-23 { + description + "6.5.1 revision. Removing none-next-type."; + } + revision 2018-02-01 { + description + "Using YANG bit types for tcp flags."; + } + revision 2018-01-03 { + description + "6.4.1 revision. Fixed a few typos in the description."; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv4-acl-and-prefix-list { + description + "IPv4 ACL configuration data"; + container accesses { + description + "Table of access lists. Entries in this table + and the AccessListExistenceTable table must be + kept consistent"; + list access { + key "access-list-name"; + description + "An ACL"; + container access-list-entries { + description + "ACL entry table; contains list of ACEs"; + list access-list-entry { + key "sequence-number"; + description + "An ACL entry; either a description (remark) + or an ACE to match against"; + leaf sequence-number { + type dt1:Ipv4-acl-sequence-number-range-acl; + description + "Sequence number for this entry"; + } + uses IPV4-ACE; + } + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access list name - 64 characters max"; + } + } + } + container prefixes { + description + "Table of ACL prefix lists. Entries in this + table and the PrefixListExistenceTable table + must be kept consistent"; + list prefix { + key "prefix-list-name"; + description + "Name of a prefix list"; + container prefix-list-entries { + description + "Sequence of entries forming a prefix list"; + list prefix-list-entry { + key "sequence-number"; + description + "A prefix list entry; either a description + (remark) or a prefix to match against"; + leaf sequence-number { + type dt1:Ipv4-acl-sequence-number-range; + description + "Sequence number of prefix list"; + } + leaf grant { + type dt1:Ipv4-acl-grant-enum; + description + "Whether to forward or drop packets matching + the prefix list"; + } + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 address prefix to match"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "Mask of IPv4 address prefix"; + } + leaf match-exact-length { + type empty; + description + "Set to perform an exact prefix length match. + Item is mutually exclusive with minimum and + maximum length match items"; + } + leaf exact-prefix-length { + type dt1:Ipv4-acl-prefix-length-range; + description + "If exact prefix length matching specified, + set the length of prefix to be matched"; + } + leaf match-max-length { + type empty; + description + "Set to perform a maximum length prefix match + . Item is mutually exclusive with exact + length match item"; + } + leaf max-prefix-length { + type dt1:Ipv4-acl-prefix-length-range; + description + "If maximum length prefix matching specified, + set the maximum length of prefix to be + matched"; + } + leaf match-min-length { + type empty; + description + "Set to perform a minimum length prefix match + . Item is mutually exclusive with exact + length match item"; + } + leaf min-prefix-length { + type dt1:Ipv4-acl-prefix-length-range; + description + "If minimum length prefix matching specified, + set the minimum length of prefix to be + matched"; + } + leaf remark { + type string { + length "1..256"; + } + description + "Comments or a description for the prefix + list. Item is mutually exclusive with all + others in the object"; + } + } + } + leaf prefix-list-name { + type string; + description + "Prefix list name - max 32 characters"; + } + } + } + container log-update { + description + "Control access lists log updates"; + leaf threshold { + type dt1:Ipv4-acl-log-threshold-range; + description + "Log update threshold (number of hits)"; + } + leaf rate { + type dt1:Ipv4-acl-log-rate-range; + description + "Log update rate (log msgs per second)"; + } + } + leaf icmp-off { + type empty; + description + "This is set to disable the icmpoff messages"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-datatypes.yang new file mode 100644 index 000000000..7209aad12 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-datatypes.yang @@ -0,0 +1,1207 @@ +module Cisco-IOS-XR-ipv4-acl-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-datatypes"; + prefix ipv4-acl-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-20 { + description + "7.6.1 revision. Adding icmp-on for ace in the schema + 2021-07-28 + 7.5.1 revision. Adding additional units for policer"; + semver:module-version "2.1.0"; + } + revision 2021-06-20 { + description + "Adding icmp-off in the schema + 2021-03-17 + 7.3.15 revision. Adding vrrp and rsvp keywords for protocol under access-list config CLI."; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2018-02-01 { + description + "Using YANG bit types for tcp flags."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv4-acl-prefix-match-range { + type uint32 { + range "0..32"; + } + description + "Ipv4 acl prefix match range"; + } + + typedef Ipv4-acl-protocol-number { + type union { + type enumeration { + enum "ip" { + value 0; + description + "Any IP protocol"; + } + enum "icmp" { + value 1; + description + "Internet Control Message Protocol"; + } + enum "igmp" { + value 2; + description + "Internet Gateway Message Protocol"; + } + enum "ip-in-ip" { + value 4; + description + "IP in IP tunneling"; + } + enum "tcp" { + value 6; + description + "Transport Control Protocol"; + } + enum "igrp" { + value 9; + description + "Cisco's IGRP Routing Protocol"; + } + enum "udp" { + value 17; + description + "User Datagram Protocol"; + } + enum "rsvp" { + value 46; + description + "Resource Reservation Protocol"; + } + enum "gre" { + value 47; + description + "Cisco's GRE tunneling"; + } + enum "esp" { + value 50; + description + "Encapsulation Security Protocol"; + } + enum "ahp" { + value 51; + description + "Authentication Header Protocol"; + } + enum "eigrp" { + value 88; + description + "Cisco's EIGRP Routing Protocol"; + } + enum "ospf" { + value 89; + description + "OSPF Routing Protocol"; + } + enum "nos" { + value 94; + description + "KA9Q NOS Compatible IP over IP tunneling"; + } + enum "pim" { + value 103; + description + "Protocol Independent Multicast"; + } + enum "pcp" { + value 108; + description + "Payload Compression Protocol"; + } + enum "vrrp" { + value 112; + description + "Virtual Router Redundancy Protocol"; + } + enum "sctp" { + value 132; + description + "Stream Control Transmission Protocol"; + } + } + type uint32 { + range "0..255"; + } + } + description + "Ipv4 acl protocol number"; + } + + typedef Ipv4-acl-frag-offset-range { + type uint32 { + range "0..8191"; + } + description + "Ipv4 acl frag offset range"; + } + + typedef Ipv4-acl-prefix-length-range { + type uint32 { + range "0..32"; + } + description + "Ipv4 acl prefix length range"; + } + + typedef Ipv4-acl-tcp-match-operator-enum { + type enumeration { + enum "match-all" { + value 1; + description + "Match only packet with all the given TCP bits"; + } + enum "match-any" { + value 3; + description + "Match only packet with any of the given TCP + bits"; + } + } + description + "Ipv4 acl tcp match operator enum"; + } + + typedef Ipv4-acl-grant-enum { + type enumeration { + enum "deny" { + value 0; + description + "Deny"; + } + enum "permit" { + value 1; + description + "Permit"; + } + } + description + "Ipv4 acl grant enum"; + } + + typedef Ipv4-acl-operator-enum { + type enumeration { + enum "equal" { + value 1; + description + "Match only packets on a given port number"; + } + enum "greater-than" { + value 2; + description + "Match only packet with a greater port number"; + } + enum "less-than" { + value 3; + description + "Match only packet with a lower port number"; + } + enum "not-equal" { + value 4; + description + "Match only packets not on a given port number"; + } + enum "range" { + value 5; + description + "Match only packets in the range of port numbers"; + } + } + description + "Ipv4 acl operator enum"; + } + + typedef Ipv4-acl-precedence-number { + type union { + type enumeration { + enum "critical" { + value 5; + description + "Match packets with critical precedence"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control + precedence"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence"; + } + enum "routine" { + value 0; + description + "Match packets with routine precedence"; + } + } + type uint32 { + range "0..7"; + } + } + description + "Ipv4 acl precedence number"; + } + + typedef Ipv4-acl-plen-range { + type uint32 { + range "0..65535"; + } + description + "Ipv4 acl plen range"; + } + + typedef Ipv4-acl-ttl-range { + type uint32 { + range "0..255"; + } + description + "Ipv4 acl ttl range"; + } + + typedef Ipv4-acl-port-number { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Match on the 'echo' port number"; + } + enum "discard" { + value 9; + description + "Match on the 'discard' port number"; + } + enum "daytime" { + value 13; + description + "Match on the 'daytime' port number (TCP/SCTP + only)"; + } + enum "char-gen" { + value 19; + description + "Match on the 'chargen' port number (TCP/SCTP + only)"; + } + enum "ftp-data" { + value 20; + description + "Match on the FTP data connections port number + (TCP/SCTP only)"; + } + enum "ftp" { + value 21; + description + "Match on the 'ftp' port number (TCP/SCTP only)"; + } + enum "telnet" { + value 23; + description + "Match on the 'telnet' port number (TCP/SCTP + only)"; + } + enum "smtp" { + value 25; + description + "Match on the 'smtp' port number (TCP/SCTP + only)"; + } + enum "time" { + value 37; + description + "Match on the 'time' port number"; + } + enum "name-server" { + value 42; + description + "Match on the IEN116 name service port number + (UDP only)"; + } + enum "who-is" { + value 43; + description + "Match on the 'nicname' port number (TCP/SCTP + only)"; + } + enum "tacacs" { + value 49; + description + "Match on the 'tacacs' port number"; + } + enum "dns" { + value 53; + description + "Match on the 'dns' port number"; + } + enum "boot-ps" { + value 67; + description + "Match on the Bootstrap Protocol server port + number (UDP only)"; + } + enum "boot-pc" { + value 68; + description + "Match on the Bootstrap Protocol client port + number (UDP only)"; + } + enum "tftp" { + value 69; + description + "Match on the 'tftp' port number (UDP only)"; + } + enum "gopher" { + value 70; + description + "Match on the 'gopher' port number (TCP/SCTP + only)"; + } + enum "finger" { + value 79; + description + "Match on the 'finger' port number (TCP/SCTP + only)"; + } + enum "www" { + value 80; + description + "Match on the 'http' port number (TCP/SCTP + only)"; + } + enum "host-name" { + value 101; + description + "Match on the NIC hostname server port number + (TCP/SCTP only)"; + } + enum "pop2" { + value 109; + description + "Match on the 'pop2' port number (TCP/SCTP + only)"; + } + enum "pop3" { + value 110; + description + "Match on the 'pop3' port number (TCP/SCTP + only)"; + } + enum "sun-rpc" { + value 111; + description + "Match on the Sun RPC port number"; + } + enum "ident" { + value 113; + description + "Match on the 'ident' port number (TCP/SCTP + only)"; + } + enum "nntp" { + value 119; + description + "Match on the 'nntp' port number (TCP/SCTP + only)"; + } + enum "ntp" { + value 123; + description + "Match on the 'ntp' port number (UDP only)"; + } + enum "net-bios-ns" { + value 137; + description + "Match on the NetBIOS name service port number + (UDP only)"; + } + enum "net-bios-dgs" { + value 138; + description + "Match on the NetBIOS datagram service port + number (UDP only)"; + } + enum "net-bios-ss" { + value 139; + description + "Match on the NetBIOS session service port + number (UDP only)"; + } + enum "snmp" { + value 161; + description + "Match on the 'snmp' port number (UDP only)"; + } + enum "snmp-trap" { + value 162; + description + "Match on the SNMP traps port number (UDP only)"; + } + enum "xdmcp" { + value 177; + description + "Match on the 'xdmcp' port number (UDP only)"; + } + enum "bgp" { + value 179; + description + "Match on the 'bgp' port number (TCP/SCTP only)"; + } + enum "irc" { + value 194; + description + "Match on the 'irc' port number (TCP/SCTP only)"; + } + enum "dnsix" { + value 195; + description + "Match on the DNSIX security protocol auditing + port number (UDP only)"; + } + enum "mobile-ip" { + value 434; + description + "Match on the mobile IP registration port + number (UDP only)"; + } + enum "pim-auto-rp" { + value 496; + description + "Match on the PIM Auto-RP port number"; + } + enum "isakmp" { + value 500; + description + "Match on the 'isakmp' port number (UDP only)"; + } + enum "exec-or-biff" { + value 512; + description + "Match on the port used by TCP/SCTP for 'exec' + and by UDP for 'biff'"; + } + enum "login-or-who" { + value 513; + description + "Match on the port used by TCP/SCTP for 'login' + and by UDP for 'rwho'"; + } + enum "cmd-or-syslog" { + value 514; + description + "Match on the port used by TCP/SCTP for 'rcmd' + and by UDP for 'syslog'"; + } + enum "lpd" { + value 515; + description + "Match on the 'lpd' port number (TCP/SCTP only)"; + } + enum "talk" { + value 517; + description + "Match on the 'talk' port number"; + } + enum "rip" { + value 520; + description + "Match on the 'rip' port number (UDP only)"; + } + enum "uucp" { + value 540; + description + "Match on the 'uucp' port number (TCP/SCTP + only)"; + } + enum "klogin" { + value 543; + description + "Match on the Kerberos login port number + (TCP/SCTP only)"; + } + enum "kshell" { + value 544; + description + "Match on the Kerberos shell port number + (TCP/SCTP only)"; + } + enum "ldp" { + value 646; + description + "Match on the LDP port"; + } + enum "https" { + value 443; + description + "Match on the HTTPS port"; + } + enum "bfd" { + value 3784; + description + "Match on the BFD port"; + } + enum "radius" { + value 1812; + description + "Match on the RADIUS AUTHENTICATION port"; + } + enum "radius-acct" { + value 1813; + description + "Match on the RADIUS ACCOUNTING port"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "Ipv4 acl port number"; + } + + typedef Ipv4-acl-log-rate-range { + type uint32 { + range "1..1000"; + } + description + "Ipv4 acl log rate range"; + } + + typedef Ipv4-acl-igmp-number { + type union { + type enumeration { + enum "host-query" { + value 17; + description + "Host query"; + } + enum "host-report" { + value 18; + description + "Host report"; + } + enum "dvmrp" { + value 19; + description + "Distance Vector Multicast Routing Protocol"; + } + enum "pim" { + value 20; + description + "Portocol Independent Multicast"; + } + enum "trace" { + value 21; + description + "Multicast Trace"; + } + enum "v2-report" { + value 22; + description + "Version 2 report"; + } + enum "v2-leave" { + value 23; + description + "Version 2 leave"; + } + enum "mtrace-response" { + value 30; + description + "MTrace response"; + } + enum "mtrace" { + value 31; + description + "MTrace"; + } + enum "v3-report" { + value 34; + description + "Version 3 report"; + } + } + type uint32 { + range "0..255"; + } + } + description + "Ipv4 acl igmp number"; + } + + typedef Ipv4-acl-dscp-number { + type union { + type enumeration { + enum "default" { + value 0; + description + "Default DSCP"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 DSCP"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 DSCP"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 DSCP"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 DSCP"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 DSCP"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 DSCP"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 DSCP"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 DSCP"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 DSCP"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 DSCP"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 DSCP"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 DSCP"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1 (precedence 1) DSCP"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2 (precedence 2) DSCP"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3 (precedence 3) DSCP"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4 (precedence 4) DSCP"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5 (precedence 5) DSCP"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6 (precedence 6) DSCP"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7 (precedence 7) DSCP"; + } + enum "ef" { + value 46; + description + "Match packets with EF DSCP"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Ipv4 acl dscp number"; + } + + typedef Ipv4-acl-status-enum { + type enumeration { + enum "disabled" { + value 0; + description + "Disabled"; + } + enum "enabled" { + value 1; + description + "Enabled"; + } + } + description + "Ipv4 acl status enum"; + } + + typedef Ipv4-acl-icmp-code-range { + type uint32 { + range "0..255"; + } + description + "Ipv4 acl icmp code range"; + } + + typedef Ipv4-acl-qos-group-number { + type uint32 { + range "0..512"; + } + description + "Ipv4 acl qos group number"; + } + + typedef Ipv4-acl-sequence-number-range-acl { + type uint32 { + range "1..2147483643"; + } + description + "Ipv4 acl sequence number range acl"; + } + + typedef Ipv4-acl-log-threshold-range { + type uint32 { + range "1..2147483647"; + } + description + "Ipv4 acl log threshold range"; + } + + typedef Ipv4-acl-icmp-type-code-enum { + type union { + type enumeration { + enum "mobile-redirect" { + value 2162687; + description + "Mobile host redirect"; + } + enum "conversion-error" { + value 2097151; + description + "Datagram conversion"; + } + enum "traceroute" { + value 2031615; + description + "Traceroute"; + } + enum "mask-reply" { + value 1245183; + description + "Mask replies"; + } + enum "mask-request" { + value 1179647; + description + "Mask requests"; + } + enum "information-reply" { + value 1114111; + description + "Information replies"; + } + enum "information-request" { + value 1048575; + description + "Information request"; + } + enum "timestamp-reply" { + value 983039; + description + "Timestamp replies"; + } + enum "timestamp-request" { + value 917503; + description + "Timestamp requests"; + } + enum "parameter-problem" { + value 851967; + description + "All parameter problems"; + } + enum "time-exceeded" { + value 786431; + description + "All time exceeds"; + } + enum "router-solicitation" { + value 720895; + description + "Router discovery solicitations"; + } + enum "router-advertisement" { + value 655359; + description + "Router discovery advertisements"; + } + enum "alternate-address" { + value 458751; + description + "Alternate address"; + } + enum "echo" { + value 589823; + description + "Echo (ping)"; + } + enum "redirect" { + value 393215; + description + "All redirects"; + } + enum "source-quench" { + value 327679; + description + "Source quenches"; + } + enum "unreachable" { + value 262143; + description + "All unreachables"; + } + enum "echo-reply" { + value 65535; + description + "Echo reply"; + } + enum "network-unreachable" { + value 196608; + description + "Network unreachable"; + } + enum "host-unreachable" { + value 196609; + description + "Host unreachable"; + } + enum "protocol-unreachable" { + value 196610; + description + "Protocol unreachable"; + } + enum "port-unreachable" { + value 196611; + description + "Port unreachable"; + } + enum "packet-too-big" { + value 196612; + description + "Fragmentation needed and DF set"; + } + enum "source-route-failed" { + value 196613; + description + "Source route failed"; + } + enum "network-unknown" { + value 196614; + description + "Network unknown"; + } + enum "host-unknown" { + value 196615; + description + "Host unknown"; + } + enum "host-isolated" { + value 196616; + description + "Host isolated"; + } + enum "dod-net-prohibited" { + value 196617; + description + "Network prohibited"; + } + enum "dod-host-prohibited" { + value 196618; + description + "Host prohibited"; + } + enum "net-tos-unreachable" { + value 196620; + description + "Network unreachable for TOS"; + } + enum "host-tos-unreachable" { + value 196619; + description + "Host unreachable for TOS"; + } + enum "administratively-prohibited" { + value 196621; + description + "Administratively prohibited"; + } + enum "host-precedence-unreachable" { + value 196622; + description + "Host unreachable for precedence"; + } + enum "precedence-unreachable" { + value 196623; + description + "Precedence cutoff"; + } + enum "network-redirect" { + value 327680; + description + "Network redirect"; + } + enum "host-redirect" { + value 327681; + description + "Host redirect"; + } + enum "net-tos-redirect" { + value 327682; + description + "Network redirect for TOS"; + } + enum "host-tos-redirect" { + value 327683; + description + "Host redirect for TOS"; + } + enum "ttl-exceeded" { + value 720896; + description + "TTL exceeded"; + } + enum "reassembly-timeout" { + value 720897; + description + "Reassembly timeout"; + } + enum "general-parameter-problem" { + value 786432; + description + "Parameter problem"; + } + enum "option-missing" { + value 786433; + description + "Parameter required but not present"; + } + enum "no-room-for-option" { + value 786434; + description + "Parameter required but no room"; + } + } + type uint32 { + range "0..2147483646"; + } + } + description + "Ipv4 acl icmp type code enum"; + } + + typedef Ipv4-acl-sequence-number-range { + type uint32 { + range "1..2147483646"; + } + description + "Ipv4 acl sequence number range"; + } + + typedef Ipv4-acl-frag-flags { + type union { + type enumeration { + enum "dont-fragment" { + value 1; + description + "Match don't fragment flag"; + } + enum "is-fragment" { + value 2; + description + "Match is fragment flag"; + } + enum "first-fragment" { + value 4; + description + "Match first fragment flag"; + } + enum "last-fragment" { + value 8; + description + "Match last fragment flag"; + } + enum "dont-fragment-is-fragment" { + value 3; + description + "Match don't fragment and is fragment flag"; + } + enum "dont-fragment-first-fragment" { + value 5; + description + "Match don't fragment and first fragment flag"; + } + enum "dont-fragment-last-fragment" { + value 9; + description + "Match don't fragment and last fragment flag"; + } + } + type uint32 { + range "1..9"; + } + } + description + "Ipv4 acl frag flags"; + } + + typedef Ipv4-acl-tcp-bits-number { + type bits { + bit fin { + position 0; + description + "Match on the FIN bit (0x01)"; + } + bit syn { + position 1; + description + "Match on the SYN bit (0x02)"; + } + bit rst { + position 2; + description + "Match on the RST bit (0x04)"; + } + bit psh { + position 3; + description + "Match on the PSH bit (0x08)"; + } + bit ack { + position 4; + description + "Match on the ACK bit (0x10)"; + } + bit urg { + position 5; + description + "Match on the URG bit (0x20)"; + } + } + description + "Ipv4 acl tcp bits number"; + } + + typedef Ipv4-acl-icmp-type-range { + type uint32 { + range "0..255"; + } + description + "Ipv4 acl icmp type range"; + } + + typedef Ipv4-acl-logging-enum { + type enumeration { + enum "log" { + value 1; + description + "Log matches against this entry"; + } + enum "log-input" { + value 2; + description + "Log matches against this entry, including input + interface"; + } + } + description + "Ipv4 acl logging enum"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper-sub1.yang new file mode 100644 index 000000000..be640e346 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper-sub1.yang @@ -0,0 +1,941 @@ +submodule Cisco-IOS-XR-ipv4-acl-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-acl-oper { + prefix Cisco-IOS-XR-ipv4-acl-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-acl package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "7.5.4 revision. Added dscp-bitmask feature + 2021-11-23 + Added icmp-on feature"; + semver:module-version "1.3.0"; + } + revision 2021-03-05 { + description + "Adding a new policer stats field.CSCvx54997"; + semver:module-version "1.2.0"; + } + revision 2020-11-13 { + description + "Adding policer and priority."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-12 { + description + "Fixing CSCvn61905."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Acl-priority { + type enumeration { + enum "low" { + value 0; + description + "low"; + } + enum "medium" { + value 1; + description + "medium"; + } + enum "high" { + value 2; + description + "high"; + } + enum "critical" { + value 3; + description + "critical"; + } + enum "invalid" { + value 4; + description + "invalid"; + } + enum "acl-priority-unspec" { + value 255; + description + "unspec"; + } + } + description + "Acl priority"; + } + + typedef Bag-acl-rate-unit { + type enumeration { + enum "pps" { + description + "pps"; + } + enum "bps" { + description + "bps"; + } + enum "kbps" { + description + "kbps"; + } + enum "mbps" { + description + "mbps"; + } + enum "gbps" { + description + "gbps"; + } + enum "unit-max" { + description + "unit max"; + } + } + description + "Bag acl rate unit"; + } + + typedef Acl-frag-offset-operator { + type Acl-port-operator; + description + "Acl frag offset operator"; + } + + typedef Bag-acl-nh-at-status { + type enumeration { + enum "unknown" { + description + "AT State Unknown"; + } + enum "up" { + description + "AT State UP"; + } + enum "down" { + description + "AT State DOWN"; + } + enum "not-present" { + description + "AT State Not Present"; + } + enum "max" { + description + "invalid status"; + } + } + description + "Bag acl nh at status"; + } + + typedef Bag-acl-nh-status { + type enumeration { + enum "not-present" { + description + "State Not Present"; + } + enum "unknown" { + description + "State Unknown"; + } + enum "down" { + description + "State DOWN"; + } + enum "up" { + description + "State UP"; + } + enum "max" { + description + "invalid status"; + } + } + description + "Bag acl nh status"; + } + + typedef Bag-acl-nh { + type enumeration { + enum "nexthop-none" { + description + "Next Hop None"; + } + enum "nexthop-default" { + description + "Nexthop Default"; + } + enum "nexthop" { + description + "Nexthop"; + } + } + description + "Bag acl nh"; + } + + typedef Acl-ttl-operator { + type Acl-port-operator; + description + "Acl ttl operator"; + } + + typedef Acl-plen-operator { + type Acl-port-operator; + description + "Acl plen operator"; + } + + typedef Acl-tcpflags-operator { + type enumeration { + enum "match-none" { + description + "Match None"; + } + enum "match-all" { + description + "Match All"; + } + enum "match-any-old" { + description + "Match any old"; + } + enum "match-any" { + description + "Match any"; + } + } + description + "Acl tcpflags operator"; + } + + typedef Acl-log { + type enumeration { + enum "log-none" { + value 0; + description + "Log None"; + } + enum "log" { + value 1; + description + "Log Regular"; + } + enum "log-input" { + value 2; + description + "Log Input"; + } + } + description + "Acl log"; + } + + typedef Acl-port-operator { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "eq" { + value 1; + description + "Equal"; + } + enum "gt" { + value 2; + description + "Greater than"; + } + enum "lt" { + value 3; + description + "Less than"; + } + enum "neq" { + value 4; + description + "Not Equal"; + } + enum "range" { + value 5; + description + "Range"; + } + enum "onebyte" { + value 8; + description + "One Byte"; + } + enum "twobytes" { + value 9; + description + "Two Bytes"; + } + } + description + "Acl port operator"; + } + + typedef Acl-action { + type enumeration { + enum "deny" { + value 0; + description + "Deny"; + } + enum "permit" { + value 1; + description + "Permit"; + } + enum "encrypt" { + value 2; + description + "Encrypt"; + } + enum "bypass" { + value 3; + description + "Bypass"; + } + enum "fallthrough" { + value 4; + description + "Fallthrough"; + } + enum "invalid" { + value 5; + description + "Invalid"; + } + } + description + "Acl action"; + } + + typedef Acl-ace1 { + type enumeration { + enum "normal" { + description + "This is Normal ACE"; + } + enum "remark" { + description + "This is Remark ACE"; + } + enum "abf" { + description + "This is ABF ACE"; + } + } + description + "ACE Types"; + } + + typedef Acl-ace { + type Acl-ace1; + description + "ACE Types"; + } + + grouping IPV4-ACL-EDM-OOR-DETAIL { + description + "Oor deatil config BAG"; + leaf default-max-ac-ls { + type uint32; + description + "default max configurable acls"; + } + leaf default-max-ac-es { + type uint32; + description + "default max configurable aces"; + } + leaf current-configured-ac-ls { + type uint32; + description + "Current configured acls"; + } + leaf current-configured-ac-es { + type uint32; + description + "Current configured aces"; + } + leaf current-max-configurable-ac-ls { + type uint32; + description + "Current max configurable acls"; + } + leaf current-max-configurable-ac-es { + type uint32; + description + "Current max configurable aces"; + } + leaf max-configurable-ac-ls { + type uint32; + description + "max configurable acls"; + } + leaf max-configurable-ac-es { + type uint32; + description + "max configurable aces"; + } + } + + grouping IPV4-ACL-BAG-OBJGRP-INFO { + description + "Objgrp info structure"; + leaf obj-grp-name { + type string { + length "0..64"; + } + description + "Object-group name"; + } + leaf obj-grp-type { + type uint32; + description + "Object-group Type"; + } + } + + grouping IPV4-ACL-EDM-OBJGRP { + description + "Objgrp BAG"; + list obj-grp-info { + description + "Object-group info"; + uses IPV4-ACL-BAG-OBJGRP-INFO; + } + } + + grouping ACL-POLICE-ACE { + description + "ACL POLICE ACE"; + leaf police-value { + type uint32; + description + "Police value"; + } + leaf police-unit { + type Bag-acl-rate-unit; + description + "Police unit"; + } + leaf police-peak-value { + type uint32; + description + "Police peak value"; + } + leaf police-peak-unit { + type Bag-acl-rate-unit; + description + "Police peak unit"; + } + } + + grouping ACL-UDF-ACE { + description + "ACL UDF ACE"; + leaf udf-name { + type string { + length "0..17"; + } + description + "UDF Name"; + } + leaf udf-value { + type uint32; + description + "UDF Value"; + } + leaf udf-mask { + type uint32; + description + "UDF Mask"; + } + } + + grouping IPV4-ACL-BAG-HW-NH-INFO { + description + "HW_NH_Info structure"; + leaf next-hop { + type uint32; + description + "The Next Hop"; + } + leaf type { + type Bag-acl-nh; + description + "the next-hop type"; + } + leaf vrf-name { + type string { + length "0..32"; + } + description + "VRF name"; + } + } + + grouping IPV4-ACL-BAG-NH-INFO { + description + "NH_Info structure"; + leaf next-hop { + type inet:ipv4-address; + description + "The next hop"; + } + leaf track-name { + type string; + description + "Track name"; + } + leaf status { + type Bag-acl-nh-status; + description + "The next hop status"; + } + leaf at-status { + type Bag-acl-nh-at-status; + description + "The next hop at status"; + } + leaf is-acl-next-hop-exist { + type boolean; + description + "The nexthop exist"; + } + } + + grouping IPV4-ACL-EDM-ACE { + description + "ACLE bag"; + container hw-next-hop-info { + description + "HW Next hop info"; + uses IPV4-ACL-BAG-HW-NH-INFO; + } + container police { + description + "Police"; + uses ACL-POLICE-ACE; + } + leaf item-type { + type Acl-ace; + description + "ACE type (acl, remark)"; + } + leaf sequence { + type uint32; + description + "ACLE sequence number"; + } + leaf grant { + type Acl-action; + description + "Permit/deny"; + } + leaf protocol-operator { + type uint16; + description + "IPv4 protocol operator"; + } + leaf protocol { + type uint16; + description + "IPv4 protocol type"; + } + leaf protocol2 { + type uint16; + description + "IPv4 protocol 2"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source address"; + } + leaf source-address-mask { + type inet:ipv4-address; + description + "Source mask"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf destination-address-mask { + type inet:ipv4-address; + description + "Destination mask"; + } + leaf source-operator { + type Acl-port-operator; + description + "Source operator"; + } + leaf source-port1 { + type uint16; + description + "Source port 1"; + } + leaf source-port2 { + type uint16; + description + "Source port 2"; + } + leaf sorce-operator { + type Acl-port-operator; + description + "Deprecated by Source operator"; + } + leaf sorce-port1 { + type uint16; + description + "Deprecated by SourcePort1"; + } + leaf sorce-port2 { + type uint16; + description + "Deprecated by SourcePort2"; + } + leaf destination-operator { + type Acl-port-operator; + description + "Destination operator"; + } + leaf destination-port1 { + type uint16; + description + "Destination port 1"; + } + leaf destination-port2 { + type uint16; + description + "Destination port 2"; + } + leaf log-option { + type Acl-log; + description + "Log option"; + } + leaf counter-name { + type string; + description + "Counter name"; + } + leaf capture { + type boolean; + description + "Capture option, TRUE if enabled"; + } + leaf dscp-present { + type boolean; + description + "DSCP present"; + } + leaf dscp { + type uint8; + description + "DSCP or DSCP range start"; + } + leaf dscp2 { + type uint8; + description + "DSCP Range End"; + } + leaf dscp-operator { + type uint8; + description + "DSCP Operator"; + } + leaf dscp-bitmask { + type uint8; + description + "DSCP Bitmask"; + } + leaf precedence-present { + type boolean; + description + "Precedence present"; + } + leaf precedence { + type uint8; + description + "Precedence"; + } + leaf tcp-flags-operator { + type Acl-tcpflags-operator; + description + "TCP flags operator"; + } + leaf tcp-flags { + type uint8; + description + "TCP flags"; + } + leaf tcp-flags-mask { + type uint8; + description + "TCP flags mask"; + } + leaf fragments { + type uint8; + description + "Fragments"; + } + leaf packet-length-operator { + type Acl-plen-operator; + description + "Packet length operator"; + } + leaf packet-length1 { + type uint16; + description + "Packet length 1"; + } + leaf packet-length2 { + type uint16; + description + "Packet length 2"; + } + leaf ttl-operator { + type Acl-ttl-operator; + description + "TTL operator"; + } + leaf ttl1 { + type uint16; + description + "TTL 1"; + } + leaf ttl2 { + type uint16; + description + "TTL 2"; + } + leaf no-stats { + type boolean; + description + "No stats"; + } + leaf hits { + type uint64; + description + "Number of hits"; + } + leaf police-hits { + type uint64; + description + "Police stats"; + } + leaf police-hits-dropped { + type uint64; + description + "Police dropped stats"; + } + leaf is-icmp-off { + type boolean; + description + "True if ICMP off"; + } + leaf qos-group { + type uint16; + description + "Qos group number"; + } + leaf next-hop-type { + type Bag-acl-nh; + description + "Next hop type"; + } + leaf remark { + type string; + description + "Remark String"; + } + leaf dynamic { + type boolean; + description + "Is dynamic ACE"; + } + leaf source-prefix-group { + type string; + description + "Source prefix object-group"; + } + leaf destination-prefix-group { + type string; + description + "Destination prefix object-group"; + } + leaf source-port-group { + type string; + description + "Source port object-group"; + } + leaf destination-port-group { + type string; + description + "Destination port object-group"; + } + leaf acl-name { + type string; + description + "ACL Name"; + } + leaf sequence-str { + type string; + description + "Sequence String"; + } + leaf fragment-offset-operator { + type Acl-frag-offset-operator; + description + "Fragment offset operator"; + } + leaf fragment-offset1 { + type uint16; + description + "Fragment offset 1"; + } + leaf fragment-offset2 { + type uint16; + description + "Fragment offset 2"; + } + leaf set-ttl { + type uint16; + description + "SET TTL"; + } + leaf fragment-flags { + type uint8; + description + "Fragment flags"; + } + leaf priority { + type Acl-priority; + description + "Priority"; + } + leaf is-icmpon { + type boolean; + description + "True if ICMP on"; + } + list next-hop-info { + max-elements "3"; + description + "Next hop info"; + uses IPV4-ACL-BAG-NH-INFO; + } + list udf { + description + "UDF BAG"; + uses ACL-UDF-ACE; + } + } + + grouping IPV4-PFX-EDM-ACE { + description + "Prefix list entry BAG"; + leaf item-type { + type Acl-ace; + description + "ACE type (prefix, remark)"; + } + leaf sequence { + type uint32; + description + "ACLE sequence number"; + } + leaf grant { + type Acl-action; + description + "Grant value permit/deny "; + } + leaf prefix { + type inet:ipv4-address; + description + "Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix length "; + } + leaf operator { + type Acl-port-operator; + description + "Port Operator"; + } + leaf minimum-length { + type uint32; + description + "Min length"; + } + leaf maximum-length { + type uint32; + description + "Maximum length"; + } + leaf hits { + type uint32; + description + "Number of hits"; + } + leaf remark { + type string; + description + "Remark String"; + } + leaf acl-name { + type string; + description + "ACL Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper.yang new file mode 100644 index 000000000..1ee0df909 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-acl-oper.yang @@ -0,0 +1,254 @@ +module Cisco-IOS-XR-ipv4-acl-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-oper"; + prefix ipv4-acl-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-common-acl-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-ipv4-acl-oper-sub1 { + revision-date 2022-07-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-acl package operational data. + + This module contains definitions + for the following management objects: + ipv4-acl-and-prefix-list: Root class of IPv4 Oper schema tree + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "7.5.4 revision. Added dscp-bitmask feature + 2021-11-23 + Added icmp-on feature"; + semver:module-version "1.3.0"; + } + revision 2021-03-05 { + description + "Adding a new policer stats field.CSCvx54997"; + semver:module-version "1.2.0"; + } + revision 2020-11-13 { + description + "Adding policer and priority."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-12 { + description + "Fixing CSCvn61905."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv4-acl-and-prefix-list { + config false; + description + "Root class of IPv4 Oper schema tree"; + container access-list-manager { + description + "Access list manager containing access lists and + prefix lists"; + container prefixes { + description + "Table of prefix lists"; + list prefix { + key "prefix-list-name"; + description + "Name of the prefix list"; + container prefix-list-sequences { + description + "Table of all the SequenceNumbers per prefix + list"; + list prefix-list-sequence { + key "sequence-number"; + description + "Sequence Number of a prefix list entry"; + leaf sequence-number { + type dt1:Acl-sequence-number-range; + description + "Sequence Number of the prefix list entry"; + } + uses IPV4-PFX-EDM-ACE; + } + } + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the prefix list"; + } + } + } + container accesses { + description + "Access listL class displaying Usage and Entries"; + list access { + key "access-list-name"; + description + "Name of the Access List"; + container access-list-sequences { + description + "Table of all the SequenceNumbers per access + list"; + list access-list-sequence { + key "sequence-number"; + description + "Sequence Number of an access list entry"; + leaf sequence-number { + type dt1:Acl-sequence-number-range; + description + "ACLEntry Sequence Number"; + } + uses IPV4-ACL-EDM-ACE; + } + } + container object-group { + description + "Object Group in an Access list"; + uses IPV4-ACL-EDM-OBJGRP; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of the Access List"; + } + } + } + container usages { + description + "Table of Usage statistics of access lists at + different nodes"; + list usage { + description + "Usage statistics of an access list at a node"; + leaf node-name { + type xr:Node-id; + description + "Node where access list is applied"; + } + leaf application-id { + type dt1:Acl-usage-app-id-enum; + description + "Application ID"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of the access list"; + } + leaf usage-details { + type string; + mandatory true; + description + "Usage Statistics Details"; + } + } + } + } + container oor { + description + "Out Of Resources, Limits to the resources + allocatable"; + container details { + description + "Details of the Overall Out Of Resources Limits"; + uses IPV4-ACL-EDM-OOR-DETAIL; + } + container oor-prefixes { + description + "Resource occupation details for prefix lists"; + list oor-prefix { + key "prefix-list-name"; + description + "Resource occupation details for a particular + prefix list"; + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of a prefix list"; + } + uses IPV4-ACL-EDM-OOR-DETAIL; + } + } + container oor-accesses { + description + "Resource occupation details for access lists"; + list oor-access { + key "access-list-name"; + description + "Resource occupation details for a particular + access list"; + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of the Access List"; + } + uses IPV4-ACL-EDM-OOR-DETAIL; + } + } + container access-list-summary { + description + "Resource limits pertaining to access lists only"; + container details { + description + "Details containing the resource limits of the + access lists"; + uses IPV4-ACL-EDM-OOR-DETAIL; + } + } + container prefix-list-summary { + description + "Summary of the prefix Lists resource + utilization"; + container details { + description + "Summary Detail of the prefix list Resource + Utilisation"; + uses IPV4-ACL-EDM-OOR-DETAIL; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-act.yang new file mode 100644 index 000000000..0fd5dbf9a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-act.yang @@ -0,0 +1,192 @@ +module Cisco-IOS-XR-ipv4-arp-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-act"; + prefix arp-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2018-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "Changing task to cef as commonly used in arp ref cdets : CSCtq86525"; + semver:module-version "1.2.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-08 { + description + "IOS XR 6.1.1 revision."; + } + + rpc clear-arp-api-stats-api { + description + "Clear ARP API stats API"; + input { + leaf name { + type string; + mandatory true; + description + "Name of api"; + } + } + } + rpc clear-arp-api-stats-location { + description + "Clear ARP API stats location"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } + rpc clear-arp-cache-location { + description + "clear ARP cache for given node"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } + rpc clear-arp-cache-traffic-location { + description + "Clear ARP cache traffic statistics"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } + rpc clear-arp-cache-traffic-interface-location { + description + "Clear ARP cache traffic statistics for interface location"; + input { + leaf interface-name { + type string; + mandatory true; + description + "Interface name"; + } + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } + rpc clear-arp-cache-drop-adjacency-location { + description + "Clear ARP drop adjancency entries"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } + rpc clear-arp-cache-drop-adjacency-interface-ip-address-location { + description + "Clear ARP drop adjancency entries"; + input { + leaf interface-name { + type string; + mandatory true; + description + "Interface name"; + } + leaf ip-address { + type string; + mandatory true; + description + "IP address"; + } + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } + rpc clear-arp-cache-interface-location { + description + "Clear ARP cache entries for given interface"; + input { + leaf interface-name { + type string; + mandatory true; + description + "Interface"; + } + leaf node-location { + type string; + mandatory true; + description + "node location"; + } + } + } + rpc clear-arp-cache-interface-ip-address-location { + description + "Interface for which to clear ARP entries"; + input { + leaf interface-name { + type string; + mandatory true; + description + "Interface name"; + } + leaf ip-address { + type string; + mandatory true; + description + "IP address"; + } + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-cfg.yang new file mode 100644 index 000000000..f986d0368 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-cfg.yang @@ -0,0 +1,507 @@ +module Cisco-IOS-XR-ipv4-arp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-cfg"; + prefix ipv4-arp-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-arp package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-arp-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + arp: ARP configuraiton + iedge-cfg: IEDGE ARP configuration + arpgmp: ARP configuration + arp-redundancy: ARP configuraiton + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-11 { + description + "Adding support for ARP Policer + 2022-06-10 + Adding support for ARP Cache Limit"; + semver:module-version "1.0.1m"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Arp-entry { + type enumeration { + enum "static" { + value 0; + description + "Static ARP entry type"; + } + enum "alias" { + value 1; + description + "Alias ARP entry type"; + } + } + description + "Arp entry"; + } + + typedef Arp-encap { + type enumeration { + enum "arpa" { + value 1; + description + "Encapsulation type ARPA"; + } + enum "srp" { + value 4; + description + "Encapsulation type SRP"; + } + enum "srpa" { + value 5; + description + "Encapsulation type SRPA"; + } + enum "srpb" { + value 6; + description + "Encapsulation type SRPB"; + } + } + description + "Arp encap"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container dagrs { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-arp-cfg.yang which will provide + the compatible functionalities. Direct-Attached + Gateway Redundancy configuration"; + list dagr { + key "ip-addr"; + description + "The DAGR entry being configured"; + container sub { + description + "DAGR Submode configuration"; + container metric { + description + "Set Route Metric"; + leaf metric-norm { + type uint32 { + range "0..256"; + } + default "100"; + description + "Normal Route Metric"; + } + leaf metric-prio { + type uint32 { + range "0..256"; + } + default "90"; + description + "Priority Route Metric"; + } + } + container timers { + description + "Set Query Timers"; + leaf query-time { + type uint32 { + range "1..10000"; + } + default "1"; + description + "Query Timeout"; + } + leaf sby-time { + type uint32 { + range "1..10000"; + } + default "20"; + description + "Standby Query Timeout"; + } + } + container distance { + description + "Set Route Distance"; + leaf dist-norm { + type uint32 { + range "0..256"; + } + default "150"; + description + "Normal Route Distance"; + } + leaf dist-prio { + type uint32 { + range "0..256"; + } + default "5"; + description + "Priority Route Distance"; + } + } + leaf priority-timeout { + type uint32 { + range "1..10000"; + } + default "20"; + description + "Priority Timeout value"; + } + } + leaf enter { + type empty; + description + "DAGR Group Enter item"; + } + leaf ip-addr { + type inet:ipv4-address-no-zone; + description + "DAGR Peer IPv4 address"; + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv4arp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-arp-cfg.yang which will provide + the compatible functionalities. Configure + Address Resolution Protocol"; + leaf cache-limit { + type uint32 { + range "0..127999"; + } + description + "Limit ARP cache on the interface"; + } + leaf learning-local { + type empty; + description + "Enable the dynamic learning of ARP entries(for + local subnet) on the interface"; + } + leaf drop-adj-timeout { + type uint32 { + range "900..7200"; + } + units "second"; + default "3600"; + description + "Number of seconds for ARP drop adjacency + timeout"; + } + leaf learning-solicited { + type empty; + description + "ARP learning solicited configuration"; + } + leaf gratuitous-ignore { + type empty; + description + "Ignore the receipt of Gratuitous ARP packets on + the interface"; + } + leaf proxy-arp { + type empty; + description + "Proxy ARP configuration"; + } + leaf purge-delay { + type uint32 { + range "1..65535"; + } + description + "Time to delay purging arp entries when the + interface goes down"; + } + leaf learning-disable { + type empty; + description + "Disable the dynamic learning of ARP entries on + the interface"; + } + leaf local-proxy-arp { + type empty; + description + "Local Proxy ARP configuration"; + } + leaf timeout { + type uint32 { + range "30..2144448000"; + } + units "second"; + description + "Number of seconds for ARP cache timeout"; + } + } + } + container arp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-arp-cfg.yang which will provide + the compatible functionalities. ARP + configuraiton"; + leaf max-entries { + type uint32 { + range "1..256000"; + } + description + "Configure maximum number of safe ARP entries per + line card"; + } + leaf inner-cos { + type uint32 { + range "0..7"; + } + description + "Configure inner cos values for arp packets"; + } + leaf outer-cos { + type uint32 { + range "0..7"; + } + description + "Configure outer cos values for arp packets"; + } + leaf police-interval { + type uint32 { + range "1..60"; + } + units "second"; + description + "Configure the policing interval in seconds to + drop the ARP requests with the same MAC and, or + same IP that comes."; + } + } + container iedge-cfg { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-arp-cfg.yang which will provide + the compatible functionalities. IEDGE ARP + configuration"; + leaf subscriber-uncond-proxy { + type empty; + description + "ARP Subscriber Enable Unconditional Proxy ARP"; + } + leaf subscriber-scale-mode { + type empty; + description + "ARP Subscriber Scale Mode Configuration"; + } + } + container arpgmp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-arp-cfg.yang which will provide + the compatible functionalities. ARP + configuration"; + list vrf { + key "vrf-name"; + description + "Per VRF configuration, for the default VRF use + 'default'"; + container entries { + description + "ARP static and alias entry configuration"; + list entry { + key "address"; + description + "ARP static and alias entry configuration item"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP Address"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + leaf encapsulation { + type Arp-encap; + description + "Encapsulation type"; + } + leaf entry-type { + type Arp-entry; + description + "Entry type"; + } + leaf interface { + type xr:Interface-name; + description + "Interface name"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container arp-redundancy { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-arp-cfg.yang which will provide + the compatible functionalities. ARP + configuraiton"; + container redundancy { + presence "Indicates a redundancy node is configured."; + description + "Configure parameter for ARP Geo redundancy"; + container groups { + description + "Table of Group"; + list group { + key "group-id"; + description + "None"; + container peers { + description + "Table of Peer"; + list peer { + key "prefix-string"; + description + "None"; + leaf prefix-string { + type inet:ip-address-no-zone; + description + "Neighbor IPv4 address"; + } + } + } + container interface-list { + presence "Indicates a interface-list node is configured."; + description + "List of Interfaces for this Group"; + container interfaces { + description + "Table of Interface"; + list interface { + key "interface-name"; + description + "Interface for this Group"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf interface-id { + type uint32 { + range "1..65535"; + } + mandatory true; + description + "Interface Id for the interface"; + } + } + } + leaf enable { + type empty; + mandatory true; + description + "Enable List of Interfaces for this Group. + Deletion of this object also causes deletion + of all associated objects under + InterfaceList."; + } + } + leaf source-interface { + type xr:Interface-name; + description + "Interface name"; + } + leaf group-id { + type uint32 { + range "1..32"; + } + description + "Group ID"; + } + } + } + leaf enable { + type empty; + mandatory true; + description + "Enable Configure parameter for ARP Geo + redundancy. Deletion of this object also causes + deletion of all associated objects under + ArpRedundancy."; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub1.yang new file mode 100644 index 000000000..4847283d3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub1.yang @@ -0,0 +1,1546 @@ +submodule Cisco-IOS-XR-ipv4-arp-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-arp-oper { + prefix Cisco-IOS-XR-ipv4-arp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-arp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-11 { + description + "Adding support for ARP Policer + 2022-06-10 + Adding support for displaying counters related to ARP Cache Limit + 2022-03-24 + Increase in interface name length"; + semver:module-version "2.1.1m"; + } + revision 2021-08-17 { + description + "Adding support for displaying Last pulse time for Punt and input queue from XIPC"; + semver:module-version "2.1.0"; + } + revision 2021-02-11 { + description + "IOS XR 6.2.3 revision. + 2021-02-04 + IOS XR 6.2.2 revision. + 2020-12-03 + Adding support for displaying client resync time + 2020-04-22 + adding oper schema support, clinet stats update with cnbng."; + semver:module-version "2.0.0"; + } + revision 2019-12-11 { + description + "adding oper schema support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-11-21 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ip-arp-bag-encap { + type enumeration { + enum "none" { + value 0; + description + "No encapsulation"; + } + enum "arpa" { + value 1; + description + "ARPA"; + } + enum "snap" { + value 2; + description + "SNAP"; + } + enum "ieee802-1q" { + value 3; + description + "802 1Q"; + } + enum "srp" { + value 4; + description + "SRP"; + } + enum "srpa" { + value 5; + description + "SRPA"; + } + enum "srpb" { + value 6; + description + "SRPB"; + } + } + description + "ARP encapsulation"; + } + + typedef Ip-arp-bag-flags { + type enumeration { + enum "flag-none" { + value 0; + description + "No Flag"; + } + enum "flag-dynamic" { + value 1; + description + "Dynamic learnt entry"; + } + enum "flag-evpn-sync" { + value 2; + description + "EVPN Synced entry"; + } + enum "flag-max" { + value 3; + description + "Maximum Flag number"; + } + } + description + "ARP flags"; + } + + typedef Ip-arp-bag-state { + type enumeration { + enum "state-none" { + value 0; + description + "No state"; + } + enum "state-interface" { + value 1; + description + "Interface"; + } + enum "state-standby" { + value 2; + description + "Standby"; + } + enum "state-static" { + value 3; + description + "Static"; + } + enum "state-alias" { + value 4; + description + "Alias"; + } + enum "state-mobile" { + value 5; + description + "Mobile"; + } + enum "state-incomplete" { + value 6; + description + "Incomplete"; + } + enum "state-deleted" { + value 7; + description + "Deleted"; + } + enum "state-dynamic" { + value 8; + description + "Dynamic"; + } + enum "state-probe" { + value 9; + description + "Probe"; + } + enum "state-purge-delayed" { + value 10; + description + "Purge delayed"; + } + enum "state-dhcp" { + value 11; + description + "DHCP installed"; + } + enum "state-vxlan" { + value 12; + description + "VXLAN installed"; + } + enum "state-evpn-sync" { + value 13; + description + "EVPN-SYNC installed"; + } + enum "state-sat" { + value 14; + description + "Satellite installed"; + } + enum "state-r-sync" { + value 15; + description + "Geo-redundancy sync'ed"; + } + enum "state-drop-adj" { + value 16; + description + "Drop adjacency"; + } + enum "state-stale" { + value 17; + description + "Stale"; + } + enum "state-max" { + value 18; + description + "Maximum state number"; + } + } + description + "ARP state"; + } + + typedef Ip-arp-bag-media { + type enumeration { + enum "media-arpa" { + value 0; + description + "ARPA"; + } + enum "media-srp" { + value 1; + description + "SRP"; + } + enum "media-unknown" { + value 2; + description + "Unknown"; + } + } + description + "ARP media type"; + } + + typedef Arp-peer-status-bag { + type enumeration { + enum "state-invalid" { + value 0; + description + "No State"; + } + enum "state-init" { + value 1; + description + "Init State"; + } + enum "state-retry" { + value 2; + description + "Retry State"; + } + enum "state-connect" { + value 3; + description + "Connect State"; + } + enum "state-listen" { + value 4; + description + "Listen State"; + } + enum "state-reg" { + value 5; + description + "Register State"; + } + enum "state-clenaup" { + value 6; + description + "Register Cleanup"; + } + enum "state-connected" { + value 7; + description + "Connected State"; + } + enum "state-estab" { + value 8; + description + "Established State"; + } + } + description + "ARP Sync Peer state"; + } + + typedef Arp-issu-version { + type enumeration { + enum "version1" { + value 0; + description + "Version 1"; + } + enum "version2" { + value 1; + description + "Version 2"; + } + } + description + "Arp issu version"; + } + + typedef Arp-issu-phase { + type enumeration { + enum "phase-not-started" { + value 0; + description + "An ISSU event has not started"; + } + enum "phase-load" { + value 1; + description + "ISSU Load Phase"; + } + enum "phase-run" { + value 2; + description + "ISSU Run Phase"; + } + enum "phase-completed" { + value 3; + description + "An ISSU event has completed successfully"; + } + enum "phase-aborted" { + value 4; + description + "An ISSU event has aborted"; + } + } + description + "Arp issu phase"; + } + + typedef Arp-issu-role { + type enumeration { + enum "role-primary" { + value 0; + description + "Primary role"; + } + enum "role-secondary" { + value 1; + description + "Secondary role"; + } + } + description + "Arp issu role"; + } + + typedef Arp-im-oper-bag { + type enumeration { + enum "im-oper-none" { + value 0; + description + "NONE"; + } + enum "im-oper-caps-add" { + value 1; + description + "ADD"; + } + enum "im-oper-caps-rem" { + value 2; + description + "REM"; + } + enum "im-oper-init-data" { + value 3; + description + "INIT"; + } + enum "im-oper-last" { + value 4; + description + "NONE"; + } + } + description + "ARP IM oper type"; + } + + typedef Im-state { + type uint32; + description + "Im state"; + } + + typedef Arp-resolution-history-status { + type enumeration { + enum "status-none" { + value 0; + description + "No Status"; + } + enum "status-resolution-request" { + value 1; + description + "Resolution Request Received"; + } + enum "status-resolved-reply" { + value 2; + description + "Resolved with ARP reply"; + } + enum "status-resolved-grat-arp" { + value 3; + description + "Resolved with Grat ARP"; + } + enum "status-resolved-request" { + value 4; + description + "Resolved with ARP Request"; + } + enum "status-resolved-lc-sync" { + value 5; + description + "Resolved via a Linecard sync"; + } + enum "status-resolved-lc-sync-purge-delay" { + value 6; + description + "Resolved via a Linecard sync while purge + delayed"; + } + enum "status-resolved-client" { + value 7; + description + "Resolved from an ARP API client"; + } + enum "status-removed-client" { + value 8; + description + "Removed by an ARP API client"; + } + enum "status-already-resolved" { + value 9; + description + "Already Resolved"; + } + enum "status-failed" { + value 10; + description + "Resolution Failed"; + } + enum "status-dropped-interface-down" { + value 11; + description + "Dropped because the Interface was down"; + } + enum "status-dropped-broadcast-disabled" { + value 12; + description + "Dropped because the Interface was broadcast + disabled"; + } + enum "status-dropped-interface-unavailable" { + value 13; + description + "Dropped because the Interface was unavailable + to arp"; + } + enum "status-dropped-bad-subnet" { + value 14; + description + "The requested IP address didn't belong to the + subnet"; + } + enum "status-dropped-dynamic-learning-disabled" { + value 15; + description + "Dynamic learning of ARP entries is disabled on + the interface"; + } + enum "status-dropped-out-of-subnet-disabled" { + value 16; + description + "Out of Subnet address learning is disabled on + the interface"; + } + enum "status-removed-client-sweep" { + value 17; + description + "Removed by an ARP API client during a resync"; + } + enum "status-added-client" { + value 18; + description + "Added by an ARP API client"; + } + enum "status-added-v1" { + value 19; + description + "Added by replication from ARP V1 during ISSU"; + } + enum "status-removed-v1" { + value 20; + description + "Removed by replication from ARP V1 during ISSU"; + } + enum "status-resolved-peer-sync" { + value 21; + description + "Resolved via a Peer Router sync"; + } + enum "status-dropped-unsolicited-pak" { + value 22; + description + "Learning unsolicited ARP packets is disabled on + this Interface"; + } + enum "status-drop-adjacency-added" { + value 23; + description + "Adding drop adjacency entry for the address"; + } + enum "status-dropped-exceeding-cache-limit" { + value 24; + description + "Dropped because cache limit exceeded on the + interface"; + } + } + description + "Arp resolution history status"; + } + + grouping IP-ARP-TABLE-ENTRY { + description + "IP ARP Table entry"; + leaf media-type { + type Ip-arp-bag-media; + description + "Media type for this entry"; + } + leaf state { + type Ip-arp-bag-state; + description + "State of this entry"; + } + leaf flag { + type Ip-arp-bag-flags; + description + "Flags of this entry"; + } + leaf age { + type uint64; + description + "Age of this entry"; + } + leaf encapsulation-type { + type Ip-arp-bag-encap; + description + "Type of source encapsulation"; + } + leaf hardware-length { + type uint8; + description + "Source MAC length"; + } + leaf hardware-address { + type yang:mac-address; + description + "MAC address"; + } + } + + grouping IP-ARP-THREAD-ELEMENT-INFO { + description + "IP ARP Thread element info"; + leaf thread-q-size { + type uint32; + description + "TheradQSize"; + } + leaf peak-q-size { + type uint32; + description + "PeakQSize"; + } + leaf msgs-enqueued-count { + type uint32; + description + "MsgsEnqueuedCount"; + } + leaf pulse-sent-count { + type uint32; + description + "PulseSentCount"; + } + leaf self-pulse-count { + type uint32; + description + "SelfPulseCount"; + } + leaf pulse-recvd-count { + type uint32; + description + "PulseRecvdCount"; + } + leaf dq-count { + type uint32; + description + "QCount"; + } + leaf no-q-count { + type uint32; + description + "NoQCount"; + } + leaf qblocked-count { + type uint32; + description + "QBlocked"; + } + leaf qreleased-count { + type uint32; + description + "QReleased"; + } + } + + grouping IP-ARP-THREAD-NODE-INFO { + description + "IP ARP Thread node info"; + container old-element-info { + description + "OldElementInfo"; + uses IP-ARP-THREAD-ELEMENT-INFO; + } + container current-element-info { + description + "CurrentElementInfo"; + uses IP-ARP-THREAD-ELEMENT-INFO; + } + leaf thread-name { + type string; + description + "NameOfTheThread"; + } + } + + grouping IP-ARP-THREAD-QUEUE-STATS { + description + "IP ARP Thread queue stats"; + container last-punt-pulse-time { + description + "LastPuntPulseTime"; + uses BAG-TIMESPEC; + } + container last-input-pulse-time { + description + "LastInputPulseTime"; + uses BAG-TIMESPEC; + } + leaf total-drop-count { + type uint64; + description + "TotalDropCount"; + } + leaf input-packet-drop-count { + type uint64; + description + "InputPacketDropCount"; + } + leaf punt-packet-drop-count { + type uint64; + description + "PuntPacketDropCount"; + } + leaf unknown-packet-drop-count { + type uint64; + description + "UnknownPacketDropCount"; + } + list queue-msg { + max-elements "6"; + description + "Queue msgs for ARP thread"; + uses IP-ARP-THREAD-NODE-INFO; + } + } + + grouping ARP-SYNC-ENTRY { + description + "ARP Sync Redundancy entry"; + leaf group-id-xr { + type uint16; + description + "Group ID"; + } + leaf src-int-name { + type string { + length "0..81"; + } + description + "Source Interface Name"; + } + leaf peer-add { + type inet:ipv4-address; + description + "Peer IP address"; + } + leaf peer-status { + type Arp-peer-status-bag; + description + "Status of Peer"; + } + } + + grouping ARP-PAKHIST-ENTRY { + description + "ARP packet history entry"; + leaf idb-interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf sr-caddress { + type inet:ipv4-address; + description + "Source address"; + } + leaf ds-taddress { + type inet:ipv4-address; + description + "Destination address"; + } + leaf src-mac { + type yang:mac-address; + description + "Source MAC address"; + } + leaf dst-mac { + type yang:mac-address; + description + "Destination MAC address"; + } + leaf type { + type int32; + description + "ARP packet type"; + } + leaf mode { + type int32; + description + "Incoming or Outgoing"; + } + leaf nsec-timestamp { + type uint64; + units "nanosecond"; + description + "Timestamp for entry in nanoseconds since Epoch, + i.e. since 00:00:00 UTC, January 1, 1970"; + } + } + + grouping ARP-PAKHIST { + description + "ARP Packet History"; + list arp-entry { + description + "ARP packet history array"; + uses ARP-PAKHIST-ENTRY; + } + } + + grouping ARP-CLIENT-STAT-INFO { + description + "Client statistics"; + leaf client-id-xr { + type uint32; + description + "ARP client id"; + } + leaf reg-time { + type uint64; + units "nanosecond"; + description + "Registration timestamp in nano-seconds since + Epoch, i.e. since 00:00:00 UTC, January 1, 1970"; + } + leaf unreg-time { + type uint64; + units "nanosecond"; + description + "Un-registration timestamp in nano-seconds since + Epoch, i.e. since 00:00:00 UTC, January 1, 1970"; + } + leaf entries-added { + type uint32; + description + "Number of entries added by client"; + } + leaf entries-deleted { + type uint32; + description + "Number of entries deleted by client"; + } + leaf send-request { + type uint32; + description + "Number of send request by client"; + } + } + + grouping IP-ARP-STATISTICS { + description + "IP ARP Statistics information"; + leaf requests-received { + type uint32; + description + "Total ARP requests received"; + } + leaf replies-received { + type uint32; + description + "Total ARP replies received"; + } + leaf requests-sent { + type uint32; + description + "Total ARP requests sent"; + } + leaf replies-sent { + type uint32; + description + "Total ARP replies sent"; + } + leaf proxy-replies-sent { + type uint32; + description + "Total Proxy ARP replies sent"; + } + leaf subscr-requests-received { + type uint32; + description + "Total ARP requests received over subscriber + interface"; + } + leaf subscr-replies-sent { + type uint32; + description + "Total ARP replies sent over subscriber interface"; + } + leaf subscr-replies-gratg-sent { + type uint32; + description + "Total ARP grat replies sent over subscriber + interface"; + } + leaf local-proxy-replies-sent { + type uint32; + description + "Total Local Proxy ARP replies sent"; + } + leaf gratuitous-replies-sent { + type uint32; + description + "Total Gratuituous ARP replies sent"; + } + leaf resolution-requests-received { + type uint32; + description + "Total ARP request received for resolution"; + } + leaf resolution-replies-received { + type uint32; + description + "Total ARP replies received for resolution"; + } + leaf resolution-requests-dropped { + type uint32; + description + "total ARP request dropped for resolution"; + } + leaf out-of-memory-errors { + type uint32; + description + "Total errors for out of memory"; + } + leaf no-buffer-errors { + type uint32; + description + "Total errors for no buffer"; + } + leaf total-entries { + type uint32; + description + "Total ARP entries in the cache"; + } + leaf dynamic-entries { + type uint32; + description + "Total dynamic entries in the cache"; + } + leaf static-entries { + type uint32; + description + "Total static entries in the cache"; + } + leaf alias-entries { + type uint32; + description + "Total alias entries in the cache"; + } + leaf interface-entries { + type uint32; + description + "Total interface entries in the cache"; + } + leaf standby-entries { + type uint32; + description + "Total standby entries in the cache"; + } + leaf dhcp-entries { + type uint32; + description + "Total DHCP entries in the cache"; + } + leaf vxlan-entries { + type uint32; + description + "Total VXLAN entries in the cache"; + } + leaf drop-adjacency-entries { + type uint32; + description + "Total drop adjacency entries in the cache"; + } + leaf ipv4-packets-dropped-node { + type uint32; + description + "Total ip packets droped on this node"; + } + leaf arp-packet-node-out-of-subnet { + type uint32; + description + "Total ARP packets on node due to out of subnet"; + } + leaf ipv4-packets-dropped-interface { + type uint32; + description + "Total ip packets droped on this interface"; + } + leaf arp-packet-interface-out-of-subnet { + type uint32; + description + "Total arp packets on interface due to out of + subnet"; + } + leaf arp-packet-unsolicited-packet { + type uint32; + description + "Total unsolicited arp packets dropped"; + } + leaf idb-structures { + type uint32; + description + "Total idb structures on this node"; + } + leaf arp-policer-allowed-packet { + type uint32; + description + "Total ARP requests allowed by the policer"; + } + leaf arp-policer-dropped-packet { + type uint32; + description + "Total ARP requests dropped by the policer"; + } + leaf arpip-policer-dropped-packet { + type uint32; + description + "Total ARP requests dropped by the IP policer"; + } + leaf arpmac-policer-dropped-packet { + type uint32; + description + "Total ARP requests dropped by the MAC policer"; + } + } + + grouping ARP-AIBHIST-ENTRY { + description + "ARP AIB history entry"; + leaf idb-interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "Address for adjacency history"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC address"; + } + leaf client-id { + type int32; + description + "Resolving Client ID"; + } + leaf entry-state { + type int32; + description + "State of ARP entry"; + } + leaf protocol { + type int32; + description + "Protocol ID"; + } + leaf result { + type int32; + description + "ARP AIB Update result"; + } + leaf type { + type int32; + description + "ARP AIB update type"; + } + leaf nsec-timestamp { + type uint64; + units "nanosecond"; + description + "Timestamp for entry in nanoseconds since Epoch, + i.e. since 00:00:00 UTC, January 1, 1970"; + } + } + + grouping ARP-AIBHIST { + description + "ARP AIB Update History"; + list arp-entry { + description + "ARP AIB history array"; + uses ARP-AIBHIST-ENTRY; + } + } + + grouping ARP-STATUS-INFO { + description + "ARP Status"; + container all-idb-client-resync-time { + description + "Time of last client resync for all IDBs"; + uses BAG-TIMESPEC; + } + leaf process-start-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the process start time in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf issu-sync-complete-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU sync complete in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf issu-ready-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU ready declaration in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf big-bang-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the Big Bang notification time in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf primary-role-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the change to Primary role + notification time in nanoseconds since Epoch, i + .e. since 00:00:00 UTC, January 1, 1970"; + } + leaf role { + type Arp-issu-role; + description + "The current role of the ARP process"; + } + leaf phase { + type Arp-issu-phase; + description + "The current ISSU phase of the ARP process"; + } + leaf version { + type Arp-issu-version; + description + "The current version of the ARP process in the + context of an ISSU"; + } + leaf dynamic-entries-recovered-count { + type uint32; + description + "The number of entries that have been recovered + during ISSU V1 and V2 synchronisation"; + } + leaf non-operational-entries-count { + type uint32; + description + "The number of entries that are currently + non-operational in the shadow database"; + } + leaf interface-handle-translation-failure-count { + type uint32; + description + "The number of interface handle translation + failures that occurred during the ISSU V1 and V2 + synchronisation"; + } + leaf issu-ready-issu-mgr-connection { + type boolean; + description + "Whether or not ARP is currently connected to + ISSU Manager during the ISSU Load Phase"; + } + leaf issu-ready-im { + type boolean; + description + "Whether or not ARP is in sync with IM during the + ISSU Load Phase"; + } + leaf issu-ready-dagr-rib { + type boolean; + description + "Whether or not the ARP DAGR system is in sync + with the RIB during the ISSU Load Phase"; + } + leaf issu-ready-entries-replicate { + type boolean; + description + "Whether or not ARP has received all replicated + entries during the ISSU Load Phase"; + } + } + + grouping BAG-TIMESPEC { + description + "Timespec specifying the number of seconds since + the base time of 00:00:00 GMT, 1 January 1970."; + leaf seconds { + type uint32; + units "second"; + description + "Number of seconds"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "Number of nanoseconds"; + } + } + + grouping EVT-HIST-ENTRY { + description + "Event history Entry"; + leaf evt-timestamp { + type string; + description + "The timestamp of the event"; + } + leaf evt-name { + type string; + description + "Event name"; + } + leaf evt-type { + type uint8; + description + "Event type"; + } + leaf evt-many { + type boolean; + description + "Multiple instance flag"; + } + leaf evt-sticky { + type boolean; + description + "Sticky flag"; + } + leaf-list evt-data { + type uint32; + description + "Optional data"; + } + } + + grouping EVT-HIST-INFO { + description + "Per object event history"; + leaf evt-class-name { + type string; + description + "Class name string"; + } + list evt-entry { + description + "Array of event entries"; + uses EVT-HIST-ENTRY; + } + } + + grouping ARP-IDB-INFO { + description + "ARP IDB information"; + container idb-event-history { + description + "Event history of Interface"; + uses EVT-HIST-INFO; + } + container client-resync-time { + description + "Time of last client resync"; + uses BAG-TIMESPEC; + } + leaf idb-interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf idb-ip-address { + type inet:ipv4-address; + description + "Address"; + } + leaf is-ipv4-unnumbered { + type boolean; + description + "Is the address unnumbered?"; + } + leaf vrf-id { + type uint32; + description + "VRF that this interface is in"; + } + leaf vrf-name { + type string { + length "0..32"; + } + description + "VRF name that this interface is in"; + } + leaf capsulation-state { + type Im-state; + description + "Capsulation state for IPV4"; + } + leaf idb-timeout { + type uint32; + description + "Configured timeout value for ARP entries"; + } + leaf is-dynamic-learning-enabled { + type boolean; + description + "Is dynamic entry learning configured on this + interface?"; + } + leaf is-dynamic-learning-local-enabled { + type boolean; + description + "Is dynamic entry learning local configured on + this interface?"; + } + leaf is-dynamic-learning-solicited-enabled { + type boolean; + description + "Is dynamic entry learning solicited configured + on this interface?"; + } + leaf is-purge-delay-configured { + type boolean; + description + "Presence of Purge delay configuration"; + } + leaf purge-delay { + type uint32; + description + "The purge delay timeout if configured, otherwise + set to zero"; + } + leaf is-idb-forward-referenced { + type boolean; + description + "Is IDB forward referenced for a client"; + } + leaf is-virtual { + type boolean; + description + "Is this a virtual interface?"; + } + leaf is-complete { + type boolean; + description + "Is the IDB complete?"; + } + leaf is-proxy-enabled { + type boolean; + description + "Is proxy arp enabled on this interface?"; + } + leaf is-proxy-configured { + type boolean; + description + "Is proxy arp configured on this interface?"; + } + leaf is-local-proxy-configured { + type boolean; + description + "Is local proxy arp configured on this interface?"; + } + leaf mpls-capsulation-known { + type boolean; + description + "Is the IPv4 caps added on this interface?"; + } + leaf ipv4-capsulation-known { + type boolean; + description + "Is the IPv4 caps added on this interface?"; + } + leaf hardware-address-known { + type boolean; + description + "Is the HW address known for this interface?"; + } + leaf media-known { + type boolean; + description + "Is the media known for this interface?"; + } + leaf vlanid-known { + type boolean; + description + "Is the VLAN ID known for this interface?"; + } + leaf spio-attach-error { + type uint32; + description + "The error returned when attaching to SPIO or + SUCCESS"; + } + leaf is-using-spio { + type boolean; + description + "Is SPIO being used as the Packet IO layer for + this interface?"; + } + leaf broadcast-disabled { + type boolean; + description + "Is the sending of broadcast packets disabled on + this interface?"; + } + leaf client-id { + type uint32; + description + "The client id that has brodacast disabled the + interface"; + } + leaf srg-role { + type uint8; + description + "Srg role for the idb"; + } + leaf idb-flag { + type uint32; + description + "ARP IDB flag"; + } + leaf drop-adj-timeout { + type uint32; + description + "Configured timeout value for drop adjacency"; + } + leaf idb-flag-ext { + type uint32; + description + "ARP IDB flag extension"; + } + leaf oper-progress { + type Arp-im-oper-bag; + description + "Current IM operation in progress"; + } + leaf cache-limit { + type uint32; + description + "ARP cache limit value"; + } + leaf incomplete-glean-count { + type uint32; + description + "Incomplete Glean count"; + } + leaf complete-glean-count { + type uint32; + description + "Complete Glean count"; + } + leaf complete-protocol-count { + type uint32; + description + "Complete Protocol count"; + } + leaf dropped-glean-count { + type uint32; + description + "Dropped glean count"; + } + leaf dropped-protocol-count { + type uint32; + description + "Dropped protocol count"; + } + } + + grouping ARP-RESHIST-ENTRY { + description + "ARP resolution history entry"; + leaf nsec-timestamp { + type uint64; + units "nanosecond"; + description + "Timestamp for entry in nanoseconds since Epoch, + i.e. since 00:00:00 UTC, January 1, 1970"; + } + leaf idb-interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "Address for resolution history"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC address"; + } + leaf status { + type Arp-resolution-history-status; + description + "Resolution status"; + } + leaf client-id { + type int32; + description + "Resolving Client ID"; + } + leaf entry-state { + type int32; + description + "State of ARP entry"; + } + leaf resolution-request-count { + type uint32; + description + "Number of ARP resolution request"; + } + } + + grouping ARP-RESHIST { + description + "ARP Resolution History"; + list arp-entry { + description + "Resolution history array"; + uses ARP-RESHIST-ENTRY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub2.yang new file mode 100644 index 000000000..3d8427189 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub2.yang @@ -0,0 +1,121 @@ +submodule Cisco-IOS-XR-ipv4-arp-oper-sub2 { + belongs-to Cisco-IOS-XR-ipv4-arp-oper { + prefix Cisco-IOS-XR-ipv4-arp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-arp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-11 { + description + "Adding support for ARP Policer + 2022-06-10 + Adding support for displaying counters related to ARP Cache Limit + 2022-03-24 + Increase in interface name length"; + semver:module-version "2.1.1m"; + } + revision 2021-08-17 { + description + "Adding support for displaying Last pulse time for Punt and input queue from XIPC"; + semver:module-version "2.1.0"; + } + revision 2021-02-11 { + description + "IOS XR 6.2.3 revision. + 2021-02-04 + IOS XR 6.2.2 revision. + 2020-12-03 + Adding support for displaying client resync time + 2020-04-22 + adding oper schema support, clinet stats update with cnbng."; + semver:module-version "2.0.0"; + } + revision 2019-12-11 { + description + "adding oper schema support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-11-21 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping DAGR-GROUP-INFO { + description + "DAGR Group information"; + leaf ifhandle { + type xr:Interface-name; + description + "Interface"; + } + leaf vip { + type inet:ipv4-address; + description + "Virtual IPv4 address"; + } + leaf state { + type xr:Node-id; + description + "State"; + } + leaf query-period { + type uint32; + description + "Query Period for dagr group"; + } + leaf dist { + type uint32; + description + "DAGR Route distance"; + } + leaf metric { + type uint32; + description + "DAGR Route Metric"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub3.yang new file mode 100644 index 000000000..1a579696d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper-sub3.yang @@ -0,0 +1,257 @@ +submodule Cisco-IOS-XR-ipv4-arp-oper-sub3 { + belongs-to Cisco-IOS-XR-ipv4-arp-oper { + prefix Cisco-IOS-XR-ipv4-arp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-arp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-11 { + description + "Adding support for ARP Policer + 2022-06-10 + Adding support for displaying counters related to ARP Cache Limit + 2022-03-24 + Increase in interface name length"; + semver:module-version "2.1.1m"; + } + revision 2021-08-17 { + description + "Adding support for displaying Last pulse time for Punt and input queue from XIPC"; + semver:module-version "2.1.0"; + } + revision 2021-02-11 { + description + "IOS XR 6.2.3 revision. + 2021-02-04 + IOS XR 6.2.2 revision. + 2020-12-03 + Adding support for displaying client resync time + 2020-04-22 + adding oper schema support, clinet stats update with cnbng."; + semver:module-version "2.0.0"; + } + revision 2019-12-11 { + description + "adding oper schema support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-11-21 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Arp-gmp-bag-entry { + type enumeration { + enum "null" { + value 0; + description + "No state"; + } + enum "static" { + value 1; + description + "Static"; + } + enum "alias" { + value 2; + description + "Alias"; + } + } + description + "ARP Entry type"; + } + + typedef Arp-gmp-bag-encap { + type enumeration { + enum "none" { + value 0; + description + "No encapsulation"; + } + enum "arpa" { + value 1; + description + "ARPA"; + } + enum "snap" { + value 2; + description + "SNAP"; + } + enum "ieee802-1q" { + value 3; + description + "802 1Q"; + } + enum "srp" { + value 4; + description + "SRP"; + } + enum "srpa" { + value 5; + description + "SRPA"; + } + enum "srpb" { + value 6; + description + "SRPB"; + } + } + description + "ARP encapsulation"; + } + + grouping ARP-GMP-INTF-ENTRY { + description + "ARP GMP entries associated with an interface"; + container associated-configuration-entry { + description + "Configuration entry associated"; + uses ARP-GMP-CONFIG-ENTRY; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Source Interface"; + } + leaf reference-count { + type uint32; + description + "Number of Route reference"; + } + } + + grouping ARP-GMP-ROUTE-ENTRY { + description + "ARP GMP route entry"; + leaf ip-address { + type inet:ipv4-address; + description + "IP address"; + } + leaf prefix-length-xr { + type uint8; + description + "IP address length"; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Source Interface"; + } + list interface-name { + description + "Interface list"; + leaf entry { + type xr:Interface-name; + description + "Interface list"; + } + } + } + + grouping ARP-GMP-CONFIG-ENTRY { + description + "ARP GMP configuration entry"; + leaf ip-address { + type inet:ipv4-address; + description + "IP address"; + } + leaf hardware-address { + type yang:mac-address; + description + "MAC address "; + } + leaf encapsulation-type { + type Arp-gmp-bag-encap; + description + "Encap type"; + } + leaf entry-type { + type Arp-gmp-bag-entry; + description + "Entry type static/alias"; + } + } + + grouping ARP-GMP-VRF-ENTRY { + description + "ARP GMP VRF entry"; + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + leaf vrf-id-number { + type uint32; + description + "VRF ID"; + } + leaf table-id { + type uint32; + description + "IPv4 unicast table ID"; + } + leaf rsi-handle { + type uint32; + description + "RSI registration handle"; + } + leaf rsi-handle-high { + type uint32; + description + "RSI registration handle (top 32-bits)"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper.yang new file mode 100644 index 000000000..eb989b372 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-arp-oper.yang @@ -0,0 +1,425 @@ +module Cisco-IOS-XR-ipv4-arp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-oper"; + prefix ipv4-arp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-arp-oper-sub3 { + revision-date 2022-07-11; + } + include Cisco-IOS-XR-ipv4-arp-oper-sub2 { + revision-date 2022-07-11; + } + include Cisco-IOS-XR-ipv4-arp-oper-sub1 { + revision-date 2022-07-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-arp package operational data. + + This module contains definitions + for the following management objects: + arp-gmp: ARP-GMP global operational data + arp: ARP operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-11 { + description + "Adding support for ARP Policer + 2022-06-10 + Adding support for displaying counters related to ARP Cache Limit + 2022-03-24 + Increase in interface name length"; + semver:module-version "2.1.1m"; + } + revision 2021-08-17 { + description + "Adding support for displaying Last pulse time for Punt and input queue from XIPC"; + semver:module-version "2.1.0"; + } + revision 2021-02-11 { + description + "IOS XR 6.2.3 revision. + 2021-02-04 + IOS XR 6.2.2 revision. + 2020-12-03 + Adding support for displaying client resync time + 2020-04-22 + adding oper schema support, clinet stats update with cnbng."; + semver:module-version "2.0.0"; + } + revision 2019-12-11 { + description + "adding oper schema support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-11-21 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-19 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container arp-gmp { + config false; + description + "ARP-GMP global operational data"; + container vrf-infos { + description + "Table of VRF related ARP-GMP operational data"; + list vrf-info { + key "vrf-name"; + description + "VRF related ARP-GMP operational data"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name for the default VRF use 'default'"; + } + uses ARP-GMP-VRF-ENTRY; + } + } + container vrfs { + description + "Table of per VRF ARP-GMP operational data"; + list vrf { + key "vrf-name"; + description + "Per VRF ARP-GMP operational data"; + container configured-ip-addresses { + description + "Table of ARP-GMP configured IP addresses + information"; + list configured-ip-address { + key "address"; + description + "ARP-GMP configured IP address information"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Configured ARP-GMP IP"; + } + uses ARP-GMP-CONFIG-ENTRY; + } + } + container routes { + description + "Table of ARP GMP route information"; + list route { + description + "ARP GMP route information"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Host address"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Subnet mask"; + } + uses ARP-GMP-ROUTE-ENTRY; + } + } + container interface-configured-ip-addresses { + description + "Table of ARP GMP interface and associated + configured IP data"; + list interface-configured-ip-address { + description + "ARP GMP interface and associated configured + IP data"; + leaf interface-name { + type xr:Interface-name; + description + "Source Interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Configured ARP-GMP IP"; + } + uses ARP-GMP-INTF-ENTRY; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name for the default VRF use 'default'"; + } + } + } + } + container arp { + config false; + description + "ARP operational data"; + container nodes { + description + "Table of per-node ARP operational data"; + list node { + key "node-name"; + description + "Per-node ARP operational data"; + container resolution-history-dynamic { + description + "Per node dynamically-resolved ARP resolution + history data"; + uses ARP-RESHIST; + } + container idb-interface-names { + description + "ARP interface database"; + list idb-interface-name { + key "interface-name"; + description + "IDB for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ARP-IDB-INFO; + } + } + container arp-status-info { + description + "Per node ARP status information"; + uses ARP-STATUS-INFO; + } + container adjacency-history-interface-names { + description + "Per node adjacency history data for an + interface"; + list adjacency-history-interface-name { + key "interface-name"; + description + "Per interface adjacency history data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ARP-AIBHIST; + } + } + container traffic-vrfs { + description + "ARP Traffic information per VRF"; + list traffic-vrf { + key "vrf-name"; + description + "Per VRF traffic data"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF"; + } + uses IP-ARP-STATISTICS; + } + } + container client-ids { + description + "Stats for client registration/unregistration + and entry count"; + list client-id { + key "client-id"; + description + "Per client stats"; + leaf client-id { + type uint32 { + range "0..4294967295"; + } + description + "Client ID"; + } + uses ARP-CLIENT-STAT-INFO; + } + } + container traffic-node { + description + "Per node ARP Traffic data"; + uses IP-ARP-STATISTICS; + } + container direct-attached-gateway-redundancy-interface-and-addresses { + description + "ARP DAGR info"; + list direct-attached-gateway-redundancy-interface-and-address { + key "interface-name address"; + description + "DAGR info for the given interface and address"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IP Address"; + } + uses DAGR-GROUP-INFO; + } + } + container resolution-history-client { + description + "Per node client-installed ARP resolution + history data"; + uses ARP-RESHIST; + } + container packet-history-interface-names { + description + "Per node packet history data for an interface"; + list packet-history-interface-name { + key "interface-name"; + description + "Per interface packet history data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses ARP-PAKHIST; + } + } + container packet-history-all { + description + "Per node packet history data"; + uses ARP-PAKHIST; + } + container arp-red-sync-gids { + description + "ARP sync redundancy entry data"; + list arp-red-sync-gid { + key "group-id"; + description + "ARP sync redundancy entry data"; + leaf group-id { + type uint32 { + range "0..4294967295"; + } + description + "group ID"; + } + uses ARP-SYNC-ENTRY; + } + } + container arp-stats { + description + "Per node ARP statistics"; + uses IP-ARP-STATISTICS; + } + container adjacency-history-all { + description + "Per node adjacency history data"; + uses ARP-AIBHIST; + } + container thread-queue-statistics { + description + "Per node ARP Thread Queue Statistics"; + uses IP-ARP-THREAD-QUEUE-STATS; + } + container idb-events-interface-names { + description + "ARP interface database events"; + list idb-events-interface-name { + key "interface-name"; + description + "IDB events for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses EVT-HIST-INFO; + } + } + container entries { + description + "Table of ARP entries"; + list entry { + key "address interface-name"; + description + "ARP entry"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP Address of ARP entry"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses IP-ARP-TABLE-ENTRY; + } + } + container traffic-interfaces { + description + "ARP Traffic information per interface"; + list traffic-interface { + key "interface-name"; + description + "Per interface traffic data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses IP-ARP-STATISTICS; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-datatypes.yang new file mode 100644 index 000000000..636bfc705 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-datatypes.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XR-ipv4-autorp-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-autorp-datatypes"; + prefix ipv4-autorp-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Auto-rp-protocol-mode { + type enumeration { + enum "sparse" { + value 0; + description + "Sparse Mode"; + } + enum "bidirectional" { + value 1; + description + "Bidirectional Mode"; + } + } + description + "Auto rp protocol mode"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub1.yang new file mode 100644 index 000000000..bac5e7cdf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub1.yang @@ -0,0 +1,164 @@ +submodule Cisco-IOS-XR-ipv4-autorp-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-autorp-oper { + prefix Cisco-IOS-XR-ipv4-autorp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-autorp-oper-sub2 { + revision-date 2019-08-27; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-autorp package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-08-27 { + description + "Providing AutoRP information"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping AUTORP-MAP-SUMMARY-BAG { + description + "Auto-RP Mapping Agent summary"; + leaf is-maximum-disabled { + type boolean; + description + "Is maximum enforcement disabled ?"; + } + leaf cache-limit { + type uint32; + description + "Maximum group to RP mapping entries allowed"; + } + leaf cache-count { + type uint32; + description + "Number of group to RP mapping entries in the + cache"; + } + } + + grouping AUTORP-MAP-RANGE-BAG { + description + "MRIB multicast-routing entry-interface"; + leaf prefix { + type inet:ipv4-address; + description + "Prefix of the range"; + } + leaf prefix-length { + type uint8; + description + "Prefix length of the range"; + } + leaf protocol-mode { + type Autorp-protocol-mode; + description + "Protocol Mode"; + } + leaf is-advertised { + type boolean; + description + "Is this entry advertised ?"; + } + leaf create-type { + type uint8; + description + "Source of the entry"; + } + leaf check-point-object-id { + type uint32; + description + "Checkpoint object id"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + } + + grouping AUTORP-MAP-RP-BAG { + description + "Auto-RP Mapping Agent entry"; + leaf rp-address-xr { + type inet:ipv4-address; + description + "Candidate-RP address"; + } + leaf expiry-time { + type uint64; + units "second"; + description + "Time for expiration in seconds"; + } + leaf pim-version { + type uint8; + description + "PIM version of the CRP"; + } + list range { + description + "Array of ranges"; + uses AUTORP-MAP-RANGE-BAG; + } + } + + grouping AUTORP-MAP-TRAFFIC-BAG { + description + "Auto-RP Mapping Agent Traffic Counters"; + leaf active-sent-packets { + type uint32; + description + "Number of packets sent in active role"; + } + leaf standby-sent-packets { + type uint32; + description + "Number of packets dropped in send path in + standby role"; + } + leaf active-received-packets { + type uint32; + description + "Number of packets received in active role"; + } + leaf standby-received-packets { + type uint32; + description + "Number of packets dropped in receive path in + standby role"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub2.yang new file mode 100644 index 000000000..8318b1af3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper-sub2.yang @@ -0,0 +1,109 @@ +submodule Cisco-IOS-XR-ipv4-autorp-oper-sub2 { + belongs-to Cisco-IOS-XR-ipv4-autorp-oper { + prefix Cisco-IOS-XR-ipv4-autorp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-autorp package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-08-27 { + description + "Providing AutoRP information"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Autorp-protocol-mode { + type enumeration { + enum "sparse" { + value 0; + description + "sparse"; + } + enum "bidirectional" { + value 1; + description + "bidirectional"; + } + } + description + "Autorp protocol mode"; + } + + grouping AUTORP-CRP-BAG { + description + "Auto-RP Candidate RP entry"; + leaf access-list-name { + type string; + description + "ACL Name"; + } + leaf candidate-rp-address { + type inet:ipv4-address; + description + "Candidate RP IP Address"; + } + leaf ttl { + type int32; + description + "TTL"; + } + leaf announce-period { + type int32; + description + "Announce Period"; + } + leaf protocol-mode-xr { + type Autorp-protocol-mode; + description + "Protocol Mode"; + } + } + + grouping AUTORP-CRP-TRAFFIC-BAG { + description + "Auto-RP Candidate Traffic Counters"; + leaf active-sent-packets { + type uint32; + description + "Number of packets sent in active role"; + } + leaf standby-sent-packets { + type uint32; + description + "Number of packets dropped in send path in + standby role"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper.yang new file mode 100644 index 000000000..99803f1c9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-autorp-oper.yang @@ -0,0 +1,147 @@ +module Cisco-IOS-XR-ipv4-autorp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-autorp-oper"; + prefix ipv4-autorp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv4-autorp-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-ipv4-autorp-oper-sub2 { + revision-date 2019-08-27; + } + include Cisco-IOS-XR-ipv4-autorp-oper-sub1 { + revision-date 2019-08-27; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-autorp package operational data. + + This module contains definitions + for the following management objects: + auto-rp: AutoRP operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-08-27 { + description + "Providing AutoRP information"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MAPPING-AGENT { + description + "Common node of active, standby"; + container mapping-agent { + description + "AutoRP Mapping Agent Table"; + container traffic { + description + "AutoRP Mapping Agent Traffic Counters"; + uses AUTORP-MAP-TRAFFIC-BAG; + } + container rp-addresses { + description + "AutoRP Mapping Agent Table Entries"; + list rp-address { + key "rp-address"; + description + "AutoRP Mapping Agent Entry"; + leaf rp-address { + type inet:ipv4-address-no-zone; + description + "RP Address"; + } + uses AUTORP-MAP-RP-BAG; + } + } + container summary { + description + "AutoRP Mapping Agent Summary Information"; + uses AUTORP-MAP-SUMMARY-BAG; + } + } + } + + grouping CANDIDATE-RP { + description + "Common node of active, standby"; + container candidate-rp { + description + "AutoRP Candidate RP"; + container traffic { + description + "AutoRP Candidate Traffic Counters"; + uses AUTORP-CRP-TRAFFIC-BAG; + } + container rps { + description + "AutoRP Candidate RP Table"; + list rp { + key "interface-name protocol-mode"; + description + "AutoRP Candidate RP Entry"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf protocol-mode { + type dt1:Auto-rp-protocol-mode; + description + "Protocol Mode"; + } + uses AUTORP-CRP-BAG; + } + } + } + } + + container auto-rp { + config false; + description + "AutoRP operational data"; + container standby { + description + "Standby Process"; + uses CANDIDATE-RP; + uses MAPPING-AGENT; + } + container active { + description + "Active Process"; + uses CANDIDATE-RP; + uses MAPPING-AGENT; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-act.yang new file mode 100644 index 000000000..cf304fd49 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-act.yang @@ -0,0 +1,15245 @@ +module Cisco-IOS-XR-ipv4-bgp-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-act"; + prefix bgp-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-15 { + description + "Added slow peer clear commands"; + semver:module-version "1.2.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-10-12 { + description + "IOS XR 6.2.1 revision."; + } + + typedef update-group-id { + type string { + pattern "(([0-9]|1[0-5])\\.\\d+)"; + } + description + "Update group id"; + } + + typedef refresh-sub-group-id { + type string { + pattern "(([0-9]|1[0-5])\\.\\d+)(:\\d+)"; + } + description + "Refresh sub-group id"; + } + + typedef ip-netmask { + type inet:ip-address; + description + "IP netmask"; + } + + typedef ipv4-netmask { + type inet:ipv4-address; + description + "IPv4 netmask"; + } + + typedef ipv6-netmask { + type inet:ipv6-address; + description + "IPv6 netmask"; + } + + typedef two-byte { + type uint16 { + range "1..65535"; + } + description + "Two byte"; + } + + typedef as-number { + type union { + type two-byte-as; + type four-byte-as; + } + description + "AS number"; + } + + typedef two-byte-as { + type uint16 { + range "1..65535"; + } + description + "Two byte AS"; + } + + typedef four-byte-as { + type union { + type as-four-byte; + type as-plain; + } + description + "Four byte AS"; + } + + typedef as-four-byte { + type string { + pattern "(\\d+\\.\\d+)"; + } + description + "AS four byte"; + } + + typedef as-plain { + type uint32 { + range "65536..4294967295"; + } + description + "AS plain"; + } + + typedef rd { + type union { + type rd-four-byte-as; + type rd-two-byte-as; + type rd-plain-as; + type rd-ipv4-address; + } + description + "Route distinguisher"; + } + + typedef rd-four-byte-as { + type string { + pattern "(\\d+\\.\\d+:\\d+)"; + } + description + "Route distinguisher four byte AS"; + } + + typedef rd-two-byte-as { + type string { + pattern "(\\d+:\\d+)"; + } + description + "Route distinguisher two byte AS"; + } + + typedef rd-plain-as { + type string { + pattern "(\\d+:\\d+)"; + } + description + "Route distinguisher plain AS"; + } + + typedef rd-ipv4-address { + 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])(:\\d+)"; + } + description + "Route distinguisher IPv4 address"; + } + + typedef afi-safi-type { + type enumeration { + enum "all-all" { + description + "Both unicast and multicast address family modifiers + of ipv4 and ipv6 address family"; + } + enum "all-evpn" { + description + "All EVPN"; + } + enum "all-flowspec" { + description + "All flowspec"; + } + enum "all-labeled-unicast" { + description + "All labeled unicast"; + } + enum "all-mdt" { + description + "All MDT"; + } + enum "all-mspw" { + description + "All MSPW"; + } + enum "all-multicast" { + description + "All multicast"; + } + enum "all-mvpn" { + description + "All MVPN"; + } + enum "all-rt-filter" { + description + "All RT filter"; + } + enum "all-sr-policy" { + description + "All SR policy"; + } + enum "all-tunnel" { + description + "All tunnel"; + } + enum "all-unicast" { + description + "All unicat"; + } + enum "all-vpls" { + description + "All VPLS"; + } + enum "all-vpws" { + description + "All VPWS"; + } + enum "ipv4-all" { + description + "Both unicast and multicast address family modifiers"; + } + enum "ipv4-flowspec" { + description + "IPv4 flowspec"; + } + enum "ipv4-labeled-unicast" { + description + "IPv4 labeled unicast"; + } + enum "ipv4-mdt" { + description + "IPv4 MDT"; + } + enum "ipv4-multicast" { + description + "IPv4 multicast"; + } + enum "ipv4-mvpn" { + description + "IPv4 MVPN"; + } + enum "ipv4-rt-filter" { + description + "IPv4 RT filter"; + } + enum "ipv4-sr-policy" { + description + "IPv4 SR policy"; + } + enum "ipv4-tunnel" { + description + "IPv4 tunnel"; + } + enum "ipv4-unicast" { + description + "IPv4 unicast"; + } + enum "ipv6-all" { + description + "Both unicast and multicast address family modifiers"; + } + enum "ipv6-flowspec" { + description + "IPv6 flowspec"; + } + enum "ipv6-labeled-unicast" { + description + "IPv6 labeled unicast"; + } + enum "ipv6-multicast" { + description + "IPv6 multicast"; + } + enum "ipv6-mvpn" { + description + "IPv6 MVPN"; + } + enum "ipv6-sr-policy" { + description + "IPv6 SR policy"; + } + enum "ipv6-unicast" { + description + "IPv6 unicast"; + } + enum "l2vpn-evpn" { + description + "l2vpn evpn"; + } + enum "l2vpn-mspw" { + description + "l2vpn mspw"; + } + enum "l2vpn-vpls" { + description + "l2vpn vpls"; + } + enum "l2vpn-vpws" { + description + "l2vpn vpws"; + } + enum "link-state" { + description + "link state"; + } + enum "vpnv4-flowspec" { + description + "vpnv4 flowspec"; + } + enum "vpnv4-multicast" { + description + "vpnv4 multicast"; + } + enum "vpnv4-unicast" { + description + "vpnv4 unicast"; + } + enum "vpnv6-flowspec" { + description + "vpnv6 flowspec"; + } + enum "vpnv6-multicast" { + description + "vpnv6 multicast"; + } + enum "vpnv6-unicast" { + description + "vpnv6 unicast"; + } + } + description + "afi safi type"; + } + + typedef afi { + type enumeration { + enum "all" { + description + "Both ipv4 and ipv6 address families"; + } + enum "ipv4" { + description + "afi ipv4"; + } + enum "ipv6" { + description + "afi ipv6"; + } + enum "l2vpn" { + description + "afi l2vpn"; + } + enum "link-state" { + description + "afi link state"; + } + enum "vpnv4" { + description + "afi vpnv4"; + } + enum "vpnv6" { + description + "afi vpnv6"; + } + } + description + "afi"; + } + + typedef safi { + type union { + type ipv4-safi; + type ipv6-safi; + type l2vpn-safi; + type link-state-safi; + type vpnv4-safi; + type vpnv6-safi; + } + description + "safi"; + } + + typedef ipv4-safi { + type enumeration { + enum "all" { + description + "Both unicast and multicast address family modifiers"; + } + enum "flowspec" { + description + "ipv4-safi flowspec"; + } + enum "labeled-unicast" { + description + "ipv4-safi labeled unicast"; + } + enum "mdt" { + description + "ipv4-safi mdt"; + } + enum "multicast" { + description + "ipv4-safi multicast"; + } + enum "mvpn" { + description + "ipv4-safi mvpn"; + } + enum "rt-filter" { + description + "ipv4-safi rt filter"; + } + enum "sr-policy" { + description + "ipv4-safi sr policy"; + } + enum "tunnel" { + description + "ipv4-safi tunnel"; + } + enum "unicast" { + description + "ipv4-safi unicast"; + } + } + description + "ipv4 safi"; + } + + typedef ipv6-safi { + type enumeration { + enum "all" { + description + "Both unicast and multicast address family modifiers"; + } + enum "flowspec" { + description + "ipv6-safi flowspec"; + } + enum "labeled-unicast" { + description + "ipv6-safi labeled unicast"; + } + enum "multicast" { + description + "ipv6-safi multicast"; + } + enum "mvpn" { + description + "ipv6-safi mvpn"; + } + enum "sr-policy" { + description + "ipv6-safi sr policy"; + } + enum "unicast" { + description + "ipv6-safi unicast"; + } + } + description + "ipv6 safi"; + } + + typedef l2vpn-safi { + type enumeration { + enum "evpn" { + description + "l2vpn safi evpn"; + } + enum "mspw" { + description + "l2vpn safi mspw"; + } + enum "vpls" { + description + "l2vpn safi vpls"; + } + enum "vpws" { + description + "l2vpn safi vpws"; + } + } + description + "l2vpn safi"; + } + + typedef link-state-safi { + type enumeration { + enum "link-state" { + description + "link state"; + } + } + description + "link state safi"; + } + + typedef vpnv4-safi { + type enumeration { + enum "flowspec" { + description + "vpnv4 safi flowspec"; + } + enum "multicast" { + description + "vpnv4 safi multicast"; + } + enum "unicast" { + description + "vpnv4 safi unicast"; + } + } + description + "vpnv4 safi"; + } + + typedef vpnv6-safi { + type enumeration { + enum "flowspec" { + description + "vpnv6 safi flowspec"; + } + enum "multicast" { + description + "vpnv6 safi multicast"; + } + enum "unicast" { + description + "vpnv6 safi unicast"; + } + } + description + "vpnv6 safi"; + } + + typedef instance-name { + type union { + type enumeration { + enum "all" { + description + "instance name all"; + } + } + type string; + } + description + "instance name"; + } + + typedef vrf-name { + type union { + type enumeration { + enum "all" { + description + "vrf name all"; + } + } + type string; + } + description + "vrf name"; + } + + rpc clear-bgp-all-graceful { + description + "Clear all peers and all routes from the BGP table. + Clear with a hard reset and a graceful restart. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp * graceful"; + } + rpc clear-bgp-all { + description + "Clear all peers and all routes from the BGP table.\n"; + csc:xr-task "bgp"; + csc:cli-command "clear bgp *"; + } + rpc clear-bgp-ip-addr-graceful { + description + "BGP neighbor address to clear. + Clear with a hard reset and a graceful restart. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp graceful"; + } + rpc clear-bgp-ip-addr-long-lived-stale { + description + "BGP neighbor address to clear. + Clear long-lived-stale routes. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp long-lived-stale"; + } + rpc clear-bgp-ip-addr { + description + "BGP neighbor address to clear.\n"; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp "; + } + rpc clear-bgp-afi-safi-all-soft-in-prefix-filter { + description + "Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp * soft in prefix-filter"; + } + rpc clear-bgp-afi-safi-all-soft-in { + description + "Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp * soft in"; + } + rpc clear-bgp-afi-safi-all-soft-out { + description + "Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp * soft out"; + } + rpc clear-bgp-afi-safi-all-soft { + description + "Clear all peers and all routes from the BGP table. + Soft reconfig. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp * soft"; + } + rpc clear-bgp-afi-safi-ip-addr-long-lived-stale { + description + "Clear long-lived-stale routes.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp long-lived-stale"; + } + rpc clear-bgp-afi-safi-ip-addr-soft-in-prefix-filter { + description + "Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp soft in prefix-filter"; + } + rpc clear-bgp-afi-safi-ip-addr-soft-in { + description + "Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp soft in"; + } + rpc clear-bgp-afi-safi-ip-addr-soft-out { + description + "Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp soft out"; + } + rpc clear-bgp-afi-safi-ip-addr-soft { + description + "Soft reconfig.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp soft"; + } + rpc clear-bgp-afi-safi-as-soft-in-prefix-filter { + description + "Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp as soft in prefix-filter"; + } + rpc clear-bgp-afi-safi-as-soft-in { + description + "Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp as soft in"; + } + rpc clear-bgp-afi-safi-as-soft-out { + description + "Clear peers in a specific AS. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp as soft out"; + } + rpc clear-bgp-afi-safi-as-soft { + description + "Clear peers in a specific AS. + Soft reconfig. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp as soft"; + } + rpc clear-bgp-afi-safi-dampening-ip-prefix { + description + "Clear route flap dampening information.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp dampening "; + } + rpc clear-bgp-afi-safi-dampening { + description + "Clear route flap dampening information.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp dampening"; + } + rpc clear-bgp-afi-safi-external-soft-in-prefix-filter { + description + "Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp external soft in prefix-filter"; + } + rpc clear-bgp-afi-safi-external-soft-in { + description + "Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp external soft in"; + } + rpc clear-bgp-afi-safi-external-soft-out { + description + "Clear all external peers. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp external soft out"; + } + rpc clear-bgp-afi-safi-external-soft { + description + "Clear all external peers. + Soft reconfig. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp external soft"; + } + rpc clear-bgp-afi-safi-flap-statistics-ip-addr-ipv4-mask { + description + "Clear flap statistics.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics "; + } + rpc clear-bgp-afi-safi-flap-statistics-ip-addr { + description + "Clear flap statistics.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics "; + } + rpc clear-bgp-afi-safi-flap-statistics-ip-prefix { + description + "Clear flap statistics.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics "; + } + rpc clear-bgp-afi-safi-flap-statistics-regexp { + description + "Clear flap statistics. + Clear flap statistics for routes matching the regular expression. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf regexp-pattern { + type string; + mandatory true; + description + "A regular expression to match the BGP AS paths. Use 'ctrl-v ?' to enter '?'"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics regexp "; + } + rpc clear-bgp-afi-safi-flap-statistics-route-policy { + description + "Clear flap statistics. + Clear flap statistics for routes matching the route policy. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf route-policy-name { + type string; + mandatory true; + description + "Route Policy name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics route-policy "; + } + rpc clear-bgp-afi-safi-flap-statistics { + description + "Clear flap statistics.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics"; + } + rpc clear-bgp-afi-safi-nexthop-performance-statistics { + description + "Clear nexthop. + Performance statistics information related to processing. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp nexthop performance-statistics"; + } + rpc clear-bgp-afi-safi-nexthop-registration-ip-addr { + description + "Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp nexthop registration "; + } + rpc clear-bgp-afi-safi-self-originated { + description + "Clear redistributed, network and aggregate routes originated here.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp self-originated"; + } + rpc clear-bgp-afi-safi-shutdown { + description + "Clear all peers which were shut down due to low memory.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp shutdown"; + } + rpc clear-bgp-slow-peer { + description + "Clear slow-peer status for all neighbors + in default vrf and ipv4 unicast address family. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer"; + } + rpc clear-bgp-slow-peer-ip-addr { + description + "Clear slow-peer status for neighbor specified in + default vrf for ipv4 unicast address family. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer "; + } + rpc clear-bgp-slow-peer-afi-safi { + description + "Clear slow-peer status of all neighbors in the default + vrf belonging to the specified address family. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer "; + } + rpc clear-bgp-slow-peer-afi-safi-ip-addr { + description + "Clear slow-peer status of peer belonging to a particular + address family and neighbor in default vrf. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer "; + } + rpc clear-bgp-slow-peer-vrf { + description + "Clear slow-peer status of neighbors belonging to the + specified vrf and address family ipv4 unicast under + that vrf. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer vrf "; + } + rpc clear-bgp-slow-peer-vrf-ip-addr { + description + "Clear slow-peer status of specified neighbor belonging to the + specified vrf and address family ipv4 unicast under that vrf. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer vrf "; + } + rpc clear-bgp-slow-peer-vrf-afi-safi { + description + "Clear slow-peer status of all neighbors belonging to the + specified vrf and specified address family under that vrf. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer vrf "; + } + rpc clear-bgp-slow-peer-vrf-afi-safi-ip-addr { + description + "Clear slow-peer status of specified neighbor belonging to the + specified vrf and specified address family under that vrf. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp slow-peer vrf "; + } + rpc clear-bgp-instance-slow-peer { + description + "Clear slow-peer status for all neighbors + in default vrf and ipv4 unicast address family. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer"; + } + rpc clear-bgp-instance-slow-peer-ip-addr { + description + "Clear slow-peer status for neighbor specified in + default vrf for ipv4 unicast address family. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer "; + } + rpc clear-bgp-instance-slow-peer-afi-safi { + description + "Clear slow-peer status of all neighbors in the default + vrf belonging to the specified address family. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer "; + } + rpc clear-bgp-instance-slow-peer-afi-safi-ip-addr { + description + "Clear slow-peer status of peer belonging to a particular + address family and neighbor in default vrf. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer "; + } + rpc clear-bgp-instance-slow-peer-vrf { + description + "Clear slow-peer status of neighbors belonging to the + specified vrf and address family ipv4 unicast under + that vrf. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer vrf "; + } + rpc clear-bgp-instance-slow-peer-vrf-ip-addr { + description + "Clear slow-peer status of specified neighbor belonging to the + specified vrf and address family ipv4 unicast under that vrf. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer vrf "; + } + rpc clear-bgp-instance-slow-peer-vrf-afi-safi { + description + "Clear slow-peer status of all neighbors belonging to the + specified vrf and specified address family under that vrf. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer vrf "; + } + rpc clear-bgp-instance-slow-peer-vrf-afi-safi-ip-addr { + description + "Clear slow-peer status of specified neighbor belonging to the + specified vrf and specified address family under that vrf. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance slow-peer vrf "; + } + rpc clear-bgp-afi-safi-update-outq-address-family-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq address-family update-parent"; + } + rpc clear-bgp-afi-safi-update-outq-address-family { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq address-family"; + } + rpc clear-bgp-afi-safi-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor refresh update-parent"; + } + rpc clear-bgp-afi-safi-update-outq-neighbor-ip-addr-refresh { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor refresh"; + } + rpc clear-bgp-afi-safi-update-outq-neighbor-ip-addr-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor update-parent"; + } + rpc clear-bgp-afi-safi-update-outq-neighbor-ip-addr { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor "; + } + rpc clear-bgp-afi-safi-update-outq-update-group-sub-group-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group update-parent"; + } + rpc clear-bgp-afi-safi-update-outq-update-group-sub-group { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group "; + } + rpc clear-bgp-afi-safi-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group update-parent"; + } + rpc clear-bgp-afi-safi-update-outq-update-group-sub-group-refresh-sub-group { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group "; + } + rpc clear-bgp-afi-safi-update-outq-update-group-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group update-parent"; + } + rpc clear-bgp-afi-safi-update-outq-update-group { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group "; + } + rpc clear-bgp-as-graceful { + description + "Clear peers in a specific AS. + Clear with a hard reset and a graceful restart. + "; + input { + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp as graceful"; + } + rpc clear-bgp-as { + description + "Clear peers in a specific AS.\n"; + input { + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp as "; + } + rpc clear-bgp-bestpath-ip-addr-ip-netmask { + description + "re-run BGP bestpath selection.\n"; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-ip-addr { + description + "re-run BGP bestpath selection.\n"; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-ip-prefix { + description + "re-run BGP bestpath selection.\n"; + input { + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ip-addr-ip-netmask { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ip-addr { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ip-prefix { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-bridge-domain-ip-addr-ip-netmask { + description + "re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath bridge-domain "; + } + rpc clear-bgp-bestpath-afi-safi-bridge-domain-ip-addr { + description + "re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath bridge-domain "; + } + rpc clear-bgp-bestpath-afi-safi-bridge-domain-ip-prefix { + description + "re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath bridge-domain "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ip-addr-ip-netmask { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ip-addr { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ip-prefix { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-ipv4-addr-ipv4-mask { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ipv4-addr { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ipv4-prefix { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ipv4-addr { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-vrf-ipv4-addr { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-afi-safi-network { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-rd-network { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-vrf-network { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-afi-safi-rt-constraint-network { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rt-constraint-network { + type string; + mandatory true; + description + "RT-Constraint network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ipv4-tunnel-network { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-tunnel-network { + type string; + mandatory true; + description + "IPv4 Tunnel network :"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ipv6-addr-ipv6-netmask { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ipv6-addr { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-ipv6-prefix { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-rd { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-vrf { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-afi-safi { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-sr-policy-prefix { + description + "re-run BGP bestpath selection.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf sr-policy-prefix { + type string; + mandatory true; + description + "SR Policy prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath "; + } + rpc clear-bgp-bestpath-afi-safi-bridge-domain-ipv4-prefix { + description + "re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath bridge-domain "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ipv4-prefix { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-mp2mp-ipv4-prefix { + description + "re-run BGP bestpath selection. + Display routes for a specified Xconnect group:MP2MP. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf mp2mp { + type string; + mandatory true; + description + "Xconnect Group:mp2mp"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN VPWS Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath mp2mp "; + } + rpc clear-bgp-bestpath-afi-safi-vrf-ipv4-prefix { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "VPN Fspec Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ipv4-addr-ipv4-mask { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-vrf-ipv4-addr-ipv4-mask { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ipv6-addr-ipv6-netmask { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ipv6-addr { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-rd-ipv6-prefix { + description + "re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath rd "; + } + rpc clear-bgp-bestpath-afi-safi-vrf-ipv6-addr-ipv6-netmask { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-afi-safi-vrf-ipv6-addr { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-afi-safi-vrf-ipv6-prefix { + description + "re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-ip-addr-ip-netmask { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-ip-addr { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-ip-prefix { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-ipv4-prefix { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "Fspec IPv4 Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-ipv4-addr-ipv4-mask { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-ipv4-addr { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-network { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-rd-network { + description + "re-run BGP bestpath selection. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf rd "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-vrf-network { + description + "re-run BGP bestpath selection. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-ipv6-addr-ipv6-netmask { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-ipv6-addr { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-ipv6-prefix { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-rd { + description + "re-run BGP bestpath selection. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf rd "; + } + rpc clear-bgp-bestpath-vrf-afi-safi-vrf { + description + "re-run BGP bestpath selection. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf vrf "; + } + rpc clear-bgp-bestpath-vrf-afi-safi { + description + "re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp bestpath vrf "; + } + rpc clear-bgp-external-graceful { + description + "Clear all external peers. + Clear with a hard reset and a graceful restart. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp external graceful"; + } + rpc clear-bgp-external { + description + "Clear all external peers.\n"; + csc:xr-task "bgp"; + csc:cli-command "clear bgp external"; + } + rpc clear-bgp-instance-all-graceful { + description + "Choose a particular BGP instance. + Clear all peers and all routes from the BGP table. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance * graceful"; + } + rpc clear-bgp-instance-all { + description + "Choose a particular BGP instance. + Clear all peers and all routes from the BGP table. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance *"; + } + rpc clear-bgp-instance-ip-addr-graceful { + description + "Choose a particular BGP instance. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance graceful"; + } + rpc clear-bgp-instance-ip-addr-long-lived-stale { + description + "Choose a particular BGP instance. + Clear long-lived-stale routes. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance long-lived-stale"; + } + rpc clear-bgp-instance-ip-addr { + description + "Choose a particular BGP instance.\n"; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance "; + } + rpc clear-bgp-instance-afi-safi-all-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance * soft in prefix-filter"; + } + rpc clear-bgp-instance-afi-safi-all-soft-in { + description + "Choose a particular BGP instance. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance * soft in"; + } + rpc clear-bgp-instance-afi-safi-all-soft-out { + description + "Choose a particular BGP instance. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance * soft out"; + } + rpc clear-bgp-instance-afi-safi-all-soft { + description + "Choose a particular BGP instance. + Clear all peers and all routes from the BGP table. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance * soft"; + } + rpc clear-bgp-instance-afi-safi-ip-addr-long-lived-stale { + description + "Choose a particular BGP instance. + Clear long-lived-stale routes. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance long-lived-stale"; + } + rpc clear-bgp-instance-afi-safi-ip-addr-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance soft in prefix-filter"; + } + rpc clear-bgp-instance-afi-safi-ip-addr-soft-in { + description + "Choose a particular BGP instance. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance soft in"; + } + rpc clear-bgp-instance-afi-safi-ip-addr-soft-out { + description + "Choose a particular BGP instance. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance soft out"; + } + rpc clear-bgp-instance-afi-safi-ip-addr-soft { + description + "Choose a particular BGP instance. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance soft"; + } + rpc clear-bgp-instance-afi-safi-as-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance as soft in prefix-filter"; + } + rpc clear-bgp-instance-afi-safi-as-soft-in { + description + "Choose a particular BGP instance. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance as soft in"; + } + rpc clear-bgp-instance-afi-safi-as-soft-out { + description + "Choose a particular BGP instance. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance as soft out"; + } + rpc clear-bgp-instance-afi-safi-as-soft { + description + "Choose a particular BGP instance. + Clear peers in a specific AS. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance as soft"; + } + rpc clear-bgp-instance-afi-safi-dampening-ip-prefix { + description + "Choose a particular BGP instance. + Clear route flap dampening information. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance dampening "; + } + rpc clear-bgp-instance-afi-safi-dampening { + description + "Choose a particular BGP instance. + Clear route flap dampening information. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance dampening"; + } + rpc clear-bgp-instance-afi-safi-external-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance external soft in prefix-filter"; + } + rpc clear-bgp-instance-afi-safi-external-soft-in { + description + "Choose a particular BGP instance. + Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance external soft in"; + } + rpc clear-bgp-instance-afi-safi-external-soft-out { + description + "Choose a particular BGP instance. + Clear all external peers. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance external soft out"; + } + rpc clear-bgp-instance-afi-safi-external-soft { + description + "Choose a particular BGP instance. + Clear all external peers. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance external soft"; + } + rpc clear-bgp-instance-afi-safi-flap-statistics-ip-addr-ipv4-mask { + description + "Choose a particular BGP instance. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics "; + } + rpc clear-bgp-instance-afi-safi-flap-statistics-ip-addr { + description + "Choose a particular BGP instance. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics "; + } + rpc clear-bgp-instance-afi-safi-flap-statistics-ip-prefix { + description + "Choose a particular BGP instance. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics "; + } + rpc clear-bgp-instance-afi-safi-flap-statistics-regexp { + description + "Choose a particular BGP instance. + Clear flap statistics. + Clear flap statistics for routes matching the regular expression. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf regexp-pattern { + type string; + mandatory true; + description + "A regular expression to match the BGP AS paths. Use 'ctrl-v ?' to enter '?'"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics regexp "; + } + rpc clear-bgp-instance-afi-safi-flap-statistics-route-policy { + description + "Choose a particular BGP instance. + Clear flap statistics. + Clear flap statistics for routes matching the route policy. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf route-policy-name { + type string; + mandatory true; + description + "Route Policy name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics route-policy "; + } + rpc clear-bgp-instance-afi-safi-flap-statistics { + description + "Choose a particular BGP instance. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics"; + } + rpc clear-bgp-instance-afi-safi-nexthop-performance-statistics { + description + "Choose a particular BGP instance. + Clear nexthop. + Performance statistics information related to processing. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance nexthop performance-statistics"; + } + rpc clear-bgp-instance-afi-safi-nexthop-registration-ip-addr { + description + "Choose a particular BGP instance. + Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance nexthop registration "; + } + rpc clear-bgp-instance-afi-safi-self-originated { + description + "Choose a particular BGP instance. + Clear redistributed, network and aggregate routes originated here. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance self-originated"; + } + rpc clear-bgp-instance-afi-safi-shutdown { + description + "Choose a particular BGP instance. + Clear all peers which were shut down due to low memory. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance shutdown"; + } + rpc clear-bgp-instance-afi-safi-update-outq-address-family-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq address-family update-parent"; + } + rpc clear-bgp-instance-afi-safi-update-outq-address-family { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq address-family"; + } + rpc clear-bgp-instance-afi-safi-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor refresh update-parent"; + } + rpc clear-bgp-instance-afi-safi-update-outq-neighbor-ip-addr-refresh { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor refresh"; + } + rpc clear-bgp-instance-afi-safi-update-outq-neighbor-ip-addr-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor update-parent"; + } + rpc clear-bgp-instance-afi-safi-update-outq-neighbor-ip-addr { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor "; + } + rpc clear-bgp-instance-afi-safi-update-outq-update-group-sub-group-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-afi-safi-update-outq-update-group-sub-group { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group "; + } + rpc clear-bgp-instance-afi-safi-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-afi-safi-update-outq-update-group-sub-group-refresh-sub-group { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group "; + } + rpc clear-bgp-instance-afi-safi-update-outq-update-group-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group update-parent"; + } + rpc clear-bgp-instance-afi-safi-update-outq-update-group { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group "; + } + rpc clear-bgp-instance-as-graceful { + description + "Choose a particular BGP instance. + Clear peers in a specific AS. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance as graceful"; + } + rpc clear-bgp-instance-as { + description + "Choose a particular BGP instance. + Clear peers in a specific AS. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance as "; + } + rpc clear-bgp-instance-bestpath-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-ip-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-ip-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ip-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ip-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-bridge-domain-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath bridge-domain "; + } + rpc clear-bgp-instance-bestpath-afi-safi-bridge-domain-ip-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath bridge-domain "; + } + rpc clear-bgp-instance-bestpath-afi-safi-bridge-domain-ip-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath bridge-domain "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ip-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ip-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ipv4-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ipv4-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ipv4-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf-ipv4-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-afi-safi-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rt-constraint-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rt-constraint-network { + type string; + mandatory true; + description + "RT-Constraint network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ipv4-tunnel-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-tunnel-network { + type string; + mandatory true; + description + "IPv4 Tunnel network :"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ipv6-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-ipv6-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-afi-safi { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-sr-policy-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf sr-policy-prefix { + type string; + mandatory true; + description + "SR Policy prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath "; + } + rpc clear-bgp-instance-bestpath-afi-safi-bridge-domain-ipv4-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath bridge-domain "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ipv4-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-mp2mp-ipv4-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified Xconnect group:MP2MP. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf mp2mp { + type string; + mandatory true; + description + "Xconnect Group:mp2mp"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN VPWS Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath mp2mp "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf-ipv4-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "VPN Fspec Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ipv6-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-rd-ipv6-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath rd "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf-ipv6-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-afi-safi-vrf-ipv6-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-ip-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-ip-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-ipv4-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "Fspec IPv4 Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-ipv4-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-rd-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf rd "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-vrf-network { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-ipv6-addr { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-ipv6-prefix { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-rd { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf rd "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi-vrf { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf vrf "; + } + rpc clear-bgp-instance-bestpath-vrf-afi-safi { + description + "Choose a particular BGP instance. + re-run BGP bestpath selection. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance bestpath vrf "; + } + rpc clear-bgp-instance-external-graceful { + description + "Choose a particular BGP instance. + Clear all external peers. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance external graceful"; + } + rpc clear-bgp-instance-external { + description + "Choose a particular BGP instance. + Clear all external peers. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance external"; + } + rpc clear-bgp-instance-afi-safi-dampening-ipv4-prefix { + description + "Choose a particular BGP instance. + Clear route flap dampening information. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance dampening "; + } + rpc clear-bgp-instance-afi-safi-flap-statistics-ipv4-prefix { + description + "Choose a particular BGP instance. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics "; + } + rpc clear-bgp-instance-afi-safi-dampening-ipv6-prefix { + description + "Choose a particular BGP instance. + Clear route flap dampening information. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance dampening "; + } + rpc clear-bgp-instance-afi-safi-flap-statistics-ipv6-prefix { + description + "Choose a particular BGP instance. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance flap-statistics "; + } + rpc clear-bgp-instance-nexthop-performance-statistics { + description + "Choose a particular BGP instance. + Clear nexthop. + Performance statistics information related to processing. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance nexthop performance-statistics"; + } + rpc clear-bgp-instance-nexthop-registration-ip-addr { + description + "Choose a particular BGP instance. + Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance nexthop registration "; + } + rpc clear-bgp-instance-peer-drops-all { + description + "Choose a particular BGP instance. + Clear established/dropped counters for a peer. + All Neighbors. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance peer-drops *"; + } + rpc clear-bgp-instance-peer-drops-ip-addr { + description + "Choose a particular BGP instance. + Clear established/dropped counters for a peer. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor IP address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance peer-drops "; + } + rpc clear-bgp-instance-performance-statistics { + description + "Choose a particular BGP instance. + Clear performance statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance performance-statistics"; + } + rpc clear-bgp-instance-rpki-server-all-serial-query { + description + "Choose a particular BGP instance. + RPKI clear command. + clear RPKI cache-server. + clear all RPKI cache-servers. + send serial-queries to all cache-servers (with latest serial numbers). + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance rpki server * serial-query"; + } + rpc clear-bgp-instance-rpki-server-all { + description + "Choose a particular BGP instance. + RPKI clear command. + clear RPKI cache-server. + clear all RPKI cache-servers. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance rpki server *"; + } + rpc clear-bgp-instance-rpki-server-rpki-server { + description + "Choose a particular BGP instance. + RPKI clear command. + clear RPKI cache-server. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf rpki-server { + type string; + mandatory true; + description + "clear a specific RPKI cache-server (hostname or IP address)"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance rpki server "; + } + rpc clear-bgp-instance-rpki-validation-ipv4 { + description + "Choose a particular BGP instance. + RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv4 table. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance rpki validation ipv4"; + } + rpc clear-bgp-instance-rpki-validation-ipv6 { + description + "Choose a particular BGP instance. + RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv6 table. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance rpki validation ipv6"; + } + rpc clear-bgp-instance-rpki-validation { + description + "Choose a particular BGP instance. + RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance rpki validation"; + } + rpc clear-bgp-instance-shutdown { + description + "Choose a particular BGP instance. + Clear all peers which were shut down due to low memory. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance shutdown"; + } + rpc clear-bgp-instance-update-outq-address-family-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq address-family update-parent"; + } + rpc clear-bgp-instance-update-outq-address-family { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq address-family"; + } + rpc clear-bgp-instance-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor refresh update-parent"; + } + rpc clear-bgp-instance-update-outq-neighbor-ip-addr-refresh { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor refresh"; + } + rpc clear-bgp-instance-update-outq-neighbor-ip-addr-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor update-parent"; + } + rpc clear-bgp-instance-update-outq-neighbor-ip-addr { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq neighbor "; + } + rpc clear-bgp-instance-update-outq-process { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Process. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq process"; + } + rpc clear-bgp-instance-update-outq-update-group-sub-group-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-update-outq-update-group-sub-group { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group "; + } + rpc clear-bgp-instance-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-update-outq-update-group-sub-group-refresh-sub-group { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group sub-group "; + } + rpc clear-bgp-instance-update-outq-update-group-update-parent { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group update-parent"; + } + rpc clear-bgp-instance-update-outq-update-group { + description + "Choose a particular BGP instance. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance update outq update-group "; + } + rpc clear-bgp-instance-version-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-ip-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-ip-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ip-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ip-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-bridge-domain-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version bridge-domain "; + } + rpc clear-bgp-instance-version-afi-safi-bridge-domain-ip-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version bridge-domain "; + } + rpc clear-bgp-instance-version-afi-safi-bridge-domain-ip-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version bridge-domain "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ip-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ip-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ipv4-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ipv4-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ipv4-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-vrf-ipv4-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-afi-safi-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-rd-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-vrf-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-afi-safi-rt-constraint-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rt-constraint-network { + type string; + mandatory true; + description + "RT-Constraint network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ipv4-tunnel-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-tunnel-network { + type string; + mandatory true; + description + "IPv4 Tunnel network :"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ipv6-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-ipv6-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-rd { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-vrf { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-afi-safi { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-sr-policy-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf sr-policy-prefix { + type string; + mandatory true; + description + "SR Policy prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version "; + } + rpc clear-bgp-instance-version-afi-safi-bridge-domain-ipv4-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version bridge-domain "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ipv4-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-mp2mp-ipv4-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified Xconnect group:MP2MP. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf mp2mp { + type string; + mandatory true; + description + "Xconnect Group:mp2mp"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN VPWS Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version mp2mp "; + } + rpc clear-bgp-instance-version-afi-safi-vrf-ipv4-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "VPN Fspec Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-vrf-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ipv6-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-rd-ipv6-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version rd "; + } + rpc clear-bgp-instance-version-afi-safi-vrf-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-afi-safi-vrf-ipv6-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-afi-safi-vrf-ipv6-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-ip-addr-ip-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-ip-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-ip-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-ipv4-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "Fspec IPv4 Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-ipv4-addr-ipv4-mask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-ipv4-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-rd-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf rd "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-vrf-network { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-ipv6-addr-ipv6-netmask { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-ipv6-addr { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-ipv6-prefix { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-rd { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf rd "; + } + rpc clear-bgp-instance-version-vrf-afi-safi-vrf { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf vrf "; + } + rpc clear-bgp-instance-version-vrf-afi-safi { + description + "Choose a particular BGP instance. + clear BGP prefix version. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance version vrf "; + } + rpc clear-bgp-instance-vrf-all-graceful { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers and all routes from the BGP table. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf * graceful"; + } + rpc clear-bgp-instance-vrf-all { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers and all routes from the BGP table. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf *"; + } + rpc clear-bgp-instance-vrf-ip-addr-graceful { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf graceful"; + } + rpc clear-bgp-instance-vrf-ip-addr-long-lived-stale { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear long-lived-stale routes. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf long-lived-stale"; + } + rpc clear-bgp-instance-vrf-ip-addr { + description + "Choose a particular BGP instance. + Specify a VRF. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf "; + } + rpc clear-bgp-instance-vrf-as-graceful { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear peers in a specific AS. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf as graceful"; + } + rpc clear-bgp-instance-vrf-as { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear peers in a specific AS. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf as "; + } + rpc clear-bgp-instance-vrf-external-graceful { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all external peers. + Clear with a hard reset and a graceful restart. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf external graceful"; + } + rpc clear-bgp-instance-vrf-external { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all external peers. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf external"; + } + rpc clear-bgp-instance-vrf-afi-safi-all-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf * soft in prefix-filter"; + } + rpc clear-bgp-instance-vrf-afi-safi-all-soft-in { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf * soft in"; + } + rpc clear-bgp-instance-vrf-afi-safi-all-soft-out { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf * soft out"; + } + rpc clear-bgp-instance-vrf-afi-safi-all-soft { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf * soft"; + } + rpc clear-bgp-instance-vrf-afi-safi-ip-addr-long-lived-stale { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear long-lived-stale routes. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf long-lived-stale"; + } + rpc clear-bgp-instance-vrf-afi-safi-ip-addr-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Specify a VRF. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf soft in prefix-filter"; + } + rpc clear-bgp-instance-vrf-afi-safi-ip-addr-soft-in { + description + "Choose a particular BGP instance. + Specify a VRF. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf soft in"; + } + rpc clear-bgp-instance-vrf-afi-safi-ip-addr-soft-out { + description + "Choose a particular BGP instance. + Specify a VRF. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf soft out"; + } + rpc clear-bgp-instance-vrf-afi-safi-ip-addr-soft { + description + "Choose a particular BGP instance. + Specify a VRF. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf soft"; + } + rpc clear-bgp-instance-vrf-afi-safi-as-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf as soft in prefix-filter"; + } + rpc clear-bgp-instance-vrf-afi-safi-as-soft-in { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf as soft in"; + } + rpc clear-bgp-instance-vrf-afi-safi-as-soft-out { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf as soft out"; + } + rpc clear-bgp-instance-vrf-afi-safi-as-soft { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf as soft"; + } + rpc clear-bgp-instance-vrf-afi-safi-dampening-ipv4-prefix { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear route flap dampening information. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf dampening "; + } + rpc clear-bgp-instance-vrf-afi-safi-dampening { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear route flap dampening information. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf dampening"; + } + rpc clear-bgp-instance-vrf-afi-safi-external-soft-in-prefix-filter { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf external soft in prefix-filter"; + } + rpc clear-bgp-instance-vrf-afi-safi-external-soft-in { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf external soft in"; + } + rpc clear-bgp-instance-vrf-afi-safi-external-soft-out { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all external peers. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf external soft out"; + } + rpc clear-bgp-instance-vrf-afi-safi-external-soft { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all external peers. + Soft reconfig. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf external soft"; + } + rpc clear-bgp-instance-vrf-afi-safi-flap-statistics-ip-addr-ipv4-mask { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf flap-statistics "; + } + rpc clear-bgp-instance-vrf-afi-safi-flap-statistics-ip-addr { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf flap-statistics "; + } + rpc clear-bgp-instance-vrf-afi-safi-flap-statistics-ipv4-prefix { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf flap-statistics "; + } + rpc clear-bgp-instance-vrf-afi-safi-flap-statistics-regexp { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear flap statistics. + Clear flap statistics for routes matching the regular expression. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf regexp-pattern { + type string; + mandatory true; + description + "A regular expression to match the BGP AS paths. Use 'ctrl-v ?' to enter '?'"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf flap-statistics regexp "; + } + rpc clear-bgp-instance-vrf-afi-safi-flap-statistics-route-policy { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear flap statistics. + Clear flap statistics for routes matching the route policy. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf route-policy-name { + type string; + mandatory true; + description + "Route Policy name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf flap-statistics route-policy "; + } + rpc clear-bgp-instance-vrf-afi-safi-flap-statistics { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf flap-statistics"; + } + rpc clear-bgp-instance-vrf-afi-safi-nexthop-performance-statistics { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear nexthop. + Performance statistics information related to processing. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf nexthop performance-statistics"; + } + rpc clear-bgp-instance-vrf-afi-safi-nexthop-registration-ip-addr { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf nexthop registration "; + } + rpc clear-bgp-instance-vrf-afi-safi-self-originated { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear redistributed, network and aggregate routes originated here. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf self-originated"; + } + rpc clear-bgp-instance-vrf-afi-safi-shutdown { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers which were shut down due to low memory. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf shutdown"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-address-family-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq address-family update-parent"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-address-family { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq address-family"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor refresh update-parent"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-neighbor-ip-addr-refresh { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor refresh"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-neighbor-ip-addr-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor update-parent"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-neighbor-ip-addr { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor "; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-update-group-sub-group-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-update-group-sub-group { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group "; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-update-group-sub-group-refresh-sub-group { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group "; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-update-group-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group update-parent"; + } + rpc clear-bgp-instance-vrf-afi-safi-update-outq-update-group { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group "; + } + rpc clear-bgp-instance-vrf-afi-safi-dampening-ipv6-prefix { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear route flap dampening information. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf dampening "; + } + rpc clear-bgp-instance-vrf-afi-safi-flap-statistics-ipv6-prefix { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear flap statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf flap-statistics "; + } + rpc clear-bgp-instance-vrf-nexthop-performance-statistics { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear nexthop. + Performance statistics information related to processing. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf nexthop performance-statistics"; + } + rpc clear-bgp-instance-vrf-nexthop-registration-ip-addr { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf nexthop registration "; + } + rpc clear-bgp-instance-vrf-peer-drops-all { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear established/dropped counters for a peer. + All Neighbors. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf peer-drops *"; + } + rpc clear-bgp-instance-vrf-peer-drops-ip-addr { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear established/dropped counters for a peer. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor IP address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf peer-drops "; + } + rpc clear-bgp-instance-vrf-performance-statistics { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear performance statistics. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf performance-statistics"; + } + rpc clear-bgp-instance-vrf-shutdown { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear all peers which were shut down due to low memory. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf shutdown"; + } + rpc clear-bgp-instance-vrf-update-outq-address-family-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq address-family update-parent"; + } + rpc clear-bgp-instance-vrf-update-outq-address-family { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq address-family"; + } + rpc clear-bgp-instance-vrf-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor refresh update-parent"; + } + rpc clear-bgp-instance-vrf-update-outq-neighbor-ip-addr-refresh { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor refresh"; + } + rpc clear-bgp-instance-vrf-update-outq-neighbor-ip-addr-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor update-parent"; + } + rpc clear-bgp-instance-vrf-update-outq-neighbor-ip-addr { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq neighbor "; + } + rpc clear-bgp-instance-vrf-update-outq-update-group-sub-group-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-vrf-update-outq-update-group-sub-group { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group "; + } + rpc clear-bgp-instance-vrf-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-instance-vrf-update-outq-update-group-sub-group-refresh-sub-group { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group sub-group "; + } + rpc clear-bgp-instance-vrf-update-outq-update-group-update-parent { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group update-parent"; + } + rpc clear-bgp-instance-vrf-update-outq-update-group { + description + "Choose a particular BGP instance. + Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf update outq update-group "; + } + rpc clear-bgp-afi-safi-dampening-ipv4-prefix { + description + "Clear route flap dampening information.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp dampening "; + } + rpc clear-bgp-afi-safi-flap-statistics-ipv4-prefix { + description + "Clear flap statistics.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics "; + } + rpc clear-bgp-afi-safi-dampening-ipv6-prefix { + description + "Clear route flap dampening information.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp dampening "; + } + rpc clear-bgp-afi-safi-flap-statistics-ipv6-prefix { + description + "Clear flap statistics.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp flap-statistics "; + } + rpc clear-bgp-nexthop-performance-statistics { + description + "Clear nexthop. + Performance statistics information related to processing. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp nexthop performance-statistics"; + } + rpc clear-bgp-nexthop-registration-ip-addr { + description + "Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp nexthop registration "; + } + rpc clear-bgp-peer-drops-all { + description + "Clear established/dropped counters for a peer. + All Neighbors. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp peer-drops *"; + } + rpc clear-bgp-peer-drops-ip-addr { + description + "Clear established/dropped counters for a peer.\n"; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor IP address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp peer-drops "; + } + rpc clear-bgp-performance-statistics { + description + "Clear performance statistics.\n"; + csc:xr-task "bgp"; + csc:cli-command "clear bgp performance-statistics"; + } + rpc clear-bgp-rpki-server-all-serial-query { + description + "RPKI clear command. + clear RPKI cache-server. + clear all RPKI cache-servers. + send serial-queries to all cache-servers (with latest serial numbers). + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp rpki server * serial-query"; + } + rpc clear-bgp-rpki-server-all { + description + "RPKI clear command. + clear RPKI cache-server. + clear all RPKI cache-servers. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp rpki server *"; + } + rpc clear-bgp-rpki-server-rpki-server { + description + "RPKI clear command. + clear RPKI cache-server. + "; + input { + leaf rpki-server { + type string; + mandatory true; + description + "clear a specific RPKI cache-server (hostname or IP address)"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp rpki server "; + } + rpc clear-bgp-rpki-validation-ipv4 { + description + "RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv4 table. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp rpki validation ipv4"; + } + rpc clear-bgp-rpki-validation-ipv6 { + description + "RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv6 table. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp rpki validation ipv6"; + } + rpc clear-bgp-rpki-validation { + description + "RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp rpki validation"; + } + rpc clear-bgp-shutdown { + description + "Clear all peers which were shut down due to low memory.\n"; + csc:xr-task "bgp"; + csc:cli-command "clear bgp shutdown"; + } + rpc clear-bgp-update-outq-address-family-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq address-family update-parent"; + } + rpc clear-bgp-update-outq-address-family { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq address-family"; + } + rpc clear-bgp-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor refresh update-parent"; + } + rpc clear-bgp-update-outq-neighbor-ip-addr-refresh { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor refresh"; + } + rpc clear-bgp-update-outq-neighbor-ip-addr-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor update-parent"; + } + rpc clear-bgp-update-outq-neighbor-ip-addr { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq neighbor "; + } + rpc clear-bgp-update-outq-process { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Process. + "; + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq process"; + } + rpc clear-bgp-update-outq-update-group-sub-group-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group update-parent"; + } + rpc clear-bgp-update-outq-update-group-sub-group { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group "; + } + rpc clear-bgp-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group update-parent"; + } + rpc clear-bgp-update-outq-update-group-sub-group-refresh-sub-group { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group sub-group "; + } + rpc clear-bgp-update-outq-update-group-update-parent { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group update-parent"; + } + rpc clear-bgp-update-outq-update-group { + description + "Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp update outq update-group "; + } + rpc clear-bgp-version-ip-addr-ip-netmask { + description + "clear BGP prefix version.\n"; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-ip-addr { + description + "clear BGP prefix version.\n"; + input { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-ip-prefix { + description + "clear BGP prefix version.\n"; + input { + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ip-addr-ip-netmask { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ip-addr { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ip-prefix { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-bridge-domain-ip-addr-ip-netmask { + description + "clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version bridge-domain "; + } + rpc clear-bgp-version-afi-safi-bridge-domain-ip-addr { + description + "clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version bridge-domain "; + } + rpc clear-bgp-version-afi-safi-bridge-domain-ip-prefix { + description + "clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version bridge-domain "; + } + rpc clear-bgp-version-afi-safi-rd-ip-addr-ip-netmask { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-rd-ip-addr { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-rd-ip-prefix { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-ipv4-addr-ipv4-mask { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ipv4-addr { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ipv4-prefix { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-rd-ipv4-addr { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-vrf-ipv4-addr { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 MDT network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-afi-safi-network { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-rd-network { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-vrf-network { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-afi-safi-rt-constraint-network { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rt-constraint-network { + type string; + mandatory true; + description + "RT-Constraint network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ipv4-tunnel-network { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-tunnel-network { + type string; + mandatory true; + description + "IPv4 Tunnel network :"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ipv6-addr-ipv6-netmask { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ipv6-addr { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-ipv6-prefix { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-rd { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-vrf { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-afi-safi { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-sr-policy-prefix { + description + "clear BGP prefix version.\n"; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf sr-policy-prefix { + type string; + mandatory true; + description + "SR Policy prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version "; + } + rpc clear-bgp-version-afi-safi-bridge-domain-ipv4-prefix { + description + "clear BGP prefix version. + Display routes for a specified Bridge Domain. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf bridge-domain-name { + type string; + mandatory true; + description + "Bridge Domain"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version bridge-domain "; + } + rpc clear-bgp-version-afi-safi-rd-ipv4-prefix { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN EVPN Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-mp2mp-ipv4-prefix { + description + "clear BGP prefix version. + Display routes for a specified Xconnect group:MP2MP. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf mp2mp { + type string; + mandatory true; + description + "Xconnect Group:mp2mp"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "L2VPN VPWS Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version mp2mp "; + } + rpc clear-bgp-version-afi-safi-vrf-ipv4-prefix { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "VPN Fspec Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-afi-safi-rd-ipv4-addr-ipv4-mask { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-vrf-ipv4-addr-ipv4-mask { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-afi-safi-rd-ipv6-addr-ipv6-netmask { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-rd-ipv6-addr { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-rd-ipv6-prefix { + description + "clear BGP prefix version. + Display routes with a specific route distinguisher. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version rd "; + } + rpc clear-bgp-version-afi-safi-vrf-ipv6-addr-ipv6-netmask { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-afi-safi-vrf-ipv6-addr { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-afi-safi-vrf-ipv6-prefix { + description + "clear BGP prefix version. + Display routes for a specified VRF. + "; + input { + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-ip-addr-ip-netmask { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + leaf ip-netmask { + type ip-netmask; + mandatory true; + description + "Mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-ip-addr { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-ip-prefix { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-prefix { + type inet:ip-prefix; + mandatory true; + description + "Network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-ipv4-prefix { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "Fspec IPv4 Prefix"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-ipv4-addr-ipv4-mask { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-ipv4-addr { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-addr { + type inet:ipv4-address; + mandatory true; + description + "IPv4 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-network { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-rd-network { + description + "clear BGP prefix version. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf rd "; + } + rpc clear-bgp-version-vrf-afi-safi-vrf-network { + description + "clear BGP prefix version. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + leaf network { + type string; + mandatory true; + description + "Address family modifier specific network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-ipv6-addr-ipv6-netmask { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + leaf ipv6-netmask { + type ipv6-netmask; + mandatory true; + description + "IPv6 mask"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-ipv6-addr { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-addr { + type inet:ipv6-address; + mandatory true; + description + "IPv6 network"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-ipv6-prefix { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 network and masklength"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-version-vrf-afi-safi-rd { + description + "clear BGP prefix version. + Specify a VRF. + Display routes with a specific route distinguisher. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf rd { + type rd; + mandatory true; + description + "Route distinguisher"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf rd "; + } + rpc clear-bgp-version-vrf-afi-safi-vrf { + description + "clear BGP prefix version. + Specify a VRF. + Display routes for a specified VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf vrf-name { + type string; + mandatory true; + description + "VRF name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf vrf "; + } + rpc clear-bgp-version-vrf-afi-safi { + description + "clear BGP prefix version. + Specify a VRF. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp version vrf "; + } + rpc clear-bgp-vrf-all-graceful { + description + "Specify a VRF. + Clear all peers and all routes from the BGP table. + Clear with a hard reset and a graceful restart. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf * graceful"; + } + rpc clear-bgp-instance-vrf-rpki-validation-ipv4 { + description + "Choose a particular BGP instance and VRF. + RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv4 table. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf rpki validation ipv4"; + } + rpc clear-bgp-instance-vrf-rpki-validation-ipv6 { + description + "Choose a particular BGP instance and VRF. + RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv6 table. + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf rpki validation ipv6"; + } + rpc clear-bgp-instance-vrf-rpki-validation { + description + "Choose a particular BGP instance and VRF. + RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + "; + input { + leaf instance-name { + type instance-name; + mandatory true; + description + "instance name or all"; + } + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp instance vrf rpki validation"; + } + rpc clear-bgp-vrf-rpki-validation-ipv4 { + description + "RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv4 table. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf rpki validation ipv4"; + } + rpc clear-bgp-vrf-rpki-validation-ipv6 { + description + "RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + trigger origin validation walk for the IPv6 table. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf rpki validation ipv6"; + } + rpc clear-bgp-vrf-rpki-validation { + description + "RPKI clear command. + clear RPKI origin-validation (trigger origin validation). + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf rpki validation"; + } + rpc clear-bgp-vrf-all { + description + "Specify a VRF. + Clear all peers and all routes from the BGP table. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf *"; + } + rpc clear-bgp-vrf-ip-addr-graceful { + description + "Specify a VRF. + Clear with a hard reset and a graceful restart. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf graceful"; + } + rpc clear-bgp-vrf-ip-addr-long-lived-stale { + description + "Specify a VRF. + Clear long-lived-stale routes. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf long-lived-stale"; + } + rpc clear-bgp-vrf-ip-addr { + description + "Specify a VRF.\n"; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf "; + } + rpc clear-bgp-vrf-as-graceful { + description + "Specify a VRF. + Clear peers in a specific AS. + Clear with a hard reset and a graceful restart. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf as graceful"; + } + rpc clear-bgp-vrf-as { + description + "Specify a VRF. + Clear peers in a specific AS. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf as "; + } + rpc clear-bgp-vrf-external-graceful { + description + "Specify a VRF. + Clear all external peers. + Clear with a hard reset and a graceful restart. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf external graceful"; + } + rpc clear-bgp-vrf-external { + description + "Specify a VRF. + Clear all external peers. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf external"; + } + rpc clear-bgp-vrf-afi-safi-all-soft-in-prefix-filter { + description + "Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf * soft in prefix-filter"; + } + rpc clear-bgp-vrf-afi-safi-all-soft-in { + description + "Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf * soft in"; + } + rpc clear-bgp-vrf-afi-safi-all-soft-out { + description + "Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf * soft out"; + } + rpc clear-bgp-vrf-afi-safi-all-soft { + description + "Specify a VRF. + Clear all peers and all routes from the BGP table. + Soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf * soft"; + } + rpc clear-bgp-vrf-afi-safi-ip-addr-long-lived-stale { + description + "Specify a VRF. + Clear long-lived-stale routes. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf long-lived-stale"; + } + rpc clear-bgp-vrf-afi-safi-ip-addr-soft-in-prefix-filter { + description + "Specify a VRF. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf soft in prefix-filter"; + } + rpc clear-bgp-vrf-afi-safi-ip-addr-soft-in { + description + "Specify a VRF. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf soft in"; + } + rpc clear-bgp-vrf-afi-safi-ip-addr-soft-out { + description + "Specify a VRF. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf soft out"; + } + rpc clear-bgp-vrf-afi-safi-ip-addr-soft { + description + "Specify a VRF. + Soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf soft"; + } + rpc clear-bgp-vrf-afi-safi-as-soft-in-prefix-filter { + description + "Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf as soft in prefix-filter"; + } + rpc clear-bgp-vrf-afi-safi-as-soft-in { + description + "Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf as soft in"; + } + rpc clear-bgp-vrf-afi-safi-as-soft-out { + description + "Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf as soft out"; + } + rpc clear-bgp-vrf-afi-safi-as-soft { + description + "Specify a VRF. + Clear peers in a specific AS. + Soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf as-number { + type as-number; + mandatory true; + description + "AS number"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf as soft"; + } + rpc clear-bgp-vrf-afi-safi-dampening-ipv4-prefix { + description + "Specify a VRF. + Clear route flap dampening information. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf dampening "; + } + rpc clear-bgp-vrf-afi-safi-dampening { + description + "Specify a VRF. + Clear route flap dampening information. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf dampening"; + } + rpc clear-bgp-vrf-afi-safi-external-soft-in-prefix-filter { + description + "Specify a VRF. + Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + Push out prefix ORF and do inbound soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf external soft in prefix-filter"; + } + rpc clear-bgp-vrf-afi-safi-external-soft-in { + description + "Specify a VRF. + Clear all external peers. + Soft reconfig. + Soft reconfig inbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf external soft in"; + } + rpc clear-bgp-vrf-afi-safi-external-soft-out { + description + "Specify a VRF. + Clear all external peers. + Soft reconfig. + Soft reconfig outbound update. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf external soft out"; + } + rpc clear-bgp-vrf-afi-safi-external-soft { + description + "Specify a VRF. + Clear all external peers. + Soft reconfig. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf external soft"; + } + rpc clear-bgp-vrf-afi-safi-flap-statistics-ip-addr-ipv4-mask { + description + "Specify a VRF. + Clear flap statistics. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + leaf ipv4-mask { + type ipv4-netmask; + mandatory true; + description + "IPv4 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf flap-statistics "; + } + rpc clear-bgp-vrf-afi-safi-flap-statistics-ip-addr { + description + "Specify a VRF. + Clear flap statistics. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor address to clear"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf flap-statistics "; + } + rpc clear-bgp-vrf-afi-safi-flap-statistics-ipv4-prefix { + description + "Specify a VRF. + Clear flap statistics. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv4-prefix { + type inet:ipv4-prefix; + mandatory true; + description + "IPv4 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf flap-statistics "; + } + rpc clear-bgp-vrf-afi-safi-flap-statistics-regexp { + description + "Specify a VRF. + Clear flap statistics. + Clear flap statistics for routes matching the regular expression. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf regexp-pattern { + type string; + mandatory true; + description + "A regular expression to match the BGP AS paths. Use 'ctrl-v ?' to enter '?'"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf flap-statistics regexp "; + } + rpc clear-bgp-vrf-afi-safi-flap-statistics-route-policy { + description + "Specify a VRF. + Clear flap statistics. + Clear flap statistics for routes matching the route policy. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf route-policy-name { + type string; + mandatory true; + description + "Route Policy name"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf flap-statistics route-policy "; + } + rpc clear-bgp-vrf-afi-safi-flap-statistics { + description + "Specify a VRF. + Clear flap statistics. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf flap-statistics"; + } + rpc clear-bgp-vrf-afi-safi-nexthop-performance-statistics { + description + "Specify a VRF. + Clear nexthop. + Performance statistics information related to processing. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf nexthop performance-statistics"; + } + rpc clear-bgp-vrf-afi-safi-nexthop-registration-ip-addr { + description + "Specify a VRF. + Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf nexthop registration "; + } + rpc clear-bgp-vrf-afi-safi-self-originated { + description + "Specify a VRF. + Clear redistributed, network and aggregate routes originated here. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf self-originated"; + } + rpc clear-bgp-vrf-afi-safi-shutdown { + description + "Specify a VRF. + Clear all peers which were shut down due to low memory. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf shutdown"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-address-family-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq address-family update-parent"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-address-family { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq address-family"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor refresh update-parent"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-neighbor-ip-addr-refresh { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor refresh"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-neighbor-ip-addr-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor update-parent"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-neighbor-ip-addr { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor "; + } + rpc clear-bgp-vrf-afi-safi-update-outq-update-group-sub-group-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-update-group-sub-group { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group "; + } + rpc clear-bgp-vrf-afi-safi-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-update-group-sub-group-refresh-sub-group { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group "; + } + rpc clear-bgp-vrf-afi-safi-update-outq-update-group-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group update-parent"; + } + rpc clear-bgp-vrf-afi-safi-update-outq-update-group { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group "; + } + rpc clear-bgp-vrf-afi-safi-dampening-ipv6-prefix { + description + "Specify a VRF. + Clear route flap dampening information. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear dampening information"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf dampening "; + } + rpc clear-bgp-vrf-afi-safi-flap-statistics-ipv6-prefix { + description + "Specify a VRF. + Clear flap statistics. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf afi-safi-name { + type afi-safi-type; + mandatory true; + description + "AFI and SAFI"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + mandatory true; + description + "IPv6 Network and mask or masklength to clear flap statistics"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf flap-statistics "; + } + rpc clear-bgp-vrf-nexthop-performance-statistics { + description + "Specify a VRF. + Clear nexthop. + Performance statistics information related to processing. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf nexthop performance-statistics"; + } + rpc clear-bgp-vrf-nexthop-registration-ip-addr { + description + "Specify a VRF. + Clear nexthop. + Registration with RIB and reregister. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Nexthop address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf nexthop registration "; + } + rpc clear-bgp-vrf-peer-drops-all { + description + "Specify a VRF. + Clear established/dropped counters for a peer. + All Neighbors. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf peer-drops *"; + } + rpc clear-bgp-vrf-peer-drops-ip-addr { + description + "Specify a VRF. + Clear established/dropped counters for a peer. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "BGP neighbor IP address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf peer-drops "; + } + rpc clear-bgp-vrf-performance-statistics { + description + "Specify a VRF. + Clear performance statistics. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf performance-statistics"; + } + rpc clear-bgp-vrf-shutdown { + description + "Specify a VRF. + Clear all peers which were shut down due to low memory. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf shutdown"; + } + rpc clear-bgp-vrf-update-outq-address-family-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq address-family update-parent"; + } + rpc clear-bgp-vrf-update-outq-address-family { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Address-family. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq address-family"; + } + rpc clear-bgp-vrf-update-outq-neighbor-ip-addr-refresh-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor refresh update-parent"; + } + rpc clear-bgp-vrf-update-outq-neighbor-ip-addr-refresh { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Refresh OutQ. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor refresh"; + } + rpc clear-bgp-vrf-update-outq-neighbor-ip-addr-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor update-parent"; + } + rpc clear-bgp-vrf-update-outq-neighbor-ip-addr { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Neighbor. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Neighbor address"; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq neighbor "; + } + rpc clear-bgp-vrf-update-outq-update-group-sub-group-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-vrf-update-outq-update-group-sub-group { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf sub-group { + type update-group-id; + mandatory true; + description + "Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group "; + } + rpc clear-bgp-vrf-update-outq-update-group-sub-group-refresh-sub-group-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group update-parent"; + } + rpc clear-bgp-vrf-update-outq-update-group-sub-group-refresh-sub-group { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Sub-group. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + leaf refresh-sub-group { + type refresh-sub-group-id; + mandatory true; + description + "Refresh Sub-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group sub-group "; + } + rpc clear-bgp-vrf-update-outq-update-group-update-parent { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + Update parents' OutQ counters too. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group update-parent"; + } + rpc clear-bgp-vrf-update-outq-update-group { + description + "Specify a VRF. + Clear Update information (Do NOT execute without cisco support)(cisco-support). + Clear Update generation OutQ counters (Do NOT execute without cisco support)(cisco-support). + Update-group. + "; + input { + leaf vrf-all { + type vrf-name; + mandatory true; + description + "VRF name or all"; + } + leaf update-group { + type update-group-id; + mandatory true; + description + "Update-group process ID "; + } + } + csc:xr-task "bgp"; + csc:cli-command "clear bgp vrf update outq update-group "; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-8000-deviations.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-8000-deviations.yang new file mode 100644 index 000000000..c8424ff0f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-8000-deviations.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-ipv4-bgp-cfg-8000-deviations { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pv4-bgp-cfg-8000-deviations"; + prefix ipv4-bgp-cfg-8000-dev; + + import Cisco-IOS-XR-ipv4-bgp-cfg { + prefix ipv4-bgp-cfg; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a set of deviations of container rack + for 8000 platform on Ciso-IOS-XR device. + + Copyright (c) 2017, 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-15 { + description + "Initial revision applicable to IOS-XR 7.6 and older releases"; + reference "RFC RFC 8407: 4.8"; + } + + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ebgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..128"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..128"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:eibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..128"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations.yang new file mode 100644 index 000000000..9f4c4e41e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540-deviations"; + prefix ipv4-bgp-cfg-ncs540-dev; + + import Cisco-IOS-XR-ipv4-bgp-cfg { + prefix ipv4-bgp-cfg; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a set of deviations of ipv4 bgp + for ncs540 platform on Ciso-IOS-XR device. + + Copyright (c) 2017, 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-15 { + description + "Initial revision applicable to IOS-XR 7.6 and older releases"; + reference "RFC RFC 8407: 4.8"; + } + + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ebgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:eibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations.yang new file mode 100644 index 000000000..b3ceff33a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-cfg-ncs540l-deviations"; + prefix ipv4-bgp-cfg-ncs540l-dev; + + import Cisco-IOS-XR-ipv4-bgp-cfg { + prefix ipv4-bgp-cfg; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a set of deviations of ipv4 bgp + for ncs540l platform on Ciso-IOS-XR device. + + Copyright (c) 2017, 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-15 { + description + "Initial revision applicable to IOS-XR 7.6 and older releases"; + reference "RFC RFC 8407: 4.8"; + } + + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ebgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:eibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations.yang new file mode 100644 index 000000000..c8e67a4cc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-cfg-ncs5500-deviations"; + prefix ipv4-bgp-cfg-ncs5500-dev; + + import Cisco-IOS-XR-ipv4-bgp-cfg { + prefix ipv4-bgp-cfg; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a set of deviations of ipv4 bgp + for ncs5500 platform on Ciso-IOS-XR device. + + Copyright (c) 2017, 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-15 { + description + "Initial revision applicable to IOS-XR 7.6 and older releases"; + reference "RFC RFC 8407: 4.8"; + } + + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ebgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:ibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } + deviation "/ipv4-bgp-cfg:bgp/ipv4-bgp-cfg:instance/ipv4-bgp-cfg:instance-as/ipv4-bgp-cfg:four-byte-as/ipv4-bgp-cfg:vrfs/ipv4-bgp-cfg:vrf/ipv4-bgp-cfg:vrf-global/ipv4-bgp-cfg:vrf-global-afs/ipv4-bgp-cfg:vrf-global-af/ipv4-bgp-cfg:eibgp/ipv4-bgp-cfg:paths-value" { + deviate replace { + type uint32 { + range "2..64"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg.yang new file mode 100644 index 000000000..77afd9659 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-cfg.yang @@ -0,0 +1,7417 @@ +module Cisco-IOS-XR-ipv4-bgp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-cfg"; + prefix ipv4-bgp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv4-bgp-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-infra-rsi-cfg { + prefix a1; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-bgp package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + asn-format: Autonomous system number format + bgp: BGP configuration commands + bmp-server-all: BGP BMP Server Common Configuration + bmp-servers: BGP BMP Server Configuration + + This YANG module augments the + Cisco-IOS-XR-infra-rsi-cfg, + Cisco-IOS-XR-snmp-agent-cfg + modules with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-01 { + description + "Added schema for log neighbor state changes + 2022-06-02 + Change wait-rib-install from leaf to container and introduce the delay startup leaf + 2022-03-15 + Added a new config knob for OC RIB Attr creation. + 2021-12-17 + Added create leaf under neighbor-address. This is required for neighbor creation in BGP + 2021-11-18 + Deviated the value of multipaths configurable under VRF."; + semver:module-version "5.0.1M"; + } + revision 2021-10-16 { + description + "Removed unused/deprecated options in maximum-paths config, updated leaf value type of deterministic leaf + 2021-06-30 + Added knobs for EPE label retention and EPE backup + 2021-06-27 + Changes involves segment routing alloc mode to be configured as a policy as well along with per-ce/per-vrf + 2021-05-04 + Added Bandwidth-Aware Graceful-Maintenance + 2021-05-03 + Added Import/Export Allow Config for backup and best-external"; + semver:module-version "5.0.0"; + } + revision 2021-03-05 { + description + "Deprecated Hidden commands + 2021-03-05 + Added SR Policy Path Prefernce CLI + 2021-02-07 + Add config to include cluster-list-length in multipath criteria + 2020-12-07 + cli/default behavior change for Soft NextHop Validation and Metric + 2020-12-01 + Added best-external advertise config limited to labeled-unicast + 2020-10-27 + BGP change dual-mode configure cli + 2020-10-09 + Changed RPKI password type to Proprietary + 2020-10-04 + Added Soft NextHop Validation and Metric + 2020-07-21 + BGP MIB cfg model has been updated to allow only one of updown or enable options"; + semver:module-version "4.0.0"; + } + revision 2020-06-16 { + description + "Fixing various spellings/typos in descriptions + 2020-05-13 + Support large values for BGP RPKI purge timeout. + 2020-01-29 + Enhancement for OC BFD augmentation in OC BGP. + 2019-10-31 + Added mandatory nodes and presence containers."; + semver:module-version "3.0.0"; + } + revision 2019-08-31 { + description + "Fixing revision error in module. + 2019-05-12 + Deprecated the native model, replaced by UM model."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2018-01-18 { + description + "Added AO option for neighbor"; + } + revision 2017-11-05 { + description + "Corrected boolean values in when statements."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-07-31 { + description + "Fixed missing augmentation from multiple MDA parent."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-06-01 { + description + "Revision description string."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-08-27 { + description + "IOS XR 5.3.2 revision."; + } + + typedef Bgp-mvpn-sfs-select { + type enumeration { + enum "all-paths" { + value 1; + description + "Select all paths as single forwarder PE"; + } + enum "highest-ip-address" { + value 2; + description + "Select PE with highest address as single + forwarder PE"; + } + } + description + "Bgp mvpn sfs select"; + } + + typedef Bgp-nbrgr { + type enumeration { + enum "true" { + value 0; + description + "NBR has enabled Graceful Restart capability"; + } + enum "false" { + value 1; + description + "NBR has disabled Graceful Restart capability"; + } + } + description + "Bgp nbrgr"; + } + + typedef Bmp-policy-select { + type enumeration { + enum "post-policy" { + value 2; + description + "Pickup routes after policy application"; + } + } + description + "Bmp policy select"; + } + + typedef Bgp-default-metric-range { + type uint32 { + range "0..4294967295"; + } + description + "Bgp default metric range"; + } + + typedef Bgp-ebgp-send-dmz-enable-mode { + type enumeration { + enum "disable" { + value 0; + description + "Disable Mode - Prevent inheritance"; + } + enum "default" { + value 1; + description + "Default Mode - Send dmz link bandwidth value to + ebgp neighbor"; + } + enum "cumulative" { + value 2; + description + "Strict Mode - Send cumulative dmz link + bandwidth value to ebgp neighbor"; + } + } + description + "Bgp ebgp send dmz enable mode"; + } + + typedef Bgp-rpki-binssrc { + type enumeration { + enum "interface" { + value 0; + description + "Bind Source Interface"; + } + } + description + "Bgp rpki binssrc"; + } + + typedef Bgp-signal { + type enumeration { + enum "bgp-disable" { + value 1; + description + "Signalling BGP disable"; + } + enum "ldp-disable" { + value 2; + description + "Signalling LDP disable"; + } + } + description + "Bgp signal"; + } + + typedef Bgp-vrf-route-target { + type enumeration { + enum "as" { + value 0; + description + "AS format RT"; + } + enum "ipv4-address" { + value 1; + description + "IPv4 address format RT"; + } + enum "four-byte-as" { + value 2; + description + "4-byte AS format RT"; + } + } + description + "Bgp vrf route target"; + } + + typedef Bgp-rpki-time-config { + type union { + type enumeration { + enum "off" { + value 0; + description + "Turn off knob"; + } + } + type uint32 { + range "0..3600"; + } + } + description + "Bgp rpki time config"; + } + + typedef Bgp-rnh-install-format { + type enumeration { + enum "ext-comm" { + value 0; + description + "Install RNH as opaque and extcomm"; + } + enum "ext-comm-only" { + value 1; + description + "Install RNH as extcomm only"; + } + } + description + "Bgp rnh install format"; + } + + typedef Bgp-bfd-enable-mode { + type enumeration { + enum "disable" { + value 0; + description + "Disable Mode - Prevent inheritance"; + } + enum "default" { + value 1; + description + "Default Mode - Default BFD behavior"; + } + enum "strict" { + value 2; + description + "Strict Mode - Hold down adj until BFD session + up"; + } + } + description + "Bgp bfd enable mode"; + } + + typedef Bgp-upd-dynamic { + type enumeration { + enum "bgp-dynamic-split-enable" { + value 0; + description + "Enable splitting"; + } + enum "bgp-dynamic-split-disable" { + value 1; + description + "Disable splitting"; + } + enum "bgp-dynamic-split-permanent" { + value 2; + description + "Permanent splitting"; + } + } + description + "Bgp upd dynamic"; + } + + typedef Route-target-as-index { + type uint32 { + range "0..4294967295"; + } + description + "Route target as index"; + } + + typedef Bmp-route-direction { + type enumeration { + enum "inbound" { + value 1; + description + "Pickup routes at inbound direction from peer"; + } + } + description + "Bmp route direction"; + } + + typedef Bgp-send-mcast-attr-cfg { + type enumeration { + enum "enable" { + value 1; + description + "Enable SendMcastAttr"; + } + enum "disable" { + value 2; + description + "Disable SendMcastAttr"; + } + } + description + "Bgp send mcast attr cfg"; + } + + typedef Bgp-aigp-cfg-poi { + type enumeration { + enum "pre-best-path" { + value 1; + description + "AIGP Pre-bestpath POI"; + } + enum "igp-cost" { + value 2; + description + "AIGP igp-cost POI"; + } + } + description + "Bgp aigp cfg poi"; + } + + typedef Bgp-flowspec-validation-cfg { + type enumeration { + enum "enable" { + value 1; + description + "Enable Flowspec validation"; + } + enum "disable" { + value 2; + description + "Disable Flowspec validation"; + } + enum "redirect-nexhop-disable" { + value 3; + description + "Disable Flowspec redirect nexthop validation"; + } + } + description + "Bgp flowspec validation cfg"; + } + + typedef Bgp-orrafi { + type enumeration { + enum "bgp-ipv6orr" { + value 0; + description + "IPv6 ORR AFI type"; + } + enum "bgp-ipv4orr" { + value 1; + description + "IPv4 ORR AFI type"; + } + } + description + "Bgp orrafi"; + } + + typedef Route-target-addr-index { + type uint32 { + range "0..65535"; + } + description + "Route target addr index"; + } + + typedef Bgp-rpki-soft-reconf-cfg { + type enumeration { + enum "rpki-default-option" { + value 0; + description + "Behaviour independent of RPKI validation tests + (Disabled)."; + } + enum "rpki-dropped-only" { + value 1; + description + "Keep paths tested for RPKI in route-policy and + dropped"; + } + enum "rpki-tested-only" { + value 2; + description + "Keep RPKI paths tested in route-policy"; + } + } + description + "Bgp rpki soft reconf cfg"; + } + + typedef Bgp-orf { + type enumeration { + enum "none" { + value 0; + description + "No capability to send or receive"; + } + enum "receive" { + value 1; + description + "Receive ORF capability"; + } + enum "send" { + value 2; + description + "Send ORF capability"; + } + enum "both" { + value 3; + description + "Send and receive ORF capability"; + } + } + description + "Bgp orf"; + } + + typedef Bgp-asn { + type enumeration { + enum "as-plain" { + value 1; + description + "AS plain format"; + } + enum "asdot" { + value 2; + description + "AS dot format"; + } + } + description + "Bgp asn"; + } + + typedef Bgp-rpki-transport { + type enumeration { + enum "tcp" { + value 0; + description + "TCP Transport"; + } + enum "ssh" { + value 1; + description + "SSH Transport"; + } + } + description + "Bgp rpki transport"; + } + + typedef Bgp-reorg-opt { + type enumeration { + enum "bgp-cfg-adv" { + value 1; + description + "Advertise translated routes"; + } + enum "bgp-cfg-adv-reorg" { + value 2; + description + "Advertise Reorig routes"; + } + enum "bgp-cfg-adv-disable" { + value 3; + description + "Disable adv of routes"; + } + enum "bgp-cfg-adv-local" { + value 4; + description + "Advertise local routes"; + } + enum "bgp-cfg-adv-def-vrf-imp-disable" { + value 5; + description + "Disable adv of Def VRF Imported routes"; + } + enum "bgp-cfg-adv-vrf-re-imp-disable" { + value 6; + description + "Disable adv of VRF ReImported routes"; + } + enum "bgp-cfg-adv-vrf-evpn-re-imp-disable" { + value 7; + description + "Disable adv of VRF EVPN extranet Imported + routes"; + } + } + description + "Bgp reorg opt"; + } + + typedef Bgp-af-encapsulation { + type enumeration { + enum "vx-lan" { + value 1; + description + "VxLAN encapsulation type"; + } + enum "srv6" { + value 2; + description + "SRv6 encapsulation type"; + } + } + description + "Bgp af encapsulation"; + } + + typedef Bgp-aigp-cfg { + type enumeration { + enum "enable" { + value 1; + description + "Enable AIGP"; + } + enum "disable" { + value 2; + description + "Disable AIGP"; + } + } + description + "Bgp aigp cfg"; + } + + typedef Bgp-best-path-sr-policy-path { + type enumeration { + enum "bgp-best-path-sr-path-type-preference" { + value 1; + description + "SR Policy path eligibility selection, except + eBGP non-color"; + } + enum "bgp-best-path-sr-path-type-force" { + value 2; + description + "SR Policy path eligibility selection, strict"; + } + } + description + "Bgp best path sr policy path"; + } + + typedef Bgp-route-distinguisher { + type enumeration { + enum "auto" { + value 1; + description + "Automatically assigned"; + } + enum "as" { + value 2; + description + "AS format RD"; + } + enum "four-byte-as" { + value 3; + description + "4-byte AS format RD"; + } + enum "ipv4-address" { + value 4; + description + "IPv4 address format RD"; + } + } + description + "Bgp route distinguisher"; + } + + typedef Bgp-adv-rt { + type enumeration { + enum "bgp-regular-rt" { + value 0; + description + "Regular RT type"; + } + enum "bgp-stitching-rt" { + value 1; + description + "Stitching RT type"; + } + } + description + "Bgp adv rt"; + } + + typedef Bgp-tcp-mode { + type enumeration { + enum "either" { + value 0; + description + "Either active or passive mode"; + } + enum "active-only" { + value 1; + description + "Active mode only"; + } + enum "passive-only" { + value 2; + description + "Passive mode only"; + } + } + description + "Bgp tcp mode"; + } + + typedef Bgp-site-of-origin { + type enumeration { + enum "as" { + value 0; + description + "AS format SoO"; + } + enum "ipv4-address" { + value 1; + description + "IPv4 address format SoO"; + } + enum "four-byte-as" { + value 2; + description + "4-byte AS format SoO"; + } + } + description + "Bgp site of origin"; + } + + typedef Bgp-cluster-id { + type enumeration { + enum "number" { + value 1; + description + "Number"; + } + enum "ipv4-address" { + value 2; + description + "IPv4 Address"; + } + } + description + "Bgp cluster id"; + } + + typedef Bgp-bandwidth-aware-gshut-threshold-mode { + type enumeration { + enum "bgp-threshold-type-bandwidth" { + value 1; + description + "Bandwidth Based Threshold"; + } + enum "bgp-threshold-type-percentage" { + value 2; + description + "Percentage Based Threshold"; + } + } + description + "Bgp bandwidth aware gshut threshold mode"; + } + + typedef Bgp-global-extcomm-v4-addr-index { + type uint32 { + range "0..65535"; + } + description + "Bgp global extcomm v4 addr index"; + } + + typedef Bgp-global-extcomm-asn-index { + type uint32 { + range "0..4294967295"; + } + description + "Bgp global extcomm asn index"; + } + + typedef Bgp-global-route-distinguisher { + type enumeration { + enum "as" { + value 2; + description + "AS format RD"; + } + enum "four-byte-as" { + value 3; + description + "4-byte AS format RD"; + } + enum "ipv4-address" { + value 4; + description + "IPv4 address format RD"; + } + } + description + "Bgp global route distinguisher"; + } + + typedef Bgp-global-as-range { + type uint32 { + range "0..4294967295"; + } + description + "Bgp global as range"; + } + + grouping ADVERTISE-DISABLE { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-disable { + description + "Disable Advertise Of Routes to the peer"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf reorg-option { + type Bgp-reorg-opt; + description + "Reorigination option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping TABLE-POLICY { + description + "Common node of global-af, vrf-global-af"; + leaf table-policy { + type string; + description + "Configure policy for installation of routes to + RIB"; + } + } + + grouping MAXIMUM-PREFIXES { + description + "Common node of global-af, vrf-global-afCommon + node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container maximum-prefixes { + presence "Indicates a maximum-prefixes node is configured."; + description + "Maximum number of prefixes to accept from this + peer"; + leaf prefix-limit { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Maximum prefixes limit"; + } + leaf warning-percentage { + type uint32 { + range "1..100"; + } + mandatory true; + description + "Threshold value (%) at which to generate a + warning message."; + } + leaf warning-only { + type boolean; + mandatory true; + description + "TRUE to only give a warning message when limit + is exceeded. FALSE to accept max prefix limit + only."; + } + leaf restart-time { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Restart interval"; + } + leaf discard-extra-paths { + type boolean; + mandatory true; + description + "Discard extra paths when limit is exceeded"; + } + } + } + + grouping DISTANCE { + description + "Common node of global-af, vrf-global-af"; + container distance { + presence "Indicates a distance node is configured."; + description + "Define an administrative distance"; + leaf external-routes { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Distance for routes external to the AS"; + } + leaf internal-routes { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Distance for routes internal to the AS"; + } + leaf local-routes { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Distance for local routes"; + } + } + } + + grouping UPDATE-SOURCE-INTERFACE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf update-source-interface { + type xr:Interface-name; + description + "Select an interface to configure"; + } + } + + grouping MULTI-PATH-AS-PATH-IGNORE-ONWARDS { + description + "Common node of global, vrf-global"; + leaf multi-path-as-path-ignore-onwards { + type empty; + description + "Change default multi-route selection criteria to + ignore everything onwards as-path check"; + } + } + + grouping PROPAGATE-DMZ-LINK-BANDWIDTH { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf propagate-dmz-link-bandwidth { + type boolean; + description + "TRUE to propagate DMZ link bandwidth. FALSE to + not propagate and to prevent inheritance from a + parent"; + } + } + + grouping DISABLE-AUTO-SOFT-RESET { + description + "Common node of global, vrf-global"; + leaf disable-auto-soft-reset { + type empty; + description + "Disable automatic soft peer reset on policy + reconfiguration"; + } + } + + grouping MSG-LOG-IN { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container msg-log-in { + description + "Message log inbound"; + leaf msg-buf-count { + type uint32 { + range "1..500"; + } + description + "Inbound message log buffer size"; + } + leaf msg-log-disable { + type boolean; + description + "Disable inbound message logging"; + } + leaf msg-log-inherit-disable { + type boolean; + description + "TRUE, to prevent this entity from having a + inbound message logging if parent has one"; + } + } + } + + grouping DISABLE-ENFORCE-FIRST-AS { + description + "Common node of global, vrf-global"; + leaf disable-enforce-first-as { + type empty; + description + "Disable enforce the first AS for EBGP routes"; + } + } + + grouping ROUTE-TARGET-TABLE { + description + "Common node of import-route-targets, + export-route-targets"; + container route-targets { + description + "Route target table"; + list route-target { + must "as-or-four-byte-as or ipv4-address" { + description + "AS-or-FourByteAS or IPV4Address must be + present."; + } + key "type"; + description + "Configured Route target Entry"; + leaf type { + type Bgp-vrf-route-target; + description + "Type of RT"; + } + list as-or-four-byte-as { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + key "as-xx as as-index stitching-rt"; + description + "as or four byte as"; + leaf as-xx { + type uint32 { + range "0"; + } + description + "AS number"; + } + leaf as { + type uint32 { + range "1..4294967295"; + } + description + "AS number"; + } + leaf as-index { + type Route-target-as-index; + description + "AS number Index"; + } + leaf stitching-rt { + type uint32 { + range "0..1"; + } + description + "Stitching RT"; + } + } + list ipv4-address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + key "address address-index stitching-rt"; + description + "ipv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf address-index { + type Route-target-addr-index; + description + "IP address Index"; + } + leaf stitching-rt { + type uint32 { + range "0..1"; + } + description + "Stitching RT"; + } + } + } + } + } + + grouping REMOTE-AS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container remote-as { + description + "Set remote AS"; + leaf as-xx { + type dt1:Bgp-as-range; + description + "xx of AS number xx.yy"; + } + leaf as-yy { + type dt1:Bgp-as-range; + description + "yy of AS number xx.yy"; + } + } + } + + grouping ADDITIONAL-PATHS-SEND { + description + "Common node of global-af, vrf-global-af"; + leaf additional-paths-send { + type dt1:Bgp-af-additional-paths-cfg; + description + "Advertise additional paths Send capability"; + } + } + + grouping UPDATE-IN-FILTERING { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container update-in-filtering { + description + "Inbound update filtering"; + container update-in-filtering-message-buffers { + presence "Indicates a update-in-filtering-message-buffers node is configured."; + description + "Message buffers to store filtered updates"; + leaf number-of-buffers { + type uint32 { + range "0..25"; + } + mandatory true; + description + "Number of message buffers"; + } + leaf non-circular-buffer { + type boolean; + mandatory true; + description + "TRUE to configure non-circular buffer"; + } + } + leaf enable { + type empty; + description + "Configure inbound update filtering"; + } + leaf update-in-filtering-attribute-filter-group { + type string; + description + "Attribute-filter group name for update + filtering"; + } + leaf update-in-filtering-syslog-disable { + type empty; + description + "Disable inbound update filtering syslog + messages"; + } + } + } + + grouping OPTIMAL-ROUTE-REFLECTION-GROUP-TABLE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-groupCommon node of + global-af, vrf-global-af"; + container optimal-route-reflection-groups { + description + "Table of multiple ORR Groups"; + list optimal-route-reflection-group { + key "group-name"; + description + "Optimal Route Reffelction group. Each such + group is equivalent to an IGP area"; + leaf group-name { + type xr:Cisco-ios-xr-string; + description + "Name of the ORR group"; + } + leaf primary-root-address { + type inet:ip-address-no-zone; + description + "Primary Root for the ORR group"; + } + leaf secondary-root-address { + type inet:ip-address-no-zone; + description + "Secondary Root for the ORR group"; + } + leaf tertiary-root-address { + type inet:ip-address-no-zone; + description + "Tertiary Root for the ORR group"; + } + } + } + } + + grouping SHUTDOWN { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf shutdown { + type boolean; + description + "TRUE to shutdown this entity, FALSE to prevent + this entity from being shutdown even if the + parent is."; + } + } + + grouping BMP-ACTIVATE-TABLE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container bmp-activates { + description + "Enable BMP logging for this neighbor"; + list bmp-activate { + key "server-id"; + description + "Enable BMP logging for this particular server"; + leaf server-id { + type uint32 { + range "1..8"; + } + description + "BMP Server ID"; + } + } + } + } + + grouping SLOW-PEER { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container slow-peer { + description + "Slow peer detection and update group splitting"; + leaf detection { + when "../static = 'true' or ../static = 'false'" { + description + "../Static = 'true' or ../Static = false"; + } + type boolean; + description + "Detection enable or disable"; + } + leaf static { + type boolean; + description + "Static or dynamic split"; + } + leaf dynamic-type { + when "../static = 'false'" { + description + "../Static = false"; + } + type Bgp-upd-dynamic; + description + "Dynamic or Permanent"; + } + } + } + + grouping ADVERTISE-VRF-IMP-DISABLE-V4 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-vrf-imp-disable-v4 { + description + "Disable Advertise Of VRF ReImported Routes"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf adv-option { + type Bgp-reorg-opt; + description + "Advertise option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping ADVERTISE-VRF-IMP-DISABLE-V6 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-vrf-imp-disable-v6 { + description + "Disable Advertise Of VRF ReImported Routes"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf adv-option { + type Bgp-reorg-opt; + description + "Advertise option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping SITE-OF-ORIGIN { + description + "Common node of neighbor-group-af, vrf-neighbor-af + , af-group-af"; + container site-of-origin { + description + "Site-of-Origin extended community associated + with the neighbor"; + leaf type { + type Bgp-site-of-origin; + description + "Type of Extended community"; + } + leaf as-xx { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type dt1:Bgp-as-range; + description + "AS number"; + } + leaf as { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type dt1:Bgp-as-range; + description + "AS number"; + } + leaf as-index { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type dt1:Bgp-extcomm-asn-index; + description + "AS number Index"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf address-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type dt1:Bgp-extcomm-v4-addr-index; + description + "IP address Index"; + } + } + } + + grouping ROUTE-POLICY-OUT { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf route-policy-out { + type string; + description + "Route policy name to apply to outbound routes"; + } + } + + grouping SEGMENT-ROUTING { + description + "Common node of global-af, vrf-global-af"; + container segment-routing { + description + "Segment-routing Configurations"; + container srv6 { + description + "SRv6 Configurations"; + container srv6sid-allocation-mode { + presence "enable srv6sid-allocation-mode"; + description + "BGP SRv6 SID allocation mode"; + leaf sid-allocation-mode { + type string; + description + "SID allocation mode: per-ce Set per CE SID + mode,per-vrf Set per VRF SID mode"; + } + leaf route-policy { + type string; + description + "Route policy to configure SRv6 mode and + locator"; + } + } + leaf enable { + type empty; + description + "Enable SRv6 configuration submode"; + } + leaf locator-name { + type string; + description + "Configure Locator name for SID allocation"; + } + } + } + } + + grouping ADVERTISE-V4 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-v4 { + description + "Advertise Translated Routes to the peer"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf reorg-option { + type Bgp-reorg-opt; + description + "Reorigination option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping ADVERTISE-V6 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-v6 { + description + "Advertise Translated Routes to the peer"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf reorg-option { + type Bgp-reorg-opt; + description + "Reorigination option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping NEXT-HOP-VAL-SRTE { + description + "Common node of global, vrf-global"; + leaf next-hop-val-srte { + type empty; + description + "Enable BGP next-hop SR Policy reachability + validation for Extcom color paths"; + } + } + + grouping DEFAULT-ORIGINATE { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container default-originate { + description + "Originate default route to this neighbor"; + leaf enable { + type boolean; + default "false"; + description + "FALSE to prevent default-originate from, being + inherited from a parent. TRUE otherwise."; + } + leaf route-policy-name { + type string; + description + "Route policy name to specify criteria to + originate default."; + } + } + } + + grouping OPTIMAL-ROUTE-REFLECTION-GROUP-APPLY-TABLE { + description + "Common node of global-af, vrf-global-af"; + container optimal-route-reflection-group-applies { + description + "Table of multiple ORR groups"; + list optimal-route-reflection-group-apply { + key "group-name"; + description + "Optimal Route Reffelction group. Each such + group is equivalent to an IGP area"; + leaf group-name { + type xr:Cisco-ios-xr-string; + description + "Name of the ORR group"; + } + } + } + } + + grouping IDLE-WATCH-TIME { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf idle-watch-time { + type uint32 { + range "30..1800"; + } + units "second"; + description + "Time to wait for deleteing IDLE state Dynamic + peer"; + } + } + + grouping TIMERS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container timers { + description + "BGP per neighbor timers."; + leaf keepalive-interval { + type uint32 { + range "0..65535"; + } + default "60"; + description + "Keepalive interval"; + } + leaf hold-time { + type uint32 { + range "0..65535"; + } + default "180"; + description + "Hold time. Specify 0 to disable + keepalives/hold time"; + } + leaf min-accept-hold-time { + type uint32 { + range "0..65535"; + } + default "3"; + description + "Minimum acceptable hold time. Specify 0 to + disable keepalives/hold time"; + } + } + } + + grouping NEXT-HOP-MPLS-FWD-IBGP { + description + "Common node of global, vrf-global"; + leaf next-hop-mpls-fwd-ibgp { + type empty; + description + "Enable mpls forwarding path for ibgp learnt + nexthops"; + } + } + + grouping DISABLE-FAST-EXTERNAL-FALLOVER { + description + "Common node of global, vrf-global"; + leaf disable-fast-external-fallover { + type empty; + description + "Disable immediate reset session if a link to a + directly connected external peer goes down"; + } + } + + grouping SEND-COMMUNITY-EBGP { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf send-community-ebgp { + type boolean; + description + "TRUE to send communities to the external + neighbor/neighbor-group/af-group. FALSE not to + send and to prevent inheritance from a parent"; + } + } + + grouping ADDITIONAL-PATHS-RECEIVE-CAPABILITY { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf additional-paths-receive-capability { + type dt1:Bgp-nbr-cap-additional-paths-cfg; + description + "Advertise additional paths Receive capability"; + } + } + + grouping SEND-EXT-COMMUNITY-EBGP { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf send-ext-community-ebgp { + type boolean; + description + "TRUE to send extended communities to the + external neighbor/neighbor-group/af-group. + FALSE not to send and to prevent inheritance + from a parent"; + } + } + + grouping AF-GROUP { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af"; + leaf af-group { + type string; + description + "Inherit configuration for this address-family + from an AF-group"; + } + } + + grouping NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM-IPV6 { + description + "Common node of global-af, vrf-global-af"; + leaf next-hop-resolution-prefix-length-minimum-ipv6 { + type uint32 { + range "0..128"; + } + default "0"; + description + "Minimum prefix-length for nexthop resolution"; + } + } + + grouping ROUTE-POLICY-IN { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf route-policy-in { + type string; + description + "Route policy name to apply to inbound routes"; + } + } + + grouping LABEL-MODE { + description + "Common node of global-af, vrf-global-af"; + container label-mode { + presence "enable label-mode"; + description + "BGP 6PE/MPLS-VPN label allocation mode"; + leaf label-allocation-mode { + type string; + description + "Label allocation mode: per-ce Set per CE label + mode, per-vrf Set per VRF label mode, + per-prefix Set per Prefix label mode (for + MPLS-VPN only)"; + } + leaf route-policy-name { + type string; + description + "Label mode route policy name"; + } + } + } + + grouping APP-ROUTE-TABLE { + description + "Common node of global-af, vrf-global-af"; + container application-routes { + description + "Redistribute information for Application routes."; + list application-route { + key "instance-name"; + description + "Redistribute application routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OnePK application name"; + } + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + } + + grouping NEXT-HOP-VAL-DISABLE { + description + "Common node of global, vrf-global"; + leaf next-hop-val-disable { + type empty; + description + "Disable BGP next-hop RIB reachability validation + for Extcomm color paths"; + } + } + + grouping DEFAULT-INFO-ORIGINATE { + description + "Common node of global, vrf-global"; + leaf default-info-originate { + type empty; + description + "Control distribution of default information"; + } + } + + grouping NEXTHOP-CHECK-DISABLE { + description + "Common node of global-af, vrf-global-af"; + leaf nexthop-check-disable { + type empty; + description + "Disable multipath nexthop check"; + } + } + + grouping ENFORCE-FIRST-AS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf enforce-first-as { + type boolean; + description + "TRUE to enforce first AS; FALSE to not enforce + first AS."; + } + } + + grouping SOFT-RECONFIGURATION { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container soft-reconfiguration { + description + "Enable/disable inbound soft reconfiguration for + this neighbor/neighbor-group/af-group"; + leaf inbound-soft { + type boolean; + default "false"; + description + "FALSE to prohibit inbound soft reconfiguration. + TRUE otherwise."; + } + leaf soft-always { + type boolean; + default "false"; + description + "TRUE to always use soft reconfig, even if route + refresh is supported. FALSE otherwise."; + } + leaf rpki-options { + type Bgp-rpki-soft-reconf-cfg; + default "rpki-default-option"; + description + "Rpki tested ordropped paths should be stored"; + } + } + } + + grouping ADVERTISE-ENTROPY-LABEL-DISABLE { + description + "Common node of neighbor-group-af, neighbor-af, + af-group-af"; + leaf advertise-entropy-label-disable { + type empty; + description + "Disable propagation of entropy label to this + peer"; + } + } + + grouping NEIGHBOR-GRACEFUL-RESTART { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf neighbor-graceful-restart { + type Bgp-nbrgr; + description + "TRUE to Enable graceful restart supportfor + neighbor. FALSE to disable graceful restart + support for neighbor."; + } + } + + grouping ADVERTISE-DEF-IMP-DISABLE-V4 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-def-imp-disable-v4 { + description + "Disable Advertise Of Default VRF Imported Routes"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf adv-option { + type Bgp-reorg-opt; + description + "Advertise option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping ADVERTISE-DEF-IMP-DISABLE-V6 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-def-imp-disable-v6 { + description + "Disable Advertise Of Default VRF Imported Routes"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf adv-option { + type Bgp-reorg-opt; + description + "Advertise option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping LOCAL-ADDRESS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container local-address { + description + "Local ip address"; + leaf local-address-disable { + type boolean; + description + "TRUE to prevent this entity from having a local + address if the parent has one.FALSE to specify + local ip address"; + } + leaf local-ip-address { + when "../local-address-disable = 'false'" { + description + "../LocalAddressDisable = false"; + } + type inet:ip-address-no-zone; + description + "Local ip address for neighbor"; + } + } + } + + grouping EVENT-PREFIX-ROUTE-POLICY { + description + "Common node of global-af, vrf-global-af"; + leaf event-prefix-route-policy { + type string; + description + "Route Policy to mark prefixes to be traced"; + } + } + + grouping AS-OVERRIDE { + description + "Common node of global-af, vrf-global-afCommon + node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf as-override { + type boolean; + default "true"; + description + "TRUE to override matching AS-number while + sending update. FALSE to prevent as-override + from being inherited from the parent"; + } + } + + grouping IGNORE-CONNECTED-CHECK-EBGP { + description + "Common node of global-af, vrf-global-afCommon + node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-afCommon node of + neighbor-group, neighbor, vrf-neighbor, + session-group"; + leaf ignore-connected-check-ebgp { + type boolean; + description + "TRUE to disable the connected nexthop check for + this peer.FALSE to enable the connected nexthop + check for this peer."; + } + } + + grouping REMOTE-AS-LIST { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf remote-as-list { + type string; + description + "Remote-as-list group name"; + } + } + + grouping SEND-MULTICAST-ATTR { + description + "Common node of neighbor-group-af, neighbor-af, + af-group-af"; + leaf send-multicast-attr { + type Bgp-send-mcast-attr-cfg; + description + "Config send multicast attribute for this + neighbor"; + } + } + + grouping ENCAPSULATION-TYPE { + description + "Common node of neighbor-group-af, neighbor-af, + af-group-afCommon node of neighbor-group-af, + neighbor-af, af-group-af"; + leaf encapsulation-type { + type Bgp-af-encapsulation; + description + "Encapsulation type for this neighbor"; + } + } + + grouping LOCAL-ADDRESS-SUB-NET { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container local-address-sub-net { + description + "Local Address subnet of routing updates"; + leaf local-addresss-subnet { + type inet:ip-address-no-zone; + description + "local address subnet ip address "; + } + leaf prefix-len { + type uint32 { + range "0..128"; + } + description + "prefix length"; + } + } + } + + grouping ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-bridge-domain-imp-disable-v4 { + description + "Disable Advertise Of VRF EVPN Extranet Imported + Routes"; + leaf af-name { + type dt1:Bgp-address-family; + must "../adv-option and ../rt-type"; + description + "Address family"; + } + leaf adv-option { + type Bgp-reorg-opt; + must "../af-name and ../rt-type"; + description + "Advertise option"; + } + leaf rt-type { + type Bgp-adv-rt; + must "../af-name and ../adv-option"; + description + "RT type"; + } + } + } + + grouping ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-bridge-domain-imp-disable-v6 { + description + "Disable Advertise Of VRF EVPN Extranet Imported + Routes"; + leaf af-name { + type dt1:Bgp-address-family; + must "../adv-option and ../rt-type"; + description + "Address family"; + } + leaf adv-option { + type Bgp-reorg-opt; + must "../af-name and ../rt-type"; + description + "Advertise option"; + } + leaf rt-type { + type Bgp-adv-rt; + must "../af-name and ../adv-option"; + description + "RT type"; + } + } + } + + grouping ADVERTISE-PERMANENT-NETWORK { + description + "Common node of neighbor-group-af, neighbor-af, + af-group-af"; + leaf advertise-permanent-network { + type empty; + description + "Advertise Permanent Networks to the peer"; + } + } + + grouping BEST-PATH-COST-COMMUNITY { + description + "Common node of global, vrf-global"; + leaf best-path-cost-community { + type empty; + description + "Change default route selection criteria to + ignore cost community comparison"; + } + } + + grouping RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf rpki-bestpath-origin-as-allow-invalid { + type empty; + description + "RPKI bestpath origin-AS allow invalid"; + } + } + + grouping BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-afCommon node of + neighbor-group, neighbor, vrf-neighbor, + session-group"; + leaf rpki-bestpath-origin-as-allow-invalid { + type empty; + description + "RPKI bestpath origin-AS allow invalid"; + } + } + + grouping BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID-MP { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-afCommon node of + neighbor-group, neighbor, vrf-neighbor, + session-groupCommon node of global-af, + vrf-global-af"; + leaf rpki-bestpath-origin-as-allow-invalid { + type empty; + description + "RPKI bestpath origin-AS allow invalid"; + } + } + + grouping NEIGHBOR-GRACEFUL-RESTART-TIME { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf neighbor-graceful-restart-time { + type uint32 { + range "1..4095"; + } + units "second"; + default "120"; + description + "Restart time advertised to neighbor"; + } + } + + grouping TOS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container tos { + description + "TOS (Type Of Service)"; + leaf type { + type dt1:Bgp-tos; + description + "Set type of service"; + } + leaf value { + type dt1:Bgp-precedence-dscp; + description + "TOS value to set"; + } + } + } + + grouping NEIGHBOR-CLUSTER-ID { + description + "Common node of neighbor-group, neighbor, + session-group"; + container neighbor-cluster-id { + description + "Neighbor Cluster-id"; + leaf cluster-id-number { + type uint32 { + range "1..4294967295"; + } + description + "Route-Reflector Cluster ID as 32 bit quantity"; + } + leaf cluster-id-address { + type inet:ipv4-address-no-zone; + description + "Route-Reflector Cluster ID in IPV4 address + format"; + } + } + } + + grouping ACTIVATE { + description + "Common node of neighbor-af, vrf-neighbor-af, + neighbor-group-af"; + leaf activate { + type empty; + description + "Activate an address family for this neighbor. + Deletion of this object causes deletion of all + the objects under + NeighborAF/VRFNeighborAF/NeighborGroupAF + associated with this object."; + } + } + + grouping NEXT-HOP-SELF { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf next-hop-self { + type boolean; + description + "Disable the next hop calculation and insert + your own address in the nexthop field of + advertised routes you learned from the neighbor."; + } + } + + grouping ALLOW-AS-IN { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf allow-as-in { + type uint32 { + range "1..10"; + } + default "3"; + description + "Allow as-path with my AS present in it"; + } + } + + grouping ADVERTISE-LOCAL-V4 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-local-v4 { + description + "Advertise Of Local Routes to the peer with + different RT"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf reorg-option { + type Bgp-reorg-opt; + description + "Reorigination option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping ADVERTISE-LOCAL-V6 { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-local-v6 { + description + "Advertise Of Local Routes to the peer with + different RT"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf reorg-option { + type Bgp-reorg-opt; + description + "Reorigination option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping BEST-EXTERNAL { + description + "Common node of global-af, vrf-global-af"; + container best-external { + description + "Enable Bestexternal config"; + leaf enable { + type boolean; + description + "TRUE to enable BE FALSE to disable BE + inheritance from a parent"; + } + leaf labeled-unicast { + type boolean; + description + "Limit Best-External to Labeled-Unicast"; + } + } + } + + grouping ATTRIBUTE-DOWNLOAD { + description + "Common node of global-af, vrf-global-af"; + leaf attribute-download { + type empty; + description + "Attribute download configuration"; + } + } + + grouping AO-KEYCHAIN { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container ao-keychain { + description + "Set or disable AO based authentication"; + leaf ao-keychain-disable { + type boolean; + description + "TRUE to prevent this entity from having AO + keychain based authentication even if the + parent has one.FALSE to enable AO keychain + based authentication"; + } + leaf ao-keychain-name { + when "../ao-keychain-disable = 'false'" { + description + "../AOKeychainDisable = false"; + } + type string; + description + "Name of the AO keychain associated with this + neighbor"; + } + leaf ao-include-tcp-options { + when "../ao-keychain-disable = 'false'" { + description + "../AOKeychainDisable = false"; + } + type boolean; + description + "Include TCP options header with AO"; + } + leaf ao-accept-mismatch-connection { + when "../ao-keychain-disable = 'false'" { + description + "../AOKeychainDisable = false"; + } + type boolean; + description + "Accept new connections even though AO + mismatched"; + } + } + } + + grouping BEST-PATH-SR-POLICY-ONLY-PATH { + description + "Common node of global, vrf-global"; + leaf best-path-sr-policy-only-path { + type Bgp-best-path-sr-policy-path; + description + "Prefer or Force SR policy paths for bestpath + selection"; + } + } + + grouping ADDITIONAL-PATHS-SELECTION { + description + "Common node of global-af, vrf-global-af"; + container additional-paths-selection { + description + "Configure additional paths selection"; + leaf selection { + type dt1:Bgp-af-additional-paths-cfg; + description + "Enable/disable selection "; + } + leaf route-policy-name { + type string; + description + "Route policy for selection"; + } + } + } + + grouping NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf neighbor-af-long-lived-graceful-restart-capable { + type boolean; + default "false"; + description + "TRUE to treat neighbor as Long-lived + Graceful-restart capable. FALSE to rely on + capability negotiation."; + } + } + + grouping BEST-PATH-AS-MULTIPATH-RELAX { + description + "Common node of global, vrf-global"; + leaf best-path-as-multipath-relax { + type empty; + description + "Change default multi-route selection criteria to + relax as-path checking - only require same + aspath length"; + } + } + + grouping UNSAFE-EBGP-POLICY { + description + "Common node of global, vrf-global"; + leaf unsafe-ebgp-policy { + type empty; + description + "If eBGP neighbor is configured without a + route-policy,the routes from that neighbor are + not accepted by default.This knob overrides the + default behavior. When configured,routes from + the eBGP neighbors with no policy are accepted."; + } + } + + grouping GLOBAL-TIMERS { + description + "Common node of global, vrf-global"; + container global-timers { + description + "Adjust routing timers."; + leaf keepalive { + type uint32 { + range "0..65535"; + } + units "second"; + default "60"; + description + "Keepalive interval (seconds)"; + } + leaf hold-time { + type uint32 { + range "0..65535"; + } + units "second"; + default "180"; + description + "Hold time (seconds). Specify 0 to disable + keepalives/hold time"; + } + leaf min-accept-hold-time { + type uint32 { + range "0..65535"; + } + units "second"; + default "3"; + description + "Minimum acceptable hold time (seconds). Specify + 0 to disable keepalives/hold time"; + } + } + } + + grouping NEIGHBOR-GROUP-ADD-MEMBER { + description + "Common node of neighbor, vrf-neighbor"; + leaf neighbor-group-add-member { + type string; + description + "Inherit configuration from a neighbor-group"; + } + } + + grouping MOBILE-ROUTES { + description + "Common node of global-af, vrf-global-af"; + container mobile-routes { + presence "enable mobile-routes"; + description + "Redistribute mobile routes"; + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + + grouping LOCAL-PREFERENCE { + description + "Common node of global, vrf-global"; + leaf local-preference { + type uint32 { + range "0..4294967295"; + } + default "100"; + description + "Configure default local preference"; + } + } + + grouping CREATE { + description + "Common node of neighbor, vrf-neighbor, + neighbor-group, session-group"; + leaf create { + type empty; + description + "Create this group. Deletion of this object + causes deletion of all the objects under + NeighborGroup/SessionGroup associated with this + object."; + } + } + + grouping CLUSTER-ID-ALLOW-EQUAL { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf cluster-id-allow-equal { + type boolean; + description + "TRUE to disable cluster-id check for first id in + the cluster-id-list. FALSE to enable check for + all cluster-ids in the list."; + } + } + + grouping EBGP-SEND-DMZ-ENABLE-MODES { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf ebgp-send-dmz-enable-modes { + type Bgp-ebgp-send-dmz-enable-mode; + description + "Default mode, Cumulative mode or Disable to + prevent inheritance from a parent"; + } + } + + grouping SEND-SOCKET-BUFFER-SIZES { + description + "Common node of global, vrf-global"; + container send-socket-buffer-sizes { + description + "set socket parameters"; + leaf socket-send-size { + type uint32 { + range "4096..131072"; + } + units "byte"; + default "24576"; + description + "Send socket buffer size in bytes"; + } + leaf bgp-send-size { + type uint32 { + range "4096..131072"; + } + units "byte"; + default "4096"; + description + "BGP Write buffer size in bytes"; + } + } + } + + grouping RECEIVE-SOCKET-BUFFER-SIZES { + description + "Common node of global, vrf-globalCommon node of + global, vrf-global"; + container receive-socket-buffer-sizes { + description + "Set socket and BGP receive buffer sizes"; + leaf socket-receive-size { + type uint32 { + range "512..131072"; + } + units "byte"; + default "32768"; + description + "Receive socket buffer size in bytes"; + } + leaf bgp-receive-size { + type uint32 { + range "512..131072"; + } + units "byte"; + default "4096"; + description + "BGP Read buffer size in bytes"; + } + } + } + + grouping SLOW-PEER-DETECTION-DISABLE { + description + "Common node of global, vrf-global"; + leaf slow-peer-detection-disable { + type empty; + description + "Disable slow peer detection."; + } + } + + grouping BFD-ENABLE-MODES { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf bfd-enable-modes { + type Bgp-bfd-enable-mode; + description + "Strict mode, Default mode or Disable to prevent + inheritance from a parent"; + } + } + + grouping RESET-WEIGHT-ON-IMPORT { + description + "Common node of global-af, vrf-global-af"; + leaf reset-weight-on-import { + type boolean; + description + "TRUE to reset weight on import. FALSE to not + reset and to prevent inheritance from a parent"; + } + } + + grouping AGGREGATE-ADDRESS-TABLE { + description + "Common node of global-af, vrf-global-af"; + container aggregate-addresses { + description + "Configure BGP aggregate entries"; + list aggregate-address { + key "aggregate-addr aggregate-prefix"; + description + "Aggregate address configuration"; + leaf aggregate-addr { + type inet:ip-address; + description + "Aggregate in prefix/length format (address + part)"; + } + leaf aggregate-prefix { + type uint16 { + range "0..128"; + } + description + "Aggregate in prefix/length format (prefix + part)"; + } + leaf generate-set-info { + type boolean; + description + "TRUE to generate AS set path information, + FALSE otherwise"; + } + leaf generate-confederation-set-info { + type boolean; + description + "TRUE to generate AS confederation set path + information, FALSE otherwise"; + } + leaf summary-only { + type boolean; + description + "TRUE to filter more specific routes from + updates, FALSEotherwise"; + } + leaf route-policy-name { + type string; + description + "Route policy on which to condition + advertisement, suppression, and attributes"; + } + } + } + } + + grouping EBGP-MULTIHOP { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container ebgp-multihop { + presence "Contains mandatory nodes that used to set default values"; + description + "Allow EBGP neighbors not on directly connected + networks"; + leaf max-hop-count { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Maximum hop count"; + } + leaf mpls-deactivation { + type boolean; + mandatory true; + description + "TRUE to not enable MPLS and NULL rewrite."; + } + } + } + + grouping NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf neighbor-graceful-restart-stalepath-time { + type uint32 { + range "1..4095"; + } + units "second"; + default "360"; + description + "Maximum time to wait for restart of GR capable + peer"; + } + } + + grouping NEXT-HOP-RES-ALLOW-DEFAULT { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-groupCommon node of global, + vrf-global"; + leaf next-hop-res-allow-default { + type empty; + description + "Enable path resolution for nexthops using + default route"; + } + } + + grouping BEST-PATH-AIGP-IGNORE { + description + "Common node of global, vrf-global"; + leaf best-path-aigp-ignore { + type empty; + description + "Change default route selection criteria to + ignore AIGP unless both paths whichare compared + have AIGP attribute"; + } + } + + grouping SESSION-GROUP-ADD-MEMBER { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor"; + leaf session-group-add-member { + type string; + description + "Inherit address-family independent config from a + session-group"; + } + } + + grouping BFD-MULTIPLIER { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf bfd-multiplier { + type uint32 { + range "2..16"; + } + description + "Detection multiplier for BFD sessions created by + BGP"; + } + } + + grouping FLOWSPEC-VALIDATION { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf flowspec-validation { + type Bgp-flowspec-validation-cfg; + description + "Config Flowspec validation for this neighbor"; + } + } + + grouping TTL-SECURITY { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf ttl-security { + type boolean; + description + "TRUE to enable BGP TTL Security. FALSE to not + enable it and to prevent inheritance from a + parent"; + } + } + + grouping BEST-PATH-MED-ALWAYS { + description + "Common node of global, vrf-global"; + leaf best-path-med-always { + type empty; + description + "Change default route selection criteria and + allow comparing of MED from different neighbors"; + } + } + + grouping MAX-PEERS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf max-peers { + type uint32 { + range "1..4096"; + } + description + "Set Maximum Peers in Dynamic Range"; + } + } + + grouping SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf send-community-ebgp-graceful-shutdown { + type boolean; + description + "TRUE to send communities to the external + neighbor/neighbor-group/af-group. FALSE not to + send and to prevent inheritance from a parent"; + } + } + + grouping DISABLE-MSG-LOG { + description + "Common node of global, vrf-global"; + leaf disable-msg-log { + type empty; + description + "Disable inbound and outbound messagelogging for + all neighbors under the vrf"; + } + } + + grouping LOCAL-AS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container local-as { + description + "Specify a local-as number"; + leaf as-xx { + type dt1:Bgp-as-range; + must "../as-yy and not(../disable)"; + description + "xx of AS number xx.yy"; + } + leaf as-yy { + type dt1:Bgp-as-range; + must "../as-xx and not(../disable)"; + description + "yy of AS number xx.yy"; + } + leaf no-prepend { + type empty; + must "../as-xx and ../as-yy and not(../disable)"; + description + "Do not prepend Local AS to announcements from + this neighbor"; + } + leaf disable { + type empty; + must "not(../as-xx or ../as-yy or ../no-prepend or ../replace-as or ../dual-as)"; + description + "Disable Local AS and prevent it from being + inherited from a parent"; + } + leaf replace-as { + type empty; + must "../as-xx and ../as-yy and ../no-prepend and not(../disable)"; + description + "Prepend only Local AS to announcements from + this neighbor"; + } + leaf dual-as { + type empty; + must "../as-xx and ../as-yy and ../no-prepend and ../replace-as and not(../disable)"; + description + "Dual-AS mode"; + } + } + } + + grouping LISP-ROUTES { + description + "Common node of global-af, vrf-global-af"; + container lisp-routes { + presence "enable lisp-routes"; + description + "Redistribute lisp routes"; + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + + grouping SRV6VERSION4 { + description + "Common node of neighbor-group-af, neighbor-af, + af-group-af"; + leaf srv6version4 { + type boolean; + description + "TRUE to enable SRv6 version 4,FALSE to disable + SRv6 version 4"; + } + } + + grouping ADDITIONAL-PATHS-SEND-CAPABILITY { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf additional-paths-send-capability { + type dt1:Bgp-nbr-cap-additional-paths-cfg; + description + "Advertise additional paths Send capability"; + } + } + + grouping BEST-PATH-IGP-METRIC-IGNORE { + description + "Common node of global, vrf-global"; + leaf best-path-igp-metric-ignore { + type empty; + description + "Change default route selection criteria to + ignore IGP Metric "; + } + } + + grouping L2VPN-SIGNALLING { + description + "Common node of neighbor-group-af, neighbor-af, + af-group-af"; + leaf l2vpn-signalling { + type Bgp-signal; + description + "Disable signalling type on the peer"; + } + } + + grouping DAMPENING { + description + "Common node of global-af, vrf-global-af"; + container dampening { + presence "enable dampening"; + description + "Enable route-flap dampening"; + leaf half-life { + type uint32 { + range "1..45"; + } + units "minute"; + description + "Half-life time for the penalty (minutes)."; + } + leaf reuse-threshold { + type uint32 { + range "1..20000"; + } + description + "Value to start reusing a route."; + } + leaf suppress-threshold { + type uint32 { + range "1..20000"; + } + description + "Value to start suppressing a route."; + } + leaf suppress-time { + type uint32 { + range "1..255"; + } + units "second"; + description + "Maximum duration to suppress a stable route + (seconds)."; + } + leaf route-policy-name { + type string; + description + "Route policy to specify criteria for dampening. + This cannot be specified if any other + parameters are specified."; + } + } + } + + grouping ADVERTISE-LOCAL-LABELED-ROUTE-SAFI-UNICAST { + description + "Common node of global-af, vrf-global-af"; + leaf advertise-local-labeled-route-safi-unicast { + type dt1:Bgp-advertise-local-labeled-route-cfg; + description + "Enable/disable advertisement of routes with + local-label via Unicast SAFI"; + } + } + + grouping SUBSCRIBER-ROUTES { + description + "Common node of global-af, vrf-global-af"; + container subscriber-routes { + presence "enable subscriber-routes"; + description + "Redistribute subscriber routes"; + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + + grouping INTERNAL-VPN-CLIENT-IBGP-CE { + description + "Common node of neighbor-group, vrf-neighbor, + session-group"; + leaf internal-vpn-client-ibgp-ce { + type boolean; + description + "TRUE to preserve the CE path attributes.FALSE to + override CE path attributes."; + } + } + + grouping ACCEPT-ROUTE-LEGACY-RT { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf accept-route-legacy-rt { + type boolean; + description + "TRUE to configure as a accept-route-legacy-RT. + FALSE to prevent accept-route-legacy-RT from + being inherited."; + } + } + + grouping PERMANENT-NETWORK { + description + "Common node of global-af, vrf-global-af"; + leaf permanent-network { + type string; + description + "Route policy for permanent networks"; + } + } + + grouping ENABLE { + description + "Common node of global-af, vrf-global-af"; + leaf enable { + type empty; + description + "Enable the address family. Deletion of this + object causes deletion of all the objects under + GlobalAF/VRFGlobalAF associated with this object + ."; + } + } + + grouping EBGP-RECV-DMZ { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf ebgp-recv-dmz { + type boolean; + description + "TRUE to receive DMZ link bandwidth from ebgp + peer. FALSE to not receive from ebgp peer and to + prevent inheritance from a parent"; + } + } + + grouping ADVERTISEMENT-INTERVAL { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container advertisement-interval { + presence "Indicates a advertisement-interval node is configured."; + description + "Minimum interval between sending BGP routing + updates"; + leaf minimum-interval { + type uint32 { + range "0..600"; + } + units "second"; + mandatory true; + description + "Minimum advertisement interval time, secs part"; + } + leaf minimum-interval-msecs { + type uint32 { + range "0..999"; + } + units "millisecond"; + description + "Minimum advertisement interval time, msecs part"; + } + } + } + + grouping RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP { + description + "Common node of global-af, vrf-global-af"; + leaf rpki-origin-as-validity-signal-ibgp { + type empty; + description + "RPKI origin-AS validity signal ibgp"; + } + } + + grouping BGP-CFG-RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP { + description + "Common node of global-af, vrf-global-afCommon + node of global, vrf-global"; + leaf rpki-origin-as-validity-signal-ibgp { + type empty; + description + "RPKI origin-AS validity signal ibgp"; + } + } + + grouping IMPORT { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container import { + description + "Import Reorigination options for Routes from the + peer"; + leaf import-stitching { + type boolean; + description + "TRUE to Import with Stitching RTs, FALSE to + Import with normal RTs"; + } + leaf import-reoriginate { + type boolean; + description + "TRUE to Reoriginate imported routes, FALSE to + not Reoriginate imported routes - not supported"; + } + leaf import-reoriginate-stitching { + type boolean; + description + "TRUE to Reoriginate imported routes with + Stitching RTs, FALSE to Reoriginate imported + routes with normal RTs"; + } + } + } + + grouping ACCEPT-OWN { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf accept-own { + type boolean; + description + "Handle self-originated routes with Accept-Own + community. Valid for following neighbor + address-families: VPNv4Unicast, VPNv6Unicast."; + } + } + + grouping ADDITIONAL-PATHS-RECEIVE { + description + "Common node of global-af, vrf-global-af"; + leaf additional-paths-receive { + type dt1:Bgp-af-additional-paths-cfg; + description + "Advertise additional paths Receive capability"; + } + } + + grouping MPLS-ACTIVATED-INTERFACE-TABLE { + description + "Common node of global, vrf-global"; + container mpls-activated-interfaces { + description + "Configure list of MPLS activated interfaces"; + list mpls-activated-interface { + key "interface-name"; + description + "Configure a MPLS activated interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + } + + grouping MULTIPATH { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf multipath { + type empty; + description + "Allow paths from this neighbor to be eligible + for selective multipath"; + } + } + + grouping EIGRP-ROUTE-TABLE { + description + "Common node of global-af, vrf-global-af"; + container eigrp-routes { + description + "Redistribute information for EIGRP routes."; + list eigrp-route { + key "instance-name"; + description + "Redistribute EIGRP routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "EIGRP router tag"; + } + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf redist-type { + type xr:Hex-integer; + description + "Redistribution type: 01 for internal routes, + 02 for external routes, Logical combinations + permitted."; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + } + + grouping OPTIMAL-ROUTE-REFLECTION-GROUP { + description + "Common node of global-af, vrf-global-afCommon + node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf optimal-route-reflection-group { + type string; + description + "Name of the ORR group this neighbor is going to + be part of"; + } + } + + grouping LOG-NEIGHBOR-STATE-CHANGE { + description + "Common node of global-af, vrf-global-afCommon + node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-afCommon node of + neighbor-group, neighbor"; + container log-neighbor-state-change { + description + "Logging neighbor state changes"; + leaf log-up-down-enable { + type boolean; + description + "Neighbor state change enable"; + } + leaf log-up-down-disable { + type boolean; + description + "Neighbor state change disable"; + } + leaf log-up-down-inherit-disable { + type boolean; + description + "TRUE, to prevent this entity from having state + change message logging if parent has one"; + } + } + } + + grouping ROUTE-REFLECTOR-CLIENT { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf route-reflector-client { + type boolean; + description + "TRUE to configure as a route-reflector-client. + FALSE to prevent route-reflector-client from + being inherited."; + } + } + + grouping ADVERTISE-LOCAL-LABELED-ROUTE { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf advertise-local-labeled-route { + type dt1:Bgp-advertise-local-labeled-route-cfg; + description + "Enable/disable advertisement of routes with + local-label"; + } + } + + grouping BEST-PATH-IGP-METRIC-SR-POLICY { + description + "Common node of global, vrf-global"; + leaf best-path-igp-metric-sr-policy { + type empty; + description + "Enable BGP next-hop metric inheritance from SR + policy"; + } + } + + grouping SESSION-OPEN-MODE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf session-open-mode { + type Bgp-tcp-mode; + default "either"; + description + "TCP mode to be used to establish BGP session"; + } + } + + grouping RPKI-ORIGIN-AS-VALIDATION-ENABLE { + description + "Common node of global-af, vrf-global-af"; + leaf rpki-origin-as-validation-enable { + type empty; + description + "RPKI origin-AS validation enable"; + } + } + + grouping UPDATE-OUT-ORIG-LOOP-CHK-DISABLE { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf update-out-orig-loop-chk-disable { + type empty; + description + "Enable/disable Originator loop check for this + neighbor-group/af-group"; + } + } + + grouping STATIC-ROUTES { + description + "Common node of global-af, vrf-global-af"; + container static-routes { + presence "enable static-routes"; + description + "Redistribute static routes"; + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + + grouping PASSWORD { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container password { + description + "Set or disable a password"; + leaf password-disable { + type boolean; + description + "TRUE to prevent this entity from having a + password even if the parent has one. FALSEto + specify a password"; + } + leaf password { + when "../password-disable = 'false'" { + description + "../PasswordDisable = false"; + } + type xr:Proprietary-password; + description + "The neighbor password. Leave unspecified when + disabling the password."; + } + } + } + + grouping NEXT-HOP-UNCHANGED-MULTIPATH { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-groupCommon node of + neighbor-group-af, neighbor-af, af-group-af"; + leaf next-hop-unchanged-multipath { + type boolean; + description + "TRUE to disable overwriting of next hop for + multipaths. FALSE to prevent next-hop-unchanged + for multipaths."; + } + } + + grouping SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf suppress-extended-nexthop-encoding-capability { + type boolean; + description + "TRUE to suppress Extended Nexthop encoding + capability. FALSE to not suppress and to prevent + inheritance from a parent"; + } + } + + grouping NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM { + description + "Common node of global-af, vrf-global-af"; + leaf next-hop-resolution-prefix-length-minimum { + type uint32 { + range "0..128"; + } + default "0"; + description + "Minimum prefix-length for nexthop resolution"; + } + } + + grouping BEST-PATH-AS-PATH-LENGTH { + description + "Common node of global, vrf-global"; + leaf best-path-as-path-length { + type empty; + description + "Change default route selection criteria to + ignore AS path length"; + } + } + + grouping MSG-LOG-OUT { + description + "Common node of global, vrf-globalCommon node of + neighbor-group, neighbor, vrf-neighbor, + session-group"; + container msg-log-out { + description + "Message log outbound"; + leaf msg-buf-count { + type uint32 { + range "1..500"; + } + description + "Outbound message log buffer size"; + } + leaf msg-log-disable { + type boolean; + description + "Disable inbound message logging"; + } + leaf msg-log-inherit-disable { + type boolean; + description + "TRUE, to prevent this entity from having a + outbound message logging if parent has one"; + } + } + } + + grouping EPE-PEER-SET-IDENTITY-TABLE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container epe-peer-set-identities { + description + "Assign this neighbor to following peer-sets, + used for egress peer engineering"; + list epe-peer-set-identity { + key "set-identity"; + description + "Assign this neighbor to mentioned peer-set"; + leaf set-identity { + type uint32 { + range "1..255"; + } + description + "Identity of this EPE Peer-set"; + } + } + } + } + + grouping ENFORCE-MULTIPLE-LABELS { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf enforce-multiple-labels { + type boolean; + description + "TRUE to enforce multiple labels support."; + } + } + + grouping PREFIX-ORF-POLICY { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-afCommon node of + neighbor-group-af, neighbor-af, vrf-neighbor-af, + af-group-af"; + leaf prefix-orf-policy { + type string; + description + "Prefix ORF policy name for incoming updates"; + } + } + + grouping SOURCED-NETWORK-TABLE { + description + "Common node of global-af, vrf-global-af"; + container sourced-networks { + description + "Specify a network to announce via BGP"; + list sourced-network { + key "network-addr network-prefix"; + description + "Sourced network configuration"; + leaf network-addr { + type inet:ip-address; + description + "Network in prefix/length format (address part)"; + } + leaf network-prefix { + type uint16 { + range "0..128"; + } + description + "Network in prefix/length format (prefix part)"; + } + leaf backdoor { + type boolean; + description + "Specify a BGP backdoor route, default is FALSE"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + } + + grouping REMOVE-PRIVATE-AS-ENTIRE-AS-PATH { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container remove-private-as-entire-as-path { + presence "Indicates a remove-private-as-entire-as-path node is configured."; + description + "Remove private AS number from outbound updates"; + leaf enable { + type boolean; + mandatory true; + description + "TRUE to remove private AS from outbound updates + . FALSE to prevent remove-private-AS from + being inherited."; + } + leaf internal { + type boolean; + description + "TRUE if we need to remove private AS from + internal neighbors only. False to disable this + knob"; + } + leaf entire { + type boolean; + description + "TRUE to remove private AS from outbound updates + if all ASes in aspath areprivate. FALSE to + prevent remove-private-ASfrom being inherited."; + } + } + } + + grouping GRACEFUL-MAINTENANCE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container graceful-maintenance { + description + "Graceful Maintenance mode"; + container graceful-maintenance-bandwidth-aware { + description + "Bandwidth-Aware Graceful-Maintenance"; + leaf gshut-bandwidth-aware-disable { + type boolean; + description + "TRUE, to prevent inheritance of BandwithAware + from its parents. FALSE, otherwise"; + } + leaf mode-type { + type Bgp-bandwidth-aware-gshut-threshold-mode; + description + "Threshold Mode"; + } + leaf low-threshold { + type uint32 { + range "1..4294967295"; + } + description + "Low-Threshold Value"; + } + leaf high-threshold { + type uint32 { + range "1..4294967295"; + } + description + "Optional High-Threshold Value, set 0 to + ignore"; + } + } + container graceful-maintenance-local-preference { + description + "Set Local Preference to advertise routes with"; + leaf gshut-loc-pref-disable { + type boolean; + description + "TRUE, to prevent inheritance of Local Pref + value from its parents.FALSE, otherwise"; + } + leaf local-preference { + type uint32 { + range "0..4294967295"; + } + description + "Local Preference Value"; + } + } + container graceful-maintenance-as-prepends { + description + "Number of times to prepend local AS number to + the AS path"; + leaf gshut-prepends-disable { + type boolean; + description + "TRUE, to prevent inheritance of AS Prepends + value from its parents.FALSE, otherwise"; + } + leaf as-prepends { + type uint32 { + range "0..6"; + } + description + "number of times AS prepends"; + } + } + leaf enable { + type empty; + description + "Enter Graceful Maintenance mode to configure + parametrs"; + } + leaf graceful-maintenance-activate { + type boolean; + description + "Initiate the graceful shutdown procedure"; + } + } + } + + grouping NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container neighbor-af-long-lived-graceful-restart-stale-time { + description + "Maximum time to wait before purging long lived + routes"; + leaf stale-time-send { + type uint32 { + range "0..16777215"; + } + units "second"; + default "0"; + description + "Max time (seconds)"; + } + leaf stale-time-accept { + type uint32 { + range "0..16777215"; + } + units "second"; + default "0"; + description + "Max time (seconds)"; + } + } + } + + grouping BFD { + description + "Common node of global, vrf-global"; + container bfd { + description + "BFD configuration"; + leaf detection-multiplier { + type uint32 { + range "2..16"; + } + description + "Detection multiplier for BFD sessions created + by BGP"; + } + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by BGP"; + } + } + } + + grouping ALLOCATE-LABEL { + description + "Common node of global-af, vrf-global-af"; + container allocate-label { + presence "enable allocate-label"; + description + "Label allocation policy"; + leaf all { + type boolean; + description + "Whether all nets should be labeled, default is + FALSE"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf un-labeled-path { + type boolean; + must "../all or ../route-policy-name"; + description + "Allocate label for unlabeled paths too"; + } + } + } + + grouping SEND-BUFFER-SIZE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container send-buffer-size { + description + "Set socket send buffer size and BGP write buffer + size"; + leaf socket-send-size { + type uint32 { + range "4096..131072"; + } + units "byte"; + default "24576"; + description + "Send socket buffer size in bytes"; + } + leaf bgp-send-size { + type uint32 { + range "4096..131072"; + } + units "byte"; + default "4096"; + description + "BGP write buffer size in bytes"; + } + } + } + + grouping BEST-PATH-MED-MISSING { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-groupCommon node of global, + vrf-global"; + leaf best-path-med-missing { + type empty; + description + "Treat missing MED as the least preferred one"; + } + } + + grouping SUPPRESS-ALL-CAPABILITIES { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf suppress-all-capabilities { + type boolean; + description + "TRUE to suppress all capabilities. FALSE to not + suppress and to prevent inheritance from a + parent"; + } + } + + grouping DEFAULT-WEIGHT { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-groupCommon node of + neighbor-group-af, neighbor-af, vrf-neighbor-af, + af-group-af"; + leaf default-weight { + type uint32 { + range "0..65535"; + } + description + "Set default weight for routes from this + neighbor/neighbor-group/af-group"; + } + } + + grouping SUPPRESS-FOUR-BYTE-AS-CAPABILITY { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf suppress-four-byte-as-capability { + type boolean; + description + "TRUE to suppress BGP 4-byte-as capability. + FALSE to not suppress it and to prevent + inheritance from a parent"; + } + } + + grouping LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf labeled-unicast-equivalent-for-inbound-updates { + type boolean; + description + "TRUE to merge updates FALSE to not merge updates + and to prevent inheritance from a parent"; + } + } + + grouping ADVERTISE-LOCAL-L2VPN-EVPN { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-local-l2vpn-evpn { + description + "Advertise Of Local Routes to the peer with + different RT"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf reorg-option { + type Bgp-reorg-opt; + description + "Reorigination option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping EGRESS-PEER-ENGINEERING { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf egress-peer-engineering { + type boolean; + description + "TRUE to enable egress peer engineering FALSE to + disable egress peer engineering and to prevent + inheritance from a parent"; + } + } + + grouping BEST-PATH-CONFEDERATION-PATHS { + description + "Common node of global, vrf-global"; + leaf best-path-confederation-paths { + type empty; + description + "Change default route selection criteria and + allow the comparing of MED among confederation + paths"; + } + } + + grouping MULTI-PATH-USE-CLUSTER-LIST-LENGTH { + description + "Common node of global, vrf-global"; + leaf multi-path-use-cluster-list-length { + type empty; + description + "Change default multipath selection criteria to + consider Cluster-list length"; + } + } + + grouping DYNAMIC-MED-INTERVAL { + description + "Common node of global-af, vrf-global-af"; + leaf dynamic-med-interval { + type uint32 { + range "0..10"; + } + units "minute"; + default "10"; + description + "Update generation delay (in minutes) after a MED + change"; + } + } + + grouping REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container remove-private-as-entire-as-path-inbound { + presence "Indicates a remove-private-as-entire-as-path-inbound node is configured."; + description + "Remove private AS number from inbound updates"; + leaf enable { + type boolean; + mandatory true; + description + "TRUE to remove private AS from inbound updates. + FALSE to prevent remove-private-AS from being + inherited."; + } + leaf entire { + type boolean; + description + "TRUE to remove private AS from inbound updates + if all ASes in aspath areprivate. FALSE to + prevent remove-private-ASfrom being inherited."; + } + } + } + + grouping RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY { + description + "Common node of global-af, vrf-global-af"; + leaf rpki-bestpath-use-origin-as-validity { + type empty; + description + "RPKI bestpath use origin-AS validity"; + } + } + + grouping BGP-CFG-RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY { + description + "Common node of global-af, vrf-global-afCommon + node of global, vrf-global"; + leaf rpki-bestpath-use-origin-as-validity { + type empty; + description + "RPKI bestpath use origin-AS validity"; + } + } + + grouping CONNECTED-ROUTES { + description + "Common node of global-af, vrf-global-af"; + container connected-routes { + presence "enable connected-routes"; + description + "Redistribute connected routes"; + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + + grouping IGP-REDIST-INTERNAL { + description + "Common node of global, vrf-global"; + leaf igp-redist-internal { + type empty; + description + "Allow redistribution of iBGP into IGPs + (dangerous)"; + } + } + + grouping AIGP-SEND-MED { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf aigp-send-med { + type Bgp-aigp-cfg; + description + "Enable/Disable sending AIGP in MED "; + } + } + + grouping AIGP { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf aigp { + type Bgp-aigp-cfg; + description + "Enable Accumulated IGP Metric for this neighbor."; + } + } + + grouping ADVERTISE-ORF { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf advertise-orf { + type Bgp-orf; + default "none"; + description + "Advertise ORF capability to the peer"; + } + } + + grouping BFD-MINIMUM-INTERVAL { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf bfd-minimum-interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by BGP"; + } + } + + grouping AIGP-COST-COMMUNITY { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container aigp-cost-community { + description + "Send AIGP value in Cost Community. "; + leaf enable { + type boolean; + description + "TRUE to enable sending cost community, FALSE + otherwise "; + } + leaf cost-community-id { + when "../enable = 'true'" { + description + "../Enable = 'true'"; + } + type uint32 { + range "0..255"; + } + description + "Cost Community ID"; + } + leaf transitive { + when "../enable = 'true'" { + description + "../Enable = 'true'"; + } + type boolean; + description + "True to send transitive cost community FALSE + otherwise"; + } + leaf cost-community-poi-type { + when "../enable = 'true'" { + description + "../Enable = 'true'"; + } + type Bgp-aigp-cfg-poi; + description + "Cost Community POI"; + } + } + } + + grouping DISABLE-AS-PATH-LOOP-CHECK { + description + "Common node of global-af, vrf-global-af"; + leaf disable-as-path-loop-check { + type empty; + description + "Disable outbound AS Path loop check"; + } + } + + grouping BEST-PATH-ROUTER-ID { + description + "Common node of global, vrf-global"; + leaf best-path-router-id { + type empty; + description + "Change default route selection criteria and + compare router-id for identical EBGP paths"; + } + } + + grouping RIP-ROUTES { + description + "Common node of global-af, vrf-global-af"; + container rip-routes { + presence "enable rip-routes"; + description + "Redistribute RIP routes"; + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + + grouping DESCRIPTION { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + leaf description { + type string; + description + "Up to 80 characters describing this neighbor"; + } + } + + grouping ADVERTISE-L2VPN-EVPN { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + container advertise-l2vpn-evpn { + description + "Advertise Translated Routes to the peer"; + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf reorg-option { + type Bgp-reorg-opt; + description + "Reorigination option"; + } + leaf rt-type { + type Bgp-adv-rt; + description + "RT type"; + } + } + } + + grouping KEYCHAIN { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container keychain { + description + "Set or disable keychain based authentication"; + leaf keychain-disable { + type boolean; + description + "TRUE to prevent this entity from having a + keychain based authentication even if the + parent has one.FALSE to specify a keychain name"; + } + leaf keychain-name { + when "../keychain-disable = 'false'" { + description + "../KeychainDisable = false"; + } + type string; + description + "Name of the keychain associated with neighbor"; + } + } + } + + grouping RECEIVE-BUFFER-SIZE { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container receive-buffer-size { + description + "Set socket receive buffer size and BGP read + buffer size"; + leaf socket-receive-size { + type uint32 { + range "512..131072"; + } + units "byte"; + default "32768"; + description + "Receive socket buffer size in bytes"; + } + leaf bgp-receive-size { + type uint32 { + range "512..131072"; + } + units "byte"; + default "4096"; + description + "BGP read buffer size in bytes"; + } + } + } + + grouping NEXT-HOP-UNCHANGED { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf next-hop-unchanged { + type boolean; + description + "TRUE to disable overwriting of next hop before + advertising to eBGP peers. FALSE to prevent + next-hop-unchanged from being inherited."; + } + } + + grouping OSPF-ROUTE-TABLE { + description + "Common node of global-af, vrf-global-af"; + container ospf-routes { + description + "Redistribute information for OSPF routes."; + list ospf-route { + key "instance-name"; + description + "Redistribute OSPF routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OSPF router tag"; + } + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf redist-type { + type xr:Hex-integer; + description + "Redistribution type: 01 for internal routes, + 02 for external routes of type 1, 04 for + external routes of type 2, 08 for NSSA + external routes of type 1, 10 for NSSA + external routes of type 2, 20 for external + routes, 40 for NSSA external routes. Logical + combinations permitted."; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + } + + grouping ROUTER-ID { + description + "Common node of global, vrf-global"; + leaf router-id { + type inet:ipv4-address-no-zone; + default "0.0.0.0"; + description + "Configure Router-id"; + } + } + + grouping DEFAULT-METRIC { + description + "Common node of global, vrf-global"; + leaf default-metric { + type uint32 { + range "1..4294967295"; + } + description + "Default redistributed metric"; + } + } + + grouping ROUTE-POLICY-RETENTION { + description + "Common node of global, vrf-globalCommon node of + neighbor-group-af, neighbor-af, vrf-neighbor-af, + af-group-af"; + container route-policy-retention { + description + "Apply route policy to retain the routes from a + down neighbor"; + leaf route-policy-name { + type string; + description + "Route policy name to apply to Retain routes"; + } + leaf stale-time { + type uint32 { + range "0..2147483647"; + } + description + "Configure a stale time after which retention + timer kicks in"; + } + } + } + + grouping RPKI-ORIGIN-AS-VALIDATION-DISABLE { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-af"; + leaf rpki-origin-as-validation-disable { + type empty; + description + "RPKI origin-AS validation disable"; + } + } + + grouping BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE { + description + "Common node of neighbor-group-af, neighbor-af, + vrf-neighbor-af, af-group-afCommon node of + neighbor-group, neighbor, vrf-neighbor, + session-group"; + leaf rpki-origin-as-validation-disable { + type empty; + description + "RPKI origin-AS validation disable"; + } + } + + grouping DISABLE-NEIGHBOR-LOGGING { + description + "Common node of global, vrf-global"; + leaf disable-neighbor-logging { + type empty; + description + "Disable neighbor change logging"; + } + } + + grouping TCPMSS { + description + "Common node of neighbor-group, neighbor, + vrf-neighbor, session-group"; + container tcpmss { + description + "TCP Maximum segment size"; + leaf tcpmss-disable { + type boolean; + description + "TRUE, to prevent inheritance ofTCP MSS + valuefrom its parents.FALSE, otherwise"; + } + leaf mss { + type uint32 { + range "68..10000"; + } + description + "Maximum Segment Size"; + } + } + } + + augment "/a1:vrfs/a1:vrf" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-rsi-cfg'"; + container bgp-global { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will + provide the compatible functionalities. BGP + related VRF Global config"; + container route-distinguisher { + description + "Route distinguisher"; + leaf type { + type Bgp-global-route-distinguisher; + description + "Type of RD"; + } + leaf as-xx { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type Bgp-global-as-range; + description + "AS number"; + } + leaf as { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type Bgp-global-as-range; + description + "AS number"; + } + leaf as-index { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type Bgp-global-extcomm-asn-index; + description + "ASN Index"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf address-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type Bgp-global-extcomm-v4-addr-index; + description + "IP address index"; + } + } + } + } + augment "/a2:snmp/a2:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container bgp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will + provide the compatible functionalities. + BGP4-MIB and CISCO-BGP4-MIB notification + configuration"; + container bgp4mib { + description + "Enable BGP4-MIB and CISCO-BGP4-MIB IPv4-only + notifications: bgpEstablishedNotification, + bgpBackwardTransNotification, + cbgpFsmStateChange, cbgpBackwardTransition, + cbgpPrefixThresholdExceeded, + cbgpPrefixThresholdClear."; + leaf enable { + type empty; + must "not(../up-down)"; + description + "Enable BGP4-MIB and CISCO-BGP4-MIB IPv4-only + notifications"; + } + leaf up-down { + type empty; + must "not(../enable)"; + description + "Enable BGP4-MIB and CISCO-BGP4-MIB IPv4-only + up/down notifications"; + } + } + container cisco-bgp4mib { + description + "Enable CISCO-BGP4-MIB v2 notifications: + cbgpPeer2EstablishedNotification, + cbgpPeer2BackwardTransNotification, + cbgpPeer2FsmStateChange, + cbgpPeer2BackwardTransition, + cbgpPeer2PrefixThresholdExceeded, + cbgpPeer2PrefixThresholdClear."; + leaf enable { + type empty; + must "not(../up-down)"; + description + "Enable CISCO-BGP4-MIB v2 notifications"; + } + leaf up-down { + type empty; + must "not(../enable)"; + description + "Enable CISCO-BGP4-MIB v2 up/down notifications"; + } + } + } + } + augment "/a1:vrfs/a1:vrf/a1:afs/a1:af" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-rsi-cfg'"; + container bgp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will + provide the compatible functionalities. BGP AF + VRF config"; + container import-route-targets { + description + "Import Route targets"; + uses ROUTE-TARGET-TABLE; + } + container export-route-targets { + description + "Export Route targets"; + uses ROUTE-TARGET-TABLE; + } + container vrf-to-global-export-route-policy { + presence "Indicates a vrf-to-global-export-route-policy node is configured."; + description + "Route policy for vrf to global export filtering"; + leaf route-policy-name { + type string; + mandatory true; + description + "Vrf to global export route policy"; + } + leaf allow-imported-vpn { + type boolean; + description + "TRUE: Enable imported VPN paths to be exported + to Default VRF; FALSE: Disable imported VPN + paths to be exported to Default VRF."; + } + } + container export-vrf-options { + description + "Export VRF options"; + leaf allow-imported-vpn { + type boolean; + description + "TRUE: Enable imported VPN paths to be exported + to non-default VRF; FALSE: Disable imported + VPN paths to be exported to non-default VRF."; + } + leaf disable-adv-source-vrf-vni { + type boolean; + description + "TRUE: Disallow advertisement of source vrf vni + for leaked paths; FALSE: Allow advertisement + of source vrf vni for leaked paths."; + } + leaf export-allow-backup { + type boolean; + description + "TRUE: Enable Leaking(export) of backup path; + FALSE: Disable Leaking(export) of backup path."; + } + leaf export-allow-best-external { + type boolean; + description + "TRUE: Enable Leaking(export) of best-external + path; FALSE: Disable Leaking(export) of + best-external path."; + } + } + container import-vrf-options { + description + "Import VRF options"; + leaf advertise-as-vpn { + type boolean; + description + "TRUE: Enable advertising imported paths to PEs + ; FALSE: Disable advertising imported paths to + PEs."; + } + leaf import-allow-backup { + type boolean; + description + "TRUE: Enable Import of backup path; FALSE: + Disable Import of backup path."; + } + leaf import-allow-best-external { + type boolean; + description + "TRUE: Enable Import of best-external path; + FALSE: Disable Import of best-external path."; + } + } + container global-to-vrf-import-route-policy { + presence "Indicates a global-to-vrf-import-route-policy node is configured."; + description + "Route policy for global to vrf import filtering"; + leaf route-policy-name { + type string; + mandatory true; + description + "Global to vrf import route policy"; + } + leaf advertise-as-vpn { + type boolean; + description + "TRUE Enable advertising imported paths to + PEsFALSE Disable advertising imported paths to + PEs"; + } + } + leaf export-route-policy { + type string; + description + "Route policy for export filtering"; + } + leaf import-route-policy { + type string; + description + "Route policy for import filtering"; + } + leaf import-from-bridge-domain { + type boolean; + description + "TRUE Enable advertising local EVPN paths to PEs + .FALSE Disable advertising local EVPN paths to + PEs."; + } + } + } + augment "/a1:global-af/a1:afs/a1:af" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-infra-rsi-cfg'"; + container bgp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will + provide the compatible functionalities. BGP AF + VRF config"; + container import-route-targets { + description + "Import Route targets"; + uses ROUTE-TARGET-TABLE; + } + container export-route-targets { + description + "Export Route targets"; + uses ROUTE-TARGET-TABLE; + } + container vrf-to-global-export-route-policy { + presence "Indicates a vrf-to-global-export-route-policy node is configured."; + description + "Route policy for vrf to global export filtering"; + leaf route-policy-name { + type string; + mandatory true; + description + "Vrf to global export route policy"; + } + leaf allow-imported-vpn { + type boolean; + description + "TRUE: Enable imported VPN paths to be exported + to Default VRF; FALSE: Disable imported VPN + paths to be exported to Default VRF."; + } + } + container export-vrf-options { + description + "Export VRF options"; + leaf allow-imported-vpn { + type boolean; + description + "TRUE: Enable imported VPN paths to be exported + to non-default VRF; FALSE: Disable imported + VPN paths to be exported to non-default VRF."; + } + leaf disable-adv-source-vrf-vni { + type boolean; + description + "TRUE: Disallow advertisement of source vrf vni + for leaked paths; FALSE: Allow advertisement + of source vrf vni for leaked paths."; + } + leaf export-allow-backup { + type boolean; + description + "TRUE: Enable Leaking(export) of backup path; + FALSE: Disable Leaking(export) of backup path."; + } + leaf export-allow-best-external { + type boolean; + description + "TRUE: Enable Leaking(export) of best-external + path; FALSE: Disable Leaking(export) of + best-external path."; + } + } + container import-vrf-options { + description + "Import VRF options"; + leaf advertise-as-vpn { + type boolean; + description + "TRUE: Enable advertising imported paths to PEs + ; FALSE: Disable advertising imported paths to + PEs."; + } + leaf import-allow-backup { + type boolean; + description + "TRUE: Enable Import of backup path; FALSE: + Disable Import of backup path."; + } + leaf import-allow-best-external { + type boolean; + description + "TRUE: Enable Import of best-external path; + FALSE: Disable Import of best-external path."; + } + } + container global-to-vrf-import-route-policy { + presence "Indicates a global-to-vrf-import-route-policy node is configured."; + description + "Route policy for global to vrf import filtering"; + leaf route-policy-name { + type string; + mandatory true; + description + "Global to vrf import route policy"; + } + leaf advertise-as-vpn { + type boolean; + description + "TRUE Enable advertising imported paths to + PEsFALSE Disable advertising imported paths to + PEs"; + } + } + leaf export-route-policy { + type string; + description + "Route policy for export filtering"; + } + leaf import-route-policy { + type string; + description + "Route policy for import filtering"; + } + leaf import-from-bridge-domain { + type boolean; + description + "TRUE Enable advertising local EVPN paths to PEs + .FALSE Disable advertising local EVPN paths to + PEs."; + } + } + } + leaf asn-format { + type Bgp-asn; + default "as-plain"; + description + "Autonomous system number format"; + } + container bgp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will + provide the compatible functionalities. BGP + configuration commands"; + list instance { + must "instance-as" { + description + "must be set."; + } + key "instance-name"; + description + "BGP instance configuration commands"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "Instance Name. For Default instance use - + default"; + } + list instance-as { + must "four-byte-as" { + description + "must be set."; + } + key "as"; + description + "Autonomous system"; + leaf as { + type dt1:Bgp-as-range; + description + "Higher 16 bits of 4-byte Autonomous system + number"; + } + list four-byte-as { + key "as"; + description + "4-byte Autonomous system"; + container vrfs { + description + "VRF config"; + list vrf { + key "vrf-name"; + description + "VRF config"; + container vrf-global { + description + "VRF attribute config"; + container route-distinguisher { + description + "Route distinguisher"; + leaf type { + type Bgp-route-distinguisher; + description + "Type of RD"; + } + leaf as-xx { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type dt1:Bgp-as-range; + description + "AS number"; + } + leaf as { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type dt1:Bgp-as-range; + description + "AS number"; + } + leaf as-index { + when "../type = 'as' or ../type = 'four-byte-as'" { + description + "../Type = AS or ../Type = FourByteAS"; + } + type dt1:Bgp-extcomm-asn-index; + description + "ASN Index"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf address-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type dt1:Bgp-extcomm-v4-addr-index; + description + "IP address index"; + } + } + container vrf-global-afs { + description + "Global VRF-specific configuration"; + list vrf-global-af { + key "af-name"; + description + "Global VRF AF-specific configuration"; + container mvpn { + description + "MVPN configurations"; + leaf single-forwarder-selection { + type Bgp-mvpn-sfs-select; + description + "Select MVPN single forwarder selection"; + } + } + container ebgp { + presence "Indicates a ebgp node is configured."; + description + "Use eBGP multipaths"; + leaf paths-value { + type uint32 { + range "2..32"; + } + mandatory true; + description + "Number of paths"; + } + leaf selective { + type boolean; + mandatory true; + description + "Allow multipaths only from marked + neighbors"; + } + } + container eibgp { + presence "Indicates a eibgp node is configured."; + description + "Use eiBGP multipaths"; + leaf paths-value { + type uint32 { + range "2..32"; + } + mandatory true; + description + "Number of paths"; + } + leaf selective { + type boolean; + mandatory true; + description + "Allow multipaths only from marked + neighbors"; + } + } + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Use iBGP multipaths"; + leaf paths-value { + type uint32 { + range "2..32"; + } + mandatory true; + description + "Number of paths"; + } + leaf unequal-cost { + type boolean; + mandatory true; + description + "Allow multipaths to have different IGP + metrics"; + } + leaf selective { + type boolean; + mandatory true; + description + "Allow multipaths only from marked + neighbors"; + } + leaf deterministic { + type empty; + description + "Select Multipaths deterministically + based on IGP metric followed by Age"; + } + } + leaf mpls-alloc-enable { + type boolean; + description + "MPLS alloc enable, use this for dual + mode srv6 and mpls"; + } + leaf rt-download { + type empty; + description + "Route-Target download configuration"; + } + leaf allow-vpn-default-originate { + type boolean; + description + "TRUE to send default orig route to VPN + neighborFALSE to not send default + originate route "; + } + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + uses RPKI-ORIGIN-AS-VALIDATION-ENABLE; + uses AGGREGATE-ADDRESS-TABLE; + uses DYNAMIC-MED-INTERVAL; + uses EVENT-PREFIX-ROUTE-POLICY; + uses DAMPENING; + uses ENABLE; + uses RIP-ROUTES; + uses LISP-ROUTES; + uses STATIC-ROUTES; + uses DISTANCE; + uses TABLE-POLICY; + uses APP-ROUTE-TABLE; + uses ATTRIBUTE-DOWNLOAD; + uses LABEL-MODE; + uses EIGRP-ROUTE-TABLE; + uses BEST-EXTERNAL; + uses NEXTHOP-CHECK-DISABLE; + uses SOURCED-NETWORK-TABLE; + uses RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; + uses CONNECTED-ROUTES; + uses ADDITIONAL-PATHS-RECEIVE; + uses PERMANENT-NETWORK; + uses RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; + uses ALLOCATE-LABEL; + uses ADDITIONAL-PATHS-SELECTION; + uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID-MP; + uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM; + uses RESET-WEIGHT-ON-IMPORT; + uses OSPF-ROUTE-TABLE; + uses ADDITIONAL-PATHS-SEND; + uses OPTIMAL-ROUTE-REFLECTION-GROUP-APPLY-TABLE; + uses ADVERTISE-LOCAL-LABELED-ROUTE-SAFI-UNICAST; + uses MOBILE-ROUTES; + uses DISABLE-AS-PATH-LOOP-CHECK; + uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM-IPV6; + uses OPTIMAL-ROUTE-REFLECTION-GROUP-TABLE; + uses SUBSCRIBER-ROUTES; + uses SEGMENT-ROUTING; + } + } + leaf exists { + type empty; + description + "Create this VRF. Deletion of this object + causes deletion of all the objects under + VRF associated with this object."; + } + uses ROUTER-ID; + uses SLOW-PEER-DETECTION-DISABLE; + uses DISABLE-ENFORCE-FIRST-AS; + uses BEST-PATH-COST-COMMUNITY; + uses BEST-PATH-AIGP-IGNORE; + uses BEST-PATH-IGP-METRIC-SR-POLICY; + uses NEXT-HOP-VAL-SRTE; + uses BEST-PATH-AS-PATH-LENGTH; + uses NEXT-HOP-VAL-DISABLE; + uses IGP-REDIST-INTERNAL; + uses MULTI-PATH-AS-PATH-IGNORE-ONWARDS; + uses DISABLE-FAST-EXTERNAL-FALLOVER; + uses UNSAFE-EBGP-POLICY; + uses DEFAULT-METRIC; + uses DEFAULT-INFO-ORIGINATE; + uses BGP-CFG-RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; + uses BGP-CFG-RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; + uses BEST-PATH-CONFEDERATION-PATHS; + uses BEST-PATH-AS-MULTIPATH-RELAX; + uses MPLS-ACTIVATED-INTERFACE-TABLE; + uses DISABLE-AUTO-SOFT-RESET; + uses DISABLE-MSG-LOG; + uses MULTI-PATH-USE-CLUSTER-LIST-LENGTH; + uses GLOBAL-TIMERS; + uses BEST-PATH-IGP-METRIC-IGNORE; + uses NEXT-HOP-RES-ALLOW-DEFAULT; + uses BEST-PATH-SR-POLICY-ONLY-PATH; + uses NEXT-HOP-MPLS-FWD-IBGP; + uses BFD; + uses DISABLE-NEIGHBOR-LOGGING; + uses SEND-SOCKET-BUFFER-SIZES; + uses BEST-PATH-MED-ALWAYS; + uses RECEIVE-SOCKET-BUFFER-SIZES; + uses BEST-PATH-ROUTER-ID; + uses BEST-PATH-MED-MISSING; + uses LOCAL-PREFERENCE; + } + container vrf-neighbors { + description + "BGP VRF peer"; + + grouping VRF-NEIGHBOR-CONTENT { + description + "VRF NEIGHBOR CONTENT"; + container vrf-neighbor-afs { + description + "Address family type of a VRF neighbor"; + list vrf-neighbor-af { + key "af-name"; + description + "Address family type of a VRF neighbor"; + leaf af-name { + type dt1:Bgp-address-family; + description + "BGP neighbor address family"; + } + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; + uses SEND-EXT-COMMUNITY-EBGP; + uses ACCEPT-ROUTE-LEGACY-RT; + uses AIGP-COST-COMMUNITY; + uses CLUSTER-ID-ALLOW-EQUAL; + uses SEND-COMMUNITY-EBGP; + uses ADVERTISE-DEF-IMP-DISABLE-V6; + uses ADVERTISE-DISABLE; + uses MAXIMUM-PREFIXES; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; + uses NEXT-HOP-UNCHANGED; + uses ADVERTISE-LOCAL-LABELED-ROUTE; + uses ADVERTISE-DEF-IMP-DISABLE-V4; + uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; + uses FLOWSPEC-VALIDATION; + uses ROUTE-POLICY-RETENTION; + uses ADVERTISE-L2VPN-EVPN; + uses ADVERTISE-LOCAL-L2VPN-EVPN; + uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses ENFORCE-MULTIPLE-LABELS; + uses AS-OVERRIDE; + uses MULTIPATH; + uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; + uses ACTIVATE; + uses PREFIX-ORF-POLICY; + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; + uses SITE-OF-ORIGIN; + uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; + uses AIGP; + uses AIGP-SEND-MED; + uses ADVERTISE-V6; + uses ALLOW-AS-IN; + uses ADVERTISE-ORF; + uses ROUTE-REFLECTOR-CLIENT; + uses NEXT-HOP-SELF; + uses ADVERTISE-LOCAL-V6; + uses SLOW-PEER; + uses ROUTE-POLICY-IN; + uses IMPORT; + uses DEFAULT-ORIGINATE; + uses SOFT-RECONFIGURATION; + uses ADVERTISE-VRF-IMP-DISABLE-V6; + uses DEFAULT-WEIGHT; + uses AF-GROUP; + uses ADVERTISE-V4; + uses OPTIMAL-ROUTE-REFLECTION-GROUP; + uses ACCEPT-OWN; + uses ROUTE-POLICY-OUT; + uses ADVERTISE-LOCAL-V4; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; + uses ADVERTISE-VRF-IMP-DISABLE-V4; + } + } + uses LOCAL-ADDRESS-SUB-NET; + uses INTERNAL-VPN-CLIENT-IBGP-CE; + uses LOCAL-ADDRESS; + uses BMP-ACTIVATE-TABLE; + uses EBGP-MULTIHOP; + uses SESSION-GROUP-ADD-MEMBER; + uses EGRESS-PEER-ENGINEERING; + uses REMOTE-AS; + uses LOCAL-AS; + uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; + uses SHUTDOWN; + uses DESCRIPTION; + uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; + uses NEIGHBOR-GROUP-ADD-MEMBER; + uses PASSWORD; + uses EBGP-RECV-DMZ; + uses ADVERTISEMENT-INTERVAL; + uses NEIGHBOR-GRACEFUL-RESTART; + uses ENFORCE-FIRST-AS; + uses IDLE-WATCH-TIME; + uses TCPMSS; + uses SESSION-OPEN-MODE; + uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses TOS; + uses UPDATE-IN-FILTERING; + uses EBGP-SEND-DMZ-ENABLE-MODES; + uses MSG-LOG-OUT; + uses SUPPRESS-ALL-CAPABILITIES; + uses MAX-PEERS; + uses AO-KEYCHAIN; + uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses RECEIVE-BUFFER-SIZE; + uses MSG-LOG-IN; + uses ADDITIONAL-PATHS-SEND-CAPABILITY; + uses PROPAGATE-DMZ-LINK-BANDWIDTH; + uses EPE-PEER-SET-IDENTITY-TABLE; + uses BFD-ENABLE-MODES; + uses SEND-BUFFER-SIZE; + uses TTL-SECURITY; + uses NEIGHBOR-GRACEFUL-RESTART-TIME; + uses TIMERS; + uses BFD-MULTIPLIER; + uses BFD-MINIMUM-INTERVAL; + uses REMOTE-AS-LIST; + uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; + uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; + uses KEYCHAIN; + uses IGNORE-CONNECTED-CHECK-EBGP; + uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; + uses UPDATE-SOURCE-INTERFACE; + uses CREATE; + uses GRACEFUL-MAINTENANCE; + } + list vrf-neighbor { + key "neighbor-address"; + description + "A particular VRF peer"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + uses VRF-NEIGHBOR-CONTENT; + } + list vrf-neighbor-prefix-length { + key "neighbor-address prefix-length"; + description + "A particular VRF peer"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + leaf prefix-length { + type uint32 { + range "0..127"; + } + description + "Prefix length"; + } + uses VRF-NEIGHBOR-CONTENT; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container default-vrf { + description + "Global default config"; + container bgp-entity { + description + "Neighbor, neighbor-group, af-group and + session-group configuration"; + container neighbors { + description + "Neighbor configuration"; + + grouping NEIGHBOR-CONTENT { + description + "NEIGHBOR CONTENT"; + container neighbor-afs { + description + "BGP neighbor AF configuration table"; + list neighbor-af { + key "af-name"; + description + "Address family type of neighbor"; + leaf af-name { + type dt1:Bgp-address-family; + description + "BGP neighbor address family"; + } + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; + uses L2VPN-SIGNALLING; + uses SEND-EXT-COMMUNITY-EBGP; + uses ACCEPT-ROUTE-LEGACY-RT; + uses AIGP-COST-COMMUNITY; + uses CLUSTER-ID-ALLOW-EQUAL; + uses ADVERTISE-ENTROPY-LABEL-DISABLE; + uses SEND-COMMUNITY-EBGP; + uses ADVERTISE-DEF-IMP-DISABLE-V6; + uses ADVERTISE-DISABLE; + uses SEND-MULTICAST-ATTR; + uses MAXIMUM-PREFIXES; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; + uses NEXT-HOP-UNCHANGED; + uses ADVERTISE-LOCAL-LABELED-ROUTE; + uses ADVERTISE-DEF-IMP-DISABLE-V4; + uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; + uses FLOWSPEC-VALIDATION; + uses ROUTE-POLICY-RETENTION; + uses ADVERTISE-L2VPN-EVPN; + uses ADVERTISE-LOCAL-L2VPN-EVPN; + uses ENCAPSULATION-TYPE; + uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses ENFORCE-MULTIPLE-LABELS; + uses AS-OVERRIDE; + uses MULTIPATH; + uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; + uses ACTIVATE; + uses PREFIX-ORF-POLICY; + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; + uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; + uses AIGP; + uses AIGP-SEND-MED; + uses ADVERTISE-V6; + uses ALLOW-AS-IN; + uses ADVERTISE-ORF; + uses ROUTE-REFLECTOR-CLIENT; + uses NEXT-HOP-SELF; + uses ADVERTISE-LOCAL-V6; + uses SRV6VERSION4; + uses SLOW-PEER; + uses ROUTE-POLICY-IN; + uses IMPORT; + uses DEFAULT-ORIGINATE; + uses SOFT-RECONFIGURATION; + uses ADVERTISE-VRF-IMP-DISABLE-V6; + uses DEFAULT-WEIGHT; + uses AF-GROUP; + uses ADVERTISE-V4; + uses NEXT-HOP-UNCHANGED-MULTIPATH; + uses OPTIMAL-ROUTE-REFLECTION-GROUP; + uses ACCEPT-OWN; + uses ROUTE-POLICY-OUT; + uses ADVERTISE-LOCAL-V4; + uses ADVERTISE-PERMANENT-NETWORK; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; + uses ADVERTISE-VRF-IMP-DISABLE-V4; + } + } + leaf epe-peer-node-sid { + type uint32 { + range "0..1033575"; + } + description + "Manual Segment Index assigned to this + peer for egress peer engineering"; + } + uses LOCAL-ADDRESS-SUB-NET; + uses LOCAL-ADDRESS; + uses BMP-ACTIVATE-TABLE; + uses EBGP-MULTIHOP; + uses SESSION-GROUP-ADD-MEMBER; + uses EGRESS-PEER-ENGINEERING; + uses REMOTE-AS; + uses LOCAL-AS; + uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; + uses SHUTDOWN; + uses DESCRIPTION; + uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; + uses NEIGHBOR-GROUP-ADD-MEMBER; + uses PASSWORD; + uses EBGP-RECV-DMZ; + uses ADVERTISEMENT-INTERVAL; + uses NEIGHBOR-CLUSTER-ID; + uses NEIGHBOR-GRACEFUL-RESTART; + uses ENFORCE-FIRST-AS; + uses IDLE-WATCH-TIME; + uses TCPMSS; + uses SESSION-OPEN-MODE; + uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses TOS; + uses UPDATE-IN-FILTERING; + uses EBGP-SEND-DMZ-ENABLE-MODES; + uses MSG-LOG-OUT; + uses SUPPRESS-ALL-CAPABILITIES; + uses MAX-PEERS; + uses AO-KEYCHAIN; + uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses RECEIVE-BUFFER-SIZE; + uses MSG-LOG-IN; + uses ADDITIONAL-PATHS-SEND-CAPABILITY; + uses PROPAGATE-DMZ-LINK-BANDWIDTH; + uses EPE-PEER-SET-IDENTITY-TABLE; + uses BFD-ENABLE-MODES; + uses SEND-BUFFER-SIZE; + uses TTL-SECURITY; + uses NEIGHBOR-GRACEFUL-RESTART-TIME; + uses TIMERS; + uses BFD-MULTIPLIER; + uses BFD-MINIMUM-INTERVAL; + uses REMOTE-AS-LIST; + uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; + uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; + uses KEYCHAIN; + uses IGNORE-CONNECTED-CHECK-EBGP; + uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; + uses UPDATE-SOURCE-INTERFACE; + uses CREATE; + uses GRACEFUL-MAINTENANCE; + uses LOG-NEIGHBOR-STATE-CHANGE; + } + list neighbor { + key "neighbor-address"; + description + "A particular BGP peer"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + uses NEIGHBOR-CONTENT; + } + list neighbor-prefix-length { + key "neighbor-address prefix-length"; + description + "A particular BGP peer"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + leaf prefix-length { + type uint32 { + range "0..127"; + } + description + "Prefix length"; + } + uses NEIGHBOR-CONTENT; + } + } + container neighbor-groups { + description + "Neighbor-group configuration"; + list neighbor-group { + key "neighbor-group-name"; + description + "A particular BGP neighbor group"; + container neighbor-group-afs { + description + "BGP neighbor-group AF configuration table"; + list neighbor-group-af { + key "af-name"; + description + "Address family type of neighbor group"; + leaf af-name { + type dt1:Bgp-address-family; + description + "BGP neighbor group address family"; + } + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; + uses L2VPN-SIGNALLING; + uses SEND-EXT-COMMUNITY-EBGP; + uses ACCEPT-ROUTE-LEGACY-RT; + uses AIGP-COST-COMMUNITY; + uses CLUSTER-ID-ALLOW-EQUAL; + uses ADVERTISE-ENTROPY-LABEL-DISABLE; + uses SEND-COMMUNITY-EBGP; + uses ADVERTISE-DEF-IMP-DISABLE-V6; + uses ADVERTISE-DISABLE; + uses SEND-MULTICAST-ATTR; + uses MAXIMUM-PREFIXES; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; + uses NEXT-HOP-UNCHANGED; + uses ADVERTISE-LOCAL-LABELED-ROUTE; + uses ADVERTISE-DEF-IMP-DISABLE-V4; + uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; + uses FLOWSPEC-VALIDATION; + uses ROUTE-POLICY-RETENTION; + uses ADVERTISE-L2VPN-EVPN; + uses ADVERTISE-LOCAL-L2VPN-EVPN; + uses ENCAPSULATION-TYPE; + uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses ENFORCE-MULTIPLE-LABELS; + uses AS-OVERRIDE; + uses MULTIPATH; + uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; + uses ACTIVATE; + uses PREFIX-ORF-POLICY; + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; + uses SITE-OF-ORIGIN; + uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; + uses AIGP; + uses AIGP-SEND-MED; + uses ADVERTISE-V6; + uses ALLOW-AS-IN; + uses ADVERTISE-ORF; + uses ROUTE-REFLECTOR-CLIENT; + uses NEXT-HOP-SELF; + uses ADVERTISE-LOCAL-V6; + uses SRV6VERSION4; + uses SLOW-PEER; + uses ROUTE-POLICY-IN; + uses IMPORT; + uses DEFAULT-ORIGINATE; + uses SOFT-RECONFIGURATION; + uses ADVERTISE-VRF-IMP-DISABLE-V6; + uses DEFAULT-WEIGHT; + uses AF-GROUP; + uses ADVERTISE-V4; + uses NEXT-HOP-UNCHANGED-MULTIPATH; + uses OPTIMAL-ROUTE-REFLECTION-GROUP; + uses ACCEPT-OWN; + uses ROUTE-POLICY-OUT; + uses ADVERTISE-LOCAL-V4; + uses ADVERTISE-PERMANENT-NETWORK; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; + uses ADVERTISE-VRF-IMP-DISABLE-V4; + } + } + leaf neighbor-group-add-member { + type string; + description + "Inherit configuration from a + neighbor-group"; + } + leaf neighbor-group-name { + type xr:Cisco-ios-xr-string; + description + "BGP neighbor group name"; + } + uses LOCAL-ADDRESS-SUB-NET; + uses INTERNAL-VPN-CLIENT-IBGP-CE; + uses LOCAL-ADDRESS; + uses BMP-ACTIVATE-TABLE; + uses EBGP-MULTIHOP; + uses SESSION-GROUP-ADD-MEMBER; + uses EGRESS-PEER-ENGINEERING; + uses REMOTE-AS; + uses LOCAL-AS; + uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; + uses SHUTDOWN; + uses DESCRIPTION; + uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; + uses PASSWORD; + uses EBGP-RECV-DMZ; + uses ADVERTISEMENT-INTERVAL; + uses NEIGHBOR-CLUSTER-ID; + uses NEIGHBOR-GRACEFUL-RESTART; + uses ENFORCE-FIRST-AS; + uses IDLE-WATCH-TIME; + uses TCPMSS; + uses SESSION-OPEN-MODE; + uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses TOS; + uses UPDATE-IN-FILTERING; + uses EBGP-SEND-DMZ-ENABLE-MODES; + uses MSG-LOG-OUT; + uses SUPPRESS-ALL-CAPABILITIES; + uses MAX-PEERS; + uses AO-KEYCHAIN; + uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses RECEIVE-BUFFER-SIZE; + uses MSG-LOG-IN; + uses ADDITIONAL-PATHS-SEND-CAPABILITY; + uses PROPAGATE-DMZ-LINK-BANDWIDTH; + uses EPE-PEER-SET-IDENTITY-TABLE; + uses BFD-ENABLE-MODES; + uses SEND-BUFFER-SIZE; + uses TTL-SECURITY; + uses NEIGHBOR-GRACEFUL-RESTART-TIME; + uses TIMERS; + uses BFD-MULTIPLIER; + uses BFD-MINIMUM-INTERVAL; + uses REMOTE-AS-LIST; + uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; + uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; + uses KEYCHAIN; + uses IGNORE-CONNECTED-CHECK-EBGP; + uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; + uses UPDATE-SOURCE-INTERFACE; + uses CREATE; + uses GRACEFUL-MAINTENANCE; + uses LOG-NEIGHBOR-STATE-CHANGE; + } + } + container af-groups { + description + "AF-group configuration"; + list af-group { + key "af-group-name"; + description + "A particular BGP AF group"; + container af-group-afs { + description + "AF group configuration table"; + list af-group-af { + key "af-name"; + description + "Address family type of an AF group"; + leaf af-group { + type string; + description + "Inherit configuration for this + address-family from an AF-group"; + } + leaf create { + type empty; + description + "Create this address family group. + Deletion of this object causes deletion + of all the objects under AFGroup + associated with this object."; + } + leaf af-name { + type dt1:Bgp-address-family; + description + "BGP AF group address family"; + } + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; + uses L2VPN-SIGNALLING; + uses SEND-EXT-COMMUNITY-EBGP; + uses ACCEPT-ROUTE-LEGACY-RT; + uses AIGP-COST-COMMUNITY; + uses CLUSTER-ID-ALLOW-EQUAL; + uses ADVERTISE-ENTROPY-LABEL-DISABLE; + uses SEND-COMMUNITY-EBGP; + uses ADVERTISE-DEF-IMP-DISABLE-V6; + uses ADVERTISE-DISABLE; + uses SEND-MULTICAST-ATTR; + uses MAXIMUM-PREFIXES; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; + uses NEXT-HOP-UNCHANGED; + uses ADVERTISE-LOCAL-LABELED-ROUTE; + uses ADVERTISE-DEF-IMP-DISABLE-V4; + uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; + uses FLOWSPEC-VALIDATION; + uses ROUTE-POLICY-RETENTION; + uses ADVERTISE-L2VPN-EVPN; + uses ADVERTISE-LOCAL-L2VPN-EVPN; + uses ENCAPSULATION-TYPE; + uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses ENFORCE-MULTIPLE-LABELS; + uses AS-OVERRIDE; + uses MULTIPATH; + uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; + uses PREFIX-ORF-POLICY; + uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; + uses SITE-OF-ORIGIN; + uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; + uses AIGP; + uses AIGP-SEND-MED; + uses ADVERTISE-V6; + uses ALLOW-AS-IN; + uses ADVERTISE-ORF; + uses ROUTE-REFLECTOR-CLIENT; + uses NEXT-HOP-SELF; + uses ADVERTISE-LOCAL-V6; + uses SRV6VERSION4; + uses SLOW-PEER; + uses ROUTE-POLICY-IN; + uses IMPORT; + uses DEFAULT-ORIGINATE; + uses SOFT-RECONFIGURATION; + uses ADVERTISE-VRF-IMP-DISABLE-V6; + uses DEFAULT-WEIGHT; + uses ADVERTISE-V4; + uses NEXT-HOP-UNCHANGED-MULTIPATH; + uses OPTIMAL-ROUTE-REFLECTION-GROUP; + uses ACCEPT-OWN; + uses ROUTE-POLICY-OUT; + uses ADVERTISE-LOCAL-V4; + uses ADVERTISE-PERMANENT-NETWORK; + uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; + uses ADVERTISE-VRF-IMP-DISABLE-V4; + } + } + leaf af-group-name { + type xr:Cisco-ios-xr-string; + description + "BGP AF group name"; + } + } + } + container session-groups { + description + "Session group configuration"; + list session-group { + key "session-group-name"; + description + "A particular BGP session group"; + leaf session-group-add-member { + type string; + description + "Inherit address-family independent config + from a session-group"; + } + leaf session-group-name { + type xr:Cisco-ios-xr-string; + description + "BGP session group name"; + } + uses LOCAL-ADDRESS-SUB-NET; + uses INTERNAL-VPN-CLIENT-IBGP-CE; + uses LOCAL-ADDRESS; + uses BMP-ACTIVATE-TABLE; + uses EBGP-MULTIHOP; + uses EGRESS-PEER-ENGINEERING; + uses REMOTE-AS; + uses LOCAL-AS; + uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; + uses SHUTDOWN; + uses DESCRIPTION; + uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; + uses PASSWORD; + uses EBGP-RECV-DMZ; + uses ADVERTISEMENT-INTERVAL; + uses NEIGHBOR-CLUSTER-ID; + uses NEIGHBOR-GRACEFUL-RESTART; + uses ENFORCE-FIRST-AS; + uses IDLE-WATCH-TIME; + uses TCPMSS; + uses SESSION-OPEN-MODE; + uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; + uses TOS; + uses UPDATE-IN-FILTERING; + uses EBGP-SEND-DMZ-ENABLE-MODES; + uses MSG-LOG-OUT; + uses SUPPRESS-ALL-CAPABILITIES; + uses MAX-PEERS; + uses AO-KEYCHAIN; + uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; + uses RECEIVE-BUFFER-SIZE; + uses MSG-LOG-IN; + uses ADDITIONAL-PATHS-SEND-CAPABILITY; + uses PROPAGATE-DMZ-LINK-BANDWIDTH; + uses EPE-PEER-SET-IDENTITY-TABLE; + uses BFD-ENABLE-MODES; + uses SEND-BUFFER-SIZE; + uses TTL-SECURITY; + uses NEIGHBOR-GRACEFUL-RESTART-TIME; + uses TIMERS; + uses BFD-MULTIPLIER; + uses BFD-MINIMUM-INTERVAL; + uses REMOTE-AS-LIST; + uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; + uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; + uses KEYCHAIN; + uses IGNORE-CONNECTED-CHECK-EBGP; + uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; + uses UPDATE-SOURCE-INTERFACE; + uses CREATE; + uses GRACEFUL-MAINTENANCE; + } + } + } + container global { + description + "Global default config"; + container cluster-id { + description + "Configure Route-Reflector Cluster-id"; + leaf cluster-id-number { + type uint32 { + range "1..4294967295"; + } + description + "Route-Reflector Cluster ID as 32 bit + quantity"; + } + leaf cluster-id-address { + type inet:ipv4-address-no-zone; + description + "Route-Reflector Cluster ID in IPV4 address + format"; + } + } + container write-limit { + description + "Set write-queue limit for each update group"; + leaf formatted-messages { + type uint32 { + range "500..100000000"; + } + default "50000"; + description + "Number of messages to be formatted per + update group"; + } + leaf enqueued-messages { + type uint32 { + range "500..100000000"; + } + default "250000"; + description + "Number of messages that can be enqueued in + total"; + } + leaf desynchronize { + type boolean; + default "false"; + description + "TRUE to enable desynchronization, FALSE + otherwise."; + } + } + container update-delay { + description + "Set the max initial delay for sending + updates"; + leaf delay { + type uint32 { + range "0..3600"; + } + units "second"; + default "120"; + description + "Delay value (seconds)"; + } + leaf always { + type boolean; + must "../delay"; + default "false"; + description + "Set to TRUE to disable keepalive trigger + bestpath and delay is enforced."; + } + } + container optimal-route-reflection-group-global-afis { + description + "Global table of multiple ORR groups"; + list optimal-route-reflection-group-global-afi { + key "afi"; + description + "The afi of the ORR group"; + leaf afi { + type Bgp-orrafi; + description + "The AFI corresponds to root address"; + } + list optimal-route-reflection-group-global { + key "group-name"; + description + "Global Optimal Route Reflector group. + Each such group is equivalent to an IGP + area"; + leaf group-name { + type xr:Cisco-ios-xr-string; + description + "Name of the ORR group"; + } + leaf primary-root-address { + type inet:ip-address-no-zone; + description + "Primary Root for the ORR group"; + } + leaf secondary-root-address { + type inet:ip-address-no-zone; + description + "Secondary Root for the ORR group"; + } + leaf tertiary-root-address { + type inet:ip-address-no-zone; + description + "Tertiary Root for the ORR group"; + } + leaf flexiable-algorithm { + type uint32 { + range "128..255"; + } + description + "Flexible Algorithm value"; + } + } + } + } + container as-league { + description + "AS League"; + container peers { + description + "AS League Peers"; + list peer { + key "as-xx as-yy"; + description + "AS League Peer AS"; + leaf as-xx { + type dt1:Bgp-as-range; + description + "xx of peer AS xx.yy"; + } + leaf as-yy { + type dt1:Bgp-as-range; + description + "yy of peer AS xx.yy"; + } + } + } + leaf enable { + type empty; + description + "AS League creation"; + } + } + container rpki-servers { + description + "RPKI server configuration"; + list rpki-server { + key "server"; + description + "RPKI server configuration"; + container bindsrc { + description + "RPKI server transport bind source"; + leaf bindsrc-type { + type Bgp-rpki-binssrc; + description + "Bind source type"; + } + leaf bind-src { + type string; + description + "server bind source interface"; + } + } + container transport { + description + "RPKI server transport"; + leaf transport { + type Bgp-rpki-transport; + default "ssh"; + description + "RPKI server transport"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + default "22"; + description + "port"; + } + } + leaf enable { + type empty; + description + "RPKI server configuration"; + } + leaf shutdown { + type empty; + description + "RPKI server shutdown"; + } + leaf password { + type xr:Proprietary-password; + description + "RPKI server password"; + } + leaf response-time { + type Bgp-rpki-time-config; + units "second"; + description + "RPKI server response-time(15-3600 + seconds) or off"; + } + leaf username { + type string; + description + "RPKI server username"; + } + leaf refresh-time { + type Bgp-rpki-time-config; + units "second"; + description + "RPKI server refresh-time(15-3600 seconds) + or off"; + } + leaf purge-time { + type uint32 { + range "30..65535"; + } + units "second"; + description + "RPKI server purge-time (in seconds)"; + } + leaf server { + type xr:Cisco-ios-xr-string; + description + "Server address (opaque string)"; + } + } + } + container as-list-groups { + description + "AS-list group lists"; + list as-list-group { + key "as-list-group-name"; + description + "AS-List group"; + container ases { + description + "AS list"; + list as { + key "as-xx as-yy"; + description + "AS-List group"; + leaf as-xx { + type dt1:Bgp-as-range; + description + "xx of AS number/confed peer xx.yy"; + } + leaf as-yy { + type dt1:Bgp-as-range; + description + "yy of AS number/confed peer xx.yy"; + } + } + } + leaf enable { + type empty; + description + "AS-List group creation"; + } + leaf as-list-group-name { + type xr:Cisco-ios-xr-string; + description + "Group name"; + } + } + } + container limits { + description + "Maximum number that can be configured"; + leaf maximum-neighbors { + type uint32 { + range "1..15000"; + } + default "10000"; + description + "Maximum number of neighbors that can be + configured"; + } + } + container confederation-domain { + description + "Set routing domain confederation AS"; + leaf as-xx { + type dt1:Bgp-as-range; + description + "xx of AS number xx.yy"; + } + leaf as-yy { + type dt1:Bgp-as-range; + description + "yy of AS number xx.yy"; + } + } + container confederation-peer-ases { + description + "Define peer ASes in BGP confederation"; + list confederation-peer-as { + key "as-xx as-yy"; + description + "Confederation peer AS"; + leaf as-xx { + type dt1:Bgp-as-range; + description + "xx of AS number/confed peer xx.yy"; + } + leaf as-yy { + type dt1:Bgp-as-range; + description + "yy of AS number/confed peer xx.yy"; + } + } + } + container attribute-filter-groups { + description + "Attribute-filter groups list"; + list attribute-filter-group { + key "attribute-filter-group-name"; + description + "Attribute-filter group"; + container attribute-filters { + description + "Attribute-filter group attributes list"; + list attribute-filter { + key "attribute-start attribute-end"; + description + "Attribute-filter group attribute"; + leaf attribute-start { + type dt1:Bgp-attribute-range; + description + "Start of attribute range"; + } + leaf attribute-end { + type dt1:Bgp-attribute-range; + description + "End of attribute range"; + } + leaf filter-action { + type dt1:Bgp-update-filter-action; + mandatory true; + description + "Filtering action"; + } + } + } + leaf enable { + type empty; + description + "Attribute-filter group creation"; + } + leaf attribute-filter-group-name { + type xr:Cisco-ios-xr-string; + description + "Group name"; + } + } + } + container segment-routing-global { + description + "Segment-routing Gbl Configurations"; + container srv6-global { + description + "SRv6 Configurations"; + leaf enable { + type empty; + description + "Enable SRv6 configuration submode"; + } + leaf locator-name { + type string; + description + "Configure Locator name for SID allocation"; + } + } + } + container global-afs { + description + "Global AF-specific configuration"; + list global-af { + key "af-name"; + description + "Global AF-specific configuration"; + container isis-routes { + description + "Redistribute information for IS-IS routes + ."; + list isis-route { + key "instance-name"; + description + "Redistribute IS-IS routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "IS-IS instance name"; + } + leaf default-metric { + type Bgp-default-metric-range; + description + "Default metric"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + leaf redist-type { + type xr:Hex-integer; + description + "Redistribution type: 01 for level 1 + routes, 02 for level 2 routes, 04 for + level 1 inter-area routes. Logical + combinations permitted. 00 for all + options together"; + } + leaf multipath { + type boolean; + description + "Specify if Multipath, default is FALSE"; + } + } + } + container domain-distinguisher { + presence "Indicates a domain-distinguisher node is configured."; + description + " tuple to use to identify + the link-state domain"; + leaf as { + type dt1:Bgp-as-range; + mandatory true; + description + "AS Number"; + } + leaf router-id { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Router ID"; + } + } + container vrf-all { + description + "Configurations to be inherited to all + vrfs"; + container segment-routing-vrf-all { + description + "Segment-routing Vrf All Configurations"; + container srv6-vrf-all { + description + "SRv6 Configurations"; + leaf enable { + type empty; + description + "Enable SRv6 configuration submode"; + } + leaf srv6sid-allocation-mode { + type string; + description + "SID allocation mode: per-ce Set per + CE SID mode,per-vrf Set per VRF SID + mode"; + } + leaf locator-name { + type string; + description + "Configure Locator name for SID + allocation"; + } + } + } + container label-mode { + presence "Contains mandatory nodes that used to set default values"; + description + "MPLS-VPN label allocation mode"; + leaf label-allocation-mode { + type string; + description + "Label allocation mode: per-ce Set per + CE label mode, per-vrf Set per VRF + label mode"; + } + leaf route-policy-name { + type string; + description + "Label mode route policy name"; + } + } + leaf rnh-install-format { + type Bgp-rnh-install-format; + description + "RNH install format type: extcomm - + install rnh as opaque and extcomms, + extcomm-only - install rnh as extcomms + only"; + } + leaf enable { + type empty; + description + "Enable vrf all configuration submode"; + } + leaf table-policy { + type string; + description + "Configure policy for installation of + routes to RIB"; + } + leaf source-rt-import-policy { + type empty; + description + "Enable sourcing of import route-targets + from import-policy"; + } + } + container export-vrf-options { + description + "Allow export/leak of backup and/or + best-external path"; + leaf export-allow-backup { + type boolean; + description + "TRUE: Enable Leaking(export) of backup + path; FALSE: Disable Leaking(export) of + backup path."; + } + leaf export-allow-best-external { + type boolean; + description + "TRUE: Enable Leaking(export) of + best-external path; FALSE: Disable + Leaking(export) of best-external path."; + } + } + container disable-cluster-client-to-client-rrs { + description + "Disable client-to-client reflection for a + cluster"; + list disable-cluster-client-to-client-rr { + must "number or ipv4-address" { + description + "Number or IPV4Address must be present."; + } + key "cluster-type"; + description + "Cluster ID for which reflection is to be + disbled"; + leaf cluster-type { + type Bgp-cluster-id; + description + "Type of cluster-id"; + } + list number { + when "../cluster-type = 'number'" { + description + "../ClusterType = Number"; + } + key "cluster-id-number"; + description + "number"; + leaf cluster-id-number { + type uint32 { + range "0..4294967295"; + } + description + "Cluster ID: if configured as a number"; + } + } + list ipv4-address { + when "../cluster-type = 'ipv4-address'" { + description + "../ClusterType = IPV4Address"; + } + key "cluster-id-address"; + description + "ipv4 address"; + leaf cluster-id-address { + type inet:ip-address-no-zone; + description + "Cluster ID: if configured as an IP + Address"; + } + } + } + } + container label-delay { + presence "Indicates a label-delay node is configured."; + description + "Delay timer to batch label processing."; + leaf seconds { + type uint32 { + range "0..10"; + } + units "second"; + mandatory true; + description + "Delay, seconds part"; + } + leaf milliseconds { + type uint32 { + range "0..999"; + } + units "millisecond"; + mandatory true; + description + "Delay, milliseconds part"; + } + } + container ebgp { + presence "Indicates a ebgp node is configured."; + description + "Use eBGP multipaths"; + leaf paths-value { + type uint32 { + range "2..1024"; + } + mandatory true; + description + "Number of paths"; + } + leaf selective { + type boolean; + mandatory true; + description + "Allow multipaths only from marked + neighbors"; + } + } + container eibgp { + presence "Indicates a eibgp node is configured."; + description + "Use eiBGP multipaths"; + leaf paths-value { + type uint32 { + range "2..1024"; + } + mandatory true; + description + "Number of paths"; + } + leaf selective { + type boolean; + mandatory true; + description + "Allow multipaths only from marked + neighbors"; + } + } + container retain-rt { + description + "Accept received updates with the + specified attributes"; + leaf all { + type boolean; + description + "Whether all RTs are to be retained, + default is FALSE"; + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + } + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Use iBGP multipaths"; + leaf paths-value { + type uint32 { + range "2..1024"; + } + mandatory true; + description + "Number of paths"; + } + leaf unequal-cost { + type boolean; + mandatory true; + description + "Allow multipaths to have different IGP + metrics"; + } + leaf selective { + type boolean; + mandatory true; + description + "Allow multipaths only from marked + neighbors"; + } + leaf deterministic { + type empty; + description + "Select Multipaths deterministically + based on IGP metric followed by Age"; + } + } + container wait-rib-install { + description + "Wait for route install before sending + updates to neighbors"; + leaf enable { + type empty; + description + "Wait for route install before updates"; + } + leaf seconds { + type uint32 { + range "1..600"; + } + description + "Configured value for startup-delay"; + } + } + container import-delay { + presence "Indicates a import-delay node is configured."; + description + "Delay timer to batch import processing."; + leaf seconds { + type uint32 { + range "0..10"; + } + units "second"; + mandatory true; + description + "Delay, seconds part"; + } + leaf milliseconds { + type uint32 { + range "0..999"; + } + units "millisecond"; + mandatory true; + description + "Delay, milliseconds part"; + } + } + container peer-set-ids { + description + "Table of Peer Set Identifiers"; + list peer-set-id { + key "peer-set"; + description + "Create Identifier for a Peer Set"; + leaf peer-set-sid { + type uint32 { + range "0..1033575"; + } + description + "Peer Set Label Index off SRLB to be + assigned to this Peer Set"; + } + leaf enable { + type empty; + description + "Peer Set Identifier creation"; + } + leaf peer-set { + type uint32 { + range "1..255"; + } + description + "Identifier value"; + } + } + } + leaf rnh-install-format { + type Bgp-rnh-install-format; + description + "RNH install format type: extcomm - + install rnh as opaque and extcomms, + extcomm-only - install rnh as extcomms + only"; + } + leaf option-basbr-only { + type empty; + description + "This option makes the router an Option B + ASBR for EVPN. Its assumed no DCI configs + are present"; + } + leaf inter-as-install { + type empty; + description + "Enable install remote MVPN routes to PIM + in default VRF"; + } + leaf segmented-mcast { + type empty; + description + "Enable segmented multicast"; + } + leaf implicit-import { + type empty; + description + "Implicit import configuration"; + } + leaf disable-default-martian-check { + type empty; + description + "Disable default Martian Check"; + } + leaf next-hop-critical-trigger-delay { + type uint32 { + range "0..4294967295"; + } + units "millisecond"; + default "3000"; + description + "Next hop Critical Trigger Delay"; + } + leaf next-hop-non-critical-trigger-delay { + type uint32 { + range "0..4294967295"; + } + units "millisecond"; + default "10000"; + description + "Next hop Non-critical Trigger Delay"; + } + leaf label-security-rpf { + type empty; + description + "Calculate label-security RPF lists and + install to RIB/LSD"; + } + leaf use-igpsr-label { + type empty; + description + "Use IGP SR label for resolution + configuration"; + } + leaf label-retain { + type uint32 { + range "3..60"; + } + units "minute"; + description + "Label retention time in minutes"; + } + leaf enable-epe-backup-path { + type empty; + description + "Install a backup path for the EPE labels"; + } + leaf scan-time { + type uint32 { + range "5..3600"; + } + units "second"; + default "60"; + description + "Configure background scanner interval for + this address family"; + } + leaf source-route-target-policy { + type string; + description + "Route policy name to apply to configure + source route-target"; + } + leaf rpki-origin-as-validation-disable { + type empty; + description + "RPKI origin-AS validation disable"; + } + leaf update-limit-sub-group-ebgp { + type uint32 { + range "1..512"; + } + units "megabyte"; + default "32"; + description + "Upper bound on update generation + transient memory usage for every EBGP + Sub-group"; + } + leaf update-limit-address-family { + type uint32 { + range "4..2048"; + } + units "megabyte"; + default "256"; + description + "Upper bound on update generation + transient memory usage for the + address-family"; + } + leaf update-limit-sub-group-ibgp { + type uint32 { + range "1..512"; + } + units "megabyte"; + default "32"; + description + "Upper bound on update generation + transient memory usage for every IBGP + Sub-group"; + } + leaf optimal-route-reflection-default-bestpath { + type boolean; + description + "Enable fallback to default table's + bestpath when ORR bestpath is not + available"; + } + leaf disable-client-to-client-rr { + type empty; + description + "Disable client-to-client reflection"; + } + leaf next-hop-route-policy { + type string; + description + "Next hop policy to filter out nexthop + notification"; + } + leaf global-table-mcast { + type empty; + description + "Enable global table multicast"; + } + leaf advertise-epe-labeled-unicast { + type empty; + description + "Advertise BGP EPE objects as Labeled + Unicast routes to controller"; + } + leaf prefix-sid-map { + type empty; + description + "Retrieve prefix sid mapping from SRMS"; + } + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + uses RPKI-ORIGIN-AS-VALIDATION-ENABLE; + uses AGGREGATE-ADDRESS-TABLE; + uses DYNAMIC-MED-INTERVAL; + uses EVENT-PREFIX-ROUTE-POLICY; + uses DAMPENING; + uses ENABLE; + uses RIP-ROUTES; + uses LISP-ROUTES; + uses STATIC-ROUTES; + uses DISTANCE; + uses TABLE-POLICY; + uses APP-ROUTE-TABLE; + uses ATTRIBUTE-DOWNLOAD; + uses LABEL-MODE; + uses EIGRP-ROUTE-TABLE; + uses BEST-EXTERNAL; + uses NEXTHOP-CHECK-DISABLE; + uses SOURCED-NETWORK-TABLE; + uses RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; + uses CONNECTED-ROUTES; + uses ADDITIONAL-PATHS-RECEIVE; + uses PERMANENT-NETWORK; + uses RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; + uses ALLOCATE-LABEL; + uses ADDITIONAL-PATHS-SELECTION; + uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID-MP; + uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM; + uses RESET-WEIGHT-ON-IMPORT; + uses OSPF-ROUTE-TABLE; + uses ADDITIONAL-PATHS-SEND; + uses OPTIMAL-ROUTE-REFLECTION-GROUP-APPLY-TABLE; + uses ADVERTISE-LOCAL-LABELED-ROUTE-SAFI-UNICAST; + uses MOBILE-ROUTES; + uses DISABLE-AS-PATH-LOOP-CHECK; + uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM-IPV6; + uses OPTIMAL-ROUTE-REFLECTION-GROUP-TABLE; + uses SUBSCRIBER-ROUTES; + uses SEGMENT-ROUTING; + } + } + container global-graceful-maintenance-activate { + description + "Graceful maintenance activate + configurations"; + container interfaces { + description + "BGP graceful maintenance interface table"; + list interface { + key "interface-name"; + description + "Enable graceful maintenance for e-bgp + directly connected neighbors going over + this interface"; + leaf interface-name { + type xr:Interface-name; + description + "Name of Interface"; + } + } + } + container locations { + description + "BGP graceful maintenance location table"; + list location { + key "location"; + description + "Enable graceful maintenance for e-bgp + directly connected neighbors going over + this line-card (location)"; + leaf location { + type xr:Node-id; + description + "Name of Location"; + } + } + } + leaf retain-routes { + type boolean; + description + "BGP graceful maintenance retain routes "; + } + leaf enable { + type empty; + description + "Enable graceful maintenance activate + configuration submode"; + } + leaf all-neighbors { + type boolean; + description + "Enable graceful maintenance for all + neighbors without graceful maintenance + config"; + } + } + container rpki-static-routes { + description + "RPKI static route configuration"; + list rpki-static-route { + key "address minimum maximum as"; + description + "RPKI static route"; + leaf address { + type inet:ip-address-no-zone; + description + "Address"; + } + leaf minimum { + type uint32 { + range "0..128"; + } + description + "Minimum Prefix Length"; + } + leaf maximum { + type uint32 { + range "1..128"; + } + description + "Maximum Prefix Length"; + } + leaf as { + type uint32 { + range "1..4294967295"; + } + description + "AS Number"; + } + } + } + container adjacency-table { + description + "Table of Local Adjacencies"; + container adjacency-first-hops { + description + "Table of Firsthop addresses that form the + adjacencies"; + list adjacency-first-hop { + key "first-hop-address"; + description + "Configuration for a single adjacency"; + container associated-peer-sets { + description + "Table of Peer sets this adjacency can be + part of"; + list associated-peer-set { + key "peer-set"; + description + "Associate this peer-set with the + adjacency"; + leaf peer-set { + type uint32 { + range "1..255"; + } + description + "Identifier value"; + } + } + } + leaf adjacency-sid { + type uint32 { + range "0..1033575"; + } + description + "Configure Segment Index value for this + adjacency"; + } + leaf adjacency-first-hop-enable { + type empty; + description + "Enable creation of this firsthop + adjacency"; + } + leaf first-hop-address { + type inet:ip-address-no-zone; + description + "IP Address of Firsthop"; + } + } + } + } + leaf graceful-restart { + type empty; + description + "Enable graceful restart support"; + } + leaf update-out-logging { + type empty; + description + "Enables logging of update generation events"; + } + leaf install-diversion { + type empty; + description + "Install diversion path to RIB/CEF"; + } + leaf next-hop-trigger-delay { + type uint32 { + range "0..300"; + } + units "second"; + default "5"; + description + "Set the delay for triggering nexthop + recalculations"; + } + leaf nsr { + type boolean; + description + "TRUE to Enable non-stop routing + supportFALSE to Disable non-stop routing + support"; + } + leaf neighbor-logging-detail { + type empty; + description + "Include extra detail in neighbor change + messages"; + } + leaf mvpn { + type empty; + description + "Connect to PIM/PIM6"; + } + leaf rpki-origin-as-validation-disable { + type empty; + description + "RPKI origin-AS validation disable"; + } + leaf global-scan-time { + type uint32 { + range "5..3600"; + } + units "second"; + default "60"; + description + "Configure background scanner interval for + generic scanner"; + } + leaf rpki-origin-as-validation-time { + type uint32 { + range "0..60"; + } + units "second"; + description + "Prefix validation time (in seconds). Range + : 5 - 60. Specify 0 to disable the timer"; + } + leaf rpki-bestpath-origin-as-allow-invalid { + type empty; + description + "RPKI bestpath origin-AS allow invalid"; + } + leaf graceful-restart-purge-time { + type uint32 { + range "0..6000"; + } + units "second"; + default "600"; + description + "Time before stale routes are purged."; + } + leaf enforce-ibgp-out-policy { + type empty; + description + "Allow all attributes to be modified by + outbound policy for iBGP peers"; + } + leaf update-limit-process { + type uint32 { + range "16..2048"; + } + units "megabyte"; + default "512"; + description + "Upper bound on update generation transient + memory usage for the process"; + } + leaf graceful-restart-time { + type uint32 { + range "1..4095"; + } + units "second"; + default "120"; + description + "Restart time advertised to neighbors"; + } + leaf update-error-handling-basic-ibgp-disable { + type empty; + description + "Inbound update basic error-handling for + IBGP neighbors"; + } + leaf read-only { + type empty; + description + "Allow duplicate table config and disable + update generation"; + } + leaf graceful-restart-stalepath-time { + type uint32 { + range "1..4095"; + } + units "second"; + default "360"; + description + "Maximum time to wait for restart of GR + capable peers"; + } + leaf graceful-restart-neighbor-retain-disable { + type empty; + description + "Do not retain neighbor routes when neighbor + session resets if neighbor also has + graceful restart disabled"; + } + leaf update-error-handling-extended-ebgp { + type empty; + description + "Inbound update extended error-handling for + EBGP neighbors"; + } + leaf open-config-telemetry { + type empty; + description + "Triggers creation of required data for + Telemetry and its streaming"; + } + leaf update-error-handling-basic-ebgp-disable { + type empty; + description + "Inbound update basic error-handling for + EBGP neighbors"; + } + leaf graceful-reset { + type empty; + description + "Reset gracefully if configuration change + forces a peer reset"; + } + leaf igp-loop-check { + type empty; + description + "Enable AS-path loop checking for iBGP peers"; + } + leaf update-error-handling-extended-ibgp { + type empty; + description + "Inbound update extended error-handling for + IBGP neighbors"; + } + uses ROUTER-ID; + uses SLOW-PEER-DETECTION-DISABLE; + uses DISABLE-ENFORCE-FIRST-AS; + uses BEST-PATH-COST-COMMUNITY; + uses BEST-PATH-AIGP-IGNORE; + uses BEST-PATH-IGP-METRIC-SR-POLICY; + uses NEXT-HOP-VAL-SRTE; + uses BEST-PATH-AS-PATH-LENGTH; + uses NEXT-HOP-VAL-DISABLE; + uses IGP-REDIST-INTERNAL; + uses MULTI-PATH-AS-PATH-IGNORE-ONWARDS; + uses DISABLE-FAST-EXTERNAL-FALLOVER; + uses UNSAFE-EBGP-POLICY; + uses DEFAULT-METRIC; + uses DEFAULT-INFO-ORIGINATE; + uses BGP-CFG-RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; + uses BGP-CFG-RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; + uses BEST-PATH-CONFEDERATION-PATHS; + uses BEST-PATH-AS-MULTIPATH-RELAX; + uses MPLS-ACTIVATED-INTERFACE-TABLE; + uses DISABLE-AUTO-SOFT-RESET; + uses DISABLE-MSG-LOG; + uses MULTI-PATH-USE-CLUSTER-LIST-LENGTH; + uses GLOBAL-TIMERS; + uses BEST-PATH-IGP-METRIC-IGNORE; + uses NEXT-HOP-RES-ALLOW-DEFAULT; + uses BEST-PATH-SR-POLICY-ONLY-PATH; + uses NEXT-HOP-MPLS-FWD-IBGP; + uses BFD; + uses DISABLE-NEIGHBOR-LOGGING; + uses SEND-SOCKET-BUFFER-SIZES; + uses BEST-PATH-MED-ALWAYS; + uses RECEIVE-SOCKET-BUFFER-SIZES; + uses BEST-PATH-ROUTER-ID; + uses BEST-PATH-MED-MISSING; + uses LOCAL-PREFERENCE; + } + } + leaf bgp-running { + type empty; + description + "Enable BGP. Deletion of this object causes + deletion of all the objects under FourByteAS + associated with this object."; + } + leaf as { + type dt1:Bgp-as-range; + description + "2-byte or 4-byte Autonomous system number"; + } + } + } + } + } + container bmp-server-all { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will + provide the compatible functionalities. BGP BMP + Server Common Configuration"; + container route-monitoring { + description + "Enable Route Monitoring capability for the BMP + servers. + BGP update messages messages will be + regenrated with a table walk + "; + leaf policy { + type Bmp-policy-select; + description + "Specify if the routes packed in update messages + should be + before or after the application of + route-policy"; + } + leaf direction { + type Bmp-route-direction; + description + "Specify if the routes should be picked up at + inbound + or outbound direction"; + } + } + leaf maximum-buffer-size { + type uint32 { + range "1..4294967295"; + } + units "megabyte"; + description + "Range in MegaBytes for the maximum buffer size + of BMP message queue. + The maximum buf-size is + 20% and default buf-size is 15% of the + platform + virtual memory max-limit (aka rlimit). + Please run show bgp process + performance-statistics + to see the individual + values. Unit is in Megabytes"; + } + } + container bmp-servers { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-bgp-cfg.yang which will + provide the compatible functionalities. BGP BMP + Server Configuration"; + list bmp-server { + key "server-id"; + description + "A particular BMP server"; + container initial-refresh-delay { + description + "Initial refresh to generate BGP updates"; + leaf delay { + type uint32 { + range "1..3600"; + } + units "second"; + must "not(../skip)"; + description + "Delay in seconds before sending Refresh + request to Peers"; + } + leaf spread { + type uint32 { + range "1..3600"; + } + must "../delay and not(../skip)"; + description + "Spread over which to send initial Refresh + request to Peers"; + } + leaf skip { + type empty; + must "not(../delay or ../spread)"; + description + "Skip Route Refresh request to Peers"; + } + } + container host-port { + description + "Configure Host Name/Address and Port for BMP + Server"; + leaf host { + type string; + description + "Name of the BMP server(accepts IPv4/IPv6 + Address format too)"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "Port Number of listening BMP server"; + } + } + container tos { + description + "TOS (Type Of Service)"; + leaf type { + type dt1:Bgp-tos; + description + "Set type of service"; + } + leaf value { + type dt1:Bgp-precedence-dscp; + description + "TOS value to set"; + } + } + leaf create { + type empty; + description + "BMP Server Creation"; + } + leaf maximum-buffer-size { + type uint32 { + range "1..4294967295"; + } + units "megabyte"; + description + "Range in MegaBytes for the maximum buffer size + of BMP message queue. + The maximum buf-size is + 20% and default buf-size is 15% of the + platform + virtual memory max-limit (aka rlimit) + . Please run show bgp process + performance-statistics + to see the individual + values. Unit is in Megabytes"; + } + leaf initial-delay { + type uint32 { + range "1..3600"; + } + units "second"; + description + "Initial connect delay in seconds in sending + updates"; + } + leaf flapping-delay { + type uint32 { + range "60..3600"; + } + units "second"; + description + "Delay in connecting to BMP Server after a flap + had been detected."; + } + leaf status-report-interval { + type uint32 { + range "1..3600"; + } + units "second"; + description + "Stats reporting period for BMP server"; + } + leaf description { + type string; + description + "String to describe the BMP server"; + } + leaf bmptcp-maximum-segment-size { + type uint32 { + range "68..10000"; + } + units "byte"; + description + "configure TCP maximum segment size. + Default=16384."; + } + leaf bmptcp-keep-alive { + type uint32 { + range "0..7200"; + } + units "second"; + description + "configure TCP keep alives to be exchanged + between client and server. Default=1000"; + } + leaf vrf { + type string; + description + "VRF for BMP Server"; + } + leaf shutdown { + type empty; + description + "Shutdown connection to BMP server"; + } + leaf update-source-interface { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf server-id { + type uint32 { + range "1..8"; + } + description + "BMP Server ID"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-datatypes.yang new file mode 100644 index 000000000..98cce9f0c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-datatypes.yang @@ -0,0 +1,617 @@ +module Cisco-IOS-XR-ipv4-bgp-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-datatypes"; + prefix ipv4-bgp-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Added datatypes for BMP L3VPN inbound post-policy and Local RIB"; + semver:module-version "1.0.1m"; + } + revision 2019-08-31 { + description + "Fixing revision error in module."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Fixing backward compatibility error in module"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2015-08-27 { + description + "IOS XR 5.3.2 revision."; + } + + typedef Bgp-official-address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + enum "l2vpn" { + value 25; + description + "L2VPN"; + } + enum "ls" { + value 16388; + description + "LS"; + } + enum "all" { + value 65534; + description + "All"; + } + } + description + "Bgp official address family"; + } + + typedef Bgp-extcomm-v4-addr-index { + type uint32 { + range "0..65535"; + } + description + "Bgp extcomm v4 addr index"; + } + + typedef Bgp-nbr-cap-additional-paths-cfg { + type enumeration { + enum "enable" { + value 1; + description + "Enable neighbor additional-paths capability"; + } + enum "disable" { + value 2; + description + "Disable neighbor additional-paths capability"; + } + } + description + "Bgp nbr cap additional paths cfg"; + } + + typedef Bgp-advertise-local-labeled-route-cfg { + type enumeration { + enum "enable" { + value 1; + description + "Enable to advertise routes with local-label via + Unicast Subsequent address family Indicator"; + } + enum "disable" { + value 2; + description + "Disable to advertise routes with local-label + via Unicast Subsequent address family Indicator"; + } + } + description + "Bgp advertise local labeled route cfg"; + } + + typedef Bgp-tos { + type enumeration { + enum "precedence" { + value 0; + description + "IP Type of Service (TOS) precedence"; + } + enum "dscp" { + value 1; + description + "IP Differentiated Services Code Point(DSCP)"; + } + } + description + "Bgp tos"; + } + + typedef Bgp-address-family { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IPv4 unicast address family"; + } + enum "ipv4-multicast" { + value 1; + description + "IPv4 multicast address family"; + } + enum "ipv4-labeled-unicast" { + value 2; + description + "IPv4 labeled-unicast address family"; + } + enum "ipv4-tunnel" { + value 3; + description + "IPv4 tunnel address family"; + } + enum "vpnv4-unicast" { + value 4; + description + "VPNv4 unicast address family"; + } + enum "ipv6-unicast" { + value 5; + description + "IPv6 unicast address family"; + } + enum "ipv6-multicast" { + value 6; + description + "IPv6 multicast address family"; + } + enum "ipv6-labeled-unicast" { + value 7; + description + "IPv6 labeled-unicast address family"; + } + enum "vpnv6-unicast" { + value 8; + description + "VPNv6 unicast address family"; + } + enum "ipv4-mdt" { + value 9; + description + "IPv4 MDT address family"; + } + enum "l2vpn-vpls" { + value 10; + description + "L2VPN VPLS-VPWS address family"; + } + enum "ipv4rt-constraint" { + value 11; + description + "IPv4 rt-filter address family"; + } + enum "ipv4-mvpn" { + value 12; + description + "IPv4 MVPN address family"; + } + enum "ipv6-mvpn" { + value 13; + description + "IPv6 MVPN address family"; + } + enum "l2vpn-evpn" { + value 14; + description + "L2VPN EVPN address family"; + } + enum "lsls" { + value 15; + description + "Link-state link-state address family"; + } + enum "vpnv4-multicast" { + value 16; + description + "VPNv4 Multicast address family"; + } + enum "vpnv6-multicast" { + value 17; + description + "VPNv6 Multicast address family"; + } + enum "ipv4-flowspec" { + value 18; + description + "IPv4 flowspec address family"; + } + enum "ipv6-flowspec" { + value 19; + description + "IPv6 flowspec address family"; + } + enum "vpnv4-flowspec" { + value 20; + description + "VPNv4 flowspec address family"; + } + enum "vpnv6-flowspec" { + value 21; + description + "VPNv6 flowspec address family"; + } + enum "l2vpn-mspw" { + value 22; + description + "L2VPN MSPW address family"; + } + enum "ipv4-sr-policy" { + value 23; + description + "IPv4 Segment Routing (SR) policy address family"; + } + enum "ipv6-sr-policy" { + value 24; + description + "IPv6 Segment Routing (SR) policy address family"; + } + enum "all-address-family" { + value 25; + description + "All Address Families"; + } + } + description + "Bgp address family"; + } + + typedef Bgp-update-filter-action { + type enumeration { + enum "treat-as-withdraw" { + value 1; + description + "Treat the update message as a withdraw"; + } + enum "discard-attibute" { + value 2; + description + "Discard the attribute in update filter"; + } + } + description + "Bgp update filter action"; + } + + typedef Bgp-attribute-range { + type uint32 { + range "0..256"; + } + description + "Bgp attribute range"; + } + + typedef Bgp-precedence-dscp { + type union { + type enumeration { + enum "af11" { + value 10; + description + "AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "AF13 dscp (001110)"; + } + enum "af21" { + value 18; + description + "AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "AF23 dscp (010110)"; + } + enum "af31" { + value 26; + description + "AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "AF33 dscp (011110)"; + } + enum "af41" { + value 34; + description + "AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "AF43 dscp (100110)"; + } + enum "cs1" { + value 8; + description + "CS1 dscp (001000)"; + } + enum "cs2" { + value 16; + description + "CS2 dscp (010000)"; + } + enum "cs3" { + value 24; + description + "CS3 dscp (011000)"; + } + enum "cs4" { + value 32; + description + "CS4 dscp (100000)"; + } + enum "cs5" { + value 40; + description + "CS5 dscp (101000)"; + } + enum "cs6" { + value 48; + description + "CS6 dscp (110000)"; + } + enum "cs7" { + value 56; + description + "CS7 dscp (111000)"; + } + enum "ef" { + value 46; + description + "EF dscp (101110)"; + } + enum "critical" { + value 5; + description + "critical precedence (5)"; + } + enum "flash" { + value 3; + description + "flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "network control precedence (7)"; + } + enum "priority" { + value 1; + description + "priority precedence (1)"; + } + enum "default-or-routine" { + value 0; + description + "default dscp or routine precedence (0)"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Bgp precedence dscp"; + } + + typedef Bgp-af-additional-paths-cfg { + type enumeration { + enum "enable" { + value 1; + description + "Enable AF Additional-paths"; + } + enum "disable" { + value 2; + description + "Disable AF Additional-paths"; + } + } + description + "Bgp af additional paths cfg"; + } + + typedef Bgp-as-range { + type uint32 { + range "0..4294967295"; + } + description + "Bgp as range"; + } + + typedef Bgp-subsequent-address-family { + type enumeration { + enum "unicast" { + value 1; + description + "Unicast subsequent address family"; + } + enum "multicast" { + value 2; + description + "Multicast subsequent address family"; + } + enum "labeled-unicast" { + value 4; + description + "Labeled-unicast subsequent address family"; + } + enum "mvpn" { + value 5; + description + "MVPN subsequent address family"; + } + enum "mspw" { + value 6; + description + "MSPW subsequent address family"; + } + enum "tunnel" { + value 64; + description + "Tunnel subsequent address family"; + } + enum "vpls" { + value 65; + description + "VPLS subsequent address family"; + } + enum "mdt" { + value 66; + description + "MDT subsequent address family"; + } + enum "vpws" { + value 68; + description + "VPWS subsequent address family"; + } + enum "evpn" { + value 70; + description + "EVPN subsequent address family"; + } + enum "ls" { + value 71; + description + "LS subsequent address family"; + } + enum "sr-policy" { + value 73; + description + "SRPolicy subsequent address family"; + } + enum "vpn" { + value 128; + description + "VPN subsequent address family"; + } + enum "vpn-mcast" { + value 129; + description + "VPN-Multicast subsequent address family"; + } + enum "rt-filter" { + value 132; + description + "Rt-filter subsequent address family"; + } + enum "flowspec" { + value 133; + description + "Flowspec subsequent address family"; + } + enum "vpn-flowspec" { + value 134; + description + "VPN-Flowspec subsequent address family"; + } + enum "all" { + value 254; + description + "All subsequent address family"; + } + } + description + "Bgp subsequent address family"; + } + + typedef Bmp-route-monitor-mode { + type enumeration { + enum "inbound-pre-policy" { + value 0; + description + "Pickup routes at inbound direction from peer + before application of route-policy"; + } + enum "inbound-post-policy" { + value 1; + description + "Pickup routes at inbound direction from peer + after application of route-policy"; + } + enum "local-rib" { + value 4; + description + "Pickup routes that have been selected by the + local BGP speaker's decision process"; + } + } + description + "Bmp route monitor mode"; + } + + typedef Bgp-extcomm-asn-index { + type uint32 { + range "0..4294967295"; + } + description + "Bgp extcomm asn index"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1.yang new file mode 100644 index 000000000..676c49526 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1.yang @@ -0,0 +1,353 @@ +submodule Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-bgp-oc-oper { + prefix Cisco-IOS-XR-ipv4-bgp-oc-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-bgp-oc package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-28 { + description + "Removing unsupported InvalidReason"; + semver:module-version "3.0.0"; + } + revision 2019-08-31 { + description + "Fixing revision error in module."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Fixing backward compatibility error in module"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bgp-oc-origin-attr { + type enumeration { + enum "igp" { + value 0; + description + "IGP"; + } + enum "egp" { + value 1; + description + "EGP"; + } + enum "incomplete" { + value 2; + description + "Incomplete"; + } + } + description + "Origin Type"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Bgp-oc-afi { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4 unicast"; + } + enum "ipv6" { + value 5; + description + "IPv6 unicast"; + } + } + description + "BGP Address family"; + } + + grouping BGP-OC-RIB-COMMON-BAG { + description + "OpenConfig BGP_RIB common attributes"; + leaf num-routes { + type uint64; + description + "NumRoutes"; + } + } + + grouping BGP-OC-DATE-AND-TIME { + description + "BGP OC DATE AND TIME"; + leaf time-value { + type string; + description + "TimeValue"; + } + } + + grouping BGP-OC-UNKNOWN-ATTR-TYPE { + description + "BGP OC UNKNOWN ATTR TYPE"; + leaf attribute-type { + type uint16; + description + "BGP attribute type that is unknown or not + understood"; + } + leaf attribute-length { + type uint16; + description + "BGP attribute length that is unknown or not + understood"; + } + leaf attribute-value { + type yang:hex-string; + description + "BGP attribute value that is unknown or not + understood"; + } + } + + grouping BGP-OC-EXT-ATTR { + description + "BGP OC EXT ATTR"; + leaf originator-id { + type inet:ipv4-address; + description + "BGP Originator ID"; + } + leaf aigp { + type uint64; + description + "Accumulated Interior Gateway Protocol (AIGP) + metric value"; + } + leaf path-id { + type uint32; + description + "BGP Path Identifier"; + } + leaf-list cluster { + type inet:ipv4-address; + description + "List of cluster IDs"; + } + list ext-community { + description + "Array of extended communities"; + uses BGP-OC-STRING-TYPE; + } + list unknown-attributes { + description + "List of BGP attributes that are unknown"; + uses BGP-OC-UNKNOWN-ATTR-TYPE; + } + } + + grouping BGP-OC-STRING-TYPE { + description + "Names of bgp oc objects"; + leaf objects { + type string; + description + "BGP OC objects"; + } + } + + grouping BGP-OC-AGGREGATOR-TYPE { + description + "BGP OC AGGREGATOR TYPE"; + leaf as { + type uint32; + description + "AS number"; + } + leaf as4 { + type uint32; + description + "AS4 number"; + } + leaf address { + type inet:ipv4-address; + description + "IPv4 address"; + } + } + + grouping BGP-OC-ROUTE-ATTR { + description + "BGP OC ROUTE ATTR"; + container next-hop { + description + "NextHopAddress"; + uses BGP-OC-ADDRTYPE; + } + container aggregrator-attributes { + description + "AggregatorList"; + uses BGP-OC-AGGREGATOR-TYPE; + } + leaf origin-type { + type Bgp-oc-origin-attr; + description + "Origin Attribute Type"; + } + leaf as-path { + type string; + description + "AS Path"; + } + leaf as4-path { + type string; + description + "AS4 Path"; + } + leaf med { + type uint32; + description + "Med"; + } + leaf local-pref { + type uint32; + description + "LocalPref"; + } + leaf atomic-aggr { + type boolean; + description + "AtomicAggr"; + } + list community { + description + "CommunityArray"; + uses BGP-OC-STRING-TYPE; + } + } + + grouping BGP-OC-ADDRTYPE { + description + "BGP OC ADDRTYPE"; + leaf afi { + type Bgp-oc-afi; + description + "AFI"; + } + leaf ipv4-address { + when "../afi = 'ipv4'" { + description + "../AFI = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../afi = 'ipv6'" { + description + "../AFI = 'IPv6'"; + } + type Ipv6-address; + description + "IPv6 Addr"; + } + } + + grouping BGP-OC-PREFIXTYPE { + description + "BGP OC PREFIXTYPE"; + container prefix { + description + "IPv4 or IPv6 network address prefix"; + uses BGP-OC-ADDRTYPE; + } + leaf prefix-length { + type uint8; + description + "Length of the subnet prefix"; + } + } + + grouping BGP-OC-ROUTE-BAG { + description + "OpenConfig BGP_RIB Route"; + container prefix-name { + description + "Prefix"; + uses BGP-OC-PREFIXTYPE; + } + container route-attr-list { + description + "RouteAttributesList"; + uses BGP-OC-ROUTE-ATTR; + } + container ext-attributes-list { + description + "ExtAttributesList"; + uses BGP-OC-EXT-ATTR; + } + container last-modified-date { + description + "LastModifiedDate"; + uses BGP-OC-DATE-AND-TIME; + } + container last-update-recieved { + description + "LastUpdateRecieved"; + uses BGP-OC-DATE-AND-TIME; + } + leaf valid-route { + type boolean; + description + "ValidRoute"; + } + leaf best-path { + type boolean; + description + "BestPath"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper.yang new file mode 100644 index 000000000..41da93003 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oc-oper.yang @@ -0,0 +1,195 @@ +module Cisco-IOS-XR-ipv4-bgp-oc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oc-oper"; + prefix ipv4-bgp-oc-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1 { + revision-date 2020-01-28; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-bgp-oc package operational data. + + This module contains definitions + for the following management objects: + oc-bgp: OC-BGP operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-28 { + description + "Removing unsupported InvalidReason"; + semver:module-version "3.0.0"; + } + revision 2019-08-31 { + description + "Fixing revision error in module."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Fixing backward compatibility error in module"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ROUTE-TABLE { + description + "Common node of loc-rib, adj-rib-in-pre, + adj-rib-in-post, adj-rib-out-pre, + adj-rib-out-post"; + container routes { + description + "routes table"; + list route { + description + "route entry"; + leaf route { + type inet:ip-prefix; + description + "Network in prefix/length format"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IP address of the BGP Neighbor"; + } + leaf path-id { + type uint32 { + range "0..4294967295"; + } + description + "Received Path ID"; + } + uses BGP-OC-ROUTE-BAG; + } + } + } + + grouping LOC-RIB { + description + "Common node of ipv4-unicast, ipv6-unicast"; + container loc-rib { + description + "Local rib route table"; + uses ROUTE-TABLE; + uses NUM-ROUTES; + } + } + + grouping NUM-ROUTES { + description + "Common node of loc-rib, adj-rib-in-pre, + adj-rib-in-post, adj-rib-out-pre, + adj-rib-out-post"; + container num-routes { + description + "Number of routes in adjacency rib out-bound + post-policy table"; + uses BGP-OC-RIB-COMMON-BAG; + } + } + + grouping OPEN-CONFIG-NEIGHBOR-TABLE { + description + "Common node of ipv4-unicast, ipv6-unicast"; + container open-config-neighbors { + description + "Neighbor list"; + list open-config-neighbor { + key "neighbor-address"; + description + "Neighbor name"; + container adj-rib-in-post { + description + "Adjacency rib in-bound post-policy table"; + uses ROUTE-TABLE; + uses NUM-ROUTES; + } + container adj-rib-out-post { + description + "Adjacency rib out-bound post-policy table"; + uses ROUTE-TABLE; + uses NUM-ROUTES; + } + container adj-rib-out-pre { + description + "Adjacency rib out-bound pre-policy table"; + uses ROUTE-TABLE; + uses NUM-ROUTES; + } + container adj-rib-in-pre { + description + "Adjacency rib in-bound pre-policy table"; + uses ROUTE-TABLE; + uses NUM-ROUTES; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor Address"; + } + } + } + } + + container oc-bgp { + config false; + description + "OC-BGP operational data"; + container bgp-rib { + description + "BGP-RIB operational data"; + container afi-safi-table { + description + "AFI-SAFIs information"; + container ipv4-unicast { + description + "IPv4 Unicast"; + uses LOC-RIB; + uses OPEN-CONFIG-NEIGHBOR-TABLE; + } + container ipv6-unicast { + description + "IPv6 Unicast"; + uses LOC-RIB; + uses OPEN-CONFIG-NEIGHBOR-TABLE; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper-sub1.yang new file mode 100644 index 000000000..6a36a0194 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper-sub1.yang @@ -0,0 +1,19302 @@ +submodule Cisco-IOS-XR-ipv4-bgp-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-bgp-oper { + prefix Cisco-IOS-XR-ipv4-bgp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-bgp package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-05 { + description + "Added new field to neighbor bag related to sync elem flag + 2023-01-18 + Updated BMP path information to include link-local nexthop and netxhop route-distinguisher information + 2023-01-16 + Added oc-rib attribute index in BGP path information + 2022-11-11 + Modified type of Last Received Message in per-neighbor information + 2022-10-14 + Added Last Received Message for per neighbor + 2022-10-11 + Added delay and other timers for BMP server + 2022-10-09 + Added server states in per BMP server convergence data IosSetYangSchemaRev Cisco-IOS-XR-ipv4-bgp-oper + 2022-09-05 + Added suport for BMP L3VPN inbound post-policy and Local RIB + 2022-06-02 + Added update wait install delay leaf. + 2022-02-18 + Added interface-name key to next-hop-af leaf. + 2022-02-07 + Added address family string under af-array + 2021-11-15 + Added interafi leak information in update out + 2021-11-12 + Updated convergence operational information + 2021-11-09 + Added oper for Nexthop sync slot + 2021-10-20 + Added next hop encapsulation type for MPLS over UDP tunnel"; + semver:module-version "6.0.0"; + } + revision 2021-10-16 { + description + "Added Oper for mamximum-paths deterministic + 2021-06-27 + Added PathLocalSidTable and PathReceivedSidTable"; + semver:module-version "5.0.0"; + } + revision 2021-05-10 { + description + "Added platform capability mix srte CLI + 2021-03-15 + Added Export Allow Config for backup + 2021-03-05 + Deprecated Hidden commands + 2021-03-05 + Added SR Policy Path Prefernce in Bestpath Compare + 2020-10-04 + Added Soft NextHop Validation and Metric + 2020-09-30 + Added LATEST bestpath comparison reason + 2020-09-18 + Added SRv6 TE BSID information + 2020-07-15 + Changed VRFDBVRFTable pathformat"; + semver:module-version "4.0.0"; + } + revision 2020-06-23 { + description + "changed the afi from integer to string in BPM entities + 2020-03-30 + Extended flags to 16 bits and changed leaf names as per convention"; + semver:module-version "3.0.0"; + } + revision 2020-01-11 { + description + "Fixing invalid range for prefix length. + 2019-08-31 + Fixing revision error in module."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Fixing backward compatibility error in module"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Added schema for opercoverage missing paths"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-08-27 { + description + "IOS XR 5.3.2 revision."; + } + + typedef Bgp-label-rpf-install { + type enumeration { + enum "bgp-label-rpf-install-rib" { + value 0; + description + "Install via RIB"; + } + enum "bgp-label-rpf-install-lsd" { + value 1; + description + "Install via LSD"; + } + } + description + "BGP Label RPF Install Path"; + } + + typedef Bgp-rpki-perror { + type enumeration { + enum "none" { + description + "No protocol error"; + } + enum "message-version" { + description + "Message version error"; + } + enum "message-type" { + description + "Message type error"; + } + enum "message-length" { + description + "Message length error"; + } + enum "nonce-mismatch" { + description + "Server nonce mismatch"; + } + enum "bad-prefix" { + description + "Bad ROA"; + } + enum "fsm" { + description + "FSM error"; + } + enum "no-response" { + description + "No response from server"; + } + enum "error-report" { + description + "Server sent error-report"; + } + } + description + "Bgp rpki perror"; + } + + typedef Bgp-rpki-pstate { + type enumeration { + enum "not-started" { + description + "Server protocol has not started"; + } + enum "reset" { + description + "Server protocol reset"; + } + enum "refresh" { + description + "Server protocol resumed"; + } + enum "reset-query-sent" { + description + "Reset query sent to server"; + } + enum "serial-query-sent" { + description + "Serial query sent to server"; + } + enum "data-start" { + description + "Server started sending data"; + } + enum "data-end" { + description + "Server ended sending data"; + } + } + description + "Bgp rpki pstate"; + } + + typedef Bgp-rpki-creason { + type enumeration { + enum "no-close-reason" { + value 0; + description + "No close reason"; + } + enum "read-error" { + value 1; + description + "Socket Read error"; + } + enum "write-error" { + value 2; + description + "Socket Write error"; + } + enum "proto-error" { + value 3; + description + "Protocol error"; + } + enum "config-shutdown" { + value 4; + description + "Shutdown by configuration"; + } + enum "config-removed" { + value 5; + description + "Configuration removed"; + } + enum "config-changed" { + value 6; + description + "Configuration changed"; + } + enum "nsr-disabled" { + value 7; + description + "NSR disabled"; + } + enum "user-clear" { + value 8; + description + "Explicity user clear"; + } + enum "ssh-died" { + value 9; + description + "SSH process died"; + } + enum "tcp-died" { + value 10; + description + "TCP process died"; + } + } + description + "Bgp rpki creason"; + } + + typedef Bgp-rpki-state { + type enumeration { + enum "idle" { + value 0; + description + "Server is idle"; + } + enum "attempt-connect" { + value 1; + description + "Connect attempt made to server"; + } + enum "connected" { + value 2; + description + "Server is connected"; + } + } + description + "Bgp rpki state"; + } + + typedef Bgp-ism-conn-state { + type enumeration { + enum "none" { + description + "None - ST 0"; + } + enum "connect-done" { + description + "ISSUMgr connection done - ST 1"; + } + } + description + "Bgp ism conn state"; + } + + typedef Bgp-ds-conn-state { + type enumeration { + enum "none" { + description + "DS connection not initiated - ST 0"; + } + enum "connect-init" { + description + "DS connection initiated - ST 1"; + } + enum "connect-fail" { + description + "DS connection failed - ST 2"; + } + enum "connect-estb" { + description + "DS connection established - ST 3"; + } + enum "disconnect-init" { + description + "DS disconnect initiated - ST 4"; + } + enum "disconnect-fail" { + description + "DS disconnect failed - ST 5"; + } + enum "disconnect-done" { + description + "DS disconnect done - ST 6"; + } + } + description + "Bgp ds conn state"; + } + + typedef Bgp-scoped-sync-state { + type enumeration { + enum "bgp-scope-sync-state-none" { + description + "State none"; + } + enum "bgp-scope-sync-state-not-nsr-ready" { + description + "Oper Down when NSR not ready"; + } + enum "bgp-scope-sync-state-timer-start" { + description + "Timer started for active batch"; + } + enum "bgp-scope-sync-state-add-list" { + description + "Start adding neighbors to pending batch"; + } + enum "bgp-scope-sync-state-batch-acitve" { + description + "Active batch"; + } + } + description + "Bgp scoped sync state"; + } + + typedef Bgp-bmp-upd-mode { + type enumeration { + enum "bgp-bmp-upd-n-either" { + value 0; + description + "Neither of the modes are enabled"; + } + enum "bgp-bmp-upd-route-mon" { + value 1; + description + "Route Monotoring mode enabled"; + } + enum "bgp-bmp-upd-route-mirr" { + value 2; + description + "Route Mirroring mode is enabled"; + } + } + description + "Bgp bmp upd mode"; + } + + typedef Bgp-bmp-state { + type enumeration { + enum "none" { + value 0; + description + "BMP NOT Connected"; + } + enum "connecting" { + value 1; + description + "BMP Under Connection"; + } + enum "established" { + value 2; + description + "BMP Connection Established"; + } + enum "closing" { + value 3; + description + "BMP Connection Closing"; + } + } + description + "BMP Connection State"; + } + + typedef Bgp-bag-upd-filter-action { + type enumeration { + enum "none" { + value 0; + description + "No Action"; + } + enum "withdraw" { + value 1; + description + "Withdraw NLRI"; + } + enum "attribute-discard" { + value 2; + description + "Discard Attribute"; + } + } + description + "Bgp bag upd filter action"; + } + + typedef Bgp-bag-upd-err-action { + type enumeration { + enum "bgp-bag-upd-err-action-none" { + value 0; + description + "No Action"; + } + enum "bgp-bag-upd-err-action-discard-msg" { + value 1; + description + "Discard Message"; + } + enum "bgp-bag-upd-err-action-reset" { + value 2; + description + "Session Reset"; + } + enum "bgp-bag-upd-err-action-wdr-or-reset" { + value 3; + description + "Withdraw NLRI or Reset"; + } + enum "bgp-bag-upd-err-action-wdr" { + value 4; + description + "Withdraw NLRI"; + } + enum "bgp-bag-upd-err-action-discard-attr" { + value 5; + description + "Discard Attribute"; + } + enum "bgp-bag-upd-err-action-local-repair" { + value 6; + description + "Local Repair"; + } + enum "bgp-bag-upd-err-action-max" { + value 7; + description + "Maximum number of actions"; + } + } + description + "Bgp bag upd err action"; + } + + typedef Bgp-message { + type enumeration { + enum "none" { + description + "None"; + } + enum "open" { + description + "Open"; + } + enum "update" { + description + "Update"; + } + enum "notification" { + description + "Notification"; + } + enum "keepalive" { + description + "KeepAlive"; + } + enum "refresh-req" { + description + "Route-Refresh Request"; + } + } + description + "Bgp message"; + } + + typedef Bgp-gshut-bw-edm-state { + type enumeration { + enum "bgp-gshut-bw-edm-state-init" { + value 0; + description + "Not Configured"; + } + enum "bgp-gshut-bw-edm-state-validate" { + value 1; + description + "Validating Update"; + } + enum "bgp-gshut-bw-edm-state-no-op" { + value 2; + description + "Non Operational"; + } + enum "bgp-gshut-bw-edm-state-learn" { + value 3; + description + "Learning from Interface"; + } + enum "bgp-gshut-bw-edm-state-compute" { + value 4; + description + "Processing"; + } + enum "bgp-gshut-bw-edm-state-active" { + value 5; + description + "Graceful-Maintenance Active"; + } + enum "bgp-gshut-bw-edm-state-inactive" { + value 6; + description + "Inactive as Bandwidth threshold met"; + } + enum "bgp-gshut-bw-edm-state-max" { + value 7; + description + "Invalid State"; + } + } + description + "Bgp gshut bw edm state"; + } + + typedef Bgp-track-state { + type enumeration { + enum "bgp-track-state-unknown" { + value 0; + description + "Track state is Unknown"; + } + enum "bgp-track-state-down" { + value 1; + description + "Track state is Down"; + } + enum "bgp-track-state-up" { + value 2; + description + "Track state is Up"; + } + } + description + "BGP Track state"; + } + + typedef Bgp-peer-reset-reason-index { + type enumeration { + enum "bgp-read-remote-closed" { + value 1; + description + "Remote closed the session"; + } + enum "bgp-read-failed" { + value 2; + description + "Read failed"; + } + enum "bgp-write-failed" { + value 3; + description + "Write failed"; + } + enum "bgp-sock-disconnected" { + value 4; + description + "Socket disconnected"; + } + enum "bgp-sock-select-failed" { + value 5; + description + "Socket select failed"; + } + enum "bgp-peer-reset-reason-none" { + value 6; + description + "None"; + } + } + description + "Bgp peer reset reason index"; + } + + typedef Bgp-reset-reason-index { + type enumeration { + enum "bgp-none" { + value 0; + description + "None"; + } + enum "bgp-init" { + value 1; + description + "BGP neighbor initialized"; + } + enum "bgp-no-memory" { + value 2; + description + "No memory"; + } + enum "not-received" { + value 3; + description + "BGP Notification received"; + } + enum "not-sent" { + value 4; + description + "BGP Notification sent"; + } + enum "conn-collision" { + value 5; + description + "Error during connection collision"; + } + enum "peer-closed" { + value 6; + description + "Peer closing down the session"; + } + enum "max-prefix-exceeded" { + value 7; + description + "Peer exceeding maximum prefix limit"; + } + enum "interface-flap" { + value 8; + description + "Interface flap"; + } + enum "neighbor-deleted" { + value 9; + description + "Neighbor deleted"; + } + enum "admin-shutdown" { + value 10; + description + "Admin. shutdown"; + } + enum "af-activated" { + value 11; + description + "Address family activated"; + } + enum "af-deactivated" { + value 12; + description + "Address family removed"; + } + enum "protocol-error" { + value 13; + description + "Protocol Error"; + } + enum "listen-closed" { + value 14; + description + "Listen socket was closed"; + } + enum "rib-failed" { + value 15; + description + "Routing Table process not responding"; + } + enum "user-clear" { + value 16; + description + "User clear requested"; + } + enum "user-clear-gr" { + value 17; + description + "User clear with graceful restart requested"; + } + enum "router-id-changed" { + value 18; + description + "Router ID changed"; + } + enum "remote-as-changed" { + value 19; + description + "Remote AS configuration changed"; + } + enum "orf-changed" { + value 20; + description + "Outbound route filter configuration changed"; + } + enum "rr-client-changed" { + value 21; + description + "RR client configuration changed"; + } + enum "legacy-pe-rt-changed" { + value 22; + description + "Legacy-pe-RT configuration changed"; + } + enum "softre-config-changed" { + value 23; + description + "Soft reconfiguration configuration changed"; + } + enum "local-as-changed" { + value 24; + description + "Local AS configuration changed"; + } + enum "low-memory" { + value 25; + description + "Shutdown during SEVERE low memory condition"; + } + enum "bfd-down" { + value 26; + description + "BFD (Bidirectional forwarding detection) + session down"; + } + enum "allow-as-in-changed" { + value 27; + description + "Allowas-in configuration has changed"; + } + enum "recv-dmz-cfg" { + value 28; + description + "Recv DMZ Config changed"; + } + enum "cap-4byteas-changed" { + value 29; + description + "Capablity 4-byte-as configuration has changed"; + } + enum "tcp-oper-down" { + value 30; + description + "Received tcp oper down"; + } + enum "scoped-sync-retry" { + value 31; + description + "Scoped sync is repeated due to strict prefix + check failure"; + } + enum "cluster-id-changed" { + value 32; + description + "Neighbor moved to a new cluster"; + } + enum "rr-disable-changed" { + value 33; + description + "Client-to-client reflection disabled/enabled + for cluster to which neighbor belongs"; + } + enum "aigp-changed" { + value 34; + description + "AIGP configuration has changed for cluster to + which neighbor belongs"; + } + enum "signalling-changed" { + value 35; + description + "L2VPN Signalling Changed"; + } + enum "open-check-s-failed" { + value 36; + description + "Session open checks failed"; + } + enum "ao-changed" { + value 37; + description + "Accept-own changed"; + } + enum "llgr-staletime-changed" { + value 38; + description + "Long-lived graceful-restart stale-time + configuration changed"; + } + enum "llgr-capable-changed" { + value 39; + description + "Long-lived graceful-restart capable + configuration changed"; + } + enum "nbr-local-addr-changed" { + value 40; + description + "Neighbor local address configuration changed"; + } + enum "internal-vpn-client-changed" { + value 41; + description + "Internal-vpn-client configuration changed"; + } + enum "cap-suppress-all-changed" { + value 42; + description + "All capabilities suppression changed"; + } + enum "next-hop-changed" { + value 43; + description + "Next hop configuration changed"; + } + enum "cap-suppress-enhe-changed" { + value 44; + description + "Extended-nexthop-encoding capability + suppression changed"; + } + } + description + "Bgp reset reason index"; + } + + typedef Bgp-bfd-enable-mode { + type enumeration { + enum "bgp-bfd-enable-mode-disable" { + value 0; + description + "BFD fast detect disabled "; + } + enum "bgp-bfd-enable-mode-def" { + value 1; + description + "BFD fast detect default mode "; + } + enum "bgp-bfd-enable-mode-strict" { + value 2; + description + "BFD fast detect hold down aka strict mode"; + } + } + description + "BFD enable mode"; + } + + typedef Bgp-bfd-state { + type enumeration { + enum "bgp-bfd-state-not-configured" { + value 0; + description + "BFD not configured"; + } + enum "bgp-bfd-state-admin-down" { + value 1; + description + "BFD session disabled (neighbor shutdown)"; + } + enum "bgp-bfd-state-not-supported" { + value 2; + description + "BFD session disabled (interface type not + supported)"; + } + enum "bgp-bfd-state-not-created" { + value 3; + description + "BFD session configured, not yet created"; + } + enum "bgp-bfd-state-created" { + value 4; + description + "BFD session created, state notification not + received"; + } + enum "bgp-bfd-state-up" { + value 5; + description + "BFD session up"; + } + enum "bgp-bfd-state-down" { + value 6; + description + "BFD session down"; + } + enum "bgp-bfd-state-nbr-not-configured" { + value 7; + description + "BFD session down (peer not configured)"; + } + enum "bgp-bfd-state-none" { + value 8; + description + "BFD session (yet ro rcv Notification)"; + } + } + description + "BFD session state"; + } + + typedef Bgp-open-check-err { + type enumeration { + enum "none" { + value 0; + description + "No error"; + } + enum "neighbor-down" { + value 1; + description + "Neighbor down"; + } + enum "no-update-group-set" { + value 2; + description + "No update-group set"; + } + enum "no-af-config" { + value 3; + description + "No AF configured"; + } + enum "update-group-pending" { + value 4; + description + "Update-group pending"; + } + enum "low-memory" { + value 5; + description + "Low memory"; + } + enum "neighbor-shutdown" { + value 6; + description + "Neighbor shutdown"; + } + enum "ebgp-neighbor-remote" { + value 7; + description + "eBGP neighbor is remote"; + } + enum "update-source-interface-null" { + value 8; + description + "Update source invalid"; + } + enum "no-ipv6-address" { + value 9; + description + "No global IPv6 address found"; + } + enum "first-hop-interface-null" { + value 10; + description + "First-hop interface invalid"; + } + enum "no-ipv6ll-address" { + value 11; + description + "No LL IPv6 address found"; + } + enum "no-update-source-config" { + value 12; + description + "No update-source configured"; + } + enum "no-router-id" { + value 13; + description + "No router-identifier"; + } + enum "update-source-interface-get-failed" { + value 14; + description + "Update-source interface get failed"; + } + enum "update-source-interface-state-get-failed" { + value 15; + description + "Update-source interface state get failed"; + } + enum "update-source-interface-down" { + value 16; + description + "Update-source interface down"; + } + enum "update-source-interface-ll-get-failed" { + value 17; + description + "Update-source interface LL get failed"; + } + enum "update-source-interface-address-get-failed" { + value 18; + description + "Update-source interface address get failed"; + } + enum "source-address-af-invalid" { + value 19; + description + "Source-address AF invalid"; + } + enum "no-update-source-ll-peering" { + value 20; + description + "No update-source for LL peering"; + } + enum "local-address-get-failed" { + value 21; + description + "Local-address get failed"; + } + enum "no-best-local-address" { + value 22; + description + "No best local-address"; + } + enum "neighbor-address-equals-local-address" { + value 23; + description + "Neighbor address is local address"; + } + enum "neighbor-closing" { + value 24; + description + "Neighbor in closing state"; + } + enum "neighbor-pending-reset" { + value 25; + description + "Neighbor in pending reset state"; + } + enum "out-interface-set-failed" { + value 26; + description + "Out-interface set failed"; + } + enum "local-address-mismatch" { + value 27; + description + "Local-address mismatch"; + } + enum "neighbor-active-only" { + value 28; + description + "Neighbor in active only mode"; + } + enum "socket-init-failed" { + value 29; + description + "Socket init failed"; + } + enum "socket-operation-failed" { + value 30; + description + "Socket operation failed"; + } + enum "local-neighbor" { + value 31; + description + "Neighbor is local"; + } + enum "multi-hop-neighbor" { + value 32; + description + "No router to multi-hop neighbor"; + } + } + description + "BGP open check error types"; + } + + typedef Bgp-nh-validate { + type enumeration { + enum "bgp-nh-validate-sync" { + description + "bgp nh validate sync"; + } + enum "bgp-nh-validate-async" { + description + "bgp nh validate async"; + } + enum "bgp-nh-validate-none" { + description + "bgp nh validate none"; + } + } + description + "Bgp nh validate"; + } + + typedef Bgp-nh-update { + type enumeration { + enum "bgp-nh-update-none" { + value 0; + description + "No nh update yet"; + } + enum "bgp-nh-update-crit-not-f" { + value 1; + description + "Last nh update is crit notf"; + } + enum "bgp-nh-update-crit-sync" { + value 2; + description + "Last nh update is crit sync update"; + } + enum "bgp-nh-update-crit-rib-conv" { + value 3; + description + "Last nh update is crit update caused by rib + converge"; + } + enum "bgp-nh-update-crit-table-down" { + value 4; + description + "Last nh update is crit update caused by table + down"; + } + enum "bgp-nh-update-non-crit-not-f" { + value 5; + description + "Last nh update is non-crit notf"; + } + enum "bgp-nh-update-non-crit-sync" { + value 6; + description + "Last nh update is non-crit sync update"; + } + enum "bgp-nh-update-non-crit-rib-conv" { + value 7; + description + "Last nh update is non-crit update caused by rib + converge"; + } + enum "bgp-nh-update-non-crit-table-down" { + value 8; + description + "Last nh update is non-crit update caused by + table down"; + } + } + description + "Bgp nh update"; + } + + typedef Bgp-nh-event { + type enumeration { + enum "bgp-nh-event-crit-not-f" { + value 0; + description + "Last event received is a crit notf"; + } + enum "bgp-nh-event-non-crit-not-f" { + value 1; + description + "Last event received is a non-crit notf"; + } + enum "bgp-nh-event-registration" { + value 2; + description + "Last event sent is a registration"; + } + } + description + "Bgp nh event"; + } + + typedef Bgp-rtr-state { + type enumeration { + enum "bgp-router-read-only" { + value 0; + description + "Read only mode"; + } + enum "bgp-router-do-best-path" { + value 1; + description + "Bestpath calculation mode"; + } + enum "bgp-router-do-tunnel-update" { + value 2; + description + "Tunnel update mode"; + } + enum "bgp-router-do-import" { + value 3; + description + "Import mode"; + } + enum "bgp-router-do-label-alloc" { + value 4; + description + "Label Allocation mode"; + } + enum "bgp-router-do-ribupd" { + value 5; + description + "RIB update mode"; + } + enum "bgp-router-read-write" { + value 6; + description + "Normal (read/write) mode"; + } + enum "bgp-router-mode-count" { + value 7; + description + "Number of router modes"; + } + } + description + "Bgp rtr state"; + } + + typedef Bgp-rnh-addr-len { + type enumeration { + enum "none" { + value 0; + description + "NO address length"; + } + enum "v4" { + value 4; + description + "IP v4 address length"; + } + enum "mac" { + value 6; + description + "MAC address length"; + } + enum "v6" { + value 16; + description + "IP v6 address length"; + } + } + description + "BGP RNH Address Length"; + } + + typedef Sr-sid { + type enumeration { + enum "label" { + value 1; + description + "MPLS Label sid"; + } + enum "ipv4" { + value 2; + description + "IPv4 address"; + } + enum "ipv6" { + value 3; + description + "IPv6 address"; + } + } + description + "Segment id type"; + } + + typedef Bgp-srpolicy-req-state { + type enumeration { + enum "request-pending" { + value 0; + description + "SR policy install in dataplane not requested + yet"; + } + enum "requested" { + value 1; + description + "Requested SR policy install dataplane"; + } + enum "notified-up" { + value 2; + description + "SR policy is UP"; + } + enum "notified-down" { + value 4; + description + "SR policy is notified down by XTC"; + } + enum "marked-stale" { + value 8; + description + "SR policy is marked stale due to XTC agent down"; + } + enum "marked-disable" { + value 16; + description + "SR policy is marked disabled from the config in + XTC"; + } + } + description + "BGP SR Policy Internal State"; + } + + typedef Bgp-binding-sid { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "label" { + value 1; + description + "Binding SID type MPLS label"; + } + enum "v6" { + value 2; + description + "Binding SID type ipv6"; + } + } + description + "BGP Binding SID type"; + } + + typedef Bgp-bp-stage { + type enumeration { + enum "bgp-bp-comp-not-compared" { + value 0; + description + "Best path comparison not performed"; + } + enum "bgp-bp-comp-imulti-path" { + value 1; + description + "Path is an iBGP multipath"; + } + enum "bgp-bp-comp-emulti-path" { + value 2; + description + "Path is an eBGP multipath"; + } + enum "bgp-bp-comp-eimulti-path" { + value 3; + description + "Path is an eiBGP multipath"; + } + enum "bgp-bp-invalid-path" { + value 4; + description + "Invalid path"; + } + enum "bgp-bp-comp-pre-cost-comm" { + value 5; + description + "TODO"; + } + enum "bgp-bp-comp-weight" { + value 6; + description + "Path has a lower weight"; + } + enum "bgp-bp-comp-af-specific" { + value 7; + description + "Less Favourable Address Family specific + attributes"; + } + enum "bgp-bp-comp-locpref" { + value 8; + description + "Path has a lower local preference"; + } + enum "bgp-bp-comp-rpki" { + value 9; + description + "Path has worse origin validation state"; + } + enum "bgp-bp-comp-aigp" { + value 10; + description + "TODO"; + } + enum "bgp-bp-comp-local" { + value 11; + description + "Path is not local"; + } + enum "bgp-bp-comp-local-rib" { + value 12; + description + "TODO"; + } + enum "bgp-bp-comp-as-path-len" { + value 13; + description + "Path has a longer AS path"; + } + enum "bgp-bp-comp-origin" { + value 14; + description + "Path has a less favorable origin"; + } + enum "bgp-bp-comp-med" { + value 15; + description + "Path has a lower MED"; + } + enum "bgp-bp-comp-ebgp" { + value 16; + description + "Path lost to an eBGP path"; + } + enum "bgp-bp-comp-ao" { + value 17; + description + "Path has Accept-Own community"; + } + enum "bgp-bp-comp-xtc-nh-ad" { + value 18; + description + "Path has a higher SR-TE nexthop admin distance"; + } + enum "bgp-bp-comp-igp-metric" { + value 19; + description + "Path has a higher IGP metric"; + } + enum "bgp-bp-comp-igp-cost-comm" { + value 20; + description + "TODO"; + } + enum "bgp-bp-comp-rtr-id" { + value 21; + description + "Path has a higher router ID"; + } + enum "bgp-bp-comp-clstr-len" { + value 22; + description + "Path has a longer cluster length"; + } + enum "bgp-bp-comp-nbr-addr" { + value 23; + description + "Path has a higher neighbor address"; + } + enum "bgp-bp-comp-suppressed" { + value 24; + description + "Path is newer than best path"; + } + enum "bgp-bp-comp-mismatch" { + value 25; + description + "Best path comparison failed, perhaps due to + recent configuration changes"; + } + enum "bgp-bp-comp-persistence" { + value 26; + description + "Path is persistent"; + } + enum "bgp-bp-comp-gshut" { + value 27; + description + "Path received from a neighbor in graceful + maintenance"; + } + enum "bgp-bp-comp-la-test" { + value 28; + description + "Path is older"; + } + enum "bgp-bp-comp-srte-tunnel-down" { + value 29; + description + "Non SR-policy path is ignored due to config + knob"; + } + } + description + "Bgp bp stage"; + } + + typedef Bgp-v4-v6-len { + type enumeration { + enum "gwnone" { + value 0; + description + "NO address length"; + } + enum "gwipv4" { + value 4; + description + "IP v4 address length"; + } + enum "gwipv6" { + value 16; + description + "IP v6 address length"; + } + } + description + "BGP GW Address Length"; + } + + typedef Bgp-tunnel { + type enumeration { + enum "tunnel-none" { + value 0; + description + "Tunnel not applicable"; + } + enum "attrset" { + value 1; + description + "Attribute set TE tunnel"; + } + enum "sr-policy" { + value 2; + description + "SR Policy"; + } + enum "odn-policy" { + value 4; + description + "ODN color"; + } + } + description + "BGP tunnel type"; + } + + typedef Bgp-route1 { + type enumeration { + enum "bgp-route-type-used" { + value 0; + description + "Used path from neighbor"; + } + enum "bgp-route-type-rcvd-only" { + value 1; + description + "Received only path from neighbor"; + } + enum "bgp-route-type-safi-label-ed-ucast-used" { + value 2; + description + "Used path from neighbor received via + labeled-unicast SAFI"; + } + enum "bgp-route-type-safi-label-ed-ucast-rcvd-only" { + value 3; + description + "Received only path from neighbor received via + labeled-unicast SAFI"; + } + enum "bgp-route-type-rib" { + value 4; + description + "Redistributed from the RIB"; + } + enum "bgp-route-type-aggregate" { + value 5; + description + "Locally generated aggregate"; + } + enum "bgp-route-type-max" { + value 6; + description + "Number of route types"; + } + } + description + "Bgp route1"; + } + + typedef Mac-address { + type yang:mac-address; + description + "MAC Address type"; + } + + typedef Bgp-rpki-af { + type enumeration { + enum "ipv4" { + value 2; + description + "IPv4"; + } + enum "ipv6" { + value 26; + description + "IPv6"; + } + } + description + "Bgp rpki af"; + } + + typedef Bgp-sync-nbr-nsr-state { + type enumeration { + enum "bgp-nbr-nsr-st-none" { + description + "None - ST 0"; + } + enum "bgp-nbr-nsr-st-oper-down" { + description + "TCP OPER_DOWN notfn received - ST 1"; + } + enum "bgp-nbr-nsr-st-tcp-init-sync" { + description + "TCP initial sync in progress - ST 2"; + } + enum "bgp-nbr-nsr-st-tcp-phase-two" { + description + "TCP initial sync phase two in progress - ST 3"; + } + enum "bgp-nbr-nsr-st-bgp-init-sync" { + description + "BGP initial sync in progress - ST 4"; + } + enum "bgp-nbr-nsr-st-nsr-ready" { + description + "Neighbor NSR ready - ST 5"; + } + } + description + "Bgp sync nbr nsr state"; + } + + typedef Bgp-conn-state { + type enumeration { + enum "bgp-st-dont-care" { + value 0; + description + "DontCare"; + } + enum "bgp-st-idle" { + value 1; + description + "Idle"; + } + enum "bgp-st-connect" { + value 2; + description + "Connect"; + } + enum "bgp-st-active" { + value 3; + description + "Active"; + } + enum "bgp-st-open-sent" { + value 4; + description + "OpenSent"; + } + enum "bgp-st-open-confirm" { + value 5; + description + "OpenConfirm"; + } + enum "bgp-st-estab" { + value 6; + description + "Established"; + } + enum "bgp-st-closing" { + value 7; + description + "Closing"; + } + enum "bgp-st-closing-sync" { + value 8; + description + "ClosingSync"; + } + } + description + "Bgp conn state"; + } + + typedef Bgp-slow-peer-updgrp-split { + type enumeration { + enum "bgp-dynamic-split-enable" { + description + "bgp dynamic split enable"; + } + enum "bgp-dynamic-split-disable" { + description + "bgp dynamic split disable"; + } + enum "bgp-dynamic-split-permanent" { + description + "bgp dynamic split permanent"; + } + enum "bgp-dynamic-split-max" { + description + "bgp dynamic split max"; + } + } + description + "Bgp slow peer updgrp split"; + } + + typedef Bgp-gshut-bw-mode { + type enumeration { + enum "bgp-gshut-bw-aw-are-mode-none" { + value 0; + description + "Bandwidth-Aware Graceful-Maintenance not + configured"; + } + enum "bgp-gshut-bw-aw-are-mode-bandwidth" { + value 1; + description + "Bandwidth-Aware Graceful-Maintenance in + bandwidth threshold"; + } + enum "bgp-gshut-bw-aw-are-mode-percent-age" { + value 2; + description + "Bandwidth-Aware Graceful-Maintenance in + percentage threshold"; + } + } + description + "Bgp gshut bw mode"; + } + + typedef Bgp-tcp-mode { + type enumeration { + enum "bgp-tcp-mode-type-either" { + value 0; + description + "Use either active or passive mode"; + } + enum "bgp-tcp-mode-type-active-only" { + value 1; + description + "Use active mode only"; + } + enum "bgp-tcp-mode-type-passive-only" { + value 2; + description + "Use passive mode only"; + } + } + description + "Bgp tcp mode"; + } + + typedef Bgp-ebgp-send-dmz-enable-mode { + type enumeration { + enum "bgp-ebgp-send-dmz-disable" { + value 0; + description + "EBGP send extended community dmz link bandwidth + disabled "; + } + enum "bgp-ebgp-send-dmz-dflt" { + value 1; + description + "EBGP send extended community dmz link bandwidth + default mode "; + } + enum "bgp-ebgp-send-dmz-cumulative" { + value 2; + description + "EBGP send extended community dmz link bandwidth + cumulative mode"; + } + } + description + "EBGP send extended community dmz link bandwidth + enable mode"; + } + + typedef Bgp-entities { + type enumeration { + enum "af-group" { + value 0; + description + "AF groups"; + } + enum "session-group" { + value 1; + description + "Session Groups"; + } + enum "neighbor-group" { + value 2; + description + "Neighbor Groups"; + } + enum "neighbor" { + value 3; + description + "Neighbors"; + } + } + description + "Entity type"; + } + + typedef Ipv6-flowspec-address { + type xr:Bgp-ipv6-flowspec-address; + description + "IPv6 Flowspec Address type"; + } + + typedef Ipv4-flowspec-address { + type xr:Bgp-ipv4-flowspec-address; + description + "IPv4 Flowspec Address type"; + } + + typedef Ls-ls-address { + type xr:Bgp-ls-addr; + description + "LINKSTATE LINKSTATE Address type"; + } + + typedef Ipv4mvpn-address { + type xr:Bgp-ipv4-mvpn-addr; + description + "IPV4 MVPN Address type"; + } + + typedef Ipv6mvpn-address { + type xr:Bgp-ipv6-mvpn-addr; + description + "IPV6 MVPN Address type"; + } + + typedef Rt-constraint-address { + type xr:Bgp-rt-constrt-addr; + description + "IPV4 RTConstraint Address type"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Ipv4-mdt-address { + type xr:Bgp-ipv4-mdt-addr; + description + "IPV4MDT Address type"; + } + + typedef Ipv4-tunnel-address { + type xr:Bgp-ipv4-tunnel-addr; + description + "IPV4Tunnel Address type"; + } + + typedef Bgp-afi { + type enumeration { + enum "ipv4" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv4-multicast" { + value 1; + description + "IP v4 multicast"; + } + enum "ipv4-labeled" { + value 2; + description + "IP v4 label"; + } + enum "ipv4-tunnel" { + value 3; + description + "IP v4 Tunnel"; + } + enum "vpnv4" { + value 4; + description + "IP v4 virtual private network"; + } + enum "ipv6" { + value 5; + description + "IP v6 unicast"; + } + enum "ipv6-multicast" { + value 6; + description + "IP v6 multicast"; + } + enum "ipv6-labeled" { + value 7; + description + "IP v6 label"; + } + enum "vpnv6" { + value 8; + description + "IP v6 virtual private network"; + } + enum "ipv4-mdt" { + value 9; + description + "IP v4 Multicast Distribution Tree"; + } + enum "l2vpn-vpls" { + value 10; + description + "L2VPN VPLS"; + } + enum "rt-constraint" { + value 11; + description + "IP RT-Constraint"; + } + enum "ipv4-mvpn" { + value 12; + description + "IP v4 mvpn"; + } + enum "ipv6-mvpn" { + value 13; + description + "IP v6 mvpn"; + } + enum "l2vpn-evpn" { + value 14; + description + "L2VPN EVPN"; + } + enum "ls-ls" { + value 15; + description + "Link-state Link-state"; + } + enum "vpnv4-multicast" { + value 16; + description + "IP v4 virtual private network for multicast"; + } + enum "vpnv6-multicast" { + value 17; + description + "IP v6 virtual private network for multicast"; + } + enum "ipv4-flowspec" { + value 18; + description + "IP v4 flowspec"; + } + enum "ipv6-flowspec" { + value 19; + description + "IP v6 flowspec"; + } + enum "vpnv4-flowspec" { + value 20; + description + "IP v4 vpn flowspec"; + } + enum "vpnv6-flowspec" { + value 21; + description + "IP v6 vpn flowspec"; + } + enum "l2vpn-mspw" { + value 22; + description + "L2VPN Multi-segment pseudowire"; + } + enum "ipv4-sr-policy" { + value 23; + description + "IP v4 SR Policy"; + } + enum "ipv6-sr-policy" { + value 24; + description + "IP v6 SR Policy"; + } + enum "no-address-family" { + value 25; + description + "Address-family not applicable"; + } + enum "all-address-families" { + value 26; + description + "All address-families"; + } + } + description + "BGP Address family"; + } + + grouping BPM-ORR-GROUP-BAG { + description + "BPM ORR Group Information"; + container orr-root-address { + description + "ORR Root Address"; + uses BGP-ADDRTYPE; + } + container orr-sec-root-address { + description + "ORR Sec Root Address"; + uses BGP-ADDRTYPE; + } + container orr-ter-root-address { + description + "ORR ter Root Address"; + uses BGP-ADDRTYPE; + } + leaf orr-group-name { + type string; + description + "ORR Group Name"; + } + leaf is-orr-group-ipv4 { + type boolean; + description + "Is IPv4 ORR Group"; + } + leaf is-orr-global-defined { + type boolean; + description + "Is ORR group configured globally"; + } + leaf orrafi-ref-count { + type uint32; + description + "Number of used afis"; + } + leaf neighbor-count { + type uint32; + description + "Used by Total number of neighbors"; + } + leaf flex-algo { + type uint32; + description + "Flex algo value"; + } + leaf is-orr-root-address-configured { + type boolean; + description + "ORR Root address configured"; + } + leaf is-orr-sec-root-address-configured { + type boolean; + description + "ORR Sec Root address configured"; + } + leaf is-orr-ter-root-address-configured { + type boolean; + description + "ORR Ter Root address configured"; + } + list neighbor-af-count { + max-elements "25"; + description + "Used by Total number of neighbors per afi"; + leaf entry { + type uint32; + description + "Used by Total number of neighbors per afi"; + } + } + list used-af { + min-elements 25; + max-elements "25"; + description + "Is ORR group used by af"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + } + + grouping BGP-AFLIST-TYPE { + description + "Address Families information"; + leaf af-name { + type string; + description + "The name of Address Families"; + } + leaf is-enabled { + type boolean; + description + "Flag to indicat if this AF is enabled"; + } + } + + grouping BGP-INSTANCE-INFO { + description + "BGP instance information"; + leaf instance-identifier { + type uint16; + description + "The identifier of the BGP instance"; + } + leaf placed-group-id { + type uint16; + description + "Placed Group Identifier"; + } + leaf instance-name-str { + type string; + description + "BGP Instance Name"; + } + leaf as-number { + type uint32; + description + "AS Number"; + } + leaf number-of-vrfs { + type uint32; + description + "Number of VRFs"; + } + leaf read-only-enabled { + type boolean; + description + "Flag to indicate if BGP Read-Only mode is + enabled"; + } + leaf install-diversion-enabled { + type boolean; + description + "Flag to indicate if BGP Install diversion is + enabled"; + } + leaf srgb-start-configured { + type uint32; + description + "Configured start value of Segment-routing global + block"; + } + leaf srgb-end-configured { + type uint32; + description + "Configured end value of Segment-routing global + block"; + } + list af-array { + max-elements "25"; + description + "List of Address Families"; + uses BGP-AFLIST-TYPE; + } + } + + grouping BGP-INSTANCES-INFO-BAG { + description + "BGP instances information bag"; + list instance { + description + "Array of instance information"; + uses BGP-INSTANCE-INFO; + } + } + + grouping BGP-EDM-LABEL-RPF-NBR { + description + "BGP EDM LABEL RPF NBR"; + leaf ip { + type inet:ipv4-address; + description + "The ip address of the BGP edm rpf nbr"; + } + leaf ip6 { + type inet:ipv6-address; + description + "The ipv6 address of the BGP edm rpf nbr"; + } + leaf count { + type uint32; + description + "The number of prefixes for rpf"; + } + leaf flags { + type uint32; + description + "RPF neighbor node flags"; + } + } + + grouping BGP-EDM-LABEL-RPF-INFO { + description + "BGP EDM LABEL RPF INFO"; + leaf label { + type uint32; + description + "The label of the BGP rpf"; + } + leaf flags { + type uint32; + description + "The flags of the BGP rpf"; + } + leaf install { + type Bgp-label-rpf-install; + description + "The BGP label rpf install"; + } + list rpf { + description + "rpf"; + uses BGP-EDM-LABEL-RPF-NBR; + } + } + + grouping BGP-LABEL-RPF-BAG { + description + "BGP LABEL RPF BAG"; + container rpf { + description + "The reverse path forwarding (RPF) of BGP label"; + uses BGP-EDM-LABEL-RPF-INFO; + } + } + + grouping BGP-EDM-OT-PROV-NBR-AF-DB-ENTRY { + description + "BGP EDM OT PROV NBR AF DB ENTRY"; + container neighbor-address { + description + "BGP neighbor Address"; + uses BGP-ADDRTYPE; + } + container track-created-ts { + description + "track created ts"; + uses BGP-TIMESPEC; + } + container track-created-age { + description + "track created age"; + uses BGP-TIMESPEC; + } + container nbr-af-event-ts { + description + "nbr af event ts"; + uses BGP-TIMESPEC; + } + container nbr-af-event-age { + description + "nbr af event age"; + uses BGP-TIMESPEC; + } + container status-change-ts { + description + "status change ts"; + uses BGP-TIMESPEC; + } + container status-change-age { + description + "status change age"; + uses BGP-TIMESPEC; + } + container status-notify-ts { + description + "status notify ts"; + uses BGP-TIMESPEC; + } + container status-notify-age { + description + "status notify age"; + uses BGP-TIMESPEC; + } + leaf vrf-name { + type string; + description + "vrf name"; + } + leaf afi { + type uint8; + description + "afi"; + } + leaf state { + type Bgp-track-state; + description + "BGP Track Entry State"; + } + leaf flags { + type uint8; + description + "flags"; + } + leaf notify-state { + type Bgp-track-state; + description + "BGP Track Entry Previous State"; + } + leaf prev-state { + type Bgp-track-state; + description + "BGP Track Entry Previous State"; + } + } + + grouping BGP-OT-PROV-NBR-AF-DB-BAG { + description + "BGP OT PROV NBR AF DB BAG"; + container entry { + description + "entry"; + uses BGP-EDM-OT-PROV-NBR-AF-DB-ENTRY; + } + } + + grouping BGP-VRF-RT-HASH-SLICE-BAG { + description + "BGP VRF RT HASH SLICE BAG"; + leaf route-target-hash-value { + type uint32; + description + "Hash value calculated from Route Target value + used to save in BGP's internal hash table"; + } + list rt { + description + "rt"; + uses BGP-EDM-RT-ENTRY; + } + } + + grouping BGP-RPKI-SUMMARY-BAG { + description + "BGP RPKI SUMMARY BAG"; + leaf servers { + type uint32; + description + "Number of RPKI Servers configured"; + } + leaf ipv4roa-nets { + type uint32; + description + "Number of IPv4 ROA Nets"; + } + leaf ipv4roa-paths { + type uint32; + description + "Number of IPv4 ROA Paths"; + } + leaf ipv6roa-nets { + type uint32; + description + "Number of IPv6 ROA Nets"; + } + leaf ipv6roa-paths { + type uint32; + description + "Number of IPv6 ROA Paths"; + } + leaf ipv4-table-version { + type uint64; + description + "RPKI IPv4 Table Version"; + } + leaf ipv4-table-scanner-version { + type uint64; + description + "RPKI IPv4 Scanner Version"; + } + leaf ipv6-table-version { + type uint64; + description + "RPKI IPv6 Table Version"; + } + leaf ipv6-table-scanner-version { + type uint64; + description + "RPKI IPv6 Scanner Version"; + } + } + + grouping BGP-UPDERR-PROC-BAG { + description + "BGP Update error-handling Process information"; + container last-update-malformed-timestamp { + description + "Last malformed messages received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-error-handling-basic-ebgp { + type boolean; + description + "Is basic error-handling for EBGP enabled"; + } + leaf update-error-handling-basic-ibgp { + type boolean; + description + "Is basic error-handling for IBGP enabled"; + } + leaf update-error-handling-extended-ebgp { + type boolean; + description + "Is extended error-handling for EBGP enabled"; + } + leaf update-error-handling-extended-ibgp { + type boolean; + description + "Is extended error-handling for IBGP enabled"; + } + leaf update-malformed-message-count { + type uint32; + description + "BGP malformed messages received count update"; + } + leaf update-malformed-neighbor-count { + type uint32; + description + "Count of neighbors that received malformed + messages"; + } + leaf last-update-malformed-age { + type uint32; + units "second"; + description + "Time since last malformed messages received + event (in seconds)"; + } + } + + grouping BGP-EDM-RPKI-ROUTE { + description + "BGP EDM RPKI ROUTE"; + leaf af-name { + type Bgp-rpki-af; + description + "Address Family"; + } + leaf address { + type string; + description + "Address Prefix"; + } + leaf min-prefix-len { + type uint8; + description + "Minimum Prefix Length"; + } + leaf max-prefix-len { + type uint8; + description + "Maximum Prefix Length"; + } + leaf as { + type uint32; + description + "AS number"; + } + leaf server { + type string; + description + "Source Server"; + } + leaf stale { + type boolean; + description + "ROA is stale"; + } + leaf version { + type uint64; + description + "ROA version"; + } + } + + grouping BGP-RPKI-ROUTES-BAG { + description + "BGP RPKI ROUTES BAG"; + list rpki-route { + description + "Array or RPKI routes"; + uses BGP-EDM-RPKI-ROUTE; + } + } + + grouping BGP-EDM-GSHUT-IF-ENTRY { + description + "BGP EDM GSHUT IF ENTRY"; + container gshut-if-time-stamp { + description + "BGP gshut timestamp"; + uses BGP-TIMESPEC; + } + container gshut-if-age { + description + "BGP gshut if age"; + uses BGP-TIMESPEC; + } + leaf name { + type string; + description + "Name"; + } + } + + grouping BGP-GSHUT-IF-BAG { + description + "gshut interface information"; + container if-entry { + description + "The entry of gshut interface"; + uses BGP-EDM-GSHUT-IF-ENTRY; + } + } + + grouping BGP-EDM-GSHUT-LOC-ENTRY { + description + "BGP EDM GSHUT LOC ENTRY"; + container gshut-loc-time-stap { + description + "BGP gshut locationb timestamp"; + uses BGP-TIMESPEC; + } + container gshut-loc-age { + description + "BGP gshut location age"; + uses BGP-TIMESPEC; + } + leaf loc { + type uint32; + description + "BGP gshut location nodeif"; + } + } + + grouping BGP-GSHUT-LOC-BAG { + description + "gshut location information"; + container loc-entry { + description + "The entry of gshut location"; + uses BGP-EDM-GSHUT-LOC-ENTRY; + } + } + + grouping BGP-EDM-GSHUT-NBR-ALL-ENTRY { + description + "BGP EDM GSHUT NBR ALL ENTRY"; + container gshut-nbr-all-ts { + description + "BGP gshut nbr-all timestamp"; + uses BGP-TIMESPEC; + } + container gshut-nbr-all-age { + description + "BGP gshut nbr-all age"; + uses BGP-TIMESPEC; + } + leaf nbr-all { + type uint32; + description + "BGP gshut nbr-all entry"; + } + } + + grouping BGP-GSHUT-NBR-ALL-BAG { + description + "gshut nbr all information"; + container nbr-all-entry { + description + "The entry of gshut nbr all"; + uses BGP-EDM-GSHUT-NBR-ALL-ENTRY; + } + } + + grouping BGP-EDM-LABEL-STATS { + description + "BGP EDM LABEL STATS"; + leaf nbgp-label-alloc-type-gbl-ipv4 { + type uint32; + description + "nBGP LABEL ALLOC TYPE GBL IPv4"; + } + leaf nbgp-label-alloc-type-gbl-ipv6 { + type uint32; + description + "nBGP LABEL ALLOC TYPE GBL IPv6"; + } + leaf nbgp-label-alloc-type-vrf-ipv4 { + type uint32; + description + "nBGP LABEL ALLOC TYPE VRF IPv4"; + } + leaf nbgp-label-alloc-type-vrf-ipv6 { + type uint32; + description + "nBGP LABEL ALLOC TYPE VRF IPv6"; + } + leaf nbgp-label-alloc-type-ce-ipv4 { + type uint32; + description + "nBGP LABEL ALLOC TYPE CE IPv4"; + } + leaf nbgp-label-alloc-type-ce-ipv6 { + type uint32; + description + "nBGP LABEL ALLOC TYPE CE IPv6"; + } + leaf nbgp-label-alloc-type-tbl-ipv4 { + type uint32; + description + "nBGP LABEL ALLOC TYPE TBL IPv4"; + } + leaf nbgp-label-alloc-type-tbl-ipv6 { + type uint32; + description + "nBGP LABEL ALLOC TYPE TBL IPv6"; + } + leaf nbgp-label-alloc-type-vpn-ipv4 { + type uint32; + description + "nBGP LABEL ALLOC TYPE VPN IPv4"; + } + leaf nbgp-label-alloc-type-vpn-ipv6 { + type uint32; + description + "nBGP LABEL ALLOC TYPE VPN IPv6"; + } + leaf nbgp-label-alloc-type-asbr-nh { + type uint32; + description + "nBGP LABEL ALLOC TYPE ASBR NH"; + } + leaf nbgp-label-alloc-type-l2vpn-evpn { + type uint32; + description + "nBGP LABEL ALLOC TYPE L2VPN EVPN"; + } + leaf nbgp-labels { + type uint32; + description + "nBGP LABELS"; + } + leaf bgp-label-rpf-lists { + type uint32; + description + "The rpf lists associated withthe label"; + } + leaf bgp-label-rpf-nodes { + type uint32; + description + "The rpf nodes associated withthe label"; + } + } + + grouping BGP-LABEL-SUMMARY-BAG { + description + "BGP LABEL SUMMARY BAG"; + container stats { + description + "The statistics of the BGP label summary"; + uses BGP-EDM-LABEL-STATS; + } + } + + grouping BGP-EDM-RPKI-CACHE { + description + "BGP EDM RPKI CACHE"; + leaf name { + type string; + description + "Server Name"; + } + leaf preference { + type uint32; + description + "Server Preference"; + } + leaf port { + type uint32; + description + "Server TCP Port number"; + } + leaf state { + type Bgp-rpki-state; + description + "Server Internal State"; + } + leaf state-time { + type uint32; + description + "Server Internal State timestamp (unix time)"; + } + leaf shutdown { + type boolean; + description + "Server Shutdown"; + } + leaf retries { + type uint32; + description + "Number of connection retries"; + } + leaf close-reason { + type Bgp-rpki-creason; + description + "Server close reason"; + } + leaf close-time { + type uint32; + description + "Server close elapsed time"; + } + leaf close-time-real { + type uint32; + description + "Server close real timestamp (unix time)"; + } + leaf read-bytes { + type uint32; + units "byte"; + description + "Number of bytes read from the server"; + } + leaf write-bytes { + type uint32; + units "byte"; + description + "Number of bytes written to the server"; + } + leaf transport { + type uint32; + description + "Server transport type"; + } + leaf username { + type string; + description + "Server SSH username"; + } + leaf password { + type string; + description + "Server SSH password"; + } + leaf sshpid { + type uint32; + description + "Server SSH process ID"; + } + leaf proto-state { + type Bgp-rpki-pstate; + description + "Server Protocol state"; + } + leaf proto-state-time { + type uint32; + description + "Server Protocol state timestamp (unix time)"; + } + leaf serial { + type uint32; + description + "Server serial number"; + } + leaf nonce { + type uint32; + description + "Server nonce"; + } + leaf refresh-time { + type int32; + units "second"; + description + "Server refresh time (seconds)"; + } + leaf response-time { + type int32; + units "second"; + description + "Server response time (seconds)"; + } + leaf purge-time { + type int32; + units "second"; + description + "Server purge time (seconds)"; + } + leaf ipv4roa { + type uint32; + description + "Total IPv4 ROAs currently recv'd from server"; + } + leaf ipv4roa-announce { + type uint32; + description + "Total IPv4 ROAs announced by the server"; + } + leaf ipv4roa-withdraw { + type uint32; + description + "Total IPv4 ROAs withdrawn by the server"; + } + leaf ipv6roa { + type uint32; + description + "Total IPv6 ROAs currently recv'd from server"; + } + leaf ipv6roa-announce { + type uint32; + description + "Total IPv6 ROAs announced by the server"; + } + leaf ipv6roa-withdraw { + type uint32; + description + "Total IPv6 ROAs withdrawn by the server"; + } + leaf proto-error { + type Bgp-rpki-perror; + description + "Protocol Error Reason"; + } + leaf bindsrc { + type string; + description + "Server transport bind source "; + } + leaf identifier { + type uint8; + description + "Allocated Id"; + } + } + + grouping BGP-RPKI-CACHES-BAG { + description + "BGP RPKI CACHES BAG"; + list rpki-server { + description + "Array of RPKI servers"; + uses BGP-EDM-RPKI-CACHE; + } + } + + grouping BGP-ORR-GROUP-BASE-BAG { + description + "BGP GBL ORR Group Information"; + container orr-root-address { + description + "ORR Root Address"; + uses BGP-ADDRTYPE; + } + container orr-sec-root-address { + description + "ORR Sec Root Address"; + uses BGP-ADDRTYPE; + } + container orr-ter-root-address { + description + "ORR ter Root Address"; + uses BGP-ADDRTYPE; + } + leaf orr-group-name { + type string; + description + "ORR Group Name"; + } + leaf is-orr-group-ipv4 { + type boolean; + description + "Is v4 ORR group"; + } + leaf is-orr-global-defined { + type boolean; + description + "Is ORR group configured globally"; + } + leaf orrafi-ref-count { + type uint32; + description + "Number of used afis"; + } + leaf orr-tableid { + type uint32; + description + "ORR Group tableid"; + } + leaf flex-algo { + type uint32; + description + "Flex algo value"; + } + leaf is-orr-root-address-configured { + type boolean; + description + "ORR Root address configured"; + } + leaf is-orr-sec-root-address-configured { + type boolean; + description + "ORR Sec Root address configured"; + } + leaf is-orr-ter-root-address-configured { + type boolean; + description + "ORR Ter Root address configured"; + } + list used-af { + min-elements 25; + max-elements "25"; + description + "Is ORR group used by af"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + } + + grouping BGP-ATTRFILTER-ENTRY-BAG { + description + "BGP attribute-filter entry information"; + leaf attribute-filter-entry-requested-action { + type Bgp-bag-upd-filter-action; + description + "Requested filtering action"; + } + leaf attribute-filter-entry-range-start { + type uint32; + description + "Start of attribute range"; + } + leaf attribute-filter-entry-range-end { + type uint32; + description + "End of attribute range"; + } + } + + grouping BGP-ATTRFILTER-GROUP-BAG { + description + "BGP attribute-filter group information"; + leaf attribute-filter-group-name { + type string; + description + "String for BGP attribute-filter group name"; + } + leaf attribute-filter-total-group-count { + type uint32; + description + "Total number of attriute-filter groups"; + } + list attribute-filter-entry { + description + "List of attriute-filter entries"; + uses BGP-ATTRFILTER-ENTRY-BAG; + } + } + + grouping BGP-EDM-LABEL-ENTRY { + description + "BGP EDM LABEL ENTRY"; + leaf label { + type uint32; + description + "The label of the BGP edm entry"; + } + leaf rds { + type string; + description + "The BGP edm route-distinguishers"; + } + leaf vrf { + type string; + description + "The BGP external data manager labelvirtual + routing and forwarding"; + } + leaf ip { + type inet:ipv4-address; + description + "The ip address of the BGP edm label"; + } + leaf ip6 { + type inet:ipv6-address; + description + "The ipv6 address of the BGP edm label"; + } + leaf rpc-set-id { + type uint32; + description + "The id of the rpc set"; + } + leaf masklen { + type uint16; + description + "The length of the mask"; + } + leaf ts-sec { + type uint32; + units "second"; + description + "The timestamp of the label allocationin seconds"; + } + leaf ts-ssec { + type uint32; + units "second"; + description + "The timestamp of the label allocationin + subseconds"; + } + leaf info { + type uint16; + description + "The BGP edm label entry information"; + } + leaf refcount { + type uint32; + description + "The number of references updated"; + } + leaf inactive { + type boolean; + description + "Flag to indicate BGP edm label entryis inactive"; + } + } + + grouping BGP-LABEL-BAG { + description + "BGP LABEL BAG"; + container entry { + description + "The entry for the BGP label"; + uses BGP-EDM-LABEL-ENTRY; + } + } + + grouping BGP-EDM-RT-ENTRY { + description + "BGP EDM RT ENTRY"; + leaf route-target { + type string; + description + "VRF Route Target value"; + } + } + + grouping BGP-VRF-RT-BAG { + description + "BGP VRF RT BAG"; + container rt { + description + "BGP virtual routing andforwarding route target"; + uses BGP-EDM-RT-ENTRY; + } + leaf afs { + type string; + description + "Address-families of BGPvrf route target"; + } + } + + grouping BGP-EDM-VRF-DB-VRF-TBL-ENTRY { + description + "BGP EDM VRF DB VRF TBL ENTRY"; + leaf name { + type string; + description + "name"; + } + leaf af { + type int32; + description + "af"; + } + leaf id { + type uint32; + description + "id"; + } + leaf index { + type uint8; + description + "index"; + } + leaf rsi-handle { + type uint64; + description + "rsi handle"; + } + leaf reg-pending { + type boolean; + description + "reg pending"; + } + leaf refcount { + type uint32; + description + "refcount"; + } + leaf import-policy { + type string; + description + "import policy"; + } + leaf export-policy { + type string; + description + "export policy"; + } + list import-rt { + description + "import rt"; + leaf entry { + type uint64; + description + "import rt"; + } + } + list export-rt { + description + "export rt"; + leaf entry { + type uint64; + description + "export rt"; + } + } + list import-rt-s { + description + "import rt s"; + leaf entry { + type uint64; + description + "import rt s"; + } + } + list export-rt-s { + description + "export rt s"; + leaf entry { + type uint64; + description + "export rt s"; + } + } + } + + grouping BGP-VRF-DB-VRF-TBL-BAG { + description + "BGP VRF DB VRF TBL BAG"; + container entry { + description + "entry"; + uses BGP-EDM-VRF-DB-VRF-TBL-ENTRY; + } + } + + grouping BGP-SRV6-SID-MANAGER-BAG { + description + "SRv6 SID Manager information"; + container first-sid-mgr-connection-up-time-stamp { + description + "First SID Manager Connection Up time"; + uses BGP-TIMESPEC; + } + container last-sid-mgr-connection-up-time-stamp { + description + "Last SID Manager Connection Up time"; + uses BGP-TIMESPEC; + } + container first-sid-mgr-connection-down-time-stamp { + description + "First SID Manager Connection Down time"; + uses BGP-TIMESPEC; + } + container last-sid-mgr-connection-down-time-stamp { + description + "Last SID Manager Connection Down time"; + uses BGP-TIMESPEC; + } + leaf sid-mgr-connection-up-count { + type uint32; + description + "Numer of SID Manager Up events"; + } + leaf last-sid-mgr-connection-up-age { + type uint32; + units "second"; + description + "Time since last SID Manager Connection Up event + in seconds"; + } + leaf sid-mgr-connection-down-count { + type uint32; + description + "Numer of SID Manager Down events"; + } + leaf last-sid-mgr-connection-down-age { + type uint32; + units "second"; + description + "Time since last SID Manager Connection Down + event in seconds"; + } + leaf sid-mgr-alive { + type boolean; + description + "SID Manager connection is Up"; + } + } + + grouping BGP-EDM-LOCATOR-ENTRY { + description + "BGP EDM LOCATOR ENTRY"; + leaf locator-name { + type string; + description + "The name of the BGP edmlocator"; + } + leaf locator-id { + type uint32; + description + "Locator Id"; + } + leaf locator-address { + type Ipv6-address; + description + "The address of the BGP locator"; + } + leaf locator-address-len { + type uint8; + description + "The length of the BGP locatoraddress"; + } + leaf operation { + type uint32; + description + "Locator operation"; + } + leaf oor-state { + type boolean; + description + "Locator OOR"; + } + leaf locator-format { + type uint32; + description + "Locator Format"; + } + leaf is-locator-active { + type boolean; + description + "Locator State"; + } + } + + grouping BGP-SRV6-LOCATOR-BAG { + description + "SRv6 Locator information"; + container entry { + description + "The entry of the BGP srv6 locator"; + uses BGP-EDM-LOCATOR-ENTRY; + } + } + + grouping BGP-SRV6-SUMMARY-BAG { + description + "SRv6 summary information"; + leaf locator-count { + type uint32; + description + "Number of locators in bgp"; + } + leaf srv6-enabled { + type boolean; + description + "Flag to indicate SRv6 is enabled"; + } + leaf stale { + type boolean; + description + "stale"; + } + leaf update-count { + type uint32; + description + "number of SIDMGR updates"; + } + } + + grouping BGP-UPDFILTER-PROC-BAG { + description + "BGP Update filtering Process information"; + container last-update-filtered-timestamp { + description + "Last filtered messages received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-filtered-message-count { + type uint32; + description + "The number of messages filtered"; + } + leaf update-filtered-neighbor-count { + type uint32; + description + "Count of neighbors that received filtered + messages"; + } + leaf last-update-filtered-age { + type uint32; + units "second"; + description + "Time since last filtered messages received event + (in seconds)"; + } + } + + grouping BGP-NBR-MSG { + description + "Neighbor In/Out Message entry"; + container message-timestamp { + description + "message received time: time elapsed since 00:00 + :00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf message-type-received { + type uint8; + description + "Type of messages Received"; + } + leaf total-logged-message-count { + type uint32; + description + "Number of total logged messages"; + } + leaf message-data-length { + type uint16; + description + "Length of the BGP message"; + } + list logged-message-data { + description + "Raw Message data in binary format"; + leaf entry { + type uint8; + description + "Raw Message data in binary format"; + } + } + } + + grouping BGP-MSGLOG-NBR-BAG { + description + "BGP Message logging Neighbor information"; + list neighbor-message { + description + "Array of Neighbor Messages in one direction"; + uses BGP-NBR-MSG; + } + } + + grouping BGP-NBR-INSTANCE { + description + "Dynamic Neighbor Instance"; + container neighbor-address { + description + "Dynamic Neighbor address"; + uses BGP-ADDRTYPE; + } + container neighbor-age { + description + "Age of the BGP neighbor"; + uses BGP-TIMESPEC; + } + container idle-watch-timer-remaining-value { + description + "Remaining time in idle watch timer"; + uses BGP-TIMESPEC; + } + leaf is-idle-watch-timer-running { + type boolean; + description + "Flag to indicate if idle watch timer is running"; + } + leaf connection-state { + type Bgp-conn-state; + description + "State of connection"; + } + } + + grouping BGP-NBR-RANGE-AF { + description + "BGP neighbor address family specific information"; + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf is-neighbor-route-reflector-client { + type boolean; + description + "Nbr is a route reflector client"; + } + leaf is-legacy-pe-rt { + type boolean; + description + "Nbr accepts route from legacy PE for + RT-Constraint AF "; + } + leaf is-neighbor-af-capable { + type boolean; + description + "Address family capability received from neighbor"; + } + leaf is-soft-reconfiguration-inbound-allowed { + type boolean; + description + "Inbound soft reconfiguration allowed"; + } + leaf is-use-soft-reconfiguration-always-on { + type boolean; + description + "Soft reconf overrides route refresh"; + } + leaf remove-private-as-from-updates { + type boolean; + description + "Private AS numbers removed from updates to this + nbr"; + } + leaf remove-private-as-entire-aspath-from-updates { + type boolean; + description + "Private AS numbers removed from updates to + thisnbr only if the aspath hasonly private ASes"; + } + leaf remove-private-as-from-inbound-updates { + type boolean; + description + "Private AS numbers removed from updates from + this nbr"; + } + leaf remove-private-as-entire-aspath-from-inbound-updates { + type boolean; + description + "Private AS numbers removed from updates from + this nbr only if the aspath has only private + ASes"; + } + leaf flowspec-validation-d-isable { + type boolean; + description + "Flag to indicate if flowspec validation is + disabled"; + } + leaf flowspec-redirect-validation-d-isable { + type boolean; + description + "Flag to indicate if flowspec redirect validation + is disabled"; + } + leaf orr-group-name { + type string; + description + "ORR Group Name"; + } + leaf orr-group-index { + type uint32; + description + "ORR Group Index"; + } + leaf is-orr-root-address-configured { + type boolean; + description + "ORR Root address configuredfor the neighbor + connection"; + } + leaf advertise-afi { + type boolean; + description + "Encode in Advertise AFI"; + } + leaf advertise-afi-reorg { + type boolean; + description + "Encode in Advertise AFI"; + } + leaf advertise-afi-local { + type boolean; + description + "Encode in Advertise AFI"; + } + leaf advertise-afi-disable { + type boolean; + description + "Encode in Advertise AFI"; + } + leaf always-use-next-hop-local { + type boolean; + description + "Local router always used for next-hop"; + } + leaf next-hop-unchanged { + type boolean; + description + "router does not change next-hop"; + } + leaf sent-community-to-neighbor { + type boolean; + description + "Community attribute sent to neighbor"; + } + leaf sent-gshut-community-to-neighbor { + type boolean; + description + "GSHUT Community attribute sent to neighbor"; + } + leaf sent-extended-community-to-neighbor { + type boolean; + description + "Extended community attribute sent to neighbor"; + } + leaf neighbor-default-originate { + type boolean; + description + "Neighbor originates default"; + } + leaf is-orf-sent { + type boolean; + description + "Outbound route filter sent to neighbor"; + } + leaf is-update-deferred { + type boolean; + description + "Update deferred until ORF/route refresh received"; + } + leaf is-orf-send-scheduled { + type boolean; + description + "Scheduled to send prefix based ORF"; + } + leaf vpn-update-gen-enabled { + type boolean; + description + "RT Nbr enabled for updategento another"; + } + leaf vpn-update-gen-trigger-enabled { + type boolean; + description + "RT Nbr enabled for updategento another"; + } + leaf is-addpath-send-operational { + type boolean; + description + "Addpath is operational on send-side"; + } + leaf is-addpath-receive-operational { + type boolean; + description + "Addpath is operational on receive-side"; + } + leaf weight { + type uint32; + description + "Weight for this AF"; + } + leaf max-prefix-limit { + type uint32; + description + "Max limit for # of prefixes"; + } + leaf use-max-prefix-warning-only { + type boolean; + description + "Warning only when maximum prefix limit reached"; + } + leaf max-prefix-discard-extra-paths { + type boolean; + description + "Discard extra paths when prefix limit reached"; + } + leaf max-prefix-exceed-discard-paths { + type boolean; + description + "Did we discard extra paths when prefix limit + reached"; + } + leaf max-prefix-threshold-percent { + type uint8; + units "percentage"; + description + "Percentage of maximum no. of prefixes at which + to generate warning"; + } + leaf max-prefix-discard-paths-count { + type uint32; + description + "Number of discarded paths after prefix limit + reached"; + } + leaf max-prefix-restart-time { + type uint16; + units "minute"; + description + "Time interval (in minutes) after which peering + session will be reestablished"; + } + leaf is-peer-orf-capable { + type boolean; + description + "Peer has outbound route filter capability"; + } + leaf is-advertised-orf-send { + type boolean; + description + "Prefix based ORF send mode capability advertised"; + } + leaf is-received-orf-send-capable { + type boolean; + description + "Prefix based ORF send mode capability received"; + } + leaf is-advertised-orf-receive { + type boolean; + description + "Prefix based ORF receive mode capability + advertised"; + } + leaf is-received-orf-receive-capable { + type boolean; + description + "Prefix based ORF receive mode capability + received"; + } + leaf is-advertised-graceful-restart { + type boolean; + description + "Graceful Restart Capability advertised"; + } + leaf is-graceful-restart-state-flag { + type boolean; + description + "Restart state flag enabled"; + } + leaf is-received-graceful-restart-capable { + type boolean; + description + "Graceful Restart Capability received"; + } + leaf is-add-path-send-capability-advertised { + type boolean; + description + "Flag to indicate if addpath send capability is + advertised"; + } + leaf is-add-path-send-capability-received { + type boolean; + description + "Flag to indicate if addpath send capability is + received"; + } + leaf is-add-path-receive-capability-advertised { + type boolean; + description + "Flag to indicate whetheraddpath receive + capabilityadvertised"; + } + leaf is-add-path-receive-capability-received { + type boolean; + description + "Flag to indicate whether addpathreceive + capability received"; + } + leaf restart-time { + type uint32; + units "second"; + description + "Restart time advertised (seconds)"; + } + leaf local-restart-time { + type uint32; + units "second"; + description + "Local Restart time (seconds)"; + } + leaf stale-path-timeout { + type uint32; + units "second"; + description + "Stale path timeout time (in seconds)"; + } + leaf rib-purge-timeout-value { + type uint32; + units "second"; + description + "RIB purge timeout time (in seconds)"; + } + leaf neighbor-preserved-forwarding-state { + type boolean; + description + "Flag to indicate if BGP neighbor is preserved in + forwarding state"; + } + leaf long-lived-graceful-restart-stale-time-configured { + type boolean; + description + "Flag to indicate whether long-lived + graceful-restart stale time is configured"; + } + leaf retention-stale-time-configured { + type boolean; + description + "Flag to indicate whether Retention stale time is + configured"; + } + leaf retention-policy { + type string; + description + "Retention Policy"; + } + leaf retention-stale-time { + type uint32; + description + "Stale time Configured for Route Retention"; + } + leaf long-lived-graceful-restart-stale-time-sent { + type uint32; + units "second"; + description + "Stale time sent in long-lived graceful-restart + capability (seconds)"; + } + leaf long-lived-graceful-restart-stale-time-accept { + type uint32; + units "second"; + description + "Maximum long-lived graceful-restart stale time + acceptable from the neighbor (seconds)"; + } + leaf long-lived-graceful-restart-capability-received { + type boolean; + description + "Flag to indicate whether long-livedgraceful + restart capability received from the neighbor"; + } + leaf long-lived-graceful-restart-stale-time-received { + type uint32; + units "second"; + description + "Long-lived graceful-restart stale time received + from the neighbor (seconds)"; + } + leaf neighbor-preserved-long-lived-forwarding-state { + type boolean; + description + "Flag to indicate whether neighbor preserved + long-lived forwarding state"; + } + leaf neighbor-long-lived-graceful-restart-capable { + type boolean; + description + "Flag to indicate whether treat neighbor as + long-lived graceful-restart capable"; + } + leaf neighbor-long-lived-graceful-restart-time-remaining { + type uint32; + description + "Remaining long-lived graceful-restart time"; + } + leaf is-prefix-orf-present { + type boolean; + description + "Outbound route filter prefix ORF present"; + } + leaf orf-entries-received { + type uint32; + description + "Number of outbound route filter entries received"; + } + leaf route-policy-prefix-orf { + type string; + description + "Prefix based ORF for incoming updates"; + } + leaf route-policy-in { + type string; + description + "Incoming route policy name"; + } + leaf route-policy-out { + type string; + description + "Outgoing route policy name"; + } + leaf route-policy-default-originate { + type string; + description + "Default-originate route policy name"; + } + leaf is-neighbor-ebgp-without-inbound-policy { + type boolean; + description + "eBGP neighbor with no configured inbound policy"; + } + leaf is-neighbor-ebgp-without-outbound-policy { + type boolean; + description + "eBGP neighbor with no configured outbound policy"; + } + leaf is-upd-orig-loopchk-disable-set { + type boolean; + description + "Flag to indicate for update out originator + loopcheck disable is set"; + } + leaf is-as-override-set { + type boolean; + description + "Flag to indicate if As-override is set"; + } + leaf is-allow-as-in-set { + type boolean; + description + "Allowas-in set "; + } + leaf allow-as-in-count { + type uint32; + description + "Allowas-in count config"; + } + leaf address-family-long-lived-time { + type uint32; + description + "AF specific Long-lived-time config"; + } + leaf is-aigp-set { + type boolean; + description + "AIGP set "; + } + leaf is-rt-present { + type boolean; + description + "RT attribute list present"; + } + leaf is-rt-present-standby { + type boolean; + description + "RT attribute list present"; + } + leaf accept-own-enabled { + type boolean; + description + "Flag to indicate if accept-Own is enabled"; + } + leaf selective-multipath-eligible { + type boolean; + description + "Flag to indicate if selective multipath is + eligible"; + } + leaf afrpki-disable { + type boolean; + description + "Prefix validation disabled"; + } + leaf afrpki-use-validity { + type boolean; + description + "Prefix v. use validity"; + } + leaf afrpki-allow-invalid { + type boolean; + description + "Prefix v. allow invalid"; + } + leaf afrpki-signal-ibgp { + type boolean; + description + "Prefix v. signal ibgp"; + } + leaf is-advertise-permanent-network { + type boolean; + description + "Flag to indicate if advertise permanent network + is enabled"; + } + leaf is-send-mcast-attr { + type boolean; + description + "Send Mcast Attr"; + } + leaf import-stitching { + type boolean; + description + "Import Stitching enabled"; + } + leaf import-reoriginate { + type boolean; + description + "Import Reoriginate enabled"; + } + leaf import-reoriginate-stitching { + type boolean; + description + "Import Reoriginate Stitching enabled"; + } + leaf advertise-v4-flags { + type uint32; + description + "Advertise options for VPNV4"; + } + leaf advertise-v6-flags { + type uint32; + description + "Advertise options for VPNV6"; + } + leaf enable-label-stack { + type boolean; + description + "Flag to indicate if label stack is enabled"; + } + list extended-community { + description + "Extended community attribute"; + leaf entry { + type uint8; + description + "Extended community attribute"; + } + } + list extended-community-standby { + description + "Extended community attribute"; + leaf entry { + type uint8; + description + "Extended community attribute"; + } + } + } + + grouping BGP-NBR-RANGE-BAG { + description + "BGP Neighbor Range Information"; + container connection-local-address { + description + "Local address for the connection"; + uses BGP-ADDRTYPE; + } + container connection-remote-address { + description + "Remote address for the connection"; + uses BGP-ADDRTYPE; + } + container graceful-maintenance { + description + "BGP connection of graceful shutdown"; + uses BGP-NBR-GSHUT; + } + container cfg-local-address { + description + "Configured local address"; + uses BGP-ADDRTYPE; + } + container local-address-subnet { + description + "Subnet for the BGP local address"; + uses BGP-ADDRTYPE; + } + leaf speaker-id { + type uint8; + description + "Speaker this neighbor is allocated to"; + } + leaf description { + type string; + description + "Description of the BGP neighbor"; + } + leaf local-as { + type uint32; + description + "Local AS number"; + } + leaf remote-as { + type uint32; + description + "Remote AS number"; + } + leaf has-internal-link { + type boolean; + description + "Internal link to neighbor"; + } + leaf is-local-address-configured { + type boolean; + description + "Local address configured for the neighbor + connection"; + } + leaf neighbor-range-prefix-length { + type uint8; + description + "Length of the BGP neighbor prefix"; + } + leaf is-administratively-shut-down { + type boolean; + description + "Flag to indicate if neighbor is administratively + shutdown"; + } + leaf is-neighbor-max-prefix-shutdown { + type boolean; + description + "Neighbor shut down because it exceeded max prfx + count"; + } + leaf is-out-of-memory-forced-up { + type boolean; + description + "Neighbor forced up during a low memory condition"; + } + leaf ttl-security-enabled { + type boolean; + description + "TTL Security enabled"; + } + leaf suppress4-byte-as { + type boolean; + description + "Suppress 4byteas capability"; + } + leaf bfd-session-enable-mode { + type Bgp-bfd-enable-mode; + description + "BFD enable mode for this peer"; + } + leaf bfd-minintervalval { + type uint32; + description + "BFD Mininterval for this peer"; + } + leaf bfd-multiplierval { + type uint32; + description + "BFD Multiplier for this peer"; + } + leaf ebgp-time-to-live { + type uint32; + description + "Maximum number of hops for external BGP neighbor"; + } + leaf is-ebgp-multihop-bgp-mpls-forwarding-disabled { + type boolean; + description + "If true, MPLS and NULL rewrite is disabled; if + false, it is enabled"; + } + leaf tcpmss { + type uint32; + description + "Neighbor TCP Maximum Segment + size"; + } + leaf msg-log-in { + type uint32; + description + "Message in log count"; + } + leaf msg-log-out { + type uint32; + description + "Message out log count"; + } + leaf neighbor-local-as { + type uint32; + description + "Local AS configured on the neighbor"; + } + leaf local-as-no-prepend { + type boolean; + description + "Option to not prepend the Local AS to + announcements"; + } + leaf merge-inbound-safi1and4-updates { + type boolean; + description + "Merge SAFI-1 and SAFI-4 updates from neighbor"; + } + leaf is-capability-negotiation-performed { + type boolean; + description + "Flag to indicate if BGP neighbor capability + negotiation is performed"; + } + leaf configured-hold-time { + type uint16; + units "second"; + description + "Hold time (in secs) configured for this + connection"; + } + leaf configured-keepalive { + type uint16; + units "second"; + description + "Keepalive time (in secs) configured for this + connection"; + } + leaf configured-min-acc-hold-time { + type uint16; + units "second"; + description + "Minimum acceptable hold time from neighbor (in + secs) configured for this connection"; + } + leaf min-advertise-interval { + type uint32; + units "second"; + description + "Minimum advertisement interval, secs part"; + } + leaf min-advertise-interval-msecs { + type uint32; + units "millisecond"; + description + "Minimum advertisement interval, msecs part"; + } + leaf min-origination-interval { + type uint16; + units "second"; + description + "Minimum origination interval (in secs)"; + } + leaf remote-as-number { + type uint32; + description + "AS number of the neighbor"; + } + leaf dmz-link-bandwidth { + type uint32; + description + "Bandwidth of link to single-hop eBGP peer"; + } + leaf ebgp-recv-dmz { + type boolean; + description + "Receive Bandwidth of link to single-hop eBGP + peer"; + } + leaf ebgp-send-dmz-mode { + type Bgp-ebgp-send-dmz-enable-mode; + description + "Ebgp send dmz link bw mode"; + } + leaf tos-type { + type uint8; + description + "Precedence or DSCP type"; + } + leaf tos-value { + type uint8; + description + "Precedence or DSCP value"; + } + leaf tcp-session-open-mode { + type Bgp-tcp-mode; + description + "The TCP mode to be used to set up BGP session + with the neighbor"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf standby-rp { + type boolean; + description + "Standby RP socket inited for Active Open"; + } + leaf nsr-enabled { + type boolean; + description + "Neighbor supports NSR"; + } + leaf graceful-restart-enabled-nbr { + type boolean; + description + "Neighbor supports graceful-restart"; + } + leaf gr-restart-time { + type uint32; + units "second"; + description + "Neighbor restart time (in seconds)"; + } + leaf gr-stale-path-time { + type uint32; + units "second"; + description + "Neighbor stale-path time (in seconds)"; + } + leaf is-passive-close { + type boolean; + description + "If true, active socket canbe closed if passive + openis received for a GRcapable neighbor"; + } + leaf nbr-enforce-first-as { + type boolean; + description + "Neighbor enforce first AS"; + } + leaf active-bmp-servers { + type uint8; + description + "BMP Servers to which the neighbor sends logs"; + } + leaf nbr-cluster-id { + type uint32; + description + "Cluster id"; + } + leaf nbr-in-cluster { + type uint8; + description + "Type of cluster_id:undefined/number/Ip address"; + } + leaf ignore-connected { + type boolean; + description + "If true, the VPN client isan IBGP CE peer"; + } + leaf internal-vpn-client { + type boolean; + description + "If true, don't do NHconnected check for nbr"; + } + leaf local-as-replace-as { + type boolean; + description + "Local AS Replace-AS option"; + } + leaf local-as-dual-as { + type boolean; + description + "Local AS Dual-AS option"; + } + leaf local-as-dual-as-mode-native { + type boolean; + description + "Applies only if Local AS Dual-AS option is + enabled. Indicates if Dual-AS mode is native."; + } + leaf egress-peer-engineering-enabled { + type boolean; + description + "Indicates if Egress Peer Engineering is enabled"; + } + leaf discard-as4-path { + type uint32; + description + "Discard AS4_PATH in case there is a discrepancy + in merging AS_PATH and AS4_PATH,retain ASPATH"; + } + leaf rpki-disable { + type boolean; + description + "Prefix validation disabled"; + } + leaf rpki-use-validity { + type boolean; + description + "Prefix v. use validity"; + } + leaf rpki-allow-invalid { + type boolean; + description + "Prefix v. allow invalid"; + } + leaf rpki-signal-ibgp { + type boolean; + description + "Prefix v. signal ibgp"; + } + leaf remote-as-list-name { + type string; + description + "Remote AS List Name"; + } + leaf nbr-rcv-size { + type uint32; + description + "Nbr Receive Size"; + } + leaf nbr-send-size { + type uint32; + description + "Nbr Send Size"; + } + leaf islocal-address-cfg { + type boolean; + description + "Local address configured"; + } + leaf update-source { + type string; + description + "Interface to get the local IP address for the + BGP session"; + } + leaf is-local-addr-subnet-cfg { + type boolean; + description + "Flag to indicate if local-address-subnet is + configured"; + } + leaf local-address-subnet-len { + type uint32; + description + "Length of subnet for BGP local address"; + } + leaf addpath-send-enable { + type boolean; + description + "Flag to indicate if addpath send functionality + is enabled"; + } + leaf addpath-receive-enable { + type boolean; + description + "Flag to indicate if addpath receive + functionality is enabled"; + } + leaf addpath-send-disable { + type boolean; + description + "Flag to indicate addpath send functionality is + disabled"; + } + leaf addpath-receive-disable { + type boolean; + description + "Flag indicates if addpath receive functionality + is disabled"; + } + leaf upd-errh-noreset { + type boolean; + description + "Update error handling configuration for C1 + category errors"; + } + leaf msg-buf-count { + type uint32; + description + "Message Buf Count"; + } + leaf msg-bug-circular { + type boolean; + description + "Message Buf Circular"; + } + leaf syslog-enable { + type boolean; + description + "Flag to indicate if syslog should be output when + an attribute filter is executed"; + } + leaf oper-attrf-enable { + type boolean; + description + "Flag to indicate if operational attribute filter + is enabled"; + } + leaf attrf-group-name { + type string; + description + "Name of the attribute filter group Name"; + } + leaf max-peers { + type uint32; + description + "Max Dynamic nbrs in range"; + } + leaf idle-watch-time { + type uint32; + units "second"; + description + "Dynamic Neighbor idle-watch time (in seconds)"; + } + leaf current-peers { + type uint32; + description + "Current Dynamic nbrs in range"; + } + leaf range-open-match { + type uint32; + description + "Passive open matching range"; + } + leaf range-open-accepted { + type uint32; + description + "BGP neighbor passive session accepted"; + } + leaf range-max-drop { + type uint32; + description + "open drop due to max peers"; + } + leaf range-inst-error { + type uint32; + description + "Error during instance creation"; + } + list af-data { + max-elements "25"; + description + "Address family specific neighbor data"; + uses BGP-NBR-RANGE-AF; + } + list instance { + description + "Dynamic Neighbor Instance List"; + uses BGP-NBR-INSTANCE; + } + } + + grouping BGP-NEXTHOP-VRF-BAG { + description + "BGP nexthop processing information for a VRF"; + leaf total-processing-time { + type uint32; + description + "Total time spent in processing"; + } + leaf max-proc-notification-time { + type uint32; + description + "How long since the maximum processing time + notifcation was received"; + } + leaf max-notification-bestpath-deletes { + type uint32; + description + "Number of bestpath deletes caused by + notification which resulted in maximum + processing"; + } + leaf max-notification-bestpath-changes { + type uint32; + description + "Number of bestpath changes caused by + notification which resulted in maximum + processing"; + } + leaf maximum-processing-time { + type uint32; + description + "Maximum time spent procesing a single batch + notification"; + } + leaf last-notificationication-time { + type uint32; + description + "Time since the last notification was received"; + } + leaf last-notification-processing-time { + type uint32; + description + "Processing time for the last notification"; + } + } + + grouping BGP-PERF-PROCESS-VRF { + description + "BGP PERF PROCESS VRF"; + leaf lpts-set-up-time { + type uint32; + description + "Time spent setting up LPTS socket opt (ms)"; + } + leaf lpts-calls { + type uint32; + description + "Number of times LPTS socket opt set up"; + } + leaf read-throttles-count { + type uint32; + description + "Number of partial read throttles"; + } + leaf low-throttled-read-count { + type uint32; + description + "Number of socket reads for nbrs above low + threshold"; + } + leaf high-throttled-read-count { + type uint32; + description + "Number of socket reads for nbrs above high + threshold"; + } + leaf read-calls-count { + type uint32; + description + "No. of calls to function to read inbound data"; + } + leaf read-messages-count { + type uint32; + description + "Number of BGP messages read"; + } + leaf data-bytes-read { + type uint32; + units "byte"; + description + "No. of bytes of data read"; + } + leaf io-read-time { + type uint32; + description + "Time spent reading inbound data (ms)"; + } + leaf write-calls-count { + type uint32; + description + "No. of calls to function to write outbound data"; + } + leaf data-bytes-written { + type uint32; + units "byte"; + description + "Number of bytes of data written"; + } + leaf io-write-time { + type uint32; + description + "Time spent writing outbound data (ms)"; + } + leaf write-subgroup-calls-count { + type uint32; + description + "No. of calls to to funvction to process + sub-group message list"; + } + leaf write-subgroup-messages-count { + type uint32; + description + "Number of sub-group messages processed"; + } + leaf subgroup-list-time { + type uint32; + units "millisecond"; + description + "Time spent processing sub-group message list + (milliseconds)"; + } + leaf write-queue-calls-count { + type uint32; + description + "No. of Calls to function to process write queue"; + } + leaf write-queue-messages-count { + type uint32; + description + "Number of write queue messages processed"; + } + leaf write-queue-time { + type uint32; + description + "Time spent processing write queue (ms)"; + } + leaf inbound-update-messages { + type uint32; + description + "Number of inbound update messages processed"; + } + leaf inbound-update-messages-time { + type uint32; + units "millisecond"; + description + "Time spent processing imbound update messages + (milliseconds)"; + } + } + + grouping BGP-ISSU-MILESTONE-BAG { + description + "BGP ISSU MILESTONE BAG"; + leaf milestone-name { + type string; + description + "Name of the in-service software upgrade (ISSU) + milestone"; + } + leaf milestone-start-timestamp { + type uint32; + description + "Timestamp for the ISSU milestone start"; + } + leaf milestone-met-timestamp { + type uint32; + description + "Timestamp when ISSU milestone met"; + } + } + + grouping BGP-PERF-NPL-ENDP-INFO-BAG { + description + "BGP PERF NPL ENDP INFO BAG"; + leaf endpoint-name { + type string; + description + "BGP NPL endpoint name"; + } + leaf sync-group-name { + type string; + description + "Syncgroup associated with this endpoint"; + } + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + leaf endpoint-handle { + type uint64; + description + "Handle to end-point for NCD communication"; + } + leaf endpoint-stale-flag { + type boolean; + description + "Flag to indicate if endpoint is stale"; + } + leaf endpoint-issu-role { + type string; + description + "Endpoint's ISSU Role. Values are 'Primary', + 'Secondary' and 'Tertiary'"; + } + leaf endpoint-active-flag { + type boolean; + description + "Flag to indicate if endpoint is active"; + } + leaf msg-size { + type uint32; + description + "Message size for this entity"; + } + leaf wheel-id { + type uint32; + description + "Wheel ID for this endpoint"; + } + leaf expected-sequence-num { + type uint32; + description + "BGP NPL sequence number expected"; + } + leaf last-sent-sequence-num { + type uint32; + description + "Last sent Sequence Num"; + } + leaf npl-initial-sequence-num { + type uint32; + description + "NPL Initial Sequence Num"; + } + list endpoint { + description + "NCD endpoint bytestream"; + leaf entry { + type uint8; + units "byte"; + description + "NCD endpoint bytestream"; + } + } + } + + grouping NSR-PL-RECV-DROP-ARRAY { + description + "Drop count while receiving messages"; + list nsr-pl-recv-drop-array { + max-elements "16"; + description + "nsr pl recv drop array"; + leaf entry { + type uint32; + description + "entry"; + } + } + } + + grouping NSR-PL-SEND-DROP-ARRAY { + description + "Drop count while sending messages"; + list nsr-pl-send-drop-array { + max-elements "7"; + description + "nsr pl send drop array"; + leaf entry { + type uint32; + description + "entry"; + } + } + } + + grouping NSR-PL-CLIENT-STATS-TYPE { + description + "NSR PL stats information"; + leaf prio-queue-level { + type string { + length "0..32"; + } + description + "npl priority queue level"; + } + list num-sent { + max-elements "5"; + description + "Total sent"; + leaf entry { + type uint64; + description + "Total sent"; + } + } + list num-recv { + max-elements "6"; + description + "Total recvd"; + leaf entry { + type uint64; + description + "Total recvd"; + } + } + list num-sent-drop { + max-elements "5"; + description + "Sent Error/drops"; + uses NSR-PL-SEND-DROP-ARRAY; + } + list num-recv-drop { + max-elements "6"; + description + "Recv Errors/drops"; + uses NSR-PL-RECV-DROP-ARRAY; + } + } + + grouping BGP-PERF-DS-NPL-INFO-BAG { + description + "BGP PERF DS NPL INFO BAG"; + leaf dir-service-conn-state { + type Bgp-ds-conn-state; + description + "Current Directory Service connectionstate"; + } + leaf issu-mgr-conn-state { + type Bgp-ism-conn-state; + description + "Current ISSU Mgr connection state"; + } + leaf issu-phase { + type string; + description + "Current ISSU Phase"; + } + leaf issu-type-ng { + type boolean; + description + "ISSU type is Next Gen"; + } + leaf issuha-option { + type string; + description + "Current ISSU HA option"; + } + leaf local-ds-handle { + type uint64; + description + "Local Directory Service handle"; + } + leaf service-name { + type string; + description + "Local DS service name"; + } + leaf dsissu-status-flag { + type uint32; + description + "DS ISSU status flag"; + } + list npl-priority-statistic { + max-elements "2"; + description + "Stats for BGP NPL priority"; + uses NSR-PL-CLIENT-STATS-TYPE; + } + list npl-endpoint { + description + "NPL endpoint information"; + uses BGP-PERF-NPL-ENDP-INFO-BAG; + } + } + + grouping BGP-PERF-SERVER-CONN-STAT-BAG { + description + "BGP PERF SERVER CONN STAT BAG"; + container first-connection-up-timestamp { + description + "Timestamp for first connection up"; + uses BGP-TIMESPEC; + } + container last-connection-up-timestamp { + description + "Timestamp for last connection Up"; + uses BGP-TIMESPEC; + } + container first-connection-down-timestamp { + description + "Timestamp for first connection down"; + uses BGP-TIMESPEC; + } + container last-connection-down-timestamp { + description + "Timestamp for last connection down"; + uses BGP-TIMESPEC; + } + leaf is-connection-up { + type boolean; + description + "Is Connection Up?"; + } + leaf connection-up-count { + type uint32; + description + "Number of connection Up events"; + } + leaf last-connection-up-age { + type uint32; + units "second"; + description + "Time since last connection Up event (in seconds)"; + } + leaf connection-down-count { + type uint32; + description + "Number of connection down events"; + } + leaf last-connection-down-age { + type uint32; + units "second"; + description + "Time since last connection Down event (in + seconds)"; + } + } + + grouping BGP-PERF-RIB-GBL-INFO-BAG { + description + "BGP PERF RIB GBL INFO BAG"; + container first-rib-connection-up-timestamp { + description + "First RIB connection Up event timestamp"; + uses BGP-TIMESPEC; + } + container last-rib-connection-up-timestamp { + description + "Last RIB connection Up event timestamp"; + uses BGP-TIMESPEC; + } + container first-rib-connection-down-timestamp { + description + "First RIB connection Down event timestamp"; + uses BGP-TIMESPEC; + } + container last-rib-connection-down-timestamp { + description + "Last RIB connection Down event timestamp"; + uses BGP-TIMESPEC; + } + leaf is-rib-connection-up { + type boolean; + description + "Is RIB Connection Up?"; + } + leaf rib-connection-up-count { + type uint32; + description + "Number of RIB connection Up events"; + } + leaf last-rib-connection-up-age { + type uint32; + units "second"; + description + "Time since last RIB connection Up event (in + seconds)"; + } + leaf rib-connection-down-count { + type uint32; + description + "Number of RIB connection Down events"; + } + leaf last-rib-connection-down-age { + type uint32; + units "second"; + description + "Time since last RIB connection Down event (in + seconds)"; + } + } + + grouping BGP-POSTIT-COUNT-INFO { + description + "BGP POSTIT COUNT INFO"; + container neighbor-address { + description + "IP address of the neighbor"; + uses BGP-ADDRTYPE; + } + leaf postit-count { + type uint32; + description + "Count of the number of postits for this nbr"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + } + + grouping BGP-PERF-PROCESS-GBL { + description + "BGP PERF PROCESS GBL"; + container ipv4rib-server { + description + "IPv4 RIB server global info"; + uses BGP-PERF-RIB-GBL-INFO-BAG; + } + container ipv6rib-server { + description + "IPv6 RIB server global info"; + uses BGP-PERF-RIB-GBL-INFO-BAG; + } + container te-connection { + description + "MPLS TE server connection info"; + uses BGP-PERF-SERVER-CONN-STAT-BAG; + } + container lsd-connection { + description + "MPLS LSD server connection info"; + uses BGP-PERF-SERVER-CONN-STAT-BAG; + } + container ds-npl { + description + "NSR related DS and NPL information"; + uses BGP-PERF-DS-NPL-INFO-BAG; + } + leaf configuration-items-processed { + type uint32; + description + "Number of config items processed"; + } + leaf configuration-processing-time { + type uint32; + units "millisecond"; + description + "Time spent processing config (milliseconds)"; + } + leaf edm-requests-count { + type uint32; + description + "Number of EDM requests processed"; + } + leaf edm-processing-time { + type uint32; + description + "Time spent processing EDM requests (ms)"; + } + leaf brib-api-output-messages-sent { + type uint32; + description + "bRIB API output messages sent"; + } + leaf brib-api-output-bytes-sent { + type uint32; + units "byte"; + description + "bRIB API output bytes sent"; + } + leaf brib-api-output-bytes-generated { + type uint32; + units "byte"; + description + "Number of bytes generated to be sent by the BGP + RIB API"; + } + leaf brib-api-output-prefixes-advertised { + type uint32; + description + "Number of prefix advertise messagesto be sent by + the bRIB API"; + } + leaf brib-api-output-prefixes-withdrawn { + type uint32; + description + "Number of prefix withdraw messagesto be sent by + the bRIB API"; + } + leaf brib-api-output-sending-time { + type uint32; + description + "Time spent sending output to bRIB API (ms)"; + } + leaf brib-api-output-generation-time { + type uint32; + units "millisecond"; + description + "Time spent generating output for bRIB API + (milliseconds)"; + } + leaf brib-api-output-calls { + type uint32; + description + "bRIB API calls to generate output"; + } + leaf brib-api-input-messages { + type uint32; + description + "bRIB API input messages"; + } + leaf brib-api-input-bytes { + type uint32; + units "byte"; + description + "bRIB API input bytes"; + } + leaf brib-api-input-prefixes-received { + type uint32; + description + "bRIB API input advertised prefixes received"; + } + leaf brib-api-input-withdrawn-prefixes { + type uint32; + description + "bRIB API input withdrawn prefixes received"; + } + leaf brib-api-input-processing-time { + type uint32; + units "millisecond"; + description + "Time spent processing input from bRIB API + (milliseconds)"; + } + leaf instance-node-role { + type boolean; + description + "Node role - active/passive"; + } + leaf active-nsrtcp-phase-two-enter-time { + type uint32; + units "second"; + description + "Time that NSR TCP Init Sync Phase Two entered on + active (seconds since Jan 1 1970)"; + } + leaf sec-active-nsrtcp-phase-two-enter-time { + type uint32; + units "second"; + description + "Time that NSR TCP Init Sync Phase Two entered on + active (seconds since Jan 1 1970)"; + } + leaf proc-scoped-sync-state { + type Bgp-scoped-sync-state; + description + "Synchronized state of BGP process"; + } + leaf initial-sync-sessions-added { + type boolean; + description + "If true, BGP has at least one established + session when NSR initial synchronization is + started"; + } + leaf in-event-attach-calls { + type uint32; + description + "event_file_attach calls for input"; + } + leaf out-event-attach-calls { + type uint32; + description + "event_file_attach calls for output"; + } + leaf in-out-event-attach-calls { + type uint32; + description + "event_file_attach calls for input"; + } + leaf updgen-timer-running { + type boolean; + description + "Flag to indicate if update generation master + timer is running"; + } + leaf updgen-tree-timer-left { + type uint64; + description + "Time left before the QNX timer would expire"; + } + leaf updgen-tree-timer-expiry { + type uint64; + description + "Time as per tree->mtexptime"; + } + leaf current-clock-time { + type uint64; + description + "Current time"; + } + leaf updgen-handler-tm { + type uint64; + description + "Timestamp when updgen timer handler got called"; + } + leaf io-timer-running { + type boolean; + description + "IO master timer Running"; + } + leaf io-tree-timer-left { + type uint64; + description + "Time left before the QNX timer would expire"; + } + leaf io-tree-timer-expiry { + type uint64; + description + "Time as per tree->mtexptime"; + } + leaf io-handler-tm { + type uint64; + description + "Timestamp when IO timer handler got called"; + } + leaf qad-messages-sent { + type uint32; + description + "Messages sent on QAD "; + } + leaf qadack-sent { + type uint32; + description + "Acks sent on QAD "; + } + leaf qad-send-failure { + type uint32; + description + "Send failure on QAD "; + } + leaf qad-ac-ks-failure { + type uint32; + description + "Ack failure on QAD "; + } + leaf qad-suspends { + type uint32; + description + "QAD send suspend"; + } + leaf qad-resumes { + type uint32; + description + "QAD send resume "; + } + leaf qad-send-drops { + type uint32; + description + "Send packets dropped due to null peer "; + } + leaf qad-messages-received { + type uint32; + description + "Messages received on QAD "; + } + leaf qad-processed { + type uint32; + description + "Messages processed"; + } + leaf qad-ac-ks-received { + type uint32; + description + "Acks received on QAD "; + } + leaf qad-timeout-received { + type uint32; + description + "Timeouts received on QAD "; + } + leaf qad-init-drops { + type uint32; + description + "Packets dropped on standby during initialization"; + } + leaf qadoos-drops { + type uint32; + description + "Packets dropped due to out of sequence + packetreceived"; + } + leaf qad-recv-drops { + type uint32; + description + "Received packet dropped due to null peer "; + } + leaf qad-timeout-recvd { + type uint32; + description + "Number of packet send timeouts "; + } + leaf nsr-last-reset-reason { + type uint8; + description + "Reason for last nsr state machine reset"; + } + leaf redcon-nsr-ready { + type boolean; + description + "NSR state conveyed to Redcon by bgp - nsr + ready/unready"; + } + leaf redcon-state-time { + type uint32; + description + "Time when nsr state wasconveyed to Redcon last"; + } + leaf active-nsr-state { + type uint32; + description + "Current Active BGP nsrstate"; + } + leaf sec-active-nsr-state { + type uint32; + description + "Current Sec Active BGP nsrstate"; + } + leaf total-outstanding-postits { + type uint32; + description + "Total outstanding postits across all neighbors"; + } + leaf total-neighbors-with-pending-postits { + type uint32; + description + "Count of neighbors with postits pending"; + } + leaf tep2p-auto-tunnel-enabled { + type boolean; + description + "TE support for P2P auto tunnel"; + } + list active-nsr-mode-enter-time { + max-elements "26"; + description + "Time that each mode was entered (seconds since + + Jan 1 1970)"; + leaf entry { + type uint32; + units "second"; + description + "Time that each mode was entered (seconds since + + Jan 1 1970)"; + } + } + list standby-nsr-mode-enter-time { + max-elements "7"; + description + "Time that each mode was entered (seconds since + + Jan 1 1970)"; + leaf entry { + type uint32; + units "second"; + description + "Time that each mode was entered (seconds since + + Jan 1 1970)"; + } + } + list active-nsrfo-time { + max-elements "10"; + description + "Time that each thread isdone with its + + go-activeprocessing (seconds since Jan 1 1970)"; + leaf entry { + type uint32; + units "second"; + description + "Time that each thread isdone with its + + go-activeprocessing (seconds since Jan 1 1970)"; + } + } + list postit-count-info { + description + "List of neighbors and their postit counts"; + uses BGP-POSTIT-COUNT-INFO; + } + list issu-milestone { + description + "ISSU Milestones"; + uses BGP-ISSU-MILESTONE-BAG; + } + } + + grouping BGP-PERF-PROCESS { + description + "BGP PERF PROCESS"; + container global { + description + "Global information"; + uses BGP-PERF-PROCESS-GBL; + } + container vrf { + description + "VRF information"; + uses BGP-PERF-PROCESS-VRF; + } + } + + grouping BGP-PROCESS-INFO-VRF { + description + "BGP PROCESS INFO VRF"; + leaf neighbors-count { + type uint32; + description + "Number of neighbors"; + } + leaf established-neighbors-count { + type uint32; + description + "Number of established neighbors"; + } + leaf update-messages-received { + type uint32; + description + "Count of BGP update messages received"; + } + leaf update-messages-sent { + type uint32; + description + "Count of BGP update messages sent"; + } + leaf notifications-received { + type uint32; + description + "Number of BGP notifications received"; + } + leaf notifications-sent { + type uint32; + description + "Number of BGP notifications sent"; + } + leaf network-count { + type uint32; + description + "Number of networks"; + } + leaf path-count { + type uint32; + description + "Number of paths"; + } + } + + grouping BGP-PROCESS-INFO-GBL { + description + "BGP PROCESS INFO GBL"; + leaf process-instance-node { + type string; + description + "Node the process instance is on"; + } + leaf restart-count { + type uint32; + description + "No. of times BGP has started"; + } + leaf path-attributes-entry-count { + type uint32; + description + "No. of path attribute entries"; + } + leaf path-attribute-memory { + type uint32; + units "byte"; + description + "Memory (bytes) used by path attribute entries"; + } + leaf as-path-entry-count { + type uint32; + description + "Number of AS-path entries"; + } + leaf as-path-entries-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by AS-path entries"; + } + leaf community-entry-count { + type uint32; + description + "Number of community entries"; + } + leaf community-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by community entries"; + } + leaf extended-community-entry-count { + type uint32; + description + "Number of extended community entries"; + } + leaf extended-community-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by extended community + entries"; + } + leaf pe-distinguisher-label-entry-count { + type uint32; + description + "Number of PE distinguisher label entries"; + } + leaf pe-distinguisher-label-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by PE distinguisher + labels entries"; + } + leaf pta-entry-count { + type uint32; + description + "Number of PTA entries"; + } + leaf pta-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by PTA entries"; + } + leaf tunnel-encap-entry-count { + type uint32; + description + "Number of Tunnel encap entries"; + } + leaf tunnel-encap-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by tunnel encap entries"; + } + leaf ribrnh-entry-count { + type uint32; + description + "Number of RIBRNH entries"; + } + leaf ribrnh-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by RIBRNH entries"; + } + leaf ppmp-entry-count { + type uint32; + description + "Number of PPMP entries"; + } + leaf ppmp-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by PPMP entries"; + } + leaf route-reflectors { + type uint32; + description + "Number of route reflector info entries"; + } + leaf route-reflector-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by route reflector info + entries"; + } + leaf nexthop-count { + type uint32; + description + "Number of nexthop attribute info entries"; + } + leaf nexthop-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by nexthop attribute info + entries"; + } + leaf lsattr-entry-count { + type uint32; + description + "Number of LASATTR entries"; + } + leaf lsattr-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by LSATTR entries"; + } + leaf attr-set-entry-count { + type uint32; + description + "Number of ATTRSET entries"; + } + leaf attr-set-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by ATTRSET entries"; + } + leaf prefix-sid-label-index-count { + type uint32; + description + "Number of Prefix-SID LabelIndex entries"; + } + leaf prefix-sid-label-index-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by Prefix-SID LabelIndex + entries"; + } + leaf prefix-sid-orig-srgb-count { + type uint32; + description + "Number of Prefix-SID OrigSRGB entries"; + } + leaf prefix-sid-orig-srgb-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by Prefix-SID OrigSRGB + entries"; + } + leaf prefix-sid-srv6-layer3-svc-count { + type uint32; + description + "Number of Prefix-SID SRv6L3SVC entries"; + } + leaf prefix-sid-srv6-layer3-svc-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by Prefix-SID SRv6L3SVC + entries"; + } + leaf prefix-sid-srv6-layer2-svc-count { + type uint32; + description + "Number of Prefix-SID SRv6L2SVC entries"; + } + leaf prefix-sid-srv6-layer2-svc-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by Prefix-SID SRv6L2SVC + entries"; + } + leaf prefix-sid-unk-tl-vs-count { + type uint32; + description + "Number of Prefix-SID UnkTLVs entries"; + } + leaf prefix-sid-unk-tl-vs-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by Prefix-SID UnkTLVs + entries"; + } + leaf oc-rib-attribute-sets-entry-count { + type uint32; + description + "Number of OC RIB specific attribute-set entries"; + } + leaf oc-rib-attribute-set-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by OC RIB attribute-set + entries"; + } + leaf local-as { + type uint32; + description + "Local autonomous system number"; + } + leaf total-vrf-count { + type uint32; + description + "Total count of VRFs"; + } + leaf neighbors-count-total { + type uint32; + description + "Total number of neighbors"; + } + leaf established-neighbors-count-total { + type uint32; + description + "Total number of neighbors in established state"; + } + leaf sn-num-non-dflt-vrf-nbrs { + type uint32; + description + "Number of neighbors in all non-default VRFs"; + } + leaf sn-num-non-dflt-vrf-nbrs-estab { + type uint32; + description + "Number of established neighbors in all + non-default VRFs"; + } + leaf large-community-entry-count { + type uint32; + description + "Number of large community entries"; + } + leaf large-community-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by large community + entries"; + } + list pool-size { + max-elements "15"; + description + "BGP process maximum pool size"; + leaf entry { + type uint32; + description + "BGP process maximum pool size"; + } + } + list pool-alloc-count { + max-elements "15"; + description + "Number of bytes of memory forpool allocation"; + leaf entry { + type uint32; + units "byte"; + description + "Number of bytes of memory forpool allocation"; + } + } + list pool-free-count { + max-elements "15"; + description + "Number of bytes of memory freedin pool"; + leaf entry { + type uint32; + units "byte"; + description + "Number of bytes of memory freedin pool"; + } + } + list msg-log-pool-size { + max-elements "5"; + description + "Number of messages present in pool"; + leaf entry { + type uint32; + description + "Number of messages present in pool"; + } + } + list msg-log-pool-alloc-count { + max-elements "5"; + description + "Number of messages poolallocation memory"; + leaf entry { + type uint32; + description + "Number of messages poolallocation memory"; + } + } + list msg-log-pool-free-count { + max-elements "5"; + description + "Number of messages log freedfrom pool"; + leaf entry { + type uint32; + description + "Number of messages log freedfrom pool"; + } + } + list bmp-pool-size { + max-elements "20"; + description + "BGP monitoring protocol (BMP) pool size"; + leaf entry { + type uint32; + description + "BGP monitoring protocol (BMP) pool size"; + } + } + list bmp-pool-alloc-count { + max-elements "20"; + description + "Number of bytes of memoryallocated for BGP + + monitoringprotocol pool"; + leaf entry { + type uint32; + units "byte"; + description + "Number of bytes of memoryallocated for BGP + + monitoringprotocol pool"; + } + } + list bmp-pool-free-count { + max-elements "20"; + description + "Number of bytes of memory freedfrom pool"; + leaf entry { + type uint32; + units "byte"; + description + "Number of bytes of memory freedfrom pool"; + } + } + } + + grouping BGP-PROCESS-INFO-BAG { + description + "BGP Process information"; + container global { + description + "Global information"; + uses BGP-PROCESS-INFO-GBL; + } + container vrf { + description + "VRF information"; + uses BGP-PROCESS-INFO-VRF; + } + container performance-statistics { + description + "BGP process informationperformance statistics"; + uses BGP-PERF-PROCESS; + } + leaf process-instance { + type uint8; + description + "ID for the BGP process instance"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf vrf-totals { + type boolean; + description + "per VRF counts aggregated across all VRFs"; + } + } + + grouping BGP-BMP-NBR-BAG { + description + "BMP per Neighbor Details"; + container bmp-neighbor-address { + description + "Address of Nbr that logs to BMP server"; + uses BGP-ADDRTYPE; + } + leaf vrf-name-xr { + type string; + description + "Name of the VRF"; + } + leaf bmp-neighbor-msg-pending { + type uint32; + description + "Number of messages pending to be sent to BMP + Server from this Neighbor"; + } + leaf bmp-neighbor-msg-dropped { + type uint32; + description + "Number of messages dropped sent from this + neighbor"; + } + leaf bmp-neighbor-peer-up-sent { + type uint32; + description + "Number of Peer UP Messages sent from this + neighbor"; + } + leaf bmp-neighbor-peer-down-sent { + type uint32; + description + "Number of Peer DOWN Messages sent from this + neighbor"; + } + leaf bmp-neighbor-route-monitor-sent { + type uint32; + description + "Number of Route Monitor Messages sent"; + } + leaf bmp-neighbor-route-monitor-eor-sent { + type uint32; + description + "Number of Route Monitor EOR Messages sent"; + } + leaf bmp-neighbor-path-update-sent { + type uint32; + description + "Number of Path UpdateMessages sent"; + } + leaf bmp-neighbor-path-withdraw-sent { + type uint32; + description + "Number of Path WithdrawMessages sent"; + } + leaf bmp-neighbor-path-update-drop { + type uint32; + description + "Number of path update drop "; + } + leaf bmp-neighbor-path-withdraw-drop { + type uint32; + description + "Number of path wdraw drop "; + } + leaf bmp-neighbor-upd-msg-sent { + type uint32; + description + "Number of update message sent"; + } + leaf bmp-neighbor-wdraw-msg-sent { + type uint32; + description + "Number of withdraw message sent"; + } + } + + grouping BGP-BMP-SRVR-AFI { + description + "BMP AFI Server Details"; + container bmp-resume-prefix { + description + "BMP Resume prefix"; + uses BGP-PREFIXTYPE; + } + container bmp-filter-neighbor-address { + description + "Filter Neighbor Address"; + uses BGP-ADDRTYPE; + } + leaf bmpaf-name { + type Bgp-afi; + description + "BMP Address family identifier"; + } + leaf bmp-resume-prefix-len { + type uint32; + description + "BMP Resume prefix Len"; + } + leaf bmp-upd-gen-resume-start-version { + type uint64; + description + "Update Gen ResumeWalk start version"; + } + leaf bmp-upd-gen-resume-end-version { + type uint64; + description + "Update Gen ResumeWalk end version"; + } + leaf bmp-upd-gen-walk-stopped { + type boolean; + description + "Update Gen WalkStopped"; + } + leaf bmp-upd-gen-resume-net-version { + type uint64; + description + "Update Gen ResumeWalk Net version"; + } + leaf bmp-upd-gen-walk-run-time-stamp { + type uint64; + description + "Last Update Gen Run time stamp"; + } + leaf bmp-upd-gen-walk-run-count { + type uint64; + description + "Number of times Update Gen ran"; + } + leaf bmp-upd-gen-walk-stop-time-stamp { + type uint64; + description + "Last Update Gen Stop time stamp"; + } + leaf bmp-upd-gen-walk-stop-count { + type uint64; + description + "Number of times Update Gen Stopped"; + } + leaf bmp-init-eor-end-version { + type uint64; + description + "Version to reach to send EOR"; + } + leaf bmp-init-eor-pending-cnt { + type uint32; + description + "Count for pending EOR"; + } + leaf bmp-filter-neighbor-address-set { + type boolean; + description + "Filter Neighbor Address Set ?"; + } + leaf bmp-filter-nbr-cnt { + type uint32; + description + "Filter nbr Count for this AFI"; + } + leaf bmp-send-version { + type uint64; + description + "Table Version that this BMP server has caught + upto"; + } + leaf bmp-local-rib-afi-scan-time { + type uint32; + units "second"; + description + "BMP Local-RIB AFI specific scanner interval in + seconds"; + } + } + + grouping BGP-BMP-SRVR-BAG { + description + "BMP Server Details"; + container bmp-server-state-age { + description + "Age of current state of BMP Server"; + uses BGP-TIMESPEC; + } + container bmp-server-state-time-spec { + description + "Timespec of current state of BMP Server"; + uses BGP-TIMESPEC; + } + container bmp-server-last-discon-time { + description + "Timespec of Last Disconnect event received from + BMP server"; + uses BGP-TIMESPEC; + } + container update-source-address { + description + "Address of Interface configured as Update Source"; + uses BGP-ADDRTYPE; + } + leaf bmp-server-id { + type uint8; + description + "BMP Server ID"; + } + leaf bmp-server-host-name { + type string; + description + "BMP Server Hostname"; + } + leaf bmp-server-port { + type uint32; + description + "BMP Server Port Number"; + } + leaf bmp-server-state { + type Bgp-bmp-state; + description + "Connection state of the BMP server"; + } + leaf bmp-server-is-flapping { + type boolean; + description + "Connection to the BMP server Flapping"; + } + leaf bmp-server-nbr-count { + type uint32; + description + "Neighbor count for the BMP Server"; + } + leaf bmp-init-msg-count { + type uint32; + description + "Number of Initiation Msgs sent by this BMP + Server"; + } + leaf bmp-termination-msg-count { + type uint32; + description + "Number of Termination Messages sent by this BMP + Server"; + } + leaf bmp-status-report-count { + type uint32; + description + "Number of Status ReportMessages sent by this BMP + Server"; + } + leaf bmp-per-peer-msg-count { + type uint32; + description + "Total number of per peer messages sent"; + } + leaf bmp-peer-msg-drop-count { + type uint32; + description + "Total number of messages dropped"; + } + leaf bmp-peer-msg-pending-count { + type uint32; + description + "Total number of bmpQ msgs pending"; + } + leaf tos-type { + type uint8; + description + "Precedence (0) or DSCP (1) type"; + } + leaf tos-value { + type uint8; + description + "Precedence or DSCP value"; + } + leaf update-source-interface-name { + type string; + description + "Interface configured as Update Source"; + } + leaf update-source-vrf-id { + type uint32; + description + "VRF ID of interface configured as Update Source"; + } + leaf bmp-vrf-name { + type string; + description + "VRF Name configured"; + } + leaf bmp-vrf-id { + type uint32; + description + "VRF ID for the vrf name configured"; + } + leaf bmp-update-mode { + type Bgp-bmp-upd-mode; + description + "Update sending mode configured for this BMP + server. This field is deprecated"; + } + leaf bmp-update-modes-bitmap { + type uint32; + description + "Bitmap with bits corresponding toUpdate sending + modes configured"; + } + leaf tcp-keep-alive-interval { + type uint32; + description + "TCP Keep alive interval configured"; + } + leaf tcp-maximum-segment-size { + type uint32; + description + "TCP Maximum Segments size configured"; + } + leaf tcp-write-cb-pending { + type uint32; + description + "Are we waiting for TCP write callback ?"; + } + leaf tcp-last-write-result { + type uint32; + description + "Last TCP Socket write status"; + } + leaf tcp-last-write-cb-time { + type uint64; + description + "Last TCP Write CB time"; + } + leaf tcp-last-write-time { + type uint64; + description + "Last TCP Write time"; + } + leaf bmpq-last-write-pulse-sent-time { + type uint64; + description + "Last BMPQ write pulse Sent time"; + } + leaf bmpq-last-all-write-pulse-sent-time { + type uint64; + description + "Last BMPQ write pulse Sent for all BMP servers "; + } + leaf bmpq-last-write-pulse-cb-time { + type uint64; + description + "Last BMPQ write pulse callback time"; + } + leaf path-update-count { + type uint32; + description + "Number of path update sent "; + } + leaf path-withdraw-count { + type uint32; + description + "Number of path wdraw sent"; + } + leaf path-update-drop { + type uint32; + description + "Number of path update drop "; + } + leaf path-withdraw-drop { + type uint32; + description + "Number of path wdraw drop "; + } + leaf bmp-peer-msg-pending-count-max { + type uint32; + description + "Total bmpQ msgs pending max"; + } + leaf bmp-peer-msg-pending-count-hwts { + type uint64; + description + "Total bmpQ msgs pending max time"; + } + leaf bmp-bytes-written-tcp { + type uint64; + units "byte"; + description + "Total bytes sent to TCP"; + } + leaf tcp-write-time { + type uint32; + units "millisecond"; + description + "Time spent processing sending msg to + TCP(milliseconds)"; + } + leaf bmpr-mon-upd-messages { + type uint32; + description + "Total bmpQ update msgs "; + } + leaf bmpr-mon-wdraw-messages { + type uint32; + description + "Total bmpQ withdraw msgs "; + } + leaf bmp-messages-wdraw-discarded { + type uint32; + description + "Total bmpQ wdraw msgs discarded because of peer + down"; + } + leaf bmp-pfx-wdraw-discarded { + type uint32; + description + "Total bmpQ wdraw pfxes discarded because of peer + down"; + } + leaf bmp-per-peer-msg-route-mon-count { + type uint32; + description + "Total number of per peer route mon messages sent"; + } + leaf bmpr-mon-update-gen-time { + type uint32; + units "millisecond"; + description + "Time spent in update generation(milliseconds)"; + } + leaf bmpr-mon-eo-rmessages { + type uint32; + description + "Total bmpQ EOR update msgs "; + } + leaf bmp-rmon-cur-buffer-size { + type uint64; + description + "Current Buffer usage per BMP Route Mon"; + } + leaf bmp-maximum-buffer-size-route-mon { + type uint64; + description + "Buffer limit used for route mon"; + } + leaf bmp-server-up-count { + type uint32; + description + "Number of BMP server that are UP"; + } + leaf bmp-upd-gen-in-progress { + type boolean; + description + "Update generation in progress"; + } + leaf bmp-reset-walk-in-progress { + type boolean; + description + "Flag to indicate if BGP monitoring protocol + server reset walk is in progress"; + } + leaf bmp-in-post-pol-advertisement-interval-sec { + type uint32; + units "second"; + description + "BMP Inbound Post-Policy advertisement interval + seconds"; + } + leaf bmp-in-post-pol-advertisement-interval-msec { + type uint32; + units "millisecond"; + description + "BMP Inbound Post-Policy advertisement interval + milliseconds"; + } + leaf bmp-in-post-pol-scan-time { + type uint32; + units "second"; + description + "BMP scanner interval in seconds"; + } + leaf bmp-local-rib-advertisement-interval-sec { + type uint32; + units "second"; + description + "BMP Local-RIB advertisement interval seconds"; + } + leaf bmp-local-rib-advertisement-interval-msec { + type uint32; + units "millisecond"; + description + "BMP Local-RIB advertisement interval + milliseconds"; + } + leaf bmp-local-rib-scan-time { + type uint32; + units "second"; + description + "BMP Local-RIB scanner interval in seconds"; + } + leaf bmp-flapping-delay { + type uint16; + units "second"; + description + "BMP Flapping Delay in seconds"; + } + leaf bmp-initial-delay { + type uint16; + units "second"; + description + "BMP Initial Delay in seconds"; + } + leaf bmp-initial-refresh-delay { + type uint16; + units "second"; + description + "BMP Initial Refresh Delay in seconds"; + } + leaf bmp-initial-refresh-spread { + type uint16; + units "second"; + description + "BMP Initial Refresh Spread in seconds"; + } + leaf bmp-stats-reporting-time-delay { + type uint16; + units "second"; + description + "BMP Stats Reporting Time in seconds"; + } + list bmpafi-info { + description + "AFI specific info for BMP server"; + uses BGP-BMP-SRVR-AFI; + } + } + + grouping BGP-UPDFILTER-ELEM-BAG { + description + "BGP Update filtering element information"; + leaf update-attribute-flags { + type uint8; + description + "Attribute Flags [RFC4271: BGP4]"; + } + leaf update-attribute-code { + type uint8; + description + "Attribute code [RFC4271: BGP4]"; + } + leaf update-filter-action { + type Bgp-bag-upd-filter-action; + description + "Filtering action"; + } + } + + grouping BGP-UPDFILTER-MSG-BAG { + description + "BGP Update filter message information"; + container update-filter-message-timestamp { + description + "Message timestamp: time elapsed since 00:00:00 + UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-filtered-attribute-count { + type uint32; + description + "Total number of attributes filtered in + thismessage"; + } + leaf update-filter-final-action { + type Bgp-bag-upd-filter-action; + description + "Filtering final action"; + } + leaf update-filter-nlri-address-family { + type Bgp-afi; + description + "NLRI address-family"; + } + leaf update-filter-nlri-string { + type string; + description + "List of NLRIs in string format"; + } + leaf update-filter-nlri-string-truncated { + type boolean; + description + "Indicates whether NLRI string was truncated due + to lack of space"; + } + list update-filter-message-data { + description + "Raw Message data in binary format"; + leaf entry { + type uint8; + description + "Raw Message data in binary format"; + } + } + list update-filter-element { + max-elements "3"; + description + "Filtering element list"; + uses BGP-UPDFILTER-ELEM-BAG; + } + } + + grouping BGP-UPDFILTER-ATTRF-ATTR-BAG { + description + "BGP Update filtering attributes information"; + container last-update-filter-match-timestamp { + description + "Last attribute filtered time: time elapsed since + 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-internal-attribute-code { + type uint32; + description + "Internal attribute code [RFC4271: BGP4]"; + } + leaf update-filter-action { + type Bgp-bag-upd-filter-action; + description + "Filtering action"; + } + leaf update-filter-match-count { + type uint32; + description + "Filter match counter"; + } + leaf establishment-update-filter-match-count { + type uint32; + description + "Filter match counter since last session + establishment"; + } + leaf last-update-filter-match-age { + type uint32; + units "second"; + description + "Time since this attribute was last filtered (in + seconds)"; + } + } + + grouping BGP-UPDFILTER-NBR-BAG { + description + "BGP Update filtering Neighbor information"; + container update-neighbor-address { + description + "Neighbor address"; + uses BGP-ADDRTYPE; + } + container first-update-filtered-timestamp { + description + "First filtered message received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + container last-update-filtered-timestamp { + description + "Last filtered message received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-filter-logging-enabled { + type boolean; + description + "Logging is enabled"; + } + leaf configured-update-filter-message-buffer-count { + type uint32; + description + "Total number of configured update filter + messagebuffer size"; + } + leaf operational-update-filter-message-buffer-count { + type uint32; + description + "Number of messages in the message buffer"; + } + leaf update-filter-message-buffer-circular { + type boolean; + description + "Indicates if the message buffers are circular"; + } + leaf update-attribute-filter-group-name { + type string; + description + "String format BGP attribute-filter group name"; + } + leaf operational-update-attribute-filtering-enabled { + type boolean; + description + "Attribute filtering is enabled"; + } + leaf message-update-attribute-filtering-enabled { + type boolean; + description + "Attribute filtering is enabled for the current + message being parsed"; + } + leaf total-filter-update-message-count { + type uint32; + description + "Total number of filtered messages encoutered"; + } + leaf establishment-total-filter-update-message-count { + type uint32; + description + "Total update messages count since session + establishment"; + } + leaf update-filtered-message-count { + type uint32; + description + "Total number of filtered messages encountered so + far"; + } + leaf establishment-update-filtered-message-count { + type uint32; + description + "Filtered messages count since session + establishment"; + } + leaf last-update-filtered-age { + type uint32; + units "second"; + description + "Time since last filtered message received event + (in seconds)"; + } + leaf update-filter-message-list-count { + type uint32; + description + "Filtered messages list count"; + } + list update-attribute-filter-attributes { + description + "List of attributes that can be filtered"; + uses BGP-UPDFILTER-ATTRF-ATTR-BAG; + } + list update-filter-message { + description + "List of filtered messages"; + uses BGP-UPDFILTER-MSG-BAG; + } + } + + grouping BGP-UPDERR-ELEM-BAG { + description + "BGP Update error-handling element information"; + leaf update-attribute-flags { + type uint8; + description + "Attribute Flags [RFC4271: BGP4]"; + } + leaf update-attribute-code { + type uint8; + description + "Attribute code [RFC4271: BGP4]"; + } + leaf update-attribute-length { + type uint16; + description + "Attribute Length [RFC4271: BGP4]"; + } + leaf update-error-data { + type yang:hex-string; + description + "Error data"; + } + leaf update-error-data-length { + type uint16; + description + "Error data length"; + } + leaf update-error-action { + type Bgp-bag-upd-err-action; + description + "Error action"; + } + } + + grouping BGP-UPDERR-RESET-DATA-BAG { + description + "BGP Update error-handling session reset + information"; + leaf update-error-reset-reason { + type Bgp-reset-reason-index; + description + "Reset Reason"; + } + leaf update-error-reset-notification-code { + type uint8; + description + "Notification code"; + } + leaf update-error-reset-notification-sub-code { + type uint16; + description + "Notification sub code"; + } + leaf update-error-reset-notification-data { + type yang:hex-string; + description + "Notification data"; + } + leaf update-error-reset-notification-data-length { + type uint16; + description + "Notification data length"; + } + } + + grouping BGP-UPDERR-MSG-BAG { + description + "BGP Update error message information"; + container update-message-timestamp { + description + "Message timestamp: time elapsed since 00:00:00 + UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + container update-message-reset-data { + description + "Reset data"; + uses BGP-UPDERR-RESET-DATA-BAG; + } + leaf update-error-final-action { + type Bgp-bag-upd-err-action; + description + "Error final action"; + } + leaf update-attribute-discard-count { + type uint32; + description + "Discarded attribute count"; + } + leaf update-error-nlri-address-family { + type Bgp-afi; + description + "NLRI address-family"; + } + leaf update-error-nlri-string { + type string; + description + "List of NLRIs in string format"; + } + leaf update-error-nlri-string-truncated { + type boolean; + description + "Indicates whether NLRI string was truncated due + to lack of space"; + } + list update-message-data { + description + "Raw Message data in binary format"; + leaf entry { + type uint8; + description + "Raw Message data in binary format"; + } + } + list update-error-element { + max-elements "3"; + description + "Error element list"; + uses BGP-UPDERR-ELEM-BAG; + } + } + + grouping BGP-UPDERR-NBR-BAG { + description + "BGP Update error-handling Neighbor information"; + container update-neighbor-address { + description + "Neighbor address"; + uses BGP-ADDRTYPE; + } + container first-update-malformed-timestamp { + description + "First malformed message received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + container last-update-malformed-timestamp { + description + "Last malformed message received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + container first-update-memory-allocation-fail-timestamp { + description + "First memory allocation failure time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + container last-update-memory-allocation-fail-timestamp { + description + "Last memory allocation failure time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + container first-update-error-handling-reset-timestamp { + description + "First error-handling reset time: time elapsed + since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + container last-error-handling-reset-timestamp { + description + "Last error-handling reset time: time elapsed + since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-error-handling-avoid-reset { + type boolean; + description + "Configure error-handling to avoid resets"; + } + leaf total-update-message-count { + type uint32; + description + "The total number of update messages encoutered + so far"; + } + leaf update-malformed-message-count { + type uint32; + description + "The toatl number of malform update messages so + far"; + } + leaf last-update-malformed-age { + type uint32; + units "second"; + description + "Time since last malformed message received event + (in seconds)"; + } + leaf update-memory-allocation-fail-count { + type uint32; + description + "Total number of memory allocation failures"; + } + leaf last-update-memory-allocation-fail-age { + type uint32; + units "second"; + description + "Time since last memory allocation failure event + (in seconds)"; + } + leaf update-error-handling-reset-count { + type uint32; + description + "Total number of neighbor reset due to + error-handling"; + } + leaf last-error-handling-reset-age { + type uint32; + units "second"; + description + "Time since last error-handling reset event (in + seconds)"; + } + leaf update-error-message-list-count { + type uint32; + description + "Malformed messages list count"; + } + leaf update-attribute-discard-count { + type uint32; + description + "Discarded attribute count"; + } + leaf establishment-total-update-message-count { + type uint32; + description + "Total update messages count since session + establishment"; + } + list establishment-action-count { + max-elements "7"; + description + "Number of occurence of each action type since + + session establishment"; + leaf entry { + type uint32; + description + "Number of occurence of each action type since + + session establishment"; + } + } + list update-error-message { + description + "List of malformed messages"; + uses BGP-UPDERR-MSG-BAG; + } + } + + grouping BGP-GLOBAL-PROCESS-INFO-VRF { + description + "BGP GLOBAL PROCESS INFO VRF"; + leaf vrf-is-active { + type boolean; + description + "VRF state"; + } + leaf route-distinguisher { + type yang:hex-string; + description + "BGP global process route distinguisher"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID for the VRF"; + } + leaf configured-router-id { + type inet:ipv4-address; + description + "BGP global process configured router ID"; + } + leaf is-redistribute-ibgp-to-ig-ps-enabled { + type boolean; + description + "Redistribute iBGP into IGPs enabled"; + } + leaf is-fast-external-fallover-enabled { + type boolean; + description + "Flag to indicate if fast external fallover is + enabled"; + } + leaf is-bestpath-missing-med-is-worst-enabled { + type boolean; + description + "Bestpath: Treat missing MED as worst"; + } + leaf is-bestpath-always-compare-med-enabled { + type boolean; + description + "Bestpath: Always compare MED"; + } + leaf is-bestpath-ignore-as-path-enabled { + type boolean; + description + "Bestpath: Ignore AS path"; + } + leaf is-bestpath-as-path-mpath-relax-enabled { + type boolean; + description + "Bestpath: Relax AS path for mpath"; + } + leaf is-bestpath-compare-med-from-confed-peer-enabled { + type boolean; + description + "Bestpath: Compare MED from confed peer"; + } + leaf is-bestpath-compare-router-id-for-ebgp-peers-enabled { + type boolean; + description + "Bestpath: Compare routerID for eBGP peers"; + } + leaf is-bestpath-aigp-ignore-enabled { + type boolean; + description + "Bestpath: Ignore AIGP unless both paths have + AIGP attribute"; + } + leaf is-bestpath-igp-metric-ignore-enabled { + type boolean; + description + "Bestpath: Ignore IGP metric"; + } + leaf is-bestpath-igp-metric-sr-policy-enabled { + type boolean; + description + "Bestpath: Prefer SR-Policy admin/metric of + color-extcomm Nexthop as IGP metric"; + } + leaf is-multipath-as-path-ignore-onwards-enabled { + type boolean; + description + "Multipath: Ignore everything AS path onwards for + mpath"; + } + leaf is-multipath-section-use-cluster-list-length { + type boolean; + description + "Multipath: Use Cluster-List Length Criteria"; + } + leaf is-bestpath-sr-policy-prefer-enabled { + type boolean; + description + "Bestpath: Prefer SR policy path"; + } + leaf is-bestpath-sr-policy-force-enabled { + type boolean; + description + "Bestpath: Force SR policy path"; + } + leaf is-enforce-first-as-enabled { + type boolean; + description + "Enforce first AS"; + } + leaf default-local-preference { + type uint32; + description + "BGP global process default local preference"; + } + leaf keep-alive-time { + type uint16; + units "second"; + description + "Default keepalive timer (seconds)"; + } + leaf hold-time { + type uint16; + units "second"; + description + "Default hold timer (seconds)"; + } + leaf min-acceptable-hold-time { + type uint16; + units "second"; + description + "Default min acceptable hold time from + neighbor(seconds)"; + } + leaf is-neighbor-logging { + type boolean; + description + "Neighbor logging enabled"; + } + leaf is-default-metric-configured { + type boolean; + description + "Flag to indicate if default metric is configured"; + } + leaf default-metric { + type uint32; + description + "BGP global process virtual routingand forwarding + default metric"; + } + leaf is-default-originate-configured { + type boolean; + description + "Flag to indicate if default route originate is + configured"; + } + leaf is-graceful-restart { + type boolean; + description + "Graceful restart enabled"; + } + leaf is-nsr { + type boolean; + description + "Non-stop routing enabled"; + } + leaf slow-peer-detection-enabled { + type boolean; + description + "Slow peer detection status"; + } + leaf nexthop-validation-disabled { + type boolean; + description + "Color-Extcomm Nexthop validation disabled"; + } + leaf nexthop-validation-srte { + type boolean; + description + "Color-Extcomm Nexthop validation SR-Policy"; + } + leaf restart-time { + type uint32; + units "second"; + description + "Restart time (in seconds)"; + } + leaf stale-path-time { + type uint32; + units "second"; + description + "Stale path timeout time (in seconds)"; + } + leaf rib-purge-timeout { + type uint32; + units "second"; + description + "RIB purge timeout time (in seconds)"; + } + leaf rpki-use-validity { + type boolean; + description + "Use RPKI validity for bestpath calculation"; + } + leaf rpki-allow-invalid { + type boolean; + description + "Allow invalid paths"; + } + leaf rpki-signal-ibgp { + type boolean; + description + "Signal RPKI validity to iBGP peers"; + } + } + + grouping COLOR-ID-BAG { + description + "COLOR ID BAG"; + leaf color-id-val { + type uint32; + description + "Color ID "; + } + } + + grouping CLUSTER-ID-BAG { + description + "CLUSTER ID BAG"; + leaf cluster-id-val { + type uint32; + description + "Cluster ID "; + } + leaf cluster-id-type { + type uint8; + description + "Cluster ID type: number or IPv4 address"; + } + } + + grouping BGP-GLOBAL-PROCESS-INFO-GBL { + description + "BGP GLOBAL PROCESS INFO GBL"; + container gshut-nbr-all-ts { + description + "BGP gshut nbr all timestamp"; + uses BGP-TIMESPEC; + } + container gshut-nbr-all-age { + description + "BGP gshut nbr all age"; + uses BGP-TIMESPEC; + } + leaf in-standalone-mode { + type boolean; + description + "Standalone or Distributed mode"; + } + leaf local-as { + type uint32; + description + "Local autonomous system number"; + } + leaf instance-name { + type string; + description + "Name of BGP instance"; + } + leaf platform-max-multi-paths { + type uint32; + description + "Platform supported maximum multi-path count"; + } + leaf restart-count { + type uint32; + description + "No of times BGP has started"; + } + leaf update-delay { + type uint32; + units "second"; + description + "Update delay timeout time (in seconds)"; + } + leaf generic-scan-period { + type uint16; + units "second"; + description + "Period (in seconds) of generic scanner runs"; + } + leaf confederation-id { + type uint32; + description + "BGP global process confederation ID"; + } + leaf cluster-id { + type uint32; + description + "Cluster ID"; + } + leaf configured-cluster-id { + type uint32; + description + "BGP global process configuredcluster ID"; + } + leaf is-cluster-id-specified-as-ip { + type boolean; + description + "Cluster ID specified as an IP address"; + } + leaf asn-format { + type uint32; + description + "BGP AS Number Format"; + } + leaf srgb-start-configured { + type uint32; + description + "Configured segment-routing Global Block start + value"; + } + leaf srgb-end-configured { + type uint32; + description + "Configured segment-routing Global Block end + value"; + } + leaf srgb-start { + type uint32; + description + "In use segment-routing Global Block start value"; + } + leaf srgb-end { + type uint32; + description + "In use Segment-routing Global Block end value"; + } + leaf srlb-start-configured { + type uint32; + description + "Configured segment-routing Local Block start + value"; + } + leaf srlb-end-configured { + type uint32; + description + "Configured segment-routing Local Block end value"; + } + leaf srlb-start { + type uint32; + description + "In use segment-routing Local Block start value"; + } + leaf srlb-end { + type uint32; + description + "In use Segment-routing Local Block end value"; + } + leaf mix-srte-native { + type boolean; + description + "Platform support mix of SR-TE and Native IGP + Nexthop"; + } + leaf graceful-maintenance { + type boolean; + description + "Graceful shutdown activated for allneighbors"; + } + leaf graceful-maint-all-nbrs { + type boolean; + description + "Graceful Maintenance also for neighbors without + GM configuration"; + } + leaf graceful-maint-retain-routes { + type boolean; + description + "Retaining routes in RIB when BGP process stops + while in Graceful Maintenance"; + } + leaf process-rlimit { + type uint64; + description + "Platform RLIMIT max for the process"; + } + leaf bmp-maximum-buffer-size { + type uint64; + description + "Maximum limit user can configure for + max-buffer-size command under bmp-server"; + } + leaf bmp-default-buffer-size { + type uint64; + description + "Default value for BMP buffer limit when a value + is not configured"; + } + leaf bmp-current-buffer-size { + type uint64; + description + "Current value for BMP buffer "; + } + leaf bmp-cur-maximum-buffer-size { + type uint64; + description + "Maximum limit user has configure using + max-buffer-size command under bmp-server"; + } + leaf gbl-srv6-locator { + type string; + description + "Global Srv6 Locator Name"; + } + list cluster-id-entry { + description + "All configured Cluster IDs"; + uses CLUSTER-ID-BAG; + } + list color-id { + description + "All configured Color IDs"; + uses COLOR-ID-BAG; + } + } + + grouping BGP-GLOBAL-PROCESS-INFO-BAG { + description + "BGP process information common to all BGP + processes"; + container global { + description + "Global information"; + uses BGP-GLOBAL-PROCESS-INFO-GBL; + } + container vrf { + description + "VRF information"; + uses BGP-GLOBAL-PROCESS-INFO-VRF; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf vrfid { + type uint32; + description + "VRF ID"; + } + } + + grouping BGP-POSTIT-INFO { + description + "BGP POSTIT INFO"; + container postit-notification { + description + "Time since last notification was sent or + received"; + uses BGP-NOTFNTYPE; + } + leaf postit-type { + type uint32; + description + "Type of the event for post-it"; + } + leaf postit-subtype { + type uint32; + description + "BGP Postit Subtype"; + } + leaf postit-flags { + type uint8; + description + "Flags associated with post-it"; + } + leaf postit-af-name { + type Bgp-afi; + description + "Postit Afi"; + } + leaf postit-ts { + type uint64; + description + "Postit TS"; + } + leaf postit-direction { + type uint8; + description + "BGP postit inbound oroutbound direction"; + } + leaf postit-id { + type uint32; + description + "Postit ID"; + } + leaf peer-id { + type uint32; + description + "Peer ID"; + } + leaf postit-policy { + type string; + description + "Policy"; + } + leaf postit-reset { + type Bgp-reset-reason-index; + description + "Reset"; + } + } + + grouping BGP-NEIGHBOR-NSR-BAG { + description + "BGP neighbor nsr bag"; + container neighbors-address { + description + "Neighbor Addr"; + uses BGP-ADDRTYPE; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf connect-state { + type uint32; + description + "State"; + } + leaf start-time { + type uint32; + description + "StartTime"; + } + leaf nsr-state { + type Bgp-sync-nbr-nsr-state; + description + "NSR state"; + } + list neighbor-af { + min-elements 25; + max-elements "25"; + description + "Neighbor Afi"; + leaf entry { + type boolean; + description + "Array entry."; + } + } + list postit-info { + description + "BGP neighbor postit rounting information"; + uses BGP-POSTIT-INFO; + } + } + + grouping BGP-UPDFILTER-VRF-BAG { + description + "BGP Update filtering VRF information"; + container last-update-filtered-timestamp { + description + "Last Filtered messages received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-filtered-message-count { + type uint32; + description + "Number of filtered messages"; + } + leaf update-filtered-neighbor-count { + type uint32; + description + "Count of neighbors that received filtered + messages"; + } + leaf last-update-filtered-age { + type uint32; + units "second"; + description + "Time since last filtered messages received event + (in seconds)"; + } + } + + grouping BGP-VRF-INFO-BAG { + description + "BGP VRF information bag"; + leaf route-distinguisher { + type xr:Route-dist; + description + "BGP virtual routing and forwardingroute + distinguisher"; + } + } + + grouping BGP-PFXLST { + description + "Prefix list entry"; + list bgp-pfxlst { + description + "Next entry in prefix list"; + container bgp-prefix { + description + "BGP prefix"; + uses BGP-PREFIXTYPE; + } + leaf sequence-number { + type uint32; + description + "Sequence number of the entry in the prefix-list"; + } + leaf is-prefix-grant { + type boolean; + description + "TRUE = permit, FALSE = deny"; + } + leaf min-prefix-length { + type uint8; + units "bit"; + description + "Minimum prefix length in bits"; + } + leaf max-prefix-length { + type uint8; + units "bit"; + description + "Maximum prefix length in bits"; + } + } + } + + grouping BGP-RCV-PFXLST-BAG { + description + "Received prefix filter"; + container neighbor-address-xr { + description + "Neighbor Address"; + uses BGP-ADDRTYPE; + } + container prefix-list-info { + description + "Prefix list"; + uses BGP-PFXLST; + } + leaf af-name { + type Bgp-afi; + description + "Address family identfier"; + } + } + + grouping BGP-DEP-ENTRY-INFO { + description + "BGP DEP ENTRY INFO"; + leaf tblid { + type uint32; + description + "Tbl Id "; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + } + + grouping BGP-DEP-BAG { + description + "BGP SVD"; + list dep-entry-info { + description + "List of Dependency Tables "; + uses BGP-DEP-ENTRY-INFO; + } + } + + grouping BGP-UPDGEN-AF-BAG { + description + "BGP Update generation address-family information"; + container update-statistics { + description + "BGP address-family statistics update"; + uses BGP-UPDGEN-STATS-BAG; + } + leaf update-group-af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf update-main-table-version { + type uint64; + description + "Main table version"; + } + leaf update-rib-version { + type uint64; + description + "RIB version"; + } + leaf update-min-neighbor-version { + type uint64; + description + "Minimum Neighbor version"; + } + leaf current-update-limit-af { + type uint32; + description + "BGP Current AF sub-group update limit"; + } + leaf configured-update-limit-af { + type uint32; + units "byte"; + description + "Update limit per address-family in bytes"; + } + leaf current-update-limit-subgrp-ebgp { + type uint32; + description + "Current EBGP sub-group update limit"; + } + leaf configured-update-limit-subgrp-ebgp { + type uint32; + description + "Configured EBGP sub-group update limit"; + } + leaf current-update-limit-sub-group-ibgp { + type uint32; + description + "Current IBGP sub-group update limit"; + } + leaf configured-update-limit-sub-group-ibgp { + type uint32; + description + "Configured IBGP sub-group update limit"; + } + leaf update-out-queue-messages { + type uint32; + description + "OutQueue messsages"; + } + leaf update-out-queue-size { + type uint32; + description + "OutQueue size"; + } + leaf update-throttled { + type boolean; + description + "Flag to indicate if update generation is + currently throttled"; + } + leaf update-update-group-count { + type uint32; + description + "Update-group count"; + } + leaf update-sub-group-count { + type uint32; + description + "Sub-group count"; + } + leaf sub-group-throttled-count { + type uint32; + description + "Throttled sub-group count"; + } + leaf refresh-sub-group-count { + type uint32; + description + "Number of refresh sub groups"; + } + leaf refresh-sub-group-throttled-count { + type uint32; + description + "Throttled refresh sub-group count"; + } + leaf filter-group-count { + type uint32; + description + "Number of refresh filter groups"; + } + leaf neighbor-count { + type uint32; + description + "Number of neighbors in BGP"; + } + leaf update-table-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-vrfaf-name { + type uint32; + description + "Address family identifier"; + } + leaf update-vrf-rd-version { + type uint64; + description + "RD Version"; + } + leaf update-vrf-table-rib-version { + type uint64; + description + "VRF Table RIB version"; + } + leaf table-inter-afi-import-advertise { + type boolean; + description + "InterAfi Import Advertise"; + } + leaf table-inter-afi-export-allow-imported-vpn { + type boolean; + description + "InterAfi Export Allow Imported VPN"; + } + leaf export-allow-imported-vpn { + type boolean; + description + "Export Allow Imported VPN"; + } + leaf vrf-import-advertise { + type boolean; + description + "Vrf Import Advertise"; + } + leaf table-update-group-count { + type uint32; + description + "Number of virtual routing and forwarding table + update groups"; + } + leaf update-table-sub-group-count { + type uint32; + description + "Number of virtual routing and forwarding table + sub groups"; + } + leaf table-sub-group-throttled-count { + type uint32; + description + "VRF Table throttled sub-group count"; + } + leaf table-refresh-sub-group-count { + type uint32; + description + "Number of virtual routing and forwarding table + refresh sub groups"; + } + leaf table-refresh-sub-group-throttled-count { + type uint32; + description + "VRF Table throttled refresh sub-group count"; + } + leaf update-table-filter-group-count { + type uint32; + description + "Number of virtual routing and forwarding table + filter groups"; + } + leaf table-neighbor-count { + type uint32; + description + "Number of virtual routing and forwarding table + neighbors"; + } + } + + grouping BGP-UPDGEN-NBR-BAG { + description + "BGP Update generation Neighbor information"; + container update-neighbor-address { + description + "Neighbor address"; + uses BGP-ADDRTYPE; + } + container last-sub-group-add-timestamp { + description + "Last added time"; + uses BGP-TIMESPEC; + } + container last-sub-group-remove-timestamp { + description + "Last removed time"; + uses BGP-TIMESPEC; + } + container last-filter-group-add-timestamp { + description + "Last added time"; + uses BGP-TIMESPEC; + } + container last-filter-group-remove-timestamp { + description + "Last removed time"; + uses BGP-TIMESPEC; + } + container first-default-originate-timestamp { + description + "Timestamp when the first default-origination was + done"; + uses BGP-TIMESPEC; + } + container last-default-originate-timestamp { + description + "Timestamp when the last default-origination was + done"; + uses BGP-TIMESPEC; + } + container last-update-group-start-timestamp { + description + "Last update-group timer start"; + uses BGP-TIMESPEC; + } + container last-update-group-expiry-timestamp { + description + "Last update-group timer expiry"; + uses BGP-TIMESPEC; + } + container first-update-queued-timestamp { + description + "Timestamp when the first update was queued"; + uses BGP-TIMESPEC; + } + container last-update-queued-timestamp { + description + "Timestamp when last update was queued"; + uses BGP-TIMESPEC; + } + container last-refresh-update-queued-timestamp { + description + "Timestamp when the last refresh update was + queued"; + uses BGP-TIMESPEC; + } + container first-update-write-timestamp { + description + "Timestamp when the first update was written"; + uses BGP-TIMESPEC; + } + container last-update-write-timestamp { + description + "Timestamp when the last update was written"; + uses BGP-TIMESPEC; + } + container last-refresh-update-write-timestamp { + description + "Timestamp when the last refresh update written"; + uses BGP-TIMESPEC; + } + container update-statistics { + description + "BGP update generation statistics update"; + uses BGP-UPDGEN-STATS-BAG; + } + leaf process-id { + type uint32; + description + "ProcessID"; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-group-af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf update-filter-group-index { + type uint32; + description + "Filter-group index"; + } + leaf refresh-filter-group-index { + type uint32; + description + "BGP update generation refresh Filter-group index"; + } + leaf sub-group-index-xr { + type uint32; + description + "BGP update generation index for sub-group"; + } + leaf refresh-sub-group-index { + type uint32; + description + "BGP update generation refresh Sub-group index"; + } + leaf refresh-sub-group-id { + type uint32; + description + "ID of the refresh subgroup for BGP update + generation"; + } + leaf update-group-index-xr { + type uint32; + description + "Index of this BGP Update-group"; + } + leaf update-main-table-version { + type uint64; + description + "Main table version"; + } + leaf update-vrf-table-rib-version { + type uint64; + description + "VRF Table RIB version"; + } + leaf update-out-queue-messages { + type uint32; + description + "OutQueue messages"; + } + leaf update-out-queue-size { + type uint32; + description + "OutQueue size"; + } + leaf refresh-update-out-queue-messages { + type uint32; + description + "Refresh OutQueue messages"; + } + leaf refresh-update-out-queue-size { + type uint32; + description + "Refresh OutQueue size"; + } + leaf update-filter-group-messages { + type uint32; + description + "The number of messages on the BGP filter-group"; + } + leaf version { + type uint64; + description + "Version up to which we have generated updates + for BGP"; + } + leaf pending-target-version { + type uint64; + description + "Version of pending target for BGP update + generation"; + } + leaf next-resume-version { + type uint64; + description + "Version number identifying the next to process + when tablewalk has been interrupted"; + } + leaf ack-version { + type uint64; + description + "Identifying the prefixs that have been + advertisedto the peer and acknowledged by it"; + } + leaf synced-ack-version { + type uint64; + description + "Peer acked version that was previously + synchronized"; + } + leaf outstanding-version-count { + type uint32; + description + "The number of all outstanding version objects + for thisneighbor address-family"; + } + leaf update-refresh-version { + type uint64; + description + "Refresh version"; + } + leaf refresh-requested-target-version { + type uint64; + description + "Requested refresh target version"; + } + leaf update-refresh-target-version { + type uint64; + description + "Target version for update generation in response + to arefresh request"; + } + leaf refresh-pending-target-version { + type uint64; + description + "Pending refresh target version"; + } + leaf refresh-next-resume-version { + type uint64; + description + "Version number identifying the next to process + whena table walk has been interrupted"; + } + leaf refresh-ack-version { + type uint64; + description + "Versio of the Refresh Ack for BGP update + generation"; + } + leaf last-default-originate-age { + type uint32; + units "second"; + description + "Time since last default-origination event (in + seconds)"; + } + leaf default-originate-state { + type int32; + description + "BGP update generation default originate state + information"; + } + leaf default-originate-internal-context { + type int32; + description + "BGP update generation default originate context + stateinformation"; + } + leaf is-eor-outstanding { + type boolean; + description + "Number of EORs outstanding"; + } + leaf outbound-refresh-count { + type uint32; + description + "Refresh Outbound count"; + } + leaf inbound-refresh-count { + type uint32; + description + "Refresh Inbound count"; + } + leaf is-update-group-timer-running { + type boolean; + description + "Flag to indicate if update-group timer is + running"; + } + leaf current-update-group-af-name { + type Bgp-afi; + description + "Current Update-group address-family identifier"; + } + leaf last-update-group-af-name { + type Bgp-afi; + description + "Last Update-group address-family identifier"; + } + leaf last-update-queued-age { + type uint32; + units "second"; + description + "Time since last update queued event (in seconds)"; + } + leaf last-refresh-update-queued-age { + type uint32; + units "second"; + description + "Time since last refresh update queued event (in + seconds)"; + } + leaf last-update-write-age { + type uint32; + units "second"; + description + "Time since last update write event (in seconds)"; + } + leaf last-refresh-update-write-age { + type uint32; + units "second"; + description + "Time since last refresh update write event (in + seconds)"; + } + } + + grouping BGP-LINKED-EPE { + description + "BGP LINKED EPE"; + leaf epe-key-length { + type uint8; + description + "EPE key length in bits"; + } + leaf epe-type { + type uint8; + description + "Type of EPE object"; + } + list epe-key { + description + "Key of EPE object"; + leaf entry { + type uint8; + description + "Key of EPE object"; + } + } + } + + grouping BGP-EPE-SET-BAG { + description + "BGP EPE SET BAG"; + container epe-local-address { + description + "Local address"; + uses BGP-ADDRTYPE; + } + container epe-next-hop { + description + "Nexthop address"; + uses BGP-ADDRTYPE; + } + leaf epe-key-length { + type uint8; + description + "EPE key length in bits"; + } + leaf epe-type-xr { + type uint8; + description + "Type of EPE object"; + } + leaf epe-version { + type uint64; + description + "EPE object's version"; + } + leaf epe-flags { + type uint16; + description + "EPE object's flags"; + } + leaf epe-local-asn { + type uint32; + description + "Local AS Number"; + } + leaf epe-remote-asn { + type uint32; + description + "Remote AS Number"; + } + leaf epe-remote-router-id { + type uint32; + description + "BGP egress peer engineeringremote router id"; + } + leaf epe-local-router-id { + type uint32; + description + "BGP egress peer engineeringlocal router id"; + } + leaf label { + type uint32; + description + "Label assigned to the RPCnext-hop set"; + } + leaf ref-count { + type uint32; + description + "Reference count indicates numberof places being + updated"; + } + leaf rpc-set-object-id { + type uint32; + description + "RPC set object ID"; + } + list epe-key { + description + "Key of EPE object"; + leaf entry { + type uint8; + description + "Key of EPE object"; + } + } + list nexthop-id { + description + "List of nexthop ID of EPE"; + leaf entry { + type uint32; + description + "List of nexthop ID of EPE"; + } + } + list ifhandle { + description + "List of ifhandle of EPE"; + leaf entry { + type uint32; + description + "List of ifhandle of EPE"; + } + } + list first-hop { + description + "List of firsthops of EPE"; + uses BGP-ADDRTYPE; + } + list linked-epe { + description + "List of EPE objects linked to this current EPE + object"; + uses BGP-LINKED-EPE; + } + } + + grouping BGP-NBR-GSHUT { + description + "BGP NBR GSHUT"; + leaf gshut-exists { + type boolean; + description + "Graceful Maintenance enabled"; + } + leaf gshut-local-active { + type boolean; + description + "Graceful Maintenance locally activated"; + } + leaf gshut-active { + type boolean; + description + "Graceful Maintenance activated"; + } + leaf gshut-locpref-set { + type boolean; + description + "Graceful Maintenance Local Preference set"; + } + leaf gshut-locpref { + type uint32; + description + "Graceful Maintenance Local Preference"; + } + leaf gshut-prepends { + type uint8; + description + "Graceful Maintenance number of AS prepends"; + } + leaf gshut-interface-active { + type boolean; + description + "Graceful Maintenance activated at Interface"; + } + leaf gshut-location-active { + type boolean; + description + "Graceful Maintenance activated at Location"; + } + leaf gshut-all-nbr-active { + type boolean; + description + "Graceful Maintenance globally activated"; + } + leaf gshut-bandwidth-aware-set { + type boolean; + description + "Graceful Maintenance Bandwidth Aware Configured"; + } + leaf gshut-bandwidth-aware-state { + type Bgp-gshut-bw-edm-state; + description + "Graceful Maintenance Bandwidth Aware Operational + State"; + } + leaf gshut-bandwidth-aware-effective-link-bandwidth { + type uint64; + description + "Effective Link Bandwidth"; + } + leaf gshut-bandwidth-aware-total-link-bandwidth { + type uint64; + description + "Total Link Bandwidth"; + } + } + + grouping BGP-NBR-MSG-STATS-UNIT { + description + "BGP NBR MSG STATS UNIT"; + container last-time-spec { + description + "BGP neighbor message statisticslast timespec"; + uses BGP-TIMESPEC; + } + leaf count { + type uint32; + description + "Count"; + } + } + + grouping BGP-NBR-MSG-STATS-OP { + description + "BGP NBR MSG STATS OP"; + container tx { + description + "Transmit"; + uses BGP-NBR-MSG-STATS-UNIT; + } + container rx { + description + "Receive"; + uses BGP-NBR-MSG-STATS-UNIT; + } + } + + grouping BGP-NBR-MSG-STATS { + description + "BGP NBR MSG STATS"; + container open { + description + "Open"; + uses BGP-NBR-MSG-STATS-OP; + } + container notification { + description + "BGP neighbor messagestatistics notification"; + uses BGP-NBR-MSG-STATS-OP; + } + container update { + description + "BGP neighbor message statisticsupdate"; + uses BGP-NBR-MSG-STATS-OP; + } + container keepalive { + description + "Message sent between BGP neighborsto check the + link between is operating"; + uses BGP-NBR-MSG-STATS-OP; + } + container route-refresh { + description + "BGP neighbor message statisticsroute refresh"; + uses BGP-NBR-MSG-STATS-OP; + } + container total { + description + "Total"; + uses BGP-NBR-MSG-STATS-OP; + } + } + + grouping BGP-PERF-NBR-AF { + description + "BGP PERF NBR AF"; + leaf sub-group-pending-message-count { + type uint32; + description + "No. of sub-group messages waiting to be sent out + on this neighbor -- DEPRECATED -- "; + } + leaf processed-messages { + type uint32; + description + "Number of messages processed from the neighbor's + write queue"; + } + leaf sent-messages { + type uint32; + description + "Number of messages sent from the neighbor's + write queue"; + } + leaf split-horizon-update-transmit { + type uint32; + description + "No. of update messages with split-horizon flag + that were sent out"; + } + leaf split-horizon-update-blocked { + type uint32; + description + "No. of update messages with split-horizon flag + that were blocked"; + } + leaf split-horizon-withdraw-transmit { + type uint32; + description + "No. of withdraw messages with split-horizon flag + that were sent out"; + } + leaf split-horizon-withdraw-blocked { + type uint32; + description + "No. of withdraw messages with split-horizon flag + that were blocked"; + } + leaf refresh-mismatch-update-blocked { + type uint32; + description + "No. of update messages blocked due toRefresh + subgroup mismatch"; + } + leaf refresh-mismatch-withdraw-spurious { + type uint32; + description + "No. of withdraw messages spuriously blocked due + toRefresh subgroup mismatch"; + } + } + + grouping BGP-NBR-AF { + description + "BGP neighbor address family specific information"; + container neighbor-af-performance-statistics { + description + "Neighbor AF statistics"; + uses BGP-PERF-NBR-AF; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf is-neighbor-route-reflector-client { + type boolean; + description + "Nbr is a route reflector client"; + } + leaf is-legacy-pe-rt { + type boolean; + description + "Nbr accepts route from legacy PE for + RT-Constraint AF "; + } + leaf is-neighbor-af-capable { + type boolean; + description + "Address family capability received from neighbor"; + } + leaf is-soft-reconfiguration-inbound-allowed { + type boolean; + description + "Inbound soft reconfiguration allowed"; + } + leaf is-use-soft-reconfiguration-always-on { + type boolean; + description + "Soft reconf overrides route refresh"; + } + leaf remove-private-as-from-updates { + type boolean; + description + "Private AS numbers removed from updates to this + nbr"; + } + leaf remove-private-as-entire-aspath-from-updates { + type boolean; + description + "Private AS numbers removed from updates to + thisnbr only if the aspath hasonly private ASes"; + } + leaf remove-private-as-from-inbound-updates { + type boolean; + description + "Private AS numbers removed from updates from + this nbr"; + } + leaf remove-private-as-entire-aspath-from-inbound-updates { + type boolean; + description + "Private AS numbers removed from updates from + this nbr only if the aspath has only private + ASes"; + } + leaf flowspec-validation-d-isable { + type boolean; + description + "Flag to indicate if bgp neighbor address-family + flowspec validation is disabled"; + } + leaf flowspec-redirect-validation-d-isable { + type boolean; + description + "Flag to indicate if flowspec redirect nexthop + validation is disabled"; + } + leaf orr-group-name { + type string; + description + "ORR Group Name"; + } + leaf orr-group-index { + type uint32; + description + "ORR Group Index"; + } + leaf is-orr-root-address-configured { + type boolean; + description + "ORR Root address configuredfor the neighbor + connection"; + } + leaf advertise-afi { + type boolean; + description + "Encode in Advertise AFI"; + } + leaf advertise-afi-reorg { + type boolean; + description + "Encode in Advertise AFI"; + } + leaf advertise-afi-disable { + type boolean; + description + "Encode in Advertise AFI"; + } + leaf encapsulation-type { + type uint32; + description + "BGP neighbor address-familyencapsulation type"; + } + leaf advertise-rt-type { + type uint8; + description + "BGP neighbor address-familyadvertise route + target type"; + } + leaf advertise-afi-def-vrf-imp-disable { + type boolean; + description + "Advertise of default VRF import disable"; + } + leaf advertise-evpnv4-afi-def-vrf-imp-disable { + type boolean; + description + "Advertise of v4 default VRF import disable"; + } + leaf advertise-evpnv6-afi-def-vrf-imp-disable { + type boolean; + description + "Advertise of v6 default VRF import disable"; + } + leaf advertise-afi-vrf-re-imp-disable { + type boolean; + description + "Advertise of VRF re-import disable"; + } + leaf advertise-evpnv4-afi-vrf-re-imp-disable { + type boolean; + description + "Advertise of v4 VRF re-import disable"; + } + leaf advertise-evpnv6-afi-vrf-re-imp-disable { + type boolean; + description + "Advertise of v6 VRF re-import disable"; + } + leaf advertise-afi-eo-r-ready { + type boolean; + description + "EoR Can be sent for Advertise AFI"; + } + leaf always-use-next-hop-local { + type boolean; + description + "Local router always used for next-hop"; + } + leaf sent-community-to-neighbor { + type boolean; + description + "Community attribute sent to neighbor"; + } + leaf sent-gshut-community-to-neighbor { + type boolean; + description + "GSHUT Community attribute sent to neighbor"; + } + leaf sent-extended-community-to-neighbor { + type boolean; + description + "Extended community attribute sent to neighbor"; + } + leaf default-originate-vpn-index { + type uint32; + description + "Default orig vpn indexto find bitfield for a nbr + af"; + } + leaf neighbor-default-originate { + type boolean; + description + "Neighbor originates default"; + } + leaf is-orf-sent { + type boolean; + description + "Outbound route filter sent to neighbor"; + } + leaf is-update-deferred { + type boolean; + description + "Update deferred until ORF/route refresh received"; + } + leaf is-orf-send-scheduled { + type boolean; + description + "Scheduled to send prefix based ORF"; + } + leaf update-group-number { + type uint32; + description + "Update group index"; + } + leaf filter-group-index { + type uint32; + description + "BGP neighbor address-familyfilter group index"; + } + leaf is-update-throttled { + type boolean; + description + "Updates Throttled becausewrite limit is reached"; + } + leaf is-update-leaving { + type boolean; + description + "Nbr leaving update-groupto another"; + } + leaf vpn-update-gen-enabled { + type boolean; + description + "RT Nbr enabled for updategento another"; + } + leaf vpn-update-gen-trigger-enabled { + type boolean; + description + "RT Nbr enabled for updategento another"; + } + leaf is-addpath-send-operational { + type boolean; + description + "Addpath is operational on send-side"; + } + leaf is-addpath-receive-operational { + type boolean; + description + "Addpath is operational on receive-side"; + } + leaf neighbor-version { + type uint64; + description + "BGP neighbor version for theaddress-family"; + } + leaf weight { + type uint32; + description + "Weight for this AF"; + } + leaf max-prefix-limit { + type uint32; + description + "Max limit for # of prefixes"; + } + leaf use-max-prefix-warning-only { + type boolean; + description + "Warning only when maximum prefix limit reached"; + } + leaf max-prefix-discard-extra-paths { + type boolean; + description + "Discard extra paths when prefix limit reached"; + } + leaf max-prefix-exceed-discard-paths { + type boolean; + description + "Did we discard extra paths when prefix limit + reached"; + } + leaf max-prefix-threshold-percent { + type uint8; + units "percentage"; + description + "Percentage of maximum no. of prefixes at which + to generate warning"; + } + leaf max-prefix-discard-paths-count { + type uint32; + description + "Number of discarded paths after prefix limit + reached"; + } + leaf max-prefix-restart-time { + type uint16; + units "minute"; + description + "Time interval (in minutes) after which peering + session will be reestablished"; + } + leaf prefixes-accepted { + type uint32; + description + "Number of prefixes acceptedfrom this BGP + neighbor"; + } + leaf prefixes-synced { + type uint32; + description + "Number of prefixes synced to standby"; + } + leaf prefixes-withdrawn-not-found { + type uint32; + description + "Number of prefixes withdrawn butnot found gor + this BGP neighbor"; + } + leaf prefixes-denied { + type uint32; + description + "Number of prefixes denied forthis BGP neighbor"; + } + leaf prefixes-denied-no-policy { + type uint32; + description + "No. of prefixes denied because there was no + inbound policy"; + } + leaf prefixes-denied-rt-permit { + type uint32; + description + "No. of prefixes denied because RT extended + community is not imported"; + } + leaf prefixes-denied-orf-policy { + type uint32; + description + "No. of prefixes denied by prefix based ORF + policy"; + } + leaf prefixes-denied-policy { + type uint32; + description + "No. of prefixes denied by inbound policy"; + } + leaf prefixes-received { + type uint32; + description + "No. of prefixes received prior to inbound policy + run"; + } + leaf number-of-bestpaths { + type uint32; + description + "No. of bestpaths from this neighbor"; + } + leaf number-of-best-externalpaths { + type uint32; + description + "No. of best-external paths from this neighbor"; + } + leaf prefixes-advertised { + type uint32; + description + "Number of prefixes advertisedfor this BGP + neighbor"; + } + leaf prefixes-be-advertised { + type uint32; + description + "Number of BE prefixes advertised"; + } + leaf prefixes-suppressed { + type uint32; + description + "Number of prefixes suppressed"; + } + leaf prefixes-withdrawn { + type uint32; + description + "Number of prefixes withdrawn"; + } + leaf is-peer-orf-capable { + type boolean; + description + "Peer has outbound route filter capability"; + } + leaf is-advertised-orf-send { + type boolean; + description + "Prefix based ORF send mode capability advertised"; + } + leaf is-received-orf-send-capable { + type boolean; + description + "Prefix based ORF send mode capability received"; + } + leaf is-advertised-orf-receive { + type boolean; + description + "Prefix based ORF receive mode capability + advertised"; + } + leaf is-received-orf-receive-capable { + type boolean; + description + "Prefix based ORF receive mode capability + received"; + } + leaf is-advertised-graceful-restart { + type boolean; + description + "Graceful Restart Capability advertised"; + } + leaf is-graceful-restart-state-flag { + type boolean; + description + "Restart state flag enabled"; + } + leaf is-received-graceful-restart-capable { + type boolean; + description + "Graceful Restart Capability received"; + } + leaf is-add-path-send-capability-advertised { + type boolean; + description + "Flag to indicate if addpath send capability sent + to BGPneighbor"; + } + leaf is-add-path-send-capability-received { + type boolean; + description + "Flag to indicate if addpath send capability + received from BGP neighbor"; + } + leaf is-add-path-receive-capability-advertised { + type boolean; + description + "Flag to indicate if addpath receive capability + advertised from BGP neighbor"; + } + leaf is-add-path-receive-capability-received { + type boolean; + description + "Flag to indicate addpath receive capability + received from BGPneighbor"; + } + leaf is-ext-nh-encoding-capability-received { + type boolean; + description + "Flag to indicate extended nexthop encoding + capability received from BGP neighbor"; + } + leaf is-ext-nh-encoding-capability-sent { + type boolean; + description + "Extended nexhop encoding capability Sent"; + } + leaf restart-time { + type uint32; + units "second"; + description + "Restart time advertised (seconds)"; + } + leaf local-restart-time { + type uint32; + units "second"; + description + "Local Restart time (seconds)"; + } + leaf stale-path-timeout { + type uint32; + units "second"; + description + "Stale path timeout time (in seconds)"; + } + leaf rib-purge-timeout-value { + type uint32; + units "second"; + description + "RIB purge timeout time (in seconds)"; + } + leaf neighbor-preserved-forwarding-state { + type boolean; + description + "Flag to indicate neighbor preserved in + forwarding state"; + } + leaf long-lived-graceful-restart-stale-time-configured { + type boolean; + description + "Flag to indicate if BGP neighbor long-lived + graceful-restart stale time is configured"; + } + leaf long-lived-graceful-restart-stale-time-sent { + type uint32; + units "second"; + description + "Stale time sent in long-lived graceful-restart + capability (seconds)"; + } + leaf long-lived-graceful-restart-stale-time-accept { + type uint32; + units "second"; + description + "Maximum long-lived graceful-restart stale time + acceptable from the neighbor (seconds)"; + } + leaf long-lived-graceful-restart-capability-received { + type boolean; + description + "Flag to indicate long-lived graceful-restart + capability received from the neighbor"; + } + leaf long-lived-graceful-restart-stale-time-received { + type uint32; + units "second"; + description + "Long-lived graceful-restart stale time received + from the neighbor (seconds)"; + } + leaf neighbor-preserved-long-lived-forwarding-state { + type boolean; + description + "Flag to indicate BGP neighbor preserved + long-lived forwarding state"; + } + leaf neighbor-long-lived-graceful-restart-capable { + type boolean; + description + "Flag to indicate if BGP neighbor as long-lived + graceful-restartis capable"; + } + leaf neighbor-long-lived-graceful-restart-time-remaining { + type uint32; + description + "Remaining long-lived graceful-restart time"; + } + leaf route-refreshes-received { + type uint32; + description + "Number of route refresh requests received"; + } + leaf route-refreshes-sent { + type uint32; + description + "Number of route refresh requests sent"; + } + leaf refresh-target-version { + type uint64; + description + "Target version for refresh update generation"; + } + leaf refresh-version { + type uint64; + description + "Version till which refresh updates have been + generated"; + } + leaf refresh-acked-version { + type uint64; + description + "Version acked by the peer for refresh updates + sent"; + } + leaf is-prefix-orf-present { + type boolean; + description + "Outbound route filter prefix ORF present"; + } + leaf orf-entries-received { + type uint32; + description + "Number of outbound route filter entries received"; + } + leaf is-default-originate-sent { + type boolean; + description + "Default origination update sent"; + } + leaf route-policy-prefix-orf { + type string; + description + "Prefix based ORF for incoming updates"; + } + leaf route-policy-in { + type string; + description + "Incoming route policy name"; + } + leaf route-policy-out { + type string; + description + "Outgoing route policy name"; + } + leaf route-policy-ret { + type string; + description + "Retention route policy name"; + } + leaf route-policy-default-originate { + type string; + description + "Default-originate route policy name"; + } + leaf is-neighbor-ebgp-without-inbound-policy { + type boolean; + description + "eBGP neighbor with no configured inbound policy"; + } + leaf is-neighbor-ebgp-without-outbound-policy { + type boolean; + description + "eBGP neighbor with no configured outbound policy"; + } + leaf is-upd-orig-loopchk-disable-set { + type boolean; + description + "Flag to indicate if update out originator + loopcheck is disabled"; + } + leaf is-as-override-set { + type boolean; + description + "Flag to indicate as override set for BGP + neighbor"; + } + leaf is-allow-as-in-set { + type boolean; + description + "Allowas-in set "; + } + leaf allow-as-in-count { + type uint32; + description + "Allowas-in count config"; + } + leaf address-family-long-lived-time { + type uint32; + description + "AF specific Long-lived-time config"; + } + leaf eo-r-received-in-read-only { + type boolean; + description + "An EoR was received while in read-only mode"; + } + leaf acked-version { + type uint64; + description + "Version mapped from acked seqNo"; + } + leaf synced-acked-version { + type uint64; + description + "Version mapped from acked seqNo that was synced + last"; + } + leaf outstanding-version { + type uint32; + description + "No. of all outstanding version objects waiting + for ack from the peer"; + } + leaf outstanding-refresh-version { + type uint32; + description + "No. of only refresh version objects waiting for + ack from the peer"; + } + leaf outstanding-version-max { + type uint32; + description + "Version mapped from acked seqNo that was synced + last"; + } + leaf is-aigp-set { + type boolean; + description + "AIGP set "; + } + leaf is-rt-present { + type boolean; + description + "RT attribute list present"; + } + leaf is-rt-present-standby { + type boolean; + description + "RT attribute list present"; + } + leaf accept-own-enabled { + type boolean; + description + "Flag to indicate if Accept-Own is enabled"; + } + leaf selective-multipath-eligible { + type boolean; + description + "Flag to indicate if selective multipath is + eligible"; + } + leaf afrpki-disable { + type boolean; + description + "Prefix validation disabled"; + } + leaf afrpki-use-validity { + type boolean; + description + "Prefix v. use validity"; + } + leaf afrpki-allow-invalid { + type boolean; + description + "Prefix v. allow invalid"; + } + leaf afrpki-signal-ibgp { + type boolean; + description + "Prefix v. signal ibgp"; + } + leaf is-advertise-permanent-network { + type boolean; + description + "Flag to indicate if advertise is permanent + network"; + } + leaf is-send-mcast-attr { + type boolean; + description + "Send Mcast Attr"; + } + leaf import-stitching { + type boolean; + description + "Import Stitching enabled"; + } + leaf import-reoriginate { + type boolean; + description + "Import Reoriginate enabled"; + } + leaf import-reoriginate-stitching { + type boolean; + description + "Import Reoriginate Stitching enabled"; + } + leaf advertise-v4-flags { + type uint32; + description + "Advertise options for VPNV4"; + } + leaf advertise-v6-flags { + type uint32; + description + "Advertise options for VPNV6"; + } + leaf advertise-local-labeled-route-unicast { + type boolean; + description + "Advertise routes with "; + } + leaf prefixes-denied-non-cumulative { + type uint32; + description + "No. of prefixes exactly denied (non cumulative)"; + } + leaf enable-label-stack { + type boolean; + description + "Flag to indicate if label stack is enabled"; + } + leaf ot-prov-track-enable { + type boolean; + description + "OT Provider Tracking enabled"; + } + leaf ot-prov-track-state { + type Bgp-track-state; + description + "OT Provider Tracking state"; + } + leaf ot-prov-track-in-gr-state { + type boolean; + description + "OT Provider Track in GR State"; + } + leaf ot-prov-track-eor-tmr-running { + type boolean; + description + "OT Provider Track EOR timer running"; + } + leaf slow-peer-flags { + type uint8; + description + "Slow Peer Flags "; + } + leaf slow-peer-static { + type boolean; + description + "Static Slow Peer "; + } + leaf slow-peer-dynamic { + type boolean; + description + "Dynamic Slow Peer"; + } + leaf slow-peer-permanent { + type boolean; + description + "Permanent Slow Peer"; + } + leaf slow-peer-count { + type uint16; + description + "Slow peer count"; + } + list extended-community { + description + "Extended community attribute"; + leaf entry { + type uint8; + description + "Extended community attribute"; + } + } + list extended-community-standby { + description + "Extended community attribute"; + leaf entry { + type uint8; + description + "Extended community attribute"; + } + } + } + + grouping BGP-PERF-NBR { + description + "BGP PERF NBR"; + container gshut-bandwidth-aware-last-enter-time-spec { + description + "Last Bandwidth Aware Graceful-Maintenance enter + timestamp"; + uses BGP-TIMESPEC; + } + container gshut-bandwidth-aware-last-exit-time-spec { + description + "Last Bandwidth Aware Graceful-Maintenance exit + timestamp"; + uses BGP-TIMESPEC; + } + leaf read-throttles { + type uint32; + description + "Number of partial read throttles"; + } + leaf low-throttled-read { + type uint32; + description + "Num socket reads after nbrs crossed low + threshold"; + } + leaf high-throttled-read { + type uint32; + description + "Num of socket reads after nbr crossed high + threshold"; + } + leaf time-since-last-throttled-read { + type uint32; + units "second"; + description + "Time (in secs) since last read after being + throttled"; + } + leaf read-calls-count { + type uint32; + description + "No. of calls to function to read inbound data"; + } + leaf read-messages-count { + type uint32; + description + "Number of BGP messages read"; + } + leaf data-bytes-read { + type uint32; + units "byte"; + description + "No. of bytes of data read"; + } + leaf io-read-time { + type uint32; + units "millisecond"; + description + "Time spent reading inbound data (milliseconds)"; + } + leaf write-calls-count { + type uint32; + description + "No. of calls to function to write outbound data"; + } + leaf data-bytes-written { + type uint32; + units "byte"; + description + "Number of bytes that havesent to peers"; + } + leaf io-write-time { + type uint32; + units "millisecond"; + description + "Time spent writing outbound data (milliseconds)"; + } + leaf last-sent-seq-no { + type uint32; + description + "Seq No of the last sent byte"; + } + leaf write-subgroup-calls-count { + type uint32; + description + "No. of calls to function to process sub-group + message list"; + } + leaf write-subgroup-messages-count { + type uint32; + description + "Number of sub-group msgs processed"; + } + leaf subgroup-list-time { + type uint32; + units "millisecond"; + description + "Time spent processing sub-group message list + (milliseconds)"; + } + leaf write-queue-calls-count { + type uint32; + description + "No. of calls to function to process write queue"; + } + leaf write-queue-messages-count { + type uint32; + description + "Number of write queue messages processed"; + } + leaf write-queue-time { + type uint32; + units "millisecond"; + description + "Time spent processing write queue (milliseconds)"; + } + leaf inbound-update-messages { + type uint32; + description + "Number of inbound update messages processed"; + } + leaf inbound-update-messages-time { + type uint32; + units "millisecond"; + description + "Time spent processing inbound update messages + (milliseconds)"; + } + leaf maximum-read-size { + type uint32; + units "millisecond"; + description + "Size of largest socket (milliseconds)"; + } + leaf actives { + type uint32; + description + "Number of retried Active opens for this neighbor"; + } + leaf failed-post-actives { + type uint32; + description + "Number of Active Opens that failed in the Post + Active State for this neighbor"; + } + leaf passives { + type uint32; + description + "Number of retried Passive opens for this + neighbor"; + } + leaf rejected-passives { + type uint32; + description + "Number of rejected Passive opens for this + neighbor"; + } + leaf active-collision { + type uint32; + description + "Number of Closed Active connections for this + neighbor due to collision "; + } + leaf passive-collision { + type uint32; + description + "Number of Closed Remote opens for this + neighborneighbor due to collision "; + } + leaf control-to-read-thread-trigger { + type uint32; + description + "Number of times io-control thread trigger read + thread"; + } + leaf control-to-write-thread-trigger { + type uint32; + description + "Number of times io-control thread trigger write + thread"; + } + leaf network-status { + type uint32; + description + "Socket status, TRUE if socket closed"; + } + leaf reset-flags { + type uint32; + description + "Reset flags, per thread"; + } + leaf nbr-flags { + type uint32; + description + "Nbr flags, per thread"; + } + leaf nbr-fd { + type int32; + description + "Primary FD, per nbr"; + } + leaf reset-retries { + type uint8; + description + "Reset Retries, per nbr"; + } + leaf sync-flags { + type uint32; + description + "Sync flags, per nbr"; + } + leaf nsr-oper-down-count { + type uint32; + description + "Number of times NSR scoped sync has been done"; + } + leaf last-nsr-scoped-sync { + type uint32; + description + "Last time NSR scoped syncwas done for the + neighbor"; + } + leaf gshut-bandwidth-aware-num-enters { + type uint32; + description + "Number of times neighbor entered + Graceful-Maintenance due to bandwidth-awareness"; + } + leaf gshut-bandwidth-aware-num-exits { + type uint32; + description + "Number of times neighbor exited + Graceful-Maintenance due to bandwidth-awareness"; + } + } + + grouping BGP-NOTFNTYPE { + description + "BGP NOTFNTYPE"; + leaf time-since-last-notification { + type uint32; + units "second"; + description + "Time since the last notification was sent or + received (seconds)"; + } + leaf notification-error-code { + type uint8; + description + "Error code in last notification"; + } + leaf notification-error-subcode { + type uint8; + description + "Error subcode in last notification"; + } + list last-notification-data { + description + "Message data in last notification"; + leaf entry { + type uint8; + description + "Message data in last notification"; + } + } + } + + grouping BGP-NBR-BAG { + description + "BGP Neighbor Information"; + container connection-local-address { + description + "Local address for the connection"; + uses BGP-ADDRTYPE; + } + container connection-remote-address { + description + "Remote address for the connection"; + uses BGP-ADDRTYPE; + } + container send-notification-info { + description + "Information on the last notification sent"; + uses BGP-NOTFNTYPE; + } + container received-notification-info { + description + "Information on the last notification received"; + uses BGP-NOTFNTYPE; + } + container performance-statistics { + description + "BGP neighbor performance statistics"; + uses BGP-PERF-NBR; + } + container message-statistics { + description + "BGP neighbor message statistics"; + uses BGP-NBR-MSG-STATS; + } + container tcp-init-sync-time-spec { + description + "Time When neighbor entered TCP Init Sync"; + uses BGP-TIMESPEC; + } + container tcp-init-sync-phase-two-time-spec { + description + "Time when neighbor entered TCP Init Sync Phase + Two"; + uses BGP-TIMESPEC; + } + container tcp-init-sync-done-time-spec { + description + "Time when neighbor entered TCP Init Sync Done"; + uses BGP-TIMESPEC; + } + container graceful-maintenance { + description + "Globally activated BGp neighborfor graceful + shutdown"; + uses BGP-NBR-GSHUT; + } + leaf speaker-id { + type uint8; + description + "Speaker this neighbor is allocated to"; + } + leaf description { + type string; + description + "BGP neighbor description"; + } + leaf local-as { + type uint32; + description + "Local AS number"; + } + leaf remote-as { + type uint32; + description + "Remote AS number"; + } + leaf has-internal-link { + type boolean; + description + "Internal link to neighbor"; + } + leaf is-external-neighbor-not-directly-connected { + type boolean; + description + "Flag to indicate neighbor is external and not + directly connected"; + } + leaf messages-received { + type uint32; + description + "Number of messages received"; + } + leaf messages-sent { + type uint32; + description + "Number of messages sent"; + } + leaf update-messages-in { + type uint32; + description + "No. of update msgs received"; + } + leaf update-messages-out { + type uint32; + description + "No. of update messages sent"; + } + leaf messages-queued-in { + type uint32; + description + "No. of msgs on receive queue"; + } + leaf messages-queued-out { + type uint32; + description + "No. of messages on send queue"; + } + leaf connection-established-time { + type uint32; + units "second"; + description + "Time (in secs) that the connection has been + established"; + } + leaf connection-state { + type Bgp-conn-state; + description + "State of connection"; + } + leaf previous-connection-state { + type Bgp-conn-state; + description + "Previous state of connection"; + } + leaf connection-admin-status { + type uint32; + description + "Administrative status of connection"; + } + leaf open-check-error-code { + type Bgp-open-check-err; + description + "Error code for open check failure forBGP + neighbor"; + } + leaf is-local-address-configured { + type boolean; + description + "Local address configured for the neighbor + connection"; + } + leaf connection-local-port { + type uint32; + description + "Local port for the connection"; + } + leaf connection-remote-port { + type uint32; + description + "Remote port for the connection"; + } + leaf neighbor-interface-handle { + type uint32; + description + "Interface Handle of Neighbor"; + } + leaf reset-notification-sent { + type boolean; + description + "Notification was sent during last reset"; + } + leaf is-administratively-shut-down { + type boolean; + description + "Flag to indicate if BGP neighbor is + administratively shut down"; + } + leaf is-neighbor-max-prefix-shutdown { + type boolean; + description + "Neighbor shut down because it exceeded max prfx + count"; + } + leaf is-out-of-memory-shutdown { + type boolean; + description + "Neighbor shut down during a SEVERE low memory + condition"; + } + leaf is-out-of-memory-forced-up { + type boolean; + description + "Neighbor forced up during a low memory condition"; + } + leaf is-ebgp-peer-as-league { + type boolean; + description + "EBGP peer belongs to AS League"; + } + leaf is-ebgp-peer-common-admin { + type boolean; + description + "EBGP peer with common administation"; + } + leaf ttl-security-enabled { + type boolean; + description + "TTL Security enabled"; + } + leaf suppress4-byte-as { + type boolean; + description + "Suppress 4byteas capability"; + } + leaf bfd-session-state { + type Bgp-bfd-state; + description + "BFD state for this peer"; + } + leaf bfd-session-created-state { + type Bgp-bfd-state; + description + "BFD state for this peer"; + } + leaf bfd-session-enable-mode { + type Bgp-bfd-enable-mode; + description + "BFD enable mode for this peer"; + } + leaf bfd-minintervalval { + type uint32; + description + "BFD Mininterval for this peer"; + } + leaf bfd-multiplierval { + type uint32; + description + "BFD Multiplier for this peer"; + } + leaf bfd-state-ts { + type uint64; + description + "Timestamp since when nbr is in this bfd state"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID for the neighbor"; + } + leaf negotiated-protocol-version { + type uint16; + description + "Negotiated protocol version with the BGP + neighbor"; + } + leaf ebgp-time-to-live { + type uint32; + description + "Maximum number of hops for external BGP neighbor"; + } + leaf is-ebgp-multihop-bgp-mpls-forwarding-disabled { + type boolean; + description + "If true, MPLS and NULL rewrite is disabled; if + false, it is enabled"; + } + leaf tcpmss { + type uint32; + description + "Neighbor TCP Maximum Segment size"; + } + leaf msg-log-in { + type uint32; + description + "Message in log count"; + } + leaf msg-log-out { + type uint32; + description + "Message out log count"; + } + leaf neighbor-local-as { + type uint32; + description + "Local AS configured on the neighbor"; + } + leaf local-as-no-prepend { + type boolean; + description + "Option to not prepend the Local AS to + announcements"; + } + leaf is-capability-negotiation-suppressed { + type boolean; + description + "Flag to indicate if Capability negotiation is + disabled for this BGP neighbor"; + } + leaf is-capability-negotiation-performed { + type boolean; + description + "Flag to indicate if capability negotiation is + performed for BGP neighbor"; + } + leaf is-route-refresh-capability-received { + type boolean; + description + "Flag to indicate if the neighbor supports + route-refresh was received"; + } + leaf is-route-refresh-old-capability-received { + type boolean; + description + "Flag to indicate if the neighbor supports + route-refresh old capability was received"; + } + leaf is-gr-aware { + type boolean; + description + "GR awareness received"; + } + leaf is4-byte-as-capability-received { + type boolean; + description + "Flag to ndicate if neighbor supports 4-byte AS + capability received"; + } + leaf is4-byte-as-capability-sent { + type boolean; + description + "4-byte AScapability Snt"; + } + leaf multi-protocol-capability-received { + type boolean; + description + "Flag to indicate if multi-protocol capability + has been received"; + } + leaf hold-time { + type uint16; + units "second"; + description + "Hold time (in secs) negotiated for this + connection"; + } + leaf keep-alive-time { + type uint16; + units "second"; + description + "Keepalive time (in secs) negotiated for this + connection"; + } + leaf configured-hold-time { + type uint16; + units "second"; + description + "Hold time (in secs) configured for this + connection"; + } + leaf configured-keepalive { + type uint16; + units "second"; + description + "Keepalive time (in secs) configured for this + connection"; + } + leaf configured-min-acc-hold-time { + type uint16; + units "second"; + description + "Minimum acceptable hold time from neighbor (in + secs) configured for this connection"; + } + leaf min-advertise-interval { + type uint32; + units "second"; + description + "Minimum advertisement interval, secs part"; + } + leaf min-advertise-interval-msecs { + type uint32; + units "millisecond"; + description + "Minimum advertisement interval, msecs part"; + } + leaf min-origination-interval { + type uint16; + units "second"; + description + "Minimum origination interval (in secs)"; + } + leaf connect-retry-interval { + type uint16; + units "second"; + description + "Time (in secs) for connect retry timer"; + } + leaf time-since-last-update { + type uint32; + units "second"; + description + "Time (in secs) since last update message was + received"; + } + leaf time-since-last-read { + type uint32; + units "second"; + description + "Time (in secs) since last read"; + } + leaf time-since-last-read-reset { + type uint32; + units "second"; + description + "Time (in secs) since last read before last reset"; + } + leaf time-last-cb { + type uint64; + description + "CB"; + } + leaf time-last-cb-reset { + type uint32; + description + "Last CB before reset"; + } + leaf time-last-fb { + type uint64; + description + "FB"; + } + leaf count-last-write { + type uint32; + description + "Count"; + } + leaf time-since-last-write { + type uint32; + units "second"; + description + "Time (in secs) since last write"; + } + leaf attempted-last-write-bytes { + type uint32; + description + "Attempted size of last write"; + } + leaf actual-last-write-bytes { + type uint32; + description + "Actual size of last write"; + } + leaf time-since-second-last-write { + type uint32; + units "second"; + description + "Time (in seconds) elapsed since the second last + write event"; + } + leaf attempted-second-last-write-bytes { + type uint32; + description + "Attempted size of second last write"; + } + leaf actual-second-last-write-bytes { + type uint32; + description + "Actual size of second last write"; + } + leaf time-since-last-write-reset { + type uint32; + units "second"; + description + "Time (in secs) since last write before last + reset"; + } + leaf attempted-last-write-reset-bytes { + type uint32; + description + "Attempted size of last write before reset"; + } + leaf actual-last-write-reset-bytes { + type uint32; + description + "Actual size of last write before reset"; + } + leaf time-since-second-last-write-reset { + type uint32; + units "second"; + description + "Time (in secs) since last write before last + reset"; + } + leaf attempted-second-last-write-reset-bytes { + type uint32; + description + "Attempted size of second last write before reset"; + } + leaf actual-second-last-write-reset-bytes { + type uint32; + description + "Actual size of second last write before reset"; + } + leaf last-write-event { + type uint32; + units "second"; + description + "Time (in secs) since last write thread event"; + } + leaf second-last-write-event { + type uint32; + units "second"; + description + "Time (in secs) since second last write thread + event"; + } + leaf last-k-aexpiry-reset { + type uint32; + units "second"; + description + "Time (in secs) since last KA timer expiry before + reset"; + } + leaf second-last-k-aexpiry-reset { + type uint32; + units "second"; + description + "Time (in secs) since second last KA timer expiry + before reset"; + } + leaf last-k-anotsent-reset { + type uint32; + units "second"; + description + "Duration (in secs) since last time that KA was + not sent before reset"; + } + leaf last-k-aerror-reset { + type uint32; + units "second"; + description + "Duration (in secs) since last time that an error + was encountered after KA expiry"; + } + leaf last-k-astart-reset { + type uint32; + units "second"; + description + "Time (in secs) since the last KA timer start + before reset"; + } + leaf second-last-k-astart-reset { + type uint32; + units "second"; + description + "Time (in secs) since the second last KA timer + start before reset"; + } + leaf connection-up-count { + type uint32; + description + "Number of times the connection was established"; + } + leaf connection-down-count { + type uint32; + description + "Number of times connection was dropped"; + } + leaf time-since-connection-last-dropped { + type uint32; + units "second"; + description + "Time since the connection last went down + (seconds)"; + } + leaf reset-reason { + type Bgp-reset-reason-index; + description + "Reason for last connection reset"; + } + leaf peer-reset-reason { + type Bgp-peer-reset-reason-index; + description + "Reason for last peer close event"; + } + leaf peer-error-code { + type uint32; + description + "If peer closed, error received from transport"; + } + leaf last-notify-error-code { + type uint8; + description + "Code for the last error notification seen on the + connection"; + } + leaf last-notify-error-subcode { + type uint8; + description + "Error subcode of the last error notification + seen on the connection"; + } + leaf error-notifies-received { + type uint32; + description + "Number of error notifications received on the + connection"; + } + leaf error-notifies-sent { + type uint32; + description + "Number of error notifications sent on the + connection"; + } + leaf remote-as-number { + type uint32; + description + "Remote AS number of BGP neighbor"; + } + leaf dmz-link-bandwidth { + type uint32; + description + "Bandwidth of link to single-hop eBGP peer"; + } + leaf ebgp-recv-dmz { + type boolean; + description + "Receive Bandwidth of link to single-hop eBGP + peer"; + } + leaf ebgp-send-dmz-mode { + type Bgp-ebgp-send-dmz-enable-mode; + description + "Ebgp send dmz link bw mode"; + } + leaf tos-type { + type uint8; + description + "Precedence or DSCP type"; + } + leaf tos-value { + type uint8; + description + "Precedence or DSCP value"; + } + leaf tcp-session-open-mode { + type Bgp-tcp-mode; + description + "The TCP mode to be used to set up BGP session + with the neighbor"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf standby-rp { + type boolean; + description + "Standby RP socket inited for Active Open"; + } + leaf nsr-enabled { + type boolean; + description + "Neighbor supports NSR"; + } + leaf graceful-restart-enabled-nbr { + type boolean; + description + "Neighbor supports graceful-restart"; + } + leaf gr-restart-time { + type uint32; + units "second"; + description + "Neighbor restart time (in seconds)"; + } + leaf gr-stale-path-time { + type uint32; + units "second"; + description + "Neighbor stale-path time (in seconds)"; + } + leaf fssn-offset { + type uint32; + description + "First standby SeqNo offset"; + } + leaf fpbsn-offset { + type uint32; + description + "First standby PDU boundary SeqNo offset"; + } + leaf last-ackd-seq-no { + type uint32; + description + "SeqNo of the last Ackd byte"; + } + leaf bytes-written { + type uint32; + units "byte"; + description + "Total bytes written by write thread"; + } + leaf bytes-read { + type uint32; + units "byte"; + description + "Total bytes read"; + } + leaf socket-read-bytes { + type uint32; + units "byte"; + description + "Total read bytes value insocket-lib"; + } + leaf is-read-disabled { + type boolean; + description + "If true, socket read isdisabled"; + } + leaf update-bytes-read { + type uint32; + units "byte"; + description + "Total number of bytes readcorresponding to + update messages"; + } + leaf nsr-state { + type Bgp-sync-nbr-nsr-state; + description + "NSR state"; + } + leaf is-passive-close { + type boolean; + description + "If true, active socket canbe closed if passive + openis received for a GRcapable neighbor"; + } + leaf nbr-enforce-first-as { + type boolean; + description + "Neighbor enforce first AS"; + } + leaf active-bmp-servers { + type uint8; + description + "BMP Servers to which the neighbor sends logs"; + } + leaf nbr-cluster-id { + type uint32; + description + "Cluster id"; + } + leaf nbr-in-cluster { + type uint8; + description + "Type of cluster_id:undefined/number/Ip address"; + } + leaf ignore-connected { + type boolean; + description + "If true, the VPN client isan IBGP CE peer"; + } + leaf internal-vpn-client { + type boolean; + description + "If true, don't do NHconnected check for nbr"; + } + leaf io-armed { + type boolean; + description + "If true, socket has beenauto-armed for io + control"; + } + leaf read-armed { + type boolean; + description + "If true, socket has beenauto-armed for read"; + } + leaf write-armed { + type boolean; + description + "If true, socket has beenauto-armed for write"; + } + leaf discard-data-bytes { + type uint32; + units "byte"; + description + "Remaining discard data (bytes) on Standby"; + } + leaf local-as-replace-as { + type boolean; + description + "Local AS Replace-AS option"; + } + leaf local-as-dual-as { + type boolean; + description + "Local AS Dual-AS option"; + } + leaf local-as-dual-as-mode-native { + type boolean; + description + "Applies only if Local AS Dual-AS option is + enabled. Indicates if Dual-AS mode is native."; + } + leaf egress-peer-engineering-enabled { + type boolean; + description + "Indicates if Egress Peer Engineering is enabled"; + } + leaf discard-as4-path { + type uint32; + description + "Discard AS4_PATH in case there is a discrepancy + in merging AS_PATH and AS4_PATH,retain ASPATH"; + } + leaf rpki-disable { + type boolean; + description + "Prefix validation disabled"; + } + leaf rpki-use-validity { + type boolean; + description + "Prefix v. use validity"; + } + leaf rpki-allow-invalid { + type boolean; + description + "Prefix v. allow invalid"; + } + leaf rpki-signal-ibgp { + type boolean; + description + "Prefix v. signal ibgp"; + } + leaf dynamic-neighbor { + type boolean; + description + "Flag to indicate if the neighbor specifically + defining the neighborsis a dynamic neighbor"; + } + leaf merge-inbound-safi1and4-updates { + type boolean; + description + "Merge SAFI-1 and SAFI-4 updates from neighbor"; + } + leaf is-capability-enhe-suppressed { + type boolean; + description + "Flag to indicate if Capability + extended-nexthop-encoding is disabled for this + BGP neighbor"; + } + leaf delete-time-remaining { + type uint32; + units "second"; + description + "Time (in secs) remaining for deletion"; + } + leaf sn-bfd-discriminator { + type uint32; + description + "Local Discriminator for the associated BFD + session"; + } + leaf log-up-down-configured { + type boolean; + description + "Flag to indicate if the log neighbor Up/Down is + specifically enabled"; + } + leaf log-up-down-disabled { + type boolean; + description + "Flag to indicate if the log neighbor Up/Down is + specifically disabled"; + } + leaf bmp-server-id { + type int32; + description + "BMP Server id"; + } + leaf last-bgp-received-message { + type Bgp-message; + description + "Last BGP message received from the neighbor"; + } + leaf sync-ilist-element-flag { + type int32; + description + "Neighbor Sync Ilist Element Flag"; + } + list af-data { + max-elements "25"; + description + "Address family specific neighbor data"; + uses BGP-NBR-AF; + } + } + + grouping BGP-PATH-MULTI { + description + "BGP path set"; + list paths { + description + "BGP paths information"; + uses BGP-PATH-BAG; + } + list adv-path-info { + description + "Net Advertized Paths"; + uses BGP-PATH-ADV-BAG; + } + } + + grouping BGP-ORR-GROUP-BAG { + description + "BGP ORR Group Information"; + container orr-root-address { + description + "ORR Root Address"; + uses BGP-ADDRTYPE; + } + container orr-sec-root-address { + description + "ORR Sec Root Address"; + uses BGP-ADDRTYPE; + } + container orr-ter-root-address { + description + "ORR ter Root Address"; + uses BGP-ADDRTYPE; + } + leaf orr-group-name { + type string; + description + "ORR Group Name"; + } + leaf is-orr-root-address-configured { + type boolean; + description + "ORR Root address configured"; + } + leaf is-orr-sec-root-address-configured { + type boolean; + description + "ORR Sec Root address configured"; + } + leaf is-orr-ter-root-address-configured { + type boolean; + description + "ORR Ter Root address configured"; + } + leaf orr-neighbor-count { + type uint32; + description + "ORR neighbor count"; + } + leaf orr-index { + type uint32; + description + "ORR index"; + } + leaf orr-tableid { + type uint32; + description + "ORR Group tableid"; + } + } + + grouping BGP-NBR-ADV-CNT-BAG { + description + "BGP Neighbor adv cnt bag"; + leaf max-prefix-advertisedcount { + type uint32; + description + "Number of prefixes advertsied to neighbor"; + } + } + + grouping BGP-RECENT-NET-BAG { + description + "BGP Recent Net"; + container bgp-prefix { + description + "BGP prefix"; + uses BGP-PREFIXTYPE; + } + leaf route-distinguisher { + type xr:Route-dist; + description + "BGP path Route Distinguisher"; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + } + + grouping BGP-MVPN-EXTCOMM { + description + "MVPN RT list entry"; + list bgp-mvpn-extcomm { + description + "Next entry in prefix list"; + leaf ext-comm-value { + type yang:hex-string; + description + "Extended community value"; + } + leaf ext-comm-is-stale { + type boolean; + description + "Extended community is stale"; + } + } + } + + grouping BGP-MVPN-RT-LIST-BAG { + description + "BGP MVPN RT list bag"; + container mvpn-extcomm-list { + description + "Prefix list"; + uses BGP-MVPN-EXTCOMM; + } + leaf af-name { + type Bgp-afi; + description + "Address family identfier"; + } + leaf vrf-ri-exist { + type boolean; + description + "Is Vrf ri existing"; + } + leaf router-address { + type inet:ipv4-address; + description + "PE address"; + } + leaf vrf-index { + type uint16; + description + "Vrf index"; + } + leaf seg-nh-exist { + type boolean; + description + "Is segmented nh existing"; + } + leaf seg-nh-address { + type inet:ipv4-address; + description + "Segmented nexthop"; + } + leaf source-as-exist { + type boolean; + description + "Is source as exising"; + } + leaf source-as { + type uint32; + description + "Source As number"; + } + leaf vrf-ri-exist-m { + type boolean; + description + "Is Vrf ri existing for mcast"; + } + leaf router-address-m { + type inet:ipv4-address; + description + "PE address for mcast"; + } + leaf vrf-index-m { + type uint16; + description + "Vrf index for mcast"; + } + leaf seg-nh-exist-m { + type boolean; + description + "Is segmented nh existing for mcast"; + } + leaf seg-nh-address-m { + type inet:ipv4-address; + description + "Segmented nexthop for mcast"; + } + leaf source-as-exist-m { + type boolean; + description + "Is source as exising for mcast"; + } + leaf source-as-m { + type uint32; + description + "Source As number for mcast"; + } + leaf connector-src-exist { + type boolean; + description + "Is Connector src existing"; + } + leaf connector-src { + type inet:ipv4-address; + description + "Connector src"; + } + } + + grouping BGP-PATH-ELEM-BAG { + description + "BGP path element"; + container pelem-path-nexthop { + description + "Path nexthop address"; + uses BGP-ADDRTYPE; + } + container nh-tunnel { + description + "NH tunnel information"; + uses BGP-TE-TUNNEL; + } + container pelem-path-neighbor-addr { + description + "Path neighbor address"; + uses BGP-ADDRTYPE; + } + leaf pelem-path-id { + type uint32; + description + "Local Path ID"; + } + leaf pelem-version { + type uint64; + description + "Version"; + } + leaf pelem-flags { + type uint32; + description + "Flags"; + } + leaf pelem-gw-metric { + type uint32; + description + "Gateway metric"; + } + leaf pelem-path-flags { + type uint64; + description + "Path flags"; + } + leaf pelem-path-peer-path-id { + type uint32; + description + "Path peer path ID"; + } + leaf pelem-table-attr-version { + type uint64; + description + "Table Attr version"; + } + leaf pelem-path-table-attr-version { + type uint64; + description + "Path Table Attribute version"; + } + leaf pelem-no-bestpath-table-attr-version { + type uint64; + description + "BGP network no best path tableattribute version + number"; + } + leaf pelem-no-addpath-table-attr-version { + type uint64; + description + "The version of the no addpath table attribute"; + } + leaf is-perm-path-pelem { + type boolean; + description + "Pelem for permanent path"; + } + } + + grouping BGP-NET-BAG { + description + "BGP network"; + container bgp-prefix { + description + "BGP prefix"; + uses BGP-PREFIXTYPE; + } + container version-timestamp { + description + "BGP network version timestamp"; + uses BGP-TIMESPEC; + } + container version-age { + description + "BGP network age of version"; + uses BGP-TIMESPEC; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf process-instance-id { + type uint8; + description + "ID of the BGP process instance"; + } + leaf has-inconsistent-paths { + type boolean; + description + "Flag to indicate if inconsistent paths attached + to net"; + } + leaf is-net-aggregation-suppressed { + type boolean; + description + "Net suppressed due to aggregation"; + } + leaf is-net-aggregate-contributor { + type boolean; + description + "Net is an aggregate contributor"; + } + leaf is-net-ldp-signaled { + type boolean; + description + "L2VPN Net LDP signaled aggregation"; + } + leaf table-version { + type uint64; + description + "Table version # for net"; + } + leaf table-brib-version { + type uint64; + description + "Table version # for updates"; + } + leaf advertisedto-pe { + type boolean; + description + "Net could be advertised + to PE peers"; + } + leaf has-local-label { + type boolean; + description + "Flag to indicate if local BGP labelassociated + with the net"; + } + leaf net-local-label { + type uint32; + description + "Local label"; + } + leaf net-label-mode { + type uint32; + description + "Label mode"; + } + leaf net-local-label-rewrite { + type boolean; + description + "Net label has rewrite"; + } + leaf net-local-label-srgb { + type boolean; + description + "Net label allocated fromSegment routing global + block"; + } + leaf has-lbl-retained { + type boolean; + description + "Flag to indicate if BGP network labels are + retained "; + } + leaf route-distinguisher { + type xr:Route-dist; + description + "BGP network Route Distinguisher"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf net-flags { + type uint32; + description + "Flags associated with + net"; + } + leaf net-extended-flags { + type uint32; + description + "BGP network flags for extendedcommunity"; + } + leaf net-multipath { + type boolean; + description + "Net has multipaths"; + } + leaf net-eibgp-multipath { + type boolean; + description + "Net has EIBGP multipaths"; + } + leaf net-backup-available { + type boolean; + description + "Net has backup path"; + } + leaf net-backup-label-rewrite-available { + type boolean; + description + "Net has label rewrite for backup path"; + } + leaf rib-failed { + type boolean; + description + "RIB install failed"; + } + leaf gateway-array { + type uint32; + description + "ID for the gateway array"; + } + leaf resilient-nexthop-set { + type uint32; + description + "ID for the Resilient per CEnexthop set"; + } + leaf is-permanent-network { + type boolean; + description + "Flag that indicates that the networkhas + permanent path"; + } + leaf num-of-path { + type uint32; + description + "Number of path for this net"; + } + leaf version { + type uint64; + description + "The version of the the radix tree"; + } + leaf bit { + type uint16; + description + "Bit"; + } + leaf flags { + type uint8; + description + "Flags"; + } + leaf has-srv6-sid-allocated { + type boolean; + description + "Net has SRv6 SID allocated"; + } + leaf srv6-sid-address { + type Ipv6-address; + description + "SRv6 SID address value"; + } + leaf srv6-sid-address-len { + type uint32; + description + "SRv6 SID address Length"; + } + list local-peers-advertised-to { + description + "Local peers that this prefix has been advertised + to"; + uses BGP-ADVINFO-TYPE; + } + list pe-peers-advertised-to { + description + "PE peers that this prefix has been advertised to"; + uses BGP-ADVINFO-TYPE; + } + list best-path-orrbitfield { + description + "ORR Best path Bitfields"; + uses BGP-ADVINFO-TYPE; + } + list add-path-orrbitfield { + description + "ORR Add path Bitfields"; + uses BGP-ADVINFO-TYPE; + } + list local-process-instance-path { + description + "Local (to process instance) paths for this net "; + uses BGP-PATH-BAG; + } + list active-process-instance-path { + description + "Path for this net from BGP active instance + process"; + uses BGP-PATH-BAG; + } + list local-path-element { + description + "BGP network elements list of thelocal path"; + uses BGP-PATH-ELEM-BAG; + } + list active-path-element { + description + "Path element list received from Active inst"; + uses BGP-PATH-ELEM-BAG; + } + } + + grouping BGP-UPDGEN-FILTERGRP-BAG { + description + "BGP Update generation Filter-group information"; + leaf process-id { + type uint32; + description + "ProcessID"; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-group-af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf update-filter-group-index { + type uint32; + description + "Filter-group index"; + } + leaf parent-filter-group-index { + type uint32; + description + "In refresh sub group points to the + correspondingfilter group in parent subgroup + index"; + } + leaf sub-group-index-xr { + type uint32; + description + "Index for the sub-group used when accessing bits"; + } + leaf sub-group-id-xr { + type uint32; + description + "Sub-group identifier"; + } + leaf parent-sub-group-index { + type uint32; + description + "Index for the subgroup of parent"; + } + leaf parent-sub-group-id { + type uint32; + description + "Parent Sub-group identifier"; + } + leaf update-group-index-xr { + type uint32; + description + "BGP update generation index of update-group"; + } + leaf neighbor-count { + type uint32; + description + "Number of neighbors in this BGP filter-group"; + } + } + + grouping BGP-BMP-CONVERGENCE-PER-SERVER { + description + "BMP Per server convergence information"; + leaf bmp-server-name { + type string; + description + "BMP server name"; + } + leaf bmpq-size { + type uint32; + description + "Number of elements in the write Q"; + } + leaf update-info-version { + type uint64; + description + "Update information version"; + } + leaf server-admin-down { + type boolean; + description + "Server is admin shutdown"; + } + leaf server-down { + type boolean; + description + "Server is down"; + } + } + + grouping BGP-BMP-CONVERGENCE-BAG { + description + "BGP BMP Convergence information"; + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf has-converged { + type boolean; + description + "Convergence has been reached"; + } + leaf is-table-copy-pending { + type boolean; + description + "Is table copy pending?"; + } + leaf is-update-gen-pending { + type boolean; + description + "Is update gen pending?"; + } + leaf table-version { + type uint64; + description + "BMP table version"; + } + list bmp-per-server-information { + description + "BMP per server convergence information"; + uses BGP-BMP-CONVERGENCE-PER-SERVER; + } + } + + grouping BGP-UPDGEN-UPDGRP-BAG { + description + "BGP Update generation Update-group information"; + container last-update-timer-start-timestamp { + description + "Start timer update for the last update"; + uses BGP-TIMESPEC; + } + container last-update-timer-stop-timestamp { + description + "Timer stop time for the last update"; + uses BGP-TIMESPEC; + } + container last-update-timer-expiry-timestamp { + description + "Timer expiry time update for last update"; + uses BGP-TIMESPEC; + } + container last-update-timer-remaining-value { + description + "Update timer remaining time"; + uses BGP-TIMESPEC; + } + container last-update-timer-delay-value { + description + "Number of timer delayed for the last update"; + uses BGP-TIMESPEC; + } + container update-statistics { + description + "BGP update-group update statistics"; + uses BGP-UPDGEN-STATS-BAG; + } + leaf process-id { + type uint32; + description + "ProcessID"; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-group-af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf neighbor-session-af-name { + type uint8; + description + "Neighbor session address family"; + } + leaf update-group-index-xr { + type uint32; + description + "Index of the BGP update group"; + } + leaf update-group-flags2 { + type uint32; + description + "Update-group internal flags2"; + } + leaf update-out-queue-messages { + type uint32; + description + "OutQueue Messages"; + } + leaf update-out-queue-size { + type uint32; + description + "OutQueue Size"; + } + leaf update-sub-group-count { + type uint32; + description + "Sub-group count"; + } + leaf sub-group-throttled-count { + type uint32; + description + "Throttled sub-group count"; + } + leaf refresh-sub-group-count { + type uint32; + description + "Number of temporary refresh sub groups"; + } + leaf refresh-sub-group-throttled-count { + type uint32; + description + "Throttled refresh sub-group count"; + } + leaf filter-group-count { + type uint32; + description + "Number of filter groups in BGP update generation"; + } + leaf neighbor-count { + type uint32; + description + "Number of neighbors present in BGp update + generation"; + } + leaf neighbor-leaving-count { + type uint32; + description + "Count of neighbors leaving the update-group"; + } + leaf update-generation-recovery-pending { + type boolean; + description + "Flag to indicate if update generation recovery + is pending"; + } + leaf last-update-timer-expiry-age { + type uint32; + description + "Time since last update timer expiry event"; + } + leaf is-update-timer-running { + type boolean; + description + "Flag to indicate if timer is running"; + } + leaf perm-pelem-encountered { + type uint32; + description + "Count of Perm Pelems seen by updgen"; + } + leaf perm-pelem-allowed { + type uint32; + description + "Count of Perm Pelems allowed by updgen"; + } + leaf perm-pelem-not-allowed { + type uint32; + description + "Count of Perm Pelems not allowed by updgen"; + } + leaf perm-pelem-exp-wdr { + type uint32; + description + "Count of Perm Pelems explicitly wdrn by updgen"; + } + leaf perm-pelem-spur-wdr { + type uint32; + description + "Count of Perm Pelems Spurious withdraws by + updgen"; + } + leaf is-permanent { + type boolean; + description + "Permanent UG check"; + } + } + + grouping BGP-BMP-PATH-BAG { + description + "BMP Table path details"; + container neighbor-address { + description + "BGP monitoring protocolip address of neighbor"; + uses BGP-ADDRTYPE; + } + container next-hop-address { + description + "Nexthop address"; + uses BGP-ADDRTYPE; + } + container next-hop { + description + "BGP Next hop information"; + uses BGP-ADDRTYPE; + } + container attributes-after-policy-in { + description + "Attributes after inbound policy applied."; + uses BGP-ATTR; + } + container next-hop-ll-address { + description + "Nexthop link-local address"; + uses BGP-ADDRTYPE; + } + leaf neighbor-addpath-rx-enabled { + type boolean; + description + "Add-path receive enabled on the neighbor"; + } + leaf bmp-path-flags { + type uint32; + description + "Flags associated with path"; + } + leaf bmp-path-adv-bit-map { + type uint16; + description + "Path's Adv bit map"; + } + leaf bmp-path-snd-bit-map { + type uint16; + description + "Path's pending snd bit map"; + } + leaf bmp-nbr-bit-map { + type uint32; + description + "Paths Nbr bmp bit map"; + } + leaf local-path { + type boolean; + description + "Is path originated locally?"; + } + leaf received-path-id { + type uint32; + description + "Received path id"; + } + leaf local-preference { + type uint32; + description + "Local preference value"; + } + leaf bpath-pointer { + type uint64; + description + "BGP Path pointer"; + } + leaf process-instance-id { + type uint8; + description + "BGP Process instance ID"; + } + leaf advertisedto-pe { + type boolean; + description + "Net could be advertised "; + } + leaf is-path-valid { + type boolean; + description + "Flag to indicate if BGP path attributes are + usable"; + } + leaf is-path-locally-sourced { + type boolean; + description + "Path sourced locally"; + } + leaf is-path-local-aggregate { + type boolean; + description + "Path is a locally created aggregate"; + } + leaf is-path-from-network-command { + type boolean; + description + "Path sourced by network command"; + } + leaf is-path-from-redistribute-command { + type boolean; + description + "Path sourced by redistribute command"; + } + leaf is-path-imported { + type boolean; + description + "Path is imported"; + } + leaf is-permanent-path { + type boolean; + description + "Path is of type Permanent path"; + } + leaf is-internal-path { + type boolean; + description + "Received over an internal link"; + } + leaf is-atomic-aggregate-present { + type boolean; + description + "Flag to indicate if Atomic aggregate attribute + present"; + } + leaf is-best-path { + type boolean; + description + "Best available path"; + } + leaf is-as-best { + type boolean; + description + "Best available path within AS"; + } + leaf is-path-multipath { + type boolean; + description + "Path is one of multipath best routes"; + } + leaf is-path-best-external { + type boolean; + description + "Path is a best external path"; + } + leaf is-path-backup { + type boolean; + description + "Path is a backup path "; + } + leaf is-path-backup-protect-multipath { + type boolean; + description + "Path is a backup path to protect multipaths"; + } + leaf is-path-imp-candidate { + type boolean; + description + "Path is a candidate for multipath import"; + } + leaf is-path-vpn-only { + type boolean; + description + "Path is not in the vrf"; + } + leaf local-nh { + type boolean; + description + "Path has local nexthop"; + } + leaf labeled-unicast-safi-path { + type boolean; + description + "Path was learnt by labeled-unicast SAFI"; + } + leaf path-flags { + type uint64; + description + "Flags associated with path"; + } + leaf path-flags2 { + type uint32; + description + "Flags2 associated with path"; + } + leaf path-import-flags { + type uint32; + description + "Flags to indicate for import processing in BGP"; + } + leaf is-path-from-confederation-peer { + type boolean; + description + "Path received from confederation peer"; + } + leaf local-path-id { + type uint32; + description + "Local path ID"; + } + leaf path-table-version { + type uint64; + description + "Table version # for pelem"; + } + leaf neighbor-router-id { + type inet:ipv4-address; + description + "Router ID of the neighbor for the path"; + } + leaf nexthop-interface-handle { + type uint32; + description + "Interface Handle of Nexthop"; + } + leaf accept-own-path { + type boolean; + description + "Accept Own"; + } + leaf accept-own-self-originated-path { + type boolean; + description + "Flag to indicate if BGP path is Accept-Own + community and self-originated"; + } + leaf is-path-not-advertised { + type boolean; + description + "Flag to indicate if path is not advertised to + any peer"; + } + leaf is-path-not-advertised-to-ebgp { + type boolean; + description + "Not advertised to EBGPs"; + } + leaf is-path-advertised-local-as-only { + type boolean; + description + "Not advertised outside local AS"; + } + leaf next-hop-route-distinguisher-valid { + type boolean; + description + "Route Distinguisher of the nexthop is valid"; + } + leaf next-hop-route-distinguisher { + type xr:Route-dist; + description + "Route Distinguisher of the nexthop"; + } + leaf next-hop-ll-route-distinguisher-valid { + type boolean; + description + "Route Distinguisher of the link-local nexthop is + valid"; + } + leaf next-hop-ll-route-distinguisher { + type xr:Route-dist; + description + "Route Distinguisher of the link-local nexthop"; + } + list received-label { + description + "Set of received label stack"; + leaf entry { + type uint32; + description + "Set of received label stack"; + } + } + list local-peers-advertised-to { + description + "Local peers that this prefix has been advertised + to"; + uses BGP-ADVINFO-TYPE; + } + list pe-peers-advertised-to { + description + "PE peers that this prefix has been advertised to"; + uses BGP-ADVINFO-TYPE; + } + list best-path-orrbitfield { + description + "ORR Best path Bitfields"; + uses BGP-ADVINFO-TYPE; + } + list add-path-orrbitfield { + description + "ORR Add path Bitfields"; + uses BGP-ADVINFO-TYPE; + } + } + + grouping BGP-BMP-NET-BAG { + description + "BMP Table net details"; + container bgp-prefix { + description + "BGP prefix"; + uses BGP-PREFIXTYPE; + } + container version-timestamp { + description + "Net Version bump timestamp"; + uses BGP-TIMESPEC; + } + container version-age { + description + "Net Version bump age"; + uses BGP-TIMESPEC; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf route-distinguisher { + type xr:Route-dist; + description + "Route Distinguisher"; + } + leaf rd-version { + type uint64; + description + "Route Distinguisher Version"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf bmp-net-flags { + type uint32; + description + "Flags associated with net"; + } + leaf net-extended-flags { + type uint32; + description + "BGP network flags for extended"; + } + leaf bmp-net-version { + type uint64; + description + "Net's version"; + } + leaf num-of-path { + type uint32; + description + "Number of path for the net"; + } + leaf has-local-label { + type boolean; + description + "Flag to indicate if local label is present in + netbag"; + } + leaf net-local-label { + type uint32; + description + "Local label"; + } + leaf bmp-mode { + type uint8; + description + "BMP Route Monitoring Mode"; + } + list bmp-path { + description + "List of paths under the BMP net"; + uses BGP-BMP-PATH-BAG; + } + } + + grouping BGP-RTSET { + description + "BGP RT-set"; + leaf rt-set-len { + type uint8; + units "byte"; + description + "Length in bytes of set of route targets"; + } + leaf rt-set-id { + type uint32; + description + "Identifier of the rtset"; + } + leaf rt-set-net-count { + type uint32; + description + "Count of nets with paths with the rtset"; + } + list rt-set { + description + "Set of route targets"; + leaf entry { + type uint8; + description + "Set of route targets"; + } + } + } + + grouping BGP-RTSET-BAG { + description + "BGP RT-set information"; + container route-target-set { + description + "BGP route target set"; + uses BGP-RTSET; + } + } + + grouping BGP-INT-NH-GW { + description + "BGP Internal Nexthop Gateway Information"; + leaf gateway-flags { + type uint32; + description + "Flags in BGP gateway next hop"; + } + leaf registration-type { + type Bgp-nh-validate; + description + "Registration type for next hop"; + } + leaf registration-since { + type uint32; + description + "Time since registration"; + } + } + + grouping BGP-INT-NH { + description + "BGP Internal Nexthop information"; + container nexthop-address { + description + "IP address of the next hop in BGP"; + uses BGP-ADDRTYPE; + } + leaf nexthop-id { + type uint32; + description + "Comm librray ID"; + } + leaf nexthop-version { + type uint64; + description + "Table version"; + } + leaf nexthop-flags { + type uint32; + description + "Flags associated with the next hop address in + BGP"; + } + leaf nexthop-if-handle { + type uint32; + description + "Interface handle associated with the next hop + address in BGP"; + } + leaf nexthop-af-user-bits { + type uint32; + description + "Bitmask indicating the AFs which share the + nexthop"; + } + leaf nexthop-label { + type uint32; + description + "Label associated with the next hop address"; + } + leaf gateway-flags { + type uint32; + description + "BGP nexthop gateway flags"; + } + list nexthop-metrice { + description + "Metrices associated with the next hop address in + + BGP"; + leaf entry { + type uint32; + description + "Metrices associated with the next hop address in + + BGP"; + } + } + list nexthop-refcount { + description + "reference counts for the next hop"; + leaf entry { + type uint32; + description + "reference counts for the next hop"; + } + } + list nexthop-encap-type { + description + "Encap types associated with the next hop address + + in BGP"; + leaf entry { + type uint16; + description + "Encap types associated with the next hop address + + in BGP"; + } + } + list nexthop-gateway-internal-info { + description + "Internal nexthop Gateway info"; + uses BGP-INT-NH-GW; + } + } + + grouping BGP-NEXTHOP-GW-INFO { + description + "BGP Nexthop GW info"; + container nexthop-route { + description + "Route resolving the nexthop"; + uses BGP-ADDRTYPE; + } + leaf nexthop-route-prefix-length { + type uint8; + description + "Prefix length of the route resolving the nexthop"; + } + leaf nexthop-route-protocol { + type string; + description + "Protocol that resolves the route to the nexthop"; + } + leaf nexthop-route-path-count { + type uint32; + description + "Count of paths in the resolving route"; + } + leaf nexthop-af-invalid-bits { + type uint16; + description + "Bitmask indicating the address-family which have + been invalidated for the nexthop"; + } + leaf nexthop-status { + type uint8; + description + "Status of the next hop address"; + } + leaf nexthop-tableid { + type uint64; + description + "BGP gateway neighbor route table id"; + } + leaf nexthop-metric { + type uint32; + description + "IGP metric for nexthop"; + } + leaf orrafi-used-bits { + type uint32; + description + "ORR afi bits"; + } + leaf last-event-type { + type Bgp-nh-event; + description + "Last nexthop event type"; + } + leaf last-update-type { + type Bgp-nh-update; + description + "Last nexthop update type"; + } + leaf critical-events { + type uint32; + description + "Count of critical events received from RIB"; + } + leaf non-critical-events { + type uint32; + description + "Count of non-critical events received from RIB"; + } + leaf last-event-since { + type uint32; + description + "Time since the last event sent to or received + from RIB"; + } + leaf last-rib-update { + type uint32; + description + "Time since the last rib update happened"; + } + leaf nexthop-mpls-enabled { + type boolean; + description + "TRUE if MPLS is configured for IAS/CsC + application"; + } + leaf nexthop-mpls-interfaces { + type uint32; + description + "Count of interfaces on which MPLS is enabled"; + } + leaf nexthop-mpls-label { + type uint32; + description + "Local label allocated for IAS/CsC application"; + } + list nexthop-route-path { + description + "Nexthop paths of the resolving route"; + uses BGP-ADDRTYPE; + } + } + + grouping BGP-NEXTHOP-BAG { + description + "BGP Nexthop info"; + container nexthop-address { + description + "IP address of nexthop in BGP"; + uses BGP-ADDRTYPE; + } + container nh-tunnel { + description + "NH tunnel information"; + uses BGP-TE-TUNNEL; + } + container nexthop-internal-info { + description + "Internal nexthop info"; + uses BGP-INT-NH; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf rib-nexthop-id { + type uint32; + description + "RIB Nexthop Id"; + } + leaf nexthop-pending-registration { + type uint8; + description + "Nexthop registration is pending"; + } + leaf nexthop-reference-count { + type uint32; + description + "Count of neighbors/prefixes referencing this + nexthop"; + } + leaf nh-reference-count-total { + type uint32; + description + "Count of neighbors/prefixes referencing this + nexthop (AFs)"; + } + leaf nh-first-hop-if-handle { + type xr:Interface-name; + description + "First-hop interface handle"; + } + leaf nexthop-aigp-metric { + type uint32; + description + "AIGP metrice of nexthop"; + } + leaf nexthop-gateway-reachable { + type boolean; + description + "Flag to indicate if Gateway is reachable"; + } + leaf nexthop-gateway-prefix-connected { + type boolean; + description + "Flag to indicate if Gateway resolved through + Connected route"; + } + leaf nexthop-gateway-prefix-length { + type uint32; + description + "Gateway prefix length"; + } + leaf nexthop-hash-slot { + type uint32; + description + "Sync Hash slot of Nexthop"; + } + list nexthop-gateway-info { + description + "Gateway related info, including Optimal Route + Reflector Gateways"; + uses BGP-NEXTHOP-GW-INFO; + } + list neighbor-address { + description + "Neighbor Address List"; + uses BGP-ADDRTYPE; + } + } + + grouping BGP-NEXTHOP-PERF-VRF-AF-BAG { + description + "BGP nexthop statistics for a VRF AF"; + leaf critical-notf-count { + type uint32; + description + "Number of critical event notifications from RIB"; + } + leaf noncritical-notf-count { + type uint32; + description + "Number of non-critical event notifications from + RIB"; + } + leaf last-notf-bestpath-deletes { + type uint32; + description + "Number of bestpath deletes due to last + notification"; + } + leaf last-notf-bestpath-changes { + type uint32; + description + "Number of bestpath changes due to last + notification"; + } + leaf nh-sync-reg-calls { + type uint32; + description + "NH sync register calls"; + } + leaf nha-sync-reg-calls { + type uint32; + description + "NH async register calls"; + } + leaf nha-sync-un-reg-calls { + type uint32; + description + "NH async unregister calls"; + } + leaf nh-pending-registrations { + type uint32; + description + "NH Registration List Count"; + } + leaf nh-peak-registrations { + type uint32; + description + "NH Registration List Count Peak"; + } + leaf nh-batch-finish-calls { + type uint32; + description + "Count of the batch finish calls for next hop"; + } + leaf nh-flush-timer-calls { + type uint32; + description + "Count of the flush timer calls for net hop"; + } + leaf nh-last-sync-reg-ts { + type uint32; + description + "NH Last sync Register TS"; + } + leaf nh-last-a-sync-reg-ts { + type uint32; + description + "NH Last async Register TS"; + } + leaf nh-last-a-sync-un-reg-ts { + type uint32; + description + "NH Last async UnRegister TS"; + } + leaf nh-last-batch-finish-ts { + type uint32; + description + "NH Last batch finish TS"; + } + leaf nh-last-flush-timer-ts { + type uint32; + description + "NH Last flush timer TS"; + } + leaf nhrib-update-calls { + type uint32; + description + "No. of calls to RIB update function"; + } + leaf nhrib-update-time { + type uint32; + units "millisecond"; + description + "Time spent sending RIB updates (milliseconds)"; + } + leaf nexthops-sent-to-rib { + type uint32; + description + "No. of nexthops sent to RIB"; + } + leaf nexthops-resent-to-rib { + type uint32; + description + "No. of nexthops re-sent to RIB"; + } + leaf nexthops-removed-from-rib { + type uint32; + description + "No. of nexthops withdrawn from RIB"; + } + leaf rib-sync-registers-failed { + type uint32; + description + "No. of sync registers with RIB that failed"; + } + leaf riba-sync-registers-failed { + type uint32; + description + "No. of async registers with RIB that failed"; + } + leaf ribnh-reg-failed-for-no-tbl-id { + type uint32; + description + "No. of nh registers failed because of no tbl-id"; + } + leaf ribnh-reg-failed-for-no-rib-conn { + type uint32; + description + "No. of nh registers failed because of no rib + conn"; + } + leaf tunnel-walk-nh-not-found { + type uint32; + description + "No. of times nexthop was not found during tunnel + walk"; + } + leaf tunnel-walk-gw-not-found { + type uint32; + description + "No. of times gw was not found during tunnel walk"; + } + leaf tunnel-walk-backup-creates { + type uint32; + description + "No. of times backup tid created during tunnel + walk"; + } + } + + grouping BGP-NEXTHOP-VRF-AF-BAG { + description + "BGP nexthop processing information for a VRF AF"; + container performance-statistics { + description + "BGP next hop virtual routingand forwarding + performancestatistics"; + uses BGP-NEXTHOP-PERF-VRF-AF-BAG; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf gwaf-name { + type Bgp-afi; + description + "GW Address family identifier"; + } + leaf total-nexthops { + type uint32; + description + "Total number of nexthops"; + } + leaf critical-trigger-delay { + type uint32; + description + "Trigger delay for critical event processing"; + } + leaf non-critical-trigger-delay { + type uint32; + description + "Trigger delay for non-critical event processing"; + } + leaf table-active { + type boolean; + description + "Whether the VRF is active"; + } + leaf nh-rib-up { + type boolean; + description + "Whether the VRF is active"; + } + leaf nh-rib-version { + type uint64; + description + "RIB version for gw_ctx"; + } + leaf nh-nexthop-version { + type uint64; + description + "NH version for gw_ctx"; + } + leaf nh-table-id { + type uint32; + description + "Gateway context table id"; + } + leaf epe-table-version { + type uint64; + description + "Version of the EPE table"; + } + leaf epe-label-version { + type uint64; + description + "Version of the EPE label walk"; + } + leaf epe-downloaded-version { + type uint64; + description + "Version of the EPE table downloaded"; + } + leaf epe-standby-version { + type uint64; + description + "Version of the EPE table processed by sync + thread"; + } + } + + grouping BGP-UPDGEN-SUBGRP-BAG { + description + "BGP Update generation Sub-group information"; + container creation-timestamp { + description + "Creation time"; + uses BGP-TIMESPEC; + } + container last-merge-timestamp { + description + "Last merge time"; + uses BGP-TIMESPEC; + } + container first-update-walk-start-timestamp { + description + "BGP update generation sub-group start time for + the first update walk"; + uses BGP-TIMESPEC; + } + container first-update-walk-end-timestamp { + description + "BGP update generation sub-group end time for + thefirst update walk"; + uses BGP-TIMESPEC; + } + container last-update-walk-start-timestamp { + description + "BGP update generation sub-group start for + thelast update"; + uses BGP-TIMESPEC; + } + container last-update-walk-end-timestamp { + description + "BGP update generation sub-group end time for + thelast update"; + uses BGP-TIMESPEC; + } + container last-update-queued-timestamp { + description + "Time when last update queued event"; + uses BGP-TIMESPEC; + } + container update-statistics { + description + "BGP subgroup statistics update"; + uses BGP-UPDGEN-STATS-BAG; + } + leaf process-id { + type uint32; + description + "ProcessID"; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-group-af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf sub-group-index-xr { + type uint32; + description + "Index for BGP sub-group"; + } + leaf sub-group-id-xr { + type uint32; + description + "Sub-group ID"; + } + leaf parent-sub-group-index { + type uint32; + description + "Index of the parent sub-group"; + } + leaf parent-sub-group-id { + type uint32; + description + "Parent Sub-group identifier"; + } + leaf update-group-index-xr { + type uint32; + description + "Index of the this BGp update group"; + } + leaf update-main-table-version { + type uint64; + description + "Main table version"; + } + leaf update-vrf-table-rib-version { + type uint64; + description + "VRF Table RIB version"; + } + leaf current-update-limit-sub-group { + type uint32; + description + "Current update limit"; + } + leaf configured-update-limit-sub-group { + type uint32; + description + "Configured update limit"; + } + leaf update-out-queue-messages { + type uint32; + description + "OutQueue messages"; + } + leaf update-out-queue-size { + type uint32; + description + "OutQueue size"; + } + leaf update-throttled { + type boolean; + description + "Flag to verify update throttled in BGPupdate + generation sub-group"; + } + leaf refresh-sub-group-count { + type uint32; + description + "Number of times BGP Update generation + sub-grouprefreshed"; + } + leaf filter-group-count { + type uint32; + description + "Number of filter groups are present in BGPupdate + generation"; + } + leaf neighbor-count { + type uint32; + description + "Number of neighbors in the sub-group"; + } + leaf version { + type uint64; + description + "Version up to which we have generated updatesfor + the entity"; + } + leaf nsr-version { + type uint64; + description + "NSR version"; + } + leaf pending-target-version { + type uint64; + description + "Target version for pending update generation"; + } + leaf next-resume-version { + type uint64; + description + "Version number identifying the next net + toprocess when an attribute table walk has been + interrupted"; + } + leaf update-refresh-target-version { + type uint64; + description + "Target version for update generation in response + to arefresh request"; + } + leaf io-write-event-pending { + type boolean; + description + "Flag for an event has been sent to the IO thread"; + } + leaf merge-count { + type uint32; + description + "Number of times BGP update sub-groups have been + merged"; + } + leaf last-merged-sub-group-index { + type uint32; + description + "BGP subgroup index merge happened last time"; + } + leaf eo-r-attempted { + type boolean; + description + "Sending EoR has been attempted"; + } + leaf last-update-walk-end-age { + type uint32; + description + "Time since last update walk end event"; + } + leaf last-update-queued-age { + type uint32; + units "second"; + description + "Time since last update queued event (in seconds)"; + } + } + + grouping BGP-ATTR-BAG { + description + "BGP attribute information"; + container attribute-info { + description + "Attributes"; + uses BGP-ATTR; + } + leaf process-instance-id { + type uint8; + description + "BGP attribute process instance ID"; + } + leaf attribute-instance-id { + type uint8; + description + "Instance ID for BGP attribute context "; + } + leaf attribute-structure-id { + type uint32; + description + "BGP ID of attribute structure information"; + } + leaf attribute-structure-hash-value { + type uint32; + description + "Hash value for attribute structure"; + } + leaf reference-count { + type uint32; + description + "Number of paths which use this attribute + structure"; + } + } + + grouping BGP-UPD-FILTERGRP { + description + "Update filter-group entry"; + leaf update-filter-group-number { + type uint32; + description + "Update sub-group index"; + } + leaf rts { + type uint32; + description + "RT count per filter group"; + } + leaf fgroup-flags { + type uint8; + description + "Flags per filter group"; + } + leaf fgroup-neighbors { + type uint16; + description + "Nbrs per filter group"; + } + leaf fgroup-created-message-elements { + type uint32; + description + "Number of message elems created for filtergroup"; + } + leaf fgroup-deleted-message-elements { + type uint32; + description + "Number of message elems deleted"; + } + leaf fgroup-queued-message-elements { + type uint32; + description + "Number of message elems queued"; + } + leaf fgroup-advertised-prefixes { + type uint32; + description + "Number of prefixes advertised to filtergroup in + last update walk"; + } + leaf fgroup-total-advertised-prefixes { + type uint32; + description + "Number of prefixes advertised to filtergroup in + all update walk"; + } + leaf fgroup-withdrawn-prefixes { + type uint32; + description + "Number of prefixes withdrawn f`rom filtergroupin + last update walk"; + } + leaf fgroup-total-withdrawn-prefixes { + type uint32; + description + "Number of prefixes withdrawn f`rom filtergroupin + all update walk"; + } + leaf fgroup-total-non-optimised-prefixes { + type uint32; + description + "Number of prefixes non-optm from filtergroupin + all update walk"; + } + leaf fgroup-skipped-prefixes { + type uint32; + description + "Number of prefixes skipped for filtergroup in + last update walk"; + } + leaf fgroup-suppressed-prefixes { + type uint32; + description + "Number of prefixes suppressed for filtergroup in + last update walk"; + } + leaf is-rt-present { + type boolean; + description + "RT attribute list present"; + } + list extended-community { + description + "Extended community attribute"; + leaf entry { + type uint8; + description + "Extended community attribute"; + } + } + list neighbor { + description + "Neighbors in this update sub-group"; + uses BGP-ADDRTYPE; + } + } + + grouping BGP-UPD-SUBGRP { + description + "Update sub-group entry"; + leaf update-sub-group-number { + type uint32; + description + "Update sub-group index"; + } + leaf filter-group { + type uint16; + description + "Update sub-group fgrp-num"; + } + leaf wait-for-eo-rs { + type boolean; + description + "Wait for RT Nbr EoRs"; + } + list update-filter-group { + description + "Update f-group list"; + uses BGP-UPD-FILTERGRP; + } + list neighbor { + description + "Neighbors in this subgrp not in any filtergrp"; + uses BGP-ADDRTYPE; + } + } + + grouping BGP-PROCESS-WDR-STATS { + description + "BGP Withdraw Stats info"; + container last-updated-time { + description + "Last update time"; + uses BGP-TIMESPEC; + } + leaf not-advertised-count { + type uint32; + description + "Not advertised count"; + } + } + + grouping BGP-PERF-UPDGRP { + description + "BGP PERF UPDGRP"; + leaf update-generation-calls { + type uint32; + description + "No. of calls to update generation function"; + } + leaf update-generation-prefixes-count { + type uint32; + description + "No. of prefixes updates generated for"; + } + leaf update-generation-be-prefixes-count { + type uint32; + description + "No. of be prefixes updates generated for"; + } + leaf update-generation-messages-count { + type uint32; + description + "No. of update messages generated"; + } + leaf update-generation-time { + type uint32; + units "millisecond"; + description + "Time spent generating updates (milliseconds)"; + } + leaf updgen-timer-start-time { + type uint64; + description + "Timestamp when update timer started for updgrp"; + } + leaf updgen-timer-stop-time { + type uint64; + description + "Timestamp when update timer stopped for updgrp"; + } + leaf updgen-timer-process-time { + type uint64; + description + "Timestamp when update timer processed for updgrp"; + } + list not-advertised-stat { + max-elements "35"; + description + "Not Advertised Statistics"; + uses BGP-PROCESS-WDR-STATS; + } + } + + grouping BGP-UPDGRP-BAG { + description + "BGP Update Group information"; + container performance-statistics { + description + "Aggregated performance statisticsacross all VRFs + belonging to theparent address family"; + uses BGP-PERF-UPDGRP; + } + leaf process-instance-id { + type uint8; + description + "Instance ID of the BGP processwhere the path + originated"; + } + leaf session-af-name { + type uint8; + description + "Neighbor session Address family"; + } + leaf update-group-number { + type uint32; + description + "Update group index"; + } + leaf update-group-af-name { + type Bgp-afi; + description + "Address family for update group"; + } + leaf should-send-communities { + type boolean; + description + "Send communities"; + } + leaf should-send-ext-communities { + type boolean; + description + "Send Extended communities"; + } + leaf should-send-stitching-rt { + type boolean; + description + "Send Stitching RT"; + } + leaf has-orf-receive-capability { + type boolean; + description + "ORF receive capability"; + } + leaf is-route-reflector-client { + type boolean; + description + "Flag to indicate if peers in this update group + are route-reflector clients"; + } + leaf is-client-reflection-disabled { + type boolean; + description + "True if client-to-client reflection is disabled "; + } + leaf accepts-legacy-pe-rt-route { + type boolean; + description + "Flag to indicate if provider edge device as a + legacy for the route target"; + } + leaf updgrp-cluster-id { + type uint32; + description + "Cluster ID (populated ifclient-to-client + reflectionis disabled)"; + } + leaf updgrp-cluster-type { + type uint8; + description + "Cluster ID type:undefined/number/Ip address"; + } + leaf orr-group-name { + type string; + description + "ORR Group Name"; + } + leaf orr-group-index { + type uint32; + description + "ORR Group Index"; + } + leaf is-orr-root-address-configured { + type boolean; + description + "ORR Root address configuredfor the neighbor + connection"; + } + leaf should-remove-private-a-ss { + type boolean; + description + "Remove private AS numbers"; + } + leaf should-remove-private-as-ent-path { + type boolean; + description + "Remove private AS numbersif the entire path + consistsof private ASes"; + } + leaf use-next-hop-self { + type boolean; + description + "Next hop self"; + } + leaf use-next-hop-unchanged-mpath { + type boolean; + description + "This update group have + next-hop-unchangedmultipath configured"; + } + leaf is-internal-peers { + type boolean; + description + "Peers in this update groupare internal"; + } + leaf is-common-admin-peers { + type boolean; + description + "Flag to indicate if peers are undercommon + administration in BGP update group"; + } + leaf is4-byte-as-peer { + type boolean; + description + "4-byte AS capable peers"; + } + leaf is-addpath-capable { + type boolean; + description + "Add-path capable peers"; + } + leaf is-send-mcast-attr-enabled { + type boolean; + description + "Flag to indicate if protocol independent + multicast attributes are sent in this update + group"; + } + leaf is-aigp-capable { + type boolean; + description + "AIGP capable peers"; + } + leaf is-aigp-cost-community-capable { + type boolean; + description + "Send AIGP cost community to peers"; + } + leaf is-aigp-med-capable { + type boolean; + description + "Send AIGP cost in MED"; + } + leaf is-llgr-capable { + type boolean; + description + "Send Long-lived Stale paths"; + } + leaf is-adv-capable { + type boolean; + description + "Send tranlsated paths"; + } + leaf is-adv-reorg-capable { + type boolean; + description + "Send Re-orig paths"; + } + leaf disable-native-advertisement { + type boolean; + description + "Disable advertising native routes"; + } + leaf disable-def-vrf-imp-advertisement { + type boolean; + description + "Disable advertising default VRF imported routes"; + } + leaf disable-vrf-re-imp-advertisement { + type boolean; + description + "Disable advertising VRF re-imported routes"; + } + leaf encapsulation-type { + type uint32; + description + "BGP update group encapsulation type"; + } + leaf advertise-rt-type { + type uint8; + description + "BGP update group toadvertise route target type"; + } + leaf is-directly-connected-ebgp-v6-peers { + type boolean; + description + "Flag to indicate an update group is directly + connected eBGP peers"; + } + leaf minimum-advertisement-interval { + type uint32; + units "second"; + description + "Minimum advert time for peers in this + update-group in seconds"; + } + leaf minimum-advertisement-interval-msecs { + type uint32; + units "millisecond"; + description + "Minimum advert time for peers inthis update + group in milliseconds"; + } + leaf local-as { + type uint32; + description + "Local AS number"; + } + leaf route-policy-out { + type string; + description + "Outbound route policy name"; + } + leaf desync-count { + type uint32; + description + "Number of times the update has been + desynchronized"; + } + leaf subgrp-merge-count { + type uint32; + description + "Number of times sub-groups have been merged"; + } + leaf refresh-subgrp-count { + type uint32; + description + "Current count of refresh subgroups"; + } + leaf updates-formatted { + type uint32; + description + "Number of updates formatted"; + } + leaf updates-replicated { + type uint32; + description + "Number of updates replicatedfor BGP update group"; + } + leaf local-as-replace-as { + type boolean; + description + "Local AS Replace-AS option"; + } + leaf as-override { + type boolean; + description + "AS Override option"; + } + leaf soo-value { + type string; + description + "Site-of-origin value"; + } + leaf split-horizon { + type boolean; + description + "Split horizon check"; + } + leaf is-labeled-afi-enabled { + type boolean; + description + "Update group has labeled AFI enabled"; + } + leaf is-unlabeled-afi-enabled { + type boolean; + description + "Update group has unlabeled AFI enabled"; + } + leaf ext-nh-encoding { + type boolean; + description + "Extended nexthop encoding cap received"; + } + leaf remote-as { + type uint32; + description + "Remote AS number"; + } + leaf is-adv-perm-net-capable { + type boolean; + description + "Advertise Permanent-Net capable peers"; + } + leaf should-send-gshut-community { + type boolean; + description + "Send GSHUT community"; + } + leaf gshut-active { + type boolean; + description + "GSHUT active"; + } + leaf gshut-locpref-set { + type boolean; + description + "GSHUT local preference set"; + } + leaf gshut-locpref { + type uint32; + description + "GSHUT local preference"; + } + leaf gshut-prepends { + type uint8; + description + "GSHUT AS prepends"; + } + leaf advertise-local-labeled-route-unicast { + type boolean; + description + "Advertise routes with local-label via Unicast + SAFI"; + } + leaf enable-label-stack { + type boolean; + description + "Enable BGP upgrade group label stack"; + } + leaf contains-slow-peer { + type boolean; + description + "This update group contains slow peers"; + } + leaf advertise-entropy-label-disable { + type boolean; + description + "Disable propagation of entropy label to this + peer"; + } + list neighbor { + description + "Neighbors in this update group which are not in + any sub-group"; + uses BGP-ADDRTYPE; + } + list update-sub-group { + description + "List of child refresh subgroups inBGP update + group"; + uses BGP-UPD-SUBGRP; + } + } + + grouping BGP-STATIC-ROUTES-BAG { + description + "BGP static routes information"; + container sourced-prefix { + description + "Prefix length"; + uses BGP-PREFIXTYPE; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf is-backdoor { + type boolean; + description + "TRUE if net is a backdoor route"; + } + } + + grouping BGP-GLOBAL-PROCESS-INFO-AF-VRF { + description + "BGP GLOBAL PROCESS INFO AF VRF"; + leaf table-is-active { + type boolean; + description + "Table state is active"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf def-orig-enabled { + type boolean; + description + "Default Orig enabled for a vrf afi"; + } + leaf table-version { + type uint64; + description + "BGP global process table version info"; + } + leaf rd-version { + type uint64; + description + "RD version"; + } + leaf rib-version { + type uint64; + description + "Table version synced to RIB"; + } + leaf nsr-conv-version { + type uint64; + description + "Cache for non stop routingcurrent table version"; + } + leaf nsr-is-conv { + type boolean; + description + "NSR is converged"; + } + leaf client-reflection-enabled { + type boolean; + description + "Flag to indicate if client-to-client reflection + is enabled"; + } + leaf dampening-enabled { + type boolean; + description + "Flag to enable BGP address-family dampening"; + } + leaf ebgp-distance { + type uint16; + description + "Distance for eBGP routes (external)"; + } + leaf ibgp-distance { + type uint16; + description + "Distance for iBGP routes (internal)"; + } + leaf aggregates-distance { + type uint16; + description + "Dist for aggregate routes (local)"; + } + leaf dynamic-med-enabled { + type boolean; + description + "Update generation enabled for MED change"; + } + leaf dynamic-med-interval { + type uint16; + units "minute"; + description + "Delay in update generation after a MED change + (in minutes)"; + } + leaf dynamic-med-timer-running { + type boolean; + description + "Flag to indicate if dynamic multi exit + discriminator (MED) timer is running"; + } + leaf dynamic-med-timer-value { + type uint16; + units "second"; + description + "Dynamic MED timer value (in seconds) left on the + timer"; + } + leaf dynamic-med-periodic-timer-running { + type boolean; + description + "Dynamic multi exit discriminatorperiodic timer + running"; + } + leaf dynamic-med-periodic-timer-value { + type uint16; + units "second"; + description + "Dynamic MED periodic timer value (in seconds) + left on the timer"; + } + leaf rib-has-converged { + type boolean; + description + "Received convergence notification from RIB"; + } + leaf rib-convergence-version { + type uint64; + description + "Last convergence version received from RIB"; + } + leaf is-rib-table-full { + type boolean; + description + "Indicates if RIB table is in prefix-limit state"; + } + leaf rib-table-full-version { + type uint64; + description + "Version when RIB table became full (from + non-full)"; + } + leaf is-unique-nexthop-check-disabled { + type boolean; + description + "Indicates if unique nexthop check disabled"; + } + leaf nexthop-resolution-minimum-prefix-length-configured { + type boolean; + description + "Flag to indicate if nexthop resolution minimum + prefix-length is configured"; + } + leaf nexthop-resolution-minimum-prefix-length { + type uint32; + description + "Used to validate prefix-length of resolving + route of nexthopsin BGP"; + } + leaf ipv6-nexthop-resolution-minimum-prefix-length-configured { + type boolean; + description + "Flag to indicate if ipv6 nexthop resolution + minimum prefix-length is configured"; + } + leaf ipv6-nexthop-resolution-minimum-prefix-length { + type uint32; + description + "Used to validate prefix-length of resolving + route of ipv6 nexthopsin BGP"; + } + leaf selective-ebgp-multipath-enabled { + type boolean; + description + "Flag to indicate if the Selective option is + configured with multipath external bgp"; + } + leaf selective-ibgp-multipath-enabled { + type boolean; + description + "Flag to indicate if the Selective option is + configured with multipath internal bgp"; + } + leaf selective-eibgp-multipath-enabled { + type boolean; + description + "Flag to indicate if the Selective option is + configured with multipath external internal bgp"; + } + leaf deterministic-ibgp-multipath-enabled { + type boolean; + description + "Flag to indicate if Deterministic option is + configured with multipath internal bgp"; + } + leaf rib-acked-table-version { + type uint64; + description + "Table version acked by RIB"; + } + leaf vrf-srv6-sid-alloc-mode { + type uint32; + description + "SID alloc mode of SRv6 under Vrf"; + } + leaf isvrf-srv6-enabled { + type boolean; + description + "SRv6 info under a Vrf"; + } + leaf vrf-srv6-locator { + type string; + description + "SRv6 Locator Name under Vrf"; + } + leaf vrf-all-srv6-locator { + type string; + description + "SRv6 Locator Name under Vrf All"; + } + leaf vrf-all-srv6-sid-alloc-mode { + type uint32; + description + "SRv6 SID alloc mode under Vrf All"; + } + leaf isvrfall-srv6-enabled { + type boolean; + description + "SRv6 info under a Vrf All"; + } + leaf rpki-version { + type uint64; + description + "RPKI table version walked"; + } + leaf rpki-soft-reconf-version { + type uint64; + description + "RPKI soft reconfiguration version walked"; + } + list oc-rib-out-attr-pool-size { + max-elements "10"; + description + "Memory size for each OCRIB Out attributes chunk"; + leaf entry { + type uint32; + description + "Memory size for each OCRIB Out attributes chunk"; + } + } + list oc-rib-out-attr-pool-alloc-count { + max-elements "10"; + description + "Number of OCRIB Out Attributes allocated per + + pool"; + leaf entry { + type uint32; + description + "Number of OCRIB Out Attributes allocated per + + pool"; + } + } + list oc-rib-out-attr-pool-free-count { + max-elements "10"; + description + "Number of OCRIB Out Attributes freed per pool"; + leaf entry { + type uint32; + description + "Number of OCRIB Out Attributes freed per pool"; + } + } + list oc-rib-path-count-per-out-attribute { + description + "Current Number of paths having particular number + + of outbound attributes"; + leaf entry { + type uint32; + description + "Current Number of paths having particular number + + of outbound attributes"; + } + } + } + + grouping BGP-GLOBAL-PROCESS-INFO-AF-GBL { + description + "BGP GLOBAL PROCESS INFO AF GBL"; + container rib-install { + description + "RIB install info"; + uses BGP-RIB-INSTALL-TIME-INFO; + } + container nets-rpki-sanitized-timestamp { + description + "timestamp of last RPKI sanitized net"; + uses BGP-TIMESPEC; + } + leaf scanner-period { + type uint16; + units "second"; + description + "Period (in seconds) of address-family scanner + runs"; + } + leaf nh-tunnel-version { + type uint64; + description + "NH Tunnel Version"; + } + leaf scan-prefixes { + type uint32; + description + "Total prefixes of address-family scanned"; + } + leaf scan-segment-prefixes { + type uint32; + description + "Number of prefixes scanned in a segment of + address-family"; + } + leaf scan-segments { + type uint8; + description + "Number of segments to scan all prefixes of + address-family"; + } + leaf inter-as-install-enabled { + type boolean; + description + "Is inter-AS install to pim on ASBR enabled"; + } + leaf global-mcast-enabled { + type boolean; + description + "Flag to indicate if global routing table + multicast is enabled"; + } + leaf segmented-mcast-enabled { + type boolean; + description + "Flag to indicate if BGP segmented multicast is + enabled"; + } + leaf gblafrpki-disable { + type boolean; + description + "Prefix validation disabled"; + } + leaf gblafrpki-use-validity { + type boolean; + description + "Prefix v. use validity"; + } + leaf gblafrpki-allow-invalid { + type boolean; + description + "Prefix v. allow invalid"; + } + leaf gblafrpki-signal-ibgp { + type boolean; + description + "Prefix v. signal ibgp"; + } + leaf update-wait-install-enabled { + type boolean; + description + "Flag to wait for installation update"; + } + leaf update-wait-install-startup-delay { + type uint16; + units "second"; + description + "Update wait install startup delay in seconds"; + } + leaf rib-ack-requests { + type uint32; + description + "Counter for RIB ack requests"; + } + leaf rib-acks-received { + type uint32; + description + "Counter for RIB ack received"; + } + leaf rib-slow-acks { + type uint32; + description + "Counter for slow RIB acks"; + } + leaf is-perm-net-cfg { + type boolean; + description + "Permanent Network Enabled"; + } + leaf perm-net-del-count { + type uint16; + description + "Count of removed perm paths"; + } + leaf perm-net-stale-del-count { + type uint16; + description + "Count of stale perm paths"; + } + leaf perm-net-stale-mark-count { + type uint16; + description + "Count of stale marked perm paths"; + } + leaf perm-net-insert-count { + type uint16; + description + "Count of inserted perm paths"; + } + leaf perm-net-existing-count { + type uint16; + description + "Count of existing perm paths"; + } + leaf perm-net-rpl-query-count { + type uint16; + description + "Count of perm nets given by RPL"; + } + leaf perm-net-rpl-process-count { + type uint16; + description + "Count of perm nets processed in RPL"; + } + leaf perm-nbr-count { + type uint16; + description + "Count of neighbors configured with perm net"; + } + leaf rib-perm-pelem-not-found-count { + type uint16; + description + ""; + } + leaf rib-perm-path-not-found-count { + type uint16; + description + ""; + } + leaf rib-perm-pelem-found-count { + type uint16; + description + ""; + } + leaf rib-reg-path-found-count { + type uint16; + description + ""; + } + leaf rib-perm-path-found-count { + type uint16; + description + ""; + } + leaf perm-pelem-free-count { + type uint16; + description + "Count of freed perm pelems"; + } + leaf perm-path-refresh-count { + type uint16; + description + "Count of perm paths refreshed"; + } + leaf perm-pelem-bump-count { + type uint16; + description + "Count of bumped perm pelems"; + } + leaf perm-pelem-all-bump-count { + type uint16; + description + "Count of bumped perm pelems"; + } + leaf af-srv6-sid-alloc-mode { + type uint32; + description + "SID alloc mode of SRv6 under AF"; + } + leaf af-srv6-locator { + type string; + description + "SRv6 Locator Name under AF"; + } + leaf nets-rpki-sanitized { + type uint32; + description + "Count of nets that had RPKI validity repaired by + the background sanitizer"; + } + list syncgrp-version { + max-elements "2"; + description + "Sync-group Version"; + leaf entry { + type uint64; + description + "Sync-group Version"; + } + } + } + + grouping BGP-GLOBAL-PROCESS-INFO-AF-BAG { + description + "BGP address family specific information common to + all BGP processes"; + container global { + description + "Global information"; + uses BGP-GLOBAL-PROCESS-INFO-AF-GBL; + } + container vrf { + description + "VRF information"; + uses BGP-GLOBAL-PROCESS-INFO-AF-VRF; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf af-name { + type Bgp-afi; + description + "Address family id"; + } + leaf is-nsr-enabled { + type boolean; + description + "Non-stop routing enabled"; + } + } + + grouping BGP-RPC-NEXTHOPSET { + description + "BGP RPC NEXTHOPSET"; + container nexthop-addr { + description + "List of multipath next-hops"; + uses BGP-ADDRTYPE; + } + leaf received-label { + type uint32; + description + "Received labl for the path"; + } + } + + grouping BGP-RPC-SET-BAG { + description + "BGP RPC SET BAG"; + leaf next-hop-xr { + type uint32; + description + "Number of multipath next-hops"; + } + leaf label { + type uint32; + description + "Label assigned to the RPCnext-hop set"; + } + leaf ref-count { + type uint32; + description + "Reference for the count"; + } + leaf srv6-sid-address { + type Ipv6-address; + description + "SRv6 SID address value"; + } + leaf srv6-sid-address-len { + type uint32; + description + "SRv6 SID address Length"; + } + leaf locator-format { + type uint32; + description + "Locator Format"; + } + list next-hop { + description + "List of multipath next-hops"; + uses BGP-RPC-NEXTHOPSET; + } + } + + grouping BGP-BMP-TBL-GBL-BAG { + description + "BMP Table global information"; + container bmp-version-wrap-time-spec { + description + "Version Wrap timestamp"; + uses BGP-TIMESPEC; + } + container bmp-version-wrap-start-time-spec { + description + "Version Wrap handle start timestamp"; + uses BGP-TIMESPEC; + } + container bmp-version-wrap-done-time-spec { + description + "Version Wrap handle Done timestamp"; + uses BGP-TIMESPEC; + } + leaf bmp-route-monitoringe-enabled { + type boolean; + description + "Is Route Monitoring mode enabled"; + } + leaf bmp-table-version { + type uint64; + description + "Table version"; + } + leaf rd-count { + type uint32; + description + "Number of RDs in the table"; + } + leaf network-count { + type uint32; + description + "Number of nets in the table"; + } + leaf path-count { + type uint32; + description + "Number of paths in the table"; + } + leaf bmp-version-wrapped { + type uint32; + description + "Number of times Table Version Wrapped"; + } + leaf bmp-version-wrapped-tid { + type uint32; + description + "Version Wrapped trigger thread id"; + } + leaf bmp-version-inprogress { + type boolean; + description + "Is Version wrap in progress"; + } + leaf bmp-version-incremented { + type boolean; + description + "Is Version being incremented"; + } + } + + grouping BGP-PATH-BAG { + description + "BGP path"; + container advertised-neighbor { + description + "Advertised Neighbor Address. Valid in the case + of Advertised table"; + uses BGP-ADDRTYPE; + } + container path-information { + description + "BGP path information "; + uses BGP-PATH; + } + container attributes-after-policy-in { + description + "Attributes after inbound policy applied. In the + case of path type received-only this will be + attributes before inbound policy"; + uses BGP-ATTR; + } + leaf no-path { + type boolean; + description + "No path exists. All 'sp_path' fields except + 'sp_path->bag_prefix' are invalid"; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf process-instance-id { + type uint8; + description + "BGP Process instance ID"; + } + leaf label-oor { + type boolean; + description + "LSD label space is exhausted"; + } + leaf label-oor-version { + type uint64; + description + "Label Version when OOR happens"; + } + leaf label-fail { + type boolean; + description + "LSD label allocation failed "; + } + leaf route-distinguisher { + type xr:Route-dist; + description + "BGP path Route Distinguisher"; + } + leaf source-route-distinguisher { + type xr:Route-dist; + description + "BGP path Source Route Distinguisher"; + } + leaf original-source-route-distinguisher { + type xr:Route-dist; + description + "BGP path Original Source Route Distinguisher"; + } + leaf prefix-version { + type uint64; + description + "Version of BGP Prefix Table"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf source-vrf-name { + type string; + description + "Name of the source VRF"; + } + leaf srcaf-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf sid-oor { + type boolean; + description + "SID out-of-resource state "; + } + leaf sid-oor-version { + type uint64; + description + "Sid Version when OOR happens"; + } + leaf sid-fail { + type boolean; + description + "SRv6 sid allocation failed "; + } + leaf attribute-index { + type uint64; + description + "Attribute index"; + } + } + + grouping BGP-PERF-PROCESS-AF-VRF { + description + "BGP PERF PROCESS AF VRF"; + container time-rib-coverged { + description + "Time last RIB ack was sent "; + uses BGP-TIMESPEC; + } + container time-rib-down { + description + "Time last RIB down wassent. This field is + deprecated"; + uses BGP-TIMESPEC; + } + container first-rib-table-full-timestamp { + description + "Timestamp when RIB table was full for the first + time"; + uses BGP-TIMESPEC; + } + container last-rib-table-full-timestamp { + description + "Timestamp when RIB table was full for the last + time"; + uses BGP-TIMESPEC; + } + container first-rib-table-has-space-timestamp { + description + "Timestamp when RIB table had space for the first + time"; + uses BGP-TIMESPEC; + } + container last-rib-table-has-space-timestamp { + description + "Timestamp when RIB table had space for the last + time"; + uses BGP-TIMESPEC; + } + container time-label-retain { + description + "Time last label retentiontriggered "; + uses BGP-TIMESPEC; + } + leaf update-generation-calls { + type uint32; + description + "No. of calls to update generation function"; + } + leaf update-generation-prefixes-count { + type uint32; + description + "No. of prefixes updates generated for"; + } + leaf update-generation-be-prefixes-count { + type uint32; + description + "No. of be prefixes updates generated for"; + } + leaf update-generation-messages-count { + type uint32; + description + "No. of update messages generated"; + } + leaf update-generation-time { + type uint32; + units "millisecond"; + description + "Time spent generating updates (milliseconds)"; + } + leaf rib-update-calls { + type uint32; + description + "No. of calls to RIB update function"; + } + leaf rib-update-time { + type uint32; + units "millisecond"; + description + "Time spent sending RIB updates (milliseconds)"; + } + leaf prefixes-sent-to-rib { + type uint32; + description + "No. of prefixes sent to RIB"; + } + leaf prefixes-resent-to-rib { + type uint32; + description + "No. of prefixes re-sent to RIB"; + } + leaf prefixes-not-sent-to-rib { + type uint32; + description + "No. of prefixes not sent to RIB due to + unsupported label stack size"; + } + leaf prefixes-removed-from-rib { + type uint32; + description + "No. of prefixes withdrawn from RIB"; + } + leaf attributes-sent-to-rib { + type uint32; + description + "No. of attributes sent to RIB"; + } + leaf attributes-removed-from-rib { + type uint32; + description + "No. of attributes withdrawn from RIB"; + } + leaf attributes-recover-from-rib { + type uint32; + description + "No. of attributes recovered from RIB"; + } + leaf scanner-runs { + type uint32; + description + "# of times scanner has run"; + } + leaf scanner-time { + type uint32; + units "millisecond"; + description + "Time spent running scanner (milliseconds)"; + } + leaf rib-tbl-del-calls { + type uint32; + description + "No. of rib update skipped on account of table + delete"; + } + leaf rib-tbl-invalid-calls { + type uint32; + description + "No. of rib update skipped due to table invalid"; + } + leaf rib-tbl-skip-calls { + type uint32; + description + "No. of rib update skipped"; + } + leaf rib-tbl-local-label { + type uint32; + description + "No. of rib update skipped. due to no local label"; + } + leaf rib-tbl-retry { + type uint32; + description + "No. of table rib retires."; + } + leaf time-last-update-sent { + type uint32; + units "second"; + description + "Time last update was sent (seconds since Jan 1 + 1970)"; + } + leaf is-rib-table-full { + type boolean; + description + "Indicates if RIB table is in prefix-limit state"; + } + leaf rib-table-full-version { + type uint64; + description + "Version when RIB table became full (from + non-full)"; + } + leaf first-rib-table-full-version { + type uint64; + description + "Version when RIB table was full for the first + time"; + } + leaf last-rib-table-full-version { + type uint64; + description + "Version when RIB table was full for the last + time"; + } + leaf last-rib-table-full-age { + type uint32; + units "second"; + description + "Time since RIB table was full for the last time + (in seconds)"; + } + leaf first-rib-table-has-space-version { + type uint64; + description + "Version when RIB table had space for the first + time"; + } + leaf last-rib-table-has-space-version { + type uint64; + description + "Version when RIB table had space for the last + time"; + } + leaf last-rib-table-has-space-age { + type uint32; + units "second"; + description + "Times since RIB table had space for the last + time (in seconds)"; + } + leaf rib-trigger { + type boolean; + description + "Rib trigger enabled"; + } + leaf vrf-flags { + type uint32; + description + "VRF flags for debug display"; + } + leaf label-calls { + type uint32; + description + "No. of calls to label allocation processing + function"; + } + leaf label-time { + type uint32; + units "millisecond"; + description + "Time spent running label processing + (milliseconds)"; + } + leaf label-rewrite-count { + type uint32; + description + "Number of label rewrites created"; + } + leaf label-release-count { + type uint32; + description + "Number of labels released"; + } + leaf label-added-count { + type uint32; + description + "Number of labels requested"; + } + leaf import-calls { + type uint32; + description + "Number of calls to import processing function"; + } + leaf import-time { + type uint32; + units "millisecond"; + description + "Time spent in import processing (milliseconds) + Note time accounted against source nets."; + } + leaf import-src-net-processed-count { + type uint32; + description + "Number of source nets processed"; + } + leaf import-dest-net-processed-count { + type uint32; + description + "Number of destination nets processed"; + } + leaf import-added-path-count { + type uint32; + description + "Number of imported paths added"; + } + leaf import-removed-path-count { + type uint32; + description + "Number of imported paths removed"; + } + leaf import-replaced-path-count { + type uint32; + description + "Number of imported paths "; + } + leaf update-group-count { + type uint32; + description + "No. of update group"; + } + leaf subgroup-count { + type uint32; + description + "No. of update subgroup"; + } + } + + grouping BGP-PERF-PROCESS-AF-GBL { + description + "BGP PERF PROCESS AF GBL"; + leaf has-converged { + type boolean; + description + "TRUE if process has converged"; + } + leaf first-nbr-up-time { + type uint32; + units "second"; + description + "Time when first peer came up (seconds since Jan + 1 1970)"; + } + leaf total-pim-install { + type uint32; + description + "Total number of install to PIM"; + } + leaf total-pim-callbacks { + type uint32; + description + "Total number of PIM callbacks"; + } + leaf total-pim-callback-batch { + type uint32; + description + "Total number of Pim callback batches"; + } + list mode-enter-time { + max-elements "7"; + description + "Time that each mode was entered (seconds since + + Jan 1 1970)"; + leaf entry { + type uint32; + units "second"; + description + "Time that each mode was entered (seconds since + + Jan 1 1970)"; + } + } + list total-pim-install-add { + max-elements "7"; + description + "Total number of install to PIM for add"; + leaf entry { + type uint32; + description + "Total number of install to PIM for add"; + } + } + list total-pim-install-del { + max-elements "7"; + description + "Total number of install to PIM for del"; + leaf entry { + type uint32; + description + "Total number of install to PIM for del"; + } + } + list total-pim-callback-add { + max-elements "7"; + description + "Total number of Pim callbacks for add"; + leaf entry { + type uint32; + description + "Total number of Pim callbacks for add"; + } + } + list total-pim-callback-del { + max-elements "7"; + description + "Total number of Pim callbacks for del"; + leaf entry { + type uint32; + description + "Total number of Pim callbacks for del"; + } + } + list total-pim-callback-add-local { + max-elements "7"; + description + "Total number of Pim callbacks for local add"; + leaf entry { + type uint32; + description + "Total number of Pim callbacks for local add"; + } + } + list total-pim-callback-del-local { + max-elements "7"; + description + "Total number of Pim callbacks for Local del"; + leaf entry { + type uint32; + description + "Total number of Pim callbacks for Local del"; + } + } + } + + grouping BGP-PERF-PROCESS-AF { + description + "BGP PERF PROCESS AF"; + container global { + description + "Global information"; + uses BGP-PERF-PROCESS-AF-GBL; + } + container vrf { + description + "VRF information"; + uses BGP-PERF-PROCESS-AF-VRF; + } + } + + grouping BGP-PROCESS-INFO-AF-VRF { + description + "BGP PROCESS INFO AF VRF"; + leaf network-entry-count { + type uint32; + description + "Number of network entries"; + } + leaf paths-count { + type uint32; + description + "Number of paths"; + } + leaf imported-paths { + type uint32; + description + "Number of imported paths"; + } + leaf local-paths { + type uint32; + description + "Number of local paths"; + } + leaf path-elems-count { + type uint32; + description + "Number of path elems"; + } + leaf path-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by path data"; + } + leaf imported-path-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by imported paths"; + } + leaf local-path-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by local paths"; + } + leaf prefix-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by prefix data"; + } + leaf path-elem-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by pathelem data"; + } + leaf received-path-count { + type uint32; + description + "Number of (unused) received paths for inbound + soft reconfiguration"; + } + leaf history-path-count { + type uint32; + description + "Number of history paths (for dampening)"; + } + leaf damped-path-count { + type uint32; + description + "Number of dampened paths"; + } + leaf malloced-prefix-count { + type uint32; + description + "Activity: Number of prefixes malloced"; + } + leaf freed-prefix-count { + type uint32; + description + "Activity: Number of prefixes freed"; + } + leaf malloced-path-count { + type uint32; + description + "Activity: Number of paths malloced"; + } + leaf freed-path-count { + type uint32; + description + "Activity: Number of paths freed"; + } + leaf malloced-path-elem-count { + type uint32; + description + "Activity: Number of path elems malloced"; + } + leaf freed-path-elem-count { + type uint32; + description + "Activity: Number of pathelems freed"; + } + leaf any-ebgp-neighbor-missing-policy { + type boolean; + description + "Is there any neighbor which is missing either + inbound or outbound or both routing policy for + this address family?"; + } + leaf attribute-download { + type boolean; + description + "BGP virtual routing and forwarding attribute + download "; + } + leaf route-target-download { + type boolean; + description + "Route Target download is enabled"; + } + leaf srms-prefix-sid { + type boolean; + description + "SRMS Prefix SID is "; + } + leaf add-path-install-enable { + type boolean; + description + "Additional paths installation is enabled"; + } + leaf add-path-install-disable { + type boolean; + description + "Additional paths installation is disabled"; + } + leaf best-external { + type boolean; + description + "Best External is enabled"; + } + leaf best-external-disable { + type boolean; + description + "Best External is enabled"; + } + leaf best-external-labeled-unicast { + type boolean; + description + "Best External is limited toLabeled-Unicast"; + } + leaf label-retain { + type boolean; + description + "Label retention is enabled"; + } + leaf label-retainvalue { + type uint32; + description + "Label retention value enabled"; + } + leaf tbl-bitf-size { + type uint16; + description + "Bitfield size on table"; + } + leaf tbl-chunk-bitf-size { + type uint16; + description + "Chunk Bitfield size on table"; + } + leaf tbl-filter-group-bitf-resize-pending { + type boolean; + description + "Filter Group bitfield resize is pending for this + table"; + } + leaf is-route-reflector { + type boolean; + description + "Router is an RR for this AF"; + } + leaf asbr { + type boolean; + description + "Router is an ASBR for this AF"; + } + leaf retain-rt-all { + type boolean; + description + "Retain-RT-All enabled"; + } + leaf ibgp-nexthop-self-count { + type uint32; + description + "Number of iBGP sessions configured with nh-self"; + } + leaf use-igpsr-label { + type boolean; + description + "Use IGP SR label for resolution"; + } + leaf bmp-network-entry-count { + type uint32; + description + "Number of BMP net entries"; + } + leaf bmp-paths-count { + type uint32; + description + "Total Number of BMP paths"; + } + leaf bmp-prefix-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by prefix data"; + } + leaf bmp-path-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by path data"; + } + leaf path-lookup-path-count { + type uint32; + description + "Number of paths in path lookup db"; + } + list net-path-distribution { + description + "Net Paths Distribution"; + leaf entry { + type uint32; + description + "Net Paths Distribution"; + } + } + } + + grouping BGP-RIB-INSTALL-TIME-INFO { + description + "BGP RIB INSTALL TIME INFO"; + container update-time { + description + "The time taken for routing information base + download "; + uses BGP-TIMESPEC; + } + container install-time { + description + "The time taken for the route installation "; + uses BGP-TIMESPEC; + } + leaf installed-count { + type uint32; + description + "Count of installed routes"; + } + leaf modified-count { + type uint32; + description + "Count of modified routes"; + } + leaf skipped-count { + type uint32; + description + "Count of skipped routes"; + } + leaf withdrawn-count { + type uint32; + description + "Count of withdrawn routes"; + } + leaf start-version { + type uint64; + description + "Start version of the BGP routing information + base "; + } + leaf target-version { + type uint64; + description + "Target version of BGProuting information + baseupdate "; + } + } + + grouping BGP-THREAD-TRIGGER-INFO-STAT { + description + "BGP THREAD TRIGGER INFO STAT"; + container trigger-time-spec { + description + "Timestamp when the thread was triggered "; + uses BGP-TIMESPEC; + } + leaf trigger-version { + type uint64; + description + "The thread version last timethe thread is run"; + } + leaf trigger-table-version { + type uint64; + description + "TriggerTableVersion"; + } + } + + grouping BGP-THREAD-TRIGGER-INFO { + description + "BGP THREAD TRIGGER INFO"; + leaf triggers { + type uint32; + description + "Number of times the threadwas triggered"; + } + list statistic { + description + "stats recorded per trigger"; + uses BGP-THREAD-TRIGGER-INFO-STAT; + } + } + + grouping BGP-PROCESS-INFO-AF-GBL { + description + "BGP PROCESS INFO AF GBL"; + container version-wrap-time-spec { + description + "Version Wrap timestamp"; + uses BGP-TIMESPEC; + } + container version-wrap-start-time-spec { + status obsolete; + description + "Version Wrap handle start timestamp"; + uses BGP-TIMESPEC; + } + container version-wrap-done-time-spec { + status obsolete; + description + "Version Wrap handle Done timestamp"; + uses BGP-TIMESPEC; + } + container trigger-rib { + description + "Trigger RIB"; + uses BGP-THREAD-TRIGGER-INFO; + } + container trigger-import { + description + "Flag to keep track of import triggers to each of + the threads"; + uses BGP-THREAD-TRIGGER-INFO; + } + container trigger-update { + description + "Flag to keep track of update triggers for each + thread"; + uses BGP-THREAD-TRIGGER-INFO; + } + container trigger-label { + description + "Label to keep track of trigger for each thread"; + uses BGP-THREAD-TRIGGER-INFO; + } + container rib-install { + description + "RIB install info"; + uses BGP-RIB-INSTALL-TIME-INFO; + } + leaf router-state { + type Bgp-rtr-state; + description + "BGP router state for the address family "; + } + leaf table-version { + type uint64; + description + "BGP main routing table version"; + } + leaf semi-wrap-table-version { + type uint64; + description + "BGP table version at semi wrap"; + } + leaf version-wrapped { + type uint32; + description + "Number of times Version semi-Wrap happened"; + } + leaf version-wrapped-tid { + type uint32; + status obsolete; + description + "Version Wrapped trigger tid"; + } + leaf low-versions-bumped { + type uint32; + description + "Number of nets with low versions bumped"; + } + leaf nets-at-semi-wrap { + type uint32; + description + "Number of nets in the tree at semi wrap"; + } + leaf max-active-pelem-version { + type uint64; + description + "Maximum Active Pelem Version"; + } + leaf merged-table-version { + type uint64; + description + "The merged Bgp table version after RPFO"; + } + leaf route-download-go-active-done-pending { + type uint32; + description + "To indicate whether routedownload go-active-done + pulse is sent or not"; + } + leaf rib-brib-received-version { + type uint64; + description + "Version received from "; + } + leaf table-brib-version { + type uint64; + description + "Version sent to RIB/bRIB"; + } + leaf label-version { + type uint64; + description + "Version updated by label thread"; + } + leaf import-version { + type uint64; + description + "Version updated by import thread"; + } + leaf standby-version { + type uint64; + description + "Version updated by sync thread"; + } + leaf send-version { + type uint64; + description + "Version for sending updates to peers"; + } + leaf num-init-sync-pfx { + type uint32; + description + "Num of prefix synced during Initsync"; + } + leaf max-label-stack-depth-v4-next-hop { + type uint32; + description + "Max supported label stack depth for IPv4 + Nexthop"; + } + leaf max-label-stack-depth-v6-next-hop { + type uint32; + description + "Max supported label stack depth for IPv6 + Nexthop"; + } + leaf local-networks-num { + type uint32; + description + "Total local networks"; + } + leaf local-networks-memory { + type uint32; + description + "Total number of networks memory in global BGP + address-family "; + } + leaf local-networks-malloced-num { + type uint32; + description + "Total number of networks for which memory is + allocated"; + } + leaf local-networks-freed-num { + type uint32; + description + "Total local networks freed"; + } + leaf local-paths-num { + type uint32; + description + "Total local paths"; + } + leaf local-paths-memory { + type uint32; + description + "Total memory allocated for local paths in BGP + process"; + } + leaf local-paths-malloced-num { + type uint32; + description + "Total local paths for which memory allocated"; + } + leaf local-paths-freed-num { + type uint32; + description + "Total local paths freed"; + } + leaf imported-paths-num { + type uint32; + description + "Total imported paths"; + } + leaf imported-paths-memory { + type uint32; + description + "Total memory allocated for imported paths in BGP + process"; + } + leaf networks-num { + type uint32; + description + "Total Num of networks"; + } + leaf networks-memory { + type uint32; + description + "Total memory allocated for networks in BGP + process"; + } + leaf networks-malloced-num { + type uint32; + description + "Total networks for which memory allocated"; + } + leaf networks-freed-num { + type uint32; + description + "Total networks freed"; + } + leaf paths-num { + type uint32; + description + "Total Num of paths"; + } + leaf paths-memory { + type uint32; + description + "Total paths memory"; + } + leaf paths-malloced-num { + type uint32; + description + "Total paths for which memory allocated"; + } + leaf paths-freed-num { + type uint32; + description + "Total paths freed"; + } + leaf path-elems-num { + type uint32; + description + "Total Num of path-elems"; + } + leaf path-elems-memory { + type uint32; + description + "Total memory allocated for path-elements in BGP + process"; + } + leaf path-elems-malloced-num { + type uint32; + description + "Total memory allocated for path-element number"; + } + leaf path-elems-freed-num { + type uint32; + description + "Total path-elems freed"; + } + leaf label-last-trigger { + type uint64; + description + "Timestamp when Label thread is last triggered"; + } + leaf last-label-version { + type uint64; + description + "Label thread version when last triggered"; + } + leaf label-bgp-version { + type uint64; + description + "BGP version when label thread is last triggered"; + } + leaf label-triggers { + type uint32; + description + "Label thread triggers"; + } + leaf rib-last-trigger { + type uint64; + description + "Timestamp when RIB thread is last triggered"; + } + leaf last-rib-version { + type uint64; + description + "RIB thread version when last triggered"; + } + leaf rib-bgp-version { + type uint64; + description + "BGP version when RIB thread is last triggered"; + } + leaf rib-triggers { + type uint32; + description + "RIB thread triggers"; + } + leaf import-last-trigger { + type uint64; + description + "Timestamp when Import thread is last triggered"; + } + leaf last-import-version { + type uint64; + description + "Import thread version when last triggered"; + } + leaf import-bgp-version { + type uint64; + description + "BGP version when Import thread is last triggered"; + } + leaf import-triggers { + type uint32; + description + "Import thread triggers"; + } + leaf update-gen-last-trigger { + type uint64; + description + "Timestamp when Update generation thread is last + triggered"; + } + leaf update-gen-bgp-version { + type uint64; + description + "BGP version when Update generation thread is + last triggered"; + } + leaf update-triggers { + type uint32; + description + "Update thread triggers"; + } + leaf total-r-ds-num { + type uint32; + description + "Total Num of RDs"; + } + leaf total-remote-r-ds-num { + type uint32; + description + "Total Num of remote RDs"; + } + leaf total-same-r-ds-num { + type uint32; + description + "Total Num of same RDs"; + } + leaf malloced-rd-count { + type uint32; + description + "Activity: Number of RDs malloced"; + } + leaf freed-rd-count { + type uint32; + description + "Activity: Number of RDs freed"; + } + leaf rd-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used by RD data"; + } + leaf multipath-network-entry-count { + type uint32; + description + "Number of multipath network entries"; + } + leaf multipath-network-entry-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used bymultipath network + entries"; + } + leaf multipath-paths-count { + type uint32; + description + "Number of multipath paths"; + } + leaf multipath-paths-memory { + type uint32; + units "byte"; + description + "Memory (in bytes) used bymultimpath paths"; + } + leaf update-wait-install-enabled { + type uint32; + description + "BGP process update wait until install is + configured"; + } + leaf update-wait-install-startup-delay { + type uint16; + units "second"; + description + "Update wait install startup delay in seconds"; + } + leaf rib-acked-table-version { + type uint64; + description + "Table version acked by routing information base"; + } + leaf rib-ack-requests { + type uint32; + description + "Count for RIB ack requests"; + } + leaf rib-acks-received { + type uint32; + description + "Count for RIB ack received"; + } + leaf rib-slow-acks { + type uint32; + description + "Count for slow RIB acks"; + } + } + + grouping BGP-PROCESS-INFO-AF-BAG { + description + "BGP address family specific process information"; + container global { + description + "Global information"; + uses BGP-PROCESS-INFO-AF-GBL; + } + container vrf { + description + "VRF information"; + uses BGP-PROCESS-INFO-AF-VRF; + } + container performance-statistics { + description + "BGP process address familyperformance statistics + info"; + uses BGP-PERF-PROCESS-AF; + } + leaf af-name { + type Bgp-afi; + description + "Address family id"; + } + leaf process-instance { + type uint8; + description + "ID for the BGP process instance"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf vrf-totals { + type boolean; + description + "per VRF information aggregated across all VRFs"; + } + } + + grouping BGP-CONVERGENCE-BAG { + description + "BGP Convergence"; + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf has-converged { + type boolean; + description + "Convergence has been reached"; + } + leaf are-write-queues-empty { + type boolean; + description + "All neighbor write queues are empty"; + } + leaf not-converged-neighbor { + type string; + description + "Not converged Neighbor"; + } + leaf message-pending { + type boolean; + description + "Pending Message Send"; + } + } + + grouping BGP-ATTR-RNH-ADDR { + description + "BGP ATTR RNH ADDR"; + leaf len { + type Bgp-rnh-addr-len; + description + "len"; + } + leaf ipv4-address { + when "../len = 'v4'" { + description + "../len = 'v4'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../len = 'v6'" { + description + "../len = 'v6'"; + } + type Ipv6-address; + description + "IPv6 Addr"; + } + leaf mac-address { + when "../len = 'mac'" { + description + "../len = 'Mac'"; + } + type Mac-address; + description + "MAC Addr"; + } + } + + grouping BGP-BAG-LARGECOMM { + description + "Large Community"; + leaf global-admin { + type uint32; + description + "Global Administrator"; + } + leaf local-data1 { + type uint32; + description + "Local Data 1"; + } + leaf local-data2 { + type uint32; + description + "Local Data 2"; + } + } + + grouping SR-SID { + description + "Segement id value"; + leaf type { + type Sr-sid; + description + "Type"; + } + leaf label { + when "../type = 'label'" { + description + "../Type = 'Label'"; + } + type uint32; + description + "MPLS Label value"; + } + leaf ipv4-address { + when "../type = 'ipv4'" { + description + "../Type = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 Address value"; + } + leaf ipv6-address { + when "../type = 'ipv6'" { + description + "../Type = 'IPv6'"; + } + type Ipv6-address; + description + "IPv6 address value"; + } + } + + grouping SR-EXPPATH { + description + "SR Policy Explicit Path"; + leaf weight { + type uint8; + description + "Weight of segment list"; + } + list segment { + description + "Segments in segment list"; + uses SR-SID; + } + } + + grouping BGP-BINDING-SID { + description + "BGP BINDING SID"; + leaf type { + type Bgp-binding-sid; + description + "Type"; + } + leaf label { + when "../type = 'label'" { + description + "../Type = 'label'"; + } + type uint32; + description + "MPLS Label"; + } + leaf ipv6-address { + when "../type = 'v6'" { + description + "../Type = 'v6'"; + } + type Ipv6-address; + description + "IPv6 Addr"; + } + } + + grouping BGP-SRPOLICY-ENTRY { + description + "SR policy Entry"; + container binding-sid { + description + "SR Policy incoming Binding sid"; + uses BGP-BINDING-SID; + } + container allocated-binding-sid { + description + "SR Policy allocated Binding sid by the router"; + uses BGP-BINDING-SID; + } + leaf tunnel-encap-type { + type uint16; + description + "Tunnel Encapsulation Type"; + } + leaf preference { + type uint32; + description + "SR Policy Preference"; + } + leaf state { + type boolean; + description + "SR Policy active state in forwarding"; + } + leaf request-state { + type Bgp-srpolicy-req-state; + description + "SR Policy programming Status"; + } + leaf usable { + type boolean; + description + "SR Policy is usable on this node"; + } + list segment-list { + description + "SR Policy Segment Lists"; + uses SR-EXPPATH; + } + } + + grouping BGP-TUNENCAP-ENTRY { + description + "Tunnel Encap attribute entry"; + container sr-policy { + description + "Tunnel encap type SR policy"; + uses BGP-SRPOLICY-ENTRY; + } + } + + grouping BGP-BAG-PSID-UNK-TLVS { + description + "Prefix-SID Unknown TLVs buffer"; + leaf tlv-count { + type uint16; + description + "Number of unknown TLVs stored"; + } + leaf received-buffer-length { + type uint32; + description + "Received length of unknown TLVs"; + } + list tl-vs-buffer { + description + "Limited buffer of unknown TLVs"; + leaf entry { + type uint8; + description + "Limited buffer of unknown TLVs"; + } + } + } + + grouping BGP-BAG-PSID-SRV6-L3SVC { + description + "Prefix-SID SRv6-l3svc TLV info"; + leaf reserved { + type uint8; + description + "Reserved field"; + } + leaf sub-tlv-count { + type uint16; + description + "Number of subtlvs"; + } + list sub-tlv { + description + "Sub TLVs"; + uses BGP-BAG-PSID-SRV6-SVC-SUBTLV-INFO; + } + } + + grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-SID-STRUCT { + description + "BGP BAG PSID SRV6 SVC SIDINFO SUBSUBTLV SID + STRUCT"; + leaf loc-blk-len { + type uint8; + description + "locator blk len"; + } + leaf loc-node-len { + type uint8; + description + "locator node len"; + } + leaf func-len { + type uint8; + description + "Function len"; + } + leaf arg-len { + type uint8; + description + "Argument len"; + } + leaf transpose-len { + type uint8; + description + "Transpose len"; + } + leaf transpose-offset { + type uint8; + description + "Transpose offset"; + } + } + + grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-VAL { + description + "Prefix-SID SRv6-svc SUBSUB TLV types"; + container sid-struct { + description + "SIDStruct field"; + uses BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-SID-STRUCT; + } + list unknown-buf { + description + "Unknown buff"; + leaf entry { + type uint8; + description + "Unknown buff"; + } + } + } + + grouping BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-INFO { + description + "Prefix-SID SRv6-svc SUBSUB TLV info"; + container sub-sub-tlv-val { + description + "Subsub TLV Val"; + uses BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-VAL; + } + leaf type { + type uint8; + description + "SUBSUBtlv Type"; + } + leaf length { + type uint16; + description + "SUBSUBTLv length"; + } + } + + grouping BGP-BAG-PSID-SRV6-SVC-SUBSUBTLV-INFO { + description + "Prefix-SID SRv6-svc SUBSUB TLV val"; + leaf reserved2 { + type uint8; + description + "SUB TLV reserved"; + } + leaf sid { + type inet:ipv6-address; + description + "SID new Value"; + } + leaf sid-flags { + type uint8; + description + "SID Flags"; + } + leaf sid-behavior { + type uint16; + description + "SID ENDPT behavior"; + } + leaf reserved3 { + type uint8; + description + "SUB SUB TLV reserved"; + } + leaf sub-sub-tlv-count { + type uint16; + description + "SUB SUB TLV Count"; + } + list sub-sub-tlv { + description + "List of sub sub tlvs"; + uses BGP-BAG-PSID-SRV6-SVC-SIDINFO-SUBSUBTLV-INFO; + } + } + + grouping BGP-BAG-PSID-SRV6-SVC-SUBTLV-VAL { + description + "Prefix-SID SRv6-svc SUB TLV info"; + container sid-info { + description + "SIDinfo field"; + uses BGP-BAG-PSID-SRV6-SVC-SUBSUBTLV-INFO; + } + list unknown-buf { + description + "Unknown buff"; + leaf entry { + type uint8; + description + "Unknown buff"; + } + } + } + + grouping BGP-BAG-PSID-SRV6-SVC-SUBTLV-INFO { + description + "Prefix-SID SRv6-svc TLV val"; + container sub-tlv-val { + description + "Sub TLV Val"; + uses BGP-BAG-PSID-SRV6-SVC-SUBTLV-VAL; + } + leaf type { + type uint8; + description + "Type field"; + } + leaf len { + type uint16; + description + "length of SUB_TLVs"; + } + } + + grouping BGP-BAG-PSID-SRV6-L2SVC { + description + "Prefix-SID SRv6-l2svc TLV info"; + leaf reserved { + type uint8; + description + "Reserved field"; + } + leaf sub-tlv-count { + type uint16; + description + "Number of SIDs"; + } + list sub-tlv { + description + "Sub TLVs"; + uses BGP-BAG-PSID-SRV6-SVC-SUBTLV-INFO; + } + } + + grouping BGP-BAG-SRGB-RANGE { + description + "SRGB Range"; + leaf range-start { + type uint32; + description + "Start of the range for BGP Segment Routing (SR) + global block"; + } + leaf range-end { + type uint32; + description + "End of the range for BGP Segment Routing + (SR)global block"; + } + } + + grouping BGP-BAG-PSID-ORIG-SRGB { + description + "Prefix-SID Orig-SRGB TLV info"; + leaf flags { + type uint16; + description + "Flags field"; + } + leaf range-count { + type uint32; + description + "Number of SRGB ranges"; + } + list range { + description + "List of SRGB ranges"; + uses BGP-BAG-SRGB-RANGE; + } + } + + grouping BGP-BAG-PSID-LABEL-INDEX { + description + "Prefix-SID Label-Index info"; + leaf reserved { + type uint8; + description + "Reserved field"; + } + leaf flags { + type uint16; + description + "Flags field"; + } + leaf label-index { + type uint32; + description + "LabelIndex field"; + } + } + + grouping BGP-PEDISTLBL-ENTRY { + description + "PE distinguisher Label entry"; + leaf pe-address { + type inet:ipv4-address; + description + " PE address"; + } + leaf label { + type uint32; + description + "Label"; + } + } + + grouping BGP-COMMON-ATTR-ENTRY { + description + "Common Set of attribute entry"; + container prefix-sid-label-index { + description + "Prefix-SID LabelIndex TLV info"; + uses BGP-BAG-PSID-LABEL-INDEX; + } + container prefix-sid-orig-srgb { + description + "Prefix-SID OrigSRGB TLV info"; + uses BGP-BAG-PSID-ORIG-SRGB; + } + container prefix-sid-srv6-layer2-svc { + description + "Prefix-SID SRv6L2SVC TLV info"; + uses BGP-BAG-PSID-SRV6-L2SVC; + } + container prefix-sid-srv6-layer3-svc { + description + "Prefix-SID SRv6L3SVC TLV info"; + uses BGP-BAG-PSID-SRV6-L3SVC; + } + container prefix-sid-unk-tlvs { + description + "Prefix-SID UnkTLVs TLV info"; + uses BGP-BAG-PSID-UNK-TLVS; + } + container tunnel-encap { + description + "Tunnel Encapsulation attribute"; + uses BGP-TUNENCAP-ENTRY; + } + leaf is-metric-present { + type boolean; + description + "Metric attribute present"; + } + leaf is-local-pref-present { + type boolean; + description + "Flag to indicate if BGP local preference + attribute is present"; + } + leaf is-atomic-aggregate-present { + type boolean; + description + "Flag to indicate if Atomic aggregate attribute + present"; + } + leaf is-aggregator-present { + type boolean; + description + "Flag to indicate if Aggregator attribute present"; + } + leaf is-origin-present { + type boolean; + description + "Flag to indicate if Origin attribute is present"; + } + leaf is-as-path-present { + type boolean; + description + "AS path attribute present"; + } + leaf is-community-present { + type boolean; + description + "Community attribute present"; + } + leaf is-extended-community-present { + type boolean; + description + "Extended community attribute present"; + } + leaf is-ssa-present { + type boolean; + description + "Flag to indicate if SSA attribute is present"; + } + leaf is-connector-present { + type boolean; + description + "Flag to indicate if BGP attribute Connector is + present"; + } + leaf is-pmsi-present { + type boolean; + description + "PMSI Attribute present"; + } + leaf is-pppmp-present { + type boolean; + description + "PPMP Attribute present"; + } + leaf is-aigp-present { + type boolean; + description + "AIGP Present"; + } + leaf is-pe-distinguisher-label-present { + type boolean; + description + "PE distinguisher label attribute present"; + } + leaf is-ls-attribute-present { + type boolean; + description + "Flag to indicate if BGP link-state attribute + information is present"; + } + leaf is-label-index-present { + type boolean; + description + "Label Index attribute - present - deprecated"; + } + leaf is-prefix-sid-label-index-present { + type boolean; + description + "Prefix-SID LabelIndex present"; + } + leaf is-prefix-sid-orig-srgb-present { + type boolean; + description + "Prefix-SID OrigSRGB present"; + } + leaf is-prefix-sid-srv6-layer3-svc-present { + type boolean; + description + "Prefix-SID SRv6L3SVC present"; + } + leaf is-prefix-sid-srv6-layer2-svc-present { + type boolean; + description + "Prefix-SID SRv6L2SVC present"; + } + leaf is-prefix-sid-unk-tlvs-present { + type boolean; + description + "Prefix-SID UnkTLVs present"; + } + leaf neighbor-as { + type uint32; + description + "Neighbor AS number"; + } + leaf aggregator-as { + type uint32; + description + "AS where aggregation was last performed"; + } + leaf aggregator-address { + type inet:ipv4-address; + description + "Address where aggregation was performed "; + } + leaf metric { + type uint32; + description + "Metric associated with BGP attribute "; + } + leaf local-preference { + type uint32; + description + "Flag to indicate BGP attribute is local"; + } + leaf origin { + type uint16; + description + "BGP common attribute Origin "; + } + leaf as-path { + type string; + description + "BGP Atonomous system path attribute"; + } + leaf extended-community-flags { + type uint8; + description + "BGP attribute Extended community Flags"; + } + leaf originator { + type inet:ipv4-address; + description + "Originator attribute"; + } + leaf l2tpv3-session-id { + type uint32; + description + "BGP attribute Layer2 tunneling protocol version + 3 session id"; + } + leaf connector-type { + type uint16; + description + "BGP attribute Connector Type"; + } + leaf aigp-metric-value { + type uint64; + description + "AIGP metric value"; + } + leaf pmsi-type { + type uint16; + description + "PMSI Type"; + } + leaf pmsi-flags { + type uint8; + description + "PMSI Value"; + } + leaf pmsi-label { + type uint32; + description + "PMSI label"; + } + leaf ppm-pvalue { + type uint32; + description + "PPMP Value"; + } + leaf is-large-community-present { + type boolean; + description + "Large Community attribute present"; + } + list community { + description + "Community attribute"; + leaf entry { + type uint32; + description + "Community attribute"; + } + } + list extended-community { + description + "Extended community attribute"; + leaf entry { + type uint8; + description + "Extended community attribute"; + } + } + list unknown-attribute { + description + "BGP common set of unknown attributes "; + leaf entry { + type uint8; + description + "BGP common set of unknown attributes "; + } + } + list cluster { + description + "Cluster list attribute"; + leaf entry { + type uint32; + description + "Cluster list attribute"; + } + } + list l2tpv3-cookie { + description + "L2TPv3 Cookie"; + leaf entry { + type uint8; + description + "L2TPv3 Cookie"; + } + } + list connector-value { + description + "BGP attribute Connector Value"; + leaf entry { + type uint8; + description + "BGP attribute Connector Value"; + } + } + list pmsi-value { + description + "PMSI Value"; + leaf entry { + type uint8; + description + "PMSI Value"; + } + } + list ls-attr { + description + "BGP LS attribute"; + leaf entry { + type uint8; + description + "BGP LS attribute"; + } + } + list pe-distinguisher-label { + description + "PE distinguisher label attribute"; + uses BGP-PEDISTLBL-ENTRY; + } + list large-community { + description + "Large Community attribute"; + uses BGP-BAG-LARGECOMM; + } + } + + grouping BGP-ATTR { + description + "BGP Attributes"; + container common-attributes { + description + "BGP entry to derive the attribute information"; + uses BGP-COMMON-ATTR-ENTRY; + } + container attr-set { + description + "ATTR_SET attribute"; + uses BGP-COMMON-ATTR-ENTRY; + } + container rnh-addr { + description + "RNH Address"; + uses BGP-ATTR-RNH-ADDR; + } + container ribrnh-ip { + description + "RIB RNH IP Address"; + uses BGP-ADDRTYPE; + } + leaf is-as-path2-byte { + type boolean; + description + "AS path encoded as 2-byte"; + } + leaf is-application-gateway-present { + type boolean; + description + "Flag to indicate if BGP application gateway is + present"; + } + leaf is-attr-set-present { + type boolean; + description + "BGP ATTR_SET attribute present"; + } + leaf set-aigp-inbound-igp { + type boolean; + description + "AIGP set by policy inbound IGP "; + } + leaf set-aigp-inbound-metric { + type boolean; + description + "AIGP set by policy inbound metric"; + } + leaf is-rnh-present { + type boolean; + description + "RNH Attribute present"; + } + leaf is-ribrnh-present { + type boolean; + description + "RIB RNH Attribute present"; + } + leaf attribute-key-number { + type uint32; + description + "Number which is stored per bgp routing table on + attribute key"; + } + leaf attribute-reuse-id-config { + type boolean; + description + "Attribute reuse ID Configured"; + } + leaf attribute-reuse-id-max-id { + type uint32; + description + "Attribute reuse ID maximum ID"; + } + leaf attribute-reuse-id-node { + type uint32; + description + "BGP Attribute reuse ID nodes"; + } + leaf attribute-reuse-id-current { + type uint32; + description + "BGP Attribute reuse ID current ID"; + } + leaf attribute-reuse-id-keys { + type uint32; + description + "Attribute reuse ID allocated keys"; + } + leaf attribute-reuse-id-recover-sec { + type uint32; + units "second"; + description + "Attribute reuse ID timer in seconds"; + } + leaf vpn-distinguisher { + type uint32; + description + "VPN Distinguisher"; + } + leaf rnh-type { + type uint16; + description + "RNH Type"; + } + leaf rnh-len { + type uint8; + description + "RNH Length"; + } + leaf rnh-addr-len { + type uint32; + description + "RNH Address Length"; + } + leaf ribrnh-table { + type uint32; + description + "RIB RNH Table"; + } + leaf ribrnh-mac { + type Mac-address; + description + "RIB RNH MAC Address"; + } + leaf ribrnhip-table { + type uint32; + description + "RIB RNH IP Table"; + } + leaf ribrnh-vni { + type uint32; + description + "RIB RNH Vni"; + } + leaf ribrnh-encap { + type uint8; + description + "RIB RNH Encapsulation Type"; + } + leaf entropy-label-capability { + type boolean; + description + "Entropy label Capability"; + } + } + + grouping BGP-ADVINFO-TYPE { + description + "Peers being advertised to"; + container neighbor-address { + description + "BGP advertised neighbor Address"; + uses BGP-ADDRTYPE; + } + leaf is-neighbor { + type boolean; + description + "Entry is a neighbor (not an update group)"; + } + leaf update-group-afi { + type uint8; + description + "AFI of the Update group it is advertised to"; + } + leaf update-group-number { + type uint32; + description + "Update group index"; + } + } + + grouping BGP-V4-V6 { + description + "The length of the BGP address"; + leaf len { + type Bgp-v4-v6-len; + description + "len"; + } + leaf ipv4-address { + when "../len = 'gwipv4'" { + description + "../len = 'gwipv4'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../len = 'gwipv6'" { + description + "../len = 'gwipv6'"; + } + type Ipv6-address; + description + "IPv6 Addr"; + } + } + + grouping BGP-TE-TUNNEL { + description + "BGP TE TUNNEL"; + leaf tunnel-type { + type Bgp-tunnel; + description + "Nexthop Tunnel Type"; + } + leaf tunnel-name { + type string; + description + "Tunnel name attribute"; + } + leaf is-tunnel-up { + type boolean; + description + "Tunnel Up flag"; + } + leaf is-tunnel-info-stale { + type boolean; + description + "Tunnel is stale"; + } + leaf is-tunnel-registered { + type boolean; + description + "Tunnel registered flag"; + } + leaf is-bgp-te-registered { + type boolean; + description + "BGPTE registered flag"; + } + leaf tunnel-v6-required { + type boolean; + description + "Tunnel need IPv6"; + } + leaf tunnel-v6-enabled { + type boolean; + description + "IPv6 enabled"; + } + leaf tunnel-notif-first-rcvd { + type boolean; + description + "Tunnel first notif received"; + } + leaf tunnel-state-skip-reg { + type boolean; + description + "Skip tunnel registration for Stale entry"; + } + leaf binding-label { + type uint32; + description + "Binding label for the tunnel"; + } + leaf tunnel-if-handle { + type uint32; + description + "Interface handle for the tunnel"; + } + leaf last-tunnel-update { + type uint32; + description + "Time since the last tunnel update happened"; + } + leaf tunnel-color { + type uint32; + description + "Color corresponding to this SR tunnel"; + } + leaf has-tunnel-metric { + type boolean; + description + "This SR-TE tunnel has an admin distance/metric"; + } + leaf tunnel-metric-ad { + type uint32; + description + "Metric admin distance corresponding to this SR + tunnel"; + } + leaf tunnel-metric-value { + type uint32; + description + "Metric value corresponding to this SR tunnel"; + } + leaf is-tunnel-color-only { + type boolean; + description + "Is a Color Only (Null Endpoint) tunnel"; + } + leaf tunnel-endpoint-afi { + type Bgp-afi; + description + "AFI of the Null Endpoint (IPv4/IPv6)"; + } + leaf flags { + type uint32; + description + "SR Tunnel specific flags "; + } + leaf haveu-srv6-bsid { + type boolean; + description + "SRv6 BSID for tunnel present"; + } + leaf srv6u-bsid-address { + type Ipv6-address; + description + "SRv6 uBSID address value"; + } + } + + grouping BGP-PREFIXTYPE { + description + "BGP PREFIXTYPE"; + container prefix { + description + "The Prefix from whichto get the address"; + uses BGP-ADDRTYPE; + } + leaf prefix-length { + type uint16; + description + "BGP prefix length of the route"; + } + } + + grouping BGP-PATH { + description + "BGP Path"; + container bgp-prefix { + description + "BGP prefix"; + uses BGP-PREFIXTYPE; + } + container neighbor-address { + description + "Neighbor address specified in BGP path"; + uses BGP-ADDRTYPE; + } + container next-hop { + description + "BGP Next hop information"; + uses BGP-ADDRTYPE; + } + container nh-tunnel { + description + "Next hop tunnel information"; + uses BGP-TE-TUNNEL; + } + container mdt-group-addr { + description + "IPv4 MDT Group Address for the path"; + uses BGP-ADDRTYPE; + } + container gw-addr { + description + "Path GW Address"; + uses BGP-V4-V6; + } + container nh-addr { + description + "Path next-hop Address"; + uses BGP-V4-V6; + } + container best-path-comp-winner { + description + "Neighbor address of the path which won best path + comparison"; + uses BGP-ADDRTYPE; + } + container mvpn-nbr-addr { + description + "Mvpn nbr Address for the path"; + uses BGP-ADDRTYPE; + } + container mvpn-nexthop-addr { + description + "Mvpn nexthop Address for the path"; + uses BGP-ADDRTYPE; + } + container vpn-nexthop-addr { + description + "Vpn nexthop Address for the path"; + uses BGP-ADDRTYPE; + } + container evpn-imet-pmsi-nexthop-addr { + description + "EVPN IMET PMSI Originator Nexthop Address"; + uses BGP-ADDRTYPE; + } + leaf route-type { + type Bgp-route1; + description + "Route Type of path"; + } + leaf is-path-valid { + type boolean; + description + "Flag to indicate if BGP path attributes are + usable"; + } + leaf is-path-damped { + type boolean; + description + "Flag to indicate if Path suppressed due to + dampening"; + } + leaf is-path-history-held { + type boolean; + description + "Path entry held to remember history"; + } + leaf is-internal-path { + type boolean; + description + "Received over an internal link"; + } + leaf is-best-path { + type boolean; + description + "Best available path"; + } + leaf is-as-best { + type boolean; + description + "Best available path within AS"; + } + leaf is-spkr-as-best { + type boolean; + description + "Best available path within AS in speaker"; + } + leaf is-partial-best { + type boolean; + description + "Partial best path within distributed speaker"; + } + leaf is-aggregation-suppressed { + type boolean; + description + "Path suppressed due to aggregation"; + } + leaf is-import-dampened { + type boolean; + description + "Flag to indicate if BGP path net import is + dampened"; + } + leaf is-import-suspect { + type boolean; + description + "Flag to indicate if BGP path net import is + suspect"; + } + leaf is-path-not-advertised { + type boolean; + description + "Flag to indicate if path is not advertised to + any peer"; + } + leaf is-path-not-advertised-to-ebgp { + type boolean; + description + "Not advertised to EBGPs"; + } + leaf is-path-advertised-local-as-only { + type boolean; + description + "Not advertised outside local AS"; + } + leaf is-path-from-route-reflector { + type boolean; + description + "Path received from route reflector"; + } + leaf is-path-received-only { + type boolean; + description + "Flag to indicate if BGP Path is received only"; + } + leaf is-received-path-not-modified { + type boolean; + description + "Flag to indicate if received path is used + without modification"; + } + leaf is-path-locally-sourced { + type boolean; + description + "Path sourced locally"; + } + leaf is-path-local-aggregate { + type boolean; + description + "Path is a locally created aggregate"; + } + leaf is-path-from-network-command { + type boolean; + description + "Path sourced by network command"; + } + leaf is-path-from-redistribute-command { + type boolean; + description + "Path sourced by redistribute command"; + } + leaf is-path-imported { + type boolean; + description + "Path is imported"; + } + leaf is-path-reoriginated { + type boolean; + description + "Path is reoriginated"; + } + leaf is-path-reoriginated-stitching { + type boolean; + description + "Path is reoriginated with stitching RTs"; + } + leaf is-path-vpn-only { + type boolean; + description + "Path is not in the vrf"; + } + leaf is-path-from-confederation-peer { + type boolean; + description + "Path received from confederation peer"; + } + leaf is-path-synced-with-igp { + type boolean; + description + "Path synchronized with IGP"; + } + leaf is-path-multipath { + type boolean; + description + "Path is one of multipath best routes"; + } + leaf is-path-imp-candidate { + type boolean; + description + "Path is a candidate for multipath import"; + } + leaf is-path-stale { + type boolean; + description + "Stale routes learnt before neighbor restarts"; + } + leaf is-path-long-lived-stale { + type boolean; + description + "Long lived stale routes learnt before neighbor + restarts"; + } + leaf is-path-backup { + type boolean; + description + "Path is a backup path "; + } + leaf is-path-backup-protect-multipath { + type boolean; + description + "Path is a backup path to protect multipaths"; + } + leaf is-path-best-external { + type boolean; + description + "Path is a best external path"; + } + leaf is-path-additional-path { + type boolean; + description + "Flag to indicate BGP Path is an additional-path"; + } + leaf is-path-nexthop-discarded { + type boolean; + description + "Path is redirected to Null0"; + } + leaf has-local-net-label { + type boolean; + description + "Path has local label"; + } + leaf local-label { + type uint32; + description + " BGP Path local label"; + } + leaf igp-metric { + type uint32; + description + "IGP metric to the gateway"; + } + leaf path-weight { + type uint16; + description + "Weight for the path"; + } + leaf neighbor-router-id { + type inet:ipv4-address; + description + "Router ID of the neighbor for the path"; + } + leaf has-mdt-group-addr { + type boolean; + description + "Path has MDT Group Address"; + } + leaf l2vpn-size { + type uint32; + description + "Path block size"; + } + leaf l2vpn-evpn-esi { + type string; + description + "L2VPN EVPN ESI"; + } + leaf evpn-path-flags { + type uint32; + description + "L2VPN EVPN Path flags"; + } + leaf has-gw-addr { + type boolean; + description + "Path has GW Address"; + } + leaf has-nh-addr { + type boolean; + description + "Path has next-hop Address"; + } + leaf nexthop-interface-handle { + type uint32; + description + "Interface Handle of Nexthop"; + } + leaf has-second-label { + type boolean; + description + "Path has second received label"; + } + leaf second-label { + type uint32; + description + "Path second received label"; + } + leaf path-flap-count { + type uint32; + description + "Number of times this route has flapped"; + } + leaf seconds-since-first-flap { + type uint32; + units "second"; + description + "BGP damp info in seconds, since first route + flapped"; + } + leaf time-to-unsuppress { + type uint32; + units "second"; + description + "Seconds until route is unsuppressed"; + } + leaf dampen-penalty { + type uint32; + description + "BGP Dampening penalty"; + } + leaf halflife-time { + type uint32; + description + "Half-life time for the penalty"; + } + leaf suppress-penalty { + type uint32; + description + "Value to start suppressing a route"; + } + leaf reuse-value { + type uint32; + description + "Value to start reusing a route"; + } + leaf maximum-suppress-time { + type uint32; + description + "Maximum duration to suppress a stable route"; + } + leaf best-path-comp-stage { + type Bgp-bp-stage; + description + "Stage where the path lost to the best path or + group best"; + } + leaf best-path-id-comp-winner { + type uint32; + description + "Path ID of the path which won best path + comparison"; + } + leaf path-flags { + type uint64; + description + "Flags associated with path"; + } + leaf path-flags2 { + type uint32; + description + "Flags2 associated with path"; + } + leaf path-import-flags { + type uint32; + description + "Flags to indicate for import processing in BGP"; + } + leaf best-path-id { + type uint32; + description + "Best path ID; DEPRECATED BY LocalPathId"; + } + leaf local-path-id { + type uint32; + description + "Local path ID"; + } + leaf rcvd-path-id { + type uint32; + description + "Received path ID"; + } + leaf path-table-version { + type uint64; + description + "Table version # for pelem"; + } + leaf advertisedto-pe { + type boolean; + description + "Net could be advertised + to PE peers"; + } + leaf rib-failed { + type boolean; + description + "Is net failed installed + in RIB"; + } + leaf sn-rpki-origin-as-validity { + type uint8; + description + "RPKI origin validation state"; + } + leaf show-rpki-origin-as-validity { + type boolean; + description + "Display validity state ?"; + } + leaf ibgp-signaled-validity { + type boolean; + description + "IBGP signalled validation"; + } + leaf rpki-origin-as-validation-disabled { + type boolean; + description + "RPKI originAS V. Disabled"; + } + leaf accept-own-path { + type boolean; + description + "Accept Own"; + } + leaf accept-own-self-originated-path { + type boolean; + description + "Flag to indicate if BGP path is Accept-Own + community and self-originated"; + } + leaf aigp-metric { + type uint64; + description + "Total AIGP metric"; + } + leaf mvpn-sfs-path { + type boolean; + description + "Flag to indicate if MVPN single forwarder PE + path"; + } + leaf fspec-invalid-path { + type boolean; + description + "Flag to indicate if path is invalidated by + flow-spec rules"; + } + leaf has-mvpn-nbr-addr { + type boolean; + description + "Path has Mvpn nbr Address"; + } + leaf has-mvpn-nexthop-addr { + type boolean; + description + "Path has MVPN nexthop Address"; + } + leaf has-mvpn-pmsi { + type boolean; + description + "Path has MVPN PMSI feedback"; + } + leaf mvpn-pmsi-type { + type uint16; + description + "Mvpn PMSI Type"; + } + leaf mvpn-pmsi-flags { + type uint8; + description + "Mvpn PMSI Value"; + } + leaf mvpn-pmsi-label { + type uint32; + description + "Mvpn PMSI label"; + } + leaf has-mvpn-extcomm { + type boolean; + description + "Path has MVPN EXTCOMM feedback"; + } + leaf mvpn-path-flags { + type uint16; + description + "Multicast Virtual Private Networks specific path + info"; + } + leaf local-nh { + type boolean; + description + "Path has local nexthop"; + } + leaf rt-set-limit-enabled { + type boolean; + description + "Path subject to RT-set net limit"; + } + leaf path-rt-set-id { + type uint32; + description + "RT-set id of the path"; + } + leaf path-rt-set-route-count { + type uint32; + description + "Count in RT-set"; + } + leaf is-path-af-install-eligible { + type boolean; + description + "Path can be installed in AF RIB"; + } + leaf is-permanent-path { + type boolean; + description + "Path is of type Permanent path"; + } + leaf graceful-shutdown { + type boolean; + description + "Marked for graceful shutdown"; + } + leaf labeled-unicast-safi-path { + type boolean; + description + "Path was learnt by labeled-unicast SAFI"; + } + leaf has-vpn-nexthop-addr { + type boolean; + description + "Path has VPN nexthop Address"; + } + leaf is-orig-src-rd-present { + type boolean; + description + "Original Source RD present"; + } + leaf af-name { + type Bgp-afi; + description + "Original Source Address family identifier"; + } + leaf route-distinguisher { + type xr:Route-dist; + description + "Original Source Route Distinguisher"; + } + leaf mac-ip-present { + type boolean; + description + "Mac IP Present present"; + } + leaf mac-ip { + type yang:mac-address; + description + "Mac associated with IP"; + } + leaf ether-tag-id { + type uint32; + description + "Ethernet Tag Id"; + } + leaf igmp-flags-present { + type boolean; + description + "EVPN IGMP Flags Present"; + } + leaf igmp-flags { + type uint8; + description + "EVPN IGMP Flags"; + } + leaf has-srv6-sid-allocated { + type boolean; + description + "Net has SRv6 SID allocated"; + } + leaf srv6-sid-address { + type Ipv6-address; + description + "SRv6 SID address value"; + } + leaf srv6-sid-address-len { + type uint32; + description + "SRv6 SID address Length"; + } + leaf srv6-sid-alloc-mode { + type uint32; + description + "SID alloc mode of SRv6"; + } + leaf srv6-locator { + type string; + description + "SRv6 Locator Name"; + } + leaf evpn-imet-pmsi-originator-present { + type boolean; + description + "EVPN IMET PMSI Originator Nexthop is present"; + } + leaf evpn-imet-pmsi-nexthop-reachable { + type boolean; + description + "Reachability for PMSI Originator nexthop"; + } + leaf path-count { + type uint32; + description + "Number of paths for net"; + } + list rcvd-label { + description + "Path received label stack"; + leaf entry { + type uint32; + description + "Path received label stack"; + } + } + list l2vpn-circuit-status-value { + description + "L2VPN Circuit Status Value"; + leaf entry { + type uint8; + description + "L2VPN Circuit Status Value"; + } + } + list mvpn-pmsi-value { + description + "Mvpn PMSI Value"; + leaf entry { + type uint8; + description + "Mvpn PMSI Value"; + } + } + list extended-community { + description + "Mvpn Extended community attribute"; + leaf entry { + type uint8; + description + "Mvpn Extended community attribute"; + } + } + list local-peers-advertised-to { + description + "Local peers that this prefix has been advertised + to"; + uses BGP-ADVINFO-TYPE; + } + list pe-peers-advertised-to { + description + "PE peers that this prefix has been advertised to"; + uses BGP-ADVINFO-TYPE; + } + list best-path-orrbitfield { + description + "ORR Best path Bitfields"; + uses BGP-ADVINFO-TYPE; + } + list add-path-orrbitfield { + description + "ORR Add path Bitfields"; + uses BGP-ADVINFO-TYPE; + } + } + + grouping BGP-PATH-ADV-BAG { + description + "BGP path with advertised attributes information"; + container neighbor-address-xr { + description + "Neighbor Address"; + uses BGP-ADDRTYPE; + } + container path-info-after-policy-in { + description + "Path information after inbound policy"; + uses BGP-PATH; + } + container path-info-after-policy-out { + description + "Path information after outbound policy"; + uses BGP-PATH; + } + container attributes-after-policy-in { + description + "Attributes after inbound policy"; + uses BGP-ATTR; + } + container attributes-after-policy-out { + description + "Attributes after outbound policy"; + uses BGP-ATTR; + } + leaf no-path { + type boolean; + description + "No path exists All 'sp_path_in' fields except + 'sp_path_in->bag_prefix' are invalid. All + 'sp_path_out' fields are invalid."; + } + leaf af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf route-distinguisher { + type xr:Route-dist; + description + "BGP path with advertised Route Distinguisher"; + } + leaf source-route-distinguisher { + type xr:Route-dist; + description + "BGP path advertised Source Route Distinguisher"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + } + + grouping BGP-RNH-ENTRY-INFO { + description + "BGP RNH ENTRY INFO"; + leaf lrnh-type { + type uint16; + description + "RNH Type"; + } + leaf lrnh-table { + type uint32; + description + "RNH Table ID"; + } + leaf lrnhvni { + type uint32; + description + "RNH VNI"; + } + leaf lrnh-addr { + type inet:ipv4-address; + description + "RNH Address"; + } + leaf lrnh-mac { + type Mac-address; + description + "RNH MAC Address"; + } + leaf frnh-as { + type uint8; + description + "RNH Flags"; + } + leaf rrnh-as { + type uint32; + description + "RNH Refcount"; + } + } + + grouping BGP-L2VPN-EVPN-ESI { + description + "BGP L2VPN EVPN ESI"; + leaf esi { + type yang:hex-string; + description + "esi"; + } + } + + grouping BGP-LRNH-ENTRY-INFO { + description + "BGP LRNH ENTRY INFO"; + container local-rnhesi { + description + "Local RNH ESI"; + uses BGP-L2VPN-EVPN-ESI; + } + leaf lrnh-present { + type boolean; + description + "RNH present boolean"; + } + leaf lrnh-type { + type uint16; + description + "RNH Type"; + } + leaf lrnhvni { + type uint32; + description + "RNH VNI"; + } + leaf lrnh-addr { + type inet:ipv4-address; + description + "RNH Address"; + } + leaf lrnhv6-addr { + type inet:ipv6-address; + description + "RNH IPv6 Address"; + } + leaf lrnh-mac { + type Mac-address; + description + "RNH MAC Address"; + } + } + + grouping BGP-RNH-BAG { + description + "BGP RNH"; + leaf lrnh-table { + type uint32; + description + "RNH Table ID"; + } + list local-rnh-entry { + max-elements "2"; + description + "Local RNH Entries"; + uses BGP-LRNH-ENTRY-INFO; + } + list rnh-entry-info { + description + "List of Dependency Tables "; + uses BGP-RNH-ENTRY-INFO; + } + } + + grouping BGP-EDM-RPKI-REFRESH-ENTRY { + description + "BGP EDM RPKI REFRESH ENTRY"; + leaf af-name { + type Bgp-rpki-af; + description + "Address Family"; + } + leaf neighbor { + type string; + description + "BGP neighbor"; + } + leaf policy { + type string; + description + "Route Policy"; + } + leaf paths { + type uint32; + description + "Number of BGP paths modified or dropped"; + } + leaf drop { + type boolean; + description + "BGP paths were dropped"; + } + } + + grouping BGP-RPKI-REFRESH-LIST-BAG { + description + "BGP RPKI REFRESH LIST BAG"; + list refresh-entry { + description + "Array of refresh entries"; + uses BGP-EDM-RPKI-REFRESH-ENTRY; + } + } + + grouping BGP-UPDERR-VRF-BAG { + description + "BGP Update error-handling VRF information"; + container last-update-malformed-timestamp { + description + "Last malformed messages received time: time + elapsed since 00:00:00 UTC, January 1, 1970"; + uses BGP-TIMESPEC; + } + leaf update-vrf-name { + type string; + description + "VRF Name"; + } + leaf update-malformed-message-count { + type uint32; + description + "BGP virtual routing & forwarding malformed + messages count"; + } + leaf update-malformed-neighbor-count { + type uint32; + description + "Count of neighbors that received malformed + messages"; + } + leaf last-update-malformed-age { + type uint32; + units "second"; + description + "Time since last malformed messages received + event (in seconds)"; + } + } + + grouping BGP-NBR-BRIEF-BAG { + description + "BGP Neighbor brief Information"; + container connection-local-address { + description + "Local address for the connection"; + uses BGP-ADDRTYPE; + } + container connection-remote-address { + description + "Remote address for the connection"; + uses BGP-ADDRTYPE; + } + leaf speaker-id { + type uint8; + description + "Speaker this neighbor is allocated to"; + } + leaf description { + type string; + description + "BGP neighbor brief description"; + } + leaf local-as { + type uint32; + description + "Local AS number"; + } + leaf remote-as { + type uint32; + description + "Remote AS number"; + } + leaf messages-sent { + type uint32; + description + "Number of messages sent"; + } + leaf messages-queued-in { + type uint32; + description + "No. of msgs on receive queue"; + } + leaf messages-queued-out { + type uint32; + description + "No. of messages on send queue"; + } + leaf connection-state { + type Bgp-conn-state; + description + "State of connection"; + } + leaf is-local-address-configured { + type boolean; + description + "Local address configured for the neighbor + connection"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf nsr-enabled { + type boolean; + description + "Neighbor supports NSR"; + } + leaf nsr-state { + type Bgp-sync-nbr-nsr-state; + description + "NSR state"; + } + leaf postit-pending { + type boolean; + description + "Nbr has postits pending"; + } + leaf connection-established-time { + type uint32; + units "second"; + description + "Time (in secs) that the connection has been + established"; + } + leaf bmp-server-id { + type int32; + description + "BMP Server id"; + } + list neighbor-version { + max-elements "25"; + description + "BGP neighbor version for alladdress-families"; + leaf entry { + type uint64; + description + "BGP neighbor version for alladdress-families"; + } + } + } + + grouping BGP-TIMESPEC { + description + "BGP TIMESPEC"; + leaf seconds { + type uint32; + units "second"; + description + "Seconds part of time value"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "Nanoseconds part of time value"; + } + } + + grouping BGP-UPDGEN-STATS-BAG { + description + "BGP Update generation common statistics + information"; + container last-update-discard-timestamp { + description + "Last Discarded time"; + uses BGP-TIMESPEC; + } + container last-update-cleared-timestamp { + description + "Last Cleared time"; + uses BGP-TIMESPEC; + } + container last-update-throttle-timestamp { + description + "Last Throttled time"; + uses BGP-TIMESPEC; + } + container last-update-recovery-timestamp { + description + "Last Recovery time"; + uses BGP-TIMESPEC; + } + container last-update-memory-allocation-fail-timestamp { + description + "Memory allocation failure time"; + uses BGP-TIMESPEC; + } + leaf update-out-queue-messages-high { + type uint32; + description + "OutQueue High Messages"; + } + leaf update-out-queue-messages-cumulative { + type uint32; + description + "OutQueue Cumulative Messages"; + } + leaf update-out-queue-messages-discarded { + type uint32; + description + "OutQueue Discarded Messages"; + } + leaf update-out-queue-messages-cleared { + type uint32; + description + "OutQueue Cleared Messages"; + } + leaf update-out-queue-size-high { + type uint32; + description + "OutQueue Hi Size"; + } + leaf update-out-queue-size-cumulative { + type uint64; + description + "OutQueue Cumulative Size"; + } + leaf update-out-queue-size-discarded { + type uint64; + description + "OutQueue Discarded Size"; + } + leaf update-out-queue-size-cleared { + type uint64; + description + "OutQueue Cleared Size"; + } + leaf last-update-discard-age { + type uint32; + units "second"; + description + "Time since last Discard event (in seconds)"; + } + leaf last-update-cleard-age { + type uint32; + units "second"; + description + "Time since last Clear event (in seconds)"; + } + leaf update-throttle-count { + type uint32; + description + "Throttle Count"; + } + leaf last-update-throttle-age { + type uint32; + units "second"; + description + "Time since last Throttle event (in seconds)"; + } + leaf update-recovery-count { + type uint32; + description + "Recovery Count"; + } + leaf last-update-recovery-age { + type uint32; + units "second"; + description + "Time since last Recovery event (in seconds)"; + } + leaf update-memory-allocation-fail-count { + type uint32; + description + "Number of times there was failure when + allocatingmemory for BGP update generation"; + } + leaf last-update-memory-allocation-fail-age { + type uint32; + units "second"; + description + "Time since last memory allocation failure event + (in seconds)"; + } + } + + grouping BGP-UPDGEN-AF-SUMMARY-BAG { + description + "BGP Update generation address-family summary + information"; + leaf update-group-af-name { + type Bgp-afi; + description + "Address family identifier"; + } + leaf current-update-limit-af { + type uint32; + description + "BGP address-family current AF update limit"; + } + leaf update-out-queue-messages { + type uint32; + description + "OutQueue messages"; + } + leaf update-out-queue-size { + type uint32; + description + "OutQueue size"; + } + leaf update-throttled { + type boolean; + description + "BGP sub-group updates throttled because write + limit reached"; + } + leaf update-update-group-count { + type uint32; + description + "Update-group count"; + } + leaf update-sub-group-count { + type uint32; + description + "Sub-group count"; + } + leaf sub-group-throttled-count { + type uint32; + description + "Throttled sub-group count"; + } + leaf refresh-sub-group-count { + type uint32; + description + "BGP address-family refresh sub-group count"; + } + leaf refresh-sub-group-throttled-count { + type uint32; + description + "Throttled refresh sub-group count"; + } + leaf filter-group-count { + type uint32; + description + "BGP address-family filter-group count"; + } + leaf neighbor-count { + type uint32; + description + "BGP sub-group neighbor count"; + } + } + + grouping BGP-UPDGEN-PROC-BAG { + description + "BGP Update generation Process information"; + container update-statistics { + description + "BGP process update statistics"; + uses BGP-UPDGEN-STATS-BAG; + } + leaf update-out-logging { + type boolean; + description + "Enable syslog messages for update generation + events"; + } + leaf current-update-limit-process { + type uint32; + description + "Current Process update limit"; + } + leaf configured-update-limit-process { + type uint32; + description + "Configured Process update limit"; + } + leaf update-out-queue-messages { + type uint32; + description + "OutQueue messages"; + } + leaf update-out-queue-size { + type uint32; + description + "OutQueue size"; + } + leaf update-throttled { + type boolean; + description + "Flag for BGP address-family summary updates + throttled"; + } + list update-address-family { + description + "List of address-families"; + uses BGP-UPDGEN-AF-SUMMARY-BAG; + } + } + + grouping BGP-CONFIG-RELATIVES-BAG { + description + "BGP config ancestors/children information"; + container neighbor-address-xr { + description + "Neighbor Address"; + uses BGP-ADDRTYPE; + } + container af-independent-relatives { + description + "The relatives of theindependent address-family"; + uses BGP-CONFIG-ENTID; + } + leaf group-name { + type string; + description + "Entity/group name"; + } + leaf configuration-type { + type Bgp-entities; + description + "Entity type"; + } + leaf address-family-identifier { + type string; + description + "AF identifier"; + } + list af-dependent-relative { + max-elements "25"; + description + "The relatives of thedependent address-family"; + uses BGP-CONFIG-ENTID; + } + } + + grouping BGP-AF-DEP { + description + "BGP AF-dependent configuration information"; + container orf-capability-info { + description + "ORF capability item info"; + uses BGP-CONFIG-INFO; + } + container default-originate-info { + description + "The configuration of the defaultinformation + originate"; + uses BGP-CONFIG-INFO; + } + container max-prefixes-info { + description + "Maximum prefixes to accept item info"; + uses BGP-CONFIG-INFO; + } + container orr-group-info { + description + "ORR group info"; + uses BGP-CONFIG-INFO; + } + container next-hop-self-info { + description + "Nexthop attribute for receivedupdates to its own + IP address"; + uses BGP-CONFIG-INFO; + } + container next-hop-unchanged-info { + description + "An attribute is unchanged for nexthop"; + uses BGP-CONFIG-INFO; + } + container route-policy-in-info { + description + "Inbound route policy item info"; + uses BGP-CONFIG-INFO; + } + container route-policy-out-info { + description + "Outbound route policy item info"; + uses BGP-CONFIG-INFO; + } + container prefix-filter-info { + description + "Inbound prefix based filter item info"; + uses BGP-CONFIG-INFO; + } + container route-policy-retention-info { + description + "Inbound Retention policy item info"; + uses BGP-CONFIG-INFO; + } + container remove-private-as-info { + description + "Outbound private-AS removal item info"; + uses BGP-CONFIG-INFO; + } + container remove-private-as-in-info { + description + "Inbound private-AS removal item info"; + uses BGP-CONFIG-INFO; + } + container route-reflector-info { + description + "Route-reflector client item info"; + uses BGP-CONFIG-INFO; + } + container legacy-pe-rt-info { + description + "Accept-legacy-pe-RT item info"; + uses BGP-CONFIG-INFO; + } + container af-enabled-info { + description + "Address family activate item info"; + uses BGP-CONFIG-INFO; + } + container send-community-info { + description + "Send community attribute item info"; + uses BGP-CONFIG-INFO; + } + container send-graceful-shutdown-community-info { + description + "Send Graceful shutdown related community + attribute item info"; + uses BGP-CONFIG-INFO; + } + container send-extended-community-info { + description + "Sending information aboutBGP extended community"; + uses BGP-CONFIG-INFO; + } + container soft-reconfig-info { + description + "Information about the BGPsoft-reconfig"; + uses BGP-CONFIG-INFO; + } + container so-o-info { + description + "BGP Site-of-Origin info"; + uses BGP-CONFIG-INFO; + } + container upd-orig-loopchk-disable-info { + description + "Disable originator loopchk info"; + uses BGP-CONFIG-INFO; + } + container weight-info { + description + "Default weight item info"; + uses BGP-CONFIG-INFO; + } + container allowas-in-info { + description + "Allowas-in item info"; + uses BGP-CONFIG-INFO; + } + container af-long-lived-graceful-start-stale-time-info { + description + "Long-lived-time item info"; + uses BGP-CONFIG-INFO; + } + container af-long-lived-graceful-start-capable-info { + description + "Long-lived-time item info"; + uses BGP-CONFIG-INFO; + } + container as-override-info { + description + "Overriding the autonomous number"; + uses BGP-CONFIG-INFO; + } + container aigp-info { + description + "AIGP info "; + uses BGP-CONFIG-INFO; + } + container aigp-cost-community-info { + description + "AIGP Cost Community info "; + uses BGP-CONFIG-INFO; + } + container aigp-med { + description + "AIGP MED info "; + uses BGP-CONFIG-INFO; + } + container accept-own-info { + description + "Information of an attributeaccept own"; + uses BGP-CONFIG-INFO; + } + container multipath-info { + description + "Information about BGP multipath"; + uses BGP-CONFIG-INFO; + } + container fspec-valid-info { + description + "FSPEC Valid info"; + uses BGP-CONFIG-INFO; + } + container next-hop-unchanged-mpath-info { + description + "Next hop attribute is unchangedin multipath"; + uses BGP-CONFIG-INFO; + } + container permanent-network-info { + description + "BGP network is permanent"; + uses BGP-CONFIG-INFO; + } + container send-mcast-attr-info { + description + "Sending the BGP multicast attributeinformation"; + uses BGP-CONFIG-INFO; + } + container advertise-v4-afi-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-v6-afi-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-l2vpn-evpn-afi-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-dis-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-def-vrf-imp-disable-afi-v4-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-def-vrf-imp-disable-afi-v6-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-vrf-re-imp-disable-afi-v4-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-vrf-re-imp-disable-afi-v6-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-vrf-evpn-re-imp-disable-afi-v4-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-vrf-evpn-re-imp-disable-afi-v6-info { + description + "Advertise Afi Info "; + uses BGP-CONFIG-INFO; + } + container af-encapsulation-type-info { + description + "The type of the encapsulation"; + uses BGP-CONFIG-INFO; + } + container import-afi-info { + description + "Import Afi Info "; + uses BGP-CONFIG-INFO; + } + container advertise-local-labeled-route-info { + description + "Advertise routes with local-label"; + uses BGP-CONFIG-INFO; + } + container enforce-multiple-labels-info { + description + "BGP multiple lables enforcementinformation"; + uses BGP-CONFIG-INFO; + } + container cluster-id-allow-equal-info { + description + "Cluster ID check disabled info. This is the + check that allows BGP to accept routes that + contain a cluster list in which the first + cluster ID is not equal to therouter's own + cluster ID."; + uses BGP-CONFIG-INFO; + } + container srv6-version4-info { + description + "Enable srv6 version 4"; + uses BGP-CONFIG-INFO; + } + container slow-peer-info { + description + "Slow peer update group splitrelate information"; + uses BGP-CONFIG-INFO; + } + container entropy-label-advertise-disable-info { + description + "Disable Entropy Label propagation"; + uses BGP-CONFIG-INFO; + } + leaf has-orf-capability { + type uint32; + description + "ORF capability"; + } + leaf is-default-originate-not-disabled { + type boolean; + description + "Flag to indicate defaultoriginate is not + disabled"; + } + leaf address-family-identifier { + type string; + description + "Address Family Name"; + } + leaf default-originate-route-policy { + type string; + description + "The name of the default-originateroute policy"; + } + leaf max-prefixes { + type uint32; + description + "Maximum prefixes to accept"; + } + leaf max-prefix-warn-threshold { + type uint32; + description + "Warning message threshhold"; + } + leaf is-max-prefix-warn-only { + type boolean; + description + "Warning messages only"; + } + leaf max-prefix-restart-time { + type uint32; + description + "Restart time Value"; + } + leaf orrg-roup-name { + type string; + description + "Name of Optimal Route reflectiongroup the + neighbor is part of"; + } + leaf is-max-prefix-discard-extra-paths { + type boolean; + description + "Discard extra paths"; + } + leaf is-next-hop-self-disabled { + type boolean; + description + "Disable next-hop calc"; + } + leaf is-next-hop-unchanged { + type boolean; + description + "Don't change next-hop"; + } + leaf permanent-network { + type boolean; + description + "Flag to indicate BGP networkis permanent"; + } + leaf route-policy-in { + type string; + description + "Inbound route policy name"; + } + leaf route-policy-out { + type string; + description + "Outbound route policy name"; + } + leaf prefix-orf-filter { + type string; + description + "Inbound prefix based filter"; + } + leaf route-policy-ret { + type string; + description + "Inbound route retention route-policy name"; + } + leaf remove-private-as-out { + type boolean; + description + "Outbound private-AS removal"; + } + leaf entire-aspath-out { + type boolean; + description + "Outbound private-AS removalif the entire AS Path + hasprivate ASes"; + } + leaf remove-private-as-int { + type boolean; + description + "Remove private-AS internalif the internal AS + Path hasprivate ASes"; + } + leaf remove-private-asin { + type boolean; + description + "Inbound private-AS removal"; + } + leaf entire-aspath-in { + type boolean; + description + "Inbound private-AS removal if the entire AS Path + has private ASes"; + } + leaf client-route-reflector { + type boolean; + description + "Route-reflector client"; + } + leaf accept-route-legacy-pe-rt { + type boolean; + description + "accept-legacy-pe RT route"; + } + leaf is-af-enabled { + type boolean; + description + "Entity is activated for this address family"; + } + leaf send-community-attribute { + type boolean; + description + "Flag to indicate communityattribute is sent"; + } + leaf send-graceful-shut-community-attributes { + type boolean; + description + "Flag to indicate graceful shutdown related + community attributes are sent"; + } + leaf send-extended-community-attribute { + type boolean; + description + "Flag to indicate BGP extended community + attribute is sent"; + } + leaf soft-reconfig-not-disabled { + type boolean; + description + "Flag to indicate if BGP soft reconfiguration is + not disabled"; + } + leaf alway-use-soft-reconfig { + type boolean; + description + "Flag to indicate if soft reconfig is always used"; + } + leaf upd-orig-loopchk-disable { + type boolean; + description + "Disable originator loop check"; + } + leaf site-of-origin { + type string; + description + "The routes that are originatedfrom site"; + } + leaf default-weight { + type uint32; + description + "The default value of the BGP weight"; + } + leaf default-allowas { + type uint32; + description + "Default allowas_in count"; + } + leaf af-retention-stale-time { + type uint32; + description + "Stale time in route retention"; + } + leaf af-ret-policy { + type string; + description + "Retention route policy name"; + } + leaf af-long-lived-graceful-restart-stale-time-send { + type uint32; + description + "Stale time to be sent in long-lived + graceful-restart capability"; + } + leaf af-long-lived-graceful-restart-stale-time-accept { + type uint32; + description + "Maxmimum acceptable long-lived stale time + acceptable from neighbor"; + } + leaf af-long-lived-graceful-restart-capable { + type uint32; + description + "The time of the long-lived BGPgraceful-restart"; + } + leaf is-as-override-disabled { + type boolean; + description + "Disable as override"; + } + leaf is-aigp-enabled { + type boolean; + description + "AIGP enabled"; + } + leaf is-aigp-cost-community-enabled { + type boolean; + description + "Flag to indicate cost of theAIGP community is + enabled"; + } + leaf is-aigp-cost-community-id { + type uint32; + description + "AIGP cost community ID"; + } + leaf is-aigp-cost-community-transitive { + type uint32; + description + "AIGP cost community ID is transitive"; + } + leaf aigp-cost-community-poi { + type uint32; + description + "Point of insertion for AIGP cost community"; + } + leaf is-aigp-med-enabled { + type boolean; + description + "AIGP to MED enabled"; + } + leaf accept-own { + type boolean; + description + "Accept Own"; + } + leaf multipath { + type boolean; + description + "Flag to indicate BGP multipath"; + } + leaf is-fspec-valid-enabled { + type boolean; + description + "FSPEC VALID enabled"; + } + leaf is-next-hop-unchanged-mpath { + type boolean; + description + "Don't change mpath next-hop"; + } + leaf is-send-mcast-attr-enabled { + type boolean; + description + "Flag to indicate multicastattribute enabled is + sent"; + } + leaf advertise-v4 { + type uint8; + description + "Advertise afi"; + } + leaf advertise-v6 { + type uint8; + description + "Advertise afi"; + } + leaf advertise-l2vpn-evpn { + type uint8; + description + "Advertise afi"; + } + leaf advertise-disable { + type uint8; + description + "Advertise afi"; + } + leaf advertise-def-vrf-imp-disable-v4 { + type uint8; + description + "Advertise afi"; + } + leaf advertise-def-vrf-imp-disable-v6 { + type uint8; + description + "Advertise afi"; + } + leaf advertise-vrf-re-imp-disable-v4 { + type uint8; + description + "Advertise afi"; + } + leaf advertise-vrf-re-imp-disable-v6 { + type uint8; + description + "Advertise afi"; + } + leaf advertise-vrf-evpn-re-imp-disable-v4 { + type uint8; + description + "Advertise afi"; + } + leaf advertise-vrf-evpn-re-imp-disable-v6 { + type uint8; + description + "Advertise afi"; + } + leaf encapsulation-type { + type uint32; + description + "The type of the BGP encapsulation"; + } + leaf import { + type boolean; + description + "Flag to indicate BGP importing"; + } + leaf import-stitching { + type boolean; + description + "Flag to indicate if BGP stitching RTs are + imported"; + } + leaf import-reoriginate { + type boolean; + description + "Flag to indicate reoriginate import"; + } + leaf import-reoriginate-stitching { + type boolean; + description + "Flag to indicate reoriginate stitchingis + imported in RTs"; + } + leaf advertise-local-labeled-route { + type uint32; + description + "Advertise routes with local-label"; + } + leaf enforce-multiple-labels { + type uint32; + description + "BGP multiple labels enforced"; + } + leaf srv6-version4 { + type boolean; + description + "SRV6 Version4 compatible neighbor"; + } + leaf cluster-id-check-disabled { + type boolean; + description + "Flag to indicate cluster ID check is disabled. + This allows BGP to accept routes that may + contain a cluster list in which the first + cluster ID is not equal to the router's own + cluster ID."; + } + leaf slow-peer-detection-enable { + type boolean; + description + "Enable slow peer detection"; + } + leaf slow-peer-static-flag { + type boolean; + description + "Static splitting"; + } + leaf slow-peer-update-group-split-type { + type Bgp-slow-peer-updgrp-split; + description + "Disable or Permanent"; + } + leaf rpki-options { + type uint32; + description + "Options to indicate if rpki tested paths are to + be stored"; + } + leaf entropy-label-advertise-disable { + type boolean; + description + "Disable Entropy Label propagation"; + } + } + + grouping BGP-CONFIG-ENTID { + description + "BGP config group entity identification"; + list bgp-config-entid { + description + "Next entry in the list"; + container neighbor-address { + description + "Ip address of the neighor"; + uses BGP-ADDRTYPE; + } + leaf address-family-identifier { + type string; + description + "Identifier of the BGPconfig group entity"; + } + leaf configuration-type { + type Bgp-entities; + description + "Entity type"; + } + leaf group-name { + type string; + description + "Name of the BGP configgroup entity"; + } + } + } + + grouping BGP-CONFIG-INFO { + description + "BGP item config information"; + container inheritance-chain { + description + "Pointer to the inheritance chain"; + uses BGP-CONFIG-ENTID; + } + leaf is-item-configured { + type boolean; + description + "TRUE if the item value is a configured value + different from the default"; + } + } + + grouping BGP-AF-INDEP { + description + "BGP AF-independent configuration information"; + container local-ip-address { + description + "Local ipv4 or ipv6 address for neighbor + connection"; + uses BGP-ADDRTYPE; + } + container local-address-subnet { + description + "local address ipv4 or ipv6 address mask"; + uses BGP-ADDRTYPE; + } + container remote-as-info { + description + "Remote AS number item info"; + uses BGP-CONFIG-INFO; + } + container speaker-id-info { + description + "Configured speaker ID item info"; + uses BGP-CONFIG-INFO; + } + container min-advertisement-info { + description + "Minimum advertisement interval item info"; + uses BGP-CONFIG-INFO; + } + container description-info { + description + "Description informationof BGP configuration"; + uses BGP-CONFIG-INFO; + } + container ebgp-hop-count-info { + description + "EBGP neighbors hop count item info"; + uses BGP-CONFIG-INFO; + } + container tcpmss-info { + description + "TCP Maximum Segment Size item info"; + uses BGP-CONFIG-INFO; + } + container bmp-servers-info { + description + "BMP Servers Configuredinfo"; + uses BGP-CONFIG-INFO; + } + container keychain-info { + description + "Neighbor Keychain item info"; + uses BGP-CONFIG-INFO; + } + container local-as-info { + description + "Local AS number item info"; + uses BGP-CONFIG-INFO; + } + container password-info { + description + "Neighbor password item info"; + uses BGP-CONFIG-INFO; + } + container receive-buffer-info { + description + "Receive buffer sizes item info"; + uses BGP-CONFIG-INFO; + } + container send-buffer-info { + description + "Send buffer sizes item info"; + uses BGP-CONFIG-INFO; + } + container shutdown-info { + description + "Shutdown item info"; + uses BGP-CONFIG-INFO; + } + container timers-info { + description + "Timers item info"; + uses BGP-CONFIG-INFO; + } + container local-address-info { + description + "Local address for theBGP configuration"; + uses BGP-CONFIG-INFO; + } + container msg-log-in-info { + description + "Message Log Inbound item info"; + uses BGP-CONFIG-INFO; + } + container msg-log-out-info { + description + "Message Log Outbound item info"; + uses BGP-CONFIG-INFO; + } + container update-source-info { + description + "Updating the source information"; + uses BGP-CONFIG-INFO; + } + container local-address-subnet-info { + description + "Local address of the subnet"; + uses BGP-CONFIG-INFO; + } + container dmz-link-bandwidth-info { + description + "DMZ link bandwidth item "; + uses BGP-CONFIG-INFO; + } + container ebgp-recv-dmz-info { + description + "EBGP receive DMZ link bandwidth item info"; + uses BGP-CONFIG-INFO; + } + container ebgp-send-dmz-info { + description + "EBGP send DMZ link bandwidth item info"; + uses BGP-CONFIG-INFO; + } + container ttl-security-info { + description + "BGP TTL Security item info"; + uses BGP-CONFIG-INFO; + } + container session-open-mode-info { + description + "TCP conn open mode info"; + uses BGP-CONFIG-INFO; + } + container bfd-info { + description + "BFD item info"; + uses BGP-CONFIG-INFO; + } + container bfd-mininterval-info { + description + "BFD Mininterval item info"; + uses BGP-CONFIG-INFO; + } + container bfd-multiplier-info { + description + "BFD Multiplier item info"; + uses BGP-CONFIG-INFO; + } + container tos-info { + description + "TOS item info"; + uses BGP-CONFIG-INFO; + } + container nsr-disabled-info { + description + "NSR item info"; + uses BGP-CONFIG-INFO; + } + container graceful-restart-disabled-info { + description + "Information of disabled gracefulrestart"; + uses BGP-CONFIG-INFO; + } + container nbr-restart-time-info { + description + "Restart time item info"; + uses BGP-CONFIG-INFO; + } + container nbr-stale-path-time-info { + description + "Stale-path time item info"; + uses BGP-CONFIG-INFO; + } + container nbr-enforce-first-as-info { + description + "Neighbor enforce first AS info"; + uses BGP-CONFIG-INFO; + } + container cluster-id-info { + description + "Cluster ID item info"; + uses BGP-CONFIG-INFO; + } + container ignore-connected-info { + description + "Connection information is ignored"; + uses BGP-CONFIG-INFO; + } + container internal-vpn-client-info { + description + "Internal VPN Client Info"; + uses BGP-CONFIG-INFO; + } + container addpath-send-capability-info { + description + "BGP configuration additional pathcapability of + sending"; + uses BGP-CONFIG-INFO; + } + container addpath-receive-capability-info { + description + "BGP configuration additional pathcapability of + receiving"; + uses BGP-CONFIG-INFO; + } + container egress-peer-engineering-info { + description + "Information for the peers egresstraffic"; + uses BGP-CONFIG-INFO; + } + container epe-peer-set-segment-id-info { + description + "Information for the EPE Peer set"; + uses BGP-CONFIG-INFO; + } + container epe-peer-segment-id-info { + description + "Information for the EPE Peer SID"; + uses BGP-CONFIG-INFO; + } + container update-error-handling-no-reset-info { + description + "Error-handling avoid-reset config info"; + uses BGP-CONFIG-INFO; + } + container prefix-validation-disable-info { + description + "RPKI disable info"; + uses BGP-CONFIG-INFO; + } + container prefix-validation-use-validit-info { + description + "RPKI use validity"; + uses BGP-CONFIG-INFO; + } + container prefix-validation-allow-invalid-info { + description + "RPKI allow invalid info"; + uses BGP-CONFIG-INFO; + } + container prefix-validation-signal-ibgp-info { + description + "RPKI signal ibgp info"; + uses BGP-CONFIG-INFO; + } + container neighbor-update-filter-exists-info { + description + "Neighbor update filter configuration info"; + uses BGP-CONFIG-INFO; + } + container neighbor-update-filter-message-buffer-count-info { + description + "Number of neighbor messages filtered"; + uses BGP-CONFIG-INFO; + } + container neighbor-update-filter-syslog-disable-info { + description + "Update in filtering loggingdisable"; + uses BGP-CONFIG-INFO; + } + container neighbor-update-filter-attribute-info { + description + "Update in filteringattribute filter group"; + uses BGP-CONFIG-INFO; + } + container graceful-shutdown-info { + description + "Graceful BGP session shutdown"; + uses BGP-CONFIG-INFO; + } + container graceful-shutdown-loc-pref-info { + description + "The local prefrence for graceful shutdown"; + uses BGP-CONFIG-INFO; + } + container graceful-shutdown-as-prepends-info { + description + "GracefulShutdownASPrepends info"; + uses BGP-CONFIG-INFO; + } + container graceful-shutdown-activate-info { + description + "Information for the activation ofgraceful + shutdown"; + uses BGP-CONFIG-INFO; + } + container graceful-shutdown-bandwidth-aware-info { + description + "Bandwidth-Aware Graceful-Maintenance + configuration info"; + uses BGP-CONFIG-INFO; + } + container update-in-safi14-merge-info { + description + "Merge SAFI-1 and SAFI-4 updates from neighbor + info"; + uses BGP-CONFIG-INFO; + } + container capability-negotiation-suppressed-info { + description + "Information for the negotiation of suppressed + capability"; + uses BGP-CONFIG-INFO; + } + container suppress4-bbyte-as-info { + description + "BGP suppress 4byte-as item info"; + uses BGP-CONFIG-INFO; + } + container neighbor-remote-as-list-info { + description + "Neighbor range remote-as-list group info"; + uses BGP-CONFIG-INFO; + } + container max-peers-info { + description + "Max dynamic nbrs in range info"; + uses BGP-CONFIG-INFO; + } + container idle-watch-time-info { + description + "Idle Watch time item info"; + uses BGP-CONFIG-INFO; + } + container ao-keychain-info { + description + "Neighbor AO keychain item info"; + uses BGP-CONFIG-INFO; + } + container extended-nh-encoding-capability-suppressed-info { + description + "Information for the extended nexthop encoding + capability"; + uses BGP-CONFIG-INFO; + } + container log-up-down-configured-info { + description + "Neighbor log state change enabled"; + uses BGP-CONFIG-INFO; + } + container log-up-down-disable-configured-info { + description + "Neighbor log state change disabled"; + uses BGP-CONFIG-INFO; + } + leaf remote-as-number-xx { + type uint32; + description + "First half of Remote ASN"; + } + leaf remote-as-number-yy { + type uint32; + description + "Second half of Remote ASN"; + } + leaf configured-speaker-id { + type uint32; + description + "Identification for the configuredspeaker"; + } + leaf tcp-mss { + type uint32; + description + "Maximum Segment Size"; + } + leaf min-advertisement-interval { + type uint32; + description + "Minimum amount of time beforesending an + advertisement"; + } + leaf min-advertisement-interval-msecs { + type uint32; + units "millisecond"; + description + "Minimum advertisement time between updates for a + neighborsession in milliseconds"; + } + leaf description { + type string; + description + "BGP address-family independentconfiguration + description"; + } + leaf ebgp-hop-count { + type uint32; + description + "EBGP neighbors hop count"; + } + leaf bmp-servers { + type uint32; + description + "BMP Servers activated"; + } + leaf is-ebgp-multihop-bgp-mpls-forwarding-disabled { + type boolean; + description + "If true, MPLS and NULL rewrite is disabled; if + false, it is enabled"; + } + leaf keychain { + type string; + description + "Neighbor keychain Name"; + } + leaf local-as-number-xx { + type uint32; + description + "First half of Local ASN"; + } + leaf local-as-number-yy { + type uint32; + description + "Second half of Local ASN"; + } + leaf local-as-no-prepend { + type boolean; + description + "Local AS no-prepend option"; + } + leaf password { + type string; + description + "Neighbor password"; + } + leaf socket-buffer-receive-size { + type uint32; + description + "Socket receive buffer size"; + } + leaf bgp-buffer-receive-size { + type uint32; + description + "BGP receive buffer size"; + } + leaf socket-buffer-send-size { + type uint32; + description + "Socket send buffer size"; + } + leaf bgp-buffer-send-size { + type uint32; + description + "BGP send buffer size"; + } + leaf adminstrative-shutdown { + type boolean; + description + "Flag to indicate peer is administratively + shutdown"; + } + leaf keepalive-interval { + type uint32; + description + "Timer for the keepalive event"; + } + leaf hold-time-value { + type uint32; + description + "Holdtime"; + } + leaf min-acc-hold-time-value { + type uint32; + description + "Min acceptable holdtimefrom neighbor"; + } + leaf msg-log-in-buf-count { + type uint32; + description + "Message Log buffer Inbound count"; + } + leaf msg-log-out-buf-count { + type uint32; + description + "Message Log buffer Outbound count"; + } + leaf route-updates-source { + type string; + description + "Source of routing updates"; + } + leaf local-address-subnet-len { + type uint32; + description + "local address prefix len"; + } + leaf dmz-link-bandwidth { + type uint32; + description + "Propagate the DMZ link bandwidth"; + } + leaf ebgp-recv-dmz { + type uint32; + description + "Receive Bandwidth of link to single-hop eBGP + peer"; + } + leaf ebgp-send-dmz-mode { + type Bgp-ebgp-send-dmz-enable-mode; + description + "Send DMZ link bandwidthto ebgp peer"; + } + leaf ttl-security { + type uint32; + description + "Enable BGP TTL Security"; + } + leaf update-in-safi14-merge { + type uint32; + description + "Merge SAFI-1 and SAFI-4 updates from neighbor"; + } + leaf capability-negotiation-suppressed { + type uint32; + description + "Disabling the capabilitynegotiation completely"; + } + leaf four-byte-as-capability-suppressed { + type uint32; + description + "Suppressing the 4-byte AS capability"; + } + leaf extended-nh-encoding-capability-suppressed { + type uint32; + description + "Disabling the extendednexthop encoding + capability"; + } + leaf session-open-mode { + type Bgp-tcp-mode; + description + "TCP open mode to be used "; + } + leaf bfd { + type uint32; + description + "Fast failure detection using BFD"; + } + leaf bfd-mininterval { + type uint32; + description + "BFD Minimum Interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD Multiplier"; + } + leaf tos-type-info { + type uint8; + description + "Precedence or DSCP type"; + } + leaf tos-value-info { + type uint8; + description + "Precedence or DSCP value"; + } + leaf nsr-disabled { + type uint32; + description + "Support for NSR"; + } + leaf graceful-restart-disabled { + type uint32; + description + "Support for graceful-restart"; + } + leaf nbr-restart-time { + type uint32; + units "second"; + description + "Restart time (in seconds)"; + } + leaf nbr-stale-path-time { + type uint32; + units "second"; + description + "Stale-path time(in seconds)"; + } + leaf nbr-enforce-first-as-status { + type boolean; + description + "Flag to indicate whether BGPneighbor enforced as + firstautonomous path"; + } + leaf nbr-cluster-id-type-info { + type uint8; + description + "Cluster ID Type"; + } + leaf nbr-cluster-id-info { + type uint32; + description + "Cluster ID value"; + } + leaf ignore-connected-check { + type boolean; + description + "If true, don't do NHconnected check for nbr"; + } + leaf internal-vpn-client { + type boolean; + description + "If true, the VPN client isan iBGP CE peer"; + } + leaf addpath-send-capability { + type uint32; + description + "Indicates if addpath send capability is enabled + or disabled"; + } + leaf update-error-handling-no-reset { + type uint32; + description + "Indicates if avoid-reset behavior is enabled + during update error-handling"; + } + leaf addpath-receive-capability { + type uint32; + description + "Indicates if addpath receive capability is + enabled or disabled"; + } + leaf egress-peer-engineering { + type uint32; + description + "Indicates egress peer engineering is enabled"; + } + leaf epe-peer-sets { + type string; + description + "Bitfields representing which EPE peer sets the + neighbor belongs to"; + } + leaf epe-peer-segment-id { + type uint32; + description + "Manual segment Index assigned for this neighbor"; + } + leaf prefix-validation-disable { + type uint32; + description + "Disabeling the BGP bestpathprefix validation"; + } + leaf bestpath-use-origin-as-validity { + type uint32; + description + "Bestpath Use Origin-AS Va"; + } + leaf prefix-validation-allow-invalid { + type uint32; + description + "Allowing an invalid prefixas the BGP best path"; + } + leaf prefix-validation-signal-ibgp { + type uint32; + description + "Performs a prefix origin validationfor internal + BGP"; + } + leaf neighbor-update-filter-exists { + type boolean; + description + "Indicates if neighbor filter configuration + exists"; + } + leaf neighbor-update-filter-message-buffer-count { + type uint32; + description + "Count of neighbor filter message buffers"; + } + leaf neighbor-update-filter-message-buffer-is-non-circular { + type boolean; + description + "Indicates if neighbor update filter message + buffer is circular or not"; + } + leaf neighbor-update-filter-logging-disable { + type boolean; + description + "Indicates if neighbor filter logging is disabled"; + } + leaf neighbor-update-filter-attribute-filter-group-name { + type string; + description + "Name of the update filter attributefilter of the + neighbor"; + } + leaf graceful-shutdown-exists { + type uint32; + description + "re-advertise all routes to and from this + neighbor with the GSHUT community during + Shutdown or bring-up"; + } + leaf graceful-shutdown-loc-pref { + type uint32; + description + "Local Preference to advertise routes with during + Graceful Shutdown to IBGP. Default=No Touch"; + } + leaf graceful-shutdown-as-prepends { + type uint32; + description + "Prepend the local AS this many times to the AS + path of routes advertised during Graceful + Shutdown"; + } + leaf graceful-shutdown-activate { + type uint32; + description + "Graceful Shutdown state is activated"; + } + leaf graceful-shutdown-bandwidth-aware-mode { + type Bgp-gshut-bw-mode; + description + "Bandwidth-Aware Graceful-Maintenance mode"; + } + leaf graceful-shutdown-bandwidth-aware-low-threshold { + type uint32; + description + "Bandwidth-Aware Graceful-Maintenance Low + threshold"; + } + leaf graceful-shutdown-bandwidth-aware-high-threshold { + type uint32; + description + "Bandwidth-Aware Graceful-Maintenance High + threshold"; + } + leaf neighbor-remote-as-list-group-name { + type string; + description + "Name of the remote atonomous system list group + of neighbor"; + } + leaf max-peers { + type uint32; + description + "Maximum dynamic nbrs in range"; + } + leaf idle-watch-time { + type uint32; + units "second"; + description + "Idle Watch time(in seconds)"; + } + leaf ao-keychain { + type string; + description + "Neighbor AO keychain name"; + } + leaf ao-include-tcp-options { + type uint32; + description + "Include TCP options AO"; + } + leaf ao-accept-mismatch-connection { + type uint32; + description + "Accepting mismatch connectionfor AO"; + } + leaf local-as-replace-as { + type boolean; + description + "Local AS Replace-AS option"; + } + leaf local-as-dual-as { + type boolean; + description + "Local AS Dual-AS option"; + } + } + + grouping BGP-IPV6-SRPOLICY-ADDR { + description + "BGP IPV6 SRPOLICY ADDR"; + leaf ipv6-srpolicy-address { + type yang:hex-string; + description + "IPv6 address of thesrpolicy"; + } + } + + grouping IPV6-SR-POLICY-ADDRESS-TYPE { + description + "IPv6 SR Policy Address type"; + uses BGP-IPV6-SRPOLICY-ADDR; + } + + grouping BGP-IPV4-SRPOLICY-ADDR { + description + "BGP IPV4 SRPOLICY ADDR"; + leaf ipv4-srpolicy-address { + type yang:hex-string; + description + "IPv4 address of thesrpolicy"; + } + } + + grouping IPV4-SR-POLICY-ADDRESS-TYPE { + description + "IPv4 SR Policy Address type"; + uses BGP-IPV4-SRPOLICY-ADDR; + } + + grouping BGP-L2VPN-MSPW-ADDR { + description + "BGP L2VPN MSPW ADDR"; + leaf l2vpn-address { + type yang:hex-string; + description + "L2vpn address of the BGP mspw"; + } + } + + grouping L2VPN-MSPW-ADDRESS-TYPE { + description + "L2VPN MSPW Address type"; + uses BGP-L2VPN-MSPW-ADDR; + } + + grouping BGP-L2VPN-EVPN-ADDR { + description + "BGP L2VPN EVPN ADDR"; + leaf l2vpn-evpn-address { + type yang:hex-string; + description + "l2vpn evpn address"; + } + } + + grouping L2VPN-EVPN-ADDRESS-TYPE { + description + "L2VPN EVPN Address type"; + uses BGP-L2VPN-EVPN-ADDR; + } + + grouping BGP-L2VPN-ADDR { + description + "BGP L2VPN ADDR"; + leaf l2vpn-address { + type yang:hex-string; + description + "L2vpn address of the protocol BGP"; + } + } + + grouping BGP-ADDRTYPE { + description + "BGP ADDRTYPE"; + container l2vpn-vpls-address { + when "../afi = 'l2vpn-vpls'" { + description + "../AFI = 'L2VPN_VPLS'"; + } + description + "L2VPN VPLS Addr"; + uses BGP-L2VPN-ADDR; + } + container l2vpn-evpn-address { + when "../afi = 'l2vpn-evpn'" { + description + "../AFI = 'L2VPN_EVPN'"; + } + description + "L2VPN EVPN Addr"; + uses L2VPN-EVPN-ADDRESS-TYPE; + } + container l2vpn-mspw-address { + when "../afi = 'l2vpn-mspw'" { + description + "../AFI = 'L2VPN_MSPW'"; + } + description + "L2VPN MSPW Addr"; + uses L2VPN-MSPW-ADDRESS-TYPE; + } + container ipv4-sr-policy-address { + when "../afi = 'ipv4-sr-policy'" { + description + "../AFI = 'IPv4SRPolicy'"; + } + description + "IPV4 Policy Addr"; + uses IPV4-SR-POLICY-ADDRESS-TYPE; + } + container ipv6-sr-policy-address { + when "../afi = 'ipv6-sr-policy'" { + description + "../AFI = 'IPv6SRPolicy'"; + } + description + "IPV6 Policy Addr"; + uses IPV6-SR-POLICY-ADDRESS-TYPE; + } + leaf afi { + type Bgp-afi; + description + "AFI"; + } + leaf ipv4-address { + when "../afi = 'ipv4'" { + description + "../AFI = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv4-mcast-address { + when "../afi = 'ipv4-multicast'" { + description + "../AFI = 'IPv4Multicast'"; + } + type inet:ipv4-address; + description + "IPv4 Mcast Addr"; + } + leaf ipv4-label-address { + when "../afi = 'ipv4-labeled'" { + description + "../AFI = 'IPv4Labeled'"; + } + type inet:ipv4-address; + description + "IPv4 Label Addr"; + } + leaf ipv4-tunnel-address { + when "../afi = 'ipv4-tunnel'" { + description + "../AFI = 'IPv4Tunnel'"; + } + type Ipv4-tunnel-address; + description + "IPv4 Tunnel"; + } + leaf ipv4-mdt-address { + when "../afi = 'ipv4-mdt'" { + description + "../AFI = 'IPv4MDT'"; + } + type Ipv4-mdt-address; + description + "IPv4 MDT Addr"; + } + leaf ipv4vpn-address { + when "../afi = 'vpnv4'" { + description + "../AFI = 'VPNv4'"; + } + type inet:ipv4-address; + description + "IPv4 VPN Addr"; + } + leaf ipv4vpna-mcastddress { + when "../afi = 'vpnv4-multicast'" { + description + "../AFI = 'VPNv4Multicast'"; + } + type inet:ipv4-address; + description + "IPv4 VPN Mcast Addr"; + } + leaf ipv6-address { + when "../afi = 'ipv6'" { + description + "../AFI = 'IPv6'"; + } + type Ipv6-address; + description + "IPV6 Addr"; + } + leaf ipv6-mcast-address { + when "../afi = 'ipv6-multicast'" { + description + "../AFI = 'IPv6Multicast'"; + } + type Ipv6-address; + description + "IPV6 Mcast Addr"; + } + leaf ipv6-label-address { + when "../afi = 'ipv6-labeled'" { + description + "../AFI = 'IPv6Labeled'"; + } + type Ipv6-address; + description + "IPv6 Label Addr"; + } + leaf ipv6vpn-address { + when "../afi = 'vpnv6'" { + description + "../AFI = 'VPNv6'"; + } + type Ipv6-address; + description + "IPv6 VPN Addr"; + } + leaf ipv6vpn-mcast-address { + when "../afi = 'vpnv6-multicast'" { + description + "../AFI = 'VPNv6Multicast'"; + } + type Ipv6-address; + description + "IPv6 VPN Mcast Addr"; + } + leaf rt-constraint-address { + when "../afi = 'rt-constraint'" { + description + "../AFI = 'RTConstraint'"; + } + type Rt-constraint-address; + description + "RT Constrt Addr"; + } + leaf ipv6mvpn-address { + when "../afi = 'ipv6-mvpn'" { + description + "../AFI = 'IPv6MVPN'"; + } + type Ipv6mvpn-address; + description + "MVPN addr"; + } + leaf ipv4mvpn-address { + when "../afi = 'ipv4-mvpn'" { + description + "../AFI = 'IPv4MVPN'"; + } + type Ipv4mvpn-address; + description + "MVPN4 addr"; + } + leaf ls-ls-address { + when "../afi = 'ls-ls'" { + description + "../AFI = 'LS_LS'"; + } + type Ls-ls-address; + description + "LINKSTATE LINKSTATE Addr"; + } + leaf ipv4-flowspec-address { + when "../afi = 'ipv4-flowspec'" { + description + "../AFI = 'IPv4Flowspec'"; + } + type Ipv4-flowspec-address; + description + "IPV4 Flowspec Addr"; + } + leaf ipv6-flowspec-address { + when "../afi = 'ipv6-flowspec'" { + description + "../AFI = 'IPv6Flowspec'"; + } + type Ipv6-flowspec-address; + description + "IPV6 Flowspec Addr"; + } + leaf ipv4vpn-flowspec-address { + when "../afi = 'vpnv4-flowspec'" { + description + "../AFI = 'VPNv4Flowspec'"; + } + type Ipv4-flowspec-address; + description + "IPV4 VPN Flowspec Addr"; + } + leaf ipv6vpn-flowspec-address { + when "../afi = 'vpnv6-flowspec'" { + description + "../AFI = 'VPNv6Flowspec'"; + } + type Ipv6-flowspec-address; + description + "IPV6 VPN Flowspec Addr"; + } + } + + grouping BGP-CONFIG-ENTITY-BAG { + description + "BGP entity config information"; + container neighbor-address-xr { + description + "Neighbor Address"; + uses BGP-ADDRTYPE; + } + container af-independent-config { + description + "BGP address-family independentconfiguration"; + uses BGP-AF-INDEP; + } + leaf group-name { + type string; + description + "Entity/group name"; + } + leaf configuration-type { + type Bgp-entities; + description + "Entity type"; + } + leaf address-family-identifier { + type string; + description + "AF identifier"; + } + list af-dependent-config { + max-elements "25"; + description + "Dependent configuration peraddress-family"; + uses BGP-AF-DEP; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper.yang new file mode 100644 index 000000000..3345bd4a9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-bgp-oper.yang @@ -0,0 +1,2161 @@ +module Cisco-IOS-XR-ipv4-bgp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oper"; + prefix ipv4-bgp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv4-bgp-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-ipv4-bgp-oper-sub1 { + revision-date 2023-07-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-bgp package operational data. + + This module contains definitions + for the following management objects: + bgp: BGP operational data + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-05 { + description + "Added new field to neighbor bag related to sync elem flag + 2023-01-18 + Updated BMP path information to include link-local nexthop and netxhop route-distinguisher information + 2023-01-16 + Added oc-rib attribute index in BGP path information + 2022-11-11 + Modified type of Last Received Message in per-neighbor information + 2022-10-14 + Added Last Received Message for per neighbor + 2022-10-11 + Added delay and other timers for BMP server + 2022-10-09 + Added server states in per BMP server convergence data IosSetYangSchemaRev Cisco-IOS-XR-ipv4-bgp-oper + 2022-09-05 + Added suport for BMP L3VPN inbound post-policy and Local RIB + 2022-06-02 + Added update wait install delay leaf. + 2022-02-18 + Added interface-name key to next-hop-af leaf. + 2022-02-07 + Added address family string under af-array + 2021-11-15 + Added interafi leak information in update out + 2021-11-12 + Updated convergence operational information + 2021-11-09 + Added oper for Nexthop sync slot + 2021-10-20 + Added next hop encapsulation type for MPLS over UDP tunnel"; + semver:module-version "6.0.0"; + } + revision 2021-10-16 { + description + "Added Oper for mamximum-paths deterministic + 2021-06-27 + Added PathLocalSidTable and PathReceivedSidTable"; + semver:module-version "5.0.0"; + } + revision 2021-05-10 { + description + "Added platform capability mix srte CLI + 2021-03-15 + Added Export Allow Config for backup + 2021-03-05 + Deprecated Hidden commands + 2021-03-05 + Added SR Policy Path Prefernce in Bestpath Compare + 2020-10-04 + Added Soft NextHop Validation and Metric + 2020-09-30 + Added LATEST bestpath comparison reason + 2020-09-18 + Added SRv6 TE BSID information + 2020-07-15 + Changed VRFDBVRFTable pathformat"; + semver:module-version "4.0.0"; + } + revision 2020-06-23 { + description + "changed the afi from integer to string in BPM entities + 2020-03-30 + Extended flags to 16 bits and changed leaf names as per convention"; + semver:module-version "3.0.0"; + } + revision 2020-01-11 { + description + "Fixing invalid range for prefix length. + 2019-08-31 + Fixing revision error in module."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Fixing backward compatibility error in module"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Added schema for opercoverage missing paths"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-08-27 { + description + "IOS XR 5.3.2 revision."; + } + + typedef Bgp-rpki-edm-af { + type enumeration { + enum "ipv4" { + value 2; + description + "IPv4"; + } + enum "ipv6" { + value 10; + description + "IPv6"; + } + } + description + "Bgp rpki edm af"; + } + + typedef Bgp-epe-obj { + type union { + type enumeration { + enum "epe-peer-type" { + value 1; + description + "Peer as an EPE object"; + } + enum "epe-peer-set-type" { + value 2; + description + "Peer-Set as an EPE object"; + } + enum "epe-adjacency-type" { + value 3; + description + "Firsthop Adjacency as an EPE object"; + } + } + type uint32 { + range "1..3"; + } + } + description + "Bgp epe obj"; + } + + typedef Bgp-route { + type enumeration { + enum "used" { + value 0; + description + "Used path from neighbor"; + } + enum "received-only" { + value 1; + description + "Received only path from neighbor"; + } + enum "safi-labeled-unicast-used" { + value 2; + description + "Used path from neighbor received via + labeled-unicast SAFI"; + } + enum "safi-labeled-unicast-received-only" { + value 3; + description + "Received only path from neighbor received via + labeled-unicast SAFI"; + } + enum "rib" { + value 4; + description + "Redistributed from the RIB"; + } + enum "aggregate" { + value 5; + description + "Locally generated aggregate"; + } + } + description + "Bgp route"; + } + + typedef Bgp-entity { + type enumeration { + enum "af-group" { + value 0; + description + "Address family group"; + } + enum "session-group" { + value 1; + description + "BGP Peer Session group"; + } + enum "neighbor-group" { + value 2; + description + "BGP Peer group"; + } + enum "neighbor" { + value 3; + description + "BGP Neighbor"; + } + } + description + "Bgp entity"; + } + + typedef Bgp-route-distinguisher { + type string; + description + "Bgp route distinguisher"; + } + + grouping UPDATE-GENERATION-PROCESS { + description + "Common node of instance-active, instance-standby"; + container update-generation-process { + description + "The BGP Update generate table for the process"; + uses BGP-UPDGEN-PROC-BAG; + } + } + + grouping VRFDBVR-FENTRY { + description + "Common node of instance-active, instance-standby"; + container vrfdbvr-fentry { + description + "A BGP VRF DB VRF entry"; + uses BGP-VRF-DB-VRF-TBL-BAG; + } + } + + grouping PATH { + description + "Common node of path-table, path-used-table, + path-labeled-table, path-local-sid-table, + path-received-sid-table"; + list path { + description + "A BGP path table entry"; + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for ip + prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the subnet prefix"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address for the BGP neighbor"; + } + leaf route-type { + type Bgp-route; + description + "Route Type"; + } + leaf source-rd { + type Bgp-route-distinguisher; + description + "Source Route Distinguisher value"; + } + leaf orig-source-rd { + type Bgp-route-distinguisher; + description + "Original Source Route Distinguisher"; + } + leaf path-id { + type uint32 { + range "0..4294967295"; + } + description + "Received Path ID"; + } + uses BGP-PATH-BAG; + } + } + + grouping BMP { + description + "Common node of default-vrf, vrf"; + container bmp { + description + "BMP related Operational Data"; + container server-summaries { + description + "Table of BMP Servers"; + list server-summary { + key "server-id"; + description + "Summary Information about BMP server"; + leaf server-id { + type uint32 { + range "1..8"; + } + description + "BMP Server ID"; + } + uses BGP-BMP-SRVR-BAG; + } + } + container server-neighbors { + description + "Table of Neighbors for a BMP Server"; + list server-neighbor { + key "server-id"; + description + "BMP Server under which neighbor info are + needed"; + container monitored-neighbors { + description + "List of Neighbors under which BMP Server is + configured"; + list monitored-neighbor { + description + "Information about a neighbor monitored by + BMP server"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of VRF, the neighbor belongs to"; + } + uses BGP-BMP-NBR-BAG; + } + } + leaf server-id { + type uint32 { + range "1..8"; + } + description + "BMP Server ID"; + } + } + } + } + } + + grouping VRFDBVRF-TABLE { + description + "Common node of instance-active, instance-standby"; + container vrfdbvrf-table-entries { + description + "A BGP VRF DB VRFs table"; + list vrfdbvrf-table-entry { + description + "A BGP VRF DB VRF TABLE"; + leaf index { + type uint32; + description + "BGP VRF DB TBL index"; + } + leaf id { + type uint32; + description + "BGP VRF DB TBL ID"; + } + uses BGP-VRF-DB-VRF-TBL-BAG; + } + } + } + + grouping ATTRIBUTE-FILTER-GROUP-TABLE { + description + "Common node of instance-active, instance-standby"; + container attribute-filter-groups { + description + "All attribute-filter groups in this instance"; + list attribute-filter-group { + key "group-name"; + description + "The BGP Attribute filter group Table Entry"; + leaf group-name { + type xr:Cisco-ios-xr-string; + description + "The BGP Attribute filter group table entry + name"; + } + uses BGP-ATTRFILTER-GROUP-BAG; + } + } + } + + grouping ATTRIBUTE-TABLE { + description + "Common node of instance-active, instance-standby, + af"; + container attributes { + description + "The BGP Attribute table"; + list attribute { + description + "A BGP Attribute table entry"; + leaf attribute-iid { + type uint32 { + range "0..255"; + } + description + "Identifier of BGP Attribute table entry"; + } + leaf attribute-cache-bucket { + type uint32 { + range "0..65535"; + } + description + "Cache bucket value of BGP Attribute table + entry"; + } + leaf attribute-cache-id { + type uint32; + description + "Identifier of the BGP Attribute Cache"; + } + uses BGP-ATTR-BAG; + } + } + } + + grouping SESSION-TABLE { + description + "Common node of default-vrf, vrf"; + container sessions { + description + "The BGP session table"; + list session { + key "neighbor-address"; + description + "A BGP session table entry"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-NBR-BRIEF-BAG; + } + } + } + + grouping POSTIT-TABLE { + description + "Common node of default-vrf, vrf"; + container postits { + description + "The BGP Neighbor table"; + list postit { + key "neighbor-address"; + description + "A BGP Postit table entry"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-NEIGHBOR-NSR-BAG; + } + } + } + + grouping UPDATE-INBOUND-ERROR-PROCESS { + description + "Common node of instance-active, instance-standby"; + container update-inbound-error-process { + description + "Update inbound error information for the process"; + uses BGP-UPDERR-PROC-BAG; + } + } + + grouping NEXT-HOP-VRF { + description + "Common node of default-vrf, vrf"; + container next-hop-vrf { + description + "A BGP Next-hop VRF table entry"; + uses BGP-NEXTHOP-VRF-BAG; + } + } + + grouping BMP-LOCAL-RIB-EMULATED-PEER-BRIEF-TABLE { + description + "Common node of default-vrf, vrf"; + container bmp-local-rib-emulated-peer-briefs { + description + "The BGP BMP Emulated session table"; + list bmp-local-rib-emulated-peer-brief { + key "neighbor-address"; + description + "A BGP BMP Emulated session table entry"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP BMP Emulated + Neighbor"; + } + uses BGP-NBR-BRIEF-BAG; + } + } + } + + grouping RPKI-SUMMARY { + description + "Common node of instance-active, instance-standby"; + container rpki-summary { + description + "RPKI Summary Info"; + uses BGP-RPKI-SUMMARY-BAG; + } + } + + grouping VRF-TABLE { + description + "Common node of instance-active, instance-standby"; + container vrfs { + description + "VRF related operational data"; + list vrf { + key "vrf-name"; + description + "Operational data for a particular VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF"; + } + uses BMP-LOCAL-RIB-EMULATED-PEER-BRIEF-TABLE; + uses UPDATE-INBOUND-ERROR-VRF; + uses AF-TABLE; + uses INFORMATION; + uses UPDATE-INBOUND-FILTER-VRF; + uses POSTIT-TABLE; + uses GLOBAL-PROCESS-INFO; + uses BMP-LOCAL-RIB-EMULATED-PEER-TABLE; + uses UPDATE-INBOUND-ERROR-NEIGHBOR-TABLE; + uses UPDATE-INBOUND-FILTER-NEIGHBOR-TABLE; + uses BMP; + uses NEIGHBOR-MISSING-EOR-TABLE; + uses PROCESS-INFO; + uses SESSION-TABLE; + uses NEIGHBOR-TABLE; + uses NEXT-HOP-VRF; + uses NEIGHBOR-RANGE-TABLE; + uses MESSAGE-LOG-TABLE; + } + } + } + + grouping UPDATE-INBOUND-FILTER-VRF { + description + "Common node of default-vrf, vrf"; + container update-inbound-filter-vrf { + description + "Update inbound filtering information for the VRF"; + uses BGP-UPDFILTER-VRF-BAG; + } + } + + grouping BMP-PREFIX { + description + "Common node of bmp-prefix-table, + bmp-prefix-version-filter, bmp-prefix-rd-filter, + bmp-prefix-neighbor-filter, + bmp-prefix-prefix-filter, + bmp-prefix-rd-neighbor-filter, + bmp-prefix-rd-prefix-filter"; + list bmp-prefix { + description + "A BMP prefix table entry"; + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for IP + prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the network prefix"; + } + uses BGP-BMP-NET-BAG; + } + } + + grouping INFORMATION { + description + "Common node of default-vrf, vrf"; + container information { + description + "Meta data for VRF"; + uses BGP-VRF-INFO-BAG; + } + } + + grouping ENTITY-CONFIGURATION-TABLE { + description + "Common node of config-instance-default-vrf, + config-vrf"; + container entity-configurations { + description + "The BGP Entity Configuration table"; + list entity-configuration { + description + "A BGP Entity Configuration table entry"; + leaf entity-type { + type Bgp-entity; + description + "Type of the Entity configuration table entry"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + leaf entity-name { + type xr:Cisco-ios-xr-string; + description + "Name of the Entity configuration table entry"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Length of the subnet prefix"; + } + uses BGP-CONFIG-ENTITY-BAG; + } + } + } + + grouping DEFAULT-VRF { + description + "Common node of instance-active, instance-standby"; + container default-vrf { + description + "Default VRF related operational data"; + uses BMP-LOCAL-RIB-EMULATED-PEER-BRIEF-TABLE; + uses UPDATE-INBOUND-ERROR-VRF; + uses AF-TABLE; + uses INFORMATION; + uses UPDATE-INBOUND-FILTER-VRF; + uses POSTIT-TABLE; + uses GLOBAL-PROCESS-INFO; + uses BMP-LOCAL-RIB-EMULATED-PEER-TABLE; + uses UPDATE-INBOUND-ERROR-NEIGHBOR-TABLE; + uses UPDATE-INBOUND-FILTER-NEIGHBOR-TABLE; + uses BMP; + uses NEIGHBOR-MISSING-EOR-TABLE; + uses PROCESS-INFO; + uses SESSION-TABLE; + uses NEIGHBOR-TABLE; + uses NEXT-HOP-VRF; + uses NEIGHBOR-RANGE-TABLE; + uses MESSAGE-LOG-TABLE; + } + } + + grouping UPDATE-INBOUND-ERROR-VRF { + description + "Common node of default-vrf, vrf"; + container update-inbound-error-vrf { + description + "Update inbound error information for the VRF"; + uses BGP-UPDERR-VRF-BAG; + } + } + + grouping UPDATE-INBOUND-FILTER-NEIGHBOR-TABLE { + description + "Common node of default-vrf, vrf"; + container update-inbound-filter-neighbors { + description + "Update inbound filtering information for all + neighbors"; + list update-inbound-filter-neighbor { + key "neighbor-address"; + description + "Update inbound filtering information for + neighbor"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-UPDFILTER-NBR-BAG; + } + } + } + + grouping NEIGHBOR-RANGE-TABLE { + description + "Common node of default-vrf, vrfCommon node of + default-vrf, vrf"; + container neighbor-ranges { + description + "The BGP Dynamic Neighbor Range table"; + list neighbor-range { + key "neighbor-range-address"; + description + "A BGP Neighbor Range table entry"; + leaf neighbor-range-address { + type inet:ip-prefix; + description + "Neighbor Range prefix"; + } + uses BGP-NBR-RANGE-BAG; + } + } + } + + grouping CONFIGURATION-USER-TABLE { + description + "Common node of config-instance-default-vrf, + config-vrf"; + container configuration-users { + description + "The BGP configuration users table"; + list configuration-user { + description + "A BGP configuration user table entry"; + leaf entity-type { + type Bgp-entity; + description + "Type of the configuration user table entry"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + leaf entity-name { + type xr:Cisco-ios-xr-string; + description + "Name of the configuration user table entry"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Length of the subnet prefix"; + } + uses BGP-CONFIG-RELATIVES-BAG; + } + } + } + + grouping NEIGHBOR { + description + "Common node of neighbors, neighbor-af-table, + neighbor-missing-eor-table"; + list neighbor { + key "neighbor-address"; + description + "A BGP Neighbor table entry"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-NBR-BAG; + } + } + + grouping BMP-LOCAL-RIB-EMULATED-PEER-TABLE { + description + "Common node of default-vrf, vrf"; + container bmp-local-rib-emulated-peers { + description + "The BGP BMP Emulated Neighbor table"; + list bmp-local-rib-emulated-peer { + key "neighbor-address"; + description + "A BGP BMP Emulated Neighbor table entry"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP BMP Emulated + Neighbor"; + } + uses BGP-NBR-BAG; + } + } + } + + grouping RT-HASH-TABLE { + description + "Common node of instance-active, instance-standby"; + container rt-hash-table-entries { + description + "BGP Route Target Hash Table"; + list rt-hash-table-entry { + description + "BGP Route Target Hash Table Entry"; + leaf imp-exp { + type uint32 { + range "0..1"; + } + description + "Flag to indicate RT import or export"; + } + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf rt-hash { + type uint32; + description + "Route Target Hash Index"; + } + uses BGP-VRF-RT-HASH-SLICE-BAG; + } + } + } + + grouping UPDATE-INBOUND-ERROR-NEIGHBOR-TABLE { + description + "Common node of default-vrf, vrf"; + container update-inbound-error-neighbors { + description + "Update inbound error information for all + neighbors"; + list update-inbound-error-neighbor { + key "neighbor-address"; + description + "Update inbound error information for neighbor"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-UPDERR-NBR-BAG; + } + } + } + + grouping RPKI-SERVER-LIST { + description + "Common node of instance-active, instance-standby"; + container rpki-server-list { + description + "RPKI Server Table"; + uses BGP-RPKI-CACHES-BAG; + } + } + + grouping GLOBAL-PROCESS-INFO { + description + "Common node of default-vrf, vrf"; + container global-process-info { + description + "The Global Process information table"; + uses BGP-GLOBAL-PROCESS-INFO-BAG; + } + } + + grouping RT-TABLE { + description + "Common node of instance-active, instance-standby"; + container rt-entries { + description + "BGP Route Target Sets Table"; + list rt-entry { + description + "BGP Route Target Set Entry"; + leaf route-target-lower-bytes { + type uint32; + description + "Lower 4 bytes of RT"; + } + leaf route-target-upper-bytes { + type uint32; + description + "Upper 4 bytes of RT"; + } + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf request-id { + type uint32; + description + "Random Request ID"; + } + uses BGP-VRF-RT-BAG; + } + } + } + + grouping ORR-GROUP-GLOBAL-TABLE { + description + "Common node of instance-active, instance-standby"; + container orr-group-global-table-entries { + description + "The BGP Optimal Route Reflection Group Table"; + list orr-group-global-table-entry { + key "orr-grp-name"; + description + "A BGP Optimal Route Reflection Group Global + Table Entry"; + leaf orr-grp-name { + type xr:Cisco-ios-xr-string; + description + "The BGP Optimal Route Reflection Group Name"; + } + uses BGP-ORR-GROUP-BASE-BAG; + } + } + } + + grouping RPKI-ROUTE-TABLE { + description + "Common node of instance-active, instance-standby"; + container rpki-routes { + description + "BGP RPKI ROA table"; + list rpki-route { + description + "RPKI Path Group"; + leaf af-name { + type Bgp-rpki-edm-af; + description + "IPv4 or IPV6 Address family"; + } + leaf address { + type xr:Cisco-ios-xr-string; + description + "IPv4 or IPv6 route prefix contained in the + Route Origin Authorization"; + } + leaf minimum { + type uint32 { + range "0..128"; + } + description + "Length of the shortest prefix allowed"; + } + leaf maximum { + type uint32 { + range "0..128"; + } + description + "Length of the longest prefix allowed"; + } + uses BGP-RPKI-ROUTES-BAG; + } + } + } + + grouping NEIGHBOR-MISSING-EOR-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbor-missing-eor-table { + description + "The BGP Neighbor missing eor table"; + uses NEIGHBOR; + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbors { + description + "The BGP Neighbor table"; + uses NEIGHBOR; + } + } + + grouping MESSAGE-LOG-TABLE { + description + "Common node of default-vrf, vrf"; + container message-logs { + description + "The BGP Neighbor Message table"; + list message-log { + description + "A BGP Message log entry"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + leaf direction { + type uint32 { + range "0..1"; + } + description + "Message log Direction"; + } + uses BGP-MSGLOG-NBR-BAG; + } + } + } + + grouping AF-TABLE { + description + "Common node of default-vrf, vrf"; + container afs { + description + "BGP address family table"; + list af { + key "af-name"; + description + "A particular address family"; + container rpki-refresh-af-table { + description + "RPKI Refresh Table (per AF)"; + container rpki-refresh-af { + description + "RPKI Refresh List"; + uses BGP-RPKI-REFRESH-LIST-BAG; + } + } + container remote-nh-table { + description + "A BGP Remote Nexthop table entry"; + uses BGP-RNH-BAG; + } + container policies { + description + "The BGP Policy Table"; + list policy { + description + "A BGP Policy table entry"; + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for + ip prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the subnet prefix"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-PATH-ADV-BAG; + } + } + container convergence { + description + "A BGP Convergence table entry"; + uses BGP-CONVERGENCE-BAG; + } + container af-process-info { + description + "A BGP Process address family table entry"; + uses BGP-PROCESS-INFO-AF-BAG; + } + container path-used-table { + description + "The BGP Path Used Table"; + uses PATH; + } + container bmp-path-table-generic { + status obsolete; + description + "Summary Info about BMP Table"; + uses BGP-BMP-TBL-GBL-BAG; + } + container rpc-sets { + description + "BGP next-hop set table"; + list rpc-set { + key "rpc-set-index"; + description + "A BGP next-hop set"; + leaf rpc-set-index { + type uint32; + description + "Nexthop set index"; + } + uses BGP-RPC-SET-BAG; + } + } + container global-af-process-info { + description + "The Global Address Family Process information + table"; + uses BGP-GLOBAL-PROCESS-INFO-AF-BAG; + } + container advertised-path-xr { + description + "The BGP Advertised path table (bestpath)"; + list advertised-path { + description + "A BGP Advertised path table entry (bestpath)"; + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for + ip prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the subnet prefix"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of BGP Neighbor"; + } + uses BGP-PATH-BAG; + } + } + container sourced-networks { + description + "The BGP Convergence table"; + list sourced-network { + key "network"; + description + "A BGP network command table entry"; + leaf network { + type inet:ip-prefix; + description + "Network in prefix/length format"; + } + uses BGP-STATIC-ROUTES-BAG; + } + } + container update-groups { + description + "The BGP Update group table"; + list update-group { + description + "A BGP Update group table entry"; + leaf update-group-id { + type uint32; + description + "A BGP Update group table entry index"; + } + leaf filter-group-id { + type uint32; + description + " A BGP Filter group index"; + } + uses BGP-UPDGRP-BAG; + } + } + container update-generation-sub-groups { + description + "The BGP Update generate entries for all + sub-groups"; + list update-generation-sub-group { + description + "A BGP Update generate table entry for + sub-group"; + leaf update-group-index { + type uint32 { + range "0..4294967295"; + } + description + "A BGP Update Group Entry index"; + } + leaf sub-group-index { + type uint32; + description + "A BGP Update Sub group Table index"; + } + leaf sub-group-id { + type uint32; + description + "A BGP Update Sub group table ID"; + } + uses BGP-UPDGEN-SUBGRP-BAG; + } + } + container next-hop-address-families { + description + "Address family of nexthop table"; + list next-hop-address-family { + key "next-hop-af-name"; + description + "Address family of a nexthop entry"; + container next-hop-af-vrf-af { + description + "A BGP Next-hop VRF AF table entry"; + uses BGP-NEXTHOP-VRF-AF-BAG; + } + container next-hop-afs { + description + "The BGP Next-hop table"; + list next-hop-af { + description + "A BGP Next hop entry"; + leaf next-hop-address { + type inet:ip-address-no-zone; + description + "IP address of Next hop Entry"; + } + leaf attribute-set { + type xr:Cisco-ios-xr-string; + description + "Attribute Set Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses BGP-NEXTHOP-BAG; + } + } + leaf next-hop-af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + } + } + container rt-set-counters { + description + "The RT-set counter table"; + list rt-set-counter { + key "rt-set-id"; + description + "One RT-set counter table entry"; + leaf rt-set-id { + type uint32; + description + "Identifier of RTSet"; + } + uses BGP-RTSET-BAG; + } + } + container bmp-paths { + status deprecated; + description + "The paths in BMP Table"; + list bmp-path { + key "network"; + status obsolete; + description + "A BMP path table entry"; + leaf network { + type inet:ip-prefix; + description + "Network in prefix/length format"; + } + uses BGP-BMP-NET-BAG; + } + } + container update-generation-update-groups { + description + "The BGP Update generate entries for all + update-groups"; + list update-generation-update-group { + key "update-group-index"; + description + "A BGP Update Generate Group Entry"; + leaf update-group-index { + type uint32 { + range "0..4294967295"; + } + description + "Update group index of the update-group table"; + } + uses BGP-UPDGEN-UPDGRP-BAG; + } + } + container bmp-modes { + description + "BMP route monitoring modes"; + list bmp-mode { + key "mode"; + description + "The BMP route monitoring mode"; + container bmp-prefix-prefix-filters { + description + "The BMP Prefix Table with Prefix Filter"; + list bmp-prefix-prefix-filter { + description + "Prefix Filter Values"; + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format + for IP prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the network prefix"; + } + uses BMP-PREFIX; + } + } + container bmp-prefix-version-filters { + description + "The BMP Prefix Table with Version Filter"; + list bmp-prefix-version-filter { + description + "Version Filter Value"; + leaf begin { + type uint32; + description + "Begin Version"; + } + leaf end { + type uint32; + description + "End Version"; + } + uses BMP-PREFIX; + } + } + container bmp-prefix-table-generic { + description + "Summary Info about BMP Table"; + uses BGP-BMP-TBL-GBL-BAG; + } + container bmp-prefix-rd-prefix-filters { + description + "The BMP Prefix Table with RD and Neighbor + Filter"; + list bmp-prefix-rd-prefix-filter { + description + "RD and Neighbor Filter Values"; + leaf rd { + type Bgp-route-distinguisher; + description + "The Route Distinguisher value"; + } + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + leaf prefix-length { + type uint32; + description + "Length of the network prefix"; + } + uses BMP-PREFIX; + } + } + container bmp-prefix-rd-neighbor-filters { + description + "The BMP Prefix Table with RD and Neighbor + Filter"; + list bmp-prefix-rd-neighbor-filter { + description + "RD and Neighbor Filter Values"; + leaf rd { + type Bgp-route-distinguisher; + description + "The Route Distinguisher value"; + } + leaf neighbor-address { + type xr:Cisco-ios-xr-string; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BMP-PREFIX; + } + } + container bmp-prefix-neighbor-filters { + description + "The BMP Prefix Table with Neighbor Filter"; + list bmp-prefix-neighbor-filter { + key "neighbor-address"; + description + "Neighbor Filter Value"; + leaf neighbor-address { + type xr:Cisco-ios-xr-string; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BMP-PREFIX; + } + } + container bmp-convergence { + description + "BMP convergence information"; + uses BGP-BMP-CONVERGENCE-BAG; + } + container bmp-prefix-rd-filters { + description + "The BMP Prefix Table with RD Filter"; + list bmp-prefix-rd-filter { + key "rd"; + description + "RD Filter Value"; + leaf rd { + type Bgp-route-distinguisher; + description + "The Route Distinguisher value"; + } + uses BMP-PREFIX; + } + } + container bmp-prefix-table { + description + "The BMP Prefix Table"; + uses BMP-PREFIX; + } + leaf mode { + type dt1:Bmp-route-monitor-mode; + description + "BMP route monitoring mode name"; + } + } + } + container update-generation-filter-groups { + description + "Update generation for all filter-groups under + a sub-group"; + list update-generation-filter-group { + description + "A BGP Update generate table entry for + filter-group"; + leaf update-group-index { + type uint32 { + range "0..4294967295"; + } + description + "A BGP Update Group Entry index"; + } + leaf sub-group-index { + type uint32; + description + "A BGP Update Sub group Table index"; + } + leaf sub-group-id { + type uint32; + description + "A BGP Update Sub group table ID"; + } + leaf filter-group-index { + type uint32; + description + "A BGP Filter group Table index"; + } + uses BGP-UPDGEN-FILTERGRP-BAG; + } + } + container networks { + description + "The BGP Network Table"; + list network { + description + "A BGP Network table entry"; + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for + ip prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the subnet prefix"; + } + uses BGP-NET-BAG; + } + } + container path-table { + description + "The BGP Path Table"; + uses PATH; + } + container path-received-sid-table { + description + "The BGP Path Received Sids Table"; + uses PATH; + } + container mvpn-rt-list { + description + "A BGP Multicast VPN Route Target List for + address-family"; + uses BGP-MVPN-RT-LIST-BAG; + } + container recent-prefixes { + description + "BGP Recent Prefix Table"; + list recent-prefix { + description + "BGP Recent Prefix"; + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for + ip prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the subnet prefix"; + } + uses BGP-RECENT-NET-BAG; + } + } + container advertised-path-counts { + description + "The BGP Advertised paths table (bestpath)"; + list advertised-path-count { + key "neighbor-address"; + description + "The BGP Advertised path table Count + (bestpath)"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-NBR-ADV-CNT-BAG; + } + } + container path-labeled-table { + description + "The BGP Path Labeled Table"; + uses PATH; + } + container orr-group-table-entries { + description + "The BGP Optimal Route Reflection Group Table"; + list orr-group-table-entry { + key "orr-grp-name"; + description + "A BGP Optimal Route Reflection Group Table + Entry"; + leaf orr-grp-name { + type xr:Cisco-ios-xr-string; + description + "The BGP Optimal Route Reflection Group Name"; + } + uses BGP-ORR-GROUP-BAG; + } + } + container advertised-paths { + description + "The BGP Advertised paths table (add-paths)"; + list advertised-path { + description + "A BGP Advertised paths table entry + (add-paths)"; + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for + ip prefix, else in hex string format"; + } + leaf prefix-length { + type uint32; + description + "Length of the subnet prefix"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor "; + } + uses BGP-PATH-MULTI; + } + } + container neighbor-af-table { + description + "The BGP Neighbor AF table"; + uses NEIGHBOR; + } + container epe-objects { + description + "The BGP Egress Engineering table"; + list epe-object { + description + "A BGP Egress Engineering object"; + leaf epe-type { + type Bgp-epe-obj; + description + "Type of EPE object. Can be Peer, Peer-set or + Adjacency"; + } + leaf epe-object-key { + type xr:Cisco-ios-xr-string; + description + "Value of the EPE object.Please provide a + number forPeer-Set and an IP addressfor peer + or adjacency"; + } + uses BGP-EPE-SET-BAG; + } + } + container path-local-sid-table { + description + "The BGP Path Local Sids Table"; + uses PATH; + } + container update-generation-neighbors { + description + "A BGP Update generate Table Entry for all BGP + neighbors"; + list update-generation-neighbor { + description + "BGP Update generate entry for BGP neighbor"; + leaf update-group-index { + type uint32 { + range "0..4294967295"; + } + description + "A BGP Update Group Entry index"; + } + leaf sub-group-index { + type uint32; + description + "A BGP Update Sub group Table index"; + } + leaf sub-group-id { + type uint32; + description + "A BGP Update Sub group table ID"; + } + leaf filter-group-index { + type uint32; + description + "A BGP Filter group Table index"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-UPDGEN-NBR-BAG; + } + } + container update-generation-address-family { + description + "A BGP Update Generate Entry for address-family"; + uses BGP-UPDGEN-AF-BAG; + } + container dampenings { + description + "The BGP Dampening table"; + list dampening { + description + "A BGP Dampening table entry"; + leaf reuse { + type uint32 { + range "0..65535"; + } + description + "Reuse array index"; + } + leaf version { + type uint32 { + range "0..4294967295"; + } + description + "Version number"; + } + leaf rd { + type Bgp-route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type xr:Cisco-ios-xr-string; + description + "Network prefix in dotted decimal format for + ip prefix, else in hex string format"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Length of the subnet prefix"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + leaf source-rd { + type Bgp-route-distinguisher; + description + "Source Route Distinguisher value"; + } + leaf orig-source-rd { + type Bgp-route-distinguisher; + description + "Original Source Route Distinguisher value"; + } + leaf path-id { + type uint32 { + range "0..4294967295"; + } + description + "Received Path ID"; + } + uses BGP-PATH-BAG; + } + } + container dependency { + description + "A BGP Dependency table entry"; + uses BGP-DEP-BAG; + } + container prefix-filters { + description + "The BGP Prefix Filter table"; + list prefix-filter { + key "neighbor-address"; + description + "A BGP prefix filter table entry"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-RCV-PFXLST-BAG; + } + } + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + uses ATTRIBUTE-TABLE; + } + } + } + + grouping PROCESS-INFO { + description + "Common node of default-vrf, vrfCommon node of + default-vrf, vrf"; + container process-info { + description + "A Process instance table entry"; + uses BGP-PROCESS-INFO-BAG; + } + } + + grouping OBJECT-TRACKING-PROVIDER-NBR-AF-TABLE { + description + "Common node of instance-active, instance-standby"; + container ot-prov-nbr-af-entries { + description + "BGP Object Tracking Provider Neighbor AF Table"; + list ot-prov-nbr-af-entry { + description + "BGP Object Tracking Provider Nbr Af Database + Entry"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF"; + } + leaf af-name { + type dt1:Bgp-address-family; + description + "Address family"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + uses BGP-OT-PROV-NBR-AF-DB-BAG; + } + } + } + + grouping CONFIGURATION-INHERITANCE-TABLE { + description + "Common node of config-instance-default-vrf, + config-vrf"; + container configuration-inheritances { + description + "The BGP configuration inheritance table"; + list configuration-inheritance { + description + "A BGP configuration inheritance table entry"; + leaf entity-type { + type Bgp-entity; + description + "Type of the entity configuration inheritance + table entry"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "IPv4 or IPv6 Address of the BGP Neighbor"; + } + leaf entity-name { + type xr:Cisco-ios-xr-string; + description + "Name of the entity configuration inheritance + table entry"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Length of the subnet prefix"; + } + uses BGP-CONFIG-RELATIVES-BAG; + } + } + } + + grouping UPDATE-INBOUND-FILTER-PROCESS { + description + "Common node of instance-active, instance-standby"; + container update-inbound-filter-process { + description + "Update inbound filtering information for the + process"; + uses BGP-UPDFILTER-PROC-BAG; + } + } + + container bgp { + config false; + description + "BGP operational data"; + container config-instances { + description + "Instance specific BGP data"; + list config-instance { + key "instance-name"; + description + "Instance specific BGP data"; + container config-instance-default-vrf { + description + "Default VRF related configuration data"; + uses ENTITY-CONFIGURATION-TABLE; + uses CONFIGURATION-USER-TABLE; + uses CONFIGURATION-INHERITANCE-TABLE; + } + container config-vrfs { + description + "VRF related configuration data"; + list config-vrf { + key "vrf-name"; + description + "Configuration data for a particular VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF"; + } + uses ENTITY-CONFIGURATION-TABLE; + uses CONFIGURATION-USER-TABLE; + uses CONFIGURATION-INHERITANCE-TABLE; + } + } + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "Name of the BGP instance"; + } + } + } + container instances { + description + "Instance specific BGP data"; + list instance { + key "instance-name"; + description + "Instance specific BGP data"; + container instance-active { + description + "Active BGP operational data"; + container segment-routing { + description + "Segment Routing related Operational Data"; + container srv6 { + description + "SRv6 related Operational Data"; + container summary { + description + "BGP SRv6 Summary"; + uses BGP-SRV6-SUMMARY-BAG; + } + container locator-entries { + description + "BGP SRv6 Locator Table"; + list locator-entry { + key "locator-name"; + description + "BGP SRv6 Locator Table Entry"; + leaf locator-name { + type xr:Cisco-ios-xr-string; + description + "Locator Name"; + } + uses BGP-SRV6-LOCATOR-BAG; + } + } + container sid-manager { + description + "BGP SRv6 SID Manager"; + uses BGP-SRV6-SID-MANAGER-BAG; + } + } + } + container label-entries { + description + "BGP Label Table"; + list label-entry { + key "label"; + description + "BGP Label Entry"; + leaf label { + type uint32 { + range "0..1048575"; + } + description + "Label index"; + } + uses BGP-LABEL-BAG; + } + } + container label-summary { + description + "BGP Label Summary"; + uses BGP-LABEL-SUMMARY-BAG; + } + container graceful-maintenance { + description + "BGP graceful maintenance related Operational + Data"; + container all-neighbor-entries { + description + "BGP graceful-maintenance nbr-all Table"; + list all-neighbor-entry { + key "nbr-all"; + description + "BGP graceful-maintenance nbr-all Table + Entry"; + leaf nbr-all { + type uint32; + description + "All neighbor state"; + } + uses BGP-GSHUT-NBR-ALL-BAG; + } + } + container location-entries { + description + "BGP graceful-maintenance Location Table"; + list location-entry { + key "node-id"; + description + "BGP graceful-maintenance Location Table + Entry"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses BGP-GSHUT-LOC-BAG; + } + } + container interface-entries { + description + "BGP graceful-maintenance Interface Table"; + list interface-entry { + key "interface-name"; + description + "BGP graceful-maintenance Interface Table + Entry"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses BGP-GSHUT-IF-BAG; + } + } + } + container label-rpf-entries { + description + "BGP Label RPF Table"; + list label-rpf-entry { + key "label"; + description + "BGP Label RPF Entry"; + leaf label { + type uint32 { + range "0..1048575"; + } + description + "Label index"; + } + uses BGP-LABEL-RPF-BAG; + } + } + uses UPDATE-GENERATION-PROCESS; + uses VRF-TABLE; + uses DEFAULT-VRF; + uses UPDATE-INBOUND-FILTER-PROCESS; + uses VRFDBVR-FENTRY; + uses ATTRIBUTE-TABLE; + uses RT-TABLE; + uses ATTRIBUTE-FILTER-GROUP-TABLE; + uses ORR-GROUP-GLOBAL-TABLE; + uses VRFDBVRF-TABLE; + uses RPKI-SERVER-LIST; + uses RPKI-ROUTE-TABLE; + uses UPDATE-INBOUND-ERROR-PROCESS; + uses RPKI-SUMMARY; + uses RT-HASH-TABLE; + uses OBJECT-TRACKING-PROVIDER-NBR-AF-TABLE; + } + container instance-standby { + description + "Standby BGP operational data"; + uses UPDATE-GENERATION-PROCESS; + uses VRF-TABLE; + uses DEFAULT-VRF; + uses UPDATE-INBOUND-FILTER-PROCESS; + uses VRFDBVR-FENTRY; + uses ATTRIBUTE-TABLE; + uses RT-TABLE; + uses ATTRIBUTE-FILTER-GROUP-TABLE; + uses ORR-GROUP-GLOBAL-TABLE; + uses VRFDBVRF-TABLE; + uses RPKI-SERVER-LIST; + uses RPKI-ROUTE-TABLE; + uses UPDATE-INBOUND-ERROR-PROCESS; + uses RPKI-SUMMARY; + uses RT-HASH-TABLE; + uses OBJECT-TRACKING-PROVIDER-NBR-AF-TABLE; + } + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "Name of the BGP instance"; + } + } + } + container bpm-instances-table { + description + "BGP instances information"; + container bpm-instances { + description + "BGP instances information"; + uses BGP-INSTANCES-INFO-BAG; + } + container bpm-orr-group-table-entries { + description + "Optimal Route Reflection Group Table in BPM"; + list bpm-orr-group-table-entry { + key "orr-grp-name"; + description + "Optimal Route Reflection Group Table Entry in + BPM"; + leaf orr-grp-name { + type xr:Cisco-ios-xr-string; + description + "The BGP Optimal Route Reflection Group Name"; + } + uses BPM-ORR-GROUP-BAG; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-cinetd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-cinetd-cfg.yang new file mode 100644 index 000000000..2b79a1bed --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-cinetd-cfg.yang @@ -0,0 +1,62 @@ +module Cisco-IOS-XR-ipv4-cinetd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-cinetd-cfg"; + prefix ipv4-cinetd-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ip-tcp-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-cinetd package configuration. + + This YANG module augments the + Cisco-IOS-XR-ip-tcp-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-06-22 { + description + "IOS XR 6.4.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:ip/a1:cinetd" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ip-tcp-cfg'"; + leaf rate-limit { + type uint32 { + range "1..100"; + } + default "1"; + description + "Number of service requests accepted per second"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dc-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dc-cfg.yang new file mode 100644 index 000000000..531ea7a13 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dc-cfg.yang @@ -0,0 +1,193 @@ +module Cisco-IOS-XR-ipv4-dc-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-dc-cfg"; + prefix ipv4-dc-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-dc package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-05-21 { + description + "Fixing yang gaps."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Opt61-sub { + type enumeration { + enum "ascii" { + value 1; + description + "ascii"; + } + enum "sn-chassis" { + value 3; + description + "sn chassis"; + } + } + description + "Opt61 sub"; + } + + typedef Option61 { + type enumeration { + enum "option61" { + value 61; + description + "OPTION61"; + } + } + description + "Option61"; + } + + typedef Option60 { + type enumeration { + enum "option60" { + value 60; + description + "OPTION60"; + } + } + description + "Option60"; + } + + typedef Option77 { + type enumeration { + enum "option77" { + value 77; + description + "OPTION77"; + } + } + description + "Option77"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv4-dhcp-client-config { + presence "Indicates a ipv4-dhcp-client-config node is configured."; + description + "Interface IPv4 dhcp-addres-client-options + configuration"; + container option61-config { + presence "Indicates a option61-config node is configured."; + description + "Option 61"; + leaf opt61 { + type Option61; + mandatory true; + description + "Option 61"; + } + leaf subtype { + type Opt61-sub; + mandatory true; + description + "Enter Option61 SubType"; + } + leaf ascii-string { + type string { + length "1..255"; + } + description + "Enter ascii string for opt61Subtype ascii"; + } + } + container option60-config { + presence "Indicates a option60-config node is configured."; + description + "Option 60"; + leaf opt60 { + type Option60; + mandatory true; + description + "Option 60"; + } + leaf enable { + type empty; + mandatory true; + description + "Option 60 is enabled"; + } + leaf ascii-string { + type string { + length "1..255"; + } + mandatory true; + description + "Enter ascii string"; + } + } + container option77-config { + presence "Indicates a option77-config node is configured."; + description + "Option 77"; + leaf opt77 { + type Option77; + mandatory true; + description + "Option 77"; + } + leaf enable { + type empty; + mandatory true; + description + "Option 77 is enabled"; + } + leaf ascii-string { + type string { + length "1..255"; + } + mandatory true; + description + "Enter ascii string"; + } + } + leaf ipv4-dhcp-client { + type empty; + mandatory true; + description + "ipv4 address dhcp-client-options is enabled"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-cfg.yang new file mode 100644 index 000000000..cdfe2f8a7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-cfg.yang @@ -0,0 +1,2780 @@ +module Cisco-IOS-XR-ipv4-dhcpd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-dhcpd-cfg"; + prefix ipv4-dhcpd-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-dhcpd package configuration. + + This module contains definitions + for the following management objects: + ipv4-dhcpd: DHCP IPV4 configuration + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-30 { + description + "Resolved EDIT and GET config issues for interface level relay remote-id options."; + semver:module-version "2.0.0"; + } + revision 2020-12-15 { + description + "Added interface level remote-id configuration to intake ASCII/Hex values. + 2020-08-15 + Added insert-bootfile option. + 2020-07-20 + Added IPoE DHCP CLI to enable option82 in release message. + 2020-06-15 + Added IPoE DHCP client keep subsIntf on new discover CLI. + 2020-06-14 + Added IPoE DHCP client reboot interval config. + 2020-03-31 + Interface vlan-intf session-limit configuration added. + 2020-03-26 + CNBNG profile cfg added."; + semver:module-version "1.2.0"; + } + revision 2019-10-18 { + description + "Interface remote-id configuration made optional."; + semver:module-version "1.1.0"; + } + revision 2019-05-31 { + description + "Added interface level remote-id configuration."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-10-24 { + description + "Fixed remote id mask."; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv4-match-default-mode { + type enumeration { + enum "server" { + value 3; + description + "Server"; + } + } + description + "Ipv4 match default mode"; + } + + typedef Ipv4dhcpd-client-id { + type uint32 { + range "0..4294967295"; + } + description + "Ipv4dhcpd client id"; + } + + typedef Dhcpv4-match-option { + type enumeration { + enum "60/60" { + value 60; + description + "Vendor class ID"; + } + enum "77/77" { + value 77; + description + "77 User class"; + } + enum "124/124" { + value 124; + description + "Vendor identifying class"; + } + enum "125/125" { + value 125; + description + "Vendor specific information"; + } + } + description + "Dhcpv4 match option"; + } + + typedef Ipv4dhcpd-layer { + type enumeration { + enum "layer2" { + value 2; + description + "Layer2"; + } + enum "layer3" { + value 3; + description + "Layer3"; + } + } + description + "Ipv4dhcpd layer"; + } + + typedef Dhcpv4-limit-lease1 { + type enumeration { + enum "interface" { + value 1; + description + "Interface"; + } + enum "circuit-id" { + value 2; + description + "Circuit ID"; + } + enum "remote-id" { + value 3; + description + "Remote ID"; + } + enum "circuit-id-remote-id" { + value 4; + description + "Circuit ID Remote ID"; + } + } + description + "Dhcpv4 limit lease1"; + } + + typedef Ipv4dhcpd-relay-giaddr-policy { + type enumeration { + enum "replace" { + value 1; + description + "Replace"; + } + enum "drop" { + value 2; + description + "Drop"; + } + } + description + "Ipv4dhcpd relay giaddr policy"; + } + + typedef Matchoption { + type enumeration { + enum "circuitid" { + value 1; + description + "Match circuit id of option 82 Relay-agent + specific class"; + } + enum "remoteid" { + value 2; + description + "Match remote id of option 82 Relay-agent + specific class"; + } + enum "60" { + value 60; + description + "Match option 60 vendor class id"; + } + enum "77" { + value 77; + description + "Match option 77 user class"; + } + enum "124" { + value 124; + description + "Match option 124 vendor-identifying vendor + class"; + } + enum "125" { + value 125; + description + "Match option 125 vendor-indentifying + vendor-specific info"; + } + } + description + "Matchoption"; + } + + typedef Ipv4dhcpd-relay-info-option-remote-id { + type enumeration { + enum "hex" { + value 1; + description + "Hex Format String"; + } + enum "ascii" { + value 2; + description + "Ascii Format String"; + } + enum "mac-address" { + value 4; + description + "MacAddress"; + } + } + description + "Ipv4dhcpd relay info option remote id"; + } + + typedef Ipv4dhcpd-giaddr-policy { + type enumeration { + enum "giaddr-policy-keep" { + value 0; + description + "Giaddr Policy Keep"; + } + } + description + "Ipv4dhcpd giaddr policy"; + } + + typedef Lease-limit-value { + type enumeration { + enum "per-interface" { + value 1; + description + "Insert the limit lease type interface"; + } + enum "per-circuit-id" { + value 2; + description + "Insert the limit lease type circuit-id"; + } + enum "per-remote-id" { + value 3; + description + "Insert the limit lease type remote-id"; + } + } + description + "Lease limit value"; + } + + typedef Dhcpv4-auth-username { + type enumeration { + enum "auth-username-mac" { + value 1; + description + "Authentication Username formating mac"; + } + enum "auth-username-giaddr" { + value 2; + description + "Authentication Username formating giaddr"; + } + } + description + "Dhcpv4 auth username"; + } + + typedef Proxy-action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Discover"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Discover"; + } + enum "relay" { + value 2; + description + "Relay vendor-id specific DHCP packets unaltered"; + } + } + description + "Proxy action"; + } + + typedef Ipv4dhcpd-broadcast-flag-policy { + type enumeration { + enum "ignore" { + value 0; + description + "Ignore"; + } + enum "check" { + value 1; + description + "check"; + } + enum "unicast-always" { + value 2; + description + "Unicast always"; + } + } + description + "Ipv4dhcpd broadcast flag policy"; + } + + typedef Ipv4-mode-class-mode { + type enumeration { + enum "server" { + value 3; + description + "Server"; + } + enum "proxy" { + value 4; + description + "Proxy"; + } + } + description + "Ipv4 mode class mode"; + } + + typedef Base-action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Discover"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Discover"; + } + } + description + "Base action"; + } + + typedef Dhcpv4-limit-lease { + type uint32 { + range "1..240000"; + } + description + "Dhcpv4 limit lease"; + } + + typedef Ipv4dhcpd-mode { + type enumeration { + enum "base" { + value 0; + description + "Base"; + } + enum "relay" { + value 1; + description + "Relay"; + } + enum "snoop" { + value 2; + description + "Snoop"; + } + enum "server" { + value 3; + description + "Server"; + } + enum "proxy" { + value 4; + description + "Proxy"; + } + enum "base2" { + value 5; + description + "Base2"; + } + enum "cnbng" { + value 7; + description + "Cnbng"; + } + } + description + "Ipv4dhcpd mode"; + } + + typedef Matchaction { + type enumeration { + enum "allow" { + value 0; + description + "Allow DHCP Discover"; + } + enum "drop" { + value 1; + description + "Drop DHCP Discover"; + } + } + description + "Matchaction"; + } + + typedef Policy { + type enumeration { + enum "ignore" { + value 0; + description + "Ignore the broadcast policy"; + } + enum "check" { + value 1; + description + "Check for broadcast flag"; + } + enum "unicastalways" { + value 2; + description + "Always Unicast the reply"; + } + } + description + "Policy"; + } + + typedef Ipv4dhcpd-relay-info-optionvpn-mode { + type enumeration { + enum "rfc" { + value 0; + description + "RFC"; + } + enum "cisco" { + value 1; + description + "Cisco"; + } + } + description + "Ipv4dhcpd relay info optionvpn mode"; + } + + typedef Ipv4dhcpd-fmt { + type enumeration { + enum "no-format" { + value 0; + description + "Not a Format String"; + } + enum "hex" { + value 1; + description + "Hex Format String"; + } + enum "ascii" { + value 2; + description + "Ascii Format String"; + } + enum "extended" { + value 3; + description + "Extended Format String"; + } + } + description + "Ipv4dhcpd fmt"; + } + + typedef Ipv4dhcpd-relay-info-option-authenticate { + type enumeration { + enum "received" { + value 0; + description + "Received"; + } + enum "inserted" { + value 1; + description + "Inserted"; + } + } + description + "Ipv4dhcpd relay info option authenticate"; + } + + typedef Ipv4dhcpd-relay-info-option-policy { + type enumeration { + enum "replace" { + value 0; + description + "Replace"; + } + enum "keep" { + value 1; + description + "Keep"; + } + enum "drop" { + value 2; + description + "Drop"; + } + enum "encapsulate" { + value 3; + description + "Encapsulate"; + } + } + description + "Ipv4dhcpd relay info option policy"; + } + + typedef Ipv4dhcpd-fmt-specifier { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Physical chassis"; + } + enum "physical-slot" { + value 2; + description + "Physical slot"; + } + enum "physical-sub-slot" { + value 3; + description + "Physical sub-slot"; + } + enum "physical-port" { + value 4; + description + "Physical port"; + } + enum "physical-sub-port" { + value 5; + description + "Physical sub-port"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner VLAN ID"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer VLAN ID"; + } + enum "l2-interface" { + value 8; + description + "L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "L3 Interface"; + } + enum "host-name" { + value 10; + description + "Hostname"; + } + } + description + "Ipv4dhcpd fmt specifier"; + } + + typedef Mac-mismatch-action { + type enumeration { + enum "forward" { + value 0; + description + "Forward"; + } + enum "drop" { + value 1; + description + "Drop"; + } + } + description + "Mac mismatch action"; + } + + grouping OPTION-CODE-TABLE { + description + "Common node of server, class"; + container option-codes { + description + "Table of OptionCode"; + list option-code { + key "option-code"; + description + "DHCP option code"; + leaf option-code { + type uint32 { + range "0..255"; + } + description + "DHCP option code"; + } + leaf ascii-string { + type string; + description + "ASCII string"; + } + leaf hex-string { + type string; + description + "Hexadecimal string"; + } + leaf force-insert { + type uint32; + description + "Set constant integer"; + } + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "Server's IP address"; + } + } + } + } + + container ipv4-dhcpd { + presence "Indicates a ipv4-dhcpd node is configured."; + description + "DHCP IPV4 configuration"; + container client-reboot-interval { + description + "Configure IPoE DHCP client reboot interval"; + leaf client-reboot-interval { + type uint32 { + range "10..30"; + } + description + "Client reboot time value"; + } + leaf max-client-reboot-interval { + type uint32 { + range "10..300"; + } + description + "Client Max reboot time value"; + } + } + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF table"; + container profile { + presence "Indicates a profile node is configured."; + description + "Profile name and mode"; + leaf vrf-profile-name { + type string; + mandatory true; + description + "Profile name"; + } + leaf mode { + type Ipv4dhcpd-mode; + mandatory true; + description + "Dhcp mode"; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + } + } + container profiles { + description + "DHCP IPV4 Profile Table"; + list profile { + key "profile-name"; + description + "DHCP IPV4 Profile"; + container modes { + description + "DHCP IPV4 Profile modes"; + list mode { + key "mode"; + description + "DHCP IPV4 Profile mode"; + container snoop { + description + "DHCP Snoop profile"; + container relay-information-option { + description + "DHCP Snoop profile"; + container remote-id { + description + "Enter remote-id value"; + leaf format-type { + type uint32 { + range "1..2"; + } + description + "Format type, 1. Hex 2. ASCII"; + } + leaf remote-id-value { + type string; + description + "Enter remote-id value"; + } + } + leaf insert { + type empty; + description + "Insert Relay Agent Information circuit ID + and remote ID suboptions in client request"; + } + leaf allow-untrusted { + type empty; + description + "Forward untrusted packets"; + } + leaf policy { + type Ipv4dhcpd-relay-info-option-policy; + description + "Relay information option policy"; + } + } + leaf trusted { + type empty; + description + "Trusted sources"; + } + } + container base { + presence "Indicates a base node is configured."; + description + "DHCP Base Profile"; + container default-profile { + description + "Enable the default profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Profile name"; + } + leaf profile-mode { + type uint32; + description + "none"; + } + } + container match { + description + "Insert match keyword"; + container option-filters { + description + "Table of Option"; + list option-filter { + key "matchoption pattern format"; + description + "Specify match option"; + leaf option-action { + type Base-action; + description + "Vendor action"; + } + leaf matchoption { + type uint32; + description + "Match option 60"; + } + leaf pattern { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter hex pattern string"; + } + leaf format { + type uint32; + description + "Set constant integer"; + } + } + } + container def-options { + description + "Table of Option"; + list def-option { + key "def-matchoption"; + description + "Specify match option"; + leaf def-matchoption { + type uint32; + description + "Match option 60"; + } + leaf def-matchaction { + type Base-action; + mandatory true; + description + "Vendor action"; + } + } + } + } + container base-relay-opt { + description + "Insert Relay Agent Information circuit ID + and remote ID suboptions in client request"; + leaf remote-id { + type string { + length "1..256"; + } + description + "Enter remote-id value"; + } + leaf authenticate { + type uint32; + description + "Specify Relay Agent Information Option + authenticate"; + } + } + container dhcp-to-aaa { + description + "Enable to provide the list of options need + to send to aaa"; + container base-option { + description + "option type"; + container list { + description + "List of options"; + leaf option-all { + type uint32; + description + "option all"; + } + leaf-list option { + type uint32 { + range "1..255"; + } + max-elements "12"; + description + "List of options"; + } + } + } + } + container base-match { + description + "Insert match keyword"; + container options { + description + "Specify match option"; + list option { + key "opt60 opt60-hex-str format"; + description + "none"; + container option-profile { + description + "Enter a profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Profile name"; + } + leaf profile-mode { + type uint32; + description + "none"; + } + } + leaf opt60 { + type uint32; + description + "none"; + } + leaf opt60-hex-str { + type xr:Cisco-ios-xr-string; + description + "Enter hex pattern string"; + } + leaf format { + type uint32; + description + "Set constant integer"; + } + } + } + container mode-classes { + description + "Table of ModeClass"; + list mode-class { + key "class-name"; + description + "Specify PPP/IPoE class option"; + container profile { + description + "Enter proxy or server profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Profile name"; + } + leaf mode { + type Ipv4-mode-class-mode; + description + "Specify mode"; + } + } + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Class name"; + } + } + } + } + container match-default { + description + "Default match option"; + container profile { + description + "Enter server profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Profile name"; + } + leaf default-mode { + type Ipv4-match-default-mode; + description + "Specify mode"; + } + } + } + leaf enable { + type empty; + mandatory true; + description + "Enable the DHCP IPv4 Base Profile"; + } + } + container server { + presence "Indicates a server node is configured."; + description + "DHCP Server profile"; + container server-id-check { + description + "Validate server ID check"; + leaf check { + type empty; + description + "specify server-id-check disable"; + } + } + container lease-limit { + description + "Specify limit lease"; + leaf lease-limit-value { + type Lease-limit-value; + description + "Configure Lease limit value"; + } + leaf range { + type uint32 { + range "1..240000"; + } + description + "Value of limit lease count in Decimal"; + } + } + container requested-ip-address { + description + "Validate Requested IP Address"; + leaf check { + type empty; + description + "specify requested-ip-address-check disable"; + } + } + container aaa-server { + description + "Enable aaa dhcp option force-insert"; + container dhcp-option { + description + "Enable aaa dhcp option force-insert"; + leaf force-insert { + type empty; + description + "Enable aaa dhcp option force-insert"; + } + } + } + container default-routers { + description + "default routers"; + leaf-list default-router { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "Router's IP address"; + } + } + container delete-binding-on-discover { + description + "Delete binding on receiving discover"; + leaf disable { + type empty; + description + "Disable delete binding on discover"; + } + } + container net-bios-name-servers { + description + "NetBIOS name servers"; + leaf-list net-bios-name-server { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "NetBIOSNameServer's IP address"; + } + } + container match { + description + "Insert match keyword"; + container option-defaults { + description + "Table of OptionDefault"; + list option-default { + key "matchoption"; + description + "Specify match option"; + leaf matchoption { + type Matchoption; + description + "Match option 60"; + } + leaf matchaction { + type Matchaction; + mandatory true; + description + "Vendor action"; + } + } + } + container options { + description + "Table of Option"; + list option { + key "matchoption pattern format"; + description + "Specify match option"; + leaf matchoption { + type Matchoption; + description + "Match option 60"; + } + leaf pattern { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter hex pattern string"; + } + leaf format { + type uint32; + description + "Set constant integer"; + } + leaf matchaction { + type Matchaction; + mandatory true; + description + "Vendor action"; + } + } + } + } + container broadcast-flag { + description + "None"; + leaf policy { + type Policy; + description + "Specify broadcast flag policy"; + } + } + container session { + description + "Change sessions configuration"; + container throttle-type { + description + "Throttle DHCP sessions based on MAC + address"; + container mac-throttle { + description + "Throttle DHCP sessions from any one MAC + address"; + leaf num-discover { + type uint32 { + range "1..65535"; + } + description + "Number of discovers at which to throttle"; + } + leaf num-request { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle request period (in secs)"; + } + leaf num-block { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle blocking period (in secs)"; + } + } + } + } + container classes { + description + "Table of Class"; + list class { + key "class-name"; + description + "Create or enter server profile class"; + container default-routers { + description + "default routers"; + leaf-list default-router { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "Router's IP address"; + } + } + container net-bios-name-servers { + description + "NetBIOS name servers"; + leaf-list net-bios-name-server { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "NetBIOSNameServer's IP address"; + } + } + container class-match { + description + "Insert match keyword"; + container class-options { + description + "Table of Class-Option"; + list class-option { + key "matchoption"; + description + "Specify match option"; + leaf matchoption { + type Matchoption; + description + "Match options"; + } + leaf pattern { + type string { + length "1..64"; + } + description + "Enter hex pattern string"; + } + leaf bit-mask { + type string { + length "1..64"; + } + description + "Enter bit mask pattern string"; + } + } + } + leaf l2-interface { + type xr:Interface-name; + description + "Specify match l2-interface"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Specify match VRF"; + } + } + container lease { + description + "lease"; + leaf infinite { + type string; + description + "Set string"; + } + leaf days { + type uint32 { + range "0..365"; + } + units "day"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23"; + } + units "hour"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59"; + } + units "minute"; + description + "Minutes"; + } + } + container netbios-node-type { + description + "NetBIOS node type"; + leaf broadcast-node { + type string; + description + "Set string"; + } + leaf hybrid-node { + type string; + description + "Set string"; + } + leaf mixed-node { + type string; + description + "Set string"; + } + leaf peer-to-peer-node { + type string; + description + "Set string"; + } + leaf hexadecimal { + type xr:Hex-integer; + description + "Hexadecimal number"; + } + } + container dns-servers { + description + "DNS servers"; + leaf-list dns-server { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "DNS Server's IP address"; + } + } + leaf subnet-mask { + type inet:ipv4-address-no-zone; + description + "Configure Subnet Mask"; + } + leaf pool { + type string; + description + "Specify the pool"; + } + leaf enable { + type empty; + description + "Enable Create or enter server profile + class. Deletion of this object also + causes deletion of all associated objects + under Class."; + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Domain name"; + } + leaf boot-filename { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Boot Filename"; + } + leaf next-server { + type inet:ipv4-address-no-zone; + description + "Configure the tftp-server IP to be used + by the client"; + } + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "class name"; + } + uses OPTION-CODE-TABLE; + } + } + container relay { + description + "Specify Relay Agent Information Option + configuration"; + leaf authenticate { + type uint32; + description + "Specify Relay Agent Information Option + authenticate"; + } + } + container lease { + description + "lease"; + leaf infinite { + type string; + description + "Set string"; + } + leaf days { + type uint32 { + range "0..365"; + } + units "day"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23"; + } + units "hour"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59"; + } + units "minute"; + description + "Minutes"; + } + } + container netbios-node-type { + description + "NetBIOS node type"; + leaf broadcast-node { + type string; + description + "Set string"; + } + leaf hybrid-node { + type string; + description + "Set string"; + } + leaf mixed-node { + type string; + description + "Set string"; + } + leaf peer-to-peer-node { + type string; + description + "Set string"; + } + leaf hexadecimal { + type xr:Hex-integer; + description + "Hexadecimal number"; + } + } + container dns-servers { + description + "DNS servers"; + leaf-list dns-server { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "DNS Server's IP address"; + } + } + container dhcp-to-aaa { + description + "Enable to provide the list of options need + to send to aaa"; + container option { + description + "option type"; + container list { + description + "List of options"; + leaf option-all { + type uint32; + description + "Set constant integer"; + } + leaf-list option-number { + type uint32; + max-elements "12"; + description + "Option number"; + } + } + } + } + leaf server-allow-move { + type empty; + description + "Allow dhcp subscriber move"; + } + leaf enable { + type empty; + mandatory true; + description + "DHCP IPV4 profile mode enable"; + } + leaf subnet-mask { + type inet:ipv4-address-no-zone; + description + "Configure Subnet Mask"; + } + leaf insert-bootfile { + type empty; + description + "Force insert bootfile name"; + } + leaf pool { + type string { + length "1..64"; + } + description + "Specify the Pool name"; + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Domain name"; + } + leaf secure-arp { + type empty; + description + "Enable Secure Arp"; + } + leaf arp-instal-skip-stdalone { + type empty; + description + "Skip ARP installation for standalone + sessions"; + } + leaf boot-filename { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Boot Filename"; + } + leaf enable-session-limit { + type empty; + description + "Enable vlan or interface session limit"; + } + leaf next-server { + type inet:ipv4-address-no-zone; + description + "Configure the tftp-server IP to be used by + the client"; + } + uses OPTION-CODE-TABLE; + } + container relay { + description + "DHCP Relay profile"; + container gi-addr-policy { + presence "Indicates a gi-addr-policy node is configured."; + description + "GIADDR policy"; + leaf policy { + type Ipv4dhcpd-relay-giaddr-policy; + mandatory true; + description + "GIADDR policy"; + } + } + container vrfs { + description + "VRF Helper Addresses"; + list vrf { + key "vrf-name"; + description + "VRF Name"; + container helper-addresses { + description + "Helper Addresses"; + list helper-address { + key "ip-address"; + description + "Helper Address"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IPV4 Address"; + } + leaf enable { + type empty; + description + "Enable helper - deprecated"; + } + leaf gateway-address { + type inet:ipv4-address-no-zone; + description + "GatewayAddress"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + } + } + container relay-information-option { + description + "Relay agent information option"; + container remote-id { + description + "Enter remote-id value"; + leaf format-type { + type uint32 { + range "1..2"; + } + description + "Format type, 1. Hex 2. ASCII"; + } + leaf remote-id-value { + type string; + description + "Enter remote-id value"; + } + } + leaf vpn-mode { + type Ipv4dhcpd-relay-info-optionvpn-mode; + description + "VPN Mode"; + } + leaf subscriber-id { + type string; + description + "Subscriber ID"; + } + leaf allow-in-release-msg { + type empty; + description + "handle option82 in release message"; + } + leaf insert { + type empty; + description + "Insert Relay Agent Information circuit ID + and remote ID suboptions in client + requests"; + } + leaf check { + type empty; + description + "Check Relay Agent Information Option in + server reply"; + } + leaf vpn { + type empty; + description + "Insert VPN options"; + } + leaf allow-untrusted { + type empty; + description + "Forward untrusted packets"; + } + leaf policy { + type Ipv4dhcpd-relay-info-option-policy; + description + "Relay information option policy"; + } + } + container broadcast-policy { + presence "Indicates a broadcast-policy node is configured."; + description + "Broadcast Flag policy"; + leaf policy { + type Ipv4dhcpd-broadcast-flag-policy; + mandatory true; + description + "Broadcast flag policy"; + } + } + leaf mac-mismatch-action { + type Mac-mismatch-action; + description + "Action to take if L2 header source Mac and + dhcp header mac address don't match"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "DHCP proxy profile"; + container giaddr { + presence "Indicates a giaddr node is configured."; + description + "Specify gateway address policy"; + leaf policy { + type Ipv4dhcpd-giaddr-policy; + mandatory true; + description + "Gateway address policy"; + } + } + container classes { + description + "DHCP class table"; + list class { + key "class-name"; + description + "DHCP class"; + container match { + description + "Match option"; + container option { + description + "Match option"; + leaf option-type { + type Dhcpv4-match-option; + description + "Match option"; + } + leaf pattern { + type string; + description + "Hex pattern string"; + } + leaf bit-mask { + type string; + description + "Bit mask pattern"; + } + } + leaf vrf { + type string; + description + "Match VRF name"; + } + } + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "VRF name"; + container helper-addresses { + description + "Helper addresses"; + list helper-address { + key "server-address"; + description + "Helper address"; + leaf server-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf gateway-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Gateway address"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + leaf enable { + type empty; + mandatory true; + description + "Enable the DHCP IPV4 proxy class"; + } + leaf class-name { + type xr:Cisco-ios-xr-string; + description + "Class name"; + } + } + } + container auth-username { + presence "Indicates a auth-username node is configured."; + description + "Authentication Username formating"; + leaf arg1 { + type Dhcpv4-auth-username; + mandatory true; + description + "Username Formatting first argument "; + } + leaf arg2 { + type Dhcpv4-auth-username; + description + "Username Formatting second argument "; + } + } + container relay-information { + description + "Relay agent information option"; + leaf option { + type empty; + description + "Insert relay rgent information circuit ID + and remote ID suboptions in client + requests"; + } + leaf vpn { + type empty; + description + "Insert VPN options"; + } + leaf allow-untrusted { + type empty; + description + "Forward untrusted packets"; + } + leaf circuit-id { + type empty; + description + "Insert Circuit-id sub-option"; + } + leaf policy { + type Ipv4dhcpd-relay-info-option-policy; + description + "Relay information option policy"; + } + leaf vpn-mode { + type Ipv4dhcpd-relay-info-optionvpn-mode; + description + "VPN Mode"; + } + leaf remote-id-xr { + type empty; + description + "Insert Remote-id sub-option"; + } + leaf remote-id-suppress { + type empty; + description + "Suppress Remote ID"; + } + leaf check { + type empty; + description + "Check relay agent information option in + server reply"; + } + leaf remote-id { + type string; + description + "Remote ID"; + } + leaf authenticate { + type Ipv4dhcpd-relay-info-option-authenticate; + description + "Relay information option authenticate"; + } + } + container dhcp-to-aaa { + description + "Enable to provide the list of options need + to send to aaa"; + container option { + description + "option type"; + container list { + description + "List of options"; + leaf option-all { + type uint32; + description + "option all"; + } + leaf-list option { + type uint32 { + range "1..255"; + } + max-elements "12"; + description + "List of options"; + } + } + } + } + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "VRF name"; + container helper-addresses { + description + "Helper addresses"; + list helper-address { + key "server-address"; + description + "Helper address"; + leaf server-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf gateway-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Gateway address"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container sessions { + description + "Change sessions configuration"; + container proxy-throttle-type { + description + "Throttle DHCP sessions based on MAC + address"; + container proxy-mac-throttle { + description + "Throttle DHCP sessions from any one MAC + address"; + leaf num-discover { + type uint32 { + range "1..65535"; + } + description + "Number of discovers at which to throttle"; + } + leaf num-request { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle request period (in secs)"; + } + leaf num-block { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle blocking period (in secs)"; + } + } + } + } + container limit-lease { + presence "Indicates a limit-lease node is configured."; + description + "Proxy limit lease"; + leaf limit-type { + type Dhcpv4-limit-lease1; + mandatory true; + description + "Lease limit type"; + } + leaf limit-lease-count { + type Dhcpv4-limit-lease; + mandatory true; + description + "Limit lease count"; + } + } + container lease-proxy { + description + "DHCPv4 lease proxy"; + leaf client-lease-time { + type uint32 { + range "300..4294967295"; + } + description + "Specify client lease proxy time"; + } + leaf set-server-options { + type empty; + description + "Set DHCP server sent options in lease + proxy generating ACK"; + } + } + container broadcast-flag { + presence "Indicates a broadcast-flag node is configured."; + description + "Specify broadcast flag"; + leaf policy { + type Ipv4dhcpd-broadcast-flag-policy; + mandatory true; + description + "Broadcast flag policy"; + } + } + container match { + description + "Insert match keyword"; + container def-options { + description + "Table of Option"; + list def-option { + key "def-matchoption"; + description + "Specify match option"; + leaf def-matchoption { + type uint32; + description + "Match option 60"; + } + leaf def-matchaction { + type Proxy-action; + mandatory true; + description + "Vendor action"; + } + } + } + container option-filters { + description + "Table of Option"; + list option-filter { + key "matchoption pattern format"; + description + "Specify match option"; + leaf matchoption { + type uint32; + description + "Match option 60"; + } + leaf pattern { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter hex pattern string"; + } + leaf format { + type uint32; + description + "Set constant integer"; + } + leaf matchaction { + type Proxy-action; + mandatory true; + description + "Vendor action"; + } + } + } + } + leaf handle-discover-in-bound { + type empty; + description + "handle new discover in bound state"; + } + leaf proxy-allow-move { + type empty; + description + "Allow dhcp subscriber move"; + } + leaf secure-arp { + type empty; + description + "DHCP IPV4 profile proxy secure-arp enable"; + } + leaf delayed-authen-proxy { + type empty; + description + "For BNG session, delay the authentication"; + } + leaf enable { + type empty; + mandatory true; + description + "DHCP IPV4 profile mode enable"; + } + } + container cnbng { + presence "Indicates a cnbng node is configured."; + description + "DHCP cnbng profile"; + leaf enable { + type empty; + mandatory true; + description + "DHCP IPV4 profile mode enable"; + } + } + leaf enable { + type empty; + description + "Enable the DHCP IPV4 Profile mode"; + } + leaf mode { + type Ipv4dhcpd-mode; + description + "DHCP IPV4 Profile mode"; + } + } + } + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile Name"; + } + } + } + container database { + description + "Enable DHCP binding database storage to file + system"; + leaf proxy { + type empty; + description + "Enable DHCP proxy binding database storage to + file system"; + } + leaf server { + type empty; + description + "Enable DHCP server binding database storage to + file system"; + } + leaf snoop { + type empty; + description + "Enable DHCP snoop binding database storage to + file system"; + } + leaf full-write-interval { + type uint32 { + range "1..1440"; + } + default "10"; + description + "Full file write interval (default 10 minutes)"; + } + leaf incremental-write-interval { + type uint32 { + range "1..1440"; + } + default "1"; + description + "Incremental file write interval (default 1 + minutes)"; + } + } + container interfaces { + description + "DHCP IPV4 Interface Table"; + list interface { + key "interface-name"; + description + "DHCP IPV4 Interface"; + container proxy-interface { + description + "DHCP IPv4 proxy information"; + container dhcp-circuit-id { + presence "Indicates a dhcp-circuit-id node is configured."; + description + "Circuit ID value"; + leaf circuit-id { + type string; + mandatory true; + description + "DHCP IPv4 circuit ID value"; + } + leaf format { + type Ipv4dhcpd-fmt; + mandatory true; + description + "Format String"; + } + leaf argument1 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument2 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument3 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument4 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument5 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument6 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument7 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument8 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument9 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument10 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument11 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument12 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument13 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument14 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument15 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument16 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + } + leaf proxy-remote-id { + type Ipv4dhcpd-relay-info-option-remote-id; + description + "Insert option 82 remote-id sub-option"; + } + leaf profile { + type string; + description + "Interface profile name"; + } + } + container base-interface { + description + "DHCP IPv4 Base profile information"; + container base-dhcp-circuit-id { + presence "Indicates a base-dhcp-circuit-id node is configured."; + description + "Circuit ID value"; + leaf circuit-id { + type string; + mandatory true; + description + "DHCP IPv4 circuit ID value"; + } + leaf format { + type Ipv4dhcpd-fmt; + mandatory true; + description + "Format String"; + } + leaf argument1 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument2 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument3 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument4 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument5 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument6 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument7 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument8 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument9 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument10 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument11 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument12 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument13 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument14 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument15 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument16 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + } + leaf profile { + type string; + description + "Interface profile name"; + } + } + container relay-interface { + description + "DHCP IPv4 relay information"; + container relay-remote-id { + description + "Insert option 82 remote-id sub-option"; + leaf remote-id-opt { + type Ipv4dhcpd-relay-info-option-remote-id; + description + "Remote ID option"; + } + leaf remote-id-value { + type string; + description + "Enter remote-id value"; + } + } + container relay-dhcp-circuit-id { + presence "Indicates a relay-dhcp-circuit-id node is configured."; + description + "Circuit ID value"; + leaf circuit-id { + type string; + mandatory true; + description + "DHCP IPv4 circuit ID value"; + } + leaf format { + type Ipv4dhcpd-fmt; + mandatory true; + description + "Format String"; + } + leaf argument1 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument2 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument3 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument4 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument5 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument6 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument7 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument8 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument9 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument10 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument11 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument12 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument13 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument14 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument15 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument16 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + } + } + container static-mode { + description + "Static Table Entries containing MAC address to + IP address bindings"; + container statics { + description + "Static Table Entries containing MAC address + to IP address bindings"; + list static { + key "mac-address client-id layer"; + description + "DHCP static binding of Mac address to IP + address"; + leaf mac-address { + type yang:mac-address; + description + "MACAddress"; + } + leaf client-id { + type Ipv4dhcpd-client-id; + description + "Client Id"; + } + leaf layer { + type Ipv4dhcpd-layer; + description + "DHCP IPV4 Static layer"; + } + leaf static-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address"; + } + } + } + } + container cnbng-interface { + description + "DHCP IPv4 cnbng information"; + leaf profile { + type string; + description + "Interface profile name"; + } + } + container profile { + presence "Indicates a profile node is configured."; + description + "Profile name and mode"; + leaf profile-name { + type string; + mandatory true; + description + "Profile name"; + } + leaf mode { + type Ipv4dhcpd-mode; + mandatory true; + description + "DHCP mode"; + } + } + container server-interface { + description + "DHCP IPv4 Server information"; + container server-dhcp-circuit-id { + presence "Indicates a server-dhcp-circuit-id node is configured."; + description + "Circuit ID value"; + leaf circuit-id { + type string; + mandatory true; + description + "DHCP IPv4 circuit ID value"; + } + leaf format { + type Ipv4dhcpd-fmt; + mandatory true; + description + "Format String"; + } + leaf argument1 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument2 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument3 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument4 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument5 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument6 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument7 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument8 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument9 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument10 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument11 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument12 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument13 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument14 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument15 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + leaf argument16 { + type Ipv4dhcpd-fmt-specifier; + description + "Argument"; + } + } + leaf profile { + type string; + description + "Interface profile name"; + } + } + container snoop-interface { + description + "DHCP IPv4 snoop information"; + container snoop-circuit-id { + description + "Configure circuit ID for snoop 1. Hex 2. + ASCII"; + leaf format-type { + type uint32 { + range "1..2"; + } + description + "Format type, 1. Hex 2. ASCII"; + } + leaf circuit-id-value { + type string; + description + "Enter circuit-id value"; + } + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + container duplicate-mac-allowed { + presence "Indicates a duplicate-mac-allowed node is configured."; + description + "Allow Duplicate MAC Address"; + leaf duplicate-mac { + type empty; + mandatory true; + description + "Duplicate mac is allowed"; + } + leaf exclude-vlan { + type empty; + description + "Exclude vlan"; + } + leaf include-giaddr { + type empty; + description + "Include giaddr"; + } + } + container rate-limit { + description + "Rate limit ingress packets"; + leaf num-period { + type uint32 { + range "1..1000"; + } + default "200"; + description + "Rate limiter period in msec (default: 200 msec)"; + } + leaf num-discover { + type uint32 { + range "0..1000"; + } + default "100"; + description + "Max DISCOVER packets per rate-limiter period + (default 100)"; + } + } + leaf enable { + type empty; + mandatory true; + description + "DHCP IPV4 configuration"; + } + leaf outer-cos { + type uint32 { + range "0..7"; + } + description + "Configure outer cos values for dhcp packets"; + } + leaf allow-client-id-change { + type empty; + description + "For BNG session, allow client id change for a + client MAC"; + } + leaf inner-cos { + type uint32 { + range "0..7"; + } + description + "Configure inner cos values for dhcp packets"; + } + leaf disable-shadow-binding { + type empty; + description + "Option to disable shadow binding"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub1.yang new file mode 100644 index 000000000..d8e1daefa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub1.yang @@ -0,0 +1,1884 @@ +submodule Cisco-IOS-XR-ipv4-dhcpd-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-dhcpd-oper { + prefix Cisco-IOS-XR-ipv4-dhcpd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-dhcpd package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-11 { + description + "Enhanced interface length based on IM changes. + 2021-10-07 + Added session_in_bound_client_id_changed counter in debug stats."; + semver:module-version "2.1.0"; + } + revision 2021-09-14 { + description + "Fixed GET-OPER to display interface name in standard format. + 2021-09-08 + Fixed GET-OPER rpc response which returns false value. + 2021-08-23 + Migrated LEAF-LIST with duplicate value to LIST type. + 2021-06-21 + Added l2-interface information for show command + 2021-04-09 + NodeID keyword changed from nodeid to NodeName as per standard"; + semver:module-version "2.0.0"; + } + revision 2020-11-20 { + description + "Added Yang Support for ADT,to retrive statistcs with help of vrf/interface. + 2020-09-30 + Modified to accommodate cdm changes"; + semver:module-version "1.1.0"; + } + revision 2019-06-25 { + description + "Introduced an option to show dhcp rate limit hit counters."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-09-20 { + description + "Fixing yang gaps."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Vrf-string { + type string { + length "0..33"; + } + description + "Vrf string"; + } + + typedef Dhcp-issu-version { + type enumeration { + enum "version1" { + value 0; + description + "Version 1"; + } + enum "version2" { + value 1; + description + "Version 2"; + } + } + description + "Dhcp issu version"; + } + + typedef Dhcp-issu-phase { + type enumeration { + enum "phase-not-started" { + value 0; + description + "An ISSU event has not started"; + } + enum "phase-load" { + value 1; + description + "ISSU Load Phase"; + } + enum "phase-run" { + value 2; + description + "ISSU Run Phase"; + } + enum "phase-completed" { + value 3; + description + "An ISSU event has completed successfully"; + } + enum "phase-aborted" { + value 4; + description + "An ISSU event has aborted"; + } + } + description + "Dhcp issu phase"; + } + + typedef Dhcp-issu-role { + type enumeration { + enum "role-primary" { + value 0; + description + "Primary role"; + } + enum "role-secondary" { + value 1; + description + "Secondary role"; + } + } + description + "Dhcp issu role"; + } + + typedef Bag-dhcpd-intf-srg-role { + type enumeration { + enum "none" { + value 0; + description + "DHCPv4 Interface SRG role NONE"; + } + enum "master" { + value 1; + description + "DHCPv4 Interface SRG role Master"; + } + enum "slave" { + value 2; + description + "DHCPv4 Interface SRG role Slave"; + } + } + description + "Bag dhcpd intf srg role"; + } + + typedef Bag-dhcpd-base-mode { + type enumeration { + enum "base" { + value 0; + description + "Base"; + } + enum "relay" { + value 1; + description + "Relay"; + } + enum "snoop" { + value 2; + description + "Snoop"; + } + enum "server" { + value 3; + description + "Server"; + } + enum "proxy" { + value 4; + description + "Proxy"; + } + enum "dynamic" { + value 5; + description + "Dynamic"; + } + enum "client" { + value 6; + description + "Client"; + } + enum "cnbng" { + value 7; + description + "CNBNG"; + } + enum "max" { + value 8; + description + "Max"; + } + } + description + "Bag dhcpd base mode"; + } + + typedef Bag-dhcpd-proxy-state { + type enumeration { + enum "initializing" { + value 0; + description + "Initializing"; + } + enum "selecting" { + value 1; + description + "Selecting"; + } + enum "requesting" { + value 2; + description + "Requesting"; + } + enum "bound" { + value 3; + description + "Bound"; + } + enum "renewing" { + value 4; + description + "Renewing"; + } + enum "informing" { + value 5; + description + "Informing"; + } + enum "deleting" { + value 6; + description + "Deleting"; + } + enum "create-dpm" { + value 7; + description + "Create dpm"; + } + enum "offer-sent" { + value 8; + description + "Offer sent"; + } + enum "update-dpm" { + value 9; + description + "Update dpm"; + } + enum "route-install" { + value 10; + description + "Route install"; + } + enum "disc-dpm" { + value 11; + description + "Disc dpm"; + } + enum "renew-new-intf" { + value 12; + description + "Renew new intf"; + } + enum "other-intf-dpm" { + value 13; + description + "Other intf dpm"; + } + enum "request-dpm" { + value 14; + description + "Request dpm"; + } + enum "change-addr-dpm" { + value 15; + description + "Change addr dpm"; + } + enum "max" { + value 16; + description + "Max"; + } + } + description + "Bag dhcpd proxy state"; + } + + typedef Proxy-lease-limit { + type enumeration { + enum "none" { + description + "Proxy lease limit type none"; + } + enum "interface" { + description + "Proxy lease limit type interface"; + } + enum "circuit-id" { + description + "Proxy lease limit type circuit ID"; + } + enum "remote-id" { + description + "Proxy lease limit type remote ID"; + } + enum "remote-id-circuit-id" { + description + "Proxy lease limit type remote ID + circuit ID"; + } + } + description + "Proxy profile lease limit type"; + } + + typedef Broadcast-flag { + type enumeration { + enum "ignore" { + description + "Broadcast policy ignore"; + } + enum "check" { + description + "Broadcast policy check"; + } + enum "unicast-always" { + description + "Broadcast policy unicast always"; + } + } + description + "Proxy profile broadcast flag"; + } + + typedef Relay-info-vpn-mode { + type enumeration { + enum "rfc" { + description + "RFC Mode"; + } + enum "cisco" { + description + "Cisco Mode"; + } + } + description + "Relay Info Vpn Mode"; + } + + typedef Relay-info-authenticate { + type enumeration { + enum "received" { + description + "Relay authenticate received"; + } + enum "inserted" { + description + "Relay authenticate inserted"; + } + } + description + "Profile relay authenticate"; + } + + typedef Relay-info-policy { + type enumeration { + enum "replace" { + description + "Relay policy replace"; + } + enum "keep" { + description + "Relay policy keep"; + } + enum "drop" { + description + "Relay policy drop"; + } + enum "encapsulate" { + description + "Relay policy encapsulate"; + } + } + description + "Proxy profile relay policy"; + } + + typedef String1 { + type string { + length "0..33"; + } + description + "String1"; + } + + typedef Bag-dhcpd-snoop-state { + type enumeration { + enum "init" { + value 0; + description + "Init"; + } + enum "selecting" { + value 1; + description + "Selecting"; + } + enum "requesting" { + value 2; + description + "Requesting"; + } + enum "bound" { + value 3; + description + "Bound"; + } + enum "renewing" { + value 4; + description + "Renewing"; + } + enum "informing" { + value 5; + description + "Informing"; + } + enum "max" { + value 6; + description + "Max"; + } + enum "unkown" { + value 7; + description + "Unknown"; + } + } + description + "Bag dhcpd snoop state"; + } + + grouping IPV4-DHCPD-RELAY-FILTERED-STATS { + description + "DHCP IPv4 filtered statistics"; + leaf received-packets { + type uint64; + description + "Received packets"; + } + leaf transmitted-packets { + type uint64; + description + "Transmitted packets"; + } + leaf dropped-packets { + type uint64; + description + "Dropped packets"; + } + } + + grouping IPV4-DHCPD-RELAY-STATS { + description + "ipv4 dhcpd relay stats parameters"; + list ipv4-dhcpd-relay-stat { + description + "ipv4 dhcpd relay stat"; + container statistics { + description + "Public relay statistics"; + uses IPV4-DHCPD-RELAY-FILTERED-STATS; + } + leaf relay-statistics-vrf-name { + type string { + length "0..33"; + } + description + "DHCP L3 VRF Name"; + } + } + } + + grouping IPV4-DHCPD-RELAY-STATS-INFO { + description + "ipv4 dhcpd relay stats info"; + leaf relay-stats-timestamp { + type uint32; + description + "Relay Stats timestamp"; + } + } + + grouping IPV4-DHCPD-RELAY-PROFILE { + description + "ipv4 dhcpd relay profile parameters"; + leaf relay-profile-name { + type string { + length "0..65"; + } + description + "Profile Name"; + } + leaf relay-profile-uid { + type uint32; + description + "Profile UID"; + } + leaf relay-profile-helper-count { + type uint8; + description + "Helper address count"; + } + leaf relay-profile-relay-info-option { + type uint8; + description + "Relay info option"; + } + leaf relay-profile-relay-info-policy { + type uint8; + description + "Relay info policy"; + } + leaf relay-profile-relay-info-allow-untrusted { + type uint8; + description + "Relay info untrusted"; + } + leaf relay-profile-relay-info-optionvpn { + type uint8; + description + "Relay info option vpn"; + } + leaf relay-profile-relay-info-optionvpn-mode { + type Relay-info-vpn-mode; + description + "Relay info option vpn-mode"; + } + leaf relay-profile-relay-info-check { + type uint8; + description + "Relay info check"; + } + leaf relay-profile-gi-addr-policy { + type uint8; + description + "GIADDR policy"; + } + leaf relay-profile-broadcast-flag-policy { + type uint8; + description + "Broadcast policy"; + } + leaf relay-profile-mac-mismatch-action { + type uint8; + description + "Mac Mismatch Action"; + } + leaf-list relay-profile-helper-address { + type inet:ipv4-address; + max-elements "32"; + description + "Helper addresses"; + } + leaf-list relay-profile-helper-vrf { + type Vrf-string; + max-elements "32"; + description + "Helper address vrfs"; + } + leaf-list relay-profile-gi-addr { + type inet:ipv4-address; + max-elements "32"; + description + "Gateway addresses"; + } + } + + grouping IPV4-DHCPD-SERVER-PROFILE { + description + "ipv4 dhcpd server profile parameters"; + leaf server-profile-name-xr { + type string { + length "0..65"; + } + description + "Profile Name"; + } + leaf secure-arp { + type boolean; + description + "Secure ARP"; + } + leaf requested-address-check { + type boolean; + description + "Requested Address Check"; + } + leaf server-id-check { + type boolean; + description + "Server ID Check"; + } + leaf duplicate-mac-address-check { + type boolean; + description + "Duplicate MAC Address Check"; + } + leaf duplicate-ip-address-check { + type boolean; + description + "Duplicate IP Address Check"; + } + leaf is-move-allowed { + type boolean; + description + "Is true if dhcp subscriber is allowed to move"; + } + leaf bcast-policy { + type uint8; + description + "Bcast Policy"; + } + leaf giaddr-policy { + type uint8; + description + "Giaddr Policy"; + } + leaf subnet-mask { + type inet:ipv4-address; + description + "Subnet Mask"; + } + leaf server-pool-name { + type string { + length "0..65"; + } + description + "Pool Name"; + } + leaf server-profile-lease { + type uint32; + description + "Lease"; + } + leaf server-profile-netbios-node-type { + type uint8; + description + "Server netbios node type"; + } + leaf server-bootfile-name { + type string { + length "0..256"; + } + description + "Server Bootfile name"; + } + leaf server-domain-name { + type string { + length "0..256"; + } + description + "Server Domain name"; + } + leaf server-profileiedge-check { + type uint8; + description + "Server iEdge Check"; + } + leaf server-profile-server-dns-count { + type uint8; + description + "Server DNS Count"; + } + leaf server-profiledefault-router-count { + type uint8; + description + "Server default count "; + } + leaf server-profile-netbios-name-svr-count { + type uint8; + description + "Server netbios svr count "; + } + leaf server-profile-time-svr-count { + type uint8; + description + "Server time svr count "; + } + leaf lease-limit-type { + type uint8; + description + "Lease Limit Type"; + } + leaf lease-limit-count { + type uint32; + description + "Lease Limit Count"; + } + list server-profile-dns { + max-elements "9"; + description + "Server DNS addresses"; + leaf entry { + type inet:ipv4-address; + description + "Server DNS addresses"; + } + } + list server-profile-default-router { + max-elements "9"; + description + "Server default addresses"; + leaf entry { + type inet:ipv4-address; + description + "Server default addresses"; + } + } + list server-profile-netbious-name-server { + max-elements "9"; + description + "Server netbios addresses"; + leaf entry { + type inet:ipv4-address; + description + "Server netbios addresses"; + } + } + list server-profile-time-server { + max-elements "9"; + description + "Server Time addresses"; + leaf entry { + type inet:ipv4-address; + description + "Server Time addresses"; + } + } + } + + grouping IPV4-DHCPD-DATABASE { + description + "IPv4 DHCP database"; + leaf configured { + type boolean; + description + "Database feature configured"; + } + leaf version { + type uint32; + description + "Current file version"; + } + leaf full-file-write-interval { + type uint32; + units "minute"; + description + "Full file write interval in minutes"; + } + leaf last-full-write-file-name { + type string { + length "0..64"; + } + description + "Last full write file name"; + } + leaf last-full-write-time { + type uint32; + description + "Last full write time since epoch"; + } + leaf full-file-write-count { + type uint32; + description + "Full file write count"; + } + leaf failed-full-file-write-count { + type uint32; + description + "Failed full file write count"; + } + leaf full-file-record-count { + type uint32; + description + "Full file record count"; + } + leaf last-full-file-write-error-timestamp { + type uint32; + description + "Last full file write error timestamp since epoch"; + } + leaf incremental-file-write-interval { + type uint32; + units "minute"; + description + "Incremental file write interval in minutes"; + } + leaf last-incremental-write-file-name { + type string { + length "0..64"; + } + description + "Last incremental write file name"; + } + leaf last-incremental-write-time { + type uint32; + description + "Last incremental write time since epoch"; + } + leaf incremental-file-write-count { + type uint32; + description + "Incremental file write count"; + } + leaf failed-incremental-file-write-count { + type uint32; + description + "Failed incremental file write count"; + } + leaf incremental-file-record-count { + type uint32; + description + "Incremental file record count"; + } + leaf last-incremental-file-write-error-timestamp { + type uint32; + description + "Last incremental file write error timestamp + since epoch"; + } + } + + grouping IPV4-DHCPD-BASE-CHILD-PROFILE-INFO { + description + "ipv4 dhcpd base child profile information"; + list ipv4-dhcpd-base-child-profile-info { + description + "ipv4 dhcpd base child profile info"; + leaf base-child-profile-name { + type string { + length "0..65"; + } + description + "Base Child Profile name"; + } + leaf mode { + type uint8; + description + "Profile mode"; + } + leaf matched-option-code { + type uint8; + description + "Matched option code"; + } + leaf matched-option-len { + type uint8; + description + "Matched option len"; + } + leaf option-data { + type yang:hex-string; + description + "Matched option data"; + } + } + } + + grouping IPV4-DHCPD-BASE-INTERFACE-REFERENCE { + description + "ipv4 dhcpd base profile reference"; + list ipv4-dhcpd-base-interface-reference { + description + "ipv4 dhcpd base interface reference"; + leaf base-reference-interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + } + } + + grouping IPV4-DHCPD-BASE-PROFILE { + description + "IPv4 dhcpd base profile parameters"; + container interface-references { + description + "Interface references"; + uses IPV4-DHCPD-BASE-INTERFACE-REFERENCE; + } + container child-profile-info { + description + "child profile info"; + uses IPV4-DHCPD-BASE-CHILD-PROFILE-INFO; + } + leaf base-default-profile-name { + type string { + length "0..65"; + } + description + "Base Default Profile name"; + } + leaf default-profile-mode { + type uint8; + description + "Default Profile mode"; + } + leaf relay-authenticate { + type Relay-info-authenticate; + description + "Relay authenticate"; + } + leaf remote-id { + type string { + length "0..768"; + } + description + "DHCP configured Remote ID"; + } + leaf child-profile-count { + type uint8; + description + "Child profile count"; + } + leaf intf-ref-count { + type uint8; + description + "Interface reference count"; + } + } + + grouping DHCPD-ISSU-STATUS-INFO { + description + "DHCP ISSU Status"; + leaf issu-sync-complete-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU sync complete in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf issu-sync-start-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU sync start in nanoseconds + since Epoch, i.e. since 00:00:00 UTC, January 1, + 1970"; + } + leaf issu-ready-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU ready declaration in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf big-bang-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the Big Bang notification time in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf primary-role-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the change to Primary role + notification time in nanoseconds since Epoch, i + .e. since 00:00:00 UTC, January 1, 1970"; + } + leaf role { + type Dhcp-issu-role; + description + "The current role of the DHCP process"; + } + leaf phase { + type Dhcp-issu-phase; + description + "The current ISSU phase of the DHCP process"; + } + leaf version { + type Dhcp-issu-version; + description + "The current version of the DHCP process in the + context of an ISSU"; + } + leaf issu-ready-issu-mgr-connection { + type boolean; + description + "Whether or not DHCP is currently connected to + ISSU Manager during the ISSU Load Phase"; + } + leaf issu-ready-entries-replicate { + type boolean; + description + "Whether or not DHCP has received all replicated + entries during the ISSU Load Phase"; + } + } + + grouping IPV4-DHCPD-BASE-DROP-STATS { + description + "DHCP IPv4 base drop statistics"; + leaf rate-limit-hit { + type uint64; + description + "base Drop statistics"; + } + } + + grouping IPV4-DHCPD-PROXY-INTERFACE { + description + "ipv4 dhcpd proxy interface"; + leaf intf-ifhandle { + type uint32; + description + "Ifhandle of the interface"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF name"; + } + leaf intf-mode { + type Bag-dhcpd-base-mode; + description + "Mode of interface"; + } + leaf intf-is-ambiguous { + type uint32; + description + "Is interface ambiguous"; + } + leaf intf-profile-name { + type string { + length "0..65"; + } + description + "Name of profile attached to the interface"; + } + leaf intf-lease-limit-type { + type uint32; + description + "Lease limit type on interface"; + } + leaf intf-lease-limit-count { + type uint32; + description + "Lease limit count on interface"; + } + leaf srg-role { + type Bag-dhcpd-intf-srg-role; + description + "DHCPv6 Interface SRG role"; + } + leaf mac-throttle { + type boolean; + description + "Mac Throttle Status"; + } + } + + grouping IPV4-DHCPD-PROXY-BINDINGS-SUMMARY { + description + "DHCP IPv4 proxy bindings summary"; + leaf clients { + type uint32; + description + "Total number of clients"; + } + leaf initializing-clients { + type uint32; + description + "Number of clients in init state"; + } + leaf waiting-for-dpm-init { + type uint32; + description + "Number of clients in Init DPM wait state"; + } + leaf waiting-for-dpm-request { + type uint32; + description + "Number of clients in Request DPM wait state"; + } + leaf waiting-for-daps-init { + type uint32; + description + "Number of clients in Init DAPS wait state"; + } + leaf selecting-clients { + type uint32; + description + "Number of clients in selecting state"; + } + leaf offer-sent-for-client { + type uint32; + description + "Number of clients in Offer sent state"; + } + leaf requesting-clients { + type uint32; + description + "Number of clients in requesting state"; + } + leaf request-waiting-for-dpm { + type uint32; + description + "Number of clients in Waiting for DPM with + Request"; + } + leaf ack-waiting-for-dpm { + type uint32; + description + "Number of clients in Waiting for DPM with ACK"; + } + leaf bound-clients { + type uint32; + description + "Number of clients in bound state"; + } + leaf renewing-clients { + type uint32; + description + "Number of clients in renewing state"; + } + leaf informing-clients { + type uint32; + description + "Number of clients in informing state"; + } + leaf reauthorizing-clients { + type uint32; + description + "Number of clients in reauth state"; + } + leaf waiting-for-dpm-disconnect { + type uint32; + description + "Number of clients in waiting for DPM disconnect + state"; + } + leaf waiting-for-dpm-addr-change { + type uint32; + description + "Number of clients in Waiting for DPM after addr + change"; + } + leaf deleting-clients-d { + type uint32; + description + "Number of clients in deleting state"; + } + leaf disconnected-clients { + type uint32; + description + "Number of clients in disconnected state"; + } + leaf restarting-clients { + type uint32; + description + "Number of clients in restarting state"; + } + } + + grouping IPV4-DHCPD-PROXY-BINDING { + description + "DHCP IPv4 proxy binding entry"; + leaf client-id-xr { + type string { + length "0..1275"; + } + description + "DHCP client identifier"; + } + leaf mac-address { + type string; + description + "DHCP client MAC address"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCP client/subscriber VRF name"; + } + leaf server-vrf-name { + type string { + length "0..33"; + } + description + "DHCP server VRF name"; + } + leaf ip-address { + type inet:ipv4-address; + description + "DHCP IP address"; + } + leaf client-gi-addr { + type inet:ipv4-address; + description + "DHCP client GIADDR"; + } + leaf to-server-gi-addr { + type inet:ipv4-address; + description + "DHCP to server GIADDR"; + } + leaf server-ip-address { + type inet:ipv4-address; + description + "DHCP server IP address"; + } + leaf reply-server-ip-address { + type inet:ipv4-address; + description + "DHCP reply server IP address"; + } + leaf lease-time { + type uint32; + units "second"; + description + "Lease time in seconds"; + } + leaf remaining-lease-time { + type uint32; + units "second"; + description + "Remaining lease time in seconds"; + } + leaf state { + type Bag-dhcpd-proxy-state; + description + "DHCP client state"; + } + leaf interface-name { + type xr:Interface-name; + description + "DHCP access interface to client"; + } + leaf access-vrf-name { + type string { + length "0..33"; + } + description + "DHCP access interface VRF name"; + } + leaf proxy-binding-outer-tag { + type uint32; + description + "DHCP VLAN outer VLAN"; + } + leaf proxy-binding-inner-tag { + type uint32; + description + "DHCP VLAN inner VLAN"; + } + leaf profile-name { + type string { + length "0..65"; + } + description + "DHCP profile name"; + } + leaf selected-profile-name { + type string { + length "0..65"; + } + description + "DHCP Selected profile name"; + } + leaf is-nak-next-renew { + type boolean; + description + "Is true if DHCP next renew from client will be + NAK'd"; + } + leaf subscriber-label { + type uint32; + description + "DHCP subscriber label"; + } + leaf old-subscriber-label { + type uint32; + description + "DHCP old subscriber label"; + } + leaf subscriber-interface-name { + type xr:Interface-name; + description + "DHCP subscriber interface"; + } + leaf rx-circuit-id { + type string { + length "0..768"; + } + description + "DHCP received circuit ID"; + } + leaf tx-circuit-id { + type string { + length "0..768"; + } + description + "DHCP transmitted circuit ID"; + } + leaf rx-remote-id { + type string { + length "0..768"; + } + description + "DHCP received Remote ID"; + } + leaf tx-remote-id { + type string { + length "0..768"; + } + description + "DHCP transmitted Remote ID"; + } + leaf rx-vsiso { + type string { + length "0..768"; + } + description + "DHCP received VSISO"; + } + leaf tx-vsiso { + type string { + length "0..768"; + } + description + "DHCP transmitted VSISO"; + } + leaf is-auth-received { + type boolean; + description + "Is true if authentication is on received + option82"; + } + leaf is-mbl-subscriber { + type boolean; + description + "Is true if DHCP subscriber is Mobile"; + } + leaf param-request { + type string { + length "0..513"; + } + description + "DHCP parameter request option"; + } + leaf param-response { + type string { + length "0..2051"; + } + description + "DHCP saved options"; + } + leaf session-start-time-epoch { + type uint64; + description + "session start time epoch"; + } + leaf srg-state { + type uint32; + description + "DHCPV4 SRG state"; + } + leaf srg-group-id { + type uint16; + description + "srg group id"; + } + leaf access-l2-intf-name { + type string { + length "0..81"; + } + description + "DHCP access L2-interface to client"; + } + list event-history { + max-elements "20"; + description + "DHCPv4 Event History"; + leaf entry { + type uint32; + description + "DHCPv4 Event History"; + } + } + } + + grouping IPV4-DHCPD-DISC-HISTORY { + description + "DHCP IPv4 disconnect history entry"; + leaf session-start-time-epoch { + type uint64; + description + "session start time epoch"; + } + leaf session-end-time-epoch { + type uint64; + description + "session end time epoch"; + } + leaf disc-reason { + type string { + length "0..256"; + } + description + "DiscReason"; + } + leaf sub-label { + type uint32; + description + "sub label"; + } + leaf mac-address { + type string { + length "0..17"; + } + description + "MACAddress"; + } + } + + grouping IPV4-DHCPD-VRF-INTF-STATS { + description + "DHCP IPv4 proxy/server/base statistics for vrf + and interface"; + container packet-info { + description + "Packet information"; + uses IPV4-DHCPD-PROXY-TYPE; + } + leaf vrf-name-xr { + type string { + length "0..33"; + } + description + "DHCP L3 VRF name"; + } + leaf interface-name-xr { + type string { + length "0..81"; + } + description + "DHCP L3 Interface name"; + } + } + + grouping IPV4-DHCPD-PROXY-STATS { + description + "DHCP IPv4 proxy statistics"; + list ipv4-dhcpd-proxy-stat { + description + "ipv4 dhcpd proxy stat"; + container statistics { + description + "Proxy statistics"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCP L3 VRF name"; + } + } + } + + grouping IPV4-DHCPD-PROXY-INTERFACE-REFERENCE { + description + "ipv4 dhcpd proxy profile reference"; + list ipv4-dhcpd-proxy-interface-reference { + description + "ipv4 dhcpd proxy interface reference"; + leaf proxy-reference-interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + } + } + + grouping IPV4-DHCPD-PROXY-VRF-REFERENCE { + description + "ipv4 dhcpd proxy profile reference"; + list ipv4-dhcpd-proxy-vrf-reference { + description + "ipv4 dhcpd proxy vrf reference"; + leaf proxy-reference-vrf-name { + type string { + length "0..33"; + } + description + "VRF name"; + } + } + } + + grouping IPV4-DHCPD-PROXY-PROFILE { + description + "IPv4 dhcpd proxy profile parameters"; + container vrf-references { + description + "VRF references"; + uses IPV4-DHCPD-PROXY-VRF-REFERENCE; + } + container interface-references { + description + "Interface references"; + uses IPV4-DHCPD-PROXY-INTERFACE-REFERENCE; + } + leaf is-relay-option-enabled { + type boolean; + description + "Is true if relay option is enabled"; + } + leaf relay-policy { + type Relay-info-policy; + description + "Relay policy"; + } + leaf relay-authenticate { + type Relay-info-authenticate; + description + "Relay authenticate"; + } + leaf is-relay-allow-untrusted-enabled { + type boolean; + description + "Is true if relay untrusted is enabled"; + } + leaf is-relay-optionvpn-enabled { + type boolean; + description + "Is true if relay VPN enabled"; + } + leaf relay-optionvpn-enabled-mode { + type Relay-info-vpn-mode; + description + "Relay VPN RFC/Cisco mode"; + } + leaf is-relay-check { + type boolean; + description + "Is true if relay check enabled"; + } + leaf is-move-allowed { + type boolean; + description + "Is true if dhcp subscriber is allowed to move"; + } + leaf proxy-broadcast-flag-policy { + type Broadcast-flag; + description + "Broadcast policy"; + } + leaf proxy-profile-client-lease-time { + type uint32; + units "second"; + description + "Client lease time in seconds"; + } + leaf proxy-lease-limit-type { + type Proxy-lease-limit; + description + "Lease limit type"; + } + leaf proxy-lease-limit-count { + type uint32; + description + "Lease limit count"; + } + leaf-list profile-helper-address { + type inet:ipv4-address; + max-elements "8"; + description + "Helper addresses"; + } + leaf-list vrf-name { + type String1; + max-elements "8"; + description + "VRF names"; + } + leaf-list gi-addr { + type inet:ipv4-address; + max-elements "8"; + description + "Gateway addresses"; + } + } + + grouping IPV4-DHCPD-PROXY-FILTERED-STATS { + description + "DHCP IPv4 filtered statistics"; + leaf received-packets { + type uint64; + description + "Received packets"; + } + leaf transmitted-packets { + type uint64; + description + "Transmitted packets"; + } + leaf dropped-packets { + type uint64; + description + "Dropped packets"; + } + } + + grouping IPV4-DHCPD-PROXY-TYPE { + description + "Proxy packets"; + container discover { + description + "DHCP discover packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container offer { + description + "DHCP offer packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container request { + description + "DHCP request packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container decline { + description + "DHCP decline packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container ack { + description + "DHCP ack packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container nak { + description + "DHCP nak packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container release { + description + "DHCP release packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container inform { + description + "DHCP inform packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container lease-query { + description + "DHCP lease query packets"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container lease-not-assigned { + description + "DHCP lease not assigned"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container lease-unknown { + description + "DHCP lease unknown"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container lease-active { + description + "DHCP lease active"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container bootp-request { + description + "DHCP BOOTP request"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + container bootp-reply { + description + "DHCP BOOTP reply"; + uses IPV4-DHCPD-PROXY-FILTERED-STATS; + } + } + + grouping IPV4-DHCPD-PROXY-STATS-INFO { + description + "ipv4 dhcpd proxy stats info"; + leaf proxy-stats-timestamp { + type uint32; + description + "Proxy Stats timestamp"; + } + } + + grouping IPV4-DHCPD-SNOOP-STATS { + description + "ipv4 dhcpd snoop stats parameters"; + leaf snoop-statistics-bridge-name { + type string { + length "0..74"; + } + description + "DHCP L2 bridge name"; + } + leaf-list snoop-statistic { + type uint64; + max-elements "45"; + description + "Public snoop statistics"; + } + } + + grouping IPV4-DHCPD-SNOOP-PROFILE { + description + "ipv4 dhcpd snoop profile parameters"; + leaf snoop-profile-name { + type string { + length "0..65"; + } + description + "Profile Name"; + } + leaf snoop-profile-uid { + type uint32; + description + "Profile unique ID"; + } + leaf snoop-profile-relay-info-option { + type uint8; + description + "Relay info option"; + } + leaf snoop-profile-relay-info-allow-untrusted { + type uint8; + description + "Allow untrusted relay info"; + } + leaf snoop-profile-relay-info-policy { + type uint8; + description + "Relay info policy"; + } + leaf snoop-profile-trusted { + type uint8; + description + "Trust"; + } + } + + grouping IPV4-DHCPD-SNOOP-STATS-INFO { + description + "ipv4 dhcpd snoop stats info"; + leaf snoop-stats-timestamp { + type uint32; + description + "Snoop Stats timestamp"; + } + } + + grouping IPV4-DHCPD-SNOOP-BINDING-STATISTICS { + description + "ipv4 dhcpd snoop binding statistics"; + leaf snoop-binding-total { + type uint32; + description + "Total number of snoop bindings"; + } + leaf snoop-binding-timestamp { + type uint32; + description + "Snoop binding timestamp"; + } + } + + grouping IPV4-DHCPD-SNOOP-BINDING { + description + "ipv4 dhcpd snoop binding entry"; + leaf snoop-binding-ch-addr { + type yang:hex-string; + description + "DHCP client MAC address"; + } + leaf snoop-binding-ch-addr-len { + type uint8; + description + "DHCP client MAC address length"; + } + leaf snoop-binding-i-addr { + type inet:ipv4-address; + description + "DHCP iaddr"; + } + leaf snoop-binding-state { + type Bag-dhcpd-snoop-state; + description + "DHCP sm state"; + } + leaf snoop-binding-lease { + type uint32; + description + "DHCP lease time"; + } + leaf snoop-binding-lease-start-time { + type uint32; + description + "DHCP lease start time"; + } + leaf snoop-binding-profile-name { + type string { + length "0..65"; + } + description + "DHCP profile name"; + } + leaf snoop-bindng-interface-name { + type string { + length "0..337"; + } + description + "DHCP interface to client"; + } + leaf snoop-binding-bridge-name { + type string { + length "0..74"; + } + description + "DHCP L2 bridge name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub2.yang new file mode 100644 index 000000000..ea2b7ee6c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper-sub2.yang @@ -0,0 +1,456 @@ +submodule Cisco-IOS-XR-ipv4-dhcpd-oper-sub2 { + belongs-to Cisco-IOS-XR-ipv4-dhcpd-oper { + prefix Cisco-IOS-XR-ipv4-dhcpd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-dhcpd package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-11 { + description + "Enhanced interface length based on IM changes. + 2021-10-07 + Added session_in_bound_client_id_changed counter in debug stats."; + semver:module-version "2.1.0"; + } + revision 2021-09-14 { + description + "Fixed GET-OPER to display interface name in standard format. + 2021-09-08 + Fixed GET-OPER rpc response which returns false value. + 2021-08-23 + Migrated LEAF-LIST with duplicate value to LIST type. + 2021-06-21 + Added l2-interface information for show command + 2021-04-09 + NodeID keyword changed from nodeid to NodeName as per standard"; + semver:module-version "2.0.0"; + } + revision 2020-11-20 { + description + "Added Yang Support for ADT,to retrive statistcs with help of vrf/interface. + 2020-09-30 + Modified to accommodate cdm changes"; + semver:module-version "1.1.0"; + } + revision 2019-06-25 { + description + "Introduced an option to show dhcp rate limit hit counters."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-09-20 { + description + "Fixing yang gaps."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Dhcpc-ipv4-state { + type enumeration { + enum "init" { + value 0; + description + "Init state"; + } + enum "init-reboot" { + value 1; + description + "Init Reboot state"; + } + enum "rebooting" { + value 2; + description + "Rebooting state"; + } + enum "selecting" { + value 3; + description + "Selecting state"; + } + enum "requesting" { + value 4; + description + "Requesting state"; + } + enum "bound" { + value 5; + description + "Bound state"; + } + enum "renewing" { + value 6; + description + "Renewing state"; + } + enum "rebinding" { + value 7; + description + "Rebinding state"; + } + enum "invalid" { + value 8; + description + "Invalid state"; + } + } + description + "Dhcp Client IPv4 State"; + } + + grouping DHCPC-EDM-CLIENT-IPV4-BAG { + description + "ipv4 dhcp client"; + leaf interface-name { + type string { + length "0..81"; + } + description + "Dhcp Client interface name"; + } + leaf client-mac-address { + type string { + length "0..17"; + } + description + "Dhcp Client Interface MAC address"; + } + leaf client-id { + type string { + length "0..256"; + } + description + "Dhcp Client ID"; + } + leaf ipv4-client-state { + type Dhcpc-ipv4-state; + description + "Dhcp Client State"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "Dhcp Client IP Address"; + } + leaf ipv4-subnet-mask { + type inet:ipv4-address; + description + "Dhcp Client IP Address mask"; + } + leaf ipv4-server-address { + type inet:ipv4-address; + description + "Dhcp Client selected server IP Address"; + } + leaf next-hop-ipv4-address { + type inet:ipv4-address; + description + "Dhcp Client next hop IP Address"; + } + leaf ipv4-lease-time { + type uint32; + description + "Dhcp Client Lease time"; + } + leaf ipv4-renew-time { + type uint32; + description + "Dhcp Client Renew time"; + } + leaf ipv4-rebind-time { + type uint32; + description + "Dhcp Client Rebind time"; + } + leaf ipv4-address-configured { + type boolean; + description + "Dhcp Client IPV4 address configured in interface"; + } + } + + grouping DHCPC-EDM-CLIENT-IPV4-STATS-BAG { + description + "ipv4 dhcp client statistics"; + leaf interface-name { + type string { + length "0..81"; + } + description + "Dhcp Client interface name"; + } + leaf num-events-received { + type uint32; + description + "Number of events received"; + } + leaf num-create-event-received { + type uint32; + description + "Number of create client event received"; + } + leaf num-delete-event-received { + type uint32; + description + "Number of delete client event received"; + } + leaf num-reboot-event-received { + type uint32; + description + "Number of client rebooted event received"; + } + leaf num-reinit-event-received { + type uint32; + description + "Number of reinit client event received"; + } + leaf num-packet-event-received { + type uint32; + description + "Number of packet event received"; + } + leaf num-init-timer-eventi { + type uint32; + description + "Number of init timer event"; + } + leaf num-t1-timer-event { + type uint32; + description + "Number of T1 timer event"; + } + leaf num-t2-timer-event { + type uint32; + description + "Number of T2 timer event"; + } + leaf num-lease-timer-event { + type uint32; + description + "Number of Lease timer event"; + } + leaf num-vbind-timer-event { + type uint32; + description + "Number of vbind timer event"; + } + leaf num-discovers-sent-successfully { + type uint32; + description + "Number of discovers sent successfully"; + } + leaf num-requests-sent-successfully { + type uint32; + description + "Number of requests sent successfully"; + } + leaf num-releases-sent-successfully { + type uint32; + description + "Number of releases sent successfully"; + } + leaf num-renews-sent-successfully { + type uint32; + description + "Number of renews sent successfully"; + } + leaf num-rebinds-sent-successfully { + type uint32; + description + "Number of rebinds sent successfully"; + } + leaf num-declines-sent-successfully { + type uint32; + description + "Number of declines sent successfully"; + } + leaf num-request-after-reboot-sent { + type uint32; + description + "Number of requests sent after reboot"; + } + leaf num-valid-offers-received { + type uint32; + description + "Number of valid offers received"; + } + leaf num-valid-acks-received { + type uint32; + description + "Number of valid acks received"; + } + leaf num-valid-nacks-received { + type uint32; + description + "Number of valid nacks received"; + } + leaf num-unicast-packet-sent-successfully { + type uint32; + description + "Number of unicast packet sent successfully"; + } + leaf num-broadcast-packet-sent-success { + type uint32; + description + "Number of broadcast packet sent successfully"; + } + leaf num-init-timer-start { + type uint32; + description + "Number of init timer starts"; + } + leaf num-init-timer-stop { + type uint32; + description + "Number of init timer stops"; + } + leaf num-t1-timer-start { + type uint32; + description + "Number of T1 timer starts"; + } + leaf num-t1-timer-stop { + type uint32; + description + "Number of T1 timer stops"; + } + leaf num-t2-timer-start { + type uint32; + description + "Number of T2 timer starts"; + } + leaf num-t2-timer-stop { + type uint32; + description + "Number of T2 timer stops"; + } + leaf num-lease-timer-start { + type uint32; + description + "Number of Lease timer starts"; + } + leaf num-lease-timer-stop { + type uint32; + description + "Number of Lease timer stops"; + } + leaf num-vbind-timer-start { + type uint32; + description + "Number of vbind timer starts"; + } + leaf num-vbind-timer-stop { + type uint32; + description + "Number of vbind timer stops"; + } + leaf num-invalid-events { + type uint32; + description + "Number of invalid events received"; + } + leaf num-discovers-failed { + type uint32; + description + "Number of discover send failed"; + } + leaf num-requests-failed { + type uint32; + description + "Number of request send failed"; + } + leaf num-releases-failed { + type uint32; + description + "Number of release send failed"; + } + leaf num-renews-failed { + type uint32; + description + "Number of renew send failed"; + } + leaf num-rebinds-failed { + type uint32; + description + "Number of rebind send failed"; + } + leaf num-declines-failed { + type uint32; + description + "Number of decline send failed"; + } + leaf num-request-after-reboot-failed { + type uint32; + description + "Number of requests sent after reboot failed"; + } + leaf num-invalid-offers { + type uint32; + description + "Number of invalid offers received"; + } + leaf num-invalid-acks { + type uint32; + description + "Number of invalid acks received"; + } + leaf num-invalid-nacks { + type uint32; + description + "Number of invalid nacks received"; + } + leaf num-invalid-packets { + type uint32; + description + "Number of invalid packets dropped"; + } + leaf num-unicast-failed { + type uint32; + description + "Number of unicast packet send failed"; + } + leaf num-broadcast-failed { + type uint32; + description + "Number of broadcast packet send failed"; + } + leaf num-xid-mismatch { + type uint32; + description + "Number of XID mismatch packets received"; + } + leaf num-vbind-failed { + type uint32; + description + "Number of socket vbind failed"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper.yang new file mode 100644 index 000000000..db7b6ece7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-dhcpd-oper.yang @@ -0,0 +1,567 @@ +module Cisco-IOS-XR-ipv4-dhcpd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-dhcpd-oper"; + prefix ipv4-dhcpd-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-dhcpd-oper-sub2 { + revision-date 2022-02-11; + } + include Cisco-IOS-XR-ipv4-dhcpd-oper-sub1 { + revision-date 2022-02-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-dhcpd package operational data. + + This module contains definitions + for the following management objects: + dhcp-client: DHCP client operational data + ipv4-dhcpd: IPV4 DHCPD operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-11 { + description + "Enhanced interface length based on IM changes. + 2021-10-07 + Added session_in_bound_client_id_changed counter in debug stats."; + semver:module-version "2.1.0"; + } + revision 2021-09-14 { + description + "Fixed GET-OPER to display interface name in standard format. + 2021-09-08 + Fixed GET-OPER rpc response which returns false value. + 2021-08-23 + Migrated LEAF-LIST with duplicate value to LIST type. + 2021-06-21 + Added l2-interface information for show command + 2021-04-09 + NodeID keyword changed from nodeid to NodeName as per standard"; + semver:module-version "2.0.0"; + } + revision 2020-11-20 { + description + "Added Yang Support for ADT,to retrive statistcs with help of vrf/interface. + 2020-09-30 + Modified to accommodate cdm changes"; + semver:module-version "1.1.0"; + } + revision 2019-06-25 { + description + "Introduced an option to show dhcp rate limit hit counters."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-09-20 { + description + "Fixing yang gaps."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container dhcp-client { + config false; + description + "DHCP client operational data"; + container nodes { + description + "DHCP client list of nodes"; + list node { + key "node-name"; + description + "DHCP client particular node name"; + container client-stats { + description + "IPv4 DHCP client statistics table"; + list client-stat { + key "client-ifhandle"; + description + "DHCP client binding statistics"; + leaf client-ifhandle { + type xr:Cisco-ios-xr-string; + description + "Client Ifhandle"; + } + uses DHCPC-EDM-CLIENT-IPV4-STATS-BAG; + } + } + container clients { + description + "IPv4 DHCP client table"; + list client { + key "client-ifhandle"; + description + "Single DHCP client binding"; + leaf client-ifhandle { + type xr:Cisco-ios-xr-string; + description + "Client Ifhandle"; + } + uses DHCPC-EDM-CLIENT-IPV4-BAG; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + container ipv4-dhcpd { + config false; + description + "IPV4 DHCPD operational data"; + container snoop { + description + "DHCP Snoop operational data"; + container bindings { + description + "DHCP Snoop Bindings"; + list binding { + key "client-uid"; + description + "DHCP Snoop binding"; + leaf client-uid { + type xr:Cisco-ios-xr-string; + description + "Client opaque handle"; + } + uses IPV4-DHCPD-SNOOP-BINDING; + } + } + container binding-statistics { + description + "DHCP snoop binding statistics"; + uses IPV4-DHCPD-SNOOP-BINDING-STATISTICS; + } + container statistics-info { + description + "DHCP snoop statistics info"; + uses IPV4-DHCPD-SNOOP-STATS-INFO; + } + container profiles { + description + "DHCP Snoop Profile"; + list profile { + key "profile-name"; + description + "DHCP Snoop profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses IPV4-DHCPD-SNOOP-PROFILE; + } + } + container statistics { + description + "DHCP Snoop Statistics"; + list statistic { + key "bridge-name"; + description + "DHCP Snoop bridge domain statistics"; + leaf bridge-name { + type xr:Cisco-ios-xr-string; + description + "Bridge domain name"; + } + uses IPV4-DHCPD-SNOOP-STATS; + } + } + } + container nodes { + description + "IPv4 DHCPD operational data for a particular + location"; + list node { + key "node-name"; + description + "Location. For eg., 0/1/CPU0"; + container proxy { + description + "IPv4 DHCP proxy operational data"; + container statistics-info { + description + "DHCP proxy stats info"; + uses IPV4-DHCPD-PROXY-STATS-INFO; + } + container vrfs { + description + "DHCP proxy list of VRF names"; + list vrf { + key "vrf-name"; + description + "IPv4 DHCP proxy VRF name"; + container statistics { + description + "IPv4 DHCP proxy statistics"; + uses IPV4-DHCPD-PROXY-TYPE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container profiles { + description + "IPv4 DHCP proxy profile"; + list profile { + key "profile-name"; + description + "IPv4 DHCP proxy profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses IPV4-DHCPD-PROXY-PROFILE; + } + } + container statistics { + description + "DHCP proxy statistics"; + uses IPV4-DHCPD-PROXY-STATS; + } + container stats { + description + "IPv4 DHCP proxy stats"; + list stat { + description + "Proxy statistics for vrf/interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "L3 VRF Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "L3 Interface Name"; + } + uses IPV4-DHCPD-VRF-INTF-STATS; + } + } + container disconnect-histories { + description + "DHCP proxy disconnect history"; + list disconnect-history { + key "index"; + description + "Single DHCP proxy disconnect history"; + leaf index { + type xr:Cisco-ios-xr-string; + description + "Index"; + } + uses IPV4-DHCPD-DISC-HISTORY; + } + } + container binding { + description + "DHCP proxy bindings"; + container clients { + description + "DHCP proxy client bindings"; + list client { + key "client-id"; + description + "Single DHCP proxy binding"; + leaf client-id { + type xr:Cisco-ios-xr-string; + description + "Client ID"; + } + uses IPV4-DHCPD-PROXY-BINDING; + } + } + container summary { + description + "DHCP proxy binding summary"; + uses IPV4-DHCPD-PROXY-BINDINGS-SUMMARY; + } + } + } + container interfaces { + description + "IPv4 DHCP proxy/server Interface"; + list interface { + key "interface-name"; + description + "IPv4 DHCP proxy/server interface info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV4-DHCPD-PROXY-INTERFACE; + } + } + container base { + description + "IPv4 DHCP base operational data"; + container statistics { + description + "DHCP base statistics"; + uses IPV4-DHCPD-PROXY-STATS; + } + container drops { + description + "DHCP base drop statistics"; + uses IPV4-DHCPD-BASE-DROP-STATS; + } + container issu-status { + description + "IPv4 DHCP ISSU status"; + uses DHCPD-ISSU-STATUS-INFO; + } + container vrfs { + description + "DHCP base list of VRF names"; + list vrf { + key "vrf-name"; + description + "IPv4 DHCP base VRF name"; + container statistics { + description + "IPv4 DHCP base statistics"; + uses IPV4-DHCPD-PROXY-TYPE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container profiles { + description + "IPv4 DHCP Base profile"; + list profile { + key "profile-name"; + description + "IPv4 DHCP base profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses IPV4-DHCPD-BASE-PROFILE; + } + } + container database { + description + "IPv4 DHCP database"; + uses IPV4-DHCPD-DATABASE; + } + container stats { + description + "IPv4 DHCP base stats"; + list stat { + description + "Base statistics for vrf/interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "L3 VRF Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "L3 Interface Name"; + } + uses IPV4-DHCPD-VRF-INTF-STATS; + } + } + } + container server { + description + "IPv4 DHCP Server operational data"; + container profiles { + description + "IPv4 DHCP Server profile"; + list profile { + key "server-profile-name"; + description + "IPv4 DHCP server profile"; + leaf server-profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses IPV4-DHCPD-SERVER-PROFILE; + } + } + container statistics { + description + "DHCP Server statistics"; + uses IPV4-DHCPD-PROXY-STATS; + } + container stats { + description + "IPv4 DHCP server stats"; + list stat { + description + "Server statistics for vrf/interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "L3 VRF Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "L3 Interface Name"; + } + uses IPV4-DHCPD-VRF-INTF-STATS; + } + } + container binding { + description + "DHCP server bindings"; + container summary { + description + "DHCP server binding summary"; + uses IPV4-DHCPD-PROXY-BINDINGS-SUMMARY; + } + container clients { + description + "DHCP server client bindings"; + list client { + key "client-id"; + description + "Single DHCP Server binding"; + leaf client-id { + type xr:Cisco-ios-xr-string; + description + "Client ID"; + } + uses IPV4-DHCPD-PROXY-BINDING; + } + } + } + container disconnect-histories { + description + "DHCP server disconnect history"; + list disconnect-history { + key "index"; + description + "Single DHCP server disconnect history"; + leaf index { + type xr:Cisco-ios-xr-string; + description + "Index"; + } + uses IPV4-DHCPD-DISC-HISTORY; + } + } + container statistics-info { + description + "DHCP proxy stats info"; + uses IPV4-DHCPD-PROXY-STATS-INFO; + } + container vrfs { + description + "DHCP Server list of VRF names"; + list vrf { + key "vrf-name"; + description + "IPv4 DHCP server VRF name"; + container statistics { + description + "IPv4 DHCP server statistics"; + uses IPV4-DHCPD-PROXY-TYPE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + } + container relay { + description + "IPv4 DHCPD Relay operational data"; + container profiles { + description + "DHCP Relay Profiles"; + list profile { + key "profile-name"; + description + "DHCP Relay profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses IPV4-DHCPD-RELAY-PROFILE; + } + } + container statistics-info { + description + "DHCP relay statistics info"; + uses IPV4-DHCPD-RELAY-STATS-INFO; + } + container statistics { + description + "DHCP Relay VRF statistics"; + uses IPV4-DHCPD-RELAY-STATS; + } + container vrfs { + description + "DHCP relay list of VRF names"; + list vrf { + key "vrf-name"; + description + "IPv4 DHCP relay VRF name"; + container vrf-statistics { + description + "IPv4 DHCP relay statistics"; + uses IPV4-DHCPD-PROXY-TYPE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-filesystems-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-filesystems-cfg.yang new file mode 100644 index 000000000..c22381536 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-filesystems-cfg.yang @@ -0,0 +1,213 @@ +module Cisco-IOS-XR-ipv4-filesystems-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-filesystems-cfg"; + prefix ipv4-filesystems-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-filesystems package configuration. + + This module contains definitions + for the following management objects: + rcp: RCP configuration + ftp: FTP configuration + tftp: TFTP configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-11-28 { + description + "IOS XR 6.4.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping USERNAME { + description + "Common node of ftp-client, rcp-client"; + leaf username { + type string; + description + "Specify username for connections"; + } + } + + grouping SOURCE-INTERFACE { + description + "Common node of ftp-client, tftp-client, + rcp-client"; + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in + connections"; + } + } + + container rcp { + description + "RCP configuration"; + container rcp-client { + description + "RCP client configuration"; + uses USERNAME; + uses SOURCE-INTERFACE; + } + } + container ftp { + description + "FTP configuration"; + container ftp-client { + description + "FTP client configuration"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF specific data"; + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in + connections"; + } + leaf username { + type string; + description + "Specify username for connections"; + } + leaf anonymous-password { + type string; + description + "Password for anonymous user (ftp server + dependent)"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify password for ftp connnection"; + } + leaf passive { + type empty; + description + "Enable connect using passive mode"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF instance"; + } + } + } + leaf passive { + type empty; + description + "Enable connect using passive mode"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify password for ftp connnection"; + } + leaf anonymous-password { + type string; + description + "Password for anonymous user (ftp server + dependent)"; + } + uses USERNAME; + uses SOURCE-INTERFACE; + } + } + container tftp { + description + "TFTP configuration"; + container tftp-client { + description + "TFTP client configuration"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF specific data"; + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in + connections"; + } + leaf retry { + type uint32 { + range "0..256"; + } + description + "Specify the number of retries when client + requests TFTP connections"; + } + leaf timeout { + type uint32 { + range "0..256"; + } + units "second"; + description + "Specify the timeout for every TFTP connection + in seconds"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of the VRF instance"; + } + } + } + leaf retry { + type uint32 { + range "0..256"; + } + description + "Specify the number of retries when client + requests TFTP connections"; + } + leaf timeout { + type uint32 { + range "0..256"; + } + units "second"; + description + "Specify the timeout for every TFTP connection + in seconds"; + } + uses SOURCE-INTERFACE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-cfg.yang new file mode 100644 index 000000000..2df5cdcf5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-cfg.yang @@ -0,0 +1,911 @@ +module Cisco-IOS-XR-ipv4-hsrp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-hsrp-cfg"; + prefix ipv4-hsrp-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-hsrp package configuration. + + This module contains definitions + for the following management objects: + hsrp: HSRP configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-11-05 { + description + "Corrected boolean values in when statements."; + } + revision 2017-10-04 { + description + "Marked delay leafs min-delay and reload-delay as mandatory."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Hsrp-linklocal { + type enumeration { + enum "manual" { + value 0; + description + "Manual Linklocal address configuration"; + } + enum "auto" { + value 1; + description + "Automatic Linklocal address configuration"; + } + enum "legacy" { + value 2; + description + "Automatic legacy-compatible Linklocal address + configuration"; + } + } + description + "Hsrp linklocal"; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container hsrp { + description + "CISCO-HSRP-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable CISCO-HSRP-MIB notifications"; + } + } + } + container hsrp { + description + "HSRP configuration"; + container interfaces { + description + "Interface Table for HSRP configuration"; + list interface { + key "interface-name"; + description + "Per-interface HSRP configuration"; + container ipv6 { + description + "IPv6 HSRP configuration"; + container version2 { + description + "Version 2 HSRP configuration"; + container groups { + description + "The HSRP group configuration table"; + list group { + key "group-number"; + description + "The HSRP group being configured"; + container bfd { + description + "Enable use of Bidirectional Forwarding + Detection"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enable BFD for this remote IP"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name to run BFD"; + } + } + container tracked-interfaces { + description + "The HSRP tracked interface configuration + table"; + list tracked-interface { + key "interface-name"; + description + "Interface being tracked"; + leaf interface-name { + type xr:Interface-name; + description + "Interface being tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container tracked-objects { + description + "The HSRP tracked interface configuration + table"; + list tracked-object { + key "object-name"; + description + "Object being tracked"; + leaf object-name { + type xr:Cisco-ios-xr-string; + description + "Interface being tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container timers { + description + "Hello and hold timers"; + leaf hello-msec-flag { + type boolean; + default "false"; + description + "TRUE - Hello time configured in + milliseconds, FALSE - Hello time + configured in seconds"; + } + leaf hello-msec { + type uint32 { + range "100..3000"; + } + units "millisecond"; + description + "Hello time in msecs"; + } + leaf hello-sec { + type uint32 { + range "1..255"; + } + units "second"; + default "3"; + description + "Hello time in seconds"; + } + leaf hold-msec-flag { + type boolean; + default "false"; + description + "TRUE - Hold time configured in + milliseconds, FALSE - Hold time + configured in seconds"; + } + leaf hold-msec { + type uint32 { + range "100..3000"; + } + units "millisecond"; + description + "Hold time in msecs"; + } + leaf hold-sec { + type uint32 { + range "1..255"; + } + units "second"; + default "10"; + description + "Hold time in seconds"; + } + } + container link-local-ipv6-address { + presence "Contains mandatory nodes that used to set default values"; + description + "The HSRP IPv6 virtual linklocal address"; + leaf address { + when "../auto-configure = 'manual'" { + description + "../AutoConfigure = Manual"; + } + type inet:ipv6-address-no-zone; + description + "HSRP IPv6 virtual linklocal address"; + } + leaf auto-configure { + type Hsrp-linklocal; + mandatory true; + description + "Linklocal Configuration Type"; + } + } + container global-ipv6-addresses { + description + "The table of HSRP virtual global IPv6 + addresses"; + list global-ipv6-address { + key "address"; + description + "A HSRP virtual global IPv6 IP address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "HSRP virtual global IPv6 address"; + } + } + } + leaf priority { + type uint32 { + range "0..255"; + } + default "100"; + description + "Priority value"; + } + leaf preempt { + type uint32; + default "0"; + description + "Force active if higher priority"; + } + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "HSRP Session name (for MGO)"; + } + leaf virtual-mac-address { + type yang:mac-address; + description + "HSRP MAC address"; + } + leaf group-number { + type uint32 { + range "0..4095"; + } + description + "HSRP group number"; + } + } + } + } + container slave-groups { + description + "The HSRP slave group configuration table"; + list slave-group { + key "slave-group-number"; + description + "The HSRP slave group being configured"; + container link-local-ipv6-address { + presence "Contains mandatory nodes that used to set default values"; + description + "The HSRP IPv6 virtual linklocal address"; + leaf address { + when "../auto-configure = 'manual'" { + description + "../AutoConfigure = Manual"; + } + type inet:ipv6-address-no-zone; + description + "HSRP IPv6 virtual linklocal address"; + } + leaf auto-configure { + type Hsrp-linklocal; + mandatory true; + description + "Linklocal Configuration Type"; + } + } + container global-ipv6-addresses { + description + "The table of HSRP virtual global IPv6 + addresses"; + list global-ipv6-address { + key "address"; + description + "A HSRP virtual global IPv6 IP address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "HSRP virtual global IPv6 address"; + } + } + } + leaf follow { + type string; + description + "HSRP Group name for this slave to follow"; + } + leaf virtual-mac-address { + type yang:mac-address; + description + "HSRP MAC address"; + } + leaf slave-group-number { + type uint32 { + range "0..4095"; + } + description + "HSRP group number"; + } + } + } + } + container bfd { + description + "BFD configuration"; + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detection multiplier for BFD sessions created + by hsrp"; + } + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by + hsrp"; + } + } + container delay { + presence "Indicates a delay node is configured."; + description + "Minimum and Reload Delay"; + leaf minimum-delay { + type uint32 { + range "0..10000"; + } + units "second"; + mandatory true; + description + "Minimum delay in seconds"; + } + leaf reload-delay { + type uint32 { + range "0..10000"; + } + units "second"; + mandatory true; + description + "Reload delay in seconds"; + } + } + container ipv4 { + description + "IPv4 HSRP configuration"; + container slave-groups { + description + "The HSRP slave group configuration table"; + list slave-group { + key "slave-group-number"; + description + "The HSRP slave group being configured"; + container secondary-ipv4-addresses { + description + "Secondary HSRP IP address Table"; + list secondary-ipv4-address { + key "address"; + description + "Secondary HSRP IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "HSRP IP address"; + } + } + } + leaf follow { + type string; + description + "HSRP Group name for this slave to follow"; + } + leaf virtual-mac-address { + type yang:mac-address; + description + "HSRP MAC address"; + } + leaf primary-ipv4-address { + type inet:ipv4-address-no-zone; + description + "Primary HSRP IP address"; + } + leaf slave-group-number { + type uint32 { + range "0..4095"; + } + description + "HSRP group number"; + } + } + } + container version1 { + description + "Version 1 HSRP configuration"; + container groups { + description + "The HSRP group configuration table"; + list group { + key "group-number"; + description + "The HSRP group being configured"; + container tracked-interfaces { + description + "The HSRP tracked interface configuration + table"; + list tracked-interface { + key "interface-name"; + description + "Interface being tracked"; + leaf interface-name { + type xr:Interface-name; + description + "Interface being tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container bfd { + description + "Enable use of Bidirectional Forwarding + Detection"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enable BFD for this remote IP"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name to run BFD"; + } + } + container tracked-objects { + description + "The HSRP tracked interface configuration + table"; + list tracked-object { + key "object-name"; + description + "Object being tracked"; + leaf object-name { + type xr:Cisco-ios-xr-string; + description + "Interface being tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container timers { + description + "Hello and hold timers"; + leaf hello-msec-flag { + type boolean; + default "false"; + description + "TRUE - Hello time configured in + milliseconds, FALSE - Hello time + configured in seconds"; + } + leaf hello-msec { + type uint32 { + range "100..3000"; + } + units "millisecond"; + description + "Hello time in msecs"; + } + leaf hello-sec { + type uint32 { + range "1..255"; + } + units "second"; + default "3"; + description + "Hello time in seconds"; + } + leaf hold-msec-flag { + type boolean; + default "false"; + description + "TRUE - Hold time configured in + milliseconds, FALSE - Hold time + configured in seconds"; + } + leaf hold-msec { + type uint32 { + range "100..3000"; + } + units "millisecond"; + description + "Hold time in msecs"; + } + leaf hold-sec { + type uint32 { + range "1..255"; + } + units "second"; + default "10"; + description + "Hold time in seconds"; + } + } + container primary-ipv4-address { + description + "Primary HSRP IP address"; + leaf virtual-ip-learn { + type boolean; + description + "TRUE if the HSRP protocol is to learn the + virtual IP address it is to use"; + } + leaf address { + when "../virtual-ip-learn = 'false'" { + description + "../VirtualIPLearn = 'false'"; + } + type inet:ipv4-address-no-zone; + description + "HSRP IP address."; + } + } + container secondary-ipv4-addresses { + description + "Secondary HSRP IP address Table"; + list secondary-ipv4-address { + key "address"; + description + "Secondary HSRP IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "HSRP IP address"; + } + } + } + leaf authentication { + type string { + length "1..8"; + } + default "cisco"; + description + "Authentication string"; + } + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "HSRP Session name (for MGO)"; + } + leaf priority { + type uint32 { + range "0..255"; + } + default "100"; + description + "Priority value"; + } + leaf preempt { + type uint32; + default "0"; + description + "Force active if higher priority"; + } + leaf virtual-mac-address { + type yang:mac-address; + description + "HSRP MAC address"; + } + leaf group-number { + type uint32 { + range "0..255"; + } + description + "HSRP group number"; + } + } + } + } + container version2 { + description + "Version 2 HSRP configuration"; + container groups { + description + "The HSRP group configuration table"; + list group { + key "group-number"; + description + "The HSRP group being configured"; + container secondary-ipv4-addresses { + description + "Secondary HSRP IP address Table"; + list secondary-ipv4-address { + key "address"; + description + "Secondary HSRP IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "HSRP IP address"; + } + } + } + container bfd { + description + "Enable use of Bidirectional Forwarding + Detection"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enable BFD for this remote IP"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name to run BFD"; + } + } + container primary-ipv4-address { + description + "Primary HSRP IP address"; + leaf virtual-ip-learn { + type boolean; + description + "TRUE if the HSRP protocol is to learn the + virtual IP address it is to use"; + } + leaf address { + when "../virtual-ip-learn = 'false'" { + description + "../VirtualIPLearn = 'false'"; + } + type inet:ipv4-address-no-zone; + description + "HSRP IP address."; + } + } + container tracked-objects { + description + "The HSRP tracked interface configuration + table"; + list tracked-object { + key "object-name"; + description + "Object being tracked"; + leaf object-name { + type xr:Cisco-ios-xr-string; + description + "Interface being tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container tracked-interfaces { + description + "The HSRP tracked interface configuration + table"; + list tracked-interface { + key "interface-name"; + description + "Interface being tracked"; + leaf interface-name { + type xr:Interface-name; + description + "Interface being tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container timers { + description + "Hello and hold timers"; + leaf hello-msec-flag { + type boolean; + default "false"; + description + "TRUE - Hello time configured in + milliseconds, FALSE - Hello time + configured in seconds"; + } + leaf hello-msec { + type uint32 { + range "100..3000"; + } + units "millisecond"; + description + "Hello time in msecs"; + } + leaf hello-sec { + type uint32 { + range "1..255"; + } + units "second"; + default "3"; + description + "Hello time in seconds"; + } + leaf hold-msec-flag { + type boolean; + default "false"; + description + "TRUE - Hold time configured in + milliseconds, FALSE - Hold time + configured in seconds"; + } + leaf hold-msec { + type uint32 { + range "100..3000"; + } + units "millisecond"; + description + "Hold time in msecs"; + } + leaf hold-sec { + type uint32 { + range "1..255"; + } + units "second"; + default "10"; + description + "Hold time in seconds"; + } + } + leaf preempt { + type uint32; + default "0"; + description + "Force active if higher priority"; + } + leaf priority { + type uint32 { + range "0..255"; + } + default "100"; + description + "Priority value"; + } + leaf virtual-mac-address { + type yang:mac-address; + description + "HSRP MAC address"; + } + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "HSRP Session name (for MGO)"; + } + leaf group-number { + type uint32 { + range "0..4095"; + } + description + "HSRP group number"; + } + } + } + } + } + leaf mac-refresh { + type uint32 { + range "0..10000"; + } + default "60"; + description + "HSRP MGO slave MAC refresh rate"; + } + leaf use-bia { + type empty; + description + "Use burned-in address"; + } + leaf redirects-disable { + type empty; + description + "Disable HSRP filtered ICMP redirects"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container logging { + description + "HSRP logging options"; + leaf state-change-disable { + type empty; + description + "HSRP state change IOS messages disable"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper-sub1.yang new file mode 100644 index 000000000..00adf56cf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper-sub1.yang @@ -0,0 +1,1404 @@ +submodule Cisco-IOS-XR-ipv4-hsrp-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-hsrp-oper { + prefix Cisco-IOS-XR-ipv4-hsrp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-hsrp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-07 { + description + "Moved group numbers to a range."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Hsrp-vmac-state { + type enumeration { + enum "stored" { + value 0; + description + "VMAC stored locally"; + } + enum "reserved" { + value 1; + description + "VMAC reserved in mac table"; + } + enum "active" { + value 2; + description + "VMAC active in mac table"; + } + enum "reserving" { + value 3; + description + "VMAC not yet reserved in mac table"; + } + } + description + "Hsrp vmac state"; + } + + typedef Hsrp-state-change-reason { + type enumeration { + enum "state-change-bfd-down" { + value 0; + description + "BFD session down"; + } + enum "state-change-vip-learnt" { + value 1; + description + "Virtual IP learnt"; + } + enum "state-change-interface-ip" { + value 2; + description + "Interface IP update"; + } + enum "state-change-delay-timer" { + value 3; + description + "Delay timer expired"; + } + enum "state-change-startup" { + value 4; + description + "Ready on startup"; + } + enum "state-change-shutdown" { + value 5; + description + "HSRP shut down"; + } + enum "state-change-interface-up" { + value 6; + description + "Interface Up update"; + } + enum "state-change-interface-down" { + value 7; + description + "Interface Down update"; + } + enum "state-change-active-timer" { + value 8; + description + "Active timer expired"; + } + enum "state-change-standby-timer" { + value 9; + description + "Standby timer expired"; + } + enum "state-change-resign" { + value 10; + description + "Resign received"; + } + enum "state-change-coup" { + value 11; + description + "Coup received"; + } + enum "state-change-higher-priority-speak" { + value 12; + description + "Higher priority speak received"; + } + enum "state-change-higher-priority-standby" { + value 13; + description + "Higher priority standby received"; + } + enum "state-change-lower-priority-standby" { + value 14; + description + "Lower priority standby received"; + } + enum "state-change-higher-priority-active" { + value 15; + description + "Higher priority active received"; + } + enum "state-change-lower-priority-active" { + value 16; + description + "Lower priority active received"; + } + enum "state-change-virtual-ip-configured" { + value 17; + description + "Virtual IP configured"; + } + enum "state-change-virtual-ip-lost" { + value 18; + description + "Virtual IP lost"; + } + enum "state-change-recovered-from-checkpoint" { + value 19; + description + "Recovered from checkpoint"; + } + enum "state-change-mac-update" { + value 20; + description + "MAC address update"; + } + enum "state-change-admin" { + value 21; + description + "Forwarder Admin state change"; + } + enum "state-change-parent" { + value 22; + description + "MGO parent change"; + } + enum "state-change-chkpt-update" { + value 23; + description + "Checkpoint update from Primary HSRP instance"; + } + enum "state-change-issu-resync" { + value 24; + description + "Resync following ISSU primary event"; + } + enum "state-change-reset-to-learn" { + value 25; + description + "Reset to learn parameters"; + } + enum "state-change-max" { + value 26; + description + "Maximum reason in enumeration"; + } + } + description + "Hsrp state change reason"; + } + + typedef Hsrp-bfd-session-state { + type enumeration { + enum "bfd-state-none" { + value 0; + description + "None"; + } + enum "bfd-state-inactive" { + value 1; + description + "Inactive"; + } + enum "bfd-state-up" { + value 2; + description + "Up"; + } + enum "bfd-state-down" { + value 3; + description + "Down"; + } + } + description + "Hsrp bfd session state"; + } + + typedef Standby-grp-state { + type enumeration { + enum "state-initial" { + value 1; + description + "Initial"; + } + enum "state-learn" { + value 2; + description + "Learn"; + } + enum "state-listen" { + value 3; + description + "Listen"; + } + enum "state-speak" { + value 4; + description + "Speak"; + } + enum "state-standby" { + value 5; + description + "Standby"; + } + enum "state-active" { + value 6; + description + "Active"; + } + } + description + "Standby grp state"; + } + + typedef Hsrp-version { + type uint8; + description + "Hsrp version"; + } + + typedef Hsrp-b-af { + type enumeration { + enum "ipv4" { + description + "IPv4 Address Family"; + } + enum "ipv6" { + description + "IPv6 Address Family"; + } + enum "count" { + description + "The number of supported address families"; + } + } + description + "Hsrp b af"; + } + + grouping HSRP-SUMMARY-INFO { + description + "HSRP summary statistics"; + leaf ipv4-sessions-active { + type uint32; + description + "Number of IPv4 sessions in ACTIVE state"; + } + leaf ipv4-sessions-standby { + type uint32; + description + "Number of IPv4 sessions in STANDBY state"; + } + leaf ipv4-sessions-speak { + type uint32; + description + "Number of IPv4 sessions in SPEAK state"; + } + leaf ipv4-sessions-listen { + type uint32; + description + "Number of IPv4 sessions in LISTEN state"; + } + leaf ipv4-sessions-learn { + type uint32; + description + "Number of IPv4 sessions in LEARN state"; + } + leaf ipv4-sessions-init { + type uint32; + description + "Number of IPv4 sessions in INIT state"; + } + leaf ipv4-slaves-active { + type uint32; + description + "Number of IPv4 slaves in ACTIVE state"; + } + leaf ipv4-slaves-standby { + type uint32; + description + "Number of IPv4 slaves in STANDBY state"; + } + leaf ipv4-slaves-speak { + type uint32; + description + "Number of IPv4 slaves in SPEAK state"; + } + leaf ipv4-slaves-listen { + type uint32; + description + "Number of IPv4 slaves in LISTEN state"; + } + leaf ipv4-slaves-learn { + type uint32; + description + "Number of IPv4 slaves in LEARN state"; + } + leaf ipv4-slaves-init { + type uint32; + description + "Number of IPv4 slaves in INIT state"; + } + leaf ipv4-virtual-ip-addresses-active-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on groups + in ACTIVE state"; + } + leaf ipv4-virtual-ip-addresses-active-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + groups in ACTIVE state"; + } + leaf ipv4-virtual-ip-addresses-standby-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on groups + in STANDBY state"; + } + leaf ipv4-virtual-ip-addresses-standby-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + groups in STANDBY state"; + } + leaf ipv4-virtual-ip-addresses-speak-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on groups + in SPEAK state"; + } + leaf ipv4-virtual-ip-addresses-speak-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + groups in SPEAK state"; + } + leaf ipv4-virtual-ip-addresses-listen-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on groups + in LISTEN state"; + } + leaf ipv4-virtual-ip-addresses-listen-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + groups in LISTEN state"; + } + leaf ipv4-virtual-ip-addresses-learn-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on groups + in LEARN state"; + } + leaf ipv4-virtual-ip-addresses-learn-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + groups in LEARN state"; + } + leaf ipv4-virtual-ip-addresses-init-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on groups + in INIT state"; + } + leaf ipv4-virtual-ip-addresses-init-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + groups in INIT state"; + } + leaf ipv6-sessions-active { + type uint32; + description + "Number of IPv6 sessions in ACTIVE state"; + } + leaf ipv6-sessions-standby { + type uint32; + description + "Number of IPv6 sessions in STANDBY state"; + } + leaf ipv6-sessions-speak { + type uint32; + description + "Number of IPv6 sessions in SPEAK state"; + } + leaf ipv6-sessions-listen { + type uint32; + description + "Number of IPv6 sessions in LISTEN state"; + } + leaf ipv6-sessions-learn { + type uint32; + description + "Number of IPv6 sessions in LEARN state"; + } + leaf ipv6-sessions-init { + type uint32; + description + "Number of IPv6 sessions in INIT state"; + } + leaf ipv6-slaves-active { + type uint32; + description + "Number of IPv6 slaves in ACTIVE state"; + } + leaf ipv6-slaves-standby { + type uint32; + description + "Number of IPv6 slaves in STANDBY state"; + } + leaf ipv6-slaves-speak { + type uint32; + description + "Number of IPv6 slaves in SPEAK state"; + } + leaf ipv6-slaves-listen { + type uint32; + description + "Number of IPv6 slaves in LISTEN state"; + } + leaf ipv6-slaves-learn { + type uint32; + description + "Number of IPv6 slaves in LEARN state"; + } + leaf ipv6-slaves-init { + type uint32; + description + "Number of IPv6 slaves in INIT state"; + } + leaf ipv6-virtual-ip-addresses-active-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on groups + in ACTIVE state"; + } + leaf ipv6-virtual-ip-addresses-active-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + groups in ACTIVE state"; + } + leaf ipv6-virtual-ip-addresses-standby-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on groups + in STANDBY state"; + } + leaf ipv6-virtual-ip-addresses-standby-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + groups in STANDBY state"; + } + leaf ipv6-virtual-ip-addresses-speak-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on groups + in SPEAK state"; + } + leaf ipv6-virtual-ip-addresses-speak-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + groups in SPEAK state"; + } + leaf ipv6-virtual-ip-addresses-listen-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on groups + in LISTEN state"; + } + leaf ipv6-virtual-ip-addresses-listen-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + groups in LISTEN state"; + } + leaf ipv6-virtual-ip-addresses-learn-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on groups + in LEARN state"; + } + leaf ipv6-virtual-ip-addresses-learn-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + groups in LEARN state"; + } + leaf ipv6-virtual-ip-addresses-init-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on groups + in INIT state"; + } + leaf ipv6-virtual-ip-addresses-init-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + groups in INIT state"; + } + leaf interfaces-ipv4-state-up { + type uint32; + description + "Number of HSRP interfaces with IPv4 caps in UP + state"; + } + leaf interfaces-ipv4-state-down { + type uint32; + description + "Number of HSRP interfaces with IPv4 caps in DOWN + state"; + } + leaf tracked-interfaces-ipv4-state-up { + type uint32; + description + "Number of tracked interfaces with IPv4 caps in + UP state"; + } + leaf tracked-interfaces-ipv4-state-down { + type uint32; + description + "Number of tracked interfaces with IPv4 caps in + DOWN state"; + } + leaf tracked-objects-up { + type uint32; + description + "Number of tracked objects in UP state"; + } + leaf tracked-objects-down { + type uint32; + description + "Number of tracked objects in DOWN state"; + } + leaf interfaces-ipv6-state-up { + type uint32; + description + "Number of HSRP interfaces with IPv6 caps in UP + state"; + } + leaf interfaces-ipv6-state-down { + type uint32; + description + "Number of HSRP interfaces with IPv6 caps in DOWN + state"; + } + leaf tracked-interfaces-ipv6-state-up { + type uint32; + description + "Number of tracked interfaces with IPv6 caps in + UP state"; + } + leaf tracked-interfaces-ipv6-state-down { + type uint32; + description + "Number of tracked interfaces with IPv6 caps in + DOWN state"; + } + leaf bfd-sessions-up { + type uint32; + description + "Number of HSRP BFD sessions in UP state"; + } + leaf bfd-sessions-down { + type uint32; + description + "Number of HSRP BFD sessions in DOWN state"; + } + leaf bfd-session-inactive { + type uint32; + description + "Number of HSRP BFD sessions in INACTIVE state"; + } + } + + grouping HSRP-BFD-GROUP-INFO { + description + "BFD Group Information"; + leaf interface-name { + type string { + length "0..80"; + } + description + "Interface Name"; + } + leaf hsrp-group-number { + type uint32; + description + "HSRP Group number"; + } + } + + grouping STANDBY-BFD-INFO { + description + "BFD session information"; + leaf bfd-interface-name { + type string { + length "0..80"; + } + description + "BFD Interface Name"; + } + leaf session-address-family { + type Hsrp-b-af; + description + "Session Address family"; + } + leaf destination-address { + type inet:ipv4-address; + description + "BFD destination address"; + } + leaf destination-ipv6-address { + type inet:ipv6-address; + description + "BFD IPv6 destination address"; + } + leaf bfd-session-state { + type Hsrp-bfd-session-state; + description + "BFD session state"; + } + leaf bfd-interval { + type uint32; + description + "BFD packet send interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + list group { + description + "HSRP Groups tracking the BFD session"; + uses HSRP-BFD-GROUP-INFO; + } + } + + grouping HSRP-SLAVE-INFO-TYPE { + description + "Slave info"; + leaf slave-group-interface { + type string { + length "0..80"; + } + description + "Interface of slave group"; + } + leaf slave-group-number { + type uint32; + description + "Group number of slave group"; + } + } + + grouping HSRP-MGO-INFO { + description + "MGO group data"; + leaf primary-session-name { + type string { + length "0..16"; + } + description + "Session Name"; + } + leaf primary-session-interface { + type xr:Interface-name; + description + "Interface of primary session"; + } + leaf primary-af-name { + type Hsrp-b-af; + description + "Address family of primary session"; + } + leaf primary-session-number { + type uint32; + description + "Group number of primary session"; + } + leaf primary-session-state { + type Standby-grp-state; + description + "State of primary session"; + } + list slave { + description + "List of slaves following this primary session"; + uses HSRP-SLAVE-INFO-TYPE; + } + } + + grouping HSRP-IF-STATS-TYPE { + description + "HSRP Interface Statistics"; + leaf advert-packets-sent { + type uint32; + description + "Number of advertisement packets sent"; + } + leaf advert-packets-received { + type uint32; + description + "Number of advertisement packets received"; + } + leaf long-packets-received { + type uint32; + description + "Number of packets received that were too Long"; + } + leaf short-packets-received { + type uint32; + description + "Number of packets received that were too short"; + } + leaf invalid-version-received { + type uint32; + description + "Number of packets received with invalid version"; + } + leaf invalid-operation-code-received { + type uint32; + description + "Number of packets received with invalid + operation code"; + } + leaf unknown-group-received { + type uint32; + description + "Number of packets received for an unknown group + id"; + } + leaf inoperational-group-received { + type uint32; + description + "Number of packets received for an inoperational + group"; + } + leaf conflict-source-ip-address-received { + type uint32; + description + "Number of packets received from a conflicting + Source IP address"; + } + } + + grouping STANDBY-IF-INFO { + description + "Use burnt in mac address information"; + container statistics { + description + "HSRP Interface Statistics"; + uses HSRP-IF-STATS-TYPE; + } + leaf interface { + type xr:Interface-name; + description + "IM Interface"; + } + leaf use-bia-flag { + type boolean; + description + "Use burnt in mac address flag"; + } + } + + grouping STANDBY-TRACKEDIF-INFO { + description + "Interface tracking information"; + leaf interface { + type xr:Interface-name; + description + "IM Interface"; + } + leaf hsrp-group-number { + type uint32; + description + "HSRP Group number"; + } + leaf priority-decrement { + type uint32; + description + "Priority weighting"; + } + leaf interface-up-flag { + type boolean; + description + "Interface up flag"; + } + leaf tracked-interface-name-xr { + type string { + length "0..80"; + } + description + "Tracked Interface Name"; + } + leaf is-object { + type boolean; + description + "Tracked Object Flag"; + } + } + + grouping HSRP-GROUP-STATS-TYPE { + description + "HSRP Group Statistics"; + leaf active-transitions { + type uint32; + description + "Number of transitions to Active State"; + } + leaf standby-transitions { + type uint32; + description + "Number of transitions to Standby State"; + } + leaf speak-transitions { + type uint32; + description + "Number of transitions to Speak State"; + } + leaf listen-transitions { + type uint32; + description + "Number of transitions to Listen State"; + } + leaf learn-transitions { + type uint32; + description + "Number of transitions to Learn State"; + } + leaf init-transitions { + type uint32; + description + "Number of transitions to Init State"; + } + leaf hello-packets-sent { + type uint32; + description + "Number of Hello Packets sent (NB: Bundles only)"; + } + leaf resign-packets-sent { + type uint32; + description + "Number of Resign Packets sent"; + } + leaf coup-packets-sent { + type uint32; + description + "Number of Coup Packets sent"; + } + leaf hello-packets-received { + type uint32; + description + "Number of Hello Packets received"; + } + leaf resign-packets-received { + type uint32; + description + "Number of Resign Packets received"; + } + leaf coup-packets-received { + type uint32; + description + "Number of Coup Packets received"; + } + leaf auth-fail-received { + type uint32; + description + "Number of Packets received that failed + authentication"; + } + leaf invalid-timer-received { + type uint32; + description + "Number of packets received with invalid Hello + Time value"; + } + leaf mismatch-virtual-ip-address-received { + type uint32; + description + "Number of packets received with mismatching + virtual IP address"; + } + } + + grouping HSRP-STATE-CHANGE-INFO-TYPE { + description + "State change info"; + container time { + description + "Time of state change"; + uses HSRP-BAG-TIMESTAMP; + } + leaf old-state { + type Standby-grp-state; + description + "Old State"; + } + leaf new-state { + type Standby-grp-state; + description + "New State"; + } + leaf reason { + type Hsrp-state-change-reason; + description + "Reason for state change"; + } + } + + grouping HSRP-BAG-TIMESTAMP { + description + "Timestamp"; + leaf seconds { + type uint32; + units "second"; + description + "Seconds"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "Nanoseconds"; + } + } + + grouping IPV6-BAG-ADDR { + description + "IPV6 BAG ADDR"; + leaf ipv6-address { + type inet:ipv6-address; + description + "IPV6Address"; + } + } + + grouping STANDBY-GRP-INFO { + description + "Detailed group specfic information"; + container resign-sent-time { + description + "Time last resign was sent"; + uses HSRP-BAG-TIMESTAMP; + } + container resign-received-time { + description + "Time last resign was received"; + uses HSRP-BAG-TIMESTAMP; + } + container coup-sent-time { + description + "Time last coup was sent"; + uses HSRP-BAG-TIMESTAMP; + } + container coup-received-time { + description + "Time last coup was received"; + uses HSRP-BAG-TIMESTAMP; + } + container statistics { + description + "HSRP Group statistics"; + uses HSRP-GROUP-STATS-TYPE; + } + leaf authentication-string { + type string { + length "0..9"; + } + description + "Authentication string"; + } + leaf virtual-mac-address { + type yang:mac-address; + description + "Virtual mac address"; + } + leaf hsrp-group-number { + type uint32; + description + "HSRP Group number"; + } + leaf address-family { + type Hsrp-b-af; + description + "Address family"; + } + leaf version { + type Hsrp-version; + description + "HSRP Protocol Version"; + } + leaf session-name { + type string { + length "0..16"; + } + description + "Session Name"; + } + leaf slaves { + type uint32; + description + "Number of slaves following state"; + } + leaf is-slave { + type boolean; + description + "Group is a slave group"; + } + leaf followed-session-name { + type string { + length "0..16"; + } + description + "Followed Session Name"; + } + leaf configured-priority { + type uint8; + description + "Configured priority"; + } + leaf preempt-delay { + type uint32; + units "second"; + description + "Preempt delay time in seconds"; + } + leaf preempt-timer-secs { + type uint32; + units "second"; + description + "Preempt time remaining in seconds"; + } + leaf hello-time { + type uint32; + units "millisecond"; + description + "Hellotime in msecs"; + } + leaf hold-time { + type uint32; + units "millisecond"; + description + "Holdtime in msecs"; + } + leaf learned-hello-time { + type uint32; + units "millisecond"; + description + "Learned hellotime in msecs"; + } + leaf learned-hold-time { + type uint32; + units "millisecond"; + description + "Learned holdtime in msecs"; + } + leaf min-delay-time { + type uint32; + units "millisecond"; + description + "Minimum delay time in msecs"; + } + leaf reload-delay-time { + type uint32; + units "millisecond"; + description + "Reload delay time in msecs"; + } + leaf virtual-ip-address { + type inet:ipv4-address; + description + "Configured Virtual IPv4 address"; + } + leaf virtual-linklocal-ipv6-address { + type inet:ipv6-address; + description + "Virtual linklocal IPv6 address"; + } + leaf active-ip-address { + type inet:ipv4-address; + description + "Active router's IP address"; + } + leaf active-ipv6-address { + type inet:ipv6-address; + description + "Active router's IPv6 address"; + } + leaf active-mac-address { + type yang:mac-address; + description + "Active router's interface MAC address"; + } + leaf standby-ip-address { + type inet:ipv4-address; + description + "Standby router's IP address"; + } + leaf standby-ipv6-address { + type inet:ipv6-address; + description + "Standby router's IPv6 address"; + } + leaf standby-mac-address { + type yang:mac-address; + description + "Standby router's interface MAC address"; + } + leaf hsrp-router-state { + type Standby-grp-state; + description + "HSRP router state"; + } + leaf interface-name-xr { + type string { + length "0..80"; + } + description + "Interface Name"; + } + leaf interface { + type xr:Interface-name; + description + "IM Interface"; + } + leaf router-priority { + type uint8; + description + "Priority of the router"; + } + leaf active-priority { + type uint8; + description + "Priority of the Active router"; + } + leaf active-timer-flag { + type boolean; + description + "Active timer running flag"; + } + leaf active-timer-secs { + type uint32; + units "second"; + description + "Active timer running time secs"; + } + leaf active-timer-msecs { + type uint32; + units "millisecond"; + description + "Active timer running time msecs"; + } + leaf standby-timer-flag { + type boolean; + description + "Standby timer running flag"; + } + leaf standby-timer-secs { + type uint32; + units "second"; + description + "Standby timer running time secs"; + } + leaf standby-timer-msecs { + type uint32; + units "millisecond"; + description + "Standby timer running time msecs"; + } + leaf hello-timer-flag { + type boolean; + description + "Hello timer running flag"; + } + leaf hello-timer-secs { + type uint32; + units "second"; + description + "Hello timer running time secs"; + } + leaf hello-timer-msecs { + type uint32; + units "millisecond"; + description + "Hello timer running time msecs"; + } + leaf delay-timer-flag { + type boolean; + description + "Delay timer running flag"; + } + leaf delay-timer-secs { + type uint32; + units "second"; + description + "Delay timer running time secs"; + } + leaf delay-timer-msecs { + type uint32; + units "millisecond"; + description + "Delay timer running time msecs"; + } + leaf current-state-timer-secs { + type uint32; + units "second"; + description + "Time in current state secs"; + } + leaf state-change-count { + type uint32; + description + "Number of state changes"; + } + leaf tracked-interface-count { + type uint32; + description + "Number of tracked interfaces"; + } + leaf tracked-interface-up-count { + type uint32; + description + "Number of tracked interfaces up"; + } + leaf preempt-enabled { + type boolean; + description + "Preempt enabled"; + } + leaf use-configured-timers { + type boolean; + description + "Use configured timers"; + } + leaf use-configured-virtual-ip { + type boolean; + description + "Use configured virtual IP"; + } + leaf use-bia-configured { + type boolean; + description + "Use burnt in MAC address configured"; + } + leaf configured-timers { + type boolean; + description + "Non-default timers are configured"; + } + leaf configured-mac-address { + type boolean; + description + "MAC address configured"; + } + leaf redirects-disabled { + type boolean; + description + "HSRP redirects disabled"; + } + leaf bfd-enabled { + type boolean; + description + "HSRP BFD fast failover"; + } + leaf bfd-interface { + type xr:Interface-name; + description + "BFD Interface"; + } + leaf bfd-peer-ip-address { + type inet:ipv4-address; + description + "BFD Peer IP address"; + } + leaf bfd-peer-ipv6-address { + type inet:ipv6-address; + description + "BFD Peer IPv6 address"; + } + leaf bfd-session-state { + type Hsrp-bfd-session-state; + description + "BFD session state"; + } + leaf bfd-interval { + type uint32; + description + "BFD packet send interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + leaf virtual-mac-address-state { + type Hsrp-vmac-state; + description + "Virtual mac address state"; + } + leaf-list secondary-address { + type inet:ipv4-address; + description + "Secondary virtual IP addresses"; + } + list global-address { + description + "Global virtual IPv6 addresses"; + uses IPV6-BAG-ADDR; + } + list state-change-history { + description + "State change history"; + uses HSRP-STATE-CHANGE-INFO-TYPE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper.yang new file mode 100644 index 000000000..1127a2e61 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-hsrp-oper.yang @@ -0,0 +1,247 @@ +module Cisco-IOS-XR-ipv4-hsrp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-hsrp-oper"; + prefix ipv4-hsrp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-hsrp-oper-sub1 { + revision-date 2022-03-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-hsrp package operational data. + + This module contains definitions + for the following management objects: + hsrp: HSRP operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-07 { + description + "Moved group numbers to a range."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Hsrp-group { + type uint32 { + range "0..4095"; + } + description + "Hsrp group"; + } + + container hsrp { + config false; + description + "HSRP operational data"; + container ipv4 { + description + "IPv4 HSRP information"; + container groups { + description + "The HSRP standby group table"; + list group { + key "interface-name group-number"; + description + "An HSRP standby group"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + leaf group-number { + type Hsrp-group; + description + "The HSRP group number"; + } + uses STANDBY-GRP-INFO; + } + } + container tracked-interfaces { + description + "The HSRP tracked interfaces table"; + list tracked-interface { + key "interface-name group-number tracked-interface-name"; + description + "An HSRP tracked interface entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name of the interface"; + } + leaf group-number { + type Hsrp-group; + description + "The HSRP group number"; + } + leaf tracked-interface-name { + type xr:Interface-name; + description + "The interface name of the interface being + tracked"; + } + uses STANDBY-TRACKEDIF-INFO; + } + } + container interfaces { + description + "The HSRP interface information table"; + list interface { + key "interface-name"; + description + "A HSRP interface entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + uses STANDBY-IF-INFO; + } + } + } + container mgo-sessions { + description + "HSRP MGO session table"; + list mgo-session { + key "session-name"; + description + "HSRP MGO session"; + leaf session-name { + type xr:Cisco-ios-xr-string; + description + "HSRP MGO session name"; + } + uses HSRP-MGO-INFO; + } + } + container ipv6 { + description + "IPv6 HSRP information"; + container tracked-interfaces { + description + "The HSRP tracked interfaces table"; + list tracked-interface { + key "interface-name group-number tracked-interface-name"; + description + "An HSRP tracked interface entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name of the interface"; + } + leaf group-number { + type Hsrp-group; + description + "The HSRP group number"; + } + leaf tracked-interface-name { + type xr:Interface-name; + description + "The interface name of the interface being + tracked"; + } + uses STANDBY-TRACKEDIF-INFO; + } + } + container groups { + description + "The HSRP standby group table"; + list group { + key "interface-name group-number"; + description + "An HSRP standby group"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + leaf group-number { + type Hsrp-group; + description + "The HSRP group number"; + } + uses STANDBY-GRP-INFO; + } + } + container interfaces { + description + "The HSRP interface information table"; + list interface { + key "interface-name"; + description + "A HSRP interface entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + uses STANDBY-IF-INFO; + } + } + } + container bfd-sessions { + description + "The table of HSRP BFD Sessions"; + list bfd-session { + key "interface-name ip-address"; + description + "An HSRP BFD Session"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "Destination IP Address of BFD Session"; + } + uses STANDBY-BFD-INFO; + } + } + container summary { + description + "HSRP summary statistics"; + uses HSRP-SUMMARY-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-cfg.yang new file mode 100644 index 000000000..b3fc422f2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-cfg.yang @@ -0,0 +1,775 @@ +module Cisco-IOS-XR-ipv4-igmp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-igmp-cfg"; + prefix ipv4-igmp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-igmp package configuration. + + This module contains definitions + for the following management objects: + igmp: IGMPconfiguration + amt: AMT Relay configuration + mld: MLD configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2016-10-10 { + description + "Removed invalid configs from VRF container"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igmp-filter { + type enumeration { + enum "include" { + value 0; + description + "Include"; + } + enum "exclude" { + value 1; + description + "Exclude"; + } + enum "star-g" { + value 2; + description + "StarG"; + } + } + description + "Igmp filter"; + } + + grouping MAXIMUM-GROUPS-PER-INTERFACE-OOR { + description + "Common node of inheritable-defaults, interface"; + container maximum-groups-per-interface-oor { + presence "Indicates a maximum-groups-per-interface-oor node is configured."; + description + "Configure maximum number of groups accepted per + interface by this router"; + leaf maximum-groups { + type uint32 { + range "1..40000"; + } + mandatory true; + description + "Maximum number of groups accepted per interface + by this router"; + } + leaf warning-threshold { + type uint32 { + range "1..40000"; + } + default "25000"; + description + " WarningThreshold for number of groups accepted + per interface by this router"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list to account for"; + } + } + } + + grouping VRF-TABLE { + description + "Common node of mld, igmp"; + container vrfs { + description + "VRF related configuration"; + list vrf { + key "vrf-name"; + description + "Configuration for a particular vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name for this vrf"; + } + uses TRAFFIC; + uses INHERITABLE-DEFAULTS; + uses SSM-ACCESS-GROUP-TABLE; + uses MAXIMUM; + uses SSMDNS-QUERY-GROUP; + uses INTERFACE-TABLE; + uses ROBUSTNESS; + } + } + } + + grouping TRAFFIC { + description + "Common node of vrf, default-context"; + container traffic { + description + "Configure IGMP Traffic variables"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Configure the route-policy profile"; + } + } + } + + grouping INHERITABLE-DEFAULTS { + description + "Common node of vrf, default-context"; + container inheritable-defaults { + description + "Inheritable Defaults"; + uses MAXIMUM-GROUPS-PER-INTERFACE-OOR; + uses QUERY-TIMEOUT; + uses ACCESS-GROUP; + uses QUERY-MAX-RESPONSE-TIME; + uses VERSION; + uses ROUTER-ENABLE; + uses QUERY-INTERVAL; + uses EXPLICIT-TRACKING; + } + } + + grouping ROBUSTNESS { + description + "Common node of vrf, default-context"; + leaf robustness { + type uint32 { + range "2..10"; + } + default "2"; + description + "Configure IGMP Robustness variable"; + } + } + + grouping VERSION { + description + "Common node of inheritable-defaults, interface"; + leaf version { + type uint32 { + range "1..3"; + } + default "3"; + description + "Version number"; + } + } + + grouping MAXIMUM { + description + "Common node of vrf, default-context"; + container maximum { + description + "Configure IGMP State Limits"; + leaf maximum-groups { + type uint32 { + range "1..75000"; + } + default "50000"; + description + "Configure maximum number of groups accepted by + this router"; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container interfaces { + description + "Interface-level configuration"; + list interface { + key "interface-name"; + description + "The name of the interface"; + container join-groups { + presence "Indicates a join-groups node is configured."; + description + "IGMP join multicast group"; + + grouping JOIN-GROUP-CONTENT { + description + "JOIN GROUP CONTENT"; + leaf mode { + type Igmp-filter; + mandatory true; + description + "Filter mode"; + } + } + list join-group { + key "group-address"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + uses JOIN-GROUP-CONTENT; + } + list join-group-source-address { + key "group-address source-address"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Optional IP source address"; + } + uses JOIN-GROUP-CONTENT; + } + } + container static-group-group-addresses { + description + "IGMP static multicast group"; + + grouping STATIC-GROUP-CONTENT { + description + "STATIC GROUP CONTENT"; + leaf group-count { + type uint32 { + range "1..512"; + } + mandatory true; + description + "Number of groups to join (do not set without + GroupAddressMask)"; + } + leaf source-count { + type uint32 { + range "1..512"; + } + mandatory true; + description + "Number of sources to join (do not set + without SourceAddressMask)"; + } + leaf suppress-report { + type boolean; + mandatory true; + description + "Suppress reports"; + } + } + list static-group-group-address { + key "group-address"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + uses STATIC-GROUP-CONTENT; + } + list static-group-group-address-source-address { + key "group-address source-address"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "IP source address"; + } + uses STATIC-GROUP-CONTENT; + } + list static-group-group-address-source-address-source-address-mask { + key "group-address source-address source-address-mask"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "IP source address"; + } + leaf source-address-mask { + type inet:ip-address-no-zone; + description + "Mask for Source Address"; + } + uses STATIC-GROUP-CONTENT; + } + list static-group-group-address-group-address-mask { + key "group-address group-address-mask"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + leaf group-address-mask { + type inet:ip-address-no-zone; + description + "Mask for Group Address"; + } + uses STATIC-GROUP-CONTENT; + } + list static-group-group-address-group-address-mask-source-address { + key "group-address group-address-mask source-address"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + leaf group-address-mask { + type inet:ip-address-no-zone; + description + "Mask for Group Address"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "IP source address"; + } + uses STATIC-GROUP-CONTENT; + } + list static-group-group-address-group-address-mask-source-address-source-address-mask { + key "group-address group-address-mask source-address source-address-mask"; + description + "IP group address and optional source address + to include"; + leaf group-address { + type inet:ip-address-no-zone; + description + "IP group address"; + } + leaf group-address-mask { + type inet:ip-address-no-zone; + description + "Mask for Group Address"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "IP source address"; + } + leaf source-address-mask { + type inet:ip-address-no-zone; + description + "Mask for Source Address"; + } + uses STATIC-GROUP-CONTENT; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses MAXIMUM-GROUPS-PER-INTERFACE-OOR; + uses QUERY-TIMEOUT; + uses ACCESS-GROUP; + uses QUERY-MAX-RESPONSE-TIME; + uses VERSION; + uses ROUTER-ENABLE; + uses QUERY-INTERVAL; + uses EXPLICIT-TRACKING; + } + } + } + + grouping ACCESS-GROUP { + description + "Common node of inheritable-defaults, interface"; + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access list specifying access group range"; + } + } + + grouping SSM-ACCESS-GROUP-TABLE { + description + "Common node of vrf, default-context"; + container ssm-access-groups { + description + "IGMP Source specific mode"; + list ssm-access-group { + key "source-address"; + description + "SSM static Access Group"; + leaf source-address { + type inet:ip-address-no-zone; + description + "IP source address"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access list specifying access group"; + } + } + } + } + + grouping QUERY-MAX-RESPONSE-TIME { + description + "Common node of inheritable-defaults, interface"; + leaf query-max-response-time { + type uint32 { + range "1..25"; + } + units "second"; + default "10"; + description + "Query response value in seconds"; + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of igmp, mld"; + container default-context { + presence "Indicates a default-context node is configured."; + description + "Default Context"; + container nsf { + description + "Configure NSF specific options"; + leaf lifetime { + type uint32 { + range "10..3600"; + } + units "second"; + default "60"; + description + "Maximum time for IGMP NSF mode in seconds"; + } + } + container unicast-qos-adjust { + description + "Configure IGMP QoS shapers for subscriber + interfaces"; + leaf download-interval { + type uint32 { + range "10..500"; + } + units "millisecond"; + default "100"; + description + "Configure the QoS download interval (in + milliseconds)"; + } + leaf adjustment-delay { + type uint32 { + range "0..10"; + } + units "second"; + default "1"; + description + "Configure the QoS delay before programming (in + seconds)"; + } + leaf hold-off { + type uint32 { + range "5..1800"; + } + units "second"; + default "180"; + description + "Configure the QoS hold off time (in seconds)"; + } + } + container accounting { + description + "Configure IGMP accounting for logging + join/leave records"; + leaf max-history { + type uint32 { + range "0..365"; + } + units "day"; + default "0"; + description + "Configure IGMP accounting Maximum History + setting"; + } + } + uses TRAFFIC; + uses INHERITABLE-DEFAULTS; + uses SSM-ACCESS-GROUP-TABLE; + uses MAXIMUM; + uses SSMDNS-QUERY-GROUP; + uses INTERFACE-TABLE; + uses ROBUSTNESS; + } + } + + grouping QUERY-INTERVAL { + description + "Common node of inheritable-defaults, interface"; + leaf query-interval { + type uint32 { + range "1..3600"; + } + units "second"; + default "60"; + description + "Query interval in seconds"; + } + } + + grouping ROUTER-ENABLE { + description + "Common node of inheritable-defaults, interface"; + leaf router-enable { + type boolean; + default "true"; + description + "Enabled or disabled, when value is TRUE or FALSE + respectively"; + } + } + + grouping SSMDNS-QUERY-GROUP { + description + "Common node of vrf, default-context"; + leaf ssmdns-query-group { + type empty; + description + "Enable SSM mapping using DNS Query"; + } + } + + grouping QUERY-TIMEOUT { + description + "Common node of inheritable-defaults, interface"; + leaf query-timeout { + type uint32 { + range "60..300"; + } + units "second"; + description + "IGMP previous querier timeout"; + } + } + + grouping EXPLICIT-TRACKING { + description + "Common node of inheritable-defaults, interface"; + container explicit-tracking { + presence "Indicates a explicit-tracking node is configured."; + description + "IGMPv3 explicit host tracking"; + leaf enable { + type boolean; + mandatory true; + description + "Enabled or disabled, when value is TRUE or + FALSE respectively"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access list specifying tracking group range"; + } + } + } + + container igmp { + description + "IGMPconfiguration"; + uses VRF-TABLE; + uses DEFAULT-CONTEXT; + } + container amt { + description + "AMT Relay configuration"; + container relay-adv-add { + presence "Indicates a relay-adv-add node is configured."; + description + "Configure AMT Relay IPv4 Advertisement Address"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "AMT Relay IPv4 Advertisement Address"; + } + leaf interface { + type xr:Interface-name; + description + "Relay Advertisement Interface"; + } + } + container relay-anycast-prefix { + presence "Indicates a relay-anycast-prefix node is configured."; + description + "Configure AMT Relay IPv4 Anycast-Prefix"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Anycast-Prefix Address"; + } + leaf prefix-length { + type uint32 { + range "1..32"; + } + description + "Mask Length for Anycast Prefix"; + } + } + leaf maximum-v4-route-gateway { + type uint32 { + range "1..4294967295"; + } + description + "Configure Maximum number of IPv4 route-gateways + (Tunnels)"; + } + leaf gateway-filter { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access list for Gateway Filter"; + } + leaf maximum-v4-routes { + type uint32 { + range "1..4294967295"; + } + description + "Configure Maximum number of IPv4 Routes"; + } + leaf amttos { + type uint32 { + range "1..255"; + } + description + "Configure AMT Relay TOS"; + } + leaf amtttl { + type uint32 { + range "1..255"; + } + description + "Configure AMT Relay TTL"; + } + leaf maximum-v6-route-gateway { + type uint32 { + range "1..4294967295"; + } + description + "Configure Maximum number of IPv6 route-gateways + (Tunnels)"; + } + leaf maximum-gateway { + type uint32 { + range "1..4294967295"; + } + description + "Configure AMT maximum number of Gateways"; + } + leaf maximum-v6-routes { + type uint32 { + range "1..4294967295"; + } + description + "Configure Maximum number of IPv6 Routes"; + } + leaf amtqqic { + type uint32 { + range "1..4294967295"; + } + description + "Configure AMT QQIC value"; + } + leaf amtmtu { + type uint32 { + range "100..65535"; + } + description + "Configure AMT Relay MTU"; + } + } + container mld { + description + "MLD configuration"; + uses VRF-TABLE; + uses DEFAULT-CONTEXT; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper-sub1.yang new file mode 100644 index 000000000..6fccde8b8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper-sub1.yang @@ -0,0 +1,1764 @@ +submodule Cisco-IOS-XR-ipv4-igmp-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-igmp-oper { + prefix Cisco-IOS-XR-ipv4-igmp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-igmp package operational data. + + This model is deprecated and is replaced by + Cisco-IOS-XR-igmp-oper.yang which will provide the + compatible functionalities. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-17 { + description + "Added DVMRP packet counter tracking for malloc and free."; + semver:module-version "2.1.1m"; + } + revision 2019-10-31 { + description + "Changes to IOS-XR IGMP oper"; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2018-01-31 { + description + "Fixed incorrect plural rendering."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igmp-edm-protocol { + type enumeration { + enum "no-route" { + value 0; + description + "no route"; + } + enum "sm" { + value 1; + description + "sm"; + } + enum "dm" { + value 2; + description + "dm"; + } + enum "bidir" { + value 3; + description + "bidir"; + } + enum "ssm" { + value 4; + description + "ssm"; + } + enum "any" { + value 6; + description + "any"; + } + } + description + "IGMP Protocol"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Igmp-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + typedef Im-state { + type uint32; + description + "Im state"; + } + + grouping IGMP-EDM-NSF-BAG { + description + "IGMP NSF state"; + leaf is-multicast-nsf-active { + type boolean; + description + "Is Multicast NSF active"; + } + leaf multicast-nsf-timeout { + type uint32; + units "second"; + description + "Multicast NSF timeout in secs"; + } + leaf multicast-nsf-time-left { + type uint32; + units "second"; + description + "Multicast NSF time remaining in secs"; + } + leaf respawn-count { + type uint32; + description + "Respawn Count"; + } + leaf last-nsf-on { + type int64; + description + "Last NSF time ON"; + } + leaf last-nsf-off { + type int64; + description + "Last NSF time off"; + } + leaf last-nsf-on-min { + type int32; + units "second"; + description + "Last NSF time ON in Seconds"; + } + leaf last-nsf-off-min { + type int32; + units "second"; + description + "Last NSF time OFF in Seconds"; + } + leaf last-icd-notif-recv { + type int64; + description + "Last ICD Notif Recv"; + } + leaf last-icd-notif-recv-min { + type int32; + units "second"; + description + "Last ICD Notif Recv in Seconds"; + } + } + + grouping IGMP-EDM-BVI-STATS-BAG { + description + "IGMP EDM BVI STATS BAG"; + leaf receive-buffers { + type uint32; + description + "Number of AIPC buffers received"; + } + leaf release-buffers { + type uint32; + description + "Number of AIPC buffers released"; + } + leaf send-blocks { + type uint32; + description + "Number of AIPC buffers send blocked"; + } + leaf release-fail-buffers { + type uint32; + description + "Number of AIPC buffers release failed"; + } + leaf null-buffer-handles { + type uint32; + description + "Number of AIPC NULL buffer handles"; + } + leaf rx-ipc-open-notif { + type uint32; + description + "Number of AIPC open notifications received"; + } + leaf rx-ipc-close-notif { + type uint32; + description + "Number of AIPC close notifications received"; + } + leaf rx-ipc-error-notif { + type uint32; + description + "Number of AIPC error notifications received"; + } + leaf rx-ipc-lwm-notif { + type uint32; + description + "Number of AIPC LWM notifications received"; + } + leaf rx-ipc-hwm-notif { + type uint32; + description + "Number of AIPC HWM notifications received"; + } + leaf rx-ipc-input-wait-notif { + type uint32; + description + "Number of AIPC input waiting notifications + received"; + } + leaf rx-ipc-send-status-notif { + type uint32; + description + "Number of AIPC send status notifications + received"; + } + leaf rx-ipc-publish-notif { + type uint32; + description + "Number of AIPC publish notifications received"; + } + leaf rx-ipc-q-full-notif { + type uint32; + description + "Number of AIPC queue full notifications received"; + } + leaf rx-ipc-output-notif { + type uint32; + description + "Number of AIPC output notifications received"; + } + leaf rx-ipc-connect-notif { + type uint32; + description + "Number of AIPC connect notifications received"; + } + leaf rx-igmp-packet-success { + type uint32; + description + "Number of IGMP protocol messages received"; + } + leaf rx-add-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Add messages received"; + } + leaf rx-delete-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Delete messages received"; + } + leaf rx-sweep-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Sweep messages received"; + } + leaf tx-add-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Add messages transmitted"; + } + leaf tx-delete-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Delete messages + transmitted"; + } + leaf tx-sweep-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Sweep messages received"; + } + leaf rx-unknown-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Unknown messages received"; + } + leaf tx-unknown-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Unknown messages + transmitted"; + } + leaf tx-buffer-errors { + type uint32; + description + "Number of AIPC transmission errors"; + } + leaf tx-buffers { + type uint32; + description + "Number of AIPC buffers transmited"; + } + leaf tx-protocol-buffers { + type uint32; + description + "Number of IGMP protocol buffers transmitted"; + } + leaf tx-mrouter-buffers { + type uint32; + description + "Number of IGMP Mrouter buffers transmitted"; + } + leaf tx-unknown-buffers { + type uint32; + description + "Number of IGMP Unknown buffers transmited"; + } + leaf wtx-msg-recvd { + type uint32; + description + "Number of WTX messages received"; + } + leaf wtx-msg-sent { + type uint32; + description + "Number of WTX messages sent"; + } + leaf wtx-msg-proto-sent { + type uint32; + description + "Number of WTX messages sent to Protocol"; + } + leaf wtx-msg-drop-dc { + type uint32; + description + "Number of WTX messages dropped due to disconnect"; + } + leaf wtx-msg-drop-nomem { + type uint32; + description + "Number of WTX messages dropped to memory"; + } + leaf wtx-msg-freed { + type uint32; + description + "Number of WTX messages freed"; + } + } + + grouping IGMP-EDM-I2Q-STATS-BAG { + description + "IGMP Rate Adjust Stats"; + leaf queues { + type uint16; + description + "I2Q Queue count"; + } + leaf batches { + type uint16; + description + "I2Q Rate Batch count"; + } + leaf add-to-batches { + type uint32; + description + "Add to batch count"; + } + leaf delete-to-batches { + type uint32; + description + "Delete to batch count"; + } + leaf send-success { + type uint32; + description + "Send Success count"; + } + leaf send-errors { + type uint32; + description + "Number of Send errors in batch"; + } + leaf send-comm-errors { + type uint32; + description + "Send Error due to comms count"; + } + leaf send-partial-errors { + type uint32; + description + "Send Error due to partial issue count"; + } + leaf received-resync-requests { + type uint32; + description + "Number of Resync request received"; + } + leaf sent-resync-bulks { + type uint32; + description + "Number of bulks sent for last resync received"; + } + leaf is-resync-received { + type boolean; + description + "Is Resync request received"; + } + leaf is-resync-required { + type boolean; + description + "Is Resync required"; + } + leaf is-resync-start-sent { + type boolean; + description + "Is Resync Start message sent"; + } + leaf is-qos-s-sweeped { + type boolean; + description + "Is QOS Sweeped once "; + } + leaf last-sweep-time { + type uint64; + units "second"; + description + "Time elapsed since Last mark and sweep in + seconds"; + } + leaf last-download-time { + type uint64; + units "second"; + description + "Time elapsed since Last download to QOS in + seconds"; + } + } + + grouping AMT-GW-BAG { + description + "AMT GW info"; + leaf amtgw { + type inet:ipv4-address; + description + "GW"; + } + leaf amt-port { + type uint32; + description + "Port"; + } + leaf key-len { + type uint32; + description + "Len"; + } + leaf amtnh { + type uint32; + description + "AMT NH"; + } + leaf amt-nonce { + type uint32; + description + "Nonce"; + } + leaf idb { + type uint64; + description + "IDB"; + } + leaf mem-upd-in { + type uint32; + description + "UpdIn"; + } + leaf mem-upd-out { + type uint32; + description + "UpdOut"; + } + } + + grouping IGMP-EDM-NSR-BAG { + description + "IGMP NSR state"; + leaf state { + type uint8; + description + "NSR state"; + } + leaf partner-proc-connected { + type boolean; + description + "Partner process connected"; + } + leaf collab-conv-done { + type boolean; + description + "Collaborators convergence done"; + } + leaf rmf-notification-done { + type boolean; + description + "RMF Notification done"; + } + leaf last-proc { + type uint64; + description + "Time when process came up"; + } + leaf last-proc-connection-up { + type uint64; + description + "Time when process connection went up"; + } + leaf last-proc-connection-dn { + type uint64; + description + "Time when process connection went down"; + } + leaf last-rmf-ready { + type uint64; + description + "Time when RMF Rdy notif was sent"; + } + leaf last-rmf-not-ready { + type uint64; + description + "Time when RMF Not-Rdy notif was sent"; + } + leaf count-proc-connection-up { + type uint32; + description + "No. of times process connection went up"; + } + leaf count-proc-connection-dn { + type uint32; + description + "No. of times process connection went down"; + } + leaf count-rmf-ready { + type uint32; + description + "No. of times RMF Ready notif was sent"; + } + leaf count-rmf-not-ready { + type uint32; + description + "No. of times RMF Not Ready notif was sent"; + } + } + + grouping AMT-SUMMARY-BAG { + description + "AMT summary info"; + leaf anycast-prefix { + type inet:ipv4-address; + description + "Robustness variable"; + } + leaf prefix-length { + type uint32; + description + "Advertize AMT prefix length"; + } + leaf relay-address { + type inet:ipv4-address; + description + "Advertaisment for AMT Relay address"; + } + leaf mtu { + type uint32; + description + "AMT Tunnel MTU"; + } + leaf tos { + type uint32; + description + "Type Of Service value in AMT header"; + } + leaf ttl { + type uint32; + description + "Time To Live value in AMT header"; + } + leaf query-interval { + type uint32; + description + "AMT Query interval"; + } + leaf gateway-count { + type uint32; + description + "Number of AMT Gateway"; + } + leaf max-gateway { + type uint32; + description + "Maximum Gateway allowed"; + } + leaf tunnel-count { + type uint32; + description + "AMT Tunnel Count"; + } + leaf tunnel-configured-maximum { + type uint32; + description + "AMT Tunnel configured Maximum"; + } + leaf is-acl-configured { + type boolean; + description + "ACL configured under AMT"; + } + leaf is-gateway-simulation { + type boolean; + description + "AMT Gateway Simulation"; + } + leaf is-ou-of-resource { + type boolean; + description + "AMT Out Of Resource"; + } + } + + grouping IGMP-EDM-SSM-MAP-DETAIL-BAG { + description + "IGMP SSM Map Detail List"; + container map-info { + description + "Basic Map Info"; + uses IGMP-EDM-SSM-MAP-BAG; + } + leaf expiration-time { + type uint32; + units "second"; + description + "Expiration Time in Seconds"; + } + leaf response-pending { + type boolean; + description + "Response Pending"; + } + leaf query-interval { + type uint32; + description + "Query interval"; + } + leaf elapsed-time { + type uint64; + description + "Elapsed time"; + } + list sources { + description + "List of sources"; + uses IGMP-ADDRTYPE; + } + } + + grouping IGMP-EDM-IDB-SUMM-BAG { + description + "IGMP Interface DB summary"; + leaf interface-count { + type uint32; + description + "Interface Count"; + } + leaf configuration-count { + type uint32; + description + "Configuration count"; + } + } + + grouping IGMP-EDM-GROUPS-SUMMARY-BAG { + description + "IGMP group summary entry"; + leaf groutes { + type uint32; + description + "No. of (*,G) routes"; + } + leaf sg-routes { + type uint32; + description + "No. of (S,G) routes"; + } + leaf group-count { + type uint32; + description + "Current groups accepted"; + } + leaf is-low-memory { + type boolean; + description + "Node is running low on memory"; + } + } + + grouping IGMP-EDM-TRAFFIC-BAG { + description + "IGMP Traffic Counters bag"; + leaf elapsed-time { + type uint32; + description + "Running time for counters"; + } + leaf packets-in { + type uint32; + description + "Packets in"; + } + leaf packets-out { + type uint32; + description + "Packets out"; + } + leaf format-errors { + type uint32; + description + "Malformed packets in"; + } + leaf packet-manager-input-errors { + type uint32; + description + "Incoming Packet Manager packets dropped"; + } + leaf packet-manager-output-errors { + type uint32; + description + "Outgoing Packet Manager packets dropped"; + } + leaf checksum-errors { + type uint32; + description + "Checksum errors"; + } + leaf receive-socket-errors { + type uint32; + description + "Socket errors on reception"; + } + leaf socket-errors { + type uint32; + description + "Socket errors on send"; + } + leaf bad-scope-errors { + type uint32; + description + "BadScope errors"; + } + leaf auxillary-data-length-errors { + type uint32; + description + "AuxDataLen errors"; + } + leaf invalid-source-address-errors { + type uint32; + description + "Invalid Source Address errors"; + } + leaf no-socket-connection { + type uint32; + description + "Packets dropped since no socket connection"; + } + leaf miscellaneous-errors { + type uint32; + description + "Packets dropped for other reasons"; + } + leaf input-queries { + type uint32; + description + "Query packets in"; + } + leaf input-reports { + type uint32; + description + "Reports in"; + } + leaf input-leaves { + type uint32; + description + "Leaves in"; + } + leaf input-mtrace { + type uint32; + description + "Mtrace packets in"; + } + leaf input-dvmrp { + type uint32; + description + "DVMRP packets in"; + } + leaf dvmrp-alloc { + type uint32; + description + "DVMRP buffer allocations"; + } + leaf dvmrp-free { + type uint32; + description + "DVMRP freed buffers"; + } + leaf dvmrp-drop { + type uint32; + description + "DVMRP packets dropped"; + } + leaf input-pim { + type uint32; + description + "PIM packets in"; + } + leaf output-queries { + type uint32; + description + "Query packets out"; + } + leaf output-reports { + type uint32; + description + "Reports out"; + } + leaf output-leaves { + type uint32; + description + "Leaves out"; + } + leaf output-mtrace { + type uint32; + description + "Mtrace packets out"; + } + leaf output-dvmrp { + type uint32; + description + "DVMRP packets out"; + } + leaf output-pim { + type uint32; + description + "PIM packets out"; + } + leaf get-packet-failure { + type uint32; + description + "Packet get failed"; + } + leaf output-no-parent-interface-handle { + type uint32; + description + "Failures setting 2nd ifhandle"; + } + leaf input-no-idb { + type uint32; + description + "Packets received without idb"; + } + leaf input-no-vrf-in-idb { + type uint32; + description + "Packets received on idb without VRF"; + } + leaf input-disabled-idb { + type uint32; + description + "Packet received on disabled idb"; + } + leaf input-martian-address { + type uint32; + description + "Packets received with Martian Address"; + } + leaf input-no-assigned-vrf-id { + type uint32; + description + "Packets received with no assigned vrf id"; + } + leaf input-no-vrf-mtrace { + type uint32; + description + "mtrace packets with no vrf associated"; + } + leaf input-no-platform-support-mtrace { + type uint32; + description + "mtrace packets without platform support"; + } + leaf packet-allocated { + type uint32; + description + "Number of pak allocated by IGMP"; + } + leaf packet-freed { + type uint32; + description + "Number of pak freed by IGMP"; + } + } + + grouping IGMP-EDM-IDB-IFRS-BAG { + description + "IGMP IFRS interface entry"; + container igmp-interface-entry { + description + "IGMP interface entry"; + uses IGMP-EDM-IDB-BAG; + } + leaf join-group-count { + type uint32; + description + "Join group count"; + } + } + + grouping IGMP-GROUP-RANGE { + description + "IGMP Group-Map Range"; + container group-address-xr { + description + "Group address"; + uses IGMP-ADDRTYPE; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf protocol { + type Igmp-edm-protocol; + description + "Protocol"; + } + leaf is-stale { + type boolean; + description + "Is the entry stale"; + } + } + + grouping IGMP-EDM-I2Q-INTF-RATE-BAG { + description + "IGMP-QOS Interface Rate"; + container source-address { + description + "Source address"; + uses IGMP-ADDRTYPE; + } + container group-address { + description + "Group address"; + uses IGMP-ADDRTYPE; + } + leaf is-add { + type boolean; + description + "Is this a rate increment"; + } + leaf weight { + type uint32; + description + "Weight from policy"; + } + leaf received-time { + type uint64; + description + "Time this update is received"; + } + } + + grouping IGMP-EDM-I2Q-INTF-STATS-BAG { + description + "IGMP-QOS Interface Stats"; + leaf is-virtual-access { + type boolean; + description + "Is VirtualAccess Interface"; + } + leaf rate { + type uint32; + units "kbit/s"; + description + "Overall rate in Kbps"; + } + leaf rate-increments { + type uint32; + description + "Count of rate increments"; + } + leaf rate-decrements { + type uint32; + description + "Count of rate decrements"; + } + list update { + max-elements "5"; + description + "List of updates"; + uses IGMP-EDM-I2Q-INTF-RATE-BAG; + } + } + + grouping IGMP-EDM-GROUPS-HOST-BAG { + description + "IGMP Groups host entry"; + container address { + description + "Host Address"; + uses IGMP-ADDRTYPE; + } + leaf uptime { + type uint32; + units "second"; + description + "Uptime in seconds"; + } + leaf is-exclude { + type boolean; + description + "Exclude flag set"; + } + leaf expiration-time { + type uint32; + units "second"; + description + "Expiration time in seconds"; + } + leaf source-count { + type uint32; + description + "No. of sources in entry"; + } + list source-address { + max-elements "3"; + description + "First 3 source addresses"; + uses IGMP-ADDRTYPE; + } + } + + grouping IGMP-EDM-GROUPS-ET-BAG { + description + "IGMP group explicit-tracking entry"; + container group-info { + description + "Basic Group information"; + uses IGMP-EDM-GROUPS-BAG; + } + leaf include-hosts { + type uint32; + description + "No. of hosts who are included"; + } + leaf exclude-hosts { + type uint32; + description + "No. of hosts who are excluded"; + } + list host { + description + "List of hosts"; + uses IGMP-EDM-GROUPS-HOST-BAG; + } + } + + grouping IGMP-EDM-SSM-MAP-BAG { + description + "IGMP SSM Map List"; + container group-address-xr { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + leaf map-type { + type uint32; + description + "Map Type of group"; + } + leaf source-counts { + type uint32; + description + "Count of Sources"; + } + } + + grouping IGMP-EDM-NOT-ACTIVE-GROUP-BAG { + description + "IGMP Non active group"; + container group-address { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf interface { + type string { + length "0..81"; + } + description + "Interface Name"; + } + leaf reason-for-non-activity { + type string { + length "0..257"; + } + description + "Reason for group join not being processed"; + } + } + + grouping IGMP-EDM-NOT-ACTIVE-ALLGROUPS-BAG { + description + "IGMP Non active groups list"; + list non-active-groups { + description + "List of non-active groups"; + uses IGMP-EDM-NOT-ACTIVE-GROUP-BAG; + } + } + + grouping IGMP-EDM-GROUPS-SOURCE-BAG { + description + "IGMP Groups source entry"; + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiration-time { + type int32; + units "second"; + description + "Expiration time in seconds"; + } + leaf is-local { + type boolean; + description + "Is this a local source"; + } + leaf is-remote { + type boolean; + description + "Is this a remote source"; + } + leaf is-forward { + type boolean; + description + "Should we forward on this entry"; + } + leaf is-we-report { + type boolean; + description + "Should we report the source"; + } + leaf flags { + type int32; + description + "Source flags"; + } + leaf is-added { + type boolean; + description + "Joined"; + } + leaf is-evpn-remote { + type boolean; + description + "Route learnt through EVPN"; + } + } + + grouping IGMP-EDM-GROUPS-BAG { + description + "IGMP group entry"; + container group-address-xr { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + container last-reporter { + description + "Last reporter address"; + uses IGMP-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiration-time { + type int32; + units "second"; + description + "Expiration time in seconds"; + } + leaf explicit-tracking-enabled { + type boolean; + description + "Is explicit tracking enabled"; + } + leaf is-self-join { + type boolean; + description + "If local system is member of this group on this + interface"; + } + leaf row-status { + type string { + length "0..16"; + } + description + "interface on or off for the group"; + } + leaf is-low-memory { + type boolean; + description + "Node is running low on memory"; + } + leaf router-filter-mode { + type uint8; + description + "Filter mode"; + } + leaf older-host-version1-timer { + type uint32; + description + "IGMP Hostversion1timer"; + } + leaf older-host-version2-timer { + type uint32; + description + "IGMP Hostversion2timer"; + } + leaf is-added { + type boolean; + description + "Joined"; + } + leaf is-suppressed { + type boolean; + description + "Suppressed"; + } + leaf is-evpn-remote { + type boolean; + description + "EVPN remote flag"; + } + leaf is-evpn-stale { + type boolean; + description + "EVPN stale flag"; + } + } + + grouping IGMP-EDM-GROUPS-DETAIL-BAG { + description + "IGMP group detail entry"; + container group-info { + description + "Basic Group information"; + uses IGMP-EDM-GROUPS-BAG; + } + leaf is-router-exclude-mode { + type boolean; + description + "Group router filter mode"; + } + leaf is-host-exclude-mode { + type boolean; + description + "Group host filter mode"; + } + list source { + description + "List of sources"; + uses IGMP-EDM-GROUPS-SOURCE-BAG; + } + } + + grouping IGMP-ADDRTYPE { + description + "IGMP ADDRTYPE"; + leaf af-name { + type Igmp-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Addr"; + } + } + + grouping IGMP-EDM-IDB-BAG { + description + "IGMP interface entry"; + container address { + description + "IP address"; + uses IGMP-ADDRTYPE; + } + container querier-address { + description + "Address of the Querier"; + uses IGMP-ADDRTYPE; + } + container subscriber-address { + description + "Address of subscriber"; + uses IGMP-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf state { + type Im-state; + description + "Interface state"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf is-interface-up { + type boolean; + description + "Is interface up"; + } + leaf is-ip-enabled { + type boolean; + description + "Is IP enabled"; + } + leaf is-router-enabled { + type boolean; + description + "Is Router functionality enabled"; + } + leaf is-multi-homing-enabled { + type boolean; + description + "Is Multihoming enabled"; + } + leaf is-multi-homing-stale { + type boolean; + description + "Is Multihoming Update stale"; + } + leaf igmp-version { + type uint8; + description + "IGMP Router version"; + } + leaf host-version { + type uint8; + description + "IGMP Host version"; + } + leaf query-interval { + type uint16; + units "second"; + description + "Query Interval value in seconds"; + } + leaf query-timeout { + type uint16; + description + "Query Timeout value"; + } + leaf query-maximum-response-time { + type uint16; + description + "Max Response Timeout value"; + } + leaf last-member-query-interval { + type uint16; + description + "Last Member Query Interval"; + } + leaf group-joins { + type uint32; + description + "No. of group joins"; + } + leaf group-leaves { + type uint32; + description + "No. of group leaves"; + } + leaf is-querier { + type boolean; + description + "Are we querier"; + } + leaf total-active-groups { + type uint32; + description + "Actual number of groups on interface"; + } + leaf robustness { + type uint32; + description + "Robustness Variable value"; + } + leaf proxy-interface { + type xr:Interface-name; + description + "Proxy interface index"; + } + leaf querier-uptime { + type uint16; + description + "Time since the last querier took over"; + } + leaf las-ll-registration-count { + type uint32; + description + "LAS reg count"; + } + leaf las-get-address-count { + type uint32; + description + "LAS get addr count"; + } + leaf las-update-count { + type uint32; + description + "LAS Update count"; + } + leaf las-ll-remove-update-count { + type uint32; + description + "LAS LL remove update count"; + } + leaf las-ll-add-update-count { + type uint32; + description + "LAS LL add update count"; + } + leaf las-null-update-count { + type uint32; + description + "LAS Null update count"; + } + leaf las-unregistration-count { + type uint32; + description + "LAS unreg count"; + } + leaf is-las-request { + type boolean; + description + "LAS req"; + } + leaf is-las-registered { + type boolean; + description + "LAS registered"; + } + leaf vrf-id { + type uint32; + description + "VRF id"; + } + leaf mte-vrf-id { + type uint32; + description + "MTE VRF id"; + } + leaf location { + type uint32; + description + "Location"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf vrf-state { + type uint32; + description + "Vrf State"; + } + leaf is-configurationverify { + type boolean; + description + "CFG verify"; + } + leaf configurationvrf-set { + type boolean; + description + "CFG vrf set"; + } + leaf configurationvrf-error { + type boolean; + description + "CFG vrf error"; + } + leaf configuration-mcast-vrf-set { + type boolean; + description + "Is mcast set"; + } + leaf configuration-mcast-vrf-error { + type boolean; + description + "Is mcast error"; + } + leaf is-im-state-registered { + type boolean; + description + "Im state registered"; + } + leaf is-subscriber { + type boolean; + description + "Subscriber interface"; + } + leaf subscriber-mode { + type uint32; + description + "Subscriber mode"; + } + leaf is-identity-present { + type boolean; + description + "Subscriber ID or Address available from AAA"; + } + leaf subscriber-id { + type string { + length "0..257"; + } + description + "ID string of subscriber"; + } + leaf parent-ifhandle { + type xr:Interface-name; + description + "Parent If Handle"; + } + leaf time-since-last-query-in-seconds { + type uint32; + description + "Time elapsed since last query"; + } + leaf time-since-last-report-in-seconds { + type uint32; + description + "Time elapsed since last report"; + } + leaf router-uptime-in-seconds { + type uint32; + description + "Uptime since router enabled event"; + } + leaf mte-tuple-count { + type uint32; + description + "MTE Tuple count"; + } + } + + grouping IGMP-EDM-INTF-SUMMARY-BAG { + description + "IGMP interface summary info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf group-limit { + type uint32; + description + "Maximum groups accepted per interface"; + } + leaf group-count { + type uint32; + description + "Current groups accepted per interface"; + } + leaf parent-ifhandle { + type xr:Interface-name; + description + "Parent if handle"; + } + leaf on-off { + type boolean; + description + "Enabled/Disabled"; + } + leaf time-since-last-query-in-seconds { + type uint32; + description + "Time elapsed since last query"; + } + leaf time-since-last-report-in-seconds { + type uint32; + description + "Time elapsed since last report"; + } + leaf router-uptime-in-seconds { + type uint32; + description + "Time elapsed since router enabled event"; + } + } + + grouping IGMP-EDM-SUMMARY-BAG { + description + "IGMP summary info"; + leaf robustness { + type uint32; + description + "Robustness variable"; + } + leaf group-limit { + type uint32; + description + "Maximum groups accepted"; + } + leaf group-count { + type uint32; + description + "Current groups accepted"; + } + leaf is-disabled { + type boolean; + description + "Is maximum enforcement disabled"; + } + leaf is-evpn-connection-up { + type boolean; + description + "Is EVPN connection up"; + } + leaf supported-interfaces { + type uint32; + description + "No. of supported interfaces"; + } + leaf unsupported-interfaces { + type uint32; + description + "No. of unsupported interfaces"; + } + leaf enabled-interface-count { + type uint32; + description + "No. of enabled interfaces"; + } + leaf disabled-interface-count { + type uint32; + description + "No. of disabled interfaces"; + } + leaf multi-homing-enabled-interfaces { + type uint32; + description + "No. of EVPN MH enabled interfaces"; + } + leaf tunnel-mte-config-count { + type uint32; + description + "No. of static group commands"; + } + leaf node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + leaf querier-number { + type uint32; + description + "Number of querier interfaces"; + } + list interface { + description + "Maximum and current groups accepted for each + interface"; + uses IGMP-EDM-INTF-SUMMARY-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper.yang new file mode 100644 index 000000000..337d6f4a4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-igmp-oper.yang @@ -0,0 +1,588 @@ +module Cisco-IOS-XR-ipv4-igmp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-igmp-oper"; + prefix ipv4-igmp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-igmp-oper-sub1 { + revision-date 2021-05-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-igmp package operational data. + + This model is deprecated and is replaced by + Cisco-IOS-XR-igmp-oper.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + mld: MLD operational data + igmp: IGMP operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-17 { + description + "Added DVMRP packet counter tracking for malloc and free."; + semver:module-version "2.1.1m"; + } + revision 2019-10-31 { + description + "Changes to IOS-XR IGMP oper"; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2018-01-31 { + description + "Fixed incorrect plural rendering."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igmpssm-map { + type enumeration { + enum "static" { + value 0; + description + "Static"; + } + enum "dns" { + value 1; + description + "Dns"; + } + enum "all" { + value 2; + description + "All"; + } + } + description + "Igmpssm map"; + } + + grouping INTERFACE-STATE-OFF-TABLE { + description + "Common node of vrf, default-context"; + container interface-state-offs { + description + "IGMP Interface state off"; + list interface-state-off { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + } + + grouping RANGE-TABLE { + description + "Common node of vrf, default-context"; + container ranges { + description + "Range table"; + list range { + key "group-address group-mask"; + description + "Range information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + leaf group-mask { + type uint32; + description + "Group Mask"; + } + uses IGMP-GROUP-RANGE; + } + } + } + + grouping SSM-MAP-DETAIL-TABLE { + description + "Common node of vrf, default-context"; + container ssm-map-details { + description + "SSM Map Detail"; + list ssm-map-detail { + key "ssm-map-type group-address"; + description + "SSM Map Detail Table information"; + leaf ssm-map-type { + type Igmpssm-map; + description + "SSM Map Type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses IGMP-EDM-SSM-MAP-DETAIL-BAG; + } + } + } + + grouping EXPLICIT-GROUP-TABLE { + description + "Common node of vrf, default-context"; + container explicit-groups { + description + "IGMP Explicit Group Database"; + list explicit-group { + key "group-address interface-name source-address"; + description + "IGMP Explicit Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source/Host Address"; + } + uses IGMP-EDM-GROUPS-ET-BAG; + } + } + } + + grouping GROUP-TABLE { + description + "Common node of vrf, default-context"; + container groups { + description + "IGMP Group Database Table"; + list group { + key "group-address interface-name"; + description + "IGMP Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-GROUPS-BAG; + } + } + } + + grouping GROUP-SUMMARY { + description + "Common node of vrf, default-context"; + container group-summary { + description + "IGMP Groups Summary"; + uses IGMP-EDM-GROUPS-SUMMARY-BAG; + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF table Names"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses SUMMARY; + uses INTERFACE-STATE-ON-TABLE; + uses DETAIL-GROUP-TABLE; + uses NON-ACTIVE-GROUPS; + uses SSM-MAP-TABLE; + uses EXPLICIT-GROUP-TABLE; + uses INTERFACE-TABLE; + uses INTERFACE-UNICAST-QOS-ADJUST-TABLE; + uses RANGE-TABLE; + uses IFRS-INTERFACE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-TABLE; + uses GROUP-SUMMARY; + uses IFRS-INTERFACE-SUMMARY; + uses GLOBAL-INTERFACE-TABLE; + uses SSM-MAP-DETAIL-TABLE; + uses INTERFACE-STATE-OFF-TABLE; + } + } + } + + grouping INTERFACE-STATE-ON-TABLE { + description + "Common node of vrf, default-context"; + container interface-state-ons { + description + "IGMP Interface state on"; + list interface-state-on { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + } + + grouping INTERFACE { + description + "Common node of interface-table, + global-interface-table"; + list interface { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + + grouping IFRS-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container ifrs-interfaces { + description + "IGMP Interface specific"; + list ifrs-interface { + key "interface-name"; + description + "IGMP IFRS Interface"; + leaf interface-name { + type xr:Interface-name; + description + "IFRS Interface Name"; + } + uses IGMP-EDM-IDB-IFRS-BAG; + } + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container amt-summary { + description + "MRIB RouteDB Expiry Information"; + uses AMT-SUMMARY-BAG; + } + container nsr { + description + "NSR Information"; + uses IGMP-EDM-NSR-BAG; + } + container amt-gateways { + description + "Table containing AMT Gateway DataBase + information"; + list amt-gateway { + key "gateway-address port"; + description + "AMT Gateway DataBase information"; + leaf gateway-address { + type inet:ipv4-address-no-zone; + description + "Gateway Address"; + } + leaf port { + type uint32; + description + "Port"; + } + uses AMT-GW-BAG; + } + } + container unicast-qos-adjust-stats { + description + "IGMP Unicast-Qos-Adjust Statistics"; + uses IGMP-EDM-I2Q-STATS-BAG; + } + container bvi-statistics { + description + "IGMP BVI Stats"; + uses IGMP-EDM-BVI-STATS-BAG; + } + container nsf { + description + "NSF Information"; + uses IGMP-EDM-NSF-BAG; + } + } + } + + grouping TRAFFIC-COUNTERS { + description + "Common node of vrf, default-context"; + container traffic-counters { + description + "IGMP Message Traffic Counters"; + uses IGMP-EDM-TRAFFIC-BAG; + } + } + + grouping GLOBAL-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container global-interface-table { + description + "IGMP Global Interface "; + uses INTERFACE; + } + } + + grouping ACTIVE { + description + "Common node of igmp, mld"; + container active { + description + "Active Process"; + uses VRF-TABLE; + uses PROCESS; + uses DEFAULT-CONTEXT; + } + } + + grouping INTERFACE-UNICAST-QOS-ADJUST-TABLE { + description + "Common node of vrf, default-context"; + container interface-unicast-qos-adjusts { + description + "IGMP Interface Unicast-Qos-Adjust"; + list interface-unicast-qos-adjust { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-I2Q-INTF-STATS-BAG; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container interface-table { + description + "IGMP Interface specific Table"; + uses INTERFACE; + } + } + + grouping SUMMARY { + description + "Common node of vrf, default-context"; + container summary { + description + "IGMP Summary Information"; + uses IGMP-EDM-SUMMARY-BAG; + } + } + + grouping NON-ACTIVE-GROUPS { + description + "Common node of vrf, default-context"; + container non-active-groups { + description + "IGMP Non-Active Groups Information"; + uses IGMP-EDM-NOT-ACTIVE-ALLGROUPS-BAG; + } + } + + grouping DETAIL-GROUP-TABLE { + description + "Common node of vrf, default-context"; + container detail-groups { + description + "IGMP Detail Group Database"; + list detail-group { + key "group-address interface-name source-address"; + description + "IGMP Detail Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source/Host Address"; + } + uses IGMP-EDM-GROUPS-DETAIL-BAG; + } + } + } + + grouping SSM-MAP-TABLE { + description + "Common node of vrf, default-context"; + container ssm-maps { + description + "SSM Map Table"; + list ssm-map { + key "ssm-map-type group-address"; + description + "SSM Map information"; + leaf ssm-map-type { + type Igmpssm-map; + description + "SSM Map Type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses IGMP-EDM-SSM-MAP-BAG; + } + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default Context"; + uses SUMMARY; + uses INTERFACE-STATE-ON-TABLE; + uses DETAIL-GROUP-TABLE; + uses NON-ACTIVE-GROUPS; + uses SSM-MAP-TABLE; + uses EXPLICIT-GROUP-TABLE; + uses INTERFACE-TABLE; + uses INTERFACE-UNICAST-QOS-ADJUST-TABLE; + uses RANGE-TABLE; + uses IFRS-INTERFACE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-TABLE; + uses GROUP-SUMMARY; + uses IFRS-INTERFACE-SUMMARY; + uses GLOBAL-INTERFACE-TABLE; + uses SSM-MAP-DETAIL-TABLE; + uses INTERFACE-STATE-OFF-TABLE; + } + } + + grouping IFRS-INTERFACE-SUMMARY { + description + "Common node of vrf, default-context"; + container ifrs-interface-summary { + description + "IGMP IFRS Interface summary"; + uses IGMP-EDM-IDB-SUMM-BAG; + } + } + + grouping STANDBY { + description + "Common node of igmp, mld"; + container standby { + description + "Standby Process"; + uses VRF-TABLE; + uses PROCESS; + uses DEFAULT-CONTEXT; + } + } + + container mld { + config false; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-igmp-oper.yang which will provide + the compatible functionalities. MLD operational + data"; + uses STANDBY; + uses ACTIVE; + } + container igmp { + config false; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-igmp-oper.yang which will provide + the compatible functionalities. IGMP operational + data"; + uses STANDBY; + uses ACTIVE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-cfg.yang new file mode 100644 index 000000000..50d0299e1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-cfg.yang @@ -0,0 +1,402 @@ +module Cisco-IOS-XR-ipv4-io-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-io-cfg"; + prefix ipv4-io-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-io package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-18 { + description + "Added new leaf icmp-unreach-disable."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-01-11 { + description + "DHCP IPv4 client to support options in cli."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Ipv4-reachable { + type enumeration { + enum "any" { + value 0; + description + "Source is reachable via any interface"; + } + enum "received" { + value 1; + description + "Source is reachable via interface on which + packet was received"; + } + } + description + "Ipv4 reachable"; + } + + typedef Ipv4-self-ping { + type enumeration { + enum "disabled" { + value 0; + description + "Doesn't allow router to ping itself"; + } + enum "enabled" { + value 1; + description + "Allow router to ping itself"; + } + } + description + "Ipv4 self ping"; + } + + typedef Ipv4-default-ping { + type enumeration { + enum "disabled" { + value 0; + description + "Default route is not allowed to match when + checking source address"; + } + enum "enabled" { + value 1; + description + "Allow default route to match when checking + source address"; + } + } + description + "Ipv4 default ping"; + } + + typedef Ipv4-interface-qppb { + type enumeration { + enum "ip-precedence" { + value 1; + description + "Enable IP precedence based QPPB"; + } + enum "qos-group" { + value 2; + description + "Enable QoS-group based QPPB"; + } + enum "both" { + value 3; + description + "Enable both IP precedence and QoS-group based + QPPB"; + } + } + description + "Ipv4 interface qppb"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv4-network { + description + "Interface IPv4 Network configuration data"; + container bgp-pa { + description + "Interface ipv4 bgp configuration"; + container input { + description + "Input"; + leaf source-accounting { + type boolean; + description + "BGP PA configuration on source"; + } + leaf destination-accounting { + type boolean; + description + "BGP PA configuration on destination"; + } + } + container output { + description + "Output"; + leaf source-accounting { + type boolean; + description + "BGP PA configuration on source"; + } + leaf destination-accounting { + type boolean; + description + "BGP PA configuration on destination"; + } + } + } + container verify { + description + "Enable Verify handling for this interface"; + leaf reachable { + type Ipv4-reachable; + description + "Source is reachable via any interface or + interface on which packet was received"; + } + leaf self-ping { + type Ipv4-self-ping; + description + "Allow router to ping itself (opens + vulnerability in verification)"; + } + leaf default-ping { + type Ipv4-default-ping; + description + "Allow default route to match when checking + source address"; + } + } + container bgp { + description + "Interface ipv4 bgp configuration"; + container qppb { + description + "Interface ipv4 bgp policy propagation + configuration"; + container input { + description + "Input"; + leaf source { + type Ipv4-interface-qppb; + description + "QPPB configuration on source"; + } + leaf destination { + type Ipv4-interface-qppb; + description + "QPPB configuration on destination"; + } + } + } + container flow-tag { + description + "Interface ipv4 bgp policy propagation flow tag + configuration"; + container flow-tag-input { + description + "Input"; + leaf source { + type boolean; + description + "FlowTag configuration on source"; + } + leaf destination { + type boolean; + description + "FlowTag configuration on destination"; + } + } + } + } + container addresses { + description + "Set the IP address of an interface"; + container secondaries { + description + "Specify a secondary address"; + list secondary { + key "address"; + description + "IP address and Mask"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Secondary IP address"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Netmask"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "RouteTag"; + } + } + } + container primary { + presence "Indicates a primary node is configured."; + description + "IP address and Mask"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Netmask"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "RouteTag"; + } + } + leaf unnumbered { + type xr:Interface-name; + description + "Enable IP processing without an explicit + address"; + } + leaf dhcp { + type empty; + description + "IPv4 address and Mask negotiated via DHCP"; + } + } + container helper-addresses { + description + "The set of IP destination addresses for UDP + broadcasts"; + list helper-address { + key "address vrf-name"; + description + "An IP destination addresses for UDP broadcasts"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP destination address"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + } + leaf forwarding-enable { + type empty; + description + "IPv4 forwarding to get enabled on an interface"; + } + leaf icmp-unreach-disable { + type empty; + description + "Disable ICMP unreachable for Nullx interface"; + } + leaf icmp-mask-reply { + type empty; + description + "The flag for enabling sending of ICMP mask + reply messages"; + } + leaf tcp-mss-adjust-enable { + type empty; + description + "Enable TCP MSS Adjust on an interface"; + } + leaf ttl-propagate-disable { + type empty; + description + "Disable TTL propagate on an interface"; + } + leaf point-to-point { + type empty; + description + "Enable point-to-point handling for this + interface."; + } + leaf mtu { + type uint32 { + range "68..65535"; + } + description + "The IP Maximum Transmission Unit"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv4-network-forwarding { + description + "Interface IPv4 Network configuration data also + used for forwarding"; + leaf directed-broadcast { + type empty; + description + "Enable forwarding of directed broadcast"; + } + leaf unreachables { + type empty; + description + "Disable sending ICMP unreachables"; + } + leaf redirects { + type empty; + description + "Enable sending ICMP Redirect messages"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub1.yang new file mode 100644 index 000000000..e0456dea4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub1.yang @@ -0,0 +1,492 @@ +submodule Cisco-IOS-XR-ipv4-io-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-io-oper { + prefix Cisco-IOS-XR-ipv4-io-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-io package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-26 { + description + "Added few items in the bag."; + semver:module-version "1.2.0"; + } + revision 2019-10-01 { + description + "Updated brief and detail containers for node related interfaces."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2015-10-20 { + description + "this schema file has all the latest changes."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping IPV4-IO-ICMP-TRAFFIC { + description + "ICMP Traffic Information"; + leaf received { + type uint32; + description + "ICMP Received"; + } + leaf checksum-error { + type uint32; + description + "ICMP Checksum Errors"; + } + leaf unknown { + type uint32; + description + "ICMP Unknown"; + } + leaf output { + type uint32; + description + "ICMP Transmitted"; + } + leaf admin-unreachable-sent { + type uint32; + description + "ICMP Admin Unreachable Sent"; + } + leaf network-unreachable-sent { + type uint32; + description + "ICMP Network Unreachable Sent"; + } + leaf host-unreachable-sent { + type uint32; + description + "ICMP Host Unreachable Sent"; + } + leaf protocol-unreachable-sent { + type uint32; + description + "ICMP Protocol Unreachable Sent"; + } + leaf port-unreachable-sent { + type uint32; + description + "ICMP Port Unreachable Sent"; + } + leaf fragment-unreachable-sent { + type uint32; + description + "ICMP Fragment Unreachable Sent"; + } + leaf admin-unreachable-received { + type uint32; + description + "ICMP Recieved Admin Unreachable"; + } + leaf network-unreachable-received { + type uint32; + description + "ICMP Recieved Network Unreachable"; + } + leaf host-unreachable-received { + type uint32; + description + "ICMP Host Unreachable Received"; + } + leaf protocol-unreachable-received { + type uint32; + description + "ICMP protocol is unreachable"; + } + leaf port-unreachable-received { + type uint32; + description + "ICMP Port Unreachable Received"; + } + leaf fragment-unreachable-received { + type uint32; + description + "ICMP fragment is unreachable"; + } + leaf hopcount-sent { + type uint32; + description + "ICMP Hopcount Sent"; + } + leaf reassembly-sent { + type uint32; + description + "ICMP Reassembly Sent"; + } + leaf hopcount-received { + type uint32; + description + "ICMP Hopcount Received"; + } + leaf reassebly-received { + type uint32; + description + "ICMP Reassembly Received"; + } + leaf param-error-received { + type uint32; + description + "ICMP Parameter Error Received"; + } + leaf param-error-send { + type uint32; + description + "ICMP Parameter Error Sent"; + } + leaf echo-request-sent { + type uint32; + description + "ICMP Echo Request Sent"; + } + leaf echo-request-received { + type uint32; + description + "ICMP Echo Request Sent"; + } + leaf echo-reply-sent { + type uint32; + description + "ICMP Echo Reply Sent"; + } + leaf echo-reply-received { + type uint32; + description + "ICMP Echo Reply Received"; + } + leaf mask-request-sent { + type uint32; + description + "ICMP Mask Sent"; + } + leaf mask-request-received { + type uint32; + description + "ICMP Mask Received"; + } + leaf mask-reply-sent { + type uint32; + description + "ICMP Mask Sent"; + } + leaf mask-reply-received { + type uint32; + description + "ICMP Mask Received"; + } + leaf source-quench-received { + type uint32; + description + "ICMP Source Quench"; + } + leaf redirect-received { + type uint32; + description + "ICMP Redirect Received"; + } + leaf redirect-send { + type uint32; + description + "ICMP Redirect Sent"; + } + leaf timestamp-received { + type uint32; + description + "ICMP Timestamp Received"; + } + leaf timestamp-reply-received { + type uint32; + description + "ICMP Timestamp Reply Received"; + } + leaf router-advert-received { + type uint32; + description + "ICMP Router Advertisement Received"; + } + leaf router-solicit-received { + type uint32; + description + "ICMP Router Solicited Received"; + } + } + + grouping IPV4-IO-TRAFFIC { + description + "IP Traffic Information"; + leaf input-packets { + type uint32; + description + "Input packets for ipv4 io traffic"; + } + leaf received-packets { + type uint32; + description + "Ipv4 packets recieved for ipv4 io traffic"; + } + leaf format-errors { + type uint32; + description + "Format errors for ipv4 io traffic"; + } + leaf bad-hop-count { + type uint32; + description + "Bad Hop Count"; + } + leaf bad-source-address { + type uint32; + description + "Ipv4 source address for ipv4 io traffic is + corrupted"; + } + leaf bad-header { + type uint32; + description + "Bad Header"; + } + leaf no-protocol { + type uint32; + description + "Protocol is not present"; + } + leaf no-gateway { + type uint32; + description + "No Gateway"; + } + leaf reassemble-input { + type uint32; + description + "RaInput"; + } + leaf reassembled { + type uint32; + description + "Fragment reassembled"; + } + leaf reassemble-timeout { + type uint32; + description + "Timeout for fragment reassembly"; + } + leaf reassemble-max-drop { + type uint32; + description + "Reassembly Max Drop"; + } + leaf reassemble-failed { + type uint32; + description + "Failure observed during fragment reassembly"; + } + leaf options-present { + type uint32; + description + "Ipv4 options are present"; + } + leaf bad-option { + type uint32; + description + "Bad Option"; + } + leaf unknown-option { + type uint32; + description + "Option for Unknown"; + } + leaf bad-security-option { + type uint32; + description + "Option for Bad Security"; + } + leaf basic-security-option { + type uint32; + description + "Option for Basic Security"; + } + leaf extended-security-option { + type uint32; + description + "Security option is extended for ipv4 io traffic"; + } + leaf cipso-option { + type uint32; + description + "Option for cipso"; + } + leaf strict-source-route-option { + type uint32; + description + "Option for strict source route"; + } + leaf loose-source-route-option { + type uint32; + description + "Option for loose source route"; + } + leaf record-route-option { + type uint32; + description + "Option for record route"; + } + leaf sid-option { + type uint32; + description + "Option for SID"; + } + leaf timestamp-option { + type uint32; + description + "Option for time stamp"; + } + leaf router-alert-option { + type uint32; + description + "Option for router alert"; + } + leaf noop-option { + type uint32; + description + "Option for no operation"; + } + leaf end-option { + type uint32; + description + "Option to end"; + } + leaf packets-output { + type uint32; + description + "Ipv4 packets output for ipv4 io traffic"; + } + leaf packets-forwarded { + type uint32; + description + "Ipv4 packets are forwarded"; + } + leaf packets-fragmented { + type uint32; + description + "ipv4 packets are fragmented"; + } + leaf fragment-count { + type uint32; + description + "Count for fragments"; + } + leaf encapsulation-failed { + type uint32; + description + "Observed failure during encapsulation"; + } + leaf no-router { + type uint32; + description + "No Router"; + } + leaf packet-too-big { + type uint32; + description + "Size of packet is too big"; + } + leaf multicast-in { + type uint32; + description + "Recieved multicast packets"; + } + leaf multicast-out { + type uint32; + description + "Sent multicast packets"; + } + leaf broadcast-in { + type uint32; + description + "Recieved broadcast packets"; + } + leaf broadcast-out { + type uint32; + description + "Sent broadcast packets"; + } + leaf lisp-v4-encap { + type uint32; + description + "Lisp IPv4 encapped packets"; + } + leaf lisp-v4-decap { + type uint32; + description + "Lisp IPv4 decapped packets"; + } + leaf lisp-v6-encap { + type uint32; + description + "Lisp IPv6 encapped packets"; + } + leaf lisp-v6-decap { + type uint32; + description + "Lisp IPv6 decapped packets"; + } + leaf lisp-encap-error { + type uint32; + description + "Lisp encapsulation errors"; + } + leaf lisp-decap-error { + type uint32; + description + "Lisp decapsulation errors"; + } + } + + grouping IP-TRAFFIC { + description + "IP and ICMP Traffic Information"; + container ipv4-stats { + description + "IPv4 Network Stats"; + uses IPV4-IO-TRAFFIC; + } + container icmp-stats { + description + "ICMP Stats"; + uses IPV4-IO-ICMP-TRAFFIC; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub2.yang new file mode 100644 index 000000000..19e1051f2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper-sub2.yang @@ -0,0 +1,650 @@ +submodule Cisco-IOS-XR-ipv4-io-oper-sub2 { + belongs-to Cisco-IOS-XR-ipv4-io-oper { + prefix Cisco-IOS-XR-ipv4-io-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-io package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-26 { + description + "Added few items in the bag."; + semver:module-version "1.2.0"; + } + revision 2019-10-01 { + description + "Updated brief and detail containers for node related interfaces."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2015-10-20 { + description + "this schema file has all the latest changes."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Ipv4-ma-oper-config { + type enumeration { + enum "ipv4-ma-oper-client-none" { + value 0; + description + "ipv4 ma oper client none"; + } + enum "ipv4-ma-oper-non-oc-client" { + value 1; + description + "ipv4 ma oper non oc client"; + } + enum "ipv4-ma-oper-oc-client" { + value 2; + description + "ipv4 ma oper oc client"; + } + } + description + "ipv4 client type"; + } + + typedef Rpf-mode { + type enumeration { + enum "strict" { + description + "Strict RPF"; + } + enum "loose" { + description + "Loose RPF"; + } + } + description + "Interface line states"; + } + + typedef Str { + type string; + description + "Str"; + } + + typedef Ipv4-ma-oper-line-state { + type enumeration { + enum "unknown" { + description + "Interface state is unknown"; + } + enum "shutdown" { + description + "Interface has been shutdown"; + } + enum "down" { + description + "Interface state is down"; + } + enum "up" { + description + "Interface state is up"; + } + } + description + "Interface line states"; + } + + grouping IF-SUMMARY { + description + "Count of assigned/unnumbered/unassigned + interfaces"; + leaf ip-assigned { + type uint32; + description + "Number of interfaces with explicit addresses"; + } + leaf ip-unnumbered { + type uint32; + description + "Number of unnumbered interfaces with explicit + addresses"; + } + leaf ip-unassigned { + type uint32; + description + "Number of unassigned interfaces with explicit + addresses"; + } + } + + grouping IPV4-IF-SUMMARY { + description + "Summary info of IP interfaces"; + container if-up-up { + description + "Number of interfaces (up,up)"; + uses IF-SUMMARY; + } + container if-up-down { + description + "Number of interfaces (up,down)"; + uses IF-SUMMARY; + } + container if-down-down { + description + "Number of interfaces (down,down)"; + uses IF-SUMMARY; + } + container if-shutdown-down { + description + "Number of interfaces (shutdown,down)"; + uses IF-SUMMARY; + } + leaf if-up-down-basecaps-up { + type uint32; + description + "Number of interfaces (up,down) with basecaps up"; + } + } + + grouping BGP-PA-DIR { + description + "BGP PA config for ingress/egress direction"; + leaf enable { + type boolean; + description + "Enable BGP PA for ingress/egress"; + } + leaf source { + type boolean; + description + "Enable source accouting"; + } + leaf destination { + type boolean; + description + "Enable destination accouting"; + } + } + + grouping BGP-PA-CONFIG { + description + "BGP PA config information"; + container input { + description + "BGP PA input config"; + uses BGP-PA-DIR; + } + container output { + description + "BGP PA output config"; + uses BGP-PA-DIR; + } + } + + grouping RPF-CONFIG { + description + "RPF config information"; + leaf enable { + type boolean; + description + "Enable RPF config"; + } + leaf allow-default-route { + type boolean; + description + "Allow Default Route for RPF config"; + } + leaf allow-self-ping { + type boolean; + description + "Allow Self Ping"; + } + leaf mode { + type Rpf-mode; + description + "RPF Mode (loose/strict)"; + } + } + + grouping HADDR-ARRAY { + description + "Helper Address List "; + list address-array { + description + "Helper address"; + leaf entry { + type inet:ipv4-address; + description + "Helper address"; + } + } + } + + grouping MULTI-ACL-CONFIG { + description + "Multi ACL config information"; + list inbound { + max-elements "5"; + description + "Inbound ACLs"; + leaf entry { + type Str; + description + "Inbound ACLs"; + } + } + list outbound { + max-elements "5"; + description + "Outbound ACLs"; + leaf entry { + type Str; + description + "Outbound ACLs"; + } + } + list common { + max-elements "5"; + description + "Common ACLs"; + leaf entry { + type Str; + description + "Common ACLs"; + } + } + } + + grouping ACL-CONFIG { + description + "ACL config information"; + leaf inbound { + type string; + description + "ACL applied to incoming packets"; + } + leaf outbound { + type string; + description + "ACL applied to outgoing packets"; + } + leaf common-in-bound { + type string; + description + "Common ACL applied to incoming packets"; + } + leaf common-out-bound { + type string; + description + "Common ACL applied to outgoing packets"; + } + } + + grouping IP-ADDR-NODE { + description + "List of IP Addresses "; + leaf address { + type inet:ipv4-address; + description + "Ipv4 address"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of address"; + } + leaf route-tag { + type uint32; + description + "Route Tag associated with this address (0 = no + tag)"; + } + } + + grouping MCAST-GROUP { + description + "MCast Group List "; + leaf group-address { + type inet:ipv4-address; + description + "Address of multicast group"; + } + } + + grouping IPV4-IF-DETAIL { + description + "Detailed Info of IP Interface"; + container acl { + description + "ACLs configured on the interface"; + uses ACL-CONFIG; + } + container multi-acl { + description + "Multi ACLs configured on the interface"; + uses MULTI-ACL-CONFIG; + } + container helper-address { + description + "Helper Addresses configured on the interface"; + uses HADDR-ARRAY; + } + container rpf { + description + "RPF config on the interface"; + uses RPF-CONFIG; + } + container bgp-pa { + description + "BGP PA config on the interface"; + uses BGP-PA-CONFIG; + } + leaf primary-address { + type inet:ipv4-address; + description + "Ipv4 primary address of the interface"; + } + leaf vrf-id { + type uint32; + description + "VRF ID of the interface"; + } + leaf line-state { + type Ipv4-ma-oper-line-state; + description + "Line state of the interface"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of primary address"; + } + leaf route-tag { + type uint32; + description + "Route tag associated with the primary address (0 + = no tag)"; + } + leaf mtu { + type uint32; + description + "IP MTU of the interface"; + } + leaf unreachable { + type boolean; + description + "Are ICMP unreachables sent on the interface?"; + } + leaf redirect { + type boolean; + description + "Are ICMP redirects sent on the interface?"; + } + leaf direct-broadcast { + type boolean; + description + "Are direct broadcasts sent on the interface?"; + } + leaf mask-reply { + type boolean; + description + "Are mask replies sent on the interface?"; + } + leaf rg-id-exists { + type boolean; + description + "Does ICCP RG ID exist on the interface?"; + } + leaf mlacp-active { + type boolean; + description + "Is mLACP state Active (valid if RG ID exists)"; + } + leaf unnumbered-interface-name { + type string; + description + "Name of referenced interface (valid if + unnumbered)"; + } + leaf next-unnumbered-interface-name { + type string; + description + "Name of interface which is also unnum to + same interface where this intf is unnumbered"; + } + leaf proxy-arp-disabled { + type boolean; + description + "Is Proxy ARP disabled on the interface?"; + } + leaf flow-tag-src { + type boolean; + description + "Is BGP Flow Tag Source is enable"; + } + leaf flow-tag-dst { + type boolean; + description + "Is BGP Flow Tag Destination is enable"; + } + leaf config-flags { + type uint16; + description + "IDB configuration flags"; + } + leaf oper-flags { + type uint64; + description + "IDB operational flags"; + } + leaf arm-flags { + type uint16; + description + "IP ARM operation flags"; + } + leaf state-recvd-frm-im { + type Ipv4-ma-oper-line-state; + description + "state as recieved + from IM"; + } + leaf cflct-address { + type inet:ipv4-address; + description + "Conflicated ipv4 address"; + } + leaf client-type { + type Ipv4-ma-oper-config; + description + "Client type for IDB"; + } + leaf is-or-event { + type boolean; + description + "Is OR event for IDB"; + } + leaf or-im-state { + type Im-state-enum; + description + "OR IM state type"; + } + leaf or-im-state-rcvd { + type Im-state-enum; + description + "Rcvd OR IM state type"; + } + leaf or-im-state-constraint { + type Im-state-enum; + description + "Rcvd OR IM constraint state type"; + } + leaf idb-pointer { + type uint64; + description + "idb pointer value"; + } + leaf sub-gw-address { + type inet:ipv4-address; + description + "secondary gateway address of the interface"; + } + leaf gw-prefix-length { + type uint32; + description + "Prefix length of gateway address"; + } + leaf gw-address-rcvd { + type boolean; + description + "Gateway address received"; + } + list multicast-group { + description + "Multicast groups joined on the interface"; + uses MCAST-GROUP; + } + list secondary-address { + description + "Secondary addresses on the interface"; + uses IP-ADDR-NODE; + } + } + + grouping IPV4-IF-BRIEF { + description + "Brief Summary of IP Interface"; + leaf primary-address { + type inet:ipv4-address; + description + "Ipv4 primary address of the interface"; + } + leaf vrf-id { + type uint32; + description + "VRF ID of the interface"; + } + leaf vrf-name { + type string; + description + "VRF name of the interface"; + } + leaf line-state { + type Ipv4-ma-oper-line-state; + description + "Line state of the interface"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper.yang new file mode 100644 index 000000000..f69be86e4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-io-oper.yang @@ -0,0 +1,198 @@ +module Cisco-IOS-XR-ipv4-io-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-io-oper"; + prefix ipv4-io-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-io-oper-sub2 { + revision-date 2021-03-26; + } + include Cisco-IOS-XR-ipv4-io-oper-sub1 { + revision-date 2021-03-26; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-io package operational data. + + This module contains definitions + for the following management objects: + ipv4-network: IPv4 network operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-26 { + description + "Added few items in the bag."; + semver:module-version "1.2.0"; + } + revision 2019-10-01 { + description + "Updated brief and detail containers for node related interfaces."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2015-10-20 { + description + "this schema file has all the latest changes."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container ipv4-network { + config false; + description + "IPv4 network operational data"; + container nodes { + description + "Node-specific IPv4 network operational data"; + list node { + key "node-name"; + description + "IPv4 network operational data for a particular + node"; + container interface-data { + description + "IPv4 network operational interface data"; + container vrfs { + description + "VRF specific IPv4 network operational + interface data"; + list vrf { + key "vrf-name"; + description + "VRF name of an interface belong to"; + container briefs { + description + "Brief interface IPv4 network operational + data for a node"; + list brief { + key "interface-name"; + description + "Brief interface IPv4 network operational + data for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IPV4-IF-BRIEF; + } + } + container details { + description + "Detail interface IPv4 network operational + data for a node"; + list detail { + key "interface-name"; + description + "Detail interface IPv4 network operational + data for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IPV4-IF-DETAIL; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The VRF name"; + } + } + } + container summary { + description + "Summary of IPv4 network operational interface + data on a node"; + uses IPV4-IF-SUMMARY; + } + container interfaces { + description + "Interface names with VRF"; + list interface { + key "interface-name"; + description + "Interface names with VRF"; + container vrf-names { + description + "List of VRF on the interface"; + list vrf-name { + key "vrf-name"; + description + "VRF information on the interface"; + container detail-data { + description + "Detail IPv4 network operational data for + an interface"; + uses IPV4-IF-DETAIL; + } + container brief-data { + description + "Brief IPv4 network operational data for + an interface"; + uses IPV4-IF-BRIEF; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The VRF name"; + } + } + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + } + } + } + container statistics { + description + "Statistical IPv4 network operational data for + a node"; + container traffic { + description + "Traffic statistics for a node"; + uses IP-TRAFFIC; + } + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-cfg.yang new file mode 100644 index 000000000..c01fef212 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-cfg.yang @@ -0,0 +1,149 @@ +module Cisco-IOS-XR-ipv4-ma-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ma-cfg"; + prefix ipv4-ma-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ma package configuration. + + This module contains definitions + for the following management objects: + ipv4-network-global: IPv4 network global configuration data + subscriber-pta: PTA Subscriber configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Ipv4-qppb { + type enumeration { + enum "none" { + value 0; + description + "No QPPB configuration"; + } + enum "ip-prec" { + value 1; + description + "Enable ip-precedence based QPPB"; + } + enum "qos-grp" { + value 2; + description + "Enable qos-group based QPPB"; + } + enum "both" { + value 3; + description + "Enable both ip-precedence and qos-group based + QPPB"; + } + } + description + "Ipv4 qppb"; + } + + container ipv4-network-global { + description + "IPv4 network global configuration data"; + container unnumbered { + description + "Enable IPv4 processing without an explicit + address"; + container mpls { + description + "Configure MPLS routing protocol parameters"; + container te { + description + "IPv4 commands for MPLS Traffic Engineering"; + leaf interface { + type string; + description + "Enable IP processing without an explicit + address on MPLS Traffic-Eng"; + } + } + } + } + container qppb { + description + "QPPB"; + leaf source { + type Ipv4-qppb; + description + "QPPB configuration on source"; + } + leaf destination { + type Ipv4-qppb; + description + "QPPB configuration on destination"; + } + } + leaf source-route { + type boolean; + default "true"; + description + "The flag for enabling whether to process packets + with source routing header options"; + } + leaf reassemble-max-packets { + type uint32 { + range "1..50"; + } + units "percentage"; + description + "Percentage of total packets available in the + system"; + } + leaf reassemble-time-out { + type uint32 { + range "1..120"; + } + units "second"; + description + "Number of seconds a reassembly queue will hold + before timeout"; + } + } + container subscriber-pta { + description + "PTA Subscriber configuration"; + leaf tcp-mss-adjust { + type uint32 { + range "1280..1536"; + } + units "byte"; + description + "TCP MSS Adjust (bytes)"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper-sub1.yang new file mode 100644 index 000000000..6173ecb9c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper-sub1.yang @@ -0,0 +1,650 @@ +submodule Cisco-IOS-XR-ipv4-ma-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-ma-oper { + prefix Cisco-IOS-XR-ipv4-ma-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ma package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-26 { + description + "Added few bag fields."; + semver:module-version "1.1.0"; + } + revision 2019-10-25 { + description + "Updated description to few bag fields."; + semver:module-version "1.0.2"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-08-23 { + description + "IPV4 MA schema file has all the latest changes."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Ipv4-ma-oper-config { + type enumeration { + enum "ipv4-ma-oper-client-none" { + value 0; + description + "ipv4 ma oper client none"; + } + enum "ipv4-ma-oper-non-oc-client" { + value 1; + description + "ipv4 ma oper non oc client"; + } + enum "ipv4-ma-oper-oc-client" { + value 2; + description + "ipv4 ma oper oc client"; + } + } + description + "ipv4 client type"; + } + + typedef Rpf-mode { + type enumeration { + enum "strict" { + description + "Strict RPF"; + } + enum "loose" { + description + "Loose RPF"; + } + } + description + "Interface line states"; + } + + typedef Str { + type string; + description + "Str"; + } + + typedef Ipv4-ma-oper-line-state { + type enumeration { + enum "unknown" { + description + "Interface state is unknown"; + } + enum "shutdown" { + description + "Interface has been shutdown"; + } + enum "down" { + description + "Interface state is down"; + } + enum "up" { + description + "Interface state is up"; + } + } + description + "Interface line states"; + } + + grouping IF-SUMMARY { + description + "Count of assigned/unnumbered/unassigned + interfaces"; + leaf ip-assigned { + type uint32; + description + "Number of interfaces with explicit addresses"; + } + leaf ip-unnumbered { + type uint32; + description + "Number of unnumbered interfaces with explicit + addresses"; + } + leaf ip-unassigned { + type uint32; + description + "Number of unassigned interfaces with explicit + addresses"; + } + } + + grouping IPV4-IF-SUMMARY { + description + "Summary info of IP interfaces"; + container if-up-up { + description + "Number of interfaces (up,up)"; + uses IF-SUMMARY; + } + container if-up-down { + description + "Number of interfaces (up,down)"; + uses IF-SUMMARY; + } + container if-down-down { + description + "Number of interfaces (down,down)"; + uses IF-SUMMARY; + } + container if-shutdown-down { + description + "Number of interfaces (shutdown,down)"; + uses IF-SUMMARY; + } + leaf if-up-down-basecaps-up { + type uint32; + description + "Number of interfaces (up,down) with basecaps up"; + } + } + + grouping IPV4-IF-BRIEF { + description + "Brief Summary of IP Interface"; + leaf primary-address { + type inet:ipv4-address; + description + "Ipv4 primary address of the interface"; + } + leaf vrf-id { + type uint32; + description + "VRF ID of the interface"; + } + leaf vrf-name { + type string; + description + "VRF name of the interface"; + } + leaf line-state { + type Ipv4-ma-oper-line-state; + description + "Line state of the interface"; + } + } + + grouping BGP-PA-DIR { + description + "BGP PA config for ingress/egress direction"; + leaf enable { + type boolean; + description + "Enable BGP PA for ingress/egress"; + } + leaf source { + type boolean; + description + "Enable source accouting"; + } + leaf destination { + type boolean; + description + "Enable destination accouting"; + } + } + + grouping BGP-PA-CONFIG { + description + "BGP PA config information"; + container input { + description + "BGP PA input config"; + uses BGP-PA-DIR; + } + container output { + description + "BGP PA output config"; + uses BGP-PA-DIR; + } + } + + grouping RPF-CONFIG { + description + "RPF config information"; + leaf enable { + type boolean; + description + "Enable RPF config"; + } + leaf allow-default-route { + type boolean; + description + "Allow Default Route for RPF config"; + } + leaf allow-self-ping { + type boolean; + description + "Allow Self Ping"; + } + leaf mode { + type Rpf-mode; + description + "RPF Mode (loose/strict)"; + } + } + + grouping HADDR-ARRAY { + description + "Helper Address List "; + list address-array { + description + "Helper address"; + leaf entry { + type inet:ipv4-address; + description + "Helper address"; + } + } + } + + grouping MULTI-ACL-CONFIG { + description + "Multi ACL config information"; + list inbound { + max-elements "5"; + description + "Inbound ACLs"; + leaf entry { + type Str; + description + "Inbound ACLs"; + } + } + list outbound { + max-elements "5"; + description + "Outbound ACLs"; + leaf entry { + type Str; + description + "Outbound ACLs"; + } + } + list common { + max-elements "5"; + description + "Common ACLs"; + leaf entry { + type Str; + description + "Common ACLs"; + } + } + } + + grouping ACL-CONFIG { + description + "ACL config information"; + leaf inbound { + type string; + description + "ACL applied to incoming packets"; + } + leaf outbound { + type string; + description + "ACL applied to outgoing packets"; + } + leaf common-in-bound { + type string; + description + "Common ACL applied to incoming packets"; + } + leaf common-out-bound { + type string; + description + "Common ACL applied to outgoing packets"; + } + } + + grouping IP-ADDR-NODE { + description + "List of IP Addresses "; + leaf address { + type inet:ipv4-address; + description + "Ipv4 address"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of address"; + } + leaf route-tag { + type uint32; + description + "Route Tag associated with this address (0 = no + tag)"; + } + } + + grouping MCAST-GROUP { + description + "MCast Group List "; + leaf group-address { + type inet:ipv4-address; + description + "Address of multicast group"; + } + } + + grouping IPV4-IF-DETAIL { + description + "Detailed Info of IP Interface"; + container acl { + description + "ACLs configured on the interface"; + uses ACL-CONFIG; + } + container multi-acl { + description + "Multi ACLs configured on the interface"; + uses MULTI-ACL-CONFIG; + } + container helper-address { + description + "Helper Addresses configured on the interface"; + uses HADDR-ARRAY; + } + container rpf { + description + "RPF config on the interface"; + uses RPF-CONFIG; + } + container bgp-pa { + description + "BGP PA config on the interface"; + uses BGP-PA-CONFIG; + } + leaf primary-address { + type inet:ipv4-address; + description + "Ipv4 primary address of the interface"; + } + leaf vrf-id { + type uint32; + description + "VRF ID of the interface"; + } + leaf line-state { + type Ipv4-ma-oper-line-state; + description + "Line state of the interface"; + } + leaf prefix-length { + type uint32; + description + "Prefix length of primary address"; + } + leaf route-tag { + type uint32; + description + "Route tag associated with the primary address (0 + = no tag)"; + } + leaf mtu { + type uint32; + description + "IP MTU of the interface"; + } + leaf unreachable { + type boolean; + description + "Are ICMP unreachables sent on the interface?"; + } + leaf redirect { + type boolean; + description + "Are ICMP redirects sent on the interface?"; + } + leaf direct-broadcast { + type boolean; + description + "Are direct broadcasts sent on the interface?"; + } + leaf mask-reply { + type boolean; + description + "Are mask replies sent on the interface?"; + } + leaf rg-id-exists { + type boolean; + description + "Does ICCP RG ID exist on the interface?"; + } + leaf mlacp-active { + type boolean; + description + "Is mLACP state Active (valid if RG ID exists)"; + } + leaf unnumbered-interface-name { + type string; + description + "Name of referenced interface (valid if + unnumbered)"; + } + leaf next-unnumbered-interface-name { + type string; + description + "Name of interface which is also unnum to + same interface where this intf is unnumbered"; + } + leaf proxy-arp-disabled { + type boolean; + description + "Is Proxy ARP disabled on the interface?"; + } + leaf flow-tag-src { + type boolean; + description + "Is BGP Flow Tag Source is enable"; + } + leaf flow-tag-dst { + type boolean; + description + "Is BGP Flow Tag Destination is enable"; + } + leaf config-flags { + type uint16; + description + "IDB configuration flags"; + } + leaf oper-flags { + type uint64; + description + "IDB operational flags"; + } + leaf arm-flags { + type uint16; + description + "IP ARM operation flags"; + } + leaf state-recvd-frm-im { + type Ipv4-ma-oper-line-state; + description + "state as recieved + from IM"; + } + leaf cflct-address { + type inet:ipv4-address; + description + "Conflicated ipv4 address"; + } + leaf client-type { + type Ipv4-ma-oper-config; + description + "Client type for IDB"; + } + leaf is-or-event { + type boolean; + description + "Is OR event for IDB"; + } + leaf or-im-state { + type Im-state-enum; + description + "OR IM state type"; + } + leaf or-im-state-rcvd { + type Im-state-enum; + description + "Rcvd OR IM state type"; + } + leaf or-im-state-constraint { + type Im-state-enum; + description + "Rcvd OR IM constraint state type"; + } + leaf idb-pointer { + type uint64; + description + "idb pointer value"; + } + leaf sub-gw-address { + type inet:ipv4-address; + description + "secondary gateway address of the interface"; + } + leaf gw-prefix-length { + type uint32; + description + "Prefix length of gateway address"; + } + leaf gw-address-rcvd { + type boolean; + description + "Gateway address received"; + } + list multicast-group { + description + "Multicast groups joined on the interface"; + uses MCAST-GROUP; + } + list secondary-address { + description + "Secondary addresses on the interface"; + uses IP-ADDR-NODE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper.yang new file mode 100644 index 000000000..d9c56a4c6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ma-oper.yang @@ -0,0 +1,114 @@ +module Cisco-IOS-XR-ipv4-ma-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ma-oper"; + prefix ipv4-ma-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv4-io-oper { + prefix a1; + } + include Cisco-IOS-XR-ipv4-ma-oper-sub1 { + revision-date 2021-03-26; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ma package operational data. + + This YANG module augments the + Cisco-IOS-XR-ipv4-io-oper + module with state data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-26 { + description + "Added few bag fields."; + semver:module-version "1.1.0"; + } + revision 2019-10-25 { + description + "Updated description to few bag fields."; + semver:module-version "1.0.2"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-08-23 { + description + "IPV4 MA schema file has all the latest changes."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:ipv4-network" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-ipv4-io-oper'"; + container interfaces { + description + "IPv4 network operational interface data"; + list interface { + key "interface-name"; + description + "Interface names with VRF"; + container vrfs { + description + "List of VRF on the interface"; + list vrf { + key "vrf-name"; + description + "VRF information on the interface"; + container detail { + description + "Detail IPv4 network operational data for an + interface"; + uses IPV4-IF-DETAIL; + } + container brief { + description + "Brief IPv4 network operational data for an + interface"; + uses IPV4-IF-BRIEF; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The VRF name"; + } + } + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-mfwd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-mfwd-cfg.yang new file mode 100644 index 000000000..e4056ec87 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-mfwd-cfg.yang @@ -0,0 +1,385 @@ +module Cisco-IOS-XR-ipv4-mfwd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-mfwd-cfg"; + prefix ipv4-mfwd-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-mfwd package configuration. + + This module contains definitions + for the following management objects: + mfwd: Multicast routing configuration + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-02 { + description + "IOS-XR MFWD TreeSID configuration"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2016-06-01 { + description + "Initial IOS-XR MFWD native model"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Accounting-mode { + type enumeration { + enum "enable" { + value 0; + description + "Enable per (S,G) accounting"; + } + enum "forward-only-enable" { + value 1; + description + "Enable per (S,G) forward-only accounting"; + } + } + description + "Accounting mode"; + } + + grouping MOFRR-LOSS-DETECTION-TIMER-CONFIG { + description + "Common node of ipv4, ipv6"; + leaf mofrr-loss-detection-timer-config { + type uint32 { + range "1..3600"; + } + description + "Mofrr Loss Detection timer value"; + } + } + + grouping INTERFACE-INHERITANCE-DISABLE { + description + "Common node of ipv4, ipv6"; + leaf interface-inheritance-disable { + type empty; + description + "Disable interface inheritance configuration"; + } + } + + grouping STATIC-RPF-RULE-TABLE { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + container static-rpf-rules { + description + "Configure a static RPF rule for a given prefix"; + list static-rpf-rule { + key "address prefix-mask"; + description + "RPF prefix address and mask"; + leaf address { + type inet:ip-address-no-zone; + description + "IP address of the RPF prefix"; + } + leaf prefix-mask { + type uint32 { + range "0..128"; + } + description + "Prefix mask of the RPF Prefix"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address of the RPF Prefix"; + } + leaf interface-name { + type xr:Interface-name; + mandatory true; + description + "The name of the RPF interface"; + } + } + } + } + + grouping FORWARDING-LATENCY { + description + "Common node of ipv4, ipv6"; + leaf forwarding-latency { + type uint32 { + range "5..500"; + } + units "millisecond"; + description + "Knob to delay traffic being forwarded on a route"; + } + } + + grouping STATIC-SR-POLICY-TABLE { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + container static-sr-policies { + description + "Configure a static Segment Routing Policy"; + list static-sr-policy { + key "sr-policy-name"; + description + "SR P2MP Policy for Multicast"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + " SRPolicy Name"; + } + leaf ingress { + type uint32; + description + "Ingress"; + } + leaf no-value { + type uint32; + description + "NoValue"; + } + leaf ip-addr { + type string; + description + "Ingress Address"; + } + } + } + } + + grouping LOG-TRAPS { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + leaf log-traps { + type empty; + description + "Enable logging trap event"; + } + } + + grouping MULTICAST-FORWARDING { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + leaf multicast-forwarding { + type empty; + description + "Enable IP multicast routing and forwarding"; + } + } + + grouping MOFRR-LOCKOUT-TIMER-CONFIG { + description + "Common node of ipv4, ipv6"; + leaf mofrr-lockout-timer-config { + type uint32 { + range "1..3600"; + } + description + "Mofrr Lockout timer value"; + } + } + + grouping INTERFACE-TABLE { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + container interfaces { + description + "Interface-level Configuration"; + list interface { + key "interface-name"; + description + "The name of the interface"; + leaf ttl-threshold { + type uint32 { + range "1..255"; + } + description + "TTL threshold for multicast packets"; + } + leaf enable-on-interface { + type boolean; + description + "Enable or disable IP multicast on the + interface"; + } + leaf boundary { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Boundary for administratively scoped multicast + addresses"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + } + + grouping ENABLE-ON-ALL-INTERFACES { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + leaf enable-on-all-interfaces { + type empty; + description + "Configure all interfaces for multicast routing + and forwarding"; + } + } + + grouping RATE-PER-ROUTE { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + leaf rate-per-route { + type empty; + description + "Enable per (S,G) rate calculation"; + } + } + + grouping ACCOUNTING { + description + "Common node of ipv4, ipv6, ipv4, ipv6"; + leaf accounting { + type Accounting-mode; + description + "Per-prefix accounting mode"; + } + } + + grouping MAXIMUM-CHECKING-DISABLE { + description + "Common node of ipv4, ipv6"; + leaf maximum-checking-disable { + type empty; + description + "Disable state limit maximum checking"; + } + } + + container mfwd { + description + "Multicast routing configuration"; + container default-context { + description + "Default Context"; + container ipv6 { + description + "IPV6 commands in the default context"; + uses ENABLE-ON-ALL-INTERFACES; + uses MAXIMUM-CHECKING-DISABLE; + uses STATIC-SR-POLICY-TABLE; + uses RATE-PER-ROUTE; + uses INTERFACE-INHERITANCE-DISABLE; + uses STATIC-RPF-RULE-TABLE; + uses MOFRR-LOCKOUT-TIMER-CONFIG; + uses FORWARDING-LATENCY; + uses MOFRR-LOSS-DETECTION-TIMER-CONFIG; + uses INTERFACE-TABLE; + uses MULTICAST-FORWARDING; + uses LOG-TRAPS; + uses ACCOUNTING; + } + container ipv4 { + description + "IPV4 commands in the default context"; + leaf out-of-memory-handling { + type empty; + description + "Enable out-of-memory handling"; + } + uses ENABLE-ON-ALL-INTERFACES; + uses MAXIMUM-CHECKING-DISABLE; + uses STATIC-SR-POLICY-TABLE; + uses RATE-PER-ROUTE; + uses INTERFACE-INHERITANCE-DISABLE; + uses STATIC-RPF-RULE-TABLE; + uses MOFRR-LOCKOUT-TIMER-CONFIG; + uses FORWARDING-LATENCY; + uses MOFRR-LOSS-DETECTION-TIMER-CONFIG; + uses INTERFACE-TABLE; + uses MULTICAST-FORWARDING; + uses LOG-TRAPS; + uses ACCOUNTING; + } + } + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF table names"; + container ipv6 { + description + "VRF table for IPV6 commands"; + uses ENABLE-ON-ALL-INTERFACES; + uses STATIC-SR-POLICY-TABLE; + uses RATE-PER-ROUTE; + uses STATIC-RPF-RULE-TABLE; + uses INTERFACE-TABLE; + uses MULTICAST-FORWARDING; + uses LOG-TRAPS; + uses ACCOUNTING; + } + container ipv4 { + description + "VRF table for IPV4 commands"; + uses ENABLE-ON-ALL-INTERFACES; + uses STATIC-SR-POLICY-TABLE; + uses RATE-PER-ROUTE; + uses STATIC-RPF-RULE-TABLE; + uses INTERFACE-TABLE; + uses MULTICAST-FORWARDING; + uses LOG-TRAPS; + uses ACCOUNTING; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-msdp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-msdp-cfg.yang new file mode 100644 index 000000000..3e1c40923 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-msdp-cfg.yang @@ -0,0 +1,396 @@ +module Cisco-IOS-XR-ipv4-msdp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-msdp-cfg"; + prefix ipv4-msdp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-msdp package configuration. + + This module contains definitions + for the following management objects: + msdp: MSDP Configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Msdp-filter-type-vrf { + type enumeration { + enum "incoming" { + value 1; + description + "Incoming Mode"; + } + enum "outgoing" { + value 2; + description + "Outgoing Mode"; + } + } + description + "Msdp filter type vrf"; + } + + typedef Msdp-list-type-vrf { + type enumeration { + enum "list" { + value 3; + description + "List"; + } + enum "rp-list" { + value 4; + description + "RPList"; + } + } + description + "Msdp list type vrf"; + } + + grouping TTL-THRESHOLD { + description + "Common node of default-context, vrf, peer"; + leaf ttl-threshold { + type uint32 { + range "1..255"; + } + description + "Configure TTL Threshold for MSDP Peer"; + } + } + + grouping ORIGINATOR-ID { + description + "Common node of default-context, vrf"; + leaf originator-id { + type xr:Interface-name; + description + "Configure interface name used as originator ID"; + } + } + + grouping PEER-TABLE { + description + "Common node of default-context, vrf"; + container peers { + description + "Entering Peer Configuration"; + list peer { + key "peer-address"; + description + "Peer address"; + container remote-as { + presence "Indicates a remote-as node is configured."; + description + "Configure the remote AS of this peer"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "First half of ASN in asdot format or 0 in + asplain"; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "Second half of ASN in asdot format or + complete ASN in asplain"; + } + } + leaf shutdown { + type empty; + description + "MSDP Peer Shutdown"; + } + leaf description { + type string { + length "1..80"; + } + description + "Up to 80 characters describing this peer"; + } + leaf enable { + type empty; + description + "Enabling Peer Configuration"; + } + leaf max-sa { + type uint32 { + range "1..75000"; + } + description + "Maximum SA accepted from this peer"; + } + leaf nsr-down { + type empty; + description + "Disable NSR for the peer"; + } + leaf peer-password { + type xr:Proprietary-password; + description + "Configuration of password of peer"; + } + leaf mesh-group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Configure an MSDP mesh-group"; + } + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "Peer address"; + } + uses TTL-THRESHOLD; + uses KEEP-ALIVE; + uses CONNECT-SOURCE; + uses SA-FILTER-TABLE; + } + } + } + + grouping MAX-PEER-SA { + description + "Common node of default-context, vrf"; + leaf max-peer-sa { + type uint32 { + range "1..75000"; + } + description + "Configure inheritable MAX SA state for peers"; + } + } + + grouping KEEP-ALIVE { + description + "Common node of default-context, vrf, peer"; + container keep-alive { + presence "Indicates a keep-alive node is configured."; + description + "MSDP keep alive period"; + leaf keep-alive-period { + type uint32 { + range "1..60"; + } + units "second"; + mandatory true; + description + "Keep alive period in seconds"; + } + leaf peer-timeout-period { + type uint32 { + range "1..75"; + } + units "second"; + mandatory true; + description + "Peer timeout period in seconds"; + } + } + } + + grouping CONNECT-SOURCE { + description + "Common node of default-context, vrf, peer"; + leaf connect-source { + type xr:Interface-name; + description + "Configure interface name used for MSDP + connection"; + } + } + + grouping DEFAULT-PEER { + description + "Common node of default-context, vrf"; + leaf default-peer { + type inet:ipv4-address-no-zone; + description + "Configure default peers for the box"; + } + } + + grouping MAX-SA { + description + "Common node of default-context, vrf"; + leaf max-sa { + type uint32 { + range "1..75000"; + } + description + "Configure context's MAX SA state for the router"; + } + } + + grouping SA-FILTER-TABLE { + description + "Common node of default-context, vrf, peer"; + container sa-filters { + description + "Filter SA messages from peer"; + list sa-filter { + key "list filter-type"; + description + "SA-Filter incoming/outgoing list or RPlist"; + leaf list { + type Msdp-list-type-vrf; + description + "Src List/RP List"; + } + leaf filter-type { + type Msdp-filter-type-vrf; + description + "Incoming/Outgoing ACL"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access list name"; + } + } + } + } + + grouping CACHE-STATE { + description + "Common node of default-context, vrf"; + container cache-state { + description + "Configure this systems SA cache access-lists"; + leaf sa-holdtime { + type uint32 { + range "150..3600"; + } + units "second"; + default "150"; + description + "SA State Holdtime period"; + } + leaf list { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access list name"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list for originating RP"; + } + } + } + + container msdp { + description + "MSDP Configuration"; + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF Name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses TTL-THRESHOLD; + uses MAX-PEER-SA; + uses DEFAULT-PEER; + uses ORIGINATOR-ID; + uses MAX-SA; + uses CACHE-STATE; + uses KEEP-ALIVE; + uses PEER-TABLE; + uses CONNECT-SOURCE; + uses SA-FILTER-TABLE; + } + } + container default-context { + description + "Default Context"; + uses TTL-THRESHOLD; + uses MAX-PEER-SA; + uses DEFAULT-PEER; + uses ORIGINATOR-ID; + uses MAX-SA; + uses CACHE-STATE; + uses KEEP-ALIVE; + uses PEER-TABLE; + uses CONNECT-SOURCE; + uses SA-FILTER-TABLE; + } + leaf global-max-sa { + type uint32 { + range "1..75000"; + } + description + "Configure the global MAX SA state for the router"; + } + leaf nsr-delay { + type uint32 { + range "5..90"; + } + units "second"; + description + "NSR-Ready delay period for MSDP Peer"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-act.yang new file mode 100644 index 000000000..6f808987e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-act.yang @@ -0,0 +1,307 @@ +module Cisco-IOS-XR-ipv4-ospf-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-act"; + prefix ospf-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR OSPF action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-13 { + description + "Added xr-task name ospf to restrict unlimited permission"; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-09-14 { + description + "IOS XR 6.2.1 revision."; + } + + grouping OSPF-STAT-ATTRIBUTES { + description + "OSPF Stat Attributes"; + leaf process { + type empty; + description + "Reset OSPF process"; + } + leaf redistribution { + type empty; + description + "Clear OSPF route redistrbution"; + } + leaf route { + type empty; + description + "Clear OSPF route table"; + } + container stats { + description + "OSPF counters and statistics"; + leaf spf { + type empty; + description + "SPF statistics"; + } + leaf message-queue { + type empty; + description + "Message-queue statistics"; + } + container interface { + description + "OSPF interface statistics"; + leaf interface-name { + type xr:Interface-name; + description + "OSPF Interface name"; + } + } + container neighbor { + description + "Neighbor statistics per interface or neighbor id"; + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + container interface { + description + "OSPF Interface"; + leaf interface-name { + type xr:Interface-name; + description + "OSPF interface statistics"; + } + } + } + } + } + + rpc clear-ospf-routes { + description + "Clear OSPF route table"; + input { + container instance { + description + "Clear data from OSPF instance"; + leaf instance-identifier { + type string; + description + "OSPF process instance identifier"; + } + } + leaf route { + type empty; + mandatory true; + description + "Clear OSPF route table"; + } + } + } + rpc clear-ospf-redistribution { + description + "Clear OSPF route redistribution"; + input { + container instance { + description + "Clear data from OSPF instance"; + leaf instance-identifier { + type string; + description + "OSPF process instance identifier"; + } + } + leaf redistribution { + type empty; + mandatory true; + description + "Clear OSPF route redistribution"; + } + } + } + rpc clear-ospf-statistics { + description + "Clear OSPF counters and statistics"; + input { + container instance { + description + "Clear data from OSPF instance"; + leaf instance-identifier { + type string; + description + "OSPF process instance identifier"; + } + } + leaf all { + type empty; + description + "All OSPF counters and statistics"; + } + leaf message-queue { + type empty; + description + "Message-queue statistics"; + } + leaf spf { + type empty; + description + "SPF statistics"; + } + leaf neighbor { + type empty; + description + "Neighbor statistics per neighbor id"; + } + leaf interface-name { + type empty; + description + "OSPF interface statistics"; + } + } + } + rpc clear-ospf-statistics-neighbor { + description + "Clear OSPF neighbor statistics per interface or neighbor id"; + input { + container instance { + description + "Clear data from OSPF instance"; + leaf instance-identifier { + type string; + description + "OSPF process instance identifier"; + } + } + container neighbor { + description + "OSPF neighbor"; + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + rpc clear-ospf-statistics-interface { + description + "Clear OSPF interface statistics"; + input { + container instance { + description + "Clear data from OSPF instance"; + leaf instance-identifier { + type string; + description + "OSPF process instance identifier"; + } + } + container interface { + description + "OSPF interface"; + leaf interface-name { + type xr:Interface-name; + description + "OSPF interface statistics"; + } + } + } + } + rpc clear-ospf-process { + description + "Clear (reset) OSPF process"; + input { + container instance { + description + "Clear data from OSPF instance"; + leaf instance-identifier { + type string; + description + "OSPF process instance identifier"; + } + } + leaf process { + type empty; + mandatory true; + description + "Reset OSPF process"; + } + } + } + rpc clear-ospf-instance-vrf { + description + "Clear one or more non-default OSPF VRFs in process"; + input { + container instance { + description + "OSPF instance name"; + leaf instance-identifier { + type string; + mandatory true; + description + "OSPF process instance identifier"; + } + container vrf { + description + "Clear one or more non-default OSPF VRFs in process"; + leaf vrf-name { + type string; + description + "OSPF VRF name"; + } + uses OSPF-STAT-ATTRIBUTES; + } + container all { + description + "Clear all non-default OSPF VRFs"; + uses OSPF-STAT-ATTRIBUTES; + } + container all-inclusive { + description + "Clear all non-default and default OSPF VRFs"; + uses OSPF-STAT-ATTRIBUTES; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-cfg.yang new file mode 100644 index 000000000..e67fe641f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-cfg.yang @@ -0,0 +1,4434 @@ +module Cisco-IOS-XR-ipv4-ospf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-cfg"; + prefix ipv4-ospf-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ospf package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-ospf-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + ospf: OSPF configuration data + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-29 { + description + "Added CLI to configure adjacency sid deletion delay. + 2021-10-05 + Added nodes to configure te metric for flex algo. + 2021-09-09 + Added CLI command to configure srlg exclude-any."; + semver:module-version "2.1.1m"; + } + revision 2021-07-22 { + description + "Added option to disable LLS capability + 2021-05-12 + Added prefix-metric config to flex-algo"; + semver:module-version "2.1.0"; + } + revision 2020-10-12 { + description + "Added disable option for Delay Anomaly + 2020-10-12 + Added disable option for Delay Anomaly + 2020-09-16 + Added new command for per prefix load balancing + 2020-09-15 + Added new command for Delay Anomaly"; + semver:module-version "2.0.0"; + } + revision 2020-03-19 { + description + "Added new command for Delay Normalization + 2020-02-04 + Added new commands for Conditional Advertising"; + semver:module-version "1.2.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers. + 2019-08-13 + Fixed ordering issue of flex-algo advertise definition and affinity. + 2019-05-12 + Deprecated the native model, replaced by UM model."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-12 { + description + "Added Flex algo configuration"; + } + revision 2018-05-14 { + description + "Removed all start and running leaf nodes that are implicitly set with CLI"; + } + revision 2018-01-31 { + description + "Fixed incorrect plural rendering."; + } + revision 2017-07-14 { + description + "Trace buffer size added in yang xml request repsonse."; + } + revision 2017-06-09 { + description + "Datatype modified to Range for area id, distribute tag and prefix tag."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-02 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ospf-proc-frr-rlfa-tunnel { + type enumeration { + enum "none" { + value 0; + description + "Disabled"; + } + enum "mpls-ldp" { + value 1; + description + "MPLS LDP"; + } + } + description + "Ospf proc frr rlfa tunnel"; + } + + typedef Ospf-sub-address-family { + type enumeration { + enum "unicast" { + value 1; + description + "Unicast"; + } + } + description + "Ospf sub address family"; + } + + typedef Ospf-network { + type enumeration { + enum "broadcast" { + value 1; + description + "Broadcast"; + } + enum "non-broadcast" { + value 2; + description + "NonBroadcast"; + } + enum "point-to-point" { + value 3; + description + "Point to Point"; + } + enum "point-to-multipoint" { + value 4; + description + "Point to Multipoint"; + } + enum "non-broadcast-point-to-multipoint" { + value 5; + description + "NonBroadcast Point to Multipoint"; + } + } + description + "Ospf network"; + } + + typedef Ospf-fast-reroute-tiebreakers-intf { + type enumeration { + enum "downstream" { + value 0; + description + "Downstream"; + } + enum "line-card-disjoint" { + value 1; + description + "LC Disjoint"; + } + enum "lowest-metric" { + value 2; + description + "Lowest metric"; + } + enum "node-protect" { + value 3; + description + "Node protection"; + } + enum "primary-path" { + value 4; + description + "Primary path"; + } + enum "secondary-path" { + value 5; + description + "Secondar path"; + } + enum "srlg-disjoint" { + value 6; + description + "SRLG"; + } + enum "interface-disjoint" { + value 7; + description + "Intf Disjoint"; + } + } + description + "Ospf fast reroute tiebreakers intf"; + } + + typedef Ospf-authentication { + type enumeration { + enum "none" { + value 0; + description + "No Authentication"; + } + enum "plain" { + value 1; + description + "Plain Text Authentication"; + } + enum "md5" { + value 2; + description + "MD5 Message Digest"; + } + enum "keychain" { + value 3; + description + "Keychain Authentication"; + } + } + description + "Ospf authentication"; + } + + typedef Ospf-eigrp-route { + type enumeration { + enum "internal" { + value 0; + description + "EIGRP Internal Type"; + } + enum "external" { + value 1; + description + "EIGRP External Type"; + } + } + description + "Ospf eigrp route"; + } + + typedef Ospf-sid { + type enumeration { + enum "index" { + value 0; + description + "Index"; + } + enum "absolute" { + value 1; + description + "Absolute"; + } + } + description + "Ospf sid"; + } + + typedef Ospf-link-state-metric { + type enumeration { + enum "type1" { + value 1; + description + "Type 1 External"; + } + enum "type2" { + value 2; + description + "Type 2 External"; + } + } + description + "Ospf link state metric"; + } + + typedef Ospf-keychain-auth { + type enumeration { + enum "none" { + value 0; + description + "No Keychain Authentication"; + } + enum "keychain" { + value 3; + description + "Keychain Authentication"; + } + } + description + "Ospf keychain auth"; + } + + typedef Ospf-fast-reroute-tiebreakers { + type enumeration { + enum "downstream" { + value 0; + description + "Downstream"; + } + enum "line-card-disjoint" { + value 1; + description + "LC Disjoint"; + } + enum "lowest-metric" { + value 2; + description + "Lowest metric"; + } + enum "node-protect" { + value 3; + description + "Node protection"; + } + enum "primary-path" { + value 4; + description + "Primary path"; + } + enum "secondary-path" { + value 5; + description + "Secondar path"; + } + enum "srlg-disjoint" { + value 6; + description + "SRLG"; + } + enum "interface-disjoint" { + value 7; + description + "Intf Disjoint"; + } + } + description + "Ospf fast reroute tiebreakers"; + } + + typedef Ospf-uloop-avoidance { + type enumeration { + enum "protected" { + value 1; + description + "Protected prefixes only"; + } + enum "all" { + value 2; + description + "All prefixes"; + } + enum "segment-routing" { + value 3; + description + "Microloop avoidance using Segment Routing"; + } + } + description + "Ospf uloop avoidance"; + } + + typedef Ospf-shutdown { + type enumeration { + enum "full" { + value 1; + description + "Full graceful shutdown"; + } + enum "hostmode" { + value 2; + description + "Enter host only mode"; + } + enum "onreload" { + value 3; + description + "Full graceful shutdown post reload"; + } + } + description + "Ospf shutdown"; + } + + typedef Ospf-domain-id { + type enumeration { + enum "type0005" { + value 5; + description + "Type 0x0005"; + } + enum "type0105" { + value 261; + description + "Type 0x0105"; + } + enum "type0205" { + value 517; + description + "Type 0x0205"; + } + enum "type8005" { + value 32773; + description + "Type 0x8005"; + } + } + description + "Ospf domain id"; + } + + typedef Ospf-frr-rlfa-tunnel { + type enumeration { + enum "none" { + value 0; + description + "Disabled"; + } + enum "mpls-ldp" { + value 1; + description + "MPLS LDP"; + } + } + description + "Ospf frr rlfa tunnel"; + } + + typedef Ospf-log-adj { + type enumeration { + enum "brief" { + value 0; + description + "Limited output"; + } + enum "detail" { + value 1; + description + "Verbose output"; + } + enum "suppress" { + value 2; + description + "No output"; + } + } + description + "Ospf log adj"; + } + + typedef Ospf-fast-reroute { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "per-link" { + value 1; + description + "Per link"; + } + enum "per-prefix" { + value 2; + description + "Per prefix"; + } + } + description + "Ospf fast reroute"; + } + + typedef Ospf-penalty { + type enumeration { + enum "inc" { + value 0; + description + "increment"; + } + enum "mult" { + value 1; + description + "multiplier"; + } + enum "val" { + value 2; + description + "value"; + } + enum "disable" { + value 3; + description + "disable"; + } + } + description + "Ospf penalty"; + } + + typedef Ospf-cisco-nsf { + type enumeration { + enum "always" { + value 1; + description + "Do not require all neighbors to run NSF"; + } + enum "require-nsf-neighbors" { + value 2; + description + "Require all neighbors to run NSF"; + } + } + description + "Ospf cisco nsf"; + } + + typedef Ospf-proc-fast-reroute { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "per-link" { + value 1; + description + "Per link"; + } + enum "per-prefix" { + value 2; + description + "Per prefix"; + } + } + description + "Ospf proc fast reroute"; + } + + typedef Ospf-redist-lsa { + type enumeration { + enum "summary" { + value 3; + description + "Type 3 (summary) LSA"; + } + enum "external" { + value 5; + description + "Type 5 (external) LSA"; + } + } + description + "Ospf redist lsa"; + } + + typedef Ospf-dist-list-protocol { + type enumeration { + enum "all" { + value 0; + description + "Default"; + } + enum "connected" { + value 1; + description + "Connected Routes"; + } + enum "static" { + value 3; + description + "Static Routes"; + } + enum "bgp" { + value 4; + description + "BGP"; + } + enum "ospf" { + value 7; + description + "OSPF"; + } + enum "dagr" { + value 9; + description + "DAGR"; + } + } + description + "Ospf dist list protocol"; + } + + typedef Bfd-enable-mode { + type enumeration { + enum "disable" { + value 0; + description + "Disable Mode - Prevent inheritance"; + } + enum "default" { + value 1; + description + "Default Mode - Default BFD behavior"; + } + enum "strict" { + value 2; + description + "Strict Mode - Hold down adj until BFD sesion up"; + } + } + description + "Bfd enable mode"; + } + + typedef Ospf-flex-algo-metric { + type enumeration { + enum "delay" { + value 1; + description + "Delay"; + } + enum "te-metric" { + value 2; + description + "TE Metric"; + } + } + description + "Ospf flex algo metric"; + } + + typedef Ospf-segment-routing-forwarding { + type enumeration { + enum "disable" { + value 0; + description + "Disable"; + } + enum "mpls" { + value 1; + description + "Mpls"; + } + } + description + "Ospf segment routing forwarding"; + } + + typedef Ospf-ietf-nsf { + type enumeration { + enum "all" { + value 3; + description + "Use IETF NSF in planned and unplanned cases"; + } + } + description + "Ospf ietf nsf"; + } + + typedef Nsr { + type enumeration { + enum "true" { + value 1; + description + "Enable non-stop routing"; + } + enum "false" { + value 2; + description + "Disable non-stop routing"; + } + } + description + "Nsr"; + } + + typedef Ospf-trace-buf-size { + type enumeration { + enum "size0" { + value 0; + description + "Disable trace"; + } + enum "size256" { + value 256; + description + "Buffer size 256"; + } + enum "size512" { + value 512; + description + "Buffer size 512"; + } + enum "size1024" { + value 1024; + description + "Buffer size 1024"; + } + enum "size2048" { + value 2048; + description + "Buffer size 2048"; + } + enum "size4096" { + value 4096; + description + "Buffer size 4096"; + } + enum "size8192" { + value 8192; + description + "Buffer size 8192"; + } + enum "size16384" { + value 16384; + description + "Buffer size 16384"; + } + enum "size32768" { + value 32768; + description + "Buffer size 32768"; + } + enum "size65536" { + value 65536; + description + "Buffer size 65536"; + } + } + description + "Ospf trace buf size"; + } + + typedef Ospf-redist-protocol { + type enumeration { + enum "all" { + value 0; + description + "Default"; + } + enum "connected" { + value 1; + description + "Connected Routes"; + } + enum "static" { + value 3; + description + "Static Routes"; + } + enum "bgp" { + value 4; + description + "BGP"; + } + enum "rip" { + value 5; + description + "RIP"; + } + enum "isis" { + value 6; + description + "ISIS"; + } + enum "ospf" { + value 7; + description + "OSPF"; + } + enum "eigrp" { + value 8; + description + "EIGRP"; + } + enum "dagr" { + value 9; + description + "DAGR"; + } + enum "subscriber" { + value 10; + description + "Subscriber Routes"; + } + enum "application" { + value 11; + description + "Application Routes"; + } + enum "mobile" { + value 12; + description + "Mobile Routes"; + } + } + description + "Ospf redist protocol"; + } + + typedef Ospf-route-level { + type enumeration { + enum "type1" { + value 1; + description + "Type 1 only"; + } + enum "type2" { + value 2; + description + "Type 2 only"; + } + enum "type1-and2" { + value 3; + description + "Both Type 1 and Type 2"; + } + } + description + "Ospf route level"; + } + + typedef Ospf-ietf-nsf-support { + type enumeration { + enum "never" { + value 0; + description + "Do not perform IETF NSF helper role"; + } + } + description + "Ospf ietf nsf support"; + } + + typedef Ospf-segment-routing { + type enumeration { + enum "disable" { + value 0; + description + "Disable"; + } + enum "mpls" { + value 1; + description + "Mpls"; + } + } + description + "Ospf segment routing"; + } + + typedef Ospf-address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4"; + } + } + description + "Ospf address family"; + } + + typedef Ospf-fast-reroute-priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical"; + } + enum "high" { + value 2; + description + "High"; + } + enum "medium" { + value 4; + description + "Medium"; + } + enum "low" { + value 6; + description + "low"; + } + } + description + "Ospf fast reroute priority"; + } + + grouping COST-FALLBACK-ANAMOLY-DELAY-TE { + description + "Common node of process-scope, area-scope, + name-scope"; + container cost-fallback-anamoly-delay-te { + description + "Interface delay igp-metric fallback cost"; + leaf penalty-type { + type Ospf-penalty; + description + "Type of penalty"; + } + leaf value { + type uint32 { + range "1..65535"; + } + description + "Fallback cost of link"; + } + } + } + + grouping DISTANCE { + description + "Common node of default-vrf, vrf"; + container distance { + description + "Administrative distance configuration"; + container ospf-distance { + description + "OSPF distance configuration"; + leaf intra-area { + type uint32 { + range "1..255"; + } + default "110"; + description + "Distance for intra-area routes"; + } + leaf inter-area { + type uint32 { + range "1..255"; + } + default "110"; + description + "Distance for inter-area routes"; + } + leaf external-routes { + type uint32 { + range "1..255"; + } + default "110"; + description + "Distance for external type 5 and type 7 routes"; + } + } + container ip-distances { + description + "IP specific administrative distance + configuration"; + list ip-distance { + key "address wildcard"; + description + "Administrative distance configuration for a + particular IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP source address"; + } + leaf wildcard { + type inet:ipv4-address-no-zone; + description + "IP wild card bits -- inverted mask"; + } + leaf distance { + type uint32 { + range "1..255"; + } + default "110"; + description + "Administrative distance"; + } + leaf access-list-name { + type string; + description + "Access Control List name"; + } + } + } + leaf admin-distance { + type uint32 { + range "1..255"; + } + default "110"; + description + "Define an administrative distance"; + } + } + } + + grouping MAX-METRIC { + description + "Common node of default-vrf, vrf"; + container max-metric { + description + "Set maximum metric configuration"; + container max-metric-on-proc-restart { + description + "Set maximum metric on-proc-restart + configuration"; + leaf wait-for-bgp { + type boolean; + default "false"; + description + "Let BGP decide when to originate router-LSA + with normal metric"; + } + leaf startup-max { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time in seconds to originate router-LSA with + max-metric"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + description + "Overriding metric in external-LSAs (default + 16711680)"; + } + } + container max-metric-on-startup { + description + "Set maximum metric on-startup configuration"; + leaf wait-for-bgp { + type boolean; + default "false"; + description + "Let BGP decide when to originate router-LSA + with normal metric"; + } + leaf startup-max { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time in seconds to originate router-LSA with + max-metric"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + description + "Overriding metric in external-LSAs (default + 16711680)"; + } + } + container max-metric-on-proc-migration { + description + "Set maximum metric on-proc-migration + configuration"; + leaf wait-for-bgp { + type boolean; + default "false"; + description + "Let BGP decide when to originate router-LSA + with normal metric"; + } + leaf startup-max { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time in seconds to originate router-LSA with + max-metric"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + description + "Overriding metric in external-LSAs (default + 16711680)"; + } + } + container max-metric-always { + description + "Set maximum metric always configuration"; + leaf include-stub { + type boolean; + default "false"; + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + description + "Overriding metric in external-LSAs (default + 16711680)"; + } + } + container max-metric-on-switchover { + description + "Set maximum metric on-switchover configuration"; + leaf wait-for-bgp { + type boolean; + default "false"; + description + "Let BGP decide when to originate router-LSA + with normal metric"; + } + leaf startup-max { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time in seconds to originate router-LSA with + max-metric"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + 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-maximum-metric { + type uint32 { + range "1..16777215"; + } + description + "Overriding metric in external-LSAs (default + 16711680)"; + } + } + leaf max-metric-no-abr-off { + type empty; + description + "Block ABR-disable mode entry while in + max-metric mode"; + } + } + } + + grouping DEMAND-CIRCUIT { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf demand-circuit { + type boolean; + default "false"; + description + "Enable/Disable OSPF demand circuit"; + } + } + + grouping TE-METRIC-FLEX { + description + "Common node of name-scope, + multi-area-interface-scope"; + leaf te-metric-flex { + type uint32 { + range "1..2147483647"; + } + description + "Interface TE Metric for flex algo application"; + } + } + + grouping MAXIMUM-INTERFACES { + description + "Common node of default-vrf, vrf"; + leaf maximum-interfaces { + type uint32 { + range "1..4294967295"; + } + default "1024"; + description + "Max number of interfaces allowed to be + configured"; + } + } + + grouping EXCLUDE-INTERFACE-TABLE { + description + "Common node of per-link, per-prefix, ucmp"; + container exclude-interfaces { + description + "Fast-reroute per-link/per-prefix or UCMP exclude + interface configuration"; + list exclude-interface { + key "interface-name"; + description + "Exclude an interface from becoming a backup or + UCMP"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + + grouping IPV4-OSPF-FRR-CFG-EXCLUDE-INTERFACE-TABLE { + description + "Common node of per-link, per-prefix, ucmpCommon + node of per-link, per-prefix"; + container exclude-interfaces { + description + "Fast-reroute per-link/per-prefix or UCMP exclude + interface configuration"; + list exclude-interface { + key "interface-name"; + description + "Exclude an interface from becoming a backup or + UCMP"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + + grouping TRANSMIT-DELAY { + description + "Common node of process-scope, area-scope, + name-scope, virtual-link-scope, sham-link-scope, + multi-area-interface-scope"; + leaf transmit-delay { + type uint32 { + range "1..65535"; + } + units "second"; + default "1"; + description + "Number of seconds to delay transmission of LSAs"; + } + } + + grouping NO-OPAQUE { + description + "Common node of default-vrf, vrf"; + leaf no-opaque { + type empty; + description + "Disable opaque LSAs"; + } + } + + grouping COST-FALLBACK { + description + "Common node of process-scope, area-scope, + name-scope, multi-area-interface-scope"; + container cost-fallback { + description + "Interface fallback cost"; + leaf cost { + type uint32 { + range "1..65535"; + } + description + "Fallback cost of link"; + } + leaf threshold { + type uint32 { + range "1..4294967"; + } + description + "Bandwidth threshold"; + } + } + } + + grouping SEGMENT-ROUTING { + description + "Common node of process-scope, area"; + leaf segment-routing { + type Ospf-segment-routing; + description + "segment-routing configuration Applicable only in + Default VRF"; + } + } + + grouping SUMMARY-IN { + description + "Common node of process-scope, area"; + leaf summary-in { + type boolean; + description + "Enable/Disable an OSPF area to advertise + external prefixes into this area as summary"; + } + } + + grouping LDP-AUTO-CONFIG { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf ldp-auto-config { + type empty; + description + "Enable MPLS LDP Auto Config"; + } + } + + grouping PASSIVE { + description + "Common node of process-scope, area-scope, + name-scopeCommon node of process-scope, + area-scope, name-scope, + multi-area-interface-scope"; + leaf passive { + type boolean; + default "false"; + description + "When enabled, prevent sending HELLO packets over + link"; + } + } + + grouping AREA-TABLE { + description + "Common node of default-vrf, vrf"; + container area-addresses { + description + "Area configuration"; + + grouping AREA-CONTENT { + description + "AREA CONTENT"; + container virtual-link-scopes { + description + "Virtual Link scope configurations"; + list virtual-link-scope { + key "address"; + description + "Virtual Link configuration"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Router ID of virtual link neighbor"; + } + uses AUTHENTICATION; + uses HELLO-INTERVAL; + uses TRANSMIT-DELAY; + uses DEAD-INTERVAL-MINIMAL; + uses RETRANSMIT-INTERVAL; + } + } + container sham-link-scopes { + description + "Sham Link scope configurations"; + list sham-link-scope { + key "source-address destination-address"; + description + "Sham Link configuration"; + leaf source { + type inet:ipv4-address-no-zone; + description + "Address of the local sham-link endpoint. + Enter an IP Address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Address of the local sham-link endpoint"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Address of the remote sham-link endpoint"; + } + uses COST; + uses AUTHENTICATION; + uses HELLO-INTERVAL; + uses TRANSMIT-DELAY; + uses DEAD-INTERVAL-MINIMAL; + uses RETRANSMIT-INTERVAL; + } + } + container area-scope { + description + "Area scope configuration"; + uses COST-FALLBACK-ANAMOLY-DELAY-TE; + uses DISTRIBUTE-LIST; + uses COST; + uses BFD; + uses WEIGHT; + uses PREFIX-SUPPRESSION-PRIMARY; + uses MTU-IGNORE; + uses AUTHENTICATION; + uses LDP-SYNC-IGP-SHORTCUTS; + uses LDP-AUTO-CONFIG; + uses SECURITY; + uses DELAY-NORM-INTERVAL; + uses NETWORK-TYPE; + uses HELLO-INTERVAL; + uses LOOPBACK-STUB-NETWORK; + uses PREFIX-SUPPRESSION-SECONDARY; + uses DEMAND-CIRCUIT; + uses PASSIVE; + uses TRANSMIT-DELAY; + uses PACKET-SIZE; + uses LDP-SYNC; + uses DATABASE-FILTER; + uses DEAD-INTERVAL-MINIMAL; + uses IPV4-OSPF-FRR-CFG-FAST-REROUTE; + uses LINK-DOWN-FAST-DETECT; + uses SEGMENT-ROUTING-FORWARDING; + uses RETRANSMIT-INTERVAL; + uses IPV4-OSPF-CFG-PRIORITY; + uses COST-FALLBACK-ANAMOLY-DELAY-IGP; + uses FLOOD-REDUCTION; + uses COST-FALLBACK; + } + container name-scopes { + description + "Name scope configurations"; + list name-scope { + key "interface-name"; + description + "Name scope configuration"; + container flex-algo-prefix-sids { + description + "Prefix SID"; + list flex-algo-prefix-sid { + key "flexalgo"; + description + "Flex-algo prefix sid configuration"; + leaf flexalgo { + type uint32 { + range "128..255"; + } + description + "Flexalgo value"; + } + leaf sid-value { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "SID value"; + } + leaf explicit-null { + type boolean; + default "false"; + description + "Force Penultimate Hop To Send + Explicit-Null Label"; + } + leaf type { + type Ospf-sid; + mandatory true; + description + "OSPF SID Type"; + } + leaf n-flag-clear { + type boolean; + default "false"; + description + "Not a node SID"; + } + } + } + container adjacency-sids { + description + "Configured Adjacency SID information"; + list adjacency-sid { + key "sid-type sid-value"; + description + "Configured Adjacency SID"; + leaf sid-type { + type Ospf-sid; + description + "OSPF Adj SID Type"; + } + leaf sid-value { + type uint32 { + range "0..1048575"; + } + description + "SID Value"; + } + leaf protected { + type boolean; + default "false"; + description + "Adj SID eligible for protection"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + default "0.0.0.0"; + description + "Neighbor IP address"; + } + } + } + container prefix-sid { + presence "Indicates a prefix-sid node is configured."; + description + "Prefix SID"; + leaf sid-value { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "SID value"; + } + leaf explicit-null { + type boolean; + default "false"; + description + "Force Penultimate Hop To Send Explicit-Null + Label"; + } + leaf type { + type Ospf-sid; + mandatory true; + description + "OSPF SID Type"; + } + leaf n-flag-clear { + type boolean; + default "false"; + description + "Not a node SID"; + } + } + container interface-affinities { + description + "Configure Flex-algo interface affinity"; + list interface-affinity { + key "attribute"; + description + "Configure interface affinity attribute"; + leaf attribute { + type xr:Cisco-ios-xr-string; + description + "attribute name"; + } + } + } + container prefix-sid-strict { + presence "Indicates a prefix-sid-strict node is configured."; + description + "Strict Prefix SID"; + leaf sid-value { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "SID value"; + } + leaf explicit-null { + type boolean; + default "false"; + description + "Force Penultimate Hop To Send Explicit-Null + Label"; + } + leaf type { + type Ospf-sid; + mandatory true; + description + "OSPF SID Type"; + } + leaf n-flag-clear { + type boolean; + default "false"; + description + "Not a node SID"; + } + } + leaf advertise-prefix-policy { + type string; + description + "Route policy name for Conditionally + advertising this prefix"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of Interface to configure"; + } + uses COST-FALLBACK-ANAMOLY-DELAY-TE; + uses DISTRIBUTE-LIST; + uses COST; + uses BFD; + uses WEIGHT; + uses PREFIX-SUPPRESSION-PRIMARY; + uses MTU-IGNORE; + uses AUTHENTICATION; + uses LDP-SYNC-IGP-SHORTCUTS; + uses LDP-AUTO-CONFIG; + uses TE-METRIC-FLEX; + uses SECURITY; + uses DELAY-NORM-INTERVAL; + uses NEIGHBOR-TABLE; + uses NETWORK-TYPE; + uses HELLO-INTERVAL; + uses LOOPBACK-STUB-NETWORK; + uses PREFIX-SUPPRESSION-SECONDARY; + uses DEMAND-CIRCUIT; + uses PASSIVE; + uses TRANSMIT-DELAY; + uses PACKET-SIZE; + uses LDP-SYNC; + uses DATABASE-FILTER; + uses DEAD-INTERVAL-MINIMAL; + uses IPV4-OSPF-FRR-CFG-FAST-REROUTE; + uses LINK-DOWN-FAST-DETECT; + uses SEGMENT-ROUTING-FORWARDING; + uses RETRANSMIT-INTERVAL; + uses IPV4-OSPF-CFG-PRIORITY; + uses COST-FALLBACK-ANAMOLY-DELAY-IGP; + uses FLOOD-REDUCTION; + uses COST-FALLBACK; + } + } + container multi-area-interface-scopes { + description + "Multi Area Interface scope configurations"; + list multi-area-interface-scope { + key "interface-name"; + description + "Multi Area Interface configuration"; + leaf interface-name { + type xr:Interface-name; + description + "Name of Multi Area Interface to configure"; + } + uses DISTRIBUTE-LIST; + uses COST; + uses MTU-IGNORE; + uses AUTHENTICATION; + uses TE-METRIC-FLEX; + uses DELAY-NORM-INTERVAL; + uses NEIGHBOR-TABLE; + uses HELLO-INTERVAL; + uses PASSIVE; + uses TRANSMIT-DELAY; + uses PACKET-SIZE; + uses DATABASE-FILTER; + uses DEAD-INTERVAL-MINIMAL; + uses IPV4-OSPF-FRR-CFG-FAST-REROUTE; + uses RETRANSMIT-INTERVAL; + uses COST-FALLBACK; + } + } + container area-ranges { + description + "Summarize routes matching address/mask (border + routers only)"; + list area-range { + key "address netmask"; + description + "Ordering index"; + leaf not-advertise { + type boolean; + description + "Do not advertise this range"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IP address to match"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IP netmask for address"; + } + } + } + container nssa { + description + "Specify area as a NSSA area"; + leaf no-redistribution { + type boolean; + default "false"; + description + "No redistribution into this NSSA area"; + } + leaf default-info-originate { + type boolean; + default "false"; + description + "Originate Type 7 default into NSSA area"; + } + leaf no-summary { + type boolean; + default "false"; + description + "Do not send summary LSA into NSSA"; + } + leaf nssa-def-metric { + type uint32 { + range "1..16777214"; + } + description + "OSPF default metric"; + } + leaf metric-type { + type Ospf-link-state-metric; + default "type2"; + description + "OSPF External metric type"; + } + } + leaf route-policy-in { + type string; + description + "Configure a route policy for inbound type-3 + lsa filtering"; + } + leaf default-cost { + type uint32 { + range "1..16777215"; + } + default "1"; + description + "Set the summary default-cost of a NSSA/stub + area"; + } + leaf route-policy-out { + type string; + description + "Configure a route policy for outbound type-3 + lsa filtering"; + } + leaf stub { + type boolean; + description + "Specify the area as a stub area (send summary + LSA stub area)"; + } + leaf type7-translate-always { + type boolean; + description + "Translate Type 7 to Type 5, even if not + elected NSSA translator"; + } + leaf mpls-traffic-eng { + type empty; + description + "Configure an OSPF area to run MPLS Traffic + Engineering"; + } + uses EXTERNAL-OUT; + uses SUMMARY-IN; + uses SEGMENT-ROUTING; + } + list area-address { + key "address"; + description + "Configuration for a particular area"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Area ID if in IP address format"; + } + uses AREA-CONTENT; + } + list area-area-id { + key "area-id"; + description + "Configuration for a particular area"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID if in integer format"; + } + uses AREA-CONTENT; + } + } + } + + grouping AUTO-COST { + description + "Common node of default-vrf, vrf"; + container auto-cost { + description + "Controls automatic cost based on bandwidth"; + leaf disable { + type boolean; + default "false"; + description + "Disabling auto costing"; + } + leaf bandwidth { + type uint32 { + range "1..4294967"; + } + units "Mbit/s"; + default "100"; + description + "The reference bandwidth in terms of Mbits per + second"; + } + } + } + + grouping TIMERS { + description + "Common node of default-vrf, vrf"; + container timers { + description + "Adjust routing timers"; + container spf-timer { + description + "OSPF SPF timers (in milliseconds)"; + leaf initial-delay { + type uint32 { + range "1..600000"; + } + units "millisecond"; + default "5000"; + description + "Number of milliseconds before first SPF run"; + } + leaf backoff-increment { + type uint32 { + range "1..600000"; + } + units "millisecond"; + default "10000"; + description + "Number of milliseconds delay between + successive SPF runs"; + } + leaf max-delay { + type uint32 { + range "1..600000"; + } + units "millisecond"; + default "10000"; + description + "Max number of milliseconds between consecutive + SPF calculations"; + } + } + container lsa-generation-timer { + description + "OSPF LSA timers (in milliseconds)"; + leaf initial-delay { + type uint32 { + range "0..600000"; + } + units "millisecond"; + default "50"; + description + "Number of milliseconds before generating first + LSA"; + } + leaf backoff-increment { + type uint32 { + range "1..600000"; + } + units "millisecond"; + default "200"; + description + "Number of milliseconds delay between + successive LSA builds"; + } + leaf max-delay { + type uint32 { + range "1..600000"; + } + units "millisecond"; + default "200"; + description + "Max number of milliseconds between consecutive + LSA builds "; + } + } + leaf lsa-pacing-flood { + type uint32 { + range "5..100"; + } + units "second"; + description + "Seconds between group of LSAs being refreshed + or maxaged"; + } + leaf fast-reroute-timer { + type uint32 { + range "50..600000"; + } + units "millisecond"; + default "500"; + description + "Number of ms between end of SPF and start of + IPFRR computation"; + } + leaf lsa-refresh { + type uint32 { + range "1800..2700"; + } + units "second"; + default "1800"; + description + "How often self-originated LSAs should be + refreshed"; + } + leaf lsa-group-pacing { + type uint32 { + range "10..1800"; + } + units "second"; + default "240"; + description + "LSA group pacing timer (Seconds between group + of LSAs being refreshed or maxaged)"; + } + leaf lsa-min-arrival { + type uint32 { + range "0..600000"; + } + units "millisecond"; + default "100"; + description + "MinLSArrival timer (minimum interval in + milliseconds between accepting the same LSA)"; + } + } + } + + grouping NETWORK-TYPE { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf network-type { + type Ospf-network; + description + "Type of attached network"; + } + } + + grouping LLS-DISABLE { + description + "Common node of default-vrf, vrf"; + leaf lls-disable { + type boolean; + description + "To disable LLS capability"; + } + } + + grouping WEIGHT { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf weight { + type uint32 { + range "1..16777214"; + } + description + "Interface weight"; + } + } + + grouping REDISTRIBUTION { + description + "Common node of default-vrf, vrf"; + container redistribution { + description + "Redistribute configurations"; + container redistributes { + description + "Redistribute information from another routing + protocol"; + list redistribute { + must "connected-or-static-or-dagr-or-subscriber-or-mobile-or-rip or application-or-isis-or-ospf or bgp or eigrp" { + description + "Connected-or-Static-or-DAGR-or-Subscriber-or-Mobile-or-RIP or Application-or-ISIS-or-OSPF or BGP or EIGRP must be present."; + } + key "protocol-name"; + description + "Redistribute information from another routing + protocol"; + + grouping REDISTRIBUTE-CONTENT { + description + "REDISTRIBUTE CONTENT"; + leaf classful { + type boolean; + default "false"; + description + "Disallow subnetting"; + } + leaf default-redistributed-route-metric { + type uint32 { + range "1..16777214"; + } + description + "Default metric for routes being + redistributed into OSPF"; + } + leaf tag { + type uint32 { + range "0..4294967295"; + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type Ospf-link-state-metric; + description + "Set OSPF External metric type"; + } + leaf eigrp-route-type { + type Ospf-eigrp-route; + description + "EIGRP route type"; + } + leaf isis-levels { + type Ospf-route-level; + description + "Levels of ISIS routes"; + } + leaf ospf-internal { + type boolean; + description + "OSPF_Internal route type"; + } + leaf ospf-external { + type Ospf-route-level; + description + "OSPF external route types"; + } + leaf ospf-nssa-level { + type Ospf-route-level; + description + "OSPF NSSA external route types"; + } + leaf route-policy-name { + type string; + description + "Routing policy name"; + } + leaf bgp-preserve-med { + type boolean; + description + "Preserve MED of BGP routes"; + } + leaf bgp-preserve-default-info { + type boolean; + description + "Preserve Metric and Metric Type of BGP + Default Route"; + } + leaf ospf-redist-lsa-type { + type Ospf-redist-lsa; + default "external"; + description + "LSA type for redistributed routes"; + } + leaf ospfnssa-only { + type boolean; + description + "Only redistribute to NSSA areas"; + } + leaf ospf-use-rib-metric { + type boolean; + description + "Use metric from RIB for redistributed routes"; + } + } + container connected-or-static-or-dagr-or-subscriber-or-mobile-or-rip { + when "../protocol-name = 'connected' or ../protocol-name = 'static' or ../protocol-name = 'dagr' or ../protocol-name = 'subscriber' or ../protocol-name = 'mobile' or ../protocol-name = 'rip'" { + description + "../ProtocolName = Connected or . + ./ProtocolName = Static or ../ProtocolName + = DAGR or ../ProtocolName = Subscriber or . + ./ProtocolName = Mobile or ../ProtocolName + = RIP"; + } + presence "Indicates that this node is configured."; + description + "connected or static or dagr or subscriber or + mobile or rip"; + uses REDISTRIBUTE-CONTENT; + } + leaf protocol-name { + type Ospf-redist-protocol; + description + "Distribute list protocol type"; + } + list application-or-isis-or-ospf { + when "../protocol-name = 'application' or ../protocol-name = 'isis' or ../protocol-name = 'ospf'" { + description + "../ProtocolName = Application or . + ./ProtocolName = ISIS or ../ProtocolName = + OSPF"; + } + key "instance-name"; + description + "application or isis or ospf"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OSPF or ISIS process name or protocol name: + bgp, eigrp, connected"; + } + uses REDISTRIBUTE-CONTENT; + } + list bgp { + when "../protocol-name = 'bgp'" { + description + "../ProtocolName = BGP"; + } + key "instance-name as-xx as-yy"; + description + "bgp"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OSPF or ISIS process name or protocol name: + bgp, eigrp, connected"; + } + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "First half of BGP AS number in XX.YY format. + Mandatory if Protocol is BGP and must not be + specified otherwise. Must be a non-zero + value if second half is zero."; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "Second half of BGP AS number in XX.YY format + . Mandatory if Protocol is BGP or EIGRP and + must not be specified otherwise. Must be a + non-zero value if first half is zero."; + } + uses REDISTRIBUTE-CONTENT; + } + list eigrp { + when "../protocol-name = 'eigrp'" { + description + "../ProtocolName = EIGRP"; + } + key "instance-name as-xx"; + description + "eigrp"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OSPF or ISIS process name or protocol name: + bgp, eigrp, connected"; + } + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "First half of BGP AS number in XX.YY format. + Mandatory if Protocol is BGP and must not be + specified otherwise. Must be a non-zero + value if second half is zero."; + } + uses REDISTRIBUTE-CONTENT; + } + } + } + } + } + + grouping EXTERNAL-OUT { + description + "Common node of process-scope, area"; + leaf external-out { + type boolean; + description + "Enable/Disable an OSPF area to advertise + intra-area prefixes out of this area as external"; + } + } + + grouping AF { + description + "Common node of default-vrf, vrf"; + container af { + presence "Indicates a af node is configured."; + description + "OSPF address family"; + leaf af-name { + type Ospf-address-family; + mandatory true; + description + "Address family"; + } + leaf saf-name { + type Ospf-sub-address-family; + description + "Sub-Address family"; + } + } + } + + grouping DEFAULT-INFORMATION { + description + "Common node of default-vrf, vrf"; + container default-information { + description + "Control distribution of default information"; + leaf always-advertise { + type boolean; + default "false"; + description + "Always advertise default route"; + } + leaf metric { + type uint32 { + range "1..16777214"; + } + default "1"; + description + "OSPF metric"; + } + leaf metric-type { + type Ospf-link-state-metric; + default "type2"; + description + "OSPF External metric type"; + } + leaf route-policy-name { + type string; + description + "Routing policy name"; + } + } + } + + grouping COST-FALLBACK-ANAMOLY-DELAY-IGP { + description + "Common node of process-scope, area-scope, + name-scope"; + container cost-fallback-anamoly-delay-igp { + description + "Interface delay igp-metric fallback cost"; + leaf penalty-type { + type Ospf-penalty; + description + "Type of penalty"; + } + leaf value { + type uint32 { + range "1..65535"; + } + description + "Fallback cost of link"; + } + } + } + + grouping PREFIX-SUPPRESSION-SECONDARY { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf prefix-suppression-secondary { + type boolean; + default "false"; + description + "Enable/Disable prefix suppression for secondary + addresses"; + } + } + + grouping MAXIMUM-PATHS { + description + "Common node of default-vrf, vrf"; + leaf maximum-paths { + type uint32 { + range "1..64"; + } + description + "Forward packets over multiple paths (number of + paths)"; + } + } + + grouping DATABASE-FILTER { + description + "Common node of process-scope, area-scope, + name-scope, multi-area-interface-scope"; + leaf database-filter { + type boolean; + default "false"; + description + "Filter OSPF LSA during synchronization and + flooding"; + } + } + + grouping LINK-DOWN-FAST-DETECT { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf link-down-fast-detect { + type boolean; + default "false"; + description + "Enable/Disable registration for early interface + down notifications"; + } + } + + grouping LDP-SYNC-IGP-SHORTCUTS { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf ldp-sync-igp-shortcuts { + type boolean; + description + "Enable/Disable MPLS LDP sync for igp-shortcuts"; + } + } + + grouping MICROLOOP { + description + "Common node of default-vrf, vrf"; + container microloop { + description + "Microloop configuration"; + container avoidance { + description + "Microloop avoidance configuration"; + leaf enable { + type Ospf-uloop-avoidance; + default "all"; + description + "MicroLoop avoidance feature enable + configuration"; + } + leaf rib-update-delay { + type uint32 { + range "1..600000"; + } + units "millisecond"; + default "5000"; + description + "Delay to introduce between SPF and RIB update + in msecs"; + } + } + } + } + + grouping DEAD-INTERVAL-MINIMAL { + description + "Common node of process-scope, area-scope, + name-scope, virtual-link-scope, sham-link-scope, + multi-area-interface-scope"; + container dead-interval-minimal { + description + "Interval after which a neighbor is declared dead"; + leaf interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval size in seconds after which a neighbor + is declared dead"; + } + leaf multiplier { + type uint32 { + range "3..20"; + } + description + "Number of Hellos in one second"; + } + } + } + + grouping CANDIDATE-INTERFACE-TABLE { + description + "Common node of per-link, per-prefix"; + container candidate-interfaces { + description + "Fast-reroute per-link/per-prefix candidate + interface configuration"; + list candidate-interface { + key "interface-name"; + description + "Candidate backup interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + + grouping IPV4-OSPF-FRR-CFG-CANDIDATE-INTERFACE-TABLE { + description + "Common node of per-link, per-prefixCommon node of + per-link, per-prefix"; + container candidate-interfaces { + description + "Fast-reroute per-link/per-prefix candidate + interface configuration"; + list candidate-interface { + key "interface-name"; + description + "Candidate backup interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + + grouping QUEUE { + description + "Common node of default-vrf, vrf"; + container queue { + description + "Adjust OSPF input queue sizes and processing + quantums"; + leaf dispatch-rate-limited-flush { + type uint32 { + range "30..3000"; + } + default "150"; + description + "Maximum number of continuous rate-limited LSAs + processed for FLUSH"; + } + leaf limit-high { + type uint32 { + range "1000..30000"; + } + default "9500"; + description + "Hello events are dropped when incoming event + queue exceeds this"; + } + leaf dispatch-spf-lsa-limit { + type uint32 { + range "30..3000"; + } + default "150"; + description + "Maximum number of continuous summary or + external LSAs processed"; + } + leaf limit-low { + type uint32 { + range "1000..30000"; + } + default "8000"; + description + "DBDs/Updates are dropped when incoming event + queue exceeds this"; + } + leaf dispatch-rate-limited { + type uint32 { + range "30..3000"; + } + default "150"; + description + "Maximum number of continuous rate-limited LSAs + processed"; + } + leaf limit-medium { + type uint32 { + range "1000..30000"; + } + default "9000"; + description + "LSA ACKs are dropped when incoming event queue + exceeds this"; + } + leaf dispatch-incoming { + type uint32 { + range "30..3000"; + } + default "300"; + description + "Maximum number of continuous incoming + packet-related events processed"; + } + } + } + + grouping AUTHENTICATION { + description + "Common node of process-scope, area-scope, + name-scope, virtual-link-scope, sham-link-scope, + multi-area-interface-scope"; + container authentication { + description + "Authentication"; + container type { + description + "Authentication type"; + leaf authen-type { + type Ospf-authentication; + description + "Authentication type code "; + } + leaf keychain-authen-type { + type Ospf-keychain-auth; + description + "Keychain authentication type"; + } + leaf keychain-name { + type string; + description + "Keychain name"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key) + configurations, first 16 chars used"; + list message-digest-key { + key "key-id"; + description + "Message digest authentication password (key) + configuration"; + leaf key-id { + type uint32 { + range "1..255"; + } + description + "Key ID"; + } + leaf password { + type xr:Proprietary-password; + mandatory true; + description + "Password"; + } + } + } + leaf key { + type xr:Proprietary-password; + description + "Authentication key configuration"; + } + } + } + + grouping MAXIMUM-REDISTRIBUTE-PREFIX { + description + "Common node of default-vrf, vrf"; + container maximum-redistribute-prefix { + description + "Maximum number of prefixes redistributed into + OSPF"; + leaf number-of-prefixes { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of prefixes redistributed"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a + warning msg"; + } + leaf warning-only { + type boolean; + description + "Only give warning messsage when limit is + exceeded"; + } + } + } + + grouping SEGMENT-ROUTING-FORWARDING { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf segment-routing-forwarding { + type Ospf-segment-routing-forwarding; + description + "segment-routing forwarding configuration + Applicableonly in Default VRF"; + } + } + + grouping DISTRIBUTE-LIST { + description + "Common node of process-scope, area-scope, + name-scope, multi-area-interface-scope"; + container distribute-list { + presence "enable distribute-list"; + description + "Filter networks intalled to RIB (disable as ACL + name means filtering is disabled)"; + leaf access-list-name { + type string; + must "not(../route-policy-name)"; + description + "Access Control List name"; + } + leaf route-policy-name { + type string; + must "not(../access-list-name)"; + description + "Route Policy name"; + } + } + } + + grouping COST { + description + "Common node of process-scope, area-scope, + name-scope, multi-area-interface-scope, + sham-link-scope"; + leaf cost { + type uint32 { + range "1..65535"; + } + description + "Interface cost"; + } + } + + grouping PACKET-SIZE { + description + "Common node of process-scope, area-scope, + name-scope, multi-area-interface-scope"; + leaf packet-size { + type uint32 { + range "576..10000"; + } + description + "Customize size of OSPF packets upto MTU"; + } + } + + grouping FAST-REROUTE { + description + "Common node of default-vrf, vrf"; + container fast-reroute { + description + "Fast-reroute instance scoped parameters"; + container per-link { + description + "Fast-reroute per-link global configuration"; + uses PRIORITY; + } + container per-prefix { + description + "Fast-reroute per-prefix global configuration"; + container tiebreakers { + description + "Fast-reroute tiebreakers configurations"; + list tiebreaker { + key "tiebreaker-type"; + description + "Fast-reroute tiebreakers configuration"; + leaf tiebreaker-type { + type Ospf-fast-reroute-tiebreakers; + description + "Tiebreaker type"; + } + leaf tiebreaker-index { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Index value for a tiebreaker, 0 to disable"; + } + } + } + leaf weighted-srlg { + type empty; + description + "select SRLG protection mode (default: local)"; + } + leaf load-sharing-disable { + type empty; + description + "Disable load sharing between multiple backups"; + } + uses PRIORITY; + } + } + } + + grouping IPV4-OSPF-FRR-CFG-FAST-REROUTE { + description + "Common node of default-vrf, vrfCommon node of + area-scope, name-scope, + multi-area-interface-scope"; + container fast-reroute { + description + "Fast-reroute configuration"; + container per-link { + description + "Fast-reroute per-link configuration"; + uses FAST-REROUTE-USE-CANDIDATE-ONLY; + uses IPV4-OSPF-FRR-CFG-CANDIDATE-INTERFACE-TABLE; + uses IPV4-OSPF-FRR-CFG-EXCLUDE-INTERFACE-TABLE; + } + container per-prefix { + description + "Fast-reroute per-prefix global configuration"; + container remote-lfa { + description + "Remote LFA configuration"; + leaf tunnel { + type Ospf-frr-rlfa-tunnel; + description + "Enable/Disable remote LFA computation"; + } + leaf maximum-cost { + type uint32 { + range "1..4294967295"; + } + description + "Maximum path cost to remote LFA"; + } + } + container tiebreakers { + description + "Fast-reroute tiebreakers configurations"; + list tiebreaker { + key "tiebreaker-type"; + description + "Fast-reroute tiebreakers configuration"; + leaf tiebreaker-type { + type Ospf-fast-reroute-tiebreakers-intf; + description + "Tiebreaker type"; + } + leaf tiebreaker-index { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Index value for a tiebreaker, 0 to disable"; + } + } + } + leaf topology-independent-lfa { + type boolean; + description + "Topology Independet LFA configuration"; + } + uses FAST-REROUTE-USE-CANDIDATE-ONLY; + uses IPV4-OSPF-FRR-CFG-CANDIDATE-INTERFACE-TABLE; + uses IPV4-OSPF-FRR-CFG-EXCLUDE-INTERFACE-TABLE; + } + leaf fast-reroute-enable { + type Ospf-fast-reroute; + description + "Enable/Disable Fast-reroute per-link or + per-prefix"; + } + } + } + + grouping SUMMARY-PREFIX-TABLE { + description + "Common node of default-vrf, vrf"; + container summary-prefixes { + description + "Configure IP prefix summary"; + + grouping SUMMARY-PREFIX-CONTENT { + description + "Content grouping."; + leaf not-advertise { + type boolean; + default "false"; + description + "Do not advertise when translating OSPF type-7 + LSA"; + } + leaf tag { + type uint32 { + range "0..4294967295"; + } + description + "32-bit tag value"; + } + } + container summary-prefix-data { + description + "Data container."; + uses SUMMARY-PREFIX-CONTENT; + } + list prefix-and-netmask { + key "prefix netmask"; + description + "keys: prefix, netmask"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IP summary prefix"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "Summary netmask"; + } + uses SUMMARY-PREFIX-CONTENT; + } + list prefix { + key "prefix"; + description + "keys: prefix"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IP summary prefix"; + } + uses SUMMARY-PREFIX-CONTENT; + } + list netmask { + key "netmask"; + description + "keys: netmask"; + leaf netmask { + type inet:ipv4-address-no-zone; + description + "Summary netmask"; + } + uses SUMMARY-PREFIX-CONTENT; + } + } + } + + grouping SECURITY { + description + "Common node of process-scope, area-scope, + name-scope"; + container security { + description + "Container class for security related + configuration parameters"; + container ttl { + description + "Enabling turns on TTL security"; + leaf enable { + type boolean; + description + "Enable TTL security"; + } + leaf hop-count { + type uint32 { + range "1..254"; + } + description + "Hop count"; + } + } + } + } + + grouping HELLO-INTERVAL { + description + "Common node of process-scope, area-scope, + name-scope, virtual-link-scope, sham-link-scope, + multi-area-interface-scope"; + leaf hello-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval between HELLO packets in seconds"; + } + } + + grouping ADJACENCY-CHANGES { + description + "Common node of default-vrf, vrf"; + leaf adjacency-changes { + type Ospf-log-adj; + description + "Log changes in adjacency state"; + } + } + + grouping PROCESS-SCOPE { + description + "Common node of default-vrf, vrf"; + container process-scope { + description + "Process scope configuration"; + container srgb { + presence "Indicates a srgb node is configured."; + description + "Segment Routing Global Block configuration"; + leaf lower-bound { + type uint32 { + range "16000..1048575"; + } + mandatory true; + description + "The lower bound of the SRGB"; + } + leaf upper-bound { + type uint32 { + range "16000..1048575"; + } + mandatory true; + description + "The upper bound of the SRGB"; + } + } + container fast-reroute { + description + "Fast-reroute configuration"; + container per-link { + description + "Fast-reroute per-link configuration"; + uses CANDIDATE-INTERFACE-TABLE; + uses IPV4-OSPF-CFG-FAST-REROUTE-USE-CANDIDATE-ONLY; + uses EXCLUDE-INTERFACE-TABLE; + } + container per-prefix { + description + "Fast-reroute per-prefix configuration"; + container remote-lfa { + description + "Remote LFA configuration"; + leaf tunnel { + type Ospf-proc-frr-rlfa-tunnel; + description + "Enable/Disable remote LFA computation"; + } + leaf maximum-cost { + type uint32 { + range "1..4294967295"; + } + description + "Maximum path cost to remote LFA"; + } + } + leaf topology-independent-lfa { + type boolean; + description + "Topology Independet LFA configuration"; + } + uses CANDIDATE-INTERFACE-TABLE; + uses IPV4-OSPF-CFG-FAST-REROUTE-USE-CANDIDATE-ONLY; + uses EXCLUDE-INTERFACE-TABLE; + } + leaf fast-reroute-enable { + type Ospf-proc-fast-reroute; + description + "Enable/Disable Fast-reroute per-link or + per-prefix"; + } + } + uses COST-FALLBACK-ANAMOLY-DELAY-TE; + uses DISTRIBUTE-LIST; + uses COST; + uses BFD; + uses WEIGHT; + uses EXTERNAL-OUT; + uses PREFIX-SUPPRESSION-PRIMARY; + uses MTU-IGNORE; + uses AUTHENTICATION; + uses LDP-SYNC-IGP-SHORTCUTS; + uses LDP-AUTO-CONFIG; + uses SECURITY; + uses DELAY-NORM-INTERVAL; + uses SUMMARY-IN; + uses NETWORK-TYPE; + uses HELLO-INTERVAL; + uses LOOPBACK-STUB-NETWORK; + uses PREFIX-SUPPRESSION-SECONDARY; + uses DEMAND-CIRCUIT; + uses SEGMENT-ROUTING; + uses PASSIVE; + uses TRANSMIT-DELAY; + uses PACKET-SIZE; + uses LDP-SYNC; + uses DATABASE-FILTER; + uses DEAD-INTERVAL-MINIMAL; + uses LINK-DOWN-FAST-DETECT; + uses SEGMENT-ROUTING-FORWARDING; + uses RETRANSMIT-INTERVAL; + uses IPV4-OSPF-CFG-PRIORITY; + uses COST-FALLBACK-ANAMOLY-DELAY-IGP; + uses FLOOD-REDUCTION; + uses COST-FALLBACK; + } + } + + grouping UCMP { + description + "Common node of default-vrf, vrf"; + container ucmp { + description + "Unequal Cost Multi-ptah configuration"; + container enable { + description + "UCMP feature enable configuration"; + leaf variance { + type uint32 { + range "101..10000"; + } + default "200"; + description + "Value of variance"; + } + leaf prefix-list-name { + type string; + description + "Name of the Prefix List"; + } + } + leaf delay-interval { + type uint32 { + range "1..5000"; + } + units "millisecond"; + default "100"; + description + "Delay in msecs between primary SPF and UCMP + computation"; + } + uses EXCLUDE-INTERFACE-TABLE; + } + } + + grouping NSF { + description + "Common node of default-vrf, vrf"; + container nsf { + description + "Non Stop Forwarding configuration"; + leaf lifetime { + type uint32 { + range "90..1800"; + } + units "second"; + default "90"; + description + "Maximum route lifetime following restart in + seconds"; + } + leaf ietf { + type Ospf-ietf-nsf; + description + "Enable IETF Non Stop Forwarding"; + } + leaf ietf-support-role { + type Ospf-ietf-nsf-support; + description + "Disable helper support role for IETF Non Stop + Forwarding"; + } + leaf cisco { + type Ospf-cisco-nsf; + description + "Enable Cisco Non Stop Forwarding"; + } + leaf interval { + type uint32 { + range "90..3600"; + } + units "second"; + default "90"; + description + "Minimum interval between Non Stop Forwarding + restarts in seconds"; + } + leaf flush-delay-time { + type uint32 { + range "1..3600"; + } + units "second"; + default "60"; + description + "Maximum time allowed for external route + learning (seconds)"; + } + leaf ietf-strict-lsa-checking { + type empty; + description + "Enable Strict LSA checking of IETF NSF"; + } + } + } + + grouping PATHS-PER-PREFIX-DISTRIBUTION { + description + "Common node of default-vrf, vrfCommon node of + default-vrf, vrf"; + leaf paths-per-prefix-distribution { + type empty; + description + "Enable per prefix load balancing through + distribution of paths"; + } + } + + grouping MTU-IGNORE { + description + "Common node of process-scope, area-scope, + name-scope, multi-area-interface-scope"; + leaf mtu-ignore { + type boolean; + default "false"; + description + "Enable/Disable ignoring of MTU in DBD packets"; + } + } + + grouping APPLY-WEIGHT { + description + "Common node of default-vrf, vrf"; + container apply-weight { + presence "Indicates a apply-weight node is configured."; + description + "Apply weights feature enable configuration"; + leaf bandwidth { + type boolean; + mandatory true; + description + "Use interface bandwidth when calculating + weights"; + } + leaf reference-bandwidth { + type uint32 { + range "1..4294967"; + } + units "Mbit/s"; + default "100"; + description + "Reference bandwidth to use for calculation + (Mbits/sec)"; + } + leaf default-weight { + type uint32 { + range "1..16777214"; + } + default "1"; + description + "Default weight to use when weight not + configured under interface"; + } + } + } + + grouping FAST-REROUTE-USE-CANDIDATE-ONLY { + description + "Common node of per-link, per-prefix"; + leaf fast-reroute-use-candidate-only { + type boolean; + default "false"; + description + "Use only interfaces on the candidate list as a + backup path"; + } + } + + grouping IPV4-OSPF-CFG-FAST-REROUTE-USE-CANDIDATE-ONLY { + description + "Common node of per-link, per-prefixCommon node of + per-link, per-prefix"; + leaf fast-reroute-use-candidate-only { + type boolean; + default "false"; + description + "Use only interfaces on the candidate list as a + backup path"; + } + } + + grouping BFD { + description + "Common node of process-scope, area-scope, + name-scope"; + container bfd { + description + "BFD configuration"; + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by OSPF"; + } + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detection multiplier for BFD sessions created + by OSPF"; + } + leaf fast-detect-mode { + type Bfd-enable-mode; + description + " use of Bidirectional Forwarding Detection"; + } + } + } + + grouping LOOPBACK-STUB-NETWORK { + description + "Common node of process-scope, area-scope, + name-scopeCommon node of process-scope, + area-scope, name-scope"; + leaf loopback-stub-network { + type boolean; + default "false"; + description + "Enable/Disable advertising loopback as a stub + network"; + } + } + + grouping PREFIX-SUPPRESSION-PRIMARY { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf prefix-suppression-primary { + type boolean; + default "false"; + description + "Enable/Disable prefix suppression for primary + addresses"; + } + } + + grouping FLOOD-REDUCTION { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf flood-reduction { + type boolean; + default "false"; + description + "Enable/Disable OSPF flood reduction"; + } + } + + grouping MAX-LSA { + description + "Common node of default-vrf, vrf"; + container max-lsa { + presence "Indicates a max-lsa node is configured."; + description + "Set max-lsa configuration"; + leaf max-lsa-limit { + type uint32 { + range "1..4294967294"; + } + mandatory true; + description + "Set maximum number of non self-generated LSAs"; + } + leaf max-lsa-threshold { + type uint32 { + range "1..100"; + } + description + "Set max-lsa threshold for generating a warning + message"; + } + leaf max-lsa-warning-only { + type boolean; + description + "Only give warning message when limit is + exceeded"; + } + leaf max-lsa-ignore-time { + type uint32 { + range "1..35791394"; + } + description + "Set time during which all adjacencies are + suppressed"; + } + leaf max-lsa-ignore-count { + type uint32 { + range "1..4294967294"; + } + description + "Set count on how many times adjacencies can be + suppressed"; + } + leaf max-lsa-reset-time { + type uint32 { + range "2..71582788"; + } + units "minute"; + description + "Set number of minutes after which ignore-count + is reset to zero"; + } + } + } + + grouping OUTGOING-ROUTE-UPDATE-TABLE { + description + "Common node of default-vrf, vrf"; + container outgoing-route-updates { + description + "Filter outgoing routing updates"; + list outgoing-route-update { + key "protocol-name"; + description + "Filter outgoing routing updates for a + particular protocol"; + leaf protocol-name { + type Ospf-dist-list-protocol; + description + "Distribute list protocol type"; + } + leaf access-list-name { + type string; + description + "Access Control List name"; + } + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "First half of BGP AS number in XX.YY format. + Mandatory if Protocol is BGP and must not be + specified otherwise. Must be a non-zero value + if second half is zero."; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "Second half of BGP AS number in XX.YY format. + Mandatory if Protocol is BGP and must not be + specified otherwise. Must be a non-zero value + if first half is zero."; + } + leaf ospf-process-name { + type string; + description + "OSPF process name"; + } + } + } + } + + grouping LDP-SYNC { + description + "Common node of process-scope, area-scope, + name-scope"; + leaf ldp-sync { + type boolean; + description + "Enable/Disable MPLS LDP sync"; + } + } + + grouping IGNORE-MOSPF { + description + "Common node of default-vrf, vrf"; + leaf ignore-mospf { + type empty; + description + "Ignore MOSPF (Type 6) LSAs"; + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of name-scope, + multi-area-interface-scope"; + container neighbors { + description + "Neighbor router configuration information"; + list neighbor { + key "neighbor-address"; + description + "Router configuration information for a + particular neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + leaf priority { + type uint32 { + range "0..255"; + } + default "0"; + description + "OSPF priority of non-broadcast neighbor"; + } + leaf poll-interval { + type uint32 { + range "0..65535"; + } + units "second"; + default "40"; + description + "OSPF dead router poll-interval in seconds"; + } + leaf cost { + type uint32 { + range "1..65535"; + } + default "1"; + description + "OSPF cost for point-to-multipoint neighbor"; + } + leaf database-filter { + type boolean; + default "false"; + description + "Database filter: Filter OSPF LSA during + synchronization and flooding for + point-to-multipoint"; + } + } + } + } + + grouping DELAY-NORM-INTERVAL { + description + "Common node of process-scope, area-scope, + name-scope, multi-area-interface-scope"; + container delay-norm-interval { + presence "Indicates a delay-norm-interval node is configured."; + description + "Interface delay normalization params"; + leaf delay-norm-interval { + type uint32 { + range "1..16777215"; + } + mandatory true; + description + "Delay Normalization Interval"; + } + leaf delay-norm-offset { + type uint32 { + range "0..16777215"; + } + mandatory true; + description + "Delay Normalization Offset"; + } + } + } + + grouping TYPE7 { + description + "Common node of default-vrf, vrf"; + leaf type7 { + type empty; + description + "Prefer type7 externals over type5"; + } + } + + grouping SPF-PREFIX-PRIORITY { + description + "Common node of default-vrf, vrf"; + leaf spf-prefix-priority { + type string; + description + "Configure a route-policy for prioritizing RIB + route install."; + } + } + + grouping SNMP-CONTEXT { + description + "Common node of default-vrf, vrf"; + leaf snmp-context { + type string; + description + "OSPF SNMP context configuration"; + } + } + + grouping ROUTER-ID { + description + "Common node of default-vrf, vrf"; + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Router ID for this OSPF process. Enter an IP + Address."; + } + } + + grouping ADJACENCY-STAGGER { + description + "Common node of default-vrf, vrfCommon node of + default-vrf, vrf"; + container adjacency-stagger { + description + "Staggering OSPF adjacency bring up"; + leaf disable { + type empty; + description + "Disable OSPF adjacency stagger"; + } + leaf initial-nbr { + type uint32 { + range "1..65535"; + } + default "2"; + description + "Adjacency Stagger: Initial number of neighbors + to bring up per area"; + } + leaf max-nbr { + type uint32 { + range "1..65535"; + } + default "64"; + description + "Adjacency Stagger: Subsequent simultaneous + number of neighbors to bring up"; + } + } + } + + grouping DEFAULT-METRIC { + description + "Common node of default-vrf, vrf"; + leaf default-metric { + type uint32 { + range "1..16777214"; + } + default "1"; + description + "Set default metric of redistributed routes"; + } + } + + grouping RETRANSMIT-INTERVAL { + description + "Common node of process-scope, area-scope, + name-scope, virtual-link-scope, sham-link-scope, + multi-area-interface-scope"; + leaf retransmit-interval { + type uint32 { + range "1..65535"; + } + units "second"; + default "5"; + description + "Time in seconds between retransmitting lost link + state advertisements"; + } + } + + grouping PRIORITY { + description + "Common node of per-link, per-prefix"; + leaf priority { + type Ospf-fast-reroute-priority; + description + "Fast-reroute per-link/per-prefix priority-limit + command"; + } + } + + grouping IPV4-OSPF-CFG-PRIORITY { + description + "Common node of per-link, per-prefixCommon node of + process-scope, area-scope, name-scope"; + leaf priority { + type uint32 { + range "0..255"; + } + default "1"; + description + "Router priority for DR and BDR election"; + } + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container ospf { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-ospf-cfg.yang which will + provide the compatible functionalities. + OSPF-MIB notification configuration"; + container lsa { + description + "SNMP notifications related to LSAs"; + leaf max-age-lsa { + type empty; + description + "Enable ospfMaxAgeLsa notification"; + } + leaf originate-lsa { + type empty; + description + "Enable ospfOriginateLsa notification"; + } + } + container state-change { + description + "SNMP notifications for OSPF state change"; + leaf interface { + type empty; + description + "Enable ospfIfStateChange notification"; + } + leaf virtual-interface { + type empty; + description + "Enable ospfVirtIfStateChange notification"; + } + leaf virtual-neighbor { + type empty; + description + "Enable ospfVirtNbrStateChange notification"; + } + leaf neighbor { + type empty; + description + "Enable ospfNbrStateChange notification"; + } + } + container retransmit { + description + "SNMP notifications for packet retransmissions"; + leaf virtual-packet { + type empty; + description + "Enable ospfVirtIfTxRetransmit notification"; + } + leaf packet { + type empty; + description + "Enable ospfTxRetransmit notification"; + } + } + container error { + description + "SNMP notifications for OSPF errors"; + leaf config-error { + type empty; + description + "Enable ospfIfConfigError notification"; + } + leaf authentication-failure { + type empty; + description + "Enable ospfIfAuthFailure notification"; + } + leaf virtual-config-error { + type empty; + description + "Enable ospfVirtIfConfigError notification"; + } + leaf virtual-authentication-failure { + type empty; + description + "Enable ospfVirtIfAuthFailure notification"; + } + leaf bad-packet { + type empty; + description + "Enable ospfIfRxBadPacket notification"; + } + leaf virtual-bad-packet { + type empty; + description + "Enable ospfVirtIfRxBadPacket notification"; + } + } + } + } + container ospf { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-ospf-cfg.yang which will + provide the compatible functionalities. OSPF + configuration data"; + container processes { + description + "Process related configuration"; + list process { + key "process-name"; + description + "Configuration for a particular OSPF process and + associated default VRF"; + container snmp { + description + "OSPF SNMP configuration"; + container trap-rate-limit { + presence "Indicates a trap-rate-limit node is configured."; + description + "Per OSPF process SNMP trap rate-limit"; + leaf window-size { + type uint32 { + range "2..60"; + } + mandatory true; + description + "Trap rate limit sliding window size"; + } + leaf max-window-traps { + type uint32 { + range "0..300"; + } + mandatory true; + description + "Max number of traps to send in window time"; + } + } + } + container distribute { + presence "enable distribute"; + description + "Enable distribution of link-state database + services"; + leaf throttle { + type uint32 { + range "1..3600"; + } + units "second"; + description + "Seconds"; + } + leaf instance-id { + type uint32 { + range "0..4294967295"; + } + description + "Instance ID"; + } + } + container vrfs { + description + "VRF related configuration"; + list vrf { + key "vrf-name"; + description + "Configuration for a particular OSPF vrf"; + container domain-id { + description + "OSPF Domain ID"; + container primary-domain-id { + description + "OSPF Primary domain ID"; + leaf domain-id-type { + type Ospf-domain-id; + description + "Primary domain ID type"; + } + leaf domain-id-name { + type string; + description + "Primary domain ID value"; + } + } + container secondary-domain-ids { + description + "Secondary domain ID Table"; + list secondary-domain-id { + key "domain-id-type domain-id-name"; + description + "OSPF Secondary domain ID"; + leaf domain-id-type { + type Ospf-domain-id; + description + "Secondary domain ID type"; + } + leaf domain-id-name { + type xr:Cisco-ios-xr-string; + description + "Secondary domain ID value"; + } + } + } + } + leaf snmp-trap-enabled { + type boolean; + default "false"; + description + "Enable/disable OSPF SNMP trap"; + } + leaf domain-tag { + type uint32 { + range "1..4294967295"; + } + description + "32 bit Domain tag value"; + } + leaf vrf-lite { + type empty; + description + "VRF lite capability"; + } + leaf disable-dn-bit-check { + type empty; + description + "Disable DN bit check"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name for this vrf"; + } + uses MICROLOOP; + uses IGNORE-MOSPF; + uses LLS-DISABLE; + uses MAXIMUM-REDISTRIBUTE-PREFIX; + uses DEFAULT-INFORMATION; + uses AF; + uses QUEUE; + uses ROUTER-ID; + uses TYPE7; + uses MAX-METRIC; + uses SNMP-CONTEXT; + uses MAXIMUM-INTERFACES; + uses NO-OPAQUE; + uses NSF; + uses PROCESS-SCOPE; + uses SPF-PREFIX-PRIORITY; + uses REDISTRIBUTION; + uses ADJACENCY-STAGGER; + uses MAX-LSA; + uses AUTO-COST; + uses UCMP; + uses APPLY-WEIGHT; + uses MAXIMUM-PATHS; + uses FAST-REROUTE; + uses SUMMARY-PREFIX-TABLE; + uses ADJACENCY-CHANGES; + uses OUTGOING-ROUTE-UPDATE-TABLE; + uses PATHS-PER-PREFIX-DISTRIBUTION; + uses DISTANCE; + uses AREA-TABLE; + uses TIMERS; + uses DEFAULT-METRIC; + } + } + container trace-bufs { + description + "Configuration to change size of trace buffer"; + list trace-buf { + key "trace-buf-name"; + description + "Changes the size of the specified trace + buffer"; + leaf trace-buf-name { + type xr:Cisco-ios-xr-string; + description + "Name for this trace buffer"; + } + leaf bufsize { + type Ospf-trace-buf-size; + mandatory true; + description + "Buffer size"; + } + } + } + container graceful-shutdown-timers { + description + "Adjust routing timers"; + leaf graceful-shutdown-retain-routes { + type uint32 { + range "0..90"; + } + units "second"; + default "5"; + description + "Time to keep OSPF routes active after + graceful shutdown(in seconds)"; + } + leaf graceful-shutdown-initial-delay { + type uint32 { + range "0..90"; + } + units "second"; + default "5"; + description + "Number of seconds to delay before beginning + graceful shutdown"; + } + } + container default-vrf { + description + "Default VRF related configuration"; + container monitor-convergence { + description + "Enable convergence monitoring"; + leaf enable { + type empty; + description + "Enable convergence monitoring"; + } + leaf prefix-list { + type string; + description + "Enable the monitoring of individual prefixes + (prefix list name)"; + } + leaf track-ip-frr { + type empty; + description + "Enable the Tracking of IP-Frr Convergence"; + } + leaf track-external-routes { + type empty; + description + "Enable the monitoring of External routes"; + } + leaf track-summary-routes { + type empty; + description + "Enable the monitoring of Summary routes"; + } + } + container flex-algos { + description + "Configured Flex-algo"; + list flex-algo { + key "flexalgo"; + description + "Flex-algo configuration"; + container affinity { + description + "Configuration for a particular Flex-algo + affinity"; + container include-all-attributes { + description + "Configuration for Flex-algo affinity + include all"; + list include-all-attribute { + key "attribute"; + description + "Configure include-all attribute"; + leaf attribute { + type xr:Cisco-ios-xr-string; + description + "attribute name"; + } + } + } + container include-any-attributes { + description + "Configuration for Flex-algo affinity + include any"; + list include-any-attribute { + key "attribute"; + description + "Configure include-any attribute"; + leaf attribute { + type xr:Cisco-ios-xr-string; + description + "attribute name"; + } + } + } + container exclude-any-attributes { + description + "Configuration for Flex-algo affinity + exclude any"; + list exclude-any-attribute { + key "attribute"; + description + "Configure exclude-any attribute"; + leaf attribute { + type xr:Cisco-ios-xr-string; + description + "attribute name"; + } + } + } + } + container srlg-exclude-any-attributes { + description + "Configuration for a particular Flex-algo + srlg excludeany"; + list srlg-exclude-any-attribute { + key "srlgname"; + description + "Configure srlg exclude-any name"; + leaf srlgname { + type xr:Cisco-ios-xr-string; + description + "srlgname name"; + } + } + } + leaf fast-reroute-disable { + type empty; + description + "Configuration to disable LFA in Flex Algo"; + } + leaf metric-type { + type Ospf-flex-algo-metric; + description + "Configuration for a particular flexalgo + metric type"; + } + leaf microloop-avoidance-disable { + type empty; + description + "Configuration to disable uloop in Flex Algo"; + } + leaf prefix-metric { + type empty; + description + "Configuration to Enable Metric flag in Flex + Algo Definition"; + } + leaf priority { + type uint32 { + range "0..255"; + } + default "128"; + description + "Configuration for a particular flexalgo + priority"; + } + leaf advertise-definition { + type empty; + description + "Configuration to Advertise Flex Algo in + RI-LSA"; + } + leaf flexalgo { + type uint32 { + range "128..255"; + } + description + "Flexalgo value"; + } + } + } + container wsrlg { + description + "Weighted SRLG configurations"; + container names { + description + "Weighted SRLG name table"; + list name { + key "srlg-name"; + description + "Weighted SRLG name configuration"; + leaf admin-weight { + type uint32 { + range "0..65535"; + } + description + "Admin-weight for given SRLG value"; + } + leaf srlg-name { + type xr:Cisco-ios-xr-string; + description + "Name for this SRLG"; + } + } + } + leaf admin-weight { + type uint32 { + range "0..65535"; + } + default "1000"; + description + "Default admin-weight for all SRLG values"; + } + } + container segment-routing { + description + "Segment Routing instance scoped parameters"; + container sr-prefer { + description + "Prefer segment routing labels over LDP + labels"; + leaf enable { + type boolean; + description + "Enable SR labels to be preferred over LDP + labels"; + } + leaf prefix-list-name { + type string; + description + "Name of the Prefix List"; + } + } + leaf sr-prot-adj-sid-delay { + type uint32 { + range "30..3600"; + } + units "second"; + default "900"; + description + "Delay before deletion of protected adj sid + in seconds"; + } + leaf prefix-sid-map-receive-disable { + type empty; + description + "Disable prefix-SID mapping client"; + } + leaf prefix-sid-map-advertise-local { + type empty; + description + "Enable advertisement of local SRMS entries"; + } + leaf strict-spf-disable { + type empty; + description + "Strict-SPF support and SID advertisement"; + } + } + container affinity-maps { + description + "Configure Flex-algo affinity map"; + list affinity-map { + key "attribute"; + description + "Configure affinity map attribute bit + position"; + leaf attribute { + type xr:Cisco-ios-xr-string; + description + "attribute name"; + } + leaf bitposition { + type uint32 { + range "0..255"; + } + mandatory true; + description + "attribute bit position"; + } + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container mpls-router-id { + description + "MPLS-TE stable loopback address for this + OSPF process.Enter either as IP Address or + Interface name, but not both. Unused field + must be nil"; + leaf address { + type inet:ipv4-address-no-zone; + description + "MPLS-TE stable IP address for this OSPF + process"; + } + leaf interface-name { + type xr:Interface-name; + description + "MPLS-TE stable loopback interface for this + OSPF process"; + } + } + leaf igp-intact { + type empty; + description + "Enable igp-intact mode in OSPF"; + } + leaf ldp-sync-update { + type empty; + description + "Enable LDP sync induced metric propagation"; + } + leaf multicast-intact { + type empty; + description + "Enable multicast-intact mode in OSPF"; + } + leaf autoroute-exclude { + type string; + description + "Exclude IP destinations from using TE + tunnels"; + } + } + uses MICROLOOP; + uses IGNORE-MOSPF; + uses LLS-DISABLE; + uses MAXIMUM-REDISTRIBUTE-PREFIX; + uses DEFAULT-INFORMATION; + uses AF; + uses QUEUE; + uses ROUTER-ID; + uses TYPE7; + uses MAX-METRIC; + uses SNMP-CONTEXT; + uses MAXIMUM-INTERFACES; + uses NO-OPAQUE; + uses NSF; + uses PROCESS-SCOPE; + uses SPF-PREFIX-PRIORITY; + uses REDISTRIBUTION; + uses ADJACENCY-STAGGER; + uses MAX-LSA; + uses AUTO-COST; + uses UCMP; + uses APPLY-WEIGHT; + uses MAXIMUM-PATHS; + uses FAST-REROUTE; + uses SUMMARY-PREFIX-TABLE; + uses ADJACENCY-CHANGES; + uses OUTGOING-ROUTE-UPDATE-TABLE; + uses PATHS-PER-PREFIX-DISTRIBUTION; + uses DISTANCE; + uses AREA-TABLE; + uses TIMERS; + uses DEFAULT-METRIC; + } + leaf nsr { + type Nsr; + default "true"; + description + "Enable non-stop routing"; + } + leaf protocol-shutdown { + type Ospf-shutdown; + description + "Type of protocol shutdown"; + } + leaf process-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name for this OSPF process"; + } + } + } + container global { + description + "OSPF global configuration data"; + leaf dns-name-lookup { + type empty; + description + "Display OSPF router ids as DNS names"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub1.yang new file mode 100644 index 000000000..1cf682dfc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub1.yang @@ -0,0 +1,245 @@ +submodule Cisco-IOS-XR-ipv4-ospf-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-ospf-oper { + prefix Cisco-IOS-XR-ipv4-ospf-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ospf package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-01 { + description + "Added Extended Inter-Area ASBR LSA, Added Algo label information received from RIB in Extended Prefix LSA"; + semver:module-version "2.2.1m"; + } + revision 2021-06-01 { + description + "Added changes to show if a FAD contains unknown parameters, option to enable SR forwarding MPLS, changes in neighbor sham link or virtual link name"; + semver:module-version "2.2.0"; + } + revision 2020-03-19 { + description + "Added changes for Delay Normalization + 2020-02-04 + Added changes for Conditional Advertising + 2019-09-30 + Added changes for Weighted SRLG"; + semver:module-version "2.0.0"; + } + revision 2019-07-26 { + description + "Added new fields in redistribution container to display more information."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-07 { + description + "Modified for Programmability 2.0"; + } + revision 2018-04-18 { + description + "Added keychain name to be displayed in show ospf interface bag"; + } + revision 2017-10-26 { + description + "Fixed some field name and values for better interpretation"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-02 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Srms-mi-flag-e-b { + type enumeration { + enum "false" { + value 0; + description + "False"; + } + enum "true" { + value 1; + description + "True"; + } + } + description + "Srms mi flag e b"; + } + + typedef In6-addr-t-b { + type inet:ipv6-address; + description + "In6 addr t b"; + } + + typedef Srms-mi-af-e-b { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Srms mi af e b"; + } + + typedef Srms-mi-src-e-b { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "local" { + value 1; + description + "Local"; + } + enum "remote" { + value 2; + description + "Remote"; + } + } + description + "Srms mi src e b"; + } + + grouping ADDR { + description + "ADDR"; + leaf af { + type Srms-mi-af-e-b; + description + "AF"; + } + leaf ipv4 { + when "../af = 'ipv4'" { + description + "../AF = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4"; + } + leaf ipv6 { + when "../af = 'ipv6'" { + description + "../AF = 'IPv6'"; + } + type In6-addr-t-b; + description + "IPv6"; + } + } + + grouping SRMS-MI-T-B { + description + "SRMS show bag"; + container addr { + description + "Ipv4 address"; + uses ADDR; + } + leaf src { + type Srms-mi-src-e-b; + description + "Source of this prefix, whether local or remote"; + } + leaf router { + type string { + length "0..30"; + } + description + "Router ID"; + } + leaf area { + type string { + length "0..30"; + } + description + "Area (OSPF) or Level (ISIS)"; + } + leaf prefixlen { + type uint8; + description + "Prefix length"; + } + leaf sid-start { + type uint32; + description + "Starting SID"; + } + leaf sid-count { + type uint32; + description + "SID range"; + } + leaf last-prefix { + type string { + length "0..50"; + } + description + "Last IP Prefix"; + } + leaf last-sid-index { + type uint32; + description + "Last SID Index"; + } + leaf flag-attached { + type Srms-mi-flag-e-b; + description + "Attached flag"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub2.yang new file mode 100644 index 000000000..786cb74c4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub2.yang @@ -0,0 +1,7883 @@ +submodule Cisco-IOS-XR-ipv4-ospf-oper-sub2 { + belongs-to Cisco-IOS-XR-ipv4-ospf-oper { + prefix Cisco-IOS-XR-ipv4-ospf-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ospf package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-01 { + description + "Added Extended Inter-Area ASBR LSA, Added Algo label information received from RIB in Extended Prefix LSA"; + semver:module-version "2.2.1m"; + } + revision 2021-06-01 { + description + "Added changes to show if a FAD contains unknown parameters, option to enable SR forwarding MPLS, changes in neighbor sham link or virtual link name"; + semver:module-version "2.2.0"; + } + revision 2020-03-19 { + description + "Added changes for Delay Normalization + 2020-02-04 + Added changes for Conditional Advertising + 2019-09-30 + Added changes for Weighted SRLG"; + semver:module-version "2.0.0"; + } + revision 2019-07-26 { + description + "Added new fields in redistribution container to display more information."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-07 { + description + "Modified for Programmability 2.0"; + } + revision 2018-04-18 { + description + "Added keychain name to be displayed in show ospf interface bag"; + } + revision 2017-10-26 { + description + "Fixed some field name and values for better interpretation"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-02 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ospf-sh-opq-ri-pce-addr-types { + type enumeration { + enum "mgmt-ospf-opq-pce-addr-type-invalid" { + value 0; + description + "Invalid PCE Address"; + } + enum "mgmt-ospf-opq-pce-addr-type-ipv4" { + value 1; + description + "IPv4 PCE Address"; + } + enum "mgmt-ospf-opq-pce-addr-type-ipv6" { + value 2; + description + "IPv6 PCE Address"; + } + } + description + "OSPF PCE Address Type"; + } + + typedef Ospf-sh-opq-ri-tlv-types { + type enumeration { + enum "mgmt-ospf-opq-ri-tlv-type-unknown" { + description + "Unknown"; + } + enum "mgmt-ospf-opq-ri-tlv-type-rtrcap" { + description + "Router Capabilities"; + } + enum "mgmt-ospf-opq-ri-tlv-type-pce-discovery" { + description + "PCE Discovery"; + } + enum "mgmt-ospf-opq-ri-tlv-type-sr-algo" { + description + "Segment Routing Algorithm"; + } + enum "mgmt-ospf-opq-ri-tlv-type-sr-range" { + description + "Segment Routing SID Range"; + } + enum "mgmt-ospf-opq-ri-tlv-type-node-msd" { + description + "Node MSD (Max SID Depth)"; + } + enum "mgmt-ospf-opq-ri-tlv-type-srlb" { + description + "Segment Routing Local Block"; + } + enum "mgmt-ospf-opq-ri-tlv-type-fad" { + description + "Segment Routing FLEX ALGO DEF"; + } + enum "mgmt-ospf-opq-ri-tlv-type-host-name" { + description + "Dynamic Hostname"; + } + } + description + "OSPF Router Information TLV types"; + } + + typedef Ospf-lsa-opq-ri-scope { + type enumeration { + enum "mgmt-lsa-opq-ri-scope-link" { + value 9; + description + "Link-local Router Information LSA"; + } + enum "mgmt-lsa-opq-ri-scope-area" { + value 10; + description + "Area-scope Router Information LSA"; + } + enum "mgmt-lsa-opq-ri-scope-as" { + value 11; + description + "AS-scope Router Information LSA"; + } + } + description + "OSPF Router Information LSA scope types"; + } + + typedef Ospf-gr-reason { + type enumeration { + enum "mgmt-gr-reason-unknown" { + description + "Unknown"; + } + enum "mgmt-gr-reason-sw-restart" { + description + "Software restart"; + } + enum "mgmt-gr-reason-sw-upgrade" { + description + "Software reload/upgrade"; + } + enum "mgmt-gr-reason-switchover" { + description + "Switch to redundant control processor"; + } + } + description + "Ospf gr reason"; + } + + typedef Stlv { + type enumeration { + enum "mgmt-rrr-link-type" { + value 1; + description + "Link Type"; + } + enum "mgmt-rrr-link-id" { + value 2; + description + "Link ID"; + } + enum "mgmt-rrr-link-local-if-addr" { + value 3; + description + "Local interface IP address"; + } + enum "mgmt-rrr-link-remote-if-addr" { + value 4; + description + "Remote interface IP address"; + } + enum "mgmt-rrr-link-metric" { + value 5; + description + "Traffic Engineering metric"; + } + enum "mgmt-rrr-link-max-bw" { + value 6; + description + "Maximum Link Bandwidth"; + } + enum "mgmt-rrr-link-max-reservable-bw" { + value 7; + description + "Maximum Reservable bandwidth"; + } + enum "mgmt-rrr-link-unreserved-bw" { + value 8; + description + "Unreserved Bandwidth"; + } + enum "mgmt-rrr-link-re-source-class" { + value 9; + description + "Administrative group"; + } + enum "mgmt-rrr-link-in-out-if-id" { + value 11; + description + "Link Local/Remote Identifiers"; + } + enum "mgmt-rrr-link-if-switching-cap-desc" { + value 15; + description + "Interface Switching Capability Descriptor"; + } + enum "mgmt-ospf-rrr-link-srlg" { + value 16; + description + "Shared Risk Link Group"; + } + enum "mgmt-rrr-link-bw-constraints-sub" { + value 17; + description + "Bandwidth constraints"; + } + enum "mgmt-ospf-rrr-link-ext-admin-sub" { + value 26; + description + "Extended admin"; + } + enum "mgmt-ospf-rrr-link-uni-delay" { + value 27; + description + "Unidirectional link delay"; + } + enum "mgmt-ospf-rrr-link-uni-min-max-delay" { + value 28; + description + "Unidirectional min-max delay"; + } + enum "mgmt-ospf-rrr-link-uni-delay-var-iance" { + value 29; + description + "Unidirectional delay variance"; + } + enum "mgmt-ospf-rrr-link-uni-link-loss" { + value 30; + description + "Unidirectional link loss"; + } + enum "mgmt-ospf-rrr-link-uni-residual-bw" { + value 31; + description + "Unidirectional residual bandwidth"; + } + enum "mgmt-ospf-rrr-link-uni-available-bw" { + value 32; + description + "Unidirectional available delay"; + } + enum "mgmt-ospf-rrr-link-uni-utilized-bw" { + value 33; + description + "Unidirectional utilized bandwidth"; + } + enum "mgmt-ospf-rrr-link-max-reservable-bw-sub" { + value 32768; + description + "Maximum reservable sub-pool bandwidth"; + } + enum "mgmt-ospf-rrr-link-unreserved-bw-sub" { + value 32769; + description + "Unreserved sub-pool bandwidth"; + } + enum "mgmt-rrr-link-igp-metric" { + value 32770; + description + "IGP Link Metric"; + } + enum "mgmt-ospf-rrr-link-ext-admin-sub-backward" { + value 32771; + description + "Extended admin backward"; + } + } + description + "OSPF Opaque-area Type 1 sub TLV types"; + } + + typedef Ex-metric { + type enumeration { + enum "mgmt-ex-metric-type-none" { + value 0; + description + "No metric type"; + } + enum "mgmt-ex-metric-type-1" { + value 1; + description + "Type 1 External"; + } + enum "mgmt-ex-metric-type-2" { + value 2; + description + "Type 2 External"; + } + } + description + "Ex metric"; + } + + typedef Ospf-link-types { + type enumeration { + enum "mgmt-rtr-link" { + value 1; + description + "Link to a Router"; + } + enum "mgmt-trans-link" { + value 2; + description + "Link to a transit network"; + } + enum "mgmt-stub-net" { + value 3; + description + "Link to Stub network"; + } + enum "mgmt-vitural-link" { + value 4; + description + "Link to Virtual Link"; + } + } + description + "Type of router LSA links"; + } + + typedef Ospf-internal-lsa-types { + type enumeration { + enum "mgmt-rtr-type" { + value 1; + description + "Router LSA"; + } + enum "mgmt-ntwk-type" { + value 2; + description + "Network LSA"; + } + enum "mgmt-sum-type" { + value 3; + description + "Summary and ASBR summary LSA"; + } + enum "mgmt-ext-type" { + value 4; + description + "Type 5 and NSSA external LSA"; + } + enum "mgmt-opq-type" { + value 5; + description + "Generic AS/Area Opaque LSA"; + } + enum "mgmt-opq-link-type" { + value 6; + description + "Generic Link Opaque LSA"; + } + enum "mgmt-opq-rrr-type" { + value 7; + description + "Opaque Area type 1 LSA"; + } + enum "mgmt-opq-gr-type" { + value 8; + description + "Opaque link type 1 LSA"; + } + enum "mgmt-opq-ri-type" { + value 9; + description + "Opaque Router Information LSA"; + } + enum "mgmt-opq-epl-type" { + value 10; + description + "Opaque Area type 128"; + } + enum "mgmt-opq-ell-type" { + value 11; + description + "Opaque Area type 8"; + } + enum "mgmt-opq-eial-type" { + value 12; + description + "Opaque Area type 11"; + } + } + description + "OSPF LSA format types"; + } + + typedef Timer { + type enumeration { + enum "mgmt-db-stop" { + description + "Timer stopped"; + } + enum "mgmt-db-refresh" { + description + "Refresh"; + } + enum "mgmt-db-checksum" { + description + "Checksum"; + } + enum "mgmt-db-max-age" { + description + "Maxage"; + } + } + description + "The LSA timer running can be refresh, checksum or + maxage"; + } + + typedef Timer-table { + type enumeration { + enum "mgmt-db-no-table" { + description + "Not in time table"; + } + enum "mgmt-db-sec-table" { + description + "In second table"; + } + enum "mgmt-db-buffer-table" { + description + "In buffer table"; + } + enum "mgmt-db-min-table" { + description + "In minute table"; + } + } + description + "The throttled LSA can be in second, buffer or + minute timer table"; + } + + typedef Ospf-srlb-status { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown"; + } + enum "not-allocated" { + value 1; + description + "Not allocated"; + } + enum "allocated" { + value 2; + description + "Allocated"; + } + } + description + "Ospf srlb status"; + } + + typedef Ospf-srgb-status { + type enumeration { + enum "not-allocated" { + value 0; + description + "Not allocated"; + } + enum "pending" { + value 1; + description + "Allocation pending"; + } + enum "allocated" { + value 2; + description + "Allocated"; + } + } + description + "Ospf srgb status"; + } + + typedef Uloop-avoidance { + type enumeration { + enum "none" { + value 0; + description + "No uloop avoidance"; + } + enum "protected-prefixes" { + value 1; + description + "Apply Local uloop avoidance only for protected + prefixes"; + } + enum "all-prefixes" { + value 2; + description + "Apply Local uloop avoidance for all prefixes"; + } + enum "segment-routing-uloop" { + value 3; + description + "Apply segment routing uloop avoidance"; + } + } + description + "Uloop avoidance"; + } + + typedef Gs-state { + type enumeration { + enum "mgmt-gs-init" { + description + "Process in initialization "; + } + enum "mgmt-gs-normal" { + description + "Graceful Shutdown not running"; + } + enum "mgmt-gs-delay" { + description + "Delaying before Graceful Shutdown"; + } + enum "mgmt-gs-flush" { + description + "Flushing self originated LSAs"; + } + enum "mgmt-gs-hello" { + description + "Sending empty hellos"; + } + enum "mgmt-gs-quiet" { + description + "Shutdown mode."; + } + } + description + "Gs state"; + } + + typedef Max-metric-unset-reason { + type enumeration { + enum "mgmt-max-metric-unset-none" { + description + "none"; + } + enum "mgmt-max-metric-unset-bgp" { + description + "BGP converged"; + } + enum "mgmt-max-metric-unset-timer" { + description + "timer expired"; + } + enum "mgmt-max-metric-unset-cfg" { + description + "unconfigured"; + } + enum "mgmt-max-metric-unset-process-cleared" { + description + "process cleared"; + } + enum "mgmt-max-metric-unset-over-write" { + description + "set for other reason"; + } + } + description + "Max metric unset reason"; + } + + typedef Ospf-max-metric-abr-off-reasons { + type enumeration { + enum "ospf-max-metric-abr-off-reason-none" { + value 0; + description + "No reason"; + } + enum "ospf-max-metric-abr-off-reason-no-nbr" { + value 1; + description + "No neighbors seen yet"; + } + enum "ospf-max-metric-abr-off-reason-new-nbr" { + value 2; + description + "New neighbor seen recently"; + } + enum "ospf-max-metric-abr-off-reason-nbr-full" { + value 4; + description + "Adjacency FULL seen recently"; + } + enum "ospf-max-metric-abr-off-reason-flush-p-end" { + value 8; + description + "LSA flushes pending"; + } + } + description + "Ospf max metric abr off reasons"; + } + + typedef Max-metric-set-reason { + type enumeration { + enum "mgmt-max-metric-on-proc-migration" { + description + "proc migration"; + } + enum "mgmt-max-metric-on-proc-restart" { + description + "proc restart"; + } + enum "mgmt-max-metric-on-switchover" { + description + "switch over"; + } + enum "mgmt-max-metric-on-startup" { + description + "start up"; + } + enum "mgmt-max-metric-always" { + description + "always"; + } + enum "mgmt-max-metric-reason-none" { + description + "none"; + } + } + description + "Max metric set reason"; + } + + typedef Sr-uloop-event { + type enumeration { + enum "none" { + value 0; + description + "No SR uloop event"; + } + enum "link-down" { + value 1; + description + "SR Uloop Event Link Down"; + } + enum "link-up" { + value 2; + description + "SR Uloop Event Link Up"; + } + } + description + "Sr uloop event"; + } + + typedef Sr-dp { + type enumeration { + enum "mgmt-ospf-sr-dp-none" { + value 0; + description + "SR Disable"; + } + enum "mgmt-ospf-sr-dp-mpls" { + value 1; + description + "SR MPLS"; + } + } + description + "Sr dp"; + } + + typedef Ospf-br { + type enumeration { + enum "mgmt-d-type-abr-asbr" { + description + "Both Area Border Router and AS Border Router"; + } + enum "mgmt-d-type-asbr" { + description + "AS Border Router"; + } + enum "mgmt-d-type-abr" { + description + "Area Border Router"; + } + } + description + "Ospf br"; + } + + typedef Ospf-sr-adj-sid-inactive-reason { + type enumeration { + enum "ospf-adj-sid-inactive-none" { + value 0; + description + "None"; + } + enum "ospf-adj-sid-inactive-no-nbr" { + value 1; + description + "No neighbors on interface"; + } + enum "ospf-adj-sid-inactive-no-nbr-addr" { + value 2; + description + "Neighbor address not specified for multiple + neighbors"; + } + enum "ospf-adj-sid-inactive-nbr-not-found" { + value 3; + description + "Neighbor with specified address not found"; + } + enum "ospf-adj-sid-inactive-out-of-srlb" { + value 4; + description + "Adj SID out of SRLB"; + } + enum "ospf-adj-sid-inactive-lsd-alloc-pending" { + value 5; + description + "LSD allocation pending"; + } + enum "ospf-adj-sid-inactive-no-srlb" { + value 6; + description + "SRLB not allocated"; + } + enum "ospf-adj-sid-inactive-sr-not-enable" { + value 7; + description + "Segment routing not enabled"; + } + enum "ospf-adj-sid-inactive-dadj" { + value 8; + description + "Active in Deleted Adjacency Protection"; + } + } + description + "Ospf sr adj sid inactive reason"; + } + + typedef Ipfrr-tbrkr { + type enumeration { + enum "downstream" { + value 0; + description + "Downsteram"; + } + enum "line-card-disjoint" { + value 1; + description + "LC Disjoint"; + } + enum "backup-metric" { + value 2; + description + "Backup metric"; + } + enum "node-protect" { + value 3; + description + "Node protection"; + } + enum "primary-path" { + value 4; + description + "Primary path"; + } + enum "secondary-path" { + value 5; + description + "Secondary path"; + } + enum "srlg-disjoint" { + value 6; + description + "SRLG disjoint"; + } + enum "interface-disjoint" { + value 7; + description + "Interface disjoint"; + } + enum "tunnel" { + value 8; + description + "Tunnel"; + } + enum "post-convergence" { + value 9; + description + "Post Convergence"; + } + } + description + "FRR Tiebreakers"; + } + + typedef Ipfrr { + type enumeration { + enum "none" { + value 0; + description + "Disabled"; + } + enum "per-link" { + value 1; + description + "Per link"; + } + enum "per-prefix" { + value 2; + description + "Per prefix"; + } + } + description + "FRR Types"; + } + + typedef Interface-state { + type enumeration { + enum "mgmt-ifs-unknown" { + description + "Interface state unknown"; + } + enum "mgmt-ifs-admin-down" { + description + "Interface is administratively down"; + } + enum "mgmt-ifs-down" { + description + "Interface is down"; + } + enum "mgmt-ifs-up" { + description + "Interface is up"; + } + enum "mgmt-ifs-shutdown" { + description + "Interface is administratively down"; + } + } + description + "Interface state"; + } + + typedef Ospf-crytographic-algo { + type enumeration { + enum "mgmt-not-configured" { + value 0; + description + "Not configured"; + } + enum "mgmt-aes-128-cmac-96" { + value 1; + description + "AES 128 CMAC 96"; + } + enum "mgmt-hmac-sha1-12" { + value 2; + description + "HAMC SHA1 12"; + } + enum "mgmt-md5-16" { + value 3; + description + "MD5 16"; + } + enum "mgmt-sha1-20" { + value 4; + description + "SHA1 20"; + } + enum "mgmt-hmac-md5-16" { + value 5; + description + "HMAC MD5 16"; + } + enum "mgmt-hmac-sha1-20" { + value 6; + description + "HMAC SHA1 20"; + } + enum "mgmt-aes-128-cmac" { + value 7; + description + "AES 128 CMAC"; + } + enum "mgmt-aes-256-cmac" { + value 8; + description + "AES 256 CMAC"; + } + enum "mgmt-hmac-sha1-96" { + value 9; + description + "HMAC SHA1 96"; + } + enum "mgmt-hmac-sha-256" { + value 10; + description + "HMAC SHA 256"; + } + enum "mgmt-hmac-sha1" { + value 11; + description + "HMAC SHA1"; + } + } + description + "Cryptographic algorithm"; + } + + typedef Authentication { + type enumeration { + enum "mgmt-ospf-auth-none" { + value 0; + description + "No Authentication"; + } + enum "mgmt-ospf-auth-ct" { + value 1; + description + "Clear Text"; + } + enum "mgmt-ospf-auth-md" { + value 2; + description + "MD5"; + } + enum "mgmt-ospf-auth-kc" { + value 3; + description + "Keychain"; + } + } + description + "Authentication"; + } + + typedef Ospf-interface-state { + type enumeration { + enum "mgmt-ospf-ifs-down" { + value 0; + description + "Down"; + } + enum "mgmt-ospf-ifs-loop-back" { + value 1; + description + "Loopback"; + } + enum "mgmt-ospf-ifs-waiting" { + value 2; + description + "Waiting"; + } + enum "mgmt-ospf-ifs-point-to-m-point" { + value 3; + description + "Point to multipoint"; + } + enum "mgmt-ospf-ifs-point-to-point" { + value 4; + description + "Point to point"; + } + enum "mgmt-ospf-ifs-dr" { + value 5; + description + "DesignatedRouter"; + } + enum "mgmt-ospf-ifs-backup" { + value 6; + description + "Backup Designated Router"; + } + enum "mgmt-ospf-ifs-other" { + value 7; + description + "Designated Router Other"; + } + } + description + "Ospf interface state"; + } + + typedef String1 { + type string; + description + "String1"; + } + + typedef Redist-protocol { + type enumeration { + enum "mgmt-rib-protocol-all" { + description + "Unknown"; + } + enum "mgmt-rib-protocol-connected" { + description + "Connected"; + } + enum "mgmt-rib-protocol-local" { + description + "Local"; + } + enum "mgmt-rib-protocol-static" { + description + "Static"; + } + enum "mgmt-rib-protocol-bgp" { + description + "BGP"; + } + enum "mgmt-rib-protocol-rip" { + description + "RIP"; + } + enum "mgmt-rib-protocol-isis" { + description + "ISIS"; + } + enum "mgmt-rib-protocol-ospf" { + description + "OSPF"; + } + enum "mgmt-rib-protocol-eigrp" { + description + "EIGRP"; + } + enum "mgmt-rib-protocol-dagr" { + description + "DAGR"; + } + enum "mgmt-rib-protocol-subscriber" { + description + "Subscriber"; + } + enum "mgmt-rib-protocol-application" { + description + "Application"; + } + enum "mgmt-rib-protocol-mobile" { + description + "Mobile"; + } + } + description + "Redist protocol"; + } + + typedef Ospf-sh-nnh-val-types { + type enumeration { + enum "mgmt-nnh-val-type-ip-addr" { + value 1; + description + "NNH IP Address"; + } + enum "mgmt-nnh-val-type-if-index" { + value 2; + description + "NNH Interface Index"; + } + } + description + "OSPF Neighbor Next Hop Value Types"; + } + + typedef Lfa { + type enumeration { + enum "mgmt-ospf-unknown-lfa" { + value 0; + description + "Unknown LFA"; + } + enum "mgmt-ospf-direct-lfa" { + value 1; + description + "Direct LFA"; + } + enum "mgmt-ospf-ti-lfa" { + value 2; + description + "TI LFA"; + } + enum "mgmt-ospf-remote-lfa" { + value 3; + description + "Remote LFA"; + } + enum "mgmt-ospf-remote-lfa-sr" { + value 4; + description + "Remote LFA SR"; + } + } + description + "Lfa"; + } + + typedef Ospf-route { + type enumeration { + enum "mgmt-r-type-none" { + value 0; + description + "No route type"; + } + enum "mgmt-r-type-other" { + value 1; + description + "Not set"; + } + enum "mgmt-r-type-intra" { + value 2; + description + "Intra-area route"; + } + enum "mgmt-r-type-inter" { + value 4; + description + "Inter-area route"; + } + enum "mgmt-r-type-extern1" { + value 8; + description + "Type 1 External route"; + } + enum "mgmt-r-type-extern2" { + value 16; + description + "Type 2 External route"; + } + enum "mgmt-r-type-isis-sum" { + value 32; + description + "IS-IS summary route"; + } + enum "mgmt-r-type-isis-l1" { + value 64; + description + "IS-IS level 1 route"; + } + enum "mgmt-r-type-isis-l2" { + value 128; + description + "IS-IS level 2 route"; + } + enum "mgmt-r-type-isis-l1-ia" { + value 256; + description + "IS-IS level 1 inter-area route"; + } + enum "mgmt-r-type-bgp-int" { + value 512; + description + "iBGP route"; + } + enum "mgmt-r-type-bgp-ext" { + value 1024; + description + "eBGP route"; + } + enum "mgmt-r-type-bgp-loc" { + value 2048; + description + "BGP local route"; + } + enum "mgmt-r-type-nssa1" { + value 4096; + description + "Type 1 NSSA route"; + } + enum "mgmt-r-type-nssa2" { + value 8192; + description + "Type 2 NSSA route"; + } + enum "mgmt-r-type-i-grp2-int" { + value 16384; + description + "EIGRP internal route"; + } + enum "mgmt-r-type-i-grp2-ext" { + value 32768; + description + "EIGRP external route"; + } + } + description + "Ospf route"; + } + + typedef Nsf-rtr { + type enumeration { + enum "mgmt-nsf-rtr-none" { + description + "None"; + } + enum "mgmt-nsf-rtr-requester" { + description + "Requester"; + } + enum "mgmt-nsf-rtr-receiver" { + description + "Receiver"; + } + } + description + "Nsf rtr"; + } + + typedef Interface { + type enumeration { + enum "mgmt-if-broadcast" { + value 1; + description + "Broadcast"; + } + enum "mgmt-if-nonbroadcast" { + value 2; + description + "Non broadcast multi access"; + } + enum "mgmt-if-point-to-point" { + value 3; + description + "Point to Point"; + } + enum "mgmt-if-point-to-m-point" { + value 4; + description + "Point to multipoint"; + } + enum "mgmt-if-p2mp-non-bcast" { + value 5; + description + "Non broadcast point to multipoint"; + } + enum "mgmt-if-virtual-link" { + value 6; + description + "Virtual link"; + } + enum "mgmt-if-sham-link" { + value 7; + description + "Sham link"; + } + enum "mgmt-if-loop-back" { + value 8; + description + "Loopback"; + } + } + description + "Interface"; + } + + typedef Dr-bdr-state { + type enumeration { + enum "mgmt-dbdr-none" { + description + "None"; + } + enum "mgmt-dbdr-dr" { + description + "Designated Router"; + } + enum "mgmt-dbdr-bdr" { + description + "Backup Designated Router"; + } + enum "mgmt-dbdr-dr-other" { + description + "Designated Router Other"; + } + } + description + "Dr bdr state"; + } + + typedef Neighbor-state { + type enumeration { + enum "mgmt-nbr-down" { + value 0; + description + "Down"; + } + enum "mgmt-nbr-attempt" { + value 1; + description + "Attempt"; + } + enum "mgmt-nbr-init" { + value 2; + description + "Init"; + } + enum "mgmt-nbr-2way" { + value 3; + description + "2 Way"; + } + enum "mgmt-nbr-ex-start" { + value 4; + description + "Exstart"; + } + enum "mgmt-nbr-ex-change" { + value 5; + description + "Exchange"; + } + enum "mgmt-nbr-load-ing" { + value 6; + description + "Loading"; + } + enum "mgmt-nbr-full" { + value 7; + description + "Full"; + } + enum "mgmt-nbr-sc-virtual" { + value 8; + description + "SCvirtual"; + } + } + description + "Neighbor state"; + } + + typedef Mpls-te-opt-tlv { + type enumeration { + enum "mpls-te-opt-tlv-type-none" { + value 0; + description + "None"; + } + enum "mpls-te-opt-tlv-type-srlg" { + value 1; + description + "SRLGs"; + } + enum "mpls-te-opt-tlv-type-bc" { + value 2; + description + "Bandwidth Constraints"; + } + enum "mpls-te-opt-tlv-type-ixcd" { + value 3; + description + "Intarface Switching Capability Descriptor"; + } + enum "mpls-te-opt-tlv-type-uni-delay" { + value 4; + description + "Unidirectional Link Delay"; + } + } + description + "Mpls te opt tlv"; + } + + typedef Igpte-lib-bw-model { + type enumeration { + enum "rdm" { + value 0; + description + "Russian Dolls Model"; + } + enum "mam" { + value 1; + description + "Maximum Allocation Model"; + } + enum "not-set" { + value 2; + description + "No model set"; + } + } + description + "Bandwidth model"; + } + + typedef Link-subnet { + type enumeration { + enum "mgmt-igp-subnet-type-none" { + value 0; + description + "None"; + } + enum "mgmt-igp-subnet-type-p2p" { + value 1; + description + "Point to Point"; + } + enum "mgmt-igp-subnet-type-broadcast" { + value 2; + description + "Broadcast"; + } + enum "mgmt-igp-subnet-type-nbma" { + value 3; + description + "Non Broadcast Multi Access"; + } + enum "mgmt-igp-subnet-type-p2mp" { + value 4; + description + "Point to multipoint"; + } + enum "mgmt-igp-subnet-type-loop-back" { + value 5; + description + "Loopback"; + } + enum "mgmt-igp-subnet-type-max" { + value 6; + description + "Unsupported"; + } + } + description + "Link subnet"; + } + + typedef Ospf-sr-endp-res-fail-reason { + type enumeration { + enum "ospf-se-res-fail-none" { + value 0; + description + "None"; + } + enum "ospf-se-res-fail-no-route" { + value 1; + description + "No route"; + } + enum "ospf-se-res-fail-inv-route-type" { + value 2; + description + "Route type is not valid"; + } + enum "ospf-se-res-fail-default-route" { + value 3; + description + "Default route not used"; + } + enum "ospf-se-res-fail-intra-multi-home-d" { + value 4; + description + "Multihomed intra prefix"; + } + enum "ospf-se-res-fail-no-path" { + value 5; + description + "No path found"; + } + enum "ospf-se-res-fail-no-epl" { + value 6; + description + "No EPL found"; + } + enum "ospf-se-res-fail-area-not-sr-enable" { + value 7; + description + "Area not SR enabled"; + } + enum "ospf-se-res-fail-epl-multi-home-d" { + value 8; + description + "Multihomed EPL origin"; + } + enum "ospf-se-res-fail-no-n-bit-epl" { + value 9; + description + "No EPL with N-bit found"; + } + enum "ospf-se-res-fail-no-na-bit-epl" { + value 10; + description + "No EPL with NA-bit found"; + } + enum "ospf-se-res-fail-area-mismatch" { + value 11; + description + "Area mismatch"; + } + enum "ospf-se-res-fail-rid-mismatch" { + value 12; + description + "Router ID mismatch"; + } + } + description + "Ospf sr endp res fail reason"; + } + + typedef Ospf-sr-pol-metric-mode { + type enumeration { + enum "mgmt-ospf-metric-mode-none" { + value 0; + description + "Metric Mode None"; + } + enum "mgmt-ospf-metric-mode-relative" { + value 1; + description + "Relative Metric"; + } + enum "mgmt-ospf-metric-mode-constant" { + value 3; + description + "Constant Metric"; + } + enum "mgmt-ospf-metric-mode-absolute" { + value 4; + description + "Absolute Metric"; + } + } + description + "Ospf sr pol metric mode"; + } + + typedef Lsa { + type enumeration { + enum "mgmt-lsa-type-rtr" { + value 1; + description + "Router LSA"; + } + enum "mgmt-lsa-type-net" { + value 2; + description + "Network LSA"; + } + enum "mgmt-lsa-type-sum-net" { + value 3; + description + "Summary LSA"; + } + enum "mgmt-lsa-type-sum-asb" { + value 4; + description + "Summary-ASBR LSA"; + } + enum "mgmt-lsa-type-ext" { + value 5; + description + "AS external LSA"; + } + enum "mgmt-lsa-type-mospf" { + value 6; + description + "MOSPF LSA"; + } + enum "mgmt-lsa-type-7-ase" { + value 7; + description + "Type-7 External LSA"; + } + enum "mgmt-lsa-type-8-ignore" { + value 8; + description + "Invalid type"; + } + enum "mgmt-lsa-type-opq-link" { + value 9; + description + "Opaque link LSA"; + } + enum "mgmt-lsa-type-opq-area" { + value 10; + description + "Opaque Area LSA"; + } + enum "mgmt-lsa-type-opq-as" { + value 11; + description + "Opaque AS LSA"; + } + } + description + "Lsa"; + } + + grouping OSPF-SH-WSRLG { + description + "OSPF SRLG details"; + leaf name { + type string; + description + "SRLG Name"; + } + leaf value { + type uint32; + description + "SRLG Value"; + } + leaf admin-weight { + type uint32; + description + "Weight used for this SRLG"; + } + leaf admin-weight-set { + type boolean; + description + "Whether weight is set for this SRLG"; + } + leaf value-set { + type boolean; + description + "Whether value is set for this SRLG"; + } + leaf ospf-config { + type boolean; + description + "Whether OSPF configuration is present for this + SRLG"; + } + leaf global-config { + type boolean; + description + "Whether global configuration is present for this + SRLG"; + } + } + + grouping OSPF-SH-IPFRR-TOPO-ENTRY { + description + "OSPF_IPFRR Topology Entry"; + leaf node-id { + type inet:ipv4-address; + description + "IPFRR Topology Node ID"; + } + leaf distance { + type uint32; + description + "IPFRR Topology Distance"; + } + leaf distance-reverse { + type uint32; + description + "IPFRR Topology Reverse Distance"; + } + leaf type4 { + type boolean; + description + "IPFRR Topoogy Type-4 entry"; + } + leaf revision { + type uint32; + description + "IPFRR Topology Revision"; + } + leaf neighbor-sourced { + type boolean; + description + "IPFRR Topology Neighbor Sourced"; + } + leaf dr { + type boolean; + description + "IPFRR Topology DR entry"; + } + leaf poison { + type boolean; + description + "IPFRR Topology rSPT poison"; + } + } + + grouping OSPF-SH-IPFRR-TOPO { + description + "OSPF IPFRR Topology Information"; + leaf ipfrr-topo-area-id { + type string { + length "0..16"; + } + description + "Area ID string in decimal or dotted decimal + format"; + } + leaf ipfrr-local-router-id { + type inet:ipv4-address; + description + "OSPF Local Node Router ID"; + } + leaf ipfrr-area-revision { + type uint32; + description + "IPFRR Topology Revision"; + } + list ipfrr-topo { + description + "IPFRR Topology entries"; + uses OSPF-SH-IPFRR-TOPO-ENTRY; + } + } + + grouping OSPF-SH-STATS-AGGT { + description + "OSPF SH STATS AGGT"; + leaf num-nbrs { + type uint32; + description + "Count of neighbors"; + } + leaf num-nbrs-up { + type uint32; + description + "Count of neighbors that are UP"; + } + leaf num-interfaces { + type uint32; + description + "Count of interfaces"; + } + leaf num-interfaces-up { + type uint32; + description + "Count of interfaces that are UP"; + } + leaf num-virtual-intfaces-up { + type uint32; + description + "Count of virtual interfaces that are UP"; + } + leaf num-shamlink-interfaces-up { + type uint32; + description + "Count of shamlinks that are UP"; + } + leaf num-areas { + type uint32; + description + "Count of areas"; + } + leaf num-router-lsas { + type uint32; + description + "Count of Router LSAs"; + } + leaf num-network-lsas { + type uint32; + description + "Count of Network LSAs"; + } + leaf num-network-summary-lsas { + type uint32; + description + "Count of Network Summary LSAs"; + } + leaf num-asbr-summary-lsas { + type uint32; + description + "Count of ASBR Summary LSAs"; + } + leaf num-as-external-lsas { + type uint32; + description + "Count of AS External LSAs"; + } + leaf num-mospf-lsas { + type uint32; + description + "Count of MOSPF LSAs"; + } + leaf num-nssa-external-lsas { + type uint32; + description + "Count of NSSA External LSAs"; + } + leaf num-ignored-type8-lsas { + type uint32; + description + "Count of ignored Type 8 LSAs"; + } + leaf num-opaque-link-lsas { + type uint32; + description + "Count of Opaque link-scoped LSAs"; + } + leaf num-opaque-area-lsas { + type uint32; + description + "Count of Opaque area-scoped LSAs"; + } + leaf num-opaque-as-lsas { + type uint32; + description + "Count of Opaque AS-scoped LSAs"; + } + } + + grouping OSPF-SH-SUMMARY-ADDRESS { + description + "OSPF Summary Address"; + leaf summary-prefix { + type inet:ipv4-address; + description + "Ipv4 Summary prefix"; + } + leaf summary-mask { + type inet:ipv4-address; + description + "subnet mask of Summary prefix"; + } + leaf summary-metric { + type uint32; + description + "Cost of Summary"; + } + leaf summary-metric-type { + type Ex-metric; + description + "Type of Metric"; + } + leaf summary-tag { + type uint32; + description + "Tag associated with this summary prefix"; + } + } + + grouping OSPF-SH-DB-AS-SUM { + description + "OSPF AS Scope LSA Database Summary counters"; + list as-lsa-counter { + description + "Summary counter for AS scope LSAs"; + uses OSPF-SH-DB-SUM-CNTR; + } + } + + grouping OSPF-SH-DB-SUM-CNTR { + description + "OSPF Summary counters for a type"; + leaf lsa-type { + type Lsa; + description + "Type of LSAs"; + } + leaf lsa-count { + type int32; + description + "Number of LSAs of this type"; + } + leaf lsa-delete-count { + type int32; + description + "Number of deleted LSAs of this type"; + } + leaf lsa-maxage-count { + type int32; + description + "Number of MaxAged LSAs of this type"; + } + leaf lsa-self-count { + type int32; + description + "Number of self-generated LSAs"; + } + } + + grouping OSPF-SH-DB-AREA-SUM { + description + "OSPF Area Scope Database Summary counters"; + leaf dbase-sum-area-id-string { + type string { + length "0..16"; + } + description + "Area id"; + } + list area-lsa-counter { + description + "Summary counters for Area scope LSAs"; + uses OSPF-SH-DB-SUM-CNTR; + } + } + + grouping OSPF-SH-DATABASE { + description + "OSPF Database Information"; + container lsa-header { + description + "LSA header information"; + uses OSPF-SH-DB-HEADER; + } + leaf external-tag { + type uint32; + description + "Route Tag"; + } + leaf link-count { + type uint16; + description + "Number of links"; + } + } + + grouping OSPF-SH-LSA-OPQ-EIAL { + description + "OSPF Opaque-area type 11 ExtendedASBR LSA + Information"; + list tlv { + description + "List of TLVs"; + uses OSPF-SH-OPQ-TLV; + } + } + + grouping OSPF-SH-LSA-OPQ-ELL { + description + "OSPF Opaque-area type 8 ExtendedLink LSA + Information"; + list tlv { + description + "List of TLVs"; + uses OSPF-SH-OPQ-TLV; + } + } + + grouping OSPF-SH-LSA-OPQ-EPL { + description + "OSPF Opaque-area type 128 ExtendedPrefix LSA + Information"; + list tlv { + description + "List of TLVs"; + uses OSPF-SH-OPQ-TLV; + } + } + + grouping OSPF-SH-OPQ-RI-HOSTNAME { + description + "OSPF Hostname"; + leaf router-host-name { + type string { + length "0..256"; + } + description + "Hostname string"; + } + } + + grouping OSPF-SH-SR-FAD-UNKNOWN-STLV { + description + "OSPF FAD SubTLV"; + leaf fad-sub-tlv-length { + type uint16; + description + "Length of sub-TLV"; + } + list fad-unknown-data { + description + "FAD unknown TLV data"; + leaf entry { + type uint8; + description + "FAD unknown TLV data"; + } + } + } + + grouping OSPF-SH-SR-FAD-FLAG-STLV { + description + "OSPF FAD SubTLV"; + leaf fad-sub-tlv-length { + type uint16; + description + "Length of sub-TLV"; + } + list fad-flag { + description + "FAD flag bits"; + leaf entry { + type uint8; + description + "FAD flag bits"; + } + } + } + + grouping OSPF-SH-SR-FAD-SRLG-STLV { + description + "OSPF FAD SubTLV"; + leaf fad-sub-tlv-length { + type uint16; + description + "Length of sub-TLV"; + } + list fad-srlg { + description + "FAD SRLG exclude any"; + leaf entry { + type uint32; + description + "FAD SRLG exclude any"; + } + } + } + + grouping OSPF-SH-SR-FAD-AG-STLV { + description + "OSPF FAD SubTLV"; + leaf fad-sub-tlv-length { + type uint16; + description + "Length of sub-TLV"; + } + list fad-admin-group { + description + "FAD Admin Group"; + leaf entry { + type uint32; + description + "FAD Admin Group"; + } + } + } + + grouping OSPF-SH-OPQ-RI-FAD-TLV { + description + "OSPF FAD TLV"; + container exclude-attribute { + description + "Exclude sub-TLV"; + uses OSPF-SH-SR-FAD-AG-STLV; + } + container include-any-attribute { + description + "Include any sub-TLV"; + uses OSPF-SH-SR-FAD-AG-STLV; + } + container include-all-attribute { + description + "Include all sub-TLV"; + uses OSPF-SH-SR-FAD-AG-STLV; + } + container fad-srlg-exc-any { + description + "SRLG exclude any sub-TLV"; + uses OSPF-SH-SR-FAD-SRLG-STLV; + } + container fad-flags { + description + "Felx Algo Flags"; + uses OSPF-SH-SR-FAD-FLAG-STLV; + } + container fad-unsupported-tlv { + description + "Felx Algo unsupported TLV"; + uses OSPF-SH-SR-FAD-UNKNOWN-STLV; + } + leaf fad-length { + type uint16; + description + "Length of TLV"; + } + leaf fad-algo { + type uint8; + description + "Flex ALgo number"; + } + leaf fad-metric-type { + type uint8; + description + "Flex Algo Metric Type"; + } + leaf fad-algo-type { + type uint8; + description + "Flex Algo Calc type"; + } + leaf fad-priority { + type uint8; + description + "Flex Algo Priority"; + } + leaf fad-unsupported-tlv-type { + type uint8; + description + "Flex Algo unsupported TLV type"; + } + } + + grouping OSPF-SH-OPQ-RI-SRLB-TLV { + description + "OSPF SRLB TLV"; + container sidtlv { + description + "SID sub-TLV"; + uses OSPF-SH-SR-SID-STLV; + } + leaf srlbtlv-length { + type uint16; + description + "Length of TLV"; + } + leaf srlb-range-size { + type uint32; + description + "SRLB Range Size"; + } + } + + grouping OSPF-SH-OPQ-RI-MSD-SUBTYPE { + description + "OSPF MSD Subtype"; + leaf msd-sub-type { + type uint8; + description + "MSD SubType"; + } + leaf msd-value { + type uint8; + description + "MSD Value"; + } + } + + grouping OSPF-SH-OPQ-RI-NODE-MSD-TLV { + description + "OSPF Node MSD TLV"; + container node-msd-sub-types { + description + "Node MSD Subtypes"; + uses OSPF-SH-OPQ-RI-MSD-SUBTYPE; + } + leaf node-msdtlv-length { + type uint16; + description + "Length of TLV"; + } + } + + grouping OSPF-SH-SR-SID-STLV { + description + "OSPF PCE-Discovery PCE Scope SubTLV"; + leaf sr-sid-length { + type uint16; + description + "Length of sub-TLV"; + } + leaf sr-sid-value { + type uint32; + description + "SID Value"; + } + } + + grouping OSPF-SH-OPQ-RI-SR-RANGE-TLV { + description + "OSPF SR Range TLV"; + container sidtlv { + description + "SID sub-TLV"; + uses OSPF-SH-SR-SID-STLV; + } + leaf sr-range-length { + type uint16; + description + "Length of TLV"; + } + leaf sr-range-size { + type uint32; + description + "SR Range Size"; + } + } + + grouping OSPF-SH-OPQ-RI-SR-ALGO-TLV { + description + "OSPF SR Algorithm TLV"; + list sr-algo-value { + description + "SR Algorithms"; + leaf entry { + type uint8; + description + "SR Algorithms"; + } + } + } + + grouping OSPF-SH-OPQ-RI-PCED-SCOPE-STLV { + description + "OSPF PCE-Discovery PCE Scope SubTLV"; + leaf lbit { + type boolean; + description + "L Bit"; + } + leaf rbit { + type boolean; + description + "R Bit"; + } + leaf rd-bit { + type boolean; + description + "Rd Bit"; + } + leaf sbit { + type boolean; + description + "S Bit"; + } + leaf sd-bit { + type boolean; + description + "Sd Bit"; + } + leaf ybit { + type boolean; + description + "Y Bit"; + } + leaf pref-l { + type uint8; + description + "Pref L"; + } + leaf pref-r { + type uint8; + description + "Pref R"; + } + leaf pref-s { + type uint8; + description + "Pref S"; + } + leaf pref-y { + type uint8; + description + "Pref Y"; + } + leaf all-scope-info-bits { + type uint32; + description + "PCE Scope Information"; + } + } + + grouping OSPF-SH-OPQ-RI-PCE-IPV6-ADDR-STLV { + description + "PCE IPv6 Address SubTLV"; + leaf pceipv6-addr { + type inet:ipv6-address; + description + "PCE IPv6 Address"; + } + } + + grouping OSPF-SH-OPQ-RI-PCE-IPV4-ADDR-STLV { + description + "PCE IPv4 Address SubTLV"; + leaf pceipv4-addr { + type inet:ipv4-address; + description + "PCE IPv4 Address"; + } + } + + grouping OSPF-SH-OPQ-RI-PCE-ADDR-STLVS-UNION { + description + "OSPF PCE Address SubTLVs"; + container pce-addr-unknown-tlv { + when "../pce-addr-type = 'mgmt-ospf-opq-pce-addr-type-invalid'" { + description + "../PCEAddrType = + 'MGMT_OSPF_OPQ_PCE_ADDR_TYPE_INVALID'"; + } + description + "Unknown PCE Addr TLV"; + uses OSPF-SH-OPQ-RI-UNKNOWN-TLV; + } + container ipv4pce-addr { + when "../pce-addr-type = 'mgmt-ospf-opq-pce-addr-type-ipv4'" { + description + "../PCEAddrType = + 'MGMT_OSPF_OPQ_PCE_ADDR_TYPE_IPV4'"; + } + description + "IPv4 PCE Address"; + uses OSPF-SH-OPQ-RI-PCE-IPV4-ADDR-STLV; + } + container ipv6pce-addr { + when "../pce-addr-type = 'mgmt-ospf-opq-pce-addr-type-ipv6'" { + description + "../PCEAddrType = + 'MGMT_OSPF_OPQ_PCE_ADDR_TYPE_IPV6'"; + } + description + "IPv6 PCE Address"; + uses OSPF-SH-OPQ-RI-PCE-IPV6-ADDR-STLV; + } + leaf pce-addr-type { + type Ospf-sh-opq-ri-pce-addr-types; + description + "PCEAddrType"; + } + } + + grouping OSPF-SH-OPQ-RI-PCED-TLV { + description + "OSPF PCE Discovery TLV"; + container pced-addr { + description + "PCE Address"; + uses OSPF-SH-OPQ-RI-PCE-ADDR-STLVS-UNION; + } + container pced-scope { + description + "PCE Scope Information"; + uses OSPF-SH-OPQ-RI-PCED-SCOPE-STLV; + } + leaf pcedtlv-length { + type uint16; + description + "Length of TLV"; + } + } + + grouping OSPF-SH-OPQ-RI-RTRCAP-TLV { + description + "OSPF Router Capabilities TLV"; + leaf rtr-cap-tlv-length { + type uint16; + description + "Length of TLV"; + } + leaf rtr-cap-graceful-restart { + type boolean; + description + "Graceful Restart Capability"; + } + leaf rtr-cap-graceful-restart-helper { + type boolean; + description + "Graceful Restart Helper Capability"; + } + leaf rtr-cap-stub-rtr { + type boolean; + description + "Stub Router capability"; + } + leaf rtr-cap-area-te { + type boolean; + description + "Traffic Engineering capability of area"; + } + leaf rtr-cap-p2plan { + type boolean; + description + "P2P LAN Capability"; + } + leaf rtr-cap-te-exp { + type boolean; + description + "TE Experimental bit"; + } + leaf rtr-cap-all-bits { + type uint32; + description + "All capability bits"; + } + leaf rtr-cap-additional-info { + type yang:hex-string; + description + "Additional Information in TLV"; + } + } + + grouping OSPF-SH-OPQ-RI-UNKNOWN-TLV { + description + "OSPF Opaque Router Information TLV"; + leaf ri-gen-tlv-type { + type uint16; + description + "Type of TLV"; + } + leaf ri-gen-tlv-length { + type uint16; + description + "Length of TLV"; + } + leaf ri-genvalue { + type yang:hex-string; + description + "Data in TLV"; + } + } + + grouping OSPF-SH-OPQ-RI-TLVS-UNION { + description + "OSPF Router Information TLVs"; + container unknown-tlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-unknown'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_UNKNOWN'"; + } + description + "Unknown Rtr Info TLV"; + uses OSPF-SH-OPQ-RI-UNKNOWN-TLV; + } + container rtr-cap-tlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-rtrcap'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_RTRCAP'"; + } + description + "Rtr Cap TLV"; + uses OSPF-SH-OPQ-RI-RTRCAP-TLV; + } + container pcedtlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-pce-discovery'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_PCEDISCOVERY'"; + } + description + "PCE Discovery TLV"; + uses OSPF-SH-OPQ-RI-PCED-TLV; + } + container sr-algo-tlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-sr-algo'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_SR_ALGO'"; + } + description + "SR Algorithm TLV"; + uses OSPF-SH-OPQ-RI-SR-ALGO-TLV; + } + container sr-range-tlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-sr-range'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_SR_RANGE'"; + } + description + "SR Range TLV"; + uses OSPF-SH-OPQ-RI-SR-RANGE-TLV; + } + container node-msdtlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-node-msd'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_NODE_MSD'"; + } + description + "Node MSD TLV"; + uses OSPF-SH-OPQ-RI-NODE-MSD-TLV; + } + container srlbtlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-srlb'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_SRLB'"; + } + description + "SRLB Range TLV"; + uses OSPF-SH-OPQ-RI-SRLB-TLV; + } + container fadlv { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-fad'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_FAD'"; + } + description + "FAD TLV"; + uses OSPF-SH-OPQ-RI-FAD-TLV; + } + container host-name { + when "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-host-name'" { + description + "../RITLVInternalType = + 'MGMT_OSPF_OPQ_RI_TLV_TYPE_HOSTNAME'"; + } + description + "Hostname string "; + uses OSPF-SH-OPQ-RI-HOSTNAME; + } + leaf ritlv-internal-type { + type Ospf-sh-opq-ri-tlv-types; + description + "RITLVInternalType"; + } + } + + grouping OSPF-SH-LSA-OPQ-RI { + description + "OSPF Router Information LSA"; + leaf opaque-rilsa-scope { + type Ospf-lsa-opq-ri-scope; + description + "Opaque LSA flooding scope, a.k.a., Opaque LSA + Type"; + } + leaf opaque-ri-interface-name { + type xr:Interface-name; + description + "Interface on which this Link-Local Opaque link + LSA is received"; + } + list opaque-ritlv { + description + "Router Information TLV"; + uses OSPF-SH-OPQ-RI-TLVS-UNION; + } + } + + grouping OSPF-SH-LSA-OPQ-GRACE { + description + "OSPF Opaque-link type 3 grace LSA Information"; + leaf grace-period { + type uint32; + description + "The amount of time the router's neighbor should + advertise it fully adjacent (s)"; + } + leaf grace-reason { + type Ospf-gr-reason; + description + "Reason for router restart"; + } + leaf ip-address { + type inet:ipv4-address; + description + "IP interface address on the subnet associated + with the grace LSA"; + } + } + + grouping OSPF-SH-OPQ-SUBTLV { + description + "OSPF Opaque LSA Sub-TLV Information"; + leaf sub-tlv-type { + type Stlv; + description + "Type of sub TLV"; + } + leaf sub-tlv-length { + type uint16; + description + "Length of sub TLV"; + } + leaf sub-tlv-value { + type yang:hex-string; + description + "Value of sub TLV"; + } + } + + grouping OSPF-SH-OPQ-TLV { + description + "OSPF Opaque LSA TLV Information"; + leaf tlv-type { + type uint16; + description + "Type of top-level TLV"; + } + leaf tlv-length { + type uint16; + description + "Length of top-level TLV"; + } + leaf mpls-router-id { + type inet:ipv4-address; + description + "MPLS-TE Router ID"; + } + leaf mpls-dste-link { + type boolean; + description + "MPLS DS-TE supported"; + } + leaf tlv-data { + type yang:hex-string; + description + "TLV direct data"; + } + list te-link-sub-tlv { + description + "List of Sub-TLVs"; + uses OSPF-SH-OPQ-SUBTLV; + } + } + + grouping OSPF-SH-LSA-OPQ-RRR { + description + "OSPF Opaque-area type 1 MPLS-TE LSA Information"; + list tlv { + description + "List of TLVs"; + uses OSPF-SH-OPQ-TLV; + } + } + + grouping OSPF-SH-LSA-OPQ-LINK { + description + "OSPF Opaque-link LSA Information"; + leaf opaque-interface-name { + type xr:Interface-name; + description + "Interface on which the Opaque link LSA is + received"; + } + } + + grouping OSPF-SH-LSA-EX-TOS { + description + "OSPF External Type of service specific + Information"; + leaf external-metric { + type uint32; + description + "Cost of this route"; + } + leaf external-metric-type { + type Ex-metric; + description + "External LSA metric type - whether type 1 or + type 2"; + } + leaf external-tos { + type uint32; + description + "Type of Service"; + } + leaf forwarding-address { + type inet:ipv4-address; + description + "Forwarding Address on the External LSA"; + } + leaf external-tag { + type uint32; + description + "Route Tag"; + } + } + + grouping OSPF-SH-LSA-EXTERNAL { + description + "OSPF External LSA"; + leaf external-prefix-length { + type uint32; + description + "Prefix length"; + } + leaf internal-external-lsa { + type boolean; + description + "If true, internal max-metric LSA"; + } + list external-tos-metric { + description + "Type of service information"; + uses OSPF-SH-LSA-EX-TOS; + } + } + + grouping OSPF-SH-LSA-SUMMARY { + description + "OSPF Summary LSA"; + leaf summary-prefix-length { + type uint32; + description + "Prefix length of the Summary LSA"; + } + leaf internal-sum-lsa { + type boolean; + description + "If true, internal max-metric LSA"; + } + list summary-lsa-metric { + description + "Metric"; + leaf entry { + type uint32; + description + "Metric"; + } + } + } + + grouping OSPF-SH-LSA-NETWORK { + description + "OSPF Network LSA"; + leaf network-prefix-length { + type uint32; + description + "Prefix length of the Network"; + } + list neighbor-router { + description + "Neighbor router list"; + leaf entry { + type inet:ipv4-address; + description + "Neighbor router list"; + } + } + } + + grouping OSPF-SH-TOS-METRIC { + description + "OSPF Router LSA TOS Metric"; + leaf router-tos { + type uint16; + description + "Type of Service"; + } + leaf tos-cost { + type uint16; + description + "Type of service specific metric"; + } + } + + grouping OSPF-SH-LINK { + description + "OSPF Router LSA Links"; + leaf link-id { + type inet:ipv4-address; + description + "Link ID"; + } + leaf link-data { + type inet:ipv4-address; + description + "Link Data"; + } + leaf link-type { + type Ospf-link-types; + description + "Type of link"; + } + leaf link-metric { + type uint16; + description + "Cost for using this link"; + } + list link-tos { + description + "List of type of service metrics"; + uses OSPF-SH-TOS-METRIC; + } + } + + grouping OSPF-SH-LSA-ROUTER { + description + "OSPF Router LSA"; + leaf router-asbr { + type boolean; + description + "If True, router is an Autonomous system Border + Router"; + } + leaf router-abr { + type boolean; + description + "If True, router is an Area Border Router"; + } + leaf internal-lsa { + type boolean; + description + "If true, internal LSA"; + } + list link { + description + "List of links in this LSA"; + uses OSPF-SH-LINK; + } + list internal-link { + description + "List of links for internal LSA"; + uses OSPF-SH-LINK; + } + } + + grouping OSPF-LSA-INTERNAL-UNION { + description + "LSA internal information for an LSA"; + container router-lsa-type { + when "../internal-lsa-type = 'mgmt-rtr-type'" { + description + "../InternalLSAType = 'MGMT_RTR_TYPE'"; + } + description + "Router LSA"; + uses OSPF-SH-LSA-ROUTER; + } + container network-lsa-type { + when "../internal-lsa-type = 'mgmt-ntwk-type'" { + description + "../InternalLSAType = 'MGMT_NTWK_TYPE'"; + } + description + "Network LSA"; + uses OSPF-SH-LSA-NETWORK; + } + container summary-lsa-type { + when "../internal-lsa-type = 'mgmt-sum-type'" { + description + "../InternalLSAType = 'MGMT_SUM_TYPE'"; + } + description + "Summary LSA"; + uses OSPF-SH-LSA-SUMMARY; + } + container external-lsa-type { + when "../internal-lsa-type = 'mgmt-ext-type'" { + description + "../InternalLSAType = 'MGMT_EXT_TYPE'"; + } + description + "External LSA"; + uses OSPF-SH-LSA-EXTERNAL; + } + container opaque-link-lsa-type { + when "../internal-lsa-type = 'mgmt-opq-link-type'" { + description + "../InternalLSAType = 'MGMT_OPQ_LINK_TYPE'"; + } + description + "Opaque-Link LSA"; + uses OSPF-SH-LSA-OPQ-LINK; + } + container opaque-mpls-te-lsa-type { + when "../internal-lsa-type = 'mgmt-opq-rrr-type'" { + description + "../InternalLSAType = 'MGMT_OPQ_RRR_TYPE'"; + } + description + "Opaque-Area, opaque type 1 LSA"; + uses OSPF-SH-LSA-OPQ-RRR; + } + container opaque-grace-lsa { + when "../internal-lsa-type = 'mgmt-opq-gr-type'" { + description + "../InternalLSAType = 'MGMT_OPQ_GR_TYPE'"; + } + description + "Opaque-link, opaque type 3 Grace LSA"; + uses OSPF-SH-LSA-OPQ-GRACE; + } + container opaque-router-info-lsa-type { + when "../internal-lsa-type = 'mgmt-opq-ri-type'" { + description + "../InternalLSAType = 'MGMT_OPQ_RI_TYPE'"; + } + description + "Opaque Router Information LSA"; + uses OSPF-SH-LSA-OPQ-RI; + } + container opaque-ep-lsa-type { + when "../internal-lsa-type = 'mgmt-opq-epl-type'" { + description + "../InternalLSAType = 'MGMT_OPQ_EPL_TYPE'"; + } + description + "Extende Prefix LSA type"; + uses OSPF-SH-LSA-OPQ-EPL; + } + container opaque-el-lsa-type { + when "../internal-lsa-type = 'mgmt-opq-ell-type'" { + description + "../InternalLSAType = 'MGMT_OPQ_ELL_TYPE'"; + } + description + "Extended Link LSA type"; + uses OSPF-SH-LSA-OPQ-ELL; + } + container opaque-eia-lsa-type { + when "../internal-lsa-type = 'mgmt-opq-eial-type'" { + description + "../InternalLSAType = 'MGMT_OPQ_EIAL_TYPE'"; + } + description + "Extended ASBR LSA type"; + uses OSPF-SH-LSA-OPQ-EIAL; + } + leaf internal-lsa-type { + type Ospf-internal-lsa-types; + description + "InternalLSAType"; + } + } + + grouping OSPF-SH-DB-NOT-DELETE { + description + "Reason why LSA is not deleted"; + leaf free-time { + type uint32; + description + "The amount of time since the last check was made + to free this LSA (s)"; + } + leaf no-delete { + type boolean; + description + "If true, the reason not to delete this LSA is + because delete flag not set on this LSA"; + } + leaf neighbor-exchange { + type boolean; + description + "If true, the reason not to delete this LSA is + because neighbor is in exchange state"; + } + leaf routing-table { + type boolean; + description + "If true, the reason not to delete this LSA is + because it has a contributing entry in the + routing table"; + } + leaf acknowledgement { + type boolean; + description + "If true, the reason not to delete this LSA is + because it's Acknowledgement list is not empty"; + } + leaf maximum-age { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is in Maxage Queue"; + } + leaf partial-spf { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is in partial SPF queue"; + } + leaf flood-pending { + type boolean; + description + "If true, the reason not to delete this LSA is + because waiting for flooding or retransmission"; + } + leaf rate-limit { + type boolean; + description + "If true, the reason not to delete this LSA is + because waiting for next wait-interval to expire"; + } + leaf nsr-ack-pending { + type boolean; + description + "If true, the reason not to delete this LSA is + because NSR ACK from standby is pending"; + } + leaf sum-orig-pending { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is pending summary LSA originating"; + } + leaf nsr-flood-required { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is pending flooding on switchover"; + } + leaf link-state-q { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is used in Link State Q"; + } + leaf used-in-uloop { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is used in uloop"; + } + leaf added-in-ulooplist { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is Added in uloopdblist"; + } + leaf used-as-parent { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is used in parent_path_lsdb"; + } + } + + grouping OSPF-SH-DB-THROTTLE-TIMER { + description + "OSPF LSA throttle timer table information"; + leaf timer-location { + type Timer-table; + description + "Timer table"; + } + leaf timer-type { + type Timer; + description + "Timer type - whether maxage, refresh or checksum + timer"; + } + leaf second-table-index { + type uint8; + units "second"; + description + "Index of the Seconds table"; + } + leaf minute-table-index { + type uint8; + units "minute"; + description + "Index of the Minutes table"; + } + leaf last-inst-second-table-index { + type uint8; + units "second"; + description + "Last Seconds table index processed"; + } + leaf last-inst-minute-table-index { + type uint8; + units "minute"; + description + "Last Minutes table index processed"; + } + } + + grouping OSPF-SH-DB-DETAIL { + description + "OSPF Detailed LSA Database Information"; + container lsa-throttle-timer { + description + "LSA throttle timer table information"; + uses OSPF-SH-DB-THROTTLE-TIMER; + } + container lsa-last-updated-time { + description + "Time LSA was last updated"; + uses OSPF-SH-TIME; + } + container lsadb-base-time-stamp { + description + "Current time stamp"; + uses OSPF-SH-TIME; + } + container not-delete { + description + "Reason why LSA is not deleted"; + uses OSPF-SH-DB-NOT-DELETE; + } + leaf tos-capable { + type boolean; + description + "If true, type of service capable indicated by + LSA's option field"; + } + leaf nssa-translation { + type boolean; + description + "If true, capable of type 7 to 5 translation + indicated by LSA's option field"; + } + leaf demand-circuit { + type boolean; + description + "If true, capable of demand circuit as indicated + by LSA's option field"; + } + leaf dn-bit { + type boolean; + description + "if true, DN bit set on the summary LSA indicated + by LSA's option field"; + } + leaf lsa-rate-limit-due-time { + type uint32; + description + "Due time for rate-limit timer (ms)"; + } + leaf lsadb-base-clock { + type uint64; + description + "Clock stamp since boot"; + } + leaf routing-bit { + type boolean; + description + "If true, Routing Bit set on the LSA"; + } + leaf advertising-router-reachable { + type boolean; + description + "If true, Advertising Router is reachable"; + } + leaf length { + type uint16; + description + "Length of the LSA"; + } + leaf sum-origin { + type uint16; + description + "Summary Origin"; + } + leaf ase-origin { + type uint16; + description + "External Origin"; + } + leaf in-sync { + type uint8; + description + "Not In Sync With Active"; + } + leaf lsa-prefix-priority { + type uint8; + description + "Current prefix priority"; + } + leaf new-lsa-prefix-priority { + type uint8; + description + "New prefix priority to be set after the current + SPF"; + } + leaf lsa-flood-required-post-fail-over { + type boolean; + description + "LSA flood required after FO"; + } + } + + grouping OSPF-SH-DB-HEADER { + description + "OSPF LSA Database Header"; + leaf ls-type { + type Lsa; + description + "LSA type"; + } + leaf lsid { + type inet:ipv4-address; + description + "LS ID"; + } + leaf advertising-router { + type inet:ipv4-address; + description + "Router ID of Advertising Router"; + } + leaf lsa-area-id { + type string { + length "0..16"; + } + description + "Area ID in decimal or dotted-decimal format"; + } + leaf lsa-age { + type uint16; + description + "LSA's Age (s)"; + } + leaf dn-age-lsa { + type boolean; + description + "If true, Do Not Age this LSA"; + } + leaf nsf { + type boolean; + description + "If true, LSA received from neighbor during NSF"; + } + leaf sequence-number { + type uint32; + description + "Current Sequence number"; + } + leaf checksum { + type uint16; + description + "Checksum value"; + } + } + + grouping OSPF-SH-DATABASE-DETAIL { + description + "OSPF Database Information"; + container lsa-header { + description + "Header information"; + uses OSPF-SH-DB-HEADER; + } + container lsa-detail-data { + description + "Detailed LSA Information"; + uses OSPF-SH-DB-DETAIL; + } + container lsa-internal-data { + description + "Information pertaining to a specific LSA type"; + uses OSPF-LSA-INTERNAL-UNION; + } + } + + grouping OSPF-SH-SLINK-NEIGHBOR { + description + "Sham Link Neighbor Information"; + container sham-link-retransmissoin { + description + "Neighbor retransmission info"; + uses OSPF-SH-NEIGHBOR-RETRANS; + } + leaf sham-link-suppress-hello { + type boolean; + description + "If true Hellos suppressed"; + } + leaf sham-link-state { + type Neighbor-state; + description + "Adjacency state"; + } + } + + grouping OSPF-SH-SHAM-LINKS { + description + "OSPF Sham Link"; + container sham-link-neighbor { + description + "Neighbor information"; + uses OSPF-SH-SLINK-NEIGHBOR; + } + leaf sham-link-name-xr { + type string; + description + "Name of the Sham link"; + } + leaf sham-link-neighbor-id { + type inet:ipv4-address; + description + "Neighbor on other end of this sham link"; + } + leaf sham-link-source-address { + type inet:ipv4-address; + description + "Sham-link source"; + } + leaf sham-link-dest-address { + type inet:ipv4-address; + description + "Sham-link dest"; + } + leaf sham-link-state { + type Ospf-interface-state; + description + "OSPF interface state for the sham link"; + } + leaf sham-link-demand-circuit { + type boolean; + description + "If true, the link runs as demand circuit"; + } + leaf sham-link-dc-bitless-lsa { + type uint32; + description + "Number of LSA's with demand circuit bit not set"; + } + leaf sham-link-ifindex { + type uint32; + description + "Sham-link Interface index"; + } + leaf sham-link-area { + type string; + description + "Area id"; + } + leaf sham-link-cost { + type uint16; + description + "Cost of the sham link"; + } + leaf sham-link-transmission-delay { + type uint16; + units "second"; + description + "Transmission delay in seconds"; + } + leaf sham-link-hello-interval { + type uint32; + description + "Hello interval (s)"; + } + leaf sham-link-hello-interval-ms { + type uint32; + description + "Hello interval (ms)"; + } + leaf sham-link-dead-interval { + type uint32; + description + "Dead interval (s)"; + } + leaf sham-link-wait-interval { + type uint32; + description + "Wait interval (s)"; + } + leaf sham-link-retransmission-interval { + type uint32; + description + "Retransmission interval (s)"; + } + leaf sham-link-next-hello { + type uint32; + description + "Time until next hello (s)"; + } + leaf sham-link-next-hello-ms { + type uint32; + description + "Time until next hello (ms)"; + } + leaf sham-link-passive { + type boolean; + description + "If true, interface is passive"; + } + leaf sham-link-authentication-type { + type Authentication; + description + "Authentication type"; + } + leaf sham-link-youngest-md-key { + type boolean; + description + "If true, MD key configured"; + } + leaf sham-link-youngest-md-key-id { + type uint16; + description + "Youngest MD key ID"; + } + leaf sham-link-old-md-key-count { + type uint32; + description + "Number of neighbors still using the old key + (rollover in progress)"; + } + leaf keychain-name { + type string { + length "0..255"; + } + description + "Sham Link Keychain Name"; + } + leaf sham-link-keychain-key-conf { + type boolean; + description + "If true, Keychain key is configured"; + } + leaf sham-link-keychain-id { + type uint64; + description + "Sham Link Keychain ID"; + } + leaf sham-link-keychain-alg { + type Ospf-crytographic-algo; + description + "Sham Link Keychain cryptographic-algorithm"; + } + leaf sham-link-nsf-enabled { + type boolean; + description + "If true, NSF enabled"; + } + leaf sham-link-nsf { + type boolean; + description + "If true, NSF restart in progress on the sham + link"; + } + leaf sham-link-last-nsf { + type uint32; + units "second"; + description + "Time in seconds since last NSF"; + } + list sham-link-md-key { + description + "List of old MD keys (if any)"; + leaf entry { + type uint16; + description + "List of old MD keys (if any)"; + } + } + } + + grouping OSPF-SH-DOMAIN-ID-ENTRY { + description + "OSPF Domain ID"; + leaf domain-id-type { + type uint16; + description + "Domain ID Type"; + } + leaf domain-id-value { + type yang:hex-string; + description + "Domain ID value"; + } + } + + grouping OSPF-SH-DOMAIN-ID { + description + "OSPF Domain ID entries"; + container primary-domain-id { + description + "Primary Domain ID"; + uses OSPF-SH-DOMAIN-ID-ENTRY; + } + list secondary-domain-id { + description + "List of secondary domain IDs"; + uses OSPF-SH-DOMAIN-ID-ENTRY; + } + } + + grouping OSPF-SH-MAX-METRIC { + description + "OSPF Max-metric Information"; + container maximum-metric-time-unset { + description + "Time max-metric condition was cleared"; + uses OSPF-SH-TIME; + } + leaf max-metric-reason { + type uint8; + description + "Reason to set Max-metric"; + } + leaf max-metric-enabled { + type boolean; + description + "Whether Max-metric is enabled"; + } + leaf unset-maximum-metric { + type boolean; + description + "If true, BGP is up, no maximum metric Router LSA"; + } + leaf saved-unset-maximum-metric { + type boolean; + description + "Saved UnsetMaximumMetric"; + } + leaf maximum-metric-start-time { + type uint32; + description + "Time remaining until we will start using normal + metrics (s)"; + } + leaf saved-startup-time { + type uint32; + description + "Hold time configured (s)"; + } + leaf maximum-metric-include-stubs { + type boolean; + description + "If true, set max-metric in stub links"; + } + leaf maximum-metric-summary-lsa { + type boolean; + description + "If true, advertise max-metric in summary-LSAs"; + } + leaf maximum-metric-summary-lsa-metric { + type uint32; + description + "Max-metric value to advertise in summary-LSAs"; + } + leaf maximum-metric-external-lsa { + type boolean; + description + "If true, advertise max-metric in external-LSAs"; + } + leaf maximum-metric-external-lsa-metric { + type uint32; + description + "Max-metric value to advertise in external-LSAs"; + } + leaf maximum-metric-originated-for { + type uint32; + description + "Time max-metric was used for"; + } + leaf maximum-metric-unset-reason { + type Max-metric-unset-reason; + description + "Reason to unset Max-metric"; + } + } + + grouping OSPF-SH-SUMMARY { + description + "OSPF Summary"; + container domain-id { + description + "Domain ID information"; + uses OSPF-SH-DOMAIN-ID; + } + leaf vrf-active { + type boolean; + description + "If true, VRF configured"; + } + leaf role-standby { + type boolean; + description + "If true, Role is Standby, Active otherwise"; + } + leaf role { + type uint32; + description + "Role, V1/V2 Active/Standby"; + } + leaf nsr-enabled { + type boolean; + description + "If true, NSR is enabled"; + } + leaf nsr-switchover-on-restart { + type boolean; + description + "Trigger RP Switchover on detectable process + restart"; + } + leaf igp-intact-on { + type boolean; + description + "If true, running in IGP-Intact mode"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf tos-options { + type uint8; + description + "Type of Service supported"; + } + leaf opaque-capable { + type boolean; + description + "Whether the OSPF instance is Opaque LSA capable"; + } + leaf area-border-router { + type boolean; + description + "If true, is an Area Border Router"; + } + leaf as-border-router { + type boolean; + description + "If true, is an AS Border Router"; + } + leaf vrf-lite-enabled { + type boolean; + description + "If true, vrf lite is enabled"; + } + leaf capability-prefer-type7 { + type boolean; + description + "If true, prefer type 7 LSAs over type 5"; + } + leaf maximum-metric-start { + type boolean; + description + "If true, originate Router LSA with maximum + metric"; + } + leaf maximum-metric-start-timer { + type uint32; + description + "Time remaining for hold down timer (s)"; + } + leaf maximum-metric-set-reason { + type Max-metric-set-reason; + description + "Reason to set Max-metric"; + } + leaf maximum-metric-abr-off-mode { + type boolean; + description + "If true, ABR duties temporarily disabled"; + } + leaf maximum-metric-abr-off-reasons { + type Ospf-max-metric-abr-off-reasons; + description + "Reasons for ABR duties being temporarily + disabled"; + } + leaf maximum-metric-abr-off-buffer-time { + type uint32; + units "second"; + description + "Buffer time in seconds since last neighbor + activity, to remain in max-metric ABR off state"; + } + leaf spf-start-time { + type uint32; + description + "Scheduling delay for SPF (ms)"; + } + leaf spf-hold-time { + type uint32; + description + "Minimum delay time between SPF runs (ms)"; + } + leaf spf-maximum-time { + type uint32; + description + "Maximum delay time between SPF runs (ms)"; + } + leaf spf-prefix-priority { + type boolean; + description + "If true, prefix-priority policy is configured"; + } + leaf spf-prefix-priority-route-policy { + type string; + description + "Route-policy that governs SPF Prefix-priority"; + } + leaf lsa-start-time { + type int32; + description + "Initial LSA throttle delay (ms)"; + } + leaf lsa-hold-time { + type uint32; + description + "Second delay before generating next LSA (ms)"; + } + leaf lsa-maximum-time { + type uint32; + description + "Maximum delay before generating an LSA (ms)"; + } + leaf minimum-lsa-interval { + type uint32; + description + "Minimum time between LSA regeneration (ms)"; + } + leaf lsa-refresh-interval { + type uint32; + description + "LSA refresh interval (sec)"; + } + leaf minimum-lsa-arrival-interval { + type uint32; + description + "Minimum time between accepting LSAs (ms)"; + } + leaf if-flood-pacing-interval { + type uint16; + description + "Flood pacing timer (ms)"; + } + leaf if-retrans-pacing-interval { + type uint16; + description + "Retransmission pacing timer (ms)"; + } + leaf adj-stag-init-num-nbr { + type uint16; + description + "Num of nbrs brought up initially per area"; + } + leaf adj-stag-max-num-nbr { + type uint16; + description + "Max num of nbrs brought up simultaneously per + OSPF instance"; + } + leaf adj-stagger-enabled { + type boolean; + description + "If true, OSPF Adjacency Staggering is configured"; + } + leaf adj-stag-num-nbr-forming { + type uint16; + description + "Num of nbrs currently forming for OSPF instance"; + } + leaf number-nbrs-full { + type uint16; + description + "Num of full nbrs"; + } + leaf as-lsa-count { + type uint32; + description + "Number of AS scope LSAs"; + } + leaf as-lsa-checksum { + type uint32; + description + "Sum of AS scope LSA checksum"; + } + leaf opaque-lsa-count { + type uint32; + description + "Number of Opaque LSAs"; + } + leaf opaque-lsa-checksum { + type uint32; + description + "Sum of opaque LSA checksum"; + } + leaf as-dc-bitless-lsa-count { + type uint32; + description + "Number of External and AS Opaque LSAs with + demand circut bit not set"; + } + leaf as-dna-lsa-count { + type uint32; + description + "Number of External and AS Opaque LSAs with + DoNotAge set "; + } + leaf area-count { + type uint16; + description + "Number of areas"; + } + leaf normal-area-count { + type uint16; + description + "Number of normal Areas"; + } + leaf stub-area-count { + type uint16; + description + "Number of Stub and Total Stub Areas"; + } + leaf nssa-area-count { + type uint16; + description + "Number of NSSA Areas"; + } + leaf maximum-interfaces { + type uint32; + description + "Maximum number of interfaces"; + } + leaf as-lsa-flood-list-length { + type uint32; + description + "Length of AS LSAs flood list"; + } + leaf nsf-enabled { + type boolean; + description + "If true, NSF enabled"; + } + leaf last-nsf-time { + type uint32; + description + " Length of time since the last NSF (s)"; + } + leaf nsf-time { + type uint32; + description + "Total time to complete NSF (s)"; + } + leaf redistribution-limit { + type uint32; + description + "The number of redistributed prefixes allowed"; + } + leaf redistribution-threshold { + type uint32; + description + "When the number of redistributed prefixes + reaches this threshold, a warning message is + issued"; + } + leaf redistribution-limit-warn { + type boolean; + description + "If true, only a syslog message is printed when + redistribution prefix limit is reached"; + } + leaf graceful-shutdown-retention-time { + type uint32; + description + "Amount of time routes are retained after + graceful shutdown (s)"; + } + leaf graceful-shutdown-state { + type Gs-state; + description + "State of graceful shutdown"; + } + leaf table-prefix-limit-reached { + type boolean; + description + "If true, prefix limit for table has been + reached"; + } + leaf non-self-lsa-count { + type uint32; + description + "Non self-generated LSA count"; + } + leaf max-lsa-enabled { + type boolean; + description + "If true, max-lsa protection enabled"; + } + leaf max-lsa-limit { + type uint32; + description + "Maximum allowed number of non self-generated + LSAs"; + } + leaf max-lsa-treshold { + type uint32; + description + "max-lsa protection warning threshold"; + } + leaf max-lsa-warning-only { + type boolean; + description + "Warning only when max-lsa reached"; + } + leaf max-lsa-ignore-time { + type uint32; + description + "Time ignoring new LSAs after max-lsa reached"; + } + leaf max-lsa-reset-time { + type uint32; + description + "Time after which LSA protection counter is reset"; + } + leaf max-lsa-ignore-limit { + type uint32; + description + "Max allowed number of entering ignore state"; + } + leaf max-lsa-ignore-count { + type uint32; + description + "How many times ignore state has been entered"; + } + leaf max-lsa-ignore-timer { + type uint32; + description + "Remaining time when ignore timer is running"; + } + leaf max-lsa-reset-timer { + type uint32; + description + "Remaining time when reset timer is running"; + } + leaf context-name { + type string { + length "0..32"; + } + description + "SNMP Context name"; + } + leaf snmp-trap-enabled { + type boolean; + description + "If true, snmp trap is enabled"; + } + leaf ucmp { + type boolean; + description + "If true, UCMP is enabled"; + } + leaf ucmp-prefix-list { + type string; + description + "UCMP Prefix-list"; + } + leaf ucmp-variance { + type int32; + description + "UCMP Variance"; + } + leaf ucmp-delay { + type uint32; + description + "Delay between end of SPF and start of UCMP + calculation (ms)"; + } + leaf microloop-avoidance-type { + type Uloop-avoidance; + description + "Microloop avoidance type configured"; + } + leaf microloop-avoidance-delay { + type uint32; + description + "Microloop delay time after which actual + post convergence paths are given to RIB (s)"; + } + leaf microloop-avoidance-active { + type boolean; + description + "If true, Uloop is active"; + } + leaf microloop-avoidance-delay-expiry { + type uint32; + description + "Remaining time for uloop delay timer + to expire (s)"; + } + leaf lsd-connected { + type boolean; + description + "True if connected to LSD"; + } + leaf lsd-registered { + type boolean; + description + "True if registered with LSD"; + } + leaf lsd-bound { + type boolean; + description + "True if bound to LSD"; + } + leaf lsd-connection-revision { + type uint32; + description + "LSD Connection Revision"; + } + leaf srgb-configured { + type boolean; + description + "True if Segment Routing Global Block configured"; + } + leaf srgb-start { + type uint32; + description + "Segment Routing Global Block start label value"; + } + leaf srgb-end { + type uint32; + description + "Segment Routing Global Block end label value"; + } + leaf srgb-status { + type Ospf-srgb-status; + description + "Segment Routing Global Block allocation status"; + } + leaf sr-strict-spf-cap { + type boolean; + description + "True if Segment Routing Strict-SPF capable"; + } + leaf srlb-start { + type uint32; + description + "Segment Routing Local Block start label value"; + } + leaf srlb-end { + type uint32; + description + "Segment Routing Local Block end label value"; + } + leaf srlb-status { + type Ospf-srlb-status; + description + "Segment Routing Local Block allocation status"; + } + leaf spf-suspended { + type boolean; + description + "If true, SPF is currently suspended"; + } + list maximum-metric { + description + "Max-metric list"; + uses OSPF-SH-MAX-METRIC; + } + list redistribution { + description + "Redistribution list"; + uses OSPF-SH-REDIST; + } + } + + grouping OSPF-SH-AREA-RANGE { + description + "OSPF Area Range Information"; + leaf range-prefix { + type inet:ipv4-address; + description + "IP prefix for summarization"; + } + leaf range-mask { + type inet:ipv4-address; + description + "Network mask"; + } + leaf cost { + type uint32; + description + "Cost"; + } + leaf advertise-flag { + type boolean; + description + "Whether to advertise Summary LSAs for this range"; + } + } + + grouping OSPF-SH-AREA { + description + "OSPF Area Summary Information"; + leaf area-id-string { + type string { + length "0..16"; + } + description + "Area ID string"; + } + leaf backbone-area-active { + type boolean; + description + "If true, Backbone area is active"; + } + leaf area-interface-count { + type uint16; + description + "Number of interfaces in the area"; + } + leaf area-stub { + type boolean; + description + "If true, stub area"; + } + leaf area-total-stub { + type boolean; + description + "If true, totally stubby area"; + } + leaf stub-default-cost { + type uint32; + description + "Default cost for Stub or NSSA area"; + } + leaf area-nssa { + type boolean; + description + "If true, area is a NSSA"; + } + leaf nssa-no-redistribution { + type boolean; + description + "If true, No redistribution into this NSSA area"; + } + leaf nssa-translate { + type boolean; + description + "If true, perform 7/5 translation"; + } + leaf nssa-translate-always { + type boolean; + description + "If true, perform 7/5 translation always"; + } + leaf nssa-default { + type boolean; + description + "If true, generate NSSA default route"; + } + leaf te-enabled { + type boolean; + description + "If true, MPLS-TE enabled"; + } + leaf te-topology-version { + type uint32; + description + "TE area topology version number"; + } + leaf external-out { + type boolean; + description + "If true, advertise intra-area prefixes as + external"; + } + leaf summary-in { + type boolean; + description + "If true, advertise redistributedprefixes as + summary"; + } + leaf segment-routing { + type Sr-dp; + description + "If true, Segment Routing enabled"; + } + leaf sr-strict-spf-cap { + type boolean; + description + "If true, All routers in Area are SR Strict-SPF + Capable"; + } + leaf sr-strict-spfsids-available { + type boolean; + description + "If true, All routers in Area have SR Strict-SPF + SIDs"; + } + leaf sr-microloop-avoidance-active { + type boolean; + description + "If true, Segment routing Uloop avoidance + is currently active in this area"; + } + leaf sr-microloop-avoidance-event-type { + type Sr-uloop-event; + description + "Event for which SR uloop is triggered + Link Up/Link Down"; + } + leaf sr-microloop-avoidance-near-end-id { + type inet:ipv4-address; + description + "Link State ID of the near end + of the topology change"; + } + leaf sr-microloop-avoidance-far-end-id { + type inet:ipv4-address; + description + "Link State ID of the far end + of the topology change"; + } + leaf sr-microloop-avoidance-pseudonode-id { + type inet:ipv4-address; + description + "Link State ID of the pseudo node, + if the change is on a broadcast link"; + } + leaf authentication-type { + type Authentication; + description + "Authentication type used for the area"; + } + leaf spf-count { + type uint32; + description + "Number of SPF calculations run"; + } + leaf area-policy-in { + type boolean; + description + "If true, inbound policy is configured"; + } + leaf area-policy-in-name { + type string; + description + "Inbound summary lsa filtering policy"; + } + leaf area-policy-out { + type boolean; + description + "If true, outbound policy is configured"; + } + leaf area-policy-out-name { + type string; + description + "Outbound summary lsa filtering policy"; + } + leaf area-lsa-count { + type uint32; + description + "Number of LSAs in the Area"; + } + leaf area-lsa-checksum { + type uint32; + description + "Sum of all area LSAs checksum"; + } + leaf area-opaque-lsa-count { + type uint32; + description + "Number of Opaque LSAs in the Area"; + } + leaf area-opaque-lsa-checksum { + type uint32; + description + "Sum of opaque LSA checksums"; + } + leaf area-dc-bitless-lsa-count { + type uint32; + description + "Number of LSA with demand circuit bit not set"; + } + leaf indication-lsa-count { + type uint32; + description + "Number of indication LSAs"; + } + leaf dna-lsa-count { + type uint32; + description + "Number of DoNotAge LSAs"; + } + leaf flood-list-length { + type uint32; + description + "Number of LSAs which need to be flooded"; + } + leaf area-lfa-interface-count { + type uint32; + description + "Number of LFA enabled interfaces"; + } + leaf area-per-prefix-lfa-interface-count { + type uint32; + description + "Number of Per Prefix LFA enabled interfaces"; + } + leaf area-lfa-revision { + type uint32; + description + "Area LFA revision"; + } + leaf area-adj-stag-num-nbr-forming { + type uint16; + description + "Num of nbrs currently forming"; + } + leaf area-num-nbr-full { + type uint16; + description + "Num of full nbrs in area"; + } + list area-range { + description + "List of ranges to summarize"; + uses OSPF-SH-AREA-RANGE; + } + } + + grouping OSPF-SH-REDIST { + description + "OSPF Redistribution Information"; + container redistribution-protocol { + description + "Protocol Information"; + uses OSPF-SH-REDIST-PROTO; + } + leaf metric-flag { + type boolean; + description + "If true, Metric configured"; + } + leaf metric { + type uint32; + description + "Route metric"; + } + leaf rib-metric-flag { + type boolean; + description + "If true, RIB metric is used"; + } + leaf metric-type { + type uint32; + description + "Redistribute as External type 1 or 2 "; + } + leaf tag-flag { + type boolean; + description + "If true, tag is configured"; + } + leaf tag { + type uint32; + description + "Route Tag"; + } + leaf keep-bgp-med { + type boolean; + description + "If true, BGP MED value is preserved"; + } + leaf keep-bgp-def-info { + type boolean; + description + "If true, BGP metric and metric type are + preserved for default route"; + } + leaf redist-summary { + type boolean; + description + "If true, routes will be redistributed as Summary + LSAs instead of External LSAs"; + } + leaf policy-name { + type string; + description + "Name of applied policy"; + } + leaf classless { + type boolean; + description + "Whether to use CIDR"; + } + leaf nssa-only { + type boolean; + description + "To NSSA areas only"; + } + } + + grouping OSPF-SH-PROTOCOL { + description + "OSPF Protocol Information"; + leaf protocol-router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf protocol-distance { + type uint32; + description + "Administrative distance"; + } + leaf administrative-distance-inter-area { + type uint32; + description + "Administrative Distance for Inter Area routes"; + } + leaf administrative-distance-external { + type uint32; + description + "Administrative Distance for External routes"; + } + leaf protocol-nsf { + type boolean; + description + "True if NSF enabled"; + } + leaf dist-list-in { + type string; + description + "Distribute List In"; + } + } + + grouping OSPF-SH-PROTO-INTF { + description + "OSPF Protocol Interface Information"; + leaf protocol-interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf protocol-authentication-type { + type Authentication; + description + "Authentication type"; + } + leaf protocol-interface-dist-list-in { + type string; + description + "Distribute List In"; + } + } + + grouping OSPF-SH-PROTO-AREA { + description + "OSPF Protocol Area Information"; + leaf protcol-area { + type string { + length "0..16"; + } + description + "Area ID string in decimal and dotted-decimal + format"; + } + leaf protocol-mpls { + type boolean; + description + "MPLS-TE enabled"; + } + leaf protocol-area-dist-list-in { + type string; + description + "Distribute List In"; + } + list protocol-interface { + description + "Interface list"; + uses OSPF-SH-PROTO-INTF; + } + } + + grouping OSPF-SH-BR-PATH { + description + "OSPF Border Router Path"; + leaf border-router-route-type { + type Ospf-route; + description + "Whether it is an intra-area or inter-area route"; + } + leaf border-router-route-metric { + type uint32; + description + "Metric"; + } + leaf border-router-next-hop { + type inet:ipv4-address; + description + "Next hop address"; + } + leaf border-router-next-hop-interface-name { + type xr:Interface-name; + description + "Next hop Interface"; + } + leaf border-router-type { + type Ospf-br; + description + "Border router type, whether it is an ABR, ASBR + or both"; + } + leaf border-router-area-id { + type string { + length "0..16"; + } + description + "Area string in decimal or dotted-decimal format"; + } + leaf spf-version { + type uint64; + description + "SPF run instance count"; + } + } + + grouping OSPF-SH-BORDER-ROUTER { + description + "OSPF Border Router"; + leaf border-router-id-xr { + type inet:ipv4-address; + description + "Router ID of Border Router"; + } + list border-router-path { + description + "List of Border Router paths"; + uses OSPF-SH-BR-PATH; + } + } + + grouping OSPF-SH-IF-ADJ-SID { + description + "OSPF Interface Adjacency SID"; + leaf adj-sid-label { + type uint32; + description + "Adjacency SID Label"; + } + leaf protected-adj-sid { + type boolean; + description + "Adjacency SID Protection"; + } + leaf adj-sid-is-active { + type boolean; + description + "Adj sid is allocated to a neighbor"; + } + leaf adj-sid-inactive-reason { + type Ospf-sr-adj-sid-inactive-reason; + description + "Adjacency SID Inactive Reason"; + } + } + + grouping OSPF-SH-SEC-ADDR { + description + "OSPF Secondary Address"; + leaf secondary-addr { + type inet:ipv4-address; + description + "Secondary Address Type"; + } + leaf secondary-prefix { + type uint32; + description + "Secondary Prefix Length"; + } + } + + grouping OSPF-SH-IPFRR-TB { + description + "OSPF IPFRR Tiebreakers"; + leaf tiebreaker-type { + type Ipfrr-tbrkr; + description + "Tiebreaker Type, whether LC-Disjoint, Node + Protecting etc"; + } + leaf tiebreaker-index { + type uint32; + description + "Tiebreaker Index corresponding to the tiebreaker + type"; + } + } + + grouping OSPF-SH-INTERFACE-UP { + description + "OSPF Interface Up-only Information"; + leaf wait-time { + type uint32; + description + "Wait time for DR/BDR selection (s)"; + } + leaf interface-area-flood-index { + type uint32; + description + "Area scope LSAs flood index"; + } + leaf interface-as-flood-index { + type uint32; + description + "AS scope LSAs flood index"; + } + leaf interface-flood-length { + type uint32; + description + "Flood queue length"; + } + leaf interface-area-next-flood { + type uint32; + description + "Next LSA to flood (Area scope)"; + } + leaf interface-area-next-flood-index { + type uint32; + description + "Index of next LSA to flood (Area scope)"; + } + leaf interface-as-next-flood { + type uint32; + description + "Next LSA to flood (AS scope)"; + } + leaf interface-as-next-flood-index { + type uint32; + description + "Index of next LSA to flood (AS scope)"; + } + leaf flood-scan-length { + type uint32; + description + "Length of flood queue in the last attempt"; + } + leaf maximum-flood-length { + type uint32; + description + "Maximum length of the flood queue"; + } + leaf last-flood-time { + type uint32; + description + "Time taken for Last flood (ms)"; + } + leaf maximum-flood-time { + type uint32; + description + "Maximum time taken for flood (ms)"; + } + leaf interface-flood-pacing-timer { + type uint32; + description + "Time until next flood pacing timer (ms)"; + } + leaf interface-neighbor-count { + type uint16; + description + "Total number of Neighbors"; + } + leaf suppress-hello-count { + type uint16; + description + "Number of neighbors for which hellos are + suppressed"; + } + leaf interface-authentication-type { + type Authentication; + description + "Authentication type"; + } + leaf youngest-md-key { + type boolean; + description + "If true, MD key is configured"; + } + leaf old-md5-key-neighbor-count { + type uint32; + description + "Number of neighbors using the old key (if + rollover in progress)"; + } + leaf youngest-md-key-id { + type uint16; + description + "Youngest MD key ID"; + } + leaf keychain-name { + type string { + length "0..255"; + } + description + "Name of Keychain used in this interface"; + } + leaf keychain-key-conf { + type boolean; + description + "If true, Keychain key is configured"; + } + leaf keychain-id { + type uint64; + description + "ID of the keychain used in this interface"; + } + leaf keychain-alg { + type Ospf-crytographic-algo; + description + "Keychain cryptographic-algorithm used in this + interface"; + } + list md-keys { + description + "List of old MD keys"; + leaf entry { + type uint16; + description + "List of old MD keys"; + } + } + } + + grouping OSPF-SH-INTERFACE-BFD { + description + "Interface BFD information"; + leaf bfd-intf-enable-mode { + type uint32; + description + "BFD enable mode - Default/Strict"; + } + leaf interval { + type uint32; + description + "BFD interval (ms)"; + } + leaf detection-multiplier { + type uint32; + description + "BFD multiplier value"; + } + } + + grouping OSPF-SH-INTERFACE-NBR { + description + "OSPF Interface Neighbor Information"; + leaf interface-neighbor-id { + type inet:ipv4-address; + description + "Neighbor Router ID"; + } + leaf interface-neighbor-cost { + type uint32; + description + "Cost of link to neighbor"; + } + leaf neighbor-dr { + type boolean; + description + "If true, Designated router"; + } + leaf neighbor-bdr { + type boolean; + description + "If true, Backup designated router"; + } + leaf suppress-hello { + type boolean; + description + "If true, hellos suppressed"; + } + } + + grouping OSPF-SH-INTERFACE { + description + "OSPF Interface Information"; + container interface-bfd-information { + description + "BFD information"; + uses OSPF-SH-INTERFACE-BFD; + } + container active-interface { + description + "Active interface details"; + uses OSPF-SH-INTERFACE-UP; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Name of the interface"; + } + leaf interface-state { + type Interface-state; + description + "State of the interface"; + } + leaf interface-line-state { + type boolean; + description + "If true, line protocol is up"; + } + leaf interface-address { + type inet:ipv4-address; + description + "IPv4 Address of the interface"; + } + leaf interface-mask { + type uint32; + description + "Interface IP Mask"; + } + leaf interface-area { + type string { + length "0..16"; + } + description + "Area ID string in decimal or dotted-decimal + format"; + } + leaf interface-sid { + type uint32; + description + "Interface SID"; + } + leaf interface-sid-php-off { + type boolean; + description + "SID PHP Off"; + } + leaf interface-sid-n-flag-clear { + type boolean; + description + "SID N-Flag Clear"; + } + leaf interface-strict-spf-sid { + type uint32; + description + "Interface Strict-SPF SID"; + } + leaf interface-strict-spf-sid-php-off { + type boolean; + description + "Strict-SPF SID PHP Off"; + } + leaf interface-strict-spf-sid-n-flag-clear { + type boolean; + description + "Strict-SPF SID N-Flag Clear"; + } + leaf interface-router-id { + type inet:ipv4-address; + description + "Interface Router ID"; + } + leaf network-type { + type Interface; + description + "Network type of the interface, whether P2P, + Broadcast, NBMA or P2MP"; + } + leaf ip-mtu { + type uint16; + description + "IP MTU"; + } + leaf maximum-packet-size { + type uint16; + description + "Maximum size of the packet"; + } + leaf interface-tunnel-flags { + type uint32; + description + "Flags related to Tunnel Interface"; + } + leaf interface-link-cost { + type uint16; + description + "Link cost/Metric of the interface"; + } + leaf interface-bandwidth { + type uint32; + description + "Bandwidth of the Interface"; + } + leaf cfg-cost-fallback { + type boolean; + description + "If true, cost fallback is configured"; + } + leaf interface-cost-fallback { + type uint16; + description + "Interface fallback cost"; + } + leaf cost-fallback-active { + type boolean; + description + "If true, cost fallback is active"; + } + leaf cfg-delay-igp-cost-fallback { + type boolean; + description + "If true,delay igp cost fallback is configured"; + } + leaf interface-igp-cost-fallback { + type uint16; + description + "Interface fallback cost"; + } + leaf dealy-igp-cost-fallback-active { + type boolean; + description + "If true, cost fallback is active"; + } + leaf cfg-delay-te-cost-fallback { + type boolean; + description + "If true,delay te cost fallback is configured"; + } + leaf interface-delay-te-cost-fallback { + type uint32; + description + "Interface fallback cost"; + } + leaf interface-delay-te-cost-fallback-flex { + type uint32; + description + "Interface fallback cost for flex algo te metric"; + } + leaf dealy-te-cost-fallback-active { + type boolean; + description + "If true, cost fallback is active"; + } + leaf configured-ldp-sync { + type boolean; + description + "If true, configured as LDP sync"; + } + leaf configured-ldp-sync-igp-shortcuts { + type boolean; + description + "If true, sync igp shortcuts"; + } + leaf interface-ldp-sync { + type boolean; + description + "If true, interface LDP sync is achieved"; + } + leaf configured-demand-circuit { + type boolean; + description + "Whether this interface is configured as a demand + circuit"; + } + leaf interface-demand-circuit { + type boolean; + description + "Whether this interface is running as a demand + circuit"; + } + leaf interface-dc-bitless-lsa-count { + type uint32; + description + "Number of LSAs with demand circuit bit not set + for the area in which the interface is running"; + } + leaf transmission-delay { + type uint16; + description + "Interface Transmission delay"; + } + leaf ospf-interface-state { + type Ospf-interface-state; + description + "Interface OSPF state"; + } + leaf interface-priority { + type uint8; + description + "DR priority of the interface"; + } + leaf designated-router { + type boolean; + description + "If true, there is a Designated Router for this + network"; + } + leaf designated-router-id { + type inet:ipv4-address; + description + "Router id of Designated router of this network"; + } + leaf designated-router-address { + type inet:ipv4-address; + description + "Interface address of the Designated Router of + this network"; + } + leaf backup-designated-router { + type boolean; + description + "If true, there is a Backup Designated Router for + this network"; + } + leaf backup-designated-router-id { + type inet:ipv4-address; + description + "Router id of Backup Designated Router of this + network"; + } + leaf backup-designated-router-address { + type inet:ipv4-address; + description + "interface address of the Backup Designated + Router of this network"; + } + leaf network-lsa-flush-timer { + type uint32; + units "second"; + description + "The amount of time in seconds before flush timer + for old network LSA expires"; + } + leaf interface-lsa-filter { + type boolean; + description + "Filter is configured for out going LSAs"; + } + leaf hello-interval { + type uint32; + description + "Configured hello interval (s)"; + } + leaf hello-interval-ms { + type uint32; + description + "Configured hello interval (ms)"; + } + leaf dead-interval { + type uint32; + description + "Configured dead interval (s)"; + } + leaf wait-interval { + type uint32; + description + "Configured wait interval (s)"; + } + leaf interface-retransmission-interrval { + type uint32; + description + "Configured retransmit interval (s)"; + } + leaf interface-nsf-enabled { + type boolean; + description + "If true, NSF is enabled"; + } + leaf interface-nsf { + type boolean; + description + "If true, NSF restart in progress on this + interface"; + } + leaf interface-last-nsf { + type uint32; + description + "Time since last NSF restart (s)"; + } + leaf passive-interface { + type boolean; + description + "If true, passive interface"; + } + leaf next-hello-time { + type uint32; + description + "Time until next Hello (s)"; + } + leaf next-hello-time-ms { + type uint32; + description + "Time until next Hello (ms)"; + } + leaf ttl-security-enabled { + type boolean; + description + "TTL security enabled on the interface"; + } + leaf ttl-security-hop-count { + type uint32; + description + "TTL security hop count for this interface"; + } + leaf interfaceis-madj { + type boolean; + description + "If true, interface is multi-area"; + } + leaf interface-madj-count { + type uint16; + description + "Total number of multi-area"; + } + leaf prefix-suppress-primary-addresses { + type boolean; + description + "whether Prefix Suppression for primary addresses + is enabled"; + } + leaf prefix-suppress-secondary-addresses { + type boolean; + description + "Whether Prefix Suppression for secondary + addresses is enabled"; + } + leaf is-loopback-stub-network { + type boolean; + description + "If true, loopback interface is advertised as a + stub network"; + } + leaf interface-ack-list-count { + type uint32; + description + "Ack List Count"; + } + leaf interface-ack-list-high-watermark { + type uint32; + description + "Ack List High Watermark"; + } + leaf registered-for-link-down-fast-detection { + type boolean; + description + "Whether this interface is registered for Link + Down Fast Detection"; + } + leaf fast-detect-hold-down-time { + type uint32; + description + "Hold-down time in ms for fast-detect event"; + } + leaf interface-fast-detect-hold-down { + type boolean; + description + "Link in hold-down state due to fast detect event"; + } + leaf fast-detect-hold-down-time-remaining { + type uint32; + description + "Remaining hold down time in ms"; + } + leaf fast-reroute-type { + type Ipfrr; + description + "IP Fast Reroute Type"; + } + leaf fast-reroute-topology-independent-lfa { + type boolean; + description + "Topology Independent LFA"; + } + leaf srlg-default-weight { + type uint32; + description + "SRLG Default weight if not configured + specifically for this SRLG"; + } + leaf interface-unnum { + type xr:Interface-name; + description + "Unnumbered interface"; + } + leaf interface-forw { + type boolean; + description + "Forward reference interface"; + } + leaf interface-pri-labels { + type uint8; + description + "Max number of primary labels"; + } + leaf interface-bkp-labels { + type uint8; + description + "Max number of backup labels"; + } + leaf interface-srte-labels { + type uint8; + description + "Max number of SRTE labels"; + } + leaf interface-srat-cap { + type uint8; + description + "SRTE automatic path capability"; + } + leaf pm-delay-set { + type boolean; + description + "PerfMeas Delay values available"; + } + leaf link-delay-avg { + type uint32; + description + "PerfMeas Average Link Delay"; + } + leaf link-delay-min { + type uint32; + description + "PerfMeas Minimum Link Delay"; + } + leaf link-delay-max { + type uint32; + description + "PerfMeas Maximum Link Delay"; + } + leaf pm-dealy-average-a-bit { + type boolean; + description + "If true, PM delay avg bit is set"; + } + leaf pm-dealy-min-max-a-bit { + type boolean; + description + "If true, PM delay min_max bit is set"; + } + leaf link-delay-avg-raw { + type uint32; + description + "PerfMeas Average Link Delay Raw"; + } + leaf link-delay-min-raw { + type uint32; + description + "PerfMeas Minimum Link Delay Raw"; + } + leaf link-delay-max-raw { + type uint32; + description + "PerfMeas Maximum Link Delay Raw"; + } + leaf link-delay-norm-intval { + type uint32; + description + "PerfMeas Delay Norm Interval"; + } + leaf link-delay-norm-offset { + type uint32; + description + "PerfMeas Delay Norm Offset"; + } + leaf link-delay-var { + type uint32; + description + "PerfMeas Link Delay Variance"; + } + leaf pm-loss-set { + type boolean; + description + "PerfMeas Link Loss values available"; + } + leaf link-loss { + type uint32; + description + "PerfMeas Link Loss"; + } + leaf pmbw-util-set { + type boolean; + description + "PerfMeas BW Util values available"; + } + leaf total-bandwidth { + type uint64; + description + "PerfMeas Total Bandwidth"; + } + leaf rsvpte-bandwidth { + type uint64; + description + "PerfMeas RSVP-TE Bandwidth"; + } + leaf remote-lfa { + type uint8; + description + "Remote LFA"; + } + leaf srte-metric-set { + type boolean; + description + "SRTE Metric available"; + } + leaf srte-metric { + type uint32; + description + "SRTE Metric"; + } + leaf srte-app-weight { + type uint32; + description + "SRTE App Weight"; + } + leaf srte-ext-admin-group-set { + type boolean; + description + "SRTE Ext. Admin Group available"; + } + leaf interface-weight { + type uint32; + description + "Configured Interface weight"; + } + leaf if-rib-l-csync-needed { + type boolean; + description + "rib lc sync needed"; + } + leaf if-rib-l-csync { + type boolean; + description + "rib lc sync state"; + } + leaf conditional-advertising-enabled { + type boolean; + description + "If Conditional advertising based on route-policy + is enabled"; + } + leaf conditional-advertise-policy-name { + type string; + description + "Name of the applied policy for Conditional + advertising"; + } + leaf conditional-advertising-result { + type boolean; + description + "Result of the policy applied for Conditional + advertising"; + } + leaf if-sr-forwarding-mpls { + type boolean; + description + "Segment Routing Forwarding MPLS enabled"; + } + leaf te-metric-flex { + type uint32; + description + "TE Metric for flex algo"; + } + list srlg { + description + "SRLG Values"; + leaf entry { + type uint32; + description + "SRLG Values"; + } + } + list srlg-weight { + description + "SRLG Weight"; + leaf entry { + type uint32; + description + "SRLG Weight"; + } + } + list srtete-ext-admin-group { + description + "SRTE Ext. Admin Group"; + leaf entry { + type uint32; + description + "SRTE Ext. Admin Group"; + } + } + list interface-neighbor { + description + "Information for neighbors on the interface"; + uses OSPF-SH-INTERFACE-NBR; + } + list interface-madj { + description + "Information for multi-area on the interface"; + uses OSPF-SH-INTERFACE-MADJ; + } + list ipfrr-tiebreakers { + description + "IPFRR-Tiebreakers list"; + uses OSPF-SH-IPFRR-TB; + } + list ip-sec-addr { + description + "Secondary IP address list"; + uses OSPF-SH-SEC-ADDR; + } + list sr-adj-sid { + description + "SR Configured Adjacency SIDs"; + uses OSPF-SH-IF-ADJ-SID; + } + } + + grouping OSPF-SH-VLINK-NEIGHBOR { + description + "Virtual Link Neighbor Information"; + container virtual-link-retransmissoin { + description + "Neighbor retransmission info"; + uses OSPF-SH-NEIGHBOR-RETRANS; + } + leaf virtual-link-suppress-hello { + type boolean; + description + "If true Hellos suppressed"; + } + leaf virtual-link-state { + type Neighbor-state; + description + "Adjacency state"; + } + } + + grouping OSPF-SH-VIRTUAL-LINKS { + description + "OSPF Virtual Link"; + container virtual-link-neighbor { + description + "Neighbor information"; + uses OSPF-SH-VLINK-NEIGHBOR; + } + leaf virtual-link-name-xr { + type string; + description + "Name of the Virtual link"; + } + leaf virtual-link-neighbor-id { + type inet:ipv4-address; + description + "Neighbor on other end of this virtual link"; + } + leaf virtual-link-state { + type Ospf-interface-state; + description + "OSPF interface state for the virtual link"; + } + leaf virtual-link-demand-circuit { + type boolean; + description + "If true, the link runs as demand circuit"; + } + leaf virtual-link-dc-bitless-lsa { + type uint32; + description + "Number of LSA's with demand circuit bit not set"; + } + leaf transit-area { + type string; + description + "Area id of the Transit area"; + } + leaf virtual-link-interface-name { + type xr:Interface-name; + description + "Interface on which this virtual link is formed"; + } + leaf virtual-link-cost { + type uint16; + description + "Cost of the virtual link"; + } + leaf virual-link-transmission-delay { + type uint16; + units "second"; + description + "Transmission delay in seconds"; + } + leaf virtual-link-hello-interval { + type uint32; + description + "Hello interval (s)"; + } + leaf virtual-link-hello-interval-ms { + type uint32; + description + "Hello interval (ms)"; + } + leaf virtual-link-dead-interval { + type uint32; + description + "Dead interval (s)"; + } + leaf virtual-link-wait-interval { + type uint32; + description + "Wait interval (s)"; + } + leaf virtaul-link-retransmission-interval { + type uint32; + description + "Retransmission interval (s)"; + } + leaf virtual-link-next-hello { + type uint32; + description + "Time until next hello (s)"; + } + leaf virtual-link-next-hello-ms { + type uint32; + description + "Time until next hello (ms)"; + } + leaf virtual-link-passive { + type boolean; + description + "If true, interface is passive"; + } + leaf virtual-link-authentication-type { + type Authentication; + description + "Authentication type"; + } + leaf virtual-link-youngest-md-key { + type boolean; + description + "If true, MD key configured"; + } + leaf virtual-link-youngest-md-key-id { + type uint16; + description + "Youngest MD key ID"; + } + leaf virtual-link-old-md-key-count { + type uint32; + description + "Number of neighbors still using the old key + (rollover in progress)"; + } + leaf keychain-name { + type string { + length "0..255"; + } + description + "Virtual Link Keychain Name"; + } + leaf virtual-link-keychain-key-conf { + type boolean; + description + "If true, Keychain key is configured"; + } + leaf virtual-link-keychain-id { + type uint64; + description + "Virtual Link Keychain ID"; + } + leaf virtual-link-keychain-alg { + type Ospf-crytographic-algo; + description + "Virtual Link Keychain cryptographic-algorithm"; + } + leaf virtual-link-nsf-enabled { + type boolean; + description + "If true, NSF enabled"; + } + leaf virtual-link-nsf { + type boolean; + description + "If true, NSF restart in progress on the virtual + link"; + } + leaf virtual-link-last-nsf { + type uint32; + units "second"; + description + "Time in seconds since last NSF"; + } + list virtual-link-md-key { + description + "List of old MD keys (if any)"; + leaf entry { + type uint16; + description + "List of old MD keys (if any)"; + } + } + } + + grouping OSPF-SH-INTERFACE-MADJ { + description + "OSPF Interface Multi-Area Information"; + leaf interface-area { + type string { + length "0..16"; + } + description + "Area ID string in decimal or dotted-decimal + format"; + } + leaf madj-area-id { + type uint32; + description + "Area ID"; + } + leaf interface-neighbor-count { + type uint16; + description + "Number of Neighbors"; + } + leaf interface-adj-neighbor-count { + type uint16; + description + "Total number of Adjacent Neighbors"; + } + leaf interface-link-cost { + type uint16; + description + "Cost/Metric of the Interface link"; + } + leaf ospf-interface-state { + type Ospf-interface-state; + description + "Interface OSPF state"; + } + } + + grouping OSPF-SH-IF-BRIEF { + description + "OSPF Interface Brief Information"; + leaf interface-name-xr { + type xr:Interface-name; + description + "Name of the interface on which OSPF is enabled"; + } + leaf interface-area { + type string { + length "0..16"; + } + description + "Area ID string in decimal or dotted-decimal + format"; + } + leaf interface-address { + type inet:ipv4-address; + description + "IPv4 address of the Interface"; + } + leaf interface-mask { + type uint32; + description + "Interface IP Mask"; + } + leaf interface-link-cost { + type uint16; + description + "link cost/metric of the interface"; + } + leaf ospf-interface-state { + type Ospf-interface-state; + description + "Interface OSPF state"; + } + leaf interface-fast-detect-hold-down { + type boolean; + description + "whether the interface is in fast detect hold + down state"; + } + leaf interface-neighbor-count { + type uint16; + description + "Total number of Neighbors"; + } + leaf interface-adj-neighbor-count { + type uint16; + description + "Total number of Adjacent Neighbors"; + } + leaf interfaceis-madj { + type boolean; + description + "If true, interface is multi-area"; + } + leaf interface-madj-count { + type uint16; + description + "Total number of multi-area"; + } + list interface-madj { + description + "Information for multi-area on the interface"; + uses OSPF-SH-INTERFACE-MADJ; + } + } + + grouping OSPF-SH-ROUTE-EXT-SID { + description + "Algo label information received from RIB"; + leaf flex-algorithm { + type uint8; + description + "Flex-algo number"; + } + leaf label { + type uint32; + description + "Label specific to the algo"; + } + leaf metric { + type uint32; + description + "Metric specific to the algo"; + } + } + + grouping OSPF-SH-ROUTE-EXTENDED-COMM { + description + "OSPF External Route Extended Community + Information"; + leaf extended-community-domain-id-value { + type yang:hex-string; + description + "Domain ID value"; + } + leaf extended-communityl-domain-id-type { + type uint16; + description + "Domain ID type"; + } + leaf extended-community-area-id { + type uint32; + description + "Area id"; + } + leaf extended-community-router-id { + type inet:ipv4-address; + description + "Router id"; + } + leaf extended-community-route-type { + type uint8; + description + "OSPF route type, whether intra-area, inter-area + or external route"; + } + leaf extended-community-options { + type uint8; + description + "Route Options"; + } + } + + grouping OSPF-SH-REDIST-PROTO { + description + "Redistributed protocol instance"; + leaf protocol-type { + type Redist-protocol; + description + "ProtocolType"; + } + leaf isis-instance-id { + when "../protocol-type = 'mgmt-rib-protocol-isis'" { + description + "../ProtocolType = 'MGMT_RIB_PROTOCOL_ISIS'"; + } + type String1; + description + "ISIS instance identifier"; + } + leaf ospf-process-id { + when "../protocol-type = 'mgmt-rib-protocol-ospf'" { + description + "../ProtocolType = 'MGMT_RIB_PROTOCOL_OSPF'"; + } + type String1; + description + "OSPF process identifier"; + } + leaf bgp-as-number { + when "../protocol-type = 'mgmt-rib-protocol-bgp'" { + description + "../ProtocolType = 'MGMT_RIB_PROTOCOL_BGP'"; + } + type String1; + description + "BGP Autonomous System Number"; + } + leaf eigrp-as-number { + when "../protocol-type = 'mgmt-rib-protocol-eigrp'" { + description + "../ProtocolType = 'MGMT_RIB_PROTOCOL_EIGRP'"; + } + type String1; + description + "Autonomous System Number"; + } + leaf connected-instance { + when "../protocol-type = 'mgmt-rib-protocol-connected'" { + description + "../ProtocolType = 'MGMT_RIB_PROTOCOL_CONNECTED'"; + } + type String1; + description + "Name of the Connected instance"; + } + } + + grouping OSPF-SH-ROUTE-EXT { + description + "OSPF External Route Information"; + container route-information { + description + "Route details"; + uses OSPF-SH-TOPOLOGY; + } + container protocol-name { + description + "Name of protocol from which the external route + was redistributed"; + uses OSPF-SH-REDIST-PROTO; + } + container route-extended-community { + description + "Extended communities in the route"; + uses OSPF-SH-ROUTE-EXTENDED-COMM; + } + list route-label { + description + "List of labels in other algorithms"; + uses OSPF-SH-ROUTE-EXT-SID; + } + } + + grouping OSPF-SH-ROUTE-SUMM-COMMON { + description + "OSPF Route Summary Common Information"; + leaf external-type1s { + type uint32; + description + "External type 1 count"; + } + leaf external-type2s { + type uint32; + description + "External type 2 count"; + } + leaf external-nssa-type1s { + type uint32; + description + "External NSSA type 1 count"; + } + leaf external-nssa-type2s { + type uint32; + description + "External NSSA type 2 count"; + } + leaf inter-areas { + type uint32; + description + "Inter-area count"; + } + leaf intra-areas { + type uint32; + description + "Intra-area count"; + } + leaf total { + type uint32; + description + "Total count"; + } + } + + grouping OSPF-SH-ROUTE-SUMMARY { + description + "OSPF Route Summary Information"; + container failure-time { + description + "Last time failed"; + uses OSPF-SH-TIME; + } + container common { + description + "OSPF route summary Information"; + uses OSPF-SH-ROUTE-SUMM-COMMON; + } + leaf failures { + type uint32; + description + "RIB failure count"; + } + leaf failure-address { + type inet:ipv4-address; + description + "Last failed address"; + } + } + + grouping OSPF-SH-TOP-PATH { + description + "OSPF Route Path Information"; + container sr-microloop-avoidance-path { + description + "SR Microloop avoidance Path Info"; + uses OSPF-SH-SR-ULOOP-PATH; + } + leaf route-interface-name { + type xr:Interface-name; + description + "Next hop Interface"; + } + leaf route-interface-snmp-index { + type uint32; + description + "SNMP index of th Interface"; + } + leaf route-next-hop-address { + type inet:ipv4-address; + description + "Nexthop IP address"; + } + leaf route-source { + type inet:ipv4-address; + description + "IP address of source of route"; + } + leaf route-lsaid { + type inet:ipv4-address; + description + "LSA ID, see RFC2328"; + } + leaf route-path-is-mcast-intact { + type boolean; + description + "Multicast-intact path"; + } + leaf route-path-is-ucmp-path { + type boolean; + description + "UCMP path"; + } + leaf route-metric { + type uint32; + description + "Metric"; + } + leaf lsa-type { + type uint8; + description + "LSA type, see RFC2328 etc."; + } + leaf area-id { + type uint32; + description + "Area ID"; + } + leaf area-format { + type boolean; + description + "Area format IP or uint32"; + } + leaf route-path-id { + type uint32; + description + "Path ID of path"; + } + leaf route-path-is-rsvp-te-path { + type boolean; + description + "RSVP-TE path"; + } + leaf route-path-is-sr-te-path { + type boolean; + description + "SR-TE path"; + } + leaf route-path-is-sr-excl-path { + type boolean; + description + "SR Excl TE path"; + } + leaf route-path-is-sr-te-sspf-path { + type boolean; + description + "SR-TE SSPF path"; + } + leaf weight { + type uint32; + description + "Path Weight"; + } + list neighbor-next-hop { + description + "NeighborNextHop"; + uses OSPF-SH-NNH-INFO; + } + } + + grouping OSPF-SH-TOPOLOGY { + description + "OSPF Route Information"; + container route-info { + description + "Route information"; + uses OSPF-SH-TOP-COMMON; + } + leaf route-prefix { + type inet:ipv4-address; + description + "IPv4 Route Prefix"; + } + leaf route-prefix-length { + type uint32; + description + "Prefix length"; + } + leaf route-metric { + type uint32; + description + "Metric"; + } + leaf route-type { + type Ospf-route; + description + "OSPF route type, whether intra-area, inter-area + or external route"; + } + leaf route-connected { + type boolean; + description + "If true, connected route"; + } + list route-path { + description + "List of paths to this route"; + uses OSPF-SH-TOP-PATH; + } + } + + grouping OSPF-SH-NNH-INFO { + description + "OSPF Neighbor NextHop Information"; + leaf neighbor-next-hop-value-type { + type Ospf-sh-nnh-val-types; + description + "NeighborNextHopValueType"; + } + leaf neighbor-next-hop-ip-addr { + when "../neighbor-next-hop-value-type = 'mgmt-nnh-val-type-ip-addr'" { + description + "../NeighborNextHopValueType = + 'MGMT_NNH_VAL_TYPE_IP_ADDR'"; + } + type inet:ipv4-address; + description + "Neighbor NextHop IP Address"; + } + leaf neighbor-next-hop-intf-index { + when "../neighbor-next-hop-value-type = 'mgmt-nnh-val-type-if-index'" { + description + "../NeighborNextHopValueType = + 'MGMT_NNH_VAL_TYPE_IF_INDEX'"; + } + type uint32; + description + "Neighbor NextHop Interface Index"; + } + } + + grouping OSPF-SH-SR-ULOOP-PATH { + description + "OSPF Route SR Uloop Path Information"; + leaf microloop-repair-list-size { + type uint32; + description + "Repair List Size for Microloop"; + } + leaf microloop-tunnel-interface-name { + type xr:Interface-name; + description + "Tunnel Interface name for Microloop"; + } + leaf microloop-strict-spf { + type boolean; + description + "Strict SPF SID for Microloop"; + } + list microloop-repair { + max-elements "12"; + description + "Repair List for Microloop"; + uses OSPF-SH-REP-EL; + } + } + + grouping OSPF-SH-REP-EL { + description + "OSPF Repair Element"; + leaf repair-element-id { + type inet:ipv4-address; + description + "ID of the Repair Element"; + } + leaf repair-label { + type uint32; + description + "Label of Repair Element"; + } + leaf repair-element-type { + type uint32; + description + "Type of the Repair Element"; + } + } + + grouping OSPF-SH-BACKUP-PATH { + description + "OSPF Route Backup Path Information"; + leaf backup-route-interface-name { + type xr:Interface-name; + description + "Next hop Interface"; + } + leaf backup-route-next-hop-address { + type inet:ipv4-address; + description + "Nexthop IP address"; + } + leaf backup-route-source { + type inet:ipv4-address; + description + "IP address of source of route"; + } + leaf backup-metric { + type uint32; + description + "Metric"; + } + leaf primary-path { + type boolean; + description + "Whether this is also a Primary Path"; + } + leaf line-card-disjoint { + type boolean; + description + "Whether this is a Line Card Disjoint path"; + } + leaf downstream { + type boolean; + description + "Whether this is a downstream path"; + } + leaf node-protect { + type boolean; + description + "Whether this is a Node Protect path"; + } + leaf srlg-disjoint { + type boolean; + description + "Whether this is a SRLG Disjoint path"; + } + leaf weighted-srlg { + type boolean; + description + "Whether this is a Weighted SRLG path"; + } + leaf lfa-type { + type Lfa; + description + "LFA type"; + } + leaf backup-remote-lfa { + type inet:ipv4-address; + description + "IP address of remote LFA"; + } + leaf backup-repair-list-size { + type uint32; + description + "Repair List Size"; + } + leaf backup-tunnel-interface-name { + type xr:Interface-name; + description + "Backup Tunnel Interface"; + } + leaf interface-disjoint { + type boolean; + description + "Whether this is a Interface Disjoint path"; + } + list backup-repair { + max-elements "12"; + description + "Backup Repair List"; + uses OSPF-SH-REP-EL; + } + } + + grouping OSPF-SH-TOP-PATH-BACKUP { + description + "OSPF Route Path Wit Backup Path Information"; + container route-backup-path { + description + "Backup Path Info"; + uses OSPF-SH-BACKUP-PATH; + } + container sr-microloop-avoidance-path { + description + "SR Microloop avoidance Path Info"; + uses OSPF-SH-SR-ULOOP-PATH; + } + leaf route-interface-name { + type xr:Interface-name; + description + "Next hop Interface"; + } + leaf route-interface-snmp-index { + type uint32; + description + "SNMP index of the Interface"; + } + leaf route-next-hop-address { + type inet:ipv4-address; + description + "Nexthop IP address"; + } + leaf route-source { + type inet:ipv4-address; + description + "IP address of source of route"; + } + leaf route-lsaid { + type inet:ipv4-address; + description + "LSA ID, see RFC2328"; + } + leaf route-path-is-mcast-intact { + type boolean; + description + "Multicast-intact path"; + } + leaf route-path-is-ucmp-path { + type boolean; + description + "UCMP path"; + } + leaf route-metric { + type uint32; + description + "Metric"; + } + leaf route-path-id { + type uint32; + description + "Path ID of path"; + } + leaf lsa-type { + type uint8; + description + "LSA type, see RFC2328 etc."; + } + leaf area-id { + type uint32; + description + "Area ID"; + } + leaf area-format { + type boolean; + description + "Area format IP or uint32"; + } + leaf route-path-is-rsvp-te-path { + type boolean; + description + "RSVP-TE path"; + } + leaf route-path-is-sr-te-path { + type boolean; + description + "SR-TE path"; + } + leaf route-path-is-sr-excl-path { + type boolean; + description + "SR Excl TE path"; + } + leaf route-path-is-sr-te-sspf-path { + type boolean; + description + "SR-TE SSPF path"; + } + list neighbor-next-hop { + description + "NeighborNextHop"; + uses OSPF-SH-NNH-INFO; + } + } + + grouping OSPF-SH-TOP-COMMON { + description + "OSPF Common Route Information"; + container route-update-time { + description + "Last time updated"; + uses OSPF-SH-TIME; + } + container route-fail-time { + description + "Last time update failed"; + uses OSPF-SH-TIME; + } + leaf route-area-id { + type uint32; + description + "Area ID"; + } + leaf route-te-metric { + type uint32; + description + "TE metric"; + } + leaf route-rib-version { + type uint32; + description + "RIB version"; + } + leaf route-spf-version { + type uint64; + description + "SPF version"; + } + leaf route-forward-distance { + type uint32; + description + "Forward distance"; + } + leaf route-source { + type uint16; + description + "Protocol source"; + } + leaf route-spf-priority { + type uint8; + description + "SPF priority"; + } + leaf route-auto-excluded { + type boolean; + description + "If true, exclude from TE paths"; + } + leaf route-srte-prefix-registered { + type boolean; + description + "If true, SRTE registered prefix route"; + } + leaf route-srte-nbr-registered { + type uint16; + description + "SRTE registered neigbhor count on route"; + } + leaf route-label-type { + type uint8; + description + "Type of route label"; + } + leaf route-label { + type uint32; + description + "The route SPF label"; + } + leaf route-sspf-label { + type uint32; + description + "The route SSPF label"; + } + } + + grouping OSPF-SH-TOPOLOGY-BACKUP { + description + "OSPF Route Information With Backup Path"; + container route-info { + description + "Route information"; + uses OSPF-SH-TOP-COMMON; + } + leaf route-prefix { + type inet:ipv4-address; + description + "IPv4 Route Prefix"; + } + leaf route-prefix-length { + type uint32; + description + "Prefix length"; + } + leaf route-metric { + type uint32; + description + "Metric"; + } + leaf route-type { + type Ospf-route; + description + "OSPF route type, whether intra-area, inter-area + or external route"; + } + leaf route-connected { + type boolean; + description + "If true, connected route"; + } + list route-path { + description + "List of paths to this route"; + uses OSPF-SH-TOP-PATH-BACKUP; + } + } + + grouping OSPF-SH-NBR-ADJ-SID { + description + "OSPF Neighbor Adjacency SID"; + leaf adj-sid-label { + type uint32; + description + "Adjacency SID Label"; + } + leaf protected-adj-sid { + type boolean; + description + "Adjacency SID Protection"; + } + leaf adj-sid-has-backup { + type boolean; + description + "Adjacency SID has backup protection"; + } + leaf configured-adj-sid { + type boolean; + description + "Configured Adjacency SID"; + } + } + + grouping OSPF-SH-NEIGHBOR-RETRANS { + description + "OSPF Neighbor Retransmission Information"; + leaf dbd-retransmission-count { + type uint32; + description + "Number of DBD retransmissions during last + exchange"; + } + leaf dbd-retransmission-total-count { + type uint32; + description + "Total number of DBD retransmissions for this + neighbor"; + } + leaf area-flooding-index { + type uint32; + description + "Area scope LSA's flood index"; + } + leaf as-flood-index { + type uint32; + description + "AS scope LSA's flood index"; + } + leaf neighbor-retransmission-count { + type uint32; + description + "Retransmission queue length"; + } + leaf number-of-retransmissions { + type uint32; + description + "Number of retransmissions for this neighbor"; + } + leaf area-first-flood-information { + type uint32; + description + "First flood item for area scope LSAs"; + } + leaf area-first-flood-information-index { + type uint32; + description + "Index of the first flood item for area scope + LSAs"; + } + leaf as-first-flood-information { + type uint32; + description + "First flood item for AS scope LSAs"; + } + leaf as-first-flood-information-index { + type uint32; + description + "Index for first flood item for AS scope LSAs"; + } + leaf area-next-flood-information { + type uint32; + description + "Next flood item for area scope LSAs"; + } + leaf area-next-flood-information-index { + type uint32; + description + "Index of next flood item for Area scope LSAs"; + } + leaf as-next-flood-information { + type uint32; + description + "Next flood item for AS scope LSAs"; + } + leaf as-next-flood-information-index { + type uint32; + description + "Index of next flood item for AS scope LSAs"; + } + leaf last-retransmission-length { + type uint32; + description + "Number of LSAs sent in last retransmission"; + } + leaf maximum-retransmission-length { + type uint32; + description + "Maximum number of LSAs sent in a retransmission"; + } + leaf last-retransmission-time { + type uint32; + description + "Time taken for retransmission in the last + attempt (ms)"; + } + leaf maximum-retransmission-time { + type uint32; + description + "Maximum time taken for retransmission (ms)"; + } + leaf lsa-retransmission-timer { + type uint32; + description + "Time until next LSA retransmission (ms)"; + } + } + + grouping OSPF-SH-NEIGHBOR-DETAIL { + description + "OSPF Neighbor Detailed Information"; + container neighbor-summary { + description + "Neighbor summary information"; + uses OSPF-SH-NEIGHBOR; + } + container neighbor-bfd-information { + description + "BFD related information of the neighbor"; + uses OSPF-SH-NEIGHBOR-BFD; + } + container neighbor-retransmission-information { + description + "Retransmission information with this neighbor"; + uses OSPF-SH-NEIGHBOR-RETRANS; + } + leaf neighbor-area-id { + type string { + length "0..16"; + } + description + "Area ID string in decimal or dotted-decimal + format"; + } + leaf state-change-count { + type uint16; + description + "Number of state changes"; + } + leaf neighbor-cost { + type uint16; + description + "Cost of path to this neighbor"; + } + leaf neighbor-filter { + type boolean; + description + "If true, filter outgoing LSAs"; + } + leaf neighbor-designated-router-address { + type inet:ipv4-address; + description + "Address of designated router"; + } + leaf neighbor-backup-designated-router-address { + type inet:ipv4-address; + description + "Address of backup designated router"; + } + leaf interface-type { + type Interface; + description + "Type of the interface, whether it is p2p, + broadcast, nbma or p2mp"; + } + leaf poll-interval { + type uint32; + description + "Poll interval (s)"; + } + leaf next-poll-interval { + type uint32; + units "second"; + description + "For NBMA networks, amount of time remaining in + seconds before the next poll interval expires + and Hello is sent (s)"; + } + leaf neighbor-option { + type uint8; + description + " This is bitmaks of neighbor's option field + received"; + } + leaf pending-events { + type uint16; + description + "Number of pending events"; + } + leaf neighbor-lls-option { + type uint32; + description + "This is a bitmask of Link Local signalling + options received from the neighbor"; + } + leaf oob-resynchronization { + type boolean; + description + "Out-Of-Bound resynchronization in progress"; + } + leaf nsf-router-state { + type Nsf-rtr; + description + "For cisco NSF, the router is either Requester or + Receiver"; + } + leaf last-oob-time { + type uint32; + units "second"; + description + "The amount of time in seconds since last time + Out-Of-Band resynchronization was done with this + neighbor"; + } + leaf lfa-interface { + type xr:Interface-name; + description + "LFA Interface"; + } + leaf lfa-next-hop { + type inet:ipv4-address; + description + "LFA Next Hop"; + } + leaf lfa-neighbor-id { + type inet:ipv4-address; + description + "LFA Neighbor ID"; + } + leaf lfa-neighbor-revision { + type uint32; + description + "LFA Neighbor Revision"; + } + leaf neighbor-ack-list-count { + type uint32; + description + "Ack List Count"; + } + leaf neighbor-ack-list-high-watermark { + type uint32; + description + "Ack List High Watermark"; + } + leaf neighbor-interface-id { + type uint16; + description + "Interface ID of neighbor recived via LLS"; + } + list adjacency-sid { + description + "List of SR Adjacency SIDs"; + uses OSPF-SH-NBR-ADJ-SID; + } + } + + grouping OSPF-SH-RETRANS-LIST { + description + "OSPF Retransmission List"; + leaf retransmission-neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf retransmission-neighbor-ip-address { + type inet:ipv4-address; + description + "Neighbor IP Address"; + } + leaf retransmission-interface-name { + type xr:Interface-name; + description + "Retransmission list interface"; + } + leaf retransmission-timer { + type uint32; + description + "Amount of time remaining on retransmission timer + (ms)"; + } + leaf retransmission-count { + type uint32; + description + "Retransmission queue length"; + } + list retransmission-area-db { + description + "List of Area scope entries"; + uses OSPF-SH-LSA-SUM; + } + list retransmission-asdb { + description + "List of AS Scope entries"; + uses OSPF-SH-LSA-SUM; + } + } + + grouping OSPF-SH-REQUEST-LIST { + description + "OSPF Request List Information"; + leaf request-neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf request-neighbor-address { + type inet:ipv4-address; + description + "Neighbor IP address"; + } + leaf request-interface-name { + type xr:Interface-name; + description + "Request list interface"; + } + list request { + description + "List of request list entries"; + uses OSPF-SH-LSA-SUM; + } + } + + grouping OSPF-SH-NEIGHBOR-BFD { + description + "OSPF Neighbor BFD information"; + leaf bfd-intf-enable-mode { + type uint32; + description + "BFD enable mode - Default/Strict"; + } + leaf bfd-status-flag { + type uint8; + description + "Status of the BFD Session"; + } + } + + grouping OSPF-SH-NEIGHBOR { + description + "OSPF Neighbor Summary Information"; + container neighbor-bfd-information { + description + "BFD related information of the neighbor"; + uses OSPF-SH-NEIGHBOR-BFD; + } + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf neighbor-ip-address { + type inet:ipv4-address; + description + "Neighbor IP Address"; + } + leaf neighbor-interface-name { + type xr:Interface-name; + description + "Interface via which the neighbor is seen"; + } + leaf neighbor-sham-link-virtual-link-name { + type string; + description + "Neighbor sham link or virtual link name"; + } + leaf neighbor-dr-priority { + type uint8; + description + "DR priority of the neighbor"; + } + leaf neighbor-state { + type Neighbor-state; + description + "NFSM state of the neighbor"; + } + leaf dr-bdr-state { + type Dr-bdr-state; + description + "IFSM state of the neighbor"; + } + leaf neighbor-dead-timer { + type uint32; + description + "Time until neighbor's dead timer expires (s)"; + } + leaf neighbor-up-time { + type uint32; + description + "Amount of time since the adjacency is up (s)"; + } + leaf neighbor-madj-interface { + type boolean; + description + "Interface is MADJ"; + } + } + + grouping OSPF-SH-TIME { + description + "Time in seconds and nanoseconds"; + leaf second { + type uint32; + description + "Second"; + } + leaf nanosecond { + type uint32; + description + "Nanosecond"; + } + } + + grouping OSPF-SH-MPLS-FRAGMENT { + description + "OSPF MPLS-TE Fragment Information"; + leaf fragment-instance { + type uint32; + description + "Fragment instance number"; + } + leaf fragment-id { + type uint32; + description + "Fragment ID value"; + } + leaf dste-model-id { + type uint8; + description + "DS-TE Allocation Model ID"; + } + leaf same-fragment-count { + type uint8; + description + "Number of fragment links which haven't changed + since the last update"; + } + list mpls-te-link { + description + "List of fragment links"; + uses OSPF-SH-MPLS-LINK; + } + } + + grouping OSPF-SH-MPLS-EAG { + description + "EXTENDED administrative group TLVs"; + leaf extended-admin-size { + type uint32; + description + "Size of the extended admin group"; + } + list ext-admin-data { + description + "Value of Extended Admin Group"; + leaf entry { + type uint32; + description + "Value of Extended Admin Group"; + } + } + } + + grouping MPLS-TEL-OPT-UNID-VAL { + description + "MPLS TE Link Optional TLV IXCD Data"; + leaf uni-dir-delay { + type uint32; + description + "Uni Dir Delay"; + } + } + + grouping BW-FLEX-SUBTLV-VALUE { + description + "Value of Flex Sub TLV"; + container flex-sub-tlv-value-common { + description + "Flex Sub TLV Value"; + uses BW-SUB-TLV-VALUE-COMMON; + } + list unres-lspbw { + max-elements "8"; + description + "Array of Unres LSP BW"; + leaf entry { + type uint64; + description + "Array of Unres LSP BW"; + } + } + list max-lspbw { + max-elements "8"; + description + "Max LSP BW Array"; + leaf entry { + type uint64; + description + "Max LSP BW Array"; + } + } + } + + grouping BW-SUB-TLV-VALUE-COMMON { + description + "Common values in both Fixed and Flex Sub TLV"; + leaf signal-type { + type uint8; + description + "Signal Type value"; + } + leaf num-stages { + type uint8; + description + "Number of stages"; + } + leaf tbit { + type uint8; + description + "T Bit"; + } + leaf sbit { + type uint8; + description + "S Bit"; + } + leaf tsg { + type uint8; + description + "TSG"; + } + leaf res { + type uint8; + description + "Res"; + } + leaf priority-bit0 { + type uint8; + description + "Priority 0"; + } + leaf priority-bit1 { + type uint8; + description + "Priority 1"; + } + leaf priority-bit2 { + type uint8; + description + "Priority 2"; + } + leaf priority-bit3 { + type uint8; + description + "Priority 3"; + } + leaf priority-bit4 { + type uint8; + description + "Priority 4"; + } + leaf priority-bit5 { + type uint8; + description + "Priority 5"; + } + leaf priority-bit6 { + type uint8; + description + "Priority 6"; + } + leaf priority-bit7 { + type uint8; + description + "Priority 7"; + } + leaf stage { + type yang:hex-string; + description + "Array of Stages"; + } + } + + grouping BW-FIXED-SUBTLV-VALUE { + description + "Value of Fixed Sub TLV"; + container fixed-sub-tlv-value { + description + "Value of Fixed Sub TLV"; + uses BW-SUB-TLV-VALUE-COMMON; + } + list unres-oduj-prio { + max-elements "8"; + description + "Array of Unres Oduj Prio"; + leaf entry { + type uint32; + description + "Array of Unres Oduj Prio"; + } + } + } + + grouping IXCD-BW-SUB-TLV-VALUE-UNION { + description + "Sub Tlv values for IXCD Bandwidth"; + container fixed-bw-sub-tlv-value { + when "../ixcdbw-sub-tlv-type = '1'" { + description + "../IXCDBWSubTLVType = '1'"; + } + description + "Value of Fixed Sub TLV"; + uses BW-FIXED-SUBTLV-VALUE; + } + container flex-bw-sub-tlv-value { + when "../ixcdbw-sub-tlv-type = '2'" { + description + "../IXCDBWSubTLVType = '2'"; + } + description + "Value of Flex Sub TLV"; + uses BW-FLEX-SUBTLV-VALUE; + } + leaf ixcdbw-sub-tlv-type { + type uint16; + description + "IXCDBWSubTLVType"; + } + } + + grouping IXCD-BW-SUB-TLV { + description + "IXCD BW sub tlv"; + container bw-sub-tlv-value { + description + "Value of BW Sub TLV"; + uses IXCD-BW-SUB-TLV-VALUE-UNION; + } + leaf bw-sub-tlv-type { + type uint16; + description + "Type of Sub TLV"; + } + leaf bw-sub-tlv-length { + type uint16; + description + "Length of BW Sub TLV"; + } + } + + grouping IXCD-BW-SUB-TLV-ARR { + description + "Array of BW Sub TLVs"; + list arr-bw-sub-tlv { + description + "Array of sub tlvs"; + uses IXCD-BW-SUB-TLV; + } + } + + grouping IXCD-LE-PSC-INFO { + description + "IXCD LE PSC information"; + leaf min-lsp-bandwidth { + type uint64; + description + "Min LSP bandwidth"; + } + leaf psc-interface-mtu { + type uint16; + description + " Interface MTU"; + } + } + + grouping IXCD-TLV-SWITCHINGCAP-VALUE-UNION { + description + "Switching Cap values"; + container ixcdpsc-info { + when "../switching-cap-type = 'rrr-proto-l-switch-cap-psc4'" { + description + "../SwitchingCapType = + 'RRR_PROTO_LSWITCH_CAP_PSC4'"; + } + description + "IXCD PSC information"; + uses IXCD-LE-PSC-INFO; + } + container ixcdbw-sub-tlv { + when "../switching-cap-type = 'rrr-proto-l-switch-cap-otn-tdm'" { + description + "../SwitchingCapType = + 'RRR_PROTO_LSWITCH_CAP_OTN_TDM'"; + } + description + "Sub TLVs"; + uses IXCD-BW-SUB-TLV-ARR; + } + leaf switching-cap-type { + type uint8; + description + "SwitchingCapType"; + } + } + + grouping MPLS-TEL-OPT-IXCD-VAL { + description + "MPLS TE Link Optional TLV IXCD Data"; + container ixcd-switching-cap-type { + description + "Switching Cap type"; + uses IXCD-TLV-SWITCHINGCAP-VALUE-UNION; + } + leaf switching-cap { + type uint8; + description + "SCap"; + } + leaf rile-len-code { + type uint8; + description + "Rile LenCode"; + } + leaf fixed-scsi-count { + type uint32; + description + "Fixed SCSI count"; + } + leaf flex-scsi-count { + type uint32; + description + "Flexible SCSI count"; + } + list max-lspbw { + max-elements "8"; + description + "Max LSP bandwidth array"; + leaf entry { + type int64; + description + "Max LSP bandwidth array"; + } + } + } + + grouping MPLS-TEL-OPT-SRLG-VAL { + description + "MPLS TE Link Optional TLV SRLG Data"; + leaf srlg-len { + type uint32; + description + "Length of SRLG TLV"; + } + leaf num-srl-gs { + type uint32; + description + "Number of SRLG TLVs"; + } + list mplste-link-srlg-data { + description + "Value of SRLG TLV"; + leaf entry { + type uint32; + description + "Value of SRLG TLV"; + } + } + } + + grouping MPLS-TEL-OPT-BC-VAL { + description + "MPLS TE Link Optional TLV BC Data"; + leaf model-id { + type uint8; + description + "Allocation Model ID"; + } + leaf num-b-cs { + type uint32; + description + "Number of BC TLVs"; + } + list mplste-link-bc-bandwidth { + description + "Value of BC TLV"; + leaf entry { + type uint64; + description + "Value of BC TLV"; + } + } + } + + grouping MPLSTEL-TLV-VALUE-UNION { + description + "Value of TLVs"; + container bctlv-value { + when "../opaque-tlv-type = 'mpls-te-opt-tlv-type-bc'" { + description + "../OpaqueTLVType = 'MPLS_TE_OPT_TLV_TYPE_BC'"; + } + description + "Value of Bandwidth Constraints TLV"; + uses MPLS-TEL-OPT-BC-VAL; + } + container srlgtlv-value { + when "../opaque-tlv-type = 'mpls-te-opt-tlv-type-srlg'" { + description + "../OpaqueTLVType = 'MPLS_TE_OPT_TLV_TYPE_SRLG'"; + } + description + "Value of SRLG TLV"; + uses MPLS-TEL-OPT-SRLG-VAL; + } + container ixcdtlv-value { + when "../opaque-tlv-type = 'mpls-te-opt-tlv-type-ixcd'" { + description + "../OpaqueTLVType = 'MPLS_TE_OPT_TLV_TYPE_IXCD'"; + } + description + "Value of IXCD TLV"; + uses MPLS-TEL-OPT-IXCD-VAL; + } + container unidtlv-value { + when "../opaque-tlv-type = 'mpls-te-opt-tlv-type-uni-delay'" { + description + "../OpaqueTLVType = + 'MPLS_TE_OPT_TLV_TYPE_UNI_DELAY'"; + } + description + "Value of Uni Delay TLV"; + uses MPLS-TEL-OPT-UNID-VAL; + } + leaf opaque-tlv-type { + type Mpls-te-opt-tlv; + description + "OpaqueTLVType"; + } + } + + grouping OSPF-SH-MPLS-TEL-OPT-TLV { + description + "MPLS TE Link Optional TLVs"; + leaf mplste-link-opt-tlv-type { + type Mpls-te-opt-tlv; + description + "Type of Opt TLV"; + } + leaf mplste-link-opt-tlv-len { + type uint16; + description + "Length of Opt TLV"; + } + list mplste-link-opt-tlv-value { + description + "Value of Opt TLV"; + uses MPLSTEL-TLV-VALUE-UNION; + } + } + + grouping OSPF-SH-MPLS-IXCD-CAP { + description + "Link switching capability"; + leaf link-switching-capability { + type uint8; + description + "Link Switching Capability value"; + } + leaf link-encoding { + type uint8; + description + "Link Encoding value"; + } + leaf minimum-lsp-bw { + type uint64; + units "byte/s"; + description + "Minimum LSP bandwidth (bytes/s)"; + } + leaf link-mtu { + type uint16; + units "byte"; + description + "Link MTU size (bytes)"; + } + list maximum-lsp-bw-per-priority { + max-elements "8"; + description + "Maximum LSP bandwidth for each priority + + (bytes/s)"; + leaf entry { + type uint64; + units "byte/s"; + description + "Maximum LSP bandwidth for each priority + + (bytes/s)"; + } + } + } + + grouping OSPF-SH-MPLS-LINK-PROTOPRIO { + description + "Link protocol and priority capability"; + leaf link-protocol-capability { + type uint8; + description + "Protocol capability value of the link"; + } + leaf link-protocol-priority { + type uint8; + description + "Protocol priority value of the link"; + } + } + + grouping OSPF-SH-MPLS-BW { + description + "Available bandwidth for each priority level"; + list bw-per-priority { + max-elements "8"; + description + "Unreserved bandwidth for each priority (bytes/s)"; + leaf entry { + type uint64; + units "byte/s"; + description + "Unreserved bandwidth for each priority (bytes/s)"; + } + } + } + + grouping OSPF-SH-MPLS-LINK { + description + "OSPF MPLS-TE link Information"; + container global-unreserve-bw-per-priority { + description + "Global pool unreserved bandwidth for each + priority (bytes/s)"; + uses OSPF-SH-MPLS-BW; + } + container sub-pool-unreserve-bw-per-priority { + description + "Sub pool unreserved bandwidth for each priority + (bytes/s)"; + uses OSPF-SH-MPLS-BW; + } + container link-protocol-priority-capability { + description + "Link protocol and protocol priority capability + details"; + uses OSPF-SH-MPLS-LINK-PROTOPRIO; + } + container link-sw-capability { + description + "Link switching capability"; + uses OSPF-SH-MPLS-IXCD-CAP; + } + container extended-admin-group-list { + description + "Extended Admin Group"; + uses OSPF-SH-MPLS-EAG; + } + leaf new-link { + type boolean; + description + "If true, Link is new"; + } + leaf fragment-id { + type uint32; + description + "Fragment ID for this link"; + } + leaf mpls-link-instance { + type uint32; + description + "Link instance"; + } + leaf mpls-link-type { + type Link-subnet; + description + "Type of link"; + } + leaf neighbor-link-id { + type inet:ipv4-address; + description + "Link ID of the neighbor"; + } + leaf link-address { + type inet:ipv4-address; + description + "The local interface address"; + } + leaf neighbor-ip-address { + type inet:ipv4-address; + description + "IP address of the neighbor"; + } + leaf igp-metric { + type uint32; + description + "Link IGP metric"; + } + leaf te-metric { + type uint32; + description + "Link TE metric"; + } + leaf maximum-link-bw { + type uint64; + units "byte/s"; + description + "Maximum link bandwidth (bytes/s)"; + } + leaf maximum-link-reservable-bw { + type uint64; + units "byte/s"; + description + "Maximum link global pool reservable bandwidth + (bytes/s)"; + } + leaf maximum-link-sub-reservable-bw { + type uint64; + units "byte/s"; + description + "Maximum link subpool reservable bandwidth + (bytes/s)"; + } + leaf priority-count { + type int32; + description + "Number of priorities."; + } + leaf affinity { + type uint32; + description + "Affinity bits"; + } + leaf output-interface-id { + type uint32; + description + "Outgoing interface ID"; + } + leaf input-interface-id { + type uint32; + description + "Incoming interface ID"; + } + leaf dste-in-use { + type boolean; + description + "A DS-TE Allocation Model in use"; + } + leaf dste-allocation-model-id { + type Igpte-lib-bw-model; + description + "DS-TE Allocation Model ID"; + } + leaf number-of-optional-tl-vs { + type uint8; + description + "Number of Optional TLVs"; + } + list mplste-link-opt-tlv { + description + "List of Optional TLVs"; + uses OSPF-SH-MPLS-TEL-OPT-TLV; + } + } + + grouping OSPF-SH-MPLS { + description + "OSPF MPLS-TE Information"; + leaf mpls-te-router-id { + type inet:ipv4-address; + description + "OSPF MPLS-TE router ID"; + } + leaf mpls-te-enabled { + type boolean; + description + "If true, MPLS-TE enabled in area"; + } + leaf mpls-te-initialized { + type boolean; + description + "If true, MPLS-TE initialized in the area"; + } + leaf mpls-te-area-id { + type string { + length "0..16"; + } + description + "Area ID string in decimal or dotted decimal + format"; + } + leaf mpls-te-area-instance { + type uint32; + description + "Area information instance"; + } + leaf mpls-te-router-address { + type inet:ipv4-address; + description + "MPLS-TE router address"; + } + leaf mpls-te-next-fragment-id { + type uint32; + description + "Next MPLS-TE fragment ID"; + } + leaf spacious-fragment { + type boolean; + description + "If true, fragment has space for next link"; + } + list mpls-te-link { + description + "MPLS-TE links in the area"; + uses OSPF-SH-MPLS-LINK; + } + list mpls-te-fragment { + description + "MPLS TE fragments in the area"; + uses OSPF-SH-MPLS-FRAGMENT; + } + } + + grouping OSPF-SH-SR-POLICY { + description + "Details of OSPF SR Policy"; + leaf policy-name { + type string; + description + "Name of the SR Policy"; + } + leaf policy-if-handle { + type xr:Interface-name; + description + "Interface handle of the SR Policy"; + } + leaf policy-metric { + type int32; + description + "Metric of the SR Policy"; + } + leaf policy-bsid { + type uint32; + description + "Bsid of the SR Policy"; + } + leaf policy-metric-mode { + type Ospf-sr-pol-metric-mode; + description + "Metric mode of the SR Policy"; + } + leaf policy-is-sspf { + type boolean; + description + "Whether SR Policy is Strict SPF"; + } + leaf policy-is-autoroute-include { + type boolean; + description + "Whether SR Policy is autoroute Include"; + } + leaf policy-state-is-valid { + type boolean; + description + "Whether SR Policy State is valid"; + } + leaf policy-state-is-stale { + type boolean; + description + "Whether SR Policy State is stale"; + } + leaf policy-state-is-ifh-error { + type boolean; + description + "Whether SR Policy State is IF Handle error"; + } + leaf policy-state-is-idb-pending { + type boolean; + description + "Whether SR Policy State is IDB pending"; + } + leaf policy-update-timestamp { + type uint32; + description + "Timestamp when SR Policy was updated"; + } + } + + grouping OSPF-SH-SR-ENDPOINT { + description + "OSPF SR Policy End point"; + leaf sr-endpoint { + type inet:ipv4-address; + description + "SR Endpoint Address"; + } + leaf sr-router-id { + type uint32; + description + "SR Endpoint Router ID"; + } + leaf sr-area-id-string { + type string; + description + "SR Endpoint Area ID"; + } + leaf sr-policy-count { + type uint32; + description + "Count of SR Policies"; + } + leaf sr-valid-policy-count { + type uint32; + description + "Count of Valid SR Policies"; + } + leaf sr-endp-state-is-valid { + type boolean; + description + "Whether SR Endpoint state is valid"; + } + leaf sr-endp-state-is-stale { + type boolean; + description + "Whether SR Endpoint state is stale"; + } + leaf sr-endp-state-is-unres { + type boolean; + description + "Whether SR Endpoint state is unresolved"; + } + leaf sr-endp-resolution-fail-reason { + type Ospf-sr-endp-res-fail-reason; + description + "Reason for SR Endpoint resolution failure"; + } + list sr-policy { + description + "List of SR Policies"; + uses OSPF-SH-SR-POLICY; + } + } + + grouping OSPF-SH-ADJ-SID-PATH-INFO { + description + "OSPF SR Adjacency SID Path Information"; + leaf interface-handle { + type xr:Interface-name; + description + "SR Adj SID Interface Handle"; + } + leaf nexthop-ip-address { + type inet:ipv4-address; + description + "SR Adj SID Nexthop Neighbor IP Address"; + } + leaf load-metric { + type uint32; + description + "SR Adj SID Path metric"; + } + list label-stack { + description + "SR Adj SID Label Stack"; + leaf entry { + type uint32; + description + "SR Adj SID Label Stack"; + } + } + } + + grouping OSPF-SH-ADJ-SID-NBR-ASSOC { + description + "OSPF SR Adjacency SID Neighbor Association + Information"; + container primary-path-info { + description + "SR Adj SID Primary path info"; + uses OSPF-SH-ADJ-SID-PATH-INFO; + } + container backup-path-info { + description + "SR Adj SID Backup path info"; + uses OSPF-SH-ADJ-SID-PATH-INFO; + } + leaf neighbor-id { + type inet:ipv4-address; + description + "SR Adj SID Neighbor ID"; + } + leaf sr-adj-sid-is-protected { + type boolean; + description + "SR Adj SID is protected"; + } + leaf sr-adj-sid-has-backup { + type boolean; + description + "SR Adj SID has backup path"; + } + } + + grouping OSPF-SH-ADJ-SID { + description + "OSPF SR Adjacency SID Information"; + leaf sr-adjacency-sid { + type uint32; + description + "SR Adjacency SID"; + } + leaf sr-adj-sid-is-configured { + type boolean; + description + "SR Adj SID is configured"; + } + leaf is-deleted-adjacency-protected { + type boolean; + description + "Is this adj-sid being protected after adjacency + deleted"; + } + leaf deleted-adjacency-protection-timer { + type uint32; + description + "Remaining time for deleted adjacency protection + (sec)"; + } + list sr-adj-sid-neighbor { + description + "SR Adj SID Neighbor List"; + uses OSPF-SH-ADJ-SID-NBR-ASSOC; + } + } + + grouping OSPF-SH-LSA-SUM { + description + "LSA Summary Entry"; + leaf header-lsa-type { + type Lsa; + description + "LSA Type"; + } + leaf header-lsa-age { + type uint16; + description + "Age of the LSA (s)"; + } + leaf header-ls-id { + type inet:ipv4-address; + description + "LSA ID"; + } + leaf header-advertising-router { + type inet:ipv4-address; + description + "Router ID of the Advertising Router"; + } + leaf header-sequence-number { + type uint32; + description + "Current LSA sequence number"; + } + leaf header-lsa-checksum { + type uint16; + description + "Checksum of the LSA"; + } + } + + grouping OSPF-SH-FLOOD-LIST { + description + "OSPF Flood List"; + leaf flood-interface-name { + type xr:Interface-name; + description + "Name of the Interface for which flood list is + retrieved"; + } + leaf flood-pacing-timer { + type uint32; + description + "Time until next LS update due (ms)"; + } + leaf flood-lsa-count { + type uint32; + description + "Number of LSAs currently being flooded"; + } + list area-flood { + description + "Area scope floodlist"; + uses OSPF-SH-LSA-SUM; + } + list as-flood { + description + "AS scope floodlist"; + uses OSPF-SH-LSA-SUM; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub3.yang new file mode 100644 index 000000000..ed6c910be --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper-sub3.yang @@ -0,0 +1,1611 @@ +submodule Cisco-IOS-XR-ipv4-ospf-oper-sub3 { + belongs-to Cisco-IOS-XR-ipv4-ospf-oper { + prefix Cisco-IOS-XR-ipv4-ospf-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-ospf-oper-sub2 { + revision-date 2021-10-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ospf package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-01 { + description + "Added Extended Inter-Area ASBR LSA, Added Algo label information received from RIB in Extended Prefix LSA"; + semver:module-version "2.2.1m"; + } + revision 2021-06-01 { + description + "Added changes to show if a FAD contains unknown parameters, option to enable SR forwarding MPLS, changes in neighbor sham link or virtual link name"; + semver:module-version "2.2.0"; + } + revision 2020-03-19 { + description + "Added changes for Delay Normalization + 2020-02-04 + Added changes for Conditional Advertising + 2019-09-30 + Added changes for Weighted SRLG"; + semver:module-version "2.0.0"; + } + revision 2019-07-26 { + description + "Added new fields in redistribution container to display more information."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-07 { + description + "Modified for Programmability 2.0"; + } + revision 2018-04-18 { + description + "Added keychain name to be displayed in show ospf interface bag"; + } + revision 2017-10-26 { + description + "Fixed some field name and values for better interpretation"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-02 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ospf-string-array { + type string; + description + "Ospf string array"; + } + + grouping OSPF-SH-IF-STATS-ENTRY { + description + "OSPF interface entry for statistics"; + leaf madj-intf { + type boolean; + description + "OSPF madj interface"; + } + leaf area-id { + type uint32; + description + "OSPF area id"; + } + leaf area-id-str { + type string; + description + "OSPF aread id string"; + } + list if-stat { + description + "OSPF interface statistics"; + leaf entry { + type uint32; + description + "OSPF interface statistics"; + } + } + } + + grouping OSPF-SH-IF-STATS { + description + "OSPF interface statistics"; + leaf handle { + type xr:Interface-name; + description + "interface handle type"; + } + leaf if-name-str { + type string; + description + "interface name"; + } + list if-entry { + description + "interface entry"; + uses OSPF-SH-IF-STATS-ENTRY; + } + } + + grouping OSPF-SH-RAW-STATS { + description + "OSPF SH RAW STATS"; + leaf out-sent { + type uint32; + description + "Count of packets sent out on raw socket"; + } + leaf bytes-sent { + type uint32; + units "byte"; + description + "Count of bytes sent out on raw socket"; + } + leaf out-discarded-no-connection { + type uint32; + description + "Count of outgoing packets discarded due to + connection issues"; + } + leaf out-null-src-discarded { + type uint32; + description + "Count of outgoing packets discarded due to + source address or packet length issues"; + } + leaf out-no-pakbuf-discarded { + type uint32; + description + "Count of outgoing packets discarded due to + packet buffer issues"; + } + leaf out-ipv4-hdr-error-discarded { + type uint32; + description + "Count of outgoing packets discarded due to ipv4 + deader construction failure"; + } + leaf out-send-pak-error-discarded { + type uint32; + description + "Count of outgoing packets discarded due to send + failure"; + } + leaf in-received { + type uint32; + description + "Count of packets received on raw socket"; + } + leaf bytes-received { + type uint32; + units "byte"; + description + "Count of bytes received on raw socket"; + } + leaf short-msg-received { + type uint32; + description + "Count of received packets discarded due to + packet size too small"; + } + leaf in-no-memory-discarded { + type uint32; + description + "Count of received packets discarded due to + malloc failure"; + } + leaf in-raw-events { + type uint32; + description + "Count of incoming raw events"; + } + leaf disconnects { + type uint32; + description + "Count of raw sockets disconnected"; + } + leaf in-standby-discarded { + type uint32; + description + "Count of received packets discarded since + received on standby"; + } + leaf nsr-not-ready-discarded { + type uint32; + description + "Count of received packets discarded since NSR + not ready"; + } + leaf raw-connected { + type boolean; + description + "Whether raw socket connection is up"; + } + leaf shamlink-raw-connected { + type boolean; + description + "Whether shamlink raw socket connection is up"; + } + } + + grouping OSPF-SH-PROTOPKT-STATS { + description + "OSPF SH PROTOPKT STATS"; + leaf inputs { + type uint32; + description + "Total count of incoming packets"; + } + leaf input-hello { + type uint32; + description + "Total count of incoming hello packets"; + } + leaf input-db-descriptions { + type uint32; + description + "Total count of incoming Database description + packets"; + } + leaf input-db-descriptions-lsa { + type uint32; + description + "Total count of incoming Database description + packets with LSA headers"; + } + leaf input-requests { + type uint32; + description + "Total count of incoming Request packets"; + } + leaf input-requests-lsa { + type uint32; + description + "Total count of incoming Request packets with LSA + headers"; + } + leaf input-ls-updates { + type uint32; + description + "Total count of incoming LS Update packets"; + } + leaf input-ls-updates-lsa { + type uint32; + description + "Total count of incoming LS Update packets with + LSA headers"; + } + leaf input-ls-acks { + type uint32; + description + "Total count of incoming LS Acknowledgement + packets"; + } + leaf input-ls-acks-lsa { + type uint32; + description + "Total count of incoming LS Acknowledgement + packets with LSA headers"; + } + leaf checksum-errors { + type uint32; + description + "Total count of incoming packets with checksum + errors"; + } + leaf input-auth-error { + type uint32; + description + "Total count of incoming packets with + authentication errors"; + } + leaf outputs { + type uint32; + description + "Total count of outgoing packets"; + } + leaf output-hellos { + type uint32; + description + "Total count of outgoing hello packets"; + } + leaf output-db-descriptions { + type uint32; + description + "Total count of outgoing Database description + packets"; + } + leaf output-db-descriptions-lsa { + type uint32; + description + "Total count of outgoing Database description + packets with LSA headers"; + } + leaf output-requests { + type uint32; + description + "Total count of outgoing Request packets"; + } + leaf output-requests-lsa { + type uint32; + description + "Total count of outgoing Request packets with LSA + headers"; + } + leaf output-ls-updates { + type uint32; + description + "Total count of outgoing LS Update packets"; + } + leaf output-ls-updates-lsa { + type uint32; + description + "Total count of outgoing LS Update packets with + LSA headers"; + } + leaf output-ls-acks { + type uint32; + description + "Total count of outgoing LS Acknowledgement + packets"; + } + leaf output-ls-acks-lsa { + type uint32; + description + "Total count of outgoing LS Acknowledgement + packets with LSA headers"; + } + leaf outputs-auth-error { + type uint32; + description + "Total count of outgoing packets with + authentication errors"; + } + leaf input-hello-db-descriptions { + type uint32; + description + "Total count of incoming Database description + packets received on hello thread"; + } + leaf input-hello-ls-requests { + type uint32; + description + "Total count of incoming Request packets received + on hello thread"; + } + leaf input-hello-ls-updates { + type uint32; + description + "Total count of incoming LS Update packets + received on hello thread"; + } + leaf input-hello-ls-acks { + type uint32; + description + "Total count of incoming LS Acknowledgement + packets received on hello thread"; + } + } + + grouping OSPF-SH-TE-STATS { + description + "OSPF SH TE STATS"; + leaf te-connected { + type boolean; + description + "Whether connection to TE is up or not"; + } + leaf control-disconnects { + type uint32; + description + "Count of Control disconnects"; + } + leaf te-disconnects { + type uint32; + description + "Count of Control disconnects"; + } + leaf adj-gets { + type uint32; + description + "Count of Adjacencies received"; + } + leaf link-floods { + type uint32; + description + "Count of Link floods received"; + } + leaf link-fragment-floods { + type uint32; + description + "Count of Link fragments received"; + } + leaf lsp-gets { + type uint32; + description + "Count of LSP Gets received"; + } + leaf tunnel-announces { + type uint32; + description + "Count of tunnels announced"; + } + leaf total-tunnels { + type uint32; + description + "Total count of tunnels"; + } + leaf control-batch-reads { + type uint32; + description + "Count of reads of control batch"; + } + leaf control-batch-writes { + type uint32; + description + "Count of writes of control batch"; + } + leaf link-batch-reads { + type uint32; + description + "Count of reads of link batch"; + } + leaf link-batch-writes { + type uint32; + description + "Count of writes of link batch"; + } + leaf adj-changes { + type uint32; + description + "Count of adjacency changes"; + } + leaf fragment-deletes { + type uint32; + description + "Count of deleted fragments"; + } + leaf fragment-announces { + type uint32; + description + "Count of fragments announced"; + } + leaf data-transfer-completes { + type uint32; + description + "Count of data transfer complete event"; + } + leaf pce-listen { + type uint32; + description + "Count of PCE listen TRUE events "; + } + leaf pce-stoplisten { + type uint32; + description + "Count of PCE listen FALSE events "; + } + leaf pce-flood { + type uint32; + description + "Count of PCE flood events"; + } + leaf pce-get { + type uint32; + description + "Count of PCE get events"; + } + leaf pce-border-router-lookup { + type uint32; + description + "Count of PCE Border Router Lookup requests"; + } + leaf pce-border-router-lookup-destinations { + type uint32; + description + "Count of destinations looked up by PCE Border + Router Lookup requests"; + } + leaf pce-failure-responses { + type uint32; + description + "Count of PCE failures encountered"; + } + leaf pce-node-announce-batches { + type uint32; + description + "Count of PCE Node Announce batches"; + } + leaf pce-node-delete-batches { + type uint32; + description + "Count of PCE Node Announce batches"; + } + leaf pce-node-announce { + type uint32; + description + "Count of total PCE Node Announces"; + } + leaf pce-node-delete { + type uint32; + description + "Count of total PCE Node Deletions"; + } + leaf pce-node-send-fails { + type uint32; + description + "Count of PCE send failures"; + } + leaf te-sr-path-reg-idt-received { + type boolean; + description + "Whether IDT registrations received for SR TE + paths"; + } + leaf te-sr-idt-sent { + type boolean; + description + "Whether IDT message is sent for SR TE"; + } + leaf sr-area-enabled { + type uint32; + description + "Count of SR enabled areas"; + } + } + + grouping OSPF-SH-IPFRR-STATS { + description + "OSPF SH IPFRR STATS"; + leaf fs-paths { + type uint32; + description + "Number of IPFRR paths"; + } + leaf fs-paths-eligible { + type uint32; + description + "Number of paths enabled for protection"; + } + leaf fs-paths-protected { + type uint32; + description + "Number of paths protected"; + } + } + + grouping NSR-PL-RECV-DROP-ARRAY { + description + "Drop count while receiving messages"; + list nsr-pl-recv-drop-array { + max-elements "16"; + description + "nsr pl recv drop array"; + leaf entry { + type uint32; + description + "entry"; + } + } + } + + grouping NSR-PL-SEND-DROP-ARRAY { + description + "Drop count while sending messages"; + list nsr-pl-send-drop-array { + max-elements "7"; + description + "nsr pl send drop array"; + leaf entry { + type uint32; + description + "entry"; + } + } + } + + grouping NSR-PL-CLIENT-STATS-TYPE { + description + "NSR PL stats information"; + leaf prio-queue-level { + type string { + length "0..32"; + } + description + "npl priority queue level"; + } + list num-sent { + max-elements "5"; + description + "Total sent"; + leaf entry { + type uint64; + description + "Total sent"; + } + } + list num-recv { + max-elements "6"; + description + "Total recvd"; + leaf entry { + type uint64; + description + "Total recvd"; + } + } + list num-sent-drop { + max-elements "5"; + description + "Sent Error/drops"; + uses NSR-PL-SEND-DROP-ARRAY; + } + list num-recv-drop { + max-elements "6"; + description + "Recv Errors/drops"; + uses NSR-PL-RECV-DROP-ARRAY; + } + } + + grouping OSPF-SH-NCD-STATS { + description + "OSPF SH NCD STATS"; + list npl-priority { + max-elements "2"; + description + "NPL Library statistics for each priority level"; + uses NSR-PL-CLIENT-STATS-TYPE; + } + } + + grouping OSPF-SH-STATS-RIB-THREAD { + description + "OSPF SH STATS RIB THREAD"; + container rib-base-time { + description + "Base time stamp needed to calculate the current + time "; + uses BAG-TIMESPEC; + } + container spf-suspend-time-start { + description + "Last time SPF suspended start time"; + uses OSPF-SH-TIME; + } + container spf-suspend-time-stop { + description + "Last time SPF suspended Stop time"; + uses OSPF-SH-TIME; + } + leaf is-thread-active { + type boolean; + description + "RIB thread active indicator"; + } + leaf last-dequeue-time { + type uint64; + description + "Timestamp of last dequeue of RIB work queue"; + } + leaf first-enqueue-time { + type uint64; + description + "Timestamp of first enqueue of RIB work queue"; + } + leaf current-queue-length { + type int32; + description + "Work queue length at this instance"; + } + leaf peak-queue-length { + type int32; + description + "Largest work queue length so far"; + } + leaf total-queued-msg { + type uint32; + description + "Total number of queued messages"; + } + leaf total-dqueued-msg { + type uint32; + description + "Total number of dequeued messages"; + } + leaf rib-version { + type uint32; + description + "Rib version, indicating the number of times OSPF + has connected with RIB. The value will be + greater than 1 if any disconnect and reconnect + happened."; + } + leaf rib-packets-sent { + type uint32; + description + "Total number of batches sent to RIB"; + } + leaf rib-signals { + type uint32; + description + "Number of signals for RIB thread"; + } + leaf rib-send-errors { + type uint32; + description + "Number of RIB batch send errors"; + } + leaf rib-queue-errors { + type uint32; + description + "Number of RIB batch queueing errors"; + } + leaf rib-prefix-limit-errors { + type uint32; + description + "Number of RIB batch prefix limit errors"; + } + leaf rib-dequeue-errors { + type uint32; + description + "Number of RIB batch dequeueing errors"; + } + leaf rib-empty-batches { + type uint32; + description + "Number of RIB of empty batches"; + } + leaf rib-drops-before-sending { + type uint32; + description + "Number of RIB batches dropped before sending"; + } + leaf rib-drops-after-sending { + type uint32; + description + "Number of RIB batches dropped after sending"; + } + leaf rib-connection-drops { + type uint32; + description + "Number of RIB batches dropped"; + } + leaf rib-forward-references { + type uint32; + description + "Number of forward tbl. references"; + } + leaf priority-level { + type string { + length "0..40"; + } + description + "Priority of these batches"; + } + leaf rib-base-clock { + type uint64; + description + "Base clock stamp needed to calculate the current + time"; + } + leaf spf-suspend-count { + type uint32; + description + "Number of times SPF suspended"; + } + } + + grouping OSPF-SH-STATS-WORK-QUEUES { + description + "OSPF SH STATS WORK QUEUES"; + container internal-work-queue { + description + "Router to RIB thread queue"; + uses OSPF-SH-STATS-RIB-THREAD; + } + list rib-queue { + max-elements "8"; + description + "Primary work queues"; + uses OSPF-SH-STATS-RIB-THREAD; + } + } + + grouping OSPF-EDM-RIB-NODE { + description + "OSPF EDM RIB NODE"; + leaf node-id { + type uint32; + description + "node ID of the Line Card"; + } + leaf intf-count { + type uint16; + description + "Number of OSPF Interfaces"; + } + leaf notif-count { + type uint8; + description + "RIB notification count"; + } + leaf ugmerge { + type boolean; + description + "RIB UG merge state of the LC"; + } + leaf node-death { + type boolean; + description + "RIB node death state of LC"; + } + leaf rib-event { + type boolean; + description + "RIB event received for LC"; + } + } + + grouping OSPF-SH-STATS-RIB-LC { + description + "OSPF SH STATS RIB LC"; + leaf node-count { + type uint8; + description + "Number of nodes"; + } + list nodes { + max-elements "64"; + description + "Array of RIB Node info"; + uses OSPF-EDM-RIB-NODE; + } + } + + grouping BAG-TIMESPEC { + description + "BAG TIMESPEC"; + leaf second { + type uint32; + description + "Second"; + } + leaf nanosecond { + type uint32; + description + "Nanosecond"; + } + } + + grouping OSPF-NSR-ERR-INFO-BAG { + description + "OSPF NSR ERR INFO BAG"; + container last-err-time { + description + "Time this error was last hit"; + uses BAG-TIMESPEC; + } + leaf err-count { + type int32; + description + "Count this error hit during the Nsr Revision"; + } + leaf err-info-string { + type string; + description + "Error Information"; + } + } + + grouping OSPF-NSR-ERR-BLOCK-BAG { + description + "OSPF NSR ERR BLOCK BAG"; + leaf nsr-revisionversion { + type uint32; + description + "Current Revision version of NSR"; + } + leaf total-errors { + type int32; + description + "Total errors for this nsr revision version"; + } + list nsr-error-info { + description + "List of erros"; + uses OSPF-NSR-ERR-INFO-BAG; + } + } + + grouping OSPF-ISSU-MILESTONE-BAG { + description + "OSPF ISSU MILESTONE BAG"; + leaf milestone-name { + type string; + description + "Name of the milestone achieved"; + } + leaf milestone-status { + type string; + description + "Status of the milestone achieved"; + } + } + + grouping OSPF-SH-NSR-STATS-PRI { + description + "Statistics for a priority queue"; + leaf nsr-priority { + type uint32; + description + "Priority value"; + } + leaf nsr-quantum { + type uint8; + description + "Number of events processed per pulse for this + priority"; + } + leaf nsr-remaining-quantum { + type uint8; + description + "Number of events remaining to be processed"; + } + leaf nsr-events-in-queue { + type uint16; + description + "Number of events queued to the thread for this + priority"; + } + leaf nsr-max-events { + type uint16; + description + "Max cap on the number of pending events"; + } + leaf nsr-peak-queue-length { + type uint16; + description + "Queue length of pending events peak value so far + for this priority"; + } + leaf nsr-events-queued { + type uint64; + description + "Number of events queued on this priority since + start/clear"; + } + leaf nsr-enqueue-fails { + type uint64; + description + "Number of enqueue failures since start/clear"; + } + leaf nsr-events-dequeued { + type uint64; + description + "Number of events dequeued on this pri since + start/clear"; + } + } + + grouping OSPF-SH-NSR-SCHED-STATS { + description + "NSR scheduling statistics"; + leaf nsr-pulse-quantum { + type int32; + description + "Number of events processed per pulse"; + } + leaf nsr-events-pending { + type uint32; + description + "Total events pending processing across all + priority buckets"; + } + leaf nsr-events-tx { + type uint64; + description + "Number of events queued to the thread"; + } + leaf nsr-events-rx { + type uint64; + description + "Number of events processed in the thread"; + } + leaf nsr-bad-pulses-rx { + type uint64; + description + "Spurious pulses received in the the thread"; + } + leaf nsr-good-pulses-rx { + type uint64; + description + "Good pulses received in the the thread"; + } + leaf nsr-pulses-tx { + type uint64; + description + "Number of pulses sent to the thread"; + } + leaf nsr-pulses-tx-fails { + type uint64; + description + "Number of pulse send fails"; + } + list nsr-priority { + max-elements "3"; + description + "Statistics for each priority queue"; + uses OSPF-SH-NSR-STATS-PRI; + } + } + + grouping OSPF-SH-NSR-STATS { + description + "OSPF NSR statistics"; + container nsr-thread-scheduler-stats { + description + "NSR thread scheduler statistics information"; + uses OSPF-SH-NSR-SCHED-STATS; + } + container nsr-router-thread-scheduler-stats { + description + "NSR Router thread scheduler statistics + information"; + uses OSPF-SH-NSR-SCHED-STATS; + } + leaf nsr-revision { + type int32; + description + "NSR Revision number"; + } + leaf nsr-fsm-state { + type int32; + description + "Current state of NSR"; + } + leaf nsr-version { + type uint32; + description + "Version Number of NSR"; + } + leaf nsr-node-id { + type uint32; + description + "Node ID"; + } + leaf nsr-peer-version { + type uint32; + description + "Peer version of NSR"; + } + leaf nsr-peer-node-id { + type uint32; + description + "Node ID of the peer"; + } + leaf nsr-peer-end-point-length { + type uint32; + description + "Length of the endpoint retrieved from peer"; + } + leaf nsr-peer-end-point-version { + type uint32; + description + "Version of the endpoint retrieved from peer"; + } + leaf nsr-local-end-point-length { + type uint32; + description + "Length of local endpoint"; + } + leaf nsr-local-end-point-version { + type uint32; + description + "Version of local endpoint"; + } + leaf nsr-fabric-mtu { + type uint32; + description + "MTU of Fabric"; + } + leaf nsr-neighbor-qad-queue-id { + type uint32; + description + "QAD Queue ID for Neighbor information"; + } + leaf nsr-lsa-qad-queue-id { + type uint32; + description + "QAD Queue ID for LSA information"; + } + leaf nsr-neighbor-qad-meta-data-count { + type uint32; + description + "QAD metadata Information for Neighbor"; + } + leaf nsr-lsa-qad-meta-data-count { + type uint32; + description + "QAD metadata Information for LSA"; + } + leaf nsr-neighbor-init-sync-pend-count { + type int32; + description + "Pending message count for Initial neighbor + synchronization"; + } + leaf nsr-lsa-init-sync-pend-count { + type int32; + description + "Pending message count for Initial lsa + synchronization"; + } + leaf nsr-neighbor-seq-no { + type uint32; + description + "Sequence number used for neighbor + synchronization"; + } + leaf nsr-interface-seq-no { + type uint32; + description + "Sequence number used for interface + synchronization"; + } + leaf nsr-timerquantum { + type int32; + description + "Number of expired timers to process per event + manager call"; + } + leaf nsr-peer-end-point-handle { + type uint64; + description + "Remote endpoint handle"; + } + leaf nsr-local-endpoint-handle { + type uint64; + description + "Handle/id of local endpoint"; + } + leaf nsr-connect-attempts { + type uint64; + description + "Count of LWN connection attempts"; + } + leaf nsr-connect-failures { + type uint64; + description + "Count of LWN connection failures"; + } + leaf nsr-open-event-count { + type uint64; + description + "Count of LWN connection open events"; + } + leaf nsr-close-event-count { + type uint64; + description + "Count of LWN connection close events"; + } + leaf nsr-error-event-count { + type uint64; + description + "Count of LWN connection error events"; + } + leaf nsr-peer-end-points { + type yang:hex-string; + description + "Array of remote endpoints"; + } + leaf nsr-local-end-points { + type yang:hex-string; + description + "Array of local endpoints"; + } + list nsr-fsm-flag { + description + "Nsr Fsm Flags information"; + leaf entry { + type Ospf-string-array; + description + "Nsr Fsm Flags information"; + } + } + list nsr-fsm-running-timer { + description + "Nsr Fsm Running Timers"; + leaf entry { + type Ospf-string-array; + description + "Nsr Fsm Running Timers"; + } + } + list nsr-issu-milestone { + description + "Nsr Issu Milestones information"; + uses OSPF-ISSU-MILESTONE-BAG; + } + list nsr-err-history { + description + "Nsr Error History List information"; + uses OSPF-NSR-ERR-BLOCK-BAG; + } + } + + grouping OSPF-SH-RIB-BATCH { + description + "RIB interaction statistics for a priority level"; + leaf batches-sent { + type uint32; + description + "Number of batches sent to RIB "; + } + leaf routes-sent { + type uint32; + description + "Number of routes updates sent to RIB "; + } + leaf routes-pending { + type uint32; + description + "Number of routes waiting to be sent to RIB"; + } + leaf max-routes { + type uint32; + description + "Max number of routes in a batch"; + } + leaf paths-sent { + type uint32; + description + "Number of paths (add+delete) sent to RIB"; + } + leaf paths-pending { + type uint32; + description + "Number of paths waiting to be sent to RIB"; + } + leaf paths-added { + type uint32; + description + "Number of paths added (pending+sent) to RIB "; + } + leaf path-add-errors { + type uint32; + description + "Number of paths add errors"; + } + leaf path-deletions { + type uint32; + description + "Number of paths deletions (pending+sent) to RIB"; + } + leaf path-deletion-errors { + type uint32; + description + "Number of paths deletion errors"; + } + leaf lfas-pending { + type uint32; + description + "Number of LFAs waiting to be sent to RIB"; + } + leaf lfas-added { + type uint32; + description + "Number of LFAs added to the RIB"; + } + leaf lfa-deletions { + type uint32; + description + "Number of LFAs deleted from RIB"; + } + leaf lfas-sent { + type uint32; + description + "Number of LFAs sent to the RIB"; + } + leaf priority-level { + type string { + length "0..40"; + } + description + "Priority Level Name string"; + } + } + + grouping OSPF-SH-RIB-BATCH-PRIORITY-QUEUES { + description + "Statistics on RIB interaction"; + list priority-batch { + max-elements "8"; + description + "RIB interaction statistics for various priority + levels"; + uses OSPF-SH-RIB-BATCH; + } + } + + grouping OSPF-EDM-AREA-SUMM { + description + "OSPF SPF statistics of an Area"; + leaf area-id { + type uint32; + description + "Area ID in OSPF"; + } + leaf spf-count { + type uint32; + description + "Count of SPFs in this area"; + } + } + + grouping OSPF-HEADER-INFO { + description + "OSPF SPF information header"; + leaf router-id { + type inet:ipv4-address; + description + "OSPF router identifier"; + } + leaf spf-count { + type uint32; + description + "Count of SPFs in this area"; + } + list area-summ { + description + "SPF details of the area"; + uses OSPF-EDM-AREA-SUMM; + } + } + + grouping OSPF-EDM-SPF-AREA-STATS { + description + "SPF statistics of the Area"; + container spf-time { + description + "Time taken for various stages of SPF"; + uses OSPF-SPF-TIME; + } + leaf area-id { + type uint32; + description + "OSPF area id"; + } + list lsa-type-count { + max-elements "7"; + description + "Array of Count of LSA changes indexed by LSA + + Type"; + leaf entry { + type uint32; + description + "Array of Count of LSA changes indexed by LSA + + Type"; + } + } + } + + grouping OSPF-LSA-CHANGE { + description + "Details of LSA change that triggered the SPF"; + leaf area-id { + type uint32; + description + "Area where LSA got changed"; + } + leaf advertising-router { + type inet:ipv4-address; + description + "Advertising Router of the changed LSA"; + } + leaf ls-id { + type inet:ipv4-address; + description + "LS ID of the changed LSA"; + } + leaf ls-type { + type uint8; + description + "Type of the changed LSA"; + } + leaf is-flush { + type boolean; + description + "Whether it is a flushed LSA"; + } + } + + grouping OSPF-SPF-TIME { + description + "Time taken for various stages of SPF"; + leaf time-taken-dijkstra { + type uint32; + description + "Time taken for executing Dijkstra Algorithm"; + } + leaf time-taken-intra-prefix { + type uint32; + description + "Time taken for Intra Area Prefix calculations"; + } + leaf time-taken-intra-prefix-deletion { + type uint32; + description + "Time taken for Intra Area Prefix deletions"; + } + leaf time-taken-inter-prefix { + type uint32; + description + "Time taken for Inter Area Prefix calculations"; + } + leaf time-taken-inter-prefix-deletion { + type uint32; + description + "Time taken for Inter Area Prefix deletions"; + } + leaf time-taken-external-prefix { + type uint32; + description + "Time taken for Type 5/7 Prefix calculations"; + } + leaf time-taken-external-prefix-deletion { + type uint32; + description + "Time taken for Type 5/7 Prefix deletions"; + } + } + + grouping OSPF-RUNTIME-STATS { + description + "SPF runtime statistics of OSPF"; + container gbl-spf-time { + description + "Time taken for SPF"; + uses OSPF-SPF-TIME; + } + leaf spf-start-time { + type uint32; + description + "Time when SPF started"; + } + leaf lsa-change-count { + type int16; + description + "Count of changed LSAs"; + } + leaf spf-number { + type uint8; + description + "SPF ID"; + } + list lsa-info { + max-elements "5"; + description + "Details of changed LSAs"; + uses OSPF-LSA-CHANGE; + } + list area-stat { + description + "SPF Statistics of this area"; + uses OSPF-EDM-SPF-AREA-STATS; + } + } + + grouping OSPF-SH-STAT-PARTIAL { + description + "Partial SPF statistics"; + container start-time { + description + "Time elapsed since last Partial SPF run"; + uses OSPF-SH-TIME; + } + container duration { + description + "Time taken for the this Partial SPF calculation"; + uses OSPF-SH-TIME; + } + leaf advertising-router-id { + type uint32; + description + "Advertising Router ID of the changed LSA that + triggered this partial SPF"; + } + leaf destination-count { + type uint32; + description + "Number of LSAs changed by this advertising + router that is being handled in this partial SPF"; + } + leaf destination-address { + type uint32; + description + "Route prefix changed in this partial SPF"; + } + } + + grouping OSPF-SH-STAT-INTRA { + description + "Intra-area SPF statistics"; + container start-time { + description + "Time elapsed since last Intra SPF run"; + uses OSPF-SH-TIME; + } + container duration { + description + "Time taken for the this Intra SPF calculation"; + uses OSPF-SH-TIME; + } + leaf area-id { + type string; + description + "Area ID in OSPF"; + } + leaf change-flags { + type uint16; + description + "Flags indicating changes that triggered this SPF"; + } + } + + grouping OSPF-SH-STATS-SPF { + description + "SPF statistics of OSPF"; + container spf-header { + description + "SPF Header information"; + uses OSPF-HEADER-INFO; + } + list runtime { + description + "Time taken for the Intra-area SPF run"; + uses OSPF-SH-STAT-INTRA; + } + list summary-runtime { + description + "Time taken for the summary calculation"; + uses OSPF-SH-STAT-PARTIAL; + } + list external-runtime { + description + "Time taken for the external calculation"; + uses OSPF-SH-STAT-PARTIAL; + } + list total-runtime { + description + "Time taken for entire route calculation"; + uses OSPF-RUNTIME-STATS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper.yang new file mode 100644 index 000000000..74555997b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ospf-oper.yang @@ -0,0 +1,1297 @@ +module Cisco-IOS-XR-ipv4-ospf-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-oper"; + prefix ipv4-ospf-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-ospf-oper-sub3 { + revision-date 2021-10-01; + } + include Cisco-IOS-XR-ipv4-ospf-oper-sub1 { + revision-date 2021-10-01; + } + include Cisco-IOS-XR-ipv4-ospf-oper-sub2 { + revision-date 2021-10-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-ospf package operational data. + + This module contains definitions + for the following management objects: + ospf: OSPF operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-01 { + description + "Added Extended Inter-Area ASBR LSA, Added Algo label information received from RIB in Extended Prefix LSA"; + semver:module-version "2.2.1m"; + } + revision 2021-06-01 { + description + "Added changes to show if a FAD contains unknown parameters, option to enable SR forwarding MPLS, changes in neighbor sham link or virtual link name"; + semver:module-version "2.2.0"; + } + revision 2020-03-19 { + description + "Added changes for Delay Normalization + 2020-02-04 + Added changes for Conditional Advertising + 2019-09-30 + Added changes for Weighted SRLG"; + semver:module-version "2.0.0"; + } + revision 2019-07-26 { + description + "Added new fields in redistribution container to display more information."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-07 { + description + "Modified for Programmability 2.0"; + } + revision 2018-04-18 { + description + "Added keychain name to be displayed in show ospf interface bag"; + } + revision 2017-10-26 { + description + "Fixed some field name and values for better interpretation"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-01-02 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ospf-prefix-length { + type uint32 { + range "0..32"; + } + description + "Ospf prefix length"; + } + + typedef Ospf-ls { + type enumeration { + enum "router" { + value 1; + description + "Router LSA"; + } + enum "network" { + value 2; + description + "Network LSA"; + } + enum "summary" { + value 3; + description + "Summary LSA"; + } + enum "asbr-summary" { + value 4; + description + "ASBR-Summary LSA"; + } + enum "external" { + value 5; + description + "External LSA"; + } + enum "nssa-external" { + value 7; + description + "NSSA External LSA"; + } + enum "opaque-link" { + value 9; + description + "Opaque LSALink Scope"; + } + enum "opaque-area" { + value 10; + description + "Opaque LSA Area Scope"; + } + enum "opaque-as" { + value 11; + description + "Opaque LSA AS Scope"; + } + } + description + "Ospf ls"; + } + + grouping ROUTE { + description + "Common node of route-table, + multicast-intact-route-table"; + list route { + description + "An OSPF route"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY; + } + } + + grouping FLOOD-LIST { + description + "Common node of flood-list-table, + flood-list-area-table"; + list flood { + key "interface-name"; + description + "Flooding information for a specific interface"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPF-SH-FLOOD-LIST; + } + } + + grouping BORDER-ROUTER-TABLE { + description + "Common node of default-vrf, vrf"; + container border-routers { + description + "Border router table"; + list border-router { + key "border-router-id"; + description + "Information for a particular border router"; + leaf border-router-id { + type inet:ipv4-address-no-zone; + description + "Router address"; + } + uses OSPF-SH-BORDER-ROUTER; + } + } + } + + grouping SEGMENT-ROUTING { + description + "Common node of default-vrf, vrf"; + container segment-routing { + description + "Container for Segment Routing"; + container adjacency-sids { + description + "Container for SR Adjacency SIDs"; + list adjacency-sid { + key "adj-sid"; + description + "SR Adj SID Bag"; + leaf adj-sid { + type uint32 { + range "0..1048575"; + } + description + "Adjacency SID"; + } + uses OSPF-SH-ADJ-SID; + } + } + container sr-endpoint-policies { + description + "Container for SR Policies"; + list sr-endpoint-policy { + key "endpoint-ip"; + description + "SR Endpoint Policy Bag"; + leaf endpoint-ip { + type inet:ip-address-no-zone; + description + "Endpoint IP Address"; + } + uses OSPF-SH-SR-ENDPOINT; + } + } + } + } + + grouping AREA-TABLE { + description + "Common node of default-vrf, vrf"; + container areas { + description + "Area table"; + list area { + key "area-id"; + description + "Container for per area data"; + container flood-list-area-table { + description + "Area specific flood list table"; + uses FLOOD-LIST; + } + container area-statistics { + description + "Container for Statistics"; + uses INTERFACE-STATS-TABLE; + } + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses NEIGHBOR-TABLE; + uses INTERFACE-BRIEF-TABLE; + uses REQUEST-LIST-TABLE; + uses RETRANSMISSION-LIST-TABLE; + uses NEIGHBOR-DETAIL-TABLE; + uses INTERFACE-TABLE; + } + } + } + + grouping INTERFACE-STATS-TABLE { + description + "Common node of statistics, area-statistics"; + container interface-stats-entries { + description + "Statistics innformation Interface table"; + list interface-stats-entry { + key "interface-name"; + description + "Statistics information for a specific interface"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPF-SH-IF-STATS; + } + } + } + + grouping STATISTICS { + description + "Common node of default-vrf, vrf"; + container statistics { + description + "Container for Statistics"; + container spf-stats { + description + "OSPF SPF statistics"; + uses OSPF-SH-STATS-SPF; + } + container rib-batch-stats { + description + "Stats concerning RIB route updates using the + Batching API"; + uses OSPF-SH-RIB-BATCH-PRIORITY-QUEUES; + } + container issu-stats { + description + "OSPF ISSU statistics"; + uses OSPF-SH-NSR-STATS; + } + container rib-lc-stats { + description + "OSPF RIB Linecard node information"; + uses OSPF-SH-STATS-RIB-LC; + } + container rib-thread-stats { + description + "OSPF RIB thread statistics"; + uses OSPF-SH-STATS-WORK-QUEUES; + } + container nsr-pl-stats { + description + "OSPF NSR packet library statistics"; + uses OSPF-SH-NCD-STATS; + } + container nsr-stats { + description + "OSPF NSR thread statistics"; + uses OSPF-SH-NSR-STATS; + } + container frr-stats { + description + "OSPF fast-reroute statistics"; + uses OSPF-SH-IPFRR-STATS; + } + container te-stats { + description + "OSPF TE IO statistics"; + uses OSPF-SH-TE-STATS; + } + container protocol-stats { + description + "OSPF Protocol statistics"; + uses OSPF-SH-PROTOPKT-STATS; + } + container raw-io-stats { + description + "OSPF RAW IO statistics"; + uses OSPF-SH-RAW-STATS; + } + uses INTERFACE-STATS-TABLE; + } + } + + grouping OSPF-SUMMARY { + description + "Common node of default-vrf, vrf"; + container ospf-summary { + description + "Fast-reroute topology information"; + uses OSPF-SH-STATS-AGGT; + } + } + + grouping PROCESS-INFORMATION { + description + "Common node of default-vrf, vrf"; + container process-information { + description + "Container for OSPF Process information"; + container protocol-areas { + description + "Protocol Area table"; + list protocol-area { + description + "Area information"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID if in integer format"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Area ID if in IP address format"; + } + uses OSPF-SH-PROTO-AREA; + } + } + container protocol-summary { + description + "Basic OSPF protocol information"; + uses OSPF-SH-PROTOCOL; + } + container redistributions { + description + "Redistribution information table"; + list redistribution { + description + "Redistribution information"; + leaf protocol-name { + type xr:Cisco-ios-xr-string; + description + "Name of the protocol being redistributed"; + } + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Process/Instance name of the protocol being + redistributed"; + } + uses OSPF-SH-REDIST; + } + } + container process-areas { + description + "Process Area table"; + list process-area { + description + "Detailed information for a particular area"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID if in integer format"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Area ID if in IP address format"; + } + uses OSPF-SH-AREA; + } + } + container process-summary { + description + "Basic OSPF summary information"; + uses OSPF-SH-SUMMARY; + } + } + } + + grouping ADJACENCY-INFORMATION { + description + "Common node of default-vrf, vrf"; + container adjacency-information { + description + "Container for OSPF Interfaces"; + uses NEIGHBOR-TABLE; + uses REQUEST-LIST-TABLE; + uses RETRANSMISSION-LIST-TABLE; + uses NEIGHBOR-DETAIL-TABLE; + } + } + + grouping RETRANSMISSION-LIST-TABLE { + description + "Common node of adjacency-information, area"; + container retransmissions { + description + "Retransmission list table"; + list retransmission { + description + "Retransmission list for a particular adjacency"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the neighbor"; + } + uses OSPF-SH-RETRANS-LIST; + } + } + } + + grouping LSA-SUMMARY-TABLE { + description + "Common node of database, database-area"; + container lsa-summaries { + description + "Link state advertisement summary table"; + list lsa-summary { + description + "LSA summary information"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + leaf ls-type { + type Ospf-ls; + description + "Link state type"; + } + leaf ls-id { + type inet:ipv4-address-no-zone; + description + "Link state ID"; + } + leaf advertising-router { + type inet:ipv4-address-no-zone; + description + "Router ID of the Advertising Router"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPF-SH-DATABASE; + } + } + } + + grouping ROUTE-INFORMATION { + description + "Common node of default-vrf, vrf"; + container route-information { + description + "Container for OSPF routing tables"; + container backup-routes { + description + "OSPF Route Table Including Backup Paths"; + list backup-route { + description + "OSPF route including backup paths"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY-BACKUP; + } + } + container multicast-intact-route-table { + description + "OSPF Route Table including multicast-intact + routes"; + uses ROUTE; + } + container multicast-intact-backup-routes { + description + "OSPF Route Table Including Multicast intact + Backup Paths"; + list multicast-intact-backup-route { + description + "OSPF route including multicast backup paths"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY-BACKUP; + } + } + container summary-information { + description + "OSPF route summary statistics"; + uses OSPF-SH-ROUTE-SUMMARY; + } + container connected-routes { + description + "OSPF Connected Route Table"; + list connected-route { + description + "This is a Connected route"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY; + } + } + container local-routes { + description + "OSPF Local Route Table"; + list local-route { + description + "This is a Local route"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY; + } + } + container route-areas { + description + "OSPF Area Route Table"; + list route-area { + key "area-id"; + description + "OSPF Area Route"; + container multicast-intact-backup-route-areas { + description + "OSPF Route Table Including Multicast Intace + Backup Paths in an area"; + list multicast-intact-backup-route-area { + description + "OSPF route including Multicast intact backup + paths"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY-BACKUP; + } + } + container connected-route-areas { + description + "OSPF Connected Route Table in an area"; + list connected-route-area { + description + "Connected route"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY; + } + } + container backup-route-areas { + description + "OSPF Route Table Including Backup Paths in an + area"; + list backup-route-area { + description + "OSPF route including backup paths"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY-BACKUP; + } + } + container route-area-informations { + description + "OSPF Area Route Entry"; + list route-area-information { + description + "An OSPF route"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY; + } + } + container multicast-intact-route-areas { + description + "OSPF Area multicast-intact included route + entry"; + list multicast-intact-route-area { + description + "A Muliticast OSPF route in an area"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY; + } + } + container summary-area-information { + description + "OSPF route summary statistics"; + uses OSPF-SH-ROUTE-SUMMARY; + } + container local-route-areas { + description + "OSPF Local Route Table"; + list local-route-area { + description + "Local route"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-TOPOLOGY; + } + } + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + } + } + container route-table { + description + "OSPF Route Table"; + uses ROUTE; + } + container external-routes { + description + "OSPF External Route Table"; + list external-route { + description + "This is an OSPF external route"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type Ospf-prefix-length; + description + "Length of the subnet prefix"; + } + uses OSPF-SH-ROUTE-EXT; + } + } + } + } + + grouping FAST-REROUTE { + description + "Common node of default-vrf, vrf"; + container fast-reroute { + description + "Container for FastReroute"; + container topologies { + description + "Fast-reroute topology information table"; + list topology { + key "remote-router-id area-id"; + description + "Fast-reroute topology information"; + leaf remote-router-id { + type inet:ipv4-address-no-zone; + description + "Remote Node Router ID"; + } + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses OSPF-SH-IPFRR-TOPO; + } + } + } + } + + grouping POLICY-MI { + description + "Common node of policy-ipv4-active, + policy-ipv4-backup"; + list policy-mi { + key "mi-id"; + description + "Mapping Item"; + leaf mi-id { + type xr:Cisco-ios-xr-string; + description + "Mapping Item ID (0, 1, 2, ...)"; + } + uses SRMS-MI-T-B; + } + } + + grouping MPLS-TE { + description + "Common node of default-vrf, vrf"; + container mpls-te { + description + "Container for MPLS TE"; + container mpls-te-links { + description + "MPLS TE link information table"; + list mpls-te-link { + key "area-id"; + description + "MPLS TE link information"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses OSPF-SH-MPLS; + } + } + container mpls-te-fragments { + description + "MPLS TE Fragment information table"; + list mpls-te-fragment { + key "area-id"; + description + "MPLS TE Fragment"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses OSPF-SH-MPLS; + } + } + } + } + + grouping FLOOD-LIST-TABLE { + description + "Common node of default-vrf, vrf"; + container flood-list-table { + description + "List of LSAs being flooded"; + uses FLOOD-LIST; + } + } + + grouping SUMMARY-PREFIX-TABLE { + description + "Common node of default-vrf, vrf"; + container summary-prefixes { + description + "Summary prefix table"; + list summary-prefix { + description + "Summary prefix information"; + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Summary Prefix"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "Summary Mask"; + } + uses OSPF-SH-SUMMARY-ADDRESS; + } + } + } + + grouping NEIGHBOR-DETAIL-TABLE { + description + "Common node of adjacency-information, area"; + container neighbor-details { + description + "Neighbor detail table"; + list neighbor-detail { + description + "A single neighbor's detail information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the neighbor"; + } + uses OSPF-SH-NEIGHBOR-DETAIL; + } + } + } + + grouping REQUEST-LIST-TABLE { + description + "Common node of adjacency-information, area"; + container requests { + description + "Request List table"; + list request { + description + "Request list for a particular adjacency"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the neighbor"; + } + uses OSPF-SH-REQUEST-LIST; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of interface-information, area"; + container interfaces { + description + "OSPF Interface Table"; + list interface { + key "interface-name"; + description + "OSPF interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPF-SH-INTERFACE; + } + } + } + + grouping INTERFACE-BRIEF-TABLE { + description + "Common node of interface-information, area"; + container interface-briefs { + description + "OSPF Interface Brief Table"; + list interface-brief { + key "interface-name"; + description + "OSPF interface brief information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + uses OSPF-SH-IF-BRIEF; + } + } + } + + grouping DATABASE { + description + "Common node of default-vrf, vrf"; + container database { + description + "OSPF Link State Database"; + container database-areas { + description + "Per-Area view of Link state database"; + list database-area { + key "area-id"; + description + "Per-Area Link State Database data"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses LSA-TABLE; + uses LSA-SUMMARY-TABLE; + } + } + container database-summaries { + description + "Link State database summary table"; + list database-summary { + key "area-id"; + description + "Link State Database summary for a particular + area"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses OSPF-SH-DB-AREA-SUM; + } + } + container database-summary-as { + description + "Link State Database summary for the AS"; + uses OSPF-SH-DB-AS-SUM; + } + uses LSA-TABLE; + uses LSA-SUMMARY-TABLE; + } + } + + grouping INTERFACE-INFORMATION { + description + "Common node of default-vrf, vrf"; + container interface-information { + description + "Container for OSPF Interfaces/links"; + container virtual-links { + description + "Virtual Link table"; + list virtual-link { + key "virtual-link-name"; + description + "Information for one Virtual link"; + leaf virtual-link-name { + type xr:Cisco-ios-xr-string; + description + "Virtual link"; + } + uses OSPF-SH-VIRTUAL-LINKS; + } + } + uses INTERFACE-BRIEF-TABLE; + uses INTERFACE-TABLE; + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of adjacency-information, area"; + container neighbors { + description + "Neighbor table"; + list neighbor { + description + "Neighbor information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the neighbor"; + } + uses OSPF-SH-NEIGHBOR; + } + } + } + + grouping LSA-TABLE { + description + "Common node of database-area, database"; + container lsas { + description + "Link State Database Table"; + list lsa { + description + "Link State Advertisement information"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + leaf ls-type { + type Ospf-ls; + description + "Link state type"; + } + leaf ls-id { + type inet:ipv4-address-no-zone; + description + "Link state ID"; + } + leaf advertising-router { + type inet:ipv4-address-no-zone; + description + "Router ID of the Advertising Router"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPF-SH-DATABASE-DETAIL; + } + } + } + + container ospf { + config false; + description + "OSPF operational data"; + container processes { + description + "Table for each process"; + list process { + key "process-name"; + description + "Operational data for a particular OSPF process"; + container vrfs { + description + "Table for each VRF"; + list vrf { + key "vrf-name"; + description + "Operational data for a particular VRF + (instance) in the OSPF process"; + container interface-vrf-information { + description + "Container for OSPF Interfaces/links under a + VRF"; + container sham-links { + description + "Sham Link table"; + list sham-link { + key "sham-link-name"; + description + "Information for one Sham link"; + leaf sham-link-name { + type xr:Cisco-ios-xr-string; + description + "Sham link"; + } + uses OSPF-SH-SHAM-LINKS; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses FLOOD-LIST-TABLE; + uses SEGMENT-ROUTING; + uses MPLS-TE; + uses STATISTICS; + uses ADJACENCY-INFORMATION; + uses ROUTE-INFORMATION; + uses INTERFACE-INFORMATION; + uses BORDER-ROUTER-TABLE; + uses PROCESS-INFORMATION; + uses AREA-TABLE; + uses DATABASE; + uses SUMMARY-PREFIX-TABLE; + uses OSPF-SUMMARY; + uses FAST-REROUTE; + } + } + container srms { + description + "Segment Routing Mapping Server operational + data"; + container policy { + description + "Policy operational data"; + container policy-ipv4 { + description + "IPv4 policy operational data"; + container policy-ipv4-backup { + description + "IPv4 backup policy operational data"; + uses POLICY-MI; + } + container policy-ipv4-active { + description + "IPv4 active policy operational data"; + uses POLICY-MI; + } + } + } + } + container default-vrf { + description + "Operational data for the default VRF + (instance) in the OSPF process"; + container srlgs { + description + "Container for Weighted SRLG information"; + list srlg { + key "srlg-name"; + description + "Information for a particular SRLG"; + leaf srlg-name { + type xr:Cisco-ios-xr-string; + description + "Name of SRLG configured"; + } + uses OSPF-SH-WSRLG; + } + } + uses FLOOD-LIST-TABLE; + uses SEGMENT-ROUTING; + uses MPLS-TE; + uses STATISTICS; + uses ADJACENCY-INFORMATION; + uses ROUTE-INFORMATION; + uses INTERFACE-INFORMATION; + uses BORDER-ROUTER-TABLE; + uses PROCESS-INFORMATION; + uses AREA-TABLE; + uses DATABASE; + uses SUMMARY-PREFIX-TABLE; + uses OSPF-SUMMARY; + uses FAST-REROUTE; + } + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "OSPF process"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-cfg.yang new file mode 100644 index 000000000..7fdffbc12 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-cfg.yang @@ -0,0 +1,1785 @@ +module Cisco-IOS-XR-ipv4-pim-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-pim-cfg"; + prefix ipv4-pim-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv4-autorp-datatypes { + prefix dt1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-pim package configuration. + + This module contains definitions + for the following management objects: + pim: PIM configuration + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-30 { + description + "Addition made for Sticky DR CLI/XML operations"; + semver:module-version "2.1.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2017-05-22 { + description + "Updated node naming to be consistent with the CLI"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pim-bsr-priority { + type uint32 { + range "1..255"; + } + description + "Pim bsr priority"; + } + + typedef Auto-rp-announce-period { + type uint32 { + range "1..600"; + } + description + "Auto rp announce period"; + } + + typedef Pim-multipath { + type enumeration { + enum "enable" { + value 0; + description + "Enable PIM multipath"; + } + enum "interface-hash" { + value 1; + description + "Enable PIM multipath with interface based + hashing"; + } + enum "source-hash" { + value 2; + description + "Enable PIM multipath with source based hashing"; + } + enum "source-next-hop-hash" { + value 3; + description + "Enable PIM multipath with source next-hop + hashing"; + } + enum "source-group-hash" { + value 4; + description + "Enable PIM multipath with source, group based + hashing"; + } + } + description + "Pim multipath"; + } + + typedef Auto-rp-ttl { + type uint32 { + range "1..255"; + } + description + "Auto rp ttl"; + } + + typedef Pim-protocol-mode { + type enumeration { + enum "sm" { + value 0; + description + "Sparse Mode"; + } + enum "bidir" { + value 1; + description + "Bidirectional"; + } + } + description + "Pim protocol mode"; + } + + grouping SUPPRESS-DATA-REGISTERS { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf suppress-data-registers { + type empty; + description + "Suppress data registers after initial state + setup"; + } + } + + grouping ROUTE-POLICY { + description + "Common node of rpf, rpf-redirect"; + leaf route-policy { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Route policy to select RPF topology"; + } + } + + grouping INTERFACE-ENABLE { + description + "Common node of interface, interface, interface"; + leaf interface-enable { + type boolean; + description + "Enable PIM processing on the interface"; + } + } + + grouping BSR-BORDER { + description + "Common node of interface, interface, interface"; + leaf bsr-border { + type boolean; + description + "BSR Border configuration for Interface"; + } + } + + grouping JOIN-PRUNE-MTU { + description + "Common node of inheritable-defaults, interface, + interface, interface"; + leaf join-prune-mtu { + type uint32 { + range "576..65535"; + } + units "byte"; + description + "Join-Prune MTU in Bytes"; + } + } + + grouping NEIGHBOR-CHECK-ON-RECEIVE { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf neighbor-check-on-receive { + type empty; + description + "Enable PIM neighbor checking when receiving PIM + messages"; + } + } + + grouping RPF { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container rpf { + description + "Configure RPF options"; + uses ROUTE-POLICY; + } + } + + grouping MOFRR { + description + "Common node of ipv4, ipv4"; + container mofrr { + description + "Multicast Only Fast Re-Route"; + container clone-joins { + description + "Clone multicast joins"; + list clone-join { + key "source primary backup prefix-length"; + description + "Clone S,G joins as S1,G joins and S2,G joins"; + leaf source { + type inet:ipv4-address-no-zone; + description + "Original source address (S)"; + } + leaf primary { + type inet:ipv4-address-no-zone; + description + "Primary cloned address (S1)"; + } + leaf backup { + type inet:ipv4-address-no-zone; + description + "Backup cloned address (S2)"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Mask length"; + } + } + } + container clone-sources { + description + "Clone multicast traffic"; + list clone-source { + key "source primary backup prefix-length"; + description + "Clone S,G traffic as S1,G traffic and S2,G + traffic"; + leaf source { + type inet:ipv4-address-no-zone; + description + "Original source address (S)"; + } + leaf primary { + type inet:ipv4-address-no-zone; + description + "Primary cloned address (S1)"; + } + leaf backup { + type inet:ipv4-address-no-zone; + description + "Backup cloned address (S2)"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Mask length"; + } + } + } + leaf rib { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list specifying SG that should do RIB + MOFRR"; + } + leaf non-revertive { + type empty; + description + "Non-revertive Multicast Only Fast Re-Route"; + } + leaf enable { + type empty; + description + "Enable Multicast Only FRR"; + } + leaf flow { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list specifying SG that should do FLOW + MOFRR"; + } + } + } + + grouping EMBEDDED-RP { + description + "Common node of ipv6, ipv6"; + container embedded-rp-addresses { + description + "Set Embedded RP processing support"; + list embedded-rp-address { + key "rp-address"; + description + "Set Embedded RP processing support"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address of the Rendezvous Point"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access list of groups that should map to a + given RP"; + } + } + } + } + + grouping NEIGHBOR-CHECK-ON-SEND { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf neighbor-check-on-send { + type empty; + description + "Enable PIM neighbor checking when sending + join-prunes"; + } + } + + grouping EMBEDDED-RP-DISABLE { + description + "Common node of ipv6, ipv6"; + leaf embedded-rp-disable { + type empty; + description + "Set Embedded RP processing support"; + } + } + + grouping BSR { + description + "Common node of ipv4, ipv4"; + container bsr { + description + "PIM BSR configuration"; + container candidate-bsr { + presence "Indicates a candidate-bsr node is configured."; + description + "PIM Candidate BSR configuration"; + leaf address { + type inet:ip-address-no-zone; + mandatory true; + description + "BSR Address configured"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + mandatory true; + description + "Hash Mask Length for this candidate BSR"; + } + leaf priority { + type Pim-bsr-priority; + mandatory true; + description + "Priority of the Candidate BSR"; + } + } + uses CANDIDATE-RP-TABLE; + } + } + + grouping IPV6-PIM-CFG-BSR { + description + "Common node of ipv4, ipv4Common node of ipv6, + ipv6"; + container bsr { + description + "PIM BSR configuration"; + container candidate-bsr { + presence "Indicates a candidate-bsr node is configured."; + description + "PIM Candidate BSR configuration"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "BSR Address configured"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "Hash Mask Length for this candidate BSR"; + } + leaf priority { + type Pim-bsr-priority; + mandatory true; + description + "Priority of the Candidate BSR"; + } + } + uses CANDIDATE-RP-TABLE; + } + } + + grouping SPARSE-MODE-RP-ADDRESS-TABLE { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container sparse-mode-rp-addresses { + description + "Configure Sparse-Mode Rendezvous Point"; + list sparse-mode-rp-address { + key "rp-address"; + description + "Address of the Rendezvous Point"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address of Rendezvous Point"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access list of groups that should map to a + given RP"; + } + leaf auto-rp-override { + type boolean; + description + "TRUE Indicates if static RP config overrides + AutoRP and BSR"; + } + } + } + } + + grouping INHERITABLE-DEFAULTS { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container inheritable-defaults { + description + "Inheritable defaults"; + leaf convergence-timeout { + type uint32 { + range "1800..2400"; + } + units "second"; + description + "Convergency timeout in seconds"; + } + uses HELLO-INTERVAL; + uses STICKY-DR; + uses PROPAGATION-DELAY; + uses DR-PRIORITY; + uses JOIN-PRUNE-MTU; + uses JP-INTERVAL; + uses OVERRIDE-INTERVAL; + } + } + + grouping AUTO-RP-DISABLE { + description + "Common node of ipv4, ipv4"; + leaf auto-rp-disable { + type empty; + description + "Disable Rendezvous Point discovery through the + AutoRP protocol"; + } + } + + grouping ROUTES { + description + "Common node of maximum, maximum"; + container routes { + presence "Indicates a routes node is configured."; + description + "Override default maximum for number of routes"; + leaf maximum-routes { + type uint32 { + range "1..200000"; + } + mandatory true; + description + "Maximum number of PIM routes"; + } + leaf warning-threshold { + type uint32 { + range "1..200000"; + } + default "100000"; + description + "Set threshold to print warning"; + } + } + } + + grouping RP-STATIC-DENY { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf rp-static-deny { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Configure static RP deny range"; + } + } + + grouping SSM { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container ssm { + presence "Contains mandatory nodes that used to set default values"; + description + "Configure IP Multicast SSM"; + leaf disable { + type boolean; + mandatory true; + description + "TRUE if SSM is disabled on this router"; + } + leaf range { + type string { + length "1..64"; + } + description + "Access list of groups enabled with SSM"; + } + } + } + + grouping OVERRIDE-INTERVAL { + description + "Common node of inheritable-defaults, interface, + interface, interface"; + leaf override-interval { + type uint32 { + range "400..65535"; + } + units "millisecond"; + description + "Override interval in milliseconds"; + } + } + + grouping CONVERGENCE { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container convergence { + description + "Configure convergence parameters"; + leaf rpf-conflict-join-delay { + type uint32 { + range "0..15"; + } + units "second"; + description + "Dampen first join if RPF path is through one of + the downstream neighbor"; + } + leaf link-down-prune-delay { + type uint32 { + range "0..60"; + } + units "second"; + description + "Delay prunes if route join state transitions to + not-joined on link down"; + } + } + } + + grouping REGISTER-SOURCE { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf register-source { + type xr:Interface-name; + description + "Source address to use for register messages"; + } + } + + grouping CANDIDATE-RP-TABLE { + description + "Common node of bsr, bsr"; + container candidate-rps { + description + "PIM RP configuration"; + list candidate-rp { + key "address mode"; + description + "Address of PIM SM BSR Candidate-RP"; + leaf address { + type inet:ip-address-no-zone; + description + "Address of Candidate-RP"; + } + leaf mode { + type Pim-protocol-mode; + description + "SM or Bidir"; + } + leaf group-list { + type string { + length "1..64"; + } + description + "Access-list specifying the group range for the + Candidate-RP"; + } + leaf priority { + type Pim-bsr-priority; + mandatory true; + description + "Priority of the CRP"; + } + leaf interval { + type uint32 { + range "30..600"; + } + mandatory true; + description + "Advertisement interval"; + } + } + } + } + + grouping PROPAGATION-DELAY { + description + "Common node of inheritable-defaults, interface, + interface, interface"; + leaf propagation-delay { + type uint32 { + range "100..32767"; + } + units "millisecond"; + description + "Propagation delay in milli seconds"; + } + } + + grouping GROUP-MAPPINGS-AUTO-RP { + description + "Common node of maximum, maximum"; + container group-mappings-auto-rp { + presence "Indicates a group-mappings-auto-rp node is configured."; + description + "Override default maximum for number of group + mappings from autorp mapping agent"; + leaf maximum-group-ranges-auto-rp { + type uint32 { + range "1..10000"; + } + mandatory true; + description + "Maximum number of PIM group mappings from + autorp"; + } + leaf threshold-group-ranges-auto-rp { + type uint32 { + range "1..10000"; + } + default "450"; + description + "Warning threshold number of PIM group mappings + from autorp"; + } + } + } + + grouping SPT-THRESHOLD-INFINITY { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf spt-threshold-infinity { + type string; + description + "Configure threshold of infinity for switching to + SPT on last-hop"; + } + } + + grouping NEIGHBOR-FILTER { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list of neighbors to be filtered"; + } + } + + grouping IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER { + description + "Common node of ipv4, ipv4, ipv6, ipv6Common node + of interface, interface, interface"; + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list of neighbors to be filtered"; + } + } + + grouping ROUTE-INTERFACES { + description + "Common node of maximum, maximum"; + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "Override default maximum for number of + route-interfaces"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000"; + } + mandatory true; + description + "Maximum number of PIM route-interfaces"; + } + leaf warning-threshold { + type uint32 { + range "1..1100000"; + } + default "300000"; + description + "Set threshold to print warning"; + } + } + } + + grouping SSM-ALLOW-OVERRIDE { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf ssm-allow-override { + type empty; + description + "Allow SSM ranges to be overridden by more + specific ranges"; + } + } + + grouping LOG-NEIGHBOR-CHANGES { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf log-neighbor-changes { + type empty; + description + "PIM neighbor state change logging is turned on + if configured"; + } + } + + grouping STICKY-DR { + description + "Common node of inheritable-defaults, interface, + interface, interface"; + leaf sticky-dr { + type boolean; + description + "Enables interface sticky-dr feature"; + } + } + + grouping MAXIMUM { + description + "Common node of ipv4, ipv6"; + container maximum { + description + "Configure PIM State Limits"; + uses GROUP-MAPPINGS-AUTO-RP; + uses BSR-GROUP-MAPPINGS; + uses REGISTER-STATES; + uses ROUTE-INTERFACES; + uses BSR-CANDIDATE-RP-CACHE; + uses ROUTES; + } + } + + grouping IPV4-PIM-COMMON-CFG-MAXIMUM { + description + "Common node of ipv4, ipv6Common node of ipv4, + ipv6"; + container maximum { + description + "Configure PIM State Limits"; + container bsr-global-group-mappings { + presence "Indicates a bsr-global-group-mappings node is configured."; + description + "Override default global maximum and threshold + for PIM group mapping ranges from BSR"; + leaf bsr-maximum-global-group-mappings { + type uint32 { + range "1..10000"; + } + mandatory true; + description + "Global Maximum number of PIM group mapping + ranges from BSR"; + } + leaf warning-threshold { + type uint32 { + range "1..10000"; + } + default "500"; + description + "Set threshold to print warning"; + } + } + container global-routes { + presence "Indicates a global-routes node is configured."; + description + "Override default maximum for number of routes"; + leaf maximum-routes { + type uint32 { + range "1..200000"; + } + mandatory true; + description + "Maximum number of PIM routes"; + } + leaf warning-threshold { + type uint32 { + range "1..200000"; + } + default "100000"; + description + "Set threshold to print warning"; + } + } + container global-group-mappings-auto-rp { + presence "Indicates a global-group-mappings-auto-rp node is configured."; + description + "Maximum for number of group mappings from + autorp mapping agent"; + leaf maximum-global-group-ranges-auto-rp { + type uint32 { + range "1..10000"; + } + mandatory true; + description + "Maximum number of PIM group mappings from + autorp"; + } + leaf threshold-global-group-ranges-auto-rp { + type uint32 { + range "1..10000"; + } + default "450"; + description + "Warning threshold number of PIM group mappings + from autorp"; + } + } + container bsr-global-candidate-rp-cache { + presence "Indicates a bsr-global-candidate-rp-cache node is configured."; + description + "Override default global maximum and threshold + for C-RP set in BSR"; + leaf bsr-maximum-global-candidate-rp-cache { + type uint32 { + range "1..10000"; + } + mandatory true; + description + "Global Maximum number of PIM C-RP Sets from + BSR"; + } + leaf warning-threshold { + type uint32 { + range "1..10000"; + } + default "100"; + description + "Set threshold to print warning"; + } + } + container global-register-states { + presence "Indicates a global-register-states node is configured."; + description + "Override default maximum for number of + sparse-mode source registers"; + leaf maximum-register-states { + type uint32 { + range "0..75000"; + } + mandatory true; + description + "Maximum number of PIM Sparse-Mode register + states"; + } + leaf warning-threshold { + type uint32 { + range "0..75000"; + } + default "20000"; + description + "Set threshold to print warning"; + } + } + container global-route-interfaces { + presence "Indicates a global-route-interfaces node is configured."; + description + "Override default maximum for number of + route-interfaces"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000"; + } + mandatory true; + description + "Maximum number of PIM route-interfaces"; + } + leaf warning-threshold { + type uint32 { + range "1..1100000"; + } + default "300000"; + description + "Set threshold to print warning"; + } + } + leaf global-low-priority-packet-queue { + type uint32 { + range "0..2147483648"; + } + units "byte"; + description + "Maximum packet queue size in bytes"; + } + leaf global-high-priority-packet-queue { + type uint32 { + range "0..2147483648"; + } + units "byte"; + description + "Maximum packet queue size in bytes"; + } + uses GROUP-MAPPINGS-AUTO-RP; + uses BSR-GROUP-MAPPINGS; + uses REGISTER-STATES; + uses ROUTE-INTERFACES; + uses BSR-CANDIDATE-RP-CACHE; + uses ROUTES; + } + } + + grouping SG-EXPIRY-TIMER { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container sg-expiry-timer { + description + "Configure expiry timer for S,G routes"; + leaf interval { + type uint32 { + range "40..57600"; + } + units "second"; + description + "(S,G) expiry time in seconds"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list of applicable S,G routes"; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of ipv4, ipv6"; + container interfaces { + description + "Interface-level Configuration"; + list interface { + key "interface-name"; + description + "The name of the interface"; + leaf enable { + type empty; + description + "Enter PIM Interface processing"; + } + leaf interface-name { + type xr:Interface-name; + description + "The name of interface"; + } + uses IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER; + uses HELLO-INTERVAL; + uses STICKY-DR; + uses BSR-BORDER; + uses MAXIMUM-ROUTES; + uses PROPAGATION-DELAY; + uses BFD; + uses DR-PRIORITY; + uses JOIN-PRUNE-MTU; + uses INTERFACE-ENABLE; + uses JP-INTERVAL; + uses OVERRIDE-INTERVAL; + } + } + } + + grouping REGISTER-STATES { + description + "Common node of maximum, maximum"; + container register-states { + presence "Indicates a register-states node is configured."; + description + "Override default maximum for number of + sparse-mode source registers"; + leaf maximum-register-states { + type uint32 { + range "0..75000"; + } + mandatory true; + description + "Maximum number of PIM Sparse-Mode register + states"; + } + leaf warning-threshold { + type uint32 { + range "0..75000"; + } + default "20000"; + description + "Set threshold to print warning"; + } + } + } + + grouping MULTIPATH { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf multipath { + type Pim-multipath; + description + "Enable equal-cost multipath routing"; + } + } + + grouping HELLO-INTERVAL { + description + "Common node of inheritable-defaults, interface, + interface, interface"; + leaf hello-interval { + type uint32 { + range "1..3600"; + } + units "second"; + description + "Hello interval in seconds"; + } + } + + grouping BIDIR-RP-ADDRESS-TABLE { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container bidir-rp-addresses { + description + "Configure Bidirectional PIM Rendezvous Point"; + list bidir-rp-address { + key "rp-address"; + description + "Address of the Rendezvous Point"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address of Rendezvous Point"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access list of groups that should map to a + given RP"; + } + leaf auto-rp-override { + type boolean; + description + "TRUE Indicates if static RP config overrides + AutoRP and BSR"; + } + } + } + } + + grouping BSR-CANDIDATE-RP-CACHE { + description + "Common node of maximum, maximum"; + container bsr-candidate-rp-cache { + presence "Indicates a bsr-candidate-rp-cache node is configured."; + description + "Override default maximum and threshold for BSR + C-RP cache setting"; + leaf bsr-maximum-candidate-rp-cache { + type uint32 { + range "1..10000"; + } + mandatory true; + description + "Maximum number of BSR C-RP cache setting"; + } + leaf warning-threshold { + type uint32 { + range "1..10000"; + } + default "100"; + description + "Set threshold to print warning"; + } + } + } + + grouping JP-INTERVAL { + description + "Common node of inheritable-defaults, interface, + interface, interface"; + leaf jp-interval { + type uint32 { + range "10..600"; + } + units "second"; + description + "Join-Prune interval in seconds"; + } + } + + grouping NSF { + description + "Common node of ipv4, ipv6"; + container nsf { + description + "Configure Non-stop forwarding (NSF) options"; + leaf lifetime { + type uint32 { + range "10..600"; + } + units "second"; + description + "Override default maximum lifetime for PIM NSF + mode"; + } + } + } + + grouping DR-PRIORITY { + description + "Common node of inheritable-defaults, interface, + interface, interface"; + leaf dr-priority { + type uint32 { + range "0..4294967295"; + } + description + "Hello DR priority, preference given to larger + value"; + } + } + + grouping BFD { + description + "Common node of interface, interface, interface"; + container bfd { + description + "BFD configuration"; + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detection multiplier for BFD sessions created + by PIM"; + } + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by PIM"; + } + leaf enable { + type boolean; + description + "TRUE to enable BFD. FALSE to disable and to + prevent inheritance from a parent"; + } + } + } + + grouping RPF-VECTOR-INJECT { + description + "Common node of ipv4, ipv4"; + container paths { + description + "Inject PIM RPF Vector Proxy's"; + list path { + key "source-address prefix-length"; + description + "Inject PIM RPF Vector Proxy's"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Masklen"; + } + leaf-list rpf-proxy-address { + type inet:ipv4-address-no-zone; + min-elements 1; + max-elements "22"; + description + "RPF Proxy Address"; + } + } + } + } + + grouping BSR-GROUP-MAPPINGS { + description + "Common node of maximum, maximum"; + container bsr-group-mappings { + presence "Indicates a bsr-group-mappings node is configured."; + description + "Override default maximum and threshold for + number of group mappings from BSR"; + leaf bsr-maximum-group-ranges { + type uint32 { + range "1..10000"; + } + mandatory true; + description + "Maximum number of PIM group mappings from BSR"; + } + leaf warning-threshold { + type uint32 { + range "1..10000"; + } + default "500"; + description + "Set threshold to print warning"; + } + } + } + + grouping ACCEPT-REGISTER { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf accept-register { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list which specifies unauthorized sources"; + } + } + + grouping OLD-REGISTER-CHECKSUM { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + leaf old-register-checksum { + type empty; + description + "Generate registers compatible with older IOS + versions"; + } + } + + grouping ALLOW-RP { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container allow-rp { + presence "enable allow-rp"; + description + "Enable allow-rp filtering for SM joins"; + leaf rp-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list specifiying applicable RPs"; + } + leaf group-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list specifiying applicable groups"; + } + } + } + + grouping MAXIMUM-ROUTES { + description + "Common node of interface, interface, interface"; + container maximum-routes { + presence "Indicates a maximum-routes node is configured."; + description + "Maximum number of allowed routes for this + interface"; + leaf maximum { + type uint32 { + range "1..1100000"; + } + mandatory true; + description + "Maximum number of routes for this interface"; + } + leaf warning-threshold { + type uint32 { + range "1..1100000"; + } + description + "Set threshold to print warning"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Access-list to account for"; + } + } + } + + grouping SUPPRESS-RPF-PRUNES { + description + "Common node of interface, interface, + interfaceCommon node of ipv4, ipv4, ipv6, ipv6"; + leaf suppress-rpf-prunes { + type empty; + description + "Suppress prunes triggered as a result of RPF + changes"; + } + } + + grouping RPF-VECTOR-ENABLE { + description + "Common node of ipv4, ipv4, ipv6, ipv6"; + container rpf-vector-enable { + presence "Indicates a rpf-vector-enable node is configured."; + description + "Enable PIM RPF Vector Proxy's"; + leaf enable { + type empty; + mandatory true; + description + "RPF Vector is turned on if configured"; + } + leaf allow-ebgp { + type empty; + description + "Allow RPF Vector origination over eBGP sessions"; + } + leaf disable-ibgp { + type empty; + description + "Disable RPF Vector origination over iBGP + sessions"; + } + leaf use-standard-encoding { + type empty; + description + "Use RPF Vector RFC compliant encoding"; + } + } + } + + grouping EXPLICIT-RPF-VECTOR { + description + "Common node of ipv4, ipv4"; + container injects { + description + "Inject Explicit PIM RPF Vector Proxy's"; + list inject { + key "source-address prefix-length"; + description + "Inject Explicit PIM RPF Vector Proxy's"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Masklen"; + } + leaf-list rpf-proxy-address { + type inet:ipv4-address-no-zone; + min-elements 1; + max-elements "22"; + description + "RPF Proxy Address"; + } + } + } + } + + container pim { + description + "PIM configuration"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF name"; + container ipv4 { + description + "IPV4 commands"; + uses NEIGHBOR-CHECK-ON-RECEIVE; + uses OLD-REGISTER-CHECKSUM; + uses SPARSE-MODE-RP-ADDRESS-TABLE; + uses NEIGHBOR-FILTER; + uses INHERITABLE-DEFAULTS; + uses SPT-THRESHOLD-INFINITY; + uses LOG-NEIGHBOR-CHANGES; + uses RPF; + uses REGISTER-SOURCE; + uses MAXIMUM; + uses ACCEPT-REGISTER; + uses SG-EXPIRY-TIMER; + uses RPF-VECTOR-ENABLE; + uses SUPPRESS-RPF-PRUNES; + uses SSM; + uses EXPLICIT-RPF-VECTOR; + uses BIDIR-RP-ADDRESS-TABLE; + uses SSM-ALLOW-OVERRIDE; + uses BSR; + uses MOFRR; + uses MULTIPATH; + uses RP-STATIC-DENY; + uses RPF-VECTOR-INJECT; + uses ALLOW-RP; + uses SUPPRESS-DATA-REGISTERS; + uses NEIGHBOR-CHECK-ON-SEND; + uses CONVERGENCE; + uses INTERFACE-TABLE; + uses AUTO-RP-DISABLE; + } + container ipv6 { + description + "IPV6 commands"; + uses NEIGHBOR-CHECK-ON-RECEIVE; + uses OLD-REGISTER-CHECKSUM; + uses SPARSE-MODE-RP-ADDRESS-TABLE; + uses NEIGHBOR-FILTER; + uses INHERITABLE-DEFAULTS; + uses SPT-THRESHOLD-INFINITY; + uses LOG-NEIGHBOR-CHANGES; + uses RPF; + uses REGISTER-SOURCE; + uses MAXIMUM; + uses ACCEPT-REGISTER; + uses SG-EXPIRY-TIMER; + uses RPF-VECTOR-ENABLE; + uses EMBEDDED-RP-DISABLE; + uses SUPPRESS-RPF-PRUNES; + uses SSM; + uses BIDIR-RP-ADDRESS-TABLE; + uses SSM-ALLOW-OVERRIDE; + uses MULTIPATH; + uses IPV6-PIM-CFG-BSR; + uses RP-STATIC-DENY; + uses ALLOW-RP; + uses SUPPRESS-DATA-REGISTERS; + uses NEIGHBOR-CHECK-ON-SEND; + uses EMBEDDED-RP; + uses CONVERGENCE; + uses INTERFACE-TABLE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + } + container default-context { + description + "Default Context"; + container ipv6 { + description + "IPV6 commands"; + container interfaces { + description + "Interface-level Configuration"; + list interface { + key "interface-name"; + description + "The name of the interface"; + leaf enable { + type empty; + description + "Enter PIM Interface processing"; + } + leaf interface-name { + type xr:Interface-name; + description + "The name of interface"; + } + uses IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER; + uses HELLO-INTERVAL; + uses STICKY-DR; + uses BSR-BORDER; + uses MAXIMUM-ROUTES; + uses PROPAGATION-DELAY; + uses BFD; + uses DR-PRIORITY; + uses JOIN-PRUNE-MTU; + uses INTERFACE-ENABLE; + uses JP-INTERVAL; + uses OVERRIDE-INTERVAL; + } + } + uses NEIGHBOR-CHECK-ON-RECEIVE; + uses OLD-REGISTER-CHECKSUM; + uses SPARSE-MODE-RP-ADDRESS-TABLE; + uses NEIGHBOR-FILTER; + uses INHERITABLE-DEFAULTS; + uses SPT-THRESHOLD-INFINITY; + uses LOG-NEIGHBOR-CHANGES; + uses RPF; + uses REGISTER-SOURCE; + uses ACCEPT-REGISTER; + uses SG-EXPIRY-TIMER; + uses RPF-VECTOR-ENABLE; + uses NSF; + uses EMBEDDED-RP-DISABLE; + uses SUPPRESS-RPF-PRUNES; + uses IPV4-PIM-COMMON-CFG-MAXIMUM; + uses SSM; + uses BIDIR-RP-ADDRESS-TABLE; + uses SSM-ALLOW-OVERRIDE; + uses MULTIPATH; + uses IPV6-PIM-CFG-BSR; + uses RP-STATIC-DENY; + uses ALLOW-RP; + uses SUPPRESS-DATA-REGISTERS; + uses NEIGHBOR-CHECK-ON-SEND; + uses EMBEDDED-RP; + uses CONVERGENCE; + } + container ipv4 { + description + "IPV4 commands"; + container rpf-redirect { + description + "Configure RPF-redirect feature"; + uses ROUTE-POLICY; + } + container interfaces { + description + "Interface-level Configuration"; + list interface { + key "interface-name"; + description + "The name of the interface"; + container redirect-bundle { + description + "Configure RPF-redirect bundle for interface. + Applicable for IPv4 only"; + leaf bundle-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bundle name"; + } + leaf interface-bandwidth { + type uint32 { + range "0..100000000"; + } + units "kbit/s"; + must "../bundle-name and ../threshold-bandwidth"; + description + "Interface bandwidth in Kbps"; + } + leaf threshold-bandwidth { + type uint32 { + range "0..100000000"; + } + units "kbit/s"; + must "../bundle-name and ../interface-bandwidth"; + description + "Threshold bandwidth in Kbps"; + } + } + leaf enable { + type empty; + description + "Enter PIM Interface processing"; + } + leaf interface-name { + type xr:Interface-name; + description + "The name of interface"; + } + uses IPV4-PIM-COMMON-CFG-NEIGHBOR-FILTER; + uses HELLO-INTERVAL; + uses STICKY-DR; + uses BSR-BORDER; + uses MAXIMUM-ROUTES; + uses PROPAGATION-DELAY; + uses BFD; + uses DR-PRIORITY; + uses JOIN-PRUNE-MTU; + uses INTERFACE-ENABLE; + uses JP-INTERVAL; + uses OVERRIDE-INTERVAL; + } + } + container auto-rp-candidate-rps { + description + "Configure Candidate-RPs"; + list auto-rp-candidate-rp { + key "interface-name protocol-mode"; + description + "Specifications for a Candidate-RP"; + leaf interface-name { + type xr:Interface-name; + description + "Interface from which Candidate-RP packets + will be sourced"; + } + leaf protocol-mode { + type dt1:Auto-rp-protocol-mode; + description + "Protocol Mode"; + } + leaf ttl { + type Auto-rp-ttl; + mandatory true; + description + "TTL in Hops"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list specifying the group range for + the Candidate-RP"; + } + leaf announce-period { + type Auto-rp-announce-period; + units "second"; + mandatory true; + description + "Time between announcements "; + } + } + } + container auto-rp-mapping-agent { + description + "Configure AutoRP Mapping Agent"; + container parameters { + presence "Indicates a parameters node is configured."; + description + "Specifications for Mapping Agent configured + on this box"; + leaf interface-name { + type xr:Interface-name; + mandatory true; + description + "Interface from which mapping packets will be + sourced "; + } + leaf ttl { + type Auto-rp-ttl; + mandatory true; + description + "TTL in Hops"; + } + leaf announce-period { + type Auto-rp-announce-period; + units "second"; + mandatory true; + description + "Time between discovery messages "; + } + } + container cache-limit { + presence "Indicates a cache-limit node is configured."; + description + "Mapping Agent cache size limit"; + leaf maximum-cache-entry { + type uint32 { + range "1..1000"; + } + mandatory true; + description + "Maximum number of mapping cache entries"; + } + leaf threshold-cache-entry { + type uint32 { + range "1..1000"; + } + default "450"; + description + "Warning threshold number of cache entries"; + } + } + } + uses NEIGHBOR-CHECK-ON-RECEIVE; + uses OLD-REGISTER-CHECKSUM; + uses SPARSE-MODE-RP-ADDRESS-TABLE; + uses NEIGHBOR-FILTER; + uses INHERITABLE-DEFAULTS; + uses SPT-THRESHOLD-INFINITY; + uses LOG-NEIGHBOR-CHANGES; + uses RPF; + uses REGISTER-SOURCE; + uses ACCEPT-REGISTER; + uses SG-EXPIRY-TIMER; + uses RPF-VECTOR-ENABLE; + uses NSF; + uses SUPPRESS-RPF-PRUNES; + uses IPV4-PIM-COMMON-CFG-MAXIMUM; + uses SSM; + uses EXPLICIT-RPF-VECTOR; + uses BIDIR-RP-ADDRESS-TABLE; + uses SSM-ALLOW-OVERRIDE; + uses BSR; + uses MOFRR; + uses MULTIPATH; + uses RP-STATIC-DENY; + uses RPF-VECTOR-INJECT; + uses ALLOW-RP; + uses SUPPRESS-DATA-REGISTERS; + uses NEIGHBOR-CHECK-ON-SEND; + uses CONVERGENCE; + uses AUTO-RP-DISABLE; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub1.yang new file mode 100644 index 000000000..9b6ac47ea --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub1.yang @@ -0,0 +1,4070 @@ +submodule Cisco-IOS-XR-ipv4-pim-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-pim-oper { + prefix Cisco-IOS-XR-ipv4-pim-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-pim-oper-sub2 { + revision-date 2021-01-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-pim package operational data. + + This model is deprecated and is replaced by + Cisco-IOS-XR-pim-oper.yang which will provide the + compatible functionalities. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-30 { + description + "Providing pim information"; + semver:module-version "2.1.1m"; + } + revision 2019-10-31 { + description + "Changes to IOS-XR PIM oper + 2019-08-27 + Providing pim information"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-27 { + description + "Removed deprecated leaves under traffic-counters. Added missing leaves under context. Removed checkpoint-statistics container because the corresponding CLI command requires cisco-support permissions."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pim-show-local-interest { + type enumeration { + enum "null" { + value 1; + description + "null"; + } + enum "li" { + value 2; + description + "Local Interest"; + } + enum "ld" { + value 3; + description + "Local Disinterest"; + } + } + description + "Pim show local interest"; + } + + typedef Pim-internal-interest-info { + type enumeration { + enum "null" { + value 21; + description + "null"; + } + enum "ii" { + value 22; + description + "Internal Interest"; + } + enum "id" { + value 23; + description + "Internal Disinterest"; + } + } + description + "Pim internal interest info"; + } + + typedef Pim-show-range-client { + type enumeration { + enum "no-client" { + value 0; + description + "no client"; + } + enum "embedded-config" { + value 1; + description + "embedded config"; + } + enum "embedded" { + value 2; + description + "embedded"; + } + enum "permanent" { + value 3; + description + "permanent"; + } + enum "auto-rp" { + value 4; + description + "auto rp"; + } + enum "bsr" { + value 5; + description + "bsr"; + } + enum "config" { + value 6; + description + "config"; + } + enum "static" { + value 7; + description + "static"; + } + } + description + "Pim show range client"; + } + + typedef Pim-show-protocol { + type enumeration { + enum "no-route" { + value 0; + description + "no route"; + } + enum "sm" { + value 1; + description + "sm"; + } + enum "dm" { + value 2; + description + "dm"; + } + enum "bidir" { + value 3; + description + "bidir"; + } + enum "ssm" { + value 4; + description + "ssm"; + } + enum "maximum" { + value 5; + description + "maximum"; + } + enum "any" { + value 6; + description + "any"; + } + } + description + "Pim show protocol"; + } + + grouping PIM-ISSU-BAG { + description + "ISSU information"; + leaf informationvalid { + type boolean; + description + "Is Information valid ?"; + } + leaf role-ha { + type int32; + description + "HA role"; + } + leaf role-issu { + type int32; + description + "ISSU role"; + } + leaf phase-issu { + type int32; + description + "ISSU Phase"; + } + leaf last-ha-role-notification-received { + type uint64; + description + "Time when last HA role nfn was received"; + } + leaf last-issu-role-notification-received { + type uint64; + description + "Time when last ISSU role nfn was received"; + } + leaf last-issu-phase-notification-received { + type uint64; + description + "Time when last ISSU Phase nfn was received"; + } + leaf is-eoc-received { + type boolean; + description + "Was EOC received ?"; + } + leaf eoc-received-timestamp { + type uint64; + description + "Time when EOC was received"; + } + leaf is-ihms-done-received { + type boolean; + description + "Was IHMS done received ?"; + } + leaf ihms-received-timestamp { + type uint64; + description + "Time when IHMS done was received"; + } + leaf is-rib-sync-received { + type boolean; + description + "Was RIB Sync received ?"; + } + leaf rib-sync-received-timestamp { + type uint64; + description + "Time when RIB Sync was received"; + } + leaf is-nbr-sync-received { + type boolean; + description + "Was NBR Sync achieved ?"; + } + leaf nbr-sync-received-timestamp { + type uint64; + description + "Time when NBR Sync was achieved"; + } + leaf is-checkpoint-idt-done { + type boolean; + description + "Was Checkpoint IDT done ?"; + } + leaf checkpoint-idt-timestamp { + type uint64; + description + "Time when Checkpoint IDT done"; + } + } + + grouping PIM-NSF-BAG { + description + "PIM NSF state"; + leaf configured-state { + type boolean; + description + "Is Multicast NSF Configured"; + } + leaf nsf-state { + type boolean; + description + "Are we currently in NSF"; + } + leaf nsf-timeout { + type uint32; + units "second"; + description + "Multicast NSF timeout in seconds"; + } + leaf nsf-time-left { + type uint32; + units "second"; + description + "Multicast NSF time left in seconds"; + } + leaf waiting-timer { + type boolean; + description + "Waiting for NSF timer expiry"; + } + leaf waiting-membership { + type boolean; + description + "Waiting for IGMP/MLD"; + } + leaf respawn-count { + type uint32; + description + "Respawn Count"; + } + leaf last-nsf-on { + type int64; + description + "Last NSF time ON"; + } + leaf last-nsf-off { + type int64; + description + "Last NSF time off"; + } + leaf last-nsf-on-sec { + type int32; + units "second"; + description + "Last NSF time ON in Seconds"; + } + leaf last-nsf-off-sec { + type int32; + units "second"; + description + "Last NSF time OFF in Seconds"; + } + leaf last-icd-notif-recv { + type int64; + description + "Last ICD Notif Recv"; + } + leaf last-icd-notif-recv-sec { + type int32; + units "second"; + description + "Last ICD Notif Recv in Seconds"; + } + } + + grouping PIM-NSR-BAG { + description + "NSR Related information"; + leaf state { + type uint8; + description + "NSR state"; + } + leaf partner-connected { + type boolean; + description + "Partner process connected"; + } + leaf rmf-notification-done { + type boolean; + description + "RMF Notification done"; + } + leaf rmf-timer-valid { + type boolean; + description + "Is RMF timer running ?"; + } + leaf rmf-timer-expiry { + type uint64; + description + "Time for RMF timer to expire"; + } + leaf last-connection-up { + type uint64; + description + "Time when connection went up"; + } + leaf last-connection-dn { + type uint64; + description + "Time when connection went down"; + } + leaf last-rmf-ready { + type uint64; + description + "Time when RMF Rdy notif was sent"; + } + leaf last-rmf-not-ready { + type uint64; + description + "Time when RMF Not-Rdy notif was sent"; + } + leaf count-connection-up { + type uint32; + description + "No. of times connection went up"; + } + leaf count-connection-dn { + type uint32; + description + "No. of times connection went down"; + } + leaf count-rmf-ready { + type uint32; + description + "No. of times RMF Ready notif was sent"; + } + leaf count-rmf-not-ready { + type uint32; + description + "No. of times RMF Not Ready notif was sent"; + } + } + + grouping PIM-NBR-BAG { + description + "PIM neighbor information"; + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expires { + type uint64; + units "second"; + description + "Neighbor expiry in seconds"; + } + leaf expiry-timer { + type uint64; + units "second"; + description + "Expiry timer in seconds"; + } + leaf is-this-neighbor-us { + type boolean; + description + "Is this neighbor us ?"; + } + leaf is-this-neighbor-dr { + type boolean; + description + "Is this neighbor the DR"; + } + leaf is-dr-priority-capable { + type boolean; + description + "Is this neighbor DR priority capable ?"; + } + leaf dr-priority { + type uint32; + description + "DR priority"; + } + leaf is-bidirectional-capable { + type boolean; + description + "Is this neighbor bidir capable ?"; + } + leaf is-proxy-capable { + type boolean; + description + "Is this neighbor proxy capable?"; + } + leaf is-batch-asserts-capable { + type boolean; + description + "Is this neighbor capable of batching asserts?"; + } + leaf is-ecmp-redirect-capable { + type boolean; + description + "Is this neighbor capable of Ecmp Redirect?"; + } + leaf is-bfd-state { + type boolean; + description + "Is the neighbor bfd session created"; + } + leaf sticky-dr-neighbor { + type boolean; + description + "Is Sticky DR advertised on interface by neighbor"; + } + leaf propagation-delay { + type uint16; + description + "Propagation Delay"; + } + leaf override-interval { + type uint16; + description + "Override Interval"; + } + list neighbor-address-xr { + description + "List of Neighbor Addresses"; + uses PIM-ADDRTYPE; + } + } + + grouping PIM-MSTATIC-BAG { + description + "Multicast Static Routes entry"; + container prefix { + description + "Prefix"; + uses PIM-ADDRTYPE; + } + container nexthop { + description + "Next Hop"; + uses PIM-ADDRTYPE; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Handle"; + } + leaf distance { + type uint32; + description + "Distance"; + } + leaf prefix-length-xr { + type uint8; + description + "Prefix Length"; + } + leaf is-via-lsm { + type boolean; + description + "LSM flag"; + } + } + + grouping PIM-RPF-RDRCT-BNDL-BAG { + description + "PIM RPF Redirect bundle information"; + leaf rpf-redirect-bundle-name { + type string { + length "0..33"; + } + description + "RPF redirect bundle name"; + } + leaf rpf-redirect-interface-name { + type string { + length "0..33"; + } + description + "RPF redirect interface name"; + } + leaf available-bandwidth { + type int32; + units "kbit/s"; + description + "Bandwidth available in Kbps"; + } + leaf allocated-bandwidth { + type int32; + units "kbit/s"; + description + "Bandwidth allocated in Kbps"; + } + leaf total-bandwidth { + type int32; + units "kbit/s"; + description + "Total bandwidth used in Kbps"; + } + leaf topology-bandwidth-used { + type int32; + units "kbit/s"; + description + "Bandwidth used by topology in Kbps"; + } + leaf snooping-bandwidth-used { + type int32; + units "kbit/s"; + description + "Bandwidth used by snooped entries in Kbps"; + } + leaf allocated-threshold-bandwidth { + type int32; + units "kbit/s"; + description + "Configured threshold in Kbps"; + } + leaf available-threshold-bandwidth { + type int32; + units "kbit/s"; + description + "Available threshold in Kbps"; + } + } + + grouping PIM-RPF-RDRCT-RINTF-BAG { + description + "PIM RPF-redirct bundle non-local route OLE + information"; + container rpf-address { + description + "RPF Address"; + uses PIM-ADDRTYPE; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiry { + type uint64; + units "second"; + description + "Expiry in seconds"; + } + leaf is-rpf-interface { + type boolean; + description + "Is RPF Interface"; + } + leaf is-outgoing-interface { + type boolean; + description + "Is outgoing Interface"; + } + leaf is-snoop-interface { + type boolean; + description + "Is snooping Interface"; + } + } + + grouping PIM-RPF-RDRCT-ROUTE-BAG { + description + "PIM RPF Redirect route information"; + container group-address-xr { + description + "Group ddress"; + uses PIM-ADDRTYPE; + } + container source-address-xr { + description + "Source address"; + uses PIM-ADDRTYPE; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth in Kbps"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + list interface { + description + "Outgoing interface list"; + uses PIM-RPF-RDRCT-RINTF-BAG; + } + } + + grouping PIM-ANYCAST-RP-ENTRY { + description + "PIM Anycast RP entry"; + container prefix { + description + "Anycast-RP Range Prefix"; + uses PIM-ADDRTYPE; + } + leaf prefix-length { + type uint8; + description + "Anycast-RP Range Prefix Length"; + } + leaf ancast-rp-marked { + type boolean; + description + "Anycast-RP Range marked"; + } + } + + grouping PIM-RT-EXTCOMM { + description + "PIM Route-target entry"; + leaf route-target { + type yang:hex-string; + description + "Route Target Extended community value"; + } + leaf configured { + type boolean; + description + "Configured Route Target"; + } + leaf anycast-rp { + type boolean; + description + "Anycast-RP Group"; + } + leaf anycast-rp-marked { + type boolean; + description + "Anycast-RP Group marked"; + } + leaf update-pending { + type boolean; + description + "Update Pending to BGP"; + } + leaf bgp-auto-discovery { + type boolean; + description + "BGP Auto Discovery"; + } + leaf segment-border { + type boolean; + description + "Segment Border"; + } + } + + grouping PIM-CONTEXT-BAG { + description + "PIM Context bag"; + container remote-default-group { + description + "Remote Default Group"; + uses PIM-ADDRTYPE; + } + container rpf-default-table { + description + "RPF Default Table"; + uses PIM-TABLE-CTX-BAG; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf murib-id { + type uint32; + description + "MURIB ID"; + } + leaf rpf-id { + type uint32; + description + "RPF ID"; + } + leaf remote-table-id { + type uint32; + description + "Remote Table ID"; + } + leaf mdt-default-group { + type inet:ipv4-address; + description + "MDT Default group"; + } + leaf mdt-source { + type inet:ipv4-address; + description + "MDT source"; + } + leaf mdt-source-interface { + type string; + description + "MDT Source Interface Name"; + } + leaf mdt-interface { + type xr:Interface-name; + description + "MDT handle"; + } + leaf mdt-gre-rpf-identifier { + type uint32; + description + "GRE-MDT RPF Identifier"; + } + leaf mdt-gre-remote-rpf-identifier { + type uint32; + description + "GRE-MDT Remote RPF Identifier"; + } + leaf is-unicast-rib-registration { + type boolean; + description + "Ucast RIB Registration"; + } + leaf is-multicast-rib-registration { + type boolean; + description + "Mcast RIB Registration"; + } + leaf is-active { + type boolean; + description + "Active"; + } + leaf is-active-ital { + type boolean; + description + "Active ITAL"; + } + leaf is-mrib-register { + type boolean; + description + "MRIB Register"; + } + leaf is-mdt-owner { + type boolean; + description + "MDT Owner"; + } + leaf is-routing-enabled { + type boolean; + description + "Routing Enabled"; + } + leaf is-socket-add-required { + type boolean; + description + "VRF required on Socket"; + } + leaf is-socket-added { + type boolean; + description + "VRF added on Socket"; + } + leaf is-lpts-socket-add-required { + type boolean; + description + "VRF LPTS filter required on Socket"; + } + leaf is-lpts-socket-added { + type boolean; + description + "VRF LPTS filter added on Socket"; + } + leaf is-udp-socket-add-required { + type boolean; + description + "VRF added on UDP Socket"; + } + leaf is-udp-socket-added { + type boolean; + description + "VRF added on UDP Socket"; + } + leaf is-udp-socket-bind-required { + type boolean; + description + "VRF bind required on UDP Socket"; + } + leaf is-udp-socket-bind { + type boolean; + description + "VRF bound on UDP Socket"; + } + leaf is-register-injection-socket-add-required { + type boolean; + description + "VRF required on Register Injection Socket"; + } + leaf is-register-injection-socket-added { + type boolean; + description + "VRF added on Register Injection Socket"; + } + leaf is-register-injection-lpts-socket-add-required { + type boolean; + description + "VRF LPTS filter required on Register Injection + Socket"; + } + leaf is-register-injection-lpts-socket-added { + type boolean; + description + "VRF LPTS filter added on Register Injection + Socket"; + } + leaf is-m-host-publish-pending { + type boolean; + description + "Publish pending for MHost Default interface"; + } + leaf mhost-interface { + type xr:Interface-name; + description + "MHost handle"; + } + leaf mhost-default-interface-config { + type string; + description + "Configured Mhost Defint"; + } + leaf mdt-mtu { + type uint32; + description + "MDT MTU"; + } + leaf maximum-mdt-aggregation { + type uint32; + description + "MDT max aggregation"; + } + leaf mdt-data-switchover-interval { + type uint32; + description + "Data MDT Switchover interval"; + } + leaf mdt-data-announce-interval { + type uint32; + description + "Data MDT Announce interval"; + } + leaf non-default-vrf-count-on-socket { + type uint32; + description + "Count of non-default vrfs on raw socket"; + } + leaf neighbor-filter-name { + type string; + description + "Neighbor Filter Name"; + } + leaf mdt-neighbor-filter-name { + type string; + description + "MDT Neighbor Filter Name"; + } + leaf allow-rp-configured { + type boolean; + description + "Allow RP Configured"; + } + leaf allow-rp-group-list { + type string { + length "0..64"; + } + description + "Allow RP Group-List ACL Name"; + } + leaf allow-rp-rp-list { + type string { + length "0..64"; + } + description + "Allow RP RP-list ACL Name"; + } + leaf sg-expiry-timer-configured { + type boolean; + description + "S,G Expiry Timer Configured"; + } + leaf sg-expiry-time { + type uint16; + units "second"; + description + "S,G Expiry Time Configured, in seconds"; + } + leaf sg-expiry-timer-sg-list { + type string { + length "0..64"; + } + description + "S,G expiry timer ACL name"; + } + leaf mldp-mdt-name { + type string; + description + "MLDP MDT Name"; + } + leaf mldp-mdt-interface { + type xr:Interface-name; + description + "MLDP MDT handle"; + } + leaf mldp-mdt-mtu { + type uint32; + description + "MLDP MDT MTU"; + } + leaf mldp-maximum-mdt-aggregation { + type uint32; + description + "MLDP MDT max aggregation"; + } + leaf mldp-mdt-data-switchover-interval { + type uint32; + description + "MLDP Data MDT Switchover interval"; + } + leaf mldp-mdt-data-announce-interval { + type uint32; + description + "MLDP Data MDT Announce interval"; + } + leaf mldp-mdt-rpf-identifier { + type uint32; + description + "MLDP RPF-ID"; + } + leaf mldp-mdt-remote-rpf-identifier { + type uint32; + description + "MLDP Remote RPF-ID"; + } + leaf is-create-mldp-mdt-interface { + type boolean; + description + "Create MLDP MDT interface"; + } + leaf is-mldp-mdt-owner { + type boolean; + description + "MLDP MDT Owner"; + } + leaf mldp-root-count { + type uint32; + description + "MLDP Root count"; + } + leaf mldp-head-lsm-identifier { + type uint32; + description + "MLDP Head LSM-ID"; + } + leaf mldp-remote-head-lsm-identifier { + type uint32; + description + "MLDP Remote Head LSM-ID"; + } + leaf organization-unique-identifier { + type uint32; + description + "OUI for VPN-ID"; + } + leaf vpn-index { + type uint32; + description + "VPN Index"; + } + leaf mldp-partitioned-mdt-configured { + type boolean; + description + "MLDP Partitioned MDT"; + } + leaf mldp-remote-partitioned-mdt-configured { + type boolean; + description + "MLDP Remote Partitioned MDT"; + } + leaf mldp-partioned-mp2m-ptree { + type boolean; + description + "MP2MP Partitioned MDT tree"; + } + leaf mldp-partitioned-head-lsm-identifier { + type uint32; + description + "Partitioned MDT Head LSM-ID"; + } + leaf mldp-head-local-label { + type uint32; + description + "Partitioned MDT Head local label"; + } + leaf mldp-partitioned-mdt-identifier { + type uint32; + description + "MLDP Partitioned MDT Identifier"; + } + leaf bgp-auto-discovery-configured { + type boolean; + description + "BGP Auto-Discovery configured"; + } + leaf suppress-pim-data-mdt-tlv { + type boolean; + description + "Suppress PIM Data-MDT TLV Announcements"; + } + leaf inter-autonomous-system-enabled { + type boolean; + description + "Inter-AS Enabled"; + } + leaf bgp-source-active-announce { + type boolean; + description + "Send BGP Source-Active Announcements"; + } + leaf bgp-i-pmsi-added { + type boolean; + description + "BGP I-PMSI Added"; + } + leaf mldp-bsr-control-tree-added { + type boolean; + description + "MLDP BSR Control tree added"; + } + leaf mldp-auto-rp-discovery-tree-added { + type boolean; + description + "MLDP Autorp Discovery Control tree added"; + } + leaf mldp-auto-rp-announce-tree-added { + type boolean; + description + "MLDP Autorp Announce Control tree added"; + } + leaf bgp-auto-discovery-type { + type uint32; + description + "BGP Auto Discovery Type"; + } + leaf mdt-partitioned-mdt-control-identifier { + type uint32; + description + "Partitioned MDT Control Identifier"; + } + leaf mdt-partitioned-ir-control-identifier { + type uint32; + description + "Partitioned IR MDT Control Identifier"; + } + leaf mldp-control-head-lsm-identifier { + type uint32; + description + "MLDP MVPN Identifier"; + } + leaf umh { + type boolean; + description + "Join UMH Core-Tree"; + } + leaf suppress-shared-tree-join { + type boolean; + description + "Suppress Shared-Tree Joins"; + } + leaf rsvp-te-mdt-name { + type string; + description + "RSVP-TE MDT Name"; + } + leaf rsvp-te-mdt-interface { + type xr:Interface-name; + description + "RSVP-TEMDT handle"; + } + leaf rsvp-te-mdt-mtu { + type uint32; + description + "RSVP-TEMDT MTU"; + } + leaf rsvp-te-maximum-mdt-aggregation { + type uint32; + description + "RSVP-TE MDT max aggregation"; + } + leaf rsvp-te-mdt-data-switchover-interval { + type uint32; + description + "RSVP-TE Data MDT Switchover interval"; + } + leaf rsvp-te-mdt-data-announce-interval { + type uint32; + description + "RSVP-TE Data MDT Announce interval"; + } + leaf rsvp-te-mdt-rpf-identifier { + type uint32; + description + "RSVP-TE RPF-ID"; + } + leaf is-create-rsvp-te-mdt-interface { + type boolean; + description + "Create RSVP-TE MDT interface"; + } + leaf is-rsvp-te-mdt-owner { + type boolean; + description + "RSVP-TE MDT Owner"; + } + leaf rsvp-te-mdt-static-p2mp-count { + type uint32; + description + "Number of Static P2MP-TE MDT"; + } + leaf p2mpte-li-drop { + type uint32; + description + "Route LI updates dropped for P2MP"; + } + leaf ir-mdt-name { + type string; + description + "IR MDT Name"; + } + leaf ir-mdt-interface { + type xr:Interface-name; + description + "IRMDT handle"; + } + leaf ir-mdt-mtu { + type uint32; + description + "IRMDT MTU"; + } + leaf ir-maximum-mdt-aggregation { + type uint32; + description + "IR MDT max aggregation"; + } + leaf ir-mdt-data-switchover-interval { + type uint32; + description + "IR Data MDT Switchover interval"; + } + leaf ir-mdt-data-announce-interval { + type uint32; + description + "IR Data MDT Announce interval"; + } + leaf ir-mdt-rpf-identifier { + type uint32; + description + "IR RPF-ID"; + } + leaf ir-mdt-tail-label { + type uint32; + description + "IR Tail Label"; + } + leaf is-create-ir-mdt-interface { + type boolean; + description + "Create IR MDT interface"; + } + leaf is-ir-mdt-owner { + type boolean; + description + "IR MDT Owner"; + } + leaf is-sr-local { + type boolean; + description + "SR Local"; + } + leaf is-sr-remote { + type boolean; + description + "SR Remote"; + } + leaf sr-mdt-name { + type string; + description + "SR MDT Name"; + } + leaf sr-mdt-interface { + type xr:Interface-name; + description + "SRMDT handle"; + } + leaf sr-mdt-mtu { + type uint32; + description + "SRMDT MTU"; + } + leaf sr-maximum-mdt-aggregation { + type uint32; + description + "SR MDT max aggregation"; + } + leaf sr-mdt-data-switchover-interval { + type uint32; + description + "SR Data MDT Switchover interval"; + } + leaf sr-mdt-data-announce-interval { + type uint32; + description + "SR Data MDT Announce interval"; + } + leaf sr-mdt-rpf-identifier { + type uint32; + description + "SR RPF-ID"; + } + leaf sr-mdt-tail-label { + type uint32; + description + "SR Tail Label"; + } + leaf is-create-sr-mdt-interface { + type boolean; + description + "Create SR MDT interface"; + } + leaf is-sr-mdt-owner { + type boolean; + description + "SR MDT Owner"; + } + leaf mdt-partitioned-tree-sid-control-identifier { + type uint32; + description + "Partitioned Tree-SID MDT Control Identifier"; + } + leaf in-b-and-mdt-name { + type string; + description + "Inband MDT Name"; + } + leaf in-b-and-mdt-interface { + type xr:Interface-name; + description + "Inband MDT handle"; + } + leaf in-b-and-mdt-mtu { + type uint32; + description + "Inband MDT MTU"; + } + leaf in-band-maximum-mdt-aggregation { + type uint32; + description + "Inband MDT max aggregation"; + } + leaf in-b-and-mdt-data-switchover-interval { + type uint32; + description + "Inband Data MDT Switchover interval"; + } + leaf in-b-and-mdt-data-announce-interval { + type uint32; + description + "Inband Data MDT Announce interval"; + } + leaf in-b-and-mdt-rpf-identifier { + type uint32; + description + "Inband RPF-ID"; + } + leaf is-create-in-b-and-mdt-interface { + type boolean; + description + "Create Inband MDT interface"; + } + leaf is-in-b-and-mdt-owner { + type boolean; + description + "Inband MDT Owner"; + } + leaf in-band-signaling-local-enabled { + type boolean; + description + "Inband signaling Local enabled"; + } + leaf in-band-signaling-remote-enabled { + type boolean; + description + "Inband signaling Remote enabled"; + } + leaf valid-rd-present { + type boolean; + description + "RD is valid"; + } + leaf stale-rd-present { + type boolean; + description + "RD is stale"; + } + leaf route-distinguisher { + type yang:hex-string; + description + "RD value"; + } + leaf gin-b-and-mdt-name { + type string; + description + "Inband MDT Name"; + } + leaf gin-b-and-mdt-interface { + type xr:Interface-name; + description + "Inband MDT handle"; + } + leaf gin-b-and-mdt-mtu { + type uint32; + description + "Inband MDT MTU"; + } + leaf gin-band-maximum-mdt-aggregation { + type uint32; + description + "Inband MDT max aggregation"; + } + leaf gin-b-and-mdt-data-switchover-interval { + type uint32; + description + "Inband Data MDT Switchover interval"; + } + leaf gin-b-and-mdt-data-announce-interval { + type uint32; + description + "Inband Data MDT Announce interval"; + } + leaf gin-b-and-mdt-rpf-identifier { + type uint32; + description + "Inband RPF-ID"; + } + leaf is-create-gin-b-and-mdt-interface { + type boolean; + description + "Create Inband MDT interface"; + } + leaf is-gin-b-and-mdt-owner { + type boolean; + description + "Inband MDT Owner"; + } + leaf is-pim-nsf-rib-converged { + type boolean; + description + "PIM NSF RIB converged"; + } + leaf is-pim-nsf-rib-converge-received { + type boolean; + description + "PIM NSF RIB converge received"; + } + leaf is-rib-multipath-enabled { + type boolean; + description + "PIM RIB multiplath enabled"; + } + leaf is-rib-multipath-interface-hash { + type boolean; + description + "PIM RIB multipath interface hash"; + } + leaf is-rib-multipath-source-hash { + type boolean; + description + "PIM RIB multipath source based hash"; + } + leaf is-rib-multipath-source-next-hop-hash { + type boolean; + description + "PIM RIB multipath source-nexthop hash"; + } + leaf rump-enabled { + type boolean; + description + "PIM is using MuRIB"; + } + leaf is-create-mdt-interface { + type boolean; + description + "Create MDT interface"; + } + leaf is-auto-rp-listen-enabled { + type boolean; + description + "Auto RP Listen Enabled"; + } + leaf is-all-interface-disable-operation { + type boolean; + description + "PIM all interface disable operation"; + } + leaf is-default-granges { + type boolean; + description + "Default granges"; + } + leaf is-auto-rp-listen-sock-add { + type boolean; + description + "Auto RP listen sock add"; + } + leaf is-redistribution-reset { + type boolean; + description + "Pending redist reset"; + } + leaf redistribution-reset-count { + type uint32; + description + "Redist reset count"; + } + leaf rpf-policy-name { + type string; + description + "RPF topology selection route-policy name"; + } + leaf table-count { + type uint32; + description + "Number of configured Tables"; + } + leaf active-table-count { + type uint32; + description + "Number of active Tables"; + } + leaf anycast-rp-policy-name { + type string; + description + "Anycast-RP Policy Name"; + } + leaf anycast-rp-configured { + type boolean; + description + "Anycast-RP config"; + } + leaf bgp-remote-on { + type boolean; + description + "BGP remote interface status"; + } + leaf bgp-remote-interface-name { + type string; + description + "BGP remote interface name"; + } + leaf bgp-remote-interface { + type xr:Interface-name; + description + "BGP remote interface handle"; + } + leaf bgp-remote-address { + type inet:ipv4-address; + description + "BGP remote interface address"; + } + leaf bgp-remote-state { + type uint32; + description + "BGP remote interface state"; + } + leaf physical-interface-count { + type uint64; + description + "Enabled Physical Interface Count"; + } + leaf virtual-interface-count { + type uint64; + description + "Enabled Virtual Interface Count"; + } + leaf virtual-mlc-interface-name { + type string; + description + "Virtual master line card Interface"; + } + leaf mdt-immediate-switch { + type boolean; + description + "MDT Immediate Switch"; + } + leaf remote-mdt-idb-name { + type string; + description + "Remote MDT Interface Handle Name"; + } + leaf remote-mdt-address { + type inet:ipv4-address; + description + "Remote MDT interface address"; + } + leaf-list mldp-root-address { + type uint32; + description + "MLDP Root addresses"; + } + list export-route-target { + description + "Export Route Targets"; + uses PIM-RT-EXTCOMM; + } + list import-route-target { + description + "Import Route Targets"; + uses PIM-RT-EXTCOMM; + } + list anycast-rp-range { + description + "Anycast-RP Ranges"; + uses PIM-ANYCAST-RP-ENTRY; + } + } + + grouping PIM-NBR-SUMM-BAG { + description + "PIM neighbor summary"; + leaf number-of-neighbors { + type int32; + description + "Number of neighbors"; + } + leaf number-of-external-neighbors { + type int32; + description + "Number of external neighbors"; + } + } + + grouping PIM-TABLE-CTX-BAG { + description + "PIM Table context"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf table-name { + type string; + description + "Table name"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf is-active { + type boolean; + description + "Active status"; + } + leaf is-ital-registration-done { + type boolean; + description + "ITAL reg status"; + } + leaf is-rib-registration-done { + type boolean; + description + "RIB reg status"; + } + leaf is-rib-convergence-received { + type boolean; + description + "RIB Convergence receive status"; + } + leaf is-rib-convergence { + type boolean; + description + "RIB Convergence status"; + } + leaf rpf-registrations { + type uint32; + description + "RPF Registration count"; + } + } + + grouping PIM-BIDIR-DF-BAG { + description + "PIM Bidirectional DF entry"; + container rp-address-xr { + description + "RP Address"; + uses PIM-ADDRTYPE; + } + container df-winner { + description + "DF Winner"; + uses PIM-ADDRTYPE; + } + leaf pim-interface-name { + type string; + description + "Interface Name"; + } + leaf are-we-df { + type boolean; + description + "Are we DF"; + } + leaf rp-lan { + type boolean; + description + "Is this the RP LAN"; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf metric-preference { + type uint32; + description + "Metric Preference"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + } + + grouping PIM-GRE-PATH-BAG { + description + "PIM GRE path information"; + container gre-neighbor { + description + "GRE neighbor"; + uses PIM-ADDRTYPE; + } + container gre-next-hop { + description + "GRE nexthop"; + uses PIM-ADDRTYPE; + } + leaf gre-interface-name { + type xr:Interface-name; + description + "GRE Interface"; + } + leaf is-gre-interface-disabled { + type boolean; + description + "Is the gre interface disabled ?"; + } + leaf is-via-lsm { + type boolean; + description + "Via LSM"; + } + leaf is-connector-attribute-present { + type boolean; + description + "Connector attribute present"; + } + leaf extranet-vrf-name { + type string { + length "0..33"; + } + description + "Extranet VRF name"; + } + } + + grouping PIM-GRE-INFO-BAG { + description + "PIM GRE information"; + container registered-address { + description + "Address registered"; + uses PIM-ADDRTYPE; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf metric-preference { + type uint32; + description + "Metric preference"; + } + leaf is-connected { + type uint8; + description + "Are we connected ?"; + } + list gre-path { + description + "GRE Paths list"; + uses PIM-GRE-PATH-BAG; + } + } + + grouping PIM-SUMMARY-BAG { + description + "PIM Summary Bag"; + leaf route-limit { + type uint32; + description + "Maximum routes"; + } + leaf route-count { + type uint32; + description + "Current routes"; + } + leaf route-low-water-mark { + type uint32; + description + "The number of routes below which the throttle on + route creation will be lifted"; + } + leaf is-route-limit-reached { + type boolean; + description + "Is route creation throttled"; + } + leaf topology-interface-state-limit { + type uint32; + description + "Maximum Topology Interface State count"; + } + leaf topology-interface-state-count { + type uint32; + description + "Current Topology Interface State count"; + } + leaf rxi-low-water-mark { + type uint32; + description + "The rxi below which the throttle on interface + creation will be lifted"; + } + leaf rxi-limit-reached { + type boolean; + description + "Is interface creation throttled"; + } + leaf register-limit { + type uint32; + description + "Maximum registers"; + } + leaf register-count { + type uint32; + description + "Current registers"; + } + leaf register-limit-reached { + type boolean; + description + "Is PIM SM register handling throttled"; + } + leaf ranges-limit { + type uint32; + description + "Maximum group ranges from Autorp"; + } + leaf ranges-count { + type uint32; + description + "Current group ranges from Autorp"; + } + leaf ranges-threshold { + type uint32; + description + "OOR theshold of grange ranges from AutoRP"; + } + leaf is-ranges-limit-reached { + type boolean; + description + "Is Auto-RP group-to-RP mapping range creation + throttled"; + } + leaf bsr-ranges-limit { + type uint32; + description + "Maximum group ranges from BSR"; + } + leaf bsr-ranges-count { + type uint32; + description + "Current group ranges from BSR"; + } + leaf bsr-range-threshold { + type uint32; + description + "Threshold group range from BSR"; + } + leaf is-bsr-ranges-threshold-reached { + type boolean; + description + "Is VRF-specific BSR group-to-RP mapping range + creation throttled"; + } + leaf bsr-candidate-rp-set-limit { + type uint32; + description + "Maximum crp-set from BSR"; + } + leaf bsr-candidate-rp-set-count { + type uint32; + description + "Current crp-set count from BSR"; + } + leaf bsr-candidate-rp-set-threshold { + type uint32; + description + "Threshold crp-set from BSR"; + } + leaf is-maximum-enforcement-disabled { + type boolean; + description + "Is maximum enforcement disabled"; + } + leaf is-node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + leaf route-threshold { + type uint32; + description + "Threshold routes"; + } + leaf global-auto-rp-ranges-limit { + type uint32; + description + "Global Auto-RP maximum group ranges"; + } + leaf is-global-auto-rp-ranges-limit-reached { + type boolean; + description + "Is global AutoRP group-to-RP mapping range + creation throttled"; + } + leaf global-bsr-ranges-limit { + type uint32; + description + "Global BSR maximum group ranges"; + } + leaf global-bsr-ranges-count { + type uint32; + description + "Global BSR current group ranges"; + } + leaf global-bsr-ranges-threshold { + type uint32; + description + "Global BSR Threshold group ranges"; + } + leaf is-global-bsr-ranges-limit-reached { + type boolean; + description + "Is global BSR group-to-RP mapping range creation + throttled"; + } + leaf global-bsr-candidate-rp-set-limit { + type uint32; + description + "Global BSR maximum crp-set"; + } + leaf global-bsr-candidate-rp-set-count { + type uint32; + description + "Global BSR current crp-set count"; + } + leaf global-bsr-candidate-rp-set-threshold { + type uint32; + description + "Global BSR Threshold crp-set"; + } + leaf is-global-route-limit-reached { + type boolean; + description + "Is global route creation throttled"; + } + leaf topology-interface-state-threshold { + type uint32; + description + "Topology Interface State threshold"; + } + leaf is-global-rxi-limit-reached { + type boolean; + description + "Is global interface creation throttled"; + } + leaf register-threshold { + type uint32; + description + "Threshold registers"; + } + leaf global-register-limit { + type uint32; + description + "Maximum global registers"; + } + leaf is-global-register-limit-reached { + type boolean; + description + "Is global PIM SM register handling throttled"; + } + } + + grouping PIM-GRP-MAP-INFORPF-BAG { + description + "PIM group-map information"; + container rpf-neighbor { + description + "RPF neighbor to the RP"; + uses PIM-ADDRTYPE; + } + container group-map-information { + description + "Group Mapping information"; + uses PIM-GRP-MAP-BAG; + } + leaf are-we-rp { + type boolean; + description + "Are we the RP?"; + } + leaf rpf-interface-name { + type xr:Interface-name; + description + "RPF interface to the RP"; + } + leaf rpf-vrf-name { + type string { + length "0..33"; + } + description + "RPF VRF Name"; + } + } + + grouping PIM-PKTQ-STATS { + description + "PIM packet queue statistics per priority"; + leaf enqueued-packets { + type uint32; + description + "Total number of packets enqueued to this queue"; + } + leaf dequeued-packets { + type uint32; + description + "Total number of packets dequeued from this queue"; + } + leaf high-water-mark-packets { + type uint32; + description + "Highest number of packets enqueued in this queue"; + } + leaf high-water-mark-bytes { + type uint32; + units "byte"; + description + "Highest number of bytes enqueued in this queue"; + } + leaf tail-drops { + type uint32; + description + "Number packets dropped from this queue due to + max size"; + } + } + + grouping PIM-PKTQ-STATE { + description + "PIM packet queue state per priority"; + leaf max-queue-size { + type uint32; + units "byte"; + description + "Maximum size of queue in bytes"; + } + leaf queue-size-bytes { + type uint32; + units "byte"; + description + "Size of queue in bytes"; + } + leaf queue-size-packets { + type uint32; + description + "Size of queue in number of packets"; + } + } + + grouping PIM-PKTQ { + description + "PIM packet queue state and statistics"; + container packet-queue-state { + description + "State of the queue"; + uses PIM-PKTQ-STATE; + } + container packet-queue-stats { + description + "Statistics about the queue"; + uses PIM-PKTQ-STATS; + } + leaf packet-queue-priority { + type uint32; + description + "Priority of this packet queue"; + } + } + + grouping PIM-TRAFFIC-BAG { + description + "PIM Traffic counters"; + leaf elapsed-time { + type uint32; + units "second"; + description + "Running time for counters in seconds"; + } + leaf inputs { + type uint32; + description + "Packets in"; + } + leaf outputs { + type uint32; + description + "Packets out"; + } + leaf format-error { + type uint32; + description + "Malformed packets in"; + } + leaf pakman-error { + type uint32; + description + "Pakman packets dropped"; + } + leaf standby-packets-error { + type uint32; + description + "Packets received in standby state"; + } + leaf checksum-error { + type uint32; + description + "Checksum errors"; + } + leaf socket-error { + type uint32; + description + "Socket errors"; + } + leaf send-queue-full { + type uint32; + description + "Packets dropped since send queue was full"; + } + leaf boundary-acl-rx-drop { + type uint32; + description + "Inc. JP dropped since boundary ACL confg"; + } + leaf boundary-acl-tx-drop { + type uint32; + description + "Out JP dropped since boundary ACL confg"; + } + leaf no-socket-connection { + type uint32; + description + "Packets dropped since no socket connection"; + } + leaf no-source-address { + type uint32; + description + "Packets dropped since no source address"; + } + leaf input-hello { + type uint32; + description + "Hello packets in"; + } + leaf output-hello { + type uint32; + description + "Hello packets out"; + } + leaf input-jp { + type uint32; + description + "Join Prune packets in"; + } + leaf output-jp { + type uint32; + description + "Join Prune packets out"; + } + leaf input-data-register { + type uint32; + description + "Data Register packets in"; + } + leaf input-null-register { + type uint32; + description + "Null Register packets in"; + } + leaf output-null-register { + type uint32; + description + "Null Register packets out"; + } + leaf input-register-stop { + type uint32; + description + "Register Stop packets in"; + } + leaf output-register-stop { + type uint32; + description + "Register Stop packets out"; + } + leaf input-assert { + type uint32; + description + "Assert packets in"; + } + leaf input-assert-batched { + type uint32; + description + "Batched Assert packets in"; + } + leaf output-assert { + type uint32; + description + "Assert packets out"; + } + leaf output-assert-batched { + type uint32; + description + "Batched Assert packets out"; + } + leaf input-df-election { + type uint32; + description + "DF Election packets in"; + } + leaf output-df-election { + type uint32; + description + "DF Election packets out"; + } + leaf input-bsr-message { + type uint32; + description + "Input BSR Messages"; + } + leaf output-bsr-message { + type uint32; + description + "Output BSR Messages"; + } + leaf input-candidate-rp-advertisement { + type uint32; + description + "Input Candidate-RP Advertisment"; + } + leaf output-candidate-rp-advertisement { + type uint32; + description + "Output Candidate-RP Advertisment"; + } + leaf input-ecmp-redirect { + type uint32; + description + "Input Ecmp Redirect"; + } + leaf output-ecmp-redirect { + type uint32; + description + "Output Ecmp Redirect"; + } + leaf output-loop-error { + type uint32; + description + "Output on loopback error"; + } + leaf mldp-mdt-invalid-lsm-identifier { + type uint32; + description + " Invalid LSM ID"; + } + leaf input-no-idb-error { + type uint32; + description + "No IDB for intf error"; + } + leaf input-no-vrf-error { + type uint32; + description + "No VRF for idb error"; + } + leaf input-no-pim-error { + type uint32; + description + "PIM Disabled on intf error"; + } + leaf input-pim-version-error { + type uint32; + description + "Invalid PIM version error"; + } + leaf output-join-group { + type uint32; + description + "Output Join Groups"; + } + leaf output-prune-group { + type uint32; + description + "Output Prune Groups"; + } + leaf output-join-prune-bytes { + type uint32; + units "byte"; + description + "Output JP Bytes"; + } + leaf output-hello-bytes { + type uint32; + units "byte"; + description + "Output Hello Bytes"; + } + leaf non-supported-packets { + type uint32; + description + "PIM non supported pckets"; + } + leaf invalid-registers { + type uint32; + description + "PIM invalid registers received"; + } + leaf invalid-join-prunes { + type uint32; + description + "PIM invalid Join/Prunes received"; + } + leaf packet-packman-error { + type uint32; + description + "Packets Dropped due to Pakman Error"; + } + leaf packet-read-socket-error { + type uint32; + description + "Packet Read Socket Error"; + } + leaf packet-queue-last-clear { + type uint32; + units "second"; + description + "Time in seconds since the last clear of all + packet queues stats"; + } + leaf packets-standby { + type uint32; + description + "Packets Dropped due to Standby Error"; + } + leaf no-mdt-socket-connection { + type uint32; + description + "Packets dropped since no mdt socket connection"; + } + leaf mdt-send-queue-full { + type uint32; + description + "Packets dropped since mdt send queue was full"; + } + leaf mdt-socket-error { + type uint32; + description + "MDT Socket errors"; + } + leaf mdt-join-tlv-sent { + type uint32; + description + "Data MDT Join Msgs sent"; + } + leaf mdt-join-tlv-received { + type uint32; + description + "Data MDT Join Msgs received"; + } + leaf mdt-join-bad-type { + type uint32; + description + "Data MDT TLV bad type"; + } + leaf mdt-drop-local-source-address { + type uint32; + description + "Data MDT Join msgs dropped due to local source + addr"; + } + leaf mdt-drop-null-local-address { + type uint32; + description + "Data MDT Join msgs dropped due to null local + addr"; + } + leaf mdt-drop-no-idb { + type uint32; + description + "Data MDT Join msgs dropped due to idb missing"; + } + leaf mdt-drop-no-vrf { + type uint32; + description + "Data MDT Join msgs dropped due to vrf missing"; + } + leaf invalid-destination-packets { + type uint32; + description + "Control Packets with Invalid Destination"; + } + leaf mdt-joins-drop-multiple-encapsulation { + type uint32; + description + "MDT Join msgs dropped due to multiple Encap + limitation"; + } + leaf truncated-pim-packets { + type uint32; + description + "Packets dropped due to truncated Joins or Prunes"; + } + leaf invalid-source-encodings { + type uint32; + description + "Number of invalid source encodings received"; + } + leaf invalid-hello-options { + type uint32; + description + "Number of invalid hello options received"; + } + list packet-queue { + max-elements "2"; + description + "Packet queue state and statistics"; + uses PIM-PKTQ; + } + } + + grouping PIM-GRP-MAP-BAG { + description + "PIM group-map basic information"; + container prefix { + description + "Group range prefix"; + uses PIM-ADDRTYPE; + } + container rp-address { + description + "Rendezvous Point Address"; + uses PIM-ADDRTYPE; + } + leaf prefix-length { + type int32; + description + "Group range prefix length"; + } + leaf client { + type Pim-show-range-client; + description + "Client mapping learnt from"; + } + leaf protocol { + type Pim-show-protocol; + description + "Protocol mode of the range"; + } + leaf group-count { + type uint32; + description + "No. of groups in this range"; + } + leaf is-used { + type boolean; + description + "Is this mapping being used?"; + } + leaf mrib-active { + type boolean; + description + "Is this mapping active in MRIB?"; + } + leaf is-override { + type boolean; + description + "Is this the override range?"; + } + leaf priority { + type uint32; + description + "Bootstrap priority"; + } + } + + grouping PIM-GRP-MAP-INFOSRC-BAG { + description + "PIM group-map source information"; + container source-of-information { + description + "The source of information"; + uses PIM-ADDRTYPE; + } + container group-map-information { + description + "Group Mapping information"; + uses PIM-GRP-MAP-BAG; + } + leaf holdtime { + type int32; + units "second"; + description + "Holdtime in seconds"; + } + leaf expires { + type uint64; + units "second"; + description + "Mapping expiry time in seconds"; + } + leaf uptime { + type uint64; + units "second"; + description + "Mapping uptime in seconds"; + } + } + + grouping PIM-TT-OLE-BAG { + description + "PIM topology OLE information"; + container assert-winner { + description + "Assert Winner"; + uses PIM-ADDRTYPE; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiry { + type uint64; + units "second"; + description + "Expiry in seconds"; + } + leaf bgp-c-mcast-prune-delay-timer { + type uint64; + units "second"; + description + "BGP C-MCAST Prune Suppression in seconds"; + } + leaf jp-timer { + type int32; + units "second"; + description + "Join-Prune Timer (secs)"; + } + leaf jp-state { + type int32; + description + "Join-Prune State"; + } + leaf assert-timer { + type int32; + units "second"; + description + "Assert Timer in seconds"; + } + leaf local-members { + type int32; + description + "Local Information. Deprecated - use + 'local-members-information' instead"; + } + leaf internal-interest-info { + type int32; + description + "Internal Interest. Deprecated - use + 'internal-interest-information' instead"; + } + leaf forwarding-state { + type int32; + description + "Forward or Prune"; + } + leaf immediate-state { + type int32; + description + "Immediate fwding state"; + } + leaf last-hop { + type boolean; + description + "Are we last hop ?"; + } + leaf mldp-inband-mdt { + type boolean; + description + "MLDP Inband MDT interface"; + } + leaf mldp-stale { + type boolean; + description + "OLE is stale"; + } + leaf sa-prune { + type boolean; + description + "BGP SA Prune state"; + } + leaf admin-boundary { + type boolean; + description + "Is this an administrative boundary ?"; + } + leaf igmp-membership { + type boolean; + description + "IGMP membership"; + } + leaf mdt-safi-join { + type boolean; + description + "MDT Safi join"; + } + leaf mvpn-safi-join { + type boolean; + description + "MVPN Safi join"; + } + leaf local-mdt-join { + type boolean; + description + "Default MDT Join"; + } + leaf data-mdt-join { + type boolean; + description + "Data MDT join"; + } + leaf mvpnv6-safi-join { + type boolean; + description + "MVPN IPv6 Safi join"; + } + leaf bgp-c-mcast-join { + type boolean; + description + "BGP C-Mcast join"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF which physically owns"; + } + leaf extranet-interface { + type boolean; + description + "Is this an Extranet Interface ?"; + } + leaf internal-interest-information { + type Pim-internal-interest-info; + description + "Internal Interest. Replaces + internal-interest-info"; + } + leaf local-members-information { + type Pim-show-local-interest; + description + "Local Information. Replaces local-members"; + } + leaf assert-state { + type boolean; + description + "Assert State"; + } + } + + grouping PIM-TT-ROUTE-BAG { + description + "PIM topology table route"; + container group-address-xr { + description + "Group Address"; + uses PIM-ADDRTYPE; + } + container source-address-xr { + description + "Source Address"; + uses PIM-ADDRTYPE; + } + container rp-address { + description + "RP Address (If rpt)"; + uses PIM-ADDRTYPE; + } + container rpf-neighbor { + description + "RPF Neighbor"; + uses PIM-ADDRTYPE; + } + container secondary-rpf-neighbor { + description + "Secondary RPF Neighbor"; + uses PIM-ADDRTYPE; + } + container rpf-root { + description + "Root of this mcast tree"; + uses PIM-ADDRTYPE; + } + container proxy-address { + description + "RPF Proxy address."; + uses PIM-ADDRTYPE; + } + container orig-src-address { + description + "Orig Src Address."; + uses PIM-ADDRTYPE; + } + leaf limit-reached { + type boolean; + description + "Have we throttled the creation of routes or + interfaces ?"; + } + leaf low-memory { + type boolean; + description + "Node is running low on memory"; + } + leaf protocol { + type Pim-show-protocol; + description + "The PIM protocol"; + } + leaf wildcard { + type boolean; + description + "WC -Wildcard"; + } + leaf rpt-xr { + type boolean; + description + "Is this on the RPT ?"; + } + leaf spt { + type boolean; + description + "Is this on the SPT ?"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiry { + type uint64; + description + "When this entry expires"; + } + leaf alive { + type int32; + units "second"; + description + "Alive time in seconds (-1 if never)"; + } + leaf register-received-timer { + type int32; + units "second"; + description + "Register Received Timer in seconds (-1 if never)"; + } + leaf remote-source { + type boolean; + description + "MSDP told us"; + } + leaf crossed-threshold { + type boolean; + description + "Incoming traffic crossed threshold. MT flag set"; + } + leaf data-mdt-addr-assigned { + type boolean; + description + "PIM has assigned a Data MDT Address"; + } + leaf rpf-interface-name { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf rpf-vrf-name { + type string { + length "0..33"; + } + description + "RPF VRF Name"; + } + leaf rpf-safi { + type uint8; + description + "Unicast or mcast"; + } + leaf rpf-table-name { + type string; + description + "RPF Table name"; + } + leaf rpf-drop { + type boolean; + description + "RPF route-policy drop"; + } + leaf rpf-extranet { + type boolean; + description + "Extranet RPF route-policy"; + } + leaf is-via-lsm { + type boolean; + description + "Via LSM"; + } + leaf secondary-rpf-interface-name { + type xr:Interface-name; + description + "Secondary Interface Identifier"; + } + leaf connected { + type boolean; + description + "Is Connected ?"; + } + leaf proxy { + type boolean; + description + "Is the RPF target a proxy?"; + } + leaf rpf-proxy-enabled { + type boolean; + description + "Is rpf if proxy enabled?"; + } + leaf mofrr-enabled { + type boolean; + description + "Is this SG MoFRR enabled?"; + } + leaf rib-mo-frr-enabled { + type boolean; + description + "Is this SG MoFRR enabled?"; + } + leaf jp-timer { + type int32; + description + "Join-Prune Timer"; + } + leaf jp-status { + type int32; + description + "Join-Prune Status"; + } + leaf suppress-registers { + type int32; + description + "When the Null register probe expires"; + } + leaf assume-alive { + type boolean; + description + "The Assume Alive Bit"; + } + leaf probe-alive { + type boolean; + description + "The Probe Alive Bit"; + } + leaf really-alive { + type boolean; + description + "The Really Alive Bit"; + } + leaf inherit-alive { + type boolean; + description + "The Inherit Alive Bit"; + } + leaf inherit-spt { + type boolean; + description + "The Inherit SPT Bit"; + } + leaf signal-sources { + type boolean; + description + "Signal Sources on route?"; + } + leaf dont-check-connected { + type boolean; + description + "Do we need to make the connected check on this + route ?"; + } + leaf register-received { + type boolean; + description + "Have registers been received for this source ?"; + } + leaf last-hop { + type boolean; + description + "Are we last hop ?"; + } + leaf sending-registers { + type boolean; + description + "Are we sending registers for this route ?"; + } + leaf sending-null-registers { + type boolean; + description + "Are we sending null registers for this route ?"; + } + leaf sa-sent { + type boolean; + description + "BGP SA sent"; + } + leaf sa-received { + type boolean; + description + "BGP SA received"; + } + leaf sa-joined { + type boolean; + description + "BGP SA join"; + } + leaf anycast-rp-match { + type boolean; + description + "Group matches Anycast-RP policy"; + } + leaf anycast-rp-route-target { + type inet:ipv4-address; + description + "Anycast-RP RT"; + } + leaf bgp-join { + type boolean; + description + "BGP C JOIN"; + } + leaf bgp-jp-time { + type uint64; + description + "BGP C JP Time"; + } + leaf customer-routing-type { + type int32; + description + "Type of Customer Routing in the MVPN"; + } + leaf extranet-route { + type boolean; + description + "Is a Extranet route ?"; + } + leaf mofrr-active { + type boolean; + description + "Is MoFRR Active?"; + } + leaf mofrr-primary { + type boolean; + description + "Is this Mofrr Primary?"; + } + leaf mofrr-backup { + type boolean; + description + "Is this Mofrr Backup?"; + } + leaf vxlan { + type boolean; + description + "Is this VXLAN?"; + } + leaf kat-state { + type boolean; + description + "Keep Alive Timer State"; + } + list outgoing-interface { + description + "Outgoing interface list"; + uses PIM-TT-OLE-BAG; + } + } + + grouping PIM-BIDIR-DF-STATE-BAG { + description + "PIM Bidirectional DF state"; + container rp-address-xr { + description + "RP Address"; + uses PIM-ADDRTYPE; + } + leaf pim-interface-name { + type string; + description + "Interface Name"; + } + leaf election-state { + type string; + description + "DF Election State"; + } + leaf time-seconds { + type uint64; + units "second"; + description + "Timer expires (seconds)"; + } + leaf time-nano-seconds { + type uint64; + units "nanosecond"; + description + "Timer expires (nseconds)"; + } + leaf our-metric { + type uint32; + description + "Metric"; + } + leaf our-metric-preference { + type uint32; + description + "MetricPreference"; + } + } + + grouping PIM-TUNNEL-INFO-BAG { + description + "PIM tunnel information"; + container source-address { + description + "Source addr known to PIM"; + uses PIM-ADDRTYPE; + } + container rp-address { + description + "RP addr known to PIM"; + uses PIM-ADDRTYPE; + } + container source-address-netio { + description + "Source addr from netio"; + uses PIM-ADDRTYPE; + } + container group-address-netio { + description + "Group addr from netio"; + uses PIM-ADDRTYPE; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF Name"; + } + } + + grouping PIM-RPF-SUMMARY-BAG { + description + "PIM RPF count summary"; + leaf default-safi { + type uint32; + description + "Default RPF Table SAFI"; + } + leaf default-table-name { + type string; + description + "Default RPF Table Name"; + } + leaf is-mbgp-configured { + type boolean; + description + "Is MBGP configured?"; + } + leaf is-ospf-te-configured { + type boolean; + description + "Is OSPF TE configured?"; + } + leaf is-isis-te-configured { + type boolean; + description + "Is ISIS TE configured?"; + } + leaf is-isis-mtr-configured { + type boolean; + description + "Is ISIS MTR configured?"; + } + leaf mo-frr-configured { + type boolean; + description + "Is MoFRR configured?"; + } + leaf rib-mo-frr-configured { + type boolean; + description + "Is MoFRR RIB configured?"; + } + leaf rump-enabled { + type boolean; + description + "Is RUMP MuRIB enabled?"; + } + leaf rib-convergence-timeout { + type uint32; + units "second"; + description + "RIB convergence timeout in seconds"; + } + leaf rib-convergence-time-left { + type uint32; + units "second"; + description + "RIB convergence time left in seconds"; + } + leaf is-multipath-enabled { + type boolean; + description + "Is Multipath Enabled ?"; + } + leaf is-multipath-interface-hash-enabled { + type boolean; + description + "Is Multipath Interface Hash Extension Enabled ?"; + } + leaf is-multipath-source-hash-enabled { + type boolean; + description + "Is Multipath Source based Hash Enabled ?"; + } + leaf is-multipath-source-next-hop-hash-enabled { + type boolean; + description + "Is Multipath Source-Nexthop Hash Enabled ?"; + } + leaf rpf-registrations { + type uint32; + description + "RPF Registration count"; + } + leaf is-rib-convergence { + type boolean; + description + "RIB Convergence status"; + } + } + + grouping PIM-RPF-POLICY-STATS-BAG { + description + "PIM RPF policy statistics"; + leaf policy-name { + type string; + description + "RPF policy name"; + } + leaf requests { + type uint32; + description + "Number of RPF lookup requests"; + } + leaf pass { + type uint32; + description + "Number of RPF pass"; + } + leaf drop { + type uint32; + description + "Number of RPF drops"; + } + leaf default-table { + type uint32; + description + "Number of RPF lookup in default-only Table"; + } + leaf any-table { + type uint32; + description + "Number of RPF lookup in any Table"; + } + } + + grouping PIM-BSR-ELECTION-BAG { + description + "PIM BSR Election State"; + container bsr-address { + description + "BSR address"; + uses PIM-ADDRTYPE; + } + container candidate-bsr-address { + description + "C-BSR address"; + uses PIM-ADDRTYPE; + } + leaf bsr-priority { + type uint8; + description + "BSR Priority"; + } + leaf bsr-mask-length { + type uint8; + description + "Hash Function Mask Length"; + } + leaf bsr-up-time { + type uint16; + description + "BSR Uptime"; + } + leaf bootstrap-timeout { + type uint16; + description + "Bootstrap Timeout"; + } + leaf candidate-bsr-state { + type uint32; + description + "BSR Candidate State"; + } + leaf bsr-election-state { + type uint32; + description + "BSR Election State"; + } + leaf bsr-scope { + type uint16; + description + "BSR Scope"; + } + leaf candidate-bsr-flag { + type boolean; + description + "BSR Candidate Config Flag"; + } + leaf candidate-bsr-priority { + type uint8; + description + "C-BSR Priority"; + } + leaf candidate-bsr-mask-length { + type uint8; + description + "C-BSR Hash Func. Mask Len"; + } + } + + grouping PIM-BSR-CRP-ACL-BAG { + description + "PIM BSR Candidate RP Access-list"; + leaf candidate-rp-mode { + type Pim-show-protocol; + description + "Cand-RP Mode"; + } + leaf acl-name { + type string { + length "0..33"; + } + description + "Group Access-List Name"; + } + } + + grouping PIM-BSR-CANDIDATE-RP-BAG { + description + "PIM BSR Candidate RP"; + container candidate-rp { + description + "Cand-RP Address"; + uses PIM-ADDRTYPE; + } + leaf candidate-rp-mode { + type Pim-show-protocol; + description + "Cand-RP Mode"; + } + leaf candidate-rp-scope { + type int32; + description + "Cand-RP Scope"; + } + leaf crp-priority { + type uint8; + description + "Cand-RP Priority"; + } + leaf crp-holdtime { + type uint16; + description + "Cand-RP Holdtime"; + } + leaf candidate-rp-advance-interval { + type uint16; + units "second"; + description + "Cand-RP Adv Interval in seconds"; + } + leaf candidate-rp-uptime { + type uint16; + description + "Cand-RP uptime"; + } + leaf acl-name { + type string { + length "0..33"; + } + description + "Group Access-List Name"; + } + list crp-access { + max-elements "2"; + description + "Group Ranges Using this Cand-RP"; + uses PIM-BSR-CRP-ACL-BAG; + } + } + + grouping PIM-BSR-CRP-BAG { + description + "PIM BSR C-RP"; + list pim-bsr-crp-bag { + description + "Next C-RP in the List"; + container candidate-rp-address { + description + "C-RP address"; + uses PIM-ADDRTYPE; + } + leaf candidate-rp-holdtime { + type uint16; + description + "C-RP Holdtime"; + } + leaf candidate-rp-priority { + type uint8; + description + "C-RP Priority"; + } + leaf candidate-rp-up-time { + type uint16; + description + "C-RP Uptime"; + } + leaf candidate-rp-expires { + type uint16; + description + "C-RP Expires"; + } + leaf protocol { + type Pim-show-protocol; + description + "PIM Protocol"; + } + } + } + + grouping PIM-BSR-RP-CACHE-BAG { + description + "PIM BSR RP cache"; + container group-prefix-xr { + description + "Group Prefix"; + uses PIM-ADDRTYPE; + } + container candidate-rp-list { + description + "C-RP list for this prefix"; + uses PIM-BSR-CRP-BAG; + } + leaf group-prefix-length { + type uint32; + description + "Group Prefix Length"; + } + leaf candidate-rp-group-count { + type uint32; + description + "C-RP count for this Prefix"; + } + } + + grouping PIM-RL-RP-RANGE-BAG { + description + "PIM RP range list information"; + container prefix { + description + "Group range prefix"; + uses PIM-ADDRTYPE; + } + container source-of-information { + description + "Source of information"; + uses PIM-ADDRTYPE; + } + leaf prefix-length { + type int32; + description + "Group range prefix length"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expires { + type uint64; + description + "When mapping expires"; + } + } + + grouping PIM-RL-BAG { + description + "PIM range list information"; + container rp-address-xr { + description + "Rendezvous point address"; + uses PIM-ADDRTYPE; + } + container source-of-information { + description + "Source of information"; + uses PIM-ADDRTYPE; + } + leaf protocol { + type Pim-show-protocol; + description + "PIM protocol"; + } + leaf client-xr { + type Pim-show-range-client; + description + "Client mapping learnt via"; + } + leaf expires { + type uint64; + description + "When mapping expires"; + } + list group-range { + description + "List of group ranges"; + uses PIM-RL-RP-RANGE-BAG; + } + } + + grouping PIM-IDB-SUMM-BAG { + description + "PIM IFRS interface summary"; + leaf interface-count { + type uint32; + description + "Number of interfaces"; + } + leaf configuration-count { + type uint32; + description + "Configuration counts"; + } + } + + grouping PIM-MROUTE-BAG { + description + "Multicast Route MIB entry"; + container source-address-xr { + description + "Source Address"; + uses PIM-ADDRTYPE; + } + container group-address-xr { + description + "Group Address"; + uses PIM-ADDRTYPE; + } + container rpf-neighbor { + description + "The RPF Neighbor"; + uses PIM-ADDRTYPE; + } + container rpf-root { + description + "Root of this mcast tree"; + uses PIM-ADDRTYPE; + } + leaf upstream-assert-timer { + type int32; + description + "Upstream Assert Timer"; + } + leaf assert-metric { + type uint32; + description + "Assert Metric"; + } + leaf assert-metric-preference { + type uint32; + description + "Assert Metric Preference"; + } + leaf assert-rpt-bit { + type boolean; + description + "Assert RPT Bit"; + } + leaf spt-bit { + type boolean; + description + "Is SPT bit set ?"; + } + leaf rpf-mask { + type uint32; + description + "Mask of the multicast root"; + } + leaf rpf-safi { + type uint8; + description + "Unicast or mcast"; + } + leaf rpf-table-name { + type string; + description + "RPF Table name"; + } + leaf rpf-drop { + type boolean; + description + "RPF route-policy drop"; + } + leaf rpf-extranet { + type boolean; + description + "Extranet RPF route-policy"; + } + leaf rpf-interface-name { + type xr:Interface-name; + description + "RPF interface name "; + } + leaf rpf-vrf-name { + type string { + length "0..33"; + } + description + "RPF VRF Name"; + } + leaf bidirectional-route { + type boolean; + description + "Is this Bidir ?"; + } + leaf uptime { + type uint64; + description + "Uptime of route"; + } + leaf protocol { + type Pim-show-protocol; + description + "The PIM protocol"; + } + } + + grouping PIM-JPSTATS-BAG { + description + "PIM join-prune statistic"; + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf mtu { + type uint32; + description + "Interface MTU"; + } + leaf transmitted { + type uint32; + description + "Transmitted"; + } + leaf transmitted100 { + type uint16; + description + "Transmitted 100 average"; + } + leaf transmitted-1k { + type uint16; + description + "Transmitted 1K average"; + } + leaf transmitted-10k { + type uint16; + description + "Transmitted 10K average"; + } + leaf transmitted-50k { + type uint16; + description + "Deprecated by Transmitted100"; + } + leaf received { + type uint32; + description + "Received"; + } + leaf received100 { + type uint16; + description + "Received 100 average"; + } + leaf received-1k { + type uint16; + description + "Received 1K average"; + } + leaf received-10k { + type uint16; + description + "Received 10K average"; + } + leaf received-50k { + type uint16; + description + "Deprecated by Received100"; + } + } + + grouping PIM-TT-SUMM-BAG { + description + "PIM topology table summary"; + leaf group-ranges { + type uint32; + description + "No. of (*,G/M) routes"; + } + leaf active-group-ranges { + type uint32; + description + "No. of (*,G/M) routes active in mrib"; + } + leaf groute-count { + type uint32; + description + "No. of (*,G) routes"; + } + leaf sg-route-count { + type uint32; + description + "No. of (S,G) routes"; + } + leaf sgr-route-count { + type uint32; + description + "No. of (S,G)RPT routes"; + } + leaf is-node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + } + + grouping PIM-IFSTATS-BAG { + description + "PIM Interface Statistics"; + leaf input-hello { + type uint32; + description + "Hello packets in"; + } + leaf output-hello { + type uint32; + description + "Hello packets out"; + } + leaf input-register { + type uint32; + description + "Register packets in"; + } + leaf output-register { + type uint32; + description + "Register packets out"; + } + leaf input-register-stop { + type uint32; + description + "Register Stop packets in"; + } + leaf output-register-stop { + type uint32; + description + "Register Stop packets out"; + } + leaf input-jp { + type uint32; + description + "Join Prune packets in"; + } + leaf output-jp { + type uint32; + description + "Join Prune packets out"; + } + leaf input-bsr-message { + type uint32; + description + "Input BSR Messages"; + } + leaf output-bsr-message { + type uint32; + description + "Output BSR Messages"; + } + leaf input-assert { + type uint32; + description + "Assert packets in"; + } + leaf output-assert { + type uint32; + description + "Assert packets out"; + } + leaf input-graft-message { + type uint32; + description + "Input Graft Messages"; + } + leaf output-graft-message { + type uint32; + description + "Output Graft Messages"; + } + leaf input-graft-ack-message { + type uint32; + description + "Input Graft Ack Messages"; + } + leaf output-graft-ack-message { + type uint32; + description + "Output Graft Ack Messages"; + } + leaf input-candidate-rp-advertisement { + type uint32; + description + "Input Candidate-RP Advertisment"; + } + leaf output-candidate-rp-advertisement { + type uint32; + description + "Output Candidate-RP Advertisment"; + } + leaf input-df-election { + type uint32; + description + "DF Election packets in"; + } + leaf output-df-election { + type uint32; + description + "DF Election packets out"; + } + leaf input-miscellaneous { + type uint32; + description + "Miscellaneous packet in"; + } + } + + grouping PIM-IDB-BAG { + description + "PIM interface"; + container dr-address { + description + "PIM Designated Router"; + uses PIM-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Identfier"; + } + leaf interface-address-mask { + type uint8; + description + "Interface IP Address Mask"; + } + leaf is-enabled { + type boolean; + description + "Is PIM enabled on this IF ?"; + } + leaf neighbor-count { + type uint16; + description + "No. of neighbors on this IF"; + } + leaf external-neighbor-count { + type uint16; + description + "No. of external neighbors on this IF"; + } + leaf hello-interval { + type uint16; + description + "Hello Interval"; + } + leaf dr-priority { + type uint32; + description + "DR Priority"; + } + leaf hello-expiry { + type uint64; + description + "Hello Timer Expiry"; + } + leaf are-we-dr { + type boolean; + description + "Are we the DR on this IF ?"; + } + leaf bfd-enabled { + type boolean; + description + "BFD state"; + } + leaf bfd-interval { + type uint32; + description + "BFD Interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD Multiplier"; + } + leaf virtual-interface { + type boolean; + description + " is this a Virtual Interfaces ?"; + } + leaf passive-interface { + type boolean; + description + "Passive PIM interface"; + } + leaf neighbor-filter-name { + type string; + description + "Neighbor Filter Name"; + } + leaf sticky-dr-enabled { + type boolean; + description + "Is Sticky DR enabled on Interface"; + } + leaf sticky-dr-active { + type boolean; + description + "Is Sticky DR Active on Interface"; + } + leaf sticky-dr-active-since { + type uint64; + units "second"; + description + "Sticky DR uptime in seconds"; + } + leaf join-prune-interval { + type uint16; + description + "Join-Prune Interval"; + } + leaf prune-delay-enabled { + type boolean; + description + "Prune Delay Enabled"; + } + leaf configured-propagation-delay { + type uint16; + description + "Configured Propagation Delay"; + } + leaf propagation-delay { + type uint16; + description + "Propagation Delay"; + } + leaf configured-override-interval { + type uint16; + description + "Configured Override Interval"; + } + leaf override-interval { + type uint16; + description + "Override Interval"; + } + leaf generation-id { + type uint32; + description + "Generation Identifier"; + } + leaf is-bidirectional-capable { + type boolean; + description + "Bidir Capable"; + } + leaf is-proxy-capable { + type boolean; + description + "Proxy Capable"; + } + leaf is-batch-asserts-capable { + type boolean; + description + "Batch Asserts Capable"; + } + leaf idb-oor-enabled { + type boolean; + description + "Interface oor enabled"; + } + leaf idb-acl-provided { + type boolean; + description + "ACL name provided"; + } + leaf idb-max-count { + type uint32; + description + "Interface ole max count"; + } + leaf idb-threshold-count { + type uint32; + description + "Interface ole threshold count"; + } + leaf idb-current-count { + type uint32; + description + "Interface ole current count"; + } + leaf idb-acl-name { + type string { + length "0..64"; + } + description + "Interface ole ACL Name"; + } + list interface-address { + description + "List of Interface IP Addresses"; + uses PIM-ADDRTYPE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub2.yang new file mode 100644 index 000000000..fe41d24ba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper-sub2.yang @@ -0,0 +1,215 @@ +submodule Cisco-IOS-XR-ipv4-pim-oper-sub2 { + belongs-to Cisco-IOS-XR-ipv4-pim-oper { + prefix Cisco-IOS-XR-ipv4-pim-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-pim package operational data. + + This model is deprecated and is replaced by + Cisco-IOS-XR-pim-oper.yang which will provide the + compatible functionalities. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-30 { + description + "Providing pim information"; + semver:module-version "2.1.1m"; + } + revision 2019-10-31 { + description + "Changes to IOS-XR PIM oper + 2019-08-27 + Providing pim information"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-27 { + description + "Removed deprecated leaves under traffic-counters. Added missing leaves under context. Removed checkpoint-statistics container because the corresponding CLI command requires cisco-support permissions."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Pim-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + typedef Pim-interface { + type enumeration { + enum "encap-interface" { + value 0; + description + "Encap Interface"; + } + enum "decap-interface" { + value 1; + description + "Decap Interface"; + } + enum "mdt-interface" { + value 2; + description + "MDT Interface"; + } + } + description + "Interface Type"; + } + + grouping PIM-MA-SUMMARY { + description + "PIM MA Summary"; + leaf is-im-connection-open { + type boolean; + description + "IM Connection Open"; + } + leaf is-netio-connection-open { + type boolean; + description + "Netio Connection Open"; + } + leaf is-edm-connection-open { + type boolean; + description + "EDM Connection Open"; + } + leaf is-standby-edm-connection-open { + type boolean; + description + "Standby EDM Connection Open"; + } + leaf encap-interface-count { + type uint32; + description + "Encap Interface Count"; + } + leaf decap-interface-count { + type uint32; + description + "Decap Interface Count"; + } + leaf mdt-interface-count { + type uint32; + description + "MDT Interface Count"; + } + } + + grouping PIM-ADDRTYPE { + description + "PIM ADDRTYPE"; + leaf af-name { + type Pim-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Address"; + } + } + + grouping PIM-MA-IDB { + description + "PIM MA interface"; + container rp-address { + description + "RP Address"; + uses PIM-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses PIM-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf interface-type { + type Pim-interface; + description + "Interface Type"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper.yang new file mode 100644 index 000000000..7a9660e54 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-pim-oper.yang @@ -0,0 +1,1311 @@ +module Cisco-IOS-XR-ipv4-pim-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-pim-oper"; + prefix ipv4-pim-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-pim-oper-sub2 { + revision-date 2021-01-30; + } + include Cisco-IOS-XR-ipv4-pim-oper-sub1 { + revision-date 2021-01-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-pim package operational data. + + This model is deprecated and is replaced by + Cisco-IOS-XR-pim-oper.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + pim-ma: PIM MA operational data + pim: PIM operational data + ipv6-pim: IPv6 PIM operational data + pim6-ma: PIM6 MA operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-30 { + description + "Providing pim information"; + semver:module-version "2.1.1m"; + } + revision 2019-10-31 { + description + "Changes to IOS-XR PIM oper + 2019-08-27 + Providing pim information"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-27 { + description + "Removed deprecated leaves under traffic-counters. Added missing leaves under context. Removed checkpoint-statistics container because the corresponding CLI command requires cisco-support permissions."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pim-topology-interface-flag { + type enumeration { + enum "lh" { + value 0; + description + "LH"; + } + enum "ld" { + value 1; + description + "LD"; + } + enum "li" { + value 2; + description + "LI"; + } + enum "ii" { + value 3; + description + "II"; + } + enum "id" { + value 4; + description + "ID"; + } + enum "as" { + value 5; + description + "AS"; + } + enum "ab" { + value 6; + description + "AB"; + } + enum "ex" { + value 7; + description + "EX"; + } + } + description + "Pim topology interface flag"; + } + + typedef Pim-safi { + type enumeration { + enum "unicast" { + value 1; + description + "SAFI unicast"; + } + enum "multicast" { + value 2; + description + "SAFI Multicast"; + } + enum "all" { + value 3; + description + "SAFI all"; + } + enum "default" { + value 4; + description + "SAFI default"; + } + } + description + "Pim safi"; + } + + typedef Pim-client { + type enumeration { + enum "none" { + value 0; + description + "No Client"; + } + enum "configured-embedded-rp" { + value 1; + description + "Embedded RP from configuration"; + } + enum "embedded" { + value 2; + description + "Embedded RP learnt from the Group addr"; + } + enum "permanent" { + value 3; + description + "Permanent"; + } + enum "auto-rp" { + value 4; + description + "AutoRP"; + } + enum "bsr" { + value 5; + description + "BSR"; + } + enum "configured" { + value 6; + description + "Configured"; + } + enum "static" { + value 7; + description + "Static"; + } + } + description + "Pim client"; + } + + typedef Pim-topology-entry-flag { + type enumeration { + enum "kat" { + value 0; + description + "KAT"; + } + enum "aa" { + value 1; + description + "AA"; + } + enum "pa" { + value 2; + description + "PA"; + } + enum "ra" { + value 3; + description + "RA"; + } + enum "ia" { + value 4; + description + "IA"; + } + enum "rr" { + value 5; + description + "RR"; + } + enum "lh" { + value 6; + description + "LH"; + } + enum "dss" { + value 7; + description + "DSS"; + } + enum "dcc" { + value 8; + description + "DCC"; + } + enum "sr" { + value 9; + description + "SR"; + } + enum "e" { + value 10; + description + "E"; + } + enum "ex" { + value 11; + description + "EX"; + } + enum "ma" { + value 12; + description + "MA"; + } + enum "mt" { + value 13; + description + "MT"; + } + enum "mfa" { + value 14; + description + "MFA"; + } + enum "mfp" { + value 15; + description + "MFP"; + } + enum "mfb" { + value 16; + description + "MFB"; + } + } + description + "Pim topology entry flag"; + } + + typedef Pim-protocol { + type enumeration { + enum "non-routable" { + value 0; + description + "Non Routable"; + } + enum "sparse-mode" { + value 1; + description + "Sparse Mode"; + } + enum "dense-mode" { + value 2; + description + "Dense Mode"; + } + enum "bidir" { + value 3; + description + "Bidirectional Mode"; + } + enum "ssm" { + value 4; + description + "Source Specific Multicast Mode"; + } + enum "maximum" { + value 5; + description + "Maximum"; + } + enum "any" { + value 6; + description + "Any"; + } + } + description + "Pim protocol"; + } + + grouping ROUTE-POLICY { + description + "Common node of vrf, default-context"; + container route-policy { + description + "PIM route policy"; + container route-policy-statistics { + description + "PIM route policy statistics"; + uses PIM-RPF-POLICY-STATS-BAG; + } + } + } + + grouping GROUP-MAP-SOURCE-TABLE { + description + "Common node of vrf, default-context"; + container group-map-sources { + description + "PIM group-mapping with source information"; + list group-map-source { + key "prefix prefix-length client protocol rp-address priority"; + description + "PIM Group Mapping Entry with source information"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf client { + type Pim-client; + description + "Client"; + } + leaf protocol { + type Pim-protocol; + description + "Protocol"; + } + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf priority { + type uint32; + description + "RP Priority"; + } + uses PIM-GRP-MAP-INFOSRC-BAG; + } + } + } + + grouping BIDIR-DF-STATE-TABLE { + description + "Common node of vrf, default-context"; + container bidir-df-states { + description + "Bidirectional PIM DF election state table"; + list bidir-df-state { + key "rp-address interface-name"; + description + "Bidirectional PIM DF Election Table Entry"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-BIDIR-DF-STATE-BAG; + } + } + } + + grouping MIB-DATABASE-TABLE { + description + "Common node of vrf, default-context"; + container mib-databases { + description + "PIM group database for mroute mibs table"; + list mib-database { + key "source-address group-address source-netmask"; + description + "PIM multicast static route information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Multicast static route source address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Multicast satic route group address"; + } + leaf source-netmask { + type uint32; + description + "Source mask"; + } + uses PIM-MROUTE-BAG; + } + } + } + + grouping TOPOLOGY-ENTRY-FLAG-ROUTE-COUNT-TABLE { + description + "Common node of vrf, default-context"; + container topology-entry-flag-route-counts { + description + "Route count for topology with entry flag set"; + list topology-entry-flag-route-count { + key "entry-flag"; + description + "Route count for topology with entry flag set"; + leaf entry-flag { + type Pim-topology-entry-flag; + description + "entry flag"; + } + uses PIM-TT-SUMM-BAG; + } + } + } + + grouping BIDIR-DF-WINNER-TABLE { + description + "Common node of vrf, default-context"; + container bidir-df-winners { + description + "Bidirectional PIM DF election winner table"; + list bidir-df-winner { + key "rp-address interface-name"; + description + "Bidirectional PIM DF election table entry"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-BIDIR-DF-BAG; + } + } + } + + grouping TABLE-CONTEXT-TABLE { + description + "Common node of vrf, default-context"; + container table-contexts { + description + "PIM table context list"; + list table-context { + key "saf-name topology-name"; + description + "PIM table context information"; + leaf saf-name { + type Pim-safi; + description + "SAF name"; + } + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Topology name"; + } + uses PIM-TABLE-CTX-BAG; + } + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name "; + } + uses IFRS-INTERFACE-TABLE; + uses INTERFACE-STATISTICS-TABLE; + uses TOPOLOGY-ROUTE-COUNT; + uses JP-STATISTICS-TABLE; + uses MIB-DATABASE-TABLE; + uses IFRS-SUMMARY; + uses RANGE-LIST-TABLE; + uses BSR; + uses ROUTE-POLICY; + uses RPF-SUMMARY; + uses IPV4-PIM-COMMON-OPER-INTERFACE-TABLE; + uses NET-IO-TUNNEL-TABLE; + uses BIDIR-DF-STATE-TABLE; + uses TOPOLOGY-TABLE; + uses TOPOLOGY-INTERFACE-FLAG-ROUTE-COUNT-TABLE; + uses GROUP-MAP-SOURCE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-MAP-RPF-TABLE; + uses SUMMARY; + uses GRE; + uses BIDIR-DF-WINNER-TABLE; + uses TABLE-CONTEXT-TABLE; + uses NEIGHBOR-SUMMARY-TABLE; + uses CONTEXT; + uses TOPOLOGY-ENTRY-FLAG-ROUTE-COUNT-TABLE; + uses RPF-REDIRECT; + uses TUNNEL-TABLE; + uses MULTICAST-STATIC-ROUTE-TABLE; + uses NEIGHBOR-TABLE; + } + } + } + + grouping BSR { + description + "Common node of vrf, default-context"; + container bsr { + description + "PIM BSR information"; + container rp-caches { + description + "PIM BSR RP cache table"; + list rp-cache { + key "group-prefix prefix-length"; + description + "PIM BSR RP cache"; + leaf group-prefix { + type inet:ip-address-no-zone; + description + "Group prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + uses PIM-BSR-RP-CACHE-BAG; + } + } + container candidate-rps { + description + "PIM candidate-RP"; + list candidate-rp { + key "rp-address"; + description + "PIM BSR candidate RP information"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "Candidate-RP address"; + } + uses PIM-BSR-CANDIDATE-RP-BAG; + } + } + container bsr-elections { + description + "PIM BSR election state"; + list bsr-election { + key "pim-scope"; + description + "PIM BSR information"; + leaf pim-scope { + type uint32; + description + "BSR information"; + } + uses PIM-BSR-ELECTION-BAG; + } + } + } + } + + grouping NET-IO-TUNNEL-TABLE { + description + "Common node of vrf, default-context"; + container net-io-tunnels { + description + "Tunnel information that NETIO has "; + list net-io-tunnel { + key "tunnel-name"; + description + "PIM netio tunnel information"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..80"; + } + description + "Tunnel name"; + } + uses PIM-TUNNEL-INFO-BAG; + } + } + } + + grouping RPF-SUMMARY { + description + "Common node of vrf, default-context"; + container rpf-summary { + description + "PIM RPF registration summary"; + uses PIM-RPF-SUMMARY-BAG; + } + } + + grouping IFRS-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container ifrs-interfaces { + description + "PIM interfaces in forward reference store table"; + list ifrs-interface { + key "interface-name"; + description + "PIM IFRS interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IDB-BAG; + } + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container nsr { + description + "NSR Information"; + uses PIM-NSR-BAG; + } + container summary { + description + "PIM Global Summary"; + uses PIM-SUMMARY-BAG; + } + container nsf { + description + "PIM NSF information"; + uses PIM-NSF-BAG; + } + container issu { + description + "ISSU Information"; + uses PIM-ISSU-BAG; + } + } + } + + grouping JP-STATISTICS-TABLE { + description + "Common node of vrf, default-context"; + container jp-statistics { + description + "PIM join prune statistics table"; + list jp-statistic { + key "interface-name"; + description + "PIM Join Prune Statistics"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-JPSTATS-BAG; + } + } + } + + grouping TOPOLOGY-TABLE { + description + "Common node of vrf, default-context"; + container topologies { + description + "PIM topology table"; + list topology { + key "source-address group-address rpt"; + description + "PIM topology information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + leaf rpt { + type uint32; + description + "RPT bit"; + } + uses PIM-TT-ROUTE-BAG; + } + } + } + + grouping NEIGHBOR-SUMMARY-TABLE { + description + "Common node of vrf, default-context"; + container neighbor-summaries { + description + "PIM neighbor summary table"; + list neighbor-summary { + key "interface-name"; + description + "PIM neighbor summary information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-NBR-SUMM-BAG; + } + } + } + + grouping TRAFFIC-COUNTERS { + description + "Common node of vrf, default-context"; + container traffic-counters { + description + "PIM message traffic counters"; + uses PIM-TRAFFIC-BAG; + } + } + + grouping TOPOLOGY-ROUTE-COUNT { + description + "Common node of vrf, default-context"; + container topology-route-count { + description + "Topology route count information from PIM + topology table"; + uses PIM-TT-SUMM-BAG; + } + } + + grouping TUNNEL-TABLE { + description + "Common node of vrf, default-context"; + container tunnels { + description + "Tunnels information that PIM has"; + list tunnel { + key "tunnel-name"; + description + "PIM tunnel information"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..80"; + } + description + "Tunnel name"; + } + uses PIM-TUNNEL-INFO-BAG; + } + } + } + + grouping PIM-MA-COMMON-OPER-PIM-MA-SUMMARY-MP { + description + "Common node of active, standby"; + container pim-ma-summary { + description + "PIM MA summary"; + uses PIM-MA-SUMMARY; + } + } + + grouping ACTIVE { + description + "Common node of pim-ma, pim6-ma"; + container active { + description + "Active Process"; + uses INTERFACE-TABLE; + uses PIM-MA-COMMON-OPER-PIM-MA-SUMMARY-MP; + } + } + + grouping IPV4-PIM-ROLE-LVL-OPER-ACTIVE { + description + "Common node of pim-ma, pim6-maCommon node of pim, + ipv6-pim"; + container active { + description + "Active Process"; + uses DEFAULT-CONTEXT; + uses PROCESS; + uses VRF-TABLE; + } + } + + grouping GROUP-MAP-RPF-TABLE { + description + "Common node of vrf, default-context"; + container group-map-rpfs { + description + "PIM group mapping information"; + list group-map-rpf { + key "prefix prefix-length client protocol rp-address rp-priority"; + description + "PIM group mapping entry"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf client { + type Pim-client; + description + "Client"; + } + leaf protocol { + type Pim-protocol; + description + "Protocol"; + } + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf rp-priority { + type uint32; + description + "RP priority"; + } + uses PIM-GRP-MAP-INFORPF-BAG; + } + } + } + + grouping RPF-REDIRECT { + description + "Common node of vrf, default-context"; + container rpf-redirect { + description + "PIM ECMP RPF-redirect bundle"; + container redirect-route-databases { + description + "PIM ECMP RPF-redirect route database"; + list redirect-route-database { + key "source-address group-address"; + description + "PIM ECMP RPF-redirect route information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses PIM-RPF-RDRCT-ROUTE-BAG; + } + } + container bundle-interfaces { + description + "PIM ECMP RPF-redirect bundle information"; + list bundle-interface { + key "bundle-name interface-name"; + description + "PIM ECMP RPF-redirect bundle interface + information"; + leaf bundle-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bundle name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Bundle interface name"; + } + uses PIM-RPF-RDRCT-BNDL-BAG; + } + } + } + } + + grouping CONTEXT { + description + "Common node of vrf, default-context"; + container context { + description + "PIM context information"; + uses PIM-CONTEXT-BAG; + } + } + + grouping INTERFACE-TABLE { + description + "Common node of active, standby"; + container interface-table { + description + "Interface Table"; + container interface-by-handles { + description + "Table of PIM MA interfaces indexed by handle"; + list interface-by-handle { + key "interface-handle"; + description + "PIM MA interface referenced by handle"; + leaf interface-handle { + type uint32; + description + "Interface handle"; + } + uses PIM-MA-IDB; + } + } + container interface-by-names { + description + "Table of PIM MA interfaces indexed by name"; + list interface-by-name { + key "interface-name"; + description + "PIM MA interface referenced by name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-MA-IDB; + } + } + } + } + + grouping IPV4-PIM-COMMON-OPER-INTERFACE-TABLE { + description + "Common node of active, standbyCommon node of vrf, + default-context"; + container interfaces { + description + "PIM interfaces"; + list interface { + key "interface-name"; + description + "PIM interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IDB-BAG; + } + } + } + + grouping SUMMARY { + description + "Common node of vrf, default-context"; + container summary { + description + "PIM summary"; + uses PIM-SUMMARY-BAG; + } + } + + grouping TOPOLOGY-INTERFACE-FLAG-ROUTE-COUNT-TABLE { + description + "Common node of vrf, default-context"; + container topology-interface-flag-route-counts { + description + "Route count for topology with interface flag set"; + list topology-interface-flag-route-count { + key "interface-flag"; + description + "Route count for topology with interface flag + set"; + leaf interface-flag { + type Pim-topology-interface-flag; + description + "Interface flag"; + } + uses PIM-TT-SUMM-BAG; + } + } + } + + grouping INTERFACE-STATISTICS-TABLE { + description + "Common node of vrf, default-context"; + container interface-statistics { + description + "PIM interface statistics"; + list interface-statistic { + key "interface-name"; + description + "PIM interface statistics"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IFSTATS-BAG; + } + } + } + + grouping GRE { + description + "Common node of vrf, default-context"; + container gre { + description + "GRE information"; + container gre-next-hops { + description + "GRE destination neighbor table"; + list gre-next-hop { + key "destination-address"; + description + "PIM GRE address next-hop information"; + leaf destination-address { + type inet:ip-address-no-zone; + description + "GRE destination address"; + } + uses PIM-GRE-INFO-BAG; + } + } + } + } + + grouping IFRS-SUMMARY { + description + "Common node of vrf, default-context"; + container ifrs-summary { + description + "PIM interfaces in forward reference store + summary"; + uses PIM-IDB-SUMM-BAG; + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default Context"; + container global-interfaces { + description + "PIM global interface table"; + list global-interface { + key "interface-name"; + description + "PIM interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IDB-BAG; + } + } + uses IFRS-INTERFACE-TABLE; + uses INTERFACE-STATISTICS-TABLE; + uses TOPOLOGY-ROUTE-COUNT; + uses JP-STATISTICS-TABLE; + uses MIB-DATABASE-TABLE; + uses IFRS-SUMMARY; + uses RANGE-LIST-TABLE; + uses BSR; + uses ROUTE-POLICY; + uses RPF-SUMMARY; + uses IPV4-PIM-COMMON-OPER-INTERFACE-TABLE; + uses NET-IO-TUNNEL-TABLE; + uses BIDIR-DF-STATE-TABLE; + uses TOPOLOGY-TABLE; + uses TOPOLOGY-INTERFACE-FLAG-ROUTE-COUNT-TABLE; + uses GROUP-MAP-SOURCE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-MAP-RPF-TABLE; + uses SUMMARY; + uses GRE; + uses BIDIR-DF-WINNER-TABLE; + uses TABLE-CONTEXT-TABLE; + uses NEIGHBOR-SUMMARY-TABLE; + uses CONTEXT; + uses TOPOLOGY-ENTRY-FLAG-ROUTE-COUNT-TABLE; + uses RPF-REDIRECT; + uses TUNNEL-TABLE; + uses MULTICAST-STATIC-ROUTE-TABLE; + uses NEIGHBOR-TABLE; + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of vrf, default-context"; + container neighbors { + description + "PIM neighbor table"; + list neighbor { + key "interface-name neighbor-address"; + description + "PIM neighbor information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + uses PIM-NBR-BAG; + } + } + } + + grouping MULTICAST-STATIC-ROUTE-TABLE { + description + "Common node of vrf, default-context"; + container multicast-static-routes { + description + "PIM multicast static route table"; + list multicast-static-route { + key "address prefix-length"; + description + "PIM multicast static route information"; + leaf address { + type inet:ip-address-no-zone; + description + "Network address"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + uses PIM-MSTATIC-BAG; + } + } + } + + grouping RANGE-LIST-TABLE { + description + "Common node of vrf, default-context"; + container ranges { + description + "PIM range list information"; + list range { + key "rp-address client"; + description + "PIM range list information"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf client { + type Pim-client; + description + "Client"; + } + uses PIM-RL-BAG; + } + } + } + + grouping STANDBY { + description + "Common node of pim-ma, pim6-ma"; + container standby { + description + "Standby Process"; + uses INTERFACE-TABLE; + uses PIM-MA-COMMON-OPER-PIM-MA-SUMMARY-MP; + } + } + + grouping IPV4-PIM-ROLE-LVL-OPER-STANDBY { + description + "Common node of pim-ma, pim6-maCommon node of pim, + ipv6-pim"; + container standby { + description + "Standby Process"; + uses DEFAULT-CONTEXT; + uses PROCESS; + uses VRF-TABLE; + } + } + + container pim-ma { + config false; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-pim-oper.yang which will provide the + compatible functionalities. PIM MA operational + data"; + uses ACTIVE; + uses STANDBY; + } + container pim { + config false; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-pim-oper.yang which will provide the + compatible functionalities. PIM operational data"; + uses IPV4-PIM-ROLE-LVL-OPER-STANDBY; + uses IPV4-PIM-ROLE-LVL-OPER-ACTIVE; + } + container ipv6-pim { + config false; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-pim-oper.yang which will provide the + compatible functionalities. IPv6 PIM operational + data"; + uses IPV4-PIM-ROLE-LVL-OPER-STANDBY; + uses IPV4-PIM-ROLE-LVL-OPER-ACTIVE; + } + container pim6-ma { + config false; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-pim-oper.yang which will provide the + compatible functionalities. PIM6 MA operational + data"; + uses ACTIVE; + uses STANDBY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ping-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ping-act.yang new file mode 100644 index 000000000..83e1bb565 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-ping-act.yang @@ -0,0 +1,256 @@ +submodule Cisco-IOS-XR-ipv4-ping-act { + belongs-to Cisco-IOS-XR-ping-act { + prefix ping-act; + } + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR IPv4 ping action package configuration. + + Copyright (c) 2016-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-05 { + description + "Removed support for use-srv6-op-sid"; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-08-20 { + description + "IOS XR 6.2.1 revision."; + } + + grouping PING-COMMON-INPUT-OUTPUT-OPTIONS { + description + "Ping Common Input Output Options"; + leaf destination { + type string; + mandatory true; + description + "Ping destination address or hostname"; + } + leaf repeat-count { + type uint64 { + range "1..64"; + } + default "5"; + description + "Number of ping packets to be sent out"; + } + leaf data-size { + type uint64 { + range "36..18024"; + } + default "100"; + description + "Size of ping packet"; + } + leaf timeout { + type uint64 { + range "0..36"; + } + default "2"; + description + "Timeout in seconds"; + } + leaf interval { + type uint32 { + range "0..3600"; + } + default "10"; + description + "Ping interval in milli seconds"; + } + leaf pattern { + type xr:Hex-integer; + description + "Pattern of payload data"; + } + leaf sweep { + type boolean; + description + "Sweep is enabled"; + } + } + + grouping PING-OPTIONS { + description + "Ping Options"; + uses PING-COMMON-INPUT-OUTPUT-OPTIONS; + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf source { + type string; + description + "Source address or interface"; + } + leaf verbose { + type boolean; + description + "Validate return packet"; + } + } + + grouping IPV4-SPECIFIC-OPTIONS { + description + "Ping IPv4 Specific Options"; + leaf type-of-service { + type uint8 { + range "0..255"; + } + description + "Type of Service"; + } + leaf do-not-frag { + type boolean; + description + "Do Not Fragment"; + } + leaf validate { + type boolean; + description + "Validate return packet"; + } + } + + grouping IPV4-PING-OPTIONS { + description + "Ping IPv4 Options"; + uses PING-OPTIONS; + uses IPV4-SPECIFIC-OPTIONS; + } + + grouping IPV4-PING-INPUT { + description + "Ping IPv4 Input"; + uses IPV4-PING-OPTIONS; + } + + grouping IPV4-PING-OUTPUT { + description + "Ping IPv4 Output"; + uses PING-COMMON-INPUT-OUTPUT-OPTIONS; + container replies { + description + "IPv4 ping replies"; + list reply { + key "reply-index"; + description + "IPv4 ping reply"; + leaf reply-index { + type uint64 { + range "1..2147483647"; + } + description + "Index of the reply list"; + } + leaf result { + type string; + description + "Response for each packet"; + } + container broadcast-reply-addresses { + description + "IPv4 ping broadcast reply addresses"; + list broadcast-reply-address { + key "reply-address"; + description + "IPv4 ping broadcast reply address"; + leaf reply-address { + type string; + description + "Broadcast reply address"; + } + leaf result { + type string; + description + "Sign for each reply packet"; + } + } + } + } + } + leaf hits { + type uint64; + description + "Number of packets reach to destination and get reply back"; + } + leaf total { + type uint64; + description + "Total number of packets sent out"; + } + leaf success-rate { + type uint64; + description + "Successful rate of ping"; + } + leaf rtt-min { + type uint64; + description + "Minimum value of Round Trip Time"; + } + leaf rtt-avg { + type uint64; + description + "Average value of Round Trip Time"; + } + leaf rtt-max { + type uint64; + description + "Maximum value of Round Trip Time"; + } + leaf sweep-min { + type uint32; + description + "Minimum value of sweep size"; + } + leaf sweep-max { + type uint64; + description + "Maximum value of sweep size"; + } + leaf rotate-pattern { + type boolean; + description + "Rotate Pattern is enabled"; + } + leaf ping-error-response { + type string; + description + "Error response for each ping, in case of bulk ping"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-cfg.yang new file mode 100644 index 000000000..50876bdc3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-cfg.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XR-ipv4-smiap-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-smiap-cfg"; + prefix ipv4-smiap-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-smiap package configuration. + + This module contains definitions + for the following management objects: + ipv4-virtual: IPv4 virtual address for management interfaces + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-07-04 { + description + "this schema file has all the latest changes."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv4-virtual { + description + "IPv4 virtual address for management interfaces"; + container vrfs { + description + "VRFs for the virtual IPv4 addresses"; + list vrf { + key "vrf-name"; + description + "A VRF for a virtual IPv4 address. Specify + 'default' for VRF default"; + container address { + presence "Indicates a address node is configured."; + description + "IPv4 sddress and mask"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 address"; + } + leaf netmask { + type xr:Ipv4-prefix-length; + mandatory true; + description + "IPv4 address mask"; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of VRF"; + } + } + } + leaf use-as-source-address { + type empty; + description + "Enable use as default source address on sourced + packets"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper-sub1.yang new file mode 100644 index 000000000..f1ec7ffc1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper-sub1.yang @@ -0,0 +1,159 @@ +submodule Cisco-IOS-XR-ipv4-smiap-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-smiap-oper { + prefix Cisco-IOS-XR-ipv4-smiap-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-smiap package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-17 { + description + "this schema file has the changes for oper."; + semver:module-version "1.0.1M"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Smiap-address-family { + type enumeration { + enum "ipv4" { + value 2; + description + "IPv4 Address family"; + } + enum "ipv6" { + value 26; + description + "IPv6 Address family"; + } + } + description + "SMIAP Address family"; + } + + grouping SMIAP-ACT-INTERFACE { + description + "Active interface information"; + leaf interface-name { + type string; + description + "Active Interface name"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC address pf the active interface"; + } + } + + grouping SMIAP-IPV6-ADDR { + description + "SMIAP IPv6 Address"; + leaf address { + type inet:ipv6-address; + description + "IPv6 Address"; + } + leaf prefix-length { + type uint32; + description + "IPv6 Prefix Lenghth"; + } + } + + grouping SMIAP-IPV4-ADDR { + description + "SMIAP IPv4 Address"; + leaf address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf prefix-length { + type uint32; + description + "IPv4 Prefix Length"; + } + } + + grouping SMIAP-VIRTUAL-IP-UNION { + description + "Union of IPV4 and IPV6 address types"; + container ipv4-address { + when "../address-family = 'ipv4'" { + description + "../AddressFamily = 'IPV4'"; + } + description + "IPv4 Address"; + uses SMIAP-IPV4-ADDR; + } + container ipv6-address { + when "../address-family = 'ipv6'" { + description + "../AddressFamily = 'IPV6'"; + } + description + "IPv6 Address"; + uses SMIAP-IPV6-ADDR; + } + leaf address-family { + type Smiap-address-family; + description + "AddressFamily"; + } + } + + grouping SMIAP-VRF-ENTRY { + description + "SMIAP VRF Database entry"; + container virtual-ip { + description + "Virtual IP"; + uses SMIAP-VIRTUAL-IP-UNION; + } + container active-interface { + description + "Active Interface"; + uses SMIAP-ACT-INTERFACE; + } + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper.yang new file mode 100644 index 000000000..40fef8fb7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-smiap-oper.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XR-ipv4-smiap-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-smiap-oper"; + prefix ipv4-smiap-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-smiap-oper-sub1 { + revision-date 2022-01-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-smiap package operational data. + + This module contains definitions + for the following management objects: + ipv4-virtual: IPv4 virtual address for management interfaces + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-17 { + description + "this schema file has the changes for oper."; + semver:module-version "1.0.1M"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv4-virtual { + config false; + description + "IPv4 virtual address for management interfaces"; + container address { + description + "Address family"; + container vrfs { + description + "VRF entry table"; + list vrf { + key "vrf-name"; + description + "smiap vrf entry"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses SMIAP-VRF-ENTRY; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-cfg.yang new file mode 100644 index 000000000..b91f70ad4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-cfg.yang @@ -0,0 +1,70 @@ +module Cisco-IOS-XR-ipv4-telnet-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-telnet-cfg"; + prefix ipv4-telnet-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-telnet package configuration. + + This module contains definitions + for the following management objects: + ipv6-telnet: IPv6 telnet configuration + ipv4-telnet: IPv4 telnet configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CLIENT { + description + "Common node of ipv4-telnet, ipv6-telnet"; + container client { + description + "Telnet client configuration"; + leaf source-interface { + type xr:Interface-name; + description + "Source interface for telnet sessions"; + } + } + } + + container ipv6-telnet { + description + "IPv6 telnet configuration"; + uses CLIENT; + } + container ipv4-telnet { + description + "IPv4 telnet configuration"; + uses CLIENT; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-mgmt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-mgmt-cfg.yang new file mode 100644 index 000000000..919089a78 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-telnet-mgmt-cfg.yang @@ -0,0 +1,78 @@ +module Cisco-IOS-XR-ipv4-telnet-mgmt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-telnet-mgmt-cfg"; + prefix ipv4-telnet-mgmt-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-telnet-mgmt package configuration. + + This module contains definitions + for the following management objects: + telnet: Global Telnet configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-10-30 { + description + "Descriptions updated."; + } + + container telnet { + description + "Global Telnet configuration commands"; + container vrfs { + description + "VRF name for telnet service"; + list vrf { + key "vrf-name"; + description + "VRF name for telnet service"; + container ipv4 { + description + "IPv4 configuration"; + leaf dscp { + type uint32 { + range "0..63"; + } + description + "Specify the DSCP value"; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-traceroute-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-traceroute-act.yang new file mode 100644 index 000000000..23f27b349 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-traceroute-act.yang @@ -0,0 +1,214 @@ +submodule Cisco-IOS-XR-ipv4-traceroute-act { + belongs-to Cisco-IOS-XR-traceroute-act { + prefix traceroute-act; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR IPv4 traceroute action package configuration. + + Copyright (c) 2016-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-05 { + description + "Removed support for use-srv6-op-sid"; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-09-17 { + description + "IOS XR 6.2.1 revision."; + } + + grouping TRACEROUTE-OPTIONS { + description + "Traceroute options"; + leaf destination { + type string; + mandatory true; + description + "Destination address or hostname"; + } + leaf source { + type string; + description + "Source address or interface"; + } + leaf timeout { + type uint32 { + range "0..36"; + } + default "3"; + description + "Timeout in seconds"; + } + leaf probe { + type uint16 { + range "1..64"; + } + default "3"; + description + "Probe count"; + } + leaf numeric { + type boolean; + description + "Numeric display only"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf min-ttl { + type uint16 { + range "0..255"; + } + default "1"; + description + "minimum time to live"; + } + leaf max-ttl { + type uint16 { + range "0..255"; + } + default "30"; + description + "maximum time to live"; + } + leaf port { + type uint32 { + range "0..65535"; + } + description + "Port numbe"; + } + leaf verbose { + type boolean; + description + "verbose output"; + } + } + + grouping TRACEROUTE-OUTPUT { + description + "Traceroute output"; + leaf destination { + type string; + description + "Destination address or hostname"; + } + container hops { + description + "Hops info"; + list hop { + key "hop-index"; + description + "Hop info"; + leaf hop-index { + type uint32; + description + "Index of the hop"; + } + leaf hop-address { + type string; + description + "Address of the hop"; + } + leaf hop-hostname { + type string; + description + "Hostname of the hop"; + } + container probes { + description + "Probes info"; + list probe { + key "probe-index"; + description + "Probe info"; + leaf probe-index { + type uint32; + description + "Index of the probe"; + } + leaf result { + type string; + description + "Response for each probe"; + } + leaf delta-time { + type uint32; + description + "Delta time in seconds"; + } + leaf hop-address { + type string; + description + "Address of the hop"; + } + leaf hop-hostname { + type string; + description + "Hostname of the hop"; + } + container srv6-header { + description + "SRV6 header"; + leaf destination-address { + type uint32; + description + "Destination address for srv6 header"; + } + leaf segments-left { + type uint32; + description + "Number of segments left"; + } + container segments { + description + "Segments"; + leaf-list segment { + type string; + description + "sid in sidlist"; + } + } + } + } + } + } + } + leaf verbose-output { + type string; + description + "Verbose output"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-cfg.yang new file mode 100644 index 000000000..719ace0a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-cfg.yang @@ -0,0 +1,805 @@ +module Cisco-IOS-XR-ipv4-vrrp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-vrrp-cfg"; + prefix ipv4-vrrp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-vrrp package configuration. + + This module contains definitions + for the following management objects: + vrrp: VRRP configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-11-29 { + description + "Added a subnode to virtual-router container and changed path of interface tracking."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-05-19 { + description + "Added new path for router configuration enable."; + } + revision 2018-05-15 { + description + "Modified timer leaf path, removed msec field."; + } + revision 2017-11-05 { + description + "Corrected boolean values in when statements."; + } + revision 2017-05-19 { + description + "Marked delay leafs min-delay and reload-delay as mandatory."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-16 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container vrrp { + description + "VRRP-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable VRRP-MIB notifications"; + } + } + } + container vrrp { + presence "CLI submode compatibility."; + description + "VRRP configuration"; + container logging { + description + "VRRP logging options"; + leaf state-change-disable { + type empty; + description + "VRRP state change IOS messages disable"; + } + } + container interfaces { + description + "Interface configuration table"; + list interface { + key "interface-name"; + description + "The interface being configured"; + container ipv6 { + description + "IPv6 VRRP configuration"; + container version3 { + description + "Version 3 VRRP configuration"; + container virtual-routers { + description + "The VRRP virtual router configuration table"; + list virtual-router { + key "vr-id"; + description + "The VRRP virtual router being configured"; + container global-ipv6-addresses { + description + "The table of VRRP virtual global IPv6 + addresses"; + list global-ipv6-address { + key "ip-address"; + description + "A VRRP virtual global IPv6 IP address"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "VRRP virtual global IPv6 address"; + } + } + } + container tracks { + description + "Track an item, reducing priority if it + goes down"; + list track { + key "interface-name"; + description + "Object to be tracked"; + leaf interface-name { + type xr:Interface-name; + description + "Object to be tracked, interface name for + interfaces"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable this track"; + } + leaf priority-decrement { + type uint32 { + range "1..254"; + } + description + "Priority decrement"; + } + } + } + container timer { + description + "Set advertisement timer"; + leaf advertisement-time-in-msec { + type uint32 { + range "100..40950"; + } + units "millisecond"; + description + "Advertisement time in milliseconds"; + } + leaf advertisement-time-in-sec { + type uint32 { + range "1..40"; + } + units "second"; + description + "Advertisement time in seconds"; + } + leaf forced { + type empty; + units "millisecond"; + description + "TRUE - Force configured timer values to + be used, required when configured in + milliseconds"; + } + } + container tracked-objects { + description + "Track an object, reducing priority if it + goes down"; + list tracked-object { + key "object-name"; + description + "Object to be tracked"; + leaf object-name { + type xr:Cisco-ios-xr-string; + description + "Object to be tracked, interface name for + interfaces"; + } + leaf priority-decrement { + type uint32 { + range "1..254"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container link-local-ipv6-address { + presence "Contains mandatory nodes that used to set default values"; + description + "The VRRP IPv6 virtual linklocal address"; + leaf ip-address { + when "../auto-configure = 'false'" { + description + "../AutoConfigure = 'false'"; + } + type inet:ip-address-no-zone; + description + "VRRP IPv6 virtual linklocal address"; + } + leaf auto-configure { + type boolean; + mandatory true; + description + "TRUE if the virtual linklocal address is + to be autoconfigured FALSE if an IPv6 + virtual linklocal address is configured"; + } + } + leaf group-enable { + type empty; + description + "Enable vrrp process"; + } + leaf bfd { + type inet:ip-address-no-zone; + description + "Enable use of Bidirectional Forwarding + Detection for this IP"; + } + leaf priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Priority value"; + } + leaf accept-mode-disable { + type empty; + description + "Disable Accept Mode for this virtual + IPAddress"; + } + leaf preempt { + type uint32 { + range "0..3600"; + } + default "0"; + description + "Preempt Master router if higher priority"; + } + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "VRRP Session Name"; + } + leaf vr-id { + type uint32 { + range "1..255"; + } + description + "VRID Virtual Router Identifier"; + } + } + } + } + container slave-virtual-routers { + description + "The VRRP slave group configuration table"; + list slave-virtual-router { + key "slave-virtual-router-id"; + description + "The VRRP slave being configured"; + container link-local-ipv6-address { + presence "Contains mandatory nodes that used to set default values"; + description + "The VRRP IPv6 virtual linklocal address"; + leaf ip-address { + when "../auto-configure = 'false'" { + description + "../AutoConfigure = 'false'"; + } + type inet:ip-address-no-zone; + description + "VRRP IPv6 virtual linklocal address"; + } + leaf auto-configure { + type boolean; + mandatory true; + description + "TRUE if the virtual linklocal address is + to be autoconfigured FALSE if an IPv6 + virtual linklocal address is configured"; + } + } + container global-ipv6-addresses { + description + "The table of VRRP virtual global IPv6 + addresses"; + list global-ipv6-address { + key "ip-address"; + description + "A VRRP virtual global IPv6 IP address"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "VRRP virtual global IPv6 address"; + } + } + } + leaf follow { + type string; + description + "VRRP Session name for this slave to follow"; + } + leaf accept-mode-disable { + type empty; + description + "Disable Accept Mode for this virtual + IPAddress"; + } + leaf slave-virtual-router-id { + type uint32 { + range "1..255"; + } + description + "Virtual Router ID"; + } + } + } + } + container delay { + presence "Indicates a delay node is configured."; + description + "Minimum and Reload Delay"; + leaf min-delay { + type uint32 { + range "0..10000"; + } + units "second"; + mandatory true; + description + "Minimum delay in seconds"; + } + leaf reload-delay { + type uint32 { + range "0..10000"; + } + units "second"; + mandatory true; + description + "Reload delay in seconds"; + } + } + container ipv4 { + description + "IPv4 VRRP configuration"; + container version3 { + description + "Version 3 VRRP configuration"; + container virtual-routers { + description + "The VRRP virtual router configuration table"; + list virtual-router { + key "vr-id"; + description + "The VRRP virtual router being configured"; + container timer { + description + "Set advertisement timer"; + leaf advertisement-time-in-msec { + type uint32 { + range "100..40950"; + } + units "millisecond"; + description + "Advertisement time in milliseconds"; + } + leaf advertisement-time-in-sec { + type uint32 { + range "1..40"; + } + units "second"; + description + "Advertisement time in seconds"; + } + leaf forced { + type empty; + units "millisecond"; + description + "TRUE - Force configured timer values to + be used, required when configured in + milliseconds"; + } + } + container secondary-ipv4-addresses { + description + "The table of VRRP secondary IPv4 addresses"; + list secondary-ipv4-address { + key "ip-address"; + description + "A VRRP secondary IPv4 address"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "VRRP Secondary IPv4 address"; + } + } + } + container tracked-objects { + description + "Track an object, reducing priority if it + goes down"; + list tracked-object { + key "object-name"; + description + "Object to be tracked"; + leaf object-name { + type xr:Cisco-ios-xr-string; + description + "Object to be tracked, interface name for + interfaces"; + } + leaf priority-decrement { + type uint32 { + range "1..254"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + container tracks { + description + "Track an item, reducing priority if it + goes down"; + list track { + key "interface-name"; + description + "Object to be tracked"; + leaf interface-name { + type xr:Interface-name; + description + "Object to be tracked, interface name for + interfaces"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable this track"; + } + leaf priority-decrement { + type uint32 { + range "1..254"; + } + description + "Priority decrement"; + } + } + } + leaf group-enable { + type empty; + description + "Enable vrrp process"; + } + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "VRRP Session Name"; + } + leaf bfd { + type inet:ipv4-address-no-zone; + description + "Enable use of Bidirectional Forwarding + Detection for this IP"; + } + leaf primary-ipv4-address { + type inet:ipv4-address-no-zone; + description + "The Primary VRRP IPv4 address"; + } + leaf preempt { + type uint32 { + range "0..3600"; + } + default "0"; + description + "Preempt Master router if higher priority"; + } + leaf accept-mode-disable { + type empty; + description + "Disable Accept Mode for this virtual + IPAddress"; + } + leaf priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Priority value"; + } + leaf vr-id { + type uint32 { + range "1..255"; + } + description + "VRID Virtual Router Identifier"; + } + } + } + } + container slave-virtual-routers { + description + "The VRRP slave group configuration table"; + list slave-virtual-router { + key "slave-virtual-router-id"; + description + "The VRRP slave being configured"; + container secondary-ipv4-addresses { + description + "The table of VRRP secondary IPv4 addresses"; + list secondary-ipv4-address { + key "ip-address"; + description + "A VRRP secondary IPv4 address"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "VRRP Secondary IPv4 address"; + } + } + } + leaf follow { + type string; + description + "VRRP Session name for this slave to follow"; + } + leaf accept-mode-disable { + type empty; + description + "Disable Accept Mode for this virtual + IPAddress"; + } + leaf primary-ipv4-address { + type inet:ipv4-address-no-zone; + description + "The Primary VRRP IPv4 address"; + } + leaf slave-virtual-router-id { + type uint32 { + range "1..255"; + } + description + "Virtual Router ID"; + } + } + } + container version2 { + description + "Version 2 VRRP configuration"; + container virtual-routers { + description + "The VRRP virtual router configuration table"; + list virtual-router { + key "vr-id"; + description + "The VRRP virtual router being configured"; + container timer { + description + "Set advertisement timer"; + leaf advertisement-time-in-msec { + type uint32 { + range "100..40950"; + } + units "millisecond"; + description + "Advertisement time in milliseconds"; + } + leaf advertisement-time-in-sec { + type uint32 { + range "1..255"; + } + units "second"; + description + "Advertisement time in seconds"; + } + leaf forced { + type empty; + units "millisecond"; + description + "TRUE - Force configured timer values to + be used, required when configured in + milliseconds"; + } + } + container secondary-ipv4-addresses { + description + "The table of VRRP secondary IPv4 addresses"; + list secondary-ipv4-address { + key "ip-address"; + description + "A VRRP secondary IPv4 address"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "VRRP Secondary IPv4 address"; + } + } + } + container tracks { + description + "Track an item, reducing priority if it + goes down"; + list track { + key "interface-name"; + description + "Object to be tracked"; + leaf interface-name { + type xr:Interface-name; + description + "Object to be tracked, interface name for + interfaces"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable this track"; + } + leaf priority-decrement { + type uint32 { + range "1..254"; + } + description + "Priority decrement"; + } + } + } + container tracked-objects { + description + "Track an object, reducing priority if it + goes down"; + list tracked-object { + key "object-name"; + description + "Object to be tracked"; + leaf object-name { + type xr:Cisco-ios-xr-string; + description + "Object to be tracked, interface name for + interfaces"; + } + leaf priority-decrement { + type uint32 { + range "1..254"; + } + mandatory true; + description + "Priority decrement"; + } + } + } + leaf priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Priority value"; + } + leaf primary-ipv4-address { + type inet:ipv4-address-no-zone; + description + "The Primary VRRP IPv4 address"; + } + leaf group-enable { + type empty; + description + "Enable vrrp process"; + } + leaf preempt { + type uint32 { + range "0..3600"; + } + default "0"; + description + "Preempt Master router if higher priority"; + } + leaf text-password { + type string; + description + "Authentication password, 8 chars max"; + } + leaf bfd { + type inet:ipv4-address-no-zone; + description + "Enable use of Bidirectional Forwarding + Detection for this IP"; + } + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..16"; + } + description + "VRRP Session Name"; + } + leaf accept-mode-disable { + type empty; + description + "Disable Accept Mode for this virtual + IPAddress"; + } + leaf vr-id { + type uint32 { + range "1..255"; + } + description + "VRID Virtual Router Identifier"; + } + } + } + } + } + container bfd { + description + "BFD configuration"; + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by + vrrp"; + } + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detection multiplier for BFD sessions created + by vrrp"; + } + } + leaf mac-refresh { + type uint32 { + range "0..10000"; + } + units "second"; + default "60"; + description + "VRRP Slave MAC-refresh rate in seconds"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name to configure"; + } + } + } + leaf enable { + type empty; + description + "Enable vrrp process"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper-sub1.yang new file mode 100644 index 000000000..49790153c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper-sub1.yang @@ -0,0 +1,1107 @@ +submodule Cisco-IOS-XR-ipv4-vrrp-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv4-vrrp-oper { + prefix Cisco-IOS-XR-ipv4-vrrp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv4-vrrp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-12 { + description + "Moved router id to a range type."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-16 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Vrrp-vmac-state { + type enumeration { + enum "stored" { + value 0; + description + "VMAC stored locally"; + } + enum "reserved" { + value 1; + description + "VMAC reserved in mac table"; + } + enum "active" { + value 2; + description + "VMAC active in mac table"; + } + enum "reserving" { + value 3; + description + "VMAC not yet reserved in mac table"; + } + } + description + "Vrrp vmac state"; + } + + typedef Vrrp-state-change-reason { + type enumeration { + enum "state-change-bfd-down" { + value 0; + description + "BFD session down"; + } + enum "state-change-virtual-ip-configured" { + value 1; + description + "Virtual IP configured"; + } + enum "state-change-interface-ip" { + value 2; + description + "Interface IP update"; + } + enum "state-change-delay-timer" { + value 3; + description + "Delay timer expired"; + } + enum "state-change-startup" { + value 4; + description + "Ready on startup"; + } + enum "state-change-interface-up" { + value 5; + description + "Interface Up update"; + } + enum "state-change-interface-down" { + value 6; + description + "Interface Down update"; + } + enum "state-change-master-down-timer" { + value 7; + description + "Master down timer expired"; + } + enum "state-change-higher-priority-master" { + value 8; + description + "Higher priority advert received"; + } + enum "state-change-fhrp-admin" { + value 9; + description + "FHRP Admin state change"; + } + enum "state-change-mgo-parent" { + value 10; + description + "Change of MGO parent session"; + } + enum "state-change-chkpt-update" { + value 11; + description + "Checkpoint update from Primary VRRP instance"; + } + enum "state-change-issu-resync" { + value 12; + description + "Resync following ISSU primary event"; + } + } + description + "Vrrp state change reason"; + } + + typedef Vrrp-bfd-session-state { + type enumeration { + enum "bfd-state-none" { + value 0; + description + "None"; + } + enum "bfd-state-inactive" { + value 1; + description + "Inactive"; + } + enum "bfd-state-up" { + value 2; + description + "Up"; + } + enum "bfd-state-down" { + value 3; + description + "Down"; + } + } + description + "Vrrp bfd session state"; + } + + typedef Vrrp-prot-auth { + type enumeration { + enum "authentication-none" { + value 0; + description + "Down"; + } + enum "authentication-text" { + value 1; + description + "Simple Text"; + } + enum "authentication-ip" { + value 2; + description + "IP header"; + } + } + description + "Vrrp prot auth"; + } + + typedef Vrrp-bag-protocol-state { + type enumeration { + enum "state-initial" { + value 1; + description + "Initial"; + } + enum "state-backup" { + value 2; + description + "Backup"; + } + enum "state-master" { + value 3; + description + "Master"; + } + } + description + "VRRP protocol state"; + } + + typedef Vrrp-vip-state { + type enumeration { + enum "virtual-ip-state-down" { + value 0; + description + "Down"; + } + enum "virtual-ip-state-up" { + value 1; + description + "Up"; + } + } + description + "Vrrp vip state"; + } + + typedef Vrrp-b-af { + type enumeration { + enum "address-family-ipv4" { + description + "IPv4 Address Family"; + } + enum "address-family-ipv6" { + description + "IPv6 Address Family"; + } + enum "vrrp-baf-count" { + description + "Number of Adddress Families"; + } + } + description + "Vrrp b af"; + } + + typedef Vrrp-version { + type uint8; + description + "Vrrp version"; + } + + grouping VRRP-SLAVE-INFO-TYPE { + description + "Slave info"; + leaf slave-interface { + type string { + length "0..80"; + } + description + "Interface of slave"; + } + leaf slave-virtual-router-id { + type uint32; + description + "VRID of slave"; + } + } + + grouping VRRP-MGO-INFO { + description + "MGO group data"; + leaf primary-session-name { + type string { + length "0..16"; + } + description + "Session Name"; + } + leaf primary-session-interface { + type xr:Interface-name; + description + "Interface of primary session"; + } + leaf primary-af-name { + type Vrrp-b-af; + description + "Address family of primary session"; + } + leaf primary-session-number { + type uint32; + description + "VRID of primary session"; + } + leaf primary-session-state { + type Vrrp-bag-protocol-state; + description + "State of primary session"; + } + list slave { + description + "List of slaves following this primary session"; + uses VRRP-SLAVE-INFO-TYPE; + } + } + + grouping VRRP-INTERFACE-INFO { + description + "VRRP Interface statistics"; + leaf interface { + type xr:Interface-name; + description + "IM Interface"; + } + leaf invalid-checksum-count { + type uint32; + description + "Invalid checksum"; + } + leaf invalid-version-count { + type uint32; + description + "Unknown/unsupported version"; + } + leaf invalid-vrid-count { + type uint32; + description + "Invalid vrID"; + } + leaf invalid-packet-length-count { + type uint32; + description + "Bad packet lengths"; + } + } + + grouping VRRP-STATE-CHANGE-INFO-TYPE { + description + "State change info"; + container time { + description + "Time of state change"; + uses VRRP-BAG-TIMESTAMP; + } + leaf old-state { + type Vrrp-bag-protocol-state; + description + "Old State"; + } + leaf new-state { + type Vrrp-bag-protocol-state; + description + "New State"; + } + leaf reason { + type Vrrp-state-change-reason; + description + "Reason for state change"; + } + } + + grouping VRRP-BAG-TIMESTAMP { + description + "Timestamp"; + leaf seconds { + type uint32; + units "second"; + description + "Seconds"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "Nanoseconds"; + } + } + + grouping IPV6-BAG-ADDR { + description + "IPV6 BAG ADDR"; + leaf ipv6-address { + type inet:ipv6-address; + description + "IPV6Address"; + } + } + + grouping VRRP-VROUTER-INFO { + description + "Detailed vrID specific information"; + container resign-sent-time { + description + "Time last resign was sent"; + uses VRRP-BAG-TIMESTAMP; + } + container resign-received-time { + description + "Time last resign was received"; + uses VRRP-BAG-TIMESTAMP; + } + leaf interface-name-xr { + type string { + length "0..80"; + } + description + "IM Interface Name"; + } + leaf virtual-router-id-xr { + type uint32; + description + "Virtual Router ID"; + } + leaf version { + type Vrrp-version; + description + "VRRP Protocol Version"; + } + leaf address-family { + type Vrrp-b-af; + description + "Address family"; + } + leaf session-name { + type string { + length "0..16"; + } + description + "Session Name"; + } + leaf slaves { + type uint32; + description + "Number of slaves following state"; + } + leaf is-slave { + type boolean; + description + "Group is a slave group"; + } + leaf followed-session-name { + type string { + length "0..16"; + } + description + "Followed Session Name"; + } + leaf secondary-address-count { + type uint8; + description + "Configured VRRP secondary address count"; + } + leaf operational-address-count { + type uint8; + description + "Operational VRRP address count"; + } + leaf primary-virtual-ip { + type inet:ipv4-address; + description + "Configured IPv4 Primary address"; + } + leaf configured-down-address-count { + type uint8; + description + " Configured but Down VRRP address count"; + } + leaf virtual-linklocal-ipv6-address { + type inet:ipv6-address; + description + "Virtual linklocal IPv6 address"; + } + leaf primary-state { + type Vrrp-vip-state; + description + "State of primary IP address"; + } + leaf master-ip-address { + type inet:ipv4-address; + description + "Master router real IP address"; + } + leaf master-ipv6-address { + type inet:ipv6-address; + description + "Master router real IPv6 address"; + } + leaf master-priority { + type uint8; + description + "Master router priority"; + } + leaf vrrp-state { + type Vrrp-bag-protocol-state; + description + "VRRP state"; + } + leaf authentication-type { + type Vrrp-prot-auth; + description + "Authentication type"; + } + leaf authentication-string { + type string; + description + "Authentication data"; + } + leaf configured-advertize-time { + type uint32; + description + "Configured advertize time"; + } + leaf oper-advertize-time { + type uint32; + description + "Operational advertize time"; + } + leaf min-delay-time { + type uint32; + units "millisecond"; + description + "Minimum delay time in msecs"; + } + leaf reload-delay-time { + type uint32; + units "millisecond"; + description + "Reload delay time in msecs"; + } + leaf delay-timer-flag { + type boolean; + description + "Delay timer running flag"; + } + leaf delay-timer-secs { + type uint32; + units "second"; + description + "Delay timer running time secs"; + } + leaf delay-timer-msecs { + type uint32; + units "millisecond"; + description + "Delay timer running time msecs"; + } + leaf authentication-flag { + type boolean; + description + "Text authentication configured flag"; + } + leaf force-timer-flag { + type boolean; + description + "Configured timers forced flag"; + } + leaf preempt-flag { + type boolean; + description + "Preempt configured flag"; + } + leaf ip-address-owner-flag { + type boolean; + description + "IP address owner flag"; + } + leaf is-accept-mode { + type boolean; + description + "Is accept mode"; + } + leaf preempt-delay-time { + type uint16; + description + "Preempt delay time"; + } + leaf configured-priority { + type uint8; + description + "Configured priority"; + } + leaf operational-priority { + type uint8; + description + "Operational priority"; + } + leaf priority-decrement { + type uint32; + description + "Priority decrement"; + } + leaf tracked-interface-count { + type uint32; + description + "Number of items tracked"; + } + leaf tracked-interface-up-count { + type uint32; + description + "Number of tracked items up"; + } + leaf tracked-item-count { + type uint32; + description + "Number of tracked items"; + } + leaf tracked-item-up-count { + type uint32; + description + "Number of tracked items in UP state"; + } + leaf time-in-current-state { + type uint32; + units "second"; + description + "Time in current state secs"; + } + leaf state-change-count { + type uint32; + description + "Number of state changes"; + } + leaf time-vrouter-up { + type uint32; + units "centisecond"; + description + "Time vrouter is up in centiseconds"; + } + leaf master-count { + type uint32; + description + "No. of times become Master"; + } + leaf adverts-received-count { + type uint32; + description + "No. of advertisements received"; + } + leaf advert-interval-error-count { + type uint32; + description + "Advertise interval errors"; + } + leaf adverts-sent-count { + type uint32; + description + "No. of advertisements sent"; + } + leaf authentication-fail-count { + type uint32; + description + "Authentication failures"; + } + leaf ttl-error-count { + type uint32; + description + "TTL errors"; + } + leaf priority-zero-received-count { + type uint32; + description + "No. priority 0 received"; + } + leaf priority-zero-sent-count { + type uint32; + description + "No. priority 0 sent"; + } + leaf invalid-packet-count { + type uint32; + description + "Invalid packets received"; + } + leaf address-list-error-count { + type uint32; + description + "Address list errors"; + } + leaf invalid-auth-type-count { + type uint32; + description + "Invalid authentication type"; + } + leaf auth-type-mismatch-count { + type uint32; + description + "Authentication type mismatches"; + } + leaf pkt-length-errors-count { + type uint32; + description + "Packet length errors"; + } + leaf time-stats-discontinuity { + type uint32; + description + "Time since a statistics discontinuity in ticks + (10ns units)"; + } + leaf bfd-session-state { + type Vrrp-bfd-session-state; + description + "BFD session state"; + } + leaf bfd-interval { + type uint32; + description + "BFD packet send interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD multiplier"; + } + leaf bfd-cfg-remote-ip { + type inet:ipv4-address; + description + "BFD configured remote IP"; + } + leaf bfd-configured-remote-ipv6-address { + type inet:ipv6-address; + description + "BFD configured remote IPv6"; + } + leaf state-from-checkpoint { + type boolean; + description + "Whether state recovered from checkpoint"; + } + leaf interface-ipv4-address { + type inet:ipv4-address; + description + "The Interface Primary IPv4 address"; + } + leaf interface-ipv6-address { + type inet:ipv6-address; + description + "The Interface linklocal IPv6 address"; + } + leaf virtual-mac-address { + type yang:mac-address; + description + "Virtual mac address"; + } + leaf virtual-mac-address-state { + type Vrrp-vmac-state; + description + "Virtual mac address state"; + } + leaf-list operational-address { + type inet:ipv4-address; + description + "Operational IPv4 VRRP addresses"; + } + leaf-list ipv4-configured-down-address { + type inet:ipv4-address; + description + "IPv4 Configured but Down VRRP addresses"; + } + list ipv6-operational-address { + description + "IPv6 Operational VRRP addresses"; + uses IPV6-BAG-ADDR; + } + list ipv6-configured-down-address { + description + "IPv6 Configured but Down VRRP addresses"; + uses IPV6-BAG-ADDR; + } + list track-item-info { + description + "Track Item Info"; + uses VRRP-TRACKITEM-INFO; + } + list state-change-history { + description + "State change history"; + uses VRRP-STATE-CHANGE-INFO-TYPE; + } + } + + grouping VRRP-TRACKITEM-INFO { + description + "Tracked item information"; + leaf interface { + type xr:Interface-name; + description + "IM Interface"; + } + leaf virtual-router-id-xr { + type uint32; + description + "Virtual Router ID"; + } + leaf tracked-item-type { + type uint16; + description + "Type of tracked item"; + } + leaf tracked-item-index { + type string { + length "0..32"; + } + description + "Tracked item index"; + } + leaf state { + type uint8; + description + "State of the tracked item"; + } + leaf priority { + type uint8; + description + "Priority weight of item"; + } + } + + grouping VRRP-SUMMARY-INFO { + description + "VRRP summary statistics"; + leaf ipv4-sessions-master-owner { + type uint32; + description + "Number of IPv4 sessions in MASTER (owner) state"; + } + leaf ipv4-sessions-master { + type uint32; + description + "Number of IPv4 sessions in MASTER state"; + } + leaf ipv4-sessions-backup { + type uint32; + description + "Number of IPv4 sessions in BACKUP state"; + } + leaf ipv4-sessions-init { + type uint32; + description + "Number of IPv4 sessions in INIT state"; + } + leaf ipv4-slaves-master { + type uint32; + description + "Number of IPv4 slaves in MASTER state"; + } + leaf ipv4-slaves-backup { + type uint32; + description + "Number of IPv4 slaves in BACKUP state"; + } + leaf ipv4-slaves-init { + type uint32; + description + "Number of IPv4 slaves in INIT state"; + } + leaf ipv4-virtual-ip-addresses-master-owner-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on + virtual routers in MASTER (owner) state"; + } + leaf ipv4-virtual-ip-addresses-master-owner-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + virtual routers in MASTER (owner) state"; + } + leaf ipv4-virtual-ip-addresses-master-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on + virtual routers in MASTER state"; + } + leaf ipv4-virtual-ip-addresses-master-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + virtual routers in MASTER state"; + } + leaf ipv4-virtual-ip-addresses-backup-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on + virtual routers in BACKUP state"; + } + leaf ipv4-virtual-ip-addresses-backup-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + virtual routers in BACKUP state"; + } + leaf ipv4-virtual-ip-addresses-init-up { + type uint32; + description + "Number of UP IPv4 Virtual IP Addresses on + virtual routers in INIT state"; + } + leaf ipv4-virtual-ip-addresses-init-down { + type uint32; + description + "Number of DOWN IPv4 Virtual IP Addresses on + virtual routers in INIT state"; + } + leaf ipv6-sessions-master-owner { + type uint32; + description + "Number of IPv6 sessions in MASTER (owner) state"; + } + leaf ipv6-sessions-master { + type uint32; + description + "Number of IPv6 sessions in MASTER state"; + } + leaf ipv6-sessions-backup { + type uint32; + description + "Number of IPv6 sessions in BACKUP state"; + } + leaf ipv6-sessions-init { + type uint32; + description + "Number of IPv6 sessions in INIT state"; + } + leaf ipv6-slaves-master { + type uint32; + description + "Number of IPv6 slaves in MASTER state"; + } + leaf ipv6-slaves-backup { + type uint32; + description + "Number of IPv6 slaves in BACKUP state"; + } + leaf ipv6-slaves-init { + type uint32; + description + "Number of IPv6 slaves in INIT state"; + } + leaf ipv6-virtual-ip-addresses-master-owner-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on + virtual routers in MASTER (owner) state"; + } + leaf ipv6-virtual-ip-addresses-master-owner-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + virtual routers in MASTER (owner) state"; + } + leaf ipv6-virtual-ip-addresses-master-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on + virtual routers in MASTER state"; + } + leaf ipv6-virtual-ip-addresses-master-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + virtual routers in MASTER state"; + } + leaf ipv6-virtual-ip-addresses-backup-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on + virtual routers in BACKUP state"; + } + leaf ipv6-virtual-ip-addresses-backup-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + virtual routers in BACKUP state"; + } + leaf ipv6-virtual-ip-addresses-init-up { + type uint32; + description + "Number of UP IPv6 Virtual IP Addresses on + virtual routers in INIT state"; + } + leaf ipv6-virtual-ip-addresses-init-down { + type uint32; + description + "Number of DOWN IPv6 Virtual IP Addresses on + virtual routers in INIT state"; + } + leaf interfaces-ipv4-state-up { + type uint32; + description + "Number of VRRP interfaces with IPv4 caps in UP + state"; + } + leaf interfaces-ipv4-state-down { + type uint32; + description + "Number of VRRP interfaces with IPv4 caps in DOWN + state"; + } + leaf tracked-interfaces-ipv4-state-up { + type uint32; + description + "Number of tracked interfaces with IPv4 caps in + UP state"; + } + leaf tracked-interfaces-ipv4-state-down { + type uint32; + description + "Number of tracked interfaces with IPv4 caps in + DOWN state"; + } + leaf interfaces-ipv6-state-up { + type uint32; + description + "Number of VRRP interfaces with IPv6 caps in UP + state"; + } + leaf interfaces-ipv6-state-down { + type uint32; + description + "Number of VRRP interfaces with IPv6 caps in DOWN + state"; + } + leaf tracked-interfaces-ipv6-state-up { + type uint32; + description + "Number of tracked interfaces with IPv6 caps in + UP state"; + } + leaf tracked-interfaces-ipv6-state-down { + type uint32; + description + "Number of tracked interfaces with IPv6 caps in + DOWN state"; + } + leaf tracked-objects-state-up { + type uint32; + description + "Number of tracked objects in UP state"; + } + leaf tracked-objects-state-down { + type uint32; + description + "Number of tracked objects in DOWN state"; + } + leaf bfd-sessions-up { + type uint32; + description + "Number of VRRP IPv4 BFD sessions in UP state"; + } + leaf bfd-sessions-down { + type uint32; + description + "Number of VRRP IPv4 BFD sessions in DOWN state"; + } + leaf bfd-session-inactive { + type uint32; + description + "Number of VRRP IPv4 BFD sessions in INACTIVE + state"; + } + leaf ipv6bfd-sessions-up { + type uint32; + description + "Number of VRRP IPv6 BFD sessions in UP state"; + } + leaf ipv6bfd-sessions-down { + type uint32; + description + "Number of VRRP IPv6 BFD sessions in DOWN state"; + } + leaf ipv6bfd-session-inactive { + type uint32; + description + "Number of VRRP IPv6 BFD sessions in INACTIVE + state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper.yang new file mode 100644 index 000000000..5431ada3c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv4-vrrp-oper.yang @@ -0,0 +1,230 @@ +module Cisco-IOS-XR-ipv4-vrrp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-vrrp-oper"; + prefix ipv4-vrrp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-vrrp-oper-sub1 { + revision-date 2022-03-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-vrrp package operational data. + + This module contains definitions + for the following management objects: + vrrp: VRRP operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-12 { + description + "Moved router id to a range type."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-16 { + description + "IOS XR 6.2.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Virtual-router-id { + type uint32 { + range "1..255"; + } + description + "Virtual router id"; + } + + container vrrp { + config false; + description + "VRRP operational data"; + container summary { + description + "VRRP summary statistics"; + uses VRRP-SUMMARY-INFO; + } + container ipv6 { + description + "IPv6 VRRP configuration"; + container track-items { + description + "The VRRP tracked item table"; + list track-item { + key "interface-name virtual-router-id tracked-interface-name"; + description + "A configured VRRP IP address entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name to track"; + } + leaf virtual-router-id { + type Virtual-router-id; + description + "The VRRP virtual router id"; + } + leaf tracked-interface-name { + type xr:Interface-name; + description + "The name of the tracked interface"; + } + uses VRRP-TRACKITEM-INFO; + } + } + container virtual-routers { + description + "The VRRP virtual router table"; + list virtual-router { + key "interface-name virtual-router-id"; + description + "A VRRP virtual router"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + leaf virtual-router-id { + type Virtual-router-id; + description + "The VRRP virtual router id"; + } + uses VRRP-VROUTER-INFO; + } + } + container interfaces { + description + "The VRRP interface table"; + list interface { + key "interface-name"; + description + "A VRRP interface entry"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses VRRP-INTERFACE-INFO; + } + } + } + container ipv4 { + description + "IPv4 VRRP configuration"; + container interfaces { + description + "The VRRP interface table"; + list interface { + key "interface-name"; + description + "A VRRP interface entry"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses VRRP-INTERFACE-INFO; + } + } + container track-items { + description + "The VRRP tracked item table"; + list track-item { + key "interface-name virtual-router-id tracked-interface-name"; + description + "A configured VRRP IP address entry"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name to track"; + } + leaf virtual-router-id { + type Virtual-router-id; + description + "The VRRP virtual router id"; + } + leaf tracked-interface-name { + type xr:Interface-name; + description + "The name of the tracked interface"; + } + uses VRRP-TRACKITEM-INFO; + } + } + container virtual-routers { + description + "The VRRP virtual router table"; + list virtual-router { + key "interface-name virtual-router-id"; + description + "A VRRP virtual router"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + leaf virtual-router-id { + type Virtual-router-id; + description + "The VRRP virtual router id"; + } + uses VRRP-VROUTER-INFO; + } + } + } + container mgo-sessions { + description + "VRRP MGO Session information"; + list mgo-session { + key "session-name"; + description + "A VRRP MGO Session"; + leaf session-name { + type xr:Cisco-ios-xr-string; + description + "The name of the session"; + } + uses VRRP-MGO-INFO; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ace-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ace-cfg.yang new file mode 100644 index 000000000..ce367587d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ace-cfg.yang @@ -0,0 +1,672 @@ +submodule Cisco-IOS-XR-ipv6-ace-cfg { + belongs-to Cisco-IOS-XR-ipv6-acl-cfg { + prefix ipv6-acl-cfg; + } + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ipv6-acl-datatypes { + prefix ipv6-acl-dt; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR IPv6 ACL entry configuration. + + Copyright (c) 2013, 2015-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "Added dscp bitmask field"; + semver:module-version "1.0.0"; + } + revision 2021-09-20 { + description + "Adding icmp-on per ace in the schema"; + } + revision 2021-07-28 { + description + "Added new police units"; + } + revision 2021-06-20 { + description + "Adding icmp-off in the schema"; + } + revision 2021-03-23 { + description + "Changing bag version due to fragment-type addition"; + semver:module-version "1.0.0"; + } + revision 2021-03-17 { + description + "Adding rsvp and vrrp keywords for protocols under access-list config CLI"; + } + revision 2020-12-04 { + description + "Fixing Remark Length"; + } + revision 2020-11-23 { + description + "Changing the bag version"; + } + revision 2019-10-22 { + description + "Fixing ICMP TYPE CODE datatype from Enum to RangeEnum"; + } + revision 2019-05-16 { + description + "Add more keywords for protocols under access-list config CLI."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-04-03 { + description + "6.5.1 revision. + Correct enum value for Next-hop-type"; + } + revision 2018-03-23 { + description + "6.5.1 revision. + Removing none-next-type."; + } + revision 2018-03-13 { + description + "6.5.1 revision. + Using YANG bit types for tcp flags."; + } + revision 2018-01-03 { + description + "6.4.1 revision. + Fixed a few typos in the description."; + } + revision 2017-12-04 { + description + "6.4.1 revision. + Updated the when statement for icmp constainer to match + icmpv6 protocol."; + } + revision 2017-11-13 { + description + "6.4.1 revision. + This revision adds the choice statement and a container: + - Dscptypes + - DSCPValues "; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2017-05-11 { + description + "6.3.1 revision. + This revision adds the following new leaf: + - set-ttl"; + } + revision 2016-11-07 { + description + "6.2.1 revision. + This revision adds the following new leaves: + - protocol-operator + - protocol2"; + } + revision 2015-11-09 { + description + "Initial revision."; + } + + typedef Next-hop-type { + type enumeration { + enum "regular-next-hop" { + value 1; + description + "Regular next-hop."; + } + enum "default-next-hop" { + value 2; + description + "Default next-hop."; + } + } + description + "Next-hop type."; + } + + grouping IPV6-ACE { + description + "IPv6 ACL entry."; + leaf grant { + type ipv6-acl-dt:Ipv6-acl-grant-enum; + description + "Forwarding action for the packet. This is required + for any non-remark ACE. Leave unspecified otherwise."; + } + leaf protocol-operator { + type ipv6-acl-dt:Ipv6-acl-operator-enum; + description + "Protocol operator. User can specify equal or leave + it unspecified for singleton protocol match, or + specify range for protocol range match."; + } + leaf protocol { + type ipv6-acl-dt:Ipv6-acl-protocol-number; + description + "Protocol number to match. It can be used for the lower + bound (range operator) or single value (equal operator). + Any value not in the permissible range will be rejected. + When leave unspecified, default value is ipv6."; + reference "RFC 758 - ASSIGNED INTERNET PROTOCOL NUMBERS"; + } + leaf protocol2 { + type ipv6-acl-dt:Ipv6-acl-protocol-number; + description + "Protocol2 to match. It is used in upper bound (range + operator). Any value not in the permissible range will + be rejected."; + reference "RFC 758 - ASSIGNED INTERNET PROTOCOL NUMBERS"; + } + container source-network { + description + "Source network settings."; + leaf source-address { + type inet:ipv6-address; + description + "Source IPv6 address, leave unspecified + if inputting as IPv6 address with wildcarding."; + reference "RFC 4291"; + } + leaf source-wild-card-bits { + type xr:Ipv6-prefix-length; + description + "Wildcard bits to apply to source-address + (if specified), leave unspecified for no + wildcarding."; + reference "RFC 4291"; + } + leaf source-mask { + type inet:ipv6-address-no-zone; + description + "Source address mask. Either + source-wild-card-bits or source-mask is. + supported, not both. Leave unspecified. + for any."; + reference "RFC 4291"; + } + } + container destination-network { + description + "Destination network settings."; + leaf destination-address { + type inet:ipv6-address; + description + "Destination IPv6 address, leave unspecified + if inputting as IPv6 address with + wildcarding."; + reference "RFC 4291"; + } + leaf destination-wild-card-bits { + type xr:Ipv6-prefix-length; + description + "Wildcard bits to apply to destination + destination-address (if specified), + leave unspecified for no wildcarding."; + reference "RFC 4291"; + } + leaf destination-mask { + type inet:ipv6-address-no-zone; + description + "Destination address mask. Either + destination-wild-card-bits or destination-mask. + is supported, not both. Leave unspecified + for any."; + reference "RFC 4291"; + } + } + container source-port { + when "../protocol = '6' or ../protocol = 'tcp' or ../protocol = '17' or ../protocol = 'udp' or ../protocol = '132' or ../protocol = 'sctp'" { + description + "Applicable only to TCP, SCTP and UDP."; + } + description + "Source port settings."; + leaf source-operator { + type ipv6-acl-dt:Ipv6-acl-operator-enum; + description + "Source port comparison operator. This is a required + field if any source port value is given, otherwise, + config will be rejected. Leave unspecified + if no source port comparison is to be done."; + } + leaf first-source-port { + type ipv6-acl-dt:Ipv6-acl-port-number; + description + "Lower source port for comparison. It can be used + for the lower bound (range operator) or single value + (equal, less, greater..etc). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + leaf second-source-port { + type ipv6-acl-dt:Ipv6-acl-port-number; + description + "Upper source port for comparion. It is used + in the upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + } + container destination-port { + when "../protocol = '6' or ../protocol = 'tcp' or ../protocol = '17' or ../protocol = 'udp' or ../protocol = '132' or ../protocol = 'sctp'" { + description + "Applicable only to TCP, SCTP and UDP."; + } + description + "Destination port settings."; + leaf destination-operator { + type ipv6-acl-dt:Ipv6-acl-operator-enum; + description + "Destination port comparison operator. This is a + required field if any destination port value is + given, otherwise, config will be rejected. + Leave unspecified if no destination + port comparison is to be done."; + } + leaf first-destination-port { + type ipv6-acl-dt:Ipv6-acl-port-number; + description + "Lower destination port for comparison. It can be used + for the lower bound (range operator) or single value + (equal, less, greater..etc). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + leaf second-destination-port { + type ipv6-acl-dt:Ipv6-acl-port-number; + description + "Upper destination port for comparison. It is used + in the upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 1700 - WELL KNOWN PORT NUMBERS"; + } + } + container icmp { + when "../protocol = '58' or ../protocol = 'icmpv6'" { + description + "Applicable only to ICMPv6."; + } + description + "ICMP settings."; + leaf icmp-type-code { + type ipv6-acl-dt:Ipv6-acl-icmp-type-code-enum; + description + "Well known ICMP message code types to match, + leave unspecified if ICMP message code type + comparion is not to be performed."; + reference "RFC 2463"; + } + } + container tcp { + when "../protocol = '6' or ../protocol = 'tcp'" { + description + "Applicable only to TCP."; + } + description + "TCP settings."; + leaf tcp-bits-match-operator { + type ipv6-acl-dt:Ipv6-acl-tcp-match-operator-enum; + description + "TCP Bits match operator. Leave unspecified if + flexible comparison of TCP bits is not + required."; + } + leaf tcp-bits { + type ipv6-acl-dt:Ipv6-acl-tcp-bits-number; + description + "TCP bits to match. Leave unspecified if + comparison of TCP bits is not required."; + reference "RFC 793 Section 3.1 Control Bits"; + } + leaf tcp-bits-mask { + type ipv6-acl-dt:Ipv6-acl-tcp-bits-number; + description + "TCP bits mask to use for flexible TCP matching. + Leave unspecified if it is not required."; + } + } + container packet-length { + description + "Packet length settings."; + leaf packet-length-operator { + type ipv6-acl-dt:Ipv6-acl-operator-enum; + description + "Packet length operator applicable if packet length + is to be compared. This is a required field if any + packet-length value is given, otherwise, config + will be rejected."; + } + leaf packet-length-min { + type ipv6-acl-dt:Ipv6-acl-plen-range; + description + "Mininum packet length value for comparison. It can be used + for the lower bound (range operator) or single value + (equal, less, greater..etc). Any value not in the permissible + range will be rejected. Leave unspecified otherwise."; + } + leaf packet-length-max { + type ipv6-acl-dt:Ipv6-acl-plen-range; + description + "Maximum packet length value for comparison. It is used + in the upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + } + } + container time-to-live { + description + "TTL settings."; + leaf time-to-live-operator { + type ipv6-acl-dt:Ipv6-acl-operator-enum; + description + "TTL operator is applicable if TTL is to be compared. + This is a required field if any TTL value is given, + otherwise, config will be rejected. Leave + unspecified if TTL classification is not required."; + } + leaf time-to-live-min { + type ipv6-acl-dt:Ipv6-acl-ttl-range; + description + "Mininum TTL value for comparison. It can be used for the + lower bound (range operator) or single value (equal, less, + greater..etc). Any value not in the permissible range will + be rejected. Leave unspecified otherwise."; + reference "RFC 791 Section 3.2 - Time to Live"; + } + leaf time-to-live-max { + type ipv6-acl-dt:Ipv6-acl-ttl-range; + description + "Maximum TTL value for comparison. It is used in the + upper bound (range operator). Any value not in the + permissible range will be rejected. Leave unspecified + otherwise."; + reference "RFC 791 Section 3.2 - Time to Live"; + } + } + choice Dscptype { + case dscpcontainer { + container DSCPValues { + description + "DSCP settings."; + leaf dscp-operator { + type ipv6-acl-dt:Ipv6-acl-operator-enum; + description + "Enumerated DSCP operator values. Used when + operator needs to be configured. Leave unspecified + if DSCP operator is not required. Note: if the + dscp operator is not set, it logically behaves + same as equal operator."; + } + leaf dscp-lower { + type ipv6-acl-dt:Ipv6-acl-dscp-number; + description + "DSCP value to match (if a value was specified). + It can be used for the lower bound (range operator) or + single value (equal, less, greater..etc) or without + any operator. Any value not in the permissible range + will be rejected. Leave unspecified if DSCP + comparison is not to be performed."; + reference "RFC 2474"; + } + leaf dscp-upper { + type ipv6-acl-dt:Ipv6-acl-dscp-number; + description + "DSCP value to match (if a value was specified). + It can be used in the upper bound (range operator) + Any value not in the permissible range will be rejected. + Leave unspecified if DSCP range comparison is not to be + performed."; + reference "RFC 2474"; + } + } + } + case dscpleaf { + leaf dscp { + type ipv6-acl-dt:Ipv6-acl-dscp-number; + description + "DSCP value to match without any operators. + Any value not in the permissible range will be rejected. + Leave unspecified if DSCP comparison is not to be + performed. For Setting dscp values, use the dscp + container as this leaf will be deprecated soon."; + reference "RFC 2474"; + } + } + } + leaf precedence { + type ipv6-acl-dt:Ipv6-acl-precedence-number; + description + "Precedence value to match (if a protocol was specified). + Any value not in the permissible range will be rejected. + Leave unspecified if precedence comparion is not to be + performed."; + reference "RFC 791 Section 3.1 - Precedence"; + } + container next-hop { + description + "Next-hop settings."; + leaf next-hop-type { + type Next-hop-type; + description + "The nexthop type."; + } + container next-hop-1 { + description + "The first next-hop settings."; + leaf next-hop { + type inet:ipv6-address-no-zone; + description + "The IPv6 address of the next-hop."; + } + leaf vrf-name { + type string { + length "1..32"; + } + description + "The VRF name of the next-hop."; + } + leaf track-name { + type string { + length "1..32"; + } + description + "The object tracking name for the next-hop."; + } + } + container next-hop-2 { + description + "The second next-hop settings."; + leaf next-hop { + type inet:ipv6-address-no-zone; + description + "The IPv6 address of the next-hop."; + } + leaf vrf-name { + type string { + length "1..32"; + } + description + "The VRF name of the next-hop."; + } + leaf track-name { + type string { + length "1..32"; + } + description + "The object tracking name for the next-hop."; + } + } + container next-hop-3 { + description + "The third next-hop settings."; + leaf next-hop { + type inet:ipv6-address-no-zone; + description + "The IPv6 address of the next-hop."; + } + leaf vrf-name { + type string { + length "1..32"; + } + description + "The VRF name of the next-hop."; + } + leaf track-name { + type string { + length "1..32"; + } + description + "The object tracking name for the next-hop."; + } + } + } + leaf counter-name { + type string { + length "1..64"; + } + description + "Name of counter to aggregate hardware statistics."; + } + leaf log-option { + type ipv6-acl-dt:Ipv6-acl-logging-enum; + description + "Log the packet on this access-list-entry/rule."; + } + leaf capture { + type boolean; + description + "Enable capture if set to TRUE."; + } + leaf undetermined-transport { + type boolean; + description + "Enable undetermined-transport if set to TRUE."; + } + leaf icmp-off { + type empty; + description + "To turn off ICMP generation for deny ACEs."; + } + leaf qos-group { + type ipv6-acl-dt:Ipv6-acl-qos-group-number; + description + "Set qos-group number. Any value not in the permissible + range will be rejected."; + } + leaf set-ttl { + type ipv6-acl-dt:Ipv6-acl-ttl-range; + description + "Set TTL Value. Any value not in the permissible range + will be rejected."; + } + container header-flags { + description + "Match if header-flag is present."; + leaf routing { + type empty; + description + "Match if routing header is present."; + reference "RFC 2460 Section 4"; + } + leaf destopts { + type empty; + description + "Match if destops header is present."; + reference "RFC 2460 Section 4"; + } + leaf hop-by-hop { + type empty; + description + "Match if hop-by-hop header is present."; + reference "RFC 2460 Section 4"; + } + leaf fragments { + type empty; + description + "Match if fragments header is present."; + reference "RFC 2460 Section 4"; + } + leaf authen { + type empty; + description + "Match if authen header is present."; + reference "RFC 2460 Section 4"; + } + } + leaf remark { + type string { + length "0..255"; + } + description + "Description for the access-list-entry/rules."; + } + leaf source-prefix-group { + type string { + length "1..64"; + } + description + "IPv6 source network object group name."; + } + leaf destination-prefix-group { + type string { + length "1..64"; + } + description + "IPv6 destination network object group name."; + } + leaf source-port-group { + type string { + length "1..64"; + } + description + "Source port object group name."; + } + leaf destination-port-group { + type string { + length "1..64"; + } + description + "Destination port object group name."; + } + leaf sequence-str { + type string { + length "1..64"; + } + description + "Sequence String for the ace."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-cfg.yang new file mode 100644 index 000000000..ad007cd6c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-cfg.yang @@ -0,0 +1,264 @@ +module Cisco-IOS-XR-ipv6-acl-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-cfg"; + prefix ipv6-acl-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-common-acl-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-ipv6-acl-datatypes { + prefix dt2; + } + include Cisco-IOS-XR-ipv6-ace-cfg { + revision-date 2022-07-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-acl package configuration. + + This module contains definitions + for the following management objects: + ipv6-acl-and-prefix-list: IPv6 ACL configuration data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "7.5.4 revision. Added dscp-bitmask feature + 2021-09-20 + 7.6.1 revision. Adding icmp-on for ace in the schema + 2021-07-28 + 7.5.1 revision. Adding additional units for policer"; + semver:module-version "1.3.0"; + } + revision 2021-06-20 { + description + "7.5.1 revision. Adding icmp-off in the schema + 2021-03-23 + 7.5.1 revision. Changing bag version due to fragment-type addition. + 2021-03-17 + 7.3.15 revision. Adding rsvp and vrrp keywords for protocols under access-list config CLI."; + semver:module-version "1.3.0"; + } + revision 2020-12-04 { + description + "7.4.1 revision. Fixing Remark Length + 2020-11-23 + 7.3.2 revision. changing the bag version"; + semver:module-version "1.2.0"; + } + revision 2019-10-22 { + description + "7.0.1 revision. Fixing ICMP TYPE CODE datatype from Enum to RangeEnum"; + semver:module-version "1.1.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-04-03 { + description + "6.5.1 revision. Correct enum value for Next-hop-type."; + } + revision 2018-03-23 { + description + "6.5.1 revision. Removing none-next-type."; + } + revision 2018-03-13 { + description + "6.5.1 revision. Using YANG bit types for tcp flags."; + } + revision 2018-01-03 { + description + "6.4.1 revision. Fixed a few typos in the description."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv6-acl-and-prefix-list { + description + "IPv6 ACL configuration data"; + container prefixes { + description + "Table of prefix lists"; + list prefix { + key "name"; + description + "Name of a prefix list"; + container prefix-list-entries { + description + "Sequence of entries forming a prefix list"; + list prefix-list-entry { + key "sequence-number"; + description + "A prefix list entry; either a description + (remark) or a prefix to match against"; + leaf sequence-number { + type dt1:Acl-sequence-number-range; + description + "Sequence number of prefix list"; + } + leaf grant { + type dt2:Ipv6-acl-grant-enum; + description + "Whether to forward or drop packets matching + the prefix list"; + } + leaf ipv6-address-as-string { + type string; + description + "The IPv6 address if entered with the + ZoneMutually exclusive with Prefix and + PrefixMask"; + } + leaf zone { + type string; + description + "IPv6 Zone if entered with the + IPV6AddressMutually exclusive with Prefix + and PrefixMask"; + } + leaf prefix { + type inet:ipv6-address-no-zone; + description + "IPv6 address prefix to match"; + } + leaf prefix-mask { + type xr:Ipv6-prefix-length; + description + "MaskLength of IPv6 address prefix"; + } + leaf match-exact-length { + type dt2:Ipv6-prefix-match-exact-length; + description + "Set to perform an exact prefix length match. + Item is mutually exclusive with minimum and + maximum length match items"; + } + leaf exact-prefix-length { + type xr:Ipv6-prefix-length; + description + "If exact prefix length matching specified, + set the length of prefix to be matched"; + } + leaf match-max-length { + type dt2:Ipv6-prefix-match-max-length; + description + "Set to perform a maximum length prefix match + . Item is mutually exclusive with exact + length match item"; + } + leaf max-prefix-length { + type xr:Ipv6-prefix-length; + description + "If maximum length prefix matching specified, + set the maximum length of prefix to be + matched"; + } + leaf match-min-length { + type dt2:Ipv6-prefix-match-min-length; + description + "Set to perform a minimum length prefix match + . Item is mutually exclusive with exact + length match item"; + } + leaf min-prefix-length { + type xr:Ipv6-prefix-length; + description + "If minimum length prefix matching specified, + set the minimum length of prefix to be + matched"; + } + leaf remark { + type dt2:Ipv6-acl-prefix-remark-name; + description + "Comments or a description for the prefix + list. Item is mutually exclusive with all + others in the object"; + } + } + } + leaf name { + type dt2:Ipv6-acl-prefix-list-name; + description + "Name of a prefix list"; + } + } + } + container log-update { + description + "Control access lists log updates"; + leaf threshold { + type dt2:Ipv6-acl-log-threshold-range; + description + "Log update threshold (number of hits)"; + } + leaf rate { + type dt2:Ipv6-acl-log-rate-range; + description + "Log update rate (log messages per second)"; + } + } + container accesses { + description + "Table of access lists"; + list access { + key "name"; + description + "An ACL"; + container access-list-entries { + description + "ACL entry table; contains list of access list + entries"; + list access-list-entry { + key "sequence-number"; + description + "An ACL entry; either a description (remark) + or anAccess List Entry to match against"; + leaf sequence-number { + type dt2:Ipv6-acl-sequence-number-range; + description + "Sequence number of access list entry"; + } + uses IPV6-ACE; + } + } + leaf name { + type dt2:Ipv6-acl-prefix-list-name; + description + "Name of the access list"; + } + } + } + leaf icmp-off { + type empty; + description + "This is set to disable the icmpoff messages"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-datatypes.yang new file mode 100644 index 000000000..c1d8591d3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-datatypes.yang @@ -0,0 +1,1130 @@ +module Cisco-IOS-XR-ipv6-acl-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-datatypes"; + prefix ipv6-acl-datatypes; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-23 { + description + "7.5.1 revision. Adding enums for fragment-type addition."; + semver:module-version "2.2.0"; + } + revision 2020-12-04 { + description + "7.4.1 revision. Fixing Remark Length"; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6-prefix-match-exact-length { + type enumeration { + enum "match-exact-length" { + value 1; + description + "Prefix Length Exact match"; + } + } + description + "Ipv6 prefix match exact length"; + } + + typedef Ipv6-acl-grant-enum { + type enumeration { + enum "deny" { + value 0; + description + "Deny"; + } + enum "permit" { + value 1; + description + "Permit"; + } + } + description + "Ipv6 acl grant enum"; + } + + typedef Ipv6-acl-logging-enum { + type enumeration { + enum "log" { + value 1; + description + "Log matches against this entry"; + } + enum "log-input" { + value 2; + description + "Log matches against this entry, including input + interface"; + } + } + description + "Ipv6 acl logging enum"; + } + + typedef Ipv6-acl-log-threshold-range { + type uint32 { + range "1..2147483647"; + } + description + "Ipv6 acl log threshold range"; + } + + typedef Ipv6-acl-protocol-number { + type union { + type enumeration { + enum "ip" { + value 0; + description + "Any IP protocol"; + } + enum "icmp" { + value 1; + description + "Internet Control Message Protocol"; + } + enum "igmp" { + value 2; + description + "Internet Gateway Message Protocol"; + } + enum "ip-in-ip" { + value 4; + description + "IP in IP tunneling"; + } + enum "tcp" { + value 6; + description + "Transport Control Protocol"; + } + enum "igrp" { + value 9; + description + "Cisco's IGRP Routing Protocol"; + } + enum "udp" { + value 17; + description + "User Datagram Protocol"; + } + enum "rsvp" { + value 46; + description + "Resource Reservation Protocol"; + } + enum "gre" { + value 47; + description + "Cisco's GRE tunneling"; + } + enum "esp" { + value 50; + description + "Encapsulation Security Protocol"; + } + enum "ahp" { + value 51; + description + "Authentication Header Protocol"; + } + enum "icmpv6" { + value 58; + description + "Internet Control Message Protocol"; + } + enum "eigrp" { + value 88; + description + "Cisco's EIGRP Routing Protocol"; + } + enum "ospf" { + value 89; + description + "OSPF Routing Protocol"; + } + enum "nos" { + value 94; + description + "KA9Q NOS Compatible IP over IP tunneling"; + } + enum "pim" { + value 103; + description + "Protocol Independent Multicast"; + } + enum "pcp" { + value 108; + description + "Payload Compression Protocol"; + } + enum "vrrp" { + value 112; + description + "Virtual Router Redundancy Protocol"; + } + enum "sctp" { + value 132; + description + "Stream Control Transmission Protocol"; + } + } + type uint32 { + range "0..255"; + } + } + description + "Ipv6 acl protocol number"; + } + + typedef Ipv6-acl-icmp-code-range { + type uint32 { + range "0..255"; + } + description + "Ipv6 acl icmp code range"; + } + + typedef Ipv6-acl-icmp-type-code-enum { + type union { + type enumeration { + enum "parameter-problem" { + value 327679; + description + "All parameter problems"; + } + enum "time-exceeded" { + value 262143; + description + "All time exceeds"; + } + enum "router-solicitation" { + value 8716288; + description + "Router discovery solicitations"; + } + enum "router-advertisement" { + value 8781824; + description + "Router discovery advertisements"; + } + enum "echo" { + value 8388608; + description + "Echo ping"; + } + enum "redirect" { + value 8978432; + description + "All redirects"; + } + enum "unreachable" { + value 131071; + description + "All unreachables"; + } + enum "echo-reply" { + value 8454144; + description + "Echo reply"; + } + enum "host-unreachable" { + value 65539; + description + "Host unreachable"; + } + enum "port-unreachable" { + value 65540; + description + "Port unreachable"; + } + enum "administratively-prohibited" { + value 65537; + description + "Administratively prohibited"; + } + enum "no-room-for-option" { + value 262146; + description + "Parameter required but no room"; + } + enum "reassembly-timeout" { + value 196609; + description + "Reassembly timeout"; + } + enum "option-missing" { + value 262145; + description + "Parameter required but not present"; + } + enum "group-membership-query" { + value 8585215; + description + "Multicast listener query"; + } + enum "group-membership-report" { + value 8650751; + description + "Multicast listener report"; + } + enum "group-membership-reduction" { + value 8716287; + description + "Multicast listener done"; + } + enum "packet-too-big" { + value 131072; + description + "packet too big"; + } + enum "ttl-exceeded" { + value 196608; + description + "TTL exceeded"; + } + enum "neighbor-solicitation" { + value 8847360; + description + "Neighbor discovery neighbor solicitations"; + } + enum "neighbor-advertisement" { + value 8912896; + description + "Neighbor discovery neighbor advertisements"; + } + enum "router-renumbering" { + value 9109503; + description + "Router renumbering"; + } + enum "who-are-you-request" { + value 9175039; + description + "Who are you request"; + } + enum "who-are-you-reply" { + value 9240575; + description + "Who are you reply"; + } + enum "erronenous-header-field" { + value 262144; + description + "Erroneous header field"; + } + enum "beyond-scope-of-source-address" { + value 65538; + description + "Unreachable beyond scope of address"; + } + enum "no-route-to-destination" { + value 65536; + description + "No route to destination"; + } + enum "rr-command" { + value 9043968; + description + "Router renumbering command"; + } + enum "rr-result" { + value 9043969; + description + "Router renumbering result"; + } + enum "rr-seqnum-reset" { + value 9044223; + description + "Router renumbering seqnum"; + } + enum "node-information-successful-reply" { + value 9175040; + description + "Node information successful reply"; + } + enum "node-information-request-is-refused" { + value 9175041; + description + "Node information reply rejected"; + } + enum "query-subject-is-ipv6-address" { + value 9109504; + description + "Query subject is ipv6 address"; + } + enum "query-subject-is-domain-name" { + value 9109505; + description + "Query subject is domain name"; + } + enum "query-subject-is-ipv4-address" { + value 9109506; + description + "Query subject is ipv4 address"; + } + enum "unknown-query-type" { + value 9175042; + description + "Unknown query type"; + } + } + type uint32 { + range "0..2147483646"; + } + } + description + "Ipv6 acl icmp type code enum"; + } + + typedef Ipv6-acl-sequence-number-range { + type uint32 { + range "1..2147483643"; + } + description + "Ipv6 acl sequence number range"; + } + + typedef Ipv6-acl-precedence-number { + type union { + type enumeration { + enum "critical" { + value 5; + description + "Match packets with critical precedence"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control + precedence"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence"; + } + enum "routine" { + value 0; + description + "Match packets with routine precedence"; + } + } + type uint32 { + range "0..7"; + } + } + description + "Ipv6 acl precedence number"; + } + + typedef Ipv6-acl-qos-group-number { + type uint32 { + range "0..512"; + } + description + "Ipv6 acl qos group number"; + } + + typedef Ipv6-acl-frag-flags { + type enumeration { + enum "is-fragment" { + value 2; + description + "Match is fragment flag"; + } + enum "first-fragment" { + value 4; + description + "Match first fragment flag"; + } + } + description + "Ipv6 acl frag flags"; + } + + typedef Ipv6-acl-type-enum { + type enumeration { + enum "acl" { + value 1; + description + "ACL"; + } + enum "prefix-list" { + value 2; + description + "Prefix List"; + } + } + description + "Ipv6 acl type enum"; + } + + typedef Ipv6-prefix-match-min-length { + type enumeration { + enum "match-min-length" { + value 2; + description + "Enable matching of Prefix Lengths greater than + MinPrefixLength"; + } + } + description + "Ipv6 prefix match min length"; + } + + typedef Ipv6-acl-dscp-number { + type union { + type enumeration { + enum "default" { + value 0; + description + "Default DSCP"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 DSCP"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 DSCP"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 DSCP"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 DSCP"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 DSCP"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 DSCP"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 DSCP"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 DSCP"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 DSCP"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 DSCP"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 DSCP"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 DSCP"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1 (precedence 1) DSCP"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2 (precedence 2) DSCP"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3 (precedence 3) DSCP"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4 (precedence 4) DSCP"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5 (precedence 5) DSCP"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6 (precedence 6) DSCP"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7 (precedence 7) DSCP"; + } + enum "ef" { + value 46; + description + "Match packets with EF DSCP"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Ipv6 acl dscp number"; + } + + typedef Ipv6-acl-prefix-remark-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Ipv6 acl prefix remark name"; + } + + typedef Ipv6-acl-max-configurable-sequence-numbers { + type uint32 { + range "50000..350000"; + } + description + "Ipv6 acl max configurable sequence numbers"; + } + + typedef Ipv6-acl-log-rate-range { + type uint32 { + range "1..1000"; + } + description + "Ipv6 acl log rate range"; + } + + typedef Ipv6-acl-tcp-bits-number { + type bits { + bit fin { + position 0; + description + "Match on the FIN bit (0x01)"; + } + bit syn { + position 1; + description + "Match on the SYN bit (0x02)"; + } + bit rst { + position 2; + description + "Match on the RST bit (0x04)"; + } + bit psh { + position 3; + description + "Match on the PSH bit (0x08)"; + } + bit ack { + position 4; + description + "Match on the ACK bit (0x10)"; + } + bit urg { + position 5; + description + "Match on the URG bit (0x20)"; + } + } + description + "Ipv6 acl tcp bits number"; + } + + typedef Ipv6-acl-prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Ipv6 acl prefix list name"; + } + + typedef Ipv6-acl-icmp-type-range { + type uint32 { + range "0..255"; + } + description + "Ipv6 acl icmp type range"; + } + + typedef Ipv6-prefix-match-max-length { + type enumeration { + enum "match-max-length" { + value 3; + description + "Enable matching of Prefix Lengths lesser than + MaxPrefixLength"; + } + } + description + "Ipv6 prefix match max length"; + } + + typedef Ipv6-acl-plen-range { + type uint32 { + range "0..65535"; + } + description + "Ipv6 acl plen range"; + } + + typedef Ipv6-acl-ttl-range { + type uint32 { + range "0..255"; + } + description + "Ipv6 acl ttl range"; + } + + typedef Ipv6-acl-port-number { + type union { + type enumeration { + enum "echo" { + value 7; + description + "Match on the 'echo' port number"; + } + enum "discard" { + value 9; + description + "Match on the 'discard' port number"; + } + enum "daytime" { + value 13; + description + "Match on the 'daytime' port number (TCP/SCTP + only)"; + } + enum "char-gen" { + value 19; + description + "Match on the 'chargen' port number (TCP/SCTP + only)"; + } + enum "ftp-data" { + value 20; + description + "Match on the FTP data connections port number + (TCP/SCTP only)"; + } + enum "ftp" { + value 21; + description + "Match on the 'ftp' port number (TCP/SCTP only)"; + } + enum "telnet" { + value 23; + description + "Match on the 'telnet' port number (TCP/SCTP + only)"; + } + enum "smtp" { + value 25; + description + "Match on the 'smtp' port number (TCP/SCTP + only)"; + } + enum "time" { + value 37; + description + "Match on the 'time' port number"; + } + enum "name-server" { + value 42; + description + "Match on the IEN116 name service port number + (UDP only)"; + } + enum "who-is" { + value 43; + description + "Match on the 'nicname' port number (TCP/SCTP + only)"; + } + enum "tacacs" { + value 49; + description + "Match on the 'tacacs' port number"; + } + enum "dns" { + value 53; + description + "Match on the 'dns' port number"; + } + enum "boot-ps" { + value 67; + description + "Match on the Bootstrap Protocol server port + number (UDP only)"; + } + enum "boot-pc" { + value 68; + description + "Match on the Bootstrap Protocol client port + number (UDP only)"; + } + enum "tftp" { + value 69; + description + "Match on the 'tftp' port number (UDP only)"; + } + enum "gopher" { + value 70; + description + "Match on the 'gopher' port number (TCP/SCTP + only)"; + } + enum "finger" { + value 79; + description + "Match on the 'finger' port number (TCP/SCTP + only)"; + } + enum "www" { + value 80; + description + "Match on the 'http' port number (TCP/SCTP + only)"; + } + enum "host-name" { + value 101; + description + "Match on the NIC hostname server port number + (TCP/SCTP only)"; + } + enum "pop2" { + value 109; + description + "Match on the 'pop2' port number (TCP/SCTP + only)"; + } + enum "pop3" { + value 110; + description + "Match on the 'pop3' port number (TCP/SCTP + only)"; + } + enum "sun-rpc" { + value 111; + description + "Match on the Sun RPC port number"; + } + enum "ident" { + value 113; + description + "Match on the 'ident' port number (TCP/SCTP + only)"; + } + enum "nntp" { + value 119; + description + "Match on the 'nntp' port number (TCP/SCTP + only)"; + } + enum "ntp" { + value 123; + description + "Match on the 'ntp' port number (UDP only)"; + } + enum "net-bios-ns" { + value 137; + description + "Match on the NetBIOS name service port number + (UDP only)"; + } + enum "net-bios-dgs" { + value 138; + description + "Match on the NetBIOS datagram service port + number (UDP only)"; + } + enum "net-bios-ss" { + value 139; + description + "Match on the NetBIOS session service port + number (UDP only)"; + } + enum "snmp" { + value 161; + description + "Match on the 'snmp' port number (UDP only)"; + } + enum "snmp-trap" { + value 162; + description + "Match on the SNMP traps port number (UDP only)"; + } + enum "xdmcp" { + value 177; + description + "Match on the 'xdmcp' port number (UDP only)"; + } + enum "bgp" { + value 179; + description + "Match on the 'bgp' port number (TCP/SCTP only)"; + } + enum "irc" { + value 194; + description + "Match on the 'irc' port number (TCP/SCTP only)"; + } + enum "dnsix" { + value 195; + description + "Match on the DNSIX security protocol auditing + port number (UDP only)"; + } + enum "mobile-ip" { + value 434; + description + "Match on the mobile IP registration port + number (UDP only)"; + } + enum "pim-auto-rp" { + value 496; + description + "Match on the PIM Auto-RP port number"; + } + enum "isakmp" { + value 500; + description + "Match on the 'isakmp' port number (UDP only)"; + } + enum "exec-or-biff" { + value 512; + description + "Match on the port used by TCP/SCTP for 'exec' + and by UDP for 'biff'"; + } + enum "login-or-who" { + value 513; + description + "Match on the port used by TCP/SCTP for 'login' + and by UDP for 'rwho'"; + } + enum "cmd-or-syslog" { + value 514; + description + "Match on the port used by TCP/SCTP for 'rcmd' + and by UDP for 'syslog'"; + } + enum "lpd" { + value 515; + description + "Match on the 'lpd' port number (TCP/SCTP only)"; + } + enum "talk" { + value 517; + description + "Match on the 'talk' port number"; + } + enum "rip" { + value 520; + description + "Match on the 'rip' port number (UDP only)"; + } + enum "uucp" { + value 540; + description + "Match on the 'uucp' port number (TCP/SCTP + only)"; + } + enum "klogin" { + value 543; + description + "Match on the Kerberos login port number + (TCP/SCTP only)"; + } + enum "kshell" { + value 544; + description + "Match on the Kerberos shell port number + (TCP/SCTP only)"; + } + enum "ldp" { + value 646; + description + "Match on the LDP port"; + } + enum "https" { + value 443; + description + "Match on the HTTPS port"; + } + enum "bfd" { + value 3784; + description + "Match on the BFD port"; + } + enum "radius" { + value 1812; + description + "Match on the RADIUS AUTHENTICATION port"; + } + enum "radius-acct" { + value 1813; + description + "Match on the RADIUS ACCOUNTING port"; + } + } + type uint32 { + range "0..65535"; + } + } + description + "Ipv6 acl port number"; + } + + typedef Ipv6-acl-status-enum { + type enumeration { + enum "disabled" { + value 0; + description + "Disabled"; + } + enum "enabled" { + value 1; + description + "Enabled"; + } + } + description + "Ipv6 acl status enum"; + } + + typedef Ipv6-acl-max-configurable-acl { + type uint32 { + range "1000..16000"; + } + description + "Ipv6 acl max configurable acl"; + } + + typedef Ipv6-acl-operator-enum { + type enumeration { + enum "equal" { + value 1; + description + "Match only packets on a given port number"; + } + enum "greater-than" { + value 2; + description + "Match only packet with a greater port number"; + } + enum "less-than" { + value 3; + description + "Match only packet with a lower port number"; + } + enum "not-equal" { + value 4; + description + "Match only packets not on a given port number"; + } + enum "range" { + value 5; + description + "Match only packets in the range of port numbers"; + } + } + description + "Ipv6 acl operator enum"; + } + + typedef Ipv6-acl-tcp-match-operator-enum { + type enumeration { + enum "match-all" { + value 1; + description + "Match only packet with all the given TCP bits"; + } + enum "match-any" { + value 3; + description + "Match only packet with any of the given TCP + bits"; + } + } + description + "Ipv6 acl tcp match operator enum"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper-sub1.yang new file mode 100644 index 000000000..bd7e378d8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper-sub1.yang @@ -0,0 +1,909 @@ +submodule Cisco-IOS-XR-ipv6-acl-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-acl-oper { + prefix Cisco-IOS-XR-ipv6-acl-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-acl package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "7.5.4 revision. Added dscp-bitmask feature + 2021-11-23 + Added icmp-on feature."; + semver:module-version "1.2.1m"; + } + revision 2021-03-05 { + description + "Adding a new policer stats field.CSCvx54997."; + semver:module-version "1.2.0"; + } + revision 2020-11-13 { + description + "Adding policer and priority. IosSetYangSchemaRev Cisco-IOS-XR-ipv6-acl-oper"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Acl-priority { + type enumeration { + enum "low" { + value 0; + description + "low"; + } + enum "medium" { + value 1; + description + "medium"; + } + enum "high" { + value 2; + description + "high"; + } + enum "critical" { + value 3; + description + "critical"; + } + enum "invalid" { + value 4; + description + "invalid"; + } + enum "acl-priority-unspec" { + value 255; + description + "unspec"; + } + } + description + "Acl priority"; + } + + typedef Bag-acl-rate-unit { + type enumeration { + enum "pps" { + description + "pps"; + } + enum "bps" { + description + "bps"; + } + enum "kbps" { + description + "kbps"; + } + enum "mbps" { + description + "mbps"; + } + enum "gbps" { + description + "gbps"; + } + enum "unit-max" { + description + "unit max"; + } + } + description + "Bag acl rate unit"; + } + + typedef Bag-acl-nh-at-status { + type enumeration { + enum "unknown" { + description + "AT State Unknown"; + } + enum "up" { + description + "AT State UP"; + } + enum "down" { + description + "AT State DOWN"; + } + enum "not-present" { + description + "AT State Not Present"; + } + enum "max" { + description + "invalid status"; + } + } + description + "Bag acl nh at status"; + } + + typedef Bag-acl-nh-status { + type enumeration { + enum "not-present" { + description + "State Not Present"; + } + enum "unknown" { + description + "State Unknown"; + } + enum "down" { + description + "State DOWN"; + } + enum "up" { + description + "State UP"; + } + enum "max" { + description + "invalid status"; + } + } + description + "Bag acl nh status"; + } + + typedef Bag-acl-nh { + type enumeration { + enum "nexthop-none" { + description + "Next Hop None"; + } + enum "nexthop-default" { + description + "Nexthop Default"; + } + enum "nexthop" { + description + "Nexthop"; + } + } + description + "Bag acl nh"; + } + + typedef Acl-ttl-operator { + type Acl-port-operator; + description + "Acl ttl operator"; + } + + typedef Acl-plen-operator { + type Acl-port-operator; + description + "Acl plen operator"; + } + + typedef Acl-tcpflags-operator { + type enumeration { + enum "match-none" { + description + "Match None"; + } + enum "match-all" { + description + "Match All"; + } + enum "match-any-old" { + description + "Match any old"; + } + enum "match-any" { + description + "Match any"; + } + } + description + "Acl tcpflags operator"; + } + + typedef Acl-log { + type enumeration { + enum "log-none" { + value 0; + description + "Log None"; + } + enum "log" { + value 1; + description + "Log Regular"; + } + enum "log-input" { + value 2; + description + "Log Input"; + } + } + description + "Acl log"; + } + + typedef Acl-proto-operator { + type Acl-port-operator; + description + "Acl proto operator"; + } + + typedef Acl-port-operator { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "eq" { + value 1; + description + "Equal"; + } + enum "gt" { + value 2; + description + "Greater than"; + } + enum "lt" { + value 3; + description + "Less than"; + } + enum "neq" { + value 4; + description + "Not Equal"; + } + enum "range" { + value 5; + description + "Range"; + } + enum "onebyte" { + value 8; + description + "One Byte"; + } + enum "twobytes" { + value 9; + description + "Two Bytes"; + } + } + description + "Acl port operator"; + } + + typedef Acl-action { + type enumeration { + enum "deny" { + value 0; + description + "Deny"; + } + enum "permit" { + value 1; + description + "Permit"; + } + enum "encrypt" { + value 2; + description + "Encrypt"; + } + enum "bypass" { + value 3; + description + "Bypass"; + } + enum "fallthrough" { + value 4; + description + "Fallthrough"; + } + enum "invalid" { + value 5; + description + "Invalid"; + } + } + description + "Acl action"; + } + + typedef Acl-ace1 { + type enumeration { + enum "normal" { + description + "This is Normal ACE"; + } + enum "remark" { + description + "This is Remark ACE"; + } + enum "abf" { + description + "This is ABF ACE"; + } + } + description + "ACE Types"; + } + + typedef Acl-ace { + type Acl-ace1; + description + "ACE Types"; + } + + grouping IPV6-ACL-EDM-OOR-DETAIL { + description + "Oor deatil config BAG"; + leaf is-default-maximum-configurable-ac-ls { + type uint32; + description + "default max configurable acls"; + } + leaf is-default-maximum-configurable-ac-es { + type uint32; + description + "default max configurable aces"; + } + leaf is-current-configured-ac-ls { + type uint32; + description + "Current configured acls"; + } + leaf is-current-configured-aces { + type uint32; + description + "Current configured aces"; + } + leaf is-current-maximum-configurable-acls { + type uint32; + description + "Current max configurable acls"; + } + leaf is-current-maximum-configurable-aces { + type uint32; + description + "Current max configurable aces"; + } + leaf is-maximum-configurable-ac-ls { + type uint32; + description + "max configurable acls"; + } + leaf is-maximum-configurable-ac-es { + type uint32; + description + "max configurable aces"; + } + } + + grouping ACL-POLICE-ACE { + description + "ACL POLICE ACE"; + leaf police-value { + type uint32; + description + "Police value"; + } + leaf police-unit { + type Bag-acl-rate-unit; + description + "Police unit"; + } + leaf police-peak-value { + type uint32; + description + "Police peak value"; + } + leaf police-peak-unit { + type Bag-acl-rate-unit; + description + "Police peak unit"; + } + } + + grouping ACL-UDF-ACE { + description + "ACL UDF ACE"; + leaf udf-name { + type string { + length "0..17"; + } + description + "UDF Name"; + } + leaf udf-value { + type uint32; + description + "UDF Value"; + } + leaf udf-mask { + type uint32; + description + "UDF Mask"; + } + } + + grouping IPV6-ACL-BAG-HW-NH-INFO { + description + "HW_NH_Info structure"; + leaf type { + type Bag-acl-nh; + description + "The next-hop type"; + } + leaf next-hop { + type inet:ipv6-address; + description + "The Next Hop"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf vrf-name { + type string { + length "0..32"; + } + description + "Vrf Name"; + } + } + + grouping IPV6-ACL-BAG-NH-INFO { + description + "NH_Info structure"; + leaf next-hop { + type inet:ipv6-address; + description + "The next hop"; + } + leaf vrf-name { + type string { + length "0..32"; + } + description + "Vrf Name"; + } + leaf track-name { + type string { + length "0..33"; + } + description + "Track name"; + } + leaf status { + type Bag-acl-nh-status; + description + "The next hop status"; + } + leaf at-status { + type Bag-acl-nh-at-status; + description + "The next hop at status"; + } + leaf acl-nh-exist { + type int32; + description + "The nexthop exist"; + } + } + + grouping IPV6-ACL-EDM-ACE { + description + "ACLE bag"; + container hw-next-hop-info { + description + "HW Next hop info"; + uses IPV6-ACL-BAG-HW-NH-INFO; + } + container police { + description + "Police"; + uses ACL-POLICE-ACE; + } + leaf is-ace-type { + type Acl-ace; + description + "ACE type (acl, remark)"; + } + leaf is-ace-sequence-number { + type uint32; + description + "ACLE sequence number"; + } + leaf is-packet-allow-or-deny { + type Acl-action; + description + "Grant value permit/deny "; + } + leaf is-protocol-operator { + type Acl-proto-operator; + description + "Protocol operator"; + } + leaf is-ipv6-protocol-type { + type int32; + description + "Protocol 1"; + } + leaf is-ipv6-protocol2-type { + type int32; + description + "Protocol 2"; + } + leaf is-source-address-in-numbers { + type inet:ipv6-address; + description + "IsSourceAddressInNumbers"; + } + leaf is-source-address-prefix-length { + type uint32; + description + "IsSourceAddressPrefixLength"; + } + leaf source-mask { + type inet:ipv6-address; + description + "Source Mask"; + } + leaf is-destination-address-in-numbers { + type inet:ipv6-address; + description + "IsDestinationAddressInNumbers"; + } + leaf is-destination-address-prefix-length { + type uint32; + description + "IsDestinationAddressPrefixLength"; + } + leaf destination-mask { + type inet:ipv6-address; + description + "Destination Mask"; + } + leaf is-source-operator { + type Acl-port-operator; + description + "eq, ne, lt, etc..."; + } + leaf is-source-port1 { + type uint32; + description + "IsSourcePort1"; + } + leaf is-source-port2 { + type uint32; + description + "IsSourcePort2"; + } + leaf is-destination-operator { + type Acl-port-operator; + description + "eq, ne, lt, etc..."; + } + leaf is-destination-port1 { + type uint32; + description + "IsDestinationPort1"; + } + leaf is-destination-port2 { + type uint32; + description + "IsDestinationPort2"; + } + leaf is-log-option { + type Acl-log; + description + "IsLogOption"; + } + leaf counter-name { + type string; + description + "Counter name"; + } + leaf is-tcp-bits-operator { + type Acl-tcpflags-operator; + description + "IsTCPBitsOperator"; + } + leaf is-tcp-bits { + type uint32; + description + "IsTCPBits"; + } + leaf is-tcp-bits-mask { + type uint32; + description + "IsTCPBitsMask"; + } + leaf is-dscp-present { + type int32; + description + "IsDSCPPresent"; + } + leaf dscp-operator { + type uint8; + description + "DSCP Operator"; + } + leaf is-dscp-valu { + type uint8; + description + "IsDSCPValu"; + } + leaf is-dscp-valu2 { + type uint8; + description + "IsDSCPValu2"; + } + leaf dscp-bitmask { + type uint8; + description + "DSCP Bitmask"; + } + leaf is-precedence-present { + type int32; + description + "IsPrecedencePresent"; + } + leaf is-precedence-value { + type uint32; + description + "range from 0 to 7"; + } + leaf is-header-matches { + type uint32; + description + "Match if routing header is presant"; + } + leaf is-packet-length-operator { + type Acl-plen-operator; + description + "Match if routing header is presant"; + } + leaf is-packet-length-start { + type uint32; + description + "IsPacketLengthStart"; + } + leaf is-packet-length-end { + type uint32; + description + "IsPacketLengthEnd"; + } + leaf is-time-to-live-operator { + type Acl-ttl-operator; + description + "IsTimeToLiveOperator"; + } + leaf is-time-to-live-start { + type uint32; + description + "IsTimeToLiveStart"; + } + leaf is-time-to-live-end { + type uint32; + description + "IsTimeToLiveEnd"; + } + leaf no-stats { + type int32; + description + "no stats"; + } + leaf hits { + type uint64; + description + "hits"; + } + leaf police-hits { + type uint64; + description + "Police stats"; + } + leaf police-hits-dropped { + type uint64; + description + "Police stats dropped"; + } + leaf capture { + type int32; + description + "Capture option, TRUE if enabled"; + } + leaf undetermined-transport { + type int32; + description + "Undetermined transport option, TRUE if enabled"; + } + leaf is-icmp-message-off { + type int32; + description + "Don't generate the icmp message"; + } + leaf qos-group { + type uint16; + description + "Set qos-group"; + } + leaf is-comment-for-entry { + type string; + description + "IsCommentForEntry"; + } + leaf next-hop-type { + type Bag-acl-nh; + description + "Next hop type"; + } + leaf is-flow-id { + type uint32; + description + "IsFlowId"; + } + leaf source-prefix-group { + type string; + description + "Source prefix object-group"; + } + leaf destination-prefix-group { + type string; + description + "Destination prefix object-group"; + } + leaf source-port-group { + type string; + description + "Source port object-group"; + } + leaf destination-port-group { + type string; + description + "Destination port object-group"; + } + leaf acl-name { + type string; + description + "ACL Name"; + } + leaf sequence-str { + type string; + description + "Sequence String"; + } + leaf set-ttl { + type uint16; + description + "SetTTL"; + } + leaf priority { + type Acl-priority; + description + "Priority"; + } + leaf fragment-flags { + type uint8; + description + "Fragment flags"; + } + leaf is-icmp-message-on { + type int32; + description + "Generate the icmp message"; + } + list next-hop-info { + max-elements "3"; + description + "Next hop info"; + uses IPV6-ACL-BAG-NH-INFO; + } + list udf { + description + "UDF"; + uses ACL-UDF-ACE; + } + } + + grouping IPV6-PFX-EDM-ACE { + description + "Prefix list entry BAG"; + leaf is-ace-type { + type Acl-ace; + description + "ACE type (acl, remark)"; + } + leaf is-ace-sequence-number { + type uint32; + description + "ACLE sequence number"; + } + leaf is-packet-allow-or-deny { + type Acl-action; + description + "Grant value permit/deny "; + } + leaf is-address-in-numbers { + type inet:ipv6-address; + description + "IPv6 prefix"; + } + leaf is-address-mask-length { + type uint32; + description + "Prefix length "; + } + leaf is-length-operator { + type Acl-port-operator; + description + "Port Operator"; + } + leaf is-packet-minimum-length { + type uint32; + description + "Min length"; + } + leaf is-packet-maximum-length { + type uint32; + description + "Maximum length"; + } + leaf hits { + type uint32; + description + "Number of hits"; + } + leaf is-comment-for-entry { + type string; + description + "Remark String"; + } + leaf acl-name { + type string; + description + "ACL Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper.yang new file mode 100644 index 000000000..eb31f7cb5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-acl-oper.yang @@ -0,0 +1,237 @@ +module Cisco-IOS-XR-ipv6-acl-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-oper"; + prefix ipv6-acl-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-common-acl-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-ipv6-acl-datatypes { + prefix dt2; + } + include Cisco-IOS-XR-ipv6-acl-oper-sub1 { + revision-date 2022-07-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-acl package operational data. + + This module contains definitions + for the following management objects: + ipv6-acl-and-prefix-list: Root class of IPv6 Oper schema tree + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "7.5.4 revision. Added dscp-bitmask feature + 2021-11-23 + Added icmp-on feature."; + semver:module-version "1.2.1m"; + } + revision 2021-03-05 { + description + "Adding a new policer stats field.CSCvx54997."; + semver:module-version "1.2.0"; + } + revision 2020-11-13 { + description + "Adding policer and priority. IosSetYangSchemaRev Cisco-IOS-XR-ipv6-acl-oper"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv6-acl-and-prefix-list { + config false; + description + "Root class of IPv6 Oper schema tree"; + container access-list-manager { + description + "AccessListManager containing ACLs and prefix + lists"; + container prefixes { + description + "Table of prefix lists"; + list prefix { + key "prefix-list-name"; + description + "Name of the prefix list"; + container prefix-list-sequences { + description + "Table of all the SequenceNumbers per prefix + list"; + list prefix-list-sequence { + key "sequence-number"; + description + "Sequence Number of a prefix list entry"; + leaf sequence-number { + type dt1:Acl-sequence-number-range; + description + "Sequence Number of the prefix list entry"; + } + uses IPV6-PFX-EDM-ACE; + } + } + leaf prefix-list-name { + type dt2:Ipv6-acl-prefix-list-name; + description + "Name of the prefix list"; + } + } + } + container usages { + description + "Table of Usage statistics of ACLs at different + nodes"; + list usage { + description + "Usage statistics of an ACL at a node"; + leaf node-name { + type xr:Node-id; + description + "Node where ACL is applied"; + } + leaf application-id { + type dt1:Acl-usage-app-id-enum; + description + "Application ID"; + } + leaf access-list-name { + type dt2:Ipv6-acl-prefix-list-name; + description + "Name of the ACL"; + } + leaf usage-details { + type string; + mandatory true; + description + "Usage Statistics Details"; + } + } + } + container accesses { + description + "ACL class displaying Usage and Entries"; + list access { + key "access-list-name"; + description + "Name of the Access List"; + container access-list-sequences { + description + "Table of all the sequence numbers per ACL"; + list access-list-sequence { + key "sequence-number"; + description + "Sequence number of an ACL entry"; + leaf sequence-number { + type dt1:Acl-sequence-number-range; + description + "ACL entry sequence number"; + } + uses IPV6-ACL-EDM-ACE; + } + } + leaf access-list-name { + type dt2:Ipv6-acl-prefix-list-name; + description + "Name of the Access List"; + } + } + } + } + container oor { + description + "Out Of Resources, Limits to the resources + allocatable"; + container details { + description + "Details of the overall out of resource limit"; + uses IPV6-ACL-EDM-OOR-DETAIL; + } + container prefix-list-summary { + description + "Summary of the prefix Lists resource + utilization"; + container details { + description + "Summary Detail of the prefix list Resource + Utilisation"; + uses IPV6-ACL-EDM-OOR-DETAIL; + } + } + container oor-accesses { + description + "Resource occupation details for ACLs"; + list oor-access { + key "access-list-name"; + description + "Resource occupation details for a particular + ACL"; + leaf access-list-name { + type dt2:Ipv6-acl-prefix-list-name; + description + "Name of the Access List"; + } + uses IPV6-ACL-EDM-OOR-DETAIL; + } + } + container oor-prefixes { + description + "Resource occupation details for prefix lists"; + list oor-prefix { + key "prefix-list-name"; + description + "Resource occupation details for a particular + prefix list"; + leaf prefix-list-name { + type dt2:Ipv6-acl-prefix-list-name; + description + "Name of a prefix list"; + } + uses IPV6-ACL-EDM-OOR-DETAIL; + } + } + container access-list-summary { + description + "Resource Limits pertaining to ACLs only"; + container details { + description + "Details containing the resource limits of the + ACLs"; + uses IPV6-ACL-EDM-OOR-DETAIL; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-cfg.yang new file mode 100644 index 000000000..3dd4fdde9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-cfg.yang @@ -0,0 +1,126 @@ +module Cisco-IOS-XR-ipv6-io-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-io-cfg"; + prefix ipv6-io-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-io package configuration. + + This module contains definitions + for the following management objects: + ipv6-configuration: IPv6 Configuration Data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-05-10 { + description + "Added top container."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv6-configuration { + description + "IPv6 Configuration Data"; + container ipv6-assembler { + description + "IPv6 fragmented packet assembler"; + leaf timeout { + type uint32 { + range "1..120"; + } + units "second"; + description + "Number of seconds an assembly queue will hold + before timeout"; + } + leaf max-packets { + type uint32 { + range "1..50"; + } + units "percentage"; + description + "Maxinum packets allowed in assembly queues (in + percent)"; + } + } + container ipv6icmp { + presence "Indicates a ipv6icmp node is configured."; + description + "Configure IPv6 ICMP parameters"; + leaf error-interval { + type uint32 { + range "0..2147483647"; + } + units "millisecond"; + mandatory true; + description + "Interval between tokens in milliseconds"; + } + leaf bucket-size { + type uint32 { + range "1..200"; + } + mandatory true; + description + "Bucket size"; + } + } + leaf ipv6-pmtu-time-out { + type uint32 { + range "1..15"; + } + units "minute"; + description + "Configure IPv6 Path MTU timeout value in minutes"; + } + leaf ipv6-source-route { + type boolean; + default "true"; + description + "TRUE if enabled, FALSE if disabled"; + } + leaf ipv6-pmtu-enable { + type boolean; + default "false"; + description + "TRUE if enabled, FALSE if disabled"; + } + leaf ipv6-hop-limit { + type uint32 { + range "1..255"; + } + description + "Configure IPv6 hop count limit"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper-sub1.yang new file mode 100644 index 000000000..528764189 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper-sub1.yang @@ -0,0 +1,536 @@ +submodule Cisco-IOS-XR-ipv6-io-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-io-oper { + prefix Cisco-IOS-XR-ipv6-io-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-io package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-21 { + description + "Added List of VRF IDs for path-mtu cache."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-08-27 { + description + "IOS XR 6.0.0 revision."; + } + + grouping IPV6-PMTU-CACHE { + description + "PMTU Cache"; + leaf interface-handle { + type uint32; + description + "Interface name"; + } + leaf address { + type inet:ipv6-address; + description + "IPv6 Address of Destination"; + } + leaf vrf-name { + type string { + length "0..32"; + } + description + "VRF NAME"; + } + leaf pmtu { + type uint32; + description + "Pmtu value"; + } + leaf age { + type uint64; + description + "Time remaining for this entry"; + } + } + + grouping IPV6-PMTU-CACHE-LIST { + description + "IPv6 PMTU Cache Information"; + list pmtu-cache { + description + "Pmtu Cache list"; + uses IPV6-PMTU-CACHE; + } + } + + grouping IPV6-ND-TRAFFIC { + description + "IPV6 ND Traffic"; + leaf sent-router-solicitation-messages { + type uint32; + description + "ICMP Router Solicitations Sent"; + } + leaf sent-router-advertisement-messages { + type uint32; + description + "ICMP Router Advertisements Sent"; + } + leaf sent-neighbor-solicitation-messages { + type uint32; + description + "ICMP Neighbor Solicitations Sent"; + } + leaf sent-neighbor-advertisement-messages { + type uint32; + description + "ICMP Neighbor Advertisements Sent"; + } + leaf sent-redirect-messages { + type uint32; + description + "ICMP Redirect Sent"; + } + leaf received-router-solicitation-messages { + type uint32; + description + "ICMP Router Solicitations Received"; + } + leaf received-router-advertisement-messages { + type uint32; + description + "ICMP Router Advertisements Received"; + } + leaf received-neighbor-solicitation-messages { + type uint32; + description + "ICMP Neighbor Solicitations Received"; + } + leaf received-neighbor-advertisement-messages { + type uint32; + description + "ICMP Neighbor Advertisements Received"; + } + leaf received-redirect-messages { + type uint32; + description + "ICMP Redirect Received"; + } + } + + grouping IPV6-IO-ICMP-TRAFFIC { + description + "ICMPv6 Traffic Information"; + leaf total-messages { + type uint32; + description + "ICMP Received"; + } + leaf too-short-error-messages { + type uint32; + description + "ICMP Too Short Errors"; + } + leaf checksum-error-messages { + type uint32; + description + "ICMP Checksum Errors"; + } + leaf unknown-error-type-messages { + type uint32; + description + "ICMP Unknown Error"; + } + leaf output-messages { + type uint32; + description + "ICMP Transmitted"; + } + leaf sent-rate-limited-packets { + type uint32; + description + "ICMP Sent Packets Ratelimited"; + } + leaf sent-unreachable-routing-messages { + type uint32; + description + "ICMP Route Unreachable Sent"; + } + leaf sent-unreachable-admin-messages { + type uint32; + description + "ICMP Admin Unreachable Sent"; + } + leaf sent-unreachable-neighbor-messages { + type uint32; + description + "ICMP Host Unreachable Sent"; + } + leaf sent-unreachable-address-messages { + type uint32; + description + "ICMP Addr Unreachable Sent"; + } + leaf sent-unreachable-port-messages { + type uint32; + description + "ICMP Port Unreachable Sent"; + } + leaf received-unreachable-routing-messages { + type uint32; + description + "ICMP Route Unreachable Received"; + } + leaf received-unreachable-admin-messages { + type uint32; + description + "ICMP Admin Unreachable Received"; + } + leaf received-unreachable-neighbor-messages { + type uint32; + description + "ICMP Host Unreachable Received"; + } + leaf received-unreachable-address-messages { + type uint32; + description + "ICMP Addr Unreachable Received"; + } + leaf received-unreachable-port-messages { + type uint32; + description + "ICMP Port Unreachable Received"; + } + leaf sent-hop-count-expired-messages { + type uint32; + description + "ICMP Hop Count Expired Sent"; + } + leaf sent-reassembly-timeouts { + type uint32; + description + "ICMP Reassembly Timeouts"; + } + leaf received-hop-count-expired-messages { + type uint32; + description + "ICMP Hop Count Expired Received"; + } + leaf received-reassembly-timeouts { + type uint32; + description + "ICMP Reassembly Timeouts"; + } + leaf sent-too-big-messages { + type uint32; + description + "ICMP Too Big Messages Sent"; + } + leaf received-too-big-messages { + type uint32; + description + "ICMP Too Big Messages Received"; + } + leaf sent-parameter-error-messages { + type uint32; + description + "ICMP Parameter Error Messages Sent"; + } + leaf sent-parameter-header-messages { + type uint32; + description + "ICMP Parameter Next Header Messages Sent"; + } + leaf sent-parameter-option-messages { + type uint32; + description + "ICMP Parameter Option Messages Sent"; + } + leaf received-parameter-error-messages { + type uint32; + description + "ICMP Parameter Error Messages Received"; + } + leaf received-parameter-header-messages { + type uint32; + description + "ICMP Parameter Next Header Messages Received"; + } + leaf received-parameter-option-messages { + type uint32; + description + "ICMP Parameter Option Problem Received"; + } + leaf sent-echo-request-messages { + type uint32; + description + "ICMP Echo Request Sent"; + } + leaf sent-echo-reply-messages { + type uint32; + description + "ICMP Echo Reply Sent"; + } + leaf received-echo-request-messages { + type uint32; + description + "ICMP Echo Request Received"; + } + leaf received-echo-reply-messages { + type uint32; + description + "ICMP Echo Reply Received"; + } + leaf sent-unknown-timeout-messages { + type uint32; + description + "ICMP Unknown Timeout Messages Sent"; + } + leaf received-unknown-timeout-messages { + type uint32; + description + "ICMP Unknown Timeout Messages Received"; + } + leaf sent-parameter-unknown-type-messages { + type uint32; + description + "ICMP Parameter Unknown Type Messages Sent"; + } + leaf received-parameter-unknown-type-messages { + type uint32; + description + "ICMP Parameter Unknown Type Messages Received"; + } + leaf sent-unreachable-unknown-type-messages { + type uint32; + description + "ICMP Unreachable Unknown Messages Sent"; + } + leaf received-unreachable-unknown-type-messages { + type uint32; + description + "ICMP Unreachable Unknown Messages Received"; + } + } + + grouping IPV6-IO-TRAFFIC { + description + "IPv6 Traffic Information"; + leaf total-packets { + type uint32; + description + "Total number of IPv6 input Packets"; + } + leaf local-destination-packets { + type uint32; + description + "Number of Local IPv6 Destination Packets"; + } + leaf format-errors { + type uint32; + description + "Number of IPv6 Format Errors"; + } + leaf truncated-packets { + type uint32; + description + "Number of Truncated IPv6 Packets"; + } + leaf hop-count-exceeded-packets { + type uint32; + description + "Number of IPv6 Hop Count Exceeded Packets"; + } + leaf bad-source-address-packets { + type uint32; + description + "Number of IPv6 Bad Source Address Packets"; + } + leaf bad-header-packets { + type uint32; + description + "Number of IPv6 Bad Header Packets"; + } + leaf unknown-option-type-packets { + type uint32; + description + "Number of IPv6 Unknown Option Type Packets"; + } + leaf unknown-protocol-packets { + type uint32; + description + "Number of IPv6 Unknown Protocol Packets"; + } + leaf fragments { + type uint32; + description + "Number of IPv6 Packets to be Fragmented"; + } + leaf reassembled-packets { + type uint32; + description + "Number of IPv6 Reassembled Packets"; + } + leaf reassembly-timeouts { + type uint32; + description + "Number of IPv6 Reassembly Timedout packets"; + } + leaf reassembly-failures { + type uint32; + description + "Number of IPv6 Reassembly Failures"; + } + leaf reassembly-maximum-drops { + type uint32; + description + "Reassembly Reach Maximum Drop"; + } + leaf overlap-frag-drops { + type uint32; + description + "Reassembly drop overlap frags"; + } + leaf generated-packets { + type uint32; + description + "Packets Output"; + } + leaf forwarded-packets { + type uint32; + description + "Packets Forwarded"; + } + leaf source-routed-packets { + type uint32; + description + "Packets Source Routed"; + } + leaf fragmented-packets { + type uint32; + description + "Packets Fragmented"; + } + leaf fragment-count { + type uint32; + description + "Fragmented Packet Count"; + } + leaf fragment-failures { + type uint32; + description + "Number of IPv6 Fragment Packet Failures"; + } + leaf no-route-packets { + type uint32; + description + "Number of No Route IPv6 Packets"; + } + leaf too-big-packets { + type uint32; + description + "Packet Too Big"; + } + leaf received-multicast-packets { + type uint32; + description + "Multicast In"; + } + leaf sent-multicast-packets { + type uint32; + description + "Multicast Out"; + } + leaf miscellaneous-drops { + type uint32; + description + "Misc. drops"; + } + leaf lisp-v4-encap-packets { + type uint32; + description + "Locator ID Separation Protocol IPv4 Encapped + packets"; + } + leaf lisp-v4-decap-packets { + type uint32; + description + "Locator ID Separation Protocol IPv4 Decapped + packets"; + } + leaf lisp-v6-encap-packets { + type uint32; + description + "Locator ID Separation Protocol IPv6 Encapped + packets"; + } + leaf lisp-v6-decap-packets { + type uint32; + description + "Locator ID Separation Protocol IPv6 Decapped + packets"; + } + leaf lisp-encap-errors { + type uint32; + description + "Locator ID Separation Protocol Encap errors"; + } + leaf lisp-decap-errors { + type uint32; + description + "Locator ID Separation Protocol Decap errors"; + } + leaf io-puntback { + type uint32; + description + "IPv6 IO Puntback"; + } + } + + grouping IPV6-TRAFFIC { + description + "IPv6 and ICMPv6 Traffic Information"; + container ipv6 { + description + "IPv6 Statistics"; + uses IPV6-IO-TRAFFIC; + } + container icmp { + description + "ICMP Statistics"; + uses IPV6-IO-ICMP-TRAFFIC; + } + container ipv6-node-discovery { + description + "IPv6 Node Discovery Statistics"; + uses IPV6-ND-TRAFFIC; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper.yang new file mode 100644 index 000000000..1d227a051 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-io-oper.yang @@ -0,0 +1,106 @@ +module Cisco-IOS-XR-ipv6-io-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-io-oper"; + prefix ipv6-io-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv6-io-oper-sub1 { + revision-date 2019-10-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-io package operational data. + + This module contains definitions + for the following management objects: + ipv6-io: IPv6 IO Operational Data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-21 { + description + "Added List of VRF IDs for path-mtu cache."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-08-27 { + description + "IOS XR 6.0.0 revision."; + } + + container ipv6-io { + config false; + description + "IPv6 IO Operational Data"; + container nodes { + description + "Node-specific IPv6 IO operational data"; + list node { + key "node-name"; + description + "IPv6 network operational data for a particular + node"; + container statistics { + description + "Statistical IPv6 network operational data for + a node"; + container traffic { + description + "Traffic statistics for a node"; + uses IPV6-TRAFFIC; + } + } + container vrfs { + description + "VRF specific IPv6 IO operational data"; + list vrf { + key "vrf-name"; + description + "VRF name of an IPV6 interface"; + container path-mtu-cache { + description + "IPv6 PMTU Cache Information"; + uses IPV6-PMTU-CACHE-LIST; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The VRF name"; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-cfg.yang new file mode 100644 index 000000000..dc2df6b8b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-cfg.yang @@ -0,0 +1,407 @@ +module Cisco-IOS-XR-ipv6-ma-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ma-cfg"; + prefix ipv6-ma-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ip-iarm-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-ma package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-15 { + description + "Removed POC nodes for Srv6 SegmentRouting PrefixSid."; + semver:module-version "3.0.0"; + } + revision 2021-01-29 { + description + "Removed Yang support for mcast-mac-filter."; + semver:module-version "2.1.0"; + } + revision 2020-02-18 { + description + "Added new leaf icmp-unreach-disable. + 2019-12-12 + New leaf node added."; + semver:module-version "2.1.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-03-03 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Ipv6-self-ping { + type enumeration { + enum "disabled" { + value 0; + description + "Doesn't allow router to ping itself"; + } + enum "enabled" { + value 1; + description + "Allow router to ping itself"; + } + } + description + "Ipv6 self ping"; + } + + typedef Ipv6-reachable { + type enumeration { + enum "any" { + value 0; + description + "Source is reachable via any interface"; + } + enum "received" { + value 1; + description + "Source is reachable via interface on which + packet was received"; + } + } + description + "Ipv6 reachable"; + } + + typedef Ipv6-default-ping { + type enumeration { + enum "disabled" { + value 0; + description + "Default route is not allowed to match when + checking source address"; + } + enum "enabled" { + value 1; + description + "Allow default route to match when checking + source address"; + } + } + description + "Ipv6 default ping"; + } + + typedef Ipv6-qppb { + type enumeration { + enum "none" { + value 0; + description + "No QPPB configuration"; + } + enum "ip-precedence" { + value 1; + description + "Enable ip-precedence based QPPB"; + } + enum "qos-group" { + value 2; + description + "Enable qos-group based QPPB"; + } + enum "both" { + value 3; + description + "Enable both ip-precedence and qos-group based + QPPB"; + } + } + description + "Ipv6 qppb"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv6-network { + description + "Interface IPv6 Network configuration data"; + container bgp-qos-policy-propagation { + presence "Indicates a bgp-qos-policy-propagation node is configured."; + description + "Configure BGP QoS policy propagation"; + leaf source { + type Ipv6-qppb; + mandatory true; + description + "QPPB configuration on source"; + } + leaf destination { + type Ipv6-qppb; + mandatory true; + description + "QPPB configuration on destination"; + } + } + container bgp-policy-accountings { + description + "IPv6 BGP Policy Accounting"; + list bgp-policy-accounting { + key "direction"; + description + "Accounting input or output"; + leaf direction { + type xr:Cisco-ios-xr-string; + description + "Accouting on input or output"; + } + leaf destination-accounting { + type boolean; + mandatory true; + description + "Accounting on Destination IP Address"; + } + leaf source-accounting { + type boolean; + mandatory true; + description + "Accounting on Source IP Address"; + } + } + } + container verify { + presence "Indicates a verify node is configured."; + description + "IPv6 Verify Unicast Souce Reachable"; + leaf reachable { + type Ipv6-reachable; + mandatory true; + description + "Source Reachable Interface"; + } + leaf self-ping { + type Ipv6-self-ping; + mandatory true; + description + "Allow Self Ping"; + } + leaf default-ping { + type Ipv6-default-ping; + mandatory true; + description + "Allow Default Route"; + } + } + container addresses { + description + "Set the IPv6 address of an interface"; + container link-local-address { + presence "Indicates a link-local-address node is configured."; + description + "Link local IPv6 address"; + leaf address { + type inet:ip-address-no-zone; + mandatory true; + description + "IPv6 address"; + } + leaf zone { + type string; + mandatory true; + description + "IPv6 address zone"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "RouteTag"; + } + } + container eui64-addresses { + description + "EUI-64 IPv6 address Table"; + list eui64-address { + key "address"; + description + "EUI-64 IPv6 address"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 address"; + } + leaf prefix-length { + type dt1:Ipv6arm-prefix-length; + mandatory true; + description + "Prefix Length"; + } + leaf zone { + type string; + mandatory true; + description + "IPv6 address zone"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "RouteTag"; + } + } + } + container regular-addresses { + description + "Regular IPv6 address Table"; + list regular-address { + key "address"; + description + "Regular IPv6 address"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 address"; + } + leaf prefix-length { + type dt1:Ipv6arm-prefix-length; + mandatory true; + description + "Prefix Length"; + } + leaf zone { + type string; + mandatory true; + description + "IPv6 address zone"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "RouteTag"; + } + } + } + container auto-configuration { + description + "Auto IPv6 Interface Configuration"; + leaf enable { + type empty; + description + "The flag to enable auto ipv6 interface + configuration"; + } + leaf auto-config-slaac { + type empty; + description + "Enable slaac on Mgmt interface"; + } + } + leaf ipv6-dhcp-client-config { + type empty; + description + "Enable DHCPv6 Client"; + } + } + container bgp-flow-tag-policy-table { + description + "Interface ipv6 bgp policy propagation flowtag + configuration"; + container bgp-flow-tag-policy { + description + "Input"; + leaf source { + type boolean; + description + "Flow Tag configuration on source"; + } + leaf destination { + type boolean; + description + "Flow Tag configuration on destination"; + } + } + } + leaf mtu { + type uint32 { + range "1280..65535"; + } + description + "MTU Setting of Interface"; + } + leaf unnumbered { + type xr:Interface-name; + description + "Enable IPv6 processing without an explicit + address"; + } + leaf ttl-propagate-disable { + type empty; + description + "Disabled TTL propagate on an interface"; + } + leaf tcp-mss-adjust-enable { + type empty; + description + "Enable TCP MSS adjust on an interface"; + } + leaf icmp-unreach-disable { + type empty; + description + "Disable ICMP unreachable for Nullx interface"; + } + leaf unreachables { + type empty; + description + "Override Sending of ICMP Unreachable Messages"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper-sub1.yang new file mode 100644 index 000000000..81f107a9c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper-sub1.yang @@ -0,0 +1,604 @@ +submodule Cisco-IOS-XR-ipv6-ma-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-ma-oper { + prefix Cisco-IOS-XR-ipv6-ma-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-ma package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-03 { + description + "Removed event-telemetry annotation from leaves address and prefix-length of grouping IPV6-ADDR-NODE"; + semver:module-version "1.2.0"; + } + revision 2019-09-30 { + description + "Added brief and detail containers specific to interfaces."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2018-07-02 { + description + "IPV6 MA added new fields to bag."; + } + revision 2018-05-16 { + description + "IPV6 MA added new fields to bag."; + } + revision 2017-08-09 { + description + "IPV6 MA schema file has all the latest changes."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Str { + type string; + description + "Str"; + } + + typedef Ipv6-ma-oper-state { + type enumeration { + enum "oper-up" { + value 1; + description + "Interface oper state is up"; + } + enum "oper-down" { + value 2; + description + "Interface oper state is down"; + } + } + description + "Interface oper states"; + } + + typedef Ipv6-ma-if-addr-state { + type enumeration { + enum "active" { + value 1; + description + "This is an active address that can appear as + the destination or source address of a packet"; + } + enum "deprecated" { + value 2; + description + "This is a valid but deprecated address that + should no longer be used as a source address in + new communications"; + } + enum "duplicate" { + value 3; + description + "This is a duplicate (invalid) address because + of conflict"; + } + enum "inaccessible" { + value 4; + description + "This is not accessible because the interface to + which this address is assigned is not + operational"; + } + enum "tentative" { + value 5; + description + "Status can not be determined for some reason"; + } + } + description + "Interface address states"; + } + + typedef Ipv6-ma-if-line-state { + type enumeration { + enum "down" { + value 1; + description + "Interface state is down"; + } + enum "up" { + value 2; + description + "Interface state is up"; + } + enum "unknown" { + value 3; + description + "Interface state is unknown"; + } + enum "error" { + value 4; + description + "Interface state is incorrect"; + } + } + description + "Interface line states"; + } + + grouping IF-SUMMARY { + description + "Count of assigned/unnumbered interfaces"; + leaf ip-assigned { + type uint32; + description + "Number of interfaces with explicit addresses"; + } + leaf ip-unnumbered { + type uint32; + description + "Number of unnumbered interfaces with explicit + addresses"; + } + leaf ip-unassigned { + type uint32; + description + "Number of unassigned interfaces without explicit + address"; + } + } + + grouping IPV6-IF-SUMMARY { + description + "Summary info of IPv6 interfaces"; + container if-up-up { + description + "Number of interfaces (up,up)"; + uses IF-SUMMARY; + } + container if-up-down { + description + "Number of interfaces (up,down)"; + uses IF-SUMMARY; + } + container if-down-down { + description + "Number of interfaces (down,down)"; + uses IF-SUMMARY; + } + container if-shutdown-down { + description + "Number of interfaces (shutdown,down)"; + uses IF-SUMMARY; + } + leaf if-up-down-basecaps-up { + type uint32; + description + "Number of interfaces (up,down) with basecaps up"; + } + } + + grouping BGP-PA-DIR { + description + "BGP PA config for ingress/egress direction"; + leaf enable { + type uint32; + description + "Enable BGP PA for ingress/egress"; + } + leaf source { + type boolean; + description + "Enable source accouting"; + } + leaf destination { + type boolean; + description + "Enable destination accouting"; + } + } + + grouping BGP-PA-CONFIG { + description + "BGP PA config information"; + container input { + description + "BGP PA input config"; + uses BGP-PA-DIR; + } + container output { + description + "BGP PA output config"; + uses BGP-PA-DIR; + } + } + + grouping RPF-CONFIG { + description + "RPF config information"; + leaf enable { + type boolean; + description + "Enable RPF config"; + } + leaf allow-default-route { + type boolean; + description + "Flag to allow the default route"; + } + leaf allow-self-ping { + type boolean; + description + "Allow Self Ping"; + } + leaf mode { + type uint32; + description + "RPF Mode (loose/strict)"; + } + } + + grouping IPV6-MULTI-ACL-CONFIG { + description + "IPV6 MULTI ACL CONFIG"; + list inbound { + max-elements "5"; + description + "Inbound ACLs"; + leaf entry { + type Str; + description + "Inbound ACLs"; + } + } + list outbound { + max-elements "5"; + description + "Outbound ACLs"; + leaf entry { + type Str; + description + "Outbound ACLs"; + } + } + list common { + max-elements "5"; + description + "Common ACLs"; + leaf entry { + type Str; + description + "Common ACLs"; + } + } + } + + grouping IPV6-ACL-CONFIG { + description + "IPV6 ACL CONFIG"; + leaf in-bound { + type string; + description + "ACL applied to incoming packets"; + } + leaf out-bound { + type string; + description + "ACL applied to outgoing packets"; + } + leaf common-in-bound { + type string; + description + "Common ACL applied to incoming packets"; + } + leaf common-out-bound { + type string; + description + "Common ACL applied to outgoing packets"; + } + } + + grouping IPV6-MCAST-GROUP { + description + "MCast Group "; + leaf address { + type inet:ipv6-address; + description + "IPv6 Address of Multicast Group"; + } + } + + grouping IPV6-IF-DETAIL { + description + "Detailed Info of IPv6 Interface"; + container link-local-address { + description + "IPv6 Address which is local to link"; + uses IPV6-ADDR-NODE; + } + container access-control-list { + description + "IPv6 Access Control List"; + uses IPV6-ACL-CONFIG; + } + container multi-access-control-list { + description + "Multi IPv6 Access Control List"; + uses IPV6-MULTI-ACL-CONFIG; + } + container rpf { + description + "RPF config on the interface"; + uses RPF-CONFIG; + } + container bgp-pa { + description + "BGP PA config on the interface"; + uses BGP-PA-CONFIG; + } + leaf line-state { + type Ipv6-ma-if-line-state; + description + "State of Interface Line"; + } + leaf mtu { + type uint32; + description + "IPv6 MTU"; + } + leaf operation-state { + type Ipv6-ma-oper-state; + description + "IPv6 Operation State"; + } + leaf ipv6-config-flag { + type uint32; + description + "Interface Configured Flags"; + } + leaf ipv6-oper-flag { + type uint32; + description + "Interface Operational Flags"; + } + leaf vrf-name { + type string { + length "0..32"; + } + description + "VRF Name"; + } + leaf is-icmp-unreach-enabled { + type boolean; + description + "ICMP unreach Enable"; + } + leaf rg-id-exists { + type boolean; + description + "Does ICCP RG ID exist on the interface?"; + } + leaf mlacp-active { + type boolean; + description + "Is mLACP state Active (valid if RG ID exists)"; + } + leaf flow-tag-src { + type boolean; + description + "Is BGP Flow Tag Source is enable"; + } + leaf flow-tag-dst { + type boolean; + description + "Is BGP Flow Tag Destination is enable"; + } + leaf im-or-state-rcvd { + type Im-state-enum; + description + "Rcvd OR IM state type"; + } + leaf im-or-state-constraint { + type Im-state-enum; + description + "Rcvd OR IM state constraint type"; + } + leaf im-notified-state { + type Im-state-enum; + description + "Rcvd IM state"; + } + leaf idb-pointer { + type uint64; + description + "idb pointer value"; + } + list multicast-group { + description + "IPv6 Multicast Group"; + uses IPV6-MCAST-GROUP; + } + list address { + description + "Address List"; + uses IPV6-ADDR-NODE; + } + list client-multicast-group { + description + "IPv6 Client Multicast Group"; + uses IPV6-MCAST-GROUP; + } + } + + grouping IPV6-ADDR-NODE { + description + "List of IPv6 Addresses "; + leaf address { + type inet:ipv6-address; + description + "IPv6 Address"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length of IPv6 Address"; + } + leaf address-state { + type Ipv6-ma-if-addr-state; + description + "State of Address"; + } + leaf is-anycast { + type boolean; + description + "Anycast address"; + } + leaf route-tag { + type uint32; + description + "Route-tag of the Address"; + } + leaf arm-flags { + type uint32; + description + "Bitmap for ARM flags"; + } + } + + grouping IPV6-IF-BRIEF { + description + "Brief Summary of IPv6 Interface"; + container link-local-address { + description + "IPv6 Address which is local to link"; + uses IPV6-ADDR-NODE; + } + leaf line-state { + type Ipv6-ma-if-line-state; + description + "State of Interface Line"; + } + leaf vrf-name { + type string { + length "0..32"; + } + description + "VRF Name"; + } + list address { + description + "Address List"; + uses IPV6-ADDR-NODE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper.yang new file mode 100644 index 000000000..c1399461d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ma-oper.yang @@ -0,0 +1,227 @@ +module Cisco-IOS-XR-ipv6-ma-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ma-oper"; + prefix ipv6-ma-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv6-ma-oper-sub1 { + revision-date 2020-09-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-ma package operational data. + + This module contains definitions + for the following management objects: + ipv6-network: IPv6 network operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-03 { + description + "Removed event-telemetry annotation from leaves address and prefix-length of grouping IPV6-ADDR-NODE"; + semver:module-version "1.2.0"; + } + revision 2019-09-30 { + description + "Added brief and detail containers specific to interfaces."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2018-07-02 { + description + "IPV6 MA added new fields to bag."; + } + revision 2018-05-16 { + description + "IPV6 MA added new fields to bag."; + } + revision 2017-08-09 { + description + "IPV6 MA schema file has all the latest changes."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container ipv6-network { + config false; + description + "IPv6 network operational data"; + container nodes { + description + "Node-specific IPv6 network operational data"; + list node { + key "node-name"; + description + "IPv6 network operational data for a particular + node"; + container interface-data { + description + "IPv6 network operational interface data"; + container vrfs { + description + "VRF specific IPv6 network operational + interface data"; + list vrf { + key "vrf-name"; + description + "VRF ID of an interface belong to"; + container briefs { + description + "Brief interface IPv6 network operational + data for a node"; + list brief { + key "interface-name"; + description + "Brief interface IPv6 network operational + data for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IPV6-IF-BRIEF; + } + } + container global-details { + description + "Detail interface IPv4 network operational + data for global data"; + list global-detail { + key "interface-name"; + description + "Detail interface IPv6 network operational + data for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IPV6-IF-DETAIL; + } + } + container global-briefs { + description + "Brief interface IPv6 network operational + data from global data"; + list global-brief { + key "interface-name"; + description + "Brief interface IPv6 network operational + data for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IPV6-IF-BRIEF; + } + } + container details { + description + "Detail interface IPv4 network operational + data for a node"; + list detail { + key "interface-name"; + description + "Detail interface IPv6 network operational + data for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IPV6-IF-DETAIL; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The VRF name"; + } + } + } + container summary { + description + "Summary of IPv6 network operational interface + data on a node"; + uses IPV6-IF-SUMMARY; + } + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + container interfaces { + description + "IPv6 network operational interface data"; + list interface { + key "interface-name"; + description + "Interface names with VRF"; + container vrf-names { + description + "List of VRF on the interface"; + list vrf-name { + key "vrf-name"; + description + "VRF information on the interface"; + container detail-data { + description + "Detail IPv6 network operational data for an + interface"; + uses IPV6-IF-DETAIL; + } + container brief-data { + description + "Brief IPv6 network operational data for an + interface"; + uses IPV6-IF-BRIEF; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "The VRF name"; + } + } + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-cfg.yang new file mode 100644 index 000000000..8c9e0a354 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-cfg.yang @@ -0,0 +1,558 @@ +module Cisco-IOS-XR-ipv6-nd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-nd-cfg"; + prefix ipv6-nd-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-nd package configuration. + + This module contains definitions + for the following management objects: + ipv6-neighbor: IPv6 neighbor or neighbor discovery + configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-01 { + description + "Removed SRP Encap value set in Yang/CLI."; + semver:module-version "3.0.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6nd-month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + description + "Ipv6nd month"; + } + + typedef Ipv6srp-encapsulation { + type enumeration { + enum "srpa" { + value 5; + description + "Encapsulation type SRP, prefer side A"; + } + enum "srpb" { + value 6; + description + "Encapsulation type SRP, prefer side B"; + } + } + description + "Ipv6srp encapsulation"; + } + + typedef Ipv6-nd-router-pref { + type enumeration { + enum "high" { + value 1; + description + "High preference"; + } + enum "medium" { + value 2; + description + "Medium preference"; + } + enum "low" { + value 3; + description + "Low preference"; + } + } + description + "Ipv6 nd router pref"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv6-neighbor { + description + "IPv6 interface neighbor or neighbor discovery + configuration"; + container raspecific-route-s { + description + "IPv6 Router Advertisement (RA) Specific Route"; + list raspecific-route { + key "specific-route"; + description + "IPv6 Router Advertisement (RA) Specific Route"; + leaf specific-route { + type inet:ipv6-address-no-zone; + description + "IPv6 Address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Prefix mask length"; + } + leaf lifetime { + type uint32 { + range "0..4294967295"; + } + description + "Lifetime (seconds)"; + } + leaf preference { + type Ipv6-nd-router-pref; + description + "Preference"; + } + } + } + container radns-searches { + description + "IPv6 Router Advertisement (RA) DNS Search List"; + list radns-search { + key "dns-search-list"; + description + "IPv6 Router Advertisement (RA) DNS Search List"; + leaf dns-search-list { + type xr:Cisco-ios-xr-string; + description + "Search List"; + } + leaf lifetime { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "Lifetime value in seconds"; + } + } + } + container radns-servers { + description + "IPv6 Router Advertisement (RA) DNS Servre"; + list radns-server { + key "dns-server"; + description + "IPv6 Router Advertisement (RA) DNS Servre"; + leaf dns-server { + type inet:ipv6-address-no-zone; + description + "IPv6 Address"; + } + leaf lifetime { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "Lifetime value in seconds"; + } + } + } + container ra-interval { + presence "Indicates a ra-interval node is configured."; + description + "Set IPv6 Router Advertisement (RA) interval in + seconds"; + leaf maximum { + type uint32 { + range "4..1800"; + } + mandatory true; + description + "Maximum RA interval in seconds"; + } + leaf minimum { + type uint32 { + range "3..1800"; + } + description + "Minimum RA interval in seconds. Must be less + than 0.75 * maximum interval"; + } + } + container ipv6-prefixes { + description + "Prefixes "; + list ipv6-prefix { + key "prefix"; + description + "Configure prefix with paramemters"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "IPv6 prefix"; + } + leaf prefix-zone { + type string { + length "1..9"; + } + mandatory true; + description + "Prefix zone"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "Prefix mask length"; + } + leaf valid-lifetime { + type uint32 { + range "0..4294967295"; + } + description + "Valid Lifetime (seconds)"; + } + leaf preferred-lifetime { + type uint32 { + range "0..4294967295"; + } + description + "Preferred Lifetime (seconds) must be <= Valid + Lifetime"; + } + leaf off-link { + type boolean; + description + "If set, prefix will not be used for onlink + determination"; + } + leaf no-auto-config { + type boolean; + description + "If set, prefix will not be used for auto + configuration"; + } + leaf no-advertize { + type boolean; + description + "If set, prefix will not be advertized"; + } + leaf expiry-month { + type Ipv6nd-month; + description + "Month to expire valid lifetime"; + } + leaf expiry-date { + type uint32 { + range "1..31"; + } + description + "Date to expire valid lifetime"; + } + leaf expiry-year { + type uint32 { + range "2003..2035"; + } + description + "Year to expire valid lifetime"; + } + leaf expiry-hour { + type uint32 { + range "0..23"; + } + description + "Hour to expire valid lifetime"; + } + leaf expiry-minute { + type uint32 { + range "0..59"; + } + description + "Minute to expire valid lifetime"; + } + leaf pref-expiry-month { + type Ipv6nd-month; + description + "Month to expire preferred lifetime"; + } + leaf pref-expiry-date { + type uint32 { + range "1..31"; + } + description + "Date to expire preferred lifetime"; + } + leaf pref-expiry-year { + type uint32 { + range "2003..2035"; + } + description + "Year to expire preferred lifetime"; + } + leaf pref-expiry-hour { + type uint32 { + range "0..23"; + } + description + "Hour to expire preferred lifetime"; + } + leaf pref-expiry-minute { + type uint32 { + range "0..59"; + } + description + "Minute to expire preferred lifetime"; + } + } + } + leaf reachable-time { + type uint32 { + range "0..3600000"; + } + units "millisecond"; + description + "Set advertised reachability time in + milliseconds"; + } + leaf ra-unspecify-hoplimit { + type empty; + description + "Unspecify IPv6 Router Advertisement (RA) + hop-limit"; + } + leaf dad-attempts { + type uint32 { + range "0..600"; + } + description + "Set IPv6 duplicate address detection transmits"; + } + leaf srp-multicast-encapsulation { + type Ipv6srp-encapsulation; + description + "Set SRP multicast prefer encapsulation"; + } + leaf ns-interval { + type uint32 { + range "1000..4294967295"; + } + units "millisecond"; + description + "Set advertised NS retransmission interval in + milliseconds"; + } + leaf cache-limit { + type uint32 { + range "0..128000"; + } + description + "Set the cache limit for neighbor entries"; + } + leaf redirect { + type empty; + description + "Enable sending of ICMP Redirect messages"; + } + leaf srp-unicast-encapsulation { + type Ipv6srp-encapsulation; + description + "Set SRP unicast prefer encapsulation"; + } + leaf ramtu-suppress { + type empty; + description + "Enable suppress MTU in IPv6 router + advertisement"; + } + leaf managed-config { + type empty; + description + "Host to use stateful protocol for address + configuration"; + } + leaf ra-unicast { + type empty; + description + "Enable unicast IPv6 router advertisement"; + } + leaf ra-lifetime { + type uint32 { + range "0..9000"; + } + units "second"; + description + "Set IPv6 Router Advertisement (RA) lifetime in + seconds"; + } + leaf other-config { + type empty; + description + "Host to use stateful protocol for non-address + configuration"; + } + leaf ra-suppress { + type empty; + description + "Enable suppress IPv6 router advertisement"; + } + leaf router-preference { + type Ipv6-nd-router-pref; + description + "RA Router Preference"; + } + } + } + container ipv6-neighbor { + description + "IPv6 neighbor or neighbor discovery configuration"; + container neighbors { + description + "IPv6 neighbors"; + list neighbor { + key "neighbor-address interface-name"; + description + "IPv6 neighbor configuration"; + leaf neighbor-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf zone { + type string; + mandatory true; + description + "IPv6 address zone"; + } + leaf mac-address { + type yang:mac-address; + mandatory true; + description + "48-bit hardware address H.H.H"; + } + } + } + leaf scavenge-timeout { + type uint32 { + range "1..43200"; + } + units "second"; + description + "Set lifetime for stale neighbor"; + } + leaf cos { + type uint32 { + range "0..7"; + } + description + "Set cos value for both outer vlan and inner vlan + (if present) in all ougoing ND control packets"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper-sub1.yang new file mode 100644 index 000000000..4f96b1f79 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper-sub1.yang @@ -0,0 +1,843 @@ +submodule Cisco-IOS-XR-ipv6-nd-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-nd-oper { + prefix Cisco-IOS-XR-ipv6-nd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-nd package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-11-08 { + description + "Modified bag with dns server/searchlist count."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-18 { + description + "Fixing yang usability warnings."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6-nd-sh-vr-flags { + type enumeration { + enum "no-flags" { + description + "None"; + } + enum "final-ra" { + description + "Final RA"; + } + } + description + "IPv6 ND VR Entry Flags Type "; + } + + typedef Ipv6-nd-sh-vr-state { + type enumeration { + enum "deleted" { + description + "Delete"; + } + enum "standby" { + description + "Standby"; + } + enum "active" { + description + "Active"; + } + } + description + "IPv6 ND VR Entry State Type "; + } + + typedef Ipv6-nd-bndl-state { + type enumeration { + enum "run" { + description + "Running state"; + } + enum "error" { + description + "Error state"; + } + enum "wait" { + description + "Wait state"; + } + } + description + "IPv6 ND Bundle State"; + } + + typedef Ipv6-nd-neighbor-origin { + type enumeration { + enum "other" { + description + "Other Address"; + } + enum "static" { + description + "Static Address"; + } + enum "dynamic" { + description + "Dynamic Address"; + } + } + description + "IPv6 ND Neighbor Origin Type"; + } + + typedef Ipv6-nd-media-encap { + type enumeration { + enum "none" { + description + "No encapsulation"; + } + enum "arpa" { + description + "ARPA encapsulation"; + } + enum "snap" { + description + "SNAP encapsulation"; + } + enum "ieee802-1q" { + description + "802_1Q encapsulation"; + } + enum "srp" { + description + "SRP encapsulation"; + } + enum "srpa" { + description + "SRPA encapsulation"; + } + enum "srpb" { + description + "SRPB encapsulation"; + } + enum "ppp" { + description + "PPP encapsulation"; + } + enum "hdlc" { + description + "HDLC encapsulation"; + } + enum "chdlc" { + description + "CHDLC encapsulation"; + } + enum "dot1q" { + description + "DOT1Q encapsulation"; + } + enum "fr" { + description + "FR encapsulation"; + } + enum "gre" { + description + "GRE encapsulation"; + } + } + description + "IPv6 ND Media Encapsulation Type"; + } + + typedef Ipv6-nd-sh-state { + type enumeration { + enum "incomplete" { + description + "Incomplete"; + } + enum "reachable" { + description + "Reachable"; + } + enum "stale" { + description + "Stale"; + } + enum "glean" { + description + "Glean"; + } + enum "delay" { + description + "Delay"; + } + enum "probe" { + description + "Probe"; + } + enum "delete" { + description + "Delete"; + } + } + description + "IPv6 ND Neighbor Reachability State"; + } + + grouping IPV6-ND-PREFIX-Q { + description + "Prefix Queue"; + leaf prefix-address { + type inet:ipv6-address; + description + "IPV6 Prefix address"; + } + leaf eui64 { + type inet:ipv6-address; + description + "IPv6 Auto generated address"; + } + leaf valid-life-time { + type uint32; + description + "IPV6 Prefix Valid Life Time"; + } + leaf preferred-life-time { + type uint32; + description + "IPV6 Prefix Preferred Life Time"; + } + leaf prefix-len { + type uint32; + description + "IPV6 Prefix Length"; + } + leaf flags { + type uint32; + description + "IPv6 Address Specific Flags"; + } + leaf pfx-flags { + type uint32; + description + "Prefix Address Specific Flags"; + } + } + + grouping IPV6-ND-RA-INFO { + description + "RA Info"; + container elapsed-ra-time { + description + "elapsedRATime"; + uses BAG-TIMESPEC; + } + container reachable-time { + description + "common reachabletime"; + uses BAG-TIMESPEC; + } + container retrans-time { + description + "RA retransmit time"; + uses BAG-TIMESPEC; + } + leaf address { + type inet:ipv6-address; + description + "address of type IPV6"; + } + leaf hops { + type uint32; + description + "number of intermediate devices between source + and destination"; + } + leaf flags { + type uint32; + description + "RA flags"; + } + leaf life-time { + type uint32; + description + "active time"; + } + leaf mtu { + type uint32; + description + "maximum transmission unit"; + } + leaf err-msg { + type boolean; + description + "message having the error info"; + } + leaf vrf-id { + type uint32; + description + "virtual routing and forwarding id"; + } + leaf u6-tbl-id { + type uint32; + description + "tbl id"; + } + leaf rib-protoid { + type uint16; + description + "proto id"; + } + leaf default-router { + type boolean; + description + "router"; + } + leaf reachability { + type uint32; + description + "reach"; + } + list prefix-q { + description + "Prefix Queue"; + uses IPV6-ND-PREFIX-Q; + } + } + + grouping IPV6-ND-SLAAC-INTFS-INFO { + description + "Slaac Intfs"; + leaf idb { + type xr:Interface-name; + description + "interface database"; + } + list ra { + description + "slaac db"; + uses IPV6-ND-RA-INFO; + } + } + + grouping IPV6-ND-VR-ENTRY { + description + "Detailed Info of ND IPv6 Virtual Router entry"; + container local-address { + description + "IPV6 Link local address"; + uses IPV6-ND-ADDR; + } + leaf link-layer-address { + type yang:mac-address; + description + "IPV6 Link-Layer Address"; + } + leaf context { + type uint32; + description + "Virtual Router ID"; + } + leaf state { + type Ipv6-nd-sh-vr-state; + description + "VR state"; + } + leaf flags { + type Ipv6-nd-sh-vr-flags; + description + "VR Flags"; + } + leaf vr-gl-addr-ct { + type uint32; + description + "Virtual Global Address Count"; + } + list vr-global-address { + description + "List of ND global addresses"; + uses IPV6-ND-ADDR; + } + } + + grouping IPV6-ND-GSPNODE { + description + "GSP node info "; + leaf node-name { + type xr:Node-id; + description + "Node Name"; + } + leaf total-links { + type uint32; + description + "Number of links on the node"; + } + } + + grouping IPV6-ND-ADDR { + description + "List of IPv6 ND Addresses "; + leaf ipv6-address { + type inet:ipv6-address; + description + "Address of type IPV6"; + } + leaf valid-lifetime { + type uint32; + description + "Valid lifetime of a Prefix"; + } + leaf pref-lifetime { + type uint32; + description + "Preffered lifetime of a Prefix"; + } + leaf prefix-length { + type uint32; + description + "IPV6 Prefix length"; + } + leaf flags { + type uint32; + description + "Address flags"; + } + } + + grouping IPV6-ND-IF-PARAMS { + description + "Detailed Info of ND IPv6 Interface"; + leaf is-dad-enabled { + type boolean; + description + "If true, DAD (D.. A.. D..) is enabled otherwise + it is disabled"; + } + leaf dad-attempts { + type uint32; + description + "DAD attempt count"; + } + leaf is-icm-pv6-redirect { + type boolean; + description + "ICMP redirect flag"; + } + leaf is-dhcp-managed { + type boolean; + description + "Flag used for utilising DHCP"; + } + leaf is-route-address-managed { + type boolean; + description + "Flag used to manage routable address"; + } + leaf is-suppressed { + type boolean; + description + "Suppress flag"; + } + leaf send-unicast-ra { + type boolean; + description + "unicast RA send flag"; + } + leaf nd-retransmit-interval { + type uint32; + description + "ND retransmit interval in msec"; + } + leaf nd-min-transmit-interval { + type uint32; + description + "ND router advertisement minimum transmit + interval in sec"; + } + leaf nd-max-transmit-interval { + type uint32; + description + "ND router advertisement maximum transmit + interval in sec"; + } + leaf nd-advertisement-lifetime { + type uint32; + description + "ND router advertisement life time in sec"; + } + leaf nd-reachable-time { + type uint32; + description + "Time to reach ND in msec"; + } + leaf nd-cache-limit { + type uint32; + description + "Completed adjacency limit per interface"; + } + leaf complete-protocol-count { + type uint32; + description + "Completed PROTO entry Count"; + } + leaf complete-glean-count { + type uint32; + description + "Completed GLEAN entry count"; + } + leaf incomplete-protocol-count { + type uint32; + description + "Incomplete PROTO entry count"; + } + leaf incomplete-glean-count { + type uint32; + description + "Incomplete GLEAN entry count"; + } + leaf dropped-protocol-req-count { + type uint32; + description + "Dropped PROTO entry request count"; + } + leaf dropped-glean-req-count { + type uint32; + description + "Dropped GLEAN entry lequest count"; + } + leaf radns-server-address-count { + type uint32; + description + "RA DNS Server Address Count"; + } + leaf radns-search-list-count { + type uint32; + description + "RA DNS Search List Count"; + } + } + + grouping IPV6-ND-IF-ENTRY { + description + "Detailed Info of ND IPv6 Interface entry"; + container nd-parameters { + description + "ND interface parameters"; + uses IPV6-ND-IF-PARAMS; + } + container local-address { + description + "IPV6 Link local address"; + uses IPV6-ND-ADDR; + } + leaf parent-interface-name { + type xr:Interface-name; + description + "Name of the Parent interface"; + } + leaf iftype { + type uint32; + description + "Interface type"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf etype { + type uint32; + description + "etype field"; + } + leaf vlan-tag { + type uint16; + description + "vlan tag/id/ucv"; + } + leaf mac-addr-size { + type uint32; + description + "size of mac address"; + } + leaf mac-addr { + type yang:mac-address; + description + "media access control address"; + } + leaf is-interface-enabled { + type boolean; + description + "If true, interface is enabled"; + } + leaf is-ipv6-enabled { + type boolean; + description + "If true, IPv6 is enabled"; + } + leaf is-mpls-enabled { + type boolean; + description + "If true, MPLS is enabled"; + } + leaf-list member-link { + type uint32; + description + "List of member links"; + } + list global-address { + description + "List of ND global addresses"; + uses IPV6-ND-ADDR; + } + list member-node { + description + "List of member nodes"; + uses IPV6-ND-GSPNODE; + } + } + + grouping IPV6-ND-BL-NODE-ENTRY { + description + "IPv6 node discovery bundle node information"; + container age { + description + "Uptime of node (secs)"; + uses BAG-TIMESPEC; + } + leaf group-id { + type uint32; + description + "Group ID"; + } + leaf process-name { + type string; + description + "Name of the process"; + } + leaf sent-sequence-number { + type uint32; + description + "Sent sequence number for error detection"; + } + leaf received-sequence-number { + type uint32; + description + "Received sequence num for error detection"; + } + leaf state { + type Ipv6-nd-bndl-state; + description + "State"; + } + leaf state-changes { + type uint32; + description + "change of state"; + } + leaf sent-packets { + type uint32; + description + "Total packet sends"; + } + leaf received-packets { + type uint32; + description + "Total packet receives"; + } + } + + grouping BAG-NBR-ENTRY-SUM { + description + "IPv6 ND summary information"; + leaf incomplete-entries { + type uint32; + description + "Total ipv6 neighbhors count which are in INCMP + state"; + } + leaf reachable-entries { + type uint32; + description + "Total ipv6 neighbhors count which are in REACH + state"; + } + leaf stale-entries { + type uint32; + description + "Total ipv6 neighbhors count which are STALE"; + } + leaf delayed-entries { + type uint32; + description + "Total ipv6 neighbhors count which are in DELAY + state"; + } + leaf probe-entries { + type uint32; + description + "Total ipv6 neighbhors count which are in PROBE + state"; + } + leaf deleted-entries { + type uint32; + description + "Total ipv6 neighbhors count which are in DELETE + state"; + } + leaf subtotal-neighbor-entries { + type uint32; + description + "Total number of entries"; + } + } + + grouping IPV6-ND-NEIGHBOR-ENTRY-SUMMARY { + description + "IPv6 ND neighbor entry summary"; + container multicast { + description + "Multicast neighbor summary"; + uses BAG-NBR-ENTRY-SUM; + } + container static { + description + "Static neighbor summary"; + uses BAG-NBR-ENTRY-SUM; + } + container dynamic { + description + "Dynamic neighbor summary"; + uses BAG-NBR-ENTRY-SUM; + } + container sync { + description + "Sync neighbor summary"; + uses BAG-NBR-ENTRY-SUM; + } + container static-sync { + description + "StaticSync neighbor summary"; + uses BAG-NBR-ENTRY-SUM; + } + container dynamic-sync { + description + "DynamicSync neighbor summary"; + uses BAG-NBR-ENTRY-SUM; + } + leaf total-neighbor-entries { + type uint32; + description + "Total number of entries"; + } + } + + grouping BAG-TIMESPEC { + description + "Timespec specifying the number of seconds since + the base time of 00:00:00 GMT, 1 January 1970."; + leaf seconds { + type uint32; + units "second"; + description + "Number of seconds"; + } + } + + grouping IPV6-ND-NEIGHBOR-ENTRY { + description + "IPv6 ND neighbor entry"; + container last-reached-time { + description + "Last time of reachability"; + uses BAG-TIMESPEC; + } + leaf reachability-state { + type Ipv6-nd-sh-state; + description + "Current state"; + } + leaf link-layer-address { + type yang:mac-address; + description + "IPV6 Link-Layer Address"; + } + leaf encapsulation { + type Ipv6-nd-media-encap; + description + "Preferred media encap type"; + } + leaf selected-encapsulation { + type Ipv6-nd-media-encap; + description + "Selected media encap"; + } + leaf origin-encapsulation { + type Ipv6-nd-neighbor-origin; + description + "Neighbor origin"; + } + leaf interface-name { + type string; + description + "Name of Interface"; + } + leaf location { + type xr:Node-id; + description + "Location where the neighbor entry exists"; + } + leaf is-router { + type boolean; + description + "IsRouter"; + } + leaf serg-flags { + type uint32; + description + "ND serg flags for this entry"; + } + leaf vrfid { + type uint32; + description + "VRF name for this entry"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper.yang new file mode 100644 index 000000000..3f16c8fc2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-nd-oper.yang @@ -0,0 +1,206 @@ +module Cisco-IOS-XR-ipv6-nd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-nd-oper"; + prefix ipv6-nd-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv6-nd-oper-sub1 { + revision-date 2019-11-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-nd package operational data. + + This module contains definitions + for the following management objects: + ipv6-node-discovery: IPv6 node discovery operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-11-08 { + description + "Modified bag with dns server/searchlist count."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-18 { + description + "Fixing yang usability warnings."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv6-node-discovery { + config false; + description + "IPv6 node discovery operational data"; + container nodes { + description + "IPv6 node discovery list of nodes"; + list node { + key "node-name"; + description + "IPv6 node discovery operational data for a + particular node"; + container neighbor-interfaces { + description + "IPv6 node discovery list of neighbor + interfaces"; + list neighbor-interface { + key "interface-name"; + description + "IPv6 node discovery neighbor interface"; + container host-addresses { + description + "IPv6 node discovery list of neighbor host + addresses"; + list host-address { + key "host-address"; + description + "IPv6 Neighbor detailed information"; + leaf host-address { + type inet:ipv6-address-no-zone; + description + "Host Address"; + } + uses IPV6-ND-NEIGHBOR-ENTRY; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + container neighbor-summary { + description + "Summary of IPv6 Neighbors"; + uses IPV6-ND-NEIGHBOR-ENTRY-SUMMARY; + } + container bundle-nodes { + description + "IPv6 ND list of bundle nodes for a specific + node"; + list bundle-node { + key "node-name"; + description + "IPv6 ND operational data for a specific + bundle node"; + leaf node-name { + type xr:Node-id; + description + "The bundle node name"; + } + uses IPV6-ND-BL-NODE-ENTRY; + } + } + container bundle-interfaces { + description + "IPv6 ND list of bundle interfaces for a + specific node"; + list bundle-interface { + key "interface-name"; + description + "IPv6 ND operational data for a specific + bundler interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV6-ND-IF-ENTRY; + } + } + container interfaces { + description + "IPv6 node discovery list of interfaces for a + specific node"; + list interface { + key "interface-name"; + description + "IPv6 node discovery operational data for a + specific node and interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV6-ND-IF-PARAMS; + } + } + container nd-virtual-routers { + description + "IPv6 ND virtual router information for a + specific interface"; + list nd-virtual-router { + key "interface-name"; + description + "IPv6 ND virtual router operational data for + a specific interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV6-ND-VR-ENTRY; + } + } + container slaac-interfaces { + description + "IPv6 ND list of SLAAC MGMT interfaces for a + specific node"; + list slaac-interface { + key "interface-name"; + description + "IPv6 ND operational data for a specific slaac + interface"; + container router-advert-detail { + description + "IPv6 ND operational data for a specific + slaac interface"; + uses IPV6-ND-SLAAC-INTFS-INFO; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg.yang new file mode 100644 index 000000000..e2ce2e191 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg.yang @@ -0,0 +1,1127 @@ +module Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg"; + prefix ipv6-new-dhcpv6d-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-new-dhcpv6d package configuration. + + This module contains definitions + for the following management objects: + dhcpv6: None + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-28 { + description + "Edit config issue seen in Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg model"; + semver:module-version "2.1.0"; + } + revision 2020-04-19 { + description + "Added hop count seed CLI support"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-12 { + description + "Added Remote-id config for relay profile"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-10-10 { + description + "Moved augment statement to a separate file"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6dhcp-mode { + type enumeration { + enum "server" { + value 1; + description + "Specify mode-class based Server option"; + } + enum "proxy" { + value 2; + description + "Specify mode-class based Proxy option"; + } + } + description + "Ipv6dhcp mode"; + } + + typedef Insert { + type enumeration { + enum "local" { + value 0; + description + "Insert locally generated/configured Interface + ID value"; + } + enum "received" { + value 1; + description + "Insert received Interface ID value"; + } + enum "pppoe" { + value 2; + description + "Insert received Interface ID value from SADB"; + } + enum "received-nodefault" { + value 3; + description + "No default Interface ID"; + } + } + description + "Insert"; + } + + typedef Ipv6dhcp-default-mode { + type enumeration { + enum "server" { + value 1; + description + "Specify mode-class based Server option"; + } + } + description + "Ipv6dhcp default mode"; + } + + typedef Subscriber-id { + type enumeration { + enum "pppoe" { + value 3; + description + "Insert Received Subscriber-ID Value from SADB"; + } + } + description + "Subscriber id"; + } + + typedef Action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Solicit"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Solicit"; + } + } + description + "Action"; + } + + typedef Link-layer-addr { + type enumeration { + enum "set" { + value 4; + description + "Insert Received LinkLayerAddr Value from SADB"; + } + } + description + "Link layer addr"; + } + + container dhcpv6 { + presence "Indicates a dhcpv6 node is configured."; + description + "None"; + container database { + description + "Enable DHCP binding database storage to file + system"; + leaf proxy { + type empty; + description + "Enable DHCP proxy binding database storage to + file system"; + } + leaf server { + type empty; + description + "Enable DHCP server binding database storage to + file system"; + } + leaf relay { + type empty; + description + "Enable DHCP relay binding database storage to + file system"; + } + leaf full-write-interval { + type uint32 { + range "1..1440"; + } + default "10"; + description + "Full file write interval (default 10 minutes)"; + } + leaf incremental-write-interval { + type uint32 { + range "1..1440"; + } + default "1"; + description + "Incremental file write interval (default 1 + minutes)"; + } + } + container rate-limit-solicit { + description + "Rate limit ingress packets"; + leaf num-period { + type uint32 { + range "1..1000"; + } + description + "Period in msec (Default: 200 msec)"; + } + leaf num-solicit { + type uint32 { + range "0..1000"; + } + description + "Number of Solicit packets (Default: 100, 0: No + limit)"; + } + } + container profiles { + description + "Table of Profile"; + list profile { + key "profile-name"; + description + "None"; + container cnbng { + presence "Indicates a cnbng node is configured."; + description + "None"; + leaf enable { + type empty; + mandatory true; + description + "Enable None. Deletion of this object also + causes deletion of all associated objects + under Cnbng."; + } + } + container relay { + presence "Indicates a relay node is configured."; + description + "None"; + container helper-addresses { + description + "Table of HelperAddress"; + list helper-address { + key "vrf-name helper-address"; + description + "Specify the server helper address"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + leaf helper-address { + type inet:ipv6-address-no-zone; + description + "Server Global unicast address"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable"; + } + leaf src-intf-name { + type xr:Interface-name; + description + "Helper-address Specific Source Interface"; + } + } + } + container option { + description + "Specify relay option configuration"; + leaf remote-id { + type string { + length "1..256"; + } + description + "Enter remote-id value"; + } + } + leaf link-address { + type inet:ip-address-no-zone; + description + "IPv6 address to be filled in link-address"; + } + leaf relay-l2ac-route-add-disable { + type empty; + description + "Disable l2ac route add if interface is down"; + } + leaf src-intf-name { + type xr:Interface-name; + description + "Relay profile Source Interface Name"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable None. Deletion of this object also + causes deletion of all associated objects + under Relay."; + } + leaf iana-route-add { + type empty; + description + "Enable route addition for IANA"; + } + leaf relay-route-add-disable { + type empty; + description + "RouteDisable"; + } + } + container base { + presence "Indicates a base node is configured."; + description + "None"; + container dhcpv6-to-aaa { + description + "Enable to provide the list of options need to + send to aaa"; + container base-option { + description + "option type"; + container list { + description + "List of options"; + leaf option-all { + type uint32; + description + "Set constant integer"; + } + leaf-list option-number { + type uint32; + max-elements "12"; + description + "Option number"; + } + } + } + } + container match-default { + description + "Default match option"; + container profile { + description + "None"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Profile name"; + } + leaf default-mode { + type Ipv6dhcp-default-mode; + description + "Set constant integer"; + } + } + } + container match { + description + "Enter match option"; + container mode-classes { + description + "Table of ModeClass"; + list mode-class { + key "class-name"; + description + "Specify PPP/IPoE class option"; + container profile { + description + "Enter proxy or server profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Profile name"; + } + leaf mode { + type Ipv6dhcp-mode; + description + "Set constant integer"; + } + } + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Class name"; + } + } + } + } + leaf enable { + type empty; + mandatory true; + description + "Enable None. Deletion of this object also + causes deletion of all associated objects + under Base."; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "None"; + container interfaces { + description + "Table of Interface"; + list interface { + key "interface-name"; + description + "None"; + leaf interface-id { + type string; + description + "Physical interface ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface to configure"; + } + } + } + container relay { + description + "Specify relay configuration"; + container option { + description + "Specify relay option configuration"; + container interface-id { + description + "Interface Id option"; + leaf insert { + type Insert; + description + "Configure InterfaceID insert type"; + } + } + leaf subscriber-id { + type Subscriber-id; + description + "Configure Received SubscriberID"; + } + leaf link-layer-addr { + type Link-layer-addr; + description + "Configure Received link-layer-Addr"; + } + leaf remote-i-dreceived { + type uint32; + description + "Set remote-id value from SADB"; + } + leaf remote-id { + type string { + length "1..256"; + } + description + "Enter remote-id value"; + } + } + } + container authentication { + description + "Authentication username format"; + leaf username { + type empty; + description + "Set username as DUID"; + } + } + container classes { + description + "Table of Class"; + list class { + key "class-name"; + description + "None"; + container helper-addresses { + description + "Table of HelperAddress"; + list helper-address { + key "vrf-name helper-address"; + description + "Specify the server helper address"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + leaf helper-address { + type inet:ipv6-address-no-zone; + description + "Server address"; + } + } + } + leaf link-address { + type inet:ip-address-no-zone; + description + "IPv6 address to be filled in link-address"; + } + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Class name"; + } + } + } + container sessions { + description + "Change sessions configuration"; + container mac { + description + "Throttle DHCP sessions based on MAC address"; + container throttle { + description + "Throttle DHCP sessions from any one MAC + address"; + leaf limit { + type uint32 { + range "1..65535"; + } + description + "Number of solicits at which to throttle"; + } + leaf request { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle request period (in secs)"; + } + leaf block { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle blocking period (in secs)"; + } + } + } + } + container helper-addresses { + description + "Table of HelperAddress"; + list helper-address { + key "vrf-name helper-address"; + description + "DHCPv6 Helper Address"; + leaf out-interface { + type xr:Interface-name; + description + "DHCPv6 HelperAddress Specific Output + Interface"; + } + leaf any-out-interface { + type empty; + description + "DHCPv6 HelperAddress Output Interface"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf helper-address { + type inet:ipv6-address-no-zone; + description + "DHCPv6 Helper Address"; + } + } + } + leaf linkaddress-from-ra-enable { + type empty; + description + "Fill linkaddress in Relay fwd msg with Prefix + from Router Advertisement for PPPoE sessions"; + } + leaf route-add-disable { + type empty; + description + "RouteDisable"; + } + leaf link-address { + type inet:ip-address-no-zone; + description + "IPv6 address to be filled in link-address"; + } + leaf src-intf-name { + type xr:Interface-name; + description + "Create or enter proxy profile Source + Interface Name"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable None. Deletion of this object also + causes deletion of all associated objects + under Proxy."; + } + leaf l2ac-route-add-disable { + type empty; + description + "Disable l2ac route add if interface is down"; + } + } + container server { + presence "Indicates a server node is configured."; + description + "None"; + container sessions { + description + "Change sessions configuration"; + container mac { + description + "Throttle DHCP sessions based on MAC address"; + container throttle { + description + "Throttle DHCP sessions from any one MAC + address"; + leaf limit { + type uint32 { + range "1..65535"; + } + description + "Number of solicits at which to throttle"; + } + leaf request { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle request period (in secs)"; + } + leaf block { + type uint32 { + range "1..100"; + } + units "second"; + description + "Throttle blocking period (in secs)"; + } + } + } + } + container dns-servers { + description + "DNS servers"; + leaf-list dns-server { + type inet:ip-address-no-zone; + max-elements "8"; + description + "Server's IPv6 address"; + } + } + container classes { + description + "Table of Class"; + list class { + key "class-name"; + description + "None"; + container dns-servers { + description + "DNS servers"; + leaf-list dns-server { + type inet:ip-address-no-zone; + max-elements "8"; + description + "Server's IPv6 address"; + } + } + container lease { + description + "lease"; + leaf infinite { + type string; + description + "Set string"; + } + leaf days { + type uint32 { + range "0..365"; + } + units "day"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23"; + } + units "hour"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59"; + } + units "minute"; + description + "Minutes"; + } + } + leaf address-pool { + type string { + length "1..64"; + } + description + "Address pool name"; + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Domain name"; + } + leaf preference { + type uint32 { + range "1..255"; + } + description + "DHCP Server Preference"; + } + leaf prefix-pool { + type string { + length "1..64"; + } + description + "Prefix pool name"; + } + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "class name"; + } + } + } + container lease { + description + "lease"; + leaf days { + type uint32 { + range "0..365"; + } + units "day"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23"; + } + units "hour"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59"; + } + units "minute"; + description + "Minutes"; + } + leaf infinite { + type string; + description + "Set string"; + } + } + container dhcpv6duid { + description + "Client DUID"; + leaf allowed-type { + type uint32 { + range "1..4"; + } + description + "Type of DUID to be allowed"; + } + } + container aaa-server { + description + "Enable aaa dhcpv6 option force-insert"; + container dhcpv6-option { + description + "Enable aaa dhcpv6 option force-insert"; + leaf force-insert { + type empty; + description + "Enable aaa dhcpv6 option force-insert"; + } + } + } + container options { + description + "DHCPv6 match"; + list option { + key "type format value"; + description + "DHCPv6 match option"; + container enterprise-id { + description + "match enterprise number"; + container hex-enterprise-id { + description + "defaut action for enterprise number"; + leaf action { + type Action; + description + "Configure Action to be take on match"; + } + } + container default-enterprise-id { + description + "defaut action for enterprise number"; + leaf action { + type Action; + description + "Configure Action to be take on match"; + } + } + } + container vendor-class { + description + "match vendor class"; + container str-vendor-class { + description + "string action for vendor number"; + leaf action { + type Action; + description + "Configure Action to be take on match"; + } + } + container default-vendor-class { + description + "default action for enterprise number"; + leaf action { + type Action; + description + "Configure Action to be take on match"; + } + } + } + leaf type { + type xr:Cisco-ios-xr-string; + description + "Set string"; + } + leaf format { + type uint32; + description + "Set constant integer"; + } + leaf value { + type xr:Cisco-ios-xr-string; + description + "Set string"; + } + } + } + container dhcpv6-options { + description + "DHCPv6 options"; + container vendor-options { + description + "Vendor options"; + leaf type { + type string; + description + "Set string"; + } + leaf vendor-options { + type string { + length "1..512"; + } + description + "Vendor options"; + } + } + } + leaf address-pool { + type string { + length "1..64"; + } + description + "Address pool name"; + } + leaf aftr-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "AFTR name"; + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Domain name"; + } + leaf preference { + type uint32 { + range "0..255"; + } + description + "DHCP Server Preference"; + } + leaf rapid-commit { + type empty; + description + "Allow RAPID Commit"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable None. Deletion of this object also + causes deletion of all associated objects + under Server."; + } + leaf enable-session-limit { + type empty; + description + "Enable vlan or interface session limit"; + } + leaf prefix-pool { + type string { + length "1..64"; + } + description + "Prefix pool name"; + } + leaf dynamic-relay-mac-addr { + type empty; + description + "Handle Relay-Fwd pkts from relay whose + mac-addr has changed"; + } + } + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + } + } + container interfaces { + description + "Table of Interface"; + list interface { + key "interface-name"; + description + "None"; + container pppoe { + description + "PPPoE subscriber interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter profile name"; + } + } + container cnbng { + description + "Assign a cnbng profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter profile name"; + } + } + container proxy { + description + "Assign a proxy profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter profile name"; + } + } + container base { + description + "Assign a base profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter profile name"; + } + } + container server { + description + "Assign a server profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter profile name"; + } + } + container relay { + description + "Assign a relay profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Enter profile name"; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface to configure"; + } + } + } + leaf inner-cos { + type uint32 { + range "0..7"; + } + description + "Inner cos values for DHCPv6 packets to wards + clients"; + } + leaf handle-jumbo-packet { + type empty; + description + "Handle packets of huge size"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable None. Deletion of this object also causes + deletion of all associated objects under DHCPv6."; + } + leaf hop-count-seed { + type empty; + description + "Start hop count to 0 in relay-forward msg for + SOLICIT"; + } + leaf quiet-on-unspec-fail { + type empty; + description + "Do not send ADVERTISE packet upon UNSPEC-FAIL"; + } + leaf ipoe-dhcp-client-reboot { + type uint32 { + range "10..30"; + } + units "second"; + description + "For BNG, timed wait for term a session"; + } + leaf allow-duid-change { + type empty; + description + "For BNG session, allow duid change for a client + MAC"; + } + leaf outer-cos { + type uint32 { + range "0..7"; + } + description + "Configure outer cos values for DHCPv6 packet to + wards client"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg.yang new file mode 100644 index 000000000..18cbbcbae --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg.yang @@ -0,0 +1,177 @@ +module Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg"; + prefix ipv6-new-dhcpv6d-client-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-new-dhcpv6d-client package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-17 { + description + "Added prefix-len option for dhcpv6 client"; + semver:module-version "1.1.0"; + } + revision 2020-02-18 { + description + "Modified DHCPv6 client timers range."; + semver:module-version "1.0.0"; + } + revision 2019-11-16 { + description + "Added Support for DHCPv6 Client."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Duid { + type enumeration { + enum "duid-ll" { + value 3; + description + "Link Local Address"; + } + } + description + "Duid"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ipv6-dhcp-client-options { + description + "Interface IPv6 dhcp-address-client-options + configuration"; + container options { + description + "DHCPv6 Options"; + leaf dns-option { + type string; + description + "Domain Name Server Option"; + } + leaf user-class-id-option { + type string; + description + "User Class ID String"; + } + leaf vendor-id-option { + type string; + description + "Vendor ID Option String"; + } + leaf domain-list-option { + type string; + description + "Domain List Option"; + } + } + container duidses { + description + "DUID Types"; + leaf-list duids { + type Duid; + max-elements "1"; + description + "DUID Type"; + } + } + container timers { + description + "DHCPv6 Client Timers"; + leaf req-time-out { + type uint32 { + range "1..4"; + } + description + "Initial request timeout"; + } + leaf release-time-out { + type uint32 { + range "1..3"; + } + description + "Initial release timeout value"; + } + leaf sol-max-rt { + type uint32 { + range "10..3600"; + } + description + "Maximum solicit retransmission value"; + } + leaf req-max-rt { + type uint32 { + range "10..30"; + } + description + "Maximum request timeout value"; + } + leaf sol-time-out { + type uint32 { + range "1..4"; + } + description + "Initial solicit timeout"; + } + leaf sol-max-delay { + type uint32 { + range "1..4"; + } + description + "Max delay of first solicit"; + } + } + leaf enable { + type empty; + description + "Enabled"; + } + leaf rapid-commit { + type string; + description + "Rapid-Commit"; + } + leaf prefix-length { + type uint32 { + range "64..127"; + } + description + "Prefix Length"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1.yang new file mode 100644 index 000000000..71c46509b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1.yang @@ -0,0 +1,570 @@ +submodule Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper { + prefix Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper; + } + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-new-dhcpv6d-client package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-17 { + description + "Added prefix-len option for dhcpv6 client"; + semver:module-version "1.1.0"; + } + revision 2019-11-16 { + description + "Added Support for DHCPv6 Client."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bag-duid { + type enumeration { + enum "duid-llt" { + value 1; + description + "DUID LLT"; + } + enum "duid" { + value 2; + description + "DUID EN"; + } + enum "duid-ll" { + value 3; + description + "DUID LL"; + } + } + description + "Bag duid"; + } + + typedef Bag-dhcpv6-client-option { + type enumeration { + enum "rapid-commit" { + value 14; + description + "Rapid Commit"; + } + enum "user-class" { + value 15; + description + "User Class"; + } + enum "vendor-class" { + value 16; + description + "Vendor Class"; + } + enum "dns-servers" { + value 23; + description + "DNS Servers"; + } + enum "domain-list" { + value 24; + description + "Domain List"; + } + } + description + "Bag dhcpv6 client option"; + } + + typedef Bag-dhcpv6-client-cfg-timer { + type enumeration { + enum "sol-max-delay" { + value 0; + description + "Solicit Max Delay"; + } + enum "sol-timeout" { + value 1; + description + "Solicit Timeout"; + } + enum "sol-max-rt" { + value 2; + description + "Solicit Max RT"; + } + enum "req-timeout" { + value 3; + description + "Request Timeout"; + } + enum "req-max-rt" { + value 4; + description + "Request Max RT"; + } + enum "rel-timeout" { + value 5; + description + "Release Timeout"; + } + } + description + "Bag dhcpv6 client cfg timer"; + } + + typedef Bag-dhcpv6-client-state { + type enumeration { + enum "none" { + value 0; + description + "None state"; + } + enum "idle" { + value 1; + description + "Idle state"; + } + enum "solicit" { + value 2; + description + "Solicit state"; + } + enum "request" { + value 3; + description + "Request state"; + } + enum "confirm" { + value 4; + description + "Confirm state"; + } + enum "info-req" { + value 5; + description + "InfoReq state"; + } + enum "bound" { + value 6; + description + "Bound state"; + } + enum "renew" { + value 7; + description + "Renew state"; + } + enum "rebind" { + value 8; + description + "Rebind state"; + } + enum "release" { + value 9; + description + "Release state"; + } + enum "verify" { + value 10; + description + "Verify state"; + } + enum "decline" { + value 11; + description + "Decline state"; + } + } + description + "Bag dhcpv6 client state"; + } + + typedef Rsi-tbl-id { + type uint32; + description + "Rsi tbl id"; + } + + typedef Rsi-vrf-id { + type uint32; + description + "Rsi vrf id"; + } + + grouping DHCPV6-CLIENT-TIMER-STATS-BAG { + description + "DHCPv6 client timer statistics"; + leaf timer-started { + type uint32; + description + "Timer started"; + } + leaf timer-stopped { + type uint32; + description + "Timer stopped"; + } + leaf timer-expired { + type uint32; + description + "Timer expired"; + } + } + + grouping DHCPV6-CLIENT-PACKET-STATS-BAG { + description + "DHCPv6 client packet statistics"; + leaf received-packets { + type uint32; + description + "Received packets"; + } + leaf transmitted-packets { + type uint32; + description + "Transmitted packets"; + } + leaf dropped-packets { + type uint32; + description + "Dropped packets"; + } + } + + grouping DHCPV6-CLIENT-EDM-STATS-BAG { + description + "ipv6 dhcp client statistics"; + container solicit { + description + "DHCPV6 Solicit packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container advertise { + description + "DHCPV6 Advertise packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container request { + description + "DHCPV6 Request packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container reply { + description + "DHCPV6 Reply packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container confirm { + description + "DHCPV6 Confirm packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container renew { + description + "DHCPV6 Renew packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container rebind { + description + "DHCPV6 Rebind packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container release { + description + "DHCPV6 Release packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container reconfig { + description + "DHCPV6 Reconfig packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container inform { + description + "DHCPV6 Inform packets"; + uses DHCPV6-CLIENT-PACKET-STATS-BAG; + } + container init { + description + "DHCPV6 Init timer"; + uses DHCPV6-CLIENT-TIMER-STATS-BAG; + } + container vbind { + description + "DHCPV6 Vbind timer"; + uses DHCPV6-CLIENT-TIMER-STATS-BAG; + } + container t1 { + description + "DHCPV6 T1 timer"; + uses DHCPV6-CLIENT-TIMER-STATS-BAG; + } + container t2 { + description + "DHCPV6 T2 timer"; + uses DHCPV6-CLIENT-TIMER-STATS-BAG; + } + container retrans { + description + "DHCPV6 Retrans timer"; + uses DHCPV6-CLIENT-TIMER-STATS-BAG; + } + container valid { + description + "DHCPV6 Valid timer"; + uses DHCPV6-CLIENT-TIMER-STATS-BAG; + } + leaf interface-name-xr { + type string; + description + "Dhcpv6 Client interface name"; + } + leaf vrfid { + type Rsi-vrf-id; + description + "VRF ID"; + } + } + + grouping DHCPV6-CLIENT-IA-ADDR-BAG { + description + "Dhcpv6 Client IA Address Information"; + leaf ia-na-address { + type string; + description + "Dhcpv6 IA NA Address"; + } + leaf preferred-time { + type uint32; + description + "Dhcpv6 IA NA Preferred Time"; + } + leaf valid-time { + type uint32; + description + "Dhcpv6 IA NA Valid Time"; + } + leaf flags { + type uint32; + description + "Dhcpv6 IA NA Flags"; + } + } + + grouping DHCPV6-CLIENT-IA-NA-BAG { + description + "Dhcpv6 Client IA NA Information"; + leaf status { + type int32; + description + "Dhcpv6 IA NA Status"; + } + leaf iaid { + type uint32; + description + "Dhcpv6 IA NA IAID"; + } + leaf t1 { + type uint32; + description + "Dhcpv6 IA NA T1"; + } + leaf t2 { + type uint32; + description + "Dhcpv6 IA NA T2"; + } + list ia-address { + description + "Dhcpv6 IA Address Information"; + uses DHCPV6-CLIENT-IA-ADDR-BAG; + } + } + + grouping DHCPV6-CLIENT-SERVER-BAG { + description + "Dhcpv6 Server Information"; + leaf server-address { + type string; + description + "Dhcpv6 Server address"; + } + leaf preference { + type uint8; + description + "Dhcpv6 Server Preference"; + } + leaf duid { + type string; + description + "Dhcpv6 Server DUID"; + } + leaf status { + type int32; + description + "Dhcpv6 Server Status"; + } + list ia-na { + description + "Dhcpv6 IA NA Information"; + uses DHCPV6-CLIENT-IA-NA-BAG; + } + } + + grouping DHCPV6-CLIENT-CFG-OPTIONS-BAG { + description + "Dhcpv6 Client Options Configuration"; + leaf type { + type Bag-dhcpv6-client-option; + description + "Dhcpv6 Client Option Type"; + } + leaf value { + type string; + description + "Dhcpv6 Client Option Value"; + } + } + + grouping DHCPV6-CLIENT-CFG-TIMERS-BAG { + description + "Dhcpv6 Client Timers Configuration"; + leaf type { + type Bag-dhcpv6-client-cfg-timer; + description + "Dhcpv6 Client Timer Type"; + } + leaf value { + type uint32; + description + "Dhcpv6 Client Timer Value"; + } + } + + grouping DHCPV6-CLIENT-CFG-BAG { + description + "Dhcpv6 Client Configuration"; + leaf duid-type { + type Bag-duid; + description + "Dhcpv6 Client Duid Type Configuration"; + } + list timer { + description + "Dhcpv6 Client Timers Configuration"; + uses DHCPV6-CLIENT-CFG-TIMERS-BAG; + } + list option { + description + "Dhcpv6 Client Options Configuration"; + uses DHCPV6-CLIENT-CFG-OPTIONS-BAG; + } + } + + grouping DHCPV6-CLIENT-EDM-BAG { + description + "ipv6 dhcp client"; + container client-config { + description + "Dhcpv6 Client Configuration"; + uses DHCPV6-CLIENT-CFG-BAG; + } + leaf interface-name-xr { + type string; + description + "Dhcpv6 Client interface name"; + } + leaf mac-address { + type yang:mac-address; + description + "Dhcpv6 Client mac address"; + } + leaf vrfid { + type Rsi-vrf-id; + description + "VRF ID"; + } + leaf table-id { + type Rsi-tbl-id; + description + "VRF Table Id"; + } + leaf local-address { + type string; + description + "IPV6 Link local address"; + } + leaf global-address { + type string; + description + "Dhcpv6 IPV6 Global address"; + } + leaf prefix-len { + type uint8; + description + "Dhcpv6 Address Prefix Length"; + } + leaf client-state { + type Bag-dhcpv6-client-state; + description + "Dhcpv6 Client State"; + } + leaf ipv6-renew-time { + type uint32; + description + "Dhcpv6 Client Renew time"; + } + leaf ipv6-rebind-time { + type uint32; + description + "Dhcpv6 Client Rebind time"; + } + leaf ipv6-valid-time { + type uint32; + description + "Dhcpv6 Client Valid time"; + } + leaf lease-remain { + type string; + description + "Dhcpv6 Client Lease time remaining"; + } + leaf duid { + type string; + description + "Dhcpv6 Client duid"; + } + list server-info { + description + "Dhcpv6 Server Information"; + uses DHCPV6-CLIENT-SERVER-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper.yang new file mode 100644 index 000000000..6df1736ea --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper.yang @@ -0,0 +1,130 @@ +module Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper"; + prefix ipv6-new-dhcpv6d-client-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1 { + revision-date 2020-09-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-new-dhcpv6d-client package operational data. + + This module contains definitions + for the following management objects: + dhcpv6-client: DHCPv6 client operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-17 { + description + "Added prefix-len option for dhcpv6 client"; + semver:module-version "1.1.0"; + } + revision 2019-11-16 { + description + "Added Support for DHCPv6 Client."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container dhcpv6-client { + config false; + description + "DHCPv6 client operational data"; + container interfaces { + description + "DHCPv6 client particular interface name"; + list interface { + key "interface-name"; + description + "Interface name"; + container ipv6-binding { + description + "Single DHCPv6 client binding"; + uses DHCPV6-CLIENT-EDM-BAG; + } + container ipv6-statistics { + description + "DHCPv6 client binding statistics"; + uses DHCPV6-CLIENT-EDM-STATS-BAG; + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + } + } + container nodes { + description + "DHCPv6 client list of nodes"; + list node { + key "node-name"; + description + "DHCPv6 client particular node name"; + container clients { + description + "DHCPv6 client table"; + list client { + key "interface-name"; + description + "Single DHCPv6 client binding"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses DHCPV6-CLIENT-EDM-BAG; + } + } + container client-stats { + description + "DHCPv6 client statistics table"; + list client-stat { + key "interface-name"; + description + "DHCPv6 client binding statistics"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses DHCPV6-CLIENT-EDM-STATS-BAG; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1.yang new file mode 100644 index 000000000..1522b45dc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1.yang @@ -0,0 +1,2077 @@ +submodule Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-new-dhcpv6d-oper { + prefix Cisco-IOS-XR-ipv6-new-dhcpv6d-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-new-dhcpv6d package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-06 { + description + "taking out statistics data under relay node as it is not supported since day-1"; + semver:module-version "4.0.0"; + } + revision 2021-09-14 { + description + "Fixed GET-OPER to display interface name in standard format."; + semver:module-version "3.0.0"; + } + revision 2021-03-19 { + description + "Added support for dynamic relay MAC address handling. + 2020-12-20 + Added Yang Support for ADT,to retrive statistcs with help of vrf/interface. + 2020-09-30 + Modified to accommodate cdm changes + 2020-09-29 + Added support to track server that allocated IP for DHCPv6 relay client."; + semver:module-version "2.1.0"; + } + revision 2019-12-18 { + description + "Added IPv6 ND support"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2018-10-09 { + description + "Added dhcpv6 server disconnect-history class"; + } + revision 2018-09-17 { + description + "Added dhcpv6 proxy disconnect-history class"; + } + revision 2017-12-06 { + description + "Added proxy class and server class oper for class and server profile"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bag-dhcpv6d-fsm-state { + type enumeration { + enum "server-initializing" { + value 0; + description + "Server initializing state for client binding"; + } + enum "server-waiting-dpm" { + value 1; + description + "Server waiting on DPM to validate subscriber"; + } + enum "server-waiting-daps" { + value 2; + description + "Server waiting on DAPS to assign/free + addr/prefix"; + } + enum "server-waiting-client" { + value 3; + description + "Server waiting for a request from the client"; + } + enum "server-waiting-subscriber" { + value 4; + description + "Server waiting for iedge response for the + session"; + } + enum "server-waiting-rib" { + value 5; + description + "Server waiting for RIB response for route add"; + } + enum "server-bound-client" { + value 6; + description + "Server bound state to the client"; + } + enum "proxy-initializing" { + value 10; + description + "Proxy initializing state for client binding"; + } + enum "proxy-waiting-dpm" { + value 11; + description + "Proxy waiting on DPM to validate subscriber"; + } + enum "proxy-waiting-daps" { + value 12; + description + "Proxy waiting on DAPS to assign/free prefix(ND)"; + } + enum "proxy-waiting-client-server" { + value 13; + description + "Proxy waiting for a msg from the client/srv"; + } + enum "proxy-waiting-subscriber" { + value 14; + description + "Proxy waiting on iedge to sub session resp"; + } + enum "proxy-waiting-rib" { + value 15; + description + "Proxy waiting on RIB response"; + } + enum "proxy-bound-client" { + value 16; + description + "Proxy bound state to the client"; + } + } + description + "Bag dhcpv6d fsm state"; + } + + typedef Bag-dhcpv6d-ia-id { + type enumeration { + enum "iana" { + value 0; + description + "Non-temporary Addresses assigned "; + } + enum "iapd" { + value 1; + description + "Prefix delegeated to client "; + } + enum "iata" { + value 2; + description + "Temporary Addresses - not supported "; + } + } + description + "Bag dhcpv6d ia id"; + } + + typedef Bag-dhcpv6d-intf-serg-role { + type enumeration { + enum "none" { + value 0; + description + "DHCPv6 Interface SERG role NONE"; + } + enum "master" { + value 1; + description + "DHCPv6 Interface SERG role Master"; + } + enum "slave" { + value 2; + description + "DHCPv6 Interface SERG role Slave"; + } + } + description + "Bag dhcpv6d intf serg role"; + } + + typedef Bag-dhcpv6d-intf-srg-role { + type enumeration { + enum "none" { + value 0; + description + "DHCPv6 Interface SRG role NONE"; + } + enum "master" { + value 1; + description + "DHCPv6 Interface SRG role Master"; + } + enum "slave" { + value 2; + description + "DHCPv6 Interface SRG role Slave"; + } + } + description + "Bag dhcpv6d intf srg role"; + } + + typedef Lease-limit { + type enumeration { + enum "none" { + description + "Lease limit type none"; + } + enum "interface" { + description + "Lease limit type interface"; + } + enum "circuit-id" { + description + "Lease limit type circuit ID"; + } + enum "remote-id" { + description + "Lease limit type remote ID"; + } + } + description + "Profile lease limit type"; + } + + typedef Bag-dhcpv6d-sub-mode { + type enumeration { + enum "base" { + value 0; + description + "DHCPv6 Base mode"; + } + enum "server" { + value 1; + description + "DHCPv6 Server mode"; + } + enum "proxy" { + value 2; + description + "DHCPv6 Proxy mode"; + } + } + description + "Bag dhcpv6d sub mode"; + } + + typedef String-ifname { + type string { + length "0..81"; + } + description + "String ifname"; + } + + typedef String-vrf { + type string { + length "0..33"; + } + description + "String vrf"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Dhcpv6-issu-version { + type enumeration { + enum "version1" { + value 1; + description + "Version 1"; + } + enum "version2" { + value 2; + description + "Version 2"; + } + } + description + "Dhcpv6 issu version"; + } + + typedef Dhcp-issu-phase { + type enumeration { + enum "phase-not-started" { + value 0; + description + "An ISSU event has not started"; + } + enum "phase-load" { + value 1; + description + "ISSU Load Phase"; + } + enum "phase-run" { + value 2; + description + "ISSU Run Phase"; + } + enum "phase-completed" { + value 3; + description + "An ISSU event has completed successfully"; + } + enum "phase-aborted" { + value 4; + description + "An ISSU event has aborted"; + } + } + description + "Dhcp issu phase"; + } + + typedef Dhcpv6-issu-role { + type enumeration { + enum "role-primary" { + value 0; + description + "Primary role"; + } + enum "role-secondary" { + value 1; + description + "Secondary role"; + } + } + description + "Dhcpv6 issu role"; + } + + grouping IPV6-DHCPV6D-RELAY-ROUTE-BINDING { + description + "DHCPv6 relay route entry"; + leaf duid { + type string; + description + "Client DUID"; + } + leaf client-id-xr { + type uint32; + description + "Client unique identifier"; + } + leaf prefix-length { + type uint8; + description + "length of prefix"; + } + leaf prefix { + type Ipv6-address; + description + "DHCPV6 IPv6 Prefix allotted to client"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCPv6 client/subscriber Vrf name"; + } + leaf lifetime { + type uint32; + description + "Client route lifetime"; + } + leaf rem-life-time { + type uint32; + description + "Client route remaining lifetime"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + leaf next-hop-addr { + type Ipv6-address; + description + "Next hop is our address"; + } + leaf server { + type Ipv6-address; + description + "DHCPV6 Server which allotted IP to client"; + } + leaf ia-id { + type uint32; + description + "IA_ID of this IA"; + } + leaf relay-profile-name { + type string { + length "0..65"; + } + description + "Relay Profile name"; + } + leaf l2-intf-ac-name { + type string { + length "0..81"; + } + description + "L2Intf AC Name"; + } + leaf ifname { + type string { + length "0..81"; + } + description + "DHCP access interface"; + } + leaf serg-state { + type uint32; + description + "DHCPV6 SERG state"; + } + leaf serg-intf-role { + type uint32; + description + "DHCPV6 SERG Intf Role"; + } + } + + grouping IPV6-DHCPV6D-RELAY-BINDINGS-SUMMARY { + description + "DHCPv6 relay binding summary"; + leaf clients { + type uint32; + description + "Total number of clients"; + } + } + + grouping IPV6-DHCPV6D-SERVER-BINDING-OPTIONS { + description + "DHCPv6 server binding inserted option values"; + leaf mac-address-xr { + type string; + description + "Client MAC address"; + } + leaf duid-xr { + type string; + description + "Client DUID"; + } + leaf dns-count { + type uint8; + description + "DNS address count"; + } + leaf opt17 { + type string; + description + "Client Option 17 value"; + } + leaf-list dns-address { + type Ipv6-address; + max-elements "8"; + description + "DNS addresses"; + } + } + + grouping IPV6-DHCPV6D-SERVER-STATS { + description + "DHCPv6 server statistics"; + list ipv6-dhcpv6d-server-stat { + description + "ipv6 dhcpv6d server stat"; + container statistics { + description + "Server statistics"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCPv6 L3 VRF name"; + } + } + } + + grouping IPV6-DHCPV6D-SERVER-INTERFACE { + description + "DHCPv6 server interface"; + leaf server-vrf-name { + type string { + length "0..33"; + } + description + "VRF name"; + } + leaf server-interface-mode { + type Bag-dhcpv6d-sub-mode; + description + "Mode of interface"; + } + leaf is-server-interface-ambiguous { + type uint32; + description + "Is interface ambiguous"; + } + leaf server-interface-profile-name { + type string { + length "0..65"; + } + description + "Name of profile attached to the interface"; + } + leaf server-interface-lease-limit-type { + type Lease-limit; + description + "Lease limit type on interface"; + } + leaf server-interface-lease-limits { + type uint32; + description + "Lease limit count on interface"; + } + leaf srg-role { + type Bag-dhcpv6d-intf-srg-role; + description + "DHCPv6 Interface SRG role"; + } + leaf serg-role { + type Bag-dhcpv6d-intf-serg-role; + description + "DHCPv6 Interface SERG role"; + } + leaf mac-throttle { + type boolean; + description + "Mac Throttle Status"; + } + leaf srg-vrf-name { + type string { + length "0..33"; + } + description + "SRG VRF name"; + } + leaf srgp2p { + type boolean; + description + "SRG P2P Status"; + } + } + + grouping IPV6-DHCPV6D-SERVER-PROFILE-CLASS { + description + "DHCPv6 server profile class parameters"; + leaf class-name-xr { + type string { + length "0..65"; + } + description + "Class name"; + } + leaf domain-name { + type string { + length "0..65"; + } + description + "Server domain name"; + } + leaf profile-dns { + type uint8; + description + "DNS address count"; + } + leaf framed-addr-pool-name { + type string { + length "0..65"; + } + description + "Server framed address pool name"; + } + leaf delegated-prefix-pool-name { + type string { + length "0..65"; + } + description + "Server delegated prefix pool name"; + } + leaf-list profile-dns-address { + type Ipv6-address; + max-elements "8"; + description + "DNS addresses"; + } + } + + grouping IPV6-DHCPV6D-SERVER-INTERFACE-REFERENCE { + description + "DHCPv6 server profile reference"; + list ipv6-dhcpv6d-server-interface-reference { + description + "ipv6 dhcpv6d server interface reference"; + leaf server-reference-interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + } + } + + grouping TIME-BAG { + description + "Time in diffrent formats"; + leaf seconds { + type uint32; + units "second"; + description + "DHCPV6 client lease in seconds"; + } + leaf time { + type string { + length "0..10"; + } + description + "Time in format HH:MM:SS"; + } + } + + grouping IPV6-DHCPV6D-SERVER-PROFILE { + description + "DHCPv6 server profile parameters"; + container lease { + description + "Server lease time"; + uses TIME-BAG; + } + container interface-references { + description + "Interface references"; + uses IPV6-DHCPV6D-SERVER-INTERFACE-REFERENCE; + } + leaf profile-name { + type string { + length "0..65"; + } + description + "Server profile name"; + } + leaf profile-allowed-duid-type { + type uint16; + description + "Allowed DUID Type"; + } + leaf domain-name { + type string { + length "0..65"; + } + description + "Server domain name"; + } + leaf profile-dns { + type uint8; + description + "DNS address count"; + } + leaf aftr-name { + type string { + length "0..65"; + } + description + "Server aftr name"; + } + leaf framed-addr-pool-name { + type string { + length "0..65"; + } + description + "Server framed address pool name"; + } + leaf delegated-prefix-pool-name { + type string { + length "0..65"; + } + description + "Server delegated prefix pool name"; + } + leaf rapid-commit { + type boolean; + description + "Rapid Commit"; + } + leaf per-vlan-intf-sess-limit-enable { + type boolean; + description + "Session Limit"; + } + leaf dynamic-relay-mac-addr { + type boolean; + description + "Dynamce Relay Mac Addr"; + } + leaf-list profile-dns-address { + type Ipv6-address; + max-elements "8"; + description + "DNS addresses"; + } + } + + grouping IPV6-DHCPV6D-SERVER-BINDING { + description + "DHCPv6 server binding entry"; + container ia-id-pd { + description + "List of DHCPv6 IA_ID/PDs"; + uses BAG-DHCPV6D-IA-ID-PD-INFO; + } + leaf duid { + type string; + description + "Client DUID"; + } + leaf client-id-xr { + type uint32; + description + "Client unique identifier"; + } + leaf client-flag { + type uint32; + description + "DHCPV6 client flag"; + } + leaf subscriber-label { + type uint32; + description + "DHCPV6 subscriber label"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCPVV6 client/subscriber VRF name"; + } + leaf mac-address { + type string; + description + "Client MAC address"; + } + leaf ia-id-p-ds { + type uint32; + description + "Number of ia_id/pd"; + } + leaf link-local-address { + type Ipv6-address; + description + "DHCPV6 IPv6 client link local address"; + } + leaf interface-name { + type xr:Interface-name; + description + "DHCPV6 access interface to client"; + } + leaf access-vrf-name { + type string { + length "0..33"; + } + description + "DHCPV6 access VRF name to client"; + } + leaf server-binding-tags { + type uint8; + description + "DHCPV6 VLAN tag count"; + } + leaf server-binding-outer-tag { + type uint32; + description + "DHCPV6 VLAN Outer VLAN"; + } + leaf server-binding-inner-tag { + type uint32; + description + "DHCPV6 VLAN Inner VLAN"; + } + leaf pool-name { + type string { + length "0..64"; + } + description + "DHCPV6 pool name"; + } + leaf profile-name { + type string { + length "0..64"; + } + description + "DHCPV6 profile name"; + } + leaf seleceted-profile-name { + type string { + length "0..64"; + } + description + "DHCPV6 selected profile name"; + } + leaf framed-ipv6-prefix { + type Ipv6-address; + description + "DHCPV6 framed ipv6 addess used by ND"; + } + leaf framed-prefix-length { + type uint8; + description + "DHCPV6 framed ipv6 prefix length used by ND"; + } + leaf class-name { + type string { + length "0..64"; + } + description + "DHCPV6 class name"; + } + leaf rx-remote-id { + type string { + length "0..771"; + } + description + "DHCPV6 received Remote ID"; + } + leaf rx-interface-id { + type string { + length "0..771"; + } + description + "DHCPV6 received Interface ID"; + } + leaf prefix-pool-name { + type string { + length "0..64"; + } + description + "DHCPV6 server prefix pool name"; + } + leaf address-pool-name { + type string { + length "0..64"; + } + description + "DHCPV6 server address pool name"; + } + leaf dns-server-count { + type uint32; + description + "DNS server count"; + } + leaf is-nak-next-renew { + type boolean; + description + "Is true if DHCPv6 next renew from client will be + NAK'd"; + } + leaf srg-state { + type uint32; + description + "DHCPV6 SRG state"; + } + leaf srg-intf-role { + type uint32; + description + "DHCPV6 SRG Intf Role"; + } + leaf srgp2p { + type boolean; + description + "SRG P2P Status"; + } + leaf srg-vrf-name { + type string { + length "0..33"; + } + description + "DHCPV6 SRG VRF NAME"; + } + leaf srg-group-id { + type uint16; + description + "srg group id"; + } + leaf sesrg-state { + type uint32; + description + "DHCPV6 SERG state"; + } + leaf serg-intf-role { + type uint32; + description + "DHCPV6 SERG Intf Role"; + } + } + + grouping BAG-DHCPV6D-SERVER-BINDINGS-SUMMARY { + description + "DHCPv6 server bindings summary for IANA/IAPD"; + leaf initializing-clients { + type uint32; + description + "Number of clients in init state"; + } + leaf dpm-waiting-clients { + type uint32; + description + "Number of clients waiting on DPM to validate + subscriber"; + } + leaf daps-waiting-clients { + type uint32; + description + "Number of clients waiting on DAPS to assign/free + addr/prefix"; + } + leaf request-waiting-clients { + type uint32; + description + "Number of clients waiting for a request from the + client"; + } + leaf iedge-waiting-clients { + type uint32; + description + "Number of clients waiting for iedge for the + session"; + } + leaf rib-waiting-clients { + type uint32; + description + "Number of clients in waiting for RIB response"; + } + leaf bound-clients { + type uint32; + description + "Number of clients in bound state"; + } + } + + grouping IPV6-DHCPV6D-SERVER-BINDINGS-SUMMARY { + description + "DHCPv6 server bindings summary"; + container iana { + description + "IANA server binding summary"; + uses BAG-DHCPV6D-SERVER-BINDINGS-SUMMARY; + } + container iapd { + description + "IAPD server binding summary"; + uses BAG-DHCPV6D-SERVER-BINDINGS-SUMMARY; + } + leaf clients { + type uint32; + description + "Total number of clients"; + } + } + + grouping IPV6-DHCPV6D-BASE-BINDING { + description + "DHCPV6 base binding entry"; + leaf mac-address { + type string; + description + "DHCPV6 client MAC address"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCPV6 client/subscriber VRF name"; + } + leaf server-vrf-name { + type string { + length "0..33"; + } + description + "DHCPV6 server VRF name"; + } + leaf ipv6-address { + type Ipv6-address; + description + "DHCPV6 IPv6 address"; + } + leaf server-ipv6-address { + type Ipv6-address; + description + "DHCPV6 server IPv6 address"; + } + leaf reply-server-ipv6-address { + type Ipv6-address; + description + "DHCPV6 reply server IPv6 address"; + } + leaf lease-time { + type uint32; + units "second"; + description + "Lease time in seconds"; + } + leaf remaining-lease-time { + type uint32; + units "second"; + description + "Remaining lease time in seconds"; + } + leaf state { + type Bag-dhcpv6d-fsm-state; + description + "DHCPV6 client state"; + } + leaf interface-name { + type xr:Interface-name; + description + "DHCPV6 access interface to client"; + } + leaf access-vrf-name { + type string { + length "0..33"; + } + description + "DHCPV6 access interface VRF name"; + } + leaf base-binding-tags { + type uint8; + description + "DHCPV6 VLAN tag count"; + } + leaf base-binding-outer-tag { + type uint32; + description + "DHCPV6 VLAN Outer VLAN"; + } + leaf base-binding-inner-tag { + type uint32; + description + "DHCPV6 VLAN Inner VLAN"; + } + leaf profile-name { + type string { + length "0..64"; + } + description + "DHCPV6 profile name"; + } + leaf is-nak-next-renew { + type boolean; + description + "Is true if DHCPV6 next renew from client will be + NAK'd"; + } + leaf subscriber-label { + type uint32; + description + "DHCPV6 subscriber label"; + } + leaf old-subscriber-label { + type uint32; + description + "DHCPV6 old subscriber label"; + } + leaf rx-client-duid { + type string { + length "0..771"; + } + description + "DHCPV6 received client DUID"; + } + leaf tx-client-uid { + type string { + length "0..771"; + } + description + "DHCPV6 transmitted client DUID"; + } + leaf rx-remote-id { + type string { + length "0..771"; + } + description + "DHCPV6 received Remote ID"; + } + leaf tx-remote-id { + type string { + length "0..771"; + } + description + "DHCPV6 transmitted Remote ID"; + } + leaf rx-interface-id { + type string { + length "0..771"; + } + description + "DHCPV6 received Interface ID"; + } + leaf tx-interface-id { + type string { + length "0..771"; + } + description + "DHCPV6 transmitted Interface ID"; + } + } + + grouping IPV6-DHCPD-DATABASE { + description + "IPv6 DHCP database"; + leaf configured { + type boolean; + description + "Database feature configured"; + } + leaf version { + type uint32; + description + "Current file version"; + } + leaf full-file-write-interval { + type uint32; + units "minute"; + description + "Full file write interval in minutes"; + } + leaf last-full-write-file-name { + type string { + length "0..64"; + } + description + "Last full write file name"; + } + leaf last-full-write-time { + type uint32; + description + "Last full write time since epoch"; + } + leaf full-file-write-count { + type uint32; + description + "Full file write count"; + } + leaf failed-full-file-write-count { + type uint32; + description + "Failed full file write count"; + } + leaf full-file-record-count { + type uint32; + description + "Full file record count"; + } + leaf last-full-file-write-error-timestamp { + type uint32; + description + "Last full file write error timestamp since epoch"; + } + leaf incremental-file-write-interval { + type uint32; + units "minute"; + description + "Incremental file write interval in minutes"; + } + leaf last-incremental-write-file-name { + type string { + length "0..64"; + } + description + "Last incremental write file name"; + } + leaf last-incremental-write-time { + type uint32; + description + "Last incremental write time since epoch"; + } + leaf incremental-file-write-count { + type uint32; + description + "Incremental file write count"; + } + leaf failed-incremental-file-write-count { + type uint32; + description + "Failed incremental file write count"; + } + leaf incremental-file-record-count { + type uint32; + description + "Incremental file record count"; + } + leaf last-incremental-file-write-error-timestamp { + type uint32; + description + "Last incremental file write error timestamp + since epoch"; + } + } + + grouping BAG-DHCPV6D-PROXY-BINDINGS-SUMMARY { + description + "DHCPv6 proxy bindings summary for IANA/IAPD"; + leaf initializing-clients { + type uint32; + description + "Number of clients in init state"; + } + leaf dpm-waiting-clients { + type uint32; + description + "Number of clients waiting on DPM to validate + subscriber"; + } + leaf daps-waiting-clients { + type uint32; + description + "Number of clients waiting on DAPS to assign/free + prefix(ND)"; + } + leaf msg-waiting-clients { + type uint32; + description + "Number of clients waiting for a message from the + client/server"; + } + leaf iedge-waiting-clients { + type uint32; + description + "Number of clients waiting on iedge to subscriber + session"; + } + leaf rib-waiting-clients { + type uint32; + description + "Number of clients in waiting on RIB response"; + } + leaf bound-clients { + type uint32; + description + "Number of clients in bound state"; + } + } + + grouping IPV6-DHCPV6D-PROXY-BINDINGS-SUMMARY { + description + "DHCPv6 proxy bindings summary"; + container iana { + description + "IANA proxy binding summary"; + uses BAG-DHCPV6D-PROXY-BINDINGS-SUMMARY; + } + container iapd { + description + "IAPD proxy binding summary"; + uses BAG-DHCPV6D-PROXY-BINDINGS-SUMMARY; + } + leaf clients { + type uint32; + description + "Total number of clients"; + } + } + + grouping BAG-DHCPV6D-ADDR-ATTRB { + description + "BAG DHCPV6D ADDR ATTRB"; + list bag-dhcpv6d-addr-attrb { + description + "bag dhcpv6d addr attrb"; + leaf prefix { + type inet:ipv6-address; + description + "IPv6 prefix"; + } + leaf prefix-length { + type uint8; + description + "Prefix length"; + } + leaf lease-time { + type uint32; + units "second"; + description + "Lease time in seconds"; + } + leaf remaining-lease-time { + type uint32; + units "second"; + description + "Remaining lease time in seconds"; + } + } + } + + grouping BAG-DHCPV6D-IA-ID-PD-INFO { + description + "BAG DHCPV6D IA ID PD INFO"; + list bag-dhcpv6d-ia-id-pd-info { + description + "bag dhcpv6d ia id pd info"; + container addresses { + description + "List of addresses in this IA"; + uses BAG-DHCPV6D-ADDR-ATTRB; + } + leaf ia-type { + type Bag-dhcpv6d-ia-id; + description + "IA type"; + } + leaf ia-id { + type uint32; + description + "IA_ID of this IA"; + } + leaf flags { + type uint32; + description + "FSM Flag for this IA"; + } + leaf total-address { + type uint16; + description + "Total address in this IA"; + } + leaf state { + type Bag-dhcpv6d-fsm-state; + description + "State"; + } + } + } + + grouping IPV6-DHCPV6D-PROXY-BINDING { + description + "DHCPv6 proxy binding entry"; + container ia-id-pd { + description + "List of DHCPv6 IA_ID/PDs"; + uses BAG-DHCPV6D-IA-ID-PD-INFO; + } + leaf duid { + type string; + description + "Client DUID"; + } + leaf client-flag { + type uint32; + description + "DHCPV6 client flag"; + } + leaf subscriber-label { + type uint32; + description + "DHCPV6 subscriber label"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCPVV6 client/subscriber VRF name"; + } + leaf mac-address { + type string; + description + "Client MAC address"; + } + leaf ia-id-p-ds { + type uint32; + description + "Number of ia_id/pd"; + } + leaf interface-name { + type xr:Interface-name; + description + "DHCPV6 access interface to client"; + } + leaf access-vrf-name { + type string { + length "0..33"; + } + description + "DHCPV6 access VRF name to client"; + } + leaf proxy-binding-tags { + type uint8; + description + "DHCPV6 VLAN tag count"; + } + leaf proxy-binding-outer-tag { + type uint32; + description + "DHCPV6 VLAN Outer VLAN"; + } + leaf proxy-binding-inner-tag { + type uint32; + description + "DHCPV6 VLAN Inner VLAN"; + } + leaf class-name { + type string { + length "0..64"; + } + description + "DHCPV6 class name"; + } + leaf pool-name { + type string { + length "0..64"; + } + description + "DHCPV6 pool name"; + } + leaf rx-remote-id { + type string { + length "0..771"; + } + description + "DHCPV6 received Remote ID"; + } + leaf tx-remote-id { + type string { + length "0..771"; + } + description + "DHCPV6 transmitted Remote ID"; + } + leaf rx-interface-id { + type string { + length "0..771"; + } + description + "DHCPV6 received Interface ID"; + } + leaf tx-interface-id { + type string { + length "0..771"; + } + description + "DHCPV6 transmitted Interface ID"; + } + leaf server-ipv6-address { + type Ipv6-address; + description + "DHCPV6 server IPv6 address"; + } + leaf profile-name { + type string { + length "0..65"; + } + description + "DHCPV6 profile name"; + } + leaf selected-profile-name { + type string { + length "0..65"; + } + description + "DHCPV6 selected profile name"; + } + leaf framed-ipv6-prefix { + type Ipv6-address; + description + "DHCPV6 framed ipv6 addess used by ND"; + } + leaf framed-prefix-length { + type uint8; + description + "DHCPV6 framed ipv6 prefix length used by ND"; + } + leaf is-nak-next-renew { + type boolean; + description + "Is true if DHCP next renew from client will be + NAK'd"; + } + leaf srg-state { + type uint32; + description + "DHCPV6 SRG state"; + } + leaf srg-intf-role { + type uint32; + description + "DHCPV6 SRG Intf Role"; + } + leaf srgp2p { + type boolean; + description + "SRG P2P Status"; + } + leaf srg-vrf-name { + type string { + length "0..33"; + } + description + "DHCPV6 SRG VRF NAME"; + } + leaf srg-group-id { + type uint16; + description + "srg group id"; + } + leaf serg-state { + type uint32; + description + "DHCPV6 SERG state"; + } + leaf serg-intf-role { + type uint32; + description + "DHCPV6 SERG Intf Role"; + } + } + + grouping IPV6-DHCPV6D-VRF-INTF-STATS { + description + "DHCPv6 interface statistics"; + container packet-info { + description + "Packet Information"; + uses IPV6-DHCPV6D-TYPE; + } + leaf vrf-name-xr { + type string { + length "0..33"; + } + description + "DHCPv6 L3 VRF name"; + } + leaf interface-name-xr { + type string { + length "0..81"; + } + description + "DHCPv6 L3 Interface name"; + } + } + + grouping IPV6-DHCPV6D-PROXY-STATS { + description + "DHCPv6 proxy statistics"; + list ipv6-dhcpv6d-proxy-stat { + description + "ipv6 dhcpv6d proxy stat"; + container statistics { + description + "Proxy statistics"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "DHCPv6 L3 VRF name"; + } + } + } + + grouping IPV6-DHCPV6D-PROXY-INTERFACE { + description + "DHCPv6 proxy interface"; + leaf proxy-vrf-name { + type string { + length "0..33"; + } + description + "VRF name"; + } + leaf proxy-interface-mode { + type Bag-dhcpv6d-sub-mode; + description + "Mode of interface"; + } + leaf is-proxy-interface-ambiguous { + type uint32; + description + "Is interface ambiguous"; + } + leaf proxy-interface-profile-name { + type string { + length "0..65"; + } + description + "Name of profile attached to the interface"; + } + leaf proxy-interface-lease-limit-type { + type Lease-limit; + description + "Lease limit type on interface"; + } + leaf proxy-interface-lease-limits { + type uint32; + description + "Lease limit count on interface"; + } + leaf srg-role { + type Bag-dhcpv6d-intf-srg-role; + description + "DHCPv6 Interface SRG role"; + } + leaf serg-role { + type Bag-dhcpv6d-intf-serg-role; + description + "DHCPv6 Interface SERG role"; + } + leaf mac-throttle { + type boolean; + description + "Mac Throttle Status"; + } + leaf srg-vrf-name { + type string { + length "0..33"; + } + description + "SRG VRF name"; + } + leaf srgp2p { + type boolean; + description + "SRG P2P Status"; + } + } + + grouping IPV6-DHCPV6D-DISC-HISTORY { + description + "DHCP IPv6 disconnect history entry"; + leaf session-start-time-epoch { + type uint64; + description + "session start time epoch"; + } + leaf session-end-time-epoch { + type uint64; + description + "session end time epoch"; + } + leaf disc-reason { + type string { + length "0..256"; + } + description + "DiscReason"; + } + leaf sub-label { + type uint32; + description + "sub label"; + } + leaf duid { + type string { + length "0..131"; + } + description + "Client DUID"; + } + leaf ia-type { + type string { + length "0..6"; + } + description + "IAType"; + } + leaf ia-id { + type uint32; + description + "ia id"; + } + leaf mac-address { + type string { + length "0..17"; + } + description + "MACAddress"; + } + } + + grouping IPV6-DHCPV6D-PROXY-INTERFACE-REFERENCE { + description + "DHCPv6 proxy profile reference"; + list ipv6-dhcpv6d-proxy-interface-reference { + description + "ipv6 dhcpv6d proxy interface reference"; + leaf proxy-reference-interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + } + } + + grouping IPV6-DHCPV6D-PROXY-VRF-REFERENCE { + description + "DHCPv6 proxy profile reference"; + list ipv6-dhcpv6d-proxy-vrf-reference { + description + "ipv6 dhcpv6d proxy vrf reference"; + leaf proxy-reference-vrf-name { + type string { + length "0..33"; + } + description + "VRF name"; + } + } + } + + grouping IPV6-DHCPV6D-PROXY-IID-REFERENCE { + description + "DHCPv6 proxy profile iid reference"; + list ipv6-dhcpv6d-proxy-iid-reference { + description + "ipv6 dhcpv6d proxy iid reference"; + leaf proxy-iid-interface-name { + type string { + length "0..81"; + } + description + "Interface name for interface id"; + } + leaf proxy-interface-id { + type string { + length "0..257"; + } + description + "Interface id"; + } + } + } + + grouping IPV6-DHCPV6D-PROXY-PROFILE { + description + "DHCPv6 proxy profile parameters"; + container interface-id-references { + description + "Interface id references"; + uses IPV6-DHCPV6D-PROXY-IID-REFERENCE; + } + container vrf-references { + description + "VRF references"; + uses IPV6-DHCPV6D-PROXY-VRF-REFERENCE; + } + container interface-references { + description + "Interface references"; + uses IPV6-DHCPV6D-PROXY-INTERFACE-REFERENCE; + } + leaf profile-name { + type string { + length "0..65"; + } + description + "Proxy profile name"; + } + leaf remote-id { + type string { + length "0..257"; + } + description + "Remote id"; + } + leaf profile-link-address { + type Ipv6-address; + description + "Link address"; + } + leaf proxy-profile-linkaddress-from-ra-enable { + type boolean; + description + "LinkAddress From RA mesage"; + } + leaf-list profile-helper-address { + type Ipv6-address; + max-elements "8"; + description + "Helper addresses"; + } + leaf-list vrf-name { + type String-vrf; + max-elements "8"; + description + "VRF names"; + } + leaf-list interface-name { + type String-ifname; + max-elements "8"; + description + "Interface names"; + } + } + + grouping IPV6-DHCPV6D-PROXY-PROFILE-CLASS { + description + "DHCPv6 proxy profile class parameters"; + leaf class-name-xr { + type string { + length "0..65"; + } + description + "Class name"; + } + leaf-list profile-helper-address { + type Ipv6-address; + max-elements "8"; + description + "Helper addresses"; + } + leaf-list vrf-name { + type String-vrf; + max-elements "8"; + description + "VRF names"; + } + } + + grouping IPV6-DHCPV6D-MAC-THROTTLE { + description + "IPv6 DHCP Mac Throttle"; + leaf binding-chaddr { + type yang:hex-string; + description + "Client MAC address"; + } + leaf ifname { + type string { + length "0..81"; + } + description + "DHCP access interface"; + } + leaf state { + type uint32; + description + "State of entry"; + } + leaf time-left { + type uint32; + units "second"; + description + "Time Left in secs"; + } + } + + grouping IPV6-DHCPV6D-FILTERED-STATS { + description + "DHCPv6 filtered statistics"; + leaf received-packets { + type uint64; + description + "Received packets"; + } + leaf transmitted-packets { + type uint64; + description + "Transmitted packets"; + } + leaf dropped-packets { + type uint64; + description + "Dropped packets"; + } + } + + grouping IPV6-DHCPV6D-TYPE { + description + "DHCPv6 packets"; + container solicit { + description + "DHCPV6 solicit packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container advertise { + description + "DHCPV6 advertise packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container request { + description + "DHCPV6 request packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container reply { + description + "DHCPV6 reply packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container confirm { + description + "DHCPV6 confirm packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container decline { + description + "DHCPV6 decline packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container renew { + description + "DHCPV6 renew packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container rebind { + description + "DHCPV6 rebind packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container release { + description + "DHCPV6 release packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container reconfig { + description + "DHCPV6 reconfig packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container inform { + description + "DHCPV6 inform packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container relay-forward { + description + "DHCPV6 relay forward packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container relay-reply { + description + "DHCPV6 relay reply packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container lease-query { + description + "DHCPV6 lease query packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container lease-query-reply { + description + "DHCPV6 lease query reply packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container lease-query-done { + description + "DHCPV6 lease query done packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + container lease-query-data { + description + "DHCPV6 lease query data packets"; + uses IPV6-DHCPV6D-FILTERED-STATS; + } + } + + grouping IPV6-DHCPD-ISSU-STATUS { + description + "ISSU Data"; + leaf process-start-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the process start time in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf issu-sync-complete-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU sync complete in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf issu-sync-start-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU sync start in nanoseconds + since Epoch, i.e. since 00:00:00 UTC, January 1, + 1970"; + } + leaf issu-ready-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the ISSU ready declaration in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf big-bang-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the Big Bang notification time in + nanoseconds since Epoch, i.e. since 00:00:00 UTC + , January 1, 1970"; + } + leaf primary-role-time { + type uint64; + units "nanosecond"; + description + "Timestamp for the change to Primary role + notification time in nanoseconds since Epoch, i + .e. since 00:00:00 UTC, January 1, 1970"; + } + leaf issu-ready-issu-mgr-connection { + type boolean; + description + "Whether or not DHCP is currently connected to + ISSU Manager during the ISSU Load Phase"; + } + leaf role { + type Dhcpv6-issu-role; + description + "The current role of the DHCP process"; + } + leaf phase { + type Dhcp-issu-phase; + description + "The current ISSU phase of the DHCP process"; + } + leaf version { + type Dhcpv6-issu-version; + description + "The current version of the DHCP process in the + context of an ISSU"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper.yang new file mode 100644 index 000000000..a3819579d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper.yang @@ -0,0 +1,534 @@ +module Cisco-IOS-XR-ipv6-new-dhcpv6d-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper"; + prefix ipv6-new-dhcpv6d-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1 { + revision-date 2022-04-06; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-new-dhcpv6d package operational data. + + This module contains definitions + for the following management objects: + dhcpv6: IPV6 DHCPD operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-06 { + description + "taking out statistics data under relay node as it is not supported since day-1"; + semver:module-version "4.0.0"; + } + revision 2021-09-14 { + description + "Fixed GET-OPER to display interface name in standard format."; + semver:module-version "3.0.0"; + } + revision 2021-03-19 { + description + "Added support for dynamic relay MAC address handling. + 2020-12-20 + Added Yang Support for ADT,to retrive statistcs with help of vrf/interface. + 2020-09-30 + Modified to accommodate cdm changes + 2020-09-29 + Added support to track server that allocated IP for DHCPv6 relay client."; + semver:module-version "2.1.0"; + } + revision 2019-12-18 { + description + "Added IPv6 ND support"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2018-10-09 { + description + "Added dhcpv6 server disconnect-history class"; + } + revision 2018-09-17 { + description + "Added dhcpv6 proxy disconnect-history class"; + } + revision 2017-12-06 { + description + "Added proxy class and server class oper for class and server profile"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container dhcpv6 { + config false; + description + "IPV6 DHCPD operational data"; + container issu-status { + description + "DHCP IssuStatus"; + uses IPV6-DHCPD-ISSU-STATUS; + } + container nodes { + description + "IPv6 DHCP list of nodes"; + list node { + key "node-name"; + description + "IPv6 DHCP particular node name"; + container proxy { + description + "IPv6 DHCP proxy operational data"; + container vrfs { + description + "DHCPV6 proxy list of VRF names"; + list vrf { + key "vrf-name"; + description + "IPv6 DHCP proxy VRF name"; + container statistics { + description + "IPv6 DHCP proxy statistics"; + uses IPV6-DHCPV6D-TYPE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container profiles { + description + "IPv6 DHCP proxy profile"; + list profile { + key "profile-name"; + description + "IPv6 DHCP proxy profile"; + container throttle-infos { + description + "DHCPV6 throttle table"; + list throttle-info { + key "mac-address"; + description + "IPv6 DHCP proxy profile Throttle Info"; + leaf mac-address { + type xr:Cisco-ios-xr-string; + description + "MAC address"; + } + uses IPV6-DHCPV6D-MAC-THROTTLE; + } + } + container proxy-classes { + description + "IPv6 DHCP proxy class table"; + list proxy-class { + key "class-name"; + description + "IPv6 DHCP proxy class profile"; + leaf class-name { + type xr:Cisco-ios-xr-string; + description + "Class name"; + } + uses IPV6-DHCPV6D-PROXY-PROFILE-CLASS; + } + } + container info { + description + "IPv6 DHCP proxy profile Info"; + uses IPV6-DHCPV6D-PROXY-PROFILE; + } + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + } + } + container disconnect-histories { + description + "DHCPv6 proxy disconnect history"; + list disconnect-history { + key "index"; + description + "Single DHCPv6 proxy disconnect history"; + leaf index { + type xr:Cisco-ios-xr-string; + description + "Index"; + } + uses IPV6-DHCPV6D-DISC-HISTORY; + } + } + container interfaces { + description + "DHCPV6 proxy interface"; + list interface { + key "interface-name"; + description + "IPv6 DHCP proxy interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV6-DHCPV6D-PROXY-INTERFACE; + } + } + container statistics { + description + "DHCPv6 proxy statistics"; + uses IPV6-DHCPV6D-PROXY-STATS; + } + container stats { + description + "IPv6 DHCP proxy stats"; + list stat { + description + "Proxy statistics for vrf/interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "L3 VRF Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "L3 Interface Name"; + } + uses IPV6-DHCPV6D-VRF-INTF-STATS; + } + } + container binding { + description + "DHCPV6 proxy bindings"; + container clients { + description + "DHCPV6 proxy client bindings"; + list client { + key "client-id"; + description + "Single DHCPV6 proxy binding"; + leaf client-id { + type xr:Cisco-ios-xr-string; + description + "Client ID"; + } + uses IPV6-DHCPV6D-PROXY-BINDING; + } + } + container summary { + description + "DHCPV6 proxy binding summary"; + uses IPV6-DHCPV6D-PROXY-BINDINGS-SUMMARY; + } + } + } + container base { + description + "IPv6 DHCP Base"; + container database { + description + "DHCP database"; + uses IPV6-DHCPD-DATABASE; + } + container addr-bindings { + description + "IPv6 DHCP Base Binding"; + list addr-binding { + key "addr-string"; + description + "DHCPv6 base stats debug"; + leaf addr-string { + type xr:Cisco-ios-xr-string; + description + "Address String"; + } + uses IPV6-DHCPV6D-BASE-BINDING; + } + } + container stats { + description + "IPv6 DHCP base stats"; + list stat { + description + "Base statistics for vrf/interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "L3 VRF Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "L3 Interface Name"; + } + uses IPV6-DHCPV6D-VRF-INTF-STATS; + } + } + } + container server { + description + "IPv6 DHCP server operational data"; + container disconnect-histories { + description + "DHCPv6 server disconnect history"; + list disconnect-history { + key "index"; + description + "Single DHCPv6 server disconnect history"; + leaf index { + type xr:Cisco-ios-xr-string; + description + "Index"; + } + uses IPV6-DHCPV6D-DISC-HISTORY; + } + } + container binding { + description + "DHCPV6 server bindings"; + container summary { + description + "DHCPV6 server binding summary"; + uses IPV6-DHCPV6D-SERVER-BINDINGS-SUMMARY; + } + container clients { + description + "DHCPV6 server client bindings"; + list client { + key "client-id"; + description + "Single DHCPV6 server binding"; + leaf client-id { + type xr:Cisco-ios-xr-string; + description + "Client ID"; + } + uses IPV6-DHCPV6D-SERVER-BINDING; + } + } + } + container vrfs { + description + "DHCPV6 server list of VRF names"; + list vrf { + key "vrf-name"; + description + "IPv6 DHCP server VRF name"; + container statistics { + description + "IPv6 DHCP server statistics"; + uses IPV6-DHCPV6D-TYPE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + container profiles { + description + "IPv6 DHCP server profile"; + list profile { + key "profile-name"; + description + "IPv6 DHCP server profile"; + container info { + description + "IPv6 DHCP server profile Info"; + uses IPV6-DHCPV6D-SERVER-PROFILE; + } + container throttle-infos { + description + "DHCPV6 throttle table"; + list throttle-info { + key "mac-address"; + description + "IPv6 DHCP server profile Throttle Info"; + leaf mac-address { + type xr:Cisco-ios-xr-string; + description + "MAC address"; + } + uses IPV6-DHCPV6D-MAC-THROTTLE; + } + } + container server-classes { + description + "IPv6 DHCP server class table"; + list server-class { + key "class-name"; + description + "IPv6 DHCP server class profile"; + leaf class-name { + type xr:Cisco-ios-xr-string; + description + "Class name"; + } + uses IPV6-DHCPV6D-SERVER-PROFILE-CLASS; + } + } + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + } + } + container interfaces { + description + "DHCPV6 server interface"; + list interface { + key "interface-name"; + description + "IPv6 DHCP server interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV6-DHCPV6D-SERVER-INTERFACE; + } + } + container stats { + description + "IPv6 DHCP server stats"; + list stat { + description + "Server statistics for vrf/interface"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "L3 VRF Name"; + } + leaf interface-name { + type xr:Interface-name; + description + "L3 Interface Name"; + } + uses IPV6-DHCPV6D-VRF-INTF-STATS; + } + } + container statistics { + description + "DHCPv6 server statistics"; + uses IPV6-DHCPV6D-SERVER-STATS; + } + container binding-options { + description + "DHCPv6 server binding with options"; + container mac-bind-options { + description + "DHCPv6 server binding from MAC address"; + list mac-bind-option { + key "mac-address"; + description + "DHCPv6 server binding with options"; + leaf mac-address { + type xr:Cisco-ios-xr-string; + description + "MAC address"; + } + uses IPV6-DHCPV6D-SERVER-BINDING-OPTIONS; + } + } + container duid-bind-options { + description + "DHCPv6 server binding from DUID"; + list duid-bind-option { + key "duid"; + description + "DHCPv6 server binding with options"; + leaf duid { + type xr:Cisco-ios-xr-string; + description + "DUID of Binding"; + } + uses IPV6-DHCPV6D-SERVER-BINDING-OPTIONS; + } + } + } + } + container relay { + description + "IPv6 DHCP relay operational data"; + container binding { + description + "DHCPV6 relay bindings"; + container summary { + description + "DHCPV6 relay binding summary"; + uses IPV6-DHCPV6D-RELAY-BINDINGS-SUMMARY; + } + container clients { + description + "DHCPV6 relay client bindings"; + list client { + key "client-id"; + description + "Single DHCPV6 relay binding"; + leaf client-id { + type xr:Cisco-ios-xr-string; + description + "Client ID"; + } + uses IPV6-DHCPV6D-RELAY-ROUTE-BINDING; + } + } + } + container vrfs { + description + "DHCPV6 relay list of VRF names"; + list vrf { + key "vrf-name"; + description + "IPv6 DHCP relay VRF name"; + container statistics { + description + "IPv6 DHCP relay statistics"; + uses IPV6-DHCPV6D-TYPE; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-act.yang new file mode 100644 index 000000000..1f0179c93 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-act.yang @@ -0,0 +1,265 @@ +module Cisco-IOS-XR-ipv6-ospfv3-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-act"; + prefix ospfv3-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR IPv6 OSPFv3 action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-13 { + description + "Added xr-task name ospf to restrict unlimited permission"; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-09-14 { + description + "IOS XR 6.2.1 revision."; + } + + grouping OSPFv3-STAT-ATTRIBUTES { + description + "OSPFv3 Stat Attributes"; + leaf process { + type empty; + description + "Reset OSPFv3 process"; + } + leaf redistribution { + type empty; + description + "Clear OSPFv3 route redistrbution"; + } + leaf route { + type empty; + description + "Clear OSPFv3 route table"; + } + container stats { + description + "OSPFv3 counters and statistics"; + leaf spf { + type empty; + description + "SPF statistics"; + } + leaf prefix-priority { + type empty; + description + "SPF Prefix Priority statistics"; + } + container neighbor { + description + "Neighbor statistics per interface or neighbor id"; + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + container interface { + description + "Interface"; + leaf interface-name { + type xr:Interface-name; + description + "OSPFv3 interface statistics"; + } + } + } + } + } + + rpc clear-ospfv3-routes { + description + "Clear OSPFv3 route table"; + input { + container instance { + description + "Clear data from OSPFv3 instance"; + leaf instance-identifier { + type string; + description + "OSPFv3 process instance identifier"; + } + } + leaf route { + type empty; + mandatory true; + description + "Clear OSPFv3 route table"; + } + } + } + rpc clear-ospfv3-redistribution { + description + "Clear OSPFv3 route redistribution"; + input { + container instance { + description + "Clear data from OSPFv3 instance"; + leaf instance-identifier { + type string; + description + "OSPFv3 process instance identifier"; + } + } + leaf redistribution { + type empty; + mandatory true; + description + "Clear OSPFv3 route redistribution"; + } + } + } + rpc clear-ospfv3-process { + description + "Clear (reset) OSPFv3 Process"; + input { + container instance { + description + "Clear data from OSPFv3 instance"; + leaf instance-identifier { + type string; + description + "OSPFv3 process instance identifier"; + } + } + leaf process { + type empty; + mandatory true; + description + "Reset OSPFv3 process"; + } + } + } + rpc clear-ospfv3-statistics-neighbor { + description + "Clear OSPFv3 neighbor statistics per interface or neighbor id"; + input { + container instance { + description + "Clear data from OSPFv3 instance"; + leaf instance-identifier { + type string; + description + "OSPFv3 process instance identifier"; + } + } + container neighbor { + description + "Neighbor"; + leaf neighbor-id { + type inet:ipv4-address; + description + "Neighbor ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + rpc clear-ospfv3-statistics { + description + "Clear OSPFv3 counters and statistics"; + input { + container instance { + description + "Clear data from OSPFv3 instance"; + leaf instance-identifier { + type string; + description + "OSPFv3 process instance identifier"; + } + } + leaf prefix-priority { + type empty; + description + "All OSPFv3 counters and statistics"; + } + leaf spf { + type empty; + description + "SPF statistics"; + } + leaf neighbor { + type empty; + description + "Neighbor statistics per neighbor id"; + } + } + } + rpc clear-ospfv3-instance-vrf { + description + "Clear one or more non-default OSPFv3 VRFs in process"; + input { + container instance { + description + "OSPFv3 instance name"; + leaf instance-identifier { + type string; + mandatory true; + description + "OSPFv3 process instance identifier"; + } + container vrf { + description + "Clear one or more non-default OSPFv3 VRFs in process"; + leaf vrf-name { + type string; + mandatory true; + description + "OSPFv3 VRF name"; + } + uses OSPFv3-STAT-ATTRIBUTES; + } + container all { + description + "Clear all non-default OSPFv3 VRFs"; + uses OSPFv3-STAT-ATTRIBUTES; + } + container all-inclusive { + description + "Clear all non-default and default OSPFv3 VRFs"; + uses OSPFv3-STAT-ATTRIBUTES; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-cfg.yang new file mode 100644 index 000000000..4594e265a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-cfg.yang @@ -0,0 +1,3235 @@ +module Cisco-IOS-XR-ipv6-ospfv3-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-cfg"; + prefix ipv6-ospfv3-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-ospfv3 package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-ospfv3-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + ospfv3: OSPFv3 configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-14 { + description + "Added CLI to disable LLS capability at instance level"; + semver:module-version "2.1.0"; + } + revision 2020-04-28 { + description + "Modified range for first half of AS number in asdot X.Y format"; + semver:module-version "2.0.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers. + 2019-05-12 + Deprecated the native model, replaced by UM model."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-05-14 { + description + "removed enable leaf nodes that are implicitly set with CLI"; + } + revision 2018-01-15 { + description + "Added naming-union to create sublist for distribute-out."; + } + revision 2017-11-05 { + description + "Corrected boolean values in when statements."; + } + revision 2017-11-01 { + description + "Removed external and summary LSA from rbit and v6bit container."; + } + revision 2017-07-14 { + description + "Trace buffer size enum name modified for intelligible."; + } + revision 2017-06-09 { + description + "Datatype modified to Range for area id, route tag and redistribute tag."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ospfv3-protocol { + type enumeration { + enum "all" { + value 0; + description + "All"; + } + enum "connected" { + value 1; + description + "Connected"; + } + enum "static" { + value 3; + description + "Static"; + } + enum "bgp" { + value 4; + description + "BGP"; + } + enum "isis" { + value 6; + description + "ISIS"; + } + enum "ospfv3" { + value 7; + description + "OSPFv3"; + } + enum "eigrp" { + value 8; + description + "EIGRP"; + } + } + description + "Ospfv3 protocol"; + } + + typedef Ospfv3-fast-reroute-tiebreakers { + type enumeration { + enum "downstream" { + value 0; + description + "Downstream"; + } + enum "line-card-disjoint" { + value 1; + description + "LC Disjoint"; + } + enum "lowest-metric" { + value 2; + description + "Lowest metric"; + } + enum "node-protect" { + value 3; + description + "Node protection"; + } + enum "primary-path" { + value 4; + description + "Primary path"; + } + enum "secondary-path" { + value 5; + description + "Secondar path"; + } + enum "srlg-disjoint" { + value 6; + description + "SRLG"; + } + } + description + "Ospfv3 fast reroute tiebreakers"; + } + + typedef Ospfv3isis-route { + type enumeration { + enum "level1" { + value 64; + description + "IS-IS level-1 routes"; + } + enum "level2" { + value 128; + description + "IS-IS level-2 routes"; + } + enum "level1-and2" { + value 192; + description + "IS-IS level-1 and level-2 routes"; + } + } + description + "Ospfv3isis route"; + } + + typedef Ospfv3bfd-enable-mode { + type enumeration { + enum "disable" { + value 0; + description + "Disable Mode - Prevent inheritance"; + } + enum "default" { + value 1; + description + "Default Mode - Default BFD behavior"; + } + enum "strict" { + value 2; + description + "Strict Mode - Hold down adj until BFD sesion up"; + } + } + description + "Ospfv3bfd enable mode"; + } + + typedef Ospfv3-log-adj { + type enumeration { + enum "suppress" { + value 0; + description + "No output"; + } + enum "brief" { + value 1; + description + "Limited output"; + } + enum "detail" { + value 2; + description + "Verbose output"; + } + } + description + "Ospfv3 log adj"; + } + + typedef Ospfv3-protocol-type2 { + type enumeration { + enum "connected" { + value 1; + description + "Connected"; + } + enum "static" { + value 3; + description + "Static"; + } + enum "bgp" { + value 4; + description + "BGP"; + } + enum "isis" { + value 6; + description + "ISIS"; + } + enum "ospfv3" { + value 7; + description + "OSPFv3"; + } + enum "eigrp" { + value 8; + description + "EIGRP"; + } + enum "subscriber" { + value 9; + description + "Subscriber"; + } + enum "application" { + value 10; + description + "Application"; + } + enum "mobile" { + value 11; + description + "Mobile"; + } + } + description + "Ospfv3 protocol type2"; + } + + typedef Ospfv3-metric { + type enumeration { + enum "type1" { + value 1; + description + "OSPFv3 external type 1 metrics"; + } + enum "type2" { + value 2; + description + "OSPFv3 external type 2 metrics"; + } + } + description + "Ospfv3 metric"; + } + + typedef Ospfv3-trace-buf-size { + type enumeration { + enum "size0" { + value 0; + description + "Disable trace"; + } + enum "size256" { + value 256; + description + "trace buffer size 256"; + } + enum "size512" { + value 512; + description + "trace buffer size 512"; + } + enum "size1024" { + value 1024; + description + "trace buffer size 1024"; + } + enum "size2048" { + value 2048; + description + "trace buffer size 2048"; + } + enum "size4096" { + value 4096; + description + "trace buffer size 4096"; + } + enum "size8192" { + value 8192; + description + "trace buffer size 8192"; + } + enum "size16384" { + value 16384; + description + "trace buffer size 16384"; + } + enum "size32768" { + value 32768; + description + "trace buffer size 32768"; + } + enum "size65536" { + value 65536; + description + "trace buffer size 65536"; + } + } + description + "Ospfv3 trace buf size"; + } + + typedef Ospfv3-external-route { + type enumeration { + enum "external1" { + value 8; + description + "External type 1 routes"; + } + enum "external2" { + value 16; + description + "External type 2 routes"; + } + enum "external" { + value 24; + description + "External (type 1 and 2) routes"; + } + } + description + "Ospfv3 external route"; + } + + typedef Ospfv3-subsequent-address-family { + type enumeration { + enum "unicast" { + value 1; + description + "Unicast subsequent address family"; + } + } + description + "Ospfv3 subsequent address family"; + } + + typedef Ospfv3-internal-route { + type enumeration { + enum "internal" { + value 6; + description + "OSPFv3 internal routes"; + } + } + description + "Ospfv3 internal route"; + } + + typedef Ospfv3-fast-reroute { + type enumeration { + enum "none" { + value 0; + description + "Disable"; + } + enum "per-link" { + value 1; + description + "Per link"; + } + enum "per-prefix" { + value 2; + description + "Per prefix"; + } + } + description + "Ospfv3 fast reroute"; + } + + typedef Ospfv3-domain-id { + type enumeration { + enum "type0005" { + value 5; + description + "Type 0x0005"; + } + enum "type0105" { + value 261; + description + "Type 0x0105"; + } + enum "type0205" { + value 517; + description + "Type 0x0205"; + } + } + description + "Ospfv3 domain id"; + } + + typedef Ospfv3-authentication-type2 { + type enumeration { + enum "null" { + value 0; + description + "NULL authentication"; + } + enum "md5" { + value 1; + description + "MD5 algorithm"; + } + enum "sha1" { + value 2; + description + "SHA1 algorithm"; + } + } + description + "Ospfv3 authentication type2"; + } + + typedef Ospfv3-address-family { + type enumeration { + enum "ipv6" { + value 1; + description + "IPv6 address family"; + } + } + description + "Ospfv3 address family"; + } + + typedef Ospfv3-authentication { + type enumeration { + enum "md5" { + value 1; + description + "MD5 algorithm"; + } + enum "sha1" { + value 2; + description + "SHA1 algorithm"; + } + } + description + "Ospfv3 authentication"; + } + + typedef Ospfv3-encryption-algorithm { + type enumeration { + enum "null" { + value 0; + description + "Use NULL encryption"; + } + enum "des" { + value 1; + description + "Use the DES algorithm"; + } + enum "3des" { + value 2; + description + "Use the triple DES algorithm"; + } + enum "aes" { + value 3; + description + "Use the AES algorithm"; + } + enum "aes192" { + value 4; + description + "Use the 192-bit AES algorithm"; + } + enum "aes256" { + value 5; + description + "Use the 256-bit AES algorithm"; + } + } + description + "Ospfv3 encryption algorithm"; + } + + typedef Ospfv3nsr { + type enumeration { + enum "true" { + value 1; + description + "Enable non-stop routing"; + } + enum "false" { + value 2; + description + "Disable non-stop routing"; + } + } + description + "Ospfv3nsr"; + } + + typedef Ospfv3nssa-external-route { + type enumeration { + enum "external1" { + value 4096; + description + "NSSA external type 1 routes"; + } + enum "external2" { + value 8192; + description + "NSSA external type 2 routes"; + } + enum "external" { + value 12288; + description + "NSSA external (type 1 and 2) routes"; + } + } + description + "Ospfv3nssa external route"; + } + + typedef Ospfv3-eigrp-route { + type enumeration { + enum "internal" { + value 16384; + description + "EIGRP internal routes"; + } + enum "external" { + value 32768; + description + "EIGRP external routes"; + } + } + description + "Ospfv3 eigrp route"; + } + + typedef Ospfv3-fast-reroute-priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical"; + } + enum "high" { + value 1; + description + "High"; + } + enum "medium" { + value 2; + description + "Medium"; + } + enum "low" { + value 3; + description + "Low"; + } + } + description + "Ospfv3 fast reroute priority"; + } + + typedef Ospfv3-network { + type enumeration { + enum "broadcast" { + value 1; + description + "Broadcast multi-access network"; + } + enum "non-broadcast" { + value 2; + description + "Non-broadcast multi-access network"; + } + enum "point-to-point" { + value 3; + description + "Point-to-point network"; + } + enum "point-to-multipoint" { + value 4; + description + "Point-to-multipoint network"; + } + enum "non-broadcast-point-to-multipoint" { + value 5; + description + "Non-broadcast point-to-multipoint network"; + } + } + description + "Ospfv3 network"; + } + + grouping REDISTRIBUTE-TABLE { + description + "Common node of default-vrf, vrf"; + container redistributes { + description + "Redistribute information from another routing + protocol"; + list redistribute { + must "connected-or-static-or-subscriber-or-mobile or bgp or ospfv3-or-isis-or-application or eigrp" { + description + "Connected-or-Static-or-Subscriber-or-Mobile or + BGP or OSPFv3-or-ISIS-or-Application or EIGRP + must be present."; + } + key "protocol-name"; + description + "Redistribute information from another routing + protocol"; + + grouping REDISTRIBUTE-CONTENT { + description + "REDISTRIBUTE CONTENT"; + leaf internal-route-type { + type Ospfv3-internal-route; + description + "Redistribute OSPFv3 routes"; + } + leaf default-metric { + type uint32 { + range "0..16777214"; + } + description + "OSPFv3 default metric"; + } + leaf metric-type { + type Ospfv3-metric; + description + "OSPFv3 exterior metric type for redistributed + routes"; + } + leaf tag { + type uint32 { + range "0..4294967295"; + } + description + "Tag for routes redistributed into OSPFv3"; + } + leaf route-policy-name { + type string; + description + "Route policy to redistribution"; + } + leaf external-route-type { + type Ospfv3-external-route; + description + "Redistribute OSPFv3 external routes"; + } + leaf nssa-external-route-type { + type Ospfv3nssa-external-route; + description + "Redistribute OSPFv3 NSSA external routes"; + } + leaf redistribute-route { + type boolean; + description + "Redistribution of OSPFv3 routes"; + } + leaf isis-route-type { + type Ospfv3isis-route; + description + "ISIS route type"; + } + leaf eigrp-route-type { + type Ospfv3-eigrp-route; + description + "EIGRP route type"; + } + leaf preserve-med { + type boolean; + description + "Preserve (Multi-Exit Discriminator) of BGP + routes"; + } + leaf bgp-preserve-default-info { + type boolean; + description + "Preserve Metric and Metric Type ofBGP Default + Route"; + } + leaf use-rib-metric { + type boolean; + description + "Use metric from RIB for redistributed routes"; + } + } + container connected-or-static-or-subscriber-or-mobile { + when "../protocol-name = 'connected' or ../protocol-name = 'static' or ../protocol-name = 'subscriber' or ../protocol-name = 'mobile'" { + description + "../ProtocolName = Connected or . + ./ProtocolName = Static or ../ProtocolName = + Subscriber or ../ProtocolName = Mobile"; + } + presence "Indicates that this node is configured."; + description + "connected or static or subscriber or mobile"; + uses REDISTRIBUTE-CONTENT; + } + leaf protocol-name { + type Ospfv3-protocol-type2; + description + "Protocol"; + } + list bgp { + when "../protocol-name = 'bgp'" { + description + "../ProtocolName = BGP"; + } + key "as-xx as-yy"; + description + "bgp"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "4-byte AS number in asdot (X.Y) format - + first half (X)"; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "4-byte AS number in asdot (X.Y) format - + second half (Y), or 2-byte AS number, or + 4-byte AS number in asplain format"; + } + uses REDISTRIBUTE-CONTENT; + } + list ospfv3-or-isis-or-application { + when "../protocol-name = 'ospfv3' or ../protocol-name = 'isis' or ../protocol-name = 'application'" { + description + "../ProtocolName = OSPFv3 or ../ProtocolName + = ISIS or ../ProtocolName = Application"; + } + key "process-name"; + description + "ospfv3 or isis or application"; + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "ISIS process name if protocol is ISIS, or + OSPFv3 process name if protocol is OSPFv3"; + } + uses REDISTRIBUTE-CONTENT; + } + list eigrp { + when "../protocol-name = 'eigrp'" { + description + "../ProtocolName = EIGRP"; + } + key "as-xx"; + description + "eigrp"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "4-byte AS number in asdot (X.Y) format - + first half (X)"; + } + uses REDISTRIBUTE-CONTENT; + } + } + } + } + + grouping DISTANCE { + description + "Common node of default-vrf, vrf"; + container distance { + description + "Define an administrative distance"; + container ospfv3 { + description + "OSPFv3 administrative distance"; + leaf intra-area { + type uint32 { + range "1..255"; + } + description + "Distance for intra-area routes"; + } + leaf inter-area { + type uint32 { + range "1..255"; + } + description + "Distance for inter-area routes"; + } + leaf external { + type uint32 { + range "1..255"; + } + description + "Distance for external type 5 and type 7 routes"; + } + } + leaf administrative { + type uint32 { + range "1..255"; + } + description + "Define an administrative distance"; + } + } + } + + grouping DEMAND-CIRCUIT { + description + "Common node of default-vrf, vrf"; + leaf demand-circuit { + type boolean; + description + "Enable/disable demand circuit operation"; + } + } + + grouping ON-PROC-RESTART { + description + "Common node of rbit, v6bit, max-metric"; + leaf on-proc-restart { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time (in seconds) to stay in stub router + operational state"; + } + } + + grouping EXCLUDE-INTERFACE-TABLE { + description + "Common node of per-link, per-prefix"; + container exclude-interfaces { + description + "Fast-reroute per-link/per-prefix exclude + interface configuration"; + list exclude-interface { + key "interface-name"; + description + "Exclude an interface from becoming a backup"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + + grouping TRANSMIT-DELAY { + description + "Common node of default-vrf, vrf"; + leaf transmit-delay { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit delay in seconds"; + } + } + + grouping PASSIVE { + description + "Common node of default-vrf, vrf"; + leaf passive { + type boolean; + description + "Enable/disable routing updates on an interface"; + } + } + + grouping ALWAYS { + description + "Common node of rbit, v6bit, max-metric"; + leaf always { + type empty; + description + "Unconditionally enter stub router operational + state"; + } + } + + grouping AREA-TABLE { + description + "Common node of default-vrf, vrf"; + container area-addresses { + description + "Area configuration"; + + grouping AREA-CONTENT { + description + "AREA CONTENT"; + container authentication { + description + "Authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec AH authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf algorithm { + type Ospfv3-authentication; + description + "Use the MD5 or SHA1 algorithm"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + container bfd { + description + "Configure BFD parameters"; + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detect multiplier"; + } + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval in milli-seconds"; + } + leaf fast-detect-mode { + type Ospfv3bfd-enable-mode; + description + "Enable or disable BFD fast detection"; + } + } + container ranges { + description + "Range configuration"; + list range { + key "prefix prefix-length"; + description + "Summarize inter-area routes matching + prefix/length"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "IPv6 prefix format"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "IPV6 prefix length"; + } + leaf not-advertise { + type boolean; + default "false"; + description + "Do not advertise address range"; + } + leaf cost { + type uint32 { + range "1..16777214"; + } + description + "Specified metric for this range"; + } + } + } + container encryption { + description + "Encrypt and authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec ESP authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf encryption-algorithm { + type Ospfv3-encryption-algorithm; + description + "Specify the encryption algorithm"; + } + leaf encryption-password { + type xr:Proprietary-password; + description + "Encryption password"; + } + leaf authentication-algorithm { + type Ospfv3-authentication-type2; + description + "Use the NULL, MD5 or SHA1 algorithm"; + } + leaf authentication-password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + container nssa { + description + "Specify area as a NSSA area. Allowed only in + non-backbone areas"; + leaf no-redistribution { + type boolean; + default "false"; + description + "No redistribution into this NSSA area"; + } + leaf default-info-originate { + type boolean; + default "false"; + description + "Originate Type 7 default into NSSA area"; + } + leaf metric { + type uint32 { + range "0..16777214"; + } + description + "Only valid with DefaultInfoOriginate"; + } + leaf metric-type { + type Ospfv3-metric; + description + "Only valid with DefaultInfoOriginate"; + } + leaf no-summary { + type empty; + description + "Do not send summary LSA into NSSA"; + } + } + container database-filter { + description + "Database filter"; + container all { + description + "All"; + leaf out { + type boolean; + description + "Enable or disable database-filter"; + } + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + container in { + description + "Filter prefixes installed to RIB"; + leaf prefix-list { + type string; + description + "Filter prefixes based on an IPv6 prefix-list"; + } + } + } + container interfaces { + description + "OSPFv3 interfaces"; + list interface { + key "interface-name"; + description + "OSPFv3 interface"; + container authentication { + description + "Authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec AH authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf algorithm { + type Ospfv3-authentication; + description + "Use the MD5 or SHA1 algorithm"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "neighbor-address"; + description + "IPv6 address"; + leaf neighbor-address { + type xr:Cisco-ios-xr-string; + description + "IPV6 address"; + } + leaf priority { + type uint32 { + range "0..255"; + } + description + "OSPFv3 priority of non-broadcast neighbor"; + } + leaf poll-interval { + type uint32 { + range "0..65535"; + } + units "second"; + description + "OSPFv3 dead-router polling interval (in + seconds)"; + } + leaf cost { + type uint32 { + range "1..65535"; + } + description + "OSPFv3 cost for point-to-multipoint + neighbor"; + } + leaf database-filter { + type boolean; + description + "Filter OSPFv3 LSA during synchronization + and flooding for point-to-multipoint + neighbor"; + } + leaf zone { + type string; + description + "Zone"; + } + } + } + container encryption { + description + "Encrypt and authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec ESP authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf encryption-algorithm { + type Ospfv3-encryption-algorithm; + description + "Specify the encryption algorithm"; + } + leaf encryption-password { + type xr:Proprietary-password; + description + "Encryption password"; + } + leaf authentication-algorithm { + type Ospfv3-authentication-type2; + description + "Use the NULL, MD5 or SHA1 algorithm"; + } + leaf authentication-password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + container bfd { + description + "Configure BFD parameters"; + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval in milli-seconds"; + } + leaf fast-detect-mode { + type Ospfv3bfd-enable-mode; + description + "Enable or disable BFD fast detection"; + } + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detect multiplier"; + } + } + container database-filter { + description + "Database filter"; + container all { + description + "All"; + leaf out { + type boolean; + description + "Enable or disable database-filter"; + } + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + container in { + description + "Filter prefixes installed to RIB"; + leaf prefix-list { + type string; + description + "Filter prefixes based on an IPv6 + prefix-list"; + } + } + } + leaf enable { + type empty; + description + "Enable OSPFv3 interface"; + } + leaf dead-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval after which a neighbor is declared + dead (in seconds)"; + } + leaf advertise-prefix-policy { + type string; + description + "Route policy name for Conditionally + advertising this prefix"; + } + leaf flood-reduction { + type boolean; + description + "Enable/disable flood reduction"; + } + leaf cost { + type uint32 { + range "1..65535"; + } + description + "Interface cost"; + } + leaf transmit-delay { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit delay in seconds"; + } + leaf instance { + type uint32 { + range "0..255"; + } + description + "Instance ID"; + } + leaf ldp-sync { + type boolean; + description + "Enable/Disable MPLS LDP sync"; + } + leaf mtu-ignore { + type boolean; + description + "Enable/disable ignoring of MTU in DBD + packets"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit interval in seconds"; + } + leaf hello-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Time between HELLO packets"; + } + leaf passive { + type boolean; + description + "Enable/disable routing updates on an + interface"; + } + leaf packet-size { + type uint32 { + range "256..10000"; + } + description + "Limit size of OSPFv3 packets"; + } + leaf prefix-suppression { + type boolean; + description + "Enable/disable prefix suppression on an + interface"; + } + leaf priority { + type uint32 { + range "0..255"; + } + description + "Specify router priority"; + } + leaf network { + type Ospfv3-network; + description + "Specify network type"; + } + leaf demand-circuit { + type boolean; + description + "Enable/disable demand circuit operation"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface to configure"; + } + uses IPV6-OSPFV3-INTFOBJ-CFG-FAST-REROUTE; + } + } + container area-scope { + description + "Area Scope Configuration"; + uses IPV6-OSPFV3-INTFOBJ-CFG-FAST-REROUTE; + } + container sham-links { + description + "Sham Link sub-mode"; + list sham-link { + key "source-address destination-address"; + description + "ShamLink local and remote endpoints"; + container authentication { + description + "Authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec AH authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf algorithm { + type Ospfv3-authentication; + description + "Use the MD5 or SHA1 algorithm"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + container encryption { + description + "Encrypt and authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec ESP authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf encryption-algorithm { + type Ospfv3-encryption-algorithm; + description + "Specify the encryption algorithm"; + } + leaf encryption-password { + type xr:Proprietary-password; + description + "Encryption password"; + } + leaf authentication-algorithm { + type Ospfv3-authentication-type2; + description + "Use the NULL, MD5 or SHA1 algorithm"; + } + leaf authentication-password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + leaf enable { + type empty; + description + "Enable sham link"; + } + leaf hello-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval after which a neighbor is declared + dead (in seconds)"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit interval in seconds"; + } + leaf transmit-delay { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit delay in seconds"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Local sham-link endpoint"; + } + leaf destination-address { + type inet:ipv6-address-no-zone; + description + "Remote sham-link endpoint"; + } + } + } + container virtual-links { + description + "Virtual link sub-mode"; + list virtual-link { + key "virtual-link-address"; + description + "Router ID of virtual link neighbor"; + container authentication { + description + "Authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec AH authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf algorithm { + type Ospfv3-authentication; + description + "Use the MD5 or SHA1 algorithm"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + container encryption { + description + "Encrypt and authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec ESP authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf encryption-algorithm { + type Ospfv3-encryption-algorithm; + description + "Specify the encryption algorithm"; + } + leaf encryption-password { + type xr:Proprietary-password; + description + "Encryption password"; + } + leaf authentication-algorithm { + type Ospfv3-authentication-type2; + description + "Use the NULL, MD5 or SHA1 algorithm"; + } + leaf authentication-password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + leaf enable { + type empty; + description + "Enabled virtual link"; + } + leaf hello-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval after which a neighbor is declared + dead (in seconds)"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit interval in seconds"; + } + leaf transmit-delay { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit delay in seconds"; + } + leaf virtual-link-address { + type inet:ipv4-address-no-zone; + description + "Router ID of virtual link neighbor"; + } + } + } + leaf stub { + type boolean; + description + "Specify area as a stub area. Allowed only in + non-backbone areas"; + } + leaf packet-size { + type uint32 { + range "256..10000"; + } + description + "Limit size of OSPFv3 packets"; + } + leaf instance { + type uint32 { + range "0..255"; + } + description + "Instance ID"; + } + leaf demand-circuit { + type boolean; + description + "Enable/disable demand circuit operation"; + } + leaf priority { + type uint32 { + range "0..255"; + } + description + "Specify router priority"; + } + leaf type7-translate-always { + type boolean; + description + "Translate Type 7 to Type 5, even if not + elected NSSA translator"; + } + leaf prefix-suppression { + type boolean; + description + "Enable/disable prefix suppression on an + interface"; + } + leaf enable { + type empty; + description + "Enable OSPFv3 area"; + } + leaf mtu-ignore { + type boolean; + description + "Enable/disable ignoring of MTU in DBD packets"; + } + leaf passive { + type boolean; + description + "Enable/disable routing updates on an interface"; + } + leaf hello-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval after which a neighbor is declared + dead (in seconds)"; + } + leaf default-cost { + type uint32 { + range "0..16777215"; + } + description + "Set the summary default-cost of a NSSA/stub + area"; + } + leaf flood-reduction { + type boolean; + description + "Enable/disable flood reduction"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit interval in seconds"; + } + leaf ldp-sync { + type boolean; + description + "Enable/Disable MPLS LDP sync"; + } + leaf network { + type Ospfv3-network; + description + "Specify network type"; + } + leaf transmit-delay { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit delay in seconds"; + } + leaf cost { + type uint32 { + range "1..65535"; + } + description + "Interface cost"; + } + } + list area-address { + key "address"; + description + "Configuration for a particular area"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Area ID if in IP address format"; + } + uses AREA-CONTENT; + } + list area-area-id { + key "area-id"; + description + "Configuration for a particular area"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID if in integer format"; + } + uses AREA-CONTENT; + } + } + } + + grouping AUTO-COST { + description + "Common node of default-vrf, vrf"; + container auto-cost { + presence "enable auto-cost"; + description + "Calculate interface cost according to bandwidth"; + leaf disable { + type empty; + description + "Specify 'true' to assign cost based on + interface type"; + } + leaf reference-bandwidth { + type uint32 { + range "1..4294967"; + } + units "Mbit/s"; + description + "Specify reference bandwidth for cost + computations in terms of Mbits per second"; + } + } + } + + grouping TIMERS { + description + "Common node of default-vrf, vrf"; + container timers { + description + "Adjust routing timers"; + container pacing { + description + "Pacing timers"; + leaf flood { + type uint32 { + range "5..100"; + } + units "millisecond"; + description + "The minimum interval in milliseconds to pace + limit flooding on interface"; + } + leaf retransmission { + type uint32 { + range "5..100"; + } + description + "The minimum interval in msec between neighbor + retransmissions"; + } + leaf lsa-group { + type uint32 { + range "10..1800"; + } + units "second"; + description + "Interval in seconds at which LSAs are grouped + and refreshed, checksummed, or aged"; + } + } + container lsa-timers { + description + "LSA timers"; + leaf arrival { + type uint32 { + range "0..60000"; + } + units "millisecond"; + description + "The minimum interval in milliseconds between + accepting the same LSA"; + } + } + container throttle { + description + "Throttle timers"; + container lsa { + description + "LSA throttle timers for all types of OSPF LSAs"; + leaf first-delay { + type uint32 { + range "0..600000"; + } + units "millisecond"; + description + "Delay to generate first occurrence of LSA in + milliseconds"; + } + leaf minimum-delay { + type uint32 { + range "1..600000"; + } + units "millisecond"; + description + "Minimum delay between originating the same + LSA in milliseconds"; + } + leaf maximum-delay { + type uint32 { + range "1..600000"; + } + units "millisecond"; + description + "Maximum delay between originating the same + LSA in milliseconds"; + } + } + container spf { + description + "SPF throttle timers"; + leaf first-delay { + type uint32 { + range "1..600000"; + } + description + "Initial delay between receiving a change and + starting SPF in ms"; + } + leaf minimum-delay { + type uint32 { + range "1..600000"; + } + description + "Minimum hold time between consecutive SPF + calculations in ms"; + } + leaf maximum-delay { + type uint32 { + range "1..600000"; + } + description + "Maximum wait time between consecutive SPF + calculations in ms"; + } + } + } + } + } + + grouping LOG-ADJACENCY-CHANGES { + description + "Common node of default-vrf, vrf"; + leaf log-adjacency-changes { + type Ospfv3-log-adj; + description + "Log changes in adjacency state"; + } + } + + grouping ON-PROC-MIGRATION { + description + "Common node of rbit, v6bit, max-metric"; + leaf on-proc-migration { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time (in seconds) to stay in stub router + operational state"; + } + } + + grouping DEFAULT-INFORMATION { + description + "Common node of default-vrf, vrf"; + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + leaf always { + type boolean; + mandatory true; + description + "Always advertise default route"; + } + leaf metric { + type uint32 { + range "0..16777214"; + } + description + "OSPFv3 default metric"; + } + leaf metric-type { + type uint32 { + range "1..2"; + } + description + "OSPFv3 metric type for default routes"; + } + leaf tag { + type uint32 { + range "0..4294967295"; + } + description + "Tag for default route"; + } + leaf route-policy-name { + type string; + description + "Route policy to default-information + origination"; + } + } + } + } + + grouping STUB-ROUTER { + description + "Common node of default-vrf, vrf"; + container stub-router { + description + "Stub router configuration"; + container rbit { + presence "CLI submode compatibility."; + description + "Stub router R-bit configuration"; + uses ON-SWITCHOVER; + uses ALWAYS; + uses ON-STARTUP; + uses INCLUDE-STUB; + uses ON-PROC-MIGRATION; + uses ON-PROC-RESTART; + } + container v6bit { + presence "CLI submode compatibility."; + description + "Stub router V6-bit configuration"; + uses ON-SWITCHOVER; + uses ALWAYS; + uses ON-STARTUP; + uses ON-PROC-MIGRATION; + uses ON-PROC-RESTART; + } + container max-metric { + presence "CLI submode compatibility."; + description + "Stub router max-metric configuration"; + leaf external-lsa { + type uint32 { + range "1..16777214"; + } + default "16711680"; + description + "Advertise external LSAs with modified metric + in stub router mode"; + } + leaf summary-lsa { + type uint32 { + range "1..16777214"; + } + default "16711680"; + description + "Advertise summary LSAs with modified metric in + stub router mode"; + } + uses ON-SWITCHOVER; + uses ALWAYS; + uses ON-STARTUP; + uses INCLUDE-STUB; + uses ON-PROC-MIGRATION; + uses ON-PROC-RESTART; + } + } + } + + grouping INCLUDE-STUB { + description + "Common node of rbit, max-metric"; + leaf include-stub { + type empty; + description + "Advertise stub links with maximum metric in stub + router mode"; + } + } + + grouping IGNORE { + description + "Common node of default-vrf, vrf"; + container ignore { + description + "Do not complain about a specified event"; + container lsa { + description + "Do not complain upon receiving LSA of the + specified type"; + leaf mospf { + type empty; + description + "Enable ignore of MOSPF type 6 LSA"; + } + } + } + } + + grouping DATABASE-FILTER { + description + "Common node of default-vrf, vrf"; + container database-filter { + description + "Database filter"; + container all { + description + "All"; + leaf out { + type empty; + description + "Enable out"; + } + } + } + } + + grouping CANDIDATE-INTERFACE-TABLE { + description + "Common node of per-link, per-prefix"; + container candidate-interfaces { + description + "Fast-reroute per-link/per-prefix candidate + interface configuration"; + list candidate-interface { + key "interface-name"; + description + "Candidate backup interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + } + } + } + + grouping ENCRYPTION { + description + "Common node of default-vrf, vrf"; + container encryption { + description + "Encrypt and authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec ESP authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf encryption-algorithm { + type Ospfv3-encryption-algorithm; + description + "Specify the encryption algorithm"; + } + leaf encryption-password { + type xr:Proprietary-password; + description + "Encryption password"; + } + leaf authentication-algorithm { + type Ospfv3-authentication-type2; + description + "Use the NULL, MD5 or SHA1 algorithm"; + } + leaf authentication-password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + } + + grouping AUTHENTICATION { + description + "Common node of default-vrf, vrf"; + container authentication { + description + "Authenticate OSPFv3 packets"; + leaf enable { + type boolean; + description + "Authenticate packets"; + } + leaf spi { + type uint32 { + range "256..4294967295"; + } + description + "Use IPSec AH authentication. Specify the + Security Parameter Index (SPI) value"; + } + leaf algorithm { + type Ospfv3-authentication; + description + "Use the MD5 or SHA1 algorithm"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify MD5 or SHA1 password"; + } + } + } + + grouping DISTRIBUTE-LIST-OUT { + description + "Common node of default-vrf, vrf"; + container distribute-list-out { + description + "Filter prefixes from RIB "; + container distribute-outs { + description + "Filter generated type-5 LSAs"; + list distribute-out { + must "all-or-connected-or-static-prefix-list or bgp or ospfv3-or-isis or eigrp" { + description + "All-or-Connected-or-Static or BGP or + OSPFv3-or-ISIS or EIGRP must be present."; + } + key "protocol-name"; + description + "Filter generated type-5 LSAs"; + + grouping DISTRIBUTE-OUT-CONTENT { + description + "DISTRIBUTE OUT CONTENT"; + leaf prefix-list { + type string; + description + "Prefix-list name"; + } + } + leaf all-or-connected-or-static-prefix-list { + when "../protocol-name = 'all' or ../protocol-name = 'connected' or ../protocol-name = 'static'" { + description + "../ProtocolName = All or ../ProtocolName = + Connected or ../ProtocolName = Static"; + } + type string; + description + "Prefix-list name"; + } + leaf protocol-name { + type Ospfv3-protocol; + description + "none"; + } + list bgp { + when "../protocol-name = 'bgp'" { + description + "../ProtocolName = BGP"; + } + key "as-xx as-yy"; + description + "bgp"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "4-byte AS number in asdot (X.Y) format - + first half (X), or 2 byte AS number + .Mandatory if Protocol is BGP or EIGRP and + must not be specified otherwise. Must be a + non-zero value if second half is zero."; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "4-byte AS number in asdot (X.Y) format - + second half (Y), or 2-byte AS number, or + 4-byte AS number in asplain format.Mandatory + if Protocol is BGP and must not be specified + otherwise. Must be a non-zero value if first + half is zero."; + } + uses DISTRIBUTE-OUT-CONTENT; + } + list ospfv3-or-isis { + when "../protocol-name = 'ospfv3' or ../protocol-name = 'isis'" { + description + "../ProtocolName = OSPFv3 or ../ProtocolName + = ISIS"; + } + key "process-name"; + description + "ospfv3 or isis"; + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "If ISIS or OSPFv3, specify the instance name"; + } + uses DISTRIBUTE-OUT-CONTENT; + } + list eigrp { + when "../protocol-name = 'eigrp'" { + description + "../ProtocolName = EIGRP"; + } + key "as-xx"; + description + "eigrp"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "4-byte AS number in asdot (X.Y) format - + first half (X), or 2 byte AS number + .Mandatory if Protocol is BGP or EIGRP and + must not be specified otherwise. Must be a + non-zero value if second half is zero."; + } + uses DISTRIBUTE-OUT-CONTENT; + } + } + } + } + } + + grouping DISTRIBUTE-LIST { + description + "Common node of default-vrf, vrfCommon node of + default-vrf, vrf"; + container distribute-list { + description + "Filter prefixes to/from RIB"; + container in { + description + "Filter prefixes installed to RIB"; + leaf prefix-list { + type string; + description + "Filter prefixes based on an IPv6 prefix-list"; + } + } + } + } + + grouping COST { + description + "Common node of default-vrf, vrf"; + leaf cost { + type uint32 { + range "1..65535"; + } + description + "Interface cost"; + } + } + + grouping PACKET-SIZE { + description + "Common node of default-vrf, vrf"; + leaf packet-size { + type uint32 { + range "256..10000"; + } + description + "Limit size of OSPFv3 packets"; + } + } + + grouping FAST-REROUTE { + description + "Common node of default-vrf, vrf"; + container fast-reroute { + description + "Fast-reroute instance scoped parameters"; + container per-link { + description + "Fast-reroute per-link global configuration"; + uses PRIORITY; + } + container per-prefix { + description + "Fast-reroute per-prefix global configuration"; + container tiebreakers { + description + "Fast-reroute tiebreakers configurations"; + list tiebreaker { + key "tiebreaker-type"; + description + "Fast-reroute tiebreakers configuration"; + leaf tiebreaker-type { + type Ospfv3-fast-reroute-tiebreakers; + description + "Tiebreaker type"; + } + leaf tiebreaker-index { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Index value for a tiebreaker"; + } + } + } + leaf load-sharing-disable { + type empty; + description + "Disable load sharing between multiple backups"; + } + uses PRIORITY; + } + } + } + + grouping IPV6-OSPFV3-INTFOBJ-CFG-FAST-REROUTE { + description + "Common node of default-vrf, vrfCommon node of + process-scope, area-scope, interface"; + container fast-reroute { + description + "Fast-reroute configuration"; + container per-link { + description + "Fast-reroute per-link configuration"; + uses FAST-REROUTE-USE-CANDIDATE-ONLY; + uses CANDIDATE-INTERFACE-TABLE; + uses EXCLUDE-INTERFACE-TABLE; + } + container per-prefix { + description + "Fast-reroute per-link configuration"; + uses FAST-REROUTE-USE-CANDIDATE-ONLY; + uses CANDIDATE-INTERFACE-TABLE; + uses EXCLUDE-INTERFACE-TABLE; + } + leaf fast-reroute-enable { + type Ospfv3-fast-reroute; + description + "Enable/Disable Fast-reroute per-link or + per-prefix"; + } + } + } + + grouping SUMMARY-PREFIX-TABLE { + description + "Common node of default-vrf, vrf"; + container summary-prefixes { + description + "Summarize redistributed routes matching + prefix/length"; + list summary-prefix { + key "prefix prefix-length"; + description + "IPv6 address"; + leaf prefix { + type xr:Cisco-ios-xr-string; + description + "IPv6 prefix string format"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "IPV6 prefix length"; + } + leaf not-advertise { + type boolean; + description + "Suppress routes matching prefix/length"; + } + leaf tag { + type uint32 { + range "1..4294967295"; + } + description + "Tag"; + } + } + } + } + + grouping MAXIMUM { + description + "Common node of default-vrf, vrf"; + container maximum { + description + "Set OSPFv3 limits"; + container redistributed-prefixes { + description + "Limit number of redistributed prefixes"; + leaf prefixes { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of prefixes redistributed to + protocol"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a + warning message"; + } + leaf warning-only { + type empty; + description + "Only give warning message when limit is + exceeded"; + } + } + leaf interfaces { + type uint32 { + range "1..4294967295"; + } + description + "Specify maximum number of interfaces"; + } + leaf paths { + type uint32 { + range "1..64"; + } + description + "Specify maximum number of paths per route"; + } + } + } + + grouping NETWORK { + description + "Common node of default-vrf, vrf"; + leaf network { + type Ospfv3-network; + description + "Specify network type"; + } + } + + grouping HELLO-INTERVAL { + description + "Common node of default-vrf, vrf"; + leaf hello-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Time between HELLO packets"; + } + } + + grouping PROCESS-SCOPE { + description + "Common node of default-vrf, vrf"; + container process-scope { + description + "Process scope configuration"; + uses IPV6-OSPFV3-INTFOBJ-CFG-FAST-REROUTE; + } + } + + grouping SPF-PREFIX-PRIORITY-POLICY { + description + "Common node of default-vrf, vrf"; + leaf spf-prefix-priority-policy { + type string; + description + "Route policy for SPF prefix prioritization"; + } + } + + grouping CAPABILITY { + description + "Common node of vrf, default-vrf"; + container capability { + description + "OSPFv3 Capability"; + leaf type7-prefer { + type boolean; + description + "NSSA capability to prefer Type 7 over Type 5"; + } + leaf vrf-lite { + type boolean; + description + "Enable VRF Lite"; + } + leaf type7-translate-zero-forwarding-addr { + type boolean; + description + "Enable capability to translate LSAs with fwd + addr"; + } + leaf lls-disable { + type boolean; + description + "To disable LLS capability"; + } + } + } + + grouping MTU-IGNORE { + description + "Common node of default-vrf, vrf"; + leaf mtu-ignore { + type boolean; + description + "Enable/disable ignoring of MTU in DBD packets"; + } + } + + grouping FAST-REROUTE-USE-CANDIDATE-ONLY { + description + "Common node of per-link, per-prefix"; + leaf fast-reroute-use-candidate-only { + type boolean; + default "false"; + description + "Use only interfaces on the candidate list as a + backup path"; + } + } + + grouping GRACEFUL-RESTART { + description + "Common node of default-vrf, vrf"; + container graceful-restart { + description + "Graceful restart configuration"; + leaf interval { + type uint32 { + range "90..3600"; + } + units "second"; + description + "Minimum interval between graceful restarts + (seconds)"; + } + leaf strict-lsa-checking { + type empty; + description + "Terminate graceful restart helper mode if LSA + changed"; + } + leaf helper { + type empty; + description + "Disable router's helper support"; + } + leaf enable { + type empty; + description + "Enable graceful restart"; + } + leaf lifetime { + type uint32 { + range "90..1800"; + } + units "second"; + description + "Maximum route lifetime following restart + (seconds)"; + } + } + } + + grouping BFD { + description + "Common node of default-vrf, vrf"; + container bfd { + description + "Configure BFD parameters"; + leaf interval { + type uint32 { + range "3..30000"; + } + units "millisecond"; + description + "Hello interval in milli-seconds"; + } + leaf detection-multiplier { + type uint32 { + range "2..50"; + } + description + "Detect multiplier"; + } + leaf fast-detect-mode { + type Ospfv3bfd-enable-mode; + description + "Enable or disable BFD fast detection"; + } + } + } + + grouping SNMP { + description + "Common node of default-vrf, vrf"; + container snmp { + description + "SNMP configuration"; + container trap-rate-limit { + description + "SNMP trap rate configuration"; + leaf window-size { + type uint32 { + range "2..60"; + } + description + "Trap rate limit sliding window size"; + } + leaf max-window-traps { + type uint32 { + range "0..300"; + } + description + "Max number of traps sent in window time"; + } + } + leaf context { + type string; + description + "SNMP context configuration"; + } + } + } + + grouping ON-STARTUP { + description + "Common node of rbit, v6bit, max-metric"; + container on-startup { + description + "Enter stub router operational state on startup"; + leaf wait-for-bgp { + type boolean; + default "false"; + description + "Wait until BGP converges (only applicable to + default VRF)"; + } + leaf wait-time { + when "../wait-for-bgp = 'false'" { + description + "../WaitForBGP = 'false'"; + } + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time (in seconds) to stay in stub router + operational state"; + } + } + } + + grouping FLOOD-REDUCTION { + description + "Common node of default-vrf, vrf"; + leaf flood-reduction { + type boolean; + description + "Enable/disable flood reduction"; + } + } + + grouping ON-SWITCHOVER { + description + "Common node of rbit, v6bit, max-metric"; + leaf on-switchover { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Time (in seconds) to stay in stub router + operational state"; + } + } + + grouping DEAD-INTERVAL { + description + "Common node of default-vrf, vrf"; + leaf dead-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Interval after which a neighbor is declared dead + (in seconds)"; + } + } + + grouping INSTANCE { + description + "Common node of default-vrf, vrf"; + leaf instance { + type uint32 { + range "0..255"; + } + description + "Instance ID"; + } + } + + grouping ROUTER-ID { + description + "Common node of default-vrf, vrf"; + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Specify the router ID for this OSPFv3 process in + IPv4 address format"; + } + } + + grouping DEFAULT-METRIC { + description + "Common node of default-vrf, vrf"; + leaf default-metric { + type uint32 { + range "1..16777214"; + } + description + "Set metric of redistributed routes"; + } + } + + grouping RETRANSMIT-INTERVAL { + description + "Common node of default-vrf, vrf"; + leaf retransmit-interval { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Specify the transmit interval in seconds"; + } + } + + grouping PRIORITY { + description + "Common node of per-link, per-prefix"; + leaf priority { + type Ospfv3-fast-reroute-priority; + description + "Fast-reroute per-link/per-prefix priority-limit + command"; + } + } + + grouping IPV6-OSPFV3-CFG-PRIORITY { + description + "Common node of per-link, per-prefixCommon node of + default-vrf, vrf"; + leaf priority { + type uint32 { + range "0..255"; + } + description + "Specify router priority"; + } + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container ospfv3 { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-ospfv3-cfg.yang which + will provide the compatible functionalities. + OSPFv3-MIB notification configuration"; + container error { + description + "SNMP notifications for OSPF errors"; + leaf config-error { + type empty; + description + "Enable ospfv3IfConfigError notification"; + } + leaf bad-packet { + type empty; + description + "Enable ospfv3IfRxBadPacket notification"; + } + leaf virtual-bad-packet { + type empty; + description + "Enable ospfv3VirtIfRxBadPacket notification"; + } + leaf virtual-config-error { + type empty; + description + "Enable ospfv3VirtIfConfigError notification"; + } + } + container state-change { + description + "SNMP notifications for OSPF state change"; + leaf restart-virtual-helper { + type empty; + description + "Enable ospfv3VirtNbrRestartHelperStatusChange + notification"; + } + leaf nssa-translator { + type empty; + description + "Enable ospfv3NssaTranslatorStatusChange + notification"; + } + leaf interface { + type empty; + description + "Enable ospfv3IfStateChange notification"; + } + leaf restart { + type empty; + description + "Enable ospfv3RestartStatusChange notification"; + } + leaf neighbor { + type empty; + description + "Enable ospfv3NbrStateChange notification"; + } + leaf virtual-interface { + type empty; + description + "Enable ospfv3VirtIfStateChange notification"; + } + leaf restart-helper { + type empty; + description + "Enable ospfv3NbrRestartHelperStatusChange + notification"; + } + leaf virtual-neighbor { + type empty; + description + "Enable ospfv3VirtNbrStateChange notification"; + } + } + } + } + container ospfv3 { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-router-ospfv3-cfg.yang which will + provide the compatible functionalities. OSPFv3 + configuration"; + container processes { + description + "OSPFv3 processes"; + list process { + key "process-name"; + description + "An OSPFv3 process"; + container default-vrf { + description + "Default VRF related configuration"; + leaf ldp-sync { + type boolean; + description + "Enable/Disable MPLS LDP sync"; + } + leaf prefix-suppression { + type boolean; + description + "Enable/disable prefix suppression on an + interface"; + } + leaf spf-prefix-priority-disable { + type empty; + description + "SPF prefix prioritization disabled"; + } + uses AREA-TABLE; + uses TIMERS; + uses SUMMARY-PREFIX-TABLE; + uses SNMP; + uses FAST-REROUTE; + uses RETRANSMIT-INTERVAL; + uses DISTANCE; + uses PASSIVE; + uses DEFAULT-METRIC; + uses FLOOD-REDUCTION; + uses MAXIMUM; + uses REDISTRIBUTE-TABLE; + uses IGNORE; + uses DISTRIBUTE-LIST-OUT; + uses DISTRIBUTE-LIST; + uses HELLO-INTERVAL; + uses STUB-ROUTER; + uses IPV6-OSPFV3-CFG-PRIORITY; + uses BFD; + uses COST; + uses DEAD-INTERVAL; + uses PACKET-SIZE; + uses INSTANCE; + uses SPF-PREFIX-PRIORITY-POLICY; + uses DATABASE-FILTER; + uses ROUTER-ID; + uses CAPABILITY; + uses NETWORK; + uses MTU-IGNORE; + uses LOG-ADJACENCY-CHANGES; + uses AUTHENTICATION; + uses DEMAND-CIRCUIT; + uses GRACEFUL-RESTART; + uses DEFAULT-INFORMATION; + uses PROCESS-SCOPE; + uses ENCRYPTION; + uses AUTO-COST; + uses TRANSMIT-DELAY; + } + container vrfs { + description + "VRF related configuration"; + list vrf { + key "vrf-name"; + description + "Configuration for a particular OSPF VRF"; + container domain-id { + description + "OSPFv3 Domain ID"; + container secondary-domain-ids { + description + "Secondary domain ID Table"; + list secondary-domain-id { + key "domain-id-type domain-id-name"; + description + "OSPF Secondary domain ID"; + leaf domain-id-type { + type Ospfv3-domain-id; + description + "Secondary domain ID type"; + } + leaf domain-id-name { + type xr:Cisco-ios-xr-string; + description + "Secondary domain ID value"; + } + } + } + container primary-domain-id { + description + "OSPF Primary domain ID"; + leaf domain-id-type { + type Ospfv3-domain-id; + description + "Primary domain ID type"; + } + leaf domain-id-name { + type string; + description + "Primary domain ID value"; + } + } + } + leaf snmpvrf-trap { + type empty; + description + "Enable SNMP trap configuration in a VRF"; + } + leaf prefix-suppression { + type boolean; + description + "Enable/disable prefix suppression on an + interface"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name for this VRF"; + } + uses AREA-TABLE; + uses TIMERS; + uses SUMMARY-PREFIX-TABLE; + uses SNMP; + uses FAST-REROUTE; + uses RETRANSMIT-INTERVAL; + uses DISTANCE; + uses PASSIVE; + uses DEFAULT-METRIC; + uses FLOOD-REDUCTION; + uses MAXIMUM; + uses REDISTRIBUTE-TABLE; + uses IGNORE; + uses DISTRIBUTE-LIST-OUT; + uses DISTRIBUTE-LIST; + uses HELLO-INTERVAL; + uses STUB-ROUTER; + uses IPV6-OSPFV3-CFG-PRIORITY; + uses BFD; + uses COST; + uses DEAD-INTERVAL; + uses PACKET-SIZE; + uses INSTANCE; + uses SPF-PREFIX-PRIORITY-POLICY; + uses DATABASE-FILTER; + uses ROUTER-ID; + uses CAPABILITY; + uses NETWORK; + uses MTU-IGNORE; + uses LOG-ADJACENCY-CHANGES; + uses AUTHENTICATION; + uses DEMAND-CIRCUIT; + uses GRACEFUL-RESTART; + uses DEFAULT-INFORMATION; + uses PROCESS-SCOPE; + uses ENCRYPTION; + uses AUTO-COST; + uses TRANSMIT-DELAY; + } + } + container af { + presence "Indicates a af node is configured."; + description + "Address Family (AF)"; + leaf af-name { + type Ospfv3-address-family; + mandatory true; + description + "Address Family (AF) identifier"; + } + leaf saf-name { + type Ospfv3-subsequent-address-family; + description + "Subsequent Address Family (SAF) identifier"; + } + } + container trace-bufs { + description + "Configuration to change size of trace buffer"; + list trace-buf { + key "trace-buf-name"; + description + "Changes the size of the specified trace + buffer"; + leaf trace-buf-name { + type xr:Cisco-ios-xr-string; + description + "Name for this trace buffer"; + } + leaf bufsize { + type Ospfv3-trace-buf-size; + mandatory true; + description + "Buffer size"; + } + } + } + leaf nsr { + type Ospfv3nsr; + default "true"; + description + "Enable non-stop routing"; + } + leaf protocol-shutdown { + type empty; + description + "Enable protocol shutdown"; + } + leaf process-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "OSPFv3 process name"; + } + } + } + leaf dns-name-lookup { + type empty; + description + "Enable OSPFv3 router IDs as DNS names"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper-sub1.yang new file mode 100644 index 000000000..98d637764 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper-sub1.yang @@ -0,0 +1,5454 @@ +submodule Cisco-IOS-XR-ipv6-ospfv3-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-ospfv3-oper { + prefix Cisco-IOS-XR-ipv6-ospfv3-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-ospfv3 package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Added number of prefixes redistributed in ospfv3 summary output"; + semver:module-version "2.2.1m"; + } + revision 2021-06-16 { + description + "Added neighbor LLS options in neighbor detail"; + semver:module-version "2.2.0"; + } + revision 2020-04-29 { + description + "Added mtu and Bandwidth to show command"; + semver:module-version "2.1.0"; + } + revision 2020-02-04 { + description + "Modified for Conditional Advertising"; + semver:module-version "2.0.0"; + } + revision 2019-07-28 { + description + "Added datalist operation for container fast-reroute topology"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-08 { + description + "Modified for Programmability 2.0"; + } + revision 2018-06-15 { + description + "Added Aggregate statistics under summary container"; + } + revision 2017-10-30 { + description + "Added link information in grace LSA."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ospf-nsr-sched-pri { + type enumeration { + enum "ospf-nsr-stats-sched-pri-hi" { + value 0; + description + "ospf nsr stats sched pri hi"; + } + enum "ospf-nsr-stats-sched-pri-med" { + value 1; + description + "ospf nsr stats sched pri med"; + } + enum "ospf-nsr-stats-sched-pri-low" { + value 2; + description + "ospf nsr stats sched pri low"; + } + enum "ospf-nsr-stats-sched-pri-max" { + value 3; + description + "ospf nsr stats sched pri max"; + } + } + description + "Ospf nsr sched pri"; + } + + typedef Ospfv3-string-array { + type string; + description + "Ospfv3 string array"; + } + + typedef Ospfv3-graceful-shutdown-state { + type enumeration { + enum "init" { + value 0; + description + "Init"; + } + enum "normal" { + value 1; + description + "Normal"; + } + enum "flushing" { + value 2; + description + "Flushing"; + } + enum "empty-hellos" { + value 3; + description + "Empty Hellos"; + } + enum "quiet" { + value 4; + description + "Quiet"; + } + } + description + "Graceful Shutdown state"; + } + + typedef Ipfrr-tbrkr { + type enumeration { + enum "downstream" { + value 0; + description + "Downsteram"; + } + enum "line-card-disjoint" { + value 1; + description + "LC Disjoint"; + } + enum "backup-metric" { + value 2; + description + "Backup metric"; + } + enum "node-protect" { + value 3; + description + "Node protection"; + } + enum "primary-path" { + value 4; + description + "Primary path"; + } + enum "secondary-path" { + value 5; + description + "Secondary path"; + } + enum "srlg-disjoint" { + value 6; + description + "SRLG disjoint"; + } + enum "tunnel" { + value 7; + description + "Tunnel"; + } + } + description + "FRR Tiebreakers"; + } + + typedef Stub-router-abr-off-reason { + type enumeration { + enum "init-delay" { + value 2; + description + "Initial delay when stub router mode is + activated"; + } + enum "no-neighbor" { + value 3; + description + "No neighbor present"; + } + enum "no-full-neighbor" { + value 4; + description + "No neighbor in FULL state present"; + } + enum "new-neighbor" { + value 5; + description + "A new neighbor discovered less than 60 seconds + ago"; + } + enum "full-neighbor" { + value 6; + description + "A neighbor transitioned to FULL state less than + 60 seconds ago"; + } + } + description + "Reason to exiting stub router mode"; + } + + typedef Stub-router-exit-reason { + type enumeration { + enum "none" { + value 0; + description + "No reason"; + } + enum "bgp" { + value 1; + description + "BGP has converged"; + } + enum "timer" { + value 2; + description + "Stub Router timer has expired"; + } + enum "configuration" { + value 3; + description + "Configuration has changed"; + } + enum "cleared" { + value 4; + description + "Process has been cleared"; + } + enum "override" { + value 5; + description + "Preempted by always"; + } + } + description + "Reason to exiting stub router mode"; + } + + typedef Stub-router-trigger { + type enumeration { + enum "on-proc-migration" { + value 0; + description + "Process migration"; + } + enum "on-proc-restart" { + value 1; + description + "Process restart"; + } + enum "on-switchover" { + value 2; + description + "RP switchover"; + } + enum "on-startup" { + value 3; + description + "Router startup"; + } + enum "always" { + value 4; + description + "Always on"; + } + enum "none" { + value 5; + description + "No trigger"; + } + } + description + "Trigger for entering stub router mode"; + } + + typedef Stub-router-mode { + type enumeration { + enum "rbit" { + value 0; + description + "Stub Router mode r-bit"; + } + enum "v6bit" { + value 1; + description + "Stub Router mode v6-bit"; + } + enum "max-metric" { + value 2; + description + "Stub Router mode max-metric"; + } + enum "none" { + value 3; + description + "Stub Router not configured"; + } + } + description + "Stub Router mode"; + } + + typedef Ospfv3-neighbor-state { + type enumeration { + enum "neigbhor-down" { + description + "Down"; + } + enum "attempt" { + description + "Attempting"; + } + enum "init" { + description + "Initializing"; + } + enum "two-way" { + description + "2 Way"; + } + enum "exstart" { + description + "Exstart"; + } + enum "exchange" { + description + "Exchange"; + } + enum "loading" { + description + "Loading"; + } + enum "full" { + description + "Full"; + } + enum "sc-virtual" { + description + "SCVirtual"; + } + } + description + "OSPFv3 neighbor states"; + } + + typedef Ospfv3-interface { + type enumeration { + enum "none" { + description + "None"; + } + enum "broadcast" { + description + "Broadcast"; + } + enum "non-broadcast" { + description + "Non broadcast"; + } + enum "point-to-point" { + description + "Point To Point"; + } + enum "point-to-multipoint" { + description + "Point To Multipoint"; + } + enum "point-to-multipoint-non-broadcast" { + description + "Point-To-Multipoint Non broadcast"; + } + enum "virtual-link" { + description + "Virtual link"; + } + enum "loopback-interface" { + description + "Loopback"; + } + enum "mpls-traffic-engineering" { + description + "MPLS traffic engineering"; + } + enum "sham-link" { + description + "Sham link"; + } + } + description + "OSPFv3 neighbor interface types"; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Ospfv3-interface-state { + type enumeration { + enum "down" { + description + "Down"; + } + enum "loopback" { + description + "Loopback"; + } + enum "waiting" { + description + "Waiting"; + } + enum "point-to-multipoint" { + description + "Point To Multipoint"; + } + enum "point-to-point" { + description + "Point To Point"; + } + enum "designated-router" { + description + "Designated router"; + } + enum "backup-designated-router" { + description + "Backup designated router"; + } + enum "other-designated-router" { + description + "Other designated router"; + } + } + description + "OSPFv3 interface states"; + } + + typedef Ospfv3-graceful-restart-reason { + type enumeration { + enum "grace-reason-unknown" { + description + "Grace reason unknown"; + } + enum "grace-reason-software-restart" { + description + "Grace reason software restart"; + } + enum "grace-reason-software-upgrade" { + description + "Software reload/upgrade, RFC 3623"; + } + enum "grace-reason-switchover" { + description + "Switch to redundant control processor"; + } + } + description + "Reason for router restart"; + } + + typedef Ospfv3-lsa1 { + type enumeration { + enum "link" { + value 8; + description + "Link LSA"; + } + enum "grace" { + value 11; + description + "Grace LSA"; + } + enum "router" { + value 8193; + description + "Router LSA"; + } + enum "network" { + value 8194; + description + "Network LSA"; + } + enum "inter-area-prefix" { + value 8195; + description + "Inter area prefix LSA"; + } + enum "inter-area-router" { + value 8196; + description + "Inter area router LSA"; + } + enum "mospf" { + value 8198; + description + "MOSPF LSA"; + } + enum "type7-external" { + value 8199; + description + "Type-7 External LSA"; + } + enum "lsa-prefix" { + value 8201; + description + "Prefix LSA"; + } + enum "as-external" { + value 16389; + description + "AS external LSA"; + } + enum "unknown-link" { + value 32768; + description + "Unknown link LSA"; + } + enum "unknown-area" { + value 40960; + description + "Unknown area LSA"; + } + enum "unknown-as" { + value 49152; + description + "Unknown AS LSA"; + } + enum "unknown-type" { + value 57344; + description + "Unknown type LSA"; + } + } + description + "OSPFv3 LSA types"; + } + + typedef Prefix-priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical priority"; + } + enum "high" { + value 1; + description + "High priority"; + } + enum "medium" { + value 2; + description + "Medium priority"; + } + enum "low" { + value 3; + description + "Low priority"; + } + } + description + "Prefix priority"; + } + + typedef Ospfv3-link { + type enumeration { + enum "link-router" { + value 1; + description + "Router link"; + } + enum "link-trans-net" { + value 2; + description + "Transit network link"; + } + enum "link-virtual-link" { + value 4; + description + "Virutal link"; + } + } + description + "OSPFV3 Link type"; + } + + typedef Ospf-lsa-sync-state { + type enumeration { + enum "none" { + description + "State not set"; + } + enum "out-of-sync" { + description + "LSA out of sync with active"; + } + enum "in-sync" { + description + "LSA in sync with active"; + } + enum "nsr-ack-pending" { + description + "NSR ack pending for LSA sync"; + } + } + description + "LSA synchronization states"; + } + + typedef Ospfv3-lsa-info-types { + type enumeration { + enum "mgmt-lsa-lsasum-type" { + value 0; + description + "Summary information of LSAs"; + } + enum "mgmt-lsa-link-type" { + value 8; + description + "Link LSA"; + } + enum "mgmt-lsa-gr-type" { + value 11; + description + "Grace LSA"; + } + enum "mgmt-lsa-rtr-type" { + value 8193; + description + "Router LSA"; + } + enum "mgmt-lsa-net-type" { + value 8194; + description + "Network LSA"; + } + enum "mgmt-lsa-iapfx-type" { + value 8195; + description + "Inter Area Prefix Summary LSA"; + } + enum "mgmt-lsa-iartr-type" { + value 8196; + description + "Inter Area Router Summay LSA"; + } + enum "mgmt-lsa-nssaext-type" { + value 8199; + description + "NSSA external LSA"; + } + enum "mgmt-lsa-prefix-type" { + value 8201; + description + "Intra Area Prefix LSA"; + } + enum "mgmt-lsa-ext-type" { + value 16389; + description + "Type 5 External LSA"; + } + enum "mgmt-lsa-unk-link-type" { + value 32768; + description + "Opaque Link scope LSA"; + } + enum "mgmt-lsa-unk-area-type" { + value 40960; + description + "Opaque Area scope LSA"; + } + enum "mgmt-lsa-unk-as-type" { + value 49152; + description + "Opaque AS scope LSA"; + } + enum "mgmt-lsa-unk-type" { + value 57344; + description + "Opaque Reserved scope LSA"; + } + } + description + "OSPFv3 LSA format types"; + } + + typedef Ospfv3-area-range-status { + type enumeration { + enum "advertise" { + value 1; + description + "Advertise this range"; + } + enum "do-not-advertise" { + value 2; + description + "Do not advertise this range"; + } + } + description + "Ospfv3 area range status"; + } + + typedef Ospfv3-border-route { + type enumeration { + enum "abr" { + value 1; + description + "Area border router"; + } + enum "asbr" { + value 2; + description + "Area system boundary router"; + } + enum "abr-asbr" { + value 3; + description + "Area border router and area system boundary + router"; + } + } + description + "OSPFv3 border route destination types"; + } + + typedef Ospfv3-default-metric { + type enumeration { + enum "type-none" { + description + "OSPFv3 default metric type None "; + } + enum "type1" { + description + "OSPFv3 default metric type 1 "; + } + enum "type2" { + description + "OSPFv3 default metric type 2 "; + } + } + description + "OSPFv3 default metric types "; + } + + grouping NSR-PL-RECV-DROP-ARRAY { + description + "Drop count while receiving messages"; + list nsr-pl-recv-drop-array { + max-elements "16"; + description + "nsr pl recv drop array"; + leaf entry { + type uint32; + description + "entry"; + } + } + } + + grouping NSR-PL-SEND-DROP-ARRAY { + description + "Drop count while sending messages"; + list nsr-pl-send-drop-array { + max-elements "7"; + description + "nsr pl send drop array"; + leaf entry { + type uint32; + description + "entry"; + } + } + } + + grouping NSR-PL-CLIENT-STATS-TYPE { + description + "NSR PL stats information"; + leaf prio-queue-level { + type string { + length "0..32"; + } + description + "npl priority queue level"; + } + list num-sent { + max-elements "5"; + description + "Total sent"; + leaf entry { + type uint64; + description + "Total sent"; + } + } + list num-recv { + max-elements "6"; + description + "Total recvd"; + leaf entry { + type uint64; + description + "Total recvd"; + } + } + list num-sent-drop { + max-elements "5"; + description + "Sent Error/drops"; + uses NSR-PL-SEND-DROP-ARRAY; + } + list num-recv-drop { + max-elements "6"; + description + "Recv Errors/drops"; + uses NSR-PL-RECV-DROP-ARRAY; + } + } + + grouping OSPF-SH-NCD-STATS { + description + "OSPF SH NCD STATS"; + list ncd-pri { + max-elements "2"; + description + "NCD statistics for various priorities"; + uses NSR-PL-CLIENT-STATS-TYPE; + } + } + + grouping OSPFV3-EDM-RTHREAD-QUEUE-STATS { + description + "OSPFv3 RIB thread queue statistics"; + leaf wq-eqtime { + type uint64; + description + "Head Entry Enqueue"; + } + leaf wq-dqtime { + type uint64; + description + "Last Entry Dequeue"; + } + leaf wq-first-eqtime { + type uint64; + description + "First Entry Enqueue"; + } + leaf wq-len-cur { + type int32; + description + "Current Work Queue Length"; + } + leaf wq-len-max { + type int32; + description + "Largest Work Queue Length"; + } + leaf wq-total-enqueued { + type uint32; + description + "Total Entries Enqueued"; + } + leaf wq-total-dequeued { + type uint32; + description + "Total Entries Dequeued"; + } + leaf wq-eneueue-errs { + type uint32; + description + "Enqueue Errors"; + } + leaf wq-dequeue-errs { + type uint32; + description + "Dequeue Errors"; + } + leaf wq-max-latency { + type uint64; + description + "Max Time Entry Was In Q"; + } + leaf wq-sum-latency { + type uint64; + description + "Sum Latencies To Calc Average"; + } + } + + grouping OSPFV3-EDM-RTHREAD-STATS { + description + "OSPFv3 RIB thread statistics"; + container thread-q { + description + "Inter Thread Queue"; + uses OSPFV3-EDM-RTHREAD-QUEUE-STATS; + } + container rib-base-time { + description + "Current time stamp"; + uses OSPFV3-EDM-TIME; + } + leaf wq-thread-active { + type boolean; + description + "RIB Thread Active Indicator"; + } + leaf wq-signals { + type uint32; + description + "Signals sent to RIB Thread"; + } + leaf rib-base-clock { + type uint64; + description + "Rib Base Clock value to calculate current time + from the timestamp"; + } + leaf rib-batch-sent { + type uint32; + description + "No. of Rib batches sent"; + } + leaf rib-batch-purged { + type uint32; + description + "No. of Rib batches purged"; + } + leaf rib-drop-version { + type uint32; + description + "No. of Rib batches dropped due to version + mismatch"; + } + leaf rib-drop-conn { + type uint32; + description + "No. of Rib batches dropped due to connection + issues"; + } + leaf rib-batch-ok { + type uint32; + description + "No. of Rib batches where all routes were + installed as active"; + } + leaf rib-batch-backup { + type uint32; + description + "No. of Rib batches where some routes were + installed as backup"; + } + leaf rib-batch-limit { + type uint32; + description + "No. of Rib batches that failed because Batch + limit reached"; + } + leaf rib-batch-no-table { + type uint32; + description + "No. of Rib batches that failed because table is + not created"; + } + leaf rib-batch-some-err { + type uint32; + description + "No. of Rib batches that failed to install + partially, where some routes in the batch were + installed, others failed"; + } + leaf rib-batch-err { + type uint32; + description + "No. of Rib batches that failed install entirely"; + } + leaf rib-route-limit { + type uint32; + description + "No. of routes failed to install due to Route + table limit"; + } + leaf rib-route-some-err { + type uint32; + description + "No. of routes failed to install partially, where + some of the paths in the route got installed, + but others failed"; + } + leaf rib-route-err { + type uint32; + description + "No. of routes that failed install entirely"; + } + leaf rib-path-limit { + type uint32; + description + "No. of routes that failed install due to path + limit"; + } + leaf rib-path-err { + type uint32; + description + "No. of routes that failed install due to errors + other than path limit"; + } + leaf rib-max-latency { + type uint64; + description + "Max time entry was in queue"; + } + leaf rib-sum-latency { + type uint64; + description + "Sum of latencies to calculate average latency"; + } + list holdq { + max-elements "4"; + description + "Rib thread Hold Queues"; + uses OSPFV3-EDM-RTHREAD-QUEUE-STATS; + } + } + + grouping OSPFV3-NSR-ERR-INFO-BAG { + description + "OSPFV3 NSR ERR INFO BAG"; + container last-err-time { + description + "Time this error was last hit"; + uses OSPFV3-EDM-TIME; + } + leaf err-count { + type int32; + description + "Count this error hit during the Nsr Revision"; + } + leaf err-info-string { + type string; + description + "Error Information"; + } + } + + grouping OSPFV3-NSR-ERR-BLOCK-BAG { + description + "OSPFV3 NSR ERR BLOCK BAG"; + leaf nsr-revisionversion { + type uint32; + description + "Revision version number for NSR"; + } + leaf total-errors { + type int32; + description + "Total errors for this nsr revision version"; + } + list nsr-error-info { + description + "List of erros"; + uses OSPFV3-NSR-ERR-INFO-BAG; + } + } + + grouping OSPFV3-ISSU-MILESTONE-BAG { + description + "OSPFV3 ISSU MILESTONE BAG"; + leaf milestone-name { + type string; + description + "Name of the Milestone"; + } + leaf milestone-status { + type string; + description + "Status of the Milestone"; + } + } + + grouping OSPF-SH-NSR-STATS-PRI { + description + "OSPF SH NSR STATS PRI"; + leaf nsr-sched-pri { + type Ospf-nsr-sched-pri; + description + "Priority Type"; + } + leaf nsr-sched-quant { + type uint8; + description + "Priority Queue"; + } + leaf nsr-sched-remain-quant { + type uint8; + description + "Remaining quantum"; + } + leaf nsr-sched-evs-in-q { + type uint16; + description + "Events pending"; + } + leaf nsr-sched-max-evs { + type uint16; + description + "Max Queued"; + } + leaf nsr-sched-peak-q-len { + type uint16; + description + "Peak queue length"; + } + leaf nsr-sched-evs-qd { + type uint64; + description + "Events queued"; + } + leaf nsr-sched-enq-fails { + type uint64; + description + "Event enqueue fails"; + } + leaf nsr-sched-evs-deqd { + type uint64; + description + "Events dequeued"; + } + } + + grouping OSPF-SH-NSR-SCHED-STATS { + description + "OSPF SH NSR SCHED STATS"; + leaf nsr-pulse-quant { + type int32; + description + "Events processed per pulse"; + } + leaf nsr-events-in-q { + type uint32; + description + "Events pending"; + } + leaf nsr-events-tx { + type uint64; + description + "Events to Router thread"; + } + leaf nsr-events-rx { + type uint64; + description + "Events processed"; + } + leaf nsr-bad-pulses-rx { + type uint64; + description + "Bad pulses received"; + } + leaf nsr-good-pulses-rx { + type uint64; + description + "Good pulses received"; + } + leaf nsr-pulses-tx { + type uint64; + description + "Pulses to Router thread"; + } + leaf nsr-pulse-tx-fails { + type uint64; + description + "Pulse send failures"; + } + list nsr-pri { + max-elements "3"; + description + "NSR priority statistics"; + uses OSPF-SH-NSR-STATS-PRI; + } + } + + grouping OSPFV3-EDM-NSR-STATS { + description + "OSPFV3 EDM NSR STATS"; + container nsr-thd-stats { + description + "NSR thread scheduler stats"; + uses OSPF-SH-NSR-SCHED-STATS; + } + container nsr-rtr-thd-sched { + description + "Rtr thread NSR pulse handler stats"; + uses OSPF-SH-NSR-SCHED-STATS; + } + leaf nsr-revision { + type int32; + description + "NSR revision"; + } + leaf nsr-fsm-state { + type int32; + description + "FSM state"; + } + leaf nsr-version { + type uint32; + description + "NSR version"; + } + leaf nsr-node-id { + type uint32; + description + "My nodeid"; + } + leaf nsr-peer-version { + type uint32; + description + "Partner NSR version"; + } + leaf nsr-peer-node-id { + type uint32; + description + "Partner NodeID"; + } + leaf nsr-peer-ep-length { + type uint32; + description + "Peer Endpoint Length"; + } + leaf nsr-peer-ep-ver { + type uint32; + description + "Peer Endpoint Version"; + } + leaf nsr-local-ep-length { + type uint32; + description + "Local Endpoint Length"; + } + leaf nsr-local-ep-ver { + type uint32; + description + "Local Endpoint Version"; + } + leaf nsr-mtu { + type uint32; + description + "Fabric MTU"; + } + leaf nsr-nbr-qad-qid { + type uint32; + description + "NBR QAD queue id"; + } + leaf nsr-lsa-qad-qid { + type uint32; + description + "LSA QAD queue id"; + } + leaf nsr-nbr-qad-mdata-count { + type uint32; + description + "NBR QAD pending msg"; + } + leaf nsr-lsa-qad-mdata-count { + type uint32; + description + "LSA QAD pending msgs"; + } + leaf nsr-nbr-init-sync-pend-count { + type int32; + description + "Pending init-sync NBR msgs"; + } + leaf nsr-lsa-init-sync-pend-count { + type int32; + description + "Pending init-sync LSA msgs"; + } + leaf nsr-nbr-seq-no { + type uint32; + description + "Neighbor TLV sequence no"; + } + leaf nsr-intf-seq-no { + type uint32; + description + "Interface TLV sequence no"; + } + leaf nsr-tmr-quant { + type int32; + description + "Timers processed per pulse"; + } + leaf nsr-peer-hdl { + type uint64; + description + "Peer DS Handle"; + } + leaf nsr-local-hdl { + type uint64; + description + "Local DS Handle"; + } + leaf nsr-conn-to-active-attempts { + type uint64; + description + "No. of Attempts to connect to active"; + } + leaf nsr-conn-to-active-fails { + type uint64; + description + "No. of Failures to connect to active"; + } + leaf nsr-conn-to-active-opens { + type uint64; + description + "No. of active connections opened"; + } + leaf nsr-conn-to-active-closes { + type uint64; + description + "No. of active connections closed"; + } + leaf nsr-conn-to-active-errors { + type uint64; + description + "No. of connections errors"; + } + leaf nsr-peer-ep { + type yang:hex-string; + description + "Peer Endpoint"; + } + leaf nsr-local-ep { + type yang:hex-string; + description + "Local Endpoint"; + } + list nsr-fsm-flag { + description + "Nsr Fsm Flags information"; + leaf entry { + type Ospfv3-string-array; + description + "Nsr Fsm Flags information"; + } + } + list nsr-fsm-running-timer { + description + "Nsr Fsm Running Timers"; + leaf entry { + type Ospfv3-string-array; + description + "Nsr Fsm Running Timers"; + } + } + list nsr-issu-milestone { + description + "Milestones of NSR ISSU"; + uses OSPFV3-ISSU-MILESTONE-BAG; + } + list nsr-err-history { + description + "Error History List of NSR"; + uses OSPFV3-NSR-ERR-BLOCK-BAG; + } + } + + grouping OSPF-SH-IPFRR-TOPO-ENTRY { + description + "OSPF_IPFRR Topology Entry"; + leaf node-id { + type inet:ipv4-address; + description + "IPFRR Topology Node ID"; + } + leaf lsaid { + type uint32; + description + "IPFRR Topology LSA ID"; + } + leaf distance { + type uint32; + description + "IPFRR Topology Distance"; + } + leaf type4 { + type boolean; + description + "IPFRR Topoogy Type-4 entry"; + } + leaf revision { + type uint32; + description + "IPFRR Topology Revision"; + } + leaf neighbor-sourced { + type boolean; + description + "IPFRR Topology Neighbor Sourced"; + } + leaf dr { + type boolean; + description + "IPFRR Topology DR entry"; + } + } + + grouping OSPFV3-SH-IPFRR-TOPO { + description + "OSPF IPFRR Topology Information"; + leaf ipfrr-topo-area-id { + type string { + length "0..16"; + } + description + "Area ID string in decimal or dotted decimal + format"; + } + leaf ipfrr-local-router-id { + type inet:ipv4-address; + description + "OSPF Local Node Router ID"; + } + leaf ipfrr-area-revision { + type uint32; + description + "IPFRR Topology Revision"; + } + list ipfrr-topo { + description + "IPFRR Topology entries"; + uses OSPF-SH-IPFRR-TOPO-ENTRY; + } + } + + grouping OSPFV3-SH-BAD-CHECKSUM { + description + "OSPFv3 Bad Checksum"; + container timestamp { + description + "Packet Timestamp (relative to 1970/1/1 00:00)"; + uses OSPFV3-EDM-TIME; + } + leaf received-checksum { + type uint16; + description + "Received Checksum value"; + } + leaf computed-checksum { + type uint16; + description + "Computed Checksum value"; + } + leaf received-data { + type yang:hex-string; + description + "Received Hexadecimal Data"; + } + } + + grouping OSPFV3-SH-STATS-AGGT { + description + "OSPFV3 SH STATS AGGT"; + leaf neighbor-number { + type uint32; + description + "Number of neighbor"; + } + leaf adjacent-neighbor-number { + type uint32; + description + "Number of adjacent neighbor"; + } + leaf interface-number { + type uint32; + description + "Number of interfaces"; + } + leaf interface-up-number { + type uint32; + description + "Number of interfaces in UP state"; + } + leaf virtual-link-up-number { + type uint32; + description + "Number of Virtual link in UP state"; + } + leaf sham-link-up-number { + type uint32; + description + "Number of Sham link in UP state"; + } + leaf area-numaber { + type uint32; + description + "Number of Area"; + } + leaf unknown-lsa-count { + type uint32; + description + "Unknown LSA count"; + } + leaf router-lsa-count { + type uint32; + description + "Router LSA count"; + } + leaf network-lsa-count { + type uint32; + description + "Network LSA count"; + } + leaf inter-area-prefix-lsa-count { + type uint32; + description + "Inter Area Prefix LSA Count"; + } + leaf inter-area-router-lsa-count { + type uint32; + description + "Inter Area Router LSA Count"; + } + leaf ase-lsa-count { + type uint32; + description + "ASE LSA count"; + } + leaf mospf-lsa-count { + type uint32; + description + "MOSPF LSA count"; + } + leaf type7-ase-lsa-count { + type uint32; + description + "Type-7 ASE LSA count "; + } + leaf link-lsa-count { + type uint32; + description + "Link LSA count"; + } + leaf prefix-lsa-count { + type uint32; + description + "Prefix LSA count"; + } + leaf type10lsa-count { + type uint32; + description + "Type-10 LSA count"; + } + leaf grace-lsa-count { + type uint32; + description + "Grace LSA count"; + } + leaf opaque-link-lsa-count { + type uint32; + description + "Opaque Link LSA count"; + } + leaf opaque-area-lsa-count { + type uint32; + description + "Opaque Area LSA count"; + } + leaf opaque-as-lsa-count { + type uint32; + description + "Opaque AS LSA count"; + } + leaf unknown-area-lsa-count { + type uint32; + description + "Unknown Area LSA count"; + } + leaf unknown-link-lsa-count { + type uint32; + description + "Unknown Link LSA count"; + } + leaf unknown-as-lsa-count { + type uint32; + description + "Unknown AS LSA count"; + } + } + + grouping OSPF-SH-IPFRR-TB { + description + "OSPF IPFRR Tiebreakers"; + leaf tiebreaker-type { + type Ipfrr-tbrkr; + description + "Tiebreaker Type used"; + } + leaf tiebreaker-index { + type uint32; + description + "Index of the Tiebreaker"; + } + } + + grouping OSPFV3-SH-STUB-ROUTER-TRIGGER { + description + "OSPFv3 stub router trigger information"; + container unset-time { + description + "Timestamp (relative to 1970/1/1 00:00) when stub + router condition was cleared"; + uses OSPFV3-EDM-TIME; + } + container start-time { + description + "Timestamp (relative to 1970/1/1 00:00) when stub + router mode was activated"; + uses OSPFV3-EDM-TIME; + } + leaf trigger { + type Stub-router-trigger; + description + "Stub Router Trigger type"; + } + leaf wait-for-bgp { + type boolean; + description + "If true, stub router is terminated when BGP + converges"; + } + leaf unset-reason { + type Stub-router-exit-reason; + description + "Reason for clearing stub router condition"; + } + leaf time { + type uint32; + units "second"; + description + "Time (in seconds) to stay in stub router mode"; + } + } + + grouping OSPFV3-EDM-TIME { + description + "OSPFv3 time stamp"; + leaf second { + type uint32; + units "second"; + description + "Seconds "; + } + leaf nanosecond { + type uint32; + units "nanosecond"; + description + "Nano seconds "; + } + } + + grouping OSPFV3-SH-STUB-ROUTER { + description + "OSPFv3 Stub Router Information"; + container unset-time { + description + "Timestamp (relative to 1970/1/1 00:00) when stub + router condition was cleared"; + uses OSPFV3-EDM-TIME; + } + container start-time { + description + "Timestamp (relative to 1970/1/1 00:00) when stub + router mode was activated"; + uses OSPFV3-EDM-TIME; + } + container abr-resume-time { + description + "Timestamp (relative to 1970/1/1 00:00) when ABR + duties were resumed"; + uses OSPFV3-EDM-TIME; + } + leaf mode { + type Stub-router-mode; + description + "Stub router mode"; + } + leaf active { + type boolean; + description + "If true, stub router mode is active"; + } + leaf remaining-time { + type uint32; + units "second"; + description + "Remaining time (in seconds) in stub router mode"; + } + leaf set-reason { + type Stub-router-trigger; + description + "Reason for entering stub router mode"; + } + leaf unset-reason { + type Stub-router-exit-reason; + description + "Reason for clearing stub router condition"; + } + leaf include-stub-links { + type boolean; + description + "If true, advertise maximum metric for stub links"; + } + leaf summary-lsa-metric { + type uint32; + description + "Metric for summary LSAs in max-metric mode"; + } + leaf external-lsa-metric { + type uint32; + description + "Metric for external LSAs in max-metric mode"; + } + leaf abr-off-reason { + type Stub-router-abr-off-reason; + description + "Reason for being in ABR off mode"; + } + list trigger { + description + "Triggers for entering stub router mode"; + uses OSPFV3-SH-STUB-ROUTER-TRIGGER; + } + } + + grouping OSPFV3-SH-DOMAIN-ID-ENTRY { + description + "OSPF Domain ID"; + leaf domain-id-type { + type uint16; + description + "Domain ID Type"; + } + leaf domain-id-value { + type yang:hex-string; + description + "Domain ID value"; + } + } + + grouping OSPFV3-SH-DOMAIN-ID { + description + "OSPF Domain ID entries"; + container primary-domain-id { + description + "Primary Domain ID"; + uses OSPFV3-SH-DOMAIN-ID-ENTRY; + } + list secondary-domain-id { + description + "List of secondary domain IDs"; + uses OSPFV3-SH-DOMAIN-ID-ENTRY; + } + } + + grouping OSPFV3-EDM-SUMMARY { + description + "OSPFv3 summary"; + container domain-id { + description + "Domain ID information"; + uses OSPFV3-SH-DOMAIN-ID; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf is-role-standby { + type boolean; + description + "If true, the process is running as stanby role"; + } + leaf role { + type uint32; + description + "Role, V1/V2 Active/Standby"; + } + leaf is-nsr-enabled { + type boolean; + description + "If true, NSR is enabled"; + } + leaf is-nsr-switchover-on-restart { + type boolean; + description + "Trigger RP Switchover on detectable process + restart"; + } + leaf is-router-id-stalled { + type boolean; + description + "Stalled Router ID "; + } + leaf is-opaque-capable { + type boolean; + description + "Opaque LSA capable "; + } + leaf is-area-border-router { + type boolean; + description + "If true, is an area border router"; + } + leaf is-as-border-router { + type boolean; + description + "If true, is an AS border router"; + } + leaf capability-prefer-type7 { + type boolean; + description + "If true, prefer type 7 LSAs over type 5"; + } + leaf metric { + type uint32; + description + "Redistribution metric "; + } + leaf is-default-originated { + type boolean; + description + "If true, default route LSA is originated"; + } + leaf is-default-always { + type boolean; + description + "If true, default route LSA is originated always"; + } + leaf default-metric { + type uint32; + description + "Metric for the redistributed default route"; + } + leaf default-metric-type { + type Ospfv3-default-metric; + description + "Default metric type to be used if not + specifically configured"; + } + leaf default-tag { + type uint32; + description + "Route tag of the default route LSA"; + } + leaf is-default-policy { + type boolean; + description + "If true, there is a default route policy "; + } + leaf default-policy-name { + type string; + description + "Default route policy name "; + } + leaf spf-start-time { + type uint32; + description + "Scheduling delay for SPF (ms)"; + } + leaf spf-hold-time { + type uint32; + description + "Minimum delay time between SPF runs (ms)"; + } + leaf spf-maximum-time { + type uint32; + description + "Maximum delay time between SPF runs (ms)"; + } + leaf lsa-start-time { + type uint32; + description + "Initial LSA throttle delay (ms)"; + } + leaf lsa-hold-time { + type uint32; + description + "Second delay before generating next LSA (ms)"; + } + leaf lsa-maximum-time { + type uint32; + description + "Maximum delay before generating an LSA (ms)"; + } + leaf minimum-lsa-interval { + type uint32; + description + "Minimum time between LSA regeneration (ms)"; + } + leaf lsa-group-interval { + type uint32; + description + "LSA refresh interval (sec)"; + } + leaf lsa-flood-pacing-interval { + type uint32; + description + "LSA flood pacing timer (ms)"; + } + leaf lsa-retransmission-pacing-interval { + type uint32; + description + "LSA retransmission pacing timer (ms)"; + } + leaf as-ls-as { + type uint32; + description + "Number of AS scope LSAs"; + } + leaf opaque-lsas { + type uint32; + description + "Number of opaque LSAs"; + } + leaf opaque-lsa-checksum { + type uint32; + description + "Sum of opaque LSA checksum"; + } + leaf as-dc-bitless-ls-as { + type uint32; + description + "Number of external and AS opaque LSAs with + demand circut bit not set"; + } + leaf as-do-not-age-ls-as { + type uint32; + description + "Number of external and AS opaque LSAs with do + not age set "; + } + leaf areas { + type uint16; + description + "Number of areas"; + } + leaf normal-areas { + type uint16; + description + "Number of normal areas"; + } + leaf stub-areas { + type uint16; + description + "Number of stub and total stub areas"; + } + leaf nssa-areas { + type uint16; + description + "Number of NSSA areas"; + } + leaf as-lsa-flood-list-length { + type uint32; + description + "Length of AS LSAs flood list"; + } + leaf is-grace-restart-enabled { + type boolean; + description + "If true, grace restart is enabled "; + } + leaf last-nsf-time { + type uint32; + description + " Length of time since the last NSF (s)"; + } + leaf grace-resync-time { + type uint32; + description + "Grace time to resync "; + } + leaf maximum-interfaces { + type uint32; + description + "Maximum number of interfaces"; + } + leaf maximum-paths { + type uint32; + description + "Maximum number of paths"; + } + leaf redistribution-limit { + type uint32; + description + "The number of redistributed prefixes allowed"; + } + leaf redistribution-threshold { + type uint32; + description + "When the number of redistributed prefixes + reaches this threshold, a warning message is + issued "; + } + leaf is-auto-cost { + type boolean; + description + "If true, auto cost is enabled"; + } + leaf reference-bandwidth { + type uint32; + description + "Reference Bandwdith used for metric calculation"; + } + leaf context-name { + type string { + length "0..32"; + } + description + "SNMP Context name"; + } + leaf snmp-trap-enabled { + type boolean; + description + "If true, snmp trap is enabled"; + } + leaf graceful-shutdown-state { + type Ospfv3-graceful-shutdown-state; + description + "Graceful shutdown state of OSPFv3"; + } + leaf redistribution-count { + type uint32; + description + "Current number of prefixes redistributed"; + } + list stub-router { + description + "Stub Router Information"; + uses OSPFV3-SH-STUB-ROUTER; + } + list ipfrr-tiebreakers { + description + "IPFRR-Tiebreakers list"; + uses OSPF-SH-IPFRR-TB; + } + } + + grouping OSPFV3-EDM-PROTOCOL { + description + "OSPFv3 Protocol Information"; + leaf protocol-router-id { + type inet:ipv4-address; + description + "OSPFv3 router ID"; + } + leaf administrative-distance { + type uint32; + description + "Administrative distance of OSPFv3 routes"; + } + leaf administrative-distance-inter-area { + type uint32; + description + "Administrative Distance for Inter Area routes"; + } + leaf administrative-distance-external { + type uint32; + description + "Administrative Distance for External routes"; + } + leaf is-graceful-restart { + type boolean; + description + "If true, Graceful restart is enabled "; + } + leaf distribute-list-in { + type string; + description + "Name of the ACL specified as Distribute List"; + } + } + + grouping OSPFV3-EDM-BATCH-STATS { + description + "OSPFv3 RIB batch statistics"; + leaf batches-sent { + type uint32; + description + "No. of RIB batches sent"; + } + leaf routes-sent { + type uint32; + description + "No. of Routes sent to RIB"; + } + leaf routes-pending { + type uint32; + description + "No of Pending Routes"; + } + leaf max-routes { + type uint32; + description + "Max No. of Routes in a batch"; + } + leaf paths-sent { + type uint32; + description + "No. of Paths sent to RIB"; + } + leaf paths-pending { + type uint32; + description + "No. of paths waiting to be sent to RIB"; + } + leaf paths-add { + type uint32; + description + "No. of paths added to RIB"; + } + leaf paths-add-errs { + type uint32; + description + "No. of paths add errors"; + } + leaf paths-del { + type uint32; + description + "No. of paths del sent to RIB"; + } + leaf paths-del-errs { + type uint32; + description + "No. of Paths del errors"; + } + } + + grouping OSPFV3-EDM-PRIO-STATS { + description + "OSPFv3 SPF prefix priority classification + statistics"; + leaf critical { + type uint32; + description + "Critical priority classifications"; + } + leaf high { + type uint32; + description + "High priority classifications"; + } + leaf medium { + type uint32; + description + "Medium priority classifications"; + } + leaf low { + type uint32; + description + "Low priority classifications"; + } + } + + grouping OSPFV3-EDM-RAW-STATS { + description + "OSPFv3 raw I/O statistics"; + leaf raw-conn-open { + type uint64; + description + "Raw Connections Open"; + } + leaf raw-conn-close { + type uint64; + description + "Raw Connections Close"; + } + leaf raw-conn-error { + type uint64; + description + "Raw Connections Error"; + } + leaf in-packets { + type uint64; + description + "Received Packets"; + } + leaf in-bytes { + type uint64; + units "byte"; + description + "Received Bytes"; + } + leaf in-long-packets { + type uint64; + description + "Received Long Packets"; + } + leaf in-malloc-drops { + type uint64; + description + "In Malloc Drops"; + } + leaf in-handle-drops { + type uint64; + description + "In Handle Drops"; + } + leaf in-short-drops { + type uint64; + description + "In Short Drops"; + } + leaf in-error-drops { + type uint64; + description + "In Error Drops"; + } + leaf in-ipsec-drops { + type uint64; + description + "In IPSEC Drops"; + } + leaf in-queue-drops { + type uint64; + description + "In Queue Drops"; + } + leaf out-packets { + type uint64; + description + "Packets Sent"; + } + leaf out-bytes { + type uint64; + units "byte"; + description + "Sent Bytes"; + } + leaf out-nofd-drops { + type uint64; + description + "No FileDescriptor Drops"; + } + leaf out-error-drops { + type uint64; + description + "Error Drops"; + } + leaf out-ipsec-drops { + type uint64; + description + "Out IPSEC Drops"; + } + leaf out-nopak-drops { + type uint64; + description + "No Packet Buffers"; + } + leaf out-pakapi-errors { + type uint64; + description + "PAK API Errors"; + } + leaf raw-conn-state { + type uint32; + description + "Raw Connection State"; + } + } + + grouping OSPFV3-EDM-SPF-AREA-STATS { + description + "OSPFv3 SPF Area Statistics Information"; + container spf-stat-time { + description + "SPF time calculations"; + uses OSPFV3-SPF-TIME; + } + leaf spf-stat-area-id { + type uint32; + description + "Area ID for area of these SPF statistics"; + } + list spf-stat-lsa-type-count { + max-elements "8"; + description + "Counts of LSA types triggering an SPF + calculation"; + leaf entry { + type uint32; + description + "Counts of LSA types triggering an SPF + calculation"; + } + } + } + + grouping OSPFV3-LSA-CHANGE { + description + "OSPFv3 LSA Change Information"; + leaf lsa-area-id { + type uint32; + description + "Area ID"; + } + leaf lsa-advertising-router { + type inet:ipv4-address; + description + "Advertising router ID"; + } + leaf lsa-id { + type inet:ipv4-address; + description + "LSA ID"; + } + leaf lsa-type { + type uint8; + description + "LSA type"; + } + leaf lsa-flush { + type boolean; + description + "If true, the LSA change is a flush"; + } + } + + grouping OSPFV3-SPF-TIME { + description + "OSPFv3 SPF Time Information"; + leaf dijkstra { + type uint32; + description + "Dijkstra time in msec"; + } + leaf intra-prefix { + type uint32; + description + "Intra-prefix processing time in msec"; + } + leaf intra-prefix-del { + type uint32; + description + "Intra-prefix deletion time in msec"; + } + leaf inter-prefix { + type uint32; + description + "Inter-prefix processing time in msec"; + } + leaf inter-prefix-del { + type uint32; + description + "Intra-prefix deletion time in msec"; + } + leaf external-prefix { + type uint32; + description + "External prefix processing time in msec"; + } + leaf external-prefix-del { + type uint32; + description + "External prefix deletion time in msec"; + } + leaf rib-add { + type uint32; + description + "RIB add processing time in msec"; + } + leaf rib-del { + type uint32; + description + "RIB deletion time in msec"; + } + } + + grouping OSPFV3-RUNTIME-STATS { + description + "OSPFv3 SPF Runtime Statistics Information"; + container global-time { + description + "Global SPF times"; + uses OSPFV3-SPF-TIME; + } + leaf start-time { + type uint32; + description + "SPF calculation start time"; + } + leaf rib-add-routes { + type uint32; + description + "Number of routes added to RIB"; + } + leaf rib-delete-routes { + type uint32; + description + "Number of routes deleted from RIB"; + } + leaf spf-number { + type uint8; + description + "SPF ID"; + } + leaf reason-flags { + type yang:hex-string; + description + "Reasons for triggering an SPF calculation Bit 1 + - Router LSA update Bit 2 - Network LSA update + Bit 3 - Inter-Area Prefix LSA update Bit 4 - + Inter-Area Router LSA update Bit 5 - AS External + LSA update Bit 6 - MOSPF LSA update Bit 7 - Type + 7 AS External LSA update Bit 8 - Link LSA update + Bit 9 - Prefix LSA update"; + } + leaf lsa-changes { + type int16; + description + "Number of LSA changes triggering an SPF + calculation"; + } + list lsa { + max-elements "5"; + description + "List of LSAs triggering the SPF calculation"; + uses OSPFV3-LSA-CHANGE; + } + list area-stat { + description + "List of per-area SPF statistics"; + uses OSPFV3-EDM-SPF-AREA-STATS; + } + } + + grouping OSPFV3-EDM-AREA-SUMM { + description + "OSPFv3 Area SPF Information"; + leaf area-id { + type uint32; + description + "Area ID of the area SPF statistics"; + } + leaf sp-fs { + type uint32; + description + "Number of SPF calculations"; + } + } + + grouping OSPFV3-HEADER-INFO { + description + "OSPFv3 SPF Statistics Header Information"; + leaf header-router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf header-sp-fs { + type uint32; + description + "Number of SPF calculations"; + } + list area-summary { + description + "List of Areas with SPF statistics"; + uses OSPFV3-EDM-AREA-SUMM; + } + } + + grouping OSPFV3-EDM-SPF-STATS { + description + "OSPFv3 SPF statistics"; + container spf-header { + description + "SPF statistics header"; + uses OSPFV3-HEADER-INFO; + } + list spf-runtime { + description + "List of SPF run-time statistics"; + uses OSPFV3-RUNTIME-STATS; + } + } + + grouping OSPFV3-EDM-PROTO-STATS { + description + "OSPFv3 protocol statistics"; + leaf total-in-packets { + type uint64; + description + "Total packets in"; + } + leaf hello-in-packets { + type uint64; + description + "Hello packets in"; + } + leaf dbdes-in-packets { + type uint64; + description + "Database Description Packets in"; + } + leaf dbdes-in-ls-as { + type uint64; + description + "Database Description LSAs in"; + } + leaf ls-req-in-packets { + type uint64; + description + "LSA Requests in"; + } + leaf ls-req-in-ls-as { + type uint64; + description + "LS Requests in"; + } + leaf ls-upd-in-packets { + type uint64; + description + "LS Updates Packets in"; + } + leaf ls-upd-in-ignored { + type uint64; + description + "LS Updates ignored"; + } + leaf ls-upd-in-ls-as { + type uint64; + description + "LS Updates LSAs in"; + } + leaf ls-ack-in-packets { + type uint64; + description + "LS Acks Packets in"; + } + leaf ls-ack-in-ls-as { + type uint64; + description + "LS Ack LSAs in"; + } + leaf total-out-packets { + type uint64; + description + "Total Packets sent out"; + } + leaf hello-out-packets { + type uint64; + description + "Hello Packets sent out"; + } + leaf dbdes-out-packets { + type uint64; + description + "Database Description Packets out"; + } + leaf dbdes-out-ls-as { + type uint64; + description + "Database Description LSAs out"; + } + leaf ls-req-out-packets { + type uint64; + description + "LS Request Packets out"; + } + leaf ls-req-out-ls-as { + type uint64; + description + "LS Reuqests LSAs out"; + } + leaf ls-upd-out-packets { + type uint64; + description + "LS Update Packets out"; + } + leaf ls-upd-out-ls-as { + type uint64; + description + "LS Update LSAs out"; + } + leaf ls-ack-out-packets { + type uint64; + description + "LS Ack Packets out"; + } + leaf ls-ack-out-ls-as { + type uint64; + description + "LS Ack LSAs out"; + } + leaf dropped-in-gs { + type uint64; + description + "Dropped in GS"; + } + leaf checksum-err { + type uint64; + description + "Checksum Errors"; + } + } + + grouping OSPFV3-EDM-TOPOLOGY-CONNECTED { + description + "OSPFv3 Topology Connected Information"; + container route-topology { + description + "Common Route topology information"; + uses OSPFV3-EDM-TOPOLOGY; + } + list route-path { + description + "List of paths to this route"; + uses OSPFV3-EDM-TOP-PATH; + } + } + + grouping OSPFV3-EDM-PROTO-INTF { + description + "OSPFv3 Protocol Interface Information"; + leaf interface-name { + type xr:Interface-name; + description + "Protocol interface name "; + } + leaf distribute-list-in { + type string; + description + "Name of the ACL specified as Distribute List"; + } + } + + grouping OSPFV3-EDM-PROTO-AREA { + description + "OSPFv3 Protocol Area Information"; + leaf protocol-area-id { + type string { + length "0..16"; + } + description + "Area ID string in decimal and dotted-decimal + format"; + } + leaf distribute-list-in { + type string; + description + "Name of the ACL specified as Distribute List"; + } + list protocol-interface { + description + "Interface list"; + uses OSPFV3-EDM-PROTO-INTF; + } + } + + grouping OSPFV3-SH-SLINK-NEIGHBOR { + description + "Sham Link Neighbor Information"; + container sham-link-retransmission { + description + "Neighbor retransmission info"; + uses OSPFV3-EDM-NEIGHBOR-RETRANS; + } + leaf sham-link-suppress-hello { + type boolean; + description + "If true Hellos suppressed"; + } + leaf sham-link-state { + type Ospfv3-neighbor-state; + description + "Adjacency state"; + } + } + + grouping OSPFV3-SH-SHAM-LINKS { + description + "OSPFv3 Sham Link"; + container sham-link-neighbor { + description + "Neighbor information"; + uses OSPFV3-SH-SLINK-NEIGHBOR; + } + leaf sham-link-neighbor-id { + type inet:ipv4-address; + description + "Neighbor on other end of this sham link"; + } + leaf sham-link-source-address { + type inet:ipv6-address; + description + "Sham-link source"; + } + leaf sham-link-dest-address { + type inet:ipv6-address; + description + "Sham-link dest"; + } + leaf sham-link-state { + type Ospfv3-interface-state; + description + "OSPF interface state for the sham link"; + } + leaf sham-link-demand-circuit { + type boolean; + description + "If true, the link runs as demand circuit"; + } + leaf sham-link-dc-bitless-lsa { + type uint32; + description + "Number of LSA's with demand circuit bit not set"; + } + leaf sham-link-ifindex { + type uint32; + description + "Ifindex of the shamlink"; + } + leaf sham-link-area { + type string; + description + "Area id"; + } + leaf sham-link-cost { + type uint16; + description + "Cost of the sham link"; + } + leaf sham-link-transmission-delay { + type uint16; + units "second"; + description + "Transmission delay in seconds"; + } + leaf sham-link-hello-interval { + type uint32; + description + "Hello interval (s)"; + } + leaf sham-link-dead-interval { + type uint32; + description + "Dead interval (s)"; + } + leaf sham-link-wait-interval { + type uint32; + description + "Wait interval (s)"; + } + leaf sham-link-retransmission-interval { + type uint32; + description + "Retransmission interval (s)"; + } + leaf sham-link-next-hello { + type uint32; + description + "Time until next hello (s)"; + } + leaf sham-link-passive { + type boolean; + description + "If true, interface is passive"; + } + leaf is-sham-link-ip-security-required { + type boolean; + description + "If true, sham link IP security is required "; + } + leaf is-sham-link-ip-security-active { + type boolean; + description + "If true, Sham link IP security is active "; + } + leaf is-sham-link-authentication-enabled { + type boolean; + description + "If true, authentication is enabled for the sham + link"; + } + leaf virtual-link-authentication-spi { + type uint32; + description + "Authentication Security Parameter Index for the + sham link"; + } + leaf sham-link-authentication-transmit { + type uint32; + description + "Authentication algorithm for the sham link"; + } + leaf is-sham-link-encryption-enabled { + type boolean; + description + "If true, encryption is enabled for the sham link"; + } + leaf sham-link-encryption-spi { + type uint32; + description + "Encryption Security Parameter Index for the sham + link"; + } + leaf sham-link-encryption-transmitted { + type uint32; + description + "Algorithm for the sham link"; + } + leaf sham-link-encrypted-authentication-transmitted { + type uint32; + description + "Encrypted Authentication algorithm for the sham + link"; + } + leaf sham-link-gr-enabled { + type boolean; + description + "If true, graceful restart is enabled"; + } + leaf sham-link-gr { + type boolean; + description + "If true, Gracefule restart is in progress"; + } + leaf sham-link-last-gr { + type uint32; + units "second"; + description + "Time in seconds since last GR"; + } + } + + grouping OSPFV3-EDM-TOP-SOURCE { + description + "OSPFv3 topology source information"; + leaf route-source-adversting-router { + type inet:ipv4-address; + description + "Source of route for the advertising router"; + } + leaf route-source-id { + type inet:ipv4-address; + description + "Route source ID "; + } + leaf route-source-lsa-type { + type uint32; + description + "Type of LSA advertising the prefix, see RFC5340"; + } + } + + grouping OSPFV3-EDM-TOPOLOGY-INTERNAL { + description + "OSPFv3 Topology Internal Information"; + container route-topology { + description + "Common Route topology information"; + uses OSPFV3-EDM-TOPOLOGY; + } + leaf route-area-id { + type uint32; + description + "Route area ID "; + } + list route-source { + description + "List of topology source information"; + uses OSPFV3-EDM-TOP-SOURCE; + } + list route-path { + description + "List of paths to this route"; + uses OSPFV3-EDM-TOP-PATH; + } + } + + grouping OSPFV3-EDM-RETRANS { + description + "OSPFv3 retransmission list information"; + leaf retransmission-neighbor-address { + type inet:ipv6-address; + description + "Neighbor IP address"; + } + leaf is-retransmissionvirtual-link { + type boolean; + description + "If true, retransmission is over a virtual link"; + } + leaf retransmissionvirtual-link-id { + type uint32; + description + "Virtual link ID if Retransmission is over a + virtual link"; + } + leaf is-retransmission-sham-link { + type boolean; + description + "If true, retransmission is over a sham link"; + } + leaf retransmission-sham-link-id { + type uint32; + description + "Sham link ID if Retransmission is over a sham + link"; + } + leaf retransmission-timer { + type uint32; + description + "Amount of time remaining on retransmission timer + (ms)"; + } + leaf retransmission-length { + type uint32; + description + "Current length of the Retransmission queue"; + } + list retransmissionvirtual-link-db { + description + "List of virtual link scope entries "; + uses OSPFV3-EDM-LSA-SUM; + } + list retransmission-area-db { + description + "List of area scope entries"; + uses OSPFV3-EDM-LSA-SUM; + } + list retransmission-asdb { + description + "List of AS scope entries"; + uses OSPFV3-EDM-LSA-SUM; + } + } + + grouping OSPFV3-EDM-DB-SUMMARY-COUNTERS { + description + "OSPFv3 Database Summary Counters"; + list lsa { + max-elements "15"; + description + "Total LSA count"; + leaf entry { + type uint32; + description + "Total LSA count"; + } + } + list deleted-lsa { + max-elements "15"; + description + "Count of LSAs deleted"; + leaf entry { + type uint32; + description + "Count of LSAs deleted"; + } + } + list max-age-lsa { + max-elements "15"; + description + "Count of LSAs maxaged"; + leaf entry { + type uint32; + description + "Count of LSAs maxaged"; + } + } + list lsa-checksum { + max-elements "15"; + description + "Sum of LSA checksum values"; + leaf entry { + type uint32; + description + "Sum of LSA checksum values"; + } + } + } + + grouping OSPFV3-EDM-DB-SUMMARY-AREA { + description + "OSPFv3 Area Database Summary"; + container area-database-summary { + description + "Summary of Area database"; + uses OSPFV3-EDM-DB-SUMMARY-COUNTERS; + } + leaf lsa-area-id { + type string { + length "0..16"; + } + description + "Area ID in decimal or dotted-decimal format"; + } + } + + grouping OSPFV3-EDM-DB-SUMMARY { + description + "OSPFv3 Database Summary"; + container database-counters { + description + "OSPFv3 database statistics"; + uses OSPFV3-EDM-DB-SUMMARY-COUNTERS; + } + leaf database-router-id { + type inet:ipv4-address; + description + "Self router ID "; + } + leaf is-opaque-database-capable { + type boolean; + description + "If true, opaque database is capable "; + } + list area-database { + description + "OSPFv3 Area Database list "; + uses OSPFV3-EDM-DB-SUMMARY-AREA; + } + } + + grouping OSPFV3-EDM-INTF-BRIEF { + description + "OSPFv3 brief interface information"; + leaf interface-address { + type inet:ipv6-address; + description + "IP address of the interface"; + } + leaf interface-link-cost { + type uint16; + description + "Link cost/metric of this interface"; + } + leaf ospf-interface-state { + type Ospfv3-interface-state; + description + "Interface OSPF state"; + } + leaf interface-neighbors { + type uint16; + description + "Total number of neighbors "; + } + leaf interface-adjacent-neighbors { + type uint16; + description + "Total number of adjacent neighbors"; + } + leaf network-type { + type Ospfv3-interface; + description + "OSPFv3 Network type of the interface"; + } + } + + grouping OSPFV3-EDM-NEIGHBOR-BFD { + description + "OSPFv3 Neighbor BFD information"; + leaf bfd-intf-enable-mode { + type uint32; + description + "BFD enable mode - Default/Strict"; + } + leaf bfd-status-flag { + type uint8; + description + "Status of the BFD Session"; + } + } + + grouping OSPFV3-EDM-NEIGHBOR-DETAIL { + description + "Detailed OSPFv3 neighbor information"; + container neighbor-retransmission { + description + "Retransmission information with this neighbor"; + uses OSPFV3-EDM-NEIGHBOR-RETRANS; + } + leaf state-changes { + type uint16; + description + "Number of state changes "; + } + leaf neighbor-cost { + type uint16; + description + "Cost of path to this neighbor "; + } + leaf is-neighbor-filtered { + type boolean; + description + "If true, filter outgoing LSAs "; + } + leaf neighbor-designated-router-address { + type inet:ipv4-address; + description + "Address of designated router"; + } + leaf neighbor-backup-designated-router-address { + type inet:ipv4-address; + description + "Address of backup designated router"; + } + leaf interface-type { + type Ospfv3-interface; + description + "Type of Interface"; + } + leaf poll-interval { + type uint32; + description + "Poll interval (s)"; + } + leaf next-poll-interval { + type uint32; + units "second"; + description + "For NBMA networks, amount of time remaining in + seconds before the next poll interval expires + and Hello is sent (s)"; + } + leaf neighbor-ignore-timer { + type uint32; + description + "Remaining time when ignore timer is running "; + } + leaf neighbor-option { + type uint32; + description + " This is bitmask of neighbor's option field + received "; + } + leaf neighbor-lls-option { + type uint32; + description + " This is bitmask of neighbor's LLS option field + received "; + } + leaf pending-events { + type uint16; + description + "Number of pending events "; + } + } + + grouping OSPFV3-EDM-NEIGHBOR { + description + "OSPFv3 neighbor summary information"; + container neighbor-detail { + description + "Detailed OSPFv3 neighbor information "; + uses OSPFV3-EDM-NEIGHBOR-DETAIL; + } + container neighbor-bfd-info { + description + "Neighbor BFD information"; + uses OSPFV3-EDM-NEIGHBOR-BFD; + } + leaf neighbor-address-xr { + type inet:ipv6-address; + description + "Neighbor IP Address"; + } + leaf neighbor-interface-id { + type uint32; + description + "Interface ID of the neighbor"; + } + leaf neighbor-dr-priority { + type uint8; + description + "DR priority of the neighbor"; + } + leaf neighbor-state { + type Ospfv3-neighbor-state; + description + "NFSM state of the neighbor"; + } + leaf neighbor-designated-router { + type string { + length "0..9"; + } + description + "Designated router "; + } + leaf neighbor-dead-timer { + type uint32; + units "second"; + description + "Time until neighbor's dead timer expires + (seconds)"; + } + leaf neighbor-up-time { + type uint32; + units "second"; + description + "Amount of time since the adjacency is up + (seconds)"; + } + leaf neighbor-virtual-link-id { + type uint32; + description + "Virtual link id of the neighbor if this neighbor + is on a virtual link"; + } + leaf is-neighbor-virtual-link { + type boolean; + description + "If true, neighbor is on a virtual link "; + } + leaf neighbor-sham-link-id { + type uint32; + description + "Sham link id of the neighbor if this neighbor is + on a sham link"; + } + leaf is-neighbor-sham-link { + type boolean; + description + "If true, neighbor is on a sham link "; + } + } + + grouping OSPFV3-EDM-ROUTE-SUM { + description + "OSPFv3 route summary information"; + leaf route-id { + type inet:ipv4-address; + description + "Route summary of a route ID "; + } + leaf intra-area-route { + type uint32; + description + "Intra route summary "; + } + leaf inter-area-route { + type uint32; + description + "Inter route summary "; + } + leaf extern-one-route { + type uint32; + description + "Extern 1 route summary "; + } + leaf extern-two-route { + type uint32; + description + "Extern 2 route summary "; + } + leaf nssa-one-route { + type uint32; + description + "NSSA 1 route summary "; + } + leaf nssa-two-route { + type uint32; + description + "NSSA 2 route summary "; + } + leaf total-sent-route { + type uint32; + description + "Total route summary "; + } + leaf route-connected { + type uint32; + description + "Total connected routes"; + } + leaf redistribution-route { + type uint32; + description + "Redistribution route summary "; + } + leaf total-received-route { + type uint32; + description + "Total route received summary"; + } + } + + grouping OSPFV3-EDM-FLOOD-LIST { + description + "OSPFv3 flood list information"; + leaf ls-transmission-timer { + type uint32; + description + "Time until next LS transmission (ms) "; + } + leaf queue-length { + type uint32; + description + "Number of LSAs currently being flooded "; + } + list link-flood { + description + "Link floodlist"; + uses OSPFV3-EDM-LSA-SUM; + } + list area-flood { + description + "Area scope floodlist"; + uses OSPFV3-EDM-LSA-SUM; + } + list as-flood { + description + "AS scope floodlist"; + uses OSPFV3-EDM-LSA-SUM; + } + } + + grouping OSPFV3-EDM-LSA-SUM { + description + "LSA summary entry"; + leaf header-lsa-type { + type Ospfv3-lsa1; + description + "LSA type"; + } + leaf header-lsa-age { + type uint16; + units "second"; + description + "Age of the LSA (seconds)"; + } + leaf header-lsa-id { + type inet:ipv4-address; + description + "LSA ID"; + } + leaf header-advertising-router { + type inet:ipv4-address; + description + "Router ID of the advertising router"; + } + leaf header-sequence-number { + type uint32; + description + "Current LSA sequence number"; + } + leaf header-lsa-checksum { + type uint16; + description + "Checksum of the LSA"; + } + } + + grouping OSPFV3-EDM-REQUEST { + description + "OSPFv3 request list information"; + leaf request-neighbor-address { + type inet:ipv6-address; + description + "Neighbor IP address"; + } + leaf is-request-virtual-link { + type boolean; + description + "Whether the request list is to be sent over a + virtual link"; + } + leaf request-virtual-link-id { + type uint32; + description + "Virtual link ID in case it is a virtual link"; + } + leaf is-request-sham-link { + type boolean; + description + "Whether the request list is to be sent over a + sham link"; + } + leaf request-sham-link-id { + type uint32; + description + "Sham link ID in case it is a sham link"; + } + list request { + description + "List of request list entries"; + uses OSPFV3-EDM-LSA-SUM; + } + } + + grouping OSPFV3-SH-ROUTE-EXTENDED-COMM { + description + "OSPF External Route Extended Community + Information"; + leaf extended-community-domain-id-value { + type yang:hex-string; + description + "Domain ID value"; + } + leaf extended-communityl-domain-id-type { + type uint16; + description + "Domain ID type"; + } + leaf extended-community-area-id { + type uint32; + description + "Area id"; + } + leaf extended-community-router-id { + type inet:ipv4-address; + description + "Router id"; + } + leaf extended-community-route-type { + type uint8; + description + "Route type"; + } + leaf extended-community-options { + type uint8; + description + "Route Options"; + } + } + + grouping OSPFV3-SH-NNH-INFO { + description + "OSPF Neighbor NextHop Information"; + leaf neighbor-next-hop-intf-index { + type uint32; + description + "Neighbor NextHop Interface Index"; + } + } + + grouping OSPFV3-SH-BACKUP-PATH { + description + "OSPFv3 Route Backup Path Information"; + leaf backup-route-interface-name { + type xr:Interface-name; + description + "Next hop Interface"; + } + leaf backup-route-next-hop-address { + type inet:ipv6-address; + description + "Nexthop IP address"; + } + leaf backup-route-source { + type inet:ipv4-address; + description + "IP address of source of route"; + } + leaf backup-metric { + type uint32; + description + "Metric"; + } + leaf primary-path { + type boolean; + description + "Whether this path is selected as primary path"; + } + leaf line-card-disjoint { + type boolean; + description + "Whether this path is Line Card Disjoint"; + } + leaf downstream { + type boolean; + description + "Whether this path is Downstream"; + } + leaf node-protect { + type boolean; + description + "Whether this path is Node Protecting"; + } + leaf srlg-disjoint { + type boolean; + description + "Whether this path is SRLG Disjoint"; + } + } + + grouping OSPFV3-EDM-TOP-PATH { + description + "OSPFv3 topology path information"; + container route-backup-path { + description + "Backup Path Info"; + uses OSPFV3-SH-BACKUP-PATH; + } + leaf interface-name { + type xr:Interface-name; + description + "Route path interface name "; + } + leaf interface-index { + type uint32; + description + "Route path interface Index "; + } + leaf route-path-next-hop { + type inet:ipv6-address; + description + "Next hop of this path"; + } + leaf route-path-id { + type uint16; + description + "Path ID of path"; + } + list neighbor-next-hop { + description + "NeighborNextHop"; + uses OSPFV3-SH-NNH-INFO; + } + } + + grouping OSPFV3-EDM-TOPOLOGY { + description + "OSPFv3 Topology Information"; + leaf route-id { + type inet:ipv4-address; + description + "Route ID "; + } + leaf route-distance { + type uint32; + description + "Route admin distance "; + } + leaf route-cost { + type uint32; + description + "Route cost/metric "; + } + leaf route-type { + type uint32; + description + "Type of route subtype"; + } + } + + grouping OSPFV3-EDM-TOPOLOGY-EXTERNAL { + description + "OSPFv3 Topology External Information"; + container route-topology { + description + "Common Route topology information"; + uses OSPFV3-EDM-TOPOLOGY; + } + container route-extended-community { + description + "Extended communities in the route"; + uses OSPFV3-SH-ROUTE-EXTENDED-COMM; + } + list route-path { + description + "List of paths to this route"; + uses OSPFV3-EDM-TOP-PATH; + } + } + + grouping OSPFV3-EDM-REDIST { + description + "OSPFv3 Redistribution Information"; + leaf protocol-name-xr { + type string { + length "0..40"; + } + description + "Name of the protocol being redistributed"; + } + leaf process-id { + type string { + length "0..40"; + } + description + "Process ID "; + } + leaf redist-metric-flag { + type boolean; + description + "Redistribution metric flag"; + } + leaf redist-metric { + type uint32; + description + "Redistribution metric"; + } + leaf redist-metric-type-flag { + type boolean; + description + "Whether Redistribution Metric Type is configured"; + } + leaf redist-metric-type { + type uint8; + description + "Redistribution metric type"; + } + leaf redist-tag { + type uint32; + description + "Redistribution Tag"; + } + leaf policy-name { + type string; + description + "Route policy name "; + } + } + + grouping OSPFV3-EDM-INTERFACE-BFD { + description + "Interface BFD information"; + leaf bfd-intf-enable-mode { + type uint32; + description + "BFD Enable Mode on the interface - + Default/Strict"; + } + leaf bfd-interval { + type uint32; + description + "BFD interval (ms) "; + } + leaf bfd-detection-multiplier { + type uint32; + description + "Detection multiplier value used by BFD"; + } + } + + grouping OSPFV3-EDM-INTERFACE-UP { + description + "OSPFv3 interface up-only information"; + leaf wait-time { + type uint32; + description + "Wait time for DR/BDR selection (s)"; + } + leaf interface-area-flood-index { + type uint32; + description + "Area scope LSAs flood index"; + } + leaf interface-as-flood-index { + type uint32; + description + "AS scope LSAs flood index "; + } + leaf interface-link-flood-index { + type uint32; + description + "Interface flood link index "; + } + leaf flood-queue-length { + type uint32; + description + "Length of the Flood queue"; + } + leaf interface-area-next-flood { + type uint32; + description + "Next LSA to flood (Area scope)"; + } + leaf interface-area-next-flood-index { + type uint32; + description + "Index of next LSA to flood (Area scope) "; + } + leaf interface-as-next-flood { + type uint32; + description + "Next LSA to flood (AS scope)"; + } + leaf interface-as-next-flood-index { + type uint32; + description + "Index of next LSA to flood (AS scope)"; + } + leaf interface-link-next-flood { + type uint32; + description + "Interface link next flood information "; + } + leaf interface-link-next-index { + type uint32; + description + "Interface link next information index "; + } + leaf flood-scan-length { + type uint32; + description + "Number of LSAs in the last update packet"; + } + leaf maximum-flood-length { + type uint32; + description + "Maximum number of LSAs sent in an update packet + till now"; + } + leaf last-flood-time { + type uint32; + description + "Time taken for last flooding (ms)"; + } + leaf maximum-flood-time { + type uint32; + description + "Maximum time taken for flooding (ms) till now"; + } + leaf interface-flood-pacing-timer { + type uint32; + description + "Time until next flood pacing timer (ms) "; + } + leaf interface-neighbors { + type uint16; + description + "Total number of neighbors "; + } + leaf suppressed-hellos { + type uint16; + description + "Number of neighbors for which hellos are + suppressed "; + } + } + + grouping OSPFV3-EDM-INTERFACE-NBR { + description + "OSPFv3 interface neighbor information"; + leaf interface-neighbor-id { + type inet:ipv4-address; + description + "Neighbor router ID "; + } + leaf interface-neighbor-cost { + type uint32; + description + "Cost of link to neighbor"; + } + leaf is-neighbor-dr { + type boolean; + description + "If true, designated router is found "; + } + leaf is-neighbor-bdr { + type boolean; + description + "If true, backup designated router is found "; + } + leaf is-hello-suppressed { + type boolean; + description + "If true, hello is suppressed "; + } + } + + grouping OSPFV3-EDM-INTERFACE { + description + "OSPFv3 interface information"; + container active-interface { + description + "Active interface details "; + uses OSPFV3-EDM-INTERFACE-UP; + } + container interface-bfd { + description + "BFD information "; + uses OSPFV3-EDM-INTERFACE-BFD; + } + leaf interface-state { + type Im-state-enum; + description + "State of the interface"; + } + leaf is-interface-line-up { + type boolean; + description + "If true, line protocol is up "; + } + leaf is-interface-ip-security-required { + type boolean; + description + "If true, interface IP security is required "; + } + leaf is-interface-ip-security-active { + type boolean; + description + "If true, interface IP security is active "; + } + leaf interface-address { + type inet:ipv6-address; + description + "IPv6 address of the Interface"; + } + leaf interface-number { + type uint32; + description + "Interface ifindex number "; + } + leaf interface-router-id { + type inet:ipv4-address; + description + "Self router ID "; + } + leaf network-type { + type Ospfv3-interface; + description + "OSPF Network type of the interface"; + } + leaf interface-link-cost { + type uint16; + description + "Link cost/metric of this Interface"; + } + leaf is-interface-flood-reduction { + type boolean; + description + "If true, interface flood reduction is active "; + } + leaf is-demand-circuit-configured { + type boolean; + description + "If true, configured as demand circuit "; + } + leaf is-interface-demand-circuit { + type boolean; + description + "If true, interface running as demand circuit"; + } + leaf interface-dc-bitless-ls-as { + type uint32; + description + "Number of LSAs with demand circuit bit not set + for the area in which the interface is running"; + } + leaf transmission-delay { + type uint16; + description + "Interface transmission delay (sec)"; + } + leaf ospf-interface-state { + type Ospfv3-interface-state; + description + "OSPF IFSM state of this interface"; + } + leaf interface-priority { + type uint8; + description + "DR-priority of this interface"; + } + leaf is-designated-router { + type boolean; + description + "If true, this router is the designated router + for this network"; + } + leaf designated-router-id { + type inet:ipv4-address; + description + "ID of the Designated router of this network"; + } + leaf designated-router-address { + type inet:ipv6-address; + description + "IPv6 address of the Designated router for this + network"; + } + leaf backup-designated-router-id { + type inet:ipv4-address; + description + "ID of the Backup Designated router of this + network"; + } + leaf backup-designated-router-address { + type inet:ipv6-address; + description + "IPv6 address of the Backup Designated router for + this network"; + } + leaf network-lsa-flush-timer { + type uint32; + units "second"; + description + "The amount of time in seconds before flush timer + for old network LSA expires "; + } + leaf is-interface-lsa-filtered { + type boolean; + description + "Filter is configured for out going LSAs "; + } + leaf hello-interval { + type uint32; + description + "Configured hello interval (s)"; + } + leaf dead-interval { + type uint32; + description + "Configured dead interval (s) "; + } + leaf wait-interval { + type uint32; + description + "Configured wait interval (s) "; + } + leaf interface-retransmission-interval { + type uint32; + description + "Configured retransmit interval (s) "; + } + leaf next-hello-time { + type uint32; + description + "Time until next Hello (s) "; + } + leaf interface-authentication-spi { + type uint32; + description + "Authentication Security Parameter Index for this + interface"; + } + leaf interface-authentication-transmit { + type uint32; + description + "Interface authentication algorithm type "; + } + leaf is-interface-encryption-enabled { + type boolean; + description + "Whether encryption is enabled for OSPF packets + on this interface"; + } + leaf is-prefix-suppress { + type boolean; + description + "If true prefix suppression is enabled"; + } + leaf interface-encryption-spi { + type uint32; + description + "Encryption Security Parameter Index for this + interface"; + } + leaf interface-encryption-transmitted { + type uint32; + description + "Interface encryption algorithm type used"; + } + leaf interface-encrypted-authentication-transmitted { + type uint32; + description + "Interface encrypted authentication algorithm + type used"; + } + leaf adjacent-neighbor { + type uint32; + description + "Number of adjacent neighbors"; + } + leaf interface-references { + type uint32; + description + "Interface reference count "; + } + leaf configured-ldp-sync { + type boolean; + description + "If true, configured as LDP sync"; + } + leaf interface-ldp-sync { + type boolean; + description + "If true, interface LDP sync is achieved"; + } + leaf if-rib-l-csync-neede { + type boolean; + description + "rib lc sync needed"; + } + leaf if-rib-l-csync { + type boolean; + description + "rib lc sync state"; + } + leaf conditional-advertising-enabled { + type boolean; + description + "If Conditional advertising based on route-policy + is enabled"; + } + leaf conditional-advertise-policy-name { + type string; + description + "Name of the applied policy for Conditional + advertising"; + } + leaf conditional-advertising-result { + type boolean; + description + "Result of the policy applied for Conditional + advertising"; + } + leaf interface-bandwidth { + type uint32; + description + "Bandwidth of the Interface"; + } + leaf ip-mtu { + type uint16; + description + "IP MTU"; + } + list interface-neighbor { + description + "Information for neighbors on the interface"; + uses OSPFV3-EDM-INTERFACE-NBR; + } + } + + grouping OSPFV3-EDM-NEIGHBOR-RETRANS { + description + "OSPFv3 neighbor retransmission information"; + leaf database-descriptor-retransmissions { + type uint32; + description + "Number of database descriptor retransmissions + during last exchange"; + } + leaf area-flood-index { + type uint32; + description + "Area scope LSA's flood index"; + } + leaf as-flood-index { + type uint32; + description + "AS scope LSA's flood index"; + } + leaf link-flood-index { + type uint32; + description + "Link scope LSA's flood index"; + } + leaf neighbor-retransmissions { + type uint32; + description + "Number of LSAs added to this neighbor's + retransmit list"; + } + leaf retransmissions { + type uint32; + description + "Number of retransmission packets sent to this + neighbor"; + } + leaf area-first-flood { + type uint32; + description + "First flood item for area scope LSAs"; + } + leaf area-first-flood-index { + type uint32; + description + "Index of the first flood item for area scope + LSAs"; + } + leaf as-first-flood { + type uint32; + description + "First flood item for AS scope LSAs"; + } + leaf as-first-flood-index { + type uint32; + description + "Index for first flood item for AS scope LSAs"; + } + leaf link-first-flood { + type uint32; + description + "Link first flood information "; + } + leaf link-first-flood-index { + type uint32; + description + "Link first flood information index"; + } + leaf area-next-flood { + type uint32; + description + "Next flood item for area scope LSAs"; + } + leaf area-next-flood-index { + type uint32; + description + "Index of next flood item for Area scope LSAs"; + } + leaf as-next-flood { + type uint32; + description + "Next flood item for AS scope LSAs"; + } + leaf as-next-flood-index { + type uint32; + description + "Index of next flood item for AS scope LSAs"; + } + leaf link-next-flood { + type uint32; + description + "Link next flood information "; + } + leaf link-next-flood-index { + type uint32; + description + "Link next flood information index "; + } + leaf last-retransmission-length { + type uint32; + description + "Number of LSAs sent in last retransmission"; + } + leaf maximum-retransmission-length { + type uint32; + description + "Maximum number of LSAs sent in a retransmission"; + } + leaf last-retransmission-time { + type uint32; + description + "Time taken for last retransmission (ms)"; + } + leaf maximum-retransmission-time { + type uint32; + description + "Maximum time taken for retransmission (ms) till + now"; + } + leaf lsa-retransmission-timer { + type uint32; + description + "Time until next LSA retransmission (ms)"; + } + } + + grouping OSPFV3-EDM-VLINK-NEIGHBOR { + description + "OSPFv3 virtual link neighbor information"; + container virtual-link-retransmission { + description + "Virtual link retransmission information "; + uses OSPFV3-EDM-NEIGHBOR-RETRANS; + } + leaf is-virtual-link-hello-suppressed { + type boolean; + description + "If true, hello suppressed "; + } + leaf virtual-link-state { + type Ospfv3-interface-state; + description + "OSPF interface state for the virtual link"; + } + } + + grouping OSPFV3-EDM-VIRTUAL-LINKS { + description + "OSPFv3 virtual link information"; + container virtual-link-neighbor { + description + "Neighbor information "; + uses OSPFV3-EDM-VLINK-NEIGHBOR; + } + leaf virtual-link-neighbor-id { + type inet:ipv4-address; + description + "Neighbor on other end of this virtual link"; + } + leaf virtual-link-interface-number { + type uint32; + description + "Interface number of the Virtual link"; + } + leaf virtual-link-state { + type Ospfv3-interface-state; + description + "OSPF interface state for the virtual link"; + } + leaf is-virtual-link-ip-security-required { + type boolean; + description + "If true, virtual link IP security is required "; + } + leaf is-virtual-link-ip-security-active { + type boolean; + description + "If true, Virtual link IP security is active "; + } + leaf virtual-link-neighbor-address { + type inet:ipv6-address; + description + "IPv6 address of the neighbor on this Virtual + link"; + } + leaf is-virtual-link-demand-circuit { + type boolean; + description + "If true, the link runs as demand circuit"; + } + leaf virtual-link-dc-bitless-lsa { + type uint32; + description + "Number of LSA's with demand circuit bit not set "; + } + leaf transit-area-id { + type string; + description + "Area id of the transit area"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface on which this virtual link is formed"; + } + leaf virtual-link-cost { + type uint16; + description + "Cost of the virtual link"; + } + leaf virual-link-transmission-delay { + type uint16; + units "second"; + description + "Transmission delay in seconds"; + } + leaf virtual-link-hello-interval { + type uint32; + description + "Hello interval (s)"; + } + leaf virtual-link-dead-interval { + type uint32; + description + "Dead interval (s)"; + } + leaf virtual-link-wait-interval { + type uint32; + description + "Wait interval (s)"; + } + leaf virtual-link-retransmission-interval { + type uint32; + description + "Retransmission interval (s)"; + } + leaf virtual-link-next-hello { + type uint32; + description + "Time until next hello (s)"; + } + leaf is-virtual-link-passive { + type boolean; + description + "If true, interface is passive"; + } + leaf is-virtual-link-authentication-enabled { + type boolean; + description + "If true, authentication is enabled for this + virtual link"; + } + leaf virtual-link-authentication-spi { + type uint32; + description + "Authentication Security Parameter Index for this + virtual link"; + } + leaf virtual-link-authentication-transmit { + type uint32; + description + "Authentication algorithm for this virtual link"; + } + leaf is-virtual-link-encryption-enabled { + type boolean; + description + "If true, encryption is enabled for this virtual + link "; + } + leaf virtual-link-encryption-spi { + type uint32; + description + "Encryption Security Parameter Index for this + virtual link"; + } + leaf virtual-link-encryption-transmitted { + type uint32; + description + "Encryption algorithm for this virtual link"; + } + leaf virtual-link-encrypted-authentication-transmitted { + type uint32; + description + "Encrypted authentication algorithm for this + virtual link"; + } + } + + grouping OSPFV3-EDM-LSA-UNKNOWN { + description + "OSPFv3 Unknown LSA Database Information"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + leaf is-virtual-link { + type boolean; + description + "If true, it is a virtual link "; + } + leaf virtual-link-id { + type uint32; + description + "virtual link ID if it is a virtual link"; + } + leaf is-sham-link { + type boolean; + description + "If true, it is a sham link "; + } + leaf sham-link-id { + type uint32; + description + "Shamlink ID "; + } + } + + grouping OSPFV3-EDM-LSA-GRACE { + description + "OSPFv3 Grace LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf interface-name { + type xr:Interface-name; + description + "LSA interface handle"; + } + leaf is-virtual-link { + type boolean; + description + "If true, it is a virtual link"; + } + leaf virtual-link-id { + type uint32; + description + "virtual link ID if it is a virtual link"; + } + leaf is-sham-link { + type boolean; + description + "If true, it is a sham link"; + } + leaf sham-link-id { + type uint32; + description + "Sham link ID if it is a sham link"; + } + leaf grace-period { + type uint32; + description + "The grace periord where helper routers should + wait before advertising it fully adjacent(s) "; + } + leaf grace-reason { + type Ospfv3-graceful-restart-reason; + description + "Reason for router restart"; + } + } + + grouping OSPFV3-EDM-LSA-PREFIX { + description + "OSPFv3 Prefix LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf reference-type { + type Ospfv3-lsa1; + description + "Reference LSA type, whether Router or Network"; + } + leaf reference-lsa-id { + type uint32; + description + "LSA ID of the Reference LSA"; + } + leaf reference-advertised-router { + type inet:ipv4-address; + description + "Advertising Router ID of the Reference LSA"; + } + list prefix { + description + "OSPFv3 prefix "; + uses OSPFV3-EDM-PREFIX; + } + } + + grouping OSPFV3-EDM-PREFIX { + description + "OSPFv3 Prefix Type"; + leaf prefix { + type inet:ipv6-address; + description + "OSPFv3 prefix "; + } + leaf ospfv3-prefix-length { + type uint8; + description + "OSPFv3 prefix length of the IPv6 prefix"; + } + leaf ospfv3-prefix-options { + type uint8; + description + "OSPFv3 prefix options in the LSA"; + } + leaf ospfv3-prefix-metric { + type uint16; + description + "OSPFv3 prefix metric/cost"; + } + leaf priority { + type Prefix-priority; + description + "Prefix priority"; + } + } + + grouping OSPFV3-EDM-LSA-LINK { + description + "OSPFv3 Link LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf interface-name { + type xr:Interface-name; + description + "LSA interface handle"; + } + leaf is-virtual-link { + type boolean; + description + "If true, it is a virtual link"; + } + leaf virtual-link-id { + type uint32; + description + "virtual link ID if it is a virtual link"; + } + leaf is-sham-link { + type boolean; + description + "If true, it is a sham link"; + } + leaf sham-link-id { + type uint32; + description + "Sham link ID if it is a sham link"; + } + leaf lsa-link-local { + type inet:ipv6-address; + description + "Link local address"; + } + leaf router-priority { + type uint8; + description + "Router priority on this link"; + } + list prefix { + description + "OSPFv3 prefix "; + uses OSPFV3-EDM-PREFIX; + } + } + + grouping OSPFV3-EDM-LSA-EXTERNAL { + description + "OSPFv3 External LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA Information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf prefix { + type inet:ipv6-address; + description + "IPV6 address prefix "; + } + leaf prefix-length { + type uint8; + description + "Prefix length of the IPv6 address"; + } + leaf metric-type { + type Ospfv3-default-metric; + description + "Metric type, whether Type 1 or Type 2"; + } + leaf tos-cost { + type uint32; + description + "Type of service cost metric "; + } + leaf is-forwarding-address-set { + type boolean; + description + "If true, forwarding address is set "; + } + leaf forwarding-address { + type inet:ipv6-address; + description + "Forwarding Address of the external prefix"; + } + leaf external-tag { + type uint32; + description + "Route Tag"; + } + leaf priority { + type Prefix-priority; + description + "Prefix priority"; + } + } + + grouping OSPFV3-EDM-LSA-IARTR { + description + "OSPFv3 Inter-area Router LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf lsa-router-id { + type uint32; + description + "LSA router ID "; + } + } + + grouping OSPFV3-EDM-LSA-IAPFX { + description + "OSPFv3 Inter-area Prefix LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA Information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf prefix { + type inet:ipv6-address; + description + "LSA address prefix "; + } + leaf prefix-length { + type uint8; + description + "Prefix length of the IPv6 address"; + } + leaf priority { + type Prefix-priority; + description + "Prefix priority"; + } + } + + grouping OSPFV3-EDM-LSA-NETWORK { + description + "OSPFv3 Network LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + list neighbor-router { + description + "Neighbor router list"; + leaf entry { + type inet:ipv4-address; + description + "Neighbor router list"; + } + } + } + + grouping OSPFV3-EDM-RPF-PATH { + description + "OSPFv3 Router LSA Reverse-Path Forwarding + Information"; + leaf rpf-multicast-next-hop { + type uint32; + description + "Next hop for Reverse Path Forwarding Multicast"; + } + leaf interface-name { + type xr:Interface-name; + description + "Reverse Path Forwarding Multicast IDB "; + } + } + + grouping OSPFV3-EDM-LINK { + description + "OSPFv3 Router LSA Links"; + leaf link-type { + type Ospfv3-link; + description + "Type of link"; + } + leaf link-metric { + type uint16; + description + "LSA link metric/cost "; + } + leaf link-interface-id { + type uint32; + description + "LSA link interface ID "; + } + leaf link-neighbor-interface-id { + type uint32; + description + "interface ID of the neighbor"; + } + leaf link-neighbor-router-id { + type inet:ipv4-address; + description + "Router id of the neighbor"; + } + } + + grouping OSPFV3-EDM-LSA-ROUTER { + description + "OSPFv3 Router LSA"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + container rpf-path { + description + "Router LSA Reverse-Path Forwarding information "; + uses OSPFV3-EDM-RPF-PATH; + } + leaf router-la-bits { + type uint8; + description + "Router LA bits in the format V/E/B where V bit + is set for virtual link endpoint, E bit for ASBR + and B bit for ABR"; + } + list link { + description + "List of links in this LSA"; + uses OSPFV3-EDM-LINK; + } + } + + grouping OSPFV3-EDM-DB-DETAIL { + description + "OSPFv3 Detailed LSA Database Information"; + leaf second-table-index { + type uint8; + units "second"; + description + "Table index for Seconds"; + } + leaf minute-table-index { + type uint8; + units "minute"; + description + "Table index for Minutes"; + } + leaf free-time { + type uint32; + description + "The amount of time since the last check was made + to free this LSA (s)"; + } + leaf is-deleted { + type boolean; + description + "If true, flag is set to delete this LSA "; + } + leaf is-routing-bit { + type boolean; + description + "If true, Routing Bit set on the LSA"; + } + leaf is-advertising-router-reachable { + type boolean; + description + "If true, Advertising Router is reachable"; + } + leaf is-no-delete { + type boolean; + description + "If true, the reason not to delete this LSA is + because delete flag not set on this LSA"; + } + leaf is-neighbor-exchange { + type boolean; + description + "If true, the reason not to delete this LSA is + because neighbor is in exchange state"; + } + leaf is-routing-table { + type boolean; + description + "If true, the reason not to delete this LSA is + because it has a contributing entry in the + routing table "; + } + leaf is-acknowledged { + type boolean; + description + "If true, the reason not to delete this LSA is + because it's Acknowledgement list is not empty "; + } + leaf is-maximum-aged { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is in Maxage Queue"; + } + leaf is-partial-spf { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is in partial SPF queue"; + } + leaf is-flood-pending { + type boolean; + description + "If true, the reason not to delete this LSA is + because waiting for flooding or retransmission"; + } + leaf rate-limit { + type boolean; + description + "If true, the reason not to delete this LSA is + because waiting for next wait-interval to expire"; + } + leaf is-nsr-ack-pending { + type boolean; + description + "If true, the reason not to delete this LSA is + because NSR ACK from standby is pending"; + } + leaf nsr-flood-required { + type boolean; + description + "If true, the reason not to delete this LSA is + because it is pending flooding on switchover"; + } + leaf lsa-flood-required-post-fail-over { + type boolean; + description + "LSA flood required after FO"; + } + leaf lsa-length { + type uint16; + description + "Length of the LSA"; + } + leaf lsa-sync-state { + type Ospf-lsa-sync-state; + description + "State of LSA sync with active"; + } + } + + grouping OSPFV3-EDM-DB-HEADER { + description + "OSPFv3 LSA Database Header"; + leaf lsa-type { + type uint16; + description + "LSA type"; + } + leaf lsa-area-id { + type string { + length "0..16"; + } + description + "Area ID in decimal or dotted-decimal format"; + } + leaf lsa-age { + type uint16; + description + "LSA's Age (s)"; + } + leaf is-do-not-age-lsa { + type boolean; + description + "If true, Do Not Age this LSA"; + } + leaf ls-id { + type uint32; + description + "LS ID"; + } + leaf advertising-router { + type inet:ipv4-address; + description + "Router ID of Advertising Router"; + } + leaf sequence-number { + type uint32; + description + "Current Sequence number"; + } + leaf checksum { + type uint16; + description + "Checksum value"; + } + leaf is-graceful-restart-active { + type boolean; + description + "If true, if grace restart is active "; + } + } + + grouping OSPFV3-EDM-DATABASE { + description + "OSPFv3 Database Information"; + container lsa-header { + description + "Header information "; + uses OSPFV3-EDM-DB-HEADER; + } + container lsa-detail { + description + "Detailed LSA information"; + uses OSPFV3-EDM-DB-DETAIL; + } + leaf links { + type uint16; + description + "Number of links"; + } + leaf router-la-bits { + type uint8; + description + "Router LSA flags in the format V/E/B where V bit + is set for virtual link endpoint, E bit for ASBR + and B bit for ABR"; + } + leaf reference-type { + type uint16; + description + "Reference type of the LSA, if it is a prefix LSA"; + } + leaf reference-lsa-id { + type uint32; + description + "Reference LSA ID, if it is a prefix LSA"; + } + leaf lsa-router-id { + type uint32; + description + "Advertised router ID, if it is an inter area + router LSA"; + } + leaf prefix { + type inet:ipv6-address; + description + "OSPFv3 address Prefix"; + } + leaf prefix-length { + type uint8; + description + "Prefix length, if it is a prefix LSA"; + } + leaf interface-name { + type xr:Interface-name; + description + "interface name, if it is a link scope LSA"; + } + leaf is-virtual-link { + type boolean; + description + "If true, it is a virtual link"; + } + leaf virtual-link-id { + type uint32; + description + "virtual link ID if it is a virtual link"; + } + leaf is-sham-link { + type boolean; + description + "If true, it is a sham link"; + } + leaf sham-link-id { + type uint32; + description + "Sham link ID if it is a sham link"; + } + } + + grouping OSPFV3-LSA-INFO-UNION { + description + "Detail LSA information for an LSA"; + container lsa-summary-info { + when "../lsa-info-type = 'mgmt-lsa-lsasum-type'" { + description + "../LSAInfoType = 'MGMT_LSA_LSASUM_TYPE'"; + } + description + "Summary information of LSAs"; + uses OSPFV3-EDM-DATABASE; + } + container router-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-rtr-type'" { + description + "../LSAInfoType = 'MGMT_LSA_RTR_TYPE'"; + } + description + "Router LSA"; + uses OSPFV3-EDM-LSA-ROUTER; + } + container network-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-net-type'" { + description + "../LSAInfoType = 'MGMT_LSA_NET_TYPE'"; + } + description + "Network LSA"; + uses OSPFV3-EDM-LSA-NETWORK; + } + container inter-area-prefix-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-iapfx-type'" { + description + "../LSAInfoType = 'MGMT_LSA_IAPFX_TYPE'"; + } + description + "Inter Area Prefix LSA"; + uses OSPFV3-EDM-LSA-IAPFX; + } + container inter-area-router-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-iartr-type'" { + description + "../LSAInfoType = 'MGMT_LSA_IARTR_TYPE'"; + } + description + "Inter Area Router LSA"; + uses OSPFV3-EDM-LSA-IARTR; + } + container external-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-ext-type'" { + description + "../LSAInfoType = 'MGMT_LSA_EXT_TYPE'"; + } + description + "External LSA"; + uses OSPFV3-EDM-LSA-EXTERNAL; + } + container nssalsa-type { + when "../lsa-info-type = 'mgmt-lsa-nssaext-type'" { + description + "../LSAInfoType = 'MGMT_LSA_NSSAEXT_TYPE'"; + } + description + "NSSA External LSA"; + uses OSPFV3-EDM-LSA-EXTERNAL; + } + container link-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-link-type'" { + description + "../LSAInfoType = 'MGMT_LSA_LINK_TYPE'"; + } + description + "Link LSA"; + uses OSPFV3-EDM-LSA-LINK; + } + container intra-area-prefix-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-prefix-type'" { + description + "../LSAInfoType = 'MGMT_LSA_PREFIX_TYPE'"; + } + description + "Intra Area Prefix LSA"; + uses OSPFV3-EDM-LSA-PREFIX; + } + container grace-lsa { + when "../lsa-info-type = 'mgmt-lsa-gr-type'" { + description + "../LSAInfoType = 'MGMT_LSA_GR_TYPE'"; + } + description + "Grace LSA"; + uses OSPFV3-EDM-LSA-GRACE; + } + container unknown-link-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-unk-link-type'" { + description + "../LSAInfoType = 'MGMT_LSA_UNK_LINK_TYPE'"; + } + description + "Unknown Link Scope LSA"; + uses OSPFV3-EDM-LSA-UNKNOWN; + } + container unknown-area-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-unk-area-type'" { + description + "../LSAInfoType = 'MGMT_LSA_UNK_AREA_TYPE'"; + } + description + "Unknown-Area scope LSA"; + uses OSPFV3-EDM-LSA-UNKNOWN; + } + container unknown-aslsa-type { + when "../lsa-info-type = 'mgmt-lsa-unk-as-type'" { + description + "../LSAInfoType = 'MGMT_LSA_UNK_AS_TYPE'"; + } + description + "Unknown-AS scope LSA"; + uses OSPFV3-EDM-LSA-UNKNOWN; + } + container unknown-lsa-type { + when "../lsa-info-type = 'mgmt-lsa-unk-type'" { + description + "../LSAInfoType = 'MGMT_LSA_UNK_TYPE'"; + } + description + "Unknown LSA"; + uses OSPFV3-EDM-LSA-UNKNOWN; + } + leaf lsa-info-type { + type Ospfv3-lsa-info-types; + description + "LSAInfoType"; + } + } + + grouping OSPFV3-EDM-DATABASE-LSAINFO { + description + "OSPFv3 LSA Information"; + container lsa-info { + description + "Summary of all LSAs or LSA specific information "; + uses OSPFV3-LSA-INFO-UNION; + } + } + + grouping OSPFV3-EDM-AREA-RANGE { + description + "OSPFv3 area range information"; + leaf range-prefix { + type inet:ipv6-address; + description + "IP prefix for summarization"; + } + leaf range-prefix-length { + type uint32; + description + "IP prefix length for summarization"; + } + leaf net-cost { + type uint32; + description + "Prefix cost "; + } + leaf status { + type Ospfv3-area-range-status; + description + "Area range status "; + } + leaf is-cost-configured { + type boolean; + description + "If true, cost is configured "; + } + } + + grouping OSPFV3-EDM-AREA { + description + "OSPFv3 area summary information"; + leaf is-backbone-area-active { + type boolean; + description + "If true, Backbone area is active"; + } + leaf area-interfaces { + type uint16; + description + "Number of interfaces in the area"; + } + leaf is-area-stubbed { + type boolean; + description + "If true, stub area"; + } + leaf is-area-total-stubbed { + type boolean; + description + "If true, totally stubby area"; + } + leaf stub-default-cost { + type uint32; + description + "Default cost for Stub or NSSA area"; + } + leaf is-area-nssa { + type boolean; + description + "If true, area is a NSSA"; + } + leaf nssa-no-redistribution { + type boolean; + description + "If true, No redistribution into this NSSA area"; + } + leaf is-nssa-translated { + type boolean; + description + "If true, perform 7/5 translation"; + } + leaf is-nssa-translated-always { + type boolean; + description + "If true, perform 7/5 translation always"; + } + leaf is-nssa-default { + type boolean; + description + "If true, generate NSSA default route"; + } + leaf is-rrr-enabled { + type boolean; + description + "If true, RRR is enabled"; + } + leaf sp-fs { + type uint32; + description + "Number of SPF calculations run"; + } + leaf area-opaque-lsas { + type uint32; + description + "Number of opaque LSAs in the area"; + } + leaf area-opaque-lsa-checksum { + type uint32; + description + "Sum of opaque LSA checksums"; + } + leaf area-dc-bitless-ls-as { + type uint32; + description + "Number of LSA with demand circuit bit not set"; + } + leaf indication-ls-as { + type uint32; + description + "Number of indication LSAs"; + } + leaf do-not-age-ls-as { + type uint32; + description + "Number of do not age LSAs"; + } + leaf flood-list-length { + type uint32; + description + "Number of LSAs which need to be flooded"; + } + leaf area-lfa-interface-count { + type uint32; + description + "Number of LFA enabled interfaces"; + } + leaf area-per-prefix-lfa-interface-count { + type uint32; + description + "Number of Per Prefix LFA enabled interfaces"; + } + leaf area-lfa-revision { + type uint32; + description + "Area LFA revision"; + } + list area-range { + description + "List of ranges to summarize"; + uses OSPFV3-EDM-AREA-RANGE; + } + } + + grouping OSPFV3-EDM-BR-PATH { + description + "OSPFv3 border router path"; + leaf is-intra-area-router { + type boolean; + description + "If true, intra-area router else inter-area + router"; + } + leaf border-router-route-metric { + type uint32; + description + "Metric"; + } + leaf border-router-next-hop { + type inet:ipv6-address; + description + "Next hop address "; + } + leaf interface-name { + type xr:Interface-name; + description + "Next hop interface name"; + } + leaf border-router-type { + type Ospfv3-border-route; + description + "Border router type, whether ABR or ASBR"; + } + leaf border-router-area-id { + type string { + length "0..16"; + } + description + "Area string in decimal or dotted-decimal format "; + } + leaf spf-version { + type uint32; + description + "SPF version"; + } + } + + grouping OSPFV3-EDM-BORDER-ROUTER { + description + "OSPFv3 border router information"; + list border-router-path { + description + "List of border router paths"; + uses OSPFV3-EDM-BR-PATH; + } + } + + grouping OSPFV3-EDM-SUMMARY-PREFIX { + description + "OSPFv3 summary prefix information"; + leaf prefix-metric { + type uint32; + description + "Metric value for the IPv6 prefix"; + } + leaf prefix-metric-type { + type Ospfv3-default-metric; + description + "Metric type of the prefix"; + } + leaf tag { + type uint32; + description + "Tag value of the prefix"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper.yang new file mode 100644 index 000000000..8aafce1f1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ospfv3-oper.yang @@ -0,0 +1,975 @@ +module Cisco-IOS-XR-ipv6-ospfv3-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-oper"; + prefix ipv6-ospfv3-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv6-ospfv3-oper-sub1 { + revision-date 2022-09-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-ospfv3 package operational data. + + This module contains definitions + for the following management objects: + ospfv3: OSPFv3 operational information + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Added number of prefixes redistributed in ospfv3 summary output"; + semver:module-version "2.2.1m"; + } + revision 2021-06-16 { + description + "Added neighbor LLS options in neighbor detail"; + semver:module-version "2.2.0"; + } + revision 2020-04-29 { + description + "Added mtu and Bandwidth to show command"; + semver:module-version "2.1.0"; + } + revision 2020-02-04 { + description + "Modified for Conditional Advertising"; + semver:module-version "2.0.0"; + } + revision 2019-07-28 { + description + "Added datalist operation for container fast-reroute topology"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-08 { + description + "Modified for Programmability 2.0"; + } + revision 2018-06-15 { + description + "Added Aggregate statistics under summary container"; + } + revision 2017-10-30 { + description + "Added link information in grace LSA."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ospfv3-lsa { + type enumeration { + enum "link-lsa" { + value 8; + description + "Link LSA"; + } + enum "grace-lsa" { + value 11; + description + "Grace LSA"; + } + enum "router" { + value 8193; + description + "Router LSA"; + } + enum "network" { + value 8194; + description + "Network LSA"; + } + enum "inter-area-prefix" { + value 8195; + description + "Inter-Area Prefix LSA"; + } + enum "inter-area-router" { + value 8196; + description + "Inter-Area Router LSA"; + } + enum "nssa-external" { + value 8199; + description + "NSSA External LSA"; + } + enum "intra-area-prefix" { + value 8201; + description + "Intra-Area Prefix LSA"; + } + enum "external" { + value 16389; + description + "External LSA"; + } + enum "opaque-link" { + value 32768; + description + "Opaque LSALink Scope"; + } + enum "opaque-area" { + value 40960; + description + "Opaque LSA Area Scope"; + } + enum "opaque-as" { + value 49152; + description + "Opaque LSA AS Scope"; + } + enum "unknown" { + value 57344; + description + "Unknown Reserved Scope LSAs"; + } + } + description + "Ospfv3 lsa"; + } + + grouping FLOOD-LIST-PROCESS-TABLE { + description + "Common node of default-vrf, vrf"; + container flood-list-process-table { + description + "OSPFv3 flood list information table for all + areas"; + uses FLOOD-LIST; + } + } + + grouping FLOOD-LIST { + description + "Common node of flood-list-table, + flood-list-process-table"; + list flood { + key "interface-name"; + description + "OSPFv3 flood list information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPFV3-EDM-FLOOD-LIST; + } + } + + grouping BORDER-ROUTER-TABLE { + description + "Common node of default-vrf, vrf"; + container border-routers { + description + "OSPFv3 border router information table"; + list border-router { + key "border-router-id"; + description + "OSPFv3 border router information"; + leaf border-router-id { + type inet:ipv4-address-no-zone; + description + "Router address"; + } + uses OSPFV3-EDM-BORDER-ROUTER; + } + } + } + + grouping FAST-REROUTE-TABLE { + description + "Common node of default-vrf, vrf"; + container fast-reroutes { + description + "OSPFv3 fast reroute topology information table"; + list fast-reroute { + key "remote-router-id area-id"; + description + "OSPFv3 fast reroute topology information"; + leaf remote-router-id { + type inet:ipv4-address-no-zone; + description + "Remote Node Router ID"; + } + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "AreaID"; + } + uses OSPFV3-SH-IPFRR-TOPO; + } + } + } + + grouping AREA-TABLE { + description + "Common node of default-vrf, vrf"; + container areas { + description + "OSPFv3 area table"; + list area { + key "area-id"; + description + "Per-area information"; + container neighbor-detail-table { + description + "OSPFv3 area neighbor information table"; + uses NEIGHBOR-DETAIL; + } + container interface-brief-table { + description + "OSPFv3 interface brief information table for + an area"; + uses INTERFACE-BRIEF; + } + container request-list-table { + description + "OSPFv3 request list information in an area"; + uses REQUEST-LIST; + } + container neighbor-table { + description + "OSPFv3 neighbor information table"; + uses NEIGHBOR; + } + container interface-table { + description + "OSPFv3 interface information table for an area"; + uses INTERFACE; + } + container flood-list-table { + description + "OSPFv3 flood list information table for an + area"; + uses FLOOD-LIST; + } + container retransmission-list-table { + description + "OSPFv3 retransmission list information table + in an area"; + uses RETRANSMISSION-LIST; + } + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses DATABASE-TABLE; + uses DATABASE-SUMMARY-TABLE; + } + } + } + + grouping EXTERNAL-ROUTE-TABLE { + description + "Common node of default-vrf, vrf"; + container external-routes { + description + "OSPFv3 external route information table"; + list external-route { + description + "OSPFv3 external route information"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Route prefix"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Length of IPv6 Prefix"; + } + uses OSPFV3-EDM-TOPOLOGY-EXTERNAL; + } + } + } + + grouping NEIGHBOR-DETAIL-PROCESS-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbor-detail-process-table { + description + "OSPFv3 neighbor information table for all areas"; + uses NEIGHBOR-DETAIL; + } + } + + grouping VRF-STATISTICS { + description + "Common node of default-vrf, vrf"; + container vrf-statistics { + description + "Container for Statistics"; + container protocol-stats { + description + "Protocol table"; + list protocol-stat { + key "interface-name"; + description + "Protocol statistics for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPFV3-EDM-PROTO-STATS; + } + } + container spf-stats { + description + "OSPFv3 RIB batch statistics"; + uses OSPFV3-EDM-SPF-STATS; + } + container rawio-stats { + description + "OSPF Prefix SPF Prioritization statistics"; + uses OSPFV3-EDM-RAW-STATS; + } + container prefix-priority-stats { + description + "OSPF Prefix SPF Prioritization statistics"; + uses OSPFV3-EDM-PRIO-STATS; + } + container vrf-rib-batch-stats { + description + "OSPFv3 RIB batch statistics"; + uses OSPFV3-EDM-BATCH-STATS; + } + } + } + + grouping INTERFACE { + description + "Common node of interface-table, + interface-process-table"; + list interface { + key "interface-name"; + description + "OSPFv3 interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPFV3-EDM-INTERFACE; + } + } + + grouping INTERFACE-BRIEF { + description + "Common node of interface-brief-table, + interface-brief-process-table"; + list interface-brief { + key "interface-name"; + description + "Interface brief information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses OSPFV3-EDM-INTF-BRIEF; + } + } + + grouping ROUTE-SUMMARY { + description + "Common node of default-vrf, vrf"; + container route-summary { + description + "Summarize OSPFv3 local RIB tables"; + uses OSPFV3-EDM-ROUTE-SUM; + } + } + + grouping NEIGHBOR-DETAIL { + description + "Common node of neighbor-detail-process-table, + neighbor-detail-table"; + list neighbor-detail { + description + "OSPFv3 neighbor detail information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor ID"; + } + uses OSPFV3-EDM-NEIGHBOR; + } + } + + grouping LSA { + description + "Common node of lsa-table, lsa-internal-table"; + list lsa { + description + "Database LSA information"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + leaf ls-type { + type Ospfv3-lsa; + description + "LSA type"; + } + leaf advertising-router { + type inet:ipv4-address-no-zone; + description + "ID of the Advertising Router"; + } + leaf ls-id { + type uint32 { + range "0..4294967295"; + } + description + "Link state ID"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses OSPFV3-EDM-DATABASE-LSAINFO; + } + } + + grouping RETRANSMISSION-LIST { + description + "Common node of retransmission-list-process-table, + retransmission-list-table"; + list retransmission { + description + "OSPFv3 retransmission list information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor Router ID"; + } + uses OSPFV3-EDM-RETRANS; + } + } + + grouping VIRTUAL-LINK-TABLE { + description + "Common node of default-vrf, vrf"; + container virtual-links { + description + "Virtual link information table"; + list virtual-link { + key "vir-link-name"; + description + "Virtual link information"; + leaf vir-link-name { + type xr:Cisco-ios-xr-string; + description + "Virtual link name"; + } + uses OSPFV3-EDM-VIRTUAL-LINKS; + } + } + } + + grouping RETRANSMISSION-LIST-PROCESS-TABLE { + description + "Common node of default-vrf, vrf"; + container retransmission-list-process-table { + description + "OSPFv3 retransmission list information table for + all areas"; + uses RETRANSMISSION-LIST; + } + } + + grouping SUMMARY-PREFIX-TABLE { + description + "Common node of default-vrf, vrf"; + container summary-prefixes { + description + "Summary prefix information table"; + list summary-prefix { + description + "Summary prefix information"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Summary prefix"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Length of IPv6 Prefix"; + } + uses OSPFV3-EDM-SUMMARY-PREFIX; + } + } + } + + grouping AREA-INFORMATION-TABLE { + description + "Common node of default-vrf, vrf"; + container area-informations { + description + "OSPFv3 area information table"; + list area-information { + key "area-id"; + description + "OSPFv3 area information details"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses OSPFV3-EDM-AREA; + } + } + } + + grouping SHAM-LINK-TABLE { + description + "Common node of default-vrf, vrf"; + container sham-links { + description + "Sham link information table"; + list sham-link { + key "sham-link-name"; + description + "Sham link information"; + leaf sham-link-name { + type xr:Cisco-ios-xr-string; + description + "Sham link name"; + } + uses OSPFV3-SH-SHAM-LINKS; + } + } + } + + grouping NEIGHBOR { + description + "Common node of neighbor-process-table, + neighbor-table"; + list neighbor { + description + "OSPFv3 neighbor detail information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor ID"; + } + uses OSPFV3-EDM-NEIGHBOR; + } + } + + grouping SUMMARY { + description + "Common node of default-vrf, vrf"; + container summary { + description + "OSPFv3 summary"; + container protocol { + description + "OSPFv3 protocol summary"; + uses OSPFV3-EDM-PROTOCOL; + } + container ospfv3 { + description + "OSPFv3 summary"; + uses OSPFV3-EDM-SUMMARY; + } + container aggregate-statistics { + description + "OSPFv3 aggregate statistics information"; + uses OSPFV3-SH-STATS-AGGT; + } + container route { + description + "OSPFv3 route summary"; + uses OSPFV3-EDM-ROUTE-SUM; + } + } + } + + grouping REQUEST-LIST-PROCESS-TABLE { + description + "Common node of default-vrf, vrf"; + container request-list-process-table { + description + "OSPFv3 request list information for all areas"; + uses REQUEST-LIST; + } + } + + grouping DATABASE-TABLE { + description + "Common node of area, default-vrf, vrf"; + container database-table { + description + "OSPF Link State Database"; + container lsa-table { + description + "Database LSA information"; + uses LSA; + } + container lsa-internal-table { + description + "Database LSA information"; + uses LSA; + } + } + } + + grouping CONNECTED-ROUTE-TABLE { + description + "Common node of default-vrf, vrf"; + container connected-routes { + description + "OSPFv3 connected route information table"; + list connected-route { + description + "OSPFv3 connected route information"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Route prefix"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Length of IPv6 Prefix"; + } + uses OSPFV3-EDM-TOPOLOGY-CONNECTED; + } + } + } + + grouping BAD-CHECKSUM-TABLE { + description + "Common node of default-vrf, vrf"; + container bad-checksums { + description + "Bad Checksum Packets information table"; + list bad-checksum { + key "packet-number"; + description + "Bad Checksum Packet information"; + leaf packet-number { + type uint32 { + range "0..9"; + } + description + "Bad Checksum Packets number"; + } + uses OSPFV3-SH-BAD-CHECKSUM; + } + } + } + + grouping DATABASE-SUMMARY-TABLE { + description + "Common node of default-vrf, vrf, area"; + container database-summary-table { + description + "Summary of the entire Database"; + container database-summary { + description + "Database Summary information"; + uses OSPFV3-EDM-DB-SUMMARY; + } + } + } + + grouping REQUEST-LIST { + description + "Common node of request-list-process-table, + request-list-table"; + list request { + description + "OSPFv3 request list information"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor Router ID"; + } + uses OSPFV3-EDM-REQUEST; + } + } + + grouping INTERFACE-BRIEF-PROCESS-TABLE { + description + "Common node of default-vrf, vrf"; + container interface-brief-process-table { + description + "OSPFv3 interface brief information table for all + areas"; + uses INTERFACE-BRIEF; + } + } + + grouping NEIGHBOR-PROCESS-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbor-process-table { + description + "OSPFv3 neighbor information table for all areas"; + uses NEIGHBOR; + } + } + + grouping INTERNAL-ROUTE-TABLE { + description + "Common node of default-vrf, vrf"; + container internal-routes { + description + "OSPFv3 internal route information table"; + list internal-route { + description + "OSPFv3 internal route information"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Route prefix"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Length of IPv6 Prefix"; + } + uses OSPFV3-EDM-TOPOLOGY-INTERNAL; + } + } + } + + grouping REDISTRIBUTION-TABLE { + description + "Common node of default-vrf, vrf"; + container redistributions { + description + "Redistribution information table"; + list redistribution { + description + "Redistribution information"; + leaf protocol-name { + type xr:Cisco-ios-xr-string; + description + "Protocol name that is redistributed"; + } + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Process name of a protocolbeing redistributed "; + } + uses OSPFV3-EDM-REDIST; + } + } + } + + grouping INTERFACE-PROCESS-TABLE { + description + "Common node of default-vrf, vrf"; + container interface-process-table { + description + "OSPFv3 interface information table for all areas"; + uses INTERFACE; + } + } + + grouping PROTOCOL-AREA-TABLE { + description + "Common node of default-vrf, vrf"; + container protocol-areas { + description + "Protocol area table "; + list protocol-area { + key "area-id"; + description + "Area information "; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Area ID"; + } + uses OSPFV3-EDM-PROTO-AREA; + } + } + } + + container ospfv3 { + config false; + description + "OSPFv3 operational information "; + container processes { + description + "OSPFv3 Process Table"; + list process { + key "process-name"; + description + "OSPFv3 Operational data for a particular OSPFv3 + process "; + container vrfs { + description + "Table for each VRF"; + list vrf { + key "vrf-name"; + description + "Operational data for a particular VRF + (instance) in the OSPFv3 process"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses SUMMARY-PREFIX-TABLE; + uses BORDER-ROUTER-TABLE; + uses AREA-INFORMATION-TABLE; + uses DATABASE-TABLE; + uses VIRTUAL-LINK-TABLE; + uses INTERFACE-PROCESS-TABLE; + uses REDISTRIBUTION-TABLE; + uses EXTERNAL-ROUTE-TABLE; + uses REQUEST-LIST-PROCESS-TABLE; + uses FLOOD-LIST-PROCESS-TABLE; + uses ROUTE-SUMMARY; + uses AREA-TABLE; + uses INTERNAL-ROUTE-TABLE; + uses SHAM-LINK-TABLE; + uses PROTOCOL-AREA-TABLE; + uses CONNECTED-ROUTE-TABLE; + uses VRF-STATISTICS; + uses SUMMARY; + uses RETRANSMISSION-LIST-PROCESS-TABLE; + uses BAD-CHECKSUM-TABLE; + uses DATABASE-SUMMARY-TABLE; + uses NEIGHBOR-PROCESS-TABLE; + uses FAST-REROUTE-TABLE; + uses INTERFACE-BRIEF-PROCESS-TABLE; + uses NEIGHBOR-DETAIL-PROCESS-TABLE; + } + } + container statistics { + description + "Container for Statistics"; + container nsr-stats { + description + "OSPF NSR statistics"; + uses OSPFV3-EDM-NSR-STATS; + } + container rib-thread-stats { + description + "OSPFv3 RIB thread statistics"; + uses OSPFV3-EDM-RTHREAD-STATS; + } + container issu-stats { + description + "OSPF ISSU statistics"; + uses OSPFV3-EDM-NSR-STATS; + } + container nsr-pl-stats { + description + "OSPF NSR packet library statistics"; + uses OSPF-SH-NCD-STATS; + } + } + container default-vrf { + description + "Operational data for the default VRF + (instance) in the OSPFv3 process"; + uses SUMMARY-PREFIX-TABLE; + uses BORDER-ROUTER-TABLE; + uses AREA-INFORMATION-TABLE; + uses DATABASE-TABLE; + uses VIRTUAL-LINK-TABLE; + uses INTERFACE-PROCESS-TABLE; + uses REDISTRIBUTION-TABLE; + uses EXTERNAL-ROUTE-TABLE; + uses REQUEST-LIST-PROCESS-TABLE; + uses FLOOD-LIST-PROCESS-TABLE; + uses ROUTE-SUMMARY; + uses AREA-TABLE; + uses INTERNAL-ROUTE-TABLE; + uses SHAM-LINK-TABLE; + uses PROTOCOL-AREA-TABLE; + uses CONNECTED-ROUTE-TABLE; + uses VRF-STATISTICS; + uses SUMMARY; + uses RETRANSMISSION-LIST-PROCESS-TABLE; + uses BAD-CHECKSUM-TABLE; + uses DATABASE-SUMMARY-TABLE; + uses NEIGHBOR-PROCESS-TABLE; + uses FAST-REROUTE-TABLE; + uses INTERFACE-BRIEF-PROCESS-TABLE; + uses NEIGHBOR-DETAIL-PROCESS-TABLE; + } + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Particular OSPFv3 process"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ping-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ping-act.yang new file mode 100644 index 000000000..e08b3ad0f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-ping-act.yang @@ -0,0 +1,167 @@ +submodule Cisco-IOS-XR-ipv6-ping-act { + belongs-to Cisco-IOS-XR-ping-act { + prefix ping-act; + } + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-ping-act; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR IPv6 ping action package configuration. + + Copyright (c) 2016-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-05 { + description + "Removed support for use-srv6-op-sid"; + semver:module-version "2.0.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-28 { + description + "IOS XR 7.0.1 revision."; + } + revision 2016-09-13 { + description + "IOS XR 6.2.1 revision."; + } + + grouping IPV6-SPECIFIC-OPTIONS { + description + "IPv6 specific options"; + leaf priority { + type uint8 { + range "0..15"; + } + description + "Priority of the packet"; + } + leaf outgoing-interface { + type string; + description + "Outgoing interface, needed in case of ping to link local address"; + } + container flowlabel { + description + "Flowlabel value or flowlabel random, + if both are given then flowabel value is chosen."; + leaf value { + type uint32 { + range "0..1048575"; + } + description + "Flowlabel of the packet"; + } + leaf random { + type empty; + description + "Random flowlabel value of the packet, + repeats after every 5 packets"; + } + } + } + + grouping IPV6-PING-INPUT { + description + "IPv6 ping input"; + uses PING-OPTIONS; + uses IPV6-SPECIFIC-OPTIONS; + } + + grouping IPV6-PING-OUTPUT { + description + "IPv6 ping output"; + uses PING-COMMON-INPUT-OUTPUT-OPTIONS; + leaf sweep-min { + type uint32; + description + "Minimum value of sweep size"; + } + leaf sweep-max { + type uint64; + description + "Maximum value of sweep size"; + } + leaf rotate-pattern { + type boolean; + description + "Rotate Pattern is enabled"; + } + container replies { + description + "IPv6 ping replies"; + list reply { + key "reply-index"; + description + "IPv6 ping reply"; + leaf reply-index { + type uint64 { + range "1..2147483647"; + } + description + "Index of the reply list"; + } + leaf result { + type string; + description + "Response for each packet"; + } + } + } + leaf hits { + type uint64; + description + "Number of packets reach to destination and get reply back"; + } + leaf total { + type uint64; + description + "Total number of packets sent out"; + } + leaf success-rate { + type uint64; + description + "Successful rate of ping"; + } + leaf rtt-min { + type uint64; + description + "Minimum value of Round Trip Time"; + } + leaf rtt-avg { + type uint64; + description + "Average value of Round Trip Time"; + } + leaf rtt-max { + type uint64; + description + "Maximum value of Round Trip Time"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-cfg.yang new file mode 100644 index 000000000..1e2dbe080 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-cfg.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XR-ipv6-smiap-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-smiap-cfg"; + prefix ipv6-smiap-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-smiap package configuration. + + This module contains definitions + for the following management objects: + ipv6-virtual: IPv6 virtual address for management interfaces + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-07-04 { + description + "this schema file has all the latest changes."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv6-virtual { + description + "IPv6 virtual address for management interfaces"; + container vrfs { + description + "VRFs for the virtual IPv6 addresses"; + list vrf { + key "vrf-name"; + description + "A VRF for a virtual IPv6 address. Specify + 'default' for VRF default"; + container address { + presence "Indicates a address node is configured."; + description + "IPv6 address and mask"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IPv6 address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "IPv6 address prefix length"; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Name of VRF"; + } + } + } + leaf use-as-source-address { + type empty; + description + "Enable use as default source address on sourced + packets"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper-sub1.yang new file mode 100644 index 000000000..78dd1c04f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper-sub1.yang @@ -0,0 +1,158 @@ +submodule Cisco-IOS-XR-ipv6-smiap-oper-sub1 { + belongs-to Cisco-IOS-XR-ipv6-smiap-oper { + prefix Cisco-IOS-XR-ipv6-smiap-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ipv6-smiap package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-05 { + description + "this schema file has the changes for oper."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Smiap-address-family { + type enumeration { + enum "ipv4" { + value 2; + description + "IPv4 Address family"; + } + enum "ipv6" { + value 26; + description + "IPv6 Address family"; + } + } + description + "SMIAP Address family"; + } + + grouping SMIAP-ACT-INTERFACE { + description + "Active interface information"; + leaf interface-name { + type string; + description + "Active Interface name"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC address pf the active interface"; + } + } + + grouping SMIAP-IPV6-ADDR { + description + "SMIAP IPv6 Address"; + leaf address { + type inet:ipv6-address; + description + "IPv6 Address"; + } + leaf prefix-length { + type uint32; + description + "IPv6 Prefix Lenghth"; + } + } + + grouping SMIAP-IPV4-ADDR { + description + "SMIAP IPv4 Address"; + leaf address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf prefix-length { + type uint32; + description + "IPv4 Prefix Length"; + } + } + + grouping SMIAP-VIRTUAL-IP-UNION { + description + "Union of IPV4 and IPV6 address types"; + container ipv4-address { + when "../address-family = 'ipv4'" { + description + "../AddressFamily = 'IPV4'"; + } + description + "IPv4 Address"; + uses SMIAP-IPV4-ADDR; + } + container ipv6-address { + when "../address-family = 'ipv6'" { + description + "../AddressFamily = 'IPV6'"; + } + description + "IPv6 Address"; + uses SMIAP-IPV6-ADDR; + } + leaf address-family { + type Smiap-address-family; + description + "AddressFamily"; + } + } + + grouping SMIAP-VRF-ENTRY { + description + "SMIAP VRF Database entry"; + container virtual-ip { + description + "Virtual IP"; + uses SMIAP-VIRTUAL-IP-UNION; + } + container active-interface { + description + "Active Interface"; + uses SMIAP-ACT-INTERFACE; + } + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper.yang new file mode 100644 index 000000000..4fd7f527e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-smiap-oper.yang @@ -0,0 +1,76 @@ +module Cisco-IOS-XR-ipv6-smiap-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-smiap-oper"; + prefix ipv6-smiap-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv6-smiap-oper-sub1 { + revision-date 2022-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-smiap package operational data. + + This module contains definitions + for the following management objects: + ipv6-virtual: IPv6 virtual address for management interfaces + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-05 { + description + "this schema file has the changes for oper."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ipv6-virtual { + config false; + description + "IPv6 virtual address for management interfaces"; + container address { + description + "Address family"; + container vrfs { + description + "VRF entry table"; + list vrf { + key "vrf-name"; + description + "smiap vrf entry"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses SMIAP-VRF-ENTRY; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-traceroute-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-traceroute-act.yang new file mode 100644 index 000000000..3869bf121 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ipv6-traceroute-act.yang @@ -0,0 +1,80 @@ +submodule Cisco-IOS-XR-ipv6-traceroute-act { + belongs-to Cisco-IOS-XR-traceroute-act { + prefix traceroute-act; + } + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-traceroute-act; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR IPv6 traceroute action package configuration. + + Copyright (c) 2016-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-05 { + description + "Removed support for use-srv6-op-sid"; + semver:module-version "2.0.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-09-17 { + description + "IOS XR 6.2.1 revision."; + } + + grouping IPV6-SPECIFIC-OPTIONS { + description + "IPv6 specific options"; + leaf priority { + type uint16 { + range "0..15"; + } + description + "Priority of hte packet"; + } + leaf outgoing-interface { + type string; + description + "Outgoing interface, needed in case of traceroute to link local address"; + } + leaf flowlabel { + type uint32 { + range "0..1048575"; + } + description + "Flowlabel of hte packet"; + } + } + + grouping IPV6-TRACEROUTE-INPUT { + description + "IPv6 traceroute input"; + uses TRACEROUTE-OPTIONS; + uses IPV6-SPECIFIC-OPTIONS; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-isis-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-isis-act.yang new file mode 100644 index 000000000..50470344a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-isis-act.yang @@ -0,0 +1,231 @@ +module Cisco-IOS-XR-isis-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-isis-act"; + prefix isis-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ISIS action package configuration. + + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-06-30 { + description + "IOS XR 6.2.1 revision."; + } + + rpc clear-isis-process { + description + "Clear all IS-IS data structures"; + input { + container instance { + description + "Clear data from single IS-IS instance"; + leaf instance-identifier { + type string; + description + "IS-IS process instance identifier"; + } + } + leaf process { + type empty; + description + "Clear all IS-IS data structures"; + } + } + } + rpc clear-isis-route { + description + "Clear IS-IS routes"; + input { + container instance { + description + "Clear data from single IS-IS instance"; + leaf instance-identifier { + type string; + description + "IS-IS process instance identifier"; + } + } + leaf route { + type empty; + description + "Clear IS-IS routes"; + } + } + } + rpc clear-isis-stat { + description + "Clear IS-IS protocol statistics"; + input { + container instance { + description + "Clear data from single IS-IS instance"; + leaf instance-identifier { + type string; + description + "IS-IS process instance identifier"; + } + } + container statistics { + description + "Clear IS-IS protocol statistics"; + leaf interface-name { + type xr:Interface-name; + mandatory true; + description + "Interface name"; + } + } + } + } + rpc clear-isis-dist { + description + "Reset BGP-LS topology distribution"; + input { + container instance { + description + "Reset BGP-LS topology from single IS-IS instance"; + leaf instance-identifier { + type string; + description + "IS-IS process instance identifier"; + } + } + leaf distribution { + type empty; + description + "Reset BGP-LS topology distribution"; + } + } + } + rpc clear-isis-local-lsp { + description + "Clean and regenerate local LSPs"; + input { + container instance { + description + "Clean and regenerate local LSPs from single IS-IS instance"; + leaf instance-identifier { + type string; + description + "IS-IS process instance identifier"; + } + } + leaf local-lsp { + type empty; + description + "Clean and regenerate local LSPs"; + } + } + } + rpc clear-isis { + description + "Clear IS-IS data structures"; + input { + container instance { + description + "Clear data from single IS-IS instance"; + leaf instance-identifier { + type string; + description + "IS-IS process instance identifier"; + } + } + leaf rt-type { + type enumeration { + enum "AFI-ALL-MULTICAST" { + value 0; + description + "Clear IS-IS rt type AFI all Multicast"; + } + enum "AFI-ALL-SAFI-ALL" { + value 1; + description + "Clear IS-IS rt type all AFI"; + } + enum "AFI-ALL-UNICAST" { + value 2; + description + "Clear IS-IS rt type AFI All unicast"; + } + enum "IPv4-MULTICAST" { + value 3; + description + "Clear IS-IS rt type IPv4 Multicast"; + } + enum "IPv4-SAFI-ALL" { + value 4; + description + "Clear IS-IS rt type IPv4 AFI All"; + } + enum "IPv4-UNICAST" { + value 5; + description + "Clear IS-IS rt type IPv4 unicast"; + } + enum "IPv6-MULTICAST" { + value 6; + description + "Clear IS-IS rt type IPv6 multicast"; + } + enum "IPv6-SAFI-ALL" { + value 7; + description + "Clear IS-IS rt type IPv6 AFI All"; + } + enum "IPv6-UNICAST" { + value 8; + description + "Clear IS-IS rt type IPv6 unicast"; + } + } + description + "Clear data for these route types"; + } + choice route-topology { + description + "Route topology"; + leaf route { + type empty; + description + "Clear IS-IS routes"; + } + leaf topology { + type string; + description + "Topology table information"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-cfg.yang new file mode 100644 index 000000000..463900c8d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-cfg.yang @@ -0,0 +1,850 @@ +module Cisco-IOS-XR-l2-eth-infra-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-cfg"; + prefix l2-eth-infra-cfg; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-l2-eth-infra-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-l2vpn-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2-eth-infra package configuration. + + This module contains definitions + for the following management objects: + ethernet-features: Ethernet Features Configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-l2vpn-cfg + modules with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-13 { + description + "Adding enum for 2 port mac relay frame filtering."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2-protocol-name { + type enumeration { + enum "cdp" { + value 0; + description + "CDP"; + } + enum "stp" { + value 1; + description + "STP"; + } + enum "vtp" { + value 2; + description + "VTP"; + } + enum "pvst" { + value 3; + description + "PVST+"; + } + enum "cpsv" { + value 4; + description + "CDP, PVST+, STP, and VTP"; + } + } + description + "L2 protocol name"; + } + + typedef L2-protocol-mode { + type enumeration { + enum "forward" { + value 0; + description + "Forward packets transparently"; + } + enum "drop" { + value 1; + description + "Drop the protocol's packets"; + } + enum "tunnel" { + value 2; + description + "Tunnel ingress frames, untunnel egress frames"; + } + enum "reverse-tunnel" { + value 3; + description + "Tunnel egress frames, untunnel ingress frames"; + } + } + description + "L2 protocol mode"; + } + + typedef Egress-filtering { + type enumeration { + enum "egress-filtering-type-strict" { + value 1; + description + "Strict Egress Filtering"; + } + enum "egress-filtering-type-disable" { + value 2; + description + "Egress Filtering Disabled"; + } + enum "egress-filtering-type-default" { + value 3; + description + "Default Egress Filtering Behavior"; + } + } + description + "Egress filtering"; + } + + typedef Filtering { + type enumeration { + enum "filtering-type-dot1q" { + value 0; + description + "C-Vlan ingress frame filtering (Table 8-1 of + 802.1ad standard)"; + } + enum "filtering-type-dot1ad" { + value 1; + description + "S-Vlan ingress frame filtering (Table 8-2 of + 802.1ad standard)"; + } + } + description + "Filtering"; + } + + typedef L2-protocol-mpls-exp-bits-value { + type uint32 { + range "0..7"; + } + description + "L2 protocol mpls exp bits value"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf user-network-interface { + type string { + length "1..64"; + } + description + "User-Network Interface ID"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container vlan-sub-configuration { + description + "IEEE 802.1Q VLAN subinterface configuration"; + container vlan-identifier { + presence "Indicates a vlan-identifier node is configured."; + description + "The VLAN tag stack associated with this + sub-interface."; + leaf vlan-type { + type dt1:Vlan; + mandatory true; + description + "Whether this sub-interface is dot1ad or dot1Q"; + } + leaf first-tag { + type dt1:Vlan-tag; + mandatory true; + description + "First (outermost) VLAN tag value"; + } + leaf second-tag { + type dt1:Vlan-tag-or-null; + description + "Second VLAN tag value. The any value may only + be used for Layer 2 subinterfaces"; + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ethernet-service { + description + "Ethernet service configuration"; + container local-traffic-default-encapsulation { + presence "Indicates a local-traffic-default-encapsulation node is configured."; + description + "The default encapsulation to be used for + locally-sourced packets"; + leaf outer-tag-type { + type dt1:Vlan; + mandatory true; + description + "Type of outer tag"; + } + leaf outer-vlan-id { + type dt1:Vlan-tag; + mandatory true; + description + "VLAN id for outer tag"; + } + leaf inner-vlan-id { + type dt1:Vlan-tag; + description + "Optional VLAN Id for inner Dot1Q tag"; + } + } + container encapsulation { + presence "Indicates a encapsulation node is configured."; + description + "The encapsulation of this Ethernet service"; + leaf outer-tag-type { + type dt1:Match; + mandatory true; + description + "Whether to match all unmatched packets, + untagged packets or tagged packets, and if + matching tagged packets, the outer tag type to + match"; + } + leaf outer-range1-low { + type dt1:Vlan-tag-or-any; + description + "Low value of first range for outer tag match"; + } + leaf outer-range1-high { + type dt1:Vlan-tag-or-native; + description + "High value of first range for outer tag match"; + } + leaf inner-tag-type { + type dt1:Match; + description + "Type of tag for inner match (if present)"; + } + leaf inner-range1-low { + type dt1:Vlan-tag-or-any; + description + "Low value of first range for inner tag match"; + } + leaf inner-range1-high { + type dt1:Vlan-tag; + description + "High value of first range for inner tag match"; + } + leaf additional-range1-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of first additional range for tag + match"; + } + leaf additional-range1-high { + type dt1:Vlan-tag; + description + "High value of first additional range for tag + match"; + } + leaf additional-range2-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of second additional range for tag + match"; + } + leaf additional-range2-high { + type dt1:Vlan-tag; + description + "High value of second additional range for tag + match"; + } + leaf additional-range3-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of third additional range for tag + match"; + } + leaf additional-range3-high { + type dt1:Vlan-tag; + description + "High value of third additional range for tag + match"; + } + leaf additional-range4-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of forth additional range for tag + match"; + } + leaf additional-range4-high { + type dt1:Vlan-tag; + description + "High value of forth additional range for tag + match"; + } + leaf additional-range5-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of fifth additional range for tag + match"; + } + leaf additional-range5-high { + type dt1:Vlan-tag; + description + "High value of fifth additional range for tag + match"; + } + leaf additional-range6-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of sixth additional range for tag + match"; + } + leaf additional-range6-high { + type dt1:Vlan-tag; + description + "High value of sixth additional range for tag + match"; + } + leaf additional-range7-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of seventh additional range for tag + match"; + } + leaf additional-range7-high { + type dt1:Vlan-tag; + description + "High value of seventh additional range for tag + match"; + } + leaf additional-range8-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of eighth additional range for tag + match"; + } + leaf additional-range8-high { + type dt1:Vlan-tag; + description + "High value of eighth additional range for tag + match"; + } + leaf outer-class-of-service { + type dt1:Class-of-service; + description + "Value to match against Class Of Service bits + for outer tag"; + } + leaf inner-class-of-service { + type dt1:Class-of-service; + description + "Value to match against Class Of Service bits + for inner tag"; + } + leaf payload-ethertype-match { + type dt1:Ethertype-match; + description + "Which payload ethertype values to match"; + } + leaf ingress-source-mac { + type yang:mac-address; + description + "Source MAC address to match on ingress"; + } + leaf ingress-destination-mac { + type yang:mac-address; + description + "Destination MAC address to match on egress"; + } + leaf exact { + type empty; + description + "Only match packets with no more tags than + explicitly matched"; + } + } + container rewrite { + presence "Indicates a rewrite node is configured."; + description + "The rewrite operation for the Ethernet service"; + leaf rewrite-type { + type dt1:Rewrite; + mandatory true; + description + "The type of rewrite to perform"; + } + leaf outer-tag-type { + type dt1:Match; + description + "Type of outermost tag to be pushed"; + } + leaf outer-tag-value { + type dt1:Vlan-tag; + description + "VLAN Id of outermost tag to be pushed"; + } + leaf inner-tag-type { + type dt1:Match; + description + "Type of innermost tag to be pushed"; + } + leaf inner-tag-value { + type dt1:Vlan-tag; + description + "VLAN Id of innermost tag to be pushed"; + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ethernet-bng { + description + "Ethernet Infra BNG specific configuration"; + container ambiguous-encapsulation { + presence "Indicates a ambiguous-encapsulation node is configured."; + description + "L3 Ambiguous encapsulation"; + leaf outer-tag-type { + type dt1:Match; + mandatory true; + description + "Whether to match all unmatched packets, + untagged packets or tagged packets, and if + matching tagged packets, the outer tag type to + match"; + } + leaf outer-range1-low { + type dt1:Vlan-tag-or-any; + description + "Low value of first range for outer tag match"; + } + leaf outer-range1-high { + type dt1:Vlan-tag-or-native; + description + "High value of first range for outer tag match"; + } + leaf inner-tag-type { + type dt1:Match; + description + "Type of tag for inner match (if present)"; + } + leaf inner-range1-low { + type dt1:Vlan-tag-or-any; + description + "Low value of first range for inner tag match"; + } + leaf inner-range1-high { + type dt1:Vlan-tag; + description + "High value of first range for inner tag match"; + } + leaf additional-range1-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of first additional range for tag + match"; + } + leaf additional-range1-high { + type dt1:Vlan-tag; + description + "High value of first additional range for tag + match"; + } + leaf additional-range2-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of second additional range for tag + match"; + } + leaf additional-range2-high { + type dt1:Vlan-tag; + description + "High value of second additional range for tag + match"; + } + leaf additional-range3-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of third additional range for tag + match"; + } + leaf additional-range3-high { + type dt1:Vlan-tag; + description + "High value of third additional range for tag + match"; + } + leaf additional-range4-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of forth additional range for tag + match"; + } + leaf additional-range4-high { + type dt1:Vlan-tag; + description + "High value of forth additional range for tag + match"; + } + leaf additional-range5-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of fifth additional range for tag + match"; + } + leaf additional-range5-high { + type dt1:Vlan-tag; + description + "High value of fifth additional range for tag + match"; + } + leaf additional-range6-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of sixth additional range for tag + match"; + } + leaf additional-range6-high { + type dt1:Vlan-tag; + description + "High value of sixth additional range for tag + match"; + } + leaf additional-range7-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of seventh additional range for tag + match"; + } + leaf additional-range7-high { + type dt1:Vlan-tag; + description + "High value of seventh additional range for tag + match"; + } + leaf additional-range8-low { + type dt1:Vlan-tag-or-cvp; + description + "Low value of eighth additional range for tag + match"; + } + leaf additional-range8-high { + type dt1:Vlan-tag; + description + "High value of eighth additional range for tag + match"; + } + leaf outer-class-of-service { + type dt1:Class-of-service; + description + "Value to match against Class Of Service bits + for outer tag"; + } + leaf inner-class-of-service { + type dt1:Class-of-service; + description + "Value to match against Class Of Service bits + for inner tag"; + } + leaf payload-ethertype-match { + type dt1:Ethertype-match; + description + "Which payload ethertype values to match"; + } + leaf ingress-source-mac { + type yang:mac-address; + description + "Source MAC address to match on ingress"; + } + leaf ingress-destination-mac { + type yang:mac-address; + description + "Destination MAC address to match on egress"; + } + leaf exact { + type empty; + description + "Only match packets with no more tags than + explicitly matched"; + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container mac-accounting { + description + "MAC Accounting Configuration"; + leaf ingress { + type empty; + description + "Per MAC address accounting statistics"; + } + leaf egress { + type empty; + description + "Per MAC address accounting statistics"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ethernet-features { + description + "Ethernet Features Configuration"; + leaf filtering { + type Filtering; + description + "Ingress Ethernet frame filtering"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container carrier-delay { + description + "Set the carrier transition delay on an interface + in msecs"; + leaf carrier-delay-up { + type uint32 { + range "1..65535"; + } + description + "Carrier Delay (up) in msecs"; + } + leaf carrier-delay-down { + type uint32 { + range "0"; + } + description + "Carrier Delay down in msecs, must be set to 0"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container vlan-trunk-configuration { + description + "IEEE 802.1Q VLAN trunk interface configuration"; + container native-vlan-identifier { + presence "Indicates a native-vlan-identifier node is configured."; + description + "The Native VLAN identifier associated with this + trunk interface"; + leaf vlan-type { + type dt1:Vlan; + mandatory true; + description + "Whether this interface is dot1ad or dot1Q"; + } + leaf vlan-identifier { + type dt1:Vlan-tag; + mandatory true; + description + "VLAN identifier"; + } + } + container vlan-switched { + description + "VLAN Switch interface configuration"; + leaf mode { + type dt1:Vs-mode; + description + "VLAN Switch mode"; + } + leaf access-vlan { + when "../mode = 'access'" { + description + "../Mode = Access"; + } + type dt1:Vlan-tag; + description + "Access VLAN Id"; + } + leaf trunk-tag-type { + when "../mode = 'trunk'" { + description + "../Mode = Trunk"; + } + type dt1:Vlan; + description + "Whether to match dot1ad or dot1Q packets"; + } + leaf trunk-vla-ns { + when "../mode = 'trunk'" { + description + "../Mode = Trunk"; + } + type string; + description + "Comma-separated, increasing sequence of VLAN + Ids or VLAN ranges"; + } + } + leaf tunneling-ethertype { + type enumeration { + enum "0x9100" { + value 37120; + description + "0x9100"; + } + enum "0x9200" { + value 37376; + description + "0x9200"; + } + } + description + "The outer ethertype used in Q-in-Q frames. The + default value is 0x8100"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + container l2-protocols { + description + "Interface specific Layer 2 protocol handling"; + list l2-protocol { + key "l2-protocol-name"; + description + "Handling of a specific Layer 2 protocol"; + leaf l2-protocol-name { + type L2-protocol-name; + description + "Protocol name"; + } + leaf mode { + type L2-protocol-mode; + mandatory true; + description + "How to handle the protocol's packets"; + } + leaf mpls-exp-bits-value { + type L2-protocol-mpls-exp-bits-value; + description + "The value to set the MPLS Exp bits to within + the PW.This value may be specified if the mode + is forward or tunnel and must not be specified + if the mode is drop"; + } + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + leaf propagate-remote-status { + type empty; + description + "Enable propagation of the remote + attachment-circuit link state to the + localattachment-circuit link state"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + container l2-ethernet-features { + description + "L2 Ethernet Features Configuration"; + leaf egress-filtering { + type Egress-filtering; + default "egress-filtering-type-default"; + description + "Egress Ethernet filtering"; + } + leaf source-bypass-egress-filtering { + type empty; + description + "Mark all ingress packets to bypass any egress + VLAN filter"; + } + } + } + container ethernet-features { + description + "Ethernet Features Configuration"; + container egress-filtering { + description + "Egress Filtering Configuration"; + leaf egress-filtering-default-on { + type empty; + description + "Whether Egress Filtering is on by default"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-datatypes.yang new file mode 100644 index 000000000..533c8e561 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-datatypes.yang @@ -0,0 +1,258 @@ +module Cisco-IOS-XR-l2-eth-infra-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-datatypes"; + prefix l2-eth-infra-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Vs-mode { + type enumeration { + enum "trunk" { + value 1; + description + "VLAN-Switched trunk mode"; + } + enum "access" { + value 2; + description + "VLAN-Switched access mode"; + } + } + description + "Vs mode"; + } + + typedef Vlan-tag-or-cvp { + type union { + type enumeration { + enum "native-with-cvlan-preservation" { + value 65534; + description + "This is the Native VLAN and C-VLAN + preservation is enabled"; + } + } + type uint32 { + range "1..65534"; + } + } + description + "Vlan tag or cvp"; + } + + typedef Class-of-service { + type uint32 { + range "0..7"; + } + description + "Class of service"; + } + + typedef Vlan { + type enumeration { + enum "vlan-type-dot1ad" { + value 1; + description + "An 802.1ad VLAN"; + } + enum "vlan-type-dot1q" { + value 2; + description + "An 802.1q VLAN"; + } + } + description + "Vlan"; + } + + typedef Vlan-tag-or-native { + type union { + type enumeration { + enum "native" { + value 65535; + description + "This is the Native VLAN"; + } + enum "native-with-cvlan-preservation" { + value 65534; + description + "This is the Native VLAN and C-VLAN + preservation is enabled"; + } + } + type uint32 { + range "1..65535"; + } + } + description + "Vlan tag or native"; + } + + typedef Vlan-tag-or-null { + type union { + type enumeration { + enum "any" { + value 0; + description + "Match any inner VLAN tag value"; + } + } + type uint32 { + range "0..4094"; + } + } + description + "Vlan tag or null"; + } + + typedef Rewrite { + type enumeration { + enum "pop1" { + value 1; + description + "Pop 1 tag"; + } + enum "pop2" { + value 2; + description + "Pop 2 tags"; + } + enum "push1" { + value 3; + description + "Push 1 tag"; + } + enum "push2" { + value 4; + description + "Push 2 tags"; + } + enum "translate1to1" { + value 5; + description + "Translate 1-to-1"; + } + enum "translate1to2" { + value 6; + description + "Translate 1-to-2"; + } + enum "translate2to1" { + value 7; + description + "Translate 2-to-1"; + } + enum "translate2to2" { + value 8; + description + "Translate 2-to-2"; + } + } + description + "Rewrite"; + } + + typedef Match { + type enumeration { + enum "match-default" { + value 1; + description + "All otherwise unmatched packets"; + } + enum "match-untagged" { + value 2; + description + "Untagged packets"; + } + enum "match-dot1q" { + value 3; + description + "Match Dot1Q tags"; + } + enum "match-dot1ad" { + value 4; + description + "Match Dot1ad tags"; + } + enum "match-dot1q-priority" { + value 5; + description + "Match Dot1Q priority-tagged packets"; + } + enum "match-dot1ad-priority" { + value 6; + description + "Match Dot1ad priority-tagged packets"; + } + } + description + "Match"; + } + + typedef Ethertype-match { + type enumeration { + enum "ppp-over-ethernet" { + value 34915; + description + "PPP over Ethernet"; + } + } + description + "Ethertype match"; + } + + typedef Vlan-tag { + type uint32 { + range "1..4094"; + } + description + "Vlan tag"; + } + + typedef Vlan-tag-or-any { + type union { + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN tag value"; + } + } + type uint32 { + range "1..4096"; + } + } + description + "Vlan tag or any"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub1.yang new file mode 100644 index 000000000..55c59575c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub1.yang @@ -0,0 +1,90 @@ +submodule Cisco-IOS-XR-l2-eth-infra-oper-sub1 { + belongs-to Cisco-IOS-XR-l2-eth-infra-oper { + prefix Cisco-IOS-XR-l2-eth-infra-oper; + } + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2-eth-infra package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-14 { + description + "Added hardware timestamp support for MAC accounting stats. + 2022-03-11 + Added leaf number-of-ranges indicating count of vlan-ranges in tags-to-match."; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Eth-caps-ucast-mac-mode { + type enumeration { + enum "reserved" { + value 0; + description + "Reserved"; + } + enum "permit" { + value 1; + description + "Permit"; + } + } + description + "Eth caps ucast mac mode"; + } + + grouping ETH-CAPS-UCAST-MAC-ENTRY-TYPE { + description + "ETH CAPS UCAST MAC ENTRY TYPE"; + leaf mac-address { + type yang:mac-address; + description + "MAC address"; + } + leaf mode { + type Eth-caps-ucast-mac-mode; + description + "Unicast MAC mode"; + } + } + + grouping ETHER-CAPS-UCAST-FILTER { + description + "Per interface unicast MAC filter information"; + list unicast-filter { + description + "Unicast MAC filter information"; + uses ETH-CAPS-UCAST-MAC-ENTRY-TYPE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub2.yang new file mode 100644 index 000000000..a21f78354 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub2.yang @@ -0,0 +1,830 @@ +submodule Cisco-IOS-XR-l2-eth-infra-oper-sub2 { + belongs-to Cisco-IOS-XR-l2-eth-infra-oper { + prefix Cisco-IOS-XR-l2-eth-infra-oper; + } + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2-eth-infra package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-14 { + description + "Added hardware timestamp support for MAC accounting stats. + 2022-03-11 + Added leaf number-of-ranges indicating count of vlan-ranges in tags-to-match."; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Vlan-service { + type enumeration { + enum "vlan-service-l2" { + value 1; + description + "Layer 2 Transport Service"; + } + enum "vlan-service-l3" { + value 2; + description + "Layer 3 Terminated Service"; + } + } + description + "Layer 2 vs. Layer 3 Terminated Service"; + } + + typedef Vlan-encaps { + type enumeration { + enum "no-encapsulation" { + value 0; + description + "No encapsulation"; + } + enum "dot1q" { + value 1; + description + "IEEE 802.1Q encapsulation"; + } + enum "qinq" { + value 2; + description + "Double 802.1Q encapsulation"; + } + enum "qin-any" { + value 3; + description + "Double 802.1Q wildcarded encapsulation"; + } + enum "dot1q-native" { + value 4; + description + "IEEE 802.1Q native VLAN encapsulation"; + } + enum "dot1ad" { + value 5; + description + "IEEE 802.1ad encapsulation"; + } + enum "dot1ad-native" { + value 6; + description + "IEEE 802.1ad native VLAN encapsulation"; + } + enum "service-instance" { + value 7; + description + "Ethernet Service Instance"; + } + enum "dot1ad-dot1q" { + value 8; + description + "IEEE 802.1ad 802.1Q encapsulation"; + } + enum "dot1ad-any" { + value 9; + description + "IEEE 802.1ad wildcard 802.1Q encapsulation"; + } + } + description + "VLAN encapsulation"; + } + + typedef Mac-address { + type yang:mac-address; + description + "MAC address type"; + } + + typedef Efp-payload-etype { + type enumeration { + enum "payload-ethertype-any" { + value 0; + description + "Any"; + } + enum "payload-ethertype-ip" { + value 1; + description + "IP"; + } + enum "payload-ethertype-pppoe" { + value 2; + description + "PPPoE"; + } + } + description + "Payload ethertype match"; + } + + typedef Efp-tag-priority { + type enumeration { + enum "priority0" { + value 0; + description + "Priority 0"; + } + enum "priority1" { + value 1; + description + "Priority 1"; + } + enum "priority2" { + value 2; + description + "Priority 2"; + } + enum "priority3" { + value 3; + description + "Priority 3"; + } + enum "priority4" { + value 4; + description + "Priority 4"; + } + enum "priority5" { + value 5; + description + "Priority 5"; + } + enum "priority6" { + value 6; + description + "Priority 6"; + } + enum "priority7" { + value 7; + description + "Priority 7"; + } + enum "priority-any" { + value 8; + description + "Any priority"; + } + } + description + "Priority"; + } + + typedef Efp-tag-etype { + type enumeration { + enum "untagged" { + value 0; + description + "Untagged"; + } + enum "dot1q" { + value 33024; + description + "Dot1Q"; + } + enum "dot1ad" { + value 34984; + description + "Dot1ad"; + } + } + description + "Tag ethertype"; + } + + typedef Vlan-switched-mode { + type enumeration { + enum "none" { + value 0; + description + "Disabled"; + } + enum "trunk-port" { + value 1; + description + "Trunk port"; + } + enum "access-port" { + value 2; + description + "Access port"; + } + } + description + "VLAN-Switched mode"; + } + + typedef Eth-filtering { + type enumeration { + enum "no-filtering" { + value 0; + description + "No IEEE 802.1Q/802.1ad/MAC relay multicast MAC + address filtering"; + } + enum "dot1q-filtering" { + value 1; + description + "IEEE 802.1q C-VLAN filtering"; + } + enum "dot1ad-filtering" { + value 2; + description + "IEEE 802.1ad S-VLAN filtering"; + } + enum "two-port-mac-relay-filtering" { + value 3; + description + "IEEE 802.1aj 2-Port MAC relay filtering"; + } + } + description + "Ethernet frame filtering"; + } + + typedef Vlan-qinq-outer-etype { + type enumeration { + enum "ether-type8100" { + value 33024; + description + "Dot1Q (0x8100)"; + } + enum "ether-type9100" { + value 37120; + description + "0x9100"; + } + enum "ether-type9200" { + value 37376; + description + "0x9200"; + } + } + description + "QinQ Outer Tag Ethertype"; + } + + typedef Vlan-tag-value { + type uint16; + description + "VLAN Tag Value (1 - 4094)"; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + grouping VLAN-DOUBLE-TAG-STACK { + description + "VLAN double tag stack"; + leaf outer-tag { + type Vlan-tag-value; + description + "Outer tag value"; + } + leaf second-tag { + type Vlan-tag-value; + description + "Second tag value"; + } + } + + grouping VLAN-TAG-STACK-TYPE { + description + "VLAN encapsulation and tag stack"; + container stack { + when "../vlan-encapsulation = 'qinq'" { + description + "../VLANEncapsulation = 'QinQ'"; + } + description + "Stack value"; + uses VLAN-DOUBLE-TAG-STACK; + } + container service-instance-details { + when "../vlan-encapsulation = 'service-instance'" { + description + "../VLANEncapsulation = 'ServiceInstance'"; + } + description + "Service Instance encapsulation"; + uses EFP-DESCRIPTION; + } + container dot1ad-dot1q-stack { + when "../vlan-encapsulation = 'dot1ad-dot1q'" { + description + "../VLANEncapsulation = 'Dot1adDot1Q'"; + } + description + "802.1ad 802.1Q stack value"; + uses VLAN-DOUBLE-TAG-STACK; + } + leaf vlan-encapsulation { + type Vlan-encaps; + description + "VLANEncapsulation"; + } + leaf tag { + when "../vlan-encapsulation = 'dot1q'" { + description + "../VLANEncapsulation = 'Dot1Q'"; + } + type Vlan-tag-value; + description + "Tag value"; + } + leaf outer-tag { + when "../vlan-encapsulation = 'qin-any'" { + description + "../VLANEncapsulation = 'QinAny'"; + } + type Vlan-tag-value; + description + "Outer tag value"; + } + leaf native-tag { + when "../vlan-encapsulation = 'dot1q-native'" { + description + "../VLANEncapsulation = 'Dot1QNative'"; + } + type Vlan-tag-value; + description + "Native tag value"; + } + leaf dot1ad-tag { + when "../vlan-encapsulation = 'dot1ad'" { + description + "../VLANEncapsulation = 'Dot1ad'"; + } + type Vlan-tag-value; + description + "802.1ad tag value"; + } + leaf dot1ad-native-tag { + when "../vlan-encapsulation = 'dot1ad-native'" { + description + "../VLANEncapsulation = 'Dot1adNative'"; + } + type Vlan-tag-value; + description + "802.1ad native tag value"; + } + leaf dot1ad-outer-tag { + when "../vlan-encapsulation = 'dot1ad-any'" { + description + "../VLANEncapsulation = 'Dot1adAny'"; + } + type Vlan-tag-value; + description + "802.1ad Outer tag value"; + } + } + + grouping VLAN-INTF { + description + "VLAN Interface information"; + container encapsulation-details { + description + "Encapsulation type and tag stack"; + uses VLAN-TAG-STACK-TYPE; + } + leaf interface-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf parent-interface { + type xr:Interface-name; + description + "Parent interface"; + } + leaf service { + type Vlan-service; + description + "Service type"; + } + leaf state { + type Im-state-enum; + description + "Interface state"; + } + leaf mtu { + type uint16; + description + "L2 MTU"; + } + leaf switched-mtu { + type uint16; + description + "L2 switched MTU"; + } + } + + grouping EFP-TAG-LOCAL-TRAFFIC-STACK { + description + "EFP TAG LOCAL TRAFFIC STACK"; + list local-traffic-tag { + description + "VLAN tags for locally-sourced traffic"; + uses EFP-VLAN-TAG; + } + } + + grouping EFP-VLAN-TAG { + description + "EFP VLAN TAG"; + leaf ethertype { + type Efp-tag-etype; + description + "Ethertype of tag"; + } + leaf vlan-id { + type Vlan-tag-value; + description + "VLAN Id"; + } + } + + grouping EFP-RANGE-TYPE { + description + "EFP RANGE TYPE"; + leaf vlan-id-low { + type Vlan-tag-value; + description + "VLAN ID Low"; + } + leaf vlan-id-high { + type Vlan-tag-value; + description + "VLAN ID High"; + } + } + + grouping EFP-TAG-MATCH { + description + "EFP TAG MATCH"; + leaf ethertype { + type Efp-tag-etype; + description + "Ethertype of tag to match"; + } + leaf priority { + type Efp-tag-priority; + description + "Priority to match"; + } + leaf number-of-ranges { + type uint16; + description + "Number of vlan ranges to match"; + } + list vlan-range { + description + "VLAN Ids to match"; + uses EFP-RANGE-TYPE; + } + } + + grouping EFP-DESCRIPTION { + description + "EFP DESCRIPTION"; + container local-traffic-stack { + description + "VLAN tags for locally-sourced traffic"; + uses EFP-TAG-LOCAL-TRAFFIC-STACK; + } + leaf payload-ethertype { + type Efp-payload-etype; + description + "Payload Ethertype to match"; + } + leaf tags-popped { + type uint16; + description + "Number of tags popped on ingress"; + } + leaf is-exact-match { + type boolean; + description + "Whether the packet must match the encapsulation + exactly, with no further inner tags"; + } + leaf is-native-vlan { + type boolean; + description + "Whether this represents the native VLAN on the + port"; + } + leaf is-native-preserving { + type boolean; + description + "Whether the native VLAN is customer-tag + preserving"; + } + leaf source-mac-match { + type Mac-address; + description + "The source MAC address to match on ingress"; + } + leaf destination-mac-match { + type Mac-address; + description + "The destination MAC address to match on ingress"; + } + list tags-to-match { + description + "Tags to match on ingress packets"; + uses EFP-TAG-MATCH; + } + list pushe { + description + "VLAN tags pushed on egress"; + uses EFP-VLAN-TAG; + } + } + + grouping VLAN-SWITCHED-INFO { + description + "VLAN-Switched information"; + container trunk-vlan-ranges { + description + "VLAN-Switched Trunk VLAN ranges"; + uses EFP-DESCRIPTION; + } + leaf mode { + type Vlan-switched-mode; + description + "VLAN-Switched mode"; + } + leaf access-vlan { + type Vlan-tag-value; + description + "VLAN-Switched Access VLAN"; + } + } + + grouping VLAN-TRUNK-L3-SUB-INTFS { + description + "Layer 3 Terminated Subinterfaces"; + container state-counters { + description + "Numbers of subinterfaces up, down or + administratively shut down"; + uses VLAN-TRUNK-SUB-INTF-STATE-COUNTERS; + } + leaf total-count { + type uint32; + description + "Total number of Layer 3 subinterfaces configured"; + } + leaf dot1q-count { + type uint32; + description + "Number of single tagged subinterfaces"; + } + leaf qin-q-count { + type uint32; + description + "Number of double tagged subinterfaces"; + } + leaf untagged-count { + type uint32; + description + "Number of subinterfaces without VLAN tag + configuration"; + } + leaf native-vlan { + type Vlan-tag-value; + description + "Native VLAN ID configured on trunk"; + } + } + + grouping VLAN-TRUNK-SUB-INTF-STATE-COUNTERS { + description + "Subinterface counters"; + leaf up { + type uint32; + description + "Number of subinterfaces which are up"; + } + leaf down { + type uint32; + description + "Number of subinterfaces which are down"; + } + leaf admin-down { + type uint32; + description + "Number of subinterfaces which are + administrativelyshutdown"; + } + } + + grouping VLAN-TRUNK-L2-SUB-INTFS { + description + "Layer 2 Transport Subinterfaces"; + container state-counters { + description + "Numbers of subinterfaces up, down or + administratively shut down"; + uses VLAN-TRUNK-SUB-INTF-STATE-COUNTERS; + } + leaf total-count { + type uint32; + description + "Total number of Layer 2 subinterfaces configured"; + } + leaf dot1q-count { + type uint32; + description + "Number of single tagged subinterfaces"; + } + leaf qin-q-count { + type uint32; + description + "Number of double tagged subinterfaces with + explicit inner tag"; + } + leaf qin-any-count { + type uint32; + description + "Number of double tagged subinterfaces with + wildcarded inner tag"; + } + leaf untagged-count { + type uint32; + description + "Number of subinterfaces without VLAN tag + configuration"; + } + } + + grouping VLAN-TRUNK { + description + "VLAN trunk interface information"; + container layer2-sub-interfaces { + description + "Layer 2 Transport Subinterfaces"; + uses VLAN-TRUNK-L2-SUB-INTFS; + } + container layer3-sub-interfaces { + description + "Layer 3 Terminated Subinterfaces"; + uses VLAN-TRUNK-L3-SUB-INTFS; + } + container vlan-switched { + description + "VLAN-Switched information"; + uses VLAN-SWITCHED-INFO; + } + leaf interface-xr { + type xr:Interface-name; + description + "Interface name"; + } + leaf state { + type Im-state-enum; + description + "Interface state"; + } + leaf mtu { + type uint16; + description + "L2 MTU"; + } + leaf qinq-outer-ether-type { + type Vlan-qinq-outer-etype; + description + "QinQ Outer Tag Ether Type"; + } + leaf dot1ad-count { + type uint32; + description + "Number of subinterfaces with 802.1ad outer tag"; + } + leaf untagged-interface { + type xr:Interface-name; + description + "Interface/Sub-interface handling untagged frames"; + } + leaf mac-filtering { + type Eth-filtering; + description + "IEEE 802.1Q/802.1ad multicast MAC address + filtering"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub3.yang new file mode 100644 index 000000000..2a2b3dc4b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper-sub3.yang @@ -0,0 +1,127 @@ +submodule Cisco-IOS-XR-l2-eth-infra-oper-sub3 { + belongs-to Cisco-IOS-XR-l2-eth-infra-oper { + prefix Cisco-IOS-XR-l2-eth-infra-oper; + } + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2-eth-infra package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-14 { + description + "Added hardware timestamp support for MAC accounting stats. + 2022-03-11 + Added leaf number-of-ranges indicating count of vlan-ranges in tags-to-match."; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MAC-ACC-STATS { + description + "Per MAC address stats information"; + leaf mac-address { + type yang:mac-address; + description + "48bit MAC address"; + } + leaf packets { + type uint64; + description + "Number of packets counted"; + } + leaf bytes { + type uint64; + units "byte"; + description + "Number of bytes counted"; + } + leaf hardware-timestamp { + type uint64; + units "millisecond"; + description + "Time when MAC counters were last read from + hardware (in msecs)"; + } + } + + grouping MAC-ACC-INTF-INFO { + description + "Per interface MAC accounting information"; + leaf is-ingress-enabled { + type boolean; + description + "MAC accounting on on ingress"; + } + leaf is-egress-enabled { + type boolean; + description + "MAC accounting on on egress"; + } + leaf number-available-ingress { + type uint32; + description + "MAC accounting entries available on ingress"; + } + leaf number-available-egress { + type uint32; + description + "MAC accounting entries available on egress"; + } + leaf number-available-on-node { + type uint32; + description + "MAC accountng entries available across the node"; + } + } + + grouping MAC-ACC-INTF { + description + "All MAC accounting information and statistics for + an interface"; + container state { + description + "MAC accounting state for the interface"; + uses MAC-ACC-INTF-INFO; + } + list ingress-statistic { + description + "Ingress MAC accounting statistics"; + uses MAC-ACC-STATS; + } + list egress-statistic { + description + "Egress MAC accounting statistics"; + uses MAC-ACC-STATS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper.yang new file mode 100644 index 000000000..0f445d53d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2-eth-infra-oper.yang @@ -0,0 +1,204 @@ +module Cisco-IOS-XR-l2-eth-infra-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-oper"; + prefix l2-eth-infra-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-l2-eth-infra-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-l2-eth-infra-oper-sub3 { + revision-date 2022-07-14; + } + include Cisco-IOS-XR-l2-eth-infra-oper-sub2 { + revision-date 2022-07-14; + } + include Cisco-IOS-XR-l2-eth-infra-oper-sub1 { + revision-date 2022-07-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2-eth-infra package operational data. + + This module contains definitions + for the following management objects: + mac-accounting: MAC accounting operational data + vlan: VLAN operational data + ethernet-encapsulation: Ethernet encapsulation operational + data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-14 { + description + "Added hardware timestamp support for MAC accounting stats. + 2022-03-11 + Added leaf number-of-ranges indicating count of vlan-ranges in tags-to-match."; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container mac-accounting { + config false; + description + "MAC accounting operational data"; + container interfaces { + description + "MAC accounting interface table in MIB + lexicographic order"; + list interface { + key "interface-name"; + description + "Operational data and statistics for an + interface configured with MAC accounting + enabled"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + uses MAC-ACC-INTF; + } + } + } + container vlan { + config false; + description + "VLAN operational data"; + container nodes { + description + "Per node VLAN operational data"; + list node { + key "node-id"; + description + "The VLAN operational data for a particular node"; + container trunks { + description + "VLAN trunk table (specific to this node)"; + list trunk { + key "interface"; + description + "Operational data for trunk interfaces + configured with VLANs"; + leaf interface { + type xr:Interface-name; + description + "The interface name"; + } + uses VLAN-TRUNK; + } + } + container interfaces { + description + "VLAN interface table (specific to this node)"; + list interface { + key "interface"; + description + "Operational data for a sub-interface + configured with VLANs"; + leaf interface { + type xr:Interface-name; + description + "The interface name"; + } + uses VLAN-INTF; + } + } + container tag-allocations { + description + "VLAN tag allocation table (specific to this + node)"; + list tag-allocation { + description + "Operational data for a sub-interface + configured with VLANs"; + leaf interface { + type xr:Interface-name; + description + "The interface name"; + } + leaf first-tag { + type dt1:Vlan-tag; + description + "The first (outermost) tag"; + } + leaf second-tag { + type dt1:Vlan-tag-or-any; + description + "The second tag"; + } + uses VLAN-INTF; + } + } + leaf node-id { + type xr:Node-id; + description + "The identifier for the node"; + } + } + } + } + container ethernet-encapsulation { + config false; + description + "Ethernet encapsulation operational data"; + container nodes { + description + "Per node Ethernet encapsulation operational data"; + list node { + key "node-name"; + description + "The Ethernet encaps operational data for a + particular node"; + container unicast-mac-filters { + description + "Unicast MAC filter table (specific to this + node)"; + list unicast-mac-filter { + key "interface-name"; + description + "Operational data for interface with MAC + filters configured"; + leaf interface-name { + type xr:Interface-name; + description + "The interface name"; + } + uses ETHER-CAPS-UCAST-FILTER; + } + } + leaf node-name { + type xr:Node-id; + description + "The identifier for the node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-cfg.yang new file mode 100644 index 000000000..6132953eb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-cfg.yang @@ -0,0 +1,157 @@ +module Cisco-IOS-XR-l2rib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2rib-cfg"; + prefix l2rib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-l2vpn-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2rib package configuration. + + This YANG module augments the + Cisco-IOS-XR-l2vpn-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-09-09 { + description + "New config parameter, reset-freeze-count-interval added."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-09-26 { + description + "Duplicate detection parameters config moved from l2vpn to l2rib."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2rib-retry-count { + type union { + type enumeration { + enum "infinity" { + value 1001; + description + "Infinite retry count"; + } + } + type uint32 { + range "0..1001"; + } + } + description + "L2rib retry count"; + } + + grouping DUPLICATE-DETECTION { + description + "Common node of mac, ipv4, ipv6"; + container duplicate-detection { + description + "EVPN HOST [MAC/IPv4/IPv6] DUP-DETECT + Configuration"; + leaf move-count { + type uint32 { + range "1..1000"; + } + default "5"; + description + "Number of moves to occur within the + MoveInterval before a MAC/IPv4/IPv6 address is + marked as duplicate"; + } + leaf retry-count { + type L2rib-retry-count; + description + "Number of times to automatically clear the + duplicate flag on a MAC/IPV4/IPV6 route before + permanently freezing it"; + } + leaf freeze-time { + type uint32 { + range "5..3600"; + } + default "30"; + description + "Length of time to lock the MAC/IPv4/IPv6 after + a MAC/IPv4/IPv6 has been marked as duplicate"; + } + leaf reset-freeze-count-interval { + type uint32 { + range "1..48"; + } + default "24"; + description + "Interval after which the count of duplicate + detection events used to determine whether + MAC/IPv4/IPv6 needs to be permanently frozen, + is reset."; + } + leaf move-interval { + type uint32 { + range "5..3600"; + } + default "180"; + description + "Interval within which MoveCount number of moves + need to happen before a MAC/IPv4/IPv6 route is + marked as duplicate"; + } + leaf disable { + type empty; + description + "Set to disable duplicate detection"; + } + } + } + + augment "/a1:evpn/a1:evpn-tables" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + container host { + description + "EVPN HOST Configuration"; + container ipv6 { + description + "EVPN HOST IPV6-ADDR Configuration"; + uses DUPLICATE-DETECTION; + } + container ipv4 { + description + "EVPN HOST IPV4-ADDR Configuration"; + uses DUPLICATE-DETECTION; + } + container mac { + description + "EVPN HOST MAC-ADDR Configuration"; + uses DUPLICATE-DETECTION; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper-sub1.yang new file mode 100644 index 000000000..8dc6e3ef1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper-sub1.yang @@ -0,0 +1,1349 @@ +submodule Cisco-IOS-XR-l2rib-oper-sub1 { + belongs-to Cisco-IOS-XR-l2rib-oper { + prefix Cisco-IOS-XR-l2rib-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2rib package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-09 { + description + "Changes made in the bag to display IID next-hop."; + semver:module-version "2.2.0"; + } + revision 2019-11-22 { + description + "Added to path for Mac/IP Table and Mac/IP Detail Table"; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2rib-mac-route { + type enumeration { + enum "l2rib-mac-route-type-invalid" { + value 0; + description + "l2rib mac route type invalid"; + } + enum "l2rib-mac-route-type-regular" { + value 1; + description + "l2rib mac route type regular"; + } + enum "l2rib-mac-route-type-evpn-esi" { + value 2; + description + "l2rib mac route type evpn esi"; + } + enum "l2rib-mac-route-type-bmac" { + value 3; + description + "l2rib mac route type bmac"; + } + } + description + "L2rib mac route"; + } + + typedef L2rib-afi { + type enumeration { + enum "l2rib-address-family-ipv4" { + description + "l2rib address family ipv4"; + } + enum "l2rib-address-family-ipv6" { + description + "l2rib address family ipv6"; + } + enum "l2rib-address-family-invalid" { + description + "l2rib address family invalid"; + } + } + description + "L2rib afi"; + } + + typedef L2rib-mac-addr { + type yang:mac-address; + description + "L2rib mac addr"; + } + + typedef L2rib-ipv6-addr { + type inet:ipv6-address; + description + "L2rib ipv6 addr"; + } + + typedef L2rib-next-hop { + type enumeration { + enum "l2rib-next-hop-invalid" { + value 0; + description + "l2rib next hop invalid"; + } + enum "l2rib-next-hop-interface-ordinal" { + value 1; + description + "l2rib next hop interface ordinal"; + } + enum "l2rib-next-hop-interface-index" { + value 2; + description + "l2rib next hop interface index"; + } + enum "l2rib-next-hop-mac" { + value 3; + description + "l2rib next hop mac"; + } + enum "l2rib-next-hop-ipv4" { + value 4; + description + "l2rib next hop ipv4"; + } + enum "l2rib-next-hop-ipv6" { + value 5; + description + "l2rib next hop ipv6"; + } + enum "l2rib-next-hop-overlay" { + value 6; + description + "l2rib next hop overlay"; + } + enum "l2rib-next-hop-site-index" { + value 7; + description + "l2rib next hop site index"; + } + enum "l2rib-next-hop-label-ed" { + value 8; + description + "l2rib next hop label ed"; + } + enum "l2rib-next-hop-xid" { + value 9; + description + "l2rib next hop xid"; + } + enum "l2rib-next-hop-iid" { + value 11; + description + "l2rib next hop iid"; + } + } + description + "L2rib next hop"; + } + + typedef L2rib-bag-producer-state { + type enumeration { + enum "l2rib-bag-prod-state-initial" { + value 0; + description + "Initial"; + } + enum "l2rib-bag-prod-state-staled" { + value 1; + description + "Stale"; + } + enum "l2rib-bag-prod-state-re-connected" { + value 2; + description + "Reconnected"; + } + enum "l2rib-bag-prod-state-converged" { + value 3; + description + "Converged"; + } + enum "l2rib-bag-prod-state-delete-p-end" { + value 4; + description + "Delete Pending"; + } + } + description + "L2RIB Producer States"; + } + + typedef L2rib-bag-producer-id { + type enumeration { + enum "l2rib-bag-prod-none" { + value 0; + description + "None"; + } + enum "l2rib-bag-prod-best-route" { + value 1; + description + "Best Route"; + } + enum "l2rib-bag-prod-static" { + value 2; + description + "Static"; + } + enum "l2rib-bag-prod-local" { + value 3; + description + "Local"; + } + enum "l2rib-bag-prod-isis" { + value 4; + description + "IS IS"; + } + enum "l2rib-bag-prod-bgp" { + value 5; + description + "BGP"; + } + enum "l2rib-bag-prod-igmp" { + value 6; + description + "IGMP"; + } + enum "l2rib-bag-prod-prod-mld" { + value 7; + description + "MLD"; + } + enum "l2rib-bag-prod-prod-otv" { + value 8; + description + "OTV"; + } + enum "l2rib-bag-prod-prod-l2vpn" { + value 9; + description + "L2VPN"; + } + enum "l2rib-bag-prod-prod-mac-mgr" { + value 10; + description + "MAC MGR"; + } + enum "l2rib-bag-prod-prod-vxlan" { + value 11; + description + "VXLAN"; + } + enum "l2rib-bag-prod-gateway-local" { + value 12; + description + "GW Local"; + } + enum "l2rib-bag-prod-prod-arp" { + value 13; + description + "ARP"; + } + enum "l2rib-bag-prod-prod-local-proxy" { + value 14; + description + "Local Proxy"; + } + enum "l2rib-bag-prod-prod-all" { + value 255; + description + "All"; + } + } + description + "L2RIB Producer Types"; + } + + typedef L2rib-bag-obj { + type enumeration { + enum "l2rib-bag-obj-type-min" { + value 0; + description + "Invalid Object Type"; + } + enum "l2rib-bag-obj-type-all" { + value 1; + description + "All"; + } + enum "l2rib-bag-obj-type-mac" { + value 2; + description + "Mac"; + } + enum "l2rib-bag-obj-type-ipv4-mcast" { + value 3; + description + "IPv4 Multicast"; + } + enum "l2rib-bag-obj-type-ipv6-mcast" { + value 4; + description + "IPv6 Multicast"; + } + enum "l2rib-bag-obj-type-topology" { + value 5; + description + "Topology"; + } + enum "l2rib-bag-obj-type-ead" { + value 6; + description + "Ethernet AD"; + } + enum "l2rib-bag-obj-type-evpn-pl" { + value 7; + description + "EVPN Path List"; + } + enum "l2rib-bag-obj-type-topo-attribute" { + value 8; + description + "Topology Attribute"; + } + enum "l2rib-bag-obj-type-imet-route" { + value 9; + description + "IMET"; + } + enum "l2rib-bag-obj-type-mac-ip" { + value 13; + description + "Mac IP"; + } + } + description + "L2RIB Object Types"; + } + + grouping L2RIB-IMET-ROUTE-DETAIL { + description + "L2RIB IMET ROUTE DETAIL"; + container imet-route-base { + description + "Imet Route base information"; + uses L2RIB-IMET-ROUTE; + } + leaf tunnel-id { + type string; + description + "Tunnel Id"; + } + leaf flags { + type uint32; + description + "IMET route flags"; + } + leaf tunnel-type { + type uint32; + description + "IMET route tunnel type"; + } + leaf l2r-label { + type uint32; + description + "Label"; + } + leaf encap-type { + type uint32; + description + "Encap Type"; + } + leaf last-update-timestamp { + type uint64; + description + "Last Update Timestamp"; + } + } + + grouping L2RIB-MAC-ROUTE-DETAIL { + description + "Detailed L2RIB MAC Route"; + container mac-route { + description + "MAC Route"; + uses L2RIB-MAC-ROUTE; + } + container rt-tlv { + description + "Mac Route Opaque Data TLV"; + uses L2RIB-TLV; + } + leaf sequence-number { + type uint32; + description + "MAC route sequence Number"; + } + leaf flags-xr { + type xr:Hex-integer; + description + "MAC route flags"; + } + leaf baseflags { + type xr:Hex-integer; + description + "BASE flags"; + } + leaf soo { + type uint32; + description + "SOO"; + } + leaf slot-id { + type uint32; + description + "Slot ID"; + } + leaf esi { + type string; + description + "ESI"; + } + leaf last-update-timestamp { + type uint64; + description + "Last Update Timestamp"; + } + } + + grouping L2RIB-IMET-ROUTE { + description + "L2RIB IMET ROUTE"; + leaf vtepi-paddr { + type string; + description + "Originating Router IP Address"; + } + leaf producer-id { + type uint8; + description + "Producer of Imet route"; + } + leaf topo-id { + type uint32; + description + "Topo ID"; + } + leaf ethernet-tag-id { + type uint32; + description + "Ethernet Tag ID"; + } + } + + grouping L2RIB-MAC-ROUTE-BMAC { + description + "L2RIB BMAC route"; + container path-list { + description + "Path list information"; + uses L2RIB-PATH-LIST; + } + leaf bmac-address { + type yang:mac-address; + description + "BMAC Address"; + } + leaf forward-state { + type boolean; + description + "Forwarding State. True means forward, False + means drop."; + } + } + + grouping L2RIB-PATH-LIST-MAC { + description + "L2RIB PATH LIST MAC"; + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + } + + grouping L2RIB-PATH-LIST-ESI { + description + "L2RIB PATH LIST ESI"; + container ethernet-segment-id { + description + "Ethernet Segment Identifier"; + uses L2RIB-ESI; + } + leaf resolved { + type boolean; + description + "Path list Resolved"; + } + list mac-update-next-hop-array { + description + "Array of Next Hops from MAC Update"; + uses L2RIB-NEXT-HOP; + } + } + + grouping L2RIB-PL { + description + "L2RIB PL"; + container path-list-esi { + when "../type = 'l2rib-mac-route-type-evpn-esi'" { + description + "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; + } + description + "ESI Path List"; + uses L2RIB-PATH-LIST-ESI; + } + container path-list-mac { + when "../type = 'l2rib-mac-route-type-bmac'" { + description + "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; + } + description + "MAC Path List"; + uses L2RIB-PATH-LIST-MAC; + } + leaf type { + type L2rib-mac-route; + description + "Type"; + } + } + + grouping L2RIB-PATH-LIST { + description + "L2RIB PATH LIST"; + container path-list-info { + description + "Type-specific Path List info"; + uses L2RIB-PL; + } + leaf producer-id { + type uint8; + description + "ID of EAD route producer"; + } + leaf mac-count { + type uint32; + description + "Number of MAC routes bound to this Path list"; + } + leaf local-label { + type uint32; + description + "Path list local Label"; + } + list next-hop-array { + description + "Array of Next Hops for MAC Path List"; + uses L2RIB-NEXT-HOP; + } + } + + grouping L2RIB-ESI { + description + "L2RIB ESI"; + leaf system-priority { + type uint16; + description + "LACP System Priority"; + } + leaf system-id { + type yang:mac-address; + description + "LACP System Id"; + } + leaf port-key { + type uint16; + description + "LACP Port Key"; + } + } + + grouping L2RIB-MAC-ROUTE-EVPN-ESI { + description + "L2RIB EVPN ESI MAC route"; + container ethernet-segment-id { + description + "Ethernet Segment Identifier"; + uses L2RIB-ESI; + } + container path-list { + description + "Path list information. Set for detailed MAC + route information"; + uses L2RIB-PATH-LIST; + } + leaf sequence-number { + type uint32; + description + "MAC route sequence number"; + } + leaf forward-state { + type boolean; + description + "Forwarding State. True means forward, False + means drop."; + } + } + + grouping L2RIB-MAC-ROUTE-REGULAR { + description + "L2RIB Regular MAC route"; + container next-hop { + description + "Next Hop"; + uses L2RIB-NEXT-HOP; + } + container backup-next-hop { + description + "Secondary Next Hop"; + uses L2RIB-NEXT-HOP; + } + } + + grouping MAC-ROUTE { + description + "MAC ROUTE"; + container regular { + when "../type = 'l2rib-mac-route-type-regular'" { + description + "../Type = 'L2RIB_MAC_ROUTE_TYPE_REGULAR'"; + } + description + "Regular MAC route"; + uses L2RIB-MAC-ROUTE-REGULAR; + } + container evpn-esi { + when "../type = 'l2rib-mac-route-type-evpn-esi'" { + description + "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; + } + description + "EVPN ESI MAC route"; + uses L2RIB-MAC-ROUTE-EVPN-ESI; + } + container bmac { + when "../type = 'l2rib-mac-route-type-bmac'" { + description + "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; + } + description + "BMAC route"; + uses L2RIB-MAC-ROUTE-BMAC; + } + leaf type { + type L2rib-mac-route; + description + "Type"; + } + } + + grouping L2RIB-MAC-ROUTE { + description + "L2RIB MAC Route"; + container route { + description + "MAC route"; + uses MAC-ROUTE; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + leaf admin-distance { + type uint8; + description + "Admin Distance"; + } + leaf producer-id { + type uint8; + description + "Producer ID"; + } + leaf topology-id { + type uint32; + description + "Topology ID"; + } + } + + grouping L2RIB-TLV { + description + "L2RIB Opaque Data TLV"; + leaf tlv-type { + type uint16; + description + "TLV Type"; + } + leaf tlv-len { + type uint16; + description + "TLV Length"; + } + list tlv-val { + description + "TLV Value"; + leaf entry { + type uint8; + description + "TLV Value"; + } + } + } + + grouping LABELED-NEXT-HOP { + description + "LABELED NEXT HOP"; + leaf address-family { + type L2rib-afi; + description + "L2RIB Address Family"; + } + leaf ip-address { + type string; + description + "IP Address"; + } + leaf label { + type uint32; + description + "Label"; + } + leaf internal { + type boolean; + description + "Internal Label"; + } + } + + grouping NEXT-HOP { + description + "NEXT HOP"; + container labeled { + when "../type = 'l2rib-next-hop-label-ed'" { + description + "../Type = 'L2RIB_NEXT_HOP_LABELED'"; + } + description + "Labeled Next Hop"; + uses LABELED-NEXT-HOP; + } + leaf type { + type L2rib-next-hop; + description + "Type"; + } + leaf ipv4 { + when "../type = 'l2rib-next-hop-ipv4'" { + description + "../Type = 'L2RIB_NEXT_HOP_IPV4'"; + } + type inet:ipv4-address; + description + "IPV4 address Next Hop"; + } + leaf ipv6 { + when "../type = 'l2rib-next-hop-ipv6'" { + description + "../Type = 'L2RIB_NEXT_HOP_IPV6'"; + } + type L2rib-ipv6-addr; + description + "IPV6 address Next Hop"; + } + leaf mac { + when "../type = 'l2rib-next-hop-mac'" { + description + "../Type = 'L2RIB_NEXT_HOP_MAC'"; + } + type L2rib-mac-addr; + description + "MAC address Next Hop"; + } + leaf interface-handle { + when "../type = 'l2rib-next-hop-interface-index'" { + description + "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; + } + type xr:Interface-name; + description + "Intefrace Handle Next Hop"; + } + leaf xid { + when "../type = 'l2rib-next-hop-xid'" { + description + "../Type = 'L2RIB_NEXT_HOP_XID'"; + } + type uint32; + description + "XID Next Hop"; + } + leaf iid { + when "../type = 'l2rib-next-hop-iid'" { + description + "../Type = 'L2RIB_NEXT_HOP_IID'"; + } + type uint32; + description + "IID Next Hop"; + } + } + + grouping L2RIB-NEXT-HOP { + description + "L2RIB NEXT HOP"; + container next-hop { + description + "Next hop"; + uses NEXT-HOP; + } + leaf topology-id { + type uint32; + description + "Next-hop TOPOLOGY ID"; + } + leaf flags { + type uint16; + description + "Next-hop flags"; + } + } + + grouping L2RIB-MAC-IP-ROUTE { + description + "L2RIB MAC-IP Route"; + container next-hop { + description + "Next Hop"; + uses L2RIB-NEXT-HOP; + } + container backup-next-hop { + description + "Secondary Next Hop"; + uses L2RIB-NEXT-HOP; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + leaf ip-address { + type string; + description + "IP Address"; + } + leaf admin-distance { + type uint8; + description + "Admin Distance"; + } + leaf producer-id { + type uint8; + description + "Producer ID"; + } + leaf topology-id { + type uint32; + description + "Topology ID"; + } + } + + grouping L2RIB-MAC-IP-ROUTE-DETAIL { + description + "Detailed L2RIB MAC-IP Route"; + container mac-ip-route { + description + "MAC-IP Route"; + uses L2RIB-MAC-IP-ROUTE; + } + container rt-tlv { + description + "Mac-IP Route Opaque Data TLV"; + uses L2RIB-TLV; + } + container nh-tlv { + description + "Mac-IP Route Opaque NH TLV"; + uses L2RIB-TLV; + } + leaf sequence-number { + type uint32; + description + "MAC-IP route sequence Number"; + } + leaf flags-xr { + type xr:Hex-integer; + description + "MAC-IP route flags"; + } + leaf soo { + type uint32; + description + "SOO"; + } + leaf last-update-timestamp { + type uint64; + description + "Last Update Timestamp"; + } + } + + grouping L2RIB-PROD-INFO { + description + "L2RIB PROD INFO"; + leaf object-type { + type L2rib-bag-obj; + description + "Object Type"; + } + leaf producer-id { + type L2rib-bag-producer-id; + description + "Producer ID"; + } + leaf producer-name { + type string; + description + "Producer Name"; + } + leaf admin-distance { + type uint32; + description + "Admin Distance"; + } + leaf purge-time { + type uint32; + description + "Purge Time"; + } + } + + grouping L2RIB-CLIENT-DETAIL { + description + "L2RIB CLIENT DETAIL"; + container client { + description + "Non-detail Client bag"; + uses L2RIB-CLIENT; + } + container registration-table-statistics { + description + "Registration table statistics"; + uses L2RIB-PROD-STATS; + } + leaf producer-count { + type uint8; + description + "Number of Producers"; + } + leaf last-update-timestamp { + type uint64; + description + "Last Update Timestamp"; + } + list producer-array { + description + "List of Producers"; + uses L2RIB-PROD-INFO; + } + } + + grouping L2RIB-TOPOLOGY { + description + "L2RIB TOPOLOGY"; + leaf topology-id { + type uint32; + description + "Topology ID"; + } + leaf topology-name { + type string; + description + "Topology Name"; + } + leaf topology-type { + type uint32; + description + "Topology Type"; + } + } + + grouping L2RIB-TOPOLOGY-DETAIL { + description + "L2RIB TOPOLOGY DETAIL"; + container topology { + description + "Topology"; + uses L2RIB-TOPOLOGY; + } + leaf l2r-vni { + type uint32; + description + "l2r vni"; + } + leaf l2r-encap-type { + type uint16; + description + "l2r encap type"; + } + leaf l2r-nve-iod { + type uint32; + description + "l2r nve iod"; + } + leaf l2r-nve-ifhandle { + type uint32; + description + "l2r nve ifhandle"; + } + leaf vtep-ip { + type string; + description + "VTEP IP"; + } + leaf l2r-topo-txid { + type uint32; + description + "l2r topo txid"; + } + leaf l2r-topo-flags { + type uint32; + description + "Topology Flags"; + } + leaf l2r-subtype { + type uint8; + description + "Topology Subtype"; + } + leaf pad1 { + type yang:hex-string; + description + "pad1"; + } + } + + grouping L2RIB-CLIENT { + description + "L2RIB CLIENT"; + leaf client-id-xr { + type uint32; + description + "Client ID"; + } + leaf process-id { + type uint32; + description + "Process ID"; + } + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + leaf proc-name { + type string; + description + "Process Name"; + } + leaf proc-suffix { + type string; + description + "Process Suffix"; + } + } + + grouping L2RIB-DD-PARAMS { + description + "L2RIB DD PARAMS"; + leaf dd-params-disable { + type boolean; + description + "Disable duplicate detection for MAC, IPv4 or + IPv6 addresses."; + } + leaf dd-params-infinite-retry-count { + type boolean; + description + "Disable permanent freezing for MAC, IPv4 or IPv6 + addresses with infinite retry-count."; + } + leaf dd-params-freeze-time { + type uint16; + description + "Length of time to freeze the mac after it has + been detected as duplicate. Default is 30s."; + } + leaf dd-params-retry-count { + type uint16; + description + "Number of times to unfreeze a MAC before + permanently freezing it. Default is 3 times."; + } + leaf dd-params-reset-freeze-count-interval { + type uint16; + units "hour"; + description + "Interval after which the count of duplicate + detection events used to determine whether MAC + or IP needs to be permanently frozen, is reset. + Default is 24 hours."; + } + leaf dd-params-move-count { + type uint32; + units "second"; + description + "Number of moves to occur in move-interval + seconds before freezing the MAC. Default is 5s."; + } + leaf dd-params-move-interval { + type uint32; + description + "Interval to watch for subsequent moves before + freezing the MAC. Default is 180s."; + } + } + + grouping L2RIB-TBL-SUMMARY { + description + "L2RIB TBL SUMMARY"; + leaf object-type { + type L2rib-bag-obj; + description + "Object Type"; + } + leaf object-count { + type uint32; + description + "Number of Objects"; + } + leaf table-memory { + type uint32; + description + "Allocated Memory"; + } + list producer-stat { + description + "Statistics per producer"; + uses L2RIB-PROD-STATS; + } + } + + grouping L2RIB-SUMMARY { + description + "L2RIB SUMMARY"; + container mac-dd-params { + description + "MAC duplicate detection parameters"; + uses L2RIB-DD-PARAMS; + } + container ipv4-dd-params { + description + "IPv4 duplicate detection parameters"; + uses L2RIB-DD-PARAMS; + } + container ipv6-dd-params { + description + "IPv6 duplicate detection parameters"; + uses L2RIB-DD-PARAMS; + } + leaf converged-tables-count { + type uint32; + description + "Number of Converged Tables"; + } + leaf total-memory { + type uint32; + description + "Total Allocated Memory"; + } + list table-summary { + description + "Per Object Table summary"; + uses L2RIB-TBL-SUMMARY; + } + } + + grouping L2RIB-BAG-EC { + description + "L2RIB BAG EC"; + leaf counter-type { + type uint8; + description + "CounterType"; + } + leaf counter-name { + type string; + description + "CounterName"; + } + leaf l2rb-first-event-ts { + type uint64; + description + "Real-clock timestamp in msec of first event"; + } + leaf l2rb-last-event-ts { + type uint64; + description + "Real-clock timestamp in msec of last event"; + } + leaf l2rb-interval-event-count { + type uint32; + description + "number of events in interval"; + } + leaf l2rb-total-event-count { + type uint32; + description + "total number of events"; + } + } + + grouping L2RIB-PROD-UPDATE-STATS { + description + "L2RIB PROD UPDATE STATS"; + leaf memory-size { + type uint32; + description + "Memory Size"; + } + leaf object-count { + type uint32; + description + "Number of Objects"; + } + leaf endof-interval-ts { + type uint64; + description + "End of Interval Timestamp"; + } + list extended-counter { + description + "Extended Counters"; + uses L2RIB-BAG-EC; + } + } + + grouping L2RIB-PROD-STATS { + description + "L2RIB PROD STATS"; + container statistics { + description + "Statistics"; + uses L2RIB-PROD-UPDATE-STATS; + } + leaf producer-id { + type L2rib-bag-producer-id; + description + "Producer ID"; + } + leaf producer-name { + type string; + description + "Producer Name"; + } + } + + grouping L2RIB-PROD { + description + "L2RIB PROD"; + leaf client-id { + type uint32; + description + "Client ID"; + } + leaf object-type { + type L2rib-bag-obj; + description + "Object Type"; + } + leaf producer-id { + type L2rib-bag-producer-id; + description + "Producer ID"; + } + leaf producer-name { + type string; + description + "Producer Name"; + } + leaf admin-distance { + type uint32; + description + "Admin Distance"; + } + leaf purge-time { + type uint32; + description + "Purge Time"; + } + leaf state { + type L2rib-bag-producer-state; + description + "Producer State"; + } + } + + grouping L2RIB-PROD-DETAIL { + description + "L2RIB PROD DETAIL"; + container producer { + description + "Non-detail Producer Bag"; + uses L2RIB-PROD; + } + container statistics { + description + "Producer Statistics"; + uses L2RIB-PROD-STATS; + } + leaf last-update-timestamp { + type uint64; + description + "Last Update Timestamp"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper.yang new file mode 100644 index 000000000..44cb6ecba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2rib-oper.yang @@ -0,0 +1,397 @@ +module Cisco-IOS-XR-l2rib-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2rib-oper"; + prefix l2rib-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-l2rib-oper-sub1 { + revision-date 2021-07-09; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2rib package operational data. + + This module contains definitions + for the following management objects: + l2rib: L2RIB operational information + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-09 { + description + "Changes made in the bag to display IID next-hop."; + semver:module-version "2.2.0"; + } + revision 2019-11-22 { + description + "Added to path for Mac/IP Table and Mac/IP Detail Table"; + semver:module-version "2.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container l2rib { + config false; + description + "L2RIB operational information "; + container producers-details { + description + "L2RIB detailed producer table"; + list producers-detail { + description + "L2RIB producers detail information"; + leaf object-id { + type uint32; + description + "Object ID"; + } + leaf product-id { + type uint32; + description + "Product ID"; + } + uses L2RIB-PROD-DETAIL; + } + } + container summary { + description + "L2RIB EVPN Summary"; + uses L2RIB-SUMMARY; + } + container producers { + description + "L2RIB producer table"; + list producer { + description + "L2RIB producers"; + leaf object-id { + type uint32; + description + "Object ID"; + } + leaf product-id { + type uint32; + description + "Product ID"; + } + uses L2RIB-PROD; + } + } + container clients { + description + "L2RIB client table"; + list client { + key "client-id"; + description + "L2RIB clients"; + leaf client-id { + type uint32; + description + "Client ID"; + } + uses L2RIB-CLIENT; + } + } + container evis-xr { + description + "L2RIB EVPN EVI Detail Table"; + list evi { + key "evi"; + description + "L2RIB EVPN EVI Entry"; + leaf evi { + type uint32; + description + "EVI ID"; + } + uses L2RIB-TOPOLOGY-DETAIL; + } + } + container clients-details { + description + "L2RIB detailed client table"; + list clients-detail { + key "client-id"; + description + "L2RIB clients detail information"; + leaf client-id { + type uint32; + description + "Client ID"; + } + uses L2RIB-CLIENT-DETAIL; + } + } + container evi-child-tables { + description + "Container for all EVI Child Tables"; + container macip-details { + description + "L2RIB EVPN EVI MAC IP Detail table"; + list macip-detail { + description + "L2RIB EVPN MAC IP Detail table"; + leaf evi { + type uint32; + description + "EVPN ID"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC IP Address"; + } + leaf ip-addr { + type inet:ip-address-no-zone; + description + "IP Address"; + } + leaf prod-id { + type uint32; + description + "Producer ID"; + } + leaf admin-dist { + type uint32; + description + "Admin Distance"; + } + leaf flags { + type uint32; + description + "Mac-IP route flags"; + } + leaf seq-num { + type uint32; + description + "Mac-IP route sequence number"; + } + uses L2RIB-MAC-IP-ROUTE-DETAIL; + } + } + container mac-ips { + description + "L2RIB EVPN EVI MAC IP table"; + list mac-ip { + description + "L2RIB EVPN MAC IP table"; + leaf evi { + type uint32; + description + "EVPN ID"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC-IP Address"; + } + leaf ip-addr { + type inet:ip-address-no-zone; + description + "IP Address"; + } + leaf prod-id { + type uint32; + description + "Producer ID"; + } + leaf admin-dist { + type uint32; + description + "Admin Distance"; + } + leaf flags { + type uint32; + description + "Mac-IP route flags"; + } + leaf seq-num { + type uint32; + description + "Mac-IP route sequence number"; + } + uses L2RIB-MAC-IP-ROUTE; + } + } + container macs { + description + "L2RIB EVPN EVI MAC table"; + list mac { + description + "L2RIB EVPN MAC table"; + leaf evi { + type uint32; + description + "EVPN ID"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC Address"; + } + leaf prod-id { + type uint32; + description + "Producer ID"; + } + leaf admin-dist { + type uint32; + description + "Admin Distance"; + } + leaf flags { + type uint32; + description + "Mac route flags"; + } + leaf seq-num { + type uint32; + description + "Mac route sequence number"; + } + uses L2RIB-MAC-ROUTE; + } + } + container imets { + description + "L2RIB EVPN EVI IMET table"; + list imet { + description + "L2RIB EVPN IMET table"; + leaf evi { + type uint32; + description + "EVPN ID"; + } + leaf tag-id { + type uint32; + description + "Tag ID"; + } + leaf ip-addr { + type inet:ip-address-no-zone; + description + "Originating Router IP Address"; + } + leaf prod-id { + type uint32; + description + "Producer ID"; + } + uses L2RIB-IMET-ROUTE; + } + } + container mac-details { + description + "L2RIB EVPN EVI MAC Detail table"; + list mac-detail { + description + "L2RIB EVPN MAC Detail table"; + leaf evi { + type uint32; + description + "EVPN ID"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC Address"; + } + leaf prod-id { + type uint32; + description + "Producer ID"; + } + leaf admin-dist { + type uint32; + description + "Admin Distance"; + } + leaf flags { + type uint32; + description + "Mac route flags"; + } + leaf seq-num { + type uint32; + description + "Mac route sequence number"; + } + uses L2RIB-MAC-ROUTE-DETAIL; + } + } + container imet-details { + description + "L2RIB EVPN EVI IMET Detail table"; + list imet-detail { + description + "L2RIB EVPN IMET Detail table"; + leaf evi { + type uint32; + description + "EVPN ID"; + } + leaf tag-id { + type uint32; + description + "Tag ID"; + } + leaf ip-addr { + type inet:ip-address-no-zone; + description + "Originating Router IP Address"; + } + leaf prod-id { + type uint32; + description + "Producer ID"; + } + uses L2RIB-IMET-ROUTE-DETAIL; + } + } + } + container evis { + description + "L2RIB EVPN EVI Table"; + list evi { + key "evi"; + description + "L2RIB EVPN EVI Entry"; + leaf evi { + type uint32; + description + "EVI ID"; + } + uses L2RIB-TOPOLOGY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-cfg.yang new file mode 100644 index 000000000..551ba1448 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-cfg.yang @@ -0,0 +1,6464 @@ +module Cisco-IOS-XR-l2vpn-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-cfg"; + prefix l2vpn-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2vpn package configuration. + + This module contains definitions + for the following management objects: + l2vpn: L2VPN configuration + generic-interface-lists: Generic Interface List configuration + evpn: EVPN configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-snmp-agent-cfg + modules with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-11 { + description + "Added support to retrieve evpn-route-targets."; + semver:module-version "5.0.0"; + } + revision 2021-06-25 { + description + "Added support for core isolation group under virtual access evi"; + semver:module-version "5.0.0"; + } + revision 2021-06-09 { + description + "- Added support for enforce-mtu-match CLI globally under evpn submode - Added support for transmit-l2-mtu CLI globally under evpn submode - Added support for enforce-mtu-match CLI under evpn instance submode - Added support for transmit-l2-mtu CLI under evpn instance submode + 2020-08-08 + Added support for ignore-mtu-mismatch and transmit-mtu-zero CLI globally under evpn submode."; + semver:module-version "4.0.0"; + } + revision 2020-06-29 { + description + "Changed key for Pseudowire type to IPv4 neighbor - PW-ID or IPv6 neighbor - PW-id pair. + 2019-12-20 + EVPN SRv6 related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Evpn-encapsulation { + type enumeration { + enum "evpn-encapsulationvxlan" { + value 8; + description + "VXLAN Encapsulation"; + } + enum "evpn-encapsulation-mpls" { + value 10; + description + "MPLS Encapsulation"; + } + enum "evpn-encapsulation-route-sync" { + value 254; + description + "Route Sync Encapsulation"; + } + enum "evpn-encapsulation-srv6" { + value 255; + description + "SRv6 Encapsulation"; + } + } + description + "Evpn encapsulation"; + } + + typedef Interworking { + type enumeration { + enum "ethernet" { + value 1; + description + "Ethernet interworking"; + } + enum "ipv4" { + value 3; + description + "IPv4 interworking"; + } + } + description + "Interworking"; + } + + typedef L2vpn-capability-mode { + type enumeration { + enum "high-mode" { + value 1; + description + "Compute global capability as the highest node + capability"; + } + enum "single-mode" { + value 2; + description + "Disable global capability re-computation"; + } + } + description + "L2vpn capability mode"; + } + + typedef Evpn-side { + type enumeration { + enum "evpn-side-regular" { + value 1; + description + "EVPN Instance side defined as regular"; + } + enum "evpn-side-stitching" { + value 2; + description + "EVPN Instance side defined as stitching"; + } + } + description + "Evpn side"; + } + + typedef Evpnvpws-seamless-integration { + type enumeration { + enum "enabled" { + value 1; + description + "EVPN_VPWS Seamless Integration Enabled"; + } + } + description + "Evpnvpws seamless integration"; + } + + typedef Vpls-id-addr-index { + type uint32 { + range "0..32767"; + } + description + "Vpls id addr index"; + } + + typedef Evpn-core-group-id-range { + type uint32 { + range "1..4294967295"; + } + description + "Evpn core group id range"; + } + + typedef Tag-rewrite-range { + type uint32 { + range "1..4094"; + } + description + "Tag rewrite range"; + } + + typedef Pseudowire-evpnacid-range { + type uint32 { + range "1..16777215"; + } + description + "Pseudowire evpnacid range"; + } + + typedef Evpnvpnid-range { + type uint32 { + range "1..65534"; + } + description + "Evpnvpnid range"; + } + + typedef Pseudowire-label-range { + type uint32 { + range "16..1048575"; + } + description + "Pseudowire label range"; + } + + typedef Bridge-domain-transport-mode { + type enumeration { + enum "vlan-passthrough" { + value 3; + description + "Vlan tagged passthrough mode"; + } + } + description + "Bridge domain transport mode"; + } + + typedef Preferred-path { + type enumeration { + enum "te-tunnel" { + value 2; + description + "TE Tunnel"; + } + enum "ip-tunnel" { + value 3; + description + "IP Tunnel"; + } + enum "tp-tunnel" { + value 4; + description + "TP Tunnel"; + } + enum "sr-te-policy" { + value 5; + description + "SR TE Policy"; + } + enum "named-te-tunnel" { + value 8; + description + "Named TE Tunnel"; + } + } + description + "Preferred path"; + } + + typedef Rd-addr-index { + type uint32 { + range "0..65535"; + } + description + "Rd addr index"; + } + + typedef Vccv-verification { + type enumeration { + enum "none" { + value 0; + description + "No connectivity verification over VCCV"; + } + enum "lsp-ping" { + value 2; + description + "LSP Ping over VCCV"; + } + } + description + "Vccv verification"; + } + + typedef L2vpn-mtu-range { + type uint32 { + range "64..65535"; + } + description + "L2vpn mtu range"; + } + + typedef Mac-secure-shutdown-recovery-time-range { + type uint32 { + range "10..3600"; + } + description + "Mac secure shutdown recovery time range"; + } + + typedef Mac-withdraw-behavior { + type enumeration { + enum "legacy" { + value 1; + description + "MAC Withdrawal sent on state-down (legacy)"; + } + enum "optimized" { + value 2; + description + "Optimized MAC Withdrawal"; + } + } + description + "Mac withdraw behavior"; + } + + typedef Port-down-flush { + type enumeration { + enum "port-down-flush" { + value 0; + description + "MAC Port Down Flush"; + } + enum "enable-port-down-flush" { + value 1; + description + "Enable Port Down Flush"; + } + enum "disable-port-down-flush" { + value 2; + description + "Disable Port Down Flush"; + } + } + description + "Port down flush"; + } + + typedef Storm-control-pps-range { + type uint32 { + range "1..160000"; + } + description + "Storm control pps range"; + } + + typedef Type-of-service-mode { + type enumeration { + enum "none" { + value 0; + description + "Do not reflect the type of service"; + } + enum "reflect" { + value 1; + description + "Reflect the type of service"; + } + } + description + "Type of service mode"; + } + + typedef L2vpn-vs-vlan-tag { + type uint32 { + range "1..4094"; + } + description + "L2vpn vs vlan tag"; + } + + typedef Pseudowire-tag-range { + type uint32 { + range "1..4094"; + } + description + "Pseudowire tag range"; + } + + typedef Interface-access-signal-mode { + type enumeration { + enum "bundle-down" { + value 2; + description + "BundleDown"; + } + } + description + "Interface access signal mode"; + } + + typedef Multicast-p2mp-signaling { + type string { + pattern "(BGP)"; + } + description + "BGP:BGP Signaling"; + } + + typedef Cedge-range { + type uint32 { + range "11..100"; + } + description + "Cedge range"; + } + + typedef Ethernet-segment-load-balance { + type enumeration { + enum "single-active" { + value 1; + description + "Single Active"; + } + enum "port-active" { + value 2; + description + "Port Active"; + } + enum "single-flow-active" { + value 3; + description + "Single Flow Active"; + } + enum "all-active" { + value 4; + description + "All Active"; + } + } + description + "Ethernet segment load balance"; + } + + typedef Mpls-signaling-protocol { + type enumeration { + enum "none" { + value 1; + description + "No signaling"; + } + enum "ldp" { + value 4; + description + "LDP"; + } + } + description + "Mpls signaling protocol"; + } + + typedef Erpaps { + type enumeration { + enum "interface" { + value 1; + description + "ERP APS type interface"; + } + enum "bridge-domain" { + value 2; + description + "ERP APS type bridge domain"; + } + enum "xconnect" { + value 3; + description + "ERP APS type xconnect"; + } + enum "none" { + value 4; + description + "ERP APS type none"; + } + } + description + "Erpaps"; + } + + typedef Mac-secure-action { + type enumeration { + enum "restrict" { + value 1; + description + "MAC Secure Action Restrict"; + } + enum "none" { + value 2; + description + "No Action"; + } + enum "shutdown" { + value 3; + description + "MAC Secure Action Shutdown"; + } + } + description + "Mac secure action"; + } + + typedef Erp-port { + type enumeration { + enum "none" { + value 1; + description + "ERP port type none"; + } + enum "virtual" { + value 2; + description + "ERP port type virtual"; + } + enum "interface" { + value 3; + description + "ERP port type interface"; + } + } + description + "Erp port"; + } + + typedef Resync-threshold-range { + type uint32 { + range "5..65535"; + } + description + "Resync threshold range"; + } + + typedef Bgp-route-target-role { + type enumeration { + enum "both" { + value 0; + description + "Both Import and export roles"; + } + enum "import" { + value 1; + description + "Import role"; + } + enum "export" { + value 2; + description + "Export role"; + } + } + description + "Bgp route target role"; + } + + typedef Backup-disable { + type enumeration { + enum "never" { + value 0; + description + "Never"; + } + enum "delay" { + value 1; + description + "Delay seconds"; + } + } + description + "Backup disable"; + } + + typedef Time-to-live-range { + type uint32 { + range "1..255"; + } + description + "Time to live range"; + } + + typedef Multicast-p2mp-transport { + type string { + pattern "(RSVP_TE)"; + } + description + "RSVP_TE:RSVP-TE Transport"; + } + + typedef Transport-mode { + type enumeration { + enum "ethernet" { + value 1; + description + "Ethernet port mode"; + } + enum "vlan" { + value 2; + description + "Vlan tagged mode"; + } + enum "vlan-passthrough" { + value 3; + description + "Vlan tagged passthrough mode"; + } + } + description + "Transport mode"; + } + + typedef Flow-label-tlv-code { + type enumeration { + enum "17" { + value 4; + description + "Set Flow Label Legacy TLV code (DEPRECATED)"; + } + enum "disable" { + value 8; + description + "Disable Sending Flow Label Legacy TLV"; + } + } + description + "Flow label tlv code"; + } + + typedef Bgp-route-target { + type enumeration { + enum "no-stitching" { + value 0; + description + "RT is default type"; + } + enum "stitching" { + value 1; + description + "RT is for stitching (Golf-L2) (DEPRECATED)"; + } + } + description + "Bgp route target"; + } + + typedef Pseudowire-acid-range { + type uint32 { + range "1..4294967295"; + } + description + "Pseudowire acid range"; + } + + typedef Pseudowire-id-range { + type uint32 { + range "1..4294967295"; + } + description + "Pseudowire id range"; + } + + typedef Interface-profile { + type enumeration { + enum "snoop" { + value 1; + description + "Set the snooping"; + } + enum "dhcp-protocol" { + value 2; + description + "disable DHCP protocol"; + } + } + description + "Interface profile"; + } + + typedef Ethernet-segment-identifier { + type enumeration { + enum "type0" { + value 0; + description + "ESI type 0"; + } + enum "legacy" { + value 128; + description + "Legacy ESI type"; + } + enum "override" { + value 129; + description + "Override ESI type"; + } + } + description + "Ethernet segment identifier"; + } + + typedef Rpl-role { + type enumeration { + enum "owner" { + value 1; + description + "ERP RPL owner"; + } + enum "neighbor" { + value 2; + description + "ERP RPL neighbor"; + } + enum "next-neighbor" { + value 3; + description + "ERP RPL next neighbor"; + } + } + description + "Rpl role"; + } + + typedef Pw-switching-point-tlv { + type enumeration { + enum "hide" { + value 2; + description + "Hide TLV"; + } + } + description + "Pw switching point tlv"; + } + + typedef Erpaps-level-range { + type uint32 { + range "0..7"; + } + description + "Erpaps level range"; + } + + typedef Evpn-esi-type-range { + type uint32 { + range "1"; + } + description + "Evpn esi type range"; + } + + typedef Storm-control { + type enumeration { + enum "unicast" { + value 1; + description + "Unknown-unicast Storm Control"; + } + enum "multicast" { + value 2; + description + "Multicast Storm Control"; + } + enum "broadcast" { + value 4; + description + "Broadcast Storm Control"; + } + } + description + "Storm control"; + } + + typedef L2tp-session-id-range { + type uint32 { + range "1..65535"; + } + description + "L2tp session id range"; + } + + typedef Ethernet-segment-service-carving { + type enumeration { + enum "mod-n" { + value 0; + description + "MOD N"; + } + enum "manual" { + value 1; + description + "Manual"; + } + enum "hrw" { + value 2; + description + "HRW"; + } + enum "pref-df" { + value 3; + description + "PrefDF"; + } + } + description + "Ethernet segment service carving"; + } + + typedef Mac-learn { + type enumeration { + enum "default-learning" { + value 0; + description + "Mac Learning"; + } + enum "enable-learning" { + value 1; + description + "Enable Learning"; + } + enum "disable-learning" { + value 2; + description + "Disable Learning"; + } + } + description + "Mac learn"; + } + + typedef L2tpv3-sequencing { + type enumeration { + enum "off" { + value 0; + description + "Sequencing is off"; + } + enum "both" { + value 4; + description + "Sequencing on both transmit and receive side"; + } + } + description + "L2tpv3 sequencing"; + } + + typedef Veid-range { + type uint32 { + range "1..16384"; + } + description + "Veid range"; + } + + typedef Load-balance { + type enumeration { + enum "source-dest-mac" { + value 1; + description + "Source and Destination MAC hashing"; + } + enum "source-dest-ip" { + value 2; + description + "Source and Destination IP hashing"; + } + enum "pseudowire-label" { + value 4; + description + "PW Label hashing"; + } + } + description + "Load balance"; + } + + typedef L2tp-signaling-protocol { + type enumeration { + enum "none" { + value 1; + description + "No signaling"; + } + enum "l2tpv3" { + value 2; + description + "L2TPv3"; + } + } + description + "L2tp signaling protocol"; + } + + typedef Bdmac-learn { + type enumeration { + enum "disable-learning" { + value 2; + description + "Disable Learning"; + } + } + description + "Bdmac learn"; + } + + typedef L2mc-src-traffic-enabled { + type enumeration { + enum "l2mc-none" { + value 0; + description + "NONE"; + } + enum "l2mc-ipv4" { + value 1; + description + "Multicast Source - IPv4"; + } + enum "l2mc-ipv6" { + value 2; + description + "Multicast Source - IPv6"; + } + enum "l2mc-ipv4-ipv6" { + value 3; + description + "Multicast Source - IPv4 IPv6"; + } + } + description + "L2mc src traffic enabled"; + } + + typedef L2vpn-verification { + type enumeration { + enum "enable" { + value 1; + description + "enable verification"; + } + enum "disable" { + value 2; + description + "disable verification"; + } + } + description + "L2vpn verification"; + } + + typedef Max-path-mtu-range { + type uint32 { + range "68..65535"; + } + description + "Max path mtu range"; + } + + typedef Interface-traffic-flood { + type enumeration { + enum "traffic-flooding" { + value 0; + description + "Traffic flooding"; + } + enum "enable-flooding" { + value 1; + description + "Enable Flooding"; + } + enum "disable-flooding" { + value 2; + description + "Disable flooding"; + } + } + description + "Interface traffic flood"; + } + + typedef Pbbvid-range { + type uint32 { + range "1..4094"; + } + description + "Pbbvid range"; + } + + typedef L2tp-cookie-value-range { + type uint32 { + range "0..4294967295"; + } + description + "L2tp cookie value range"; + } + + typedef L2-encapsulation { + type enumeration { + enum "vlan" { + value 4; + description + "Vlan tagged mode"; + } + enum "ethernet" { + value 5; + description + "Ethernet port mode"; + } + } + description + "L2 encapsulation"; + } + + typedef L2vpn-logging { + type enumeration { + enum "enable" { + value 1; + description + "enable logging"; + } + enum "disable" { + value 2; + description + "disable logging"; + } + } + description + "L2vpn logging"; + } + + typedef Mac-aging-range { + type uint32 { + range "300..30000"; + } + description + "Mac aging range"; + } + + typedef Vpls-id-as-index { + type uint32 { + range "0..4294967295"; + } + description + "Vpls id as index"; + } + + typedef Pseudowire-gbl-id-range { + type uint32 { + range "1..4294967295"; + } + description + "Pseudowire gbl id range"; + } + + typedef Rdas-index { + type uint32 { + range "0..4294967295"; + } + description + "Rdas index"; + } + + typedef Mac-flush-mode { + type enumeration { + enum "mvrp" { + value 1; + description + "MVRP MAC Flushing"; + } + } + description + "Mac flush mode"; + } + + typedef L2tp-cookie-size { + type enumeration { + enum "zero" { + value 0; + description + "Cookie size is zero bytes"; + } + enum "four" { + value 4; + description + "Cookie size is four bytes"; + } + enum "eight" { + value 8; + description + "Cookie size is eight bytes"; + } + } + description + "L2tp cookie size"; + } + + typedef Mpls-sequencing { + type enumeration { + enum "off" { + value 0; + description + "Sequencing is off"; + } + enum "transmit" { + value 1; + description + "Sequencing on transmit side"; + } + enum "receive" { + value 2; + description + "Sequencing on receive side"; + } + enum "both" { + value 4; + description + "Sequencing on both transmit and receive side"; + } + } + description + "Mpls sequencing"; + } + + typedef Erp-instance-range { + type uint32 { + range "1..2"; + } + description + "Erp instance range"; + } + + typedef Pw-redundancy-initial-delay-range { + type uint32 { + range "0..120"; + } + description + "Pw redundancy initial delay range"; + } + + typedef Vpls-id-as-range { + type uint32 { + range "1..65535"; + } + description + "Vpls id as range"; + } + + typedef Rdas-range { + type uint32 { + range "1..4294967295"; + } + description + "Rdas range"; + } + + typedef Ethernet-segment-service-carving-mcast { + type enumeration { + enum "disabled" { + value 0; + description + "Disabled"; + } + enum "hrw-s-g" { + value 1; + description + "HRW S G"; + } + enum "hrw-g" { + value 2; + description + "HRW G"; + } + } + description + "Ethernet segment service carving mcast"; + } + + typedef Bridge-bd-mtu-range { + type uint32 { + range "46..65535"; + } + description + "Bridge bd mtu range"; + } + + typedef Backup-disable-delay-range { + type uint32 { + range "0..180"; + } + description + "Backup disable delay range"; + } + + typedef Storm-control-kbps-range { + type uint32 { + range "64..1280000"; + } + description + "Storm control kbps range"; + } + + typedef Mac-limit-action { + type enumeration { + enum "none" { + value 0; + description + "No action"; + } + enum "flood" { + value 1; + description + "Flood Mac Limit Action"; + } + enum "no-flood" { + value 2; + description + "NoFlood Mac Limit Action"; + } + enum "shutdown" { + value 3; + description + "Shutdown Mac Limit Action"; + } + } + description + "Mac limit action"; + } + + typedef Erp-port1 { + type enumeration { + enum "port0" { + value 0; + description + "ERP main port 0"; + } + enum "port1" { + value 1; + description + "ERP main port 1"; + } + } + description + "Erp port1"; + } + + typedef Mac-notification { + type enumeration { + enum "no-notif" { + value 0; + description + "No_Notification Trap"; + } + enum "syslog" { + value 1; + description + "syslog message"; + } + enum "trap" { + value 2; + description + "Snmp Trap"; + } + enum "syslog-snmp" { + value 3; + description + "Syslog_snmp Trap"; + } + } + description + "Mac notification"; + } + + typedef Control-word { + type enumeration { + enum "enable" { + value 1; + description + "Enable control word"; + } + enum "disable" { + value 2; + description + "Disable control word"; + } + } + description + "Control word"; + } + + typedef Preferred-nexthop-mode { + type enumeration { + enum "preferred-nexthop-lowest-ip" { + value 1; + description + "Lowest IP Preferred"; + } + enum "preferred-nexthop-highest-ip" { + value 2; + description + "Highest IP Preferred"; + } + enum "preferred-nexthop-modulo" { + value 3; + description + "Modulo of nexthops Preferred"; + } + } + description + "Preferred nexthop mode"; + } + + typedef Bgp-route-distinguisher { + type enumeration { + enum "auto" { + value 1; + description + "RD automatically assigned"; + } + enum "two-byte-as" { + value 2; + description + "RD in 2 byte AS:nn format"; + } + enum "four-byte-as" { + value 3; + description + "RD in 4 byte AS:nn format"; + } + enum "ipv4-address" { + value 4; + description + "RD in IpV4address"; + } + } + description + "Bgp route distinguisher"; + } + + typedef Bgp-route-target-format { + type enumeration { + enum "none" { + value 0; + description + "No route target"; + } + enum "two-byte-as" { + value 1; + description + "2 Byte AS:nn format"; + } + enum "four-byte-as" { + value 2; + description + "4 byte AS:nn format"; + } + enum "ipv4-address" { + value 3; + description + "IP:nn format"; + } + enum "es-import" { + value 1538; + description + "a.a.i format"; + } + } + description + "Bgp route target format"; + } + + typedef Evpn-group-id-range { + type uint32 { + range "1..4294967295"; + } + description + "Evpn group id range"; + } + + typedef Mac-limit-threshold-range { + type uint32 { + range "1..100"; + } + description + "Mac limit threshold range"; + } + + typedef Vedge-range { + type uint32 { + range "11..100"; + } + description + "Vedge range"; + } + + typedef Vpnid-range { + type uint32 { + range "1..4294967295"; + } + description + "Vpnid range"; + } + + typedef Ldp-vpls-id { + type enumeration { + enum "two-byte-as" { + value 10; + description + "VPLS-ID in 2 byte AS:nn format"; + } + enum "ipv4-address" { + value 266; + description + "VPLS-ID in IPv4 IP:nn format"; + } + } + description + "Ldp vpls id"; + } + + typedef Ce-id-range { + type uint32 { + range "1..16384"; + } + description + "Ce id range"; + } + + typedef Mac-aging { + type enumeration { + enum "absolute" { + value 1; + description + "Absolute aging type"; + } + enum "inactivity" { + value 2; + description + "Inactivity aging type"; + } + } + description + "Mac aging"; + } + + typedef Mac-limit-range { + type uint32 { + range "0..4294967295"; + } + description + "Mac limit range"; + } + + typedef Pbbisid-range { + type uint32 { + range "256..16777214"; + } + description + "Pbbisid range"; + } + + typedef Type-of-service-range { + type uint32 { + range "0..255"; + } + description + "Type of service range"; + } + + typedef Flow-label-load-balance { + type enumeration { + enum "off" { + value 0; + description + "Flow Label load balance is off"; + } + enum "receive" { + value 1; + description + "Delete Flow Label on receive side"; + } + enum "transmit" { + value 2; + description + "Insert Flow Label on transmit side"; + } + enum "both" { + value 3; + description + "Insert/Delete Flow Label on transmit/receive + side"; + } + } + description + "Flow label load balance"; + } + + grouping STORM-CONTROL-UNIT { + description + "Common node of bd-storm-control, + bdac-storm-control-type, bdpw-storm-control-type"; + container storm-control-unit { + must "kbits-per-sec or pkts-per-sec"; + description + "Specify units for Storm Control Configuration"; + leaf kbits-per-sec { + type Storm-control-kbps-range; + units "kbit/s"; + description + "Kilobits Per Second, PktsPerSec and KbitsPerSec + cannot be configured together"; + } + leaf pkts-per-sec { + type Storm-control-pps-range; + units "packet/s"; + description + "Packets Per Second, PktsPerSec and KbitsPerSec + cannot be configured together"; + } + } + } + + grouping EVPN-CORE-ISOLATION-GROUP { + description + "Common node of evpn-interface, + evpn-virtual-access-evi"; + leaf evpn-core-isolation-group { + type Evpn-core-group-id-range; + description + "Enter EVPN Core Isolation Group ID"; + } + } + + grouping MANUAL-SERVICE-CARVING { + description + "Common node of ethernet-segment, + evpn-virtual-ethernet-segment"; + container manual-service-carving { + description + "Enter Manual service carving configuration + submode"; + container service-list { + description + "Manual service carving primary,secondary lists"; + leaf primary { + type string { + length "1..150"; + } + description + "Primary services list"; + } + leaf secondary { + type string { + length "1..150"; + } + description + "Secondary services list"; + } + } + leaf enable { + type empty; + description + "Enable Manual service carving"; + } + } + } + + grouping SERVICE-CARVING-MCAST-TYPE { + description + "Common node of ethernet-segment, + evpn-virtual-ethernet-segment"; + leaf service-carving-mcast-type { + type Ethernet-segment-service-carving-mcast; + description + "Ethernet-Segment Service Carving multicast mode"; + } + } + + grouping ACTION { + description + "Common node of mac-secure, pbb-edge-mac-secure, + interface-mac-secure, pseudowire-mac-secure"; + leaf action { + type Mac-secure-action; + description + "MAC secure enforcement action"; + } + } + + grouping EVPN-ROUTE-DISTINGUISHER { + description + "Common node of evpn-bgp-auto-discovery, + evpn-instance-bgp-auto-discovery, pw-routing-bgp"; + container evpn-route-distinguisher { + description + "Route Distinguisher"; + leaf type { + type Bgp-route-distinguisher; + description + "Router Distinguisher Type"; + } + leaf as { + when "../type = 'two-byte-as' or ../type = 'four-byte-as'" { + description + "../Type = TwoByteAS or ../Type = FourByteAS"; + } + type Rdas-range; + description + "Two byte or 4 byte AS number"; + } + leaf as-index { + when "../type = 'two-byte-as' or ../type = 'four-byte-as'" { + description + "../Type = TwoByteAS or ../Type = FourByteAS"; + } + type Rdas-index; + description + "AS:nn (hex or decimal format)"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IPV4 address"; + } + leaf addr-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type Rd-addr-index; + description + "Addr index"; + } + } + } + + grouping EVPN-VIRTUAL-ETHERNET-SEGMENT { + description + "Common node of evpn-virtual-access-sub-interface, + evpn-virtual-access-pw, evpn-virtual-access-vfi, + evpn-virtual-access-evi"; + container evpn-virtual-ethernet-segment { + description + "Enter Ethernet Segment configuration submode"; + leaf enable { + type empty; + description + "Enable Ethernet Segment"; + } + uses SERVICE-CARVING-MCAST-TYPE; + uses ES-IMPORT-ROUTE-TARGET; + uses SERVICE-CARVING-TYPE; + uses IDENTIFIER; + uses PREFERENCE-BASED-SERVICE-CARVING; + uses MANUAL-SERVICE-CARVING; + } + } + + grouping LOGGING { + description + "Common node of pbb-edge-mac-secure, + interface-mac-secure, pseudowire-mac-secure"; + leaf logging { + type L2vpn-logging; + description + "MAC Secure Logging"; + } + } + + grouping ES-IMPORT-ROUTE-TARGET { + description + "Common node of ethernet-segment, + evpn-virtual-ethernet-segment"; + leaf es-import-route-target { + type yang:mac-address; + description + "ES-Import Route Target"; + } + } + + grouping SERVICE-CARVING-TYPE { + description + "Common node of ethernet-segment, + evpn-virtual-ethernet-segment"; + leaf service-carving-type { + type Ethernet-segment-service-carving; + description + "Ethernet-Segment Service Carving mode"; + } + } + + grouping IDENTIFIER { + description + "Common node of ethernet-segment, + evpn-virtual-ethernet-segment"; + container identifier { + presence "Indicates a identifier node is configured."; + description + "Ethernet segment identifier"; + leaf bytes01 { + type xr:Hex-integer; + mandatory true; + description + "Type 0's 1st Byte or Type Byte and 1st Byte"; + } + leaf bytes23 { + type xr:Hex-integer; + units "byte"; + mandatory true; + description + "2nd and 3rd Bytes"; + } + leaf bytes45 { + type xr:Hex-integer; + units "byte"; + mandatory true; + description + "4th and 5th Bytes"; + } + leaf bytes67 { + type xr:Hex-integer; + units "byte"; + mandatory true; + description + "6th and 7th Bytes"; + } + leaf bytes89 { + type xr:Hex-integer; + units "byte"; + mandatory true; + description + "8th and 9th Bytes"; + } + leaf type { + type Ethernet-segment-identifier; + mandatory true; + description + "Ethernet segment identifier type"; + } + } + } + + grouping PREFERENCE-BASED-SERVICE-CARVING { + description + "Common node of ethernet-segment, + evpn-virtual-ethernet-segment"; + container preference-based-service-carving { + description + "Preference-Based DF Election Configuration + Options"; + leaf weight { + type uint32 { + range "0..65535"; + } + description + "Preference DF weight. For Access-Driven DF, use + weights of at most 32767 or less."; + } + leaf enable { + type empty; + description + "Enable Preference Based Service Carving"; + } + leaf access-driven { + type empty; + description + "Enable Access-Driven DF Election"; + } + } + } + + grouping BRIDGE-DOMAIN-TABLE { + description + "Common node of bridge-domain-group, vlan-switch"; + container bridge-domains { + description + "List of Bridge Domain"; + list bridge-domain { + key "name"; + description + "bridge domain"; + container bd-storm-controls { + description + "Storm Control"; + list bd-storm-control { + must "storm-control-unit"; + key "sctype"; + description + "Storm Control Type"; + leaf sctype { + type Storm-control; + description + "Storm Control Type"; + } + uses STORM-CONTROL-UNIT; + } + } + container member-vnis { + description + "Bridge Domain VxLAN Network Identifier Table"; + list member-vni { + key "vni"; + description + "Bridge Domain Member VxLAN Network Identifier"; + container member-vni-static-mac-addresses { + description + "Static Mac Address Table"; + list member-vni-static-mac-address { + key "mac-address"; + description + "Static Mac Address Configuration"; + leaf next-hop-ip { + type inet:ipv4-address-no-zone; + description + "Enable Static Mac Address Configuration"; + } + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + leaf vni { + type uint32 { + range "1..16777215"; + } + description + "VxLAN Network Identifier number"; + } + } + } + container bridge-domain-mac { + description + "MAC configuration commands"; + container bd-mac-limit { + description + "MAC-Limit configuration commands"; + leaf bd-mac-limit-action { + type Mac-limit-action; + description + "MAC address limit enforcement action"; + } + leaf enable { + type empty; + description + "Enable MAC-Limit configuration commands"; + } + leaf bd-mac-limit-notif { + type Mac-notification; + description + "Mac Address Limit Notification"; + } + leaf bd-mac-limit-max { + type Mac-limit-range; + description + "Number of MAC addresses after which MAC + limit action is taken"; + } + } + container bd-mac-filters { + description + "Filter Mac Address"; + list bd-mac-filter { + key "address"; + description + "Static MAC address"; + leaf drop { + type empty; + description + "MAC address for filtering"; + } + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + container mac-secure { + description + "MAC Secure"; + leaf logging { + type empty; + description + "MAC Secure Logging"; + } + leaf enable { + type empty; + description + "Enable MAC Secure"; + } + leaf threshold { + type empty; + description + "MAC Secure Threshold"; + } + uses ACTION; + uses SHUTDOWN-RECOVERY-TIMER; + } + container bd-mac-aging { + description + "MAC-Aging configuration commands"; + leaf bd-mac-aging-type { + type Mac-aging; + description + "MAC address aging type"; + } + leaf enable { + type empty; + description + "Enable MAC-Aging configuration commands"; + } + leaf bd-mac-aging-time { + type Mac-aging-range; + description + "Mac Aging Time"; + } + } + leaf bd-mac-withdraw-relay { + type empty; + description + "Mac withdraw sent from access PW to access PW"; + } + leaf bd-mac-withdraw-access-pw-disable { + type empty; + description + "MAC withdraw on Access PW"; + } + leaf bd-mac-port-down-flush { + type empty; + description + "Disable MAC Flush when Port goes Down"; + } + leaf bd-mac-withdraw { + type empty; + description + "Disable Mac Withdraw"; + } + leaf enable { + type empty; + description + "Enable MAC configuration commands"; + } + leaf bd-mac-withdraw-behavior { + type Mac-withdraw-behavior; + description + "MAC withdraw sent on bridge port down"; + } + leaf bd-mac-learn { + type Bdmac-learn; + description + "Mac Learning Type"; + } + } + container nv-satellite { + description + "nV Satellite"; + leaf offload-ipv4-multicast-enable { + type empty; + description + "Enable IPv4 Multicast Offload to Satellite + Nodes"; + } + leaf enable { + type empty; + description + "Enable nV Satellite Settings"; + } + } + container bridge-domain-pbb { + description + "Bridge Domain PBB"; + container pbb-edges { + description + "PBB Edge"; + list pbb-edge { + key "isid core-bd-name"; + description + "Configure BD as PBB Edge with ISID and + associated PBB Core BD"; + container pbb-edge-split-horizon-group { + description + "Split Horizon Group"; + leaf disable { + type empty; + description + "Disable split horizon group"; + } + } + container pbb-static-mac-mappings { + description + "PBB Static Mac Address Mapping Table"; + list pbb-static-mac-mapping { + key "address"; + description + "PBB Static Mac Address Mapping + Configuration"; + leaf pbb-static-mac-mapping-bmac { + type yang:mac-address; + description + "Static backbone MAC address to map with"; + } + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + container pbb-edge-dhcp-profile { + description + "Attach a DHCP profile"; + leaf profile-id { + type Interface-profile; + description + "Set the snooping profile"; + } + leaf dhcp-snooping-id { + type string; + description + "Disable DHCP snooping"; + } + } + container pbb-edge-mac { + description + "MAC configuration commands"; + container pbb-edge-mac-limit { + description + "MAC-Limit configuration commands"; + leaf pbb-edge-mac-limit-action { + type Mac-limit-action; + description + "MAC address limit enforcement action"; + } + leaf enable { + type empty; + description + "Enable MAC-Limit configuration commands"; + } + leaf pbb-edge-mac-limit-max { + type Mac-limit-range; + description + "Number of MAC addresses after which MAC + limit action is taken"; + } + leaf pbb-edge-mac-limit-notif { + type Mac-notification; + description + "MAC address limit notification action"; + } + } + container pbb-edge-mac-aging { + description + "MAC-Aging configuration commands"; + leaf pbb-edge-mac-aging-type { + type Mac-aging; + description + "MAC address aging type"; + } + leaf pbb-edge-mac-aging-time { + type Mac-aging-range; + description + "Mac Aging Time"; + } + leaf enable { + type empty; + description + "Enable MAC-Aging configuration commands"; + } + } + container pbb-edge-mac-secure { + description + "MAC Secure"; + leaf enable { + type empty; + description + "Enable MAC Secure"; + } + leaf accept-shutdown { + type empty; + description + "Accept Virtual instance port to be + shutdown on mac violation"; + } + uses LOGGING; + uses DISABLE; + uses ACTION; + } + leaf pbb-edge-mac-learning { + type Mac-learn; + description + "Enable Mac Learning"; + } + leaf enable { + type empty; + description + "Enable MAC configuration commands"; + } + } + leaf pbb-edge-igmp-profile { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a IGMP Snooping profile"; + } + leaf unknown-unicast-bmac { + type yang:mac-address; + description + "Configure Unknown Unicast BMAC address for + PBB Edge Port"; + } + leaf isid { + type Pbbisid-range; + description + "ISID"; + } + leaf core-bd-name { + type xr:Cisco-ios-xr-string { + length "1..27"; + } + description + "Core BD Name"; + } + } + } + container pbb-core { + description + "PBB Core"; + container pbb-core-mac { + description + "MAC configuration commands"; + container pbb-core-mac-aging { + description + "MAC-Aging configuration commands"; + leaf pbb-core-mac-aging-type { + type Mac-aging; + description + "MAC address aging type"; + } + leaf enable { + type empty; + description + "Enable MAC-Aging configuration commands"; + } + leaf pbb-core-mac-aging-time { + type Mac-aging-range; + description + "Mac Aging Time"; + } + } + container pbb-core-mac-limit { + description + "MAC-Limit configuration commands"; + leaf enable { + type empty; + description + "Enable MAC-Limit configuration commands"; + } + leaf pbb-core-mac-limit-max { + type Mac-limit-range; + description + "Number of MAC addresses after which MAC + limit action is taken"; + } + leaf pbb-core-mac-limit-notif { + type Mac-notification; + description + "MAC address limit notification action"; + } + leaf pbb-core-mac-limit-action { + type Mac-limit-action; + description + "MAC address limit enforcement action"; + } + } + leaf pbb-core-mac-learning { + type Mac-learn; + description + "Enable Mac Learning"; + } + leaf enable { + type empty; + description + "Enable MAC configuration commands"; + } + } + container pbb-core-evis { + description + "PBB Core EVI Table"; + list pbb-core-evi { + key "eviid"; + description + "PBB Core EVI"; + leaf eviid { + type Vpnid-range; + description + "Ethernet VPN ID"; + } + } + } + container pbb-core-dhcp-profile { + description + "Attach a DHCP profile"; + leaf profile-id { + type Interface-profile; + description + "Set the snooping profile"; + } + leaf dhcp-snooping-id { + type string; + description + "Disable DHCP snooping"; + } + } + leaf pbb-core-mmrp-flood-optimization { + type empty; + description + "Enabling MMRP PBB-VPLS Flood Optimization"; + } + leaf vlan-id { + type Pbbvid-range; + description + "VLAN ID to push"; + } + leaf pbb-core-igmp-profile { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a IGMP Snooping profile"; + } + leaf enable { + type empty; + description + "Enable Bridge Domain PBB Core Configuration"; + } + } + } + container bridge-domain-evis { + description + "Bridge Domain EVI Table"; + list bridge-domain-evi { + key "vpn-id"; + description + "Bridge Domain MPLS EVPN"; + leaf vpn-id { + type Evpnvpnid-range; + description + "MPLS Ethernet VPN-ID"; + } + } + } + container access-vfis { + description + "Specify the access virtual forwarding + interface name"; + list access-vfi { + key "name"; + description + "Name of the Acess Virtual Forwarding + Interface"; + container access-vfi-pseudowires { + description + "List of pseudowires"; + list access-vfi-pseudowire { + key "neighbor pseudowire-id"; + description + "Pseudowire configuration"; + container access-vfi-pseudowire-static-mac-addresses { + description + "Static Mac Address Table"; + list access-vfi-pseudowire-static-mac-address { + key "address"; + description + "Static Mac Address Configuration"; + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + leaf access-vfi-pw-class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Pseudowire class template name to use for + this pseudowire"; + } + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + } + } + leaf access-vfi-shutdown { + type empty; + description + "shutdown the AccessVfi"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the AccessVirtual Forwarding + Interface"; + } + } + } + container access-evis { + description + "Specify the access EVI ID"; + list access-evi { + key "vpn-id"; + description + "Name of the Access Virtual Forwarding + Interface"; + leaf vpn-id { + type Evpnvpnid-range; + description + "MPLS Ethernet VPN-ID"; + } + } + } + container bd-pseudowires { + description + "List of pseudowires"; + list bd-pseudowire { + key "neighbor pseudowire-id"; + description + "Pseudowire configuration"; + container pseudowire-dai { + description + "Access Pseudowire Dynamic ARP Inspection"; + container pseudowire-dai-address-validation { + description + "Address Validation"; + leaf ipv4-verification { + type L2vpn-verification; + description + "IPv4 Verification"; + } + leaf destination-mac-verification { + type L2vpn-verification; + description + "Destination MAC Verification"; + } + leaf source-mac-verification { + type L2vpn-verification; + description + "Source MAC Verification"; + } + leaf enable { + type empty; + description + "Enable Address Validation"; + } + } + leaf logging { + type L2vpn-logging; + description + "Logging Type"; + } + leaf disable { + type empty; + description + "Disable Dynamic ARP Inspection"; + } + leaf enable { + type empty; + description + "Enable Access Pseudowire Dynamic ARP + Inspection"; + } + } + container bdpw-storm-control-types { + description + "Storm Control"; + list bdpw-storm-control-type { + must "storm-control-unit"; + key "sctype"; + description + "Storm Control Type"; + leaf sctype { + type Storm-control; + description + "Storm Control Type"; + } + uses STORM-CONTROL-UNIT; + } + } + container pseudowire-profile { + description + "Attach a DHCP profile"; + leaf profile-id { + type Interface-profile; + description + "Set the snooping profile"; + } + leaf dhcp-snooping-id { + type string; + description + "Disable DHCP snooping"; + } + } + container bd-pw-static-mac-addresses { + description + "Static Mac Address Table"; + list bd-pw-static-mac-address { + key "address"; + description + "Static Mac Address Configuration"; + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + container pseudowire-ip-source-guard { + description + "IP Source Guard"; + leaf logging { + type L2vpn-logging; + description + "Logging Type"; + } + leaf disable { + type empty; + description + "Disable Dynamic IP source guard"; + } + leaf enable { + type empty; + description + "Enable IP Source Guard"; + } + } + container pseudowire-mac { + description + "Bridge-domain Pseudowire MAC configuration + commands"; + container pseudowire-mac-secure { + description + "MAC Secure"; + leaf enable { + type empty; + description + "Enable MAC Secure"; + } + uses LOGGING; + uses DISABLE; + uses ACTION; + uses SHUTDOWN-RECOVERY-TIMER; + } + container pseudowire-mac-aging { + description + "MAC-Aging configuration commands"; + leaf pseudowire-mac-aging-type { + type Mac-aging; + description + "MAC address aging type"; + } + leaf pseudowire-mac-aging-time { + type Mac-aging-range; + description + "MAC Aging Time"; + } + leaf enable { + type empty; + description + "Enable MAC-Aging configuration commands"; + } + } + container pseudowire-mac-limit { + description + "MAC-Limit configuration commands"; + leaf pseudowire-mac-limit-action { + type Mac-limit-action; + description + "Bridge Access Pseudowire MAC address limit + enforcement action"; + } + leaf pseudowire-mac-limit-notif { + type Mac-notification; + description + "MAC address limit notification action in a + Bridge Access Pseudowire"; + } + leaf pseudowire-mac-limit-max { + type Mac-limit-range; + description + "Number of MAC addresses on a Bridge Access + Pseudowire after which MAC limit action is + taken"; + } + leaf enable { + type empty; + description + "Enable MAC-Limit configuration commands"; + } + } + leaf pseudowire-mac-port-down-flush { + type Port-down-flush; + description + "Enable/Disable MAC Flush When Port goes + down"; + } + leaf enable { + type empty; + description + "Bridge-domain Pseudowire MAC configuration + mode"; + } + leaf pseudowire-mac-learning { + type Mac-learn; + description + "Enable MAC Learning"; + } + } + container bd-pw-split-horizon { + description + "Split Horizon"; + container bd-pw-split-horizon-group { + description + "Split Horizon Group"; + leaf enable { + type empty; + description + "Enable split horizon group"; + } + } + } + container bd-pw-mpls-static-labels { + description + "MPLS static labels"; + leaf local-static-label { + type Pseudowire-label-range; + description + "Pseudowire local static label"; + } + leaf remote-static-label { + type Pseudowire-label-range; + description + "Pseudowire remote static label"; + } + } + container bridge-domain-backup-pseudowires { + description + "List of pseudowires"; + list bridge-domain-backup-pseudowire { + key "neighbor pseudowire-id"; + description + "Backup pseudowire configuration"; + leaf bridge-domain-backup-pw-class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "PW class template name to use for this + pseudowire"; + } + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + } + } + leaf pseudowire-mld-snoop { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a MLD Snooping profile"; + } + leaf pseudowire-igmp-snoop { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a IGMP Snooping profile"; + } + leaf pseudowire-flooding { + type Interface-traffic-flood; + description + "Bridge-domain Pseudowire flooding"; + } + leaf bd-pw-class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "PW class template name to use for this + pseudowire"; + } + leaf pseudowire-flooding-unknown-unicast { + type Interface-traffic-flood; + description + "Bridge-domain Pseudowire flooding Unknown + Unicast"; + } + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + } + } + container evpn-bd-e-tree { + description + "Enter EVPN E-Tree configuration submode"; + leaf evpn-bd-e-tree-leaf { + type empty; + description + "Configure BD E-Tree as leaf"; + } + leaf enable { + type empty; + description + "Enable EVPN E-Tree"; + } + } + container vfis { + description + "Specify the virtual forwarding interface name"; + list vfi { + key "name"; + description + "Name of the Virtual Forwarding Interface"; + container multicast-p2mp { + description + "Enable Multicast P2MP in this VFI"; + container transports { + description + "Multicast P2MP Transport"; + list transport { + key "transport-name"; + description + "Multicast P2MP Transport Type"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Multicast P2MP TE Attribute Set Name"; + } + leaf transport-name { + type Multicast-p2mp-transport; + description + "Transport Type"; + } + } + } + container signalings { + description + "Multicast P2MP Signaling Type"; + list signaling { + key "signaling-name"; + description + "Multicast P2MP Signaling Type"; + leaf signaling-name { + type Multicast-p2mp-signaling; + description + "Signaling Type"; + } + } + } + leaf enable { + type empty; + description + "Enable Autodiscovery P2MP"; + } + } + container vfi-pseudowires { + description + "List of pseudowires"; + list vfi-pseudowire { + key "neighbor pseudowire-id"; + description + "Pseudowire configuration"; + container vfi-pw-dhcp-snoop { + description + "Attach a DHCP Snooping profile"; + leaf profile-id { + type Interface-profile; + description + "Set the snooping profile"; + } + leaf dhcp-snooping-id { + type string; + description + "Disable DHCP snooping"; + } + } + container vfi-pw-mpls-static-labels { + description + "MPLS static labels"; + leaf local-static-label { + type Pseudowire-label-range; + description + "Pseudowire local static label"; + } + leaf remote-static-label { + type Pseudowire-label-range; + description + "Pseudowire remote static label"; + } + } + container pseudowire-static-mac-addresses { + description + "Static Mac Address Table"; + list pseudowire-static-mac-address { + key "address"; + description + "Static Mac Address Configuration"; + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + leaf vfi-pw-class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "PW class template name to use for this + pseudowire"; + } + leaf vfi-pw-igmp-snoop { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a IGMP Snooping profile"; + } + leaf vfi-pw-mld-snoop { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a MLD Snooping profile"; + } + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + } + } + container bgp-auto-discovery { + description + "Enable Autodiscovery BGP in this VFI"; + container ldp-signaling-protocol { + description + "Signaling Protocol LDP in this VFI + configuration"; + container vpls-id { + description + "VPLS ID"; + leaf type { + type Ldp-vpls-id; + description + "VPLS-ID Type"; + } + leaf as { + when "../type = 'two-byte-as'" { + description + "../Type = TwoByteAS"; + } + type Vpls-id-as-range; + description + "Two byte AS number"; + } + leaf as-index { + when "../type = 'two-byte-as'" { + description + "../Type = TwoByteAS"; + } + type Vpls-id-as-index; + description + "AS index"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IPV4 address"; + } + leaf address-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type Vpls-id-addr-index; + description + "Address index"; + } + } + container flow-label-load-balance { + description + "Enable Flow Label based load balancing"; + leaf flow-label { + type Flow-label-load-balance; + description + "Flow Label load balance type"; + } + leaf static { + type empty; + description + "Static Flow Label"; + } + } + leaf enable { + type empty; + description + "Enable LDP as Signaling Protocol.Deletion + of this object also causes deletion of all + objects under LDPSignalingProtocol."; + } + } + container bgp-route-policy { + description + "Route policy"; + leaf export { + type string; + description + "Export route policy"; + } + } + container route-distinguisher { + description + "Route Distinguisher"; + leaf type { + type Bgp-route-distinguisher; + description + "Router Distinguisher Type"; + } + leaf as { + when "../type = 'two-byte-as' or ../type = 'four-byte-as'" { + description + "../Type = TwoByteAS or ../Type = + FourByteAS"; + } + type Rdas-range; + description + "Two byte or 4 byte AS number"; + } + leaf as-index { + when "../type = 'two-byte-as' or ../type = 'four-byte-as'" { + description + "../Type = TwoByteAS or ../Type = + FourByteAS"; + } + type Rdas-index; + description + "AS:nn (hex or decimal format)"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IPV4 address"; + } + leaf addr-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type Rd-addr-index; + description + "Addr index"; + } + } + container bgp-signaling-protocol { + description + "Enable Signaling Protocol BGP in this VFI"; + container flow-label-load-balance { + description + "Enable Flow Label based load balancing"; + leaf flow-label { + type Flow-label-load-balance; + description + "Flow Label load balance type"; + } + leaf static { + type empty; + description + "Static Flow Label"; + } + } + leaf ve-range { + type Vedge-range; + description + "Local Virtual Edge Block Configurable + Range"; + } + leaf veid { + type Veid-range; + description + "Local Virtual Edge Identifier"; + } + leaf enable { + type empty; + description + "Enable BGP as Signaling Protocol"; + } + } + container route-targets { + description + "Route Target"; + list route-target { + must "two-byte-as-or-four-byte-as or ipv4-address" { + description + "TwoByteAS-or-FourbyteAS or IPV4Address + must be present."; + } + key "role format"; + description + "Name of the Route Target"; + leaf role { + type Bgp-route-target-role; + description + "Role of the router target type"; + } + leaf format { + type Bgp-route-target-format; + description + "Format of the route target"; + } + list two-byte-as-or-four-byte-as { + when "../format = 'two-byte-as' or ../format = 'four-byte-as'" { + description + "../Format = TwoByteAS or ../Format = + FourbyteAS"; + } + key "as as-index"; + description + "two byte as or four byte as"; + leaf as { + type Rdas-range; + description + "Two byte or 4 byte AS number"; + } + leaf as-index { + type Rdas-index; + description + "AS:nn (hex or decimal format)"; + } + } + list ipv4-address { + when "../format = 'ipv4-address'" { + description + "../Format = IPV4Address"; + } + key "address addr-index"; + description + "ipv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPV4 address"; + } + leaf addr-index { + type Rd-addr-index; + description + "Addr index"; + } + } + } + } + leaf table-policy { + type string; + description + "Table Policy for installation of forwarding + data to L2FIB"; + } + leaf ad-control-word { + type empty; + description + "Enable control-word for this VFI"; + } + leaf enable { + type empty; + description + "Enable Autodiscovery BGP"; + } + } + leaf vfi-shutdown { + type empty; + description + "Enabling Shutdown"; + } + leaf vpnid { + type Vpnid-range; + description + "VPN Identifier"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Virtual Forwarding Interface"; + } + } + } + container bridge-domain-evi-srv6s { + description + "Bridge Domain SRv6 EVI Table"; + list bridge-domain-evi-srv6 { + key "vpn-id"; + description + "Bridge Domain SRv6 EVPN"; + leaf vpn-id { + type Evpnvpnid-range; + description + "SRv6 Ethernet VPN-ID"; + } + } + } + container bridge-domainvnis { + description + "Bridge Domain EVPN VxLAN Network Identifier + Table"; + list bridge-domainvni { + key "vpn-id"; + description + "Bridge Domain VxLAN EVPN"; + leaf vpn-id { + type uint32 { + range "1..16777215"; + } + description + "VxLAN Ethernet VPN-ID"; + } + } + } + container bd-attachment-circuits { + description + "Attachment Circuit table"; + list bd-attachment-circuit { + key "name"; + description + "Name of the Attachment Circuit"; + container interface-ip-source-guard { + description + "IP Source Guard"; + leaf logging { + type L2vpn-logging; + description + "Logging Type"; + } + leaf disable { + type empty; + description + "Disable L2 Interface Dynamic IP source + guard"; + } + leaf enable { + type empty; + description + "Enable IP Source Guard"; + } + } + container interface-dai { + description + "L2 Interface Dynamic ARP Inspection"; + container interface-dai-address-validation { + description + "Address Validation"; + leaf ipv4-verification { + type L2vpn-verification; + description + "IPv4 Verification"; + } + leaf destination-mac-verification { + type L2vpn-verification; + description + "Destination MAC Verification"; + } + leaf source-mac-verification { + type L2vpn-verification; + description + "Source MAC Verification"; + } + leaf enable { + type empty; + description + "Enable Address Validation"; + } + } + leaf logging { + type L2vpn-logging; + description + "Logging Type"; + } + leaf disable { + type empty; + description + "Disable L2 Interface Dynamic ARP Inspection"; + } + leaf enable { + type empty; + description + "Enable L2 Interface Dynamic ARP Inspection"; + } + } + container interface-profile { + description + "Attach a DHCP profile"; + leaf profile-id { + type Interface-profile; + description + "Set the snooping profile"; + } + leaf dhcp-snooping-id { + type string; + description + "Disable DHCP snooping"; + } + } + container bdac-storm-control-types { + description + "Storm Control"; + list bdac-storm-control-type { + must "storm-control-unit"; + key "sctype"; + description + "Storm Control Type"; + leaf sctype { + type Storm-control; + description + "Storm Control Type"; + } + uses STORM-CONTROL-UNIT; + } + } + container split-horizon { + description + "Split Horizon"; + container split-horizon-group-id { + description + "Split Horizon Group ID"; + leaf enable { + type empty; + description + "Enable split horizon group"; + } + } + } + container static-mac-addresses { + description + "Static Mac Address Table"; + list static-mac-address { + key "address"; + description + "Static Mac Address Configuration"; + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + container evpn-ac-e-tree { + description + "Enter EVPN E-Tree configuration submode"; + leaf evpn-ac-e-tree-leaf { + type empty; + description + "Configure E-Tree as leaf"; + } + leaf enable { + type empty; + description + "Enable EVPN E-Tree"; + } + } + container interface-mac { + description + "MAC configuration commands"; + container interface-mac-aging { + description + "MAC-Aging configuration commands"; + leaf interface-mac-aging-time { + type Mac-aging-range; + description + "Mac Aging Time"; + } + leaf enable { + type empty; + description + "Enable MAC-Aging configuration commands"; + } + leaf interface-mac-aging-type { + type Mac-aging; + description + "MAC address aging type"; + } + } + container interface-mac-secure { + description + "MAC Secure"; + leaf enable { + type empty; + description + "Enable MAC Secure"; + } + uses LOGGING; + uses DISABLE; + uses ACTION; + uses SHUTDOWN-RECOVERY-TIMER; + } + container interface-mac-limit { + description + "MAC-Limit configuration commands"; + leaf interface-mac-limit-max { + type Mac-limit-range; + description + "Number of MAC addresses on an Interface + after which MAC limit action is taken"; + } + leaf interface-mac-limit-notif { + type Mac-notification; + description + "MAC address limit notification action in a + Interface"; + } + leaf interface-mac-limit-action { + type Mac-limit-action; + description + "Interface MAC address limit enforcement + action"; + } + leaf enable { + type empty; + description + "Enable MAC-Limit configuration commands"; + } + } + leaf interface-mac-port-down-flush { + type Port-down-flush; + description + "Enable/Disable MAC Flush When Port goes + down"; + } + leaf interface-mac-learning { + type Mac-learn; + description + "Enable Mac Learning"; + } + leaf enable { + type empty; + description + "Enable MAC configuration commands"; + } + } + leaf interface-flooding { + type Interface-traffic-flood; + description + "Enable or Disable Flooding"; + } + leaf interface-igmp-snoop { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a IGMP Snooping profile"; + } + leaf interface-flooding-unknown-unicast { + type Interface-traffic-flood; + description + "Enable or Disable Unknown Unicast Flooding"; + } + leaf interface-mld-snoop { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach a MLD Snooping profile"; + } + leaf name { + type xr:Interface-name; + description + "The name of the Attachment Circuit"; + } + } + } + container bd-pseudowire-evpns { + description + "List of EVPN pseudowires"; + list bd-pseudowire-evpn { + key "eviid acid"; + description + "EVPN Pseudowire configuration"; + leaf eviid { + type Evpnvpnid-range; + description + "Ethernet VPN ID"; + } + leaf acid { + type Pseudowire-acid-range; + description + "AC ID"; + } + } + } + container ip-source-guard { + description + "IP Source Guard"; + leaf logging { + type empty; + description + "Enable Logging"; + } + leaf enable { + type empty; + description + "Enable IP Source Guard"; + } + } + container dai { + description + "Dynamic ARP Inspection"; + container dai-address-validation { + description + "Address Validation"; + leaf ipv4-verification { + type empty; + description + "Enable IPv4 Verification"; + } + leaf destination-mac-verification { + type empty; + description + "Enable Destination MAC Verification"; + } + leaf source-mac-verification { + type empty; + description + "Enable Source MAC Verification"; + } + leaf enable { + type empty; + description + "Enable Address Validation"; + } + } + leaf logging { + type empty; + description + "Enable Logging"; + } + leaf enable { + type empty; + description + "Enable Dynamic ARP Inspection"; + } + } + container routed-interfaces { + description + "Bridge Domain Routed Interface Table"; + list routed-interface { + key "interface-name"; + description + "Bridge Domain Routed Interface"; + container routed-interface-split-horizon-group { + description + "Routed interface split horizon group"; + leaf routed-interface-split-horizon-group-core { + type empty; + description + "Configure BVI under SHG 1"; + } + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the Routed Interface"; + } + } + } + leaf coupled-mode { + type empty; + description + "Coupled-mode configuration"; + } + leaf shutdown { + type empty; + description + "shutdown the Bridge Domain"; + } + leaf flooding-unknown-unicast { + type empty; + description + "Disable Unknown Unicast flooding"; + } + leaf efp-visibility { + type empty; + description + "Enable multicast for multiple VLANs in the + bridge of a BVI"; + } + leaf l2-multicast-source { + type L2mc-src-traffic-enabled; + description + "L2MC Source Traffic Enabled"; + } + leaf igmp-snooping-disable { + type empty; + description + "Disable IGMP Snooping"; + } + leaf transport-mode { + type Bridge-domain-transport-mode; + description + "Bridge Domain Transport mode"; + } + leaf mld-snooping { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach MLD Snooping Profile Name"; + } + leaf bridge-domain-mtu { + type Bridge-bd-mtu-range; + units "byte"; + description + "Maximum transmission unit for this Bridge + Domain"; + } + leaf dhcp { + type string { + length "1..32"; + } + description + "DHCPv4 Snooping profile name"; + } + leaf bridge-description { + type string { + length "1..64"; + } + description + "Bridge-domain description Name"; + } + leaf igmp-snooping { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Attach IGMP Snooping Profile Name"; + } + leaf flooding { + type empty; + description + "Disable flooding"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..27"; + } + description + "Name of the bridge domain"; + } + } + } + } + + grouping SHUTDOWN-RECOVERY-TIMER { + description + "Common node of mac-secure, interface-mac-secure, + pseudowire-mac-secure"; + leaf shutdown-recovery-timer { + type Mac-secure-shutdown-recovery-time-range; + description + "MAC Secure Shutdown Recovery Timer"; + } + } + + grouping DISABLE { + description + "Common node of pbb-edge-mac-secure, + interface-mac-secure, pseudowire-mac-secure"; + leaf disable { + type empty; + description + "Disable MAC Secure"; + } + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container pseudowire-ether { + description + "PW-Ether attributes"; + leaf generic-interface-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the interface list"; + } + leaf l2-overhead { + type uint32 { + range "1..64"; + } + description + "PW Ether L2 overhead requirement"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container pseudowire-iw { + description + "PW-IW attributes"; + leaf l2-overhead { + type uint32 { + range "1..64"; + } + units "byte"; + description + "L2 overhead size in bytes"; + } + leaf generic-interface-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the interface list"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container bvi { + description + "BVI attributes"; + container gratuitous-announcement-timer { + description + "Enter Gratuitous Announcement Timer + configuration submode"; + leaf enable { + type empty; + description + "Enable Gratuitous Announcement Timer"; + } + leaf timer-jitter { + type uint32; + units "percentage"; + description + "Gratuitous announcement jitter percentage"; + } + leaf timer-interval { + type uint32; + units "second"; + description + "Gratuitous announcement timer interval in + seconds"; + } + } + leaf host-routing { + type empty; + description + "Enable host-routing on this BVI"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container l2-transport { + description + "Interface Layer 2 Transport service + configuration data"; + leaf enabled { + type empty; + description + "This object is only valid on physical + interfaces and it controls whether that + interface is a port mode Layer 2 attachment + circuit (note that for subinterfaces, the Layer + 2 property is specified when the subinterface + is created).The object must be set before any + other L2Transport configuration is supplied for + the interface, and must be the last + per-interface configuration object to be + removed."; + } + } + } + augment "/a2:snmp/a2:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container vpls { + description + "CISCO-IETF-VPLS-GENERIC-MIB notification + configuration"; + leaf full-clear { + type empty; + description + "Enable cvplsFwdFullAlarmCleared notification"; + } + leaf status { + type empty; + description + "Enable cvplsStatusChanged notification"; + } + leaf enable { + type empty; + description + "Enable CISCO-IETF-VPLS-GENERIC-MIB + notifications"; + } + leaf full-raise { + type empty; + description + "Enable cvplsFwdFullAlarmRaised notification"; + } + } + } + augment "/a2:snmp/a2:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container l2vpn { + description + "CISCO-IETF-PW-MIB notification configuration"; + leaf cisco { + type empty; + description + "Enable Cisco format including extra varbinds"; + } + leaf enable { + type empty; + description + "Enable CISCO-IETF-PW-MIB notifications"; + } + leaf vc-down { + type empty; + description + "Enable cpwVcDown notification"; + } + leaf vc-up { + type empty; + description + "Enable cpwVcUp notification"; + } + } + } + container l2vpn { + description + "L2VPN configuration"; + container pw-routing { + description + "Pseudowire-routing attributes"; + container pw-routing-bgp { + description + "Enable Autodiscovery BGP Pseudowire-routing BGP"; + leaf enable { + type empty; + description + "Enable Autodiscovery BGP"; + } + uses EVPN-ROUTE-DISTINGUISHER; + } + leaf pw-routing-global-id { + type Pseudowire-gbl-id-range; + description + "Pseudowire-routing Global ID"; + } + } + container neighbor { + description + "L2VPN neighbor submode"; + leaf ldp-flap { + type empty; + description + "Enable targetted LDP session flap action"; + } + } + container database { + description + "L2VPN databases"; + container g8032-rings { + description + "List of G8032 Ring"; + list g8032-ring { + key "g8032-ring-name"; + description + "G8032 Ring"; + container erp-port0s { + description + "Ethernet ring protection port0"; + list erp-port0 { + key "interface-name"; + description + "Configure ERP main port0"; + leaf monitor { + type xr:Interface-name; + description + "Ethernet ring protection port0 monitor"; + } + leaf interface-name { + type xr:Interface-name; + description + "Port0 interface"; + } + } + } + container erp-instances { + description + "List of ethernet ring protection instance"; + list erp-instance { + key "erp-instance-id"; + description + "Ethernet ring protection instance"; + container rpl { + description + "Ring protection link"; + leaf port { + type Erp-port1; + description + "ERP main port number"; + } + leaf role { + type Rpl-role; + description + "RPL role"; + } + } + container aps { + description + "Automatic protection switching"; + container port1 { + description + "APS channel for ERP port1"; + leaf aps-type { + type Erpaps; + description + "Port1 APS type"; + } + leaf aps-channel { + type string; + description + "Port1 APS channel in the format of + InterfaceName, BDName or XconnectName"; + } + } + leaf port0 { + type string; + description + "Port0 APS channel in the format of + InterfaceName"; + } + leaf enable { + type empty; + description + "Enable automatic protection switching"; + } + leaf level { + type Erpaps-level-range; + description + "Automatic protection switching level"; + } + } + leaf description { + type string { + length "1..32"; + } + description + "Ethernet ring protection instance + description"; + } + leaf inclusion-list { + type string; + description + "Associates a set of VLAN IDs with the G + .8032 instance"; + } + leaf profile { + type string { + length "1..32"; + } + description + "Ethernet ring protection instance profile"; + } + leaf erp-instance-id { + type Erp-instance-range; + description + "ERP instance number"; + } + } + } + container erp-port1s { + description + "Ethernet ring protection port0"; + list erp-port1 { + must "none-or-virtual or interface" { + description + "None-or-Virtual or Interface must be + present."; + } + key "erp-port-type"; + description + "Ethernet ring protection port1"; + + grouping ERP-PORT1-CONTENT { + description + "ERP PORT1 CONTENT"; + leaf monitor { + type xr:Interface-name; + description + "Ethernet ring protection port1 monitor"; + } + } + container none-or-virtual { + when "../erp-port-type = 'none' or ../erp-port-type = 'virtual'" { + description + "../ERPPortType = None or ../ERPPortType = + Virtual"; + } + presence "Indicates that this node is configured."; + description + "none or virtual"; + uses ERP-PORT1-CONTENT; + } + leaf erp-port-type { + type Erp-port; + description + "Port1 type"; + } + list interface { + when "../erp-port-type = 'interface'" { + description + "../ERPPortType = Interface"; + } + key "interface-name"; + description + "interface"; + leaf interface-name { + type xr:Interface-name; + description + "Port1 interface"; + } + uses ERP-PORT1-CONTENT; + } + } + } + leaf open-ring { + type empty; + description + "Specify the G.8032 instance as open ring"; + } + leaf exclusion-list { + type string; + description + "Vlan IDs in the format of a-b,c,d,e-f,g + ,untagged"; + } + leaf erp-provider-bridge { + type empty; + description + "Ethernet ring protection provider bridge"; + } + leaf g8032-ring-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the G8032 ring"; + } + } + } + container xconnect-groups { + description + "List of xconnect groups"; + list xconnect-group { + key "name"; + description + "Xconnect group"; + container p2p-xconnects { + description + "List of point to point xconnects"; + list p2p-xconnect { + key "name"; + description + "Point to point xconnect"; + container pseudowire-evpn-srv6s { + description + "List of EVPN SRv6 Services"; + list pseudowire-evpn-srv6 { + key "eviid remote-acid source-acid"; + description + "EVPN SRv6 P2P Service Configuration"; + leaf pseudowire-evpn-srv6-locator { + type xr:Cisco-ios-xr-string { + length "1..58"; + } + description + "Specify SRv6 locator name"; + } + leaf eviid { + type Evpnvpnid-range; + description + "Ethernet VPN ID"; + } + leaf remote-acid { + type Pseudowire-evpnacid-range; + description + "Remote AC ID"; + } + leaf source-acid { + type Pseudowire-evpnacid-range; + description + "Source AC ID"; + } + } + } + container pseudowire-evpn-srv6-services { + description + "List of EVPN SRv6 Services keyed by EVI and + Service ID"; + list pseudowire-evpn-srv6-service { + key "eviid service-id"; + description + "EVPN SRv6 P2P Service Configuration"; + leaf pseudowire-evpn-srv6-locator { + type xr:Cisco-ios-xr-string { + length "1..58"; + } + description + "Specify SRv6 locator name"; + } + leaf eviid { + type Evpnvpnid-range; + description + "Ethernet VPN ID"; + } + leaf service-id { + type Pseudowire-evpnacid-range; + description + "Service ID (Target and Source AC ID)"; + } + } + } + container backup-attachment-circuits { + description + "List of backup attachment circuits"; + list backup-attachment-circuit { + key "interface-name"; + description + "Backup attachment circuit"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the attachment circuit interface"; + } + } + } + container pseudowire-evpns { + description + "List of EVPN Services"; + list pseudowire-evpn { + key "eviid remote-acid source-acid"; + description + "EVPN P2P Service Configuration"; + leaf class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the pseudowire class"; + } + leaf eviid { + type Evpnvpnid-range; + description + "Ethernet VPN ID"; + } + leaf remote-acid { + type Pseudowire-evpnacid-range; + description + "Remote AC ID"; + } + leaf source-acid { + type Pseudowire-evpnacid-range; + description + "Source AC ID"; + } + } + } + container pseudowire-neighbor-pseudowire-ids { + description + "List of pseudowires"; + + grouping PSEUDOWIRE-CONTENT { + description + "PSEUDOWIRE CONTENT"; + container mpls-static-labels { + description + "MPLS static labels"; + leaf local-static-label { + type Pseudowire-label-range; + description + "Pseudowire local static label"; + } + leaf remote-static-label { + type Pseudowire-label-range; + description + "Pseudowire remote static label"; + } + } + container backup-pseudowires { + description + "List of pseudowires"; + list backup-pseudowire { + key "neighbor pseudowire-id"; + description + "Backup pseudowire for the cross connect"; + container backup-mpls-static-labels { + description + "MPLS static labels"; + leaf local-static-label { + type Pseudowire-label-range; + description + "Pseudowire local static label"; + } + leaf remote-static-label { + type Pseudowire-label-range; + description + "Pseudowire remote static label"; + } + } + leaf backup-pw-class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "PW class template name to use for the + backup PW"; + } + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + } + } + container l2tp-static-attributes { + description + "L2TP Static Attributes"; + container l2tp-remote-cookie { + description + "L2TP remote cookie"; + leaf size { + type L2tp-cookie-size; + description + "Remote cookie size"; + } + leaf lower-value { + type L2tp-cookie-value-range; + description + "Lower remote cookie value"; + } + leaf higher-value { + type L2tp-cookie-value-range; + description + "Higher remote cookie value"; + } + } + container l2tp-secondary-local-cookie { + description + "L2TP secondary local cookie"; + leaf size { + type L2tp-cookie-size; + description + "Local cookie size"; + } + leaf lower-value { + type L2tp-cookie-value-range; + description + "Lower local cookie value"; + } + leaf higher-value { + type L2tp-cookie-value-range; + description + "Higher local cookie value"; + } + } + container l2tp-local-cookie { + description + "L2TP local cookie"; + leaf size { + type L2tp-cookie-size; + description + "Local cookie size"; + } + leaf lower-value { + type L2tp-cookie-value-range; + description + "Lower local cookie value"; + } + leaf higher-value { + type L2tp-cookie-value-range; + description + "Higher local cookie value"; + } + } + leaf l2tp-remote-session-id { + type L2tp-session-id-range; + description + "L2TP remote session ID"; + } + leaf l2tp-local-session-id { + type L2tp-session-id-range; + description + "L2TP local session ID"; + } + } + container l2tp-static { + description + "Pseudowire L2TPv3 static configuration"; + leaf enable { + type empty; + description + "Enable pseudowire L2TPv3 static + configuration"; + } + } + leaf tag-impose { + type Pseudowire-tag-range; + description + "Tag Impose vlan tagged mode"; + } + leaf class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the pseudowire class"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Value of the Pseudowire source address. + Must be IPv6 only."; + } + leaf bandwidth { + type uint32 { + range "0..4294967295"; + } + description + "Pseudowire Bandwidth"; + } + } + list pseudowire-neighbor-pseudowire-id { + key "neighbor pseudowire-id"; + description + "Pseudowire configuration"; + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Pseudowire IPv4 address"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + uses PSEUDOWIRE-CONTENT; + } + list pseudowire-pseudowire-address-pseudowire-id { + key "pseudowire-address pseudowire-id"; + description + "Pseudowire configuration"; + leaf pseudowire-address { + type inet:ipv6-address-no-zone; + description + "Pseudowire IPv6 address. A pseudowire can + have only one address: IPv4 or IPv6"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + uses PSEUDOWIRE-CONTENT; + } + } + container monitor-sessions { + description + "List of Monitor session segments"; + list monitor-session { + key "name"; + description + "Monitor session segment"; + leaf enable { + type empty; + description + "Enable monitor session segment "; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of the monitor session"; + } + } + } + container pseudowire-routeds { + description + "List of pseudowire-routed"; + list pseudowire-routed { + key "global-id prefix acid sacid"; + description + "Pseudowire configuration"; + leaf tag-impose { + type Pseudowire-tag-range; + description + "Tag Impose vlan tagged mode"; + } + leaf class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the pseudowire class"; + } + leaf global-id { + type Pseudowire-gbl-id-range; + description + "Target Global ID"; + } + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Target Prefix"; + } + leaf acid { + type Pseudowire-acid-range; + description + "Target AC ID"; + } + leaf sacid { + type Pseudowire-acid-range; + description + "Source AC ID"; + } + } + } + container pseudowire-evpn-services { + description + "List of EVPN Services keyed by EVI and + Service ID"; + list pseudowire-evpn-service { + key "eviid service-id"; + description + "EVPN P2P Service Configuration"; + leaf class { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the pseudowire class"; + } + leaf eviid { + type Evpnvpnid-range; + description + "Ethernet VPN ID"; + } + leaf service-id { + type Pseudowire-evpnacid-range; + description + "Service ID (Remote and Source AC ID)"; + } + } + } + container attachment-circuits { + description + "List of attachment circuits"; + list attachment-circuit { + key "name"; + description + "Attachment circuit interface"; + leaf enable { + type empty; + description + "Enable attachment circuit interface"; + } + leaf name { + type xr:Interface-name; + description + "Name of the attachment circuit interface"; + } + } + } + leaf evpnvpws-seamless-integration { + type Evpnvpws-seamless-integration; + description + "Description for EVPN-VPWS Seamless + Integration with Legacy VPWS"; + } + leaf p2p-description { + type string { + length "1..64"; + } + description + "cross connect description Name"; + } + leaf interworking { + type Interworking; + description + "Interworking"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..38"; + } + description + "Name of the point to point xconnect"; + } + } + } + container mp2mp-xconnects { + description + "List of multi point to multi point xconnects"; + list mp2mp-xconnect { + key "name"; + description + "Multi point to multi point xconnect"; + container mp2mp-auto-discovery { + description + "auto-discovery in this MP2MP"; + container route-distinguisher { + description + "Route Distinguisher"; + leaf type { + type Bgp-route-distinguisher; + description + "Router distinguisher type"; + } + leaf as { + when "../type = 'two-byte-as' or ../type = 'four-byte-as'" { + description + "../Type = TwoByteAS or ../Type = + FourByteAS"; + } + type Rdas-range; + description + "Two byte or 4 byte AS number"; + } + leaf as-index { + when "../type = 'two-byte-as' or ../type = 'four-byte-as'" { + description + "../Type = TwoByteAS or ../Type = + FourByteAS"; + } + type Rdas-index; + description + "AS:nn (hex or decimal format)"; + } + leaf address { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "IPV4 address"; + } + leaf addr-index { + when "../type = 'ipv4-address'" { + description + "../Type = IPV4Address"; + } + type Rd-addr-index; + description + "Addr index"; + } + } + container mp2mp-route-policy { + description + "Route policy"; + leaf export { + type string; + description + "Export route policy"; + } + } + container mp2mp-route-targets { + description + "Route Target"; + list mp2mp-route-target { + must "two-byte-as-or-four-byte-as or ipv4-address" { + description + "TwoByteAS-or-FourbyteAS or IPV4Address + must be present."; + } + key "role format"; + description + "Name of the Route Target"; + leaf role { + type Bgp-route-target-role; + description + "Role of the router target type"; + } + leaf format { + type Bgp-route-target-format; + description + "Format of the route target"; + } + list two-byte-as-or-four-byte-as { + when "../format = 'two-byte-as' or ../format = 'four-byte-as'" { + description + "../Format = TwoByteAS or ../Format = + FourbyteAS"; + } + key "as as-index"; + description + "two byte as or four byte as"; + leaf as { + type Rdas-range; + description + "Two byte or 4 byte AS number"; + } + leaf as-index { + type Rdas-index; + description + "AS:nn (hex or decimal format)"; + } + } + list ipv4-address { + when "../format = 'ipv4-address'" { + description + "../Format = IPV4Address"; + } + key "address addr-index"; + description + "ipv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPV4 address"; + } + leaf addr-index { + type Rd-addr-index; + description + "Addr index"; + } + } + } + } + container mp2mp-signaling-protocol { + description + "signaling protocol in this MP2MP"; + container flow-label-load-balance { + description + "Enable Flow Label based load balancing"; + leaf flow-label { + type Flow-label-load-balance; + description + "Flow Label load balance type"; + } + leaf static { + type empty; + description + "Static Flow Label"; + } + } + container ceids { + description + "Local Customer Edge Identifier Table"; + list ceid { + key "ce-id"; + description + "Local Customer Edge Identifier "; + container remote-ceid-attachment-circuits { + description + "AC And Remote Customer Edge Identifier + Table"; + list remote-ceid-attachment-circuit { + key "name remote-ce-id"; + description + "AC And Remote Customer Edge Identifier"; + leaf name { + type xr:Interface-name; + description + "The name of the Attachment Circuit"; + } + leaf remote-ce-id { + type Ce-id-range; + description + "Remote Customer Edge Identifier"; + } + } + } + leaf evpn-vpws-seamless-integration { + type Evpnvpws-seamless-integration; + description + "Description for EVPN-VPWS Seamless + Integration with Legacy VPWS"; + } + leaf ce-id { + type Ce-id-range; + description + "Local Customer Edge Identifier"; + } + } + } + leaf ce-range { + type Cedge-range; + description + "Local Customer Edge Identifier"; + } + leaf enable { + type empty; + description + "Enable signaling protocol"; + } + } + leaf enable { + type empty; + description + "Enable auto-discovery"; + } + } + leaf mp2mpmtu { + type L2vpn-mtu-range; + units "byte"; + description + "Maximum transmission unit for this MP2MP + VPWS instance"; + } + leaf mp2mp-control-word { + type empty; + description + "Disable control word"; + } + leaf mp2mpl2-encapsulation { + type L2-encapsulation; + description + "Configure Layer 2 Encapsulation"; + } + leaf mp2mp-interworking { + type Interworking; + description + "Interworking"; + } + leaf mp2mp-shutdown { + type empty; + description + "shutdown this MP2MP VPWS instance"; + } + leaf mp2mpvpn-id { + type Vpnid-range; + description + "VPN Identifier"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..26"; + } + description + "Name of the multi point to multi point + xconnect"; + } + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the xconnect group"; + } + } + } + container bridge-domain-groups { + description + "List of bridge groups"; + list bridge-domain-group { + key "name"; + description + "Bridge group"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Bridge group"; + } + uses BRIDGE-DOMAIN-TABLE; + } + } + container pseudowire-classes { + description + "List of pseudowire classes"; + list pseudowire-class { + key "name"; + description + "Pseudowire class"; + container l2tpv3-encapsulation { + description + "L2TPv3 encapsulation"; + container sequencing { + description + "Sequencing"; + leaf sequencing { + type L2tpv3-sequencing; + default "off"; + description + "Sequencing"; + } + leaf resync-threshold { + type Resync-threshold-range; + default "5"; + description + "Out of sequence threshold"; + } + } + container type-of-service { + description + "Type of service"; + leaf type-of-service-value { + type Type-of-service-range; + description + "Type of service value"; + } + leaf type-of-service-mode { + type Type-of-service-mode; + description + "Type of service mode"; + } + } + container signaling-protocol { + description + "L2TPv3 signaling protocol"; + leaf protocol { + type L2tp-signaling-protocol; + default "l2tpv3"; + description + "L2TPv3 signaling protocol"; + } + leaf l2tpv3-class-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the L2TPv3 class name"; + } + } + container path-mtu { + description + "Path maximum transmission unit"; + leaf enable { + type empty; + description + "Enable path MTU"; + } + leaf max-path-mtu { + type Max-path-mtu-range; + description + "Maximum path maximum transmission unit"; + } + } + leaf df-bit-set { + type empty; + description + "Set the do not fragment bit to 1"; + } + leaf cookie-size { + type L2tp-cookie-size; + default "zero"; + description + "Cookie size"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source IP address"; + } + leaf transport-mode { + type Transport-mode; + description + "Transport mode"; + } + leaf enable { + type empty; + description + "Enable L2TPv3 encapsulation"; + } + leaf time-to-live { + type Time-to-live-range; + description + "Time to live"; + } + } + container backup-disable-delay { + description + "Back Up Pseudowire class"; + leaf type { + type Backup-disable; + description + "Delay or Never"; + } + leaf disable-backup { + when "../type = 'delay'" { + description + "../Type = Delay"; + } + type Backup-disable-delay-range; + description + "Disable backup delay"; + } + } + container mpls-encapsulation { + description + "MPLS encapsulation"; + container sequencing { + description + "Sequencing"; + leaf sequencing { + type Mpls-sequencing; + default "off"; + description + "Sequencing"; + } + leaf resync-threshold { + type Resync-threshold-range; + default "5"; + description + "Out of sequence threshold"; + } + } + container mpls-redundancy { + description + "Redundancy options for MPLS encapsulation"; + leaf redundancy-one-way { + type empty; + description + "Force one-way PW redundancy behavior in + Redundancy Group"; + } + leaf redundancy-initial-delay { + type Pw-redundancy-initial-delay-range; + units "second"; + description + "Initial delay before activating the + redundant PW, in seconds"; + } + } + container preferred-path { + description + "Preferred path"; + leaf type { + type Preferred-path; + description + "Preferred Path Type"; + } + leaf interface-tunnel-number { + when "../type = 'te-tunnel' or ../type = 'ip-tunnel' or ../type = 'tp-tunnel'" { + description + "../Type = TE-Tunnel or ../Type = + IP-Tunnel or ../Type = TP-Tunnel"; + } + type uint32 { + range "0..65535"; + } + description + "Interface Tunnel number for preferred path"; + } + leaf fallback-disable { + when "../type = 'te-tunnel' or ../type = 'ip-tunnel' or ../type = 'tp-tunnel' or ../type = 'sr-te-policy' or ../type = 'named-te-tunnel'" { + description + "../Type = TE-Tunnel or ../Type = + IP-Tunnel or ../Type = TP-Tunnel or . + ./Type = SR-TE-Policy or ../Type = + Named-TE-Tunnel"; + } + type empty; + description + "Fallback disable"; + } + leaf path-name { + when "../type = 'sr-te-policy' or ../type = 'named-te-tunnel'" { + description + "../Type = SR-TE-Policy or ../Type = + Named-TE-Tunnel"; + } + type xr:Cisco-ios-xr-string { + length "1..60"; + } + description + "Name of the SR TE Policy or IFName"; + } + } + container load-balance-group { + description + "Load Balancing"; + container flow-label-load-balance { + description + "Enable Flow Label based load balancing"; + leaf flow-label { + type Flow-label-load-balance; + description + "Flow Label load balance type"; + } + leaf static { + type empty; + description + "Static Flow Label"; + } + } + leaf flow-label-load-balance-code { + type Flow-label-tlv-code; + description + "Enable Legacy Flow Label TLV code"; + } + leaf pw-label-load-balance { + type Load-balance; + description + "Enable PW Label based Load Balancing"; + } + } + leaf pw-switching-tlv { + type Pw-switching-point-tlv; + description + "Pseudowire Switching Point Tlv"; + } + leaf static-tag-rewrite { + type Tag-rewrite-range; + description + "Static Tag rewrite"; + } + leaf signaling-protocol { + type Mpls-signaling-protocol; + default "ldp"; + description + "MPLS signaling protocol"; + } + leaf vccv-type { + type Vccv-verification; + default "lsp-ping"; + description + "VCCV verification type"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source IP address"; + } + leaf transport-mode { + type Transport-mode; + description + "Transport mode"; + } + leaf enable { + type empty; + description + "Enable MPLS encapsulation"; + } + leaf control-word { + type Control-word; + description + "Enable control word"; + } + } + leaf mac-withdraw { + type empty; + description + "Enable backup MAC withdraw"; + } + leaf enable { + type empty; + description + "Enable pseudowire class"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the pseudowire class"; + } + } + } + container vlan-switches { + description + "List of VLAN Switches"; + list vlan-switch { + key "name"; + description + "VLAN Switch"; + container vlan-switch-ports { + description + "List of VLAN Switched Ports"; + list vlan-switch-port { + key "interface-name"; + description + "VLAN Switched Port"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container vni-ranges { + description + "Configure VLAN Switch VxLAN Ethernet VPN-ID + ranges"; + leaf vni-range1-min { + type uint32; + description + "Minimum value of VNI range #1"; + } + leaf vni-range1-max { + type uint32; + description + "Maximum value of VNI range #1"; + } + leaf vni-range2-min { + type uint32; + description + "Minimum value of VNI range #2"; + } + leaf vni-range2-max { + type uint32; + description + "Maximum value of VNI range #2"; + } + leaf vni-range3-min { + type uint32; + description + "Minimum value of VNI range #3"; + } + leaf vni-range3-max { + type uint32; + description + "Maximum value of VNI range #3"; + } + leaf vni-range4-min { + type uint32; + description + "Minimum value of VNI range #4"; + } + leaf vni-range4-max { + type uint32; + description + "Maximum value of VNI range #4"; + } + leaf vni-range5-min { + type uint32; + description + "Minimum value of VNI range #5"; + } + leaf vni-range5-max { + type uint32; + description + "Maximum value of VNI range #5"; + } + leaf vni-range6-min { + type uint32; + description + "Minimum value of VNI range #6"; + } + leaf vni-range6-max { + type uint32; + description + "Maximum value of VNI range #6"; + } + leaf vni-range7-min { + type uint32; + description + "Minimum value of VNI range #7"; + } + leaf vni-range7-max { + type uint32; + description + "Maximum value of VNI range #7"; + } + leaf vni-range8-min { + type uint32; + description + "Minimum value of VNI range #8"; + } + leaf vni-range8-max { + type uint32; + description + "Maximum value of VNI range #8"; + } + leaf vni-range9-min { + type uint32; + description + "Minimum value of VNI range #9"; + } + leaf vni-range9-max { + type uint32; + description + "Maximum value of VNI range #9"; + } + } + container vlan-ranges { + description + "Configure VLAN Switch VLAN ranges"; + leaf vlan-range1-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #1"; + } + leaf vlan-range1-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #1"; + } + leaf vlan-range2-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #2"; + } + leaf vlan-range2-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #2"; + } + leaf vlan-range3-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #3"; + } + leaf vlan-range3-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #3"; + } + leaf vlan-range4-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #4"; + } + leaf vlan-range4-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #4"; + } + leaf vlan-range5-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #5"; + } + leaf vlan-range5-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #5"; + } + leaf vlan-range6-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #6"; + } + leaf vlan-range6-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #6"; + } + leaf vlan-range7-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #7"; + } + leaf vlan-range7-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #7"; + } + leaf vlan-range8-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #8"; + } + leaf vlan-range8-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #8"; + } + leaf vlan-range9-min { + type L2vpn-vs-vlan-tag; + description + "Minimum value of VLAN range #9"; + } + leaf vlan-range9-max { + type L2vpn-vs-vlan-tag; + description + "Maximum value of VLAN range #9"; + } + } + container routed-interface-ranges { + description + "Configure VLAN Switch Routed BVI Interface + ranges"; + leaf interface-range1-min { + type uint32; + description + "Minimum value of Interface range #1"; + } + leaf interface-range1-max { + type uint32; + description + "Maximum value of Interface range #1"; + } + leaf interface-range2-min { + type uint32; + description + "Minimum value of Interface range #2"; + } + leaf interface-range2-max { + type uint32; + description + "Maximum value of Interface range #2"; + } + leaf interface-range3-min { + type uint32; + description + "Minimum value of Interface range #3"; + } + leaf interface-range3-max { + type uint32; + description + "Maximum value of Interface range #3"; + } + leaf interface-range4-min { + type uint32; + description + "Minimum value of Interface range #4"; + } + leaf interface-range4-max { + type uint32; + description + "Maximum value of Interface range #4"; + } + leaf interface-range5-min { + type uint32; + description + "Minimum value of Interface range #5"; + } + leaf interface-range5-max { + type uint32; + description + "Maximum value of Interface range #5"; + } + leaf interface-range6-min { + type uint32; + description + "Minimum value of Interface range #6"; + } + leaf interface-range6-max { + type uint32; + description + "Maximum value of Interface range #6"; + } + leaf interface-range7-min { + type uint32; + description + "Minimum value of Interface range #7"; + } + leaf interface-range7-max { + type uint32; + description + "Maximum value of Interface range #7"; + } + leaf interface-range8-min { + type uint32; + description + "Minimum value of Interface range #8"; + } + leaf interface-range8-max { + type uint32; + description + "Maximum value of Interface range #8"; + } + leaf interface-range9-min { + type uint32; + description + "Minimum value of Interface range #9"; + } + leaf interface-range9-max { + type uint32; + description + "Maximum value of Interface range #9"; + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the VLAN Switch"; + } + uses BRIDGE-DOMAIN-TABLE; + } + } + container flexible-xconnect-service-table { + description + "List of Flexible XConnect Services"; + container vlan-unaware-flexible-xconnect-services { + description + "List of Vlan-Unaware Flexible XConnect + Services"; + list vlan-unaware-flexible-xconnect-service { + key "name"; + description + "Flexible XConnect Service"; + container vlan-unaware-fxc-attachment-circuits { + description + "List of attachment circuits"; + list vlan-unaware-fxc-attachment-circuit { + key "name"; + description + "Attachment circuit interface"; + leaf name { + type xr:Interface-name; + description + "Name of the attachment circuit interface"; + } + } + } + container vlan-unaware-fxc-pseudowire-evpns { + description + "List of EVPN Services"; + list vlan-unaware-fxc-pseudowire-evpn { + key "eviid acid"; + description + "EVPN FXC Service Configuration"; + leaf eviid { + type Evpnvpnid-range; + description + "Ethernet VPN ID"; + } + leaf acid { + type Pseudowire-acid-range; + description + "AC ID"; + } + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..23"; + } + description + "Name of the Flexible XConnect Service"; + } + } + } + container vlan-aware-flexible-xconnect-services { + description + "List of Vlan-Aware Flexible XConnect Services"; + list vlan-aware-flexible-xconnect-service { + key "eviid"; + description + "Flexible XConnect Service"; + container vlan-aware-fxc-attachment-circuits { + description + "List of attachment circuits"; + list vlan-aware-fxc-attachment-circuit { + key "name"; + description + "Attachment circuit interface"; + leaf name { + type xr:Interface-name; + description + "Name of the attachment circuit interface"; + } + } + } + leaf eviid { + type Evpnvpnid-range; + description + "Ethernet VPN ID"; + } + } + } + } + container redundancy { + description + "Redundancy groups"; + container iccp-redundancy-groups { + description + "List of Inter-Chassis Communication Protocol + redundancy groups"; + list iccp-redundancy-group { + key "group-id"; + description + "ICCP Redundancy group"; + container iccp-interfaces { + description + "List of interfaces"; + list iccp-interface { + key "interface-name"; + description + "Interface name"; + leaf secondary-vlan-range { + type string; + description + "Secondary VLAN range, in the form of 1-3,5 + ,8-11"; + } + leaf recovery-delay { + type uint32 { + range "30..3600"; + } + default "180"; + description + "Failure clear recovery delay"; + } + leaf primary-vlan-range { + type string; + description + "Primary VLAN range, in the form of 1-3,5 + ,8-11"; + } + leaf mac-flush-tcn { + type empty; + description + "Enable STP-TCN MAC flushing"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + leaf multi-homing-node-id { + type uint32 { + range "0..254"; + } + description + "ICCP-based service multi-homing node ID"; + } + leaf group-id { + type uint32 { + range "1..4294967295"; + } + description + "Group ID"; + } + } + } + leaf enable { + type empty; + description + "Enable redundancy groups"; + } + } + } + container pbb { + description + "L2VPN PBB Global"; + leaf backbone-source-mac { + type yang:mac-address; + description + "Backbone Source MAC"; + } + } + container auto-discovery { + description + "Global auto-discovery attributes"; + container bgp-signaling { + description + "Global bgp signaling attributes"; + leaf mtu-mismatch-ignore { + type empty; + description + "Ignore MTU mismatch for auto-discovered + pseudowires"; + } + } + } + container utility { + description + "L2VPN utilities"; + container logging { + description + "L2VPN logging utility"; + leaf bridge-domain-state-change { + type empty; + description + "Enable Bridge Domain state change logging"; + } + leaf pseudowire-state-change { + type empty; + description + "Enable pseudowire state change logging"; + } + leaf vfi { + type empty; + description + "Enable VFI state change logging"; + } + leaf nsr-state-change { + type empty; + description + "Enable Non Stop Routing state change logging"; + } + leaf pwhe-replication-state-change { + type empty; + description + "Enable PW-HE Replication state change logging"; + } + } + } + container snmp { + description + "SNMP related configuration"; + container mib { + description + "MIB related configuration"; + container mib-interface { + description + "Interface related configuration for MIB"; + container format { + description + "MIB interface name output format"; + leaf external-interface-format { + type empty; + description + "Set MIB interface name output in slash + format (/)"; + } + } + } + container mib-pseudowire { + description + "Pseudowire related configuration for MIB"; + leaf statistics { + type empty; + description + "Enable pseudowire statistics in MIB output"; + } + } + } + } + leaf mtu-mismatch-ignore { + type empty; + description + "Ignore MTU Mismatch for XCs"; + } + leaf tcn-propagation { + type empty; + description + "Topology change notification propagation"; + } + leaf pwoam-refresh { + type uint32 { + range "1..4095"; + } + units "second"; + description + "Configure PW OAM refresh interval"; + } + leaf load-balance { + type Load-balance; + description + "Enable flow load balancing on l2vpn bridges"; + } + leaf mspw-description { + type string { + length "1..64"; + } + description + "MS-PW global description"; + } + leaf mac-limit-threshold { + type Mac-limit-threshold-range; + units "percentage"; + description + "Configure MAC limit threshold percent"; + } + leaf mtu-mismatch-ignore-auto-discovery { + type empty; + description + "Ignore MTU mismatch for auto-discovered PWs"; + } + leaf pw-status-disable { + type empty; + description + "Disable PW status"; + } + leaf enable { + type empty; + description + "Enable L2VPN feature"; + } + leaf pw-grouping { + type empty; + description + "Enable PW grouping"; + } + leaf capability { + type L2vpn-capability-mode; + description + "L2VPN Capability Mode"; + } + leaf l2vpn-router-id { + type inet:ipv4-address-no-zone; + description + "Global L2VPN Router ID"; + } + } + container generic-interface-lists { + description + "Generic Interface List configuration"; + list generic-interface-list { + key "generic-interface-list-name"; + description + "Generic interface list"; + container interfaces { + description + "Interface table"; + list interface { + key "interface-name"; + description + "Interface"; + leaf enable { + type empty; + description + "Enable interface"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + } + } + leaf enable { + type empty; + description + "Enable interface list"; + } + leaf generic-interface-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the interface list"; + } + } + } + container evpn { + description + "EVPN configuration"; + container evpn-tables { + description + "EVPN submodes"; + container evpn-timers { + description + "Enter EVPN timers configuration submode"; + leaf evpn-carving { + type uint32 { + range "0..300"; + } + default "0"; + description + "Global Carving timer"; + } + leaf evpn-mac-postpone { + type uint32 { + range "0..300"; + } + default "300"; + description + "Global MAC postpone timer"; + } + leaf evpn-ac-debounce { + type uint32 { + range "0..300000"; + } + default "3000"; + description + "Global AC Debounce timer"; + } + leaf evpn-backup-replacement-delay { + type uint32 { + range "0..300000"; + } + units "millisecond"; + default "6000"; + description + "Global Backup Replacement Delay (milliseconds) + timer"; + } + leaf evpn-recovery { + type uint32 { + range "0..3600"; + } + default "30"; + description + "Global Recovery timer"; + } + leaf enable { + type empty; + description + "Enable EVPN timers"; + } + leaf evpn-peering { + type uint32 { + range "0..300"; + } + default "3"; + description + "Global Peering timer"; + } + } + container evpn-virtual-access-sub-interfaces { + description + "Access Sub-interface Virtual Ethernet-Segment"; + list evpn-virtual-access-sub-interface { + key "interface-name"; + description + "Access Sub-interface Virtual Ethernet-Segment"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the sub-interface"; + } + uses EVPN-VIRTUAL-ETHERNET-SEGMENT; + } + } + container evpn-virtual-access-vfis { + description + "Virtual Access VFI interfaces"; + list evpn-virtual-access-vfi { + key "name"; + description + "Virtual Access VFI"; + container evpn-virtual-access-vfi-timers { + description + "Enter Virtual Forwarding Interface timers + configuration submode"; + leaf evpn-virtual-access-vfiac-debounce { + type uint32 { + range "0..300000"; + } + default "3000"; + description + "Virtual Forwarding Interface-specific AC + Debounce timer"; + } + leaf evpn-virtual-access-vfi-recovery { + type uint32 { + range "0..3600"; + } + default "30"; + description + "Virtual Forwarding Interface-specific + Recovery timer"; + } + leaf evpn-virtual-access-vfi-peering { + type uint32 { + range "0..300"; + } + default "3"; + description + "Virtual Forwarding Interface-specific + Peering timer"; + } + leaf evpn-virtual-access-vfi-carving { + type uint32 { + range "0..300"; + } + default "0"; + description + "Virtual Forwarding Interface-specific + Carving timer"; + } + leaf enable { + type empty; + description + "Enable Virtual Forwarding Interface timers"; + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Virtual Access VFI"; + } + uses EVPN-VIRTUAL-ETHERNET-SEGMENT; + } + } + container evpn-load-balancing { + description + "Enter EVPN Loadbalancing configuration submode"; + leaf evpn-static-flow-label { + type empty; + description + "Enable Static Flow Label based load balancing"; + } + leaf enable { + type empty; + description + "Enable EVPN Loadbalancing"; + } + } + container evpn-virtual-access-evi { + description + "Virtual Access EVI interfaces"; + leaf enable { + type empty; + description + "Enable Virtual Access EVI Interface"; + } + uses EVPN-CORE-ISOLATION-GROUP; + uses EVPN-VIRTUAL-ETHERNET-SEGMENT; + } + container evpn-bgp-auto-discovery { + description + "Enable Autodiscovery BGP in EVPN"; + leaf enable { + type empty; + description + "Enable Autodiscovery BGP"; + } + uses EVPN-ROUTE-DISTINGUISHER; + } + container evpn-groups { + description + "Enter EVPN Group Table submode"; + list evpn-group { + key "group-id"; + description + "Enter EVPN Group submode"; + container evpn-group-core-interfaces { + description + "EVPN Group core interfaces"; + list evpn-group-core-interface { + key "interface-name"; + description + "EVPN Group Core interface"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the EVPN Group core interface"; + } + } + } + leaf group-id { + type Evpn-group-id-range; + description + "Group ID"; + } + } + } + container evpn-instances { + description + "Enter EVPN Instance configuration submode"; + list evpn-instance { + key "vpn-id encapsulation side"; + description + "Enter EVPN Instance configuration submode"; + container evpn-instance-bgp-auto-discovery { + description + "Enable Autodiscovery BGP in EVPN Instance"; + container evpn-route-policy { + description + "Route policy"; + leaf export { + type string; + description + "Export route policy"; + } + leaf import { + type string; + description + "Import route policy"; + } + } + container evpn-route-targets { + description + "Route Target"; + list evpn-route-target-none { + key "role stitching"; + description + "Route Target none"; + leaf role { + type Bgp-route-target-role; + description + "Role of the router target type"; + } + leaf stitching { + type Bgp-route-target; + description + "whether RT is Stitching RT (DEPRECATED)"; + } + } + list evpn-route-target-two-byte-as { + key "role as as-index stitching"; + description + "Route Target two byte as"; + leaf role { + type Bgp-route-target-role; + description + "Role of the router target type"; + } + leaf as { + type Rdas-range; + description + "Two byte number"; + } + leaf as-index { + type Rdas-index; + description + "AS:nn (hex or decimal format)"; + } + leaf stitching { + type Bgp-route-target; + description + "whether RT is Stitching RT (DEPRECATED)"; + } + } + list evpn-route-target-four-byte-as { + key "role as as-index stitching"; + description + "Route Target four byte as"; + leaf role { + type Bgp-route-target-role; + description + "Role of the router target type"; + } + leaf as { + type Rdas-range; + description + "Four byte number"; + } + leaf as-index { + type Rdas-index; + description + "AS:nn (hex or decimal format)"; + } + leaf stitching { + type Bgp-route-target; + description + "whether RT is Stitching RT (DEPRECATED)"; + } + } + list evpn-route-target-ipv4-address { + key "role address addr-index stitching"; + description + "Route target ipv4 address"; + leaf role { + type Bgp-route-target-role; + description + "Role of the router target type"; + xr:xr-xml-map "l2vpn_cfg:Role"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IPV4 address"; + } + leaf addr-index { + type Rd-addr-index; + description + "Addr index"; + } + leaf stitching { + type Bgp-route-target; + description + "whether RT is Stitching RT (DEPRECATED)"; + } + } + } + leaf table-policy { + type string; + description + "Table Policy for installation of forwarding + data to L2FIB"; + } + leaf implicit-import-disable { + type empty; + description + "Disables BGP Implicit Import"; + } + leaf enable { + type empty; + description + "Enable Autodiscovery BGP"; + } + uses EVPN-ROUTE-DISTINGUISHER; + } + container evpn-instance-etree { + description + "Enter EVPN E-Tree configuration submode"; + leaf evpn-instance-etree-rt-leaf { + type empty; + description + "Configure E-Tree as Route-Target leaf"; + } + leaf evpn-instance-etree-leaf { + type empty; + description + "Configure E-Tree as leaf"; + } + leaf enable { + type empty; + description + "Enable EVPN E-Tree"; + } + } + container evpn-instance-advertise-mac { + description + "Enter Advertise local MAC-only routes + configuration submode"; + leaf evi-advertise-mac-bvi { + type empty; + description + "Advertise local MAC-only and BVI MAC routes"; + } + leaf enable { + type empty; + description + "Enable Advertise local MAC-only routes"; + } + } + container evpn-instance-multicast { + description + "Enter Multicast configuration submode"; + leaf evi-mcast-source-connected { + type empty; + description + "Enable Multicast source connectivity"; + } + leaf enable { + type empty; + description + "Enable Multicast"; + } + } + container evpn-instance-proxy { + description + "Enter Proxy configuration submode"; + leaf enable { + type empty; + description + "Enable Proxy"; + } + leaf evi-proxy-igmp-snooping { + type empty; + description + "Enable IGMP-snooping proxy mode (selective + replication)"; + } + } + container evpn-instance-load-balancing { + description + "Enter Loadbalancing configuration submode"; + leaf evi-static-flow-label { + type empty; + description + "Enable Static Flow Label based load + balancing"; + } + leaf enable { + type empty; + description + "Enable Loadbalancing"; + } + } + leaf evpn-route-sync-vrf-default { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Set EVI for default VRF"; + } + leaf evi-srv6-locator { + type string { + length "1..58"; + } + description + "Specify SRv6 locator name"; + } + leaf evi-reorig-disable { + type empty; + description + "Disable route re-origination"; + } + leaf evi-preferred-nexthop { + type Preferred-nexthop-mode; + description + "Enable Preferred Nexthop mode on this EVI"; + } + leaf evpn-evi-transmit-mtu-zero { + type boolean; + description + "Transmit MTU zero to remote for this EVPN EVI + ."; + } + leaf evpn-instance-description { + type string { + length "1..64"; + } + description + "Description for EVPN Instance"; + } + leaf evpn-evi-mtu-mismatch-ignore { + type boolean; + description + "Ignore mismatch between local and remote MTUs + for this EVPN EVI."; + } + leaf evi-ecmp-disable { + type empty; + description + "Disable ECMP on the EVI"; + } + leaf evpn-evi-mtu-match-enforce { + type empty; + description + "Enforce matching between local and remote + MTUs for this EVPN EVI."; + } + leaf evpn-instance-vpws-single-active-backup-suppression { + type empty; + description + "Configure EVPN VPWS Single-Active Backup + Suppression"; + } + leaf evpn-evi-transmit-l2-mtu { + type empty; + description + "Transmit L2 MTU to remote for this EVPN EVI."; + } + leaf evi-unknown-unicast-flooding-disable { + type empty; + description + "Disable Unknown Unicast Flooding on this EVI"; + } + leaf evi-bvi-coupled-mode { + type empty; + description + "When configured, the associated EVPN core + port will keep the BVI Up in case of AC + failure"; + } + leaf evpn-evi-cw-disable { + type empty; + description + "CW disable for EVPN EVI"; + } + leaf vpn-id { + type Vpnid-range; + description + "EVPN Instance ID"; + } + leaf encapsulation { + type Evpn-encapsulation; + description + "EVPN Instance Encapsulation"; + } + leaf side { + type Evpn-side; + description + "EVPN Instance Side"; + } + } + } + container evpn-logging { + description + "Enter EVPN Logging configuration submode"; + leaf evpn-df-election { + type empty; + description + "Enable Designated Forwarder election logging"; + } + leaf enable { + type empty; + description + "Enable EVPN Logging"; + } + } + container evpn-segment-routing-srv6 { + description + "Enter EVPN Segment-Routing SRv6 submode"; + leaf evpn-srv6-locator { + type string { + length "1..58"; + } + description + "Specify default SRv6 locator name"; + } + leaf enable { + type empty; + description + "Enable EVPN Segment-Routing SRv6"; + } + } + container evpn-interfaces { + description + "Attachment Circuit interfaces"; + list evpn-interface { + key "interface-name"; + description + "Attachment circuit interface"; + container evpn-interface-virtual-ethernet-segment { + description + "Enter Virtual Ethernet Segment configuration + submode"; + leaf evpn-interface-virtual-ethernet-segment-mac { + type yang:mac-address; + description + "6 byte value in MAC format"; + } + leaf enable { + type empty; + description + "Enable Virtual Ethernet Segment"; + } + } + container evpnac-timers { + description + "Enter Interface-specific timers configuration + submode"; + leaf evpnac-peering { + type uint32 { + range "0..300"; + } + default "3"; + description + "Interface-specific Peering timer"; + } + leaf evpnac-debounce { + type uint32 { + range "0..300000"; + } + default "3000"; + description + "Interface-specific AC Debounce timer"; + } + leaf evpnac-carving { + type uint32 { + range "0..300"; + } + default "0"; + description + "Interface-specific Carving timer"; + } + leaf enable { + type empty; + description + "Enable Interface-specific timers"; + } + leaf evpnac-recovery { + type uint32 { + range "0..3600"; + } + default "30"; + description + "Interface-specific Recovery timer"; + } + } + container ethernet-segment { + description + "Enter Ethernet Segment configuration submode"; + container es-convergence { + description + "Convergence mode(s) and configuration + options"; + leaf mac-mobility { + type empty; + description + "Enable MAC-mobility triggered flush"; + } + leaf nh-tracking { + type empty; + description + "Nexthop-tracking influenced DF Election"; + } + leaf reroute { + type empty; + description + "Enable reroute to backup peer"; + } + leaf enable { + type empty; + description + "Enable Convergence configuration options"; + } + } + leaf force-single-homed { + type empty; + description + "Force ethernet segment to remain + single-homed"; + } + leaf load-balancing-mode { + type Ethernet-segment-load-balance; + description + "Ethernet-Segment Load Balancing mode"; + } + leaf enable { + type empty; + description + "Enable Ethernet Segment"; + } + leaf backbone-source-mac { + type yang:mac-address; + description + "Backbone Source MAC"; + } + uses SERVICE-CARVING-MCAST-TYPE; + uses ES-IMPORT-ROUTE-TARGET; + uses SERVICE-CARVING-TYPE; + uses IDENTIFIER; + uses PREFERENCE-BASED-SERVICE-CARVING; + uses MANUAL-SERVICE-CARVING; + } + leaf evpn-access-signal-mode { + type Interface-access-signal-mode; + description + "Override default signal sent to bring down + access circuit"; + } + leaf mac-flush { + type Mac-flush-mode; + description + "Enable MAC Flushing"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the attachment circuit interface"; + } + uses EVPN-CORE-ISOLATION-GROUP; + } + } + container evpn-virtual-access-pws { + description + "Virtual Access Pseudowire interfaces"; + list evpn-virtual-access-pw { + key "neighbor pseudowire-id"; + description + "Virtual Access Pseudowire"; + container evpn-virtual-access-pw-timers { + description + "Enter Virtual Access Pseudowire-specific + timers configuration submode"; + leaf evpn-virtual-access-pw-recovery { + type uint32 { + range "0..3600"; + } + default "30"; + description + "Virtual Access Pseudowire-specific Recovery + timer"; + } + leaf evpn-virtual-access-pw-debounce { + type uint32 { + range "0..300000"; + } + default "3000"; + description + "Virtual Access Pseudowire-specific AC + Debounce timer"; + } + leaf evpn-virtual-access-pw-peering { + type uint32 { + range "0..300"; + } + default "3"; + description + "Virtual Access Pseudowire-specific Peering + timer"; + } + leaf enable { + type empty; + description + "Enable Virtual Access Pseudowire-specific + timers"; + } + leaf evpn-virtual-access-pw-carving { + type uint32 { + range "0..300"; + } + default "0"; + description + "Virtual Access Pseudowire-specific Carving + timer"; + } + } + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + leaf pseudowire-id { + type Pseudowire-id-range; + description + "Pseudowire ID"; + } + uses EVPN-VIRTUAL-ETHERNET-SEGMENT; + } + } + container evpn-ethernet-segment { + description + "EVPN Global Ethernet Segment submode"; + container evpn-esi-types { + description + "EVPN ESI type table"; + list evpn-esi-type { + key "esi-type"; + description + "ESI type"; + leaf disable-auto-generation { + type empty; + description + "Disable ESI Autogeneration"; + } + leaf esi-type { + type Evpn-esi-type-range; + description + "ESI type"; + } + } + } + leaf enable { + type empty; + description + "Enable EVPN Global Ethernet Segment submode"; + } + } + leaf evpn-global-transmit-mtu-zero { + type empty; + description + "Transmit MTU zero to remote for all EVIs"; + } + leaf evpn-global-mtu-mismatch-ignore { + type empty; + description + "Ignore mismatch between local and remote MTUs + for all EVIs."; + } + leaf evpn-global-mtu-match-enforce { + type empty; + description + "Enforce matching between local and remote MTUs + for all EVIs."; + } + leaf evpn-global-transmit-l2-mtu { + type empty; + description + "Transmit L2 MTU to remote for all EVIs"; + } + leaf evpn-staggered-bringup { + type uint32 { + range "0..300000"; + } + units "millisecond"; + default "5000"; + description + "Staggered bringup (milliseconds) timer"; + } + leaf evi-cost-out { + type empty; + description + "Configure node to cost-out"; + } + leaf evpn-source-interface { + type xr:Interface-name; + description + "Configure EVPN router-id implicitly through + Loopback Interface"; + } + leaf evpn-cost-in-startup { + type uint32 { + range "30..86400"; + } + units "second"; + description + "Cost-in node after given time (seconds) on + startup timer"; + } + } + leaf enable { + type empty; + description + "Enable EVPN feature"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub1.yang new file mode 100644 index 000000000..f6d785b97 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub1.yang @@ -0,0 +1,222 @@ +submodule Cisco-IOS-XR-l2vpn-oper-sub1 { + belongs-to Cisco-IOS-XR-l2vpn-oper { + prefix Cisco-IOS-XR-l2vpn-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2vpn package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "- Added new members to main-interface-info protect-type"; + semver:module-version "5.1.0"; + } + revision 2021-09-07 { + description + "- Added SRv6 nhop + 2021-08-24 + Updated l2vpn forwarding adjacencies to expose both interface and address information. + 2021-08-13 + - Changed flag-extension to 32bit + 2021-07-20 + - Added support for MAC is-cfm flag"; + semver:module-version "5.0.0"; + } + revision 2020-05-05 { + description + "changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-04-28 { + description + "- AC Backup related changes + 2020-01-22 + - PWGROUP related changes + 2019-12-20 + - EVPN-VPWS related changes - SR-TE policy related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2019-03-30 { + description + "- Rename l2fib-mac-learning-mac* interface-handle to interface-name - Rename l2fib-pw-group tunnel-if-handle to tunnel-interface-name - Convert several array from leaf-list to list syntax. - Implement range datatypes for all L2FIB integers."; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Iflist-rep-status { + type enumeration { + enum "invalid" { + value 0; + description + "Invalid"; + } + enum "pending" { + value 1; + description + "Pending"; + } + enum "done" { + value 2; + description + "Done"; + } + enum "not-supported" { + value 3; + description + "Not supported"; + } + enum "failed" { + value 4; + description + "Failed"; + } + } + description + "Interface list replication status"; + } + + grouping IFLIST-IFL { + description + "Generic interface list info"; + leaf interface-list-name { + type string { + length "0..33"; + } + description + "Interface-list name"; + } + leaf interface-list-id { + type uint32; + description + "Interface internal ID"; + } + leaf items { + type uint32; + description + "Number of items on which interface list is + replicated"; + } + leaf is-provisioned { + type boolean; + description + "Is Provisioned"; + } + leaf is-fib-downloaded { + type boolean; + description + "Is Interface list downloaded to FIB"; + } + list interface { + description + "Interfaces"; + uses IFLIST-IF; + } + } + + grouping IFLIST-IF { + description + "Interface info for Generic interface list"; + leaf interface-name { + type string; + description + "Interface name"; + } + leaf pending-replications { + type uint32; + description + "Number of pending replications"; + } + leaf not-supported-replications { + type uint32; + description + "Number of replications failed because + unsupported"; + } + leaf is-fib-downloaded { + type boolean; + description + "Is interface downloaded to FIB"; + } + } + + grouping ITEM-IFLIST-IF { + description + "Interface info for Generic interface list"; + leaf interface-name { + type string; + description + "Interface name"; + } + leaf replicate-status { + type Iflist-rep-status; + description + "Replicate status"; + } + } + + grouping ITEM-IFLIST-IFL { + description + "Generic interface list info"; + leaf interface-list-name { + type string { + length "0..33"; + } + description + "Interface-list name"; + } + leaf interface-list-id { + type uint32; + description + "Interface internal ID"; + } + list interface { + max-elements "32"; + description + "Interfaces"; + uses ITEM-IFLIST-IF; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub2.yang new file mode 100644 index 000000000..20a432464 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub2.yang @@ -0,0 +1,365 @@ +submodule Cisco-IOS-XR-l2vpn-oper-sub2 { + belongs-to Cisco-IOS-XR-l2vpn-oper { + prefix Cisco-IOS-XR-l2vpn-oper; + } + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2vpn package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "- Added new members to main-interface-info protect-type"; + semver:module-version "5.1.0"; + } + revision 2021-09-07 { + description + "- Added SRv6 nhop + 2021-08-24 + Updated l2vpn forwarding adjacencies to expose both interface and address information. + 2021-08-13 + - Changed flag-extension to 32bit + 2021-07-20 + - Added support for MAC is-cfm flag"; + semver:module-version "5.0.0"; + } + revision 2020-05-05 { + description + "changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-04-28 { + description + "- AC Backup related changes + 2020-01-22 + - PWGROUP related changes + 2019-12-20 + - EVPN-VPWS related changes - SR-TE policy related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2019-03-30 { + description + "- Rename l2fib-mac-learning-mac* interface-handle to interface-name - Rename l2fib-pw-group tunnel-if-handle to tunnel-interface-name - Convert several array from leaf-list to list syntax. - Implement range datatypes for all L2FIB integers."; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2vpn-pwhe-iflist-rep-status { + type enumeration { + enum "invalid" { + value 0; + description + "Invalid"; + } + enum "pending" { + value 1; + description + "Pending"; + } + enum "success" { + value 2; + description + "Success"; + } + enum "failed" { + value 3; + description + "Failed"; + } + enum "not-supported" { + value 4; + description + "Not supported"; + } + } + description + "Interface list replication status"; + } + + typedef L2vpn-pwhe-intf { + type enumeration { + enum "pseudowire-ether" { + value 0; + description + "PW Ether"; + } + enum "pseudowire-iw" { + value 1; + description + "PW IW"; + } + } + description + "Interface type"; + } + + typedef Pwhe-port-im-state { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown"; + } + enum "down" { + value 1; + description + "Down"; + } + enum "up" { + value 2; + description + "Up"; + } + } + description + "Pseudowire headend port states"; + } + + grouping L2VPN-PWHE-SUMMARY { + description + "Pseudowire headend summary"; + leaf interfaces { + type uint32; + description + "Number of PW-HE interfaces"; + } + leaf up-interfaces { + type uint32; + description + "Number of interfaces up"; + } + leaf down-interfaces { + type uint32; + description + "Number of interfaces down"; + } + leaf admin-down-interfaces { + type uint32; + description + "Number of interfaces admin down"; + } + leaf psuedowire-ether-interfaces { + type uint32; + description + "Number of PW-Ether interfaces"; + } + leaf up-psuedowire-ether-interfaces { + type uint32; + description + "Number of PW-Ether interfaces up"; + } + leaf down-pseudowire-ether-interfaces { + type uint32; + description + "Number of PW-Ether interfaces down"; + } + leaf admin-down-pseudowire-ether-interfaces { + type uint32; + description + "Number of PW-Ether interfaces admin down"; + } + leaf pseudowire-iw-interfaces { + type uint32; + description + "Number of PW-IW interfaces"; + } + leaf up-pseudowire-iw-interfaces { + type uint32; + description + "Number of PW-IW interfaces up"; + } + leaf down-pseudowire-iw-interfaces { + type uint32; + description + "Number of PW-IW interfaces down"; + } + leaf admin-down-pseudowire-iw-interfaces { + type uint32; + description + "Number of PW-IW interfaces admin down"; + } + } + + grouping L2VPN-PWHE-GENERIC-IFLIST-INTF { + description + "Pseudowire headend generic interface list"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf bundle-interface-name { + type xr:Interface-name; + description + "Bundle Interface name"; + } + leaf interface-state { + type Pwhe-port-im-state; + description + "Interface Status"; + } + leaf replicate-state { + type L2vpn-pwhe-iflist-rep-status; + description + "Replication status"; + } + leaf misconfigured { + type int32; + description + "Interface misconfigured"; + } + } + + grouping L2VPN-PWHE-GENERIC-IFLIST { + description + "Pseudowire headend generic-interface-list details"; + leaf generic-interface-list-name { + type string; + description + "Generic interface list name"; + } + leaf id { + type uint32; + description + "Generic interface list ID"; + } + list interface-detail { + description + "Interfaces"; + uses L2VPN-PWHE-GENERIC-IFLIST-INTF; + } + } + + grouping L2VPN-PWHE-MAC-ADDR { + description + "MAC Address"; + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + } + + grouping L2VPN-L2-ADDR-PWHE-DETAIL { + description + "L2VPN L2 ADDR PWHE DETAIL"; + container mac-address { + when "../interface-type = 'pseudowire-ether'" { + description + "../InterfaceType = 'PseudowireEther'"; + } + description + "MAC address"; + uses L2VPN-PWHE-MAC-ADDR; + } + leaf interface-type { + type L2vpn-pwhe-intf; + description + "InterfaceType"; + } + } + + grouping L2VPN-PWHE-DETAIL { + description + "Pseudowire headend detail"; + container l2-address { + description + "Layer2 Address"; + uses L2VPN-L2-ADDR-PWHE-DETAIL; + } + container generic-interface-list { + description + "Generic Interface List"; + uses L2VPN-PWHE-GENERIC-IFLIST; + } + leaf interface-state { + type Pwhe-port-im-state; + description + "Interface Status"; + } + leaf admin-state { + type Pwhe-port-im-state; + description + "Interface Admin Status"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth (Kbps)"; + } + leaf label { + type uint32; + description + "Label"; + } + leaf l2-overhead { + type uint32; + description + "L2 Overhead"; + } + leaf vctype { + type uint32; + description + "VC Type"; + } + leaf control-word { + type int32; + description + "Control Word"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub3.yang new file mode 100644 index 000000000..15ec0ac61 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub3.yang @@ -0,0 +1,8887 @@ +submodule Cisco-IOS-XR-l2vpn-oper-sub3 { + belongs-to Cisco-IOS-XR-l2vpn-oper { + prefix Cisco-IOS-XR-l2vpn-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-l2vpn-oper-sub1 { + revision-date 2022-03-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2vpn package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "- Added new members to main-interface-info protect-type"; + semver:module-version "5.1.0"; + } + revision 2021-09-07 { + description + "- Added SRv6 nhop + 2021-08-24 + Updated l2vpn forwarding adjacencies to expose both interface and address information. + 2021-08-13 + - Changed flag-extension to 32bit + 2021-07-20 + - Added support for MAC is-cfm flag"; + semver:module-version "5.0.0"; + } + revision 2020-05-05 { + description + "changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-04-28 { + description + "- AC Backup related changes + 2020-01-22 + - PWGROUP related changes + 2019-12-20 + - EVPN-VPWS related changes - SR-TE policy related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2019-03-30 { + description + "- Rename l2fib-mac-learning-mac* interface-handle to interface-name - Rename l2fib-pw-group tunnel-if-handle to tunnel-interface-name - Convert several array from leaf-list to list syntax. - Implement range datatypes for all L2FIB integers."; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2vpn-memory-state { + type enumeration { + enum "memory-state-unknown" { + value 0; + description + "Memory state Unknown"; + } + enum "memory-state-normal" { + value 1; + description + "Memory state Normal"; + } + enum "memory-state-minor" { + value 2; + description + "Memory state Minor"; + } + enum "memory-state-severe" { + value 3; + description + "Memory state Severe"; + } + enum "memory-state-critical" { + value 4; + description + "Memory state Critical"; + } + enum "memory-state-invalid" { + value 5; + description + "Memory state Invalid"; + } + } + description + "L2vpn memory state"; + } + + typedef L2vpn-ac-encap { + type enumeration { + enum "unknown-encap" { + value 0; + description + "unknown encap"; + } + enum "vlan" { + value 1; + description + "vlan"; + } + enum "qinq" { + value 2; + description + "qinq"; + } + enum "qin-any" { + value 3; + description + "qin any"; + } + enum "ethernet" { + value 4; + description + "ethernet"; + } + enum "atm-aal0" { + value 5; + description + "atm aal0"; + } + enum "atm-aal5" { + value 6; + description + "atm aal5"; + } + enum "atm-vp" { + value 7; + description + "atm vp"; + } + enum "atm-port" { + value 8; + description + "atm port"; + } + enum "hdlc" { + value 9; + description + "hdlc"; + } + enum "fr-dlci" { + value 10; + description + "fr dlci"; + } + enum "fr-dlci-local" { + value 11; + description + "fr dlci local"; + } + enum "ppp" { + value 12; + description + "ppp"; + } + enum "tdm-sa-to-p-e1" { + value 13; + description + "tdm sa to p e1"; + } + enum "tdm-sa-to-p-t1" { + value 14; + description + "tdm sa to p t1"; + } + enum "tdm-sa-to-p-e3" { + value 15; + description + "tdm sa to p e3"; + } + enum "tdm-sa-to-p-t3" { + value 16; + description + "tdm sa to p t3"; + } + enum "tdm-ce-so-psn" { + value 17; + description + "tdm ce so psn"; + } + enum "ip" { + value 18; + description + "ip"; + } + enum "vlan-encap" { + value 19; + description + "vlan encap"; + } + enum "dot1ad" { + value 20; + description + "dot1ad"; + } + enum "efp" { + value 21; + description + "efp"; + } + enum "bvi" { + value 22; + description + "bvi"; + } + enum "monitor-session" { + value 23; + description + "monitor session"; + } + enum "pseudowire-ether" { + value 24; + description + "pseudowire ether"; + } + enum "pseudowire-iw" { + value 25; + description + "pseudowire iw"; + } + enum "multi-segment-pseudowire" { + value 26; + description + "multi segment pseudowire"; + } + enum "pseudowire-l2-subinterface" { + value 27; + description + "pseudowire l2 subinterface"; + } + enum "virtual-network-interface" { + value 28; + description + "virtual network interface"; + } + enum "vlan-switched-port" { + value 29; + description + "vlan switched port"; + } + enum "vlan-switched-port-vlan" { + value 30; + description + "vlan switched port vlan"; + } + enum "circuit-emulation" { + value 31; + description + "circuit emulation"; + } + enum "encap-types-max" { + value 32; + description + "encap types max"; + } + } + description + "L2vpn ac encap"; + } + + typedef L2vpn-brief-psn { + type enumeration { + enum "ls" { + value 0; + description + "ls"; + } + enum "atom" { + value 1; + description + "atom"; + } + enum "l2tpv3" { + value 2; + description + "l2tpv3"; + } + enum "evpn-vpws" { + value 3; + description + "evpn vpws"; + } + enum "unknown-psn" { + value 4; + description + "unknown psn"; + } + } + description + "L2vpn brief psn"; + } + + typedef L2vpn-src-address-set { + type enumeration { + enum "unset" { + description + "Unset"; + } + enum "set" { + description + "Set"; + } + } + description + "L2vpn src address set"; + } + + typedef L2vpn-transport-mode { + type enumeration { + enum "l2vpn-transport-mode-not-specified" { + description + "Not specified"; + } + enum "l2vpn-transport-mode-ethernet" { + description + "Ethernet"; + } + enum "l2vpn-transport-mode-vlan" { + description + "VLAN"; + } + enum "l2vpn-transport-mode-vlan-passthrough" { + description + "VLAN Passthrough"; + } + } + description + "L2vpn transport mode"; + } + + typedef L2vpn-pw-class-control-word { + type enumeration { + enum "unset" { + value 0; + description + "Unset"; + } + enum "enable" { + value 1; + description + "Enable"; + } + enum "disable" { + value 2; + description + "Disable"; + } + } + description + "L2vpn pw class control word"; + } + + typedef L2vpn-g8032-uncfg-reason { + type enumeration { + enum "reason-none" { + description + "No reason"; + } + enum "ring-mp0-missing" { + description + "Main port0 missing"; + } + enum "ring-mp1-missing" { + description + "Main port1 missing"; + } + enum "inclusion-list-empty" { + description + "Inclusion list empty"; + } + enum "aps0-missing" { + description + "APS port0 missing"; + } + enum "aps0bp-notfound" { + description + "APS port0 not found as valid BP"; + } + enum "aps0-no-ac-ctx" { + description + "APS port0 has no valid AC context"; + } + enum "aps0-not-in-inclusion-list" { + description + "APS port0 not in inclusion list"; + } + enum "aps0-mismatched" { + description + "APS port0 mismatched with main port"; + } + enum "aps1-missing" { + description + "APS port1 missing"; + } + enum "aps1bp-notfound" { + description + "APS port1 not found as valid BP"; + } + enum "aps1-no-ac-ctx" { + description + "APS port1 has no valid AC context"; + } + enum "aps1-not-in-inclusion-list" { + description + "APS port1 not in inclusion list"; + } + enum "aps1-mismatched" { + description + "APS port1 mismatched with main port"; + } + enum "aps-unprovisioned" { + description + "APS AC unrpvosioned"; + } + } + description + "Unresolved reason for G8032 ring instance"; + } + + typedef L2vpn-g8032-rpl { + type enumeration { + enum "rpl-unknown" { + description + "No RPL info"; + } + enum "port0-owner" { + description + "Port 0 owner"; + } + enum "port0-neighbor" { + description + "Port 0 neighbor"; + } + enum "port0-next-neighbor" { + description + "Port 0 next neighbor"; + } + enum "port1-owner" { + description + "Port 1 owner"; + } + enum "port1-neighbor" { + description + "Port 1 neighbor"; + } + enum "port1-next-neighbor" { + description + "Port 1 next neighbor"; + } + } + description + "RPL types in g8032 ring"; + } + + typedef L2vpn-ipc-transport-mode { + type enumeration { + enum "unicast" { + value 0; + description + "L2VPN Unicast IPC transport mode"; + } + enum "broadcast" { + value 1; + description + "L2VPN Broadcast IPC transport mode"; + } + enum "unknown" { + value 2; + description + "L2VPN Unknown IPC transport mode"; + } + } + description + "L2vpn ipc transport mode"; + } + + typedef L2vpn-vni-mode { + type enumeration { + enum "l2vpn-vni-mode-l2-dp" { + description + "Data Plane L2 Service"; + } + enum "l2vpn-vni-mode-l3-dp" { + description + "Data Plane L3 Service"; + } + enum "l2vpn-vni-mode-l2-cp" { + description + "Control Plane L2 Service"; + } + enum "l2vpn-vni-mode-l3-cp" { + description + "Control Plane L3 Service"; + } + } + description + "L2vpn vni mode"; + } + + typedef L2vpn-vni-encaps { + type enumeration { + enum "l2vpn-vni-encap-vxlan" { + description + "VXLAN"; + } + enum "l2vpn-vni-encap-softgre" { + description + "SOFTGRE"; + } + } + description + "L2vpn vni encaps"; + } + + typedef L2vpn-evpn-encap { + type enumeration { + enum "l2vpn-bag-evpn-encap-unknown" { + value 0; + description + "Unknown encapsulation"; + } + enum "l2vpn-bag-evpn-encap-vxlan" { + value 8; + description + "VxLAN Encapsulation"; + } + enum "l2vpn-bag-evpn-encap-mpls" { + value 10; + description + "MPLS Encapsulation"; + } + enum "l2vpn-bag-evpn-encap-es-global" { + value 253; + description + "ES Global"; + } + enum "l2vpn-bag-evpn-encap-route-sync" { + value 254; + description + "EVPN Route Sync"; + } + enum "l2vpn-bag-evpn-encap-srv6" { + value 255; + description + "SRv6 Encapsulation"; + } + } + description + "EVPN Encapsulation Type"; + } + + typedef L2vpn-mirp-lite-protocol-info { + type enumeration { + enum "vlan0" { + description + "MVRP PDU using Vlan0"; + } + enum "none" { + description + "none"; + } + } + description + "L2vpn mirp lite protocol info"; + } + + typedef L2vpn-mirp-lite-status { + type enumeration { + enum "enabled" { + description + "Supported, enabled"; + } + enum "not-supported" { + description + "Not supported"; + } + } + description + "L2vpn mirp lite status"; + } + + typedef L2vpn-virtualport-state { + type enumeration { + enum "l2vpn-vp-state-undefined" { + description + "Undefined"; + } + enum "l2vpn-vp-state-up" { + description + "Up"; + } + enum "l2vpn-vp-state-down" { + description + "Down"; + } + } + description + "L2vpn virtualport state"; + } + + typedef L2vpn-bridge { + type enumeration { + enum "l2vpn-bridge-type-default" { + value 0; + description + "Regular none PBB bridge"; + } + enum "l2vpn-bridge-type-pbb-edge" { + value 1; + description + "PBB edge bridge"; + } + enum "l2vpn-bridge-type-pbb-core" { + value 2; + description + "PBB core bridge"; + } + } + description + "L2vpn bridge"; + } + + typedef P2mp-transport-state { + type enumeration { + enum "none" { + description + "no information about the transport yet"; + } + enum "ok" { + description + "transport up"; + } + enum "error" { + description + "transport error"; + } + enum "tunnel-down" { + description + "tunnel is down"; + } + enum "max-tunnels-reached" { + description + "transport down because the maximum number of + tunnels is reached"; + } + } + description + "P2mp transport state"; + } + + typedef L2vpn-vfi-p2mp-signaling { + type enumeration { + enum "none" { + description + "undefined signaling"; + } + enum "bgp" { + description + "BGP signaling"; + } + } + description + "L2vpn vfi p2mp signaling"; + } + + typedef L2vpn-vfi-p2mp-transport { + type enumeration { + enum "none" { + description + "undefined transport"; + } + enum "rsvp-te" { + description + "RSVP-TE transport"; + } + } + description + "L2vpn vfi p2mp transport"; + } + + typedef L2vpn-vfi-state { + type enumeration { + enum "unknown" { + value 0; + description + "VFI Unknown"; + } + enum "up" { + value 1; + description + "VFI Up"; + } + enum "down" { + value 2; + description + "VFI Down"; + } + enum "admin-down" { + value 3; + description + "VFI Admin Down"; + } + } + description + "L2vpn vfi state"; + } + + typedef L2vpn-bag-mac-withdraw-option { + type enumeration { + enum "mac-withdraw-option-state-up" { + description + "Mac withdraw on state up"; + } + enum "mac-withdraw-option-state-down" { + description + "Mac withdraw on state down"; + } + enum "mac-withdraw-option-optimize" { + description + "Optimized Mac withdraw"; + } + } + description + "L2vpn bag mac withdraw option"; + } + + typedef L2vpn-bridge-coupled-state { + type enumeration { + enum "disabled" { + value 0; + description + "Coupled mode disabled"; + } + enum "down" { + value 2; + description + "Coupled state down"; + } + enum "up" { + value 3; + description + "Coupled state up"; + } + } + description + "L2vpn bridge coupled state"; + } + + typedef L2vpn-bridge-state { + type enumeration { + enum "bridge-init" { + value 0; + description + "Bridge Init State"; + } + enum "bridge-up" { + value 1; + description + "Bridge Up"; + } + enum "bridge-down" { + value 2; + description + "Bridge Down"; + } + enum "bridge-admin-down" { + value 3; + description + "Bridge Admin Down"; + } + } + description + "L2vpn bridge state"; + } + + typedef L2vpn-bag-l2mc-src-traffic { + type enumeration { + enum "l2mc-none" { + value 0; + description + "L2MC Source Traffic None"; + } + enum "l2mcipv4" { + value 1; + description + "L2MC Source Traffic:IPv4"; + } + enum "l2mcipv6" { + value 2; + description + "L2MC Source Traffic:IPv6"; + } + enum "l2mcipv4ipv6" { + value 3; + description + "L2MC Source Traffic:IPv4/IPv6"; + } + } + description + "L2vpn bag l2mc src traffic"; + } + + typedef L2vpn-bag-storm-control-rate-unit { + type enumeration { + enum "pps" { + description + "Packets Per Second"; + } + enum "kb-ps" { + description + "Kilobits Per Second"; + } + } + description + "Storm Control Rate Unit Type"; + } + + typedef L2vpn-bag-mac-secure-action { + type enumeration { + enum "not-set" { + value 0; + description + "MAC Secure Action Not Set"; + } + enum "restrict" { + value 1; + description + "MAC Secure Action Restrict"; + } + enum "none" { + value 2; + description + "MAC Secure Action None"; + } + enum "shutdown" { + value 3; + description + "MAC Secure Action Shutdown"; + } + } + description + "L2vpn bag mac secure action"; + } + + typedef L2vpn-bag-mac-aging-mode { + type enumeration { + enum "aging-none" { + value 0; + description + "MAC Aging None"; + } + enum "aging-absolute" { + value 1; + description + "Mac Aging Absolute"; + } + enum "aging-inactivity" { + value 2; + description + "Mac Aging Inactivity"; + } + } + description + "L2vpn bag mac aging mode"; + } + + typedef L2vpn-bag-mac-limit-notify { + type enumeration { + enum "mac-limit-notify-none" { + value 0; + description + "MAC Limit Notify None"; + } + enum "mac-limit-notify-syslog" { + value 1; + description + "MAC Limit Notify Syslog"; + } + enum "mac-limit-notify-trap" { + value 2; + description + "MAC Limit Notify Trap"; + } + enum "mac-limit-notify-syslog-trap" { + value 3; + description + "MAC Limit Notify Syslog and Trap"; + } + enum "mac-limit-notify-no-config" { + value 4; + description + "MAC Limit Notify No Config"; + } + } + description + "L2vpn bag mac limit notify"; + } + + typedef L2vpn-bag-mac-limit-action { + type enumeration { + enum "limit-none" { + value 0; + description + "MAC Limit Action None"; + } + enum "limit-flood" { + value 1; + description + "MAC Limit Action Flood"; + } + enum "limit-no-flood" { + value 2; + description + "MAC Limit Action No Flood"; + } + enum "limit-shutdown" { + value 3; + description + "MAC Limit Action Shut"; + } + enum "limit-no-config" { + value 4; + description + "Mac Limit Action No Config"; + } + } + description + "L2vpn bag mac limit action"; + } + + typedef L2vpn-msti-state { + type enumeration { + enum "msti-bag-stp-port-state-forwarding" { + description + "msti bag stp port state forwarding"; + } + enum "msti-bag-stp-port-state-blocked" { + description + "msti bag stp port state blocked"; + } + enum "msti-bag-stp-port-state-mac-learning" { + description + "msti bag stp port state mac learning"; + } + enum "msti-bag-stp-port-state-nack" { + description + "msti bag stp port state nack"; + } + enum "msti-bag-stp-port-state-forwarding-not-useful" { + description + "msti bag stp port state forwarding not useful"; + } + enum "msti-bag-stp-port-state-blocked-not-useful" { + description + "msti bag stp port state blocked not useful"; + } + enum "msti-bag-stp-port-state-mac-learning-not-useful" { + description + "msti bag stp port state mac learning not useful"; + } + enum "msti-bag-erp-port-state-blocked-data-only" { + description + "msti bag erp port state blocked data only"; + } + enum "msti-bag-erp-port-state-evpn-mcast-pe2ce-blocked" { + description + "msti bag erp port state evpn mcast pe2ce + blocked"; + } + enum "msti-bag-erp-port-state-evpn-port-state-mcast-blocked" { + description + "msti bag erp port state evpn port state mcast + blocked"; + } + } + description + "L2VPN MSTI state"; + } + + typedef L2vpn-ad-rt { + type enumeration { + enum "l2vpn-ad-rt-none" { + value 0; + description + "Route target not set"; + } + enum "l2vpn-ad-rt-as" { + value 1; + description + "Route Target with 2 Byte AS number"; + } + enum "l2vpn-ad-rt-4byte-as" { + value 2; + description + "Route Target with 4 Byte AS number"; + } + enum "l2vpn-ad-rt-v4-addr" { + value 3; + description + "Route Target with IPv4 Address"; + } + enum "es-import" { + value 1538; + description + "Ethernet Segment Route Target from BGP"; + } + } + description + "L2vpn ad rt"; + } + + typedef L2vpn-bag-ad-encap { + type enumeration { + enum "l2vpn-bag-ad-encap-not-specified" { + description + "Not Specified"; + } + enum "l2vpn-bag-ad-encap-ether-vlan" { + description + "Ether VLAN"; + } + enum "l2vpn-bag-ad-encap-ether" { + description + "Ethernet"; + } + } + description + "L2VPN AD Encapsulation"; + } + + typedef L2vpn-xc-state { + type enumeration { + enum "l2vpn-xc-state-unresolved" { + description + "Unresolved"; + } + enum "l2vpn-xc-state-down" { + description + "Down"; + } + enum "l2vpn-xc-state-up" { + description + "Up"; + } + } + description + "L2vpn xc state"; + } + + typedef Evpn-vpws-reason { + type enumeration { + enum "none" { + description + "No Issues"; + } + enum "ac-down" { + description + "AC down"; + } + enum "acparent-down" { + description + "AC parent down"; + } + enum "no-remote-ead" { + description + "No remote EVI EAD"; + } + enum "remote-ead-conflict" { + description + "Conflicting remote EADs"; + } + enum "no-remote-esead" { + description + "No remote ES EAD"; + } + enum "remote-unreachable" { + description + "Remote is not reachable"; + } + enum "no-internal-id" { + description + "No internal ID"; + } + enum "no-internal-label" { + description + "No internal label"; + } + enum "waiting-path-resolution" { + description + "Waiting for path resolution"; + } + enum "mtu-mismatch" { + description + "MTU mismatch"; + } + enum "cw-mismatch" { + description + "CW mismatch"; + } + enum "bad-remote-label" { + description + "Bad remote label"; + } + enum "bad-remote-sid" { + description + "Bad remote SID"; + } + enum "no-local-label" { + description + "No local MPLS label"; + } + enum "no-local-sid" { + description + "No local SRv6 SID"; + } + enum "srv6-not-enabled" { + description + "SRv6 is not enabled for EVPN"; + } + enum "locator-not-resolved" { + description + "SRv6 locator not resolved"; + } + enum "no-locator-config" { + description + "SRv6 locator not configured for this service"; + } + enum "waiting-df-election" { + description + "Waiting DF election result"; + } + enum "not-primary-df" { + description + "Not primary DF"; + } + enum "no-pwhe-internal-label" { + description + "No PWHE internal label"; + } + enum "evpn-vpws-reason-max" { + description + "evpn vpws reason max"; + } + } + description + "Evpn vpws reason"; + } + + typedef L2vpn-p2mp-pw-ptree { + type enumeration { + enum "none" { + description + "None"; + } + enum "rsvp-te" { + description + "RSVP TE"; + } + enum "mldp" { + description + "MLDP"; + } + } + description + "L2vpn p2mp pw ptree"; + } + + typedef L2vpn-pw-flow-label { + type enumeration { + enum "off" { + description + "Flow label is off"; + } + enum "receive" { + description + "Flow label is enabled on the receive side"; + } + enum "transmit" { + description + "Flow label is enabled on the transmit side"; + } + enum "both" { + description + "Flow label is enabled on both transmit and + receive sides"; + } + } + description + "Pseudowire flow label load balance types"; + } + + typedef L2vpn-load-bal { + type enumeration { + enum "not-supported" { + value 0; + description + "Load Balance Flow Not Supported"; + } + enum "source-dest-mac" { + value 1; + description + "Load Balance Flow src-dst-mac"; + } + enum "source-dest-ip" { + value 2; + description + "Load Balance Flow src-dst-ip"; + } + enum "undefined" { + value 3; + description + "Load Balance Flow Undefined"; + } + enum "pseudowire-label" { + value 4; + description + "Load Balance PW Label based"; + } + } + description + "L2vpn load bal"; + } + + typedef L2vpn-prefpath-option { + type enumeration { + enum "l2vpn-pw-mpls-pref-path-not-specified" { + value 0; + description + "Not Secified"; + } + enum "l2vpn-pw-mpls-pref-path-next-hop-ip" { + value 1; + description + "Next Hop IP"; + } + enum "l2vpn-pw-mpls-pref-path-te-tunnel" { + value 2; + description + "TE Tunnel"; + } + enum "l2vpn-pw-mpls-pref-path-ip-tunnel" { + value 3; + description + "IP Tunnel"; + } + enum "l2vpn-pw-mpls-pref-path-tp-tunnel" { + value 4; + description + "TP Tunnel"; + } + enum "l2vpn-pw-mpls-pref-path-sr-te" { + value 5; + description + "SR TE Policy"; + } + enum "l2vpn-pw-mpls-pref-path-te-named-tunnel" { + value 8; + description + "Named TE Tunnel"; + } + } + description + "Preferred Path Option"; + } + + typedef L2vpn-pw { + type enumeration { + enum "l2vpn-pw-type-unknown" { + description + "Unknown"; + } + enum "l2vpn-pw-type-frame-relay-dlci" { + description + "Frame Relay DLCI"; + } + enum "l2vpn-pw-type-atm-aal5-sdu" { + description + "ATM AAL5 SDU VCC transport"; + } + enum "l2vpn-pw-type-atm-trans-cell" { + description + "ATM transparent cell transport"; + } + enum "l2vpn-pw-type-ether-vlan" { + description + "Ethernet VLAN tagged mode "; + } + enum "l2vpn-pw-type-ether" { + description + "Ethernet"; + } + enum "l2vpn-pw-type-hdlc" { + description + "HDLC"; + } + enum "l2vpn-pw-type-ppp" { + description + "PPP"; + } + enum "l2vpn-pw-type-sonet-over-mpls" { + description + "SONET/SDH Circuit Emulation Service Over MPLS + (CEM)"; + } + enum "l2vpn-pw-type-atm-n-vcc-cell" { + description + "ATM n-to-one VCC cell transport"; + } + enum "l2vpn-pw-type-atm-n-vpc-cell" { + description + "ATM n-to-one VPC cell transport"; + } + enum "l2vpn-pw-type-ip" { + description + "IP Layer2 Transport"; + } + enum "l2vpn-pw-type-atm-vcc-cell" { + description + "ATM one-to-one VCC cell transport"; + } + enum "l2vpn-pw-type-atm-vpc-cell" { + description + "ATM one-to-one VPC cell transport"; + } + enum "l2vpn-pw-type-atm-aal5-pdu" { + description + "ATM AAL5 PDU VCC transport"; + } + enum "l2vpn-pw-type-frame-relay" { + description + "Frame Relay port mode"; + } + enum "l2vpn-pw-type-sonet" { + description + "SONET/SDH Circuit"; + } + enum "l2vpn-pw-type-vpls" { + description + "VPLS"; + } + enum "l2vpn-pw-type-tdm-sa-to-p-e1" { + description + "TDM E1"; + } + enum "l2vpn-pw-type-tdm-sa-to-p-t1" { + description + "TDM T1"; + } + enum "l2vpn-pw-type-tdm-sa-to-p-e3" { + description + "TDM E3"; + } + enum "l2vpn-pw-type-tdm-sa-to-p-t3" { + description + "TDM T3"; + } + enum "l2vpn-pw-type-tdm-ce-so-psn" { + description + "TDM CES over PSN"; + } + } + description + "L2vpn pw"; + } + + typedef L2vpn-pw-control-word { + type enumeration { + enum "l2vpn-pw-control-word-unknown" { + description + "Unknown"; + } + enum "l2vpn-pw-control-word-clear" { + description + "Clear"; + } + enum "l2vpn-pw-control-word-set" { + description + "Set"; + } + enum "l2vpn-pw-control-word-mandatory" { + description + "Mandatory"; + } + } + description + "L2vpn pw control word"; + } + + typedef Evpn-bag-path-issues { + type enumeration { + enum "unknown" { + description + "Unknown Issue"; + } + enum "invalid-transport-id" { + description + "Invalid Transport ID"; + } + enum "sid-format-mismatch" { + description + "SIDs Do Not Match Local Format"; + } + enum "control-word-mismatch" { + description + "Control Word Mismatch"; + } + enum "mtu-mismatch" { + description + "MTU Mismatch"; + } + enum "nhafi-not-supported" { + description + "NH AFI Not Supported"; + } + } + description + "Evpn bag path issues"; + } + + typedef Evpn-bag-l2-attr-cw { + type enumeration { + enum "unspecified" { + description + "Control Word Not Specified"; + } + enum "disabled" { + description + "Control Word Disabled"; + } + enum "enabled" { + description + "Control Word Enabled"; + } + } + description + "Evpn bag l2 attr cw"; + } + + typedef Evpn-bag-df-role { + type enumeration { + enum "invalid" { + description + "Designated Forwarder Role Not Specified"; + } + enum "primary" { + description + "Designated Forwarder Role Primary"; + } + enum "backup" { + description + "Designated Forwarder Role Backup"; + } + enum "not-designated-forwarder" { + description + "No Designated Forwarder Role"; + } + } + description + "Evpn bag df role"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Mgmt-srv6-headend { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "transit" { + description + "T (Pure transit)"; + } + enum "h-insert" { + description + "H.Insert"; + } + enum "h-insert-red" { + description + "H.Insert.Red"; + } + enum "h-encaps" { + description + "H.Encaps"; + } + enum "h-encaps-red" { + description + "H.Encaps.Red"; + } + enum "h-encaps-l2" { + description + "H.Encaps.L2"; + } + enum "h-encaps-l2-red" { + description + "H.Encaps.L2.Red"; + } + } + description + "SRv6 Headend Behavior Type"; + } + + typedef L2vpn-l2tp-tunnel-state { + type enumeration { + enum "l2vpn-l2tp-idle" { + description + "Idle"; + } + enum "l2vpn-l2tp-wait-for-connecting" { + description + "Wait for connecting"; + } + enum "l2vpn-l2tp-wait-for-connected" { + description + "Wait for connected"; + } + enum "l2vpn-l2tp-in-coming-call" { + description + "Incoming call"; + } + enum "l2vpn-l2tp-connected" { + description + "Connected"; + } + enum "l2vpn-l2tp-disconnected" { + description + "Disconnected"; + } + } + description + "L2vpn l2tp tunnel state"; + } + + typedef L2vpn-tos-mode { + type enumeration { + enum "l2vpn-pw-ip-tos-none" { + description + "None"; + } + enum "l2vpn-pw-ip-tos-reflect" { + description + "Reflect the TOS"; + } + } + description + "L2vpn tos mode"; + } + + typedef L2vpn-encap-method { + type enumeration { + enum "l2vpn-pw-encaps-not-specified" { + description + "Not Specified"; + } + enum "l2vpn-pw-encaps-l2tpv3" { + description + "L2TPv3 encapsulation"; + } + enum "l2vpn-pw-encaps-l2tpv2" { + description + "L2TPv2 encapsulation"; + } + enum "l2vpn-pw-encaps-mpls" { + description + "MPLS encapsulation"; + } + enum "l2vpn-pw-encaps-srv6" { + description + "SRv6 encapsulation"; + } + enum "l2vpn-pw-encaps-unknown" { + description + "Unknown"; + } + } + description + "Encapsulation Method"; + } + + typedef L2vpn-pw-sequence { + type enumeration { + enum "l2vpn-pw-sequence-off" { + description + "Sequencing is Off"; + } + enum "l2vpn-pw-sequence-xmit" { + description + "Sequencing on the transmit side"; + } + enum "l2vpn-pw-sequence-recv" { + description + "Sequencing on the receive side"; + } + enum "l2vpn-pw-sequence-trans" { + description + "Sequencing is transparent"; + } + enum "l2vpn-pw-sequence-both" { + description + "Sequencing on both sides"; + } + } + description + "L2vpn pw sequence"; + } + + typedef L2vpn-signalling-proto { + type enumeration { + enum "l2vpn-pw-sig-not-specified" { + description + "Not specified"; + } + enum "l2vpn-pw-sig-none" { + description + "Static"; + } + enum "l2vpn-pw-sig-l2tpv3" { + description + "L2TPv3 signaling"; + } + enum "l2vpn-pw-sig-l2tpv2" { + description + "L2TPv2 signaling"; + } + enum "l2vpn-pw-sig-ldp" { + description + "LDP"; + } + enum "l2vpn-pw-sig-bgp" { + description + "BGP"; + } + } + description + "L2vpn signalling proto"; + } + + typedef L2vpn-pw-state { + type enumeration { + enum "l2vpn-pw-state-unresolved" { + description + "Unresolved"; + } + enum "l2vpn-pw-state-idle" { + description + "Idle"; + } + enum "l2vpn-pw-state-provisioned" { + description + "Provisioned"; + } + enum "l2vpn-pw-state-remote-standby" { + description + "Remote standby"; + } + enum "l2vpn-pw-state-local-ready" { + description + "Local ready"; + } + enum "l2vpn-pw-state-all-ready" { + description + "All ready"; + } + enum "l2vpn-pw-state-established" { + description + "Established"; + } + } + description + "L2vpn pw state"; + } + + typedef L2vpn-bag-in6-addr { + type inet:ipv6-address; + description + "L2vpn bag in6 addr"; + } + + typedef L2vpn-peer { + type enumeration { + enum "none" { + description + "None"; + } + enum "ipv4" { + description + "IPv4"; + } + enum "ipv6" { + description + "IPv6"; + } + enum "internal-label" { + description + "Internal Label"; + } + enum "internal-id" { + description + "Internal ID"; + } + } + description + "L2vpn peer"; + } + + typedef L2vpn-protection-role { + type enumeration { + enum "l2vpn-protection-primary" { + description + "Segment configured as primary"; + } + enum "l2vpn-protection-backup" { + description + "Segment configured as backup"; + } + } + description + "L2VPN Configurable protection roles"; + } + + typedef L2vpn-protection { + type enumeration { + enum "l2vpn-protection-unknown" { + description + "Unknown type of protection"; + } + enum "l2vpn-protection-interface" { + description + "Interface protection type"; + } + enum "l2vpn-protection-pseudowire" { + description + "PW protection type"; + } + enum "l2vpn-protection-group" { + description + "Group protection type "; + } + } + description + "L2VPN Protection types"; + } + + typedef L2vpn-rg-state { + type enumeration { + enum "unknown" { + description + "Not defined"; + } + enum "active" { + description + "Active"; + } + enum "standby" { + description + "Standby"; + } + } + description + "L2vpn rg state"; + } + + typedef L2vpn-interworking { + type enumeration { + enum "l2vpn-iw-type-none" { + description + "None"; + } + enum "l2vpn-iw-type-ethernet" { + description + "Ethernet"; + } + enum "l2vpn-iw-type-ppp" { + description + "PPP"; + } + enum "l2vpn-iw-type-ipv4" { + description + "IPv4"; + } + enum "l2vpn-iw-type-voluntary" { + description + "Voluntary"; + } + enum "l2vpn-iw-type-frf8" { + description + "FRF8"; + } + } + description + "L2vpn interworking"; + } + + typedef L2vpn-segment-state { + type enumeration { + enum "l2vpn-segment-state-unresolved" { + description + "Unresolved"; + } + enum "l2vpn-segment-state-up" { + description + "Up"; + } + enum "l2vpn-segment-state-down" { + description + "Down"; + } + enum "l2vpn-segment-state-admin-down" { + description + "Admin down"; + } + enum "l2vpn-segment-state-local-up" { + description + "Local up"; + } + enum "l2vpn-segment-state-remote-up" { + description + "Remote up"; + } + enum "l2vpn-segment-state-connected" { + description + "Connected"; + } + enum "l2vpn-segment-state-standby" { + description + "Standby"; + } + enum "l2vpn-segment-state-standby-ready" { + description + "Standby Ready"; + } + enum "l2vpn-segment-state-standby-inactive" { + description + "Standby Inactive"; + } + } + description + "L2vpn segment state"; + } + + typedef L2vpn-fr-mode { + type enumeration { + enum "l2vpn-fr-port-mode" { + description + "Frame Relay port mode"; + } + enum "l2vpn-fr-dlci-mode" { + description + "Frame Relay DLCI mode"; + } + } + description + "L2vpn fr mode"; + } + + typedef L2vpn-atm-mode { + type enumeration { + enum "l2vpn-atm-port-mode" { + description + "ATM port mode"; + } + enum "l2vpn-atm-vp-mode" { + description + "ATM Virtual Path mode"; + } + enum "l2vpn-atm-vc-mode" { + description + "ATM Virtual Channel mode"; + } + } + description + "L2vpn atm mode"; + } + + typedef L2vpn-time-stamp-mode { + type enumeration { + enum "unknown" { + description + "Unknown time stamp mode"; + } + enum "differential" { + description + "Differential time stamp mode"; + } + enum "absolute" { + description + "Absolute Time Stamp mode"; + } + enum "none" { + description + "time stamp mode none"; + } + } + description + "L2VPN TDM Time stamp modes"; + } + + typedef L2vpn-tdm-rtp-option { + type enumeration { + enum "unknown" { + description + "Unknown RTP option"; + } + enum "present" { + description + "RTP option present"; + } + enum "absent" { + description + "RTP option absent"; + } + } + description + "L2VPN TDM RTP option"; + } + + typedef L2vpn-tdm-mode { + type enumeration { + enum "unknown" { + description + "Unknown mode"; + } + enum "ce-so-psn" { + description + "CESoPSN mode"; + } + enum "sa-to-p-e1" { + description + "SAToP E1 mode"; + } + enum "sa-to-p-t1" { + description + "SAToP T1 mode"; + } + enum "sa-to-p-e3" { + description + "SAToP E3 mode"; + } + enum "sa-to-p-t3" { + description + "SAToP T3 mode"; + } + } + description + "L2VPN TDM modes"; + } + + typedef L2vpn-interface { + type enumeration { + enum "l2vpn-intf-type-unknown" { + description + "Unknown"; + } + enum "l2vpn-intf-type-ethernet" { + description + "Ethernet"; + } + enum "l2vpn-intf-type-vlan" { + description + "Ethernet Vlan"; + } + enum "l2vpn-intf-type-atm" { + description + "ATM"; + } + enum "l2vpn-intf-type-frame-relay" { + description + "Frame Relay"; + } + enum "l2vpn-intf-type-hdlc" { + description + "HDLC"; + } + enum "l2vpn-intf-type-ppp" { + description + "PPP"; + } + enum "l2vpn-intf-type-span" { + description + "SPAN"; + } + enum "l2vpn-intf-type-bvi" { + description + "BVI"; + } + enum "l2vpn-intf-type-cem" { + description + "CEM"; + } + enum "l2vpn-intf-type-pw-ether" { + description + "PsuedowireEther"; + } + enum "l2vpn-intf-type-pw-iw" { + description + "PsuedowireIW"; + } + enum "l2vpn-intf-type-vni" { + description + "VXLAN"; + } + } + description + "L2vpn interface"; + } + + typedef L2vpn-segment { + type enumeration { + enum "l2vpn-segment-type-unresolved" { + description + "Unresolved segment"; + } + enum "l2vpn-segment-type-ac" { + description + "Attachment circuit segment"; + } + enum "l2vpn-segment-type-pw" { + description + "Pseudowire segment"; + } + enum "l2vpn-segment-type-bd-ac" { + description + "Bridge domain attachment circuit"; + } + enum "l2vpn-segment-type-vfi" { + description + "Virtual forwarding instance segment"; + } + enum "l2vpn-segment-type-bd-pw" { + description + "Bridge Pseudowire"; + } + enum "l2vpn-segment-type-bd-pbb" { + description + "Bridge domain PBB segment"; + } + enum "l2vpn-segment-type-bd-evpn" { + description + "Bridge domain EVPN segment"; + } + enum "l2vpn-segment-type-vni" { + description + "VxLAN Network Identifier (VNI) segment"; + } + } + description + "L2vpn segment"; + } + + typedef L2vpn-ad-rd { + type enumeration { + enum "l2vpn-ad-rd-none" { + value 0; + description + "Route Distinguisher not set"; + } + enum "l2vpn-ad-rd-auto" { + value 1; + description + "Route Distinguisher auto-generated"; + } + enum "l2vpn-ad-rd-as" { + value 2; + description + "Route Distinguisher with 2 Byte AS number"; + } + enum "l2vpn-ad-rd-4byte-as" { + value 3; + description + "Route Distinguisher with 4 Byte AS number"; + } + enum "l2vpn-ad-rd-v4-addr" { + value 4; + description + "Route Distinguisher with IPv4 Address"; + } + } + description + "L2vpn ad rd"; + } + + typedef L2vpn-pw-fec { + type enumeration { + enum "l2vpn-pw-fec-128" { + value 0; + description + "FEC 128 pseudowire type"; + } + enum "l2vpn-pw-fec-129" { + value 1; + description + "FEC 129 pseudowire type"; + } + enum "l2vpn-pw-fec-not-applicable" { + value 268435455; + description + "FEC Not Applicable"; + } + } + description + "L2vpn pw fec"; + } + + typedef L2vpn-pw-id { + type enumeration { + enum "l2vpn-pw-id-type-manual" { + value 1; + description + "Manual"; + } + enum "l2vpn-pw-id-type-ad-vpls" { + value 2; + description + "AD VPLS"; + } + enum "l2vpn-pw-id-type-ad-vpws" { + value 3; + description + "AD VPWS"; + } + enum "l2vpn-pw-id-type-ad-vpls-ldp" { + value 4; + description + "AD VPLS-LDP"; + } + enum "l2vpn-pw-id-type-pwr" { + value 5; + description + "PWR"; + } + enum "l2vpn-pw-id-type-evpn" { + value 6; + description + "EVPN"; + } + } + description + "L2vpn pw id"; + } + + typedef L2vpn-preferred { + type enumeration { + enum "te-tunnel" { + value 0; + description + "TE Tunnel"; + } + enum "ip-tunnel" { + value 1; + description + "IP Tunnel"; + } + enum "tp-tunnel" { + value 2; + description + "TP Tunnel"; + } + enum "mte-tunnel" { + value 3; + description + "mTE"; + } + enum "mldp-tunnel" { + value 4; + description + "mLDP"; + } + enum "sr-te-policy" { + value 5; + description + "SR TE Policy"; + } + enum "te-named-tunnel" { + value 8; + description + "Named TE Tunnel"; + } + } + description + "Preferred Type"; + } + + typedef L2vpn-ha-nsr-not-ready-reason { + type enumeration { + enum "collab-time-out" { + description + "Collaborator connection time out"; + } + enum "collab-conntection-idt" { + description + "Collaborator connection down or IDT not done"; + } + enum "nsr-peer-not-connected" { + description + "NSR peer not connected"; + } + enum "nsr-peer-not-in-sync" { + description + "NSR peer not in sync"; + } + } + description + "L2vpn ha nsr not ready reason"; + } + + typedef L2vpn-sync-status { + type enumeration { + enum "not-ready" { + description + "Not Ready"; + } + enum "ready" { + description + "Ready"; + } + } + description + "L2vpn sync status"; + } + + typedef L2vpn-id-mgr-app-bag { + type enumeration { + enum "l2vpn-id-mgr-app-bag-type-virtual-ac" { + description + "Virtual AC"; + } + enum "l2vpn-id-mgr-app-bag-type-ac" { + description + "AC"; + } + enum "l2vpn-id-mgr-app-bag-type-pw" { + description + "PW"; + } + enum "l2vpn-id-mgr-app-bag-type-bd" { + description + "BD"; + } + enum "l2vpn-id-mgr-app-bag-type-fxc" { + description + "FXC"; + } + enum "l2vpn-id-mgr-app-bag-type-mp2mp" { + description + "MP2MP"; + } + enum "l2vpn-id-mgr-app-bag-type-rd" { + description + "RD"; + } + enum "l2vpn-id-mgr-app-bag-type-pbb" { + description + "PBB"; + } + enum "l2vpn-id-mgr-app-bag-type-if-list" { + description + "IFLIST"; + } + enum "l2vpn-id-mgr-app-bag-type-atom" { + description + "ATOM"; + } + enum "l2vpn-id-mgr-app-bag-type-global" { + description + "GLOBAL"; + } + enum "l2vpn-id-mgr-app-bag-type-pw-group" { + description + "PWGROUP"; + } + enum "l2vpn-id-mgr-app-bag-type-evpn" { + description + "EVPN"; + } + enum "l2vpn-id-mgr-app-bag-type-evpn-lbl" { + description + "EVPN LBL"; + } + enum "l2vpn-id-mgr-app-bag-type-evpn-rd" { + description + "EVPN RD"; + } + enum "l2vpn-id-mgr-app-bag-type-ital" { + description + "ITAL"; + } + enum "l2vpn-id-mgr-app-bag-type-bp" { + description + "BP"; + } + enum "l2vpn-id-mgr-app-bag-type-evpn-tep" { + description + "EVPN TEP"; + } + enum "l2vpn-id-mgr-app-bag-type-evpn-es" { + description + "EVPN ES"; + } + enum "l2vpn-id-mgr-app-bag-type-count" { + description + "Count/Invalid"; + } + } + description + "L2VPN ID Manager App Type"; + } + + typedef Iccp-sm-port-state { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "unconfigured" { + description + "Unconfigured"; + } + enum "unsynchronized" { + description + "Unsynchronized"; + } + enum "operational" { + description + "Operational"; + } + enum "failed" { + description + "Failed"; + } + enum "reverting" { + description + "Reverting"; + } + } + description + "ICCP-based service multi-homing port state"; + } + + typedef Iccp-sm-state { + type enumeration { + enum "unresolved" { + description + "Unresolved"; + } + enum "provisioned" { + description + "Provisioned"; + } + enum "connecting" { + description + "Connecting"; + } + enum "connected" { + description + "Connected"; + } + enum "synchronizing" { + description + "Synchronizing"; + } + enum "synchronized" { + description + "Synchronized"; + } + } + description + "ICCP-based service multi-homing group state"; + } + + typedef L2vpn-main-if-protect { + type enumeration { + enum "not-protected" { + description + "Not Protected"; + } + enum "mstp-protected" { + description + "MSTP Protected"; + } + enum "erp-protected" { + description + "ERP Protected"; + } + enum "pmclag-protected" { + description + "PMCLAG Protected"; + } + enum "evpn-protected" { + description + "EVPN Protected"; + } + enum "mst-ag-protected" { + description + "MST-AG Protected"; + } + } + description + "Main port protection type"; + } + + typedef L2vpn-main-if-instance-state { + type enumeration { + enum "forwarding" { + description + "Forwarding state"; + } + enum "blocked" { + description + "Blocked state"; + } + enum "mac-learning" { + description + "Mac learning state"; + } + enum "nack" { + description + "Nack state"; + } + enum "forwarning-not-useful" { + description + "Forwarding not useful state"; + } + enum "blocked-not-useful" { + description + "Blocked not useful state"; + } + enum "mac-learning-not-useful" { + description + "Mac Learning not useful state"; + } + enum "blocked-data-only" { + description + "Blocked data only state"; + } + enum "mcast-pe2-ce-blocked" { + description + "Mcast PE to CE blocked state"; + } + enum "port-state-unknown" { + description + "Port state unknown"; + } + } + description + "State of a main port instance"; + } + + typedef L2vpn-ad-vpls-id { + type enumeration { + enum "l2vpn-ad-vpls-id-none" { + value 0; + description + "VPLS-ID not set"; + } + enum "l2vpn-ad-vpls-id-auto" { + value 1; + description + "Auto generated VPLS-ID"; + } + enum "l2vpn-ad-vpls-id-as" { + value 10; + description + "VPLS-ID with 2 Byte AS number"; + } + enum "l2vpn-ad-vpls-id-v4-addr" { + value 266; + description + "VPLS-ID with IPv4 Address"; + } + } + description + "L2vpn ad vpls id"; + } + + typedef L2vpn-ad-lsd-err { + type enumeration { + enum "l2vpn-ad-lsd-err-type-none" { + value 0; + description + "No Error"; + } + enum "l2vpn-ad-lsd-err-type-rw-create-abort-lbl-alloc" { + value 1; + description + "RW Creation aborted due to related Lbl Alloc + failure"; + } + enum "l2vpn-ad-lsd-err-type-lbl-alloc-abort-rw-create" { + value 2; + description + "Lbl Alloc disallowed due to related RW Creation + failure"; + } + enum "l2vpn-ad-lsd-err-type-lbl-alloc-abort-lbl-alloc" { + value 3; + description + "Lbl Alloc disallowed due to related Lbl Alloc + failure"; + } + enum "l2vpn-ad-lsd-err-type-lbl-alloc-lbl-ctx-mismatch" { + value 4; + description + "Lbl Ctx mismatch"; + } + enum "l2vpn-ad-lsd-err-type-rw-create-fpi-size-mismatch" { + value 5; + description + "FPI Size mismatch"; + } + enum "l2vpn-ad-lsd-err-type-rw-create-fpi-version-mismatch" { + value 6; + description + "FPI Version mismatch"; + } + enum "l2vpn-ad-lsd-err-type-enospc" { + value 7; + description + "Out of Label"; + } + enum "l2vpn-ad-lsd-err-type-enomem" { + value 8; + description + "No Memory"; + } + enum "l2vpn-ad-lsd-err-type-undefined" { + value 9; + description + "LABEL ERR"; + } + } + description + "L2vpn ad lsd err"; + } + + typedef L2vpn-ad-sig-method { + type enumeration { + enum "l2vpn-ad-sig-method-none" { + value 0; + description + "None"; + } + enum "l2vpn-ad-sig-method-bgp" { + value 1; + description + "BGP"; + } + enum "l2vpn-ad-sig-method-ldp" { + value 2; + description + "LDP"; + } + } + description + "L2vpn ad sig method"; + } + + typedef Mgmt-srv6-sid-fmt { + type enumeration { + enum "none" { + description + "No format"; + } + enum "base" { + description + "Base Format"; + } + enum "f3216" { + description + "Micro-segment F3216 Format"; + } + } + description + "SRv6 SID Format Type"; + } + + typedef Evpn-vpws { + type enumeration { + enum "vlan-unaware" { + description + "VlanUnaware"; + } + enum "vlan-aware" { + description + "VlanAware"; + } + } + description + "EVPN VU/VA Types"; + } + + grouping L2VPN-XC-BRIEF-LINE { + description + "L2VPN XC BRIEF LINE"; + leaf psn-type { + type L2vpn-brief-psn; + description + "PSN Type"; + } + leaf ac1-encapsulation { + type L2vpn-ac-encap; + description + "AC1 encapsulation"; + } + leaf ac2-encapsulation { + type L2vpn-ac-encap; + description + "AC2 encapsulation"; + } + list up-count { + max-elements "4"; + description + "Number of active cross-connections array - + + Index 0 is LikeToLike, 1 is IPInterworking, 2 is + + EthernetInterworking, 3 is Total"; + leaf entry { + type uint32; + description + "Number of active cross-connections array - + + Index 0 is LikeToLike, 1 is IPInterworking, 2 is + + EthernetInterworking, 3 is Total"; + } + } + list down-count { + max-elements "4"; + description + "Number of non-active cross-connections array - + + Index 0 is LikeToLike, 1 is IPInterworking, 2 is + + EthernetInterworking, 3 is Total"; + leaf entry { + type uint32; + description + "Number of non-active cross-connections array - + + Index 0 is LikeToLike, 1 is IPInterworking, 2 is + + EthernetInterworking, 3 is Total"; + } + } + list unresolved-count { + max-elements "4"; + description + "Number of unresolved cross-connections array - + + Index 0 is LikeToLike, 1 is IPInterworking, 2 is + + EthernetInterworking, 3 is Total"; + leaf entry { + type uint32; + description + "Number of unresolved cross-connections array - + + Index 0 is LikeToLike, 1 is IPInterworking, 2 is + + EthernetInterworking, 3 is Total"; + } + } + } + + grouping L2VPN-XC-BRIEF-FIRST-LAYER { + description + "L2VPN XC BRIEF FIRST LAYER"; + list ac2 { + description + "Array of l2vpn_xc_brief_line indexed by the AC2 + encapsulation type plus one type for PW"; + uses L2VPN-XC-BRIEF-LINE; + } + } + + grouping L2VPN-XC-BRIEF-MATRIX { + description + "L2VPN XC BRIEF MATRIX"; + list ac1 { + description + "Array of l2vpn_xc_brief_first layer indexed by + the AC1 encapsulation type"; + uses L2VPN-XC-BRIEF-FIRST-LAYER; + } + } + + grouping L2VPN-XC-BRIEF { + description + "L2VPN XC BRIEF"; + leaf main-total-up { + type uint32; + description + "Total Number of active Cross-Conections with + valid encaps"; + } + leaf main-total-down { + type uint32; + description + "Total Number of non-active Cross-Conections with + valid encaps"; + } + leaf main-total-unresolved { + type uint32; + description + "Total Number of unresolved Cross-Conections with + valid encaps"; + } + leaf undefined-xc { + type uint32; + description + "Undefined xc including PW-PW"; + } + leaf memory-state { + type L2vpn-memory-state; + description + "L2VPN memory state"; + } + list encapsulation-report-matrix { + max-elements "4"; + description + "Encapsulation report counters matrix"; + uses L2VPN-XC-BRIEF-MATRIX; + } + list encapsulation-total { + max-elements "4"; + description + "Total summary"; + uses L2VPN-XC-BRIEF-LINE; + } + } + + grouping L2VPN-FXC { + description + "L2VPN FXC"; + leaf fxc-id { + type uint32; + description + "Flexible XConnect ID"; + } + leaf name { + type string; + description + "Flexible XConnect Service Name"; + } + leaf state { + type L2vpn-xc-state; + description + "State of the Flexible XConnect Service"; + } + leaf num-p-ws { + type uint8; + description + "Number of Pseudowires in Pseudowire List"; + } + list pseudowire { + max-elements "2"; + description + "Flexible XConnect Service Pseudowire List"; + uses L2VPN-PW; + } + } + + grouping L2VPN-FXC-AC { + description + "L2VPN FXC AC"; + container attachment-circuit { + description + "Flexible XConnect Service Attachment Circuit"; + uses L2VPN-AC; + } + } + + grouping L2VPN-PBB-BMAC-SA { + description + "L2VPN PBB BMAC SA"; + leaf provisioned { + type boolean; + description + "BMAC SA configured"; + } + leaf chassis-is-provisioned { + type boolean; + description + "Chassis MAC is configured"; + } + leaf bmac-sa { + type yang:mac-address; + description + "BMAC SA"; + } + leaf chassis-mac { + type yang:mac-address; + description + "Chassis MAC"; + } + } + + grouping L2VPN-MSTP-SUBINT { + description + "L2VPN MSTP Subinterfaces"; + leaf interface-name { + type string; + description + "Interface name"; + } + } + + grouping L2VPN-MSTP-VLAN { + description + "L2VPN MSTP VLAN"; + leaf vlan-id-xr { + type uint32; + description + "Vlan id"; + } + leaf msti-id { + type uint32; + description + "MSTI id"; + } + leaf port-count { + type uint32; + description + "Port Count"; + } + list sub-interface { + description + "Sub interfaces"; + uses L2VPN-MSTP-SUBINT; + } + } + + grouping L2VPN-MVRP-BP { + description + "L2VPN MVRP BP"; + leaf bridge-port-interface-name { + type string; + description + "Bridge port Interface name"; + } + leaf bridge-port-xconnect-id { + type uint32; + description + "Bridge port XConnect ID"; + } + leaf mvrp-sequence-number { + type uint16; + description + "MVRP Sequence Number"; + } + list vlan-range { + description + "VLAN IDs"; + uses L2VPN-EFP-RANGE; + } + } + + grouping L2VPN-MVRP { + description + "L2VPN MVRP"; + container default-bridge-port { + description + "Trunk or default Bridge Port"; + uses L2VPN-MVRP-BP; + } + leaf main-port-interface-name { + type string; + description + "Main Port Interface name"; + } + leaf is-trunk { + type boolean; + description + "Is main port a trunk"; + } + leaf is-default-encap { + type boolean; + description + "Is default encap set"; + } + leaf number-of-bridge-ports { + type uint32; + description + "Number of Bridge Ports"; + } + } + + grouping L2VPN-COLLAB-CNTR { + description + "L2VPN collaborator statistics"; + leaf collaborator-name { + type string; + description + "Collaborator Name"; + } + leaf up { + type uint32; + description + "Up"; + } + leaf down { + type uint32; + description + "Down"; + } + leaf is-up { + type boolean; + description + "Is up"; + } + } + + grouping L2VPN-COLLAB-STATS { + description + "L2VPN collaborator statistics"; + list count { + max-elements "1"; + description + "count"; + uses L2VPN-COLLAB-CNTR; + } + } + + grouping L2VPN-GLOBAL-INFO { + description + "L2VPN Global Information"; + container collaborator-statistics { + description + "Collaborator Statistics"; + uses L2VPN-COLLAB-STATS; + } + } + + grouping L2VPN-SOURCE-ADDRESS { + description + "L2VPN SOURCE ADDRESS"; + leaf configuration { + type L2vpn-src-address-set; + description + "Configuration"; + } + leaf address { + when "../configuration = 'set'" { + description + "../Configuration = 'Set'"; + } + type inet:ipv4-address; + description + "Local source address"; + } + } + + grouping L2VPN-L2TPV3-PW-CLASS { + description + "L2VPN L2TPV3 PW CLASS"; + leaf l2tp-class-name { + type string { + length "0..32"; + } + description + "L2TPClassName"; + } + leaf ipv4-source-address { + type inet:ipv4-address; + description + "IPv4 source address"; + } + leaf path-mtu-enabled { + type boolean; + description + "Path MTU enabled"; + } + leaf path-mtu-max-value { + type uint16; + description + "Path MTU Maximum allowable session MTU"; + } + leaf dont-fragment-bit { + type boolean; + description + "Don't Fragment Bit"; + } + leaf tos-mode { + type L2vpn-tos-mode; + description + "Type Of Service Mode"; + } + leaf tos { + type uint8; + description + "Type Of Service Value"; + } + leaf ttl { + type uint8; + description + "Time To Live value"; + } + leaf cookie-size { + type uint8; + description + "Cookie size: 0, 4, or 8 bytes"; + } + } + + grouping L2VPN-ENCAP-PW-CLASS { + description + "L2VPN ENCAP PW CLASS"; + container l2tpv3 { + when "../encapsulation = 'l2vpn-pw-encaps-l2tpv3'" { + description + "../Encapsulation = 'L2VPN_PW_ENCAPS_L2TPV3'"; + } + description + "l2tpv3"; + uses L2VPN-L2TPV3-PW-CLASS; + } + leaf encapsulation { + type L2vpn-encap-method; + description + "Encapsulation"; + } + } + + grouping L2VPN-PW-CLASS { + description + "L2VPN PW CLASS"; + container encapsulation-info { + description + "Encapsulation specific pseudowire information"; + uses L2VPN-ENCAP-PW-CLASS; + } + container preferred-path { + description + "MPLS Preferred Path"; + uses L2VPN-PW-MPLS-PREFPATH; + } + container local-source-address { + description + "Local source address"; + uses L2VPN-SOURCE-ADDRESS; + } + leaf pw-class-name { + type string { + length "0..33"; + } + description + "Pseudowire class name"; + } + leaf control-word { + type L2vpn-pw-class-control-word; + description + "Control word"; + } + leaf transport-mode { + type L2vpn-transport-mode; + description + "Transport mode"; + } + leaf sequencing-type { + type L2vpn-pw-sequence; + description + "Sequencing Type"; + } + leaf resync-enabled { + type boolean; + description + "Resync if packets out of sequence"; + } + leaf resync-threshold { + type uint32; + description + "Number of Packets Out of Seqence to trigger + resync"; + } + leaf protocol { + type L2vpn-signalling-proto; + description + "Protocol"; + } + leaf disable-never { + type boolean; + description + "TRUE if backup is not automatically disabled"; + } + leaf disable-delay { + type uint8; + description + "Disable Deley"; + } + leaf backup-mac-withdraw { + type boolean; + description + "TRUE if MAC withdraw message is sent"; + } + leaf tag-rewrite { + type uint16; + description + "Static tag rewrite"; + } + leaf preferred-path-disable-fallback { + type boolean; + description + "PreferredPathDisableFallback"; + } + leaf load-balance { + type L2vpn-load-bal; + description + "Load Balance Type"; + } + leaf pw-flow-label-type-cfg { + type L2vpn-pw-flow-label; + description + "Configured pseudowire flow label type"; + } + leaf pw-flow-label-code17-disabled { + type boolean; + description + "Disable sending Code 17 TLV"; + } + leaf is-flow-label-static { + type boolean; + description + "is flow label static"; + } + } + + grouping L2VPN-G8032-RING-INSTANCE-DETAIL-INFO { + description + "L2VPN ethernet ring instance info detail"; + leaf ring-instance { + type uint32; + description + "Ring instance number"; + } + leaf ring-description { + type string; + description + "Ring description"; + } + leaf ring-profile { + type string; + description + "Ring Profile"; + } + leaf rpl { + type L2vpn-g8032-rpl; + description + "RPL"; + } + leaf aps-port0 { + type string; + description + "Port 0 of aps-channel"; + } + leaf aps-port1 { + type string; + description + "Port 1 of aps-channel"; + } + leaf config-state { + type boolean; + description + "State of the instance"; + } + leaf unresolved-reason { + type L2vpn-g8032-uncfg-reason; + description + "Reason of unresolved state state"; + } + leaf aps-channel-level { + type uint32; + description + "APS channel level"; + } + list included-vlan-id { + description + "Inclusion list Vlan Ids"; + leaf entry { + type uint16; + description + "Inclusion list Vlan Ids"; + } + } + } + + grouping L2VPN-G8032-RING-SUMMARY-INFO { + description + "L2VPN ethernet ring info summary"; + leaf ring-name { + type string; + description + "Name of the ring"; + } + leaf port0 { + type string; + description + "Port 0"; + } + leaf port1 { + type string; + description + "Port 1"; + } + } + + grouping L2VPN-G8032-RING-INSTANCE-SUMMARY-INFO { + description + "L2VPN ethernet ring instance info summary"; + leaf ring-instance { + type uint32; + description + "Ring instance number"; + } + leaf aps-port0 { + type string; + description + "Port 0 of aps-channel"; + } + leaf aps-port1 { + type string; + description + "Port 1 of aps-channel"; + } + leaf config-state { + type boolean; + description + "State of the instance"; + } + list included-vlan-id { + description + "Inclusion list Vlan Ids"; + leaf entry { + type uint16; + description + "Inclusion list Vlan Ids"; + } + } + } + + grouping L2VPN-G8032-RING-DETAIL-INFO { + description + "L2VPN ethernet ring info detail"; + leaf ring-name { + type string; + description + "Name of the ring"; + } + leaf port0 { + type string; + description + "Port 0"; + } + leaf port1 { + type string; + description + "Port 1"; + } + leaf monitor0 { + type string; + description + "Monitor port 0"; + } + leaf monitor1 { + type string; + description + "Monitor port 1"; + } + leaf is-provider-bridge { + type boolean; + description + "Operating mode Customer/Provider "; + } + leaf is-open-ring { + type boolean; + description + "Flag open ring"; + } + leaf tcn-propagation { + type boolean; + description + "Global TCN propagation"; + } + list excluded-vlan-id { + description + "Exclusion Vlan ids list "; + leaf entry { + type uint16; + description + "Exclusion Vlan ids list "; + } + } + } + + grouping L2VPN-DISCO-SUMMARY { + description + "L2VPN DISCO SUMMARY"; + leaf number-bridge-domainvpns { + type uint32; + description + "Number of BDs registered"; + } + leaf number-mp2m-pxconnect-vpns { + type uint32; + description + "Number of XCs registered"; + } + leaf number-local-edges-bridge-domain { + type uint32; + description + "Number of local Edges"; + } + leaf number-remote-edges-bridge-domain { + type uint32; + description + "Number of Remote Edges"; + } + leaf number-nlri-bridge-domain { + type uint32; + description + "Number of NLRI"; + } + leaf number-local-edges-xconnect { + type uint32; + description + "Number of local Edges"; + } + leaf number-remote-edges-xconnect { + type uint32; + description + "Number of Remote Edges"; + } + leaf number-nlri-xconnect { + type uint32; + description + "Number of NLRI"; + } + leaf bgp-stateon-active-rp { + type boolean; + description + "BGP state on the active RP"; + } + leaf bgp-stateon-standby-rp { + type boolean; + description + "BGP state on standby RP"; + } + leaf vpls-registered { + type boolean; + description + "Is the VPLS service registered"; + } + leaf vpws-registered { + type boolean; + description + "Is the VPWS service registered"; + } + leaf bgp-ipc-transport-mode { + type L2vpn-ipc-transport-mode; + description + "IPC Transport mode with BGP"; + } + leaf bgp-current-node-id { + type xr:Node-id; + description + "BGP current node id"; + } + } + + grouping L2VPN-BRIDGE-VNI { + description + "L2VPN BRIDGE VNI"; + container security-parameters { + description + "Security Parameters"; + uses L2VPN-BRIDGE-PORT-SEC-PARAM; + } + container statistics { + description + "Statistics"; + uses L2FIB-STATS-BAG-FORWARDING; + } + leaf vni { + type uint32; + description + "VNI"; + } + leaf overlay { + type string; + description + "NVE Overlay"; + } + leaf source-ip-addr { + type inet:ipv4-address; + description + "Source IP Address"; + } + leaf multicast-group-addr { + type inet:ipv4-address; + description + "Multicast Group Address"; + } + leaf anycast-vtep-ip-addr { + type inet:ipv4-address; + description + "Anycast VTEP IP Address"; + } + leaf anycast-mcast-group-addr { + type inet:ipv4-address; + description + "Anycast Multicast Group Address"; + } + leaf udp-port { + type uint32; + description + "UDP Port"; + } + leaf vni-encap-type { + type L2vpn-vni-encaps; + description + "VNI Encapsulation Type"; + } + leaf vni-port-state { + type L2vpn-segment-state; + description + "VNI Port State"; + } + leaf vni-mode { + type L2vpn-vni-mode; + description + "VNI Mode"; + } + leaf ingress-replication { + type boolean; + description + "VNI Ingress Replication is enabled"; + } + leaf xconnect-id { + type uint32; + description + "Xconnect ID"; + } + list static-mac { + description + "Static MAC addresses"; + uses L2VPN-BD-MAC; + } + } + + grouping L2VPN-BD-EVPN-PORT { + description + "L2VPN EVPN port"; + container security-parameters { + description + "Security Parameters"; + uses L2VPN-BRIDGE-PORT-SEC-PARAM; + } + container statistics { + description + "Statistics"; + uses L2FIB-STATS-BAG-FORWARDING; + } + leaf xconnect-id { + type uint32; + description + "Xconnect ID"; + } + leaf evpn-port-state { + type L2vpn-virtualport-state; + description + "EVPN Port State"; + } + } + + grouping L2VPN-BRIDGE-EVPN-PARAMS { + description + "L2VPN BRIDGE EVPN PARAMS"; + container evpn-port { + description + "EVPN Port"; + uses L2VPN-BD-EVPN-PORT; + } + leaf evi { + type uint32; + description + "E-VPN id"; + } + leaf evi-encap { + type L2vpn-evpn-encap; + description + "E-VPN Encapsulation"; + } + } + + grouping L2VPN-BD-PBB-CORE-PORT { + description + "L2VPN PBB core port"; + container security-parameters { + description + "Security Parameters"; + uses L2VPN-BRIDGE-PORT-SEC-PARAM; + } + leaf xconnect-id { + type uint32; + description + "Xconnect ID"; + } + leaf vlan-id { + type uint32; + description + "Vlan ID"; + } + leaf core-port-state { + type L2vpn-virtualport-state; + description + "PBB Core Port State"; + } + } + + grouping L2VPN-BRIDGE-PBB-CORE { + description + "L2VPN BRIDGE PBB CORE"; + container core-port { + description + "PBB Core Port"; + uses L2VPN-BD-PBB-CORE-PORT; + } + leaf num-ass-edge { + type uint32; + description + "Number of Associated PBB Edges"; + } + } + + grouping L2VPN-BD-PBB-EDGE-PORT { + description + "L2VPN PBB edge port"; + container security-parameters { + description + "Security Parameters"; + uses L2VPN-BRIDGE-PORT-SEC-PARAM; + } + container statistics { + description + "Statistics"; + uses L2FIB-STATS-BAG-FORWARDING; + } + leaf xconnect-id { + type uint32; + description + "Xconnect ID"; + } + leaf unknown-unicast-mac-set { + type boolean; + description + "Unknown Unicast MAC Configured"; + } + leaf unknown-unicast-mac { + type yang:mac-address; + description + "Unknown Unicast MAC"; + } + leaf edge-port-state { + type L2vpn-virtualport-state; + description + "PBB Edge Port State"; + } + list bmac-mapping { + description + "CMAC to BMAC Mapping"; + uses L2VPN-BD-MAC; + } + } + + grouping L2VPN-BRIDGE-PBB-EDGE { + description + "L2VPN BRIDGE PBB EDGE"; + container edge-port { + description + "PBB Edge Port"; + uses L2VPN-BD-PBB-EDGE-PORT; + } + leaf i-sid { + type uint32; + description + "SID"; + } + leaf core-bridge-name { + type string; + description + "Core Bridge Domain Name"; + } + leaf core-bridge-state { + type L2vpn-bridge-state; + description + "Core Bridge State"; + } + leaf mirp-lite-status { + type L2vpn-mirp-lite-status; + description + "MIRP-lite Status"; + } + leaf mirp-lite-protocol { + type L2vpn-mirp-lite-protocol-info; + description + "MIRP-lite protocol info"; + } + } + + grouping L2VPN-BRIDGE-PBB-PARAMS { + description + "L2VPN BRIDGE PBB PARAMS"; + container pbb-edge { + when "../type = 'l2vpn-bridge-type-pbb-edge'" { + description + "../Type = 'L2VPN_BRIDGE_TYPE_PBB_EDGE'"; + } + description + "PBB Edge"; + uses L2VPN-BRIDGE-PBB-EDGE; + } + container pbb-core { + when "../type = 'l2vpn-bridge-type-pbb-core'" { + description + "../Type = 'L2VPN_BRIDGE_TYPE_PBB_CORE'"; + } + description + "PBB Core"; + uses L2VPN-BRIDGE-PBB-CORE; + } + leaf type { + type L2vpn-bridge; + description + "Type"; + } + } + + grouping L2VPN-VFI-P2MP { + description + "L2VPN VFI P2MP"; + leaf transport { + type L2vpn-vfi-p2mp-transport; + description + "P2MP transport"; + } + leaf signaling { + type L2vpn-vfi-p2mp-signaling; + description + "P2MP signaling"; + } + leaf ptree-id { + type uint32; + description + "PTree ID"; + } + leaf attribute-set-name { + type string; + description + "TE Attribute Set Name"; + } + leaf transport-status { + type P2mp-transport-state; + description + "Transport Status"; + } + leaf local-label { + type uint32; + description + "P2MP Tunnel Local Label"; + } + leaf tunnel-interface { + type xr:Interface-name; + description + "P2MP Tunnel Interface Name"; + } + } + + grouping L2VPN-BD-DISCO { + description + "L2VPN BD DISCO"; + container rd-value { + description + "Route Distinguisher"; + uses L2VPN-RD; + } + container vpls-id { + description + "VPLS ID"; + uses L2VPN-VPLS-ID; + } + leaf vpn-id { + type uint32; + description + "Vpn ID"; + } + leaf ad-signalling-method { + type uint32; + description + "Signaling protocol"; + } + leaf ad-method { + type uint32; + description + "Autodiscovery method"; + } + leaf ve-id { + type uint32; + description + "VPLS Edge ID"; + } + leaf provisioned-ve-id { + type uint32; + description + "Provisioned VPLS edge ID"; + } + leaf ve-range { + type uint16; + description + "VE range"; + } + leaf as-number { + type uint32; + description + "Autonomous System Number"; + } + leaf l2vpn-router-id { + type inet:ipv4-address; + description + "L2PVN Router ID"; + } + leaf vpn-added { + type boolean; + description + "Is VPN id configured"; + } + leaf service-connected { + type boolean; + description + "Is the BGP service connected?"; + } + leaf vpls-id-conflict { + type boolean; + description + "VPLS-ID Conflict"; + } + leaf export-route-policy { + type string; + description + "Export Route Policy"; + } + list import-rt { + description + "List of import route targets"; + uses L2VPN-RT; + } + list export-rt { + description + "List of export route targets"; + uses L2VPN-RT; + } + } + + grouping L2VPN-VFI { + description + "L2VPN Virtual Forwarding Instance"; + container discovery-information { + description + "Auto Discovery information"; + uses L2VPN-BD-DISCO; + } + leaf vfi-name { + type string; + description + "Virtual forwarding instance name"; + } + leaf shutdown { + type boolean; + description + "Shutdown"; + } + leaf access { + type boolean; + description + "VFI is an Access VFI"; + } + leaf vfi-state { + type L2vpn-vfi-state; + description + "VFI state"; + } + leaf number-pseudowires { + type uint32; + description + "Number of Pseudowires"; + } + list p2mp-information { + description + "Multicast P2MP information"; + uses L2VPN-VFI-P2MP; + } + } + + grouping L2VPN-BRIDGE { + description + "L2VPN BRIDGE"; + container security-parameters { + description + "Security parameters"; + uses L2VPN-BRIDGE-SEC-PARAM; + } + container pbb-parameters { + description + "PBB parameters"; + uses L2VPN-BRIDGE-PBB-PARAMS; + } + container evpn-parameters { + description + "EVPN parameters"; + uses L2VPN-BRIDGE-EVPN-PARAMS; + } + container vni-parameters { + description + "VNI parameters"; + uses L2VPN-BRIDGE-VNI; + } + container rd { + description + "Route Distinguisher"; + uses L2VPN-RD; + } + leaf group-name { + type string; + description + "Group name"; + } + leaf bridge-name { + type string; + description + "Bridge-domain name"; + } + leaf bridge-domain-id { + type uint32; + description + "Identification number"; + } + leaf bridge-description { + type string; + description + "Human-readable bridge-domain description"; + } + leaf bridge-state { + type L2vpn-bridge-state; + description + "Bridge-domain state"; + } + leaf bridge-coupled-state { + type L2vpn-bridge-coupled-state; + description + "Bridge-domain coupled state"; + } + leaf bridge-shg-id { + type uint32; + description + "Bridge-domain shgid"; + } + leaf bridge-msti { + type uint32; + description + "Bridge-domain msti"; + } + leaf acpwup { + type uint32; + description + "Number of bridge ports (AC,PW) which are up"; + } + leaf bridge-internal-msti { + type uint32; + description + "Bridge-domain internal msti"; + } + leaf configured { + type boolean; + description + "Bridge-domain is configured"; + } + leaf number-vf-is { + type uint32; + description + "Number of virtual forwarding interfaces"; + } + leaf number-access-vf-is { + type uint32; + description + "Number of Access VFIs"; + } + leaf number-a-cs { + type uint32; + description + "Number of attachment circuits"; + } + leaf number-a-cs-up { + type uint32; + description + "Number of attachment circuits up"; + } + leaf number-pseudowires { + type uint32; + description + "Number of pseudowires"; + } + leaf number-p-ws-up { + type uint32; + description + "Number of pseudowires up"; + } + leaf standby-pseudowires { + type uint32; + description + "Number of pseudowires standby"; + } + leaf number-pb-bs { + type uint8; + description + "Number of pbbs"; + } + leaf number-pb-bs-up { + type uint8; + description + "Number of pbbs up"; + } + leaf num-vn-is { + type uint32; + description + "Number of VNIs"; + } + leaf num-vn-is-up { + type uint32; + description + "Number of VNIs up"; + } + leaf partially-programmed-pseudowires { + type uint32; + description + "Number of pseudowires partially programmed"; + } + leaf partially-programmed-a-cs { + type uint32; + description + "Number of attachment circuits partially + programmed"; + } + leaf bridge-mtu { + type uint32; + description + "Maximum transmission unit"; + } + leaf shutdown { + type boolean; + description + "Administratively disabled"; + } + leaf mac-limit-down { + type boolean; + description + "Oper down because MAC limit reached"; + } + leaf flodd-group-id-down { + type boolean; + description + "Oper down because no FGID"; + } + leaf mac-withdraw { + type boolean; + description + "MAC withdraw enabled"; + } + leaf mac-withdraw-access { + type boolean; + description + "MAC Access PW withdraw enabled"; + } + leaf mac-withdraw-relay { + type boolean; + description + "MAC Access PW withdraw relaying from access to + access enabled"; + } + leaf mac-withdraw-option { + type L2vpn-bag-mac-withdraw-option; + description + "Event on which MAC withdraw is sent"; + } + leaf p2mp-enabled { + type boolean; + description + "P2MP Enabled on this Bridge Domain"; + } + leaf bridge-type { + type L2vpn-bridge; + description + "Bridge-domain type"; + } + leaf vine-fsm-state { + type string; + description + "VNI, IRB, Native-Evpn state"; + } + leaf time-created { + type string { + length "0..50"; + } + description + "Time when the bridge domain was created"; + } + leaf time-elapsed-creation { + type string { + length "0..50"; + } + description + "Time elapsed since creation"; + } + leaf last-time-status-changed { + type string { + length "0..50"; + } + description + "Last time the bridge domain status changed"; + } + leaf time-elapsed-status-changed { + type string { + length "0..50"; + } + description + "Time elapsed since status changed"; + } + leaf load-balance { + type L2vpn-load-bal; + description + "Load Balance Type"; + } + leaf is-bridge-partially-programmed { + type boolean; + description + "Bridge is partially programmed"; + } + leaf evi { + type uint32; + description + "E-VPN id"; + } + leaf is-rd-configured { + type boolean; + description + "Config or Auto"; + } + leaf imposition-pkt-count { + type uint64; + description + "EVPN Imposition Packet Count"; + } + leaf imposition-byte-count { + type uint64; + description + "EVPN Imposition Byte Count"; + } + leaf disposition-pkt-count { + type uint64; + description + "EVPN Disposition Packet Count"; + } + leaf disposition-bytecount { + type uint64; + description + "EVPN Disposition Byte Count"; + } + leaf as { + type uint32; + description + "BGP AS number"; + } + leaf nv-satellite-offload-ipv4-multicast-disabled { + type boolean; + description + "nV Satellite Offload IPv4 Multicast Disabled"; + } + list mac-filter { + description + "MAC addresses for filtering"; + uses L2VPN-BD-MAC; + } + list bridge-vfi { + description + "Virtual Forwarding Interfaces"; + uses L2VPN-VFI; + } + list bridge-access-vfi { + description + "Access Virtual Forwarding Interfaces"; + uses L2VPN-VFI; + } + } + + grouping L2VPN-BD-AC { + description + "L2VPN Bridge Attachment Circuit"; + container attachment-circuit { + description + "Attachment Circuit"; + uses L2VPN-AC; + } + container security-parameters { + description + "Security Parameters"; + uses L2VPN-BRIDGE-PORT-SEC-PARAM; + } + leaf bvi-mac-index { + type uint16; + description + "MyMac Index"; + } + list static-mac { + description + "Static MAC addresses"; + uses L2VPN-BD-MAC; + } + list bvimac { + description + "BVI MAC addresses"; + uses L2VPN-BD-MAC; + } + } + + grouping L2VPN-BAG-STORM-CONTROL-TYPE { + description + "Storm Control Configuration"; + leaf bd-policer { + type boolean; + description + "Bridge Domain Policer"; + } + leaf unicast { + type boolean; + description + "Unknown-unicast Storm Control"; + } + leaf multicast { + type boolean; + description + "Multicast Storm Control"; + } + leaf broadcast { + type boolean; + description + "Broadcast Storm Control"; + } + } + + grouping L2VPN-BRIDGE-SEC-PARAM { + description + "L2VPN BRIDGE SEC PARAM"; + container storm-control { + description + "Storm Control Configuration"; + uses L2VPN-BAG-STORM-CONTROL-TYPE; + } + leaf mac-limit { + type uint32; + description + "MAC address limit"; + } + leaf mac-limit-action { + type L2vpn-bag-mac-limit-action; + description + "MAC limit action"; + } + leaf mac-limit-notification { + type L2vpn-bag-mac-limit-notify; + description + "MAC limit notification"; + } + leaf mac-aging-time { + type uint32; + units "second"; + description + "MAC aging time in seconds"; + } + leaf mac-aging-mode { + type L2vpn-bag-mac-aging-mode; + description + "MAC Aging Mode"; + } + leaf mac-flooding { + type boolean; + description + "MAC flooding enabled"; + } + leaf mac-learning { + type boolean; + description + "MAC learning enabled"; + } + leaf learn-disabled-mac-limit-action { + type boolean; + description + "Learning disabled due to MAC limit action"; + } + leaf flood-uu-disabled-mac-limit-action { + type boolean; + description + "Flooding of unknown-unicast disabled due to MAC + limit action"; + } + leaf mac-limit-reached { + type boolean; + description + "MAC limit reached"; + } + leaf mac-limit-threshold { + type uint32; + units "percentage"; + description + "MAC Limit Threshold Percentage"; + } + leaf flood-unknown-unicast-enabled { + type boolean; + description + "Flooding unknown unicast enabled"; + } + leaf mac-port-down-flush-enabled { + type boolean; + description + "MAC Flush when port goes down"; + } + leaf split-horizon-group-id { + type uint32; + description + "Split Horizon Group ID"; + } + leaf split-horizon-group-inherited { + type boolean; + description + "Is Split Horizon Group Inherited"; + } + leaf etree-leaf { + type boolean; + description + "E-Tree Leaf Indication"; + } + leaf etree-leaf-inherited { + type boolean; + description + "Is E-Tree Leaf Indication Inherited"; + } + leaf is-ip-source-guard-enabled { + type boolean; + description + "Is IP Source Guard Enabled"; + } + leaf is-ipsg-logging-enabled { + type boolean; + description + "Is IP Source Guard Logging Enabled"; + } + leaf is-dai-enabled { + type boolean; + description + "Is Dynamic ARP Inspection Enabled"; + } + leaf is-dai-logging-enabled { + type boolean; + description + "Is DAI Logging Enabled"; + } + leaf is-dai-addr-validate-source-mac-enabled { + type boolean; + description + "Is DAI Source MAC Address Validation Enabled"; + } + leaf is-dai-addr-validate-destination-mac-enabled { + type boolean; + description + "Is DAI Dstination MAC Address Validation Enabled"; + } + leaf is-dai-addr-validate-ipv4-enabled { + type boolean; + description + "Is DAI IPv4 Addr Validation Enabled"; + } + leaf is-mac-secure-enabled { + type boolean; + description + "Is MAC Secure Enabled"; + } + leaf mac-secure-action { + type L2vpn-bag-mac-secure-action; + description + "MAC Secure Action"; + } + leaf is-mac-secure-logging-enabled { + type boolean; + description + "Is MAC Secure Logging Enabled"; + } + leaf is-mac-secure-accept-shutdown-enabled { + type boolean; + description + "Is MAC Secure Accept Shutdown Enabled (BP only)"; + } + leaf is-mac-secure-threshold-enabled { + type boolean; + description + "Is MAC Secure Threshold Enabled"; + } + leaf mac-secure-shutdown-recovery-time { + type uint16; + description + "MAC Secure Shutdown Action Recovery Timer"; + } + leaf mac-secure-shutdown-recovery-time-remaining { + type uint16; + description + "Remaining time for MAC Secure shutdown Action + Recovery Timer"; + } + leaf dai-address-validation-mask { + type uint8; + description + "DAI Address Validation mask"; + } + leaf dhcpv4-snoop { + type boolean; + description + "DHCPv4 Snoop Status"; + } + leaf dhcpv4-profile-name { + type string; + description + "DHCPv4 Profile Name"; + } + leaf igm-pv4-disabled { + type boolean; + description + "IGMPv4 Disabled"; + } + leaf igm-pv4-profile-name { + type string; + description + "IGMPv4 Profile Name"; + } + leaf mld-profile-name { + type string; + description + "MLD Profile Name"; + } + leaf mmrp-flood-optimization { + type boolean; + description + "MMRP Flood Optimization Status"; + } + leaf unicast-storm-control-rate-unit { + type L2vpn-bag-storm-control-rate-unit; + description + "Unicast Storm Control Rate Unit"; + } + leaf unicast-storm-control-pps { + type uint64; + description + "Unicast Storm Control PPS"; + } + leaf unicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Unicast Storm Control KbPS"; + } + leaf multicast-storm-control-rate-unit { + type L2vpn-bag-storm-control-rate-unit; + description + "Multicast Storm Control Rate Unit"; + } + leaf multicast-storm-control-pps { + type uint64; + description + "Multicast Storm Control PPS"; + } + leaf multicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Multicast Storm Control KbPS"; + } + leaf broadcast-storm-control-rate-unit { + type L2vpn-bag-storm-control-rate-unit; + description + "Broadcast Storm Control Rate Unit"; + } + leaf broadcast-storm-control-pps { + type uint64; + description + "Broadcast Storm Control PPS"; + } + leaf broadcast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Broadcast Storm Control KbPS"; + } + leaf l2mc-src-traffic-enabled { + type L2vpn-bag-l2mc-src-traffic; + description + "L2MC Src Traffic Enabled"; + } + } + + grouping L2VPN-BRIDGE-PORT-SEC-PARAM { + description + "L2VPN BRIDGE PORT SEC PARAM"; + container base { + description + "Basic Security Parameters"; + uses L2VPN-BRIDGE-SEC-PARAM; + } + container storm-control { + description + "Storm Control Configuration"; + uses L2VPN-BAG-STORM-CONTROL-TYPE; + } + leaf unicast-storm-control-rate-unit { + type L2vpn-bag-storm-control-rate-unit; + description + "Unicast Storm Control Rate Unit"; + } + leaf unicast-storm-control-pps { + type uint64; + description + "Unicast Storm Control PPS"; + } + leaf unicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Unicast Storm Control KbPS"; + } + leaf multicast-storm-control-rate-unit { + type L2vpn-bag-storm-control-rate-unit; + description + "Multicast Storm Control Rate Unit"; + } + leaf multicast-storm-control-pps { + type uint64; + description + "Multicast Storm Control PPS"; + } + leaf multicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Multicast Storm Control KbPS"; + } + leaf broadcast-storm-control-rate-unit { + type L2vpn-bag-storm-control-rate-unit; + description + "Broadcast Storm Control Rate Unit"; + } + leaf broadcast-storm-control-pps { + type uint64; + description + "Broadcast Storm Control PPS"; + } + leaf broadcast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Broadcast Storm Control KbPS"; + } + leaf dhcpv4-trust { + type boolean; + description + "DHCPv4 Trust Status"; + } + } + + grouping L2VPN-BD-MAC { + description + "L2VPN Static MAC Address"; + leaf mac { + type yang:mac-address; + description + "MAC address"; + } + leaf pbb-bmac { + type yang:mac-address; + description + "Backbone MAC address"; + } + leaf nh-addr { + type inet:ipv4-address; + description + "Next Hop IP"; + } + } + + grouping L2VPN-BD-PW { + description + "L2VPN Bridge Pseudowire"; + container pseudowire { + description + "Pseudowire"; + uses L2VPN-PW; + } + container security-parameters { + description + "Security Parameters"; + uses L2VPN-BRIDGE-PORT-SEC-PARAM; + } + leaf is-access { + type boolean; + description + "Is Access PW"; + } + list static-mac { + description + "Static MAC addresses"; + uses L2VPN-BD-MAC; + } + } + + grouping L2VPN-RESOURCE-STATE { + description + "L2VPN Resource State"; + leaf resource-out-of-memory-state { + type uint32; + description + "L2VPN Out of memory state"; + } + } + + grouping L2VPN-PWHE-RANGE { + description + "L2VPN PWHE RANGE"; + leaf lower { + type uint16; + description + "lower range"; + } + leaf upper { + type uint16; + description + "upper range"; + } + } + + grouping L2VPN-GENERIC-IF-LIST { + description + "L2VPN GENERIC IF LIST"; + leaf interface-list-name-xr { + type string { + length "0..33"; + } + description + "Interface-list name"; + } + leaf interface-list-id { + type uint32; + description + "Interface internal ID"; + } + leaf number-of-interfaces { + type uint32; + description + "Number of interfaces"; + } + leaf items { + type uint32; + description + "Number of items"; + } + list interface { + description + "Interfaces"; + uses IFLIST-IF; + } + } + + grouping L2VPN-GENERIC-IF-LIST-DETAIL { + description + "L2VPN GENERIC IF LIST DETAIL"; + container summary { + description + "Summary information"; + uses L2VPN-GENERIC-IF-LIST; + } + leaf items { + type uint32; + description + "Number of items"; + } + leaf is-provisioned { + type boolean; + description + "Is Provisioned"; + } + leaf psedowire-ether-items { + type uint32; + description + "Number PW Ether Items"; + } + leaf pseudowire-iw-items { + type uint32; + description + "Number PW IW Items"; + } + list interface { + max-elements "32"; + description + "Interfaces"; + uses IFLIST-IF; + } + list pseudowire-ether-range { + description + "PW-Ether ranges"; + uses L2VPN-PWHE-RANGE; + } + list pseudowire-iw-range { + description + "PW-IW ranges"; + uses L2VPN-PWHE-RANGE; + } + } + + grouping L2VPN-MSTI-BD-ENTRY { + description + "L2VPN MSTi BD Entry"; + leaf bdid { + type uint32; + description + "BD ID"; + } + leaf bdif-count { + type uint32; + description + "BD Intf Count"; + } + } + + grouping L2VPN-MSTI-ENTRY { + description + "L2VPN MSTI Entry"; + leaf cfg-ms-ti { + type uint32; + description + " Configured MSTi"; + } + leaf rcv-count { + type uint32; + description + "Receive count "; + } + leaf ack-count { + type uint32; + description + "Ack count "; + } + leaf nack-count { + type uint32; + description + "Nack count "; + } + leaf flush-count { + type uint32; + description + "Flush count "; + } + leaf interface-count { + type uint32; + description + "Interface count"; + } + leaf bd-count { + type uint32; + description + "BD count"; + } + leaf msti-flags { + type uint32; + description + "Msti Flags"; + } + leaf msti-state { + type L2vpn-msti-state; + description + "Msti State"; + } + list bd-entry { + description + "BD entries"; + uses L2VPN-MSTI-BD-ENTRY; + } + } + + grouping L2VPN-MSTP-PORT { + description + "L2VPN MSTP PORT"; + leaf mstp-interface-handle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf interface-name { + type string; + description + "Interface name"; + } + leaf protected { + type boolean; + description + "Protected"; + } + leaf reference-count { + type uint32; + description + "Reference Count"; + } + list msti-entry { + description + "MSTI"; + uses L2VPN-MSTI-ENTRY; + } + } + + grouping L2VPN-XC-SUMMARY { + description + "L2VPN XC SUMMARY"; + leaf number-groups { + type uint32; + description + "Number of groups"; + } + leaf number-xconnects { + type uint32; + description + "Number of xconnects"; + } + leaf number-xconnects-up { + type uint32; + description + "Numxber of xconnects whose state is up"; + } + leaf number-xconnects-down { + type uint32; + description + "Number of xconnects whose state is down"; + } + leaf number-xconnects-unresolved { + type uint32; + description + "Number of xconnects whose state is unresolved"; + } + leaf number-xconnects-administratively-down { + type uint32; + description + "Number of xconnects with segments in admin down + state"; + } + leaf number-xconnects-type-attachment-circuit-to-pseudo-wire { + type uint32; + description + "Number of xconnects of type attachment circuit + to pseudowire"; + } + leaf number-xconnects-type-monitor-session-to-pseudo-wire { + type uint32; + description + "Number of xconnects of type monitor session to + pseudowire"; + } + leaf number-xconnects-locally-switched { + type uint32; + description + "Number of locally switched xconnects"; + } + leaf number-xconnects-with-backup-pw { + type uint32; + description + "Number of XCs configured with backup PW"; + } + leaf number-xconnects-currently-using-backup { + type uint32; + description + "Number of XCs currently using backup PW (UP + state)"; + } + leaf down-backup-xconnects { + type uint32; + description + "Number of XCs with backup PW in down state"; + } + leaf admin-down-backup-xconnects { + type uint32; + description + "Number of XCs with backup PW in admin down state"; + } + leaf unresolved-backup-xconnects { + type uint32; + description + "Number of XCs with backup PW in unresolved state"; + } + leaf standby-backup-xconnects { + type uint32; + description + "Number of XCs with backup PW in standby state"; + } + leaf standby-ready-backup-xconnects { + type uint32; + description + "Number of XCs with backup PW in standby ready + state"; + } + leaf out-of-memory-state { + type uint32; + description + "L2VPN Out of memory state"; + } + leaf number-xconnects-type-pseudo-wire-to-pseudo-wire { + type uint32; + description + "Number of xconnects of type PseudoWire To + PseudoWire"; + } + leaf number-mp2mp-xconnects { + type uint32; + description + "Number of mp2mp xconnects"; + } + leaf number-mp2mp-xconnects-up { + type uint32; + description + "Number of Mp2mp XCs that have been admined up"; + } + leaf number-mp2mp-xconnects-down { + type uint32; + description + "Number of Mp2mp XCs that have ben admined down"; + } + leaf number-mp2mp-xconnects-advertised { + type uint32; + description + "Number of Mp2mp XCs that have been advertized"; + } + leaf number-mp2mp-xconnectss-not-advertised { + type uint32; + description + "Number of Mp2mp XCs that have not been + advertized"; + } + leaf number-ce2-ceconnections { + type uint32; + description + "Number of Ce2Ce connections"; + } + leaf number-ce2ce-advertized { + type uint32; + description + "Number of CE2CE connections that have been + advertized"; + } + leaf number-ce2ce-not-advertized { + type uint32; + description + "Number of CE2CE connections that have not been + advertized"; + } + leaf partially-programmed-xconnects { + type uint32; + description + "Number of cross-connects partially programmed"; + } + leaf number-xconnects-with-backup-interface { + type uint32; + description + "Number of XCs configured with backup interface"; + } + leaf number-xconnects-currently-using-backup-interface { + type uint32; + description + "Number of XCs currently using backup interface + (UP state)"; + } + leaf down-backup-interface-xconnects { + type uint32; + description + "Number of XCs with backup interface in down + state"; + } + leaf admin-down-backup-interface-xconnects { + type uint32; + description + "Number of XCs with backup interface in admin + down state"; + } + leaf unresolved-backup-interface-xconnects { + type uint32; + description + "Number of XCs with backup interface in + unresolved state"; + } + leaf standby-backup-interface-xconnects { + type uint32; + description + "Number of XCs with backup interface in standby + state"; + } + } + + grouping L2VPN-INDEX-INFO { + description + "L2VPN ID Info"; + leaf pool-id-xr { + type uint32; + description + "Pool Id"; + } + leaf application-type { + type L2vpn-id-mgr-app-bag; + description + "Application Type"; + } + leaf allocated-ids { + type uint32; + description + "Number of IDs allocated"; + } + leaf zombied-ids { + type uint32; + description + "Number of IDs allocated"; + } + leaf pool-size { + type uint32; + description + "Pool size"; + } + leaf max-num-id-mgr { + type uint32; + description + "Maximum number of pool extensions"; + } + leaf num-id-mgr-in-use { + type uint32; + description + "ID mgr instances in use"; + } + } + + grouping L2VPN-SRTE-POLICY { + description + "L2VPN SRTE Policy object"; + leaf color-xr { + type uint32; + description + "SRTE policy color"; + } + leaf endpoint-xr { + type L2vpn-bag-in6-addr; + description + "SRTE policy endpoint address"; + } + leaf policy-state-is-up { + type boolean; + description + "Policy is up"; + } + leaf policy-interface-name { + type xr:Interface-name; + description + "Policy interface"; + } + leaf policy-bsid { + type uint32; + description + "BSID for policy"; + } + leaf service-count { + type uint32; + description + "Count of number of services registered for + policy"; + } + } + + grouping L2VPN-RT-ES-IMPORT { + description + "L2VPN RT ES IMPORT"; + leaf high-bytes { + type uint32; + description + "Top 4 bytes of ES Import"; + } + leaf low-bytes { + type uint16; + description + "Low 2 bytes of ES Import"; + } + } + + grouping L2VPN-RT-V4ADDR { + description + "L2VPN RT V4ADDR"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RT-4BYTE-AS { + description + "L2VPN RT 4BYTE AS"; + leaf four-byte-as { + type uint32; + description + "4 Byte AS Number"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RT-2BYTE-AS { + description + "L2VPN RT 2BYTE AS"; + leaf two-byte-as { + type uint16; + description + "2 Byte AS Number"; + } + leaf four-byte-index { + type uint32; + description + "4 Byte Index"; + } + } + + grouping L2VPN-RT { + description + "L2VPN RT"; + container two-byte-as { + when "../rt = 'l2vpn-ad-rt-as'" { + description + "../RT = 'L2VPN_AD_RT_AS'"; + } + description + "two byte as"; + uses L2VPN-RT-2BYTE-AS; + } + container four-byte-as { + when "../rt = 'l2vpn-ad-rt-4byte-as'" { + description + "../RT = 'L2VPN_AD_RT_4BYTE_AS'"; + } + description + "four byte as"; + uses L2VPN-RT-4BYTE-AS; + } + container v4-addr { + when "../rt = 'l2vpn-ad-rt-v4-addr'" { + description + "../RT = 'L2VPN_AD_RT_V4ADDR'"; + } + description + "v4 addr"; + uses L2VPN-RT-V4ADDR; + } + container es-import { + when "../rt = 'es-import'" { + description + "../RT = 'ES_Import'"; + } + description + "es import"; + uses L2VPN-RT-ES-IMPORT; + } + leaf rt { + type L2vpn-ad-rt; + description + "RT"; + } + } + + grouping L2VPN-XC-DISCO { + description + "L2VPN XC DISCO"; + container rd-value { + description + "Route Distinguisher"; + uses L2VPN-RD; + } + leaf ad-method { + type uint32; + description + "Autodiscovery Method"; + } + leaf vpn-added { + type boolean; + description + "VPN Added"; + } + leaf ad-service-connected { + type boolean; + description + "Service Connected"; + } + leaf ad-signalling-method { + type uint32; + description + "Signaling Protocol"; + } + leaf ce-range { + type uint16; + description + "CE Range"; + } + leaf export-route-policy { + type string; + description + "Export Route Policy"; + } + leaf number-a-cs-up { + type uint32; + description + "Number of attachment circuits up"; + } + leaf number-p-ws-up { + type uint32; + description + "Number of pseudowires up"; + } + leaf number-ce2ce-advertised { + type uint32; + description + "Number of ce2ce Advertised"; + } + leaf number-a-cs { + type uint32; + description + "Number of attachment circuits"; + } + leaf number-pseudowires { + type uint32; + description + "Number of pseudowires"; + } + leaf number-ce2c-es { + type uint32; + description + "Number of ce2ce"; + } + list import-rt { + description + "Import Route Targets"; + uses L2VPN-RT; + } + list export-rt { + description + "Export Route Targets"; + uses L2VPN-RT; + } + } + + grouping L2VPN-MP2MP-XC { + description + "L2VPN MP2MP XC"; + container discovery { + description + "l2vpn xc auto discovery info"; + uses L2VPN-XC-DISCO; + } + leaf group-name-xr { + type string; + description + "Group name"; + } + leaf mp2mp-name { + type string; + description + "MP2MP name"; + } + leaf mp2mpid { + type uint32; + description + "Identification Number"; + } + leaf vpn-id { + type uint32; + description + "Vpn ID"; + } + leaf vpn-mtu { + type uint32; + description + "VPN MTU"; + } + leaf l2-encapsulation { + type L2vpn-bag-ad-encap; + description + "L2 Encapsulation"; + } + leaf xconnect-shutdown { + type boolean; + description + "Administratively disabled"; + } + } + + grouping L2VPN-GROUP { + description + "L2VPN GROUP"; + leaf group-name-xr { + type string; + description + "Group name"; + } + leaf number-xconnects { + type uint32; + description + "Number of xconnects"; + } + } + + grouping L2VPN-XC-CE2CE { + description + "L2VPN XC CE2CE"; + leaf local-customer-edge-id { + type uint16; + description + "Local CE ID"; + } + leaf remote-customer-edge-id { + type uint16; + description + "Remote CE ID"; + } + leaf ce-added { + type boolean; + description + "CE2CE Advertised"; + } + } + + grouping L2VPN-P2MP-PW { + description + "L2VPN P2MP PW"; + leaf local-available { + type boolean; + description + "Local LSM info available"; + } + leaf local-label { + type uint32; + description + "Local Label"; + } + leaf local-ptree-type { + type L2vpn-p2mp-pw-ptree; + description + "Local P-Tree Type"; + } + leaf local-tunnel-id { + type uint32; + description + "Local Tunnel ID"; + } + leaf local-extended-tunnel-id { + type inet:ipv4-address; + description + "Local Extended Tunnel ID"; + } + leaf local-p2mp-id { + type uint32; + description + "Local P2MP ID"; + } + leaf local-flags { + type uint8; + description + "Local Flags (see + draft-ietf-l3vpn-2547bis-mcast-bgp-08)"; + } + leaf remote-available { + type boolean; + description + "Remote LSM info available"; + } + leaf remote-label { + type uint32; + description + "Remote Label"; + } + leaf remote-ptree-type { + type L2vpn-p2mp-pw-ptree; + description + "Remote P-Tree Type"; + } + leaf remote-tunnel-id { + type uint32; + description + "Remote Tunnel ID"; + } + leaf remote-extended-tunnel-id { + type inet:ipv4-address; + description + "Remote Extended Tunnel ID"; + } + leaf remote-p2mp-id { + type uint32; + description + "Remote P2MP ID"; + } + leaf remote-flags { + type uint8; + description + "Remote Flags (see + draft-ietf-l3vpn-2547bis-mcast-bgp-08)"; + } + } + + grouping L2VPN-MS-PW-TLV-INFO { + description + "L2VPN MS PW TLV INFO"; + leaf pw-id { + type uint32; + description + "PW ID of last PW segment traversed"; + } + leaf local-address { + type inet:ipv4-address; + description + "Local IP Address of PW Switching Point"; + } + leaf remote-address { + type inet:ipv4-address; + description + "Remote IP Address of Last PW Switching Point + traversed"; + } + leaf description { + type string; + description + "PW Switching Point description"; + } + } + + grouping L2VPN-MS-PW { + description + "L2VPN MS PW"; + container status-tlv { + description + "PW Status Switching TLV"; + uses L2VPN-MS-PW-TLV-INFO; + } + leaf pw-status { + type uint32; + description + "PW Status"; + } + list tlv { + description + "Switching TLV info"; + uses L2VPN-MS-PW-TLV-INFO; + } + } + + grouping L2VPN-TE-NAMED-TUN-PREFPATH { + description + "L2VPN TE NAMED TUN PREFPATH"; + leaf te-named-tunnel { + type string; + description + "TE Tunnel Name"; + } + } + + grouping L2VPN-SR-TE-PREFPATH { + description + "L2VPN SR TE PREFPATH"; + leaf policy-name { + type string; + description + "SR TE Policy Name"; + } + leaf policy-ifh { + type uint32; + description + "SR TE Policy IFHandle"; + } + leaf policy-bsid { + type uint32; + description + "SR TE Policy Binding-SID"; + } + } + + grouping L2VPN-PW-MPLS-PREFPATH { + description + "L2VPN PW MPLS PREFPATH"; + container srte-policy { + when "../option = 'l2vpn-pw-mpls-pref-path-sr-te'" { + description + "../Option = 'L2VPN_PW_MPLS_PREFPATH_SR_TE'"; + } + description + "srte policy"; + uses L2VPN-SR-TE-PREFPATH; + } + container te-named-tunnel { + when "../option = 'l2vpn-pw-mpls-pref-path-te-named-tunnel'" { + description + "../Option = + 'L2VPN_PW_MPLS_PREFPATH_TE_NAMED_TUNNEL'"; + } + description + "te named tunnel"; + uses L2VPN-TE-NAMED-TUN-PREFPATH; + } + leaf option { + type L2vpn-prefpath-option; + description + "Option"; + } + leaf next-hop-ip { + when "../option = 'l2vpn-pw-mpls-pref-path-next-hop-ip'" { + description + "../Option = + 'L2VPN_PW_MPLS_PREFPATH_NEXT_HOP_IP'"; + } + type uint32; + description + "NextHopIP"; + } + leaf te-tunnel-interface-number { + when "../option = 'l2vpn-pw-mpls-pref-path-te-tunnel'" { + description + "../Option = 'L2VPN_PW_MPLS_PREFPATH_TE_TUNNEL'"; + } + type uint32; + description + "TETunnelInterfaceNumber"; + } + leaf ip-tunnel-interface-number { + when "../option = 'l2vpn-pw-mpls-pref-path-ip-tunnel'" { + description + "../Option = 'L2VPN_PW_MPLS_PREFPATH_IP_TUNNEL'"; + } + type uint32; + description + "IPTunnelInterfaceNumber"; + } + leaf tp-tunnel-interface-number { + when "../option = 'l2vpn-pw-mpls-pref-path-tp-tunnel'" { + description + "../Option = 'L2VPN_PW_MPLS_PREFPATH_TP_TUNNEL'"; + } + type uint32; + description + "TPTunnelInterfaceNumber"; + } + } + + grouping L2VPN-EVPN-L2-ATTRS { + description + "L2VPN EVPN L2 ATTRS"; + leaf mtu { + type uint16; + description + "Maximum Transmission Unit"; + } + leaf designated-forwarder-role { + type Evpn-bag-df-role; + description + "Designated Forwarder Role"; + } + leaf control-word { + type Evpn-bag-l2-attr-cw; + description + "Control Word"; + } + } + + grouping L2VPN-EVPN-SRV6-SID-INFO { + description + "SRv6 SID information for EVPN services"; + leaf srv6-sid { + type inet:ipv6-address; + description + "SRv6 SID"; + } + } + + grouping L2VPN-EVPN-SRTE-INFO { + description + "L2VPN EVPN SRTE INFO"; + leaf sr-te-type { + type uint8; + description + "Type of SR-TE Policy path from ODN"; + } + leaf sr-te-interface-name { + type xr:Interface-name; + description + "SR Traffic Engineering Interface Name"; + } + leaf sr-te-bsid { + type uint32; + description + "SR Traffic Engineering Binding-SID (Label)"; + } + leaf srv6-te-bsid { + type inet:ipv6-address; + description + "SRv6 Traffic Engineering Binding-SID"; + } + } + + grouping L2VPN-LABEL-PATH-BUFFER { + description + "L2VPN LABEL PATH BUFFER"; + container sr-te-info { + description + "SR(v6)-TE Policy info from ODN"; + uses L2VPN-EVPN-SRTE-INFO; + } + container layer2-attributes { + description + "Layer 2 Attributes"; + uses L2VPN-EVPN-L2-ATTRS; + } + leaf tunnel-endpoint-id { + type uint32; + description + "Tunnel Endpoint Identifier"; + } + leaf next-hop { + type inet:ipv6-address; + description + "Next-hop IP address (v6 format)"; + } + leaf output-label { + type uint32; + description + "Output Label"; + } + leaf reroute-label { + type uint32; + description + "Reroute Label"; + } + leaf ges-mac-address { + type yang:mac-address; + description + "Grouping ES MAC address"; + } + list issue { + description + "Issues with this path item"; + leaf entry { + type Evpn-bag-path-issues; + description + "Issues with this path item"; + } + } + list srv6-sid-info { + description + "Array of SRv6 SID information"; + uses L2VPN-EVPN-SRV6-SID-INFO; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping MGMT-SRV6-HEADEND-BEHAVIOR { + description + "SRv6 Headend Behavior Info"; + leaf type { + type Mgmt-srv6-headend; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping L2VPN-SRV6 { + description + "L2VPN SRV6"; + container srv6-headend-behavior { + description + "Headend behavior in use"; + uses MGMT-SRV6-HEADEND-BEHAVIOR; + } + container srv6-endpoint-behavior { + description + "Endpoint behavior in use"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + leaf srv6-local-sid { + type inet:ipv6-address; + description + "Locally allocated SRv6 SID"; + } + leaf srv6-locator-name { + type string; + description + "Locator Name used for allocation"; + } + list remote-path-buffer { + description + "Remote path buffer containing remote SIDs"; + uses L2VPN-LABEL-PATH-BUFFER; + } + } + + grouping L2VPN-L2TPV3 { + description + "L2VPN L2TPV3"; + leaf l2tp-class-name { + type string { + length "0..32"; + } + description + "L2TPClassName"; + } + leaf ipv4-source-address { + type inet:ipv4-address; + description + "IPv4 source address"; + } + leaf ipv6-source-address { + type inet:ipv6-address; + description + "IPv6 source address"; + } + leaf path-mtu-enabled { + type boolean; + description + "Path MTU enabled"; + } + leaf path-mtu-max-value { + type uint16; + description + "Path MTU Maximum allowable session MTU"; + } + leaf dont-fragment-bit { + type boolean; + description + "Don't Fragment Bit"; + } + leaf tos-mode { + type L2vpn-tos-mode; + description + "Type Of Service Mode"; + } + leaf tos { + type uint8; + description + "Type Of Service Value"; + } + leaf ttl { + type uint8; + description + "Time To Live value"; + } + leaf local-session-id { + type uint32; + description + "Local session id"; + } + leaf remote-session-id { + type uint32; + description + "Remote session id"; + } + leaf local-cookie-size { + type uint8; + description + "Local cookie size: 0, 4, or 8 bytes"; + } + leaf remote-cookie-size { + type uint8; + description + "Remote cookie size: 0, 4, or 8 bytes"; + } + leaf local-cookie-low-value { + type uint32; + description + "Lower 4 bytes of the value of the local cookie"; + } + leaf remote-cookie-low-value { + type uint32; + description + "Lower 4 bytes of the value of the remote cookie"; + } + leaf local-cookie-high-value { + type uint32; + description + "Upper 4 bytes of the value of the local cookie"; + } + leaf remote-cookie-high-value { + type uint32; + description + "Upper 4 bytes of the value of the remote cookie"; + } + leaf remote-circuit-status-up { + type boolean; + description + "RemoteCircuitStatusUp"; + } + leaf tunnel-state { + type L2vpn-l2tp-tunnel-state; + description + "L2TP tunnel state"; + } + leaf local-secondary-cookie-size { + type uint8; + description + "Local secondary cookie size: 0, 4, or 8 bytes"; + } + leaf local-secondary-cookie-low-value { + type uint32; + description + "Lower 4 bytes of the value of the local + secondary cookie"; + } + leaf local-secondary-cookie-high-value { + type uint32; + description + "Upper 4 bytes of the value of the local + secondary cookie"; + } + } + + grouping L2FIB-STATS-BAG-MSPW { + description + "L2FIB Multisegment pseudowire statistics"; + leaf received-packets { + type uint64; + description + "Packets received"; + } + leaf received-bytes { + type uint64; + units "byte"; + description + "Bytes received"; + } + } + + grouping L2VPN-ATOM { + description + "L2VPN ATOM"; + container local-agi { + description + "Local Attachment Group Identifier"; + uses L2VPN-VPLS-ID; + } + container remote-agi { + description + "Remote Attachment Group Identifier"; + uses L2VPN-VPLS-ID; + } + container multi-segment-pseudowire-stats { + description + "Multisegment pseudowire statistics"; + uses L2FIB-STATS-BAG-MSPW; + } + leaf is-pseudowire-headend { + type boolean; + description + "Is this connected to a PW-HE AC"; + } + leaf local-label { + type uint32; + description + "Local label"; + } + leaf remote-label { + type uint32; + description + "Remote label"; + } + leaf local-group-id { + type uint32; + description + "Local group ID"; + } + leaf remote-group-id { + type uint32; + description + "Remote group ID"; + } + leaf local-cv-type { + type uint8; + description + "Local VCCV CV type"; + } + leaf local-c-ctype { + type uint8; + description + "Local VCCV CC type"; + } + leaf remote-cv-type { + type uint8; + description + "Remote VCCV CV type"; + } + leaf remote-c-ctype { + type uint8; + description + "Remote VCCV CC type"; + } + leaf local-veid { + type uint32; + description + "Local VE ID"; + } + leaf remote-veid { + type uint32; + description + "Remote VE ID"; + } + leaf local-ceid { + type uint32; + description + "Local CE ID"; + } + leaf remote-ceid { + type uint32; + description + "Remote CE ID"; + } + leaf source-address { + type inet:ipv4-address; + description + "Local BGP source address"; + } + leaf remote-source-address { + type inet:ipv4-address; + description + "Remote BGP source address"; + } + leaf local-ldp-id { + type inet:ipv4-address; + description + "Local LDP ID"; + } + leaf remote-ldp-id { + type inet:ipv4-address; + description + "Remote LDP ID"; + } + leaf saii { + type inet:ipv4-address; + description + "Source Attachment Individual Identifer"; + } + leaf taii { + type inet:ipv4-address; + description + "Target Attachment Individual Identifer"; + } + leaf is-sai-itype2 { + type boolean; + description + "Is SAII FEC129 Type 2"; + } + leaf local-saii-gbl-id { + type uint32; + description + "Local SAII Global ID"; + } + leaf local-saiiac-id { + type uint32; + description + "Local SAII AC ID"; + } + leaf is-tai-itype2 { + type boolean; + description + "Is TAII type 2"; + } + leaf local-taii-gbl-id { + type uint32; + description + "Local TAII Global ID"; + } + leaf local-taiiac-id { + type uint32; + description + "Local TAII AC ID"; + } + leaf rem-saii-gbl-id { + type uint32; + description + "Remote SAII Global ID"; + } + leaf rem-saiiac-id { + type uint32; + description + "Remote SAII AC ID"; + } + leaf rem-taii-gbl-id { + type uint32; + description + "Remote TAII Global ID"; + } + leaf rem-taiiac-id { + type uint32; + description + "Remote TAII AC ID"; + } + leaf rem-saii { + type inet:ipv4-address; + description + "Remote Source Attachment Individual Identifer"; + } + leaf rem-taii { + type inet:ipv4-address; + description + "Remote Target Attachment Individual Identifer"; + } + leaf lsd-rewrite-failed { + type boolean; + description + "LSD rewrite failed"; + } + leaf ldp-label-advertisment-failed { + type boolean; + description + "LDP label advertisment failed"; + } + leaf pwhe-internal-label { + type uint32; + description + "PWHE Internal Label"; + } + } + + grouping L2VPN-ENCAP-PW { + description + "L2VPN ENCAP PW"; + container atom { + when "../encapsulation = 'l2vpn-pw-encaps-mpls'" { + description + "../Encapsulation = 'L2VPN_PW_ENCAPS_MPLS'"; + } + description + "atom"; + uses L2VPN-ATOM; + } + container l2tpv3 { + when "../encapsulation = 'l2vpn-pw-encaps-l2tpv3'" { + description + "../Encapsulation = 'L2VPN_PW_ENCAPS_L2TPV3'"; + } + description + "l2tpv3"; + uses L2VPN-L2TPV3; + } + container srv6 { + when "../encapsulation = 'l2vpn-pw-encaps-srv6'" { + description + "../Encapsulation = 'L2VPN_PW_ENCAPS_SRV6'"; + } + description + "srv6"; + uses L2VPN-SRV6; + } + leaf encapsulation { + type L2vpn-encap-method; + description + "Encapsulation"; + } + } + + grouping L2VPN-PEER { + description + "L2VPN PEER"; + leaf type { + type L2vpn-peer; + description + "type"; + } + leaf ipv4-peer-id { + when "../type = 'ipv4'" { + description + "../type = 'IPV4'"; + } + type inet:ipv4-address; + description + "Peer IPv4 address"; + } + leaf ipv6-peer-id { + when "../type = 'ipv6'" { + description + "../type = 'IPV6'"; + } + type L2vpn-bag-in6-addr; + description + "Peer IPv6 address"; + } + leaf internal-label { + when "../type = 'internal-label'" { + description + "../type = 'InternalLabel'"; + } + type uint32; + description + "Internal Label"; + } + leaf internal-id { + when "../type = 'internal-id'" { + description + "../type = 'InternalID'"; + } + type uint32; + description + "Internal ID"; + } + } + + grouping L2VPN-PW { + description + "L2VPN PW"; + container peer-id { + description + "Peer"; + uses L2VPN-PEER; + } + container encapsulation-info { + description + "Encapsulation specific pseudowire information"; + uses L2VPN-ENCAP-PW; + } + container local-interface { + description + "Local interface"; + uses L2VPN-INTERFACE; + } + container remote-interface { + description + "Remote interface"; + uses L2VPN-INTERFACE; + } + container preferred-path { + description + "MPLS Preferred Path"; + uses L2VPN-PW-MPLS-PREFPATH; + } + container local-signalling { + description + "Local signalling"; + uses L2VPN-MS-PW; + } + container remote-signalling { + description + "Remote signalling"; + uses L2VPN-MS-PW; + } + container statistics { + description + "Statistics"; + uses L2FIB-STATS-BAG-FORWARDING; + } + container p2mp-pw { + description + "P2MP Pseudowire Information"; + uses L2VPN-P2MP-PW; + } + leaf local-source-address { + type inet:ipv4-address; + description + "Local Source Address"; + } + leaf ipv6-local-source-address { + type inet:ipv6-address; + description + "Local IPv6 Source Address"; + } + leaf pseudo-wire-id { + type uint64; + description + "Pseudowire ID"; + } + leaf evpn-vpws-type { + type Evpn-vpws; + description + "EVPN VPWS Type"; + } + leaf is-pwr-type { + type boolean; + description + "is Pseudowire-routed"; + } + leaf is-evpn-vpws-type { + type boolean; + description + "is EVPN VPWS"; + } + leaf xconnect-id { + type uint32; + description + "XConnect ID"; + } + leaf state { + type L2vpn-segment-state; + description + "State"; + } + leaf pseudo-wire-state { + type L2vpn-pw-state; + description + "Pseudowire state"; + } + leaf protocol { + type L2vpn-signalling-proto; + description + "Protocol"; + } + leaf pw-class-name { + type string { + length "0..33"; + } + description + "Pseudowire class name"; + } + leaf tag-rewrite { + type uint16; + description + "StaticTagRewrite"; + } + leaf interworking { + type L2vpn-interworking; + description + "Interworking type"; + } + leaf fe-ctype { + type L2vpn-pw-fec; + description + "Pseudowire FEC type"; + } + leaf evpn-src-acid { + type uint32; + description + "EVPN VPWS Source AC ID"; + } + leaf mtu-mismatch-ignore { + type boolean; + description + "Ignore MTU Mismatch"; + } + leaf mtu-zero-transmit { + type boolean; + description + "Transmit MTU Zero"; + } + leaf sequencing-type { + type L2vpn-pw-sequence; + description + "Sequencing Type"; + } + leaf resync-enabled { + type boolean; + description + "Resync if packets out of sequence"; + } + leaf resync-threshold { + type uint32; + description + "Number of Packets Out of Seqence to trigger + resync"; + } + leaf local-control-word { + type L2vpn-pw-control-word; + description + "Local control word"; + } + leaf remote-control-word { + type L2vpn-pw-control-word; + description + "Remote control word"; + } + leaf local-pseudo-wire-type { + type L2vpn-pw; + description + "Local pseudowire type"; + } + leaf remote-pseudo-wire-type { + type L2vpn-pw; + description + "Remote pseudowire type"; + } + leaf imposed-vlan-id { + type uint32; + description + "Imposed vlan id"; + } + leaf time-created { + type string { + length "0..50"; + } + description + "Time when the pseudowire was created"; + } + leaf time-elapsed-creation { + type string { + length "0..50"; + } + description + "Time elapsed since creation"; + } + leaf last-time-status-changed { + type string { + length "0..50"; + } + description + "Last time the pseudowire status changed"; + } + leaf time-elapsed-status-changed { + type string { + length "0..50"; + } + description + "Time elapsed since status changed"; + } + leaf last-time-status-down { + type string { + length "0..50"; + } + description + "Last time the pseudowire went down in format + %d/%m/%Y %H:%M:%S"; + } + leaf time-elapsed-status-down { + type uint32; + units "second"; + description + "Time elapsed since last status down in seconds"; + } + leaf shutdown { + type boolean; + description + "Shutdown"; + } + leaf data-path-down { + type boolean; + description + "True if LSP down"; + } + leaf use-tunnel-path { + type boolean; + description + "True if using TE tunnel"; + } + leaf odn-configured { + type boolean; + description + "True if ODN is configured"; + } + leaf pseudo-wire-type-mismatched { + type boolean; + description + "Pseudowire type mismatched"; + } + leaf payload-bytes-mismatched { + type boolean; + description + "Payload bytes mismatched"; + } + leaf bitrate-mismatched { + type boolean; + description + "Bitrate mismatched"; + } + leaf rtp-mismatched { + type boolean; + description + "RTP mismatched"; + } + leaf diff-ts-mismatched { + type boolean; + description + "Differential timestamp mismatched"; + } + leaf sig-pkts-mismatched { + type boolean; + description + "Signalling packets mismatched"; + } + leaf cas-mismatched { + type boolean; + description + "CAS mismatched"; + } + leaf payload-type-mismatched { + type boolean; + description + "Payload bytes mismatched"; + } + leaf freq-mismatched { + type boolean; + description + "Frequency mismatched"; + } + leaf ssrc-mismatched { + type boolean; + description + "SSRC mismatched"; + } + leaf mtu-mismatched { + type boolean; + description + "MTU mismatched"; + } + leaf illegal-control-word { + type boolean; + description + "Illegal control word"; + } + leaf ad-remote-down { + type boolean; + description + "Auto-Discovered PW remote state down"; + } + leaf not-supported-qinq { + type boolean; + description + "A true value indicates that QinQ is not + supported with L2TPv3; A false value indicates + that it is supported. Please note that this + object has been deprecated and will be removed + in the near future since QinQ is supported going + forward."; + } + leaf local-label-failed { + type boolean; + description + "Failed to set BGP advertised local label"; + } + leaf remote-label-failed { + type boolean; + description + "Failed to set BGP advertised remote label"; + } + leaf preferred-path-disable-fallback { + type boolean; + description + "Prefpath fallback enable/disable"; + } + leaf backup-pw { + type boolean; + description + "TRUE if PW is a backup PW"; + } + leaf primary-pw { + type boolean; + description + "TRUE if PW is a primary PW"; + } + leaf backup-active { + type boolean; + description + "TRUE if backup is active"; + } + leaf backup-force-active { + type boolean; + description + "TRUE if backup is active due to switchover"; + } + leaf disable-never { + type boolean; + description + "TRUE if backup is not automatically disabled"; + } + leaf disable-delay { + type uint8; + description + "Backup disable delay"; + } + leaf primary-peer-id { + type inet:ipv4-address; + description + "Primary Peer IP address"; + } + leaf primary-pseudo-wire-id { + type uint64; + description + "Primary Pseudowire ID"; + } + leaf number-ma-cwithdraw-message-sent { + type uint32; + description + "Num MW messages sent over PW"; + } + leaf num-ma-cwithdraw-msg-received { + type uint32; + description + "Num MW messages received over PW"; + } + leaf out-of-memory-state { + type uint32; + description + "L2VPN Out of memory state"; + } + leaf transport-lsp-down { + type boolean; + description + "Oper down due to Transport LSP down"; + } + leaf mac-limit-oper-down { + type boolean; + description + "Oper down because MAC limit reached"; + } + leaf pw-status-use { + type boolean; + description + "PW status in use"; + } + leaf auto-discovery { + type boolean; + description + "Is autodiscovery"; + } + leaf ad-method { + type uint32; + description + "Autodiscovery method"; + } + leaf pwlsd-rewrite-failed { + type boolean; + description + "LSD rewrite failed"; + } + leaf ldp-label-advertise-failed { + type boolean; + description + "LDP label advertisment failed"; + } + leaf is-vfi { + type boolean; + description + "Is VFI interface"; + } + leaf is-multi-segment-pseudowire { + type boolean; + description + "Is Multi-Segment Pseudowire"; + } + leaf pw-redundancy-one-way { + type boolean; + description + "Force one-way PW redundancy behaviour in + Redundancy Group"; + } + leaf load-balance { + type L2vpn-load-bal; + description + "Load Balance Type"; + } + leaf pw-flow-label-type { + type L2vpn-pw-flow-label; + description + "Negotiated pseudowire flow label type"; + } + leaf pw-flow-label-type-cfg { + type L2vpn-pw-flow-label; + description + "Configured pseudowire flow label Type"; + } + leaf pw-flow-label-code17-disabled { + type boolean; + description + "Disable sending Code 17 TLV"; + } + leaf is-flow-label-static { + type boolean; + description + "is flow label static"; + } + leaf is-partially-programmed { + type boolean; + description + "Is Pseudowire partially programmed"; + } + leaf pw-redundancy-initial-delay { + type uint8; + units "second"; + description + "Initial delay for redundant PW in seconds"; + } + leaf bridge-pw-type-mismatch { + type boolean; + description + "Oper down because Bridge has mismatched PW Types"; + } + leaf required-bw { + type uint32; + description + "Required Bandwidth"; + } + leaf admited-bw { + type uint32; + description + "Admited Bandwidth"; + } + leaf forward-class { + type uint8; + description + "Forward Class attribute"; + } + leaf table-policy-name { + type string; + description + "Table-policy Name"; + } + leaf is-fxc-vlan-aware { + type boolean; + description + "Is FXC vlan-aware"; + } + leaf etree-leaf { + type boolean; + description + "E-Tree Leaf Indication"; + } + list evpn-vpws-down-reason { + description + "EVPN VPWS down reasons"; + leaf entry { + type Evpn-vpws-reason; + description + "EVPN VPWS down reasons"; + } + } + } + + grouping L2VPN-PROTECTION { + description + "L2VPN PROTECTION"; + leaf protection-type { + type L2vpn-protection; + description + "Type of the protection"; + } + leaf protection-configured { + type L2vpn-protection-role; + description + "Protection configured"; + } + leaf protection-name { + type string { + length "0..81"; + } + description + "Name of the segment acting as backup"; + } + leaf protected-name { + type string { + length "0..81"; + } + description + "Name of the protected segment"; + } + leaf active { + type boolean; + description + "Active"; + } + } + + grouping L2FIB-STATS-BAG-SEQ-NUM { + description + "L2FIB sequence numbers"; + leaf sequence-number-sent { + type uint32; + description + "sequence number sent"; + } + leaf sequence-number-expected { + type uint32; + description + "sequence number expected"; + } + leaf bypassed-inbound-sequence-packet { + type uint64; + description + "Bypassed inbound sequence packets"; + } + leaf bypassed-out-sequence-packet { + type uint64; + description + "Bypassed outbound sequence packets"; + } + } + + grouping L2FIB-STATS-BAG-DISP { + description + "L2FIB disposition statistics"; + container disposition-stat { + description + "disposition stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container disposition-mtu-drop { + description + "disposition mtu drop stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container disposition-tail-drop { + description + "disposition tail drop stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container multicast-drop { + description + "disposition storm control multicast drop stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container unicast-drop { + description + "disposition storm control unknown unicast drop + stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container broadcast-drop { + description + "disposition storm control broadcast drop stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container received-drops { + description + "tx discards"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container dai-drop { + description + "Disposition dynamic ARP inspection drop + statistics"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container ipsg-drop { + description + "disposition IP source guard drop statistics"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container disposition-oo-o-drops { + description + "Disposition Out-of-Order Drops"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container disposition-p2mp-stats { + description + "Disposition P2MP Stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container known-unicast { + description + "Known Unicast"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container mac-move { + description + "MAC Move"; + uses L2FIB-STATS-BAG-COUNTERS; + } + } + + grouping L2FIB-STATS-BAG-COUNTERS { + description + "L2FIB statistics counters"; + leaf packet-counts { + type uint64; + description + "packets counters"; + } + leaf byte-counts { + type uint64; + units "byte"; + description + "bytes counters"; + } + } + + grouping L2FIB-STATS-BAG-IMP { + description + "L2FIB imposition statistics"; + container imposition-stat { + description + "imposition stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container imposition-mtu-drop { + description + "imposition mtu drop stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container imposition-tail-drop { + description + "imposition tail drop stats"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container l2fsbi-drop { + description + "rx discards"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container multicast { + description + "Multicast"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container broadcast { + description + "Broadcast"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container known-unicast { + description + "Known Unicast"; + uses L2FIB-STATS-BAG-COUNTERS; + } + container unknown-unicast { + description + "Unknown Unicast"; + uses L2FIB-STATS-BAG-COUNTERS; + } + } + + grouping L2FIB-STATS-BAG-FORWARDING { + description + "L2FIB forwarding statistics"; + container imposition-stats { + description + "imposition stats"; + uses L2FIB-STATS-BAG-IMP; + } + container disposition-stats { + description + "disposition stats"; + uses L2FIB-STATS-BAG-DISP; + } + container sequence-number { + description + "sequence numbers"; + uses L2FIB-STATS-BAG-SEQ-NUM; + } + } + + grouping L2VPN-PWHE { + description + "L2VPN PWHE"; + container interface-list { + description + "Interface list data"; + uses ITEM-IFLIST-IFL; + } + leaf is-valid { + type boolean; + description + "Is this Interface list valid"; + } + leaf internal-label { + type uint32; + description + "Internal Label"; + } + } + + grouping L2VPN-FR { + description + "L2VPN FR"; + leaf fr-mode { + type L2vpn-fr-mode; + description + "Frame Relay mode"; + } + leaf dlci { + type uint32; + description + "Data-link connection identifier"; + } + } + + grouping L2VPN-ATM { + description + "L2VPN ATM"; + leaf maximum-number-cells-packed { + type uint16; + description + "Max number of cells packed"; + } + leaf maximum-number-cells-un-packed { + type uint16; + description + "Max number of cells unpacked"; + } + leaf atm-mode { + type L2vpn-atm-mode; + description + "ATM mode"; + } + leaf vpi { + type uint16; + description + "Virtual path identifier"; + } + leaf vci { + type uint16; + description + "Virtual channel identifier"; + } + } + + grouping L2VPN-TDM-OPTION { + description + "L2VPN TDM options"; + leaf payload-bytes { + type uint16; + units "byte"; + description + "TDM payload bytes"; + } + leaf bit-rate { + type uint32; + units "kbit/s"; + description + "TDM bit rate in units of Kbps"; + } + leaf rtp { + type L2vpn-tdm-rtp-option; + description + "RTP header"; + } + leaf timestamp-mode { + type L2vpn-time-stamp-mode; + description + "TDM Timestamping mode"; + } + leaf signalling-packets { + type uint8; + description + "Signalling packets"; + } + leaf cas { + type uint8; + description + "CAS"; + } + leaf rtp-header-payload-type { + type uint8; + description + "RTP header payload type"; + } + leaf timestamp-clock-freq { + type uint16; + description + "Timestamping clock frequency in units of 8Khz"; + } + leaf ssrc { + type uint32; + description + "Synchronization Source identifier"; + } + } + + grouping L2VPN-TDM { + description + "L2VPN TDM parameters"; + container tdm-options { + description + "TDM options"; + uses L2VPN-TDM-OPTION; + } + leaf timeslot-group { + type string; + description + "Timeslots separated by , or - from 1 to 31. : + indicates individual timeslot and - represents a + range.E.g. 1-3,5 represents timeslots 1, 2, 3, + and 5."; + } + leaf timeslot-rate { + type uint8; + units "kbit/s"; + description + "Timeslot rate in units of Kbps"; + } + leaf tdm-mode { + type L2vpn-tdm-mode; + description + "TDM mode"; + } + } + + grouping L2VPN-EFP-RANGE { + description + "EFP range"; + leaf lower { + type uint16; + description + "Lower"; + } + leaf upper { + type uint16; + description + "Upper"; + } + } + + grouping L2VPN-VLAN { + description + "L2VPN VLAN"; + leaf xconnect-tags { + type uint8; + description + "XConnect tags"; + } + leaf vlan-rewrite-tag { + type uint16; + description + "VLAN rewrite tag"; + } + leaf simple-efp { + type uint8; + description + "Simple EFP"; + } + leaf encapsulation-type { + type uint8; + description + "Encapsulation Type"; + } + leaf outer-tag { + type uint16; + description + "Outer Tag"; + } + list rewrite-tag { + description + "Rewrite Tags"; + leaf entry { + type uint16; + description + "Rewrite Tags"; + } + } + list vlan-range { + description + "vlan range"; + uses L2VPN-EFP-RANGE; + } + } + + grouping L2VPN-ETHERNET { + description + "L2VPN ETHERNET"; + leaf xconnect-tags { + type uint8; + description + "XConnect tags"; + } + } + + grouping L2VPN-INTERFACE-PARAMS { + description + "L2VPN INTERFACE PARAMS"; + container ethernet { + when "../type = 'l2vpn-intf-type-ethernet'" { + description + "../Type = 'L2VPN_INTF_TYPE_ETHERNET'"; + } + description + "Ethernet"; + uses L2VPN-ETHERNET; + } + container vlan { + when "../type = 'l2vpn-intf-type-vlan'" { + description + "../Type = 'L2VPN_INTF_TYPE_VLAN'"; + } + description + "VLAN"; + uses L2VPN-VLAN; + } + container tdm { + when "../type = 'l2vpn-intf-type-cem'" { + description + "../Type = 'L2VPN_INTF_TYPE_CEM'"; + } + description + "TDM"; + uses L2VPN-TDM; + } + container atm { + when "../type = 'l2vpn-intf-type-atm'" { + description + "../Type = 'L2VPN_INTF_TYPE_ATM'"; + } + description + "ATM"; + uses L2VPN-ATM; + } + container fr { + when "../type = 'l2vpn-intf-type-frame-relay'" { + description + "../Type = 'L2VPN_INTF_TYPE_FRAME_RELAY'"; + } + description + "Frame Relay"; + uses L2VPN-FR; + } + container pseudowire-ether { + when "../type = 'l2vpn-intf-type-pw-ether'" { + description + "../Type = 'L2VPN_INTF_TYPE_PW_ETHER'"; + } + description + "PW Ether"; + uses L2VPN-PWHE; + } + container pseudowire-iw { + when "../type = 'l2vpn-intf-type-pw-iw'" { + description + "../Type = 'L2VPN_INTF_TYPE_PW_IW'"; + } + description + "PW IW"; + uses L2VPN-PWHE; + } + leaf type { + type L2vpn-interface; + description + "Type"; + } + } + + grouping L2VPN-INTERFACE { + description + "L2VPN INTERFACE"; + container parameters { + description + "Interface parameters"; + uses L2VPN-INTERFACE-PARAMS; + } + leaf name { + type string { + length "0..81"; + } + description + "Interface name"; + } + leaf mtu { + type uint32; + description + "Interface MTU"; + } + leaf payload-bytes { + type uint16; + units "byte"; + description + "Payload bytes"; + } + } + + grouping L2VPN-AC { + description + "L2VPN AC"; + container interface { + description + "Interface"; + uses L2VPN-INTERFACE; + } + container statistics { + description + "Statistics"; + uses L2FIB-STATS-BAG-FORWARDING; + } + container l2vpn-protection { + description + "Protection object used for this segment"; + uses L2VPN-PROTECTION; + } + leaf state { + type L2vpn-segment-state; + description + "State"; + } + leaf msti { + type string; + description + "MSTi"; + } + leaf internal-ms-ti { + type string; + description + "Internal MSTi"; + } + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + leaf xconnect-id { + type uint32; + description + "XConnect ID"; + } + leaf ms-ti-mismatch { + type boolean; + description + "MSTi mismatch"; + } + leaf mtu-mismatched { + type boolean; + description + "MTU mismatched"; + } + leaf tdm-media-mismatched { + type boolean; + description + "TDM media parms mismatched"; + } + leaf bvi-mac-conflict { + type boolean; + description + "BVI Mac Conflict"; + } + leaf bvi-no-port-up { + type boolean; + description + "BVI no BP Up"; + } + leaf control-word-mismatched { + type boolean; + description + "Control word mismatched"; + } + leaf encapsulation-mismatched { + type boolean; + description + "Encapsulation mismatched"; + } + leaf encapsulation-error { + type string; + description + "Encapsulation Error"; + } + leaf interworking { + type L2vpn-interworking; + description + "Interworking type"; + } + leaf out-of-memory-state { + type uint32; + description + "L2VPN Out of memory state"; + } + leaf msti-mismatch-down { + type boolean; + description + "Oper down due to MSTI mismatch"; + } + leaf mac-limit-oper-down { + type boolean; + description + "Oper down because MAC limit reached"; + } + leaf redundancy-group-id { + type uint32; + description + "Redundancy Group ID"; + } + leaf redundancy-group-state { + type L2vpn-rg-state; + description + "Redundancy Group State"; + } + leaf redundancy-object-id { + type uint64; + description + "Redundancy Object ID"; + } + leaf is-ac-partially-programmed { + type boolean; + description + "Is attachment-circuit partially programmed"; + } + leaf evpn-internal-label { + type uint32; + description + "EVPN Internal Label"; + } + } + + grouping L2VPN-SEGMENT { + description + "L2VPN SEGMENT"; + container attachment-circuit { + when "../segment-type = 'l2vpn-segment-type-ac'" { + description + "../SegmentType = 'L2VPN_SEGMENT_TYPE_AC'"; + } + description + "Attachment Circuit"; + uses L2VPN-AC; + } + container pseudo-wire { + when "../segment-type = 'l2vpn-segment-type-pw'" { + description + "../SegmentType = 'L2VPN_SEGMENT_TYPE_PW'"; + } + description + "Pseudowire"; + uses L2VPN-PW; + } + leaf segment-type { + type L2vpn-segment; + description + "SegmentType"; + } + } + + grouping L2VPN-XC { + description + "L2VPN XC"; + container backup { + description + "LCR backup"; + uses L2VPN-SEGMENT; + } + container segment1 { + description + "Segment 1"; + uses L2VPN-SEGMENT; + } + container segment2 { + description + "Segment 2"; + uses L2VPN-SEGMENT; + } + container ce2ce { + description + "CE2CE"; + uses L2VPN-XC-CE2CE; + } + leaf group-name-xr { + type string; + description + "Group name"; + } + leaf xconnect-name-xr { + type string; + description + "XConnect name"; + } + leaf number-of-backup-p-ws { + type uint32; + description + "Number of backups"; + } + leaf state { + type L2vpn-xc-state; + description + "State of the xconnect"; + } + leaf interworking { + type L2vpn-interworking; + description + "Interworking type"; + } + leaf diag-mask { + type uint32; + description + "Mask indicating what if anything is missing + before the XC can be provisioned"; + } + leaf description { + type string; + description + "P2P Description"; + } + leaf is-mp2mp { + type boolean; + description + "xconnect is mp2mp"; + } + list backup-segment { + max-elements "1"; + description + "Backup Segment"; + uses L2VPN-SEGMENT; + } + } + + grouping L2VPN-RD-V4ADDR { + description + "L2VPN RD V4ADDR"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RD-4BYTE-AS { + description + "L2VPN RD 4BYTE AS"; + leaf four-byte-as { + type uint32; + description + "4 Byte AS Number"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-RD-2BYTE-AS { + description + "L2VPN RD 2BYTE AS"; + leaf two-byte-as { + type uint16; + description + "2 Byte AS Number"; + } + leaf four-byte-index { + type uint32; + description + "4 Byte Index"; + } + } + + grouping L2VPN-RD-AUTO { + description + "L2VPN RD AUTO"; + leaf router-id { + type inet:ipv4-address; + description + "BGP Router ID"; + } + leaf auto-index { + type uint16; + description + "Auto-generated Index"; + } + } + + grouping L2VPN-RD { + description + "L2VPN RD"; + container auto { + when "../rd = 'l2vpn-ad-rd-auto'" { + description + "../RD = 'L2VPN_AD_RD_AUTO'"; + } + description + "auto"; + uses L2VPN-RD-AUTO; + } + container two-byte-as { + when "../rd = 'l2vpn-ad-rd-as'" { + description + "../RD = 'L2VPN_AD_RD_AS'"; + } + description + "two byte as"; + uses L2VPN-RD-2BYTE-AS; + } + container four-byte-as { + when "../rd = 'l2vpn-ad-rd-4byte-as'" { + description + "../RD = 'L2VPN_AD_RD_4BYTE_AS'"; + } + description + "four byte as"; + uses L2VPN-RD-4BYTE-AS; + } + container v4-addr { + when "../rd = 'l2vpn-ad-rd-v4-addr'" { + description + "../RD = 'L2VPN_AD_RD_V4ADDR'"; + } + description + "v4 addr"; + uses L2VPN-RD-V4ADDR; + } + leaf rd { + type L2vpn-ad-rd; + description + "RD"; + } + } + + grouping L2VPN-ATOM-PWR-SUMMARY { + description + "L2VPN ATOM Pseudowire Routing Information Summary"; + container rd-auto { + description + "Automatic Route Distingtuisher"; + uses L2VPN-RD; + } + container rd-configured { + description + "Configured Route Distinguisher"; + uses L2VPN-RD; + } + leaf bgp-router-id { + type inet:ipv4-address; + description + "BGP Router ID"; + } + leaf cfg-router-id { + type inet:ipv4-address; + description + "Configured Router ID"; + } + leaf bgp-as { + type uint32; + description + "BGP AS number"; + } + leaf cfg-global-id { + type uint32; + description + "Configured Global ID"; + } + leaf l2vpn-has-bgp-eod { + type boolean; + description + "L2VPN got BGP EOD"; + } + } + + grouping L2VPN-GLOBALS { + description + "L2VPN GLOBALS"; + leaf pw-grouping-enabled { + type boolean; + description + "PW Grouping enabled"; + } + leaf pw-status-enabled { + type boolean; + description + "PW Status enabled"; + } + leaf logging-pw-enabled { + type boolean; + description + "Logging PW enabled"; + } + leaf logging-bd-enabled { + type boolean; + description + "Logging BD state changes enabled"; + } + leaf logging-vfi-enabled { + type boolean; + description + "Logging VFI state changes enabled"; + } + leaf logging-nsr-enabled { + type boolean; + description + "Logging NSR state changes enabled"; + } + leaf logging-df-election-enabled { + type boolean; + description + "Logging EVPN Designated Forwarder changes + enabled"; + } + leaf tcn-propagation-enabled { + type boolean; + description + "TCN propagation enabled"; + } + leaf pw-oam-refresh-transmit-time { + type uint32; + units "second"; + description + "PW OAM refresh transmit (seconds)"; + } + leaf ha-role { + type string; + description + "Node redundancy role"; + } + leaf issu-role { + type string; + description + "Node ISSU role"; + } + leaf process-fsm { + type string; + description + "Current L2VPN FSM role"; + } + leaf going-active { + type boolean; + description + "transitioning to Active functional role"; + } + } + + grouping VC-INFO { + description + "VC Info"; + leaf peer-id { + type inet:ipv4-address; + description + "PeerID"; + } + leaf source-address { + type inet:ipv4-address; + description + "SourceAddress"; + } + leaf pwid-type { + type L2vpn-pw-id; + description + "pwid type"; + } + leaf pwid { + type uint64; + description + "PWID"; + } + leaf fe-ctype { + type L2vpn-pw-fec; + description + "FECType"; + } + } + + grouping L2VPN-PREFERRED-PATH { + description + "L2VPN PREFRRED PATH"; + leaf type { + type L2vpn-preferred; + description + "Preferred type"; + } + leaf interface-name-xr { + type string { + length "0..81"; + } + description + "Interface name"; + } + leaf total-bandwidth { + type uint32; + description + "TotalBandwidth"; + } + leaf available-bandwidth { + type uint32; + description + "AvailableBandwidth"; + } + leaf reserved-bandwidth { + type uint32; + description + "ReservedBandwidth"; + } + list virtual-circuit { + description + "virtual circuit"; + uses VC-INFO; + } + } + + grouping L2VPN-MGMT-PROC-FSM-REPORT-CARD { + description + "L2VPN Process FSM report card"; + leaf collaborator-is-connected { + type boolean; + description + "Is the collaborator connected"; + } + leaf connection-change-time { + type uint32; + description + "Time when connection state (UP/DOWN) changed"; + } + leaf collaborator-idt-done { + type boolean; + description + "Is IDT done for this collaborator"; + } + leaf idt-time { + type uint32; + description + "Time when IDT was done"; + } + leaf collaborator-skipped { + type boolean; + description + "Was this collaborator skipped for not connecting + in time"; + } + leaf expect-idt { + type boolean; + description + "Does this collaborator expect an IDT"; + } + } + + grouping L2VPN-IDT-STATUS { + description + "IDT status information"; + leaf sync-status { + type L2vpn-sync-status; + description + "Sync status"; + } + leaf not-ready-reason { + type L2vpn-ha-nsr-not-ready-reason; + description + "Not ready reason"; + } + leaf idt-start-time { + type uint32; + units "second"; + description + "IDT start timestamp in seconds"; + } + leaf idt-end-time { + type uint32; + units "second"; + description + "IDT end timestamp in seconds"; + } + leaf declare-time { + type uint32; + units "second"; + description + "Declare ready timestamp in seconds"; + } + leaf withdraw-time { + type uint32; + units "second"; + description + "Withdraw ready timestamp in seconds"; + } + } + + grouping L2VPN-NSR-ISSU-STATUS-INFO { + description + "NSR/ISSU status information"; + container idt-status { + description + "IDT status"; + uses L2VPN-IDT-STATUS; + } + container previ-ous-idt-status { + description + "Previous IDT status"; + uses L2VPN-IDT-STATUS; + } + leaf nsr-role { + type uint8; + description + "NSR role"; + } + leaf issu-role { + type uint8; + description + "ISSU role"; + } + } + + grouping L2VPN-FAILOVER-STATUS { + description + "L2VPN failover status"; + leaf triggered-time { + type uint32; + description + "Triggered time"; + } + leaf start-time { + type uint32; + description + "Start time"; + } + leaf master-time { + type uint32; + description + "Master time"; + } + } + + grouping L2VPN-MGMT-PROC-FSM-XID-INFO { + description + "L2VPN MGMT PROC FSM XID INFO"; + leaf app-type { + type L2vpn-id-mgr-app-bag; + description + "App type"; + } + leaf sent-ids { + type uint32; + description + "Number of XIDs transferred"; + } + } + + grouping L2VPN-MGMT-PROC-FSM { + description + "L2VPN Process FSM Information"; + container failover-status { + description + "L2VPN failover status"; + uses L2VPN-FAILOVER-STATUS; + } + container nsr-status { + description + "L2VPN NSR status and timestamp"; + uses L2VPN-NSR-ISSU-STATUS-INFO; + } + container issu-status { + description + "L2VPN ISSU Status and timestamp"; + uses L2VPN-NSR-ISSU-STATUS-INFO; + } + leaf ha-role { + type uint8; + description + "Current HA Role"; + } + leaf issu-role { + type uint8; + description + "Current ISSU Role"; + } + leaf sync-flags { + type uint32; + description + "Sync complete flags"; + } + leaf sw-install-in-progress { + type boolean; + description + "Is s/w install currently in progress?"; + } + list xid-info { + description + "XID information"; + uses L2VPN-MGMT-PROC-FSM-XID-INFO; + } + list report-card { + description + "L2VPN Collaborator report card"; + uses L2VPN-MGMT-PROC-FSM-REPORT-CARD; + } + } + + grouping L2VPN-BRIDGE-SUMMARY { + description + "L2VPN BRIDGE SUMMARY"; + leaf number-groups { + type uint32; + description + "Number of groups"; + } + leaf number-vlan-switches { + type uint32; + description + "Number of VLAN Switches"; + } + leaf number-bridge-domains { + type uint32; + description + "Number of bridge-domains"; + } + leaf number-bridge-domains-up { + type uint32; + description + "Number of bridge-domains up"; + } + leaf number-bridge-domains-shut { + type uint32; + description + "Number of bridge-domains admin disabled"; + } + leaf number-default-bridge-doamins { + type uint32; + description + "Number of default bridge-domains"; + } + leaf number-pbb-edge { + type uint32; + description + "Number of PBB Edge"; + } + leaf number-pbb-core { + type uint32; + description + "Number of PBB Core"; + } + leaf number-p2mp { + type uint32; + description + "Number of P2MPs"; + } + leaf number-p2mp-up { + type uint32; + description + "Number of P2MPs whose state is up"; + } + leaf number-p2mp-down { + type uint32; + description + "Number of P2MPs whose state is down"; + } + leaf number-a-cs { + type uint32; + description + "Number of attachment circuits"; + } + leaf number-a-cs-up { + type uint32; + description + "Number of attachment circuits whose state is up"; + } + leaf number-a-cs-down { + type uint32; + description + "Number of attachment circuits whose state is + down"; + } + leaf number-pseudowires { + type uint32; + description + "Number of pseudowires"; + } + leaf number-p-ws-up { + type uint32; + description + "Number of pseudowires whose state is up"; + } + leaf number-p-ws-down { + type uint32; + description + "Number of pseudowires whose state is down"; + } + leaf standby-pseudowires { + type uint32; + description + "Number of pseudowires whose state is standby"; + } + leaf num-vn-is { + type uint32; + description + "Number of VNIs"; + } + leaf num-vn-is-up { + type uint32; + description + "Number of VNIs up"; + } + leaf num-vn-is-down { + type uint32; + description + "Number of VNIs down"; + } + leaf num-vn-is-unresolved { + type uint32; + description + "Number of VNIs unresolved"; + } + leaf out-of-memory-state { + type uint32; + description + "L2VPN Out of memory state"; + } + leaf partially-programmed-bridges { + type uint32; + description + "Number of partially programmed bridge-domains"; + } + leaf partially-programmed-pseudowires { + type uint32; + description + "Number of partially programmed pseudowires"; + } + leaf partially-programmed-a-cs { + type uint32; + description + "Number of partially programmed attachment + circuits"; + } + } + + grouping ICCP-SM-PORT-INFO { + description + "ICCP-based service multi-homing port information"; + leaf port-state { + type Iccp-sm-port-state; + description + "Port state"; + } + leaf port-fail-code { + type uint8; + description + "Port fail code"; + } + leaf fsm-state { + type uint8; + description + "FSM state"; + } + leaf vlan-state { + type uint8; + description + "VLAN state"; + } + leaf vlan-vector { + type yang:hex-string; + description + "VLAN Vector. VLANList::= + FivePackedVLANRoleVectorByte { + ,FivePackedVLANRoleVectorByte}. + FivePackedVLANRoleVectorByte = + (((3*firstVLANRole + secondVLANRole)*3 + + thirdVLANRole)*3 + fourthVLAN Role)*3 + + fifthVLANRole. Role::= Primary | Secondary | + NotConfigured. NotConfigured::= 0. Primary::= 1. + Secondary::= 2"; + } + leaf reversion-time { + type uint32; + description + "Reversion Time"; + } + leaf reversion-time-remaining { + type uint32; + description + "Reversion Time Remaining"; + } + } + + grouping ICCP-SM-PORT { + description + "ICCP-based service multi-homing port"; + container local-port { + description + "Local port info"; + uses ICCP-SM-PORT-INFO; + } + container remote-port { + description + "Remote port info"; + uses ICCP-SM-PORT-INFO; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + leaf mac-flush-tcn { + type boolean; + description + "Is MAC flush through STP-TCN?"; + } + } + + grouping ICCP-SM-GROUP { + description + "ICCP-based service multi-homing group"; + leaf group-id { + type uint32; + description + "Group ID"; + } + leaf local-node-id { + type uint8; + description + "Local Node ID"; + } + leaf remote-node-id { + type uint8; + description + "Remote Node ID"; + } + leaf state { + type Iccp-sm-state; + description + "State"; + } + leaf iccp-transport-up { + type boolean; + description + "ICCP Transport Up"; + } + leaf iccp-member-up { + type boolean; + description + "ICCP Member Up"; + } + list ports { + description + "List of ports in the group"; + uses ICCP-SM-PORT; + } + } + + grouping ICCP-SM-SUMMARY { + description + "ICCP-based service multi-homing group summary + information"; + leaf groups { + type uint32; + description + "Total Number of Groups"; + } + leaf unresolved-groups { + type uint32; + description + "Number of Unresolved Groups"; + } + leaf provisioned-groups { + type uint32; + description + "Number of Provisioned Groups"; + } + leaf connecting-groups { + type uint32; + description + "Number of Connecting Groups"; + } + leaf connected-groups { + type uint32; + description + "Number of Connected Groups"; + } + leaf synchronizing-groups { + type uint32; + description + "Number of Synchronizing Groups"; + } + leaf synchronized-groups { + type uint32; + description + "Number of Synchronized Groups"; + } + leaf ports { + type uint32; + description + "Total Number of Ports"; + } + leaf operational-ports { + type uint32; + description + "Number of Operational Ports"; + } + leaf failed-ports { + type uint32; + description + "Number of Failed Ports"; + } + leaf unknown-ports { + type uint32; + description + "Number of Unknown Ports"; + } + leaf unconfigured-ports { + type uint32; + description + "Number of Unconfigured Ports"; + } + leaf unsynchronized-ports { + type uint32; + description + "Number of Unsynchronized Ports"; + } + leaf reverting-ports { + type uint32; + description + "Number of Reverting Ports"; + } + } + + grouping L2VPN-MAIN-INTERFACE { + description + "L2VPN MAIN INTERFACE PORT"; + leaf main-interface-handle { + type xr:Interface-name; + description + "Main Interface"; + } + leaf is-protected { + type boolean; + description + "IsProtected"; + } + leaf interface-count { + type uint32; + description + "Sub Interface Count"; + } + leaf protect-type { + type L2vpn-main-if-protect; + description + "Protect Type"; + } + } + + grouping L2VPN-MAIN-INTERFACE-INSTANCE-BPORT { + description + "Bridge port of an instance"; + leaf bridge-port-xr { + type xr:Interface-name; + description + "Bridge port ifhandle"; + } + leaf instance-id { + type uint32; + description + "Instance ID"; + } + } + + grouping L2VPN-MAIN-INTERFACE-INSTANCE { + description + "L2VPN MAIN INTERFACE INSTANCE Entry"; + leaf configured-instance { + type uint32; + description + "Configured Instance"; + } + leaf flush-count { + type uint32; + description + "Flush count "; + } + leaf interface-count { + type uint32; + description + "Interface count"; + } + leaf instance-flags { + type uint32; + description + "Instance Flags"; + } + leaf instance-id { + type uint32; + description + "Instance ID"; + } + leaf instance-state { + type L2vpn-main-if-instance-state; + description + "Instance State"; + } + } + + grouping L2VPN-FXC-SUMMARY { + description + "L2VPN FXC SUMMARY"; + leaf number-fxc { + type uint32; + description + "Number of flexible xconnect services"; + } + leaf number-fxc-up { + type uint32; + description + "Number of flexible xconnect services whose state + is up"; + } + leaf number-fxc-down { + type uint32; + description + "Number of flexible xconnect services whose state + is down"; + } + } + + grouping L2VPN-NLRI-LDP-SIG { + description + "L2VPN NLRI LDP SIG"; + leaf nlri-time-created { + type uint32; + description + "NLRI creation time"; + } + leaf local-address { + type inet:ipv4-address; + description + "Local BGP Address"; + } + leaf remote-address { + type inet:ipv4-address; + description + "Remote BGP Address"; + } + leaf remote-l2-router-id { + type inet:ipv4-address; + description + "Remote L2VPN Router ID"; + } + } + + grouping L2VPN-VPLS-ID-V4ADDR { + description + "L2VPN VPLS ID V4ADDR"; + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf two-byte-index { + type uint16; + description + "2 Byte Index"; + } + } + + grouping L2VPN-VPLS-ID-2BYTE-AS { + description + "L2VPN VPLS ID 2BYTE AS"; + leaf two-byte-as { + type uint16; + description + "2 Byte AS Number"; + } + leaf four-byte-index { + type uint32; + description + "4 Byte Index"; + } + } + + grouping L2VPN-VPLS-ID-AUTO { + description + "L2VPN VPLS ID AUTO"; + leaf asn { + type uint16; + description + "2 Byte AS Number"; + } + leaf vpn-id { + type uint32; + description + "VPN ID"; + } + } + + grouping L2VPN-VPLS-ID { + description + "L2VPN VPLS ID"; + container auto { + when "../vpls-id-type = 'l2vpn-ad-vpls-id-auto'" { + description + "../VPLS_ID_TYPE = 'L2VPN_AD_VPLS_ID_AUTO'"; + } + description + "auto"; + uses L2VPN-VPLS-ID-AUTO; + } + container two-byte-as { + when "../vpls-id-type = 'l2vpn-ad-vpls-id-as'" { + description + "../VPLS_ID_TYPE = 'L2VPN_AD_VPLS_ID_AS'"; + } + description + "two byte as"; + uses L2VPN-VPLS-ID-2BYTE-AS; + } + container v4-addr { + when "../vpls-id-type = 'l2vpn-ad-vpls-id-v4-addr'" { + description + "../VPLS_ID_TYPE = 'L2VPN_AD_VPLS_ID_V4ADDR'"; + } + description + "v4 addr"; + uses L2VPN-VPLS-ID-V4ADDR; + } + leaf vpls-id-type { + type L2vpn-ad-vpls-id; + description + "VPLS ID TYPE"; + } + } + + grouping L2VPN-DISCO-LDP-SIG { + description + "L2VPN DISCO LDP SIG"; + container local-vpls-id { + description + "Local VPLS-ID"; + uses L2VPN-VPLS-ID; + } + leaf local-l2-router-id { + type inet:ipv4-address; + description + "Local L2VPN Router ID"; + } + leaf number-remote-edges { + type uint32; + description + "Number of remote Edges"; + } + list remote-nlri { + description + "List of NLRIs"; + uses L2VPN-NLRI-LDP-SIG; + } + } + + grouping L2VPN-LABEL-BLOCK { + description + "L2VPN LABEL BLOCK"; + leaf label-time-created { + type uint32; + description + "Creation time"; + } + leaf label-base { + type uint32; + description + "Label Base"; + } + leaf block-offset { + type uint32; + description + "Block offset"; + } + leaf block-size { + type uint32; + description + "Block size"; + } + leaf local-edge-id { + type uint32; + description + "Local edge ID"; + } + leaf next-hop { + type inet:ipv4-address; + description + " Peer id"; + } + leaf label-error { + type L2vpn-ad-lsd-err; + description + "Label Error"; + } + list status-vector { + description + "Status Vector"; + leaf entry { + type uint8; + description + "Status Vector"; + } + } + } + + grouping L2VPN-DISCO-EDGE { + description + "L2VPN DISCO EDGE"; + leaf edge-id { + type uint32; + description + "Edge ids"; + } + leaf label-count { + type uint32; + description + "Number of label blocks"; + } + list label-block { + description + "List of label blocks"; + uses L2VPN-LABEL-BLOCK; + } + } + + grouping L2VPN-DISCO-BGP-SIG { + description + "L2VPN DISCO BGP SIG"; + leaf number-edges { + type uint32; + description + "Number of Edges"; + } + leaf number-remote-edges { + type uint32; + description + "Number of remote Edges"; + } + list edge { + description + "List of edge ids"; + uses L2VPN-DISCO-EDGE; + } + list redge { + description + "List of edge ids"; + uses L2VPN-DISCO-EDGE; + } + } + + grouping L2VPN-DISCO-SIG-INFO { + description + "L2VPN DISCO SIG INFO"; + container bgp-sig-info { + when "../ad-signalling-method = 'l2vpn-ad-sig-method-bgp'" { + description + "../ADSignallingMethod = + 'L2VPN_AD_SIG_METHOD_BGP'"; + } + description + "bgp sig info"; + uses L2VPN-DISCO-BGP-SIG; + } + container ldp-sig-info { + when "../ad-signalling-method = 'l2vpn-ad-sig-method-ldp'" { + description + "../ADSignallingMethod = + 'L2VPN_AD_SIG_METHOD_LDP'"; + } + description + "ldp sig info"; + uses L2VPN-DISCO-LDP-SIG; + } + leaf ad-signalling-method { + type L2vpn-ad-sig-method; + description + "ADSignallingMethod"; + } + } + + grouping L2VPN-DISCO { + description + "L2VPN DISCO"; + container signalling-info { + description + "Info about signalling protocol"; + uses L2VPN-DISCO-SIG-INFO; + } + leaf mtu-mismatch-ignore { + type boolean; + description + "Ignore MTU Mismatch"; + } + leaf number-vpn { + type uint32; + description + "Number of vpns"; + } + leaf vpn-id { + type uint32; + description + "VPN id"; + } + leaf service-name-xr { + type string; + description + "Service Type"; + } + leaf group-name-xr { + type string; + description + "Group name"; + } + leaf vpn-name-xr { + type string; + description + "VPN instance name"; + } + leaf is-service-connected { + type boolean; + description + "Is the service connected"; + } + } + + grouping L2VPN-EVPN-REMOTE-SHG-INFO { + description + "L2VPN EVPN remote split horizon group labels"; + leaf next-hop { + type inet:ipv6-address; + description + "Next-hop IP address (v6 format)"; + } + leaf label { + type uint32; + description + "Split horizon label associated with next-hop + address"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub4.yang new file mode 100644 index 000000000..9145b9427 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper-sub4.yang @@ -0,0 +1,5648 @@ +submodule Cisco-IOS-XR-l2vpn-oper-sub4 { + belongs-to Cisco-IOS-XR-l2vpn-oper { + prefix Cisco-IOS-XR-l2vpn-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-l2vpn-oper-sub3 { + revision-date 2022-03-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR l2vpn package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "- Added new members to main-interface-info protect-type"; + semver:module-version "5.1.0"; + } + revision 2021-09-07 { + description + "- Added SRv6 nhop + 2021-08-24 + Updated l2vpn forwarding adjacencies to expose both interface and address information. + 2021-08-13 + - Changed flag-extension to 32bit + 2021-07-20 + - Added support for MAC is-cfm flag"; + semver:module-version "5.0.0"; + } + revision 2020-05-05 { + description + "changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-04-28 { + description + "- AC Backup related changes + 2020-01-22 + - PWGROUP related changes + 2019-12-20 + - EVPN-VPWS related changes - SR-TE policy related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2019-03-30 { + description + "- Rename l2fib-mac-learning-mac* interface-handle to interface-name - Rename l2fib-pw-group tunnel-if-handle to tunnel-interface-name - Convert several array from leaf-list to list syntax. - Implement range datatypes for all L2FIB integers."; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2fib-g8032-aps-port-status { + type enumeration { + enum "l2fib-aps-port-state-unknown" { + description + "APS port state unknown"; + } + enum "l2fib-aps-port-state-unbound" { + description + "APS port state unbound"; + } + enum "l2fib-aps-port-state-bound" { + description + "APS port state bound"; + } + } + description + "APS port status"; + } + + typedef L2fib-g8032-rpl { + type enumeration { + enum "rpl-unknown" { + description + "No RPL info"; + } + enum "port0-owner" { + description + "Port 0 owner"; + } + enum "port0-neighbor" { + description + "Port 0 neighbor"; + } + enum "port0-next-neighbor" { + description + "Port 0 next neighbor"; + } + enum "port1-owner" { + description + "Port 1 owner"; + } + enum "port1-neighbor" { + description + "Port 1 neighbor"; + } + enum "port1-next-neighbor" { + description + "Port 1 next neighbor"; + } + } + description + "RPL types in g8032 ring"; + } + + typedef L2fib-l2tp-session { + type enumeration { + enum "l2tpv3" { + description + "L2TPv3 session"; + } + enum "l2tpv2" { + description + "L2TPv2 session"; + } + } + description + "L2TPv2 and L2TPv3 session type"; + } + + typedef L2fib-evpn-sc-mcast-mode { + type enumeration { + enum "disabled" { + description + "multicast service carving is disabled"; + } + enum "hrw-s-g" { + description + "Multicast HRW S,G"; + } + enum "hrw-g" { + description + "Multicast HRW *,G"; + } + } + description + "L2FIB EVPN Ethernet-Segment service multicast + carving mode"; + } + + typedef L2fib-main-if-instance-state { + type enumeration { + enum "forwarding" { + description + "Forwarding state"; + } + enum "blocked" { + description + "Blocked state"; + } + enum "mac-learning" { + description + "Mac learning state"; + } + enum "nack" { + description + "Nack state"; + } + enum "forwarning-not-useful" { + description + "Forwarding not useful state"; + } + enum "blocked-not-useful" { + description + "Blocked not useful state"; + } + enum "mac-learning-not-useful" { + description + "Mac Learning not useful state"; + } + enum "blocked-data-only" { + description + "Blocked data only state"; + } + enum "multicast-pe2ce-blocked" { + description + "Multicast PE to CE blocked state"; + } + enum "multicast-blocked" { + description + "Multicast blocked state"; + } + enum "port-state-unknown" { + description + "Port state unknown"; + } + } + description + "State of a main port instance"; + } + + typedef L2vpn-evpn-moi { + type enumeration { + enum "l2vpn-evpn-moi-ipv4-nh-lbl" { + description + "l2vpn evpn moi ipv4 nh lbl"; + } + enum "l2vpn-evpn-moi-srte-ifh" { + description + "l2vpn evpn moi srte ifh"; + } + enum "l2vpn-evpn-moi-srte-bsid" { + description + "l2vpn evpn moi srte bsid"; + } + enum "l2vpn-evpn-moi-srte-bsid-v6" { + description + "l2vpn evpn moi srte bsid v6"; + } + enum "l2vpn-evpn-moi-srv6" { + description + "l2vpn evpn moi srv6"; + } + } + description + "EVPN MCAST OLE MOI type"; + } + + typedef Mgmt-l2fib-bridge-mac-evpn-ctx { + type enumeration { + enum "mgmt-l2fib-bridge-mac-evpn-ctx-none" { + description + "mgmt l2fib bridge mac evpn ctx none"; + } + enum "mgmt-l2fib-bridge-mac-evpn-ctx-esi-id" { + description + "mgmt l2fib bridge mac evpn ctx esi id"; + } + enum "mgmt-l2fib-bridge-mac-evpn-ctx-local-label" { + description + "mgmt l2fib bridge mac evpn ctx local label"; + } + enum "mgmt-l2fib-bridge-mac-evpn-ctx-moi" { + description + "mgmt l2fib bridge mac evpn ctx moi"; + } + enum "mgmt-l2fib-bridge-mac-evpn-ctx-bp-ifh" { + description + "mgmt l2fib bridge mac evpn ctx bp ifh"; + } + enum "mgmt-l2fib-bridge-mac-evpn-ctx-internal-id" { + description + "mgmt l2fib bridge mac evpn ctx internal id"; + } + } + description + "Mgmt l2fib bridge mac evpn ctx"; + } + + typedef L2fib-ip-addr { + type enumeration { + enum "ip-none" { + value 0; + description + "ip none"; + } + enum "v4" { + value 4; + description + "v4"; + } + enum "v6" { + value 6; + description + "v6"; + } + } + description + "L2fib ip addr"; + } + + typedef Mgmt-l2fib-stats-data { + type enumeration { + enum "mgmt-l2fib-stats-type-unknown" { + description + "mgmt l2fib stats type unknown"; + } + enum "mgmt-l2fib-stats-type-mcast" { + description + "mgmt l2fib stats type mcast"; + } + } + description + "Mgmt l2fib stats data"; + } + + typedef L2fib-prefix-proto-info { + type enumeration { + enum "l2fib-ipv4-proto" { + description + "l2fib ipv4 proto"; + } + enum "l2fib-ipv6-proto" { + description + "l2fib ipv6 proto"; + } + enum "l2fib-mac-proto" { + description + "l2fib mac proto"; + } + } + description + "L2fib Prefix proto"; + } + + typedef L2vpn-ptree { + type enumeration { + enum "none" { + value 0; + description + "No ptree type"; + } + enum "rsvp-te" { + value 1; + description + "RSVP_TE ptree type"; + } + enum "mldp" { + value 2; + description + "MLDP ptree type"; + } + } + description + "ptree type"; + } + + typedef L2fib-feature { + type enumeration { + enum "l2fib-feature-dhcp-snooping" { + description + "l2fib feature dhcp snooping"; + } + enum "l2fib-feature-igmp-snooping" { + description + "l2fib feature igmp snooping"; + } + enum "l2fib-feature-mld-snooping" { + description + "l2fib feature mld snooping"; + } + enum "l2fib-feature-max" { + description + "l2fib feature max"; + } + } + description + "L2fib feature"; + } + + typedef L2fib-storm-control-rate-unit { + type enumeration { + enum "pps" { + description + "Packets Per Second"; + } + enum "kb-ps" { + description + "Kilobits Per Second"; + } + } + description + "Storm Control Rate Unit Type"; + } + + typedef Mgmt-l2fib-mac-aging { + type enumeration { + enum "mgmt-l2fib-mac-aging-type-in-activity" { + description + "mgmt l2fib mac aging type in activity"; + } + enum "mgmt-l2fib-mac-aging-type-absolute" { + description + "mgmt l2fib mac aging type absolute"; + } + } + description + "Mgmt l2fib mac aging"; + } + + typedef Mgmt-l2fib-mac-sec-action { + type enumeration { + enum "not-set" { + value 0; + description + "MAC Secure Action Not Set"; + } + enum "restrict" { + value 1; + description + "MAC Secure Action Restrict"; + } + enum "none" { + value 2; + description + "MAC Secure Action None"; + } + enum "shutdown" { + value 3; + description + "MAC Secure Action Shutdown"; + } + } + description + "Mgmt l2fib mac sec action"; + } + + typedef Mgmt-l2fib-mac-limit-notify { + type enumeration { + enum "mgmt-l2fib-mac-limit-notify-none" { + description + "mgmt l2fib mac limit notify none"; + } + enum "mgmt-l2fib-mac-limit-notify-syslog" { + description + "mgmt l2fib mac limit notify syslog"; + } + enum "mgmt-l2fib-mac-limit-notify-trap" { + description + "mgmt l2fib mac limit notify trap"; + } + enum "mgmt-l2fib-mac-limit-notify-both" { + description + "mgmt l2fib mac limit notify both"; + } + } + description + "Mgmt l2fib mac limit notify"; + } + + typedef Mgmt-l2fib-mac-limit-action { + type enumeration { + enum "mgmt-l2fib-mac-limit-action-type-none" { + description + "mgmt l2fib mac limit action type none"; + } + enum "mgmt-l2fib-mac-limit-action-type-flood" { + description + "mgmt l2fib mac limit action type flood"; + } + enum "mgmt-l2fib-mac-limit-action-type-no-flood" { + description + "mgmt l2fib mac limit action type no flood"; + } + enum "mgmt-l2fib-mac-limit-action-type-shutdown" { + description + "mgmt l2fib mac limit action type shutdown"; + } + } + description + "Mgmt l2fib mac limit action"; + } + + typedef L2fib-load-bal { + type enumeration { + enum "flow-undef" { + description + "Load Balance Flow Undefined"; + } + enum "src-dst-mac" { + description + "Load Balance Flow src-dst-mac"; + } + enum "src-dst-ip" { + description + "Load Balance Flow src-dst-ip"; + } + enum "vc" { + description + "Load Balance VC based"; + } + } + description + "L2fib load bal"; + } + + typedef L2fib-group-state { + type enumeration { + enum "up" { + description + "Group State Up"; + } + enum "down" { + description + "Group State Down"; + } + } + description + "group state"; + } + + typedef L2fib-pw-redundancy-role { + type enumeration { + enum "primary" { + description + "Primary pseudowire"; + } + enum "backup" { + description + "Backup pseudowire"; + } + } + description + "Pseudowire redundancy role"; + } + + typedef L2fib-pw-id { + type enumeration { + enum "default" { + value 0; + description + "Default value - not set"; + } + enum "manual" { + value 1; + description + "Manual pseudowire ID"; + } + enum "vpls" { + value 2; + description + "VPLS pseudowire ID"; + } + enum "vpws" { + value 3; + description + "VPWS pseudowire ID"; + } + enum "vpls-ldp" { + value 4; + description + "VPLS with LDP signaling pseudowire ID"; + } + enum "l2fib-pw-id-type-pwr" { + value 5; + description + "PW-routing ID"; + } + enum "l2fib-pw-id-type-evpn" { + value 6; + description + "EVPN pseudowire ID"; + } + } + description + "Pseudowire ID type"; + } + + typedef Mgmt-l2fib-bridge { + type enumeration { + enum "mgmt-l2fib-bridge-type-default" { + value 0; + description + "mgmt l2fib bridge type default"; + } + enum "mgmt-l2fib-bridge-type-pbb-edge" { + value 1; + description + "mgmt l2fib bridge type pbb edge"; + } + enum "mgmt-l2fib-bridge-type-pbb-core" { + value 2; + description + "mgmt l2fib bridge type pbb core"; + } + enum "mgmt-l2fib-bridge-type-l3-sync" { + value 3; + description + "mgmt l2fib bridge type l3 sync"; + } + } + description + "Mgmt l2fib bridge"; + } + + typedef L2fib-nhop { + type enumeration { + enum "nexthop-unknown" { + description + "No Nexthop type"; + } + enum "nexthop-ipv4" { + description + "IPv4 Nexthop type"; + } + enum "nexthop-lsm-id" { + description + "LSM ID Nexthop type"; + } + enum "nexthop-te-tunnel" { + description + "TE Tunnel Nexthop type"; + } + enum "nexthop-mpls-internal-label" { + description + "MPLS Internal-Label Nexthop type"; + } + enum "nexthop-vx-lan-internal-label" { + description + "Vxlan Internal-Label Nexthop type"; + } + enum "nexthop-ipv6" { + description + "IPv6 Nexthop type"; + } + enum "nexthop-sr-te-bsid" { + description + "SR-TE BindingSID Nexthop type"; + } + enum "nexthop-iid" { + description + "Internal-ID Nexthop type"; + } + enum "nexthop-per-ipv4-interface-list" { + description + "IP IFList Nexthop type"; + } + enum "nexthop-per-te-tunnel-interface-list" { + description + "IFHandle IFList Nexthop type"; + } + } + description + "Nexthop Type"; + } + + typedef Mgmt-l2fib-data { + type enumeration { + enum "mgmt-l2fib-data-type-min" { + value 0; + description + "mgmt l2fib data type min"; + } + enum "mgmt-l2fib-data-type-all" { + value 1; + description + "mgmt l2fib data type all"; + } + enum "mgmt-l2fib-data-type-xcon" { + value 2; + description + "mgmt l2fib data type xcon"; + } + enum "mgmt-l2fib-data-type-ac" { + value 3; + description + "mgmt l2fib data type ac"; + } + enum "mgmt-l2fib-data-type-atom" { + value 4; + description + "mgmt l2fib data type atom"; + } + enum "mgmt-l2fib-data-type-pbb" { + value 5; + description + "mgmt l2fib data type pbb"; + } + enum "mgmt-l2fib-data-type-vni" { + value 6; + description + "mgmt l2fib data type vni"; + } + enum "mgmt-l2fib-data-type-n-hop" { + value 7; + description + "mgmt l2fib data type n hop"; + } + enum "mgmt-l2fib-data-type-l2tp" { + value 8; + description + "mgmt l2fib data type l2tp"; + } + enum "mgmt-l2fib-data-type-l2tp-session" { + value 9; + description + "mgmt l2fib data type l2tp session"; + } + enum "mgmt-l2fib-data-type-bridge" { + value 10; + description + "mgmt l2fib data type bridge"; + } + enum "mgmt-l2fib-data-type-bridge-shg" { + value 11; + description + "mgmt l2fib data type bridge shg"; + } + enum "mgmt-l2fib-data-type-bridge-port" { + value 12; + description + "mgmt l2fib data type bridge port"; + } + enum "mgmt-l2fib-data-type-bridge-mac" { + value 13; + description + "mgmt l2fib data type bridge mac"; + } + enum "mgmt-l2fib-data-type-msti-main-port" { + value 14; + description + "mgmt l2fib data type msti main port"; + } + enum "mgmt-l2fib-data-type-bridge-main-port" { + value 15; + description + "mgmt l2fib data type bridge main port"; + } + enum "mgmt-l2fib-data-type-mcast-table" { + value 16; + description + "mgmt l2fib data type mcast table"; + } + enum "mgmt-l2fib-data-type-mcast-leaf" { + value 17; + description + "mgmt l2fib data type mcast leaf"; + } + enum "mgmt-l2fib-data-type-mcast-xid" { + value 18; + description + "mgmt l2fib data type mcast xid"; + } + enum "mgmt-l2fib-data-type-pbb-bmac-sa" { + value 19; + description + "mgmt l2fib data type pbb bmac sa"; + } + enum "mgmt-l2fib-data-type-dhcp" { + value 20; + description + "mgmt l2fib data type dhcp"; + } + enum "mgmt-l2fib-data-type-mcast-xid-list" { + value 21; + description + "mgmt l2fib data type mcast xid list"; + } + enum "mgmt-l2fib-data-type-span" { + value 22; + description + "mgmt l2fib data type span"; + } + enum "mgmt-l2fib-data-type-g8032-ring" { + value 23; + description + "mgmt l2fib data type g8032 ring"; + } + enum "mgmt-l2fib-data-type-g8032-ring-inst" { + value 24; + description + "mgmt l2fib data type g8032 ring inst"; + } + enum "mgmt-l2fib-data-type-global" { + value 25; + description + "mgmt l2fib data type global"; + } + enum "mgmt-l2fib-data-type-evpn-mcast-leaf" { + value 26; + description + "mgmt l2fib data type evpn mcast leaf"; + } + enum "mgmt-l2fib-data-type-evpn-mcast-ole" { + value 27; + description + "mgmt l2fib data type evpn mcast ole"; + } + enum "mgmt-l2fib-data-type-pwhe-mp" { + value 28; + description + "mgmt l2fib data type pwhe mp"; + } + enum "mgmt-l2fib-data-type-p2mp-p-tree" { + value 29; + description + "mgmt l2fib data type p2mp p tree"; + } + enum "mgmt-l2fib-data-type-pw-group" { + value 30; + description + "mgmt l2fib data type pw group"; + } + enum "mgmt-l2fib-data-type-p2mp-p-tree-label" { + value 31; + description + "mgmt l2fib data type p2mp p tree label"; + } + enum "mgmt-l2fib-data-type-evpn" { + value 32; + description + "mgmt l2fib data type evpn"; + } + enum "mgmt-l2fib-data-type-mac-mgr-db" { + value 33; + description + "mgmt l2fib data type mac mgr db"; + } + enum "mgmt-l2fib-data-type-mac-mgr-e" { + value 34; + description + "mgmt l2fib data type mac mgr e"; + } + enum "mgmt-l2fib-data-type-evpn-shg" { + value 35; + description + "mgmt l2fib data type evpn shg"; + } + enum "mgmt-l2fib-data-type-evpn-ip4mac" { + value 36; + description + "mgmt l2fib data type evpn ip4mac"; + } + enum "mgmt-l2fib-data-type-evpn-ip6mac" { + value 37; + description + "mgmt l2fib data type evpn ip6mac"; + } + enum "mgmt-l2fib-data-type-collaborator" { + value 38; + description + "mgmt l2fib data type collaborator"; + } + enum "mgmt-l2fib-data-type-l2rib-cache" { + value 39; + description + "mgmt l2fib data type l2rib cache"; + } + enum "mgmt-l2fib-data-type-batch-ing" { + value 40; + description + "mgmt l2fib data type batch ing"; + } + enum "mgmt-l2fib-data-type-l3-sync-intf" { + value 41; + description + "mgmt l2fib data type l3 sync intf"; + } + enum "mgmt-l2fib-data-type-msti-main-port-mac-flood-end" { + value 42; + description + "mgmt l2fib data type msti main port mac flood + end"; + } + enum "mgmt-l2fib-data-type-ac-backup" { + value 43; + description + "mgmt l2fib data type ac backup"; + } + enum "mgmt-l2fib-data-type-notif-batch" { + value 44; + description + "mgmt l2fib data type notif batch"; + } + enum "mgmt-l2fib-data-type-invalid" { + value 45; + description + "mgmt l2fib data type invalid"; + } + enum "mgmt-l2fib-data-type-l2tpv2" { + value 1000; + description + "mgmt l2fib data type l2tpv2"; + } + enum "mgmt-l2fib-data-type-l2tp-ipv6-ts" { + value 1001; + description + "mgmt l2fib data type l2tp ipv6 ts"; + } + enum "mgmt-l2fib-data-type-fxs" { + value 1002; + description + "mgmt l2fib data type fxs"; + } + } + description + "Mgmt l2fib data"; + } + + typedef Mgmt-l2fib-switching { + type enumeration { + enum "mgmt-l2fib-switching-type-unknown" { + description + "mgmt l2fib switching type unknown"; + } + enum "mgmt-l2fib-switching-type-ac-ac" { + description + "mgmt l2fib switching type ac ac"; + } + enum "mgmt-l2fib-switching-type-ac-atom" { + description + "mgmt l2fib switching type ac atom"; + } + enum "mgmt-l2fib-switching-type-ac-vfi" { + description + "mgmt l2fib switching type ac vfi"; + } + enum "mgmt-l2fib-switching-type-ac-l2tp" { + description + "mgmt l2fib switching type ac l2tp"; + } + enum "mgmt-l2fib-switching-type-atom-atom" { + description + "mgmt l2fib switching type atom atom"; + } + enum "mgmt-l2fib-switching-type-vfi-atom" { + description + "mgmt l2fib switching type vfi atom"; + } + enum "mgmt-l2fib-switching-type-vfi-l2tp" { + description + "mgmt l2fib switching type vfi l2tp"; + } + enum "mgmt-l2fib-switching-type-l2tp-atom" { + description + "mgmt l2fib switching type l2tp atom"; + } + enum "mgmt-l2fib-switching-type-l2tp-l2tp" { + description + "mgmt l2fib switching type l2tp l2tp"; + } + enum "mgmt-l2fib-switching-type-max" { + description + "mgmt l2fib switching type max"; + } + } + description + "Mgmt l2fib switching"; + } + + grouping L2FIB-DHCP-BINDING-SUMMARY-INFO { + description + "L2FIB DHCP binding summary info"; + container port { + description + "Union of Port information"; + uses L2FIB-DHCP-BIND-UN; + } + leaf bindings { + type uint32; + description + "DHCP binding count"; + } + } + + grouping L2FIB-VTEP-INFO { + description + "L2FIB vtep info"; + leaf nve-if { + type xr:Interface-name; + description + "Parent NVE IF Handle"; + } + leaf vn-iid { + type uint32; + description + "VNI ID"; + } + leaf vte-pip { + type inet:ipv4-address; + description + "Peer VTEP IP Address"; + } + } + + grouping L2FIB-PWHE-MP-SUMMARY-INFO { + description + "L2VPN PWHE Main-port summary info"; + leaf total-count { + type uint32; + description + "Number of PWHE Main-ports"; + } + } + + grouping L2FIB-PWGROUP-SUMMARY-INFO { + description + "L2VPN PWGROUP summary info"; + leaf plat-grouping-supported { + type boolean; + description + "Platform supports Grouping"; + } + leaf total-pw-groups { + type uint32; + description + "Total number of PWGROUP objects"; + } + leaf pw-groups-down { + type uint32; + description + "Number of PWGROUP objects down"; + } + } + + grouping L2FIB-PTREE-SUMMARY-INFO { + description + "L2VPN PTree summary info"; + leaf total-ptree-count { + type uint32; + description + "Number of PTree objects"; + } + leaf mldp-enabled-ptree-count { + type uint32; + description + "Number of MLDP enabled PTree objects"; + } + leaf lmrib-mldp-ptree-count { + type uint32; + description + "Number of MLDP PTree Objects owned by LMRIB"; + } + leaf rsvp-te-enabled-ptree-count { + type uint32; + description + "Number of RSVP-TE enabled PTree objects"; + } + leaf lmrib-rsvp-te-ptree-count { + type uint32; + description + "Number of RSVP-TE PTree Objects owned by LMRIB"; + } + } + + grouping L2FIB-GLOBAL-CFG-INFO { + description + "L2VPN Global Configuration"; + leaf load-balance-type { + type L2fib-load-bal; + description + "Type of Load-Balancing"; + } + leaf evpn-imc-label-block-base { + type uint32; + description + "Base of label range in use for EVPN IMC PD"; + } + leaf evpn-imc-label-block-size { + type uint16; + description + "Size of label range in use for EVPN IMC PD"; + } + leaf evpn-etree-local-label { + type uint32; + description + "EVPN etree local label"; + } + } + + grouping L2FIB-EVPN-SUMMARY-INFO { + description + "L2VPN evpn summary info"; + leaf total-count { + type uint32; + description + "Number of EVPN Multicast Replication lists"; + } + leaf isid-count { + type uint32; + description + "Number of ISID leaves"; + } + leaf default-count { + type uint32; + description + "Number of default leaves"; + } + leaf stitching-count { + type uint32; + description + "Number of stitching leaves"; + } + } + + grouping L2FIB-OBJ-QUEUES-SUMMARY { + description + "L2FIB OBJ QUEUES SUMMARY"; + leaf inline-cnt { + type uint32; + description + "number of objects in inline queue"; + } + leaf retry-cnt { + type uint32; + description + "number of objects in retry queue"; + } + leaf update-cnt { + type uint32; + description + "number of objects in update queues"; + } + leaf del-cnt { + type uint32; + description + "number of objects in delete queues"; + } + } + + grouping L2FIB-IPMAC-SUMMARY-INFO { + description + "L2FIB bridge ipmac summary info"; + leaf ip-mac-counts-valid { + type boolean; + description + "IPMacCountsValid"; + } + leaf ipv4mac-count-local { + type uint32; + description + "number of local ipv4macs "; + } + leaf ipv4mac-count-remote { + type uint32; + description + "number of remote ipv4macs "; + } + leaf ipv6mac-count-local { + type uint32; + description + "number of local ipv6macs "; + } + leaf ipv6mac-count-remote { + type uint32; + description + "number of remote ipv6macs "; + } + leaf ipmac-count { + type uint32; + description + "number of all ipmacs"; + } + } + + grouping L2FIB-MAC-SUMMARY-INFO { + description + "L2FIB bridge mac summary info"; + leaf mac-counts-invalid { + type boolean; + description + "Flag to show if MAC counts aren't valid"; + } + leaf local-mac-count { + type uint32; + description + "number of locally learnt macs"; + } + leaf remote-mac-count { + type uint32; + description + "number of remotely learned macs"; + } + leaf static-mac-count { + type uint32; + description + "number of static macs"; + } + leaf routed-mac-count { + type uint32; + description + "number of routed macs"; + } + leaf mac-count { + type uint32; + description + "number of all macs"; + } + leaf sbmac-count { + type uint32; + description + "number of Source BMACs"; + } + leaf bmac-count { + type uint32; + description + "number of BMACs"; + } + } + + grouping L2FIB-BD-SUMMARY-INFO { + description + "L2VPN bridge-domain summary info"; + leaf bridge-domain-count { + type uint32; + description + "Number of bridge-domains"; + } + leaf bridge-domain-drop-count { + type uint32; + description + "Number of bridge-domain updates dropped"; + } + leaf bridge-domain-with-bvi-count { + type uint32; + description + "Number of bridge-domains with BVI"; + } + leaf bridge-domain-with-p2mp-enabled { + type uint32; + description + "Number of bridge-domains with P2MP enabled"; + } + leaf bridge-domain-with-pbbevpn-enabled { + type uint32; + description + "Number of bridge-domains with PBB EVPN enabled"; + } + leaf bridge-domain-with-evpn-enabled { + type uint32; + description + "Number of bridge-domains with EVPN enabled"; + } + } + + grouping L2FIB-L2TP-DISP-SUMMARY-INFO { + description + "L2TP disposition session object summary"; + leaf l2tp-disposition-session-count { + type uint32; + description + "number of l2tp disposition session objects"; + } + leaf bound-l2tp-disposition-session-count { + type uint32; + description + "number of bound l2tp disposition objects"; + } + leaf unbound-l2tp-disposition-session-count { + type uint32; + description + "number of unbound l2tp disposition objects"; + } + } + + grouping L2FIB-NH-SUMMARY-INFO2 { + description + "Specific nhop summary"; + leaf next-hop-count { + type uint32; + description + "total number of nhops"; + } + leaf bound-next-hop-count { + type uint32; + description + "number of bound nhops"; + } + leaf unbound-next-hop-count { + type uint32; + description + "number of unbound nhops"; + } + leaf next-hop-pending-registration-count { + type uint32; + description + "number of nhops pending registration with fib "; + } + } + + grouping L2FIB-NH-SUMMARY-INFO { + description + "nhop db summary"; + container internal-label { + description + "Internal Label nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container internal-id { + description + "Internal ID nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container mpls { + description + "MPLS nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container l2tp { + description + "L2TP nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container lsm { + description + "LSM nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container p2mp-tunnels { + description + "P2MPtun nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container ipv6 { + description + "IPv6 nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container te-tunnels { + description + "(SR-)TE Tunnel nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + container sr-te-bsid { + description + "SR-TE Binding Label (BSID) nexthop summary"; + uses L2FIB-NH-SUMMARY-INFO2; + } + } + + grouping L2FIB-XC-SUMMARY-INFO { + description + "xconnect db summary"; + leaf xconnect-count { + type uint32; + description + "total number of entries"; + } + leaf xconnect-up-count { + type uint32; + description + "number of up entries"; + } + leaf xconnect-down-count { + type uint32; + description + "number of down entries"; + } + leaf ac-to-pw-count-mpls { + type uint32; + description + "number of ac->pw-mpls entries"; + } + leaf ac-to-pw-count-iid { + type uint32; + description + "number of ac->pw-iid entries"; + } + leaf ac-to-pw-count-l2tp { + type uint32; + description + "number of ac->pw-l2tp entries"; + } + leaf ac-to-pw-count-l2tp-ip-v6 { + type uint32; + description + "number of ac->pw-l2tp-ipv6 entries"; + } + leaf ac-to-pw-count-l2tpv2 { + type uint32; + description + "number of ac->pw-l2tpv2 entries"; + } + leaf ac-to-ac-count { + type uint32; + description + "number of ac->ac entries"; + } + leaf ac-to-unknown-count { + type uint32; + description + "number of ac->unknown type entries"; + } + leaf mon-sess-to-pw-count { + type uint32; + description + "number of monitor_session->pw entries"; + } + leaf mon-sess-to-unknown-count { + type uint32; + description + "number of monitor_session->unknown type entries"; + } + leaf ac-to-bp-count { + type uint32; + description + "number of ac->bp entries"; + } + leaf pw-to-bp-count { + type uint32; + description + "number of pw->bp entries"; + } + leaf pw-to-unknown-count { + type uint32; + description + "number of pw->unknown type entries"; + } + leaf pbb-to-bp-count { + type uint32; + description + "number of pbb->bp entries"; + } + leaf pbb-to-unknown-count { + type uint32; + description + "number of pbb->unknown type entries"; + } + leaf vni-to-bp-count { + type uint32; + description + "number of vni->bp entries"; + } + leaf vni-to-unknown-count { + type uint32; + description + "number of vni->unknown type entries"; + } + leaf evpn-to-bp-count { + type uint32; + description + "number of evpn->bp entries"; + } + leaf evpn-to-unknown-count { + type uint32; + description + "number of evpn->unknown type entries"; + } + leaf ac-down-count-aib { + type uint32; + description + "number of down acs with reason aib"; + } + leaf ac-down-count-l2vpn { + type uint32; + description + "number of down acs with reason l2vpn"; + } + leaf ac-down-count-l3fib { + type uint32; + description + "number of down acs with reason fib"; + } + leaf ac-down-count-vpdn { + type uint32; + description + "number of down acs with reason vpdn"; + } + leaf vpws-pw-invalid-xid-drop-count { + type uint32; + description + "number of xc updates dropped due to VPWS PW + invalid xid"; + } + leaf vpls-pw-invalid-xid-drop-count { + type uint32; + description + "number of xc updates dropped due to VPLS PW + invalid xid"; + } + leaf virtual-ac-invalid-xid-drop-count { + type uint32; + description + "number of xc updates dropped due to Virtual AC + invalid xid"; + } + leaf pbb-invalid-xid-drop-count { + type uint32; + description + "number of xc updates dropped due to PBB invalid + xid"; + } + leaf vni-invalid-xid-drop-count { + type uint32; + description + "number of xc updates dropped due to VNI invalid + xid"; + } + leaf evpn-invalid-xid-drop-count { + type uint32; + description + "number of xc updates dropped due to EVPN invalid + xid"; + } + leaf vpls-pw-max-exceeded-drop-cnt { + type uint32; + description + "number of xc updates dropped due to max VPLS PWs + exceeded"; + } + leaf bundle-ac-max-exceeded-drop-cnt { + type uint32; + description + "number of xc updates dropped due to max Bundle + ACs exceeded"; + } + leaf global-invalid-xid-drop-count { + type uint32; + description + "number of xc updates dropped due to Global + invalid xid"; + } + leaf p2p-count { + type uint32; + description + "number of p2p xconnects"; + } + leaf bp-count { + type uint32; + description + "number of bridge-port xconnects"; + } + leaf pwhe-l2-if-count { + type uint32; + description + "number of PWHE L2IF xconnects"; + } + } + + grouping L2FIB-SUMMARY-INFO { + description + "L2FIB summary info"; + container xconnect-summary { + description + "xconnect db summary info"; + uses L2FIB-XC-SUMMARY-INFO; + } + container next-hop-summary { + description + "nhop db summry info"; + uses L2FIB-NH-SUMMARY-INFO; + } + container l2tp-disposition-summary { + description + "L2TP disposition object summary"; + uses L2FIB-L2TP-DISP-SUMMARY-INFO; + } + container bridge-domain-summary { + description + "Bridge-domain summary info"; + uses L2FIB-BD-SUMMARY-INFO; + } + container mac-summary { + description + "mac summary info"; + uses L2FIB-MAC-SUMMARY-INFO; + } + container ipmac-summary { + description + "ipmac summary info"; + uses L2FIB-IPMAC-SUMMARY-INFO; + } + container queue-summary { + description + "queue summary info"; + uses L2FIB-OBJ-QUEUES-SUMMARY; + } + container evpn-summary { + description + "evpn summary info"; + uses L2FIB-EVPN-SUMMARY-INFO; + } + container global-cfg { + description + "Global configuration"; + uses L2FIB-GLOBAL-CFG-INFO; + } + container ptree-summary { + description + "P2MP PTree summary info"; + uses L2FIB-PTREE-SUMMARY-INFO; + } + container pw-group-summary { + description + "PWGroup summary info"; + uses L2FIB-PWGROUP-SUMMARY-INFO; + } + container pwhe-mp-summary { + description + "PWHE Main-port summary info"; + uses L2FIB-PWHE-MP-SUMMARY-INFO; + } + } + + grouping L2FIB-MCAST-XID-INFO { + description + "L2fib xid info"; + container forward-stats { + description + "Forwarding Statistics"; + uses L2FIB-PLATFORM-STATS-BAG; + } + container source-prefix { + description + "Source Prefix"; + uses L2FIB-PREFIX-INFO; + } + container destination-prefix { + description + "Destination Prefix"; + uses L2FIB-PREFIX-INFO; + } + leaf bridge-id { + type uint32; + description + "Bridge Id"; + } + leaf ac-interface-handle { + type xr:Interface-name; + description + "AC If handle"; + } + leaf df-from-bridge-port { + type boolean; + description + "DF/NDF state derived from Bridge Port"; + } + leaf is-ndf { + type boolean; + description + "Non-Designated Forwarder"; + } + leaf leaf-pointer { + type uint32; + description + "Leaf Ptr"; + } + leaf pw-id { + type string { + length "0..40"; + } + description + "PW ID"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "NHOP IP Address"; + } + leaf isid { + type uint32; + description + "Isid Id"; + } + leaf csfl { + type uint32; + description + "Csfl Id"; + } + leaf sat-id { + type uint16; + description + "Sat Id"; + } + leaf is-ole-offloaded { + type boolean; + description + "Ole Offloaded"; + } + leaf is-ole-master { + type boolean; + description + "Ole Master"; + } + leaf is-topo-hub-and-spoke { + type boolean; + description + "Topo HubAndSpoke"; + } + leaf is-evpn-xid { + type boolean; + description + "EVPN Ole"; + } + leaf is-evpn-moi-xid { + type boolean; + description + "EVPN MOI"; + } + leaf moi-id { + type uint32; + description + "MOI ID"; + } + leaf label-xr { + type uint32; + description + "Label"; + } + leaf evpn-next-hop { + type inet:ipv6-address; + description + "EVPN Ole NextHop"; + } + } + + grouping L2FIB-BRIDGE-SUMMARY-INFO { + description + "L2VPN bridge summary info"; + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf bridge-name { + type string; + description + "Bridge name"; + } + leaf mac-limit { + type uint32; + description + "MAC limit"; + } + leaf mac-limit-action { + type Mgmt-l2fib-mac-limit-action; + description + "MAC limit action"; + } + leaf flood-disabled { + type boolean; + description + "Is flooding disabled"; + } + leaf mac-learning-disabled { + type boolean; + description + "Is MAC learning disabled"; + } + leaf mac-port-down-flush-disabled { + type boolean; + description + "Is MAC port down flush disabled"; + } + leaf admin-disabled { + type boolean; + description + "Is administratively disabled"; + } + leaf bridge-port-count { + type uint32; + description + "Number of bridge ports"; + } + leaf number-of-shg { + type uint32; + description + "Number of split horizon groups"; + } + leaf number-of-hwmac { + type uint32; + description + "Number of HW MAC addresses"; + } + leaf number-of-swmac { + type uint32; + description + "Number of SW MAC addresses"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf aging-time-out { + type uint32; + description + "Aging timeout"; + } + leaf msti { + type uint32; + description + "multi-spanning tree instance"; + } + leaf l2mc-src-traffic-enabled { + type uint32; + description + "L2MC traffic source on BD"; + } + } + + grouping L2FIB-BRIDGE-PORT-SEG-UN { + description + "L2FIB BRIDGE PORT SEG UN"; + container ac { + when "../data-type = 'mgmt-l2fib-data-type-ac'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_AC'"; + } + description + "ac"; + uses L2FIB-AC-INFO; + } + container pbb { + when "../data-type = 'mgmt-l2fib-data-type-pbb'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_PBB'"; + } + description + "pbb"; + uses L2FIB-PBB-INFO; + } + container vni { + when "../data-type = 'mgmt-l2fib-data-type-vni'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_VNI'"; + } + description + "vni"; + uses L2FIB-VNI-INFO; + } + container evpn { + when "../data-type = 'mgmt-l2fib-data-type-evpn'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_EVPN'"; + } + description + "evpn"; + uses L2FIB-EVPN-INFO; + } + container pw { + when "../data-type != 'mgmt-l2fib-data-type-ac' and ../data-type != 'mgmt-l2fib-data-type-pbb' and ../data-type != 'mgmt-l2fib-data-type-vni' and ../data-type != 'mgmt-l2fib-data-type-evpn'" { + description + "../DataType != 'MGMT_L2FIB_DATA_TYPE_AC' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_PBB' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_VNI' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_EVPN'"; + } + description + "pw"; + uses L2FIB-PW-INFO; + } + leaf data-type { + type Mgmt-l2fib-data; + description + "DataType"; + } + } + + grouping L2FIB-BRIDGE-PORT-DETAIL-INFO { + description + "L2VPN bridge port info"; + container segment { + description + "Segment"; + uses L2FIB-BRIDGE-PORT-SEG-UN; + } + container bridge-port-operational-info { + description + "Bridge port operational information"; + uses L2FIB-OPER-BRIDGE-PORT-INFO; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf shg-id { + type uint32; + description + "Split horizon group ID"; + } + leaf xc-id { + type uint32; + description + "xconnect ID"; + } + leaf number-of-hw-mac { + type uint32; + description + "Number of HW MAC addresses"; + } + leaf number-of-sw-mac { + type uint32; + description + "Number of SW MAC addresses"; + } + leaf number-of-mcast-routes { + type uint32; + description + "Number of MCAST Routes"; + } + leaf mac-limit { + type uint32; + description + "MAC limit"; + } + leaf sw-mac-move-count { + type uint64; + description + "SW MAC move count"; + } + leaf mac-limit-action { + type Mgmt-l2fib-mac-limit-action; + description + "MAC limit action"; + } + leaf flooding-disabled { + type boolean; + description + "Is flooding disabled"; + } + leaf mac-learning-disabled { + type boolean; + description + "Is MAC learning disabled"; + } + leaf mac-port-down-flush-disabled { + type boolean; + description + "Is MAC port down flush disabled"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf aging-time-out { + type uint32; + description + "Aging timeout"; + } + } + + grouping L2FIB-G8032-RING-INSTANCE-DETAIL-INFO { + description + "L2FIB ethernet ring instance info detail"; + leaf ring-instance { + type uint32; + description + "Ring instance number"; + } + leaf vlan-ids { + type string; + description + "Vlan Ids"; + } + leaf ring-profile { + type string; + description + "Ring Profile"; + } + leaf rpl { + type L2fib-g8032-rpl; + description + "RPL"; + } + leaf aps-port0 { + type string; + description + "Port 0 of aps-channel"; + } + leaf aps-port1 { + type string; + description + "Port 1 of aps-channel"; + } + leaf aps-port-status0 { + type L2fib-g8032-aps-port-status; + description + "Status of Port 0"; + } + leaf aps-port-status1 { + type L2fib-g8032-aps-port-status; + description + "Status of Port 1"; + } + leaf aps-channel-level { + type uint32; + description + "APS channel level"; + } + } + + grouping L2FIB-G8032-RING-INSTANCE-SUMMARY-INFO { + description + "L2FIB ethernet ring instance info summary"; + leaf ring-instance { + type uint32; + description + "Ring instance number"; + } + leaf aps-port0 { + type string; + description + "Port 0 of aps-channel"; + } + leaf aps-port1 { + type string; + description + "Port 1 of aps-channel"; + } + } + + grouping L2FIB-G8032-RING-SUMMARY-INFO { + description + "L2FIB ethernet ring info summary"; + leaf ring-name { + type string; + description + "Name of the ring"; + } + leaf port0 { + type string; + description + "Port 0"; + } + leaf port1 { + type string; + description + "Port 1"; + } + } + + grouping L2FIB-G8032-RING-DETAIL-INFO { + description + "L2FIB ethernet ring info detail"; + leaf ring-name { + type string; + description + "Name of the ring"; + } + leaf port0 { + type string; + description + "Port 0"; + } + leaf port1 { + type string; + description + "Port 1"; + } + leaf monitor0 { + type string; + description + "Monitor port 0"; + } + leaf monitor1 { + type string; + description + "Monitor port 1"; + } + leaf is-open-ring { + type boolean; + description + "Open Ring"; + } + } + + grouping L2FIB-L2TP-DISP-INFO { + description + "L2TP session disposition object"; + leaf session-id-xr { + type uint32; + description + "Local Session Id"; + } + leaf interface-name { + type xr:Interface-name; + description + "Egress main interface"; + } + leaf sub-interface-name { + type xr:Interface-name; + description + "SubInterface"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source/Local IP address of the tunnel"; + } + leaf bound { + type boolean; + description + "Bind status"; + } + leaf tunnel-id-xr { + type uint32; + description + "Tunnel ID, l2tpv2"; + } + leaf ipv4-table-id { + type uint32; + description + "IPv4 Table ID"; + } + leaf ipv6-table-id { + type uint32; + description + "IPv6 Table ID"; + } + leaf nhop-ip-addr { + type inet:ipv4-address; + description + "NHOP IP Address of the tunnel"; + } + leaf session-type { + type L2fib-l2tp-session; + description + "L2tp or L2tpv2 session"; + } + } + + grouping L2FIB-MAIN-PORT-MSTP-DETAIL-INFO { + description + "L2FIB main port mstp detail info"; + leaf parent-interface-xr { + type xr:Interface-name; + description + "main port ID"; + } + leaf msti-xr { + type uint32; + description + "multi-spanning tree instance configured value"; + } + leaf internal-msti { + type uint32; + description + "multi-spanning tree instance internal value"; + } + leaf state { + type uint32; + description + "MSTI state"; + } + leaf learn-key { + type uint8; + description + "Learn Key"; + } + leaf-list bridge-port-array { + type xr:Interface-name; + description + "Bridge port"; + } + } + + grouping L2FIB-HW-INFO { + description + "L2FIB hardware info"; + } + + grouping L2FIB-MAIN-INTERFACE-INSTANCE-BPORT-SUMMARY-INFO { + description + "L2VPN main interface instance bridge port info + summary"; + leaf bridge-port-id { + type xr:Interface-name; + description + "Bridge Port ID"; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf main-interface { + type xr:Interface-name; + description + "Main interface ID"; + } + leaf main-if-type { + type uint8; + description + "Main Interface Type"; + } + leaf virtual-if-name { + type string; + description + "Virtual Main IfName"; + } + leaf bp-type { + type uint8; + description + "Bridge Port Type"; + } + } + + grouping L2FIB-MAIN-INTERFACE-INSTANCE-SUMMARY-INFO { + description + "L2FIB main interface instance summary info + summary"; + leaf main-interface { + type xr:Interface-name; + description + "Main interface ID"; + } + leaf main-if-type { + type uint8; + description + "Main Interface Type"; + } + leaf virtual-if-name { + type string; + description + "Virtual Main IfName"; + } + leaf instance { + type uint32; + description + "Interface instance"; + } + leaf state { + type L2fib-main-if-instance-state; + description + "Instance state"; + } + leaf bridge-port-count { + type uint32; + description + "Number of bridge ports"; + } + leaf instance-provisioned { + type boolean; + description + "Instances provisioned flag"; + } + } + + grouping L2FIB-MAIN-INTERFACE-INSTANCE-BPORT-DETAIL-INFO { + description + "L2VPN main interface instance bridge port info + detail"; + container oper { + description + "Operational information"; + uses L2FIB-OPER-BRIDGE-PORT-INFO; + } + leaf bridge-port-id { + type xr:Interface-name; + description + "Bridge Port ID"; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf state { + type L2fib-main-if-instance-state; + description + "Instance state"; + } + leaf main-interface { + type xr:Interface-name; + description + "Main interface ID"; + } + leaf main-if-type { + type uint8; + description + "Main Interface Type"; + } + leaf virtual-if-name { + type string; + description + "Virtual Main IfName"; + } + leaf bp-type { + type uint8; + description + "Bridge Port Type"; + } + } + + grouping L2FIB-MAIN-INTERFACE-INSTANCE-DETAIL-INFO { + description + "L2FIB main interface instance detail info detail"; + leaf main-interface { + type xr:Interface-name; + description + "Main interface ID"; + } + leaf main-if-type { + type uint8; + description + "Main Interface Type"; + } + leaf virtual-if-name { + type string; + description + "Virtual Main IfName"; + } + leaf instance { + type uint32; + description + "Interface instance"; + } + leaf state { + type L2fib-main-if-instance-state; + description + "Instance state"; + } + leaf bridge-port-count { + type uint32; + description + "Number of bridge ports"; + } + leaf instance-provisioned { + type boolean; + description + "Instances provisioned flag"; + } + } + + grouping L2FIB-MAIN-INTERFACE-SUMMARY-INFO { + description + "L2FIB main interface summary info summary"; + leaf main-interface { + type xr:Interface-name; + description + "Main Interface ID"; + } + leaf main-if-type { + type uint8; + description + "Main Interface Type"; + } + leaf virtual-if-name { + type string; + description + "Virtual Main IfName"; + } + list instance-id { + description + "Instance IDs"; + leaf entry { + type uint32; + description + "Instance IDs"; + } + } + list instances-state { + description + "State for each instance"; + leaf entry { + type L2fib-main-if-instance-state; + description + "State for each instance"; + } + } + list instances-provisioned { + description + "Instances provisioned flag"; + leaf entry { + type boolean; + description + "Instances provisioned flag"; + } + } + list instances-frr { + description + "Instances FRR active flag"; + leaf entry { + type boolean; + description + "Instances FRR active flag"; + } + } + list instances-protecion-enabled { + description + "Instances prot-on flag"; + leaf entry { + type boolean; + description + "Instances prot-on flag"; + } + } + } + + grouping L2FIB-MAIN-INTERFACE-ES-NH-INFO { + description + "l2fib main interface ES nexthop info"; + leaf address { + type inet:ipv6-address; + description + "IP Address"; + } + } + + grouping L2FIB-MAIN-INTERFACE-DETAIL-INFO { + description + "L2FIB main interface detail info detail"; + container rx-adjacency { + description + "RX adjacency"; + uses L2FIB-ADJACENCY-INFO; + } + leaf main-interface { + type xr:Interface-name; + description + "Main Interface ID"; + } + leaf main-if-type { + type uint8; + description + "Main Interface Type"; + } + leaf virtual-if-name { + type string; + description + "Virtual Main IfName"; + } + leaf mac { + type string; + description + "MAC Address"; + } + leaf esi-id { + type uint16; + description + "Ethernet segment ID"; + } + leaf evpn-shg-local-label { + type uint32; + description + "EVPN split horizon group local label"; + } + leaf evpn-rid { + type inet:ipv6-address; + description + "EVPN Router-ID"; + } + leaf evpn-service-carving-mcast-mode { + type L2fib-evpn-sc-mcast-mode; + description + "EVPN Service Carving Mcast Mode"; + } + leaf es-is-frr-protected { + type boolean; + description + "FRR Protection Configured"; + } + list instance-id { + description + "Instance IDs"; + leaf entry { + type uint32; + description + "Instance IDs"; + } + } + list instances-state { + description + "State for each instance"; + leaf entry { + type L2fib-main-if-instance-state; + description + "State for each instance"; + } + } + list instances-provisioned { + description + "Instances provisioned flag"; + leaf entry { + type boolean; + description + "Instances provisioned flag"; + } + } + list bridge-port-count-instance { + description + "Number of bridge ports per instance"; + leaf entry { + type uint32; + description + "Number of bridge ports per instance"; + } + } + list ethernet-segment-identifier { + description + "Ethernet Segment Identifier"; + leaf entry { + type uint8; + description + "Ethernet Segment Identifier"; + } + } + list evpn-shg-remote-info { + description + "EVPN split horizon group remote info"; + uses L2FIB-EVPN-REMOTE-SHG-INFO; + } + list es-next-hop { + description + "ES NextHops"; + uses L2FIB-MAIN-INTERFACE-ES-NH-INFO; + } + list instances-frr { + description + "Instances FRR active flag"; + leaf entry { + type boolean; + description + "Instances FRR active flag"; + } + } + list instances-protecion-enabled { + description + "Instances prot-on flag"; + leaf entry { + type boolean; + description + "Instances prot-on flag"; + } + } + } + + grouping L2FIB-DHCP-BIND-UN { + description + "L2FIB DHCP BIND UN"; + container ac { + when "../data-type = 'mgmt-l2fib-data-type-ac'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_AC'"; + } + description + "ac"; + uses L2FIB-AC-KEY-INFO; + } + container pw { + when "../data-type != 'mgmt-l2fib-data-type-ac'" { + description + "../DataType != 'MGMT_L2FIB_DATA_TYPE_AC'"; + } + description + "pw"; + uses L2FIB-PW-KEY-INFO; + } + leaf data-type { + type Mgmt-l2fib-data; + description + "DataType"; + } + } + + grouping L2FIB-DHCP-BINDING-DETAIL-INFO { + description + "L2FIB DHCP binding detail info"; + container port { + description + "Union of Port information"; + uses L2FIB-DHCP-BIND-UN; + } + } + + grouping L2FIB-PWGROUP-INFO { + description + "l2fib pwgroup info"; + leaf group-state { + type L2fib-group-state; + description + "Group State"; + } + leaf pw-list-count { + type uint32; + description + "Dependent PW List Count"; + } + } + + grouping L2FIB-EVPN-MCAST-LEAF-INFO { + description + "L2FIB evpn mcast leaf info"; + leaf bridge-domain-name { + type string; + description + "Bridge-domain name"; + } + leaf bridge-domain-id { + type uint32; + description + "bdid value"; + } + leaf xcid { + type uint32; + description + "xcid value"; + } + leaf is-bound { + type boolean; + description + "Is bound"; + } + } + + grouping L2FIB-EVPN-MCAST-OLE-INFO { + description + "L2FIB evpn mcast ole info"; + container mcast-ole { + description + "Mcast Ole Info"; + uses L2VPN-EVPN-MOI-INFO; + } + container next-hop { + description + "Next Hop"; + uses L2FIB-NHOP-INFO; + } + leaf is-bound { + type boolean; + description + "Is bound"; + } + leaf is-etree-leaf { + type boolean; + description + "Is E-Tree Leaf"; + } + leaf next-hop-valid { + type boolean; + description + "IS Next Hop Valid"; + } + } + + grouping L2FIB-RSRC-SHM-INFO { + description + "Shared memory availability"; + leaf oout-of-resource-mode { + type uint32; + description + "OOR mode"; + } + leaf maximum-available { + type uint64; + units "byte"; + description + "Maximum bytes available"; + } + leaf average-available { + type uint64; + units "byte"; + description + "Average number of bytes available"; + } + leaf average-utility { + type uint64; + description + "Average utilization"; + } + } + + grouping L2FIB-RSRC-INFO { + description + "L2FIB resource availability info"; + container shm-resource { + description + "Shared memory resource info"; + uses L2FIB-RSRC-SHM-INFO; + } + leaf overall-out-of-resource-mode { + type uint32; + description + "Overall OOR mode"; + } + leaf hardware-resource-mode-information { + type yang:hex-string; + description + "Opaque hardware resource info"; + } + list hardware-resource-mode { + description + "Hardware resource mode"; + leaf entry { + type uint32; + description + "Hardware resource mode"; + } + } + } + + grouping L2FIB-MAIN-PORT-MSTP-SUMMARY-INFO { + description + "L2FIB main port mstp summary info"; + leaf parent-interface-xr { + type xr:Interface-name; + description + "main port ID"; + } + leaf msti-xr { + type uint32; + description + "multi-spanning tree instance"; + } + leaf state { + type uint32; + description + "MSTI state"; + } + leaf bridge-port-count { + type uint32; + description + "Number of bridge ports"; + } + } + + grouping L2FIB-BRIDGE-P2MP-PW-INFO { + description + "L2FIB BRIDGE P2MP PW INFO"; + container parent-next-hop { + description + "Parent Next Hop for P2MP PW"; + uses L2FIB-NHOP-INFO; + } + leaf ptree-type { + type L2vpn-ptree; + description + "P2MP ptree type"; + } + leaf lsm-id { + type uint32; + description + "LSM id"; + } + leaf p2mp-te-interface { + type xr:Interface-name; + description + "P2MP TE ifh"; + } + leaf parent-nh-valid { + type boolean; + description + "Is Parent NH Valid"; + } + leaf parent-nh-bound { + type boolean; + description + "Is Parent NH Bound"; + } + leaf local-label { + type uint32; + description + "Local label"; + } + } + + grouping L2FIB-BRIDGE-BVI-INFO { + description + "L2FIB BRIDGE BVI INFO"; + leaf bvi-ifh { + type xr:Interface-name; + description + "BVI interface handle"; + } + leaf bvi-xid { + type uint32; + description + "BVI xconnect id"; + } + leaf bvi-name { + type string { + length "0..81"; + } + description + "BVI name"; + } + leaf bvi-shg-id { + type uint32; + description + "BVI Split Horizon Group ID"; + } + leaf irb-plat-data-len { + type uint32; + units "byte"; + description + "Platform data bytes"; + } + leaf irb-plat-data { + type yang:hex-string; + description + "IRB platform data"; + } + } + + grouping L2FIB-BRIDGE-PBB-CORE { + description + "L2FIB BRIDGE PBB CORE"; + leaf nber-edge-bd { + type uint32; + description + "Number of associated pbb-edge Bds"; + } + } + + grouping L2FIB-BRIDGE-PBB-EDGE { + description + "L2FIB BRIDGE PBB EDGE"; + leaf i-sid { + type uint32; + description + "I SID"; + } + leaf core-bd-name { + type string; + description + "Core Bridge Domain name"; + } + leaf mirp-lite-rx { + type uint64; + description + "MIRP-lite Rx packet counter"; + } + leaf mirp-lite-tx { + type uint64; + description + "MIRP-lite Tx packet counter"; + } + } + + grouping L2FIB-BRIDGE-PBB-UN { + description + "L2FIB BRIDGE PBB UN"; + container edge { + when "../pbb-type = 'mgmt-l2fib-bridge-type-pbb-edge'" { + description + "../PbbType = 'MGMT_L2FIB_BRIDGE_TYPE_PBB_EDGE'"; + } + description + "edge"; + uses L2FIB-BRIDGE-PBB-EDGE; + } + container core { + when "../pbb-type = 'mgmt-l2fib-bridge-type-pbb-core'" { + description + "../PbbType = 'MGMT_L2FIB_BRIDGE_TYPE_PBB_CORE'"; + } + description + "core"; + uses L2FIB-BRIDGE-PBB-CORE; + } + leaf pbb-type { + type Mgmt-l2fib-bridge; + description + "PbbType"; + } + } + + grouping L2FIB-OPER-BRIDGE-INFO { + description + "L2VPN bridge operational information"; + container operational-information { + description + "L2 operational information"; + uses L2FIB-OPER-INFO; + } + leaf unicast-storm-control-pps { + type uint64; + description + "Unicast storm control pps"; + } + leaf unicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Unicast storm control kbps"; + } + leaf broadcast-storm-control-pps { + type uint64; + description + "Broadcast storm control pps"; + } + leaf broadcast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Broadcast storm control kbps"; + } + leaf multicast-storm-control-pps { + type uint64; + description + "Multicast storm control pps"; + } + leaf multicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Multicast storm control kbps"; + } + } + + grouping L2FIB-BRIDGE-INFO { + description + "L2VPN bridge detailed info"; + container oper { + description + "Operational information"; + uses L2FIB-OPER-BRIDGE-INFO; + } + container bd-pbb-union { + description + "Union of bridge Edge and Core info"; + uses L2FIB-BRIDGE-PBB-UN; + } + container bvi-info { + description + "BVI Information"; + uses L2FIB-BRIDGE-BVI-INFO; + } + container p2mppw-info { + description + "P2MP PW Information"; + uses L2FIB-BRIDGE-P2MP-PW-INFO; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf bridge-port-count { + type uint32; + description + "Number of bridge ports"; + } + leaf number-of-hwmac { + type uint32; + description + "Number of HW MAC addresses"; + } + leaf number-of-swmac { + type uint32; + description + "Number of SW MAC addresses"; + } + leaf bridge-name { + type string; + description + "Bridge name"; + } + leaf shg-count { + type uint32; + description + "Number of split horizon groups"; + } + leaf bridge-type { + type Mgmt-l2fib-bridge; + description + "Bridge Type"; + } + leaf learn-key { + type uint8; + description + "Learn Key"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + } + + grouping L2FIB-DHCP-BINDING-COUNT-INFO { + description + "L2FIB DHCP binding count info"; + leaf bindings { + type uint32; + description + "DHCP binding count"; + } + } + + grouping L2FIB-PWHE-MP-SHOW-INFO { + description + "L2FIB PWHE Main-port info"; + leaf next-hop-valid { + type boolean; + description + "IS Next Hop Valid"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next Hop Address"; + } + leaf pseudo-wire-type { + type uint32; + description + "Pseudowire type"; + } + leaf generic-interface-list-id { + type uint32; + description + "Generic Interface List ID"; + } + leaf internal-label { + type uint32; + description + "Internal label"; + } + leaf remote-label { + type uint32; + description + "Remote label"; + } + leaf control-word-enabled { + type boolean; + description + "Control Word Enabled"; + } + } + + grouping L2FIB-EVPN-IPMAC-INFO { + description + "L2FIB EVPN IP-MAC Info"; + container ip-address-xr { + description + "IP Address"; + uses L2FIB-IP-ADDR; + } + leaf bdid-xr { + type uint32; + description + "BD ID"; + } + leaf mac-address-xr { + type yang:mac-address; + description + "MAC Address"; + } + leaf arp-nd-sync-pending { + type boolean; + description + "Sync to ARP/ND Process Pending"; + } + leaf arp-nd-probe-pending { + type boolean; + description + "Probe to ARP/ND Process Pending"; + } + leaf arp-nd-delete-pending { + type boolean; + description + "Delete to ARP/ND Process Pending"; + } + leaf is-local-xr { + type boolean; + description + "IP-MAC Route is locally learned"; + } + } + + grouping L2VPN-EVPN-MOI-INFO { + description + "L2VPN EVPN MOI INFO"; + leaf tunnel-endpoint-id { + type uint32; + description + "Tunnel Endpoint ID"; + } + leaf mcast-encapsulation { + type uint32; + description + "Inclusive mcast transport encap"; + } + leaf moi-type { + type L2vpn-evpn-moi; + description + "MOI Next Hop type"; + } + leaf next-hop-ipv6-addr { + type inet:ipv6-address; + description + "Next Hop IPv6 address"; + } + leaf originating-ip { + type inet:ipv6-address; + description + "Original IP address"; + } + leaf mcast-label { + type uint32; + description + "Inclusive mcast label"; + } + leaf sr-te-interface-name { + type xr:Interface-name; + description + "SR-TE Interface"; + } + leaf sr-te-bsid { + type uint32; + description + "SR-TE Binding Label (BSID)"; + } + leaf srv6-te-bsid { + type inet:ipv6-address; + description + "SRv6-TE Binding SID"; + } + leaf srv6-sid { + type inet:ipv6-address; + description + "SRv6 SID"; + } + leaf srv6-sid-format { + type Mgmt-srv6-sid-fmt; + description + "SRv6 SID FORMAT"; + } + } + + grouping L2FIB-BRIDGE-MAC-EVPN-CTX-UN { + description + "L2FIB BRIDGE MAC EVPN CTX UN"; + container mcast-ole { + when "../data-type = 'mgmt-l2fib-bridge-mac-evpn-ctx-moi'" { + description + "../DataType = + 'MGMT_L2FIB_BRIDGE_MAC_EVPN_CTX_MOI'"; + } + description + "mcast ole"; + uses L2VPN-EVPN-MOI-INFO; + } + leaf data-type { + type Mgmt-l2fib-bridge-mac-evpn-ctx; + description + "DataType"; + } + leaf esi-id { + when "../data-type = 'mgmt-l2fib-bridge-mac-evpn-ctx-esi-id'" { + description + "../DataType = + 'MGMT_L2FIB_BRIDGE_MAC_EVPN_CTX_ESI_ID'"; + } + type uint16; + description + "EsiID"; + } + leaf local-label { + when "../data-type = 'mgmt-l2fib-bridge-mac-evpn-ctx-local-label'" { + description + "../DataType = + 'MGMT_L2FIB_BRIDGE_MAC_EVPN_CTX_LOCAL_LABEL'"; + } + type uint32; + description + "LocalLabel"; + } + leaf bp-ifh { + when "../data-type = 'mgmt-l2fib-bridge-mac-evpn-ctx-bp-ifh'" { + description + "../DataType = + 'MGMT_L2FIB_BRIDGE_MAC_EVPN_CTX_BP_IFH'"; + } + type xr:Interface-name; + description + "BP IFH"; + } + leaf internal-id { + when "../data-type = 'mgmt-l2fib-bridge-mac-evpn-ctx-internal-id'" { + description + "../DataType = + 'MGMT_L2FIB_BRIDGE_MAC_EVPN_CTX_INTERNAL_ID'"; + } + type uint32; + description + "InternalID"; + } + } + + grouping L2FIB-PW-KEY-INFO { + description + "L2FIB PW KEY INFO"; + leaf pw-id { + type uint64; + description + "Pseudowire ID"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next Hop Address"; + } + leaf pseudo-wire-id-type { + type L2fib-pw-id; + description + "Pseudowire ID type"; + } + } + + grouping L2FIB-EVPN-KEY-INFO { + description + "L2FIB EVPN KEY INFO"; + leaf xcid { + type uint32; + description + "Xconnect ID"; + } + } + + grouping L2FIB-VNI-KEY-INFO { + description + "L2FIB VNI KEY INFO"; + leaf xcid { + type uint32; + description + "Xconnect ID"; + } + leaf parent-if { + type xr:Interface-name; + description + "Parent NVE Interface"; + } + } + + grouping L2FIB-PBB-KEY-INFO { + description + "L2FIB PBB KEY INFO"; + leaf xcid { + type uint32; + description + "Xconnect ID"; + } + } + + grouping L2FIB-AC-KEY-INFO { + description + "L2FIB AC KEY INFO"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf vsp-vlan { + type uint16; + description + "VLAN-Switched Port VLAN ID"; + } + } + + grouping L2FIB-BRIDGE-PORT-SEG-KEY-UN { + description + "L2FIB BRIDGE PORT SEG KEY UN"; + container ac { + when "../data-type = 'mgmt-l2fib-data-type-ac'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_AC'"; + } + description + "ac"; + uses L2FIB-AC-KEY-INFO; + } + container pbb { + when "../data-type = 'mgmt-l2fib-data-type-pbb'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_PBB'"; + } + description + "pbb"; + uses L2FIB-PBB-KEY-INFO; + } + container vni { + when "../data-type = 'mgmt-l2fib-data-type-vni'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_VNI'"; + } + description + "vni"; + uses L2FIB-VNI-KEY-INFO; + } + container evpn { + when "../data-type = 'mgmt-l2fib-data-type-evpn'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_EVPN'"; + } + description + "evpn"; + uses L2FIB-EVPN-KEY-INFO; + } + container pw { + when "../data-type != 'mgmt-l2fib-data-type-ac' and ../data-type != 'mgmt-l2fib-data-type-pbb' and ../data-type != 'mgmt-l2fib-data-type-vni' and ../data-type != 'mgmt-l2fib-data-type-evpn'" { + description + "../DataType != 'MGMT_L2FIB_DATA_TYPE_AC' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_PBB' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_VNI' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_EVPN'"; + } + description + "pw"; + uses L2FIB-PW-KEY-INFO; + } + leaf data-type { + type Mgmt-l2fib-data; + description + "DataType"; + } + } + + grouping L2FIB-BRIDGE-MAC-INFO { + description + "L2VPN bridge MAC address info"; + container segment { + description + "Segment"; + uses L2FIB-BRIDGE-PORT-SEG-KEY-UN; + } + container evpn-ctx { + description + "Evpn Context"; + uses L2FIB-BRIDGE-MAC-EVPN-CTX-UN; + } + container next-hop { + description + "Next Hop"; + uses L2FIB-NHOP-INFO; + } + leaf platform-is-hw-learn { + type uint8; + description + "Platform is HW Learn"; + } + leaf node-id { + type xr:Node-id; + description + "Nodeid list"; + } + leaf bridge-domain-name { + type string; + description + "Bridge name"; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf bmac-configured { + type boolean; + description + "Flag: Configured BMAC"; + } + leaf vni-l3-flag { + type boolean; + description + "Flag: L3 Vxlan"; + } + leaf pbb-bmac { + type yang:mac-address; + description + "Backbone MAC Address"; + } + leaf l3-encapsulationvlan-id { + type uint16; + description + "L3 encapsulation Vlan ID"; + } + leaf next-hop-valid { + type boolean; + description + "IS Next Hop Valid"; + } + leaf peer-vtep-ip { + type inet:ipv4-address; + description + "Peer VTEP IP for this MAC Address"; + } + leaf flag-extension { + type uint32; + description + "MAC Flag Extension"; + } + leaf vni { + type uint32; + description + "VNI Information"; + } + } + + grouping L2FIB-P2MP-PTREE-INFO { + description + "l2fib p2mp ptree info"; + leaf lsm-id-xr { + type uint32; + description + "MLDP Lsm Id"; + } + leaf tunnel-id-xr { + type uint32; + description + "RSVPTE Tunnel Id"; + } + leaf p2mp-id-xr { + type uint32; + description + "RSVPTE P2MP Id"; + } + leaf extended-tunnel-id-xr { + type inet:ipv4-address; + description + "RSVPTE Ext Tunnel Id"; + } + } + + grouping L2FIB-IP-ADDR { + description + "L2FIB IP ADDR"; + leaf addr-type { + type L2fib-ip-addr; + description + "addr type"; + } + leaf ip { + type inet:ipv6-address; + description + "ip"; + } + } + + grouping L2FIB-MAC-DB-NODE-INFO { + description + "L2FIB MAC DB info per node"; + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + leaf topology-id { + type uint32; + description + "Topology ID"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + leaf interface-handle { + type uint32; + description + "Interface Handle"; + } + leaf xcid { + type uint32; + description + "Cross-connect Identifier"; + } + leaf generation { + type uint8; + description + "HW MAC generation"; + } + leaf sequence { + type uint8; + description + "HW MAC sequence"; + } + leaf is-cfm { + type boolean; + description + "MAC is for CFM"; + } + } + + grouping L2FIB-MAC-DB-INFO { + description + "L2FIB MAC DB info"; + container attributes { + description + "Active node attributes"; + uses L2FIB-MAC-DB-NODE-INFO; + } + container addr { + description + "IP Address"; + uses L2FIB-IP-ADDR; + } + container nhaddr { + description + "IP Address"; + uses L2FIB-IP-ADDR; + } + leaf element-type { + type uint8; + description + "Element Type"; + } + } + + grouping L2FIB-PBB-BMAC-SA-INFO { + description + "L2FIB PBB BMAC SA INFO"; + leaf configured { + type boolean; + description + "BMAC SA configured"; + } + leaf mac { + type yang:mac-address; + description + "Backbone Source Mac"; + } + leaf chassis-mac { + type yang:mac-address; + description + "Chassis Mac"; + } + } + + grouping L2FIB-MCAST-IRB-INFO { + description + "L2FIB MCAST IRB INFO"; + leaf mxid-ac-interface-handle { + type xr:Interface-name; + description + "Master XID AC If handle"; + } + leaf mxid-pw-id { + type uint32; + description + "Master XID PW ID"; + } + leaf mxid-next-hop-address { + type inet:ipv4-address; + description + "Master XID NHOP IP Address"; + } + leaf irb-plat-data-len { + type uint16; + units "byte"; + description + "Platform data bytes"; + } + list irb-plat-data { + max-elements "16"; + description + "IRB platform data"; + leaf entry { + type uint32; + description + "IRB platform data"; + } + } + } + + grouping L2FIB-MCAST-BAG-COUNTERS { + description + "L2FIB mcast statistics counters"; + leaf packets { + type uint64; + description + "Number of packets"; + } + leaf bytes { + type uint64; + units "byte"; + description + "Number of bytes"; + } + } + + grouping L2FIB-MCAST-STATS-BAG { + description + "L2FIB mcast forwarding statistics"; + container multicast-forward-stat { + description + "forwarded stats"; + uses L2FIB-MCAST-BAG-COUNTERS; + } + container received-stat { + description + "received stats"; + uses L2FIB-MCAST-BAG-COUNTERS; + } + container punt { + description + "punted stats"; + uses L2FIB-MCAST-BAG-COUNTERS; + } + container drop { + description + "dropped stats"; + uses L2FIB-MCAST-BAG-COUNTERS; + } + container multicast-core-forward-stat { + description + "core forwarded stats"; + uses L2FIB-MCAST-BAG-COUNTERS; + } + container core-received-stat { + description + "core received stats"; + uses L2FIB-MCAST-BAG-COUNTERS; + } + } + + grouping L2FIB-PLATFORM-STATS-UNION-BAG { + description + "L2FIB PLATFORM STATS UNION BAG"; + container mulicast { + when "../data-type = 'mgmt-l2fib-stats-type-mcast'" { + description + "../DataType = 'MGMT_L2FIB_STATS_TYPE_MCAST'"; + } + description + "mulicast"; + uses L2FIB-MCAST-STATS-BAG; + } + leaf data-type { + type Mgmt-l2fib-stats-data; + description + "DataType"; + } + } + + grouping L2FIB-PLATFORM-STATS-BAG { + description + "L2FIB platform statistics"; + container forward-stat { + description + "fwd stats"; + uses L2FIB-PLATFORM-STATS-UNION-BAG; + } + } + + grouping L2FIB-PREFIX-INFO { + description + "L2FIB PREFIX INFO"; + leaf proto { + type L2fib-prefix-proto-info; + description + "The prefix protocol"; + } + leaf prefix-length { + type uint16; + description + "The prefix length"; + } + leaf prefix { + type string; + description + "The prefix"; + } + } + + grouping L2FIB-MCAST-LEAF-INFO { + description + "l2fib mcast leaf info"; + container source-prefix { + description + "Source Prefix"; + uses L2FIB-PREFIX-INFO; + } + container destination-prefix { + description + "Destination Prefix"; + uses L2FIB-PREFIX-INFO; + } + container forward-stats { + description + "Forwarding Statistics"; + uses L2FIB-PLATFORM-STATS-BAG; + } + container irb-info { + description + "IRB Information"; + uses L2FIB-MCAST-IRB-INFO; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf xid-count { + type uint16; + description + "Count of XIDs"; + } + leaf platform-data-length { + type uint8; + description + "The mcast platform data len"; + } + leaf platform-data { + type yang:hex-string; + description + "The mcast platform data"; + } + leaf hardware-information { + type yang:hex-string; + description + "Platform Hardware info"; + } + leaf bridge-domain-name { + type string { + length "0..66"; + } + description + "Bridge Name"; + } + } + + grouping L2FIB-GBL-RTD-ITEM { + description + "Round-trip delay for PD calls per action"; + leaf number-pd-update { + type uint32; + description + "The number of time PD is called"; + } + leaf number-pd-update-zero { + type uint32; + description + "The number of time PD is called in 0 time"; + } + leaf minimum-round-trip-delay { + type uint64; + description + "The minimum round trip delay"; + } + leaf maximum-round-trip-delay { + type uint64; + description + "The maximum round trip delay"; + } + leaf average-round-trip-delay { + type uint64; + description + "The average round trip delay"; + } + } + + grouping L2FIB-GBL-RTD { + description + "Round-trip delay measurement"; + container bdxc-rtd { + description + "bdxc rtd"; + uses L2FIB-GBL-RTD-ITEM; + } + container aging-rtd { + description + "aging rtd"; + uses L2FIB-GBL-RTD-ITEM; + } + container punt-rtd { + description + "punt rtd"; + uses L2FIB-GBL-RTD-ITEM; + } + container lock-rtd { + description + "lock rtd"; + uses L2FIB-GBL-RTD-ITEM; + } + container platform-init-rtd { + description + "platform init rtd"; + uses L2FIB-GBL-RTD-ITEM; + } + leaf rtd-max-obj-type { + type uint32; + description + "RTD MAX OBJTYPE"; + } + list create { + max-elements "46"; + description + "create"; + uses L2FIB-GBL-RTD-ITEM; + } + list modify { + max-elements "46"; + description + "modify"; + uses L2FIB-GBL-RTD-ITEM; + } + list delete { + max-elements "46"; + description + "delete"; + uses L2FIB-GBL-RTD-ITEM; + } + list bind { + max-elements "46"; + description + "bind"; + uses L2FIB-GBL-RTD-ITEM; + } + list unbind { + max-elements "46"; + description + "unbind"; + uses L2FIB-GBL-RTD-ITEM; + } + list mac-flush { + max-elements "46"; + description + "mac flush"; + uses L2FIB-GBL-RTD-ITEM; + } + list pirtd { + max-elements "46"; + description + "pirtd"; + uses L2FIB-GBL-RTD-ITEM; + } + } + + grouping L2FIB-EVT-ENTRY { + description + "L2FIB event item"; + leaf event-time { + type string { + length "0..32"; + } + description + "The real timestamp of the event"; + } + leaf event-type { + type uint8; + description + "Event type"; + } + leaf event-many { + type boolean; + description + "Multiple event instance flag"; + } + leaf event-sticky { + type boolean; + description + "Unwrittable flag"; + } + leaf event-flags { + type uint32; + description + "base flag object"; + } + } + + grouping L2FIB-GBL-EVT-HISTORY { + description + "L2FIB global event history"; + leaf event-neighbor-entry { + type uint16; + description + "number of item in the array"; + } + list extra-information1 { + max-elements "256"; + description + "extra information1"; + leaf entry { + type uint32; + description + "entry"; + } + } + list extra-information2 { + max-elements "256"; + description + "extra information2"; + leaf entry { + type uint32; + description + "entry"; + } + } + list event-entry { + max-elements "256"; + description + "event entry"; + uses L2FIB-EVT-ENTRY; + } + } + + grouping L2FIB-EXT-MSG-SUMMARY-INFO { + description + "L2FIB message counters summary info"; + container event-history { + description + "Event history buffer"; + uses L2FIB-GBL-EVT-HISTORY; + } + container round-trip-delay { + description + "Round-Trip delay"; + uses L2FIB-GBL-RTD; + } + list message { + description + "message"; + uses L2FIB-GBL-MSG-INFO; + } + } + + grouping L2FIB-GBL-MSG-INFO { + description + "L2FIB message counter item info"; + leaf message-count { + type uint32; + description + "number of message"; + } + leaf time { + type string; + description + "Time string"; + } + leaf information1 { + type uint32; + description + "Extra info 1"; + } + leaf information2 { + type uint32; + description + "Extra info 2"; + } + leaf description { + type string; + description + "Description of the message"; + } + } + + grouping L2FIB-MCAST-SUMMARY-INFO { + description + "l2fib mcast summary info"; + leaf bridge-domain-name { + type string { + length "0..66"; + } + description + "Bridge Name"; + } + leaf bridge-domain-id { + type uint32; + description + "Bridge ID"; + } + leaf multicast-update { + type uint32; + description + "Multicast Updates"; + } + leaf multicast-update-dropped { + type uint32; + description + "Multicast Updates"; + } + leaf number-of-routes { + type uint32; + description + "Number of Routes"; + } + leaf number-of-routes-with-ole-offload { + type uint32; + description + "Number of Routes with OleOffload"; + } + leaf number-of-mroute-add { + type uint32; + description + "Number of Mroutes Added"; + } + leaf number-mroute-deleted { + type uint32; + description + "Number of Mroutes Deleted"; + } + leaf number-mroutes-deleted-all { + type uint32; + description + "Number of Mroutes All Deleted"; + } + leaf number-mroute-delete-drop { + type uint32; + description + "Number of Mroutes Delete droped"; + } + leaf number-mroute-all-delete-drop { + type uint32; + description + "Number of Mroutes All Delete droped"; + } + leaf number-xid-add { + type uint32; + description + "Number of XID Added"; + } + leaf number-xid-deleted { + type uint32; + description + "Number of XID Deleted"; + } + leaf number-of-xid { + type uint32; + description + "Number of XIDs"; + } + leaf stale-deleted { + type uint32; + description + "Stale Deleted"; + } + leaf stale-xid-deleted { + type uint32; + description + "Stale XID Deleted"; + } + list message { + description + "Global Message Information"; + uses L2FIB-GBL-MSG-INFO; + } + } + + grouping L2FIB-FXS-INFO { + description + "L2VPN FXS info"; + leaf fxs-id { + type uint32; + description + "FXS ID"; + } + leaf segment-type { + type uint8; + description + "Segment type"; + } + } + + grouping L2FIB-EVPN-REMOTE-SHG-INFO { + description + "L2FIB EVPN Remote Split Horizon Group Info"; + container remote-split-horizon-group-label { + description + "Remote split horizon group label"; + uses L2VPN-EVPN-REMOTE-SHG-INFO; + } + } + + grouping L2FIB-BRIDGE-PORT-P2MP-INFO { + description + "L2FIB BRIDGE PORT P2MP INFO"; + leaf ptree-type { + type L2vpn-ptree; + description + "P2MP ptree type"; + } + leaf lsm-id { + type uint32; + description + "MLDP LSM id"; + } + leaf tunnel-id { + type uint16; + description + "TE Tunnel Id"; + } + leaf p2mp-id { + type uint16; + description + "TE P2MP Id"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "TE Extended Tunnel Id"; + } + leaf ptree-owner-lmrib { + type boolean; + description + "PTree Owner LMRIB"; + } + } + + grouping L2FIB-PROFILE-INFO { + description + "L2VPN feature profile information"; + leaf profile-name { + type string; + description + "Feature profile name"; + } + } + + grouping L2FIB-FEATURE-UN { + description + "L2FIB FEATURE UN"; + container dhcp { + when "../feature-type = 'l2fib-feature-dhcp-snooping'" { + description + "../feature_type = 'L2FIB_FEATURE_DHCP_SNOOPING'"; + } + description + "dhcp"; + uses L2FIB-PROFILE-INFO; + } + container igmp { + when "../feature-type = 'l2fib-feature-igmp-snooping'" { + description + "../feature_type = 'L2FIB_FEATURE_IGMP_SNOOPING'"; + } + description + "igmp"; + uses L2FIB-PROFILE-INFO; + } + container mld { + when "../feature-type = 'l2fib-feature-mld-snooping'" { + description + "../feature_type = 'L2FIB_FEATURE_MLD_SNOOPING'"; + } + description + "mld"; + uses L2FIB-PROFILE-INFO; + } + leaf feature-type { + type L2fib-feature; + description + "feature type"; + } + } + + grouping L2FIB-OPER-INFO { + description + "L2VPN common operational information"; + leaf mtu { + type uint32; + description + "MTU"; + } + leaf mac-aging-time { + type uint32; + units "second"; + description + "MAC aging time in seconds"; + } + leaf mac-limit { + type uint32; + description + "MAC limit"; + } + leaf number-of-macs { + type uint32; + description + "numberOfMacs"; + } + leaf admin-disabled { + type boolean; + description + "Is administratively disabled"; + } + leaf flooding-disabled { + type boolean; + description + "Is flooding disabled"; + } + leaf flood-unknown-unicast-enabled { + type boolean; + description + "Is flooding unknown unicast disabled"; + } + leaf mac-limit-action { + type Mgmt-l2fib-mac-limit-action; + description + "MAC limit action"; + } + leaf mac-limit-threshold { + type uint32; + units "percentage"; + description + "MAC limit percentage recovery threshold"; + } + leaf mac-learning-disabled { + type boolean; + description + "Is MAC learning disabled"; + } + leaf mac-port-down-flush-disabled { + type boolean; + description + "Is MAC port down flush disabled"; + } + leaf mac-limit-notification-type { + type Mgmt-l2fib-mac-limit-notify; + description + "MAC limit notification"; + } + leaf is-mac-secure-enabled { + type boolean; + description + "Is MAC Secure Enabled"; + } + leaf is-mac-secure-logging-enabled { + type boolean; + description + "Is MAC Secure Logging Enabled"; + } + leaf mac-secure-action { + type Mgmt-l2fib-mac-sec-action; + description + "MAC secure action"; + } + leaf is-mac-secure-accept-shutdown { + type boolean; + description + "Is MAC secure accept shutdown (BP only)"; + } + leaf is-mac-secure-threshold-enabled { + type boolean; + description + "Is MAC Secure Threshold Enabled"; + } + leaf mac-aging-type { + type Mgmt-l2fib-mac-aging; + description + "MAC aging type"; + } + leaf l2mc-src-traffic-enabled { + type uint32; + description + "L2MC Source Traffic Enabled"; + } + leaf storm-control-unicast-enabled { + type boolean; + description + "Is unicast storm control enabled"; + } + leaf storm-control-broadcast-enabled { + type boolean; + description + "Is broadcast storm control enabled"; + } + leaf storm-control-multicast-enabled { + type boolean; + description + "Is multicast storm control enabled"; + } + leaf storm-control-unicast-rate-unit { + type L2fib-storm-control-rate-unit; + description + "Storm control unicast rate unit"; + } + leaf storm-control-broadcast-rate-unit { + type L2fib-storm-control-rate-unit; + description + "Storm control broadcast rate unit"; + } + leaf storm-control-multicast-rate-unit { + type L2fib-storm-control-rate-unit; + description + "Storm control multicast rate unit"; + } + leaf dhcp-enabled { + type boolean; + description + "Is DHCP snooping enabled"; + } + leaf dhcp-trusted { + type boolean; + description + "Is DHCP trusted"; + } + leaf is-dai-enabled { + type boolean; + description + "Is Dynamic ARP Inspection Enabled"; + } + leaf is-dai-addr-validation-ipv4-enabled { + type boolean; + description + "Is DAI IPv4 Address Validation Enabled"; + } + leaf is-dai-addr-validation-source-mac-enabled { + type boolean; + description + "Is DAI Source MAC Address Validation Enabled"; + } + leaf is-dai-addr-validation-destination-mac-enabled { + type boolean; + description + "Is DAI Destination MAC Validation enabled"; + } + leaf is-dai-logging-enabled { + type boolean; + description + "Is DAI Logging Enabled"; + } + leaf is-ipsg-enabled { + type boolean; + description + "Is IP Source Guard Enabled"; + } + leaf is-ipsg-logging-enabled { + type boolean; + description + "Is IP Source Guard Logging Enabled"; + } + leaf is-vpls-flood-optimization-enabled { + type boolean; + description + "Is MMRP Flood Optimization Enabled"; + } + leaf igmp-snoop-enabled { + type boolean; + description + "Is IGMP snooping enabled"; + } + leaf igmp-snoop-profile-enabled { + type boolean; + description + "Is IGMP snooping profile enabled"; + } + leaf igmp-flood-forward-enabled { + type boolean; + description + "Is IGMP flood forwarding enabled"; + } + leaf igmp-mroute-port-enabled { + type boolean; + description + "Is mrouter port"; + } + leaf igmp-route-guard-enabled { + type boolean; + description + "Is router gurad enabled"; + } + leaf mld-snoop-enabled { + type boolean; + description + "Is MLD snooping enabled"; + } + leaf mld-snoop-profile-enabled { + type boolean; + description + "Is MLD snooping profile enabled"; + } + leaf mld-flood-forward-enabled { + type boolean; + description + "Is MLD flood forwarding enabled"; + } + leaf mld-mroute-port-enabled { + type boolean; + description + "Is mrouter port"; + } + leaf mld-route-guard-enabled { + type boolean; + description + "Is router gurad enabled"; + } + leaf stp-participating { + type boolean; + description + "Is Spanning Tree Protocol participating"; + } + leaf bvi-configured { + type boolean; + description + "Is BVI Interface configured"; + } + leaf is-bvi-up { + type boolean; + description + "Is BVI state UP"; + } + leaf is-vni-enabled { + type boolean; + description + "Is VNI enabled"; + } + leaf is-evpn-enabled { + type boolean; + description + "Is EVPN enabled"; + } + leaf unknown-unicast-flooding-disabled { + type boolean; + description + "Unknown Unicast Flooding is disabled"; + } + leaf is-pbbevpn-enabled { + type boolean; + description + "Is PBBEVPN enabled"; + } + leaf is-swmac-learning { + type boolean; + description + "Is SW MAC learning enabled"; + } + leaf is-evpn-flow-label { + type boolean; + description + "Is EVPN Flow Label enabled"; + } + leaf is-evpn-cw-disable { + type boolean; + description + "Is EVPN CW disabled"; + } + leaf msti { + type uint32; + description + "Multi-spanning tree instance"; + } + leaf is-p2mp-pw-enabled { + type boolean; + description + "Is P2MP PW enabled"; + } + leaf is-igmp-snoop-enabled { + type boolean; + description + "Is IGMP Snooping admin enabled"; + } + leaf nv-satellite-offload-ipv4-multicast-disabled { + type boolean; + description + "nV Satellite Offload IPv4 Multicast Disabled"; + } + leaf etree-leaf { + type boolean; + description + "E-Tree Leaf Indication"; + } + leaf is-ves { + type boolean; + description + "Is Virtual Ethernet Segement feature enabled"; + } + list feature { + description + "Feature information"; + uses L2FIB-FEATURE-UN; + } + } + + grouping L2FIB-OPER-BRIDGE-PORT-INFO { + description + "L2VPN bridge port operational information"; + container operational-information { + description + "L2 operational information"; + uses L2FIB-OPER-INFO; + } + leaf unicast-storm-control-pps { + type uint64; + description + "Unicast storm control pps"; + } + leaf unicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Unicast storm control kbps"; + } + leaf broadcast-storm-control-pps { + type uint64; + description + "Broadcast storm control pps"; + } + leaf broadcast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Broadcast storm control kbps"; + } + leaf multicast-storm-control-pps { + type uint64; + description + "Multicast storm control pps"; + } + leaf multicast-storm-control-kb-ps { + type uint64; + units "kbit/s"; + description + "Multicast storm control kbps"; + } + } + + grouping L2FIB-BRIDGE-PORT-INFO { + description + "L2VPN bridge port info"; + container oper { + description + "Operational information"; + uses L2FIB-OPER-BRIDGE-PORT-INFO; + } + container p2mp { + description + "BP P2MP PW Information"; + uses L2FIB-BRIDGE-PORT-P2MP-INFO; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf shg-id { + type uint32; + description + "Split horizon group ID"; + } + leaf msti-pointer { + type uint32; + description + "MSTI Pointer"; + } + leaf segment-type { + type uint8; + description + "Segment type"; + } + leaf mvrp-sequence-number { + type uint16; + description + "MVRP Sequence Number"; + } + leaf learn-key { + type uint8; + description + "Learn Key"; + } + leaf bound { + type boolean; + description + "Bound"; + } + leaf evpn-shg-local-label { + type uint32; + description + "EVPN split horizon group local label"; + } + list evpn-shg-remote-info { + description + "EVPN split horizon group remote info"; + uses L2FIB-EVPN-REMOTE-SHG-INFO; + } + } + + grouping L2FIB-SEG2-UN { + description + "L2FIB SEG2 UN"; + container ac { + when "../data-type = 'mgmt-l2fib-data-type-ac'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_AC'"; + } + description + "ac"; + uses L2FIB-AC-INFO; + } + container bp { + when "../data-type = 'mgmt-l2fib-data-type-bridge-port'" { + description + "../DataType = + 'MGMT_L2FIB_DATA_TYPE_BRIDGE_PORT'"; + } + description + "bp"; + uses L2FIB-BRIDGE-PORT-INFO; + } + container fxs { + when "../data-type = 'mgmt-l2fib-data-type-fxs'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_FXS'"; + } + description + "fxs"; + uses L2FIB-FXS-INFO; + } + container pw { + when "../data-type != 'mgmt-l2fib-data-type-ac' and ../data-type != 'mgmt-l2fib-data-type-bridge-port' and ../data-type != 'mgmt-l2fib-data-type-fxs'" { + description + "../DataType != 'MGMT_L2FIB_DATA_TYPE_AC' and . + ./DataType != + 'MGMT_L2FIB_DATA_TYPE_BRIDGE_PORT' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_FXS'"; + } + description + "pw"; + uses L2FIB-PW-INFO; + } + leaf data-type { + type Mgmt-l2fib-data; + description + "DataType"; + } + } + + grouping L2FIB-BACKUP-PW-INFO { + description + "L2FIB BACKUP PW INFO"; + container atom { + description + "atom"; + uses L2FIB-PW-MPLS-INFO; + } + leaf backup-next-hop { + type inet:ipv4-address; + description + "Backup Next Hop"; + } + leaf backup-pseudo-wire-id-type { + type L2fib-pw-id; + description + "Pseudowire ID type"; + } + leaf backup-pseudo-wire-id { + type uint32; + description + "Backup Pseudowire ID"; + } + leaf redundancy-role { + type L2fib-pw-redundancy-role; + description + "Redundancy Role"; + } + leaf active { + type boolean; + description + "PW is active and forwarding"; + } + leaf bound { + type boolean; + description + "Bound"; + } + leaf pw-flow-label-tx { + type boolean; + description + "Pseudowire flow label TX enabled"; + } + leaf grouping-supported { + type boolean; + description + "Grouping supported"; + } + leaf group-id { + type uint32; + description + "PW Group Id"; + } + leaf group-state { + type L2fib-group-state; + description + "Group State"; + } + } + + grouping L2FIB-PW-L2TP-IPV6-TS-SESS-INFO { + description + "L2FIB PW L2TP IPV6 TS SESS INFO"; + leaf cookie-size { + type uint8; + description + "Cookie size"; + } + leaf cookie-low-value { + type uint32; + description + "Cookie low value"; + } + leaf cookie-high-value { + type uint32; + description + "Cookie high value"; + } + leaf secondary-cookie-size { + type uint8; + description + "Secondary Cookie size"; + } + leaf secondary-cookie-low-value { + type uint32; + description + "Secondary Cookie low value"; + } + leaf secondary-cookie-high-value { + type uint32; + description + "Secondary Cookie high value"; + } + leaf session-id { + type uint32; + description + "L2TP session ID"; + } + } + + grouping L2FIB-PW-L2TP-IPV6-TS-INFO { + description + "L2FIB PW L2TP IPV6 TS INFO"; + container local { + description + "Local session info"; + uses L2FIB-PW-L2TP-IPV6-TS-SESS-INFO; + } + container remote { + description + "Remote session info"; + uses L2FIB-PW-L2TP-SESS-INFO; + } + leaf tos-val { + type uint8; + description + "TOS val"; + } + leaf ttl { + type uint8; + description + "TTL"; + } + leaf path-mtu { + type uint16; + description + "Path MTU"; + } + leaf sequence-number-sent { + type uint32; + description + "Number of sequence sent"; + } + leaf sequence-number-expected { + type uint32; + description + "Number of sequence expected"; + } + leaf local-address { + type inet:ipv6-address; + description + "Local address"; + } + leaf remote-address { + type inet:ipv6-address; + description + "Remote address"; + } + } + + grouping L2FIB-PW-L2TPV2-SESS-INFO { + description + "L2FIB PW L2TPV2 SESS INFO"; + leaf session-id { + type uint32; + description + "L2TPv2 session ID"; + } + leaf tunnel-id { + type uint32; + description + "L2TPv2 tunnel ID"; + } + } + + grouping L2FIB-PW-L2TPV2-INFO { + description + "L2FIB PW L2TPV2 INFO"; + container local { + description + "Local session info"; + uses L2FIB-PW-L2TPV2-SESS-INFO; + } + container remote { + description + "Remote session info"; + uses L2FIB-PW-L2TPV2-SESS-INFO; + } + leaf pw-flags { + type uint8; + description + "L2TPv2 PW flags"; + } + leaf tos-val { + type uint8; + description + "TOS val"; + } + leaf ttl { + type uint8; + description + "TTL [Hops number]"; + } + leaf path-mtu { + type uint16; + units "byte"; + description + "Path MTU [Bytes]"; + } + leaf protocol { + type uint16; + description + "Protocol [UDP RFC-768]"; + } + leaf rem-udp-port { + type uint16; + description + "Remote UDP Port"; + } + leaf xconnect-id { + type uint32; + description + "Xconnect ID"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next Hop Address"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source Address"; + } + } + + grouping L2FIB-PW-L2TP-SESS-INFO { + description + "L2FIB PW L2TP SESS INFO"; + leaf session-id { + type uint32; + description + "L2TP session ID"; + } + leaf cookie-size { + type uint8; + description + "Cookie size"; + } + leaf cookie-low-value { + type uint32; + description + "Cookie low value"; + } + leaf cookie-high-value { + type uint32; + description + "Cookie high value"; + } + } + + grouping L2FIB-PW-L2TP-INFO { + description + "L2FIB PW L2TP INFO"; + container local { + description + "Local session info"; + uses L2FIB-PW-L2TP-SESS-INFO; + } + container remote { + description + "Remote session info"; + uses L2FIB-PW-L2TP-SESS-INFO; + } + leaf tos-val { + type uint8; + description + "TOS val"; + } + leaf ttl { + type uint8; + description + "TTL"; + } + leaf path-mtu { + type uint16; + description + "Path MTU"; + } + leaf sequence-number-sent { + type uint32; + description + "Number of sequence sent"; + } + leaf sequence-number-expected { + type uint32; + description + "Number of sequence expected"; + } + } + + grouping L2FIB-PW-MPLS-INFO { + description + "L2FIB PW MPLS INFO"; + leaf pw-label { + type uint32; + description + "PW Label"; + } + leaf pw-local-label { + type uint32; + description + "Local PW Label"; + } + leaf pw-tunnel-interface { + type uint32; + description + "PW tunnel interface"; + } + leaf pw-tunnel-bsid { + type uint32; + description + "PW SR-TE Binding Label (BSID)"; + } + leaf pw-xcid { + type uint32; + description + "PW XCID"; + } + } + + grouping L2FIB-PW-UN { + description + "L2FIB PW UN"; + container mpls { + when "../data-type = 'mgmt-l2fib-data-type-atom'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_ATOM'"; + } + description + "mpls"; + uses L2FIB-PW-MPLS-INFO; + } + container l2tp { + when "../data-type = 'mgmt-l2fib-data-type-l2tp'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_L2TP'"; + } + description + "l2tp"; + uses L2FIB-PW-L2TP-INFO; + } + container l2tpv2 { + when "../data-type = 'mgmt-l2fib-data-type-l2tpv2'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_L2TPV2'"; + } + description + "l2tpv2"; + uses L2FIB-PW-L2TPV2-INFO; + } + container l2tp-ipv6-ts { + when "../data-type = 'mgmt-l2fib-data-type-l2tp-ipv6-ts'" { + description + "../DataType = + 'MGMT_L2FIB_DATA_TYPE_L2TP_IPV6_TS'"; + } + description + "l2tp ipv6 ts"; + uses L2FIB-PW-L2TP-IPV6-TS-INFO; + } + leaf data-type { + type Mgmt-l2fib-data; + description + "DataType"; + } + } + + grouping L2FIB-PW-INFO { + description + "L2FIB PW INFO"; + container next-hop { + description + "Next Hop"; + uses L2FIB-NHOP-INFO; + } + container interface-list-next-hop { + description + "IFlist Next Hop"; + uses L2FIB-NHOP-INFO; + } + container pseudo-wire-union { + description + "Union of MPLS or L2TP"; + uses L2FIB-PW-UN; + } + container backup-pseudo-wire { + description + "Backup Pseudowire"; + uses L2FIB-BACKUP-PW-INFO; + } + leaf pw-id { + type uint64; + description + "Pseudowire ID"; + } + leaf signal-capability-flags { + type uint32; + description + "Sig Capability flags"; + } + leaf context { + type uint16; + description + "Context"; + } + leaf sequence-resync-threshold { + type uint16; + description + "Sequence Resync Threshold"; + } + leaf bound { + type boolean; + description + "Bound"; + } + leaf next-hop-valid { + type boolean; + description + "IS Next Hop Valid"; + } + leaf interface-list-next-hop-valid { + type boolean; + description + "IS IFlist Next Hop Valid"; + } + leaf backup-configured { + type boolean; + description + "Backup Pseudowire Configured"; + } + leaf redundancy-role { + type L2fib-pw-redundancy-role; + description + "Redundancy Role"; + } + leaf active { + type boolean; + description + "PW is active and forwarding"; + } + leaf pseudo-wire-id-type { + type L2fib-pw-id; + description + "Pseudowire ID type"; + } + leaf pw-load-balance-type { + type L2fib-load-bal; + description + "Type of load-balancing"; + } + leaf pw-flow-label-tx { + type boolean; + description + "Pseudowire flow label TX enabled"; + } + leaf grouping-supported { + type boolean; + description + "Grouping supported"; + } + leaf group-id { + type uint32; + description + "PW Group Id"; + } + leaf group-state { + type L2fib-group-state; + description + "Group State"; + } + leaf global-id { + type uint32; + description + "Global Id"; + } + leaf ac-id { + type uint32; + description + "Ac Id"; + } + leaf forward-class { + type uint8; + description + "Forward Class"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next Hop Address"; + } + leaf evpn-vpws-type { + type Evpn-vpws; + description + "EVPN VPWS Type"; + } + leaf is-srv6 { + type boolean; + description + "PW is over SRv6"; + } + } + + grouping L2FIB-MONITOR-SESSION-INFO { + description + "L2FIB MONITOR SESSION INFO"; + leaf xcid { + type uint32; + description + "Xconnect ID"; + } + leaf session-name { + type string; + description + "Monitor Session Name"; + } + leaf hardware-information { + type yang:hex-string; + description + "hardware Information of Monitor Session"; + } + leaf bound { + type boolean; + description + "Bound"; + } + } + + grouping L2FIB-EVPN-INFO { + description + "L2FIB EVPN INFO"; + leaf bound { + type boolean; + description + "Bound"; + } + leaf evi { + type uint32; + description + "EVPN ID"; + } + leaf forward-class { + type uint8; + description + "Forward Class"; + } + } + + grouping L2FIB-VNI-INFO { + description + "L2FIB VNI INFO"; + leaf srcip { + type inet:ipv4-address; + description + "VNI Src IPv4 Address"; + } + leaf mcastip { + type inet:ipv4-address; + description + "VNI Mcast IP Address"; + } + leaf bound { + type boolean; + description + "Bound"; + } + leaf parent-if { + type xr:Interface-name; + description + "Parent NVE Interface"; + } + leaf encap { + type uint32; + description + "Encap type of VNI"; + } + leaf udp-port { + type uint32; + description + "UDP Port"; + } + leaf source-vtep-if { + type xr:Interface-name; + description + "Source IF Handle"; + } + leaf any-cast-ip { + type inet:ipv4-address; + description + "Anycast VTEP IP"; + } + leaf anycast-mcast-ip { + type inet:ipv4-address; + description + "Anycast Multicast IP"; + } + leaf ingress-replication { + type boolean; + description + "Ingress Replication supported on VNI"; + } + leaf vx-lan-mode { + type uint32; + description + "Vxlan mode"; + } + } + + grouping L2FIB-PBB-CORE-INFO { + description + "L2FIB PBB CORE INFO"; + leaf vlan-id { + type uint32; + description + "vlan id"; + } + } + + grouping L2FIB-PBB-EDGE-INFO { + description + "L2FIB PBB EDGE INFO"; + leaf mac-configured { + type boolean; + description + "Configured MAC"; + } + leaf mac { + type yang:mac-address; + description + "unknown unicast bmac"; + } + } + + grouping L2FIB-PBB-UN { + description + "L2FIB PBB UN"; + container edge { + when "../pbb-type = 'mgmt-l2fib-bridge-type-pbb-edge'" { + description + "../PbbType = 'MGMT_L2FIB_BRIDGE_TYPE_PBB_EDGE'"; + } + description + "edge"; + uses L2FIB-PBB-EDGE-INFO; + } + container core { + when "../pbb-type = 'mgmt-l2fib-bridge-type-pbb-core'" { + description + "../PbbType = 'MGMT_L2FIB_BRIDGE_TYPE_PBB_CORE'"; + } + description + "core"; + uses L2FIB-PBB-CORE-INFO; + } + leaf pbb-type { + type Mgmt-l2fib-bridge; + description + "PbbType"; + } + } + + grouping L2FIB-PBB-INFO { + description + "L2FIB PBB INFO"; + container pbb-union { + description + "Union of Edge and Core"; + uses L2FIB-PBB-UN; + } + leaf bound { + type boolean; + description + "Bound"; + } + leaf forward-class { + type uint8; + description + "Forward Class"; + } + leaf core-pbb-evpn-enabled { + type boolean; + description + "Core PBB-EVPN enabled"; + } + } + + grouping L2FIB-AC-BACKUP-INFO { + description + "L2FIB AC BACKUP INFO"; + container next-hop { + description + "Next Hop"; + uses L2FIB-NHOP-INFO; + } + leaf next-hop-valid { + type boolean; + description + "Is Next Hop Valid"; + } + leaf vc-label { + type uint32; + description + "Virtual Circuit Label"; + } + } + + grouping L2FIB-NHOP-INFO { + description + "L2FIB NHOP INFO"; + leaf type { + type L2fib-nhop; + description + "Nexthop Type"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "NHOP Address"; + } + leaf next-hop-address-v6 { + type inet:ipv6-address; + description + "NHOP Address V6"; + } + leaf next-hop-te-interface-name { + type xr:Interface-name; + description + "NHOP (SR-)TE Interface"; + } + leaf next-hop-lsm-id { + type uint32; + description + "NHOP LSM ID"; + } + leaf next-hop-sr-te-bsid { + type uint32; + description + "NHOP SR-TE Binding Label (BSID)"; + } + leaf next-hop-internal-label { + type uint32; + description + "NHOP Internal Label"; + } + leaf next-hop-internal-id { + type uint32; + description + "NHOP Internal ID"; + } + leaf pin-down-interface-name { + type xr:Interface-name; + description + "Pin-down Interface Name"; + } + leaf ecd-platform-data-valid { + type boolean; + description + "Is Platform ECD Data Valid"; + } + leaf ecd-platform-data-length { + type uint32; + description + "Platform ECD Data Length"; + } + leaf children-count { + type uint32; + description + "Children Count"; + } + leaf children-evpn-ole-count { + type uint32; + description + "Children EVPN OLE Count"; + } + leaf children-mac-count { + type uint32; + description + "Children MAC Count"; + } + leaf children-pwhe-mp-count { + type uint32; + description + "Children PW-HE MainPort Count"; + } + leaf children-ac-backup-count { + type uint32; + description + "Children AC-BACKUP Count"; + } + leaf children-pw-ipv4-interface-list-count { + type uint32; + description + "Children PW IP-IFL Count"; + } + leaf children-pw-te-tunnel-interface-list-count { + type uint32; + description + "Children PW IFH-IFL Count"; + } + } + + grouping L2FIB-ADJACENCY-INFO { + description + "L2FIB ADJACENCY INFO"; + leaf is-valid { + type boolean; + description + "Whether the adjacency is valid"; + } + leaf ipv4 { + type inet:ipv4-address; + description + "IPv4 address of adjacency"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name of adjacency"; + } + } + + grouping L2FIB-AC-INFO { + description + "L2FIB AC INFO"; + container adjacency { + description + "Adjacency"; + uses L2FIB-ADJACENCY-INFO; + } + container fxc-next-hop { + description + "Flexible XConnect Service Next Hop"; + uses L2FIB-NHOP-INFO; + } + container ac-backup { + description + "AC Backup information"; + uses L2FIB-AC-BACKUP-INFO; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf sub-interface-handle { + type xr:Interface-name; + description + "Sub Interface Handle"; + } + leaf attachment-circuit-id { + type uint32; + description + "Attachment Circuit ID"; + } + leaf attachment-circuit-mtu { + type uint16; + description + "MTU of Attachment Circuit"; + } + leaf actype { + type uint8; + description + "Attachment Circuit Type"; + } + leaf inter-working-mode { + type uint8; + description + "Interworking Mode"; + } + leaf bound { + type boolean; + description + "Bound"; + } + leaf ip-inter-working-mac { + type string; + description + "IP Interworking MAC"; + } + leaf redundancy-group-id { + type uint32; + description + "ICCP Redundancy Group ID"; + } + leaf redundancy-object-id { + type uint64; + description + "ICCP Redundancy Object ID"; + } + leaf evpn-internal-label { + type uint32; + description + "EVPN Internal Label"; + } + leaf etree-leaf { + type boolean; + description + "E-Tree Leaf Indication"; + } + leaf fxc-next-hop-valid { + type boolean; + description + "Is Flexible XConnect Service Next Hop Valid"; + } + leaf rewrittenvlan-id-count { + type uint8; + description + "Number of rewritten VLAN IDs"; + } + leaf rewritten-first-vlan-id { + type uint16; + description + "First rewritten VLAN ID"; + } + leaf rewritten-second-vlan-id { + type uint16; + description + "Second rewritten VLAN ID"; + } + } + + grouping L2FIB-SEG1-UN { + description + "L2FIB SEG1 UN"; + container ac { + when "../data-type = 'mgmt-l2fib-data-type-ac'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_AC'"; + } + description + "ac"; + uses L2FIB-AC-INFO; + } + container pbb { + when "../data-type = 'mgmt-l2fib-data-type-pbb'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_PBB'"; + } + description + "pbb"; + uses L2FIB-PBB-INFO; + } + container vni { + when "../data-type = 'mgmt-l2fib-data-type-vni'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_VNI'"; + } + description + "vni"; + uses L2FIB-VNI-INFO; + } + container evpn { + when "../data-type = 'mgmt-l2fib-data-type-evpn'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_EVPN'"; + } + description + "evpn"; + uses L2FIB-EVPN-INFO; + } + container monitor-session { + when "../data-type = 'mgmt-l2fib-data-type-span'" { + description + "../DataType = 'MGMT_L2FIB_DATA_TYPE_SPAN'"; + } + description + "monitor session"; + uses L2FIB-MONITOR-SESSION-INFO; + } + container pw { + when "../data-type != 'mgmt-l2fib-data-type-ac' and ../data-type != 'mgmt-l2fib-data-type-pbb' and ../data-type != 'mgmt-l2fib-data-type-vni' and ../data-type != 'mgmt-l2fib-data-type-evpn' and ../data-type != 'mgmt-l2fib-data-type-span'" { + description + "../DataType != 'MGMT_L2FIB_DATA_TYPE_AC' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_PBB' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_VNI' and . + ./DataType != 'MGMT_L2FIB_DATA_TYPE_EVPN' and + ../DataType != 'MGMT_L2FIB_DATA_TYPE_SPAN'"; + } + description + "pw"; + uses L2FIB-PW-INFO; + } + leaf data-type { + type Mgmt-l2fib-data; + description + "DataType"; + } + } + + grouping L2FIB-XCON-INFO { + description + "L2FIB XCON INFO"; + container segment1 { + description + "Segment1 Information"; + uses L2FIB-SEG1-UN; + } + container segment2 { + description + "Segment2 Information"; + uses L2FIB-SEG2-UN; + } + leaf xcon-name { + type string { + length "0..72"; + } + description + "Xconnect name"; + } + leaf bound { + type boolean; + description + "Bound"; + } + leaf switching-type { + type Mgmt-l2fib-switching; + description + "SW Type"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper.yang new file mode 100644 index 000000000..3c91cd3b9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-l2vpn-oper.yang @@ -0,0 +1,2707 @@ +module Cisco-IOS-XR-l2vpn-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-oper"; + prefix l2vpn-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-l2vpn-oper-sub4 { + revision-date 2022-03-14; + } + include Cisco-IOS-XR-l2vpn-oper-sub3 { + revision-date 2022-03-14; + } + include Cisco-IOS-XR-l2vpn-oper-sub2 { + revision-date 2022-03-14; + } + include Cisco-IOS-XR-l2vpn-oper-sub1 { + revision-date 2022-03-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2vpn package operational data. + + This module contains definitions + for the following management objects: + l2vpn-forwarding: Show L2VPN forwarding + l2vpnv2: L2VPN operational data to support active and standby. + L2VPN has been deprecated + generic-interface-list-v2: Generic Interface List operational + data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "- Added new members to main-interface-info protect-type"; + semver:module-version "5.1.0"; + } + revision 2021-09-07 { + description + "- Added SRv6 nhop + 2021-08-24 + Updated l2vpn forwarding adjacencies to expose both interface and address information. + 2021-08-13 + - Changed flag-extension to 32bit + 2021-07-20 + - Added support for MAC is-cfm flag"; + semver:module-version "5.0.0"; + } + revision 2020-05-05 { + description + "changes related to treat SRv6 and SID as well-known when parsing XML for yang"; + semver:module-version "4.0.0"; + } + revision 2020-04-28 { + description + "- AC Backup related changes + 2020-01-22 + - PWGROUP related changes + 2019-12-20 + - EVPN-VPWS related changes - SR-TE policy related changes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2019-03-30 { + description + "- Rename l2fib-mac-learning-mac* interface-handle to interface-name - Rename l2fib-pw-group tunnel-if-handle to tunnel-interface-name - Convert several array from leaf-list to list syntax. - Implement range datatypes for all L2FIB integers."; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2tpv2-session-id-range { + type uint32 { + range "0..65535"; + } + description + "L2tpv2 session id range"; + } + + typedef Msti-range { + type uint32 { + range "0..1004"; + } + description + "Msti range"; + } + + typedef G8032-ring-instance-range { + type uint32 { + range "0..4294967295"; + } + description + "G8032 ring instance range"; + } + + typedef Main-interface-id-range { + type uint32 { + range "0..4294967295"; + } + description + "Main interface id range"; + } + + typedef L2vpn-service { + type enumeration { + enum "vpws" { + value 0; + description + "VPWS service"; + } + enum "vpls" { + value 1; + description + "VPLS service"; + } + } + description + "L2vpn service"; + } + + typedef Bridge-id-range { + type uint32 { + range "0..262144"; + } + description + "Bridge id range"; + } + + typedef Lsm-id-range { + type uint32 { + range "1..1048574"; + } + description + "Lsm id range"; + } + + typedef P2mp-id-range { + type uint32 { + range "0..4294967295"; + } + description + "P2mp id range"; + } + + typedef Tunnel-id-range { + type uint32 { + range "0..65535"; + } + description + "Tunnel id range"; + } + + typedef L2tpv3-session-id-range { + type uint32 { + range "0..4294967295"; + } + description + "L2tpv3 session id range"; + } + + typedef Preferred-path-option { + type enumeration { + enum "te-tunnel" { + value 2; + description + "TE Tunnel"; + } + enum "ip-tunnel" { + value 3; + description + "IP Tunnel"; + } + enum "tp-tunnel" { + value 4; + description + "TP Tunnel"; + } + enum "sr-te-policy" { + value 5; + description + "SR TE Policy"; + } + enum "mldp-tunnel" { + value 6; + description + "mLDP Tunnel"; + } + enum "mte-tunnel" { + value 7; + description + "mTE Tunnel"; + } + enum "named-te-tunnel" { + value 8; + description + "Named TE Tunnel"; + } + } + description + "Preferred path option"; + } + + typedef Evpn-main-interface { + type enumeration { + enum "evpn-main-interface-ac" { + value 1; + description + "EVPN main interface type AC"; + } + enum "evpn-main-interface-nve" { + value 2; + description + "EVPN main interface type NVE"; + } + enum "evpn-main-interface-ac-vfi" { + value 3; + description + "EVPN main interface type AC VFI"; + } + enum "evpn-main-interface-ac-pw" { + value 4; + description + "EVPN main interface type AC PW"; + } + } + description + "Evpn main interface"; + } + + typedef L2fib-next-hop-key { + type enumeration { + enum "nexthop-ipv4" { + value 1; + description + "IPv4 Nexthop type"; + } + enum "nexthop-mpls-internal-label" { + value 2; + description + "MPLS Internal-Label Nexthop type"; + } + enum "nexthop-ipv6" { + value 3; + description + "IPv6 Nexthop type"; + } + enum "nexthop-vx-lan-internal-label" { + value 4; + description + "Vxlan Internal-Label Nexthop type"; + } + enum "nexthop-sr-te-bsid" { + value 5; + description + "SR-TE BindingSID Nexthop type"; + } + enum "nexthop-te-tunnel" { + value 6; + description + "TE Tunnel Nexthop type"; + } + enum "nexthop-lsm-id" { + value 7; + description + "LSM ID Nexthop type"; + } + enum "nexthop-iid" { + value 8; + description + "Internal-ID Nexthop type"; + } + } + description + "L2fib next hop key"; + } + + typedef Pw-group-id-range { + type uint32 { + range "0..4294967295"; + } + description + "Pw group id range"; + } + + typedef L2vpnp2mp-ptree { + type enumeration { + enum "rsvp-te" { + value 1; + description + "RSVPTE Type"; + } + enum "mldp" { + value 2; + description + "MLDP Type"; + } + } + description + "L2vpnp2mp ptree"; + } + + typedef L2fib-evpn-moi { + type enumeration { + enum "ipv4-label" { + value 0; + description + "IPv4 label type"; + } + enum "sr-te-interface" { + value 1; + description + "SR-TE interface type"; + } + enum "sr-te-bsid" { + value 2; + description + "SR-TE Binding Label (BSID) type"; + } + enum "sr-te-bsi-dv6" { + value 3; + description + "SR-TE BSIDv6 type"; + } + } + description + "L2fib evpn moi"; + } + + typedef Rib-iid-range { + type uint32 { + range "0..4294967295"; + } + description + "Rib iid range"; + } + + typedef L2vpnpw { + type enumeration { + enum "manual" { + value 1; + description + "Manual pseudowire"; + } + enum "vpls-autodiscovered" { + value 2; + description + "VPLS autodiscovered pseudowire"; + } + enum "vpws-autodiscovered" { + value 3; + description + "VPWS autodiscovered pseudowire"; + } + enum "vpls-autodiscovered-ldp" { + value 4; + description + "VPLS autodiscovered pseudowire with LDP + signaling"; + } + } + description + "L2vpnpw"; + } + + grouping SRTE-POLICY-TABLE { + description + "Common node of active, standby, node"; + container srte-policies { + description + "SRTE Policy Table"; + list srte-policy { + description + "SRTE Policy information"; + leaf color { + type uint32; + description + "Policy Color"; + } + leaf endpoint { + type inet:ip-address-no-zone; + description + "Policy Endpoint IP Address"; + } + uses L2VPN-SRTE-POLICY; + } + } + } + + grouping FLEXIBLE-XCONNECT-SERVICE-TABLE { + description + "Common node of active, standby, node"; + container flexible-xconnect-services { + description + "Flexible XConnect Service Table"; + list flexible-xconnect-service { + key "name"; + description + "Flexible XConnect Service Information"; + container flexible-xconnect-service-acs { + description + "Flexible XConnect Service Attachment Circuit + Table"; + list flexible-xconnect-service-ac { + key "interface-name"; + description + "Flexible XConnect Service Attachment Circuit"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses L2VPN-FXC-AC; + } + } + container flexible-xconnect-service-info { + description + "Flexible XConnect Service Information"; + uses L2VPN-FXC; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..23"; + } + description + "Flexible XConnect Service Name"; + } + } + } + } + + grouping XCONNECT-MP2MP-TABLE { + description + "Common node of active, standby, node"; + container xconnect-mp2mps { + description + "XConnect MP2MP Table"; + list xconnect-mp2mp { + key "group-name mp2-mp-name"; + description + "XConnect MP2MP information"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "XConnect Group"; + } + leaf mp2-mp-name { + type xr:Cisco-ios-xr-string { + length "1..26"; + } + description + "Mp2Mp Name"; + } + uses L2VPN-MP2MP-XC; + } + } + } + + grouping FLEXIBLE-XCONNECT-SERVICE-SUMMARY { + description + "Common node of active, standby, node"; + container flexible-xconnect-service-summary { + description + "Flexible XConnect Service summary information"; + uses L2VPN-FXC-SUMMARY; + } + } + + grouping DISCOVERY-SUMMARY { + description + "Common node of active, standby, node"; + container discovery-summary { + description + "Discovery summary information"; + uses L2VPN-DISCO-SUMMARY; + } + } + + grouping XCONNECT-GROUP-TABLE { + description + "Common node of active, standby, node"; + container xconnect-groups { + description + "XConnect group Table"; + list xconnect-group { + key "group-name"; + description + "XConnect group information"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "XConnect Group"; + } + uses L2VPN-GROUP; + } + } + } + + grouping MSTP-PORT-TABLE { + description + "Common node of active, standby, node"; + container mstp-ports { + description + "L2VPN MSTP Port Table"; + list mstp-port { + key "interface"; + description + "MSTP Port information"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses L2VPN-MSTP-PORT; + } + } + } + + grouping PWR { + description + "Common node of active, standby, node"; + container pwr { + description + "Pseudowire Routing Table"; + container summary { + description + "L2VPN Pseudowire Routing Summary"; + uses L2VPN-ATOM-PWR-SUMMARY; + } + } + } + + grouping GENERIC-INTERFACE-LIST-TABLE { + description + "Common node of active, standby, node"; + container generic-interface-lists { + description + "L2VPN generic interface list Table"; + list generic-interface-list { + key "interface-list-name"; + description + "Generic Interface List information"; + leaf interface-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Generic Interface List Name"; + } + uses L2VPN-GENERIC-IF-LIST; + } + } + } + + grouping MAIN-INTERFACE-TABLE { + description + "Common node of active, standby, node"; + container main-interfaces { + description + "Main Interface"; + list main-interface { + key "interface-name"; + description + "Main Interface Table"; + container main-interface-instances { + description + "Main Interface Instance table"; + list main-interface-instance { + key "instance"; + description + "Main Interface Instance"; + container main-interface-instance-info { + description + "Main Interface Instance info"; + uses L2VPN-MAIN-INTERFACE-INSTANCE; + } + container main-interface-instance-bridge-ports { + description + "Main Interface Instance Bridge Port table"; + list main-interface-instance-bridge-port { + key "bridge-port"; + description + "Main Interface Bridge Port info"; + leaf bridge-port { + type xr:Interface-name; + description + "Bridge Port"; + } + uses L2VPN-MAIN-INTERFACE-INSTANCE-BPORT; + } + } + leaf instance { + type Msti-range; + description + "Instance"; + } + } + } + container main-interface-info { + description + "Main Interface info"; + uses L2VPN-MAIN-INTERFACE; + } + leaf interface-name { + type xr:Interface-name; + description + "Main interface"; + } + } + } + } + + grouping PREFERRED-PATH-TABLE { + description + "Common node of active, standby, node"; + container preferred-paths { + description + "Preferred path Table"; + list preferred-path { + description + "Preferred path information"; + leaf preferred-type { + type Preferred-path-option; + description + "Preferred type"; + } + leaf interface-name { + type xr:Interface-name; + description + "Main interface"; + } + uses L2VPN-PREFERRED-PATH; + } + } + } + + grouping DISCOVERY-TABLE { + description + "Common node of active, standby, node"; + container discoveries { + description + "Discovery Table"; + list discovery { + description + "VPLS Discovery information"; + leaf service-name { + type L2vpn-service; + description + "Service type"; + } + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Group Name"; + } + leaf vpn-name { + type xr:Cisco-ios-xr-string { + length "1..27"; + } + description + "VPN Name"; + } + uses L2VPN-DISCO; + } + } + } + + grouping XCONNECT-BRIEF { + description + "Common node of active, standby, node"; + container xconnect-brief { + description + "XConnect brief information"; + uses L2VPN-XC-BRIEF; + } + } + + grouping L2FIB-EVPN-INCL-MCAST-LEAF-INFO { + description + "Common node of l2fib-evpn-incl-mcast-leaf, + l2fib-evpn-incl-mcast-leaf-hardware-ingress, + l2fib-evpn-incl-mcast-leaf-hardware-egress"; + container l2fib-evpn-incl-mcast-leaf-info { + description + "L2FIB EVPN inclusive multicast leaf information"; + uses L2FIB-EVPN-MCAST-LEAF-INFO; + } + } + + grouping G8032 { + description + "Common node of active, standby, node"; + container g8032 { + description + "G8032 information"; + container g8032-rings { + description + "G8032 Ring table"; + list g8032-ring { + key "ring-name"; + description + "G8032 Ring"; + container g8032-ring-detail { + description + "G8032 Ring detailed information"; + uses L2VPN-G8032-RING-DETAIL-INFO; + } + container g8032-ring-instance-summaries { + description + "G8032 Ring Instance summary table"; + list g8032-ring-instance-summary { + key "instance"; + description + "G8032 Ring Instance summary information"; + leaf instance { + type uint32; + description + "Instance"; + } + uses L2VPN-G8032-RING-INSTANCE-SUMMARY-INFO; + } + } + container g8032-ring-summary { + description + "G8032 Ring summary information"; + uses L2VPN-G8032-RING-SUMMARY-INFO; + } + container g8032-ring-instance-details { + description + "G8032 Ring Instance detail table"; + list g8032-ring-instance-detail { + key "instance"; + description + "G8032 Ring Instance detailed information"; + leaf instance { + type G8032-ring-instance-range; + description + "Instance"; + } + uses L2VPN-G8032-RING-INSTANCE-DETAIL-INFO; + } + } + leaf ring-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Ring Name"; + } + } + } + } + } + + grouping XCONNECT-SUMMARY { + description + "Common node of active, standby, node"; + container xconnect-summary { + description + "XConnect summary information"; + uses L2VPN-XC-SUMMARY; + } + } + + grouping L2VPN-COLLABORATORS { + description + "Common node of active, standby, node"; + container l2vpn-collaborators { + description + "L2VPN collaborator information"; + uses L2VPN-GLOBAL-INFO; + } + } + + grouping PROC-FSM { + description + "Common node of active, standby, node"; + container proc-fsm { + description + "L2VPN Process FSM information"; + uses L2VPN-MGMT-PROC-FSM; + } + } + + grouping BRIDGE-PW-TABLE { + description + "Common node of bridge-core-vfi-table, + bridge-access-vfi-table"; + container bridge-pws { + description + "Bridge Domain Access/Core Pseudowire Table"; + list bridge-pw { + description + "Bridge Domain Pseudowire"; + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IPv4 address"; + } + leaf pw-type { + type L2vpnpw; + description + "PW Type"; + } + leaf pseudowire-id { + type uint32 { + range "1..4294967295"; + } + description + "Pseudowire ID"; + } + leaf ve-id-vpls-id-0-3 { + type uint32 { + range "0..4294967295"; + } + description + "Zero or concatenation of local and remote + VE-ID or first 4 bytes of VPLS-ID"; + } + leaf vpls-id-4-7 { + type uint32 { + range "0..4294967295"; + } + description + "Zero or Last 4 bytes of VPLS-ID"; + } + uses L2VPN-BD-PW; + } + } + } + + grouping GLOBAL-SETTINGS { + description + "Common node of active, standby, node"; + container global-settings { + description + "L2VPN global settings"; + uses L2VPN-GLOBALS; + } + } + + grouping L2FIB-EVPN-INCL-MCAST-OLE-TABLE { + description + "Common node of l2fib-evpn-incl-mcast-leaf, + l2fib-evpn-incl-mcast-leaf-hardware-ingress, + l2fib-evpn-incl-mcast-leaf-hardware-egress"; + container l2fib-evpn-incl-mcast-oles { + description + "L2FIB EVPN inclusive multicast output list + element table"; + list l2fib-evpn-incl-mcast-ole { + description + "L2FIB EVPN inclusive multicast output list + element"; + leaf moi-type { + type L2fib-evpn-moi; + description + "EVPN MOI Type"; + } + leaf next-hop-address { + type inet:ip-address-no-zone; + description + "Next Hop Address"; + } + leaf sr-te-interface { + type xr:Interface-name; + description + "SR-TE Interface"; + } + leaf sr-te-bsid { + type uint32 { + range "0..1048575"; + } + description + "SR-TE Binding Label (BSID)"; + } + leaf srv6-te-bsid { + type inet:ip-address-no-zone; + description + "SRv6-TE Binding SID"; + } + uses L2FIB-EVPN-MCAST-OLE-INFO; + } + } + } + + grouping BRIDGE-SUMMARY { + description + "Common node of active, standby, node"; + container bridge-summary { + description + "Bridge Domain summary information"; + uses L2VPN-BRIDGE-SUMMARY; + } + } + + grouping XCONNECT-MP2MP-CE2CE-TABLE { + description + "Common node of active, standby, node"; + container xconnect-mp2mp-ce2ces { + description + "XConnect MP2MP CE2CE Table"; + list xconnect-mp2mp-ce2ce { + description + "XConnect MP2MP CE2CE information"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "XConnect Group"; + } + leaf mp2-mp-name { + type xr:Cisco-ios-xr-string { + length "1..26"; + } + description + "Mp2Mp Name"; + } + leaf local-ceid { + type uint32 { + range "1..4294967295"; + } + description + "Local CE ID"; + } + leaf remote-ceid { + type uint32 { + range "1..4294967295"; + } + description + "Remote CE ID"; + } + uses L2VPN-XC; + } + } + } + + grouping L2VPN-OPER-L2VPN-RESOURCE-STATE-MP { + description + "Common node of active, standby, node"; + container l2vpn-resource-state { + description + "L2VPN resource state information"; + uses L2VPN-RESOURCE-STATE; + } + } + + grouping MSTP-VLAN-TABLE { + description + "Common node of active, standby, node"; + container mstp-vlans { + description + "L2VPN MSTP VLAN Table"; + list mstp-vlan { + key "vlan-id"; + description + "L2VPN MSTP VLAN information"; + leaf vlan-id { + type uint32 { + range "0..4098"; + } + description + "vlan id"; + } + uses L2VPN-MSTP-VLAN; + } + } + } + + grouping GENERIC-INTERFACE-LIST-DETAIL-TABLE { + description + "Common node of active, standby, node"; + container generic-interface-list-details { + description + "L2VPN generic interface list Detail Table"; + list generic-interface-list-detail { + key "interface-list-name"; + description + "Generic Interface List detail information"; + leaf interface-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Generic Interface List Name"; + } + uses L2VPN-GENERIC-IF-LIST-DETAIL; + } + } + } + + grouping GENERIC-INTERFACE-LIST-TABLE-V2 { + description + "Common node of active, standby, node"; + container generic-interface-lists { + description + "Generic interface list table"; + list generic-interface-list { + key "generic-interface-list-name"; + description + "Generic Interface List"; + leaf generic-interface-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Generic Interface List Name"; + } + uses IFLIST-IFL; + } + } + } + + grouping XCONNECT-TABLE { + description + "Common node of active, standby, node"; + container xconnects { + description + "XConnect Table"; + list xconnect { + key "group-name xconnect-name"; + description + "XConnect information"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "XConnect Group"; + } + leaf xconnect-name { + type string { + length "1..38"; + } + description + "XConnect Name"; + } + uses L2VPN-XC; + } + } + } + + grouping L2VPN-PBB-BSA { + description + "Common node of active, standby, node"; + container l2vpn-pbb-bsa { + description + "L2VPN PBB Backbone Source MAC information"; + uses L2VPN-PBB-BMAC-SA; + } + } + + grouping BRIDGE-DOMAIN-TABLE { + description + "Common node of active, standby, node"; + container bridge-domains { + description + "Bridge Domain Information"; + list bridge-domain { + key "bridge-domain-group-name bridge-domain-name"; + description + "Bridge Domain Information"; + container bridge-access-vfi-table { + description + "Bridge Domain Access VFI Table"; + uses BRIDGE-PW-TABLE; + } + container bridge-core-vfi-table { + description + "Bridge Domain Core VFI Table"; + uses BRIDGE-PW-TABLE; + } + container bridge-acs { + description + "Bridge Domain Attachment Circuit Table"; + list bridge-ac { + key "interface-name"; + description + "Bridge Domain Attachment Circuit"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses L2VPN-BD-AC; + } + } + container bridge-access-pws { + description + "Bridge Domain Access Pseudowire Table"; + list bridge-access-pw { + description + "Bridge Domain Access Pseudowire"; + leaf neighbor { + type inet:ipv4-address-no-zone; + description + "Neighbor IPv4 address"; + } + leaf pw-type { + type L2vpnpw; + description + "PW Type"; + } + leaf pseudowire-id { + type uint32 { + range "1..4294967295"; + } + description + "Pseudowire ID"; + } + leaf ve-id-vpls-id-0-3 { + type uint32 { + range "0..4294967295"; + } + description + "Zero or concatenation of local and remote + VE-ID or first 4 bytes of VPLS-ID"; + } + leaf vpls-id-4-7 { + type uint32 { + range "0..4294967295"; + } + description + "Zero or Last 4 bytes of VPLS-ID"; + } + uses L2VPN-BD-PW; + } + } + container bridge-domain-info { + description + "Bridge Domain Information"; + uses L2VPN-BRIDGE; + } + leaf bridge-domain-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bridge Domain Group Name"; + } + leaf bridge-domain-name { + type xr:Cisco-ios-xr-string { + length "1..27"; + } + description + "Bridge Domain Name"; + } + } + } + } + + grouping ICCP-SM { + description + "Common node of active, standby, node"; + container iccp-sm { + description + "ICCP-based Service Multi-homing operational data"; + container iccp-sm-summary { + description + "ICCP-based Service Multi-homing database + summary"; + uses ICCP-SM-SUMMARY; + } + container iccp-groups { + description + "ICCP Group Table"; + list iccp-group { + key "group-id"; + description + "ICCP Group"; + container iccp-group-info { + description + "ICCP Group Information"; + uses ICCP-SM-GROUP; + } + container iccp-ports { + description + "ICCP Port Table"; + list iccp-port { + key "interface"; + description + "ICCP Port"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + uses ICCP-SM-PORT; + } + } + leaf group-id { + type uint32 { + range "1..4294967295"; + } + description + "Group ID"; + } + } + } + } + } + + grouping INDEX-TABLE { + description + "Common node of active, standby, node"; + container indexes { + description + "ID Manager Index Table"; + list index { + key "pool-id"; + description + "ID Manager Index Pool"; + leaf pool-id { + type xr:Hex-integer; + description + "Pool ID"; + } + uses L2VPN-INDEX-INFO; + } + } + } + + grouping NSR { + description + "Common node of active, standby, node"; + container nsr { + description + "L2VPN NSR information"; + uses L2VPN-MGMT-PROC-FSM; + } + } + + grouping PSEUDOWIRE-CLASS-TABLE { + description + "Common node of active, standby, node"; + container pseudowire-classes { + description + "List of pseudowire classes"; + list pseudowire-class { + key "pseudowire-class-name"; + description + "Pseudowire class information"; + leaf pseudowire-class-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Pseudowire Class Name"; + } + uses L2VPN-PW-CLASS; + } + } + } + + grouping MVRP { + description + "Common node of active, standby, node"; + container mvrp { + description + "MVRP"; + container mvrp-main-ports { + description + "MVRP Main Port Table"; + list mvrp-main-port { + key "main-port-interface-name"; + description + "MVRP Main Port"; + container mvrp-main-port-info { + description + "MVRP Main Port Information"; + uses L2VPN-MVRP; + } + container mvrp-bridge-ports { + description + "MVRP Bridge Port Table"; + list mvrp-bridge-port { + key "interface-name"; + description + "MVRP Bridge Port Information"; + leaf interface-name { + type xr:Interface-name; + description + "Bridge Port Interface Name"; + } + uses L2VPN-MVRP-BP; + } + } + leaf main-port-interface-name { + type xr:Interface-name; + description + "Main Port interface"; + } + } + } + } + } + + container l2vpn-forwarding { + config false; + description + "Show L2VPN forwarding"; + container nodes { + description + "Per node L2VPN forwarding Operational data"; + list node { + key "node-id"; + description + "The L2VPN forwarding Operational data for a + particular node"; + container l2fibx-con-locals { + description + "The L2VPN forwarding Local LC XConnect Detail + Table"; + list l2fibx-con-local { + description + "Specify Sub Ifh"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vsp-vlan-id { + type uint32 { + range "0..4094"; + } + description + "VLAN-Switched Port VLAN ID"; + } + uses L2FIB-XCON-INFO; + } + } + container l2fib-mroute-summaries { + description + "Mroute Summary Table"; + list l2fib-mroute-summary { + description + "Multicast Summary Information"; + leaf bd-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bridge Group Name"; + } + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + uses L2FIB-MCAST-SUMMARY-INFO; + } + } + container l2fib-message-summary { + description + "L2FIB Message Summary information"; + uses L2FIB-EXT-MSG-SUMMARY-INFO; + } + container l2fib-mroutes { + description + "multicast information"; + list l2fib-mroute { + description + "Bridge Domain Multicast Information"; + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf source { + type inet:ipv4-address-no-zone; + description + "Source IP Address"; + } + leaf group { + type inet:ipv4-address-no-zone; + description + "Group IP Address"; + } + uses L2FIB-MCAST-LEAF-INFO; + } + } + container pbb-bmac-sa { + description + "PBB Backbone Source MAC information"; + uses L2FIB-PBB-BMAC-SA-INFO; + } + container l2fib-mac-learning { + description + "The L2VPN forwarding Mac Learning Data"; + container l2fib-mac-learning-macs { + description + "The L2VPN forwarding All Mac Learning Table"; + list l2fib-mac-learning-mac { + description + "The attributes for a particular learned Mac + Route"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf address { + type inet:ip-address-no-zone; + description + "IP Address"; + } + leaf bdid { + type Bridge-id-range; + description + "BD ID"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + uses L2FIB-MAC-DB-INFO; + } + } + container l2fib-mac-learning-mac-ipv4s { + description + "The L2VPN forwarding Mac IPV4 Learning Table"; + list l2fib-mac-learning-mac-ipv4 { + description + "The attributes for a particular learned IPV4 + Mac Route"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf address { + type inet:ip-address-no-zone; + description + "IP Address"; + } + leaf bdid { + type Bridge-id-range; + description + "BD ID"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + uses L2FIB-MAC-DB-INFO; + } + } + container l2fib-mac-learning-mac-ipv6s { + description + "The L2VPN forwarding Mac IPV6 Learning Table"; + list l2fib-mac-learning-mac-ipv6 { + description + "The attributes for a particular learned IPV6 + Mac Route"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf address { + type inet:ip-address-no-zone; + description + "IP Address"; + } + leaf bdid { + type Bridge-id-range; + description + "BD ID"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + uses L2FIB-MAC-DB-INFO; + } + } + } + container l2fib-p2mp { + description + "p2mp information"; + container ptrees { + description + "ptree information"; + list ptree { + description + "P2MP PTree Information"; + leaf ptree-type { + type L2vpnp2mp-ptree; + description + "PTree Type"; + } + leaf lsm-id { + type Lsm-id-range; + description + "LSM Id"; + } + leaf tunnel-id { + type Tunnel-id-range; + description + "Tunnel Id"; + } + leaf p2mp-id { + type P2mp-id-range; + description + "P2MP Id"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel Id"; + } + uses L2FIB-P2MP-PTREE-INFO; + } + } + } + container l2fibmac-hardware-ingresses { + description + "Bridge Hardware Ingress information"; + list l2fibmac-hardware-ingress { + description + "MAC Hardware Ingress information"; + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bridge Group Name"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..27"; + } + description + "Bridge Domain Name"; + } + uses L2FIB-BRIDGE-MAC-INFO; + } + } + container l2fib-evpn-ip4macs { + description + "EVPN IPv4-MAC Table"; + list l2fib-evpn-ip4mac { + description + "The attributes for a particular EVPN IPv4-MAC + Entry"; + leaf bdid { + type Bridge-id-range; + description + "BD ID"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP Address"; + } + leaf is-local { + type boolean; + description + "Entry is locally learned"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + uses L2FIB-EVPN-IPMAC-INFO; + } + } + container l2fib-pwhe-main-ports { + description + "PWHE Main-port table"; + list l2fib-pwhe-main-port { + key "interface-name"; + description + "PWHE Main-port"; + leaf interface-name { + type xr:Interface-name; + description + "PWHE Main-port"; + } + uses L2FIB-PWHE-MP-SHOW-INFO; + } + } + container l2fib-dhcp-binding-count { + description + "DHCP binding forwarding total count"; + uses L2FIB-DHCP-BINDING-COUNT-INFO; + } + container l2fib-bridge-domains { + description + "Bridge Domain forwarding detail"; + list l2fib-bridge-domain { + description + "Specify Bridge Domain Name"; + leaf bd-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Bridge group"; + } + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + uses L2FIB-BRIDGE-INFO; + } + } + container l2fib-mstp-summaries { + description + "MSTP Summary Table"; + list l2fib-mstp-summary { + description + "MSTP Summary information"; + leaf parent-interface { + type xr:Interface-name; + description + "Parent interface context"; + } + leaf main-interface-type { + type Evpn-main-interface; + description + "Main port interface type"; + } + leaf msti { + type Msti-range; + description + "MSTI context"; + } + uses L2FIB-MAIN-PORT-MSTP-SUMMARY-INFO; + } + } + container l2fib-resource-availability { + description + "Resource availability information"; + uses L2FIB-RSRC-INFO; + } + container l2fibmac-hardware-egresses { + description + "Bridge Hardware Egress information"; + list l2fibmac-hardware-egress { + description + "MAC Hardware Egress information"; + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bridge Group Name"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..27"; + } + description + "Bridge Domain Name"; + } + uses L2FIB-BRIDGE-MAC-INFO; + } + } + container l2fib-evpn-incl-mcast-leaf-hardware-ingresses { + description + "L2FIB hardware egress EVPN inclusive multicast + leaf table"; + list l2fib-evpn-incl-mcast-leaf-hardware-ingress { + description + "L2FIB hardware ingress EVPN inclusive + multicast leaf"; + leaf bd-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Bridge group"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf xcid { + type xr:Hex-integer; + description + "XC ID"; + } + uses L2FIB-EVPN-INCL-MCAST-OLE-TABLE; + uses L2FIB-EVPN-INCL-MCAST-LEAF-INFO; + } + } + container l2fibx-con-l2tpv2s { + description + "The L2VPN forwarding XConnect L2TPv2 Detail + Table"; + list l2fibx-con-l2tpv2 { + description + "Specify Sub Ifh"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vsp-vlan-id { + type uint32 { + range "0..4094"; + } + description + "VLAN-Switched Port VLAN ID"; + } + uses L2FIB-XCON-INFO; + } + } + container l2fib-mroute-ipv6s { + description + "multicast information"; + list l2fib-mroute-ipv6 { + description + "Bridge Domain Multicast Information"; + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf source { + type inet:ip-address-no-zone; + description + "Source IPv6 Address"; + } + leaf group { + type inet:ip-address-no-zone; + description + "Group IPv6 Address"; + } + uses L2FIB-MCAST-LEAF-INFO; + } + } + container l2fib-mon-sess-x-cons { + description + "The L2VPN forwarding Monitor Session XConnect + Information"; + list l2fib-mon-sess-x-con { + key "monitor-session-name"; + description + "Specify Monitor Session Name"; + leaf monitor-session-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Monitor Session Name"; + } + uses L2FIB-XCON-INFO; + } + } + container l2fib-mmrp-summaries { + description + "Mmrp Summary Table"; + list l2fib-mmrp-summary { + description + "Mmrp Summary Information"; + leaf bd-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bridge Group Name"; + } + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + uses L2FIB-MCAST-SUMMARY-INFO; + } + } + container l2fib-pw-groups { + description + "PW Group Table Information"; + list l2fib-pw-group { + description + "PW Group Information"; + leaf next-hop-type { + type L2fib-next-hop-key; + description + "NHOP Type"; + } + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "Peer IP Address"; + } + leaf group-id { + type Pw-group-id-range; + description + "Group Id"; + } + leaf next-hop-address { + type inet:ipv4-address-no-zone; + description + "NHOP Address"; + } + leaf next-hop-te-interface-name { + type xr:Interface-name; + description + "NHOP (SR-)TE Interface"; + } + leaf next-hop-lsm-id { + type Lsm-id-range; + description + "NHOP LSM ID"; + } + leaf next-hop-address-v6 { + type inet:ip-address-no-zone; + description + "NHOP Address V6"; + } + leaf next-hop-internal-label { + type uint32 { + range "0..1048575"; + } + description + "NHOP Internal Label"; + } + leaf next-hop-sr-te-bsid { + type uint32 { + range "0..1048575"; + } + description + "NHOP SR-TE Binding Label (BSID)"; + } + leaf next-hop-internal-id { + type Rib-iid-range; + description + "NHOP Internal ID"; + } + uses L2FIB-PWGROUP-INFO; + } + } + container l2fib-dhcp-binding-details { + description + "DHCP binding forwarding detail"; + list l2fib-dhcp-binding-detail { + description + "Specify DHCP binding detail"; + leaf xcid { + type xr:Hex-integer; + description + "XConnect ID"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor IPv4 address"; + } + leaf address { + type yang:mac-address; + description + "MAC address"; + } + uses L2FIB-DHCP-BINDING-DETAIL-INFO; + } + } + container l2fibx-cons { + description + "The L2VPN forwarding XConnect Detail Table"; + list l2fibx-con { + key "xcid"; + description + "Specify XConnect ID"; + leaf xcid { + type xr:Hex-integer; + description + "XC ID"; + } + uses L2FIB-XCON-INFO; + } + } + container l2fib-main-interfaces { + description + "Main Interface"; + list l2fib-main-interface { + description + "Main Interface Table"; + container l2fib-main-interface-hardware-egress-detail-info { + description + "Main Interface hardware egress detail info"; + uses L2FIB-MAIN-INTERFACE-DETAIL-INFO; + } + container l2fib-main-interface-hardware-egress-info { + description + "Main Interface hardware egress info"; + uses L2FIB-MAIN-INTERFACE-SUMMARY-INFO; + } + container l2fib-main-interface-instances { + description + "Main Interface Instance table"; + list l2fib-main-interface-instance { + key "instance"; + description + "Main Interface Instance"; + container l2fib-main-interface-instance-detail-info { + description + "Main Interface Instance detail info"; + uses L2FIB-MAIN-INTERFACE-INSTANCE-DETAIL-INFO; + } + container l2fib-main-interface-instance-bridge-port-details { + description + "Main Interface Instance Bridge Port detail + table"; + list l2fib-main-interface-instance-bridge-port-detail { + key "xcid"; + description + "Main Interface Bridge Port detail info"; + leaf xcid { + type xr:Hex-integer; + description + "Bridge Port"; + } + uses L2FIB-MAIN-INTERFACE-INSTANCE-BPORT-DETAIL-INFO; + } + } + container l2fib-main-interface-instance-info { + description + "Main Interface Instance info"; + uses L2FIB-MAIN-INTERFACE-INSTANCE-SUMMARY-INFO; + } + container l2fib-main-interface-instance-hardware-ingress-detail-info { + description + "Main Interface Instance hardware ingress + detail info"; + uses L2FIB-MAIN-INTERFACE-INSTANCE-DETAIL-INFO; + } + container l2fib-main-interface-instance-hardware-egress-info { + description + "Main Interface Instance hardware egress + info"; + uses L2FIB-MAIN-INTERFACE-INSTANCE-SUMMARY-INFO; + } + container l2fib-main-interface-instance-hardware-ingress-info { + description + "Main Interface Instance hardware ingress + info"; + uses L2FIB-MAIN-INTERFACE-INSTANCE-SUMMARY-INFO; + } + container l2fib-main-interface-instance-bridge-ports { + description + "Main Interface Instance Bridge Port table"; + list l2fib-main-interface-instance-bridge-port { + key "xcid"; + description + "Main Interface Bridge Port info"; + leaf xcid { + type xr:Hex-integer; + description + "Bridge Port"; + } + uses L2FIB-MAIN-INTERFACE-INSTANCE-BPORT-SUMMARY-INFO; + } + } + container l2fib-main-interface-instance-hardware-egress-detail-info { + description + "Main Interface Instance hardware egress + detail info"; + uses L2FIB-MAIN-INTERFACE-INSTANCE-DETAIL-INFO; + } + leaf instance { + type Msti-range; + description + "Instance"; + } + } + } + container l2fib-main-interface-info { + description + "Main Interface info"; + uses L2FIB-MAIN-INTERFACE-SUMMARY-INFO; + } + container l2fib-main-interface-detail-info { + description + "Main Interface detail info"; + uses L2FIB-MAIN-INTERFACE-DETAIL-INFO; + } + container l2fib-main-interface-hardware-ingress-detail-info { + description + "Main Interface hardware ingress detail info"; + uses L2FIB-MAIN-INTERFACE-DETAIL-INFO; + } + container l2fib-main-interface-hardware-ingress-info { + description + "Main Interface hardware ingress info"; + uses L2FIB-MAIN-INTERFACE-SUMMARY-INFO; + } + leaf main-interface-id { + type Main-interface-id-range; + description + "Main interface id"; + } + leaf main-interface-type { + type Evpn-main-interface; + description + "Main interface type"; + } + } + } + container l2fib-message-hardware-summary { + description + "L2FIB Message Summary information from + hardware"; + uses L2FIB-HW-INFO; + } + container l2fib-mstp-details { + description + "MSTP Detail Table"; + list l2fib-mstp-detail { + description + "MSTP Detail information"; + leaf parent-interface { + type xr:Interface-name; + description + "Parent interface context"; + } + leaf main-interface-type { + type Evpn-main-interface; + description + "Main port interface type"; + } + leaf msti { + type Msti-range; + description + "MSTI context"; + } + uses L2FIB-MAIN-PORT-MSTP-DETAIL-INFO; + } + } + container l2fib-l2tp { + description + "L2TP"; + container l2tpv3-sessions { + description + "L2TPV3 Session table"; + list l2tpv3-session { + key "session-id"; + description + "L2TPV3 Session"; + leaf session-id { + type L2tpv3-session-id-range; + description + "SessionID"; + } + uses L2FIB-L2TP-DISP-INFO; + } + } + container l2tpv2-sessions { + description + "L2TPV2 Session table"; + list l2tpv2-session { + description + "L2TPV2 Session"; + leaf session-id { + type L2tpv2-session-id-range; + description + "SessionID"; + } + leaf tunnel-id { + type Tunnel-id-range; + description + "TunnelID"; + } + uses L2FIB-L2TP-DISP-INFO; + } + } + } + container l2fib-g8032 { + description + "G8032 information"; + container l2fib-g8032-rings { + description + "G8032 Ring table"; + list l2fib-g8032-ring { + key "ring-name"; + description + "G8032 Ring"; + container l2fib-g8032-ring-detail { + description + "G8032 Ring detailed information"; + uses L2FIB-G8032-RING-DETAIL-INFO; + } + container l2fib-g8032-ring-summary { + description + "G8032 Ring summary information"; + uses L2FIB-G8032-RING-SUMMARY-INFO; + } + container l2fib-g8032-ring-instance-summaries { + description + "G8032 Ring Instance summary table"; + list l2fib-g8032-ring-instance-summary { + key "instance"; + description + "G8032 Ring Instance summary information"; + leaf instance { + type G8032-ring-instance-range; + description + "Instance"; + } + uses L2FIB-G8032-RING-INSTANCE-SUMMARY-INFO; + } + } + container l2fib-g8032-ring-instance-details { + description + "G8032 Ring Instance detail table"; + list l2fib-g8032-ring-instance-detail { + key "instance"; + description + "G8032 Ring Instance detailed information"; + leaf instance { + type G8032-ring-instance-range; + description + "Instance"; + } + uses L2FIB-G8032-RING-INSTANCE-DETAIL-INFO; + } + } + leaf ring-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Ring Name"; + } + } + } + } + container l2fib-bridge-ports { + description + "Bridge Port forwarding detail"; + list l2fib-bridge-port { + description + "Specify Bridge Domain Name and XC ID"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bridge Group Name"; + } + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf xc-uint-id { + type xr:Hex-integer; + description + "XC ID"; + } + uses L2FIB-BRIDGE-PORT-DETAIL-INFO; + } + } + container l2fibmac-details { + description + "Bridge MAC detail information"; + list l2fibmac-detail { + description + "MAC Detail information"; + leaf address { + type yang:mac-address; + description + "Static MAC address"; + } + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bridge Group Name"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + uses L2FIB-BRIDGE-MAC-INFO; + } + } + container l2fib-bridge-domain-names { + description + "Bridge Domain forwarding detail"; + list l2fib-bridge-domain-name { + description + "Specify Bridge Domain Name"; + leaf bd-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Bridge group"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + uses L2FIB-BRIDGE-SUMMARY-INFO; + } + } + container l2fib-evpn-incl-mcast-leafs { + description + "L2FIB EVPN inclusive multicast leaf table"; + list l2fib-evpn-incl-mcast-leaf { + description + "L2FIB EVPN inclusive multicast leaf"; + leaf bd-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Bridge group"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf xcid { + type xr:Hex-integer; + description + "XC ID"; + } + uses L2FIB-EVPN-INCL-MCAST-OLE-TABLE; + uses L2FIB-EVPN-INCL-MCAST-LEAF-INFO; + } + } + container l2fib-mroute-ports { + description + "multicast bridge port information "; + list l2fib-mroute-port { + description + "Multicast Port Information"; + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf xcid { + type xr:Hex-integer; + description + "XConnect ID"; + } + leaf originating-ip { + type inet:ip-address-no-zone; + description + "Originating IP"; + } + leaf label { + type uint32 { + range "0..1048575"; + } + description + "NextHop Label"; + } + leaf source { + type inet:ipv4-address-no-zone; + description + "Source IP Address"; + } + leaf group { + type inet:ipv4-address-no-zone; + description + "Group IP Address"; + } + uses L2FIB-MCAST-XID-INFO; + } + } + container l2fib-summary { + description + "L2FIB Summary information"; + uses L2FIB-SUMMARY-INFO; + } + container l2fib-nve-peers { + description + "NVE Peer Table"; + list l2fib-nve-peer { + description + "The attributes for a particular NVE Peer"; + leaf xc-uint-id { + type xr:Hex-integer; + description + "XC ID"; + } + leaf vniid { + type xr:Hex-integer; + description + "VNI ID"; + } + leaf vtep-address { + type inet:ipv4-address-no-zone; + description + "VTEP IP Address"; + } + uses L2FIB-VTEP-INFO; + } + } + container l2fib-mmrps { + description + "mmrp information"; + list l2fib-mmrp { + description + "Bridge Domain Mmrp Information"; + leaf bd-name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf source { + type yang:mac-address; + description + "Source Mac Address"; + } + leaf group { + type yang:mac-address; + description + "Group Mac Address"; + } + uses L2FIB-MCAST-LEAF-INFO; + } + } + container l2fib-evpn-ip6macs { + description + "EVPN IPv6-MAC Table"; + list l2fib-evpn-ip6mac { + description + "The attributes for a particular EVPN IPv6-MAC + Entry"; + leaf bdid { + type Bridge-id-range; + description + "BD ID"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP Address"; + } + leaf is-local { + type boolean; + description + "Entry is locally learned"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address"; + } + uses L2FIB-EVPN-IPMAC-INFO; + } + } + container l2fib-pwhe-main-port-hardware-egresses { + description + "PWHE Main-port Hardware Egress Table"; + list l2fib-pwhe-main-port-hardware-egress { + key "interface-name"; + description + "PWHE Main-port H/W Egress Info"; + leaf interface-name { + type xr:Interface-name; + description + "PWHE Main-port"; + } + uses L2FIB-PWHE-MP-SHOW-INFO; + } + } + container l2fib-evpn-incl-mcast-leaf-hardware-egresses { + description + "L2FIB hardware ingress EVPN inclusive + multicast leaf table"; + list l2fib-evpn-incl-mcast-leaf-hardware-egress { + description + "L2FIB hardware egress EVPN inclusive + multicast leaf"; + leaf bd-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the Bridge group"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..65"; + } + description + "Bridge Domain Name"; + } + leaf xcid { + type xr:Hex-integer; + description + "XC ID"; + } + uses L2FIB-EVPN-INCL-MCAST-OLE-TABLE; + uses L2FIB-EVPN-INCL-MCAST-LEAF-INFO; + } + } + container l2fib-dhcp-binding-summaries { + description + "DHCP binding forwarding summary"; + list l2fib-dhcp-binding-summary { + key "xcid"; + description + "Specify DHCP binding summary"; + leaf xcid { + type xr:Hex-integer; + description + "XConnect ID"; + } + uses L2FIB-DHCP-BINDING-SUMMARY-INFO; + } + } + container l2fib-pwhe-main-port-hardware-ingresses { + description + "PWHE Main-port Hardware Ingress Table"; + list l2fib-pwhe-main-port-hardware-ingress { + key "interface-name"; + description + "PWHE Main-port H/W Ingress Info"; + leaf interface-name { + type xr:Interface-name; + description + "PWHE Main-port"; + } + uses L2FIB-PWHE-MP-SHOW-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "The identifier for the node"; + } + } + } + } + container l2vpnv2 { + config false; + description + "L2VPN operational data to support active and + standby. L2VPN has been deprecated"; + container standby { + description + "Standby L2VPN operational data"; + uses DISCOVERY-TABLE; + uses FLEXIBLE-XCONNECT-SERVICE-SUMMARY; + uses MAIN-INTERFACE-TABLE; + uses ICCP-SM; + uses BRIDGE-SUMMARY; + uses NSR; + uses PREFERRED-PATH-TABLE; + uses GLOBAL-SETTINGS; + uses PWR; + uses XCONNECT-MP2MP-CE2CE-TABLE; + uses XCONNECT-TABLE; + uses XCONNECT-GROUP-TABLE; + uses XCONNECT-MP2MP-TABLE; + uses SRTE-POLICY-TABLE; + uses INDEX-TABLE; + uses XCONNECT-SUMMARY; + uses PROC-FSM; + uses MSTP-PORT-TABLE; + uses GENERIC-INTERFACE-LIST-DETAIL-TABLE; + uses L2VPN-OPER-L2VPN-RESOURCE-STATE-MP; + uses BRIDGE-DOMAIN-TABLE; + uses DISCOVERY-SUMMARY; + uses G8032; + uses PSEUDOWIRE-CLASS-TABLE; + uses L2VPN-COLLABORATORS; + uses MVRP; + uses GENERIC-INTERFACE-LIST-TABLE; + uses MSTP-VLAN-TABLE; + uses L2VPN-PBB-BSA; + uses FLEXIBLE-XCONNECT-SERVICE-TABLE; + uses XCONNECT-BRIEF; + } + container active { + description + "Active L2VPN operational data"; + container pseudowire-headend { + description + "Pseudowire Headend related operational data"; + container detail-interfaces { + description + "PW-HE Interfaces"; + list detail-interface { + key "interface-name"; + description + "PW-HE Interface detail"; + leaf interface-name { + type xr:Interface-name; + description + "PWHE Interface name"; + } + uses L2VPN-PWHE-DETAIL; + } + } + container summary { + description + "PW-HE interface summary"; + uses L2VPN-PWHE-SUMMARY; + } + } + uses DISCOVERY-TABLE; + uses FLEXIBLE-XCONNECT-SERVICE-SUMMARY; + uses MAIN-INTERFACE-TABLE; + uses ICCP-SM; + uses BRIDGE-SUMMARY; + uses NSR; + uses PREFERRED-PATH-TABLE; + uses GLOBAL-SETTINGS; + uses PWR; + uses XCONNECT-MP2MP-CE2CE-TABLE; + uses XCONNECT-TABLE; + uses XCONNECT-GROUP-TABLE; + uses XCONNECT-MP2MP-TABLE; + uses SRTE-POLICY-TABLE; + uses INDEX-TABLE; + uses XCONNECT-SUMMARY; + uses PROC-FSM; + uses MSTP-PORT-TABLE; + uses GENERIC-INTERFACE-LIST-DETAIL-TABLE; + uses L2VPN-OPER-L2VPN-RESOURCE-STATE-MP; + uses BRIDGE-DOMAIN-TABLE; + uses DISCOVERY-SUMMARY; + uses G8032; + uses PSEUDOWIRE-CLASS-TABLE; + uses L2VPN-COLLABORATORS; + uses MVRP; + uses GENERIC-INTERFACE-LIST-TABLE; + uses MSTP-VLAN-TABLE; + uses L2VPN-PBB-BSA; + uses FLEXIBLE-XCONNECT-SERVICE-TABLE; + uses XCONNECT-BRIEF; + } + container nodes { + description + "Table of L2VPN operational data for a particular + node"; + list node { + key "node-id"; + description + "L2VPN operational data for a particular node"; + leaf node-id { + type xr:Node-id; + description + "Location"; + } + uses DISCOVERY-TABLE; + uses FLEXIBLE-XCONNECT-SERVICE-SUMMARY; + uses MAIN-INTERFACE-TABLE; + uses ICCP-SM; + uses BRIDGE-SUMMARY; + uses NSR; + uses PREFERRED-PATH-TABLE; + uses GLOBAL-SETTINGS; + uses PWR; + uses XCONNECT-MP2MP-CE2CE-TABLE; + uses XCONNECT-TABLE; + uses XCONNECT-GROUP-TABLE; + uses XCONNECT-MP2MP-TABLE; + uses SRTE-POLICY-TABLE; + uses INDEX-TABLE; + uses XCONNECT-SUMMARY; + uses PROC-FSM; + uses MSTP-PORT-TABLE; + uses GENERIC-INTERFACE-LIST-DETAIL-TABLE; + uses L2VPN-OPER-L2VPN-RESOURCE-STATE-MP; + uses BRIDGE-DOMAIN-TABLE; + uses DISCOVERY-SUMMARY; + uses G8032; + uses PSEUDOWIRE-CLASS-TABLE; + uses L2VPN-COLLABORATORS; + uses MVRP; + uses GENERIC-INTERFACE-LIST-TABLE; + uses MSTP-VLAN-TABLE; + uses L2VPN-PBB-BSA; + uses FLEXIBLE-XCONNECT-SERVICE-TABLE; + uses XCONNECT-BRIEF; + } + } + } + container generic-interface-list-v2 { + config false; + description + "Generic Interface List operational data"; + container nodes { + description + "Table of generic interface list operational data + for a particular node"; + list node { + key "node-id"; + description + "Generic interface list operational data for a + particular node"; + leaf node-id { + type xr:Node-id; + description + "Location"; + } + uses GENERIC-INTERFACE-LIST-TABLE-V2; + } + } + container standby { + description + "Standby generic interface list operational data"; + uses GENERIC-INTERFACE-LIST-TABLE-V2; + } + container active { + description + "Active generic interface list operational data"; + uses GENERIC-INTERFACE-LIST-TABLE-V2; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper-sub1.yang new file mode 100644 index 000000000..854ca6f63 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper-sub1.yang @@ -0,0 +1,63 @@ +submodule Cisco-IOS-XR-ledmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-ledmgr-oper { + prefix Cisco-IOS-XR-ledmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ledmgr package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-15 { + description + "IOS XR 7.0.12 revision."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping LED-ATTRIBUTES { + description + "led attributes info bag"; + leaf led-name { + type string; + description + "name of led"; + } + leaf led-mode { + type string; + description + "mode of led"; + } + leaf led-color { + type string; + description + "color of led"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper.yang new file mode 100644 index 000000000..99f2266eb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ledmgr-oper.yang @@ -0,0 +1,84 @@ +module Cisco-IOS-XR-ledmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ledmgr-oper"; + prefix ledmgr-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ledmgr-oper-sub1 { + revision-date 2019-10-15; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ledmgr package operational data. + + This module contains definitions + for the following management objects: + led-management: LED operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-15 { + description + "IOS XR 7.0.12 revision."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container led-management { + config false; + description + "LED operational data"; + container locations { + description + "Table of LED Locations"; + list location { + key "name"; + description + "Location"; + container leds { + description + "LED operational data"; + list led { + key "name"; + description + "LED"; + leaf name { + type string; + description + "LED Name"; + } + uses LED-ATTRIBUTES; + } + } + leaf name { + type string; + description + "External node name (as seen in show platform)"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-act.yang new file mode 100644 index 000000000..46768c0e9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-act.yang @@ -0,0 +1,82 @@ +module Cisco-IOS-XR-lib-keychain-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-act"; + prefix lib-keychain-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2017-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-04-17 { + description + "IOS XR 6.3.1 revision."; + } + + grouping MASTER-KEY { + description + "Master Key"; + leaf old-key { + type string; + mandatory true; + description + "key already added/key to be replaced"; + } + leaf new-key { + type string; + mandatory true; + description + "New master key to be added "; + } + } + + rpc master-key-add { + description + "To add a new master key"; + input { + leaf new-key { + type string; + description + "New master key to be added"; + } + } + } + rpc master-key-delete { + description + "Remove Master key"; + } + rpc master-key-update { + description + "To update master key"; + input { + uses MASTER-KEY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-cfg.yang new file mode 100644 index 000000000..00dd8abc9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-cfg.yang @@ -0,0 +1,656 @@ +module Cisco-IOS-XR-lib-keychain-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-cfg"; + prefix lib-keychain-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lib-keychain package configuration. + + This module contains definitions + for the following management objects: + keychains: Configure a Key Chain + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-07-16 { + description + "Server Dead Auth Action"; + } + revision 2018-01-31 { + description + "Fixed incorrect plural rendering."; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2017-07-19 { + description + "Fixing macsec and non macsec keychain error"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Crypto-alg { + type enumeration { + enum "alg-aes-128-cmac-96" { + value 1; + description + "AES 128 CMAC 96"; + } + enum "alg-hmac-sha1-12" { + value 2; + description + "HMAC SHA 1 12"; + } + enum "alg-md5-16" { + value 3; + description + "MD5 16"; + } + enum "alg-sha1-20" { + value 4; + description + "SHA 1 20"; + } + enum "alg-hmac-md5-16" { + value 5; + description + "HMAC MD5 16"; + } + enum "alg-hmac-sha1-20" { + value 6; + description + "HMAC SHA 1 20"; + } + enum "alg-hmac-sha1-96" { + value 9; + description + "HMAC SHA 1 96"; + } + enum "alg-hmac-sha-256" { + value 10; + description + "HMAC SHA 256"; + } + } + description + "Crypto alg"; + } + + typedef Macsec-crypto-alg { + type enumeration { + enum "aes-128-cmac" { + value 7; + description + "aes 128 cmac"; + } + enum "aes-256-cmac" { + value 8; + description + "aes 256 cmac"; + } + } + description + "Macsec crypto alg"; + } + + typedef Key-chain-month { + type enumeration { + enum "jan" { + value 0; + description + "January"; + } + enum "feb" { + value 1; + description + "February"; + } + enum "mar" { + value 2; + description + "March"; + } + enum "apr" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "jun" { + value 5; + description + "June"; + } + enum "jul" { + value 6; + description + "July"; + } + enum "aug" { + value 7; + description + "August"; + } + enum "sep" { + value 8; + description + "September"; + } + enum "oct" { + value 9; + description + "October"; + } + enum "nov" { + value 10; + description + "November"; + } + enum "dec" { + value 11; + description + "December"; + } + } + description + "Key chain month"; + } + + typedef Key-encryption { + type enumeration { + enum "type7" { + value 0; + description + "Type 7 encryption"; + } + enum "type6" { + value 2; + description + "Type 6 encryption"; + } + } + description + "Key encryption"; + } + + container keychains { + description + "Configure a Key Chain"; + list keychain { + key "chain-name"; + description + "Name of the key chain"; + container accept-tolerance { + description + "Accept Tolerance in seconds or infinite"; + leaf value { + type uint32 { + range "1..8640000"; + } + units "second"; + must "not(../infinite)"; + description + "Value in seconds"; + } + leaf infinite { + type boolean; + must "not(../value)"; + description + "Infinite tolerance"; + } + } + container macsec-keychain { + description + "Name of the key chain for MACSec"; + container macsec-keys { + description + "Configure a Key"; + list macsec-key { + key "key-id"; + description + "Key Identifier"; + container macsec-lifetime { + presence "Indicates a macsec-lifetime node is configured."; + description + "Configure a key Lifetime"; + leaf start-hour { + type uint32 { + range "0..23"; + } + mandatory true; + description + "Start Hour"; + } + leaf start-minutes { + type uint32 { + range "0..59"; + } + units "minute"; + mandatory true; + description + "Start Minutes"; + } + leaf start-seconds { + type uint32 { + range "0..59"; + } + units "second"; + mandatory true; + description + "Start Seconds"; + } + leaf start-date { + type uint32 { + range "1..31"; + } + mandatory true; + description + "Start Date"; + } + leaf start-month { + type Key-chain-month; + mandatory true; + description + "Start Month"; + } + leaf start-year { + type uint32 { + range "1993..2035"; + } + mandatory true; + description + "Start Year"; + } + leaf life-time { + type uint32 { + range "1..2147483647"; + } + units "second"; + description + "Lifetime duration in seconds"; + } + leaf infinite-flag { + type boolean; + description + "Infinite Lifetime flag"; + } + leaf end-hour { + type uint32 { + range "0..23"; + } + description + "End Hour"; + } + leaf end-minutes { + type uint32 { + range "0..59"; + } + units "minute"; + description + "End Minutes"; + } + leaf end-seconds { + type uint32 { + range "0..59"; + } + units "second"; + description + "End Seconds"; + } + leaf end-date { + type uint32 { + range "1..31"; + } + description + "End Date"; + } + leaf end-month { + type Key-chain-month; + description + "End Month"; + } + leaf end-year { + type uint32 { + range "1993..2035"; + } + description + "End Year"; + } + } + container macsec-key-string { + presence "Indicates a macsec-key-string node is configured."; + description + "Configure a clear text/encrypted Key string + along with cryptographic algorithm"; + leaf string { + type xr:Proprietary-password; + mandatory true; + description + "Key String"; + } + leaf cryptographic-algorithm { + type Macsec-crypto-alg; + mandatory true; + description + "Cryptographic Algorithm"; + } + leaf encryption-type { + type Key-encryption; + default "type7"; + description + "encryption type used to store key"; + } + } + leaf key-id { + type xr:Cisco-ios-xr-string { + length "2..64"; + } + description + "Enter CKN as non-zero hex string of even + length, length range: <02-64>, i.e 32 bytes + of MACsec CKN"; + } + } + } + } + container keys { + description + "Configure a Key"; + list key { + key "key-id"; + description + "Key Identifier"; + container key-string { + description + "Configure a clear text/encrypted Key string "; + leaf key-string { + type xr:Proprietary-password; + description + "Key String"; + } + leaf encrypt-type { + type Key-encryption; + default "type7"; + description + "Encryption Type"; + } + } + container accept-lifetime { + presence "Indicates a accept-lifetime node is configured."; + description + "Configure a key Acceptance Lifetime"; + leaf start-hour { + type uint32 { + range "0..23"; + } + mandatory true; + description + "Start Hour"; + } + leaf start-minutes { + type uint32 { + range "0..59"; + } + units "minute"; + mandatory true; + description + "Start Minutes"; + } + leaf start-seconds { + type uint32 { + range "0..59"; + } + units "second"; + mandatory true; + description + "Start Seconds"; + } + leaf start-date { + type uint32 { + range "1..31"; + } + mandatory true; + description + "Start Date"; + } + leaf start-month { + type Key-chain-month; + mandatory true; + description + "Start Month"; + } + leaf start-year { + type uint32 { + range "1993..2035"; + } + mandatory true; + description + "Start Year"; + } + leaf life-time { + type uint32 { + range "1..2147483647"; + } + units "second"; + description + "Lifetime duration in seconds"; + } + leaf infinite-flag { + type boolean; + description + "Infinite Lifetime flag"; + } + leaf end-hour { + type uint32 { + range "0..23"; + } + description + "End Hour"; + } + leaf end-minutes { + type uint32 { + range "0..59"; + } + units "minute"; + description + "End Minutes"; + } + leaf end-seconds { + type uint32 { + range "0..59"; + } + units "second"; + description + "End Seconds"; + } + leaf end-date { + type uint32 { + range "1..31"; + } + description + "End Date"; + } + leaf end-month { + type Key-chain-month; + description + "End Month"; + } + leaf end-year { + type uint32 { + range "1993..2035"; + } + description + "End Year"; + } + } + container send-lifetime { + presence "Indicates a send-lifetime node is configured."; + description + "Configure a Send Lifetime"; + leaf start-hour { + type uint32 { + range "0..23"; + } + mandatory true; + description + "Start Hour"; + } + leaf start-minutes { + type uint32 { + range "0..59"; + } + units "minute"; + mandatory true; + description + "Start Minutes"; + } + leaf start-seconds { + type uint32 { + range "0..59"; + } + units "second"; + mandatory true; + description + "Start Seconds"; + } + leaf start-date { + type uint32 { + range "1..31"; + } + mandatory true; + description + "Start Date"; + } + leaf start-month { + type Key-chain-month; + mandatory true; + description + "Start Month"; + } + leaf start-year { + type uint32 { + range "1993..2035"; + } + mandatory true; + description + "Start Year"; + } + leaf life-time { + type uint32 { + range "1..2147483647"; + } + units "second"; + description + "Lifetime duration in seconds"; + } + leaf infinite-flag { + type boolean; + description + "Infinite Lifetime flag"; + } + leaf end-hour { + type uint32 { + range "0..23"; + } + description + "End Hour"; + } + leaf end-minutes { + type uint32 { + range "0..59"; + } + units "minute"; + description + "End Minutes"; + } + leaf end-seconds { + type uint32 { + range "0..59"; + } + units "second"; + description + "End Seconds"; + } + leaf end-date { + type uint32 { + range "1..31"; + } + description + "End Date"; + } + leaf end-month { + type Key-chain-month; + description + "End Month"; + } + leaf end-year { + type uint32 { + range "1993..2035"; + } + description + "End Year"; + } + } + leaf cryptographic-algorithm { + type Crypto-alg; + description + "Configure the cryptographic algorithm"; + } + leaf key-id { + type xr:Cisco-ios-xr-string; + description + "48-bit Key identifier"; + } + } + } + leaf chain-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the key chain"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper-sub1.yang new file mode 100644 index 000000000..36d509e18 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper-sub1.yang @@ -0,0 +1,217 @@ +submodule Cisco-IOS-XR-lib-keychain-oper-sub1 { + belongs-to Cisco-IOS-XR-lib-keychain-oper { + prefix Cisco-IOS-XR-lib-keychain-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR lib-keychain package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-01-31 { + description + "Fixed incorrect plural rendering."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Cryto-algo { + type enumeration { + enum "not-configured" { + description + "Not configured"; + } + enum "aes-128-cmac-96" { + description + "CMAC AES 12 bytes"; + } + enum "hmac-sha1-12" { + description + "HMAC SHA1 12 bytes"; + } + enum "md5" { + description + "MD5 16 bytes"; + } + enum "sha1" { + description + "SHA1 20 bytes"; + } + enum "hmac-md5" { + description + "HMAC MD5 16 bytes"; + } + enum "hmac-sha1-20" { + description + "HMAC SHA1 20 bytes"; + } + enum "aes-128-cmac" { + description + "CMAC AES 32 bytes"; + } + enum "aes-256-cmac" { + description + "CMAC AES 64 bytes"; + } + enum "hmac-sha1-96" { + description + "HMAC SHA1 12 bytes"; + } + enum "hmac-sha-256" { + description + "HMAC SHA256 32 bytes"; + } + } + description + "Cryptographic algorithm type"; + } + + typedef Enc { + type enumeration { + enum "password-type7" { + value 0; + description + "Type 7 password type"; + } + enum "password-type6" { + value 2; + description + "Type 6 Encryption"; + } + } + description + "Type of password encryption"; + } + + grouping LIFETIME { + description + "Life time values associated with a key"; + leaf start { + type string; + description + "Key life start time in format : day-of-week + month date-of-month HH:MM:SS year eg: Thu Feb 1 + 18:32:14 2011"; + } + leaf end { + type string; + description + "Key life end time in format : day-of-week month + date-of-month HH:MM:SS year eg: Thu Feb 1 18:32 + :14 2011"; + } + leaf duration { + type string; + units "second"; + description + "Duration of the key in seconds. value 0xffffffff + reflects infinite, never expires, is configured "; + } + leaf is-always-valid { + type boolean; + description + "Is TRUE if duration is 0xffffffff "; + } + leaf is-valid-now { + type boolean; + description + "Is TRUE if current time is betweenstart and end + lifetime , else FALSE"; + } + } + + grouping MACSEC { + description + "If it's a macsec key"; + leaf is-macsec-key { + type boolean; + description + "To check if it's a macsec key"; + } + } + + grouping KEY-ID { + description + "Key ID information"; + list key-id { + description + "key id"; + container macsec { + description + "To check if it's a macsec key"; + uses MACSEC; + } + container send-lifetime { + description + "Lifetime of the key"; + uses LIFETIME; + } + container accept-lifetime { + description + "Accept Lifetime of the key"; + uses LIFETIME; + } + leaf key-string { + type string; + description + "Key string"; + } + leaf type { + type Enc; + description + "Type of key encryption"; + } + leaf key-id { + type string; + description + "Key ID"; + } + leaf cryptographic-algorithm { + type Cryto-algo; + description + "Cryptographic algorithm"; + } + } + } + + grouping KEY-CHAIN { + description + "Key chain config information"; + container key { + description + "Key properties"; + uses KEY-ID; + } + leaf accept-tolerance { + type string; + description + "Accept tolerance is infinite if value is + 0xffffffff"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper.yang new file mode 100644 index 000000000..d94a8bc2a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-keychain-oper.yang @@ -0,0 +1,72 @@ +module Cisco-IOS-XR-lib-keychain-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-oper"; + prefix lib-keychain-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-lib-keychain-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lib-keychain package operational data. + + This module contains definitions + for the following management objects: + keychain: Keychain operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-01-31 { + description + "Fixed incorrect plural rendering."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container keychain { + config false; + description + "Keychain operational data"; + container keys { + description + "List of configured key names"; + list key { + key "key-name"; + description + "Configured key name"; + leaf key-name { + type xr:Cisco-ios-xr-string; + description + "Key name"; + } + uses KEY-CHAIN; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-cfg.yang new file mode 100644 index 000000000..770550fcf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-cfg.yang @@ -0,0 +1,295 @@ +module Cisco-IOS-XR-lib-mpp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-mpp-cfg"; + prefix lib-mpp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lib-mpp package configuration. + + This module contains definitions + for the following management objects: + control-plane: Configure control Plane + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-04 { + description + "Restricting inband behavior on out-of-band in some scenarios."; + semver:module-version "1.1.0"; + } + revision 2021-01-30 { + description + "Removal of hidden cmd in /lib/mpp/"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-23 { + description + "Removing Third Party Applications schema."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-07-28 { + description + "Fixing Third Party Applications schema."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping HTTP-PROTOCOL { + description + "Common node of interface, all-interfaces"; + container http-protocol { + description + "Configure HTTP on this interface"; + uses PEER-CLASS; + } + } + + grouping SNMP-PROTOCOL { + description + "Common node of interface, all-interfaces"; + container snmp-protocol { + description + "Configure SNMP for this interface"; + uses PEER-CLASS; + } + } + + grouping TFTP-PROTOCOL { + description + "Common node of interface, all-interfaces"; + container tftp-protocol { + description + "Configure TFTP on this interface"; + uses PEER-CLASS; + } + } + + grouping INTERFACE-SELECTION { + description + "Common node of inband, outband"; + container interface-selection { + description + "Configure interfaces"; + container interfaces { + description + "Configure a specific interface"; + list interface { + key "interface-name"; + description + "Specific interface"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the Interface"; + } + uses HTTP-PROTOCOL; + uses TFTP-PROTOCOL; + uses NETCONF-PROTOCOL; + uses XR-XML; + uses SSH-PROTOCOL; + uses SNMP-PROTOCOL; + uses TELNET-PROTOCOL; + uses ALL-PROTOCOLS; + } + } + container all-interfaces { + description + "Configure all Inband interfaces"; + uses HTTP-PROTOCOL; + uses TFTP-PROTOCOL; + uses NETCONF-PROTOCOL; + uses XR-XML; + uses SSH-PROTOCOL; + uses SNMP-PROTOCOL; + uses TELNET-PROTOCOL; + uses ALL-PROTOCOLS; + } + } + } + + grouping NETCONF-PROTOCOL { + description + "Common node of interface, all-interfaces"; + container netconf-protocol { + description + "Configure NETCONF protocol and peer addresses"; + uses PEER-CLASS; + } + } + + grouping PEER-PREFIX-CLASS { + description + "Common node of peer-v4, peer-v6"; + container peer-prefixes { + description + "Configure peer addresses with prefix"; + list peer-prefix { + key "address-prefix"; + description + "Peer address (with prefix)"; + leaf address-prefix { + type inet:ip-prefix; + description + "prefix/length"; + } + } + } + } + + grouping PEER-NO-PREFIX-CLASS { + description + "Common node of peer-v4, peer-v6"; + container peers { + description + "Configure peer addresses"; + list peer { + key "address"; + description + "Configure peer on the interface"; + leaf address { + type inet:ip-address-no-zone; + description + "prefix"; + } + } + } + } + + grouping XR-XML { + description + "Common node of interface, all-interfaces"; + container xr-xml { + description + "Configure XML and peer addresses"; + uses PEER-CLASS; + } + } + + grouping PEER-CLASS { + description + "Common node of snmp-protocol, http-protocol, + ssh-protocol, telnet-protocol, tftp-protocol, xml + , netconf-protocol, all-protocols"; + container peer-class { + description + "Configure peer addresses"; + container peer-v4 { + description + "Configure v4 peer addresses"; + uses PEER-NO-PREFIX-CLASS; + uses PEER-PREFIX-CLASS; + } + container peer-v6 { + description + "Configure v6 peer addresses"; + uses PEER-NO-PREFIX-CLASS; + uses PEER-PREFIX-CLASS; + } + leaf peer-all { + type empty; + description + "Only takes 'True'"; + } + } + } + + grouping TELNET-PROTOCOL { + description + "Common node of interface, all-interfaces"; + container telnet-protocol { + description + "Configure Telnet for this interface"; + uses PEER-CLASS; + } + } + + grouping ALL-PROTOCOLS { + description + "Common node of interface, all-interfaces"; + container all-protocols { + description + "Configure all protocols on this interface"; + uses PEER-CLASS; + } + } + + grouping SSH-PROTOCOL { + description + "Common node of interface, all-interfaces"; + container ssh-protocol { + description + "Configure SSH protocol and peer addresses"; + uses PEER-CLASS; + } + } + + container control-plane { + description + "Configure control Plane"; + container management-plane-protection { + description + "Configure management plane protection"; + container enable { + description + "Enable Outband Configuration"; + leaf outband-default-deny { + type empty; + description + "Enable inband behavior for out-of-band"; + } + } + container outband { + description + "Outband Configuration"; + leaf outband-vrf { + type string; + description + "Configure outband VRF"; + } + uses INTERFACE-SELECTION; + } + container inband { + description + "Inband Configuration"; + uses INTERFACE-SELECTION; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper-sub1.yang new file mode 100644 index 000000000..019af9e73 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper-sub1.yang @@ -0,0 +1,189 @@ +submodule Cisco-IOS-XR-lib-mpp-oper-sub1 { + belongs-to Cisco-IOS-XR-lib-mpp-oper { + prefix Cisco-IOS-XR-lib-mpp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR lib-mpp package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + identity Mpp-af-id-base { + description + "Base identity for Mpp-af-id"; + } + + identity ipv4 { + base Mpp-af-id-base; + description + "IPv4 address family"; + } + + identity ipv6 { + base Mpp-af-id-base; + description + "IPv6 address family"; + } + + typedef Mpp-in6-addr { + type inet:ipv6-address; + description + "Mpp in6 addr"; + } + + typedef Mpp-in-addr { + type inet:ipv4-address; + description + "Mpp in addr"; + } + + typedef Mpp-af-id { + type identityref { + base Mpp-af-id-base; + } + description + "MPP address family types"; + } + + typedef Mpp-allow { + type enumeration { + enum "ssh" { + description + "SSH protocol"; + } + enum "telnet" { + description + "TELNET protocol"; + } + enum "snmp" { + description + "SNMP protocol"; + } + enum "tftp" { + description + "TFTP protocol"; + } + enum "http" { + description + "HTTP protocol"; + } + enum "xr-xml" { + description + "XML"; + } + enum "netconf" { + description + "NETCONF protocol"; + } + enum "all" { + description + "All"; + } + } + description + "MPP protocol types"; + } + + grouping IP-ADDR-T-UNION { + description + "IP ADDR T UNION"; + leaf af-name { + type Mpp-af-id; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type Mpp-in-addr; + description + "IPv4 address"; + } + leaf ipv6-address { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Mpp-in6-addr; + description + "IPv6 address"; + } + } + + grouping MPP-INFO { + description + "MPP Information"; + leaf allow { + type Mpp-allow; + description + "MPP allow"; + } + leaf is-all-peers-allowed { + type boolean; + description + "If TRUE, all peers are allowed"; + } + list peer-address { + description + "List of peer addresses"; + uses IP-ADDR-T-UNION; + } + } + + grouping MPP-PROTO { + description + "MPP Interface protocols"; + list protocol { + description + "MPP Interface protocols"; + uses MPP-INFO; + } + } + + grouping VRF-INFO { + description + "Outband VRF name"; + leaf vrf-name { + type string; + description + "Outband VRF name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper.yang new file mode 100644 index 000000000..a4516881e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-mpp-oper.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XR-lib-mpp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-mpp-oper"; + prefix lib-mpp-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-lib-mpp-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lib-mpp package operational data. + + This module contains definitions + for the following management objects: + management-plane-protection: Management Plane Protection (MPP) + operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping INTERFACE-TABLE { + description + "Common node of inband, outband"; + container interfaces { + description + "List of inband/outband interfaces"; + list interface { + key "interface-name"; + description + "MPP interface information"; + leaf interface-name { + type string; + description + "Interface name, specify 'all' for all + interfaces"; + } + uses MPP-PROTO; + } + } + } + + container management-plane-protection { + config false; + description + "Management Plane Protection (MPP) operational + data"; + container outband { + description + "Management Plane Protection (MPP) outband + interface data"; + container vrf { + description + "Outband VRF information"; + uses VRF-INFO; + } + uses INTERFACE-TABLE; + } + container inband { + description + "Management Plane Protection (MPP) inband + interface data"; + uses INTERFACE-TABLE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-act.yang new file mode 100644 index 000000000..785edb520 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-act.yang @@ -0,0 +1,135 @@ +module Cisco-IOS-XR-lib-type6-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-act"; + prefix lib-type6-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2018-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-06 { + description + "Added masterkey update abort support."; + semver:module-version "2.1.0"; + } + revision 2020-10-16 { + description + "Changed the input type of clear-type6-client to enum"; + semver:module-version "2.0.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-19 { + description + "IOS XR 6.3.1 revision."; + } + + typedef Client-name { + type enumeration { + enum "keychain" { + value 0; + description + "keychain"; + } + enum "snmp" { + value 1; + description + "snmp"; + } + enum "radiusd" { + value 2; + description + "radiusd"; + } + enum "tacacsd" { + value 3; + description + "tacacsd"; + } + } + description + "Type6 client name"; + } + + grouping MASTER-KEY { + description + "Master Key Group"; + leaf old-key { + type string; + mandatory true; + description + "key already added/key to be replaced"; + } + leaf new-key { + type string; + mandatory true; + description + "New master key to be added "; + } + } + + rpc master-key-add { + description + "To add a new master key"; + input { + leaf new-key { + type string; + description + "New master key to be added"; + } + } + } + rpc master-key-delete { + description + "Remove Master key"; + } + rpc master-key-update { + description + "To update master key"; + input { + uses MASTER-KEY; + } + } + rpc clear-type6-client { + description + "To clear type6 client"; + input { + leaf client-name { + type Client-name; + mandatory true; + description + "Client Name"; + } + } + } + rpc masterkey-update-abort { + description + "Abort masterkey update operation"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-cfg.yang new file mode 100644 index 000000000..57a9ccdf1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-cfg.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XR-lib-type6-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-cfg"; + prefix lib-type6-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lib-type6 package configuration. + + This module contains definitions + for the following management objects: + password6: Configure masterkey + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-09-22 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Password-encryption { + type enumeration { + enum "type6" { + value 2; + description + "Type6"; + } + } + description + "Password encryption"; + } + + container password6 { + description + "Configure masterkey"; + container encryption { + description + "Enable password encryption"; + leaf aes { + type Password-encryption; + description + "encryption type used to store key"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper-sub1.yang new file mode 100644 index 000000000..ff31349ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper-sub1.yang @@ -0,0 +1,133 @@ +submodule Cisco-IOS-XR-lib-type6-server-oper-sub1 { + belongs-to Cisco-IOS-XR-lib-type6-server-oper { + prefix Cisco-IOS-XR-lib-type6-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR lib-type6-server package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-09-20 { + description + "Added support for new show CLI."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-09-28 { + description + "Fixed incorrect plural rendering."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef String-array { + type string; + description + "String array"; + } + + grouping TYPE6-CLIENT-INFO { + description + "TYPE6 CLIENT INFO"; + leaf client-name { + type string; + description + "Client Name"; + } + leaf mk-state { + type string; + description + "Client masterkey state"; + } + } + + grouping TYPE6-SERVER-INFO { + description + "TYPE6 SERVER INFO"; + leaf aes-config { + type boolean; + description + "Aes config state"; + } + leaf mk-config { + type boolean; + description + "mk config state"; + } + leaf type6-feature-state { + type boolean; + description + "Type6 feature state"; + } + leaf mk-inprogress-state { + type boolean; + description + "mk inprogress state"; + } + } + + grouping TYPE6-CLIENT-STATE-BAG { + description + "TYPE6 CLIENT STATE BAG"; + leaf-list client-name { + type String-array; + description + "Client Name"; + } + leaf-list client-mkstate { + type String-array; + description + "Client masterkey operation state"; + } + } + + grouping TYPE6-MK-UPDATE-BAG { + description + "TYPE6 MK UPDATE BAG"; + container client-info { + description + "Status of each client"; + uses TYPE6-CLIENT-STATE-BAG; + } + leaf message { + type string; + description + "Masterkey operation status"; + } + } + + grouping TYPE6-MK-OPER-BAG { + description + "TYPE6 MK OPER BAG"; + container update-bag { + description + "Masterkey Update status"; + uses TYPE6-MK-UPDATE-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper.yang new file mode 100644 index 000000000..651c292cf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lib-type6-server-oper.yang @@ -0,0 +1,82 @@ +module Cisco-IOS-XR-lib-type6-server-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-server-oper"; + prefix lib-type6-server-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-lib-type6-server-oper-sub1 { + revision-date 2019-09-20; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lib-type6-server package operational data. + + This module contains definitions + for the following management objects: + type6: Type6 server operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-09-20 { + description + "Added support for new show CLI."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-09-28 { + description + "Fixed incorrect plural rendering."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container type6 { + config false; + description + "Type6 server operational data"; + container masterkey { + description + "type6 masterkey operation status"; + container update { + description + "type6 masterkey operation status"; + container status { + description + "type6 masterkey operation status"; + uses TYPE6-MK-OPER-BAG; + } + } + } + container server { + description + "type6 server information"; + uses TYPE6-SERVER-INFO; + } + container client { + description + "type6 client information"; + uses TYPE6-CLIENT-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper-sub1.yang new file mode 100644 index 000000000..9fd4c0cf5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper-sub1.yang @@ -0,0 +1,78 @@ +submodule Cisco-IOS-XR-linux-os-heap-summary-oper-sub1 { + belongs-to Cisco-IOS-XR-linux-os-heap-summary-oper { + prefix Cisco-IOS-XR-linux-os-heap-summary-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR linux-os-heap-summary package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-16 { + description + "Structuring the yang response of show memory heap summary all."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SHOW-MEM-HEAP-SUM-YANG { + description + "Heap memory summary info for each process"; + leaf heap-size { + type uint64; + description + "Heap Size"; + } + leaf alloc-mem { + type uint64; + description + "Allocated Memory"; + } + leaf free-mem { + type uint64; + description + "Free Memory"; + } + leaf over-head { + type uint64; + description + "Over Head"; + } + leaf allocs { + type uint64; + description + "Allocs"; + } + leaf frees { + type uint64; + description + "Frees"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper.yang new file mode 100644 index 000000000..4b39a9aae --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-heap-summary-oper.yang @@ -0,0 +1,98 @@ +module Cisco-IOS-XR-linux-os-heap-summary-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-linux-os-heap-summary-oper"; + prefix linux-os-heap-summary-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-linux-os-heap-summary-oper-sub1 { + revision-date 2021-04-16; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR linux-os-heap-summary package operational data. + + This module contains definitions + for the following management objects: + heap-summary: Heap Summary + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-16 { + description + "Structuring the yang response of show memory heap summary all."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PROCESS { + description + "Common node of process-table, all"; + list process { + key "process-name"; + description + "Process Name"; + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Process name"; + } + uses SHOW-MEM-HEAP-SUM-YANG; + } + } + + container heap-summary { + config false; + description + "Heap Summary"; + container location-descriptions { + description + "Location"; + list location-description { + key "node"; + description + "Location specified in location"; + container process-table { + description + "List of processes"; + uses PROCESS; + } + leaf node { + type xr:Node-id; + description + "Node location"; + } + } + } + container all { + description + "All processes"; + uses PROCESS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper-sub1.yang new file mode 100644 index 000000000..bf11b7141 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper-sub1.yang @@ -0,0 +1,88 @@ +submodule Cisco-IOS-XR-linux-os-reboot-history-oper-sub1 { + belongs-to Cisco-IOS-XR-linux-os-reboot-history-oper { + prefix Cisco-IOS-XR-linux-os-reboot-history-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR linux-os-reboot-history package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-03 { + description + "Added container last-reboot."; + semver:module-version "1.0.2m"; + } + revision 2021-07-28 { + description + "Changed task-name from basic-services to system"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping HISTORY-DETAIL { + description + "Reboot history details"; + leaf no { + type uint32; + description + "Number count"; + } + leaf time { + type string; + description + "Time of reboot"; + } + leaf cause-code { + type uint32; + description + "Cause code for reboot"; + } + leaf reason { + type string; + description + "Reason for reboot"; + } + } + + grouping HISTORY { + description + "Reboot history information"; + container last-reboot { + description + "Last Reboot record"; + uses HISTORY-DETAIL; + } + list reboot-history { + description + "Last Reboots"; + uses HISTORY-DETAIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper.yang new file mode 100644 index 000000000..518a8aa6b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-os-reboot-history-oper.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XR-linux-os-reboot-history-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-linux-os-reboot-history-oper"; + prefix linux-os-reboot-history-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-linux-os-reboot-history-oper-sub1 { + revision-date 2023-03-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR linux-os-reboot-history package operational data. + + This module contains definitions + for the following management objects: + reboot-history: Reboot History information + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-03 { + description + "Added container last-reboot."; + semver:module-version "1.0.2m"; + } + revision 2021-07-28 { + description + "Changed task-name from basic-services to system"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container reboot-history { + config false; + description + "Reboot History information"; + list node { + key "node-name"; + description + "Node ID"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses HISTORY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-diskenc-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-diskenc-act.yang new file mode 100644 index 000000000..b454b7b6b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-diskenc-act.yang @@ -0,0 +1,61 @@ +module Cisco-IOS-XR-linux-security-diskenc-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-linux-security-diskenc-act"; + prefix diskenc-act; + + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-06 { + description + "IOS XR 7.6.1 revision."; + } + + rpc diskenc-activate { + description + "Action to start encryption activation"; + input { + leaf location { + type string; + mandatory true; + description + "Location string to start encryption activation"; + } + } + xr:xr-task "cisco-support"; + xr:cli-command "disk-encryption activate location "; + } + rpc diskenc-deactivate { + description + "Action to start encryption deactivation"; + input { + leaf location { + type string; + mandatory true; + description + "Location string to start encryption deactivation"; + } + } + xr:xr-task "cisco-support"; + xr:cli-command "disk-encryption deactivate location "; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper-sub1.yang new file mode 100644 index 000000000..c48c7709b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper-sub1.yang @@ -0,0 +1,75 @@ +submodule Cisco-IOS-XR-linux-security-showenc-oper-sub1 { + belongs-to Cisco-IOS-XR-linux-security-showenc-oper { + prefix Cisco-IOS-XR-linux-security-showenc-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR linux-security-showenc package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-01 { + description + "Adding show disk-encryption status yang model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SHOW-DISK-ENC-STATUS-DATA { + description + "Show disk-encryption status output"; + leaf lv-mnt-pt { + type string { + length "0..256"; + } + description + "string lv_mntpt"; + } + leaf enc-status { + type string { + length "0..32"; + } + description + "string enc_status"; + } + leaf mnt-status { + type string { + length "0..32"; + } + description + "string mount_status"; + } + leaf prep-status { + type string { + length "0..32"; + } + description + "string prep_status"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper.yang new file mode 100644 index 000000000..b58c07d94 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-security-showenc-oper.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-linux-security-showenc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-linux-security-showenc-oper"; + prefix linux-security-showenc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-linux-security-showenc-oper-sub1 { + revision-date 2021-07-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR linux-security-showenc package operational data. + + This module contains definitions + for the following management objects: + disk-encryption: ssd encryption status + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-01 { + description + "Adding show disk-encryption status yang model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container disk-encryption { + config false; + description + "ssd encryption status"; + list node { + key "node-name"; + description + "Node ID"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses SHOW-DISK-ENC-STATUS-DATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-cfg.yang new file mode 100644 index 000000000..2db82da19 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-cfg.yang @@ -0,0 +1,408 @@ +module Cisco-IOS-XR-linux-xlnc-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-linux-xlnc-cfg"; + prefix linux-xlnc-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR linux-xlnc package configuration. + + This module contains definitions + for the following management objects: + linux-networking: Linux Networking interface configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Addr-family { + type enumeration { + enum "ipv4" { + value 412; + description + "Internet Protocol version 4, RFC 791"; + } + enum "ipv6" { + value 413; + description + "Internet Protocol version 6, RFC 8200"; + } + } + description + "Addr family"; + } + + typedef L4-proto-family { + type enumeration { + enum "tcp" { + value 104; + description + "Transmission Control Protocol, RFC 793"; + } + enum "udp" { + value 105; + description + "User Datagram Protocol, RFC 768"; + } + } + description + "L4 proto family"; + } + + typedef Statistics-sync-interval { + type enumeration { + enum "5s" { + value 2; + description + "5 seconds"; + } + enum "10s" { + value 3; + description + "10 seconds"; + } + enum "30s" { + value 4; + description + "30 seconds"; + } + enum "60s" { + value 5; + description + "60 seconds"; + } + } + description + "Statistics sync interval"; + } + + typedef Xlnc-sync-dir { + type enumeration { + enum "xr-to-linux" { + value 0; + description + "Set direction to be from XR to Linux"; + } + enum "linux-to-xr" { + value 1; + description + "Set direction to be from Linux to XR"; + } + } + description + "Xlnc sync dir"; + } + + typedef Xlnc-protection-action { + type enumeration { + enum "permit" { + value 7926; + description + "Allow traffic"; + } + enum "deny" { + value 7927; + description + "Deny traffic"; + } + } + description + "Xlnc protection action"; + } + + container linux-networking { + description + "Linux Networking interface configuration"; + container exposed-interfaces { + description + "Configuration for exposed interfaces"; + list exposed-interface { + key "interface-name"; + description + "Configuration for a single exposed interface"; + container statistics-synchronization { + presence "Indicates a statistics-synchronization node is configured."; + description + "Configure synchronization of this interface's + statistics between IOS-XR and Linux"; + leaf direction { + type Xlnc-sync-dir; + mandatory true; + description + "Specify the direction in which statistics + sychronization should be performed. Currently + the only supported value is FromXR"; + } + leaf interval { + type Statistics-sync-interval; + mandatory true; + description + "Interval how often statistics sychronization + takes place"; + } + } + leaf exposed-interface-sync-direction { + type Xlnc-sync-dir; + description + "Synchronization direction for an exposed + interface."; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container statistics-synchronization { + presence "Indicates a statistics-synchronization node is configured."; + description + "Configure synchronization of interface + statistics between IOS-XR and Linux"; + leaf direction { + type Xlnc-sync-dir; + mandatory true; + description + "Specify the direction in which statistics + sychronization should be performed. Currently + the only supported value is FromXR"; + } + leaf interval { + type Statistics-sync-interval; + mandatory true; + description + "Interval how often statistics sychronization + takes place"; + } + } + container vrf-names { + description + "Table of VRF names"; + list vrf-name { + key "vrf-name"; + description + "VRF name"; + container address-families { + description + "Table of address families"; + list address-family { + key "address-family"; + description + "IP address family"; + container traffic-protection { + description + "Traffic Protection configuration"; + container service-protocol-local-port-nums { + description + "Container for Traffic Protection Services"; + + grouping SERVICE-CONTENT { + description + "SERVICE CONTENT"; + container rules-table { + description + "Container for Traffic Protection Rule"; + + grouping RULE-CONTENT { + description + "RULE CONTENT"; + leaf rule-action { + type Xlnc-protection-action; + mandatory true; + description + "rule action"; + } + } + + grouping REMOTE-ADDRESS-LEAF { + description + "REMOTE ADDRESS LEAF"; + leaf remote-address { + type inet:ip-prefix; + description + "remote prefix/length"; + } + } + + grouping LOCAL-ADDRESS-LEAF { + description + "LOCAL ADDRESS LEAF"; + leaf local-address { + type inet:ip-prefix; + description + "local prefix/length"; + } + } + + grouping INTERFACE-NAME-LEAF { + description + "INTERFACE NAME LEAF"; + leaf interface-name { + type xr:Interface-name; + description + "interface name"; + } + } + list rule-local-address { + key "local-address"; + description + "Represents a single Traffic Protection + Rule, defining an exception to the + parent Service's default action."; + uses LOCAL-ADDRESS-LEAF; + uses RULE-CONTENT; + } + list rule-interface-name { + key "interface-name"; + description + "Represents a single Traffic Protection + Rule, defining an exception to the + parent Service's default action."; + uses INTERFACE-NAME-LEAF; + uses RULE-CONTENT; + } + list rule-remote-address { + key "remote-address"; + description + "Represents a single Traffic Protection + Rule, defining an exception to the + parent Service's default action."; + uses REMOTE-ADDRESS-LEAF; + uses RULE-CONTENT; + } + list rule-remote-address-local-address { + key "remote-address local-address"; + description + "Represents a single Traffic Protection + Rule, defining an exception to the + parent Service's default action."; + uses REMOTE-ADDRESS-LEAF; + uses LOCAL-ADDRESS-LEAF; + uses RULE-CONTENT; + } + list rule-remote-address-interface-name { + key "remote-address interface-name"; + description + "Represents a single Traffic Protection + Rule, defining an exception to the + parent Service's default action."; + uses REMOTE-ADDRESS-LEAF; + uses INTERFACE-NAME-LEAF; + uses RULE-CONTENT; + } + list rule-local-address-interface-name { + key "local-address interface-name"; + description + "Represents a single Traffic Protection + Rule, defining an exception to the + parent Service's default action."; + uses LOCAL-ADDRESS-LEAF; + uses INTERFACE-NAME-LEAF; + uses RULE-CONTENT; + } + list rule-remote-address-local-address-interface-name { + key "remote-address local-address interface-name"; + description + "Represents a single Traffic Protection + Rule, defining an exception to the + parent Service's default action."; + uses REMOTE-ADDRESS-LEAF; + uses LOCAL-ADDRESS-LEAF; + uses INTERFACE-NAME-LEAF; + uses RULE-CONTENT; + } + } + leaf service-default-action { + type Xlnc-protection-action; + description + "Indicates the default action to be taken + for traffic this Traffic Protection + Service."; + } + } + list service-protocol-local-port-num { + key "protocol local-port-num"; + description + "A single Traffic Protection Service, + defining a L4 protocol and local port + value."; + leaf protocol { + type L4-proto-family; + description + "L4 protocol"; + } + leaf local-port-num { + type xr:Cisco-ios-xr-port-number; + description + "Local port number"; + } + uses SERVICE-CONTENT; + } + list service-protocol-local-port-all { + key "protocol local-port-all"; + description + "A single Traffic Protection Service, + defining a L4 protocol and local port + value."; + leaf protocol { + type L4-proto-family; + description + "L4 protocol"; + } + leaf local-port-all { + type xr:Cisco-ios-xr-string; + description + "All ports"; + } + uses SERVICE-CONTENT; + } + } + } + leaf address-family { + type Addr-family; + description + "IP address family"; + } + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper-sub1.yang new file mode 100644 index 000000000..5871d6dc4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper-sub1.yang @@ -0,0 +1,601 @@ +submodule Cisco-IOS-XR-linux-xlnc-oper-sub1 { + belongs-to Cisco-IOS-XR-linux-xlnc-oper { + prefix Cisco-IOS-XR-linux-xlnc-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR linux-xlnc package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-03 { + description + "Added secondary IPv4 addresses"; + semver:module-version "1.2.1m"; + } + revision 2020-06-22 { + description + "Added address-only interface types and corresponding inconsistencies"; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bag-mac-addr { + type yang:mac-address; + description + "Bag mac addr"; + } + + typedef Xlnc-bag-admin-state { + type enumeration { + enum "admin-down" { + description + "Administratively down"; + } + enum "admin-up" { + description + "Administratively up"; + } + enum "admin-unknown" { + description + "Unknown admin state"; + } + } + description + "Administrative state values"; + } + + typedef Xlnc-bag-attr { + type enumeration { + enum "admin-state" { + description + "Interface administrative state"; + } + enum "mac-address" { + description + "MAC address"; + } + enum "l3-mtu" { + description + "L3 MTU"; + } + enum "ipv4-address" { + description + "IPv4 address"; + } + enum "ipv6-enabled" { + description + "IPv6 enabled"; + } + enum "ipv6-address" { + description + "IPv6 address"; + } + enum "unknown-attr" { + description + "Unknown attribute"; + } + } + description + "Interface attribute type"; + } + + typedef Xlnc-bag-op { + type enumeration { + enum "set" { + description + "Set"; + } + enum "delete" { + description + "Delete"; + } + enum "unknown-op" { + description + "Unknown"; + } + } + description + "Operation type (set or delete)"; + } + + typedef Xlnc-bag-sync-dir { + type enumeration { + enum "to-xr" { + description + "From Linux to IOS-XR"; + } + enum "to-linux" { + description + "From IOS-XR to Linux"; + } + enum "unknown-dir" { + description + "Unknown direction"; + } + } + description + "Synchronization direction"; + } + + typedef Xlnc-bag-error-category { + type enumeration { + enum "default-error-category" { + description + "Default error type"; + } + enum "set-linux-error-category" { + description + "Error setting interface attributes in Linux"; + } + enum "set-ios-xr-error-category" { + description + "Error setting interface attributes in IOS-XR"; + } + enum "im-resync-error-category" { + description + "Error setting interface attribute during IM + resync"; + } + enum "unknown-category" { + description + "Unknown error category"; + } + } + description + "Error category"; + } + + typedef Xlnc-bag-inconsistency-category { + type enumeration { + enum "attribute-conflicting-sync" { + description + "An attempt was made to synchronize interface + attributes in one direction, when they were + already being synchronized in the opposing + direction."; + } + enum "conflicting-im-resync" { + description + "During an IM resync, an attempt was made to + synchronize interface attributes in one + direction when they were already being + synchronized in the opposing direction."; + } + enum "more-than-one-ipv6-link-local-address" { + description + "An attempt was made to configure more than one + link-local IPv6 address on a single interface."; + } + enum "more-than-on-ipv4-address" { + description + "An attempt was made to configure more than one + primary IPv4 address on a single interface."; + } + enum "delete-unknown-ipv6-link-local-address" { + description + "An attempt was made to remove an unknown + link-local IPv6 address from an interface."; + } + enum "delete-unknown-ipv4-address" { + description + "An attempt was made to remove an unknown IPv4 + address from an interface."; + } + enum "attribute-set-in-linux-failure" { + description + "An attempt to set an interface attribute value + in Linux failed."; + } + enum "attribute-set-in-xr-failure" { + description + "An attempt to set an interface attribute value + in IOS-XR failed."; + } + enum "mtu-too-small-for-ipv6" { + description + "The MTU set in Linux is smaller than the + minimum size required for IPv6. The Linux + kernel will remove any IPv6 addresses on the + interface, which must be re-added when the MTU + is increased."; + } + enum "mac-address-change-not-supported" { + description + "MAC address changes are not supported for this + interface type on this platform. The MAC + address has not been changed."; + } + enum "unknown-inconsistency" { + description + "Unknown inconsistency type"; + } + enum "delete-loopback-address" { + description + "An address that was automatically added to a + Linux loopback device to provide L3 + reachability has been unexpectedly removed. + Traffic to/from Linux applications using that + address will be dropped"; + } + } + description + "XLNC inconsistency types"; + } + + typedef Bag-in6-addr { + type inet:ipv6-address; + description + "Bag in6 addr"; + } + + grouping XLNC-BAG-INTERFACE-INCONSISTENCIES { + description + "XLNC inconsistencies observed for a given + interface and associated interface metadata."; + leaf xr-interface-name { + type string; + description + "IOS-XR interface name"; + } + leaf linux-interface-name { + type string; + description + "Linux interface name of the corresponding + exposed XR interface (EXI)"; + } + leaf vrf-name { + type string; + description + "IOS-XR VRF name the interface is assigned to"; + } + leaf linux-network-namespace-name { + type string; + description + "Linux network namespace name corresponding to + the IOS-XR VRF the interface is assigned to"; + } + leaf inconsistencies-truncated { + type boolean; + description + "The oldest entries are no longer saved, because + the sequence became too long."; + } + list inconsistency { + description + "Sequence of inconsistencies"; + uses XLNC-BAG-INCONSISTENCY; + } + } + + grouping XLNC-BAG-SET-XR-ERROR-TYPE { + description + "Failed operation to set an attribute in XR."; + container operation { + description + "Failed synchronization operation"; + uses XLNC-BAG-SYNC-INTF-ATTRS-OP; + } + leaf ios-xr-error-decode { + type string; + description + "Optional decode string for the IOS-XR error."; + } + leaf error-string { + type string; + description + "Optional error string describing the failure."; + } + } + + grouping XLNC-BAG-SET-LINUX-ERROR-TYPE { + description + "Failed operation to set an attribute in Linux."; + container operation { + description + "Failed synchronization operation"; + uses XLNC-BAG-SYNC-INTF-ATTRS-OP; + } + leaf attribute-value-valid { + type boolean; + description + "Indicates whether the attribute value in the + synchronization operation is valid."; + } + leaf ios-xr-error-decode { + type string; + description + "Decode string for the IOS-XR error."; + } + leaf libnl-error-decode { + type string; + description + "Optional decode string for the libnl error."; + } + } + + grouping XLNC-BAG-V6-ADDR { + description + "IPv6 address type"; + leaf address { + type Bag-in6-addr; + description + "Linux representation of the address"; + } + leaf prefix-length { + type uint8; + description + "Network prefix length"; + } + } + + grouping XLNC-BAG-V4-ADDR { + description + "IPv4 address type"; + leaf address { + type inet:ipv4-address; + description + "Linux representation of the address"; + } + leaf prefix-length { + type uint8; + description + "Network prefix length"; + } + } + + grouping XLNC-ATTR-VALUE-TYPE { + description + "Interface attribute values"; + container ipv4-address { + when "../attribute-type = 'ipv4-address'" { + description + "../AttributeType = 'IPv4Address'"; + } + description + "IPv4 address"; + uses XLNC-BAG-V4-ADDR; + } + container ipv6-address { + when "../attribute-type = 'ipv6-address'" { + description + "../AttributeType = 'IPv6Address'"; + } + description + "IPv6 address"; + uses XLNC-BAG-V6-ADDR; + } + leaf attribute-type { + type Xlnc-bag-attr; + description + "AttributeType"; + } + leaf admin-state { + when "../attribute-type = 'admin-state'" { + description + "../AttributeType = 'AdminState'"; + } + type Xlnc-bag-admin-state; + description + "Interface administrative state"; + } + leaf mac-address { + when "../attribute-type = 'mac-address'" { + description + "../AttributeType = 'MACAddress'"; + } + type Bag-mac-addr; + description + "MAC address"; + } + leaf l3-mtu { + when "../attribute-type = 'l3-mtu'" { + description + "../AttributeType = 'L3_MTU'"; + } + type uint32; + description + "L3 MTU"; + } + leaf ipv6-enabled { + when "../attribute-type = 'ipv6-enabled'" { + description + "../AttributeType = 'IPv6Enabled'"; + } + type boolean; + description + "IPv6 enabled in IOS-XR"; + } + } + + grouping XLNC-BAG-SYNC-INTF-ATTRS-OP { + description + "Interface attributes synchronization operation"; + container attribute-value { + description + "Value of interface attribute"; + uses XLNC-ATTR-VALUE-TYPE; + } + leaf synchronization-direction { + type Xlnc-bag-sync-dir; + description + "Synchronization direction"; + } + leaf operation-type { + type Xlnc-bag-op; + description + "Operation type (set or delete)"; + } + } + + grouping XLNC-ERROR-TYPE { + description + "XLNC error types which may cause an inconsistency"; + container interface-attributes-operation { + when "../error-category = 'default-error-category'" { + description + "../ErrorCategory = 'DefaultErrorCategory'"; + } + description + "Interface attributes synchronization operation"; + uses XLNC-BAG-SYNC-INTF-ATTRS-OP; + } + container set-linux-error { + when "../error-category = 'set-linux-error-category'" { + description + "../ErrorCategory = 'SetLinuxErrorCategory'"; + } + description + "Error type associated with failure to set + interface attributes in Linux."; + uses XLNC-BAG-SET-LINUX-ERROR-TYPE; + } + container set-ios-xr-error { + when "../error-category = 'set-ios-xr-error-category'" { + description + "../ErrorCategory = 'SetIOS_XR_ErrorCategory'"; + } + description + "Error type associated with failure to set + interface attributes in IOS-XR."; + uses XLNC-BAG-SET-XR-ERROR-TYPE; + } + container resync-attributes-operation { + when "../error-category = 'im-resync-error-category'" { + description + "../ErrorCategory = 'ImResyncErrorCategory'"; + } + description + "Resync interface attributes synchronization + operation"; + uses XLNC-BAG-SYNC-INTF-ATTRS-OP; + } + leaf error-category { + type Xlnc-bag-error-category; + description + "ErrorCategory"; + } + } + + grouping XLNC-BAG-INCONSISTENCY { + description + "XLNC inconsistency record"; + container error { + description + "Diagnostic information about the error which + caused the inconsistency."; + uses XLNC-ERROR-TYPE; + } + leaf milliseconds-since-epoch { + type uint64; + units "millisecond"; + description + "How many milliseconds after the Unix epoch the + inconsistency occurred"; + } + leaf inconsistency-category { + type Xlnc-bag-inconsistency-category; + description + "Type of inconsistency which occurred"; + } + } + + grouping XLNC-BAG-VRF-INCONSISTENCIES { + description + "XLNC inconsistencies observed for a given + interface and associated interface metadata."; + leaf vrf-name-xr { + type string; + description + "IOS-XR VRF name"; + } + leaf linux-network-namespace-name { + type string; + description + "Linux network namespace name corresponding to + the IOS-XR VRF"; + } + leaf inconsistencies-truncated { + type boolean; + description + "The oldest entries are no longer saved, because + the sequence became too long."; + } + list inconsistency { + description + "Sequence of inconsistencies"; + uses XLNC-BAG-INCONSISTENCY; + } + } + + grouping XLNC-BAG-INTERFACE-ADDRESS-ONLY { + description + "XLNC Address-only interface"; + leaf interface-name-xr { + type string; + description + "IOS-XR interface name"; + } + leaf vrf-name-xr { + type string; + description + "IOS-XR VRF name the interface is assigned to"; + } + leaf ipv4-address-xr { + type inet:ipv4-address; + description + "IPv4 address which has been added to a Linux + loopback device"; + } + leaf virtual { + type boolean; + description + "Whether this address comes from an IOS-XR + Virtual IP address"; + } + leaf-list ipv4-secondary-address { + type inet:ipv4-address; + description + "IPv4 secondary addresses which have been added + to a Linux loopback device"; + } + leaf-list ipv4-address { + type Bag-in6-addr; + description + "IPv6 addressess which has been added to a Linux + loopback device"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper.yang new file mode 100644 index 000000000..5292a6805 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-linux-xlnc-oper.yang @@ -0,0 +1,129 @@ +module Cisco-IOS-XR-linux-xlnc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-linux-xlnc-oper"; + prefix linux-xlnc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-linux-xlnc-oper-sub1 { + revision-date 2021-12-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR linux-xlnc package operational data. + + This module contains definitions + for the following management objects: + linux-networking: Linux Networking operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-03 { + description + "Added secondary IPv4 addresses"; + semver:module-version "1.2.1m"; + } + revision 2020-06-22 { + description + "Added address-only interface types and corresponding inconsistencies"; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container linux-networking { + config false; + description + "Linux Networking operational data"; + container global { + description + "Global operational data"; + container interfaces { + description + "Linux Networking interface information"; + container address-only-interfaces { + description + "Interfaces with addresses addeded to a Linux + Loopback"; + list address-only-interface { + key "vrf-name interface-name"; + description + "Interface with an IP address added to a Linux + Loopback"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses XLNC-BAG-INTERFACE-ADDRESS-ONLY; + } + } + } + container status { + description + "Linux Networking operational status"; + container inconsistencies-per-vrfs { + description + "Global inconsistencies table"; + list inconsistencies-per-vrf { + key "vrf-name"; + description + "Inconsistencies observed for a particular VRF + ."; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses XLNC-BAG-VRF-INCONSISTENCIES; + } + } + container inconsistencies-per-interfaces { + description + "Global inconsistencies table"; + list inconsistencies-per-interface { + key "interface-name"; + description + "Inconsistencies observed for a particular + interface."; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses XLNC-BAG-INTERFACE-INCONSISTENCIES; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lldp-clear-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lldp-clear-act.yang new file mode 100644 index 000000000..a14a53ab4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lldp-clear-act.yang @@ -0,0 +1,58 @@ +module Cisco-IOS-XR-lldp-clear-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lldp-clear-act"; + prefix lldp-clear-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR clear per-interface adjacencies for lldp module. + + Copyright (c) 2018-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-04 { + description + "Added task privileges."; + semver:module-version "1.1.0"; + } + revision 2019-11-13 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-09-09 { + description + "IOS XR 6.5.1 revision."; + } + + rpc clear-lldp-adj { + description + "Clear lldp per interface adjacencies"; + input { + leaf interface { + type string; + description + "Interface name in R/S/I/P format"; + } + } + xr:xr-task "ethernet-services | lldp"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-cfg.yang new file mode 100644 index 000000000..8e95c6925 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-cfg.yang @@ -0,0 +1,289 @@ +module Cisco-IOS-XR-lmp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-cfg"; + prefix lmp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lmp package configuration. + + This module contains definitions + for the following management objects: + lmp: Main common OLM/LMP configuration container + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Olm-addr { + type enumeration { + enum "ipv4" { + value 101; + description + "IPv4 address"; + } + enum "ipv6" { + value 102; + description + "IPv6 address"; + } + enum "unnumbered" { + value 103; + description + "Unnumbered address"; + } + enum "nsap" { + value 104; + description + "NSAP address"; + } + } + description + "Olm addr"; + } + + typedef Olm-switching-cap { + type enumeration { + enum "lsc" { + value 150; + description + "Lambda switch capable"; + } + enum "fsc" { + value 200; + description + "Fiber switch capable"; + } + } + description + "Olm switching cap"; + } + + container lmp { + description + "Main common OLM/LMP configuration container"; + container gmpls-uni { + description + "GMPLS UNI specific OLM/LMP configuration"; + container neighbors { + description + "Neighbor configuration"; + list neighbor { + key "neighbor-name"; + description + "Neighbor configuration"; + container ipcc { + description + "IPCC configuration"; + container routed { + description + "Routed IPCC configuration"; + leaf enable { + type empty; + description + "Routed IPCC creation"; + } + } + } + leaf enable { + type empty; + description + "Neighbor creation"; + } + leaf neighbor-router-id { + type inet:ipv4-address-no-zone; + description + "Neighbor router ID (IPv4 Address)"; + } + leaf neighbor-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Neighbor name"; + } + } + } + container router-id { + presence "enable router-id"; + description + "Local GMPLS UNI router ID"; + leaf interface-name { + type xr:Interface-name; + description + "Name of interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Local router ID (IPv4 Address)"; + } + } + container controllers { + description + "Configure GMPLS UNI OLM/LMP controllers"; + list controller { + key "controller-name"; + description + "Configure an GMPLS UNI OLM/LMP contoller"; + container local-link-id { + description + "Local Link ID configuration"; + leaf address-type { + type Olm-addr; + description + "Local link ID address type"; + } + leaf unnumbered { + when "../address-type = 'unnumbered'" { + description + "../AddressType = Unnumbered"; + } + type uint32; + description + "Local address unnumbered "; + } + leaf address { + when "../address-type = 'ipv4'" { + description + "../AddressType = IPv4"; + } + type inet:ipv4-address-no-zone; + description + "Local link ID address IPv4"; + } + } + container adjacency { + description + "Neighbor controller adjacency configuration"; + container remote-neighbor { + description + "Neighbor data"; + container interface-id { + description + "Neighbor Interface ID configuration"; + leaf address-type { + type Olm-addr; + description + "Local link ID address type"; + } + leaf unnumbered { + when "../address-type = 'unnumbered'" { + description + "../AddressType = Unnumbered"; + } + type uint32; + description + "Local address unnumbered "; + } + leaf address { + when "../address-type = 'ipv4'" { + description + "../AddressType = IPv4"; + } + type inet:ipv4-address-no-zone; + description + "Local link ID address IPv4"; + } + } + container link-id { + description + "Neighbor Link ID configuration"; + leaf address-type { + type Olm-addr; + description + "Neighbor link ID address type"; + } + leaf unnumbered { + when "../address-type = 'unnumbered'" { + description + "../AddressType = Unnumbered"; + } + type uint32; + description + "Neighbor address unnumbered [Not + supported]"; + } + leaf address { + when "../address-type = 'ipv4'" { + description + "../AddressType = IPv4"; + } + type inet:ipv4-address-no-zone; + description + "Neighbor ID address IPv4"; + } + } + leaf neighbor-association { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Create LMP controller to neighbor + association"; + } + leaf link-switching-capability { + type Olm-switching-cap; + default "lsc"; + description + "Neighbor link switching capability + configuration"; + } + leaf flexi-grid-capable { + type uint32; + description + "Remote node flexi grid capability "; + } + } + } + leaf enable { + type empty; + description + "Enable the OLM/LMP application on this + controller"; + } + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + } + } + } + leaf enable { + type empty; + description + "Enable the OLM/LMP application"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-datatypes.yang new file mode 100644 index 000000000..e9c2701b2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-datatypes.yang @@ -0,0 +1,81 @@ +module Cisco-IOS-XR-lmp-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-datatypes"; + prefix lmp-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Olm-addr { + type enumeration { + enum "ipv4" { + value 101; + description + "IPv4 address"; + } + enum "ipv6" { + value 102; + description + "IPv6 address"; + } + enum "unnumbered" { + value 103; + description + "Unnumbered address"; + } + enum "nsap" { + value 104; + description + "NSAP address"; + } + } + description + "Olm addr"; + } + + typedef Olm-switching-cap { + type enumeration { + enum "lsc" { + value 150; + description + "Lambda switch capable"; + } + enum "fsc" { + value 200; + description + "Fiber switch capable"; + } + } + description + "Olm switching cap"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper-sub1.yang new file mode 100644 index 000000000..758f21a21 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper-sub1.yang @@ -0,0 +1,857 @@ +submodule Cisco-IOS-XR-lmp-oper-sub1 { + belongs-to Cisco-IOS-XR-lmp-oper { + prefix Cisco-IOS-XR-lmp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR lmp package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Olmipcc-state { + type enumeration { + enum "ipcc-state-oir-removed" { + description + "OIR Removed"; + } + enum "ipcc-state-admin-down" { + description + "OOS"; + } + enum "ipcc-state-down" { + description + "Down"; + } + enum "ipcc-state-cfg-send" { + description + "ConfigSend"; + } + enum "ipcc-state-cfg-rcv" { + description + "ConfigReceive"; + } + enum "ipcc-state-active" { + description + "Active"; + } + enum "ipcc-state-up" { + description + "Up"; + } + enum "ipcc-state-going-down" { + description + "Going Down"; + } + enum "ipcc-state-unknown" { + description + "Unknown/Invalid"; + } + } + description + "The OLM IPCC state"; + } + + typedef Olm-comp-link-lmp-status { + type enumeration { + enum "comp-link-lmp-status-if-id-mismatch" { + description + "Component link IF ID mismatch"; + } + enum "comp-link-lmp-status-switch-cap-mismatch" { + description + "Component link switching capability ID mismatch"; + } + } + description + "The component link LMP status"; + } + + typedef Olm-link-encoding { + type enumeration { + enum "none" { + description + "None"; + } + enum "packet" { + description + "Packet"; + } + enum "ethernet" { + description + "Ethernet"; + } + enum "ansi-etsi-pdh" { + description + "ANSI/ETSI PDH"; + } + enum "reserved1" { + description + "Reserved"; + } + enum "sdh-sonet" { + description + "SDH ITU-T G.707 / SONET ANSI T1.105"; + } + enum "reserved2" { + description + "Reserved"; + } + enum "digital-wrapper" { + description + "Digital Wrapper"; + } + enum "lambda" { + description + "Lambda (photonic)"; + } + enum "fiber" { + description + "Fiber"; + } + enum "reserved3" { + description + "Reserved"; + } + enum "fiber-channel" { + description + "FiberChannel"; + } + enum "lencode-unknown" { + description + "Unknown"; + } + enum "ethernet2" { + description + "Ethernet Type-2"; + } + } + description + "LMP link encoding type as defined in [RFC3471]"; + } + + typedef Olmte-link-lmp-state { + type enumeration { + enum "te-link-lmp-state-down" { + description + "Down"; + } + enum "te-link-lmp-state-init" { + description + "Init"; + } + enum "te-link-lmp-state-up" { + description + "Up"; + } + enum "te-link-lmp-state-degraded" { + description + "Degraded"; + } + enum "te-link-lmp-state-unknown" { + description + "Unknown/Invalid"; + } + } + description + "The OLM TE link LMP state"; + } + + typedef Olm-comp-link-lmp-state { + type enumeration { + enum "comp-link-lmp-state-down" { + description + "Down"; + } + enum "comp-link-lmp-state-test" { + description + "Test"; + } + enum "comp-link-lmp-state-passive-test" { + description + "Pasv Test"; + } + enum "comp-link-lmp-state-up-free" { + description + "Up Free"; + } + enum "comp-link-lmp-state-up-allocated" { + description + "Up Allocated"; + } + enum "comp-link-lmp-state-unknown" { + description + "Unknown/Invalid"; + } + } + description + "The OLM Component link LMP state"; + } + + typedef Olm-comp-link-im-state { + type enumeration { + enum "comp-link-im-state-oir" { + description + "OIR removed"; + } + enum "comp-link-im-state-down" { + description + "Down"; + } + enum "comp-link-im-state-admin-down" { + description + "Admin Down"; + } + enum "comp-link-im-state-up" { + description + "Up"; + } + enum "comp-link-im-state-unknown" { + description + "Unknown"; + } + } + description + "The OLM Component link IM state"; + } + + typedef Olm-mux-cap { + type enumeration { + enum "psc1" { + description + "PSC 1"; + } + enum "psc2" { + description + "PSC 2"; + } + enum "psc3" { + description + "PSC 3"; + } + enum "psc4" { + description + "PSC 4"; + } + enum "l2sc" { + description + "L2SC"; + } + enum "tdm" { + description + "TDM"; + } + enum "lsc" { + description + "LSC"; + } + enum "fsc" { + description + "FSC"; + } + enum "dcsc" { + description + "DCSC"; + } + enum "unknown-mux-cap" { + description + "Unknown Mux Cap"; + } + } + description + "Multiplexing capability"; + } + + typedef Olmipcc { + type enumeration { + enum "ipcc-type-global-routed" { + description + "Global routed IPCC"; + } + enum "ipcc-type-global-if-bound" { + description + "Global I/F bound IPCC"; + } + enum "ipcc-type-ldcc-sdcc" { + description + "SDCC/LDCC in fiber in band type IPCC"; + } + enum "ipcc-type-unknown" { + description + "Unknown IPCC type"; + } + } + description + "The OLM IPCC type"; + } + + typedef Olm-object-owner { + type enumeration { + enum "unknown" { + description + "Unknown owner"; + } + enum "ouni" { + description + "OIF OUNI"; + } + enum "gmpls-nni" { + description + "GMPLS NNI"; + } + enum "gmpls-uni" { + description + "GMPLS UNI"; + } + } + description + "The OLM object owner"; + } + + typedef Olm-router-id { + type enumeration { + enum "not-configured" { + description + "No router ID configured"; + } + enum "global" { + description + "Global router ID"; + } + enum "protocol-based-address" { + description + "Protocol based CLIrouter ID configured"; + } + enum "interface" { + description + "Protocol based CLI I/Frouter ID configured"; + } + enum "network-element" { + description + "Protocol based CLI I/F routerID configured on + I/F that is not known to the system"; + } + enum "unknown-type" { + description + "Unknown"; + } + } + description + "The OLM router ID type"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "Ipv6 address"; + } + + typedef Olm-addr-type-id { + type enumeration { + enum "unknown-address" { + value 0; + description + "Unknown address type"; + } + enum "ipv4" { + value 101; + description + "IPv4 address type"; + } + enum "ipv6" { + value 102; + description + "IPv6 address type"; + } + enum "unnumbered" { + value 103; + description + "Unnumberedaddress type"; + } + } + description + "OLM Link Address Type"; + } + + grouping OLM-COMPONENT-LINK-ID-INFO { + description + "OLM component link ID information"; + leaf component-interface-id { + type uint32; + description + "LMP component link ID for an I/F"; + } + } + + grouping OLM-IPCC-INFO { + description + "OLM information for a particular IPCC"; + container remote-ipcc-address { + description + "The remote node'sIPCC address"; + uses OLM-ADDR; + } + container source-ip-cc-address { + description + "The local IPCC address"; + uses OLM-ADDR; + } + leaf ipcc-id { + type uint32; + description + "Global active IPCCfor this neighbor"; + } + leaf ipc-ctype { + type Olmipcc; + description + "OLM IPCC type"; + } + leaf interface-name { + type string; + description + "The interface name forI/F IPCCs"; + } + leaf neighbor-name { + type string; + description + "Neighbor name of theIPCCs neighbor"; + } + leaf ipcc-state { + type Olmipcc-state; + description + "OLM IPCC master state"; + } + leaf lmp-hello-interval { + type uint32; + description + "LMP hello send interval in msec [DEPRECATED]"; + } + leaf lmp-hello-interval-minimum { + type uint32; + description + "LMP minimum acceptable hello send interval + [DEPRECATED]"; + } + leaf lmp-hello-interval-maximum { + type uint32; + description + "LMP maximum acceptable hello send interval + [DEPRECATED]"; + } + leaf lmp-hello-dead-interval { + type uint32; + description + "LMP hello dead interval [DEPRECATED]"; + } + leaf lmp-hello-dead-interval-minimum { + type uint32; + description + "LMP minimum acceptable hello dead interval + [DEPRECATED]"; + } + leaf lmp-hello-dead-interval-maximum { + type uint32; + description + "LMP maximum acceptable hello dead interval + [DEPRECATED]"; + } + leaf lmp-hello-transmit-packets { + type uint32; + description + "LMP hello transmit packet count[DEPRECATED]"; + } + leaf lmp-hello-receive-packets { + type uint32; + description + "LMP hello receive packet count [DEPRECATED]"; + } + leaf lmp-hello-transmit-packet-sequence-number { + type uint32; + description + "LMP hello transmit packet sequence number + [DEPRECATED]"; + } + leaf lmp-hello-receive-packet-sequence-number { + type uint32; + description + "LMP hello receive packet sequence + number[DEPRECATED]"; + } + leaf lmp-transmit-msg-id { + type uint32; + description + "LMP transmit message ID[DEPRECATED]"; + } + leaf lmp-receive-msg-id { + type uint32; + description + "LMP receive message ID[DEPRECATED]"; + } + leaf lmp-link-sum-transmit-packets { + type uint32; + description + "LMP link summary transmit packet count + [DEPRECATED]"; + } + leaf lmp-link-sum-receive-packets { + type uint32; + description + "LMP link summary receive packet count + [DEPRECATED]"; + } + } + + grouping OLM-NEIGHBOR-INFO { + description + "OLM information for a particular neighbor"; + container neighbor-address { + description + "The remote node ID of the neighbor"; + uses OLM-ADDR; + } + leaf protocol-owner { + type Olm-object-owner; + description + "Protocol owningthis neighbor"; + } + leaf ipcc-id { + type uint32; + description + "The global active IPCCfor this neighbor"; + } + leaf is-lmp-enabled { + type boolean; + description + "Is LMP enabled on this neighbor [DEPRECATED]"; + } + leaf is-lmp-config-disabled { + type boolean; + description + "Are LMP hellos disabled through configuration + for this neighbor [DEPRECATED]"; + } + leaf lmp-transmit-msg-id { + type uint32; + description + "LMP transmit message ID [DEPRECATED]"; + } + leaf lmp-receive-msg-id { + type uint32; + description + "LMP receive message ID [DEPRECATED]"; + } + leaf lmp-link-sum-transmit-packets { + type uint32; + description + "LMP link summary transmit packet count + [DEPRECATED]"; + } + leaf lmp-link-sum-receive-packets { + type uint32; + description + "LMP link summary receive packet + count[DEPRECATED]"; + } + list te-link { + description + "A list of TE Links connected to this neighbor"; + uses OLM-TE-LINK-INFO; + } + list ipcc { + description + "A list of IPCCs connected to this neighbor"; + uses OLM-IPCC-INFO; + } + } + + grouping OLM-TE-LINK-INFO { + description + "OLM information for a particular TE Link"; + container local-link-id { + description + "The local datalink ID"; + uses OLM-ADDR; + } + container remote-link-id { + description + "The remote datalink ID"; + uses OLM-ADDR; + } + container local-te-link-id { + description + "Local TE-Link ID/ TNA address"; + uses OLM-ADDR; + } + container remote-te-link-id { + description + "Remote TE-Link ID/ TNA address"; + uses OLM-ADDR; + } + container neighbor-address { + description + "The address of the neighbor"; + uses OLM-ADDR; + } + container remote-ipcc-address { + description + "The remote node's IPCC address"; + uses OLM-ADDR; + } + leaf interface-name { + type string; + description + "Interface forOLM info"; + } + leaf protocol-owner { + type Olm-object-owner; + description + "Protocol owningthis te-link"; + } + leaf neighbor-name { + type string; + description + "The name of the neighbor"; + } + leaf ipcc-id { + type uint32; + description + "The IPCC ID"; + } + leaf ipc-ctype { + type Olmipcc; + description + "OLM IPCC type"; + } + leaf ipcc-name { + type string; + description + "The name ofthe IPCC associated with the TE Link"; + } + leaf local-mux-cap { + type Olm-mux-cap; + description + "The local mux capability"; + } + leaf remote-mux-cap { + type Olm-mux-cap; + description + "The remote mux capability"; + } + leaf im-state { + type Olm-comp-link-im-state; + description + "data link IM state"; + } + leaf lmp-state { + type Olm-comp-link-lmp-state; + description + "data link LMP state"; + } + leaf te-link-lmp-state { + type Olmte-link-lmp-state; + description + "TE LinkLMP state"; + } + leaf gmpls-te-link-local-minimum-bandwidth { + type uint64; + units "byte/s"; + description + "GMPLS localminimum B/W in bytes/sec"; + } + leaf gmpls-te-link-local-maximum-bandwidth { + type uint64; + units "byte/s"; + description + "GMPLS localmaximum B/W in bytes/sec"; + } + leaf gmpls-te-link-neighbor-minimum-bandwidth { + type uint64; + units "byte/s"; + description + "GMPLSneighbor minimum B/W in bytes/sec"; + } + leaf gmpls-te-link-neighbor-maximum-bandwidth { + type uint64; + units "byte/s"; + description + "GMPLSneighbor maximum B/W in bytes/sec"; + } + leaf gmpls-te-link-local-encoding-type { + type Olm-link-encoding; + description + "GMPLS locallink encoding type"; + } + leaf gmpls-te-link-neighbor-encoding-type { + type Olm-link-encoding; + description + "GMPLS neighborlink encoding type"; + } + leaf is-lmp-enabled { + type boolean; + description + "Is LMP enabledon this TE link"; + } + leaf lmp-transmit-msg-id { + type uint32; + description + "LMP transmitmessage ID"; + } + leaf lmp-receive-msg-id { + type uint32; + description + "LMP receivemessage ID"; + } + leaf-list lmp-comp-link-status { + type Olm-comp-link-lmp-status; + description + "Component link LMP status indicators"; + } + } + + grouping OLM-TIME { + description + "OLM Time Stamp"; + leaf time-connected { + type uint32; + description + "The time the clientconnected in sec"; + } + } + + grouping OLM-CLIENT-INFO { + description + "OLM information for a particular OLM client"; + container connected-time { + description + "The time the clientconnected in sec"; + uses OLM-TIME; + } + leaf node-name { + type string; + description + "The RP name that the clientprocess is running on"; + } + } + + grouping OLM-ADDR-U { + description + "OLM ADDR U"; + leaf address-type { + type Olm-addr-type-id; + description + "AddressType"; + } + leaf ipv4-address { + when "../address-type = 'ipv4'" { + description + "../AddressType = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6-address { + when "../address-type = 'ipv6'" { + description + "../AddressType = 'IPv6'"; + } + type Ipv6-address; + description + "IPv6 address"; + } + leaf unnumbered-address { + when "../address-type = 'unnumbered'" { + description + "../AddressType = 'Unnumbered'"; + } + type uint32; + description + "Unnumberedaddress"; + } + } + + grouping OLM-ADDR { + description + "TE Link or component link address"; + container address { + description + "Address Union"; + uses OLM-ADDR-U; + } + } + + grouping OLM-GLOBAL-INFO { + description + "OLM general information"; + container local-ouni-lmp-node-id { + description + "Local OUNI LMP Node ID"; + uses OLM-ADDR; + } + container local-mpls-te-lmp-node-id { + description + "MPLS TE LMP Node ID"; + uses OLM-ADDR; + } + container local-gmpls-uni-lmp-node-id { + description + "GMPLS UNI LMP Node ID"; + uses OLM-ADDR; + } + leaf local-ouni-lmp-node-id-interface { + type string; + description + "Local OUNI LMP Node ID I/F"; + } + leaf local-ouni-lmp-node-id-type { + type Olm-router-id; + description + "Local OUNI LMP Node ID type"; + } + leaf is-ouni-config-exist { + type boolean; + description + "TRUE if any OLM OUNI config exists"; + } + leaf is-gmpls-nni-config-exist { + type boolean; + description + "TRUE if any OLM/LNP GMPLS NNI config exists"; + } + leaf is-gmpls-uni-config-exist { + type boolean; + description + "TRUE if any OLM/LMP GMPLS UNI config exists"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper.yang new file mode 100644 index 000000000..93142ad60 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lmp-oper.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XR-lmp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-oper"; + prefix lmp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-lmp-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lmp package operational data. + + This module contains definitions + for the following management objects: + lmp: Main common UCP/OLM operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container lmp { + config false; + description + "Main common UCP/OLM operational data"; + container global-status { + description + "Global OLM process information"; + uses OLM-GLOBAL-INFO; + } + container clients { + description + "UCP OLM clients container class"; + list client { + key "client-name"; + description + "Information on a particular OLM API client"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client name"; + } + uses OLM-CLIENT-INFO; + } + } + container gmpls-uni { + description + "GMPLS UNI specific OLM/LMP configuration"; + container te-links { + description + "UCP OLM TE Links container class"; + list te-link { + key "controller-name"; + description + "Information on a particular OLM TE Link"; + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + uses OLM-TE-LINK-INFO; + } + } + container neighbors { + description + "UCP OLM neighbors container class"; + list neighbor { + key "neighbor-name"; + description + "Information on a particular OLM neighbor"; + leaf neighbor-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Neighbor name"; + } + uses OLM-NEIGHBOR-INFO; + } + } + } + container component-link-ids { + description + "UCP OLM component link ID container class"; + list component-link-id { + key "controller-name"; + description + "Retrieve the LMP component link ID for a given + controller"; + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + uses OLM-COMPONENT-LINK-ID-INFO; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-act.yang new file mode 100644 index 000000000..5255ac674 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-act.yang @@ -0,0 +1,57 @@ +module Cisco-IOS-XR-lpts-ifib-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-ifib-act"; + prefix lpts-ifib-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-20 { + description + "Initial revision."; + semver:module-version "1.0.0"; + } + + rpc clear-lpts-ifib-statistics-location { + description + "Clear lpts ifib stats location"; + input { + leaf node-location { + type string; + description + "Node location"; + } + } + } + rpc clear-lpts-ifib-times-location { + description + "Clear ifib times location"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper-sub1.yang new file mode 100644 index 000000000..5d70c2914 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper-sub1.yang @@ -0,0 +1,181 @@ +submodule Cisco-IOS-XR-lpts-ifib-oper-sub1 { + belongs-to Cisco-IOS-XR-lpts-ifib-oper { + prefix Cisco-IOS-XR-lpts-ifib-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR lpts-ifib package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-24 { + description + "added task-name to LptsIfib class."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-12-17 { + description + "slice-id/entry type changed from Integer to Hex-integer."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FM-IFIB-ENTRY { + description + "LPTS IFIB Slice Entry Information"; + leaf destination-type { + type string; + description + "Destination Key Type"; + } + leaf destination-value { + type string; + description + "Destination Port/ICMP Type/IGMP Type"; + } + leaf source-port { + type string; + description + "Source port"; + } + leaf destination-addr { + type string; + description + "Destination IP Address"; + } + leaf source-addr { + type string; + description + "Source IP Address"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vid { + type uint32; + description + "VRF ID"; + } + leaf l3protocol { + type uint32; + description + "Layer 3 Protocol"; + } + leaf l4protocol { + type uint32; + description + "Layer 4 Protocol"; + } + leaf intf-name { + type string; + description + "Interface Name"; + } + leaf intf-handle { + type uint32; + description + "Interface Handle"; + } + leaf is-syn { + type uint8; + description + "Is SYN"; + } + leaf opcode { + type string; + description + "Opcode"; + } + leaf accepts { + type uint64; + description + "Packets matched to accept"; + } + leaf drops { + type uint64; + description + "Packets matched to drop"; + } + leaf flow-type { + type string; + description + "Flow type"; + } + leaf listener-tag { + type string; + description + "Listener Tag"; + } + leaf local-flag { + type uint8; + description + "Local Flag"; + } + leaf is-fgid { + type uint8; + description + "Is FGID or not"; + } + leaf deliver-list-short { + type string; + description + "Deliver List Short Format"; + } + leaf deliver-list-long { + type string; + description + "Deliver List Long Format"; + } + leaf min-ttl { + type uint8; + description + "Minimum TTL"; + } + leaf pending-ifibq-delay { + type uint32; + description + "pending ifib queue delay"; + } + leaf sl-ifibq-delay { + type uint32; + description + "sl_ifibq delay"; + } + leaf ifib-program-time { + type string; + description + "ifib program time in netio"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper.yang new file mode 100644 index 000000000..898a5b79d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-ifib-oper.yang @@ -0,0 +1,105 @@ +module Cisco-IOS-XR-lpts-ifib-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-ifib-oper"; + prefix lpts-ifib-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-lpts-ifib-oper-sub1 { + revision-date 2020-06-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-ifib package operational data. + + This module contains definitions + for the following management objects: + lpts-ifib: lpts ifib database + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-24 { + description + "added task-name to LptsIfib class."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-12-17 { + description + "slice-id/entry type changed from Integer to Hex-integer."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container lpts-ifib { + config false; + description + "lpts ifib database"; + container nodes { + description + "Node ifib database"; + list node { + key "node-name"; + description + "Per node slice "; + container slice-ids { + description + "Slice specific"; + list slice-id { + key "slice-name"; + description + "slice types"; + leaf slice-name { + type xr:Cisco-ios-xr-string; + description + "Type value"; + } + list entry { + key "entry"; + description + "Data for single pre-ifib entry"; + leaf entry { + type xr:Hex-integer; + description + "Single Pre-ifib entry"; + } + uses FM-IFIB-ENTRY; + } + } + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-lib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-lib-cfg.yang new file mode 100644 index 000000000..5e8597c01 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-lib-cfg.yang @@ -0,0 +1,46 @@ +module Cisco-IOS-XR-lpts-lib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-lib-cfg"; + prefix lpts-lib-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-lib package configuration. + + This module contains definitions + for the following management objects: + lpts: lpts configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container lpts { + description + "lpts configuration commands"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-act.yang new file mode 100644 index 000000000..92ad8167c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-act.yang @@ -0,0 +1,42 @@ +module Cisco-IOS-XR-lpts-pa-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pa-act"; + prefix lpts-pa-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-20 { + description + "Initial revision"; + semver:module-version "1.0.0"; + } + + rpc clear-lpts-internal-queue-pa-statistics { + description + "Clear lpts internal stats "; + } + rpc clear-lpts-client-times { + description + "Clear lpts client times "; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper-sub1.yang new file mode 100644 index 000000000..4ce250d5f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper-sub1.yang @@ -0,0 +1,251 @@ +submodule Cisco-IOS-XR-lpts-pa-oper-sub1 { + belongs-to Cisco-IOS-XR-lpts-pa-oper { + prefix Cisco-IOS-XR-lpts-pa-oper; + } + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR lpts-pa package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-24 { + description + "added new members in binding oper data as location name, vrf name, client id name, etc"; + semver:module-version "1.0.2m"; + } + revision 2020-06-24 { + description + "added task-name to LptsPA class."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CLIENT-ENTRY { + description + "Client Structure"; + leaf flags { + type uint32; + description + "Client flags"; + } + leaf open-flags { + type uint32; + description + "Open flags"; + } + leaf location { + type uint32; + description + "Rack/slot/instance"; + } + leaf client-id { + type uint32; + description + "Client ID"; + } + leaf times { + type yang:hex-string; + description + "Transaction statisitics"; + } + } + + grouping TIMESPEC-ENTRY { + description + "Creation or Update Time"; + leaf tv-sec { + type uint32; + description + "Time Sec"; + } + leaf tv-nsec { + type uint32; + description + "Time Nanosec"; + } + } + + grouping BINDING-ENTRY { + description + "LPTS Binding Entry"; + container ctime { + description + "Creation Time"; + uses TIMESPEC-ENTRY; + } + container utime { + description + "Update Time"; + uses TIMESPEC-ENTRY; + } + leaf location { + type uint32; + description + "Node Id"; + } + leaf location-name { + type string; + description + "Rack/slot/instance"; + } + leaf client-id { + type uint32; + description + "Client ID"; + } + leaf client-name { + type string; + description + "Client's Name"; + } + leaf vid { + type uint32; + description + "VR/VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf cookie { + type uint32; + description + "Cookie"; + } + leaf l3protocol { + type uint32; + description + "Layer 3 protocol"; + } + leaf l4protocol { + type uint32; + description + "Layer 4 protocol"; + } + leaf smask { + type uint32; + description + "Filter operation"; + } + leaf ifs { + type uint32; + description + "Ifhandle"; + } + leaf ptype { + type uint32; + description + "Packet type"; + } + leaf local-ip { + type yang:hex-string; + description + "Local address"; + } + leaf local-ip-str { + type string; + description + "Local IP address"; + } + leaf remote-ip { + type yang:hex-string; + description + "Remote address"; + } + leaf remote-ip-str { + type string; + description + "Remote IP address"; + } + leaf local-len { + type uint8; + description + "Local address length"; + } + leaf remote-len { + type uint8; + description + "Remote address length"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf remote-port { + type uint16; + description + "Remote port"; + } + leaf packet-misc { + type uint32; + description + "L5 info"; + } + leaf scope { + type uint32; + description + "Scope"; + } + leaf client-flags { + type uint32; + description + "Client flags"; + } + leaf min-ttl { + type uint8; + description + "Minimum TTL"; + } + leaf ctime-str { + type string; + description + "Creation Time In DateTime Format"; + } + leaf utime-str { + type string; + description + "Update Time In DateTime Format"; + } + leaf lazy-bindq-delay { + type uint32; + description + "Lazy binding queue delay"; + } + leaf ptq-delay { + type uint32; + description + "Pending transactions queue delay"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper.yang new file mode 100644 index 000000000..9d98fcf80 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pa-oper.yang @@ -0,0 +1,93 @@ +module Cisco-IOS-XR-lpts-pa-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pa-oper"; + prefix lpts-pa-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-lpts-pa-oper-sub1 { + revision-date 2021-11-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pa package operational data. + + This module contains definitions + for the following management objects: + lpts-pa: lpts pre-ifib data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-24 { + description + "added new members in binding oper data as location name, vrf name, client id name, etc"; + semver:module-version "1.0.2m"; + } + revision 2020-06-24 { + description + "added task-name to LptsPA class."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container lpts-pa { + config false; + description + "lpts pre-ifib data"; + container entry-xr { + description + "lpts pa bindings"; + list entry { + key "entry"; + description + "Data for single PA Binding"; + leaf entry { + type xr:Cisco-ios-xr-string; + description + "Single Binding entry"; + } + uses BINDING-ENTRY; + } + } + container entries { + description + "lpts pa clients"; + list entry { + key "entry"; + description + "Data for single PA Client"; + leaf entry { + type xr:Cisco-ios-xr-string; + description + "Single Client entry"; + } + uses CLIENT-ENTRY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-act.yang new file mode 100644 index 000000000..f5e197238 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-act.yang @@ -0,0 +1,75 @@ +module Cisco-IOS-XR-lpts-pre-ifib-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-act"; + prefix lpts-pre-ifib-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-20 { + description + "Initial revision."; + semver:module-version "1.0.0"; + } + + rpc clear-lpts-pifib-statistics-location { + description + "Clear lpts pre-ifib stats location"; + input { + leaf node-location { + type string; + description + "Node location"; + } + } + } + rpc clear-lpts-punt-statistics-interface { + description + "Clear LPTS punt stats interface"; + input { + leaf interface { + type string; + mandatory true; + description + "Interface name"; + } + leaf node-location { + type string; + mandatory true; + description + "Location name"; + } + } + } + rpc clear-lpts-punt-statistics-location { + description + "Clear lpts punt stats location"; + input { + leaf node-location { + type string; + mandatory true; + description + "Node location"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-cfg.yang new file mode 100644 index 000000000..97e6dd8fc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-cfg.yang @@ -0,0 +1,1143 @@ +module Cisco-IOS-XR-lpts-pre-ifib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-cfg"; + prefix lpts-pre-ifib-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-config-mda-cfg { + prefix node; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-lpts-lib-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pre-ifib package configuration. + + This YANG module augments the + Cisco-IOS-XR-lpts-lib-cfg + Cisco-IOS-XR-config-mda-cfg + modules with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-18 { + description + "added CnBNG flow enum in LPTSFlowType."; + semver:module-version "4.0.0"; + } + revision 2020-08-26 { + description + "added mandatory to ACL related classes."; + semver:module-version "3.0.0"; + } + revision 2020-01-20 { + description + "LPTS Punt Policer Support for LLDP. + 2019-10-23 + LPTS Punt Policer Support."; + semver:module-version "2.1.0"; + } + revision 2019-07-15 { + description + "added PM TWAMP flow enum in LPTSFlowType."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-26 { + description + "LPTS Domains Support."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Lpts-punt { + type enumeration { + enum "mcast" { + value 0; + description + "Multicast packets"; + } + enum "bcast" { + value 1; + description + "Broadcast packets"; + } + enum "arp" { + value 2; + description + "ARP packets"; + } + enum "cdp" { + value 3; + description + "CDP packets"; + } + enum "lacp" { + value 4; + description + "LACP packets"; + } + enum "lldp" { + value 5; + description + "LLDP packets"; + } + enum "ssfp" { + value 6; + description + "SSFP packets"; + } + enum "ipv6-nd-proxy" { + value 7; + description + "IPv6-ND-proxy packets"; + } + } + description + "Lpts punt"; + } + + typedef Lpts-dynamic-flow-config { + type enumeration { + enum "flows-config" { + value 0; + description + "LPTS Flows Limit"; + } + enum "platform-config" { + value 1; + description + "Platform Limit"; + } + } + description + "Lpts dynamic flow config"; + } + + typedef Lpts-pre-i-fib-precedence-number { + type union { + type enumeration { + enum "critical" { + value 5; + description + "Match packets with critical precedence"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control + precedence"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence"; + } + enum "routine" { + value 0; + description + "Match packets with routine precedence"; + } + } + type uint32 { + range "0..7"; + } + } + description + "Lpts pre i fib precedence number"; + } + + typedef Lpts-flow { + type enumeration { + enum "config-default" { + value 0; + description + "Invalid flow type used for fallback + configuration"; + } + enum "l2tpv2-fragment" { + value 1; + description + "L2TPv2 Fragments"; + } + enum "fragment" { + value 2; + description + "Fragments"; + } + enum "ospf-multicast-known" { + value 3; + description + "OSPF multicast packets on configured interfaces"; + } + enum "ospf-multicast-default" { + value 4; + description + "OSPF multicast packets on unconfigured (or + newly-configured) interfaces"; + } + enum "ospf-unicast-known" { + value 5; + description + "OSPF unicast packets"; + } + enum "ospf-unicast-default" { + value 6; + description + "OSPF unicast packets"; + } + enum "isis-known" { + value 7; + description + "IS-IS packets on configured interfaces"; + } + enum "isis-default" { + value 8; + description + "IS-IS packets on unconfigured (or + newly-configured) interfaces"; + } + enum "bfd-known" { + value 9; + description + "BFD packets on configured interfaces"; + } + enum "bfd-default" { + value 10; + description + "BFD packets on unconfigured (or + newly-configured) interfaces"; + } + enum "bfd-multipath-known" { + value 11; + description + "BFD multipath packets on configured interfaces"; + } + enum "bfd-multipath0" { + value 12; + description + "BFD multipath packets on multiple configured + interfaces"; + } + enum "bfd-blb-known" { + value 13; + description + "BFD packets over Logical Bundle on configured + interfaces"; + } + enum "bfd-blb0" { + value 14; + description + "BFD packets over Logical Bundle 0"; + } + enum "bfd-sp0" { + value 15; + description + "BFD packets over Single Path 0"; + } + enum "bgp-known" { + value 16; + description + "Packets from established BGP peering sessions"; + } + enum "bgp-config-peer" { + value 17; + description + "Packets from a configured BGP peer (SYNs or + newly-established sessions)"; + } + enum "bgp-default" { + value 18; + description + "Packets from unconfigured, newly-configured, or + wild-card BGP peer"; + } + enum "pim-multicast-default" { + value 19; + description + "PIM multicast packets on configured interfaces"; + } + enum "pim-multicast-known" { + value 20; + description + "PIM multicast packets on unconfigured (or + newly-configured) interfaces"; + } + enum "pim-unicast" { + value 21; + description + "PIM unicast packets"; + } + enum "igmp" { + value 22; + description + "IGMP packets"; + } + enum "icmp-local" { + value 23; + description + "ICMP or ICMPv6 packets with local interest"; + } + enum "icmp-app" { + value 24; + description + "ICMP or ICMPv6 packets of interest to + applications"; + } + enum "icmp-control" { + value 25; + description + "ICMP or ICMPv6 packets that are used for + control/signalling purpose"; + } + enum "icmp-default" { + value 26; + description + "Other ICMP or ICMPv6 packets (may be of recent + interest to applications)"; + } + enum "icmp-app-default" { + value 27; + description + "ICMP or ICMPv6 echo reply packets (when + specific entry not present)"; + } + enum "ldp-tcp-known" { + value 28; + description + "Packets from an established LDP TCP peering + session"; + } + enum "ldp-tcp-config-peer" { + value 29; + description + "Packets from a configured LDP TCP peer (SYNs or + newly-established sessions)"; + } + enum "ldp-tcp-default" { + value 30; + description + "Packets from an unconfigured, newly-configured + or wild-card LDP TCP peer"; + } + enum "ldp-udp" { + value 31; + description + "Unicast LDP UDP packets"; + } + enum "all-routers" { + value 32; + description + "Packets sent to the all-routers multicast + address (includes LDP UDP multicast)"; + } + enum "lmp-tcp-known" { + value 33; + description + "Packets from an established LMP TCP peering + session"; + } + enum "lmp-tcp-config-peer" { + value 34; + description + "Packets from a configured LMP TCP peer (SYNs or + newly-established sessions)"; + } + enum "lmp-tcp-default" { + value 35; + description + "Packets from an unconfigured, newly-configured + or wild-card LMP TCP peer"; + } + enum "lmp-udp" { + value 36; + description + "Unicast LMP UDP packets"; + } + enum "rsvp-udp" { + value 37; + description + "RSVP-over-UDP packets"; + } + enum "rsvp-default" { + value 38; + description + "RSVP (IP protocol 46) packets"; + } + enum "rsvp-known" { + value 39; + description + "RSVP (IP protocol 46) packets"; + } + enum "ike" { + value 40; + description + "IKE packets"; + } + enum "ipsec-known" { + value 41; + description + "AH or ESP packets with known SPIs"; + } + enum "ipsec-default" { + value 42; + description + "AH or ESP packets with unknown or + newly-configured SPIs"; + } + enum "ipsec-fragment" { + value 43; + description + "AH or ESP fragmented packets"; + } + enum "msdp-known" { + value 44; + description + "Packets from an established MSDP session"; + } + enum "msdp-config-peer" { + value 45; + description + "Packets from a configured MSDP peer"; + } + enum "msdp-default" { + value 46; + description + "Packets from an uncofigured, newly-configured + or wild-card MSDP peer"; + } + enum "snmp" { + value 47; + description + "SNMP packets"; + } + enum "ssh-known" { + value 48; + description + "Packets from an established SSH session"; + } + enum "ssh-default" { + value 49; + description + "Packets from a new or newly-established SSH + session"; + } + enum "http-known" { + value 50; + description + "Packets from an established HTTP session"; + } + enum "http-default" { + value 51; + description + "Packets from a new or newly-established HTTP + session"; + } + enum "shttp-known" { + value 52; + description + "Packets from an established SHTTP session"; + } + enum "shttp-default" { + value 53; + description + "Packets from a new or newly-established SSHTP + session"; + } + enum "telnet-known" { + value 54; + description + "Packets from an established TELNET session"; + } + enum "telnet-default" { + value 55; + description + "Packets from a new or newly-established TELNET + session"; + } + enum "css-known" { + value 56; + description + "Packets from an established CSS session"; + } + enum "css-default" { + value 57; + description + "Packets from a new or newly-established CSS + session"; + } + enum "rsh-known" { + value 58; + description + "Packets from an established rsh session"; + } + enum "rsh-default" { + value 59; + description + "Packets from a new or newly-established rsh + session"; + } + enum "udp-known" { + value 60; + description + "Packets for established UDP sessions"; + } + enum "udp-listen" { + value 61; + description + "Packets for configured UDP services"; + } + enum "udp-config-peer" { + value 62; + description + "Packets for configured UDP-based protocol + sessions"; + } + enum "udp-default" { + value 63; + description + "Packets for unconfigured or newly-configured + UDP services"; + } + enum "tcp-known" { + value 64; + description + "Packets for established TCP sessions"; + } + enum "tcp-listen" { + value 65; + description + "Packets for configured TCP services"; + } + enum "tcp-config-peer" { + value 66; + description + "Packets for configured TCP peers"; + } + enum "tcp-default" { + value 67; + description + "Packets for unconfigured or newly-configured + TCP services"; + } + enum "multicast-known" { + value 68; + description + "Packets for configured multicast groups"; + } + enum "multicast-default" { + value 69; + description + "Packets for unconfigured or newly-configured + multicast groups"; + } + enum "raw-listen" { + value 70; + description + "Packets for configured IP protocols"; + } + enum "raw-default" { + value 71; + description + "Packets for unconfigured or newly-configured + IPv4 or IPv6 protocols"; + } + enum "ipsla" { + value 72; + description + "IP SLA packets destined to squid Q #4 for + timestamping by squid driver"; + } + enum "eigrp" { + value 73; + description + "EIGRP packets."; + } + enum "rip" { + value 74; + description + "RIP packets."; + } + enum "l2tpv3" { + value 75; + description + "L2TPv3 packets."; + } + enum "pcep-tcp-default" { + value 76; + description + "PCEP packets."; + } + enum "gre" { + value 77; + description + "GRE packets."; + } + enum "vrrp" { + value 78; + description + "VRRP Packets."; + } + enum "hsrp" { + value 79; + description + "HSRP Packets."; + } + enum "mpls-ping" { + value 80; + description + "MPLS ping packet coming or arriving from 3503 + port"; + } + enum "l2tpv2-default" { + value 81; + description + "L2TPv2 default packets."; + } + enum "l2tpv2-known" { + value 82; + description + "L2TPv2 known packets."; + } + enum "dns" { + value 83; + description + "DNS packets."; + } + enum "radius" { + value 84; + description + "RADIUS packets."; + } + enum "tacacs" { + value 85; + description + "TACACS packets."; + } + enum "ntp-default" { + value 86; + description + "NTP packets received at 123 port number any + address."; + } + enum "ntp-known" { + value 87; + description + "NTP packets received at 123 port number known + address."; + } + enum "mobile-ipv6" { + value 88; + description + "Mobile IPV6 packets."; + } + enum "amt" { + value 89; + description + "AMT packets received at UDP port number 2268."; + } + enum "sdac-tcp" { + value 90; + description + "SDAC TCP packets."; + } + enum "radius-coa" { + value 91; + description + "RADIUS Change of Authorization packets."; + } + enum "rel-udp" { + value 92; + description + "REL UDP packets."; + } + enum "dhcp4" { + value 93; + description + "DHCP IPV4 packets."; + } + enum "dhcp6" { + value 94; + description + "DHCP IPV6 packets."; + } + enum "onepk" { + value 95; + description + "ONEPK packets."; + } + enum "exr" { + value 96; + description + "EXR packets."; + } + enum "bob-ietf" { + value 97; + description + "IETF BFD packets over Logical Bundle."; + } + enum "xipc-throt" { + value 98; + description + "XIPC Throttle Flow."; + } + enum "pm-twamp" { + value 99; + description + "PM TWAMP Packets."; + } + enum "cnbng-gtpu" { + value 100; + description + "CnBNG GTPU Packets."; + } + enum "cnbng-pfcp" { + value 101; + description + "CnBNG PFCP Packets."; + } + enum "platform-limit" { + value 102; + description + "Platform Limit."; + } + } + description + "Lpts flow"; + } + + typedef Lptsafi { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 type"; + } + enum "ipv6" { + value 2; + description + "IPv6 type"; + } + } + description + "Lptsafi"; + } + + grouping NODE-CFG { + description + "active/preconfigured nodes configuration"; + container lpts-local { + description + "lpts node specific configuration commands"; + container ipunt-policer-local { + presence "Indicates a ipunt-policer-local node is configured."; + description + "Node specific Pre IFIB (Internal Forwarding + Information Base) Configuration"; + container punt-type-local-table { + description + "Punt Policer Table"; + uses PUNT-TYPE; + } + uses ENABLE; + uses PUNT-DOMAIN-TABLE; + uses PUNT-POLICER-IFH; + } + container ipolicer-local-tables { + description + "Node specific Pre IFIB (Internal Forwarding + Information Base) Configuration"; + list ipolicer-local-table { + key "id1"; + description + "Pre IFIB (Internal Forwarding Information + Base) configuration table"; + container np-flows { + description + "NP name"; + list np-flow { + key "flow-type"; + description + "Table of NP Flow names"; + leaf np-rate { + type uint32 { + range "0..4294967295"; + } + description + "Configured rate value"; + } + leaf flow-type { + type Lpts-flow; + description + "LPTS Flow Type"; + } + } + } + leaf id1 { + type xr:Cisco-ios-xr-string; + description + "none"; + } + } + } + container dynamic-flows-tables { + description + "Node specific Pre IFIB (Internal Forwarding + Information Base) Configuration"; + list dynamic-flows-table { + key "table-type"; + description + "Table for Dynamic Flows"; + leaf table-type { + type Lpts-dynamic-flow-config; + description + "LPTS Dynamic Flows Table Type"; + } + list flow-type { + key "flow-type"; + description + "Selected flow type"; + leaf max { + type uint32; + description + "Configured Max TCAM value"; + } + leaf flow-type { + type Lpts-flow; + description + "LPTS Flow Type"; + } + } + } + } + container ipolicer-local { + presence "Indicates a ipolicer-local node is configured."; + description + "Node specific Pre IFIB (Internal Forwarding + Information Base) Configuration"; + uses ENABLE; + uses DOMAIN-TABLE; + uses FLOW-TABLE; + } + } + } + + grouping PUNT-TYPE { + description + "Common node of punt-type-table, + punt-type-local-table, punt-type-domain-table, + punt-type-interface-table"; + list punt-type { + key "punt-id"; + description + "Punt Protocol Type"; + container rate { + presence "Indicates a rate node is configured."; + description + "Enable or Disable Punt Police and corresponding + Rate in PPS"; + leaf is-enabled { + type boolean; + mandatory true; + description + "Is Punt Policer enabled"; + } + leaf rate { + type uint32 { + range "0..4294967295"; + } + description + "Configured rate value"; + } + } + leaf punt-id { + type Lpts-punt; + description + "Punt Type"; + } + } + } + + grouping DOMAIN-TABLE { + description + "Common node of ipolicer, ipolicer-local"; + container policer-domains { + description + "Policer Domain Table"; + list policer-domain { + key "domain-name"; + description + "Domain name"; + leaf domain-name { + type xr:Cisco-ios-xr-string; + description + "Domain name"; + } + uses FLOW-TABLE; + } + } + } + + grouping ENABLE { + description + "Common node of ipolicer, ipolicer-local, + ipunt-policer, ipunt-policer-local, domain-name, + policer-domain, punt-policer-domain, + punt-policer-interface-name"; + leaf enable { + type empty; + mandatory true; + description + "Enabled"; + } + } + + grouping FLOW-TABLE { + description + "Common node of ipolicer, ipolicer-local, + policer-domain"; + container flows { + description + "Table for Flows"; + list flow { + key "flow-type"; + description + "selected flow type"; + container precedences { + description + "TOS Precedence value(s)"; + leaf-list precedence { + type Lpts-pre-i-fib-precedence-number; + max-elements "8"; + description + "Precedence values"; + } + } + leaf rate { + type uint32 { + range "0..4294967295"; + } + description + "Configured rate value"; + } + leaf flow-type { + type Lpts-flow; + description + "LPTS Flow Type"; + } + } + } + } + + grouping PUNT-POLICER-IFH { + description + "Common node of ipunt-policer, ipunt-policer-local"; + container punt-policer-interface-names { + description + "Punt Policer Interface"; + list punt-policer-interface-name { + key "punt-interface-name"; + description + "Pre-ifib Punt Policer Interface Configuration"; + container punt-type-interface-table { + description + "Punt Policer Table"; + uses PUNT-TYPE; + } + leaf punt-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + } + + grouping PUNT-DOMAIN-TABLE { + description + "Common node of ipunt-policer, ipunt-policer-local"; + container punt-policer-domains { + description + "Punt Policer Domain Table"; + list punt-policer-domain { + key "domain-name"; + description + "Domain name"; + container punt-type-domain-table { + description + "Punt Policer Table"; + uses PUNT-TYPE; + } + leaf domain-name { + type xr:Cisco-ios-xr-string; + description + "Domain name"; + } + } + } + } + + augment "/a1:lpts" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-lpts-lib-cfg'"; + container ipolicer { + presence "Indicates a ipolicer node is configured."; + description + "Pre IFiB Policer Configuration "; + container acls { + description + "Table for ACLs"; + list acl { + key "acl-name afi-family-type vrf-name"; + description + "ACL policer rate config commands"; + leaf acl-rate { + type uint32 { + range "0..100000"; + } + mandatory true; + description + "pre-ifib policer rate"; + } + leaf acl-name { + type xr:Cisco-ios-xr-string; + description + "ACL name"; + } + leaf afi-family-type { + type Lptsafi; + description + "AFI Family Type"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + } + } + uses ENABLE; + uses DOMAIN-TABLE; + uses FLOW-TABLE; + } + } + augment "/a1:lpts" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-lpts-lib-cfg'"; + container domain-names { + description + "Pre IFiB Domains Configuration "; + list domain-name { + key "domain-name"; + description + "Domain name"; + container interface-names { + description + "Domain Interface"; + list interface-name { + key "domain-interface-name"; + description + "pre-ifib Domain Single interface + configuration"; + leaf domain-interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf domain-interface-name-xr { + type boolean; + mandatory true; + description + "Enabled or disabled"; + } + } + } + leaf domain-name { + type xr:Cisco-ios-xr-string; + description + "Domain name"; + } + } + } + } + augment "/a1:lpts" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-lpts-lib-cfg'"; + container ipunt-policer { + presence "Indicates a ipunt-policer node is configured."; + description + "Pre IFiB Punt Policer Configuration "; + container punt-type-table { + description + "Punt Policer Table"; + uses PUNT-TYPE; + } + uses ENABLE; + uses PUNT-DOMAIN-TABLE; + uses PUNT-POLICER-IFH; + } + } + augment "/node:active-nodes/node:active-node" { + description + "This augment extends active nodes configuration"; + uses NODE-CFG; + } + augment "/node:preconfigured-nodes/node:preconfigured-node" { + description + "This augment extends preconfigured nodes + configuration"; + uses NODE-CFG; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper-sub1.yang new file mode 100644 index 000000000..94590aedd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper-sub1.yang @@ -0,0 +1,667 @@ +submodule Cisco-IOS-XR-lpts-pre-ifib-oper-sub1 { + belongs-to Cisco-IOS-XR-lpts-pre-ifib-oper { + prefix Cisco-IOS-XR-lpts-pre-ifib-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR lpts-pre-ifib package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-19 { + description + "LPTS HW FLow Policer datalist support."; + semver:module-version "1.2.1M"; + } + revision 2020-12-03 { + description + "LPTS HW FLow Policer Support."; + semver:module-version "1.2.0"; + } + revision 2020-06-24 { + description + "added task-name to LptsPifib class. + 2019-11-06 + LPTS Punt Policer Support. + 2019-10-23 + LPTS Punt Policer Support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-26 { + description + "LPTS Domains Support."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-11-22 { + description + "Initial revision for pre-ifib oper yang."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PIFIB-HW-FLOW-POLICER-DATA { + description + "Pre-IFIB hw flow police data structure"; + leaf flow-id { + type uint8; + description + "flow id"; + } + leaf flow-name { + type string; + description + "flow name"; + } + leaf type { + type uint8; + description + "type"; + } + leaf type-name { + type string; + description + "type name"; + } + leaf domain-id { + type uint8; + description + "domain id"; + } + leaf domain-name { + type string; + description + "domain name"; + } + leaf npu-id { + type uint8; + description + "npu id"; + } + leaf policer-rate { + type uint32; + description + "policer rate"; + } + leaf burst-size { + type uint32; + description + "burst size"; + } + leaf accepted { + type uint64; + description + "accepted"; + } + leaf dropped { + type uint64; + description + "dropped"; + } + } + + grouping PUNT-POLICER-DOMAIN-LIST { + description + "LPTS Punt Policer Domain Information"; + leaf domain-index { + type uint8; + description + "Domain Index"; + } + leaf domain-name { + type string; + description + "Domain Name"; + } + leaf valid { + type boolean; + description + "Domain is Valid"; + } + leaf number-of-punt-types { + type uint32; + description + "Number of Punt types"; + } + list punt-type { + description + "Punt type List"; + uses PUNT-POLICER-TYPE-ENTRY; + } + list applied-config { + description + "Applied Policer Data"; + uses PUNT-POLICER-CONF-ENTRY; + } + } + + grouping PUNT-POLICER-CONF-ENTRY { + description + "LPTS applied punt policer data"; + leaf interface-handle { + type xr:Interface-name; + description + "Interface Handle"; + } + leaf virtual-interface { + type boolean; + description + "Interface is Virtual"; + } + leaf punt-name { + type string; + description + "Punt Name"; + } + leaf enabled { + type boolean; + description + "Is Enabled"; + } + leaf configured-rate { + type uint32; + description + "Configured Policer Rate"; + } + leaf domain-index { + type uint8; + description + "Domain Index"; + } + leaf punt-police-program-time { + type string; + description + "Creation or Update Time"; + } + } + + grouping PUNT-POLICER-TYPE-ENTRY { + description + "LPTS Punt type data"; + leaf punt-name { + type string; + description + "Punt Name"; + } + leaf configured { + type boolean; + description + "Is Configured"; + } + leaf active-cfg-state { + type string; + description + "Active Cfg State"; + } + leaf enabled { + type boolean; + description + "Is Enabled"; + } + leaf pending { + type boolean; + description + "Is Pending"; + } + leaf configured-rate { + type uint32; + description + "Configured Policer Rate"; + } + leaf operational-rate { + type uint32; + description + "Operational Policer Rate"; + } + leaf operational-burst { + type uint32; + description + "Operational Burst size"; + } + leaf domain-name { + type string; + description + "Domain Name"; + } + leaf domain-index { + type uint8; + description + "Domain Index"; + } + leaf accepted { + type uint64; + description + "Packets matched to accept"; + } + leaf dropped { + type uint64; + description + "Packets matched for drop"; + } + } + + grouping PUNT-POLICER-INTERFACE-LIST { + description + "LPTS Punt Policer IFH Information"; + leaf interface-handle { + type xr:Interface-name; + description + "Interface Handle"; + } + leaf interface-name { + type string; + description + "Interface Name"; + } + leaf virtual-interface { + type boolean; + description + "Interface is Virtual"; + } + leaf number-of-punt-types { + type uint32; + description + "Number of Punt types"; + } + list punt-type { + description + "Punt type List"; + uses PUNT-POLICER-TYPE-ENTRY; + } + list applied-config { + description + "Applied Policer Data"; + uses PUNT-POLICER-CONF-ENTRY; + } + } + + grouping PUNT-POLICER-CFG-DATA { + description + "LPTS Punt Policer active Data"; + leaf has-config { + type boolean; + description + "config presence"; + } + leaf number-of-interfaces { + type uint32; + description + "Number of Interfaces"; + } + leaf number-of-domains { + type uint32; + description + "Number of Domains"; + } + list interface { + description + "Interface List"; + uses PUNT-POLICER-INTERFACE-LIST; + } + list domain { + description + "Domain List"; + uses PUNT-POLICER-DOMAIN-LIST; + } + } + + grouping PIFIB-PUNT-POLICER-DATA { + description + "LPTS Punt Policer Information"; + container config-data { + description + "Punt Policer Config Data"; + uses PUNT-POLICER-CFG-DATA; + } + leaf punt-policer-supported { + type boolean; + description + "Punt Policer Supported"; + } + } + + grouping DYNFLOWS-FLOW-ENTRY { + description + "LPTS Pre-IFIB Dynamic Flows Entry Data"; + leaf flow-name { + type string; + description + "Flow Name"; + } + leaf configurable { + type boolean; + description + "Is Configurable"; + } + leaf configured { + type boolean; + description + "Is Configured"; + } + leaf default-max { + type uint32; + description + "Default Max"; + } + leaf configured-max { + type string; + description + "Configured Max"; + } + leaf active-max { + type uint32; + description + "Active Max"; + } + leaf hardware-count { + type uint32; + description + "Hardware Count"; + } + leaf software-count { + type uint32; + description + "Software Count"; + } + leaf pending-software-entries { + type boolean; + description + "Pending Software Entries"; + } + } + + grouping PIFIB-DYNFLOWS-DATA { + description + "LPTS Pre-IFIB Dynamic Flows Data"; + leaf dynamic-flows-enabled { + type boolean; + description + "Dynamic Flows Enabled"; + } + leaf platform-supported-max { + type uint32; + description + "Platform Max"; + } + leaf platform-configured-max { + type uint32; + description + "Platform Config Limit"; + } + leaf platform-total-configured { + type uint32; + description + "Platform Total Configured"; + } + leaf total-hw-entries { + type uint32; + description + "Total HW Entries"; + } + leaf total-sw-entries { + type uint32; + description + "Total SW Entries"; + } + list flow { + description + "Flow Datalist"; + uses DYNFLOWS-FLOW-ENTRY; + } + } + + grouping DOMAIN-INTERFACE-LIST { + description + "LPTS Domain IFH Information"; + leaf interface-handle { + type xr:Interface-name; + description + "Interface Handle"; + } + leaf interface-name { + type string; + description + "Interface Name"; + } + leaf virtual-interface { + type boolean; + description + "Interface is Virtual"; + } + } + + grouping DOMAIN-INFO { + description + "LPTS Domain Information"; + leaf domain-name { + type string; + description + "Domain Name"; + } + leaf domain-index { + type uint8; + description + "Domain Index"; + } + leaf number-of-interfaces { + type uint32; + description + "Number of Interfaces"; + } + list interface { + description + "Interface List"; + uses DOMAIN-INTERFACE-LIST; + } + } + + grouping DOMAINS-CONFIG-DATA { + description + "LPTS Domains Data"; + leaf number-of-active-domains { + type uint8; + description + "Number of Active Domains"; + } + list domains-info { + description + "Domains Info"; + uses DOMAIN-INFO; + } + } + + grouping PIFIB-DOMAINS-DATA { + description + "LPTS interface Entry Information"; + container config-data { + description + "Domain Config Data"; + uses DOMAINS-CONFIG-DATA; + } + leaf domains-enabled { + type boolean; + description + "Domains Enabled"; + } + leaf number-of-supported-domains { + type uint32; + description + "Number of Supported Domains"; + } + } + + grouping PIFIB-SHOW-ENTRY { + description + "LPTS Pre-IFIB Entry Information"; + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vid { + type uint32; + description + "VRF ID"; + } + leaf l3protocol { + type uint32; + description + "Layer 3 Protocol"; + } + leaf l4protocol { + type uint32; + description + "Layer 4 Protocol"; + } + leaf intf-name { + type string; + description + "Interface Name"; + } + leaf intf-handle { + type uint32; + description + "Interface Handle"; + } + leaf destination-addr { + type string; + description + "Destination IP Address"; + } + leaf source-addr { + type string; + description + "Source IP Address"; + } + leaf destination-type { + type string; + description + "Destination Key Type"; + } + leaf destination-value { + type string; + description + "Destination Port/ICMP Type/IGMP Type"; + } + leaf source-port { + type string; + description + "Source port"; + } + leaf is-frag { + type uint8; + description + "Is Fragment"; + } + leaf is-syn { + type uint8; + description + "Is SYN"; + } + leaf opcode { + type string; + description + "Opcode"; + } + leaf flow-type { + type string; + description + "Flow type"; + } + leaf listener-tag { + type string; + description + "Listener Tag"; + } + leaf local-flag { + type uint8; + description + "Local Flag"; + } + leaf is-fgid { + type uint8; + description + "Is FGID or not"; + } + leaf deliver-list-short { + type string; + description + "Deliver List Short Format"; + } + leaf deliver-list-long { + type string; + description + "Deliver List Long Format"; + } + leaf min-ttl { + type uint8; + description + "Minimum TTL"; + } + leaf accepts { + type uint64; + description + "Packets matched to accept"; + } + leaf drops { + type uint64; + description + "Packets matched for drop"; + } + leaf stale { + type uint8; + description + "Is Stale"; + } + leaf pifib-type { + type uint8; + description + "sub Pre-IFIB type"; + } + leaf pifib-program-time { + type string; + description + "Creation or Update Time"; + } + leaf domain-idx { + type uint8; + description + "Domain Index"; + } + leaf domain-name { + type string; + description + "Domain Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper.yang new file mode 100644 index 000000000..786bf522b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-lpts-pre-ifib-oper.yang @@ -0,0 +1,221 @@ +module Cisco-IOS-XR-lpts-pre-ifib-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-oper"; + prefix lpts-pre-ifib-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-lpts-pre-ifib-oper-sub1 { + revision-date 2021-10-19; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pre-ifib package operational data. + + This module contains definitions + for the following management objects: + lpts-pifib: lpts pre-ifib data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-19 { + description + "LPTS HW FLow Policer datalist support."; + semver:module-version "1.2.1M"; + } + revision 2020-12-03 { + description + "LPTS HW FLow Policer Support."; + semver:module-version "1.2.0"; + } + revision 2020-06-24 { + description + "added task-name to LptsPifib class. + 2019-11-06 + LPTS Punt Policer Support. + 2019-10-23 + LPTS Punt Policer Support."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-11-26 { + description + "LPTS Domains Support."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-11-22 { + description + "Initial revision for pre-ifib oper yang."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Lpts-pifib { + type enumeration { + enum "isis" { + value 0; + description + "ISIS packets"; + } + enum "ipv4-frag" { + value 1; + description + "IPv4 fragmented packets"; + } + enum "ipv4-echo" { + value 2; + description + "IPv4 ICMP Echo packets"; + } + enum "ipv4-any" { + value 3; + description + "All IPv4 packets"; + } + enum "ipv6-frag" { + value 4; + description + "IPv6 fragmented packets"; + } + enum "ipv6-echo" { + value 5; + description + "IPv6 ICMP Echo packets"; + } + enum "ipv6-nd" { + value 6; + description + "IPv6 ND packets"; + } + enum "ipv6-any" { + value 7; + description + "All IPv6 packets"; + } + enum "bfd-any" { + value 8; + description + "BFD packets"; + } + enum "all" { + value 9; + description + "All packets"; + } + } + description + "Lpts pifib"; + } + + grouping ENTRY { + description + "Common node of type-value, shadow-entries"; + list entry { + key "entry"; + description + "Data for single pre-ifib entry"; + leaf entry { + type xr:Cisco-ios-xr-string; + description + "Single Pre-ifib entry"; + } + uses PIFIB-SHOW-ENTRY; + } + } + + container lpts-pifib { + config false; + description + "lpts pre-ifib data"; + container nodes { + description + "List of Pre-ifib Nodes"; + list node { + key "node-name"; + description + "Pre-ifib data for particular node"; + container shadow-entries { + description + "Pre-IFIB Shadow Entries (PI)"; + uses ENTRY; + } + container type-values { + description + "Type specific"; + list type-value { + key "pifib-type"; + description + "pifib types"; + leaf pifib-type { + type Lpts-pifib; + description + "Type value"; + } + uses ENTRY; + } + } + container domains { + description + "data for pre-ifib domains"; + uses PIFIB-DOMAINS-DATA; + } + container dynamic-flows-stats { + description + "Dynamic Flows Statistics"; + uses PIFIB-DYNFLOWS-DATA; + } + container punt-policer-stats { + description + "Punt Policer Statistics"; + uses PIFIB-PUNT-POLICER-DATA; + } + container pifib-hw-flow-policer-stats { + description + "Pifib HW Flow policer Statistics"; + list pifib-hw-flow-policer-stat { + key "entry"; + description + "Data for single Pifib HW Flow Policer entry"; + leaf entry { + type xr:Cisco-ios-xr-string; + description + "Single Hw Flow Policer entry"; + } + uses PIFIB-HW-FLOW-POLICER-DATA; + } + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper-sub1.yang new file mode 100644 index 000000000..44349f388 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper-sub1.yang @@ -0,0 +1,328 @@ +submodule Cisco-IOS-XR-mab-oper-sub1 { + belongs-to Cisco-IOS-XR-mab-oper { + prefix Cisco-IOS-XR-mab-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mab package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "Added fields to display AuthRetry Timeout and timer status"; + semver:module-version "1.0.0"; + } + revision 2021-11-23 { + description + "Added field to display Held Timeout and timer status"; + } + revision 2021-10-11 { + description + "New Oper Model added to support MAC Authentication Bypass feature"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MAB-CLIENT-INFO { + description + "MAB CLIENT INFO"; + leaf mac { + type string; + description + "formatted MAC Address"; + } + leaf mab-sm-state { + type string; + description + "MAB SM State"; + } + leaf time-to-next-reauth { + type string; + description + "Remaining time for next reauthentication"; + } + leaf auth-method { + type string; + description + "Authentication method"; + } + leaf reauth-timeout { + type string; + units "second"; + description + "Reauth timeout in seconds"; + } + leaf port-status { + type string; + description + "Auth Client Port Status"; + } + leaf last-authen-time { + type string; + description + "Time of previous authentication"; + } + leaf programming-status { + type string; + description + "Programming Status"; + } + leaf held-timeout { + type string; + units "second"; + description + "Held timeout in seconds and Timer status"; + } + leaf retry-timeout { + type string; + units "second"; + description + "Auth Retry timeout in seconds and Timer status"; + } + leaf time-to-next-auth-retry { + type string; + description + "Remaining time for next authentication retry"; + } + } + + grouping MAB-INTERFACE-DETAIL { + description + "MAB INTERFACE DETAIL"; + leaf interface-name { + type string; + description + "Interface Display name "; + } + leaf interface-handle { + type string; + description + "Interface handle"; + } + leaf host-mode { + type string; + description + "Host Mode"; + } + leaf port-control { + type string; + description + "Port Control"; + } + leaf punt-state { + type string; + description + "Punt State"; + } + leaf punt-summary { + type string; + description + "Punt Summary"; + } + list client { + description + "MAB client list"; + uses MAB-CLIENT-INFO; + } + } + + grouping MAB-CLIENT-AUTH-STATS { + description + "MAB CLIENT AUTH STATS"; + leaf success-count { + type uint32; + description + "Success count"; + } + leaf fail-count { + type uint32; + description + "Fail count"; + } + leaf timeout-count { + type uint32; + description + "Timeout count"; + } + leaf aaa-unreach-count { + type uint32; + description + "AAA Unreachable count"; + } + } + + grouping MAB-CLIENT-STATS { + description + "MAB CLIENT STATS"; + container auth-stats { + description + "MAB Client authentication statistics"; + uses MAB-CLIENT-AUTH-STATS; + } + leaf mac-addr { + type string; + description + "MAB Client MAC Address"; + } + } + + grouping MAB-PC-STATS { + description + "MAB PC STATS"; + leaf enable-success { + type uint32; + description + "EnableSuccess"; + } + leaf enable-fail { + type uint32; + description + "EnableFail"; + } + leaf add-client-success { + type uint32; + description + "Add Client Success"; + } + leaf add-client-fail { + type uint32; + description + "AddClientFail"; + } + leaf remove-client-success { + type uint32; + description + "Remove Client Success"; + } + leaf remove-client-fail { + type uint32; + description + "RemoveClientFail"; + } + leaf update-success { + type uint32; + description + "UpdateSuccess"; + } + leaf update-fail { + type uint32; + description + "UpdateFail"; + } + leaf punt-start-success { + type uint32; + description + "PuntStartSuccess"; + } + leaf punt-start-fail { + type uint32; + description + "PuntStartFail"; + } + leaf punt-stop-success { + type uint32; + description + "PuntStopSuccess"; + } + leaf punt-stop-fail { + type uint32; + description + "PuntStopFail"; + } + } + + grouping MAB-ML-STATS { + description + "MAB ML STATS"; + leaf rx-total { + type uint32; + description + "RxTotal"; + } + leaf rx-no-src-mac { + type uint32; + description + "RxNoSrcMac"; + } + leaf rx-no-idb { + type uint32; + description + "RxNoIdb"; + } + } + + grouping MAB-IF-STATISTICS { + description + "MAB IF STATISTICS"; + container mac-learning-stats { + description + "MAC Learning Statistics"; + uses MAB-ML-STATS; + } + container port-control-stats { + description + "Port Control Statistics"; + uses MAB-PC-STATS; + } + leaf interface-name { + type string; + description + "Interface Display name"; + } + list client-stat { + description + "MAB Clients statistics"; + uses MAB-CLIENT-STATS; + } + } + + grouping MAB-NODE-STATISTICS { + description + "MAB NODE STATISTICS"; + leaf node-name { + type string; + description + "Node Name"; + } + leaf rx-total { + type uint32; + description + "RxTotal"; + } + leaf rx-no-src-mac { + type uint32; + description + "RxNoSrcMac"; + } + leaf rx-no-idb { + type uint32; + description + "RxNoIdb"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper.yang new file mode 100644 index 000000000..247bda342 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mab-oper.yang @@ -0,0 +1,108 @@ +module Cisco-IOS-XR-mab-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mab-oper"; + prefix mab-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mab-oper-sub1 { + revision-date 2022-03-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mab package operational data. + + This module contains definitions + for the following management objects: + mab: MAB operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-14 { + description + "Added fields to display AuthRetry Timeout and timer status"; + semver:module-version "1.0.0"; + } + revision 2021-11-23 { + description + "Added field to display Held Timeout and timer status"; + } + revision 2021-10-11 { + description + "New Oper Model added to support MAC Authentication Bypass feature"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container mab { + config false; + description + "MAB operational data"; + container nodes { + description + "Node-specific MAB operational data"; + list node { + key "node-name"; + description + "MAB operational data for a particular node"; + container statistics { + description + "MAB Node Specific Statistics"; + uses MAB-NODE-STATISTICS; + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + container interfaces { + description + "List of MAB enabled interfaces"; + list interface { + key "name"; + description + "MAB enabled interface name"; + container statistics { + description + "MAB Interface Statistics"; + uses MAB-IF-STATISTICS; + } + container detail { + description + "MAB Interface Detail"; + uses MAB-INTERFACE-DETAIL; + } + leaf name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-cfg.yang new file mode 100644 index 000000000..854c4801b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-cfg.yang @@ -0,0 +1,417 @@ +module Cisco-IOS-XR-man-ems-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-ems-cfg"; + prefix man-ems-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-ems package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-grpc-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + grpc: GRPC configruation + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-26 { + description + "Added support for TTL flag"; + semver:module-version "2.0.1m"; + } + revision 2021-09-21 { + description + "Changed gRPC port range to avoid conflicts with non-Linux applications. + 2021-06-18 + Added support for local connection leaf. + 2021-05-14 + Added gRPC tunnel."; + semver:module-version "2.0.0"; + } + revision 2019-06-02 { + description + "Added support for AAA method lists."; + semver:module-version "1.2.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-02-22 { + description + "Fixed yang evaluator warnings."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Dscp { + type union { + type enumeration { + enum "default" { + value 0; + description + "Default (DSCP 000000)"; + } + enum "af11" { + value 10; + description + "AF11 (DSCP 001010)"; + } + enum "af12" { + value 12; + description + "AF12 (DSCP 001100)"; + } + enum "af13" { + value 14; + description + "AF13 (DSCP 001110)"; + } + enum "af21" { + value 18; + description + "AF21 (DSCP 010010)"; + } + enum "af22" { + value 20; + description + "AF22 (DSCP 010100)"; + } + enum "af23" { + value 22; + description + "AF23 (DSCP 010110)"; + } + enum "af31" { + value 26; + description + "AF31 (DSCP 011010)"; + } + enum "af32" { + value 28; + description + "AF32 (DSCP 011100)"; + } + enum "af33" { + value 30; + description + "AF33 (DSCP 011110)"; + } + enum "af41" { + value 34; + description + "AF41 (DSCP 100010)"; + } + enum "af42" { + value 36; + description + "AF42 (DSCP 100100)"; + } + enum "af43" { + value 38; + description + "AF43 (DSCP 100110)"; + } + enum "cs1" { + value 8; + description + "CS1 (Precedence 1) (DSCP 001000)"; + } + enum "cs2" { + value 16; + description + "CS2 (Precedence 2) (DSCP 010000)"; + } + enum "cs3" { + value 24; + description + "CS3 (Precedence 3) (DSCP 011000)"; + } + enum "cs4" { + value 32; + description + "CS4 (Precedence 4) (DSCP 100000)"; + } + enum "cs5" { + value 40; + description + "CS5 (Precedence 5) (DSCP 101000)"; + } + enum "cs6" { + value 48; + description + "CS6 (Precedence 6) (DSCP 110000)"; + } + enum "cs7" { + value 56; + description + "CS7 (Precedence 7) (DSCP 111000)"; + } + enum "ef" { + value 46; + description + "EF (DSCP 101110)"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Dscp"; + } + + typedef Grp-c-tls-cipher-default { + type enumeration { + enum "disable" { + value 1; + description + "Default disable all ciphers"; + } + enum "enable" { + value 2; + description + "Default enable all ciphers"; + } + } + description + "Grp c tls cipher default"; + } + + container grpc { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-grpc-cfg.yang which will provide + the compatible functionalities. GRPC + configruation"; + container aaa { + description + "AAA authentication and authorization for gRPC"; + container authentication { + description + "AAA authentication for gRPC"; + leaf login { + type string; + description + "AAA authentication login method list for gRPC"; + } + } + container authorization { + description + "AAA authorization for gRPC"; + leaf exec { + type string; + description + "AAA authorization exec method list for gRPC"; + } + } + } + container service-layer { + description + "Grpc Service Layer"; + leaf enable { + type empty; + description + "Enable ServiceLayer"; + } + } + container tls-cipher { + description + "TLS ciphers"; + leaf default { + type Grp-c-tls-cipher-default; + description + "Default of all ciphers."; + } + leaf enable { + type string; + description + "Enable ciphers if default is disabled."; + } + leaf disable { + type string; + description + "Disable ciphers if default is enabled."; + } + } + container tunnel { + description + "gRPC tunnels"; + container destinations { + description + "gRPC tunnel destinations"; + list destination { + key "address port"; + description + "gRPC tunnel destination"; + leaf target { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Target name to register tunnel service"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface for dialout"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF for dialout"; + } + leaf address { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "IPv4 address in dotted-quad notation, or IPv6 + address in full, mixed, shortened, and + shortened-mixed notation."; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "Destination port"; + } + } + } + } + container tls { + description + "Transport Layer Security (TLS)"; + leaf enable { + type empty; + status deprecated; + description + "Enable TLS"; + } + } + leaf port { + type uint32 { + range "57344..57999"; + } + description + "Server listening port"; + } + leaf vrf { + type string; + description + "Server vrf name"; + } + leaf max-streams { + type uint32 { + range "1..128"; + } + default "32"; + description + "Maximum number of streaming gRPCs"; + } + leaf enable { + type empty; + status deprecated; + description + "Enable GRPC"; + } + leaf ttl { + type uint32 { + range "0..255"; + } + description + "TTL settings for outgoing gRPC packets"; + } + leaf max-streams-per-user { + type uint32 { + range "1..128"; + } + default "32"; + description + "Maximum number of streaming gRPCs per user"; + } + leaf certificate-id { + type string; + description + "Active Certificate ID"; + } + leaf max-request-per-user { + type uint32 { + range "1..32"; + } + description + "Maximum concurrent requests per user"; + } + leaf no-tls { + type empty; + status deprecated; + description + "No TLS"; + } + leaf tls-trustpoint { + type string; + description + "Trustpoint Name"; + } + leaf dscp { + type Dscp; + description + "QoS marking DSCP to be set on transmitted gRPC"; + } + leaf address-family { + type string; + description + "Address family identifier type"; + } + leaf tls-mutual { + type empty; + status deprecated; + description + "TLS mutual authentication"; + } + leaf local-connection { + type empty; + status deprecated; + description + "Enable gRPC server over Unix socket"; + } + leaf max-request-total { + type uint32 { + range "1..256"; + } + description + "Maximum concurrent requests in total"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper-sub1.yang new file mode 100644 index 000000000..af7833e61 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper-sub1.yang @@ -0,0 +1,500 @@ +submodule Cisco-IOS-XR-man-ems-oper-sub1 { + belongs-to Cisco-IOS-XR-man-ems-oper { + prefix Cisco-IOS-XR-man-ems-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR man-ems package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-22 { + description + "Added certificate bundle statistics + 2021-10-20 + Added counters for load bundle + 2021-09-13 + Added status string to reflect unavailable port state."; + semver:module-version "1.2.1m"; + } + revision 2021-06-10 { + description + "Added gRPC tunnel."; + semver:module-version "1.2.0"; + } + revision 2021-03-22 { + description + "Added keep alive commands."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-22 { + description + "Fixed yang evaluator warnings."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Grpc-tunnel-status { + type enumeration { + enum "not-connected" { + value 0; + description + "Not connected"; + } + enum "connected" { + value 1; + description + "Tunnel session is connected"; + } + } + description + "Grpc tunnel status"; + } + + typedef Grpc-tls-cipher-default { + type enumeration { + enum "none" { + value 0; + description + "Not configured"; + } + enum "disable" { + value 1; + description + "Disable all ciphers"; + } + enum "enable" { + value 2; + description + "Enable all ciphers"; + } + } + description + "Grpc tls cipher default"; + } + + typedef Tls-mutual-state { + type enumeration { + enum "disabled" { + value 0; + description + "TLS mutual is disabled"; + } + enum "enabled" { + value 1; + description + "TLS mutual is enabled"; + } + } + description + "Tls mutual state"; + } + + typedef Tls-state { + type enumeration { + enum "disabled" { + value 0; + description + "TLS is disabled"; + } + enum "enabled" { + value 1; + description + "TLS is enabled"; + } + } + description + "Tls state"; + } + + typedef Af { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4"; + } + enum "ipv6" { + value 1; + description + "IPv6"; + } + enum "dual" { + value 2; + description + "Dual"; + } + } + description + "Af"; + } + + grouping GRPC-STATISTICS-INFO-B { + description + "gRPC statistics"; + leaf ct-show-cmd-txt-req-recv { + type uint64; + description + "CounterShowCmdTxtReqRecv"; + } + leaf ct-show-cmd-txt-res-sent { + type uint64; + description + "CounterShowCmdTxtResSent"; + } + leaf ct-get-config-req-recv { + type uint64; + description + "CounterGetConfigReqRecv"; + } + leaf ct-get-config-res-sent { + type uint64; + description + "CounterGetConfigResSent"; + } + leaf ct-cli-config-req-recv { + type uint64; + description + "CounterCliConfigReqRecv"; + } + leaf ct-cli-config-res-sent { + type uint64; + description + "CounterCliConfigResSent"; + } + leaf ct-merge-config-req-recv { + type uint64; + description + "CounterMergeConfigReq"; + } + leaf ct-merge-config-res-sent { + type uint64; + description + "CounterMergeConfigRes"; + } + leaf ct-commit-replace-req-recv { + type uint64; + description + "CounterCommitReplaceReq"; + } + leaf ct-commit-replace-res-sent { + type uint64; + description + "CounterCommitReplaceRes"; + } + leaf ct-delete-config-req-recv { + type uint64; + description + "CounterDeleteConfigReq"; + } + leaf ct-delete-config-res-sent { + type uint64; + description + "CounterDeleteConfigRes"; + } + leaf ct-remove-config-req-recv { + type uint64; + description + "CounterRemoveConfigReq"; + } + leaf ct-remove-config-res-sent { + type uint64; + description + "CounterRemoveConfigRes"; + } + leaf ct-replace-config-req-recv { + type uint64; + description + "CounterReplaceConfigReq"; + } + leaf ct-replace-config-res-sent { + type uint64; + description + "CounterReplaceConfigSent"; + } + leaf ct-get-oper-req-recv { + type uint64; + description + "CounterGetOperReqRecv"; + } + leaf ct-get-oper-res-sent { + type uint64; + description + "CounterGetOperResSent"; + } + leaf ct-get-current-session { + type uint32; + description + "CounterGetCurrentSession"; + } + leaf ct-commit-config-req-recv { + type uint64; + description + "CounterForHowManyCommitConfigRequests"; + } + leaf ct-commit-config-res-sent { + type uint64; + description + "CounterForHowManyCommitConfigResponses"; + } + leaf ct-action-json-req-recv { + type uint64; + description + "CounterForHowManyActionJsonRequests"; + } + leaf ct-action-json-res-sent { + type uint64; + description + "CounterForHowManyActionJsonResponses"; + } + } + + grouping GRPC-STATUS-INFO-B { + description + "gRPC status"; + leaf transport { + type string; + description + "GRPCTransport"; + } + leaf address-family { + type string; + description + "Address family : ipv4 or ipv6"; + } + leaf tls { + type string; + description + "GRPCTLS"; + } + leaf trustpoint { + type string; + description + "GRPCTrustpoint"; + } + leaf listening-port { + type int32; + description + "GRPCListeningPort"; + } + leaf vrf-socket-ns-path { + type string; + description + "VrfSocketNamespacePath"; + } + leaf max-req-per-user { + type uint32; + description + "MaxReqPerUser"; + } + leaf max-req-total { + type uint32; + description + "MaxReqTotal"; + } + leaf max-streams { + type uint32; + description + "Maximum number of streaming gRPCs"; + } + leaf max-streams-per-user { + type uint32; + description + "Maximum number of streaming gRPCs per user"; + } + leaf min-client-ka-intvl { + type uint32; + description + "Minimum client keep alive interval"; + } + leaf local-connection { + type string; + description + "gRPC Server Unix socket"; + } + } + + grouping GRPC-TUNNEL-SESSIONS { + description + "grpc tunnel session"; + leaf address-xr { + type string; + description + "Destination address"; + } + leaf status { + type Grpc-tunnel-status; + description + "Session status"; + } + leaf status-str { + type string; + description + "Status string in case of error"; + } + leaf source-interface { + type string; + description + "Source interface"; + } + leaf source-ip { + type string; + description + "Source interface ip"; + } + leaf source-vrf { + type string; + description + "Source interface vrf"; + } + leaf vrf { + type string; + description + "Configured vrf"; + } + leaf target { + type string; + description + "Target name"; + } + leaf last-connected-timestamp { + type uint64; + description + "Timestamp when session got connected"; + } + leaf last-attempted-timestamp { + type uint64; + description + "Timestamp when connection attempt was done"; + } + } + + grouping GRPC-STATE { + description + "gRPC state"; + leaf address-family { + type Af; + description + "gRPC address family"; + } + leaf port { + type uint32; + description + "gRPC port"; + } + leaf vrf { + type string; + description + "gRPC VRF"; + } + leaf tls { + type Tls-state; + description + "gRPC TLS state"; + } + leaf tls-mutual { + type Tls-mutual-state; + description + "gRPC TLS mutual"; + } + leaf trustpoint { + type string; + description + "gRPC trustpoint"; + } + leaf max-requests { + type uint32; + description + "Maximum number of requests"; + } + leaf max-requests-per-user { + type uint32; + description + "Maximum number of requests per user"; + } + leaf max-streams { + type uint32; + description + "Maximum number of streaming gRPCs"; + } + leaf max-streams-per-user { + type uint32; + description + "Maximum number of streaming gRPCs per user"; + } + leaf dscp { + type uint8; + description + "QoS marking DSCP on transmitted gRPC"; + } + leaf cipher-default { + type Grpc-tls-cipher-default; + description + "Default of all ciphers"; + } + leaf cipher-enable { + type string; + description + "Comma separated list of enable ciphers, if + cipher-default is disabled'"; + } + leaf cipher-disable { + type string; + description + "Comma separated list of disable ciphers, if + cipher-default is enabled'"; + } + leaf oper-cipher-enable { + type string; + description + "Comma separated list of enable ciphers based on + cipher default, disable, and enable"; + } + leaf oper-cipher-disable { + type string; + description + "Comma separated list of disable ciphers based on + cipher default, disable, and enable"; + } + leaf server { + type uint32; + description + "Server SHUT state"; + } + leaf server-disable-reason { + type uint32; + description + "Server SHUT reason"; + } + leaf ttl { + type uint8; + description + "TTL settings for transmitted gRPC"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper.yang new file mode 100644 index 000000000..ffc4f7ce2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ems-oper.yang @@ -0,0 +1,118 @@ +module Cisco-IOS-XR-man-ems-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-ems-oper"; + prefix man-ems-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-man-ems-oper-sub1 { + revision-date 2021-10-22; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-ems package operational data. + + This module contains definitions + for the following management objects: + grpc: grpc commands + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-22 { + description + "Added certificate bundle statistics + 2021-10-20 + Added counters for load bundle + 2021-09-13 + Added status string to reflect unavailable port state."; + semver:module-version "1.2.1m"; + } + revision 2021-06-10 { + description + "Added gRPC tunnel."; + semver:module-version "1.2.0"; + } + revision 2021-03-22 { + description + "Added keep alive commands."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-22 { + description + "Fixed yang evaluator warnings."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container grpc { + config false; + description + "grpc commands"; + container state { + description + "Grpc State"; + uses GRPC-STATE; + } + container tunnel { + description + "Grpc tunnels"; + container destinations { + description + "Grpc tunnel destinations"; + list destination { + description + "Grpc tunnel sessions"; + leaf address { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "IPv4 address in dotted-quad notation, or IPv6 + address in full, mixed, shortened, and + shortened-mixed notation."; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "Destination port"; + } + uses GRPC-TUNNEL-SESSIONS; + } + } + } + container status { + description + "Grpc Status"; + uses GRPC-STATUS-INFO-B; + } + container statistics { + description + "Grpc Statistics"; + uses GRPC-STATISTICS-INFO-B; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-http-lighttpd-yang-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-http-lighttpd-yang-cfg.yang new file mode 100644 index 000000000..69256f9dd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-http-lighttpd-yang-cfg.yang @@ -0,0 +1,84 @@ +module Cisco-IOS-XR-man-http-lighttpd-yang-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-http-lighttpd-yang-cfg"; + prefix man-http-lighttpd-yang-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-http-lighttpd-yang package configuration. + + This module contains definitions + for the following management objects: + web: Webserver configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container web { + description + "Webserver configuration commands"; + container server { + description + "Webserver configuration commands"; + container service { + description + "Web Service that needs to be activated"; + container restconf { + presence "Indicates a restconf node is configured."; + description + "Restconf specific configurations"; + leaf http-port { + type uint32; + description + "Port number http server is listening on"; + } + leaf http-enable { + type empty; + description + "Enable http connection in addition to https"; + } + leaf https-port { + type uint32; + description + "Port number https server is listening on"; + } + leaf enable { + type empty; + mandatory true; + description + "Enable RESTCONF Service"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-cfg.yang new file mode 100644 index 000000000..d48f86a61 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-cfg.yang @@ -0,0 +1,2610 @@ +module Cisco-IOS-XR-man-ipsla-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-ipsla-cfg"; + prefix man-ipsla-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-ipsla package configuration. + + This module contains definitions + for the following management objects: + ipsla: IPSLA configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-05-10 { + description + "Change in default value of lsp-selector."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipsla-secondary-frequency { + type enumeration { + enum "connection-loss" { + value 1; + description + "Enable secondary frequency for connection loss"; + } + enum "timeout" { + value 2; + description + "Enable secondary frequency for timeout"; + } + enum "both" { + value 3; + description + "Enable secondary frequency for timeout and + connection loss"; + } + } + description + "Ipsla secondary frequency"; + } + + typedef Ipsla-month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + description + "Ipsla month"; + } + + typedef Ipsla-lsp-ping-reply-mode { + type enumeration { + enum "ipv4-udp-router-alert" { + value 3; + description + "Send replies via IPv4 UDP packets with Router + Alert option"; + } + enum "control-channel" { + value 4; + description + "Send replies via a Control Channel option"; + } + } + description + "Ipsla lsp ping reply mode"; + } + + typedef Ipsla-lsp-trace-reply-mode { + type enumeration { + enum "ipv4-udp-router-alert" { + value 3; + description + "Send replies via IPv4 UDP packets with Router + Alert option"; + } + } + description + "Ipsla lsp trace reply mode"; + } + + typedef Ipsla-lsp-monitor-reply-mode { + type enumeration { + enum "ipv4-udp-router-alert" { + value 3; + description + "Send replies via IPv4 UDP packets with Router + Alert option"; + } + } + description + "Ipsla lsp monitor reply mode"; + } + + typedef Ipsla-sched { + type enumeration { + enum "pending" { + value 1; + description + "Schedule pending for later time"; + } + enum "now" { + value 2; + description + "Schedule operation now"; + } + enum "after" { + value 3; + description + "Schedule operation after specifed duration"; + } + enum "at" { + value 4; + description + "Schedule operation at specified time"; + } + } + description + "Ipsla sched"; + } + + typedef Ipsla-lsp-reply-dscp { + type union { + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp + (001000)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp + (010000)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp + (011000)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp + (100000)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp + (101000)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp + (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp + (111000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Ipsla lsp reply dscp"; + } + + typedef Ipsla-life { + type union { + type enumeration { + enum "forever" { + value 0; + description + "Schedule operation to run forever"; + } + } + type uint32 { + range "0..2147483647"; + } + } + description + "Ipsla life"; + } + + typedef Ipsla-threshold-types { + type enumeration { + enum "immediate" { + value 2; + description + "Take action immediately after threshold is + violated"; + } + enum "consecutive" { + value 3; + description + "Take action after N consecutive threshold + violations"; + } + enum "xof-y" { + value 4; + description + "Take action after X violations in Y probes"; + } + enum "average" { + value 5; + description + "Take action if average of N probes violates the + threshold"; + } + } + description + "Ipsla threshold types"; + } + + typedef Ipsla-lsp-monitor-threshold-types { + type enumeration { + enum "immediate" { + value 2; + description + "Take action immediately after threshold is + violated"; + } + enum "consecutive" { + value 3; + description + "Take action after N consecutive threshold + violations"; + } + } + description + "Ipsla lsp monitor threshold types"; + } + + typedef Ipsla-history-filter { + type enumeration { + enum "failed" { + value 2; + description + "Store data for failed operations"; + } + enum "all" { + value 255; + description + "Store data for all operations"; + } + } + description + "Ipsla history filter"; + } + + grouping TAG { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf tag { + type string { + length "1..128"; + } + description + "Add a tag for this MPLSLM instance"; + } + } + + grouping IPSLA-OP-DEF-COMMON-CFG-TAG { + description + "Common node of mpls-lsp-ping, + mpls-lsp-traceCommon node of icmp-echo, + icmp-path-echo, icmp-path-jitter, udp-echo, + udp-jitter, mpls-lsp-ping, mpls-lsp-trace"; + leaf tag { + type string { + length "1..128"; + } + description + "Add a tag for this operation"; + } + } + + grouping LSR-PATH { + description + "Common node of icmp-path-echo, icmp-path-jitter"; + container lsr-path { + presence "Indicates a lsr-path node is configured."; + description + "Loose source routing path (up to 8 intermediate + nodes)"; + leaf node1 { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 address of the intermediate node"; + } + leaf node2 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the intermediate node"; + } + leaf node3 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the intermediate node"; + } + leaf node4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the intermediate node"; + } + leaf node5 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the intermediate node"; + } + leaf node6 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the intermediate node"; + } + leaf node7 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the intermediate node"; + } + leaf node8 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the intermediate node"; + } + } + } + + grouping VERIFY-DATA { + description + "Common node of udp-echo, udp-jitter"; + leaf verify-data { + type empty; + description + "Check each IPSLA response for corruption"; + } + } + + grouping SOURCE-ADDRESS { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitter, + mpls-lsp-ping, mpls-lsp-trace"; + leaf source-address { + type string; + description + "Enter IPv4 address of the source device"; + } + } + + grouping FREQUENCY { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitter, + mpls-lsp-ping, mpls-lsp-trace"; + leaf frequency { + type uint32 { + range "1..604800"; + } + units "second"; + default "60"; + description + "Probe interval in seconds"; + } + } + + grouping DEST-ADDRESS { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitter"; + leaf dest-address { + type string; + description + "Enter IPv4 address of the destination device"; + } + } + + grouping SCAN { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + container scan { + description + "Scanning parameters configuration"; + leaf interval { + type uint32 { + range "1..70560"; + } + units "minute"; + default "240"; + description + "Time interval for automatic discovery"; + } + leaf delete-factor { + type uint32 { + range "0..2147483647"; + } + default "1"; + description + "Number of times for automatic deletion"; + } + } + } + + grouping DSCP-BITS { + description + "Common node of reply, reply"; + leaf dscp-bits { + type Ipsla-lsp-reply-dscp; + description + "DSCP bits in the reply IP header"; + } + } + + grouping THRESHOLD-TYPE { + description + "Common node of timeout, connection-loss"; + container threshold-type { + description + "Type of thresholding to perform on the monitored + element"; + leaf thresh-type { + type Ipsla-lsp-monitor-threshold-types; + description + "Type of thresholding to perform"; + } + leaf count1 { + when "../thresh-type != 'immediate'" { + description + "../ThreshType != Immediate"; + } + type uint32 { + range "1..16"; + } + description + "Probe count for consecutive"; + } + leaf count2 { + when "../thresh-type != 'immediate' and ../thresh-type != 'consecutive'" { + description + "../ThreshType != Immediate and ../ThreshType + != Consecutive"; + } + type uint32 { + range "1..16"; + } + description + "Y value, when threshold type is XofY"; + } + } + } + + grouping IPSLA-OP-REACT-CFG-THRESHOLD-TYPE { + description + "Common node of timeout, connection-lossCommon + node of timeout, verify-error, connection-loss, + jitter-average-sd, jitter-average-ds, + jitter-average, packet-loss-ds, packet-loss-sd, + rtt"; + container threshold-type { + description + "Type of thresholding to perform on the monitored + element"; + leaf thresh-type { + type Ipsla-threshold-types; + description + "Type of thresholding to perform"; + } + leaf count1 { + when "../thresh-type != 'immediate'" { + description + "../ThreshType != Immediate"; + } + type uint32 { + range "1..16"; + } + description + "Probe count for avarage, consecutive case or X + value for XofY case"; + } + leaf count2 { + when "../thresh-type != 'immediate' and ../thresh-type != 'consecutive' and ../thresh-type != 'average'" { + description + "../ThreshType != Immediate and ../ThreshType + != Consecutive and ../ThreshType != Average"; + } + type uint32 { + range "1..16"; + } + description + "Y value, when threshold type is XofY"; + } + } + } + + grouping ANY-VRF { + description + "Common node of remote-port-number, + any-remote-port"; + leaf any-vrf { + type empty; + description + "Configure any vrf name"; + } + } + + grouping STATISTICS { + description + "Common node of icmp-echo, udp-echo, udp-jitter, + mpls-lsp-ping, mpls-lsp-trace"; + container statistics { + description + "Statistics collection aggregated over an hour"; + leaf hours { + type uint32 { + range "0..25"; + } + units "hour"; + default "2"; + description + "Number of hours for which hourly statistics are + kept"; + } + leaf dist-interval { + type uint32 { + range "1..100"; + } + units "millisecond"; + default "20"; + description + "Specify distribution interval in milliseconds"; + } + leaf dist-count { + type uint32 { + range "1..20"; + } + default "1"; + description + "Count of distribution intervals maintained"; + } + } + } + + grouping IPSLA-MPLSLM-DEF-CFG-STATISTICS { + description + "Common node of icmp-echo, udp-echo, udp-jitter, + mpls-lsp-ping, mpls-lsp-traceCommon node of + mpls-lsp-ping, mpls-lsp-trace"; + container statistics { + description + "Statistics collection aggregated over an hour"; + leaf hours { + type uint32 { + range "0..2"; + } + units "hour"; + default "2"; + description + "Number of hours for which hourly statistics are + kept"; + } + } + } + + grouping TIMEOUT { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf timeout { + type uint32 { + range "1..604800000"; + } + units "millisecond"; + default "5000"; + description + "Probe/Control timeout in milliseconds"; + } + } + + grouping IPSLA-OP-DEF-COMMON-CFG-TIMEOUT { + description + "Common node of mpls-lsp-ping, + mpls-lsp-traceCommon node of icmp-echo, + icmp-path-echo, icmp-path-jitter, udp-echo, + udp-jitter, mpls-lsp-ping, mpls-lsp-trace"; + leaf timeout { + type uint32 { + range "1..604800000"; + } + units "millisecond"; + default "5000"; + description + "Probe/Control timeout in milliseconds"; + } + } + + grouping CONTROL-DISABLE { + description + "Common node of udp-echo, udp-jitter"; + leaf control-disable { + type empty; + description + "Disable control packets"; + } + } + + grouping FORCE-EXPLICIT-NULL { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf force-explicit-null { + type empty; + description + "Forced option for the MPLS LSP operation"; + } + } + + grouping IPSLA-MPLSLM-DEF-CFG-FORCE-EXPLICIT-NULL { + description + "Common node of mpls-lsp-ping, + mpls-lsp-traceCommon node of mpls-lsp-ping, + mpls-lsp-trace"; + leaf force-explicit-null { + type empty; + description + "Forced option for the MPLS LSP operation"; + } + } + + grouping REMOTE-PORT { + description + "Common node of remote-ipv4-address, + remote-ipv6-address, any-remote-ipv4-address-path + , any-remote-ipv6-address-path"; + container remote-port-numbers { + description + "Configuration of remote port"; + list remote-port-number { + key "remote-port"; + description + "Enter value of remote port"; + leaf remote-port { + type inet:port-number; + description + "Remote port"; + } + uses ANY-VRF; + uses IPSLA-RESPONDER-CFG-VRF-MP; + } + } + } + + grouping ENHANCED-STATS-TABLE { + description + "Common node of icmp-echo, udp-echo, udp-jitter, + mpls-lsp-ping"; + container enhanced-stats { + description + "Table of statistics collection intervals"; + list enhanced-stat { + key "interval"; + description + "Statistics for a specified time interval"; + leaf buckets { + type uint32 { + range "1..100"; + } + default "15"; + description + "Buckets of enhanced statistics kept"; + } + leaf interval { + type uint32 { + range "1..3600"; + } + units "second"; + description + "Interval in seconds"; + } + } + } + } + + grouping LSP-SELECTOR { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf lsp-selector { + type inet:ipv4-address-no-zone; + default "1.0.0.127"; + description + "Attributes used for path selection during LSP + load balancing"; + } + } + + grouping IPSLA-MPLSLM-DEF-CFG-LSP-SELECTOR { + description + "Common node of mpls-lsp-ping, + mpls-lsp-traceCommon node of mpls-lsp-ping, + mpls-lsp-trace"; + leaf lsp-selector { + type inet:ipv4-address-no-zone; + default "1.0.0.127"; + description + "Attributes used for path selection during LSP + load balancing"; + } + } + + grouping ACTION-TYPE { + description + "Common node of timeout, verify-error, + connection-loss, jitter-average-sd, + jitter-average-ds, jitter-average, packet-loss-ds + , packet-loss-sd, rtt"; + container action-type { + description + "Type of action to be taken on threshold + violation(s)"; + leaf logging { + type empty; + description + "Generate a syslog alarm on threshold violation"; + } + leaf trigger { + type empty; + description + "Generate trigger to active reaction triggered + operation(s)"; + } + } + } + + grouping IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE { + description + "Common node of timeout, verify-error, + connection-loss, jitter-average-sd, + jitter-average-ds, jitter-average, packet-loss-ds + , packet-loss-sd, rttCommon node of timeout, + connection-loss, lpd-tree-trace, lpd-group"; + container action-type { + description + "Type of action to be taken on threshold + violation(s)"; + leaf logging { + type empty; + description + "Generate a syslog alarm on threshold violation"; + } + } + } + + grouping REPLY { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + container reply { + description + "Echo reply options for the MPLS LSP operation"; + leaf dscp-bits { + type Ipsla-lsp-reply-dscp; + description + "DSCP bits in the reply IP header"; + } + leaf mode { + type Ipsla-lsp-monitor-reply-mode; + description + "Enables use of router alert in echo reply + packets"; + } + } + } + + grouping IPSLA-MPLSLM-DEF-CFG-CREATE { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitter, + mpls-lsp-ping, mpls-lsp-traceCommon node of + mpls-lsp-ping, mpls-lsp-trace"; + leaf create { + type empty; + description + "Create MPLSLM instance with specified type"; + } + } + + grouping IPSLA-MPLSLM-REACT-CFG-CREATE { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitter, + mpls-lsp-ping, mpls-lsp-traceCommon node of + mpls-lsp-ping, mpls-lsp-traceCommon node of + timeout, verify-error, connection-loss, + jitter-average, jitter-average-sd, + jitter-average-ds, packet-loss-sd, packet-loss-ds + , rttCommon node of timeout, connection-loss, + lpd-tree-trace, lpd-group"; + leaf create { + type empty; + description + "Create reaction condition for a particular + MPLSLM"; + } + } + + grouping TOS { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitter"; + leaf tos { + type uint32 { + range "0..255"; + } + default "0"; + description + "Type of service setting in probe packet"; + } + } + + grouping SOURCE-PORT { + description + "Common node of udp-echo, udp-jitter"; + leaf source-port { + type inet:port-number; + description + "Port number on source device"; + } + } + + grouping OUTPUT-NEXTHOP { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf output-nexthop { + type inet:ipv4-address-no-zone; + description + "Echo request output nexthop"; + } + } + + grouping IPSLA-MPLSLM-DEF-CFG-OUTPUT-NEXTHOP { + description + "Common node of mpls-lsp-ping, + mpls-lsp-traceCommon node of mpls-lsp-ping, + mpls-lsp-trace"; + leaf output-nexthop { + type inet:ipv4-address-no-zone; + description + "Echo request output nexthop"; + } + } + + grouping ACCESSLIST { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf accesslist { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Apply access list to filter PE addresses"; + } + } + + grouping OUTPUT-INTERFACE { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf output-interface { + type xr:Interface-name; + description + "Echo request output interface"; + } + } + + grouping IPSLA-OP-DEF-MPLS-LSP-CFG-OUTPUT-INTERFACE { + description + "Common node of mpls-lsp-ping, + mpls-lsp-traceCommon node of mpls-lsp-ping, + mpls-lsp-trace"; + leaf output-interface { + type xr:Interface-name; + description + "Echo request output interface"; + } + } + + grouping EXP-BITS { + description + "Common node of mpls-lsp-ping, mpls-lsp-trace"; + leaf exp-bits { + type uint32 { + range "0..7"; + } + default "0"; + description + "EXP bits in MPLS LSP echo request header"; + } + } + + grouping IPSLA-OP-DEF-MPLS-LSP-CFG-EXP-BITS { + description + "Common node of mpls-lsp-ping, + mpls-lsp-traceCommon node of mpls-lsp-ping, + mpls-lsp-trace"; + leaf exp-bits { + type uint32 { + range "0..7"; + } + default "0"; + description + "EXP bits in MPLS LSP echo reply header"; + } + } + + grouping VRF { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitter"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Configure IPSLA for a VPN Routing/Forwarding + instance)"; + } + } + + grouping IPSLA-MPLSLM-DEF-CFG-VRF { + description + "Common node of icmp-echo, icmp-path-echo, + icmp-path-jitter, udp-echo, udp-jitterCommon node + of mpls-lsp-ping, mpls-lsp-trace"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Specify a VRF instance to be monitored"; + } + } + + grouping HISTORY { + description + "Common node of icmp-echo, udp-echo, mpls-lsp-ping + , mpls-lsp-trace"; + container history { + description + "Configure the history parameters for this + operation"; + leaf lives { + type uint32 { + range "0..2"; + } + default "0"; + description + "Specify number of lives to be kept"; + } + leaf history-filter { + type Ipsla-history-filter; + description + "Choose type of data to be stored in history + buffer"; + } + leaf buckets { + type uint32 { + range "1..60"; + } + default "15"; + description + "Specify number of history buckets"; + } + } + } + + grouping ANY-REMOTE-PORT { + description + "Common node of remote-ipv4-address, + remote-ipv6-address, any-remote-ipv4-address-path + , any-remote-ipv6-address-path"; + container any-remote-port { + description + "Configuration of any remote port"; + uses ANY-VRF; + uses IPSLA-RESPONDER-CFG-VRF-MP; + } + } + + grouping IPSLA-RESPONDER-CFG-VRF-MP { + description + "Common node of remote-port-number, + any-remote-port"; + container vrf-names { + description + "Configuration of vrf"; + list vrf-name { + key "vrf-name"; + description + "Configure vrf name value"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + } + } + } + + grouping THRESHOLD-LIMITS { + description + "Common node of jitter-average-sd, + jitter-average-ds, jitter-average, packet-loss-ds + , packet-loss-sd, rtt"; + container threshold-limits { + presence "Indicates a threshold-limits node is configured."; + description + "Specify threshold limits for the monitored + element"; + leaf lower-limit { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Threshold lower limit value"; + } + leaf upper-limit { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Threshold upper limit value"; + } + } + } + + grouping DEST-PORT { + description + "Common node of udp-echo, udp-jitter"; + leaf dest-port { + type inet:port-number; + description + "Port number on target device"; + } + } + + grouping LOCAL-PORT { + description + "Common node of local-ipv4-address, + local-ipv6-address, any-local-ipv4-address-path, + any-local-ipv6-address-path"; + container local-port-numbers { + description + "Configuration of local port"; + list local-port-number { + key "local-port"; + description + "Enter value of local port"; + container remote-ip { + description + "Configure remote ip address"; + container any-remote-ipv6-address-path { + description + "Configure any ipv6 address"; + uses REMOTE-PORT; + uses ANY-REMOTE-PORT; + } + container remote-ipv4-addresses { + description + "Configure IPV4 address"; + list remote-ipv4-address { + key "remotev4-address"; + description + "Enter value of remote ipv4 address"; + leaf remotev4-address { + type xr:Cisco-ios-xr-string; + description + "Remote IPv4 address"; + } + uses REMOTE-PORT; + uses ANY-REMOTE-PORT; + } + } + container any-remote-ipv4-address-path { + description + "Configure any ipv4 address"; + uses REMOTE-PORT; + uses ANY-REMOTE-PORT; + } + container remote-ipv6-addresses { + description + "Configure IPV6 address"; + list remote-ipv6-address { + key "remotev6-address"; + description + "Enter value of remote ipv6 address"; + leaf remotev6-address { + type xr:Cisco-ios-xr-string; + description + "Remote IPv6 address"; + } + uses REMOTE-PORT; + uses ANY-REMOTE-PORT; + } + } + } + leaf local-port { + type inet:port-number; + description + "Local port"; + } + } + } + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + leaf ipsla { + type boolean; + description + "Enable SNMP RTTMON-MIB IPSLA traps"; + } + } + container ipsla { + description + "IPSLA configuration"; + container common { + description + "IPSLA application common configuration"; + container hardware-timestamp { + description + "Hardware Timestamp configuration"; + leaf disable { + type empty; + description + "states true if hw-timestamp is disabled"; + } + } + container authentication { + description + "Authenticaion configuration"; + leaf key-chain { + type string { + length "1..32"; + } + description + "Use MD5 authentication for IPSLA control + message"; + } + } + leaf low-memory { + type uint32 { + range "0..4294967295"; + } + default "20480"; + description + "Configure low memory water mark (default 20M)"; + } + } + container mpls-lsp-monitor { + description + "MPLS LSP Monitor(MPLSLM) configuration"; + container reactions { + description + "MPLSLM Reaction configuration"; + list reaction { + key "monitor-id"; + description + "Reaction configuration for an MPLSLM instance"; + container condition { + description + "Reaction condition specification"; + container lpd-tree-trace { + presence "CLI submode compatibility."; + description + "React on LPD Tree Trace violation for a + monitored MPLSLM"; + uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE; + } + container timeout { + presence "CLI submode compatibility."; + description + "React on probe timeout"; + uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE; + uses THRESHOLD-TYPE; + } + container lpd-group { + presence "CLI submode compatibility."; + description + "React on LPD Group violation for a monitored + MPLSLM"; + uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE; + } + container connection-loss { + presence "CLI submode compatibility."; + description + "React on connection loss for a monitored + MPLSLM"; + uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE; + uses THRESHOLD-TYPE; + } + } + leaf monitor-id { + type uint32 { + range "1..2048"; + } + description + "Monitor identifier"; + } + } + } + container schedules { + description + "MPLSLM schedule configuration"; + list schedule { + key "monitor-id"; + description + "Schedule an MPLSLM instance"; + container start-time { + description + "Start time of MPLSLM instance"; + leaf schedule-type { + type Ipsla-sched; + description + "Type of schedule"; + } + leaf hour { + when "../schedule-type != 'now' and ../schedule-type != 'pending'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending"; + } + type uint32 { + range "0..23"; + } + description + "Hour value(hh) in hh:mm:ss specification"; + } + leaf minute { + when "../schedule-type != 'now' and ../schedule-type != 'pending'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending"; + } + type uint32 { + range "0..59"; + } + description + "Minute value(mm) in hh:mm:ss specification"; + } + leaf second { + when "../schedule-type != 'now' and ../schedule-type != 'pending'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending"; + } + type uint32 { + range "0..59"; + } + description + "Second value(ss) in hh:mm:ss specification"; + } + leaf month { + when "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending and ../ScheduleType != After"; + } + type Ipsla-month; + description + "Month of the year (optional. Default current + month)"; + } + leaf day { + when "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending and ../ScheduleType != After"; + } + type uint32 { + range "1..31"; + } + description + "Day of the month(optional. Default today)"; + } + leaf year { + when "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending and ../ScheduleType != After"; + } + type uint32 { + range "1993..2035"; + } + description + "Year (optional. Default current year)"; + } + } + leaf frequency { + type uint32 { + range "1..604800"; + } + units "second"; + description + "Group schedule frequency of the probing"; + } + leaf period { + type uint32 { + range "1..604800"; + } + units "second"; + description + "Group schedule period range"; + } + leaf monitor-id { + type uint32 { + range "1..2048"; + } + description + "Monitor indentifier"; + } + } + } + container definitions { + description + "MPLS LSP Monitor definition table"; + list definition { + key "monitor-id"; + description + "MPLS LSP Monitor definition"; + container operation-type { + description + "Operation type specification"; + container mpls-lsp-trace { + presence "CLI submode compatibility."; + description + "Perform MPLS LSP Trace operation"; + leaf ttl { + type uint32 { + range "1..255"; + } + default "30"; + description + "Time to live value"; + } + uses EXP-BITS; + uses REPLY; + uses TAG; + uses IPSLA-MPLSLM-DEF-CFG-LSP-SELECTOR; + uses OUTPUT-INTERFACE; + uses ACCESSLIST; + uses IPSLA-MPLSLM-DEF-CFG-OUTPUT-NEXTHOP; + uses IPSLA-MPLSLM-DEF-CFG-STATISTICS; + uses TIMEOUT; + uses IPSLA-MPLSLM-DEF-CFG-FORCE-EXPLICIT-NULL; + uses SCAN; + uses IPSLA-MPLSLM-DEF-CFG-VRF; + } + container mpls-lsp-ping { + presence "CLI submode compatibility."; + description + "Perform MPLS LSP Ping operation"; + container data-size { + description + "Protocol data size in payload of probe + packets"; + leaf request { + type uint32 { + range "100..17986"; + } + units "byte"; + default "100"; + description + "Payload size in request probe packet"; + } + } + container path-discover { + presence "CLI submode compatibility."; + description + "Path discover configuration"; + container session { + description + "Session parameters configuration"; + leaf timeout { + type uint32 { + range "1..900"; + } + units "second"; + default "120"; + description + "Timeout value for path discovery request"; + } + leaf limit { + type uint32 { + range "1..15"; + } + default "1"; + description + "Number of concurrent active path + discovery requests at one time"; + } + } + container path { + description + "Path parameters configuration"; + container secondary-frequency { + presence "Indicates a secondary-frequency node is configured."; + description + "Frequency to be used if path failure + condition is detected"; + leaf type { + type Ipsla-secondary-frequency; + mandatory true; + description + "Condition type of path failure"; + } + leaf frequency { + type uint32 { + range "1..604800"; + } + units "second"; + mandatory true; + description + "Frequency value in seconds"; + } + } + leaf retry { + type uint32 { + range "1..16"; + } + default "1"; + description + "Number of attempts before declaring the + path as down"; + } + } + container echo { + description + "Echo parameters configuration"; + container multipath { + description + "Downstream map multipath settings"; + leaf bitmap-size { + type uint32 { + range "1..256"; + } + default "32"; + description + "Multipath bit size"; + } + } + leaf interval { + type uint32 { + range "0..3600000"; + } + units "millisecond"; + default "0"; + description + "Send interval between echo requests + during path discovery"; + } + leaf timeout { + type uint32 { + range "1..3600"; + } + units "second"; + default "5"; + description + "Timeout value for echo requests during + path discovery"; + } + leaf retry { + type uint32 { + range "0..10"; + } + default "3"; + description + "Number of timeout retry attempts during + path discovery"; + } + leaf maximum-lsp-selector { + type inet:ipv4-address-no-zone; + default "127.255.255.255"; + description + "Maximum IPv4 address used as destination + in echo request"; + } + } + leaf scan-period { + type uint32 { + range "0..7200"; + } + units "minute"; + default "0"; + description + "Time period for finishing path discovery"; + } + } + leaf ttl { + type uint32 { + range "1..255"; + } + default "255"; + description + "Time to live value"; + } + uses EXP-BITS; + uses REPLY; + uses TAG; + uses IPSLA-MPLSLM-DEF-CFG-LSP-SELECTOR; + uses OUTPUT-INTERFACE; + uses ACCESSLIST; + uses IPSLA-MPLSLM-DEF-CFG-OUTPUT-NEXTHOP; + uses IPSLA-MPLSLM-DEF-CFG-STATISTICS; + uses TIMEOUT; + uses IPSLA-MPLSLM-DEF-CFG-FORCE-EXPLICIT-NULL; + uses SCAN; + uses IPSLA-MPLSLM-DEF-CFG-VRF; + } + } + leaf monitor-id { + type uint32 { + range "1..2048"; + } + description + "Monitor identifier"; + } + } + } + } + container operation { + description + "IPSLA Operation configuration"; + container schedules { + description + "Schedule an operation"; + list schedule { + key "operation-id"; + description + "Operation schedule configuration"; + container start-time { + description + "Start time of the operation"; + leaf schedule-type { + type Ipsla-sched; + description + "Type of schedule"; + } + leaf hour { + when "../schedule-type != 'now' and ../schedule-type != 'pending'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending"; + } + type uint32 { + range "0..23"; + } + description + "Hour value(hh) in hh:mm:ss specification"; + } + leaf minute { + when "../schedule-type != 'now' and ../schedule-type != 'pending'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending"; + } + type uint32 { + range "0..59"; + } + description + "Minute value(mm) in hh:mm:ss specification"; + } + leaf second { + when "../schedule-type != 'now' and ../schedule-type != 'pending'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending"; + } + type uint32 { + range "0..59"; + } + description + "Second value(ss) in hh:mm:ss specification"; + } + leaf month { + when "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending and ../ScheduleType != After"; + } + type Ipsla-month; + description + "Month of the year (optional. Default current + month)"; + } + leaf day { + when "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending and ../ScheduleType != After"; + } + type uint32 { + range "1..31"; + } + description + "Day of the month(optional. Default today)"; + } + leaf year { + when "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" { + description + "../ScheduleType != Now and ../ScheduleType + != Pending and ../ScheduleType != After"; + } + type uint32 { + range "1993..2035"; + } + description + "Year(optional. Default current year)"; + } + } + leaf life { + type Ipsla-life; + units "second"; + description + "Length of the time to execute (default 3600 + seconds)"; + } + leaf ageout { + type uint32 { + range "0..2073600"; + } + units "second"; + description + "How long to keep this entry after it becomes + inactive"; + } + leaf recurring { + type empty; + description + "probe to be scheduled automatically every day"; + } + leaf operation-id { + type uint32 { + range "1..2048"; + } + description + "Operation number"; + } + } + } + container reactions { + description + "Reaction configuration"; + list reaction { + key "operation-id"; + description + "Reaction configuration for an operation"; + container condition { + description + "Reaction condition specification"; + container jitter-average-ds { + presence "CLI submode compatibility."; + description + "React on destination to source jitter + threshold violation"; + uses THRESHOLD-LIMITS; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container timeout { + presence "CLI submode compatibility."; + description + "React on probe timeout"; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container jitter-average { + presence "CLI submode compatibility."; + description + "React on average round trip jitter threshold + violation"; + uses THRESHOLD-LIMITS; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container verify-error { + presence "CLI submode compatibility."; + description + "React on error verfication violation"; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container rtt { + presence "CLI submode compatibility."; + description + "React on round trip time threshold violation"; + uses THRESHOLD-LIMITS; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container packet-loss-sd { + presence "CLI submode compatibility."; + description + "React on destination to source packet loss + threshold violation"; + uses THRESHOLD-LIMITS; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container jitter-average-sd { + presence "CLI submode compatibility."; + description + "React on average source to destination + jitter threshold violation"; + uses THRESHOLD-LIMITS; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container connection-loss { + presence "CLI submode compatibility."; + description + "React on connection loss for a monitored + operation"; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + container packet-loss-ds { + presence "CLI submode compatibility."; + description + "React on source to destination packet loss + threshold violation"; + uses THRESHOLD-LIMITS; + uses ACTION-TYPE; + uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE; + } + } + leaf operation-id { + type uint32 { + range "1..2048"; + } + description + "Operation number"; + } + } + } + container reaction-triggers { + description + "Reaction trigger configuration"; + list reaction-trigger { + key "operation-id"; + description + "Reaction trigger for an operation"; + leaf triggered-op-id { + type uint32 { + range "1..2048"; + } + description + "Operation number of the operation to be + triggered"; + } + leaf operation-id { + type uint32 { + range "1..2048"; + } + description + "Operation number of the operation generating + a trigger"; + } + } + } + container definitions { + description + "Operation definition table"; + list definition { + key "operation-id"; + description + "Operation definition"; + container operation-type { + description + "Operation type specification"; + container icmp-echo { + presence "CLI submode compatibility."; + description + "ICMPEcho Operation type"; + container data-size { + description + "Protocol data size in payload of probe + packets"; + leaf request { + type uint32 { + range "0..16384"; + } + units "byte"; + default "36"; + description + "Payload size in request probe packet"; + } + } + leaf source-address-v6 { + type string; + description + "Enter IPv6 address of the source device"; + } + leaf dest-address-v6 { + type string; + description + "Enter IPv6 address of the destination + device"; + } + uses SOURCE-ADDRESS; + uses TOS; + uses STATISTICS; + uses VRF; + uses HISTORY; + uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT; + uses FREQUENCY; + uses DEST-ADDRESS; + uses ENHANCED-STATS-TABLE; + uses IPSLA-OP-DEF-COMMON-CFG-TAG; + } + container mpls-lsp-ping { + presence "CLI submode compatibility."; + description + "MPLS LSP Ping Operation type"; + container data-size { + description + "Protocol data size in payload of probe + packets"; + leaf request { + type uint32 { + range "100..17986"; + } + default "100"; + description + "Payload size in request probe packet"; + } + } + container reply { + description + "Echo reply options for the MPLS LSP + operation"; + leaf mode { + type Ipsla-lsp-ping-reply-mode; + description + "Enables use of router alert in echo reply + packets"; + } + uses DSCP-BITS; + } + container target { + description + "Target for the MPLS LSP operation"; + container traffic-engineering { + description + "Traffic engineering target"; + leaf tunnel { + type uint32 { + range "0..65535"; + } + description + "Tunnel interface number"; + } + } + container ipv4 { + description + "Target specified as an IPv4 address"; + container fec-address { + presence "Indicates a fec-address node is configured."; + description + "Target FEC address with mask"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address for target"; + } + leaf mask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP netmask for target"; + } + } + } + container pseudowire { + description + "Pseudowire target"; + container target-address { + presence "Indicates a target-address node is configured."; + description + "Target address"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Target address"; + } + leaf vc-id { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Virtual circuit ID"; + } + } + } + } + leaf ttl { + type uint32 { + range "1..255"; + } + default "255"; + description + "Time to live value"; + } + uses SOURCE-ADDRESS; + uses OUTPUT-NEXTHOP; + uses LSP-SELECTOR; + uses STATISTICS; + uses IPSLA-OP-DEF-MPLS-LSP-CFG-EXP-BITS; + uses FORCE-EXPLICIT-NULL; + uses HISTORY; + uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT; + uses IPSLA-OP-DEF-MPLS-LSP-CFG-OUTPUT-INTERFACE; + uses FREQUENCY; + uses ENHANCED-STATS-TABLE; + uses IPSLA-OP-DEF-COMMON-CFG-TAG; + } + container udp-echo { + presence "CLI submode compatibility."; + description + "UDPEcho Operation type"; + container data-size { + description + "Protocol data size in payload of probe + packets"; + leaf request { + type uint32 { + range "16..1500"; + } + units "byte"; + default "16"; + description + "Payload size in request probe packet"; + } + } + uses SOURCE-ADDRESS; + uses TOS; + uses CONTROL-DISABLE; + uses SOURCE-PORT; + uses STATISTICS; + uses VRF; + uses HISTORY; + uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT; + uses FREQUENCY; + uses DEST-PORT; + uses VERIFY-DATA; + uses DEST-ADDRESS; + uses ENHANCED-STATS-TABLE; + uses IPSLA-OP-DEF-COMMON-CFG-TAG; + } + container mpls-lsp-trace { + presence "CLI submode compatibility."; + description + "MPLS LSP Trace Operation type"; + container target { + description + "Target for the MPLS LSP operation"; + container traffic-engineering { + description + "Traffic engineering target"; + leaf tunnel { + type uint32 { + range "0..65535"; + } + description + "Tunnel interface number"; + } + } + container ipv4 { + description + "Target specified as an IPv4 address"; + container fec-address { + presence "Indicates a fec-address node is configured."; + description + "Target FEC address with mask"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address for target"; + } + leaf mask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP netmask for target"; + } + } + } + } + container reply { + description + "Echo reply options for the MPLS LSP + operation"; + leaf mode { + type Ipsla-lsp-trace-reply-mode; + description + "Enables use of router alert in echo reply + packets"; + } + uses DSCP-BITS; + } + leaf ttl { + type uint32 { + range "1..255"; + } + default "30"; + description + "Time to live value"; + } + uses SOURCE-ADDRESS; + uses OUTPUT-NEXTHOP; + uses LSP-SELECTOR; + uses STATISTICS; + uses IPSLA-OP-DEF-MPLS-LSP-CFG-EXP-BITS; + uses FORCE-EXPLICIT-NULL; + uses HISTORY; + uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT; + uses IPSLA-OP-DEF-MPLS-LSP-CFG-OUTPUT-INTERFACE; + uses FREQUENCY; + uses IPSLA-OP-DEF-COMMON-CFG-TAG; + } + container udp-jitter { + presence "CLI submode compatibility."; + description + "UDPJitter Operation type"; + container data-size { + description + "Protocol data size in payload of probe + packets"; + leaf request { + type uint32 { + range "28..1500"; + } + units "byte"; + default "32"; + description + "Payload size in request probe packet"; + } + } + container packet { + description + "Probe packet stream configuration + parameters"; + leaf count { + type uint32 { + range "1..60000"; + } + default "10"; + description + "Number of packets to be transmitted during + a probe"; + } + leaf interval { + type uint32 { + range "1..60000"; + } + units "millisecond"; + default "20"; + description + "Packet interval in milliseconds"; + } + } + uses SOURCE-ADDRESS; + uses TOS; + uses CONTROL-DISABLE; + uses SOURCE-PORT; + uses STATISTICS; + uses VRF; + uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT; + uses FREQUENCY; + uses DEST-PORT; + uses VERIFY-DATA; + uses DEST-ADDRESS; + uses ENHANCED-STATS-TABLE; + uses IPSLA-OP-DEF-COMMON-CFG-TAG; + } + container icmp-path-echo { + presence "CLI submode compatibility."; + description + "ICMPPathEcho Operation type"; + container history { + description + "Configure the history parameters for this + operation"; + leaf samples { + type uint32 { + range "1..30"; + } + default "16"; + description + "Specify number of samples to keep"; + } + leaf buckets { + type uint32 { + range "1..60"; + } + default "15"; + description + "Specify number of history buckets"; + } + leaf history-filter { + type Ipsla-history-filter; + description + "Choose type of data to be stored in + history buffer"; + } + leaf lives { + type uint32 { + range "0..2"; + } + default "0"; + description + "Specify number of lives to be kept"; + } + } + container data-size { + description + "Protocol data size in payload of probe + packets"; + leaf request { + type uint32 { + range "0..16384"; + } + units "byte"; + default "36"; + description + "Payload size in request probe packet"; + } + } + container statistics { + description + "Statistics collection aggregated over an + hour"; + leaf paths { + type uint32 { + range "1..128"; + } + default "5"; + description + "Maximum number of paths for which + statistics are kept"; + } + leaf dist-interval { + type uint32 { + range "1..100"; + } + units "millisecond"; + default "20"; + description + "Specify distribution interval in + milliseconds"; + } + leaf dist-count { + type uint32 { + range "1..20"; + } + default "1"; + description + "Count of distribution intervals maintained"; + } + leaf hours { + type uint32 { + range "0..25"; + } + units "hour"; + default "2"; + description + "Number of hours for which hourly + statistics are kept"; + } + leaf hops { + type uint32 { + range "1..30"; + } + default "16"; + description + "Maximum hops per path for which statistics + are kept"; + } + } + uses SOURCE-ADDRESS; + uses TOS; + uses LSR-PATH; + uses VRF; + uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT; + uses FREQUENCY; + uses DEST-ADDRESS; + uses IPSLA-OP-DEF-COMMON-CFG-TAG; + } + container icmp-path-jitter { + presence "CLI submode compatibility."; + description + "ICMPPathJitter Operation type"; + container data-size { + description + "Protocol data size in payload of probe + packets"; + leaf request { + type uint32 { + range "0..16384"; + } + units "byte"; + default "36"; + description + "Payload size in request probe packet"; + } + } + container packet { + description + "Probe packet stream configuration + parameters"; + leaf count { + type uint32 { + range "1..100"; + } + default "10"; + description + "Number of packets to be transmitted during + a probe"; + } + leaf interval { + type uint32 { + range "1..60000"; + } + units "millisecond"; + default "20"; + description + "Packet interval in milliseconds"; + } + } + uses SOURCE-ADDRESS; + uses TOS; + uses LSR-PATH; + uses VRF; + uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT; + uses FREQUENCY; + uses DEST-ADDRESS; + uses IPSLA-OP-DEF-COMMON-CFG-TAG; + } + } + leaf operation-id { + type uint32 { + range "1..2048"; + } + description + "Operation number"; + } + } + } + } + container responder { + presence "CLI submode compatibility."; + description + "Responder configuration"; + container twamp { + presence "CLI submode compatibility."; + description + "Responder TWAMP configuration"; + leaf timeout { + type uint32 { + range "1..604800"; + } + units "second"; + default "900"; + description + "Configure responder timeout value in seconds"; + } + } + container type { + description + "Configure IPSLA Responder port type"; + container udp { + description + "Configure IPSLA Responder UDP address and port"; + container addresses { + description + "Configure IP address"; + list address { + key "local-address"; + description + "Configure IP address for the permanent port"; + container ports { + description + "Configure port"; + list port { + key "port"; + description + "Configure port number for the permanent + port"; + leaf port { + type inet:port-number; + description + "Port number to be enabled"; + } + } + } + leaf local-address { + type inet:ipv4-address-no-zone; + description + "IP address of the Responder"; + } + } + } + } + } + container twamp-light { + description + "Enter twamp-light session details"; + container session-ids { + description + "Create twamp-light session"; + list session-id { + key "session-id"; + description + "Configure session ID"; + container local-ip { + description + "Configure local ip address"; + container any-local-ipv4-address-path { + description + "Configure any ipv4 address"; + uses LOCAL-PORT; + } + container local-ipv6-addresses { + description + "Configure IPV6 address"; + list local-ipv6-address { + key "localv6-address"; + description + "Enter value of local ip address"; + leaf localv6-address { + type xr:Cisco-ios-xr-string; + description + "Local IPv6 address"; + } + uses LOCAL-PORT; + } + } + container any-local-ipv6-address-path { + description + "Configure any ipv6 address"; + uses LOCAL-PORT; + } + container local-ipv4-addresses { + description + "Configure IPV4 address"; + list local-ipv4-address { + key "localv4-address"; + description + "Enter value of local ipv4 address"; + leaf localv4-address { + type xr:Cisco-ios-xr-string; + description + "Local IPv4 address"; + } + uses LOCAL-PORT; + } + } + } + leaf twamp-light-timeout { + type uint32 { + range "60..86400"; + } + units "second"; + description + "Configure session timeout"; + } + leaf session-id { + type uint32 { + range "1..65535"; + } + description + "SessionID"; + } + } + } + } + } + container mpls-discovery { + description + "Provider Edge(PE) discovery configuration"; + container vpn { + description + "Layer 3 VPN PE discovery configuration"; + leaf interval { + type uint32 { + range "30..70560"; + } + units "minute"; + default "300"; + description + "Specify a discovery refresh interval"; + } + } + } + container server-twamp { + presence "CLI submode compatibility."; + description + "IPPM Server configuration"; + leaf inactivity-timer { + type uint32 { + range "1..6000"; + } + units "second"; + default "900"; + description + "Configure ippmserver inactivity timer value in + seconds"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + default "862"; + description + "Configure port number for ippmserver listening + port"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub1.yang new file mode 100644 index 000000000..bf1aa3587 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub1.yang @@ -0,0 +1,142 @@ +submodule Cisco-IOS-XR-man-ipsla-oper-sub1 { + belongs-to Cisco-IOS-XR-man-ipsla-oper { + prefix Cisco-IOS-XR-man-ipsla-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR man-ipsla package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Sla-op-types { + type enumeration { + enum "oper-icmp-echo" { + value 1; + description + "ICMP Echo"; + } + enum "oper-icmp-path-jitter" { + value 2; + description + "ICMP PathJitter"; + } + enum "oper-icmp-path-echo" { + value 4; + description + "ICMP Path Echo"; + } + enum "oper-udp-jitter" { + value 8; + description + "UDP Jitter"; + } + enum "oper-udp-echo" { + value 16; + description + "UDP Echo"; + } + enum "oper-mpls-lsp-ping" { + value 32; + description + "MPLS LSP Ping"; + } + enum "oper-mpls-lsp-trace" { + value 64; + description + "MPLS LSP Trace"; + } + enum "oper-mpls-lsp-group" { + value 128; + description + "MPLS LSP Group"; + } + } + description + "IPSLA Operation Types"; + } + + grouping IPSLA-APPLICATION-BAG { + description + "IPSLA application information"; + leaf version { + type string; + description + "Version of the IPSLA in Version.Release + .Patch-level format"; + } + leaf max-entries { + type uint32; + description + "Maximum number of entries"; + } + leaf entries-configured { + type uint32; + description + "Number of entries configured"; + } + leaf active-entries { + type uint32; + description + "Number of active entries"; + } + leaf pending-entries { + type uint32; + description + "Number of pending entries"; + } + leaf inactive-entries { + type uint32; + description + "Number of inactive entries"; + } + leaf configurable-probes { + type uint32; + description + "Number of configurable probes"; + } + leaf min-memory { + type uint32; + description + "IPSLA low memory watermark in KB"; + } + leaf hw-timestamp-disabled { + type boolean; + description + "IPSLA HW timestamp Disabled flag"; + } + leaf-list operation-type { + type Sla-op-types; + max-elements "8"; + description + "Operation types available in this IPSLA version"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub2.yang new file mode 100644 index 000000000..5e5ecb7e7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub2.yang @@ -0,0 +1,1655 @@ +submodule Cisco-IOS-XR-man-ipsla-oper-sub2 { + belongs-to Cisco-IOS-XR-man-ipsla-oper { + prefix Cisco-IOS-XR-man-ipsla-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR man-ipsla package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Op-type-enum { + type enumeration { + enum "icmp-echo" { + value 1; + description + "icmp echo"; + } + enum "icmp-path-jitter" { + value 2; + description + "icmp path jitter"; + } + enum "icmp-path-echo" { + value 4; + description + "icmp path echo"; + } + enum "udp-jitter" { + value 8; + description + "udp jitter"; + } + enum "udp-echo" { + value 16; + description + "udp echo"; + } + enum "mpls-lsp-ping" { + value 32; + description + "mpls lsp ping"; + } + enum "mpls-lsp-trace" { + value 64; + description + "mpls lsp trace"; + } + enum "mpls-lsp-group" { + value 128; + description + "mpls lsp group"; + } + } + description + "IPSLA Operation Types"; + } + + typedef Ipsla-ret-code { + type enumeration { + enum "ipsla-ret-code-unknown" { + value 0; + description + "ipsla ret code unknown"; + } + enum "ipsla-ret-code-ok" { + value 1; + description + "ipsla ret code ok"; + } + enum "ipsla-ret-code-disconnect" { + value 2; + description + "ipsla ret code disconnect"; + } + enum "ipsla-ret-code-over-threshold" { + value 3; + description + "ipsla ret code over threshold"; + } + enum "ipsla-ret-code-timeout" { + value 4; + description + "ipsla ret code timeout"; + } + enum "ipsla-ret-code-busy" { + value 5; + description + "ipsla ret code busy"; + } + enum "ipsla-ret-code-no-connection" { + value 6; + description + "ipsla ret code no connection"; + } + enum "ipsla-ret-code-dropped" { + value 7; + description + "ipsla ret code dropped"; + } + enum "ipsla-ret-code-sequence-error" { + value 8; + description + "ipsla ret code sequence error"; + } + enum "ipsla-ret-code-verify-error" { + value 9; + description + "ipsla ret code verify error"; + } + enum "ipsla-ret-code-application-specific" { + value 10; + description + "ipsla ret code application specific"; + } + enum "ipsla-ret-code-dns-server-timeout" { + value 11; + description + "ipsla ret code dns server timeout"; + } + enum "ipsla-ret-code-tcp-connect-timeout" { + value 12; + description + "ipsla ret code tcp connect timeout"; + } + enum "ipsla-ret-code-http-transaction-timeout" { + value 13; + description + "ipsla ret code http transaction timeout"; + } + enum "ipsla-ret-code-dns-query-error" { + value 14; + description + "ipsla ret code dns query error"; + } + enum "ipsla-ret-code-http-error" { + value 15; + description + "ipsla ret code http error"; + } + enum "ipsla-ret-code-internal-error" { + value 16; + description + "ipsla ret code internal error"; + } + enum "ipsla-ret-code-mpls-lsp-echo-tx-error" { + value 17; + description + "ipsla ret code mpls lsp echo tx error"; + } + enum "ipsla-ret-code-mpls-lsp-unreachable" { + value 18; + description + "ipsla ret code mpls lsp unreachable"; + } + enum "ipsla-ret-code-mpls-lsp-malformed-request" { + value 19; + description + "ipsla ret code mpls lsp malformed request"; + } + enum "ipsla-ret-code-mpls-lsp-reachable-but-not-fec" { + value 20; + description + "ipsla ret code mpls lsp reachable but not fec"; + } + enum "ipsla-ret-code-mpls-lsp-ds-map-mismatch" { + value 21; + description + "ipsla ret code mpls lsp ds map mismatch"; + } + enum "ipsla-ret-code-mpls-lsp-duplicate" { + value 22; + description + "ipsla ret code mpls lsp duplicate"; + } + enum "ipsla-ret-code-failure" { + value 23; + description + "ipsla ret code failure"; + } + enum "ipsla-ret-code-malloc-failure" { + value 24; + description + "ipsla ret code malloc failure"; + } + enum "ipsla-ret-code-sock-open-error" { + value 25; + description + "ipsla ret code sock open error"; + } + enum "ipsla-ret-code-sock-bind-error" { + value 26; + description + "ipsla ret code sock bind error"; + } + enum "ipsla-ret-code-sock-send-error" { + value 27; + description + "ipsla ret code sock send error"; + } + enum "ipsla-ret-code-sock-recv-error" { + value 28; + description + "ipsla ret code sock recv error"; + } + enum "ipsla-ret-code-sock-connect-error" { + value 29; + description + "ipsla ret code sock connect error"; + } + enum "ipsla-ret-code-sock-set-option-error" { + value 30; + description + "ipsla ret code sock set option error"; + } + enum "ipsla-ret-code-sock-attach-error" { + value 31; + description + "ipsla ret code sock attach error"; + } + enum "ipsla-ret-code-ctrl-msg-error" { + value 32; + description + "ipsla ret code ctrl msg error"; + } + enum "ipsla-ret-code-no-key-chain" { + value 33; + description + "ipsla ret code no key chain"; + } + enum "ipsla-ret-code-key-chain-lib-fail" { + value 34; + description + "ipsla ret code key chain lib fail"; + } + enum "ipsla-ret-code-no-key-id" { + value 35; + description + "ipsla ret code no key id"; + } + enum "ipsla-ret-code-invalid-key-id" { + value 36; + description + "ipsla ret code invalid key id"; + } + enum "ipsla-ret-code-entry-exist" { + value 37; + description + "ipsla ret code entry exist"; + } + enum "ipsla-ret-code-entry-not-found" { + value 38; + description + "ipsla ret code entry not found"; + } + enum "ipsla-ret-code-hop-over-max" { + value 39; + description + "ipsla ret code hop over max"; + } + enum "ipsla-ret-code-hop-dup-address" { + value 40; + description + "ipsla ret code hop dup address"; + } + enum "ipsla-ret-code-vrf-name-error" { + value 41; + description + "ipsla ret code vrf name error"; + } + enum "ipsla-ret-code-resp-failure" { + value 42; + description + "ipsla ret code resp failure"; + } + enum "ipsla-ret-code-auth-failure" { + value 43; + description + "ipsla ret code auth failure"; + } + enum "ipsla-ret-code-format-failure" { + value 44; + description + "ipsla ret code format failure"; + } + enum "ipsla-ret-code-port-in-use" { + value 45; + description + "ipsla ret code port in use"; + } + enum "ipsla-ret-code-no-route" { + value 46; + description + "ipsla ret code no route"; + } + enum "ipsla-ret-code-pending" { + value 47; + description + "ipsla ret code pending"; + } + enum "ipsla-ret-code-invalid-address" { + value 48; + description + "ipsla ret code invalid address"; + } + enum "ipsla-ret-code-max" { + value 49; + description + "ipsla ret code max"; + } + } + description + "Ipsla ret code"; + } + + typedef Ipsla-mpls-lpd-discovery-mode-enum { + type enumeration { + enum "ipsla-mpls-lpd-unknown" { + description + "ipsla mpls lpd unknown"; + } + enum "ipsla-mpls-lpd-initial-running" { + description + "ipsla mpls lpd initial running"; + } + enum "ipsla-mpls-lpd-initial-complete" { + description + "ipsla mpls lpd initial complete"; + } + enum "ipsla-mpls-lpd-rediscovery-running" { + description + "ipsla mpls lpd rediscovery running"; + } + enum "ipsla-mpls-lpd-rediscovery-complete" { + description + "ipsla mpls lpd rediscovery complete"; + } + } + description + "Ipsla mpls lpd discovery mode enum"; + } + + typedef Ipsla-mpls-lpd-path-discovery-status { + type enumeration { + enum "ipsla-mpls-lpd-path-discovery-unknown" { + description + "ipsla mpls lpd path discovery unknown"; + } + enum "ipsla-mpls-lpd-path-discovery-ok" { + description + "ipsla mpls lpd path discovery ok"; + } + enum "ipsla-mpls-lpd-path-discovery-broken" { + description + "ipsla mpls lpd path discovery broken"; + } + enum "ipsla-mpls-lpd-path-discovery-unexplorable" { + description + "ipsla mpls lpd path discovery unexplorable"; + } + } + description + "Ipsla mpls lpd path discovery status"; + } + + typedef Ipsla-mpls-lpd-ret-code { + type enumeration { + enum "ipsla-mpls-lpd-ret-code-unknown" { + value 1; + description + "ipsla mpls lpd ret code unknown"; + } + enum "ipsla-mpls-lpd-ret-code-no-path" { + value 2; + description + "ipsla mpls lpd ret code no path"; + } + enum "ipsla-mpls-lpd-ret-code-all-path-broken" { + value 3; + description + "ipsla mpls lpd ret code all path broken"; + } + enum "ipsla-mpls-lpd-ret-code-all-path-unexplorable" { + value 4; + description + "ipsla mpls lpd ret code all path unexplorable"; + } + enum "ipsla-mpls-lpd-ret-code-all-path-broken-or-unexplorable" { + value 5; + description + "ipsla mpls lpd ret code all path broken or + unexplorable"; + } + enum "ipsla-mpls-lpd-ret-code-timeout" { + value 6; + description + "ipsla mpls lpd ret code timeout"; + } + enum "ipsla-mpls-lpd-ret-code-error" { + value 7; + description + "ipsla mpls lpd ret code error"; + } + enum "ipsla-mpls-lpd-ret-code-ok" { + value 8; + description + "ipsla mpls lpd ret code ok"; + } + } + description + "Ipsla mpls lpd ret code"; + } + + typedef Ipv6addr { + type inet:ipv6-address; + description + "Ipv6addr"; + } + + typedef Ipsla-target-type-enum { + type enumeration { + enum "ipv4-address-target-type" { + value 1; + description + "IPv4 address"; + } + enum "ipv4-prefix-target-type" { + value 2; + description + "IPv4 prefix"; + } + enum "tunnel-id-target-type" { + value 3; + description + "Tunnel ID"; + } + enum "ipv4-pseudowire-target-type" { + value 4; + description + "IPv4 pseudowire"; + } + enum "ipv6-address-target-type" { + value 5; + description + "IPv6 address"; + } + } + description + "IPSLA Target Types"; + } + + typedef Ipsla-oper-state-enum { + type enumeration { + enum "ipsla-oper-state-inactive" { + value 0; + description + "ipsla oper state inactive"; + } + enum "ipsla-oper-state-pending" { + value 1; + description + "ipsla oper state pending"; + } + enum "ipsla-oper-state-active" { + value 2; + description + "ipsla oper state active"; + } + } + description + "Ipsla oper state enum"; + } + + typedef Ipsla-mpls-add-delete-enum { + type enumeration { + enum "ipsla-mpls-add-delete-add-q" { + value 1; + description + "ipsla mpls add delete add q"; + } + enum "ipsla-mpls-add-delete-delete-q" { + value 2; + description + "ipsla mpls add delete delete q"; + } + } + description + "Ipsla mpls add delete enum"; + } + + typedef Ipsla-lsp-grp-path-status-enum { + type enumeration { + enum "ipsla-lsp-grp-path-status-unknown" { + value 0; + description + "ipsla lsp grp path status unknown"; + } + enum "ipsla-lsp-grp-path-status-up" { + value 1; + description + "ipsla lsp grp path status up"; + } + enum "ipsla-lsp-grp-path-status-down" { + value 2; + description + "ipsla lsp grp path status down"; + } + enum "ipsla-lsp-grp-path-status-retry" { + value 3; + description + "ipsla lsp grp path status retry"; + } + enum "ipsla-lsp-grp-path-status-pending" { + value 4; + description + "ipsla lsp grp path status pending"; + } + } + description + "Ipsla lsp grp path status enum"; + } + + typedef Ipsla-lsp-grp-status-enum { + type enumeration { + enum "ipsla-lsp-grp-status-unknown" { + value 1; + description + "ipsla lsp grp status unknown"; + } + enum "ipsla-lsp-grp-status-up" { + value 2; + description + "ipsla lsp grp status up"; + } + enum "ipsla-lsp-grp-status-partial" { + value 3; + description + "ipsla lsp grp status partial"; + } + enum "ipsla-lsp-grp-status-down" { + value 4; + description + "ipsla lsp grp status down"; + } + enum "ipsla-lsp-grp-status-pending" { + value 5; + description + "ipsla lsp grp status pending"; + } + } + description + "Ipsla lsp grp status enum"; + } + + grouping IPSLA-LPD-PATH-STATS-BAG { + description + "IPSLA LPD Path Statistics"; + container path-id { + description + "LPD path identifier"; + uses IPSLA-LPD-PATH-ID-BAG; + } + leaf return-code { + type Ipsla-ret-code; + description + "Path return code"; + } + } + + grouping IPSLA-UDP-JITTER-SPEC-STATS-BAG { + description + "UDP Jitter Specific Statistics"; + leaf jitter-in { + type uint32; + description + "Input Jitter moving average, computed as per + RFC1889"; + } + leaf jitter-out { + type uint32; + description + "Output Jitter moving average, computed as per + RFC1889"; + } + leaf packet-loss-sd { + type uint32; + description + "Packets lost in source to destination (SD) + direction"; + } + leaf packet-loss-ds { + type uint32; + description + "Packets lost in destination to source (DS) + direction"; + } + leaf packet-out-of-sequence { + type uint32; + description + "Packets out of sequence"; + } + leaf packet-mia { + type uint32; + description + "Packets missing in action (cannot determine if + theywere lost in SD or DS direction"; + } + leaf packet-skipped { + type uint32; + description + "Packets which are skipped"; + } + leaf packet-late-arrivals { + type uint32; + description + "Packets arriving late"; + } + leaf packet-invalid-tstamp { + type uint32; + description + "Packets with bad timestamps"; + } + leaf internal-errors-count { + type uint32; + description + "Number of internal errors"; + } + leaf busies-count { + type uint32; + description + "Number of busies"; + } + leaf positive-sd-sum { + type uint32; + units "millisecond"; + description + "Sum of positive jitter values (i.e., network + latency increases for two consecutive packets) + in SD direction Measured in milliseconds"; + } + leaf positive-sd-sum2 { + type uint64; + description + "Sum of squares of positive jitter values in SD + direction"; + } + leaf positive-sd-min { + type uint32; + description + "Minimum of positive jitter values in SD + direction"; + } + leaf positive-sd-max { + type uint32; + description + "Maximum of positive jitter values in SD + direction"; + } + leaf positive-sd-count { + type uint32; + description + "Number of positive jitter values in SD direction"; + } + leaf negative-sd-sum { + type uint32; + units "millisecond"; + description + "Sum of negative jitter values (i.e., network + latency decreases for two consecutive packets) + in SD direction Measured in milliseconds"; + } + leaf negative-sd-sum2 { + type uint64; + description + "Sum of squares of negative jitter values in SD + direction"; + } + leaf negative-sd-min { + type uint32; + description + "Minimum of negative jitter values in SD + direction"; + } + leaf negative-sd-max { + type uint32; + description + "Maximum of negative jitter values in SD + direction"; + } + leaf negative-sd-count { + type uint32; + description + "Number of negative jitter values in SD direction"; + } + leaf positive-ds-sum { + type uint32; + units "millisecond"; + description + "Sum of positive jitter values (i.e., network + latency increases for two consecutive packets) + in DS direction Measured in milliseconds"; + } + leaf positive-ds-sum2 { + type uint64; + description + "Sum of squares of positive jitter values in DS + direction"; + } + leaf positive-ds-min { + type uint32; + description + "Minimum of positive jitter values in DS + direction"; + } + leaf positive-ds-max { + type uint32; + description + "Maximum of positive jitter values in DS + direction"; + } + leaf positive-ds-count { + type uint32; + description + "Number of positive jitter values in DS direction"; + } + leaf negative-ds-sum { + type uint32; + units "millisecond"; + description + "Sum of negative jitter values (i.e., network + latency decreases for two consecutive packets) + in DS direction Measured in milliseconds"; + } + leaf negative-ds-sum2 { + type uint64; + description + "Sum of squares of negative jitter values in DS + direction"; + } + leaf negative-ds-min { + type uint32; + description + "Minimum of negative jitter values in DS + direction"; + } + leaf negative-ds-max { + type uint32; + description + "Maximum of negative jitter values in DS + direction"; + } + leaf negative-ds-count { + type uint32; + description + "Number of negative jitter values in DS direction"; + } + leaf one-way-count { + type uint32; + description + "Number of probe/probe-response pairs used to + compute one-way statistics"; + } + leaf one-way-sd-min { + type uint32; + description + "Minimum of one-way jitter values in SD direction + (msec)"; + } + leaf one-way-sd-max { + type uint32; + description + "Maximum of one-way jitter values in SD direction + (msec)"; + } + leaf one-way-sd-sum { + type uint32; + description + "Sum of one-way jitter values in SD direction + (msec)"; + } + leaf one-way-sd-sum2 { + type uint64; + description + "Sum of squares of one-way jitter values in SD + direction (msec)"; + } + leaf one-way-ds-min { + type uint32; + description + "Minimum of one-way jitter values in DS direction + (msec)"; + } + leaf one-way-ds-max { + type uint32; + description + "Maximum of one-way jitter values in DS direction + (msec)"; + } + leaf one-way-ds-sum { + type uint32; + description + "Sum of one-way jitter values in DS direction + (msec)"; + } + leaf one-way-ds-sum2 { + type uint64; + description + "Sum of squares of the OneWayMinDS and + OneWayMaxDS values (msec)"; + } + } + + grouping IPSLA-ICMP-PATH-JITTER-SPEC-STATS-BAG { + description + "ICMP Path Jitter Statistics for a Hop"; + leaf source-address { + type inet:ipv4-address; + description + "IP Address of the source"; + } + leaf dest-address { + type inet:ipv4-address; + description + "IP Address of the destination"; + } + leaf hop-address { + type inet:ipv4-address; + description + "IP address of the hop in the path"; + } + leaf packet-interval { + type uint32; + description + "Interval between echos in ms"; + } + leaf response-time-count { + type uint32; + description + "Number of RTT samples used for the statistics"; + } + leaf response-time { + type uint32; + description + "RTT"; + } + leaf min-response-time { + type uint32; + description + "Minimum RTT"; + } + leaf max-response-time { + type uint32; + description + "Maximum RTT"; + } + leaf sum-response-time { + type uint32; + description + "Sum of RTT"; + } + leaf sum2-response-time { + type uint64; + description + "Sum of RTT^2"; + } + leaf packet-count { + type uint32; + description + "Number of Echo replies received "; + } + leaf packet-loss-count { + type uint32; + description + "Number of packets lost"; + } + leaf out-of-sequence-count { + type uint32; + description + "Number of out of sequence packets"; + } + leaf discarded-sample-count { + type uint32; + description + "Number of discarded samples"; + } + leaf verify-errors-count { + type uint32; + description + "Number of packets with data corruption"; + } + leaf dropped-error-count { + type uint32; + description + "Number of packets dropped"; + } + leaf jitter { + type uint32; + description + "Jitter value for this node in the path"; + } + leaf pos-jitter-sum { + type uint32; + description + "Sum of positive jitter value"; + } + leaf pos-jitter-sum2 { + type uint64; + description + "Sum of squares of positive jitter values"; + } + leaf pos-jitter-min { + type uint32; + description + "Minimum positive jitter value"; + } + leaf pos-jitter-max { + type uint32; + description + "Maximum positive jitter value"; + } + leaf pos-jitter-count { + type uint32; + description + "Number of positive jitter values"; + } + leaf neg-jitter-sum { + type uint32; + description + "Sum of negative jitter values"; + } + leaf neg-jitter-min { + type uint32; + description + "Minimum negative jitter value"; + } + leaf neg-jitter-max { + type uint32; + description + "Maximum negative jitter value"; + } + leaf neg-jitter-sum2 { + type uint64; + description + "Sum of squares of negative jitter values"; + } + leaf neg-jitter-count { + type uint32; + description + "Number of negative jitter values"; + } + } + + grouping IPSLA-UNION-STATS-BAG { + description + "IPSLA UNION STATS BAG"; + container icmp-path-jitter-stats { + when "../op-type = 'icmp-path-jitter'" { + description + "../op_type = 'ICMPPathJitter'"; + } + description + "icmp path jitter stats"; + uses IPSLA-ICMP-PATH-JITTER-SPEC-STATS-BAG; + } + container udp-jitter-stats { + when "../op-type = 'udp-jitter'" { + description + "../op_type = 'UDPJitter'"; + } + description + "udp jitter stats"; + uses IPSLA-UDP-JITTER-SPEC-STATS-BAG; + } + leaf op-type { + type Op-type-enum; + description + "op type"; + } + } + + grouping IPSLA-COMMON-STATS-BAG { + description + "IPSLA Common Stats"; + leaf operation-time { + type uint64; + description + "Operation Time"; + } + leaf return-code { + type Ipsla-ret-code; + description + "Return code"; + } + leaf response-time-count { + type uint32; + description + "Number of RTT samples used for the statistics"; + } + leaf response-time { + type uint32; + description + "RTT"; + } + leaf min-response-time { + type uint32; + description + "Minimum RTT"; + } + leaf max-response-time { + type uint32; + description + "Maximum RTT"; + } + leaf sum-response-time { + type uint32; + description + "Sum of RTT"; + } + leaf sum2-response-time { + type uint64; + description + "Sum of RTT^2"; + } + leaf update-count { + type uint32; + description + "Number of updates processed"; + } + leaf ok-count { + type uint32; + description + "Number of updates with Okay return code"; + } + leaf disconnect-count { + type uint32; + description + "Number of updates with Disconnected return code"; + } + leaf timeout-count { + type uint32; + description + "Number of updates with Timeout return code"; + } + leaf busy-count { + type uint32; + description + "Number of updates with Busy return code"; + } + leaf no-connection-count { + type uint32; + description + "Number of updates with NotConnected return code"; + } + leaf dropped-count { + type uint32; + description + "Number of updates with Dropped return code"; + } + leaf internal-error-count { + type uint32; + description + "Number of updates with InternalError return code"; + } + leaf sequence-error-count { + type uint32; + description + "Number of updates with SeqError return code"; + } + leaf verify-error-count { + type uint32; + description + "Number of updates with VerifyError return code"; + } + } + + grouping IPSLA-GLOBAL-STATS-BAG { + description + "Global Statistics Bag"; + container common-stats { + description + "Common Stats"; + uses IPSLA-COMMON-STATS-BAG; + } + container specific-stats { + description + "Operation Specific Stats"; + uses IPSLA-UNION-STATS-BAG; + } + } + + grouping IPSLA-HISTORY-BAG { + description + "IP SLA history data bag"; + container target-address { + description + "Target for the operation"; + uses IPSLA-TARGET-UNION; + } + leaf start-time { + type uint64; + description + "Sample Start Time expressed in msec since00:00 + :00 UTC, January 1, 1970"; + } + leaf response-time { + type uint32; + units "millisecond"; + description + "Round Trip Time (milliseconds)"; + } + leaf return-code { + type Ipsla-ret-code; + description + "Response Return Code"; + } + } + + grouping IPSLA-LPD-STATE-BAG { + description + "IPSLA LPD State"; + container target-address { + description + "Target for LPD"; + uses IPSLA-TARGET-UNION; + } + leaf monitor-id { + type uint32; + description + "MPLSLM monitor ID"; + } + leaf discovery-mode { + type Ipsla-mpls-lpd-discovery-mode-enum; + description + "Latest LPD mode"; + } + leaf start-time { + type uint64; + description + "Latest start time"; + } + leaf return-code { + type Ipsla-mpls-lpd-ret-code; + description + "Latest return code"; + } + leaf completion-time { + type uint32; + description + "Latest completion time"; + } + leaf path-count { + type uint32; + description + "Number of discovered paths"; + } + } + + grouping IPSLA-LPD-PATH-STATE-BAG { + description + "IPSLA LPD Path State"; + container path-id { + description + "LPD path identifier"; + uses IPSLA-LPD-PATH-ID-BAG; + } + leaf path-status { + type Ipsla-mpls-lpd-path-discovery-status; + description + "Path status"; + } + } + + grouping IPSLA-IPV4-PW { + description + "IPSLA IPv4 Pseudowire Target"; + leaf address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf virtual-circuit-id { + type uint32; + description + "Virtual circuit ID"; + } + } + + grouping IPSLA-TUNNEL-ID { + description + "IPSLA Tunnel ID Target"; + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + } + + grouping IPSLA-IPV4-PREFIX { + description + "IPSLA IPv4 Prefix Target"; + leaf address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf mask-length { + type uint8; + description + "Mask length"; + } + } + + grouping IPSLA-TARGET-UNION { + description + "IPSLA TARGET UNION"; + container ipv4-prefix-target { + when "../target-type = 'ipv4-prefix-target-type'" { + description + "../TargetType = 'IPv4PrefixTargetType'"; + } + description + "IPv4 prefix target"; + uses IPSLA-IPV4-PREFIX; + } + container tunnel-id-target { + when "../target-type = 'tunnel-id-target-type'" { + description + "../TargetType = 'TunnelIDTargetType'"; + } + description + "Tunnel ID target"; + uses IPSLA-TUNNEL-ID; + } + container ipv4-pseudowire-target { + when "../target-type = 'ipv4-pseudowire-target-type'" { + description + "../TargetType = 'IPv4PseudowireTargetType'"; + } + description + "IPv4 pseudowire target"; + uses IPSLA-IPV4-PW; + } + leaf target-type { + type Ipsla-target-type-enum; + description + "TargetType"; + } + leaf ipv4-address-target { + when "../target-type = 'ipv4-address-target-type'" { + description + "../TargetType = 'IPv4AddressTargetType'"; + } + type inet:ipv4-address; + description + "IPv4 address target"; + } + leaf ipv6-address-target { + when "../target-type = 'ipv6-address-target-type'" { + description + "../TargetType = 'IPv6AddressTargetType'"; + } + type Ipv6addr; + description + "IPv6 address target"; + } + } + + grouping IPSLA-LPD-STATS-BAG { + description + "IPSLA LPD Statistics"; + container target-address { + description + "LPD target"; + uses IPSLA-TARGET-UNION; + } + leaf start-time { + type uint64; + description + "LPD start time"; + } + leaf return-code { + type Ipsla-mpls-lpd-ret-code; + description + "LPD return code"; + } + leaf completion-time-count { + type uint32; + description + "Number of CompT samples"; + } + leaf completion-time { + type uint32; + description + "LPD Completion time"; + } + leaf min-completion-time { + type uint32; + description + "Minimum CompT"; + } + leaf max-completion-time { + type uint32; + description + "Maximum CompT"; + } + leaf sum-completion-time { + type uint32; + description + "Sum of CompT"; + } + leaf path-count { + type uint32; + description + "Number of paths"; + } + leaf min-path-count { + type uint32; + description + "Minimum number of paths"; + } + leaf max-path-count { + type uint32; + description + "Maximum number of paths"; + } + leaf ok-count { + type uint32; + description + "Number of successes"; + } + leaf no-path-count { + type uint32; + description + "Number of failures due to no path"; + } + leaf all-paths-broken-count { + type uint32; + description + "Number of failures due to all paths broken"; + } + leaf all-paths-unexplorable-count { + type uint32; + description + "Number of failures due to all paths unexplorable"; + } + leaf all-paths-broken-or-unexplorable-count { + type uint32; + description + "Number of failures due to all paths broken or + unexplorable"; + } + leaf timeout-count { + type uint32; + description + "Number of failures due to timeout"; + } + leaf internal-error-count { + type uint32; + description + "Number of failures due to internal error"; + } + leaf unknown-count { + type uint32; + description + "Number of failures due to unknown cause"; + } + } + + grouping IPSLA-OPER-STATE-BAG { + description + "IPSLA Operation State"; + leaf modification-time { + type uint64; + description + "Last modification time of the operation + expressed in msec since 00:00:00 UTC, January 1, + 1970"; + } + leaf start-time { + type uint64; + description + "Last start time of the operation expressedin + msec since 00:00:00 UTC, January 1, 1970"; + } + leaf attempt-count { + type uint32; + description + "Number of data collection attempts"; + } + leaf skipped-count { + type uint32; + description + "Number of data collection cycles skipped"; + } + leaf life-remaining { + type uint32; + units "second"; + description + "Number of seconds left in current life"; + } + leaf frequency { + type uint32; + description + "Number of configured frequency Default 60 "; + } + leaf recurring { + type boolean; + description + "For recurring operation configured"; + } + leaf operational-state { + type Ipsla-oper-state-enum; + description + "Operational state"; + } + leaf flags { + type uint32; + description + "Internal flags"; + } + leaf local-port { + type uint16; + description + "Cached local port"; + } + leaf unexpected-packets { + type uint32; + description + "Unexpected probe pkts punted from LPTS"; + } + leaf unexpected-control-packets { + type uint32; + description + "Unexpected control pkts puntedfrom LPTS"; + } + leaf operation-time { + type uint64; + description + "Start time of current instance of the operation"; + } + } + + grouping IPSLA-DISCOVERY-PREFIX-BAG { + description + "IPSLA MPLS PE Discovery Prefix"; + leaf target-address { + type inet:ipv4-address; + description + "PE target address"; + } + leaf target-mask { + type uint32; + description + "PE target mask length"; + } + } + + grouping IPSLA-DISCOVERY-VRF-BAG { + description + "IPSLA MPLS PE Discovery VRF"; + leaf prefix-count { + type uint32; + description + "Number of prefixes in VRF"; + } + } + + grouping IPSLA-DISCOVERY-STATE-BAG { + description + "IPSLA MPLS PE Discovery State"; + leaf refresh-remaining { + type uint32; + units "second"; + description + "Number of seconds left before next refresh"; + } + } + + grouping IPSLA-MPLSLM-SCAN-QUEUE-BAG { + description + "IPSLA MPLSLM Scan Queue Entry"; + leaf target-address { + type inet:ipv4-address; + description + "PE target address"; + } + leaf target-mask { + type uint32; + description + "PE target mask length"; + } + leaf entry { + type Ipsla-mpls-add-delete-enum; + description + "PE addition or deletion"; + } + } + + grouping IPSLA-LPD-PATH-ID-BAG { + description + "IPSLA LPD Path Identifier"; + leaf lsp-selector { + type inet:ipv4-address; + description + "LSP selector"; + } + leaf output-interface { + type xr:Interface-name; + description + "Output interface"; + } + leaf nexthop-address { + type inet:ipv4-address; + description + "Nexthop address"; + } + leaf-list downstream-label { + type uint32; + max-elements "10"; + description + "Downstream label stacks"; + } + } + + grouping IPSLA-MPLSLM-OP-PATH-STATE-BAG { + description + "IPSLA MPLSLM Operation Path State"; + container path-id { + description + "LPD path identifier"; + uses IPSLA-LPD-PATH-ID-BAG; + } + leaf path-status { + type Ipsla-lsp-grp-path-status-enum; + description + "Latest path status"; + } + leaf operation-time { + type uint64; + description + "Latest operation time"; + } + leaf response-time { + type uint32; + description + "Latest RTT"; + } + leaf success-count { + type uint32; + description + "Number of path successes"; + } + leaf failure-count { + type uint32; + description + "Number of path failures"; + } + } + + grouping IPSLA-MPLSLM-OP-STATE-BAG { + description + "IPSLA MPLSLM Operation State"; + leaf target-address { + type inet:ipv4-address; + description + "PE target address"; + } + leaf target-mask { + type uint32; + description + "PE target mask length"; + } + leaf group-status { + type Ipsla-lsp-grp-status-enum; + description + "Latest LSP group status"; + } + leaf operation-time { + type uint64; + description + "Latest operation time"; + } + } + + grouping IPSLA-MPLSLM-STATE-BAG { + description + "IPSLA MPLSLM State"; + leaf scan-remaining { + type uint32; + units "second"; + description + "Number of seconds left before next scan for + addition (0xffffffff means the timer is not + running)"; + } + leaf delete-scan-remaining { + type uint32; + units "second"; + description + "Number of seconds left before next scan for + deletion (0xffffffff means the timer is not + running)"; + } + leaf rediscovery-remaining { + type uint32; + units "second"; + description + "Number of seconds left before next path + discovery (0xffffffff means the timer is not + running)"; + } + leaf lpd-compeletion-time { + type uint32; + units "second"; + description + "LPD completion time (seconds) for the entire set + of PEs which are discovered in this MPLSLM + instance (0xffffffff means LPD is never + completed yet)"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub3.yang new file mode 100644 index 000000000..48f5f9994 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper-sub3.yang @@ -0,0 +1,137 @@ +submodule Cisco-IOS-XR-man-ipsla-oper-sub3 { + belongs-to Cisco-IOS-XR-man-ipsla-oper { + prefix Cisco-IOS-XR-man-ipsla-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR man-ipsla package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping IPSLA-RESP-SENDER-BAG { + description + "IPSLA sender id"; + leaf ip-address { + type inet:ipv4-address; + description + "IP address of Sender"; + } + leaf port { + type uint16; + description + "Port on which Sender is sending"; + } + leaf last-recv-time { + type uint64; + description + "Last received time"; + } + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 address of Sender"; + } + } + + grouping IPSLA-RESP-PORT-INFO-BAG { + description + "IPSLA Responder active ports information"; + leaf port-xr { + type uint16; + description + "Port on which Responder is listening"; + } + leaf local-address { + type inet:ipv4-address; + description + "IP address of Responder"; + } + leaf num-probes { + type uint32; + description + "Number of probes received from remote end"; + } + leaf ctrl-probes { + type uint32; + description + "Number of control probes received from remote + end"; + } + leaf permanent { + type boolean; + description + "Port type if this is permanent or dynamic port"; + } + leaf discard-on { + type boolean; + description + "Current discard socket option flag for the port"; + } + leaf pd-time-stamp-failed { + type boolean; + description + "PD Timestamp failure"; + } + leaf is-ipsla { + type boolean; + description + "IPSLA or TWAMP protocol"; + } + leaf drop-counter { + type uint32; + description + "Drop counter for the Responder port"; + } + leaf socket { + type int32; + description + "Socket"; + } + leaf local-ipv6-address { + type inet:ipv6-address; + description + "IPv6 address of Responder"; + } + leaf family { + type int32; + description + "Represent if v4 or v6"; + } + list sender { + description + "List of senders"; + uses IPSLA-RESP-SENDER-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper.yang new file mode 100644 index 000000000..2c55345bb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-ipsla-oper.yang @@ -0,0 +1,685 @@ +module Cisco-IOS-XR-man-ipsla-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-ipsla-oper"; + prefix man-ipsla-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-man-ipsla-oper-sub3 { + revision-date 2019-04-05; + } + include Cisco-IOS-XR-man-ipsla-oper-sub2 { + revision-date 2019-04-05; + } + include Cisco-IOS-XR-man-ipsla-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-ipsla package operational data. + + This module contains definitions + for the following management objects: + ipsla: IPSLA operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipsla-hour-index { + type uint32; + description + "Ipsla hour index"; + } + + typedef Ipsla-operation-id { + type uint32; + description + "Ipsla operation id"; + } + + typedef Ipsla-distribution-index { + type uint32; + description + "Ipsla distribution index"; + } + + typedef Ipsla-bucket-index { + type uint32; + description + "Ipsla bucket index"; + } + + typedef Ipsla-lsp-monitor-id { + type uint32; + description + "Ipsla lsp monitor id"; + } + + typedef Ipsla-lpd-path-index { + type uint32; + description + "Ipsla lpd path index"; + } + + typedef Ipsla-hop-index { + type uint32; + description + "Ipsla hop index"; + } + + typedef Ipsla-life-index { + type uint32; + description + "Ipsla life index"; + } + + typedef Ipsla-path-index { + type uint32; + description + "Ipsla path index"; + } + + typedef Ipsla-sample-index { + type uint32; + description + "Ipsla sample index"; + } + + typedef Ipsla-enhanced-interval { + type uint32; + description + "Ipsla enhanced interval"; + } + + grouping DISTRIBUTION-INTERVAL-TABLE { + description + "Common node of target, hop"; + container distribution-intervals { + description + "Table of distribution intervals for a particular + hop"; + list distribution-interval { + key "distribution-index"; + description + "1-hour aggregated statistics for a hop in a + path-enabled operation"; + leaf distribution-index { + type Ipsla-distribution-index; + description + "Distribution Interval"; + } + uses IPSLA-GLOBAL-STATS-BAG; + } + } + } + + container ipsla { + config false; + description + "IPSLA operational data"; + container mpls-data { + description + "MPLS operational data"; + container lsp-monitors { + description + "List of MPLS LSP Monitor instances"; + list lsp-monitor { + key "monitor-id"; + description + "Operational data for MPLS LSP Monitor"; + container state { + description + "Operational state of MPLS LSP Monitor"; + uses IPSLA-MPLSLM-STATE-BAG; + } + container operations { + description + "List of operations in MPLS LSP Monitor"; + list operation { + key "operation-id"; + description + "Operation created in MPLS LSP Monitor"; + container state { + description + "Operational state of the created operation"; + uses IPSLA-MPLSLM-OP-STATE-BAG; + } + container lpd-paths { + description + "List of LPD paths in MPLS LPD group + operation"; + list lpd-path { + key "path-index"; + description + "Operational state of LPD path in MPLS LSP + Group operation"; + leaf path-index { + type Ipsla-lpd-path-index; + description + "LPD path index"; + } + uses IPSLA-MPLSLM-OP-PATH-STATE-BAG; + } + } + leaf operation-id { + type Ipsla-operation-id; + description + "Operation ID"; + } + } + } + container scan-queues { + description + "List of Scan Queue entries in MPLS LSP + Monitor"; + list scan-queue { + key "address"; + description + "Provider Edge(PE) addition or deletion + requests in Scan Queue"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Nexthop Address"; + } + uses IPSLA-MPLSLM-SCAN-QUEUE-BAG; + } + } + leaf monitor-id { + type Ipsla-lsp-monitor-id; + description + "Monitor ID"; + } + } + } + container discovery { + description + "Provider Edge(PE) discovery operational data"; + container vpn { + description + "L3 VPN PE discovery operational data"; + container state { + description + "Operational state of PE discovery"; + uses IPSLA-DISCOVERY-STATE-BAG; + } + container nexthops { + description + "List of nexthop addresses for remote PE + routers"; + list nexthop { + key "address"; + description + "Nexthop address for remote PE router"; + container vrfs { + description + "List of VRFs for the nexthop address"; + list vrf { + key "vrf-name"; + description + "VRF information of the nexthop address"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + uses IPSLA-DISCOVERY-VRF-BAG; + } + } + container prefix { + description + "Prefix of the nexthop address"; + uses IPSLA-DISCOVERY-PREFIX-BAG; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Nexthop Address"; + } + } + } + } + } + } + container responder { + description + "Data from responder probe handling"; + container ports { + description + "Statistics maintained by responder"; + list port { + key "port"; + description + "Port data"; + leaf port { + type inet:port-number; + description + "Port"; + } + uses IPSLA-RESP-PORT-INFO-BAG; + } + } + } + container operation-data { + description + "Operations data"; + container operations { + description + "Configured operations"; + list operation { + key "operation-id"; + description + "Operational data for an operation"; + container common { + description + "Common data for all operation types"; + container operational-state { + description + "Operational state for an operation"; + uses IPSLA-OPER-STATE-BAG; + } + } + container lpd { + description + "LPD operational data of MPLS LSP group + operation"; + container statistics { + description + "Statistics collected for LPD group"; + container latest { + description + "LPD statistics collected during the last + sampling cycle"; + container target { + description + "Latest statistics of LPD group"; + uses IPSLA-LPD-STATS-BAG; + } + } + container aggregated { + description + "Statistics aggregated for LPD group + collected over time intervals"; + container hours { + description + "Table of LPD statistics aggregated over + 1-hour intervals"; + list hour { + key "hour-index"; + description + "LPD statistics aggregated for a 1-hour + interval"; + leaf hour-index { + type Ipsla-hour-index; + description + "Hour Index"; + } + uses IPSLA-LPD-STATS-BAG; + } + } + } + } + container status { + description + "Operational status of LPD group"; + container lpd-paths { + description + "Operational path state in LPD group"; + list lpd-path { + key "path-index"; + description + "Current operational path state in LPD + group"; + leaf path-index { + type Ipsla-lpd-path-index; + description + "LPD path index"; + } + uses IPSLA-LPD-PATH-STATE-BAG; + } + } + container state { + description + "Operational status of LPD group"; + uses IPSLA-LPD-STATE-BAG; + } + } + } + container history { + description + "Historical data for an operation"; + container path { + description + "Historical data with multiple hops along the + path"; + container lifes { + description + "Tables of lives for an operation"; + list life { + key "life-index"; + description + "History data for a particular life of the + operation"; + container buckets { + description + "Table of history buckets (samples) for a + particular operation"; + list bucket { + key "bucket-index"; + description + "History bucket for an operation"; + container samples { + description + "Table of samples for a particular cycle"; + list sample { + key "sample-index"; + description + "Data sample for particular cycle"; + leaf sample-index { + type Ipsla-sample-index; + description + "Sample Index"; + } + uses IPSLA-HISTORY-BAG; + } + } + leaf bucket-index { + type Ipsla-bucket-index; + description + "Bucket Index"; + } + } + } + leaf life-index { + type Ipsla-life-index; + description + "Life Index"; + } + } + } + } + container target { + description + "Historical data for the destination node"; + container lifes { + description + "Tables of lives for an operation"; + list life { + key "life-index"; + description + "Operational data for a particular life of + the operation"; + container buckets { + description + "Table of history buckets (samples) for a + particular operation"; + list bucket { + key "bucket-index"; + description + "History bucket for an operation"; + leaf bucket-index { + type Ipsla-bucket-index; + description + "Bucket Index"; + } + uses IPSLA-HISTORY-BAG; + } + } + leaf life-index { + type Ipsla-life-index; + description + "Life Index"; + } + } + } + } + } + container statistics { + description + "Statistics collected for an operation"; + container latest { + description + "Statistics collected during the last + sampling cycle of the operation"; + container target { + description + "Latest statistics for the target node"; + uses IPSLA-GLOBAL-STATS-BAG; + } + container hops { + description + "Latest statistics for hops in a + path-enabled operation"; + list hop { + key "hop-index"; + description + "Latest stats for a hop in a path-enabled + operation"; + leaf hop-index { + type Ipsla-hop-index; + description + "Hop Index"; + } + uses IPSLA-GLOBAL-STATS-BAG; + } + } + container lpd-paths { + description + "List of latest LPD paths"; + list lpd-path { + key "path-index"; + description + "Latest path statistics of MPLS LSP group + operation"; + leaf path-index { + type Ipsla-lpd-path-index; + description + "LPD path index"; + } + uses IPSLA-LPD-PATH-STATS-BAG; + } + } + } + container aggregated { + description + "Statistics aggregated for data collected + over time intervals"; + container enhanced-intervals { + description + "Table of statistics aggregated over + enhanced intervals"; + list enhanced-interval { + key "enhanced-interval"; + description + "Statistics aggregated over an interval + specified in seconds. Specified interval + must be a multiple of the operation + frequency"; + container start-times { + description + "Table of start times for the intervals"; + list start-time { + key "interval-start-time"; + description + "Statistics aggregated over an enhanced + interval which starts at a specific time"; + leaf interval-start-time { + type xr:Cisco-ios-xr-string; + description + "Interval Start Time"; + } + uses IPSLA-GLOBAL-STATS-BAG; + } + } + leaf enhanced-interval { + type Ipsla-enhanced-interval; + units "second"; + description + "Enhanced Interval in seconds"; + } + } + } + container hours { + description + "Table of statistics aggregated over 1-hour + intervals"; + list hour { + key "hour-index"; + description + "Statistics aggregated for a 1-hour + interval"; + container distributed { + description + "Statistics aggregated on distribution + value intervals for in 1-hour intervals"; + container paths { + description + "Table of paths identified in the 1-hour + interval"; + list path { + key "path-index"; + description + "Paths identified in a 1-hour interval"; + container hops { + description + "Table of hops for a particular path"; + list hop { + key "hop-index"; + description + "1-hour aggregated statistics for a + hop in a path-enabled operation"; + leaf hop-index { + type Ipsla-hop-index; + description + "Hop Index"; + } + uses DISTRIBUTION-INTERVAL-TABLE; + } + } + leaf path-index { + type Ipsla-path-index; + description + "Path Index"; + } + } + } + container target { + description + "Distribution statistics for the target + node"; + uses DISTRIBUTION-INTERVAL-TABLE; + } + } + container non-distributed { + description + "Statistics aggregated for the total range + of values in 1-hour intervals"; + container target { + description + "Total 1-hour aggregated statistics for + the target node"; + uses IPSLA-GLOBAL-STATS-BAG; + } + container paths { + description + "Table of paths identified in the 1-hour + interval"; + list path { + key "path-index"; + description + "Paths identified in a 1-hour interval"; + container hops { + description + "Table of hops for a particular path"; + list hop { + key "hop-index"; + description + "Total 1-hour aggregated statistics + for a hop in a path-enabled operation"; + leaf hop-index { + type Ipsla-hop-index; + description + "Hop Index"; + } + uses IPSLA-GLOBAL-STATS-BAG; + } + } + leaf path-index { + type Ipsla-path-index; + description + "Path Index"; + } + } + } + container lpd-paths { + description + "List of latest LPD paths"; + list lpd-path { + key "path-index"; + description + "Latest path statistics of MPLS LSP + group operation"; + leaf path-index { + type Ipsla-lpd-path-index; + description + "LPD path index"; + } + uses IPSLA-LPD-PATH-STATS-BAG; + } + } + } + leaf hour-index { + type Ipsla-hour-index; + description + "Hour Index"; + } + } + } + } + } + leaf operation-id { + type Ipsla-operation-id; + description + "Operation ID"; + } + } + } + } + container application-info { + description + "IPSLA application information"; + uses IPSLA-APPLICATION-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-cfg.yang new file mode 100644 index 000000000..dc892805e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-cfg.yang @@ -0,0 +1,143 @@ +module Cisco-IOS-XR-man-netconf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-netconf-cfg"; + prefix man-netconf-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-netconf package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-netconf-yang-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + netconf-yang: NETCONF YANG configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-12-12 { + description + "Added new container defaults to enable with-defaults support."; + semver:module-version "1.1.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-05-04 { + description + "Provison to disable openconfig."; + } + revision 2016-03-15 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container netconf-yang { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-netconf-yang-cfg.yang which will + provide the compatible functionalities. NETCONF + YANG configuration commands"; + container agent { + description + "NETCONF YANG agent configuration commands"; + container models { + description + "Models to be disabled"; + container openconfig { + description + "Type of models: openconfig"; + leaf disabled { + type empty; + description + "Disable the specified model type"; + } + } + } + container defaults { + description + "Support netconf with-defaults"; + leaf enable { + type empty; + description + "Enable netconf with-defaults support"; + } + } + container ssh { + description + "NETCONF YANG agent over SSH connection"; + leaf enable { + type empty; + description + "Enable NETCONF YANG agent over SSH connection"; + } + } + container session { + description + "Session settings"; + leaf limit { + type uint32 { + range "1..50"; + } + default "50"; + description + "Count of allowable concurrent netconf-yang + sessions"; + } + leaf absolute-timeout { + type uint32 { + range "1..1440"; + } + units "minute"; + description + "Absolute timeout in minutes"; + } + leaf idle-timeout { + type uint32 { + range "1..1440"; + } + units "minute"; + description + "Non-active session lifetime"; + } + } + leaf rate-limit { + type uint32 { + range "4096..4294967295"; + } + units "byte"; + description + "Number of bytes to process per sec"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper-sub1.yang new file mode 100644 index 000000000..be9fa3351 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper-sub1.yang @@ -0,0 +1,238 @@ +submodule Cisco-IOS-XR-man-netconf-oper-sub1 { + belongs-to Cisco-IOS-XR-man-netconf-oper { + prefix Cisco-IOS-XR-man-netconf-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR man-netconf package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NC-STATUS-B { + description + "Netconf status bag"; + leaf yfw-state { + type string; + description + "YFW State"; + } + } + + grouping NC-SESSION-STATS-B { + description + "Netconf session statistics bag"; + list entry { + max-elements "20"; + description + "Per-type statistics"; + uses NC-STATS-B; + } + } + + grouping NC-STATS-B { + description + "Netconf statistics bag"; + leaf type { + type string; + description + "Type name"; + } + leaf request { + type uint32; + description + "Total operations count"; + } + leaf total-time { + type uint64; + units "millisecond"; + description + "Total time for operation in milliseconds since + the system started"; + } + leaf min-time-per-request { + type uint32; + units "millisecond"; + description + "Lowest time for operation in milliseconds since + the system started"; + } + leaf max-time-per-request { + type uint32; + units "millisecond"; + description + "Highest time for operation in milliseconds since + the system started"; + } + leaf avg-time-per-request { + type uint32; + units "millisecond"; + description + "Average time for operation in milliseconds since + the system started"; + } + } + + grouping NC-SUMMARY-STATS-B { + description + "Netconf summary statistics bag"; + list entry { + max-elements "20"; + description + "Per-type statistics"; + uses NC-STATS-B; + } + } + + grouping NC-NTFS-STATS-B { + description + "Netconf notification subscription statistics bag"; + leaf subscribed-stream { + type string; + description + "Stream name"; + } + leaf replay-received { + type uint32; + description + "Number of notifications received during replay"; + } + leaf non-replay-received { + type uint64; + description + "Number of non-replay notifications received"; + } + leaf subscription-state { + type string; + description + "Subscription state"; + } + leaf replay-start-time { + type uint64; + description + "Replay startTime in epoch time"; + } + leaf replay-stop-time { + type uint64; + description + "Replay stopTime in epoch time"; + } + leaf subscription-created { + type uint64; + description + "Time of subscription creation in epoch time"; + } + leaf replay-complete-time { + type uint64; + description + "Time of replayComplete notification arrival"; + } + } + + grouping NC-CAPABILITY-B { + description + "Netconf capability bag"; + leaf namespace { + type string; + description + "Namespace"; + } + leaf module { + type string; + description + "Module"; + } + leaf revision { + type string; + description + "Revision"; + } + leaf deviation { + type string; + description + "Deviation"; + } + } + + grouping NC-CAPABILITIES-B { + description + "Netconf capabilities bag"; + list capability { + description + "Capability list"; + uses NC-CAPABILITY-B; + } + } + + grouping NC-RATELIMIT-STATS-B { + description + "Netconf rate-limit statistics bag"; + leaf total-data-dropped { + type uint64; + units "byte"; + description + "Total Bytes dropped"; + } + } + + grouping NC-SESSION-B { + description + "Netconf client session bag"; + leaf version { + type string; + description + "Netconf version"; + } + leaf connect-time { + type uint64; + units "millisecond"; + description + "How long has a client been connected in + milliseconds since the system started"; + } + leaf last-op-time { + type uint64; + units "second"; + description + "Last operation time in seconds since the system + started"; + } + leaf last-op-type { + type string; + description + "Last operation type"; + } + leaf locked { + type string; + description + "Session locked"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper.yang new file mode 100644 index 000000000..22095b96c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-netconf-oper.yang @@ -0,0 +1,126 @@ +module Cisco-IOS-XR-man-netconf-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-netconf-oper"; + prefix man-netconf-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-man-netconf-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-netconf package operational data. + + This module contains definitions + for the following management objects: + netconf-yang: Netconf-yang Operation Model + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container netconf-yang { + config false; + description + "Netconf-yang Operation Model"; + container clients { + description + "List of Active Sessions Information"; + list client { + key "session-id"; + description + "Active Session Information"; + leaf session-id { + type xr:Cisco-ios-xr-string; + description + "Session ID"; + } + uses NC-SESSION-B; + } + } + container rate-limit { + description + "Rate-limit Statistics"; + uses NC-RATELIMIT-STATS-B; + } + container capabilities { + description + "List of Capabilities"; + uses NC-CAPABILITIES-B; + } + container notification-subscriptions { + description + "Notification Subscriptions"; + container subscriptions { + description + "List of Notification Subscriptions Statistics"; + list subscription { + key "session-id"; + description + "Subscription Statistics"; + leaf session-id { + type xr:Cisco-ios-xr-string; + description + "Session ID"; + } + uses NC-NTFS-STATS-B; + } + } + } + container statistics { + description + "Summary and Sessions Statistics"; + container summary { + description + "Summary Statistics"; + uses NC-SUMMARY-STATS-B; + } + container sessions { + description + "List of Sessions Statistics"; + list session { + key "session-id"; + description + "Session Statistics"; + leaf session-id { + type xr:Cisco-ios-xr-string; + description + "Session ID"; + } + uses NC-SESSION-STATS-B; + } + } + } + container status { + description + "Netconf Agent Status"; + uses NC-STATUS-B; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-restconf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-restconf-cfg.yang new file mode 100644 index 000000000..5fe37369f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-restconf-cfg.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XR-man-restconf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-restconf-cfg"; + prefix man-restconf-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-restconf package configuration. + + This module contains definitions + for the following management objects: + restconf: RESTCONF configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-12-01 { + description + "Range value restrictions adjusted for open-request-limit and per-user-request-limit leafs."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container restconf { + description + "RESTCONF configuration commands"; + container agent { + description + "RESTCONF agent configuration commands"; + leaf open-request-limit { + type uint32 { + range "1..256"; + } + description + "Count of allowable concurrent restconf requests"; + } + leaf enable { + type empty; + description + "Enable RESTCONF agent"; + } + leaf per-user-request-limit { + type uint32 { + range "1..256"; + } + description + "Count of allowable concurrent restconf requests + per user"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations.yang new file mode 100644 index 000000000..ca6d64656 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-xml-ttyagent-cfg-deviations.yang"; + prefix cisco-ios-ttyagent-cfg-dev; + + import Cisco-IOS-XR-man-xml-ttyagent-cfg { + prefix mxt-dev; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: 1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a set of deviations of leaf memory range data + model set for Cisco IOS-XR. + + Copyright (c) 2016, 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-13 { + description + "Initial revision applicable to IOS-XR 6.1.2 and older releases"; + } + + deviation "/mxt-dev:xr-xml/mxt-dev:agent/mxt-dev:default/mxt-dev:throttle/mxt-dev:memory" { + deviate replace { + type uint32 { + range "100..1024"; + } + } + } + deviation "/mxt-dev:xr-xml/mxt-dev:agent/mxt-dev:tty/mxt-dev:throttle/mxt-dev:memory" { + deviate replace { + type uint32 { + range "100..1024"; + } + } + } + deviation "/mxt-dev:xr-xml/mxt-dev:agent/mxt-dev:ssl/mxt-dev:throttle/mxt-dev:memory" { + deviate replace { + type uint32 { + range "100..1024"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg.yang new file mode 100644 index 000000000..5c0db62bc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-cfg.yang @@ -0,0 +1,287 @@ +module Cisco-IOS-XR-man-xml-ttyagent-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-xml-ttyagent-cfg"; + prefix man-xml-ttyagent-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-xml-ttyagent package configuration. + + This module contains definitions + for the following management objects: + xr-xml: XML + netconf: NETCONF + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping SESSION { + description + "Common node of default, ssl, tty"; + container session { + description + "Session attributes"; + leaf timeout { + type uint32 { + range "1..1440"; + } + units "minute"; + description + "Timeout in minutes"; + } + } + } + + grouping VRF-TABLE { + description + "Common node of default, ssl"; + container vrfs { + description + "List of VRFs"; + list vrf { + key "vrf-name"; + description + "A specific VRF"; + leaf ipv6-access-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "IPv6 Transport Access list for VRF"; + } + leaf ipv4-access-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "IPv4 Transport Access list for VRF"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Access list for XML agent"; + } + leaf shutdown { + type empty; + description + "Shutdown default VRF. This is applicable only + for VRF default."; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + } + } + + grouping ITERATION-SIZE { + description + "Common node of default, ssl, tty"; + leaf iteration-size { + type uint32 { + range "0..100000"; + } + units "kilobyte"; + default "48"; + description + "Iterator size, in KBytes, of the XML response. + Specify 0 to turn off the XML response iterator."; + } + } + + grouping STREAMING-SIZE { + description + "Common node of default, ssl, tty"; + leaf streaming-size { + type uint32 { + range "1..100000"; + } + units "kilobyte"; + description + "Streaming size, in KBytes, of the XML response."; + } + } + + grouping THROTTLE { + description + "Common node of default, ssl, tty"; + container throttle { + description + "XML agent throttling"; + leaf process-rate { + type uint32 { + range "1000..30000"; + } + description + "Process rate in number of XML tags per second"; + } + leaf memory { + type uint32 { + range "100..1024"; + } + units "megabyte"; + default "300"; + description + "Size of memory usage, in MBytes, per session."; + } + } + } + + grouping ENABLE { + description + "Common node of default, ssl, tty"; + leaf enable { + type empty; + description + "Enable specified XML agent"; + } + } + + container xr-xml { + description + "XML"; + container agent { + description + "XML agent"; + container default { + description + "XML default dedicated agent"; + leaf ipv6-enable { + type boolean; + description + "IPv6 Transport State"; + } + leaf ipv4-disable { + type boolean; + description + "TRUE to disable IPV4"; + } + uses SESSION; + uses ITERATION-SIZE; + uses THROTTLE; + uses ENABLE; + uses STREAMING-SIZE; + uses VRF-TABLE; + } + container tty { + description + "XML TTY agent"; + uses SESSION; + uses ITERATION-SIZE; + uses THROTTLE; + uses ENABLE; + uses STREAMING-SIZE; + } + container ssl { + description + "XML SSL agent"; + uses SESSION; + uses ITERATION-SIZE; + uses THROTTLE; + uses ENABLE; + uses STREAMING-SIZE; + uses VRF-TABLE; + } + } + } + container netconf { + description + "NETCONF"; + container agent { + description + "XML agent"; + container tty { + description + "NETCONF agent over TTY"; + container throttle { + description + "NETCONF agent throttling"; + leaf memory { + type uint32 { + range "100..1024"; + } + units "megabyte"; + default "300"; + description + "Size of memory usage, in MBytes, per session."; + } + leaf offload-memory { + type uint32 { + range "0..12000"; + } + units "megabyte"; + default "0"; + description + "Size of memory usage, in MBytes, per session."; + } + leaf process-rate { + type uint32 { + range "1000..30000"; + } + description + "Process rate in number of XML tags per second"; + } + } + container session { + description + "Session attributes"; + leaf timeout { + type uint32 { + range "1..1440"; + } + units "minute"; + description + "Timeout in minutes"; + } + } + leaf enable { + type empty; + description + "Enable specified NETCONF agent"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper-sub1.yang new file mode 100644 index 000000000..a6e5e16ea --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper-sub1.yang @@ -0,0 +1,151 @@ +submodule Cisco-IOS-XR-man-xml-ttyagent-oper-sub1 { + belongs-to Cisco-IOS-XR-man-xml-ttyagent-oper { + prefix Cisco-IOS-XR-man-xml-ttyagent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR man-xml-ttyagent package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-12-13 { + description + "Fixing Yang Usability Issues."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Xr-xml-session-alarm-register { + type enumeration { + enum "registered" { + value 1; + description + "Registered"; + } + enum "not-registered" { + value 2; + description + "NotRegistered"; + } + } + description + "AlarmNotify"; + } + + typedef Xr-xml-session-state { + type enumeration { + enum "idle" { + value 1; + description + "Idle"; + } + enum "busy" { + value 2; + description + "Busy"; + } + } + description + "SessionState"; + } + + grouping XR-XML-SESSION-INFO { + description + "XML SESSION INFO"; + leaf username { + type string; + description + "Username"; + } + leaf state { + type Xr-xml-session-state; + description + "state of the session idle/busy"; + } + leaf client-address { + type string; + description + "ip address of the client"; + } + leaf client-port { + type uint32; + description + "client's port"; + } + leaf config-session-id { + type string; + description + "Config session ID"; + } + leaf admin-config-session-id { + type string; + description + "Admin config session ID"; + } + leaf alarm-notification { + type Xr-xml-session-alarm-register; + description + "is the session registered for alarm + notifications"; + } + leaf vrf-name { + type string; + description + "VRF name "; + } + leaf start-time { + type uint32; + units "second"; + description + "session start time in seconds since the Unix + Epoch"; + } + leaf elapsed-time { + type uint32; + units "second"; + description + " Elapsed time(seconds) since a session is + created"; + } + leaf last-state-change { + type uint32; + units "second"; + description + "Time(seconds) since last session state change + happened "; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper.yang new file mode 100644 index 000000000..15ff6a675 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-man-xml-ttyagent-oper.yang @@ -0,0 +1,134 @@ +module Cisco-IOS-XR-man-xml-ttyagent-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-man-xml-ttyagent-oper"; + prefix man-xml-ttyagent-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-man-xml-ttyagent-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR man-xml-ttyagent package operational data. + + This module contains definitions + for the following management objects: + netconf: NETCONF operational information + xr-xml: xml sessions information + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-12-13 { + description + "Fixing Yang Usability Issues."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping SESSION-TABLE { + description + "Common node of default, tty, ssl"; + container sessions { + description + "sessions information"; + list session { + key "session-id"; + description + "xml sessions information"; + leaf session-id { + type uint32 { + range "1..4294967294"; + } + description + "Session Id"; + } + uses XR-XML-SESSION-INFO; + } + } + } + + container netconf { + config false; + description + "NETCONF operational information"; + container agent { + description + "NETCONF agent operational information"; + container tty { + description + "NETCONF agent over TTY"; + container sessions { + description + "Session information"; + list session { + key "session-id"; + description + "Session information"; + leaf session-id { + type uint32 { + range "1..4294967294"; + } + description + "Session ID"; + } + uses XR-XML-SESSION-INFO; + } + } + } + } + } + container xr-xml { + config false; + description + "xml sessions information"; + container agent { + description + "XML agents"; + container tty { + description + "TTY sessions information"; + uses SESSION-TABLE; + } + container default { + description + "Default sessions information"; + uses SESSION-TABLE; + } + container ssl { + description + "SSL sessions information"; + uses SESSION-TABLE; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-cfg.yang new file mode 100644 index 000000000..762d95237 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-cfg.yang @@ -0,0 +1,466 @@ +module Cisco-IOS-XR-manageability-object-tracking-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-cfg"; + prefix manageability-object-tracking-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-manageability-object-tracking-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR manageability-object-tracking package configuration. + + This module contains definitions + for the following management objects: + object-trackings: Object Tracking configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-15 { + description + "Added Support for track type Boolean Expression."; + semver:module-version "2.1.0"; + } + revision 2020-03-26 { + description + "Changed type-route container and leaf nodes under it to accommodate ipv6 route tracks."; + semver:module-version "2.0.0"; + } + revision 2019-09-07 { + description + "Added support for track ipv6 route."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OBJECT { + description + "Common node of threshold-weight-object, + threshold-percentage-object"; + list object { + key "object"; + description + "Track name object"; + leaf object-weight { + type uint32; + default "1"; + description + "Weight of object"; + } + leaf object { + type dt1:Object-tracking-name-string; + description + "Object name"; + } + } + } + + grouping THRESHOLD-LIMITS { + description + "Common node of threshold-weight, + threshold-percentage"; + container threshold-limits { + description + "Threshold Limits"; + leaf up { + type uint32; + description + "Up threshold value"; + } + leaf down { + type uint32; + default "0"; + description + "Down threshold value"; + } + } + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf track-name { + type dt1:Object-tracking-name-string; + description + "Track Name"; + } + } + container object-trackings { + description + "Object Tracking configuration"; + list object-tracking { + key "track-name"; + description + "Track name - maximum 32 characters"; + container action { + description + "Actions associated with track state changes"; + container action-err-dis { + description + "The list of all track actions"; + list action-err-di { + key "track-state-type interface-name"; + description + "Error disable track action"; + leaf track-state-type { + type uint32 { + range "0..1"; + } + description + "Track State Type"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface to be error-disabled"; + } + } + } + leaf actions-enable { + type empty; + description + "Enable track actions"; + } + } + container type-bfd-rtr { + description + "Track type BFD RTR (BFD Response Time Reporter)"; + container bfd-rtr { + presence "Indicates a bfd-rtr node is configured."; + description + "BFD session related parameters"; + leaf rate { + type uint32 { + range "1..5000"; + } + mandatory true; + description + "Tx interval in ms"; + } + leaf debounce-count { + type uint32 { + range "1..10"; + } + mandatory true; + description + "Debounce Count"; + } + leaf interface-name { + type xr:Interface-name; + mandatory true; + description + "Interface to be used for BFD session"; + } + leaf dest-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Destination IP Address to track via BFD"; + } + } + } + container type-bool-exp { + description + "Track type Boolean Expression"; + leaf expression { + type string; + description + "Boolean Expression String"; + } + } + container type-bgp-neighbor-address-family-instances { + description + "Track type BGP Neighbor Address Family"; + list type-bgp-neighbor-address-family-instance { + key "instance-name"; + description + "BGP Instance for BGP Neighbor Address Family + Track"; + container address-families { + description + "Track type BGP Neighbor Address Family"; + list address-family { + key "af-name"; + description + "Address Family specific configuration"; + container neighbor { + presence "Indicates a neighbor node is configured."; + description + "A particular BGP neighbor"; + leaf neighbor-address { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf-name { + type string; + description + "Neighbor VRF"; + } + leaf disable-fib-check { + type boolean; + description + "TRUE if FIB checking of neighbor + reachability needs to be done, FALSE + otherwise"; + } + } + leaf address-family-enable { + type empty; + description + "Enable Address Family for BGP Neighbor"; + } + leaf af-name { + type dt1:Object-tracking-address-family; + description + "Address family"; + } + } + } + leaf type-bgp-neighbor-address-family-instance-enable { + type empty; + description + "Enable track type BGP Neighbor AF"; + } + leaf instance-name { + type dt1:Object-tracking-name-string; + description + "BGP Instance"; + } + } + } + container type-interface { + description + "Track type line-protocol"; + leaf interface { + type xr:Interface-name; + description + "The name of the interface"; + } + } + container type-rtr { + description + "Track type RTR (Response Time Reporter - IPSLA)"; + leaf rtr { + type uint32 { + range "1..2048"; + } + description + "IPSLA Operation ID"; + } + } + container type-list { + description + "Track type boolean list"; + container threshold-weight { + description + "Track type threshold weight"; + uses THRESHOLD-LIMITS; + } + container threshold-percentage-object { + description + "Track type threshold percentage"; + uses OBJECT; + } + container threshold-percentage { + description + "Track type threshold percentage"; + uses THRESHOLD-LIMITS; + } + container threshold-weight-object { + description + "Track type threshold weight"; + uses OBJECT; + } + leaf threshold-percentage-object-enable { + type empty; + units "percentage"; + description + "Enable threshold based on percentage"; + } + leaf threshold-weight-object-enable { + type empty; + description + "Enable threshold based on weighted sum"; + } + } + container type-route { + description + "Track type route"; + container ip-address { + description + "set track address"; + leaf ip-address { + type inet:ip-address-no-zone; + must "../prefix-length and not(../address or ../mask)"; + description + "IPv4 or IPv6 Address"; + } + leaf prefix-length { + type uint32 { + range "1..128"; + } + must "../ip-address and not(../address or ../mask)"; + description + "Prefix length"; + } + leaf address { + type inet:ipv4-address-no-zone; + must "../mask and not(../ip-address or ../prefix-length)"; + description + "IP address"; + } + leaf mask { + type inet:ipv4-address-no-zone; + must "../address and not(../ip-address or ../prefix-length)"; + description + "Mask"; + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF tag - use 'default' for the DEFAULT vrf"; + } + } + container type-boolean-list { + description + "Track type boolean list"; + container or-objects { + description + "Track type boolean or list"; + list or-object { + key "object"; + description + "Track name - maximum 32 characters"; + leaf object-sign { + type dt1:Object-tracking-boolean-sign; + description + "Tracked Object sign (with or without not)"; + } + leaf object { + type dt1:Object-tracking-name-string; + description + "Object name"; + } + } + } + container and-objects { + description + "Track type boolean and list"; + list and-object { + key "object-name"; + description + "Track name - maximum 32 characters"; + leaf object-sign { + type dt1:Object-tracking-boolean-sign; + description + "Tracked Object sign (with or without not)"; + } + leaf object-name { + type dt1:Object-tracking-name-string; + description + "Object name"; + } + } + } + } + leaf delay-up { + type dt1:Object-tracking-delay; + units "second"; + description + "Delay up in seconds"; + } + leaf enable { + type empty; + description + "Enable the Track"; + } + leaf delay-down { + type dt1:Object-tracking-delay; + units "second"; + description + "Delay down in seconds"; + } + leaf type-interface-enable { + type empty; + description + "Enable track type Interface"; + } + leaf type-route-enable { + type empty; + description + "Enable track type Route"; + } + leaf type-bool-exp-enable { + type empty; + description + "Enable track type Bool Exp"; + } + leaf type-boolean-list-and-enable { + type empty; + description + "Enable track type boolean list and"; + } + leaf type-boolean-list-or-enable { + type empty; + description + "Enable track type boolean list or"; + } + leaf track-name { + type dt1:Object-tracking-name-string; + description + "Track name"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-datatypes.yang new file mode 100644 index 000000000..b10c9b5ce --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-datatypes.yang @@ -0,0 +1,217 @@ +module Cisco-IOS-XR-manageability-object-tracking-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-datatypes"; + prefix manageability-object-tracking-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-11-22 { + description + "Changed Track Name type from String to Identifier."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Object-tracking-boolean-sign { + type enumeration { + enum "without-not" { + value 0; + description + "Object without not"; + } + enum "with-not" { + value 1; + description + "Object with not"; + } + } + description + "Object tracking boolean sign"; + } + + typedef Object-tracking-address-family { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IPv4 unicast address family"; + } + enum "ipv4-multicast" { + value 1; + description + "IPv4 multicast address family"; + } + enum "ipv4-labeled-unicast" { + value 2; + description + "IPv4 labeled-unicast address family"; + } + enum "ipv4-tunnel" { + value 3; + description + "IPv4 tunnel address family"; + } + enum "vpnv4-unicast" { + value 4; + description + "VPNv4 unicast address family"; + } + enum "ipv6-unicast" { + value 5; + description + "IPv6 unicast address family"; + } + enum "ipv6-multicast" { + value 6; + description + "IPv6 multicast address family"; + } + enum "ipv6-labeled-unicast" { + value 7; + description + "IPv6 labeled-unicast address family"; + } + enum "vpnv6-unicast" { + value 8; + description + "VPNv6 unicast address family"; + } + enum "ipv4-mdt" { + value 9; + description + "IPv4 MDT address family"; + } + enum "l2vpn-vpls" { + value 10; + description + "L2VPN VPLS-VPWS address family"; + } + enum "ipv4rt-constraint" { + value 11; + description + "IPv4 rt-filter address family"; + } + enum "ipv4-mvpn" { + value 12; + description + "IPv4 MVPN address family"; + } + enum "ipv6-mvpn" { + value 13; + description + "IPv6 MVPN address family"; + } + enum "l2vpn-evpn" { + value 14; + description + "L2VPN EVPN address family"; + } + enum "lsls" { + value 15; + description + "Link-state link-state address family"; + } + enum "vpnv4-multicast" { + value 16; + description + "VPNv4 Multicast address family"; + } + enum "vpnv6-multicast" { + value 17; + description + "VPNv6 Multicast address family"; + } + enum "ipv4-flowspec" { + value 18; + description + "IPv4 flowspec address family"; + } + enum "ipv6-flowspec" { + value 19; + description + "IPv6 flowspec address family"; + } + enum "vpnv4-flowspec" { + value 20; + description + "VPNv4 flowspec address family"; + } + enum "vpnv6-flowspec" { + value 21; + description + "VPNv6 flowspec address family"; + } + enum "l2vpn-mspw" { + value 22; + description + "L2VPN MSPW address family"; + } + enum "ipv4-sr-policy" { + value 23; + description + "IPv4 Segment Routing (SR) policy address family"; + } + enum "ipv6-sr-policy" { + value 24; + description + "IPv6 Segment Routing (SR) policy address family"; + } + enum "all-address-family" { + value 25; + description + "All Address Families"; + } + } + description + "Object tracking address family"; + } + + typedef Object-tracking-name-string { + type string { + length "1..32"; + pattern "[a-zA-Z0-9_\\-]+"; + } + description + "Object tracking name string"; + } + + typedef Object-tracking-delay { + type uint32 { + range "1..3600"; + } + description + "Object tracking delay"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper-sub1.yang new file mode 100644 index 000000000..183f93fc5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper-sub1.yang @@ -0,0 +1,607 @@ +submodule Cisco-IOS-XR-manageability-object-tracking-oper-sub1 { + belongs-to Cisco-IOS-XR-manageability-object-tracking-oper { + prefix Cisco-IOS-XR-manageability-object-tracking-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR manageability-object-tracking package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-11 { + description + "Added support for track type Boolean Expression."; + semver:module-version "2.3.0"; + } + revision 2020-06-17 { + description + "Added support to display delay up/down values in show track."; + semver:module-version "2.2.0"; + } + revision 2019-10-07 { + description + "Added support for track type bgp nbr af."; + semver:module-version "2.1.0"; + } + revision 2019-09-07 { + description + "Removed IPv4 Route type nodes and added generic node for both IPv4 and IPv6."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Track { + type enumeration { + enum "interface-type" { + value 1; + description + "Line protocol type"; + } + enum "route-type" { + value 2; + description + "Route type"; + } + enum "bool-and-type" { + value 3; + description + "Boolean and type"; + } + enum "bool-or-type" { + value 4; + description + "Boolean or type"; + } + enum "ipsla-type" { + value 5; + description + "Ipsla track type"; + } + enum "undefined-type" { + value 6; + description + "type undefined"; + } + enum "threshold-weight" { + value 7; + description + "type threshold weight"; + } + enum "threshold-percentage" { + value 8; + description + "type threshold percentage"; + } + enum "bfd-type" { + value 9; + description + "type bfd rtr"; + } + enum "iflist-bool-and-type" { + value 10; + description + "Interface list boolean and type"; + } + enum "iflist-bool-or-type" { + value 11; + description + "Interface list boolean or type"; + } + enum "iflist-thld-weight" { + value 12; + description + "Interface list threshold weight type"; + } + enum "iflist-thld-percent" { + value 13; + description + "Interface list threshold percent type"; + } + enum "bgp-nbr-af-type" { + value 14; + description + "type bgp nbr af"; + } + enum "bool-exp-type" { + value 15; + description + "type boolean expression"; + } + } + description + "Track"; + } + + grouping TRACK-INFO-BRIEF { + description + "TRACK INFO BRIEF"; + list track-info-brief { + description + "track info brief"; + container track-type-info { + description + "Track type information"; + uses TRACK-TYPE-INFO-UNION; + } + leaf tracke-name { + type string { + length "0..33"; + } + description + "Track Name"; + } + leaf type { + type Track; + description + "Track type"; + } + leaf track-state { + type boolean; + description + "Track state"; + } + } + } + + grouping DELAYED-STATE-STATUS { + description + "DELAYED STATE STATUS"; + leaf time-remaining { + type uint32; + units "second"; + description + "The time remaining in seconds for the counter to + trigger state change"; + } + leaf track-state { + type boolean; + description + "State the track will transition to. Track state. + True means track is up; False means track is + down."; + } + } + + grouping INTERFACE-TRACKING-INFO { + description + "INTERFACE TRACKING INFO"; + list interface-tracking-info { + description + "interface tracking info"; + leaf interface-name { + type string { + length "0..120"; + } + description + "Interface Name"; + } + } + } + + grouping THRESHOLD-TRACK-INFO { + description + "THRESHOLD TRACK INFO"; + list threshold-track-info { + description + "threshold track info"; + leaf object-name { + type string { + length "0..33"; + } + description + "Object name"; + } + leaf track-state { + type boolean; + description + "Track state. True means track is up; False + means track is down."; + } + leaf weight { + type uint32; + units "percentage"; + description + "Weight is the number assigned to a track object + . In case of a type threshold weight( i.e. + weighted sum list), weight is asigned by User + at the time of configuration. In case of a type + threshold percentage (i.e. percentage based + list), weight is internally computed by + (1/N)x100, where N is the number of objects in + the list."; + } + } + } + + grouping BOOL-EXP-TRACK-INFO { + description + "BOOL EXP TRACK INFO"; + list bool-exp-track-info { + description + "bool exp track info"; + leaf object-name { + type string { + length "0..33"; + } + description + "Object Name"; + } + leaf track-state { + type boolean; + description + "Track state"; + } + } + } + + grouping BOOL-TRACK-INFO { + description + "BOOL TRACK INFO"; + list bool-track-info { + description + "bool track info"; + leaf object-name { + type string { + length "0..33"; + } + description + "Object Name"; + } + leaf track-state { + type boolean; + description + "Track state"; + } + leaf with-not { + type boolean; + description + "Track object with Not"; + } + } + } + + grouping BFDRTR-TRACK-INFO { + description + "BFDRTR TRACK INFO"; + leaf interface-name { + type string { + length "0..120"; + } + description + "Interface Name"; + } + leaf destination-address { + type uint32; + description + "Destination Address"; + } + leaf rate { + type uint32; + description + "Rate"; + } + leaf debounce-count { + type uint32; + description + "Debounce Count"; + } + } + + grouping RTR-TRACK-INFO { + description + "RTR TRACK INFO"; + leaf ipsla-op-id { + type uint32; + description + "Op Id"; + } + leaf rtt { + type uint32; + description + "Latest RTT"; + } + leaf return-code { + type uint32; + description + "Latest Return Code"; + } + leaf return-code-string { + type string { + length "0..120"; + } + description + "Latest Ret Code String"; + } + } + + grouping BGP-NBR-AF-TRACK-INFO { + description + "BGP NBR AF TRACK INFO"; + leaf is-neighbor-ipv4 { + type boolean; + description + "Is BGP neighbor addr IPv4"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 address"; + } + leaf afi { + type uint16; + description + "AFI"; + } + leaf safi { + type uint8; + description + "SAFI"; + } + leaf neighbor-object-state { + type uint32; + description + "BGP neighborship state"; + } + leaf disable-fib-check { + type boolean; + description + "Disable Neighbor's route reachablity state"; + } + leaf neighbor-route-reach-state { + type boolean; + description + "BGP Neighbor's route reachablity state"; + } + leaf vrf { + type string { + length "0..120"; + } + description + "VRF Name"; + } + leaf ins { + type string { + length "0..120"; + } + description + "VRF Name"; + } + } + + grouping ROUTE-TRACK-INFO { + description + "ROUTE TRACK INFO"; + leaf prefix { + type string { + length "0..46"; + } + description + "IPv4 or IPv6 Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + leaf vrf { + type string { + length "0..120"; + } + description + "VRF Name"; + } + leaf next-hop { + type string { + length "0..120"; + } + description + "Next Hop"; + } + } + + grouping INTF-TRACK-INFO { + description + "INTF TRACK INFO"; + leaf interface-name { + type string { + length "0..120"; + } + description + "Interface Name"; + } + } + + grouping TRACK-TYPE-INFO-UNION { + description + "TRACK TYPE INFO UNION"; + container interface-tracks { + when "../discriminant = 'interface-type'" { + description + "../discriminant = 'InterfaceType'"; + } + description + "track type interface info"; + uses INTF-TRACK-INFO; + } + container route-tracks { + when "../discriminant = 'route-type'" { + description + "../discriminant = 'RouteType'"; + } + description + "track type route info"; + uses ROUTE-TRACK-INFO; + } + container bgp-nbr-af-tracks { + when "../discriminant = 'bgp-nbr-af-type'" { + description + "../discriminant = 'BgpNbrAfType'"; + } + description + "track type bgp nbr af info"; + uses BGP-NBR-AF-TRACK-INFO; + } + container ipsla-tracks { + when "../discriminant = 'ipsla-type'" { + description + "../discriminant = 'IpslaType'"; + } + description + "track type rtr info"; + uses RTR-TRACK-INFO; + } + container bfd-tracks { + when "../discriminant = 'bfd-type'" { + description + "../discriminant = 'BfdType'"; + } + description + "track type bfdrtr info"; + uses BFDRTR-TRACK-INFO; + } + leaf discriminant { + type Track; + description + "discriminant"; + } + } + + grouping TRACK-INFO { + description + "TRACK INFO"; + list track-info { + description + "track info"; + container track-type-info { + description + "Track type information"; + uses TRACK-TYPE-INFO-UNION; + } + container bool-tracks { + description + "boolean objects"; + uses BOOL-TRACK-INFO; + } + container bool-exp-tracks { + description + "boolean Expression objects"; + uses BOOL-EXP-TRACK-INFO; + } + container threshold-tracks { + description + "Threshold objects"; + uses THRESHOLD-TRACK-INFO; + } + container tracking-interaces { + description + "Tracking Interfaces"; + uses INTERFACE-TRACKING-INFO; + } + container delayed { + description + "Is the state change delay counter in progress"; + uses DELAYED-STATE-STATUS; + } + leaf tracke-name { + type string { + length "0..33"; + } + description + "Track Name"; + } + leaf type { + type Track; + description + "Track type"; + } + leaf track-state { + type boolean; + description + "Track state"; + } + leaf state-change-counter { + type uint32; + description + "State Change Counter"; + } + leaf seconds-last-change { + type uint64; + units "second"; + description + "Seconds Last Change"; + } + leaf mili-seconds-last-change { + type uint64; + units "second"; + description + "Mili Seconds Last Change"; + } + leaf threshold-up { + type uint32; + description + "User specified threshold upper limit"; + } + leaf threshold-down { + type uint32; + description + "User specified threshold lower limit"; + } + leaf delay-up-time { + type uint16; + units "second"; + description + "Delay up time in Seconds"; + } + leaf delay-up-config { + type boolean; + description + "True, if Delay up is set in config"; + } + leaf delay-down-time { + type uint16; + units "second"; + description + "Delay down time in Seconds"; + } + leaf delay-down-config { + type boolean; + description + "True, if Delay down is set in Config"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper.yang new file mode 100644 index 000000000..ec439d0b1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-object-tracking-oper.yang @@ -0,0 +1,133 @@ +module Cisco-IOS-XR-manageability-object-tracking-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-oper"; + prefix manageability-object-tracking-oper; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-manageability-object-tracking-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-manageability-object-tracking-oper-sub1 { + revision-date 2021-04-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR manageability-object-tracking package operational data. + + This module contains definitions + for the following management objects: + object-tracking: Object Tracking operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-11 { + description + "Added support for track type Boolean Expression."; + semver:module-version "2.3.0"; + } + revision 2020-06-17 { + description + "Added support to display delay up/down values in show track."; + semver:module-version "2.2.0"; + } + revision 2019-10-07 { + description + "Added support for track type bgp nbr af."; + semver:module-version "2.1.0"; + } + revision 2019-09-07 { + description + "Removed IPv4 Route type nodes and added generic node for both IPv4 and IPv6."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container object-tracking { + config false; + description + "Object Tracking operational data"; + container track-type-interface { + description + "Object Tracking Type interface info"; + uses TRACK-INFO; + } + container track-briefs { + description + "Object Tracking Track table brief"; + list track-brief { + key "track-name"; + description + "Track name - maximum 32 characters"; + leaf track-name { + type dt1:Object-tracking-name-string; + description + "Track name"; + } + uses TRACK-INFO-BRIEF; + } + } + container track-type-rtr-reachability { + description + "Object Tracking Type RTR Reachability info"; + uses TRACK-INFO; + } + container track-type-rtr-reachability-brief { + description + "Object Tracking Type RTR Reachability brief info"; + uses TRACK-INFO-BRIEF; + } + container tracks { + description + "Object Tracking Track table"; + list track { + key "track-name"; + description + "Track name - maximum 32 characters"; + leaf track-name { + type dt1:Object-tracking-name-string; + description + "Track name"; + } + uses TRACK-INFO; + } + } + container track-type-route { + description + "Object Tracking Type Route info"; + uses TRACK-INFO; + } + container track-type-route-brief { + description + "Object Tracking Type Route brief info"; + uses TRACK-INFO-BRIEF; + } + container track-type-interface-brief { + description + "Object Tracking Type Interface brief info"; + uses TRACK-INFO-BRIEF; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-cfg.yang new file mode 100644 index 000000000..0ce25c2f4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-cfg.yang @@ -0,0 +1,4860 @@ +module Cisco-IOS-XR-manageability-perfmgmt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-cfg"; + prefix manageability-perfmgmt-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR manageability-perfmgmt package configuration. + + This module contains definitions + for the following management objects: + perf-mgmt: Performance Management configuration & operations + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pm-threshold-val-range { + type uint32 { + range "0..65536"; + } + description + "Pm threshold val range"; + } + + typedef Pm-threshold-val-range-counter32 { + type uint32 { + range "0..4294967295"; + } + description + "Pm threshold val range counter32"; + } + + typedef Pm-threshold-rearm { + type enumeration { + enum "always" { + value 0; + description + "Rearm Always"; + } + enum "window" { + value 1; + description + "Rearm after window of sampling periods"; + } + enum "toggle" { + value 2; + description + "Rearm after the first period when condition is + not met"; + } + } + description + "Pm threshold rearm"; + } + + typedef Pm-threshold-op { + type enumeration { + enum "eq" { + value 1; + description + "Equal to"; + } + enum "ne" { + value 2; + description + "Not equal to"; + } + enum "lt" { + value 3; + description + "Less than"; + } + enum "le" { + value 4; + description + "Less than or equal to"; + } + enum "gt" { + value 5; + description + "Greater than"; + } + enum "ge" { + value 6; + description + "Greater than or equal to"; + } + enum "rg" { + value 7; + description + "Not in Range"; + } + } + description + "Pm threshold op"; + } + + typedef Pid-range { + type uint32 { + range "0..4294967295"; + } + description + "Pid range"; + } + + typedef Pm-threshold-rearm-window { + type uint32 { + range "1..100"; + } + description + "Pm threshold rearm window"; + } + + grouping REG-EXP-GROUP { + description + "Common node of basic-counter-interface-template, + generic-counter-interface-template, + data-rate-interface-template"; + leaf reg-exp-group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Enable instance filtering by regular expression"; + } + } + + grouping OUTPUT-LS-REQUESTS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-ls-requests { + presence "enable output-ls-requests"; + description + "Number of LS Requests sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping OSPF-INSTANCE-TABLE { + description + "Common node of ospfv2-protocol, ospfv3-protocol"; + container ospf-instances { + description + "Monitor an instance"; + list ospf-instance { + key "instance-name"; + description + "Instance being monitored"; + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OSPF Instance Name"; + } + uses MANAGEABILITY-PERF-ENABLE-MONITOR-CFG-TEMPLATE-NAME; + } + } + } + + grouping INPUT-DB-DS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-db-ds { + presence "enable input-db-ds"; + description + "Number of DBD packets received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping NODE-ALL { + description + "Common node of cpu-node, memory-node, + process-node"; + container node-all { + description + "All the the nodes"; + uses TEMPLATE-NAME; + } + } + + grouping MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-ALL { + description + "Common node of cpu-node, memory-node, + process-nodeCommon node of cpu-node, memory-node, + process-node"; + container node-all { + description + "All the the nodes"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + } + + grouping INPUT-LSA-ACKS-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-lsa-acks-lsa { + presence "enable input-lsa-acks-lsa"; + description + "Number of LSA received in LSA Acknowledgements"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping OUTPUT-DB-DS-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-db-ds-lsa { + presence "enable output-db-ds-lsa"; + description + "Number of LSA sent in DBD packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping TEMPLATE-NAME { + description + "Common node of ospfv2-protocol, ospfv3-protocol, + bgp, node, node-all, ldp-mpls, + data-rate-interface, generic-counter-interface, + basic-counter-interface"; + leaf template-name { + type string; + description + "Template name"; + } + } + + grouping MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME { + description + "Common node of ospfv2-protocol, ospfv3-protocol, + bgp, node, node-all, ldp-mpls, + data-rate-interface, generic-counter-interface, + basic-counter-interfaceCommon node of + ospfv2-protocol, ospfv3-protocol, node, node-all, + ldp-mpls, data-rate-interface, + generic-counter-interface, + basic-counter-interface, bgp"; + leaf template-name { + type string; + description + "Template name"; + } + } + + grouping MANAGEABILITY-PERF-ENABLE-MONITOR-CFG-TEMPLATE-NAME { + description + "Common node of ospfv2-protocol, ospfv3-protocol, + bgp, node, node-all, ldp-mpls, + data-rate-interface, generic-counter-interface, + basic-counter-interfaceCommon node of + ospfv2-protocol, ospfv3-protocol, node, node-all, + ldp-mpls, data-rate-interface, + generic-counter-interface, + basic-counter-interface, bgpCommon node of + ospf-instance, session, pid, node, interface, + neighbor"; + leaf template-name { + type string; + description + "Template name"; + } + } + + grouping TEMPLATE-TABLE { + description + "Common node of ospfv2-protocol, ospfv3-protocol, + bgp, generic-counter-interface, + basic-counter-interface, data-rate-interface, + ldp-mpls, cpu-node, memory-node, process-node"; + container templates { + description + "Template name"; + list template { + key "template-name"; + description + "A template instance"; + leaf reg-exp-group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Enable instance filtering by regular + expression"; + } + leaf history-persistent { + type empty; + description + "Enable persistent history statistics"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF group configured in regular expression to + be applied"; + } + leaf sample-interval { + type uint32 { + range "1..60"; + } + units "minute"; + description + "Frequency of each sample in minutes"; + } + leaf sample-size { + type uint32 { + range "1..60"; + } + description + "Number of samples to be taken"; + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + } + } + } + + grouping SAMPLE-INTERVAL { + description + "Common node of data-rate-interface-template, + ldp-mpls-template, cpu-node-template, + memory-node-template, process-node-template"; + leaf sample-interval { + type uint32 { + range "1..60"; + } + units "minute"; + description + "Frequency of sampling in minutes"; + } + } + + grouping MANAGEABILITY-PERF-THRESH-CFG-SAMPLE-INTERVAL { + description + "Common node of data-rate-interface-template, + ldp-mpls-template, cpu-node-template, + memory-node-template, process-node-templateCommon + node of ospfv2-protocol-template, + ospfv3-protocol-template, bgp-template, + basic-counter-interface-template, + generic-counter-interface-template"; + leaf sample-interval { + type uint32 { + range "1..60"; + } + units "minute"; + description + "Frequency of sampling in minutes"; + } + } + + grouping INPUT-PACKETS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-packets { + presence "enable input-packets"; + description + "Total number of packets received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INPUT-LSA-UPDATES-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-lsa-updates-lsa { + presence "enable input-lsa-updates-lsa"; + description + "Number of LSA received in LSA Updates"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping VRF-GROUP { + description + "Common node of basic-counter-interface-template, + generic-counter-interface-template, + data-rate-interface-template"; + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Enable instance filtering by VRF name regular + expression "; + } + } + + grouping OUTPUT-LSA-UPDATES-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-lsa-updates-lsa { + presence "enable output-lsa-updates-lsa"; + description + "Number of LSA sent in LSA Updates"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INPUT-LSA-ACKS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-lsa-acks { + presence "enable input-lsa-acks"; + description + "Number of LSA Acknowledgements received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INPUT-LSA-UPDATES { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-lsa-updates { + presence "enable input-lsa-updates"; + description + "Number of LSA Updates received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping OUTPUT-LSA-ACKS-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-lsa-acks-lsa { + presence "enable output-lsa-acks-lsa"; + description + "Number of LSA sent in LSA Acknowledgements"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of generic-counters, basic-counters, + data-rates"; + container interfaces { + description + "Monitor an Interface"; + list interface { + key "interface-name"; + description + "Interface being Monitored"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MANAGEABILITY-PERF-ENABLE-MONITOR-CFG-TEMPLATE-NAME; + } + } + } + + grouping OUTPUT-PACKETS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-packets { + presence "enable output-packets"; + description + "Total number of packets sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping OUTPUT-LSA-UPDATES { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-lsa-updates { + presence "enable output-lsa-updates"; + description + "Number of LSA Updates sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping OUTPUT-HELLO-PACKETS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-hello-packets { + presence "enable output-hello-packets"; + description + "Total number of packets sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping NODE-TABLE { + description + "Common node of memory, cpu"; + container nodes { + description + "Node specification"; + list node { + key "node-id"; + description + "Node instance"; + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + uses MANAGEABILITY-PERF-ENABLE-MONITOR-CFG-TEMPLATE-NAME; + } + } + } + + grouping MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-TABLE { + description + "Common node of memory, cpuCommon node of cpu-node + , memory-node, process-node"; + container nodes { + description + "Node specification"; + list node { + key "node-id"; + description + "Node instance"; + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + } + } + + grouping MANAGEABILITY-PERF-ENABLE-STATS-CFG-NODE-TABLE { + description + "Common node of memory, cpuCommon node of cpu-node + , memory-node, process-nodeCommon node of + cpu-node, memory-node, process-node"; + container nodes { + description + "Node specification"; + list node { + key "node-id"; + description + "Node instance"; + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + uses TEMPLATE-NAME; + } + } + } + + grouping OUTPUT-DB-DS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-db-ds { + presence "enable output-db-ds"; + description + "Number of DBD packets sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INPUT-LS-REQUESTS-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-ls-requests-lsa { + presence "enable input-ls-requests-lsa"; + description + "Number of LSA received in LS Requests"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping OUTPUT-LS-REQUESTS-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-ls-requests-lsa { + presence "enable output-ls-requests-lsa"; + description + "Number of LSA sent in LS Requests"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping OUTPUT-LSA-ACKS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container output-lsa-acks { + presence "enable output-lsa-acks"; + description + "Number of LSA Acknowledgements sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INPUT-DB-DS-LSA { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-db-ds-lsa { + presence "enable input-db-ds-lsa"; + description + "Number of LSA received in DBD packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INPUT-LS-REQUESTS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-ls-requests { + presence "enable input-ls-requests"; + description + "Number of LS Requests received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + grouping INPUT-HELLO-PACKETS { + description + "Common node of ospfv2-protocol-template, + ospfv3-protocol-template"; + container input-hello-packets { + presence "enable input-hello-packets"; + description + "Number of Hello packets received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, set + to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values are + in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm type + Window)"; + } + } + } + + container perf-mgmt { + description + "Performance Management configuration & operations"; + container resources { + description + "Resources configuration"; + container tftp-resources { + presence "Indicates a tftp-resources node is configured."; + description + "Configure the TFTP server IP address and + directory name"; + leaf server-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address of the TFTP server"; + } + leaf directory { + type string; + mandatory true; + description + "Directory name on TFTP server"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + container dump-local { + description + "Configure local dump parameters"; + leaf enable { + type empty; + description + "Enable data dump onto local filesystem"; + } + } + container memory-resources { + description + "Configure the memory usage limits of + performance management"; + leaf max-limit { + type uint32; + units "kilobyte"; + description + "Maximum limit for memory usage (Kbytes) for + data buffers"; + } + leaf min-reserved { + type uint32; + units "kilobyte"; + description + "Specify a minimum free memory (Kbytes) to be + ensured before allowing a collection request"; + } + } + } + container statistics { + description + "Templates for collection of statistics"; + container generic-counter-interface { + description + "Interface Generic GenericCounter collection + templates"; + uses TEMPLATE-TABLE; + } + container process-node { + description + "Node Process collection templates"; + uses TEMPLATE-TABLE; + } + container basic-counter-interface { + description + "Interface BasicCounter collection templates"; + uses TEMPLATE-TABLE; + } + container ospfv3-protocol { + description + "OSPF v3 Protocol collection templates"; + uses TEMPLATE-TABLE; + } + container cpu-node { + description + "Node CPU collection templates"; + uses TEMPLATE-TABLE; + } + container data-rate-interface { + description + "Interface DataRate collection templates"; + uses TEMPLATE-TABLE; + } + container memory-node { + description + "Node Memory collection templates"; + uses TEMPLATE-TABLE; + } + container ldp-mpls { + description + "MPLS LDP collection templates"; + uses TEMPLATE-TABLE; + } + container bgp { + description + "BGP collection templates"; + uses TEMPLATE-TABLE; + } + container ospfv2-protocol { + description + "OSPF v2 Protocol collection templates"; + uses TEMPLATE-TABLE; + } + } + container enable { + description + "Start data collection and/or threshold + monitoring"; + container threshold { + description + "Start threshold monitoring using a defined + template"; + container ospfv3-protocol { + description + "Threshold monitoring for OSPF v3 Protocol"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + container bgp { + description + "Threshold monitoring for BGP"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + container data-rate-interface { + description + "Threshold monitoring for Interface data-rates"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + container ospfv2-protocol { + description + "Threshold monitoring for OSPF v2 Protocol"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + container memory-node { + description + "Threshold monitoring for memory"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-TABLE; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-ALL; + } + container generic-counter-interface { + description + "Threshold monitoring for Interface + generic-counters"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + container cpu-node { + description + "Threshold monitoring for CPU"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-TABLE; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-ALL; + } + container ldp-mpls { + description + "Threshold monitoring for LDP"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + container process-node { + description + "Threshold monitoring for process"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-TABLE; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-NODE-ALL; + } + container basic-counter-interface { + description + "Threshold monitoring for Interface + basic-counters"; + uses MANAGEABILITY-PERF-ENABLE-THRESH-CFG-TEMPLATE-NAME; + } + } + container statistics { + description + "Start periodic collection using a defined a + template"; + container generic-counter-interface { + description + "Statistics collection for generic-counters"; + uses TEMPLATE-NAME; + } + container bgp { + description + "Data collection for BGP"; + uses TEMPLATE-NAME; + } + container ospfv2-protocol { + description + "Data collection for OSPF v2 Protocol"; + uses TEMPLATE-NAME; + } + container ospfv3-protocol { + description + "Data collection for OSPF v3 Protocol"; + uses TEMPLATE-NAME; + } + container cpu-node { + description + "Collection for CPU"; + uses NODE-ALL; + uses MANAGEABILITY-PERF-ENABLE-STATS-CFG-NODE-TABLE; + } + container basic-counter-interface { + description + "Statistics collection for basic-counters"; + uses TEMPLATE-NAME; + } + container process-node { + description + "Collection for process"; + uses NODE-ALL; + uses MANAGEABILITY-PERF-ENABLE-STATS-CFG-NODE-TABLE; + } + container data-rate-interface { + description + "Statistics collection for generic-counters"; + uses TEMPLATE-NAME; + } + container memory-node { + description + "Collection for memory"; + uses NODE-ALL; + uses MANAGEABILITY-PERF-ENABLE-STATS-CFG-NODE-TABLE; + } + container ldp-mpls { + description + "Collection for labels distribution protocol"; + uses TEMPLATE-NAME; + } + } + container monitor-enable { + description + "Start data collection for a monitored instance"; + container ldp-mpls { + description + "Monitoring for LDP"; + container sessions { + description + "LDP session specification"; + list session { + key "session"; + description + "IP address of the LDP Session"; + leaf session { + type inet:ipv4-address-no-zone; + description + "IP address of the LDP Session"; + } + uses MANAGEABILITY-PERF-ENABLE-MONITOR-CFG-TEMPLATE-NAME; + } + } + } + container ospfv3-protocol { + description + "Monitor OSPF v3 Protocol"; + uses OSPF-INSTANCE-TABLE; + } + container generic-counters { + description + "Monitoring for generic-counters"; + uses INTERFACE-TABLE; + } + container process { + description + "Collection for a single process"; + container process-nodes { + description + "Node specification"; + list process-node { + key "node-id"; + description + "Node instance"; + container pids { + description + "Process ID specification"; + list pid { + key "pid"; + description + "Specify an existing template for data + collection"; + leaf pid { + type Pid-range; + description + "Specify Process ID"; + } + uses MANAGEABILITY-PERF-ENABLE-MONITOR-CFG-TEMPLATE-NAME; + } + } + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + container basic-counters { + description + "Monitoring for basic-counters"; + uses INTERFACE-TABLE; + } + container memory { + description + "Collection for memory"; + uses NODE-TABLE; + } + container ospfv2-protocol { + description + "Monitor OSPF v2 Protocol"; + uses OSPF-INSTANCE-TABLE; + } + container cpu { + description + "Collection for CPU"; + uses NODE-TABLE; + } + container bgp { + description + "Monitor BGP protocol"; + container neighbors { + description + "Monitor BGP protocol for a BGP peer"; + list neighbor { + key "peer-address"; + description + "Neighbor being monitored"; + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "IP address of the Neighbor"; + } + uses MANAGEABILITY-PERF-ENABLE-MONITOR-CFG-TEMPLATE-NAME; + } + } + } + container data-rates { + description + "Monitoring for data-rates"; + uses INTERFACE-TABLE; + } + } + } + container reg-exp-groups { + description + "Configure regular expression group"; + list reg-exp-group { + key "reg-exp-group-name"; + description + "Specify regular expression group name"; + container reg-exps { + description + "Configure regular expression"; + list reg-exp { + key "reg-exp-index"; + description + "Specify regular expression index number"; + leaf reg-exp-index { + type uint32 { + range "1..100"; + } + description + "Regular expression index number"; + } + leaf reg-exp-string { + type string { + length "1..128"; + } + mandatory true; + description + "Regular expression string to match"; + } + } + } + leaf reg-exp-group-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Regular expression group name"; + } + } + } + container threshold { + description + "Container for threshold templates"; + container generic-counter-interface { + description + "Interface Generic Counter threshold + configuration"; + container generic-counter-interface-templates { + description + "Interface Generic Counter threshold templates"; + list generic-counter-interface-template { + key "template-name"; + description + "Interface Generic Counter threshold template + instance"; + container in-octets { + presence "enable in-octets"; + description + "Number of inbound octets/bytes"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container in-ucast-pkts { + presence "enable in-ucast-pkts"; + description + "Number of inbound unicast packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container out-ucast-pkts { + presence "enable out-ucast-pkts"; + description + "Number of outbound unicast packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container out-broadcast-pkts { + presence "enable out-broadcast-pkts"; + description + "Number of outbound broadcast packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container out-multicast-pkts { + presence "enable out-multicast-pkts"; + description + "Number of outbound multicast packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-overrun { + presence "enable input-overrun"; + description + "Number of inbound packets with overrun + errors"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container out-octets { + presence "enable out-octets"; + description + "Number of outbound octets/bytes"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-underrun { + presence "enable output-underrun"; + description + "Number of outbound packets with underrun + errors"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-total-errors { + presence "enable input-total-errors"; + description + "Number of inbound incorrect packets + discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-total-drops { + presence "enable output-total-drops"; + description + "Number of outbound correct packets discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-crc { + presence "enable input-crc"; + description + "Number of inbound packets discarded with + incorrect CRC"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container in-broadcast-pkts { + presence "enable in-broadcast-pkts"; + description + "Number of inbound broadcast packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container in-multicast-pkts { + presence "enable in-multicast-pkts"; + description + "Number of inbound multicast packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container out-packets { + presence "enable out-packets"; + description + "Number of outbound packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-total-errors { + presence "enable output-total-errors"; + description + "Number of outbound incorrect packets + discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container in-packets { + presence "enable in-packets"; + description + "Number of inbound packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-unknown-proto { + presence "enable input-unknown-proto"; + description + "Number of inbound packets discarded with + unknown protocol"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-queue-drops { + presence "enable input-queue-drops"; + description + "Number of input queue drops"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-total-drops { + presence "enable input-total-drops"; + description + "Number of inbound correct packets discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-frame { + presence "enable input-frame"; + description + "Number of inbound packets with framing + errors"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses MANAGEABILITY-PERF-THRESH-CFG-SAMPLE-INTERVAL; + uses REG-EXP-GROUP; + uses VRF-GROUP; + } + } + } + container ldp-mpls { + description + "MPLS LDP threshold configuration"; + container ldp-mpls-templates { + description + "MPLS LDP threshold templates"; + list ldp-mpls-template { + key "template-name"; + description + "MPLS LDP threshold template instance"; + container address-withdraw-msgs-rcvd { + presence "enable address-withdraw-msgs-rcvd"; + description + "Number of Address Withdraw messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container label-withdraw-msgs-rcvd { + presence "enable label-withdraw-msgs-rcvd"; + description + "Number of Label Withdraw messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container address-withdraw-msgs-sent { + presence "enable address-withdraw-msgs-sent"; + description + "Number of Address Withdraw messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container label-withdraw-msgs-sent { + presence "enable label-withdraw-msgs-sent"; + description + "Number of Label Withdraw messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container notification-msgs-rcvd { + presence "enable notification-msgs-rcvd"; + description + "Number of Notification messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container total-msgs-rcvd { + presence "enable total-msgs-rcvd"; + description + "Total number of messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container notification-msgs-sent { + presence "enable notification-msgs-sent"; + description + "Number of Notification messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container total-msgs-sent { + presence "enable total-msgs-sent"; + description + "Total number of messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container label-release-msgs-rcvd { + presence "enable label-release-msgs-rcvd"; + description + "Number of LAbel Release messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container init-msgs-rcvd { + presence "enable init-msgs-rcvd"; + description + "Number of Init messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container label-release-msgs-sent { + presence "enable label-release-msgs-sent"; + description + "Number of Label Release messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container init-msgs-sent { + presence "enable init-msgs-sent"; + description + "Number of Init messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container label-mapping-msgs-rcvd { + presence "enable label-mapping-msgs-rcvd"; + description + "Number of Label Mapping messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container keepalive-msgs-rcvd { + presence "enable keepalive-msgs-rcvd"; + description + "Number of Keepalive messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container label-mapping-msgs-sent { + presence "enable label-mapping-msgs-sent"; + description + "Number of Label Mapping messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container keepalive-msgs-sent { + presence "enable keepalive-msgs-sent"; + description + "Number of Keepalive messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container address-msgs-rcvd { + presence "enable address-msgs-rcvd"; + description + "Number of Address messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container address-msgs-sent { + presence "enable address-msgs-sent"; + description + "Number of Address messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses SAMPLE-INTERVAL; + } + } + } + container basic-counter-interface { + description + "Interface Basic Counter threshold configuration"; + container basic-counter-interface-templates { + description + "Interface Basic Counter threshold templates"; + list basic-counter-interface-template { + key "template-name"; + description + "Interface Basic Counter threshold template + instance"; + container in-octets { + presence "enable in-octets"; + description + "Number of inbound octets/bytes"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container out-octets { + presence "enable out-octets"; + description + "Number of outbound octets/bytes"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-queue-drops { + presence "enable output-queue-drops"; + description + "Number of outbound queue drops"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-total-errors { + presence "enable input-total-errors"; + description + "Number of inbound incorrect packets + discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-total-drops { + presence "enable output-total-drops"; + description + "Number of outbound correct packets discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container out-packets { + presence "enable out-packets"; + description + "Number of outbound packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-total-errors { + presence "enable output-total-errors"; + description + "Number of outbound incorrect packets + discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container in-packets { + presence "enable in-packets"; + description + "Number of inbound packets"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-queue-drops { + presence "enable input-queue-drops"; + description + "Number of input queue drops"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-total-drops { + presence "enable input-total-drops"; + description + "Number of inbound correct packets discarded"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses MANAGEABILITY-PERF-THRESH-CFG-SAMPLE-INTERVAL; + uses REG-EXP-GROUP; + uses VRF-GROUP; + } + } + } + container bgp { + description + "BGP threshold configuration"; + container bgp-templates { + description + "BGP threshold templates"; + list bgp-template { + key "template-name"; + description + "BGP threshold template instance"; + container output-update-messages { + presence "enable output-update-messages"; + description + "Number of update messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container errors-received { + presence "enable errors-received"; + description + "Number of error notifications received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container conn-established { + presence "enable conn-established"; + description + "Number of times the connection was + established"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-messages { + presence "enable output-messages"; + description + "Number of messages sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container conn-dropped { + presence "enable conn-dropped"; + description + "Number of times the connection was dropped"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-update-messages { + presence "enable input-update-messages"; + description + "Number of update messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container errors-sent { + presence "enable errors-sent"; + description + "Number of error notifications sent"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-messages { + presence "enable input-messages"; + description + "Number of messages received"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses MANAGEABILITY-PERF-THRESH-CFG-SAMPLE-INTERVAL; + } + } + } + container ospfv2-protocol { + description + "OSPF v2 Protocol threshold configuration"; + container ospfv2-protocol-templates { + description + "OSPF v2 Protocol threshold templates"; + list ospfv2-protocol-template { + key "template-name"; + description + "OSPF v2 Protocol threshold template instance"; + container checksum-errors { + presence "enable checksum-errors"; + description + "Number of packets received with checksum + errors"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses INPUT-LSA-ACKS-LSA; + uses OUTPUT-DB-DS-LSA; + uses INPUT-DB-DS-LSA; + uses INPUT-LSA-UPDATES; + uses OUTPUT-DB-DS; + uses OUTPUT-LSA-UPDATES-LSA; + uses INPUT-DB-DS; + uses INPUT-LSA-UPDATES-LSA; + uses MANAGEABILITY-PERF-THRESH-CFG-SAMPLE-INTERVAL; + uses OUTPUT-PACKETS; + uses INPUT-PACKETS; + uses OUTPUT-HELLO-PACKETS; + uses INPUT-HELLO-PACKETS; + uses OUTPUT-LS-REQUESTS; + uses OUTPUT-LSA-ACKS-LSA; + uses OUTPUT-LSA-ACKS; + uses INPUT-LSA-ACKS; + uses OUTPUT-LSA-UPDATES; + uses OUTPUT-LS-REQUESTS-LSA; + uses INPUT-LS-REQUESTS-LSA; + uses INPUT-LS-REQUESTS; + } + } + } + container cpu-node { + description + "Node CPU threshold configuration"; + container cpu-node-templates { + description + "Node CPU threshold configuration templates"; + list cpu-node-template { + key "template-name"; + description + "Node CPU threshold configuration template + instances"; + container average-cpu-used { + presence "enable average-cpu-used"; + description + "Average %CPU utilization"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32 { + range "0..100"; + } + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32 { + range "0..100"; + } + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container no-processes { + presence "enable no-processes"; + description + "Number of processes"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses SAMPLE-INTERVAL; + } + } + } + container data-rate-interface { + description + "Interface Data Rates threshold configuration"; + container data-rate-interface-templates { + description + "Interface Data Rates threshold templates"; + list data-rate-interface-template { + key "template-name"; + description + "Interface Data Rates threshold template + instance"; + container input-data-rate { + presence "enable input-data-rate"; + description + "Input data rate in kbps"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container bandwidth { + presence "enable bandwidth"; + description + "Bandwidth in kbps"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-packet-rate { + presence "enable output-packet-rate"; + description + "Number of Output packets per second"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-peak-pkts { + presence "enable input-peak-pkts"; + description + "Maximum number of input packets per second"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-peak-rate { + presence "enable output-peak-rate"; + description + "Peak output data rate in kbps"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-data-rate { + presence "enable output-data-rate"; + description + "Output data rate in kbps"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-packet-rate { + presence "enable input-packet-rate"; + description + "Number of input packets per second"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container output-peak-pkts { + presence "enable output-peak-pkts"; + description + "Maximum number of output packets per second"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container input-peak-rate { + presence "enable input-peak-rate"; + description + "Peak input data rate in kbps"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type Pm-threshold-val-range-counter32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type Pm-threshold-val-range-counter32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses SAMPLE-INTERVAL; + uses REG-EXP-GROUP; + uses VRF-GROUP; + } + } + } + container process-node { + description + "Node Process threshold configuration"; + container process-node-templates { + description + "Node Memory threshold templates"; + list process-node-template { + key "template-name"; + description + "Node Memory threshold template instance"; + container average-cpu-used { + presence "enable average-cpu-used"; + description + "Average %CPU utilization"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32 { + range "0..100"; + } + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32 { + range "0..100"; + } + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container peak-memory { + presence "enable peak-memory"; + description + "Max memory (KBytes) used since startup time"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container no-threads { + presence "enable no-threads"; + description + "Number of threads"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32 { + range "0..32767"; + } + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32 { + range "0..32767"; + } + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses SAMPLE-INTERVAL; + } + } + } + container memory-node { + description + "Node Memory threshold configuration"; + container memory-node-templates { + description + "Node Memory threshold configuration templates"; + list memory-node-template { + key "template-name"; + description + "Node Memory threshold configuration template + instance"; + container peak-memory { + presence "enable peak-memory"; + description + "Maximum memory (KBytes) used"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32 { + range "0..4194304"; + } + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32 { + range "0..4194304"; + } + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + container curr-memory { + presence "enable curr-memory"; + description + "Current memory (Bytes) in use"; + leaf operator { + type Pm-threshold-op; + description + "Operator"; + } + leaf value { + type uint32; + description + "Threshold value (or start range value for + operator RG)"; + } + leaf end-range-value { + type uint32; + description + "Threshold end range value (for operator RG, + set to 0 otherwise)"; + } + leaf percent { + type boolean; + description + "Set to TRUE if Specified threshold values + are in percent"; + } + leaf rearm-type { + type Pm-threshold-rearm; + description + "Configure the Rearm type"; + } + leaf rearm-window { + type Pm-threshold-rearm-window; + description + "Configure the rearm window size (for rearm + type Window)"; + } + } + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses SAMPLE-INTERVAL; + } + } + } + container ospfv3-protocol { + description + "OSPF v2 Protocol threshold configuration"; + container ospfv3-protocol-templates { + description + "OSPF v2 Protocol threshold templates"; + list ospfv3-protocol-template { + key "template-name"; + description + "OSPF v2 Protocol threshold template instance"; + leaf template-name { + type xr:Cisco-ios-xr-string; + description + "Template Name"; + } + uses INPUT-LSA-ACKS-LSA; + uses OUTPUT-DB-DS-LSA; + uses INPUT-DB-DS-LSA; + uses INPUT-LSA-UPDATES; + uses OUTPUT-DB-DS; + uses OUTPUT-LSA-UPDATES-LSA; + uses INPUT-DB-DS; + uses INPUT-LSA-UPDATES-LSA; + uses MANAGEABILITY-PERF-THRESH-CFG-SAMPLE-INTERVAL; + uses OUTPUT-PACKETS; + uses INPUT-PACKETS; + uses OUTPUT-HELLO-PACKETS; + uses INPUT-HELLO-PACKETS; + uses OUTPUT-LS-REQUESTS; + uses OUTPUT-LSA-ACKS-LSA; + uses OUTPUT-LSA-ACKS; + uses INPUT-LSA-ACKS; + uses OUTPUT-LSA-UPDATES; + uses OUTPUT-LS-REQUESTS-LSA; + uses INPUT-LS-REQUESTS-LSA; + uses INPUT-LS-REQUESTS; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-datatypes.yang new file mode 100644 index 000000000..c8df7b595 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-datatypes.yang @@ -0,0 +1,45 @@ +module Cisco-IOS-XR-manageability-perfmgmt-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-datatypes"; + prefix manageability-perfmgmt-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pid-range { + type uint32 { + range "0..4294967295"; + } + description + "Pid range"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper-sub1.yang new file mode 100644 index 000000000..70ca1941a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper-sub1.yang @@ -0,0 +1,737 @@ +submodule Cisco-IOS-XR-manageability-perfmgmt-oper-sub1 { + belongs-to Cisco-IOS-XR-manageability-perfmgmt-oper { + prefix Cisco-IOS-XR-manageability-perfmgmt-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR manageability-perfmgmt package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-05 { + description + "changed bandwidth type from 32-bit to 64-bit"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PM-INTERFACE-DATARATE-BAG { + description + "Datarate information"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf input-data-rate { + type uint32; + units "bit/s"; + description + "Input datarate in 1000's of bps"; + } + leaf input-packet-rate { + type uint32; + units "packet/s"; + description + "Input packets per second"; + } + leaf output-data-rate { + type uint32; + units "bit/s"; + description + "Output datarate in 1000's of bps"; + } + leaf output-packet-rate { + type uint32; + units "packet/s"; + description + "Output packets per second"; + } + leaf input-peak-rate { + type uint32; + description + "Peak input datarate"; + } + leaf input-peak-pkts { + type uint32; + description + "Peak input packet rate"; + } + leaf output-peak-rate { + type uint32; + description + "Peak output datarate"; + } + leaf output-peak-pkts { + type uint32; + description + "Peak output packet rate"; + } + leaf bandwidth { + type uint64; + units "kbit/s"; + description + "Bandwidth (in kbps)"; + } + } + + grouping PM-INTERFACE-BASIC-STATS { + description + "PM Interface Basic Counters"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds from UCT"; + } + leaf in-packets { + type uint64; + description + "Packets received"; + } + leaf in-octets { + type uint64; + units "byte"; + description + "Bytes received"; + } + leaf out-packets { + type uint64; + description + "Packets sent"; + } + leaf out-octets { + type uint64; + units "byte"; + description + "Bytes sent"; + } + leaf input-total-drops { + type uint64; + description + "Inbound correct packets discarded"; + } + leaf input-queue-drops { + type uint64; + description + "Input queue drops"; + } + leaf input-total-errors { + type uint64; + description + "Inbound incorrect packets discarded"; + } + leaf output-total-drops { + type uint64; + description + "Outbound correct packets discarded"; + } + leaf output-queue-drops { + type uint64; + description + "Output queue drops"; + } + leaf output-total-errors { + type uint64; + description + "Outbound incorrect packets discarded"; + } + } + + grouping PM-INTERFACE-GENERIC-BAG { + description + "PM Interface Generic Counters"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf in-packets { + type uint64; + description + "Packets received"; + } + leaf in-octets { + type uint64; + units "byte"; + description + "Bytes received"; + } + leaf out-packets { + type uint64; + description + "Packets sent"; + } + leaf out-octets { + type uint64; + units "byte"; + description + "Bytes sent"; + } + leaf in-ucast-pkts { + type uint64; + description + "Unicast packets received"; + } + leaf in-multicast-pkts { + type uint64; + description + "Multicast packets received"; + } + leaf in-broadcast-pkts { + type uint64; + description + "Broadcast packets received"; + } + leaf out-ucast-pkts { + type uint64; + description + "Unicast packets sent"; + } + leaf out-multicast-pkts { + type uint64; + description + "Multicast packets sent"; + } + leaf out-broadcast-pkts { + type uint64; + description + "Broadcast packets sent"; + } + leaf output-total-drops { + type uint32; + description + "Outbound correct packets discarded"; + } + leaf input-total-drops { + type uint32; + description + "Inbound correct packets discarded"; + } + leaf input-queue-drops { + type uint32; + description + "Input queue drops"; + } + leaf input-unknown-proto { + type uint32; + description + "Inbound packets discarded with unknown proto"; + } + leaf output-total-errors { + type uint32; + description + "Outbound incorrect packets discarded"; + } + leaf output-underrun { + type uint32; + description + "Output underruns"; + } + leaf input-total-errors { + type uint32; + description + "Inbound incorrect packets discarded"; + } + leaf input-crc { + type uint32; + description + "Inbound packets discarded with incorrect CRC"; + } + leaf input-overrun { + type uint32; + description + "Input overruns"; + } + leaf input-frame { + type uint32; + description + "Inbound framing errors"; + } + } + + grouping PM-BGP-NBR-BAG { + description + "PM BGP Neighbor Information"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf input-messages { + type uint32; + description + "Number of messages received"; + } + leaf output-messages { + type uint32; + description + "Number of messages sent"; + } + leaf input-update-messages { + type uint32; + description + "Number of update messages received"; + } + leaf output-update-messages { + type uint32; + description + "Number of update messages sent"; + } + leaf conn-established { + type uint32; + description + "Number of times the connection was established"; + } + leaf conn-dropped { + type uint32; + description + "Number of times connection was dropped"; + } + leaf errors-received { + type uint32; + description + "Number of error notifications received on the + connection"; + } + leaf errors-sent { + type uint32; + description + "Number of error notifications sent on the + connection"; + } + } + + grouping PM-NODE-MEM-BAG { + description + "PM System Resources Memory Information"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf curr-memory { + type uint32; + units "byte"; + description + "Current application memory (Bytes) in use"; + } + leaf peak-memory { + type uint32; + units "megabyte"; + description + "Max. system memory (MBytes) used since bootup"; + } + } + + grouping PM-NODE-PROCESS-BAG { + description + "PM Process CPU and Memory Information"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf peak-memory { + type uint32; + units "kilobyte"; + description + "Max. dynamic memory (KBytes) used since startup + time"; + } + leaf average-cpu-used { + type uint32; + description + "Average %CPU utilization"; + } + leaf no-threads { + type uint32; + description + "Number of threads"; + } + } + + grouping PM-NODE-CPU-BAG { + description + "PM System Resources CPU Information"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf no-processes { + type uint32; + description + "Number of processes in the system"; + } + leaf average-cpu-used { + type uint32; + description + "Average system %CPU utilization"; + } + } + + grouping PM-MPLS-LDP-BAG { + description + "PM MPLS LDP Neighbor bag"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf total-msgs-sent { + type uint16; + description + "Total messages sent"; + } + leaf total-msgs-rcvd { + type uint16; + description + "Total messages received"; + } + leaf init-msgs-sent { + type uint16; + description + "Init messages sent"; + } + leaf init-msgs-rcvd { + type uint16; + description + "Tnit messages received"; + } + leaf address-msgs-sent { + type uint16; + description + "Address messages sent"; + } + leaf address-msgs-rcvd { + type uint16; + description + "Address messages received"; + } + leaf address-withdraw-msgs-sent { + type uint16; + description + "Address withdraw messages sent"; + } + leaf address-withdraw-msgs-rcvd { + type uint16; + description + "Address withdraw messages received"; + } + leaf label-mapping-msgs-sent { + type uint16; + description + "Label mapping messages sent"; + } + leaf label-mapping-msgs-rcvd { + type uint16; + description + "Label mapping messages received"; + } + leaf label-withdraw-msgs-sent { + type uint16; + description + "Label withdraw messages sent"; + } + leaf label-withdraw-msgs-rcvd { + type uint16; + description + "Label withdraw messages received"; + } + leaf label-release-msgs-sent { + type uint16; + description + "Label release messages sent"; + } + leaf label-release-msgs-rcvd { + type uint16; + description + "Label release messages received"; + } + leaf notification-msgs-sent { + type uint16; + description + "Notification messages sent"; + } + leaf notification-msgs-rcvd { + type uint16; + description + "Notification messages received"; + } + leaf keepalive-msgs-sent { + type uint16; + description + "Keepalive messages sent"; + } + leaf keepalive-msgs-rcvd { + type uint16; + description + "Keepalive messages received"; + } + } + + grouping PM-OSPF-V3PROTO-BAG { + description + "PM OSPF v3 Protocol Information"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf input-packets { + type uint32; + description + "Total number of packets received"; + } + leaf output-packets { + type uint32; + description + "Total number of packets sent"; + } + leaf input-hello-packets { + type uint32; + description + "Number of Hello packets received"; + } + leaf output-hello-packets { + type uint32; + description + "Number of Hello packets sent"; + } + leaf input-db-ds { + type uint32; + description + "Number of DBD packets received"; + } + leaf input-db-ds-lsa { + type uint32; + description + "Number of LSA received in DBD packets"; + } + leaf output-db-ds { + type uint32; + description + "Number of DBD packets sent"; + } + leaf output-db-ds-lsa { + type uint32; + description + "Number of LSA sent in DBD packets"; + } + leaf input-ls-requests { + type uint32; + description + "Number of LS Requests received"; + } + leaf input-ls-requests-lsa { + type uint32; + description + "Number of LSA received in LS Requests"; + } + leaf output-ls-requests { + type uint32; + description + "Number of LS Requests sent"; + } + leaf output-ls-requests-lsa { + type uint32; + description + "Number of LSA sent in LS Requests"; + } + leaf input-lsa-updates { + type uint32; + description + "Number of LSA Updates received"; + } + leaf input-lsa-updates-lsa { + type uint32; + description + "Number of LSA received in LSA Updates"; + } + leaf output-lsa-updates { + type uint32; + description + "Number of LSA Updates sent"; + } + leaf output-lsa-updates-lsa { + type uint32; + description + "Number of LSA sent in LSA Updates"; + } + leaf input-lsa-acks { + type uint32; + description + "Number of LSA Acknowledgements received"; + } + leaf input-lsa-acks-lsa { + type uint32; + description + "Number of LSA received in LSA Acknowledgements"; + } + leaf output-lsa-acks { + type uint32; + description + "Number of LSA Acknowledgements sent"; + } + leaf output-lsa-acks-lsa { + type uint32; + description + "Number of LSA sent in LSA Acknowledgements"; + } + } + + grouping PM-OSPF-V2PROTO-BAG { + description + "PM OSPF v2 Protocol Information"; + leaf time-stamp { + type uint64; + units "second"; + description + "Timestamp of sample in seconds drom UCT"; + } + leaf input-packets { + type uint32; + description + "Total number of packets received"; + } + leaf output-packets { + type uint32; + description + "Total number of packets sent"; + } + leaf input-hello-packets { + type uint32; + description + "Number of Hello packets received"; + } + leaf output-hello-packets { + type uint32; + description + "Number of Hello packets sent"; + } + leaf input-db-ds { + type uint32; + description + "Number of DBD packets received"; + } + leaf input-db-ds-lsa { + type uint32; + description + "Number of LSA received in DBD packets"; + } + leaf output-db-ds { + type uint32; + description + "Number of DBD packets sent"; + } + leaf output-db-ds-lsa { + type uint32; + description + "Number of LSA sent in DBD packets"; + } + leaf input-ls-requests { + type uint32; + description + "Number of LS Requests received"; + } + leaf input-ls-requests-lsa { + type uint32; + description + "Number of LSA received in LS Requests"; + } + leaf output-ls-requests { + type uint32; + description + "Number of LS Requests sent"; + } + leaf output-ls-requests-lsa { + type uint32; + description + "Number of LSA sent in LS Requests"; + } + leaf input-lsa-updates { + type uint32; + description + "Number of LSA Updates received"; + } + leaf input-lsa-updates-lsa { + type uint32; + description + "Number of LSA received in LSA Updates"; + } + leaf output-lsa-updates { + type uint32; + description + "Number of LSA Updates sent"; + } + leaf output-lsa-updates-lsa { + type uint32; + description + "Number of LSA sent in LSA Updates"; + } + leaf input-lsa-acks { + type uint32; + description + "Number of LSA Acknowledgements received"; + } + leaf input-lsa-acks-lsa { + type uint32; + description + "Number of LSA received in LSA Acknowledgements"; + } + leaf output-lsa-acks { + type uint32; + description + "Number of LSA Acknowledgements sent"; + } + leaf output-lsa-acks-lsa { + type uint32; + description + "Number of LSA sent in LSA Acknowledgements"; + } + leaf checksum-errors { + type uint32; + description + "Number of packets received with checksum errors"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper.yang new file mode 100644 index 000000000..194cc8e31 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-manageability-perfmgmt-oper.yang @@ -0,0 +1,419 @@ +module Cisco-IOS-XR-manageability-perfmgmt-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-oper"; + prefix manageability-perfmgmt-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-manageability-perfmgmt-oper-sub1 { + revision-date 2020-11-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR manageability-perfmgmt package operational data. + + This module contains definitions + for the following management objects: + perf-mgmt: Performance Management agent operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-05 { + description + "changed bandwidth type from 32-bit to 64-bit"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pm-process-id { + type uint32; + description + "Pm process id"; + } + + typedef Pm-sample-id { + type uint32; + description + "Pm sample id"; + } + + grouping MPLS { + description + "Common node of periodic, monitor"; + container mpls { + description + "Collected MPLS data"; + container ldp-neighbors { + description + "LDP neighbors for which statistics are + collected"; + list ldp-neighbor { + key "nbr"; + description + "Samples for a particular LDP neighbor"; + container samples { + description + "Samples for a particular LDP neighbor"; + list sample { + key "sample-id"; + description + "LDP neighbor statistics sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-MPLS-LDP-BAG; + } + } + leaf nbr { + type inet:ipv4-address-no-zone; + description + "Neighbor Address"; + } + } + } + } + } + + grouping INTERFACE { + description + "Common node of periodic, monitor"; + container interface { + description + "Collected Interface data"; + container generic-counter-interfaces { + description + "Interfaces for which Generic Counters are + collected"; + list generic-counter-interface { + key "interface-name"; + description + "Samples for a particular interface"; + container samples { + description + "Generic Counter samples for an interface"; + list sample { + key "sample-id"; + description + "Generic Counters sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-INTERFACE-GENERIC-BAG; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + container basic-counter-interfaces { + description + "Interfaces for which Basic Counters are + collected"; + list basic-counter-interface { + key "interface-name"; + description + "Samples for a particular interface"; + container samples { + description + "Basic Counter samples for an interface"; + list sample { + key "sample-id"; + description + "Basic Counters sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-INTERFACE-BASIC-STATS; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + container data-rate-interfaces { + description + "Interfaces for which Data Rates are collected"; + list data-rate-interface { + key "interface-name"; + description + "Samples for a particular interface"; + container samples { + description + "Data Rate samples for an interface"; + list sample { + key "sample-id"; + description + "Data Rates sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-INTERFACE-DATARATE-BAG; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + } + } + + grouping NODE-TABLE { + description + "Common node of periodic, monitor"; + container nodes { + description + "Nodes for which data is collected"; + list node { + key "node-id"; + description + "Node Instance"; + container sample-xr { + description + "Node CPU data"; + list sample { + key "sample-id"; + description + "Node CPU data sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-NODE-CPU-BAG; + } + } + container processes { + description + "Processes data"; + list process { + key "process-id"; + description + "Process data"; + container samples { + description + "Process data"; + list sample { + key "sample-id"; + description + "Process data sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-NODE-PROCESS-BAG; + } + } + leaf process-id { + type Pm-process-id; + description + "Process ID"; + } + } + } + container samples { + description + "Node Memory data"; + list sample { + key "sample-id"; + description + "Node Memory data sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-NODE-MEM-BAG; + } + } + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + + grouping OSPF { + description + "Common node of periodic, monitor"; + container ospf { + description + "Collected OSPF data"; + container ospfv2-protocol-instances { + description + "OSPF v2 instances for which protocol statistics + are collected"; + list ospfv2-protocol-instance { + key "instance-name"; + description + "Protocol samples for a particular OSPF v2 + instance"; + container samples { + description + "Sample Table for an OSPV v2 instance"; + list sample { + key "sample-id"; + description + "Generic Counters sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-OSPF-V2PROTO-BAG; + } + } + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OSPF Instance Name"; + } + } + } + container ospfv3-protocol-instances { + description + "OSPF v3 instances for which protocol statistics + are collected"; + list ospfv3-protocol-instance { + key "instance-name"; + description + "Protocol samples for a particular OSPF v3 + instance"; + container samples { + description + "Sample Table for an OSPV v3 instance"; + list sample { + key "sample-id"; + description + "Generic Counters sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-OSPF-V3PROTO-BAG; + } + } + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "OSPF Instance Name"; + } + } + } + } + } + + grouping BGP { + description + "Common node of periodic, monitor"; + container bgp { + description + "Collected BGP data"; + container bgp-neighbors { + description + "Neighbors for which statistics are collected"; + list bgp-neighbor { + key "ip-address"; + description + "Samples for particular neighbor"; + container samples { + description + "Sample Table for a BGP neighbor"; + list sample { + key "sample-id"; + description + "Neighbor statistics sample"; + leaf sample-id { + type Pm-sample-id; + description + "Sample ID"; + } + uses PM-BGP-NBR-BAG; + } + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "BGP Neighbor Identifier"; + } + } + } + } + } + + container perf-mgmt { + config false; + description + "Performance Management agent operational data"; + container periodic { + description + "Data from periodic requests"; + uses OSPF; + uses MPLS; + uses NODE-TABLE; + uses BGP; + uses INTERFACE; + } + container monitor { + description + "Data from monitor (one history period) requests"; + uses OSPF; + uses MPLS; + uses NODE-TABLE; + uses BGP; + uses INTERFACE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mdrv-lib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mdrv-lib-cfg.yang new file mode 100644 index 000000000..45c31a7c6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mdrv-lib-cfg.yang @@ -0,0 +1,81 @@ +module Cisco-IOS-XR-mdrv-lib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mdrv-lib-cfg"; + prefix mdrv-lib-cfg; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mdrv-lib package configuration. + + This module contains definitions + for the following management objects: + fast-shutdown: Fast Shutdown configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf fast-shutdown { + type empty; + description + "Enable Fast Shutdown for this interface"; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf mac-addr { + type yang:mac-address; + description + "Set the Mac address on an interface"; + } + } + container fast-shutdown { + description + "Fast Shutdown configuration"; + leaf ethernet { + type empty; + description + "Enable Fast Shutdown for all Ethernet interfaces"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper-sub1.yang new file mode 100644 index 000000000..b7b3a4a9b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper-sub1.yang @@ -0,0 +1,83 @@ +submodule Cisco-IOS-XR-mediasvr-linux-oper-sub1 { + belongs-to Cisco-IOS-XR-mediasvr-linux-oper { + prefix Cisco-IOS-XR-mediasvr-linux-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mediasvr-linux package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-11 { + description + "Breaking show media result string into fields"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SHOW-MEDIA-EDM-PARTITION { + description + "SHOW MEDIA EDM PARTITION"; + leaf name-xr { + type string { + length "0..32"; + } + description + "string name"; + } + leaf size { + type string { + length "0..16"; + } + description + "string size"; + } + leaf used { + type string { + length "0..16"; + } + description + "string used"; + } + leaf percent { + type string { + length "0..16"; + } + units "percentage"; + description + "string percent"; + } + leaf avail { + type string { + length "0..16"; + } + description + "string avail"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper.yang new file mode 100644 index 000000000..13be8fab7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mediasvr-linux-oper.yang @@ -0,0 +1,82 @@ +module Cisco-IOS-XR-mediasvr-linux-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mediasvr-linux-oper"; + prefix mediasvr-linux-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mediasvr-linux-oper-sub1 { + revision-date 2020-07-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mediasvr-linux package operational data. + + This module contains definitions + for the following management objects: + media-svr: Media server CLI operations + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-11 { + description + "Breaking show media result string into fields"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container media-svr { + config false; + description + "Media server CLI operations"; + container nodes { + description + "Media Info for All Nodes"; + list node { + key "node"; + description + "Media Info for a Node"; + leaf node { + type xr:Node-id; + description + "Node Location"; + } + list partition { + key "name"; + description + "Media Partition Info"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Partition Name"; + } + uses SHOW-MEDIA-EDM-PARTITION; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub1.yang new file mode 100644 index 000000000..f2aa329de --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub1.yang @@ -0,0 +1,2279 @@ +submodule Cisco-IOS-XR-mfwd-oper-sub1 { + belongs-to Cisco-IOS-XR-mfwd-oper { + prefix Cisco-IOS-XR-mfwd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mfwd-oper-sub2 { + revision-date 2020-10-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mfwd package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-11 { + description + "Backward compatible addition in leaf ul-interface, customer-mdt-data-tree-sidacl-name, is-customer-mdt-data-tree-sidacl-present and ,is-all-customer-routes-for-tree-sid-data-mdt"; + semver:module-version "1.1.0"; + } + revision 2019-08-27 { + description + "Initial IOS-XR MFWD native model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Rsi-vrf-id { + type uint32; + description + "Rsi vrf id"; + } + + typedef Ipv4-mfwd-intf-create-state { + type enumeration { + enum "interface-state-unknown" { + value 0; + description + "Interface create status unknown"; + } + enum "interface-create-received" { + value 1; + description + "Interface created"; + } + enum "interface-delete-received" { + value 2; + description + "Interface deleted"; + } + } + description + "Ipv4 mfwd intf create state"; + } + + typedef Ipv4-mfwd-idb-intf { + type enumeration { + enum "physical-interface" { + value 0; + description + "Physical interface"; + } + enum "vlan-over-bundle-interface" { + value 1; + description + "Vlan over Bundle interface"; + } + enum "layer3-tunnel-interface" { + value 2; + description + "Layer 3 tunnel interface"; + } + enum "layer2-bundle-interface" { + value 3; + description + "Layer 2 bundle interface"; + } + enum "loopback-interface" { + value 4; + description + "Loopback interface"; + } + enum "service-virtual-interface" { + value 5; + description + "Service virtual interface"; + } + enum "mdt-interface" { + value 6; + description + "MDT interface"; + } + enum "unsupported-interface" { + value 7; + description + "Unsupported interface"; + } + enum "bridged-virtual-interface" { + value 8; + description + "Bridged virtual interface"; + } + enum "pointto-point-protocol-over-ethernet-interface" { + value 9; + description + "Point to Point Protocol Over Ethernet"; + } + enum "psuedo-wire-ether-interface" { + value 10; + description + "Psuedo Wire Ether Interface"; + } + enum "vlan-over-psuedo-wire-interface" { + value 11; + description + "Vlan over Psuedo Wire Interface"; + } + enum "csi-interface" { + value 12; + description + "CSI Interface"; + } + } + description + "Ipv4 mfwd idb intf"; + } + + typedef Ipv4-mfwd-show-encap { + type enumeration { + enum "any" { + value 0; + description + "Any Type"; + } + enum "lsmid" { + value 1; + description + "LSM Type"; + } + enum "teifh" { + value 2; + description + "TE Type"; + } + enum "gre" { + value 3; + description + "GRE Type"; + } + enum "nh" { + value 4; + description + "Nexthop Type"; + } + enum "timofrr" { + value 5; + description + "MOFRR Type"; + } + } + description + "Ipv4 mfwd show encap"; + } + + typedef Mfwd-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + typedef Ipv4-mfwd-show-ctid { + type enumeration { + enum "any" { + value 0; + description + "any"; + } + enum "ipv4" { + value 1; + description + "ipv4"; + } + enum "ipv6" { + value 2; + description + "ipv6"; + } + enum "none" { + value 3; + description + "none"; + } + } + description + "Ipv4 mfwd show ctid"; + } + + typedef Ipv4-mfwd-tbl-location { + type enumeration { + enum "remote-table" { + value 0; + description + "Remote table"; + } + enum "pending-local-table" { + value 1; + description + "Pending local table"; + } + enum "local-table" { + value 2; + description + "Local table"; + } + } + description + "Ipv4 mfwd tbl location"; + } + + typedef Ipv4-mfwd-nsf-modes { + type enumeration { + enum "undefined" { + value -1; + description + "undefined"; + } + enum "boot" { + value 0; + description + "boot"; + } + enum "normal" { + value 1; + description + "normal"; + } + enum "no-mfwd" { + value 2; + description + "no mfwd"; + } + enum "mcast-nsf" { + value 3; + description + "mcast nsf"; + } + enum "updating" { + value 4; + description + "updating"; + } + } + description + "Ipv4 mfwd nsf modes"; + } + + grouping MFWD-BVI-INTERFACE-BAG { + description + "MFWD BVI INTERFACE BAG"; + leaf vrf-id { + type Rsi-vrf-id; + description + "Vrf Id"; + } + leaf vrf-name { + type string; + description + "Vrf Name"; + } + } + + grouping IPV4-MFWD-IMDR-BAG { + description + "List of IMDR state"; + leaf imdr-end-of-download-start-received { + type boolean; + description + "IMDR End Of Download Start received state"; + } + leaf fib-end-of-download-received { + type boolean; + description + "FIB End Of Download state"; + } + leaf im-end-of-download-received { + type boolean; + description + "IM End Of Download state"; + } + leaf mfwd-end-of-download-sent { + type boolean; + description + "MFWD End Of Download send state"; + } + } + + grouping IPV4-MFWD-CONNECTION-BAG { + description + "List of connections"; + leaf-list connection { + type boolean; + description + "Array containing status of each connection"; + } + } + + grouping IPV4-MFWD-SVD-PENDING-BAG { + description + "SVD Pending table entry"; + leaf pending-table-id { + type uint32; + description + "Table ID"; + } + leaf pending-table-name { + type string; + description + "Table Name"; + } + } + + grouping IPV4-MFWD-SVD-BAG { + description + "MFWD SVD info"; + leaf bcdl-reset-timer { + type uint32; + description + "BCDL reset timer"; + } + leaf is-bcd-just-reset { + type boolean; + description + "BCDL connection state"; + } + leaf is-platform-svd-state { + type boolean; + description + "Platform SVD state"; + } + leaf platform-svd-reason { + type uint32; + description + "Platform SVD update reason"; + } + list pending-local-tbl { + description + "Pending Local table"; + uses IPV4-MFWD-SVD-PENDING-BAG; + } + } + + grouping IPV4-MFWD-ENCAP-BAG { + description + "MFWD Encap Table information"; + container source-xr { + description + "Source address"; + uses IPV4-MFWD-CTID-BAG; + } + container group-prefix { + description + "Group address prefix"; + uses IPV4-MFWD-CTID-BAG; + } + container orig-source { + description + "Orig source address"; + uses MFWD-ADDRTYPE; + } + leaf group-prefix-length { + type uint16; + description + "Group address prefix length"; + } + leaf encapsulation-reference-count { + type uint32; + description + "No of VRF routes using this encap "; + } + leaf mdt-interface { + type xr:Interface-name; + description + "MDT Interface"; + } + leaf associated-table-id { + type uint32; + description + "Associated Table ID"; + } + } + + grouping IPV4-MFWD-COUNTER-BAG { + description + "Counter entry"; + leaf description { + type string { + length "0..128"; + } + description + "Description of the counter"; + } + leaf count { + type uint32; + description + "Value of the counter"; + } + } + + grouping IPV4-MFWD-TABLE-COUNTERS-BAG { + description + "MFIB counters"; + list counters { + description + "Counters in the main MFIB table"; + uses IPV4-MFWD-COUNTER-BAG; + } + } + + grouping IPV4-MFWD-ATTRIB-INTF-BAG { + description + "MFWD Interface level flags"; + leaf is-forward { + type boolean; + description + "Forwarding flag"; + } + leaf is-accept { + type boolean; + description + "Accepting flag"; + } + leaf is-accept-backup { + type boolean; + description + "Backup Accepting flag"; + } + leaf is-internal-copy { + type boolean; + description + "Internal Copy flag"; + } + leaf is-negate-signal { + type boolean; + description + "Negate Signal"; + } + leaf is-donot-preserve { + type boolean; + description + "Don't preserve flag"; + } + leaf is-signal-present { + type boolean; + description + "Signal Present flag"; + } + leaf is-internal-interest { + type boolean; + description + "Internal Interest flag"; + } + leaf is-internal-disinterest { + type boolean; + description + "Internal Disinterest flag"; + } + leaf is-local-interest { + type boolean; + description + "Local Interest flag"; + } + leaf is-local-disinterest { + type boolean; + description + "Local Disinterest flag"; + } + leaf is-decapsulation-interface { + type boolean; + description + "Decaps interface flag"; + } + leaf is-underlying-physical-change { + type boolean; + description + "Underlying physical change flag"; + } + leaf is-encapsulated-interface { + type boolean; + description + "Encapsulated interface flag"; + } + leaf is-egress-interface { + type boolean; + description + "Egress processing flag"; + } + leaf is-mdt-interface { + type boolean; + description + "MDT Interface flag"; + } + leaf is-mldp-mdt-interface { + type boolean; + description + "MLDP MDT Interface flag"; + } + leaf is-rsvp-te-mdt-interface { + type boolean; + description + "RSVP-TE MDT Interface flag"; + } + leaf is-ir-mdt-interface { + type boolean; + description + "IR MDT Interface flag"; + } + leaf is-tr-mdt-interface { + type boolean; + description + "TreeSID MDT Interface flag"; + } + leaf is-mdt-data-triggered { + type boolean; + description + "Data MDT triggered on this interface"; + } + leaf is-label-interface { + type boolean; + description + "Label Interface flag"; + } + leaf is-extranet { + type boolean; + description + "Extranet flag"; + } + leaf turn-around { + type boolean; + description + "Turnaround flag"; + } + leaf amt { + type boolean; + description + "AMT flag"; + } + } + + grouping IPV4-MFWD-INTRF-BAG { + description + "MFIB multicast-forwarding entry"; + container interface-attributes { + description + "Interface attributes"; + uses IPV4-MFWD-ATTRIB-INTF-BAG; + } + leaf type { + type uint32; + description + "Type of Interface"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf ul-interface { + type xr:Interface-name; + description + "Underlying Interface"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf stale-interface { + type boolean; + description + "Interface is stale"; + } + leaf amt-port { + type uint16; + description + "AMT Port"; + } + leaf nexthop { + type inet:ipv4-address; + description + "Nexthop"; + } + leaf amt-nexthop { + type inet:ipv4-address; + description + "AMT Nexthop"; + } + leaf amt-mtu { + type uint16; + description + "AMT MTU"; + } + leaf amt-tos { + type uint8; + description + "AMT TOS"; + } + leaf amt-ttl { + type uint8; + description + "AMT TTL"; + } + leaf amt-source { + type inet:ipv4-address; + description + "AMT Source"; + } + leaf amt-id { + type uint32; + description + " AMT ID"; + } + leaf amt-in-pkts { + type uint64; + description + "Incoming Packtes AMT intterface"; + } + leaf amt-in-byets { + type uint64; + units "byte"; + description + "Incoming Bytes on AMT intterface"; + } + leaf amt-out-pkts { + type uint64; + description + "Outgoing Packtes on AMT intterface"; + } + leaf amt-out-bytes { + type uint64; + units "byte"; + description + "Outgoing Bytes on AMT intterface"; + } + } + + grouping IPV4-MFWD-ATTRIB-ENTRY-BAG { + description + "MFWD Entry level flags"; + leaf is-domain-local-source { + type boolean; + description + "Domain-local source flag"; + } + leaf is-source-external { + type boolean; + description + "Source external to domain"; + } + leaf is-signal-by-default-on { + type boolean; + description + "Signal by default"; + } + leaf is-directly-connected-check-set { + type boolean; + description + "Directly connected check"; + } + leaf is-inherit-accept-set { + type boolean; + description + "Inherit Accept information"; + } + leaf is-inherit-from-set { + type boolean; + description + "Inherit from information"; + } + leaf is-drop { + type boolean; + description + "Drop flag"; + } + leaf is-rpf-neighbor-present { + type boolean; + description + "RPF neighbor present flag"; + } + leaf is-multicast-nsf-on { + type boolean; + description + "Multicast NSF flag"; + } + leaf is-unicast-nsf-on { + type boolean; + description + "Unicast NSF flag"; + } + leaf is-mdt-encapsulation-on { + type boolean; + description + "MDT Encapsulation flag"; + } + leaf is-mdt-decapsulation-on { + type boolean; + description + "MDT Decapsulation flag"; + } + leaf is-mdt-address-on { + type boolean; + description + "MDT Address flag"; + } + leaf is-threshold-crossed { + type boolean; + description + "Data MDT Threshold Crossed"; + } + leaf is-mdt-handle-set { + type boolean; + description + "MDT Handle flag"; + } + leaf is-conditional-decapsulation { + type boolean; + description + "Conditional Decapsulation flag"; + } + leaf is-packet-decapsulation-true { + type boolean; + description + "Should we decapsulation pkt"; + } + leaf is-packet-decapsulation-true-v6 { + type boolean; + description + "decapsulation pkt with v6 payload"; + } + leaf is-via-lsm { + type boolean; + description + "LSM flag"; + } + leaf is-forward-mpls { + type boolean; + description + "MPLS Forward"; + } + leaf is-extranet { + type boolean; + description + "Extranet flag"; + } + leaf encapsulation-identifier { + type boolean; + description + "Encap-id present"; + } + leaf rpf-identifier { + type boolean; + description + "RPF-id present"; + } + leaf mo-frr-enabled { + type boolean; + description + "MoFRR Enable"; + } + leaf mo-frr-state { + type boolean; + description + "MOFRR State"; + } + leaf mo-frr-primary { + type boolean; + description + "MOFRR Primary"; + } + leaf mo-frr-backup { + type boolean; + description + "MOFRR Backup"; + } + leaf amt { + type boolean; + description + "AMT State"; + } + leaf vx-lan { + type boolean; + description + "VxLAN State"; + } + } + + grouping IPV4-MFWD-ROUTE-BAG { + description + "MFIB multicast-routing entry"; + container source { + description + "Source address"; + uses MFWD-ADDRTYPE; + } + container group-prefix { + description + "Group address prefix"; + uses MFWD-ADDRTYPE; + } + container orig-source { + description + "Orig source address"; + uses MFWD-ADDRTYPE; + } + container entry-attributes { + description + "Routing entry attributes"; + uses IPV4-MFWD-ATTRIB-ENTRY-BAG; + } + container parent-group-prefix { + description + "Inherit from Group address prefix"; + uses MFWD-ADDRTYPE; + } + container lsm-rpf-address { + description + "LSM RPF Address"; + uses MFWD-ADDRTYPE; + } + container mdt-default-source { + description + "Source address"; + uses IPV4-MFWD-MDTID-BAG; + } + container mdt-default-group-prefix { + description + "Group address prefix"; + uses IPV4-MFWD-MDTID-BAG; + } + leaf rsi-table-id { + type uint32; + description + "RSI Table ID"; + } + leaf group-prefix-length { + type uint16; + description + "Group address prefix length"; + } + leaf route-version { + type uint16; + description + "Route version"; + } + leaf stale-route { + type boolean; + description + "The route is stale"; + } + leaf incomplete-route { + type boolean; + description + "The route is incomplete"; + } + leaf time-last-used { + type string; + description + "Last time entry was used"; + } + leaf bytes-out { + type uint64; + units "byte"; + description + "No of bytes out"; + } + leaf bytes-rep { + type uint64; + units "byte"; + description + "No of bytes replicated"; + } + leaf packets-in { + type uint32; + description + "No of packets in"; + } + leaf packets-out { + type uint32; + description + "No of packets out"; + } + leaf packets-rep { + type uint32; + description + "No of packets replicated"; + } + leaf packets-failed-rpf { + type uint32; + description + "No of packets which failed rpf"; + } + leaf packets-failed-ttl { + type uint32; + description + "No of packets which failed TTL check"; + } + leaf outgoing-list-failure-packets { + type uint32; + description + "No of packets dropped due to null olist"; + } + leaf encapsulation-ratelimit-drops { + type uint32; + description + "No of encap packets dropped/ratelimited"; + } + leaf other-failures { + type uint32; + description + "No of packets dropped due to misc failures"; + } + leaf hardware-ingress-packets-in { + type uint64; + description + "No of packets input at ingress metro"; + } + leaf hardware-ingress-bytes-in { + type uint64; + units "byte"; + description + "No of bytes input on this interface"; + } + leaf hardware-ingres-packets-drop { + type uint64; + description + "No of packets dropped at ingress metro"; + } + leaf hardware-egress-packets-out { + type uint64; + description + "No of packets sent out at egress metro"; + } + leaf hardware-egress-packets-rep { + type uint64; + description + "No of packets replicated at egress metro"; + } + leaf hardware-egress-packets-drop { + type uint64; + description + "No of packets dropped at egress metro"; + } + leaf hardware-egress-byte-out { + type uint64; + units "byte"; + description + "No of bytes sent out at egress metro"; + } + leaf hardware-egress-byte-rep { + type uint64; + units "byte"; + description + "No of bytes replicated at egress metro"; + } + leaf is-hardware-ingress-input-counter-valid { + type boolean; + description + "Is input counter at ingress metro valid ?"; + } + leaf is-hardware-ingress-drop-counter-valid { + type boolean; + description + "Is drop counter at ingress metro valid ?"; + } + leaf is-hardware-ingress-bytes-counter-valid { + type boolean; + description + "Is bytes counter at egress metro valid ?"; + } + leaf is-hardware-egress-output-counter-valid { + type boolean; + description + "Is output counter at egress metro valid ?"; + } + leaf is-hardware-egress-replicate-counter-valid { + type boolean; + description + "Is replicated counter at egress metro valid ?"; + } + leaf is-hardware-egress-drop-counter-valid { + type boolean; + description + "Is drop counter at egress metro valid ?"; + } + leaf is-hardware-egress-fwd-bytes-counter-valid { + type boolean; + description + "Is bytes counter at egress metro valid ?"; + } + leaf is-hardware-egress-rep-bytes-counter-valid { + type boolean; + description + "Is bytes replicated counter at egress metro + valid ?"; + } + leaf parent-group-prefix-length { + type uint16; + description + "Inherit from Group address prefix length"; + } + leaf mo-frr-active { + type boolean; + description + "MoFRR Active"; + } + leaf mo-frr-sequence-number { + type uint32; + description + "MoFRR Sequence Number"; + } + leaf new-mo-frr-active { + type boolean; + description + "New MoFRR Active"; + } + leaf new-mo-frr-sequence-number { + type uint32; + description + "New MoFRR Sequence Number"; + } + leaf mo-frrhw-event { + type boolean; + description + "Is this an MoFRR Hardware Event"; + } + leaf mdt-interface { + type xr:Interface-name; + description + "MDT Interface"; + } + leaf is-mdt-encapsulation-info { + type boolean; + description + "MDT Encap information"; + } + leaf mdt-default-group-prefix-length { + type uint16; + description + "Group address prefix length"; + } + leaf mdt-associated-table-id { + type uint32; + description + "Associated Table (vrf or Core)"; + } + leaf mdt-associated-remote-table-id { + type uint32; + description + "Associated Remote Table (vrf or Core)"; + } + leaf is-mdt-data-rate-probe { + type boolean; + description + "Are we probing for rate for Data MDT ?"; + } + leaf is-mdt-data-rate-in-list { + type boolean; + description + "Are we in the list for rate calc for Data MDT ?"; + } + leaf is-mdt-data-rate-throttle { + type boolean; + description + "Is Data MDT rate calculation throttled ?"; + } + leaf mdt-data-throttle-left { + type uint32; + description + "Time remaining for throttle to be removed ?"; + } + leaf mdt-decapsulation-egress-count { + type uint32; + description + "No. of pkts decapped on SW egress node"; + } + leaf mdt-encapsulation-ingress-v4-count { + type uint32; + description + "No. of v4 pkts encapped on SW ingress node"; + } + leaf mdt-encapsulation-ingress-v6-count { + type uint32; + description + "No. of v6 pkts encapped on SW ingress node"; + } + leaf incoming-traffic-rate { + type uint64; + description + "Incoming traffic rate when MDT is forwarding"; + } + leaf is-rate-per-route { + type boolean; + description + "Are we doing rate per route ?"; + } + leaf is-prefix-accounting { + type boolean; + description + "Are we doing stats per route ?"; + } + leaf annotation { + type string; + description + "Platform annotation"; + } + leaf is-hardware-egress-bits-per-seconds-average-rate { + type uint64; + units "bit/s"; + description + "Average bps out rate"; + } + leaf is-hardware-ingress-bits-per-seconds-average-rate { + type uint64; + units "bit/s"; + description + "Average bps in rate"; + } + leaf is-hardware-egress-packet-per-seconds-average-rate { + type uint64; + description + "Average pps out rate"; + } + leaf is-hardware-ingress-packet-per-seconds-average-rate { + type uint64; + description + "Average pps in rate"; + } + leaf is-hardware-egress-bytes-rate-counte-valid { + type boolean; + description + "Is egress bits per sec rate valid?"; + } + leaf is-hardware-egress-packets-rate-counter-valid { + type boolean; + description + "Is egress packet per sec rate valid?"; + } + leaf is-hardware-ingress-bytes-rate-counter-valid { + type boolean; + description + "Is ingress bits per sec rate valid?"; + } + leaf is-hardware-ingress-packets-rate-counter-valid { + type boolean; + description + "Is ingress packet per sec rate valid?"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf rpf-table-id { + type uint32; + description + "RPF TID"; + } + leaf route-e-gcount { + type uint16; + description + "Route EG count"; + } + leaf route-encap-id { + type uint32; + description + "Encap Id"; + } + leaf rpf-id { + type uint32; + description + "RPF Id"; + } + leaf local-receiver { + type boolean; + description + "Local Receiver Flag"; + } + leaf turn-around { + type boolean; + description + "Turn Around Flag"; + } + leaf next-amt-route { + type uint64; + description + "Next AMT route"; + } + leaf prev-amt-route { + type uint64; + description + "Prev AMT route"; + } + leaf in-amt-route-list { + type boolean; + description + "Are we in the list of AMT route ?"; + } + list interface { + description + "Interfaces"; + uses IPV4-MFWD-INTRF-BAG; + } + } + + grouping IPV4-MFWD-BUNDLE-MEMBER-BAG { + description + "MFIB bundle member entry"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf ul-identifier { + type If-ul-id; + description + "UL ID"; + } + } + + grouping IPV4-MFWD-BUNDLE-INTF-BAG { + description + "MFIB bundle interface entry"; + leaf bundle-member-count { + type uint32; + description + "No. of bundle members"; + } + list member { + description + "List of currently local and active members of + the bundle"; + uses IPV4-MFWD-BUNDLE-MEMBER-BAG; + } + } + + grouping IPV4-MFWD-TUNNEL-INTF-BAG { + description + "MFIB tunnel interface entry"; + leaf is-active-tunnel { + type boolean; + description + "Is this interface an active tunnel"; + } + } + + grouping IPV4-MFWD-INTF-BAG { + description + "MFIB interface entry"; + leaf interface { + type xr:Interface-name; + description + "Interface Handle"; + } + leaf is-interface-local { + type boolean; + description + "Is interface local to the node ?"; + } + leaf multicast-packets-in { + type uint64; + description + "No. of multicast packets in"; + } + leaf multicast-packets-out { + type uint64; + description + "No. of multicast packets out"; + } + leaf ttl-threshold { + type uint8; + description + "Multicast TTL threshold"; + } + leaf referencecount { + type uint32; + description + "Referencecount of times this interface is + referenced"; + } + leaf is-multicast-interface-enabled { + type boolean; + description + "Is interface multicast enabled"; + } + } + + grouping IPV4-MFWD-INTF-DETAIL-BAG { + description + "MFIB interface detailed entry"; + container interface-info { + description + "Basic interface information"; + uses IPV4-MFWD-INTF-BAG; + } + container tunnel-info { + description + "Tunnel interface information"; + uses IPV4-MFWD-TUNNEL-INTF-BAG; + } + container bundle-info { + description + "Bundle interface information"; + uses IPV4-MFWD-BUNDLE-INTF-BAG; + } + leaf interface { + type xr:Interface-name; + description + "Interface Handle"; + } + leaf vrf-id { + type uint32; + description + "RSI VRF ID"; + } + leaf rsi-table-id { + type uint32; + description + "RSI Table ID"; + } + leaf route-count { + type uint32; + description + "No of routes associated with this interface"; + } + leaf is-explicit-enable { + type boolean; + description + "Is multicast explicitly enabled on the interface"; + } + leaf boundary-acl-name { + type string; + description + "Boundary ACL"; + } + leaf type { + type Ipv4-mfwd-idb-intf; + description + "Interface type"; + } + leaf is-multicast-adjacency-present { + type boolean; + description + "Is adjacency known on this interface ?"; + } + leaf create-status { + type Ipv4-mfwd-intf-create-state; + description + "The create status of this interface"; + } + leaf bundle-parent { + type xr:Interface-name; + description + "Bundle I/F if this I/F is member of the bundle"; + } + leaf underlying-interface { + type xr:Interface-name; + description + "Underlying interface"; + } + leaf mdt-mtu { + type uint32; + description + "MDT MTU"; + } + leaf remote-mdt-mtu { + type uint32; + description + "Remote MDT MTU"; + } + leaf special-referencecount { + type uint32; + description + "Count of Special Updates using this MDT + interface"; + } + leaf mh-referencecount { + type uint32; + description + "Count of Core routes with MH flag & using this + MDT interface"; + } + leaf mi-referencecount { + type uint32; + description + "Count of VRF routes with MI flag MDT interface"; + } + leaf is-data-plane-local { + type boolean; + description + "Is the dataplane for this interface local ?"; + } + leaf mcast-intf-config-vrf-set { + type boolean; + description + "Multicast Interface configuration VRF present"; + } + leaf mcast-intf-config-vrf-error { + type boolean; + description + "Multicast Interface configuration VRF error"; + } + leaf mcast-intf-config-vrf-name { + type string; + description + "Multicast Interface configuration VRF Name"; + } + leaf in-name-tree { + type boolean; + description + "Is interface present in global name tree"; + } + leaf learned-via-gsp { + type boolean; + description + "Is interface learned via gsp"; + } + leaf stale-im { + type boolean; + description + "Does interface has stale im info"; + } + leaf intf-flag { + type uint8; + description + "Interface flag"; + } + } + + grouping IPV4-MFWD-ENCAP-TIMOFRR-BAG { + description + "MFWD Encap Id TIMOFRR"; + container source-address { + description + "Core Source address"; + uses IPV4-MFWD-CTID-BAG; + } + container group-address { + description + "Core Group address"; + uses IPV4-MFWD-CTID-BAG; + } + } + + grouping IPV4-MFWD-ENCAP-NH-BAG { + description + "MFWD encap Id NH"; + leaf next-hop { + type inet:ipv4-address; + description + "Next hop address"; + } + } + + grouping IPV4-MFWD-ENCAP-GRE-BAG { + description + "MFWD Encap Id GRE"; + container source-address { + description + "Core Source address"; + uses IPV4-MFWD-CTID-BAG; + } + container group-address { + description + "Core Group address"; + uses IPV4-MFWD-CTID-BAG; + } + } + + grouping IPV4-MFWD-SHOW-ENCAP { + description + "IPV4 MFWD SHOW ENCAP"; + container encap-gre { + when "../type = 'gre'" { + description + "../Type = 'gre'"; + } + description + "GRE"; + uses IPV4-MFWD-ENCAP-GRE-BAG; + } + container encap-nh { + when "../type = 'nh'" { + description + "../Type = 'nh'"; + } + description + "NH"; + uses IPV4-MFWD-ENCAP-NH-BAG; + } + container encap-timofrr { + when "../type = 'timofrr'" { + description + "../Type = 'timofrr'"; + } + description + "TIMOFRR"; + uses IPV4-MFWD-ENCAP-TIMOFRR-BAG; + } + leaf type { + type Ipv4-mfwd-show-encap; + description + "Type"; + } + leaf lsm-id { + when "../type = 'lsmid'" { + description + "../Type = 'lsmid'"; + } + type uint32; + description + "Core LSM ID"; + } + leaf te-ifhandle { + when "../type = 'teifh'" { + description + "../Type = 'teifh'"; + } + type xr:Interface-name; + description + "Core TE Ifhandle"; + } + } + + grouping IPV4-MFWD-ENCAPLEAF-BAG { + description + "MFWD encap leaf entry"; + container type { + description + "Encap Leaf Type"; + uses IPV4-MFWD-SHOW-ENCAP; + } + leaf leaf-tr { + type boolean; + description + "Encap Leaf Turnaround"; + } + } + + grouping IPV4-MFWD-ENCAPID-BAG { + description + "MFWD encap id entry"; + leaf encap-id-xr { + type uint32; + description + "Encap ID"; + } + leaf stale-flag { + type boolean; + description + "Stale flag"; + } + leaf encap-lookup-flag { + type boolean; + description + "IP Lookup flag"; + } + leaf encap-route-count { + type uint32; + description + "Number of Routes using this Encap"; + } + leaf interface-e-gcount { + type uint32; + description + "Number of egress interfaces using this encapid"; + } + leaf interface-eg-from-v6 { + type boolean; + description + "Egress interfaces indicated by V6"; + } + leaf leaf-count { + type uint32; + description + "Number of Encap OLEs"; + } + leaf vr-flite-flag { + type boolean; + description + "MRIB Update VRFLite"; + } + leaf v6vr-flite-flag { + type boolean; + description + "MRIB Update v6 VRF lite"; + } + list leave { + description + "Encap Leafs"; + uses IPV4-MFWD-ENCAPLEAF-BAG; + } + } + + grouping IPV4-MFWD-ROUTE-SUMM-BAG { + description + "MFIB Route Summary"; + leaf groutes-count { + type uint32; + description + "No. of (*,G) routes"; + } + leaf sg-routes-count { + type uint32; + description + "No. of (S,G) routes"; + } + leaf groutes-stale-count { + type uint32; + description + "No. of stale (*,G) routes"; + } + leaf sg-routes-stale-count { + type uint32; + description + "No. of stale (S,G) routes"; + } + leaf groutes-incomplete-count { + type uint32; + description + "No. of incomplete (*,G) routes"; + } + leaf sg-routes-incomplete-count { + type uint32; + description + "No. of incomplete (S,G) routes"; + } + } + + grouping IPV4-MFWD-REGDB-TIMOFRR-BAG { + description + "MFWD encap reg TI MOFRR entry"; + container source-address { + description + "Core Source address"; + uses IPV4-MFWD-CTID-BAG; + } + container group-address { + description + "Core Group address"; + uses IPV4-MFWD-CTID-BAG; + } + leaf is-timofrr-core-valid { + type boolean; + description + "Is TI MOFRR Core Valid"; + } + } + + grouping IPV4-MFWD-REGDB-NH-BAG { + description + "MFWD encap reg NH entry"; + leaf next-hop { + type inet:ipv4-address; + description + "Next hop address"; + } + } + + grouping IPV4-MFWD-CTID-UNION { + description + "MRIB Core Tree ID"; + leaf mib-type { + type Ipv4-mfwd-show-ctid; + description + "MIBType"; + } + leaf ipv4ctid { + when "../mib-type = 'ipv4'" { + description + "../MIBType = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 CTID"; + } + leaf any-ctid { + when "../mib-type = 'any'" { + description + "../MIBType = 'Any'"; + } + type uint32; + description + "Any CTID"; + } + } + + grouping IPV4-MFWD-CTID-BAG { + description + "MRIB Core Tree ID"; + container ctid { + description + "Core Tree ID"; + uses IPV4-MFWD-CTID-UNION; + } + leaf mib-type { + type Ipv4-mfwd-show-ctid; + description + "MIB type Deprecated by CTID"; + } + leaf id { + type uint32; + description + "ID Deprecated by CTID"; + } + } + + grouping IPV4-MFWD-REGDB-GRE-BAG { + description + "MFWD encap reg GRE entry"; + container source-address { + description + "Core Source address"; + uses IPV4-MFWD-CTID-BAG; + } + container group-address { + description + "Core Group address"; + uses IPV4-MFWD-CTID-BAG; + } + leaf is-gre-core-valid { + type boolean; + description + "Is GRE Core Valid"; + } + } + + grouping IPV4-MFWD-REGDB-TE-BAG { + description + "MFWD encap reg TE entry"; + leaf te-ifhandle { + type xr:Interface-name; + description + "Core TE Ifhandle"; + } + leaf reg-is-ecd-stale { + type boolean; + description + "Encap reg ECD stale flag"; + } + leaf reg-is-ecd-reg { + type boolean; + description + "Encap reg ECD is registered"; + } + } + + grouping IPV4-MFWD-REGDB-LSM-BAG { + description + "MFWD encap reg LSM entry"; + leaf lsm-id { + type uint32; + description + "Core LSM ID"; + } + leaf reg-is-ecd-stale { + type boolean; + description + "encap reg ECD stale flag"; + } + leaf reg-is-ecd-reg { + type boolean; + description + "Encap reg ECD is registered"; + } + } + + grouping IPV4-MFWD-REGTYPE { + description + "IPV4 MFWD REGTYPE"; + container reg-dblsm { + when "../type = 'lsmid'" { + description + "../Type = 'lsmid'"; + } + description + "LSM Type"; + uses IPV4-MFWD-REGDB-LSM-BAG; + } + container reg-dbte { + when "../type = 'teifh'" { + description + "../Type = 'teifh'"; + } + description + "TE Type"; + uses IPV4-MFWD-REGDB-TE-BAG; + } + container reg-dbgre { + when "../type = 'gre'" { + description + "../Type = 'gre'"; + } + description + "GRE Type"; + uses IPV4-MFWD-REGDB-GRE-BAG; + } + container reg-dbnh { + when "../type = 'nh'" { + description + "../Type = 'nh'"; + } + description + "NH Type"; + uses IPV4-MFWD-REGDB-NH-BAG; + } + container reg-dbtimofrr { + when "../type = 'timofrr'" { + description + "../Type = 'timofrr'"; + } + description + "TIMOFRR TYPE"; + uses IPV4-MFWD-REGDB-TIMOFRR-BAG; + } + leaf type { + type Ipv4-mfwd-show-encap; + description + "Type"; + } + } + + grouping IPV4-MFWD-REGDB-BAG { + description + "MFWD encap reg entry"; + container registration-type { + description + "Regdb Type"; + uses IPV4-MFWD-REGTYPE; + } + leaf registration-if-handle { + type xr:Interface-name; + description + "Regdb Ifhandle"; + } + leaf encap-leaf-count { + type uint32; + description + "Encap Leaf Count"; + } + } + + grouping MFWD-BVI-MROUTE-BAG { + description + "MFWD BVI Mroute"; + container source { + description + "Source address"; + uses MFWD-ADDRTYPE; + } + container group-prefix { + description + "Group address prefix"; + uses MFWD-ADDRTYPE; + } + leaf group-prefix-length { + type uint8; + description + "Group address prefix length"; + } + } + + grouping MFWD-ADDRTYPE { + description + "MFWD ADDRTYPE"; + leaf af-name { + type Mfwd-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Addr"; + } + } + + grouping MFWD-BVI-ROUTE-BAG { + description + "MFWD BVI DB"; + container source { + description + "Source address"; + uses MFWD-ADDRTYPE; + } + container group-prefix { + description + "Group address prefix"; + uses MFWD-ADDRTYPE; + } + container orig-source { + description + "Orig Source address"; + uses MFWD-ADDRTYPE; + } + leaf group-prefix-length { + type uint8; + description + "Group address prefix length"; + } + leaf bvi-interface { + type xr:Interface-name; + description + "BVI interface"; + } + leaf table-name { + type string; + description + "Table Name"; + } + leaf uptime { + type uint64; + description + "Time entry has been active"; + } + list mroute { + description + "MRoute"; + uses MFWD-BVI-MROUTE-BAG; + } + } + + grouping IPV4-MFWD-MDTID-BAG { + description + "IPV4 MFWD MDTID BAG"; + leaf id-type { + type Ipv4-mfwd-show-ctid; + description + "IDType"; + } + leaf ipv4-mdt-address { + when "../id-type = 'ipv4'" { + description + "../IDType = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf id { + when "../id-type = 'any'" { + description + "../IDType = 'Any'"; + } + type uint32; + description + "ID"; + } + leaf ipv6-mdt-address { + when "../id-type = 'ipv6'" { + description + "../IDType = 'IPv6'"; + } + type inet:ipv4-address; + description + "IPv6 Addr"; + } + } + + grouping IPV4-MFWD-TABLE-BAG { + description + "MFWD Table information"; + container mdt-default-source { + description + "Default MDT Source address"; + uses IPV4-MFWD-MDTID-BAG; + } + container mdt-default-group-prefix { + description + "Default MDT Group address prefix"; + uses IPV4-MFWD-MDTID-BAG; + } + leaf rsi-table-name { + type string; + description + "RSI Table Name"; + } + leaf rsi-table-id { + type uint32; + description + "RSI Table ID"; + } + leaf vrf-id { + type uint32; + description + "RSI VRF ID"; + } + leaf vr-id { + type uint32; + description + "RSI VR ID"; + } + leaf is-table-active { + type boolean; + description + "Is Table active?"; + } + leaf previous-rsi-table-id { + type uint32; + description + "Previous RSI Table ID"; + } + leaf is-linked { + type boolean; + description + "Is linked to sibling table?"; + } + leaf table-type { + type uint8; + description + "table type"; + } + leaf table-location { + type Ipv4-mfwd-tbl-location; + description + "table location"; + } + leaf local-interface-count { + type uint32; + description + "Table local intf count"; + } + leaf route-count { + type uint32; + description + "Total route count"; + } + leaf mdt-default-group-prefix-length { + type uint16; + description + "Default MDT Group address prefix length"; + } + leaf mdt-interface { + type xr:Interface-name; + description + "MDT Interface handle"; + } + leaf mldp-mdt-interface { + type xr:Interface-name; + description + "MLDP MDT Interface handle"; + } + leaf inband-mdt-interface { + type xr:Interface-name; + description + "Inband MDT Interface handle"; + } + leaf star-g-inband-mdt-interface { + type xr:Interface-name; + description + "StarG Inband MDT Interface handle"; + } + leaf p2mpte-mdt-interface { + type xr:Interface-name; + description + "P2MPTE MDT Interface handle"; + } + leaf ir-mdt-interface { + type xr:Interface-name; + description + "IR MDT Interface handle"; + } + leaf tr-mdt-interface { + type xr:Interface-name; + description + "TreeSID MDT Interface handle"; + } + leaf mldp-mdt-turnaround { + type boolean; + description + "MLDP MDT Turnaround"; + } + leaf p2mpte-mdt-turnaround { + type boolean; + description + "P2MPTE MDT Turnaround"; + } + leaf ir-mdt-turnaround { + type boolean; + description + "IR MDT Turnaround"; + } + leaf tr-mdt-turnaround { + type boolean; + description + "TreeSID MDT Turnaround"; + } + leaf mdt-interface-count { + type uint32; + description + "No of routes using MDT handle"; + } + leaf is-mdt-master-linecard { + type boolean; + description + "Is this Master LC table"; + } + leaf local-egress-count { + type uint32; + description + "No of local egress interfaces"; + } + leaf loopback { + type xr:Interface-name; + description + "Loopback interface handle"; + } + leaf customer-mdt-data-acl-name { + type string; + description + "Data MDT ACL Name for customer vrf"; + } + leaf customer-mdt-data-mldpacl-name { + type string; + description + "MLDP Data MDT ACL Name for customer vrf"; + } + leaf customer-mdt-data-p2mpteacl-name { + type string; + description + "P2MPTE Data MDT ACL Name for customer vrf"; + } + leaf customer-mdt-data-iracl-name { + type string; + description + "IR Data MDT ACL Name for customer vrf"; + } + leaf customer-mdt-data-tree-sidacl-name { + type string; + description + "Tree-SID Data MDT ACL Name for customer vrf"; + } + leaf is-customer-mdt-data-acl-present { + type boolean; + description + "Is Data MDT ACL present"; + } + leaf is-customer-mdt-data-mldpacl-present { + type boolean; + description + "Is MLDP Data MDT ACL present"; + } + leaf is-customer-mdt-data-p2mpteacl-present { + type boolean; + description + "Is P2MPTE Data MDT ACL present"; + } + leaf is-customer-mdt-data-iracl-present { + type boolean; + description + "Is IR Data MDT ACL present"; + } + leaf is-customer-mdt-data-tree-sidacl-present { + type boolean; + description + "Is Tree-SID Data MDT ACL present"; + } + leaf data-mdt-threshold { + type uint32; + description + "Data MDT Threshold"; + } + leaf is-all-customer-routes-for-data-mdt { + type boolean; + description + "All customer routes for data mdt ?"; + } + leaf is-all-customer-routes-for-mldp-data-mdt { + type boolean; + description + "All customer routes for MLDP data mdt ?"; + } + leaf is-all-customer-routes-for-p2mpte-data-mdt { + type boolean; + description + "All customer routes for P2MPTE data mdt ?"; + } + leaf is-all-customer-routes-for-ir-data-mdt { + type boolean; + description + "All customer routes for IR data mdt ?"; + } + leaf is-all-customer-routes-for-tree-sid-data-mdt { + type boolean; + description + "All customer routes for Tree-SID data mdt ?"; + } + leaf extranet-child-route-count { + type uint32; + description + "Number of child extranet routes"; + } + } + + grouping IPV4-MFWD-NSF-BAG { + description + "MFIB NSF state"; + leaf multicast-nsf { + type Ipv4-mfwd-nsf-modes; + units "second"; + description + "Multicast NSF state in secs"; + } + leaf multicast-nsf-time-left { + type uint32; + units "second"; + description + "Multicast NSF time remaining in secs"; + } + leaf ifcnsf { + type boolean; + description + "IFC NSF state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub2.yang new file mode 100644 index 000000000..43efeda64 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper-sub2.yang @@ -0,0 +1,62 @@ +submodule Cisco-IOS-XR-mfwd-oper-sub2 { + belongs-to Cisco-IOS-XR-mfwd-oper { + prefix Cisco-IOS-XR-mfwd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mfwd package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-11 { + description + "Backward compatible addition in leaf ul-interface, customer-mdt-data-tree-sidacl-name, is-customer-mdt-data-tree-sidacl-present and ,is-all-customer-routes-for-tree-sid-data-mdt"; + semver:module-version "1.1.0"; + } + revision 2019-08-27 { + description + "Initial IOS-XR MFWD native model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef If-ul-id { + type uint16; + description + "If ul id"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper.yang new file mode 100644 index 000000000..087bf78ea --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mfwd-oper.yang @@ -0,0 +1,462 @@ +module Cisco-IOS-XR-mfwd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mfwd-oper"; + prefix mfwd-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mfwd-oper-sub2 { + revision-date 2020-10-11; + } + include Cisco-IOS-XR-mfwd-oper-sub1 { + revision-date 2020-10-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mfwd package operational data. + + This module contains definitions + for the following management objects: + mfwd: MFWD operational data + ipv6-mfwd: IPV6 MFWD operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-11 { + description + "Backward compatible addition in leaf ul-interface, customer-mdt-data-tree-sidacl-name, is-customer-mdt-data-tree-sidacl-present and ,is-all-customer-routes-for-tree-sid-data-mdt"; + semver:module-version "1.1.0"; + } + revision 2019-08-27 { + description + "Initial IOS-XR MFWD native model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Encap { + type enumeration { + enum "any" { + value 0; + description + "Encap Any"; + } + enum "lsm" { + value 1; + description + "Encap LSM"; + } + enum "te" { + value 2; + description + "Encap TE"; + } + enum "gre" { + value 3; + description + "Encap GRE"; + } + } + description + "Encap"; + } + + grouping NODE-TABLE { + description + "Common node of mfwd, ipv6-mfwd"; + container nodes { + description + "All Nodes"; + list node { + key "node-name"; + description + "Multicast Forwarding operational data for this + particular node"; + container process { + description + "MFWD NSF Databases"; + container nsf { + description + "MFWD NSF Information"; + uses IPV4-MFWD-NSF-BAG; + } + container vrfs { + description + "Traversal in VRF Name/ID DB"; + list vrf { + key "vrf-name"; + description + "VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + uses IPV4-MFWD-TABLE-BAG; + } + } + container table-ids { + description + "Traversal using Table ID DB"; + list table-id { + key "table-id"; + description + "Table ID"; + leaf table-id { + type uint32; + description + "Table ID"; + } + uses IPV4-MFWD-TABLE-BAG; + } + } + container bvi-routes { + description + "MFWD BVI route table"; + list bvi-route { + key "interface-name source-address group-address prefix-length"; + description + "MFWD BVI route entry"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + uses MFWD-BVI-ROUTE-BAG; + } + } + } + container databases { + description + "MFWD Databases"; + list database { + key "database-name"; + description + "Database Name"; + container encap-registrations { + description + "MFWD Encap Registration"; + list encap-registration { + key "encap-type lsm-id if-handle source-address group-address"; + description + "MFWD Encap Registration"; + leaf encap-type { + type Encap; + description + "Encap Type"; + } + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf if-handle { + type uint32; + description + "IFHandle"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + uses IPV4-MFWD-REGDB-BAG; + } + } + container summary { + description + "MFWD RouteDB Summary Information"; + uses IPV4-MFWD-ROUTE-SUMM-BAG; + } + container encap-identifiers { + description + "MFWD Encap Table"; + list encap-identifier { + key "encap-id"; + description + "MFWD Encap Identifier"; + leaf encap-id { + type uint32; + description + "Encap ID"; + } + uses IPV4-MFWD-ENCAPID-BAG; + } + } + container detail-interfaces { + description + "Detailed information about MFWD Interfaces"; + list detail-interface { + key "interface-name"; + description + "Detailed MFWD Interface info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV4-MFWD-INTF-DETAIL-BAG; + } + } + container interface-routes { + description + "Display MFIB interface specific information"; + list interface-route { + key "interface-name"; + description + "Interface Table"; + container source-group-addresses { + description + "Source,Group Address Table"; + list source-group-address { + key "source-address group-address prefix-length"; + description + "List the routes associated with an + Interface"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Prefix Length"; + } + uses IPV4-MFWD-ROUTE-BAG; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + container counters { + description + "MFWD RouteDB Counters Information"; + uses IPV4-MFWD-TABLE-COUNTERS-BAG; + } + container interfaces { + description + "Information about MFWD Interfaces"; + list interface { + key "interface-name"; + description + "MFWD Interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IPV4-MFWD-INTF-BAG; + } + } + container encapsulation-infos { + description + "Encapsulation InformationTable"; + list encapsulation-info { + key "source source-address group group-address"; + description + "Encapsulation Information"; + leaf source { + type xr:Cisco-ios-xr-string { + length "1..9"; + } + description + "prev source CTID type"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "prev source CTID ID 1"; + } + leaf group { + type xr:Cisco-ios-xr-string { + length "1..9"; + } + description + "prev group CTID type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "prev group CTID ID 2"; + } + uses IPV4-MFWD-ENCAP-BAG; + } + } + container routes { + description + "The set of MRIB RouteDB operations"; + list route { + key "source-address group-address prefix-length"; + description + "MFWD Route Entry Information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Prefix Length"; + } + uses IPV4-MFWD-ROUTE-BAG; + } + } + container svd { + description + "SVD table information"; + uses IPV4-MFWD-SVD-BAG; + } + container connections { + description + "MFWD RouteDB connections information"; + uses IPV4-MFWD-CONNECTION-BAG; + } + container imdr { + description + "MFWD RouteDB IMDR status information"; + uses IPV4-MFWD-IMDR-BAG; + } + container bvi-interfaces { + description + "MFIB BVI interface mapping"; + list bvi-interface { + key "interface-name"; + description + "BVI Interface Handle"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MFWD-BVI-INTERFACE-BAG; + } + } + container route-statistics { + description + "The set of MRIB RouteDB and route statistics + operations"; + list route-statistic { + key "source-address group-address prefix-length"; + description + "MFWD Route Entry and route statistics + Information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Prefix Length"; + } + uses IPV4-MFWD-ROUTE-BAG; + } + } + leaf database-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Database Name"; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + + container mfwd { + config false; + description + "MFWD operational data"; + uses NODE-TABLE; + } + container ipv6-mfwd { + config false; + description + "IPV6 MFWD operational data"; + uses NODE-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-cfg.yang new file mode 100644 index 000000000..ef3dad3dd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-cfg.yang @@ -0,0 +1,61 @@ +module Cisco-IOS-XR-mirror-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mirror-cfg"; + prefix mirror-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mirror package configuration. + + This module contains definitions + for the following management objects: + mirror-cfg: mirror directory configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-11-08 { + description + "IOS XR 7.2.1 revision"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container mirror-cfg { + description + "mirror directory configuration commands"; + leaf mirror-cfg-checksum { + type empty; + description + "rsync will use --checksum option for determining + if file is in sync"; + } + leaf mirror-cfg-enable { + type empty; + description + "Enable mirror directory syncing to standby RP"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper-sub1.yang new file mode 100644 index 000000000..dec2a7d3b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper-sub1.yang @@ -0,0 +1,259 @@ +submodule Cisco-IOS-XR-mirror-oper-sub1 { + belongs-to Cisco-IOS-XR-mirror-oper { + prefix Cisco-IOS-XR-mirror-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mirror package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Change-bag-reason { + type enumeration { + enum "checksum" { + description + "Checksum"; + } + enum "size" { + description + "Size"; + } + enum "mod-time" { + description + "Modification time"; + } + enum "permissions" { + description + "Permissions changed"; + } + enum "owner" { + description + "Owner changed"; + } + enum "group" { + description + "Group changed"; + } + enum "reserved" { + description + ""; + } + enum "acl" { + description + "ACL changed"; + } + enum "xattr" { + description + "Extended attributes changed"; + } + enum "none" { + description + "Unknown or no mismatch. When UT_UNKNOWN or + UT_NONE."; + } + enum "sub-item" { + description + "Sub item of this dir has a change"; + } + enum "new-item" { + description + "This item is newly created"; + } + } + description + "ChangeReason"; + } + + typedef File-bag { + type enumeration { + enum "file" { + description + "File"; + } + enum "directory" { + description + "Directory"; + } + enum "symlink" { + description + "Symlink"; + } + enum "device" { + description + "Device"; + } + enum "special" { + description + "Special"; + } + enum "unknown" { + description + ""; + } + } + description + "ItemType"; + } + + typedef Update-bag { + type enumeration { + enum "send" { + description + "Send changes to standby"; + } + enum "recv" { + description + "Receive changes from standby"; + } + enum "create" { + description + "Create on standby"; + } + enum "hardlink" { + description + "Hardlink"; + } + enum "unknown" { + description + "Unexpected reason, use update_msg field"; + } + enum "none" { + description + "In sync on both active and standby"; + } + enum "delete" { + description + "Delete on standby"; + } + enum "sub-item" { + description + "Sub item of this dir needs a change"; + } + } + description + "Update"; + } + + typedef Mirror-bag-state { + type enumeration { + enum "no" { + description + "Not mirrored, and no sync in progress"; + } + enum "yes" { + description + "Mirrored"; + } + enum "in-progress" { + description + "Not mirrored, but sync in progress"; + } + } + description + "MirrorState"; + } + + grouping MIRROR-FILE-ENTRY { + description + "One item in the mirror dir"; + leaf path-xr { + type string; + description + "Path item"; + } + leaf state { + type Mirror-bag-state; + description + "What sync state item is in"; + } + leaf update { + type Update-bag; + description + "What update should be done"; + } + leaf update-msg { + type string; + description + "In case of unknown update"; + } + leaf type { + type File-bag; + description + "Item type"; + } + leaf reason { + type Change-bag-reason; + description + "Reason for mismatch"; + } + leaf checksum { + type string; + description + "MD5 checksum for mirrored files"; + } + leaf mod-time { + type uint64; + description + "Mod time for mirrored files"; + } + } + + grouping MIRROR-SYNC-ENTRY { + description + "One sync dir status"; + leaf directory-xr { + type string; + description + "Directory being synced"; + } + leaf sync-in-progress { + type boolean; + description + "True if sync is in progress"; + } + leaf start-time { + type uint64; + description + "Unix Epoch of when sync started"; + } + leaf scan-error { + type string; + description + "Empty if no error, else the dir scanning error + which prevents mirroring on this dir"; + } + leaf standby-up { + type boolean; + description + "If false, standby is not syncable"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper.yang new file mode 100644 index 000000000..7eea20942 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mirror-oper.yang @@ -0,0 +1,100 @@ +module Cisco-IOS-XR-mirror-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mirror-oper"; + prefix mirror-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mirror-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mirror package operational data. + + This module contains definitions + for the following management objects: + mirror-oper: Mirror operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container mirror-oper { + config false; + description + "Mirror operational data"; + container show-mirror-sync-entries { + description + "The list of dirs which are being synced"; + list show-mirror-sync-entry { + key "directory"; + description + "The dirs subject to syncing and if they are + currently syncing"; + leaf directory { + type string; + description + "Directory"; + } + uses MIRROR-SYNC-ENTRY; + } + } + container show-mirror-entries { + description + "Entries from show mirror"; + container show-mirror-mismatch-entries { + description + "Only entries which are not mirrored"; + list show-mirror-mismatch-entry { + key "path"; + description + "The individual path entries from show mirror"; + leaf path { + type string; + description + "Path"; + } + uses MIRROR-FILE-ENTRY; + } + } + container show-mirror-entries { + description + "All file entries from show mirror"; + list show-mirror-entry { + key "path"; + description + "The individual path entries from show mirror"; + leaf path { + type string; + description + "Path"; + } + uses MIRROR-FILE-ENTRY; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper-sub1.yang new file mode 100644 index 000000000..e852be8a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper-sub1.yang @@ -0,0 +1,1756 @@ +submodule Cisco-IOS-XR-mld-oper-sub1 { + belongs-to Cisco-IOS-XR-mld-oper { + prefix Cisco-IOS-XR-mld-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mld package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "1.1.1m"; + } + revision 2021-05-17 { + description + "Added DVMRP packet counter tracking for malloc and free."; + semver:module-version "1.1.0"; + } + revision 2019-08-27 { + description + "Initial IOS-XR MLD native model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igmp-edm-protocol { + type enumeration { + enum "no-route" { + value 0; + description + "no route"; + } + enum "sm" { + value 1; + description + "sm"; + } + enum "dm" { + value 2; + description + "dm"; + } + enum "bidir" { + value 3; + description + "bidir"; + } + enum "ssm" { + value 4; + description + "ssm"; + } + enum "any" { + value 6; + description + "any"; + } + } + description + "IGMP Protocol"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Igmp-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + typedef Im-state { + type uint32; + description + "Im state"; + } + + grouping IGMP-EDM-NSF-BAG { + description + "IGMP NSF state"; + leaf is-multicast-nsf-active { + type boolean; + description + "Is Multicast NSF active"; + } + leaf multicast-nsf-timeout { + type uint32; + units "second"; + description + "Multicast NSF timeout in secs"; + } + leaf multicast-nsf-time-left { + type uint32; + units "second"; + description + "Multicast NSF time remaining in secs"; + } + leaf respawn-count { + type uint32; + description + "Respawn Count"; + } + leaf last-nsf-on { + type int64; + description + "Last NSF time ON"; + } + leaf last-nsf-off { + type int64; + description + "Last NSF time off"; + } + leaf last-nsf-on-min { + type int32; + units "second"; + description + "Last NSF time ON in Seconds"; + } + leaf last-nsf-off-min { + type int32; + units "second"; + description + "Last NSF time OFF in Seconds"; + } + leaf last-icd-notif-recv { + type int64; + description + "Last ICD Notif Recv"; + } + leaf last-icd-notif-recv-min { + type int32; + units "second"; + description + "Last ICD Notif Recv in Seconds"; + } + } + + grouping IGMP-EDM-BVI-STATS-BAG { + description + "IGMP EDM BVI STATS BAG"; + leaf receive-buffers { + type uint32; + description + "Number of AIPC buffers received"; + } + leaf release-buffers { + type uint32; + description + "Number of AIPC buffers released"; + } + leaf send-blocks { + type uint32; + description + "Number of AIPC buffers send blocked"; + } + leaf release-fail-buffers { + type uint32; + description + "Number of AIPC buffers release failed"; + } + leaf null-buffer-handles { + type uint32; + description + "Number of AIPC NULL buffer handles"; + } + leaf rx-ipc-open-notif { + type uint32; + description + "Number of AIPC open notifications received"; + } + leaf rx-ipc-close-notif { + type uint32; + description + "Number of AIPC close notifications received"; + } + leaf rx-ipc-error-notif { + type uint32; + description + "Number of AIPC error notifications received"; + } + leaf rx-ipc-lwm-notif { + type uint32; + description + "Number of AIPC LWM notifications received"; + } + leaf rx-ipc-hwm-notif { + type uint32; + description + "Number of AIPC HWM notifications received"; + } + leaf rx-ipc-input-wait-notif { + type uint32; + description + "Number of AIPC input waiting notifications + received"; + } + leaf rx-ipc-send-status-notif { + type uint32; + description + "Number of AIPC send status notifications + received"; + } + leaf rx-ipc-publish-notif { + type uint32; + description + "Number of AIPC publish notifications received"; + } + leaf rx-ipc-q-full-notif { + type uint32; + description + "Number of AIPC queue full notifications received"; + } + leaf rx-ipc-output-notif { + type uint32; + description + "Number of AIPC output notifications received"; + } + leaf rx-ipc-connect-notif { + type uint32; + description + "Number of AIPC connect notifications received"; + } + leaf rx-igmp-packet-success { + type uint32; + description + "Number of IGMP protocol messages received"; + } + leaf rx-add-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Add messages received"; + } + leaf rx-delete-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Delete messages received"; + } + leaf rx-sweep-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Sweep messages received"; + } + leaf tx-add-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Add messages transmitted"; + } + leaf tx-delete-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Delete messages + transmitted"; + } + leaf tx-sweep-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Sweep messages received"; + } + leaf rx-unknown-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Unknown messages received"; + } + leaf tx-unknown-mrouter-msg { + type uint32; + description + "Number of IGMP Mrouter Unknown messages + transmitted"; + } + leaf tx-buffer-errors { + type uint32; + description + "Number of AIPC transmission errors"; + } + leaf tx-buffers { + type uint32; + description + "Number of AIPC buffers transmited"; + } + leaf tx-protocol-buffers { + type uint32; + description + "Number of IGMP protocol buffers transmitted"; + } + leaf tx-mrouter-buffers { + type uint32; + description + "Number of IGMP Mrouter buffers transmitted"; + } + leaf tx-unknown-buffers { + type uint32; + description + "Number of IGMP Unknown buffers transmited"; + } + leaf wtx-msg-recvd { + type uint32; + description + "Number of WTX messages received"; + } + leaf wtx-msg-sent { + type uint32; + description + "Number of WTX messages sent"; + } + leaf wtx-msg-proto-sent { + type uint32; + description + "Number of WTX messages sent to Protocol"; + } + leaf wtx-msg-drop-dc { + type uint32; + description + "Number of WTX messages dropped due to disconnect"; + } + leaf wtx-msg-drop-nomem { + type uint32; + description + "Number of WTX messages dropped to memory"; + } + leaf wtx-msg-freed { + type uint32; + description + "Number of WTX messages freed"; + } + } + + grouping IGMP-EDM-I2Q-STATS-BAG { + description + "IGMP Rate Adjust Stats"; + leaf queues { + type uint16; + description + "I2Q Queue count"; + } + leaf batches { + type uint16; + description + "I2Q Rate Batch count"; + } + leaf add-to-batches { + type uint32; + description + "Add to batch count"; + } + leaf delete-to-batches { + type uint32; + description + "Delete to batch count"; + } + leaf send-success { + type uint32; + description + "Send Success count"; + } + leaf send-errors { + type uint32; + description + "Number of Send errors in batch"; + } + leaf send-comm-errors { + type uint32; + description + "Send Error due to comms count"; + } + leaf send-partial-errors { + type uint32; + description + "Send Error due to partial issue count"; + } + leaf received-resync-requests { + type uint32; + description + "Number of Resync request received"; + } + leaf sent-resync-bulks { + type uint32; + description + "Number of bulks sent for last resync received"; + } + leaf is-resync-received { + type boolean; + description + "Is Resync request received"; + } + leaf is-resync-required { + type boolean; + description + "Is Resync required"; + } + leaf is-resync-start-sent { + type boolean; + description + "Is Resync Start message sent"; + } + leaf is-qos-s-sweeped { + type boolean; + description + "Is QOS Sweeped once "; + } + leaf last-sweep-time { + type uint64; + units "second"; + description + "Time elapsed since Last mark and sweep in + seconds"; + } + leaf last-download-time { + type uint64; + units "second"; + description + "Time elapsed since Last download to QOS in + seconds"; + } + } + + grouping AMT-GW-BAG { + description + "AMT GW info"; + leaf amtgw { + type inet:ipv4-address; + description + "GW"; + } + leaf amt-port { + type uint32; + description + "Port"; + } + leaf key-len { + type uint32; + description + "Len"; + } + leaf amtnh { + type uint32; + description + "AMT NH"; + } + leaf amt-nonce { + type uint32; + description + "Nonce"; + } + leaf idb { + type uint64; + description + "IDB"; + } + leaf mem-upd-in { + type uint32; + description + "UpdIn"; + } + leaf mem-upd-out { + type uint32; + description + "UpdOut"; + } + } + + grouping IGMP-EDM-NSR-BAG { + description + "IGMP NSR state"; + leaf state { + type uint8; + description + "NSR state"; + } + leaf partner-proc-connected { + type boolean; + description + "Partner process connected"; + } + leaf collab-conv-done { + type boolean; + description + "Collaborators convergence done"; + } + leaf rmf-notification-done { + type boolean; + description + "RMF Notification done"; + } + leaf last-proc { + type uint64; + description + "Time when process came up"; + } + leaf last-proc-connection-up { + type uint64; + description + "Time when process connection went up"; + } + leaf last-proc-connection-dn { + type uint64; + description + "Time when process connection went down"; + } + leaf last-rmf-ready { + type uint64; + description + "Time when RMF Rdy notif was sent"; + } + leaf last-rmf-not-ready { + type uint64; + description + "Time when RMF Not-Rdy notif was sent"; + } + leaf count-proc-connection-up { + type uint32; + description + "No. of times process connection went up"; + } + leaf count-proc-connection-dn { + type uint32; + description + "No. of times process connection went down"; + } + leaf count-rmf-ready { + type uint32; + description + "No. of times RMF Ready notif was sent"; + } + leaf count-rmf-not-ready { + type uint32; + description + "No. of times RMF Not Ready notif was sent"; + } + } + + grouping AMT-SUMMARY-BAG { + description + "AMT summary info"; + leaf anycast-prefix { + type inet:ipv4-address; + description + "Robustness variable"; + } + leaf prefix-length { + type uint32; + description + "Advertize AMT prefix length"; + } + leaf relay-address { + type inet:ipv4-address; + description + "Advertaisment for AMT Relay address"; + } + leaf mtu { + type uint32; + description + "AMT Tunnel MTU"; + } + leaf tos { + type uint32; + description + "Type Of Service value in AMT header"; + } + leaf ttl { + type uint32; + description + "Time To Live value in AMT header"; + } + leaf query-interval { + type uint32; + description + "AMT Query interval"; + } + leaf gateway-count { + type uint32; + description + "Number of AMT Gateway"; + } + leaf max-gateway { + type uint32; + description + "Maximum Gateway allowed"; + } + leaf tunnel-count { + type uint32; + description + "AMT Tunnel Count"; + } + leaf tunnel-configured-maximum { + type uint32; + description + "AMT Tunnel configured Maximum"; + } + leaf is-acl-configured { + type boolean; + description + "ACL configured under AMT"; + } + leaf is-gateway-simulation { + type boolean; + description + "AMT Gateway Simulation"; + } + leaf is-ou-of-resource { + type boolean; + description + "AMT Out Of Resource"; + } + } + + grouping IGMP-EDM-SSM-MAP-DETAIL-BAG { + description + "IGMP SSM Map Detail List"; + container map-info { + description + "Basic Map Info"; + uses IGMP-EDM-SSM-MAP-BAG; + } + leaf expiration-time { + type uint32; + units "second"; + description + "Expiration Time in Seconds"; + } + leaf response-pending { + type boolean; + description + "Response Pending"; + } + leaf query-interval { + type uint32; + description + "Query interval"; + } + leaf elapsed-time { + type uint64; + description + "Elapsed time"; + } + list sources { + description + "List of sources"; + uses IGMP-ADDRTYPE; + } + } + + grouping IGMP-EDM-IDB-SUMM-BAG { + description + "IGMP Interface DB summary"; + leaf interface-count { + type uint32; + description + "Interface Count"; + } + leaf configuration-count { + type uint32; + description + "Configuration count"; + } + } + + grouping IGMP-EDM-GROUPS-SUMMARY-BAG { + description + "IGMP group summary entry"; + leaf groutes { + type uint32; + description + "No. of (*,G) routes"; + } + leaf sg-routes { + type uint32; + description + "No. of (S,G) routes"; + } + leaf group-count { + type uint32; + description + "Current groups accepted"; + } + leaf is-low-memory { + type boolean; + description + "Node is running low on memory"; + } + } + + grouping IGMP-EDM-TRAFFIC-BAG { + description + "IGMP Traffic Counters bag"; + leaf elapsed-time { + type uint32; + description + "Running time for counters"; + } + leaf packets-in { + type uint32; + description + "Packets in"; + } + leaf packets-out { + type uint32; + description + "Packets out"; + } + leaf format-errors { + type uint32; + description + "Malformed packets in"; + } + leaf packet-manager-input-errors { + type uint32; + description + "Incoming Packet Manager packets dropped"; + } + leaf packet-manager-output-errors { + type uint32; + description + "Outgoing Packet Manager packets dropped"; + } + leaf checksum-errors { + type uint32; + description + "Checksum errors"; + } + leaf receive-socket-errors { + type uint32; + description + "Socket errors on reception"; + } + leaf socket-errors { + type uint32; + description + "Socket errors on send"; + } + leaf bad-scope-errors { + type uint32; + description + "BadScope errors"; + } + leaf auxillary-data-length-errors { + type uint32; + description + "AuxDataLen errors"; + } + leaf invalid-source-address-errors { + type uint32; + description + "Invalid Source Address errors"; + } + leaf no-socket-connection { + type uint32; + description + "Packets dropped since no socket connection"; + } + leaf miscellaneous-errors { + type uint32; + description + "Packets dropped for other reasons"; + } + leaf input-queries { + type uint32; + description + "Query packets in"; + } + leaf input-reports { + type uint32; + description + "Reports in"; + } + leaf input-leaves { + type uint32; + description + "Leaves in"; + } + leaf input-mtrace { + type uint32; + description + "Mtrace packets in"; + } + leaf input-dvmrp { + type uint32; + description + "DVMRP packets in"; + } + leaf dvmrp-alloc { + type uint32; + description + "DVMRP buffer allocations"; + } + leaf dvmrp-free { + type uint32; + description + "DVMRP freed buffers"; + } + leaf dvmrp-drop { + type uint32; + description + "DVMRP packets dropped"; + } + leaf input-pim { + type uint32; + description + "PIM packets in"; + } + leaf output-queries { + type uint32; + description + "Query packets out"; + } + leaf output-reports { + type uint32; + description + "Reports out"; + } + leaf output-leaves { + type uint32; + description + "Leaves out"; + } + leaf output-mtrace { + type uint32; + description + "Mtrace packets out"; + } + leaf output-dvmrp { + type uint32; + description + "DVMRP packets out"; + } + leaf output-pim { + type uint32; + description + "PIM packets out"; + } + leaf get-packet-failure { + type uint32; + description + "Packet get failed"; + } + leaf output-no-parent-interface-handle { + type uint32; + description + "Failures setting 2nd ifhandle"; + } + leaf input-no-idb { + type uint32; + description + "Packets received without idb"; + } + leaf input-no-vrf-in-idb { + type uint32; + description + "Packets received on idb without VRF"; + } + leaf input-disabled-idb { + type uint32; + description + "Packet received on disabled idb"; + } + leaf input-martian-address { + type uint32; + description + "Packets received with Martian Address"; + } + leaf input-no-assigned-vrf-id { + type uint32; + description + "Packets received with no assigned vrf id"; + } + leaf input-no-vrf-mtrace { + type uint32; + description + "mtrace packets with no vrf associated"; + } + leaf input-no-platform-support-mtrace { + type uint32; + description + "mtrace packets without platform support"; + } + leaf packet-allocated { + type uint32; + description + "Number of pak allocated by IGMP"; + } + leaf packet-freed { + type uint32; + description + "Number of pak freed by IGMP"; + } + } + + grouping IGMP-EDM-IDB-IFRS-BAG { + description + "IGMP IFRS interface entry"; + container igmp-interface-entry { + description + "IGMP interface entry"; + uses IGMP-EDM-IDB-BAG; + } + leaf join-group-count { + type uint32; + description + "Join group count"; + } + } + + grouping IGMP-GROUP-RANGE { + description + "IGMP Group-Map Range"; + container group-address-xr { + description + "Group address"; + uses IGMP-ADDRTYPE; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf protocol { + type Igmp-edm-protocol; + description + "Protocol"; + } + leaf is-stale { + type boolean; + description + "Is the entry stale"; + } + } + + grouping IGMP-EDM-I2Q-INTF-RATE-BAG { + description + "IGMP-QOS Interface Rate"; + container source-address { + description + "Source address"; + uses IGMP-ADDRTYPE; + } + container group-address { + description + "Group address"; + uses IGMP-ADDRTYPE; + } + leaf is-add { + type boolean; + description + "Is this a rate increment"; + } + leaf weight { + type uint32; + description + "Weight from policy"; + } + leaf received-time { + type uint64; + description + "Time this update is received"; + } + } + + grouping IGMP-EDM-I2Q-INTF-STATS-BAG { + description + "IGMP-QOS Interface Stats"; + leaf is-virtual-access { + type boolean; + description + "Is VirtualAccess Interface"; + } + leaf rate { + type uint32; + units "kbit/s"; + description + "Overall rate in Kbps"; + } + leaf rate-increments { + type uint32; + description + "Count of rate increments"; + } + leaf rate-decrements { + type uint32; + description + "Count of rate decrements"; + } + list update { + max-elements "5"; + description + "List of updates"; + uses IGMP-EDM-I2Q-INTF-RATE-BAG; + } + } + + grouping IGMP-EDM-GROUPS-HOST-BAG { + description + "IGMP Groups host entry"; + container address { + description + "Host Address"; + uses IGMP-ADDRTYPE; + } + leaf uptime { + type uint32; + units "second"; + description + "Uptime in seconds"; + } + leaf is-exclude { + type boolean; + description + "Exclude flag set"; + } + leaf expiration-time { + type uint32; + units "second"; + description + "Expiration time in seconds"; + } + leaf source-count { + type uint32; + description + "No. of sources in entry"; + } + list source-address { + max-elements "3"; + description + "First 3 source addresses"; + uses IGMP-ADDRTYPE; + } + } + + grouping IGMP-EDM-GROUPS-ET-BAG { + description + "IGMP group explicit-tracking entry"; + container group-info { + description + "Basic Group information"; + uses IGMP-EDM-GROUPS-BAG; + } + leaf include-hosts { + type uint32; + description + "No. of hosts who are included"; + } + leaf exclude-hosts { + type uint32; + description + "No. of hosts who are excluded"; + } + list host { + description + "List of hosts"; + uses IGMP-EDM-GROUPS-HOST-BAG; + } + } + + grouping IGMP-EDM-SSM-MAP-BAG { + description + "IGMP SSM Map List"; + container group-address-xr { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + leaf map-type { + type uint32; + description + "Map Type of group"; + } + leaf source-counts { + type uint32; + description + "Count of Sources"; + } + } + + grouping IGMP-EDM-NOT-ACTIVE-GROUP-BAG { + description + "IGMP Non active group"; + container group-address { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf interface { + type string { + length "0..81"; + } + description + "Interface Name"; + } + leaf reason-for-non-activity { + type string { + length "0..257"; + } + description + "Reason for group join not being processed"; + } + } + + grouping IGMP-EDM-NOT-ACTIVE-ALLGROUPS-BAG { + description + "IGMP Non active groups list"; + list non-active-groups { + description + "List of non-active groups"; + uses IGMP-EDM-NOT-ACTIVE-GROUP-BAG; + } + } + + grouping IGMP-EDM-GROUPS-SOURCE-BAG { + description + "IGMP Groups source entry"; + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiration-time { + type int32; + units "second"; + description + "Expiration time in seconds"; + } + leaf is-local { + type boolean; + description + "Is this a local source"; + } + leaf is-remote { + type boolean; + description + "Is this a remote source"; + } + leaf is-forward { + type boolean; + description + "Should we forward on this entry"; + } + leaf is-we-report { + type boolean; + description + "Should we report the source"; + } + leaf flags { + type int32; + description + "Source flags"; + } + leaf is-added { + type boolean; + description + "Joined"; + } + leaf is-evpn-remote { + type boolean; + description + "Route learnt through EVPN"; + } + } + + grouping IGMP-EDM-GROUPS-BAG { + description + "IGMP group entry"; + container group-address-xr { + description + "Group Address"; + uses IGMP-ADDRTYPE; + } + container last-reporter { + description + "Last reporter address"; + uses IGMP-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses IGMP-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiration-time { + type int32; + units "second"; + description + "Expiration time in seconds"; + } + leaf explicit-tracking-enabled { + type boolean; + description + "Is explicit tracking enabled"; + } + leaf is-self-join { + type boolean; + description + "If local system is member of this group on this + interface"; + } + leaf row-status { + type string { + length "0..16"; + } + description + "interface on or off for the group"; + } + leaf is-low-memory { + type boolean; + description + "Node is running low on memory"; + } + leaf router-filter-mode { + type uint8; + description + "Filter mode"; + } + leaf older-host-version1-timer { + type uint32; + description + "IGMP Hostversion1timer"; + } + leaf older-host-version2-timer { + type uint32; + description + "IGMP Hostversion2timer"; + } + leaf is-added { + type boolean; + description + "Joined"; + } + leaf is-suppressed { + type boolean; + description + "Suppressed"; + } + leaf is-evpn-remote { + type boolean; + description + "EVPN remote flag"; + } + leaf is-evpn-stale { + type boolean; + description + "EVPN stale flag"; + } + } + + grouping IGMP-EDM-GROUPS-DETAIL-BAG { + description + "IGMP group detail entry"; + container group-info { + description + "Basic Group information"; + uses IGMP-EDM-GROUPS-BAG; + } + leaf is-router-exclude-mode { + type boolean; + description + "Group router filter mode"; + } + leaf is-host-exclude-mode { + type boolean; + description + "Group host filter mode"; + } + list source { + description + "List of sources"; + uses IGMP-EDM-GROUPS-SOURCE-BAG; + } + } + + grouping IGMP-ADDRTYPE { + description + "IGMP ADDRTYPE"; + leaf af-name { + type Igmp-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Addr"; + } + } + + grouping IGMP-EDM-IDB-BAG { + description + "IGMP interface entry"; + container address { + description + "IP address"; + uses IGMP-ADDRTYPE; + } + container querier-address { + description + "Address of the Querier"; + uses IGMP-ADDRTYPE; + } + container subscriber-address { + description + "Address of subscriber"; + uses IGMP-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface"; + } + leaf state { + type Im-state; + description + "Interface state"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf is-interface-up { + type boolean; + description + "Is interface up"; + } + leaf is-ip-enabled { + type boolean; + description + "Is IP enabled"; + } + leaf is-router-enabled { + type boolean; + description + "Is Router functionality enabled"; + } + leaf is-multi-homing-enabled { + type boolean; + description + "Is Multihoming enabled"; + } + leaf is-multi-homing-stale { + type boolean; + description + "Is Multihoming Update stale"; + } + leaf igmp-version { + type uint8; + description + "IGMP Router version"; + } + leaf host-version { + type uint8; + description + "IGMP Host version"; + } + leaf query-interval { + type uint16; + units "second"; + description + "Query Interval value in seconds"; + } + leaf query-timeout { + type uint16; + description + "Query Timeout value"; + } + leaf query-maximum-response-time { + type uint16; + description + "Max Response Timeout value"; + } + leaf last-member-query-interval { + type uint16; + description + "Last Member Query Interval"; + } + leaf group-joins { + type uint32; + description + "No. of group joins"; + } + leaf group-leaves { + type uint32; + description + "No. of group leaves"; + } + leaf is-querier { + type boolean; + description + "Are we querier"; + } + leaf total-active-groups { + type uint32; + description + "Actual number of groups on interface"; + } + leaf robustness { + type uint32; + description + "Robustness Variable value"; + } + leaf proxy-interface { + type xr:Interface-name; + description + "Proxy interface index"; + } + leaf querier-uptime { + type uint16; + description + "Time since the last querier took over"; + } + leaf las-ll-registration-count { + type uint32; + description + "LAS reg count"; + } + leaf las-get-address-count { + type uint32; + description + "LAS get addr count"; + } + leaf las-update-count { + type uint32; + description + "LAS Update count"; + } + leaf las-ll-remove-update-count { + type uint32; + description + "LAS LL remove update count"; + } + leaf las-ll-add-update-count { + type uint32; + description + "LAS LL add update count"; + } + leaf las-null-update-count { + type uint32; + description + "LAS Null update count"; + } + leaf las-unregistration-count { + type uint32; + description + "LAS unreg count"; + } + leaf is-las-request { + type boolean; + description + "LAS req"; + } + leaf is-las-registered { + type boolean; + description + "LAS registered"; + } + leaf vrf-id { + type uint32; + description + "VRF id"; + } + leaf mte-vrf-id { + type uint32; + description + "MTE VRF id"; + } + leaf location { + type uint32; + description + "Location"; + } + leaf mtu { + type uint32; + description + "MTU"; + } + leaf vrf-state { + type uint32; + description + "Vrf State"; + } + leaf is-configurationverify { + type boolean; + description + "CFG verify"; + } + leaf configurationvrf-set { + type boolean; + description + "CFG vrf set"; + } + leaf configurationvrf-error { + type boolean; + description + "CFG vrf error"; + } + leaf configuration-mcast-vrf-set { + type boolean; + description + "Is mcast set"; + } + leaf configuration-mcast-vrf-error { + type boolean; + description + "Is mcast error"; + } + leaf is-im-state-registered { + type boolean; + description + "Im state registered"; + } + leaf is-subscriber { + type boolean; + description + "Subscriber interface"; + } + leaf subscriber-mode { + type uint32; + description + "Subscriber mode"; + } + leaf is-identity-present { + type boolean; + description + "Subscriber ID or Address available from AAA"; + } + leaf subscriber-id { + type string { + length "0..257"; + } + description + "ID string of subscriber"; + } + leaf parent-ifhandle { + type xr:Interface-name; + description + "Parent If Handle"; + } + leaf time-since-last-query-in-seconds { + type uint32; + description + "Time elapsed since last query"; + } + leaf time-since-last-report-in-seconds { + type uint32; + description + "Time elapsed since last report"; + } + leaf router-uptime-in-seconds { + type uint32; + description + "Uptime since router enabled event"; + } + leaf mte-tuple-count { + type uint32; + description + "MTE Tuple count"; + } + } + + grouping IGMP-EDM-INTF-SUMMARY-BAG { + description + "IGMP interface summary info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + leaf group-limit { + type uint32; + description + "Maximum groups accepted per interface"; + } + leaf group-count { + type uint32; + description + "Current groups accepted per interface"; + } + leaf parent-ifhandle { + type xr:Interface-name; + description + "Parent if handle"; + } + leaf on-off { + type boolean; + description + "Enabled/Disabled"; + } + leaf time-since-last-query-in-seconds { + type uint32; + description + "Time elapsed since last query"; + } + leaf time-since-last-report-in-seconds { + type uint32; + description + "Time elapsed since last report"; + } + leaf router-uptime-in-seconds { + type uint32; + description + "Time elapsed since router enabled event"; + } + } + + grouping IGMP-EDM-SUMMARY-BAG { + description + "IGMP summary info"; + leaf robustness { + type uint32; + description + "Robustness variable"; + } + leaf group-limit { + type uint32; + description + "Maximum groups accepted"; + } + leaf group-count { + type uint32; + description + "Current groups accepted"; + } + leaf is-disabled { + type boolean; + description + "Is maximum enforcement disabled"; + } + leaf is-evpn-connection-up { + type boolean; + description + "Is EVPN connection up"; + } + leaf supported-interfaces { + type uint32; + description + "No. of supported interfaces"; + } + leaf unsupported-interfaces { + type uint32; + description + "No. of unsupported interfaces"; + } + leaf enabled-interface-count { + type uint32; + description + "No. of enabled interfaces"; + } + leaf disabled-interface-count { + type uint32; + description + "No. of disabled interfaces"; + } + leaf multi-homing-enabled-interfaces { + type uint32; + description + "No. of EVPN MH enabled interfaces"; + } + leaf tunnel-mte-config-count { + type uint32; + description + "No. of static group commands"; + } + leaf node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + leaf querier-number { + type uint32; + description + "Number of querier interfaces"; + } + list interface { + description + "Maximum and current groups accepted for each + interface"; + uses IGMP-EDM-INTF-SUMMARY-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper.yang new file mode 100644 index 000000000..fb769da0f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mld-oper.yang @@ -0,0 +1,600 @@ +module Cisco-IOS-XR-mld-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mld-oper"; + prefix mld-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mld-oper-sub1 { + revision-date 2021-12-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mld package operational data. + + This module contains definitions + for the following management objects: + mld: MLD operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "1.1.1m"; + } + revision 2021-05-17 { + description + "Added DVMRP packet counter tracking for malloc and free."; + semver:module-version "1.1.0"; + } + revision 2019-08-27 { + description + "Initial IOS-XR MLD native model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Igmpssm-map { + type enumeration { + enum "static" { + value 0; + description + "Static"; + } + enum "dns" { + value 1; + description + "Dns"; + } + enum "all" { + value 2; + description + "All"; + } + } + description + "Igmpssm map"; + } + + grouping UNICAST-QOS-ADJUST-STATS { + description + "Common node of process, process"; + container unicast-qos-adjust-stats { + description + "IGMP Unicast-Qos-Adjust Statistics"; + uses IGMP-EDM-I2Q-STATS-BAG; + } + } + + grouping INTERFACE-STATE-OFF-TABLE { + description + "Common node of vrf, default-context"; + container interface-state-offs { + description + "IGMP Interface state off"; + list interface-state-off { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + } + + grouping RANGE-TABLE { + description + "Common node of vrf, default-context"; + container ranges { + description + "Range table"; + list range { + key "group-address group-mask"; + description + "Range information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + leaf group-mask { + type uint32; + description + "Group Mask"; + } + uses IGMP-GROUP-RANGE; + } + } + } + + grouping SSM-MAP-DETAIL-TABLE { + description + "Common node of vrf, default-context"; + container ssm-map-details { + description + "SSM Map Detail"; + list ssm-map-detail { + key "ssm-map-type group-address"; + description + "SSM Map Detail Table information"; + leaf ssm-map-type { + type Igmpssm-map; + description + "SSM Map Type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses IGMP-EDM-SSM-MAP-DETAIL-BAG; + } + } + } + + grouping EXPLICIT-GROUP-TABLE { + description + "Common node of vrf, default-context"; + container explicit-groups { + description + "IGMP Explicit Group Database"; + list explicit-group { + key "group-address interface-name source-address"; + description + "IGMP Explicit Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source/Host Address"; + } + uses IGMP-EDM-GROUPS-ET-BAG; + } + } + } + + grouping AMT-GATEWAY-TABLE { + description + "Common node of process, process"; + container amt-gateways { + description + "Table containing AMT Gateway DataBase + information"; + list amt-gateway { + key "gateway-address port"; + description + "AMT Gateway DataBase information"; + leaf gateway-address { + type inet:ipv4-address-no-zone; + description + "Gateway Address"; + } + leaf port { + type uint32; + description + "Port"; + } + uses AMT-GW-BAG; + } + } + } + + grouping GROUP-TABLE { + description + "Common node of vrf, default-context"; + container groups { + description + "IGMP Group Database Table"; + list group { + key "group-address interface-name"; + description + "IGMP Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-GROUPS-BAG; + } + } + } + + grouping GROUP-SUMMARY { + description + "Common node of vrf, default-context"; + container group-summary { + description + "IGMP Groups Summary"; + uses IGMP-EDM-GROUPS-SUMMARY-BAG; + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrf-table { + description + "VRF Table"; + uses VRF; + } + } + + grouping BVI-STATISTICS { + description + "Common node of process, process"; + container bvi-statistics { + description + "IGMP BVI Stats"; + uses IGMP-EDM-BVI-STATS-BAG; + } + } + + grouping INTERFACE-STATE-ON-TABLE { + description + "Common node of vrf, default-context"; + container interface-state-ons { + description + "IGMP Interface state on"; + list interface-state-on { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + } + + grouping INTERFACE { + description + "Common node of interface-table, + global-interface-table"; + list interface { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-IDB-BAG; + } + } + + grouping IFRS-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container ifrs-interfaces { + description + "IGMP Interface specific"; + list ifrs-interface { + key "interface-name"; + description + "IGMP IFRS Interface"; + leaf interface-name { + type xr:Interface-name; + description + "IFRS Interface Name"; + } + uses IGMP-EDM-IDB-IFRS-BAG; + } + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container nsr { + description + "NSR Information"; + uses IGMP-EDM-NSR-BAG; + } + uses AMT-SUMMARY; + uses AMT-GATEWAY-TABLE; + uses UNICAST-QOS-ADJUST-STATS; + uses BVI-STATISTICS; + uses NSF; + } + } + + grouping TRAFFIC-COUNTERS { + description + "Common node of vrf, default-context"; + container traffic-counters { + description + "IGMP Message Traffic Counters"; + uses IGMP-EDM-TRAFFIC-BAG; + } + } + + grouping GLOBAL-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container global-interface-table { + description + "IGMP Global Interface "; + uses INTERFACE; + } + } + + grouping ACTIVE { + description + "Common node of igmp, mld"; + container active { + description + "Active Process"; + uses VRF-TABLE; + uses PROCESS; + uses DEFAULT-CONTEXT; + } + } + + grouping INTERFACE-UNICAST-QOS-ADJUST-TABLE { + description + "Common node of vrf, default-context"; + container interface-unicast-qos-adjusts { + description + "IGMP Interface Unicast-Qos-Adjust"; + list interface-unicast-qos-adjust { + key "interface-name"; + description + "IGMP Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IGMP-EDM-I2Q-INTF-STATS-BAG; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container interface-table { + description + "IGMP Interface specific Table"; + uses INTERFACE; + } + } + + grouping SUMMARY { + description + "Common node of vrf, default-context"; + container summary { + description + "IGMP Summary Information"; + uses IGMP-EDM-SUMMARY-BAG; + } + } + + grouping NON-ACTIVE-GROUPS { + description + "Common node of vrf, default-context"; + container non-active-groups { + description + "IGMP Non-Active Groups Information"; + uses IGMP-EDM-NOT-ACTIVE-ALLGROUPS-BAG; + } + } + + grouping VRF { + description + "Common node of vrf-table, vrf-table"; + list vrf { + key "vrf-name"; + description + "VRF table Names"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses SUMMARY; + uses INTERFACE-STATE-ON-TABLE; + uses DETAIL-GROUP-TABLE; + uses NON-ACTIVE-GROUPS; + uses SSM-MAP-TABLE; + uses EXPLICIT-GROUP-TABLE; + uses INTERFACE-TABLE; + uses INTERFACE-UNICAST-QOS-ADJUST-TABLE; + uses RANGE-TABLE; + uses IFRS-INTERFACE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-TABLE; + uses GROUP-SUMMARY; + uses IFRS-INTERFACE-SUMMARY; + uses GLOBAL-INTERFACE-TABLE; + uses SSM-MAP-DETAIL-TABLE; + uses INTERFACE-STATE-OFF-TABLE; + } + } + + grouping NSF { + description + "Common node of process, process"; + container nsf { + description + "NSF Information"; + uses IGMP-EDM-NSF-BAG; + } + } + + grouping DETAIL-GROUP-TABLE { + description + "Common node of vrf, default-context"; + container detail-groups { + description + "IGMP Detail Group Database"; + list detail-group { + key "group-address interface-name source-address"; + description + "IGMP Detail Group Entry Information"; + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source/Host Address"; + } + uses IGMP-EDM-GROUPS-DETAIL-BAG; + } + } + } + + grouping SSM-MAP-TABLE { + description + "Common node of vrf, default-context"; + container ssm-maps { + description + "SSM Map Table"; + list ssm-map { + key "ssm-map-type group-address"; + description + "SSM Map information"; + leaf ssm-map-type { + type Igmpssm-map; + description + "SSM Map Type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses IGMP-EDM-SSM-MAP-BAG; + } + } + } + + grouping AMT-SUMMARY { + description + "Common node of process, process"; + container amt-summary { + description + "MRIB RouteDB Expiry Information"; + uses AMT-SUMMARY-BAG; + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default Context"; + uses SUMMARY; + uses INTERFACE-STATE-ON-TABLE; + uses DETAIL-GROUP-TABLE; + uses NON-ACTIVE-GROUPS; + uses SSM-MAP-TABLE; + uses EXPLICIT-GROUP-TABLE; + uses INTERFACE-TABLE; + uses INTERFACE-UNICAST-QOS-ADJUST-TABLE; + uses RANGE-TABLE; + uses IFRS-INTERFACE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-TABLE; + uses GROUP-SUMMARY; + uses IFRS-INTERFACE-SUMMARY; + uses GLOBAL-INTERFACE-TABLE; + uses SSM-MAP-DETAIL-TABLE; + uses INTERFACE-STATE-OFF-TABLE; + } + } + + grouping IFRS-INTERFACE-SUMMARY { + description + "Common node of vrf, default-context"; + container ifrs-interface-summary { + description + "IGMP IFRS Interface summary"; + uses IGMP-EDM-IDB-SUMM-BAG; + } + } + + grouping STANDBY { + description + "Common node of igmp, mld"; + container standby { + description + "Standby Process"; + uses VRF-TABLE; + uses PROCESS; + uses DEFAULT-CONTEXT; + } + } + + container mld { + config false; + description + "MLD operational data"; + uses STANDBY; + uses ACTIVE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-cfg.yang new file mode 100644 index 000000000..be3ee5235 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-cfg.yang @@ -0,0 +1,93 @@ +module Cisco-IOS-XR-mpls-io-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-io-cfg"; + prefix mpls-io-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-io package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-mpls-cfg.yang which will provide the + compatible functionalities. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-05-18 { + description + "IOS XR 6.2.2 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container mpls { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-if-mpls-cfg.yang which will + provide the compatible functionalities. MPLS + configuration under an interface"; + container label-security { + description + "MPLS label security"; + leaf multi-label-drop { + type empty; + description + "Enable drop of multi-labelled incoming packets + on a Interface"; + } + leaf rpf { + type empty; + description + "Enable MPLS RPF for incoming packets on a + Interface"; + } + } + leaf mtu { + type uint32 { + range "68..65535"; + } + description + "Set the MPLS MTU for the interface"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper-sub1.yang new file mode 100644 index 000000000..8131c5650 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper-sub1.yang @@ -0,0 +1,67 @@ +submodule Cisco-IOS-XR-mpls-io-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-io-oper { + prefix Cisco-IOS-XR-mpls-io-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-io package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-21 { + description + "IOS XR 7.0.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MPLS-IO-SHOW-INTF-INFO { + description + "MPLS EA information for a particular Interface"; + leaf mtu { + type uint32; + description + "MTU for fragmentation"; + } + leaf bkp-label-stack-depth { + type uint8; + description + "Interface Backup Label Stack Depth"; + } + leaf srte-label-stack-depth { + type uint8; + description + "Interface SR-TE Label Stack Depth"; + } + leaf pri-label-stack-depth { + type uint8; + description + "Interface Primary Label Stack Depth"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper.yang new file mode 100644 index 000000000..29f5b14e1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-io-oper.yang @@ -0,0 +1,123 @@ +module Cisco-IOS-XR-mpls-io-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-io-oper"; + prefix mpls-io-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-io-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-io package operational data. + + This module contains definitions + for the following management objects: + mpls-ea: MPLS IO EA operational data + mpls-ma: MPLS IO MA operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-21 { + description + "IOS XR 7.0.1 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container mpls-ea { + config false; + description + "MPLS IO EA operational data"; + container nodes { + description + "NODE container class for MPLS IO EA operational + data"; + list node { + key "node-name"; + description + "Per node MPLS IO EA operational data"; + container interfaces { + description + "MPLS IO EA Interfaces information "; + list interface { + key "interface-name"; + description + "MPLS IO EA NODE Interface data "; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-IO-SHOW-INTF-INFO; + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + container mpls-ma { + config false; + description + "MPLS IO MA operational data"; + container nodes { + description + "NODE container class for MPLS IO MA operational + data"; + list node { + key "node-name"; + description + "Per node MPLS IO MA operational data"; + container interfaces { + description + "MPLS IO MA Interfaces information "; + list interface { + key "interface-name"; + description + "MPLS IO MA NODE Interface data "; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-IO-SHOW-INTF-INFO; + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg-datatypes.yang new file mode 100644 index 000000000..f20b2e43f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg-datatypes.yang @@ -0,0 +1,157 @@ +module Cisco-IOS-XR-mpls-ldp-cfg-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-cfg-datatypes"; + prefix mpls-ldp-cfg-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp-cfg-datat package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-ldp-cfg.yang which will provide the + compatible functionalities. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-ldp-nbr-password { + type enumeration { + enum "disable" { + value 1; + description + "Disable the global default password for this + neighbor"; + } + enum "specified" { + value 2; + description + "Specify a password for this neighbor"; + } + } + description + "Mpls ldp nbr password"; + } + + typedef Mpls-ldp-downstream-on-demand { + type enumeration { + enum "peer-acl" { + value 1; + description + "Downstream on Demand peers permitted by ACL"; + } + } + description + "Mpls ldp downstream on demand"; + } + + typedef Mpls-ldp-router-id { + type enumeration { + enum "address" { + value 1; + description + "Use given IP address as LDP Router ID"; + } + } + description + "Mpls ldp router id"; + } + + typedef Mpls-ldp-interval-time { + type uint32 { + range "1..65535"; + } + description + "Mpls ldp interval time"; + } + + typedef Mpls-ldp-hold-time { + type uint32 { + range "1..65535"; + } + description + "Mpls ldp hold time"; + } + + typedef Mpls-ldpaf-name { + type enumeration { + enum "ipv4" { + value 4; + description + "IPv4"; + } + enum "ipv6" { + value 6; + description + "IPv6"; + } + } + description + "Mpls ldpaf name"; + } + + typedef Mpls-ldp-session-protection { + type enumeration { + enum "all" { + value 1; + description + "Protect all peer sessions"; + } + enum "for" { + value 2; + description + "Protect peer session(s) permitted by peer ACL"; + } + enum "all-with-duration" { + value 3; + description + "Protect all peer sessions and holdup protection + for given duration"; + } + enum "for-with-duration" { + value 4; + description + "Protect peer session(s) permitted by peer ACL + and holdup protection for given duration"; + } + enum "all-with-forever" { + value 5; + description + "Protect all peer sessions and holdup protection + forever"; + } + enum "for-with-forever" { + value 6; + description + "Protect peer session(s) permitted by peer ACL + and holdup protection forever"; + } + } + description + "Mpls ldp session protection"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg.yang new file mode 100644 index 000000000..ba863054c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-cfg.yang @@ -0,0 +1,2036 @@ +module Cisco-IOS-XR-mpls-ldp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-cfg"; + prefix mpls-ldp-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-ldp-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + mpls-ldp: MPLS LDP configuration + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-17 { + description + "Added Auto Configure TE Tunnels configuration. + 2022-05-30 + Corrected config path for clone tunnel + 2021-12-19 + Added new yang element for cloned named tunnels in LDP to be auto-enabled."; + semver:module-version "1.3.1m"; + } + revision 2021-07-16 { + description + "Added leaf class containing configuration to disable the advertisement of the Vendor-Private TLV LDP Cisco IOS-XR Capability in MPLS LDP Initialization Message"; + semver:module-version "1.3.0"; + } + revision 2020-08-31 { + description + "New ELC config added."; + semver:module-version "1.2.0"; + } + revision 2019-06-05 { + description + "Added SAC capabilities to schema"; + semver:module-version "1.1.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2017-09-30 { + description + "Ensure propagation of MDA mandatory state to YANG model."; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-ldp-nbr-password { + type enumeration { + enum "disable" { + value 1; + description + "Disable the global default password for this + neighbor"; + } + enum "specified" { + value 2; + description + "Specify a password for this neighbor"; + } + } + description + "Mpls ldp nbr password"; + } + + typedef Mpls-ldp-label-allocation { + type enumeration { + enum "acl" { + value 1; + description + "Allocate label for prefixes permitted by ACL"; + } + enum "host" { + value 2; + description + "Allocate label for host routes only"; + } + } + description + "Mpls ldp label allocation"; + } + + typedef Mpls-ldp-downstream-on-demand { + type enumeration { + enum "peer-acl" { + value 1; + description + "Downstream on Demand peers permitted by ACL"; + } + } + description + "Mpls ldp downstream on demand"; + } + + typedef Mldp-policy-mode { + type enumeration { + enum "inbound" { + value 1; + description + "Inbound route policy"; + } + enum "outbound" { + value 2; + description + "Outbound route policy"; + } + } + description + "Mldp policy mode"; + } + + typedef Mpls-ldp-targeted-accept { + type enumeration { + enum "all" { + value 1; + description + "Accept targeted hello from all"; + } + enum "from" { + value 2; + description + "Accept targeted hello from peer ACL"; + } + } + description + "Mpls ldp targeted accept"; + } + + typedef Mpls-ldp-interval-time { + type uint32 { + range "1..65535"; + } + description + "Mpls ldp interval time"; + } + + typedef Mpls-ldp-mesh-group-id { + type uint32 { + range "0..4294967295"; + } + description + "Mpls ldp mesh group id"; + } + + typedef Mpls-ldp-exp-null { + type enumeration { + enum "all" { + value 1; + description + "Advertise explicit-null for all connected + prefixes to all peers"; + } + enum "for" { + value 2; + description + "Advertise explicit-null for prefix(es) + permitted by prefix ACL"; + } + enum "to" { + value 3; + description + "Advertise explicit-null for all connected + prefixes to peer(s) permitted by peer ACL"; + } + enum "for-to" { + value 4; + description + "Advertise explicit-null for prefix(es) + permitted by prefix ACL to peer(s) permitted by + peer ACL"; + } + } + description + "Mpls ldp exp null"; + } + + typedef Mpls-ldp-hold-time { + type uint32 { + range "1..65535"; + } + description + "Mpls ldp hold time"; + } + + typedef Mpls-ldp-dscp { + type uint32 { + range "0..63"; + } + description + "Mpls ldp dscp"; + } + + typedef Mpls-ldpaf-name { + type enumeration { + enum "ipv4" { + value 4; + description + "IPv4"; + } + enum "ipv6" { + value 6; + description + "IPv6"; + } + } + description + "Mpls ldpaf name"; + } + + typedef Mpls-ldp-transport-address { + type enumeration { + enum "interface" { + value 1; + description + "Use interface IP address"; + } + enum "address" { + value 2; + description + "Use given IP address"; + } + } + description + "Mpls ldp transport address"; + } + + typedef Mpls-ldp-tunnel-auto-configuration-mode { + type enumeration { + enum "named-all" { + value 3; + description + "Autoconfigure named TE Tunnels"; + } + } + description + "Mpls ldp tunnel auto configuration mode"; + } + + typedef Mpls-ldp-session-protection { + type enumeration { + enum "all" { + value 1; + description + "Protect all peer sessions"; + } + enum "for" { + value 2; + description + "Protect peer session(s) permitted by peer ACL"; + } + enum "all-with-duration" { + value 3; + description + "Protect all peer sessions and holdup protection + for given duration"; + } + enum "for-with-duration" { + value 4; + description + "Protect peer session(s) permitted by peer ACL + and holdup protection for given duration"; + } + enum "all-with-forever" { + value 5; + description + "Protect all peer sessions and holdup protection + forever"; + } + enum "for-with-forever" { + value 6; + description + "Protect peer session(s) permitted by peer ACL + and holdup protection forever"; + } + } + description + "Mpls ldp session protection"; + } + + typedef Mpls-ldp-label-advertise { + type enumeration { + enum "for" { + value 1; + description + "Advertise label for prefix(es) permitted by + prefix ACL"; + } + enum "for-to" { + value 2; + description + "Advertise label for prefix(es) permitted by + prefix ACL to peer(s) permitted by peer ACL"; + } + } + description + "Mpls ldp label advertise"; + } + + typedef Mpls-ldp-advertise-bgp-acl { + type enumeration { + enum "peer-acl" { + value 1; + description + "BGP prefixes advertised to peers permitted by + ACL"; + } + } + description + "Mpls ldp advertise bgp acl"; + } + + grouping ENABLE { + description + "Common node of mldp, vrf"; + leaf enable { + type empty; + description + "Enable Multicast Label Distribution Protocol + (mLDP)"; + } + } + + grouping AF-TABLE { + description + "Common node of default-vrf, vrf"; + container afs { + description + "Address Family specific operational data"; + list af { + key "af-name"; + description + "Operational data for given Address Family"; + container recursive-forwarding { + description + "Enable recursive forwarding"; + leaf enable { + type empty; + description + "Enable recursive forwarding"; + } + leaf policy { + type string { + length "1..64"; + } + description + "Recursive forwarding policy name"; + } + } + container mldp-recursive-fec { + description + "MPLS mLDP Recursive FEC"; + leaf enable { + type empty; + description + "Enable MPLS mLDP Recursive FEC"; + } + leaf policy { + type string { + length "1..64"; + } + description + "Route policy name"; + } + } + container neighbor-policies { + description + "MLDP neighbor policies"; + list neighbor-policy { + key "root-address policy-mode"; + description + "Route Policy"; + leaf root-address { + type inet:ipv4-address-no-zone; + description + "Neighbor Address"; + } + leaf policy-mode { + type Mldp-policy-mode; + description + "Inbound/Outbound Policy"; + } + leaf route-policy { + type string { + length "1..64"; + } + mandatory true; + description + "Route policy name"; + } + } + } + container mo-frr { + description + "MPLS mLDP MoFRR"; + leaf enable { + type empty; + description + "Enable MPLS mLDP MoFRR"; + } + leaf policy { + type string { + length "1..64"; + } + description + "Route policy name"; + } + } + container make-before-break { + description + "MPLS mLDP Make-Before-Break configuration"; + container signaling { + description + "Enable MPLS mLDP MBB signaling"; + leaf forward-delay { + type uint32 { + range "0..600"; + } + units "second"; + description + "Forwarding Delay in Seconds"; + } + leaf delete-delay { + type uint32 { + range "0..60"; + } + units "second"; + description + "Delete Delay in seconds"; + } + } + leaf policy { + type string { + length "1..64"; + } + description + "Route policy name"; + } + } + container csc { + description + "MPLS mLDP CSC"; + leaf enable { + type empty; + description + "Enable MPLS mLDP CSC"; + } + } + leaf enable { + type empty; + description + "Enable Multicast Label Distribution Protocol + (mLDP) under AF."; + } + leaf mldp-rib-unicast-always { + type empty; + description + "Enable MPLS MLDP RIB unicast-always + configuration"; + } + leaf af-name { + type Mpls-ldpaf-name; + description + "Address Family name"; + } + } + } + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-ldp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-ldp-cfg.yang which will + provide the compatible functionalities. + MPLS-LDP-STD-MIB notification configuration"; + leaf session-up { + type empty; + description + "Enable mplsLdpSessionUp notification"; + } + leaf init-session-threshold-exceeded { + type empty; + description + "Enable mplsLdpInitSessionThresholdExceeded + notification"; + } + leaf session-down { + type empty; + description + "Enable mplsLdpSessionDown notification"; + } + } + } + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-ldp-cfg.yang which will + provide the compatible functionalities. MPLS LDP + configuration"; + container default-vrf { + description + "Global VRF attribute configuration for MPLS LDP"; + container afs { + description + "Address Family specific configuration for MPLS + LDP"; + list af { + key "af-name"; + description + "Configure data for given Address Family"; + container label { + description + "Configure Label policies and control"; + container remote { + description + "Configure remote/peer label policies and + control"; + container accept { + description + "Configure inbound label acceptance"; + container peer-accept-policies { + description + "Configuration related to neighbors for + inbound label acceptance"; + list peer-accept-policy { + key "lsr-id label-space-id"; + description + "Control acceptance of labels from a + neighbor for prefix(es) using ACL"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0"; + } + description + "Label space ID of neighbor"; + } + leaf prefix-acl-name { + type string; + mandatory true; + description + "Name of prefix ACL"; + } + } + } + } + } + container local { + description + "Configure local label policies and control"; + container advertise { + description + "Configure outbound label advertisement"; + container peer-advertise-policies { + description + "Configure peer centric outbound label + advertisement using ACL"; + list peer-advertise-policy { + key "lsr-id label-space-id"; + description + "Control advertisement of prefix(es) using + ACL"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0"; + } + description + "Label space ID of neighbor"; + } + leaf prefix-acl-name { + type string; + mandatory true; + description + "Name of prefix ACL"; + } + } + } + container prefix-advertise-policies { + description + "Configure prefix centric outbound label + advertisement using ACL"; + list prefix-advertise-policy { + key "prefix-acl-name"; + description + "Control advertisement of prefix(es) using + ACL"; + leaf prefix-acl-name { + type xr:Cisco-ios-xr-string; + description + "Name of prefix ACL"; + } + leaf advertise-type { + type Mpls-ldp-label-advertise; + description + "Label advertise type"; + } + leaf peer-acl-name { + when "../advertise-type = 'for-to'" { + description + "../AdvertiseType = ForTo"; + } + type string; + description + "Name of peer ACL"; + } + } + } + container explicit-null { + description + "Configure advertisment of explicit-null + for connected prefixes."; + leaf explicit-null-type { + type Mpls-ldp-exp-null; + description + "Explicit Null command variant"; + } + leaf prefix-acl-name { + when "../explicit-null-type = 'for' or ../explicit-null-type = 'for-to'" { + description + "../ExplicitNullType = For or . + ./ExplicitNullType = ForTo"; + } + type string; + description + "Name of prefix ACL"; + } + leaf peer-acl-name { + when "../explicit-null-type = 'to' or ../explicit-null-type = 'for-to'" { + description + "../ExplicitNullType = To or . + ./ExplicitNullType = ForTo"; + } + type string; + description + "Name of peer ACL"; + } + } + container interfaces { + description + "Configure outbound label advertisement for + an interface"; + list interface { + key "interface-name"; + description + "Control advertisement of interface's host + IP address"; + leaf interface-name { + type xr:Interface-name; + description + "Name of interface"; + } + } + } + leaf disable { + type empty; + description + "Disable label advertisement"; + } + } + container allocate { + description + "Control local label allocation for + prefix(es)"; + leaf allocation-type { + type Mpls-ldp-label-allocation; + description + "Label allocation type"; + } + leaf prefix-acl-name { + when "../allocation-type = 'acl'" { + description + "../AllocationType = ACL"; + } + type string; + description + "Name of prefix ACL"; + } + } + leaf implicit-null-override { + type string; + description + "Control use of implicit-null label for set + of prefix(es)"; + } + leaf default-route { + type empty; + description + "Enable MPLS forwarding for default route"; + } + } + } + container discovery { + description + "Configure Discovery parameters"; + container targeted-hello-accept { + description + "Configure acceptance from and responding to + targeted hellos."; + leaf accept-type { + type Mpls-ldp-targeted-accept; + description + "Type of acceptance"; + } + leaf peer-acl-name { + when "../accept-type = 'from'" { + description + "../AcceptType = From"; + } + type string; + description + "Name of peer ACL"; + } + } + leaf transport-address { + type inet:ip-address-no-zone; + description + "Global discovery transport address for + address family"; + } + } + container traffic-engineering { + description + "MPLS Traffic Engingeering parameters for LDP"; + container auto-tunnel-mesh { + description + "MPLS Traffic Engineering auto-tunnel mesh + parameters for LDP"; + container group-ids { + description + "Enable interfaces in specific MPLS TE + auto-tunnel mesh-groups"; + list group-id { + key "mesh-group-id"; + description + "Auto-mesh group identifier to enable"; + leaf mesh-group-id { + type Mpls-ldp-mesh-group-id; + description + "Mesh group ID"; + } + } + } + leaf group-all { + type empty; + description + "Enable all MPLS TE auto-tunnel mesh-group + interfaces"; + } + } + container tunnels { + description + "Auto-enable LDP over TE tunnels"; + leaf auto-config-tunnel-mode { + type Mpls-ldp-tunnel-auto-configuration-mode; + description + "Auto Config Tunnel Mode"; + } + leaf regular-expression-string { + type string { + length "1..96"; + } + description + "Regular Expression string filter"; + } + } + } + container neighbor { + description + "Configuration related to Neighbors"; + container addresses { + description + "Configuration related to neighbors using + neighbor address"; + list address { + key "ip-address"; + description + "IP address based configuration related to a + neighbor"; + leaf targeted { + type empty; + description + "Establish targeted session with given + address"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "The IP address"; + } + } + } + container segment-routing-policies { + description + "Configuration related to SR policies"; + list segment-routing-policy { + key "name"; + description + "Name based configuration related to a SR + policy"; + leaf targeted { + type empty; + description + "Establish targeted session with given + address"; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "SR Policy Name"; + } + } + } + } + container redistribution-protocol { + description + "MPLS LDP configuration for protocol + redistribution"; + container bgp { + description + "MPLS LDP configuration for protocol + redistribution"; + container as { + description + "MPLS LDP configuration for protocol + redistribution"; + leaf as-xx { + type uint32 { + range "0..65535"; + } + description + "First half of BGP AS number in XX.YY + format. Mandatory Must be a non-zero + value if second half is zero."; + } + leaf as-yy { + type uint32 { + range "0..4294967295"; + } + description + "Second half of BGP AS number in XX.YY + format. Mandatory Must be a non-zero value + if first half is zero."; + } + } + container advertise-to { + description + "ACL containing list of neighbors for BGP + route redistribution"; + leaf type { + type Mpls-ldp-advertise-bgp-acl; + description + "advertise to peer acl type"; + } + leaf peer-acl-name { + when "../type = 'peer-acl'" { + description + "../Type = PeerACL"; + } + type string; + description + "Name of peer ACL"; + } + } + } + } + leaf enable { + type empty; + description + "Enable Address Family"; + } + leaf af-name { + type Mpls-ldpaf-name; + description + "Address Family type"; + } + } + } + container global { + description + "Default VRF Global configuration for MPLS LDP"; + container session { + description + "LDP Session parameters"; + container protection { + description + "Configure Session Protection parameters"; + leaf protection-type { + type Mpls-ldp-session-protection; + description + "Session protection type"; + } + leaf peer-acl-name { + when "../protection-type = 'for' or ../protection-type = 'for-with-duration' or ../protection-type = 'for-with-forever'" { + description + "../ProtectionType = For or . + ./ProtectionType = ForWithDuration or . + ./ProtectionType = ForWithForever"; + } + type string; + description + "Name of peer ACL"; + } + leaf duration { + when "../protection-type = 'all-with-duration' or ../protection-type = 'for-with-duration'" { + description + "../ProtectionType = AllWithDuration or . + ./ProtectionType = ForWithDuration"; + } + type uint32 { + range "30..2147483"; + } + description + "Holdup duration"; + } + } + container downstream-on-demand { + description + "ACL with the list of neighbors configured for + Downstream on Demand"; + leaf type { + type Mpls-ldp-downstream-on-demand; + description + "Downstream on demand type"; + } + leaf peer-acl-name { + when "../type = 'peer-acl'" { + description + "../Type = PeerACL"; + } + type string; + description + "Name of peer ACL"; + } + } + } + container neighbor { + description + "Configuration related to Neighbors"; + container ldp-ids { + description + "Configuration related to Neighbors using LDP + Id"; + list ldp-id { + key "lsr-id label-space-id"; + description + "LDP ID based configuration related to a + neigbor"; + container password { + description + "Password for MD5 authentication for this + neighbor"; + leaf command-type { + type Mpls-ldp-nbr-password; + description + "Command type for password configuration"; + } + leaf password { + when "../command-type = 'specified'" { + description + "../CommandType = Specified"; + } + type xr:Proprietary-password; + description + "The neighbor password"; + } + } + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0"; + } + description + "Label space ID of neighbor"; + } + } + } + container dual-stack { + description + "Configuration related to neighbor transport"; + container transport-connection { + description + "Configuration related to neighbor transport"; + container prefer { + description + "Configuration related to neighbor + dual-stack xport-connection preference"; + leaf ipv4 { + type empty; + description + "Configuration related to neighbor + dual-stack xport-connection preference + ipv4"; + } + } + leaf max-wait { + type uint32 { + range "0..60"; + } + units "second"; + description + "Configuration related to neighbor + dual-stack xport-connection max-wait"; + } + } + leaf tlv-compliance { + type empty; + description + "Configuration to enable neighbor dual-stack + tlv-compliance"; + } + } + leaf password { + type xr:Proprietary-password; + description + "Default password for all neigbors"; + } + } + container graceful-restart { + description + "Configuration for per-VRF LDP Graceful Restart + parameters"; + container helper-peer { + description + "Configure parameters related to GR peer(s) + opearating in helper mode"; + leaf maintain-on-local-reset { + type string; + description + "Maintain the state of a GR peer upon a local + reset"; + } + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Configuration for LDP Router ID (LDP ID)"; + } + } + container interfaces { + description + "MPLS LDP configuration pertaining to interfaces"; + list interface { + key "interface-name"; + description + "MPLS LDP configuration for a particular + interface"; + container afs { + description + "Address Family specific configuration for + MPLS LDP intf"; + list af { + key "af-name"; + description + "Configure data for given Address Family"; + container discovery { + description + "Configure interface discovery parameters"; + container transport-address { + description + "MPLS LDP configuration for interface + discovery transportaddress."; + leaf address-type { + type Mpls-ldp-transport-address; + description + "Transport address option"; + } + leaf address { + when "../address-type = 'address'" { + description + "../AddressType = Address"; + } + type inet:ip-address-no-zone; + description + "IP address"; + } + } + } + container clone-tunnel { + description + "Auto-Enable cloned TE tunnels for LDP"; + leaf enable { + type empty; + description + "none"; + } + } + container igp { + description + "LDP interface IGP configuration"; + leaf disable-auto-config { + type empty; + description + "Disable IGP Auto-config on this interface"; + } + } + container mldp { + description + "Interface configuration parameters for mLDP"; + leaf disable { + type empty; + description + "Disable mLDP on LDP enabled interface"; + } + } + leaf enable { + type empty; + description + "Enable Address Family"; + } + leaf af-name { + type Mpls-ldpaf-name; + description + "Address Family name"; + } + } + } + container global { + description + "Per VRF interface Global configuration for + MPLS LDP"; + container discovery { + description + "Configure interface discovery parameters"; + container link-hello { + description + "LDP Link Hellos"; + leaf interval { + type Mpls-ldp-interval-time; + units "second"; + default "5"; + description + "Link Hello interval"; + } + leaf dual-stack { + type Mpls-ldpaf-name; + default "ipv4"; + description + "Dual Stack Address Family Preference"; + } + leaf hold-time { + type Mpls-ldp-hold-time; + units "second"; + default "15"; + description + "Time (seconds) - 65535 implies infinite"; + } + } + leaf disable-quick-start { + type empty; + description + "Disable discovery's quick start mode"; + } + } + container igp { + description + "LDP IGP configuration"; + container sync { + description + "LDP IGP synchronization"; + container delay { + description + "LDP IGP synchronization delay time"; + container on-session-up { + description + "Interface sync up delay after session up"; + leaf disable { + type empty; + description + "Disable delay after session up"; + } + leaf timeout { + type uint32 { + range "5..300"; + } + units "second"; + description + "Time (seconds)"; + } + } + } + } + } + } + leaf enable { + type empty; + description + "Enable Label Distribution Protocol (LDP) on + thisinterface"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of interface"; + } + } + } + } + container vrfs { + description + "VRF Table attribute configuration for MPLS LDP"; + list vrf { + key "vrf-name"; + description + "VRF attribute configuration for MPLS LDP"; + container global { + description + "Per VRF Global configuration for MPLS LDP"; + container session { + description + "LDP Session parameters"; + container downstream-on-demand { + description + "ACL with the list of neighbors configured + for Downstream on Demand"; + leaf type { + type Mpls-ldp-downstream-on-demand; + description + "Downstream on demand type"; + } + leaf peer-acl-name { + when "../type = 'peer-acl'" { + description + "../Type = PeerACL"; + } + type string; + description + "Name of peer ACL"; + } + } + } + container neighbor { + description + "Configuration related to Neighbors"; + container dual-stack { + description + "Configuration related to neighbor transport"; + container transport-connection { + description + "Configuration related to neighbor transport"; + container prefer { + description + "Configuration related to neighbor + dual-stack xport-connection preference"; + leaf ipv4 { + type empty; + description + "Configuration related to neighbor + dual-stack xport-connection preference + ipv4"; + } + } + leaf max-wait { + type uint32 { + range "0..60"; + } + units "second"; + description + "Configuration related to neighbor + dual-stack xport-connection max-wait"; + } + } + } + container ldp-ids { + description + "Configuration related to Neighbors using LDP + Id"; + list ldp-id { + key "lsr-id label-space-id"; + description + "LDP ID based configuration related to a + neigbor"; + container password { + description + "Password for MD5 authentication for this + neighbor"; + leaf command-type { + type Mpls-ldp-nbr-password; + description + "Command type for password configuration"; + } + leaf password { + when "../command-type = 'specified'" { + description + "../CommandType = Specified"; + } + type xr:Proprietary-password; + description + "The neighbor password"; + } + } + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0"; + } + description + "Label space ID of neighbor"; + } + } + } + leaf password { + type xr:Proprietary-password; + description + "Default password for all neigbors"; + } + } + container graceful-restart { + description + "Configuration for per-VRF LDP Graceful + Restart parameters"; + container helper-peer { + description + "Configure parameters related to GR peer(s) + opearating in helper mode"; + leaf maintain-on-local-reset { + type string; + description + "Maintain the state of a GR peer upon a + local reset"; + } + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Configuration for LDP Router ID (LDP ID)"; + } + } + container afs { + description + "Address Family specific configuration for MPLS + LDP vrf"; + list af { + key "af-name"; + description + "Configure data for given Address Family"; + container discovery { + description + "Configure Discovery parameters"; + leaf transport-address { + type inet:ip-address-no-zone; + description + "Global discovery transport address for + address family"; + } + } + container label { + description + "Configure Label policies and control"; + container remote { + description + "Configure remote/peer label policies and + control"; + container accept { + description + "Configure inbound label acceptance"; + container peer-accept-policies { + description + "Configuration related to Neighbors for + inbound label acceptance"; + list peer-accept-policy { + must "peer-accept-policy-data or lsr-id" { + description + "peer-accept-policy-data or lsr-id must + be present."; + } + key "label-space-id"; + description + "Control acceptasnce of labels from a + neighbor for prefix(es) using ACL"; + + grouping PEER-ACCEPT-POLICY-CONTENT { + description + "Content grouping."; + leaf prefix-acl-name { + type string; + mandatory true; + description + "Name of prefix ACL"; + } + } + container peer-accept-policy-data { + description + "Data container."; + uses PEER-ACCEPT-POLICY-CONTENT; + } + leaf label-space-id { + type uint32 { + range "0"; + } + description + "Label space ID of neighbor"; + } + list lsr-id { + key "lsr-id"; + description + "keys: lsr-id"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + uses PEER-ACCEPT-POLICY-CONTENT; + } + } + } + } + } + container local { + description + "Configure local label policies and control"; + container advertise { + description + "Configure outbound label advertisement"; + container peer-advertise-policies { + description + "Configure peer centric outbound label + advertisement using ACL"; + list peer-advertise-policy { + must "peer-advertise-policy-data or lsr-id" { + description + "peer-advertise-policy-data or lsr-id + must be present."; + } + key "label-space-id"; + description + "Control advertisement of prefix(es) + using ACL"; + + grouping PEER-ADVERTISE-POLICY-CONTENT { + description + "Content grouping."; + leaf prefix-acl-name { + type string; + mandatory true; + description + "Name of prefix ACL"; + } + } + container peer-advertise-policy-data { + description + "Data container."; + uses PEER-ADVERTISE-POLICY-CONTENT; + } + leaf label-space-id { + type uint32 { + range "0"; + } + description + "Label space ID of neighbor"; + } + list lsr-id { + key "lsr-id"; + description + "keys: lsr-id"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + uses PEER-ADVERTISE-POLICY-CONTENT; + } + } + } + container interfaces { + description + "Configure outbound label advertisement + for an interface"; + list interface { + key "interface-name"; + description + "Control advertisement of interface's + host IP address"; + leaf interface-name { + type xr:Interface-name; + description + "Name of interface"; + } + } + } + container explicit-null { + description + "Configure advertisment of explicit-null + for connected prefixes."; + leaf explicit-null-type { + type Mpls-ldp-exp-null; + description + "Explicit Null command variant"; + } + leaf prefix-acl-name { + when "../explicit-null-type = 'for' or ../explicit-null-type = 'for-to'" { + description + "../ExplicitNullType = For or . + ./ExplicitNullType = ForTo"; + } + type string; + description + "Name of prefix ACL"; + } + leaf peer-acl-name { + when "../explicit-null-type = 'to' or ../explicit-null-type = 'for-to'" { + description + "../ExplicitNullType = To or . + ./ExplicitNullType = ForTo"; + } + type string; + description + "Name of peer ACL"; + } + } + leaf disable { + type empty; + description + "Disable label advertisement"; + } + } + container allocate { + description + "Control local label allocation for + prefix(es)"; + leaf allocation-type { + type Mpls-ldp-label-allocation; + description + "Label allocation type"; + } + leaf prefix-acl-name { + when "../allocation-type = 'acl'" { + description + "../AllocationType = ACL"; + } + type string; + description + "Name of prefix ACL"; + } + } + leaf implicit-null-override { + type string; + description + "Control use of implicit-null label for set + of prefix(es)"; + } + leaf default-route { + type empty; + description + "Enable MPLS forwarding for default route"; + } + } + } + leaf enable { + type empty; + description + "Enable Address Family"; + } + leaf af-name { + type Mpls-ldpaf-name; + description + "Address Family name"; + } + } + } + container interfaces { + description + "MPLS LDP configuration pertaining to + interfaces"; + list interface { + key "interface-name"; + description + "MPLS LDP configuration for a particular + interface"; + container afs { + description + "Address Family specific configuration for + MPLS LDP vrf intf"; + list af { + key "af-name"; + description + "Configure data for given Address Family"; + container discovery { + description + "Configure interface discovery parameters"; + container transport-address { + description + "MPLS LDP configuration for interface + discovery transportaddress."; + leaf address-type { + type Mpls-ldp-transport-address; + description + "Transport address option"; + } + leaf address { + when "../address-type = 'address'" { + description + "../AddressType = Address"; + } + type inet:ip-address-no-zone; + description + "IP address"; + } + } + } + leaf enable { + type empty; + description + "Enable Address Family"; + } + leaf af-name { + type Mpls-ldpaf-name; + description + "Address Family name"; + } + } + } + leaf enable { + type empty; + description + "Enable Label Distribution Protocol (LDP) on + thisinterface"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of interface"; + } + } + } + leaf enable { + type empty; + description + "Enable VRF"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + } + } + container global { + description + "Global configuration for MPLS LDP"; + container entropy-label { + description + "Configure for LDP Entropy-Label"; + leaf enable { + type empty; + description + "none"; + } + } + container session { + description + "LDP Session parameters"; + container backoff-time { + description + "Configure Session Backoff parameters"; + leaf initial-backoff-time { + type uint32 { + range "5..2147483"; + } + units "second"; + default "15"; + description + "Initial session backoff time (seconds)"; + } + leaf max-backoff-time { + type uint32 { + range "5..2147483"; + } + units "second"; + default "120"; + description + "Maximum session backoff time (seconds)"; + } + } + leaf hold-time { + type uint32 { + range "15..65535"; + } + units "second"; + default "180"; + description + "LDP Session holdtime"; + } + } + container igp { + description + "LDP IGP configuration"; + container sync { + description + "LDP IGP synchronization"; + container delay { + description + "LDP IGP synchronization delay time"; + leaf on-session-up { + type uint32 { + range "5..300"; + } + units "second"; + description + "Interface sync up delay after session up"; + } + leaf on-proc-restart { + type uint32 { + range "60..600"; + } + units "second"; + description + "Global sync up delay to be used after + process restart"; + } + } + } + } + container enable-logging { + description + "Enable logging of events"; + leaf nsr { + type empty; + description + "Enable logging of NSR events"; + } + leaf neighbor-changes { + type empty; + description + "Enable logging of neighbor events"; + } + leaf adjacency { + type empty; + description + "Enable logging of adjacency events"; + } + leaf session-protection { + type empty; + description + "Enable logging of session protection events"; + } + leaf gr-session-changes { + type empty; + description + "Enable logging of Graceful Restart (GR) events"; + } + } + container signalling { + description + "Configure LDP signalling parameters"; + leaf dscp { + type Mpls-ldp-dscp; + default "48"; + description + "DSCP for control packets"; + } + } + container capabilities { + description + "Configure LDP capabilities parameters"; + container sac { + description + "Configure LDP Capability State Announcement + Control"; + leaf disable-ipv4-prefix { + type boolean; + default "false"; + description + "Disable IPv4 Prefix"; + } + leaf disable-ipv6-prefix { + type boolean; + default "false"; + description + "Disable IPv6 Prefix"; + } + leaf disable-fec128 { + type boolean; + default "false"; + description + "Disable FEC128"; + } + leaf disable-fec129 { + type boolean; + default "false"; + description + "Disable FEC128"; + } + } + leaf cisco-iosxr-disable { + type empty; + description + "Configure Disable Announcement of LDP Cisco + IOS-XR Capability"; + } + } + container nsr { + description + "Configure LDP Non-Stop Routing"; + leaf enable { + type empty; + description + "none"; + } + } + container graceful-restart { + description + "Configuration for LDP Graceful Restart + parameters"; + leaf reconnect-timeout { + type uint32 { + range "60..1800"; + } + units "second"; + default "120"; + description + "Configure Graceful Restart Reconnect Timeout + value"; + } + leaf enable { + type empty; + description + "none"; + } + leaf forwarding-hold-time { + type uint32 { + range "60..1800"; + } + units "second"; + default "180"; + description + "Configure Graceful Restart Session holdtime"; + } + } + container discovery { + description + "Configure Discovery parameters"; + container link-hello { + description + "LDP Link Hellos"; + leaf interval { + type Mpls-ldp-interval-time; + units "second"; + default "5"; + description + "Link Hello interval"; + } + leaf hold-time { + type Mpls-ldp-hold-time; + units "second"; + default "15"; + description + "Time (seconds) - 65535 implies infinite"; + } + } + container targeted-hello { + description + "LDP Targeted Hellos"; + leaf interval { + type Mpls-ldp-interval-time; + units "second"; + default "10"; + description + "Targeted Hello interval"; + } + leaf hold-time { + type Mpls-ldp-hold-time; + units "second"; + default "90"; + description + "Time (seconds) - 65535 implies infinite"; + } + } + leaf disable-instance-tlv { + type empty; + description + "Disable transmit and receive processing for + private Instance TLV in LDP discovery hello + messages"; + } + leaf disable-quick-start { + type empty; + description + "Disable discovery's quick start mode"; + } + } + container mldp { + description + "MPLS mLDP configuration"; + container vrfs { + description + "VRF Table attribute configuration for MPLS LDP"; + list vrf { + key "vrf-name"; + description + "VRF attribute configuration for MPLS LDP"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + uses ENABLE; + uses AF-TABLE; + } + } + container default-vrf { + description + "Default VRF attribute configuration for mLDP"; + uses AF-TABLE; + } + container mldp-global { + description + "Global configuration for mLDP"; + container logging { + description + "MPLS mLDP logging"; + leaf notifications { + type empty; + description + "MPLS mLDP logging notifications"; + } + } + } + uses ENABLE; + } + container entropy-label-add-el { + description + "Impose Entropy Label on ELC bindings"; + leaf enable { + type empty; + description + "none"; + } + } + leaf disable-implicit-ipv4 { + type empty; + description + "Disable the implicit enabling for IPv4 address + family"; + } + leaf ltrace-buf-multiplier { + type uint32 { + range "1..5"; + } + default "1"; + description + "Configure Ltrace Buffer Multiplier"; + } + } + leaf enable { + type empty; + mandatory true; + description + "Enable Label Distribution Protocol (LDP) + globally.Without creating this object the LDP + feature will not be enabled. Deleting this + object will stop the LDP feature."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1.yang new file mode 100644 index 000000000..76110453f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1.yang @@ -0,0 +1,1500 @@ +submodule Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-ldp-mldp-oper { + prefix Cisco-IOS-XR-mpls-ldp-mldp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp-mldp package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-27 { + description + "Modified arg type for mldp database root address in schema and bgen files. from ipaddress to string"; + semver:module-version "1.2.1m"; + } + revision 2021-04-27 { + description + "Added mLDP flex-algo"; + semver:module-version "1.2.0"; + } + revision 2020-10-18 { + description + "Backward compatible removal in telemetry event Cisco-IOS-XR-types, event-telemetry was removed."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2018-08-30 { + description + "Operational Yang model for mLDP."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MLDP-FIB-REGDB-BAG { + description + "MLDP FIB REGDB"; + leaf address { + type inet:ipv4-address; + description + "address"; + } + leaf registered { + type boolean; + description + "ecd registered"; + } + leaf stale { + type boolean; + description + "ECD Stale flag"; + } + leaf flags { + type uint8; + description + "interested flags"; + } + leaf algo { + type uint8; + description + "algo value"; + } + leaf sid { + type uint32; + description + "Sid"; + } + leaf notified-count { + type uint32; + description + "ecd notified count"; + } + leaf ecd-info { + type uint16; + description + "ecd info length"; + } + leaf notified-ts { + type string { + length "0..40"; + } + description + "notified timestamp"; + } + list path { + description + "path list"; + uses MLDP-ROOT-PATH-BAG; + } + } + + grouping MLDP-FLEX-PEER-BRANCH-BAG { + description + "MLDP Flex peer Branch Information"; + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf branch-type { + type uint32; + description + "Branch Type"; + } + leaf branch-id { + type uint32; + description + "Branch ID"; + } + } + + grouping MLDP-FLEX-PEER-BAG { + description + "MLDP Flex Peer Information"; + leaf fi-bregistered { + type boolean; + description + "Registered with FIB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf algo { + type uint8; + description + "Flex Algo"; + } + leaf sid { + type uint32; + description + "Sid"; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf branch-count { + type uint32; + description + "Number of Branches"; + } + leaf path-count { + type uint32; + description + "Paths to reach"; + } + list branch { + description + "Peer Brach list"; + uses MLDP-FLEX-PEER-BRANCH-BAG; + } + list path { + description + "Peer Path list"; + uses MLDP-NEIGHBOR-PATH-BAG; + } + } + + grouping MLDP-FLEX-PEER-RIB-BAG { + description + "MLDP RIB algo"; + leaf ri-bregistered { + type uint8; + description + "RIB registered algo-id"; + } + leaf ri-blocal { + type uint32; + description + "Local Label"; + } + leaf metric { + type uint32; + description + "Metric"; + } + } + + grouping MLDP-NEIGHBOR-IDENT-BAG { + description + "MLDP Neighbor Identity Information"; + leaf address { + type inet:ipv4-address; + description + "MLDP neighbor identity address"; + } + } + + grouping MLDP-NEIGHBOR-ADJ-BAG { + description + "MLDP Neighbor Adjacency Information"; + leaf address { + type inet:ipv4-address; + description + "MLDP neighbor adjacency address"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "MLDP neighbor adjacency interface"; + } + leaf checkpoint-stale { + type boolean; + description + "MLDP neighbor adj info via checkpoint"; + } + leaf graceful-restart-stale { + type boolean; + description + "MLDP neighbor adj stale due to GR"; + } + leaf confict-ignore { + type boolean; + description + "Ignore this adjacency due to conflict"; + } + } + + grouping MLDP-NEIGHBOR-PATH-BAG { + description + "MLDP Neighbor Path Information"; + leaf neighbor-address { + type inet:ipv4-address; + description + "MLDP neighbor path address"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "MLDP neighbor path interface"; + } + leaf interface-name-parent { + type string { + length "0..81"; + } + description + "MLDP neighbor path interface"; + } + leaf mldp-adjacency { + type boolean; + description + "MLDP adjacency present"; + } + leaf checkpoint-stale { + type boolean; + description + "MLDP neighbor path info via checkpoint"; + } + leaf disabled { + type uint32; + description + "MLDP neighbor path is disabled"; + } + leaf rib-disc-id { + type uint16; + description + "RIB Discovery ID"; + } + } + + grouping MLDP-NEIGHBOR-BAG { + description + "MLDP Neighbor Information"; + leaf identity-string { + type string { + length "0..32"; + } + description + "MLDP Identity string"; + } + leaf capabilities { + type uint32; + description + "MLDP neighbor capabilities"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf up-time { + type uint32; + units "millisecond"; + description + "MLDP neighbor uptime in milli-seconds"; + } + leaf down { + type boolean; + description + "MLDP neighbor is marked as down"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf target-adjacency { + type boolean; + description + "MLDP neighbor is targetted"; + } + leaf session-handle { + type uint32; + description + "MLDP neighbor session handle"; + } + leaf upstream-count { + type uint32; + description + "MLDP neighbor Upstream LSP count"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf branch-count { + type uint32; + description + "MLDP neighbor branch count"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf graceful-restart-enabled { + type boolean; + description + "Graceful restart enabled"; + } + leaf graceful-restart-active { + type boolean; + description + "LDP is in Graceful restart mode"; + } + leaf graceful-restart-instance { + type uint32; + description + "Graceful restart instance"; + } + leaf graceful-restart-reconnect-time { + type uint32; + description + "GR reconnect time"; + } + leaf label-map-timer { + type int32; + units "millisecond"; + description + "Label Mapping timer in milli-seconds"; + } + leaf checkpoint-stale { + type boolean; + description + "MLDP neighbor information via checkpoint"; + } + leaf path-count { + type uint32; + description + "MLDP neighbor path count"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf adjacency-count { + type uint32; + description + "MLDP neighbor adjacency count"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf inbound-neighbor-policy { + type string { + length "0..256"; + } + description + "Inbound Neighbor Policy"; + } + leaf outbound-neighbor-policy { + type string { + length "0..256"; + } + description + "Outbound Neighbor Policy"; + } + leaf peer-identity-count { + type uint32; + description + "MLDP peer identify count"; + } + leaf peer-upstream-preference { + type uint32; + description + "MLDP peer upstream preference"; + } + list neighbor-path { + description + "Path List"; + uses MLDP-NEIGHBOR-PATH-BAG; + } + list neighbor-adjacency { + description + "Adjacency List"; + uses MLDP-NEIGHBOR-ADJ-BAG; + } + list peer-identity { + description + "Identity List"; + uses MLDP-NEIGHBOR-IDENT-BAG; + } + list numberof-algo { + description + "RIB algo list"; + uses MLDP-FLEX-PEER-RIB-BAG; + } + list flex-peer { + description + "flex peer list"; + uses MLDP-FLEX-PEER-BAG; + } + } + + grouping MLDP-TABLE-BAG { + description + "MLDP Table Information"; + leaf table-name { + type string { + length "0..32"; + } + description + "Table name"; + } + leaf rib-converged { + type boolean; + description + "RIB table converged"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf rib-table-id { + type uint32; + description + "RIB Table ID"; + } + } + + grouping MLDP-CONTEXT-BAG { + description + "MLDP Context Information"; + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF name"; + } + leaf active-table-name { + type string { + length "0..32"; + } + description + "Active RIB Table Name for this VRF"; + } + leaf lsp-count { + type uint32; + description + "Number of P2MP/MP2MP LSPs in the vrf"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf peer-count { + type uint32; + description + "Number of mLDP neighbors in the vrf"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf mu-rib-enabled { + type boolean; + description + "MuRIB is enabled"; + } + leaf multi-path-upstream-enabled { + type boolean; + description + "Multi-path Upstream is enabled"; + } + leaf multi-path-downstream-enabled { + type boolean; + description + "Multi-path Downstream is enabled"; + } + leaf make-before-break-delay { + type uint32; + units "millisecond"; + description + "Make-before-break delay in milli-seconds"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf mldp-table-count { + type uint32; + description + "Number of mLDP tables"; + } + list mldp-table { + description + "List of mLDP tables"; + uses MLDP-TABLE-BAG; + } + } + + grouping MLDP-FLEX-ROOT-DB-BAG { + description + "MLDP Root Flex db information"; + container rootdb-bag-info { + description + "Root Information"; + uses MLDP-ROOT-AFI-BAG; + } + leaf lsmid { + type uint32; + description + "LSM ID of the paths in this LSP binding"; + } + } + + grouping MLDP-FLEX-ROOT-BAG { + description + "MLDP Flex Root Information"; + leaf fi-bregistered { + type boolean; + description + "Registered with FIB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf algo { + type uint8; + description + "Flex Algo"; + } + leaf sid { + type uint32; + description + "Sid"; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf distance { + type uint32; + description + "Distance"; + } + leaf fec-count { + type uint32; + description + "LSP's linked to this root"; + } + leaf recursice-fec-count { + type uint32; + description + "Recursive LSP's linked to this root"; + } + leaf path-count { + type uint32; + description + "Paths to reach this root"; + } + list root-path { + description + "Root path list"; + uses MLDP-ROOT-PATH-BAG; + } + list root-info { + description + "Root Information"; + uses MLDP-FLEX-ROOT-DB-BAG; + } + } + + grouping MLDP-FLEX-RIB-BAG { + description + "MLDP RIB algo"; + leaf ri-bregistered { + type uint8; + description + "RIB registered algo-id"; + } + leaf ri-blocal { + type uint32; + description + "Local Label"; + } + leaf metric { + type uint32; + description + "Metric"; + } + } + + grouping MLDP-ROOT-IPMSI-BAG { + description + "MLDP Root I-PMSI Information"; + leaf next-hop-address-ipv4 { + type inet:ipv4-address; + description + "IPMSI IPv4 next-hop address"; + } + leaf next-hop-address-ipv6 { + type inet:ipv4-address; + description + "IPMSI IPv6 next-hop address"; + } + leaf rd-name { + type string { + length "0..65"; + } + description + "RD name"; + } + } + + grouping MLDP-ROOT-PATH-BAG { + description + "MLDP Root Path Information"; + leaf root-address { + type inet:ipv4-address; + description + "Root address"; + } + leaf mldp-identity-string { + type string { + length "0..32"; + } + description + "MLDP neighbor identity"; + } + leaf checkpoint-stale { + type boolean; + description + "MLDP root path information via checkpoint"; + } + leaf flex-root { + type boolean; + description + "Flex Root"; + } + leaf php-next-hop-address { + type inet:ipv4-address; + description + "Penultimate next-hop"; + } + leaf rib-disc-id { + type uint16; + description + "RIB Discovery ID"; + } + leaf algotype { + type uint8; + description + "Algo type"; + } + leaf table-id { + type uint32; + description + "Table ID "; + } + } + + grouping MLDP-ROOT-BAG { + description + "MLDP Root Information"; + leaf address { + type inet:ipv4-address; + description + "Root address"; + } + leaf we-are-root { + type boolean; + description + "We are the root"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf checkpoint-stale { + type boolean; + description + "MLDP root information via checkpoint"; + } + leaf via-bgp { + type boolean; + description + "Route learned via BGP"; + } + leaf via-static { + type boolean; + description + "Route learned via Static"; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf distance { + type uint32; + description + "Distance"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "Root Interface"; + } + leaf fec-count { + type uint32; + description + "LSP's linked to this root"; + } + leaf recursice-fec-count { + type uint32; + description + "Recursive LSP's linked to this root"; + } + leaf path-count { + type uint32; + description + "Paths to reach this root"; + } + list root-path { + description + "Root path list"; + uses MLDP-ROOT-PATH-BAG; + } + list root-ipmsi { + description + "Root I-PMSI list"; + uses MLDP-ROOT-IPMSI-BAG; + } + list numberof-algo { + description + "RIB algo list"; + uses MLDP-FLEX-RIB-BAG; + } + list flex-path { + description + "Flex path list"; + uses MLDP-FLEX-ROOT-BAG; + } + } + + grouping MLDP-NEIGHBOR-ADDR-IDENT-BAG { + description + "MLDP Neighbor Address Ident"; + leaf identity-string { + type string { + length "0..32"; + } + description + "MLDP Identity"; + } + } + + grouping MLDP-NEIGHBOR-ADDR-BAG { + description + "MLDP neighbor Address Information"; + leaf address-xr { + type inet:ipv4-address; + description + "MLDP neighbor address"; + } + list identity { + description + "Identity List"; + uses MLDP-NEIGHBOR-ADDR-IDENT-BAG; + } + } + + grouping MLDP-BRANCH-BAG { + description + "MLDP Branch Information"; + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf branch-owner { + type string { + length "0..32"; + } + description + "Branch owner string"; + } + leaf up-time { + type uint32; + units "millisecond"; + description + "Branch uptime in milli-seconds"; + } + leaf graceful-restart-stale { + type boolean; + description + "Branch has been marked stale by graceful restart"; + } + leaf graceful-restart-instance { + type uint32; + description + "Branch graceful restart instance"; + } + leaf mpls-label { + type uint32; + description + "Branch Remote label"; + } + leaf mpls-local-label-upstream { + type uint32; + description + "Branch Local label"; + } + leaf head-lsm-id { + type uint32; + description + "Head LSM ID"; + } + leaf recursive-owner-id { + type uint32; + description + "Recursive Branch ownerLSM ID"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Branch next-hop address"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "Branch next-hop interface name"; + } + leaf interface-down { + type boolean; + description + "Interface is down"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf egress-interface-name { + type string { + length "0..64"; + } + description + "Egress interface name"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF name"; + } + leaf owner-id { + type uint32; + description + "Branch owner ID"; + } + leaf egress { + type boolean; + description + "Branch is Egress"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf mfi-peek { + type boolean; + description + "Branch Peek is enabled"; + } + leaf ingress { + type boolean; + description + "Branch is Ingress"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf ppmp { + type boolean; + description + "Branch PPMP is enabled"; + } + leaf drop { + type boolean; + description + "Branch DROP is set"; + } + leaf ordered-mode { + type boolean; + description + "Branch is enabled for ordered mode"; + } + leaf mame-before-break-request { + type boolean; + description + "MBB request received on this branch"; + } + leaf application-stale { + type boolean; + description + "Branch marked stale by application"; + } + leaf mfi-duplicate-ignore { + type boolean; + description + "MFI duplicate ignore by forwarding"; + } + leaf rpf-id { + type uint32; + description + "Branch RPF ID"; + } + leaf ldp-message-id { + type uint32; + description + "Branch LDP message ID"; + } + leaf rd-name { + type string { + length "0..65"; + } + description + "Recursive RD name"; + } + } + + grouping MLDP-ACEL-BAG { + description + "MLDP Upstream Neighbor Information"; + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf mldp-peer { + type string { + length "0..32"; + } + description + "MLDP Neighbor Identity"; + } + leaf mpls-local-label { + type uint32; + description + "Local Label"; + } + leaf mpls-label-upstream { + type uint32; + description + "Remote Label"; + } + leaf active { + type boolean; + description + "Neighbor is active"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf delete-pending { + type boolean; + description + "Neighbor is delete pending"; + } + leaf checkpoint-stale { + type boolean; + description + "MLDP neighbor information via checkpoint"; + } + leaf make-before-break-ack { + type boolean; + description + "Make-before-break ack received"; + } + leaf make-before-break-ack-pending { + type boolean; + description + "Make-before-break ack pending"; + } + leaf mfi-duplicate-ignore { + type boolean; + description + "MFI duplicate ignore by forwarding"; + } + leaf peer-change-delay { + type int32; + units "millisecond"; + description + "Neighbor change delay in milli-seconds"; + } + leaf delete-delay { + type int32; + units "millisecond"; + description + "Upstream neighbor delete delay in milli-seconds"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "Root Interface"; + } + leaf root-address-next-hop { + type inet:ipv4-address; + description + "Root next-hop address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf up-time { + type uint32; + units "millisecond"; + description + "Neighbor uptime in milli-seconds"; + } + leaf state-change-time { + type uint32; + units "millisecond"; + description + "State change time in milli-seconds"; + } + leaf csi-accepting { + type boolean; + description + "If ACEL is CSI accepting"; + } + } + + grouping MLDP-DATABASE-BAG { + description + "MLDP Database Information"; + container root-info { + description + "Root Information"; + uses MLDP-ROOT-AFI-BAG; + } + leaf lsm-id-xr { + type uint32; + description + "LSM ID"; + } + leaf vrf-name { + type string { + length "0..256"; + } + description + "VRF name"; + } + leaf up-time { + type uint32; + units "millisecond"; + description + "Uptime in milli-seconds"; + } + leaf tree-type { + type uint32; + description + "Tree Type"; + } + leaf root-address-xr { + type inet:ipv4-address; + description + "Root address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf we-are-root { + type boolean; + description + "We are the root"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf fec-opaque-length { + type uint32; + description + "FEC opaque length"; + } + leaf opaque-decoded-string { + type string { + length "0..255"; + } + description + "Opaque value decoded string"; + } + leaf fec-value-length { + type uint32; + description + "FEC Value length"; + } + leaf root-node-redundency-lsm-id { + type uint32; + description + "RNR LSM-ID"; + } + leaf root-node-redundency-active { + type boolean; + description + "RNR Active"; + } + leaf root-node-redundency-is-primary { + type boolean; + description + "RNR Primary is this entry"; + } + leaf root-node-redundency-lsm-id-primary { + type uint32; + description + "RNR Primary LSM ID"; + } + leaf root-node-redundency-root-address { + type inet:ipv4-address; + description + "RNR Root node address"; + } + leaf root-node-redundency-candidate-string { + type string { + length "0..80"; + } + description + "RNR candidate list"; + } + leaf is-ldp-branch { + type boolean; + description + "LDP Branch"; + } + leaf is-local-branch { + type boolean; + description + "Local Branch"; + } + leaf is-local-interface { + type boolean; + description + "Local Interface"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf role-egress { + type boolean; + description + "Role Egress"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf forwarding-peek { + type boolean; + description + "Peek is enabled"; + } + leaf make-before-break-enabled { + type boolean; + description + "MBB feature is enabled"; + } + leaf mo-frr-enabled { + type boolean; + description + "MoFRR feature is enabled"; + } + leaf recursive-fec-enabled { + type boolean; + description + "Recursive FEC is enabled"; + } + leaf trace-enabled { + type boolean; + description + "Trace filter is enabled"; + } + leaf forward-recursive { + type boolean; + description + "Recursive Forwarding is enabled"; + } + leaf peer-change-delay { + type int32; + units "millisecond"; + description + "Neighbor change delay in milli-seconds"; + } + leaf encode-branch-id { + type uint32; + description + "Recursive FEC Encode LSM ID"; + } + leaf decode-branch-id { + type uint32; + description + "Recursive FEC Decode LSM ID"; + } + leaf upstream-neigbbor-count { + type uint32; + description + "Upstream MLDP neighbor count"; + } + leaf downstream-branch-count { + type uint32; + description + "Downstream branch count"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + list upstream-neighbor { + description + "Upstream neighbor List"; + uses MLDP-ACEL-BAG; + } + list branch { + description + "Branch List"; + uses MLDP-BRANCH-BAG; + } + } + + grouping MLDP-BINDING-PATH-BAG { + description + "MLDP Binding path information"; + leaf lsmid { + type uint32; + description + "LSM ID of the paths in this LSP binding"; + } + leaf acel-type { + type boolean; + description + "Binding is Accepting Element"; + } + leaf branch-type { + type boolean; + description + "Binding is a branch"; + } + leaf acel-active { + type boolean; + description + "This ACEL is active"; + } + leaf branch-owner-type { + type uint32; + description + "Which type of branch"; + } + leaf local-label { + type uint32; + description + "Local label allocated for this binding"; + } + leaf remote-label { + type uint32; + description + "Remote label assigned to this binding"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next-hop address"; + } + leaf rpf-id { + type uint32; + description + "RPF Identifier"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + } + + grouping MLDP-ROOT-AFI-BAG { + description + "MLDP Root Information"; + leaf root-afi { + type uint16; + description + "Root AFI"; + } + leaf root-address { + type inet:ipv4-address; + description + "Root address"; + } + leaf mt-algo-type { + type uint8; + description + "MT Algo Type"; + } + leaf mt-algo-id { + type uint8; + description + "MT Algo ID"; + } + leaf mtid { + type uint16; + description + "MT ID"; + } + } + + grouping MLDP-BINDING-DB-OPQ-BAG { + description + "MLDP Binding Opaque information"; + container root-info { + description + "Root Information"; + uses MLDP-ROOT-AFI-BAG; + } + leaf tree-type { + type uint32; + description + "Tree Type"; + } + leaf lsmid { + type uint32; + description + "LSM ID of the paths in this LSP binding"; + } + leaf root-address { + type inet:ipv4-address; + description + "Root address"; + } + leaf opaque-decoded-string { + type string { + length "0..255"; + } + description + "Opaque value decoded string"; + } + } + + grouping MLDP-BINDING-LSP-BAG { + description + "MLDP Binding LSP information"; + leaf binding-id { + type uint32; + description + "ID used for this binding"; + } + leaf num-paths { + type uint32; + description + "Number of paths in this LSP binding"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + list opaque { + description + "FEC Opaque List"; + uses MLDP-BINDING-DB-OPQ-BAG; + } + list binding-path { + description + "Path List"; + uses MLDP-BINDING-PATH-BAG; + } + } + + grouping MLDP-MFI-PATH-BAG { + description + "MFI Label Rewrite Path"; + leaf mpls-label { + type uint32; + description + "Remote Label"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next hop"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + leaf out-info-flags { + type uint32; + description + "Outinfo flags"; + } + leaf role { + type uint32; + description + "Role"; + } + } + + grouping MLDP-MFI-RW-BAG { + description + "MLDP MFI Forwarding Information"; + leaf mpls-local-label { + type uint32; + description + "Local Label"; + } + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf head-lsm-id { + type uint32; + description + "Head LSM ID"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf rpf-id { + type uint32; + description + "RPF Identifier"; + } + leaf interface-name { + type string { + length "0..81"; + } + description + "LSP Virtual interface name"; + } + list forwarding-path { + description + "Path List"; + uses MLDP-MFI-PATH-BAG; + } + } + + grouping MLDP-STATUS-BAG { + description + "MLDP Status Information"; + leaf mldp-active { + type boolean; + description + "MLDP has been activated"; + } + leaf mldp-running { + type boolean; + description + "MLDP is running"; + } + leaf mldp-ready { + type boolean; + description + "MLDP is ready"; + } + leaf mldp-rib-connection-status { + type boolean; + description + "MLDP RIB connection status"; + } + leaf mldp-rib-connection-open { + type boolean; + description + "MLDP RIB connection open"; + } + leaf log-internal { + type boolean; + description + "Logging internal is enabled"; + } + leaf log-notifications { + type boolean; + description + "Logging notifications is enabled"; + } + leaf label-release-delay { + type uint32; + units "millisecond"; + description + "Label release delay in milli-seconds"; + } + leaf lsm-id-delay { + type uint32; + units "millisecond"; + description + "LSM ID scan delay in milli-seconds"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper.yang new file mode 100644 index 000000000..5b3fc32ba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-mldp-oper.yang @@ -0,0 +1,433 @@ +module Cisco-IOS-XR-mpls-ldp-mldp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-mldp-oper"; + prefix mpls-ldp-mldp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1 { + revision-date 2022-01-27; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp-mldp package operational data. + + This module contains definitions + for the following management objects: + mpls-mldp: MPLS MLDP operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-27 { + description + "Modified arg type for mldp database root address in schema and bgen files. from ipaddress to string"; + semver:module-version "1.2.1m"; + } + revision 2021-04-27 { + description + "Added mLDP flex-algo"; + semver:module-version "1.2.0"; + } + revision 2020-10-18 { + description + "Backward compatible removal in telemetry event Cisco-IOS-XR-types, event-telemetry was removed."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2018-08-30 { + description + "Operational Yang model for mLDP."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Lsp { + type enumeration { + enum "invalid" { + value 0; + description + "Invalid LSP Type"; + } + enum "any" { + value 1; + description + "Any LSP Type"; + } + enum "p2mp" { + value 2; + description + "P2MP LSP Type"; + } + enum "mp2mp-upstream" { + value 3; + description + "MP2MP Upstream LSP Type"; + } + enum "mp2mp-downstream" { + value 4; + description + "MP2MP Downstream LSP Type"; + } + enum "mp2mp" { + value 5; + description + "MP2MP LSP Type"; + } + } + description + "Lsp"; + } + + typedef Opaque { + type enumeration { + enum "static-id" { + value 0; + description + "Static ID Opaque Type"; + } + enum "global-id" { + value 1; + description + "Global ID Opaque Type"; + } + enum "vpn-id" { + value 2; + description + "VPN ID Opaque Type"; + } + enum "ipv4" { + value 3; + description + "IPv4 Opaque Type"; + } + enum "ipv6" { + value 4; + description + "IPv6 Opaque Type"; + } + enum "ipv4-bidir" { + value 5; + description + "IPv4 Bidir Opaque Type"; + } + enum "ipv6-bidir" { + value 6; + description + "IPv6 Bidir Opaque Type"; + } + enum "recursive" { + value 7; + description + "Recursive Opaque Type"; + } + enum "recursive-route-distinguisher" { + value 8; + description + "Recursive Route Distinguisher Opaque Type"; + } + enum "vpnv4" { + value 250; + description + "VPNv4 Opaque Type"; + } + enum "vpnv6" { + value 251; + description + "VPNv6 Opaque Type"; + } + } + description + "Opaque"; + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrfs { + description + "VRF specific operational data"; + list vrf { + key "vrf-name"; + description + "Operational data for given VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF Name"; + } + uses NEIGHBOR-ADDRESS-TABLE; + uses DATABASE-TABLE; + uses ROOT-ADDRESS-TABLE; + uses CONTEXT; + uses NEIGHBOR-TABLE; + } + } + } + + grouping MFI-ENTRY-TABLE { + description + "Common node of active, standby"; + container mfi-entries { + description + "MLDP MFI Table"; + list mfi-entry { + key "mpls-label"; + description + "MLDP MFI Information"; + leaf mpls-label { + type uint32; + description + "MPLS Label"; + } + uses MLDP-MFI-RW-BAG; + } + } + } + + grouping LSM-ID-TABLE { + description + "Common node of active, standby"; + container lsm-ids { + description + "MLDP LSM-ID"; + list lsm-id { + key "lsm-id"; + description + "MLDP LSMID Information"; + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + uses MLDP-DATABASE-BAG; + } + } + } + + grouping NEIGHBOR-ADDRESS-TABLE { + description + "Common node of vrf, default-context"; + container neighbor-addresses { + description + "MLDP Neighbors Addresses"; + list neighbor-address { + key "address"; + description + "Neighbor Address Information"; + leaf address { + type inet:ipv4-address-no-zone; + description + "The Neighbor IP address"; + } + uses MLDP-NEIGHBOR-ADDR-BAG; + } + } + } + + grouping ROOT-ADDRESS-TABLE { + description + "Common node of vrf, default-context"; + container root-addresses { + description + "MLDP Root Table"; + list root-address { + key "root-address"; + description + "MLDP Root Information"; + leaf root-address { + type inet:ipv4-address-no-zone; + description + "Root address"; + } + uses MLDP-ROOT-BAG; + } + } + } + + grouping FIB-REGDB-TABLE { + description + "Common node of active, standby"; + container labels { + description + "MLDP Regdb Table"; + list label { + key "label"; + description + "MLDP Label Information"; + leaf label { + type uint32; + description + "LABEL ID"; + } + uses MLDP-FIB-REGDB-BAG; + } + } + } + + grouping STATUS { + description + "Common node of active, standby"; + container status { + description + "MLDP Status"; + uses MLDP-STATUS-BAG; + } + } + + grouping CONTEXT { + description + "Common node of vrf, default-context"; + container context { + description + "MLDP Context"; + uses MLDP-CONTEXT-BAG; + } + } + + grouping DATABASE-TABLE { + description + "Common node of vrf, default-context"; + container databases { + description + "MLDP Database"; + list database { + key "lsp-type root-address opaque-type opaque-value-string"; + description + "MLDP Database Information"; + leaf lsp-type { + type Lsp; + description + "LSP Type"; + } + leaf root-address { + type inet:ipv4-address-no-zone; + description + "Root address"; + } + leaf opaque-type { + type Opaque; + description + "Opaque Type"; + } + leaf opaque-value-string { + type xr:Cisco-ios-xr-string { + length "1..255"; + } + description + "OpaqueValue"; + } + uses MLDP-DATABASE-BAG; + } + } + } + + grouping LSP-BINDINGS-TABLE { + description + "Common node of active, standby"; + container lsp-bindings { + description + "MLDP LSP Bindings Table"; + list lsp-binding { + key "lsm-id"; + description + "MLDP LSP Binding Information"; + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + uses MLDP-BINDING-LSP-BAG; + } + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default context specific operational data"; + uses NEIGHBOR-ADDRESS-TABLE; + uses DATABASE-TABLE; + uses ROOT-ADDRESS-TABLE; + uses CONTEXT; + uses NEIGHBOR-TABLE; + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of vrf, default-context"; + container neighbors { + description + "MLDP Neighbors"; + list neighbor { + key "address"; + description + "Neighbor Information"; + leaf address { + type inet:ipv4-address-no-zone; + description + "The Neighbor IP address"; + } + uses MLDP-NEIGHBOR-BAG; + } + } + } + + container mpls-mldp { + config false; + description + "MPLS MLDP operational data"; + container active { + description + "Active MPLS MLDP operational data"; + uses STATUS; + uses MFI-ENTRY-TABLE; + uses LSP-BINDINGS-TABLE; + uses LSM-ID-TABLE; + uses VRF-TABLE; + uses FIB-REGDB-TABLE; + uses DEFAULT-CONTEXT; + } + container standby { + description + "Standby MPLS MLDP operational data"; + uses STATUS; + uses MFI-ENTRY-TABLE; + uses LSP-BINDINGS-TABLE; + uses LSM-ID-TABLE; + uses VRF-TABLE; + uses FIB-REGDB-TABLE; + uses DEFAULT-CONTEXT; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-datatypes.yang new file mode 100644 index 000000000..6dce3bbb5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-datatypes.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-mpls-ldp-oper-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-oper-datatypes"; + prefix mpls-ldp-oper-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp-oper-data package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-ldp-oper-af-name { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + enum "all" { + value 65535; + description + "All"; + } + } + description + "Mpls ldp oper af name"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub1.yang new file mode 100644 index 000000000..277c079a6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub1.yang @@ -0,0 +1,3460 @@ +submodule Cisco-IOS-XR-mpls-ldp-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-ldp-oper { + prefix Cisco-IOS-XR-mpls-ldp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-17 { + description + "Added interface Auto Configure TE Tunnels parameters. + 2021-12-20 + Added new path for cloned tunnels + 2021-09-20 + Added keys for nbr-br-af-info"; + semver:module-version "1.2.0"; + } + revision 2021-04-06 { + description + "Added BSID data in LDP forwarding"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mgmt-ldp-nbr-bgp-advt-state { + type enumeration { + enum "not-applicable" { + value 0; + description + "Not applicable"; + } + enum "permit" { + value 1; + description + "Advertisement permitted"; + } + enum "deny" { + value 2; + description + "Advertisement denied"; + } + } + description + "MPLS LDP Neighbor BGP Label Advertisement State + Type"; + } + + typedef Mgmt-ldp-nsr-peer-ldp-sync-nack-rsn { + type enumeration { + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-none" { + description + "mgmt ldp nsr peer ldp sync nack rsn none"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-tbl-id-mismatch" { + description + "mgmt ldp nsr peer ldp sync nack rsn tbl id + mismatch"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-pp-exists" { + description + "mgmt ldp nsr peer ldp sync nack rsn pp exists"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-missing-elem" { + description + "mgmt ldp nsr peer ldp sync nack rsn missing + elem"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-no-p-end-sock" { + description + "mgmt ldp nsr peer ldp sync nack rsn no p end + sock"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-p-end-sock-not-synced" { + description + "mgmt ldp nsr peer ldp sync nack rsn p end sock + not synced"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-adj-add" { + description + "mgmt ldp nsr peer ldp sync nack rsn err adj add"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-dhcb-add" { + description + "mgmt ldp nsr peer ldp sync nack rsn err dhcb + add"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-enomem" { + description + "mgmt ldp nsr peer ldp sync nack rsn enomem"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-tp-create" { + description + "mgmt ldp nsr peer ldp sync nack rsn err tp + create"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-pp-create" { + description + "mgmt ldp nsr peer ldp sync nack rsn err pp + create"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-addr-bind" { + description + "mgmt ldp nsr peer ldp sync nack rsn err addr + bind"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-rx-bad-pie" { + description + "mgmt ldp nsr peer ldp sync nack rsn err rx bad + pie"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-rx-notif" { + description + "mgmt ldp nsr peer ldp sync nack rsn err rx + notif"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-rx-unexp-open" { + description + "mgmt ldp nsr peer ldp sync nack rsn err rx + unexp open"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-unexp-peer-down" { + description + "mgmt ldp nsr peer ldp sync nack rsn err unexp + peer down"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-app-not-found" { + description + "mgmt ldp nsr peer ldp sync nack rsn err app not + found"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-app-invalid" { + description + "mgmt ldp nsr peer ldp sync nack rsn err app + invalid"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-adj-grp-not-found" { + description + "mgmt ldp nsr peer ldp sync nack rsn err adj grp + not found"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-invalid-elem" { + description + "mgmt ldp nsr peer ldp sync nack rsn invalid + elem"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-app-data-invalid" { + description + "mgmt ldp nsr peer ldp sync nack rsn err app + data invalid"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-invalid-per-idx" { + description + "mgmt ldp nsr peer ldp sync nack rsn err invalid + per idx"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-pfx-not-found" { + description + "mgmt ldp nsr peer ldp sync nack rsn err pfx not + found"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-bm-size-invalid" { + description + "mgmt ldp nsr peer ldp sync nack rsn err bm size + invalid"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-adv-bm-clear" { + description + "mgmt ldp nsr peer ldp sync nack rsn err adv bm + clear"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-err-tcp-struct-create" { + description + "mgmt ldp nsr peer ldp sync nack rsn err tcp + struct create"; + } + enum "mgmt-ldp-nsr-peer-ldp-sync-nack-rsn-no-ctx" { + description + "mgmt ldp nsr peer ldp sync nack rsn no ctx"; + } + } + description + "Mgmt ldp nsr peer ldp sync nack rsn"; + } + + typedef Mgmt-ldp-nsr-peer-sync-err { + type enumeration { + enum "mgmt-ldp-nsr-peer-sync-err-none" { + description + "mgmt ldp nsr peer sync err none"; + } + enum "mgmt-ldp-nsr-peer-sync-err-ldp-sync-nack" { + description + "mgmt ldp nsr peer sync err ldp sync nack"; + } + enum "mgmt-ldp-nsr-peer-sync-err-sync-prep" { + description + "mgmt ldp nsr peer sync err sync prep"; + } + enum "mgmt-ldp-nsr-peer-sync-err-tcp-peer" { + description + "mgmt ldp nsr peer sync err tcp peer"; + } + enum "mgmt-ldp-nsr-peer-sync-err-tcp-gbl" { + description + "mgmt ldp nsr peer sync err tcp gbl"; + } + enum "mgmt-ldp-nsr-peer-sync-err-ldp-peer" { + description + "mgmt ldp nsr peer sync err ldp peer"; + } + enum "mgmt-ldp-nsr-peer-sync-err-ldp-gbl" { + description + "mgmt ldp nsr peer sync err ldp gbl"; + } + enum "mgmt-ldp-nsr-peer-sync-err-app-fail" { + description + "mgmt ldp nsr peer sync err app fail"; + } + enum "mgmt-ldp-nsr-peer-sync-err-sync-tcp-phase1" { + description + "mgmt ldp nsr peer sync err sync tcp phase1"; + } + enum "mgmt-ldp-nsr-peer-sync-err-sync-tcp-phase2" { + description + "mgmt ldp nsr peer sync err sync tcp phase2"; + } + } + description + "Mgmt ldp nsr peer sync err"; + } + + typedef Mgmt-ldp-nsr-peer-sync-state { + type enumeration { + enum "mgmt-ldp-nsr-peer-sync-st-none" { + description + "mgmt ldp nsr peer sync st none"; + } + enum "mgmt-ldp-nsr-peer-sync-st-wait" { + description + "mgmt ldp nsr peer sync st wait"; + } + enum "mgmt-ldp-nsr-peer-sync-st-ready" { + description + "mgmt ldp nsr peer sync st ready"; + } + enum "mgmt-ldp-nsr-peer-sync-st-prep" { + description + "mgmt ldp nsr peer sync st prep"; + } + enum "mgmt-ldp-nsr-peer-sync-st-app-wait" { + description + "mgmt ldp nsr peer sync st app wait"; + } + enum "mgmt-ldp-nsr-peer-sync-st-oper" { + description + "mgmt ldp nsr peer sync st oper"; + } + enum "mgmt-ldp-nsr-peer-sync-st-tcp-phase1" { + description + "mgmt ldp nsr peer sync st tcp phase1"; + } + enum "mgmt-ldp-nsr-peer-sync-st-tcp-phase2" { + description + "mgmt ldp nsr peer sync st tcp phase2"; + } + } + description + "Mgmt ldp nsr peer sync state"; + } + + typedef Ldp-adj-union-discrim { + type enumeration { + enum "link-hello" { + description + "Link hello"; + } + enum "targeted-hello" { + description + "Targeted hello"; + } + } + description + "MPLS LDP Hello Type"; + } + + typedef Show-nsr-state { + type enumeration { + enum "nsr-ready" { + description + "NSR ready"; + } + enum "nsr-not-ready" { + description + "NSR not ready"; + } + enum "nsr-na" { + description + "NSR not applicable"; + } + } + description + "NSR State Type"; + } + + typedef Ldp-route-path-lbl-owner { + type enumeration { + enum "ip-path-lbl-owner-none" { + value 0; + description + "No label and no owner"; + } + enum "ip-path-lbl-owner-ldp" { + value 1; + description + "Path outgoing label owned by LDP"; + } + enum "ip-path-lbl-owner-bgp" { + value 2; + description + "Path outgoing label owned by BGP"; + } + } + description + "Route path label owner"; + } + + typedef Label-value { + type enumeration { + enum "mpls-label" { + description + "MPLS Label"; + } + enum "un-labelled" { + description + "Unlabelled"; + } + enum "unknown" { + description + "Unknown label"; + } + } + description + "Label Value Type"; + } + + typedef Ldp-fwd-unlbl-rsn { + type enumeration { + enum "ldp-fwd-labelled" { + description + "ldp fwd labelled"; + } + enum "ldp-fwd-un-labelled-vrf-down" { + description + "ldp fwd un labelled vrf down"; + } + enum "ldp-fwd-un-labelled-no-nh" { + description + "ldp fwd un labelled no nh"; + } + enum "ldp-fwd-un-labelled-recursive-path" { + description + "ldp fwd un labelled recursive path"; + } + enum "ldp-fwd-un-labelled-intf-not-ldp" { + description + "ldp fwd un labelled intf not ldp"; + } + enum "ldp-fwd-un-labelled-no-rmt" { + description + "ldp fwd un labelled no rmt"; + } + enum "ldp-fwd-un-labelled-no-ldp-adj" { + description + "ldp fwd un labelled no ldp adj"; + } + enum "ldp-fwd-un-labelled-no-session" { + description + "ldp fwd un labelled no session"; + } + enum "ldp-fwd-un-labelled-unknown" { + description + "ldp fwd un labelled unknown"; + } + } + description + "Ldp fwd unlbl rsn"; + } + + typedef Ldp-route-path-flags { + type enumeration { + enum "ip-path-no-flag" { + value 0; + description + "A primary path with no special flag/attribute"; + } + enum "ip-path-protected" { + value 1; + description + "A primary path with LFA FRR protection"; + } + enum "ip-path-backup" { + value 2; + description + "A non-primary local LFA FRR (pure) backup path"; + } + enum "ip-path-backup-remote" { + value 3; + description + "A non-primary remote LFA FRR (pure) backup path"; + } + enum "ip-path-bgp-backup" { + value 4; + description + "A non-primary BGP backup path"; + } + } + description + "Route path flags"; + } + + typedef Dhcb-state { + type enumeration { + enum "none" { + description + "None"; + } + enum "dhcb-active" { + description + "Active"; + } + enum "dhcb-passive" { + description + "Passive"; + } + enum "dhcb-active-passive" { + description + "Active and Passive"; + } + } + description + "DHCB State Type"; + } + + typedef Ldp-te-autocfg-mode { + type enumeration { + enum "ldp-show-te-auto-cfg-mode-named-all" { + value 1; + description + "Auto configure all named TE Tunnels"; + } + } + description + "Ldp te autocfg mode"; + } + + typedef Ldp-igp-sync-down-reason { + type enumeration { + enum "igp-sync-down-reason-not-applicable" { + description + "Not Applicable"; + } + enum "no-hello-adjacency" { + description + "No hello adjacency"; + } + enum "no-peer-session" { + description + "No peer session"; + } + enum "initial-update-to-peer-not-done" { + description + "Initial update to peer not done yet"; + } + enum "initial-update-from-peer-not-received" { + description + "Initial update from peer not received yet"; + } + enum "internal-reason" { + description + "Internal reason"; + } + } + description + "Reason IGP Sync Not Achieved"; + } + + typedef String-td2 { + type string; + description + "String td2"; + } + + typedef Ldp-igp-sync-state { + type enumeration { + enum "isync-ready" { + description + "Acheived"; + } + enum "isync-not-ready" { + description + "Not acheived"; + } + enum "isync-deferred" { + description + "Deferred due to interface delay or global + restart delay"; + } + } + description + "IGP Sync State"; + } + + typedef Local-label-state { + type enumeration { + enum "local-label-state-none" { + value 1; + description + "None"; + } + enum "local-label-state-assigned" { + value 2; + description + "Assigned"; + } + enum "local-label-state-withdrawn" { + value 3; + description + "Withdrawn"; + } + } + description + "MPLS LDP Local Label State Type"; + } + + typedef Ldp-af { + type enumeration { + enum "ldp-show-af-none" { + value 0; + description + "No Address Family"; + } + enum "ldp-show-af-ipv4" { + value 1; + description + "IPv4 AFI"; + } + enum "ldp-show-af-ipv6" { + value 2; + description + "IPv6 AFI"; + } + enum "ldp-show-af-ipv4-ipv6" { + value 3; + description + "Both IPv4/IPv6 AFIs"; + } + } + description + "Ldp af"; + } + + typedef Ldp-in6-addr { + type inet:ipv6-address; + description + "Ldp in6 addr"; + } + + typedef Ldp-in-addr { + type inet:ipv4-address; + description + "Ldp in addr"; + } + + typedef Ldp-af-id { + type enumeration { + enum "ldp-af-id-none" { + value 0; + description + "No Address Family"; + } + enum "ldp-af-id-ipv4" { + value 2; + description + "IPv4 AFI"; + } + enum "ldp-af-id-ipv6" { + value 10; + description + "IPv6 AFI"; + } + } + description + "Ldp af id"; + } + + grouping LDP-SUMMARY { + description + "MPLS LDP Summarized Information"; + container common { + description + "Common Summary information"; + uses LDP-SUMMARY-COMMON; + } + leaf number-of-vrf { + type uint32; + description + "Number of configured VRFs (including default)"; + } + leaf number-of-vrf-oper { + type uint32; + description + "Number of configured operational VRFs (including + default)"; + } + leaf number-of-interfaces { + type uint32; + description + "Number of known interfaces"; + } + leaf number-of-fwd-ref-interfaces { + type uint32; + description + "Number of Forward Referenc interfaces"; + } + leaf number-of-autocfg-interfaces { + type uint32; + description + "Number of auto-configured interfaces"; + } + leaf is-bound-with-sysdb { + type boolean; + description + "Bound status with sysdb"; + } + leaf is-registered-with-sysdb { + type boolean; + description + "Registration status with Sysdb"; + } + leaf is-bound-with-rsi { + type boolean; + description + "Bound status with rsi"; + } + leaf is-bound-with-interface-manager { + type boolean; + description + "Bound status with Interface Manager"; + } + leaf is-registered-with-interface-manager { + type boolean; + description + "Registration status with Interface Manager"; + } + leaf is-bound-with-ip-arm { + type boolean; + description + "Bound status with IP Arm"; + } + leaf is-bound-with-lsd { + type boolean; + description + "Bound status with LSD"; + } + leaf is-registered-with-lsd { + type boolean; + description + "Registration status with LSD"; + } + leaf is-bound-with-ipv4-rib { + type boolean; + description + "Bound status with IPv4 RIB"; + } + leaf is-registered-with-ipv4-rib { + type boolean; + description + "Registration status with IPv4 RIB"; + } + leaf number-of-ipv4rib-tables { + type uint32; + description + "Total number of ipv4 RIB tables"; + } + leaf number-of-registered-ipv4rib-tables { + type uint32; + description + "Number of ipv4 RIB tables registered"; + } + leaf is-bound-with-ipv6-rib { + type boolean; + description + "Bound status with IPv6 RIB"; + } + leaf is-registered-with-ipv6-rib { + type boolean; + description + "Registration status with IPv6 RIB"; + } + leaf number-of-ipv6rib-tables { + type uint32; + description + "Total number of ipv6 RIB tables"; + } + leaf number-of-registered-ipv6rib-tables { + type uint32; + description + "Number of ipv6 RIB tables registered"; + } + leaf is-bound-with-atom { + type boolean; + description + "Bound status with L2VPN ATOM"; + } + leaf is-bound-with-nsr-mate { + type boolean; + description + "Bound status with NSR Mate"; + } + leaf is-nsr-configured { + type boolean; + description + "NSR configured"; + } + leaf is-mldp-registered { + type boolean; + description + "mLDP registration status"; + } + } + + grouping LDP-MSG-COUNTERS { + description + "MPLS LDP Session Message Counters Information"; + leaf total-count { + type uint32; + description + "Total message count"; + } + leaf init-count { + type uint32; + description + "Init message count"; + } + leaf address-count { + type uint32; + description + "Address message count"; + } + leaf address-withdraw-count { + type uint32; + description + "Address withdraw count"; + } + leaf label-map-count { + type uint32; + description + "Label map count"; + } + leaf label-withdraw-count { + type uint32; + description + "Label withdraw count"; + } + leaf label-release-count { + type uint32; + description + "Label release count"; + } + leaf label-request-count { + type uint32; + description + "Label request count"; + } + leaf label-abort-request-count { + type uint32; + description + "Label abort request count"; + } + leaf notification-count { + type uint32; + description + "Notification count"; + } + leaf keep-alive-count { + type uint32; + description + "Keepalive count"; + } + leaf iccp-rg-conn-count { + type uint32; + description + "ICCP RG Connect count"; + } + leaf iccp-rg-disconn-count { + type uint32; + description + "ICCP RG Disconnect count"; + } + leaf iccp-rg-notif-count { + type uint32; + description + "ICCP RG Notif count"; + } + leaf iccp-rg-app-data-count { + type uint32; + description + "ICCP RG App Data count"; + } + } + + grouping LDP-STATS-INFO { + description + "MPLS LDP Statistics Information"; + container message-out { + description + "Message out count"; + uses LDP-MSG-COUNTERS; + } + container message-in { + description + "Message in count"; + uses LDP-MSG-COUNTERS; + } + leaf iccp-enabled { + type boolean; + description + "Is session ICCP enabled?"; + } + } + + grouping LDP-NBR-CLIENTS-INFO { + description + "MPLS LDP Session client Information"; + leaf name { + type string; + description + "Client's name"; + } + } + + grouping LDP-NBR-DETAILED-INFO { + description + "MPLS LDP Neighbor Detailed Information"; + container capabilities { + description + "Capabilities sent to and received from neighbor"; + uses LDP-NBR-CAP-INFO; + } + leaf peer-holdtime { + type uint32; + units "second"; + description + "Session holdtime value in seconds from the peer"; + } + leaf keep-alive-interval { + type uint32; + units "second"; + description + "Session keepalive interval in seconds"; + } + leaf peer-state { + type string { + length "0..80"; + } + description + "Peer state"; + } + leaf has-ipv4-inbound { + type boolean; + description + "IPv4 Inbound label filtering present"; + } + leaf inbound-ipv4acl { + type string { + length "0..80"; + } + description + "IPv4 Inbound accept ACL"; + } + leaf has-ipv6-inbound { + type boolean; + description + "IPv6 Inbound label filtering present"; + } + leaf inbound-ipv6acl { + type string { + length "0..80"; + } + description + "IPv6 Inbound accept ACL"; + } + leaf has-ipv4-outbound { + type boolean; + description + "IPv4 Outbound label filtering present"; + } + leaf outbound-ipv4acl { + type string { + length "0..80"; + } + description + "IPv4 Outbound advertise ACL"; + } + leaf has-ipv6-outbound { + type boolean; + description + "IPv6 Outbound label filtering present"; + } + leaf outbound-ipv6acl { + type string { + length "0..80"; + } + description + "IPv6 Outbound advertise ACL"; + } + leaf has-sp { + type boolean; + description + "Session Protection enabled"; + } + leaf sp-state { + type string { + length "0..80"; + } + description + "Session Protection state"; + } + leaf sp-has-acl { + type boolean; + description + "Session protection ACL is present"; + } + leaf spacl { + type string { + length "0..80"; + } + description + "Session Protection ACL"; + } + leaf sp-has-duration { + type boolean; + description + "Session Protection has non-default duration"; + } + leaf sp-duration { + type uint32; + units "second"; + description + "Session protection holdup time duration in + seconds"; + } + leaf spht-running { + type boolean; + description + "Session Protection holdup timer is running"; + } + leaf spht-remaining { + type uint32; + units "second"; + description + "Session Protection holdup time remaining value + in seconds"; + } + leaf nsr-sync-state { + type Mgmt-ldp-nsr-peer-sync-state; + description + "NSR Sync State"; + } + leaf nsr-last-sync-error { + type Mgmt-ldp-nsr-peer-sync-err; + description + "Last NSR sync error"; + } + leaf nsr-last-sync-nack-reason { + type Mgmt-ldp-nsr-peer-ldp-sync-nack-rsn; + description + "Last NSR sync NACK reaston"; + } + leaf bgp-advertisement-state { + type Mgmt-ldp-nbr-bgp-advt-state; + description + "BGP labelled prefixes advertisement state"; + } + leaf advertise-bgp-prefixes { + type boolean; + description + "Is BGP labelled prefixes advertised to the + neighbor"; + } + list client { + description + "Targeted Session clients"; + uses LDP-NBR-CLIENTS-INFO; + } + list ipv4-duplicate-address { + description + "Duplicate IPv4 address bound to this peer"; + uses LDP-NBR-ADDR-INFO; + } + list ipv6-duplicate-address { + description + "Duplicate IPv6 address bound to this peer"; + uses LDP-NBR-ADDR-INFO; + } + } + + grouping TARGETED-HELLO { + description + "MPLS LDP Targeted Hello Information"; + container local-address { + description + "Local Address"; + uses LDP-IP-ADDR-T-UNION; + } + container target-address { + description + "Target Address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf state { + type Dhcb-state; + description + "State"; + } + } + + grouping LINK-HELLO { + description + "MPLS LDP Link Hello Information"; + leaf interface { + type xr:Interface-name; + description + "Interface name"; + } + leaf interface-name { + type string; + description + "Interface name"; + } + } + + grouping LDP-ADJ-UNION { + description + "LDP ADJ UNION"; + container link-hello-data { + when "../hello-type = 'link-hello'" { + description + "../HelloType = 'LinkHello'"; + } + description + "Link hello"; + uses LINK-HELLO; + } + container target-hello-data { + when "../hello-type = 'targeted-hello'" { + description + "../HelloType = 'TargetedHello'"; + } + description + "Target Hello"; + uses TARGETED-HELLO; + } + leaf hello-type { + type Ldp-adj-union-discrim; + description + "HelloType"; + } + } + + grouping LDP-NBR-ADJ-INFO { + description + "MPLS LDP Neighbor Adjacency Information"; + container adjacency-group { + description + "Adjacency group"; + uses LDP-ADJ-UNION; + } + } + + grouping LDP-NBR-ADDR-INFO { + description + "MPLS LDP Neighbor Bound Address Information"; + container address { + description + "Neighbor Address"; + uses LDP-IP-ADDR-T-UNION; + } + } + + grouping LDP-TCP-INFO { + description + "MPLS LDP Neighbor TCP Information"; + container foreign-host { + description + "Foreign host address"; + uses LDP-IP-ADDR-T-UNION; + } + container local-host { + description + "Local host address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf foreign-port { + type uint16; + description + "Foreign port number"; + } + leaf local-port { + type uint16; + description + "Local port number"; + } + leaf is-md5-on { + type boolean; + description + "Is MD5 Digest on"; + } + } + + grouping LDP-GR-ADJ-INFO { + description + "MPLS LDP Neighbor Graceful Restart Adjacency + Information"; + leaf is-graceful-restartable { + type boolean; + description + "Is graceful restartable"; + } + leaf reconnect-timeout { + type uint32; + description + "Reconnect timeout"; + } + leaf recovery-time { + type uint32; + description + "Recovery time"; + } + } + + grouping LDP-PTCL-ADJ-INFO { + description + "MPLS LDP PTCL Adjacency Information"; + container ta-graceful-restart-adjacency { + description + "Graceful restart information"; + uses LDP-GR-ADJ-INFO; + } + leaf ta-holdtime { + type uint32; + description + "Session holdtime in sec"; + } + leaf ta-state { + type string; + description + "State"; + } + leaf ta-pies-sent { + type uint32; + description + "Number of pies sent"; + } + leaf ta-pies-rcvd { + type uint32; + description + "Number of pies received"; + } + leaf ta-up-time-seconds { + type uint32; + units "second"; + description + "Up time in seconds"; + } + leaf downstream-on-demand { + type boolean; + description + "Is Label advertisment mode in Downstream On + Demand mode or Not"; + } + } + + grouping LDP-NEIGHBOR-INFO { + description + "MPLS LDP Neighbor Information"; + container protocol-information { + description + "Protocol Information"; + uses LDP-PTCL-ADJ-INFO; + } + container tcp-information { + description + "TCP Information"; + uses LDP-TCP-INFO; + } + container detailed-information { + description + "Detailed information with regards to holdtime, + KA, inbound filtering, and Session protection"; + uses LDP-NBR-DETAILED-INFO; + } + list ldp-nbr-bound-ipv4-address-info { + description + "Neighbor IPv4 Address Info"; + uses LDP-NBR-ADDR-INFO; + } + list ldp-nbr-bound-ipv6-address-info { + description + "Neighbor IPv6 Address Info"; + uses LDP-NBR-ADDR-INFO; + } + list ldp-nbr-ipv4-adj-info { + description + "Neighbor's IPv4 Adjacency Information"; + uses LDP-NBR-ADJ-INFO; + } + list ldp-nbr-ipv6-adj-info { + description + "Neighbor's IPv6 Adjacency Information"; + uses LDP-NBR-ADJ-INFO; + } + } + + grouping LDP-NBR-CAP-INFO { + description + "MPLS LDP Neighbor Capability Information"; + list sent { + description + "List of sent capabilities"; + uses LDP-CAP-DESC; + } + list received { + description + "List of received capabilities"; + uses LDP-CAP-DESC; + } + } + + grouping LDP-PARAMETERS-AF { + description + "MPLS LDP per AF Parameters Information"; + container discovery-transport-address { + description + "Discovery transport address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf address-family { + type Ldp-af; + description + "Address Family"; + } + leaf null-label { + type string; + description + "Null label"; + } + leaf label-imp-null-override-acl { + type string; + description + "ACL to override local label to use implicit-null"; + } + leaf is-accepting-targeted-hellos { + type boolean; + description + "Accepting targeted Hellos"; + } + leaf targeted-hello-acl { + type string; + description + "Targeted Hello ACL"; + } + } + + grouping LDP-GRACEFUL-RESTART-INFO { + description + "MPLS LDP Global Graceful Restart Information"; + leaf is-graceful-restart-configured { + type boolean; + description + "Is graceful restart configured"; + } + leaf graceful-restart-reconnect-timeout { + type uint32; + description + "Reconnect timeout value"; + } + leaf graceful-restart-forwarding-state-hold-time { + type uint32; + description + "Graceful restart forward state hold time"; + } + } + + grouping LDP-PARAMETERS { + description + "MPLS LDP Global Parameters"; + container graceful-restart-information { + description + "Graceful restart information"; + uses LDP-GRACEFUL-RESTART-INFO; + } + leaf role-is-active { + type boolean; + description + "Is process role active or standby"; + } + leaf global-md5-password-enabled { + type boolean; + description + "Global MD5 password enabled"; + } + leaf protocol-version { + type uint32; + description + "Protocol version"; + } + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf keepalive-interval { + type uint32; + description + "Keepalive interval"; + } + leaf hello-hold-time { + type uint32; + description + "Hello hold time"; + } + leaf hello-interval { + type uint32; + description + "Hello interval"; + } + leaf targeted-hello-hold-time { + type uint32; + description + "Targeted hello hold time"; + } + leaf targeted-hello-interval { + type uint32; + description + "Targeted hello interval"; + } + leaf session-hold-time { + type uint32; + description + "Session hold time"; + } + leaf housekeeping-timer-interval { + type uint32; + description + "Housekeeping periodic timer interval"; + } + leaf le-no-route-timeout { + type uint32; + description + "LIB entry no route timeout"; + } + leaf ldp-recovery-timeout { + type uint32; + description + "LDP recovery timeout with LSD"; + } + leaf af-binding-withdraw-delay { + type uint32; + description + "Delay (sec) in Binding Withdrawal for an Address + Family"; + } + leaf max-intf-attached { + type uint32; + description + "Maximum number of LDP enabled attached + interfaces"; + } + leaf max-intf-te { + type uint32; + description + "Maximum number of LDP enabled TE interfaces"; + } + leaf max-peer { + type uint32; + description + "Maximum number of LDP peers"; + } + leaf ldp-out-of-mem-state { + type uint32; + description + "LDP Out of memory state"; + } + leaf nsr-enabled { + type boolean; + description + "TRUE if NSR is enabled"; + } + leaf nsr-synced { + type boolean; + description + "TRUE if LDP is standby and is NSR Sync-ed with + active"; + } + leaf igp-sync-delay-time-for-interface { + type uint32; + units "second"; + description + "Interface IGP sync delay time in seconds"; + } + leaf igp-sync-delay-time-on-restart { + type uint32; + units "second"; + description + "IGP sync delay time on process restart in + seconds"; + } + leaf global-discovery-quick-start-disabled { + type boolean; + description + "Discovery quick-start globally disabled"; + } + leaf discovery-quick-start-disabled-on-interfaces { + type boolean; + description + "Discovery quick-start disabled on some + LDP-enabled interfaces"; + } + list address-family-parameter { + description + "Per AF parameters"; + uses LDP-PARAMETERS-AF; + } + } + + grouping LDP-NSR-SUM-SESS { + description + "MPLS LDP NSR session summary"; + leaf total { + type uint32; + description + "Total sessions"; + } + leaf nsr-eligible { + type uint32; + description + "NSR eligible sessions"; + } + leaf nsr-state-none { + type uint32; + description + "Number of sessions in NSR none state"; + } + leaf nsr-state-wait { + type uint32; + description + "Number of sessions in NSR wait state"; + } + leaf nsr-state-ready { + type uint32; + description + "Number of sessions in NSR ready state"; + } + leaf nsr-state-prepare { + type uint32; + description + "Number of sessions in NSR prepare state"; + } + leaf nsr-state-app-wait { + type uint32; + description + "Number of sessions in NSR app-wait state"; + } + leaf nsr-state-operational { + type uint32; + description + "Number of sessions in NSR operational state"; + } + leaf nsr-state-tcp-phase1 { + type uint32; + description + "Number of sessions in NSR TCP phase 1 state"; + } + leaf nsr-state-tcp-phase2 { + type uint32; + description + "Number of sessions in NSR TCP phase 2 state"; + } + } + + grouping LDP-NSR-SUM { + description + "MPLS LDP NSR summary"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + container sessions { + description + "Session summary"; + uses LDP-NSR-SUM-SESS; + } + } + + grouping LDP-BACKOFF-ENTRY-INFO { + description + "MPLS LDP Session Backoff Entry Information"; + leaf backoff-seconds { + type uint32; + units "second"; + description + "Backoff seconds"; + } + leaf waiting-seconds { + type uint32; + units "second"; + description + "Backoff waiting seconds"; + } + } + + grouping LDP-BACKOFF-INFO { + description + "MPLS LDP Session Backoff Information"; + leaf initial-seconds { + type uint32; + units "second"; + description + "Initial backoff value in seconds"; + } + leaf maximum-seconds { + type uint32; + units "second"; + description + "Maximum backoff value in seconds"; + } + } + + grouping LDP-NEIGHBOR-BRIEF-AF-INFO { + description + "MPLS LDP Neighbor Brief AF information"; + leaf address-family { + type Ldp-af; + description + "Neighbor Brief Address Family"; + } + leaf num-of-nbr-discovery { + type uint32; + description + "Number of neighbor discovery sources"; + } + leaf num-of-nbr-addresses { + type uint32; + description + "Number of neighbor addresses"; + } + leaf num-of-nbr-lbl { + type uint32; + description + "Number of neighbor labels"; + } + } + + grouping LDP-NEIGHBOR-BRIEF-INFO { + description + "MPLS LDP Neighbor Brief Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + leaf is-graceful-restartable { + type boolean; + description + "Is graceful restartable"; + } + leaf nsr-state { + type Show-nsr-state; + description + "NSR readiness state"; + } + leaf up-time-seconds { + type uint32; + units "second"; + description + "Up time in seconds"; + } + list nbr-br-af-info { + max-elements "2"; + description + "Neighbor Brief AF Info"; + uses LDP-NEIGHBOR-BRIEF-AF-INFO; + } + } + + grouping LDP-FWD-RW-PATH-SUMM { + description + "MPLS LDP fowarding rewrite nexthop/path summary"; + leaf total-paths { + type uint32; + description + "Total path count"; + } + leaf protected-paths { + type uint32; + description + "Count of FRR protected paths"; + } + leaf backup-paths { + type uint32; + description + "Count of non-primary backup paths"; + } + leaf remote-backup-paths { + type uint32; + description + "Count of non-primary remote backup paths"; + } + leaf labeled-paths { + type uint32; + description + "Count of all labeled paths"; + } + leaf labeled-backup-paths { + type uint32; + description + "Count of labeled backup paths"; + } + } + + grouping LDP-FWD-RW-PFX-LBL-SUMM { + description + "MPLS LDP forwarding rewrite prefix nexthops + labeled summary"; + leaf labeled-pfxs { + type uint16; + description + "Count of labeled prefixes with 1 or more paths + labeled"; + } + leaf labeled-pfxs-partial { + type uint16; + description + "Count of labeled prefixes with some (but not + ALL) paths labeled"; + } + leaf unlabeled-pfxs { + type uint16; + description + "Count of labeled prefixes with ALL paths + unlabeled"; + } + } + + grouping LDP-FWD-RW-PFX-SUMM { + description + "MPLS LDP fowarding rewrite prefix summary"; + container labeled-pfxs-aggr { + description + "Labeled prefix count for all paths"; + uses LDP-FWD-RW-PFX-LBL-SUMM; + } + container labeled-pfxs-primary { + description + "Labeled prefix count related to primary paths + only"; + uses LDP-FWD-RW-PFX-LBL-SUMM; + } + container labeled-pfxs-backup { + description + "Labeled prefix count related to backup paths + only"; + uses LDP-FWD-RW-PFX-LBL-SUMM; + } + leaf total-pfxs { + type uint16; + description + "Total Prefix count"; + } + leaf ecmp-pfxs { + type uint16; + description + "Count of prefixes with ECMP"; + } + leaf protected-pfxs { + type uint16; + description + "Count of FRR protected prefixes"; + } + } + + grouping LDP-FWD-RW-SUMM { + description + "MPLS LDP fowarding rewrite summary"; + container pfxs { + description + "Forwarding rewrites prefix summary"; + uses LDP-FWD-RW-PFX-SUMM; + } + container nhs { + description + "Forwarding rewrites nexthops (paths) summary"; + uses LDP-FWD-RW-PATH-SUMM; + } + } + + grouping LDP-FWD-SUMM-INFO { + description + "MPLS LDP fowarding summary"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + container rws { + description + "Forwarding rewrites summary"; + uses LDP-FWD-RW-SUMM; + } + leaf is-lsd-bound { + type boolean; + description + "LDP is connected to LSD server"; + } + leaf fsht { + type uint16; + description + "Forwarding state hold time registered with LSD"; + } + leaf intfs { + type uint16; + description + "MPLS forwarding enabled interface count"; + } + leaf lbls { + type uint16; + description + "Local label allocated count"; + } + } + + grouping LDP-BINDING-ALLOC { + description + "MPLS LDP Binding local label allocation filter"; + leaf has-acl { + type boolean; + description + "Has ACL filter?"; + } + leaf prefix-acl { + type string { + length "0..64"; + } + description + "Prefix ACL"; + } + leaf is-host-route-only { + type boolean; + description + "Host-routes only?"; + } + } + + grouping LDP-BINDING-ADVT-ACL-PAIR { + description + "MPLS LDP Binding advertisement ACL pair"; + leaf prefix-acl { + type string { + length "0..64"; + } + description + "Prefix ACL"; + } + leaf peer-acl { + type string { + length "0..64"; + } + description + "Peer ACL"; + } + } + + grouping LDP-BINDING-ADVT-SPEC { + description + "MPLS LDP Binding advertisement specification ACLs"; + container allocation-acl { + description + "Local label Allocation filter"; + uses LDP-BINDING-ALLOC; + } + list advt-acl { + description + "Advertisement ACLs"; + uses LDP-BINDING-ADVT-ACL-PAIR; + } + } + + grouping LDP-FWD-PATH-RLFA-MOI-INFO { + description + "MPLS LDP Forwarding Path Remote LFA-FRR backup + MPLS MOI info"; + list stack { + description + "Inner label stack info"; + uses LDP-FWD-PATH-MPLS-NH-INFO; + } + } + + grouping LDP-FWD-PATH-RLFA-MPLS-INFO { + description + "MPLS LDP Forwarding Path Remote LFA-FRR backup + MPLS info"; + container mpls-outgoing-info { + description + "Remote LFA MPLS nexthop(s_ info"; + uses LDP-FWD-PATH-RLFA-MOI-INFO; + } + leaf has-remote-lfa-bkup { + type boolean; + description + "Whether path has remote LFA backup"; + } + } + + grouping LDP-FWD-PATH-MPLS-NH-INFO { + description + "Forwarding Path MPLS nexthop info"; + container nexthop-peer-ldp-ident { + description + "Nexthop LDP peer"; + uses LDP-LDPID-INFO; + } + leaf out-label { + type uint32; + description + "Outgoing label"; + } + leaf out-label-rsn { + type Ldp-fwd-unlbl-rsn; + description + "Outgoing label reason"; + } + leaf out-label-type { + type Label-value; + description + "Outgoing Label Type"; + } + leaf out-label-owner { + type Ldp-route-path-lbl-owner; + description + "Outgoing label owner"; + } + leaf is-from-graceful-restartable-neighbor { + type boolean; + description + "Is from a GR neighbor"; + } + leaf is-stale { + type boolean; + description + "Is the entry stale"; + } + leaf entropy-label-capability { + type boolean; + description + "Entropy Label Capability"; + } + } + + grouping LDP-FWD-PATH-MPLS-INFO { + description + "MPLS LDP Forwarding Path MPLS information"; + container mpls-outgoing-info { + description + "MPLS nexthop info"; + uses LDP-FWD-PATH-MPLS-NH-INFO; + } + container remote-lfa { + description + "Remote LFA-FRR backup info"; + uses LDP-FWD-PATH-RLFA-MPLS-INFO; + } + } + + grouping LDP-FWD-PATH-RLFA-ROUTING-INFO { + description + "MPLS LDP Forwarding Path Remote LFA-FRR backup + routing info"; + container remote-p-node-id { + description + "Remote/P node address"; + uses LDP-IP-ADDR-T-UNION; + } + container remote-q-node-id { + description + "Remote/Q node address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf has-remote-lfa-bkup { + type boolean; + description + "Whether path has remote LFA backup"; + } + leaf needs-tldp { + type boolean; + description + "Whether TLDP is needed with remote PQ node"; + } + leaf has-q-node { + type boolean; + description + "Whether remote LFA path has a Q node associated"; + } + } + + grouping LDP-FWD-PATH-ROUTING-INFO { + description + "MPLS LDP Forwarding Path IP Routing information"; + container next-hop { + description + "Next Hop"; + uses LDP-IP-ADDR-T-UNION; + } + container remote-lfa { + description + "Remote LFA-FRR backup info"; + uses LDP-FWD-PATH-RLFA-ROUTING-INFO; + } + leaf interface { + type xr:Interface-name; + description + "Interface name"; + } + leaf interface-name { + type string; + description + "Interface Name"; + } + leaf nh-is-overriden { + type boolean; + description + "Nexthop is overriden by LDP"; + } + leaf nexthop-id { + type uint32; + description + "Nexthop Identifier"; + } + leaf next-hop-table-id { + type uint32; + description + "Table ID for nexthop address"; + } + leaf flags { + type uint32; + description + "Route path flags"; + } + leaf load-metric { + type uint32; + description + "Path's load metric for load balancing"; + } + leaf binding-label { + type uint32; + description + "Binding label obtained via RIB"; + } + leaf path-id { + type uint8; + description + "path Id"; + } + leaf bkup-path-id { + type uint8; + description + "Backup path Id"; + } + leaf path-flags { + type Ldp-route-path-flags; + description + "Routing path flags decoded"; + } + } + + grouping LDP-FWD-PATH-INFO { + description + "MPLS LDP Forwarding Path info"; + container routing { + description + "IP routing information"; + uses LDP-FWD-PATH-ROUTING-INFO; + } + container mpls { + description + "MPLS information"; + uses LDP-FWD-PATH-MPLS-INFO; + } + } + + grouping LDP-FWD-ROUTE-MPLS-INFO { + description + "MPLS LDP Forwarding Route LDP information"; + leaf local-label { + type uint32; + description + "Local label"; + } + leaf forwarding-update-count { + type uint32; + description + "Number of forwarding updates"; + } + leaf forwarding-update-timestamp { + type uint64; + description + "Last Forwarding update nanosec timestamp"; + } + leaf forwarding-update-age { + type uint64; + description + "Last Forwarding update nanosec age"; + } + } + + grouping LDP-FWD-ROUTE-ROUTING-INFO { + description + "MPLS LDP Forwarding Route IP Routing information"; + leaf version { + type uint32; + description + "Route RIB ersion"; + } + leaf priority { + type uint8; + description + "Route priority"; + } + leaf source { + type uint16; + description + "Route source protol Id"; + } + leaf type { + type uint16; + description + "Route type"; + } + leaf flags { + type uint32; + description + "Route RIB flags"; + } + leaf metric { + type uint32; + description + "Route metric"; + } + leaf is-local-vrf-leaked { + type boolean; + description + "Is route leaked across local VRFs?"; + } + leaf routing-update-count { + type uint32; + description + "Number of routing updates"; + } + leaf routing-update-timestamp { + type uint64; + description + "Last Routing update nanosec timestamp"; + } + leaf routing-update-age { + type uint64; + description + "Last Routing update nanosec age"; + } + leaf sr-local-label { + type uint32; + description + "SR Local-label"; + } + } + + grouping LDP-FWD-ROUTE-INFO { + description + "MPLS LDP Forwarding Route information"; + container routing { + description + "IP routing information"; + uses LDP-FWD-ROUTE-ROUTING-INFO; + } + container mpls { + description + "MPLS information"; + uses LDP-FWD-ROUTE-MPLS-INFO; + } + } + + grouping LDP-FWD-PFX-INFO { + description + "MPLS LDP Forwarding Prefix Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + container prefix-xr { + description + "IP Prefix"; + uses LDP-IP-ADDR-T-UNION; + } + container route { + description + "Route"; + uses LDP-FWD-ROUTE-INFO; + } + leaf table-id { + type uint32; + description + "Table ID associated with IP prefix"; + } + leaf prefix-length { + type uint8; + description + "Prefix length"; + } + list paths { + description + "Paths"; + uses LDP-FWD-PATH-INFO; + } + } + + grouping LDP-CLONED-TUNNEL { + description + "MPLS LDP Cloned TE Tunnel Information"; + leaf interface-name { + type string; + description + "Interface name"; + } + } + + grouping LDP-CLONE-ENABLED-TUNNEL { + description + "MPLS LDP Clone TE Tunnel Information"; + leaf interface-name-xr { + type string; + description + "Interface name"; + } + list ldp-cloned-tunnel { + description + "List of clones of this interface"; + uses LDP-CLONED-TUNNEL; + } + } + + grouping LDP-DISCOVERY-ADJ-GRP-INFO { + description + "MPLS LDP Discovery Adjacency Group Information"; + leaf adjacency-group-up-time { + type uint32; + units "second"; + description + "Adjacency group up time in seconds"; + } + leaf tcp-open-count { + type uint32; + description + "Count of attempted TCP opens"; + } + leaf tcp-arb-chg-count { + type uint32; + description + "Count of changes in TCP arbitration"; + } + leaf tcp-role { + type uint32; + description + "TCP Role"; + } + } + + grouping LDP-TARGETED-HELLO-BRIEF-INFO { + description + "MPLS LDP Discovery Targeted Brief Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + container dhcb-target-address { + description + "DHCB target address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf address-family { + type Ldp-af; + description + "Targeted Discovery Address Family"; + } + list hello-information { + description + "LDP hello info"; + uses LDP-HELLO-BRIEF-INFO; + } + } + + grouping LDP-HELLO-BRIEF-INFO { + description + "MPLS LDP Hello Brief Information"; + leaf neighbor-ldp-identifier { + type string; + description + "Neighbor LDP Identifier"; + } + leaf hold-time { + type uint32; + description + "Session hold time in sec"; + } + leaf session-up { + type boolean; + description + "Is session up for this adj"; + } + } + + grouping LDP-DISCOVERY-LINK-BRIEF-INFO { + description + "MPLS LDP Discovery Link Brief Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + leaf address-family { + type Ldp-af; + description + "Discovery Brief Address Family"; + } + leaf address-family-set { + type Ldp-af; + description + "Discovery Brief Address Family Set"; + } + leaf interface { + type xr:Interface-name; + description + "Interface name"; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + list hello-information { + description + "LDP hello info"; + uses LDP-HELLO-BRIEF-INFO; + } + } + + grouping LDP-TARGETED-HELLO-INFO { + description + "MPLS LDP Targeted Hello Information"; + container dhcb-local-address { + description + "DHCB local address"; + uses LDP-IP-ADDR-T-UNION; + } + container dhcb-target-address { + description + "DHCB target address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf state { + type Dhcb-state; + description + "Targeted hello state"; + } + leaf adjacency-ldp-identifier { + type string; + description + "Adjacency LDP Identifier"; + } + leaf interval { + type uint32; + description + "Hello interval in sec"; + } + leaf next-hello { + type uint32; + description + "Next hello due time in msec"; + } + leaf hold-time { + type uint32; + description + "Targeted hello hold time"; + } + leaf local-hold-time { + type uint32; + description + "Local hold time"; + } + leaf neighbor-hold-time { + type uint32; + description + "Neighbor hold time"; + } + leaf disc-expiry { + type uint32; + description + "Discovery expiry time in msec"; + } + leaf quick-start-disabled { + type boolean; + description + "Quick-start disabled"; + } + leaf established-time { + type uint64; + description + "Hello adjacency estabished time in nanosec"; + } + leaf established-age { + type uint64; + description + "Hello adjacency estabished age in nanosec"; + } + leaf session-up { + type boolean; + description + "Is session up for this adj"; + } + leaf session-bringup-failure-reason { + type string; + description + "session bringup failure reason"; + } + list last-session-down-info { + description + "Last session down information"; + uses LDP-LAST-SESS-INFO; + } + } + + grouping LDP-DISCOVERY-SUMMARY-INFO { + description + "MPLS LDP Discovery Summary Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + leaf local-ldp-id { + type string; + description + "Local LDP identifier"; + } + leaf num-of-ldp-interfaces { + type uint32; + description + "Total Number of LDP configured interfaces"; + } + leaf num-of-active-ldp-interfaces { + type uint32; + description + "Number of active LDP enabled interfaces"; + } + leaf num-of-lnk-disc-xmit { + type uint32; + description + "Number of link hello discoveries in xmit state"; + } + leaf num-of-tgt-disc-xmit { + type uint32; + description + "Number of targeted hello discoveries in xmit + state"; + } + leaf num-of-lnk-disc-recv { + type uint32; + description + "Number of link hello discoveries in recv state"; + } + leaf num-of-tgt-disc-recv { + type uint32; + description + "Number of targeted hello discoveries in recv + state"; + } + leaf num-of-disc-with-bad-addr-recv { + type uint32; + description + "Number of hello discoveries received with bad + source address"; + } + leaf num-of-disc-with-bad-hello-pdu { + type uint32; + description + "Number of hello discoveries received with bad + hello PDU"; + } + leaf num-of-disc-with-bad-xport-addr { + type uint32; + description + "Number of hello discoveries received with bad + export address"; + } + leaf num-of-disc-with-same-router-id { + type uint32; + description + "Number of hello discoveries received with the + same router id as this router"; + } + leaf num-of-disc-with-wrong-router-id { + type uint32; + description + "Number of hello discoveries received with the + router id that is not destined for this router"; + } + } + + grouping LDP-DISCOVERY-LINK-AF-INFO { + description + "MPLS LDP Discovery Link Address Family + Information"; + container local-src-address { + description + "Local source address"; + uses LDP-IP-ADDR-T-UNION; + } + container local-transport-address { + description + "Local transport address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf interval { + type uint32; + description + "Hello interval in sec"; + } + } + + grouping LDP-LAST-SESS-INFO { + description + "LDP last down session information"; + leaf last-session-down-reason { + type string; + description + "The reason of last socket failure"; + } + leaf last-session-down-time { + type uint64; + description + "Timestamp of when the last session went down"; + } + leaf last-session-up-time { + type uint32; + description + "The time duration the last session was up"; + } + } + + grouping LDP-HELLO-INFO { + description + "MPLS LDP Hello Information"; + container neighbor-src-address { + description + "Neighbor source address"; + uses LDP-IP-ADDR-T-UNION; + } + container neighbor-transport-address { + description + "Neighbor transport address"; + uses LDP-IP-ADDR-T-UNION; + } + container target { + description + "Target address"; + uses LDP-IP-ADDR-T-UNION; + } + leaf neighbor-ldp-identifier { + type string; + description + "Neighbor LDP Identifier"; + } + leaf is-no-route { + type boolean; + description + "Is route valid"; + } + leaf hold-time { + type uint32; + units "second"; + description + "Session hold time in seconds"; + } + leaf local-hold-time { + type uint32; + units "second"; + description + "Local hold time in seconds"; + } + leaf neighbor-hold-time { + type uint32; + units "second"; + description + "Neighbor hold time in seconds"; + } + leaf disc-expiry { + type uint32; + description + "Discovery expiry time in sec"; + } + leaf is-targeted { + type boolean; + description + "Is session a targeted session"; + } + leaf session-up { + type boolean; + description + "Is session up for this adj"; + } + leaf established-time { + type uint64; + description + "Hello adjacency estabished time in nanosec"; + } + leaf established-age { + type uint64; + description + "Hello adjacency estabished age in nanosec"; + } + leaf session-bringup-failure-reason { + type string; + description + "session bringup failure reason"; + } + list last-session-down-info { + description + "Last session down information"; + uses LDP-LAST-SESS-INFO; + } + } + + grouping LDP-DISCOVERY-LINK-INFO { + description + "MPLS LDP Discovery Link Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + leaf next-hello { + type uint32; + description + "Next hello due time in msec"; + } + leaf interface { + type xr:Interface-name; + description + "Interface name"; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf quick-start-disabled { + type boolean; + description + "Quick-start disabled"; + } + list hello-information { + description + "LDP hello info"; + uses LDP-HELLO-INFO; + } + list discovery-link-af { + max-elements "2"; + description + "LDP hello AF info"; + uses LDP-DISCOVERY-LINK-AF-INFO; + } + } + + grouping LDP-TE-AUTOCFG { + description + "MPLS LDP TE auto configure"; + leaf te-auto-config { + type Ldp-te-autocfg-mode; + description + "TE Auto Configure Mode"; + } + leaf te-regex { + type string; + description + "TE Regex"; + } + } + + grouping LDP-INTF-AUTOCFG { + description + "MPLS LDP auto configure"; + leaf tuple { + type string; + description + "Tuple"; + } + } + + grouping LDP-INTF-TE-MESH-GRP { + description + "MPLS LDP interface tunnel mesh group"; + leaf ldp-te-mesh-group-all-cfgd { + type boolean; + description + "LDP has enabled all TE mesh-groups"; + } + leaf ldp-mesh-group-enabled { + type boolean; + description + "LDP has enabled this TE mesh-group"; + } + leaf te-mesh-group-id { + type uint32; + description + "TE tunnel Mesh Group ID"; + } + } + + grouping LDP-INTF { + description + "MPLS LDP interface information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + container te-auto-configure { + description + "TE Auto Configure"; + uses LDP-TE-AUTOCFG; + } + leaf interface { + type xr:Interface-name; + description + "Interface name"; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf ldp-enabled { + type boolean; + description + "LDP enabled"; + } + leaf is-im-stale { + type boolean; + description + "Is IM information stale"; + } + leaf ldp-config-mode { + type boolean; + description + "LDP config mode"; + } + leaf ldp-autoconfig-disable { + type boolean; + description + "LDP autoconfig disable"; + } + leaf is-cloned-tunnel { + type boolean; + description + "Is a TE cloned Tunnel"; + } + list te-mesh-grp { + description + "TE tunnel mesh-group"; + uses LDP-INTF-TE-MESH-GRP; + } + list auto-config { + description + "Auto config"; + uses LDP-INTF-AUTOCFG; + } + } + + grouping LDP-BINDING-SUMMARY-AF { + description + "MPLS LDP Binding Summary AF Information"; + leaf address-family { + type Ldp-af; + description + "Binding Summary Address Family"; + } + leaf last-lib-update { + type uint32; + description + "Last update to LIB local binding"; + } + leaf lib-minimum-revision-sent-all { + type uint32; + description + "Last update sent to all peers"; + } + leaf binding-total { + type uint32; + description + "Total bindings"; + } + leaf binding-local { + type uint32; + description + "Number of local bindings"; + } + leaf binding-remote { + type uint32; + description + "Number of remote bindings"; + } + } + + grouping LDP-BINDING-SUMMARY { + description + "MPLS LDP Binding Summary Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + leaf address-family { + type Ldp-af; + description + "Address Family"; + } + leaf binding-no-route { + type uint32; + description + "Bindings with no route"; + } + leaf binding-local-no-route { + type uint32; + description + "Local bindings with no route"; + } + leaf binding-local-null { + type uint32; + description + "Number of local null bindings"; + } + leaf binding-local-implicit-null { + type uint32; + description + "Number of local implicit null bindings"; + } + leaf binding-local-explicit-null { + type uint32; + description + "Number of local explicit null bindings"; + } + leaf binding-local-non-null { + type uint32; + description + "Number of local non-null bindings"; + } + leaf binding-local-oor { + type uint32; + description + "Number of local bindings needing label - + OOR"; + } + leaf lowest-allocated-label { + type uint32; + description + "Lowest allocated label"; + } + leaf highest-allocated-label { + type uint32; + description + "Highest allocated label"; + } + list bind-af { + max-elements "2"; + description + "bind af"; + uses LDP-BINDING-SUMMARY-AF; + } + } + + grouping LDP-IGP-SYNC-DELAY-RESTART-INFO { + description + "MPLS LDP IGP Sync Restart Delay Information"; + leaf configured { + type boolean; + description + "Is restart delay configured"; + } + leaf delay-secs { + type uint32; + description + "Delay time"; + } + leaf timer-running { + type boolean; + description + "Is restart delay timer running"; + } + leaf remaining-secs { + type uint32; + description + "Delay timer remaining time"; + } + } + + grouping LDP-IGP-SYNC-INTF-GR-ONLY { + description + "MPLS LDP IGP Sync Interface GR-only reachable + Peer Information"; + leaf peer-id { + type String-td2; + description + "Peer Identifier"; + } + leaf is-chkpt-created { + type boolean; + description + "Is created due to checkpointing"; + } + } + + grouping LDP-IGP-SYNC-INTF-PEER { + description + "MPLS LDP IGP Sync Interface Peer Information"; + leaf peer-id { + type String-td2; + description + "Peer Identifier"; + } + leaf is-gr-enabled { + type boolean; + description + "Is GR enabled session"; + } + } + + grouping LDP-IGP-SYNC-INFO { + description + "MPLS LDP IGP Sync Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf igp-sync-state { + type Ldp-igp-sync-state; + description + "IGP Sync state"; + } + leaf igp-sync-delay { + type uint32; + units "second"; + description + "IGP sync delay in seconds"; + } + leaf is-delay-timer-running { + type boolean; + description + "Is sync delay timer running"; + } + leaf delay-timer-remaining { + type uint32; + units "second"; + description + "Remaining timer (seconds) till expiry of sync + delay timer"; + } + leaf igp-sync-down-reason { + type Ldp-igp-sync-down-reason; + description + "Reason IGP Sync Not Achieved"; + } + list peers { + description + "Interface Peers"; + uses LDP-IGP-SYNC-INTF-PEER; + } + list gr-only-peer { + description + "Interface GR-only reachable peers"; + uses LDP-IGP-SYNC-INTF-GR-ONLY; + } + } + + grouping LDP-TIB-ENTRY-REMOTE { + description + "MPLS LDP Remote Binding Information"; + container assigning-peer-ldp-ident { + description + "Assigning peer"; + uses LDP-LDPID-INFO; + } + leaf remote-label { + type uint32; + description + "Remote Label"; + } + leaf is-stale { + type boolean; + description + "Is the entry stale"; + } + leaf is-elc { + type boolean; + description + "Is the entry entropy label capable"; + } + } + + grouping LDP-TIB-ENTRY-DETAIL { + description + "MPLS LDP Binding Detail Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + container prefix-xr { + description + "IP Prefix"; + uses LDP-IP-ADDR-T-UNION; + } + leaf prefix-length { + type uint8; + description + "Prefix Length"; + } + leaf local-label { + type uint32; + description + "Local label"; + } + leaf le-local-binding-revision { + type uint32; + description + "Local Binding revision"; + } + leaf le-local-label-state { + type Local-label-state; + description + "Local label state"; + } + leaf is-no-route { + type boolean; + description + "No route"; + } + leaf label-oor { + type boolean; + description + "Label space depletion OOR"; + } + leaf advertise-prefix-acl { + type string; + description + "Advertise Prerfix ACL"; + } + leaf advertise-tsr-acl { + type string; + description + "Advertise TSR ACL"; + } + leaf config-enforced-local-label-value { + type boolean; + description + "Config/User enforced local label value"; + } + leaf is-elc { + type boolean; + description + "Is the entry entropy label capable"; + } + list remote-binding { + description + "Remote binding"; + uses LDP-TIB-ENTRY-REMOTE; + } + list peers-advertised-to { + description + "Peers this entry is advertised to"; + uses LDP-LDPID-INFO; + } + list peers-acked { + description + "Peers that have ACKed this entry"; + uses LDP-LDPID-INFO; + } + } + + grouping LDP-INTF-SUM { + description + "MPLS LDP interface summary"; + leaf known-ip-interface-count { + type uint32; + description + "Number of known IP Interfaces"; + } + leaf known-ip-interface-ldp-enabled { + type uint32; + description + "Number of known IP Interfaces with LDP Enabled"; + } + leaf ldp-configured-attached-interface { + type uint32; + description + "Number of attached interfaces configured in LDP"; + } + leaf ldp-configured-te-interface { + type uint32; + description + "Number of TE tunnel interfaces configured in LDP"; + } + leaf forward-references { + type uint32; + description + "Number of forward referenced interfaces"; + } + leaf auto-config-disabled { + type uint32; + description + "Autoconfigure disabled"; + } + leaf auto-config { + type uint32; + description + "Auto-configured interfaces"; + } + leaf auto-config-forward-reference-interfaces { + type uint32; + description + "Auto-configured forward references"; + } + } + + grouping LDP-SUMMARY-COMMON { + description + "MPLS LDP common summary Information"; + leaf address-families { + type Ldp-af; + description + "Address Families enabled"; + } + leaf number-of-ipv4af { + type uint32; + description + "Number of IPv4 address-families enabled"; + } + leaf number-of-ipv6af { + type uint32; + description + "Number of IPv6 address-families enabled"; + } + leaf number-of-neighbors { + type uint32; + description + "Number of neighbors"; + } + leaf number-of-adj-grps { + type uint32; + description + "Number of Adjacency Groups"; + } + leaf number-of-nsr-synced-neighbors { + type uint32; + description + "Number of NSR-synced/operational neighbors"; + } + leaf number-of-graceful-restart-neighbors { + type uint32; + description + "Number of Graceful Restart neighbors"; + } + leaf number-of-downstream-on-demand-neighbors { + type uint32; + description + "Number of Downstream-On-Demand neighbors"; + } + leaf number-of-ipv4-hello-adj { + type uint32; + description + "Number of LDP discovery IPv4 hello adjacencies"; + } + leaf number-of-ipv6-hello-adj { + type uint32; + description + "Number of LDP discovery IPv6 hello adjacencies"; + } + leaf number-of-ipv4-routes { + type uint32; + description + "Number of resolved IPv4 routes"; + } + leaf number-of-ipv6-routes { + type uint32; + description + "Number of resolved IPv6 routes"; + } + leaf number-of-ipv4-local-addresses { + type uint32; + description + "Number of IPv4 local addresses"; + } + leaf number-of-ipv6-local-addresses { + type uint32; + description + "Number of IPv6 local addresses"; + } + leaf number-of-ldp-interfaces { + type uint32; + description + "Number of LDP configured interfaces"; + } + leaf number-of-ipv4ldp-interfaces { + type uint32; + description + "Number of LDP IPv4 configured interfaces"; + } + leaf number-of-ipv6ldp-interfaces { + type uint32; + description + "Number of LDP IPv6 configured interfaces"; + } + leaf number-of-bindings-ipv4 { + type uint32; + description + "Total number of ipv4 bindings"; + } + leaf number-of-bindings-ipv6 { + type uint32; + description + "Total number of ipv6 bindings"; + } + leaf number-of-local-bindings-ipv4 { + type uint32; + description + "Total number of ipv4 local label bindings"; + } + leaf number-of-local-bindings-ipv6 { + type uint32; + description + "Total number of ipv6 local label bindings"; + } + leaf number-of-remote-bindings-ipv4 { + type uint32; + description + "Total number of ipv4 remote label bindings"; + } + leaf number-of-remote-bindings-ipv6 { + type uint32; + description + "Total number of ipv6 remote label bindings"; + } + } + + grouping LDP-SUMMARY-VRF { + description + "MPLS LDP per VRF summarized Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + container common { + description + "Common Summary information"; + uses LDP-SUMMARY-COMMON; + } + } + + grouping LDP-CAP-DESC { + description + "MPLS LDP Capability Description"; + leaf type { + type uint16; + description + "Capability type (IANA assigned)"; + } + leaf description { + type string { + length "0..80"; + } + description + "Capability description"; + } + leaf capability-data-length { + type uint16; + description + "Capability data length"; + } + leaf capability-data { + type string; + description + "Capability data"; + } + } + + grouping LDP-CAP-INFO { + description + "MPLS LDP Capability Information"; + container capability { + description + "Capability information"; + uses LDP-CAP-DESC; + } + leaf capability-owner { + type string; + description + "Capability owner"; + } + } + + grouping LDP-IP-ADDR-T-UNION { + description + "LDP IP ADDR T UNION"; + leaf afi { + type Ldp-af-id; + description + "AFI"; + } + leaf dummy { + when "../afi = 'ldp-af-id-none'" { + description + "../AFI = 'LDP_AF_ID_NONE'"; + } + type uint8; + description + "No Address"; + } + leaf ipv4 { + when "../afi = 'ldp-af-id-ipv4'" { + description + "../AFI = 'LDP_AF_ID_IPV4'"; + } + type Ldp-in-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../afi = 'ldp-af-id-ipv6'" { + description + "../AFI = 'LDP_AF_ID_IPV6'"; + } + type Ldp-in6-addr; + description + "IPv6 address type"; + } + } + + grouping LDP-GR-DNBR-INTF-INFO { + description + "MPLS LDP GR DownNbr Interface Info"; + leaf address-family { + type Ldp-af-id; + description + "Interface adj Address Family"; + } + leaf interface-handle { + type xr:Interface-name; + description + "Interfaces handle"; + } + } + + grouping LDP-LDPID-INFO { + description + "MPLS LDP Identifier Information"; + leaf lsr-id { + type inet:ipv4-address; + description + "LSR identifier"; + } + leaf label-space-id { + type uint16; + description + "Label space identifier"; + } + leaf ldp-id { + type string; + description + "LDP identifier"; + } + } + + grouping LDP-GR-NBR-INFO { + description + "MPLS LDP Graceful Restart Neighbor Information"; + container gr-peer { + description + "GR peer LDP Id"; + uses LDP-LDPID-INFO; + } + leaf connect-count { + type uint32; + description + "ConnectCount"; + } + leaf is-neighbor-up { + type boolean; + description + "Is neighbor up"; + } + leaf is-liveness-timer-running { + type boolean; + description + "Is liveness timer running"; + } + leaf liveness-timer-remaining-seconds { + type uint32; + description + "Remaining time from liveness timer"; + } + leaf is-recovery-timer-running { + type boolean; + description + "Is recovery timer running"; + } + leaf recovery-timer-remaining-seconds { + type uint32; + description + "Recovery timer remining time"; + } + leaf down-nbr-flap-count { + type uint8; + description + "Count of back2back flaps"; + } + leaf down-nbr-flags { + type uint32; + description + "Flags"; + } + leaf down-nbr-down-reason { + type uint32; + description + "Session down reason code"; + } + list down-nbr-interface { + description + "Interfaces bound to GR down Nbr"; + uses LDP-GR-DNBR-INTF-INFO; + } + list down-nbr-address { + description + "Addresses bound to GR down Nbr"; + uses LDP-IP-ADDR-T-UNION; + } + } + + grouping LDP-VRF-INFO { + description + "MPLS LDP VRF information"; + leaf name { + type string; + description + "VRF Name"; + } + leaf id { + type uint32; + description + "VRF Id"; + } + } + + grouping LDP-GR-GLOBAL-INFO { + description + "MPLS LDP Graceful Restart Information"; + container vrf { + description + "VRF information"; + uses LDP-VRF-INFO; + } + leaf is-forwarding-state-hold-timer-running { + type boolean; + description + "Is graceful restart forwarding state hold timer + running"; + } + leaf forwarding-state-hold-timer-remaining-seconds { + type uint32; + units "second"; + description + "Forwarding state hold timer remaining time in + seconds"; + } + list graceful-restartable-neighbor { + description + "Vector of graceful restart neighbor information"; + uses LDP-GR-NBR-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub2.yang new file mode 100644 index 000000000..bfb7cfa3d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub2.yang @@ -0,0 +1,306 @@ +submodule Cisco-IOS-XR-mpls-ldp-oper-sub2 { + belongs-to Cisco-IOS-XR-mpls-ldp-oper { + prefix Cisco-IOS-XR-mpls-ldp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-17 { + description + "Added interface Auto Configure TE Tunnels parameters. + 2021-12-20 + Added new path for cloned tunnels + 2021-09-20 + Added keys for nbr-br-af-info"; + semver:module-version "1.2.0"; + } + revision 2021-04-06 { + description + "Added BSID data in LDP forwarding"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2vpn-ldp-pw-aii { + type enumeration { + enum "local-id" { + description + "AII Type 1"; + } + enum "type2" { + description + "AII Type 2"; + } + } + description + "L2vpn ldp pw aii"; + } + + typedef L2vpn-ldp-pw-agi { + type enumeration { + enum "rd" { + description + "AGI type RD"; + } + } + description + "L2vpn ldp pw agi"; + } + + typedef L2vpn-ldp-pw-fec { + type enumeration { + enum "fec128" { + description + "FEC 128 pseudowire type"; + } + enum "fec129" { + description + "FEC 129 pseudowire type"; + } + enum "fec130" { + description + "FEC 130 pseudowire type"; + } + enum "invalid" { + description + "FEC not applicable"; + } + } + description + "L2vpn ldp pw fec"; + } + + grouping L2VPN-LDP-PW-FEC-130 { + description + "L2VPN LDP PW FEC 130"; + container agi { + description + "AGI"; + uses L2VPN-LDP-PW-AGI; + } + container saii { + description + "Source Attachment Individual Identifier"; + uses L2VPN-LDP-PW-AII; + } + } + + grouping L2VPN-LDP-PW-AII2 { + description + "L2VPN LDP PW AII2"; + leaf gobal-id { + type uint32; + description + "Global ID"; + } + leaf prefix { + type uint32; + description + "Prefix"; + } + leaf ac-id { + type uint32; + description + "AC ID"; + } + } + + grouping L2VPN-LDP-PW-AII1 { + description + "L2VPN LDP PW AII1"; + leaf local-id { + type inet:ipv4-address; + description + "Local Identifier"; + } + } + + grouping L2VPN-LDP-PW-AII { + description + "L2VPN LDP PW AII"; + container aii1 { + when "../aii-type = 'local-id'" { + description + "../AIIType = 'LocalID'"; + } + description + "aii1"; + uses L2VPN-LDP-PW-AII1; + } + container aii2 { + when "../aii-type = 'type2'" { + description + "../AIIType = 'Type2'"; + } + description + "aii2"; + uses L2VPN-LDP-PW-AII2; + } + leaf aii-type { + type L2vpn-ldp-pw-aii; + description + "AIIType"; + } + } + + grouping L2VPN-LDP-PW-AGI1 { + description + "L2VPN LDP PW AGI1"; + leaf rd { + type uint64; + description + "Route Distinguisher"; + } + } + + grouping L2VPN-LDP-PW-AGI { + description + "L2VPN LDP PW AGI"; + container agi1 { + when "../agi-type = 'rd'" { + description + "../AGIType = 'RD'"; + } + description + "agi1"; + uses L2VPN-LDP-PW-AGI1; + } + leaf agi-type { + type L2vpn-ldp-pw-agi; + description + "AGIType"; + } + } + + grouping L2VPN-LDP-PW-FEC-129 { + description + "L2VPN LDP PW FEC 129"; + container agi { + description + "AGI"; + uses L2VPN-LDP-PW-AGI; + } + container saii { + description + "Source Attachment Individual Identifier"; + uses L2VPN-LDP-PW-AII; + } + container taii { + description + "Target Attachment Individual Identifier"; + uses L2VPN-LDP-PW-AII; + } + } + + grouping L2VPN-LDP-PW-FEC-128 { + description + "L2VPN LDP PW FEC 128"; + leaf pseudowire-id { + type uint32; + description + "Pseudowire ID"; + } + } + + grouping L2VPN-LDP-PW-FEC-INFO { + description + "L2VPN LDP PW FEC INFO"; + container fec128 { + when "../fe-ctype = 'fec128'" { + description + "../FECType = 'FEC128'"; + } + description + "fec128"; + uses L2VPN-LDP-PW-FEC-128; + } + container fec129 { + when "../fe-ctype = 'fec129'" { + description + "../FECType = 'FEC129'"; + } + description + "fec129"; + uses L2VPN-LDP-PW-FEC-129; + } + container fec130 { + when "../fe-ctype = 'fec130'" { + description + "../FECType = 'FEC130'"; + } + description + "fec130"; + uses L2VPN-LDP-PW-FEC-130; + } + leaf fe-ctype { + type L2vpn-ldp-pw-fec; + description + "FECType"; + } + } + + grouping L2VPN-LDP-ATOM { + description + "L2VPN AToM-DB information"; + container fec-info { + description + "Pseudowire FEC information"; + uses L2VPN-LDP-PW-FEC-INFO; + } + leaf peer-id-xr { + type inet:ipv4-address; + description + "Peer ID"; + } + leaf mapping-tlv-count { + type uint32; + description + "TLV Count from Label Mapping Message"; + } + leaf notification-tlv-count { + type uint32; + description + "TLV Count from Notification Message"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub3.yang new file mode 100644 index 000000000..4e60ca081 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper-sub3.yang @@ -0,0 +1,311 @@ +submodule Cisco-IOS-XR-mpls-ldp-oper-sub3 { + belongs-to Cisco-IOS-XR-mpls-ldp-oper { + prefix Cisco-IOS-XR-mpls-ldp-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-17 { + description + "Added interface Auto Configure TE Tunnels parameters. + 2021-12-20 + Added new path for cloned tunnels + 2021-09-20 + Added keys for nbr-br-af-info"; + semver:module-version "1.2.0"; + } + revision 2021-04-06 { + description + "Added BSID data in LDP forwarding"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping LDP-NSR-GBL-SYNCI-INFO { + description + "MPLS LDP NSR Global Init Sync Information"; + leaf nsr-cfged { + type boolean; + description + "TRUE if NSR configured"; + } + leaf nsr-synced { + type boolean; + description + "TRUE if NSR synced"; + } + leaf init-sync-start { + type uint32; + description + "Init Sync Start Time"; + } + leaf init-sync-end { + type uint32; + description + "Init Sync End Time"; + } + leaf num-peers { + type uint32; + description + "Number of Peers"; + } + leaf num-cap-sent { + type uint32; + description + "Number of Sent Capabilities objects"; + } + leaf num-cap-rcvd { + type uint32; + description + "Number of Rcvd Capabilities objects"; + } + leaf num-pfx { + type uint32; + description + "Number of binding prefixes"; + } + leaf num-lbl { + type uint32; + description + "Number of label bindings"; + } + leaf num-lcl-addr-wd { + type uint32; + description + "Num of lcl address withdraw"; + } + leaf num-lbl-adv { + type uint32; + description + "Num of lbl adv"; + } + leaf ipc-msg-tx-cnt { + type uint32; + description + "num IPC msgs sent"; + } + leaf ipc-msg-tx-bytes { + type uint32; + units "byte"; + description + "total IPC bytes sent"; + } + leaf ipc-msg-rx-cnt { + type uint32; + description + "num IPC msgs rxed"; + } + leaf ipc-msg-rx-bytes { + type uint32; + description + "num IPC msgs rxed"; + } + leaf ipc-max-tx-batch-bytes { + type uint32; + units "byte"; + description + "biggest IPC TX bytes"; + } + leaf ipc-max-rx-batch-bytes { + type uint32; + units "byte"; + description + "biggest IPC RX bytes"; + } + leaf ipc-tx-fail-cnt { + type uint32; + description + "number of ipc send failures"; + } + leaf total-ipc-tx-fail-cnt { + type uint32; + description + "total number of ipc send failures"; + } + leaf ipc-restart-cnt { + type uint32; + description + "number of times ipc has been restarted"; + } + leaf ipc-default-mtu { + type uint32; + units "byte"; + description + "default IPC MTU bytes"; + } + leaf ipc-exceeded-mtu-msg-cnt { + type uint32; + description + "ipc exceeded mtu msg cnt"; + } + } + + grouping LDP-NSR-GBL-STATS-INFO { + description + "MPLS LDP NSR Global Stats Information"; + container init-sync { + description + "Init Sync"; + uses LDP-NSR-GBL-SYNCI-INFO; + } + } + + grouping LDP-NSR-NBR-SYNCS-INFO { + description + "MPLS LDP NSR Nbr Steady State Sync Information"; + leaf num-cap-sent { + type uint32; + description + "Num of Sent Capabilities"; + } + leaf num-cap-rcvd { + type uint32; + description + "Num of Rcvd Capabilities"; + } + leaf rem-lbl-wd { + type uint32; + description + "Number of remote label withdraw events"; + } + leaf rem-lbl-rq { + type uint32; + description + "Number of remote label request events"; + } + leaf num-stdby-adj-join { + type uint32; + description + "Number of standby adj join"; + } + leaf num-stdby-adj-leave { + type uint32; + description + "Number of standby adj leave"; + } + } + + grouping LDP-NSR-NBR-SYNCI-INFO { + description + "MPLS LDP NSR Nbr Init Sync Information"; + leaf init-sync-start { + type uint32; + description + "Init Sync Start Time"; + } + leaf init-sync-end { + type uint32; + description + "Init Sync End Time"; + } + leaf num-addr { + type uint32; + description + "Number of peer addresses"; + } + leaf num-duplicate-addr { + type uint32; + description + "Number of duplicate peer addresses"; + } + leaf num-rx-bytes { + type uint32; + units "byte"; + description + "Number of unprocessed Rx buffer bytes"; + } + leaf num-cap-sent { + type uint32; + description + "Num of Sent Capabilities"; + } + leaf num-cap-rcvd { + type uint32; + description + "Num of Rcvd Capabilities"; + } + leaf num-lbl { + type uint32; + description + "Number of peer bindings"; + } + leaf num-app-bytes { + type uint32; + units "byte"; + description + "Number of external App data bytes"; + } + } + + grouping LDP-NSR-STATS-NBR-INFO { + description + "MPLS LDP NSR Neighbor Stats Information"; + container init-sync-info { + description + "NSR Init Sync Info"; + uses LDP-NSR-NBR-SYNCI-INFO; + } + container steady-state-sync-info { + description + "NSR Steady State Sync Info"; + uses LDP-NSR-NBR-SYNCS-INFO; + } + leaf lsr-id-xr { + type uint32; + description + "lsr id xr"; + } + leaf lbl-spc-id { + type uint16; + description + "lbl spc id"; + } + leaf nsr-sync-state { + type int32; + description + "nsr sync state"; + } + leaf num-msg { + type uint32; + description + "Number of sync messages"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper.yang new file mode 100644 index 000000000..f01abd0a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ldp-oper.yang @@ -0,0 +1,866 @@ +module Cisco-IOS-XR-mpls-ldp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-oper"; + prefix mpls-ldp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-ldp-oper-sub3 { + revision-date 2023-02-17; + } + include Cisco-IOS-XR-mpls-ldp-oper-sub2 { + revision-date 2023-02-17; + } + include Cisco-IOS-XR-mpls-ldp-oper-sub1 { + revision-date 2023-02-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp package operational data. + + This module contains definitions + for the following management objects: + mpls-ldp: MPLS LDP operational data + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-17 { + description + "Added interface Auto Configure TE Tunnels parameters. + 2021-12-20 + Added new path for cloned tunnels + 2021-09-20 + Added keys for nbr-br-af-info"; + semver:module-version "1.2.0"; + } + revision 2021-04-06 { + description + "Added BSID data in LDP forwarding"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-ldp-oper-af-name { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + enum "all" { + value 65535; + description + "All"; + } + } + description + "Mpls ldp oper af name"; + } + + grouping NSR-SUMMARY-ALL { + description + "Common node of active, standby, node"; + container nsr-summary-all { + description + "Summary information regarding LDP NSR State"; + uses LDP-NSR-SUM; + } + } + + grouping LDP-ID { + description + "Common node of default-vrf, vrf"; + container ldp-id { + description + "Local LDP Id"; + uses LDP-LDPID-INFO; + } + } + + grouping CAPABILITY-TABLE { + description + "Common node of default-vrf, vrf"; + container capabilities { + description + "LDP capability database information"; + list capability { + key "capability-type"; + description + "Information on LDP capability"; + leaf capability-type { + type uint32; + description + "The capability type (IANA assigned)"; + } + uses LDP-CAP-INFO; + } + } + } + + grouping NEIGHBOR-CAPABILITY-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbor-capabilities { + description + "LDP Neighbors Capabilities"; + list neighbor-capability { + description + "Information on capabilities of a particular LDP + neighbor"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0..65535"; + } + description + "Label space ID of neighbor"; + } + uses LDP-NBR-CAP-INFO; + } + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby, node"; + container vrfs { + description + "VRF specific operational data"; + list vrf { + key "vrf-name"; + description + "Operational data for given VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses GRACEFUL-RESTART; + uses CAPABILITY-TABLE; + uses SUMMARY; + uses AF-TABLE; + uses NEIGHBOR-BRIEF-TABLE; + uses BACKOFF-PARAMETERS; + uses BACKOFF-TABLE; + uses NSR; + uses PARAMETERS; + uses ISSU; + uses NEIGHBOR-CAPABILITY-TABLE; + uses NEIGHBOR-TABLE; + uses LDP-ID; + uses STATISTICS-TABLE; + } + } + } + + grouping BACKOFF-PARAMETERS { + description + "Common node of default-vrf, vrf"; + container backoff-parameters { + description + "The LDP Backoff Parameters"; + uses LDP-BACKOFF-INFO; + } + } + + grouping HA-SUMMARY { + description + "Common node of nsr, issu"; + container ha-summary { + description + "LDP HA Summary"; + uses LDP-NSR-SUM; + } + } + + grouping STATISTICS-TABLE { + description + "Common node of default-vrf, vrf"; + container statistics { + description + "The LDP Statistics"; + list statistic { + description + "Statistical Information on a particular LDP + neighbor"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0..65535"; + } + description + "Label space ID of neighbor"; + } + uses LDP-STATS-INFO; + } + } + } + + grouping DISCOVERY-SUMMARY-ALL { + description + "Common node of active, standby, node"; + container discovery-summary-all { + description + "Summary information regarding LDP discovery"; + uses LDP-DISCOVERY-SUMMARY-INFO; + } + } + + grouping BINDINGS-SUMMARY-ALL { + description + "Common node of active, standby, node"; + container bindings-summary-all { + description + "Aggregate VRF counters for the LDP Label + Infomation Base (LIB)"; + uses LDP-BINDING-SUMMARY; + } + } + + grouping DEFAULT-VRF { + description + "Common node of active, standby, node"; + container default-vrf { + description + "DefaultVRF specific operational data"; + uses GRACEFUL-RESTART; + uses CAPABILITY-TABLE; + uses SUMMARY; + uses AF-TABLE; + uses NEIGHBOR-BRIEF-TABLE; + uses BACKOFF-PARAMETERS; + uses BACKOFF-TABLE; + uses NSR; + uses PARAMETERS; + uses ISSU; + uses NEIGHBOR-CAPABILITY-TABLE; + uses NEIGHBOR-TABLE; + uses LDP-ID; + uses STATISTICS-TABLE; + } + } + + grouping NEIGHBOR-BRIEF-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbor-briefs { + description + "The LDP Neighbors (brief)"; + list neighbor-brief { + description + "Brief information on a particular LDP neighbor"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0..65535"; + } + description + "Label space ID of neighbor"; + } + uses LDP-NEIGHBOR-BRIEF-INFO; + } + } + } + + grouping ATO-MDB-TABLE { + description + "Common node of active, standby, node"; + container ato-mdb-table-entries { + description + "AToM DB Table"; + list ato-mdb-table-entry { + description + "Entries in AToM DB"; + leaf peer-id { + type inet:ip-address-no-zone; + description + "Peer ID"; + } + leaf fe-ctype { + type uint32; + description + "FEC Type"; + } + leaf pw-id { + type uint32; + description + "PW ID"; + } + leaf agi-type { + type uint32; + description + "AGI Type"; + } + leaf agi { + type uint32; + description + "AGI"; + } + leaf saii-type { + type uint32; + description + "SAII Type"; + } + leaf saii-local-id { + type inet:ip-address-no-zone; + description + "SAII Local ID"; + } + leaf saii-global-id { + type uint32; + description + "SAII Global ID"; + } + leaf saii-prefix { + type xr:Hex-integer; + description + "SAII Prefix"; + } + leaf saii-ac-id { + type uint32; + description + "SAII AC ID"; + } + leaf taii-type { + type uint32; + description + "TAII Type"; + } + leaf taii-local-id { + type inet:ip-address-no-zone; + description + "TAII Local ID"; + } + leaf taii-global-id { + type uint32; + description + "TAII Global ID"; + } + leaf taii-prefix { + type xr:Hex-integer; + description + "TAII Prefix"; + } + leaf taii-ac-id { + type uint32; + description + "TAII AC ID"; + } + uses L2VPN-LDP-ATOM; + } + } + } + + grouping PARAMETERS { + description + "Common node of default-vrf, vrf"; + container parameters { + description + "LDP parameters"; + uses LDP-PARAMETERS; + } + } + + grouping FORWARDING-SUMMARY-ALL { + description + "Common node of active, standby, node"; + container forwarding-summary-all { + description + "Summary information regarding LDP forwarding + setup"; + uses LDP-FWD-SUMM-INFO; + } + } + + grouping SUMMARY { + description + "Common node of default-vrf, vrf"; + container summary { + description + "LDP VRF summary"; + uses LDP-SUMMARY-VRF; + } + } + + grouping MPLS-LDP-OPER-SUMMARY { + description + "Common node of default-vrf, vrfCommon node of + active, standby, node"; + container summary { + description + "LDP summary"; + uses LDP-SUMMARY; + } + } + + grouping HA-STATISTICS { + description + "Common node of nsr, issu"; + container ha-statistics { + description + "LDP NSR Statistics related information"; + container ha-global { + description + "LDP NSR Global Statistics information"; + uses LDP-NSR-GBL-STATS-INFO; + } + uses HA-NEIGHBOR-TABLE; + } + } + + grouping NSR { + description + "Common node of default-vrf, vrf"; + container nsr { + description + "LDP NSR related information"; + container nsr-pending { + description + "LDP NSR Pending related information"; + uses HA-NEIGHBOR-TABLE; + } + uses HA-SUMMARY; + uses HA-STATISTICS; + } + } + + grouping GRACEFUL-RESTART { + description + "Common node of default-vrf, vrf"; + container graceful-restart { + description + "LDP Graceful Restart info"; + uses LDP-GR-GLOBAL-INFO; + } + } + + grouping HA-NEIGHBOR-TABLE { + description + "Common node of nsr-pending, ha-statistics"; + container ha-neighbors { + description + "The LDP HA Neighbors"; + list ha-neighbor { + description + "Information on a particular LDP HA neighbor"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0..65535"; + } + description + "Label space ID of neighbor"; + } + uses LDP-NSR-STATS-NBR-INFO; + } + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of default-vrf, vrf"; + container neighbors { + description + "The LDP Neighbors"; + list neighbor { + description + "Information on a particular LDP neighbor"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0..65535"; + } + description + "Label space ID of neighbor"; + } + uses LDP-NEIGHBOR-INFO; + } + } + } + + grouping ISSU { + description + "Common node of default-vrf, vrf"; + container issu { + description + "LDP ISSU related information"; + uses HA-SUMMARY; + uses HA-STATISTICS; + } + } + + grouping BACKOFF-TABLE { + description + "Common node of default-vrf, vrf"; + container backoffs { + description + "The LDP backoff"; + list backoff { + description + "LDP Backoff Information"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0..65535"; + } + description + "Label space ID of neighbor"; + } + uses LDP-BACKOFF-ENTRY-INFO; + } + } + } + + grouping AF-TABLE { + description + "Common node of default-vrf, vrf"; + container afs { + description + "Address Family specific operational data"; + list af { + key "af-name"; + description + "Operational data for given Address Family"; + container interface-summary { + description + "IPv4 interface summary information"; + uses LDP-INTF-SUM; + } + container bindings { + description + "The LDP Bindings"; + list binding { + key "prefix"; + description + "Binding Information"; + leaf prefix { + type inet:ip-prefix; + description + "The IP Prefix"; + } + uses LDP-TIB-ENTRY-DETAIL; + } + } + container igp { + description + "LDP IGP related information"; + container syncs { + description + "LDP IGP Sync related information"; + list sync { + key "interface-name"; + description + "LDP-IGP Synchronization related information + for an interface"; + leaf interface-name { + type xr:Interface-name; + description + "The Interface Name"; + } + uses LDP-IGP-SYNC-INFO; + } + } + container sync-delay-restart { + description + "LDP-IGP Synchronization Delay related + information"; + uses LDP-IGP-SYNC-DELAY-RESTART-INFO; + } + } + container bindings-summary { + description + "Counters for the LDP Label Infomation Base + (LIB)"; + uses LDP-BINDING-SUMMARY; + } + container interfaces { + description + "LDP Interface related information"; + list interface { + key "interface-name"; + description + "IPv4 interface information"; + leaf interface-name { + type xr:Interface-name; + description + "The Interface Name"; + } + uses LDP-INTF; + } + } + container discovery { + description + "The LDP Discovery"; + container link-hellos { + description + "The LDP Discovery link"; + list link-hello { + key "interface-name"; + description + "Information on LDP link discovery"; + leaf interface-name { + type xr:Interface-name; + description + "The Interface Name"; + } + uses LDP-DISCOVERY-LINK-INFO; + } + } + container summary { + description + "Summarized information on LDP discovery"; + uses LDP-DISCOVERY-SUMMARY-INFO; + } + container targeted-hellos { + description + "The LDP Discovery Targeted"; + list targeted-hello { + description + "Information on LDP targeted discovery"; + leaf local-address { + type inet:ip-address-no-zone; + description + "Local IP Address"; + } + leaf target-address { + type inet:ip-address-no-zone; + description + "The target IP Address"; + } + uses LDP-TARGETED-HELLO-INFO; + } + } + container brief { + description + "Brief information on LDP discovery"; + container link-hello-briefs { + description + "The LDP Discovery link brief information"; + list link-hello-brief { + key "interface-name"; + description + "Brief information on LDP link discovery"; + leaf interface-name { + type xr:Interface-name; + description + "The Interface Name"; + } + uses LDP-DISCOVERY-LINK-BRIEF-INFO; + } + } + container targeted-hello-briefs { + description + "The LDP Discovery Targeted brief information"; + list targeted-hello-brief { + description + "Brief information on LDP targeted discovery"; + leaf local-address { + type inet:ip-address-no-zone; + description + "Local IP Address"; + } + leaf target-address { + type inet:ip-address-no-zone; + description + "The target IP Address"; + } + uses LDP-TARGETED-HELLO-BRIEF-INFO; + } + } + } + container stats { + description + "The LDP Discovery Statistics"; + list stat { + description + "Information on LDP discovery statistics"; + leaf lsr-id { + type inet:ipv4-address-no-zone; + description + "LSR ID of neighbor"; + } + leaf label-space-id { + type uint32 { + range "0..65535"; + } + description + "Label space ID of neighbor"; + } + uses LDP-DISCOVERY-ADJ-GRP-INFO; + } + } + } + container clone-interfaces { + description + "cloned tunnel information"; + list clone-interface { + key "interface-name"; + description + "Clonned tunnel interface information"; + leaf interface-name { + type xr:Interface-name; + description + "The Interface Name"; + } + uses LDP-CLONE-ENABLED-TUNNEL; + } + } + container forwardings { + description + "The LDP Forwarding rewrites"; + list forwarding { + key "prefix"; + description + "Information on a particular LDP forwarding + rewrite"; + leaf prefix { + type inet:ip-prefix; + description + "The IP Prefix"; + } + uses LDP-FWD-PFX-INFO; + } + } + container bindings-advertise-spec { + description + "Advertisement Spec (ACL) for LDP Label + Infomation Base (LIB)"; + uses LDP-BINDING-ADVT-SPEC; + } + container forwarding-summary { + description + "Summary information regarding LDP forwarding + setup"; + uses LDP-FWD-SUMM-INFO; + } + leaf af-name { + type Mpls-ldp-oper-af-name; + description + "Address Family name"; + } + } + } + } + + container mpls-ldp { + config false; + description + "MPLS LDP operational data"; + container global { + description + "Global MPLS LDP operational data"; + container standby { + description + "Standby MPLS LDP operational data"; + uses DEFAULT-VRF; + uses FORWARDING-SUMMARY-ALL; + uses BINDINGS-SUMMARY-ALL; + uses ATO-MDB-TABLE; + uses NSR-SUMMARY-ALL; + uses MPLS-LDP-OPER-SUMMARY; + uses VRF-TABLE; + uses DISCOVERY-SUMMARY-ALL; + } + container active { + description + "Active MPLS LDP operational data"; + uses DEFAULT-VRF; + uses FORWARDING-SUMMARY-ALL; + uses BINDINGS-SUMMARY-ALL; + uses ATO-MDB-TABLE; + uses NSR-SUMMARY-ALL; + uses MPLS-LDP-OPER-SUMMARY; + uses VRF-TABLE; + uses DISCOVERY-SUMMARY-ALL; + } + } + container nodes { + description + "Location MPLS LDP operational data"; + list node { + key "node-name"; + description + "The MPLD LDP operational data for a particular + node"; + leaf node-name { + type xr:Node-id; + description + "The identifier for the node"; + } + uses DEFAULT-VRF; + uses FORWARDING-SUMMARY-ALL; + uses BINDINGS-SUMMARY-ALL; + uses ATO-MDB-TABLE; + uses NSR-SUMMARY-ALL; + uses MPLS-LDP-OPER-SUMMARY; + uses VRF-TABLE; + uses DISCOVERY-SUMMARY-ALL; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-cfg.yang new file mode 100644 index 000000000..5f11d66d6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-cfg.yang @@ -0,0 +1,292 @@ +module Cisco-IOS-XR-mpls-lsd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-lsd-cfg"; + prefix mpls-lsd-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-lsd package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-lsd-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + mpls-lsd: MPLS LSD configuration data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-26 { + description + "Added a new block type PFP under exisiting label blocks config"; + semver:module-version "2.0.0"; + } + revision 2019-08-20 { + description + "MPLS label block config default values added."; + semver:module-version "1.1.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Label-block { + type enumeration { + enum "cbf" { + value 3; + description + "CBF block"; + } + enum "pfp" { + value 4; + description + "PFP block"; + } + } + description + "Label block"; + } + + typedef Label-block-client-name { + type xr:Cisco-ios-xr-string { + length "1..48"; + } + description + "Label block client name"; + } + + typedef Label-range { + type enumeration { + enum "lower-upper" { + value 0; + description + "Start and end of block"; + } + enum "lower-size" { + value 1; + description + "Start and size of block"; + } + } + description + "Label range"; + } + + typedef Mpls-ip-ttl-propagate-disable { + type enumeration { + enum "all" { + value 0; + description + "Disable IP TTL propagation for all MPLS packets"; + } + enum "forward" { + value 1; + description + "Disable IP TTL propagation for only forwarded + MPLS packets"; + } + enum "local" { + value 2; + description + "Disable IP TTL propagation for only locally + generated MPLS packets"; + } + } + description + "Mpls ip ttl propagate disable"; + } + + grouping TTL-EXPIRATION-POP { + description + "Common node of ipv4, ipv6"; + leaf ttl-expiration-pop { + type uint32 { + range "1..10"; + } + description + "Number of labels to pop upon MPLS IP TTL expiry"; + } + } + + container mpls-lsd { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-lsd-cfg.yang which will + provide the compatible functionalities. MPLS LSD + configuration data"; + container ipv6 { + description + "Configure IPv6 parameters"; + uses TTL-EXPIRATION-POP; + } + container ipv4 { + description + "Configure IPv4 parameters"; + uses TTL-EXPIRATION-POP; + } + container label-databases { + description + "Table of label databases"; + list label-database { + key "label-database-id"; + description + "A label database"; + container label-range { + description + "Label range"; + leaf minvalue { + type uint32 { + range "16000..1048575"; + } + description + "Minimum label value"; + } + leaf max-value { + type uint32 { + range "16000..1048575"; + } + description + "Maximum label value"; + } + leaf min-static-value { + type uint32 { + range "0..1048575"; + } + description + "Minimum static label value"; + } + leaf max-static-value { + type uint32 { + range "0..1048575"; + } + description + "Maximum static label value"; + } + } + container label-blocks { + description + "A label blocks database"; + list label-block { + key "block-name"; + description + "Label block"; + leaf block-name { + type xr:Cisco-ios-xr-string; + description + "Label block identifier"; + } + leaf block-type { + type Label-block; + description + "Label block type"; + } + leaf range-type { + type Label-range; + default "lower-upper"; + description + "Label range type"; + } + leaf lower-bound { + type uint32 { + range "16000..1048575"; + } + default "16000"; + description + "Lower bound of block"; + } + leaf upper-bound { + when "../range-type != 'lower-size'" { + description + "../RangeType != LowerSize"; + } + type uint32 { + range "16000..1048575"; + } + default "16000"; + description + "Upper bound of block"; + } + leaf block-size { + when "../range-type != 'lower-upper'" { + description + "../RangeType != LowerUpper"; + } + type uint32 { + range "1..1032576"; + } + default "1"; + description + "Size of block"; + } + leaf client-instance-name { + type Label-block-client-name; + default "any"; + description + "Client instance name"; + } + } + } + leaf label-database-id { + type uint32 { + range "0"; + } + description + "Label database identifier"; + } + } + } + leaf ltrace-multiplier { + type uint32 { + range "2..5"; + } + description + "Multiply the MPLS LSD Ltrace buffer length"; + } + leaf mpls-entropy-label { + type empty; + description + "Enable MPLS Entropy Label"; + } + leaf mpls-ip-ttl-propagate-disable { + type Mpls-ip-ttl-propagate-disable; + description + "Disable Propagation of IP TTL onto the label + stack"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper-sub1.yang new file mode 100644 index 000000000..9a2658495 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper-sub1.yang @@ -0,0 +1,4226 @@ +submodule Cisco-IOS-XR-mpls-lsd-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-lsd-oper { + prefix Cisco-IOS-XR-mpls-lsd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-lsd package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-20 { + description + "Add mpls_lsd_moi_evpn as new EVPN moi"; + semver:module-version "1.4.0"; + } + revision 2020-11-26 { + description + "Extend MPLS_LSDLabelContextType to include PFP block type + 2020-11-22 + New Label Context type defined, SR_Pfx_node + 2020-10-29 + Deprecated bag mpls_lsd_first_srgb_allocated_block_size Added bag mpls_lsd_active_block_range + 2020-08-21 + Modify mpls_lsd to include label flags in mpls_lsd_fpi_lbl bag + 2020-06-13 + Modify mpls_lsd to include BIER app type and label context type + 2020-06-02 + Modify mpls_lsd_moi_pw to include platform data"; + semver:module-version "1.3.0"; + } + revision 2020-05-29 { + description + "Extended Application information to include resource complete timestamp"; + semver:module-version "1.2.0"; + } + revision 2019-10-22 { + description + "Modify mpls_lsd_lbl_ctx_recycle_lbl to take 64 bit field instead of 32 Extend mpls_lsd_moi_pop_and_lkup to include QoS fields Extend mpls_lsd_moi_ipv6 to include load metric field Extend mpls_lsd_moi_ipv4 to include recursion length fields Extend mpls_lsd_moi_ipv4 to include QoS fields Extend MPLS_LSDLabelContextType to include CBF block type Extend mpls_lsd_lbl_ctx_l3vpn_nh_set to include type field"; + semver:module-version "1.1.0"; + } + revision 2019-05-22 { + description + "Extended schema for FRRDatabase, Rewrite, LabelHistoryTable"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-01-03 { + description + "Yang evaluator: updates to schema descriptions and ranges"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mgmt-lsd-intf-state { + type enumeration { + enum "mgmt-lsd-intf-state-unknown" { + description + "unknown"; + } + enum "mgmt-lsd-intf-state-up" { + description + "up"; + } + enum "mgmt-lsd-intf-state-down" { + description + "down"; + } + } + description + "Mgmt lsd intf state"; + } + + typedef Mgmt-lsd-app-state { + type enumeration { + enum "mgmt-lsd-app-state-active" { + description + "Active"; + } + enum "mgmt-lsd-app-state-zombie" { + description + "Zombie"; + } + enum "mgmt-lsd-app-state-recover" { + description + "Recover"; + } + } + description + "Mgmt lsd app state"; + } + + typedef Mgmt-lsd-rw-id { + type enumeration { + enum "mgmt-lsd-rw-id-type-none" { + description + "None"; + } + enum "mgmt-lsd-rw-id-type-lbl-ctx" { + description + "Label Context"; + } + enum "mgmt-lsd-rw-id-type-loc-lbl" { + description + "Local Label"; + } + } + description + "Mgmt lsd rw id"; + } + + typedef Mgmt-lsd-tun { + type enumeration { + enum "mgmt-lsd-ipvpn-tunnel-type-invalid" { + value 0; + description + "mgmt lsd ipvpn tunnel type invalid"; + } + enum "mgmt-lsd-ipvpn-tunnel-type-l2tp" { + value 1; + description + "mgmt lsd ipvpn tunnel type l2tp"; + } + enum "mgmt-lsd-ipvpn-tunnel-type-mgre" { + value 2; + description + "mgmt lsd ipvpn tunnel type mgre"; + } + enum "mgmt-lsd-ipvpn-tunnel-type-vxlan-l2" { + value 3; + description + "mgmt lsd ipvpn tunnel type vxlan l2"; + } + enum "mgmt-lsd-ipvpn-tunnel-type-gre" { + value 4; + description + "mgmt lsd ipvpn tunnel type gre"; + } + enum "mgmt-lsd-ipvpn-tunnel-type-ip" { + value 5; + description + "mgmt lsd ipvpn tunnel type ip"; + } + enum "mgmt-lsd-ipvpn-tunnel-type-te" { + value 6; + description + "mgmt lsd ipvpn tunnel type te"; + } + enum "mgmt-lsd-ipvpn-tunnel-type-vxlan-l3" { + value 7; + description + "mgmt lsd ipvpn tunnel type vxlan l3"; + } + } + description + "Mgmt lsd tun"; + } + + typedef Mgmt-lsd-afi { + type enumeration { + enum "mgmt-lsd-afi-ipv4" { + description + "mgmt lsd afi ipv4"; + } + enum "mgmt-lsd-afi-ipv6" { + description + "mgmt lsd afi ipv6"; + } + } + description + "Mgmt lsd afi"; + } + + typedef Mpls-lsd-nnh { + type enumeration { + enum "none" { + description + "None - Invalid"; + } + enum "ipv4-address" { + description + "IPv4 Address"; + } + enum "interface-name" { + description + "Interface"; + } + } + description + "Mpls lsd nnh"; + } + + typedef Mgmt-lsd-moi { + type enumeration { + enum "mgmt-lsd-moi-type-pop-and-lkup-ipv4" { + description + "Pop-and-lookup IPv4"; + } + enum "mgmt-lsd-moi-type-ipv4" { + description + "IPv4"; + } + enum "mgmt-lsd-moi-type-ipv6" { + description + "IPv6"; + } + enum "mgmt-lsd-moi-type-tev4" { + description + "TE IPv4"; + } + enum "mgmt-lsd-moi-type-pw" { + description + "PW"; + } + enum "mgmt-lsd-moi-type-pop-and-lkup-ipv6" { + description + "Pop-and-lookup IPv6"; + } + enum "mgmt-lsd-moi-type-ip-sub" { + description + "IP Subscriber"; + } + enum "mgmt-lsd-moi-type-pwhe" { + description + "PW HE"; + } + enum "mgmt-lsd-moi-type-pw-list" { + description + "PW List"; + } + enum "mgmt-lsd-moi-type-ipv4-stack" { + description + "IPv4 Multi-Label"; + } + enum "mgmt-lsd-moi-type-pop-and-lkup-tp" { + description + "Pop-and-lookup TP"; + } + enum "mgmt-lsd-moi-type-ipv6-stack" { + description + "IPv6 Multi-Label"; + } + enum "mgmt-lsd-moi-type-te-head" { + description + "TE Head"; + } + enum "mgmt-lsd-moi-type-dmtc-ext-intf" { + description + "Demand Matrix Traffic-Collector"; + } + enum "mgmt-lsd-moi-type-ipv4-nnh-stack" { + description + "IPv4 Neighbor-Next-Hop"; + } + enum "mgmt-lsd-moi-type-ipv6-nnh-stack" { + description + "IPv6 Neighbor-Next-Hop"; + } + enum "mgmt-lsd-moi-type-label-range" { + description + "Label Range Opaque Message Data"; + } + enum "mgmt-lsd-moi-type-evpn" { + description + "EVPN"; + } + } + description + "Mgmt lsd moi"; + } + + typedef Mgmt-lsd-fpi { + type enumeration { + enum "mgmt-lsd-fpi-type-label" { + description + "Label"; + } + enum "mgmt-lsd-fpi-type-te" { + description + "TE"; + } + enum "mgmt-lsd-fpi-type-ipv4" { + description + "IPv4"; + } + enum "mgmt-lsd-fpi-type-ipv6" { + description + "IPv6"; + } + enum "mgmt-lsd-fpi-type-pw-list" { + description + "PW List"; + } + enum "mgmt-lsd-fpi-type-te-v2" { + description + "TE v2"; + } + enum "mgmt-lsd-fpi-type-dmtc-ext-intf" { + description + "DMTC External Interface"; + } + enum "mgmt-lsd-fpi-type-label-range" { + description + "Label Range Opaque Message Key"; + } + } + description + "Mgmt lsd fpi"; + } + + typedef Mgmt-lsd-frr-state { + type enumeration { + enum "mgmt-lsd-frr-state-partial" { + description + "Partial"; + } + enum "mgmt-lsd-frr-state-active" { + description + "Active"; + } + enum "mgmt-lsd-frr-state-ready" { + description + "Ready"; + } + enum "mgmt-lsd-frr-state-complete" { + description + "Complete"; + } + enum "mgmt-lsd-frr-state-any" { + description + "Any"; + } + enum "mgmt-lsd-frr-state-igp" { + description + "IGP"; + } + } + description + "Mgmt lsd frr state"; + } + + typedef Mgmt-lsd-lsp-role { + type enumeration { + enum "mgmt-lsd-lsp-role-head" { + description + "Head"; + } + enum "mgmt-lsd-lsp-role-mid" { + description + "Midpoint"; + } + } + description + "Mgmt lsd lsp role"; + } + + typedef Mgmt-lsd-te-binding { + type enumeration { + enum "mgmt-lsd-ident-p2p-tun-id" { + description + "mgmt lsd ident p2p tun id"; + } + enum "mgmt-lsd-ident-p2p-grp-id" { + description + "mgmt lsd ident p2p grp id"; + } + enum "mgmt-lsd-ident-p2mp-tun-id" { + description + "mgmt lsd ident p2mp tun id"; + } + enum "mgmt-lsd-ident-p2mp-grp-id" { + description + "mgmt lsd ident p2mp grp id"; + } + } + description + "Mgmt lsd te binding"; + } + + typedef Mgmt-lsd-lbl-alloc-table { + type enumeration { + enum "mgmt-lsd-label-alloc-table-type-none" { + description + "Label Allocation type None"; + } + enum "mgmt-lsd-label-alloc-table-type-gbl-ipv4" { + description + "IPv4 Label Allocation"; + } + enum "mgmt-lsd-label-alloc-table-type-gbl-ipv6" { + description + "IPv6 Label Allocation"; + } + enum "mgmt-lsd-label-alloc-table-type-gbl-vpnv4" { + description + "VPNv4 Label Allocation"; + } + enum "mgmt-lsd-label-alloc-table-type-gbl-vpnv6" { + description + "VPNv6 Label Allocation"; + } + enum "mgmt-lsd-label-alloc-table-type-srte" { + description + "SRTE Next-hop Label allocation"; + } + } + description + "Mgmt lsd lbl alloc table"; + } + + typedef Lsd-ipv6-address { + type inet:ipv6-address; + description + "Lsd ipv6 address"; + } + + typedef Mgmt-lsd-lbl-ctx { + type enumeration { + enum "mgmt-lsd-lbl-ctx-type-none" { + description + "None"; + } + enum "mgmt-lsd-lbl-ctx-type-ipv4" { + description + "IPv4"; + } + enum "mgmt-lsd-lbl-ctx-type-ipv6" { + description + "IPv6"; + } + enum "mgmt-lsd-lbl-ctx-type-tev4" { + description + "TE IPv4"; + } + enum "mgmt-lsd-lbl-ctx-type-l3vpn-ipv4" { + description + "L3VPN IPv4"; + } + enum "mgmt-lsd-lbl-ctx-type-l3vpn-ipv6" { + description + "L3VPN IPv6"; + } + enum "mgmt-lsd-lbl-ctx-type-l3vpn-vrf" { + description + "L3VPN Per-VRF"; + } + enum "mgmt-lsd-lbl-ctx-type-l3vpn-cev4" { + description + "L3VPN IPv4 Per-CE"; + } + enum "mgmt-lsd-lbl-ctx-type-l3vpn-cev6" { + description + "L3VPN IPv6 Per-CE"; + } + enum "mgmt-lsd-lbl-ctx-type-pw" { + description + "PW"; + } + enum "mgmt-lsd-lbl-ctx-type-lbl-blk" { + description + "LBL BLK"; + } + enum "mgmt-lsd-lbl-ctx-type-ip-sub" { + description + "IP SUB"; + } + enum "mgmt-lsd-lbl-ctx-type-tev4-p2mp" { + description + "TE IPv4 P2MP"; + } + enum "mgmt-lsd-lbl-ctx-type-mldpv4" { + description + "MLDP IPv4"; + } + enum "mgmt-lsd-lbl-ctx-type-pwhe" { + description + "PW HE"; + } + enum "mgmt-lsd-lbl-ctx-type-tp" { + description + "MPLS TP"; + } + enum "mgmt-lsd-lbl-ctx-type-gre" { + description + "GRE"; + } + enum "mgmt-lsd-lbl-ctx-type-evpn" { + description + "EVPN"; + } + enum "mgmt-lsd-lbl-ctx-type-blb-ipv4" { + description + "BLB IPv4"; + } + enum "mgmt-lsd-lbl-ctx-type-blb-ipv6" { + description + "BLB IPv6"; + } + enum "mgmt-lsd-lbl-ctx-type-pim-i-pmsi" { + description + "PIM I-PMSI"; + } + enum "mgmt-lsd-lbl-ctx-type-pim-s-pmsi" { + description + "PIM S-PMSI"; + } + enum "mgmt-lsd-lbl-ctx-type-l3vpn-nh-set" { + description + "L3VPN NH SET"; + } + enum "mgmt-lsd-lbl-ctx-type-sr-pfx-seg" { + description + "SR Prefix Segment"; + } + enum "mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv4" { + description + "SR Adj Segment IPv4"; + } + enum "mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv6" { + description + "SR Adj Segment IPv6"; + } + enum "mgmt-lsd-lbl-ctx-type-lbl-blk-srgb" { + description + "LBL BLK SRGB"; + } + enum "mgmt-lsd-lbl-ctx-type-te-binding" { + description + "TE Binding"; + } + enum "mgmt-lsd-lbl-ctx-type-gre-ipv6" { + description + "GRE IPV6"; + } + enum "mgmt-lsd-lbl-ctx-type-any" { + description + "Any"; + } + enum "mgmt-lsd-lbl-ctx-type-lbl-blk-srlb" { + description + "LBL BLK SRLB"; + } + enum "mgmt-lsd-lbl-ctx-type-recycle-lbl" { + description + "Recycle Label"; + } + enum "mgmt-lsd-lbl-ctx-type-lbl-blk-cbf" { + description + "Class Based Forwarding Label Block"; + } + enum "mgmt-lsd-lbl-ctx-type-srte-nh-label-set" { + description + "SRTE NH Label Set"; + } + enum "mgmt-lsd-lbl-ctx-type-lbl-blk-bier" { + description + "BIER Label Block"; + } + enum "mgmt-lsd-lbl-ctx-type-sr-pfx-node" { + description + "SR Prefix Node"; + } + enum "mgmt-lsd-lbl-ctx-type-lbl-blk-pfp" { + description + "Per Flow Policy Label Block"; + } + enum "mgmt-lsd-lbl-ctx-type-sfi" { + description + "SFI Label"; + } + } + description + "Mgmt lsd lbl ctx"; + } + + typedef Mgmt-lsd-app-rsrc-state { + type enumeration { + enum "mgmt-lsd-app-rsrc-state-active" { + description + "Active"; + } + enum "mgmt-lsd-app-rsrc-state-pnd" { + description + "Pending"; + } + enum "mgmt-lsd-app-rsrc-state-pnd-svr" { + description + "Pending Server"; + } + } + description + "Mgmt lsd app rsrc state"; + } + + typedef Mgmt-lsd-app { + type enumeration { + enum "mgmt-lsd-app-type-none" { + description + "None"; + } + enum "mgmt-lsd-app-type-int" { + description + "LSD"; + } + enum "mgmt-lsd-app-type-test" { + description + "Test"; + } + enum "mgmt-lsd-app-type-static" { + description + "Static"; + } + enum "mgmt-lsd-app-type-ldp" { + description + "LDP"; + } + enum "mgmt-lsd-app-type-te" { + description + "TE Control"; + } + enum "mgmt-lsd-app-type-app-controller" { + description + "App Controller"; + } + enum "mgmt-lsd-app-type-bgp-ipv4" { + description + "BGP v4"; + } + enum "mgmt-lsd-app-type-bgp-vpn-ipv4" { + description + "BGP VPNv4"; + } + enum "mgmt-lsd-app-type-l2vpn" { + description + "L2VPN"; + } + enum "mgmt-lsd-app-type-bgp-spkr" { + description + "BGP Spkr"; + } + enum "mgmt-lsd-app-type-bfd" { + description + "BFD"; + } + enum "mgmt-lsd-app-type-pim" { + description + "PIM"; + } + enum "mgmt-lsd-app-type-v2-lsd" { + description + "V2 LSD"; + } + enum "mgmt-lsd-app-type-pim6" { + description + "PIM6"; + } + enum "mgmt-lsd-app-type-isis" { + description + "ISIS"; + } + enum "mgmt-lsd-app-type-ospf" { + description + "OSPF"; + } + enum "mgmt-lsd-app-type-cgn" { + description + "CGN"; + } + enum "mgmt-lsd-app-type-dmtc" { + description + "Traffic Collector"; + } + enum "mgmt-lsd-app-type-cofo-sync-lib" { + description + "COFO Sync Lib"; + } + enum "mgmt-lsd-app-type-bier" { + description + "BIER"; + } + enum "mgmt-lsd-app-type-any" { + description + "Any"; + } + } + description + "Mgmt lsd app"; + } + + typedef Mgmt-lsd-client { + type enumeration { + enum "mgmt-lsd-client-type-app" { + description + "Application"; + } + enum "mgmt-lsd-client-type-ba" { + description + "BCDL Agent"; + } + } + description + "Mgmt lsd client"; + } + + grouping MPLS-LSD-LBL-HIST { + description + "LSD label history information"; + leaf label { + type uint32; + description + "Label"; + } + leaf application-type { + type Mgmt-lsd-app; + description + "Application type"; + } + leaf application-role-primary { + type int32; + description + "Primary/Backup role"; + } + leaf hist-code { + type uint32; + description + "Code for event that happened to label"; + } + leaf label-code { + type uint32; + description + "Code for ctx type or error code"; + } + leaf time-stamp { + type uint64; + description + "Timestamp"; + } + } + + grouping MPLS-LSD-INTF { + description + "LSD interface information"; + leaf interface { + type xr:Interface-name; + description + "LSD Interface name"; + } + leaf interface-state { + type Mgmt-lsd-intf-state; + description + "Interface state"; + } + list application-owner { + description + "The applications that own the interface"; + uses MPLS-LSD-APP-RSRC-STATE; + } + } + + grouping MPLS-LSD-LBL-RANGE { + description + "Label range"; + leaf min-dynamic-label-value { + type uint32; + description + "Minimum dynamic label value"; + } + leaf max-dynamic-label-value { + type uint32; + description + "Maximum dynamic label value"; + } + leaf min-static-label-value { + type uint32; + description + "Minimum static label value"; + } + leaf max-static-label-value { + type uint32; + description + "Maximum static label value"; + } + } + + grouping MPLS-LSD-APP-CONNECTED-STATS { + description + "LSD application connection statistics"; + leaf rt-set-msg-count { + type uint32; + description + "RT set count"; + } + leaf operation-msg-count { + type uint32; + description + "Operation count"; + } + leaf oor-label-count { + type uint32; + description + "Label OOR count"; + } + leaf error-msg-count { + type uint32; + description + "Error count"; + } + } + + grouping MPLS-LSD-APP-STATS { + description + "LSD application statistics"; + container connected { + description + "Connected statistics"; + uses MPLS-LSD-APP-CONNECTED-STATS; + } + leaf interface-enable { + type uint32; + description + "Number of interfaces enabled"; + } + leaf interface-enable-pending { + type uint32; + description + "Number of interfaces with enable pending"; + } + leaf connect-count { + type uint32; + description + "Number of connections made"; + } + list label-context-count { + max-elements "37"; + description + "Active labels contexts count"; + leaf entry { + type uint32; + description + "Active labels contexts count"; + } + } + list label-context-pending-count { + max-elements "37"; + description + "Unclaimed (pending) labels contexts count"; + leaf entry { + type uint32; + description + "Unclaimed (pending) labels contexts count"; + } + } + list label-context-notification-count { + max-elements "37"; + description + "Number of notifications sent to application, per + + ctx type"; + leaf entry { + type uint32; + description + "Number of notifications sent to application, per + + ctx type"; + } + } + } + + grouping MPLS-LSD-APP { + description + "LSD application information"; + container application-statistics { + description + "Application Statistics"; + uses MPLS-LSD-APP-STATS; + } + leaf application-name-xr { + type string; + description + "Application name"; + } + leaf application-type { + type Mgmt-lsd-app; + description + "Application type"; + } + leaf application-role-primary { + type int32; + description + "Primary/Backup role"; + } + leaf application-instance { + type string; + description + "Application instance name"; + } + leaf app-reg-time { + type uint64; + description + "Application registration timestamp"; + } + leaf app-disconnect-time { + type uint64; + description + "Application disconnect timestamp"; + } + leaf app-flow-controlled { + type int32; + description + "Application flow control status"; + } + leaf flow-ctrl-time { + type uint64; + description + "Flow Ctrl timestamp"; + } + leaf flow-ctrl-clr-time { + type uint64; + description + "Flow Ctrl Clr timestamp"; + } + leaf go-act-ts { + type uint64; + description + "Application go active timestamp"; + } + leaf eod-received-ts { + type uint64; + description + "Application resource complete timestamp"; + } + leaf application-state { + type Mgmt-lsd-app-state; + description + "Application state"; + } + leaf recovery-time-remaining-seconds { + type uint32; + units "second"; + description + "Recovery time [secs] remaining if client is + timing out"; + } + leaf recovery-time-elapsed-seconds { + type uint32; + units "second"; + description + "Recovery time [secs] elapsed if client is timing + out"; + } + leaf recovery-time-register-seconds { + type uint32; + units "second"; + description + "Recovery time [secs] specified at registration + or set explicitly"; + } + leaf node-id { + type xr:Node-id; + description + "Node ID where application is/was running"; + } + } + + grouping MPLS-LSD-RW-IP-PATH-SUM { + description + "Rewrite's IP paths summary counts"; + leaf total-paths { + type uint32; + description + "Total number of IP paths"; + } + leaf total-backup-paths { + type uint32; + description + "Total number of non-primary backup paths"; + } + leaf total-remote-backup-paths { + type uint32; + description + "Total number of remote backup paths"; + } + leaf total-protected-paths { + type uint32; + description + "Total number of protected paths"; + } + leaf total-pop-lkup-paths { + type uint32; + description + "Total number of Pop-and-Lookup paths"; + } + } + + grouping MPLS-LSD-RW-SUM { + description + "Rewrite summary"; + container ipv4-paths { + description + "Count for IPv4 paths"; + uses MPLS-LSD-RW-IP-PATH-SUM; + } + container ipv6-paths { + description + "Count for IPv6 paths"; + uses MPLS-LSD-RW-IP-PATH-SUM; + } + leaf num-label-fpi { + type uint32; + description + "Number of label FPI"; + } + leaf num-tefpi { + type uint32; + description + "Number of TE FPI"; + } + leaf num-ipv4fpi { + type uint32; + description + "Number of IPv4 FPI"; + } + leaf num-ipv6fpi { + type uint32; + description + "Number of IPv6 FPI"; + } + leaf num-pw-list-tefpi { + type uint32; + description + "Number of PW List FPI"; + } + leaf num-dmtctefpi { + type uint32; + description + "Number of DMTC FPI"; + } + leaf num-label-range { + type uint32; + description + "Number of Label Range FPI"; + } + leaf num-rewrite { + type uint32; + description + "Number of rewrites"; + } + leaf total-forward-update { + type uint32; + description + "Total number of forward updates"; + } + leaf total-forwad-update-message { + type uint32; + description + "Total number of forward update messages"; + } + leaf total-paths { + type uint32; + description + "Total number of paths"; + } + leaf total-t-ev4-paths { + type uint32; + description + "Total number of Traffic Eng IPv4 paths"; + } + leaf total-te-head-paths { + type uint32; + description + "Total number of Traffic Eng Head paths"; + } + leaf total-pw-paths { + type uint32; + description + "Total number of Pseudo-wire paths"; + } + leaf total-ip-sub-paths { + type uint32; + description + "Total number of IP Subscriber paths"; + } + leaf total-ipv4rpf-neighbors { + type uint32; + description + "Total number of IPv4 RPF Neighbors"; + } + leaf total-ipv6rpf-neighbors { + type uint32; + description + "Total number of IPv6 RPF Neighbors"; + } + leaf num-rewrite-rpf-neighbors { + type uint32; + description + "Number of rewrites with RPF Neighbors"; + } + leaf total-dmtc-intf { + type uint32; + description + "Total number of DMTC External Interfaces"; + } + leaf total-label-range { + type uint32; + description + "Total number of Label Ranges"; + } + leaf total-evpn-paths { + type uint32; + description + "Total number of EVPN paths"; + } + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + } + + grouping MPLS-LSD-RW-ID-LOC-LBL { + description + "Rewrite ID local label"; + list label-data { + description + "label data"; + leaf entry { + type uint32; + description + "label data"; + } + } + } + + grouping MPLS-LSD-RW-ID-GEN { + description + "MPLS LSD RW ID GEN"; + container label-context { + when "../rewrite-id-type = 'mgmt-lsd-rw-id-type-lbl-ctx'" { + description + "../RewriteIDType = + 'MGMT_LSD_RW_ID_TYPE_LBL_CTX'"; + } + description + "Label context"; + uses MPLS-LSD-LBL-CTX-KEY; + } + container local-label-rewrite { + when "../rewrite-id-type = 'mgmt-lsd-rw-id-type-loc-lbl'" { + description + "../RewriteIDType = + 'MGMT_LSD_RW_ID_TYPE_LOC_LBL'"; + } + description + "Local label rewrite information"; + uses MPLS-LSD-RW-ID-LOC-LBL; + } + leaf rewrite-id-type { + type Mgmt-lsd-rw-id; + description + "RewriteIDType"; + } + } + + grouping MPLS-LSD-RW-ID { + description + "Rewrite ID"; + container rewrite-id { + description + "Rewrite ID"; + uses MPLS-LSD-RW-ID-GEN; + } + } + + grouping MPLS-LSD-MOI-EVPN { + description + "EVPN MOI information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing Interface name"; + } + leaf afi { + type Mgmt-lsd-afi; + description + "Address Family Identifier"; + } + leaf ipv4-next-hop { + type inet:ipv4-address; + description + "IPv4 nexthop"; + } + leaf ipv6-next-hop { + type inet:ipv6-address; + description + "IPv6 nexthop"; + } + leaf out-binding-sid { + type uint32; + description + "Outgoing BindingSID"; + } + leaf path-id { + type uint16; + description + "Routing path id"; + } + leaf backup-path-id { + type uint16; + description + "Routing path backup id"; + } + leaf out-label { + type uint32; + description + "Outgoing Label"; + } + leaf out-label-name { + type string; + description + "Outgoing label name"; + } + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf tunnel-type { + type Mgmt-lsd-tun; + description + "Tunnel Type"; + } + } + + grouping MPLS-LSD-MOI-LABEL-RANGE { + description + "Label Range MOI information"; + leaf start-label-active { + type uint32; + description + "Active Label Range Start"; + } + leaf end-label-active { + type uint32; + description + "Active Label Range End"; + } + } + + grouping MPLS-LSD-MOI-IPV6-NNH-STACK { + description + "IPv6 NNH STACK MOI information"; + container ipv6-stack { + description + "IPv6 stack"; + uses MPLS-LSD-MOI-IPV6-STACK; + } + list neighbor-next-hop { + description + "List of Neighbor Next Hops"; + uses MPLS-LSD-MOI-NNH; + } + } + + grouping MPLS-LSD-MOI-NNH { + description + "IPV4/IPV6 NNH installed in LSD"; + leaf nnh-type { + type Mpls-lsd-nnh; + description + "nnh type"; + } + leaf address { + when "../nnh-type = 'ipv4-address'" { + description + "../nnh_type = 'IPv4Address'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf interface-name { + when "../nnh-type = 'interface-name'" { + description + "../nnh_type = 'InterfaceName'"; + } + type xr:Interface-name; + description + "Interface name"; + } + } + + grouping MPLS-LSD-MOI-IPV4-NNH-STACK { + description + "IPv4 NNH STACK MOI information"; + container ipv4-stack { + description + "IPv4 stack"; + uses MPLS-LSD-MOI-IPV4-STACK; + } + list neighbor-next-hop { + description + "List of Neighbor Next Hops"; + uses MPLS-LSD-MOI-NNH; + } + } + + grouping MPLS-LSD-MOI-DMTC-EXT-INTF { + description + "Demand Matrix Traffic-Collector MOI information"; + leaf dmtc-ext-ifh { + type xr:Interface-name; + description + "DMTC External Interface"; + } + } + + grouping MPLS-LSD-MOI-TE-HEAD { + description + "TE Head MOI"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf tunnel-local-label { + type uint32; + description + "Tunnel local label"; + } + leaf tunnel-local-label-str { + type string; + description + "Tunnel local label stringified"; + } + leaf tunnel-fwd-class { + type uint8; + description + "Tunnel forwarding class"; + } + leaf tunnel-load-metric { + type uint32; + description + "Tunnel Load metric"; + } + leaf flags-decode { + type string; + description + "Flags decoded string"; + } + } + + grouping MPLS-LSD-IPV6-LARGE-LABEL-STACK { + description + "IPv6 Split stack"; + container recycle-nexthop { + description + "Recycle Nexthop"; + uses MPLS-LSD-MOI-IPV6; + } + container recycle-inner-stack { + description + "Recycle inner stack (the portion of the stack + moved into the recycle rewrite after split)"; + uses MPLS-LSD-MOI-IPV6-INNER-STACK; + } + container modified-inner-stack { + description + "Modified inner stack (the portion of the stack + that remains after stack split)"; + uses MPLS-LSD-MOI-IPV6-INNER-STACK; + } + leaf recycle-label { + type uint32; + description + "Recycle Label"; + } + } + + grouping MPLS-LSD-MOI-IPV6-INNER-STACK { + description + "IPv6 Inner stack for a Multi-Label MOI + information"; + leaf num-nexthops { + type uint8; + description + "Number of remote nexthop addresses"; + } + leaf num-lbls { + type uint8; + description + "Depth of inner label stack"; + } + leaf flags { + type uint16; + description + "Inner stack flags"; + } + list nexthop { + max-elements "2"; + description + "Remote nexthop addresses"; + leaf entry { + type Lsd-ipv6-address; + description + "Remote nexthop addresses"; + } + } + list label { + max-elements "12"; + description + "Info related to outgoing labels"; + uses MPLS-LSD-MOI-OUT-LABEL-INFO; + } + } + + grouping MPLS-LSD-MOI-IPV6-STACK { + description + "IPv6 Multi-Label MOI information"; + container nexthop { + description + "Nexthop"; + uses MPLS-LSD-MOI-IPV6; + } + container inner-stack { + description + "Inner stack"; + uses MPLS-LSD-MOI-IPV6-INNER-STACK; + } + container split-stack-info { + description + "Split Stack Info"; + uses MPLS-LSD-IPV6-LARGE-LABEL-STACK; + } + leaf recycle-present { + type int32; + description + "Flag to indicate if a recycle label is present"; + } + } + + grouping MPLS-LSD-IPV4-LARGE-LABEL-STACK { + description + "IPv4 Split stack"; + container recycle-nexthop { + description + "Recycle Nexthop"; + uses MPLS-LSD-MOI-IPV4; + } + container recycle-inner-stack { + description + "Recycle inner stack (the portion of the stack + moved into the recycle rewrite after split)"; + uses MPLS-LSD-MOI-IPV4-INNER-STACK; + } + container modified-inner-stack { + description + "Modified inner stack (the portion of the stack + that remains after stack split)"; + uses MPLS-LSD-MOI-IPV4-INNER-STACK; + } + leaf recycle-label { + type uint32; + description + "Recycle Label"; + } + } + + grouping MPLS-LSD-MOI-OUT-LABEL-INFO { + description + "Generic info for an outgoing/remote label"; + leaf outgoing-label { + type uint32; + description + "Remote Label"; + } + leaf outgoing-label-str { + type string; + description + "Remote Label string"; + } + } + + grouping MPLS-LSD-MOI-IPV4-INNER-STACK { + description + "IPv4 Inner stack for a Multi-Label MOI + information"; + leaf num-nexthops { + type uint8; + description + "Number of remote nexthop addresses"; + } + leaf num-lbls { + type uint8; + description + "Depth of inner label stack"; + } + leaf flags { + type uint16; + description + "Inner stack flags"; + } + list nexthop { + max-elements "2"; + description + "Remote nexthop addresses"; + leaf entry { + type inet:ipv4-address; + description + "Remote nexthop addresses"; + } + } + list label { + max-elements "12"; + description + "Info related to outgoing labels"; + uses MPLS-LSD-MOI-OUT-LABEL-INFO; + } + } + + grouping MPLS-LSD-MOI-IPV4-STACK { + description + "IPv4 Multi-Label MOI information"; + container nexthop { + description + "Nexthop"; + uses MPLS-LSD-MOI-IPV4; + } + container inner-stack { + description + "Inner stack"; + uses MPLS-LSD-MOI-IPV4-INNER-STACK; + } + container split-stack-info { + description + "Split Stack Info"; + uses MPLS-LSD-IPV4-LARGE-LABEL-STACK; + } + leaf owner-application-type { + type Mgmt-lsd-app; + description + "Owner application type"; + } + leaf recycle-present { + type int32; + description + "Flag to indicate if a recycle label is present"; + } + } + + grouping MPLS-LSD-MOI-PW-LIST { + description + "Pseudo-wire Head-end List MOI information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf l3-interface { + type xr:Interface-name; + description + "Pseudo-wire Layer 3 interface"; + } + leaf l2-interface { + type xr:Interface-name; + description + "Pseudo-wire Layer 2 interface"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + } + + grouping MPLS-LSD-MOI-PWHE { + description + "Pseudo-wire Head-end MOI information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing interface name"; + } + leaf out-label { + type uint32; + description + "Outgoing Label"; + } + leaf ipv4-next-hop { + type inet:ipv4-address; + description + "IPv4 nexthop"; + } + leaf control-word { + type int32; + description + "Is control word present"; + } + leaf imposition { + type int32; + description + "Is PWHE IMposition"; + } + leaf vctype { + type uint8; + description + "Virtual Circuit Type"; + } + leaf pw-list-id { + type uint16; + description + "Pseudo-wire List Identifier"; + } + leaf pwhe-interface { + type xr:Interface-name; + description + "Pseudo-wire Head-end interface"; + } + leaf out-binding-sid { + type uint32; + description + "Outgoing BindingSID"; + } + } + + grouping MPLS-LSD-MOI-IP-SUB { + description + "IP sub MOI"; + leaf table-id { + type uint32; + description + "VRF table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing interface"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + } + + grouping MPLS-LSD-MOI-PW { + description + "Pseudo-wire MOI information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing interface name"; + } + leaf out-label { + type uint32; + description + "Outgoing Label"; + } + leaf cross-connect-id { + type uint32; + description + "Cross-connect ID"; + } + leaf pseuodo-wire-connect-id { + type uint32; + description + "PseudoWire Cross-connect ID"; + } + leaf ipv4-next-hop { + type inet:ipv4-address; + description + "IPv4 nexthop"; + } + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf split-horizon-id { + type uint32; + description + "Split horizon group ID"; + } + } + + grouping MPLS-LSD-MOI-TEV4 { + description + "TEv4 MOI information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing interface name"; + } + leaf out-label { + type uint32; + description + "Outgoing label"; + } + leaf out-label-name { + type string; + description + "Outgoing label name"; + } + leaf ipv4-next-hop { + type inet:ipv4-address; + description + "IPv4 nexthop"; + } + leaf backup-interface { + type xr:Interface-name; + description + "Backup interface name"; + } + leaf backup-ipv4-next-hop { + type inet:ipv4-address; + description + "Backup IPv4 nexthop"; + } + leaf merge-point-label { + type uint32; + description + "Merge point label"; + } + leaf backup-local-label { + type uint32; + description + "Backup local label"; + } + leaf tunnel-interface { + type xr:Interface-name; + description + "Tunnel interface name"; + } + leaf tunnel-weight { + type uint32; + description + "Tunnel weight"; + } + leaf data-out-parent-interface { + type xr:Interface-name; + description + "Outgoing data parent interface name"; + } + leaf tunnel-class { + type uint32; + description + "Tunnel class"; + } + leaf ipv4-next-next-hop { + type inet:ipv4-address; + description + "IPv4 next nexthop"; + } + } + + grouping MPLS-LSD-MOI-IPV6 { + description + "IPv6 MOI information"; + container path-qos-info { + description + "Path QoS Information"; + uses MPLS-LSD-IP-MOI-PATH-QOS; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing interface name"; + } + leaf out-label { + type uint32; + description + "Outgoing label"; + } + leaf out-label-name { + type string; + description + "Outgoing label name"; + } + leaf ipv6-next-hop { + type Lsd-ipv6-address; + description + "IPv6 nexthop"; + } + leaf path-id { + type uint16; + description + "Routing path id"; + } + leaf is-path-qos-set { + type int32; + description + "Flag to indicate if path QoS is set"; + } + leaf backup-path-id { + type uint16; + description + "Routing path backup id"; + } + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf tunnel-type { + type uint16; + description + "Tunnel Type"; + } + leaf next-hop-id { + type uint32; + description + "Next hop ID"; + } + leaf out-interface-parent { + type xr:Interface-name; + description + "Name of outgoing interface's parent"; + } + leaf minimum-recurse-length { + type uint8; + description + "Minimum netmask length of recursive resolving + route"; + } + leaf load-metric { + type uint32; + description + "Routing path's load metric"; + } + leaf out-binding-sid { + type uint32; + description + "Outgoing BindingSID"; + } + } + + grouping MPLS-LSD-MOI-IPV4 { + description + "IPv4 MOI information"; + container path-qos-info { + description + "Path QoS Information"; + uses MPLS-LSD-IP-MOI-PATH-QOS; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf out-interface { + type xr:Interface-name; + description + "Outgoing Interface name"; + } + leaf out-interface-parent { + type xr:Interface-name; + description + "Outgoing Interface's parent name"; + } + leaf ipv4-next-hop { + type inet:ipv4-address; + description + "IPv4 nexthop"; + } + leaf out-binding-sid { + type uint32; + description + "Outgoing BindingSID"; + } + leaf path-id { + type uint16; + description + "Routing path id"; + } + leaf is-path-qos-set { + type int32; + description + "Flag to indicate if path QoS is set"; + } + leaf backup-path-id { + type uint16; + description + "Routing path backup id"; + } + leaf load-metric { + type uint32; + description + "Routing path's load metric"; + } + leaf out-label { + type uint32; + description + "Outgoing Label"; + } + leaf out-label-name { + type string; + description + "Outgoing label name"; + } + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf tunnel-type { + type uint16; + description + "Tunnel Type"; + } + leaf next-hop-id { + type uint32; + description + "Next hop ID"; + } + leaf local-label { + type uint32; + description + "TE backup path local label"; + } + leaf minimum-recurse-length { + type uint8; + description + "Minimum netmask length of recursive resolving + route"; + } + } + + grouping MPLS-LSD-MOI-POP-AND-LKUP-TP { + description + "Pop and lookup MOI for TP information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf out-label { + type uint32; + description + "Outgoing Label"; + } + } + + grouping MPLS-LSD-IP-MOI-PATH-QOS { + description + "IP MOI path QoS information"; + leaf type { + type string; + description + "Path QoS Type"; + } + leaf value { + type uint8; + description + "Path Qos Value"; + } + leaf is-default { + type int32; + description + "Is path's qos value equal to the default value"; + } + } + + grouping MPLS-LSD-MOI-POP-AND-LKUP { + description + "Pop and lookup MOI information"; + container path-qos-info { + description + "Path QoS Information"; + uses MPLS-LSD-IP-MOI-PATH-QOS; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf table-name { + type string; + description + "VRF table name"; + } + leaf path-flags-decode { + type string; + description + "Path flag decoded string"; + } + leaf is-path-qos-set { + type int32; + description + "Flag to indicate if path QoS is set"; + } + } + + grouping MPLS-LSD-MOI-GEN { + description + "MPLS LSD MOI GEN"; + container pop-and-lookup-ipv4 { + when "../moi-type = 'mgmt-lsd-moi-type-pop-and-lkup-ipv4'" { + description + "../MoiType = + 'MGMT_LSD_MOI_TYPE_POP_AND_LKUP_IPV4'"; + } + description + "Pop-and-lookup IPv4 moi"; + uses MPLS-LSD-MOI-POP-AND-LKUP; + } + container pop-and-lookup-tp { + when "../moi-type = 'mgmt-lsd-moi-type-pop-and-lkup-tp'" { + description + "../MoiType = + 'MGMT_LSD_MOI_TYPE_POP_AND_LKUP_TP'"; + } + description + "Pop-and-lookup TP moi"; + uses MPLS-LSD-MOI-POP-AND-LKUP-TP; + } + container pop-and-lookup-ipv6 { + when "../moi-type = 'mgmt-lsd-moi-type-pop-and-lkup-ipv6'" { + description + "../MoiType = + 'MGMT_LSD_MOI_TYPE_POP_AND_LKUP_IPV6'"; + } + description + "Pop-and-lookup IPv6 moi"; + uses MPLS-LSD-MOI-POP-AND-LKUP; + } + container ipv4-data { + when "../moi-type = 'mgmt-lsd-moi-type-ipv4'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV4'"; + } + description + "IPV4 moi"; + uses MPLS-LSD-MOI-IPV4; + } + container ipv6-data { + when "../moi-type = 'mgmt-lsd-moi-type-ipv6'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV6'"; + } + description + "IPv6 moi"; + uses MPLS-LSD-MOI-IPV6; + } + container tev4-data { + when "../moi-type = 'mgmt-lsd-moi-type-tev4'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_TEV4'"; + } + description + "TEV4 moi"; + uses MPLS-LSD-MOI-TEV4; + } + container pseudowire-data { + when "../moi-type = 'mgmt-lsd-moi-type-pw'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_PW'"; + } + description + "Pseudo-wire moi"; + uses MPLS-LSD-MOI-PW; + } + container ip-sub-data { + when "../moi-type = 'mgmt-lsd-moi-type-ip-sub'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_IP_SUB'"; + } + description + "IP Subscriber moi"; + uses MPLS-LSD-MOI-IP-SUB; + } + container pseudowire-head-end-data { + when "../moi-type = 'mgmt-lsd-moi-type-pwhe'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_PWHE'"; + } + description + "Pseudo-wire head end moi"; + uses MPLS-LSD-MOI-PWHE; + } + container pw-list-data { + when "../moi-type = 'mgmt-lsd-moi-type-pw-list'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_PW_LIST'"; + } + description + "Pseudo-wire list moi"; + uses MPLS-LSD-MOI-PW-LIST; + } + container stackv4-data { + when "../moi-type = 'mgmt-lsd-moi-type-ipv4-stack'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV4_STACK'"; + } + description + "IPv4 stack moi"; + uses MPLS-LSD-MOI-IPV4-STACK; + } + container stackv6-data { + when "../moi-type = 'mgmt-lsd-moi-type-ipv6-stack'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV6_STACK'"; + } + description + "IPv6 stack moi"; + uses MPLS-LSD-MOI-IPV6-STACK; + } + container te-head-data { + when "../moi-type = 'mgmt-lsd-moi-type-te-head'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_TE_HEAD'"; + } + description + "Traffic Engineering head moi"; + uses MPLS-LSD-MOI-TE-HEAD; + } + container dmtc-data { + when "../moi-type = 'mgmt-lsd-moi-type-dmtc-ext-intf'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_DMTC_EXT_INTF'"; + } + description + "Demand Matrix Traffic-Collector (DMTC) moi"; + uses MPLS-LSD-MOI-DMTC-EXT-INTF; + } + container nnh-stackv4-data { + when "../moi-type = 'mgmt-lsd-moi-type-ipv4-nnh-stack'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV4_NNH_STACK'"; + } + description + "IPv4 Next-Next-Hop Stack moi"; + uses MPLS-LSD-MOI-IPV4-NNH-STACK; + } + container nnh-stackv6-data { + when "../moi-type = 'mgmt-lsd-moi-type-ipv6-nnh-stack'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV6_NNH_STACK'"; + } + description + "IPv6 Next-Next-Hop Stack moi"; + uses MPLS-LSD-MOI-IPV6-NNH-STACK; + } + container label-range { + when "../moi-type = 'mgmt-lsd-moi-type-label-range'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_LABEL_RANGE'"; + } + description + "Label range moi"; + uses MPLS-LSD-MOI-LABEL-RANGE; + } + container evpn-data { + when "../moi-type = 'mgmt-lsd-moi-type-evpn'" { + description + "../MoiType = 'MGMT_LSD_MOI_TYPE_EVPN'"; + } + description + "EVPN moi"; + uses MPLS-LSD-MOI-EVPN; + } + leaf moi-type { + type Mgmt-lsd-moi; + description + "MoiType"; + } + } + + grouping MPLS-LSD-MOI { + description + "LSD MOI"; + container moi { + description + "Moi"; + uses MPLS-LSD-MOI-GEN; + } + leaf mpls-feid { + type uint64; + description + "FIB per-path mpls encap id"; + } + } + + grouping MPLS-LSD-MOI-ARR { + description + "LSD MOI array"; + container application-resource { + description + "Application state"; + uses MPLS-LSD-APP-RSRC-STATE; + } + list moi-array { + description + "moi array"; + uses MPLS-LSD-MOI; + } + } + + grouping MPLS-LSD-V6-RPF { + description + "LSD V6 RPF"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf v6-rpf-neighbor { + type Lsd-ipv6-address; + description + "V6 RPF Neighbor"; + } + } + + grouping MPLS-LSD-V4-RPF { + description + "LSD V4 RPF"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf v4-rpf-neighbor { + type inet:ipv4-address; + description + "V4 RPF Neighbor"; + } + } + + grouping MPLS-LSD-FPI-LABEL-RANGE { + description + "Label range FPI information"; + leaf type { + type uint8; + description + "Label Range Type"; + } + leaf index { + type uint8; + description + "Label Ranged Index"; + } + } + + grouping MPLS-LSD-FPI-DMTC-EXT-INTF { + description + "Demand Matrix Traffic-Collector (DMTC) Ext Intf + FPI information"; + leaf dmtc-ext-ifh { + type xr:Interface-name; + description + "DMTC External Interface"; + } + } + + grouping MPLS-LSD-FPI-PW-LIST { + description + "Pseudo-wire list FPI information"; + leaf pwhe-list-id { + type uint16; + description + "Pseudowire List Identifier"; + } + } + + grouping MPLS-LSD-FPI-IPV6 { + description + "IPv6 FPI information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf prefix { + type Lsd-ipv6-address; + description + "IPv6 route prefix for the FPI"; + } + leaf router-flags { + type uint32; + description + "Route flags"; + } + leaf prefix-len { + type uint8; + description + "Length of the subnet prefix"; + } + leaf version { + type uint32; + description + "FPI Version"; + } + } + + grouping MPLS-LSD-FPI-IPV4 { + description + "IPv4 FPI information"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf prefix { + type inet:ipv4-address; + description + "IPv4 route prefix for the FPI"; + } + leaf prefix-length { + type uint8; + description + "Length of the subnet prefix"; + } + leaf version { + type uint32; + description + "FPI version"; + } + leaf sr-local-label { + type uint32; + description + "SR related Local label"; + } + } + + grouping MPLS-LSD-FPI-TE { + description + "TE FPI information"; + leaf tunnel-interface { + type xr:Interface-name; + description + "Tunnel interface name"; + } + leaf local-label { + type uint32; + description + "Local label"; + } + } + + grouping MPLS-LSD-FPI-LBL { + description + "Label FPI information"; + leaf label { + type uint32; + description + "Label value"; + } + leaf security-id { + type uint32; + description + "Security ID"; + } + leaf elc { + type int32; + description + "ELC"; + } + leaf label-flags { + type uint32; + description + "Label Flags"; + } + } + + grouping MPLS-LSD-FPI-GEN { + description + "MPLS LSD FPI GEN"; + container label-data { + when "../fpi-type = 'mgmt-lsd-fpi-type-label'" { + description + "../FPIType = 'MGMT_LSD_FPI_TYPE_LABEL'"; + } + description + "Label FPI"; + uses MPLS-LSD-FPI-LBL; + } + container te-data { + when "../fpi-type = 'mgmt-lsd-fpi-type-te'" { + description + "../FPIType = 'MGMT_LSD_FPI_TYPE_TE'"; + } + description + "TE FPI"; + uses MPLS-LSD-FPI-TE; + } + container ipv4-data { + when "../fpi-type = 'mgmt-lsd-fpi-type-ipv4'" { + description + "../FPIType = 'MGMT_LSD_FPI_TYPE_IPV4'"; + } + description + "IPv4 FPI"; + uses MPLS-LSD-FPI-IPV4; + } + container ipv6-data { + when "../fpi-type = 'mgmt-lsd-fpi-type-ipv6'" { + description + "../FPIType = 'MGMT_LSD_FPI_TYPE_IPV6'"; + } + description + "IPv6 FPI"; + uses MPLS-LSD-FPI-IPV6; + } + container pw-list-data { + when "../fpi-type = 'mgmt-lsd-fpi-type-pw-list'" { + description + "../FPIType = 'MGMT_LSD_FPI_TYPE_PW_LIST'"; + } + description + "Pseudo-wire list FPI"; + uses MPLS-LSD-FPI-PW-LIST; + } + container dmtc-ext-intf-data { + when "../fpi-type = 'mgmt-lsd-fpi-type-dmtc-ext-intf'" { + description + "../FPIType = 'MGMT_LSD_FPI_TYPE_DMTC_EXT_INTF'"; + } + description + "Demand Matrix Traffic-Collector (DMTC) FPI"; + uses MPLS-LSD-FPI-DMTC-EXT-INTF; + } + container label-range { + when "../fpi-type = 'mgmt-lsd-fpi-type-label-range'" { + description + "../FPIType = 'MGMT_LSD_FPI_TYPE_LABEL_RANGE'"; + } + description + "Label range FPI"; + uses MPLS-LSD-FPI-LABEL-RANGE; + } + leaf fpi-type { + type Mgmt-lsd-fpi; + description + "FPIType"; + } + } + + grouping MPLS-LSD-FPI { + description + "LSD FPI"; + container fpi { + description + "FPI"; + uses MPLS-LSD-FPI-GEN; + } + list application-owner { + description + "Application owner instance"; + uses MPLS-LSD-APP-RSRC-STATE; + } + } + + grouping MPLS-LSD-RW { + description + "Rewrite information"; + container fpi-key { + description + "fpi key"; + uses MPLS-LSD-FPI; + } + container rewrite-id { + description + "Rewrite ID"; + uses MPLS-LSD-RW-ID; + } + leaf rewrite-version { + type uint64; + description + "Rewrite version"; + } + leaf bcdl-priority { + type uint8; + description + "BCDL Priority"; + } + leaf lsd-queue { + type uint8; + description + "LSD queue"; + } + leaf rw-install-time { + type uint64; + description + "Rewrite install timestamp"; + } + leaf rw-install-age { + type uint64; + description + "Rewrite install age"; + } + leaf rw-updated { + type int32; + description + "Is rewrite ever updated"; + } + leaf priority-updated { + type int32; + description + "Is rewrite's BCDL priority updated"; + } + leaf rw-redist { + type int32; + description + "Is Rewrite redistributed"; + } + leaf prefix-feid { + type uint64; + description + "FIB per-prefix encap id"; + } + list associated-fpi { + description + "Associated FPI"; + uses MPLS-LSD-FPI; + } + list v4-rpf { + description + "IPv4 RPF neighbors"; + uses MPLS-LSD-V4-RPF; + } + list v6-rpf { + description + "IPv6 RPF neighbors"; + uses MPLS-LSD-V6-RPF; + } + list mois { + description + "Mois"; + uses MPLS-LSD-MOI-ARR; + } + } + + grouping MPLS-LSD-FRR-DB-SUM { + description + "FRR summary"; + leaf active { + type uint32; + description + "Number of FRR rewrites in Active state"; + } + leaf ready { + type uint32; + description + "Number of FRR rewrites in Ready state"; + } + leaf partial { + type uint32; + description + "Number of FRR rewrites in Partial state"; + } + leaf igp { + type uint32; + description + "Number of FRR rewrites in IGP state for SR-TE"; + } + } + + grouping MPLS-LSD-FRR-OUT-PATH { + description + "FRR out path entry"; + leaf out-interface { + type xr:Interface-name; + description + "Outgoing interface"; + } + leaf out-label { + type uint32; + description + "Outgoing label"; + } + leaf ipv4-next-hop { + type inet:ipv4-address; + description + "Next hop IPv4 address"; + } + leaf frr-interface { + type xr:Interface-name; + description + "FRR interface"; + } + leaf frr-label { + type uint32; + description + "FRR output label"; + } + } + + grouping MPLS-LSD-FRR-DB-ENTRY-MID-ID { + description + "FRR midpoint information"; + leaf source-address { + type inet:ipv4-address; + description + "Source IPv4 address"; + } + leaf lspid { + type uint32; + description + "LSP ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + } + + grouping MPLS-LSD-FRR-DB-ENTRY-HEAD-ID { + description + "FRR head information"; + leaf destination-prefix { + type inet:ipv4-address; + description + "Destination prefix for the FRR head"; + } + leaf destination-prefix-length { + type uint8; + description + "Length of the destination subnet prefix"; + } + } + + grouping MPLS-LSD-FRR-DB-ENTRY-GEN-ID { + description + "MPLS LSD FRR DB ENTRY GEN ID"; + container head { + when "../role = 'mgmt-lsd-lsp-role-head'" { + description + "../Role = 'MGMT_LSD_LSP_ROLE_HEAD'"; + } + description + "FRR head"; + uses MPLS-LSD-FRR-DB-ENTRY-HEAD-ID; + } + container midpoint { + when "../role = 'mgmt-lsd-lsp-role-mid'" { + description + "../Role = 'MGMT_LSD_LSP_ROLE_MID'"; + } + description + "FRR midpoint"; + uses MPLS-LSD-FRR-DB-ENTRY-MID-ID; + } + leaf role { + type Mgmt-lsd-lsp-role; + description + "Role"; + } + } + + grouping MPLS-LSD-FRR-DB-ENTRY { + description + "FRR entry"; + container frr-entry-id { + description + "FRR entry ID"; + uses MPLS-LSD-FRR-DB-ENTRY-GEN-ID; + } + leaf tunnel-interface { + type xr:Interface-name; + description + "Tunnel interface name"; + } + leaf input-label { + type uint32; + description + "Input label"; + } + leaf entry-frr-state { + type Mgmt-lsd-frr-state; + description + "MPLS FRR entry state"; + } + list out-path { + description + "Out Path List"; + uses MPLS-LSD-FRR-OUT-PATH; + } + } + + grouping MPLS-LSD-LBL-CTX-SFI { + description + "SFI label context"; + leaf sfi-interface { + type xr:Interface-name; + description + "SFI interface"; + } + leaf sfi-name { + type string { + length "0..41"; + } + description + "SFI name"; + } + leaf sfi-disposition-protocol { + type uint32; + description + "SFI Disposition protocol"; + } + } + + grouping MPLS-LSD-LBL-CTX-LBL-BLK-PFP { + description + "Label block PFP context"; + leaf start-label { + type uint32; + description + "Starting label of label block"; + } + leaf offset { + type uint32; + description + "Offset from starting label of label block"; + } + leaf size { + type uint32; + description + "Size of label block"; + } + leaf owner-app-name { + type string { + length "0..48"; + } + description + "Owner Application Name"; + } + } + + grouping MPLS-LSD-LBL-CTX-SR-PFX-NODE { + description + "SR Prefix Node context"; + leaf segment-routing-label { + type uint32; + description + "Prefix Node Label"; + } + } + + grouping MPLS-LSD-LBL-CTX-LBL-BLK-BIER { + description + "Label BIER context"; + leaf block-length { + type uint32; + description + "Size of label block"; + } + leaf sub-domain-id { + type uint32; + description + "Subdomain ID"; + } + leaf bit-stream-length { + type uint32; + description + "Bit Stream Length"; + } + leaf afi { + type uint16; + description + "Address Family Identifier"; + } + } + + grouping MPLS-LSD-LBL-CTX-SRTE-NH-LABEL-SET { + description + "SRTE NH label set context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf next-hop-set-id { + type uint32; + description + "Next Hop Set ID"; + } + leaf type { + type Mgmt-lsd-lbl-alloc-table; + description + "Next Hop Table Type"; + } + } + + grouping MPLS-LSD-LBL-CTX-LBL-BLK-CBF { + description + "Label block CBF context"; + leaf start-label { + type uint32; + description + "Starting label of label block"; + } + leaf offset { + type uint32; + description + "Offset from starting label of label block"; + } + leaf size { + type uint32; + description + "Size of label block"; + } + leaf owner-app-name { + type string { + length "0..48"; + } + description + "Owner Application Name"; + } + } + + grouping MPLS-LSD-LBL-CTX-RECYCLE-LBL { + description + "Recycle lbl context"; + leaf grid-id { + type uint64; + description + "Grid ID"; + } + } + + grouping MPLS-LSD-LBL-CTX-LBL-BLK-SRLB { + description + "Label block SRLB context"; + leaf start-label { + type uint32; + description + "Start Label"; + } + leaf offset { + type uint32; + description + "Offset"; + } + leaf size { + type uint32; + description + "Number of labels"; + } + } + + grouping MPLS-LSD-LBL-CTX-TE-BINDING { + description + "Traffic Engineering Binding context"; + leaf te-identifier { + type uint32; + description + "MPLS Traffic Engineering Tunnel or Group ID"; + } + leaf te-type { + type Mgmt-lsd-te-binding; + description + "Type of identifier for the binding"; + } + } + + grouping MPLS-LSD-LBL-CTX-LBL-BLK-SRGB { + description + "Label block SRGB context"; + leaf start-label { + type uint32; + description + "Start Label"; + } + leaf offset { + type uint32; + description + "Offset"; + } + leaf size { + type uint32; + description + "Number of labels"; + } + } + + grouping MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV6 { + description + "SR Adj Segment ipv6 context"; + leaf index { + type uint32; + description + "Adjacency index"; + } + leaf type { + type uint32; + description + "Adjacency type"; + } + leaf intf { + type xr:Interface-name; + description + "Adjacency interface"; + } + leaf addr { + type Lsd-ipv6-address; + description + "Adjacency nexthop IPv6 address"; + } + } + + grouping MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV4 { + description + "SR Adj Segment ipv4 context"; + leaf index { + type uint32; + description + "Adjacency index"; + } + leaf type { + type uint32; + description + "Adjacency type"; + } + leaf intf { + type xr:Interface-name; + description + "Adjacency interface"; + } + leaf addr { + type inet:ipv4-address; + description + "Adjacency nexthop IPv4 address"; + } + } + + grouping MPLS-LSD-LBL-CTX-SR-PFX-SEG { + description + "SR Prefix Segment context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf segment-id { + type uint32; + description + "Prefix Segment ID"; + } + } + + grouping MPLS-LSD-LBL-CTX-L3VPN-NH-SET { + description + "L3VPN NH SET context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf next-hop-set-id { + type uint32; + description + "Next Hop Set ID"; + } + leaf type { + type Mgmt-lsd-lbl-alloc-table; + description + "Next Hop Table Type"; + } + } + + grouping MPLS-LSD-LBL-CTX-PIM-S-PMSI { + description + "PIM S-PMSI label context"; + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf source { + type inet:ipv4-address; + description + "Originating Router"; + } + leaf head { + type int32; + description + "Head"; + } + leaf v6 { + type int32; + description + "PIM6"; + } + leaf hli { + type uint32; + description + "Head LSM-ID"; + } + leaf seg { + type int32; + description + "Segmented Multicast"; + } + } + + grouping MPLS-LSD-LBL-CTX-PIM-I-PMSI { + description + "PIM I-PMSI label context"; + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf head { + type int32; + description + "Head"; + } + leaf v6 { + type int32; + description + "PIM6"; + } + } + + grouping MPLS-LSD-LBL-CTX-BLB-IPV6 { + description + "BFD BLB IPv6 content"; + leaf blb-intf { + type xr:Interface-name; + description + "BFD BLB interface"; + } + leaf prefix { + type Lsd-ipv6-address; + description + "IPv6 prefix"; + } + } + + grouping MPLS-LSD-LBL-CTX-BLB-IPV4 { + description + "BFD BLB IPv4 content"; + leaf blb-intf { + type xr:Interface-name; + description + "BFD BLB interface"; + } + leaf prefix { + type inet:ipv4-address; + description + "IPv4 prefix"; + } + } + + grouping MPLS-LSD-LBL-CTX-EVPN { + description + "EVPN context"; + leaf evpn-id { + type uint32; + description + "EVPN ID"; + } + leaf evpn-tag { + type uint32; + description + "EVPN TAG"; + } + leaf ethernet-segment { + type yang:hex-string; + description + "Ethernet Segment ID"; + } + leaf evpn-encap { + type uint8; + description + "EVPN Encap"; + } + } + + grouping MPLS-LSD-LBL-CTX-GRE-IPV6 { + description + "Generic routing encapsulation context"; + leaf greipv6-interface { + type xr:Interface-name; + description + "Generic routing encapsulation IPv6 interface"; + } + } + + grouping MPLS-LSD-LBL-CTX-GRE { + description + "Generic routing encapsulation context"; + leaf gre-interface { + type xr:Interface-name; + description + "Generic routing encapsulation interface"; + } + } + + grouping MPLS-LSD-LBL-CTX-TP { + description + "TP context"; + leaf source-global-id { + type uint32; + description + "TP source global ID"; + } + leaf source-node-id { + type inet:ipv4-address; + description + "TP source node ID"; + } + leaf dest-global-id { + type uint32; + description + "TP destination global ID"; + } + leaf dest-node-id { + type inet:ipv4-address; + description + "TP destination node ID"; + } + leaf source-tunnel-id { + type uint16; + description + "TP source tunnel ID"; + } + leaf dest-tunnel-id { + type uint16; + description + "TP destination tunnel ID"; + } + leaf lsp-id { + type uint16; + description + "TP LSP ID"; + } + } + + grouping MPLS-LSD-LBL-CTX-PWHE { + description + "Pseudo-wire Head-end context"; + leaf pwhe-intf { + type xr:Interface-name; + description + "Pseudo-wire Head-end interface"; + } + } + + grouping MPLS-LSD-LBL-CTX-MLDPV4 { + description + "MLDP IPv4 context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf type { + type uint16; + description + "LSM ID Type"; + } + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf peer-lsrid { + type inet:ipv4-address; + description + "Peer LSR Id"; + } + leaf peer-label-space-id { + type uint16; + description + "Peer Label Space Id"; + } + } + + grouping MPLS-LSD-LBL-CTX-TEV4-P2MP { + description + "TEv4 p2mp context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf tunnel-source { + type inet:ipv4-address; + description + "Tunnel source"; + } + leaf p2mp-id { + type uint32; + description + "Point to multipoint ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf tunnel-id-extension { + type uint32; + description + "Tunnel ID extension"; + } + leaf tunnel-lsp-id { + type uint32; + description + "Tunnel LSP ID"; + } + leaf previous-hop { + type inet:ipv4-address; + description + "Previous hop"; + } + } + + grouping MPLS-LSD-LBL-CTX-IP-SUB { + description + "IP subscriber context"; + leaf table-id { + type uint32; + description + "Table Id"; + } + leaf parent-interface { + type xr:Interface-name; + description + "Parent interface name"; + } + } + + grouping MPLS-LSD-LBL-CTX-LBL-BLK { + description + "Label block context"; + leaf service { + type uint8; + description + "Service"; + } + leaf vpn-id { + type uint16; + description + "VPN ID"; + } + leaf edge-id { + type uint16; + description + "Edge ID"; + } + leaf offset { + type uint32; + description + "Offset"; + } + leaf size { + type uint32; + description + "Number of labels"; + } + } + + grouping MPLS-LSD-LBL-CTX-PW { + description + "Pseudo-wire context"; + leaf prefix { + type inet:ipv4-address; + description + "Address prefix"; + } + leaf pseudowire-id { + type uint64; + description + "Pseudo-wire ID"; + } + leaf remote-l2-router-id { + type uint32; + description + "Remote L2 Router ID"; + } + leaf subinterface { + type xr:Interface-name; + description + "Sub-interface name for the Pseudo-wire label"; + } + } + + grouping MPLS-LSD-LBL-CTX-L3VPN-CEV6 { + description + "L3VPN CEv6 context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf ipv6-next-hop { + type Lsd-ipv6-address; + description + "IPv6 nexthop"; + } + leaf security-id { + type uint32; + description + "Security ID"; + } + } + + grouping MPLS-LSD-LBL-CTX-L3VPN-CEV4 { + description + "L3VPN CEv4 context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf ipv4-next-hop { + type inet:ipv4-address; + description + "IPv4 nexthop"; + } + leaf security-id { + type uint32; + description + "Security ID"; + } + } + + grouping MPLS-LSD-LBL-CTX-L3VPN-VRF { + description + "L3VPN vrf context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf security-id { + type uint32; + description + "Security ID"; + } + } + + grouping MPLS-LSD-LBL-CTX-L3VPN-IPV6 { + description + "L3VPN IPv6 context"; + leaf prefix { + type Lsd-ipv6-address; + description + "IPv6 prefix"; + } + leaf prefix-length { + type uint8; + description + "Length of the subnet prefix"; + } + leaf route-distinguisher { + type uint64; + description + "Route distinguisher"; + } + } + + grouping MPLS-LSD-LBL-CTX-L3VPN-IPV4 { + description + "L3VPN IPv4 context"; + leaf prefix { + type inet:ipv4-address; + description + "IPv4 prefix"; + } + leaf prefix-length { + type uint8; + description + "Length of the subnet prefix"; + } + leaf route-distinguisher { + type uint64; + description + "Route distinguisher"; + } + } + + grouping MPLS-LSD-LBL-CTX-TEV4 { + description + "LSD TEv4 context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf tunnel-source { + type inet:ipv4-address; + description + "Tunnel source"; + } + leaf tunnel-dest { + type inet:ipv4-address; + description + "Tunnel destination"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf tunnel-id-extension { + type uint32; + description + "Extended tunnel ID"; + } + leaf tunnel-lsp-id { + type uint32; + description + "Tunnel LSP ID"; + } + leaf is-srte { + type int32; + description + "Is this an SRTE head tunnel"; + } + } + + grouping MPLS-LSD-LBL-CTX-IPV6 { + description + "LSD IPv6 context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf prefix { + type inet:ipv6-address; + description + "IPv6 prefix"; + } + leaf prefix-length { + type uint8; + description + "Length of the subnet prefix"; + } + leaf security-id { + type uint32; + description + "Security ID"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF Name"; + } + } + + grouping MPLS-LSD-LBL-CTX-IPV4 { + description + "LSD IPv4 context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf prefix { + type inet:ipv4-address; + description + "IPv4 prefix"; + } + leaf prefix-length { + type uint8; + description + "Length of the subnet prefix"; + } + leaf security-id { + type uint32; + description + "Security ID"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF Name"; + } + } + + grouping MPLS-LSD-LBL-CTX-KEY { + description + "MPLS LSD LBL CTX KEY"; + container ipv4-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-ipv4'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_IPV4'"; + } + description + "IPv4 label context"; + uses MPLS-LSD-LBL-CTX-IPV4; + } + container ipv6-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-ipv6'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_IPV6'"; + } + description + "IPv6 label context"; + uses MPLS-LSD-LBL-CTX-IPV6; + } + container tev4-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-tev4'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_TEV4'"; + } + description + "TEv4 label context"; + uses MPLS-LSD-LBL-CTX-TEV4; + } + container ipv4l3vpn-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-ipv4'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_L3VPN_IPV4'"; + } + description + "L3VPN IPv4 label context"; + uses MPLS-LSD-LBL-CTX-L3VPN-IPV4; + } + container ipv6l3vpn-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-ipv6'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_L3VPN_IPV6'"; + } + description + "L3VPN IPv6 label context"; + uses MPLS-LSD-LBL-CTX-L3VPN-IPV6; + } + container vrf-l3vpn-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-vrf'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_L3VPN_VRF'"; + } + description + "L3VPN VRF label context"; + uses MPLS-LSD-LBL-CTX-L3VPN-VRF; + } + container cev4l3vpn-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-cev4'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_L3VPN_CEV4'"; + } + description + "L3VPN CEv4 label context"; + uses MPLS-LSD-LBL-CTX-L3VPN-CEV4; + } + container cev6l3vpn-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-cev6'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_L3VPN_CEV6'"; + } + description + "L3VPN CEv6 label context"; + uses MPLS-LSD-LBL-CTX-L3VPN-CEV6; + } + container pseudowire-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pw'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_PW'"; + } + description + "Pseudowire label context"; + uses MPLS-LSD-LBL-CTX-PW; + } + container label-block-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK'"; + } + description + "Label block context"; + uses MPLS-LSD-LBL-CTX-LBL-BLK; + } + container ip-sub-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-ip-sub'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_IP_SUB'"; + } + description + "IP Subscriber context"; + uses MPLS-LSD-LBL-CTX-IP-SUB; + } + container tev4p2mp-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-tev4-p2mp'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_TEV4_P2MP'"; + } + description + "TEv4 P2MP context"; + uses MPLS-LSD-LBL-CTX-TEV4-P2MP; + } + container mld-pv4-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-mldpv4'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_MLDPV4'"; + } + description + "MLDPv4 LSM-ID context"; + uses MPLS-LSD-LBL-CTX-MLDPV4; + } + container pseudowire-head-end-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pwhe'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_PWHE'"; + } + description + "Pseudowire Head-end label context"; + uses MPLS-LSD-LBL-CTX-PWHE; + } + container tp-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-tp'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_TP'"; + } + description + "TP context"; + uses MPLS-LSD-LBL-CTX-TP; + } + container generic-routing-encapsulation { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-gre'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_GRE'"; + } + description + "Generic routing encapsulation context"; + uses MPLS-LSD-LBL-CTX-GRE; + } + container ipv6-generic-routing-encapsulation { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-gre-ipv6'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_GRE_IPV6'"; + } + description + "Generic routing encapsulation context"; + uses MPLS-LSD-LBL-CTX-GRE-IPV6; + } + container evpn-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-evpn'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_EVPN'"; + } + description + "EVPN context"; + uses MPLS-LSD-LBL-CTX-EVPN; + } + container ipv4blb-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-blb-ipv4'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_BLB_IPV4'"; + } + description + "BFD BLB label context"; + uses MPLS-LSD-LBL-CTX-BLB-IPV4; + } + container ipv6blb-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-blb-ipv6'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_BLB_IPV6'"; + } + description + "BFD BLB label context"; + uses MPLS-LSD-LBL-CTX-BLB-IPV6; + } + container pi-mi-pmsi-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pim-i-pmsi'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_PIM_I_PMSI'"; + } + description + "PIM I-PMSI label conext"; + uses MPLS-LSD-LBL-CTX-PIM-I-PMSI; + } + container pi-ms-pmsi-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pim-s-pmsi'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_PIM_S_PMSI'"; + } + description + "PIM S-PMSI label conext"; + uses MPLS-LSD-LBL-CTX-PIM-S-PMSI; + } + container next-hop-set-l3vpn { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-nh-set'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_L3VPN_NH_SET'"; + } + description + "L3VPN NH SET label context"; + uses MPLS-LSD-LBL-CTX-L3VPN-NH-SET; + } + container sr-prefix-segment { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-pfx-seg'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_SR_PFX_SEG'"; + } + description + "SR Prefix Segment context"; + uses MPLS-LSD-LBL-CTX-SR-PFX-SEG; + } + container sr-adj-segment-ipv4 { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv4'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_SR_ADJ_SEG_IPV4'"; + } + description + "SR Adj Segment ipv4 context"; + uses MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV4; + } + container sr-adj-segment-ipv6 { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv6'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_SR_ADJ_SEG_IPV6'"; + } + description + "SR Adj Segment ipv6 context"; + uses MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV6; + } + container label-block-srgb-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-srgb'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_SRGB'"; + } + description + "Label block SRGB context"; + uses MPLS-LSD-LBL-CTX-LBL-BLK-SRGB; + } + container te-binding { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-te-binding'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_TE_BINDING'"; + } + description + "MPLS TE tunnel binding context"; + uses MPLS-LSD-LBL-CTX-TE-BINDING; + } + container label-block-srlb-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-srlb'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_SRLB'"; + } + description + "Label block SRLB context"; + uses MPLS-LSD-LBL-CTX-LBL-BLK-SRLB; + } + container recycle-label { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-recycle-lbl'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_RECYCLE_LBL'"; + } + description + "Label stack context"; + uses MPLS-LSD-LBL-CTX-RECYCLE-LBL; + } + container label-block-cbf-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-cbf'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_CBF'"; + } + description + "Label block CBF context"; + uses MPLS-LSD-LBL-CTX-LBL-BLK-CBF; + } + container next-hop-label-set-srte { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-srte-nh-label-set'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_SRTE_NH_LABEL_SET'"; + } + description + "SRTE NH label set context"; + uses MPLS-LSD-LBL-CTX-SRTE-NH-LABEL-SET; + } + container bier { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-bier'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_BIER'"; + } + description + "Label BIER context"; + uses MPLS-LSD-LBL-CTX-LBL-BLK-BIER; + } + container sr-pfx-node { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-pfx-node'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_SR_PFX_NODE'"; + } + description + "SR Prefix Node context"; + uses MPLS-LSD-LBL-CTX-SR-PFX-NODE; + } + container label-block-pfp-data { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-pfp'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_PFP'"; + } + description + "Label block PFP context"; + uses MPLS-LSD-LBL-CTX-LBL-BLK-PFP; + } + container sfi { + when "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sfi'" { + description + "../LabelContextType = + 'MGMT_LSD_LBL_CTX_TYPE_SFI'"; + } + description + "SFI label context"; + uses MPLS-LSD-LBL-CTX-SFI; + } + leaf label-context-type { + type Mgmt-lsd-lbl-ctx; + description + "LabelContextType"; + } + } + + grouping MPLS-LSD-LBL-CTX { + description + "Label context"; + container key { + description + "Label Key"; + uses MPLS-LSD-LBL-CTX-KEY; + } + leaf application-data { + type yang:hex-string; + description + "Application opaque data"; + } + } + + grouping MPLS-LSD-APP-RSRC-STATE { + description + "LSD application state"; + leaf application-name { + type string; + description + "Application name"; + } + leaf application-type { + type Mgmt-lsd-app; + description + "Application type"; + } + leaf application-role-primary { + type int32; + description + "Primary/Backup role"; + } + leaf application-instance { + type string; + description + "Application instance Name"; + } + leaf resource-state { + type Mgmt-lsd-app-rsrc-state; + description + "Application resource state"; + } + } + + grouping MPLS-LSD-LBL { + description + "Label information"; + container label-context { + description + "Label context"; + uses MPLS-LSD-LBL-CTX; + } + leaf label { + type uint32; + description + "Label value"; + } + leaf rewrite-is-bound { + type int32; + description + "Rewrite bound to label"; + } + leaf rewrite-owners { + type uint32; + description + "The applications that own of the rewrite bound + to the label"; + } + leaf rs-iconnected { + type int32; + description + "Is RSI connection open"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + list application-owner { + description + "The applications that own the label"; + uses MPLS-LSD-APP-RSRC-STATE; + } + } + + grouping MPLS-LSD-LBL-SUM-ELEM { + description + "Label summary"; + leaf application-type { + type Mgmt-lsd-app; + description + "Type of application owning the label"; + } + leaf application-name { + type string; + description + "Name of application owning the label"; + } + leaf application-role-primary { + type int32; + description + "Primary/Backup role"; + } + leaf application-instance { + type string; + description + "client-application identifier"; + } + leaf number-of-labels { + type uint32; + description + "Number of labels owned by the application"; + } + } + + grouping MPLS-LSD-LBL-SUM { + description + "Label statistics"; + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + leaf total-labels { + type uint32; + description + "Total number of labels"; + } + leaf rsi-connected { + type int32; + description + "Is RSI connection open"; + } + list owner-count { + description + "Label count by owner"; + uses MPLS-LSD-LBL-SUM-ELEM; + } + } + + grouping MPLS-LSD-CLIENT-BA { + description + "LSD bcdl client information"; + leaf client-conn-index { + type int32; + description + "BCDL Agent client connection index"; + } + leaf parent-client-conn-index { + type int32; + description + "BCDL Agent parent client connection index"; + } + } + + grouping MPLS-LSD-CLIENT-APP { + description + "LSD application client information"; + leaf application-name { + type string; + description + "Application name"; + } + leaf application-type { + type Mgmt-lsd-app; + description + "Application type"; + } + leaf application-instance { + type string; + description + "Application instance name"; + } + leaf application-role-primary { + type int32; + description + "Primary/Backup role"; + } + } + + grouping MGMT-MPLS-LSD-CLIENT-DATA { + description + "LSD client type information"; + container application { + when "../lsd-client-type = 'mgmt-lsd-client-type-app'" { + description + "../LSDClientType = 'MGMT_LSD_CLIENT_TYPE_APP'"; + } + description + "Application client"; + uses MPLS-LSD-CLIENT-APP; + } + container bcdl-agent { + when "../lsd-client-type = 'mgmt-lsd-client-type-ba'" { + description + "../LSDClientType = 'MGMT_LSD_CLIENT_TYPE_BA'"; + } + description + "BCDL agent client"; + uses MPLS-LSD-CLIENT-BA; + } + leaf lsd-client-type { + type Mgmt-lsd-client; + description + "LSDClientType"; + } + } + + grouping MPLS-LSD-CLIENT { + description + "LSD client information"; + container client-union { + description + "LSD client information"; + uses MGMT-MPLS-LSD-CLIENT-DATA; + } + leaf client-index { + type uint32; + description + "Client Index Value"; + } + leaf node-id { + type xr:Node-id; + description + "Node ID"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper.yang new file mode 100644 index 000000000..2eb29d698 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-lsd-oper.yang @@ -0,0 +1,580 @@ +module Cisco-IOS-XR-mpls-lsd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-lsd-oper"; + prefix mpls-lsd-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-lsd-oper-sub1 { + revision-date 2021-04-20; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-lsd package operational data. + + This module contains definitions + for the following management objects: + mpls-lsd-nodes: Location MPLS LSD operational data + mpls-lsd: MPLS LSD operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-20 { + description + "Add mpls_lsd_moi_evpn as new EVPN moi"; + semver:module-version "1.4.0"; + } + revision 2020-11-26 { + description + "Extend MPLS_LSDLabelContextType to include PFP block type + 2020-11-22 + New Label Context type defined, SR_Pfx_node + 2020-10-29 + Deprecated bag mpls_lsd_first_srgb_allocated_block_size Added bag mpls_lsd_active_block_range + 2020-08-21 + Modify mpls_lsd to include label flags in mpls_lsd_fpi_lbl bag + 2020-06-13 + Modify mpls_lsd to include BIER app type and label context type + 2020-06-02 + Modify mpls_lsd_moi_pw to include platform data"; + semver:module-version "1.3.0"; + } + revision 2020-05-29 { + description + "Extended Application information to include resource complete timestamp"; + semver:module-version "1.2.0"; + } + revision 2019-10-22 { + description + "Modify mpls_lsd_lbl_ctx_recycle_lbl to take 64 bit field instead of 32 Extend mpls_lsd_moi_pop_and_lkup to include QoS fields Extend mpls_lsd_moi_ipv6 to include load metric field Extend mpls_lsd_moi_ipv4 to include recursion length fields Extend mpls_lsd_moi_ipv4 to include QoS fields Extend MPLS_LSDLabelContextType to include CBF block type Extend mpls_lsd_lbl_ctx_l3vpn_nh_set to include type field"; + semver:module-version "1.1.0"; + } + revision 2019-05-22 { + description + "Extended schema for FRRDatabase, Rewrite, LabelHistoryTable"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-01-03 { + description + "Yang evaluator: updates to schema descriptions and ranges"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping REWRITE-SUMMARY { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container rewrite-summary { + description + "Rewrite Summary across all VRFs"; + uses MPLS-LSD-RW-SUM; + } + } + + grouping LABEL-SUMMARY { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container label-summary { + description + "Dynamic label range"; + uses MPLS-LSD-LBL-SUM; + } + } + + grouping LABEL-TABLE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container labels { + description + "Table of labels"; + list label { + key "label-id"; + description + "Data for label"; + leaf label-id { + type uint32 { + range "0..1048575"; + } + description + "Label value"; + } + uses MPLS-LSD-LBL; + } + } + } + + grouping FRR-DATABASE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container frr-database { + description + "FRR database"; + container tunnel-midpoints { + description + "Table of FRR database entries - Tunnel + midpoints"; + list tunnel-midpoint { + key "label"; + description + "Data for FRR database entry - Tunnel midpoint"; + leaf label { + type uint32 { + range "0..1048575"; + } + description + "Label value"; + } + uses MPLS-LSD-FRR-DB-ENTRY; + } + } + container tunnel-heads { + description + "Table of FRR database entries - Tunnel heads"; + list tunnel-head { + key "interface-name"; + description + "Data for FRR database entry - Tunnel head"; + leaf interface-name { + type xr:Interface-name; + description + "Tunnel interface"; + } + uses MPLS-LSD-FRR-DB-ENTRY; + } + } + container tunnel-head-summary { + description + "Summary data for FRR database entry - Tunnel + head"; + uses MPLS-LSD-FRR-DB-SUM; + } + container summary-protected-interfaces { + description + "Sumary table of Protected Interfaces"; + list summary-protected-interface { + key "interface-name"; + description + "Data for MPLS interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + uses MPLS-LSD-FRR-DB-SUM; + } + } + container summary-backup-interfaces { + description + "Summary Backup Interface Table"; + list summary-backup-interface { + key "interface-name"; + description + "Data for Summary Backup Interface"; + leaf interface-name { + type xr:Interface-name; + description + "Tunnel interface"; + } + uses MPLS-LSD-FRR-DB-SUM; + } + } + container tunnel-summary { + description + "Summary data for FRR database entry"; + uses MPLS-LSD-FRR-DB-SUM; + } + container tunnel-midpoint-summary { + description + "Summary data for FRR database entry - Tunnel + midpoint"; + uses MPLS-LSD-FRR-DB-SUM; + } + } + } + + grouping LABEL-RANGE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container label-range { + description + "MPLS label range information for both static and + dynamic labels"; + uses MPLS-LSD-LBL-RANGE; + } + } + + grouping CLIENT-TABLE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container clients { + description + "Table of MPLS clients using LSD"; + list client { + key "client-name"; + description + "Data for MPLS client using LSD"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client Instance name in the form of + 'Application-' or + 'BCDL_Agent-'"; + } + uses MPLS-LSD-CLIENT; + } + } + } + + grouping LABEL-SUMMARY-VRF-TABLE { + description + "Common node of mpls-lsd, mpls-lsd-nodeCommon node + of mpls-lsd, mpls-lsd-node"; + container label-summary-vrfs { + description + "Dynamic label range summary by VRF"; + list label-summary-vrf { + key "vrf-name"; + description + "Dynamic label range summary by VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses MPLS-LSD-LBL-SUM; + } + } + } + + grouping APPLICATION-TABLE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container applications { + description + "Table of MPLS applications using LSD"; + list application { + key "application-name"; + description + "Data for MPLS application using LSD"; + leaf application-name { + type xr:Cisco-ios-xr-string; + description + "Application Instance name in the form of + '[:]'"; + } + uses MPLS-LSD-APP; + } + } + } + + grouping REWRITE-SUMMARY-VRF-TABLE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container rewrite-summary-vrfs { + description + "Rewrite Summary by VRF"; + list rewrite-summary-vrf { + key "vrf-name"; + description + "Rewrite summary by VRF VRF-name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses MPLS-LSD-RW-SUM; + } + } + } + + grouping INTERFACE-TABLE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container interfaces { + description + "Table of MPLS interfaces"; + list interface { + key "interface-name"; + description + "Data for MPLS interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface"; + } + uses MPLS-LSD-INTF; + } + } + } + + grouping LABEL-HISTORY-TABLE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container label-histories { + description + "MPLS Label Hist"; + list label-history { + key "label-id"; + description + "MPLS Label Tabel Label"; + container label-history-records { + description + "MPLS Label History Record Table"; + list label-history-record { + key "record-num"; + description + "MPLS Label Record Num"; + leaf record-num { + type uint32; + description + "Record Number"; + } + uses MPLS-LSD-LBL-HIST; + } + } + leaf label-id { + type uint32 { + range "0..1048575"; + } + description + "Label value"; + } + } + } + } + + grouping REWRITE { + description + "Common node of mpls-lsd, mpls-lsd-node"; + container rewrite { + description + "Table of rewrites"; + container rewrite-label-range-cnts { + description + "Table of Label Range Counters"; + list rewrite-label-range-cnt { + description + "Label Range Counters"; + leaf label-range-type { + type uint32 { + range "0..5"; + } + description + "Label range type for SRLB/SRGB opaque data to + FIB"; + } + leaf label-range-index { + type uint32 { + range "0..2"; + } + description + "Label range index for SRLB/SRGB opaque data + to FIB"; + } + uses MPLS-LSD-RW; + } + } + container rewrite-ipv6s { + description + "Table of IPv6 Rewrites"; + list rewrite-ipv6 { + description + "FPI rewrite for label"; + leaf rsi-table-id { + type xr:Hex-integer; + description + "RSI table ID"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Network Address "; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "IPv6 Prefix length"; + } + uses MPLS-LSD-RW; + } + } + container rewrite-pws { + description + "Table of Rewrites"; + list rewrite-pw { + key "pw-list-id"; + description + "FPI rewrite for PW List"; + leaf pw-list-id { + type uint32 { + range "0..65535"; + } + description + "PW List ID"; + } + uses MPLS-LSD-RW; + } + } + container traffic-collector-interfaces { + description + "Table of Rewrite Table Collector"; + list traffic-collector-interface { + key "interface-name"; + description + "Data for Traffic Collector Interface"; + leaf interface-name { + type xr:Interface-name; + description + "External interface"; + } + uses MPLS-LSD-RW; + } + } + container rewrite-ipv4s { + description + "Table of Rewrites"; + list rewrite-ipv4 { + description + "FPI rewrite for label"; + leaf rsi-table-name { + type xr:Cisco-ios-xr-string; + description + "RSI table name"; + } + leaf rsi-table-id { + type xr:Hex-integer; + description + "RSI table ID"; + } + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "IPv4 Prefix length"; + } + uses MPLS-LSD-RW; + } + } + container rewrite-tes { + description + "Table of Traffic Engineering Rewrites"; + list rewrite-te { + key "interface-name"; + description + "FPI rewrite for TE"; + leaf interface-name { + type xr:Interface-name; + description + "Tunnel interface"; + } + uses MPLS-LSD-RW; + } + } + container rewrite-labels { + description + "Table of Rewrites"; + list rewrite-label { + key "label-id"; + description + "FPI rewrite for label"; + leaf label-id { + type uint32 { + range "0..1048575"; + } + description + "Label value"; + } + uses MPLS-LSD-RW; + } + } + } + } + + container mpls-lsd-nodes { + config false; + description + "Location MPLS LSD operational data"; + list mpls-lsd-node { + key "node-name"; + description + "The MPLS LSD operational data for a particular + node"; + leaf node-name { + type xr:Node-id; + description + "The identifier for the node"; + } + uses CLIENT-TABLE; + uses LABEL-SUMMARY; + uses LABEL-TABLE; + uses FRR-DATABASE; + uses REWRITE; + uses REWRITE-SUMMARY; + uses APPLICATION-TABLE; + uses LABEL-SUMMARY-VRF-TABLE; + uses LABEL-RANGE; + uses REWRITE-SUMMARY-VRF-TABLE; + uses INTERFACE-TABLE; + uses LABEL-HISTORY-TABLE; + } + } + container mpls-lsd { + config false; + description + "MPLS LSD operational data"; + uses CLIENT-TABLE; + uses LABEL-SUMMARY; + uses LABEL-TABLE; + uses FRR-DATABASE; + uses REWRITE; + uses REWRITE-SUMMARY; + uses APPLICATION-TABLE; + uses LABEL-SUMMARY-VRF-TABLE; + uses LABEL-RANGE; + uses REWRITE-SUMMARY-VRF-TABLE; + uses INTERFACE-TABLE; + uses LABEL-HISTORY-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-cfg.yang new file mode 100644 index 000000000..ab92b19a2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-cfg.yang @@ -0,0 +1,110 @@ +module Cisco-IOS-XR-mpls-oam-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-oam-cfg"; + prefix mpls-oam-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-oam package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-oam-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + mpls-oam: MPLS LSP verification configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container mpls-oam { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-oam-cfg.yang which will + provide the compatible functionalities. MPLS LSP + verification configuration"; + container dpm { + description + "MPLS OAM DPM"; + leaf enable-dpm { + type empty; + description + "Enable/Disable MPLS OAM DPM"; + } + leaf interval { + type uint32 { + range "1..3600"; + } + units "minute"; + description + "Running interval of DPM"; + } + leaf rate-limit { + type uint32 { + range "1..250"; + } + units "packet/s"; + description + "Rate limit in packets per second"; + } + } + container reply-mode { + description + "Echo request reply mode attributes"; + container control-channel { + description + "Configure control channel reply mode"; + leaf allow-reverse-lsp { + type empty; + description + "Use Reverse LSP as the control channel"; + } + } + } + leaf enable-oam { + type empty; + description + "Enable/Disable MPLS OAM globally.Without + creating this object the MPLS OAM feature will + not be enabled. Deleting this object will stop + the MPLS OAM feature."; + } + leaf disable-vendor-extension { + type empty; + description + "Disable vendor extension"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub1.yang new file mode 100644 index 000000000..6fbc22170 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub1.yang @@ -0,0 +1,797 @@ +submodule Cisco-IOS-XR-mpls-oam-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-oam-oper { + prefix Cisco-IOS-XR-mpls-oam-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-oam package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Lspv-dpm-igp { + type enumeration { + enum "ospf" { + description + "OSPF"; + } + enum "isis" { + description + "ISIS"; + } + } + description + "Lspv dpm igp"; + } + + typedef Lspv-dpm-fault-code { + type enumeration { + enum "lspv-dpm-fault-na" { + value 0; + description + "Unset Code"; + } + enum "lspv-dpm-fault-success" { + value 33; + description + "Success"; + } + enum "lspv-dpm-fault-timeout" { + value 46; + description + "Timeout"; + } + enum "lspv-dpm-fault-unlbl-out-intf" { + value 66; + description + "Unlabeled output interface"; + } + enum "lspv-dpm-fault-ds-mismatch" { + value 68; + description + "DS Map mismatch"; + } + enum "lspv-dpm-fault-no-fec" { + value 70; + description + "No FEC mapping"; + } + enum "lspv-dpm-fault-unknown-up-idx" { + value 73; + description + "Unknown upstream index"; + } + enum "lspv-dpm-fault-lbl-out-intf" { + value 76; + description + "Labeled output interface"; + } + enum "lspv-dpm-fault-mal" { + value 77; + description + "Malformed request"; + } + enum "lspv-dpm-fault-no-rx-lbl" { + value 78; + description + "No rx label"; + } + enum "lspv-dpm-fault-no-rx-intf-lbl-prot" { + value 80; + description + "No rx intf label prot"; + } + enum "lspv-dpm-fault-un-sent" { + value 81; + description + "Request not sent"; + } + enum "lspv-dpm-fault-transit" { + value 82; + description + "Transit router"; + } + enum "lspv-dpm-fault-x" { + value 88; + description + "Unknown return code"; + } + enum "lspv-dpm-fault-dd-map" { + value 100; + description + "DDMAP"; + } + enum "lspv-dpm-fault-fec-mismatch" { + value 102; + description + "FEC mismatch"; + } + enum "lspv-dpm-fault-bad-tlv" { + value 109; + description + "Unsupported TLV"; + } + enum "lspv-dpm-fault-pre-lsp" { + value 112; + description + "Premature termination of LSP"; + } + enum "lspv-dpm-fault-rt-0t" { + value 120; + description + "return code 0t"; + } + } + description + "Lspv dpm fault code"; + } + + typedef Lspv-dpm-pfx-validation-status { + type enumeration { + enum "never" { + description + "Never"; + } + enum "complete" { + description + "Complete"; + } + enum "in-progress" { + description + "In Progress"; + } + enum "scheduled" { + description + "Scheduled"; + } + enum "stale" { + description + "Stale"; + } + enum "no-upstreams" { + description + "No Upstreams"; + } + } + description + "Lspv dpm pfx validation status"; + } + + typedef Static-ipv6-address { + type inet:ipv6-address; + description + "Static ipv6 address"; + } + + typedef Lspv-dpm-addr { + type enumeration { + enum "ipv4" { + description + "IPv4"; + } + enum "ipv6" { + description + "IPv6"; + } + } + description + "Lspv dpm addr"; + } + + grouping LSPV-DPM-PFX-DB-SUMMARY { + description + "LSPV DPM Prefix DB summary"; + leaf pfx-db-size { + type uint32; + description + "Size of Prefix DB"; + } + leaf validated-prefixes { + type uint32; + description + "Number of Validated Prefixes"; + } + leaf requests-sent { + type uint32; + description + "Number of Echo Requests Sent"; + } + leaf requests-rcvd { + type uint32; + description + "Number of Echo Requests Received"; + } + leaf validation-errors { + type uint32; + description + "Validation Errors"; + } + leaf validation-start-time { + type uint64; + description + "DPM Start Time"; + } + leaf validation-end-time { + type uint64; + description + "DPM End Time"; + } + } + + grouping LSPV-DPM-ADJ-INFO { + description + "Adjacency Information"; + leaf local-label { + type uint32; + description + "Label"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf protected { + type boolean; + description + "Protected"; + } + leaf static-adj { + type boolean; + description + "Static Adj"; + } + leaf group { + type boolean; + description + "Group"; + } + leaf isis-l1 { + type boolean; + description + "ISIS Level 1"; + } + leaf isis-l2 { + type boolean; + description + "ISIS Level 2"; + } + leaf success { + type boolean; + description + "Sucess"; + } + } + + grouping LSPV-DPM-ADJ { + description + "LSPV DPM Adjacency"; + container local-address { + description + "Local Address"; + uses LSPV-DPM-PREFIX-BAG; + } + container remote-address { + description + "Remote Address"; + uses LSPV-DPM-PREFIX-BAG; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf local-interface-id { + type uint32; + description + "Local Interface Id"; + } + leaf unprotected-local-label { + type uint32; + description + "Unprotected Local Label"; + } + leaf remote-interface-id { + type uint32; + description + "Remote Interface Id"; + } + leaf unprotected-remote-label { + type uint32; + description + "Unprotected Remote Label"; + } + leaf valid-adj { + type uint32; + description + "Valid Adjacencies"; + } + leaf total-adj { + type uint32; + description + "Total Adjacencies"; + } + leaf is-isis { + type boolean; + description + "ISIS enabled"; + } + leaf is-ipv4 { + type boolean; + description + "IPv4 enabled"; + } + leaf is-excluded { + type boolean; + description + "Skipped for the current run"; + } + leaf last-fault-time { + type uint64; + description + "Last Fault Time"; + } + list local-adj { + description + "Local Adjacencies"; + uses LSPV-DPM-ADJ-INFO; + } + list remote-adj { + description + "Remote Adjacencies"; + uses LSPV-DPM-ADJ-INFO; + } + } + + grouping LSPV-DPM-ADJ-FAULT { + description + "LSPV DPM ADJ fault"; + container ip { + description + "IP Address"; + xr:event-telemetry "Subscribe Telemetry Event"; + uses LSPV-DPM-PREFIX-BAG; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf igp { + type Lspv-dpm-igp; + description + "IGP"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf local-adj-sid { + type uint32; + description + "Local Adj SID"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf error-code { + type Lspv-dpm-fault-code; + description + "DPM Error code"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping LSPV-DPM-SUMMARY { + description + "LSPV DPM summary"; + leaf v4rib-reg { + type boolean; + description + "Registration to IPv4 RIB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf v4rib-con { + type boolean; + description + "Connection to IPv4 RIB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf sysdb-reg { + type boolean; + description + "Registration to SYSDB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf sysdb-con { + type boolean; + description + "Connection to SYSDB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf im-reg { + type boolean; + description + "Registration to IM"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf im-con { + type boolean; + description + "Connection to IM"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf lspv-con { + type boolean; + description + "Connection to LSPV"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf num-of-adj { + type uint32; + description + "Number of Adjacencies in DB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf validated-adjs { + type uint32; + description + "Number of Validated Adjacencies"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf dpm-eligible-intfs { + type uint32; + description + "Number of DPM allowed interfaces"; + } + leaf error-adjs { + type uint32; + description + "Errored Adjacencies"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf num-of-pfx { + type uint32; + description + "Number of Prefixes in DB"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf validated-pfxs { + type uint32; + description + "Number of Validated Prefixes"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf error-pfxs { + type uint32; + description + "Errored Prefixes"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf total-requests { + type uint32; + description + "Total Requests"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf total-responses { + type uint32; + description + "Total Responses"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf total-prop-req { + type uint32; + description + "Total Property Requests"; + } + leaf total-prop-errs { + type uint32; + description + "Total Property Errors"; + } + leaf total-prop-resp { + type uint32; + description + "Total Property Responses"; + } + leaf dpm-interval { + type uint32; + description + "DPM Run Interval"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf dpm-packets-per-second { + type uint32; + units "packet/s"; + description + "DPM Packets Per Second"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf total-retries { + type uint32; + description + "Total Retries"; + } + leaf validation-complete { + type boolean; + description + "DPM Validation Complete"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf last-dpm-run-time { + type uint64; + description + "Last DPM interation time in nanosec"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf last-dpm-fault-time { + type uint64; + description + "Last DPM fault time in nanosec"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf last-dpm-fault-time-ever { + type uint64; + description + "Last Ever DPM fault time in nanosec"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping LSPV-DPM-FAULT { + description + "LSPV DPM Pfx NH fault"; + container prefix-xr { + description + "Prefix"; + uses LSPV-DPM-PREFIX-INFO; + } + container downlink-fault { + description + "Downlink associated with the fault"; + xr:event-telemetry "Subscribe Telemetry Event"; + uses LSPV-DPM-PREFIX-BAG; + } + container uplink-fault { + description + "Uplink associated with the fault"; + xr:event-telemetry "Subscribe Telemetry Event"; + uses LSPV-DPM-PREFIX-BAG; + } + leaf prefix-sid { + type uint32; + description + "Prefix SID"; + } + leaf error-code { + type Lspv-dpm-fault-code; + description + "DPM Error code"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping LSPV-DPM-COUNTERS { + description + "LSPV DPM Counters"; + leaf requests-sent { + type uint32; + description + "Requests Last Sent"; + } + leaf requests-last-pending { + type uint32; + description + "Requests Last Pending"; + } + leaf requests-last-returned { + type uint32; + description + "Requests Last Returned"; + } + leaf requests-unsent { + type uint32; + description + "Requests Unsent"; + } + leaf requests-retry-unsent { + type uint32; + description + "Requests Retry Unsent"; + } + leaf requests-pending { + type uint32; + description + "Requests Pending"; + } + } + + grouping LSPV-DPM-PFX-ADJ { + description + "LSPV DPM Prefix Adj"; + container next-hop { + description + "NextHop"; + uses LSPV-DPM-PREFIX-BAG; + } + leaf requests-sent { + type uint32; + description + "Requests Sent"; + } + leaf errors { + type uint32; + description + "Errors"; + } + leaf last-fault-time { + type uint64; + description + "Last Fault Time"; + } + leaf status { + type Lspv-dpm-pfx-validation-status; + description + "Status"; + } + leaf stale { + type boolean; + description + "Stale"; + } + } + + grouping LSPV-DPM-PREFIX-BAG { + description + "LSPV DPM PREFIX BAG"; + leaf af-name { + type Lspv-dpm-addr; + description + "AFName"; + } + leaf ipv4-prefix { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 prefix"; + } + leaf ipv6-prefix { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Static-ipv6-address; + description + "IPv6 prefix"; + } + } + + grouping LSPV-DPM-PREFIX-INFO { + description + "Prefix Information"; + container prefix { + description + "Prefix"; + uses LSPV-DPM-PREFIX-BAG; + } + leaf prefix-length { + type uint8; + description + "Prefix length"; + } + } + + grouping LSPV-DPM-PFX { + description + "LSPV DPM Prefix"; + container prefix-xr { + description + "Prefix"; + xr:event-telemetry "Subscribe Telemetry Event"; + uses LSPV-DPM-PREFIX-INFO; + } + leaf pfx-sid { + type uint32; + description + "Prefix SID"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf requests-sent { + type uint32; + description + "Requests Sent"; + } + leaf requests-rcvd { + type uint32; + description + "Requests Rcvd"; + } + leaf errors { + type uint32; + description + "Errors"; + } + leaf last-fault-time { + type uint64; + description + "Last Fault Time"; + } + leaf status { + type Lspv-dpm-pfx-validation-status; + description + "Status"; + } + list upstream-adj { + description + "Upstream Adjacency"; + uses LSPV-DPM-PREFIX-BAG; + } + list downstream-adj-info { + description + "Downstream Adjacency Info"; + uses LSPV-DPM-PFX-ADJ; + } + } + + grouping LSPV-DPM-ADJ-DB-SUMMARY { + description + "LSPV DPM Adjacency DB summary"; + leaf adj-db-size { + type uint32; + description + "Size of Adjacency DB"; + } + leaf dpm-eligible-intfs { + type uint32; + description + "Number of DPM allowed interfaces"; + } + leaf err-intfs { + type uint32; + description + "Number of Interfaces with Errors"; + } + leaf validation-start-time { + type uint64; + description + "Validation Start Time"; + } + leaf validation-end-time { + type uint64; + description + "Validation End Time"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub2.yang new file mode 100644 index 000000000..496d1da13 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper-sub2.yang @@ -0,0 +1,450 @@ +submodule Cisco-IOS-XR-mpls-oam-oper-sub2 { + belongs-to Cisco-IOS-XR-mpls-oam-oper { + prefix Cisco-IOS-XR-mpls-oam-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-oam package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Lspv-bag-interface-state { + type enumeration { + enum "not-ready" { + description + "Not ready"; + } + enum "admin-down" { + description + "Admin down"; + } + enum "down" { + description + "Down"; + } + enum "up" { + description + "UP"; + } + enum "shutdown" { + description + "Shutdown"; + } + enum "error-disable" { + description + "Error disable"; + } + enum "down-immediate" { + description + "Immediate down"; + } + enum "admin-immediate" { + description + "Immediate admin"; + } + enum "graceful-down" { + description + "Graceful down"; + } + enum "begin-shutdown" { + description + "Begin shutdown"; + } + enum "end-shutdown" { + description + "End shutdown"; + } + enum "begin-error-disable" { + description + "Begin error disable"; + } + enum "end-error-disable" { + description + "End error disable"; + } + enum "begin-graceful-down" { + description + "Begin graceful down"; + } + enum "reset" { + description + "Reset"; + } + enum "operational" { + description + "Operational"; + } + enum "not-operational" { + description + "Not operational"; + } + enum "not-known" { + description + "Unknown"; + } + } + description + "LSPV interface state"; + } + + grouping LSPV-COLLAB-COUNTER { + description + "LSPV collaborator counters"; + leaf ups { + type uint32; + description + "Collaborator up counter"; + } + leaf downs { + type uint32; + description + "Collaborator down counter"; + } + } + + grouping LSPV-COLLAB-STATISTICS { + description + "LSPV collaborator statistics"; + container collaborator-i-parm { + description + "Collaborator IPARM counts"; + uses LSPV-COLLAB-COUNTER; + } + container collaborator-im { + description + "Collaborator IM counts"; + uses LSPV-COLLAB-COUNTER; + } + container collaborator-net-io { + description + "Collaborator NetIO counts"; + uses LSPV-COLLAB-COUNTER; + } + container collaborator-rib { + description + "Collaborator RIB counts"; + uses LSPV-COLLAB-COUNTER; + } + } + + grouping LSPV-MSG-STATISTICS { + description + "LSPV verification process message statistics"; + leaf register-messages { + type uint32; + description + "Message register count"; + } + leaf unregister-messages { + type uint32; + description + "Message unregister count"; + } + leaf echo-submit-messages { + type uint32; + description + "Message echo submit count"; + } + leaf echo-cancel-messages { + type uint32; + description + "Message echo cancel count"; + } + leaf get-result-messages { + type uint32; + description + "Message get results count"; + } + leaf get-config-messages { + type uint32; + description + "Message get configiuration count"; + } + leaf get-response-messages { + type uint32; + description + "Message get response count"; + } + leaf property-response-messages { + type uint32; + description + "Message property response count"; + } + leaf property-request-messages { + type uint32; + description + "Message property request count"; + } + leaf property-block-messages { + type uint32; + description + "Message property block count"; + } + leaf thread-request-messages { + type uint32; + description + "Message thread request count"; + } + } + + grouping LSPV-GLOBAL-TYPE { + description + "LSPV global information"; + container message-statistics { + description + "Message statistics"; + uses LSPV-MSG-STATISTICS; + } + container collaborator-statistics { + description + "Collaborator statistics"; + uses LSPV-COLLAB-STATISTICS; + } + leaf total-clients { + type uint32; + description + "Number of clients"; + } + } + + grouping LSPV-BAG-STATS-TX { + description + "LSPV transmission statistics"; + container transmit-good { + description + "Transmit good packets"; + uses LSPV-PKT-COUNTER; + } + container transmit-drop { + description + "Transmit drop packets"; + uses LSPV-PKT-COUNTER; + } + container transmit-bfd-good { + description + "Transmit good BFD request packets"; + uses LSPV-PKT-COUNTER; + } + container bfd-no-reply { + description + "No Reply action for echo reqeust of BFD + bootstrap"; + uses LSPV-PKT-COUNTER; + } + } + + grouping LSPV-PKT-COUNTER { + description + "LSPV verification packet count"; + leaf packets { + type uint64; + description + "Packet counter"; + } + leaf bytes { + type uint64; + units "byte"; + description + "Byte counter"; + } + } + + grouping LSPV-BAG-STATS-RX { + description + "LSPV reception statistics"; + container received-good-request { + description + "Received good request"; + uses LSPV-PKT-COUNTER; + } + container received-good-reply { + description + "Received good reply"; + uses LSPV-PKT-COUNTER; + } + container received-unknown { + description + "Received unknown packets"; + uses LSPV-PKT-COUNTER; + } + container received-error-ip-header { + description + "IP header error"; + uses LSPV-PKT-COUNTER; + } + container received-error-udp-header { + description + "UDP header error"; + uses LSPV-PKT-COUNTER; + } + container received-error-runt { + description + "RUNT error"; + uses LSPV-PKT-COUNTER; + } + container received-error-queue-full { + description + "Dropped queue full"; + uses LSPV-PKT-COUNTER; + } + container received-error-general { + description + "General error"; + uses LSPV-PKT-COUNTER; + } + container received-error-no-interface { + description + "Error no Interfaces"; + uses LSPV-PKT-COUNTER; + } + container received-error-no-memory { + description + "Error no memory"; + uses LSPV-PKT-COUNTER; + } + container protect-protocol-received-good-request { + description + "Protect Protocol Received good request"; + uses LSPV-PKT-COUNTER; + } + container protect-protocol-received-good-reply { + description + "Protect Protocol Received good reply"; + uses LSPV-PKT-COUNTER; + } + container received-good-bfd-request { + description + "Received Reqeust with BFD TLV"; + uses LSPV-PKT-COUNTER; + } + container received-good-bfd-reply { + description + "Received Reply with BFD TLV"; + uses LSPV-PKT-COUNTER; + } + } + + grouping LSPV-PACKET-STATISTICS { + description + "Receive and transmit packet counts"; + container received { + description + "Packet reception counts"; + uses LSPV-BAG-STATS-RX; + } + container sent { + description + "Packet transmit counts"; + uses LSPV-BAG-STATS-TX; + } + container working-req-sent { + description + "Working Request Packet transmit counts"; + uses LSPV-BAG-STATS-TX; + } + container working-rep-sent { + description + "Working Reply Packet transmit counts"; + uses LSPV-BAG-STATS-TX; + } + container protect-req-sent { + description + "Protect Request Packet transmit counts"; + uses LSPV-BAG-STATS-TX; + } + container protect-rep-sent { + description + "Protect Reply Packet transmit counts"; + uses LSPV-BAG-STATS-TX; + } + } + + grouping LSPV-INTERFACE-INFO { + description + "LSPV interface information"; + container interface-brief { + description + "Interface brief"; + uses LSPV-INTERFACE-INFO-BRIEF; + } + container packet-statistics { + description + "Packet statistics"; + uses LSPV-PACKET-STATISTICS; + } + } + + grouping LSPV-INTERFACE-INFO-BRIEF { + description + "LSPV interface brief information"; + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface name"; + } + leaf state { + type Lspv-bag-interface-state; + description + "Interface state"; + } + leaf mtu { + type uint32; + description + "Interface MTU"; + } + leaf prefix-length { + type uint32; + description + "Prefix length (IPv4)"; + } + leaf prefix-length-v6 { + type uint32; + description + "Prefix length (IPv6)"; + } + leaf primary-address { + type inet:ipv4-address; + description + "Primary interface address (IPv4)"; + } + leaf primary-address-v6 { + type inet:ipv6-address; + description + "Primary interface address (IPv6)"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper.yang new file mode 100644 index 000000000..e33bc1d7f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-oam-oper.yang @@ -0,0 +1,219 @@ +module Cisco-IOS-XR-mpls-oam-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-oam-oper"; + prefix mpls-oam-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-oam-oper-sub2 { + revision-date 2019-04-05; + } + include Cisco-IOS-XR-mpls-oam-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-oam package operational data. + + This module contains definitions + for the following management objects: + mpls-oam: MPLS OAM operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container mpls-oam { + config false; + description + "MPLS OAM operational data"; + container interface { + description + "MPLS OAM interface operational data"; + container briefs { + description + "MPLS OAM interface detail data"; + list brief { + key "interface-name"; + description + "MPLS OAM interface operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses LSPV-INTERFACE-INFO-BRIEF; + } + } + container details { + description + "MPLS OAM interface detail data"; + list detail { + key "interface-name"; + description + "MPLS OAM interface operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses LSPV-INTERFACE-INFO; + } + } + } + container packet { + description + "LSPV packet counters operational data"; + uses LSPV-PACKET-STATISTICS; + } + container global { + description + "LSPV global counters operational data"; + uses LSPV-GLOBAL-TYPE; + } + container dpm { + description + "MPLS OAM DPM operational data"; + container adjacency-summary { + description + "LSPV DPM adjacency summary operational data"; + uses LSPV-DPM-ADJ-DB-SUMMARY; + } + container prefixes { + description + "MPLS OAM DPM prefix operational data"; + list prefix { + key "prefix"; + description + "MPLS OAM DPM prefix operational data"; + leaf prefix { + type inet:ip-prefix; + description + "The IP Prefix"; + } + uses LSPV-DPM-PFX; + } + } + container counters { + description + "LSPV DPM counters operational data"; + uses LSPV-DPM-COUNTERS; + } + container prefix-faults { + description + "MPLS OAM DPM prefix fault operational data"; + list prefix-fault { + description + "MPLS OAM DPM prefix fault operational data"; + leaf prefix { + type inet:ip-prefix; + description + "The IP Prefix"; + } + leaf downstream-address { + type inet:ip-address-no-zone; + description + "Downstream IP Address"; + } + leaf upstream-address { + type inet:ip-address-no-zone; + description + "Upstream IP Address"; + } + uses LSPV-DPM-FAULT; + } + } + container adjacency-summary-last { + description + "LSPV last DPM run adjacency summary operational + data"; + uses LSPV-DPM-ADJ-DB-SUMMARY; + } + container summary { + description + "LSPV DPM summary operational data"; + uses LSPV-DPM-SUMMARY; + } + container adjacency-faults { + description + "MPLS OAM DPM adjacency operational data"; + list adjacency-fault { + description + "MPLS OAM DPM adjcency fault operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf local-label-id { + type uint32 { + range "16..1048575"; + } + description + "Local Label"; + } + uses LSPV-DPM-ADJ-FAULT; + } + } + container adjacencies { + description + "MPLS OAM DPM adjacency operational data"; + list adjacency { + key "interface-name"; + description + "MPLS OAM DPM adjcency operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses LSPV-DPM-ADJ; + } + } + container prefix-summary { + description + "LSPV DPM prefix summary operational data"; + uses LSPV-DPM-PFX-DB-SUMMARY; + } + container prefix-summary-last { + description + "LSPV last DPM run prefix summary operational + data"; + uses LSPV-DPM-PFX-DB-SUMMARY; + } + container summary-last { + description + "LSPV last DPM run summary operational data"; + uses LSPV-DPM-SUMMARY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ping-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ping-act.yang new file mode 100644 index 000000000..683ea897a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-ping-act.yang @@ -0,0 +1,1005 @@ +module Cisco-IOS-XR-mpls-ping-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ping-act"; + prefix mpls-ping-act; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls ping action package configuration + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-27 { + description + "Added missing descriptions"; + semver:module-version "1.0.0"; + } + revision 2021-04-05 { + description + "Added range values for lsp-id and pseudowire leaf values"; + } + revision 2021-03-25 { + description + "Added IP netmask leaf for MPLS and SR ping"; + } + revision 2021-02-03 { + description + "Range added for EXP leaf"; + } + revision 2021-01-26 { + description + "Changed Pad leaf to Hexadecimal String"; + } + revision 2020-06-13 { + description + "Initial revision."; + } + + typedef mpls-fec-type { + type enumeration { + enum "bgp" { + description + "MPLS BGP FEC"; + } + enum "generic" { + description + "MPLS Generic FEC"; + } + enum "ldp" { + description + "MPLS LDP FEC"; + } + } + description + "MPLS Forwarding Equivalence Class type"; + } + + typedef sr-fec-type { + type enumeration { + enum "bgp" { + description + "SR IGP BGP FEC"; + } + enum "ospf" { + description + "SR IGP OSPF FEC"; + } + enum "isis" { + description + "SR IGP ISIS FEC"; + } + } + description + "SR Forwarding Equivalence Class type"; + } + + typedef request-reply-mode { + type enumeration { + enum "ipv4" { + description + "Reply Mode IPv4"; + } + enum "no-reply" { + description + "Reply Mode No Reply"; + } + enum "router-alert" { + description + "Reply Mode Router Alert"; + } + } + description + "Reply mode"; + } + + rpc mpls-ping { + description + "Send echo messages"; + input { + choice ping-type { + mandatory true; + description + "Specify ping type"; + case type-mpls { + container mpls { + description + "MPLS ping"; + choice mpls-subtype { + mandatory true; + description + "Ping MPLS subtype"; + case subtype-ipv4 { + container ipv4 { + description + "Ping mpls IPv4 address"; + leaf ip { + type inet:ipv4-address; + mandatory true; + description + "destination X.X.X.X of mpls ping"; + } + choice subnet { + mandatory true; + description + "The subnet to be specified as a prefix-length or as + a netmask."; + case prefix-length { + leaf prefix-length { + type uint8 { + range "0..32"; + } + default "32"; + description + "The length of the subnet prefix."; + } + } + case netmask { + leaf netmask { + type inet:ipv4-address; + description + "The subnet specified as a netmask"; + } + } + } + leaf fec-type { + type mpls-fec-type; + description + "TLV FEC type to use in request"; + } + } + } + case subtype-traffic-eng { + container traffic-eng { + description + "MPLS-TE ping"; + choice tunnel-identifier { + mandatory true; + description + "Tunnel Identifier (LSP name or tunnel-interface)"; + case subtype-tunnel-name { + leaf tunnel-name { + type string; + description + "Next hop tunnel lsp name"; + } + } + case subtype-tunnel-interface { + leaf tunnel-interface { + type string; + description + "Next hop Interface with form tunnel-te"; + } + } + } + choice te-lsp-option { + default "te-lsp-option-active"; + description + "Specify which LSP to use"; + case te-lsp-option-active { + leaf active-lsp { + type boolean; + default "true"; + description + "Enforce active LSP selection for tunnel"; + } + } + case te-lsp-option-id { + leaf lsp-id { + type uint32 { + range "1..10000"; + } + default "1"; + description + "Tunnel Label Switched Path Identifier"; + } + } + case te-lsp-option-path-protected { + leaf path-protected { + type boolean; + description + "Test path protected LSP for tunnel"; + } + } + case te-lsp-option-reoptimized { + leaf reoptimized { + type boolean; + description + "Test reoptimized LSP for tunnel"; + } + } + } + } + } + } + } + } + case type-sr { + container sr-mpls { + description + "Ping sr-mpls"; + choice sr-target { + description + "Ping sr-mpls target type"; + case target_ipv4_prefix { + container ipv4 { + description + "Ping sr-mpls IPv4 Prefix SID"; + leaf ip { + type inet:ipv4-address; + mandatory true; + description + "SR LSP Egress IP"; + } + choice subnet { + mandatory true; + description + "The subnet to be specified as a prefix-length or as + a netmask."; + case prefix-length { + leaf prefix-length { + type uint8 { + range "0..32"; + } + default "32"; + description + "The length of the subnet prefix."; + } + } + case netmask { + leaf netmask { + type inet:ipv4-address; + description + "The subnet specified as a netmask"; + } + } + } + leaf fec-type { + type sr-fec-type; + description + "SR OAM IGP FEC TLV type to use in request"; + } + } + } + case target_labels { + container labels { + description + "Ping sr-mpls label stack (up to 12 labels)"; + list label { + key "index"; + description + "Specify label index and value"; + leaf index { + type uint32 { + range "0..9"; + } + mandatory true; + description + "Label index"; + } + leaf label { + type uint32 { + range "16..1048575"; + } + mandatory true; + description + "label value"; + } + } + leaf nil-fec { + type boolean; + description + "Use Nil-FEC TLV and Append Explicit Null"; + } + leaf lsp-endpoint { + type inet:ipv4-address; + description + "Specify the IP of the LSP endpoint"; + } + } + } + case target_policy { + container policy { + description + "Ping sr-mpls policy"; + choice sr-policy-id { + mandatory true; + description + "SR Policy Identifier (binding sid or policy name)"; + case sr-policy-id-bsid { + leaf bsid { + type uint32 { + range "16..1048575"; + } + mandatory true; + description + "SR Policy Binding SID"; + } + } + case sr-policy-id-name { + leaf name { + type string; + mandatory true; + description + "SR Policy Name"; + } + } + } + leaf fec-type { + type sr-fec-type; + description + "SR OAM IGP FEC TLV type to use in request"; + } + leaf nil-fec { + type boolean; + description + "Use Nil-FEC TLV and Append Explicit Null"; + } + leaf lsp-endpoint { + type inet:ipv4-address; + description + "Specify the IP of the LSP endpoint"; + } + } + } + } + } + } + case type-pseudowire { + container pseudowire { + description + "Ping mpls pseudowire"; + choice pw-type { + description + "Ping mpls pseudowire type"; + case type-fec-128 { + container fec-128 { + description + "FEC 128"; + leaf remote-pe-addr { + type inet:ipv4-address; + mandatory true; + description + "PW LSP Egress IPv4 Identifier"; + } + leaf pwid { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Pseudowire Identifier"; + } + leaf deprecated-fec128 { + type boolean; + description + "Force the use of the Deprecated FEC128 described in RFC4379"; + } + container force-control-channel { + description + "Force the use of a VCCV control channel"; + choice force-control-channel-fec128 { + description + "Force control channel type"; + case fcc-128-cw { + leaf control-word { + type boolean; + description + "Force Control Word"; + } + } + case fcc-128-ralabel { + leaf ra-label { + type boolean; + description + "RA Label"; + } + } + case fcc-128-ttl-expiry { + leaf ttl-expiry { + type boolean; + description + "VC Label TTL expiry"; + } + } + } + } + } + } + case type-multisegment { + container multisegment { + description + "Ping mpls pseudowire multisegment"; + leaf remote-pe-addr { + type inet:ipv4-address; + mandatory true; + description + "PW LSP Egress IPv4 Identifier"; + } + leaf pwid { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Pseudowire Identifier"; + } + leaf deprecated-fec128 { + type boolean; + description + "Force the use of the Deprecated FEC128 described in RFC4379"; + } + container destination-fec { + description + "Destination FEC "; + leaf sender-ip { + type inet:ipv4-address; + mandatory true; + description + "Sender address for Destination FEC"; + } + leaf remote-ip { + type inet:ipv4-address; + mandatory true; + description + "Remote address for Destination FEC"; + } + leaf destination-fec-pw-id { + type uint32; + mandatory true; + description + "Destination FEC Pseudowire ID"; + } + } + container force-control-channel { + description + "Force the use of a VCCV control channel"; + choice force-control-channel-mspw { + description + "Force Control Channel type"; + case fcc-mspw-cw { + leaf control-word { + type boolean; + description + "Force Control Word"; + } + } + case fcc-mspw-ttl-expiry { + leaf ttl-expiry { + type boolean; + description + "VC Label TTL expiry"; + } + } + } + } + leaf segment-count { + type uint32 { + range "1..255"; + } + description + "Segement Count for Destination FEC"; + } + } + } + case type-fec-129 { + container fec-129 { + description + "FEC 129"; + choice fec-129-type { + description + "FEC 129 Attachement Identifier Type"; + case fec-129-aii-type1 { + container aii-type1 { + description + "Type 1 Attachment Identifier"; + container vpls-id { + description + "VPLS ID of the bridge domain"; + choice vpls-id-type { + description + "VPLS ID type"; + case vpls-id-2-byte-as { + container byte-as { + description + "Two Byte AS number"; + leaf byte { + type uint16 { + range "1..65535"; + } + mandatory true; + description + "VPLS Byte ID"; + } + leaf space { + type uint32; + mandatory true; + description + "Namespace"; + } + } + } + case vpls-id-ip { + container ip-prefix-as { + description + "IP address"; + leaf ip-prefix { + type inet:ipv4-address; + mandatory true; + description + "VPLS IP Prefix ID"; + } + leaf space { + type uint32 { + range "0..32767"; + } + mandatory true; + description + "Namespace"; + } + } + } + } + } + leaf target { + type inet:ipv4-address; + mandatory true; + description + "L2VPN router-id of the target"; + } + } + } + case fec-129-aii-type2 { + container aii-type2 { + description + "Type 2 Attachment Identifier"; + leaf global-id { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Global ID of the pseudowire"; + } + leaf target { + type inet:ipv4-address; + mandatory true; + description + "Target end address of the pseudowire"; + } + leaf circuit-id { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Attachment Circuit ID"; + } + } + } + } + container force-control-channel { + description + "Force the use of a VCCV control channel"; + choice force-control-channel-fec129 { + description + "Force Control Channel type"; + case fcc-129-cw { + leaf control-word { + type boolean; + description + "Force Control Word"; + } + } + case fcc-129-ralabel { + leaf ra-label { + type boolean; + description + "RA Label"; + } + } + case fcc-129-ttl-expiry { + leaf ttl-expiry { + type boolean; + description + "VC Label TTL expiry"; + } + } + } + } + } + } + } + } + } + } + container request-options-parameters { + description + "MPLS echo request options"; + leaf exp { + type uint8 { + range "0..7"; + } + description + "EXP Bits To Set"; + } + leaf fec { + type boolean; + description + "Force FEC TLV Checks"; + } + leaf interval { + type uint32 { + range "0..3600000"; + } + description + "Time between echo requests in ms"; + } + leaf ddmap { + type boolean; + description + "Use DDMAP (Default is DSMAP)"; + } + leaf force-explicit-null { + type boolean; + description + "Force an explicit null label to be added"; + } + container packet-output { + description + "Packet output options"; + leaf interface-name { + type xr:Interface-name; + description + "Outgoing interface with form R/S/I/P for echo packet"; + } + leaf next-hop { + type inet:ipv4-address; + description + "Outgoing next hop IP (X.X.X.X) for echo packet"; + } + } + leaf pad { + type xr:Hex-integer-16; + description + "HEX Padding 0-ffff"; + } + leaf repeat { + type uint32 { + range "1..2147483647"; + } + default "5"; + description + "Number of echo requests to send"; + } + container reply { + description + "Echo Reply Options"; + leaf dscp { + type uint8 { + range "0..63"; + } + description + "Set DSCP reply value 0-63 (decimal)"; + } + leaf reply-mode { + type request-reply-mode; + description + "Echo Reply Mode"; + } + leaf pad-tlv { + type boolean; + description + "Enable PAD TLV for the request"; + } + } + leaf size { + type uint16 { + range "100..17986"; + } + description + "Define Packet Size for the request"; + } + leaf source { + type inet:ipv4-address; + description + "Source IP address to use in the IP header"; + } + leaf destination { + type inet:ipv4-address; + description + "Destination IP address (127.x.y.z)"; + } + container sweep { + description + "Echo request sweep options"; + leaf minimum { + type uint32 { + range "100..17986"; + } + mandatory true; + description + "Sweep min value"; + } + leaf maximum { + type uint32 { + range "100..17986"; + } + mandatory true; + description + "Sweep max value"; + } + leaf increment { + type uint32 { + range "1..8993"; + } + mandatory true; + description + "Sweep incr value"; + } + } + leaf brief { + type boolean; + description + "Brief mode. Does not include statistical data in result"; + } + leaf timeout { + type uint32 { + range "0..3600"; + } + description + "Time in seconds before the lack of a reply invalidates a request"; + } + leaf ttl { + type uint32 { + range "1..255"; + } + description + "Time to live (hops to until forced punt)"; + } + } + } + output { + container mpls-ping-response { + description + "MPLS ping Response"; + container request-options-parameters { + description + "Echo Request Options"; + leaf exp { + type uint8 { + range "0..7"; + } + description + "EXP Bits To Set"; + } + leaf fec { + type boolean; + description + "Force FEC TLV Checks"; + } + leaf interval { + type uint32 { + range "0..3600000"; + } + description + "Time between echo requests in ms"; + } + leaf ddmap { + type boolean; + description + "Use DDMAP (Default is DSMAP)"; + } + leaf force-explicit-null { + type boolean; + description + "Force an explicit null label to be added"; + } + container packet-output { + description + "Packet output options"; + leaf interface-name { + type xr:Interface-name; + description + "Outgoing interface with form R/S/I/P for echo packet"; + } + leaf next-hop { + type inet:ipv4-address; + description + "Outgoing next hop IP (X.X.X.X) for echo packet"; + } + } + leaf pad { + type xr:Hex-integer-16; + description + "HEX Padding 0-ffff"; + } + leaf repeat { + type uint32 { + range "1..2147483647"; + } + default "5"; + description + "Number of echo requests to send"; + } + container reply { + description + "Reply options"; + leaf dscp { + type uint8 { + range "0..63"; + } + description + "Set DSCP reply value 0-63 (decimal)"; + } + leaf reply-mode { + type request-reply-mode; + description + "Echo Reply Mode"; + } + leaf pad-tlv { + type boolean; + description + "Enable PAD TLV for the request"; + } + } + leaf size { + type uint16 { + range "100..17986"; + } + description + "Define Packet Size for the request"; + } + leaf source { + type inet:ipv4-address; + description + "Source IP address to use in the IP header"; + } + leaf destination { + type inet:ipv4-address; + description + "Destination IP address (127.x.y.z)"; + } + container sweep { + description + "Echo request sweep options"; + leaf minimum { + type uint32 { + range "100..17986"; + } + mandatory true; + description + "Sweep min value"; + } + leaf maximum { + type uint32 { + range "100..17986"; + } + mandatory true; + description + "Sweep max value"; + } + leaf increment { + type uint32 { + range "1..8993"; + } + mandatory true; + description + "Sweep incr value"; + } + } + leaf brief { + type boolean; + description + "Brief mode. Does not include statistical data in result"; + } + leaf timeout { + type uint32 { + range "0..3600"; + } + description + "Time in seconds before the lack of a reply invalidates a request"; + } + leaf ttl { + type uint32 { + range "1..255"; + } + description + "Time to live (hops to until forced punt)"; + } + } + container replies { + description + "MPLS ping replies"; + list reply { + key "reply-index"; + description + "MPLS ping reply"; + leaf reply-index { + type uint64 { + range "1..2147483647"; + } + description + "Index of the reply list"; + } + leaf return-code { + type uint8; + description + "Return Code of the echo request"; + } + leaf return-char { + type string; + description + "Return Char of the echo request"; + } + leaf duration { + type uint32; + description + "Trip duration (msec)"; + } + leaf reply-addr { + type string; + description + "Reply Address"; + } + leaf size { + type uint32; + description + "Packet size"; + } + } + } + container statistics { + description + "Statistics Response"; + leaf tmin { + type uint32; + description + "Minimum Trip Duration"; + } + leaf tmax { + type uint32; + description + "Maximum Trip Duration"; + } + leaf tavg { + type uint32; + description + "Average Trip Duration"; + } + leaf hits { + type uint32; + description + "Number of successful ping requests sent"; + } + leaf tries { + type uint32; + description + "Number of ping requests sent"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-cfg.yang new file mode 100644 index 000000000..d99e05642 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-cfg.yang @@ -0,0 +1,486 @@ +module Cisco-IOS-XR-mpls-static-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-static-cfg"; + prefix mpls-static-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-static package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-static-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + mpls-static: MPLS Static Configuration Data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-05 { + description + "Added support for disabling default route for resolve nexthops globally."; + semver:module-version "3.1.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-static-path { + type enumeration { + enum "pop-and-lookup" { + value 1; + description + "Pop and Lookup"; + } + enum "cross-connect" { + value 2; + description + "Crossconnect"; + } + } + description + "Mpls static path"; + } + + typedef Mpls-static-address-family { + type enumeration { + enum "ipv4-unicast" { + value 1; + description + "IPv4 Unicast"; + } + } + description + "Mpls static address family"; + } + + typedef Mpls-static-label-mode { + type enumeration { + enum "per-vrf" { + value 1; + description + "Per VRF"; + } + enum "per-prefix" { + value 2; + description + "Per Prefix"; + } + enum "lsp" { + value 3; + description + "Cross connect"; + } + } + description + "Mpls static label mode"; + } + + typedef Mpls-static-path-role { + type enumeration { + enum "primary" { + value 0; + description + "Path is only for primary traffic"; + } + enum "backup" { + value 1; + description + "Path is only for backup traffic"; + } + enum "primary-backup" { + value 2; + description + "Path is for primary and backup traffic"; + } + } + description + "Mpls static path role"; + } + + typedef Mpls-static-nh-address-family { + type enumeration { + enum "none" { + value 0; + description + "No Next Hop"; + } + enum "ipv4" { + value 1; + description + "IPv4 Next Hop"; + } + enum "ipv6" { + value 2; + description + "IPv6 Next Hop"; + } + } + description + "Mpls static nh address family"; + } + + typedef Mpls-static-nh-mode { + type enumeration { + enum "configured" { + value 0; + description + "Explicitly configured next hop path"; + } + enum "resolve" { + value 1; + description + "Resolvable next hop which will result in a path + set"; + } + } + description + "Mpls static nh mode"; + } + + typedef Mpls-static-out-label-types { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "out-label" { + value 1; + description + "OutLabel"; + } + enum "pop" { + value 2; + description + "Pop"; + } + enum "exp-null" { + value 3; + description + "IPv4 explicit-null"; + } + enum "ipv6-explicit-null" { + value 4; + description + "IPv6 explicit-null"; + } + } + description + "Mpls static out label types"; + } + + grouping PATH { + description + "Common node of paths, backup-paths"; + list path { + key "path-id"; + description + "Path Information"; + leaf path-id { + type uint32 { + range "1..16"; + } + description + "Number of paths"; + } + leaf path-type { + type Mpls-static-path; + mandatory true; + description + "Type of Path (PopAndLookup, CrossConnect)"; + } + leaf label-type { + type Mpls-static-out-label-types; + mandatory true; + description + "Type of label (Outlabel, ExpNull or Pop)"; + } + leaf next-hop-label { + type uint32 { + range "16..1048575"; + } + description + "Outgoing/NH Label"; + } + leaf next-hop-address { + type inet:ip-address-no-zone; + description + "Next Hop IP Address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Next hop Interface with form R/S/I/P"; + } + leaf afi { + type Mpls-static-nh-address-family; + mandatory true; + description + "Next hop Address Family"; + } + leaf metric { + type uint32 { + range "0..254"; + } + mandatory true; + description + "NH Path Metric"; + } + leaf nh-mode { + type Mpls-static-nh-mode; + mandatory true; + description + "Next hop mode"; + } + leaf path-role { + type Mpls-static-path-role; + description + "Path Role"; + } + leaf backup-id { + type uint32 { + range "0..16"; + } + description + "Backup ID"; + } + } + } + + grouping LOCAL-LABEL-TABLE { + description + "Common node of af, top-label-hash"; + container local-labels { + description + "Local Label"; + list local-label { + key "local-label-id"; + description + "Specify Local Label"; + container label-type { + description + "MPLS Static Local Label Value"; + leaf label-mode { + type Mpls-static-label-mode; + description + "Label Mode (PerVRF, PerPrefix or LSP)"; + } + leaf prefix { + type inet:ip-address-no-zone; + description + "Address (IPv4/6 depending on AFI)"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + } + leaf local-label-id { + type uint32 { + range "16..1048575"; + } + description + "Local Label"; + } + uses PATH-TABLE; + } + } + } + + grouping LABEL-SWITCHED-PATH-TABLE { + description + "Common node of default-vrf, vrf"; + container label-switched-paths { + description + "Table of the Label Switched Paths"; + list label-switched-path { + key "lsp-name"; + description + "Label Switched Path"; + container backup-paths { + description + "Backup Path Parameters"; + uses PATH; + } + container in-label { + description + "MPLS Static Local Label Value"; + leaf in-label-value { + type uint32 { + range "16..1048575"; + } + description + "Local Label"; + } + leaf label-mode { + type Mpls-static-label-mode; + description + "Label Mode (PerVRF, PerPrefix or LSP)"; + } + leaf prefix { + type inet:ip-address-no-zone; + description + "Address (IPv4/6 depending on AFI)"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf tlh-mode { + type boolean; + description + "Top Label Hashing Mode"; + } + } + leaf lsp-name { + type xr:Cisco-ios-xr-string; + description + "LSP Name"; + } + uses RESOLVE-OPTIONS; + uses PATH-TABLE; + } + } + } + + grouping RESOLVE-OPTIONS { + description + "Common node of default-vrf, label-switched-path"; + container resolve-options { + description + "Resolve Nexthop Options"; + leaf disable-default-route { + type empty; + description + "Disable RIB Default Route"; + } + } + } + + grouping PATH-TABLE { + description + "Common node of local-label, label-switched-path"; + container paths { + description + "Forward Path Parameters"; + uses PATH; + } + } + + grouping AF-TABLE { + description + "Common node of default-vrf, vrf"; + container afs { + description + "Address Family Table"; + list af { + key "afi"; + description + "Address Family"; + container top-label-hash { + description + "Top Label Hash"; + uses LOCAL-LABEL-TABLE; + } + leaf afi { + type Mpls-static-address-family; + description + "Address Family"; + } + uses LOCAL-LABEL-TABLE; + } + } + } + + container mpls-static { + presence "CLI submode compatibility."; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-static-cfg.yang which will + provide the compatible functionalities. MPLS + Static Configuration Data"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF Name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses LABEL-SWITCHED-PATH-TABLE; + uses AF-TABLE; + } + } + container interfaces { + description + "MPLS Static Interface Table"; + list interface { + key "interface-name"; + description + "MPLS Static Interface Enable"; + leaf interface-name { + type xr:Interface-name; + description + "Name of Interface"; + } + } + } + container default-vrf { + description + "Default VRF"; + uses LABEL-SWITCHED-PATH-TABLE; + uses RESOLVE-OPTIONS; + uses AF-TABLE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper-sub1.yang new file mode 100644 index 000000000..968b3e60f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper-sub1.yang @@ -0,0 +1,534 @@ +submodule Cisco-IOS-XR-mpls-static-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-static-oper { + prefix Cisco-IOS-XR-mpls-static-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-static package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-29 { + description + "Adding Label and RW Op thread filters and counts."; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mgmt-mpls-static-path-status { + type enumeration { + enum "path-next-hop-none" { + description + "Path NextHop No Status"; + } + enum "path-next-hop-interface-down" { + description + "Path NextHop Interface Down "; + } + enum "path-next-hop-valid" { + description + "Path NextHop Valid"; + } + enum "resolve-failed" { + description + "Path NextHop Resolve Failed"; + } + enum "frr-backup" { + description + "FRR Backup"; + } + enum "backup" { + description + "Backup"; + } + } + description + "Mgmt mpls static path status"; + } + + typedef Mgmt-static-lsp-afi { + type enumeration { + enum "not-applicable" { + value 0; + description + "Not Applicable"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Mgmt static lsp afi"; + } + + typedef Mpls-static-path-role { + type enumeration { + enum "primary" { + description + "Path is only for primary traffic"; + } + enum "backup" { + description + "Path is only for backup traffic"; + } + enum "primary-and-backup" { + description + "Path is for primary and backup traffic"; + } + } + description + "Mpls static path role"; + } + + typedef Mgmt-static-path { + type enumeration { + enum "cross-connect-path" { + description + "Crossconnect Path"; + } + enum "pop-lookup-path" { + description + "Pop and Lookup Path"; + } + } + description + "Mgmt static path"; + } + + typedef Static-ipv6-address { + type inet:ipv6-address; + description + "Static ipv6 address"; + } + + typedef Mgmt-static-addr { + type enumeration { + enum "not-applicable" { + value 0; + description + "Not Applicable"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Mgmt static addr"; + } + + typedef Mgmt-mpls-static-label-status { + type enumeration { + enum "not-created" { + description + "Label Not Created"; + } + enum "vrf-down" { + description + "Label without active VRF"; + } + enum "rewrite-vrf-down" { + description + "Rewrite without active VRF"; + } + enum "lsd-disconnected" { + description + "LSD is disconnected"; + } + enum "lsd-failed" { + description + "LSD operation failed"; + } + enum "wait-for-lsd-reply" { + description + "Waiting for LSD operation"; + } + enum "label-created" { + description + "Label Created"; + } + enum "label-create-failed" { + description + "Label Creation Failed"; + } + enum "label-rewrite-failed" { + description + "Rewrite Creation Failed"; + } + enum "rewrite-next-hop-interface-down" { + description + "Rewrite NextHop Down "; + } + enum "label-discrepancy" { + description + "Label Discrepancy "; + } + enum "rewrite-discrepancy" { + description + "Rewrite Discrepancy "; + } + enum "rewrite-nexthop-unresolved" { + description + "Rewrite Nexthop Unresolved"; + } + enum "label-status-unknown" { + description + "Label Status Unknown"; + } + } + description + "Mgmt mpls static label status"; + } + + typedef Mgmt-mpls-static-label-mode { + type enumeration { + enum "none" { + description + "No Label Mode"; + } + enum "per-prefix" { + description + "Per-prefix Label"; + } + enum "per-vrf" { + description + "Per-VRF label"; + } + enum "cross-connect" { + description + "Label with crossconnect"; + } + } + description + "Mgmt mpls static label mode"; + } + + grouping MPLS-STATIC-SUMMARY { + description + "Summary Information"; + leaf lsp-count { + type uint32; + description + "Total Number of LSPs"; + } + leaf label-count { + type uint32; + description + "Total Number of Labels"; + } + leaf label-error-count { + type uint32; + description + "Total Number of Labels with Errors"; + } + leaf label-discrepancy-count { + type uint32; + description + "Total Number of Labels with Discrepancies"; + } + leaf vrf-count { + type uint32; + description + "Total Number of VRF configured"; + } + leaf active-vrf-count { + type uint32; + description + "Total Number of Active VRF Active"; + } + leaf interface-count { + type uint32; + description + "Total Number of Interface"; + } + leaf interface-foward-reference-count { + type uint32; + description + "Total Number of Active Interface"; + } + leaf mpls-enabled-interface-count { + type uint32; + description + "Total Number of MPLS enabled Interface"; + } + leaf ipv4-res-nh-count { + type uint32; + description + "Total Number of IPv4 ResolveNextHops"; + } + leaf ipv6-res-nh-count { + type uint32; + description + "Total Number of IPv6 ResoleNextHops"; + } + leaf lsd-connected { + type boolean; + description + "LSD connection is up"; + } + leaf im-connected { + type boolean; + description + "IM is connected"; + } + leaf rsi-connected { + type boolean; + description + "RSI is connected"; + } + leaf ribv4-connected { + type boolean; + description + "RIBv4 is connected"; + } + leaf ribv6-connected { + type boolean; + description + "RIBv6 is connected"; + } + leaf lsd-label-operations-count { + type uint32; + description + "Pending LSD Label Operations"; + } + leaf lsd-rewrite-operations-count { + type uint32; + description + "Pending LSD Rewrite Operations"; + } + } + + grouping MPLS-STATIC-LSP-PATH-NH-INFO { + description + "Path Nexthop Info"; + container address { + description + "Next-Hop IP Address"; + uses MPLS-STATIC-CTX-PREFIX-BAG; + } + leaf label { + type uint32; + description + "Next-Hop Label"; + } + leaf interface-name { + type string; + description + "Next-Hop Interface Name"; + } + leaf afi { + type Mgmt-static-lsp-afi; + description + "Next-Hop AFI"; + } + } + + grouping MPLS-STATIC-LSP-PATH-INFO { + description + "Path Info"; + container nexthop { + description + "Nexthop information"; + uses MPLS-STATIC-LSP-PATH-NH-INFO; + } + leaf path-number { + type uint32; + description + "Path Number"; + } + leaf type { + type Mgmt-static-path; + description + "Path Type"; + } + leaf path-role { + type Mpls-static-path-role; + description + "Path Role"; + } + leaf path-id { + type uint8; + description + "Path Id"; + } + leaf backup-id { + type uint8; + description + "Path Backup Id"; + } + leaf status { + type Mgmt-mpls-static-path-status; + description + "Path Status"; + } + } + + grouping MPLS-STATIC-CTX-PREFIX-BAG { + description + "MPLS STATIC CTX PREFIX BAG"; + leaf af-name { + type Mgmt-static-addr; + description + "AFName"; + } + leaf ipv4-prefix { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 context"; + } + leaf ipv6-prefix { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Static-ipv6-address; + description + "IPv6 context"; + } + } + + grouping MPLS-STATIC-LBL-PREFIX-INFO { + description + "Prefix Information"; + container prefix { + description + "Prefix"; + uses MPLS-STATIC-CTX-PREFIX-BAG; + } + leaf prefix-length { + type uint8; + description + "Prefix length"; + } + } + + grouping MPLS-STATIC-LBL-INFO { + description + "Static Label and Prefix information"; + container prefix { + description + "Prefix Information"; + uses MPLS-STATIC-LBL-PREFIX-INFO; + } + container pathset-resolve-nh { + description + "Primary pathset resolve-nexthop IP Address"; + uses MPLS-STATIC-CTX-PREFIX-BAG; + } + container backup-pathset-resolve-nh { + description + "Backup pathset resolve-nexthop IP Address"; + uses MPLS-STATIC-CTX-PREFIX-BAG; + } + leaf label { + type uint32; + description + "Label value"; + } + leaf label-mode { + type Mgmt-mpls-static-label-mode; + description + "Label Mode"; + } + leaf label-status { + type Mgmt-mpls-static-label-status; + description + "Label Status"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf pathset-via-resolve { + type boolean; + description + "Primary Pathset as a result of resolve"; + } + leaf backup-pathset-via-resolve { + type boolean; + description + "Backup Pathset as a result of resolve"; + } + leaf address-family { + type Mgmt-static-addr; + description + "Address Family"; + } + list path-info { + description + "Path Information"; + uses MPLS-STATIC-LSP-PATH-INFO; + } + list backup-path-info { + description + "Backup Path Information"; + uses MPLS-STATIC-LSP-PATH-INFO; + } + } + + grouping MPLS-STATIC-LSP-INFO { + description + "Static LSP information"; + container label { + description + "Label Information"; + uses MPLS-STATIC-LBL-INFO; + } + leaf lsp-name-xr { + type string; + description + "LSP Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper.yang new file mode 100644 index 000000000..fcfeb130d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-static-oper.yang @@ -0,0 +1,120 @@ +module Cisco-IOS-XR-mpls-static-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-static-oper"; + prefix mpls-static-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-static-oper-sub1 { + revision-date 2022-03-29; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-static package operational data. + + This module contains definitions + for the following management objects: + mpls-static: MPLS STATIC operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-29 { + description + "Adding Label and RW Op thread filters and counts."; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping LOCAL-LABEL-TABLE { + description + "Common node of mpls-static, vrf"; + container local-labels { + description + "data for static local-label table"; + list local-label { + key "local-label-id"; + description + "Data for static label"; + leaf local-label-id { + type uint32 { + range "16..1048575"; + } + description + "Local Label"; + } + uses MPLS-STATIC-LBL-INFO; + } + } + } + + container mpls-static { + config false; + description + "MPLS STATIC operational data"; + container vrfs { + description + "VRF table"; + list vrf { + key "vrf-name"; + description + "VRF Name"; + container lsps { + description + "data for static lsp table"; + list lsp { + key "lsp-name"; + description + "Data for static lsp"; + leaf lsp-name { + type xr:Cisco-ios-xr-string; + description + "LSP Name"; + } + uses MPLS-STATIC-LSP-INFO; + } + } + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + uses LOCAL-LABEL-TABLE; + } + } + container summary { + description + "MPLS STATIC summary data"; + uses MPLS-STATIC-SUMMARY; + } + uses LOCAL-LABEL-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-act.yang new file mode 100644 index 000000000..28828df48 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-act.yang @@ -0,0 +1,117 @@ +module Cisco-IOS-XR-mpls-te-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-act"; + prefix mpls-te-act; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix csc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls traffic-eng action commands. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-23 { + description + "IOS XR 7.5.4 revision."; + semver:module-version "1.0.0"; + } + + rpc clear-lsp-counters-all { + description + "clear mpls traffic-eng signaling counters for all tunnels"; + csc:xr-task "mpls-te"; + csc:cli-command "clear mpls traffic-eng counters signaling all"; + } + rpc clear-lsp-counters-name { + description + "clear mpls traffic-eng signaling counters for a tunnel with given name"; + input { + leaf name { + type string; + mandatory true; + description + "Tunnel name"; + } + } + csc:xr-task "mpls-te"; + csc:cli-command "clear mpls traffic-eng counters signaling name "; + } + rpc reoptimize-lsp-all { + description + "Force an immediate reoptimization of all mpls traffic-eng tunnels"; + csc:xr-task "mpls-te"; + csc:cli-command "mpls traffic-eng reoptimize all"; + } + rpc reoptimize-lsp-name { + description + "Force an immediate reoptimization of a tunnel with given name"; + input { + leaf name { + type string; + mandatory true; + description + "Tunnel name"; + } + } + csc:xr-task "mpls-te"; + csc:cli-command "mpls traffic-eng reoptimize name "; + } + rpc resetup-lsp-all { + description + "Force an immediate tear down and setup of all mpls traffic-eng tunnels"; + csc:xr-task "mpls-te"; + csc:cli-command "mpls traffic-eng resetup all"; + } + rpc resetup-lsp-name { + description + "Force an immediate tear down and setup a tunnel with given name"; + input { + leaf name { + type string; + mandatory true; + description + "Tunnel name"; + } + } + csc:xr-task "mpls-te"; + csc:cli-command "mpls traffic-eng resetup name "; + } + rpc auto-bw-apply-all { + description + "Apply auto-bandwidth adjustment instantly on all mpls traffic-eng tunnels"; + csc:xr-task "mpls-te"; + csc:cli-command "mpls traffic-eng auto-bw apply all"; + } + rpc auto-bw-apply-name { + description + "Apply auto-bandwidth adjustment instantly on a tunnel with given name"; + input { + leaf name { + type string; + mandatory true; + description + "Tunnel name"; + } + } + csc:xr-task "mpls-te"; + csc:cli-command "mpls traffic-eng auto-bw apply name "; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-cfg.yang new file mode 100644 index 000000000..b8b204bfe --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-cfg.yang @@ -0,0 +1,7581 @@ +module Cisco-IOS-XR-mpls-te-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-cfg"; + prefix mpls-te-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + mpls-te: The root of MPLS TE configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-snmp-agent-cfg + modules with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-17 { + description + "Added leaf sr-traffic-pct, and retry-timer + 2022-03-18 + Added self-ping under named-tunnels + 2021-11-18 + Added attribute sets for path-option under named-tunnels"; + semver:module-version "3.0.1m"; + } + revision 2021-06-10 { + description + "Removal of leaf oor-recovery-duration and add back as grouping OOR-RECOVERY-DURATION, the grouping is used by multiple parents. add OOR-AVAILABLE-BANDWIDTH-PERCENTAGE add OOR-ACCEPT-LSP-MIN-BANDWIDTH add OOR-ACCEPT-REOPT-LSP add OOR-METRIC-TE-PENALTY add container lsp-oor-green-state add container backoff-timer add grouping OOR-RECOVERY-DURATION"; + semver:module-version "3.0.0"; + } + revision 2021-03-24 { + description + "Added enhancement of auto-tunnel backup capabilities to prevent circuit congestion + 2020-06-11 + new leaf mpls.traffic-eng.timers.backoff-timer"; + semver:module-version "2.2.0"; + } + revision 2020-03-28 { + description + "Added path retry timeout and path error message. + 2020-03-27 + Added PCE redundancy PCC-centric model support."; + semver:module-version "2.1.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes + 2019-09-30 + extra leaves in mpls.traffic-eng.attribute-set.auto-backup.logging.events.lsp-status + 2019-05-12 + Deprecated the native model, replaced by UM model."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-tesrlg-exclude { + type enumeration { + enum "mandatory" { + value 1; + description + "SRLG Mandatory Exclude"; + } + enum "preferred" { + value 2; + description + "SRLG Preferred Exclude"; + } + enum "weighted" { + value 3; + description + "SRLG Weighted Exclude"; + } + } + description + "Mpls tesrlg exclude"; + } + + typedef Mpls-te-affinity-value { + type enumeration { + enum "hex-value" { + value 1; + description + "Affinity value in Hex number"; + } + enum "bit-position" { + value 2; + description + "Affinity value by Bit-Position"; + } + } + description + "Mpls te affinity value"; + } + + typedef Mpls-te-uni-in-place-bit { + type enumeration { + enum "not-set" { + value 0; + description + "NOT SET"; + } + enum "set" { + value 8; + description + "SET"; + } + } + description + "Mpls te uni in place bit"; + } + + typedef Destination-list-name-length { + type string { + length "1..32"; + } + description + "Destination list name length"; + } + + typedef Route-priority-role { + type enumeration { + enum "route-priority-role-head-back-up" { + value 0; + description + "TE Route Priority Role Head Backup"; + } + enum "route-priority-role-head-primary" { + value 1; + description + "TE Route Priority Role Head Primary"; + } + enum "route-priority-role-middle" { + value 2; + description + "TE Route Priority Role Middle"; + } + } + description + "Route priority role"; + } + + typedef Mpls-percent-range { + type uint32 { + range "0..100"; + } + description + "Mpls percent range"; + } + + typedef Otn-signaled-bandwidth-flex-framing { + type enumeration { + enum "cbr" { + value 20; + description + "CBR"; + } + enum "framed-gfp-fixed" { + value 21; + description + "GFP fixed framing type"; + } + enum "framed-gfp-resize" { + value 22; + description + "GFP resizeable framing type"; + } + } + description + "Otn signaled bandwidth flex framing"; + } + + typedef Sr-prepend { + type enumeration { + enum "none-type" { + value 0; + description + "NoneType"; + } + enum "next-label" { + value 1; + description + "Next Label"; + } + enum "bgp-n-hop" { + value 2; + description + "BGP NHOP"; + } + } + description + "Sr prepend"; + } + + typedef Mpls-te-path-selection-tiebreaker { + type enumeration { + enum "min-fill" { + value 1; + description + "Prefer the path with the least-utilized links"; + } + enum "max-fill" { + value 2; + description + "Prefer the path with the most-utilized links"; + } + enum "random" { + value 3; + description + "Prefer a path with links utilized randomly"; + } + } + description + "Mpls te path selection tiebreaker"; + } + + typedef Attribute-set-name-length { + type string { + length "1..64"; + } + description + "Attribute set name length"; + } + + typedef Mpls-te-otn-aps-protection { + type enumeration { + enum "1plus1-unidir-no-aps" { + value 4; + description + "1PLUS1 UNIDIR NO APS"; + } + enum "1plus1-unidir-aps" { + value 8; + description + "1PLUS1 UNIDIR APS"; + } + enum "1plus1-bdir-aps" { + value 16; + description + "1PLUS1 BIDIR APS"; + } + } + description + "Mpls te otn aps protection"; + } + + typedef Ospf-area-mode { + type enumeration { + enum "ospf-int" { + value 0; + description + "OSPF area in integer format"; + } + enum "ospfip-addr" { + value 1; + description + "OSPF area in IP address format"; + } + } + description + "Ospf area mode"; + } + + typedef Mpls-te-path-option-property { + type enumeration { + enum "none" { + value 0; + description + "No property"; + } + enum "lockdown" { + value 1; + description + "Path is not a candidate for reoptimization"; + } + enum "verbatim" { + value 4; + description + "Explicit path does not require topology + database"; + } + enum "pce" { + value 8; + description + "Dynamic path found by PCE server"; + } + enum "segment-routing" { + value 16; + description + "Segment Routing path"; + } + enum "sticky" { + value 32; + description + "Force tunnel to remain on same path"; + } + } + description + "Mpls te path option property"; + } + + typedef Mpls-te-path-computation-method { + type enumeration { + enum "not-set" { + value 0; + description + "NotSet"; + } + enum "dynamic" { + value 1; + description + "Dynamic"; + } + enum "pce" { + value 2; + description + "PCE"; + } + enum "explicit" { + value 3; + description + "Explicit"; + } + } + description + "Mpls te path computation method"; + } + + typedef Mpls-te-signaled-label { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "dwdm" { + value 1; + description + "DWDM Label (RFC 6205), 50GHz channel spacing"; + } + } + description + "Mpls te signaled label"; + } + + typedef Mpls-te-lsp-switch { + type enumeration { + enum "dcsc" { + value 0; + description + "Data channel switch capable"; + } + enum "lsc" { + value 1; + description + "Lambda switch capable"; + } + enum "fsc" { + value 2; + description + "Fiber switch capable"; + } + } + description + "Mpls te lsp switch"; + } + + typedef Mpls-te-path-option-xro { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "xro-attribute-set-type" { + value 1; + description + "Defined as attribute-set"; + } + } + description + "Mpls te path option xro"; + } + + typedef Otn-destination { + type enumeration { + enum "number-ed" { + value 0; + description + "Destination numbered"; + } + enum "un-number-ed" { + value 1; + description + "Destination unnumbered"; + } + } + description + "Otn destination"; + } + + typedef Mpls-te-tunnel-affinity { + type enumeration { + enum "include" { + value 1; + description + "Include Affinity"; + } + enum "include-strict" { + value 2; + description + "Strictly Include Affinity"; + } + enum "exclude" { + value 3; + description + "Exclude Affinity"; + } + enum "exclude-all" { + value 4; + description + "Exclude All Affinities"; + } + enum "ignore" { + value 5; + description + "Ignore Affinity"; + } + enum "include-any" { + value 6; + description + "Include Any Affinity"; + } + } + description + "Mpls te tunnel affinity"; + } + + typedef Otn-static-uni { + type enumeration { + enum "unknown" { + value 0; + description + "Uni-Type None"; + } + enum "xc" { + value 1; + description + "Uni-Type XC"; + } + enum "termination" { + value 2; + description + "Uni-Type Termination"; + } + } + description + "Otn static uni"; + } + + typedef Mpls-te-lsp-enc { + type enumeration { + enum "ethernet-type1" { + value 0; + description + "Ethernet Type1"; + } + enum "ethernet-type2" { + value 1; + description + "Ethernet Type2"; + } + enum "lambda" { + value 2; + description + "Lambda"; + } + enum "fiber" { + value 3; + description + "Fiber"; + } + } + description + "Mpls te lsp enc"; + } + + typedef Mpls-te-switching-cap { + type enumeration { + enum "psc1" { + value 1; + description + "PSC1"; + } + enum "lsc" { + value 150; + description + "LSC"; + } + enum "fsc" { + value 200; + description + "FSC"; + } + } + description + "Mpls te switching cap"; + } + + typedef Mpls-te-otn-aps-protection-mode { + type enumeration { + enum "revertive" { + value 1; + description + "Revertive"; + } + enum "non-revertive" { + value 2; + description + "Non Revertive"; + } + } + description + "Mpls te otn aps protection mode"; + } + + typedef Mpls-te-config-tunnel { + type enumeration { + enum "p2p" { + value 0; + description + "P2P"; + } + enum "p2mp" { + value 1; + description + "P2MP"; + } + } + description + "Mpls te config tunnel"; + } + + typedef Mpls-te-bfd-session-down-action { + type enumeration { + enum "re-setup" { + value 1; + description + "Tear down and resetup"; + } + } + description + "Mpls te bfd session down action"; + } + + typedef Mpls-te-log-frr-protection { + type enumeration { + enum "frr-active-primary" { + value 1; + description + "Track only FRR active on primary LSP"; + } + enum "backup" { + value 256; + description + "backup tunnel"; + } + enum "frr-ready-primary" { + value 512; + description + "Track only FRR ready on primary LSP"; + } + enum "primary" { + value 513; + description + "primary LSP"; + } + enum "all" { + value 769; + description + "all"; + } + } + description + "Mpls te log frr protection"; + } + + typedef Link-next-hop { + type enumeration { + enum "none" { + value 1; + description + "No next hop"; + } + enum "ipv4-address" { + value 2; + description + "IPv4 next-hop address"; + } + } + description + "Link next hop"; + } + + typedef Mpls-lcac-bandwidth-hold-timer-range { + type uint32 { + range "1..300"; + } + description + "Mpls lcac bandwidth hold timer range"; + } + + typedef Mpls-te-uni-required-bit { + type enumeration { + enum "not-set" { + value 0; + description + "NOT SET"; + } + enum "set" { + value 4; + description + "SET"; + } + } + description + "Mpls te uni required bit"; + } + + typedef Mpls-te-autoroute-metric { + type enumeration { + enum "relative" { + value 1; + description + "Relative"; + } + enum "absolute" { + value 2; + description + "Absolute"; + } + enum "constant" { + value 3; + description + "Constant"; + } + } + description + "Mpls te autoroute metric"; + } + + typedef Bandwidth-constraint { + type enumeration { + enum "bandwidth-constraint-maximum-allocation-model" { + value 1; + description + "Maximum Allocation Bandwidth Constaints Model"; + } + } + description + "Bandwidth constraint"; + } + + typedef Otn-payload { + type enumeration { + enum "unknown" { + value 0; + description + "Payload unknown"; + } + enum "bmp" { + value 50; + description + "Bmp Payload"; + } + enum "gfp-f" { + value 54; + description + "Gfp_F Payload"; + } + enum "gmp" { + value 55; + description + "GMP Payload"; + } + enum "gfp-f-ext" { + value 70; + description + "Gfp_F_EXT Payload"; + } + } + description + "Otn payload"; + } + + typedef Mpls-te-otn-snc-mode { + type enumeration { + enum "snc-n" { + value 1; + description + "SNC N"; + } + enum "snc-i" { + value 2; + description + "SNC I"; + } + enum "snc-s" { + value 3; + description + "SNC S"; + } + } + description + "Mpls te otn snc mode"; + } + + typedef Bfd-reverse-path { + type enumeration { + enum "bfd-reverse-path-binding-label" { + value 1; + description + "BindingLabel"; + } + } + description + "Bfd reverse path"; + } + + typedef Mpls-te-path-selection-metric { + type enumeration { + enum "igp" { + value 1; + description + "IGP Metric"; + } + enum "te" { + value 2; + description + "TE Metric"; + } + enum "delay" { + value 4; + description + "DELAY Metric"; + } + } + description + "Mpls te path selection metric"; + } + + typedef Mpls-te-path-option { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "dynamic" { + value 1; + description + "Dynamic"; + } + enum "explicit-name" { + value 3; + description + "Explicit, identified by name"; + } + enum "explicit-number" { + value 4; + description + "Explicit, identified by number"; + } + enum "no-ero" { + value 5; + description + "No ERO"; + } + enum "sr" { + value 6; + description + "Deprecated"; + } + } + description + "Mpls te path option"; + } + + typedef Mpls-lcac-flooding-igp { + type enumeration { + enum "ospf" { + value 0; + description + "OSPF"; + } + } + description + "Mpls lcac flooding igp"; + } + + typedef Otn-protection-switch-lockout { + type enumeration { + enum "none" { + value 0; + description + "No Lockout"; + } + enum "working" { + value 1; + description + "Lockout Working"; + } + } + description + "Otn protection switch lockout"; + } + + typedef Mpls-te-tunnel-id { + type enumeration { + enum "auto" { + value 0; + description + "Auto"; + } + enum "explicit" { + value 1; + description + "Explicit"; + } + } + description + "Mpls te tunnel id"; + } + + typedef Otn-signaled-bandwidth { + type enumeration { + enum "odu1" { + value 1; + description + "Signalled BW for ODU1"; + } + enum "odu2" { + value 2; + description + "Signalled BW for ODU2"; + } + enum "odu3" { + value 3; + description + "Signalled BW for ODU3"; + } + enum "odu4" { + value 4; + description + "Signalled BW for ODU4"; + } + enum "odu0" { + value 10; + description + "Signalled BW for ODU0"; + } + enum "odu2e" { + value 11; + description + "Signalled BW for ODU2e"; + } + enum "od-uflex-cbr" { + value 20; + description + "Signalled BW for ODUflex CBR"; + } + enum "od-uflex-gfp-resize" { + value 21; + description + "Signalled BW for ODUflex GFP Resizable"; + } + enum "od-uflex-gfp-not-resize" { + value 22; + description + "Signalled BW for ODUflex GFP not Resizable"; + } + enum "odu1e" { + value 23; + description + "Signalled BW for ODU1e"; + } + enum "odu1f" { + value 24; + description + "Signalled BW for ODU1f"; + } + enum "odu2f" { + value 25; + description + "Signalled BW for ODU2f"; + } + enum "odu3e1" { + value 26; + description + "Signalled BW for ODU3e1"; + } + enum "odu3e2" { + value 27; + description + "Signalled BW for ODU3e2"; + } + } + description + "Otn signaled bandwidth"; + } + + typedef Mpls-te-bandwidth-dste { + type enumeration { + enum "standard-dste" { + value 0; + description + "IETF-Standard DSTE"; + } + enum "pre-standard-dste" { + value 1; + description + "Pre-Standard DSTE"; + } + } + description + "Mpls te bandwidth dste"; + } + + typedef Mpls-te-path-selection-invalidation-timer-expire { + type enumeration { + enum "tunnel-action-tear" { + value 1; + description + "Tear down tunnel."; + } + enum "tunnel-action-drop" { + value 2; + description + "Drop tunnel traffic."; + } + } + description + "Mpls te path selection invalidation timer expire"; + } + + typedef Attribute-set-affinity-name-length { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Attribute set affinity name length"; + } + + typedef Mpls-te-path-diversity-conformance { + type enumeration { + enum "strict" { + value 0; + description + "Strict"; + } + enum "best-effort" { + value 1; + description + "Best effort"; + } + } + description + "Mpls te path diversity conformance"; + } + + typedef Mpls-te-uni-lsp-seg-flag { + type enumeration { + enum "unprotected" { + value 0; + description + "UNPROTECTED"; + } + enum "rerouting" { + value 1; + description + "REROUTING"; + } + enum "rerouting-no-et" { + value 2; + description + "REROUTING NO ET"; + } + enum "rerouting-one-to-n-et" { + value 4; + description + "REROUTING ONE TO N ET"; + } + enum "rerouting-one-plus-one-uni" { + value 8; + description + "REROUTING ONE PLUS ONE UNI"; + } + enum "rerouting-one-plus-one-bi" { + value 16; + description + "REROUTING ONE PLUS ONE BI"; + } + } + description + "Mpls te uni lsp seg flag"; + } + + typedef Mpls-lcac-flooding-threshold-percent-range { + type uint32 { + range "0..100"; + } + description + "Mpls lcac flooding threshold percent range"; + } + + typedef Ietf-mode { + type enumeration { + enum "standard" { + value 3; + description + "IETF Standard"; + } + } + description + "Ietf mode"; + } + + typedef Mpls-te-otn-aps-restoration-style { + type enumeration { + enum "keep-failed-lsp" { + value 1; + description + "Keep Failed Lsp"; + } + enum "delete-failed-lsp" { + value 2; + description + "Delete Failed Lsp"; + } + } + description + "Mpls te otn aps restoration style"; + } + + typedef Mpls-te-path-selection-segment-routing-adjacency-protection { + type enumeration { + enum "not-set" { + value 0; + description + "Any segment can be used in a path."; + } + enum "adj-unprotected" { + value 1; + description + "Only unprotected adjacency segments can be used + in a path."; + } + enum "adj-protected" { + value 2; + description + "Only protected adjacency segments can be used + in a path."; + } + } + description + "Mpls te path selection segment routing adjacency + protection"; + } + + typedef Gmplstti-mode { + type enumeration { + enum "sm" { + value 1; + description + "Section Monitoring"; + } + enum "pm" { + value 2; + description + "Path Monitoring"; + } + enum "tcm" { + value 3; + description + "Tandem Connection"; + } + } + description + "Gmplstti mode"; + } + + typedef Mpls-te-switching-encoding { + type enumeration { + enum "packet" { + value 1; + description + "Packet"; + } + enum "ethernet" { + value 2; + description + "Ethernet"; + } + enum "sondet-sdh" { + value 5; + description + "SONET SDH"; + } + } + description + "Mpls te switching encoding"; + } + + typedef Mpls-te-sig-name-option { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "address" { + value 1; + description + "Address"; + } + enum "name" { + value 2; + description + "Name"; + } + } + description + "Mpls te sig name option"; + } + + typedef Mpls-te-policy-class-range { + type uint32 { + range "1..8"; + } + description + "Mpls te policy class range"; + } + + typedef Mesh-group-id { + type uint32 { + range "0..4294967295"; + } + description + "Mesh group id"; + } + + typedef Path-invalidation-action { + type enumeration { + enum "tear" { + value 1; + description + "Tear"; + } + enum "drop" { + value 2; + description + "Drop"; + } + } + description + "Path invalidation action"; + } + + typedef Mpls-te-switching-index { + type union { + type enumeration { + enum "link" { + value 255; + description + "Link"; + } + } + type uint32 { + range "1..255"; + } + } + description + "Mpls te switching index"; + } + + typedef Mpls-te-igp-protocol { + type enumeration { + enum "none" { + value 0; + description + "Not set"; + } + enum "isis" { + value 1; + description + "IS IS"; + } + enum "ospf" { + value 2; + description + "OSPF"; + } + } + description + "Mpls te igp protocol"; + } + + typedef Mpls-tebfd-session { + type enumeration { + enum "regular-bfd" { + value 1; + description + "Regular BFD"; + } + enum "sbfd" { + value 2; + description + "Seamless BFD"; + } + enum "redundant-sbfd" { + value 3; + description + "Redundant SBFD"; + } + } + description + "Mpls tebfd session"; + } + + typedef Binding-segment-id { + type enumeration { + enum "any-label" { + value 1; + description + "AnyLabel"; + } + enum "specified-label" { + value 2; + description + "SpecifiedLabel"; + } + } + description + "Binding segment id"; + } + + typedef Mpls-te-backup-bandwidth-pool { + type enumeration { + enum "any-pool" { + value 1; + description + "Any Pool"; + } + enum "global-pool" { + value 2; + description + "Global Pool"; + } + enum "sub-pool" { + value 4; + description + "Sub Pool"; + } + } + description + "Mpls te backup bandwidth pool"; + } + + typedef Mpls-te-switching-encode { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "packet" { + value 1; + description + "Packet"; + } + enum "ethernet" { + value 2; + description + "Ethernet"; + } + enum "sondet-sdh" { + value 5; + description + "SONET SDH"; + } + } + description + "Mpls te switching encode"; + } + + typedef Mpls-te-backup-bandwidth-class { + type enumeration { + enum "class0" { + value 0; + description + "Class 0"; + } + enum "class1" { + value 1; + description + "Class 1"; + } + enum "any-class" { + value 9; + description + "Any Class"; + } + } + description + "Mpls te backup bandwidth class"; + } + + typedef Mpls-te-path-option-protection { + type enumeration { + enum "active" { + value 0; + description + "Active path"; + } + enum "protecting" { + value 1; + description + "Protecting Path"; + } + } + description + "Mpls te path option protection"; + } + + typedef Mpls-te-bandwidth-limit { + type enumeration { + enum "unlimited" { + value 64; + description + "Unlimited"; + } + enum "limited" { + value 128; + description + "Limited"; + } + } + description + "Mpls te bandwidth limit"; + } + + grouping OOR-ACCEPT-REOPT-LSP { + description + "Common node of oor-green-state, oor-yellow-state, + oor-red-state, lsp-oor-green-state, + lsp-oor-yellow-state, lsp-oor-red-state"; + leaf oor-accept-reopt-lsp { + type empty; + description + "Allow the setup of reoptimized LSPs over the + link in this OOR State"; + } + } + + grouping PATH-ERROR-MESSAGE { + description + "Common node of logging, auto-mesh-logging"; + leaf path-error-message { + type empty; + description + "Log tunnel messages for path error"; + } + } + + grouping PCALC-FAILURE-MESSAGE { + description + "Common node of logging, auto-mesh-logging"; + leaf pcalc-failure-message { + type empty; + description + "Enable logging for path-calculation failures"; + } + } + + grouping POLICY-CLASSES { + description + "Common node of tunnel-te-attributes, + auto-mesh-attribute, auto-backup-attribute"; + container policy-classes { + description + "Policy classes for PBTS"; + leaf-list policy-class { + type Mpls-te-policy-class-range; + max-elements "7"; + description + "Array of Policy class"; + } + } + } + + grouping UNPROTECTED-TRANSIT-LSP-THRESHOLD { + description + "Common node of lsp-oor-yellow-state, + lsp-oor-red-state"; + leaf unprotected-transit-lsp-threshold { + type uint32; + description + "Threshold for unprotected transit LSPs"; + } + } + + grouping AFFINITY-MASK { + description + "Common node of tunnel-te-attributes, + tunnel-attributes, auto-mesh-attribute, + auto-backup-attribute, path-option-attribute, + p2mpte-attribute, p2p-te-attribute"; + container affinity-mask { + presence "Indicates a affinity-mask node is configured."; + description + "Set the affinity flags and mask"; + leaf affinity { + type xr:Hex-integer; + mandatory true; + description + "Affinity flags"; + } + leaf mask { + type xr:Hex-integer; + mandatory true; + description + "Affinity mask"; + } + } + } + + grouping BANDWIDTH-CHANGE-MESSAGE { + description + "Common node of logging, auto-backup-logging, + auto-mesh-logging"; + leaf bandwidth-change-message { + type empty; + description + "Log tunnel messages for bandwidth change"; + } + } + + grouping REOPTIMIZE-ATTEMPTS-MESSAGE { + description + "Common node of logging, auto-backup-logging, + auto-mesh-logging"; + leaf reoptimize-attempts-message { + type empty; + description + "Log tunnel reoptimization attempts messages"; + } + } + + grouping OOR-AVAILABLE-BANDWIDTH-PERCENTAGE { + description + "Common node of oor-green-state, oor-yellow-state, + oor-red-state, lsp-oor-green-state, + lsp-oor-yellow-state, lsp-oor-red-state"; + leaf oor-available-bandwidth-percentage { + type uint32 { + range "0..100"; + } + units "percentage"; + default "100"; + description + "Flood a specific percentage of the available + bandwidth"; + } + } + + grouping TIMERS { + description + "Common node of backup, mesh"; + container timers { + description + "Configure auto-tunnel backup timers value"; + container removal { + description + "Configure auto-tunnel backup removal timers + value"; + leaf unused { + type uint32 { + range "0..10080"; + } + units "minute"; + default "3600"; + description + "Auto-tunnel backup unused timeout in minutes + (0=never timeout)"; + } + } + } + } + + grouping TUNNEL-PATH-SELECTION { + description + "Common node of tunnel-te-attributes, + tunnel-attributes"; + container tunnel-path-selection { + description + "Configure path selection properties"; + leaf tiebreaker { + type Mpls-te-path-selection-tiebreaker; + description + "CSPF tiebreaker to use in path calculation"; + } + leaf path-selection-hop-limit { + type uint32 { + range "1..255"; + } + description + "Path selection hop limit configuration for this + specific tunnel"; + } + uses PATH-SELECTION-DELAY-LIMIT; + uses INVALIDATION; + uses PATH-SELECTION-COST-LIMIT; + } + } + + grouping INVALIDATION { + description + "Common node of tunnel-te-attributes, + tunnel-attributesCommon node of + tunnel-path-selection, + att-path-option-path-selection"; + container invalidation { + presence "enable invalidation"; + description + "Deprecated"; + leaf path-invalidation-timeout { + type uint32 { + range "0..60000"; + } + description + "Path Invalidation Timeout"; + } + leaf path-invalidation-action { + type Path-invalidation-action; + description + "Path Invalidation Action"; + } + } + } + + grouping PRECEDENCE { + description + "Common node of peer, pce-attributes"; + leaf precedence { + type uint32 { + range "0..255"; + } + description + "Precedence order"; + } + } + + grouping SOFT-PREEMPTION { + description + "Common node of tunnel-attributes, + tunnel-te-attributes, auto-mesh-attribute, + auto-backup-attribute"; + leaf soft-preemption { + type empty; + description + "Enable the soft-preemption feature on the tunnel"; + } + } + + grouping PATH-SELECTION-COST-LIMIT { + description + "Common node of tunnel-path-selection, + att-path-option-path-selection"; + leaf path-selection-cost-limit { + type uint32 { + range "1..4294967295"; + } + description + "Path selection cost limit configuration for this + specific tunnel"; + } + } + + grouping AUTO-BANDWIDTH { + description + "Common node of tunnel-attributes, + tunnel-te-attributes"; + container auto-bandwidth { + description + "Tunnel Interface Auto-bandwidth configuration + data"; + container underflow { + presence "Indicates a underflow node is configured."; + description + "Configuring the tunnel underflow detection"; + leaf underflow-threshold-percent { + type uint32 { + range "1..100"; + } + units "percentage"; + mandatory true; + description + "Bandwidth change percent to trigger an + underflow"; + } + leaf underflow-threshold-value { + type uint32 { + range "10..4294967295"; + } + units "kbit/s"; + mandatory true; + description + "Bandwidth change value to trigger an underflow + (kbps)"; + } + leaf underflow-threshold-limit { + type uint32 { + range "1..10"; + } + mandatory true; + description + "Number of consecutive collections exceeding + threshold"; + } + } + container overflow { + presence "Indicates a overflow node is configured."; + description + "Configuring the tunnel overflow detection"; + leaf overflow-threshold-percent { + type uint32 { + range "1..100"; + } + units "percentage"; + mandatory true; + description + "Bandwidth change percent to trigger an + overflow"; + } + leaf overflow-threshold-value { + type uint32 { + range "10..4294967295"; + } + units "kbit/s"; + mandatory true; + description + "Bandwidth change value to trigger an overflow + (kbps)"; + } + leaf overflow-threshold-limit { + type uint32 { + range "1..10"; + } + mandatory true; + description + "Number of consecutive collections exceeding + threshold"; + } + } + container bandwidth-limits { + presence "Indicates a bandwidth-limits node is configured."; + description + "Set min/max bandwidth auto-bw can apply on a + tunnel"; + leaf bandwidth-min-limit { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "Set minimum bandwidth auto-bw can apply on a + tunnel"; + } + leaf bandwidth-max-limit { + type uint32 { + range "0..4294967295"; + } + mandatory true; + description + "Set maximum bandwidth auto-bw can apply on a + tunnel"; + } + } + container adjustment-threshold { + presence "Indicates a adjustment-threshold node is configured."; + description + "Set the bandwidth change threshold to trigger + adjustment"; + leaf adjustment-threshold-percent { + type uint32 { + range "1..100"; + } + units "percentage"; + mandatory true; + description + "Bandwidth change percent to trigger adjustment"; + } + leaf adjustment-threshold-value { + type uint32 { + range "10..4294967295"; + } + units "kbit/s"; + mandatory true; + description + "Bandwidth change value to trigger adjustment + (kbps)"; + } + } + container auto-capacity { + description + "Tunnel auto-capacity configuration data"; + leaf nominal-bandwidth { + type uint32 { + range "0..4294967295"; + } + units "kbit/s"; + description + "Bandwidth value used to compute the desired + number of tunnels for auto-capacity"; + } + leaf enable { + type boolean; + description + "Enable auto-capacityThe object must be set + before any other auto capacity configuration + is supplied for the tunnel,and must be the + last auto-capacity configuration object to be + removed."; + } + leaf clones-minimum { + type uint32 { + range "0..63"; + } + default "0"; + description + "Lower limit on the number of clones can be + created for the tunnel"; + } + leaf split-bandwidth { + type uint32 { + range "0..4294967295"; + } + units "kbit/s"; + description + "Upper bandwidth limit that causes the tunnel + to be split"; + } + leaf merge-bandwidth { + type uint32 { + range "0..4294967295"; + } + units "kbit/s"; + description + "Lower bandwidth limit that causes the tunnel + to be merged"; + } + leaf clones-maximum { + type uint32 { + range "0..63"; + } + default "63"; + description + "Upper limit on the number of clones can be + created for the tunnel"; + } + } + leaf underflow-enable { + type boolean; + description + "Enable auto bandwidth underflow detection"; + } + leaf resignal-last-bandwidth-time-out { + type uint32 { + range "1..3600000"; + } + units "second"; + description + "Set the tunnel auto-bw resignal last bandwidth + time-out in seconds"; + } + leaf enabled { + type boolean; + description + "This object is only valid for tunnel interfaces + and it controls whether that interface has + auto-bw enabled on it or not.The object must be + set before any other auto-bw configuration is + supplied for the interface, and must be the + last auto-bw configuration object to be removed + ."; + } + leaf application-frequency { + type uint32 { + range "5..10080"; + } + units "minute"; + description + "Set the tunnel auto-bw application frequency in + minutes"; + } + leaf overflow-enable { + type boolean; + description + "Enable auto bandwidth overflow detection"; + } + uses COLLECTION-ONLY; + } + } + + grouping RECORD-ROUTE { + description + "Common node of tunnel-attributes, + tunnel-te-attributes, auto-mesh-attribute, + auto-backup-attribute, gmpls-unitunnel-head, + p2mpte-attribute, tunnel-head"; + leaf record-route { + type empty; + description + "Record the route used by the tunnel"; + } + } + + grouping OOR-RECOVERY-DURATION { + description + "Common node of oor-green-state, + lsp-oor-green-state"; + leaf oor-recovery-duration { + type uint32 { + range "0..10080"; + } + units "minute"; + default "0"; + description + "Period of time (minutes) during which the action + in Green state are applied. After this period, + the processing in TE goes back to normal state"; + } + } + + grouping OOR-ACCEPT-LSP-MIN-BANDWIDTH { + description + "Common node of oor-green-state, oor-yellow-state, + oor-red-state, lsp-oor-green-state, + lsp-oor-yellow-state, lsp-oor-red-state"; + leaf oor-accept-lsp-min-bandwidth { + type uint32; + units "kbit/s"; + default "0"; + description + "Only accept LSPs with at least the specified + bandwidth (in kbps)."; + } + } + + grouping LOGGING { + description + "Common node of tunnel-te-attributes, + tunnel-attributes, p2p-te-attribute"; + container logging { + description + "Log tunnel LSP messages"; + leaf lsp-switch-over-change-message { + type empty; + description + "Log tunnel messages for bandwidth change"; + } + leaf all { + type empty; + description + "Log all events for a tunnel"; + } + leaf record-route-messsage { + type empty; + description + "Log tunnel record-route messages"; + } + leaf bfd-state-message { + type empty; + description + "Enable BFD session state change alarm"; + } + uses BANDWIDTH-CHANGE-MESSAGE; + uses REOPTIMIZE-ATTEMPTS-MESSAGE; + uses REROUTE-MESSSAGE; + uses STATE-MESSAGE; + uses PATH-ERROR-MESSAGE; + uses INSUFFICIENT-BW-MESSAGE; + uses REOPTIMIZED-MESSAGE; + uses PCALC-FAILURE-MESSAGE; + } + } + + grouping MPLS-MTE-TUNNEL-CFG-LOGGING { + description + "Common node of tunnel-te-attributes, + tunnel-attributes, p2p-te-attributeCommon node of + mte-tunnel-attributes, p2mpte-attribute"; + container logging { + description + "Log tunnel LSP messages"; + leaf insufficient-bw-message { + type empty; + description + "Log tunnel messages for insufficient bandwidth"; + } + leaf reoptimized-message { + type empty; + description + "Log tunnel reoptimized messages"; + } + leaf bandwidth-change-message { + type empty; + description + "Log tunnel bandwidth change messages"; + } + leaf all { + type empty; + description + "Log all events for a tunnel"; + } + leaf pcalc-failure-message { + type empty; + description + "Enable logging for path-calculation failures"; + } + leaf state-message { + type empty; + description + "Log tunnel state messages"; + } + leaf reoptimize-attempts-message { + type empty; + description + "Log tunnel reoptimization attempts messages"; + } + leaf sub-lsp-state-message { + type empty; + description + "Log all tunnel sub-LSP state messages"; + } + leaf reroute-messsage { + type empty; + description + "Log tunnel rereoute messages"; + } + } + } + + grouping COLLECTION-ONLY { + description + "Common node of auto-bandwidth, + auto-mesh-attribute"; + leaf collection-only { + type empty; + description + "Enable bandwidth collection only, no auto-bw + adjustment"; + } + } + + grouping PCE { + description + "Common node of path-option-attribute, + p2p-te-attribute"; + container pce { + description + "Configure pce properties"; + container bidirectional { + presence "Indicates a bidirectional node is configured."; + description + "Bidirectional parameters"; + leaf bd-source-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Bidirectional Source IP Address"; + } + leaf bd-group-id { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Bidirectional Group ID"; + } + } + container disjoint-path { + presence "Indicates a disjoint-path node is configured."; + description + "Disjoint path parameters"; + leaf dp-source-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Disjoint Path Source IP Address"; + } + leaf dp-type { + type uint32 { + range "1..3"; + } + mandatory true; + description + "Disjoint Path Type"; + } + leaf dp-group-id { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Disjoint Path Group ID"; + } + } + leaf enable { + type empty; + description + "Always set to true"; + } + } + } + + grouping DESTINATION { + description + "Common node of tunnel-te-attributes, + tunnel-attributes"; + leaf destination { + type inet:ipv4-address-no-zone; + description + "Set the destination of the tunnel"; + } + } + + grouping STATE-MESSAGE { + description + "Common node of logging, logging, + auto-backup-logging, auto-mesh-logging"; + leaf state-message { + type empty; + description + "Log tunnel state messages"; + } + } + + grouping LOAD-SHARE { + description + "Common node of tunnel-attributes, + tunnel-te-attributes, auto-mesh-attribute"; + leaf load-share { + type uint32 { + range "1..4294967295"; + } + description + "Tunnel loadsharing metric"; + } + } + + grouping PATH-SELECTION { + description + "Common node of auto-mesh-attribute, xro-attribute + , auto-backup-attribute, p2mpte-attribute, + otn-pp-attribute, uni-p-attribute"; + container path-selection { + description + "Configure path selection properties"; + leaf enable { + type empty; + description + "Enable path selection"; + } + } + } + + grouping SIGNALLED-NAME { + description + "Common node of tunnel-te-attributes, + gmpls-unitunnel-head, tunnel-head"; + leaf signalled-name { + type string { + length "1..254"; + } + description + "The name of the tunnel to be included in + signalling messages"; + } + } + + grouping REOPTIMIZED-MESSAGE { + description + "Common node of logging, auto-backup-logging, + auto-mesh-logging"; + leaf reoptimized-message { + type empty; + description + "Log tunnel reoptimized messages"; + } + } + + grouping NEW-STYLE-AFFINITY-TABLE { + description + "Common node of logging, auto-backup-logging, + auto-mesh-loggingCommon node of tunnel-attributes + , tunnel-te-attributes, path-option-attribute, + auto-backup-attribute, auto-mesh-attribute, + p2mpte-attribute, p2p-te-attribute"; + container new-style-affinity-affinity-types { + description + "Tunnel new style affinity attributes table"; + list new-style-affinity-affinity-type { + key "affinity-type"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + } + list new-style-affinity-affinity-type-affinity1 { + key "affinity-type affinity1"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2 { + key "affinity-type affinity1 affinity2"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3 { + key "affinity-type affinity1 affinity2 affinity3"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4 { + key "affinity-type affinity1 affinity2 affinity3 affinity4"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7-affinity8 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7 affinity8"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + leaf affinity8 { + type xr:Cisco-ios-xr-string; + description + "The name of the eighth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7-affinity8-affinity9 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7 affinity8 affinity9"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + leaf affinity8 { + type xr:Cisco-ios-xr-string; + description + "The name of the eighth affinity"; + } + leaf affinity9 { + type xr:Cisco-ios-xr-string; + description + "The name of the nineth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7-affinity8-affinity9-affinity10 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7 affinity8 affinity9 affinity10"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + leaf affinity8 { + type xr:Cisco-ios-xr-string; + description + "The name of the eighth affinity"; + } + leaf affinity9 { + type xr:Cisco-ios-xr-string; + description + "The name of the nineth affinity"; + } + leaf affinity10 { + type xr:Cisco-ios-xr-string; + description + "The name of the tenth affinity"; + } + } + } + } + + grouping FAST-REROUTE { + description + "Common node of tunnel-attributes, + tunnel-te-attributes, auto-mesh-attribute, + p2mpte-attribute"; + container fast-reroute { + presence "Indicates a fast-reroute node is configured."; + description + "Specify MPLS tunnel can be fast-rerouted"; + leaf bandwidth-protection { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Bandwidth Protection"; + } + leaf node-protection { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Node Protection"; + } + } + } + + grouping TUNNEL-RANGE { + description + "Common node of backup, mesh, p2mp-auto-tunnel, + p2p-auto-tunnel, pcc"; + container tunnel-range { + presence "Indicates a tunnel-range node is configured."; + description + "Configure tunnel ID range for auto-tunnel + features"; + leaf min-tunnel-id { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Minimum tunnel ID for auto-tunnels"; + } + leaf max-tunnel-id { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Maximum tunnel ID for auto-tunnels"; + } + } + } + + grouping DELAY-MEASUREMENT { + description + "Common node of tunnel-attributes, + tunnel-te-attributes"; + leaf delay-measurement { + type empty; + description + "Enable the delay-measurement feature on the + tunnel"; + } + } + + grouping ENABLE { + description + "Common node of path-selection, + att-path-option-path-selection"; + leaf enable { + type empty; + description + "Enter path selection configuration"; + } + } + + grouping AUTOROUTE { + description + "Common node of tunnel-attributes, + tunnel-te-attributes"; + container autoroute { + description + "Parameters for IGP routing over tunnel"; + container autoroute-announce { + description + "Announce tunnel to IGP"; + container exclude-traffic { + description + "Exclude traffic on autorouted tunnel"; + leaf segment-routing { + type empty; + description + "Exclude tunnel in IGP for SR prefixes"; + } + } + container metric { + description + "Specify MPLS tunnel metric"; + leaf metric-type { + type Mpls-te-autoroute-metric; + description + "Autoroute tunnel metric type"; + } + leaf absolute-metric { + when "../metric-type = 'absolute'" { + description + "../MetricType = Absolute"; + } + type uint32 { + range "1..2147483647"; + } + description + "The absolute metric value"; + } + leaf relative-metric { + when "../metric-type = 'relative'" { + description + "../MetricType = Relative"; + } + type int32 { + range "-10..10"; + } + description + "The value of the adjustment"; + } + leaf constant-metric { + when "../metric-type = 'constant'" { + description + "../MetricType = Constant"; + } + type uint32 { + range "1..2147483647"; + } + description + "The constant metric value"; + } + } + leaf enable { + type empty; + description + "Enable autoroute announce"; + } + leaf include-ipv6 { + type empty; + description + "Specify that the tunnel should be an IPv6 + autoroute announce also"; + } + } + container destinations { + description + "Tunnel Autoroute Destination(s)"; + list destination { + key "destination-address"; + description + "Destination address to add in RIB"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "IP address of destination"; + } + } + } + } + } + + grouping OOR-NODE-PROTECTION-DISABLE { + description + "Common node of oor-green-state, oor-yellow-state, + oor-red-state"; + leaf oor-node-protection-disable { + type empty; + description + "Disable FRR node-protection when the link is in + this OOR State"; + } + } + + grouping REROUTE-MESSSAGE { + description + "Common node of logging, auto-mesh-logging"; + leaf reroute-messsage { + type empty; + description + "Log tunnel rereoute messages"; + } + } + + grouping CACHE-TIMER { + description + "Common node of mpls-te-mib, mpls-frr-mib, + mpls-p2mp-mib, mpls-te-ext-mib, + mpls-te-ext-std-mib"; + leaf cache-timer { + type uint32 { + range "0..600"; + } + units "second"; + default "60"; + description + "Configure the cache time for the mib."; + } + } + + grouping PATH-SELECTION-METRIC { + description + "Common node of tunnel-attributes, + tunnel-te-attributes"; + leaf path-selection-metric { + type Mpls-te-path-selection-metric; + description + "Path selection metric to use in path calculation"; + } + } + + grouping PASSWORD { + description + "Common node of peer, pce-attributes"; + leaf password { + type xr:Proprietary-password; + description + "MD5 password"; + } + } + + grouping BANDWIDTH { + description + "Common node of tunnel-attributes, + tunnel-te-attributes, auto-mesh-attribute, + auto-backup-attribute, path-option-attribute, + p2mpte-attribute"; + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Tunnel bandwidth requirement"; + leaf dste-type { + type Mpls-te-bandwidth-dste; + mandatory true; + description + "DSTE-standard flag"; + } + leaf class-or-pool-type { + type uint32 { + range "0..1"; + } + mandatory true; + description + "Class type for the bandwidth allocation"; + } + leaf bandwidth { + type uint32 { + range "0..4294967295"; + } + units "kbit/s"; + mandatory true; + description + "The value of the bandwidth reserved by this + tunnel in kbps"; + } + } + } + + grouping INTERFACE-BANDWIDTH { + description + "Common node of auto-mesh-attribute, + p2mpte-attribute"; + leaf interface-bandwidth { + type uint32 { + range "0..4294967295"; + } + units "kbit/s"; + description + "The bandwidth of the interface in kbps"; + } + } + + grouping FORWARD-CLASS { + description + "Common node of tunnel-attributes, + tunnel-te-attributes, auto-mesh-attribute"; + leaf forward-class { + type uint32 { + range "0..7"; + } + description + "Forward class value"; + } + } + + grouping INSUFFICIENT-BW-MESSAGE { + description + "Common node of logging, auto-mesh-logging"; + leaf insufficient-bw-message { + type empty; + description + "Log tunnel messages for insufficient bandwidth"; + } + } + + grouping PATH-SELECTION-DELAY-LIMIT { + description + "Common node of tunnel-path-selection, + att-path-option-path-selection"; + leaf path-selection-delay-limit { + type uint32 { + range "1..4294967295"; + } + description + "Path selection delay limit (usec) configuration + for this specific tunnel"; + } + } + + grouping OOR-METRIC-TE-PENALTY { + description + "Common node of oor-green-state, oor-yellow-state, + oor-red-state, lsp-oor-green-state, + lsp-oor-yellow-state, lsp-oor-red-state"; + leaf oor-metric-te-penalty { + type uint32; + default "0"; + description + "Penalty applied to the TE metric of a link in + OOR state"; + } + } + + grouping KEYCHAIN { + description + "Common node of peer, pce-attributes"; + leaf keychain { + type string { + length "1..32"; + } + description + "Keychain based authentication"; + } + } + + grouping FORWARDING-ADJACENCY { + description + "Common node of tunnel-attributes, + tunnel-te-attributes"; + container forwarding-adjacency { + description + "Forwarding adjacency announcement to IGP"; + leaf enable { + type empty; + description + "Enable forwarding adjacency"; + } + leaf include-ipv6 { + type empty; + description + "Specify that the tunnel should be an IPv6 + forwarding adjacency also"; + } + leaf hold-time { + type uint32 { + range "0..20000"; + } + description + "Specify the holdtime for the tunnel as + forwarding adjacency"; + } + } + } + + grouping ALL-TRANSIT-LSP-THRESHOLD { + description + "Common node of lsp-oor-yellow-state, + lsp-oor-red-state"; + leaf all-transit-lsp-threshold { + type uint32; + description + "Threshold for all transit LSPs"; + } + } + + grouping PRIORITY { + description + "Common node of tunnel-te-attributes, + tunnel-attributes, auto-mesh-attribute, + gmpls-unitunnel-head, auto-backup-attribute, + p2mpte-attribute"; + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel Setup and Hold Priorities"; + leaf setup-priority { + type uint32 { + range "0..7"; + } + mandatory true; + description + "Setup Priority"; + } + leaf hold-priority { + type uint32 { + range "0..7"; + } + mandatory true; + description + "Hold Priority"; + } + } + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container tunnel-te-attributes { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. MPLS + tunnel attributes"; + container backup-bandwidth { + description + "Tunnel backup bandwidth requirement"; + leaf dste-type { + type Mpls-te-bandwidth-dste; + description + "DSTE-standard flag"; + } + leaf pool-type { + type Mpls-te-backup-bandwidth-pool; + description + "Backup bandwidth pool type, relevant only if + DSTEType is PreStandardDSTE"; + } + leaf class-type { + type Mpls-te-backup-bandwidth-class; + description + "Backup bandwidth class type, relevant only if + DSTEType is StandardDSTE"; + } + leaf limit-type { + type Mpls-te-bandwidth-limit; + description + "Backup bandwidth limit type"; + } + leaf backup-bandwidth { + type uint32 { + range "1..4294967295"; + } + description + "Backup bandwidth requested by this tunnel in + kbps. Ignored if bandwidth limit type is + unlimited."; + } + } + container bfd-over-lsp { + description + "BFD over TE LSP"; + leaf dampening-initial-wait { + type uint32 { + range "1..518400000"; + } + description + "Initial delay in milliseconds (default 16000)"; + } + leaf fast-detect { + type Mpls-tebfd-session; + description + "Enable BFD Fast Detect On the tunnel"; + } + leaf enable { + type empty; + description + "Always set to true"; + } + leaf multiplier { + type uint32 { + range "3..10"; + } + description + "Specify the multiplier for BFD failure + detection"; + } + leaf bringup-timeout { + type uint32 { + range "10..3600"; + } + description + "Wait for session to come up in seconds + (default 60)"; + } + leaf periodic-ping-disable { + type empty; + description + "Disable Periodic LSP Ping for BFD over LSP"; + } + leaf dampening-secondary-wait { + type uint32 { + range "1..518400000"; + } + description + "Secondary delay in milliseconds (default + 20000)"; + } + leaf periodic-ping-interval { + type uint32 { + range "60..3600"; + } + description + "Periodic LSP Ping Interval in seconds (default + 120)"; + } + leaf dampening-maximum-wait { + type uint32 { + range "1..518400000"; + } + description + "Maximum delay in milliseconds (default 600000)"; + } + leaf minimum-interval { + type uint32 { + range "3..30000"; + } + description + "Specify the minimum interval for BFD failure + detection"; + } + leaf encap-mode { + type uint32 { + range "0..1"; + } + description + "Specify BFD Encap Mode on the tunnel"; + } + } + container binding-segment-id-mpls { + description + "Allocate MPLS binding segment ID"; + leaf segment-id-type { + type Binding-segment-id; + description + "MPLS label value type"; + } + leaf label-value { + when "../segment-id-type = 'specified-label'" { + description + "../SegmentIDType = SpecifiedLabel"; + } + type uint32 { + range "16..4015"; + } + description + "MPLS label"; + } + } + container tunnel-path-protection { + description + "MPLS tunnel path protected configs"; + container protection-mode { + description + "Configure Protection Mode"; + leaf non-revertive { + type empty; + description + "Enable non-revertive mode"; + } + } + leaf enable { + type empty; + description + "Enable Path Protection"; + } + leaf srlg-diverse { + type empty; + description + "Enforce SRLG diversity for protection LSP"; + } + } + container path-option-protects { + description + "Tunnel path protection state"; + list path-option-protect { + key "protection"; + description + "Tunnel path protection"; + container path-options { + description + "Tunnel path options"; + list path-option { + key "preference-level"; + description + "A tunnel path option"; + leaf preference-level { + type uint32 { + range "1..1000"; + } + description + "Preference level for this path option"; + } + leaf path-type { + type Mpls-te-path-option; + mandatory true; + description + "The type of the path option"; + } + leaf path-id { + type uint32 { + range "1..65535"; + } + description + "The ID of the IP explicit path associated + with this option"; + } + leaf path-name { + type string; + description + "The name of the IP explicit path associated + with this option"; + } + leaf path-property { + type uint32; + default "0"; + description + "Deprecated"; + } + leaf interface { + type xr:Interface-name; + description + "Deprecated"; + } + leaf output-label { + type uint32; + default "0"; + description + "Deprecated"; + } + leaf destination { + type inet:ipv4-address-no-zone; + default "0.0.0.0"; + description + "Deprecated"; + } + leaf lockdown { + type Mpls-te-path-option-property; + default "none"; + description + "Lockdown properties"; + } + leaf verbatim { + type Mpls-te-path-option-property; + default "none"; + description + "Verbatim properties"; + } + leaf pce { + type Mpls-te-path-option-property; + default "none"; + description + "PCE properties"; + } + leaf pce-address { + type inet:ipv4-address-no-zone; + default "0.0.0.0"; + description + "PCE address"; + } + leaf igp-type { + type Mpls-te-igp-protocol; + default "none"; + description + "IGP type"; + } + leaf igp-instance { + type string { + length "1..40"; + } + description + "IGP instance name"; + } + leaf igp-area { + type uint32; + default "0"; + description + "IGP area ID in integer format"; + } + leaf igp-area-ip-address-id { + type inet:ipv4-address-no-zone; + default "0.0.0.0"; + description + "IGP area ID in IP address format"; + } + leaf path-option-attribute-set-name { + type string; + description + "Path option attribute set name"; + } + leaf protected-by-preference-level { + type uint32 { + range "1..1000"; + } + default "1"; + description + "Preference level of the protecting explicit + path. Leave unset in order to not use an + explicit protecting path"; + } + leaf segment-routing { + type Mpls-te-path-option-property; + default "none"; + description + "Deprecated"; + } + leaf sticky { + type Mpls-te-path-option-property; + default "none"; + description + "Sticky properties"; + } + } + } + leaf protection { + type Mpls-te-path-option-protection; + description + "Protection type for this path"; + } + } + } + container bidirectional { + description + "Tunnel Interface Bidirectional configuration + data"; + container association-corouted-type { + description + "Association Corouted Type"; + container fault-oam { + description + "Tunnel Fault OAM"; + leaf enable { + type empty; + description + "This object is only valid for bidirectional + tunnel interfaces and it controls whether + that interface has fault OAM enabled on it + or not."; + } + } + leaf wrap-protection-enable { + type empty; + description + "This object is only valid for bidirectional + tunnel interfaces and it controls whether + that interface has LSP Wrap protectionenabled + on it or not."; + } + leaf enable { + type empty; + description + "Controls whether association type is + co-routed."; + } + leaf disable-protection-object { + type empty; + description + "Disable signaling of RSVP Protection Object"; + } + } + container association-parameters { + presence "Indicates a association-parameters node is configured."; + description + "Association ID, Source IP Address, and Global + ID"; + leaf association-id { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Association ID"; + } + leaf association-source-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Association Source IP Address"; + } + leaf association-is-global-id-configured { + type boolean; + description + "Is Association Global ID Configured"; + } + leaf association-global-id { + type uint32 { + range "0..4294967295"; + } + description + "Association Global ID"; + } + } + leaf enabled { + type empty; + description + "This object is only valid for tunnel + interfaces and it controls whether that + interface has bidirectional enabled on it or + not."; + } + } + container admin-mode { + description + "Performs admin operations on the optical tunnel + interface"; + leaf deactivate-tunnel { + type empty; + description + "Performs signalling operation to deactivate + optical tunnel"; + } + } + container switching { + description + "Specify tunnel LSPs switching capability + descriptor"; + container transit { + presence "Indicates a transit node is configured."; + description + "Specify transit switching descriptor + parameters"; + leaf capability { + type Mpls-te-switching-cap; + mandatory true; + description + "Switching capability"; + } + leaf encoding { + type Mpls-te-switching-encode; + description + "LSP encoding"; + } + } + container endpoint { + presence "Indicates a endpoint node is configured."; + description + "Specify end point switching descriptor + parameters"; + leaf capability { + type Mpls-te-switching-cap; + mandatory true; + description + "Switching capability"; + } + leaf encoding { + type Mpls-te-switching-encode; + description + "LSP encoding"; + } + } + } + container pce { + description + "PCE config"; + container delegation { + description + "PCE Delegation config"; + leaf enable { + type empty; + description + "Enable PCE Delegation"; + } + leaf reopt { + type empty; + description + "Enable Reopt for PCE delegated Tunnel"; + } + } + leaf enable { + type empty; + description + "Always set to true"; + } + } + uses DELAY-MEASUREMENT; + uses FORWARD-CLASS; + uses TUNNEL-PATH-SELECTION; + uses AUTO-BANDWIDTH; + uses PRIORITY; + uses DESTINATION; + uses RECORD-ROUTE; + uses AFFINITY-MASK; + uses FORWARDING-ADJACENCY; + uses LOGGING; + uses BANDWIDTH; + uses AUTOROUTE; + uses POLICY-CLASSES; + uses PATH-SELECTION-METRIC; + uses NEW-STYLE-AFFINITY-TABLE; + uses SOFT-PREEMPTION; + uses FAST-REROUTE; + uses LOAD-SHARE; + uses SIGNALLED-NAME; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container transport-profile-tunnel { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. MPLS-TP + tunnel attributes"; + container bfd { + description + "Configure BFD parameters"; + container min-interval { + description + "Hello interval, either in milli-seconds or in + micro-seconds"; + leaf interval-ms { + type uint32 { + range "3..5000"; + } + description + "Hello interval in milli-seconds"; + } + leaf interval-us { + type uint32 { + range "3000..5000000"; + } + description + "Hello interval in micro-seconds"; + } + } + container min-interval-standby { + description + "Hello interval for standby transport profile + LSP, either in milli-seconds or in + micro-seconds"; + leaf interval-standby-ms { + type uint32 { + range "3..5000"; + } + description + "Hello interval in milli-seconds"; + } + leaf interval-standby-us { + type uint32 { + range "3000..5000000"; + } + description + "Hello interval in micro-seconds"; + } + } + leaf detection-multiplier { + type uint32 { + range "2..10"; + } + description + "Detect multiplier"; + } + leaf enable { + type empty; + description + "Configure BFD parameters"; + } + leaf multiplier-standby { + type uint32 { + range "2..10"; + } + description + "Detect multiplier for standby transport + profile LSP"; + } + } + container working-lsp { + description + "Working LSP"; + container out-label { + presence "Indicates a out-label node is configured."; + description + "Outgoing MPLS label of the working LSP"; + leaf label { + type uint32 { + range "16..1048575"; + } + description + "MPLS label"; + } + leaf link { + type uint32 { + range "1..65535"; + } + mandatory true; + description + "Transport profile identifier of outgoing link"; + } + } + leaf in-label { + type uint32 { + range "16..4015"; + } + description + "Incoming MPLS label of the working LSP"; + } + leaf lockout { + type empty; + description + "Enable lockout of working LSP"; + } + leaf lsp-id { + type uint32 { + range "0..65535"; + } + default "0"; + description + "LSP Identifier of the working LSP"; + } + } + container destination { + description + "Node identifier and optional global identifier + and tunnel identifier at destination"; + leaf node-id { + type inet:ipv4-address-no-zone; + description + "Node identifier in IPv4 address format"; + } + leaf global-id { + type uint32 { + range "1..65535"; + } + description + "Numeric global identifier"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + description + "Numeric tunnel identifier"; + } + } + container fault { + description + "Fault management"; + container protection-trigger { + description + "OAM events that trigger protection switching"; + leaf ldi { + type boolean; + description + "Enable protection switching due to LDI event"; + } + leaf ais { + type boolean; + description + "Enable protection switching due to AIS event"; + } + leaf lkr { + type boolean; + description + "Enable protection switching due to LKR event"; + } + } + leaf enable { + type empty; + description + "Enter transport profile tunnel fault + configuration"; + } + } + container protect-lsp { + description + "Protect LSP"; + container out-label { + presence "Indicates a out-label node is configured."; + description + "Outgoing MPLS label of the protect LSP"; + leaf label { + type uint32 { + range "16..1048575"; + } + description + "MPLS label"; + } + leaf link { + type uint32 { + range "1..65535"; + } + mandatory true; + description + "Transport profile identifier of outgoing link"; + } + } + leaf in-label { + type uint32 { + range "16..4015"; + } + description + "Incoming MPLS label of the protect LSP"; + } + leaf lockout { + type empty; + description + "Enable lockout of protect LSP"; + } + leaf lsp-id { + type uint32 { + range "0..65535"; + } + default "1"; + description + "LSP Identifier of the protect LSP"; + } + } + leaf source { + type inet:ipv4-address-no-zone; + description + "Transport profile node identifier in IPv4 + address format"; + } + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container mte-tunnel-attributes { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. MPLS + P2MP tunnel attributes"; + container destination-leafs { + description + "P2MP destination table"; + list destination-leaf { + key "address"; + description + "P2MP destination leaf"; + container s2l-logging { + description + "Log tunnel destination s2l messages"; + leaf s2l-reroute-messsage { + type empty; + description + "Log tunnel destination s2l rereoute messages"; + } + leaf s2l-insufficient-bw-messsage { + type empty; + description + "Log tunnel destination s2l insufficient BW + messages"; + } + leaf s2l-pcalc-failure-message { + type empty; + description + "Enable logging for destination s2l + path-calculation failures"; + } + leaf s2l-state-message { + type empty; + description + "Log tunnel destination s2l state messages"; + } + } + container path-options { + description + "P2MP destination path-options attributes + table"; + list path-option { + key "preference-level"; + description + "P2MP destination path option"; + leaf preference-level { + type uint32 { + range "1..1000"; + } + description + "Preference level for this path option"; + } + leaf path-type { + type Mpls-te-path-option; + description + "The type of the path option"; + } + leaf path-id { + type uint32 { + range "1..65535"; + } + description + "The ID of the IP explicit path associated + with this option"; + } + leaf path-name { + type string; + description + "The name of the IP explicit path associated + with this option"; + } + leaf lockdown { + type Mpls-te-path-option-property; + description + "Path option properties"; + } + leaf verbatim { + type Mpls-te-path-option-property; + description + "Path option properties"; + } + } + } + leaf destination-disable { + type empty; + description + "Disables P2MP destination"; + } + leaf destination { + type empty; + description + "Always set to true"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Address of P2MP destination"; + } + } + } + container priority { + presence "Indicates a priority node is configured."; + description + "P2MP tunnel setup and hold priorities"; + leaf setup-priority { + type uint32 { + range "0..7"; + } + mandatory true; + description + "Setup Priority"; + } + leaf hold-priority { + type uint32 { + range "0..7"; + } + mandatory true; + description + "Hold Priority"; + } + } + container new-style-affinity-affinity-types { + description + "P2MP tunnel new style affinity attributes table"; + list new-style-affinity-affinity-type { + key "affinity-type"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + } + list new-style-affinity-affinity-type-affinity1 { + key "affinity-type affinity1"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2 { + key "affinity-type affinity1 affinity2"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3 { + key "affinity-type affinity1 affinity2 affinity3"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4 { + key "affinity-type affinity1 affinity2 affinity3 affinity4"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7-affinity8 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7 affinity8"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + leaf affinity8 { + type xr:Cisco-ios-xr-string; + description + "The name of the eighth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7-affinity8-affinity9 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7 affinity8 affinity9"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + leaf affinity8 { + type xr:Cisco-ios-xr-string; + description + "The name of the eighth affinity"; + } + leaf affinity9 { + type xr:Cisco-ios-xr-string; + description + "The name of the nineth affinity"; + } + } + list new-style-affinity-affinity-type-affinity1-affinity2-affinity3-affinity4-affinity5-affinity6-affinity7-affinity8-affinity9-affinity10 { + key "affinity-type affinity1 affinity2 affinity3 affinity4 affinity5 affinity6 affinity7 affinity8 affinity9 affinity10"; + description + "Tunnel new style affinity attribute"; + leaf affinity-type { + type Mpls-te-tunnel-affinity; + description + "The type of the affinity entry"; + } + leaf affinity1 { + type xr:Cisco-ios-xr-string; + description + "The name of the first affinity"; + } + leaf affinity2 { + type xr:Cisco-ios-xr-string; + description + "The name of the second affinity"; + } + leaf affinity3 { + type xr:Cisco-ios-xr-string; + description + "The name of the third affinity"; + } + leaf affinity4 { + type xr:Cisco-ios-xr-string; + description + "The name of the fourth affinity"; + } + leaf affinity5 { + type xr:Cisco-ios-xr-string; + description + "The name of the fifth affinity"; + } + leaf affinity6 { + type xr:Cisco-ios-xr-string; + description + "The name of the sixth affinity"; + } + leaf affinity7 { + type xr:Cisco-ios-xr-string; + description + "The name of the seventh affinity"; + } + leaf affinity8 { + type xr:Cisco-ios-xr-string; + description + "The name of the eighth affinity"; + } + leaf affinity9 { + type xr:Cisco-ios-xr-string; + description + "The name of the nineth affinity"; + } + leaf affinity10 { + type xr:Cisco-ios-xr-string; + description + "The name of the tenth affinity"; + } + } + } + container bandwidth { + description + "P2MP tunnel bandwidth requirement"; + leaf dste-type { + type Mpls-te-bandwidth-dste; + description + "DSTE-standard flag"; + } + leaf class-or-pool-type { + type uint32 { + range "0..1"; + } + description + "Class type for the bandwidth allocation"; + } + leaf bandwidth { + type uint32 { + range "0..4294967295"; + } + description + "The value of the bandwidth reserved by this + tunnel in kbps"; + } + } + container affinity-mask { + description + "P2MP tunnel affinity and mask"; + leaf affinity { + type xr:Hex-integer; + description + "Affinity flags"; + } + leaf mask { + type xr:Hex-integer; + description + "Affinity mask"; + } + } + leaf record-route { + type empty; + description + "Record route used by individual P2MP S2L(s)"; + } + leaf signalled-name { + type string { + length "1..254"; + } + description + "The name of the P2MP tunnel to be included in + signalling messages"; + } + leaf path-selection-metric { + type Mpls-te-path-selection-metric; + description + "Path selection configuration for this specific + tunnel"; + } + leaf signalled-payload { + type xr:Hex-integer; + description + "P2MP tunnel ipv6 signalled payload"; + } + leaf fast-reroute { + type empty; + description + "Specify P2MP tunnel can be fast-rerouted"; + } + leaf impose-explicit-null { + type empty; + description + "Impose an explicit null bellow the TE label"; + } + uses MPLS-MTE-TUNNEL-CFG-LOGGING; + } + } + augment "/a2:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-te-mib { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. MPLS TE + MIB configuration"; + leaf cache-garbage-collect-timer { + type uint32 { + range "0..3600"; + } + units "second"; + default "1800"; + description + "Configure the cache garbage collector time for + the mib."; + } + uses CACHE-TIMER; + } + } + augment "/a2:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-p2mp-mib { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. MPLS + P2MP MIB configuration"; + uses CACHE-TIMER; + } + } + augment "/a2:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-te-ext-std-mib { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. MPLS TE + EXT STD MIB configuration"; + uses CACHE-TIMER; + } + } + augment "/a2:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-te-ext-mib { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. MPLS TE + EXT MIB configuration"; + uses CACHE-TIMER; + } + } + augment "/a2:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-frr-mib { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. FRR MIB + configuration"; + uses CACHE-TIMER; + } + } + augment "/a2:snmp/a2:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-te-p2mp { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. + CISCO-MPLS-TE-P2MP-STD-MIB notification + configuration"; + leaf up { + type empty; + description + "Enable cmplsTeP2mpTunnelDestUp notification"; + } + leaf down { + type empty; + description + "Enable cmplsTeP2mpTunnelDestDown notification"; + } + } + } + augment "/a2:snmp/a2:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-te { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. + MPLS-TE-STD-MIB notification configuration"; + container cisco-extension { + description + "CISCO-MPLS-TE-STD-EXT-MIB notification + configuration"; + leaf preempt { + type empty; + description + "Enable cmplsTunnelPreempt notification"; + } + leaf insufficient-bandwidth { + type empty; + description + "Enable cmplsTunnelInsuffBW notification"; + } + leaf re-route-pending-clear { + type empty; + description + "Enable cmplsTunnelReRoutePendingClear + notification"; + } + leaf bringup-fail { + type empty; + description + "Enable cmplsTunnelBringupFail notification"; + } + leaf re-route-pending { + type empty; + description + "Enable cmplsTunnelReRoutePending notification"; + } + } + leaf cisco { + type empty; + description + "Enable MPLS TE tunnel Cisco format (default + IETF) notification"; + } + leaf up { + type empty; + description + "Enable mplsTunnelUp notification"; + } + leaf reoptimize { + type empty; + description + "Enable mplsTunnelReoptimized notification"; + } + leaf reroute { + type empty; + description + "Enable mplsTunnelRerouted notification"; + } + leaf down { + type empty; + description + "Enable mplsTunnelDown notification"; + } + } + } + augment "/a2:snmp/a2:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-frr { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. + CISCO-IETF-FRR-MIB notification configuration"; + leaf unprotected { + type empty; + description + "Enable cmplsFrrUnProtected notification"; + } + leaf enable { + type empty; + description + "Enable cmplsFrrMIB notifications"; + } + leaf protected { + type empty; + description + "Enable cmplsFrrProtected notification"; + } + } + } + container mpls-te { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-te-cfg.yang which will + provide the compatible functionalities. The root + of MPLS TE configuration"; + container diff-serv-traffic-engineering { + description + "Configure Diff-Serv Traffic-Engineering"; + container classes { + description + "Configure Diff-Serv Traffic-Engineering Classes"; + list class { + key "class-number"; + description + "DSTE class number"; + leaf class-number { + type uint32 { + range "0..7"; + } + description + "DS-TE class number"; + } + leaf class-type { + when "../unused = 'false'" { + description + "../Unused = 'false'"; + } + type uint32 { + range "0..1"; + } + mandatory true; + description + "Class type number"; + } + leaf class-priority { + when "../unused = 'false'" { + description + "../Unused = 'false'"; + } + type uint32 { + range "0..7"; + } + mandatory true; + description + "Class-type priority"; + } + leaf unused { + type boolean; + description + "TRUE to skip classtype and class priority + provisioning FALSE to provision them"; + } + } + } + leaf bandwidth-constraint-model { + type Bandwidth-constraint; + description + "Diff-Serv Traffic-Engineering Bandwidth + Constraint Model"; + } + leaf mode-ietf { + type Ietf-mode; + description + "Diff-Serv Traffic-Engineering IETF mode"; + } + } + container named-tunnels { + description + "Configure MPLS TE tunnel"; + container tunnels { + description + "Configure MPLS TE tunnel"; + list tunnel { + key "tunnel-name tunnel-type"; + description + "Configure a MPLS TE tunnel"; + container tunnel-attributes { + description + "MPLS tunnel attributes"; + container path-setups { + description + "Tunnel path setup table"; + list path-setup { + key "path-setup-name"; + description + "Tunnel path setup"; + container path-computation { + presence "Indicates a path-computation node is configured."; + description + "Path computation method"; + leaf path-computation-method { + type Mpls-te-path-computation-method; + mandatory true; + description + "Path computation method"; + } + leaf explicit-path-name { + type string; + description + "Explicit Path Name"; + } + leaf path-computation-server { + type inet:ipv4-address-no-zone; + default "0.0.0.0"; + description + "Path Computation Server Address"; + } + } + leaf preference { + type uint32 { + range "0..255"; + } + description + "Path preference level"; + } + leaf attribute-set { + type string; + description + "Attribute set to be applied to this path"; + } + leaf s2l-retry-timer { + type uint32 { + range "1..600"; + } + units "second"; + description + "S2L retry timer timeout value (seconds)"; + } + leaf path-setup-name { + type xr:Cisco-ios-xr-string; + description + "Path Name"; + } + } + } + container self-ping { + description + "Tunnel self ping configuration data"; + leaf enable { + type boolean; + description + "Enable self-pingThe object must be set + before any other self-ping configuration is + supplied for the tunnel,and must be the + last self-ping configuration object to be + removed."; + } + leaf max-count { + type uint32 { + range "1..900"; + } + description + "Configure maximum number of self-ping + probes"; + } + } + leaf shutdown { + type empty; + description + "shutdown the tunnel"; + } + uses DELAY-MEASUREMENT; + uses FORWARD-CLASS; + uses TUNNEL-PATH-SELECTION; + uses AUTO-BANDWIDTH; + uses PRIORITY; + uses DESTINATION; + uses RECORD-ROUTE; + uses AFFINITY-MASK; + uses FORWARDING-ADJACENCY; + uses LOGGING; + uses BANDWIDTH; + uses AUTOROUTE; + uses PATH-SELECTION-METRIC; + uses NEW-STYLE-AFFINITY-TABLE; + uses SOFT-PREEMPTION; + uses FAST-REROUTE; + uses LOAD-SHARE; + } + container tunnel-id { + presence "Indicates a tunnel-id node is configured."; + description + "Set the tunnel ID"; + leaf tunnel-id-type { + type Mpls-te-tunnel-id; + mandatory true; + description + "Tunnel ID Type"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + description + "Tunnel ID"; + } + } + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Tunnel name"; + } + leaf tunnel-type { + type Mpls-te-config-tunnel; + description + "Tunnel Type"; + } + } + } + leaf enable { + type empty; + description + "Enable Named Tunnels"; + } + } + container gmpls-uni { + description + "GMPLS-UNI configuration"; + container timers { + description + "GMPLS-UNI timer configuration"; + container path-option-timers { + description + "GMPLS-UNI path-option timer configuration"; + container holddown { + description + "GMPLS-UNI path-option holddown timer + configuration"; + leaf minimum { + type uint32 { + range "5..3600"; + } + units "second"; + description + "Minimum holddown (seconds)"; + } + leaf maximum { + type uint32 { + range "5..3600"; + } + units "second"; + description + "Maximum holddown (seconds)"; + } + } + } + } + container controllers { + description + "GMPLS-UNI controllers"; + list controller { + key "controller-name"; + description + "Configure a GMPLS controller"; + container announce { + description + "Announce discovered tunnel properties to + system"; + leaf srl-gs { + type empty; + description + "Enable announcement of discovered SRLGs"; + } + } + container controller-logging { + description + "Controller logging"; + leaf discovered-srlg-change-logging { + type empty; + description + "Enable logging of changes to of discovered + SRLGs"; + } + } + container gmpls-unitunnel-head { + description + "GMPLS-UNI tunnel-head properties"; + container path-options { + description + "Path-option configuration"; + list path-option { + key "preference-level"; + description + "A Path-option"; + leaf preference-level { + type uint32 { + range "1..1000"; + } + description + "Preference level for this path option"; + } + leaf path-type { + type Mpls-te-path-option; + mandatory true; + description + "The type of the path option"; + } + leaf path-id { + type uint32 { + range "1..65535"; + } + default "1"; + description + "The ID of the explicit path associated + with this option"; + } + leaf path-name { + type string; + description + "The name of the explicit path associated + with this option"; + } + leaf xro-type { + type Mpls-te-path-option-xro; + mandatory true; + description + "The route-exclusion type"; + } + leaf xro-attribute-set-name { + type Attribute-set-name-length; + description + "The name of the XRO attribute set to be + used for this path-option"; + } + leaf lockdown { + type Mpls-te-path-option-property; + mandatory true; + description + "Path option properties: must be Lockdown"; + } + leaf verbatim { + type Mpls-te-path-option-property; + default "none"; + description + "Path option properties: must be verbatim + if set"; + } + leaf signaled-label { + type Mpls-te-signaled-label; + default "not-set"; + description + "Signaled label type"; + } + leaf dwdm-channel { + type uint32 { + range "1..89"; + } + default "1"; + description + "DWDM channel number"; + } + } + } + container recording { + description + "Tunnel property recording"; + leaf srlg { + type empty; + description + "Enable SRLG-recording during signaling"; + } + } + container logging { + description + "Tunnel event logging"; + uses STATE-MESSAGE; + } + leaf enc-type { + type Mpls-te-lsp-enc; + description + "UNI LSP Encoding type"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + description + "GMPLS-UNI head tunnel-id"; + } + leaf protection-attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "The name of the path-protection profile to + be included in signalling messages"; + } + leaf enable { + type empty; + description + "Set link as a GMPLS tunnel head"; + } + leaf gpid { + type uint32 { + range "0..255"; + } + description + "Generalized Payload type"; + } + leaf destination { + type inet:ipv4-address-no-zone; + description + "Set the destination of the tunnel"; + } + uses PRIORITY; + uses RECORD-ROUTE; + uses SIGNALLED-NAME; + } + leaf switching-type { + type Mpls-te-lsp-switch; + description + "Link Switching type"; + } + leaf mtu { + type uint32 { + range "64..65535"; + } + units "byte"; + description + "MTU on a controller"; + } + leaf enable { + type empty; + description + "Enable GMPLS-UNI on the link"; + } + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + } + } + } + container global-attributes { + description + "Configure MPLS TE global attributes"; + container auto-tunnel { + description + "Configure auto-tunnels feature"; + container pcc { + description + "Configure auto-tunnel PCC (Path Computation + Client) feature"; + uses TUNNEL-RANGE; + } + container p2p-auto-tunnel { + description + "Configure P2P auto-tunnel feature"; + uses TUNNEL-RANGE; + } + container backup { + description + "Configure auto-tunnel backup feature"; + leaf affinity-ignore { + type empty; + description + "Ignore affinity during CSPF for auto backup + tunnels"; + } + uses TIMERS; + uses TUNNEL-RANGE; + } + container mesh { + description + "Configure auto-tunnel mesh feature"; + container mesh-groups { + description + "Configure auto-tunnel mesh group"; + list mesh-group { + key "mesh-group-id"; + description + "Auto-mesh group identifier"; + leaf destination-list { + type Destination-list-name-length; + description + "The name of prefix-list to be applied to + this destination-list"; + } + leaf disable { + type empty; + description + "Disables mesh group"; + } + leaf attribute-set { + type Attribute-set-name-length; + description + "The name of auto-mesh attribute set to be + applied to this group"; + } + leaf one-hop { + type empty; + description + "Automatically create tunnel to all + next-hops"; + } + leaf mesh-group-id { + type Mesh-group-id; + description + "Mesh group ID"; + } + } + } + uses TIMERS; + uses TUNNEL-RANGE; + } + container p2mp-auto-tunnel { + description + "Configure P2MP auto-tunnel feature"; + uses TUNNEL-RANGE; + } + } + container hardware-out-of-resource { + description + "Configure HW OOR processing in MPLS-TE"; + container oor-red-state { + description + "Configuration for HW OOR Red State"; + uses OOR-NODE-PROTECTION-DISABLE; + uses OOR-AVAILABLE-BANDWIDTH-PERCENTAGE; + uses OOR-ACCEPT-LSP-MIN-BANDWIDTH; + uses OOR-ACCEPT-REOPT-LSP; + uses OOR-METRIC-TE-PENALTY; + } + container oor-yellow-state { + description + "Configuration for HW OOR Yellow State"; + uses OOR-NODE-PROTECTION-DISABLE; + uses OOR-AVAILABLE-BANDWIDTH-PERCENTAGE; + uses OOR-ACCEPT-LSP-MIN-BANDWIDTH; + uses OOR-ACCEPT-REOPT-LSP; + uses OOR-METRIC-TE-PENALTY; + } + container oor-green-state { + description + "Configuration for HW OOR Green State"; + uses OOR-RECOVERY-DURATION; + uses OOR-NODE-PROTECTION-DISABLE; + uses OOR-AVAILABLE-BANDWIDTH-PERCENTAGE; + uses OOR-ACCEPT-LSP-MIN-BANDWIDTH; + uses OOR-ACCEPT-REOPT-LSP; + uses OOR-METRIC-TE-PENALTY; + } + } + container secondary-router-ids { + description + "Configure MPLS TE Secondary Router ID"; + list secondary-router-id { + key "secondary-router-id-value"; + description + "Secondary Router ID"; + leaf secondary-router-id-value { + type inet:ipv4-address-no-zone; + description + "Secondary TE Router ID"; + } + } + } + container srlg { + description + "Configure SRLG values and MPLS-TE properties"; + container names { + description + "Configure SRLG identified by names"; + list name { + key "srlg-name"; + description + "SRLG name and its MPLS-TE properties"; + container static-srlg-members { + description + "Configure static SRLG members list"; + list static-srlg-member { + key "from-address"; + description + "A mapping of the local static SRLG member"; + leaf from-address { + type inet:ipv4-address-no-zone; + description + "From address"; + } + leaf to-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "To Addres"; + } + } + } + leaf admin-weight { + type uint32; + description + "Administrative weight for the SRLG value"; + } + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "SRLG membership name"; + } + } + } + leaf default-admin-weight { + type uint32; + default "1"; + description + "Default Admin weight any SRLG value that does + not have one"; + } + leaf enable { + type empty; + description + "Enter SRLG property configuration"; + } + } + container queues { + description + "Configure MPLS TE route priority"; + list queue { + key "role"; + description + "Configure route priority queue value"; + leaf role { + type Route-priority-role; + description + "Route Priority Tunnel Role"; + } + leaf value { + type uint32 { + range "0..12"; + } + mandatory true; + description + "Route priority queue value"; + } + } + } + container backoff-timer { + description + "Backoff timer for delaying sending LSP requests + on the same path after receving path errors"; + leaf initial-interval { + type uint32 { + range "0..600"; + } + default "3"; + description + "Initial interval"; + } + leaf final-interval { + type uint32 { + range "0..600"; + } + default "300"; + description + "Final interval"; + } + } + container mib { + description + "MPLS-TE MIB properties"; + leaf midpoint-lsp-stats-collection-disable { + type empty; + description + "Disables mib midpoint LSP traffic stats + collection"; + } + } + container attribute-set { + description + "Attribute AttributeSets"; + container path-option-attributes { + description + "Path Option Attribute-Set Table"; + list path-option-attribute { + key "attribute-set-name"; + description + "Path Option Attribute"; + container bfd-reverse-path { + presence "Indicates a bfd-reverse-path node is configured."; + description + "Configure BFD reverse path"; + leaf bfd-reverse-path-type { + type Bfd-reverse-path; + description + "BFD reverse path type"; + } + leaf binding-label { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "BFD reverse path binding label"; + } + } + container att-path-option-path-selection { + description + "Configure path selection properties"; + leaf path-selection-exclude-list { + type string { + length "1..64"; + } + description + "Path selection exclude list name + configuration"; + } + uses ENABLE; + uses PATH-SELECTION-DELAY-LIMIT; + uses INVALIDATION; + uses PATH-SELECTION-COST-LIMIT; + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses PCE; + uses AFFINITY-MASK; + uses BANDWIDTH; + uses NEW-STYLE-AFFINITY-TABLE; + } + } + container p2mpte-attributes { + description + "P2MP-TE Tunnel AttributeSets Table"; + list p2mpte-attribute { + key "attribute-set-name"; + description + "P2MP-TE Tunnel Attribute"; + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses INTERFACE-BANDWIDTH; + uses PRIORITY; + uses RECORD-ROUTE; + uses AFFINITY-MASK; + uses BANDWIDTH; + uses PATH-SELECTION; + uses NEW-STYLE-AFFINITY-TABLE; + uses FAST-REROUTE; + uses MPLS-MTE-TUNNEL-CFG-LOGGING; + } + } + container p2p-te-attributes { + description + "P2P-TE Tunnel AttributeSets Table"; + list p2p-te-attribute { + key "attribute-set-name"; + description + "P2P-TE Tunnel Attribute"; + container path-selection { + description + "Configure path selection properties"; + container segment-routing-prepend { + description + "Deprecated"; + container indexes { + description + "Segment routing prepend index table"; + list index { + key "index-number"; + description + "Prepend index information"; + leaf index-number { + type uint32 { + range "1..10"; + } + description + "Index number"; + } + leaf prepend-type { + type Sr-prepend; + default "none-type"; + description + "Prepend type"; + } + leaf mpls-label { + type uint32; + default "1048577"; + description + "MPLS Label"; + } + } + } + leaf enable { + type empty; + description + "Enter path selection segment routing + prepend submode"; + } + } + container invalidation { + description + "Deprecated"; + leaf invalidation-timer { + type uint32 { + range "0..60000"; + } + units "millisecond"; + description + "Path selection invalidation timer value + (milliseconds)"; + } + leaf invalidation-timer-expire-type { + type Mpls-te-path-selection-invalidation-timer-expire; + default "tunnel-action-tear"; + description + "Path selection invalidation timer expire + type"; + } + } + leaf path-selection-metric { + type Mpls-te-path-selection-metric; + description + "Path selection metric to use in path + calculation"; + } + leaf path-selection-segment-routing-adjacency-protection { + type Mpls-te-path-selection-segment-routing-adjacency-protection; + description + "Segment routing adjacency protection type + to use in path calculation"; + } + uses ENABLE; + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses PCE; + uses AFFINITY-MASK; + uses LOGGING; + uses NEW-STYLE-AFFINITY-TABLE; + } + } + container auto-backup-attributes { + description + "Auto-backup Tunnel Attribute Table"; + list auto-backup-attribute { + key "attribute-set-name"; + description + "Auto-backup Tunnel Attribute"; + container signalled-name { + description + "Signalled name"; + leaf name { + type string; + description + "Signalled name"; + } + leaf source-type { + type Mpls-te-sig-name-option; + description + "Source address or name"; + } + leaf protected-interface-type { + type Mpls-te-sig-name-option; + description + "Protected-interface address or name"; + } + leaf mp-address { + type boolean; + description + "Set if merge-point address is to be + appended"; + } + } + container auto-backup-logging { + description + "Log tunnel LSP messages"; + uses BANDWIDTH-CHANGE-MESSAGE; + uses REOPTIMIZE-ATTEMPTS-MESSAGE; + uses STATE-MESSAGE; + uses REOPTIMIZED-MESSAGE; + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses PRIORITY; + uses RECORD-ROUTE; + uses AFFINITY-MASK; + uses BANDWIDTH; + uses PATH-SELECTION; + uses POLICY-CLASSES; + uses NEW-STYLE-AFFINITY-TABLE; + uses SOFT-PREEMPTION; + } + } + container otn-pp-attributes { + description + "OTN Path Protection Attributes table"; + list otn-pp-attribute { + key "attribute-set-name"; + description + "OTN Path Protection Attribute"; + container revert-schedule-names { + description + "Specify APS revert schedule"; + list revert-schedule-name { + key "schedule-name"; + description + "Name Identifier for revert schedule"; + container schedule-duration { + presence "Indicates a schedule-duration node is configured."; + description + "Set duration in format hh:mm"; + leaf hour { + type uint32 { + range "0..167"; + } + mandatory true; + description + "Hour of day"; + } + leaf minutes { + type uint32 { + range "0..59"; + } + mandatory true; + description + "Minute of the hour"; + } + } + container schedule-date { + presence "Indicates a schedule-date node is configured."; + description + "Set date in format hh:mm MMM DD YYYY"; + leaf hour { + type uint32 { + range "0..23"; + } + mandatory true; + description + "Hour of day"; + } + leaf minutes { + type uint32 { + range "0..59"; + } + mandatory true; + description + "Minute of the hour"; + } + leaf month { + type uint32 { + range "0..11"; + } + mandatory true; + description + "Month of the year"; + } + leaf day { + type uint32 { + range "1..31"; + } + mandatory true; + description + "Day of the month"; + } + leaf year { + type uint32 { + range "2015..2035"; + } + mandatory true; + description + "Year"; + } + } + leaf revert-schedule-max-tries { + type uint32 { + range "1..2016"; + } + description + "Revert Schedule Max tries"; + } + leaf sch-name-enable { + type empty; + description + "Schedule name enable object"; + } + leaf revert-schedule-frequency { + type uint32 { + range "1..3"; + } + description + "Frequency set as Once, Daily, Weekly"; + } + leaf schedule-name { + type xr:Cisco-ios-xr-string { + length "1..254"; + } + description + "Enter 64 characters for revert schedule + name"; + } + } + } + container sub-network-connection-mode { + description + "Sub-network connection mode"; + leaf connection-mode { + type Mpls-te-otn-snc-mode; + description + "The sub-network connection mode"; + } + leaf connection-monitoring-mode { + type uint32 { + range "1..6"; + } + description + "Tandem Connection Monitoring ID for the + interface"; + } + } + container timers { + description + "Timers"; + leaf aps-wait-to-restore { + type uint32 { + range "0..720"; + } + units "second"; + description + "G.709 OTN path protection wait to restore + timer in seconds"; + } + leaf aps-hold-off { + type uint32 { + range "100..10000"; + } + units "millisecond"; + description + "G.709 OTN path protection hold-off timer in + milliseconds"; + } + } + leaf aps-protection-mode { + type Mpls-te-otn-aps-protection-mode; + description + "The APS protecion mode"; + } + leaf aps-restoration-style { + type Mpls-te-otn-aps-restoration-style; + description + "The APS restoration style"; + } + leaf aps-protection-type { + type Mpls-te-otn-aps-protection; + description + "The APS protecion type"; + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses PATH-SELECTION; + } + } + container uni-p-attributes { + description + "UNI Protection Attributes table"; + list uni-p-attribute { + key "attribute-set-name"; + description + "UNI Protection Attribute"; + leaf seg-flag { + type Mpls-te-uni-lsp-seg-flag; + description + "The Seg flag value for uni-protection"; + } + leaf lsp-flag { + type Mpls-te-uni-lsp-seg-flag; + description + "The Lsp flag value for uni-protection"; + } + leaf required-bit { + type Mpls-te-uni-required-bit; + description + "Set Required bit for uni-protection"; + } + leaf in-place-bit { + type Mpls-te-uni-in-place-bit; + description + "Set in place bit for uni-protection"; + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses PATH-SELECTION; + } + } + container auto-mesh-attributes { + description + "Auto-mesh Tunnel AttributeSets Table"; + list auto-mesh-attribute { + key "attribute-set-name"; + description + "Auto-mesh Tunnel Attribute"; + container auto-mesh-logging { + description + "Log tunnel LSP messages"; + uses BANDWIDTH-CHANGE-MESSAGE; + uses REOPTIMIZE-ATTEMPTS-MESSAGE; + uses REROUTE-MESSSAGE; + uses STATE-MESSAGE; + uses PATH-ERROR-MESSAGE; + uses INSUFFICIENT-BW-MESSAGE; + uses REOPTIMIZED-MESSAGE; + uses PCALC-FAILURE-MESSAGE; + } + leaf autoroute-announce { + type empty; + description + "Enable autoroute announce"; + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses INTERFACE-BANDWIDTH; + uses FORWARD-CLASS; + uses PRIORITY; + uses RECORD-ROUTE; + uses AFFINITY-MASK; + uses BANDWIDTH; + uses PATH-SELECTION; + uses COLLECTION-ONLY; + uses POLICY-CLASSES; + uses NEW-STYLE-AFFINITY-TABLE; + uses SOFT-PREEMPTION; + uses FAST-REROUTE; + uses LOAD-SHARE; + } + } + container xro-attributes { + description + "XRO Tunnel Attributes table"; + list xro-attribute { + key "attribute-set-name"; + description + "XRO Attribute"; + container path-diversity { + description + "Path diversity"; + container srlgs { + description + "SRLG-based path diversity"; + list srlg { + key "srlg"; + description + "SRLG-based path-diversity element"; + leaf srlg { + type uint32 { + range "0..4294967295"; + } + description + "SRLG"; + } + leaf conformance { + type Mpls-te-path-diversity-conformance; + mandatory true; + description + "The diversity conformance requirements"; + } + } + } + container lsp { + description + "LSP-based path diversity"; + container fecs { + description + "FEC LSP-based path diversity"; + list fec { + key "source destination tunnel-id extended-tunnel-id lsp-id"; + description + "LSP-based path-diversity, referenced by + FEC"; + leaf source { + type inet:ipv4-address-no-zone; + description + "Source address"; + } + leaf destination { + type inet:ipv4-address-no-zone; + description + "Destination address"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + description + "Tunnel id"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended tunnel-id"; + } + leaf lsp-id { + type uint32 { + range "0..65535"; + } + description + "LSP id"; + } + leaf conformance { + type Mpls-te-path-diversity-conformance; + mandatory true; + description + "The diversity conformance requirements"; + } + } + } + } + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses PATH-SELECTION; + } + } + } + container bfd-over-lsp { + description + "BFD over MPLS TE Global Configurations"; + container tail { + description + "BFD over LSP Tail Global Configurations"; + leaf multiplier { + type uint32 { + range "3..10"; + } + description + "Specify BFD over LSP tail multiplier"; + } + leaf minimum-interval { + type uint32 { + range "50..30000"; + } + description + "Specify BFD over LSP tail minimum interval"; + } + } + container head { + description + "BFD over LSP Head Global Configurations"; + leaf reopt-timeout { + type uint32 { + range "120..4294967295"; + } + description + "BFD session down reopt timeout"; + } + leaf down-action { + type Mpls-te-bfd-session-down-action; + description + "Specify BFD session down action"; + } + } + } + container bandwidth-accounting { + description + "Bandwidth accounting configuration data"; + container application { + description + "Bandwidth accounting application configuration + data"; + leaf application-enforced { + type boolean; + default "false"; + description + "This object enables the application"; + } + leaf application-interval { + type uint32 { + range "30..1800"; + } + units "second"; + default "180"; + description + "This object sets the application interval in + seconds for bandwidth accounting. Default to + 180 seconds."; + } + } + container account-flooding-threshold { + description + "This object sets the flooding threshold as + percentage of total link bandwidth for + bandwidth accounting. Default to 10%, 10%"; + leaf up-threshold { + type Mpls-percent-range; + units "percentage"; + default "10"; + description + "Upward flooding Threshold in percentages of + total bandwidth"; + } + leaf down-threshold { + type Mpls-percent-range; + units "percentage"; + default "10"; + description + "Downward flooding Threshold in percentages of + total bandwidth"; + } + } + leaf sampling-interval { + type uint32 { + range "10..600"; + } + units "second"; + default "60"; + description + "This object sets the sampling interval in + seconds for bandwidth accounting. Default to + 60 seconds."; + } + leaf account-flooding-sr-traffic-pct { + type Mpls-percent-range; + units "percentage"; + description + "This object sets the flooding threshold as + percentage of total Segment Routing traffic + for bandwidth accounting. "; + } + leaf adjustment-factor { + type uint32 { + range "0..200"; + } + units "percentage"; + default "100"; + description + "This object sets the percentage adjustment + factor for the non RSVP-TE bandwidth + accounting. Default is 100%."; + } + leaf collection-type-rsvp-te { + type boolean; + default "false"; + description + "This object enables the bandwidth accounting + RSVP-TE sample collection."; + } + leaf enable { + type empty; + description + "This object controls whether BW accounting is + enabled. This object must be set before + setting any other objects under the + BandwidthAccounting class."; + } + } + container pce-attributes { + description + "Configuration MPLS TE PCE attributes"; + container pce-stateful { + description + "PCE Stateful"; + container stateful-timers { + description + "Configure Stateful PCE (Path Computation + Element) timers"; + leaf redelegation-timeout { + type uint32 { + range "0..1576800000"; + } + units "second"; + default "180"; + description + "Timer for static tunnel redelegation in + seconds, default is 180 seconds"; + } + leaf state-timeout { + type uint32 { + range "0..3600"; + } + units "second"; + default "180"; + description + "State timeout for LSPs without delegation in + seconds, zero means immediate removal, + default is 180 seconds"; + } + } + container redundancy { + description + "Configure PCE (Path Computation Element) + redundancy"; + leaf pcc-centric { + type empty; + description + "Enable PCC (Path Computation Client) centric + model"; + } + } + leaf fast-repair { + type empty; + description + "Enable reoptimization by PCC after path + failures"; + } + leaf instantiation { + type empty; + description + "PCE stateful instantiation capability"; + } + leaf cisco-extension { + type empty; + description + "Enable processing of PCEP Cisco extension"; + } + leaf delegation { + type empty; + description + "Delegate all statically configured tunnels"; + } + leaf autoroute-announce { + type empty; + description + "Enable autoroute announce for PCE + instantiated tunnels"; + } + leaf report { + type empty; + description + "Report all statically configured tunnels"; + } + leaf enable { + type empty; + description + "PCE stateful capability"; + } + } + container timer { + description + "Configure PCE (Path Computation Element) + timers"; + } + container peers { + description + "Configure PCE peers"; + list peer { + key "pce-peer-address"; + description + "PCE peer"; + leaf pce-peer-address { + type inet:ipv4-address-no-zone; + description + "Address of PCE Peer"; + } + uses PASSWORD; + uses KEYCHAIN; + uses PRECEDENCE; + } + } + container logging { + description + "Configure PCE (Path Computation Element) + logging feature"; + container events { + description + "Configure logging events"; + leaf peer-status { + type empty; + description + "Peer status changes logging"; + } + } + } + leaf request-timeout { + type uint32 { + range "5..100"; + } + units "second"; + default "10"; + description + "Request timeout value in seconds"; + } + leaf reoptimize-period { + type uint32 { + range "60..604800"; + } + units "second"; + default "60"; + description + "PCE reoptimization period for PCE-based paths"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Address of this PCE"; + } + leaf deadtimer { + type uint32 { + range "0..255"; + } + units "second"; + default "120"; + description + "Deadtimer interval in seconds"; + } + leaf keepalive { + type uint32 { + range "0..255"; + } + units "second"; + default "30"; + description + "Keepalive interval in seconds"; + } + leaf keepalive-tolerance { + type uint32 { + range "0..255"; + } + units "second"; + default "10"; + description + "Keepalive interval tolerance in seconds"; + } + leaf peer-source-addr { + type inet:ipv4-address-no-zone; + description + "PCE Peer Source Address"; + } + leaf speaker-entity-id { + type string { + length "1..256"; + } + description + "PCE speaker entity identifier"; + } + leaf segment-routing { + type empty; + description + "Always set to true"; + } + uses PASSWORD; + uses KEYCHAIN; + uses PRECEDENCE; + } + container lsp-out-of-resource { + description + "Configure LSP OOR attributes in MPLS-TE"; + container lsp-oor-red-state { + description + "Configuration for LSP OOR Red/Major State"; + uses OOR-AVAILABLE-BANDWIDTH-PERCENTAGE; + uses OOR-ACCEPT-LSP-MIN-BANDWIDTH; + uses ALL-TRANSIT-LSP-THRESHOLD; + uses UNPROTECTED-TRANSIT-LSP-THRESHOLD; + uses OOR-ACCEPT-REOPT-LSP; + uses OOR-METRIC-TE-PENALTY; + } + container lsp-oor-green-state { + description + "Configuration for LSP OOR Green/Normal State"; + uses OOR-RECOVERY-DURATION; + uses OOR-AVAILABLE-BANDWIDTH-PERCENTAGE; + uses OOR-ACCEPT-LSP-MIN-BANDWIDTH; + uses OOR-ACCEPT-REOPT-LSP; + uses OOR-METRIC-TE-PENALTY; + } + container lsp-oor-yellow-state { + description + "Configuration for LSP OOR Yellow/Minor State"; + uses OOR-AVAILABLE-BANDWIDTH-PERCENTAGE; + uses OOR-ACCEPT-LSP-MIN-BANDWIDTH; + uses ALL-TRANSIT-LSP-THRESHOLD; + uses UNPROTECTED-TRANSIT-LSP-THRESHOLD; + uses OOR-ACCEPT-REOPT-LSP; + uses OOR-METRIC-TE-PENALTY; + } + } + container soft-preemption { + description + "Soft preemption configuration data"; + leaf timeout { + type uint32 { + range "1..300"; + } + units "second"; + default "60"; + description + "This object sets the timeout in seconds before + hard preemption is triggered."; + } + leaf frr-rewrite { + type empty; + description + "This object controls whether FRR rewrite + during soft preemption is enabled."; + } + leaf enable { + type boolean; + description + "This object controls whether soft preemption + is enabled. This object must be set before + setting any other objects under the + SoftPreemption class."; + } + } + container fast-reroute { + description + "Configure fast reroute attributes"; + container timers { + description + "Configure fast reroute timers"; + leaf hold-backup { + type uint32 { + range "0..604800"; + } + units "second"; + description + "Seconds before backup declared UP (0 disables + hold-timer)"; + } + leaf promotion { + type uint32 { + range "0..604800"; + } + units "second"; + description + "The value of the promotion timer in seconds"; + } + } + } + container path-selection { + description + "Path selection configuration"; + container loose-metrics { + description + "Path selection Loose ERO Metric Class + configuration"; + list loose-metric { + key "class-type"; + description + "Path selection Loose ERO Metric configuration"; + leaf class-type { + type uint32 { + range "0..7"; + } + description + "Path Selection class Type"; + } + leaf metric-type { + type Mpls-te-path-selection-metric; + mandatory true; + description + "Metric to use for ERO Expansion"; + } + } + } + container invalidation { + description + "Deprecated"; + leaf path-invalidation-timeout { + type uint32 { + range "0..60000"; + } + description + "Path Invalidation Timeout"; + } + leaf path-invalidation-action { + type Path-invalidation-action; + description + "Path Invalidation Action"; + } + } + container ignore-overload-role { + description + "Path selection to ignore overload node during + CSPF"; + leaf head { + type boolean; + description + "Set if the OL-bit is to be applied to tunnel + heads"; + } + leaf mid { + type boolean; + description + "Set if the OL-bit is to be applied to tunnel + midpoints"; + } + leaf tail { + type boolean; + description + "Set if the OL-bit is to be applied to tunnel + tails"; + } + } + container loose-affinities { + description + "Path selection Loose ERO Affinity Class + configuration"; + list loose-affinity { + key "class-type"; + description + "Path selection Loose ERO Affinity + configuration"; + leaf class-type { + type uint32 { + range "0..7"; + } + description + "Path Selection class Type"; + } + leaf affinity { + type xr:Hex-integer; + description + "Affinity flags"; + } + leaf mask { + type xr:Hex-integer; + description + "Affinity mask"; + } + } + } + leaf cost-limit { + type uint32 { + range "1..4294967295"; + } + description + "Path selection cost limit configuration for + all tunnels"; + } + leaf tiebreaker { + type Mpls-te-path-selection-tiebreaker; + description + "CSPF tiebreaker to use in path calculation"; + } + leaf metric { + type Mpls-te-path-selection-metric; + description + "Metric to use in path calculation"; + } + leaf loose-domain-match { + type boolean; + description + "Use only the IGP instance of the incoming + interface"; + } + leaf delay-limit { + type uint32 { + range "1..4294967295"; + } + description + "Path selection delay limit configuration for + p2p tunnels (usec)"; + } + } + container affinity-mappings { + description + "Affinity Mapping Table configuration"; + list affinity-mapping { + key "affinity-name"; + description + "Affinity Mapping configuration"; + leaf affinity-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Affinity Name"; + } + leaf value-type { + type Mpls-te-affinity-value; + description + "Affinity value type"; + } + leaf value { + type xr:Hex-integer; + description + "Affinity Value in Hex number or by Bit + position"; + } + } + } + leaf log-nsr-status { + type empty; + description + "Log NSR status messages"; + } + leaf log-issu-status { + type empty; + description + "Log ISSU status messages"; + } + leaf reoptimize-link-up { + type empty; + description + "Enable reoptimization based on link-up events"; + } + leaf reoptimize-delay-cleanup-timer { + type uint32 { + range "0..300"; + } + units "second"; + description + "Reoptimization Delay Cleanup Value (seconds)"; + } + leaf disable-reoptimize-affinity-failure { + type empty; + description + "Disable reoptimization after affinity failures"; + } + leaf maximum-tunnels { + type uint32 { + range "1..65536"; + } + default "4096"; + description + "The maximum number of tunnel heads that will be + allowed."; + } + leaf link-holddown-timer { + type uint32 { + range "0..300"; + } + units "second"; + default "10"; + description + "Holddown time for links which had Path Errors + in seconds"; + } + leaf fault-oam { + type empty; + description + "Enable Fault-OAM functionality for + bidirectional tunnels"; + } + leaf path-retry-timeout { + type uint32 { + range "30..600"; + } + units "second"; + description + "Path message timeout in seconds before a path + retry is attempted"; + } + leaf enable-unequal-load-balancing { + type empty; + description + "Enable unequal load-balancing over tunnels to + the same destination"; + } + leaf log-tail { + type empty; + description + "Log all tail tunnel events"; + } + leaf reoptimize-delay-after-frr-timer { + type uint32 { + range "0..120"; + } + units "second"; + description + "Reoptimization Delay After FRR Value (seconds)"; + } + leaf auto-bandwidth-collect-frequency { + type uint32 { + range "1..10080"; + } + units "minute"; + default "5"; + description + "Auto-bandwidth global collection frequency in + minutes"; + } + leaf reopt-delay-path-protect-switchover-timer { + type uint32 { + range "0..604800"; + } + units "second"; + default "180"; + description + "Seconds between path protect switchover and + tunnel re-optimization. Set to 0 to disable"; + } + leaf log-all { + type empty; + description + "Always set to true"; + } + leaf loose-path-retry-period { + type uint32 { + range "30..600"; + } + default "120"; + description + "Signalling retry for tunnels terminating + outside the headend area"; + } + leaf reoptimize-load-balancing { + type empty; + description + "Load balance bandwidth during reoptimization"; + } + leaf log-head { + type empty; + description + "Log all head tunnel events"; + } + leaf path-selection-ignore-overload { + type empty; + description + "Deprecated - do not use"; + } + leaf graceful-preemption-on-bandwidth-reduction { + type empty; + description + "Enable graceful preemption when there is a + bandwidth reduction"; + } + leaf advertise-explicit-nulls { + type empty; + description + "Enable explicit-null advertising to PHOP"; + } + leaf reoptimize-delay-install-timer { + type uint32 { + range "0..3600"; + } + units "second"; + description + "Reoptimization Delay Install Value (seconds)"; + } + leaf reoptimize-delay-after-affinity-failure-timer { + type uint32 { + range "1..604800"; + } + units "second"; + description + "Delay reoptimizing current LSP after affinity + failures"; + } + leaf log-frr-protection { + type Mpls-te-log-frr-protection; + description + "Log FRR Protection messages"; + } + leaf reoptimize-timer-frequency { + type uint32 { + range "0..604800"; + } + units "second"; + default "3600"; + description + "Reoptimize timers period in seconds"; + } + leaf log-mid { + type empty; + description + "Log all mid tunnel events"; + } + leaf log-preemption { + type empty; + description + "Log tunnel preemption messages"; + } + } + container transport-profile { + description + "MPLS transport profile configuration data"; + container fault { + description + "Fault management"; + container protection-trigger { + description + "OAM events that trigger protection switching"; + container ldi { + description + "Protection switching due to LDI event"; + leaf disable { + type empty; + description + "Disable protection switching due to LDI + event"; + } + } + container lkr { + description + "Protection switching due to LKR event"; + leaf disable { + type empty; + description + "Disable protection switching due to LKR + event"; + } + } + leaf ais { + type empty; + description + "Enable protection switching due to AIS event"; + } + } + leaf wait-to-restore-interval { + type uint32 { + range "0..2147483647"; + } + units "second"; + default "0"; + description + "Waiting time before restoring working LSP"; + } + leaf refresh-interval { + type uint32 { + range "1..20"; + } + units "second"; + default "20"; + description + "Periodic refresh interval for fault OAM + messages"; + } + } + container alarm { + description + "Alarm management"; + container suppress-event { + description + "Suppress all tunnel/LSP alarms"; + leaf disable { + type empty; + description + "Disable alarm suppression"; + } + } + leaf soak-time { + type uint32 { + range "0..10"; + } + units "second"; + default "3"; + description + "Duration of soaking alarms"; + } + leaf enable-alarm { + type empty; + description + "Enable Transport Profile Alarm"; + } + } + container bfd { + description + "Configure BFD parameters"; + container min-interval-standby { + description + "Hello interval for standby transport profile + LSPs, either in milli-seconds or in + micro-seconds"; + leaf interval-standby-ms { + type uint32 { + range "3..5000"; + } + units "millisecond"; + description + "Hello interval in milli-seconds"; + } + leaf interval-standby-us { + type uint32 { + range "3000..5000000"; + } + units "microsecond"; + description + "Hello interval in micro-seconds"; + } + } + container min-interval { + description + "Hello interval, either in milli-seconds or in + micro-seconds"; + leaf interval-ms { + type uint32 { + range "3..5000"; + } + units "millisecond"; + description + "Hello interval in milli-seconds"; + } + leaf interval-us { + type uint32 { + range "3000..5000000"; + } + units "microsecond"; + description + "Hello interval in micro-seconds"; + } + } + leaf detection-multiplier-standby { + type uint32 { + range "2..10"; + } + description + "Detect multiplier for standby transport + profile LSP"; + } + leaf detection-multiplier { + type uint32 { + range "2..10"; + } + description + "Detect multiplier"; + } + } + container midpoints { + description + "MPLS-TP tunnel mid-point table"; + list midpoint { + key "midpoint-name"; + description + "Transport profile mid-point identifier"; + container source { + presence "Indicates a source node is configured."; + description + "Node identifier, tunnel identifier and + optional global identifier of the source of + the LSP"; + leaf node-id { + type inet:ipv4-address-no-zone; + description + "Node identifier in IPv4 address format"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Tunnel identifier in numeric value"; + } + leaf global-id { + type uint32 { + range "1..65535"; + } + description + "Global identifier in numeric value"; + } + } + container destination { + presence "Indicates a destination node is configured."; + description + "Node identifier, tunnel identifier and + optional global identifier of the destination + of the LSP"; + leaf node-id { + type inet:ipv4-address-no-zone; + description + "Node identifier in IPv4 address format"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Tunnel identifier in numeric value"; + } + leaf global-id { + type uint32 { + range "1..65535"; + } + description + "Global identifier in numeric value"; + } + } + container forward-lsp { + description + "Forward transport profile LSP"; + container forward-io-map { + presence "Indicates a forward-io-map node is configured."; + description + "Label cross-connect of forward transport + profile LSP"; + leaf in-label { + type uint32 { + range "16..4015"; + } + description + "MPLS label"; + } + leaf out-label { + type uint32 { + range "16..1048575"; + } + mandatory true; + description + "Outgoing MPLS label"; + } + leaf out-link { + type uint32 { + range "1..65535"; + } + mandatory true; + description + "Transport profile identifier of outgoing + link"; + } + } + leaf forward-bandwidth { + type uint32 { + range "0..4294967295"; + } + units "kbit/s"; + description + "Bandwidth of forward transport profile LSP"; + } + } + container reverse-lsp { + description + "none"; + container reverse-io-map { + presence "Indicates a reverse-io-map node is configured."; + description + "Label cross-connect of reverse transport + profile LSP"; + leaf in-label { + type uint32 { + range "16..4015"; + } + description + "MPLS label"; + } + leaf out-label { + type uint32 { + range "16..1048575"; + } + mandatory true; + description + "Outgoing MPLS label"; + } + leaf out-link { + type uint32 { + range "1..65535"; + } + mandatory true; + description + "Transport profile identifier of outgoing + link"; + } + } + leaf reverse-bandwidth { + type uint32 { + range "0..4294967295"; + } + units "kbit/s"; + description + "Bandwidth of reverse transport profile LSP"; + } + } + leaf tunnel-name { + type string; + description + "Tunnel Name"; + } + leaf lsp-protect { + type empty; + description + "Enable LSP protection"; + } + leaf lsp-id { + type uint32 { + range "0..65535"; + } + description + "Numeric identifier"; + } + leaf midpoint-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Name of mid-point"; + } + } + } + leaf global-id { + type uint32 { + range "1..65535"; + } + description + "Transport profile global identifier"; + } + leaf node-id { + type inet:ipv4-address-no-zone; + description + "Node identifier in IPv4 address format"; + } + } + container interfaces { + description + "Configure MPLS TE interfaces"; + list interface { + key "interface-name"; + description + "Configure an MPLS TE interface"; + container transport-profile-link { + description + "MPLS transport profile capable link"; + container links { + description + "Transport profile link table"; + list link { + key "link-id"; + description + "Transport profile link"; + leaf link-id { + type uint32 { + range "1..65535"; + } + description + "Numeric link identifier"; + } + leaf next-hop-type { + type Link-next-hop; + mandatory true; + description + "Next hop type"; + } + leaf next-hop-address { + when "../next-hop-type = 'ipv4-address'" { + description + "../NextHopType = IPV4Address"; + } + type inet:ipv4-address-no-zone; + description + "Next-hop address in IPv4 format"; + } + } + } + } + container lcac { + description + "LCAC specific MPLS interface configuration"; + container switchings { + description + "Set the te-link switching attributes"; + list switching { + key "switching-id"; + description + "The te-link switching attributes"; + leaf encoding { + type Mpls-te-switching-encoding; + description + "Set the local encoding type"; + } + leaf capability { + type Mpls-te-switching-cap; + description + "Set the local switching capability"; + } + leaf switching-id { + type Mpls-te-switching-index; + description + "Switching index"; + } + } + } + container flood-area { + description + "Set the IGP instance into which this + interface is to be flooded (GMPLS only)"; + leaf igp-type { + type Mpls-lcac-flooding-igp; + description + "IGP type"; + } + leaf process-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Process name"; + } + leaf area-id { + type uint32; + description + "Area ID"; + } + } + container attribute-name-xr { + description + "Set the interface attribute names"; + leaf-list attribute-name { + type string; + max-elements "32"; + description + "Array of Attribute Names"; + } + } + container attribute-names { + description + "Attribute name table"; + list attribute-name { + key "affinity-index"; + description + "Set the interface attribute names"; + leaf affinity-index { + type uint32 { + range "1..9"; + } + description + "Specify the entry index"; + } + leaf-list value { + type string; + min-elements 1; + max-elements "32"; + description + "Array of Attribute Names"; + } + } + } + container srlgs { + description + "Configure SRLG membership for the interface"; + list srlg { + key "srlg-number"; + description + "SRLG membership number"; + leaf srlg-number { + type uint32 { + range "0..4294967295"; + } + description + "SRLG membership number"; + } + } + } + container up-thresholds { + description + "Set thresholds for increased resource + availability in %"; + leaf-list up-threshold { + type Mpls-lcac-flooding-threshold-percent-range; + units "percentage"; + max-elements "14"; + description + "Array of up threshold percentage"; + } + } + container down-thresholds { + description + "Set thresholds for decreased resource + availability in %"; + leaf-list down-threshold { + type Mpls-lcac-flooding-threshold-percent-range; + units "percentage"; + max-elements "14"; + description + "Array of down threshold percentage"; + } + } + leaf bfd { + type empty; + description + "Enable use of Bidirectional Forwarding + Detection"; + } + leaf fault-oam-lockout { + type empty; + description + "Lockout protection on the interface for Flex + LSP"; + } + leaf attribute-flags { + type xr:Hex-integer; + description + "Set user defined interface attribute flags"; + } + leaf enable { + type empty; + description + "Enable MPLS-TE on the link"; + } + leaf admin-weight { + type uint32 { + range "0..4294967295"; + } + description + "Set administrative weight for the interface"; + } + } + container global-attributes { + description + "MPLS TE global interface configuration"; + container backup-tunnels { + description + "Configure MPLS TE backup tunnels for this + interface"; + list backup-tunnel { + key "tunnel-name"; + description + "Tunnel name"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Tunnel name"; + } + } + } + container auto-tunnel { + description + "Auto tunnel configuration"; + container backup { + description + "Auto tunnel backup configuration"; + container bandwidth-protection { + description + "Auto-tunnel bandwidth protection"; + leaf maximum-aggregate { + type uint32 { + range "1..4294967295"; + } + units "kbit/s"; + description + "Set maximum aggregated amount of bandwidth + to protect"; + } + } + container exclude { + description + "Auto-tunnel backup exclusion criteria"; + leaf srlg-mode { + type Mpls-tesrlg-exclude; + description + "Set exclude SRLG mode for auto-tunnel + backup on this TE link"; + } + } + leaf enable { + type empty; + description + "Enable auto-tunnel backup on this TE link"; + } + leaf attribute-set { + type Attribute-set-name-length; + description + "The name of attribute set to be applied to + this auto backup lsp"; + } + leaf next-hop-only { + type empty; + description + "Enable NHOP-only mode for auto-tunnel + backup on this TE link"; + } + } + } + container backup-paths { + description + "Configure MPLS TE backup tunnels for this + interface"; + list backup-path { + key "tunnel-number"; + description + "Tunnel interface number"; + leaf tunnel-number { + type uint32 { + range "0..65535"; + } + description + "Tunnel interface number"; + } + } + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container gmpls-nni { + description + "GMPLS-NNI configuration"; + container topology-instances { + description + "GMPLS-NNI topology instance table"; + list topology-instance { + must "ospf-int or ospfip-addr" { + description + "OSPFInt or OSPFIPAddr must be present."; + } + key "ospf-area-type igp-instance-name igp-type"; + description + "GMPLS-NNI topology instance configuration"; + + grouping TOPOLOGY-INSTANCE-CONTENT { + description + "TOPOLOGY INSTANCE CONTENT"; + container controllers { + description + "GMPLS-NNI controllers"; + list controller { + key "controller-name"; + description + "Configure a GMPLS NNI controller"; + container tti-mode { + description + "Set tandem connection monitoring for the + interface"; + leaf tti-mode-type { + type Gmplstti-mode; + description + "Type of Trail Trace Identifier"; + } + leaf tcmid { + when "../tti-mode-type = 'tcm'" { + description + "../TTIModeType = TCM"; + } + type uint32 { + range "1..6"; + } + description + "Tandem Connection Monitoring ID for the + interface"; + } + } + container affinity-names { + description + "Set the interface affinity names"; + leaf-list affinity-name { + type string; + max-elements "32"; + description + "Array of Attribute Names"; + } + } + leaf admin-weight { + type uint32 { + range "0..65535"; + } + description + "Set administrative weight for the + interface"; + } + leaf enable { + type empty; + description + "Enable GMPLS-NNI on the link"; + } + leaf delay { + type uint32 { + range "1..16777215"; + } + description + "Set link delay for the interface"; + } + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + } + } + } + leaf igp-type { + type Mpls-te-igp-protocol; + description + "IGP type"; + } + leaf igp-instance-name { + type xr:Cisco-ios-xr-string { + length "1..40"; + } + description + "Name of IGP instance"; + } + leaf ospf-area-type { + type Ospf-area-mode; + description + "OSPF area format"; + } + list ospf-int { + when "../ospf-area-type = 'ospf-int'" { + description + "../OSPFAreaType = OSPFInt"; + } + key "igp-area"; + description + "ospf int"; + leaf igp-area { + type uint32; + description + "IGP area"; + } + uses TOPOLOGY-INSTANCE-CONTENT; + } + list ospfip-addr { + when "../ospf-area-type = 'ospfip-addr'" { + description + "../OSPFAreaType = OSPFIPAddr"; + } + key "address"; + description + "ospfip addr"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Area ID if in IP address format"; + } + uses TOPOLOGY-INSTANCE-CONTENT; + } + } + } + container tunnel-heads { + description + "GMPLS-NNI tunnel-head table"; + list tunnel-head { + key "tunnel-id"; + description + "The configuration for a GMPLS NNI tunnel + head-end"; + container signalled-bandwidth { + description + "The existence of this configuration indicates + the signalled bandwidth has been set for the + tunnel"; + leaf signalled-bandwidth-type { + type Otn-signaled-bandwidth; + description + "The g.709 signal type requested"; + } + leaf bitrate { + when "../signalled-bandwidth-type = 'od-uflex-cbr' or ../signalled-bandwidth-type = 'od-uflex-gfp-resize' or ../signalled-bandwidth-type = 'od-uflex-gfp-not-resize'" { + description + "../SignalledBandwidthType = ODUflexCBR or + ../SignalledBandwidthType = + ODUflexGFPResize or . + ./SignalledBandwidthType = + ODUflexGFPNotResize"; + } + type uint32; + units "kbit/s"; + description + "Bitrate value in Kbps for ODUflex framing + type"; + } + leaf od-uflex-framing-type { + when "../signalled-bandwidth-type = 'od-uflex-cbr' or ../signalled-bandwidth-type = 'od-uflex-gfp-resize' or ../signalled-bandwidth-type = 'od-uflex-gfp-not-resize'" { + description + "../SignalledBandwidthType = ODUflexCBR or + ../SignalledBandwidthType = + ODUflexGFPResize or . + ./SignalledBandwidthType = + ODUflexGFPNotResize"; + } + type Otn-signaled-bandwidth-flex-framing; + description + "Framing type in case of ODUflex signal type"; + } + } + container destination { + description + "The existence of this configuration indicates + the destination has been set for the tunnel"; + leaf destination { + type inet:ipv4-address-no-zone; + description + "IPV4 tunnel destination"; + } + leaf destination-type { + type Otn-destination; + description + "Destination type whether it is unicast or + unnumbered"; + } + leaf interface-if-index { + type uint32; + description + "Interface index of port"; + } + } + container protection-switching { + description + "The configuration for a GMPLS NNI tunnel + protection switch"; + leaf lockout { + type Otn-protection-switch-lockout; + description + "The configuration is used to prevent switch + over for a particular path type in tunnel"; + } + } + container logging { + description + "Tunnel event logging"; + leaf active-lsp-message { + type empty; + description + "Log all tunnel messages for changes in + Active LSP"; + } + leaf homepath-state-message { + type empty; + description + "Log all messages for changes in state of + Homepath of Working LSP"; + } + leaf signalling-state-message { + type empty; + description + "Log all tunnel sub-LSP state messages"; + } + leaf path-change-message { + type empty; + description + "Log all tunnel messages for changes in + path-change"; + } + leaf static-cross-connect-message { + type empty; + description + "Log all tunnel messages for static + cross-connect messages"; + } + leaf tunnel-state-message { + type empty; + description + "Log all tunnel messages for changes in + tunnel-state"; + } + leaf insufficient-bw-message { + type empty; + description + "Log tunnel messages for insufficient + bandwidth"; + } + } + container path-options { + description + "GMPLS NNI path options"; + list path-option { + key "preference-level"; + description + "The existence of this configuration + indicates the path options have been set for + the tunnel"; + leaf preference-level { + type uint32 { + range "1..1000"; + } + description + "Preference level for this path option"; + } + leaf path-type { + type Mpls-te-path-option; + description + "The type of the path option"; + } + leaf path-id { + type uint32 { + range "1..65535"; + } + description + "The ID of the IP explicit path associated + with this option"; + } + leaf path-name { + type string; + description + "The name of the IP explicit path associated + with this option"; + } + leaf protected-by-preference-level { + type uint32 { + range "1..1001"; + } + description + "Preference level of the protecting explicit + path. "; + } + leaf restore-by-preference-level { + type uint32 { + range "1..1000"; + } + description + "Preference level of the restore path. "; + } + leaf xro-type { + type Mpls-te-path-option-xro; + mandatory true; + description + "The route-exclusion type"; + } + leaf xro-attribute-set-name { + type Attribute-set-name-length; + description + "The name of the XRO attribute set to be + used for this path-option"; + } + leaf affinity-attribute-set-name { + type Attribute-set-affinity-name-length; + description + "The name of the affinity attribute set to + be used for this path-option"; + } + leaf lockdown { + type Mpls-te-path-option-property; + description + "Lockdown properties"; + } + } + } + container static-uni { + description + "The existence of this configuration indicates + the static UNI endpoints have been set for + the tunnel"; + leaf ingress-controller-name { + type xr:Cisco-ios-xr-string { + length "1..255"; + } + description + "Name of ingress controller"; + } + leaf egress-controller-if-index { + type uint32; + description + "Interface index of Egress controller"; + } + leaf ingress-type { + type Otn-static-uni; + description + "Ingress type whether it is xconnect or + terminated"; + } + leaf egress-type { + type Otn-static-uni; + description + "Egress type whether it is xconnect or + terminated"; + } + } + leaf enable { + type empty; + description + "The existence of this configuration indicates + the a new GMPLS NNI tunnel has been enabled"; + } + leaf announce-srlg { + type empty; + description + "Announce SRLG on term interface for the + tunnel"; + } + leaf restore-lsp-shutdown { + type empty; + description + "The existence of this configuration indicates + the restore LSP of tunnel is shutdown"; + } + leaf current-lsp-shutdown { + type empty; + description + "The existence of this configuration indicates + the current/working LSP of tunnel is shutdown"; + } + leaf path-selection-metric { + type Mpls-te-path-selection-metric; + description + "Path selection configuration for this + specific tunnel"; + } + leaf payload { + type Otn-payload; + description + "The existence of this configuration indicates + the Payload type have been set for the tunnel"; + } + leaf standby-lsp-shutdown { + type empty; + description + "The existence of this configuration indicates + the standby/protect LSP of tunnel is shutdown"; + } + leaf shutdown { + type empty; + description + "The existence of this configuration indicates + the tunnel is shutdown"; + } + leaf path-protection-attribute-set-profile { + type string { + length "1..64"; + } + description + "The name of the path-protection profile to be + included in signalling messages"; + } + leaf tunnel-id { + type uint32 { + range "0..65535"; + } + description + "Tunnel ID"; + } + uses RECORD-ROUTE; + uses SIGNALLED-NAME; + } + } + leaf path-selection-metric { + type Mpls-te-path-selection-metric; + description + "Path selection configuration for all gmpls nni + tunnels"; + } + leaf enable-gmpls-nni { + type empty; + description + "Enable MPLS Traffic Engineering GMPLS-NNI"; + } + } + container lcac { + description + "LCAC specific MPLS global configuration"; + container bfd { + description + "BFD configuration"; + leaf interval { + type uint32 { + range "15..200"; + } + units "millisecond"; + description + "Hello interval for BFD sessions created by TE"; + } + leaf detection-multiplier { + type uint32 { + range "2..10"; + } + description + "Detection multiplier for BFD sessions created + by TE"; + } + } + container flooding-threshold { + description + "Configure flooding threshold as percentage of + total link bandwidth."; + leaf up-stream { + type Mpls-percent-range; + units "percentage"; + description + "Upward flooding Threshold in percentages of + total bandwidth"; + } + leaf down-stream { + type Mpls-percent-range; + units "percentage"; + description + "Downward flooding Threshold in percentages of + total bandwidth"; + } + } + leaf bandwidth-hold-timer { + type Mpls-lcac-bandwidth-hold-timer-range; + units "second"; + description + "Bandwidth hold timer value (seconds)"; + } + leaf delay-preempt-bundle-capacity-timer { + type uint32 { + range "0..300"; + } + units "second"; + description + "Bundle capacity preemption timer value + (seconds)"; + } + leaf periodic-flooding-timer { + type uint32 { + range "0..3600"; + } + units "second"; + description + "Periodic flooding value (seconds)"; + } + } + leaf enable-traffic-engineering { + type empty; + description + "Enable MPLS Traffic Engineering"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-datatypes.yang new file mode 100644 index 000000000..45c7d288b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-datatypes.yang @@ -0,0 +1,962 @@ +module Cisco-IOS-XR-mpls-te-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-datatypes"; + prefix mpls-te-datatypes; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-12 { + description + "Added include-any under MPLS_TETunnelAffinityType"; + semver:module-version "2.0.1m"; + } + revision 2019-09-30 { + description + "extra leaves in mpls.traffic-eng.attribute-set.auto-backup.logging.events.lsp-status"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-tesrlg-exclude { + type enumeration { + enum "mandatory" { + value 1; + description + "SRLG Mandatory Exclude"; + } + enum "preferred" { + value 2; + description + "SRLG Preferred Exclude"; + } + enum "weighted" { + value 3; + description + "SRLG Weighted Exclude"; + } + } + description + "Mpls tesrlg exclude"; + } + + typedef Mpls-te-affinity-value { + type enumeration { + enum "hex-value" { + value 1; + description + "Affinity value in Hex number"; + } + enum "bit-position" { + value 2; + description + "Affinity value by Bit-Position"; + } + } + description + "Mpls te affinity value"; + } + + typedef Mpls-te-uni-in-place-bit { + type enumeration { + enum "not-set" { + value 0; + description + "NOT SET"; + } + enum "set" { + value 8; + description + "SET"; + } + } + description + "Mpls te uni in place bit"; + } + + typedef Destination-list-name-length { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Destination list name length"; + } + + typedef Mpls-percent-range { + type uint32 { + range "0..100"; + } + description + "Mpls percent range"; + } + + typedef Sr-prepend { + type enumeration { + enum "none-type" { + value 0; + description + "NoneType"; + } + enum "next-label" { + value 1; + description + "Next Label"; + } + enum "bgp-n-hop" { + value 2; + description + "BGP NHOP"; + } + } + description + "Sr prepend"; + } + + typedef Mpls-te-path-selection-tiebreaker { + type enumeration { + enum "min-fill" { + value 1; + description + "Prefer the path with the least-utilized links"; + } + enum "max-fill" { + value 2; + description + "Prefer the path with the most-utilized links"; + } + enum "random" { + value 3; + description + "Prefer a path with links utilized randomly"; + } + } + description + "Mpls te path selection tiebreaker"; + } + + typedef Attribute-set-name-length { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Attribute set name length"; + } + + typedef Mpls-te-otn-aps-protection { + type enumeration { + enum "1plus1-unidir-no-aps" { + value 4; + description + "1PLUS1 UNIDIR NO APS"; + } + enum "1plus1-unidir-aps" { + value 8; + description + "1PLUS1 UNIDIR APS"; + } + enum "1plus1-bdir-aps" { + value 16; + description + "1PLUS1 BIDIR APS"; + } + } + description + "Mpls te otn aps protection"; + } + + typedef Mpls-te-path-option-property { + type enumeration { + enum "none" { + value 0; + description + "No property"; + } + enum "lockdown" { + value 1; + description + "Path is not a candidate for reoptimization"; + } + enum "verbatim" { + value 4; + description + "Explicit path does not require topology + database"; + } + enum "pce" { + value 8; + description + "Dynamic path found by PCE server"; + } + enum "segment-routing" { + value 16; + description + "Segment Routing path"; + } + enum "sticky" { + value 32; + description + "Force tunnel to remain on same path"; + } + } + description + "Mpls te path option property"; + } + + typedef Mpls-te-lsp-switch { + type enumeration { + enum "dcsc" { + value 0; + description + "Data channel switch capable"; + } + enum "lsc" { + value 1; + description + "Lambda switch capable"; + } + enum "fsc" { + value 2; + description + "Fiber switch capable"; + } + } + description + "Mpls te lsp switch"; + } + + typedef Mpls-te-path-option-xro { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "xro-attribute-set-type" { + value 1; + description + "Defined as attribute-set"; + } + } + description + "Mpls te path option xro"; + } + + typedef Mpls-te-tunnel-affinity { + type enumeration { + enum "include" { + value 1; + description + "Include Affinity"; + } + enum "include-strict" { + value 2; + description + "Strictly Include Affinity"; + } + enum "exclude" { + value 3; + description + "Exclude Affinity"; + } + enum "exclude-all" { + value 4; + description + "Exclude All Affinities"; + } + enum "ignore" { + value 5; + description + "Ignore Affinity"; + } + enum "include-any" { + value 6; + description + "Include Any Affinity"; + } + } + description + "Mpls te tunnel affinity"; + } + + typedef Mpls-te-lsp-enc { + type enumeration { + enum "ethernet-type1" { + value 0; + description + "Ethernet Type1"; + } + enum "ethernet-type2" { + value 1; + description + "Ethernet Type2"; + } + enum "lambda" { + value 2; + description + "Lambda"; + } + enum "fiber" { + value 3; + description + "Fiber"; + } + } + description + "Mpls te lsp enc"; + } + + typedef Mpls-te-switching-cap { + type enumeration { + enum "psc1" { + value 1; + description + "PSC1"; + } + enum "lsc" { + value 150; + description + "LSC"; + } + enum "fsc" { + value 200; + description + "FSC"; + } + } + description + "Mpls te switching cap"; + } + + typedef Mpls-te-otn-aps-protection-mode { + type enumeration { + enum "revertive" { + value 1; + description + "Revertive"; + } + enum "non-revertive" { + value 2; + description + "Non Revertive"; + } + } + description + "Mpls te otn aps protection mode"; + } + + typedef Mpls-te-bfd-session-down-action { + type enumeration { + enum "re-setup" { + value 1; + description + "Tear down and resetup"; + } + } + description + "Mpls te bfd session down action"; + } + + typedef Mpls-te-log-frr-protection { + type enumeration { + enum "frr-active-primary" { + value 1; + description + "Track only FRR active on primary LSP"; + } + enum "backup" { + value 256; + description + "backup tunnel"; + } + enum "frr-ready-primary" { + value 512; + description + "Track only FRR ready on primary LSP"; + } + enum "primary" { + value 513; + description + "primary LSP"; + } + enum "all" { + value 769; + description + "all"; + } + } + description + "Mpls te log frr protection"; + } + + typedef Mpls-te-uni-required-bit { + type enumeration { + enum "not-set" { + value 0; + description + "NOT SET"; + } + enum "set" { + value 4; + description + "SET"; + } + } + description + "Mpls te uni required bit"; + } + + typedef Mpls-te-autoroute-metric { + type enumeration { + enum "relative" { + value 1; + description + "Relative"; + } + enum "absolute" { + value 2; + description + "Absolute"; + } + enum "constant" { + value 3; + description + "Constant"; + } + } + description + "Mpls te autoroute metric"; + } + + typedef Mpls-te-backup-bandwidth-pool { + type enumeration { + enum "any-pool" { + value 1; + description + "Any Pool"; + } + enum "global-pool" { + value 2; + description + "Global Pool"; + } + enum "sub-pool" { + value 4; + description + "Sub Pool"; + } + } + description + "Mpls te backup bandwidth pool"; + } + + typedef Mpls-te-otn-snc-mode { + type enumeration { + enum "snc-n" { + value 1; + description + "SNC N"; + } + enum "snc-i" { + value 2; + description + "SNC I"; + } + enum "snc-s" { + value 3; + description + "SNC S"; + } + } + description + "Mpls te otn snc mode"; + } + + typedef Bfd-reverse-path { + type enumeration { + enum "bfd-reverse-path-binding-label" { + value 1; + description + "BindingLabel"; + } + } + description + "Bfd reverse path"; + } + + typedef Mpls-te-path-selection-metric { + type enumeration { + enum "igp" { + value 1; + description + "IGP Metric"; + } + enum "te" { + value 2; + description + "TE Metric"; + } + enum "delay" { + value 4; + description + "DELAY Metric"; + } + } + description + "Mpls te path selection metric"; + } + + typedef Mpls-te-path-option { + type enumeration { + enum "not-set" { + value 0; + description + "Not Set"; + } + enum "dynamic" { + value 1; + description + "Dynamic"; + } + enum "explicit-name" { + value 3; + description + "Explicit, identified by name"; + } + enum "explicit-number" { + value 4; + description + "Explicit, identified by number"; + } + enum "no-ero" { + value 5; + description + "No ERO"; + } + enum "sr" { + value 6; + description + "Deprecated"; + } + } + description + "Mpls te path option"; + } + + typedef Mpls-te-bandwidth-pool { + type enumeration { + enum "any-pool" { + value 0; + description + "Any Pool"; + } + enum "sub-pool" { + value 1; + description + "Sub Pool"; + } + } + description + "Mpls te bandwidth pool"; + } + + typedef Mpls-te-bandwidth-dste { + type enumeration { + enum "standard-dste" { + value 0; + description + "IETF-Standard DSTE"; + } + enum "pre-standard-dste" { + value 1; + description + "Pre-Standard DSTE"; + } + } + description + "Mpls te bandwidth dste"; + } + + typedef Mpls-te-path-selection-invalidation-timer-expire { + type enumeration { + enum "tunnel-action-tear" { + value 1; + description + "Tear down tunnel."; + } + enum "tunnel-action-drop" { + value 2; + description + "Drop tunnel traffic."; + } + } + description + "Mpls te path selection invalidation timer expire"; + } + + typedef Ctype { + type enumeration { + enum "ctype-null" { + value 0; + description + "CTYPE NULL"; + } + enum "ctype-ipv4" { + value 1; + description + "CTYPE IPV4"; + } + enum "ctype-ipv4-p2p-tunnel" { + value 7; + description + "CTYPE IPV4 P2P TUNNEL"; + } + enum "ctype-ipv6-p2p-tunnel" { + value 8; + description + "CTYPE IPV6 P2P TUNNEL"; + } + enum "ctype-ipv4-uni" { + value 9; + description + "CTYPE IPV4 UNI"; + } + enum "ctype-ipv4-p2mp-tunnel" { + value 13; + description + "CTYPE IPV4 P2MP TUNNEL"; + } + enum "ctype-ipv6-p2mp-tunnel" { + value 14; + description + "CTYPE IPV6 P2MP TUNNEL"; + } + } + description + "Ctype"; + } + + typedef Attribute-set-affinity-name-length { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Attribute set affinity name length"; + } + + typedef Mpls-te-path-diversity-conformance { + type enumeration { + enum "strict" { + value 0; + description + "Strict"; + } + enum "best-effort" { + value 1; + description + "Best effort"; + } + } + description + "Mpls te path diversity conformance"; + } + + typedef Mpls-te-uni-lsp-seg-flag { + type enumeration { + enum "unprotected" { + value 0; + description + "UNPROTECTED"; + } + enum "rerouting" { + value 1; + description + "REROUTING"; + } + enum "rerouting-no-et" { + value 2; + description + "REROUTING NO ET"; + } + enum "rerouting-one-to-n-et" { + value 4; + description + "REROUTING ONE TO N ET"; + } + enum "rerouting-one-plus-one-uni" { + value 8; + description + "REROUTING ONE PLUS ONE UNI"; + } + enum "rerouting-one-plus-one-bi" { + value 16; + description + "REROUTING ONE PLUS ONE BI"; + } + } + description + "Mpls te uni lsp seg flag"; + } + + typedef Mpls-te-backup-bandwidth-class { + type enumeration { + enum "class0" { + value 0; + description + "Class 0"; + } + enum "class1" { + value 1; + description + "Class 1"; + } + enum "any-class" { + value 9; + description + "Any Class"; + } + } + description + "Mpls te backup bandwidth class"; + } + + typedef Mpls-te-attr-set { + type enumeration { + enum "not-used" { + value 0; + description + "Not used"; + } + enum "static" { + value 1; + description + "Static"; + } + enum "lsp" { + value 2; + description + "LSP"; + } + enum "unassigned" { + value 3; + description + "Unassigned"; + } + enum "auto-backup" { + value 4; + description + "Auto backup"; + } + enum "auto-mesh" { + value 5; + description + "Auto mesh"; + } + enum "xro" { + value 6; + description + "XRO"; + } + enum "p2mp-te" { + value 7; + description + "P2MP TE"; + } + enum "otn-pp" { + value 8; + description + "OTN Path Protection"; + } + enum "p2p-te" { + value 9; + description + "P2P TE"; + } + enum "uni-p" { + value 10; + description + "Uni protection"; + } + } + description + "Mpls te attr set"; + } + + typedef Mpls-te-otn-aps-restoration-style { + type enumeration { + enum "keep-failed-lsp" { + value 1; + description + "Keep Failed Lsp"; + } + enum "delete-failed-lsp" { + value 2; + description + "Delete Failed Lsp"; + } + } + description + "Mpls te otn aps restoration style"; + } + + typedef Mpls-te-path-selection-segment-routing-adjacency-protection { + type enumeration { + enum "not-set" { + value 0; + description + "Any segment can be used in a path."; + } + enum "adj-unprotected" { + value 1; + description + "Only unprotected adjacency segments can be used + in a path."; + } + enum "adj-protected" { + value 2; + description + "Only protected adjacency segments can be used + in a path."; + } + } + description + "Mpls te path selection segment routing adjacency + protection"; + } + + typedef Mpls-te-path-option-protection { + type enumeration { + enum "active" { + value 0; + description + "Active path"; + } + enum "protecting" { + value 1; + description + "Protecting Path"; + } + } + description + "Mpls te path option protection"; + } + + typedef Mpls-te-sig-name-option { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "address" { + value 1; + description + "Address"; + } + enum "name" { + value 2; + description + "Name"; + } + } + description + "Mpls te sig name option"; + } + + typedef Mpls-te-bandwidth-limit { + type enumeration { + enum "unlimited" { + value 64; + description + "Unlimited"; + } + enum "limited" { + value 128; + description + "Limited"; + } + } + description + "Mpls te bandwidth limit"; + } + + typedef Mesh-group-id { + type uint32 { + range "0..4294967295"; + } + description + "Mesh group id"; + } + + typedef Path-invalidation-action { + type enumeration { + enum "tear" { + value 1; + description + "Tear"; + } + enum "drop" { + value 2; + description + "Drop"; + } + } + description + "Path invalidation action"; + } + + typedef Mpls-te-igp-protocol { + type enumeration { + enum "none" { + value 0; + description + "Not set"; + } + enum "isis" { + value 1; + description + "IS IS"; + } + enum "ospf" { + value 2; + description + "OSPF"; + } + } + description + "Mpls te igp protocol"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub1.yang new file mode 100644 index 000000000..2e887a533 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub1.yang @@ -0,0 +1,614 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-tp-tunnel-switchover-trig { + type enumeration { + enum "none" { + description + "Deprecated"; + } + enum "bfd" { + description + "Deprecated"; + } + enum "local-lockout" { + description + "Deprecated"; + } + enum "remote-lockout" { + description + "Deprecated"; + } + enum "ais" { + description + "Deprecated"; + } + enum "ldi" { + description + "Deprecated"; + } + enum "lkr" { + description + "Deprecated"; + } + enum "link-down" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + typedef Mpls-tp-tunnel-active-lsp { + type enumeration { + enum "working" { + description + "Deprecated"; + } + enum "protect" { + description + "Deprecated"; + } + enum "none" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + typedef Mpls-tp-lsp-bfd-state { + type enumeration { + enum "down" { + description + "Deprecated"; + } + enum "up" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + typedef Mpls-tp-lsp-oam-state { + type enumeration { + enum "none" { + description + "Deprecated"; + } + enum "ldi" { + description + "Deprecated"; + } + enum "lkr" { + description + "Deprecated"; + } + enum "ais" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + typedef Mpls-tp-lsp-state { + type enumeration { + enum "down" { + description + "Deprecated"; + } + enum "up" { + description + "Deprecated"; + } + enum "active" { + description + "Deprecated"; + } + enum "unknown" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + typedef Mpls-tp-tunnel-state { + type enumeration { + enum "admin-down" { + description + "Deprecated"; + } + enum "admin-up" { + description + "Deprecated"; + } + enum "oper-up" { + description + "Deprecated"; + } + enum "oper-down" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + grouping MPLS-TE-TP-GLOBAL-INFO { + description + "Deprecated"; + container oam-protection-triggers { + description + "Deprecated"; + uses MPLS-TE-TP-OAM-PROT-TRIGGER; + } + leaf node-id { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf global-id { + type uint32; + description + "Deprecated"; + } + leaf oam-refresh { + type uint32; + description + "Deprecated"; + } + leaf bfd-interval { + type uint32; + description + "Deprecated"; + } + leaf bfd-interval-in-micro-sec { + type boolean; + description + "Deprecated"; + } + leaf bfd-interval-standby { + type uint32; + description + "Deprecated"; + } + leaf bfd-interval-standby-in-micro-sec { + type boolean; + description + "Deprecated"; + } + leaf bfd-multiplier { + type uint32; + description + "Deprecated"; + } + leaf bfd-multiplier-standby { + type uint32; + description + "Deprecated"; + } + leaf wait-to-restore-interval { + type uint32; + description + "Deprecated"; + } + leaf alarm-suppression { + type boolean; + description + "Deprecated"; + } + leaf soak-time { + type uint32; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-OAM-PROT-TRIGGER { + description + "Deprecated"; + leaf ais { + type boolean; + description + "Deprecated"; + } + leaf ldi { + type boolean; + description + "Deprecated"; + } + leaf lkr { + type boolean; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-DETAIL-TUNNEL-LSP-INFO { + description + "Deprecated"; + container brief-information { + description + "Deprecated"; + uses MPLS-TE-TP-TUNNEL-LSP-INFO; + } + leaf oam-refresh-interval { + type uint32; + description + "Deprecated"; + } + leaf tp-out-label { + type uint32; + description + "Deprecated"; + } + leaf link-id { + type uint32; + description + "Deprecated"; + } + leaf out-interface-name { + type string; + description + "Deprecated"; + } + leaf out-next-hop { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf in-label { + type uint32; + description + "Deprecated"; + } + leaf reserved-bandwidth { + type uint32; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-TUNNEL-LSP-INFO { + description + "Deprecated"; + leaf lsp-id { + type uint32; + description + "Deprecated"; + } + leaf state { + type Mpls-tp-lsp-state; + description + "Deprecated"; + } + leaf lock-out { + type boolean; + description + "Deprecated"; + } + leaf rx-oam-state { + type Mpls-tp-lsp-oam-state; + description + "Deprecated"; + } + leaf tx-oam-state { + type Mpls-tp-lsp-oam-state; + description + "Deprecated"; + } + leaf bfd-state { + type Mpls-tp-lsp-bfd-state; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-TUNNEL-INFO { + description + "Deprecated"; + container working-lsp { + description + "Deprecated"; + uses MPLS-TE-TP-TUNNEL-LSP-INFO; + } + container protect-lsp { + description + "Deprecated"; + uses MPLS-TE-TP-TUNNEL-LSP-INFO; + } + leaf tunnel-name { + type string; + description + "Deprecated"; + } + leaf source-tunnel-id { + type uint32; + description + "Deprecated"; + } + leaf source-node-id { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf source-global-id { + type uint32; + description + "Deprecated"; + } + leaf destination-node-id { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf destination-global-id { + type uint32; + description + "Deprecated"; + } + leaf remote-tunnel-id { + type uint32; + description + "Deprecated"; + } + leaf admin-status { + type Mpls-tp-tunnel-state; + description + "Deprecated"; + } + leaf operation-status { + type Mpls-tp-tunnel-state; + description + "Deprecated"; + } + leaf active-lsp { + type Mpls-tp-tunnel-active-lsp; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-DETAIL-TUNNEL-INFO { + description + "Deprecated"; + container tunnel { + description + "Deprecated"; + uses MPLS-TE-TP-TUNNEL-INFO; + } + container working-lsp { + description + "Deprecated"; + uses MPLS-TE-TP-DETAIL-TUNNEL-LSP-INFO; + } + container protect-lsp { + description + "Deprecated"; + uses MPLS-TE-TP-DETAIL-TUNNEL-LSP-INFO; + } + container oam-protection-triggers { + description + "Deprecated"; + uses MPLS-TE-TP-OAM-PROT-TRIGGER; + } + leaf req-bandwidth { + type uint32; + description + "Deprecated"; + } + leaf oam-interval { + type uint32; + description + "Deprecated"; + } + leaf bfd-interval-active { + type uint32; + description + "Deprecated"; + } + leaf bfd-interval-active-in-micro-sec { + type boolean; + description + "Deprecated"; + } + leaf bfd-multiplier-active { + type uint32; + description + "Deprecated"; + } + leaf bfd-interval-standby { + type uint32; + description + "Deprecated"; + } + leaf bfd-interval-standby-in-micro-sec { + type boolean; + description + "Deprecated"; + } + leaf bfd-multiplier-standby { + type uint32; + description + "Deprecated"; + } + leaf tunnel-up-time { + type uint32; + description + "Deprecated"; + } + leaf switchover-trig { + type Mpls-tp-tunnel-switchover-trig; + description + "Deprecated"; + } + leaf switch-over-time { + type uint32; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-TUNNEL-SUMMARY { + description + "Deprecated"; + leaf up-working-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf active-working-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf down-working-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf locked-working-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf up-protect-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf active-protect-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf down-protect-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf locked-protect-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf up-tunnels { + type uint32; + description + "Deprecated"; + } + leaf down-tunnels { + type uint32; + description + "Deprecated"; + } + leaf admin-down-tunnels { + type uint32; + description + "Deprecated"; + } + leaf complete-fec-working-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf complete-fec-protect-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf bfd-session-working-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf bfd-session-protect-ls-ps { + type uint32; + description + "Deprecated"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub2.yang new file mode 100644 index 000000000..0442cdcbe --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub2.yang @@ -0,0 +1,252 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub2 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tp-mid-lsp-status { + type enumeration { + enum "up" { + description + "Deprecated"; + } + enum "down" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + grouping MPLS-TP-MID-SUMMARY-INFO { + description + "Deprecated"; + leaf mid-points { + type uint32; + description + "Deprecated"; + } + leaf up-forward-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf down-forward-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf up-reverse-ls-ps { + type uint32; + description + "Deprecated"; + } + leaf down-reverse-ls-ps { + type uint32; + description + "Deprecated"; + } + } + + grouping MPLS-TP-MID-LSP-INFO { + description + "Deprecated"; + leaf out-label { + type uint32; + description + "Deprecated"; + } + leaf out-link { + type uint32; + description + "Deprecated"; + } + leaf oam-refresh-interval { + type uint32; + description + "Deprecated"; + } + leaf outgoing-interface { + type string; + description + "Deprecated"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf in-label { + type uint32; + description + "Deprecated"; + } + leaf bandwidth { + type uint32; + description + "Deprecated"; + } + } + + grouping MPLS-TP-MID-INFO { + description + "Deprecated"; + leaf midpoint-name { + type string; + description + "Deprecated"; + } + leaf tunnel-name { + type string; + description + "Deprecated"; + } + leaf source-node-id { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf source-global-id { + type uint32; + description + "Deprecated"; + } + leaf source-tunnel-id { + type uint32; + description + "Deprecated"; + } + leaf lsp-id { + type uint32; + description + "Deprecated"; + } + leaf destination-node-id { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf destination-global-id { + type uint32; + description + "Deprecated"; + } + leaf destination-tunnel-id { + type uint32; + description + "Deprecated"; + } + leaf forward-lsp-state { + type Tp-mid-lsp-status; + description + "Deprecated"; + } + leaf reverse-lsp-state { + type Tp-mid-lsp-status; + description + "Deprecated"; + } + } + + grouping MPLS-TP-DETAIL-MID-INFO { + description + "Deprecated"; + container brief-lsp-information { + description + "Deprecated"; + uses MPLS-TP-MID-INFO; + } + container forward-lsp { + description + "Deprecated"; + uses MPLS-TP-MID-LSP-INFO; + } + container reverse-lsp { + description + "Deprecated"; + uses MPLS-TP-MID-LSP-INFO; + } + leaf forward-lsp-reserved-bandwidth { + type uint32; + description + "Deprecated"; + } + leaf reverse-lsp-reserved-bandwidth { + type uint32; + description + "Deprecated"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub3.yang new file mode 100644 index 000000000..730066861 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub3.yang @@ -0,0 +1,185 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub3 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tp-link-state { + type enumeration { + enum "down" { + description + "Deprecated"; + } + enum "admin-down" { + description + "Deprecated"; + } + enum "up" { + description + "Deprecated"; + } + enum "unknown" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + grouping MPLS-TE-TP-LINK-INFO { + description + "Deprecated"; + leaf link-id { + type uint32; + description + "Deprecated"; + } + leaf interface { + type string; + description + "Deprecated"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf link-state { + type Tp-link-state; + description + "Deprecated"; + } + leaf available-bandwidth { + type uint64; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-LINK-SUMMARY-INFO { + description + "Deprecated"; + leaf links { + type uint32; + description + "Deprecated"; + } + } + + grouping MPLS-TE-TP-DETAIL-LINK-INFO { + description + "Deprecated"; + leaf link-id { + type uint32; + description + "Deprecated"; + } + leaf interface { + type string; + description + "Deprecated"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Deprecated"; + } + leaf link-state { + type Tp-link-state; + description + "Deprecated"; + } + leaf ls-ps { + type uint32; + description + "Deprecated"; + } + leaf reserved-bandwidth { + type uint64; + description + "Deprecated"; + } + leaf available-bandwidth { + type uint64; + description + "Deprecated"; + } + leaf unsupported-linecard { + type boolean; + description + "Deprecated"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub4.yang new file mode 100644 index 000000000..6f48aef11 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub4.yang @@ -0,0 +1,1185 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub4 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-te-oper-sub6 { + revision-date 2022-08-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pce-tunnel-state { + type enumeration { + enum "tunnel-state-none" { + description + "None"; + } + enum "tunnel-state-admin-down" { + description + "AdminDown"; + } + enum "tunnel-state-down" { + description + "Down"; + } + enum "tunnel-state-up" { + description + "Up"; + } + } + description + "PCE Tunnel State"; + } + + typedef Pce-tun-path-state { + type enumeration { + enum "state-none" { + description + "None"; + } + enum "state-pending" { + description + "Request Pending"; + } + enum "state-received-path" { + description + "Path Received"; + } + enum "state-no-peer" { + description + "No peer to forward"; + } + enum "state-pcep-down" { + description + "PCEP to the peer is down"; + } + enum "state-received-no-path" { + description + "Path Received No Path"; + } + } + description + "PCE Request State"; + } + + typedef Pce-state { + type enumeration { + enum "tcp-close" { + description + "TCP close"; + } + enum "tcp-listen" { + description + "TCP listen"; + } + enum "tcp-connect" { + description + "TCP connect"; + } + enum "pcep-closed" { + description + "PCEP closed"; + } + enum "pcep-opening" { + description + "PCEP opening"; + } + enum "pcep-open" { + description + "PCEP open"; + } + } + description + "PCE State"; + } + + typedef Pce-lsp-autoroute-metric { + type enumeration { + enum "none" { + description + "None"; + } + enum "relative" { + description + "Relative"; + } + enum "absolute" { + description + "Absolute"; + } + } + description + "Autoroute Metric Type"; + } + + typedef Pce-sr-sid { + type enumeration { + enum "unknown-segment-id" { + description + "Unknown type"; + } + enum "ipv4-node-segment-id" { + description + "IPv4 Node ID"; + } + enum "ipv4-adjacency-segment-id" { + description + "IPv4 Adjacency ID"; + } + } + description + "PCE SID type"; + } + + typedef Pce-lsp-oper-state { + type enumeration { + enum "down" { + description + "Down"; + } + enum "up" { + description + "Up"; + } + enum "active" { + description + "Active"; + } + enum "going-down" { + description + "Going down"; + } + enum "going-up" { + description + "Going Up"; + } + } + description + "LSP Operational state"; + } + + grouping PCE-TUNNEL-BAG { + description + "PCE Tunnel Summary Information"; + leaf source-address { + type inet:ipv4-address; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination Address"; + } + leaf is-curr-path-option-pce { + type boolean; + description + "True if current path option is PCE based"; + } + leaf curr-path-option-index { + type uint32; + description + "Path Option Index of the current path"; + } + leaf configured-pce-address { + type inet:ipv4-address; + description + "Configured PCE Address"; + } + leaf sender-pce-address { + type inet:ipv4-address; + description + "Sender PCE Address"; + } + leaf path-state { + type Pce-tun-path-state; + description + "Path Request State"; + } + leaf tunnel-state { + type Pce-tunnel-state; + description + "Tunnel State"; + } + leaf admin-weight { + type uint32; + description + "Path metric"; + } + leaf hop-count { + type uint32; + description + "Hop Count"; + } + } + + grouping PCE-NODE-BAG { + description + "PCE Node Information"; + leaf router-id { + type inet:ipv4-address; + description + "Router ID"; + } + leaf igp-area-id { + type uint32; + description + "IGP Area number"; + } + leaf igp-area-format { + type Igp-ospf-area-format; + description + "IGP Area Format"; + } + leaf pce-cost { + type uint32; + description + "PCE cost"; + } + leaf node-id { + type inet:ipv4-address; + description + "Node ID"; + } + leaf is-pce-border-node { + type boolean; + description + "PCE border node"; + } + } + + grouping PCE-TOPOLOGY-GLOBAL-INFO-BAG { + description + "PCE Topology Information"; + list nodes { + description + "Node information"; + uses PCE-NODE-BAG; + } + } + + grouping PCEERR-BAG { + description + "PCE Error information"; + leaf pce-err-type { + type uint32; + description + "PCE Error Type"; + } + leaf pce-err-value { + type uint32; + description + "PCE Error Value"; + } + leaf has-open-object { + type boolean; + description + "Has Open object"; + } + leaf openversion { + type uint32; + description + "Open Version"; + } + leaf open-keepalive { + type uint32; + units "second"; + description + "Open Keepalive (seconds)"; + } + leaf open-dead-time { + type uint32; + units "second"; + description + "Open Deadtime (seconds)"; + } + leaf has-rp-object { + type boolean; + description + "Has RP object"; + } + leaf rp-request-id { + type uint32; + description + "RP request ID"; + } + } + + grouping PCE-PEER-IGP-BAG { + description + "PCE IGP information"; + leaf igp-type { + type Igp-protocol; + description + "Type"; + } + leaf igp-instance-id { + type string; + description + "Instance ID"; + } + } + + grouping PCE-NEIGHBOR-BAG { + description + "PCE Neighbor Information"; + container last-tx-pce-err { + description + "Last sent PCEErr"; + uses PCEERR-BAG; + } + container last-rx-pce-err { + description + "Last received PCEErr"; + uses PCEERR-BAG; + } + leaf error { + type string; + description + "Error (for display only)"; + } + leaf pce-state { + type Pce-state; + description + "PCE State"; + } + leaf precedence { + type uint32; + description + "PCE Precedence"; + } + leaf stateful { + type boolean; + description + "Stateful"; + } + leaf capability-update { + type boolean; + description + "Update capability"; + } + leaf capability-instantiate { + type boolean; + description + "Instantiation capability"; + } + leaf capability-segment-routing { + type boolean; + description + "Segment Routing capability"; + } + leaf triggered-sync-capability { + type boolean; + description + "Triggered Synchronization capability"; + } + leaf capability-db-version { + type boolean; + description + "DB version capability"; + } + leaf delta-sync-capability { + type boolean; + description + "Delta Synchronization capability"; + } + leaf pcep-up-time { + type uint32; + description + "PCEP Up Time"; + } + leaf keepalives { + type uint32; + description + "Keepalive count"; + } + leaf candidate { + type boolean; + description + "Candidate"; + } + leaf statically-configured { + type boolean; + description + "Statically Configured"; + } + leaf md5-enabled { + type boolean; + description + "MD5 Authentication Enabled"; + } + leaf keychain-enabled { + type boolean; + description + "Keychain based Authentication Enabled"; + } + leaf negotiated-keepalive { + type uint32; + description + "Negotiated KA"; + } + leaf negotated-dead-time { + type uint32; + description + "Negotiated DT"; + } + leaf pce-req-rx { + type uint32; + description + "PCEReq Rx"; + } + leaf pce-req-tx { + type uint32; + description + "PCEReq Tx"; + } + leaf pce-rep-rx { + type uint32; + description + "PCERep Rx"; + } + leaf pce-rep-tx { + type uint32; + description + "PCERep Tx"; + } + leaf pce-err-rx { + type uint32; + description + "PCEErr Rx"; + } + leaf pce-err-tx { + type uint32; + description + "PCEErr Tx"; + } + leaf pce-open-tx { + type uint32; + description + "PCEOpen Tx"; + } + leaf pce-open-rx { + type uint32; + description + "PCEOpen Rx"; + } + leaf pce-rpt-rx { + type uint32; + description + "PCERpt Rx"; + } + leaf pce-rpt-tx { + type uint32; + description + "PCERpt Tx"; + } + leaf pce-upd-rx { + type uint32; + description + "PCEUpd Rx"; + } + leaf pce-upd-tx { + type uint32; + description + "PCEUpd Tx"; + } + leaf pce-init-rx { + type uint32; + description + "PCEInit Rx"; + } + leaf pce-init-tx { + type uint32; + description + "PCEInit Tx"; + } + leaf pce-keepalive-tx { + type uint64; + description + "PCE Keepalive Tx"; + } + leaf pce-keepalive-rx { + type uint64; + description + "PCE Keepalive Rx"; + } + leaf req-reply-min { + type uint64; + description + "Mininum reply time from peer in ms"; + } + leaf req-reply-max { + type uint64; + description + "Maximum reply time from peer in ms"; + } + leaf req-reply-avg { + type uint64; + description + "Average reply time from peer in ms"; + } + leaf request-timeouts { + type uint64; + description + "Request timeout count"; + } + leaf local-sid { + type uint8; + description + "Local PCEP session ID"; + } + leaf remote-sid { + type uint8; + description + "Remote PCEP session ID"; + } + leaf min-keepalive-interval { + type uint8; + description + "Minimum keepalive interval for the peer"; + } + leaf max-dead-interval { + type uint8; + description + "Maximum dead interval for the peer"; + } + list ig-ps { + description + "IGPs"; + uses PCE-PEER-IGP-BAG; + } + } + + grouping PCE-IGP-STATS-BAG { + description + "PCE IGP Stats"; + leaf abr-lookup-min { + type uint64; + description + "ABR Lookup Min"; + } + leaf abr-lookup-max { + type uint64; + description + "ABR Lookup Max"; + } + leaf abr-lookup-avg { + type uint64; + description + "ABR Lookup Avg"; + } + leaf abr-lookup-timeout { + type uint64; + description + "ABR Lookup Timeout"; + } + leaf abr-lookup-complete { + type uint64; + description + "ABR Lookup Complete"; + } + } + + grouping PCE-STATS-BAG { + description + "PCE Stats Information"; + container igp-statistics { + description + "IGP Statistics"; + uses PCE-IGP-STATS-BAG; + } + leaf neighbors { + type uint32; + description + "Neighbor Count"; + } + leaf tunnels { + type uint32; + description + "Tunnel Count"; + } + leaf pce-req-total { + type uint32; + description + "Total number of PCEReq"; + } + leaf pce-req-pending { + type uint32; + description + "Number of pending req"; + } + leaf pce-req-timed-out { + type uint32; + description + "Number of timedout req"; + } + leaf max-file-descriptors { + type uint32; + description + "Maximum number of TCP file descriptors used"; + } + leaf current-file-descriptors { + type uint32; + description + "Number of TCP file descriptors currently in use"; + } + leaf current-pceq-length { + type uint32; + description + "Current PCE queue length"; + } + leaf current-teq-length { + type uint32; + description + "Current TE queue length"; + } + leaf max-pceq-length { + type uint32; + description + "Max PCE queue length"; + } + leaf max-teq-length { + type uint32; + description + "Max TE queue length"; + } + list maximum-in-queue-depth { + max-elements "3"; + description + "Max Input Queue Depth"; + leaf entry { + type uint32; + description + "Max Input Queue Depth"; + } + } + list average-in-queue-depth { + max-elements "3"; + description + "Average Input Queue Depth"; + leaf entry { + type uint32; + description + "Average Input Queue Depth"; + } + } + } + + grouping PCE-LSP-AUTOROUTE-BAG { + description + "LSP Autoroute Information"; + leaf is-used { + type boolean; + description + "Autoroute used flag"; + } + leaf announced { + type boolean; + description + "Autoroute announced"; + } + leaf metric-type { + type Pce-lsp-autoroute-metric; + description + "Metric Type"; + } + leaf metric { + type uint32; + description + "Metric Value"; + } + list destination { + description + "Destinations"; + leaf entry { + type inet:ipv4-address; + description + "Destinations"; + } + } + } + + grouping PCE-LSP-METRIC-BAG { + description + "PCE LSP Metric Object"; + leaf type { + type uint8; + description + "Type"; + } + leaf cost { + type uint32; + description + "Cost"; + } + } + + grouping PCE-LSP-LSPA-BAG { + description + "PCE LSP Attributes Object"; + leaf is-used { + type boolean; + description + "LSPA used flag"; + } + leaf exlude-any { + type uint32; + description + "Exclude Any"; + } + leaf include-any { + type uint32; + description + "Include Any"; + } + leaf include-all { + type uint32; + description + "Include All"; + } + leaf setup { + type uint8; + description + "Setup"; + } + leaf hold { + type uint8; + description + "Hold"; + } + leaf lbit { + type boolean; + description + "L flag"; + } + } + + grouping PCE-LSP-ROUTE-HOP-BAG { + description + "PCE LSP Route Subobject"; + leaf subobj-type { + type uint8; + description + "Route Subobject Type"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv4-prefix-len { + type uint32; + description + "IPv4 Address Prefix Length"; + } + leaf strict { + type boolean; + description + "Strict"; + } + leaf global { + type boolean; + description + "Global"; + } + leaf mpls-label { + type uint32; + description + "MPLS Label in case Segment ID type is MPLS"; + } + leaf segment-id-type { + type Pce-sr-sid; + description + "Segment ID Type"; + } + leaf only-valid-mpls-label { + type boolean; + description + "If this flag is true, SID has only MPLS label + value. TC, S, and TTL fields are considered + invalid"; + } + leaf complete-mpls-label-entry { + type boolean; + description + "If this flag is true, all fields of MPLS labe + entry are valid"; + } + leaf missing-segment-id { + type boolean; + description + "If this flag is true, ERO subobject does not + have SegmentID"; + } + leaf missing-node-adjcency-id { + type boolean; + description + "If this flag is true, ERO subobject does not + have NodeAdjacencyID"; + } + leaf segment-id-exists { + type boolean; + description + "If this field is true, the bag contains + SegmentID value"; + } + leaf segment-id-value { + type uint32; + description + "Contains a SegmentID value in case SegmentID is + valid"; + } + leaf node-adjacency-id-exists { + type boolean; + description + "If this flag is true, the bag contains + NodeAdjacencyID information"; + } + leaf node-id { + type inet:ipv4-address; + description + "Address of the node corresponding the node + SegmentID"; + } + leaf local-address { + type inet:ipv4-address; + description + "Address of the local address corresponding the + adjacency SegmentID"; + } + leaf remote-address { + type inet:ipv4-address; + description + "Address of the remote address corresponding the + adjacency SegmentID"; + } + } + + grouping PCE-LSP-ROUTE-BAG { + description + "PCE LSP Route Object)"; + leaf is-used { + type boolean; + description + "Route Object used flag"; + } + leaf cost { + type uint32; + description + "Cost"; + } + list address { + description + "List of Addresses"; + leaf entry { + type inet:ipv4-address; + description + "List of Addresses"; + } + } + list subobject { + description + "List of Route Subobjects"; + uses PCE-LSP-ROUTE-HOP-BAG; + } + } + + grouping PCE-LSP-PATH-BAG { + description + "PCE LSP Path"; + container ero { + description + "Explicit Router Object"; + uses PCE-LSP-ROUTE-BAG; + } + container lspa { + description + "LSP Attributes Object"; + uses PCE-LSP-LSPA-BAG; + } + container rro { + description + "Reported Route Object"; + uses PCE-LSP-ROUTE-BAG; + } + leaf bw { + type uint32; + description + "Bandwidth"; + } + leaf is-bw-used { + type boolean; + description + "Bandwidth used flag"; + } + leaf reopt-bw { + type uint32; + description + "Reoptimize bandwidth"; + } + leaf is-reopt-bw-used { + type boolean; + description + "Reoptimize bandwidth used flag"; + } + leaf applied-bw { + type uint32; + description + "Applied bandwidth"; + } + leaf is-applied-bw-used { + type boolean; + description + "Applied bandwidth used flag"; + } + list metric { + description + "List of Metrics"; + uses PCE-LSP-METRIC-BAG; + } + } + + grouping PCE-LSP-IDENTIFIERS-BAG { + description + "PCE LSP Identifiers TLV Information"; + leaf is-used { + type boolean; + description + "LSP Identifier used flag"; + } + leaf sender { + type inet:ipv4-address; + description + "Sender Address"; + } + leaf te-lsp-id { + type uint16; + description + "TE LSP ID"; + } + leaf tunnel-id { + type uint16; + description + "LSPO Tunnel ID"; + } + leaf ext-tunnel-id { + type uint32; + description + "External Tunnel ID"; + } + } + + grouping PCE-LSP-PEER-BAG { + description + "PCE LSP Peer"; + leaf node-identifier { + type string; + description + "Peer Node Identifier"; + } + leaf address { + type inet:ipv4-address; + description + "Peer Ip Address"; + } + } + + grouping PCE-LSP-BAG { + description + "PCE LSP from LSP Database"; + container creator { + description + "Creator Peer of the LSP"; + uses PCE-LSP-PEER-BAG; + } + container delegated { + description + "Owner Peer of the LSP"; + uses PCE-LSP-PEER-BAG; + } + container identifiers { + description + "LSP Identifiers"; + uses PCE-LSP-IDENTIFIERS-BAG; + } + container autoroute { + description + "Auto Route"; + uses PCE-LSP-AUTOROUTE-BAG; + } + leaf source-address { + type inet:ipv4-address; + description + "Source IP Address"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination IP Address"; + } + leaf symbolic-name-xr { + type string; + description + "Symbolic Name"; + } + leaf session-internal-lsp-id { + type uint32; + description + "Session internal ID"; + } + leaf stateful-request-parameter-id { + type uint32; + description + "SRP ID"; + } + leaf request-queue-size { + type uint8; + description + "Request queue size"; + } + leaf delegatable { + type boolean; + description + "LSP delegatable"; + } + leaf operational { + type Pce-lsp-oper-state; + description + "LSP operational status"; + } + leaf administrative { + type boolean; + description + "LSP administrative status"; + } + leaf cleanup-timer-exp { + type int32; + description + "Deprecated"; + } + leaf delegation-timer-exp { + type int32; + description + "LSP delegation timer expiration in sec"; + } + leaf create { + type boolean; + description + "LSPO create flag"; + } + leaf state-timer-exp { + type int32; + description + "LSP state-timeout time expiration"; + } + leaf lspo-is-used { + type boolean; + description + "LSP Object used flag"; + } + leaf forward-class-id { + type uint32; + description + "Forward Class ID"; + } + leaf load-share { + type uint32; + description + "Load share factor"; + } + leaf path-setup-type { + type uint8; + description + "Path setup type"; + } + leaf binding-sid { + type uint32; + description + "Binding SID"; + } + list backup-path { + description + "Backup Path"; + leaf entry { + type inet:ipv4-address; + description + "Backup Path"; + } + } + list paths { + description + "Array of paths"; + uses PCE-LSP-PATH-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub5.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub5.yang new file mode 100644 index 000000000..e349b606a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub5.yang @@ -0,0 +1,17008 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub5 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-te-oper-sub6 { + revision-date 2022-08-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tunnel-state-enum { + type enumeration { + enum "tunnel-state-unknown" { + description + "No known state"; + } + enum "new" { + description + "Tunnel is new"; + } + enum "preempting" { + description + "Tunnel is being preempted"; + } + enum "admitting" { + description + "Path being admitted"; + } + enum "half-admitted" { + description + "Path was admitted partially and was then + rejected"; + } + enum "admitted" { + description + "Path is already admitted successfully"; + } + enum "reservation-admitting" { + description + "Reservation being admitted"; + } + enum "reservation-half-admitted" { + description + "Reservation was admitted partially and was then + rejected"; + } + enum "reservation-admitted" { + description + "Reservation is already admitted successfully"; + } + } + description + "Types of tunnel admission states"; + } + + typedef Bandwidth-state-enum { + type enumeration { + enum "bandwidth-held" { + description + "Bandwidth is held, is not guaranteed when it is + time to reserve"; + } + enum "bandwidth-reserved" { + description + "Bandwidth is reserved and can be used for + forwarding"; + } + enum "bandwidth-unknown" { + description + "Bandwidth is unknown"; + } + } + description + "Types of bandwidth states"; + } + + typedef Bandwidth-accounting-flooding-trigger { + type enumeration { + enum "bandwidth-threshold" { + description + "Flooding is triggered if bandwidth threshold is + crossed"; + } + enum "segment-routing-traffic" { + description + "Flooding is triggered if segment-routing + traffic change threshold is crossed"; + } + } + description + "Types of flooding triggers for bandwidth + accounting"; + } + + typedef Bandwidth-accounting-collection { + type enumeration { + enum "rsvp-te" { + description + "RSVP TE"; + } + enum "segment-routing" { + description + "Segment Routing"; + } + } + description + "Types of bandwidth accounting collection"; + } + + typedef Mpls-te-reason-not-flooded { + type enumeration { + enum "not-flooded-reason-not-set" { + description + "reason not set"; + } + enum "controller-not-configured" { + description + "Controller not configured"; + } + enum "controller-not-up" { + description + "Controller not up"; + } + enum "no-local-link-id" { + description + "Valid local link id is not populated"; + } + enum "no-remote-link-id" { + description + "Valid remote link id is not populated"; + } + enum "odu-capabilities-not-set" { + description + "ODU capabilities of link not set"; + } + enum "tti-not-enabled" { + description + "TTI info for link is enabled"; + } + enum "link-not-supported" { + description + "This type of link is not suported"; + } + enum "te-proc-fsm-disabled" { + description + "Flooding disabled by TE process fsm"; + } + enum "graceful-shutdown" { + description + "Flooding diabled due to graceful shutdown"; + } + enum "flooding-disabled" { + description + "Flooding is disabled"; + } + enum "label-switch-fabric-disabled" { + description + "Label switching fabric is disabled"; + } + enum "no-igp-area-config" { + description + "No IGP area is configured"; + } + enum "area-not-configured" { + description + "Area is not configured"; + } + enum "area-not-ready" { + description + "Area is not ready for flood"; + } + enum "lsa-error" { + description + "Failure occured while building LSA"; + } + enum "igp-failed" { + description + "IGP failed"; + } + enum "flooding-requested" { + description + "Link is ready to flood and requested for + flooding"; + } + enum "link-flooded" { + description + "Link is flooded"; + } + } + description + "Reason why TE link is not flooded"; + } + + typedef Tti-mode { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "otu-secion-monitoring" { + value 1; + description + "Section Monitoring"; + } + enum "odu-path-monitoring" { + value 2; + description + "Path Monitoring"; + } + enum "odu-tandem-connection-monitoring" { + value 3; + description + "Tandem Connection"; + } + } + description + "GMPLS TTI Mode for controller"; + } + + typedef Bandwidth-type-enum { + type enumeration { + enum "pool0" { + description + "Bandwidth from the pool0"; + } + enum "pool1" { + description + "Pool1 bandwidth"; + } + enum "unknown" { + description + "Unknown Bandwidth"; + } + } + description + "Types of bandwidth pools"; + } + + typedef Admission-policy { + type enumeration { + enum "reject-all" { + description + "Deprecated"; + } + enum "allow-all" { + description + "Deprecated"; + } + enum "reject-huge" { + description + "Deprecated"; + } + enum "allow-if-room" { + description + "Deprecated"; + } + } + description + "Deprecated"; + } + + typedef Signaling-agent-enum { + type enumeration { + enum "no-signaling" { + description + "Deprecated - No signaling protocol configured"; + } + enum "rsvp-signaling" { + description + "Deprecated - RSVP is the signaling protocol"; + } + } + description + "Deprecated - Signaling Agent"; + } + + typedef Resource-provider { + type enumeration { + enum "resource-provider-none" { + description + "Unknown"; + } + enum "packet-switch-capable" { + description + "Packet Switch Capable"; + } + enum "time-division-multiplex" { + description + "TDM - SONET/SDH"; + } + enum "lambda-switch-capable" { + description + "Lambda Switch Capable"; + } + enum "fiber-switch-capable" { + description + "Fiber Switch Capable"; + } + enum "g709odu-capable" { + description + "Resource provider of type G709-ODU"; + } + } + description + "The resource provider type"; + } + + typedef Link-direction-enum { + type enumeration { + enum "link-direction-up-stream" { + description + "Upstream direction, Tail to Head"; + } + enum "link-direction-down-stream" { + description + "Upstream direction, Head to Tail"; + } + enum "link-direction-unknown" { + description + "Unknown direction"; + } + } + description + "Link direction types"; + } + + typedef Bandwidth-unit-enum { + type enumeration { + enum "kilo-bits-per-second" { + description + "kilobits per second"; + } + enum "kilo-bytes-per-second" { + description + "kilobytes per second"; + } + } + description + "Types of bandwidth units"; + } + + typedef Flooding-trigger { + type enumeration { + enum "flooding-reason-unknown" { + description + "Not known what caused flooding"; + } + enum "link-up" { + description + "TE link came Up"; + } + enum "link-down" { + description + "TE link went Down"; + } + enum "threshold-up" { + description + "Up threshold crossed in pool0"; + } + enum "threshold-down" { + description + "Down threshold crossed in pool0"; + } + enum "threshold-up-pool1" { + description + "Up threshold crossed in pool1"; + } + enum "threshold-down-pool1" { + description + "Down threshold crossed in pool1"; + } + enum "timer-expired" { + description + "Periodic timer expired"; + } + enum "bandwidth-change" { + description + "Link BW changed"; + } + enum "user" { + description + "User triggered flooding"; + } + enum "rsvp-timeout" { + description + "RSVP timed out"; + } + enum "rsvp-reconnect" { + description + "RSVP reconnected"; + } + enum "te-exited" { + description + "TE-control process exited"; + } + enum "srlg-change" { + description + "Link SRLG changed"; + } + enum "hw-oor-green" { + description + "HW resources are green"; + } + enum "hw-oor-yellow" { + description + "HW resources are yellow"; + } + enum "hw-oor-red" { + description + "HW resources are red"; + } + enum "hw-oor-recovery-duration-expired" { + description + "HW Resources are back to normal and the + transition period is over"; + } + enum "lsp-oor-green" { + description + "LSP resources are green"; + } + enum "lsp-oor-yellow" { + description + "LSP resources are yellow"; + } + enum "lsp-oor-red" { + description + "LSP resources are red"; + } + enum "lsp-oor-recovery-duration-expired" { + description + "LSP resources are back to normal and the + transition period is over"; + } + enum "max-res-bandwidth-threshold-up" { + description + "Max reservable bandwidth up threshold crossed"; + } + enum "max-res-bandwidth-threshold-down" { + description + "Max reservable bandwidth down threshold crossed"; + } + enum "segment-routing-traffic" { + description + "Segment-routing traffic change percentage + crossed"; + } + } + description + "Types of flooding triggers"; + } + + typedef Te-auto-tun-exp-path-hop { + type enumeration { + enum "ipv4-address-type" { + description + "IPv4 Address Type"; + } + enum "mpls-label-type" { + description + "MPLS Label Type"; + } + enum "ipv4-and-label-type" { + description + "IPv4 Address and MPLS Label Type"; + } + } + description + "Auto tunnel hop type"; + } + + typedef In-addr-ipv6 { + type inet:ipv6-address; + description + "In addr ipv6"; + } + + typedef Lsp-oor-state { + type enumeration { + enum "lsp-oor-green" { + description + "LSP numbers are in normal state"; + } + enum "lsp-oor-yellow" { + description + "LSP numbers exceed the minor threshold"; + } + enum "lsp-oor-red" { + description + "LSP numbers exceed the major threshold"; + } + } + description + "LSP OOR states"; + } + + typedef Te-s2l-output-rw-explicit-null { + type enumeration { + enum "tes2l-output-rw-exp-null" { + value 0; + description + "No explicit null imposed"; + } + enum "tes2l-output-rw-exp-null-v4" { + value 1; + description + "IPv4 explicit null imposed"; + } + enum "tes2l-output-rw-exp-null-v6" { + value 2; + description + "IPv6 explicit null imposed"; + } + } + description + "Explicit-null type"; + } + + typedef Mpls-te-tunnels-process-status { + type enumeration { + enum "not-running" { + description + "MPLS TE process is not running"; + } + enum "running" { + description + "MPLS TE process is running"; + } + enum "not-registered-with-rsvp" { + description + "MPLS TE process has not registered with RSVP"; + } + } + description + "Mpls te tunnels process status"; + } + + typedef Mpls-te-frr-sharing { + type enumeration { + enum "sharing-none" { + description + "No Fate Sharing"; + } + enum "sharing-pri-oi-backup-oi-parent" { + description + "Primary Sharing outgoing interface with the + Parent of the backup outgoing interface"; + } + enum "sharing-pri-oi-parent-backup-oi" { + description + "Primary Sharing Parent of the outgoing + interface with the backup outgoing interface"; + } + enum "sharing-pri-oi-parent-backup-oi-parent" { + description + "Primary Sharing Parent of the outgoing + interface with the Parent of the backup + outgoing interface"; + } + } + description + "FRR sharing type"; + } + + typedef Mpls-te-bw-limit { + type enumeration { + enum "bandwidth-limited" { + description + "Bandwidth is limited"; + } + enum "bandwidth-unlimited" { + description + "Bandwidth is unlimited"; + } + enum "bandwidth-none" { + description + "Bandwidth is None"; + } + } + description + "Bandwidth limit type"; + } + + typedef Mpls-te-backup-usage { + type enumeration { + enum "backup-not-protecting" { + description + "Backup is not protecting any LSP"; + } + enum "backup-protecting" { + description + "Backup is protecting at least one LSP"; + } + } + description + "FRR backup tunnel usage status"; + } + + typedef Mpls-te-backup { + type enumeration { + enum "backup-static" { + description + "Backup type is static"; + } + enum "backup-auto" { + description + "Backup type is auto-tunnel"; + } + } + description + "FRR backup tunnel type"; + } + + typedef Mpls-te-backup-status { + type enumeration { + enum "backup-none" { + description + "Backup not found"; + } + enum "backup-unused" { + description + "Backup status undefined"; + } + enum "backup-next-next-hop" { + description + "Backup is next next hop safe (node protection)"; + } + enum "backup-next-hop" { + description + "Backup is next hop safe (link protection)"; + } + enum "backup-next-next-hop-srlg" { + description + "Backup is next next hop and SRLG safe (node + protection)"; + } + enum "backup-next-hop-srlg" { + description + "Backup is next hop and SRLG safe (link + protection)"; + } + } + description + "FRR backup status"; + } + + typedef Te-sync-pending-reason { + type enumeration { + enum "current-lspoos" { + description + "Current LSP OOS"; + } + enum "reopt-lspoos" { + description + "Reopt LSP OOS"; + } + enum "standby-lspoos" { + description + "Standby LSP OOS"; + } + enum "standby-reopt-lspoos" { + description + "Standby Reopt LSP OOS"; + } + enum "restore-lspoos" { + description + "Restore LSP OOS"; + } + enum "invalid-sync-id" { + description + "Invalid internal ID"; + } + enum "null-pointer" { + description + "Null pointer"; + } + enum "pending-flag" { + description + "Pending flag set"; + } + enum "del-from-act-flag" { + description + "Deleted by Active set"; + } + enum "oos-from-act-flag" { + description + "OOS with Active set"; + } + enum "unknown" { + description + "Unknown"; + } + } + description + "Te sync pending reason"; + } + + typedef Te-sync-not-ready-reason { + type enumeration { + enum "idt-in-progress" { + description + "IDT in progress"; + } + enum "standby-not-connected" { + description + "Standby not connected"; + } + enum "collaborator-disconnected" { + description + "Collaborator disconnected"; + } + enum "collaborator-timeout" { + description + "Collaborator timeout"; + } + enum "unknown" { + description + "Unknown"; + } + } + description + "Te sync not ready reason"; + } + + typedef Te-sync-status-show { + type enumeration { + enum "master-sync-status-show" { + description + "Master sync status information"; + } + enum "slave-sync-status-show" { + description + "Slave sync status information"; + } + } + description + "Te sync status show"; + } + + typedef Mpls-te-dste-class-status { + type enumeration { + enum "configured" { + description + "The TE class is explicitely configured"; + } + enum "default" { + description + "The TE class is a default"; + } + enum "unused" { + description + "The TE class is unused due to a configuration + conflict"; + } + } + description + "DSTE class status"; + } + + typedef Te-proc-role { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "v1-active" { + description + "V1 Active"; + } + enum "v2-active" { + description + "V2 Active"; + } + enum "v1-standby" { + description + "V1 Standby"; + } + enum "v2-standby" { + description + "V2 Standby"; + } + enum "v1-active-post-big-bang" { + description + "V1 Active post big bang"; + } + enum "v1-standby-post-big-bang" { + description + "V1 Standby post big bang"; + } + enum "number-of-role" { + description + "Number of role"; + } + } + description + "TE Process Role"; + } + + typedef Te-acl { + type enumeration { + enum "acl-type-unknown" { + value 0; + description + "Unknown type of ACL"; + } + enum "acl-type-access-list" { + value 1; + description + "Access-list type of ACL"; + } + enum "acl-type-prefix-list" { + value 2; + description + "Prefix-list type of ACL"; + } + enum "acl-type-unregistered" { + value 3; + description + "ACL failed to register to ACL infra"; + } + } + description + "Te acl"; + } + + typedef Mpls-te-p2mp-timer { + type enumeration { + enum "lmrib-restart" { + value 0; + description + "P2MP Local Multicast RIB restart"; + } + enum "lmrib-recovery" { + value 1; + description + "P2MP LMRIB recovery"; + } + enum "rsvp-restart" { + value 2; + description + "P2MP RSVP restart"; + } + enum "lsd-restart" { + value 3; + description + "LSD restart"; + } + enum "lsd-recovery" { + value 4; + description + "LSD recovery"; + } + enum "clear-in-progress-bandwidth" { + value 5; + description + "Timer to clear the inprogress bandwidth for all + the nodes in the topology"; + } + enum "rsi-restart" { + value 6; + description + "RSI restart"; + } + enum "rsi-recovery" { + value 7; + description + "RSI recovery"; + } + enum "ipv4-caps-replay" { + value 8; + description + "Timer to timeout the replay of IPv4 Caps after + a TE or IM restart"; + } + enum "retry-acl-registration-timer" { + value 9; + description + "Timer to retry ACL registration"; + } + enum "mpls-te-exit" { + value 10; + description + "MPLS TE Exit"; + } + enum "mpls-te-nsr-peer-restart" { + value 11; + description + "MPLS TE NSR Peer Restart"; + } + enum "mpls-te-issu-peer-restart" { + value 12; + description + "MPLS TE ISSU Peer Restart"; + } + enum "bfd-restart" { + value 13; + description + "BFD restart"; + } + enum "bfd-recovery" { + value 14; + description + "BFD recovery"; + } + enum "im-oc-restart" { + value 15; + description + "IM Optical Connection restart"; + } + enum "im-oc-recovery" { + value 16; + description + "IM Optical Connection recovery"; + } + enum "rib-restart" { + value 17; + description + "RIB restart"; + } + enum "rib-recovery" { + value 18; + description + "RIB recovery"; + } + enum "rib-next-hop-route-cleanup" { + value 19; + description + "RIB next-hop route cleanup"; + } + enum "rsi-srlg-producer-retry" { + value 20; + description + "RSI SRLG-producer connection retry"; + } + enum "eoc-reg-retry" { + value 21; + description + "End-of-Config registration retry"; + } + enum "fib-restart" { + value 22; + description + "FIB restart"; + } + enum "fib-recovery" { + value 23; + description + "FIB recovery"; + } + enum "fib-next-hop-route-cleanup" { + value 24; + description + "FIB next-hop route cleanup"; + } + enum "fib-next-hop-register-retry" { + value 25; + description + "FIB next-hop register retry"; + } + enum "tun-backend-scan-retry" { + value 26; + description + "Tunnel Backend Scan Retry"; + } + enum "tunnel-checkpoint-list-service" { + value 27; + description + "Tunnel Checkpoint list service"; + } + enum "tunnel-service-binding-sid-allocation-retry" { + value 28; + description + "Tunnel Service Binding SID Allocation Retry"; + } + enum "im-sync-delay" { + value 29; + description + "IM sync delay"; + } + enum "timer-not-used" { + value 30; + description + "Do not use"; + } + } + description + "P2MP timer types"; + } + + typedef Mpls-te-afi { + type enumeration { + enum "ipv4-unicast" { + description + "MPLS TE IPv4 unicast"; + } + enum "ipv4-multicast" { + description + "MPLS TE IPv4 multicast"; + } + enum "ipv6-unicast" { + description + "MPLS TE IPv6 unicast"; + } + enum "ipv6-multicast" { + description + "MPLS TE IPv6 multicast"; + } + } + description + "Mpls te afi"; + } + + typedef Mpls-te-tunnel-announce { + type enumeration { + enum "announce-type-not-set" { + description + "Tunnel announcement type not set"; + } + enum "autoroute" { + description + "Autoroute-announced tunnel"; + } + enum "forward-adjacency" { + description + "Forwarding-adjacency tunnel"; + } + } + description + "Type of TE tunnel announcement to IGP"; + } + + typedef Te-target-addr { + type enumeration { + enum "invalid-te-target-type" { + description + "Invalid TE Target Type"; + } + enum "te-target-type-ipv4" { + description + "TE Target IPv4 Type"; + } + enum "te-target-type-label" { + description + "TE Target Label Type"; + } + } + description + "TE Target Address Type"; + } + + typedef Flex-lsp-lockout-origination { + type enumeration { + enum "lockout-origination-none" { + description + "Flex LSP Lockout Origination None"; + } + enum "lockout-origination-local" { + description + "Flex LSP Lockout Originated From Local"; + } + enum "lockout-origination-remote" { + description + "Flex LSP Lockout Originated From Remote"; + } + } + description + "TE Flex LSP Lockout Origination"; + } + + typedef Te-rev-ero-reject-reasons { + type enumeration { + enum "none" { + description + "None"; + } + enum "bad-reverse-ero" { + description + "Bad Reverse ERO"; + } + enum "tie-rejected" { + description + "Tie Rejected"; + } + enum "standby-not-required" { + description + "Standby Not Required"; + } + enum "admin-state" { + description + "Admin State"; + } + enum "priority" { + description + "Priority"; + } + enum "class-type" { + description + "Class Type"; + } + enum "bad-association" { + description + "Bad Associated Tunnel"; + } + } + description + "TE Reverse ERO Reject Reasons"; + } + + typedef Mte-path-option { + type enumeration { + enum "none" { + description + "No Path Option type"; + } + enum "dynamic" { + description + "Dynamic Path Option type"; + } + enum "explicit" { + description + "Explicit Path Option type"; + } + enum "no-ero" { + description + "No ERO Path Option type"; + } + enum "segment-routing" { + description + "One SID SegmentRouting Path Option type"; + } + enum "po-count" { + description + "Number of Path option types"; + } + } + description + "Path Option Type"; + } + + typedef Mpls-te-mgmt-gmpls-label-origin { + type enumeration { + enum "not-set" { + description + "Not set"; + } + enum "uni-c" { + description + "UNI C"; + } + enum "uni-n" { + description + "UNI N"; + } + } + description + "GMPLS label source"; + } + + typedef Mpls-te-tunnel-state { + type enumeration { + enum "state-down" { + description + "Tunnel state is down"; + } + enum "state-up" { + description + "Tunnel state is up"; + } + enum "state-down-policy" { + description + "Tunnel state is down as it has been deactivated + administratively"; + } + enum "state-lockout" { + description + "Tunnel state is lockout"; + } + } + description + "Tunnel state"; + } + + typedef Mpls-te-soft-preemption-resolution { + type enumeration { + enum "soft-preemption-resolution-none" { + value 0; + description + "No Soft Preemption Resolution"; + } + enum "soft-preemption-resolution-pending" { + value 1; + description + "Soft Preemption has no resolution since it is + still pending"; + } + enum "soft-preemption-resolution-reopt-completed" { + value 2; + description + "The soft preempted LSP has been reoptimized"; + } + enum "soft-preemption-resolution-teardown" { + value 3; + description + "The soft preempted LSP has been torn"; + } + enum "soft-preemption-resolution-frr-triggered" { + value 4; + description + "The soft preempted LSP has been fast rerouted"; + } + enum "soft-preemption-resolution-path-protetion-switchover" { + value 5; + description + "The soft preempted LSP was switched with the + protection LSP"; + } + } + description + "The possible ways for soft preemption to end"; + } + + typedef Mpls-te-iep-hop { + type enumeration { + enum "iep-hop-type-unknown" { + description + "Unknown IEP hop type"; + } + enum "iep-hop-type-strict-next" { + description + "Strict next IEP hop type"; + } + enum "iep-hop-type-exclude" { + description + "Exclude IEP hop type"; + } + enum "iep-hop-type-exclude-node" { + description + "Exclude Node IEP hop type"; + } + enum "iep-hop-type-exclude-srlg" { + description + "Exclude SRLG IEP hop type"; + } + enum "iep-hop-type-loose-next" { + description + "Loose next IEP hop type"; + } + enum "iep-hop-type-next" { + description + "Next IEP hop type"; + } + enum "iep-hop-type-share-srlg" { + description + "Weighted SRLG IEP hop type"; + } + } + description + "Explicit path hop type"; + } + + typedef Mpls-te-pce-fail-reasons { + type enumeration { + enum "te-pce-fail-no-reason" { + description + "No reason"; + } + enum "te-pce-fail-no-pce" { + description + "No PCE to send request"; + } + enum "te-pce-fail-sub-pool" { + description + "Sub pool bandwidth tunnel"; + } + enum "te-pce-fail-intra-area" { + description + "Intra Area Tunnel"; + } + enum "te-pce-fail-gmpls" { + description + "GMPLS Tunnel"; + } + enum "te-pce-fail-pending" { + description + "Pending request"; + } + enum "te-pce-fail-oor" { + description + "OOR condition"; + } + enum "te-pce-fail-bidirectional" { + description + "Bi directional"; + } + enum "te-pce-fail-no-path" { + description + "No Path received from PCE"; + } + enum "te-pce-fail-request-timeout" { + description + "Request Timeout"; + } + } + description + "PCE failure reasons"; + } + + typedef Self-ping-state { + type enumeration { + enum "self-ping-none" { + value 0; + description + "There is no self-ping operation"; + } + enum "self-ping-underway" { + value 1; + description + "Self ping operation is underway"; + } + enum "self-ping-timed-out" { + value 2; + description + "Self ping operation timed out"; + } + enum "self-ping-terminated" { + value 3; + description + "Self ping operation was terminated"; + } + enum "self-ping-succeeded" { + value 4; + description + "Self ping operation succeeded"; + } + } + description + "Self ping operation state"; + } + + typedef Te-autobw-app-rej { + type enumeration { + enum "application-allowed" { + description + "Application allowed"; + } + enum "auto-bw-disabled" { + description + "Auto-bw disabled"; + } + enum "tunnel-is-down" { + description + "TunnelIsDown"; + } + enum "tunnel-is-frr" { + description + "TunnelIsFRRActive"; + } + enum "tunnel-is-backup" { + description + "TunnelIsBackup"; + } + enum "tunnel-is-lock-down" { + description + "TunnelIsLockdown"; + } + } + description + "Reason for auto-bandwidth application rejection"; + } + + typedef Te-autobw-app-trigger { + type enumeration { + enum "application-none" { + description + "No BW Application"; + } + enum "application-periodic" { + description + "BW Application Periodic"; + } + enum "application-manual" { + description + "BW Application Manual"; + } + enum "application-overflow" { + description + "BW Application Overflow"; + } + enum "application-underflow" { + description + "BW Application Underflow"; + } + } + description + "Auto-bandwidth application trigger"; + } + + typedef Te-hop-limit-ignore { + type enumeration { + enum "ignore-unknown" { + description + "Ignore for an unknown reason"; + } + enum "ignore-explicit" { + description + "Ignore due to explicit path option"; + } + enum "ignore-pce" { + description + "Ignore due to PCE path option"; + } + } + description + "Te hop limit ignore"; + } + + typedef Mpls-te-metric-qualifier { + type enumeration { + enum "metric-default" { + description + "Default metric"; + } + enum "metric-global" { + description + "This metric was specified globally"; + } + enum "metric-interface" { + description + "This metric was specified on this particular + tunnel"; + } + } + description + "Metric qualifier"; + } + + typedef Te-path-selection-tiebreaker { + type enumeration { + enum "min-fill" { + value 1; + description + "Min Fill"; + } + enum "max-fill" { + value 2; + description + "Max Fill"; + } + enum "random" { + value 3; + description + "Random"; + } + } + description + "Path selection tiebreaker type"; + } + + typedef Mpls-te-loadshare { + type enumeration { + enum "loadshare-equal" { + description + "Equal load-sharing on this tunnel"; + } + enum "loadshare-bandwidth-based" { + description + "Loadshare inferred from bandwidth configuration"; + } + enum "loadshare-configured" { + description + "Loadshare determined from explicit + configuration"; + } + } + description + "load-share type"; + } + + typedef Te-destination-state { + type enumeration { + enum "destination-disabled" { + description + "The destination is disabled in configuration"; + } + enum "destination-down" { + description + "The destination is down"; + } + enum "destination-up" { + description + "The destination is up"; + } + } + description + "P2MP destination state"; + } + + typedef Mpls-mte-tunnel-fail-reason { + type enumeration { + enum "mtunnel-fail-reason-unapplicable" { + description + "None of the reasons below is valid"; + } + enum "mtunnel-fail-reason-shutdown" { + description + "Tunnel interface is shutdown"; + } + enum "mtunnel-fail-reason-no-destination" { + description + "No destination is configured"; + } + enum "mtunnel-fail-reason-no-path-option" { + description + "No path option is configured"; + } + enum "mtunnel-fail-reason-no-source" { + description + "No ip source address is configured"; + } + enum "mtunnel-fail-reason-collaborator-disc" { + description + "Collaborator not connected"; + } + enum "mtunnel-fail-reason-unmatched-class-type-priority" { + description + "The class type and priority do not match any of + the TE-classes"; + } + enum "mtunnel-fail-reason-invalid-bidir-cfg" { + description + "Configured bidirectional, incomplete switching + capability config"; + } + enum "mtunnel-fail-reason-po-switchover" { + description + "Manual path-option switchover failed due to + destination(s) down"; + } + enum "mtunnel-fail-reason-no-tunnel-id" { + description + "No tunnel-id is configured"; + } + enum "mtunnel-fail-reason-no-link" { + description + "Tunnel's egress link doesn't exist"; + } + enum "mtunnel-fail-reason-link-shutdown" { + description + "Tunnel's egress link is shut down"; + } + enum "mtunnel-fail-reason-link-lmp-down" { + description + "LMP is down on the tunnel's egress link"; + } + enum "mtunnel-fail-reason-source-destination-same" { + description + "Tunnel source and destination addresses are the + same"; + } + enum "mtunnel-fail-reason-otn-no-odu-level" { + description + "OTN tunnel does not have odu-level set"; + } + enum "mtunnel-fail-reason-bidir-assoc-id-missing" { + description + "Bidirectional is configured without Association + ID"; + } + enum "mtunnel-fail-reason-bfdgal-on-unidirectional" { + description + "BFD GAL mode is supported on bidirectional + tunnels only"; + } + enum "mtunnel-fail-reason-destination-invalid" { + description + "Termination is supported with unnumbered + destination only"; + } + enum "mtunnel-fail-reason-termination-bandwidth-mismatch" { + description + "Termination bandwidth should match signalled + bandwidth"; + } + enum "mtunnel-fail-reason-termination-has-protection" { + description + "Termination supports only working path-option"; + } + enum "mtunnel-fail-reason-termination-has-invalid-src-dest-ifindex" { + description + "Termination case must have source and + destination valid ifindex"; + } + enum "mtunnel-fail-reason-termination-has-invalid-payload-type" { + description + "Termination payload type has to be valid for + configured bandwidth"; + } + } + description + "Reason for tunnel being down"; + } + + typedef Mte-tunnel-oper-state { + type enumeration { + enum "tunnel-state-oper-unknown" { + description + "Tunnel is in unknown state"; + } + enum "operational-down" { + description + "Tunnel is in operational down state"; + } + enum "operational-up" { + description + "Tunnel is in operational up state"; + } + } + description + "Tunnel operational state"; + } + + typedef Mte-tunnel-admin-state { + type enumeration { + enum "tunnel-state-admin-unknown" { + description + "Tunnel is in unknown state"; + } + enum "admin-shutdown" { + description + "Tunnel is in admin shutdown state"; + } + enum "admin-up" { + description + "Tunnel is in admin up state"; + } + } + description + "Tunnel admin state"; + } + + typedef Te-vif-bfd-encap-mode { + type enumeration { + enum "ip" { + description + "BFD Encap Mode IP"; + } + enum "gal" { + description + "BFD Encap Mode GAL"; + } + } + description + "BFD Encap Mode"; + } + + typedef Mpls-te-bfd-session-down-action1 { + type enumeration { + enum "reopt" { + value 0; + description + "BFD session down action reoptimization"; + } + enum "re-setup" { + value 1; + description + "BFD session down action tear down and resetup"; + } + } + description + "BFD session down action"; + } + + typedef Te-lsp-path-protection-role { + type enumeration { + enum "protection-role-not-set" { + description + "Protection role not set"; + } + enum "protection-role-working" { + description + "Working"; + } + enum "protection-role-protecting" { + description + "Protecting"; + } + enum "protection-role-pending" { + description + "Pending"; + } + } + description + "Protection Role"; + } + + typedef Mte-reopt-trigger { + type enumeration { + enum "no-trigger" { + description + "No trigger"; + } + enum "timer-trigger" { + description + "Timer Trigger"; + } + enum "bandwidth-change-trigger" { + description + "Bandwidth Change Trigger"; + } + enum "auto-bandwidth-overflow-trigger" { + description + "Auto Bandwidth Overflow Trigger"; + } + enum "auto-bandwidth-underflow-trigger" { + description + "Auto Bandwidth Underflow Trigger"; + } + enum "auto-bandwidth-adjustment-trigger" { + description + "Auto Bandwidth Adjustment Trigger"; + } + enum "metric-type-change-trigger" { + description + "Metric Type Change Trigger"; + } + enum "user-trigger" { + description + "User Trigger"; + } + enum "frr-trigger" { + description + "FRR Trigger"; + } + enum "remerge-error-trigger" { + description + "Remerge Error Trigger"; + } + enum "preferred-path-trigger" { + description + "Reception of the preferred path exists path + error"; + } + enum "preferred-tree-trigger" { + description + "Reception of the preferred tree exists path + error"; + } + enum "due-to-maximum-metric" { + description + "Reoptimization triggered due to receiving an + LSA with MAX metric"; + } + enum "path-option-switchover-trigger" { + description + "Path option switchover"; + } + enum "path-protection-switchover-trigger" { + description + "Path Protection Switchover Trigger"; + } + enum "reroute-sticky-path-trigger" { + description + "Reroute Sticky Path trigger"; + } + enum "iep-enable-reoptimization-trigger" { + description + "IEP Enable Reoptimization Trigger"; + } + enum "affinity-path-verification-fail-trigger" { + description + "Affinity path verification failure trigger"; + } + enum "cost-limit-path-verification-fail-trigger" { + description + "Cost limit path verification failure trigger"; + } + enum "delay-limit-path-verification-fail-trigger" { + description + "Delay limit path verification failure trigger"; + } + enum "soft-preemption-trigger" { + description + "Soft preemption trigger"; + } + enum "iep-changed" { + description + "Explicit path has changed"; + } + enum "po-changed" { + description + "Path-option has changed"; + } + enum "dest-changed" { + description + "Destination has changed"; + } + enum "reopt-try-to-force-it" { + description + "Reoptimization with try-to-force-it option"; + } + enum "topology-change-trigger" { + description + "Topology change trigger"; + } + enum "reopt-link-up-event" { + description + "Topology link-up event trigger"; + } + enum "bfd-session-down-trigger" { + description + "FRR enabled and BFD session down trigger"; + } + enum "reverse-assoc-s2l-received-trigger" { + description + "Reverse associated S2L received trigger"; + } + enum "gmpls-uni-multilayer-trigger" { + description + "Multilayer recovery for GMPLS-UNI"; + } + enum "gmpls-uni-user-trigger" { + description + "User-triggered GMPLS-UNI reopt request"; + } + enum "path-selection-tiebreaker-change-trigger" { + description + "Path Selection Tiebreaker Change Trigger"; + } + enum "sr-egress-path-change-trigger" { + description + "Segment-Routing Egress Path Change Trigger"; + } + enum "overload-bit-trigger" { + description + "Overload-bit set on current path"; + } + enum "pce-trigger" { + description + "PCE Trigger"; + } + enum "lockout-metric-trigger" { + description + "Reoptimization triggered due to receiving an + LSA with Lockout metric"; + } + enum "bfd-session-config-change-trigger" { + description + "BFD session configuration change"; + } + enum "higher-priority-po-change-trigger" { + description + "Higher priority path option changed"; + } + enum "sr-area-spf-support-change-trigger" { + description + "Segment-Routing IGP Area SPF Support Change + Trigger"; + } + enum "trigger-not-used" { + description + "Not used"; + } + } + description + "Reoptimization trigger"; + } + + typedef Mpls-te-reopt-decision-reason { + type enumeration { + enum "decision-reason-none" { + value 0; + description + "No reason"; + } + enum "not-superset" { + value 1; + description + "Reopt LSP not signalled because it is not a + superset of the current LSP"; + } + enum "superset" { + value 2; + description + "Reopt LSP is signalled because it is a superset + of the current LSP"; + } + enum "lsp-frr-active" { + value 3; + description + "Reopt LSP is signalled because the current LSP + is in FRR"; + } + enum "bandwidth-change" { + value 4; + description + "Reopt LSP is signalled because there is a + bandwidth change"; + } + enum "metric-type-change" { + value 5; + description + "Reopt LSP is signalled because there is a + metric type change"; + } + enum "better-path-option-indexes" { + value 6; + description + "Reopt LSP is signalled because it has better + path option indexes than the current LSP"; + } + enum "inter-area-preferred-path-exists" { + value 7; + description + "Reopt LSP is signalled because an inter-area + preferred path exists"; + } + enum "inter-area-preferred-tree-exists" { + value 8; + description + "Reopt LSP is signalled because an inter-area + preferred tree exists"; + } + enum "worse-path-option-indexes" { + value 9; + description + "Reopt LSP is not signalled because it has worse + path option indexes than the current LSP"; + } + enum "better-cumulative-metric" { + value 10; + description + "Reopt LSP is signalled because it has better + path option indexes than the current LSP"; + } + enum "worse-cumulative-metric" { + value 11; + description + "Reopt LSP is not signalled because it has worse + cumulative metric than the current LSP"; + } + enum "identical" { + value 12; + description + "Reopt LSP is not signalled because it is + identical to the current LSP"; + } + enum "no-s2-ls" { + value 13; + description + "Reopt LSP is not signalled because it has no + S2Ls"; + } + enum "no-current-lsp" { + value 14; + description + "Reopt LSP not signalled, no current LSP"; + } + enum "user-path-option-switchover" { + value 15; + description + "Reopt LSP signalled due to user requested + path-option switchover"; + } + enum "better-hops" { + value 16; + description + "Reopt LSP is signalled because it has more S2Ls + with less hops than the current LSP"; + } + enum "worse-hops" { + value 17; + description + "Reopt LSP is not signalled because it has less + S2Ls with less hops than the current LSP"; + } + enum "pce-force" { + value 18; + description + "PCE based reoptimization triggered by CLI with + force option than the current LSP"; + } + enum "affinity-changed" { + value 19; + description + "Reopt LSP is signalled because there is an + affinity change"; + } + enum "cost-limit" { + value 20; + description + "Reopt LSP is signalled because the path cost + limit is crossed"; + } + enum "sig-timeout" { + value 21; + description + "Re-opt LSP could not be signalled within + signalling timeout"; + } + enum "not-superset-inst-timer-expired" { + value 22; + description + "Re-opt LSP is not a superset when the install + timer expired"; + } + enum "path-verifiction-failed" { + value 23; + description + "Re-opt LSP path verification failed"; + } + enum "soft-preemption-recovery" { + value 24; + description + "Re-opt LSP is signalled because of soft + preemption recovery"; + } + enum "iep-changed" { + value 25; + description + "Re-opt LSP is signalled because the inuse + explicit-path has changed"; + } + enum "po-changed" { + value 26; + description + "Re-opt LSP is signalled because the inuse + path-option has changed"; + } + enum "dest-changed" { + value 27; + description + "Re-opt LSP is signalled because the destination + has changed"; + } + enum "better-igp-area" { + value 28; + description + "Reopt LSP is signalled because its path was + calculated in a preferred IGP-area to the + current LSP"; + } + enum "worse-igp-area" { + value 29; + description + "Reopt LSP is not signalled because its path was + calculated in a worse IGP-area than the current + LSP"; + } + enum "better-bandwidth-load-balancing" { + value 30; + description + "Reopt LSP is signalled because it gives better + bandwidth load balancing than the current LSP"; + } + enum "worse-bandwidth-load-balancing" { + value 31; + description + "Reopt LSP is not signalled because it gives + worse bandwidth load balancing than the current + LSP"; + } + enum "bfd-session-down" { + value 32; + description + "Reopt LSP is signaled because BFD sesssion went + down"; + } + enum "auto-pcc-reopt" { + value 33; + description + "Re-opt LSP is signalled because it was + triggered by a PCE"; + } + enum "sr-egress-path-changed" { + value 34; + description + "Reopt LSP is signaled because the egress + path(s) changed"; + } + enum "overload-bit-set" { + value 35; + description + "Reopt LSP is signalled because the current LSP + uses an OL node"; + } + enum "better-diversity" { + value 36; + description + "Reopt LSP is signalled because it has better + diversity than the current LSP"; + } + enum "worse-diversity" { + value 37; + description + "Reopt LSP is not signalled because it has worse + diversity than the current lsp"; + } + enum "bfd-session-type-changed" { + value 38; + description + "Reopt LSP is signalled because BFD sesssion + tyep is changed"; + } + enum "lsp-drop-mode" { + value 39; + description + "Reopt LSP is signalled because current LSP is + in drop mode"; + } + enum "strict-spf" { + value 40; + description + "Reopt LSP is signalled because it uses strict + SPF while current doesn't"; + } + enum "delay-limit" { + value 41; + description + "Reopt LSP is signalled because the path delay + limit is crossed"; + } + enum "lockout-metric" { + value 42; + description + "Reopt LSP is signalled because one of the + links is locked out"; + } + enum "intra-area" { + value 43; + description + "Reopt LSP is signalled because it has better + intra-areaness"; + } + enum "clear-sticky" { + value 44; + description + "Reopt LSP is signalled because clear sticky + command"; + } + enum "not-used" { + value 45; + description + "Not used, must be last entry"; + } + } + description + "Reoptimization decision"; + } + + typedef Mpls-te-lsp-wrap-state { + type enumeration { + enum "lsp-wrap-not-ready" { + description + "LSP Wrap state is not ready"; + } + enum "lsp-wrap-active" { + description + "LSP Wrap state is active"; + } + enum "lsp-wrap-ready" { + description + "LSP Wrap state is ready"; + } + } + description + "LSP Wrap state"; + } + + typedef Te-sr-sid { + type enumeration { + enum "srsid-not-set" { + description + "Type not set"; + } + enum "srsid-node" { + description + "Segment-Routing Node"; + } + enum "srsid-adj" { + description + "Segment-Routing Link"; + } + enum "srsid-unknown" { + description + "Segment-Routing Unknown"; + } + } + description + "Segment-Routing SID types"; + } + + typedef Te-association-tie-role { + type enumeration { + enum "none" { + description + "Association Role None"; + } + enum "master" { + description + "Association Role Master"; + } + enum "slave" { + description + "Association Role Slave"; + } + } + description + "TE Association Tie Breaker Role"; + } + + typedef Te-vif-bfd { + type enumeration { + enum "bfd-disabled" { + value 0; + description + "BFD Fast Detect Not Enabled"; + } + enum "bfd-enabled" { + value 1; + description + "Regular BFD Enabled"; + } + enum "sbfd-enabled" { + value 2; + description + "SBFD Enabled"; + } + } + description + "BFD Type"; + } + + typedef Te-bfd-lsp-session-state { + type enumeration { + enum "bfd-over-lsp-session-state-none" { + value 0; + description + "BFDOverLSP session state none"; + } + enum "bfd-over-lsp-session-state-created" { + value 1; + description + "BFDOverLSP session state created"; + } + enum "bfd-over-lsp-session-state-up" { + value 2; + description + "BFDOverLSP session state up"; + } + enum "bfd-over-lsp-session-state-down" { + value 3; + description + "BFDOverLSP session state down"; + } + enum "bfd-over-lsp-session-state-admin-down" { + value 4; + description + "BFDOverLSP session state admin down"; + } + enum "bfd-over-lsp-session-state-deleted" { + value 5; + description + "BFDOverLSP sesssion state deleted"; + } + enum "bfd-over-lsp-session-state-create-failed" { + value 6; + description + "BFDOverLSP session state create failed"; + } + } + description + "TE BFDOverLSP Session State"; + } + + typedef Gmpls-uni-mgmt-dwdm-cs { + type enumeration { + enum "not-set" { + description + "Not Set"; + } + enum "dwdm100g-hz" { + description + "100GHz"; + } + enum "dwdm50g-hz" { + description + "50GHz"; + } + enum "dwdm25g-hz" { + description + "25GHz"; + } + enum "dwdm12g-hz" { + description + "12.5GHz"; + } + enum "dwdm6g-hz" { + description + "6.25GHz"; + } + } + description + "GMPLS-UNI DWDM channel spacings"; + } + + typedef Gmpls-uni-mgmt-wdm-grid { + type enumeration { + enum "not-set" { + description + "Not Set"; + } + enum "dwdm" { + description + "DWDM"; + } + enum "cwdm" { + description + "CWDM"; + } + } + description + "GMPLS-UNI WDM grid"; + } + + typedef Mpls-te-mgmt-gmpls-label { + type enumeration { + enum "not-set" { + description + "Not Set"; + } + enum "fixed-wdm" { + description + "Fixed-grid WDM"; + } + enum "fixed-g709otn" { + description + "Fixed-size G709 OTN"; + } + enum "fsc" { + description + "Fiber Switch"; + } + } + description + "GMPLS label type"; + } + + typedef Mpls-te-soft-preemption-state { + type enumeration { + enum "soft-preemption-not-pending" { + description + "Soft Preemption has not been triggered and is + not pending"; + } + enum "soft-preemption-pending" { + description + "Soft Preemption has been triggered and is + pending"; + } + } + description + "The possible states for soft preemption"; + } + + typedef Mpls-te-tunnels-signaling-status { + type enumeration { + enum "down" { + description + "The tunnel is down"; + } + enum "recovering" { + description + "The tunnel is recovering"; + } + enum "recovered" { + description + "The tunnel is recovered"; + } + enum "connected" { + description + "The tunnel is connected"; + } + enum "disabled" { + description + "The tunnel signalling is disabled"; + } + enum "proceeding" { + description + "The tunnel signalling is proceeding"; + } + enum "wait-bfd-session-up" { + description + "The tunnel is waiting for BFD session up"; + } + enum "wait-sr-segment-path-up" { + description + "The tunnel is waiting for SR segment path"; + } + enum "wait-local-label" { + description + "The tunnel is waiting for a local label"; + } + enum "wait-local-label-rewrite" { + description + "The tunnel is waiting for a local label rewrite"; + } + } + description + "Tunnel signalling status"; + } + + typedef Mpls-te-frr-state { + type enumeration { + enum "frr-inactive" { + description + "FRR state is inactive"; + } + enum "frr-active" { + description + "FRR state is active"; + } + enum "frr-ready" { + description + "FRR state is ready"; + } + } + description + "FRR state"; + } + + typedef Te-controller-state { + type enumeration { + enum "notready" { + description + "Controller not ready"; + } + enum "admin-down" { + description + "Controller is admin down"; + } + enum "down" { + description + "Controller is operationally down"; + } + enum "shutdown" { + description + "Controller is shutdown"; + } + enum "error-disabled" { + description + "Controller is disabled due to error"; + } + enum "up" { + description + "Controller is operationally up"; + } + enum "unknown" { + description + "Controller state unknown"; + } + } + description + "Controller States"; + } + + typedef Te-mgmt-generic-fspec { + type enumeration { + enum "te-generic-fspec-type-g709otn" { + description + "TE G709 OTN FSpec type"; + } + } + description + "TE generic FSpec types"; + } + + typedef Te-mgmt-generic-tspec { + type enumeration { + enum "te-generic-tspec-type-g709otn" { + description + "TE G709 OTN TSpec type"; + } + } + description + "TE generic TSpec types"; + } + + typedef Rsvp-mgmt-rro-subobj { + type enumeration { + enum "ipv4rro-type" { + value 1; + description + "IPv4 RRO Type"; + } + enum "label-rro-type" { + value 3; + description + "Label RRO Type"; + } + enum "unnumbered-rro-type" { + value 4; + description + "Unnumbered RRO Type"; + } + enum "srlg-rro-type" { + value 34; + description + "SRLG RRO Type"; + } + } + description + "RSVP RRO Types"; + } + + typedef Rsvp-mgmt-ero-subobj-status { + type enumeration { + enum "rsvp-mgmt-ero-status-not-available" { + value 0; + description + "ERO is not available in topology"; + } + enum "rsvp-mgmt-ero-status-available" { + value 1; + description + "ERO is available in topology"; + } + enum "rsvp-mgmt-ero-status-bw-not-available" { + value 2; + description + "ERO doesn't have bw available in topology"; + } + } + description + "RSVP ERO Status"; + } + + typedef Rsvp-mgmt-ero-subobj { + type enumeration { + enum "rsvp-mgmt-ero-type-ipv4" { + value 1; + description + "IPv4 ERO Type"; + } + enum "rsvp-mgmt-ero-type-un-num" { + value 4; + description + "Unnumbered ERO Type"; + } + } + description + "RSVP ERO Types"; + } + + typedef Mpls-te-metric { + type enumeration { + enum "metric-not-set" { + description + "Metric type not set"; + } + enum "metric-igp" { + description + "Metric for IGP routes"; + } + enum "metric-te" { + description + "Metric for MPLS traffic engineering tunnels"; + } + enum "metric-delay" { + description + "Delay Metric"; + } + } + description + "Metric type"; + } + + typedef Te-path-inval-action { + type enumeration { + enum "none" { + value 0; + description + "TE path selection invalidation action none"; + } + enum "tear" { + value 1; + description + "TE path selection invalidation action tear"; + } + enum "drop" { + value 2; + description + "TE path selection invalidation action drop"; + } + } + description + "Path selection invalidation action type"; + } + + typedef Te-s2l-sr-path-selection { + type enumeration { + enum "te-s2l-sr-path-selection-any" { + value 0; + description + "TE S2L Segment-Routing Path Selection type Any"; + } + enum "te-s2l-sr-path-selection-adj-unprotected" { + value 1; + description + "TE S2L Segment-Routing Path Selection type + Adjacency Unprotected"; + } + enum "te-s2l-sr-path-selection-adj-protected" { + value 2; + description + "TE S2L Segment-Routing Path Selection type + Adjacency Protected"; + } + } + description + "Segment-routing path selection type"; + } + + typedef Te-bfd-reverse-path { + type enumeration { + enum "bfd-reverse-path-none" { + value 0; + description + "BFD reverse path not enabled"; + } + enum "bfd-reverse-path-binding-label" { + value 1; + description + "BFD reverse path binding label"; + } + } + description + "BFD Reverse Path Type"; + } + + typedef Te-pce-disjoint { + type enumeration { + enum "none" { + value 0; + description + "PCE Disjoint Type none"; + } + enum "link" { + value 1; + description + "PCE Disjoint Type link"; + } + enum "node" { + value 2; + description + "PCE Disjoint Type node"; + } + enum "srlg" { + value 3; + description + "PCE Disjoint Type srlg"; + } + } + description + "PCE Disjoint Path type"; + } + + typedef Tunnel-attribute-set { + type enumeration { + enum "tunnel-attribute-set-none" { + value 0; + description + "No Tunnel AttributeSet configured"; + } + enum "tunnel-attribute-set-static" { + value 1; + description + "Tunnel AttributeSet Type is Static"; + } + enum "tunnel-attribute-set-path-option" { + value 2; + description + "Tunnel AttributeSet Type is Path Option"; + } + enum "tunnel-attribute-set-not-used" { + value 3; + description + "None"; + } + enum "tunnel-attribute-set-auto-backup" { + value 4; + description + "Tunnel AttributeSet Type is AutoBackup"; + } + enum "tunnel-attribute-set-auto-mesh" { + value 5; + description + "Tunnel AttributeSet Type is AutoMesh"; + } + enum "tunnel-attribute-set-xro" { + value 6; + description + "Tunnel AttributeSet Type is XRO"; + } + enum "tunnel-attribute-set-p2mpte" { + value 7; + description + "Tunnel AttributeSet Type is P2MP TE"; + } + enum "tunnel-attribute-aps-pp" { + value 8; + description + "Tunnel AttributeSet Type is APS Path Protection"; + } + enum "tunnel-attribute-set-p2p-te" { + value 9; + description + "Tunnel AttributeSet Type is P2P TE"; + } + enum "tunnel-attribute-uni-p" { + value 10; + description + "Tunnel AttributeSet Type is UNI Protection"; + } + } + description + "Tunnel attribute set"; + } + + typedef Mpls-te-pathoption { + type enumeration { + enum "path-option-unknown" { + description + "Unknown Path Option"; + } + enum "path-option-dynamic" { + description + "Dynamic Path Option"; + } + enum "path-option-explicit-name" { + description + "Explicit name Path Option"; + } + enum "path-option-explicit-id" { + description + "Explicit Identifier Path Option"; + } + enum "path-option-pce" { + description + "PCE Path Option"; + } + enum "path-option-no-ero" { + description + "No-ERO Path Option"; + } + enum "path-option-segment-routing" { + description + "Segment-Routing Path Option"; + } + } + description + "Path-option type"; + } + + typedef Mpls-te-bw-pool { + type enumeration { + enum "te-bandwidth-pool0" { + description + "Bandwidth pool type is pool0"; + } + enum "te-bandwidth-pool1" { + description + "Bandwidth pool type is pool1"; + } + enum "te-bandwidth-any-pool" { + description + "Bandwidth pool type is any pool"; + } + } + description + "Bandwidth pool type"; + } + + typedef Hw-oor-state { + type enumeration { + enum "oor-green" { + description + "NPU resources are in normal state"; + } + enum "oor-yellow" { + description + "NPU resources are in minor state"; + } + enum "oor-red" { + description + "NPU resources are in Major state"; + } + } + description + "NPU resources states"; + } + + grouping MPLS-LM-SOFT-PREEMPTION-LINK-INFO { + description + "Soft Preemption Info per Link"; + leaf link-address { + type inet:ipv4-address; + description + "The link's IPv4 address"; + } + leaf total-soft-preempted-bandwidth-bc0 { + type uint64; + description + "The total BC0 BW that is softly preempted: this + is the sum of bandwidth for all the LSPs that + were soft preempted"; + } + leaf total-soft-preempted-bandwidth-bc1 { + type uint64; + description + "The total BC1 BW that is softly preempted: this + is the sum of bandwidth for all the LSPs that + were soft preempted"; + } + leaf current-soft-preempted-bandwidth-bc0 { + type uint64; + description + "The current BC0 BW that is softly preempted: + this is the sum of bandwidth for the LSPs that + are soft preempted and have not been torn down + yet"; + } + leaf current-soft-preempted-bandwidth-bc1 { + type uint64; + description + "The current BC1 BW that is softly preempted: + this is the sum of bandwidth for the LSPs that + are soft preempted and have not been torn down + yet"; + } + leaf release-soft-preempted-bandwidth-bc0 { + type uint64; + description + "The total released BC0 BW that is softly + preempted: this is the sum of bandwidth for the + LSPs that are soft preempted and are torn down"; + } + leaf release-soft-preempted-bandwidth-bc1 { + type uint64; + description + "The total released BC1 BW that is softly + preempted: this is the sum of bandwidth for the + LSPs that are soft preempted and are torn down"; + } + leaf current-over-subscribed-bandwidth-bc0 { + type uint64; + description + "The BC0 bandwidth that is over subscribed on + this link: this is the difference between the + maximum available BC0 BW on the link and the sum + of the currently reserved BC0 bandwidth and the + currently soft preempted BC0 BW"; + } + leaf current-over-subscribed-bandwidth-bc1 { + type uint64; + description + "The BC1 bandwidth that is over subscribed on + this link: this is the difference between the + maximum available BC1 BW on the link and the sum + of the currently reserved BC1 bandwidth and the + currently soft preempted BC1 BW"; + } + list current-soft-preemption-lsp { + description + "List of the soft preempted LSPs that are not yet + cleaned up"; + uses MPLS-LM-PREEMPTED-LSP; + } + } + + grouping MPLS-TE-SOFT-PREEMPTION-GLOBAL-INFO { + description + "Global Soft Preemption Info"; + leaf is-configured { + type boolean; + description + "Is global soft-preemption configured"; + } + leaf is-timeout-interval-configured { + type boolean; + description + "Is global soft-preemption timeout interval + configured"; + } + leaf timeout-interval { + type uint32; + description + "Global soft-preemption timeout interval"; + } + } + + grouping MPLS-LM-ADMISSION-CONTROL-TUNNEL-INFO { + description + "Information about a given admitted tunnel"; + leaf tunnel-name { + type string; + description + "The admitted tunnel's name"; + } + leaf bandwidth-state { + type Bandwidth-state-enum; + description + "The bandwidth state"; + } + leaf bandwidth-pool { + type Bandwidth-type-enum; + description + "The bandwidth pool"; + } + leaf setup-priority { + type uint8; + description + "The tunnel's setup priority"; + } + leaf hold-priority { + type uint8; + description + "The tunnel's hold priority"; + } + leaf up-link-name { + type string; + description + "The uplink's name for this tunnel"; + } + leaf down-link-name { + type string; + description + "The downlink's name for this tunnel"; + } + leaf tunnel-state { + type Tunnel-state-enum; + description + "The tunnel's state"; + } + leaf bandwidth { + type uint64; + description + "The bandwidth used by this tunnel"; + } + leaf local-label { + type uint32; + description + "The local label"; + } + leaf outgoing-label { + type uint32; + description + "The outgoing label"; + } + leaf backup-interface { + type string; + description + "The backup Interface"; + } + leaf is-rerouted { + type boolean; + description + "TRUE if the tunnel is currently rerouted"; + } + } + + grouping MPLS-LM-ADMISSION-CONTROL-COMMON-INFO { + description + "Global information about admitted tunnels"; + leaf is-role-standby { + type boolean; + description + "TRUE if Role is Standby, Active otherwise"; + } + leaf total-tunnels { + type uint32; + description + "Total p2p tunnels admitted"; + } + leaf total-p2mp-tunnels { + type uint32; + description + "Total p2mp tunnels admitted"; + } + leaf selected-tunnels { + type uint32; + description + "Number of tunnels selected"; + } + leaf bandwidth-units { + type Bandwidth-unit-enum; + description + "Bandwidth units"; + } + } + + grouping MPLS-LM-INTERFACE-HW-OOR-INFO { + description + "Information about NPU Resources state for the + link"; + leaf hw-oor-state { + type Hw-oor-state; + description + "The NPU (Network Processor Unit) HW resource + state"; + } + leaf hw-oor-timestamp { + type uint32; + description + "Timestamp when the OOR state last changed"; + } + leaf hw-o-or-green-recovery-time { + type uint32; + units "second"; + description + "Time Remaining in Green Recovery State (seconds)"; + } + list hw-o-or-link-statistic { + max-elements "3"; + description + "HW OOR statistics for the link"; + uses TE-HW-OOR-STATS; + } + } + + grouping MPLS-LM-INTERFACE-LOCKOUT-INFO { + description + "Information about flex LSP lockout info for the + link"; + leaf is-lockout { + type boolean; + description + "True if link is locked out"; + } + leaf lockout-on-timestamp { + type uint32; + description + "Timestamp when the lockout is set"; + } + leaf lockout-off-timestamp { + type uint32; + description + "Timestamp when the lockout is cleared"; + } + } + + grouping MPLS-LM-INTERFACE-LINK-AREA-INFO { + description + "Information about an area to which the link + belongs"; + leaf area-id { + type string; + description + "Area id"; + } + leaf neighbor-id { + type string; + description + "The interface neighbor id"; + } + leaf neighbor-address { + type inet:ipv4-address; + description + "The interface's neighbor's ip address"; + } + leaf is-neighbor-up { + type boolean; + description + "TRUE if the neighbor is up"; + } + leaf igp-metric { + type uint32; + description + "The link's IGP metric"; + } + } + + grouping MPLS-TE-DARKBW-SAMPLE-SR { + description + "Information about a single Segment Routing + bandwidth accounting sample"; + leaf timestamp { + type uint32; + units "second"; + description + "Timestamp in seconds of this sample"; + } + leaf sr-rate { + type uint64; + units "kbit/s"; + description + "Segment Routing traffic rate measured in + Kilobits per second in this sample"; + } + } + + grouping MPLS-TE-DARKBW-HISTORY-SR { + description + "Segment Routing Bandwidth accounting history"; + list sr-active-interval-sample { + description + "Segment Routing samples in the current + application interval"; + uses MPLS-TE-DARKBW-SAMPLE-SR; + } + list sr-previous-interval-sample { + description + "Segment Routing samples in the previous + application interval"; + uses MPLS-TE-DARKBW-SAMPLE-SR; + } + } + + grouping MPLS-TE-DARKBW-SAMPLE-RSVP { + description + "Information about a single RSVP-TE bandwidth + accounting sample"; + leaf timestamp { + type uint32; + units "second"; + description + "Timestamp in seconds of this sample"; + } + leaf total-rate { + type uint64; + units "kbit/s"; + description + "Total traffic rate measured in Kilobits per + second in this sample"; + } + leaf rsvp-te-rate { + type uint64; + units "kbit/s"; + description + "RSVP-TE traffic rate measured in Kilobits per + second in this sample"; + } + leaf non-rsvp-te-rate { + type uint64; + units "kbit/s"; + description + "Non-RSVP-TE traffic rate measured in Kilobits + per second in this sample"; + } + } + + grouping MPLS-TE-DARKBW-HISTORY-RSVP { + description + "RSVP-TE Bandwidth accounting history"; + list rsvp-te-active-interval-sample { + description + "RSVP-TE samples in the current application + interval"; + uses MPLS-TE-DARKBW-SAMPLE-RSVP; + } + list rsvp-te-previous-interval-sample { + description + "RSVP-TE samples in the previous application + interval"; + uses MPLS-TE-DARKBW-SAMPLE-RSVP; + } + } + + grouping MPLS-TE-DARKBW-BW-UTIL-SR { + description + "Information about Segment Routing bandwidth + utilization in bandwidth accounting"; + leaf sr-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Segment Routing bandwidth utilization measured + in kilobits per second"; + } + leaf sr-adjusted-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Adjusted Segment Routing bandwidth utilization + measured in kilobits per second"; + } + leaf sr-enforced-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Enforced Segment Routing bandwidth utilization + measured in kilobits per second"; + } + } + + grouping MPLS-TE-DARKBW-BW-UTIL-RSVP { + description + "Information about RSVP-TE bandwidth utilization + in bandwidth accounting"; + leaf total-link-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Total bandwidth utilization measured in kilobits + per second"; + } + leaf rsvp-te-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "RSVP-TE bandwidth utilization measured in + kilobits per second"; + } + leaf non-rsvp-te-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Non-RSVP-TE bandwidth utilization measured in + kilobits per second"; + } + leaf rsvp-te-adjusted-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Adjusted RSVP-TE bandwidth utilization measured + in kilobits per second"; + } + leaf rsvp-te-enforced-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Enforced RSVP-TE bandwidth utilization measured + in kilobits per second"; + } + } + + grouping MPLS-LM-DARKBW-LINK-COMMON-INFO { + description + "Information for bandwidth accounting per link"; + container rsvp-te-bandwidth-utilization { + description + "RSVP-TE Bandwidth utilization information"; + uses MPLS-TE-DARKBW-BW-UTIL-RSVP; + } + container sr-bandwidth-utilization { + description + "Segment Routing Bandwidth utilization + information"; + uses MPLS-TE-DARKBW-BW-UTIL-SR; + } + leaf is-bandwidth-account-enabled { + type boolean; + description + "TRUE if bandwidth accounting is enabled"; + } + leaf application-enforced { + type boolean; + description + "TRUE if bandwidth accounting application is + enforced"; + } + leaf collection-type { + type Bandwidth-accounting-collection; + description + "The type of traffic collected for bandwidth + accounting"; + } + leaf sample-interval { + type uint32; + units "second"; + description + "Sampling interval in seconds for bandwidth + accounting stats"; + } + leaf sample-time-remaining { + type uint32; + units "second"; + description + "This value indicates the number of seconds until + the next sampling"; + } + leaf last-sample-collection-timestamp { + type uint32; + description + "Timestamp for the last sample collection"; + } + leaf next-sample-collection { + type uint32; + description + "Timestamp for the next sample collection"; + } + leaf application-interval { + type uint32; + units "second"; + description + "Application interval in seconds for bandwidth + accounting stats"; + } + leaf application-time-remaining { + type uint32; + units "second"; + description + "This value indicates the number of seconds until + the next application"; + } + leaf last-application-timestamp { + type uint32; + description + "Timestamp for the last application"; + } + leaf next-application { + type uint32; + description + "Timestamp for the next application"; + } + leaf adjustment-factor { + type uint32; + description + "This value indicates the adjustment factor + applied to measured non RSVP-TE bandwidth"; + } + leaf max-reservable-bandwidth-threshold-are-default { + type boolean; + description + "TRUE if the maximum reservable bandwidth + flooding thresholds are default"; + } + leaf up-threshold-max-reservable-bandwidth { + type uint8; + description + "The up threshold for flooding the maximum + reservable bandwidth"; + } + leaf down-threshold-max-reservable-bandwidth { + type uint8; + description + "The down threshold for flooding the maximum + reservable bandwidth"; + } + leaf flooding-trigger-type { + type Bandwidth-accounting-flooding-trigger; + description + "The type of flooding triggers for bandwidth + accounting"; + } + leaf sr-traffic-percentage { + type uint8; + units "percentage"; + description + "The percentage of segment-routing traffic as + threshold for flooding"; + } + } + + grouping MPLS-LM-DARKBW-LINK-INFO { + description + "Detail information for bandwidth accounting per + link"; + container bandwidth-account-common-info { + description + "Common info for bandwidth accounting"; + uses MPLS-LM-DARKBW-LINK-COMMON-INFO; + } + container rsvp-te-bandwidth-sample-history { + description + "RSVP-TE Bandwidth samples history"; + uses MPLS-TE-DARKBW-HISTORY-RSVP; + } + container sr-bandwidth-sample-history { + description + "Segment Routing Bandwidth samples history"; + uses MPLS-TE-DARKBW-HISTORY-SR; + } + } + + grouping MPLS-LM-INTERFACE-LINK-INFO { + description + "IGP and area information of a link"; + container link-common { + description + "The link's common info"; + uses MPLS-LM-COMMON-LINK-INFO; + } + container bandwidth-account { + description + "Bandwidth Account info"; + uses MPLS-LM-DARKBW-LINK-INFO; + } + container hw-oor { + description + "The link's NPU OOR info. This field is NULL for + platforms that do not support HW-OOR + notifications"; + uses MPLS-LM-INTERFACE-HW-OOR-INFO; + } + leaf reason-not-flooded { + type string; + description + "Reason why link is not flooded + (area-independent)"; + } + leaf maximum-reservation-bandwidth-rdm { + type uint64; + description + "The link's maximum reservable BW in RDM"; + } + leaf reservable-pool0-bandwidth-rdm { + type uint64; + description + "The link's reservable pool0 BW in RDM"; + } + leaf reservable-pool1-bandwidth-rdm { + type uint64; + description + "The link's reservable pool1 BW in RDM"; + } + leaf maximum-reservation-bandwidth-mam { + type uint64; + description + "The link's maximum reservable BW in MAM"; + } + leaf reservable-pool0-bandwidth-mam { + type uint64; + description + "The link's reservable pool0 BW in MAM"; + } + leaf reservable-pool1-bandwidth-mam { + type uint64; + description + "The link's reservable pool1 BW in MAM"; + } + leaf link-attributes { + type uint32; + description + "Deprecated"; + } + leaf is-attribute-incomplete { + type boolean; + description + "TRUE if one or more affinity definition(s) + is/are unknown"; + } + leaf is-name-based-attribute { + type boolean; + description + "TRUE, if name based attribute style is in effect"; + } + leaf te-metric { + type uint32; + description + "The link's TE metric"; + } + leaf is-te-metric-valid { + type boolean; + description + "Flag to indicate whether the link's TE metric is + a valid value"; + } + list link-extended-attribute { + description + "The link's extended attribute bit map"; + leaf entry { + type uint32; + description + "The link's extended attribute bit map"; + } + } + list link-forwad-ref-value { + description + "Reference bits for undefined affinity names"; + leaf entry { + type uint32; + description + "Reference bits for undefined affinity names"; + } + } + list affinity-map { + description + "Affinity map array"; + uses MPLS-TE-AFFINITY-MAP-INFO; + } + list areas { + description + "Per-area data"; + uses MPLS-LM-INTERFACE-LINK-AREA-INFO; + } + list lockout { + description + "Flex LSP Lockout info"; + uses MPLS-LM-INTERFACE-LOCKOUT-INFO; + } + } + + grouping MPLS-LM-INTERFACE-COMMON-INFO { + description + "Global info about links"; + leaf is-role-standby { + type boolean; + description + "TRUE if Role is Standby, Active otherwise"; + } + leaf links { + type uint16; + description + "The number of links"; + } + leaf maximum-links { + type uint16; + description + "Maximum number of links supported"; + } + } + + grouping MPLS-LM-SUMMARY-DARKBW { + description + "Summary information for bandwidth accounting"; + leaf is-bandwidth-account-enabled { + type boolean; + description + "TRUE if bandwidth accounting is enabled"; + } + leaf sample-interval { + type uint32; + description + "Sample interval for bandwidth accounting stats"; + } + leaf sample-time-remaining { + type uint32; + units "second"; + description + "This value indicates the number of seconds until + the next sample collection"; + } + leaf application-interval { + type uint32; + description + "Application interval for bandwidth accounting + stats"; + } + leaf application-time-remaining { + type uint32; + units "second"; + description + "This value indicates the number of seconds until + the next application"; + } + leaf links-count { + type uint32; + description + "Total number of links"; + } + leaf maximum-links { + type uint32; + description + "Maximum number of links supported"; + } + } + + grouping MPLS-LM-SUMMARY-AREA-INFO { + description + "Summary information of an area"; + leaf area-id { + type string; + description + "Area id"; + } + leaf protocol { + type Igp-protocol; + description + "Protocol running over the area"; + } + leaf is-flooded { + type boolean; + description + "TRUE if flooding occurred in this area"; + } + leaf is-periodic-flooding-on { + type boolean; + description + "TRUE if periodic flooding is on"; + } + leaf periodic-flooding-interval { + type uint16; + units "second"; + description + "Flooding period in seconds"; + } + leaf links-flooded { + type uint16; + description + "Number of flooded links"; + } + leaf system-id { + type string; + description + "IGP id of local node"; + } + leaf local-node-router-id { + type inet:ipv4-address; + description + "Local router id"; + } + leaf igp-neighbors { + type uint16; + description + "Number of IGP neighbors"; + } + } + + grouping MPLS-LM-SUMMARY-COMMON-INFO { + description + "Summary information for all the areas"; + container bandwidth-account-summary { + description + "Bandwidth account summary"; + uses MPLS-LM-SUMMARY-DARKBW; + } + leaf is-role-standby { + type boolean; + description + "TRUE if Role is Standby, Active otherwise"; + } + leaf links { + type uint16; + description + "Total number of links"; + } + leaf maximum-links { + type uint16; + description + "Maximum number of links supported"; + } + leaf is-flooding-enabled { + type boolean; + description + "TRUE if flooding is enabled"; + } + list areas-summary { + description + "Summary info for the areas"; + uses MPLS-LM-SUMMARY-AREA-INFO; + } + } + + grouping MPLS-TE-BANDWIDTH-ACCOUNT-SAMPLE-SR { + description + "Information about a single Segment Routing + bandwidth accounting sample"; + leaf timestamp-nanosec { + type uint64; + units "nanosecond"; + description + "Timestamp in nano-seconds of this sample"; + } + leaf sr-rate { + type uint64; + units "kbit/s"; + description + "Segment Routing traffic rate measured in + Kilobits per second in this sample"; + } + leaf sr-packet-rate { + type uint64; + units "packet/s"; + description + "Segment Routing traffic rate measured in packets + per second in this sample"; + } + } + + grouping MPLS-TE-BANDWIDTH-ACCOUNT-HISTORY-SR { + description + "Segment Routing bandwidth account history"; + list sr-active-interval-sample { + description + "Segment Routing samples in the current + application interval"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-SAMPLE-SR; + } + list sr-previous-interval-sample { + description + "Segment Routing samples in the previous + application interval"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-SAMPLE-SR; + } + } + + grouping MPLS-TE-BANDWIDTH-ACCOUNT-SAMPLE-RSVP { + description + "Information about a single RSVP-TE bandwidth + accounting sample"; + leaf timestamp-nanosec { + type uint64; + units "nanosecond"; + description + "Timestamp in nano-seconds of this sample"; + } + leaf total-rate { + type uint64; + units "kbit/s"; + description + "Total traffic rate measured in Kilobits per + second in this sample"; + } + leaf total-packet-rate { + type uint64; + units "packet/s"; + description + "Total traffic rate measured in packets per + second in this sample"; + } + leaf rsvp-te-rate { + type uint64; + units "kbit/s"; + description + "RSVP-TE traffic rate measured in Kilobits per + second in this sample"; + } + leaf rsvp-te-packet-rate { + type uint64; + units "packet/s"; + description + "RSVP-TE traffic rate measured in packets per + second in this sample"; + } + leaf non-rsvp-te-rate { + type uint64; + units "kbit/s"; + description + "Non-RSVP-TE traffic rate measured in Kilobits + per second in this sample"; + } + leaf non-rsvp-te-packet-rate { + type uint64; + units "packet/s"; + description + "Non-RSVP-TE traffic rate measured in packets per + second in this sample"; + } + } + + grouping MPLS-TE-BANDWIDTH-ACCOUNT-HISTORY-RSVP { + description + "RSVP-TE bandwidth account history"; + list rsvp-te-active-interval-sample { + description + "RSVP-TE samples in the current application + interval"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-SAMPLE-RSVP; + } + list rsvp-te-previous-interval-sample { + description + "RSVP-TE samples in the previous application + interval"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-SAMPLE-RSVP; + } + } + + grouping MPLS-TE-BANDWIDTH-ACCOUNT-BW-UTIL-SR { + description + "Information about Segment Routing bandwidth + utilization in bandwidth accounting"; + leaf sr-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Segment Routing bandwidth utilization measured + in kilobits per second"; + } + leaf sr-adjusted-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Adjusted Segment Routing bandwidth utilization + measured in kilobits per second"; + } + leaf sr-enforced-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Enforced Segment Routing bandwidth utilization + measured in kilobits per second"; + } + } + + grouping MPLS-TE-BANDWIDTH-ACCOUNT-BW-UTIL-RSVP { + description + "Information about RSVP-TE bandwidth utilization + in bandwidth accounting"; + leaf total-link-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Total bandwidth utilization measured in kilobits + per second"; + } + leaf rsvp-te-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "RSVP-TE bandwidth utilization measured in + kilobits per second"; + } + leaf non-rsvp-te-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Non-RSVP-TE bandwidth utilization measured in + kilobits per second"; + } + leaf rsvp-te-adjusted-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Adjusted RSVP-TE bandwidth utilization measured + in kilobits per second"; + } + leaf rsvp-te-enforced-bandwidth-utilization { + type uint64; + units "kbit/s"; + description + "Enforced RSVP-TE bandwidth utilization measured + in kilobits per second"; + } + } + + grouping MPLS-LM-BANDWIDTH-ACCOUNT-LINK-TELEMETRY-INFO { + description + "Telemetry information for bandwidth accounting + per link"; + container rsvp-te-bandwidth-utilization { + description + "RSVP-TE bandwidth utilization information"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-BW-UTIL-RSVP; + } + container sr-bandwidth-utilization { + description + "Segment Routing bandwidth utilization + information"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-BW-UTIL-SR; + } + leaf is-bandwidth-account-enabled { + type boolean; + description + "TRUE if bandwidth accounting is enabled"; + } + leaf application-enforced { + type boolean; + description + "TRUE if application is enforced"; + } + leaf collection-type { + type Bandwidth-accounting-collection; + description + "The type of traffic collected for bandwidth + accounting"; + } + leaf sample-time-remaining-timestamp-nanosec { + type uint64; + units "nanosecond"; + description + "This value indicates the number of nano-seconds + until the next sampling"; + } + leaf last-sample-collection-timestamp-nanosec { + type uint64; + units "nanosecond"; + description + "Timestamp for the last sample collection in + nano-seconds"; + } + leaf next-sample-collection-nanosec { + type uint64; + units "nanosecond"; + description + "Timestamp for the next sample collection in + nano-seconds"; + } + leaf application-time-remaining-nanosec { + type uint64; + units "nanosecond"; + description + "This value indicates the number of nano-seconds + until the next application"; + } + leaf last-application-timestamp-nanosec { + type uint64; + units "nanosecond"; + description + "Timestamp for the last application in + nano-seconds"; + } + leaf next-application-timestamp-nanosec { + type uint64; + units "nanosecond"; + description + "Timestamp for the next application in + nano-seconds"; + } + leaf effective-maximum-reservable-bandwidth { + type uint64; + description + "Maximum reservable bandwidth effective"; + } + } + + grouping MPLS-LM-BANDWIDTH-ACCOUNT-LINK-TEL-DET-INFO { + description + "Detail telemetry bandwidth accounting information + per link"; + container common-info { + description + "Information for bandwidth accounting telemetry"; + uses MPLS-LM-BANDWIDTH-ACCOUNT-LINK-TELEMETRY-INFO; + } + container rsvp-te-sample-history { + description + "History of bandwidth accounting RSVP-TE samples"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-HISTORY-RSVP; + } + container sr-sample-history { + description + "History of bandwidth accounting Segment Routing + samples"; + uses MPLS-TE-BANDWIDTH-ACCOUNT-HISTORY-SR; + } + leaf link-id { + type string; + description + "The link's ID"; + } + } + + grouping MPLS-TE-MGMT-WDM-CAPABILITIES { + description + "GMPLS WDM Capabilities"; + leaf grid { + type Gmpls-uni-mgmt-wdm-grid; + description + "Grid"; + } + leaf channel-spacing { + type Gmpls-uni-mgmt-dwdm-cs; + description + "Channel spacing"; + } + leaf default-channel { + type int16; + description + "Default channel number"; + } + list usable-channel { + description + "List of usable channels"; + leaf entry { + type int16; + description + "List of usable channels"; + } + } + } + + grouping MPLS-TE-MGMT-WDM-UNI-LINK { + description + "GMPLS WDM-UNI link"; + container wdm-capabilities { + description + "WDM capabilities"; + uses MPLS-TE-MGMT-WDM-CAPABILITIES; + } + leaf link-exists { + type boolean; + description + "Flag to indicate whether the link exists in the + system"; + } + leaf admin-state-up { + type boolean; + description + "Is the interface administratively UP"; + } + leaf oper-state-up { + type boolean; + description + "Is the interface operationally UP"; + } + leaf bw-locked-upstream { + type boolean; + description + "Is the interface bandwidth locked in the + upstream direction"; + } + leaf bw-locked-downstream { + type boolean; + description + "Is the interface bandwidth locked in the + downstream direction"; + } + leaf admitted-lsp-id { + type uint16; + description + "LSP-ID admitted on this optical link. Not valid + if neither the upstream nor downstream bandwidth + is locked"; + } + leaf lmp-router-id { + type inet:ipv4-address; + description + "LMP GMPLS Optical-UNI router-id"; + } + leaf lmp-adj-state-up { + type boolean; + description + "Is the LMP optical adjacency UP"; + } + leaf lmpipcc-state-up { + type boolean; + description + "If the LMP IP control channel up ?"; + } + leaf lmp-neighbor-name { + type string; + description + "LMP neighbor Name"; + } + leaf lmp-neighbor-router-id { + type inet:ipv4-address; + description + "LMP neighbor router ID addres"; + } + leaf lmp-neighbor-ipcc-address { + type inet:ipv4-address; + description + "The LMP neighbor's IPCC address"; + } + leaf lmp-local-ipcc-address { + type inet:ipv4-address; + description + "The LMP local IPCC address"; + } + leaf lmp-local-interface-id { + type uint32; + description + "The LMP local interface ID"; + } + leaf lmp-neighbor-interface-id { + type uint32; + description + "The LMP neighbor interface ID"; + } + leaf lmp-local-link-id { + type inet:ipv4-address; + description + "The LMP local Link ID"; + } + leaf lmp-neighbor-link-id { + type inet:ipv4-address; + description + "The LMP neighbor Link ID"; + } + leaf lmp-local-switching-capability { + type Igpte-link-switch-capability; + description + "The LMP local link switching capability"; + } + leaf lmp-neighbor-switching-capability { + type Igpte-link-switch-capability; + description + "The LMP neighbor link switching capability"; + } + leaf lmp-local-encoding { + type Igpte-link-encoding-protocol; + description + "The LMP local link encoding type"; + } + leaf local-link-gpid { + type uint16; + description + "The GPID of the local link"; + } + leaf srl-gs-announced { + type boolean; + description + "TRUE if discovered SRLGs are announced to L3 + interface"; + } + leaf srlg-announced-interface { + type string; + description + "The L3 interface that discovered SRLGs are + announced to"; + } + leaf local-link-switching-type { + type Igpte-link-switch-capability; + description + "Locally-configured switching type on this link"; + } + leaf local-link-mtu { + type uint16; + description + "The MTU of the local link"; + } + list local-srlg { + description + "Locally-configured SRLGs on this link"; + leaf entry { + type uint32; + description + "Locally-configured SRLGs on this link"; + } + } + } + + grouping MPLS-TE-MGMT-WDM-UNI-CONTROLLER { + description + "A GMPLS WDM-UNI controller"; + container link { + description + "Link properties"; + uses MPLS-TE-MGMT-WDM-UNI-LINK; + } + container labels { + description + "Labels"; + uses MPLS-TE-MGMT-GMPLS-LABELS; + } + container tunnel { + description + "Tunnel info"; + uses MPLS-TE-MGMT-WDM-UNI-TUNNEL-INFO; + } + leaf controller-name-xr { + type string; + description + "Interface Name"; + } + leaf controller-name-brief { + type string; + description + "Brief Interface Name"; + } + leaf child-interface-name { + type string; + description + "Child interface name"; + } + leaf child-interface-state { + type Im-state-enum; + description + "Child Interface State"; + } + } + + grouping MPLS-TE-NNI-OTN-LINK-ADMITTED-S2L-INFO { + description + "Info of S2Ls Admitted to NNI OTN link"; + container s2l-fec { + description + "S2L FEC"; + uses TE-S2L-FEC; + } + } + + grouping MPLS-TE-NNI-OTN-ADMISSION-CONTROL-LINK-INFO { + description + "Information about a given admitted tunnel"; + leaf link-name { + type string; + description + "The link's name"; + } + list admitted-s2l { + description + "Admitted S2Ls"; + uses MPLS-TE-NNI-OTN-LINK-ADMITTED-S2L-INFO; + } + } + + grouping MPLS-TE-NNI-LINK-AREA-INFO { + description + "Information about an area to which the link + belongs"; + container remote-te-link-id { + description + "Remote link id in this topology instance"; + uses TE-ADDR; + } + leaf igp-type { + type Igp-protocol; + description + "IGP type"; + } + leaf igp-instance-id { + type string; + description + "Igp instance ID"; + } + leaf igp-area-id-format { + type Igp-ospf-area-format; + description + "Igp area id format"; + } + leaf igp-area-id { + type uint32; + description + "Igp area id"; + } + leaf te-metric { + type uint32; + description + "The link's TE metric"; + } + leaf uni-link-delay-configured { + type uint32; + description + "Unidirectional Link Delay configured in + micro-sec"; + } + leaf uni-link-delay-computed { + type uint32; + description + "Unidirectional Link Delay computed in micro-sec"; + } + leaf uni-link-delay-to-flood { + type uint32; + description + "Unidirectional Link Delay to flood in micro-sec"; + } + leaf reason-not-flooded { + type Mpls-te-reason-not-flooded; + description + "Reason why link is not flooded"; + } + leaf igp-area-address { + type inet:ipv4-address; + description + "IGP's area IP address"; + } + } + + grouping MPLS-TE-NNI-OTN-LINK-INFO { + description + "IGP and area information of a TE NNI OTN link"; + container local-link-id { + description + "Local TE link ID"; + uses TE-ADDR; + } + container odu-link-capabilities { + description + "ODU capabilities of Link"; + uses ODU-LINK-CAPABILITIES; + } + leaf link-name { + type string; + description + "The link's name"; + } + leaf interface-handle { + type xr:Interface-name; + description + "Link interface handle"; + } + leaf link-state { + type Te-controller-state; + description + "Link state"; + } + leaf resource-provider { + type Resource-provider; + description + "The link's resource provider"; + } + leaf physical-bandwidth { + type Otu; + description + "The link's physical bandwidth"; + } + leaf tti-mode { + type Tti-mode; + description + "SM,PM or TCM mode for controller"; + } + leaf tandem-connection-monitoring { + type uint8; + description + "Tandem connection monitoring to carry link id, 0 + if PM"; + } + leaf igp-neighbors-count { + type uint16; + description + "The link's neighbor count"; + } + leaf link-attributes { + type uint32; + description + "Deprecated"; + } + leaf is-attribute-incomplete { + type boolean; + description + "TRUE if one or more affinity definition(s) + is/are unknown"; + } + leaf is-name-based-attribute { + type boolean; + description + "TRUE, if name based attribute style is in effect"; + } + list link-extended-attribute { + description + "The link's extended attribute bit map"; + leaf entry { + type uint32; + description + "The link's extended attribute bit map"; + } + } + list link-forwad-ref-value { + description + "Reference bits for undefined affinity names"; + leaf entry { + type uint32; + description + "Reference bits for undefined affinity names"; + } + } + list srl-gs { + description + "The link's shared risk link groups"; + uses MPLS-SRLG-INFO; + } + list igp-areas { + description + "Per-IGP area data"; + uses MPLS-TE-NNI-LINK-AREA-INFO; + } + list affinity-map { + description + "Affinity map array"; + uses MPLS-TE-AFFINITY-MAP-INFO; + } + } + + grouping MPLS-TE-NNI-OTN-SUMMARY-INFO { + description + "Global info about links"; + leaf is-role-standby { + type boolean; + description + "TRUE if Role is Standby, False if Active"; + } + leaf nni-otn-links { + type uint16; + description + "The number of NNI OTN links"; + } + leaf nni-otn-links-max { + type uint16; + description + "Maximum number of NNI links supported"; + } + } + + grouping MPLS-LM-BW-LINK-BW-POOL-INFO { + description + "Information about the bandwidth of a given pool + and priority"; + leaf hold-priority { + type uint8; + description + "The BW priority"; + } + leaf held-amount { + type uint32; + description + "The held bandwidth"; + } + leaf total-held-amount { + type uint32; + description + "The total held bandwidth"; + } + leaf locked-amount { + type uint32; + description + "The locked bandwidth"; + } + leaf total-locked-amount { + type uint32; + description + "The total locked bandwidth"; + } + } + + grouping MPLS-LM-BW-LINK-DIR-BW-INFO { + description + "Information about the bandwidth of a given link."; + leaf bandwidth-direction { + type Link-direction-enum; + description + "BW Direction"; + } + leaf is-admission-method-allocated-bandwidth { + type boolean; + description + "True if the link's admit method is based on + Allocated BW"; + } + leaf bandwidth-units { + type Bandwidth-unit-enum; + description + "Bandwidth units"; + } + list bandwidth-pool0 { + max-elements "8"; + description + "Pool0 BW info for the different priority levels"; + uses MPLS-LM-BW-LINK-BW-POOL-INFO; + } + list bandwidth-pool1 { + max-elements "8"; + description + "Pool1 BW info for the different priority levels"; + uses MPLS-LM-BW-LINK-BW-POOL-INFO; + } + } + + grouping MPLS-LM-FLOODED-AREA { + description + "Information for the flooded area"; + leaf flooded-area { + type string; + description + "The flooded area information"; + } + } + + grouping MPLS-LM-LINK-FLAGS { + description + "Link properties"; + leaf is-mpls-te-on { + type boolean; + description + "Deprecated - TRUE if the link is a TE-Link"; + } + leaf signaling-agent { + type Signaling-agent-enum; + description + "Deprecated - Signaling agent"; + } + leaf is-admin-up { + type boolean; + description + "TRUE if the link is admin up"; + } + } + + grouping MPLS-LM-INTF-SWITCHING-CAP-INFO { + description + "Information about the Interface Switching + Capability Descriptor (IXCD)"; + leaf key { + type uint8; + description + "The switching capability descriptor key"; + } + leaf switching-capability { + type uint8; + description + "The switching capability"; + } + leaf encoding { + type uint8; + description + "The link encoding type"; + } + } + + grouping MPLS-LM-COMMON-LINK-INFO { + description + "Link information"; + container link-flags { + description + "The link's flags"; + uses MPLS-LM-LINK-FLAGS; + } + leaf link-id { + type string; + description + "The link's id"; + } + leaf link-address { + type inet:ipv4-address; + description + "The link's ip address"; + } + leaf is-unnumbered { + type boolean; + description + "TRUE if the link is unnumbered"; + } + leaf has-protection { + type boolean; + description + "TRUE if the link is protected"; + } + leaf capability { + type uint32; + description + "The link's protection capability"; + } + leaf working-priority { + type uint32; + description + "The link's working priority"; + } + leaf resource-provider { + type Resource-provider; + description + "The link's resource provider"; + } + leaf is-resource-provider-installed { + type boolean; + description + "TRUE if the resource provider is installed"; + } + leaf bandwidth-units { + type Bandwidth-unit-enum; + description + "The bandwidth units"; + } + leaf physical-bandwidth { + type uint64; + description + "The link's physical bandwidth"; + } + leaf bcm-id { + type uint16; + description + "Bandwidth Constraints Model ID"; + } + leaf maximum-reservable-bandwidth { + type uint64; + description + "The link's maximum reservable BW"; + } + leaf last-flooded-effective-maximum-reservable-bandwidth { + type uint64; + description + "Last flooded max reservable bandwidth effective"; + } + leaf incoming-reservable-bandwidth-percentage { + type uint8; + description + "Incoming reserved BW in %"; + } + leaf outgoing-reservable-bandwidth-percentage { + type uint8; + description + "Outgoing reserved BW in %"; + } + leaf maximum-reservable-pool0-bandwidth { + type uint64; + description + "The link's maximum reservable pool0 BW"; + } + leaf incoming-reservable-pool0-bandwidth-percentage { + type uint8; + description + "Incoming reserved pool0 BW in %"; + } + leaf outgoing-reservable-pool0-bandwidth-percentage { + type uint8; + description + "Outgoing reserved pool0 BW in %"; + } + leaf maximum-reservable-pool1-bandwidth { + type uint64; + description + "The link's maximum reservable pool1 BW"; + } + leaf incoming-reservable-pool1-bandwidth-percentage { + type uint8; + description + "Incoming reserved pool1 BW in %"; + } + leaf outgoing-reservable-pool1-bandwidth-percentage { + type uint8; + description + "Outgoing reserved pool1 BW in %"; + } + leaf inbound-admission-method { + type Admission-policy; + description + "Deprecated"; + } + leaf outbound-admission-method { + type Admission-policy; + description + "Deprecated"; + } + leaf igp-neighbors { + type uint16; + description + "The link's neighbor count"; + } + list shared-risk-link-group { + description + "The link's shared risk link groups"; + uses MPLS-SRLG-INFO; + } + list interface-switching-capability-descriptor { + description + "The link's switching capability descriptor"; + uses MPLS-LM-INTF-SWITCHING-CAP-INFO; + } + list flooded-areas { + description + "List of areas into which the link is flooded"; + uses MPLS-LM-FLOODED-AREA; + } + } + + grouping MPLS-LM-BW-ALLOC-LINK-INFO { + description + "Bandwidth allocation information for a given link"; + container link-common { + description + "The link's common info"; + uses MPLS-LM-COMMON-LINK-INFO; + } + container upstream-bandwidth { + description + "BW info in the upstream direction"; + uses MPLS-LM-BW-LINK-DIR-BW-INFO; + } + container downstream-bandwidth { + description + "BW info in the dnstream direction"; + uses MPLS-LM-BW-LINK-DIR-BW-INFO; + } + leaf total-bandwidth-descriptors { + type uint16; + description + "Number of total BW descriptors"; + } + leaf bandwidth-descriptors { + type uint16; + description + "Number of BW descriptor for the given pool"; + } + leaf bandwidth-pool { + type Bandwidth-type-enum; + description + "type of the BW pool"; + } + leaf flooding-up-thresholds-are-default { + type boolean; + description + "TRUE if the up-threshold are default"; + } + leaf flooding-down-thresholds-are-default { + type boolean; + description + "TRUE if the down-threshold are default"; + } + leaf flooding-up-thresholds-are-global { + type boolean; + description + "TRUE if the up-threshold are global"; + } + leaf flooding-down-thresholds-are-global { + type boolean; + description + "TRUE if the down-threshold are global"; + } + list flooding-up-threshold { + description + "Flooding up-thresholds"; + leaf entry { + type uint8; + description + "Flooding up-thresholds"; + } + } + list flooding-down-threshold { + description + "Flooding down-thresholds"; + leaf entry { + type uint8; + description + "Flooding down-thresholds"; + } + } + } + + grouping MPLS-LM-BW-ALLOC-COMMON-INFO { + description + "Common information about bandwidth allocation"; + leaf is-role-standby { + type boolean; + description + "TRUE if Role is Standby, Active otherwise"; + } + leaf links { + type uint16; + description + "Number of links"; + } + leaf bandwidth-hold-time { + type uint16; + units "second"; + description + "How long to hold the bandwidth (seconds)"; + } + } + + grouping MPLS-LM-STATS-LINK-INFO { + description + "Statistics for a link"; + container incoming-path-statistics { + description + "Deprecated"; + uses MPLS-LM-STATS-COUNTERS; + } + container incoming-reservation-statistics { + description + "Deprecated"; + uses MPLS-LM-STATS-COUNTERS; + } + container outgoing-path-statistics { + description + "Deprecated"; + uses MPLS-LM-STATS-COUNTERS; + } + container outgoing-reservation-statistics { + description + "Deprecated"; + uses MPLS-LM-STATS-COUNTERS; + } + container incoming-path-statistics32-bit { + description + "Incoming PATH counters"; + uses MPLS-LM-STATS-COUNTERS-32-BIT; + } + container incoming-reservation-statistics32-bit { + description + "Incoming RESV counters"; + uses MPLS-LM-STATS-COUNTERS-32-BIT; + } + container outgoing-path-statistics32-bit { + description + "Outgoing PATH counters"; + uses MPLS-LM-STATS-COUNTERS-32-BIT; + } + container outgoing-reservation-statistics32-bit { + description + "Outgoing RESV counters"; + uses MPLS-LM-STATS-COUNTERS-32-BIT; + } + leaf interface-name-xr { + type string; + description + "Link name"; + } + leaf link-address { + type inet:ipv4-address; + description + "Link's ip address"; + } + } + + grouping MPLS-LM-STATS-COUNTERS-32-BIT { + description + "Statistics for Setup and Tear processing (32 bit)"; + leaf setup-requests { + type uint32; + description + "Setup requests"; + } + leaf setup-errors { + type uint32; + description + "Setup errors"; + } + leaf setup-admits { + type uint32; + description + "Setup admits"; + } + leaf setup-rejects { + type uint32; + description + "Setup rejects"; + } + leaf tear-requests { + type uint32; + description + "Tear requests"; + } + leaf tear-errors { + type uint32; + description + "Tear errors"; + } + leaf tear-preempts { + type uint32; + description + "Tear preempts"; + } + } + + grouping MPLS-LM-STATS-COUNTERS { + description + "DEPRECATED, use of mpls_lm_stats_counters_32_bit + recommended"; + leaf setup-requests { + type uint16; + description + "Deprecated"; + } + leaf setup-errors { + type uint16; + description + "Deprecated"; + } + leaf setup-admits { + type uint16; + description + "Deprecated"; + } + leaf setup-rejects { + type uint16; + description + "Deprecated"; + } + leaf tear-requests { + type uint16; + description + "Deprecated"; + } + leaf tear-errors { + type uint16; + description + "Deprecated"; + } + leaf tear-preempts { + type uint16; + description + "Deprecated"; + } + } + + grouping MPLS-LM-STATS-SUMMARY-INFO { + description + "Statistics for Path and Reservation processing"; + container path-statistics { + description + "Deprecated"; + uses MPLS-LM-STATS-COUNTERS; + } + container reservation-statistics { + description + "Deprecated"; + uses MPLS-LM-STATS-COUNTERS; + } + container path-statistics32-bit { + description + "Path counters (32-bit)"; + uses MPLS-LM-STATS-COUNTERS-32-BIT; + } + container reservation-statistics32-bit { + description + "Reservation counters (32-bit)"; + uses MPLS-LM-STATS-COUNTERS-32-BIT; + } + leaf is-role-standby { + type boolean; + description + "TRUE if Role is Standby, Active otherwise"; + } + } + + grouping MPLS-LM-ADV-LINK-RESV-BW { + description + "Information about a link bandwidth"; + leaf priority { + type uint8; + description + "The priority level of this bandwidth"; + } + leaf pool0-bandwidth { + type uint32; + description + "The reservable pool0 BW at this priority"; + } + leaf pool1-bandwidth { + type uint32; + description + "The reservable pool1 BW at this priority"; + } + } + + grouping MPLS-LM-ADV-FLOODED-LINK { + description + "Information about a flooded link"; + container odu-link-capabilities { + description + "ODU Link Capabilities"; + uses ODU-LINK-CAPABILITIES; + } + leaf link-id { + type uint16; + description + "The link's id"; + } + leaf interface-name { + type string; + description + "The link's interface name"; + } + leaf link-address { + type inet:ipv4-address; + description + "The link's IPv4 address"; + } + leaf subnet-type { + type Igp-subnet; + description + "The link's subnet type"; + } + leaf outgoing-interface-id { + type uint32; + description + "The link's outgoing interface's id"; + } + leaf is-designated-router { + type boolean; + description + "TRUE if the link belongs to a desig. router"; + } + leaf designated-router-igp-id { + type string; + description + "IGP id of the designated router"; + } + leaf neighbor-igp-id { + type string; + description + "The neighbor's IGP id"; + } + leaf igp-neighbor-address { + type inet:ipv4-address; + description + "The neighbor's ip address"; + } + leaf incoming-interface-id { + type uint32; + description + "The link's incoming interface's id"; + } + leaf te-metric { + type uint32; + description + "The link's TE metric"; + } + leaf igp-metric { + type uint32; + description + "The link's IGP metric"; + } + leaf uni-link-delay { + type uint32; + description + "Unidirectional Link Delay in micro-sec"; + } + leaf bandwidth-units { + type Bandwidth-unit-enum; + description + "The link's bandwidth units"; + } + leaf physical-bandwidth { + type uint32; + description + "The link's physical BW"; + } + leaf bcm-id { + type uint16; + description + "Bandwidth Constraints Model ID"; + } + leaf link-maximum-reservable-bandwidth { + type uint32; + description + "The link's maximum reservable BW"; + } + leaf reservable-pool0-bandwidth { + type uint32; + description + "The link's reservable pool0 BW"; + } + leaf reservable-pool1-bandwidth { + type uint32; + description + "The link's reservable pool1 BW"; + } + leaf is-receiving-reservable-bandwidth-enabled { + type boolean; + description + "TRUE if receiving reservable BW is enabled"; + } + leaf receiving-direction { + type Link-direction-enum; + description + "Upstream or Downstream"; + } + leaf is-transmitting-reservable-bandwidth-enabled { + type boolean; + description + "TRUE if transmitting reservable BW is enabled"; + } + leaf transmitting-direction { + type Link-direction-enum; + description + "Upstream or Downstream"; + } + leaf affinity-attribute-flags { + type uint32; + description + "Deprecated"; + } + list extended-affinity-attribute-flag { + description + "The link's extended affinity bits"; + leaf entry { + type uint32; + description + "The link's extended affinity bits"; + } + } + list shared-risk-link-group { + description + "The link's shared risk link groups"; + uses MPLS-SRLG-INFO; + } + list receiving-reservable-bandwidth { + max-elements "8"; + description + "Receiving reservable BW at each priority + level(priority 0 to priority 7)"; + uses MPLS-LM-ADV-LINK-RESV-BW; + } + list transmitting-reservable-bandwidth { + max-elements "8"; + description + "Transmitting reservable BW at each priority + level (priority 0 to priority 7)"; + uses MPLS-LM-ADV-LINK-RESV-BW; + } + } + + grouping MPLS-LM-ADV-CONFIGURED-AREA { + description + "The information about an advertized area"; + leaf igp-area-id { + type string; + description + "The area id"; + } + leaf protocol { + type Igp-protocol; + description + "The IGP protocol running over this area"; + } + leaf system-id { + type string; + description + "The node's system id"; + } + leaf router-id { + type inet:ipv4-address; + description + "The node's router ID"; + } + list flooded-link { + description + "The array of flooded links in this area"; + uses MPLS-LM-ADV-FLOODED-LINK; + } + } + + grouping MPLS-LM-ADVERTISEMENT-INFO { + description + "Information about all the advertized areas"; + leaf flooding-status-message { + type string; + description + "Flooding status: ready or reason"; + } + leaf last-flooding-time { + type uint32; + units "second"; + description + "Time elapsed since last flooding in seconds"; + } + leaf last-flooding-trigger { + type Flooding-trigger; + description + "Trigger for last flooding"; + } + leaf next-flooding-time { + type uint32; + units "second"; + description + "Time remained for next flooding in seconds"; + } + leaf ds-te-mode { + type Rrr-dste-migration-mode; + description + "DS-TE Mode"; + } + list advertized-areas { + description + "Advertising info for all the IGP areas"; + uses MPLS-LM-ADV-CONFIGURED-AREA; + } + } + + grouping MPLS-LM-PREEMPTED-LSP { + description + "Preempted LSP info"; + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf lsp-id { + type uint16; + description + "LSP ID"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination"; + } + leaf requested-bandwidth { + type uint64; + description + "The path's requested bandwidth"; + } + leaf setup-priority { + type uint8; + description + "The path's setup priority"; + } + leaf hold-priority { + type uint8; + description + "The path's hold priority"; + } + leaf bandwidth-type { + type uint8; + description + "The path's bandwidth type; 0:BC0, 1:BC1, so on"; + } + leaf soft-preempted { + type boolean; + description + "TRUE is the preemption is a soft preemption"; + } + leaf soft-preemption-timeout { + type uint16; + units "second"; + description + "If the soft preemption is underway, this value + indicates the number of seconds before hard + preemption is triggered"; + } + leaf bandwidth-preempted { + type boolean; + description + "LSPs bandwidth is already preempted"; + } + leaf soft-preempted-fr-rrewrite { + type boolean; + description + "FRR-rewrite is done during soft preemption"; + } + } + + grouping MPLS-LM-PREEMPTION-EVENT { + description + "Preemption event info"; + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf lsp-id { + type uint16; + description + "LSP ID"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination"; + } + leaf requested-bandwidth { + type uint64; + description + "The path's requested bandwidth"; + } + leaf setup-priority { + type uint8; + description + "The path's setup priority"; + } + leaf hold-priority { + type uint8; + description + "The path's hold priority"; + } + leaf bandwidth-type { + type uint8; + description + "The path's bandwidth type; 0:CT0, 1:CT1, so on"; + } + leaf old-bandwidth-bc0 { + type uint64; + description + "Old BW for BC0"; + } + leaf old-bandwidth-bc1 { + type uint64; + description + "Old BW for BC1"; + } + leaf new-bandwidth-bc0 { + type uint64; + description + "New BW for BC0"; + } + leaf new-bandwidth-bc1 { + type uint64; + description + "New BW for BC1"; + } + leaf bandwidth-overshoot0 { + type uint64; + description + "BW Overshoot for BC0"; + } + leaf bandwidth-overshoot1 { + type uint64; + description + "BW Overshoot for BC1"; + } + leaf interface-name { + type string; + description + "Interface name"; + } + leaf event-time { + type uint32; + units "second"; + description + "Event time; seconds elapsed since January 1, + 1970"; + } + leaf ls-ps { + type uint16; + description + "Number of LSPs (not all may be present in the + list)"; + } + leaf soft-preempted-ls-ps { + type uint16; + description + "Number of LSPs softly preempted"; + } + leaf soft-preempted-ls-ps-fr-rrewrite { + type uint16; + description + "Number of LSPs softly preempted with traffic + switched to backup"; + } + leaf hard-preempted-ls-ps { + type uint16; + description + "Number of LSPs hardly preempted"; + } + leaf total-preempted-bandwidth-bc0 { + type uint64; + description + "Total amount of preempted class 0 bandwidth"; + } + leaf total-preempted-bandwidth-bc1 { + type uint64; + description + "Total amount of preempted class 1 bandwidth"; + } + leaf softly-preempted-bandwidth-bc0 { + type uint64; + description + "Amount of softly preempted class 0 bandwidth"; + } + leaf softly-preempted-bandwidth-bc1 { + type uint64; + description + "Amount of softly preempted class 1 bandwidth"; + } + leaf soft-preempted-fr-rrewrite-bandwidth-bc0 { + type uint64; + description + "Amount of softly preempted FRR RW class 0 + bandwidth"; + } + leaf soft-preempted-fr-rrewrite-bandwidth-bc1 { + type uint64; + description + "Amount of softly preempted FRR RW class 1 + bandwidth"; + } + leaf hard-preempted-bandwidth-bc0 { + type uint64; + description + "Amount of hard preempted class 0 bandwidth"; + } + leaf hard-preempted-bandwidth-bc1 { + type uint64; + description + "Amount of hard preempted class 1 bandwidth"; + } + leaf tunnels { + type uint16; + description + "Number of Tunnels"; + } + leaf soft-preempted-tunnels { + type uint16; + description + "Number of Tunnels softly preempted"; + } + leaf soft-preempted-tunnels-fr-rrewrite { + type uint16; + description + "Number of Tunnels softly preempted with traffic + switched to backup"; + } + leaf hard-preempted-tunnels { + type uint16; + description + "Number of Tunnels hardly preempted"; + } + list lsp { + description + "List of preempted LSPs"; + uses MPLS-LM-PREEMPTED-LSP; + } + } + + grouping MPLS-LM-IGP-NBR-INFO { + description + "Neighbor information"; + leaf interface-name { + type string; + description + "The interface on which this neighbor is + discovered"; + } + leaf neighbor-id { + type string; + description + "The neighbor's id"; + } + leaf area-id { + type string; + description + "The area id"; + } + leaf neighbor-address { + type inet:ipv4-address; + description + "The neighbor's IP address"; + } + } + + grouping MPLS-LM-IGP-NBRS-LINK-INFO { + description + "Neighbor information based on the link"; + list neighbor { + description + "Neighbors of the specified link id"; + uses MPLS-LM-IGP-NBR-INFO; + } + } + + grouping MPLS-TE-AFFINITY-MAP-BAG { + description + "A set of affinity maps"; + list affinity-map-array { + description + "Affinity map array"; + uses MPLS-TE-AFFINITY-MAP-INFO; + } + } + + grouping TE-AUTO-TUN-EXP-PATH-HOP { + description + "Auto Tunnel Explicit Path Hop"; + leaf hop-type { + type Te-auto-tun-exp-path-hop; + description + "Hop Type"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf mpls-label { + type uint32; + description + "MPLS Label"; + } + } + + grouping TE-AUTO-TUN-REQ-EXP-PATH-TUN-INFO { + description + "Auto tunnel request explicit path tunnel info"; + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf tunnel-up { + type boolean; + description + "Tunnel Up"; + } + leaf ipv6-caps { + type boolean; + description + "IPv6 Capsulation"; + } + } + + grouping TE-AUTO-TUN-REQ-EXP-PATH { + description + "Auto Tunnel Explicit Path"; + container tunnel-info { + description + "Auto tunnel info"; + uses TE-AUTO-TUN-REQ-EXP-PATH-TUN-INFO; + } + leaf context-id { + type uint32; + description + "Explicit Path Context ID"; + } + leaf path-weight { + type uint32; + description + "Path Weight"; + } + leaf is-stale { + type boolean; + description + "Is Stale"; + } + leaf is-synced { + type boolean; + description + "Is Synced"; + } + leaf programmed-in-fib { + type boolean; + description + "Programmed in FIB"; + } + list hops { + description + "Path Hops"; + uses TE-AUTO-TUN-EXP-PATH-HOP; + } + } + + grouping TE-END-POINT { + description + "TE End Point"; + leaf address-family-type { + type Mpls-te-afi; + description + "AddressFamilyType"; + } + leaf ipv4-address { + when "../address-family-type = 'ipv4-unicast'" { + description + "../AddressFamilyType = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf ipv6-address { + when "../address-family-type = 'ipv6-unicast'" { + description + "../AddressFamilyType = 'IPv6Unicast'"; + } + type In-addr-ipv6; + description + "IPv6 Address"; + } + } + + grouping TE-SERVICE-SR-POLICY { + description + "Auto Tunnel Request Context"; + container end-point-xr { + description + "End Point"; + uses TE-END-POINT; + } + leaf sr-policy-id { + type uint32; + description + "SR Policy ID"; + } + leaf policy-active { + type boolean; + description + "Policy Active"; + } + leaf client-id-xr { + type uint32; + description + "Client ID"; + } + leaf client-name { + type string; + description + "Client Name"; + } + leaf color-xr { + type uint32; + description + "Color"; + } + leaf distinguisher-xr { + type uint32; + description + "SR Policy Distinguisher value"; + } + leaf ipv6-caps { + type boolean; + description + "IPv6 Capsulation"; + } + leaf binding-sid-context-id { + type uint32; + description + "Binding SID Context ID"; + } + leaf requested-binding-sid { + type uint32; + description + "Requested Binding SID"; + } + leaf binding-sid-request-pending { + type boolean; + description + "Binding SID Request Pending"; + } + leaf allocated-binding-sid { + type uint32; + description + "Allocated Binding SID"; + } + leaf rewrite-request-pending { + type boolean; + description + "Rewrite Requeste Pending"; + } + leaf rewrite-done { + type boolean; + description + "Rewrite Done"; + } + leaf is-stale { + type boolean; + description + "Is Stale"; + } + leaf is-synced { + type boolean; + description + "Is Synced"; + } + leaf notify-time { + type uint32; + description + "Notify Time"; + } + leaf notify-state-is-active { + type boolean; + description + "Notify State Is Active"; + } + leaf creation-time { + type uint64; + units "nanosecond"; + description + "SR policy structure creation timestamp + (clocktime in nsecs)"; + } + list explicit-path { + description + "Explicit Paths"; + uses TE-AUTO-TUN-REQ-EXP-PATH; + } + } + + grouping MPLS-TE-BFD-SUMMARY { + description + "TE BFD Summary Info"; + leaf tunnel-count-total { + type uint16; + description + "Total number of tunnel interface"; + } + leaf tunnel-count-bfd-enabled { + type uint16; + description + "Number of tunnel interface with BFD enabled"; + } + leaf tunnel-count-session-up { + type uint16; + description + "Number of tunnel with BFD session in up state"; + } + leaf tunnel-count-sbfd-enabled { + type uint16; + description + "Number of tunnel interface with SBFD enabled"; + } + leaf tunnel-count-sbfd-session-up { + type uint16; + description + "Number of tunnel with SBFD session in up state"; + } + leaf head-lsp-count-session-created { + type uint16; + description + "Number of head end LSP with BFD session created"; + } + leaf head-lsp-count-up { + type uint16; + description + "Number of head end LSP with BFD session in up + state"; + } + leaf tail-lsp-count-session-created { + type uint16; + description + "Number of tail end LSP with BFD session created"; + } + leaf tail-lsp-count-session-up { + type uint16; + description + "Number of tail end LSP with BFD session in up + state"; + } + leaf head-lsp-count-sbfd-session-created { + type uint16; + description + "Number of head end LSP with SBFD session created"; + } + leaf head-lsp-count-sbfd-up { + type uint16; + description + "Number of head end LSP with SBFD session in up + state"; + } + leaf link-count-bfd-enabled { + type uint16; + description + "Number of link with BFD enabled"; + } + leaf link-count-session-created { + type uint16; + description + "Number of link with BFD session created"; + } + leaf link-count-session-up { + type uint16; + description + "Number of link with BFD session in state Up"; + } + } + + grouping MPLS-TE-TAIL-BFD-LSP-INFO { + description + "TE Tail End BFDOverLSP Info"; + container lsp-fec { + description + "FEC for the LSP"; + uses TE-LSP-FEC; + } + leaf signaled-name { + type string; + description + "Signaled Name"; + } + leaf bfd-session-state { + type Te-bfd-lsp-session-state; + description + "BFD Session State"; + } + } + + grouping MPLS-TE-HEAD-BFD-LSP-INFO { + description + "TE Head End BFDOverLSP Info"; + leaf lsp-id { + type uint16; + description + "LSP ID"; + } + leaf bfd-session-state { + type Te-bfd-lsp-session-state; + description + "BFD Session State"; + } + } + + grouping MPLS-TE-HEAD-BFD-VIF-INFO { + description + "TE Head End Tunnel BFD Info"; + container current-lspbfd-info { + description + "Current LSP BFD Info"; + uses MPLS-TE-HEAD-BFD-LSP-INFO; + } + container standby-lspbfd-info { + description + "Standby LSP BFD Info"; + uses MPLS-TE-HEAD-BFD-LSP-INFO; + } + container reoptimized-lspbfd-info { + description + "Reoptimized LSP BFD Info"; + uses MPLS-TE-HEAD-BFD-LSP-INFO; + } + leaf tunnel-name-xr { + type string; + description + "Tunnel name"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination Address"; + } + leaf lspbfd-type { + type Te-vif-bfd; + description + "LSP BFD type"; + } + } + + grouping TE-LSP-OOR-STATS { + description + "LSP OOR statistics"; + leaf transitions { + type uint32; + description + "Number of transitions to this state"; + } + leaf rejected-ls-ps-number { + type uint32; + description + "Number of LSPs that were rejected in this state"; + } + leaf accepted-ls-ps-number { + type uint32; + description + "Number of LSPs that were accepted in this state"; + } + leaf accepted-reopt-ls-ps-number { + type uint32; + description + "Number of Reoptimize LSPs that were accepted in + this state"; + } + leaf rejected-reopt-ls-ps-number { + type uint32; + description + "Number of Reoptimize LSPs that were rejected in + this state"; + } + } + + grouping TE-LSP-OOR-STATE-INFO { + description + "LSP OOR State Information"; + container statistics { + description + "LSP OOR Statistics"; + uses TE-LSP-OOR-STATS; + } + leaf lsp-oor-state { + type Lsp-oor-state; + description + "The LSP-OOR state that this information belongs + to"; + } + leaf threshold-transit-all { + type uint32; + description + "The number of transit LSPs that triggers OOR + state transition"; + } + leaf threshold-transit-unprotected { + type uint32; + description + "The number of unprotected transit LSPs that + triggers OOR state transition"; + } + leaf te-metric-penalty { + type uint32; + description + "The TE metric penalty when the link is in this + LSP OOR state"; + } + leaf available-bw-percentage { + type uint32; + units "percentage"; + description + "The flooded percentage of available bandwidth + advertized when the link is in this LSP OOR + state"; + } + leaf transition-duration { + type uint32; + units "minute"; + description + "Recovery in minutes after the green LSP OOR + state is entered."; + } + leaf minimum-lsp-bandwidth { + type uint32; + description + "Minimum LSP bandwidth so the LSP is admitted + when the link is in this LSP OOR state"; + } + leaf accept-reopt { + type boolean; + description + "Make-before-break is allowed for LSPs + reoptimizing over the same link in the LSP OOR + state"; + } + } + + grouping TE-LSP-OOR-INFO { + description + "LSP OOR parameters for MPLS-TE"; + leaf transit-lsp-total-count { + type uint32; + description + "Number of all transit LSPs on the router"; + } + leaf transit-lsp-unprotected-count { + type uint32; + description + "Number of unprotected transit LSPs on the router"; + } + leaf lsp-oor-state { + type Lsp-oor-state; + description + "The current LSP OOR state"; + } + leaf lsp-oor-timestamp { + type uint32; + description + "Timestamp when the OOR state last changed"; + } + leaf lsp-oor-green-recovery-time { + type uint32; + units "second"; + description + "Time Remaining in Green Recovery State (seconds)"; + } + list lsp-oor-state-xr { + max-elements "3"; + description + "Array of LSP OOR info per state"; + uses TE-LSP-OOR-STATE-INFO; + } + } + + grouping MPLS-TE-SR-S2L-PATH-BAG { + description + "Segment-Routing S2L path"; + leaf is-primary { + type boolean; + description + "True if path is primary"; + } + leaf is-backup { + type boolean; + description + "True if path is backup"; + } + leaf outgoing-interface { + type string; + description + "Outgoing Interface Name"; + } + leaf path-id { + type uint32; + description + "Path Identifier"; + } + leaf backup-path-id { + type uint32; + description + "Backup Path Identifier"; + } + leaf next-hop { + type inet:ipv4-address; + description + "Next hop"; + } + list outgoing-labels-stack { + description + "Outgoing Labels Stack"; + leaf entry { + type uint32; + description + "Outgoing Labels Stack"; + } + } + } + + grouping MPLS-TE-S2L-FORWARDING-S2L-ID-BAG { + description + "S2L Forwarding identifiers"; + leaf destination-address { + type inet:ipv4-address; + description + "Destination"; + } + leaf sub-group-id { + type uint16; + description + "S2L Sub-Group ID"; + } + leaf sub-group-original-id { + type inet:ipv4-address; + description + "S2L Sub-Group Originator ID"; + } + } + + grouping TE-S2L-OUTPUT-RW-FIELDS-BAG { + description + "An entry of output label rewrite data"; + container primary-s2l { + description + "Properties of the S2L rewrite"; + uses TE-S2L-OUTPUT-RW-OUTPUT-INFO-BAG; + } + container backup-tunnel-rewrite { + description + "Properties of the S2L's backup tunnel rewrite"; + uses TE-S2L-OUTPUT-RW-OUTPUT-INFO-BAG; + } + leaf timestamp { + type uint32; + units "second"; + description + "Time stamp of the entry (secs since 1/1/70)"; + } + leaf out-rewrite-role { + type Mpls-te-tunnel-role; + description + "Role of the associated S2L"; + } + leaf label { + type uint32; + description + "Local label of the rewrite"; + } + leaf backup-active { + type boolean; + description + "Backup is active"; + } + leaf s2l-source { + type inet:ipv4-address; + description + "Source of the S2L"; + } + leaf explicit-null { + type Te-s2l-output-rw-explicit-null; + description + "Imposition of explicit NULL"; + } + leaf protocol-transported { + type uint16; + description + "Protocol transported in the S2L"; + } + } + + grouping TE-S2L-OUTPUT-RW-FEC-SUBFAMILY-BAG { + description + "LMRIB S2L Output label rewrite FEC subfamily"; + container lsp-fec { + description + "LSP FEC"; + uses TE-LSP-FEC; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next hop address"; + } + leaf previous-hop-address { + type inet:ipv4-address; + description + "Previous hop address"; + } + leaf next-next-hop-address { + type inet:ipv4-address; + description + "Next Next hop address"; + } + } + + grouping MPLS-TE-S2L-OUTPUT-RW-BAG { + description + "S2L output rewrite"; + container subfamily { + description + "Subfamily identifiers"; + uses TE-S2L-OUTPUT-RW-FEC-SUBFAMILY-BAG; + } + container successful-rewrite { + description + "Successful rewrite details"; + uses TE-S2L-OUTPUT-RW-FIELDS-BAG; + } + container failed-rewrite { + description + "Failed rewrite details"; + uses TE-S2L-OUTPUT-RW-FIELDS-BAG; + } + container pending-rewrite { + description + "Pending rewrite details"; + uses TE-S2L-OUTPUT-RW-FIELDS-BAG; + } + } + + grouping MPLS-TE-S2L-FORWARDING-BAG { + description + "Output label forwarding details for S2Ls"; + container s2l-output-rewrite { + description + "Output rewrite shared between S2Ls"; + uses MPLS-TE-S2L-OUTPUT-RW-BAG; + } + leaf original-input-interface { + type string; + description + "Input interface of the S2Ls"; + } + leaf output-interface-name { + type string; + description + "The output interface of the S2Ls"; + } + leaf backup-tunnel-name { + type string; + description + "Backup tunnel name"; + } + leaf is-segment-routing { + type boolean; + description + "TRUE if the s2l path is Segment-Routing"; + } + list s2l { + description + "Unique identifiers for the S2L sharing the + rewrite"; + uses MPLS-TE-S2L-FORWARDING-S2L-ID-BAG; + } + list s2lsr-path { + description + "Segment-Routing Paths"; + uses MPLS-TE-SR-S2L-PATH-BAG; + } + } + + grouping TE-S2L-TUN-RW-FIELDS-P2MP-BAG { + description + "LMRIB Tunnel rewrite fields"; + leaf local-label { + type uint32; + description + "Local Label"; + } + } + + grouping TE-S2L-OUTPUT-RW-OUTPUT-INFO-BAG { + description + "Output rewrite tunnel information"; + leaf physica-interface-name { + type xr:Interface-name; + description + "Physical interface associated with the entry"; + } + leaf tunnel-interface-name { + type xr:Interface-name; + description + "Interface handle of the associated tunnel"; + } + leaf parent-interface-name { + type xr:Interface-name; + description + "Interface name of the parent intf"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next hop address associated with the entry"; + } + leaf out-label { + type uint32; + description + "Output label associated with the entry"; + } + list sr-label-stack { + description + "Segment-Routing labels stack"; + leaf entry { + type uint32; + description + "Segment-Routing labels stack"; + } + } + } + + grouping TE-S2L-TUN-RW-FIELDS-P2P-BAG { + description + "LSD Tunnel rewrite fields"; + container primary-s2l { + description + "Properties of the primary S2L of tunnel rewrite"; + uses TE-S2L-OUTPUT-RW-OUTPUT-INFO-BAG; + } + container backup-tunnel-rewrite { + description + "Properties of the S2L's backup for tunnel + rewrite"; + uses TE-S2L-OUTPUT-RW-OUTPUT-INFO-BAG; + } + leaf local-label { + type uint32; + description + "Local label of the tunnel rewrite"; + } + leaf tunnel-id { + type uint16; + description + "Tunnel ID for this rewrite data"; + } + leaf source-pe { + type inet:ipv4-address; + description + "source address of the tunnel"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "Extended Tunnel ID"; + } + leaf backup-active { + type boolean; + description + "FRR is active on the backup tunnel"; + } + leaf original-input-interface { + type string; + description + "Input interface of the S2Ls"; + } + leaf previous-hop-address { + type inet:ipv4-address; + description + "Previous hop"; + } + leaf output-interface-name { + type string; + description + "The output interface of the S2Ls"; + } + leaf backup-tunnel-name { + type string; + description + "Backup tunnel name"; + } + } + + grouping TE-S2L-TUN-RW-FIELD-CTYPE-BAG { + description + "C-type-specific LSP FEC data"; + container p2p-tunnel-rewrite { + when "../fec-ctype = 'mpls-lib-c-type-ipv4-p2p-tunnel'" { + description + "../FEC_CType = 'MPLS_LIB_CTYPE_IPV4_P2P_TUNNEL'"; + } + description + "Tunnel rewrite data specific to P2P"; + uses TE-S2L-TUN-RW-FIELDS-P2P-BAG; + } + container p2mp-tunnel-rewrite { + when "../fec-ctype = 'mpls-lib-c-type-ipv4-p2mp-tunnel'" { + description + "../FEC_CType = + 'MPLS_LIB_CTYPE_IPV4_P2MP_TUNNEL'"; + } + description + "Tunnel rewrite data specific to P2MP"; + uses TE-S2L-TUN-RW-FIELDS-P2MP-BAG; + } + leaf fec-ctype { + type Mpls-lib-c; + description + "FEC CType"; + } + } + + grouping TE-S2L-TUN-RW-FIELDS-BAG { + description + "LMRIB S2L Tunnel rewrite fields"; + container tunnel-rewrite { + description + "Union of p2p and p2mp tun rewrite data"; + uses TE-S2L-TUN-RW-FIELD-CTYPE-BAG; + } + leaf timestamp { + type uint32; + description + "Time stamp of the entry"; + } + } + + grouping MPLS-TE-S2L-TUN-RW-BAG { + description + "LMRIB S2L Tunnel rewrite"; + container successful-rewrite { + description + "Successful rewrite details"; + uses TE-S2L-TUN-RW-FIELDS-BAG; + } + container failed-rewrite { + description + "Failed rewrite details"; + uses TE-S2L-TUN-RW-FIELDS-BAG; + } + container pending-rewrite { + description + "Pending rewrite details"; + uses TE-S2L-TUN-RW-FIELDS-BAG; + } + leaf tunnel-interface { + type string; + description + "Tunnel interface name"; + } + leaf tunnel-signal-name { + type string; + description + "Tunnel signaled-name"; + } + leaf is-segment-routing { + type boolean; + description + "TRUE if the s2l path is Segment-Routing"; + } + } + + grouping TE-PP-SW-LOG-BAG { + description + "The full log of the path protection switchover + events"; + leaf path-protection-switchovers { + type uint32; + description + "Total number of path protection switchover + events. This could be more than the entries in + the array"; + } + leaf maximum-switchover-millisec { + type uint32; + units "millisecond"; + description + "The maximum delay for a switchover in + milliseconds"; + } + leaf average-switchover-millisec { + type uint32; + units "millisecond"; + description + "The average delay for a switchover in + milliseconds"; + } + list path-protection-switchover-entry { + description + "The array of path protection switchover entries"; + uses TE-PP-SW-LOG-ENTRY-BAG; + } + } + + grouping TUNNEL-MAX-INFO { + description + "Tunnel maximum information bag"; + leaf current-maximum-tunnels { + type uint32; + description + "Current Maximum Tunnels"; + } + leaf current-maximum-destinations { + type uint32; + description + "Current Maximum Destinations"; + } + leaf current-maximum-p2mp-tunnels { + type uint32; + description + "Current Maximum P2MP Tunnel Count"; + } + leaf current-maximum-p2mp-destnation-per-tunnel { + type uint32; + description + "Current Maximum P2MP Destinations Per Tunnel + Count"; + } + leaf absolute-maximum { + type uint32; + description + "Absolute Maximum"; + } + leaf current-maximum-autobackups { + type uint32; + description + "Current Maximum Autotunnel Backups Allowed"; + } + leaf current-maximum-auto-mesh { + type uint32; + description + "Current Maximum Autotunnel Mesh Allowed"; + } + leaf current-tunnel-count { + type uint32; + description + "Current tunnel count"; + } + leaf current-destination-count { + type uint32; + description + "Current Destination Count"; + } + leaf current-p2mp-tunnel-count { + type uint32; + description + "Current P2MP tunnel count"; + } + leaf current-p2mp-destnation-per-tunnel-count { + type uint32; + description + "Current P2MP Destination per tunnel count"; + } + leaf is-autobackup-range-configured { + type boolean; + description + "TRUE if the autobackup range is configured"; + } + leaf current-autobackups { + type uint32; + description + "Current Autotunnel Backup count"; + } + leaf is-auto-mesh-range-configured { + type boolean; + description + "TRUE if the automesh range is configured"; + } + leaf current-auto-mesh { + type uint32; + description + "Current Autotunnel Mesh count"; + } + leaf current-maximum-gmpls-unitunnels { + type uint32; + description + "Current Maximum GMPLS-UNI Tunnel Count"; + } + leaf current-gmpls-uni { + type uint32; + description + "Current GMPLS-UNI tunnel count"; + } + } + + grouping MPLS-TE-S2L-SR-OUTGOING-FWD-INFO { + description + "Segment-routing outgoing fowarding info"; + leaf lsp-output-interface { + type string; + description + "Output interface of LSP"; + } + leaf lsp-output-label { + type uint32; + description + "Output label of the LSP"; + } + } + + grouping MPLS-TE-PATH-PROTECTION-LSP { + description + "MPLS TE Path Protected LSP Information"; + leaf lsp-uptime { + type uint32; + description + "LSP Uptime"; + } + leaf path-protection-lsp-id { + type uint32; + description + "LSP ID "; + } + leaf lsp-local-label { + type uint32; + description + "Local label "; + } + leaf lsp-output-interface { + type string; + description + "Output interface of LSP"; + } + leaf lsp-output-label { + type uint32; + description + "Output label of the LSP"; + } + leaf lsp-state { + type Mpls-te-tunnel-state; + description + "LSP State"; + } + list srlsp-outgoing-info { + description + "Segment-routing iutgoing info of LSP"; + uses MPLS-TE-S2L-SR-OUTGOING-FWD-INFO; + } + list lsp-hop { + description + "Path used by LSP"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + } + + grouping MPLS-TE-PATH-PROTECTION { + description + "MPLS TE Path Protected Information"; + container path-protection { + description + "Path Protect Info"; + uses MPLS-TE-PP-INFO; + } + container current-lsp { + description + " Current LSP info"; + uses MPLS-TE-PATH-PROTECTION-LSP; + } + container standby-lsp { + description + " Standby LSP info"; + uses MPLS-TE-PATH-PROTECTION-LSP; + } + leaf is-tunnel-up { + type boolean; + description + "Tunnel UP"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "Extended Tunnel ID"; + } + } + + grouping MPLS-TE-AUTOTUN-P2P-INFO { + description + "P2P auto-tunnel summary per client information"; + leaf auto-p2p-tunnel { + type uint32; + description + "Total number of client P2P auto-tunnels"; + } + leaf up-auto-p2p-tunnels { + type uint32; + description + "Total number of client P2P auto-tunnels that are + up"; + } + leaf down-auto-p2p-tunnels { + type uint32; + description + "Total number of client P2P auto-tunnels that are + down"; + } + } + + grouping MPLS-TE-AUTOTUN-P2MP-INFO { + description + "P2MP auto-tunnel summary per client information"; + leaf auto-p2mp-tunnel { + type uint32; + description + "Total number of client P2MP auto-tunnels"; + } + leaf auto-p2mp-destinations { + type uint32; + description + "Total number of client P2MP auto-tunnel + destinations"; + } + leaf up-auto-p2mp-destinations { + type uint32; + description + "Total number of client P2MP auto-tunnel + destinations that are up"; + } + leaf down-auto-p2mp-destinations { + type uint32; + description + "Total number of client P2MP auto-tunnel + destinations that are down"; + } + leaf up-auto-p2mp-tunnels { + type uint32; + description + "Total number of client P2MP auto-tunnels that + are up"; + } + leaf down-auto-p2mp-tunnels { + type uint32; + description + "Total number of client P2MP auto-tunnels that + are down"; + } + leaf frr-auto-p2mp-tunnels { + type uint32; + description + "Total number of client P2MP auto-tunnels that + are FRR enabled"; + } + } + + grouping MPLS-TE-AUTOTUN-SVR-INFO { + description + "Auto-tunnel server client summary"; + container p2mp-info { + description + "P2MP info for a client"; + uses MPLS-TE-AUTOTUN-P2MP-INFO; + } + container p2p-info { + description + "P2P info for a client"; + uses MPLS-TE-AUTOTUN-P2P-INFO; + } + leaf protocol-type { + type Te-serv-tun-client; + description + "Client's protocol type"; + } + leaf client-instance-name { + type string; + description + "Client Instance name"; + } + leaf client-id { + type uint32; + description + "Client ID"; + } + } + + grouping MPLS-TE-AUTOTUN-SVR-SUMMARY-INFO { + description + "Auto-tunnel server summary information"; + container total-auto-p2mp-tunnels { + description + "Total number of P2MP auto-tunnels"; + uses MPLS-TE-AUTOTUN-P2MP-INFO; + } + container total-auto-p2p-tunnels { + description + "Total number of P2P auto-tunnels"; + uses MPLS-TE-AUTOTUN-P2P-INFO; + } + list clients-summary { + description + "List of auto-tunnel server clients"; + uses MPLS-TE-AUTOTUN-SVR-INFO; + } + } + + grouping TE-CONV-TBL-SUMMARY-BAG { + description + "TE tunnels convergence summary information bag"; + leaf tunnel-frr-active-count { + type uint32; + description + "FRR active Tunnel count"; + } + leaf tunnel-frr-total-count { + type uint32; + description + "FRR triggered Tunnel count"; + } + leaf tunnel-converged-count { + type uint32; + description + "Tunnel converged count"; + } + leaf tunnel-total-convergence-complete-time { + type uint64; + units "nanosecond"; + description + "Tunnel convergence complete timestamp (clocktime + in nsecs)"; + } + } + + grouping MPLS-TE-GMPLS-NNI-SUMMARY-INFO { + description + "GMPLS-NNI summary information"; + leaf heads-up { + type uint32; + description + "Tunnel heads in up state"; + } + leaf heads-down { + type uint32; + description + "Tunnel heads in down state"; + } + leaf mids-up { + type uint32; + description + "Tunnel mids in up state"; + } + leaf mids-down { + type uint32; + description + "Tunnel mids in down state"; + } + leaf tails-up { + type uint32; + description + "Tunnel tails in up state"; + } + leaf tails-down { + type uint32; + description + "Tunnel tails in down state"; + } + } + + grouping MPLS-TE-GMPLS-UNI-SUMMARY-INFO { + description + "GMPLS-UNI summary information"; + leaf heads-up { + type uint32; + description + "Tunnel heads in up state"; + } + leaf heads-down { + type uint32; + description + "Tunnel heads in down state"; + } + leaf tails-up { + type uint32; + description + "Tunnel tails in up state"; + } + leaf tails-down { + type uint32; + description + "Tunnel tails in down state"; + } + } + + grouping MPLS-TE-TUNNELS-SUMMARY-INFO-BAG { + description + "MPLS TE Tunnel Summary Information"; + container autobackup-summary { + description + "Autobackup summary"; + uses MPLS-TE-AUTOTUN-BACKUP-SUMMARY-INFO; + } + container auto-mesh-summary { + description + "Automesh summary"; + uses MPLS-TE-AUTOTUN-MESH-SUMMARY-INFO; + } + container auto-mesh-one-hop-summary { + description + "Automesh Onehop summary"; + uses MPLS-TE-AUTOTUN-MESH-ONEHOP-SUMMARY-INFO; + } + container gmpls-uni-summary { + description + "GMPLS-UNI summary"; + uses MPLS-TE-GMPLS-UNI-SUMMARY-INFO; + } + container gmpls-nni-summary { + description + "GMPLS-NNI summary"; + uses MPLS-TE-GMPLS-NNI-SUMMARY-INFO; + } + container current-tunnel-convergence-summary { + description + "Current Tunnel convergemce summary information"; + uses TE-CONV-TBL-SUMMARY-BAG; + } + container last-tunnel-convergence-summary { + description + "Last Tunnel convergemce summary information"; + uses TE-CONV-TBL-SUMMARY-BAG; + } + container auto-tun-server-summary { + description + "Auto-tunnel server tunnel summary"; + uses MPLS-TE-AUTOTUN-SVR-SUMMARY-INFO; + } + leaf pcalc-tie-breaker-type { + type Te-path-selection-tiebreaker; + description + "PCALC tiebreaker type"; + } + leaf pcalc-tiebreaker { + type uint32; + description + "Deprecated - replaced by PCALCTiebreakerType"; + } + leaf tiebreaker-qualifier { + type Mpls-te-metric-qualifier; + description + "Describes how the path selection tiebreaker was + specified:default, or globally set"; + } + leaf te-process-status { + type Mpls-te-tunnels-process-status; + description + "Status of te_control"; + } + leaf is-rsvp-process-enabled { + type boolean; + description + "Status of rsvp"; + } + leaf is-forwarding-enabled { + type boolean; + description + "TRUE if forwarding is enabled"; + } + leaf activated-heads { + type uint32; + description + "Total tunnel heads activated"; + } + leaf deactivated-heads { + type uint32; + description + "Total tunnel heads deactivated"; + } + leaf recovered-heads { + type uint32; + description + "Number of heads recovered"; + } + leaf is-periodic-reoptimization-on { + type boolean; + description + "TRUE if periodic reoptimization is on"; + } + leaf reoptimization-period { + type uint32; + units "second"; + description + "Reoptimization period in seconds"; + } + leaf next-reoptimization-timer { + type uint32; + units "second"; + description + "Time left till next reoptimization (seconds)"; + } + leaf auto-bandwidth-tunnels { + type uint32; + description + "Counter with number of auto-bw enabled tunnels"; + } + leaf auto-bandwidth-collection-period { + type uint32; + units "minute"; + description + "Collection period in minutes"; + } + leaf is-promotion-on { + type boolean; + description + "TRUE if periodic frr promotion is on"; + } + leaf promotion-period { + type uint32; + units "second"; + description + "FRR promotion period in seconds"; + } + leaf next-promotion-timer { + type uint32; + units "second"; + description + "Time left till next FRR promotion (seconds)"; + } + leaf tunnel-check-period { + type uint32; + units "second"; + description + "Tunnel head check period (seconds)"; + } + leaf next-check-time { + type uint32; + units "second"; + description + "Time left till next FRR promotion (seconds)"; + } + leaf tunnel-verify-period { + type uint32; + units "second"; + description + "Tunnel head verify period (seconds)"; + } + leaf next-verify-timer { + type uint32; + units "second"; + description + "Time left till next FRR promotion (seconds)"; + } + leaf frr-head-tunnels { + type uint32; + description + "FRR tunnels in Up state at head end"; + } + leaf protected-head-tunnels { + type uint32; + description + "FRR protected tunnels in Up state at head end"; + } + leaf rerouted-head-tunnels { + type uint32; + description + "FRR rerouted tunnels in Up state at head end"; + } + leaf frr-mid-point-tunnels { + type uint32; + description + "FRR tunnels at mid point"; + } + leaf protected-mid-point-tunnels { + type uint32; + description + "FRR protected tunnels at mid point"; + } + leaf rerouted-mid-point-tunnels { + type uint32; + description + "FRR rerouted tunnels at mid point"; + } + leaf link-protected-tunnels { + type uint32; + description + "FRR link protected tunnels"; + } + leaf node-protected-tunnels { + type uint32; + description + "FRR node protected tunnels"; + } + leaf bw-protected-tunnels { + type uint32; + description + "FRR BW protected tunnels"; + } + leaf frr-p2p-head-tunnels { + type uint32; + description + "P2P FRR tunnels in Up state at head end"; + } + leaf protected-p2p-head-tunnels { + type uint32; + description + "P2P FRR protected tunnels in Up state at head + end"; + } + leaf rerouted-p2p-head-tunnels { + type uint32; + description + "P2P FRR rerouted tunnels in Up state at head end"; + } + leaf frr-p2p-mid-point-tunnels { + type uint32; + description + "P2P FRR tunnels at mid point"; + } + leaf protected-p2p-mid-point-tunnels { + type uint32; + description + "P2P FRR protected tunnels at mid point"; + } + leaf rerouted-p2p-mid-point-tunnels { + type uint32; + description + "P2P FRR rerouted tunnels at mid point"; + } + leaf link-protected-p2p-tunnels { + type uint32; + description + "P2P FRR link protected tunnels"; + } + leaf node-protected-p2p-tunnels { + type uint32; + description + "P2P FRR node protected tunnels"; + } + leaf bw-protected-p2p-tunnels { + type uint32; + description + "P2P FRR BW protected tunnels"; + } + leaf backup-tunnels { + type uint32; + description + "FRR backup tunnels in Up state"; + } + leaf backups-assigned { + type uint32; + description + "FRR backup tunnels assigned"; + } + leaf frr-protected-interfaces { + type uint32; + description + "FRR Protected Interfaces"; + } + leaf rerouted-interfaces { + type uint32; + description + "FRR Rerouted Interfaces"; + } + leaf p2p-head-tunnels { + type uint32; + description + "p2p Tunnel interfaces"; + } + leaf up-p2p-head-tunnels { + type uint32; + description + "p2p Tunnel interfaces in Up state"; + } + leaf dynamic-up-p2p-head-tunnels { + type uint32; + description + "p2p Tunnel up via a dynamic path"; + } + leaf frr-config-p2p-head-tunnels { + type uint32; + description + "p2p Tunnel interfaces with FRR configuration"; + } + leaf p2p-head-destinations { + type uint32; + description + "p2p Destinations at Head"; + } + leaf p2p-head-destinations-up { + type uint32; + description + "p2p Destinations in Up state at Head"; + } + leaf bw-protected-p2p-s2-ls { + type uint32; + description + "p2p S2Ls BW Protected"; + } + leaf link-protected-p2p-s2-ls { + type uint32; + description + "p2p S2Ls Link Protected"; + } + leaf up-p2p-head-s2-ls { + type uint32; + description + "p2p S2Ls in Up state at Head"; + } + leaf proceeding-p2p-head-s2-ls { + type uint32; + description + "p2p S2Ls in signalling-proceeding state at Head"; + } + leaf recovering-p2p-head-s2-ls { + type uint32; + description + "p2p S2Ls recovering at Head"; + } + leaf frr-p2p-head-s2-ls { + type uint32; + description + "p2p S2Ls with FRR requested at Head"; + } + leaf protected-p2p-head-s2-ls { + type uint32; + description + "p2p S2Ls FRR Protected at Head"; + } + leaf rerouted-p2p-head-s2-ls { + type uint32; + description + "p2p S2Ls FRR Rerouted at Head"; + } + leaf p2p-mid-point-s2-ls { + type uint32; + description + "p2p S2Ls at Mid"; + } + leaf up-p2p-mid-point-s2-ls { + type uint32; + description + "p2p S2Ls in Up state at Mid"; + } + leaf proceeding-p2p-mid-point-s2-ls { + type uint32; + description + "p2p S2Ls in signalling=proceeding state at Mid"; + } + leaf frr-p2p-mid-point-s2-ls { + type uint32; + description + "p2p S2Ls with FRR requested at Mid"; + } + leaf protected-p2p-mid-point-s2-ls { + type uint32; + description + "p2p S2Ls FRR Protected at Mid"; + } + leaf rerouted-p2p-mid-point-s2-ls { + type uint32; + description + "p2p S2Ls FRR Rerouted at Mid"; + } + leaf p2p-tail-s2-ls { + type uint32; + description + "p2p S2Ls at Tail"; + } + leaf up-p2p-tail-s2-ls { + type uint32; + description + "p2p S2Ls in Up state at Tail"; + } + leaf p2p-tail-tunnels { + type uint32; + description + "p2p Tunnel tail interfaces"; + } + leaf path-protect-configured-tunnels { + type uint16; + description + "Tunnels configured with Path Protect"; + } + leaf path-protect-configured-tunnels-up { + type uint16; + description + "Path Protect configured tunnels connected/up"; + } + leaf path-protect-configured-tunnels-standby-up { + type uint16; + description + "Tunnels with standby LSP up"; + } + leaf link-diverse-paths { + type uint16; + description + "Link diverse paths"; + } + leaf node-diverse-paths { + type uint16; + description + "Node diverse paths"; + } + leaf link-and-node-diverse-paths { + type uint16; + description + "Link and Node diverse paths"; + } + leaf user-defined-paths { + type uint16; + description + "User defined paths"; + } + leaf srlg-diverse-paths { + type uint16; + description + "SRLG diverse paths"; + } + leaf srlg-and-node-diverse-paths { + type uint16; + description + "SRLG and Node diverse paths"; + } + leaf srlg-and-node-and-link-diverse-paths { + type uint16; + description + "SRLG and Node and Link diverse paths"; + } + leaf sticky-paths { + type uint16; + description + "Sticky paths"; + } + leaf p2mp-head-tunnels { + type uint32; + description + "P2MP Tunnel interfaces"; + } + leaf up-p2mp-head-tunnels { + type uint32; + description + "P2MP Tunnel interfaces in Up state"; + } + leaf frr-config-p2mp-head-tunnels { + type uint32; + description + "P2MP Tunnel interfaces with FRR configuration"; + } + leaf p2mp-head-destinations { + type uint32; + description + "P2MP Destinations at Head"; + } + leaf up-p2mp-head-destinations { + type uint32; + description + "P2MP Destinations in Up state at Head"; + } + leaf bw-protected-p2mp-s2-ls { + type uint32; + description + "P2MP S2Ls BW Protected"; + } + leaf link-protected-p2mp-s2-ls { + type uint32; + description + "P2MP S2Ls Link Protected"; + } + leaf up-p2mp-head-s2-ls { + type uint32; + description + "P2MP S2Ls in Up state at Head"; + } + leaf proceeding-p2mp-head-s2-ls { + type uint32; + description + "P2MP S2Ls in signalling-proceeding state at Head"; + } + leaf frr-p2mp-head-s2-ls { + type uint32; + description + "P2MP S2Ls with FRR requested at Head"; + } + leaf protected-p2mp-head-s2-ls { + type uint32; + description + "P2MP S2Ls FRR Protected at Head"; + } + leaf rerouted-p2mp-head-s2-ls { + type uint32; + description + "P2MP S2Ls FRR Rerouted at Head"; + } + leaf p2mp-mid-point-s2-ls { + type uint32; + description + "P2MP S2Ls at Mid"; + } + leaf up-p2mp-mid-point-s2-ls { + type uint32; + description + "P2MP S2Ls in Up state at Mid"; + } + leaf proceeding-p2mp-mid-point-s2-ls { + type uint32; + description + "P2MP S2Ls in signalling=proceeding state at Mid"; + } + leaf frr-p2mp-mid-point-s2-ls { + type uint32; + description + "P2MP S2Ls with FRR requested at Mid"; + } + leaf protected-p2mp-mid-point-s2-ls { + type uint32; + description + "P2MP S2Ls FRR Protected at Mid"; + } + leaf rerouted-p2mp-mid-point-s2-ls { + type uint32; + description + "P2MP S2Ls FRR Rerouted at Mid"; + } + leaf p2mp-tail-s2-ls { + type uint32; + description + "P2MP S2Ls at Tail"; + } + leaf up-p2mp-tail-s2-ls { + type uint32; + description + "P2MP S2Ls in Up state at Tail"; + } + leaf bidir-head-tunnels { + type uint32; + description + "Bidirectional Head Tunnel interfaces"; + } + leaf bidir-head-tunnels-up { + type uint32; + description + "Connected Bidirectional Head Tunnel interfaces"; + } + leaf bidir-head-tunnels-associated { + type uint32; + description + "Associated Bidirectional Head Tunnels"; + } + leaf bidir-head-tunnels-corouted { + type uint32; + description + "Corouted Bidirectional Head Tunnels"; + } + leaf bidir-head-ls-ps-up { + type uint32; + description + "Connected Bidirectional Head Tunnel interfaces"; + } + leaf bidir-head-ls-ps-proceeding { + type uint32; + description + "Proceeding Bidirectional Head LSPs"; + } + leaf bidir-head-ls-ps-associated { + type uint32; + description + "Associated Bidirectional Head LSPs"; + } + leaf bidir-head-ls-ps-standby { + type uint32; + description + "Standby Bidirectional Head LSPs"; + } + leaf bidir-mid-tunnels { + type uint32; + description + "Bidirectional Mid Tunnel interfaces"; + } + leaf bidir-mid-tunnels-up { + type uint32; + description + "Connected Bidirectional Mid Tunnel interfaces"; + } + leaf bidir-mid-ls-ps-proceeding { + type uint32; + description + "Proceeding Bidirectional Mid LSPs"; + } + leaf bidir-mid-ls-ps-associated { + type uint32; + description + "Associated Bidirectional Mid LSPs"; + } + leaf bidir-mid-ls-ps-standby { + type uint32; + description + "Standby Bidirectional Mid LSPs"; + } + leaf bidir-tail-ls-ps { + type uint32; + description + "Bidirectional Tail LSPs"; + } + leaf bidir-tail-ls-ps-up { + type uint32; + description + "Connected Bidirectional Tail LSPs"; + } + leaf bidir-tail-ls-ps-proceeding { + type uint32; + description + "Proceeding Bidirectional Tail LSPs"; + } + leaf bidir-tail-ls-ps-associated { + type uint32; + description + "Associated Bidirectional Tail LSPs"; + } + leaf bidir-tail-ls-ps-standby { + type uint32; + description + "Standby Bidirectional Tail LSPs"; + } + leaf bidir-tail-ls-ps-corouted { + type uint32; + description + "Corouted Bidirectional Tail LSPs"; + } + } + + grouping MPLS-TE-TUNNELS-AUTOBW-BRIEF { + description + "MPLS TE Tunnel AutoBandwidth Brief Information"; + container auto-bandwidth-status { + description + "Tunnels's AutoBandwidth Status information"; + uses MPLS-TE-TUNNELS-AUTOBW-STATUS; + } + leaf tunnel-name-xr { + type string; + description + "Tunnel name"; + } + leaf signaled-name { + type string; + description + "Tunnel signaled name"; + } + leaf tunnel-lsp-id { + type uint32; + description + "Tunnel Lsp Id"; + } + leaf bandwidth-applications { + type uint32; + description + "Total number of bandwidth applications requested + by auto-bw"; + } + leaf last-bandwidth-applied { + type uint32; + description + "Last bandwidth requested by auto-bw for the + tunnel"; + } + leaf tunnel-requested-bandwidth { + type uint32; + description + "Requested Bandwidth for the tunnel"; + } + leaf signalled-bandwidth { + type uint32; + description + "Signalled bandwidth for the tunnel"; + } + leaf highest-bandwidth { + type uint32; + description + "Highest bandwidth registered within current + application period"; + } + leaf last-sample-bandwidth { + type uint32; + description + "Last sample bandwidth collected"; + } + leaf samples-collected { + type uint32; + description + "Number of samples collected within current + application period"; + } + leaf time-left-application { + type uint32; + description + "Time left until next auto-bw application + algorithm is performed"; + } + } + + grouping MPLS-TE-FLEX-LSP-REV-LSP { + description + "MPLS TE Flex LSP Reverse LSP information"; + container reverse-lsp-fec { + description + "Reverse Associated Bidir LSP FEC"; + uses TE-LSP-FEC; + } + container association { + description + "Association Object"; + uses MPLS-TE-S2L-ASSOCIATION-OBJECT; + } + container protection { + description + "Protection Object"; + uses MPLS-TE-S2L-PROTECTION-OBJECT; + } + leaf reverse-lsp-present { + type boolean; + description + "Reverse Associated Bidir LSP Present"; + } + leaf reverse-lsp-connected { + type boolean; + description + "Reverse Associated Bidir LSP Connected"; + } + } + + grouping MPLS-TE-FLEX-LSP-LSP { + description + "MPLS TE FLEX LSP Information"; + container flex-info { + description + "Flex Info"; + uses MPLS-TE-S2L-FLEX-INFO; + } + container association { + description + "Association Object"; + uses MPLS-TE-S2L-ASSOCIATION-OBJECT; + } + container protection { + description + "Protection Object"; + uses MPLS-TE-S2L-PROTECTION-OBJECT; + } + container reverse-lsp { + description + "Reverse LSP information"; + uses MPLS-TE-FLEX-LSP-REV-LSP; + } + leaf is-operational { + type boolean; + description + "Operational"; + } + leaf lsp-uptime { + type uint32; + description + "LSP Uptime"; + } + leaf path-protection-lsp-id { + type uint32; + description + "LSP ID "; + } + leaf lsp-mode { + type Mpls-te-lsp-mode; + description + "LSP mode"; + } + leaf lsp-local-label { + type uint32; + description + "Local label "; + } + leaf lsp-output-interface { + type string; + description + "Output interface of LSP"; + } + leaf lsp-output-label { + type uint32; + description + "Output label of the LSP"; + } + leaf lsp-state { + type Mpls-te-tunnel-state; + description + "LSP State"; + } + list lsp-hop { + description + "Path used by LSP"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + } + + grouping MPLS-TE-FLEX-LSP { + description + "MPLS TE Flex LSP Information"; + container working-lsp { + description + " Working LSP info"; + uses MPLS-TE-FLEX-LSP-LSP; + } + container protect-lsp { + description + " Protect LSP info"; + uses MPLS-TE-FLEX-LSP-LSP; + } + leaf is-tunnel-up { + type boolean; + description + "Tunnel UP"; + } + leaf tun-id { + type uint16; + description + "Tunnel ID"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "Extended Tunnel ID"; + } + } + + grouping MPLS-TE-FASTREROUTE-PROMOTION-BAG { + description + "MPLS TE Fast Reroute Promotion Information"; + leaf promotion-period { + type uint32; + units "second"; + description + "Promotion period in seconds"; + } + leaf remaining-time { + type uint32; + units "second"; + description + "Remaining time for next promotion in seconds"; + } + leaf is-configured { + type boolean; + description + "Indicate if periodic promotion is configured "; + } + } + + grouping MPLS-TE-FASTREROUTE-PROTECTION-BAG { + description + "MPLS TE Fast Reroute Protected LSP Information"; + leaf source-address-xr { + type inet:ipv4-address; + description + "Source"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "Destination"; + } + leaf tunnel-id-xr { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id-xr { + type inet:ipv4-address; + description + "Extended Tunnel ID"; + } + leaf tunnel-name { + type string; + description + "Tunnel Name"; + } + leaf tunnel-instance { + type uint32; + description + "Tunnel instance"; + } + leaf role { + type Mpls-te-tunnel-role; + description + "Role of LSP"; + } + leaf admin-status { + type Mpls-te-tunnel-state; + description + "Tunnel Admin status"; + } + leaf operation-status { + type Mpls-te-tunnel-state; + description + "Tunnel operational status"; + } + leaf is-signalled { + type boolean; + description + "Indicates whether signalled"; + } + leaf is-frr-requested { + type boolean; + description + "TRUE if frr protection is on"; + } + leaf outbound-frr-state { + type Mpls-te-frr-state; + description + "Indicates outbound FRR state"; + } + leaf inbound-frr-state { + type Mpls-te-frr-state; + description + "Indicates inbound FRR state"; + } + leaf output-interface-lsp { + type string; + description + "Output intface of the LSP"; + } + leaf output-label { + type uint32; + description + "Output label"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next hop"; + } + leaf frr-output-tunnel-interface { + type string; + description + "FRR output tunnel intface"; + } + leaf frr-output-label { + type uint32; + description + "FRR output label"; + } + leaf backup-status { + type Mpls-te-backup-status; + description + "Backup status"; + } + leaf bandwidth-pool-type { + type Mpls-te-bw-pool; + description + "Bandwidth pool type"; + } + leaf bandwidth-limit-type { + type Mpls-te-bw-limit; + description + "Bandwidth limit type"; + } + leaf original-input-interface { + type string; + description + "Input intface of the LSP"; + } + leaf input-label { + type uint32; + description + "Input label"; + } + leaf previous-hop-address { + type inet:ipv4-address; + description + "Previous hop"; + } + leaf backup-bandwidth { + type uint32; + description + "Backup bandwidth"; + } + leaf frr-output-interface { + type string; + description + "Output interface of bkup tunnel"; + } + leaf backup-next-hop-address { + type inet:ipv4-address; + description + "S2L Nexthop of the backup tunnel"; + } + leaf lsp-bandwidth-type { + type Mpls-te-bw-pool; + description + "LSP bandwidth type"; + } + leaf sharing-type { + type Mpls-te-frr-sharing; + description + "Outgoing i/f Sharing type"; + } + leaf is-p2mp-tunnel { + type boolean; + description + "Is P2P or P2MP Tunnel"; + } + leaf sub-group-original-id { + type inet:ipv4-address; + description + "S2L Sub-Group Originator ID"; + } + leaf sub-group-id-xr { + type uint16; + description + "S2L Sub-Group ID"; + } + leaf p2mp-id-xr { + type uint32; + description + "S2L P2MP ID"; + } + } + + grouping MPLS-TE-FASTREROUTE-BAG { + description + "MPLS TE Fast Reroute Information"; + leaf backup-tunnel-id { + type uint32; + description + "Backup tunnel ID"; + } + leaf backup-tunnel-name-xr { + type string; + description + "Backup tunnel name"; + } + leaf backup-status { + type Mpls-te-backup-status; + description + "Backup state"; + } + leaf backup-type { + type Mpls-te-backup; + description + "Backup type"; + } + leaf backup-usage { + type Mpls-te-backup-usage; + description + "Backup usage"; + } + leaf prot-interface-autobackup-config { + type Auto-backup-protection; + description + "Protected interface Autobackup config"; + } + leaf prot-interface-srlg-config { + type Auto-backup-srlg-mode; + description + "Protected interface SRLG config"; + } + leaf tunnel-attribute-set-name { + type string; + description + "Attribute Set Name"; + } + leaf has-attribute-set { + type boolean; + description + "TRUE if the auto-backup has an attribute set + defined"; + } + leaf is-attribute-set-in-db { + type boolean; + description + "Flag to indicate the existence of attribute set + found in database"; + } + leaf recreate-timer-is-running { + type boolean; + description + "Indicates if the recreate timer is running"; + } + leaf recreate-remaining-time { + type uint32; + units "second"; + description + "Time Remaining in Recreate Timer (seconds)"; + } + leaf source-address { + type inet:ipv4-address; + description + "Backup's source"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Backup's destination"; + } + leaf general-status { + type Mpls-te-tunnel-state; + description + "Backup's general status"; + } + leaf connection-status { + type Mpls-te-tunnel-state; + description + "Backup's connection's status"; + } + leaf output-interface-name { + type string; + description + "The output intf of the tunnel"; + } + leaf bandwidth-pool-type { + type Mpls-te-bw-pool; + description + "Bandwidth pool type"; + } + leaf bandwidth-limit-type { + type Mpls-te-bw-limit; + description + "Bandwidth limit type"; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth (kbps)"; + } + leaf tunnel-instance { + type uint32; + description + "Tunnel instance"; + } + leaf in-use-bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth currently in use (kbps)"; + } + leaf soft-preempted-in-use-bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth soft preempted and rerouted over the + backup(kbps)"; + } + leaf ls-ps { + type uint32; + description + "Number of LSPs"; + } + leaf s2l-families { + type uint32; + description + "Number of S2L Families"; + } + leaf s2-ls { + type uint32; + description + "Number of P2MP S2Ls"; + } + leaf frr-active-ls-ps { + type uint32; + description + "Number of LSPs in FRR active state"; + } + leaf frr-active-soft-preempted-ls-ps { + type uint32; + description + "Number of soft preempted LSPs routed over backup"; + } + } + + grouping TE-TUNNEL-AUTOROUTE-DEST { + description + "TE TUNNEL AUTOROUTE DEST"; + leaf prefix-address { + type inet:ipv4-address; + description + "PrefixAddress"; + } + leaf prefix-length { + type uint32; + description + "PrefixLength"; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf install-time { + type uint32; + description + "InstallTime"; + } + leaf interface-handle { + type xr:Interface-name; + description + "InterfaceHandle"; + } + } + + grouping TE-TUNNEL-AUTOROUTE-DESTINATIONS { + description + "TE TUNNEL AUTOROUTE DESTINATIONS"; + leaf tunnel-id-xr { + type uint16; + description + "tunnel id xr"; + } + leaf tunnel-name { + type string; + description + "Tunnel name"; + } + list tunnel-autoroute-dest { + description + "tunnel autoroute dest"; + uses TE-TUNNEL-AUTOROUTE-DEST; + } + } + + grouping TE-SYNC-STATUS-MASTER-INFO { + description + "Master Sync status information"; + container idt { + description + "Sync status IDT information"; + uses TE-SYNC-IDT-INFO; + } + } + + grouping TE-S2L-PENDING-INFO { + description + "Sync pending S2L information"; + leaf pending-reason { + type Te-sync-pending-reason; + description + "Pending reason"; + } + leaf signaled-name { + type string; + description + "Signaled name"; + } + leaf s2l-role { + type Mpls-te-tunnel-role; + description + "S2L role"; + } + } + + grouping TE-VIF-PENDING-INFO { + description + "Sync pending VIF information"; + leaf pending-reason { + type Te-sync-pending-reason; + description + "Pending reason"; + } + leaf tunnel-name { + type string; + description + "Tunnel name"; + } + } + + grouping TE-IDT-STATUS { + description + "IDT status information"; + leaf is-ready-status { + type boolean; + description + "Ready status"; + } + leaf reason { + type Te-sync-not-ready-reason; + description + "Not ready reason"; + } + leaf idt-start-time { + type uint32; + units "second"; + description + "IDT start timestampe in seconds"; + } + leaf idt-end-time { + type uint32; + units "second"; + description + "IDT end timestampe in seconds"; + } + leaf declare-time { + type uint32; + units "second"; + description + "Declare ready timestampe in seconds"; + } + leaf withdraw-time { + type uint32; + units "second"; + description + "Withdraw ready timestampe in seconds"; + } + } + + grouping TE-SYNC-IDT-INFO { + description + "Sync Status information"; + container current-idt-info { + description + "Current IDT information"; + uses TE-IDT-STATUS; + } + container previous-idt-status { + description + "Previous IDT information"; + uses TE-IDT-STATUS; + } + } + + grouping TE-SYNC-STATUS-SLAVE-INFO { + description + "Sync status slave Information"; + container idt { + description + "Sync status IDT information"; + uses TE-SYNC-IDT-INFO; + } + leaf insync-tunnels { + type uint32; + description + "Tunnels in sync"; + } + leaf insync-sub-ls-ps { + type uint32; + description + "Sub-LSPs in sync"; + } + leaf pending-tunnels { + type uint32; + description + "Tunnels in sync pending"; + } + leaf pending-sub-ls-ps { + type uint32; + description + "Sub-LSPs in sync pending"; + } + list vif-pending { + description + "Pending tunnels details"; + uses TE-VIF-PENDING-INFO; + } + list s2l-pending { + description + "Pending sub-LSPs details"; + uses TE-S2L-PENDING-INFO; + } + } + + grouping TE-SYNC-STATUS-INFO { + description + "Sync information for the NSR and ISSU based on + master or slave role"; + container slave-sync-information { + when "../sync-show-type = 'slave-sync-status-show'" { + description + "../SyncShowType = 'SlaveSyncStatusShow'"; + } + description + "Slave sync information"; + uses TE-SYNC-STATUS-SLAVE-INFO; + } + container master-sync-information { + when "../sync-show-type = 'master-sync-status-show'" { + description + "../SyncShowType = 'MasterSyncStatusShow'"; + } + description + "Master sync information"; + uses TE-SYNC-STATUS-MASTER-INFO; + } + leaf sync-show-type { + type Te-sync-status-show; + description + "SyncShowType"; + } + } + + grouping TE-NSR-ISSU-STATUS-INFO { + description + "NSR/ISSU sync status information"; + container sync-status-information { + description + "Sync information for the NSR and ISSU"; + uses TE-SYNC-STATUS-INFO; + } + leaf role { + type Te-proc-role; + description + "Process role"; + } + } + + grouping MPLS-TE-DSTE-CLASS { + description + "A DSTE class"; + leaf class-number { + type uint8; + description + "The DS-TE class number from 0 to 7"; + } + leaf class-type { + type uint8; + description + "The class type of the TE class"; + } + leaf priority { + type uint8; + description + "The priority of the TE class"; + } + leaf class-status { + type Mpls-te-dste-class-status; + description + "The status of the TE class"; + } + } + + grouping MPLS-TE-DSTE-CLASSES { + description + " A set of DSTE classes"; + list te-class { + max-elements "8"; + description + "te class"; + uses MPLS-TE-DSTE-CLASS; + } + } + + grouping MPLS-TE-TOPO-SRLG-LINK { + description + "SRLG link address data"; + container link-address-generic { + description + "Link address"; + uses TE-ADDR; + } + leaf link-address { + type inet:ipv4-address; + description + "Link address"; + } + leaf te-router-id { + type inet:ipv4-address; + description + "Link TE router-id"; + } + } + + grouping MPLS-TE-TOPO-SRLG-AREA { + description + "A MPLS TE topology link in a SRLG"; + leaf igp-type { + type Igp-protocol; + description + "IGP type"; + } + leaf igp-instance { + type string; + description + "IGP Instance name"; + } + leaf igp-area { + type uint32; + description + "IGP Area ID"; + } + leaf igp-area-format { + type Igp-ospf-area-format; + description + "IGP-area format"; + } + list srlg-link { + description + "Links in this SRLG/area"; + uses MPLS-TE-TOPO-SRLG-LINK; + } + } + + grouping MPLS-TE-TOPO-SRLG { + description + "A SRLG entry in the MPLS TE topology"; + leaf srlg-name { + type string; + description + "SRLG name"; + } + leaf admin-weight { + type uint32; + description + "The admin weight that is added to the link if + the SRLG is shared with the protected link"; + } + list srlg-areas { + description + "Topology areas in this SRLG"; + uses MPLS-TE-TOPO-SRLG-AREA; + } + } + + grouping MPLS-TE-TOPO-CFG-SRLG-LINK { + description + "A link associated with configured SRLG"; + leaf local-address { + type inet:ipv4-address; + description + "Local address"; + } + leaf remote-address { + type inet:ipv4-address; + description + "Remote address"; + } + } + + grouping MPLS-TE-TOPO-CFG-SRLG { + description + "A configured SRLG entry"; + leaf srlg-number-xr { + type uint32; + description + "SRLG number"; + } + leaf srlg-name { + type string; + description + "SRLG name"; + } + leaf admin-weight { + type uint32; + description + "The admin weight that is added to the link if + the SRLG is shared with the protected link"; + } + leaf is-admin-weight-configured { + type boolean; + description + "Set to TRUE if the admin weight is explicitely + configured"; + } + list srlg-link { + description + "Link associated with the SRLG"; + uses MPLS-TE-TOPO-CFG-SRLG-LINK; + } + } + + grouping MPLS-TE-TOPOLOGY-PATH-BAG { + description + "MPLS TE Topology Path Information"; + container affinity { + description + "Affinity"; + uses MPLS-TE-TUNNELS-AFFINITY-INFO; + } + leaf tunnel-id-xr { + type uint32; + description + "The tunnel ID to which this path belong"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "The path's destination"; + } + leaf is-partial-path { + type boolean; + description + "TRUE if path is partial"; + } + leaf is-full-path { + type boolean; + description + "TRUE if path is full"; + } + leaf is-topology-checked { + type boolean; + description + "TRUE if checking the topology is enabled"; + } + leaf is-segment-routing-db-checked { + type boolean; + description + "TRUE if checking the Segment-Routing DB is + enabled"; + } + leaf requested-bandwidth { + type uint64; + description + "The path's requested bandwidth"; + } + leaf bandwidth-type { + type uint64; + description + "The path's bandwidth type"; + } + leaf mininum-bandwidth { + type uint64; + description + "The path's minimum bandwidth"; + } + leaf accumulated-admin-weight { + type uint64; + description + "The path's accumulated admin weight"; + } + leaf setup-priority-xr { + type uint32; + description + "The path's setup priority"; + } + leaf hold-priority-xr { + type uint32; + description + "The path's hold priority"; + } + leaf node-hop-count { + type uint8; + description + "Path hop count"; + } + leaf exclude-srlg-address { + type inet:ipv4-address; + description + "The Exclude SRLG IP Addr"; + } + list hop { + description + "The path's array of hops"; + leaf entry { + type inet:ipv4-address; + description + "The path's array of hops"; + } + } + list shared-risk-link-group { + description + "The path's excluded srlg groups"; + uses MPLS-SRLG-INFO; + } + list sr-segment { + description + "The path's array of Segment-Routing segments"; + uses TE-S2L-SR-PATH-HOP; + } + } + + grouping MPLS-TE-AREA-INFO { + description + "Global information for an MPLS-TE area"; + container local-sid-and-srbg { + description + "Local SID and SRBG"; + uses TE-SR-NODE-INFO; + } + leaf protocol { + type Igp-protocol; + description + "Protocol used"; + } + leaf node-id { + type string; + description + "The node's IGP id"; + } + leaf area-id { + type string; + description + "The area's id"; + } + } + + grouping MPLS-TE-TOPOLOGY-GLOBAL-INFO-BAG { + description + "MPLS TE Topology Global Information"; + leaf hold-down-interval { + type uint32; + units "second"; + description + "Interval in seconds to hold down a neighbor + after a signalling error"; + } + leaf link-add-remove-count { + type uint32; + description + "Link add/remove counter"; + } + leaf local-model-id { + type uint32; + description + "Local BC Model ID"; + } + list areas { + description + "Information for areas"; + uses MPLS-TE-AREA-INFO; + } + } + + grouping MPLS-TE-LSP-WRAP-PROTECTION-BAG { + description + "MPLS TE LSP Wrap Protected LSP Information"; + leaf source-address-xr { + type inet:ipv4-address; + description + "Source"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "Destination"; + } + leaf tunnel-id-xr { + type uint16; + description + "Tunnel ID"; + } + leaf extended-tunnel-id-xr { + type inet:ipv4-address; + description + "Extended Tunnel ID"; + } + leaf tunnel-name { + type string; + description + "Tunnel Name"; + } + leaf tunnel-instance { + type uint32; + description + "Tunnel instance"; + } + leaf lsp-wrap-protection-enable { + type boolean; + description + "LSP Wrap protection enabled"; + } + leaf lsp-wrap-protection-label { + type uint32; + description + "LSP Wrap Merge Point Label"; + } + leaf reverse-egress-interface { + type string; + description + "Reverse Egress Interface"; + } + leaf reverse-lsp-label { + type uint32; + description + "Reverse LSP label"; + } + leaf lsp-wrap-protection-state { + type Mpls-te-lsp-wrap-state; + description + "LSP wrap protection state"; + } + leaf sub-group-original-id { + type inet:ipv4-address; + description + "S2L Sub-Group Originator ID"; + } + leaf sub-group-id-xr { + type uint16; + description + "S2L Sub-Group ID"; + } + leaf p2mp-id-xr { + type uint32; + description + "S2L P2MP ID"; + } + } + + grouping TE-NEXTHOP-PATH { + description + "TE NEXTHOP PATH"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf address { + type inet:ipv4-address; + description + "Address"; + } + leaf abr-address { + type inet:ipv4-address; + description + "ABRAddress"; + } + } + + grouping TE-RIB-ROUTE-BAG { + description + "TE RIB ROUTE BAG"; + leaf route-protocol-name { + type string; + description + "RouteProtocolName"; + } + leaf route-distance { + type uint32; + description + "RouteDistance"; + } + leaf route-metric { + type uint32; + description + "RouteMetric"; + } + leaf last-update-time { + type uint32; + description + "LastUpdateTime"; + } + leaf is-registered { + type boolean; + description + "IsRegistered"; + } + leaf is-stale { + type boolean; + description + "IsStale"; + } + leaf is-default { + type boolean; + description + "IsDefault"; + } + leaf is-connected { + type boolean; + description + "IsConnected"; + } + leaf is-populated { + type boolean; + description + "IsPopulated"; + } + leaf route-type { + type uint16; + description + "RouteType"; + } + list next-hop-path { + description + "next hop path"; + uses TE-NEXTHOP-PATH; + } + } + + grouping TE-TUNNEL-PATH { + description + "TE TUNNEL PATH"; + leaf tunnel-id { + type uint16; + description + "TunnelID"; + } + leaf interface-handle { + type xr:Interface-name; + description + "InterfaceHandle"; + } + leaf install-time { + type uint32; + description + "InstallTime"; + } + leaf installed-metric { + type uint32; + description + "InstalledMetric"; + } + } + + grouping TE-NEXTHOP-ROUTE { + description + "TE NEXTHOP ROUTE"; + container active-route { + description + "active route"; + uses TE-RIB-ROUTE-BAG; + } + container backup-route { + description + "backup route"; + uses TE-RIB-ROUTE-BAG; + } + leaf prefix-address-xr { + type inet:ipv4-address; + description + "prefix address xr"; + } + leaf prefix-length-xr { + type uint32; + description + "prefix length xr"; + } + leaf exact-match { + type boolean; + description + "ExactMatch"; + } + leaf create-time { + type uint32; + description + "CreateTime"; + } + leaf last-used-time { + type uint32; + description + "LastUsedTime"; + } + leaf expire-time { + type uint32; + description + "ExpireTime"; + } + leaf installed-tunnel-path-num { + type uint32; + description + "InstalledTunnelPathNum"; + } + list tunnel-path { + description + "tunnel path"; + uses TE-TUNNEL-PATH; + } + } + + grouping TE-SH-IGP-AREA-STATS { + description + "Statistics for an IGP-area"; + leaf area-adjacency-request-messages { + type uint32; + description + "Number of adjacency request messages sent"; + } + leaf area-adjacency-announce-messages { + type uint32; + description + "Number of adjacency announcement messages + received"; + } + leaf area-flood-messages { + type uint32; + description + "Number of local LSA floods sent"; + } + leaf area-lsa-announce-messages { + type uint32; + description + "Number of LSA announcement messages received"; + } + leaf area-lsa-fragment-announce-messages { + type uint32; + description + "Number of LSA fragment announcement messages + received"; + } + leaf area-lsa-delete-messages { + type uint32; + description + "Number of LSA delete messages received"; + } + leaf area-lsa-fragment-delete-messages { + type uint32; + description + "Number of LSA fragment delete messages received"; + } + leaf area-tunnel-announce-messages { + type uint32; + description + "Number of tunnel announcement messages sent"; + } + } + + grouping TE-SH-IGP-AREA-ACTIVE { + description + "Data relating to an active IGP area"; + container area-statistics { + description + "Area communication statistics"; + uses TE-SH-IGP-AREA-STATS; + } + leaf interfaces-count { + type uint32; + description + "Number of interfaces running over this area"; + } + leaf link-idt-received { + type boolean; + description + "Flag to indicate IDT for link adjacencies was + received"; + } + leaf topology-idt-received { + type boolean; + description + "Flag to indicate IDT topology was received"; + } + leaf sr-strict { + type boolean; + description + "Flag to indicate if the area is SR strict"; + } + leaf p2p-heads-count { + type uint32; + description + "Number of p2p tunnel heads whose path was + calculated over this area"; + } + leaf p2p-autoroute-announced-count { + type uint32; + description + "Number of p2p tunnel heads which have been + autoroute-announced into this area"; + } + leaf p2p-forwarding-adjacency-count { + type uint32; + description + "Number of p2p tunnel heads which have been + announced as forwarding adjacencies in this area"; + } + leaf p2mp-destination-count { + type uint32; + description + "Number of P2MP destinations whose path was + calculated over this area"; + } + leaf tunnel-loose-hops { + type uint32; + description + "Number of tunnels with a loose hop ERO expanded + in this area"; + } + } + + grouping TE-SH-IGP-AREA { + description + "An IGP area"; + container active-data { + description + "Data which applies only to an active area"; + uses TE-SH-IGP-AREA-ACTIVE; + } + leaf area-index { + type uint32; + description + "Internal area index"; + } + leaf area-number { + type uint32; + description + "Area number"; + } + leaf area-format { + type Igp-ospf-area-format; + description + "IGP Area Format"; + } + leaf is-config-ready { + type boolean; + description + "Indicates whether or not the area is correctly + configured under the IGP submode to run TE"; + } + } + + grouping TE-SH-IGP { + description + "An IGP instance"; + leaf igp-type { + type Igp-protocol; + description + "IGP type"; + } + leaf instance-name { + type string; + description + " The IGP instance name"; + } + leaf igp-system-id { + type string; + description + " The IGP instance's system/router-id; interpret + appropriately depending on IGP type"; + } + leaf configured-te-router-id { + type inet:ipv4-address; + description + "Configured TE router-id"; + } + leaf global-router-id { + type inet:ipv4-address; + description + "Global router-id"; + } + leaf globall-router-id-optical { + type inet:ipv4-address; + description + "Global router-id for GMPLS (optical TE)"; + } + leaf in-use-te-router-id { + type inet:ipv4-address; + description + "TE router-id in use"; + } + leaf is-connection-up { + type boolean; + description + "Flag to indicate whether the IGP connection is + open or not"; + } + leaf connection-up-count { + type uint32; + description + "Number of times IGP connection has gone up"; + } + leaf connection-down-count { + type uint32; + description + "Number of times IGP connection has gone down"; + } + list secondary-router-id { + description + "Secondary router-ids"; + leaf entry { + type inet:ipv4-address; + description + "Secondary router-ids"; + } + } + list area { + description + "IGP area information"; + uses TE-SH-IGP-AREA; + } + } + + grouping MPLS-TE-FWD-ADJ-INFO { + description + "A forwarding-adjacency"; + leaf tunnel-name { + type string; + description + "The tunnel name"; + } + leaf traffic-share { + type uint32; + description + "Traffic Share"; + } + leaf hold-time { + type uint32; + units "second"; + description + "Hold time in seconds"; + } + leaf is-adjacency-up { + type boolean; + description + "True if adj is up"; + } + list ig-ps { + description + "List of IGPs to which it is announced"; + uses MPLS-TE-AREA-AFI-INFO; + } + } + + grouping MPLS-TE-FWD-ADJ-BAG { + description + " A list of forwarding-adjacencies"; + leaf adjacencies { + type uint32; + description + "Number of Forwarding Adjacencies"; + } + leaf ipv6-adjacencies { + type uint32; + description + "Number of IPv6 Forwarding Adjacencies"; + } + leaf destination-address-xr { + type inet:ipv4-address; + description + "The tunnel destination"; + } + list forward-adjacency { + description + "Forwarding-adjacency list"; + uses MPLS-TE-FWD-ADJ-INFO; + } + } + + grouping MPLS-TE-AUTOTUN-BACKUP-CONFIG-INFO { + description + "Auto-tunnel backup feature configuration + information"; + leaf is-configured { + type boolean; + description + "Indicate if auto-tunnel bacukp feature is + configured "; + } + leaf interface-count { + type uint32; + description + "Number of TE link interfaces with auto-tunnel + backup configured"; + } + leaf unused-removal-timeout-configured { + type uint32; + units "second"; + description + "Configured value of unused removal timer in + seconds"; + } + leaf min-tunnel-id { + type uint16; + description + "Lower bound of configured tunnel ID range"; + } + leaf max-tunnel-id { + type uint16; + description + "Upper bound of configured tunnel ID range"; + } + } + + grouping MPLS-TE-AUTOTUN-BACKUP-SUMMARY-INFO { + description + "Autotunnel backup summary information"; + leaf autobackups { + type uint32; + description + "Total number of autobackup tunnels"; + } + leaf up-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are up"; + } + leaf down-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are down"; + } + leaf unused-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are + unused"; + } + leaf next-hop-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are NHOP"; + } + leaf next-next-hop-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are + NNHOP"; + } + leaf srlg-strict-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are + using SRLG strict"; + } + leaf srlg-preferred-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are + using SRLG preferred"; + } + leaf srlg-weighted-autobackups { + type uint32; + description + "Total number of autobackup tunnels that are + using weighted SRLG"; + } + leaf bandwidth-protection-autobackups { + type uint32; + description + "Total number of autobackup tunnels with + bandwidth protection"; + } + leaf next-hop-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NHOP and no SRLG"; + } + leaf next-next-hop-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NNHOP and no SRLG"; + } + leaf next-hop-srlg-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NHOP and SRLG"; + } + leaf next-next-hop-srlg-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NNHOP and SRLG"; + } + leaf next-hop-bw-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NHOP and BW"; + } + leaf next-next-hop-bw-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NNHOP and BW"; + } + leaf next-hop-bwsrlg-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NHOP, BW and SRLG"; + } + leaf next-next-hop-bwsrlg-autobackup-protected-ls-ps { + type uint32; + description + "Total number of autobackup protected LSPs with + NNHOP, BW and SRLG"; + } + leaf next-hop-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NHOP and no SRLG"; + } + leaf next-next-hop-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NNHOP and no SRLG"; + } + leaf next-hop-srlg-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NHOP and SRLG"; + } + leaf next-next-hop-srlg-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NNHOP and SRLG"; + } + leaf next-hop-bw-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NHOP and BW and no SRLG"; + } + leaf next-next-hop-bw-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NNHOP and BW and no SRLG"; + } + leaf next-hop-bwsrlg-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NHOP and BW and SRLG"; + } + leaf next-next-hop-bwsrlg-autobackup-protected-s2l-families { + type uint32; + description + "Total number of autobackup protected S2L + Families with NNHOP and BW and SRLG"; + } + leaf next-hop-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NHOP and no SRLG"; + } + leaf next-next-hop-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NNHOP and no SRLG"; + } + leaf next-hop-srlg-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NHOP and SRLG"; + } + leaf next-next-hop-srlg-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NNHOP and SRLG"; + } + leaf next-hop-bw-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NHOP and BW and no SRLG"; + } + leaf next-next-hop-bw-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NNHOP and BW and no SRLG"; + } + leaf next-hop-bwsrlg-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NHOP and BW and SRLG"; + } + leaf next-next-hop-bwsrlg-autobackup-protected-s2-ls { + type uint32; + description + "Total number of autobackup protected S2Ls with + NNHOP and BW and SRLG"; + } + } + + grouping MPLS-TE-AUTOTUN-BACKUP-TUNNEL-INFO { + description + "Auto-tunnel backup brief tunnel information"; + leaf tunnel-name { + type string; + description + "Tunnel Name"; + } + leaf operational-status { + type Mpls-te-tunnel-state; + description + "Tunnel operational status"; + } + leaf srlg-mode { + type Auto-backup-srlg-mode; + description + "SRLG exclude mode for this auto-tunnel backup"; + } + leaf atb-protection-type { + type Auto-backup-protection; + description + "Type of protection offered by this auto-tunnel + backup"; + } + leaf protected-flows { + type uint32; + description + "Number of protected flows"; + } + leaf protected-interface-name { + type string; + description + "Interface protected by this auto-tunnel backup"; + } + leaf protected-router-id { + type inet:ipv4-address; + description + "Router ID of node protected by this auto-tunnel + backup"; + } + leaf bandwidth-protection { + type boolean; + description + "Tunnel provides bandwidth protection"; + } + } + + grouping MPLS-TE-AUTOTUN-MESH-ONEHOP-SUMMARY-INFO { + description + "Autotunnel mesh onehop summary information"; + leaf auto-mesh-one-hop-tunnels { + type uint32; + description + "Total number of automesh onehop tunnels"; + } + leaf up-auto-mesh-one-hop-tunnels { + type uint32; + description + "Total number of automesh onehop tunnels that are + up"; + } + leaf down-auto-mesh-one-hop-tunnels { + type uint32; + description + "Total number of automesh onehop tunnels that are + down"; + } + leaf frr-auto-mesh-tunnels { + type uint32; + description + "Total number of automesh onehop tunnels that are + FRR enabled"; + } + leaf auto-mesh-one-hop-groups { + type uint32; + description + "Total number of automesh onehop mesh-groups"; + } + leaf auto-mesh-one-hop-destinations { + type uint32; + description + "Total number of automesh onehop destinations"; + } + } + + grouping MPLS-TE-AUTOMESH-ONEHOP-TUNNEL { + description + "TE Automesh Onehop Tunnel"; + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination Address"; + } + leaf tunnel-lspid { + type uint16; + description + "LSP ID"; + } + leaf mesh-group-id { + type uint32; + description + "Meshgroup ID"; + } + leaf tunnel-state { + type Mpls-te-tunnel-state; + description + "Tunnel state"; + } + } + + grouping MPLS-TE-AUTOMESH-ONEHOP-INTERFACE { + description + "TE Automesh Onehop Interface"; + leaf interface-name-xr { + type string; + description + "Interface name"; + } + list tunnel { + description + "Onehop tunnels created for this interface"; + uses MPLS-TE-AUTOMESH-ONEHOP-TUNNEL; + } + } + + grouping MPLS-TE-AUTOTUN-MESH-CONFIG-INFO { + description + "Auto-tunnel mesh feature configuration + information"; + leaf is-configured { + type boolean; + description + "Indicate if auto-tunnel mesh feature is + configured "; + } + leaf unused-removal-timeout-configured { + type uint32; + units "second"; + description + "Configured value of unused removal timer in + seconds"; + } + leaf min-tunnel-id { + type uint16; + description + "Lower bound of configured tunnel ID range"; + } + leaf max-tunnel-id { + type uint16; + description + "Upper bound of configured tunnel ID range"; + } + } + + grouping MPLS-TE-AUTOTUN-MESH-SUMMARY-INFO { + description + "Autotunnel mesh summary information"; + leaf auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels"; + } + leaf up-auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels that are up"; + } + leaf down-auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels that are down"; + } + leaf frr-auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels that are FRR + enabled"; + } + leaf auto-mesh-groups { + type uint32; + description + "Total number of automesh mesh-groups"; + } + leaf auto-mesh-destinations { + type uint32; + description + "Total number of automesh destinations"; + } + } + + grouping MPLS-TE-MESHGROUP-DEST { + description + "TE Meshgroup destination info"; + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf operational-status { + type Mpls-te-tunnel-state; + description + "Tunnel operational status"; + } + leaf remaining-time { + type uint32; + units "second"; + description + "Remaining time for unused timer in seconds"; + } + } + + grouping MPLS-TE-MESHGROUP { + description + "TE Meshgroup info"; + leaf mesh-group-id-xr { + type uint32; + description + "Meshgroup ID"; + } + leaf is-meshgroup-disabled { + type boolean; + description + "Is the meshgroup disabled"; + } + leaf attribute-set-name { + type string; + description + "Attribute set name"; + } + leaf is-attribute-set-configured { + type boolean; + description + "Is any attribute-set associated to this + meshgroup"; + } + leaf is-attribute-set-in-db { + type boolean; + description + "Flag to indicate the existence of attribute set + found in database"; + } + leaf destination-list-name { + type string; + description + "Destination List name"; + } + leaf is-destination-list-configured { + type boolean; + description + "Is any destiantion-list associated to this + meshgroup"; + } + leaf destination-list-type { + type Te-acl; + description + "Type of the destlist"; + } + leaf remaining-time { + type uint32; + units "second"; + description + "Remaining time for recreate timer in seconds"; + } + leaf auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels"; + } + leaf auto-mesh-total-destinations { + type uint32; + description + "Total number of destinations"; + } + leaf up-auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels that are up"; + } + leaf down-auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels that are down"; + } + leaf frr-auto-mesh-tunnels { + type uint32; + description + "Total number of automesh tunnels that are FRR + enabled"; + } + leaf auto-mesh-group-type { + type Te-meshgroup; + description + "Meshgroup Type"; + } + list destination { + description + "List of destinations for this meshgroup"; + uses MPLS-TE-MESHGROUP-DEST; + } + } + + grouping MPLS-TE-AUTOTUN-PCC-SUMMARY-INFO { + description + "Stateful PCE client auto-tunnel summary + information"; + leaf pcc-auto-tunnel { + type uint32; + description + "Total number of stateful PCE client auto-tunnels"; + } + leaf up-pcc-auto-tunnels { + type uint32; + description + "Total number of stateful PCE client auto-tunnels + that are up"; + } + leaf down-pcc-auto-tunnels { + type uint32; + description + "Total number of stateful PCE client auto-tunnels + that are down"; + } + } + + grouping MPLS-TE-P2MP-TIMER-B { + description + "Description of a P2MP timer"; + leaf timer-type { + type Mpls-te-p2mp-timer; + description + "Timer Type"; + } + leaf timer-name { + type string; + description + "Timer Name"; + } + leaf start-time { + type uint32; + units "second"; + description + "Date when timer was last started in seconds"; + } + leaf expiry-time { + type uint32; + units "second"; + description + "Date when the timer last expired in seconds"; + } + leaf stop-time { + type uint32; + units "second"; + description + "Date when the timer was last stopped in seconds"; + } + leaf duration { + type uint32; + units "second"; + description + "The expiry delay in seconds"; + } + leaf is-running { + type boolean; + description + "True if the timer is running"; + } + } + + grouping MPLS-TE-P2MP-TIMERS-B { + description + "Description of P2MP timers"; + list p2mp-timer { + max-elements "30"; + description + "Description of all P2MP timers"; + uses MPLS-TE-P2MP-TIMER-B; + } + } + + grouping MPLS-TE-AREA-AFI-INFO { + description + "IGP area information including AFI"; + leaf igp-area-id { + type string; + description + "The IGP Instance and Area ID"; + } + leaf afi { + type Mpls-te-afi; + description + "AFI"; + } + } + + grouping MPLS-TE-AUTOROUTE-BAG { + description + "MPLS TE Autoroute Information"; + leaf tunnel-name { + type string; + description + "The tunnel name"; + } + leaf tunnel-sig-name { + type string; + description + "The tunnel signaled-name"; + } + leaf tunnel-loadshare { + type uint32; + description + "Tunnel loadshare"; + } + leaf announce-type { + type Mpls-te-tunnel-announce; + description + "Announcement type"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "The tunnel destination"; + } + leaf mode { + type Igpte-aa-metric-mode; + description + "Autoroute mode"; + } + leaf igp-metric { + type int32; + description + "IGP metric"; + } + leaf hold-time { + type uint32; + units "second"; + description + "Hold time in seconds"; + } + leaf area-format { + type Igp-ospf-area-format; + description + "IGP Area Format"; + } + leaf is-auto-mesh-aa { + type boolean; + description + "True if this is auto-tunnel mesh AA"; + } + leaf is-sr { + type boolean; + description + "True if this is a segment routing tunnel"; + } + leaf is-sr-strict { + type boolean; + description + "True if this is a strict SID SR tunnel"; + } + leaf mesh-group-idaa { + type uint32; + description + "MeshGroup ID for AA"; + } + leaf is-exclude-segment-routing { + type boolean; + description + "True if autoroute-announce has exclude + segment-routing option"; + } + list ig-ps { + description + "List of IGPs to which it is announced"; + uses MPLS-TE-AREA-AFI-INFO; + } + } + + grouping MPLS-TE-ANNOUNCEMENT-DEST-BAG { + description + "The summary info of announcements for a + destination and an IGP area"; + leaf igp-type { + type Igp-protocol; + description + "IGP type"; + } + leaf igp-instance { + type string; + description + "IGP Instance name"; + } + leaf igp-area { + type uint32; + description + "IGP Area ID"; + } + leaf destination { + type inet:ipv4-address; + description + "Destination"; + } + leaf announced-tunnels-count { + type uint16; + description + "The number of announced tunnels"; + } + leaf autorouted-tunnels-count { + type uint16; + description + "The number of tunnels that are announced as + shortcuts"; + } + leaf forwarding-adjacency-tunnels-count { + type uint16; + description + "The number of tunnels that are announced as + forwarding adjacencies"; + } + leaf area-format { + type Igp-ospf-area-format; + description + "The format for the area: IPv4 address or a + positive integer"; + } + list total-tunnel { + description + "Announced tunnels for this destination"; + uses MPLS-TE-AUTOROUTE-BAG; + } + } + + grouping MPLS-TE-TOPOLOGY-LINK-LOSS { + description + "MPLS TE Link Loss Attribute"; + leaf anomalous-bit { + type boolean; + description + "Anomalous (A) Bit"; + } + leaf loss-value { + type uint32; + description + "Loss Value"; + } + } + + grouping MPLS-TE-TOPOLOGY-LINK-MIN-MAX-DELAY { + description + "MPLS TE Link Loss Attribute"; + leaf anomalous-bit { + type boolean; + description + "Anomalous (A) Bit"; + } + leaf minimum-delay { + type uint32; + description + "Mimimum measured link delay value in usec"; + } + leaf maximum-delay { + type uint32; + description + "Maximum measured link delay value in usec"; + } + } + + grouping MPLS-TE-TOPOLOGY-LINK-BW-STD-DETAIL { + description + "Detailed DSTE bandwidth information for a link"; + list topo-link-std-bw-allocated { + max-elements "8"; + description + "Link's allocated bandwidth per class"; + leaf entry { + type uint32; + description + "Link's allocated bandwidth per class"; + } + } + list topo-link-std-bw-available { + max-elements "8"; + description + "Link's available bandwidth per class"; + leaf entry { + type uint32; + description + "Link's available bandwidth per class"; + } + } + } + + grouping MPLS-TE-TOPOLOGY-LINK-BW-STD { + description + "IETF_standard bandwidth information for a link + belonging to a node in the MPLS TE topology"; + container topo-link-std-bw-detail { + description + "Detailed bandwidth information for this link"; + uses MPLS-TE-TOPOLOGY-LINK-BW-STD-DETAIL; + } + leaf topo-link-std-bw-physical { + type uint32; + description + "The link's physical bandwidth"; + } + leaf topo-link-std-bw-res-max { + type uint32; + description + "The link's maximum reservable bandwidth"; + } + leaf topo-link-std-bw-res-pool0 { + type uint32; + description + "The link's reservable BC0 bandwidth"; + } + leaf topo-link-std-bw-res-pool1 { + type uint32; + description + "The link's reservable BC1 bandwidth"; + } + } + + grouping MPLS-TE-TOPOLOGY-LINK-BW-PRESTD-DETAIL { + description + "Detailed pre-standard bandwidth information for a + link"; + list topology-link-prestandard-bandwidth-allocated { + max-elements "8"; + description + "Link's allocated bandwidth at priority levels + + (priority 0 to priority 7)"; + leaf entry { + type uint32; + description + "Link's allocated bandwidth at priority levels + + (priority 0 to priority 7)"; + } + } + list topology-link-prestandard-bandwidth-available-global { + max-elements "8"; + description + "Link's available global-pool bandwidth at + + priority levels (priority 0 to priority 7)"; + leaf entry { + type uint32; + description + "Link's available global-pool bandwidth at + + priority levels (priority 0 to priority 7)"; + } + } + list topology-link-prestandard-bandwidth-available-subpool { + max-elements "8"; + description + "Link's available sub-pool bandwidth at priority + + levels (priority 0 to priority 7)"; + leaf entry { + type uint32; + description + "Link's available sub-pool bandwidth at priority + + levels (priority 0 to priority 7)"; + } + } + } + + grouping MPLS-TE-TOPOLOGY-LINK-BW-PRESTD { + description + "Pre-standard bandwidth information for a link + belonging to a node in the MPLS TE topology"; + container topology-link-prestandard-bandwidth-detail { + description + "Detailed bandwidth information for this link"; + uses MPLS-TE-TOPOLOGY-LINK-BW-PRESTD-DETAIL; + } + leaf topology-link-prestandard-bandwidth-physical { + type uint32; + description + "The link's physical bandwidth"; + } + leaf topology-link-prestandard-bandwidth-reservation-global { + type uint32; + description + "The link's reservable global bandwidth"; + } + leaf topology-link-prestandard-bandwidth-reservation-subpool { + type uint32; + description + "The link's reservable subpool bandwidth"; + } + } + + grouping MPLS-TE-TOPOLOGY-LINK-BW { + description + "Bandwidth information for a link"; + container topology-link-bandwidth-prestandard { + when "../bandwidth-migration-mode = 'rrr-dste-mode-prestandard'" { + description + "../BandwidthMigrationMode = + 'RRR_DSTEModePrestandard'"; + } + description + "Pre-standard bandwidth information for this link"; + uses MPLS-TE-TOPOLOGY-LINK-BW-PRESTD; + } + container topology-link-bandwidth-standard { + when "../bandwidth-migration-mode = 'rrr-dste-mode-standard'" { + description + "../BandwidthMigrationMode = + 'RRR_DSTEModeStandard'"; + } + description + "IETF-standard bandwidth information for this + link"; + uses MPLS-TE-TOPOLOGY-LINK-BW-STD; + } + leaf bandwidth-migration-mode { + type Rrr-dste-migration-mode; + description + "BandwidthMigrationMode"; + } + } + + grouping MPLS-TE-TOPOLOGY-LINK { + description + "A link belonging to a node in the MPLS TE + topology"; + container topology-link-bandwidth { + description + "Bandwidth information for this link"; + uses MPLS-TE-TOPOLOGY-LINK-BW; + } + container odu-link-capabilities { + description + "ODU Link Capabilities"; + uses ODU-LINK-CAPABILITIES; + } + container min-max-delay { + description + "Minimum and maximum measured link delay"; + uses MPLS-TE-TOPOLOGY-LINK-MIN-MAX-DELAY; + } + container loss { + description + "Link Loss"; + uses MPLS-TE-TOPOLOGY-LINK-LOSS; + } + leaf topology-link-type { + type Igp-subnet; + description + "Link type"; + } + leaf topology-link-interface-address { + type inet:ipv4-address; + description + "Link's local interface address"; + } + leaf topology-link-interface-id { + type uint32; + description + "Link's local interface ID"; + } + leaf topology-link-neighbor-address { + type inet:ipv4-address; + description + "Link's neighbor interface address"; + } + leaf topology-link-neighbor-id { + type uint32; + description + "Link's neighbor interface ID"; + } + leaf topology-link-neighbor-system-id { + type string; + description + "System id of neighbor"; + } + leaf topology-link-neighbor-node-id { + type uint32; + description + "Node id of neighbor"; + } + leaf topology-link-neighbor-generation { + type uint32; + description + "Neighbor's link version counter"; + } + leaf topology-link-fragment-id { + type uint32; + description + "Neighbor's link version counter"; + } + leaf topology-link-te-metric { + type uint32; + description + "The link's TE metric"; + } + leaf topology-link-igp-metric { + type uint32; + description + "The link's IGP metric"; + } + leaf topology-link-uni-delay { + type uint32; + description + "Unidirectional Link Delay in micro-sec"; + } + leaf topology-link-affinity-bits { + type uint32; + description + "Deprecated"; + } + leaf topology-link-switching-capability { + type uint8; + description + "The link's switching capability"; + } + leaf topology-link-encoding { + type uint8; + description + "The link's encoding"; + } + leaf topology-link-bandwidth-model { + type Igpte-lib-bw-model; + description + "The link's topology bandwidth model"; + } + leaf delay-variation { + type uint32; + description + "Delay Variation"; + } + leaf residual-bandwidth { + type uint32; + description + "Residual Bandwidth (kbytes per seconds)"; + } + leaf available-bandwidth { + type uint32; + units "byte/s"; + description + "Available Bandwidth (kbytes per second)"; + } + leaf utilized-bandwidth { + type uint32; + units "byte/s"; + description + "Utilized Bandwidth (kbytes per second)"; + } + list topology-link-extended-affinity-bit { + description + "The link's affinity bits (colors)"; + leaf entry { + type uint32; + description + "The link's affinity bits (colors)"; + } + } + list shared-risk-link-group { + description + "The link's shared risk link groups"; + uses MPLS-SRLG-INFO; + } + list adjacency-sid { + description + "Adjacency SIDs assigned for adjacency nodes"; + uses TE-SR-ADJ-SID; + } + } + + grouping MPLS-TE-TOPOLOGY-NODE { + description + "A node in the MPLS TE topology"; + container topology-node-sid-and-srbg { + description + "This node's SID and SRBG information"; + uses TE-SR-NODE-INFO; + } + leaf topology-node-te-router-id { + type inet:ipv4-address; + description + "The node's TE router-id. Not set for network + nodes"; + } + leaf topology-node-overloaded { + type boolean; + description + "Flag to indicate whether this node is overloaded"; + } + list topology-node-te-secondary-router-id { + description + "The node's TE secondary router-ids array"; + leaf entry { + type inet:ipv4-address; + description + "The node's TE secondary router-ids array"; + } + } + list topology-node-link { + description + "This node's link information"; + uses MPLS-TE-TOPOLOGY-LINK; + } + } + + grouping TE-FIB-NH-PATH-BAG { + description + "TE FIB NH PATH BAG"; + leaf interface { + type xr:Interface-name; + description + "Outgoing Interface"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next Hop Address"; + } + leaf path-id { + type uint32; + description + "Path ID"; + } + leaf backup-path-id { + type uint32; + description + "Backup Path Identifier"; + } + leaf pure-backup { + type boolean; + description + "Pure Backup"; + } + list label-stack { + description + "Outgoing Label Stack"; + leaf entry { + type uint32; + description + "Outgoing Label Stack"; + } + } + } + + grouping TE-TARGET-ADDR { + description + "TE Target Address Union"; + leaf type { + type Te-target-addr; + description + "type"; + } + leaf ip-address { + when "../type = 'te-target-type-ipv4'" { + description + "../type = 'TETargetTypeIPv4'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf label { + when "../type = 'te-target-type-label'" { + description + "../type = 'TETargetTypeLabel'"; + } + type uint32; + description + "MPLS Label"; + } + } + + grouping TE-FIB-NH-ROUTE-BAG { + description + "TE FIB NH ROUTE BAG"; + container target-address { + description + "Next Hop Target Address"; + uses TE-TARGET-ADDR; + } + leaf prefix-addr { + type inet:ipv4-address; + description + "Deprecated - replaced by TargetAddress"; + } + leaf create-time { + type uint32; + description + "Create Time"; + } + leaf last-used-time { + type uint32; + description + "Last Used Time"; + } + leaf last-update-time { + type uint32; + description + "Last Update Time"; + } + leaf expire-time { + type uint32; + description + "Expire Time"; + } + leaf is-registered { + type boolean; + description + "Is Registered"; + } + leaf is-notified { + type boolean; + description + "Is Notified"; + } + leaf is-stale { + type boolean; + description + "Is Stale"; + } + leaf route-version { + type uint64; + description + "Route version"; + } + list next-hop-path { + description + "Next Hop Paths"; + uses TE-FIB-NH-PATH-BAG; + } + } + + grouping NODE-ID { + description + "NODE ID"; + leaf node-id { + type string; + description + "Node Identifier"; + } + } + + grouping TE-SR-BACKUP-PATH { + description + "Segment-Routing backup path"; + leaf outgoing-interface { + type string; + description + "Outgoing Interface Name"; + } + leaf next-hop { + type inet:ipv4-address; + description + "Next hop"; + } + list outgoing-labels-stack { + description + "Outgoing Labels Stack"; + leaf entry { + type uint32; + description + "Outgoing Labels Stack"; + } + } + list outgoing-strict-labels-stack { + description + "Outgoing Labels Stack for Strict SPF"; + leaf entry { + type uint32; + description + "Outgoing Labels Stack for Strict SPF"; + } + } + } + + grouping TE-SR-PRIMARY-PATH { + description + "Segment-Routing primary path"; + leaf outgoing-interface { + type string; + description + "Outgoing Interface Name"; + } + leaf outgoing-label { + type uint32; + description + "Outgoing Label"; + } + leaf outgoing-strict-label { + type uint32; + description + "Outgoing Label for Strict SPF"; + } + leaf next-hop { + type inet:ipv4-address; + description + "Next hop"; + } + leaf path-id { + type uint32; + description + "Path Identifier"; + } + leaf backup-path-id { + type uint32; + description + "Backup Path Identifier"; + } + } + + grouping TE-SR-PATH { + description + "Segment-Routing path"; + container primary-path { + description + "Primary Segment-Routing Path"; + uses TE-SR-PRIMARY-PATH; + } + container backup-path { + description + "Backup Segment-Routing Path"; + uses TE-SR-BACKUP-PATH; + } + leaf has-backup-path { + type boolean; + description + "Backup Path is available"; + } + } + + grouping TE-SR-PREFIX { + description + "MPLS TE Segment-Routing Prefix information"; + container igp-area { + description + "An IGP area where the prefix belongs to"; + uses TE-SR-IGP-AREA; + } + leaf prefix-xr { + type inet:ipv4-address; + description + "Prefix"; + } + leaf prefix-length-xr { + type uint8; + description + "Length of the prefix"; + } + leaf prefix-sid { + type uint32; + description + "Segment-Routing prefix SID"; + } + leaf prefix-strict-sid { + type uint32; + description + "Segment-Routing prefix Strict SID"; + } + leaf flag-r { + type boolean; + description + "Prefix-SID subTLV R-flag"; + } + leaf flag-n { + type boolean; + description + "Prefix-SID subTLV N-flag"; + } + leaf flag-p { + type boolean; + description + "Prefix-SID subTLV P-flag"; + } + leaf flag-e { + type boolean; + description + "Prefix-SID subTLV E-flag"; + } + leaf flag-v { + type boolean; + description + "Prefix-SID subTLV V-flag"; + } + leaf flag-l { + type boolean; + description + "Prefix-SID subTLV L-flag"; + } + leaf strict-flag-p { + type boolean; + description + "Prefix-SID subTLV P-flag for strict SID"; + } + leaf strict-flag-e { + type boolean; + description + "Prefix-SID subTLV E-flag for strict SID"; + } + leaf strict-flag-v { + type boolean; + description + "Prefix-SID subTLV V-flag for strict SID"; + } + leaf strict-flag-l { + type boolean; + description + "Prefix-SID subTLV L-flag for strict SID"; + } + list sr-path { + description + "Segment-Routing paths to prefix"; + uses TE-SR-PATH; + } + list advertizing-node { + description + "Advertizing nodes"; + uses NODE-ID; + } + list strict-advertizing-node { + description + "Advertizing nodes for Strict SPF"; + uses NODE-ID; + } + } + + grouping TE-SR-ADJ-SID { + description + "A link's Segment-Routing Adjacency information"; + leaf adjacency-sid { + type uint32; + description + "The adjacency SID assigned for the topology node"; + } + leaf link-type { + type Igp-subnet; + description + "Link Type"; + } + leaf local-addr { + type inet:ipv4-address; + description + "Local Address"; + } + leaf remote-addr { + type inet:ipv4-address; + description + "Remote Address"; + } + leaf nbr-node-igpid { + type string; + description + "The neighbor node's IGP ID"; + } + leaf nbr-node-te-router-id { + type inet:ipv4-address; + description + "The neigbor node's TE router-id"; + } + leaf flag-f { + type boolean; + description + "IGP Flag F"; + } + leaf flag-b { + type boolean; + description + "IGP Flag B"; + } + leaf flag-v { + type boolean; + description + "IGP Flag V"; + } + leaf flag-l { + type boolean; + description + "IGP Flag L"; + } + leaf flag-s { + type boolean; + description + "IGP Flag S"; + } + } + + grouping TE-SR-LINK-INFO { + description + "A link belonging to a node"; + leaf topology-link-type { + type Igp-subnet; + description + "Link type"; + } + leaf topology-link-interface-address { + type inet:ipv4-address; + description + "Link's local interface address"; + } + leaf topology-link-interface-id { + type uint32; + description + "Link's local interface ID"; + } + leaf topology-link-neighbor-address { + type inet:ipv4-address; + description + "Link's neighbor interface address"; + } + leaf topology-link-neighbor-id { + type uint32; + description + "Link's neighbor interface ID"; + } + leaf topology-link-neighbor-system-id { + type string; + description + "System id of neighbor"; + } + leaf topology-link-neighbor-node-id { + type uint32; + description + "Node id of neighbor"; + } + leaf topology-link-neighbor-generation { + type uint32; + description + "Neighbor's link version counter"; + } + leaf topology-link-fragment-id { + type uint32; + description + "Neighbor's link version counter"; + } + leaf topology-link-te-metric { + type uint32; + description + "The link's TE metric"; + } + leaf topology-link-igp-metric { + type uint32; + description + "The link's IGP metric"; + } + list topology-link-extended-affinity-bit { + description + "The link's affinity bits (colors)"; + leaf entry { + type uint32; + description + "The link's affinity bits (colors)"; + } + } + list shared-risk-link-group { + description + "The link's shared risk link groups"; + uses MPLS-SRLG-INFO; + } + list adjacency-sids { + description + "Adjacency SIDs assigned for adjacency nodes"; + uses TE-SR-ADJ-SID; + } + } + + grouping TE-SR-NODE-INFO { + description + "MPLS TE Node's Segment-Routing Information"; + leaf segment-id { + type uint32; + description + "Segment-Routing Node-SID"; + } + leaf segment-id-local-absolute-value { + type uint32; + description + "Node-SID local absolute value"; + } + leaf srgb-start { + type uint32; + description + "Segment-Routring global block start value"; + } + leaf srgb-size { + type uint32; + description + "Segment-Routing global block size"; + } + } + + grouping TE-SR-NODE { + description + "MPLS TE Segment-Routing Node topology information"; + container igp-area { + description + "IGP area which this node belongs to"; + uses TE-SR-IGP-AREA; + } + container sr-node-info { + description + "Segment-Routing Node information"; + uses TE-SR-NODE-INFO; + } + leaf local-node-igp-id { + type string; + description + "The local node's IGP id formatted as string"; + } + leaf topology-node-is-router { + type boolean; + description + "TRUE if this is a router node; FALSE if it's a + network node"; + } + leaf local-node-te-router-id { + type inet:ipv4-address; + description + "The local node's TE router-id"; + } + leaf topology-node-overloaded { + type boolean; + description + "Flag to indicate whether this node is overloaded"; + } + list node-link { + description + "This node's link information"; + uses TE-SR-LINK-INFO; + } + } + + grouping TE-SR-IGP-AREA { + description + "A IGP area information for Segment-Routing"; + leaf segment-routing-enabled { + type boolean; + description + "True if the Segment-Routing is enabled in this + area"; + } + leaf strict-spf-enabled { + type boolean; + description + "True if the strict SPF is enabled in this area"; + } + leaf igp-type { + type Igp-protocol; + description + "IGP type"; + } + leaf igp-instance-xr { + type string; + description + "IGP Instance name"; + } + leaf igp-area { + type uint32; + description + "IGP Area ID"; + } + leaf igp-area-format { + type Igp-ospf-area-format; + description + "IGP-area format"; + } + } + + grouping MPLS-TE-STICKY-PATH { + description + "TE sticky path"; + leaf path-option-id { + type uint16; + description + "Path-option preference level"; + } + list path { + description + "Path ERO"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + } + + grouping MPLS-TE-TUNNEL-FLEX-INFO { + description + "TE Tunnel FlexLSP Information"; + leaf fault-ldi-lockout { + type boolean; + description + "Fault LDI Lockout"; + } + leaf fault-ldi { + type boolean; + description + "Fault LDI"; + } + leaf fault-lkr { + type boolean; + description + "Fault LKR"; + } + leaf fault-ais { + type boolean; + description + "Fault AIS"; + } + leaf fault-time { + type uint32; + description + "Fault Time"; + } + leaf fault-in-label { + type uint32; + description + "Fault In Label"; + } + leaf is-lockout { + type boolean; + description + "Lockout Status"; + } + leaf lockout-timestamp { + type uint32; + description + "The timestamp when the lockout is set"; + } + leaf lockout-lsp-id { + type uint16; + description + "The LSP ID of the locked out LSP"; + } + leaf origination { + type Flex-lsp-lockout-origination; + description + "Flex LSP Lockout Origination Source"; + } + } + + grouping TE-VIF-CONVERGENCE-INFO { + description + "TE tunnel convergence related information"; + container convergence-lsp { + description + "TE LSP convergence related information"; + uses TE-LSP-CONVERGENCE-INFO; + } + leaf is-convergence-in-progress { + type boolean; + description + "TE convergence in progress"; + } + leaf frr-trigger-time { + type uint64; + description + "FRR trigger time"; + } + leaf pcalc-complete-time { + type uint64; + units "nanosecond"; + description + "Path computation completion timestamp (clocktime + in nsecs)"; + } + leaf convergence-complete-time { + type uint64; + description + "TE convergence completion time"; + } + leaf binding-label-rewrite-time { + type uint64; + units "nanosecond"; + description + "Binding label timestamp (clocktime in nsecs)"; + } + leaf vif-creation-time { + type uint64; + units "nanosecond"; + description + "Vif creation timestamp (clocktime in nsecs)"; + } + } + + grouping MPLS-TE-TUNNELS-REVERSE-ERO-ERROR-BAG { + description + "MPLS TE Tunnel Reverse ERO Error Information"; + leaf reverse-lsp-id { + type uint16; + description + "Reverse LSP ID"; + } + leaf path-reject-reason-bw { + type boolean; + description + "Path Reject due to bw"; + } + leaf path-reject-reason-affinity { + type boolean; + description + "Path Reject due to affinity"; + } + leaf path-reject-reason-ip-addr { + type boolean; + description + "Path Reject due to IP address"; + } + leaf path-reject-reason-reverse-link { + type boolean; + description + "Path Reject due to reverse link"; + } + leaf path-reject-reason-ixcd { + type boolean; + description + "Path Reject due to IXCD"; + } + leaf path-reject-reason-holddown { + type boolean; + description + "Path Reject due to holddown"; + } + leaf path-reject-reason-exclude-node { + type boolean; + description + "Path Reject due to exclude node"; + } + leaf path-reject-reason-exclude-link { + type boolean; + description + "Path Reject due to exclude link"; + } + leaf path-reject-reason-exclude-srlg { + type boolean; + description + "Path Reject due to exclude SRLG"; + } + leaf path-reject-reason-hop-limit { + type boolean; + description + "Path Reject due to hop limit"; + } + leaf path-reject-reason-node-ol-unknown { + type boolean; + description + "Path Reject due to unknown node overload"; + } + leaf path-reject-reason-node-ol-head { + type boolean; + description + "Path Reject due to head node overload"; + } + leaf path-reject-reason-node-ol-mid { + type boolean; + description + "Path Reject due to mid node overload"; + } + leaf path-reject-reason-node-ol-tail { + type boolean; + description + "Path Reject due to head node overload"; + } + leaf path-reject-reason-reverse-bw { + type boolean; + description + "Path Reject due to reverse bw"; + } + leaf path-reject-reason-node-unreachable { + type boolean; + description + "Path Reject due to unreachable node"; + } + leaf path-option-index { + type uint16; + description + "Path Option Index"; + } + leaf path-option-type { + type Mte-path-option; + description + "Path Option Type"; + } + leaf ero-reject-reason { + type Te-rev-ero-reject-reasons; + description + "Reverse ERO Reject Reason"; + } + list path-calculation-error { + description + "Path Computation Information"; + uses MPLS-TE-P2MP-PCALC-ERROR; + } + } + + grouping MPLS-TE-TUNNEL-BIDIR-INFO { + description + "MPLS TE Tunnel Bidir Information"; + container reverse-ero-error-current { + description + "Reverse ERO Error Current LSP"; + uses MPLS-TE-TUNNELS-REVERSE-ERO-ERROR-BAG; + } + container reverse-ero-error-reopt { + description + "Reverse ERO Error Reopt LSP"; + uses MPLS-TE-TUNNELS-REVERSE-ERO-ERROR-BAG; + } + container reverse-ero-error-standby { + description + "Reverse ERO Error Standby LSP"; + uses MPLS-TE-TUNNELS-REVERSE-ERO-ERROR-BAG; + } + container reverse-ero-error-standby-reopt { + description + "Reverse ERO Error Standby Reopt LSP"; + uses MPLS-TE-TUNNELS-REVERSE-ERO-ERROR-BAG; + } + leaf reverse-bandwidth { + type uint32; + units "kbit/s"; + description + "Reverse Bandwidth value in kbps"; + } + leaf reverse-bandwidth-standby { + type uint32; + units "kbit/s"; + description + "Reverse Bandwidth value for standby in kbps"; + } + } + + grouping MPLS-TE-TUNNEL-RESTORATION-INFO { + description + "Restoration info of tunnel"; + leaf revert-option { + type Te-pnr-revert-options; + description + "Revertive or non-revertive"; + } + leaf diverse-lsp { + type Mpls-te-lsp-mode; + description + "LSP from which restoration LSP is DIVERSED"; + } + leaf diversity-type { + type Te-pp-diversity; + description + "Restoration path diversity type"; + } + } + + grouping MPLS-TE-TUNNEL-APS-INFO { + description + "APS Protection Info of tunnel"; + container protection-profile { + description + "Protection Profile Information of tunnel"; + uses MPLS-TE-ATTRIBUTE-SET-APS-PP; + } + leaf active-lsp { + type Mpls-te-lsp-mode; + description + "Active LSP for Incoming Data"; + } + leaf diversity-type { + type Te-pp-diversity; + description + "Standby path diversity type"; + } + } + + grouping MPLS-TE-TUNNEL-OTN-BIDIR-INFO { + description + "Bidirectional Tunnel Information"; + container aps { + description + "APS Protection Info"; + uses MPLS-TE-TUNNEL-APS-INFO; + } + container restoration { + description + "Restoration Info"; + uses MPLS-TE-TUNNEL-RESTORATION-INFO; + } + } + + grouping MPLS-TE-PATH-OPTION-DAMPENING-INFO { + description + "MPLS TE Path Option Dampening Information"; + leaf option-index { + type uint32; + description + "Path option index"; + } + leaf hold-down-time { + type uint32; + description + "Hold down time in second"; + } + leaf remained-time { + type uint32; + description + "Remained time to resignal in second"; + } + leaf backoff-count { + type uint32; + description + "Backoff count"; + } + } + + grouping MPLS-TE-TUNNEL-BFD-INFO { + description + "MPLS TE Tunnel BFD Session Information"; + container event-counters { + description + "Per tunnel BFD session event counters"; + uses MPLS-TE-BFD-LSP-COUNTERS; + } + leaf bfd-session-up { + type boolean; + description + "Tunnel BFD session state up or down"; + } + leaf session-up-time { + type uint32; + units "second"; + description + "Time in seconds since the last session state up"; + } + leaf failure-diagnostic-code { + type uint32; + description + "BFD session failure diagnostic code"; + } + leaf failure-reason { + type string; + description + "BFD session failure reason"; + } + leaf minimum-session-up-interval { + type uint32; + description + "Minimum time in mini second for session to come + up"; + } + leaf maximum-session-up-interval { + type uint32; + description + "Maximum time in mini second for session to come + up"; + } + list dampening-info { + description + "Path option dampening info"; + uses MPLS-TE-PATH-OPTION-DAMPENING-INFO; + } + } + + grouping MPLS-TE-TUNNEL-VIF-DIVERSITY-INFO { + description + "Circuit diversity information"; + leaf tunnel-id { + type uint16; + description + "Dependent Tunnel ID"; + } + } + + grouping MPLS-TE-TUNNEL-STATIC-UNI-INFO { + description + "static UNI info for both head and tail"; + container term-interface-srlg { + description + "Termination Interface SRLG"; + uses TE-TERM-INTERFACE-SRLG-CB; + } + leaf client-port { + type string; + description + "Ingress Client Port"; + } + leaf client-if-handle { + type xr:Interface-name; + description + "Ingress Client Port Ifhandle"; + } + leaf client-odu-name { + type string; + description + "Client Odu Name"; + } + leaf client-odu-if-handle { + type xr:Interface-name; + description + "Client Odu Interface"; + } + leaf cross-connect-id { + type uint32; + description + "Cross connect id"; + } + leaf is-connected { + type boolean; + description + "True if client port is connected"; + } + leaf uptime { + type uint32; + description + "Client Port Uptime"; + } + leaf local-termination { + type Mpls-te-termination; + description + "Local Termination Type"; + } + leaf static-uni-type { + type Mpls-te-uni; + description + "Static uni type"; + } + leaf term-client-port { + type string; + description + "Termination Ingress Client Port"; + } + leaf term-client-if-handle { + type xr:Interface-name; + description + "Termination Ingress Client Port Ifhandle"; + } + } + + grouping MPLS-TE-TUNNEL-OTN-INFO { + description + "OTN tunnel's OTN technology information"; + container bandwidth-cfg { + description + "Configured OTN Bandwidth for tunnel"; + uses TE-ODU-V3-BW; + } + leaf config-bit-rate { + type uint32; + units "kbit/s"; + description + "Configured OTN Bandwidth in kbps"; + } + } + + grouping MPLS-TE-TRANSPORT-TUNNEL-INFO { + description + "Transport Tunnel information"; + container otn { + description + "Info Related to OTN technology in S2L"; + uses MPLS-TE-TUNNEL-OTN-INFO; + } + container static-uni { + description + "Tunnel Static UNI Info"; + uses MPLS-TE-TUNNEL-STATIC-UNI-INFO; + } + container egress-static-uni { + description + "Tunnel EgressStatic UNI Info"; + uses MPLS-TE-TUNNEL-EGRESS-STATIC-UNI-INFO; + } + leaf status-homepath-working { + type boolean; + description + "Status of working homepath"; + } + list homepath-ero { + description + "Homepath ero for working lsp"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + list diversity-info { + description + "Diversity Info"; + uses MPLS-TE-TUNNEL-VIF-DIVERSITY-INFO; + } + } + + grouping MPLS-TE-MGMT-WDM-UNI-TUNNEL-INFO { + description + "GMPLS WDM-UNI tunnel information"; + leaf tunnel-state { + type Mpls-te-tunnel-state; + description + "Tunnel state"; + } + leaf tunnel-role { + type Mpls-te-tunnel-role; + description + "Tunnel Role"; + } + leaf tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf lsp-id { + type uint16; + description + "LSP ID"; + } + leaf local-optical-router-id { + type inet:ipv4-address; + description + "Local optical router id"; + } + leaf remote-optical-router-id { + type inet:ipv4-address; + description + "Remote optical router id"; + } + leaf controlled-interface { + type string; + description + "Interface being controlled"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source address"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "Extended tunnel-id"; + } + leaf label-origin { + type Mpls-te-mgmt-gmpls-label-origin; + description + "Label origin"; + } + leaf srlg-discovery { + type boolean; + description + "SRLG-discovery enabled"; + } + } + + grouping MPLS-TE-SOFT-PREEMPTION-HEAD-COUNTERS { + description + "Headend Soft Preemption Counters"; + leaf soft-preemption-events { + type uint32; + description + "The number of soft preemption events"; + } + leaf reopt-completed-ls-ps { + type uint32; + description + "The number of soft preempted LSPs that were torn + down by the ingress router after the reopt LSP + was successfully setup."; + } + leaf torn-down-ls-ps { + type uint32; + description + "The number of soft preempted LSPs that were torn + down by the headend or any remote + node before the reoptimization is done."; + } + leaf path-protection-switchover-ls-ps { + type uint32; + description + "The number of soft preempted LSPs that were + switched over to a standby LSP."; + } + leaf frr-triggered-ls-ps { + type uint32; + description + "The number of soft preempted LSPs that were fast + rerouted at the headend or any + remote node before the reoptimization is done."; + } + leaf time-in-preemption-pending-min { + type uint16; + units "second"; + description + "The minimum time in seconds that an LSP was in + preemption pending state"; + } + leaf time-in-preemption-pending-max { + type uint16; + units "second"; + description + "The maximum time in seconds that an LSP was in + preemption pending state"; + } + leaf time-in-preemption-pending-avg { + type uint16; + units "second"; + description + "The average time in seconds that an LSP was in + preemption pending state"; + } + } + + grouping MPLS-TE-SOFT-PREEMPTION-PATH-ERROR { + description + "Information for a soft preemption path error"; + leaf timestamp { + type uint32; + description + "The POSIX timestamp when the soft preemption + error is received"; + } + leaf preempting-link-address { + type inet:ipv4-address; + description + "The address of the link where the preemption + happened"; + } + } + + grouping MPLS-TE-SOFT-PREEMPTION-TUNNEL-INFO { + description + "Headend Soft Preemption Tunnel Info"; + container soft-preemption-counters { + description + "The soft preemption counters for this tunnel + head"; + uses MPLS-TE-SOFT-PREEMPTION-HEAD-COUNTERS; + } + leaf status { + type Mpls-te-soft-preemption-state; + description + "The preemption state"; + } + leaf time-in-preemption-pending { + type uint16; + units "second"; + description + "The number of seconds that were spent in the + preemption-pending state"; + } + leaf preemption-pending-resolution { + type Mpls-te-soft-preemption-resolution; + description + "Indicates how the soft preemption operation + ended"; + } + list soft-preemption-path-error { + description + "The array of soft preemption path errors info + received for the LSP that is being soft + preempted"; + uses MPLS-TE-SOFT-PREEMPTION-PATH-ERROR; + } + } + + grouping MPLS-TE-PCE-DELEGATION-INFO { + description + "MPLS TE PCE Delegation Information"; + leaf plsp-id { + type uint32; + description + "PLSP ID"; + } + leaf symbolic-name { + type string; + description + "Symbolic name"; + } + leaf owner-address { + type inet:ipv4-address; + description + "Address of owner node"; + } + leaf operationally-up { + type boolean; + description + "Operationally up"; + } + } + + grouping MPLS-TE-AUTOPCC-INFO { + description + "MPLS TE Auto-PCC Information"; + leaf owner-address { + type inet:ipv4-address; + description + "Address of owner node"; + } + leaf creator-address { + type inet:ipv4-address; + description + "Address of creating node"; + } + leaf has-creator-id { + type boolean; + description + "Indicates if the ID of the creating node is set"; + } + leaf creator-id { + type string; + description + "ID of creating node"; + } + leaf plspid { + type uint32; + description + "PLSP ID"; + } + leaf symbolic-name { + type string; + description + "Symbolic name"; + } + leaf operationally-up { + type boolean; + description + "Operationally up"; + } + } + + grouping MPLS-TE-AUTOMESH-INFO { + description + "MPLS TE Automesh Information"; + leaf mesh-group-id { + type uint32; + description + "Auto-mesh tunnel Mesh Group ID"; + } + leaf tunnel-destination-list-name { + type string; + description + "Destination List name"; + } + leaf is-tunnel-unused-timer-running { + type boolean; + description + "Flag to indicate whether unused timer running"; + } + leaf remaining-unused-time { + type uint32; + units "second"; + description + "Remaining time for unused timer in seconds"; + } + leaf mesh-group-type { + type Te-meshgroup; + description + "Auto-tunnel mesh group type"; + } + } + + grouping MPLS-TE-IEP-HOP-BAG { + description + "MPLS IEP Hop information"; + leaf hop-index { + type uint32; + description + "Hop Index"; + } + leaf iep-hop-type { + type Mpls-te-iep-hop; + description + "IEP type"; + } + leaf iep-hop-address { + type inet:ipv4-address; + description + "IEP Hop Address"; + } + } + + grouping MPLS-TE-IEP-BAG { + description + "MPLS TE IEP"; + leaf path-option-id { + type uint32; + description + "Path option ID this IEP is associated with"; + } + list iep-hop { + description + "IEP Hop List"; + uses MPLS-TE-IEP-HOP-BAG; + } + } + + grouping MPLS-TE-WSRLG-HOP-BAG { + description + "Weighted SRLG info for a hop of the autobackup + tunnel"; + leaf from-address { + type inet:ipv4-address; + description + "Local IP address"; + } + leaf to-address { + type inet:ipv4-address; + description + "Remote IP address"; + } + leaf aggregate-admin-weight { + type uint64; + description + "Sum of the admin weights for all the common SRLG + values"; + } + list common-srlg { + description + "Common SRLG between this hop and the protected + + interface"; + leaf entry { + type uint32; + description + "Common SRLG between this hop and the protected + + interface"; + } + } + } + + grouping MPLS-TE-WSRLG-VALUE-BAG { + description + "MPLS TE weighted SRLGs"; + leaf srlg { + type uint32; + description + "SRLG number"; + } + leaf srlg-name { + type string; + description + "SRLG name"; + } + leaf admin-weight { + type uint32; + description + "Admin weight"; + } + } + + grouping MPLS-TE-WSRLG-INFO-BAG { + description + "MPLS TE weighted SRLG information for the + autobackup tunnels"; + list protected-interface-srlg { + description + "SRLG values and admin weight penalties of the + protected interface"; + uses MPLS-TE-WSRLG-VALUE-BAG; + } + list weighted-srlg-hop { + description + "Autobackup hops and the common SRLG with the + protected interface"; + uses MPLS-TE-WSRLG-HOP-BAG; + } + } + + grouping MPLS-TE-AUTOBACKUP-INFO { + description + "MPLS TE Autobackup Information"; + container weighted-srlg-info { + description + "Weighted SRLG info for the autobackup tunnel"; + uses MPLS-TE-WSRLG-INFO-BAG; + } + leaf protected-ls-ps { + type uint32; + description + "Number Of Protected LSPs"; + } + leaf protected-s2-ls { + type uint32; + description + "Number of Protected S2Ls"; + } + leaf sharing-families { + type uint32; + description + "Number of S2L Sharing Families"; + } + leaf ab-protection-type { + type Auto-backup-protection; + description + "Protection type"; + } + leaf is-using-srlg { + type boolean; + description + "Indicates whether SRLG Path Option is in use"; + } + leaf srlg-prot-type { + type Auto-backup-srlg-mode; + description + "SRLG Protection Type"; + } + leaf ab-protected-interface { + type string; + description + "Protected Interface"; + } + leaf protected-address { + type inet:ipv4-address; + description + "Protected Address"; + } + leaf tunnel-attribute-set-name { + type string; + description + "AttributeSet name"; + } + leaf is-unused-removal-timer-running { + type boolean; + description + "Indicates if the unused removal timer is running"; + } + leaf unused-removal-remaining-time { + type uint32; + units "second"; + description + "Time Remaining in Unused Removal Time in seconds"; + } + list iep { + description + "List of IEPs for the path options on this tunnel"; + uses MPLS-TE-IEP-BAG; + } + } + + grouping TE-PP-SW-LOG-ENTRY-BAG { + description + "Path protection log entry"; + leaf path-protection-switchover-event-index { + type uint32; + description + "The index number of the path protection switch + over event"; + } + leaf path-protection-tunnel-id { + type uint16; + description + "The ID of the tunnel that experienced switchover"; + } + leaf from-lsp-id { + type uint16; + description + "The LSP ID from which the traffic was switched + over"; + } + leaf to-lsp-id { + type uint16; + description + "The LSP ID to which the traffic was switched + over"; + } + leaf date-of-error-detection { + type uint32; + units "second"; + description + "The date when the error that caused the + switchover was detected. This date is the number + of seconds since Jan 1st 1970"; + } + leaf date-of-error-detection-millisec { + type uint32; + units "millisecond"; + description + "The milliseconds offset of the date when the + error that caused the switchover was detected."; + } + leaf switchover-duration-millisec { + type uint32; + units "millisecond"; + description + "The time in milliseconds between the detection + of the error and switching the traffic"; + } + leaf path-protection-switchover-reason { + type Te-p2mp-s2l-deletion-subcause; + description + "The reason that caused the path protection + switchover"; + } + } + + grouping MPLS-TE-PP-INFO { + description + "MPLS TE Path Protected Switchover Information"; + container switchover { + description + "Path Protected Switchover Information"; + uses TE-PP-SW-LOG-ENTRY-BAG; + } + leaf time-of-switchover-sec { + type uint32; + units "second"; + description + "The date when the switchover was completed. This + date is the number of seconds since Jan 1st 1970"; + } + leaf switchover-total { + type uint16; + description + "Number of times switchover occurred"; + } + leaf switchover-ready { + type uint16; + description + "Total times, Standby LSP ready for use"; + } + leaf standby-reoptimized-number { + type uint16; + description + "Number of times the standby LSP was reoptimized"; + } + leaf switchover-reason { + type uint16; + description + "Reason for last switchover"; + } + leaf diversity-type { + type Te-pp-diversity; + description + "Standby path diversity type"; + } + leaf is-path-protect-configured { + type boolean; + description + "Is Path Protection Configured"; + } + leaf path-protection-protected-by-id { + type uint32; + description + "The path option ID (level/index) of the + configured explicit protecting path"; + } + leaf valid-path-protection-path-option-exists { + type boolean; + description + "Flag to indicate whether tunnel has a + path-option which is valid for path-protection"; + } + leaf is-path-protect-switch-over-underway { + type boolean; + description + "Is Switchover Underway"; + } + leaf reoptimization-time-remaining { + type uint32; + units "second"; + description + "Remaining time until path protection + reoptimization (seconds)"; + } + } + + grouping MPLS-TE-TUNNELS-TUNNEL-LAST-REOPT-FAIL-INFO { + description + "Last re-opt failure reason/information if + applicable"; + leaf re-opt-last-fail-reason { + type Mpls-te-reopt-decision-reason; + description + "Reason (if any) for the last re-opt attempt + failure"; + } + leaf re-opt-failed-destination { + type inet:ipv4-address; + description + "First tunnel destination (if any) in re-opt LSP + that failed to come up"; + } + leaf re-opt-failed-timestamp { + type uint32; + units "second"; + description + "Time stamp of the last re-opt failure. (seconds + since Jan. 1, 1970)"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-STANDBY-SETUP { + description + "History information for standby setup"; + leaf standby-lsp-uptime { + type uint32; + units "second"; + description + "Time in seconds since the standby LSP was up"; + } + leaf standby-setup-timer { + type uint32; + units "second"; + description + "Time in seconds until the next attempt to + connect this setup"; + } + leaf protection-role { + type Te-lsp-path-protection-role; + description + "Path Protection Role"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-OTHER-SETUP { + description + "History information for additional GMPLS setup"; + leaf path-option-index { + type uint32; + description + "Path option index for the additional setup"; + } + leaf other-setup-error { + type string; + description + "The last error for the additional setup"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-PREVIOUS-PROTECT { + description + "History information for previous protecting GMPLS + current setup"; + leaf previous-protect-path-option { + type string; + description + "The previous protect setup path option"; + } + leaf previous-protect-tunnel-instance { + type uint32; + description + "The previous protect setup's instance"; + } + leaf previous-protect-fail-reason { + type string; + description + "Reason for the previous protect setup's failure"; + } + leaf previous-protect-setup-last-error { + type string; + description + "The last error for the previous setup"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-PREVIOUS { + description + "History information for previous current setup"; + leaf previous-path-option { + type string; + description + "The previous setup path option"; + } + leaf previous-tunnel-instance { + type uint32; + description + "The previous setup's instance"; + } + leaf previous-fail-reason { + type string; + description + "Reason for the previous setup's failure"; + } + leaf previous-setup-last-error { + type string; + description + "The last error for the previous setup"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-PATH-PROTECT { + description + "History information for protecting setup"; + leaf protecting-setup-uptime { + type uint32; + units "second"; + description + "Time in seconds since the protecting setup came + up"; + } + leaf protecting-setup-timer { + type uint32; + units "second"; + description + "Time in seconds until the next attempt to + connect the protecting setup"; + } + leaf protecting-setup-last-error { + type string; + description + "The last error for the protecting setup (for + display purposes only)"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-REOPT { + description + "History information for reoptimized setup"; + leaf reoptimized-setup-uptime { + type uint32; + units "second"; + description + "Time in seconds since the reopt setup came up"; + } + leaf reoptimized-setup-timer { + type uint32; + units "second"; + description + "Time in seconds until the next attempt to + connect the reopt setup"; + } + leaf reoptimized-setup-last-error { + type string; + description + "The last error for the reopt setup"; + } + leaf protection-role { + type Te-lsp-path-protection-role; + description + "Path Protection Role"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-CURRENT-CONNECTED { + description + "History information for currently connected setup"; + leaf current-lsp-uptime { + type uint32; + units "second"; + description + "Time in seconds since the current LSP was up"; + } + leaf current-uptime { + type uint32; + units "second"; + description + "Time in seconds since the tunnel was up"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-CURRENT { + description + "History information for current setup"; + container connected-uptimes { + description + "Uptimes for connected setup"; + uses MPLS-TE-TUNNELS-HISTORY-CURRENT-CONNECTED; + } + leaf current-setup-timer { + type uint32; + units "second"; + description + "Time in seconds until the next attempt to + connect this setup"; + } + leaf selection-reason { + type string; + description + "The reason why this setup is selected. For + display purposes only."; + } + leaf current-setup-last-error { + type string; + description + "The last error for the current setup"; + } + leaf protection-role { + type Te-lsp-path-protection-role; + description + "Path Protection Role"; + } + } + + grouping MPLS-TE-TUNNELS-HISTORY-BAG { + description + "MPLS TE Tunnel History Information"; + container current-setup { + description + "Current setup data"; + uses MPLS-TE-TUNNELS-HISTORY-CURRENT; + } + container reopt-setup { + description + "Reoptimized setup data"; + uses MPLS-TE-TUNNELS-HISTORY-REOPT; + } + container gmpls-path-protect-setup { + description + "GMPLS protecting setup data"; + uses MPLS-TE-TUNNELS-HISTORY-PATH-PROTECT; + } + container previous-setup { + description + "Previous setup data"; + uses MPLS-TE-TUNNELS-HISTORY-PREVIOUS; + } + container previous-gmpls-path-protect-setup { + description + "Previous GMPLS protecting setup data"; + uses MPLS-TE-TUNNELS-HISTORY-PREVIOUS-PROTECT; + } + container gmpls-other-setup { + description + "GMPLS additional setup data"; + uses MPLS-TE-TUNNELS-HISTORY-OTHER-SETUP; + } + container gmpls-other-protect-setup { + description + "GMPLS additional protecting setup data"; + uses MPLS-TE-TUNNELS-HISTORY-OTHER-SETUP; + } + container standby-setup { + description + "Standby setup data"; + uses MPLS-TE-TUNNELS-HISTORY-STANDBY-SETUP; + } + container standby-reopt-setup { + description + "Standby Reopt setup data"; + uses MPLS-TE-TUNNELS-HISTORY-REOPT; + } + container last-re-opt-fail { + description + "Last re-opt attempt failure information"; + uses MPLS-TE-TUNNELS-TUNNEL-LAST-REOPT-FAIL-INFO; + } + container last-stdby-re-opt-fail { + description + "Last standby re-opt attempt failure information"; + uses MPLS-TE-TUNNELS-TUNNEL-LAST-REOPT-FAIL-INFO; + } + } + + grouping MPLS-TE-SELF-PING { + description + "Self-ping information for TE tunnels"; + leaf state { + type Self-ping-state; + description + "The state of the self-ping operation"; + } + leaf lsp-id { + type uint16; + description + "The ID of the LSP for which self-ping is done"; + } + leaf start-timestamp { + type uint32; + description + "The timestamp when the self-ping was initiated + relative to Jan 1, 1970"; + } + leaf stop-timestamp { + type uint32; + description + "The timestamp when the self-ping was stopped + relative to Jan 1, 1970"; + } + leaf probe-received-timestamp { + type uint32; + description + "The timestamp when the self-ping response was + received relative to Jan 1, 1970"; + } + leaf probes-sent { + type uint16; + description + "The number of self-ping probes sent"; + } + } + + grouping MPLS-TE-AUTOCAPACITY-CLONE { + description + "Brief information about a clone tunnel"; + leaf name { + type string; + description + "Name of the clone"; + } + leaf creation-timestamp { + type uint32; + description + "The timestamp when this clone was created + relative to Jan 1, 1970"; + } + leaf state { + type Mte-tunnel-oper-state; + description + "The interface state of the cloned tunnel"; + } + leaf signaled-bandwidth { + type uint32; + units "kbit/s"; + description + "The signaled bandwidth (kbps) of the clone"; + } + leaf current-bandwidth-demand { + type uint32; + units "kbit/s"; + description + "The current demand (kbps) read from the traffic + stats for the clone"; + } + } + + grouping MPLS-TE-AUTOCAPACITY-STATS { + description + "Statistics for auto-capacity"; + leaf splits { + type uint32; + description + "Count of splits events"; + } + leaf merges { + type uint32; + description + "Count of merges events"; + } + leaf total-clones-created { + type uint32; + description + "Total clones created"; + } + leaf total-clones-deleted { + type uint32; + description + "Total clones deleted"; + } + leaf high-watermark-clones { + type uint32; + description + "Highest number of clones reached at any point in + time"; + } + } + + grouping MPLS-TE-AUTOCAPACITY-CONFIG { + description + "Configured properties of auto-capacity"; + leaf minimum-clones { + type uint32; + description + "The minimum number of clones"; + } + leaf maximum-clones { + type uint32; + description + "The maximum number of clones"; + } + leaf merge-bandwidth { + type uint32; + units "kbit/s"; + description + "The merge bandwidth in kbps"; + } + leaf split-bandwidth { + type uint32; + units "kbit/s"; + description + "The split bandwidth in kbps"; + } + leaf nominal-bandwidth { + type uint32; + units "kbit/s"; + description + "The optimal or nominal bandwidth for the clones + in kbps"; + } + } + + grouping MPLS-TE-AUTOCAPACITY { + description + "Auto-capacity information for TE tunnels"; + container auto-capacity-configuration { + description + "The configured properties of auto-capacity"; + uses MPLS-TE-AUTOCAPACITY-CONFIG; + } + container auto-capacity-stats { + description + "The statistic of auto-capacity"; + uses MPLS-TE-AUTOCAPACITY-STATS; + } + list clone { + description + "Table of clones"; + uses MPLS-TE-AUTOCAPACITY-CLONE; + } + } + + grouping MPLS-TE-TUNNELS-AUTOBW-OPER { + description + "MPLS TE Tunnel AutoBandwidth Operational + Information"; + leaf last-bandwidth-applied { + type uint32; + description + "Last bandwidth requested by auto-bw for the + tunnel"; + } + leaf bandwidth-pool-type { + type Mpls-te-bw-pool; + description + "Bandwidth pool type"; + } + leaf bandwidth-applications { + type uint32; + description + "Total number of bandwidth applications requested + by auto-bw"; + } + leaf last-application-trigger { + type Te-autobw-app-trigger; + description + "The reason causing the last BW application"; + } + leaf application-jitter { + type uint32; + description + "Amount of time introduced to delay first + application so that not all tunnels may signal + BW at the same time"; + } + leaf time-left-application { + type uint32; + description + "Time left until next auto-bw application + algorithm is performed"; + } + leaf samples-collected { + type uint32; + description + "Number of samples collected within current + application period"; + } + leaf time-left-collection { + type uint32; + description + "Time left until next auto-bw data collection is + performed"; + } + leaf highest-bandwidth { + type uint32; + description + "Highest bandwidth registered within current + application period"; + } + leaf underflow-highest-bandwidth { + type uint32; + description + "Highest sample collected during an underflow + sequence"; + } + leaf threshold-overflows { + type uint32; + description + "counter for current consecutive collections + exceeding threshold"; + } + leaf overflow-early-bw-applications { + type uint32; + description + "tunnel counter for number of bandwidth + applications due to overflow"; + } + leaf threshold-underflows { + type uint32; + description + "counter for current consecutive collections + exceeding threshold"; + } + leaf underflow-early-bw-applications { + type uint32; + description + "tunnel counter for number of bandwidth + applications due to underflow"; + } + leaf collect-only-requested-bandwidth { + type uint32; + description + "Collect-only Requested Bandwidth for the tunnel"; + } + leaf application-reject-reason { + type Te-autobw-app-rej; + description + "Current application reject reason"; + } + leaf resignal-last-bandwidth-expire-time { + type uint32; + description + "Timestamp when the resignal last bandwidth will + expire and tunnel will use configured bandwidth + to setup"; + } + } + + grouping MPLS-TE-TUNNELS-AUTOBW-CONFIG { + description + "MPLS TE Tunnel AutoBandwidth Configuration + Information"; + leaf is-auto-bandwidth-collect-only { + type boolean; + description + "TRUE if auto-bw collection-only is enabled"; + } + leaf minimum-bandwidth { + type uint32; + description + "Minimum bandwidth auto-bw can apply"; + } + leaf maximum-bandwidth { + type uint32; + description + "Maximum bandwidth auto-bw can apply"; + } + leaf application-frequency { + type uint32; + units "minute"; + description + "Auto-bw application frequency for the tunnel + (mins)"; + } + leaf collection-frequency { + type uint32; + description + "Global auto-bw collection frequency"; + } + leaf adjustment-threshold-percent { + type uint32; + description + "Bandwidth change threshold needed to trigger + bandwidth adjustment"; + } + leaf adjustment-threshold-value { + type uint32; + units "kbit/s"; + description + "Bandwidth change value (kbps) needed to trigger + bandwidth adjustment"; + } + leaf overflow-threshold-percent { + type uint32; + description + "Bandwidth change threshold needed to count a + collection towards overflow limit allowed"; + } + leaf overflow-threshold-value { + type uint32; + description + "Bandwidth change value needed to count a + collection towards overflow limit allowed"; + } + leaf overflow-threshold-limit { + type uint32; + description + "Limit of consecutive collections exceeding + threshold to trigger an immediate overflow + bandwidth adjustment"; + } + leaf underflow-threshold-percent { + type uint32; + description + "Bandwidth change threshold needed to count a + collection towards underflow limit allowed"; + } + leaf underflow-threshold-value { + type uint32; + description + "Bandwidth change value needed to count a + collection towards underflow limit allowed"; + } + leaf underflow-threshold-limit { + type uint32; + description + "Limit of consecutive collections exceeding + threshold to trigger an immediate underflow + bandwidth adjustment"; + } + leaf resignal-last-bandwidth-enabled { + type boolean; + description + "TRUE if resignal last bandwidth is enabled"; + } + leaf resignal-last-bandwidth-timeout { + type uint32; + units "second"; + description + "The configured time-out value in seconds for + resignal last bandwidth after tunnel down"; + } + } + + grouping MPLS-TE-TUNNELS-AUTOBW-STATUS { + description + "MPLS TE Tunnel AutoBandwidth Status Information"; + leaf is-auto-bandwidth-enabled { + type boolean; + description + "TRUE if auto-bw is enabled for the tunnel"; + } + leaf reactivation-time { + type uint32; + description + "Time until auto-bw gets activated if activation + has been delayed due to failover"; + } + } + + grouping MPLS-TE-P2P-INFO-BAG { + description + "P2P tunnel data"; + container auto-bandwidth-status { + description + "Tunnels's AutoBandwidth Status information"; + uses MPLS-TE-TUNNELS-AUTOBW-STATUS; + } + container auto-bandwidth-config { + description + "Tunnels's AutoBandwidth Configuration + information"; + uses MPLS-TE-TUNNELS-AUTOBW-CONFIG; + } + container auto-bandwidth-oper { + description + "Tunnels's AutoBandwidth Operational information"; + uses MPLS-TE-TUNNELS-AUTOBW-OPER; + } + leaf is-bidirectional { + type boolean; + description + "TRUE if the tunnel is bidirectional"; + } + } + + grouping MPLS-TE-INTERAREA-REOPT-INFO { + description + "Counter and time information for reoptimization + of interarea tunnels"; + leaf sent-path-queries { + type uint16; + description + "Number of better path queries sent"; + } + leaf time-since-last-query-sent { + type uint32; + units "second"; + description + "Time since the last better path query was sent + (seconds)"; + } + leaf received-preferred-path-errors { + type uint16; + description + "Number of received Preferred Path Exists Error"; + } + leaf time-since-last-preferred-path-error { + type uint32; + units "second"; + description + "Time since last Preferred Path Exists error + received (seconds)"; + } + leaf received-preferred-tree-errors { + type uint16; + description + "Number of received Preferred Tree Exists Error"; + } + leaf time-since-last-preferred-tree-error { + type uint32; + units "second"; + description + "Time since last Preferred Tree Exists error + received (seconds)"; + } + leaf preferred-path-error-node { + type inet:ipv4-address; + description + "Address of the preferred path error generating + node"; + } + leaf preferred-tree-error-node { + type inet:ipv4-address; + description + "Address of the preferred tree error generating + node"; + } + } + + grouping MPLS-TE-P2MP-DEST { + description + "A P2MP destination"; + container inter-area-reoptimization { + description + "The timing and count information of interarea + reoptimization."; + uses MPLS-TE-INTERAREA-REOPT-INFO; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf destination-state { + type Te-destination-state; + description + "The state of the destination"; + } + leaf active-path-option-index { + type uint32; + description + "Index of active path option"; + } + leaf path-option-exhausted { + type boolean; + description + "Path options are exhausted"; + } + leaf uptime { + type uint32; + units "second"; + description + "Time in seconds since the destination was up"; + } + leaf path-change-time { + type uint32; + description + "Last path change time"; + } + leaf total-uptime { + type uint32; + description + "Unused"; + } + leaf s2l-exist { + type boolean; + description + "Dest state may not be up but S2L may exist"; + } + leaf destination-deletion-cause { + type Te-p2mp-s2l-deletion-cause; + description + "Destination deletion cause"; + } + leaf destination-deletion-sub-cause { + type Te-p2mp-s2l-deletion-subcause; + description + "Destination deletion subcause"; + } + leaf destination-deletion-timestamp { + type uint32; + units "second"; + description + "Destination deletion timestamp in seconds"; + } + leaf is-inter-area { + type boolean; + description + "Indicates whether this destination is in + different area"; + } + list path-option-entry { + description + "Deprecated; replaced by PathOption"; + uses MPLS-TE-P2MP-PATH-OPTION; + } + list path-option { + description + "Destination's list of path options"; + uses MPLS-TE-P2MP-PATH-OPTION; + } + } + + grouping MPLS-TE-TUNNEL-LOGGING { + description + "Tunnel Logging Attributes"; + leaf all { + type boolean; + description + "All tunnel logging enabled"; + } + leaf reoptimize { + type boolean; + description + "Reoptimization Logging"; + } + leaf state { + type boolean; + description + "State Logging"; + } + leaf reroute { + type boolean; + description + "Reroute logging"; + } + leaf bandwidth-change { + type boolean; + description + "Bandwidth change logging"; + } + leaf switchover { + type boolean; + description + "Path protection switchover logging"; + } + leaf record-route { + type boolean; + description + "Record route logging"; + } + leaf path-calculation-failure { + type boolean; + description + "Path calculation failure logging"; + } + leaf reoptimization-attempt { + type boolean; + description + "Reoptimization attempt logging"; + } + leaf insufficient-bandwidth { + type boolean; + description + "Insufficient bandwidth logging"; + } + } + + grouping MPLS-TE-AUTOROUTE-DESTINATION-BAG { + description + "An Autoroute destination"; + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + leaf prefix-length { + type uint16; + description + "Prefix length"; + } + } + + grouping MPLS-TE-TUNNEL-BFD-CONFIG-INFO { + description + "BFD configuration info for a tunnel"; + leaf bfd-fast-detecting-enabled { + type boolean; + description + "Deprecated"; + } + leaf bfd-type { + type Te-vif-bfd; + description + "BFD Type"; + } + leaf min-interval { + type uint32; + units "millisecond"; + description + "Hello interval in milliseconds"; + } + leaf min-interval-default { + type boolean; + description + "Is default hello interval"; + } + leaf multiplier { + type uint8; + description + "Multiplier"; + } + leaf multiplier-default { + type boolean; + description + "Is default multiplier"; + } + leaf bring-up-timeout { + type uint16; + description + "Bring Up Timeout in second"; + } + leaf bring-up-timeout-default { + type boolean; + description + "Is default bring up timeout"; + } + leaf dampening-initial-wait { + type uint32; + units "millisecond"; + description + "Dampening initial wait time in milliseconds"; + } + leaf dampening-initial-wait-default { + type boolean; + description + "Is default dampening inital wait time"; + } + leaf dampening-max-wait { + type uint32; + units "millisecond"; + description + "Dampening max wait time in milliseconds"; + } + leaf dampening-max-wait-default { + type boolean; + description + "Is default dampening max wait time"; + } + leaf dampening-secondary-wait { + type uint32; + units "millisecond"; + description + "Dampening secondary wait time in milliseconds"; + } + leaf dampening-secondary-wait-default { + type boolean; + description + "Is default dampening secondary wait time"; + } + leaf periodic-lsp-ping-disabled { + type boolean; + description + "Periodic LSP Ping disabled"; + } + leaf periodic-lsp-ping-interval { + type uint32; + units "second"; + description + "Periodic LSP Ping interval in seconds"; + } + leaf periodic-lsp-ping-interval-default { + type boolean; + description + "Is default LSP Ping interval"; + } + leaf bfd-session-down-action { + type Mpls-te-bfd-session-down-action1; + description + "BFD Session Down Action"; + } + leaf bfd-session-down-reopt-timeout { + type uint32; + description + "BFD Session Down Reopt Timeout"; + } + leaf bfd-encap-mode { + type Te-vif-bfd-encap-mode; + description + "BFD Encap Mode"; + } + leaf sbfd-target-id { + type inet:ipv4-address; + description + "SBFD Target ID"; + } + } + + grouping MPLS-TE-TUNNEL-BIDIR-CONFIG-INFO { + description + "Bidirectional configuration info for a tunnel"; + leaf association-type { + type uint16; + description + "Association Type (RFC 7751)"; + } + leaf association-id { + type uint16; + description + "The association ID"; + } + leaf association-source { + type inet:ipv4-address; + description + "The association source"; + } + leaf association-global-id { + type uint32; + description + "The association global ID"; + } + leaf association-corouted { + type boolean; + description + "Is the association co-routed"; + } + } + + grouping MPLS-TE-P2MP-TUN-CFG-BAG { + description + "Configured P2MP tunnel data"; + container affinity { + description + "Affinity"; + uses MPLS-TE-TUNNELS-AFFINITY-INFO; + } + container bidirectional-config { + description + "Bidirectional Configuration Information"; + uses MPLS-TE-TUNNEL-BIDIR-CONFIG-INFO; + } + container bfd-config { + description + "BFD Configuration Information"; + uses MPLS-TE-TUNNEL-BFD-CONFIG-INFO; + } + container logging { + description + "Logging configuration"; + uses MPLS-TE-TUNNEL-LOGGING; + } + leaf tunnel-name { + type string; + description + "Tunnel name"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel id"; + } + leaf is-p2mp { + type boolean; + description + "True if tunnel is a P2MP tunnel"; + } + leaf signaled-name { + type string; + description + "Signaled name"; + } + leaf configured-bandwidth { + type uint32; + description + "Configured Bandwidth"; + } + leaf interface-configured-bandwidth { + type uint32; + description + "Configured Interface Bandwidth"; + } + leaf bandwidth-type { + type Mpls-te-bw-pool; + description + "The bandwidth type"; + } + leaf setup-priority { + type uint8; + description + "Setup priority"; + } + leaf hold-priority { + type uint8; + description + "Hold priority"; + } + leaf policy-class { + type uint8; + description + "deprecated"; + } + leaf forward-class { + type uint32; + description + "Forward class"; + } + leaf is-forward-class-configured { + type boolean; + description + "True if Forward class is configured"; + } + leaf backup-bandwidth { + type uint32; + description + "Backup bandwidth"; + } + leaf backup-bandwidth-flags { + type uint8; + description + "Backup bandwidth flags"; + } + leaf config-load-share { + type uint32; + description + "Config loadshare"; + } + leaf load-interval { + type uint32; + description + "Load interval used to compute traffic rate"; + } + leaf payload-type { + type uint16; + description + "Payload type"; + } + leaf is-in-config { + type boolean; + description + "Is in config"; + } + leaf explicit-null-imposition { + type boolean; + description + "Imposition of Explicit NULL"; + } + leaf fast-reroute { + type boolean; + description + "Fast reroute enabled"; + } + leaf is-backup-tunnel { + type boolean; + description + "TRUE if this is a backup tunnel"; + } + leaf record-route { + type boolean; + description + "Record route"; + } + leaf srlg-discovery { + type boolean; + description + "SRLG-discovery enabled"; + } + leaf path-protection-enabled { + type boolean; + description + "Path Protection enabled"; + } + leaf path-protection-srlg-diversity { + type boolean; + description + "SRLG Diversity for Path Protection Enabled"; + } + leaf path-protection-non-revertive { + type boolean; + description + "Non-revertive mode for Path Protection Enabled"; + } + leaf hop-limit { + type uint8; + description + "Hop Limit"; + } + leaf cost-limit { + type uint32; + description + "Cost limit on the tunnel path"; + } + leaf cost-limit-global { + type uint32; + description + "Global Cost Limit"; + } + leaf delay-limit { + type uint32; + description + "Delay limit on the tunnel path (usec)"; + } + leaf delay-limit-global { + type uint32; + description + "Global Delay Limit (usec)"; + } + leaf delay-measurement-enabled { + type boolean; + description + "Delay-measurement enabled"; + } + leaf path-invalidation-timeout-source { + type uint32; + description + "Path invalidation timeout configuration source"; + } + leaf path-invalidation-timeout { + type uint32; + description + "Path invalidation timeout interval on the tunnel + path"; + } + leaf path-invalidation-action-source { + type uint32; + description + "Path invalidation action configuration source"; + } + leaf path-invalidation-action { + type uint32; + description + "Path invalidation action on the tunnel path"; + } + leaf soft-preempt { + type boolean; + description + "Soft preemption enabled"; + } + leaf disable-affinity-failure-reopt { + type boolean; + description + "DisableAffinityFailureReopt"; + } + leaf affinity-failure-reopt-timer { + type uint32; + description + "AffinityFailureReoptTimer"; + } + leaf segment-routing-path-selection { + type Te-s2l-sr-path-selection; + description + "Segment-Routing path selection type"; + } + leaf is-self-ping-configured { + type boolean; + description + "TRUE if self-ping is configured, FALSE otherwise"; + } + leaf self-ping-probes-maximum { + type uint16; + description + "Number of maximum probes sent before failing + self-ping"; + } + leaf self-ping-retry-period { + type uint8; + units "second"; + description + "Number of seconds between self-ping retries"; + } + list policy-class-entry { + description + "PBTS policy classes"; + leaf entry { + type uint8; + description + "PBTS policy classes"; + } + } + list autoroute-destination { + description + "Autoroute Destinations list"; + uses MPLS-TE-AUTOROUTE-DESTINATION-BAG; + } + } + + grouping MPLS-TE-P2MP-TUNNEL-BAG { + description + "P2MP tunnel data"; + container config { + description + "Configuration data"; + uses MPLS-TE-P2MP-TUN-CFG-BAG; + } + container tunnel-current-lsp { + description + "Current LSP"; + uses MPLS-TE-P2MP-LSP; + } + container reoptimized-p2mp-lsp { + description + "Reopt LSP"; + uses MPLS-TE-P2MP-LSP; + } + container tunnel-standby-lsp { + description + "Standby LSP"; + uses MPLS-TE-P2MP-LSP; + } + container reoptimized-standby-p2mp-lsp { + description + "Standby Reopt LSP"; + uses MPLS-TE-P2MP-LSP; + } + container tunnel-restoration-lsp { + description + "Restoration LSP"; + uses MPLS-TE-P2MP-LSP; + } + container delay-clean-pp-lsp { + description + "Delay Clean PP LSP"; + uses MPLS-TE-P2MP-LSP; + } + container cleaned-lsp { + description + "Cleaned LSP"; + uses MPLS-TE-P2MP-LSP; + } + container p2p-info { + description + "P2P specific info"; + uses MPLS-TE-P2P-INFO-BAG; + } + container auto-capacity { + description + "Auto-capacity Info"; + uses MPLS-TE-AUTOCAPACITY; + } + container self-ping { + description + "Self-ping Info"; + uses MPLS-TE-SELF-PING; + } + container history { + description + "Tunnel history"; + uses MPLS-TE-TUNNELS-HISTORY-BAG; + } + container path-protection { + description + "Path Protect Info"; + uses MPLS-TE-PP-INFO; + } + container auto-backup { + description + "Autobackup Information"; + uses MPLS-TE-AUTOBACKUP-INFO; + } + container auto-mesh { + description + "Automesh Information"; + uses MPLS-TE-AUTOMESH-INFO; + } + container auto-pcc { + description + "Auto-PCC Information"; + uses MPLS-TE-AUTOPCC-INFO; + } + container pce-delegation { + description + "PCE Delegation information"; + uses MPLS-TE-PCE-DELEGATION-INFO; + } + container soft-preemption { + description + "Tunnel head soft preemption info. This is NULL + if soft preemption is not configured"; + uses MPLS-TE-SOFT-PREEMPTION-TUNNEL-INFO; + } + container wdm-unitunnel { + description + "WDM-UNI tunnel data. Only exists for WDM-UNI + tunnels"; + uses MPLS-TE-MGMT-WDM-UNI-TUNNEL-INFO; + } + container transport-tunnel-info { + description + "Transport tunnel data. Only exists for Transport + tunnels"; + uses MPLS-TE-TRANSPORT-TUNNEL-INFO; + } + container bfd-info { + description + "BFD session info. This is NULL if BFD is not + configured"; + uses MPLS-TE-TUNNEL-BFD-INFO; + } + container otn-bidir { + description + "OTN bidir info"; + uses MPLS-TE-TUNNEL-OTN-BIDIR-INFO; + } + container bidir { + description + "Bidir info"; + uses MPLS-TE-TUNNEL-BIDIR-INFO; + } + container xro-attribute-set { + description + "XRO attribute-set"; + uses MPLS-TE-ATTRIBUTE-SET; + } + container te-tunnel-convergence { + description + "TE tunnel convergence related information"; + uses TE-VIF-CONVERGENCE-INFO; + } + container flex-info { + description + "Flex Info"; + uses MPLS-TE-TUNNEL-FLEX-INFO; + } + container sticky-working-path { + description + "Sticky working Path"; + uses MPLS-TE-STICKY-PATH; + } + container sticky-protecting-path { + description + "Sticky protecting Path"; + uses MPLS-TE-STICKY-PATH; + } + leaf role-standby { + type boolean; + description + "TRUE if Role is Standby, Active otherwise"; + } + leaf tunnel-interface-name { + type xr:Interface-name; + description + "Interface handle of the associated tunnel"; + } + leaf admin-state { + type Mte-tunnel-admin-state; + description + "Administrative State"; + } + leaf operational-state { + type Mte-tunnel-oper-state; + description + "Operational State"; + } + leaf operational-state-changes { + type uint32; + description + "Counters for operational state changes"; + } + leaf signaled-name { + type string; + description + "Signaled Name"; + } + leaf fail-reason { + type Mpls-mte-tunnel-fail-reason; + description + "The reason why failure occurred"; + } + leaf destination-up-count { + type uint32; + description + "Count of up destinations"; + } + leaf destination-disabled-count { + type uint32; + description + "Count of disabled destinations"; + } + leaf destination-down-count { + type uint32; + description + "Count of down destinations"; + } + leaf re-opt-hold-down-timer-remaining { + type uint32; + units "second"; + description + "Backup hold-down timer remaining time in seconds"; + } + leaf bandwidth-requested { + type uint32; + description + "Bandwidth Requested"; + } + leaf bandwidth-type { + type Mpls-te-bw-pool; + description + "The requested bandwidth type"; + } + leaf is-node-protected { + type boolean; + description + "Node Protection Enabled or Disabled"; + } + leaf is-bandwidth-protect { + type boolean; + description + "BW Protection Enabled or Disabled"; + } + leaf tunnel-recovering { + type boolean; + description + "Tunnel recovering"; + } + leaf reroute-pending { + type boolean; + description + "ReroutePending"; + } + leaf explicit-path-change { + type boolean; + description + "Explicit-path inuse by the current LSP has been + modified"; + } + leaf path-option-change { + type boolean; + description + "Path-Option inuse by the current LSP has been + modified"; + } + leaf affinity-failure-reopt-disabled { + type boolean; + description + "AffinityFailureReoptDisabled"; + } + leaf affinity-failure-reopt-time-remained { + type uint32; + description + "AffinityFailureReoptTimeRemained"; + } + leaf affinity-failure-delayed-tear-time-remained { + type uint32; + description + "Affinity Failure LSP tear down time remaining"; + } + leaf invalidation-time-remained { + type uint32; + description + "Path invalidation time remaining"; + } + leaf drop-mode { + type boolean; + description + "True if tunnel is in drop mode"; + } + leaf auto-route { + type boolean; + description + "IGP Auto route announce enabled"; + } + leaf forwarding-adjacency { + type boolean; + description + "IGP forwarding adjacency enabled"; + } + leaf load-share-factor { + type uint32; + description + "The specified loadsharing for the tunnel"; + } + leaf load-share-type { + type Mpls-te-loadshare; + description + "Loadsharing type"; + } + leaf create-time { + type uint32; + description + "Time at which the tunnel was created"; + } + leaf uptime { + type uint32; + units "second"; + description + "Time in seconds since the tunnel was up"; + } + leaf metric-type { + type Mpls-te-metric; + description + "The path selection metric"; + } + leaf tie-breaker { + type Te-path-selection-tiebreaker; + description + "The path selection tiebreaker"; + } + leaf tiebreaker-type { + type uint32; + description + "Deprecated - replaced by Tiebreaker"; + } + leaf tiebreaker-qualifier { + type Mpls-te-metric-qualifier; + description + "Describes how the path selection tiebreaker was + specified: default, globally set, or per + interface"; + } + leaf metric-qualifier { + type Mpls-te-metric-qualifier; + description + "Describe how the metric was specified: default, + globally set, or per interface"; + } + leaf is-hop-limit-ignore { + type boolean; + description + "Is Hop-limit ignored"; + } + leaf hop-limit-ignored-reason { + type Te-hop-limit-ignore; + description + "Hop-limit ignored reason"; + } + leaf outbound-frr-state { + type Mpls-te-frr-state; + description + "Indicates outbound FRR state"; + } + leaf area-id { + type string; + description + "Indicates the protocol and area used to find + Outgoing ERO"; + } + leaf pce-fail-reason { + type Mpls-te-pce-fail-reasons; + description + "Failure reason for PCE-based tunnels"; + } + leaf snmp-index { + type uint32; + description + "SNMP index for interface"; + } + leaf is-inter-area-tunnel { + type boolean; + description + "Indicates whether this tunnel spans multiple + areas."; + } + leaf is-auto-backup { + type boolean; + description + "Indicates whether this is an automatically + generated backup tunnel"; + } + leaf is-auto-pcc { + type boolean; + description + "Indicates whether this is an automatic PCC + tunnel"; + } + leaf is-pce-delegated { + type boolean; + description + "Indicates whether this tunnel is delegated to a + PCE server or not"; + } + leaf tunnel-attribute-set-name { + type string; + description + "AttributeSet name"; + } + leaf tunnel-attribute-set-type { + type Tunnel-attribute-set; + description + "AttributeSet type"; + } + leaf xro-attribute-set-name { + type string; + description + "Configured XRO attribute-set name"; + } + leaf is-passive { + type boolean; + description + "True for passive tunnel"; + } + leaf passive-tunnel-name { + type string; + description + "Passive tunnel name"; + } + leaf binding-label-exists { + type boolean; + description + "True, if binding label exists"; + } + leaf binding-label { + type uint32; + description + "Binding Label"; + } + leaf last-hop-ifindex { + type uint32; + description + "Termination destination ifindex"; + } + leaf is-named { + type boolean; + description + "Indicates whether this tunnel is named"; + } + leaf lsp-wrap-protection-enabled { + type boolean; + description + "Lsp-wrap Protection enabled"; + } + leaf lsp-wrap-label { + type uint32; + description + "Lsp-wrap label value"; + } + leaf is-interface { + type boolean; + description + "True for tunnel head"; + } + leaf last-path-change { + type uint32; + units "second"; + description + "Time in seconds since the last path change"; + } + leaf persistent-bytes { + type uint64; + units "byte"; + description + "Persistent forwarding statistics for number of + bytes. Clear counters will not reset the counter"; + } + leaf persistent-packets { + type uint64; + description + "Persistent forwarding statistics for Number of + packets. Clear counters will not reset the + counter"; + } + leaf autoroute-announce-exclude-segment-routing { + type boolean; + description + "Indicates whether this tunnel is autoroute + announced with exclude segment-routing option"; + } + leaf last-working-lsp-id { + type uint16; + description + "LSP-id of last working LSP"; + } + list destination { + description + "Destinations array"; + uses MPLS-TE-P2MP-DEST; + } + } + + grouping MPLS-TE-S2L-DELAY-MEASUREMENT { + description + "S2L delay-measurement"; + leaf minimum-delay { + type uint32; + units "microsecond"; + description + "Minimum delay in microseconds"; + } + leaf maximum-delay { + type uint32; + units "microsecond"; + description + "Maximum delay in microseconds"; + } + leaf average-delay { + type uint32; + units "microsecond"; + description + "Average delay in microseconds"; + } + leaf notification-timestamp { + type uint32; + units "second"; + description + "Notification timestamp, seconds since epoch"; + } + } + + grouping MPLS-TE-PATH-METRICS { + description + "Path metrics info"; + leaf te-metric { + type uint64; + description + "Path TE Metric"; + } + leaf igp-metric { + type uint64; + description + "Path IGP Metric"; + } + leaf delay-metric { + type uint64; + description + "Path Delay Metric"; + } + } + + grouping MPLS-TE-S2L-DIVERSITY-INFO { + description + "S2l Diversity info"; + leaf diversity-type { + type Te-pp-diversity; + description + "S2L path diversity type"; + } + } + + grouping TUNNEL-MIDPOINT-LSP-WRAP-INFO-BAG { + description + "Midpoint LSP Wrap Protection LSP Info"; + leaf lsp-wrap-protection-enable { + type boolean; + description + "LSP Wrap protection enabled"; + } + leaf lsp-wrap-protection-label { + type uint32; + description + "LSP Wrap Merge Point Label"; + } + leaf reverse-egress-interface { + type string; + description + "Reverse Egress Interface"; + } + leaf reverse-lsp-label { + type uint32; + description + "Reverse LSP label"; + } + leaf lsp-wrap-protection-state { + type Mpls-te-lsp-wrap-state; + description + "LSP wrap protection state"; + } + } + + grouping TE-S2L-SR-PATH-HOP { + description + "TE Segment-Routing S2L path hop"; + leaf sid-type { + type Te-sr-sid; + description + "Type of the SID"; + } + leaf has-ip-addresses { + type boolean; + description + "Node has IP addresses specified"; + } + leaf local-addr { + type inet:ipv4-address; + description + "Local IP address of adjacency or Node ID"; + } + leaf remote-addr { + type inet:ipv4-address; + description + "Remote IP address of adjacency"; + } + leaf has-mpls-label { + type boolean; + description + "Hop has MPLS label specified"; + } + leaf mpls-label-value { + type uint32; + description + "The MPLS label value"; + } + leaf has-entropy-label { + type boolean; + description + "Hop has EL specified"; + } + } + + grouping MPLS-TE-S2L-FLEX-INFO { + description + "TE Per-S2L FlexLSP Information"; + container flex-fec { + description + "FEC for the FlexLSP Entry"; + uses TE-S2L-FEC; + } + leaf entry-exists { + type boolean; + description + "FlexLSP Entry Exists"; + } + leaf in-label { + type uint32; + description + "In Label"; + } + leaf bfd-created { + type boolean; + description + "GAL BFD Session Created"; + } + leaf bfd-up { + type boolean; + description + "GAL BFD Session Up"; + } + leaf oam-created { + type boolean; + description + "OAM Entry Created"; + } + leaf bfd-next-hop { + type inet:ipv4-address; + description + "BFD Next Hop"; + } + leaf bfd-tun-ifh { + type xr:Interface-name; + description + "BFD Tunnel Interface Handle"; + } + leaf bfd-out-ifh { + type xr:Interface-name; + description + "BFD Out Interface Handle"; + } + leaf bfd-int-label { + type uint32; + description + "BFD Internal Label"; + } + leaf bfd-egress-label { + type uint32; + description + "BFD Egress Label"; + } + leaf fault-ldi-lockout { + type boolean; + description + "Fault LDI Lockout"; + } + leaf fault-ldi { + type boolean; + description + "Fault LDI"; + } + leaf fault-lkr { + type boolean; + description + "Fault LKR"; + } + leaf fault-ais { + type boolean; + description + "Fault AIS"; + } + leaf fault-time { + type uint32; + description + "Fault Time"; + } + } + + grouping MPLS-TE-S2L-PROTECTION-OBJECT { + description + "TE Protection Object"; + leaf s2l-secondary { + type boolean; + description + " S2L Protection Secondary Bit"; + } + leaf s2l-protecting { + type boolean; + description + " S2L Protection Protecting Bit"; + } + leaf s2l-notification { + type boolean; + description + " S2L Protection Notification Bit"; + } + leaf s2l-operational { + type boolean; + description + " S2L Protection Operational Bit"; + } + leaf enhanced { + type boolean; + description + "Indicates Enhanced Protection Scheme"; + } + leaf ded1-plus1 { + type boolean; + description + "Dedicated 1+1 Protection"; + } + leaf ded1-to1 { + type boolean; + description + "Dedicated 1:1 Protection"; + } + leaf shared { + type boolean; + description + "Shared Link Layer Protection"; + } + leaf link-unprotected { + type boolean; + description + "LSP should not use any Link Layer Protection"; + } + leaf extra-traffic { + type boolean; + description + "LSP should use Links that are protecting other + (primary) traffic"; + } + leaf any { + type boolean; + description + "Any"; + } + leaf rerouting { + type boolean; + description + "Full Rerouting"; + } + leaf rerouting-no-et { + type boolean; + description + "Rerouting Without Extra-Traffic"; + } + leaf one-to-n-protection-et { + type boolean; + description + "1:N Protection with Extra-Traffic"; + } + leaf one-plus-one-uni { + type boolean; + description + "1+1 Unidirectional Protection"; + } + leaf one-plus-one-bi { + type boolean; + description + "1+1 Bidirectional Protection"; + } + leaf lsp-unprotected { + type boolean; + description + "LSP Flags Unprotected"; + } + leaf seg-rerouting { + type boolean; + description + "Full Rerouting"; + } + leaf seg-rerouting-no-et { + type boolean; + description + "Rerouting Without Extra-Traffic"; + } + leaf seg-one-to-n-protection-et { + type boolean; + description + "1:N Protection with Extra-Traffic"; + } + leaf seg-one-plus-one-uni { + type boolean; + description + "1+1 Unidirectional Protection"; + } + leaf seg-one-plus-one-bi { + type boolean; + description + "1+1 Bidirectional Protection"; + } + leaf seg-lsp-unprotected { + type boolean; + description + "SEG Flags Unprotected"; + } + leaf in-place-bit { + type boolean; + description + "In-Place Bit"; + } + leaf required-bit { + type boolean; + description + "Required Bit"; + } + } + + grouping MPLS-TE-S2L-ASSOCIATION-OBJECT { + description + "TE Association Object"; + leaf s2l-association-type { + type uint16; + description + "S2L Association Type + (draft-ietf-ccamp-mpls-tp-rsvpte-ext-associated-lsp)"; + } + leaf s2l-association-tie-role { + type Te-association-tie-role; + description + "S2L Association Tie Role"; + } + leaf s2l-association-id { + type uint16; + description + "S2L Association ID"; + } + leaf s2l-association-source { + type inet:ipv4-address; + description + "S2L Association Source"; + } + leaf s2l-global-source { + type uint32; + description + "S2L Global Source"; + } + list s2l-extended-id { + description + "S2L Extended ID Array"; + leaf entry { + type uint32; + description + "S2L Extended ID Array"; + } + } + } + + grouping TE-S2L-SRLG-COLLECT-INFO { + description + "SRLG-collection information"; + leaf srlg-collect-type { + type Te-srlg-collect-request; + description + "SRLG-collection mechanism"; + } + list discovered-srlg { + description + "Discovered SRLGs"; + leaf entry { + type uint32; + description + "Discovered SRLGs"; + } + } + } + + grouping MPLS-TE-TAIL-BFD-INFO { + description + "TE Tail-end BFD information"; + container session-info { + description + "BFD Session Info"; + uses MPLS-TE-BFD-SESSION-INFO; + } + leaf failure-diagnostic-code { + type uint32; + description + "BFD session failure diagnostic code"; + } + leaf failure-reason { + type string; + description + "BFD session failure reason"; + } + leaf local-discriminator { + type uint32; + description + "BFD Local Discriminator"; + } + leaf remote-discriminator { + type uint32; + description + "BFD Remote Discrminator"; + } + leaf min-interval { + type uint32; + description + "Hello interval in mini second"; + } + leaf min-interval-default { + type boolean; + description + "Is default hello interval"; + } + leaf multiplier { + type uint8; + description + "Multiplier"; + } + leaf multiplier-default { + type boolean; + description + "Is default multiplier"; + } + } + + grouping MPLS-TE-BFD-DELETION-HISTORY { + description + "TE Tunnel BFD Session Deletion History"; + leaf lsp-id { + type uint16; + description + "LSP ID of the BFD session get deleted"; + } + leaf deletion-time { + type uint32; + description + "Time stamp of the BFD session get deleted"; + } + leaf deletion-reason { + type string; + description + "Reason for the BFD session get deleted"; + } + leaf deletion-diagnostic-code { + type uint32; + description + "Diagnostic Code for the BFD session get deleted"; + } + } + + grouping MPLS-TE-BFD-SESSION-INFO { + description + "TE BFD Session Info"; + leaf state { + type Te-bfd-lsp-session-state; + description + "BFD session state"; + } + leaf state-change-time { + type uint32; + units "second"; + description + "Time in seconds since the last session state + change"; + } + } + + grouping MPLS-TE-HEAD-BFD-INFO { + description + "TE Head-end BFD information"; + container session-info { + description + "BFD Session Info"; + uses MPLS-TE-BFD-SESSION-INFO; + } + container deletion-history { + description + "BFD Session Deletion History"; + uses MPLS-TE-BFD-DELETION-HISTORY; + } + leaf creation-time { + type uint32; + units "second"; + description + "Time in seconds since the BFD session created"; + } + leaf lspbfd-type { + type Te-vif-bfd; + description + "LSP BFD type"; + } + leaf is-redundant { + type boolean; + description + "sBFD session is redundant"; + } + leaf bfd-reverse-path-stale { + type boolean; + description + "The BFD reverse path is stale compared to + configuration"; + } + list bfd-reverse-path-label { + description + "BFD reverse path labels"; + leaf entry { + type uint32; + description + "BFD reverse path labels"; + } + } + } + + grouping TE-PVT-PROT-OBJ { + description + "Private Protection information signaled"; + leaf sbit { + type boolean; + description + "Secondary bit"; + } + leaf pbit { + type boolean; + description + "Protecting bit"; + } + leaf nbit { + type boolean; + description + "Notification bit "; + } + leaf obit { + type boolean; + description + "Operational bit"; + } + leaf protect-type { + type Te-protect; + description + "LSP Protect Type"; + } + leaf is-wtr-present { + type boolean; + description + "Is Wait-to-Restore timeout present"; + } + leaf wtr-timeout { + type uint32; + description + "Wait-to-Restore timeout"; + } + leaf is-hopresent { + type boolean; + description + "Is Hold-Off timeout present"; + } + leaf ho-timeout { + type uint32; + description + "Hold-Off timeout"; + } + leaf is-snc-mode-present { + type boolean; + description + "Is SNC mode present"; + } + leaf snc-mode { + type Te-aps-snc-mode; + description + "SNC mode"; + } + leaf tcm-id { + type uint32; + description + "TCM ID"; + } + leaf path-prot-profile-type { + type Te-path-prot-profile; + description + "Path protection profile type"; + } + } + + grouping MPLS-TE-S2L-APS-INFO { + description + "APS Protection Info of S2L"; + container protection-info { + description + "Protection Info"; + uses TE-PVT-PROT-OBJ; + } + } + + grouping TE-ODU-FLEX-GFP-F-NON-RES-INFO { + description + "ODU flex info for non-resizable GFP-F framing + type"; + leaf bit-rate { + type uint32; + description + "Bit rate in kbit/s"; + } + } + + grouping TE-ODU-FLEX-GFP-F-RES-INFO { + description + "ODU flex info for resizable GFP-F framing type"; + leaf bit-rate { + type uint32; + description + "Bit rate in kbit/s"; + } + } + + grouping TE-ODU-FLEX-CBR-INFO { + description + "ODU flex info for CBR framing type"; + leaf bit-rate { + type uint32; + description + "Bit rate in kbit/s"; + } + leaf tolerance { + type uint16; + description + "Tolerance"; + } + } + + grouping TE-ODU-V3-BW { + description + "ODU bandwidth union"; + container odu-flex-cbr { + when "../odu-level = 'te-odu-level-flex-cbr'" { + description + "../ODULevel = 'TE_ODULevelFlexCBR'"; + } + description + "Odu flex CBR info"; + uses TE-ODU-FLEX-CBR-INFO; + } + container odu-flex-gfp-f-res { + when "../odu-level = 'te-odu-level-flex-gfpf-resizeable'" { + description + "../ODULevel = 'TE_ODULevelFlexGFPFResizeable'"; + } + description + "Odu flex GFP-F resizable info"; + uses TE-ODU-FLEX-GFP-F-RES-INFO; + } + container odu-flex-gfp-f-non-res { + when "../odu-level = 'te-odu-level-flex-gfpf-non-resizable'" { + description + "../ODULevel = 'TE_ODULevelFlexGFPFNonResizable'"; + } + description + "Odu flex GFP-F non-resizable info"; + uses TE-ODU-FLEX-GFP-F-NON-RES-INFO; + } + leaf odu-level { + type Te-odu-level; + description + "ODULevel"; + } + } + + grouping MPLS-TE-S2L-OTN-INFO { + description + "OTN S2L's Controllers' information"; + container bandwidth { + description + "OTN Bandwidth for s2l"; + uses TE-ODU-V3-BW; + } + container labels { + description + "Labels"; + uses MPLS-TE-MGMT-GMPLS-LABELS; + } + leaf incoming-controller { + type string; + description + "Incoming Controller"; + } + leaf incoming-controller-state { + type Te-controller-state; + description + "State of Incoming Controller"; + } + leaf incoming-sub-controller { + type string; + description + "Incoming Sub Controller"; + } + leaf incoming-sub-controller-state { + type Te-controller-state; + description + "State of Incoming Sub Controller"; + } + leaf outgoing-controller { + type string; + description + "Outgoing Controller"; + } + leaf outgoing-controller-state { + type Te-controller-state; + description + "State of Outgoing Controller"; + } + leaf outgoing-sub-controller { + type string; + description + "Outgoing Sub Controller"; + } + leaf outgoing-sub-controller-state { + type Te-controller-state; + description + "State of Outgoing Sub Controller"; + } + leaf cross-connect-id { + type uint32; + description + "Cross connect id"; + } + leaf is-connected { + type boolean; + description + "True if subcontrollers are connected"; + } + leaf uptime { + type uint32; + description + "XC Uptime"; + } + leaf outgoing-controller-ifhandle { + type xr:Interface-name; + description + "Outgoing Controller Ifhandle"; + } + leaf outgoing-sub-controller-ifhandle { + type xr:Interface-name; + description + "Outgoing Sub Controller Ifhandle"; + } + leaf incoming-controller-ifhandle { + type xr:Interface-name; + description + "Incoming Controller Ifhandle"; + } + leaf incoming-sub-controller-ifhandle { + type xr:Interface-name; + description + "Incoming Sub Controller Ifhandle"; + } + leaf gpid { + type uint16; + description + "Gpid Payload"; + } + } + + grouping MPLS-TE-OTN-S2L-INFO { + description + "OTN S2l information"; + container otn { + description + "Info Related to OTN technology in S2L"; + uses MPLS-TE-S2L-OTN-INFO; + } + container aps { + description + "APS Info for OTN S2L"; + uses MPLS-TE-S2L-APS-INFO; + } + } + + grouping MPLS-TE-MGMT-FSC-LABEL { + description + "GMPLS FSC Label"; + leaf interface-id { + type uint32; + description + "Interface Identifier"; + } + } + + grouping MPLS-TE-MGMT-G709-OTN-FIXED-SIZE-LABEL { + description + "GMPLS G709 OTN fixed-size Label"; + leaf tpn { + type uint16; + description + "Tributary time slot"; + } + leaf bit-map-length { + type uint16; + description + "Bit map length"; + } + list bit-map { + description + "Bit Map"; + leaf entry { + type uint8; + description + "Bit Map"; + } + } + } + + grouping MPLS-TE-MGMT-WDM-FIXED-GRID-LABEL { + description + "GMPLS WDM fixed-grid Label"; + leaf label-set { + type boolean; + description + "Flag to indicate whether label is set"; + } + leaf grid { + type Gmpls-uni-mgmt-wdm-grid; + description + "Grid"; + } + leaf channel-spacing { + type Gmpls-uni-mgmt-dwdm-cs; + description + "Channel spacing"; + } + leaf identifier { + type uint16; + description + "Identifier"; + } + leaf channel { + type int16; + description + "Channel Number"; + } + } + + grouping MPLS-TE-MGMT-GMPLS-LABEL { + description + "A GMPLS label"; + container wdm { + when "../label-type = 'fixed-wdm'" { + description + "../LabelType = 'FixedWDM'"; + } + description + "Fixed-grid WDM label"; + uses MPLS-TE-MGMT-WDM-FIXED-GRID-LABEL; + } + container otn { + when "../label-type = 'fixed-g709otn'" { + description + "../LabelType = 'FixedG709OTN'"; + } + description + "Fixed-size G09 OTN label"; + uses MPLS-TE-MGMT-G709-OTN-FIXED-SIZE-LABEL; + } + container fsc { + when "../label-type = 'fsc'" { + description + "../LabelType = 'FSC'"; + } + description + "FSC label"; + uses MPLS-TE-MGMT-FSC-LABEL; + } + leaf label-type { + type Mpls-te-mgmt-gmpls-label; + description + "LabelType"; + } + } + + grouping MPLS-TE-MGMT-GMPLS-LABELS { + description + "GMPLS Labels"; + container path-ingress-label { + description + "Path message (upstream) ingress label"; + uses MPLS-TE-MGMT-GMPLS-LABEL; + } + container path-egress-label { + description + "Path message (upstream) egress label"; + uses MPLS-TE-MGMT-GMPLS-LABEL; + } + container resv-ingress-label { + description + "Resv message (downstream) ingress label"; + uses MPLS-TE-MGMT-GMPLS-LABEL; + } + container resv-egress-label { + description + "Resv message (downstream) egress label"; + uses MPLS-TE-MGMT-GMPLS-LABEL; + } + } + + grouping MPLS-TE-SOFT-PREEMPTION-LSP-INFO { + description + "Midpoint Soft Preemption LSP Info"; + leaf status { + type Mpls-te-soft-preemption-state; + description + "The current state of the soft preemption + operation"; + } + leaf soft-preemption-timestamp { + type uint32; + description + "The POSIX timestamp when the soft preemption + occurred"; + } + leaf soft-preemption-link { + type string; + description + "Name of the link where the soft preemption + occurred"; + } + leaf preempting-link-address { + type inet:ipv4-address; + description + "The address of the link where the preemption + happened"; + } + leaf time-to-hard-preemption { + type uint16; + units "second"; + description + "The number of seconds until hard preemption is + triggered"; + } + leaf fr-rrewrite { + type boolean; + description + "FRR-rewrite during soft preemption"; + } + leaf fr-rrewrite-tunnel-name { + type string; + description + "The tunnel name of the backup"; + } + } + + grouping TE-LSP-CONVERGENCE-INFO { + description + "TE LSP convergence related information"; + leaf path-in { + type uint64; + units "nanosecond"; + description + "LSP RSVP Path-in timestamp (clocktime in nsecs)"; + } + leaf path-out { + type uint64; + units "nanosecond"; + description + "LSP RSVP Path-in timestamp (clocktime in nsecs)"; + } + leaf resv-in { + type uint64; + units "nanosecond"; + description + "LSP RSVP Resv-in timestamp (clocktime in nsecs)"; + } + leaf resv-out { + type uint64; + units "nanosecond"; + description + "LSP RSVP Resv-out timestamp (clocktime in nsecs)"; + } + leaf label-rewrite { + type uint64; + units "nanosecond"; + description + "LSP Label rewrite timestamp (clocktime in nsecs)"; + } + leaf tunnel-rewrite { + type uint64; + units "nanosecond"; + description + "Tunnel rewrite timestamp (clocktime in nsecs)"; + } + leaf creation-time { + type uint64; + units "nanosecond"; + description + "Tunnel creation timestamp (clocktime in nsecs)"; + } + } + + grouping TE-MGMT-G709-OTN-FSPEC { + description + "TE G709 OTN FSpec"; + leaf signal-type { + type uint8; + description + "Signal Type"; + } + leaf nmc-or-tolerance { + type uint16; + description + "NMC or Tolerance"; + } + leaf nvc { + type uint16; + description + "Number of Virtual Components"; + } + leaf multiplier { + type uint16; + description + "Multiplier"; + } + leaf bit-rate { + type uint32; + units "kbit/s"; + description + "Bit Rate in kbps"; + } + } + + grouping TE-MGMT-GENERIC-FSPEC { + description + "Union of different TE generic FSpec types"; + container otnfspec { + when "../fspec-type = 'te-generic-fspec-type-g709otn'" { + description + "../FSpecType = 'TEGenericFSpecTypeG709OTN'"; + } + description + "TE FSpec for G709 OTN"; + uses TE-MGMT-G709-OTN-FSPEC; + } + leaf fspec-type { + type Te-mgmt-generic-fspec; + description + "FSpecType"; + } + } + + grouping TE-MGMT-G709-OTN-TSPEC { + description + "TE G709 OTN TSpec"; + leaf signal-type { + type uint8; + description + "Signal Type"; + } + leaf nmc-or-tolerance { + type uint16; + description + "NMC or Tolerance"; + } + leaf nvc { + type uint16; + description + "Number of Virtual Components"; + } + leaf multiplier { + type uint16; + description + "Multiplier"; + } + leaf bit-rate { + type uint32; + units "kbit/s"; + description + "Bit Rate in kbps"; + } + } + + grouping TE-MGMT-GENERIC-TSPEC { + description + "Union of different TE generic TSpec types"; + container otntspec { + when "../tspec-type = 'te-generic-tspec-type-g709otn'" { + description + "../TSpecType = 'TEGenericTSpecTypeG709OTN'"; + } + description + "TE TSpec for G709 OTN"; + uses TE-MGMT-G709-OTN-TSPEC; + } + leaf tspec-type { + type Te-mgmt-generic-tspec; + description + "TSpecType"; + } + } + + grouping BANDWIDTH-SPEC-BAG { + description + "Bandwidth information of a flow"; + leaf average-rate { + type uint64; + units "kbit/s"; + description + "Average bandwidth in kbps"; + } + leaf maximum-burst { + type uint64; + units "byte"; + description + "Maximum burst of data in bytes"; + } + leaf peak-rate { + type uint64; + units "kbit/s"; + description + "Peak rate in kbps"; + } + } + + grouping TUNNEL-HOP-INFO { + description + "Hop information"; + leaf hop-address { + type inet:ipv4-address; + description + "Hop address"; + } + leaf hop-affinity { + type uint32; + description + "Deprecated"; + } + list hop-extended-affinity { + description + "Hop affinity"; + leaf entry { + type uint32; + description + "Hop affinity"; + } + } + } + + grouping RSVP-MGMT-RRO-SRLG-SUBOBJ { + description + "RSVP RRO SRLG subobject"; + list srl-gs { + description + "The RRO Subobject SRLGs"; + leaf entry { + type uint32; + description + "The RRO Subobject SRLGs"; + } + } + } + + grouping RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ-FLAGS { + description + "RSVP RRO UNNUMBERED Subobject Flags"; + leaf is-protection-available { + type boolean; + description + "Local Protection Available"; + } + leaf is-protection-in-use { + type boolean; + description + "Local Protection In Use"; + } + leaf is-bandwidth-protected { + type boolean; + description + "Bandwidth Protection Available"; + } + leaf is-node-protection-available { + type boolean; + description + "Node Protection Available"; + } + leaf is-node-id { + type boolean; + description + "Node ID In Use"; + } + } + + grouping RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ { + description + "RSVP RRO Unnumbered subobject"; + container flags { + description + "The RRO Subobject Unnumbered Flags"; + uses RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ-FLAGS; + } + leaf interface-address { + type inet:ipv4-address; + description + "The RRO Interface Address"; + } + leaf interface-id { + type uint32; + description + "The RRO Interface ID"; + } + } + + grouping RSVP-MGMT-RRO-LABEL-SUBOBJ-FLAGS { + description + "RSVP RRO Label Subobject Flags"; + leaf is-global-label { + type boolean; + description + "Label is Global across all interfaces"; + } + } + + grouping RSVP-MGMT-RRO-LABEL-SUBOBJ { + description + "RSVP RRO Label subobject"; + container flags { + description + "The RRO Subobject Label Flags"; + uses RSVP-MGMT-RRO-LABEL-SUBOBJ-FLAGS; + } + leaf label { + type uint32; + description + "The RRO Subobject Label Value"; + } + leaf is-label-variable-length { + type boolean; + description + "Is the RRO Subobject Label Variable Length"; + } + list variable-length-label { + description + "The RRO Subobject Variable Length Label"; + leaf entry { + type uint32; + description + "The RRO Subobject Variable Length Label"; + } + } + } + + grouping RSVP-MGMT-RRO-IPV4-SUBOBJ-FLAGS { + description + "RSVP RRO IPV4 Subobject Flags"; + leaf is-protection-available { + type boolean; + description + "Local Protection Available"; + } + leaf is-protection-in-use { + type boolean; + description + "Local Protection In Use"; + } + leaf is-bandwidth-protected { + type boolean; + description + "Bandwidth Protection Available"; + } + leaf is-node-protection-available { + type boolean; + description + "Node Protection Available"; + } + leaf is-node-id { + type boolean; + description + "Node ID In Use"; + } + } + + grouping RSVP-MGMT-RRO-IPV4-SUBOBJ { + description + "RSVP RRO IPV4 subobject"; + container flags { + description + "The RRO IPV4 Subobject Flags"; + uses RSVP-MGMT-RRO-IPV4-SUBOBJ-FLAGS; + } + leaf rro-address { + type inet:ipv4-address; + description + "The RRO IPV4 Address"; + } + } + + grouping RSVP-MGMT-RRO-SUBOBJ { + description + "Union of the different RSVP RRO types"; + container ipv4rro-sub-object { + when "../rro-type = 'ipv4rro-type'" { + description + "../RROType = 'IPv4RROType'"; + } + description + "IPV4 RRO Sub Object"; + uses RSVP-MGMT-RRO-IPV4-SUBOBJ; + } + container label-rro-sub-object { + when "../rro-type = 'label-rro-type'" { + description + "../RROType = 'LabelRROType'"; + } + description + "Label RRO Sub Object"; + uses RSVP-MGMT-RRO-LABEL-SUBOBJ; + } + container unnumbered-rro-sub-object { + when "../rro-type = 'unnumbered-rro-type'" { + description + "../RROType = 'UnnumberedRROType'"; + } + description + "Unnumbered RRO Sub Object"; + uses RSVP-MGMT-RRO-UNNUMBERED-SUBOBJ; + } + container srlg-rro-sub-object { + when "../rro-type = 'srlg-rro-type'" { + description + "../RROType = 'SRLG_RROType'"; + } + description + "SRLG RRO Sub Object"; + uses RSVP-MGMT-RRO-SRLG-SUBOBJ; + } + leaf rro-type { + type Rsvp-mgmt-rro-subobj; + description + "RROType"; + } + } + + grouping RSVP-MGMT-ERO-UNNUM-SUBOBJ { + description + "RSVP ERO UNNUM subobject"; + leaf is-strict-route { + type boolean; + description + "ERO Entry Is Strict"; + } + leaf ero-interface-id { + type uint32; + description + "The Interface ID in ERO"; + } + leaf ero-router-id { + type inet:ipv4-address; + description + "The Router ID in ERO"; + } + leaf status { + type Rsvp-mgmt-ero-subobj-status; + description + "Status of ERO"; + } + } + + grouping RSVP-MGMT-ERO-IPV4-SUBOBJ { + description + "RSVP ERO IPV4 subobject"; + leaf is-strict-route { + type boolean; + description + "ERO Entry Is Strict"; + } + leaf ero-address { + type inet:ipv4-address; + description + "The ERO IPV4 Address"; + } + leaf prefix-length { + type uint8; + description + "ERO Prefix Length"; + } + } + + grouping RSVP-MGMT-ERO-SUBOBJ { + description + "Union of the different RSVP ERO types"; + container ipv4ero-sub-object { + when "../ero-type = 'rsvp-mgmt-ero-type-ipv4'" { + description + "../EROType = 'RSVP_MGMT_ERO_TYPE_IPv4'"; + } + description + "IPV4 ERO Sub Object"; + uses RSVP-MGMT-ERO-IPV4-SUBOBJ; + } + container unnumbered-ero-sub-object { + when "../ero-type = 'rsvp-mgmt-ero-type-un-num'" { + description + "../EROType = 'RSVP_MGMT_ERO_TYPE_UNNUM'"; + } + description + "Unnumbered ERO Sub Object"; + uses RSVP-MGMT-ERO-UNNUM-SUBOBJ; + } + leaf ero-type { + type Rsvp-mgmt-ero-subobj; + description + "EROType"; + } + } + + grouping MPLS-TE-P2MP-SIG-ERROR { + description + "P2MP signalling error"; + leaf error-node { + type uint32; + description + "Source address of the error generating node"; + } + leaf error { + type uint8; + description + "Path Error code"; + } + leaf sub-code { + type uint16; + description + "Path Error subcode"; + } + leaf lsp-mode { + type Mpls-te-lsp-mode; + description + "LSPMode"; + } + leaf log-time { + type uint32; + units "second"; + description + "Time in seconds when the error message is logged"; + } + leaf signalling-lsp-id { + type uint16; + description + "LSP-id for which the error was received"; + } + leaf error-message { + type string; + description + "Error message (for display purposes only)"; + } + leaf reverse-lsp { + type boolean; + description + "Indicates if error is on the reverse LSP"; + } + } + + grouping MPLS-TE-P2MP-PCALC-ERROR { + description + "Path computation error information"; + leaf error-message { + type string; + description + "Error message (for display purposes only)"; + } + leaf lsp-mode { + type Mpls-te-lsp-mode; + description + "LSP Mode"; + } + leaf log-time { + type uint32; + units "second"; + description + "Time in seconds seconds (since Jan. 1, 1970) + when the error message is logged"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-UNI-P { + description + "UNI protection attribute set"; + leaf lsp-flag { + type Te-protection; + description + "End-end protection type"; + } + leaf seg-flag { + type Te-protection; + description + "Segment protection type"; + } + leaf in-place-bit { + type boolean; + description + "In place bit"; + } + leaf required-bit { + type boolean; + description + "Required Bit"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-SR-PREPEND-ENTRY { + description + "TE segment routing prepend entry"; + leaf type { + type Te-attribute-set-sr-prepend; + description + "Prepend Type"; + } + leaf index { + type uint32; + description + "Prepend index"; + } + leaf next-label { + type uint32; + description + "Prepend next label"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-SR-PREPEND-LIST { + description + "TE segment routing prepend list"; + list prepend-entry { + description + "List of prepend entries"; + uses MPLS-TE-ATTRIBUTE-SET-SR-PREPEND-ENTRY; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-P2P-TE { + description + "TE P2P-TE Attribute Set"; + container affinity { + description + "Affinity"; + uses MPLS-TE-TUNNELS-AFFINITY-INFO; + } + container logging { + description + "Logging attributes"; + uses MPLS-TE-LOGGING-ATTRIBUTES; + } + container prepend-list { + description + "SR prepend list"; + uses MPLS-TE-ATTRIBUTE-SET-SR-PREPEND-LIST; + } + leaf is-affinity-configured { + type boolean; + description + "Is affinity configured"; + } + leaf path-selection-segment-routing-adjacency-protection { + type Te-s2l-sr-path-selection; + description + "Path selection segment-routing type"; + } + leaf is-path-selection-segment-routing-adjacency-protection-configured { + type boolean; + description + "Is path selection segment routing configured"; + } + leaf path-invalidation-timeout { + type uint32; + description + "Path invalidation timeout on the tunnel path"; + } + leaf path-selection-invalidation-action { + type Te-path-inval-action; + description + "Path invalidation action"; + } + leaf is-path-invalidation-timeout-configured { + type boolean; + description + "Is Path Invalidation timeout configured"; + } + leaf is-path-invalidation-action-configured { + type boolean; + description + "Is Path Invalidation action configured"; + } + leaf path-selection-metric { + type Mpls-te-metric; + description + "Path selection metric type"; + } + leaf is-path-selection-metric-configured { + type boolean; + description + "Is path selection metric configured"; + } + leaf path-selection-segment-routing-margin { + type uint32; + description + "Path selection margin"; + } + leaf is-path-selection-segment-routing-margin-relative { + type boolean; + description + "Path selection margin is_relative"; + } + leaf is-path-selection-segment-routing-margin-configured { + type boolean; + description + "Is path selection margin configured"; + } + leaf path-selection-segment-routing-segment-limit { + type uint32; + description + "Is path selection segment limit configured"; + } + leaf is-path-selection-segment-routing-segment-limit-configured { + type boolean; + description + "Is path selection segment limit configured"; + } + leaf is-path-select-configured { + type boolean; + description + "Is any of the path selection parameters + configured"; + } + leaf is-prepend-list-configured { + type boolean; + description + "Is SR prepend list configured"; + } + leaf is-pce-configured { + type boolean; + description + "Is PCE Configured"; + } + leaf is-pce-disj-source-configured { + type boolean; + description + "Is PCE Disjoint Path Source Configured"; + } + leaf is-pce-disj-type-configured { + type boolean; + description + "Is PCE Disjoint Path Type Configured"; + } + leaf is-pce-disj-group-id-configured { + type boolean; + description + "Is PCE Disjoint Path Group ID Configured"; + } + leaf pcedp-source-address { + type uint32; + description + "PCE Disjoint Path Source Address"; + } + leaf pcedp-type { + type Te-pce-disjoint; + description + "PCE Disjoint Path Type"; + } + leaf pcedp-group-id { + type uint32; + description + "PCE Disjoint Path Group ID"; + } + leaf is-pceb-dj-source-configured { + type boolean; + description + "Is PCE Bidirectional Source Configured"; + } + leaf is-pcebd-group-id-configured { + type boolean; + description + "Is PCE Bidirectional Group ID Configured"; + } + leaf pcebd-source-address { + type uint32; + description + "PCE Bidirectional Source Address"; + } + leaf pcebd-group-id { + type uint32; + description + "PCE Bidirectional Group ID"; + } + list tunnel-id { + description + "Tunnel ID"; + leaf entry { + type uint16; + description + "Tunnel ID"; + } + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-APS-PP { + description + "TE OTN path protection attribute set"; + container revert-schedule { + description + "Revert Schedule"; + uses TE-REVERT-SCH; + } + leaf snc-mode { + type Te-aps-snc-mode; + description + "Sub-network Connection Mode"; + } + leaf tcm-id { + type uint32; + description + "Sub-network Connection Monitoring Mode"; + } + leaf protection-type { + type Te-protect; + description + "Protection Type"; + } + leaf protection-mode { + type Te-pnr-revert-options; + description + "Protection Restoration Mode"; + } + leaf wait-to-restore-time { + type uint32; + description + "Wait to restore time"; + } + leaf hold-off-time { + type uint32; + description + "Hold-off time"; + } + leaf path-prot-profile-type { + type Te-path-prot-profile; + description + "Path Protection Profile Type"; + } + leaf restoration-style { + type Te-restoration-style; + description + "Restoration Style"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-P2MP-TE { + description + "TE P2MP-TE Attribute Set"; + container affinity { + description + "Affinity"; + uses MPLS-TE-TUNNELS-AFFINITY-INFO; + } + leaf fast-reroute { + type boolean; + description + "Fast reroute"; + } + leaf frr-bandwidth-protection { + type boolean; + description + "FRR bandwidth protection"; + } + leaf setup-priority { + type uint8; + description + "Setup priority"; + } + leaf hold-priority { + type uint8; + description + "Hold priority"; + } + leaf is-priority-configured { + type boolean; + description + "Is priority configured"; + } + leaf configured-bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth value in kbps"; + } + leaf dste-class-type { + type uint8; + description + "DSTE Class"; + } + leaf is-bandwidth-configured { + type boolean; + description + "Is bandwidth configured"; + } + leaf is-affinity-configured { + type boolean; + description + "Is affinity configured"; + } + list tunnel-id { + description + "Tunnel ID"; + leaf entry { + type uint16; + description + "Tunnel ID"; + } + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-XRO { + description + "TE XRO attribute set"; + container xro { + description + "The XRO specified by this attribute-set"; + uses TE-XRO; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-AUTO-MESH { + description + "TE Auto-mesh Attribute Set"; + container affinity { + description + "Affinity"; + uses MPLS-TE-TUNNELS-AFFINITY-INFO; + } + container logging { + description + "Logging attributes"; + uses MPLS-TE-LOGGING-ATTRIBUTES; + } + leaf configured-bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth value in kbps"; + } + leaf dste-class-type { + type uint8; + description + "DSTE Class"; + } + leaf is-bandwidth-configured { + type boolean; + description + "Is bandwidth configured"; + } + leaf setup-priority { + type uint8; + description + "Setup priority"; + } + leaf hold-priority { + type uint8; + description + "Hold priority"; + } + leaf is-priority-configured { + type boolean; + description + "Is priority configured"; + } + leaf policy-class { + type uint8; + description + "deprecated"; + } + leaf is-policyclass-configured { + type boolean; + description + "Is policy class configured"; + } + leaf forward-class { + type uint32; + description + "Forward class"; + } + leaf is-forward-class-configured { + type boolean; + description + "True if forward-class is configured"; + } + leaf is-affinity-configured { + type boolean; + description + "Is affinity configured"; + } + leaf fast-reroute { + type boolean; + description + "Fast reroute"; + } + leaf frr-node-protection { + type boolean; + description + "FRR Node protection"; + } + leaf frr-bandwidth-protection { + type boolean; + description + "FRR bandwidth protection"; + } + leaf record-route { + type boolean; + description + "Record route"; + } + leaf auto-bandwidth-collect { + type boolean; + description + "Auto bandwidth collect only"; + } + leaf auto-route-announce { + type boolean; + description + "Announce auto route to IGP"; + } + leaf soft-preemption-configured { + type boolean; + description + "Soft preemption is configured"; + } + leaf bandwidth { + type uint32; + description + "IM bandwidth"; + } + leaf load-share { + type uint32; + description + "Load Share"; + } + leaf is-interface-bw-configured { + type boolean; + description + "Is Interface BW configured"; + } + list policy-class-entry { + description + "PBTS policy classes"; + leaf entry { + type uint8; + description + "PBTS policy classes"; + } + } + list mesh-group-id { + description + "Meshgroup ID"; + leaf entry { + type uint32; + description + "Meshgroup ID"; + } + } + list tunnel-id { + description + "Tunnel ID"; + leaf entry { + type uint16; + description + "Tunnel ID"; + } + } + } + + grouping MPLS-TE-PROTECTED-IF-NAME-STR { + description + "TE Protected Interface Name String"; + leaf protected-interface { + type string; + description + "Protected Interface Name"; + } + } + + grouping MPLS-TE-LOGGING-ATTRIBUTES { + description + "TE Logging Attributes"; + leaf lsp-state { + type boolean; + description + "LSP State logging: TRUE - enabled, FALSE - + disabled"; + } + leaf s2l-state { + type boolean; + description + "S2L State logging: TRUE - enabled, FALSE - + disabled"; + } + leaf lsp-re-route { + type boolean; + description + "LSP re-route logging: TRUE - enabled, FALSE - + disabled"; + } + leaf lsp-re-opt { + type boolean; + description + "LSP re-optimization logging: TRUE - enabled, + FALSE - disabled"; + } + leaf lsp-insufficient-bw { + type boolean; + description + "LSP insufficient bandwidth logging: TRUE - + enabled, FALSE - disabled"; + } + leaf lsp-bandwidth-change { + type boolean; + description + "LSP bandwidth change logging: TRUE - enabled, + FALSE - disabled"; + } + leaf lsp-pcalc-failure-logging-enabled { + type boolean; + description + "LSP pcalc failure logging: TRUE - enabled, FALSE + - disabled"; + } + leaf all-logging-enabled { + type boolean; + description + "All logging option: TRUE - enabled, FALSE - + disabled"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-SIG-NAME { + description + "Attribute set signalled name"; + leaf name { + type string; + description + "Signalled name"; + } + leaf source-type { + type Te-sig-name-append; + description + "Source address or name"; + } + leaf protected-interface-type { + type Te-sig-name-append; + description + "Protected interface address or name"; + } + leaf is-mp-addresses { + type boolean; + description + "MP address appended"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-AUTO-BACKUP { + description + "TE Auto-backup Attribute Set"; + container signalled-name { + description + "Signalled name"; + uses MPLS-TE-ATTRIBUTE-SET-SIG-NAME; + } + container affinity { + description + "Affinity"; + uses MPLS-TE-TUNNELS-AFFINITY-INFO; + } + container logging { + description + "Logging attributes"; + uses MPLS-TE-LOGGING-ATTRIBUTES; + } + leaf is-signalled-name-configured { + type boolean; + description + "Is signalled name configured"; + } + leaf setup-priority { + type uint8; + description + "Setup priority"; + } + leaf hold-priority { + type uint8; + description + "Hold priority"; + } + leaf is-priority-configured { + type boolean; + description + "Is priority configured"; + } + leaf policy-class { + type uint8; + description + "deprecated"; + } + leaf is-policyclass-configured { + type boolean; + description + "Is policy class configured"; + } + leaf is-affinity-configured { + type boolean; + description + "Is affinity configured"; + } + leaf record-route { + type boolean; + description + "Record route"; + } + list policy-class-entry { + description + "PBTS policy classes"; + leaf entry { + type uint8; + description + "PBTS policy classes"; + } + } + list tunnel-id { + description + "Tunnel ID"; + leaf entry { + type uint16; + description + "Tunnel ID"; + } + } + list protected-interface { + description + "Array of Protected Interface Names"; + uses MPLS-TE-PROTECTED-IF-NAME-STR; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-BFD-REV-PATH { + description + "TE segment routing path list"; + leaf path-type { + type Te-bfd-reverse-path; + description + "BFD reverse path type"; + } + leaf binding-label { + type uint32; + description + "BFD reverse path binding label"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-VERSION { + description + "TE attribute set versioning info"; + leaf attribute-type { + type string; + description + "Attribute Type"; + } + leaf generation { + type uint32; + description + "Generation"; + } + leaf is-default { + type boolean; + description + "Is default"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-PATH-OPTION { + description + "TE Path Option Attribute Set"; + container affinity { + description + "Affinity"; + uses MPLS-TE-TUNNELS-AFFINITY-INFO; + } + container bfd-reverse-path { + description + "BFD reverse path"; + uses MPLS-TE-ATTRIBUTE-SET-BFD-REV-PATH; + } + leaf configured-bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth value in kbps"; + } + leaf cost-limit { + type uint32; + description + "Cost limit on the tunnel path"; + } + leaf dste-class-type { + type uint8; + description + "DSTE Class"; + } + leaf bandwidth-type { + type Mpls-te-bw-pool; + description + "The bandwidth type"; + } + leaf is-bandwidth-configured { + type boolean; + description + "Is bandwidth configured"; + } + leaf is-cost-limit-configured { + type boolean; + description + "Is Cost Limit configured"; + } + leaf is-affinity-configured { + type boolean; + description + "Is affinity configured"; + } + leaf generation { + type uint32; + description + "Generation"; + } + leaf path-invalidation-timeout { + type uint32; + description + "Path invalidation interval on the tunnel path"; + } + leaf path-invalidation-action { + type uint32; + description + "Path invalidation action"; + } + leaf is-path-invalidation-timeout-configured { + type boolean; + description + "Is path invalidation timeout configured"; + } + leaf is-path-invalidation-action-configured { + type boolean; + description + "Is path invalidation action configured"; + } + leaf exclude-list-name { + type string; + description + "Exclude list name"; + } + leaf is-exclude-list-name-configured { + type boolean; + description + "Is exclude list name configured"; + } + leaf is-pce-configured { + type boolean; + description + "Is PCE Configured"; + } + leaf is-pce-disj-source-configured { + type boolean; + description + "Is PCE Disjoint Path Source Configured"; + } + leaf is-pce-disj-type-configured { + type boolean; + description + "Is PCE Disjoint Path Type Configured"; + } + leaf is-pce-disj-group-id-configured { + type boolean; + description + "Is PCE Disjoint Path Group ID Configured"; + } + leaf pcedp-source-address { + type uint32; + description + "PCE Disjoint Path Source Address"; + } + leaf pcedp-type { + type Te-pce-disjoint; + description + "PCE Disjoint Path Type"; + } + leaf pcedp-group-id { + type uint32; + description + "PCE Disjoint Path Group ID"; + } + leaf is-pceb-dj-source-configured { + type boolean; + description + "Is PCE Bidirectional Source Configured"; + } + leaf is-pcebd-group-id-configured { + type boolean; + description + "Is PCE Bidirectional Group ID Configured"; + } + leaf pcebd-source-address { + type uint32; + description + "PCE Bidirectional Source Address"; + } + leaf pcebd-group-id { + type uint32; + description + "PCE Bidirectional Group ID"; + } + leaf is-bfd-reverse-pat-configured { + type boolean; + description + "Is BFD reverse path configured"; + } + leaf is-delay-limit-configured { + type boolean; + description + "Is Delay Limit configured"; + } + leaf delay-limit { + type uint32; + description + "Delay limit on the tunnel path (usec) When delay + limit is configured"; + } + list tunnel-id { + description + "Tunnel ID"; + leaf entry { + type uint16; + description + "Tunnel ID"; + } + } + list version-info { + description + "Version Info"; + uses MPLS-TE-ATTRIBUTE-SET-VERSION; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET-UNION { + description + "TE Attribute Set Union"; + container attribute-set-path-option { + when "../tunnel-attribute-set-type = 'tunnel-attribute-set-path-option'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeSetPathOption'"; + } + description + "MPLS TE Path Option Attribute Set"; + uses MPLS-TE-ATTRIBUTE-SET-PATH-OPTION; + } + container attribute-set-autobackup { + when "../tunnel-attribute-set-type = 'tunnel-attribute-set-auto-backup'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeSetAutoBackup'"; + } + description + "MPLS TE Auto-backup Attribute Set"; + uses MPLS-TE-ATTRIBUTE-SET-AUTO-BACKUP; + } + container attribute-set-automesh { + when "../tunnel-attribute-set-type = 'tunnel-attribute-set-auto-mesh'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeSetAutoMesh'"; + } + description + "MPLS TE Auto-mesh Attribute Set"; + uses MPLS-TE-ATTRIBUTE-SET-AUTO-MESH; + } + container attribute-set-xro { + when "../tunnel-attribute-set-type = 'tunnel-attribute-set-xro'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeSetXRO'"; + } + description + "Attribute Set XRO"; + uses MPLS-TE-ATTRIBUTE-SET-XRO; + } + container attribute-set-p2mpte { + when "../tunnel-attribute-set-type = 'tunnel-attribute-set-p2mpte'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeSetP2MPTE'"; + } + description + "MPLS TE P2MP-TE Attribute Set"; + uses MPLS-TE-ATTRIBUTE-SET-P2MP-TE; + } + container attribute-set-aps-pp { + when "../tunnel-attribute-set-type = 'tunnel-attribute-aps-pp'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeAPS_PP'"; + } + description + "Attribute Set OTN APS Path Protection"; + uses MPLS-TE-ATTRIBUTE-SET-APS-PP; + } + container attribute-set-p2p-te { + when "../tunnel-attribute-set-type = 'tunnel-attribute-set-p2p-te'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeSetP2P_TE'"; + } + description + "MPLS TE P2P-TE Attribute Set"; + uses MPLS-TE-ATTRIBUTE-SET-P2P-TE; + } + container attribute-set-uni-p { + when "../tunnel-attribute-set-type = 'tunnel-attribute-uni-p'" { + description + "../TunnelAttributeSetType = + 'TunnelAttributeUNI_P'"; + } + description + "Attribute Set UNI protection"; + uses MPLS-TE-ATTRIBUTE-SET-UNI-P; + } + leaf tunnel-attribute-set-type { + type Tunnel-attribute-set; + description + "TunnelAttributeSetType"; + } + } + + grouping MPLS-TE-ATTRIBUTE-SET { + description + "TE Attribute Set"; + container attribute-set-union { + description + "Union of Attribute Sets"; + uses MPLS-TE-ATTRIBUTE-SET-UNION; + } + leaf tunnel-attribute-set-name { + type string; + description + "Attribute Set Name"; + } + leaf tunnel-attribute-set-name-crc32 { + type uint32; + description + "Attribute Set name CRC32 value"; + } + } + + grouping MPLS-TE-P2MP-PATH-OPTION { + description + "P2MP path-option"; + container attribute-set { + description + "The path option attribute set used by this path"; + uses MPLS-TE-ATTRIBUTE-SET; + } + container xro-attribute-set { + description + "The XRO attribute set used by this path-option"; + uses MPLS-TE-ATTRIBUTE-SET; + } + leaf option-index-is-valid { + type boolean; + description + "The path option index is valid"; + } + leaf option-index { + type uint32; + description + "Path option index"; + } + leaf path-option-name { + type string; + description + "Path option name"; + } + leaf path-option-type { + type Mpls-te-pathoption; + description + "Path option type"; + } + leaf explicit-path-name { + type string; + description + "Explicit Path Name, this is the key to table + ExplicitPaths.NameTable"; + } + leaf explicit-path-id { + type uint16; + description + "Explicit Path ID, this is the key to table + ExplicitPaths.IdentifierTable"; + } + leaf holddown-duration { + type uint16; + units "second"; + description + "Holddown Duration (seconds)"; + } + leaf pce-address { + type inet:ipv4-address; + description + "PCE server address"; + } + leaf path-option-area-id { + type string; + description + "The path-option area constraint"; + } + leaf is-strict-explicit-path { + type boolean; + description + "TRUE if explicit path is strict"; + } + leaf is-helddown { + type boolean; + description + "TRUE if path is helddown"; + } + leaf is-lockdown { + type boolean; + description + "TRUE if the path is locked down"; + } + leaf is-sticky { + type boolean; + description + "TRUE if the path is sticky"; + } + leaf is-verbatim { + type boolean; + description + "TRUE if the path is verbatim"; + } + leaf is-disabled { + type boolean; + description + "TRUE if the path option is disabled"; + } + leaf has-attribute-set { + type boolean; + description + "TRUE if the path has an attribute set defined"; + } + leaf attribute-set-found { + type boolean; + description + "TRUE if the path has found the defined attribute + set"; + } + leaf has-xro-attribute-set { + type boolean; + description + "TRUE if the path has an XRO attribute set + configured"; + } + leaf xro-attribute-set-found { + type boolean; + description + "TRUE if the path's XRO attribute set is known"; + } + leaf is-segment-routing { + type boolean; + description + "TRUE if the path is Segment-Routing"; + } + leaf protected-by-path-option-index { + type uint32; + description + "Path option index for Protect path options"; + } + leaf restored-from-path-option-index { + type uint32; + description + "Path option index for Restore path options"; + } + leaf setup-timeout { + type uint16; + description + "Path setup retry timer timeout value"; + } + list path-calculation-error { + description + "Path computation information"; + uses MPLS-TE-P2MP-PCALC-ERROR; + } + list remerge-error { + description + "Path computation remerge resolve info"; + uses MPLS-TE-P2MP-PCALC-ERROR; + } + list signalling-error { + description + "Signalling information"; + uses MPLS-TE-P2MP-SIG-ERROR; + } + } + + grouping MPLS-TE-P2MP-S2L { + description + "A P2MP S2L"; + container s2l-fec { + description + "FEC for the S2L"; + uses TE-S2L-FEC; + } + container active-path-option { + description + "The path option used to find the path for this + S2L"; + uses MPLS-TE-P2MP-PATH-OPTION; + } + container out-xro { + description + "Outgoing XRO for this S2L"; + uses TE-XRO; + } + container in-xro { + description + "Incoming XRO for this S2L"; + uses TE-XRO; + } + container tspec { + description + "The T spec info"; + uses BANDWIDTH-SPEC-BAG; + } + container generic-tspec { + description + "Generic TSpec"; + uses TE-MGMT-GENERIC-TSPEC; + } + container fspec { + description + "The F spec info"; + uses BANDWIDTH-SPEC-BAG; + } + container generic-fspec { + description + "Generic FSpec"; + uses TE-MGMT-GENERIC-FSPEC; + } + container next-hop-address-generic { + description + "Next hop address"; + uses TE-ADDR; + } + container previous-hop-address-generic { + description + "Previous hop address"; + uses TE-ADDR; + } + container incoming-address-generic { + description + "Incoming interface address"; + uses TE-ADDR; + } + container s2l-convergence { + description + "TE LSP convergence related information"; + uses TE-LSP-CONVERGENCE-INFO; + } + container soft-preemption { + description + "The soft preemption info for this LSP."; + uses MPLS-TE-SOFT-PREEMPTION-LSP-INFO; + } + container gmpls-labels { + description + "GMPLS labels"; + uses MPLS-TE-MGMT-GMPLS-LABELS; + } + container otn-s2l { + description + "Otn S2L Information"; + uses MPLS-TE-OTN-S2L-INFO; + } + container head-end-bfd-info { + description + "The Head-end BFD info"; + uses MPLS-TE-HEAD-BFD-INFO; + } + container tail-end-bfd-info { + description + "The Tail-end BFD info"; + uses MPLS-TE-TAIL-BFD-INFO; + } + container srlg-collection { + description + "SRLG-collection data"; + uses TE-S2L-SRLG-COLLECT-INFO; + } + container association { + description + "Association Object"; + uses MPLS-TE-S2L-ASSOCIATION-OBJECT; + } + container protection { + description + "Protection Object"; + uses MPLS-TE-S2L-PROTECTION-OBJECT; + } + container reverse-lsp-fec { + description + "Reverse Associated Bidir LSP FEC"; + uses TE-LSP-FEC; + } + container reverse-tspec { + description + "The Reverse T spec info"; + uses BANDWIDTH-SPEC-BAG; + } + container flex-info { + description + "FlexLSP S2L Information"; + uses MPLS-TE-S2L-FLEX-INFO; + } + container lsp-wrap-info { + description + "Lsp Wrap Related information"; + uses TUNNEL-MIDPOINT-LSP-WRAP-INFO-BAG; + } + container diversity-info { + description + "S2L Diversity Information"; + uses MPLS-TE-S2L-DIVERSITY-INFO; + } + container accumulated-path-metrics { + description + "Accumulated Path Metrics"; + uses MPLS-TE-PATH-METRICS; + } + container accumulated-reverse-path-metrics { + description + "Accumulated Reverse Path Metrics"; + uses MPLS-TE-PATH-METRICS; + } + container delay-measurement { + description + "S2L delay-measurement notification information"; + uses MPLS-TE-S2L-DELAY-MEASUREMENT; + } + leaf pcalc-area { + type string; + description + "IGP-area in which the S2L path was calculated"; + } + leaf is-expanded-ero { + type boolean; + description + "TRUE if this LSR expanded a loose path"; + } + leaf path-reeval-query-mid { + type uint32; + description + "Loose path reevaluation query received at + mid-point"; + } + leaf time-since-last-query-received-mid { + type uint32; + description + "Time since last reevaluation query received at + mid-point"; + } + leaf time-since-last-preferred-path-exists-send-mid { + type uint32; + description + "Time since last preferred path exists msg send + from mid-point"; + } + leaf time-since-last-preferred-tree-exists-send-mid { + type uint32; + description + "Time since last preferred tree exists msg send + from mid-point"; + } + leaf expanded-ero-area-id { + type string; + description + "Indicates the protocol and area used to find + Outgoing ERO"; + } + leaf expanded-ero-affinity-bits { + type uint32; + description + "The Outgoing ERO's affinity bits (colors)"; + } + leaf expanded-ero-affinity-mask { + type uint32; + description + "The Outgoing ERO's affinity mask (colors)"; + } + leaf expanded-ero-metric-type { + type Mpls-te-metric; + description + "The Outgoing ERO's selection metric"; + } + leaf expanded-ero-metric { + type uint32; + description + "The metric value of the expanded path"; + } + leaf abr-auto-discovered { + type inet:ipv4-address; + description + "Next ABR auto discovered"; + } + leaf is-frr-enabled { + type boolean; + description + "FRR Enabled or Disabled"; + } + leaf is-node-protected { + type boolean; + description + "Node Protection Enabled or Disabled"; + } + leaf is-bandwidth-protect { + type boolean; + description + "BW Protection Enabled or Disabled"; + } + leaf path-rro-enabled { + type boolean; + description + "Path RRO Enabled or Disabled"; + } + leaf weight { + type uint64; + description + "The path's weight"; + } + leaf reverse-weight { + type uint64; + description + "The reverse path weight"; + } + leaf uptime { + type uint32; + units "second"; + description + "Time in seconds since the tunnel was up"; + } + leaf egress-interface { + type string; + description + "Egress Interface"; + } + leaf egress-interface-state { + type Te-controller-state; + description + "State of Outgoing Interface"; + } + leaf egress-interface-brief { + type string; + description + "Egress Interface in brief format"; + } + leaf ingress-interface { + type string; + description + "Ingress Interface"; + } + leaf ingress-interface-state { + type Te-controller-state; + description + "State of Incoming Interface"; + } + leaf ingress-interface-brief { + type string; + description + "Ingress Interface in brief format"; + } + leaf s2l-local-label { + type uint32; + description + "Local label"; + } + leaf s2l-out-label { + type uint32; + description + "Outgoing label"; + } + leaf outbound-frr-state { + type Mpls-te-frr-state; + description + "Indicates outbound FRR state"; + } + leaf frr-out-tunnel-interface { + type string; + description + "FRR out tunnel intface"; + } + leaf role { + type Mpls-te-tunnel-role; + description + "Role of S2L"; + } + leaf signalling-status { + type Mpls-te-tunnels-signaling-status; + description + "Signaling status"; + } + leaf local-router-id { + type inet:ipv4-address; + description + "Local router id"; + } + leaf upstream-router-id { + type inet:ipv4-address; + description + "Upstream router id"; + } + leaf downstream-router-id { + type inet:ipv4-address; + description + "Downstream router id"; + } + leaf next-hop-address { + type inet:ipv4-address; + description + "Next hop address"; + } + leaf next-next-hop-address { + type inet:ipv4-address; + description + "Next next hop address"; + } + leaf previous-hop-address { + type inet:ipv4-address; + description + "Previous hop address"; + } + leaf incoming-address { + type inet:ipv4-address; + description + "Incoming interface address"; + } + leaf backup-tunnel-interface { + type xr:Interface-name; + description + "Interface handle of the backup tunnel"; + } + leaf node-hop-count { + type uint8; + description + "Hop count"; + } + leaf is-optical { + type boolean; + description + "Is Optical"; + } + leaf s2l-reverse-ero-obj-present { + type boolean; + description + " S2l Reverse ERO Object Present"; + } + leaf reverse-lsp-present { + type boolean; + description + "Reverse Associated Bidir LSP Present"; + } + leaf reverse-lsp-connected { + type boolean; + description + "Reverse Associated Bidir LSP Connected"; + } + leaf reverse-lsp-name { + type string; + description + "Reverse Associated Bidir LSP Name"; + } + leaf s2l-reverse-tspec-obj-present { + type boolean; + description + " S2L Reverse TSpec Object Present"; + } + leaf path-using-strict-spf { + type boolean; + description + "Path is using Strict SPF"; + } + list s2l-reverse-lsp-sub-obj { + description + "Reverse LSP Sub Objects"; + leaf entry { + type uint8; + description + "Reverse LSP Sub Objects"; + } + } + list shared-risk-link-group { + description + "The S2L's excluded srlg groups"; + uses MPLS-SRLG-INFO; + } + list out-ero { + description + "Outgoing ERO for this S2L"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + list in-ero { + description + "Incoming ERO for this S2L"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + list path-rro { + description + "Path RRO for this S2L"; + uses RSVP-MGMT-RRO-SUBOBJ; + } + list resv-rro { + description + "Resv RRO for this S2L"; + uses RSVP-MGMT-RRO-SUBOBJ; + } + list path-affinity-array { + description + "Tunnel's Path hops with affinity"; + uses TUNNEL-HOP-INFO; + } + list reverse-ero-in { + description + " Reverse Incoming ERO for this S2L"; + uses RSVP-MGMT-ERO-SUBOBJ; + } + list s2l-segment-routing-path { + description + "Segment-Routing S2L path info"; + uses TE-S2L-SR-PATH-HOP; + } + } + + grouping MPLS-TE-P2MP-LSP { + description + "A P2MP LSP"; + container lsp-fec { + description + "FEC for the LSP"; + uses TE-LSP-FEC; + } + leaf signaled-name { + type string; + description + "Signaled Name"; + } + leaf is-frr-failed { + type boolean; + description + "P2MP LSP has FRR Failed"; + } + leaf frr-active-reason { + type uint32; + description + "P2MP LSP FRR active reason"; + } + leaf lsp-bandwidth { + type uint32; + description + "P2MP LSP Bandwidth"; + } + leaf lsp-setup-priority { + type uint8; + description + "LSP setup priority"; + } + leaf lsp-hold-priority { + type uint8; + description + "LSP hold priority"; + } + leaf lsp-bandwidth-type { + type Mpls-te-bw-pool; + description + "The LSP bandwidth type"; + } + leaf dste-class-match { + type boolean; + description + "Do the class type and priority match a DSTE + class"; + } + leaf dste-class-index { + type uint8; + description + "Matching DSTE class index"; + } + leaf type { + type Mpls-te-lsp; + description + "The type of this LSP"; + } + leaf uptime { + type uint32; + units "second"; + description + "Time in seconds since the tunnel was up"; + } + leaf s2-ls-up { + type uint32; + description + "Number of connected S2Ls"; + } + leaf s2-ls-proceeding { + type uint32; + description + "Number of proceeding S2Ls"; + } + leaf s2-ls-down { + type uint32; + description + "Number of down S2Ls"; + } + leaf reoptimize-reason { + type Mpls-te-reopt-decision-reason; + description + "Reason for re-optimization"; + } + leaf reoptimize-trigger { + type Mte-reopt-trigger; + description + "Re-optimize trigger"; + } + leaf timer-left { + type uint32; + units "second"; + description + "Time in seconds left to take next action if any"; + } + leaf is-passive { + type boolean; + description + "True for passive tunnel"; + } + leaf is-interface { + type boolean; + description + "True for tunnel head"; + } + leaf last-path-change { + type uint32; + units "second"; + description + "Time in seconds since the last path change"; + } + leaf persistent-bytes { + type uint64; + units "byte"; + description + "Persistent forwarding statistics for number of + bytes. Clear counters will not reset the counter"; + } + leaf persistent-packets { + type uint64; + description + "Persistent forwarding statistics for Number of + packets. Clear counters will not reset the + counter"; + } + leaf protection-role { + type Te-lsp-path-protection-role; + description + "Path Protection Role"; + } + list s2l { + description + "array of S2L structures"; + uses MPLS-TE-P2MP-S2L; + } + } + + grouping MPLS-TE-P2MP-S2L-BRIEF { + description + "A P2MP S2L"; + container s2l-fec { + description + "FEC for the S2L"; + uses TE-S2L-FEC; + } + leaf uptime { + type uint32; + units "second"; + description + "Time in seconds since the S2L was up"; + } + leaf egress-interface { + type string; + description + "Egress Interface"; + } + leaf ingress-interface { + type string; + description + "Ingress Interface"; + } + leaf role { + type Mpls-te-tunnel-role; + description + "Role of S2L"; + } + leaf oper-state { + type boolean; + description + "Oper state of S2L"; + } + } + + grouping MPLS-TE-P2MP-LSP-BRIEF { + description + "A P2MP LSP"; + container lsp-fec { + description + "FEC for the LSP"; + uses TE-LSP-FEC; + } + leaf signaled-name { + type string; + description + "Signaled Name"; + } + leaf uptime { + type uint32; + units "second"; + description + "Time in seconds since the LSP was up"; + } + list s2l { + description + "array of S2L structures"; + uses MPLS-TE-P2MP-S2L-BRIEF; + } + } + + grouping TE-HW-OOR-STATS { + description + "HW OOR statistics"; + leaf hw-oor-state { + type Hw-oor-state; + description + "The HW-OOR state that these statistics belong to"; + } + leaf transitions { + type uint32; + description + "Number of transitions to this state"; + } + leaf node-protection-disable-number { + type uint32; + description + "Number of times this OOR state disabled node + protection assignment"; + } + leaf rejected-ls-ps-number { + type uint32; + description + "Number of LSPs that were rejected in this state"; + } + leaf accepted-ls-ps-number { + type uint32; + description + "Number of LSPs that were accepted in this state"; + } + leaf accepted-reopt-ls-ps-number { + type uint32; + description + "Number of Reoptimize LSPs that were accepted in + this state"; + } + leaf rejected-reopt-ls-ps-number { + type uint32; + description + "Number of Reoptimize LSPs that were rejected in + this state"; + } + } + + grouping TE-HW-OOR-STATE-INFO { + description + "HW OOR State Information"; + container statistics { + description + "NPU HW OOR Statistics per state"; + uses TE-HW-OOR-STATS; + } + leaf hw-oor-state { + type Hw-oor-state; + description + "The HW-OOR state that this information belong to"; + } + leaf te-metric-penalty { + type uint32; + description + "The TE metric penalty when the link is in this + NPU HW OOR state"; + } + leaf available-bw-percentage { + type uint32; + units "percentage"; + description + "The flooded percentage of available bandwidth + advertized when the link is in this NPU HW OOR + state"; + } + leaf node-protection-disable { + type boolean; + description + "Disable FRR node protection when the link is in + this NPU HW OOR state"; + } + leaf transition-duration { + type uint32; + units "minute"; + description + "Recovery in minutes after the green OOR state is + entered."; + } + leaf minimum-lsp-bandwidth { + type uint32; + description + "Minimum LSP bandwidth so the LSP is admitted + when the link is in this NPU HW OOR state"; + } + leaf accept-reopt { + type boolean; + description + "Make-before-break is allowed for LSPs + reoptimizing over the same link in the NPU HW + OOR state"; + } + } + + grouping TE-HW-OOR-INFO { + description + "NPU HW OOR parameters for MPLS-TE"; + list hardware-out-of-resources-state { + max-elements "3"; + description + "Array of NPU HW OOR info per state"; + uses TE-HW-OOR-STATE-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub6.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub6.yang new file mode 100644 index 000000000..461dee996 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub6.yang @@ -0,0 +1,3469 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub6 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Igpte-link-encoding-protocol { + type enumeration { + enum "link-encoding-protocol-none" { + value 0; + description + "None"; + } + enum "link-encoding-protocol-p-acket" { + value 1; + description + "Packet"; + } + enum "link-encoding-protocol-ethernet" { + value 2; + description + "Ethernet"; + } + enum "link-encoding-protocol-ansi-etsi-pdh" { + value 3; + description + "ANSI ETSI PDH"; + } + enum "link-encoding-protocol-reserved4" { + value 4; + description + "Reserved"; + } + enum "link-encoding-protocol-sdh-sonet" { + value 5; + description + "SDH SONET"; + } + enum "link-encoding-protocol-reserved6" { + value 6; + description + "Reserved"; + } + enum "link-encoding-protocol-digital-wrapper" { + value 7; + description + "Digital Wrapper"; + } + enum "link-encoding-protocol-lambda-photonic" { + value 8; + description + "Lambda Photonic"; + } + enum "link-encoding-protocol-fiber" { + value 9; + description + "Fiber"; + } + enum "link-encoding-protocol-reserved10" { + value 10; + description + "Reserved"; + } + enum "link-encoding-protocol-fiber-channel" { + value 11; + description + "Fiber Channel"; + } + enum "link-encoding-protocol-g709otn" { + value 12; + description + "G709 OTN"; + } + enum "link-encoding-protocol-ethernet-type2" { + value 14; + description + "Ethernet Type 2"; + } + enum "link-encoding-protocol-passive-internal" { + value 200; + description + "Derived from ingress node"; + } + } + description + "Link protocol switching capabilities"; + } + + typedef Igpte-link-switch-capability { + type enumeration { + enum "link-switching-capability-none" { + value 0; + description + "None"; + } + enum "link-switching-capability-psc1" { + value 1; + description + "Packet (level 1)"; + } + enum "link-switching-capability-psc2" { + value 2; + description + "Packet (level 2)"; + } + enum "link-switching-capability-psc3" { + value 3; + description + "Packet (level 3)"; + } + enum "link-switching-capability-psc4" { + value 4; + description + "Packet (level 4)"; + } + enum "link-switching-capability-l2sc" { + value 51; + description + "Layer 2"; + } + enum "link-switching-capability-tdm" { + value 100; + description + "TDM"; + } + enum "link-switching-capability-otn-tdm" { + value 110; + description + "OTN TDM"; + } + enum "link-switching-capability-dcsc" { + value 125; + description + "DCSC"; + } + enum "link-switching-capability-lsc" { + value 150; + description + "LSC"; + } + enum "link-switching-capability-fsc" { + value 200; + description + "FSC"; + } + } + description + "Link protocol switching capabilities"; + } + + typedef Otu { + type enumeration { + enum "non-otu" { + description + "Type Non OTU"; + } + enum "otu1" { + description + "Type OTU1"; + } + enum "otu1e" { + description + "Type OTU1E"; + } + enum "otu1f" { + description + "Type OTU1F"; + } + enum "otu2" { + description + "Type OTU2"; + } + enum "otu3" { + description + "Type 0TU3"; + } + enum "otu4" { + description + "Type OTU4"; + } + enum "otu2e" { + description + "Type OTU2E"; + } + enum "otu2f" { + description + "Type OTU2F"; + } + enum "otu3e1" { + description + "Type OTU3E1"; + } + enum "otu3e2" { + description + "Type OTU3E2"; + } + enum "otuc2" { + description + "Type OTUC2"; + } + enum "otuc4" { + description + "Type OTUC4"; + } + } + description + "OTU types"; + } + + typedef Te-affinity-table { + type enumeration { + enum "affinity-table-mapping" { + value 0; + description + "Mapping affinity table"; + } + enum "affinity-table-forward-reference" { + value 1; + description + "Forward reference affinity table"; + } + enum "affinity-table-count" { + value 2; + description + "Number of affinity tables"; + } + } + description + "Affinity Table IDs"; + } + + typedef Te-serv-tun-client { + type enumeration { + enum "te-serv-auto-tun-client-invalid" { + description + "te serv auto tun client invalid"; + } + enum "te-serv-p2mp-tun-client-mvpn" { + description + "te serv p2mp tun client mvpn"; + } + enum "te-serv-p2mp-tun-client-vpls" { + description + "te serv p2mp tun client vpls"; + } + enum "te-serv-p2mp-tun-client-mvpn6" { + description + "te serv p2mp tun client mvpn6"; + } + enum "te-serv-p2p-tun-client-bgp" { + description + "te serv p2p tun client bgp"; + } + enum "te-serv-p2p-tun-client-staticv4" { + description + "te serv p2p tun client staticv4"; + } + enum "te-serv-p2p-tun-client-staticv6" { + description + "te serv p2p tun client staticv6"; + } + enum "te-serv-p2p-tun-client-isis" { + description + "te serv p2p tun client isis"; + } + enum "te-serv-p2p-tun-client-ospf" { + description + "te serv p2p tun client ospf"; + } + enum "te-serv-auto-tun-client-count" { + description + "te serv auto tun client count"; + } + } + description + "Te serv tun client"; + } + + typedef Igpte-aa-metric-mode { + type enumeration { + enum "metric-mode-none" { + description + "No metric type specified"; + } + enum "relative" { + description + "Relative metric"; + } + enum "absolute" { + description + "Absolute metric"; + } + enum "constant" { + description + "Constant metric"; + } + } + description + "Autoroute-announce metric type"; + } + + typedef Te-odu-capability { + type enumeration { + enum "not-set" { + description + "Odu capability Type Not Set"; + } + enum "fixed" { + description + "Fixed ODUs"; + } + enum "flex" { + description + "Flex ODUs"; + } + } + description + "Te ODU Capability Types"; + } + + typedef Rrr-dste-migration-mode { + type enumeration { + enum "rrr-dste-mode-none" { + value 0; + description + "No DSTE mode set"; + } + enum "rrr-dste-mode-prestandard" { + value 1; + description + "Pre-standard DSTE"; + } + enum "rrr-dste-mode-standard" { + value 3; + description + "IETF-standard DSTE"; + } + } + description + "DS-TE migration mode"; + } + + typedef Igpte-lib-bw-model { + type enumeration { + enum "rdm" { + value 0; + description + "Russian Dolls Model"; + } + enum "mam" { + value 1; + description + "Maximum Allocation Model"; + } + enum "not-set" { + value 2; + description + "No model set"; + } + } + description + "Bandwidth model"; + } + + typedef Igp-subnet { + type enumeration { + enum "igp-subnet-type-none" { + description + "No subnet type specified"; + } + enum "p2p" { + description + "Point-to-point subnet"; + } + enum "broadcast" { + description + "Broadcast subnet"; + } + enum "non-broadcast-multiaccess" { + description + "Non-broadcast multi-access subnet"; + } + enum "p2mp" { + description + "Point-to-multipoint subnet"; + } + enum "loopback" { + description + "Loopback subnet"; + } + } + description + "Subnet type"; + } + + typedef Igp-ospf-area-format { + type enumeration { + enum "igp-area-format-number" { + description + "Numbered area format"; + } + enum "igp-area-format-ip-addr" { + description + "IP address area format"; + } + } + description + "OSPF area format"; + } + + typedef Igp-protocol { + type enumeration { + enum "none" { + description + "No IGP protocol specified"; + } + enum "isis" { + description + "IS IS"; + } + enum "ospf" { + description + "OSPF"; + } + } + description + "IGP type"; + } + + typedef Mpls-te-uni { + type enumeration { + enum "none" { + description + "Uni-Type none"; + } + enum "xc" { + description + "Uni-Type type XC"; + } + enum "term" { + description + "Uni-Type Termination"; + } + } + description + "Uni-Type type"; + } + + typedef Mpls-te-termination { + type enumeration { + enum "none" { + description + "Local termination none"; + } + enum "ether" { + description + "Local termination type Ether"; + } + } + description + "Termination type"; + } + + typedef Te-meshgroup { + type enumeration { + enum "meshgroup-type-automesh" { + value 0; + description + "automesh type of Meshgroup"; + } + enum "meshgroup-type-onehop" { + value 1; + description + "onehop type of Meshgroup"; + } + } + description + "Te meshgroup"; + } + + typedef Auto-backup-srlg-mode { + type enumeration { + enum "srlg-not-set" { + description + "Autobackup SRLG type not set"; + } + enum "srlg-strict" { + description + "Autobackup SRLG Strict"; + } + enum "srlg-preferred" { + description + "Autobackup SRLG Preferred"; + } + enum "srlg-weighted" { + description + "Autobackup Weighted SRLG"; + } + } + description + "Auto backup srlg mode"; + } + + typedef Auto-backup-protection { + type enumeration { + enum "protection-none" { + description + "No Autobackup Protection"; + } + enum "protection-next-hop" { + description + "NHOP Autobackup Protection"; + } + enum "protection-next-next-hop" { + description + "NNHOP Autobackup Protection"; + } + enum "protection-next-hop-bandwidth" { + description + "NHOP Autobackup Protection"; + } + enum "protection-next-next-hop-bandwidth" { + description + "NNHOP Autobackup Protection"; + } + } + description + "Auto backup protection"; + } + + typedef Te-p2mp-s2l-deletion-subcause { + type enumeration { + enum "no-subcause" { + description + "No subcause recorded"; + } + enum "cleanup-req" { + description + "Normal cleanup requested"; + } + enum "invalid-data" { + description + "Invalid Data passed"; + } + enum "fsm-inv-ctxt" { + description + "Invalid FSM context passed in"; + } + enum "fsm-inv-ctxt-data" { + description + "Invalid data passed in FSM context"; + } + enum "fsm-inv-role" { + description + "Failed due to Invalid Role"; + } + enum "ll-failure" { + description + "Local Label get failed"; + } + enum "ll-rel-fail" { + description + "Local Label release failed"; + } + enum "ll-mismatch" { + description + "Local label mismatch detected"; + } + enum "ll-invalid" { + description + "Local label invalid"; + } + enum "ll-set-failure" { + description + "Local Label set failed"; + } + enum "bad-out-label" { + description + "Bad label received from neighbor"; + } + enum "sl-err" { + description + "Failed to process suggested label received from + neighbor"; + } + enum "rl-mismatch" { + description + "Incorrect recovery label received from neighbor"; + } + enum "sl-alloc-err" { + description + "Failed to allocate suggested/ acceptable label"; + } + enum "upstream-downstream-label-mismatch" { + description + "Upstream label does not match downstream label"; + } + enum "upstream-label-failure" { + description + "Upstream Label get failed"; + } + enum "upstream-label-rel-fail" { + description + "Upstream Label release failed"; + } + enum "upstream-label-mismatch" { + description + "Upstream label mismatch detected"; + } + enum "upstream-label-invalid" { + description + "Upstream label invalid"; + } + enum "bad-upstream-label" { + description + "Bad Upstream label"; + } + enum "ul-set-failure" { + description + "Upstream Label set failed"; + } + enum "gmpls-label-alloc-err" { + description + "Failed to allocate GMPLS Label"; + } + enum "gmpls-label-clone-err" { + description + "Failed to clone GMPLS Label"; + } + enum "rw-err" { + description + "Unable to perform RW operation"; + } + enum "up-rw-err" { + description + "Unable to perform upstream RW operation"; + } + enum "path-admit" { + description + "Path admission failure"; + } + enum "bw" { + description + "BW allocation failure"; + } + enum "admit-resv" { + description + "Reservation admission failure"; + } + enum "rrrm-err" { + description + "Resource Reservation removal error"; + } + enum "hardware-out-of-resources" { + description + "NPU HW-OOR"; + } + enum "comp-rid" { + description + "Failure to compute RID"; + } + enum "comp-lcl-rid" { + description + "Failure to compute local RID"; + } + enum "comp-up-rid" { + description + "Failure to compute upstream RID"; + } + enum "comp-down-rid" { + description + "Failure to compute downstream RID"; + } + enum "rest-if-hop" { + description + "Failure to reset IF or HOP"; + } + enum "inv-in-if" { + description + "Invalid Ingress IF"; + } + enum "nh-err" { + description + "Outgoing IF or Next Hop failure"; + } + enum "inv-in-ero" { + description + "Invalid incoming ERO"; + } + enum "out-ero-fail" { + description + "Outcoming ERO failure"; + } + enum "frr-bk-asssign" { + description + "Frr backup assignment failure"; + } + enum "frr-bk-rm" { + description + "Frr backup removal failure"; + } + enum "frr-bk-send" { + description + "Frr backup send to RSVP failed"; + } + enum "frr-needs-del" { + description + "FRR deletion required"; + } + enum "frr-reopt-lsp" { + description + "FRR not allowed on reopt LSP"; + } + enum "rsvp-api-h" { + description + "RSVP API Handler Failure"; + } + enum "insane-path" { + description + "Invalid Path message"; + } + enum "remerge-chk-fail" { + description + "Failed in finding remerge"; + } + enum "remerge-detected" { + description + "Remerge detected"; + } + enum "xro" { + description + "XRO processing failed"; + } + enum "resv-bw-set" { + description + "Failed to set Resv Bandwidth"; + } + enum "resv-prep-fail" { + description + "Failed to prepare out Resv"; + } + enum "path-ch-proc" { + description + "Failure in path change Processing"; + } + enum "path-ch-frr" { + description + "Failure in path change for FRR"; + } + enum "path-ch-sess-attri-fl" { + description + "Failure in path change for session attribute + flags"; + } + enum "path-ch-bw-ch" { + description + "Failure in path change: Bandwidth change not + allowed"; + } + enum "path-err-proc" { + description + "Failure in path Error Processing"; + } + enum "path-err" { + description + "Path Error Rcvd"; + } + enum "path-err-wpsr" { + description + "Path Error with PSR flag Rcvd"; + } + enum "path-del" { + description + "Path Delete request"; + } + enum "resv-ch-proc" { + description + "Failure in Resv change processing"; + } + enum "resv-ch-rro" { + description + "Failure in Resv change RRO"; + } + enum "resv-del" { + description + "Resv Delete processing"; + } + enum "resv-err" { + description + "Resv Error processing"; + } + enum "perr-send-fail" { + description + "Failed to send Path Error"; + } + enum "perr-proc-fail" { + description + "Failed to process Path Error"; + } + enum "perr-rcv" { + description + "Received Path Error"; + } + enum "resv-err-rcv" { + description + "Received Resv Error"; + } + enum "flowspec" { + description + "Flowspec failure"; + } + enum "setup-conn-api-fail" { + description + "S2L State set API failed"; + } + enum "path-not-replayed" { + description + "RSVP did not replay the path"; + } + enum "resv-not-replayed" { + description + "RSVP did not replay the resv"; + } + enum "rewrite-not-replayed" { + description + "LMRIB did not replay rewrite"; + } + enum "label-not-replayed" { + description + "RW mgr did not replay rewrite"; + } + enum "connection-not-ready" { + description + "TE connection is not ready with LSD/LMRIB/RSVP"; + } + enum "master-did-not-replay" { + description + "The master TE did not replay this S2L"; + } + enum "head-s2l-has-no-vif" { + description + "S2L head has no associated tunnel VIF"; + } + enum "frr-assigned-s2l-has-no-backup" { + description + "FRR-assigned S2L has no backup"; + } + enum "frr-assigned-s2l-has-down-backup" { + description + "FRR-assigned S2L has down backup"; + } + enum "out-link-down-and-no-frr" { + description + "Outgoing link is down and there is no FRR"; + } + enum "collaborator-timeout-rsvp" { + description + "RSVP connection timed out"; + } + enum "collaborator-timeout-lsd" { + description + "LSD connection timed out"; + } + enum "collaborator-timeout-lmrib" { + description + "LMRIB connection time dout"; + } + enum "collaborator-timeout-im" { + description + "IM connection timed out"; + } + enum "collaborator-timeout-error" { + description + "Error in processing connection timeout"; + } + enum "topo-flush" { + description + "Topology Failure"; + } + enum "area-shut" { + description + "IGP Area Shutdown"; + } + enum "active-po-del" { + description + "active pathoption deleted"; + } + enum "path-verify-failed" { + description + "Path verification failed"; + } + enum "srlg-path-verify-failed" { + description + "Srlg Path verification failed"; + } + enum "affinity-path-verify-failed" { + description + "Affinity Path verification failed"; + } + enum "aff-fail-delayed-tear-timeout-failed" { + description + "Affinity Failure Delayed Tear timeout failed"; + } + enum "cost-limit-verify-failed" { + description + "Cost Limit verification failed"; + } + enum "delay-limit-verify-failed" { + description + "Delay Limit verification failed"; + } + enum "lockout-metric-verify-failed" { + description + "Lockout metric verification failed"; + } + enum "path-setup-timeout" { + description + "Path Setup Timed out"; + } + enum "vif-destroyed" { + description + "tunnel IF destroyed"; + } + enum "vif-shut" { + description + "tunnel IF shutdown"; + } + enum "lsp-shut" { + description + "LSP shutdown"; + } + enum "gmpls-uni-head" { + description + "link configured to run as GMPLS-UNI head"; + } + enum "head-resetup" { + description + "tunnel is to be resetup"; + } + enum "none-head-resetup" { + description + "mid or tail tunnel is to be resetup"; + } + enum "dest-disabled" { + description + "Destination disabled"; + } + enum "iep-ch-act-po" { + description + "Explicit Path changed for inuse path-option"; + } + enum "iep-ch-reopt" { + description + "Reopt LSP affected by Explicit Path change"; + } + enum "iep-ch-standby" { + description + "Standby LSP affected by Explicit Path change"; + } + enum "dste-mode-ch" { + description + "DSTE mode change"; + } + enum "reopt-del-frr-act" { + description + "Deleting reopt LSP on FRR active"; + } + enum "new-reopt-tear-old" { + description + "New Reopt is in progress, tearing old reopt LSP"; + } + enum "reopt-failed-verify" { + description + "Reopt LSP failed verification"; + } + enum "reopt-failed-install" { + description + "Reopt LSP failed at install time"; + } + enum "reopt-failed-rw" { + description + "Rewrite failed for Reopt LSP"; + } + enum "reopt-failed-not-superset" { + description + "Reopt LSP has less number of destinations Up + than the current LSP."; + } + enum "dclean-at-install-time" { + description + "Tear delayed clean LSP at install time"; + } + enum "dclean-at-clean-timer" { + description + "Tear delayed clean LSP at cleanup timer expiry"; + } + enum "dclean-at-reopt-active" { + description + "Tear delayed clean LSP at Reopt Activation"; + } + enum "lcl-notif-head" { + description + "Local Link Failure"; + } + enum "in-if-fail" { + description + "Failure of ingress IF"; + } + enum "out-if-fail" { + description + "Failure of egress IF"; + } + enum "if-fail-lc-oir" { + description + "Failure of IF on LC OIR"; + } + enum "te-rid-rm" { + description + "TE RID removed"; + } + enum "te-rsvp-oos-bkup" { + description + "TE and RSVP are OOS for backup assignment"; + } + enum "in-if-fail-exp-null-cfg-ch" { + description + "Explicit null config changed"; + } + enum "new-curr-lsp-sig" { + description + "Signaling new current LSP, cleanup old LSP"; + } + enum "new-reopt-lsp-sig" { + description + "Signaling new reopt LSP, cleanup old LSP"; + } + enum "new-stdby-lsp-sig" { + description + "Signaling new standby LSP, cleanup old LSP"; + } + enum "new-restore-lsp-sig" { + description + "Signaling new restore LSP, cleanup old LSP"; + } + enum "new-cl-pp-lsp-sig" { + description + "Signaling new clean path-protect LSP, cleanup + old LSP"; + } + enum "chkpt-recovery-failed" { + description + "Failed to recover LSP from check-point"; + } + enum "stdby-cr-failed" { + description + "Failed to create standby LSP"; + } + enum "reopt-lsp-rej" { + description + "Reopt LSP is rejected"; + } + enum "reopt-po-sw-failed" { + description + "Reopt Path-option switchover failed"; + } + enum "failed-to-find-path" { + description + "Failed to find a Path"; + } + enum "sig-rcv-fail-path-cr-ch" { + description + "Signaling API failed to proc Path change or + create"; + } + enum "lsp-db-shut" { + description + "LSP database shutdown"; + } + enum "reopt-hold-start" { + description + "Starting holddown for Reopt LSP"; + } + enum "vif-lspid-mismatch" { + description + "VIF has no LSP with this ID"; + } + enum "s2l-has-no-vif" { + description + "Headend S2L with no associated VIF"; + } + enum "overload-reopt-timeout" { + description + "Reoptimization timeout with OL-bit set at + midpoint"; + } + enum "hop-limit-exceeded" { + description + "Hop Limit Exceeded"; + } + enum "lingering-current-lsp" { + description + "Cleanup lingering current LSP"; + } + enum "lingering-standby-lsp" { + description + "Cleanup lingering standby LSP"; + } + enum "lingering-restore-lsp" { + description + "Cleanup lingering restore LSP"; + } + enum "double-lockout" { + description + "Double lock out on the tunnel"; + } + enum "lockout-no-protection" { + description + "Lock out on the tunnel with no protection + available"; + } + enum "lockout-cleanup" { + description + "Lock out on reopt or delayed clean lsp"; + } + enum "te-ppsw-lsp-mismatch" { + description + "LSP id of the current mismatched with the PP + LSP id in standby"; + } + enum "te-stdbyup-no-curr-lsp" { + description + "Standby LSP up but current LSP not found"; + } + enum "stdby-failed-rw" { + description + "Rewrite failed for Standby LSP"; + } + enum "reopt-lsp-tear-ppsw" { + description + "Reopt LSP teardown because of path protection + switchover"; + } + enum "delay-pp-lsp-tear-ppsw" { + description + "Delay PP LSP teardown on rew results of path + protection switchover"; + } + enum "stdby-failed-verify" { + description + "Stdby LSP failed verification"; + } + enum "stdby-not-needed-due-to-restore" { + description + "Stdby is not needed since the restore LSP is + installed"; + } + enum "restore-failed-verify" { + description + "Restore LSP failed verification"; + } + enum "restore-failed-install" { + description + "Restore LSP failed at install time"; + } + enum "restore-failed-rewrite" { + description + "Restore LSP failed at rewrite"; + } + enum "te-ppsw-cfg-rmvd" { + description + "Path protection configuration remove under the + tunnel I/F"; + } + enum "te-ppsw-manual-ppsw" { + description + "Manual Path protection switchover"; + } + enum "te-ppsw-bidir-p-chg-ppsw" { + description + "Bidirectional Path Change protection switchover"; + } + enum "te-ppsw-bidir-lockout-ppsw" { + description + "Flex LSP lockout metric protection switchover"; + } + enum "dclean-at-pp-clean-timer" { + description + "Tear delayed pp clean LSP at pp cleanup timer + expiry"; + } + enum "reopt-standby-failed" { + description + "Creating the reopt standby failed"; + } + enum "standby-reoptimized" { + description + "Tear down old standby LSP because standby + reoptimized"; + } + enum "standby-reoptimize-aborted" { + description + "Tear down new standby LSP because switchover is + underway"; + } + enum "te-reoptup-no-curr-lsp" { + description + "Reopt LSP up but current LSP not found"; + } + enum "te-reopt-curr-lsp-down" { + description + "destroying reopt as current LSP torn"; + } + enum "te-cleanedt-curr-lsp-down" { + description + "Destroying cleaned as current LSP torn"; + } + enum "te-delay-lsp-up" { + description + "Delay clean or pp clean LSP came up"; + } + enum "no-route-due-to-affinity" { + description + "No route, no RIB due to affinity"; + } + enum "no-rib-lkup-bad-ero-gmpls" { + description + "Skipping RIB Lookup, Bad GMPLS ERO"; + } + enum "cleanup-lingering" { + description + "Cleanup in lingering state"; + } + enum "te-s2l-del-sc-soft-preemption-timeout" { + description + "Soft preemption timed out"; + } + enum "te-s2l-del-sc-soft-preempted-non-current" { + description + "The head S2L was soft preempted while it is not + current"; + } + enum "te-s2l-del-sc-vif-sync-lsp-del" { + description + "The head S2L was deleted due to LSP deleted in + VIF Sync"; + } + enum "rsvp-api-cleanup-req" { + description + "RSVP API cleanup requested"; + } + enum "te-s2l-del-sc-frr-wrong-backup" { + description + "TE and RSVP FRR active on different backups"; + } + enum "te-s2l-del-sc-bfd-session-create-failed" { + description + "The BFD session create failed"; + } + enum "te-s2l-del-sc-bfd-session-bringup-timeout" { + description + "The BFD session failed to up before bringup + timer timeout"; + } + enum "te-s2l-del-sc-bfd-session-down" { + description + "The BFD session went down"; + } + enum "te-s2l-del-sc-bfd-session-not-replayed" { + description + "BFD did not replay the session"; + } + enum "te-s2l-del-sc-reopt-p2mp-egress-info-fail" { + description + "P2MP egress information programming failed for + reoptimized LSP"; + } + enum "non-curr-frr-lcl-notif-event" { + description + "FRR local notification event on non-current LSP"; + } + enum "unsupported-encoding" { + description + "The encoding type is not supported"; + } + enum "unsupported-gpid" { + description + "The GPID is not supported"; + } + enum "unsupported-switching-type" { + description + "The switching type is not supported"; + } + enum "upstream-label-change-not-permitted" { + description + "Upstream label change is not allowed"; + } + enum "encoding-type-change-not-permitted" { + description + "Encoding Type change is not allowed"; + } + enum "aps-protect-info-change-failed" { + description + "Failed to process APS Protect info change"; + } + enum "incorrect-lsp-type" { + description + "Incorrect or unsupported connection type"; + } + enum "local-hop-error" { + description + "Failed to compute local hop"; + } + enum "unsupported-gmpls-attributes" { + description + "Incorrect or unsupported GMPLS attributes"; + } + enum "gmpls-uni-reopt-triggered" { + description + "GMPLS-UNI reoptimization triggered from network"; + } + enum "maximum-acceptable-label-retries" { + description + "Maxed out acceptable upstream label retries"; + } + enum "invalid-direction" { + description + "Invalid direction for GMPLS LSP"; + } + enum "invalid-rewrite-context" { + description + "Invalid RW context in callback"; + } + enum "invalid-label-context" { + description + "Invalid Label context in callback"; + } + enum "dwdm-capability-changed" { + description + "DWDM Capability for TE link changed"; + } + enum "dwdm-capability-removed" { + description + "DWDM Capability for TE link removed"; + } + enum "dwdm-wavelength-removed" { + description + "DWDM wavelength channel attribute for TE link + removed"; + } + enum "gmpls-uni-multilayer-restoration" { + description + "GMPLS-UNI multilayer restoration"; + } + enum "gmpls-uni-user-triggered-reoptimization" { + description + "User-triggered GMPLS-UNI reoptimization"; + } + enum "gmpls-uni-active-path-change-triggered-reopt" { + description + "GMPLS-UNI reoptimization triggered by Active + Path change"; + } + enum "passive-match-err" { + description + "Failed in finding a matching passive vif"; + } + enum "egress-control-err" { + description + "Failed in egress control"; + } + enum "egress-control-map-err" { + description + "Could not resolve egress control"; + } + enum "restore-not-needed-for-current" { + description + "Restore not needed now for current LSP"; + } + enum "restore-not-needed-for-standby" { + description + "Restore not needed now for standby LSP"; + } + enum "restore-dp-down" { + description + "Restore down in data plane"; + } + enum "current-not-needed-dp-down" { + description + "Current not needed now as down in data plane"; + } + enum "bad-protct-obj" { + description + "Bad protection object"; + } + enum "head-flexi-cap-change" { + description + "Flexi-capability changed at Head node"; + } + enum "tail-flexi-cap-change" { + description + "Flexi-capability changed at Tail node"; + } + enum "optical-link-down" { + description + "TE optical link down"; + } + enum "optical-link-lsp-out-of-sync" { + description + "TE optical link and LSP out of sync"; + } + enum "optical-link-owner-out-of-sync" { + description + "TE optical link owner type out of sync"; + } + enum "optical-link-interface-handle-out-of-sync" { + description + "TE optical link interface handle out of sync"; + } + enum "optical-link-hop-out-of-sync" { + description + "TE optical link next/prev hop out of sync"; + } + enum "optical-link-role-out-of-sync" { + description + "TE optical link role out of sync"; + } + enum "optical-link-downstream-router-id-out-of-sync" { + description + "TE optical link downstream router-ID out of + sync"; + } + enum "optical-link-upstream-router-id-out-of-sync" { + description + "TE optical link upstream router-ID out of sync"; + } + enum "optical-link-encoding-type-out-of-sync" { + description + "TE optical link encoding type out of sync"; + } + enum "optical-link-switching-type-out-of-sync" { + description + "TE optical link switching type out of sync"; + } + enum "optical-link-gpid-out-of-sync" { + description + "TE optical link GPID out of sync"; + } + enum "egress-optical-link-not-found" { + description + "Egress optical TE link (head) not found"; + } + enum "ingress-optical-link-not-found" { + description + "Ingress optical TE link (tail) not found"; + } + enum "switch-cap-change-head" { + description + "Local Link Switch cap (head) changed"; + } + enum "switch-cap-change-tail" { + description + "Local Link Switch cap (tail) changed"; + } + enum "mtu-change-head" { + description + "Local Link MTU (head) changed"; + } + enum "mtu-change-tail" { + description + "Local Link MTU (tail) changed"; + } + enum "sync-dest-state" { + description + "Syncing of the destination state change"; + } + enum "prot-object-err" { + description + "Protection Object Error"; + } + enum "reverse-s2l-deleted" { + description + "Reverse Associated S2L Deleted"; + } + enum "cancel-inprogress-by-slave" { + description + "In-progress S2L cancelled by slave"; + } + enum "invalid-reverse-ero" { + description + "Bad Reverse ERO"; + } + enum "reverse-lsp-not-found" { + description + "Switchover Reverse LSP Not Found"; + } + enum "reverse-lsp-not-present" { + description + "Switchover Reverse LSP Not Present"; + } + enum "associated-vif-down" { + description + "Associated VIF moved to Down"; + } + enum "vif-sync-processing" { + description + "Tunnel interface sync processing caused + deletion"; + } + enum "incoming-interface-lockout" { + description + "Incoming interface locked out"; + } + enum "sr-egress-path-changed" { + description + "SR egress path changed on non-current S2L"; + } + enum "in-if-fail-imp-null-cfg-ch" { + description + "Implicit null config changed"; + } + enum "reverse-lsp-failure" { + description + "Reverse LSP Failure"; + } + enum "lsp-wrap-label-error" { + description + "LSP Wrap Label Error"; + } + enum "lsp-wrap-rewrite-error" { + description + "LSP Wrap Rewrite Error"; + } + enum "transit-lsp-out-of-resources" { + description + "LSP OOR"; + } + enum "path-protection-configuration-change" { + description + "Path protection configuration changed under the + tunnel I/F"; + } + enum "better-standby-path" { + description + "Better standby path exists"; + } + enum "path-option-config-change" { + description + "Path-option configuration change"; + } + enum "path-protection-non-revertive-config-changed" { + description + "Path protection non-revertive config changed + under the tunnel I/F"; + } + enum "manually-triggered-non-revertive-recovery" { + description + "Manually triggered non-revertive recovery"; + } + enum "remote-node-triggered-path-protection-switchover" { + description + "Received path protection switchover + notification from remote node"; + } + enum "fsm-sc-must-be-last" { + description + "Not used, must be last entry"; + } + } + description + "S2L deletion subcause"; + } + + typedef Te-p2mp-s2l-deletion-cause { + type enumeration { + enum "no-cause" { + description + "No cause recorded"; + } + enum "hpath-cr-err" { + description + "Head Path creation"; + } + enum "hpath-chg-setup" { + description + "Head Path change setup"; + } + enum "hpath-chg-up-err" { + description + "Head Path change while up"; + } + enum "hresv-cr-err" { + description + "Head RESV creation"; + } + enum "hresv-chg-err" { + description + "Head RESV change"; + } + enum "hresv-chg-err-up" { + description + "Head RESV change while up"; + } + enum "hlbl-avail-err" { + description + "Head Label available"; + } + enum "hup-lbl-avail-err" { + description + "Head upstream Label available"; + } + enum "hfrr-act-err" { + description + "Head FRR active"; + } + enum "hbkup-ch-err" { + description + "Head Backup change"; + } + enum "hpath-ch-frr-err" { + description + "Head Path change FRR"; + } + enum "hcleanup" { + description + "Head Cleanup handling"; + } + enum "hlingering-cleanup" { + description + "Head lingering cleanup"; + } + enum "hpat-err" { + description + "Head Path error"; + } + enum "hresv-err" { + description + "Head Resv error"; + } + enum "hresv-del" { + description + "Head Resv delete"; + } + enum "hrw-fail" { + description + "Head rewrite failure"; + } + enum "hup-rw-fail" { + description + "Head upstream rewrite failure"; + } + enum "ha-failure" { + description + "HA failure"; + } + enum "rw-del" { + description + "Rewrite Delete"; + } + enum "up-rw-del" { + description + "Upstream Rewrite Delete"; + } + enum "mpath-cr" { + description + "Mid path creation"; + } + enum "mpath-chg-setup-err" { + description + "Mid Path change setup"; + } + enum "mpath-chg-up-err" { + description + "Mid Path change while up"; + } + enum "mresv-cr-err" { + description + "Mid Resv creation"; + } + enum "mresv-chg-err" { + description + "Mid Resv change"; + } + enum "mresv-chg-err-up" { + description + "Mid Resv change while up"; + } + enum "mlbl-avail-err" { + description + "Mid: cannot get local label"; + } + enum "mlbl-rel-err" { + description + "Mid: cannot release local label"; + } + enum "mup-lbl-avail-err" { + description + "Mid: cannot get upstream label"; + } + enum "mup-lbl-rel-err" { + description + "Mid: cannot release upstream label"; + } + enum "mfrr-act-err" { + description + "Mid FRR active"; + } + enum "mbkup-ch-err" { + description + "Mid Backup change"; + } + enum "mpath-ch-frr-err" { + description + "Mid Path change FRR"; + } + enum "mresv-del" { + description + "Mid Resv Delete handling"; + } + enum "mresv-err" { + description + "Mid Resv Error handling"; + } + enum "mpreempt" { + description + "Mid Premption"; + } + enum "mcleanup" { + description + "Mid Cleanup handling"; + } + enum "mlingering-cleanup" { + description + "Mid lingering cleanup"; + } + enum "mrw-fail" { + description + "mid rewrite failure"; + } + enum "mup-rw-fail" { + description + "mid upstream rewrite failure"; + } + enum "tpath-cr-err" { + description + "Tail Path creation"; + } + enum "tpath-chg-err" { + description + "Tail Path change"; + } + enum "tresv-cr-err" { + description + "Tail RESV creation"; + } + enum "tlbl-avail-err" { + description + "Tail: cannot release local label"; + } + enum "tcleanup" { + description + "Tail Cleanup"; + } + enum "tlingering-cleanup" { + description + "Tail lingering cleanup"; + } + enum "lbl-err" { + description + "Local label related error"; + } + enum "qfailure" { + description + "FSM Queueing failure"; + } + enum "rsvp-recovery" { + description + "RSVP Recovery"; + } + enum "lsd-recovery" { + description + "LSD Recovery"; + } + enum "lmrib-recovery" { + description + "LMRIB Recovery"; + } + enum "te-restart" { + description + "TE Restart"; + } + enum "switchover" { + description + "Switchover"; + } + enum "master-te-recovery" { + description + "Master TE recovery"; + } + enum "optical-r-mgr-recovery" { + description + "Optical Resource Manager Recovery"; + } + enum "te-exit" { + description + "TE Exited"; + } + enum "bkup-assign-fail" { + description + "RSVP Backup Assign Failed"; + } + enum "bfd-fail" { + description + "BFD Session Failure"; + } + enum "bfd-recovery" { + description + "BFD Recovery"; + } + enum "lsp-wrap-act-err" { + description + "Mid LSP Wrap active"; + } + enum "lsp-wrap-rw-err" { + description + "Mid LSP Wrap Rewrite"; + } + enum "fsm-cause-must-be-last" { + description + "Not used, must be last entry"; + } + } + description + "S2L Deletion location"; + } + + typedef Te-pp-diversity { + type enumeration { + enum "diversity-none" { + description + "Standby LSP not diverse"; + } + enum "link" { + description + "Standby LSP link diverse"; + } + enum "node" { + description + "Standby LSP node diverse"; + } + enum "node-link" { + description + "Standby LSP node and link diverse"; + } + enum "srlg" { + description + "Standby SRLG diverse"; + } + enum "node-srlg" { + description + "Standby LSP node and SRLG diverse"; + } + enum "node-link-srlg" { + description + "Standby LSP node and link and SRLG diverse"; + } + enum "diversity-sticky" { + description + "Standby LSP using sticky explicit path"; + } + enum "diversity-user" { + description + "Standby LSP using user defined explicit path"; + } + enum "diversity-reverse-ero" { + description + "Standby LSP using Reverse ERO"; + } + } + description + "Diversity of Protection or Restoration Path from + Protected Path"; + } + + typedef Te-srlg-collect-request { + type enumeration { + enum "none" { + description + "No SRLG-collection request"; + } + enum "mandatory" { + description + "Mandatory SRLG-collection request"; + } + enum "optional" { + description + "Optional SRLG-collection request"; + } + } + description + "SRLG-collection request machansim"; + } + + typedef Te-odu-level { + type enumeration { + enum "te-odu-level-not-set" { + value 0; + description + "Not set"; + } + enum "te-odu-level-one" { + value 1; + description + "ODU 1"; + } + enum "te-odu-level-two" { + value 2; + description + "ODU 2"; + } + enum "te-odu-level-three" { + value 3; + description + "ODU 3"; + } + enum "te-odu-level-four" { + value 4; + description + "ODU 4"; + } + enum "te-odu-zero" { + value 10; + description + "ODU 0"; + } + enum "te-odu-level-two-e" { + value 11; + description + "ODU 2E"; + } + enum "te-odu-level-flex-cbr" { + value 20; + description + "ODU Flex CBR"; + } + enum "te-odu-level-flex-gfpf-resizeable" { + value 21; + description + "ODU Flex GFP-F resizable"; + } + enum "te-odu-level-flex-gfpf-non-resizable" { + value 22; + description + "ODU Flex GFP-F non resizable"; + } + enum "te-odu-level-one-e" { + value 23; + description + "ODU 1E"; + } + enum "te-odu-level-one-f" { + value 24; + description + "ODU 1F"; + } + enum "te-odu-level-two-f" { + value 25; + description + "ODU 2F"; + } + enum "te-odu-level-three-e-one" { + value 26; + description + "ODU 3E1"; + } + enum "te-odu-level-three-e-two" { + value 27; + description + "ODU 3E2"; + } + enum "te-odu-level-c-two" { + value 38; + description + "ODU C2"; + } + enum "te-odu-level-c-three" { + value 39; + description + "ODU C3"; + } + enum "te-odu-level-c-four" { + value 40; + description + "ODU C4"; + } + } + description + "G.709 OTN ODU levels"; + } + + typedef Te-addr { + type enumeration { + enum "not-set" { + description + "Address not set"; + } + enum "ipv4" { + description + "IPv4"; + } + enum "ipv4-unnumbered" { + description + "IPv4 Unnumbered"; + } + } + description + "TE Address Types"; + } + + typedef Mpls-te-lsp-mode { + type enumeration { + enum "mpls-te-lsp-mode-not-set" { + description + "LSP mode not set"; + } + enum "mpls-te-lsp-mode-current" { + description + "Current LSP"; + } + enum "mpls-te-lsp-mode-reopt" { + description + "Reoptimized LSP"; + } + enum "mpls-te-lsp-mode-clean" { + description + "Cleaned LSP"; + } + enum "mpls-te-lsp-mode-standby" { + description + "Standby LSP"; + } + enum "mpls-te-lsp-mode-pp-clean" { + description + "Delay PP Clean LSP"; + } + enum "mpls-te-lsp-mode-restore" { + description + "Restore LSP"; + } + enum "mpls-te-lsp-mode-reopt-standby" { + description + "Reopt Standby LSP"; + } + } + description + "Mpls te lsp mode"; + } + + typedef Te-protection { + type enumeration { + enum "protection-type-unprotected" { + value 0; + description + "Uni protection unprotected"; + } + enum "protection-type-reroute" { + value 1; + description + "Uni protection full reroute"; + } + enum "protection-reroute-no-et" { + value 2; + description + "Uni protection reroute with no extra traffic"; + } + enum "one-n-protection-extra-traffic" { + value 4; + description + "Uni 1:N protection with extra traffic"; + } + enum "one-plus-one-unidirectional-protection" { + value 8; + description + "Uni 1+1 unidirectional protection"; + } + enum "one-plus-one-bidirectional-protection" { + value 16; + description + "Uni 1+1 bidirectional protection"; + } + } + description + "UNI Protection type"; + } + + typedef Te-attribute-set-sr-prepend { + type enumeration { + enum "te-attribute-set-sr-prepend-not-set" { + value 0; + description + "Not set"; + } + enum "te-attribute-set-sr-prepend-next-label" { + value 1; + description + "Next label"; + } + enum "te-attribute-set-sr-prepend-bgp-nhop" { + value 2; + description + "BGP NHOP"; + } + } + description + "Attribute Set SR prepend type"; + } + + typedef Te-restoration-style { + type enumeration { + enum "restoration-style-not-set" { + value 0; + description + "TE Restoration Style Not Set"; + } + enum "restoration-style-keep-failed-lsp" { + value 1; + description + "TE Restoration Style is to Keep Failed Lsp"; + } + enum "restoration-style-delete-failed-lsp" { + value 2; + description + "TE Restoration Style is to Delete Failed Lsp"; + } + } + description + "PNR Options"; + } + + typedef Te-path-prot-profile { + type enumeration { + enum "path-prot-profile-type1-plus0" { + value 0; + description + "TE Path Option 1PLUS0"; + } + enum "path-prot-profile-type1-plus-r" { + value 1; + description + "TE Path Option 1PLUSR"; + } + enum "path-prot-profile-type1-plus1" { + value 16; + description + "TE Path Option 1PLUS1"; + } + enum "path-prot-profile-type1-plus1-plus-r" { + value 32; + description + "TE Path Option 1PLUS1PLUSR"; + } + enum "path-prot-profile-type-invalid" { + value 255; + description + "TE Path Option Invalid"; + } + } + description + "Path Protection Profile Type"; + } + + typedef Te-sch-freq { + type enumeration { + enum "sch-freq-not-set" { + value 0; + description + "Schedule reversion frequency not set"; + } + enum "sch-freq-set-once" { + value 1; + description + "Schedule reversion frequency set only once"; + } + enum "sch-freq-set-daily" { + value 2; + description + "Schedule reversion frequency set daily"; + } + enum "sch-freq-set-weekly" { + value 3; + description + "Schedule reversion frequency set weekly"; + } + } + description + "Te sch freq"; + } + + typedef Te-pnr-revert-options { + type enumeration { + enum "pnr-optionnot-set" { + value 0; + description + "TE Protection Restore Option Not Set"; + } + enum "pnr-option-revertive" { + value 1; + description + "TE Protection Restore Option Revertive"; + } + enum "pnr-option-non-revertive" { + value 2; + description + "TE Protection Restore Option Non-revertive"; + } + } + description + "PNR Options"; + } + + typedef Te-protect { + type enumeration { + enum "protect-type1-plus1-unidir-no-aps" { + value 4; + description + "Protection Type Uni-directional No APS"; + } + enum "protect-type1-plus1-unidir-aps" { + value 8; + description + "Protection Type Uni-directional APS"; + } + enum "protect-type1-plus1-bidir-aps" { + value 16; + description + "Protection Type Bi-directional APS"; + } + enum "protect-type-not-set" { + value 255; + description + "Protection Type Not Set"; + } + } + description + "Protection Types"; + } + + typedef Te-aps-snc-mode { + type enumeration { + enum "snc-mode-not-set" { + value 0; + description + "TE OTN Subnetwork Connection Mode Not Set"; + } + enum "snc-mode-n" { + value 1; + description + "TE OTN Subnetwork Connection Mode N"; + } + enum "snc-mode-i" { + value 2; + description + "TE OTN Subnetwork Connection Mode I"; + } + enum "snc-mode-s" { + value 3; + description + "TE OTN Subnetwork Connection Mode S"; + } + } + description + "APS ANC Modes"; + } + + typedef Te-xro-exclusion { + type enumeration { + enum "mandatory" { + value 0; + description + "Mandatory exclusion"; + } + enum "best-effort" { + value 1; + description + "Best-effort exclusion"; + } + } + description + "XRO exclusion type"; + } + + typedef Te-xro-attribute { + type enumeration { + enum "interface" { + value 0; + description + "Exclude the interface specified"; + } + enum "node" { + value 1; + description + "Exclude the node specified"; + } + enum "srl-gs" { + value 2; + description + "Exclude all SRLGs related to the data specified"; + } + } + description + "XRO exclusion type"; + } + + typedef Te-xro-subobj { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 prefix"; + } + enum "ipv6" { + value 2; + description + "IPv6 prefix"; + } + enum "unnumbered" { + value 6; + description + "Unnumbered"; + } + enum "as" { + value 32; + description + "Autonomous System"; + } + enum "srlg" { + value 34; + description + "SRLG"; + } + enum "p2p-lsp" { + value 36; + description + "P2P LSP"; + } + } + description + "XRO sub-object type"; + } + + typedef Te-sig-name-append { + type enumeration { + enum "none" { + value 0; + description + "Option is Not Set for appending to + signalled-name"; + } + enum "address" { + value 1; + description + "Option is to append Address to signalled-name"; + } + enum "name" { + value 2; + description + "Option is to append Name to signalled-name"; + } + } + description + "Te sig name append"; + } + + typedef Mpls-te-lsp { + type enumeration { + enum "mpls-te-lsp-type-not-set" { + value 0; + description + "Tunnel type not set"; + } + enum "mpls-te-lsp-type-p2p" { + value 1; + description + "Point-to-point packet TE tunnel"; + } + enum "mpls-te-lsp-type-p2mp" { + value 2; + description + "Point-to-multipoint tunnel"; + } + enum "mpls-te-lsp-type-gmpls-ouni" { + value 3; + description + "Bidirectional GMPLS UNI tunnel"; + } + enum "mpls-te-lsp-type-gmpls-nni" { + value 4; + description + "Bidirectional GMPLS NNI tunnel"; + } + enum "mpls-te-lsp-type-p2p-bidir" { + value 5; + description + "Bidirectional packet point-to-point tunnel"; + } + enum "mpls-te-lsp-type-gmpls-tp" { + value 6; + description + "Bidirectional GMPLS TP tunnel"; + } + enum "mpls-te-lsp-type-gmpls-nni-otn" { + value 7; + description + "Bidirectional GMPLS OTN NNI tunnel"; + } + enum "mpls-te-lsp-type-segment-routing-p2p" { + value 8; + description + "Point-to-point segment-routing packet TE tunnel"; + } + } + description + "LSP Types"; + } + + typedef Mpls-te-tunnel-role { + type enumeration { + enum "tunnel-unknown" { + value 0; + description + "Undefined tunnel role"; + } + enum "tunnel-head" { + value 1; + description + "Tunnel role is head"; + } + enum "tunnel-mid" { + value 2; + description + "Tunnel role is midpoint"; + } + enum "tunnel-tail" { + value 3; + description + "Tunnel role is tail"; + } + } + description + "Mpls te tunnel role"; + } + + typedef Mpls-lib-c { + type enumeration { + enum "mpls-lib-c-type-null" { + value 0; + description + "NULL Ctype"; + } + enum "mpls-lib-c-type-ipv4" { + value 1; + description + "IPv4 UDP"; + } + enum "mpls-lib-c-type-ipv4-p2p-tunnel" { + value 7; + description + "IPv4 point-to-point TE tunnel"; + } + enum "mpls-lib-c-type-ipv6-p2p-tunnel" { + value 8; + description + "IPv6 point-to-point TE tunnel"; + } + enum "mpls-lib-c-type-ipv4-uni" { + value 9; + description + "IPv4 unicast"; + } + enum "mpls-lib-c-type-ipv4-p2mp-tunnel" { + value 13; + description + "IPv4 point-to-point TE tunnel"; + } + enum "mpls-lib-c-type-ipv6-p2mp-tunnel" { + value 14; + description + "IPv6 point-to-point TE tunnel"; + } + enum "mpls-lib-c-type-ipv4-tp-tunnel" { + value 15; + description + "IPv4 transport protocol tunnel"; + } + enum "mpls-lib-c-type-ipv6-tp-tunnel" { + value 16; + description + "IPv6 transport protocol tunnel"; + } + enum "mpls-lib-c-type-p2p-binding-label" { + value 17; + description + "P2P transport tunnel binding label"; + } + } + description + "Mpls lib c"; + } + + grouping MPLS-TE-AFFINITY-MAP-INFO { + description + "Affinity Map"; + leaf affinity-name { + type string; + description + "Affinity name"; + } + leaf affinity-value { + type uint32; + description + "Affinity value"; + } + leaf affinity-bit-position { + type uint8; + description + "Affinity bit position"; + } + leaf affinity-table-id { + type Te-affinity-table; + description + "Affinity table id"; + } + list affinity-extended-value { + description + "EAG value"; + leaf entry { + type uint32; + description + "EAG value"; + } + } + } + + grouping MPLS-LM-BFD-NBR-INFO { + description + "BFD Neighbor information"; + leaf neighbor-address { + type inet:ipv4-address; + description + "The neighbor's IP address"; + } + leaf is-bfd-up { + type boolean; + description + "TRUE if the BFD session is Up on this link"; + } + } + + grouping MPLS-LM-BFD-NBRS-LINK-INFO { + description + "BFD Neighbor information based on the link"; + list neighbor { + description + "Neighbors of the specified link id"; + uses MPLS-LM-BFD-NBR-INFO; + } + } + + grouping ODU-CAPABILITY-FLEX { + description + "odu capability for flex ODUs"; + leaf max-bandwidth { + type uint32; + units "kbit/s"; + description + "Max kbps Bandwidth of this level possible on + this link"; + } + leaf unreserved-bandwidth { + type uint32; + units "kbit/s"; + description + "Unreserved kbps Bandwidth of this level possible + on this link"; + } + leaf max-lsp-bandwidth { + type uint32; + units "kbit/s"; + description + "Per LSP Max kbps Bandwidth of this level + possible on this link"; + } + } + + grouping ODU-CAPABILITY-FIXED { + description + "odu capability for fixed ODUs "; + leaf maximum-od-us { + type uint8; + description + "Maximum Number of ODUs of this level possible on + this link"; + } + leaf unreserved-od-us { + type uint8; + description + "Maximum Number of ODUs of this level possible on + this link"; + } + } + + grouping ODU-CAP-BW { + description + "ODU capability Union for bandwidth"; + container fixed { + when "../type = 'fixed'" { + description + "../type = 'Fixed'"; + } + description + "ODU capability for Fixed ODUs"; + uses ODU-CAPABILITY-FIXED; + } + container flex { + when "../type = 'flex'" { + description + "../type = 'Flex'"; + } + description + "ODU capability for Flex ODUs"; + uses ODU-CAPABILITY-FLEX; + } + leaf type { + type Te-odu-capability; + description + "type"; + } + } + + grouping ODU-CAPABILITY { + description + "Odu capability at a level of multiplex tree for + an ODU type"; + container bandwidth-info { + description + "Bandwidth related info for this ODU level"; + uses ODU-CAP-BW; + } + leaf signal-type { + type Te-odu-level; + description + "Signal Type"; + } + leaf stage1 { + type Te-odu-level; + description + "ODU Type at stage 1, Not Set for HO ODU"; + } + leaf stage2 { + type Te-odu-level; + description + "ODU Type at stage 2, Not Set for single stage + mulitplexing"; + } + leaf stage3 { + type Te-odu-level; + description + "ODU Type at stage 3, Not set up to two levels of + multiplexing"; + } + leaf stage4 { + type Te-odu-level; + description + "ODU Type at stage 4, Not set up to three levels + of multiplexing"; + } + leaf terminable { + type boolean; + description + "True if link is terminable for this ODU level"; + } + leaf switchable { + type boolean; + description + "True if link is switchable for this ODU level"; + } + leaf tsg1p25 { + type boolean; + description + "True if link supports 1.25G TSG for this ODU + level"; + } + leaf tsg2p5 { + type boolean; + description + "True if link supports 2.5G TSG for this ODU + level"; + } + leaf vcat-capable { + type boolean; + description + "True if link VCAT capable for this ODU level"; + } + leaf lcas-capable { + type boolean; + description + "True if link LCAS capable for this ODU level"; + } + } + + grouping ODU-LINK-CAPABILITIES { + description + "Link ODU Capabilities"; + list max-lsp-bandwidth { + description + "Max LSP Bandwidth per priority in kbit/s"; + leaf entry { + type uint32; + description + "Max LSP Bandwidth per priority in kbit/s"; + } + } + list odu-capability { + description + "ODU Capabilities of Link"; + uses ODU-CAPABILITY; + } + } + + grouping MPLS-TE-BFD-LSP-COUNTERS { + description + "TE BFDOverLSP Counters"; + leaf session-create-events { + type uint32; + description + "The number of BFDOverLSP session create events"; + } + leaf session-up-events { + type uint32; + description + "The number of BFDOverLSP session up events"; + } + leaf session-creation-failed-events { + type uint32; + description + "The number of BFDOverLSP session creation failed + events"; + } + leaf session-down-events { + type uint32; + description + "The number of BFDOverLSP session down events"; + } + leaf session-admin-down-events { + type uint32; + description + "The number of BFDOverLSP session admin down + events"; + } + leaf session-gracefully-delete-events { + type uint32; + description + "The number of BFDOverLSP session gracefully + delete events"; + } + leaf session-non-gracefully-delete-events { + type uint32; + description + "The number of BFDOverLSP session non gracefully + delete events"; + } + leaf session-create-timeout-events { + type uint32; + description + "The number of BFDOverLSP session create timeout + events"; + } + leaf session-replay-events { + type uint32; + description + "The number of BFDOverLSP session replay events"; + } + } + + grouping MPLS-TE-TUNNEL-EGRESS-STATIC-UNI-INFO { + description + "Egress Static UNI Info"; + container egress-port { + description + "Egress Client Port of Tunnel"; + uses TE-ADDR; + } + container term-egress-port { + description + "Termination Egress Client Port of Tunnel"; + uses TE-ADDR; + } + leaf local-termination { + type Mpls-te-termination; + description + "Local Termination Type"; + } + leaf remote-uni-type { + type Mpls-te-uni; + description + "Remote uni type"; + } + } + + grouping TE-TERM-INTERFACE-SRLG-CB { + description + "Termination SRLG"; + list discovered-srlg { + description + "Discovered SRLG"; + leaf entry { + type uint32; + description + "Discovered SRLG"; + } + } + } + + grouping TE-ADDR-TYPE-IPV4-UNNUM { + description + "TE IPv4 unnumbered address type"; + leaf router-id { + type inet:ipv4-address; + description + "IPv4 router ID"; + } + leaf interface-index { + type uint32; + description + "Interface index"; + } + } + + grouping ADDR { + description + "ADDR"; + container ipv4-unnumbered-address { + when "../type = 'ipv4-unnumbered'" { + description + "../Type = 'IPv4Unnumbered'"; + } + description + "IPv4 unnumbered address"; + uses TE-ADDR-TYPE-IPV4-UNNUM; + } + leaf type { + type Te-addr; + description + "Type"; + } + leaf ipv4-address { + when "../type = 'ipv4'" { + description + "../Type = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + } + + grouping TE-ADDR { + description + "TE address"; + container te-addr { + description + "TE Address"; + uses ADDR; + } + } + + grouping MPLS-SRLG-INFO { + description + "Information about the Shared Risk Link Group"; + leaf shared-risk-group { + type uint32; + description + "SRLG number"; + } + leaf srlg-name { + type string; + description + "SRLG name"; + } + } + + grouping TE-REVERT-SCH { + description + "Revert Schedule protection attribute set"; + leaf schedulename { + type string { + length "0..255"; + } + description + "Schedule name identifier"; + } + leaf schedule-date { + type uint32; + description + "Schedule time for reversion"; + } + leaf schedule-frequency { + type Te-sch-freq; + description + "Schedule frequency for reversion"; + } + leaf duration { + type uint32; + description + "Duration for scheduled reversion"; + } + leaf max-tries { + type uint32; + description + "Max tries for scheduled reversion"; + } + } + + grouping TE-XRO-SUBOBJ-P2P-LSP { + description + "XRO point-to-point LSP sub-object"; + container fec { + description + "LSP FEC"; + uses TE-LSP-FEC; + } + leaf ignore-lsp-id { + type boolean; + description + "Flag to indicate whether or not the lsp-id in + the FEC is to be ignored"; + } + leaf processing-node-exception { + type boolean; + description + "Processing-node exception flag"; + } + leaf penultimate-node-exception { + type boolean; + description + "Penultimate-node exception flag"; + } + leaf destination-node-exception { + type boolean; + description + "Destination-node exception flag"; + } + leaf exclusion-type { + type Te-xro-exclusion; + description + "Exclusion Type"; + } + } + + grouping TE-XRO-SUBOBJ-SRLG { + description + "XRO SRLG sub-object"; + leaf srlg-id { + type uint32; + description + "SRLG ID"; + } + leaf exclusion-type { + type Te-xro-exclusion; + description + "Exclusion Type"; + } + } + + grouping TE-XRO-SUBOBJ-AS { + description + "XRO AS sub-object"; + leaf as-number { + type uint16; + description + "Autonomous System number"; + } + } + + grouping TE-XRO-SUBOBJ-UNNUM { + description + "XRO unnumbered sub-object"; + leaf te-router-id { + type inet:ipv4-address; + description + "TE router-id"; + } + leaf interface-id { + type uint32; + description + "Interface ID"; + } + leaf attribute { + type Te-xro-attribute; + description + "Attribute"; + } + leaf exclusion-type { + type Te-xro-exclusion; + description + "Exclusion Type"; + } + } + + grouping TE-XRO-SUBOBJ-IPV6 { + description + "XRO IPv6 sub-object"; + leaf address { + type inet:ipv6-address; + description + "IPv6 address"; + } + leaf prefix-len { + type uint8; + description + "Prefix length"; + } + leaf attribute { + type Te-xro-attribute; + description + "Attribute"; + } + leaf exclusion-type { + type Te-xro-exclusion; + description + "Exclusion Type"; + } + } + + grouping TE-XRO-SUBOBJ-IPV4 { + description + "XRO IPv4 sub-object"; + leaf address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf prefix-len { + type uint8; + description + "Prefix length"; + } + leaf attribute { + type Te-xro-attribute; + description + "Attribute"; + } + leaf exclusion-type { + type Te-xro-exclusion; + description + "Exclusion Type"; + } + } + + grouping TE-XRO-SUBOBJ { + description + "XRO sub-object union"; + container ipv4-subobject { + when "../type = 'ipv4'" { + description + "../Type = 'IPv4'"; + } + description + "IPv4 sub-object"; + uses TE-XRO-SUBOBJ-IPV4; + } + container ipv6-subobject { + when "../type = 'ipv6'" { + description + "../Type = 'IPv6'"; + } + description + "IPv6 sub-object"; + uses TE-XRO-SUBOBJ-IPV6; + } + container unnumbered-subobject { + when "../type = 'unnumbered'" { + description + "../Type = 'Unnumbered'"; + } + description + "Unnumbered sub-object"; + uses TE-XRO-SUBOBJ-UNNUM; + } + container as-subobject { + when "../type = 'as'" { + description + "../Type = 'AS'"; + } + description + "AS sub-object"; + uses TE-XRO-SUBOBJ-AS; + } + container srlg-subobject { + when "../type = 'srlg'" { + description + "../Type = 'SRLG'"; + } + description + "SRLG sub-object"; + uses TE-XRO-SUBOBJ-SRLG; + } + container lsp-subobject { + when "../type = 'p2p-lsp'" { + description + "../Type = 'P2P_LSP'"; + } + description + "P2P LSP sub-object"; + uses TE-XRO-SUBOBJ-P2P-LSP; + } + leaf type { + type Te-xro-subobj; + description + "Type"; + } + } + + grouping TE-XRO { + description + "XRO object"; + leaf mutual-diversity-flag { + type boolean; + description + "Mutual Diversity Flag"; + } + list xro-subobject { + description + "List of XRO sub-objects"; + uses TE-XRO-SUBOBJ; + } + } + + grouping AFFINITY-NAME-BAG { + description + "Affinity name constraints"; + leaf constraint-type { + type uint8; + description + "Constraint type"; + } + leaf constraint-value { + type uint32; + description + "Deprecated"; + } + leaf forward-ref-value { + type uint32; + description + "Deprecated"; + } + list constraint-extended-value { + description + "Constraint value"; + leaf entry { + type uint32; + description + "Constraint value"; + } + } + list extended-forward-ref-value { + description + "Reference bits for undefined affinity names"; + leaf entry { + type uint32; + description + "Reference bits for undefined affinity names"; + } + } + } + + grouping MPLS-TE-TUNNELS-AFFINITY-INFO { + description + "MPLS TE tunnel Affinity information"; + leaf affinity-bits { + type uint32; + description + "The affinity bits (colors)"; + } + leaf affinity-mask { + type uint32; + description + "The affinity mask (colors)"; + } + list named-affinity { + description + "Array of name based constratints currently + applied to the tunnel"; + uses AFFINITY-NAME-BAG; + } + } + + grouping TE-S2L-FEC { + description + "A sub-LSP FEC"; + leaf s2l-fec-subgroup-id { + type uint16; + description + "sub-LSP subgroup ID"; + } + leaf s2l-fec-lsp-id { + type uint16; + description + "LSP ID"; + } + leaf s2l-fec-tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf s2l-fec-extended-tunnel-id { + type inet:ipv4-address; + description + "Extended tunnel ID"; + } + leaf s2l-fec-source { + type inet:ipv4-address; + description + "LSP source address"; + } + leaf s2l-fec-dest { + type inet:ipv4-address; + description + "sub-LSP destination address"; + } + leaf s2l-fec-p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf s2l-fec-subgroup-originator { + type inet:ipv4-address; + description + "Subgroup Originator"; + } + leaf s2l-fec-ctype { + type Mpls-lib-c; + description + "Session identifier (ctype)"; + } + leaf s2l-fec-vrf { + type string; + description + "VRF; currently only for GMPLS tunnels"; + } + } + + grouping TE-LSP-FEC-CTYPE-DATA { + description + "C-type-specific LSP FEC data"; + leaf fec-ctype { + type Mpls-lib-c; + description + "FEC CType"; + } + leaf p2p-lsp-destination { + when "../fec-ctype = 'mpls-lib-c-type-ipv4-p2p-tunnel'" { + description + "../FEC_CType = 'MPLS_LIB_CTYPE_IPV4_P2P_TUNNEL'"; + } + type inet:ipv4-address; + description + "P2P LSP destination"; + } + leaf fec-destination-p2mp-id { + when "../fec-ctype = 'mpls-lib-c-type-ipv4-p2mp-tunnel'" { + description + "../FEC_CType = + 'MPLS_LIB_CTYPE_IPV4_P2MP_TUNNEL'"; + } + type uint32; + description + "P2MP ID"; + } + } + + grouping TE-LSP-FEC { + description + "A LSP FEC"; + container fec-destination-info { + description + "Destination or P2MP ID"; + uses TE-LSP-FEC-CTYPE-DATA; + } + leaf fec-lsp-id { + type uint16; + description + "LSP ID"; + } + leaf fec-tunnel-id { + type uint16; + description + "Tunnel ID"; + } + leaf fec-extended-tunnel-id { + type inet:ipv4-address; + description + "Extended tunnel ID"; + } + leaf fec-source { + type inet:ipv4-address; + description + "Tunnel source address"; + } + leaf fec-vrf { + type string; + description + "VRF; currently only for GMPLS tunnels"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub7.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub7.yang new file mode 100644 index 000000000..ae263025b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub7.yang @@ -0,0 +1,137 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub7 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MPLS-TE-SELFPING-STATISTICS { + description + "Self-ping statistics"; + leaf operations-count { + type uint32; + description + "Total number of started self-ping operations"; + } + leaf probe-sent-count { + type uint32; + description + "Total number of probes sent"; + } + leaf probe-failed-count { + type uint32; + description + "Total number of failed probes"; + } + leaf probe-received-count { + type uint32; + description + "Total number of responses received"; + } + leaf probe-mismatched-count { + type uint32; + description + "Total number of responses with wrong + identification"; + } + leaf average-response-time-seconds { + type uint64; + units "second"; + description + "Average time in seconds to get a response back + since sending the first probe"; + } + leaf underway-count { + type uint32; + description + "Self-ping operations underway"; + } + leaf success-count { + type uint32; + description + "Self-ping operations finished successfuly"; + } + leaf timeouts-count { + type uint32; + description + "Total number of self-ping timeouts"; + } + leaf terminated-count { + type uint32; + description + "Self-ping operations terminated by TE"; + } + leaf cleared-since { + type int64; + description + "Self-ping statistics cleared timestamp"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub8.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub8.yang new file mode 100644 index 000000000..4d41a2c3b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub8.yang @@ -0,0 +1,766 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub8 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-te-oper-sub5 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub6 { + revision-date 2022-08-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Te-stats-sig-filter { + type enumeration { + enum "te-stat-sig-filter-vif" { + description + "te stat sig filter vif"; + } + enum "te-stat-sig-filter-lsp" { + description + "te stat sig filter lsp"; + } + } + description + "TE Signaling Filter types"; + } + + grouping MPLS-TE-BFD-SESSION-COUNTERS { + description + "TE BFDoLM counters"; + leaf session-create-events { + type uint32; + description + "The number of BFDOverLM session create events"; + } + leaf session-up-events { + type uint32; + description + "The number of BFDOverLM session up events"; + } + leaf session-creation-failed-events { + type uint32; + description + "The number of BFDOverLM session creation failed + events"; + } + leaf session-down-events { + type uint32; + description + "The number of BFDOverLM session down events"; + } + leaf session-admin-down-events { + type uint32; + description + "The number of BFDOverLM session admin down + events"; + } + leaf session-gracefully-delete-events { + type uint32; + description + "The number of BFDOverLM session gracefully + delete events"; + } + leaf session-non-gracefully-delete-events { + type uint32; + description + "The number of BFDOverLM session non gracefully + delete events"; + } + leaf session-replay-events { + type uint32; + description + "The number of BFDOverLSP session replay events"; + } + } + + grouping MPLS-TE-BFD-COUNTERS { + description + "TE BFD Counters"; + container bfd-over-lsp-head-counters { + description + "BFD over Head-end LSPs Cumulative Counters"; + uses MPLS-TE-BFD-LSP-COUNTERS; + } + container sbfd-over-lsp-head-counters { + description + "SBFD over Head-end LSPs Cumulative Counters"; + uses MPLS-TE-BFD-LSP-COUNTERS; + } + container bfd-over-lsp-tail-counters { + description + "BFD over Tail-end LSPs Cumulative Counters"; + uses MPLS-TE-BFD-SESSION-COUNTERS; + } + container bf-do-lm-counters { + description + "BFD over Links Cumulative Counters"; + uses MPLS-TE-BFD-SESSION-COUNTERS; + } + leaf last-cleared-timestamp { + type uint32; + description + "The timestamp when these stats are cleared + relative to Jan 1, 1970"; + } + } + + grouping TE-STATS-DARKBW-INFO { + description + "Dark bandwidth counters"; + leaf last-cleared-timestamp { + type uint32; + description + "The timestamp when these stats are cleared + relative to Jan 1, 1970"; + } + leaf bandwidth-application-count { + type uint32; + description + "Number of bandwidth accounting applications"; + } + leaf bandwidth-sample-count { + type uint32; + description + "Number of bandwidth accounting samples"; + } + leaf invalid-sample-count { + type uint32; + description + "Number of invalid bandwidth accounting samples"; + } + leaf skipped-application-count { + type uint32; + description + "Number of skipped bandwidth accounting + applications"; + } + leaf capped-sample-count { + type uint32; + description + "Number of capped bandwidth accounting samples"; + } + leaf high-latency-count { + type uint32; + description + "Number of statsd requests that returned with + high latency"; + } + } + + grouping TE-STATS-SIG-FILTER-DATA-U { + description + "Union of TE Signalling Filter data"; + container te-signalling-filter-vif { + when "../statistics-filter = 'te-stat-sig-filter-vif'" { + description + "../StatisticsFilter = 'TE_STAT_SIG_FILTER_VIF'"; + } + description + "VIF data"; + uses TE-STATS-BAG-VIF; + } + container te-signalling-filter-lsp { + when "../statistics-filter = 'te-stat-sig-filter-lsp'" { + description + "../StatisticsFilter = 'TE_STAT_SIG_FILTER_LSP'"; + } + description + "LSP data"; + uses TE-STATS-BAG-LSP; + } + leaf statistics-filter { + type Te-stats-sig-filter; + description + "StatisticsFilter"; + } + } + + grouping TE-STATS-SIG-FILTER { + description + "TE Signaling Filter Data"; + container te-signalling-filter-data { + description + "TE Signaling Filter data"; + uses TE-STATS-SIG-FILTER-DATA-U; + } + } + + grouping TE-STATS-BAG-LSP { + description + "MPLS TE LSP Statistics"; + container statistics { + description + "LSP statistics"; + uses TE-STATS-SIG; + } + leaf tunnel-name { + type string; + description + "Tunnel Name"; + } + list s2l-statistic { + description + "List of S2L Statistics"; + uses TE-STATS-BAG-S2L; + } + } + + grouping TE-STATS-BAG-S2L { + description + "MPLS TE S2L Statistics"; + container statistics { + description + "S2L stats"; + uses TE-STATS-SIG; + } + leaf sub-group-originator { + type inet:ipv4-address; + description + "Subgroup Originator"; + } + leaf sub-group-id { + type uint16; + description + "subgroup ID"; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + } + + grouping TE-STATS-BAG-DEST { + description + "MPLS TE Destination Statistics"; + container statistics { + description + "Destination stats"; + uses TE-STATS-SIG; + } + leaf destination-address { + type inet:ipv4-address; + description + "Destination address"; + } + list s2l-statistic { + description + "List of S2L Stats"; + uses TE-STATS-BAG-S2L; + } + } + + grouping TE-STATS-SIG { + description + "Send-Recv count for TE Signaling"; + leaf tx-event-unknown { + type uint32; + description + "Unknown TX events"; + } + leaf tx-path-create-event { + type uint32; + description + "TX Path Create event"; + } + leaf tx-path-change-event { + type uint32; + description + "TX Path Change event"; + } + leaf tx-path-delete-event { + type uint32; + description + "TX Path Delete event"; + } + leaf tx-path-error-event { + type uint32; + description + "TX Path Error event"; + } + leaf tx-resv-create-event { + type uint32; + description + "TX Resv Create event"; + } + leaf tx-resv-change-event { + type uint32; + description + "TX Resv Change event"; + } + leaf tx-resv-delete-event { + type uint32; + description + "TX Resv Delete event"; + } + leaf tx-resv-error-event { + type uint32; + description + "TX Resv Error event"; + } + leaf tx-path-reeval-query-event { + type uint32; + description + "TX Path Reeval Query event"; + } + leaf rx-event-unknown { + type uint32; + description + "RX Unknown events"; + } + leaf rx-path-create-event { + type uint32; + description + "RX Path Create event"; + } + leaf rx-path-change-event { + type uint32; + description + "RX Path Change event"; + } + leaf rx-path-delete-event { + type uint32; + description + "RX Path Delete event"; + } + leaf rx-path-error-event { + type uint32; + description + "RX Path Error event"; + } + leaf rx-resv-create-event { + type uint32; + description + "RX Resv Create event"; + } + leaf rx-resv-change-event { + type uint32; + description + "RX Resv Change event"; + } + leaf rx-resv-delete-event { + type uint32; + description + "RX Resv Delete event"; + } + leaf rx-resv-error-event { + type uint32; + description + "RX Resv Error event"; + } + leaf rx-path-reeval-query-event { + type uint32; + description + "RX Path Reeval Query event"; + } + leaf tx-backup-assign-event { + type uint32; + description + "Backup Assign event"; + } + leaf rx-backup-assign-err-event { + type uint32; + description + "Error on Backup Assign event"; + } + leaf events-total-count { + type uint32; + description + "Total TE Signalling event count"; + } + leaf events-count { + type uint32; + description + "TE Signaling event count"; + } + } + + grouping TE-STATS-BAG-VIF { + description + "MPLS TE VIF Statistics"; + container statistics { + description + "VIF stats"; + uses TE-STATS-SIG; + } + leaf tunnel-name { + type string; + description + "Tunnel Name"; + } + leaf tunnel-sig-name { + type string; + description + "Tunnel Signalled-Name"; + } + leaf lsp-id { + type uint16; + description + "LSP ID"; + } + list destination-statistic { + description + "List of Destination Stats"; + uses TE-STATS-BAG-DEST; + } + } + + grouping TE-S2L-FSM-EVENT-ARRAY { + description + "Array to store S2L FSM events for a state"; + leaf-list te-s2l-fsm-event-array { + type uint32; + max-elements "55"; + description + "te s2l fsm event array"; + } + } + + grouping TE-S2L-FSM-STATS-ARRAY { + description + "Array to store S2L FSM stats"; + list te-s2l-fsm-stats-array { + max-elements "19"; + description + "te s2l fsm stats array"; + uses TE-S2L-FSM-EVENT-ARRAY; + } + } + + grouping TE-FSM-UNEXPECTED-EVENT-STATS { + description + "TE S2L FSM Unexpected Event Stats"; + container head-fsm-events { + description + "FSM unexpected event stats for headend S2Ls"; + uses TE-S2L-FSM-STATS-ARRAY; + } + container mid-fsm-events { + description + "FSM unexpected event stats for midpoint S2Ls"; + uses TE-S2L-FSM-STATS-ARRAY; + } + container tail-fsm-events { + description + "FSM unexpected event stats for tailend S2Ls"; + uses TE-S2L-FSM-STATS-ARRAY; + } + leaf last-cleared-time { + type uint32; + description + "Timestamp when the stat has been cleared"; + } + leaf unexpected-event-num { + type uint32; + description + "Total number of unexpected events"; + } + } + + grouping MPLS-TE-SYNC-COUNT-INFO { + description + "MPLS TE NSR and ISSU counters"; + leaf last-cleared-timestamp { + type uint32; + units "second"; + description + "The timestamp, in seconds, when these statistics + are cleared since 00:00:00 UTC, + January 1, 1970"; + } + leaf role { + type Te-proc-role; + description + "Process role"; + } + leaf last-idt-states { + type uint32; + description + "Last IDT States"; + } + leaf total-states { + type uint32; + description + "Total states"; + } + leaf total-deletions { + type uint32; + description + "Total deletions"; + } + leaf total-nac-ks { + type uint64; + description + "Total NACKs"; + } + leaf total-id-ts { + type uint32; + description + "Total IDTs"; + } + } + + grouping MPLS-TE-SOFT-PREEMPTION-STATS { + description + "Soft preemption stats "; + leaf last-cleared-timestamp { + type uint32; + description + "The timestamp when these stats are cleared + relative to Jan 1, 1970"; + } + leaf soft-preemption-events { + type uint32; + description + "The number of soft preemption events triggered"; + } + leaf soft-preempted-ls-ps { + type uint32; + description + "The number of LSPs that have been soft preempted + at this node"; + } + leaf timed-out-soft-preempted-lsp-ss { + type uint32; + description + "The number of LSPs that have been soft preempted + and timed out at this node"; + } + leaf torn-down-soft-preempted-ls-ps { + type uint32; + description + "The number of LSPs that have been soft preempted + at this node and torn down before timing out"; + } + leaf frr-triggered-soft-preempted-lsp-ss { + type uint32; + description + "The number of LSPs that have been soft preempted + and then fast rerouted at this node"; + } + leaf minimum-time-in-soft-preempted-state { + type uint16; + units "second"; + description + "The minimum number of seconds an LSP remained in + the soft preempted state"; + } + leaf time-in-soft-preempted-state-max { + type uint16; + units "second"; + description + "The maximum number of seconds an LSP remained in + the soft preempted state without being hard + preempted"; + } + leaf time-in-soft-preempted-state-avg { + type uint16; + units "second"; + description + "The average number of seconds an LSP remained in + the soft preempted state. This excludes the + timed out LSPs"; + } + leaf soft-preempted-head-ls-ps { + type uint32; + description + "Number of soft preempted LSPs at the headend. + This is relevant to the headend"; + } + leaf reoptimized-soft-preempted-ls-ps { + type uint32; + description + "Number of soft preemption LSPs that are + reoptimized. This is relevant to the headend"; + } + leaf torndown-soft-preempted-ls-ps { + type uint32; + description + "Number of soft preemption LSPs that are torn + down instead of being reoptimized. This is + relevant to the headend."; + } + leaf path-protected-switchover-soft-preempted-ls-ps { + type uint32; + description + "Number of soft preemption LSPs that are replaced + with the path protection LSP. This is relevant + to the headend"; + } + } + + grouping TE-STATS-AUTOBACKUP-COUNTERS { + description + "TE Auto Backup Counter Types"; + leaf total-tunnels { + type uint32; + description + "Total auto backup tunnels"; + } + leaf next-hop-tunnels { + type uint32; + description + "Next hop auto backup tunnels only"; + } + leaf next-next-hop-tunnels { + type uint32; + description + "Next next hop auto backup tunnels only"; + } + } + + grouping TE-STATS-AUTOBACKUP { + description + "Counters for TE Autobackup"; + container created { + description + "Number of connected auto backup tunnels"; + uses TE-STATS-AUTOBACKUP-COUNTERS; + } + container connected { + description + "Number of connected auto backup tunnels"; + uses TE-STATS-AUTOBACKUP-COUNTERS; + } + container removed-down { + description + "Number of NNHOP auto backup tunnels removed + while down"; + uses TE-STATS-AUTOBACKUP-COUNTERS; + } + container removed-unused { + description + "Number of auto backup tunnels removed while + unused"; + uses TE-STATS-AUTOBACKUP-COUNTERS; + } + container removed-in-use { + description + "Number of auto backup tunnels removed while up + and in use"; + uses TE-STATS-AUTOBACKUP-COUNTERS; + } + container removed-range-exceeded { + description + "Number of auto backup tunnel attempts rejected + because the total number exceeds the range"; + uses TE-STATS-AUTOBACKUP-COUNTERS; + } + leaf last-cleared-time { + type uint32; + description + "Timestamp when the stat has been cleared"; + } + } + + grouping TE-STATS-AUTOMESH { + description + "Counters for TE Automesh"; + leaf created { + type uint32; + description + "Number of connected automesh tunnels"; + } + leaf connected { + type uint32; + description + "Number of connected automesh tunnels"; + } + leaf removed-unused { + type uint32; + description + "Number of automesh tunnels removed while unused"; + } + leaf removed-in-use { + type uint32; + description + "Number of automesh tunnels removed while up and + in use"; + } + leaf removed-range-exceeded { + type uint32; + description + "Number of automesh tunnel attempts rejected + because the total number exceeds the range"; + } + leaf last-cleared-time { + type uint32; + units "second"; + description + "Time at which these were last cleared in seconds + since (in seconds since 1st Jan 1970 00:00:00)'"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub9.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub9.yang new file mode 100644 index 000000000..0325a1e46 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper-sub9.yang @@ -0,0 +1,104 @@ +submodule Cisco-IOS-XR-mpls-te-oper-sub9 { + belongs-to Cisco-IOS-XR-mpls-te-oper { + prefix Cisco-IOS-XR-mpls-te-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MPLS-TE-MIB-SCALAR-INFO { + description + "MPLS TE MIB Scalar Information"; + leaf mpls-tunnel-configured { + type uint32; + description + "mpls tunnel configured"; + } + leaf mpls-tunnel-active { + type uint32; + description + "mpls tunnel active"; + } + leaf mpls-tunnel-te-dist-proto { + type uint8; + description + "mpls tunnel te dist proto"; + } + leaf mpls-tunnel-max-hops { + type uint32; + description + "mpls tunnel max hops"; + } + leaf mpls-tunnel-notification-max-rate { + type uint32; + description + "mpls tunnel notification max rate"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper.yang new file mode 100644 index 000000000..801bddd53 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-te-oper.yang @@ -0,0 +1,2745 @@ +module Cisco-IOS-XR-mpls-te-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-oper"; + prefix mpls-te-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-te-oper-sub9 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub8 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub7 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub6 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub5 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub4 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub3 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub2 { + revision-date 2022-08-30; + } + include Cisco-IOS-XR-mpls-te-oper-sub1 { + revision-date 2022-08-30; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package operational data. + + This module contains definitions + for the following management objects: + mpls-te: MPLS Traffic Engineering operational data + mpls-lcac-standby: MPLS-LCAC operational data on the standby + mpls-lcac: MPLS-LCAC operational data + mpls-pce: MPLS PCE operational data + mpls-pce-stdby: MPLS PCE operational data on standby node + mpls-tp: MPLS transport profile operational data + mpls-te-standby: Standby MPLS TE operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-30 { + description + "Extending self-ping statistics bag + 2022-03-18 + Added self-ping under named-tunnels"; + semver:module-version "1.2.1m"; + } + revision 2021-08-09 { + description + "Added load-interval attribute in the tunnel class. IosSetYangSchemaRev Cisco-IOS-XR-mpls-te-oper"; + semver:module-version "1.2.0"; + } + revision 2021-01-19 { + description + "Added bandwidth-protection for auto-backups. Added signalled-bandwidth and soft-preemption for attribute set of autobackups. + 2020-11-05 + Added secondary router id for TE nodes."; + semver:module-version "1.1.0"; + } + revision 2020-03-28 { + description + "Added dark bandwidth accounting related oper info. Added stateful PCE static delegation related oper info. Added P2MP TE realted oper info. Added new operational leaves sim-rate-set sim-rate pce-address rewrite-lsd-queue tunnel-id-xr controller-handle backup-tunnel-sig-name protected-interface attribute-set-crc32 error delegation-status error context rewrite-lsd-queue simrate-enabled-in-last-application tunnel-id-xr p2mp-id-xr lsp-id-xr source-address-xr simrate-enabled-in-last-application is-expand-timer-running expand-timer-duration expand-timer-remain egress-interface-handle ingress-interface-handle srdb-check-enabled destination-create-time link-if-index create-time is-config-pending attribute-set-crc32 destination-list-crc32 maximum-destination-count maximum-tunnel-count srlg-number-xr tunnel-interface-name lsp-id-xr tunnel-rewrite-ctype tunnel-load-share tunnel-policy-class tunnel-forward-class lmp-is-allocated topology-node-igp-id topology-node-igp-area topology-node-is-router link-id classification-flags current-lsp-bandwidth-requested current-lsp-bandwidth-requested-type standby-lsp-bandwidth-requested standby-lsp-bandwidth-requested-type reopt-lsp-bandwidth-requested reopt-lsp-bandwidth-requested-type standby-reopt-lsp-bandwidth-requested standby-reopt-lsp-bandwidth-requested-type destination-address error tunnel-name-xr interface-name-xr interface-name"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-08-01 { + description + "Removed empty groupings."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Attribute-set-name-length { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Attribute set name length"; + } + + typedef Mpls-te-path-selection-metric { + type enumeration { + enum "igp" { + value 1; + description + "IGP Metric"; + } + enum "te" { + value 2; + description + "TE Metric"; + } + enum "delay" { + value 4; + description + "DELAY Metric"; + } + } + description + "Mpls te path selection metric"; + } + + typedef Mpls-te-path { + type enumeration { + enum "not-set" { + value 0; + description + "Not set"; + } + enum "dynamic" { + value 1; + description + "Dynamic"; + } + enum "explicit-name" { + value 3; + description + "Explicit name"; + } + enum "explicit-id" { + value 4; + description + "Explicit ID"; + } + enum "no-ero" { + value 5; + description + "No ERO"; + } + enum "segment-routing" { + value 6; + description + "Segment Routing"; + } + } + description + "Mpls te path"; + } + + typedef Mpls-te-node { + type enumeration { + enum "router" { + value 1; + description + "Router"; + } + enum "network" { + value 2; + description + "Network"; + } + } + description + "Mpls te node"; + } + + typedef Preemption-event-index-range { + type uint32 { + range "0..1999"; + } + description + "Preemption event index range"; + } + + typedef Mpls-pce-symbolic-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Mpls pce symbolic name"; + } + + typedef Ctype { + type enumeration { + enum "ctype-null" { + value 0; + description + "CTYPE NULL"; + } + enum "ctype-ipv4" { + value 1; + description + "CTYPE IPV4"; + } + enum "ctype-ipv4-p2p-tunnel" { + value 7; + description + "CTYPE IPV4 P2P TUNNEL"; + } + enum "ctype-ipv6-p2p-tunnel" { + value 8; + description + "CTYPE IPV6 P2P TUNNEL"; + } + enum "ctype-ipv4-uni" { + value 9; + description + "CTYPE IPV4 UNI"; + } + enum "ctype-ipv4-p2mp-tunnel" { + value 13; + description + "CTYPE IPV4 P2MP TUNNEL"; + } + enum "ctype-ipv6-p2mp-tunnel" { + value 14; + description + "CTYPE IPV6 P2MP TUNNEL"; + } + } + description + "Ctype"; + } + + typedef Mpls-te-next-hop { + type enumeration { + enum "egress-resolve" { + value 0; + description + "Egress Resolve"; + } + enum "autoroute-dest" { + value 1; + description + "Autoroute Dest"; + } + } + description + "Mpls te next hop"; + } + + typedef Mpls-te-attr-set { + type enumeration { + enum "not-used" { + value 0; + description + "Not used"; + } + enum "static" { + value 1; + description + "Static"; + } + enum "lsp" { + value 2; + description + "LSP"; + } + enum "unassigned" { + value 3; + description + "Unassigned"; + } + enum "auto-backup" { + value 4; + description + "Auto backup"; + } + enum "auto-mesh" { + value 5; + description + "Auto mesh"; + } + enum "xro" { + value 6; + description + "XRO"; + } + enum "p2mp-te" { + value 7; + description + "P2MP TE"; + } + enum "otn-pp" { + value 8; + description + "OTN Path Protection"; + } + enum "p2p-te" { + value 9; + description + "P2P TE"; + } + enum "uni-p" { + value 10; + description + "Uni protection"; + } + } + description + "Mpls te attr set"; + } + + typedef Mesh-group-id { + type uint32 { + range "0..4294967295"; + } + description + "Mesh group id"; + } + + typedef Mpls-te-igp-protocol { + type enumeration { + enum "none" { + value 0; + description + "Not set"; + } + enum "isis" { + value 1; + description + "IS IS"; + } + enum "ospf" { + value 2; + description + "OSPF"; + } + } + description + "Mpls te igp protocol"; + } + + grouping ADVERTISEMENTS { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container advertisements { + description + "The advertisement information in MPLS-LCAC"; + uses MPLS-LM-ADVERTISEMENT-INFO; + } + } + + grouping MAXIMUM-TUNNELS { + description + "Common node of mpls-te, mpls-te-standby"; + container maximum-tunnels { + description + "MPLS Traffic Engineering Tunnels"; + uses TUNNEL-MAX-INFO; + } + } + + grouping ADMISSION-CONTROL { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container admission-control { + description + "The admission control information in MPLS-LCAC"; + container global { + description + "The global admission control information"; + uses MPLS-LM-ADMISSION-CONTROL-COMMON-INFO; + } + container admitted-tunnels { + description + "The table of admitted tunnels information in + MPLS-LCAC"; + list admitted-tunnel { + key "source-address destination-port source-port destination-address extended-tunnel-id next-hop-address ctype p2mp-id"; + description + "The information for a specific admitted tunnel"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "The source IP address of the tunnel"; + } + leaf destination-port { + type uint32; + description + "The tunnel number at the head"; + } + leaf source-port { + type uint32; + description + "The signaling instance number of the tunnel"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "The destination IP address of the tunnel"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended tunnel id"; + } + leaf next-hop-address { + type inet:ipv4-address-no-zone; + description + "The Next hop IP"; + } + leaf ctype { + type Ctype; + description + "C type"; + } + leaf p2mp-id { + type uint32; + description + "P2MP id"; + } + uses MPLS-LM-ADMISSION-CONTROL-TUNNEL-INFO; + } + } + container link-interfaces { + description + "The global admission control information on + Interfaces"; + list link-interface { + key "interface-name"; + description + "The global admission control information on an + interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-ADMISSION-CONTROL-COMMON-INFO; + } + } + } + } + + grouping WRAP-PROTECTION { + description + "Common node of mpls-te, mpls-te-standby"; + container wrap-protection { + description + "Represent all the LSP Wrap Protection info in + MPLS-TE"; + container protected-lsps { + description + "The set of wrap protected LSPs available in + MPLS-TE"; + list protected-lsp { + key "source-address destination-address tunnel-id extended-tunnel-id lsp-id sub-group-id sub-group-originator p2mp-id session-type"; + description + "Wrap protection info for a given protected LSP"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf sub-group-originator { + type inet:ipv4-address-no-zone; + description + "Subgroup Orig ID"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf session-type { + type Ctype; + description + "Session Type"; + } + uses MPLS-TE-LSP-WRAP-PROTECTION-BAG; + } + } + } + } + + grouping DIFF-SERV-TE-CLASSES { + description + "Common node of mpls-te, mpls-te-standby"; + container diff-serv-te-classes { + description + "The configured Diff Serv TE classes"; + uses MPLS-TE-DSTE-CLASSES; + } + } + + grouping PEER-TABLE { + description + "Common node of mpls-pce, mpls-pce-stdby"; + container peers { + description + "The set of PCE peers"; + list peer { + key "peer-address"; + description + "A PCE peer"; + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "The peer address"; + } + uses PCE-NEIGHBOR-BAG; + } + } + } + + grouping LINK-INFORMATION { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container link-information { + description + "The interface information in MPLS-LCAC"; + container global { + description + "The global information for all the interfaces"; + uses MPLS-LM-INTERFACE-COMMON-INFO; + } + container links { + description + "The table of interfaces in MPLS-LCAC"; + list link { + key "interface-name"; + description + "An interface in MPLS-LCAC"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-INTERFACE-LINK-INFO; + } + } + } + } + + grouping LSP-TABLE { + description + "Common node of mpls-pce, mpls-pce-stdby"; + container lsps { + description + "Table of LSPs"; + list lsp { + key "symbolic-name"; + description + "Information of a LSP from LSPDB"; + leaf symbolic-name { + type Mpls-pce-symbolic-name; + description + "Symbolic name"; + } + uses PCE-LSP-BAG; + } + uses PCE-LSP-BAG; + } + } + + grouping PREEMPTION-EVENT-TABLE { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container preemption-events { + description + "Preemption event log in MPLS-LCAC"; + list preemption-event { + key "event-index"; + description + "Preemption event"; + leaf event-index { + type Preemption-event-index-range; + description + "Event index"; + } + uses MPLS-LM-PREEMPTION-EVENT; + } + } + } + + grouping SIGNALLING-COUNTERS { + description + "Common node of mpls-te, mpls-te-standby"; + container signalling-counters { + description + "TE counters"; + container issu { + description + "MPLS TE ISSU counters"; + uses MPLS-TE-SYNC-COUNT-INFO; + } + container fsm-unexpected-event-stats { + description + "TE S2L FSM unexpected event stats"; + uses TE-FSM-UNEXPECTED-EVENT-STATS; + } + container head-signalling-counters { + description + "Sig Head Table TE counters"; + list head-signalling-counter { + key "ctype tunnel-id"; + description + "TE stats"; + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + uses TE-STATS-BAG-VIF; + } + } + container remote-signalling-counters { + description + "Sig mid tail Table TE counters"; + list remote-signalling-counter { + key "ctype tunnel-id extended-tunnel-id p2mp-id lsp-id source-address destination-address sub-group-originator sub-group-id"; + description + "TE stats"; + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf sub-group-originator { + type inet:ipv4-address-no-zone; + description + "Subgroup originator"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + uses TE-STATS-BAG-LSP; + } + } + container signallings { + description + "TE counters"; + list signalling { + key "ctype tunnel-id extended-tunnel-id p2mp-id lsp-id source-address destination-address sub-group-originator sub-group-id"; + description + "TE Sig"; + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf sub-group-originator { + type inet:ipv4-address-no-zone; + description + "Subgroup originator"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + uses TE-STATS-SIG-FILTER; + } + } + container signalling-summary { + description + "Send-Recv count summary for TE Signaling"; + uses TE-STATS-SIG; + } + } + } + + grouping STATISTICS { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container statistics { + description + "The interface statistics information in + MPLS-LCAC"; + container summary { + description + "The statistics summary for all interfaces"; + uses MPLS-LM-STATS-SUMMARY-INFO; + } + container statstics-links { + description + "The table of statistics interfaces in MPLS-LCAC"; + list statstics-link { + key "interface-name"; + description + "An interface in MPLS-LCAC"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-STATS-LINK-INFO; + } + } + } + } + + grouping TE-PCE-OPER-STATISTICS { + description + "Common node of mpls-lcac, mpls-lcac-standbyCommon + node of mpls-pce, mpls-pce-stdby"; + container statistics { + description + "PCE stats info"; + uses PCE-STATS-BAG; + } + } + + grouping PATH-PROTECTION { + description + "Common node of mpls-lcac, mpls-lcac-standbyCommon + node of mpls-pce, mpls-pce-stdbyCommon node of + mpls-te, mpls-te-standby"; + container path-protection { + description + "MPLS TE path protection info"; + container switchover-log { + description + "MPLS TE path protection info"; + uses TE-PP-SW-LOG-BAG; + } + } + } + + grouping FIB-NEXT-HOP-LABEL-ROUTE-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container fib-next-hop-label-routes { + description + "MPLS TE FIB nexthop label route database"; + list fib-next-hop-label-route { + key "label"; + description + "MPLS TE FIB nexthop label route"; + leaf label { + type uint32 { + range "0..1048575"; + } + description + "MPLS Label"; + } + uses TE-FIB-NH-ROUTE-BAG; + } + } + } + + grouping ANNOUNCE-TUNNELS-INFO { + description + "Common node of mpls-te, mpls-te-standby"; + container announce-tunnels-info { + description + "Announced tunnels (forwarding adjacency and + autoroute annonce)"; + container autoroute-announce-table { + description + "Autoroute announce and forwarding adjacency + table"; + uses ANNOUNCE-DEST; + } + container all-autoroute-table { + description + "Autoroute announce and forwarding adjacency + table"; + uses ANNOUNCE-DEST; + } + } + } + + grouping ATTRIBUTE-SET-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container attribute-sets { + description + "AttributeSet information."; + list attribute-set { + key "attribute-set-type attribute-set-name"; + description + "MPLS TE attribute-set information"; + leaf attribute-set-type { + type Mpls-te-attr-set; + description + "Attribute Set Type"; + } + leaf attribute-set-name { + type Attribute-set-name-length; + description + "Attribute Set Name"; + } + uses MPLS-TE-ATTRIBUTE-SET; + } + } + } + + grouping BANDWIDTH-ACCOUNT { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container bandwidth-account { + description + "The bandwidth accounting information in + MPLS-LCAC"; + container bandwidth-account-links { + description + "The interface bandwidth accounting information + table"; + list bandwidth-account-link { + key "interface-name"; + description + "An interface in bandwidth accounting table"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-BANDWIDTH-ACCOUNT-LINK-TEL-DET-INFO; + } + } + } + } + + grouping ANNOUNCE-DEST { + description + "Common node of autoroute-announce-table, + all-autoroute-table"; + list announce-dest { + key "destination-address protocol area igp-id"; + description + "Autoroute tunnels per destination information"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf protocol { + type Mpls-te-igp-protocol; + description + "The IGP protocol used by the tunnel"; + } + leaf area { + type uint32; + description + "Area"; + } + leaf igp-id { + type xr:Cisco-ios-xr-string; + description + "IGP Instance ID"; + } + uses MPLS-TE-ANNOUNCEMENT-DEST-BAG; + } + } + + grouping TOPOLOGY-BRIEF-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container topology-briefs { + description + "MPLS-TE topology brief table"; + list topology-brief { + key "protocol igp-id area topology-node-type igp-node-id"; + description + "A node in MPLS-TE topoogy brief table"; + leaf protocol { + type Mpls-te-igp-protocol; + description + "IGP protocol type"; + } + leaf igp-id { + type xr:Cisco-ios-xr-string; + description + "IGP instance"; + } + leaf area { + type uint32; + description + "IGP area"; + } + leaf topology-node-type { + type Mpls-te-node; + description + "Node type"; + } + leaf igp-node-id { + type string; + description + "IGP Node ID"; + } + uses MPLS-TE-TOPOLOGY-NODE; + } + } + } + + grouping AUTO-TUNNEL { + description + "Common node of mpls-te, mpls-te-standby"; + container auto-tunnel { + description + "Auto tunnel information."; + container pcc { + description + "Auto tunnel PCC (Path Computation Client) + information."; + container summary { + description + "MPLS TE auto-tunnel pcc summary information"; + uses MPLS-TE-AUTOTUN-PCC-SUMMARY-INFO; + } + } + container mesh { + description + "Auto tunnel mesh information."; + container mesh-groups { + description + "Display auto-tunnel mesh group"; + list mesh-group { + key "mesh-group-id"; + description + "Display auto-tunnel mesh group information"; + leaf mesh-group-id { + type Mesh-group-id; + description + "Mesh group ID"; + } + uses MPLS-TE-MESHGROUP; + } + } + container statistics { + description + "MPLS TE auto-tunnel mesh counters (stats) + information"; + uses TE-STATS-AUTOMESH; + } + container summary { + description + "MPLS TE auto-tunnel mesh summary information"; + uses MPLS-TE-AUTOTUN-MESH-SUMMARY-INFO; + } + container config { + description + "MPLS TE auto-tunnel mesh configuration + information"; + uses MPLS-TE-AUTOTUN-MESH-CONFIG-INFO; + } + container one-hop { + description + "MPLS TE auto-tunnel mesh onehop information"; + container interfaces { + description + "Display auto-tunnel onehop interfaces"; + list interface { + key "interface-name"; + description + "Display auto-tunnel mesh onehop interface + information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MPLS-TE-AUTOMESH-ONEHOP-INTERFACE; + } + } + container statistics { + description + "MPLS TE auto-tunnel mesh onehop counters + (stats) information"; + uses TE-STATS-AUTOMESH; + } + container summary { + description + "MPLS TE auto-tunnel mesh onehop summary + information"; + uses MPLS-TE-AUTOTUN-MESH-ONEHOP-SUMMARY-INFO; + } + } + } + container backup { + description + "Auto tunnel backup information."; + container tunnels { + description + "auto-tunnel backup information"; + list tunnel { + key "backup-tunnel-name"; + description + "Display auto tunnel backup tunnel information"; + leaf backup-tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Backup tunnel name"; + } + uses MPLS-TE-AUTOTUN-BACKUP-TUNNEL-INFO; + } + } + container statistics { + description + "MPLS TE auto-tunnel backup counters (stats) + information"; + uses TE-STATS-AUTOBACKUP; + } + container summary { + description + "MPLS TE auto-tunnel backup summary information"; + uses MPLS-TE-AUTOTUN-BACKUP-SUMMARY-INFO; + } + container config { + description + "MPLS TE auto-tunnel backup configuration + information"; + uses MPLS-TE-AUTOTUN-BACKUP-CONFIG-INFO; + } + } + } + } + + grouping BANDWIDTH-ACCOUNTING-COUNTERS { + description + "Common node of mpls-te, mpls-te-standby"; + container bandwidth-accounting-counters { + description + "Bandwidth accounting counters"; + uses TE-STATS-DARKBW-INFO; + } + } + + grouping COLLABORATOR-TIMERS { + description + "Common node of mpls-te, mpls-te-standby"; + container collaborator-timers { + description + "TE Collaborator timer status"; + uses MPLS-TE-P2MP-TIMERS-B; + } + } + + grouping SOFT-PREEMPTION { + description + "Common node of mpls-te, mpls-te-standbyCommon + node of mpls-te, mpls-te-standby"; + container soft-preemption { + description + "Soft Preemption information."; + container statistics { + description + "MPLS TE soft preemption stats information"; + uses MPLS-TE-SOFT-PREEMPTION-STATS; + } + } + } + + grouping HARDWARE-OUT-OF-RESOURCES { + description + "Common node of mpls-te, mpls-te-standby"; + container hardware-out-of-resources { + description + "NPU Hardware OOR Information"; + container summary { + description + "HW OOR Summary information"; + uses TE-HW-OOR-INFO; + } + } + } + + grouping P2P-P2MP-TUNNEL { + description + "Common node of mpls-te, mpls-te-standby"; + container p2p-p2mp-tunnel { + description + "P2P or P2MP tunnels"; + container tunnel-remote-briefs { + description + "Restrict display to P2P or P2MP mid or tail + tunnels"; + list tunnel-remote-brief { + key "lsp-id tunnel-id extended-tunnel-id source-address ctype destination-address p2mp-id"; + description + "P2P or P2MP tunnel that is a mid or tail"; + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + uses MPLS-TE-P2MP-LSP-BRIEF; + } + } + container tunnel-remotes { + description + "Restrict display to P2P or P2MP mid or tail + tunnels"; + list tunnel-remote { + key "lsp-id tunnel-id extended-tunnel-id source-address ctype destination-address p2mp-id"; + description + "P2P or P2MP tunnel that is a mid or tail"; + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + uses MPLS-TE-P2MP-LSP; + } + } + container nni-tunnels { + description + "GMPLS NNI tunnels"; + list nni-tunnel { + key "tunnel-id source-address destination-address"; + description + "GMPLS-NNI tail tunnel"; + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + uses MPLS-TE-P2MP-TUNNEL-BAG; + } + } + container tunnel-heads { + description + "Restrict display to P2P or P2MP head tunnels"; + list tunnel-head { + key "tunnel-name"; + description + "mpls te p2p or p2mp tunnels"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel Name"; + } + uses MPLS-TE-P2MP-TUNNEL-BAG; + } + } + } + } + + grouping BFD-NEIGHBOR-TABLE { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container bfd-neighbors { + description + "BFD Neighbors"; + list bfd-neighbor { + key "interface-name"; + description + "A BFD Neighbor"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-BFD-NBRS-LINK-INFO; + } + } + } + + grouping SOFT-PREEMPTION-TABLE { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container soft-preemptions { + description + "The soft preemption information for the TE-links"; + list soft-preemption { + key "interface-name"; + description + "The soft preemption info for a TE-link"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-SOFT-PREEMPTION-LINK-INFO; + } + } + } + + grouping TUNNEL-TABLE { + description + "Common node of mpls-pce, mpls-pce-stdby"; + container tunnels { + description + "Table of PCE tunnels"; + list tunnel { + key "tunnel-name"; + description + "Information of a PCE tunnel"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel Name"; + } + uses PCE-TUNNEL-BAG; + } + uses PCE-TUNNEL-BAG; + } + } + + grouping FAST-REROUTE { + description + "Common node of mpls-te, mpls-te-standby"; + container fast-reroute { + description + "Represent all the fastreroute info in MPLS-TE"; + container backup-tunnels { + description + "The set of fastreroute backup tunnels available + in MPLS-TE"; + list backup-tunnel { + key "tunnel-name interface-name"; + description + "Fastreroute info for a given backup tunnel"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Backup tunnel name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Protected interface name"; + } + uses MPLS-TE-FASTREROUTE-BAG; + } + } + container protected-interfaces { + description + "The set of fastreroute protected interfaces + available in MPLS-TE"; + list protected-interface { + key "interface-name backup-tunnel-name"; + description + "Fastreroute info for a given protected + interface"; + leaf interface-name { + type xr:Interface-name; + description + "Protected interface name"; + } + leaf backup-tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Backup tunnel name"; + } + uses MPLS-TE-FASTREROUTE-BAG; + } + } + container protections { + description + "The set of fastreroute protected interfaces + available in MPLS-TE"; + list protection { + key "source-address destination-address tunnel-id extended-tunnel-id lsp-id sub-group-id sub-group-originator p2mp-id session-type"; + description + "Fastreroute info for a given protection + interface"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf sub-group-id { + type uint32; + description + "Subgroup ID"; + } + leaf sub-group-originator { + type inet:ipv4-address-no-zone; + description + "Subgroup Orig ID"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf session-type { + type uint32; + description + "Session Type"; + } + uses MPLS-TE-FASTREROUTE-PROTECTION-BAG; + } + } + container promotion { + description + "The info about the promotion timer of backup + tunnels"; + uses MPLS-TE-FASTREROUTE-PROMOTION-BAG; + } + } + } + + grouping TOPOLOGY { + description + "Common node of mpls-te, mpls-te-standby"; + container topology { + description + "The topology information in MPLS-TE"; + container global { + description + "Global information about the overall MPLS-TE + topology"; + uses MPLS-TE-TOPOLOGY-GLOBAL-INFO-BAG; + } + container destination-paths { + description + "This table models the path calculation + capabilities in MPLS-TE.A GET operation for the + complete table will return no entries.See the + class DestinationPath for more details."; + list destination-path { + description + "A GET operation on this class returns the best + available path in the TE topology to reach the + specified destination while satisfying the + specified constraints."; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf affinity-bits { + type uint32; + description + "Affinity Bits"; + } + leaf affinity-mask { + type uint32; + description + "Affinity Mask"; + } + leaf setup-priority { + type uint32; + description + "Setup Priority"; + } + leaf hold-priority { + type uint32; + description + "Hold Priority"; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth in kbps"; + } + leaf igp-type { + type Mpls-te-igp-protocol; + description + "IGP Type"; + } + leaf igp-instance { + type xr:Cisco-ios-xr-string; + description + "IGP Instance"; + } + leaf igp-area { + type uint32; + description + "IGP Area"; + } + leaf hop-limit { + type uint32; + description + "Hop Limit"; + } + leaf exclude-srlg-ip-address { + type inet:ipv4-address-no-zone; + description + "Exclude SRLG IP Address"; + } + leaf path-type { + type Mpls-te-path; + description + "Path Type"; + } + leaf path-id { + type uint32; + description + "This is the ID of the explicit path to be + used for this path calculation query"; + } + leaf path-name { + type xr:Cisco-ios-xr-string; + description + "This is the name of the explicit path to be + used for this path calculation query"; + } + leaf cost-limit { + type uint32; + description + "Cost Limit"; + } + leaf metric-type { + type Mpls-te-path-selection-metric; + description + "Metric Type"; + } + leaf delay-limit { + type uint32; + description + "Delay Limit in usec"; + } + uses MPLS-TE-TOPOLOGY-PATH-BAG; + } + } + container configured-srlgs { + description + "Set of configured SRLG"; + list configured-srlg { + key "srlg-number"; + description + "Configured SRLG value and the addresses using + it"; + leaf srlg-number { + type uint32; + description + "SRLG Number"; + } + uses MPLS-TE-TOPO-CFG-SRLG; + } + } + container srlgs { + description + "Set of SRLG operational value for the overall + MPLS-TE topology"; + list srlg { + key "srlg-number"; + description + "SRLG operational value for the overall MPLS-TE + topology"; + leaf srlg-number { + type uint32; + description + "SRLG Number"; + } + uses MPLS-TE-TOPO-SRLG; + } + } + container path-tunnels { + description + "MPLS-Te topology path info"; + list path-tunnel { + description + "MPLS-TE topology path taken by the specified + tunnel"; + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel name"; + } + uses MPLS-TE-TOPOLOGY-PATH-BAG; + } + } + } + } + + grouping TE-PCE-OPER-TOPOLOGY { + description + "Common node of mpls-te, mpls-te-standbyCommon + node of mpls-pce, mpls-pce-stdby"; + container topology { + description + "The topology information in PCE"; + container global { + description + "The global information of the overall topology"; + uses PCE-TOPOLOGY-GLOBAL-INFO-BAG; + } + } + } + + grouping FORWARDING-ADJACENCY-DESTINATION-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container forwarding-adjacency-destinations { + description + "Announced Destination tunnel"; + list forwarding-adjacency-destination { + key "destination-address"; + description + "Forwarding Adjacencies for a destination"; + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination address"; + } + uses MPLS-TE-FWD-ADJ-BAG; + } + } + } + + grouping LINK-SUMMARY { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container link-summary { + description + "The global summary for all the interfaces"; + uses MPLS-LM-SUMMARY-COMMON-INFO; + } + } + + grouping BANDWIDTH-ALLOCATION { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container bandwidth-allocation { + description + "The bandwidth allocation information in + MPLS-LCAC"; + container global { + description + "Global bandwidth allocation information for all + interfaces"; + uses MPLS-LM-BW-ALLOC-COMMON-INFO; + } + container bandwidth-allocation-links { + description + "Per-link bandwidth allocation information in + MPLS-LCAC"; + list bandwidth-allocation-link { + key "interface-name"; + description + "The bandwidth allocation for a given interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-BW-ALLOC-LINK-INFO; + } + } + } + } + + grouping AUTO-TUNNEL-SERVICES { + description + "Common node of mpls-te, mpls-te-standby"; + container auto-tunnel-services { + description + "MPLS TE Auto Tunnel Services"; + container sr-policy-entries { + description + "MPLS TE SR Policy Context table "; + list sr-policy-entry { + key "client-id color end-point distinguisher"; + description + "MPLS TE SR Policy information"; + leaf client-id { + type uint32; + description + "Client ID"; + } + leaf color { + type uint32; + description + "Color"; + } + leaf end-point { + type inet:ip-address-no-zone; + description + "End Point"; + } + leaf distinguisher { + type uint32; + description + "SR Policy Distinguisher Value"; + } + uses TE-SERVICE-SR-POLICY; + } + } + } + } + + grouping AUTOROUTE-DESTINATION-TUNNEL-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container auto-route-destination-entries { + description + "MPLS TE autoroute destination table indexed by + tunnel"; + list auto-route-destination-entry { + key "tunnel-id"; + description + "MPLS TE autoroute destination info for one + tunnel"; + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + uses TE-TUNNEL-AUTOROUTE-DESTINATIONS; + } + } + } + + grouping TUNNELS { + description + "Common node of mpls-te, mpls-te-standby"; + container tunnels { + description + "Failure protection provided for tunnels"; + container tunnel-flex-lsps { + description + "Flex LSP"; + list tunnel-flex-lsp { + description + "Flex LSP"; + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel Name"; + } + uses MPLS-TE-FLEX-LSP; + } + } + container tunnel-auto-bandwidths { + description + "Auto Bandwidth Brief Table"; + list tunnel-auto-bandwidth { + key "tunnel-name"; + description + "Auto Bandwidth info bag"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel Name"; + } + uses MPLS-TE-TUNNELS-AUTOBW-BRIEF; + } + } + container summary { + description + "Summary of tunnel info"; + uses MPLS-TE-TUNNELS-SUMMARY-INFO-BAG; + } + container tunnel-path-protections { + description + "Path protection"; + list tunnel-path-protection { + description + "Path Protection"; + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel Name"; + } + uses MPLS-TE-PATH-PROTECTION; + } + } + } + } + + grouping IGP-AREA-BRIEF-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container igp-area-briefs { + description + "The set of IGP-areas known to MPLS-TE"; + list igp-area-brief { + key "protocol process-tag"; + description + "An IGP instance Brief info"; + leaf protocol { + type Mpls-te-igp-protocol; + description + "The IGP protocol"; + } + leaf process-tag { + type xr:Cisco-ios-xr-string; + description + "IGP Process Tag"; + } + uses TE-SH-IGP; + } + } + } + + grouping IGP-AREA-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container igp-areas { + description + "The set of IGP-areas known to MPLS-TE"; + list igp-area { + key "protocol process-tag"; + description + "An IGP instance"; + leaf protocol { + type Mpls-te-igp-protocol; + description + "The IGP protocol"; + } + leaf process-tag { + type xr:Cisco-ios-xr-string; + description + "IGP Process Tag"; + } + uses TE-SH-IGP; + } + } + } + + grouping P2MP { + description + "Common node of mpls-te, mpls-te-standby"; + container p2mp { + description + "P2MP Information"; + container tunnel-rewrites { + description + "forwarding-adjacency P2MP Tunnel RW"; + list tunnel-rewrite { + key "tunnel-id lsp-id ctype"; + description + "Display only P2MP Information"; + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf ctype { + type Ctype; + description + "Ctype"; + } + uses MPLS-TE-S2L-TUN-RW-BAG; + } + } + container collaborator-timers { + description + "TE Collaborator timer status"; + uses MPLS-TE-P2MP-TIMERS-B; + } + container forwarding-output-label-rewrites { + description + "forwarding-adjacency P2MP Information"; + list forwarding-output-label-rewrite { + key "tunnel-id lsp-id extended-tunnel-id source-address p2mp-id destination-address next-hop-address previous-hop-address ctype"; + description + "Display only P2MP Information"; + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "extended tunnel ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf next-hop-address { + type inet:ipv4-address-no-zone; + description + "Next Hop"; + } + leaf previous-hop-address { + type inet:ipv4-address-no-zone; + description + "Prev Hop"; + } + leaf ctype { + type Ctype; + description + "Ctype"; + } + uses MPLS-TE-S2L-FORWARDING-BAG; + } + } + } + } + + grouping LSP-OUT-OF-RESOURCES { + description + "Common node of mpls-te, mpls-te-standby"; + container lsp-out-of-resources { + description + "LSP OOR information"; + container summary { + description + "LSP OOR Summary information"; + uses TE-LSP-OOR-INFO; + } + } + } + + grouping NSR { + description + "Common node of mpls-te, mpls-te-standby"; + container nsr { + description + "MPLS TE NSR information"; + container status { + description + "MPLS TE NSR Status information"; + uses TE-NSR-ISSU-STATUS-INFO; + } + container detail { + description + "MPLS TE NSR Status information"; + uses TE-NSR-ISSU-STATUS-INFO; + } + } + } + + grouping AFFINITY-MAP { + description + "Common node of mpls-te, mpls-te-standbyCommon + node of mpls-te, mpls-te-standby"; + container affinity-map { + description + "Affinity name to value mapping"; + uses MPLS-TE-AFFINITY-MAP-BAG; + } + } + + grouping BFD { + description + "Common node of mpls-te, mpls-te-standby"; + container bfd { + description + "MPLS TE BFD Oper Info"; + container head-infos { + description + "MPLS TE Head BFD Over LSP Table"; + list head-info { + key "tunnel-name"; + description + "MPLS TE Head End BFD Over LSP Info"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel Name"; + } + uses MPLS-TE-HEAD-BFD-VIF-INFO; + } + } + container links { + description + "MPLS TE BFD Info"; + list link { + key "interface-name"; + description + "MPLS TE BFD Info"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-BFD-NBRS-LINK-INFO; + } + } + container tail-infos { + description + "MPLS TE Tail BFD Over LSP Table"; + list tail-info { + description + "MPLS TE Tail End BFD Over LSP Info"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + description + "Destination Address"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf ctype { + type Ctype; + description + "Ctype"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + uses MPLS-TE-TAIL-BFD-LSP-INFO; + } + } + container summary { + description + "MPLS TE BFD Summary"; + uses MPLS-TE-BFD-SUMMARY; + } + container counters { + description + "MPLS TE BFD Counters"; + uses MPLS-TE-BFD-COUNTERS; + } + } + } + + grouping TOPOLOGY-NODE-TABLE { + description + "Common node of mpls-te, mpls-te-standby"; + container topology-nodes { + description + "A node in the MPLS-TE topology"; + list topology-node { + key "protocol igp-id area topology-node-type igp-node-id"; + description + "A node in the MPLS-TE topology"; + leaf protocol { + type Mpls-te-igp-protocol; + description + "IGP protocol type"; + } + leaf igp-id { + type xr:Cisco-ios-xr-string; + description + "IGP instance"; + } + leaf area { + type uint32; + description + "IGP area"; + } + leaf topology-node-type { + type Mpls-te-node; + description + "Node type"; + } + leaf igp-node-id { + type string; + description + "IGP Node ID"; + } + uses MPLS-TE-TOPOLOGY-NODE; + } + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container neighbors { + description + "The neighbor information for the local router"; + list neighbor { + key "interface-name"; + description + "The neighbors connected to a particular + interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses MPLS-LM-IGP-NBRS-LINK-INFO; + } + } + } + + grouping GMPLS { + description + "Common node of mpls-lcac, mpls-lcac-standbyCommon + node of mpls-lcac, mpls-lcac-standby"; + container gmpls { + description + "GMPLS data"; + container nni { + description + "GMPLS NNI data"; + container otn { + description + "GMPLS OTN-NNI data"; + container advertisements { + description + "GMPLS OTN-NNI advertisement information"; + uses MPLS-LM-ADVERTISEMENT-INFO; + } + container summary { + description + "GMPLS NNI OTN summary information"; + uses MPLS-TE-NNI-OTN-SUMMARY-INFO; + } + container controllers { + description + "GMPLS OTN-NNI controllers"; + list controller { + key "controller-name"; + description + "A GMPLS OTN-NNI link"; + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + uses MPLS-TE-NNI-OTN-LINK-INFO; + } + } + container admission-controls { + description + "GMPLS OTN-NNI admission control table"; + list admission-control { + key "controller-name"; + description + "GMPLS OTN-NNI admitted tunnels for a given + controller"; + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + uses MPLS-TE-NNI-OTN-ADMISSION-CONTROL-LINK-INFO; + } + } + } + } + container uni { + description + "GMPLS UNI data"; + container wdm { + description + "GMPLS WDM-UNI data"; + container controllers { + description + "GMPLS WDM-UNI controllers"; + list controller { + key "controller-name"; + description + "A TE GMPLS-UNI WDM controller"; + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + uses MPLS-TE-MGMT-WDM-UNI-CONTROLLER; + } + } + } + } + } + } + + grouping ISSU { + description + "Common node of mpls-te, mpls-te-standby"; + container issu { + description + "MPLS TE ISSU information"; + container status { + description + "MPLS TE ISSU Status information"; + uses TE-NSR-ISSU-STATUS-INFO; + } + container detail { + description + "MPLS TE ISSU Status information"; + uses TE-NSR-ISSU-STATUS-INFO; + } + } + } + + grouping SOFT-PREEMPTION-GLOBAL-INFO { + description + "Common node of mpls-lcac, mpls-lcac-standby"; + container soft-preemption-global-info { + description + "The global soft-preemption information"; + uses MPLS-TE-SOFT-PREEMPTION-GLOBAL-INFO; + } + } + + container mpls-te { + config false; + description + "MPLS Traffic Engineering operational data"; + container segment-routing { + description + "Deprecated"; + container srigp-area-infos { + description + "Segment-Routing information about IGP areas"; + list srigp-area-info { + key "protocol igp-instance area"; + description + "A Segment-Routing IGP area information"; + leaf protocol { + type Mpls-te-igp-protocol; + description + "IGP protocol type"; + } + leaf igp-instance { + type xr:Cisco-ios-xr-string; + description + "IGP instance"; + } + leaf area { + type uint32; + description + "IGP area"; + } + uses TE-SR-IGP-AREA; + } + } + container sr-node-infos { + description + "Segment-Routing nodes database in MPLS-TE"; + list sr-node-info { + key "protocol igp-instance area igp-node-id"; + description + "A Segment-Routing node information"; + leaf protocol { + type Mpls-te-igp-protocol; + description + "IGP protocol type"; + } + leaf igp-instance { + type xr:Cisco-ios-xr-string; + description + "IGP instance"; + } + leaf area { + type uint32; + description + "IGP area"; + } + leaf igp-node-id { + type string; + description + "Node's IGP ID"; + } + uses TE-SR-NODE; + } + } + container sr-prefix-infos { + description + "Segment-Routing prefixes database in MPLS-TE"; + list sr-prefix-info { + key "protocol igp-instance area prefix prefix-length"; + description + "A Segment-Routing prefix information"; + leaf protocol { + type Mpls-te-igp-protocol; + description + "IGP protocol type"; + } + leaf igp-instance { + type xr:Cisco-ios-xr-string; + description + "IGP instance"; + } + leaf area { + type uint32; + description + "IGP area"; + } + leaf prefix { + type inet:ipv4-address-no-zone; + description + "Segment-Routing prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix' length"; + } + uses TE-SR-PREFIX; + } + } + } + container fib-next-hop-routes { + description + "MPLS TE FIB nexthop route database"; + list fib-next-hop-route { + key "prefix-address"; + description + "MPLS TE FIB nexthop route"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Prefix Address"; + } + uses TE-FIB-NH-ROUTE-BAG; + } + } + container next-hop-routes { + description + "MPLS TE nexthop route database"; + list next-hop-route { + description + "MPLS TE nexthop route"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Prefix Address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + description + "Prefix Length"; + } + leaf next-hop-type { + type Mpls-te-next-hop; + description + "Next-hop Route Type"; + } + uses TE-NEXTHOP-ROUTE; + } + } + container te-mib { + description + "TE MIB information"; + container scalars { + description + "MIB Scalar information"; + uses MPLS-TE-MIB-SCALAR-INFO; + } + } + container self-ping-statistics { + description + "Self-ping Statistics"; + uses MPLS-TE-SELFPING-STATISTICS; + } + uses HARDWARE-OUT-OF-RESOURCES; + uses P2P-P2MP-TUNNEL; + uses TOPOLOGY-NODE-TABLE; + uses ANNOUNCE-TUNNELS-INFO; + uses COLLABORATOR-TIMERS; + uses AUTO-TUNNEL; + uses SOFT-PREEMPTION; + uses FORWARDING-ADJACENCY-DESTINATION-TABLE; + uses IGP-AREA-TABLE; + uses WRAP-PROTECTION; + uses TOPOLOGY; + uses SIGNALLING-COUNTERS; + uses DIFF-SERV-TE-CLASSES; + uses ISSU; + uses AUTOROUTE-DESTINATION-TUNNEL-TABLE; + uses FAST-REROUTE; + uses ATTRIBUTE-SET-TABLE; + uses IGP-AREA-BRIEF-TABLE; + uses BANDWIDTH-ACCOUNTING-COUNTERS; + uses TUNNELS; + uses MAXIMUM-TUNNELS; + uses PATH-PROTECTION; + uses FIB-NEXT-HOP-LABEL-ROUTE-TABLE; + uses P2MP; + uses LSP-OUT-OF-RESOURCES; + uses BFD; + uses NSR; + uses AUTO-TUNNEL-SERVICES; + uses AFFINITY-MAP; + uses TOPOLOGY-BRIEF-TABLE; + } + container mpls-lcac-standby { + config false; + description + "MPLS-LCAC operational data on the standby"; + uses NEIGHBOR-TABLE; + uses PREEMPTION-EVENT-TABLE; + uses ADVERTISEMENTS; + uses STATISTICS; + uses BANDWIDTH-ALLOCATION; + uses GMPLS; + uses BFD-NEIGHBOR-TABLE; + uses BANDWIDTH-ACCOUNT; + uses LINK-SUMMARY; + uses LINK-INFORMATION; + uses ADMISSION-CONTROL; + uses SOFT-PREEMPTION-GLOBAL-INFO; + uses SOFT-PREEMPTION-TABLE; + } + container mpls-lcac { + config false; + description + "MPLS-LCAC operational data"; + uses NEIGHBOR-TABLE; + uses PREEMPTION-EVENT-TABLE; + uses ADVERTISEMENTS; + uses STATISTICS; + uses BANDWIDTH-ALLOCATION; + uses GMPLS; + uses BFD-NEIGHBOR-TABLE; + uses BANDWIDTH-ACCOUNT; + uses LINK-SUMMARY; + uses LINK-INFORMATION; + uses ADMISSION-CONTROL; + uses SOFT-PREEMPTION-GLOBAL-INFO; + uses SOFT-PREEMPTION-TABLE; + } + container mpls-pce { + config false; + description + "MPLS PCE operational data"; + uses LSP-TABLE; + uses TE-PCE-OPER-STATISTICS; + uses PEER-TABLE; + uses TE-PCE-OPER-TOPOLOGY; + uses TUNNEL-TABLE; + } + container mpls-pce-stdby { + config false; + description + "MPLS PCE operational data on standby node"; + uses LSP-TABLE; + uses TE-PCE-OPER-STATISTICS; + uses PEER-TABLE; + uses TE-PCE-OPER-TOPOLOGY; + uses TUNNEL-TABLE; + } + container mpls-tp { + config false; + description + "MPLS transport profile operational data"; + container tp-links { + description + "Transport profile links"; + container tp-detail-links { + description + "Detailed table of transport profile links"; + list tp-detail-link { + key "tp-link-id"; + description + "Detailed information of transport profile link"; + leaf tp-link-id { + type uint32; + description + "Numeric transport profile link identifier"; + } + uses MPLS-TE-TP-DETAIL-LINK-INFO; + } + } + container tp-link-summary { + description + "Summary of transport profile links"; + uses MPLS-TE-TP-LINK-SUMMARY-INFO; + } + container tp-links { + description + "Table of transport profile links"; + list tp-link { + key "tp-link-id"; + description + "Brief information of transport profile link"; + leaf tp-link-id { + type uint32; + description + "Numeric transport profile link identifier"; + } + uses MPLS-TE-TP-LINK-INFO; + } + } + } + container tp-tunnels { + description + "Transport profile tunnels"; + container tp-tunnel-summary { + description + "Summary of transport profile tunnels"; + uses MPLS-TE-TP-TUNNEL-SUMMARY; + } + container tp-detail-tunnels { + description + "Detailed table of transport profile tunnels"; + list tp-detail-tunnel { + key "tp-tunnel-name"; + description + "Detailed information of transport profile + tunnel"; + leaf tp-tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel name"; + } + uses MPLS-TE-TP-DETAIL-TUNNEL-INFO; + } + } + container tp-tunnels { + description + "Table of transport profile tunnels"; + list tp-tunnel { + key "tp-tunnel-name"; + description + "Brief information of transport profile tunnel"; + leaf tp-tunnel-name { + type xr:Cisco-ios-xr-string; + description + "Tunnel name"; + } + uses MPLS-TE-TP-TUNNEL-INFO; + } + } + } + container tp-midpoints { + description + "Transport profile mid-point"; + container tp-detail-midpoints { + description + "Detailed table of transport profile mid-points"; + list tp-detail-midpoint { + key "tp-midpoint-name"; + description + "Detailed information of transport profile + mid-point"; + leaf tp-midpoint-name { + type xr:Cisco-ios-xr-string; + description + "Mid-point name"; + } + uses MPLS-TP-DETAIL-MID-INFO; + } + } + container tp-midpoint-summary { + description + "Summary of transport profile mid-points"; + uses MPLS-TP-MID-SUMMARY-INFO; + } + container tp-midpoints { + description + "Table of transport profile mid-points"; + list tp-midpoint { + key "tp-midpoint-name"; + description + "Brief information of transport profile + mid-point"; + leaf tp-midpoint-name { + type xr:Cisco-ios-xr-string; + description + "Mid-point name"; + } + uses MPLS-TP-MID-INFO; + } + } + } + container tp-global-parameters { + description + "Transport profile global parameters"; + uses MPLS-TE-TP-GLOBAL-INFO; + } + } + container mpls-te-standby { + config false; + description + "Standby MPLS TE operational data"; + uses HARDWARE-OUT-OF-RESOURCES; + uses P2P-P2MP-TUNNEL; + uses TOPOLOGY-NODE-TABLE; + uses ANNOUNCE-TUNNELS-INFO; + uses COLLABORATOR-TIMERS; + uses AUTO-TUNNEL; + uses SOFT-PREEMPTION; + uses FORWARDING-ADJACENCY-DESTINATION-TABLE; + uses IGP-AREA-TABLE; + uses WRAP-PROTECTION; + uses TOPOLOGY; + uses SIGNALLING-COUNTERS; + uses DIFF-SERV-TE-CLASSES; + uses ISSU; + uses AUTOROUTE-DESTINATION-TUNNEL-TABLE; + uses FAST-REROUTE; + uses ATTRIBUTE-SET-TABLE; + uses IGP-AREA-BRIEF-TABLE; + uses BANDWIDTH-ACCOUNTING-COUNTERS; + uses TUNNELS; + uses MAXIMUM-TUNNELS; + uses PATH-PROTECTION; + uses FIB-NEXT-HOP-LABEL-ROUTE-TABLE; + uses P2MP; + uses LSP-OUT-OF-RESOURCES; + uses BFD; + uses NSR; + uses AUTO-TUNNEL-SERVICES; + uses AFFINITY-MAP; + uses TOPOLOGY-BRIEF-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-traceroute-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-traceroute-act.yang new file mode 100644 index 000000000..bb93c85e8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-traceroute-act.yang @@ -0,0 +1,850 @@ +module Cisco-IOS-XR-mpls-traceroute-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-traceroute-act"; + prefix mpls-traceroute-act; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls traceroute action package configuration + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-12 { + description + "Added ddmap return code leaf"; + semver:module-version "2.0.0"; + } + revision 2021-04-27 { + description + "Added missing descriptions"; + semver:module-version "1.0.0"; + } + revision 2021-04-05 { + description + "Added range values for lsp-id and pseudowire leaf values"; + } + revision 2021-03-25 { + description + "Added IP netmask leaf for MPLS and SR traceroute"; + } + revision 2021-02-03 { + description + "Range added for EXP leaf"; + } + revision 2020-06-05 { + description + "Initial revision."; + } + + typedef mpls-fec-type { + type enumeration { + enum "bgp" { + description + "MPLS BGP FEC"; + } + enum "generic" { + description + "MPLS Generic FEC"; + } + enum "ldp" { + description + "MPLS LDP FEC"; + } + } + description + "MPLS Forwarding Equivalence Class type"; + } + + typedef sr-fec-type { + type enumeration { + enum "bgp" { + description + "SR IGP BGP FEC"; + } + enum "ospf" { + description + "SR IGP OSPF FEC"; + } + enum "isis" { + description + "SR IGP ISIS FEC"; + } + } + description + "SR Forwarding Equivalence Class type"; + } + + typedef request-reply-mode { + type enumeration { + enum "ipv4" { + description + "Reply Mode IPv4"; + } + enum "router-alert" { + description + "Reply Mode Router Alert"; + } + } + description + "Reply mode"; + } + + rpc mpls-traceroute { + description + "Send echo messages"; + input { + choice traceroute-type { + mandatory true; + description + "Specify traceroute type"; + case type-mpls { + container mpls { + description + "MPLS traceroute"; + choice mpls-subtype { + mandatory true; + description + "Traceroute MPLS subtype"; + case subtype-ipv4 { + container ipv4 { + description + "Traceroute mpls IPv4 address"; + leaf ip { + type inet:ipv4-address; + mandatory true; + description + "Destination x.x.x.x of traceroute"; + } + choice subnet { + mandatory true; + description + "The subnet can be specified as a prefix-length or as + a netmask."; + case prefix-length { + leaf prefix-length { + type uint8 { + range "0..32"; + } + default "32"; + description + "The length of the subnet prefix."; + } + } + case netmask { + leaf netmask { + type inet:ipv4-address; + description + "The subnet specified as a netmask"; + } + } + } + leaf fec-type { + type mpls-fec-type; + description + "TLV FEC type to use in request"; + } + leaf multipath { + type boolean; + default "false"; + description + "Enable LSP multipath traceroute (treetrace)"; + } + } + } + case subtype-traffic-eng { + container traffic-eng { + description + "Trace mpls tunnel"; + choice tunnel-identifier { + mandatory true; + description + "Tunnel Identifier (LSP name or tunnel-interface)"; + case subtype-tunnel-name { + leaf tunnel-name { + type string; + description + "Next hop tunnel lsp name"; + } + } + case subtype-tunnel-interface { + leaf tunnel-interface { + type string; + description + "Next hop Interface with form tunnel-te"; + } + } + } + choice te-lsp-option { + description + "Specify which LSP to use"; + case te-lsp-option-active { + leaf active-lsp { + type boolean; + description + "Enforce active LSP selection for tunnel"; + } + } + case te-lsp-option-id { + leaf lsp-id { + type uint32 { + range "1..10000"; + } + default "1"; + description + "Tunnel Label Switched Path Identifier"; + } + } + case te-lsp-option-path-protected { + leaf path-protected { + type boolean; + description + "Test path protected LSP for tunnel"; + } + } + case te-lsp-option-reoptimized { + leaf reoptimized { + type boolean; + description + "Test reoptimized LSP for tunnel"; + } + } + } + } + } + } + } + } + case type-sr { + container sr-mpls { + description + "Trace sr-mpls"; + choice sr-target { + description + "Trace sr-mpls target type"; + case target_ipv4_prefix { + container ipv4 { + description + "Trace sr-mpls IPv4 Prefix SID"; + leaf ip { + type inet:ipv4-address; + mandatory true; + description + "SR LSP Egress IP x.x.x.x"; + } + choice subnet { + mandatory true; + description + "The subnet can be specified as a prefix-length or as + a netmask."; + case prefix-length { + leaf prefix-length { + type uint8 { + range "0..32"; + } + default "32"; + description + "The length of the subnet prefix."; + } + } + case netmask { + leaf netmask { + type inet:ipv4-address; + description + "The subnet specified as a netmask"; + } + } + } + leaf fec-type { + type sr-fec-type; + description + "SR OAM IGP FEC TLV type to use in request"; + } + leaf multipath { + type boolean; + default "false"; + description + "Enable LSP multipath traceroute (treetrace)"; + } + } + } + case target_labels { + container labels { + description + "Trace sr-mpls label stack (up to 12 labels)"; + list label { + key "index"; + description + "Specify label index and value"; + leaf index { + type uint32 { + range "0..9"; + } + mandatory true; + description + "Label index"; + } + leaf label { + type uint32 { + range "16..1048575"; + } + mandatory true; + description + "Label value"; + } + } + leaf nil-fec { + type boolean; + description + "Use Nil-FEC TLV and Append Explicit Null"; + } + leaf lsp-endpoint { + type inet:ipv4-address; + description + "Specify the IP of the LSP endpoint"; + } + leaf multipath { + type boolean; + default "false"; + description + "Enable LSP multipath traceroute (treetrace)"; + } + } + } + case target_policy { + container policy { + description + "Trace sr-mpls policy"; + choice sr-policy-id { + mandatory true; + description + "SR Policy Identifier (binding sid or policy name)"; + case sr-policy-id-bsid { + leaf bsid { + type uint32 { + range "16..1048575"; + } + default "16"; + description + "SR Policy Binding SID"; + } + } + case sr-policy-id-name { + leaf name { + type string; + description + "SR Policy Name"; + } + } + } + leaf fec-type { + type sr-fec-type; + description + "SR OAM IGP FEC TLV type to use in request"; + } + leaf nil-fec { + type boolean; + description + "Use Nil-FEC TLV and Append Explicit Null"; + } + leaf lsp-endpoint { + type inet:ipv4-address; + description + "Specify the IP of the LSP endpoint"; + } + leaf multipath { + type boolean; + default "false"; + description + "Enable LSP multipath traceroute (treetrace)"; + } + } + } + } + } + } + } + container request-options-parameters { + description + "MPLS echo request options"; + leaf exp { + type uint8 { + range "0..7"; + } + description + "EXP Bits To Set"; + } + leaf fec { + type boolean; + description + "Force FEC TLV Checks"; + } + leaf ddmap { + type boolean; + description + "Use DDMAP (Default is DSMAP)"; + } + leaf force-explicit-null { + type boolean; + description + "Force explicit null to be added"; + } + container packet-output { + description + "Packet output options"; + leaf interface-name { + type string; + description + "Outgoing interface for echo packet"; + } + leaf next-hop { + type inet:ipv4-address; + description + "Outgoing next hop IP for echo packet"; + } + } + container reply { + description + "Echo Reply options"; + leaf dscp { + type uint8 { + range "0..63"; + } + description + "Set DSCP reply value 0-63 (decimal)"; + } + leaf reply-mode { + type request-reply-mode; + description + "Echo Reply Mode"; + } + } + leaf source { + type inet:ipv4-address; + description + "Source IP address to use in the IP header (used as the return address for the reply)"; + } + leaf destination { + type inet:ipv4-address; + description + "Destination IP address (127.x.y.z)"; + } + leaf brief { + type boolean; + description + "Brief mode. Does not include statistical data in result"; + } + leaf timeout { + type uint32 { + range "0..3600"; + } + description + "Time in seconds before the lack of a reply invalidates a request"; + } + leaf ttl { + type uint32 { + range "1..255"; + } + description + "Time to live (hops to until forced punt)"; + } + leaf retry-count { + type uint8 { + range "0..10"; + } + description + "Maximum treetrace retry count"; + } + container hashkey { + description + "Downstream map multipath settings"; + container ipv4 { + description + "IPv4 bitmap options"; + leaf bitmap { + type uint16 { + range "1..256"; + } + description + "Multipath bitmap size"; + } + } + } + leaf interval { + type uint32 { + range "0..3600000"; + } + description + "Send interval between treetrace requests"; + } + } + } + output { + container mpls-traceroute-response { + description + "MPLS traceroute Response"; + container request-options-parameters { + description + "Echo Request Options"; + leaf exp { + type uint8 { + range "0..7"; + } + description + "EXP Bits To Set"; + } + leaf fec { + type boolean; + description + "Force FEC TLV Checks"; + } + leaf ddmap { + type boolean; + description + "Use DDMAP (Default is DSMAP)"; + } + leaf force-explicit-null { + type boolean; + description + "Force an explicit null label to be added"; + } + container packet-output { + description + "Packet output options"; + leaf interface-name { + type string; + description + "Outgoing interface for echo packet"; + } + leaf next-hop { + type inet:ipv4-address; + description + "Outgoing next hop IP for echo packet"; + } + } + container reply { + description + "Reply options"; + leaf dscp { + type uint8 { + range "0..63"; + } + description + "Set DSCP reply value 0-63 (decimal)"; + } + leaf reply-mode { + type request-reply-mode; + description + "Echo Reply Mode"; + } + } + leaf source { + type inet:ipv4-address; + description + "Source IP address to use in the IP header (used as the return address for the reply)"; + } + leaf destination { + type inet:ipv4-address; + description + "Destination IP address (127.x.y.z)"; + } + leaf brief { + type boolean; + description + "Brief mode. Does not include statistical data in result"; + } + leaf timeout { + type uint32 { + range "0..3600"; + } + description + "Time in seconds before the lack of a reply invalidates a request"; + } + leaf ttl { + type uint32 { + range "1..255"; + } + description + "Time to live (hops to until forced punt)"; + } + leaf retry-count { + type uint8 { + range "0..10"; + } + description + "Maximum treetrace retry count"; + } + container hashkey { + description + "Downstream map multipath settings"; + container ipv4 { + description + "IPv4 bitmap options"; + leaf bitmap { + type uint16 { + range "1..256"; + } + description + "Multipath bitmap size"; + } + } + } + leaf interval { + type uint32 { + range "0..3600000"; + } + description + "Send interval between treetrace requests"; + } + } + container paths { + description + "Traceroute paths"; + list path { + key "path-index"; + description + "Traceroute path"; + leaf path-index { + type uint64 { + range "1..2147483647"; + } + description + "Index of the path list"; + } + leaf path-status { + type string; + description + "Treetrace path status (Found, Broken, Unexplored)"; + } + leaf source { + type string; + description + "Source IP address used in the IP header"; + } + leaf destination { + type string; + description + "Destination IP address (127.x.y.z)"; + } + leaf output-interface { + type string; + description + "Outgoing interface for echo packet"; + } + leaf nexthop { + type string; + description + "Outgoing next hop IP for echo packet"; + } + container hops { + description + "Traceroute Hops"; + list hop { + key "hop-index"; + description + "Traceroute Hop"; + leaf hop-index { + type uint64 { + range "1..2147483647"; + } + description + "Index of the hop list"; + } + leaf hop-origin-ip { + type string; + description + "Hop origin interface ip"; + } + leaf hop-destination-ip { + type string; + description + "Hop destination interface ip"; + } + leaf mtu { + type string; + description + "Maximum Transmission Unit"; + } + container dsmap-label-stack { + description + "Label Stack from the DSMAP received + in the Echo Response Payload."; + list dsmap-label { + key "label"; + description + "DSMAP labels"; + leaf label { + type uint32 { + range "16..1048575"; + } + description + "DSMAP label"; + } + } + } + leaf paths-count { + type int32; + description + "Number of outgoing paths. For multipath requests only."; + } + leaf return-code { + type uint8; + description + "Return Code of the echo request"; + } + leaf return-char { + type string; + description + "Return Char of the echo request"; + } + leaf duration { + type uint32; + description + "Trip duration (msec)"; + } + container ddmaps { + description + "Downstream Detailed Mapping received"; + list ddmap { + key "ddmap-index"; + description + "DDMAP"; + leaf ddmap-index { + type uint64 { + range "1..2147483647"; + } + description + "Index of the hop list"; + } + leaf ddmap-mtu { + type int16; + description + "MTU from the DDMAP received in + the Echo Response Payload"; + } + leaf ddmap-downstream-address { + type inet:ipv4-address; + description + "Downstream Address from the DDMAP + received in the Echo Response Payload"; + } + leaf ddmap-downstream-intf-index { + type int32 { + range "1..2147483647"; + } + description + "Downstream Interface Address from the DDMAP + received in the Echo Response Payload."; + } + leaf ddmap-return-char { + type string; + description + "Return Char from the DDMAP received + in the Echo Response Payload."; + } + leaf ddmap-return-code { + type uint8; + description + "Return Code from the DDMAP received + in the Echo Response Payload."; + } + leaf ddmap-return-subcode { + type int16; + description + "Return Sub Code from the DDMAP + received in the Echo Response Payload."; + } + container ddmap-label-stack { + description + "Label Stack from the DDMAP received + in the Echo Response Payload."; + list ddmap-label { + key "label"; + description + "ddmap labels"; + leaf label { + type uint32 { + range "16..1048575"; + } + description + "ddmap label"; + } + } + } + leaf paths-count { + type int32; + description + "Number of outgoing paths. For multipath request only"; + } + } + } + } + } + } + } + container statistics { + description + "Treetrace Statistics"; + leaf paths-found { + type uint32; + description + "Number of paths found"; + } + leaf paths-broken { + type uint32; + description + "Number of paths broken"; + } + leaf paths-unexplored { + type uint32; + description + "Number of paths unexplored"; + } + leaf requests-sent { + type uint32; + description + "Number of echo requests sent"; + } + leaf requests-failed { + type uint32; + description + "Number of echo requests failed"; + } + leaf requests-received { + type uint32; + description + "Number of echo requests received"; + } + leaf requests-timeout { + type uint32; + description + "Number of echo requests timed out"; + } + leaf total-time-elapsed { + type uint64; + description + "The total time taken for the request in ms"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-cfg.yang new file mode 100644 index 000000000..cc2f41f83 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-cfg.yang @@ -0,0 +1,110 @@ +module Cisco-IOS-XR-mpls-vpn-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-vpn-cfg"; + prefix mpls-vpn-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-vpn package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang which will provide the + compatible functionalities. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container mpls-l3vpn { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang which will + provide the compatible functionalities. + MPLS-L3VPN-STD-MIB notification configuration"; + leaf max-threshold-reissue-notification-time { + type uint32; + units "second"; + description + "Time interval (secs) for re-issuing + max-threshold notification"; + } + leaf max-threshold-exceeded { + type empty; + description + "Enable mplsL3VpnVrfNumVrfRouteMaxThreshExceeded + notification"; + } + leaf max-threshold-cleared { + type empty; + description + "Enable mplsL3VpnNumVrfRouteMaxThreshCleared + notification"; + } + leaf mid-threshold-exceeded { + type empty; + description + "Enable mplsL3VpnVrfRouteMidThreshExceeded + notification"; + } + leaf enable { + type empty; + description + "Enable mplsL3VpnMIB notifications"; + } + leaf vrf-down { + type empty; + description + "Enable mplsL3VpnVrfDown notification"; + } + leaf vrf-up { + type empty; + description + "Enable mplsL3VpnVrfUp notification"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper-sub1.yang new file mode 100644 index 000000000..6d84ea913 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper-sub1.yang @@ -0,0 +1,199 @@ +submodule Cisco-IOS-XR-mpls-vpn-oper-sub1 { + belongs-to Cisco-IOS-XR-mpls-vpn-oper { + prefix Cisco-IOS-XR-mpls-vpn-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mpls-vpn package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mpls-vpn-rt { + type enumeration { + enum "import" { + value 1; + description + "VRF Route Target Type Import"; + } + enum "export" { + value 2; + description + "VRF Route Target Type Export"; + } + enum "both" { + value 3; + description + "VRF Route Target Type Import and Export"; + } + } + description + "Layer 3 VPN Route Target Type"; + } + + typedef Mpls-vpn-safi { + type enumeration { + enum "unicast" { + value 1; + description + "VRF Unicast sub-address family"; + } + enum "multicast" { + value 2; + description + "VRF Multicast sub-address family"; + } + enum "flowspec" { + value 133; + description + "VRF Flowspec sub-address family"; + } + } + description + "Layer 3 VPN Sub-Address Family Type"; + } + + typedef Mpls-vpn-afi { + type enumeration { + enum "ipv4" { + value 1; + description + "VRF IPv4 address family"; + } + enum "ipv6" { + value 2; + description + "VRF IPv6 address family"; + } + } + description + "Layer 3 VPN Address Family Type"; + } + + grouping MPLS-VPN-RT { + description + "Layer 3 VPN Route Target"; + leaf route-target-type { + type Mpls-vpn-rt; + description + "Route Target Type"; + } + leaf route-target-value { + type string; + description + "Route Target Value"; + } + leaf af-name { + type Mpls-vpn-afi; + description + "AF name"; + } + leaf saf-name { + type Mpls-vpn-safi; + description + "SAF name"; + } + } + + grouping MPLS-VPN-AFI-SAFI { + description + "Layer 3 VPN AFI/SAFI Info"; + leaf af-name { + type Mpls-vpn-afi; + description + "AF name"; + } + leaf saf-name { + type Mpls-vpn-safi; + description + "SAF name"; + } + leaf import-route-policy { + type string; + description + "Import Route Policy"; + } + leaf export-route-policy { + type string; + description + "Export Route Policy"; + } + list route-target { + description + "Route Targets"; + uses MPLS-VPN-RT; + } + } + + grouping MPLS-VPN-INTERFACES { + description + "Layer 3 VPN Interface Names"; + leaf interface-name { + type string; + description + "Interface Name"; + } + } + + grouping MPLS-VPN-VRF { + description + "Layer 3 VPN VRF"; + leaf vrf-name-xr { + type string; + description + "VRF Name"; + } + leaf vrf-description { + type string; + description + "VRF Description"; + } + leaf route-distinguisher { + type string; + description + "Route Distinguisher"; + } + leaf is-big-vrf { + type boolean; + description + "VRF mode information"; + } + list interface { + description + "Interfaces in VRF"; + uses MPLS-VPN-INTERFACES; + } + list af { + description + "AF/SAF information"; + uses MPLS-VPN-AFI-SAFI; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper.yang new file mode 100644 index 000000000..f3ba6fd6e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mpls-vpn-oper.yang @@ -0,0 +1,85 @@ +module Cisco-IOS-XR-mpls-vpn-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-vpn-oper"; + prefix mpls-vpn-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mpls-vpn-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-vpn package operational data. + + This module contains definitions + for the following management objects: + l3vpn: L3VPN operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container l3vpn { + config false; + description + "L3VPN operational data"; + container invalid-vrfs { + description + "Invalid VRF Table (VRFs that are forward + referenced)"; + list invalid-vrf { + key "vrf-name"; + description + "Invalid VRF (VRF that is forward referenced)"; + leaf vrf-name { + type string { + length "1..33"; + } + description + "Name of the referenced VRF which is invalid"; + } + uses MPLS-VPN-VRF; + } + } + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF"; + leaf vrf-name { + type string { + length "1..33"; + } + description + "Name of the referenced VRF"; + } + uses MPLS-VPN-VRF; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper-sub1.yang new file mode 100644 index 000000000..1099c2962 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper-sub1.yang @@ -0,0 +1,3632 @@ +submodule Cisco-IOS-XR-mrib-oper-sub1 { + belongs-to Cisco-IOS-XR-mrib-oper { + prefix Cisco-IOS-XR-mrib-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mrib package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "2.0.1M"; + } + revision 2021-08-27 { + description + "non-backward compatible edit in leaf parent-if-handle. type changed from uint32 to type xr:Hex-integer"; + semver:module-version "2.0.0"; + } + revision 2020-10-29 { + description + "Adding RPFID for PIM-SM design + 2020-10-11 + Backward compatible addition in leaf table-mdt-name-tree-sid,table-tree-sid-turnaround and reference-count."; + semver:module-version "1.1.0"; + } + revision 2020-02-13 { + description + "Fixing CSCvr71562."; + semver:module-version "1.0.0"; + } + revision 2019-08-27 { + description + "Providing MRIB information."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mrib-frr-state { + type enumeration { + enum "ready" { + value 0; + description + "FRR State Ready"; + } + enum "active" { + value 1; + description + "FRR State Active"; + } + } + description + " FRR State"; + } + + typedef Mrib-frr-role { + type enumeration { + enum "head" { + value 1; + description + "FRR Role Head"; + } + enum "mid" { + value 2; + description + "FRR Role Mid"; + } + } + description + " FRR Role"; + } + + typedef Fapid { + type uint32; + description + "Fapid"; + } + + typedef Mrib-ccb-io { + type enumeration { + enum "no-data" { + value 0; + description + "No Data"; + } + enum "io-notify" { + value 1; + description + "I/O Notify"; + } + enum "data-available" { + value 2; + description + "Data Available"; + } + enum "invalid" { + value 3; + description + "Invalid"; + } + } + description + "Mrib ccb io"; + } + + typedef Mrib-evpn-bucket-state { + type enumeration { + enum "unknown" { + value -1; + description + "NO State"; + } + enum "non-forward" { + value 0; + description + "Non Forward"; + } + enum "forward" { + value 1; + description + "Forward"; + } + } + description + "Bucket State"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Mrib-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + typedef Rsi-tbl-id { + type uint32; + description + "Rsi tbl id"; + } + + typedef Mrib-clt { + type enumeration { + enum "bcdl" { + value 0; + description + "BCDL"; + } + enum "routing" { + value 1; + description + "Routing"; + } + enum "membership" { + value 2; + description + "Membership"; + } + enum "anonymous" { + value 3; + description + "Anonymous"; + } + enum "generic" { + value 4; + description + "Generic"; + } + enum "mrib" { + value 5; + description + "MRIB"; + } + enum "rsvp-te" { + value 6; + description + "RSVP TE"; + } + enum "ldp" { + value 7; + description + "LDP"; + } + enum "pim-label" { + value 8; + description + "PIM Label"; + } + enum "pim6-label" { + value 9; + description + "PIM6 Label"; + } + enum "lmrib-bcdl" { + value 10; + description + "LMRIB BCDL"; + } + enum "xtc" { + value 11; + description + "XTC Agent"; + } + enum "maximum" { + value 12; + description + "Maximum"; + } + } + description + "Mrib clt"; + } + + typedef Mrib-show-ctid { + type enumeration { + enum "any" { + value 0; + description + "Any"; + } + enum "spe-ipv4" { + value 1; + description + "IPv4 LSM Source PE"; + } + enum "ifh-ipv4" { + value 2; + description + "IPv4 LSM Interface Handle"; + } + enum "spe-ipv6" { + value 3; + description + "IPv6 LSM Source PE"; + } + enum "ifh-ipv6" { + value 4; + description + "IPv6 LSM Interface Handle"; + } + enum "lsm-id" { + value 5; + description + "LSM ID"; + } + enum "ipv4" { + value 6; + description + "IPv4"; + } + enum "ipv6" { + value 7; + description + "IPv6"; + } + enum "mldp-ifh-ipv4" { + value 8; + description + "IPv4 MLDP Interface Handle"; + } + enum "mldp-ifh-ipv6" { + value 9; + description + "IPv6 MLDP Interface Handle"; + } + enum "none" { + value 10; + description + "None"; + } + } + description + "Mrib show ctid"; + } + + grouping MRIB-AMT-INTRF-BAG { + description + "MRIB route AMT interface"; + container interface-attributes { + description + "Interface attributes"; + uses MRIB-ATTRIB-INTRF-BAG; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf underlying-interface { + type xr:Interface-name; + description + "Underlying interface"; + } + leaf underlying-interface-node { + type xr:Node-id; + description + "Node on which underlying interface is homed"; + } + leaf uptime { + type uint64; + description + "Time entry has been active"; + } + leaf expiry { + type uint64; + description + "Time the interface expires"; + } + leaf type { + type uint32; + description + "Type"; + } + leaf amt-port { + type uint32; + description + "AMT Port"; + } + leaf amt-nexthop { + type inet:ipv4-address; + description + "AMT Nexthop"; + } + leaf amt-mtu { + type uint16; + description + "AMT MTU"; + } + leaf amt-tos { + type uint8; + description + "AMT TOS"; + } + leaf amt-ttl { + type uint8; + description + "AMT TTL"; + } + leaf amt-gateway { + type inet:ipv4-address; + description + "AMT Gateway"; + } + leaf amt-source { + type inet:ipv4-address; + description + "AMT Source"; + } + leaf amt-id { + type uint32; + description + "AMT Identifier"; + } + leaf out-pkts { + type uint64; + description + "Total pkts out"; + } + leaf out-bytes { + type uint64; + units "byte"; + description + "Total bytes out"; + } + } + + grouping MRIB-AMT-ROUTE-BAG { + description + "MRIB multicast-routing entry"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group-range { + description + "Group range"; + uses MRIB-GROUP-RNG-BAG; + } + leaf amtif-count { + type uint32; + description + "AMT Count"; + } + list amt-interface { + description + "AMT Interfaces"; + uses MRIB-AMT-INTRF-BAG; + } + } + + grouping MRIB-DB-SUMM-BAG { + description + "MRIB DB summary"; + leaf group-ranges { + type uint32; + description + "No. of group ranges"; + } + leaf groutes { + type uint32; + description + "No. of (*,G) routes"; + } + leaf sg-routes { + type uint32; + description + "No. of (S,G) routes"; + } + leaf forwarding-interface-count { + type uint32; + description + "No. of RxI"; + } + leaf route-interface-count { + type uint32; + description + "Total interfaces in routes"; + } + } + + grouping MRIB-ATTR-STAT-BAG { + description + "MRIB attr stats"; + leaf add-rcvd-count { + type uint32; + description + "Add received count"; + } + leaf del-rcvd-count { + type uint32; + description + "Del received count"; + } + leaf add-redist-count { + type uint32; + description + "Add redist count"; + } + leaf del-redist-count { + type uint32; + description + "Del redist count"; + } + } + + grouping MRIB-TABLE-INFO-BAG { + description + "MRIB table info"; + container table-mdt-address { + description + "Table MDT group addr"; + uses MRIB-CTID-BAG; + } + container mdt-source { + description + "MDT Source address"; + uses MRIB-ADDRTYPE; + } + container mt-stat { + description + "MT stats"; + uses MRIB-ATTR-STAT-BAG; + } + container ma-stat { + description + "MA stats"; + uses MRIB-ATTR-STAT-BAG; + } + leaf table-id { + type uint32; + description + "Table id"; + } + leaf table-name { + type string; + description + "Table name"; + } + leaf registered-client { + type string; + description + "Registered client"; + } + leaf table-mdt-name-gre { + type xr:Interface-name; + description + "Table GRE MDT handle"; + } + leaf table-gre-turnaround { + type boolean; + description + "Table GRE turnaround"; + } + leaf table-mdt-name-mldp { + type xr:Interface-name; + description + "Table MLDP MDT handle"; + } + leaf table-mldp-turnaround { + type boolean; + description + "Table MLDP turnaround"; + } + leaf table-mdt-name-p2mpte { + type xr:Interface-name; + description + "Table P2MPTE MDT handle"; + } + leaf table-p2mpte-turnaround { + type boolean; + description + "Table P2MPTE turnaround"; + } + leaf table-mdt-name-ir { + type xr:Interface-name; + description + "Table IR MDT handle"; + } + leaf table-ir-turnaround { + type boolean; + description + "Table IR turnaround"; + } + leaf table-mdt-name-tree-sid { + type xr:Interface-name; + description + "Table TreeSID MDT handle"; + } + leaf table-tree-sid-turnaround { + type boolean; + description + "Table TreeSID turnaround"; + } + } + + grouping MRIB-AMT-GW-ID-EX-BAG { + description + "MRIB route AMT expired route interface"; + leaf amt-id { + type uint32; + description + "AMT Identifier"; + } + leaf join-time { + type uint64; + description + "Time at which interface joined the active route"; + } + leaf expire-time { + type uint64; + description + "Time at which interface deleted from active and + added to stale route"; + } + leaf out-pkts { + type uint64; + description + "Total pkts out"; + } + leaf out-bytes { + type uint64; + units "byte"; + description + "Total bytes out"; + } + } + + grouping MRIB-AMT-ROUTE-EX-BAG { + description + "MRIB AMT expired route entry"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group { + description + "Group range"; + uses MRIB-ADDRTYPE; + } + leaf gw-address-xr { + type inet:ipv4-address; + description + "GW address"; + } + leaf gw-port { + type uint32; + description + "GW port"; + } + leaf gwid-count { + type uint32; + description + "AMT Count"; + } + list gw-id { + description + "AMT GW Interfaces"; + uses MRIB-AMT-GW-ID-EX-BAG; + } + } + + grouping MRIB-MPLS-DB-BAG { + description + "MRIB mpls db"; + leaf ctid-type { + type uint32; + description + "CTID Type"; + } + leaf source-pe-address { + type uint32; + description + "Source PE Address"; + } + leaf mte-interface { + type xr:Interface-name; + description + "Tunnel IFH"; + } + leaf encap-count { + type uint32; + description + "Encap Num"; + } + leaf-list encap-identifier { + type uint32; + description + "Encap List"; + } + } + + grouping MRIB-MPLS-FRR-OB-INFOS-BAG { + description + "MRIB mpls output with backup info"; + leaf output-interface { + type xr:Interface-name; + description + "Output IFH"; + } + leaf backup-tunnel { + type uint32; + description + "Backup Tunnel"; + } + leaf output-label { + type uint32; + description + "OutLabel"; + } + leaf backup-label { + type uint32; + description + "Backup Label"; + } + leaf backup-state { + type Mrib-frr-state; + description + "Backup State"; + } + } + + grouping MRIB-MPLS-FRR-BAG { + description + "MRIB mpls frr"; + leaf in-label { + type uint32; + description + "InLabel"; + } + leaf role { + type Mrib-frr-role; + description + "Role"; + } + leaf tunnel-identifier { + type uint32; + description + "Tunnel ID"; + } + leaf p2mp-identifier { + type uint32; + description + "P2MP ID"; + } + leaf lsp-identifier { + type uint32; + description + "LSP ID"; + } + leaf source-address { + type uint32; + description + "Source Address"; + } + leaf extended-tunnel-identifier { + type uint32; + description + "Extented Tunnel ID"; + } + leaf tunnel-interface { + type xr:Interface-name; + description + "Tunnel IFH"; + } + leaf ob-info-number { + type uint32; + description + "OB Info Num"; + } + list output-information { + description + "Output Information"; + uses MRIB-MPLS-FRR-OB-INFOS-BAG; + } + } + + grouping MRIB-LABEL-TABLE-INFO-BAG { + description + "MRIB label table info"; + leaf table-id { + type uint32; + description + "Table id"; + } + leaf table-name { + type string; + description + "Table name"; + } + leaf registered-client { + type string; + description + "Registered client"; + } + } + + grouping MRIB-RC-EOLE-DB-BAG { + description + "MRIB RC route"; + leaf rc-encapsulation-identifier { + type uint32; + description + "Encap ID"; + } + } + + grouping MRIB-RC-ROUTEDB-BAG { + description + "MRIB RC route"; + container rc-source-address { + description + "Source Address"; + uses MRIB-ADDRTYPE; + } + container rc-group-address { + description + "Group Address"; + uses MRIB-ADDRTYPE; + } + leaf rc-table-id { + type uint32; + description + "Route TID"; + } + leaf rc-group-prefix-length { + type uint16; + description + "Group prefix length"; + } + } + + grouping MRIB-RC-MDT-BAG { + description + "MRIB RC MDT database"; + container rc-mdt-address { + description + "MDT group addr"; + uses MRIB-CTID-BAG; + } + leaf rc-mdt-table-id { + type uint32; + description + "MDT table id"; + } + leaf rc-mdt-remote-table-id { + type uint32; + description + "MDT remote table id"; + } + leaf rc-tlc-table-id { + type uint32; + description + "TLC table id"; + } + leaf rc-remote-tlc-table-id { + type uint32; + description + "Remote TLC table id"; + } + list customer { + description + "List of customer route"; + uses MRIB-RC-ROUTEDB-BAG; + } + list encap-ole { + description + "List of encap oles"; + uses MRIB-RC-EOLE-DB-BAG; + } + list core { + description + "List of core route"; + uses MRIB-RC-ROUTEDB-BAG; + } + list core-egress { + description + "List of core egress node"; + uses MRIB-MDT-NODE-BAG; + } + } + + grouping MRIB-AMT-ROUTE-SUMMARY-BAG { + description + "MRIB amt routing summary"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group-range { + description + "Group range"; + uses MRIB-GROUP-RNG-BAG; + } + leaf amt-gateway-count { + type uint32; + description + "Number of AMT Gateways in this route"; + } + leaf active-packets-sent { + type uint64; + description + "Packets sent for active route"; + } + leaf active-bytes-sent { + type uint64; + units "byte"; + description + "Bytes sent for active route"; + } + leaf ex-packets-sent { + type uint64; + description + "Packets sent for expired route"; + } + leaf ex-bytes-sent { + type uint64; + units "byte"; + description + "Bytes sent for expired route"; + } + } + + grouping MRIB-AMT-GW-EX-ROUTE-BAG { + description + "MRIB amt gw expired route"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group { + description + "Group range"; + uses MRIB-ADDRTYPE; + } + leaf amt-id { + type uint32; + description + "AMT Identifier"; + } + leaf join-time { + type uint64; + description + "Time at which interface joined the active route"; + } + leaf expire-time { + type uint64; + description + "Time at which interface left active route"; + } + leaf out-pkts { + type uint64; + description + "Total pkts out"; + } + leaf out-bytes { + type uint64; + units "byte"; + description + "Total bytes out"; + } + } + + grouping MRIB-AMT-GW-EX-BAG { + description + "MRIB AMT gw expired database"; + leaf gw-addr { + type inet:ipv4-address; + description + "GW address"; + } + leaf gw-port { + type uint32; + description + "PORT"; + } + list expired-route { + description + "AMT Interfaces"; + uses MRIB-AMT-GW-EX-ROUTE-BAG; + } + } + + grouping MRIB-ROUTE-OLE-BAG { + description + "MRIB route OLE informaton"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group-range { + description + "Group range"; + uses MRIB-GROUP-RNG-BAG; + } + container entry-attributes { + description + "Routing entry attributes"; + uses MRIB-ATTRIB-ENTRY-BAG; + } + leaf uptime { + type uint64; + units "second"; + description + "Time (in seconds) route has been active"; + } + leaf ole-count { + type uint32; + description + "Outgoing interface count of the route"; + } + } + + grouping MRIB-AMT-GW-ACTIVE-ROUTE-BAG { + description + "MRIB AMT gw active route"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group { + description + "Group range"; + uses MRIB-ADDRTYPE; + } + leaf amt-id { + type uint32; + description + "AMT Identifier"; + } + leaf join-time { + type uint64; + description + "Time at which interface joined the active route"; + } + leaf out-pkts { + type uint64; + description + "Total pkts out"; + } + leaf out-bytes { + type uint64; + units "byte"; + description + "Total bytes out"; + } + } + + grouping MRIB-AMT-GW-BAG { + description + "MRIB AMT gw entry"; + leaf gw-addr { + type inet:ipv4-address; + description + "GW address"; + } + leaf gw-port { + type uint32; + description + "GW port"; + } + list active-route { + description + "AMT Interfaces"; + uses MRIB-AMT-GW-ACTIVE-ROUTE-BAG; + } + } + + grouping MRIB-IIR-SUB-NODE-BAG { + description + "MRIB IIR sub node"; + leaf sub-interface { + type xr:Interface-name; + description + "IIR sub node interface"; + } + leaf sub-interface-name { + type string { + length "0..81"; + } + description + "IIR sub node interface name"; + } + leaf reference-count { + type uint32; + description + "Reference count of Child"; + } + } + + grouping MRIB-IIR-ROUTE-BAG { + description + "MRIB IIR route"; + container iir-source-address { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container iir-group-address { + description + "Group address"; + uses MRIB-ADDRTYPE; + } + leaf iir-route-table-id { + type uint32; + description + "IIR route table id"; + } + leaf iir-group-prefix-length { + type uint16; + description + "Group prefix length"; + } + leaf virtual-interface-count { + type uint32; + description + "Virtual Interface count"; + } + leaf-list virtual-interface { + type xr:Interface-name; + description + "Virtual interface list"; + } + } + + grouping MRIB-IIR-INTF-BAG { + description + "MRIB IIR interface"; + leaf iir-interface { + type xr:Interface-name; + description + "IIR interface"; + } + leaf iir-interface-name { + type string { + length "0..81"; + } + description + "IIR interface name"; + } + leaf is-virtual-interface { + type boolean; + description + "Is virtual interface entry"; + } + leaf is-iir-notified-interface { + type boolean; + description + "Is IIR recognized interface"; + } + leaf is-delete-in-progress { + type boolean; + description + "Is interface marked delete in progress"; + } + leaf child-count { + type uint32; + description + "Child count"; + } + leaf interface-character { + type uint32; + description + "Value of if_char from pfi"; + } + leaf interface-type { + type uint32; + description + "Interface type"; + } + leaf if-name { + type string { + length "0..81"; + } + description + "Interface name"; + } + leaf interface-ul-index { + type uint32; + description + "Interface UL index"; + } + list route { + description + "List of route associated with this entry"; + uses MRIB-IIR-ROUTE-BAG; + } + list parent { + description + "List of parent sub node"; + uses MRIB-IIR-SUB-NODE-BAG; + } + list child { + description + "List of child sub node"; + uses MRIB-IIR-SUB-NODE-BAG; + } + } + + grouping MRIB-MPLS-FRR-SUMMARY-BAG { + description + " MRIB mpls frr summary bag "; + leaf frr-active-count { + type uint32; + description + "Num of Active FRR"; + } + leaf frr-ready-count { + type uint32; + description + "Num of Ready FRR"; + } + } + + grouping MRIB-TLC-MDT-BAG { + description + "MRIB MDT group"; + container mdt-core-tree-identifier { + description + "MDT Core Tree Identifier"; + uses MRIB-CTID-BAG; + } + leaf mdt-table-id { + type uint32; + description + "MDT table id"; + } + leaf mdt-remote-table-id { + type uint32; + description + "MDT remote table id"; + } + leaf remote-lc-table-id { + type uint32; + description + "MDT Remote TLC Table id"; + } + leaf remote-master-lc-fapid { + type uint32; + description + "MDT Remote Master LC Fapid"; + } + list remote-lc-node { + description + "MDT Remote TLC list of forwarding node"; + uses MRIB-MDT-NODE-BAG; + } + } + + grouping MRIB-MDT-NODE-BAG { + description + "MRIB MDT node"; + leaf fapid { + type uint32; + description + "Fapid"; + } + leaf reference-count1 { + type uint32; + description + "Ref count 1"; + } + leaf reference-count2 { + type uint32; + description + "Ref count 2"; + } + leaf reference-count3 { + type uint32; + description + "Ref count 3"; + } + leaf is-mlc-fallback { + type boolean; + description + "MLC fallback"; + } + leaf is-remote { + type boolean; + description + "Remote interest"; + } + leaf is-nsf-remote { + type boolean; + description + "NSF Remote interest"; + } + leaf is-remote-encap { + type boolean; + description + "Remote Encap interest"; + } + } + + grouping MRIB-TLC-BAG { + description + "MRIB TLC database"; + leaf tlc-table-id { + type uint32; + description + "Table id"; + } + leaf tlc-table-name { + type string; + description + "Table name"; + } + leaf mlc-fapid { + type uint32; + description + "Master LC fapid"; + } + leaf vfallback-master-lc-interface-handle { + type uint32; + description + "Virtual fallback master linecard interface + handle. A non-zero value indicates that there + exists a virtual master line card interface. + Exact value for internal diagnostic"; + } + list node { + description + "List of forwarding node"; + uses MRIB-MDT-NODE-BAG; + } + list mdt { + description + "List of associated MDT route"; + uses MRIB-TLC-MDT-BAG; + } + } + + grouping MRIB-INTRF-BAG { + description + "MRIB multicast-routing entry-interface"; + container interface-attributes { + description + "Interface attributes"; + uses MRIB-ATTRIB-INTRF-BAG; + } + container if-mdf-attr { + description + "Interface modified attributes"; + uses MRIB-ATTRIB-INTRF-BAG; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf underlying-interface { + type xr:Interface-name; + description + "Underlying interface"; + } + leaf underlying-interface-node { + type Fapid; + description + "Fapid on which underlying interface is homed"; + } + leaf uptime { + type uint64; + description + "Time entry has been active"; + } + leaf expiry { + type uint64; + description + "Time the interface expires"; + } + leaf li-add-redist-count { + type uint8; + description + "LI add redist count"; + } + leaf li-del-redist-count { + type uint8; + description + "LI del redist count"; + } + leaf backup-fgid-added { + type boolean; + description + "Interfaec added to backup fgid or not"; + } + leaf head-lsm-identifier { + type uint32; + description + "MLDP Head LSM Identifier"; + } + leaf gre-encapsulation-source-address { + type inet:ipv4-address; + description + "MDT GRE Encapsulation Source Address"; + } + leaf gre-encapsulation-group-address { + type inet:ipv4-address; + description + "MDT GRE Encapsulation Group Address"; + } + leaf type { + type uint32; + description + "Type"; + } + leaf amt-port { + type uint32; + description + "AMT Port"; + } + leaf amt-nexthop { + type inet:ipv4-address; + description + "AMT Nexthop"; + } + leaf amt-mtu { + type uint16; + description + "AMT MTU"; + } + leaf amt-tos { + type uint8; + description + "AMT TOS"; + } + leaf amt-ttl { + type uint8; + description + "AMT TTL"; + } + leaf amt-gateway { + type inet:ipv4-address; + description + "AMT Gateway"; + } + leaf amt-source { + type inet:ipv4-address; + description + "AMT Source"; + } + leaf amt-id { + type uint32; + description + "AMT Identifier"; + } + } + + grouping MRIB-ROUTE-BAG { + description + "MRIB multicast-routing entry"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group-range { + description + "Group range"; + uses MRIB-GROUP-RNG-BAG; + } + container orig-source { + description + "Orig Source address"; + uses MRIB-ADDRTYPE; + } + container parent-range { + description + "Parent if entry is Bidir"; + uses MRIB-GROUP-RNG-BAG; + } + container rpf-neighbor { + description + "RPFneighbour address"; + uses MRIB-ADDRTYPE; + } + container mdt-core-tree-identifier { + description + "MDT CTID - address for v4 and v6 MVPN"; + uses MRIB-CTID-BAG; + } + container entry-attributes { + description + "Routing entry attributes"; + uses MRIB-ATTRIB-ENTRY-BAG; + } + container rc-mdt-ctid { + description + "Route-collapse MDT CTID in use"; + uses MRIB-CTID-BAG; + } + container entry-attr-mdf { + description + "Routing entry attributes mdf"; + uses MRIB-ATTRIB-ENTRY-BAG; + } + leaf route-version { + type uint16; + description + "Route Version"; + } + leaf is-customer-encapsulation-route { + type boolean; + description + "Cust Encap route"; + } + leaf rpf-table-id { + type uint32; + description + "RPF TID"; + } + leaf customer-table-id { + type uint32; + description + "Customer table id"; + } + leaf remote-customer-table-id { + type uint32; + description + "Remote Customer table id"; + } + leaf mdt-interface-handle-xr { + type uint32; + description + "MDT interface handle"; + } + leaf mdt-turnaround-enabled { + type boolean; + description + "MDT Turnaround ?"; + } + leaf mdt-bgp-interface-handle { + type uint32; + description + "MDT BGP interface handle"; + } + leaf payload { + type uint32; + description + "The type of the encapsulated payload"; + } + leaf master-lc-fapid { + type uint32; + description + "Master LC Fapid"; + } + leaf master-lc-fallback-fapid { + type uint32; + description + "Master LC Fallback Fapid"; + } + leaf mt-lc-fapid { + type uint32; + description + "MT flag LC Fapid"; + } + leaf annotation { + type string; + description + "Platform annotation"; + } + leaf uptime { + type uint64; + description + "Time entry has been active"; + } + leaf mdt-interface-handle { + type uint32; + description + "Special MDT handle"; + } + leaf rpf-identifier { + type uint32; + description + "RPF-ID for the route"; + } + leaf mo-frr-active { + type uint32; + description + "MOFRR Active Bit"; + } + leaf mo-frr-seq-no { + type uint32; + description + "MoFRR Seq Number"; + } + leaf encapsulation-identifier { + type uint32; + description + "Encap-ID value"; + } + leaf in-expired-db { + type boolean; + description + "Is route present in expired databse"; + } + list interface { + description + "Interfaces"; + uses MRIB-INTRF-BAG; + } + } + + grouping MRIB-MPLS-BKUP-TUN-BAG { + description + "MRIB mpls bkup tun"; + leaf protected-interface { + type xr:Interface-name; + description + "Protected Intf IFH"; + } + leaf backup-tunnel { + type uint32; + description + "Backup Tunnel"; + } + leaf backup-out-intf { + type uint32; + description + "Backup Out Interface"; + } + leaf backup-label { + type uint32; + description + "Backup Label"; + } + leaf backup-active { + type boolean; + description + "Backup Active"; + } + leaf-list in-label { + type uint32; + description + "Label Entries using this bkup"; + } + } + + grouping MRIB-MPLS-BKUP-BAG { + description + "MRIB mpls bkup"; + leaf te-client { + type boolean; + description + "TE Client populated"; + } + leaf lmrib-entry { + type boolean; + description + "LMRIB Entry populated"; + } + leaf prot-if-name { + type string; + description + "Protected Intf Name"; + } + list backup-tunnel { + description + "Backup Tunnels"; + uses MRIB-MPLS-BKUP-TUN-BAG; + } + } + + grouping MRIB-AMT-GW-SUMMARY-BAG { + description + "MRIB AMT gw summary route"; + leaf gw-addr { + type inet:ipv4-address; + description + "GW address"; + } + leaf gw-port { + type uint32; + description + "PORT"; + } + leaf active-route-count { + type uint32; + description + "Active routes for this Gateway"; + } + leaf out-pkts { + type uint64; + description + "Total pkts out"; + } + leaf out-bytes { + type uint64; + units "byte"; + description + "Total bytes out"; + } + leaf out-ex-pkts { + type uint64; + description + "Total expired route pkts out"; + } + leaf out-ex-bytes { + type uint64; + units "byte"; + description + "Total expired route bytes out"; + } + } + + grouping MRIB-RC-IPC-BAG { + description + "MRIB RC IPC"; + leaf ipc-name { + type string; + description + "IPC name"; + } + leaf items-in-ring { + type uint32; + description + "Items in Ring"; + } + leaf consumer-waiting { + type boolean; + description + "Consumer Waiting"; + } + leaf producer-flags { + type uint32; + description + "Producer Flags"; + } + leaf node-updates { + type uint32; + description + "Nodes Updated On Producer Channel"; + } + leaf shared-memory-open-failures { + type uint32; + description + "Consumer IPC thread shared memory open failures"; + } + leaf shared-memory-fstat-failures { + type uint32; + description + "Consumer IPC thread shared memory fstat failures"; + } + leaf shared-memory-size-failures { + type uint32; + description + "Consumer IPC thread shared memory size failures"; + } + leaf shared-memory-map-failures { + type uint32; + description + "Consumer IPC thread shared memory mmap failures"; + } + leaf shared-memory-header-failures { + type uint32; + description + "Consumer IPC thread shared memory header + validation failures"; + } + } + + grouping MRIB-ENCAPID-TBLID-BAG { + description + "MRIB Encap Table Entry"; + leaf etable-id { + type uint32; + description + "Encap Table id"; + } + leaf refcount { + type uint32; + description + "Refcount"; + } + } + + grouping MRIB-ENCAPID-NODE-BAG { + description + "MRIB Encap Node Entry"; + leaf node-id { + type xr:Node-id; + description + "NodeID"; + } + leaf refcount { + type uint32; + description + "Refcount"; + } + } + + grouping MRIB-ENCAPID-OLE-BAG { + description + "MRIB Encap Ole Entry"; + leaf type { + type Mrib-show-ctid; + description + "Type"; + } + leaf-list ole-key { + type uint8; + description + "Ole Key"; + } + } + + grouping ENCAPID-REDIST-INFO { + description + "ENCAPID REDIST INFO"; + leaf redist-flags { + type uint8; + description + "redist flags"; + } + leaf client-id { + type uint32; + description + "client id"; + } + leaf client-redist-time { + type uint64; + description + "client redist time"; + } + } + + grouping MRIB-ENCAPID-BAG { + description + "MRIB Encap Entry"; + leaf encap-id-xr { + type uint32; + description + "Encap ID value"; + } + leaf expiration-time { + type uint64; + units "second"; + description + "Expiration time in seconds"; + } + leaf expirationvalid { + type boolean; + description + "Expiration valid or not"; + } + leaf vrf-lite { + type boolean; + description + "Vrf Lite"; + } + leaf v6-vrf-lite { + type boolean; + description + "V6 Vrf Lite"; + } + leaf stale { + type boolean; + description + "Stale Entry"; + } + leaf ipv6-usage { + type boolean; + description + "IPV6 using this encap id"; + } + leaf route-count { + type uint32; + description + "No. of routes using this Encap ID"; + } + leaf annotation { + type string; + description + "Platform annotation"; + } + leaf-list encap-id-key { + type uint8; + description + "EncapID Key"; + } + list redist-info { + max-elements "3"; + description + "Redist Info"; + uses ENCAPID-REDIST-INFO; + } + list encap-id-ole { + description + "EncapID ole"; + uses MRIB-ENCAPID-OLE-BAG; + } + list node-id { + description + "NodeID list"; + uses MRIB-ENCAPID-NODE-BAG; + } + list backup-node-id { + description + "Backup NodeID list"; + uses MRIB-ENCAPID-NODE-BAG; + } + list encap-t-id { + description + "Encap Table Id list"; + uses MRIB-ENCAPID-TBLID-BAG; + } + } + + grouping MRIB-ATTRIB-INTRF-BAG { + description + "MRIB Interface level flags"; + leaf is-forward { + type boolean; + description + "Forwarding flag"; + } + leaf is-accept { + type boolean; + description + "Accepting flag"; + } + leaf is-accept-backup { + type boolean; + description + "Accepting Backup flag"; + } + leaf is-internal-copy { + type boolean; + description + "Internal Copy flag"; + } + leaf is-negate-signal { + type boolean; + description + "NegateSignal"; + } + leaf is-dont-preserve { + type boolean; + description + "Don't preserve flag"; + } + leaf is-signal-present { + type boolean; + description + "Signal Present flag"; + } + leaf is-internal-interest { + type boolean; + description + "Internal Interest flag"; + } + leaf is-internal-disinterest { + type boolean; + description + "Internal Disinterest flag"; + } + leaf is-local-interest { + type boolean; + description + "Local Interest flag"; + } + leaf is-local-disinterest { + type boolean; + description + "Local Disinterest flag"; + } + leaf is-decapsulation-interface { + type boolean; + description + "Decaps interface flag"; + } + leaf is-underlying-physical-change { + type boolean; + description + "Underlying physical change flag"; + } + leaf is-encapsulation-interface { + type boolean; + description + "Encaps interface flag"; + } + leaf is-egress-interface { + type boolean; + description + "Egress processing flag"; + } + leaf is-extranet { + type boolean; + description + "Extranet"; + } + leaf is-mdt-interface { + type boolean; + description + "MDT interface flag"; + } + leaf is-mldp-mdt-interface { + type boolean; + description + "MLDP MDT interface flag"; + } + leaf is-rsvp-te-mdt-interface { + type boolean; + description + "RSVP-TE MDT interface flag"; + } + leaf is-ir-mdt-interface { + type boolean; + description + "IR MDT interface flag"; + } + leaf is-mdt-data-triggered { + type boolean; + description + "Data MDT triggered on this interface"; + } + leaf is-p2mp-interface { + type boolean; + description + "P2MP interface flag"; + } + leaf is-turn-around { + type boolean; + description + "Turnaround candidate"; + } + leaf amt { + type boolean; + description + "AMT"; + } + leaf is-tr-mdt-interface { + type boolean; + description + "TR MDT interface flag"; + } + leaf evpn-mh-interface { + type boolean; + description + "EVPN MH Interface flag"; + } + } + + grouping MRIB-ATTRIB-ENTRY-BAG { + description + "MRIB Entry level flags"; + leaf is-domain-local-source { + type boolean; + description + "Domain-local source flag"; + } + leaf is-source-external { + type boolean; + description + "Source external to domain"; + } + leaf is-signal-by-default-on { + type boolean; + description + "Signal by default"; + } + leaf is-directly-connected-check-set { + type boolean; + description + "Directly connected check"; + } + leaf is-inherit-accept-set { + type boolean; + description + "Inherit Accept info"; + } + leaf is-inherit-from-set { + type boolean; + description + "Inherit from info"; + } + leaf is-drop { + type boolean; + description + "Drop flag"; + } + leaf is-rpf-neighbor-present { + type boolean; + description + "RPF neighbor present flag"; + } + leaf is-multicast-nsf-on { + type boolean; + description + "Multicast NSF flag"; + } + leaf is-mdt-encapsulation-on { + type boolean; + description + "MDT Encap flag"; + } + leaf is-mdt-decapsulation-on { + type boolean; + description + "MDT Decap flag"; + } + leaf is-mdt-interface-on { + type boolean; + description + "MDT ifh flag"; + } + leaf is-mdt-bgp-interface-on { + type boolean; + description + "MDT BGP ifh flag"; + } + leaf is-master-lc-on { + type boolean; + description + "Master LC flag"; + } + leaf is-master-lc-fallback-on { + type boolean; + description + "Master LC FB flag"; + } + leaf is-mdt-address-on { + type boolean; + description + "MDT Address flag"; + } + leaf is-platform-modified { + type boolean; + description + "Platform modified flag"; + } + leaf is-threshold-crossed { + type boolean; + description + "Data MDT Threshold Crossed"; + } + leaf is-conditional-decap { + type boolean; + description + "Conditional Decap"; + } + leaf is-via-lsm { + type boolean; + description + "LSM flag"; + } + leaf is-forward-mpls { + type boolean; + description + "MPLS Forward"; + } + leaf is-extranet { + type boolean; + description + "Extranet"; + } + leaf is-mdt-interface-special-on { + type boolean; + description + "MDT ifh special flag"; + } + leaf encapsulation-identifier-flag { + type boolean; + description + "Encap-ID present"; + } + leaf rpf-identifier-flag { + type boolean; + description + "RPF-ID present"; + } + leaf candidate-mofrr { + type boolean; + description + "MoFRR candidate route"; + } + leaf mofrr-state { + type boolean; + description + "Is the MoFRR bit set"; + } + leaf mofrr-primary { + type boolean; + description + "Is the MoFRR primary bit set"; + } + leaf mofrr-backup { + type boolean; + description + "Is the MoFRR backup bit set"; + } + leaf protocol { + type boolean; + description + "Protocol value set"; + } + leaf amt { + type boolean; + description + "AMT flag"; + } + leaf initial-convergence-done { + type boolean; + description + "ICD flag"; + } + leaf vxlan { + type boolean; + description + "VXLAN flag"; + } + } + + grouping MRIB-SIMPLE-FILTER-BAG { + description + "Mrib client simple-filter"; + list mrib-simple-filter-bag { + description + "Chain of diff filters"; + container entry-attributes { + description + "Per-entry attributes"; + uses MRIB-ATTRIB-ENTRY-BAG; + } + container interface-attributes { + description + "Per-interface attributes"; + uses MRIB-ATTRIB-INTRF-BAG; + } + leaf-list include-interface { + type xr:Interface-name; + description + "Include-mode interfaces"; + } + leaf-list exclude-interface { + type xr:Interface-name; + description + "Exclude-mode interfaces"; + } + list include-group { + description + "Include-mode groups"; + uses MRIB-GROUP-RNG-BAG; + } + list exclude-group { + description + "Exclude-mode groups"; + uses MRIB-GROUP-RNG-BAG; + } + } + } + + grouping MRIB-FILTER-BAG { + description + "Mrib client filter"; + container filter-interest { + description + "Interest filter"; + uses MRIB-SIMPLE-FILTER-BAG; + } + container filter-owned { + description + "Ownership filter"; + uses MRIB-SIMPLE-FILTER-BAG; + } + leaf client-connection-id { + type uint32; + description + "Client-connection id"; + } + leaf client-name-xr { + type string; + description + "Client name"; + } + leaf client-instance-id { + type string; + description + "Client instance ID"; + } + } + + grouping MRIB-RPFID-SPE-INFO { + description + "MRIB RPFID SPE INFO"; + leaf addr { + type inet:ipv4-address; + description + "addr"; + } + leaf rpf-id { + type uint32; + description + "rpf id"; + } + leaf id-alloc { + type boolean; + description + "id alloc"; + } + leaf tbl-id { + type Rsi-tbl-id; + description + "tbl id"; + } + leaf mdt-ifh { + type xr:Interface-name; + description + "mdt ifh"; + } + leaf ipv6-interest { + type boolean; + description + "ipv6 interest"; + } + leaf stale { + type boolean; + description + "stale"; + } + leaf chkpt-obj-id { + type uint32; + description + "chkpt obj id"; + } + leaf dep-route-list-cnt { + type uint32; + description + "dep route list cnt"; + } + leaf dep-core-route-list-cnt { + type uint32; + description + "dep core route list cnt"; + } + leaf dep-label-list-cnt { + type uint32; + description + "dep label list cnt"; + } + leaf in-pd-retry-list { + type boolean; + description + "in pd retry list"; + } + leaf annotation { + type string; + description + "Platform annotation"; + } + } + + grouping MRIB-NSF-BAG { + description + "MRIB NSF state"; + leaf is-multicast-nsf { + type boolean; + description + "Multicast NSF state"; + } + leaf is-multicast-cofonsf { + type boolean; + description + "Multicast COFO NSF state"; + } + leaf multicast-nsf-timeout { + type uint32; + description + "Multicast NSF timeout"; + } + leaf multicast-nsf-time-left { + type uint32; + description + "Multicast NSF time remaining"; + } + leaf respawn-count { + type uint32; + description + "Respawn Count"; + } + leaf last-nsf-on { + type int64; + description + "Last NSF time ON"; + } + leaf last-nsf-off { + type int64; + description + "Last NSF time off"; + } + leaf last-nsf-on-sec { + type int32; + description + "Last NSF time ON in Sec"; + } + leaf last-nsf-off-sec { + type int32; + description + "Last NSF time OFF in Sec"; + } + leaf last-icd-notif-sent { + type int64; + description + "Last ICD Notif Sent"; + } + leaf last-icd-notif-sent-sec { + type int32; + description + "Last ICD Notif Sent in Sec"; + } + leaf last-remote-nsf-on { + type int64; + description + "Last Remote NSF ON"; + } + leaf last-remote-nsf-off { + type int64; + description + "Last Remote NSF OFF"; + } + leaf last-label-mldp-nsf-on { + type int64; + description + "Last Label MLDP NSF ON"; + } + leaf last-label-mldp-nsf-off { + type int64; + description + "Last Label MLDP NSF OFF"; + } + leaf last-label-te-nsf-on { + type int64; + description + "Last Label TE NSF ON"; + } + leaf last-labelte-nsf-off { + type int64; + description + "Last Label TE NSF OFF"; + } + leaf last-label-pim-nsf-on { + type int64; + description + "Last Label PIM NSF ON"; + } + leaf last-label-pim-nsf-off { + type int64; + description + "Last Label PIM NSF OFF"; + } + leaf last-label-pim6nsf-on { + type int64; + description + "Last Label PIM6 NSF ON"; + } + leaf last-label-pim6-nsf-off { + type int64; + description + "Last Label PIM6 NSF OFF"; + } + leaf last-remote-nsf-on-sec { + type int32; + description + "Last Remote NSF ON in Sec"; + } + leaf last-remote-nsf-off-sec { + type int32; + description + "Last Remote NSF OFF in Sec"; + } + leaf last-label-mldp-nsf-on-sec { + type int32; + description + "Last Label MLDP NSF ON in Sec"; + } + leaf last-label-mldp-nsf-off-sec { + type int32; + description + "Last Label MLD NSF OFF in Sec"; + } + leaf last-label-te-nsf-on-sec { + type int32; + description + "Last Label TE NSF ON in Sec"; + } + leaf last-labelte-nsf-off-sec { + type int32; + description + "Last Label TE NSF OFF in Sec"; + } + leaf last-label-pim-nsf-on-sec { + type int32; + description + "Last Label PIM NSF ON in Sec"; + } + leaf last-label-pim-nsf-off-sec { + type int32; + description + "Last Label PIM NSF OFF in Sec"; + } + leaf last-label-pim6nsf-on-sec { + type int32; + description + "Last Label PIM6 NSF ON in Sec"; + } + leaf last-label-pim6-nsf-off-sec { + type int32; + description + "Last Label PIM6 NSF OFF in Sec"; + } + } + + grouping MRIB-MPLS-OUTINFOS-BAG { + description + "MRIB mpls output info"; + leaf output-interface { + type xr:Interface-name; + description + "Output IFH"; + } + leaf output-underlying-interface { + type xr:Interface-name; + description + "Output Underlying IFH"; + } + leaf out-nh { + type uint32; + description + "Nexthop"; + } + leaf out-nhid { + type uint32; + description + "Nexthop ID"; + } + leaf out-nh-sid { + type uint32; + description + "NH SID"; + } + leaf output-label { + type uint32; + description + "OutLabel"; + } + leaf out-fapid { + type uint32; + description + "Output Fapid"; + } + leaf backup { + type uint32; + description + "Backup"; + } + leaf backup-active { + type uint32; + description + "Backup Active"; + } + leaf backup-tunnel { + type uint32; + description + "Backup Tunnel"; + } + leaf backup-interface { + type xr:Interface-name; + description + "Backup IFH"; + } + leaf backup-underlying-interface { + type xr:Interface-name; + description + "Backup Underlying IFH"; + } + leaf backup-label { + type uint32; + description + "Backup Label"; + } + leaf backup-nh { + type uint32; + description + "Backup Nexthop"; + } + leaf bacup-fapid { + type uint32; + description + "Backup Fapid"; + } + leaf s2l-role { + type uint32; + description + "S2L Role"; + } + leaf output-information { + type uint32; + description + "Output Information"; + } + leaf oiis-nh-type { + type boolean; + description + "Output Information is NHType"; + } + leaf selected-output-interface { + type xr:Interface-name; + description + "Selected output innterface"; + } + leaf selected-backup-interface { + type xr:Interface-name; + description + "Selected backup interface"; + } + leaf annotation { + type string; + description + "OutInfo Platform annotation"; + } + } + + grouping MRIB-MPLS-FORWARDING-BAG { + description + "MRIB mpls forwarding"; + leaf table-id { + type uint32; + description + "Table id"; + } + leaf table-name { + type string; + description + "Table name"; + } + leaf total-label-entries { + type uint32; + description + "Total number of label entries"; + } + leaf total-s2l { + type uint32; + description + "Total number of S2L sub-LSPs"; + } + leaf head-s2l { + type uint32; + description + "Head S2L sub-LSP"; + } + leaf mid-s2l { + type uint32; + description + "Mid S2L sub-LSP"; + } + leaf tail-s2l { + type uint32; + description + "Tail S2L sub-LSP"; + } + leaf attribute { + type uint32; + description + "Attribute"; + } + leaf in-label { + type uint32; + description + "InLabel"; + } + leaf client { + type uint32; + description + "Client"; + } + leaf role { + type uint32; + description + "Role"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf p2mp-id { + type uint32; + description + "P2MP ID"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf head-lsm-identifier { + type uint32; + description + "HEAD LSM ID"; + } + leaf e-mvpn-present { + type boolean; + description + "Egress mvpn Param Present"; + } + leaf e-vpls-present { + type boolean; + description + "Egress vpls Param Present"; + } + leaf e-encap-present { + type boolean; + description + "Egress mvpn Encap Param Present"; + } + leaf e-peek { + type boolean; + description + "Egress Peek"; + } + leaf i-drop { + type boolean; + description + "Ingress Drop"; + } + leaf e-drop { + type boolean; + description + "Egress Drop"; + } + leaf rpf-id { + type uint32; + description + "Egress RPF ID"; + } + leaf encap-id { + type uint32; + description + "Egress ENCAP ID"; + } + leaf id-value { + type uint32; + description + "Egress ENCAP ID VALUE"; + } + leaf id-type { + type uint32; + description + "Egress ENCAP TYPE VALUE"; + } + leaf assoc-tid4 { + type uint32; + description + "Associated Table ID v4"; + } + leaf assoc-tid6 { + type uint32; + description + "Associated Table ID v6"; + } + leaf lspvif { + type xr:Interface-name; + description + "LSPVIF"; + } + leaf p2mp-pw-flags { + type uint16; + description + "P2MP PW Flags"; + } + leaf re-serv-e { + type yang:hex-string; + description + "RESV"; + } + leaf bridge-id { + type uint32; + description + "Bridge Id"; + } + leaf shg-id { + type uint32; + description + "SHG ID"; + } + leaf sub-ifh { + type xr:Interface-name; + description + "SUB IFH"; + } + leaf xc-id { + type uint32; + description + "XC ID"; + } + leaf source-address { + type uint32; + description + "Source Address"; + } + leaf extranet-id { + type uint32; + description + "Ext ID"; + } + leaf ip-look-up { + type uint32; + description + "IP lookup"; + } + leaf l3p-id { + type uint32; + description + "L3PID"; + } + leaf explicit-null { + type uint32; + description + "Explicit Null"; + } + leaf tunnel-interface { + type xr:Interface-name; + description + "Tunnel IFH"; + } + leaf incoming-interface { + type xr:Interface-name; + description + "Incoming IFH"; + } + leaf output-information-num { + type uint32; + description + "OutInfo Num"; + } + leaf annotation { + type string; + description + "Platform annotation"; + } + list output-info { + description + "Output Information"; + uses MRIB-MPLS-OUTINFOS-BAG; + } + } + + grouping MRIB-CLIENT-BAG { + description + "MRIB client connection"; + leaf client-connection-id { + type uint32; + description + "Client-connection id"; + } + leaf client-id { + type uint32; + description + "Client id"; + } + leaf is-active { + type boolean; + description + "Active"; + } + leaf registered-table-count { + type uint32; + description + "Registered table count"; + } + leaf client-type { + type Mrib-clt; + description + "Client type"; + } + leaf client-read-state { + type Mrib-ccb-io; + description + "Client read state"; + } + leaf parent-id { + type uint32; + description + "Parent id"; + } + leaf client-name-xr { + type string; + description + "Client name"; + } + leaf client-instance-id { + type string; + description + "Client instance ID"; + } + leaf purge-delay-secs { + type uint32; + units "second"; + description + "Purge delay [secs]"; + } + leaf purge-remain-secs { + type uint32; + units "second"; + description + "Purge time remaining [secs]"; + } + leaf nsf-capable { + type boolean; + description + "NSF Capable"; + } + leaf resync-time-secs { + type uint32; + units "second"; + description + "Resync time [secs]"; + } + leaf nsf-restart-time-secs { + type uint32; + units "second"; + description + "NSF restart time [secs]"; + } + leaf nsf-recovery-time-secs { + type uint32; + units "second"; + description + "NSF recovery time [secs]"; + } + leaf-list nsf-interest { + type Mrib-clt; + description + "Clients of NSF interest"; + } + } + + grouping MRIB-MDT-ROUTEDB-BAG { + description + "MRIB MDT route"; + container mdt-route-source-address { + description + "Source Address"; + uses MRIB-ADDRTYPE; + } + container mdt-route-group-address { + description + "Group Address"; + uses MRIB-ADDRTYPE; + } + leaf mdt-route-group-prefix-length { + type uint16; + description + "Group prefix length"; + } + leaf mdt-route-table-id { + type uint32; + description + "Route TID"; + } + leaf mdt-remote-reprograming { + type boolean; + description + "Need Reprog"; + } + } + + grouping MRIB-MDT-IFH-BAG { + description + "MRIB MDT IFH"; + leaf mdt-interface { + type xr:Interface-name; + description + "MDT handle"; + } + leaf mdt-interface-table-id { + type uint32; + description + "Table ID"; + } + leaf mh-reference-count { + type uint32; + description + "MH refcnt"; + } + leaf intranet-reference-count { + type uint32; + description + "Intranet Refcnt"; + } + leaf extranet-reference-count { + type uint32; + description + "Extranet Refcnt"; + } + leaf mdt-up-time { + type uint64; + description + "UpTime"; + } + list mdt-route-db { + description + "List of MDT routes"; + uses MRIB-MDT-ROUTEDB-BAG; + } + } + + grouping MRIB-CHKPT-TABLE-STATS { + description + "MRIB chkpt table stats"; + leaf table-description { + type string; + description + "Table description"; + } + leaf table-name { + type uint32; + description + "Table name"; + } + leaf is-mirrored { + type boolean; + description + "Table mirrored"; + } + leaf-list statistic { + type uint32; + description + "Stats array"; + } + } + + grouping MRIB-CHKPT-STATS { + description + "MRIB chkpt stats"; + list checkpoint-table { + description + "Array of chkpt table stats"; + uses MRIB-CHKPT-TABLE-STATS; + } + } + + grouping MRIB-EVPN-BKT-BAG { + description + "MRIB EVPN Database"; + leaf bucket-id-xr { + type uint32; + description + "BucketID"; + } + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf state { + type Mrib-evpn-bucket-state; + description + "State"; + } + leaf flags { + type uint8; + description + "Flags"; + } + leaf uptime { + type uint64; + description + "Time entry has been active"; + } + } + + grouping MRIB-BVI-MROUTE-BAG { + description + "MRIB BVI Mroute"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group-range { + description + "Group range"; + uses MRIB-GROUP-RNG-BAG; + } + } + + grouping MRIB-GROUP-RNG-BAG { + description + "MRIB group-range"; + container group-prefix { + description + "Group address prefix"; + uses MRIB-ADDRTYPE; + } + leaf group-prefix-length { + type uint32; + description + "Group address prefix length"; + } + } + + grouping MRIB-ADDRTYPE { + description + "MRIB ADDRTYPE"; + leaf af-name { + type Mrib-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Addr"; + } + } + + grouping MRIB-BVI-ROUTE-BAG { + description + "MRIB BVI DB"; + container source { + description + "Source address"; + uses MRIB-ADDRTYPE; + } + container group-range { + description + "Group range"; + uses MRIB-GROUP-RNG-BAG; + } + leaf bvi-ifhandle { + type xr:Interface-name; + description + "BVI IFhandle"; + } + leaf bvi-platform-data-length { + type uint8; + units "byte"; + description + "Platform data bytes"; + } + leaf bvi-platform-data { + type yang:hex-string; + description + "BVI platform data"; + } + leaf table-name { + type string; + description + "Table Name"; + } + leaf uptime { + type uint64; + description + "Time entry has been active"; + } + leaf ref-count { + type uint32; + description + "Refcount"; + } + list mroute { + description + "Mroute"; + uses MRIB-BVI-MROUTE-BAG; + } + } + + grouping MRIB-BVI-INTERFACE-BAG { + description + "MRIB BVI INTERFACE BAG"; + leaf table-id { + type Rsi-tbl-id; + description + "Table ID"; + } + leaf table-name { + type string; + description + "Table Name"; + } + } + + grouping MRIB-NSR-END-INFO { + description + "MRIB NSR END INFO"; + container event-tm { + description + "event tm"; + uses MRIB-TIMESPEC; + } + leaf idx { + type uint32; + description + "idx"; + } + leaf client-type { + type Mrib-clt; + description + "ClientType"; + } + leaf num-tbl-with-purged-attr { + type uint32; + description + "num tbl with purged attr"; + } + leaf num-e-with-purged-e-attr { + type uint32; + description + "num e with purged e attr"; + } + leaf num-e-with-purged-if-attr { + type uint32; + description + "num e with purged if attr"; + } + leaf num-if-with-purged-if-attr { + type uint32; + description + "num if with purged if attr"; + } + } + + grouping MRIB-COFO-SUMMARY-BAG { + description + "Summary bag for collapsed forwarding"; + leaf local-star-g { + type uint32; + description + "Number of local *,g entries in cofo"; + } + leaf remote-star-g { + type uint32; + description + "Number of remote *,g entries in cofo"; + } + leaf local-sg { + type uint32; + description + "Number of local SG entries in cofo"; + } + leaf remote-sg { + type uint32; + description + "Number of remote SG entries in cofo"; + } + leaf local-labels { + type uint32; + description + "Number of local label entries in cofo"; + } + leaf remote-labels { + type uint32; + description + "Number of remote label entries in cofo"; + } + leaf local-encap { + type uint32; + description + "Number of local encap entries in cofo"; + } + leaf remote-encap { + type uint32; + description + "Number of remote encap entries in cofo"; + } + } + + grouping MRIB-CTID-BAG { + description + "MRIB Core Tree ID"; + leaf type { + type Mrib-show-ctid; + description + "Type"; + } + leaf id { + type inet:ipv4-address; + description + "ID"; + } + } + + grouping LMRIB-COFO-BAG { + description + "LSM information exchanged for collapsed + forwarding"; + container remote-ctid { + description + "The CTID of the remote label whose nodeset is + recieved in MRIB"; + uses MRIB-CTID-BAG; + } + container send-timestamp { + description + "Unix timestamp when local information was last + sent to connected SDRs"; + uses MRIB-TIMESPEC; + } + container fgid-send-timestamp { + description + "Unix timestamp when local FGID information was + last sent to RIB on connected SDRs"; + uses MRIB-TIMESPEC; + } + container receive-timestamp { + description + "Unix timestamp when information was last + received from connected SDRs"; + uses MRIB-TIMESPEC; + } + leaf annotation { + type string; + description + "Platform annotation"; + } + leaf incoming-label { + type uint32; + description + "Incoming label info"; + } + leaf head-lsm-id { + type uint32; + description + "Head LSM ID"; + } + leaf lsm-id { + type uint32; + description + "LSM ID"; + } + leaf send-count { + type uint16; + description + "Number of updates sent to connected SDRs for + this FEC"; + } + leaf fgid-send-count { + type uint16; + description + "Number of FGID updates sent to RIB on connected + SDRs for this FEC"; + } + leaf receive-count { + type uint16; + description + "Number of updates received from connected SDRs + for this FEC"; + } + leaf local { + type boolean; + description + "Flag set if entry has information originating + from local SDR"; + } + leaf remote { + type boolean; + description + "Flag set if entry has information originating + from remote SDR"; + } + list primary-nodeset { + description + "Primary nodeset for update"; + uses MRIB-FAPID-BAG; + } + list backup-nodeset { + description + "Backup nodeset for update"; + uses MRIB-FAPID-BAG; + } + } + + grouping MRIB-COFO-BAG { + description + "IP multicast information exchanged for collapsed + forwarding"; + container send-timestamp { + description + "Unix timestamp when local information was last + sent to connected SDRs"; + uses MRIB-TIMESPEC; + } + container receive-timestamp { + description + "Unix timestamp when information was last + received from connected SDRs"; + uses MRIB-TIMESPEC; + } + leaf send-count { + type uint16; + description + "Number of updates sent to connected SDRs for + this route"; + } + leaf receive-count { + type uint16; + description + "Number of updates received from connected SDRs + for this route"; + } + leaf local { + type boolean; + description + "Flag set if entry has information originating + from local SDR"; + } + leaf remote { + type boolean; + description + "Flag set if entry has information originating + from remote SDR"; + } + list nodeset { + description + "Nodeset for update"; + uses MRIB-FAPID-BAG; + } + } + + grouping MRIB-TIMESPEC { + description + "MRIB TIMESPEC"; + leaf seconds { + type uint32; + description + "Seconds"; + } + leaf nanoseconds { + type uint32; + description + "Nanoseconds"; + } + } + + grouping MRIB-FAPID-BAG { + description + "FAP ID"; + leaf fap-id { + type string { + length "0..32"; + } + description + "FAP ID"; + } + leaf local { + type boolean; + description + "Local or Remote"; + } + } + + grouping MRIB-COFO-ENCAP-BAG { + description + "Encap ID information exchanged for collapsed + forwarding"; + container send-timestamp { + description + "Unix timestamp when local information was last + sent to connected SDRs"; + uses MRIB-TIMESPEC; + } + container receive-timestamp { + description + "Unix timestamp when information was last + received from connected SDRs"; + uses MRIB-TIMESPEC; + } + leaf encap-key-length { + type uint16; + description + "Length of Encap Key"; + } + leaf cofo-key-complete { + type boolean; + description + "TRUE indicates all LSM encap OLEs have been + updated in the key. FALSE indicates pending + updates to LSM encap OLEs."; + } + leaf encap-id-xr { + type uint32; + description + "The Encap ID corresponding to the Encap Key. + Includes 3-bits for SDR-ID (bits 21-23)"; + } + leaf num-ol-es { + type uint32; + description + "Number of OLEs in Encap entry"; + } + leaf send-count { + type uint16; + description + "Number of updates sent to connected SDRs for + this Encap Key"; + } + leaf receive-count { + type uint16; + description + "Number of updates received from connected SDRs + for this Encap Key"; + } + leaf local { + type boolean; + description + "Flag set if entry has information originating + from local SDR"; + } + leaf remote { + type boolean; + description + "Flag set if entry has information originating + from remote SDR"; + } + list primary-nodeset { + description + "Primary nodeset for update"; + uses MRIB-FAPID-BAG; + } + list backup-nodeset { + description + "Backup nodeset for update"; + uses MRIB-FAPID-BAG; + } + } + + grouping MRIB-NH-PATH-BAG { + description + "MRIB NH Path Information"; + leaf mribnh-string { + type string { + length "0..32"; + } + description + "MRIB neighbor identity"; + } + leaf out-intf { + type xr:Interface-name; + description + "Outgoing Interface "; + } + leaf prim-count { + type uint32; + description + "Primary Interface Count"; + } + leaf backup-count { + type uint32; + description + "Backup Interface Count"; + } + } + + grouping MRIB-REGDB-BAG { + description + "MRIB Regdb Entry"; + leaf registration-type { + type int32; + description + "Regdb Type"; + } + leaf nh-addr { + type inet:ipv4-address; + description + "NH addr"; + } + leaf label { + type uint32; + description + "Label NH"; + } + leaf regdb-ip-leaf-count { + type uint32; + description + "Regdb ip Leaf Count"; + } + leaf regdb-lbl-leaf-count { + type uint32; + description + "Regdb label Leaf Count"; + } + leaf regdb-mlcl-leaf-count { + type uint32; + description + "Regdb MLC Leaf Count"; + } + leaf reg-is-ecd-stale { + type boolean; + description + "Regdb ECD stale flag"; + } + leaf reg-is-ecd-reg { + type boolean; + description + "Regdb ECD is registered"; + } + leaf notification-count { + type uint32; + description + "Count of notifications from fib_mgr "; + } + leaf dest-vrf-name { + type string; + description + "Destination Vrf Name"; + } + leaf notified-ts { + type string { + length "0..40"; + } + description + "notified timestamp"; + } + list path { + description + "NH path list"; + uses MRIB-NH-PATH-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper.yang new file mode 100644 index 000000000..a76c80bbb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mrib-oper.yang @@ -0,0 +1,968 @@ +module Cisco-IOS-XR-mrib-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mrib-oper"; + prefix mrib-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mrib-oper-sub1 { + revision-date 2022-03-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mrib package operational data. + + This module contains definitions + for the following management objects: + ipv6-mrib: IPv6 MRIB operational data + mrib: MRIB operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "2.0.1M"; + } + revision 2021-08-27 { + description + "non-backward compatible edit in leaf parent-if-handle. type changed from uint32 to type xr:Hex-integer"; + semver:module-version "2.0.0"; + } + revision 2020-10-29 { + description + "Adding RPFID for PIM-SM design + 2020-10-11 + Backward compatible addition in leaf table-mdt-name-tree-sid,table-tree-sid-turnaround and reference-count."; + semver:module-version "1.1.0"; + } + revision 2020-02-13 { + description + "Fixing CSCvr71562."; + semver:module-version "1.0.0"; + } + revision 2019-08-27 { + description + "Providing MRIB information."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mrib-core-tree-id { + type enumeration { + enum "any" { + value 0; + description + "Any"; + } + enum "lsm-source-pe-ipv4" { + value 1; + description + "IPv4 LSM Source PE"; + } + enum "lsm-interface-handle-ipv4" { + value 2; + description + "IPv4 LSM Interface Handle"; + } + enum "lsm-source-pe-ipv6" { + value 3; + description + "IPv6 LSM Source PE"; + } + enum "lsm-interface-handle-ipv6" { + value 4; + description + "IPv6 LSM Interface Handle"; + } + enum "lsm-id" { + value 5; + description + "LSM ID"; + } + enum "ipv4" { + value 6; + description + "IPv4"; + } + enum "ipv6" { + value 7; + description + "IPv6"; + } + enum "mldp-interface-handle-ipv4" { + value 8; + description + "IPv4 MLDP Interface Handle"; + } + enum "mldp-interface-handle-ipv6" { + value 9; + description + "IPv6 MLDP Interface Handle"; + } + enum "none" { + value 10; + description + "None"; + } + enum "ti-mo-frr-tail" { + value 11; + description + "TI MoFRR Tail"; + } + enum "ti-mo-frr-head" { + value 12; + description + "TI MoFRR Head"; + } + } + description + "Mrib core tree id"; + } + + grouping REMOTE-TABLE-LINE-CARD { + description + "Common node of database, default-context"; + container remote-table-line-card { + description + "Show the linked remote entry"; + uses MRIB-TLC-BAG; + } + } + + grouping ROUTE-TABLE { + description + "Common node of database, default-context"; + container routes { + description + "The set of MRIB RouteDB operations"; + list route { + key "source-address group-address prefix-length"; + description + "MRIB Route DB Entry Information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + uses MRIB-ROUTE-BAG; + } + } + } + + grouping GW-SUMMARY-TABLE { + description + "Common node of database, default-context"; + container gw-summaries { + description + "MRIB AMT Gateway Summary Information"; + list gw-summary { + key "gateway-address gateway-port"; + description + "MRIB AMT Gateway DB Entry"; + leaf gateway-address { + type inet:ip-address-no-zone; + description + "Gateway Address"; + } + leaf gateway-port { + type uint32; + description + "Gateway Port"; + } + uses MRIB-AMT-GW-SUMMARY-BAG; + } + } + } + + grouping TABLE-LINE-CARD { + description + "Common node of database, default-context"; + container table-line-card { + description + "MRIB Table-LineCard database"; + uses MRIB-TLC-BAG; + } + } + + grouping ROUTE-OUTGOING-INTERFACE-TABLE { + description + "Common node of database, default-context"; + container route-outgoing-interfaces { + description + "MRIB RouteDB Outgoing Interface Table "; + list route-outgoing-interface { + key "source-address group-address prefix-length"; + description + "MRIB Route DB Outgoing Interface Entry + Information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + uses MRIB-ROUTE-OLE-BAG; + } + } + } + + grouping AMT-ROUTE-TABLE { + description + "Common node of database, default-context"; + container amt-routes { + description + "The set of AMT Route table information"; + list amt-route { + key "source-address group-address prefix-length"; + description + "MRIB AMT Route DB Entry Information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + uses MRIB-AMT-ROUTE-BAG; + } + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container registration-database-entries { + description + "MRIB Registration Database Table"; + list registration-database-entry { + key "vrf-name entry-type next-hop-address"; + description + "MRIB Registration Database Entry Information"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + leaf entry-type { + type uint32; + description + "Entry Type"; + } + leaf next-hop-address { + type xr:Cisco-ios-xr-string; + description + "Next-Hop Address"; + } + uses MRIB-REGDB-BAG; + } + } + container cofo { + description + "Collapsed forwarding Information"; + container encap-entries { + description + "EncapID information exchanged for collapsed + forwarding"; + list encap-entry { + key "encap-id"; + description + "EncapID information exchanged for collapsed + forwarding"; + leaf encap-id { + type uint32; + description + "Encap Identifier"; + } + uses MRIB-COFO-ENCAP-BAG; + } + } + container ip-multicast-infos { + description + "IP multicast information exchanged for + collapsed forwarding"; + list ip-multicast-info { + key "source group"; + description + "IP multicast information exchanged for + collapsed forwarding"; + leaf source { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group { + type inet:ip-prefix; + description + "Group Address Prefix"; + } + uses MRIB-COFO-BAG; + } + } + container lsm-infos { + description + "LSM information exchanged for collapsed + forwarding"; + list lsm-info { + key "fec"; + description + "LSM information exchanged for collapsed + forwarding"; + leaf fec { + type xr:Cisco-ios-xr-string { + length "1..255"; + } + description + "The FEC of the local label for which + node-set or FGID data is being exchanged"; + } + uses LMRIB-COFO-BAG; + } + } + container summary { + description + "Summary of statistics for collapsed forwarding"; + uses MRIB-COFO-SUMMARY-BAG; + } + } + container nsr-ends { + description + "NSR End Table"; + list nsr-end { + key "index"; + description + "NSR End"; + leaf index { + type uint32; + description + "Index"; + } + uses MRIB-NSR-END-INFO; + } + } + container mrib-bvi-interfaces { + description + "MRIB BVI interface mapping"; + list mrib-bvi-interface { + key "interface-name"; + description + "BVI Interface Handle"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MRIB-BVI-INTERFACE-BAG; + } + } + container mrib-bvi-routes { + description + "MRIB BVI route table"; + list mrib-bvi-route { + key "interface-name source-address group-address prefix-length"; + description + "MRIB BVI route entry"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + uses MRIB-BVI-ROUTE-BAG; + } + } + container evpn { + description + "EVPN information"; + container bucket-entries { + description + "EVPN Bucket DataBase Table information"; + list bucket-entry { + description + "Mrib EVPN Bucket Database Entry"; + leaf bucket-id { + type uint32; + description + "Bucket Identifier"; + } + leaf parent-if-handle { + type xr:Hex-integer; + description + "Parent Handle"; + } + uses MRIB-EVPN-BKT-BAG; + } + } + } + container checkpoint-statistics { + description + "Checkpoint Statistics"; + uses MRIB-CHKPT-STATS; + } + container mdt-interfaces { + description + "MRIB IIR interface DB"; + list mdt-interface { + key "interface-name"; + description + "Interface handle"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MRIB-MDT-IFH-BAG; + } + } + container clients { + description + "MRIB Client Table"; + list client { + key "client-name instance-name"; + description + "MRIB Client DB Entry Information"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client Name"; + } + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "Instance Name"; + } + uses MRIB-CLIENT-BAG; + } + } + container mpls-forwardings { + description + "MRIB Label Table"; + list mpls-forwarding { + key "label"; + description + "MRIB Label DB Information"; + leaf label { + type uint32; + description + "Label"; + } + uses MRIB-MPLS-FORWARDING-BAG; + } + } + container nsf { + description + "NSF Information"; + uses MRIB-NSF-BAG; + } + container rpf-identifiers { + description + "RPF Identifier Table"; + list rpf-identifier { + key "source-pe-address mrib-allocated"; + description + "RPF Identifier"; + leaf source-pe-address { + type inet:ipv4-address-no-zone; + description + "Source PE Address"; + } + leaf mrib-allocated { + type boolean; + description + "MRIB Allocated"; + } + uses MRIB-RPFID-SPE-INFO; + } + } + container client-filters { + description + "MRIB Client Filter Table"; + list client-filter { + key "client-name instance-name"; + description + "MRIB Client Filter DB Entry Information"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client Name"; + } + leaf instance-name { + type xr:Cisco-ios-xr-string; + description + "Instance Name"; + } + uses MRIB-FILTER-BAG; + } + } + container encap-identifiers { + description + "Encap Identifier Table"; + list encap-identifier { + key "encap-id"; + description + "Encap Identifier"; + leaf encap-id { + type uint32; + description + "Encap Identifier"; + } + uses MRIB-ENCAPID-BAG; + } + } + } + } + + grouping ROUTE-COLLAPSE-IPC { + description + "Common node of database, default-context"; + container route-collapse-ipc { + description + "MRIB Route Collapse IPC Core-egress-node + Information"; + uses MRIB-RC-IPC-BAG; + } + } + + grouping LABEL-INFO { + description + "Common node of database, default-context"; + container label-info { + description + "MRIB Label Table Information"; + uses MRIB-LABEL-TABLE-INFO-BAG; + } + } + + grouping AMT-ROUTEDB-SUMMARY-TABLE { + description + "Common node of database, default-context"; + container amt-routedb-summaries { + description + "MRIB AMT RouteDB Summary Information"; + list amt-routedb-summary { + key "source-address group-address"; + description + "MRIB AMT Route Summary Entry"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + uses MRIB-AMT-ROUTE-SUMMARY-BAG; + } + } + } + + grouping ROUTE-COLLAPSE-TABLE { + description + "Common node of database, default-context"; + container route-collapses { + description + "MRIB Route Collapse database"; + list route-collapse { + key "type group-address"; + description + "Route Collapse Information"; + leaf type { + type xr:Cisco-ios-xr-string; + description + "Type"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Input MDT grp or prev group"; + } + uses MRIB-RC-MDT-BAG; + } + } + } + + grouping ACTIVE { + description + "Common node of mrib, ipv6-mrib"; + container active { + description + "Active Process"; + uses PROCESS; + uses DEFAULT-CONTEXT; + uses DATABASE-TABLE; + } + } + + grouping AMT-ROUTEDB-EXPIRED-TABLE { + description + "Common node of database, default-context"; + container amt-routedb-expireds { + description + "MRIB AMT Route Expired Information"; + list amt-routedb-expired { + key "source-address group-address gw-address port"; + description + "MRIB AMT Route Expired Entry"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group Address"; + } + leaf gw-address { + type inet:ip-address-no-zone; + description + "GW Address"; + } + leaf port { + type uint32; + description + "Prefix Length"; + } + uses MRIB-AMT-ROUTE-EX-BAG; + } + } + } + + grouping SUMMARY { + description + "Common node of database, default-context"; + container summary { + description + "MRIB RouteDB Summary Information"; + uses MRIB-DB-SUMM-BAG; + } + } + + grouping GW-EXPIRED-TABLE { + description + "Common node of database, default-context"; + container gw-expireds { + description + "MRIB AMT Gateway DB Expired Information"; + list gw-expired { + key "gateway-address gateway-port"; + description + "MRIB AMT Gateway Expired Entry"; + leaf gateway-address { + type inet:ip-address-no-zone; + description + "Gateway Address"; + } + leaf gateway-port { + type uint32; + description + "Gateway Port"; + } + uses MRIB-AMT-GW-EX-BAG; + } + } + } + + grouping AMT-GATEWAY-DB-TABLE { + description + "Common node of database, default-context"; + container amt-gateway-dbs { + description + "The set of AMT Gateway DataBase Table + information"; + list amt-gateway-db { + key "gateway-address gateway-port"; + description + "MRIB AMT Gateway DB Entry"; + leaf gateway-address { + type inet:ip-address-no-zone; + description + "Gateway Address"; + } + leaf gateway-port { + type uint32; + description + "Gateway Port"; + } + uses MRIB-AMT-GW-BAG; + } + } + } + + grouping DATABASE-TABLE { + description + "Common node of active, standby"; + container databases { + description + "Database Table"; + list database { + key "database-name"; + description + "MRIB Table Information"; + leaf database-name { + type xr:Cisco-ios-xr-string; + description + "Database Name"; + } + uses ROUTE-COLLAPSE-IPC-TLC; + uses GW-SUMMARY-TABLE; + uses ROUTE-COLLAPSE-IPC; + uses MPLSTE-BACKUP-TABLE; + uses ROUTE-TABLE; + uses TABLE-LINE-CARD; + uses FRR-SUMMARY; + uses IIR-INTERFACE-TABLE; + uses AMT-GATEWAY-DB-TABLE; + uses ROUTE-OUTGOING-INTERFACE-TABLE; + uses GW-EXPIRED-TABLE; + uses REMOTE-TABLE-LINE-CARD; + uses AMT-ROUTEDB-SUMMARY-TABLE; + uses ROUTE-COLLAPSE-TABLE; + uses LABEL-INFO; + uses FRR-TABLE; + uses AMT-ROUTEDB-EXPIRED-TABLE; + uses TABLE-INFORMATION; + uses SUMMARY; + uses AMT-ROUTE-TABLE; + } + } + } + + grouping FRR-SUMMARY { + description + "Common node of database, default-context"; + container frr-summary { + description + "MRIB FRR DB Summary Information"; + uses MRIB-MPLS-FRR-SUMMARY-BAG; + } + } + + grouping ROUTE-COLLAPSE-IPC-TLC { + description + "Common node of database, default-context"; + container route-collapse-ipc-tlc { + description + "Route Collapse IPC TLC Information"; + uses MRIB-RC-IPC-BAG; + } + } + + grouping FRR-TABLE { + description + "Common node of database, default-context"; + container frrs { + description + "FRR Table"; + list frr { + key "start-label"; + description + "MRIB FRR DB Information"; + leaf start-label { + type uint32; + description + "Start Label"; + } + uses MRIB-MPLS-FRR-BAG; + } + } + } + + grouping MPLSTE-BACKUP-TABLE { + description + "Common node of database, default-context"; + container mplste-backups { + description + "MRIB MPLS TE Backup Database Information"; + list mplste-backup { + key "interface-name"; + description + "MRIB MPLS TE Backup Database Information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MRIB-MPLS-BKUP-BAG; + } + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default context"; + container mroutes { + description + "MRIB mpls mroute Table"; + list mroute { + key "tunnel core-tree-id-type"; + description + "MRIB MPLS MRoute information"; + leaf tunnel { + type uint32; + description + "Tunnel Interface Handle"; + } + leaf core-tree-id-type { + type Mrib-core-tree-id; + description + "Core Tree ID Type"; + } + uses MRIB-MPLS-DB-BAG; + } + } + uses ROUTE-COLLAPSE-IPC-TLC; + uses GW-SUMMARY-TABLE; + uses ROUTE-COLLAPSE-IPC; + uses MPLSTE-BACKUP-TABLE; + uses ROUTE-TABLE; + uses TABLE-LINE-CARD; + uses FRR-SUMMARY; + uses IIR-INTERFACE-TABLE; + uses AMT-GATEWAY-DB-TABLE; + uses ROUTE-OUTGOING-INTERFACE-TABLE; + uses GW-EXPIRED-TABLE; + uses REMOTE-TABLE-LINE-CARD; + uses AMT-ROUTEDB-SUMMARY-TABLE; + uses ROUTE-COLLAPSE-TABLE; + uses LABEL-INFO; + uses FRR-TABLE; + uses AMT-ROUTEDB-EXPIRED-TABLE; + uses TABLE-INFORMATION; + uses SUMMARY; + uses AMT-ROUTE-TABLE; + } + } + + grouping STANDBY { + description + "Common node of mrib, ipv6-mrib"; + container standby { + description + "Standby Process"; + uses PROCESS; + uses DEFAULT-CONTEXT; + uses DATABASE-TABLE; + } + } + + grouping TABLE-INFORMATION { + description + "Common node of database, default-context"; + container table-information { + description + "MRIB VRF table information"; + uses MRIB-TABLE-INFO-BAG; + } + } + + grouping IIR-INTERFACE-TABLE { + description + "Common node of database, default-context"; + container iir-interfaces { + description + "MRIB IIR interface DB"; + list iir-interface { + key "interface-name"; + description + "MRIB Interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses MRIB-IIR-INTF-BAG; + } + } + } + + container ipv6-mrib { + config false; + description + "IPv6 MRIB operational data"; + uses ACTIVE; + uses STANDBY; + } + container mrib { + config false; + description + "MRIB operational data"; + uses ACTIVE; + uses STANDBY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper-sub1.yang new file mode 100644 index 000000000..e636adf0f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper-sub1.yang @@ -0,0 +1,1340 @@ +submodule Cisco-IOS-XR-msdp-oper-sub1 { + belongs-to Cisco-IOS-XR-msdp-oper { + prefix Cisco-IOS-XR-msdp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR msdp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-22 { + description + "backward compatible addition"; + semver:module-version "2.0.0"; + } + revision 2019-08-27 { + description + "Providing MSDP information."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Msdp-rpf-rule { + type enumeration { + enum "msdp-rpf-rule-failed" { + description + "msdp rpf rule failed"; + } + enum "msdp-rpf-rule-rp" { + description + "msdp rpf rule rp"; + } + enum "msdp-rpf-rule-ebgp" { + description + "msdp rpf rule ebgp"; + } + enum "msdp-rpf-rule-next-hop" { + description + "msdp rpf rule next hop"; + } + enum "msdp-rpf-rule-as-path" { + description + "msdp rpf rule as path"; + } + enum "msdp-rpf-rule-static" { + description + "msdp rpf rule static"; + } + enum "msdp-rpf-rule-local" { + description + "msdp rpf rule local"; + } + enum "msdp-rpf-rule-one-peer" { + description + "msdp rpf rule one peer"; + } + enum "msdp-rpf-rule-mesh-grp" { + description + "msdp rpf rule mesh grp"; + } + enum "msdp-rpf-rule-default-tree" { + description + "msdp rpf rule default tree"; + } + enum "msdp-rpf-rule-max" { + description + "msdp rpf rule max"; + } + } + description + "Msdp rpf rule"; + } + + typedef Msdp-session-sso-state { + type enumeration { + enum "msdp-session-sso-state-unknown" { + value 0; + description + "msdp session sso state unknown"; + } + enum "msdp-session-sso-state-tcp-down" { + value 1; + description + "msdp session sso state tcp down"; + } + enum "msdp-session-sso-state-tcp-synced" { + value 2; + description + "msdp session sso state tcp synced"; + } + enum "msdp-session-sso-state-msdp-synced" { + value 3; + description + "msdp session sso state msdp synced"; + } + enum "msdp-session-sso-state-msdp-synced-hold" { + value 4; + description + "msdp session sso state msdp synced hold"; + } + enum "msdp-session-sso-state-tcp-stop-read" { + value 5; + description + "msdp session sso state tcp stop read"; + } + enum "msdp-session-sso-state-tcp-replicated" { + value 6; + description + "msdp session sso state tcp replicated"; + } + enum "msdp-session-sso-state-nsr-ready" { + value 7; + description + "msdp session sso state nsr ready"; + } + enum "msdp-session-sso-state-max" { + value 8; + description + "msdp session sso state max"; + } + } + description + "Msdp session sso state"; + } + + typedef Msdp-peer-state { + type enumeration { + enum "msdp-null-state" { + description + "msdp null state"; + } + enum "msdp-disabled" { + description + "msdp disabled"; + } + enum "msdp-inactive" { + description + "msdp inactive"; + } + enum "msdp-listening" { + description + "msdp listening"; + } + enum "msdp-connecting" { + description + "msdp connecting"; + } + enum "msdp-established" { + description + "msdp established"; + } + enum "msdp-no-interface" { + description + "msdp no interface"; + } + enum "msdp-intf-no-addr" { + description + "msdp intf no addr"; + } + enum "msdp-same-addr" { + description + "msdp same addr"; + } + enum "msdp-peer-stop" { + description + "msdp peer stop"; + } + enum "msdp-tcp-synced" { + description + "msdp tcp synced"; + } + enum "msdp-max-state" { + description + "msdp max state"; + } + } + description + "Msdp peer state"; + } + + grouping MSDP-NSR-BAG { + description + "NSR Related information"; + leaf state { + type uint8; + description + "NSR state"; + } + leaf rmf-notification-done { + type boolean; + description + "RMF Notification done"; + } + leaf rmf-timer-valid { + type boolean; + description + "Is RMF timer running ?"; + } + leaf rmf-timer-expiry { + type uint64; + description + "Time for RMF timer to expire"; + } + leaf last-rmf-ready { + type uint64; + description + "Time when RMF Rdy notif was sent"; + } + leaf last-rmf-not-ready { + type uint64; + description + "Time when RMF Not-Rdy notif was sent"; + } + leaf count-rmf-ready { + type uint32; + description + "No. of times RMF Ready notif was sent"; + } + leaf count-rmf-not-ready { + type uint32; + description + "No. of times RMF Not Ready notif was sent"; + } + leaf nsr-force-timer-left { + type uint64; + units "second"; + description + "NSR Force Timer left in seconds"; + } + } + + grouping MSDP-PROCESS-SUMM-BAG { + description + "MSDP Peer Summary Global"; + leaf is-maximum-disable { + type boolean; + description + "Is maximum enforcement disabled"; + } + leaf global-maximum-sa { + type uint32; + description + "Global OOR Limit"; + } + leaf external-active-sa { + type uint32; + description + "Current Active Ext. SAs"; + } + leaf is-node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + } + + grouping MSDP-EDM-NSF-BAG { + description + "MSDP NSF state"; + leaf is-multicast-nsf-active { + type boolean; + description + "Is Multicast NSF active"; + } + leaf multicast-nsf-timeout { + type uint64; + description + "MSDP NSF period in sec"; + } + leaf multicast-nsf-time-left { + type uint64; + description + "MSDP NSF expiry time in sec"; + } + leaf last-nsf-on { + type int64; + description + "Time when MSDP went NSF"; + } + leaf last-nsf-off { + type int64; + description + "Time when MSDP came out of NSF"; + } + leaf last-nsf-on-sec { + type int64; + description + "Time in sec since last NSF on event"; + } + leaf last-nsf-off-sec { + type int64; + description + "Time in sec since last NSF off event"; + } + leaf last-icd-notif-recv { + type int64; + description + "Time when last ICD Notif Rcvd"; + } + leaf last-icd-notif-recvsec { + type int64; + description + "Time in sec since last ICD Notif"; + } + } + + grouping MSDP-RP-BAG { + description + "MSDP RP Sources"; + list msdp-rp-bag { + description + "Point to the next one"; + leaf rp-address { + type inet:ipv4-address; + description + "The RP Address"; + } + leaf rp-prefix { + type inet:ipv4-address; + description + "Prefix used for this RP"; + } + leaf rp-prefix-length { + type int32; + description + "Prefix length used for this RP"; + } + leaf advertizing-peer { + type inet:ipv4-address; + description + "The Advertizing Peer"; + } + leaf rpf-peer { + type inet:ipv4-address; + description + "The RPF Peer"; + } + leaf rp-source-count { + type uint32; + description + "Total source count"; + } + leaf rp-sources-active { + type uint32; + description + "Active source count"; + } + leaf heard { + type uint32; + units "second"; + description + "Last Heard From (seconds)"; + } + } + } + + grouping MSDP-GLOBAL-BAG { + description + "Global MSDP state"; + container rp-information { + description + "RP information"; + uses MSDP-RP-BAG; + } + leaf process-id { + type uint32; + description + "MSDP Process ID, 0 if disabled"; + } + leaf local-as-number-string { + type string; + description + "AS number we operate within"; + } + leaf caching { + type int32; + description + "Is SA caching enabled"; + } + leaf default-peer { + type inet:ipv4-address; + description + "The default peer address"; + } + leaf is-pim-connected { + type boolean; + description + "Is MSDP registered with PIM for Registers"; + } + leaf originator-id { + type inet:ipv4-address; + description + "Originator ID"; + } + leaf active-sources { + type uint32; + description + "Total Active Sources"; + } + leaf active-groups { + type uint32; + description + "Total Active Groups"; + } + leaf active-rp { + type uint32; + description + "Number of active RPs (local and remote)"; + } + leaf external-sa { + type uint32; + description + "Number of externally learns SA states"; + } + leaf items-allocated { + type uint64; + description + "Current List Items Allocated"; + } + leaf lists-allocated { + type uint64; + description + "Current Lists Allocated"; + } + leaf items-free { + type uint64; + description + "Total List Items freed"; + } + leaf lists-free { + type uint64; + description + "Total Lists freed"; + } + leaf sa-buffers-allocated { + type uint32; + description + "Total SA buffers allocated"; + } + leaf sa-buffers-free { + type uint32; + description + "Total SA buffers free"; + } + leaf source-buffers-allocated { + type uint32; + description + "Total SA Source buffers allocated"; + } + leaf source-buffers-free { + type uint32; + description + "Total SA Sourcebuffers free"; + } + leaf group-buffers-allocated { + type uint32; + description + "Total SA Group buffers allocated"; + } + leaf group-buffers-free { + type uint32; + description + "Total SA Group buffers free"; + } + leaf rp-buffers-allocated { + type uint32; + description + "Total SA RP buffers allocated"; + } + leaf rp-buffers-free { + type uint32; + description + "Total SA RP buffers free"; + } + leaf maximum-sources { + type uint32; + description + "Maximum Sources Seen"; + } + leaf maximum-groups { + type uint32; + description + "Maximum Groups Seen"; + } + leaf maximum-rp-sources { + type uint32; + description + "Maximum RPs Seen"; + } + leaf maximum-external-sa { + type uint32; + description + "Maximum external SA seen"; + } + } + + grouping MSDP-SUMMARY-AS-BAG { + description + "MSDP Summary AS Bag"; + leaf as-number-string { + type string; + description + "Peer's ASnum"; + } + leaf sa-total { + type uint32; + description + "SA count "; + } + leaf number-of-rp { + type uint32; + description + "Number of RPs"; + } + } + + grouping MSDP-SUMMARY-PREFACE-BAG { + description + "MSDP Summary Preface Bag"; + leaf sa-count { + type uint32; + description + "Active SA count"; + } + leaf rp-count { + type uint32; + description + "RP count "; + } + leaf source-count { + type uint32; + description + "Source count "; + } + leaf group-count { + type uint32; + description + "Group count "; + } + } + + grouping MSDP-SUMMARY-RP-BAG { + description + "MSDP Summary RP Bag"; + leaf rp-address-xr { + type inet:ipv4-address; + description + "Originator RP address"; + } + leaf rp-prefix { + type inet:ipv4-address; + description + "Prefix used for this RP"; + } + leaf rp-prefix-length { + type int32; + description + "Prefix length used for this RP"; + } + leaf sa-total { + type uint32; + description + "SA count "; + } + leaf rpf-peer { + type inet:ipv4-address; + description + "The RPF Peer"; + } + } + + grouping MSDP-CONTEXT { + description + "MSDP Context bag"; + leaf context-name { + type string; + description + "Name of context"; + } + leaf context-id { + type uint32; + description + "Context identifier"; + } + leaf table-id { + type uint32; + description + "Active table identifier"; + } + leaf table-count { + type uint32; + description + "Count of tables"; + } + leaf active-table-count { + type uint32; + description + "Count of active tables"; + } + leaf inheritable-ttl { + type uint32; + description + "TTL inheritable by peers"; + } + leaf inheritable-max-sa { + type uint32; + description + "Maximum SAs inheritable by peers"; + } + leaf inheritable-keepalive-period { + type uint32; + description + "Keepalive period inheritable by peers"; + } + leaf inheritable-peer-timeout-period { + type uint32; + description + "Peer timeout period inheritable by peers"; + } + leaf inheritable-connect-source { + type string; + description + "Connect source interface inheritable by peers"; + } + leaf inheritable-sa-filter-in { + type string; + description + "SA filter in inheritable by peers"; + } + leaf inheritable-sa-filter-out { + type string; + description + "SA filter out inheritable by peers"; + } + leaf inheritable-rp-filter-in { + type string; + description + "RP filter in inheritable by peers"; + } + leaf inheritable-rp-filter-out { + type string; + description + "RP filter out inheritable by peers"; + } + leaf originator-address { + type inet:ipv4-address; + description + "Originator address"; + } + leaf originator-interface-name { + type string; + description + "Originator interface name"; + } + leaf default-peer-address { + type inet:ipv4-address; + description + "Default peer address"; + } + leaf sa-holdtime { + type uint32; + description + "SA holdtime"; + } + leaf allow-encaps-count { + type uint32; + description + "Count of allowed encaps"; + } + leaf context-sa-maximum { + type uint32; + description + "Maximum SA in the context"; + } + leaf as-number { + type uint32; + description + "Local AS Number"; + } + leaf peer-count { + type uint32; + description + "Count of peers"; + } + leaf estasblished-peer-count { + type uint32; + description + "Count of peers in established state"; + } + leaf group-count { + type uint32; + description + "Count of groups present"; + } + leaf source-count { + type uint32; + description + "Count of sources present"; + } + leaf rp-count { + type uint32; + description + "Count of RPs present"; + } + leaf external-source-count { + type uint32; + description + "Count of external sources present"; + } + leaf group-count-hwm { + type uint32; + description + "High water mark of group count"; + } + leaf source-count-hwm { + type uint32; + description + "High water mark of source count"; + } + leaf rp-count-hwm { + type uint32; + description + "High water mark of RP count"; + } + leaf external-source-hwm { + type uint32; + description + "High water mark of external sources count"; + } + leaf mrib-update-count { + type uint32; + description + "Count of MRIB Updates"; + } + leaf mrib-update-no-change-count { + type uint32; + description + "Count of MRIB updates with no change"; + } + leaf mrib-update-group { + type uint32; + description + "Count of MRIB update for *,G routes"; + } + leaf mrib-update-source { + type uint32; + description + "Count of MRIB updates for S,G routes"; + } + leaf mrib-update-drop-invalid-group { + type uint32; + description + "Count of MRIB updates dropped for an invalid + group address"; + } + leaf mrib-update-drop-invalid-group-length { + type uint32; + description + "Count of MRIB updates dropped for an invalid + group length"; + } + leaf mribu-pdate-drop-invalid-source { + type uint32; + description + "Count of MRIB updates dropped for an invalid + source address"; + } + leaf mrib-update-group-auto-rp { + type uint32; + description + "Count of MRIB updates dropped for AutoRP address"; + } + leaf pim-suppress-shared-tree-join { + type boolean; + description + "Suppress shared tree join configured"; + } + } + + grouping MSDP-RPF-BAG { + description + "MSDP RPF Info"; + leaf local-as-number-string { + type string; + description + "Local AS Number"; + } + leaf matching-rule { + type Msdp-rpf-rule; + description + "Matching Rule"; + } + leaf peer-address { + type inet:ipv4-address; + description + "RPF peer"; + } + leaf peer-as-number-string { + type string; + description + "Peers AS Number"; + } + leaf bgp-nexthop { + type inet:ipv4-address; + description + "BGP Nexthop"; + } + leaf as-number-string { + type string; + description + "Nexthop AS Number"; + } + leaf matching-prefix { + type inet:ipv4-address; + description + "Matching Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + leaf as-path { + type yang:hex-string; + description + "The AS Path"; + } + } + + grouping MSDP-SRC-BAG { + description + "MSDP active source cache entry"; + leaf source-address-xr { + type inet:ipv4-address; + description + "Source address"; + } + leaf source-prefix-length { + type uint32; + description + "Prefix length"; + } + leaf source-flag { + type uint32; + description + "Source specific flags"; + } + leaf group-address-xr { + type inet:ipv4-address; + description + "Group address"; + } + leaf group-prefix-length { + type uint32; + description + "Group Prefix length"; + } + leaf group-flag { + type uint32; + description + "Source specific flags"; + } + leaf rp-address-xr { + type inet:ipv4-address; + description + "RP address that orginated this source"; + } + leaf rpf-peer { + type inet:ipv4-address; + description + "The peer we accepted this SA from"; + } + leaf rpf-as-number-string { + type string; + description + "The AS of the peer that advertised this"; + } + leaf advertizing-peer { + type inet:ipv4-address; + description + "The peer we should have"; + } + leaf advertizing-peer-as-string { + type string; + description + "The AS of the peer that advertised this"; + } + leaf matching-rule { + type Msdp-rpf-rule; + description + "The RPF rule used to select this SA"; + } + leaf sa-received-count { + type uint32; + description + "The number of SA messages recv'd"; + } + leaf encapsulated-data-bytes { + type uint32; + units "byte"; + description + "The bytes of encapsulated data recv'd"; + } + leaf encapsulated-data-packets { + type uint32; + description + "No. of encapsulated data pkts recv'd"; + } + leaf created { + type uint64; + description + "Time entry was created"; + } + leaf expires { + type uint64; + description + "When the entry expires"; + } + } + + grouping MSDP-PEER-TIMER-BAG { + description + "MSDP Peer Timer Values"; + leaf connect-retry-interval { + type uint32; + description + "Connect Retry Interval"; + } + leaf holdtime { + type uint32; + description + "SA Holdtime"; + } + leaf keep-alive-interval { + type uint32; + description + "Keepalive Interval"; + } + } + + grouping MSDP-PEER-SUMM-BAG { + description + "MSDP Peer State"; + leaf peer-address-xr { + type inet:ipv4-address; + description + "Peer Address"; + } + leaf as-number-string { + type string; + description + "Peers AS number"; + } + leaf peer-flag { + type uint32; + description + "Peer flags"; + } + leaf peer-state { + type Msdp-peer-state; + description + "Peer state"; + } + leaf description { + type string; + description + "Description"; + } + leaf started { + type uint64; + units "second"; + description + "Time in current state (seconds)"; + } + leaf reset { + type uint32; + description + "Number of times peers has reset"; + } + leaf connect-attempt { + type uint32; + description + "Number of connect attempts"; + } + leaf establish-transition { + type uint32; + description + "No. of transitions to ESTB state"; + } + leaf tlv-sent { + type uint32; + description + "TLV Sent"; + } + leaf tlv-received { + type uint32; + description + "TLV Received"; + } + leaf active-sa-count { + type uint32; + description + "Active SA Count"; + } + leaf max-sa { + type uint32; + description + "Peer Max SA"; + } + leaf peer-sso-state { + type Msdp-session-sso-state; + description + "Peer SSO state"; + } + leaf oper-downs { + type uint32; + description + "Number of TCP SSO oper-downs"; + } + leaf sso-started { + type uint32; + units "second"; + description + "Time in current state (seconds)"; + } + } + + grouping MSDP-PEER-BAG { + description + "MSDP Peer State"; + container peer-sumary-info { + description + "Basic peer Information"; + uses MSDP-PEER-SUMM-BAG; + } + container peer-timer-values { + description + "Peer specific timer values"; + uses MSDP-PEER-TIMER-BAG; + } + container peer-statistics { + description + "Peer statistics"; + uses MSDP-STATS-PEER-BAG; + } + leaf connection-source { + type inet:ipv4-address; + description + "Local Address"; + } + leaf local-port { + type uint16; + description + "Local TCP Port"; + } + leaf remote-port { + type uint16; + description + "Remote TCP Port"; + } + leaf ttl { + type int32; + description + "TTL"; + } + leaf write-queue-length { + type int32; + units "byte"; + description + "Bytes on the writeQ"; + } + leaf read-queue-length { + type int32; + units "byte"; + description + "Bytes on the readQ"; + } + leaf expires { + type uint64; + units "second"; + description + "When the peer times out (seconds)"; + } + leaf cleared { + type uint64; + units "second"; + description + "last time cleared (seconds)"; + } + leaf last-in-message-time-stamp { + type uint64; + description + "last timestamp msg was received"; + } + leaf established-time-stamp { + type uint64; + description + "Timestamp when moved in/out of established state"; + } + leaf sa-sent { + type uint32; + description + "SA Sent"; + } + leaf sa-received { + type uint32; + description + "SA Received"; + } + leaf discarded { + type uint32; + description + "Output Messages blocked"; + } + leaf in-sa-acl { + type string; + description + "Incoming SA ACL"; + } + leaf out-sa-acl { + type string; + description + "Outgoing SA ACL"; + } + leaf in-rp-acl { + type string; + description + "Incoming RP ACL"; + } + leaf out-rp-acl { + type string; + description + "Outgoing RP ACL"; + } + leaf incoming-sa-route-map { + type string; + description + "Incoming SA route-map"; + } + leaf outgoing-sa-route-map { + type string; + description + "Outgoing SA route-map"; + } + leaf incoming-rp-route-map { + type string; + description + "Incoming RP route-map"; + } + leaf outgoing-rp-route-map { + type string; + description + "Outgoing RP route-map"; + } + leaf sa-request-input-filter { + type string; + description + "SA-Req input filter"; + } + leaf mesh-group-name { + type string; + description + "Mesh group name"; + } + leaf is-password-configured { + type boolean; + description + "Has a peer password been configured for this + peer"; + } + leaf is-password-set-on-listen { + type boolean; + description + "Has a peer password been set for this peer on + the listen socket"; + } + leaf is-password-set-on-active { + type boolean; + description + "Has a peer password been set for this peer on + the active socket"; + } + leaf keep-alive-timer-period { + type uint32; + description + "KeepAlive timer period"; + } + leaf peer-time-out-timer-period { + type uint32; + description + "Peer timeout timer period"; + } + } + + grouping MSDP-STATS-PEER-BAG { + description + "MSDP Peer Stats Bag"; + leaf peer-address-xr { + type inet:ipv4-address; + description + "Peer's Address"; + } + leaf as-number-string { + type string; + description + "Peer's ASnum"; + } + leaf peer-state { + type Msdp-peer-state; + description + "Peer's State"; + } + leaf sa-count { + type uint32; + description + "SA count (entries with E flag set)"; + } + leaf rpf-failures { + type uint32; + description + "TLVs which failed RPF"; + } + leaf rpf-enqueued { + type uint32; + description + "TLVs enqueued"; + } + leaf rpf-dequeued { + type uint32; + description + "TLVs dequeued"; + } + leaf keep-alive-received { + type uint32; + description + "Keepalives type TLVs rcvd"; + } + leaf notification-received { + type uint32; + description + "Notification type TLVs rcvd"; + } + leaf tlv-sa-received { + type uint32; + description + "SA type TLVs rcvd"; + } + leaf tlv-sa-request-received { + type uint32; + description + "SA Request type TLVs rcvd"; + } + leaf tlv-sa-response-received { + type uint32; + description + "SA Response type TLVs rcvd"; + } + leaf tlv-encapsulation-data-received { + type uint32; + description + "SA Encap Data TLVs rcvd"; + } + leaf tlv-unknown-received { + type uint32; + description + "Unknown type TLVs rcvd"; + } + leaf keep-alive-sent { + type uint32; + description + "Keepalives type TLVs sent"; + } + leaf notification-sent { + type uint32; + description + "Notification type TLVs sent"; + } + leaf tlv-sa-sent { + type uint32; + description + "SA type TLVs sent"; + } + leaf tlv-sa-request-sent { + type uint32; + description + "SA Request type TLVs sent"; + } + leaf tlv-sa-response { + type uint32; + description + "SA Response type TLVs sent"; + } + leaf tlv-encapsulation-data-sent { + type uint32; + description + "SA Encap Data TLVs sent"; + } + leaf sa-received { + type uint32; + description + "Total SA messages received"; + } + leaf sa-sent { + type uint32; + description + "Total SA messages sent"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper.yang new file mode 100644 index 000000000..84bfe6622 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-msdp-oper.yang @@ -0,0 +1,412 @@ +module Cisco-IOS-XR-msdp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-msdp-oper"; + prefix msdp-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-msdp-oper-sub1 { + revision-date 2021-09-22; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR msdp package operational data. + + This module contains definitions + for the following management objects: + msdp: MSDP operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-22 { + description + "backward compatible addition"; + semver:module-version "2.0.0"; + } + revision 2019-08-27 { + description + "Providing MSDP information."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bgp-asn-plain { + type uint32 { + range "1..4294967295"; + } + description + "Bgp asn plain"; + } + + grouping PEER-TABLE { + description + "Common node of default-context, vrf"; + container peers { + description + "MSDP Peers"; + list peer { + key "peer-address"; + description + "MSDP Peer Info"; + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "Peer Address"; + } + uses MSDP-PEER-BAG; + } + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF Name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + uses STAT-PEER-TABLE; + uses PEER-TABLE; + uses PEER-SUMMARY-TABLE; + uses SA-CACHE-TABLE; + uses RPF-TABLE; + uses ROUTING-CONTEXT; + uses CACHE-SUMMARY; + uses ALL-SA-CACHE-TABLE; + uses AS-SOURCE-GROUP-SA-CACHE-TABLE; + uses RP-SOURCE-GROUP-SA-CACHE-TABLE; + } + } + } + + grouping SA-CACHE-TABLE { + description + "Common node of default-context, vrf"; + container sa-caches { + description + "MSDP SA Cache table - sources with Local & + External flags Set"; + list sa-cache { + key "source-address group-address"; + description + "MSDP SA Cache Entry - Sources with Local & + External flags set"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Previous Source Address"; + } + leaf group-address { + type inet:ipv4-address-no-zone; + description + "Previous Group Address"; + } + uses MSDP-SRC-BAG; + } + } + } + + grouping AS-SOURCE-GROUP-SA-CACHE-TABLE { + description + "Common node of default-context, vrf"; + container as-source-group-sa-caches { + description + "AS Filtered MSDP SA Cache table"; + list as-source-group-sa-cache { + key "as source-address group-address"; + description + "AS Filtered MSDP SA Cache Entries"; + leaf as { + type Bgp-asn-plain; + description + "AS Number"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ipv4-address-no-zone; + description + "Group Address"; + } + uses MSDP-SRC-BAG; + } + } + } + + grouping ALL-SA-CACHE-TABLE { + description + "Common node of default-context, vrf"; + container all-sa-caches { + description + "All of MSDP SA Cache ignoring source flags"; + list all-sa-cache { + key "source-address group-address"; + description + "MSDP All SA Cache Entries ignoring source flags"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ipv4-address-no-zone; + description + "Group Address"; + } + uses MSDP-SRC-BAG; + } + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container globals { + description + "MSDP Global Data"; + uses MSDP-GLOBAL-BAG; + } + container nsf { + description + "NSF Information"; + uses MSDP-EDM-NSF-BAG; + } + container summary { + description + "MSDP Process Summary Info"; + uses MSDP-PROCESS-SUMM-BAG; + } + container nsr { + description + "NSR Information"; + uses MSDP-NSR-BAG; + } + } + } + + grouping RPF-TABLE { + description + "Common node of default-context, vrf"; + container rpfs { + description + "MSDP Reverse Path Forwarding Info"; + list rpf { + key "rp-address"; + description + "MSDP Reverse Path Forwarding entries"; + leaf rp-address { + type inet:ipv4-address-no-zone; + description + "RP Address"; + } + uses MSDP-RPF-BAG; + } + } + } + + grouping RP-SOURCE-GROUP-SA-CACHE-TABLE { + description + "Common node of default-context, vrf"; + container rp-source-group-sa-caches { + description + "RP Filtered MSDP SA Cache table"; + list rp-source-group-sa-cache { + key "rp-address source-address group-address"; + description + "RP Filtered MSDP SA Cache Entries"; + leaf rp-address { + type inet:ipv4-address-no-zone; + description + "RP Address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source Address"; + } + leaf group-address { + type inet:ipv4-address-no-zone; + description + "Group Address"; + } + uses MSDP-SRC-BAG; + } + } + } + + grouping CACHE-SUMMARY { + description + "Common node of default-context, vrf"; + container cache-summary { + description + "Cache Summary"; + container rp-cache-summaries { + description + "RP specific Cache Summary Table"; + list rp-cache-summary { + key "rp-address"; + description + "Cache Summary RP"; + leaf rp-address { + type inet:ipv4-address-no-zone; + description + "RP Address"; + } + uses MSDP-SUMMARY-RP-BAG; + } + } + container cache-summary-preface { + description + "Cache Summary Preface"; + uses MSDP-SUMMARY-PREFACE-BAG; + } + container as-cache-summaries { + description + "AS specific Cache Summary Table"; + list as-cache-summary { + key "as"; + description + "Cache Summary AS"; + leaf as { + type Bgp-asn-plain; + description + "AS Number"; + } + uses MSDP-SUMMARY-AS-BAG; + } + } + } + } + + grouping ROUTING-CONTEXT { + description + "Common node of default-context, vrf"; + container routing-context { + description + "MSDP routing context"; + uses MSDP-CONTEXT; + } + } + + grouping STAT-PEER-TABLE { + description + "Common node of default-context, vrf"; + container stat-peers { + description + "Statistics for MSDP Peers"; + list stat-peer { + key "peer-address"; + description + "MSDP Peer Statistics Info"; + leaf peer-address { + type inet:ip-address-no-zone; + description + "Peer Address"; + } + uses MSDP-STATS-PEER-BAG; + } + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default Context"; + uses STAT-PEER-TABLE; + uses PEER-TABLE; + uses PEER-SUMMARY-TABLE; + uses SA-CACHE-TABLE; + uses RPF-TABLE; + uses ROUTING-CONTEXT; + uses CACHE-SUMMARY; + uses ALL-SA-CACHE-TABLE; + uses AS-SOURCE-GROUP-SA-CACHE-TABLE; + uses RP-SOURCE-GROUP-SA-CACHE-TABLE; + } + } + + grouping PEER-SUMMARY-TABLE { + description + "Common node of default-context, vrf"; + container peer-summaries { + description + "MSDP Peers summary"; + list peer-summary { + key "peer-address"; + description + "MSDP Peer Summary Info"; + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "Peer Address"; + } + uses MSDP-PEER-SUMM-BAG; + } + } + } + + container msdp { + config false; + description + "MSDP operational data"; + container standby { + description + "Standby Process"; + uses DEFAULT-CONTEXT; + uses PROCESS; + uses VRF-TABLE; + } + container active { + description + "Active Process"; + uses DEFAULT-CONTEXT; + uses PROCESS; + uses VRF-TABLE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper-sub1.yang new file mode 100644 index 000000000..9ee05bc2f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper-sub1.yang @@ -0,0 +1,2864 @@ +submodule Cisco-IOS-XR-mvpn-oper-sub1 { + belongs-to Cisco-IOS-XR-mvpn-oper { + prefix Cisco-IOS-XR-mvpn-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR mvpn package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-09 { + description + "multiple backward compatible additions made. MDT tables, groupings, and leaf changes"; + semver:module-version "2.1.1m"; + } + revision 2021-08-17 { + description + "backward compatible addition, in leaf discovery-type was made"; + semver:module-version "2.1.0"; + } + revision 2020-04-02 { + description + "MVPN TreeSID information added."; + semver:module-version "2.0.0"; + } + revision 2019-08-27 { + description + "Providing MVPN information."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pim-seg-leaf-entry { + type enumeration { + enum "i-pmsi" { + value 1; + description + "Intra AS I-PMSI"; + } + enum "inter-as-i-pmsi" { + value 2; + description + "Inter AS I-PMSI"; + } + enum "s-pmsi" { + value 3; + description + "S PMSI"; + } + enum "unsolicited-leaf-ad" { + value 4; + description + "Unsolicited Leaf AD"; + } + enum "unspecified-leaf-ad" { + value 6; + description + "Unspecified Leaf AD"; + } + } + description + "Pim seg leaf entry"; + } + + typedef Pim-seg-entry { + type enumeration { + enum "i-pmsi" { + value 1; + description + "Intra AS I-PMSI"; + } + enum "s-pmsi" { + value 3; + description + "S PMSI"; + } + enum "lib-mvpn-csc" { + value 8; + description + "PIM LIB MVPN CSC"; + } + } + description + "Pim seg entry"; + } + + typedef Pim-mgmt-mvpn-id { + type enumeration { + enum "pim-mgmt-mvpn-id-type-mldp-part-mp2mp" { + value 0; + description + "MLDP Partitioned Multipoint-to-Multipoint"; + } + enum "pim-mgmt-mvpn-id-type-mldp-part-p2mp" { + value 1; + description + "MLDP Partitioned Point-to-Multipoint"; + } + enum "pim-mgmt-mvpn-id-type-mldp-data-mdt" { + value 2; + description + "MLDP Data MDT"; + } + enum "pim-mgmt-mvpn-id-type-mldp-ctrl" { + value 3; + description + "MLDP Control"; + } + enum "pim-mgmt-mvpn-id-type-mldp-part-bidir-mp2mp" { + value 4; + description + "MLDP Partitioned Bidirectional + Multipoint-to-Multipoint"; + } + enum "pim-mgmt-mvpn-id-type-mldp-def" { + value 5; + description + "MLDP Default"; + } + enum "p2mp-rsvp-te-default" { + value 6; + description + "RSVP TE Default"; + } + enum "p2mp-rsvp-te-partitioned" { + value 7; + description + "RSVP TE Partitioned"; + } + enum "p2mp-rsvp-te-data-mdt" { + value 8; + description + "RSVP TE Data MDT"; + } + enum "ingress-replication-default" { + value 9; + description + "IR Default"; + } + enum "ingress-replication-partitioned" { + value 10; + description + "IR Partitioned"; + } + enum "ingress-replication-data-mdt" { + value 11; + description + "IR Data MDT"; + } + enum "ingress-replication-control" { + value 12; + description + "IR Control"; + } + enum "segment-mdt" { + value 13; + description + "Segment MDT"; + } + } + description + "MVPN ID type"; + } + + typedef Pim-bag-mdt { + type enumeration { + enum "in-band" { + value 0; + description + "Inband type MDT"; + } + enum "gre" { + value 1; + description + "GRE type MDT"; + } + enum "mldp" { + value 2; + description + "MLDP type MDT"; + } + enum "p2mp" { + value 3; + description + "P2MP type MDT"; + } + enum "ir" { + value 4; + description + "IR type MDT"; + } + enum "vxlan" { + value 5; + description + "VXLAN type MDT"; + } + enum "gin-band" { + value 6; + description + "GInband type MDT"; + } + enum "tree-sid" { + value 7; + description + "Tree-SID type MDT"; + } + } + description + "MDT type"; + } + + typedef Pim-bag-mldp-opaque { + type enumeration { + enum "opaque-global-identifier" { + value 1; + description + "Global-ID Opaque Type"; + } + enum "opaque-vpn-identifier" { + value 2; + description + "VPN-ID Opaque Type"; + } + } + description + "MLDP Opaque type"; + } + + typedef Pim-bag-mldp-tree { + type enumeration { + enum "p2m-ptree" { + value 6; + description + "MLDP P2MP Tree"; + } + enum "mp2m-ptree" { + value 8; + description + "MLDP MP2MP Tree"; + } + } + description + "MLDP Tree type"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Pim-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + grouping PIM-TIMESPEC-BAG { + description + "PIM timespec bag"; + leaf seconds { + type uint32; + units "second"; + description + "Seconds part of time value"; + } + leaf nanoseconds { + type uint32; + units "nanosecond"; + description + "Nanoseconds part of time value"; + } + } + + grouping PIM-LEAF-AD-BAG { + description + "PIM Leaf AD information"; + container leg-created { + description + "Outgoing leg creation time"; + uses PIM-TIMESPEC-BAG; + } + leaf originating-router { + type inet:ipv4-address; + description + "Originating Router"; + } + leaf label { + type uint32; + description + "MPLS Label"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + } + + grouping PIM-SEGMENT-DB-BAG { + description + "Segment database information"; + container source-address { + description + "Source Address"; + uses PIM-ADDRTYPE; + } + container group-address { + description + "Group Address"; + uses PIM-ADDRTYPE; + } + container upstream-core-context { + description + "Upstream Core Context"; + uses PIM-DATAMDT-CORETYPE; + } + container downstream-core-context { + description + "Downstream Core Context"; + uses PIM-DATAMDT-CORETYPE; + } + container old-upstream-core-context { + description + "Old Upstream Core Context"; + uses PIM-DATAMDT-CORETYPE; + } + container segment-created { + description + "Segment entry creation time"; + uses PIM-TIMESPEC-BAG; + } + container spmsi-rx { + description + "SPMSI entry creation time"; + uses PIM-TIMESPEC-BAG; + } + container spmsi-sent { + description + "SPMSI sent time"; + uses PIM-TIMESPEC-BAG; + } + leaf segmented-entry-type { + type Pim-seg-entry; + description + "Segmented Entry Type"; + } + leaf segmented-entry-leaf-type { + type Pim-seg-leaf-entry; + description + "Segmented Entry Leaf Type"; + } + leaf source-address-length { + type uint32; + description + "Source Address Length"; + } + leaf group-address-length { + type uint32; + description + "Group Address Length"; + } + leaf pe-address { + type inet:ipv4-address; + description + "PE Address"; + } + leaf tree-type { + type uint8; + description + "Tree Type"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF Name"; + } + leaf fec-opaque-type { + type uint8; + description + "FEC Opaque Type"; + } + leaf fec-opaque-length { + type uint16; + description + "FEC Opaque Length"; + } + leaf fec-opaque-value { + type yang:hex-string; + description + "FEC Opaque Value"; + } + leaf rpf-neighbor { + type inet:ipv4-address; + description + "RPF Neighbor Address"; + } + leaf old-rpf-neighbor { + type inet:ipv4-address; + description + "Previous RPF Neighbor Address"; + } + leaf chkpt-object-identifier { + type uint32; + description + "Checkpoint Object ID"; + } + leaf source-route-distinguisher { + type yang:hex-string; + description + "Source RD value"; + } + leaf entry-type { + type uint8; + description + "Segmented Entry Type"; + } + leaf segmented-id { + type uint32; + description + "Segmented ID"; + } + leaf old-segmented-id { + type uint32; + description + "Old Segmented ID"; + } + leaf is-s-pmsi-originated { + type boolean; + description + "Is S PMSI Originated"; + } + leaf is-s-pmsi-sent { + type boolean; + description + "Is S PMSI sent"; + } + leaf is-i-pmsi-sent { + type boolean; + description + "Is I PMSI sent"; + } + leaf is-s-pmsi-received { + type boolean; + description + "Is S PMSI Received"; + } + leaf is-i-pmsi-received { + type boolean; + description + "Is I PMSI Received"; + } + leaf is-unsol-leaf-ad-sent { + type boolean; + description + "Is Unsolicited Leaf AD sent"; + } + leaf is-leaf-ad-sent { + type boolean; + description + "Is Leaf AD sent"; + } + leaf is-upstream-tree-added { + type boolean; + description + "Is Upstream Tree added"; + } + leaf is-downstream-tree-added { + type boolean; + description + "Is Downstream Tree added"; + } + leaf downstream-core-type { + type boolean; + description + "Downstream Core Tree Type"; + } + leaf upstream-core-type { + type boolean; + description + "UpStream Core Tree Type"; + } + leaf route-distinguisher { + type yang:hex-string; + description + "RD value"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf stale { + type boolean; + description + "Stale"; + } + list lead-ad { + description + "Leaf AD list"; + uses PIM-LEAF-AD-BAG; + } + } + + grouping PIM-MVPN-ID-INFO { + description + "MVPN ID information"; + leaf mvpn-identifier-xr { + type uint32; + description + "MVPN ID"; + } + leaf mvpn-identifier-type { + type Pim-mgmt-mvpn-id; + description + "MVPN ID type"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf stale { + type boolean; + description + "TRUE if MVPN ID is stale"; + } + leaf chkpt-object-identifier { + type uint32; + description + "Checkpoint Object ID"; + } + } + + grouping PIM-MDT-DATA-PFX-BAG { + description + "PIM Data MDT prefix bag"; + container mdt-data-prefix { + description + "Data MDT Prefix"; + uses PIM-ADDRTYPE; + } + container mdt-data-source { + description + "Data MDT Source"; + uses PIM-ADDRTYPE; + } + leaf mdt-maximum-aggregation { + type uint32; + description + "Data MDT max aggregation"; + } + leaf is-mdt-delete-in-progress { + type boolean; + description + "Is the entry being deleted ?"; + } + leaf is-mdt-local { + type boolean; + description + "Is the entry locally assigned ?"; + } + leaf mdt-refcount { + type uint32; + description + "No of cust routes using this MDT prefix"; + } + leaf mdt-decapsulation-refcount { + type uint32; + description + "No of cust routes using this MDT prefix on Decap + PE"; + } + } + + grouping PIM-BGP-SAFI-BAG { + description + "PIM BGP SAFI bag"; + container source { + description + "Source address"; + uses PIM-ADDRTYPE; + } + container group { + description + "Group address"; + uses PIM-ADDRTYPE; + } + container next-hop { + description + "Next hop address"; + uses PIM-ADDRTYPE; + } + leaf route-distinguisher { + type string { + length "0..256"; + } + description + "Router ID"; + } + leaf extranet-path-count { + type uint32; + description + "Count of dependent extranet paths"; + } + leaf is-bgp-added { + type boolean; + description + "SAFI learnt from BGP"; + } + } + + grouping PIM-PE-BAG { + description + "PIM MVPN PE"; + leaf ppmp-label { + type uint32; + description + "PPMP Label"; + } + leaf mvpn-identifier { + type uint32; + description + "MVPN ID"; + } + leaf ms-pmsi-head-lsm-identifier { + type uint32; + description + "MS PMSI Head LSM Identifier"; + } + leaf bidir-pmsi-head-lsm-identifier { + type uint32; + description + "Bidir PMSI Head LSM Identifier"; + } + leaf s-pmsi-count { + type uint32; + description + "S PMSI Count"; + } + leaf bidir-pmsi { + type string { + length "0..70"; + } + description + "Bidir PMSI String"; + } + leaf remote-bidir-pmsi { + type string { + length "0..70"; + } + description + "Remote Bidir PMSI String"; + } + leaf i-pmsi { + type string { + length "0..70"; + } + description + "I PMSI String"; + } + leaf i-pmsi-v6 { + type string { + length "0..70"; + } + description + "I PMSI v6 String"; + } + leaf ms-pmsi { + type string { + length "0..70"; + } + description + "MS PMSI String"; + } + leaf bsr-pmsi { + type string { + length "0..70"; + } + description + "BSR PMSI"; + } + leaf auto-rp-discovery-pmsi { + type string { + length "0..70"; + } + description + "AutoRP Discovery PMSI"; + } + leaf auto-rp-announce-pmsi { + type string { + length "0..70"; + } + description + "AutoRP Announce PMSI"; + } + leaf route-distinguisher { + type yang:hex-string; + description + "RD value"; + } + leaf ms-pmsi-state { + type uint32; + description + "MS PMSI State"; + } + leaf rib-head-lsm-identifier { + type uint32; + description + "RIB Head LSM ID"; + } + leaf shared-count { + type uint32; + description + "Shared Count to this Ingress PE"; + } + leaf source-count { + type uint32; + description + "Source count to this Ingress PE"; + } + leaf dm-source-count { + type uint32; + description + "DM Source count to this Ingress PE"; + } + leaf def-md-source-count { + type uint32; + description + "Def MD Source count to this Ingress PE"; + } + leaf srp2m-policy-count { + type uint32; + description + "SR P2MP Policy count to this Ingress PE"; + } + leaf gre-bidir-rp-count { + type uint32; + description + "GRE Bidir RP count to this Ingress PE"; + } + leaf mpls-bidir-rp-count { + type uint32; + description + "MPLS Bidir RP count to this Ingress PE"; + } + leaf number-of-sources { + type uint32; + description + "Source Count"; + } + leaf number-of-rp { + type uint32; + description + "RP count"; + } + leaf number-of-bidir-rp { + type uint32; + description + "Bidir RP Count"; + } + leaf rpf-identifier { + type uint32; + description + "RPF ID"; + } + leaf remote-rpf-identifier { + type uint32; + description + "Remote RPF ID"; + } + leaf bidir-rpf-identifier { + type uint32; + description + "Bidir RPF ID"; + } + leaf remote-bidir-rpf-identifier { + type uint32; + description + "Remote Bidir RPF ID"; + } + leaf checkpoint-object-identifier { + type uint32; + description + "Checkpoint Object ID"; + } + leaf mvpn-label { + type uint32; + description + "IR MVPN Tail Label"; + } + leaf valid-rd-present { + type boolean; + description + "RD is valid"; + } + leaf tail-identifier-tree-added { + type boolean; + description + "Tail ID tree added"; + } + leaf bidir-tail-identifier-tree-added { + type boolean; + description + "Bidir Tail ID Tree Added"; + } + leaf remote-bidir-tail-identifier-tree-added { + type boolean; + description + "Remote Bidir Tail ID Tree added"; + } + leaf tail-rd-tree-added { + type boolean; + description + "Tail RD tree added"; + } + leaf tail-part-rsvpte-added { + type boolean; + description + "Tail Part RSVP TE added"; + } + leaf tail-def-rsvpte-added { + type boolean; + description + "Tail Def RSVP TE added"; + } + leaf te-leg-added { + type boolean; + description + "TE Leg Added"; + } + leaf head-te-ctrl-leg-added { + type boolean; + description + "Head RSVP TE Ctrl Leg added"; + } + leaf tail-part-ir-added { + type boolean; + description + "Tail Part IR added"; + } + leaf head-ir-def-leg-added { + type boolean; + description + "Head IR Def Leg Added"; + } + leaf head-ir-ctrl-leg-added { + type boolean; + description + "Head IR Ctrl Leg added"; + } + leaf head-ir-part-leg-added { + type boolean; + description + "Head IR Part Leg added"; + } + leaf tree-sid-leaf-added { + type boolean; + description + "Tree-SID Default/Partition Leaf Added"; + } + leaf tree-sid-default-egress-added { + type boolean; + description + "Tree-SID Default Egress Added"; + } + leaf tree-sid-partition-egress-added { + type boolean; + description + "Tree-SID Partition Egress Added"; + } + leaf tree-sid-ctrl-leaf-added { + type boolean; + description + "Tree-SID Ctrl Leaf added"; + } + leaf bgp-bidir-pmsi { + type boolean; + description + "BGP Bidir PMSI"; + } + leaf remote-bgp-bidir-pmsi { + type boolean; + description + "Remote BGP Bidir PMSI"; + } + leaf bgp-i-pmsi { + type boolean; + description + "BGP I PMSI"; + } + leaf bgp-i-pmsi-v6 { + type boolean; + description + "BGP I PMSI v6"; + } + leaf i-pmsi-leaf-ad { + type boolean; + description + "I PMSI LEAF AD"; + } + leaf bgp-ms-pmsi { + type boolean; + description + "BGP MS PMSI"; + } + leaf ms-pmsi-leaf-ad { + type boolean; + description + "MS PMSI LEAF AD"; + } + leaf ctrl-bsr-leaf-ad { + type boolean; + description + "CTRL BSR LEAF AD"; + } + leaf ctrl-auto-rp-ann-leaf-ad { + type boolean; + description + "CTRL AUTO RP ANN LEAF AD"; + } + leaf ctrl-auto-rp-disc-leaf-ad { + type boolean; + description + "CTRL AUTO RP DISC LEAF AD"; + } + } + + grouping PIM-RELAY-BAG { + description + "PIM Relay"; + leaf relay-vrf-name { + type string { + length "0..33"; + } + description + "Relay VRF name"; + } + leaf pass-through { + type boolean; + description + "Relay Mode"; + } + } + + grouping PIM-ANYCAST-RP-ENTRY { + description + "PIM Anycast RP entry"; + container prefix { + description + "Anycast-RP Range Prefix"; + uses PIM-ADDRTYPE; + } + leaf prefix-length { + type uint8; + description + "Anycast-RP Range Prefix Length"; + } + leaf ancast-rp-marked { + type boolean; + description + "Anycast-RP Range marked"; + } + } + + grouping PIM-RT-EXTCOMM { + description + "PIM Route-target entry"; + leaf route-target { + type yang:hex-string; + description + "Route Target Extended community value"; + } + leaf configured { + type boolean; + description + "Configured Route Target"; + } + leaf anycast-rp { + type boolean; + description + "Anycast-RP Group"; + } + leaf anycast-rp-marked { + type boolean; + description + "Anycast-RP Group marked"; + } + leaf update-pending { + type boolean; + description + "Update Pending to BGP"; + } + leaf bgp-auto-discovery { + type boolean; + description + "BGP Auto Discovery"; + } + leaf segment-border { + type boolean; + description + "Segment Border"; + } + } + + grouping PIM-TABLE-CTX-BAG { + description + "PIM Table context"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf table-name { + type string; + description + "Table name"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf is-active { + type boolean; + description + "Active status"; + } + leaf is-ital-registration-done { + type boolean; + description + "ITAL reg status"; + } + leaf is-rib-registration-done { + type boolean; + description + "RIB reg status"; + } + leaf is-rib-convergence-received { + type boolean; + description + "RIB Convergence receive status"; + } + leaf is-rib-convergence { + type boolean; + description + "RIB Convergence status"; + } + leaf rpf-registrations { + type uint32; + description + "RPF Registration count"; + } + } + + grouping PIM-CONTEXT-BAG { + description + "PIM Context bag"; + container remote-default-group { + description + "Remote Default Group"; + uses PIM-ADDRTYPE; + } + container rpf-default-table { + description + "RPF Default Table"; + uses PIM-TABLE-CTX-BAG; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf murib-id { + type uint32; + description + "MURIB ID"; + } + leaf rpf-id { + type uint32; + description + "RPF ID"; + } + leaf remote-table-id { + type uint32; + description + "Remote Table ID"; + } + leaf mdt-default-group { + type inet:ipv4-address; + description + "MDT Default group"; + } + leaf mdt-source { + type inet:ipv4-address; + description + "MDT source"; + } + leaf mdt-source-interface { + type string; + description + "MDT Source Interface Name"; + } + leaf mdt-interface { + type xr:Interface-name; + description + "MDT handle"; + } + leaf mdt-gre-rpf-identifier { + type uint32; + description + "GRE-MDT RPF Identifier"; + } + leaf mdt-gre-remote-rpf-identifier { + type uint32; + description + "GRE-MDT Remote RPF Identifier"; + } + leaf is-unicast-rib-registration { + type boolean; + description + "Ucast RIB Registration"; + } + leaf is-multicast-rib-registration { + type boolean; + description + "Mcast RIB Registration"; + } + leaf is-active { + type boolean; + description + "Active"; + } + leaf is-active-ital { + type boolean; + description + "Active ITAL"; + } + leaf is-mrib-register { + type boolean; + description + "MRIB Register"; + } + leaf is-mdt-owner { + type boolean; + description + "MDT Owner"; + } + leaf is-routing-enabled { + type boolean; + description + "Routing Enabled"; + } + leaf is-socket-add-required { + type boolean; + description + "VRF required on Socket"; + } + leaf is-socket-added { + type boolean; + description + "VRF added on Socket"; + } + leaf is-lpts-socket-add-required { + type boolean; + description + "VRF LPTS filter required on Socket"; + } + leaf is-lpts-socket-added { + type boolean; + description + "VRF LPTS filter added on Socket"; + } + leaf is-udp-socket-add-required { + type boolean; + description + "VRF added on UDP Socket"; + } + leaf is-udp-socket-added { + type boolean; + description + "VRF added on UDP Socket"; + } + leaf is-udp-socket-bind-required { + type boolean; + description + "VRF bind required on UDP Socket"; + } + leaf is-udp-socket-bind { + type boolean; + description + "VRF bound on UDP Socket"; + } + leaf is-register-injection-socket-add-required { + type boolean; + description + "VRF required on Register Injection Socket"; + } + leaf is-register-injection-socket-added { + type boolean; + description + "VRF added on Register Injection Socket"; + } + leaf is-register-injection-lpts-socket-add-required { + type boolean; + description + "VRF LPTS filter required on Register Injection + Socket"; + } + leaf is-register-injection-lpts-socket-added { + type boolean; + description + "VRF LPTS filter added on Register Injection + Socket"; + } + leaf is-m-host-publish-pending { + type boolean; + description + "Publish pending for MHost Default interface"; + } + leaf mhost-interface { + type xr:Interface-name; + description + "MHost handle"; + } + leaf mhost-default-interface-config { + type string; + description + "Configured Mhost Defint"; + } + leaf mdt-mtu { + type uint32; + description + "MDT MTU"; + } + leaf maximum-mdt-aggregation { + type uint32; + description + "MDT max aggregation"; + } + leaf mdt-data-switchover-interval { + type uint32; + description + "Data MDT Switchover interval"; + } + leaf mdt-data-announce-interval { + type uint32; + description + "Data MDT Announce interval"; + } + leaf non-default-vrf-count-on-socket { + type uint32; + description + "Count of non-default vrfs on raw socket"; + } + leaf neighbor-filter-name { + type string; + description + "Neighbor Filter Name"; + } + leaf mdt-neighbor-filter-name { + type string; + description + "MDT Neighbor Filter Name"; + } + leaf allow-rp-configured { + type boolean; + description + "Allow RP Configured"; + } + leaf allow-rp-group-list { + type string { + length "0..64"; + } + description + "Allow RP Group-List ACL Name"; + } + leaf allow-rp-rp-list { + type string { + length "0..64"; + } + description + "Allow RP RP-list ACL Name"; + } + leaf sg-expiry-timer-configured { + type boolean; + description + "S,G Expiry Timer Configured"; + } + leaf sg-expiry-time { + type uint16; + units "second"; + description + "S,G Expiry Time Configured, in seconds"; + } + leaf sg-expiry-timer-sg-list { + type string { + length "0..64"; + } + description + "S,G expiry timer ACL name"; + } + leaf mldp-mdt-name { + type string; + description + "MLDP MDT Name"; + } + leaf mldp-mdt-interface { + type xr:Interface-name; + description + "MLDP MDT handle"; + } + leaf mldp-mdt-mtu { + type uint32; + description + "MLDP MDT MTU"; + } + leaf mldp-maximum-mdt-aggregation { + type uint32; + description + "MLDP MDT max aggregation"; + } + leaf mldp-mdt-data-switchover-interval { + type uint32; + description + "MLDP Data MDT Switchover interval"; + } + leaf mldp-mdt-data-announce-interval { + type uint32; + description + "MLDP Data MDT Announce interval"; + } + leaf mldp-mdt-rpf-identifier { + type uint32; + description + "MLDP RPF-ID"; + } + leaf mldp-mdt-remote-rpf-identifier { + type uint32; + description + "MLDP Remote RPF-ID"; + } + leaf is-create-mldp-mdt-interface { + type boolean; + description + "Create MLDP MDT interface"; + } + leaf is-mldp-mdt-owner { + type boolean; + description + "MLDP MDT Owner"; + } + leaf mldp-root-count { + type uint32; + description + "MLDP Root count"; + } + leaf mldp-head-lsm-identifier { + type uint32; + description + "MLDP Head LSM-ID"; + } + leaf mldp-remote-head-lsm-identifier { + type uint32; + description + "MLDP Remote Head LSM-ID"; + } + leaf organization-unique-identifier { + type uint32; + description + "OUI for VPN-ID"; + } + leaf vpn-index { + type uint32; + description + "VPN Index"; + } + leaf mldp-partitioned-mdt-configured { + type boolean; + description + "MLDP Partitioned MDT"; + } + leaf mldp-remote-partitioned-mdt-configured { + type boolean; + description + "MLDP Remote Partitioned MDT"; + } + leaf mldp-partioned-mp2m-ptree { + type boolean; + description + "MP2MP Partitioned MDT tree"; + } + leaf mldp-partitioned-head-lsm-identifier { + type uint32; + description + "Partitioned MDT Head LSM-ID"; + } + leaf mldp-head-local-label { + type uint32; + description + "Partitioned MDT Head local label"; + } + leaf mldp-partitioned-mdt-identifier { + type uint32; + description + "MLDP Partitioned MDT Identifier"; + } + leaf bgp-auto-discovery-configured { + type boolean; + description + "BGP Auto-Discovery configured"; + } + leaf suppress-pim-data-mdt-tlv { + type boolean; + description + "Suppress PIM Data-MDT TLV Announcements"; + } + leaf inter-autonomous-system-enabled { + type boolean; + description + "Inter-AS Enabled"; + } + leaf bgp-source-active-announce { + type boolean; + description + "Send BGP Source-Active Announcements"; + } + leaf bgp-i-pmsi-added { + type boolean; + description + "BGP I-PMSI Added"; + } + leaf mldp-bsr-control-tree-added { + type boolean; + description + "MLDP BSR Control tree added"; + } + leaf mldp-auto-rp-discovery-tree-added { + type boolean; + description + "MLDP Autorp Discovery Control tree added"; + } + leaf mldp-auto-rp-announce-tree-added { + type boolean; + description + "MLDP Autorp Announce Control tree added"; + } + leaf bgp-auto-discovery-type { + type uint32; + description + "BGP Auto Discovery Type"; + } + leaf mdt-partitioned-mdt-control-identifier { + type uint32; + description + "Partitioned MDT Control Identifier"; + } + leaf mdt-partitioned-ir-control-identifier { + type uint32; + description + "Partitioned IR MDT Control Identifier"; + } + leaf mldp-control-head-lsm-identifier { + type uint32; + description + "MLDP MVPN Identifier"; + } + leaf umh { + type boolean; + description + "Join UMH Core-Tree"; + } + leaf suppress-shared-tree-join { + type boolean; + description + "Suppress Shared-Tree Joins"; + } + leaf rsvp-te-mdt-name { + type string; + description + "RSVP-TE MDT Name"; + } + leaf rsvp-te-mdt-interface { + type xr:Interface-name; + description + "RSVP-TEMDT handle"; + } + leaf rsvp-te-mdt-mtu { + type uint32; + description + "RSVP-TEMDT MTU"; + } + leaf rsvp-te-maximum-mdt-aggregation { + type uint32; + description + "RSVP-TE MDT max aggregation"; + } + leaf rsvp-te-mdt-data-switchover-interval { + type uint32; + description + "RSVP-TE Data MDT Switchover interval"; + } + leaf rsvp-te-mdt-data-announce-interval { + type uint32; + description + "RSVP-TE Data MDT Announce interval"; + } + leaf rsvp-te-mdt-rpf-identifier { + type uint32; + description + "RSVP-TE RPF-ID"; + } + leaf is-create-rsvp-te-mdt-interface { + type boolean; + description + "Create RSVP-TE MDT interface"; + } + leaf is-rsvp-te-mdt-owner { + type boolean; + description + "RSVP-TE MDT Owner"; + } + leaf rsvp-te-mdt-static-p2mp-count { + type uint32; + description + "Number of Static P2MP-TE MDT"; + } + leaf p2mpte-li-drop { + type uint32; + description + "Route LI updates dropped for P2MP"; + } + leaf ir-mdt-name { + type string; + description + "IR MDT Name"; + } + leaf ir-mdt-interface { + type xr:Interface-name; + description + "IRMDT handle"; + } + leaf ir-mdt-mtu { + type uint32; + description + "IRMDT MTU"; + } + leaf ir-maximum-mdt-aggregation { + type uint32; + description + "IR MDT max aggregation"; + } + leaf ir-mdt-data-switchover-interval { + type uint32; + description + "IR Data MDT Switchover interval"; + } + leaf ir-mdt-data-announce-interval { + type uint32; + description + "IR Data MDT Announce interval"; + } + leaf ir-mdt-rpf-identifier { + type uint32; + description + "IR RPF-ID"; + } + leaf ir-mdt-tail-label { + type uint32; + description + "IR Tail Label"; + } + leaf is-create-ir-mdt-interface { + type boolean; + description + "Create IR MDT interface"; + } + leaf is-ir-mdt-owner { + type boolean; + description + "IR MDT Owner"; + } + leaf is-sr-local { + type boolean; + description + "SR Local"; + } + leaf is-sr-remote { + type boolean; + description + "SR Remote"; + } + leaf sr-mdt-name { + type string; + description + "SR MDT Name"; + } + leaf sr-mdt-interface { + type xr:Interface-name; + description + "SRMDT handle"; + } + leaf sr-mdt-mtu { + type uint32; + description + "SRMDT MTU"; + } + leaf sr-maximum-mdt-aggregation { + type uint32; + description + "SR MDT max aggregation"; + } + leaf sr-mdt-data-switchover-interval { + type uint32; + description + "SR Data MDT Switchover interval"; + } + leaf sr-mdt-data-announce-interval { + type uint32; + description + "SR Data MDT Announce interval"; + } + leaf sr-mdt-rpf-identifier { + type uint32; + description + "SR RPF-ID"; + } + leaf sr-mdt-tail-label { + type uint32; + description + "SR Tail Label"; + } + leaf is-create-sr-mdt-interface { + type boolean; + description + "Create SR MDT interface"; + } + leaf is-sr-mdt-owner { + type boolean; + description + "SR MDT Owner"; + } + leaf mdt-partitioned-tree-sid-control-identifier { + type uint32; + description + "Partitioned Tree-SID MDT Control Identifier"; + } + leaf in-b-and-mdt-name { + type string; + description + "Inband MDT Name"; + } + leaf in-b-and-mdt-interface { + type xr:Interface-name; + description + "Inband MDT handle"; + } + leaf in-b-and-mdt-mtu { + type uint32; + description + "Inband MDT MTU"; + } + leaf in-band-maximum-mdt-aggregation { + type uint32; + description + "Inband MDT max aggregation"; + } + leaf in-b-and-mdt-data-switchover-interval { + type uint32; + description + "Inband Data MDT Switchover interval"; + } + leaf in-b-and-mdt-data-announce-interval { + type uint32; + description + "Inband Data MDT Announce interval"; + } + leaf in-b-and-mdt-rpf-identifier { + type uint32; + description + "Inband RPF-ID"; + } + leaf is-create-in-b-and-mdt-interface { + type boolean; + description + "Create Inband MDT interface"; + } + leaf is-in-b-and-mdt-owner { + type boolean; + description + "Inband MDT Owner"; + } + leaf in-band-signaling-local-enabled { + type boolean; + description + "Inband signaling Local enabled"; + } + leaf in-band-signaling-remote-enabled { + type boolean; + description + "Inband signaling Remote enabled"; + } + leaf valid-rd-present { + type boolean; + description + "RD is valid"; + } + leaf stale-rd-present { + type boolean; + description + "RD is stale"; + } + leaf route-distinguisher { + type yang:hex-string; + description + "RD value"; + } + leaf gin-b-and-mdt-name { + type string; + description + "Inband MDT Name"; + } + leaf gin-b-and-mdt-interface { + type xr:Interface-name; + description + "Inband MDT handle"; + } + leaf gin-b-and-mdt-mtu { + type uint32; + description + "Inband MDT MTU"; + } + leaf gin-band-maximum-mdt-aggregation { + type uint32; + description + "Inband MDT max aggregation"; + } + leaf gin-b-and-mdt-data-switchover-interval { + type uint32; + description + "Inband Data MDT Switchover interval"; + } + leaf gin-b-and-mdt-data-announce-interval { + type uint32; + description + "Inband Data MDT Announce interval"; + } + leaf gin-b-and-mdt-rpf-identifier { + type uint32; + description + "Inband RPF-ID"; + } + leaf is-create-gin-b-and-mdt-interface { + type boolean; + description + "Create Inband MDT interface"; + } + leaf is-gin-b-and-mdt-owner { + type boolean; + description + "Inband MDT Owner"; + } + leaf is-pim-nsf-rib-converged { + type boolean; + description + "PIM NSF RIB converged"; + } + leaf is-pim-nsf-rib-converge-received { + type boolean; + description + "PIM NSF RIB converge received"; + } + leaf is-rib-multipath-enabled { + type boolean; + description + "PIM RIB multiplath enabled"; + } + leaf is-rib-multipath-interface-hash { + type boolean; + description + "PIM RIB multipath interface hash"; + } + leaf is-rib-multipath-source-hash { + type boolean; + description + "PIM RIB multipath source based hash"; + } + leaf is-rib-multipath-source-next-hop-hash { + type boolean; + description + "PIM RIB multipath source-nexthop hash"; + } + leaf rump-enabled { + type boolean; + description + "PIM is using MuRIB"; + } + leaf is-create-mdt-interface { + type boolean; + description + "Create MDT interface"; + } + leaf is-auto-rp-listen-enabled { + type boolean; + description + "Auto RP Listen Enabled"; + } + leaf is-all-interface-disable-operation { + type boolean; + description + "PIM all interface disable operation"; + } + leaf is-default-granges { + type boolean; + description + "Default granges"; + } + leaf is-auto-rp-listen-sock-add { + type boolean; + description + "Auto RP listen sock add"; + } + leaf is-redistribution-reset { + type boolean; + description + "Pending redist reset"; + } + leaf redistribution-reset-count { + type uint32; + description + "Redist reset count"; + } + leaf rpf-policy-name { + type string; + description + "RPF topology selection route-policy name"; + } + leaf table-count { + type uint32; + description + "Number of configured Tables"; + } + leaf active-table-count { + type uint32; + description + "Number of active Tables"; + } + leaf anycast-rp-policy-name { + type string; + description + "Anycast-RP Policy Name"; + } + leaf anycast-rp-configured { + type boolean; + description + "Anycast-RP config"; + } + leaf bgp-remote-on { + type boolean; + description + "BGP remote interface status"; + } + leaf bgp-remote-interface-name { + type string; + description + "BGP remote interface name"; + } + leaf bgp-remote-interface { + type xr:Interface-name; + description + "BGP remote interface handle"; + } + leaf bgp-remote-address { + type inet:ipv4-address; + description + "BGP remote interface address"; + } + leaf bgp-remote-state { + type uint32; + description + "BGP remote interface state"; + } + leaf physical-interface-count { + type uint64; + description + "Enabled Physical Interface Count"; + } + leaf virtual-interface-count { + type uint64; + description + "Enabled Virtual Interface Count"; + } + leaf virtual-mlc-interface-name { + type string; + description + "Virtual master line card Interface"; + } + leaf mdt-immediate-switch { + type boolean; + description + "MDT Immediate Switch"; + } + leaf remote-mdt-idb-name { + type string; + description + "Remote MDT Interface Handle Name"; + } + leaf remote-mdt-address { + type inet:ipv4-address; + description + "Remote MDT interface address"; + } + leaf-list mldp-root-address { + type uint32; + description + "MLDP Root addresses"; + } + list export-route-target { + description + "Export Route Targets"; + uses PIM-RT-EXTCOMM; + } + list import-route-target { + description + "Import Route Targets"; + uses PIM-RT-EXTCOMM; + } + list anycast-rp-range { + description + "Anycast-RP Ranges"; + uses PIM-ANYCAST-RP-ENTRY; + } + } + + grouping PIM-MDT-DATA-TREESID-BAG { + description + "PIM Tree-SID bag"; + container mdt-data-core-tree-sid { + description + "Data MDT Tree-SID core"; + uses PIM-TREESID-CORE; + } + container mdt-data-source { + description + "Data MDT Source"; + uses PIM-ADDRTYPE; + } + leaf mdt-name-xr { + type string; + description + "Data MDT Name"; + } + leaf is-mdt-delete-in-progress { + type boolean; + description + "Is the entry being deleted ?"; + } + leaf is-mdt-local { + type boolean; + description + "Is the entry locally assigned ?"; + } + leaf mdt-refcount { + type uint32; + description + "No of cust routes using this MDT prefix"; + } + leaf mdt-decapsulation-refcount { + type uint32; + description + "No of cust routes using this MDT prefix on Decap + PE"; + } + leaf on-demand-color { + type uint32; + description + "On-Demand Color"; + } + leaf lfa-protected { + type boolean; + description + "Is the entry Tree-SID protected by LFA FRR?"; + } + list receiver-pe { + description + "Receiver PE list"; + uses PIM-MDT-DATA-LEG-BAG; + } + } + + grouping PIM-MDT-DATA-IR-BAG { + description + "PIM IR bag"; + container mdt-data-core-ir { + description + "Data MDT IR core"; + uses PIM-IR-CORE; + } + container mdt-data-source { + description + "Data MDT Source"; + uses PIM-ADDRTYPE; + } + leaf is-mdt-delete-in-progress { + type boolean; + description + "Is the entry being deleted ?"; + } + leaf is-mdt-local { + type boolean; + description + "Is the entry locally assigned ?"; + } + leaf mdt-refcount { + type uint32; + description + "No of cust routes using this MDT prefix"; + } + leaf mdt-decapsulation-refcount { + type uint32; + description + "No of cust routes using this MDT prefix on Decap + PE"; + } + leaf local-label { + type uint32; + description + "Local Label"; + } + list receiver-pe { + description + "Receiver PE list"; + uses PIM-MDT-DATA-LEG-BAG; + } + } + + grouping PIM-P2MPTE-CORE { + description + "PIM - P2MPTE core"; + leaf tunnel-type { + type uint32; + description + "Tunnel Type"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel Identifier"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "Extended Tunnel ID"; + } + leaf core-id { + type uint32; + description + "Core ID"; + } + leaf if-handle { + type uint32; + description + "Interface Handle"; + } + leaf tunnel-state { + type boolean; + description + "Tunnel State"; + } + } + + grouping PIM-P2MPTE-MDT-TUNNEL-DB-BAG { + description + "PIM P2MP-TE MDT TUNNEL DB bag"; + container mdt-default-p2mpte-core { + description + "Default MDT P2MPTE core"; + uses PIM-P2MPTE-CORE; + } + container default-mdt-source { + description + "Default MDT Source"; + uses PIM-ADDRTYPE; + } + container mdt-partition-p2mpte-core { + description + "Partitioned MDT P2MPTE core"; + uses PIM-P2MPTE-CORE; + } + container part-mdt-source { + description + "Partitioned MDT Source"; + uses PIM-ADDRTYPE; + } + container mdt-control-p2mpte-core { + description + "Cntrl IR core"; + uses PIM-P2MPTE-CORE; + } + leaf ctrl-tree-type { + type uint32; + description + "Ctrl Tree Type"; + } + leaf mdt-type { + type uint32; + description + "MDT Type"; + } + list def-pe { + description + "Default MDT PE list"; + uses PIM-P2MPTE-MDT-DATA-LEG-BAG; + } + list part-pe { + description + "Partitioned MDT PE list"; + uses PIM-P2MPTE-MDT-DATA-LEG-BAG; + } + list ctrl-pe { + description + "Ctrl PE list"; + uses PIM-P2MPTE-MDT-DATA-LEG-BAG; + } + } + + grouping PIM-MDT-CACHE-LEAF-AD-BAG { + description + "PIM MDT CACHE LEAF AD LEGS"; + leaf lead-ad-originator { + type inet:ipv4-address; + description + "Leaf AD Originator"; + } + } + + grouping PIM-GRE-CORE { + description + "PIM - GRE core"; + leaf bgp-auto-discovery-remote-tunnel-type { + type uint32; + description + "Remote tunnel type"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 Addr"; + } + } + + grouping PIM-DATAMDT-CORETYPE { + description + "PIM DATAMDT CORETYPE"; + container core-pim { + when "../mdt-type = 'gre'" { + description + "../MDTType = 'GRE'"; + } + description + "PIM - GRE core"; + uses PIM-GRE-CORE; + } + container core-mldp { + when "../mdt-type = 'mldp'" { + description + "../MDTType = 'MLDP'"; + } + description + "PIM - MLDP core"; + uses PIM-MLDP-CORE; + } + container core-identifier-p2mp { + when "../mdt-type = 'p2mp'" { + description + "../MDTType = 'P2MP'"; + } + description + "Core Identifier for RSVPTE MDT"; + uses PIM-RSVPTE-CORE; + } + container core-identifier-ir { + when "../mdt-type = 'ir'" { + description + "../MDTType = 'IR'"; + } + description + "Core Identifier for IR MDT"; + uses PIM-IR-CORE; + } + container core-identifier-tree-sid { + when "../mdt-type = 'tree-sid'" { + description + "../MDTType = 'TreeSID'"; + } + description + "Core Identifier for Tree-SID MDT"; + uses PIM-TREESID-CORE; + } + leaf mdt-type { + type Pim-bag-mdt; + description + "MDTType"; + } + leaf core-identifier-inband { + when "../mdt-type = 'in-band'" { + description + "../MDTType = 'InBand'"; + } + type uint32; + description + "Core Identifier for Inband MDT"; + } + } + + grouping PIM-MDT-CACHE-BAG { + description + "PIM Data MDT cache"; + container core-context { + description + "Core Context"; + uses PIM-DATAMDT-CORETYPE; + } + container customer-source-address-xr { + description + "Customer Source Address"; + uses PIM-ADDRTYPE; + } + container customer-group-address-xr { + description + "Customer Group Address"; + uses PIM-ADDRTYPE; + } + leaf core-source-address-xr { + type inet:ipv4-address; + description + "Core Source Address"; + } + leaf originator-pe-address { + type inet:ipv4-address; + description + "Originator PE Address"; + } + leaf expires { + type uint64; + units "second"; + description + "Entry expiry in seconds"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf send-count { + type uint32; + description + "Data MDT Join send count"; + } + leaf receive-count { + type uint32; + description + "Data MDT Join receive count"; + } + leaf src-vrf-name { + type string { + length "0..33"; + } + description + "Source VRF NAme"; + } + leaf chkpt-object-identifier { + type uint32; + description + "Checkpoint Object ID"; + } + list receiver-pe { + description + "Receiver PE list"; + uses PIM-MDT-CACHE-LEAF-AD-BAG; + } + } + + grouping PIM-IR-CORE { + description + "PIM - IR core"; + leaf tunnel-type { + type uint32; + description + "Tunnel Type"; + } + leaf label { + type uint32; + description + "MPLS Label"; + } + leaf lsmid { + type uint32; + description + "LSM ID"; + } + } + + grouping PIM-MDT-TUNNEL-DB-BAG { + description + "PIM MDT TUNNEL DB bag"; + container mdt-default-ir-core { + description + "Default MDT IR core"; + uses PIM-IR-CORE; + } + container default-mdt-source { + description + "Default MDT Source"; + uses PIM-ADDRTYPE; + } + container mdt-partition-ir-core { + description + "Partitioned MDT IR core"; + uses PIM-IR-CORE; + } + container part-mdt-source { + description + "Partitioned MDT Source"; + uses PIM-ADDRTYPE; + } + container mdt-control-ir-core { + description + "Cntrl IR core"; + uses PIM-IR-CORE; + } + leaf ctrl-tree-type { + type uint32; + description + "Ctrl Tree Type"; + } + leaf mdt-type { + type uint32; + description + "MDT Type"; + } + list def-pe { + description + "Default MDT PE list"; + uses PIM-MDT-DATA-LEG-BAG; + } + list part-pe { + description + "Partitioned MDT PE list"; + uses PIM-MDT-DATA-LEG-BAG; + } + list ctrl-pe { + description + "Ctrl PE list"; + uses PIM-MDT-DATA-LEG-BAG; + } + } + + grouping PIM-MDT-CACHE-SUMM-BAG { + description + "PIM Data MDT Cache Summary Bag"; + leaf cache-count { + type uint32; + description + "Data MDT Cache count"; + } + } + + grouping PIM-MDT-DATA-LEG-BAG { + description + "PIM MDT DATA LEGS"; + leaf leg-addr { + type inet:ipv4-address; + description + "NH Leg Address"; + } + leaf originator-addr { + type inet:ipv4-address; + description + "Originator Leg Address"; + } + leaf mvpn-label { + type uint32; + description + "MVPN label"; + } + } + + grouping PIM-RSVPTE-CORE { + description + "PIM - RSVPTE core"; + leaf p2mp-identifier { + type uint32; + description + "P2MP ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel Identifier"; + } + leaf extended-tunnel-id { + type inet:ipv4-address; + description + "Extended Tunnel ID"; + } + leaf core-id { + type uint32; + description + "Core ID"; + } + leaf mdt-name { + type string; + description + "Data MDT Name"; + } + } + + grouping PIM-MDT-DATA-RSVPTE-BAG { + description + "PIM RSVP TE bag"; + container mdt-data-core-rsvpte { + description + "Data MDT RSVPTE core"; + uses PIM-RSVPTE-CORE; + } + container mdt-data-source { + description + "Data MDT Source"; + uses PIM-ADDRTYPE; + } + leaf mdt-name-xr { + type string; + description + "Data MDT Name"; + } + leaf is-mdt-delete-in-progress { + type boolean; + description + "Is the entry being deleted ?"; + } + leaf is-mdt-local { + type boolean; + description + "Is the entry locally assigned ?"; + } + leaf mdt-refcount { + type uint32; + description + "No of cust routes using this MDT prefix"; + } + leaf mdt-decapsulation-refcount { + type uint32; + description + "No of cust routes using this MDT prefix on Decap + PE"; + } + list receiver-pe { + description + "Receiver PE list"; + uses PIM-MDT-DATA-LEG-BAG; + } + } + + grouping PIM-P2MPTE-MDT-DATA-LEG-BAG { + description + "PIM P2MPTE/Tree-SID MDT LEGS"; + leaf originator-addr { + type inet:ipv4-address; + description + "Originator Leg Address"; + } + } + + grouping PIM-TREESID-CORE { + description + "PIM - Tree-SID core"; + leaf tree-identifier { + type uint32; + description + "Tree ID"; + } + leaf mdt-name { + type string; + description + "Data MDT Name"; + } + } + + grouping PIM-TREESID-MDT-TUNNEL-DB-BAG { + description + "PIM Tree-SID MDT TUNNEL DB bag"; + container mdt-default-tree-sid-core { + description + "Default MDT Tree-SID"; + uses PIM-TREESID-CORE; + } + container default-mdt-source { + description + "Default MDT Source"; + uses PIM-ADDRTYPE; + } + container mdt-partition-tree-sid-core { + description + "Partitioned MDT Tree-SID core"; + uses PIM-TREESID-CORE; + } + container part-mdt-source { + description + "Partitioned MDT Source"; + uses PIM-ADDRTYPE; + } + container mdt-control-tree-sid-core { + description + "Cntrl Tree-SID core"; + uses PIM-TREESID-CORE; + } + leaf mdt-type { + type uint32; + description + "MDT Type"; + } + leaf tree-sid-color { + type uint32; + description + "On-Demand Color for Tree-SID"; + } + leaf lfa-protected { + type boolean; + description + "LFA Protected Tree-SID"; + } + list def-pe { + description + "Default MDT PE list"; + uses PIM-P2MPTE-MDT-DATA-LEG-BAG; + } + list part-pe { + description + "Partitioned MDT PE list"; + uses PIM-P2MPTE-MDT-DATA-LEG-BAG; + } + list ctrl-pe { + description + "Ctrl PE list"; + uses PIM-P2MPTE-MDT-DATA-LEG-BAG; + } + } + + grouping PIM-MLDP-CORE { + description + "PIM - MLDP core"; + leaf tree-type { + type Pim-bag-mldp-tree; + description + "MLDP Tree Type"; + } + leaf opaque-type { + type Pim-bag-mldp-opaque; + description + "MLDP Opaque Type"; + } + leaf organization-unique-identifier { + type uint32; + description + "OUI for VPN-ID FEC"; + } + leaf vpn-index { + type uint32; + description + "VPN Index"; + } + leaf core-identifier-mldp { + type uint32; + description + "Core Identifier for MLDP MDT"; + } + leaf ingress-lsm-id { + type uint32; + description + "Ingress LSM Identifier for CSC MLDP MDT"; + } + leaf egress-lsm-id { + type uint32; + description + "Egress LSM Identifier for CSC MLDP MDT"; + } + leaf discovery-type { + type uint32; + description + "Discovery Type for MLDP MDT"; + } + leaf discovery-value { + type uint32; + description + "Flex Algo value for MLDP MDT"; + } + leaf mdt-name { + type string; + description + "Data MDT Name"; + } + } + + grouping PIM-MDT-DATA-MLDP-BAG { + description + "PIM Data MDT MLDP bag"; + container mdt-data-core-mldp { + description + "Data MDT MLDP core"; + uses PIM-MLDP-CORE; + } + container mdt-data-source { + description + "Data MDT Source"; + uses PIM-ADDRTYPE; + } + leaf mdt-name-xr { + type string; + description + "Data MDT Name"; + } + leaf mdt-maximum-aggregation { + type uint32; + description + "Data MDT max aggregation"; + } + leaf is-mdt-delete-in-progress { + type boolean; + description + "Is the entry being deleted ?"; + } + leaf is-mdt-local { + type boolean; + description + "Is the entry locally assigned ?"; + } + leaf mdt-refcount { + type uint32; + description + "No of cust routes using this MDT prefix"; + } + leaf mdt-decapsulation-refcount { + type uint32; + description + "No of cust routes using this MDT prefix on Decap + PE"; + } + leaf mldp-identifier { + type uint32; + description + "MLDP LSM-ID"; + } + } + + grouping PIM-SRP2MP-CONFIG-BAG { + description + "PIM SRP2MP CONFIG bag"; + container group { + description + "Group"; + uses PIM-ADDRTYPE; + } + container source { + description + "Source"; + uses PIM-ADDRTYPE; + } + container group-mask { + description + "Group Mask"; + uses PIM-ADDRTYPE; + } + container source-mask { + description + "Source Mask"; + uses PIM-ADDRTYPE; + } + leaf group-count { + type uint32; + description + "Group Count"; + } + leaf source-count { + type uint32; + description + "Source Count"; + } + } + + grouping PIM-ADDRTYPE { + description + "PIM ADDRTYPE"; + leaf af-name { + type Pim-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Addr"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Addr"; + } + } + + grouping PIM-SRP2MP-MDT-TUNNEL-DB-BAG { + description + "PIM SRP2MP MDT TUNNEL DB bag"; + container ingress-node-address { + description + "Ingress Node address"; + uses PIM-ADDRTYPE; + } + leaf policy-name-xr { + type string { + length "0..256"; + } + description + "Policy Name"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "Vrf Name"; + } + leaf lsm-id { + type uint32; + description + "LSM id"; + } + leaf role { + type uint32; + description + "Role"; + } + leaf policy-stale { + type boolean; + description + "Policy Stale"; + } + leaf xtc-update { + type boolean; + description + "XTC Update"; + } + leaf config { + type boolean; + description + "Config"; + } + list static-config { + description + "Static Config List"; + uses PIM-SRP2MP-CONFIG-BAG; + } + } + + grouping PIM-MDT-INTERFACE-BAG { + description + "PIM MDT interface"; + leaf mdt-group-address { + type inet:ipv4-address; + description + "MDT Group Address"; + } + leaf pim-interface-name { + type string; + description + "Interface Name"; + } + leaf source-name { + type string; + description + "Source Name"; + } + leaf vrf-table-name { + type string { + length "0..33"; + } + description + "Vrf Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper.yang new file mode 100644 index 000000000..befab1b7d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-mvpn-oper.yang @@ -0,0 +1,1027 @@ +module Cisco-IOS-XR-mvpn-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-mvpn-oper"; + prefix mvpn-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-mvpn-oper-sub1 { + revision-date 2021-12-09; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mvpn package operational data. + + This module contains definitions + for the following management objects: + mvpn: MVPN operational data + ipv6-mvpn: IPv6 MVPN operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-09 { + description + "multiple backward compatible additions made. MDT tables, groupings, and leaf changes"; + semver:module-version "2.1.1m"; + } + revision 2021-08-17 { + description + "backward compatible addition, in leaf discovery-type was made"; + semver:module-version "2.1.0"; + } + revision 2020-04-02 { + description + "MVPN TreeSID information added."; + semver:module-version "2.0.0"; + } + revision 2019-08-27 { + description + "Providing MVPN information."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pim-mldp-opaque { + type enumeration { + enum "mldp-global-identifier" { + value 1; + description + "Opaque Global Identifier"; + } + enum "mldpvpn-identifier" { + value 2; + description + "Opaque VPN Identifier"; + } + } + description + "Pim mldp opaque"; + } + + typedef Pim-mdt-mldp { + type enumeration { + enum "mldpp2mp" { + value 6; + description + "P2MP Tree"; + } + enum "mldpmp2mp" { + value 8; + description + "MP2MP Tree"; + } + } + description + "Pim mdt mldp"; + } + + typedef Mdt-core { + type enumeration { + enum "inband" { + value 0; + description + "Inband MDT Type"; + } + enum "gre" { + value 1; + description + "GRE MDT Type"; + } + enum "mldp" { + value 2; + description + "MLDP MDT Type"; + } + enum "rsvp-te" { + value 3; + description + "RSVP_TE MDT Type"; + } + enum "ir" { + value 4; + description + "IR MDT Type"; + } + enum "vxlan" { + value 5; + description + "VXLAN MDT Type"; + } + enum "g-inband" { + value 6; + description + "G_Inband MDT Type"; + } + enum "sr-p2mp" { + value 7; + description + "SR_P2MP MDT Type"; + } + enum "max" { + value 8; + description + "MAX MDT Type"; + } + } + description + "Mdt core"; + } + + typedef Route-distinguisher { + type string; + description + "Route distinguisher"; + } + + grouping LOCAL-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container local-entries { + description + "PIM MDT mldp local table"; + list local-entry { + key "tree-type opaque-type oui vpn-index core-id"; + description + "PIM MDT mldp local table"; + leaf tree-type { + type Pim-mdt-mldp; + description + "Tree Type"; + } + leaf opaque-type { + type Pim-mldp-opaque; + description + "Opaque Type"; + } + leaf oui { + type uint32; + description + "OUI"; + } + leaf vpn-index { + type uint32; + description + "VPN Index"; + } + leaf core-id { + type uint32; + description + "Core ID"; + } + uses PIM-MDT-DATA-MLDP-BAG; + } + } + } + + grouping AUTO-RP { + description + "Common node of vrf, default-context"; + container auto-rp { + description + "PIM Auto-RP information"; + uses RP-RELAY-TABLE; + } + } + + grouping MDT-CACHE-TABLE { + description + "Common node of vrf, default-context"; + container mdt-caches { + description + "PIM MDT cache"; + list mdt-cache { + key "core-type core-source-address customer-source-address customer-group-address"; + description + "PIM MDT cache information"; + leaf core-type { + type Mdt-core; + description + "MDT Core type"; + } + leaf core-source-address { + type inet:ip-address-no-zone; + description + "Core source IP address"; + } + leaf customer-source-address { + type inet:ip-address-no-zone; + description + "Customer source IP address"; + } + leaf customer-group-address { + type inet:ip-address-no-zone; + description + "Customer group IP address"; + } + uses PIM-MDT-CACHE-BAG; + } + } + } + + grouping LOCAL-ENTRY-NAME-TABLE { + description + "Common node of vrf, default-context"; + container local-entry-names { + description + "PIM MDT Name mldp local table"; + list local-entry-name { + key "mdt-name"; + description + "PIM MDT Name mldp local entry"; + leaf mdt-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Data MDT Name"; + } + uses PIM-MDT-DATA-MLDP-BAG; + } + } + } + + grouping MDT-RSVP-TE-LOCAL-ENTRY-NAME-TABLE { + description + "Common node of vrf, default-context"; + container rsvp-te-local-name-entries { + description + "PIM MDT RSVP-TE local name table"; + list rsvp-te-local-name-entry { + key "mdt-name"; + description + "PIM MDT RSVP-TE local name entry"; + leaf mdt-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Data MDT Name"; + } + uses PIM-MDT-DATA-RSVPTE-BAG; + } + } + } + + grouping MDT-IR-LOCAL-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container ir-local-entries { + description + "PIM MDT ir local table"; + list ir-local-entry { + key "core-id"; + description + "PIM MDT ir local table"; + leaf core-id { + type uint32; + description + "Core ID"; + } + uses PIM-MDT-DATA-IR-BAG; + } + } + } + + grouping MDT-RSVP-TE-CACHE-TABLE { + description + "Common node of vrf, default-context"; + container mdt-rsvp-te-caches { + description + "RSVPTE MDT cache"; + list mdt-rsvp-te-cache { + key "core-source-address customer-source-address customer-group-address"; + description + "RSVPTE MDT cache information"; + leaf core-source-address { + type inet:ip-address-no-zone; + description + "Core source IP address"; + } + leaf customer-source-address { + type inet:ip-address-no-zone; + description + "Customer source IP address"; + } + leaf customer-group-address { + type inet:ip-address-no-zone; + description + "Customer group IP address"; + } + uses PIM-MDT-CACHE-BAG; + } + } + } + + grouping MDT-INTERFACE { + description + "Common node of vrf, default-context"; + container mdt-interface { + description + "MDT interface information"; + uses PIM-MDT-INTERFACE-BAG; + } + } + + grouping MDT-GRE-CACHE-TABLE { + description + "Common node of vrf, default-context"; + container mdt-gre-caches { + description + "GRE MDT cache"; + list mdt-gre-cache { + key "core-source-address customer-source-address customer-group-address"; + description + "GRE MDT cache information"; + leaf core-source-address { + type inet:ip-address-no-zone; + description + "Core source IP address"; + } + leaf customer-source-address { + type inet:ip-address-no-zone; + description + "Customer source IP address"; + } + leaf customer-group-address { + type inet:ip-address-no-zone; + description + "Customer group IP address"; + } + uses PIM-MDT-CACHE-BAG; + } + } + } + + grouping BGP-AF-TABLE { + description + "Common node of vrf, default-context"; + container bgp-afs { + description + "PIM BGP SAFI table"; + list bgp-af { + key "source-address group-address"; + description + "PIM BGP SAFI information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source IP address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group IP address"; + } + uses PIM-BGP-SAFI-BAG; + } + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF name"; + container mvpn-sr-p2mp-entries { + description + "MVPN SR P2MP database table"; + list mvpn-sr-p2mp-entry { + key "policy-name"; + description + "MVPN SR P2MP database entry"; + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Policy Name"; + } + uses PIM-SRP2MP-MDT-TUNNEL-DB-BAG; + } + } + container mvpn-database-segment-routing { + description + "MVPN MDT Segment Routing tunnel database"; + uses PIM-TREESID-MDT-TUNNEL-DB-BAG; + } + container mvpn-database-rsvp-te { + description + "MVPN MDT RSVPTE tunnel database"; + uses PIM-P2MPTE-MDT-TUNNEL-DB-BAG; + } + container mvpn-context { + description + "MVPN context information"; + uses PIM-CONTEXT-BAG; + } + container mvpn-pes { + description + "MVPN PE Information"; + list mvpn-pe { + key "pe-prefix"; + description + "MVPN PE Address information"; + leaf pe-prefix { + type inet:ip-address-no-zone; + description + "PE address"; + } + uses PIM-PE-BAG; + } + } + container mvpn-database-ir { + description + "MVPN MDT IR tunnel database"; + uses PIM-MDT-TUNNEL-DB-BAG; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name "; + } + uses MDT-INTERFACE; + uses LOCAL-ENTRY-TABLE; + uses MDT-RSVP-TE-REMOTE-ENTRY-TABLE; + uses MDT-CACHE-SUMMARY; + uses MDT-DATABASE-IR; + uses MDT-GRE-CACHE-TABLE; + uses MDT-IR-REMOTE-ENTRY-TABLE; + uses MDT-SEGMENT-ROUTING-LOCAL-ENTRY-NAME-TABLE; + uses MDT-DATABASE-RSVP-TE; + uses BSR; + uses BGP-AF-TABLE; + uses MDT-RSVP-TE-LOCAL-ENTRY-NAME-TABLE; + uses MDT-RSVP-TE-LOCAL-ENTRY-TABLE; + uses MDT-PREFIX-REMOTE-TABLE; + uses MDT-CACHE-TABLE; + uses MDT-RSVP-TE-CACHE-TABLE; + uses LOCAL-ENTRY-NAME-TABLE; + uses AUTO-RP; + uses MDT-SEGMENT-ROUTING-LOCAL-ENTRY-TABLE; + uses REMOTE-ENTRY-TABLE; + uses MDT-IR-CACHE-TABLE; + uses MDT-SR-P2MP-CACHE-TABLE; + uses PE-TABLE; + uses MDT-SEGMENT-ROUTING-REMOTE-ENTRY-TABLE; + uses MDT-MLDP-CACHE-TABLE; + uses MDT-IR-LOCAL-ENTRY-TABLE; + uses MDT-PREFIX-LOCAL-TABLE; + } + } + } + + grouping BSR { + description + "Common node of vrf, default-context"; + container bsr { + description + "PIM BSR information"; + uses RP-RELAY-TABLE; + } + } + + grouping MDT-IR-CACHE-TABLE { + description + "Common node of vrf, default-context"; + container mdt-ir-caches { + description + "IR MDT cache"; + list mdt-ir-cache { + key "core-source-address customer-source-address customer-group-address"; + description + "IR MDT cache information"; + leaf core-source-address { + type inet:ip-address-no-zone; + description + "Core source IP address"; + } + leaf customer-source-address { + type inet:ip-address-no-zone; + description + "Customer source IP address"; + } + leaf customer-group-address { + type inet:ip-address-no-zone; + description + "Customer group IP address"; + } + uses PIM-MDT-CACHE-BAG; + } + } + } + + grouping MDT-PREFIX-REMOTE-TABLE { + description + "Common node of vrf, default-context"; + container mdt-prefix-remotes { + description + "PIM MDT prefix remote table"; + list mdt-prefix-remote { + key "mdt-prefix"; + description + "PIM MDT prefix information"; + leaf mdt-prefix { + type inet:ip-address-no-zone; + description + "MDT data prefix address"; + } + uses PIM-MDT-DATA-PFX-BAG; + } + } + } + + grouping MDT-DATABASE-RSVP-TE { + description + "Common node of vrf, default-context"; + container mdt-database-rsvp-te { + description + "PIM MDT RSVPTE tunnel database"; + uses PIM-P2MPTE-MDT-TUNNEL-DB-BAG; + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container mvpn-identifiers { + description + "MVPN Identifier Table"; + list mvpn-identifier { + key "mvpn-identifier"; + description + "MVPN Identifier"; + leaf mvpn-identifier { + type uint32; + description + "MVPN Identifier"; + } + uses PIM-MVPN-ID-INFO; + } + } + container mvpn-segmenteds { + description + "MVPN SEGMENT DB Table"; + list mvpn-segmented { + key "rd network"; + description + "MVPN SEGMENT DB Entry"; + leaf rd { + type Route-distinguisher; + description + "Route Distinguisher value"; + } + leaf network { + type inet:ip-prefix; + description + "Network in prefix/length format"; + } + uses PIM-SEGMENT-DB-BAG; + } + } + } + } + + grouping MDT-IR-REMOTE-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container ir-remote-entries { + description + "PIM MDT ir remote table"; + list ir-remote-entry { + key "tunnel-type label"; + description + "PIM MDT ir remote table"; + leaf tunnel-type { + type uint32; + description + "Tunnel Type"; + } + leaf label { + type uint32; + description + "Label"; + } + uses PIM-MDT-DATA-IR-BAG; + } + } + } + + grouping MDT-RSVP-TE-LOCAL-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container rsvp-te-local-entries { + description + "PIM MDT RSVP-TE local table"; + list rsvp-te-local-entry { + key "p2mp-id tunnel-id extended-tunnel-d core-id"; + description + "PIM MDT RSVP-TE local table"; + leaf p2mp-id { + type uint32; + description + "Core ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-d { + type inet:ip-address-no-zone; + description + "Extended Tunnel ID"; + } + leaf core-id { + type uint32; + description + "Core ID"; + } + uses PIM-MDT-DATA-RSVPTE-BAG; + } + } + } + + grouping MDT-PREFIX-LOCAL-TABLE { + description + "Common node of vrf, default-context"; + container mdt-prefix-locals { + description + "PIM MDT prefix local table"; + list mdt-prefix-local { + key "mdt-prefix"; + description + "PIM MDT prefix information"; + leaf mdt-prefix { + type inet:ip-address-no-zone; + description + "MDT data prefix address"; + } + uses PIM-MDT-DATA-PFX-BAG; + } + } + } + + grouping MDT-MLDP-CACHE-TABLE { + description + "Common node of vrf, default-context"; + container mdt-mldp-caches { + description + "MLDP MDT cache"; + list mdt-mldp-cache { + key "core-source-address customer-source-address customer-group-address"; + description + "MLDP MDT cache information"; + leaf core-source-address { + type inet:ip-address-no-zone; + description + "Core source IP address"; + } + leaf customer-source-address { + type inet:ip-address-no-zone; + description + "Customer source IP address"; + } + leaf customer-group-address { + type inet:ip-address-no-zone; + description + "Customer group IP address"; + } + uses PIM-MDT-CACHE-BAG; + } + } + } + + grouping PE-TABLE { + description + "Common node of vrf, default-context"; + container pes { + description + "PIM MVPN PE Information"; + list pe { + key "pe-prefix"; + description + "PIM PE Address information"; + leaf pe-prefix { + type inet:ip-address-no-zone; + description + "PE address"; + } + uses PIM-PE-BAG; + } + } + } + + grouping RP-RELAY-TABLE { + description + "Common node of auto-rp, bsr"; + container rp-relays { + description + "PIM rp-relay database"; + list rp-relay { + key "vrf-name"; + description + "PIM Relay"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name "; + } + uses PIM-RELAY-BAG; + } + } + } + + grouping ACTIVE { + description + "Common node of mvpn, ipv6-mvpn"; + container active { + description + "Active Process"; + uses VRF-TABLE; + uses DEFAULT-CONTEXT; + uses PROCESS; + } + } + + grouping MDT-SR-P2MP-CACHE-TABLE { + description + "Common node of vrf, default-context"; + container mdt-sr-p2mp-caches { + description + "SR-P2MP MDT cache"; + list mdt-sr-p2mp-cache { + key "core-source-address customer-source-address customer-group-address"; + description + "SR-P2MP MDT cache information"; + leaf core-source-address { + type inet:ip-address-no-zone; + description + "Core source IP address"; + } + leaf customer-source-address { + type inet:ip-address-no-zone; + description + "Customer source IP address"; + } + leaf customer-group-address { + type inet:ip-address-no-zone; + description + "Customer group IP address"; + } + uses PIM-MDT-CACHE-BAG; + } + } + } + + grouping MDT-RSVP-TE-REMOTE-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container rsvp-te-remote-entries { + description + "PIM MDT RSVP-TE remote table"; + list rsvp-te-remote-entry { + key "p2mp-id tunnel-id extended-tunnel-id"; + description + "PIM MDT RSVP-TE remote table"; + leaf p2mp-id { + type uint32; + description + "Core ID"; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf extended-tunnel-id { + type inet:ip-address-no-zone; + description + "Extended Tunnel ID"; + } + uses PIM-MDT-DATA-RSVPTE-BAG; + } + } + } + + grouping MDT-DATABASE-IR { + description + "Common node of vrf, default-context"; + container mdt-database-ir { + description + "PIM MDT IR tunnel database"; + uses PIM-MDT-TUNNEL-DB-BAG; + } + } + + grouping REMOTE-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container remote-entries { + description + "PIM MDT mldp remote table"; + list remote-entry { + key "tree-type opaque-type oui vpn-index core-id"; + description + "PIM MDT mldp remote table"; + leaf tree-type { + type Pim-mdt-mldp; + description + "Tree Type"; + } + leaf opaque-type { + type Pim-mldp-opaque; + description + "Opaque Type"; + } + leaf oui { + type uint32; + description + "OUI"; + } + leaf vpn-index { + type uint32; + description + "VPN Index"; + } + leaf core-id { + type uint32; + description + "Core ID"; + } + uses PIM-MDT-DATA-MLDP-BAG; + } + } + } + + grouping MDT-SEGMENT-ROUTING-LOCAL-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container mdt-segment-routing-local-entries { + description + "PIM MDT Segment Routing local table"; + list mdt-segment-routing-local-entry { + key "tree-id"; + description + "PIM MDT Segment Routing local entry"; + leaf tree-id { + type uint32; + description + "Tree ID"; + } + uses PIM-MDT-DATA-TREESID-BAG; + } + } + } + + grouping MDT-SEGMENT-ROUTING-LOCAL-ENTRY-NAME-TABLE { + description + "Common node of vrf, default-context"; + container mdt-segment-routing-local-entry-names { + description + "PIM MDT Name Segment Routing local table"; + list mdt-segment-routing-local-entry-name { + key "mdt-name"; + description + "PIM MDT Name Segment Routing local entry"; + leaf mdt-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Data MDT Name"; + } + uses PIM-MDT-DATA-TREESID-BAG; + } + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default Context"; + uses MDT-INTERFACE; + uses LOCAL-ENTRY-TABLE; + uses MDT-RSVP-TE-REMOTE-ENTRY-TABLE; + uses MDT-CACHE-SUMMARY; + uses MDT-DATABASE-IR; + uses MDT-GRE-CACHE-TABLE; + uses MDT-IR-REMOTE-ENTRY-TABLE; + uses MDT-SEGMENT-ROUTING-LOCAL-ENTRY-NAME-TABLE; + uses MDT-DATABASE-RSVP-TE; + uses BSR; + uses BGP-AF-TABLE; + uses MDT-RSVP-TE-LOCAL-ENTRY-NAME-TABLE; + uses MDT-RSVP-TE-LOCAL-ENTRY-TABLE; + uses MDT-PREFIX-REMOTE-TABLE; + uses MDT-CACHE-TABLE; + uses MDT-RSVP-TE-CACHE-TABLE; + uses LOCAL-ENTRY-NAME-TABLE; + uses AUTO-RP; + uses MDT-SEGMENT-ROUTING-LOCAL-ENTRY-TABLE; + uses REMOTE-ENTRY-TABLE; + uses MDT-IR-CACHE-TABLE; + uses MDT-SR-P2MP-CACHE-TABLE; + uses PE-TABLE; + uses MDT-SEGMENT-ROUTING-REMOTE-ENTRY-TABLE; + uses MDT-MLDP-CACHE-TABLE; + uses MDT-IR-LOCAL-ENTRY-TABLE; + uses MDT-PREFIX-LOCAL-TABLE; + } + } + + grouping MDT-CACHE-SUMMARY { + description + "Common node of vrf, default-context"; + container mdt-cache-summary { + description + "PIM MDT cache summary"; + uses PIM-MDT-CACHE-SUMM-BAG; + } + } + + grouping STANDBY { + description + "Common node of mvpn, ipv6-mvpn"; + container standby { + description + "Standby Process"; + uses VRF-TABLE; + uses DEFAULT-CONTEXT; + uses PROCESS; + } + } + + grouping MDT-SEGMENT-ROUTING-REMOTE-ENTRY-TABLE { + description + "Common node of vrf, default-context"; + container mdt-segment-routing-remote-entries { + description + "PIM MDT Segment Routing remote table"; + list mdt-segment-routing-remote-entry { + key "tree-id"; + description + "PIM MDT Segment Routing remote table"; + leaf tree-id { + type uint32; + description + "Tree ID"; + } + uses PIM-MDT-DATA-TREESID-BAG; + } + } + } + + container mvpn { + config false; + description + "MVPN operational data"; + uses ACTIVE; + uses STANDBY; + } + container ipv6-mvpn { + config false; + description + "IPv6 MVPN operational data"; + uses ACTIVE; + uses STANDBY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper-sub1.yang new file mode 100644 index 000000000..2032950b3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper-sub1.yang @@ -0,0 +1,58 @@ +submodule Cisco-IOS-XR-ncs-grid-svr-oper-sub1 { + belongs-to Cisco-IOS-XR-ncs-grid-svr-oper { + prefix Cisco-IOS-XR-ncs-grid-svr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ncs-grid-svr package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping GRID-SVR-SHOW-CLIENT-DATA { + description + "Client information and resource ID database"; + leaf res-id { + type uint32; + description + "Resource ID"; + } + } + + grouping GRID-SVR-SHOW-CLIENT { + description + "Client information"; + list client-data { + description + "Client information"; + uses GRID-SVR-SHOW-CLIENT-DATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper.yang new file mode 100644 index 000000000..e6c882e9e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ncs-grid-svr-oper.yang @@ -0,0 +1,97 @@ +module Cisco-IOS-XR-ncs-grid-svr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ncs-grid-svr-oper"; + prefix ncs-grid-svr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ncs-grid-svr-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ncs-grid-svr package operational data. + + This module contains definitions + for the following management objects: + grid: GRID operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container grid { + config false; + description + "GRID operational data"; + container nodes { + description + "Table of nodes"; + list node { + key "node-name"; + description + "Operational data for a particular node"; + container client-xr { + description + "GRID Client Table"; + list client { + key "client-name"; + description + "GRID Client Database"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client name"; + } + uses GRID-SVR-SHOW-CLIENT; + } + } + container clients { + description + "GRID Client Consistency Check"; + list client { + key "client-name"; + description + "GRID Client Consistency Check"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client name"; + } + uses GRID-SVR-SHOW-CLIENT; + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper-sub1.yang new file mode 100644 index 000000000..079465a3d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper-sub1.yang @@ -0,0 +1,2027 @@ +submodule Cisco-IOS-XR-npu-fsdb-stats-oper-sub1 { + belongs-to Cisco-IOS-XR-npu-fsdb-stats-oper { + prefix Cisco-IOS-XR-npu-fsdb-stats-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR npu-fsdb-stats package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-03 { + description + "Updated the yang model for link FSM entry + 2022-02-11 + Added weight distribution to npu driver info"; + semver:module-version "2.0.1M"; + } + revision 2021-05-14 { + description + "Updated the type of fabric operational mode in the yang model"; + semver:module-version "2.0.0"; + } + revision 2020-10-10 { + description + "Yang Schema for npu driver link info"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Asic-init-method { + type enumeration { + enum "asic-init-method-unset" { + value -1; + description + "asic init method unset"; + } + enum "asic-init-method-no-reset" { + value 0; + description + "asic init method no reset"; + } + enum "asic-init-method-pon-reset" { + value 1; + description + "asic init method pon reset"; + } + enum "asic-init-method-pon-reset-on-intr" { + value 2; + description + "asic init method pon reset on intr"; + } + enum "asic-init-method-hard-reset" { + value 3; + description + "asic init method hard reset"; + } + enum "asic-init-method-warmboot" { + value 4; + description + "asic init method warmboot"; + } + enum "asic-init-method-issu-wb" { + value 5; + description + "asic init method issu wb"; + } + enum "asic-init-method-pci-shutdown" { + value 6; + description + "asic init method pci shutdown"; + } + enum "asic-init-method-quiesce" { + value 7; + description + "asic init method quiesce"; + } + enum "asic-init-method-issu-started" { + value 8; + description + "asic init method issu started"; + } + enum "asic-init-method-issu-rollback" { + value 9; + description + "asic init method issu rollback"; + } + enum "asic-init-method-issu-abort" { + value 10; + description + "asic init method issu abort"; + } + enum "asic-init-method-slice-cleanup" { + value 11; + description + "asic init method slice cleanup"; + } + enum "asic-init-method-lc-remove" { + value 12; + description + "asic init method lc remove"; + } + enum "asic-init-method-node-down" { + value 13; + description + "asic init method node down"; + } + enum "asic-init-method-intr" { + value 14; + description + "asic init method intr"; + } + enum "asic-init-method-board-reload" { + value 15; + description + "asic init method board reload"; + } + enum "asic-init-method-max" { + value 16; + description + "asic init method max"; + } + } + description + "Asic init method"; + } + + typedef Asic-access-state { + type enumeration { + enum "asic-state-unset" { + value -1; + description + "asic state unset"; + } + enum "asic-state-none" { + value 0; + description + "asic state none"; + } + enum "asic-state-device-off-line" { + value 1; + description + "asic state device off line"; + } + enum "asic-state-device-created" { + value 2; + description + "asic state device created"; + } + enum "asic-state-device-online" { + value 3; + description + "asic state device online"; + } + enum "asic-state-warmboot" { + value 4; + description + "asic state warmboot"; + } + enum "asic-state-de-init-start" { + value 5; + description + "asic state de init start"; + } + enum "asic-state-intr-de-init" { + value 6; + description + "asic state intr de init"; + } + enum "asic-state-npu-detach" { + value 7; + description + "asic state npu detach"; + } + enum "asic-state-soc-de-init" { + value 8; + description + "asic state soc de init"; + } + enum "asic-state-de-init-done" { + value 9; + description + "asic state de init done"; + } + enum "asic-state-soc-init" { + value 10; + description + "asic state soc init"; + } + enum "asic-state-npu-init" { + value 11; + description + "asic state npu init"; + } + enum "asic-state-intr-init" { + value 12; + description + "asic state intr init"; + } + enum "asic-state-soc-init-start" { + value 13; + description + "asic state soc init start"; + } + enum "asic-state-npu-init-start" { + value 14; + description + "asic state npu init start"; + } + enum "asic-state-intr-init-start" { + value 15; + description + "asic state intr init start"; + } + enum "asic-state-hard-reset" { + value 16; + description + "asic state hard reset"; + } + enum "asic-state-normal" { + value 17; + description + "asic state normal"; + } + enum "asic-state-exception" { + value 18; + description + "asic state exception"; + } + enum "asic-state-hp-attached" { + value 19; + description + "asic state hp attached"; + } + enum "asic-state-quiesce" { + value 20; + description + "asic state quiesce"; + } + enum "asic-state-issu-started" { + value 21; + description + "asic state issu started"; + } + enum "asic-state-issu-started-nn" { + value 22; + description + "asic state issu started nn"; + } + enum "asic-state-issu-abort" { + value 23; + description + "asic state issu abort"; + } + enum "asic-state-max" { + value 24; + description + "asic state max"; + } + } + description + "Asic access state"; + } + + typedef Asic-oper-state { + type enumeration { + enum "asic-oper-unset" { + value -1; + description + "asic oper unset"; + } + enum "asic-oper-unknown" { + value 0; + description + "asic oper unknown"; + } + enum "asic-oper-up" { + value 1; + description + "asic oper up"; + } + enum "asic-oper-down" { + value 2; + description + "asic oper down"; + } + enum "asic-card-down" { + value 3; + description + "asic card down"; + } + } + description + "Asic oper state"; + } + + typedef Slice-state { + type enumeration { + enum "slice-oper-unset" { + value -1; + description + "slice oper unset"; + } + enum "slice-oper-down" { + value 0; + description + "slice oper down"; + } + enum "slice-oper-up" { + value 1; + description + "slice oper up"; + } + enum "slice-oper-na" { + value 2; + description + "slice oper na"; + } + } + description + "Slice state"; + } + + typedef Power-opt-freq { + type enumeration { + enum "power-opt-freq-none" { + value 0; + description + "power opt freq none"; + } + enum "power-opt-freq-low" { + value 1; + description + "power opt freq low"; + } + enum "power-opt-freq-medium" { + value 2; + description + "power opt freq medium"; + } + enum "power-opt-freq-high" { + value 3; + description + "power opt freq high"; + } + } + description + "Power opt freq"; + } + + typedef Fabric-mode { + type enumeration { + enum "fabric-mode-unknown" { + value 0; + description + "fabric mode unknown"; + } + enum "fabric-mode-fabric" { + value 1; + description + "fabric mode fabric"; + } + enum "fabric-mode-single" { + value 2; + description + "fabric mode single"; + } + enum "fabric-mode-mesh" { + value 3; + description + "fabric mode mesh"; + } + } + description + "Fabric mode"; + } + + typedef Functional-role { + type enumeration { + enum "driver-role-unknown" { + value 0; + description + "driver role unknown"; + } + enum "driver-role-active" { + value 1; + description + "driver role active"; + } + enum "driver-role-standby" { + value 2; + description + "driver role standby"; + } + enum "driver-role-none" { + value 3; + description + "driver role none"; + } + enum "driver-role-max" { + value 4; + description + "driver role max"; + } + } + description + "Functional role"; + } + + typedef Npu-edm-fsm-event { + type enumeration { + enum "fsm-event-create" { + value 0; + description + "fsm event create"; + } + enum "fsm-event-learn-wb" { + value 1; + description + "fsm event learn wb"; + } + enum "fsm-event-create-wb" { + value 2; + description + "fsm event create wb"; + } + enum "fsm-event-create-oper-up" { + value 3; + description + "fsm event create oper up"; + } + enum "fsm-event-create-wb-oper-up" { + value 4; + description + "fsm event create wb oper up"; + } + enum "fsm-event-ena-unshut" { + value 5; + description + "fsm event ena unshut"; + } + enum "fsm-event-dis-shut" { + value 6; + description + "fsm event dis shut"; + } + enum "fsm-event-dis-shut-conf" { + value 7; + description + "fsm event dis shut conf"; + } + enum "fsm-event-dis-destroy" { + value 8; + description + "fsm event dis destroy"; + } + enum "fsm-event-dis-destroy-conf" { + value 9; + description + "fsm event dis destroy conf"; + } + enum "fsm-event-dis-destroy-pending" { + value 10; + description + "fsm event dis destroy pending"; + } + enum "fsm-event-dis-noshut" { + value 11; + description + "fsm event dis noshut"; + } + enum "fsm-event-link-mon" { + value 12; + description + "fsm event link mon"; + } + enum "fsm-event-link-up-intr" { + value 13; + description + "fsm event link up intr"; + } + enum "fsm-event-link-down-intr-be-low-thr" { + value 14; + description + "fsm event link down intr be low thr"; + } + enum "fsm-event-link-down-intr" { + value 15; + description + "fsm event link down intr"; + } + enum "fsm-event-asic-isolate" { + value 16; + description + "fsm event asic isolate"; + } + enum "fsm-event-asic-unisolate" { + value 17; + description + "fsm event asic unisolate"; + } + enum "fsm-event-dis-perm-shut" { + value 18; + description + "fsm event dis perm shut"; + } + enum "fsm-event-any" { + value 19; + description + "fsm event any"; + } + enum "fsm-event-max" { + value 20; + description + "fsm event max"; + } + } + description + "Npu edm fsm event"; + } + + typedef Npu-edm-fsm-state { + type enumeration { + enum "link-state-none" { + value 0; + description + "link state none"; + } + enum "link-state-mac-port-created" { + value 1; + description + "link state mac port created"; + } + enum "link-state-fab-port-created" { + value 2; + description + "link state fab port created"; + } + enum "link-state-port-activate-delayed" { + value 3; + description + "link state port activate delayed"; + } + enum "link-state-activated" { + value 4; + description + "link state activated"; + } + enum "link-state-signal-wait" { + value 5; + description + "link state signal wait"; + } + enum "link-state-go-od-sig" { + value 6; + description + "link state go od sig"; + } + enum "link-state-tune-started" { + value 7; + description + "link state tune started"; + } + enum "link-state-tuned" { + value 8; + description + "link state tuned"; + } + enum "link-state-tune-in-progress" { + value 9; + description + "link state tune in progress"; + } + enum "link-state-tune-check-status" { + value 10; + description + "link state tune check status"; + } + enum "link-state-tune-check-link-state" { + value 11; + description + "link state tune check link state"; + } + enum "link-state-mac-up" { + value 12; + description + "link state mac up"; + } + enum "link-state-peer-discovery" { + value 13; + description + "link state peer discovery"; + } + enum "link-state-peer-detected" { + value 14; + description + "link state peer detected"; + } + enum "link-state-topology-check" { + value 15; + description + "link state topology check"; + } + enum "link-state-sync-wait" { + value 16; + description + "link state sync wait"; + } + enum "link-state-keep-alive-start" { + value 17; + description + "link state keep alive start"; + } + enum "link-state-check-reach" { + value 18; + description + "link state check reach"; + } + enum "link-state-up" { + value 19; + description + "link state up"; + } + enum "link-state-stopped" { + value 20; + description + "link state stopped"; + } + enum "link-state-fab-wb-stopped" { + value 21; + description + "link state fab wb stopped"; + } + enum "link-state-fab-port-permshut" { + value 22; + description + "link state fab port permshut"; + } + enum "link-state-reset" { + value 23; + description + "link state reset"; + } + enum "link-state-error" { + value 24; + description + "link state error"; + } + enum "link-state-destroy-pending" { + value 25; + description + "link state destroy pending"; + } + enum "link-state-destroyed" { + value 26; + description + "link state destroyed"; + } + enum "link-state-api-fail" { + value 27; + description + "link state api fail"; + } + enum "link-state-asic-isolated" { + value 28; + description + "link state asic isolated"; + } + enum "link-state-unknown" { + value 29; + description + "link state unknown"; + } + enum "link-state-max" { + value 30; + description + "link state max"; + } + } + description + "Npu edm fsm state"; + } + + typedef Link-error-state { + type enumeration { + enum "link-error-unset" { + value -1; + description + "link error unset"; + } + enum "link-error-none" { + value 0; + description + "link error none"; + } + enum "link-error-shut" { + value 1; + description + "link error shut"; + } + enum "link-error-max" { + value 2; + description + "link error max"; + } + } + description + "Link error state"; + } + + typedef Oper-state { + type enumeration { + enum "oper-unset" { + value -1; + description + "oper unset"; + } + enum "oper-unknown" { + value 0; + description + "oper unknown"; + } + enum "oper-up" { + value 1; + description + "oper up"; + } + enum "oper-down" { + value 2; + description + "oper down"; + } + enum "card-down" { + value 3; + description + "card down"; + } + } + description + "Oper state"; + } + + typedef Admin-state { + type enumeration { + enum "admin-unset" { + value -1; + description + "admin unset"; + } + enum "admin-up" { + value 0; + description + "admin up"; + } + enum "admin-down" { + value 1; + description + "admin down"; + } + } + description + "Admin state"; + } + + typedef Link-stage { + type enumeration { + enum "link-stage-unset" { + value -1; + description + "link stage unset"; + } + enum "link-stage-unused" { + value 0; + description + "link stage unused"; + } + enum "link-stage-npu" { + value 1; + description + "link stage npu"; + } + enum "link-stage-s1" { + value 2; + description + "link stage s1"; + } + enum "link-stage-s2" { + value 3; + description + "link stage s2"; + } + enum "link-stage-s3" { + value 4; + description + "link stage s3"; + } + enum "link-stage-unknown" { + value 5; + description + "link stage unknown"; + } + } + description + "Link stage"; + } + + typedef Link { + type enumeration { + enum "link-type-unset" { + value -1; + description + "link type unset"; + } + enum "link-type-unavail" { + value 0; + description + "link type unavail"; + } + enum "link-type-tx" { + value 1; + description + "link type tx"; + } + enum "link-type-rx" { + value 2; + description + "link type rx"; + } + } + description + "Link"; + } + + typedef Asic { + type enumeration { + enum "asic-unset" { + value -1; + description + "asic unset"; + } + enum "asic-unavail" { + value 0; + description + "asic unavail"; + } + enum "asic-npu" { + value 1; + description + "asic npu"; + } + enum "asic-s123" { + value 2; + description + "asic s123"; + } + enum "asic-s13" { + value 3; + description + "asic s13"; + } + enum "asic-s2" { + value 4; + description + "asic s2"; + } + enum "asic-b2b" { + value 5; + description + "asic b2b"; + } + enum "asic-type-unknown" { + value 6; + description + "asic type unknown"; + } + } + description + "Asic"; + } + + typedef Rack { + type enumeration { + enum "rack-type-unset" { + value -1; + description + "rack type unset"; + } + enum "rack-type-lcc" { + value 0; + description + "rack type lcc"; + } + enum "rack-type-fcc" { + value 1; + description + "rack type fcc"; + } + } + description + "Rack"; + } + + grouping NPU-EDM-LINK-OVF-COUNTERS { + description + "NPU EDM LINK OVF COUNTERS"; + leaf tx-control-cells-counter { + type string { + length "0..6"; + } + description + "TX Control cells counter"; + } + leaf tx-data-64b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 64b frames counter"; + } + leaf tx-data-65to127b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 65to127b frames counter"; + } + leaf tx-data-128to255b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 128to255b frames counter"; + } + leaf tx-data-256to511b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 256to511b frames counter"; + } + leaf tx-data-512to1023b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 512to1023b frames counter"; + } + leaf tx-data-1024to1518b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 1024to1518b frames counter"; + } + leaf tx-data-1519to2500b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 1519to2500b frames counter"; + } + leaf tx-data-2501to9000b-frames-counter { + type string { + length "0..6"; + } + description + "TX Data 2501to9000b frames counter"; + } + leaf rx-crc-errors-counter { + type string { + length "0..6"; + } + description + "RX CRC errors counter"; + } + leaf rx-lfec-fec-correctable-error { + type string { + length "0..6"; + } + description + "RX LFEC FEC correctable error"; + } + leaf rx-8b-10b-disparity-errors { + type string { + length "0..6"; + } + description + "RX 8b 10b disparity errors"; + } + leaf rx-control-cells-counter { + type string { + length "0..6"; + } + description + "RX Control cells counter"; + } + leaf rx-data-64b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 64b frames counter"; + } + leaf rx-data-65to127b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 65to127b frames counter"; + } + leaf rx-data-128to255b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 128to255b frames counter"; + } + leaf rx-data-256to511b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 256to511b frames counter"; + } + leaf rx-data-512to1023b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 512to1023b frames counter"; + } + leaf rx-data-1024to1518b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 1024to1518b frames counter"; + } + leaf rx-data-1519to2500b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 1519to2500b frames counter"; + } + leaf rx-data-2501to9000b-frames-counter { + type string { + length "0..6"; + } + description + "RX Data 2501to9000b frames counter"; + } + leaf rx-dropped-retransmitted-control { + type string { + length "0..6"; + } + description + "RX dropped retransmitted control"; + } + leaf tx-asyn-fifo-rate { + type string { + length "0..6"; + } + description + "TX Asyn fifo rate"; + } + leaf rx-asyn-fifo-rate { + type string { + length "0..6"; + } + description + "RX Asyn fifo rate"; + } + leaf rx-lfec-fec-uncorrectable-errors { + type string { + length "0..6"; + } + description + "RX LFEC FEC uncorrectable errors"; + } + leaf rx-8b-10b-code-errors { + type string { + length "0..6"; + } + description + "RX 8b 10b code errors"; + } + } + + grouping NPU-EDM-LINK-COUNTERS { + description + "NPU EDM LINK COUNTERS"; + leaf tx-control-cells-counter { + type uint64; + description + "TX Control cells counter"; + } + leaf tx-data-64b-frames-counter { + type uint64; + description + "TX Data 64b frames counter"; + } + leaf tx-data-65to127b-frames-counter { + type uint64; + description + "TX Data 65to127b frames counter"; + } + leaf tx-data-128to255b-frames-counter { + type uint64; + description + "TX Data 128to255b frames counter"; + } + leaf tx-data-256to511b-frames-counter { + type uint64; + description + "TX Data 256to511b frames counter"; + } + leaf tx-data-512to1023b-frames-counter { + type uint64; + description + "TX Data 512to1023b frames counter"; + } + leaf tx-data-1024to1518b-frames-counter { + type uint64; + description + "TX Data 1024to1518b frames counter"; + } + leaf tx-data-1519to2500b-frames-counter { + type uint64; + description + "TX Data 1519to2500b frames counter"; + } + leaf tx-data-2501to9000b-frames-counter { + type uint64; + description + "TX Data 2501to9000b frames counter"; + } + leaf rx-crc-errors-counter { + type uint64; + description + "RX CRC errors counter"; + } + leaf rx-lfec-fec-correctable-error { + type uint64; + description + "RX LFEC FEC correctable error"; + } + leaf rx-8b-10b-disparity-errors { + type uint64; + description + "RX 8b 10b disparity errors"; + } + leaf rx-control-cells-counter { + type uint64; + description + "RX Control cells counter"; + } + leaf rx-data-64b-frames-counter { + type uint64; + description + "RX Data 64b frames counter"; + } + leaf rx-data-65to127b-frames-counter { + type uint64; + description + "RX Data 65to127b frames counter"; + } + leaf rx-data-128to255b-frames-counter { + type uint64; + description + "RX Data 128to255b frames counter"; + } + leaf rx-data-256to511b-frames-counter { + type uint64; + description + "RX Data 256to511b frames counter"; + } + leaf rx-data-512to1023b-frames-counter { + type uint64; + description + "RX Data 512to1023b frames counter"; + } + leaf rx-data-1024to1518b-frames-counter { + type uint64; + description + "RX Data 1024to1518b frames counter"; + } + leaf rx-data-1519to2500b-frames-counter { + type uint64; + description + "RX Data 1519to2500b frames counter"; + } + leaf rx-data-2501to9000b-frames-counter { + type uint64; + description + "RX Data 2501to9000b frames counter"; + } + leaf rx-dropped-retransmitted-control { + type uint64; + description + "RX dropped retransmitted control"; + } + leaf tx-asyn-fifo-rate { + type uint64; + description + "TX Asyn fifo rate"; + } + leaf rx-asyn-fifo-rate { + type uint64; + description + "RX Asyn fifo rate"; + } + leaf rx-lfec-fec-uncorrectable-errors { + type uint64; + description + "RX LFEC FEC uncorrectable errors"; + } + leaf rx-8b-10b-code-errors { + type uint64; + description + "RX 8b 10b code errors"; + } + } + + grouping NPU-EDM-LINK-ERROR-STATUS { + description + "NPU EDM LINK ERROR STATUS"; + leaf link-crc-error { + type uint32; + description + "link crc error"; + } + leaf link-size-error { + type uint32; + description + "link size error"; + } + leaf link-mis-align-error { + type uint32; + description + "link mis align error"; + } + leaf link-code-group-error { + type uint32; + description + "link code group error"; + } + leaf link-no-sig-lock-error { + type uint32; + description + "link no sig lock error"; + } + leaf link-no-sig-accept-error { + type uint32; + description + "link no sig accept error"; + } + leaf link-tokens-error { + type uint32; + description + "link tokens error"; + } + leaf error-token-count { + type uint32; + description + "error token count"; + } + } + + grouping NPU-EDM-STATS-ASIC-FMAC { + description + "NPU EDM STATS ASIC FMAC"; + container link-error-status { + description + "link error status"; + uses NPU-EDM-LINK-ERROR-STATUS; + } + container link-counters { + description + "link counters"; + uses NPU-EDM-LINK-COUNTERS; + } + container ovf-status { + description + "ovf status"; + uses NPU-EDM-LINK-OVF-COUNTERS; + } + } + + grouping NPU-EDM-STATS-ASIC-FMAC-INFO { + description + "NPU EDM STATS ASIC FMAC INFO"; + container aggr-stats { + description + "aggr stats"; + uses NPU-EDM-STATS-ASIC-FMAC; + } + container incr-stats { + description + "incr stats"; + uses NPU-EDM-STATS-ASIC-FMAC; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf rack-no { + type uint32; + description + "rack no"; + } + leaf slot-no { + type uint32; + description + "slot no"; + } + leaf asic-instance { + type uint32; + description + "asic instance"; + } + leaf link-no { + type uint32; + description + "link no"; + } + leaf num-links-in-port { + type uint32; + description + "num links in port"; + } + leaf link-valid { + type boolean; + description + "link valid"; + } + } + + grouping NPU-EDM-TXLINK-STATS { + description + "NPU EDM TXLINK STATS"; + leaf dummy { + type uint32; + description + "dummy"; + } + } + + grouping NPU-EDM-TXLINK { + description + "NPU EDM TXLINK"; + container this-link { + description + "this link"; + uses NPU-EDM-LINK-IDENTITY; + } + container far-end-link { + description + "far end link"; + uses NPU-EDM-LINK-IDENTITY; + } + container stats { + description + "stats"; + uses NPU-EDM-TXLINK-STATS; + } + container history { + description + "history"; + uses NPU-EDM-HISTORY; + } + leaf speed { + type uint32; + description + "speed"; + } + leaf stage { + type uint8; + description + "stage"; + } + leaf is-link-valid { + type boolean; + description + "is link valid"; + } + leaf is-conf-pending { + type boolean; + description + "is conf pending"; + } + leaf is-power-enabled { + type boolean; + description + "is power enabled"; + } + leaf coeff1 { + type uint32; + description + "coeff1"; + } + leaf coeff2 { + type uint32; + description + "coeff2"; + } + leaf admin-state { + type Admin-state; + description + "Admin State"; + } + leaf oper-state { + type Oper-state; + description + "Oper State"; + } + leaf error-state { + type Link-error-state; + description + "Error State"; + } + leaf num-admin-shuts { + type uint32; + description + "num admin shuts"; + } + } + + grouping NPU-EDM-CARD-INFO { + description + "NPU EDM CARD INFO"; + leaf card-name { + type string { + length "0..16"; + } + description + "card name"; + } + leaf si-board-version { + type uint32; + description + "si board version"; + } + leaf si-param-version { + type uint32; + description + "si param version"; + } + leaf si-rt-board-version { + type uint32; + description + "si rt board version"; + } + leaf si-rt-param-version { + type uint32; + description + "si rt param version"; + } + leaf major-hw-ver { + type uint32; + description + "major hw ver"; + } + leaf minor-hw-ver { + type uint32; + description + "minor hw ver"; + } + leaf fp-retimer-type-str { + type string; + description + "fp retimer type str"; + } + } + + grouping NPU-EDM-DEVICE { + description + "NPU EDM DEVICE"; + container asic-id { + description + "asic id"; + uses NPU-EDM-ASIC-IDENTITY; + } + leaf fapid { + type uint32; + description + "fapid"; + } + leaf hotplug-event { + type uint32; + description + "hotplug event"; + } + leaf slice-state { + type Slice-state; + description + "Slice State"; + } + leaf admin-state { + type Admin-state; + description + "Admin State"; + } + leaf oper-state { + type Asic-oper-state; + description + "Oper State"; + } + leaf asic-state { + type Asic-access-state; + description + "Asic State"; + } + leaf last-init-cause { + type Asic-init-method; + description + "last init cause"; + } + leaf num-pon-resets { + type uint32; + description + "num pon resets"; + } + leaf num-hard-resets { + type uint32; + description + "num hard resets"; + } + leaf fw-major-rev { + type uint32; + description + "fw major rev"; + } + leaf fw-minor-rev { + type uint32; + description + "fw minor rev"; + } + } + + grouping NPU-EDM-DRIVER-INFO { + description + "NPU EDM DRIVER INFO"; + leaf driver-version { + type uint32; + description + "driver version"; + } + leaf functional-role { + type Functional-role; + description + "Functional Role"; + } + leaf node-id { + type string; + description + "node id"; + } + leaf rack-type { + type Rack; + description + "Rack Type"; + } + leaf rack-num { + type uint8; + description + "rack num"; + } + leaf is-driver-ready { + type boolean; + description + "is driver ready"; + } + leaf card-avail-mask { + type string { + length "0..16"; + } + description + "card avail mask"; + } + leaf asic-avail-mask { + type string { + length "0..16"; + } + description + "asic avail mask"; + } + leaf exp-asic-avail-mask { + type string { + length "0..16"; + } + description + "exp asic avail mask"; + } + leaf asic-oper-notify-to-fsdb-pending-bmap { + type uint64; + description + "asic oper notify to fsdb pending bmap"; + } + leaf is-full-fgid-download-req { + type boolean; + description + "is full fgid download req"; + } + leaf is-fgid-download-in-progress { + type boolean; + description + "is fgid download in progress"; + } + leaf is-fgid-download-completed { + type boolean; + description + "is fgid download completed"; + } + leaf fsdb-conn-active { + type boolean; + description + "fsdb conn active"; + } + leaf fgid-conn-active { + type boolean; + description + "fgid conn active"; + } + leaf issu-mgr-conn-active { + type boolean; + description + "issu mgr conn active"; + } + leaf fsdb-reg-active { + type boolean; + description + "fsdb reg active"; + } + leaf fgid-reg-active { + type boolean; + description + "fgid reg active"; + } + leaf issu-mgr-reg-active { + type boolean; + description + "issu mgr reg active"; + } + leaf num-pm-conn-reqs { + type uint8; + description + "num pm conn reqs"; + } + leaf num-fsdb-conn-reqs { + type uint8; + description + "num fsdb conn reqs"; + } + leaf num-fgid-conn-reqs { + type uint8; + description + "num fgid conn reqs"; + } + leaf num-cm-conn-reqs { + type uint8; + description + "num cm conn reqs"; + } + leaf num-issu-mgr-conn-reqs { + type uint8; + description + "num issu mgr conn reqs"; + } + leaf num-peer-npu-conn-reqs { + type uint8; + description + "num peer npu conn reqs"; + } + leaf is-sm-registered { + type boolean; + description + "is sm registered"; + } + leaf is-ael-registered { + type boolean; + description + "is ael registered"; + } + leaf drvr-initial-startup-timestamp { + type string; + description + "drvr initial startup timestamp"; + } + leaf drvr-current-startup-timestamp { + type string; + description + "drvr current startup timestamp"; + } + leaf respawn-count { + type uint8; + description + "respawn count"; + } + leaf total-asics { + type uint8; + description + "total asics"; + } + leaf fabric-mode { + type Fabric-mode; + description + "Fixed Vs Distributed"; + } + leaf fabric-oper-mode { + type uint32; + description + "Fabric Operational Mode"; + } + leaf power-opt-freq { + type Power-opt-freq; + description + "Power Optimization Frequency"; + } + leaf is-fwding-supported { + type uint8; + description + "is fwding supported"; + } + leaf is-node-scoped { + type uint8; + description + "is node scoped"; + } + leaf sdk-version { + type string; + description + "sdk version"; + } + leaf unicast-weight { + type uint8; + description + "unicast weight"; + } + leaf multicast-weight { + type uint8; + description + "multicast weight"; + } + list device-info { + description + "device info"; + uses NPU-EDM-DEVICE; + } + list card-info { + description + "card info"; + uses NPU-EDM-CARD-INFO; + } + } + + grouping NPU-EDM-FSM-ENTRY { + description + "NPU EDM FSM ENTRY"; + leaf fsm-state { + type Npu-edm-fsm-state; + description + "FSM State"; + } + leaf fsm-event { + type Npu-edm-fsm-event; + description + "FSM Event"; + } + leaf shown { + type uint8; + description + "shown"; + } + leaf fsm-timestamp { + type string { + length "0..32"; + } + description + "fsm timestamp"; + } + } + + grouping NPU-EDM-FSM { + description + "NPU EDM FSM"; + leaf num-entries { + type uint8; + description + "num entries"; + } + list fsm-entry { + max-elements "15"; + description + "fsm entry"; + uses NPU-EDM-FSM-ENTRY; + } + } + + grouping NPU-EDM-STATE-CHANGE { + description + "NPU EDM STATE CHANGE"; + leaf admin-state { + type Admin-state; + description + "Admin State"; + } + leaf oper-state { + type Oper-state; + description + "Oper State"; + } + leaf error-state { + type Link-error-state; + description + "Error State"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf reasons { + type string; + description + "reasons"; + } + } + + grouping NPU-EDM-HISTORY { + description + "NPU EDM HISTORY"; + leaf histnum { + type uint8; + description + "histnum"; + } + leaf start-index { + type uint8; + description + "start index"; + } + list hist { + max-elements "5"; + description + "hist"; + uses NPU-EDM-STATE-CHANGE; + } + } + + grouping NPU-EDM-ASIC-IDENTITY { + description + "NPU EDM ASIC IDENTITY"; + leaf rack-type { + type Rack; + description + "Rack Type"; + } + leaf asic-type { + type Asic; + description + "Asic Type"; + } + leaf rack-num { + type uint32; + description + "rack num"; + } + leaf slot-num { + type uint32; + description + "slot num"; + } + leaf asic-instance { + type uint32; + description + "asic instance"; + } + } + + grouping NPU-EDM-LINK-IDENTITY { + description + "NPU EDM LINK IDENTITY"; + container asic-id { + description + "asic id"; + uses NPU-EDM-ASIC-IDENTITY; + } + leaf link-type { + type Link; + description + "Link Type"; + } + leaf link-stage { + type Link-stage; + description + "Link Stage"; + } + leaf link-num { + type uint32; + description + "link num"; + } + leaf log-link-num { + type uint32; + description + "log link num"; + } + } + + grouping NPU-EDM-RXLINK { + description + "NPU EDM RXLINK"; + container this-link { + description + "this link"; + uses NPU-EDM-LINK-IDENTITY; + } + container far-end-link { + description + "far end link"; + uses NPU-EDM-LINK-IDENTITY; + } + container far-end-link-in-hw { + description + "far end link in hw"; + uses NPU-EDM-LINK-IDENTITY; + } + container history { + description + "history"; + uses NPU-EDM-HISTORY; + } + container link-fsm { + description + "link fsm"; + uses NPU-EDM-FSM; + } + leaf speed-in-gbps { + type uint32; + description + "speed in gbps"; + } + leaf stage { + type Link-stage; + description + "Stage"; + } + leaf is-link-valid { + type boolean; + description + "is link valid"; + } + leaf is-conf-pending { + type boolean; + description + "is conf pending"; + } + leaf admin-state { + type Admin-state; + description + "Admin State"; + } + leaf oper-state { + type Oper-state; + description + "Oper State"; + } + leaf error-state { + type Link-error-state; + description + "Error State"; + } + leaf flags { + type string; + description + "flags"; + } + leaf flap-cnt { + type uint32; + description + "flap cnt"; + } + leaf num-admin-shuts { + type uint32; + description + "num admin shuts"; + } + leaf correctable-errors { + type uint64; + description + "correctable errors"; + } + leaf uncorrectable-errors { + type uint64; + description + "uncorrectable errors"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper.yang new file mode 100644 index 000000000..048572fd8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-fsdb-stats-oper.yang @@ -0,0 +1,263 @@ +module Cisco-IOS-XR-npu-fsdb-stats-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-npu-fsdb-stats-oper"; + prefix npu-fsdb-stats-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-npu-fsdb-stats-oper-sub1 { + revision-date 2022-03-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR npu-fsdb-stats package operational data. + + This module contains definitions + for the following management objects: + npu: Fabric Data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-03 { + description + "Updated the yang model for link FSM entry + 2022-02-11 + Added weight distribution to npu driver info"; + semver:module-version "2.0.1M"; + } + revision 2021-05-14 { + description + "Updated the type of fabric operational mode in the yang model"; + semver:module-version "2.0.0"; + } + revision 2020-10-10 { + description + "Yang Schema for npu driver link info"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Link-option-string { + type string { + pattern "(flap)|(topo)|(fsm)"; + } + description + "flap:Display link flap info, topo:Display link + topo info, fsm:Link state FSM info"; + } + + typedef Npu-max-asic-instances { + type uint32 { + range "0..255"; + } + description + "Npu max asic instances"; + } + + typedef Link-info-max-number { + type uint32 { + range "0..255"; + } + description + "Link info max number"; + } + + container npu { + config false; + description + "Fabric Data"; + list node { + key "node-name"; + description + "Data for particular node"; + container rx-link-information { + description + "NPU link rx information"; + container link-options { + description + "Option table for link rx information"; + list link-option { + key "option"; + description + "Option : topo , fsm , flap"; + container rx-asic-instances { + description + "Instance table for rx information"; + list rx-asic-instance { + key "instance"; + description + "Instance number for rx link information"; + container rx-links { + description + "Link table class for rx information"; + list rx-link { + description + "Link number for rx link information"; + leaf start-number { + type Link-info-max-number; + description + "Start number"; + } + leaf end-number { + type Link-info-max-number; + description + "End number"; + } + leaf status-option { + type xr:Cisco-ios-xr-string; + description + "RX link status option"; + } + list rx-link { + key "link"; + description + "Single link information"; + leaf link { + type uint32; + description + "Single link"; + } + uses NPU-EDM-RXLINK; + } + } + } + leaf instance { + type Npu-max-asic-instances; + description + "Receive instance"; + } + } + } + leaf option { + type Link-option-string; + description + "Link option"; + } + } + } + } + container driver-info { + description + "NPU Driver Info"; + uses NPU-EDM-DRIVER-INFO; + } + container tx-link-information { + description + "NPU link TX information"; + container tx-status-option-table { + description + "Link table for tx information"; + container tx-status-option { + description + "Option: data, ctrl, all- for now none"; + container tx-asic-instances { + description + "Instance table for tx information"; + list tx-asic-instance { + key "instance"; + description + "Instance number for tx link information"; + container tx-links { + description + "Link table for tx information"; + list tx-link { + description + "Link number for tx link information"; + leaf start-number { + type Link-info-max-number; + description + "Start number"; + } + leaf end-number { + type Link-info-max-number; + description + "End number"; + } + list tx-link { + key "link"; + description + "Single link information"; + leaf link { + type uint32; + description + "Single Link"; + } + uses NPU-EDM-TXLINK; + } + } + } + leaf instance { + type Npu-max-asic-instances; + description + "Transmit instance"; + } + } + } + } + } + } + container instance-tables { + description + "NPU statistics"; + list instance-table { + key "instance"; + description + "Instance Number"; + container fmac-link-tables { + description + "FMAC statistics"; + list fmac-link-table { + key "link"; + description + "Link Number"; + container fmac-brief-statistics { + description + "NPU FMAC Statistics"; + uses NPU-EDM-STATS-ASIC-FMAC-INFO; + } + leaf link { + type uint32; + description + "Link Number"; + } + } + } + leaf instance { + type uint32; + description + "Instance Number"; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-npu-hw-profile-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-hw-profile-cfg.yang new file mode 100644 index 000000000..c8677fcfa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-hw-profile-cfg.yang @@ -0,0 +1,600 @@ +module Cisco-IOS-XR-npu-hw-profile-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-npu-hw-profile-cfg"; + prefix npu-hw-profile-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR npu-hw-profile package configuration. + + This module contains definitions + for the following management objects: + macsec-hw-module: Macsec Related HW Module configs, Reload + Card after config + npu-hw-module-profile-config: none + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-08 { + description + "Yang Schema updated for route scale lpm tcam-banks + 2022-07-14 + Yang Schema updated for gue dest port profile in hw-module config. + 2022-07-07 + Yang Schema added for route scale lpm high + 2022-02-11 + Yang Schema added for configuring CBF forward-class-list + 2021-12-11 + Yang Schema added for route scale high for IPV6 connected-prefix + 2021-09-30 + Yang Schema updated to add LDPoTE scale/label knobs"; + semver:module-version "1.1.1m"; + } + revision 2021-08-15 { + description + "Yang Schema updated to make fair-4/fair-8 options visible + 2021-06-28 + Yang Schema updated to accept a range of values for lpts entry counters + 2021-04-30 + Yang Schema added for bd flush convergence + 2021-03-04 + Yang Schema added for pifib entry counters + 2021-02-16 + Yang Schema added for cbf"; + semver:module-version "1.1.0"; + } + revision 2021-01-26 { + description + "Added CEF profile for punting ip-redirect"; + semver:module-version "1.0.0"; + } + revision 2021-01-11 { + description + "Added profile CEF IPv6 hop-limit punt"; + } + revision 2020-11-13 { + description + "Yang Schema removed block for NPU power profile in hw-module config."; + } + revision 2020-11-09 { + description + "Yang Schema fixed for npu config hw module cli - power profile model."; + } + revision 2020-09-29 { + description + "Yang Schema added for l2-qos-mode"; + } + revision 2020-09-01 { + description + "Yang Schema added new VoQ modes."; + } + revision 2020-07-30 { + description + "Yang Schema added for npu-power-optimize"; + } + revision 2020-06-04 { + description + "Yang Schema added for ttl mode of ip tunnel"; + } + revision 2020-05-27 { + description + "Yang Schema added Macsec Related Yang Config Model."; + } + revision 2020-04-03 { + description + "Yang Schema added for label stats"; + } + revision 2020-02-05 { + description + "Yang Schema updated for reorganized cli knobs."; + } + revision 2020-01-22 { + description + "Yang Schema added for bw-threshold."; + } + revision 2019-12-23 { + description + "Yang Schema adde for VoQ and Counter Sharing modes."; + } + revision 2019-10-14 { + description + "Yang Schema fixed for npu config hw module cli."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6-hop-limit-action { + type enumeration { + enum "punt" { + value 1; + description + "IPv6 hop-limit punt"; + } + } + description + "Ipv6 hop limit action"; + } + + typedef Qos-voq-mode { + type enumeration { + enum "fair-4" { + value 2; + description + "fair-4 VoQ Mode"; + } + enum "fair-8" { + value 3; + description + "fair-8 VoQ Mode"; + } + enum "4" { + value 4; + description + "4 VoQ Mode"; + } + enum "8" { + value 8; + description + "8 VoQ Mode"; + } + } + description + "Qos voq mode"; + } + + container macsec-hw-module { + description + "Macsec Related HW Module configs, Reload Card + after config"; + container fips-post-location-tables { + description + "Enable macsec-fips-post"; + list fips-post-location-table { + key "location-string"; + description + "none"; + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "Location of MacsecFipsPost config or all"; + } + list fips-post-location { + key "location-id"; + description + "none"; + leaf location-id { + type uint32; + description + "Location ID if all set to 65535"; + } + leaf enable-val { + type uint32; + mandatory true; + description + "If Enabled set value to 65535"; + } + } + } + } + container macsec-mode-location-tables { + description + "Enable macsec-mode"; + list macsec-mode-location-table { + key "location-string"; + description + "none"; + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "Location of MacSecMode config or all"; + } + list macsec-mode-location { + key "location-id"; + description + "none"; + leaf location-id { + type uint32; + description + "Location ID if all set to 65535"; + } + leaf enable-val { + type uint32; + mandatory true; + description + "If Enabled set value to 65535"; + } + } + } + } + } + container npu-hw-module-profile-config { + description + "none"; + container profile { + description + "Configure profile."; + container qos { + description + "Configure qos profile"; + leaf l2-mode { + type uint32 { + range "2..3"; + } + description + "value either 2 or 3 (for L2 or L3 mode)"; + } + leaf voq-mode { + type Qos-voq-mode; + description + "voq mode to configure"; + } + } + container gue { + description + "Configure gue udp port"; + leaf udp-dest-port { + type uint32 { + range "1000..64000"; + } + description + "Configure udp destination port for + ipv4/ipv6/mpls payloads"; + } + } + container tcam-table { + description + "Configure profile for TCAM LC cards"; + container fib-table { + description + "FIB table for TCAM LC cards"; + container ipv6-address { + description + "IPv6 table for TCAM LC cards"; + container ipv6-unicast { + description + "Unicast table for TCAM LC cards"; + leaf ipv6-unicast-percent { + type uint32 { + range "0..100"; + } + units "percentage"; + description + "curve out percentage of TCAM table entries"; + } + } + } + container ipv4-address { + description + "IPv4 table for TCAM LC cards"; + container ipv4-unicast { + description + "Unicast table for TCAM LC cards"; + leaf ipv4-unicast-percent { + type uint32 { + range "0..100"; + } + units "percentage"; + description + "curve out percentage of TCAM table entries"; + } + } + } + } + container acl-table { + description + "ACL table for TCAM LC cards"; + leaf acl-percent { + type uint32 { + range "0..100"; + } + units "percentage"; + description + "curve out percentage of TCAM table entries"; + } + } + } + container netflow { + description + "Configure Netflow profile."; + container ipfix-netflow-locations { + description + "none"; + list ipfix-netflow-location { + key "location-string"; + description + "none"; + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "Location of NETFLOW config"; + } + list ipfix-netflow-location-leaf { + key "location-id"; + description + "none"; + leaf location-id { + type uint32; + description + "Location ID"; + } + leaf enable-val { + type uint32; + mandatory true; + description + "If Enabled set value to 65535"; + } + } + } + } + container ipfix-location-all { + description + "IPFIX315 Location All"; + leaf ipfix-location-all-leaf { + type uint32; + description + "If Enabled set value to 65535"; + } + } + } + container route { + description + "route"; + container scale { + description + "scale"; + container lpm { + description + "lpm"; + leaf tcam-banks { + type empty; + description + "Enable profile scale lpm tcam banks"; + } + } + container ipv6-unicast { + description + "ipv6 unicast"; + container connected-prefix { + description + "connected prefix"; + leaf high { + type empty; + description + "Enable profile ipv6-unicast + connected-prefix high"; + } + } + } + container hbm-algo { + description + "hbm algo"; + leaf hbm-hi-hbm { + type empty; + description + "Change hbm-hit-hbm"; + } + leaf hbm-chronograph { + type empty; + description + "Change hbm-chronograph"; + } + leaf hbm-hi-sram { + type empty; + description + "Change hbm-hit-sram"; + } + } + } + } + container npu { + description + "Configure npu "; + container buffer-extended-locs { + description + "Configure buffer-extended "; + list buffer-extended-loc { + key "location-string"; + description + "none"; + leaf bandwidth-congestion-protect { + type empty; + description + "Disable device congestion protect"; + } + leaf buffer-extended-congestion-detection { + type empty; + description + "Enable buffer-extended-congestion-detection"; + } + leaf location-string { + type xr:Cisco-ios-xr-string; + description + "Location of buffer-extended config or all"; + } + } + } + } + container stats { + description + "Configure statistics profile"; + leaf voq-sharing-counters { + type uint32 { + range "1..4"; + } + description + "Configure number of voqs (1, 2, 4) sharing + counters"; + } + } + container l2fib { + description + "Configure l2fib profiles"; + leaf pw-stats { + type uint32; + description + "If enabled, set value to 1"; + } + leaf bd-flush-conv { + type boolean; + description + "TRUE if enabled, FALSE if disabled"; + } + } + container cef-forwarding { + description + "Configure cef profiles"; + container te-tunnel { + description + "Configure te-tunnel profile"; + leaf label-over-te-counter { + type uint32; + description + "Configure label counters instead of TE + counters"; + } + leaf high-scale-ldpote { + type uint32; + description + "Configure te-tunnel highscale with ldp over + te feature and disable sr over srte"; + } + leaf high-scale { + type uint32; + description + "Configure te-tunnel highscale and disable ldp + over te feature"; + } + } + container cef-stats { + description + "Configure feature level stats"; + container label { + description + "Configure label stats"; + container app-default { + description + "Applies to - LDP and SR"; + leaf dynamic { + type uint32; + description + "If enabled, set value to 1"; + } + } + } + } + container ttl { + description + "Configure ttl profile"; + container tunnel-ip { + description + "Configure tunnel-ip ttl mode"; + leaf decrement { + type uint32; + description + "Configure tunnel-ip ttl decrement attribute"; + } + } + } + container ipv6 { + description + "IPv6"; + leaf hop-limit { + type Ipv6-hop-limit-action; + description + "IPv6 hop-limit 0 packets"; + } + } + container lpts-xr { + description + "Enable lpts pifib per-entry counters"; + leaf pifib-entry-counters { + type uint32 { + range "256..512"; + } + description + "Configure number of counters"; + } + } + container lpts { + description + "LPTS"; + leaf acl { + type empty; + description + "Enable profile CEF LPTS ACL"; + } + } + leaf sropt { + type uint32 { + range "0..1"; + } + description + "Enable SROPT feature"; + } + leaf cbf { + type empty; + description + "Enable cbf feature"; + } + leaf forward-class-list { + type uint32 { + range "0..7"; + } + default "0"; + description + "forward class list"; + } + leaf bgplu { + type uint32; + description + "If Enabled set value to 1"; + } + leaf dark-bandwidth { + type uint32 { + range "0..1"; + } + description + "Configure dark-bandwidth feature"; + } + leaf ip-redirect { + type uint32 { + range "0..1"; + } + description + "value either 0 or 1"; + } + } + leaf bw-threshold { + type string; + units "percentage"; + description + "Configure fabric BW"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-d-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-d-cfg.yang new file mode 100644 index 000000000..a3e343ca0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-d-cfg.yang @@ -0,0 +1,120 @@ +module Cisco-IOS-XR-npu-power-profile-sf-d-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-npu-power-profile-sf-d-cfg"; + prefix npu-power-profile-sf-d-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR npu-power-profile-sf-d package configuration. + + This module contains definitions + for the following management objects: + npu-hw-module-profile-config: none + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-22 { + description + "Yang Schema updated to handle location format R/S/A instead of R_S_A."; + semver:module-version "2.0.0"; + } + revision 2020-11-13 { + description + "Yang Schema added for SF-D NPU power profile in hw-module config."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Power-mode-enum { + type enumeration { + enum "low" { + value 1; + description + "Low"; + } + enum "medium" { + value 2; + description + "Medium"; + } + enum "high" { + value 3; + description + "High"; + } + } + description + "Power mode enum"; + } + + container npu-hw-module-profile-config { + description + "none"; + container profile { + description + "Configure profile."; + container npu-power-profile { + description + "Configure asic power usage."; + container card-type { + description + "Card Type"; + container fabric-card { + description + "Fabric Cards"; + leaf power-mode { + type Power-mode-enum; + description + "Power Mode"; + } + } + container line-card-locations { + description + "Line Cards"; + list line-card-location { + key "location"; + description + "none"; + leaf power-mode { + type Power-mode-enum; + description + "Power Mode"; + } + leaf location { + type xr:Node-id; + description + "Location of npu-power-profile config"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-f-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-f-cfg.yang new file mode 100644 index 000000000..db2af0656 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-npu-power-profile-sf-f-cfg.yang @@ -0,0 +1,98 @@ +module Cisco-IOS-XR-npu-power-profile-sf-f-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-npu-power-profile-sf-f-cfg"; + prefix npu-power-profile-sf-f-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR npu-power-profile-sf-f package configuration. + + This module contains definitions + for the following management objects: + npu-hw-module-profile-config: none + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-22 { + description + "Yang Schema updated to handle power mode as enum instead of uint32_t."; + semver:module-version "2.0.0"; + } + revision 2020-11-13 { + description + "Yang Schema added for SF-F NPU power profile in hw-module config."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Power-mode-enum { + type enumeration { + enum "low" { + value 1; + description + "Low"; + } + enum "medium" { + value 2; + description + "Medium"; + } + enum "high" { + value 3; + description + "High"; + } + } + description + "Power mode enum"; + } + + container npu-hw-module-profile-config { + description + "none"; + container profile { + description + "Configure profile."; + container npu-power-profile { + description + "Configure asic power usage."; + container card-type { + description + "Card Type"; + container fixed-board { + description + "Fixed board systems"; + leaf power-mode { + type Power-mode-enum; + description + "Power Mode"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper-sub1.yang new file mode 100644 index 000000000..0bf26bb80 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper-sub1.yang @@ -0,0 +1,275 @@ +submodule Cisco-IOS-XR-nto-misc-oper-sub1 { + belongs-to Cisco-IOS-XR-nto-misc-oper { + prefix Cisco-IOS-XR-nto-misc-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR nto-misc package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-25 { + description + "Enhance output as per show shmwin summary/detail"; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SHARED-WINDOW { + description + "Shared window information"; + leaf shared-window { + type string; + description + "Name of shared window"; + } + leaf window-size { + type uint64; + description + "Size of shared window"; + } + leaf window-group { + type uint64; + description + "Shared window ID"; + } + leaf private-window { + type boolean; + description + "Shared window type"; + } + } + + grouping NODE-MEM-INFO-DETAIL { + description + "Detail Node memory information"; + leaf page-size { + type uint32; + units "byte"; + description + "Page size in bytes"; + } + leaf ram-memory { + type uint64; + units "byte"; + description + "Physical memory size in bytes"; + } + leaf free-physical-memory { + type uint64; + units "byte"; + description + "Physical memory available in bytes"; + } + leaf private-physical-memory { + type uint64; + units "byte"; + description + "Private Physical memory in bytes"; + } + leaf system-ram-memory { + type uint64; + units "byte"; + description + "Application memory size in bytes"; + } + leaf free-application-memory { + type uint64; + units "byte"; + description + "Application memory available in bytes"; + } + leaf image-memory { + type uint64; + units "byte"; + description + "Image memory size in bytes"; + } + leaf boot-ram-size { + type uint64; + units "byte"; + description + "Boot RAM size in bytes"; + } + leaf reserved-memory { + type uint64; + units "byte"; + description + "Reserved memory size in bytes"; + } + leaf io-memory { + type uint64; + units "byte"; + description + "IO memory size in bytes"; + } + leaf flash-system { + type uint64; + units "byte"; + description + "Flash System size in bytes"; + } + leaf group1-shmwin-size { + type uint64; + units "byte"; + description + "Shared memory size in bytes"; + } + leaf group1-shmwin-allocated { + type uint64; + units "byte"; + description + "Shared memory allocated in bytes"; + } + leaf group1-shmwin-free { + type uint64; + units "byte"; + description + "Shared memory available in bytes"; + } + leaf group2-shmwin-size { + type uint64; + units "byte"; + description + "Shared memory size in bytes"; + } + leaf group2-shmwin-allocated { + type uint64; + units "byte"; + description + "Shared memory allocated in bytes"; + } + leaf group2-shmwin-free { + type uint64; + units "byte"; + description + "Shared memory available in bytes"; + } + leaf total-shared-window { + type uint64; + description + "Total Shared window"; + } + leaf allocated-memory { + type uint64; + description + "Allocated Memory Size"; + } + leaf program-text { + type uint64; + description + "Program Text Size"; + } + leaf program-data { + type uint64; + description + "Program Data Size"; + } + leaf program-stack { + type uint64; + description + "Program Stack Size"; + } + leaf total-used { + type uint64; + description + "Total Used"; + } + list shared-window { + description + "Available Shared windows"; + uses SHARED-WINDOW; + } + } + + grouping NODE-MEM-INFO { + description + "Node memory information"; + leaf page-size { + type uint32; + units "byte"; + description + "Page size in bytes"; + } + leaf ram-memory { + type uint64; + units "byte"; + description + "Physical memory size in bytes"; + } + leaf free-physical-memory { + type uint64; + units "byte"; + description + "Physical memory available in bytes"; + } + leaf system-ram-memory { + type uint64; + units "byte"; + description + "Application memory size in bytes"; + } + leaf free-application-memory { + type uint64; + units "byte"; + description + "Application memory available in bytes"; + } + leaf image-memory { + type uint64; + units "byte"; + description + "Image memory size in bytes"; + } + leaf boot-ram-size { + type uint64; + units "byte"; + description + "Boot RAM size in bytes"; + } + leaf reserved-memory { + type uint64; + units "byte"; + description + "Reserved memory size in bytes"; + } + leaf io-memory { + type uint64; + units "byte"; + description + "IO memory size in bytes"; + } + leaf flash-system { + type uint64; + units "byte"; + description + "Flash System size in bytes"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper.yang new file mode 100644 index 000000000..028d33429 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-nto-misc-oper.yang @@ -0,0 +1,83 @@ +module Cisco-IOS-XR-nto-misc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-nto-misc-oper"; + prefix nto-misc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-nto-misc-oper-sub1 { + revision-date 2022-01-25; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR nto-misc package operational data. + + This module contains definitions + for the following management objects: + memory-summary: Memory summary information + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-25 { + description + "Enhance output as per show shmwin summary/detail"; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container memory-summary { + config false; + description + "Memory summary information"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Name of nodes"; + container summary { + description + "Memory summary information for a specific node"; + uses NODE-MEM-INFO; + } + container detail { + description + "Detail Memory summary information for a + specific node"; + uses NODE-MEM-INFO-DETAIL; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-nvgen-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-nvgen-cfg.yang new file mode 100644 index 000000000..f8ca11c26 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-nvgen-cfg.yang @@ -0,0 +1,82 @@ +module Cisco-IOS-XR-nvgen-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-nvgen-cfg"; + prefix nvgen-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR nvgen package configuration. + + This module contains definitions + for the following management objects: + nvgen-cfg: nvgen config commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container nvgen-cfg { + description + "nvgen config commands"; + container sanitize-flags { + description + "nvgen default sanitize flags"; + leaf passwords { + type empty; + description + "nvgen will default sanitize passwords"; + } + leaf comments { + type empty; + description + "nvgen will default sanitize comments"; + } + leaf ip-addrs { + type empty; + description + "nvgen will default sanitize ip addresses and + masks"; + } + leaf strings { + type empty; + description + "nvgen will default sanitize strings which are + not passwords/comments/usernames"; + } + leaf usernames { + type empty; + description + "nvgen will default sanitize usernames"; + } + } + leaf enter { + type empty; + description + "nvgen submode enter tuple"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub1.yang new file mode 100644 index 000000000..077f2b45d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub1.yang @@ -0,0 +1,286 @@ +submodule Cisco-IOS-XR-ofa-netflow-oper-sub1 { + belongs-to Cisco-IOS-XR-ofa-netflow-oper { + prefix Cisco-IOS-XR-ofa-netflow-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ofa-netflow package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-08-26 { + description + "Update leaf fields"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Flow-monitor-name { + type string; + description + "Flow monitor name"; + } + + grouping NFSVR-COLLECTOR-INFO { + description + "Per collector information"; + leaf exporter-state { + type string; + description + "Exporter state"; + } + leaf destination-address { + type string; + description + "Destination IPv4 address in AAA.BBB.CCC.DDD + format"; + } + leaf source-address { + type string; + description + "Source IPv4 address in AAA.BBB.CCC.DDD format"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf destination-port { + type uint16; + description + "Destination port number"; + } + leaf souce-port { + type uint16; + description + "Source port number"; + } + leaf transport-protocol { + type string; + description + "Transport protocol"; + } + leaf packets-sent { + type uint64; + description + "Packets sent"; + } + leaf flows-sent { + type uint64; + description + "Flows sent"; + } + leaf templates-sent { + type uint64; + description + "Templates sent"; + } + leaf option-templates-sent { + type uint64; + description + "Option templates sent"; + } + leaf option-data-sent { + type uint64; + description + "Option data sent"; + } + leaf bytes-sent { + type uint64; + units "byte"; + description + "Bytes sent"; + } + leaf flow-bytes-sent { + type uint64; + units "byte"; + description + "Flow bytes sent"; + } + leaf template-bytes-sent { + type uint64; + units "byte"; + description + "Template bytes sent"; + } + leaf option-template-bytes-sent { + type uint64; + units "byte"; + description + "Option template bytes sent"; + } + leaf option-data-bytes-sent { + type uint64; + units "byte"; + description + "Option data bytes sent"; + } + leaf packets-dropped { + type uint64; + description + "Packets dropped"; + } + leaf flows-dropped { + type uint64; + description + "Flows dropped"; + } + leaf templates-dropped { + type uint64; + description + "Templates dropped"; + } + leaf option-templates-dropped { + type uint64; + description + "Option templates dropped"; + } + leaf option-data-dropped { + type uint64; + description + "Option data dropped"; + } + leaf bytes-dropped { + type uint64; + units "byte"; + description + "Bytes dropped"; + } + leaf flow-bytes-dropped { + type uint64; + units "byte"; + description + "Flow bytes dropped"; + } + leaf template-bytes-dropped { + type uint64; + units "byte"; + description + "Template bytes dropped"; + } + leaf option-template-bytes-dropped { + type uint64; + units "byte"; + description + "Option template bytes dropped"; + } + leaf option-data-bytes-dropped { + type uint64; + description + "Option data dropped"; + } + leaf last-hour-packest-sent { + type uint64; + description + "Total packets exported over the last one hour"; + } + leaf last-hour-bytes-sent { + type uint64; + units "byte"; + description + "Total bytes exported over the last one hour"; + } + leaf last-hour-flows-sent { + type uint64; + description + "Total flows exported over the of last one hour"; + } + leaf last-minute-packets { + type uint64; + description + "Total packets exported over the last one minute"; + } + leaf last-minute-bytes-sent { + type uint64; + units "byte"; + description + "Total bytes exported over the last one minute"; + } + leaf last-minute-flows-sent { + type uint64; + description + "Total flows exported over the last one minute"; + } + leaf last-second-packets-sent { + type uint64; + description + "Total packets exported over the last one second"; + } + leaf last-second-bytes-sent { + type uint64; + units "byte"; + description + "Total bytes exported over the last one second"; + } + leaf last-second-flows-sent { + type uint64; + description + "Total flows exported over the last one second"; + } + } + + grouping NFSVR-SHOW-FLOW-EXPORTER-RESP-STATS { + description + "Flow exporter information"; + leaf name { + type string; + description + "Exporter name"; + } + leaf protocol { + type string; + description + "Export Protocol Name"; + } + leaf memory-usage { + type uint32; + description + "Memory usage"; + } + leaf-list used-by-flow-monitor { + type Flow-monitor-name; + description + "List of flow monitors that use the exporter"; + } + list collector { + description + "Statistics of all collectors"; + uses NFSVR-COLLECTOR-INFO; + } + } + + grouping NFSVR-SHOW-FLOW-EXPORTER-RESP-ARRAY { + description + "Flow exporter information"; + list statistic { + description + "Array of flow exporters"; + uses NFSVR-SHOW-FLOW-EXPORTER-RESP-STATS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub2.yang new file mode 100644 index 000000000..939be9824 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper-sub2.yang @@ -0,0 +1,123 @@ +submodule Cisco-IOS-XR-ofa-netflow-oper-sub2 { + belongs-to Cisco-IOS-XR-ofa-netflow-oper { + prefix Cisco-IOS-XR-ofa-netflow-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ofa-netflow package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-08-26 { + description + "Update leaf fields"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NF-PRODUCER-STATS { + description + "Netflow Platform Producer Process statistics"; + leaf ipv4-ingress-flows { + type uint64; + description + "IPv4 ingress flows"; + } + leaf ipv4-egress-flows { + type uint64; + description + "IPv4 egress flows"; + } + leaf ipv6-ingress-flows { + type uint64; + description + "IPv6 ingress flows"; + } + leaf ipv6-egress-flows { + type uint64; + description + "IPv6 egress flows"; + } + leaf mpls-ingress-flows { + type uint64; + description + "MPLS ingress flows"; + } + leaf mpls-egress-flows { + type uint64; + description + "MPLS egress flows"; + } + leaf ipfix315-ingress-flows { + type uint64; + description + "IPFIX315 ingress flows"; + } + leaf ipfix315-egress-flows { + type uint64; + description + "IPFIX315 egress flows"; + } + leaf sflow-ingress-flows { + type uint64; + description + "sFlow ingress flows"; + } + leaf sflow-egress-flows { + type uint64; + description + "sFlow egress flows"; + } + leaf drops-no-space { + type uint64; + description + "Drops (no space)"; + } + leaf drops-others { + type uint64; + description + "Drops (others)"; + } + leaf unknown-ingress-flows { + type uint64; + description + "Unknown ingress flows"; + } + leaf unknown-egress-flows { + type uint64; + description + "Unknown egress flows"; + } + leaf last-cleared { + type string; + description + "Last time Statistics cleared in 'Mon Jan 1 12:00 + :00 2xxx' format"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper.yang new file mode 100644 index 000000000..3811e7c6a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-netflow-oper.yang @@ -0,0 +1,107 @@ +module Cisco-IOS-XR-ofa-netflow-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-netflow-oper"; + prefix ofa-netflow-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ofa-netflow-oper-sub2 { + revision-date 2019-08-26; + } + include Cisco-IOS-XR-ofa-netflow-oper-sub1 { + revision-date 2019-08-26; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ofa-netflow package operational data. + + This module contains definitions + for the following management objects: + net-flow: NetFlow operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-08-26 { + description + "Update leaf fields"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container net-flow { + config false; + description + "NetFlow operational data"; + container statistics { + description + "Node-specific NetFlow statistics information"; + list statistic { + key "node"; + description + "NetFlow statistics information for a particular + node"; + container producer { + description + "NetFlow producer statistics"; + container statistics { + description + "Statistics information"; + uses NF-PRODUCER-STATS; + } + } + container server { + description + "NetFlow server statistics"; + container flow-exporters { + description + "Flow exporter information"; + list flow-exporter { + key "exporter-name"; + description + "Exporter information"; + container exporter { + description + "Statistics information for the exporter"; + uses NFSVR-SHOW-FLOW-EXPORTER-RESP-ARRAY; + } + leaf exporter-name { + type xr:Cisco-ios-xr-string; + description + "Exporter name"; + } + } + } + } + leaf node { + type xr:Node-id; + description + "Node location"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper-sub1.yang new file mode 100644 index 000000000..7e7b33b06 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper-sub1.yang @@ -0,0 +1,139 @@ +submodule Cisco-IOS-XR-ofa-npu-pfc-oper-sub1 { + belongs-to Cisco-IOS-XR-ofa-npu-pfc-oper { + prefix Cisco-IOS-XR-ofa-npu-pfc-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ofa-npu-pfc package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-19 { + description + "Create the initial priority-flow-control oper yang model."; + semver:module-version "1.0.0"; + } + revision 2021-06-02 { + description + "Added ecn and ecn-max unit fields."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OFA-PFC-TC-CFG { + description + "OFA PFC TC CFG"; + leaf in-use { + type boolean; + description + "Flag to indicate if PFC is configured for the tc"; + } + leaf tc-pause-threshold { + type uint32; + description + "Pause-threshold configured"; + } + leaf tc-headroom { + type uint32; + description + "Headroom configured"; + } + leaf tc-ecn { + type uint32; + description + "ECN configured"; + } + leaf tc-ecn-max { + type uint32; + description + "ECN Max configured"; + } + leaf tc-prob-per { + type uint32; + description + "ECN Prob Per configured"; + } + leaf tc-pause-threshold-unit { + type string { + length "0..6"; + } + description + "Pause-threshold Unit"; + } + leaf tc-headroom-unit { + type string { + length "0..6"; + } + description + "Headroom Unit"; + } + leaf tc-ecn-unit { + type string { + length "0..6"; + } + description + "Ecn Unit"; + } + leaf tc-ecn-max-unit { + type string { + length "0..6"; + } + description + "Ecn Max Unit"; + } + leaf tc-reload-state { + type uint32; + description + "Reload State"; + } + } + + grouping OFA-PFC-CFG { + description + "OFA PFC CFG"; + leaf in-use { + type boolean; + description + "Flag to indicate if PFC is configured for the + line-card"; + } + leaf pfc-mode { + type string { + length "0..16"; + } + description + "pfc mode configured"; + } + list tc-cfg { + max-elements "8"; + description + "Keeps a record of the PFC configuration for the + line-card"; + uses OFA-PFC-TC-CFG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper.yang new file mode 100644 index 000000000..6c80afb9a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-pfc-oper.yang @@ -0,0 +1,84 @@ +module Cisco-IOS-XR-ofa-npu-pfc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-pfc-oper"; + prefix ofa-npu-pfc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ofa-npu-pfc-oper-sub1 { + revision-date 2021-08-19; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ofa-npu-pfc package operational data. + + This module contains definitions + for the following management objects: + ofapfc: Stats Data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-19 { + description + "Create the initial priority-flow-control oper yang model."; + semver:module-version "1.0.0"; + } + revision 2021-06-02 { + description + "Added ecn and ecn-max unit fields."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ofapfc { + config false; + description + "Stats Data"; + container pfc { + description + "PFC data"; + container nodes { + description + "PFC data for available nodes"; + list node { + key "node-name"; + description + "PFC operational data for a particular node"; + container display { + description + "pfc data"; + uses OFA-PFC-CFG; + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper-sub1.yang new file mode 100644 index 000000000..851534b48 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper-sub1.yang @@ -0,0 +1,122 @@ +submodule Cisco-IOS-XR-ofa-npu-qos-oper-sub1 { + belongs-to Cisco-IOS-XR-ofa-npu-qos-oper { + prefix Cisco-IOS-XR-ofa-npu-qos-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ofa-npu-qos package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-19 { + description + "Create the initial npu-qos oper yang model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ofa-npu-qos-show-hp-level { + type enumeration { + enum "priority-level1" { + description + "Priority queue level 1"; + } + enum "priority-level2" { + description + "Priority queue level 2"; + } + enum "priority-level3" { + description + "Priority queue level 3"; + } + enum "priority-level4" { + description + "Priority queue level 4"; + } + enum "priority-level5" { + description + "Priority queue level 5"; + } + enum "priority-level6" { + description + "Priority queue level 6"; + } + enum "priority-level7" { + description + "Priority queue level 7"; + } + enum "priority-level8" { + description + "Priority queue level 8"; + } + enum "unknown" { + description + "Unknown"; + } + } + description + "Priority level"; + } + + grouping OFA-NPU-QOS-Q-INFO-ST { + description + "OFA NPU QOS Q INFO ST"; + leaf priority-level { + type Ofa-npu-qos-show-hp-level; + description + "Priority level"; + } + leaf config-max-rate { + type uint32; + units "kbit/s"; + description + "Configured maximum rate kbps"; + } + } + + grouping OFA-NPU-QOS-SHOW-ST { + description + "OFA NPU QOS SHOW ST"; + leaf npu-id { + type uint32; + description + "NPU ID"; + } + leaf voq-base-address { + type uint32; + description + "VOQ base address"; + } + list q-config { + max-elements "8"; + description + "Port configuration"; + uses OFA-NPU-QOS-Q-INFO-ST; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper.yang new file mode 100644 index 000000000..08c345ea6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-qos-oper.yang @@ -0,0 +1,44 @@ +module Cisco-IOS-XR-ofa-npu-qos-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-qos-oper"; + prefix ofa-npu-qos-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ofa-npu-qos-oper-sub1 { + revision-date 2022-09-19; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ofa-npu-qos package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-19 { + description + "Create the initial npu-qos oper yang model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper-sub1.yang new file mode 100644 index 000000000..b88fa6dcc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper-sub1.yang @@ -0,0 +1,681 @@ +submodule Cisco-IOS-XR-ofa-npu-stats-oper-sub1 { + belongs-to Cisco-IOS-XR-ofa-npu-stats-oper { + prefix Cisco-IOS-XR-ofa-npu-stats-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ofa-npu-stats package operational data. + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-02 { + description + "Added counters-drop/summary cmd changes"; + semver:module-version "3.0.1m"; + } + revision 2021-02-05 { + description + "Added src-interface show cmd changes"; + semver:module-version "3.0.0"; + } + revision 2020-10-09 { + description + "Added task-id"; + semver:module-version "2.0.0"; + } + revision 2020-06-25 { + description + "Updated task-name"; + semver:module-version "1.2.0"; + } + revision 2019-12-14 { + description + "Updated date for npu stats model"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping DPA-TRAP-STATS { + description + "DPA TRAP STATS"; + leaf trap-strength { + type uint32; + description + "Trap Strength of the trap"; + } + leaf priority { + type uint32; + description + "Priority of the trap"; + } + leaf trap-id-xr { + type uint32; + description + "Id of the trap"; + } + leaf gport { + type uint32; + description + "Gport of the trap"; + } + leaf fec-id { + type uint32; + description + "Fec id of the trap"; + } + leaf policer-id { + type uint32; + description + "Id of the policer on the trap"; + } + leaf stats-id { + type uint32; + description + "Stats Id of the trap"; + } + leaf encap-id { + type uint32; + description + "Encap Id of the trap"; + } + leaf mc-group { + type uint32; + description + "McGroup of the trap"; + } + leaf trap-string { + type string; + description + "Name String of the trap"; + } + leaf id { + type uint32; + description + "Id for internal use"; + } + leaf offset { + type uint64; + description + "Offset for internal use"; + } + leaf npu-id { + type uint64; + description + "NpuId on which trap is enabled"; + } + leaf trap-action { + type string; + description + "Action taken on the Trap"; + } + leaf punt-vo-q { + type uint32; + description + "Punt VoQ for the punted trap packet"; + } + leaf punt-vlan { + type uint16; + description + "Punt VLAN used for the trap"; + } + leaf punt-tc { + type uint8; + description + "Traffic class on the Punt VoQ"; + } + leaf cfg-rate { + type uint32; + description + "User configured rate in pps"; + } + leaf cir-hw-rate { + type uint32; + description + "Programmed HW Cir in pps"; + } + leaf rate-units { + type string; + description + "Policer level at NPU or IFG"; + } + leaf avg-pkt-size { + type uint32; + units "bit/s"; + description + "Avg packet size used for the trap with bps meter"; + } + leaf packet-dropped { + type uint64; + description + "Number of packets dropped after hitting the trap"; + } + leaf packet-accepted { + type uint64; + description + "Number of packets accepted after hitting the + trap"; + } + } + + grouping DPA-VOQ-INGRESS-PACKET-STATISTICS { + description + "DPA VOQ INGRESS PACKET STATISTICS"; + leaf received-bytes { + type uint64; + units "byte"; + description + "Bytes Received on the port"; + } + leaf received-packets { + type uint64; + description + "Packets Received on the port"; + } + leaf dropped-bytes { + type uint64; + units "byte"; + description + "Bytes Dropped on the port"; + } + leaf dropped-packets { + type uint64; + description + "Packets Dropeed on the port"; + } + leaf yellow-received-bytes { + type uint64; + units "byte"; + description + "YBytes Received on the port"; + } + leaf yellow-received-packets { + type uint64; + description + "YPackets Received on the port"; + } + leaf yellow-dropped-bytes { + type uint64; + units "byte"; + description + "YBytes Dropped on the port"; + } + leaf yellow-dropped-packets { + type uint64; + description + "YPackets Dropeed on the port"; + } + leaf red-received-bytes { + type uint64; + units "byte"; + description + "RBytes Received on the port"; + } + leaf red-received-packets { + type uint64; + description + "RPackets Received on the port"; + } + leaf red-dropped-bytes { + type uint64; + units "byte"; + description + "RBytes Dropped on the port"; + } + leaf red-dropped-packets { + type uint64; + description + "RPackets Dropeed on the port"; + } + } + + grouping DPA-SRC-INTF-PORT-INFO { + description + "DPA SRC INTF PORT INFO"; + leaf npu-num { + type uint8; + description + "NPU of port"; + } + leaf slice { + type uint8; + description + "NPU slice of port"; + } + leaf port-num { + type uint8; + description + "Port Number of port"; + } + leaf if-handle { + type uint32; + description + "IfHandle of port"; + } + leaf sys-port { + type uint32; + description + "System port of port"; + } + leaf pp-port { + type uint32; + description + "PP Port number of port"; + } + leaf port-speed { + type uint32; + description + "Port speed of port"; + } + leaf connector-id { + type uint32; + description + "Connector id of port"; + } + leaf is-local-port { + type boolean; + description + "Flag to indicate if port is local to the node"; + } + } + + grouping DPA-VOQ-INTF-PORT { + description + "DPA VOQ INTF PORT"; + container src-intf { + description + "src intf info"; + uses DPA-SRC-INTF-PORT-INFO; + } + leaf in-use { + type boolean; + description + "Flag to indicate if port is in use"; + } + leaf rack-num { + type uint8; + description + "Rack of port"; + } + leaf slot-num { + type uint8; + description + "Slot of port"; + } + leaf npu-num { + type uint8; + description + "NPU of port"; + } + leaf slice { + type uint8; + description + "NPU slice of port"; + } + leaf port-num { + type uint8; + description + "Port Number of port"; + } + leaf if-handle { + type uint32; + description + "IfHandle of port"; + } + leaf sys-port { + type uint32; + description + "System port of port"; + } + leaf pp-port { + type uint32; + description + "PP Port number of port"; + } + leaf port-speed { + type uint32; + description + "Port speed of port"; + } + leaf voq-base { + type uint32; + description + "Voq Base number of port"; + } + leaf connector-id { + type uint32; + description + "Connector id of port"; + } + leaf is-local-port { + type boolean; + description + "Flag to indicate if port is local to the node"; + } + leaf counter-grp-size { + type uint8; + description + "Number of VoQ sharing counter"; + } + leaf voq-mode { + type uint8; + description + "4 or 8 VoQ Mode"; + } + leaf internal-intf { + type boolean; + description + "Internal interfaces"; + } + leaf all-src-display { + type boolean; + description + "display ALL in fair-voq mode when used without + src-intf"; + } + leaf fair-voq-mode { + type uint8; + description + "Fair-4 or Fair-8 Fair VoQ Mode"; + } + list voq-stat { + max-elements "8"; + description + "Keeps a record of the received and dropped + packets and bytes on the port"; + uses DPA-VOQ-INGRESS-PACKET-STATISTICS; + } + } + + grouping NPU-EDM-DEVICE-STATS-ASIC-BRIEF-FIELD-INFO { + description + "NPU statistics field information"; + leaf is-overflow { + type boolean; + description + "Flag to indicate overflow"; + } + leaf field-name { + type string { + length "0..81"; + } + description + "Field name"; + } + leaf field-value { + type uint64; + description + "Field value"; + } + } + + grouping NPU-EDM-DEVICE-STATS-ASIC-BRIEF-FIELDS { + description + "NPU statistics fields"; + leaf block-name { + type string { + length "0..41"; + } + description + "Block name"; + } + leaf num-fields { + type uint8; + description + "Number of fields"; + } + list field-info { + description + "Field information"; + uses NPU-EDM-DEVICE-STATS-ASIC-BRIEF-FIELD-INFO; + } + } + + grouping NPU-EDM-DEVICE-STATS-ASIC-BRIEF-INFO { + description + "NPU Brief statistics information"; + leaf num-blocks { + type uint8; + description + "Number of blocks"; + } + list block-info { + description + "Block information"; + uses NPU-EDM-DEVICE-STATS-ASIC-BRIEF-FIELDS; + } + } + + grouping FIA-EDM-STATS-BRIEF-INFO { + description + "ASIC statistics information"; + container npu-statistics { + description + "NPU Statistics"; + uses NPU-EDM-DEVICE-STATS-ASIC-BRIEF-INFO; + } + leaf valid { + type boolean; + description + "Flag to indicate if data is valid"; + } + leaf rack-number { + type uint32; + description + "Rack number"; + } + leaf slot-number { + type uint32; + description + "Slot number"; + } + leaf asic-instance { + type uint32; + description + "ASIC instance"; + } + leaf chip-version { + type uint16; + description + "Chip version"; + } + leaf counters-update-timestamp { + type uint64; + description + "Counters update timestamp in msec"; + } + } + + grouping NPU-EDM-STATS-FIELD-INFO { + description + "Detailed ASIC statistics field information"; + leaf field-name { + type string { + length "0..60"; + } + description + "Field name"; + } + leaf field-value { + type uint64; + description + "Field value"; + } + leaf is-overflow { + type boolean; + description + "Flag to indicate overflow"; + } + leaf slice { + type uint8; + description + "slice number"; + } + leaf ifg { + type uint8; + description + "IFG block"; + } + } + + grouping NPU-EDM-STATS-INFO-SUMMARY { + description + "Summary statistics"; + leaf valid { + type boolean; + description + "Flag to indicate if data is valid"; + } + leaf rack-number { + type uint16; + description + "Rack number"; + } + leaf slot-number { + type uint16; + description + "Slot number"; + } + leaf asic-instance { + type uint16; + description + "ASIC instance"; + } + leaf chip-version { + type uint16; + description + "Chip version"; + } + leaf num-fields { + type uint16; + description + "Number of fields"; + } + list field-info { + max-elements "5000"; + description + "Individual counter value"; + uses NPU-EDM-STATS-FIELD-INFO; + } + } + + grouping FIA-EDM-DEVICE-STATS-FIELD-INFO { + description + "Detailed ASIC statistics field information"; + leaf field-name { + type string; + description + "Field name"; + } + leaf field-value { + type uint64; + description + "Field value"; + } + leaf is-overflow { + type boolean; + description + "Flag to indicate overflow"; + } + } + + grouping FIA-EDM-DEVICE-STATS-BLK-INFO { + description + "Detailed ASIC statistics block information"; + leaf block-name { + type string; + description + "Block name"; + } + leaf num-fields { + type uint32; + description + "Number of fields"; + } + list field-info { + description + "Field information"; + uses FIA-EDM-DEVICE-STATS-FIELD-INFO; + } + } + + grouping FIA-EDM-DEVICE-STATS-ASIC-INFO { + description + "Detailed ASIC statistics information"; + leaf num-blocks { + type uint32; + description + "Number of blocks"; + } + list block-info { + description + "Block information"; + uses FIA-EDM-DEVICE-STATS-BLK-INFO; + } + } + + grouping FIA-EDM-STATS-INFO { + description + "Detailed ASIC statistics"; + container statistics { + description + "Statistics"; + uses FIA-EDM-DEVICE-STATS-ASIC-INFO; + } + leaf valid { + type boolean; + description + "Flag to indicate if data is valid"; + } + leaf rack-number { + type uint32; + description + "Rack number"; + } + leaf slot-number { + type uint32; + description + "Slot number"; + } + leaf asic-instance { + type uint32; + description + "ASIC instance"; + } + leaf chip-version { + type uint16; + description + "Chip version"; + } + leaf counters-update-timestamp { + type uint64; + description + "Counters update timestamp in msec"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper.yang new file mode 100644 index 000000000..dea4599c3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ofa-npu-stats-oper.yang @@ -0,0 +1,304 @@ +module Cisco-IOS-XR-ofa-npu-stats-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-stats-oper"; + prefix ofa-npu-stats-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ofa-npu-stats-oper-sub1 { + revision-date 2023-07-02; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ofa-npu-stats package operational data. + + This module contains definitions + for the following management objects: + ofa: Stats Data + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-02 { + description + "Added counters-drop/summary cmd changes"; + semver:module-version "3.0.1m"; + } + revision 2021-02-05 { + description + "Added src-interface show cmd changes"; + semver:module-version "3.0.0"; + } + revision 2020-10-09 { + description + "Added task-id"; + semver:module-version "2.0.0"; + } + revision 2020-06-25 { + description + "Updated task-name"; + semver:module-version "1.2.0"; + } + revision 2019-12-14 { + description + "Updated date for npu stats model"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Max-trap-s { + type uint32 { + range "0..4294967295"; + } + description + "Max trap s"; + } + + typedef Max-lc-intf-hand-les { + type uint32 { + range "0..4294967295"; + } + description + "Max lc intf hand les"; + } + + container ofa { + config false; + description + "Stats Data"; + container stats { + description + "Voq or Trap Data"; + container nodes { + description + "DPA data for available nodes"; + list node { + key "node-name"; + description + "DPA operational data for a particular node"; + container asic-statistics { + description + "ASIC statistics table"; + container asic-statistics-detail-for-npu-ids { + description + "Detailed ASIC statistics"; + list asic-statistics-detail-for-npu-id { + key "npu-id"; + description + "Detailed ASIC statistics for a particular + NPU"; + leaf npu-id { + type uint32; + description + "NPU number"; + } + uses FIA-EDM-STATS-INFO; + } + } + container asic-statistics-summary-for-npu-ids { + description + "Summary ASIC statistics"; + list asic-statistics-summary-for-npu-id { + key "npu-id"; + description + "Summary ASIC statistics for a particular + NPU"; + leaf npu-id { + type uint32; + description + "NPU number"; + } + uses NPU-EDM-STATS-INFO-SUMMARY; + } + } + container asic-statistics-drop-for-npu-ids { + description + "Drop ASIC statistics"; + list asic-statistics-drop-for-npu-id { + key "npu-id"; + description + "Drop ASIC statistics for a particular NPU"; + leaf npu-id { + type uint32; + description + "NPU number"; + } + uses NPU-EDM-STATS-INFO-SUMMARY; + } + } + container asic-statistics-for-npu-ids { + description + "ASIC statistics"; + list asic-statistics-for-npu-id { + key "npu-id"; + description + "ASIC statistics for a particular NPU"; + leaf npu-id { + type uint32; + description + "NPU number"; + } + uses FIA-EDM-STATS-BRIEF-INFO; + } + } + } + container npu-numbers { + description + "Ingress Stats"; + list npu-number { + key "npu-id"; + description + "Stats for a particular npu"; + container display { + description + "show npu specific voq or trap stats"; + container dest-interface-handles { + description + "Voq stats grouped by interface handle"; + list dest-interface-handle { + key "interface-handle"; + description + "Voq stats for a particular interface + handle"; + container src-interface-handles { + description + "Voq stats grouped by src interface + handle"; + list src-interface-handle { + key "interface-handle"; + description + "Voq stats for a particular src + interface handle"; + leaf interface-handle { + type Max-lc-intf-hand-les; + description + "Src Interface Handle"; + } + uses DPA-VOQ-INTF-PORT; + } + } + leaf interface-handle { + type Max-lc-intf-hand-les; + description + "Interface Handle"; + } + } + } + container trap-ids { + description + "Trap stats for a particular npu"; + list trap-id { + key "trap-id"; + description + "Filter by specific trap id"; + leaf trap-id { + type Max-trap-s; + description + "Trap ID"; + } + uses DPA-TRAP-STATS; + } + } + container fair-voq-base-numbers { + description + "Voq stats grouped by voq base numbers"; + list fair-voq-base-number { + key "base-number"; + description + "Voq Base Number for a particular voq"; + container src-slice-numbers { + description + "show npu specific src slice stats"; + list src-slice-number { + key "src-slice-id"; + description + "Stats for a particular voq on given src + slice"; + leaf src-slice-id { + type uint32; + description + "Src Slice number"; + } + uses DPA-VOQ-INTF-PORT; + } + } + leaf base-number { + type Max-lc-intf-hand-les; + description + "Interface handle"; + } + } + } + container interface-handles { + description + "Voq stats grouped by interface handle"; + list interface-handle { + key "interface-handle"; + description + "Voq stats for a particular interface + handle"; + leaf interface-handle { + type Max-lc-intf-hand-les; + description + "Interface Handle"; + } + uses DPA-VOQ-INTF-PORT; + } + } + container base-numbers { + description + "Voq stats grouped by voq base numbers"; + list base-number { + key "base-number"; + description + "Voq Base Number for a particular voq"; + leaf base-number { + type Max-lc-intf-hand-les; + description + "Interface handle"; + } + uses DPA-VOQ-INTF-PORT; + } + } + } + leaf npu-id { + type uint32; + description + "Npu number"; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-mpls-static-ext.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-mpls-static-ext.yang new file mode 100644 index 000000000..d1e7ac230 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-mpls-static-ext.yang @@ -0,0 +1,251 @@ +module Cisco-IOS-XR-openconfig-mpls-static-ext { + yang-version 1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-openconfig-mpls-static-ext"; + prefix oc-mpls-static-cisco-xr-ext; + + import openconfig-extensions { + prefix oc-ext; + } + import openconfig-network-instance { + prefix oc-ni; + } + import openconfig-mpls { + prefix oc-mpls; + } + import openconfig-mpls-types { + prefix oc-mplst; + } + import openconfig-inet-types { + prefix inet; + } + import openconfig-interfaces { + prefix oc-if; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module adds extensions to the OpenConfig MPLS Static model to + provide extensions which allow non-resolve nexthops to be adequately + configured and operated. It augments the existing OpenConfig MPLS Static + model where required."; + + revision 2022-05-12 { + description + "Initial version"; + reference "0.1.0"; + } + + grouping mpls-static-interface-attributes-config { + description + "global level definitions for interfaces + on which MPLS is run"; + leaf enabled-interface { + type oc-if:interface-id; + description + "Indentifier for the MPLS interface"; + } + } + + grouping mpls-static-interfaces-top { + description + "Top level grouping for attributes + for MPLS static ingress-enabled interfaces."; + container interface-attributes { + description + "Parameters related to MPLS interfaces"; + list interface { + key "enabled-interface"; + description + "List of MPLS static interfaces"; + leaf enabled-interface { + type leafref { + path "../config/enabled-interface"; + } + description + "Reference to the interface id list key"; + } + container config { + description + "Configuration parameters related to MPLS interfaces:"; + uses mpls-static-interface-attributes-config; + } + container state { + config false; + description + "State parameters related to MPLS static interfaces"; + uses mpls-static-interface-attributes-config; + } + } + } + } + + grouping static-lsp-extended-paths-path { + description + "common definitions for static LSPs with multiple out-going paths."; + leaf path-id { + type uint32; + description + "Path id key"; + } + leaf next-hop { + type inet:ip-address; + description + "next hop IP address for the LSP"; + } + leaf push-label { + type oc-mplst:mpls-label; + description + "label value to push at the current hop for the + LSP"; + } + leaf push-interface { + type string; + description + "interface name of outgoing traffic"; + } + } + + grouping static-lsp-ext-paths-top { + description + "common definitions for additional static LSP push paths"; + container paths { + description + "Additional push LSP paths"; + list path { + key "path-id"; + description + "list of additional static LSP push paths"; + leaf path-id { + type leafref { + path "../config/path-id"; + } + description + "Path id of the out-going path."; + } + container config { + description + "Configuration parameters relating push path."; + uses static-lsp-extended-paths-path; + } + container state { + config false; + description + "State parameters relating to push path"; + uses static-lsp-extended-paths-path; + } + } + } + } + + grouping static-lsp-ingress-interface-info { + description + "static lsp ingress interface enable info"; + container static-lsp-ingress-interfaces { + description + "static lsp enabled ingress interfaces "; + uses mpls-static-interfaces-top; + } + } + + grouping static-lsp-ext-info { + description + "push interface option for non-resolve nexthops"; + leaf push-interface { + type string; + description + "interface name of outgoing traffic"; + } + } + + grouping static-lsp-ingress-ext-info { + description + "incoming-prefix and incoming-prefix-length values"; + leaf incoming-prefix { + type inet:ip-address; + description + "incoming IP address for the LSP"; + } + leaf incoming-prefix-length { + type uint32; + description + "length of incoming IP address for the LSP"; + } + uses static-lsp-ext-info; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:ingress/oc-ni:config" { + description + "Add incoming-prefix, incomfing-prefix length, + and push-interface to ingress + configuration hierarchy."; + uses static-lsp-ingress-ext-info; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:transit/oc-ni:config" { + description + "Add push-interface to transit + configuration hierarchy."; + uses static-lsp-ext-info; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:egress/oc-ni:config" { + description + "Add push-interface to egress + configuration hierarchy."; + uses static-lsp-ext-info; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:ingress/oc-ni:state" { + description + "Add incoming-prefix, incomfing-prefix length, + and push-interface to ingress + state hierarchy."; + uses static-lsp-ingress-ext-info; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:transit/oc-ni:state" { + description + "Add push-interface to transit + state hierarchy."; + uses static-lsp-ext-info; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:egress/oc-ni:state" { + description + "Add push-interface to egress + state hierarchy."; + uses static-lsp-ext-info; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls" { + description + "Add list of static lsp ingress interfaces to the + mpls configuration hierarchy."; + uses static-lsp-ingress-interface-info; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:ingress" { + description + "Add incoming-prefix, incomfing-prefix length, + and push-interface to ingress + configuration hierarchy."; + uses static-lsp-ext-paths-top; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:transit" { + description + "Add push-interface to transit + configuration hierarchy."; + uses static-lsp-ext-paths-top; + } + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:lsps/oc-ni:static-lsps/oc-ni:static-lsp/oc-ni:egress" { + description + "Add push-interface to egress + configuration hierarchy."; + uses static-lsp-ext-paths-top; + } + oc-ext:openconfig-version "1.0.0"; +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-system-terminal-ext.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-system-terminal-ext.yang new file mode 100644 index 000000000..1d394932c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-system-terminal-ext.yang @@ -0,0 +1,130 @@ +module Cisco-IOS-XR-openconfig-system-terminal-ext { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-openconfig-system-terminal-ext"; + prefix oc-term-ext; + + import openconfig-system { + prefix oc-sys; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines IPv4/Ipv6 and vrf specific configuration data + for telnet server. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-12 { + description + "Initial version"; + reference "0.1.0"; + semver:module-version "1.0.0"; + } + + grouping system-telnet-server-config { + description + "Configuration data for telnet server"; + leaf session-limit { + type uint16; + mandatory true; + description + "Set a limit on the number of simultaneous active terminal + sessions to the system for the protocol (e.g., ssh, + telnet, ...) "; + } + } + + grouping system-telnet-server-state { + description + "State data for telnet server"; + leaf enable { + type boolean; + default "false"; + description + "Enables the telnet server. Telnet is disabled by + default"; + } + leaf session-limit { + type uint16; + mandatory true; + description + "Set a limit on the number of simultaneous active terminal + sessions to the system for the protocol (e.g., ssh, + telnet, ...) "; + } + } + + augment "/oc-sys:system/oc-sys:telnet-server" { + description + "This augment extends the configuration data of + 'oc-sys:telnet-server'"; + container ipv4 { + description + "Configuration for IPv4"; + list vrf { + key "vrf-name"; + description + "Configuration for a particular VRF"; + leaf vrf-name { + type string { + length "1..64"; + } + description + "VRF Name"; + } + container config { + description + "Configuration data for telnet"; + uses system-telnet-server-config; + } + container state { + config false; + description + "Operational state data for telnet"; + uses system-telnet-server-state; + } + } + } + container ipv6 { + description + "Configuration for IPv6"; + list vrf { + key "vrf-name"; + description + "Configuration for a particular VRF"; + leaf vrf-name { + type string { + length "1..64"; + } + description + "VRF Name"; + } + container config { + description + "Configuration data for telnet"; + uses system-telnet-server-config; + } + container state { + config false; + description + "Operational state data for telnet"; + uses system-telnet-server-state; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-terminal-device-ext.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-terminal-device-ext.yang new file mode 100644 index 000000000..9ea6adb91 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-openconfig-terminal-device-ext.yang @@ -0,0 +1,223 @@ +module Cisco-IOS-XR-openconfig-terminal-device-ext { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-openconfig-terminal-device-ext"; + prefix oc-opt-ext; + + import openconfig-platform { + prefix oc-platform; + } + import openconfig-terminal-device { + prefix oc-opt-term; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module is an extension of optical terminal device model + and contains the definition of extended parameters for Optical + Channels in order to optimize the AC1200 settings to get the highest + performance and spectral efficiency. + + This module contains definitions for the following management objects: + General Parameters + Submarine Parameters + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-30 { + description + "IOS XR 6.0 revision"; + reference "7.3.1"; + } + + grouping terminal-device-optical-channel-ext-info { + description + "Submarine parameteres for optical channel"; + leaf optics-cd-max { + type int32 { + range "-350000..350000"; + } + description + "Select max chromatic dispersion (in units of + ps/nm)"; + } + leaf optics-cd-low-threshold { + type int32 { + range "-350000..350000"; + } + description + "Select chromatic dispersion low threshold(in + units of ps/nm)"; + } + leaf optics-cd-high-threshold { + type int32 { + range "-350000..350000"; + } + description + "Select chromatic dispersion high threshold(in + units of ps/nm)"; + } + leaf filter-roll-off-factor { + type string { + length "5"; + } + description + "RRC Filter Roll-Off factor in increments of 0 + .001 and default value is 0.1"; + } + leaf enh-colorless-mode { + type uint32 { + range "1..3"; + } + description + "Enhanced Colorless Mode + 0 - Disabled (Colored Rx) + 1 - Weak colorless interface + 2 - Medium colorless interface + 3 - Strong colorless interface + Default value is 0"; + } + leaf enh-sop-tol-mode { + type uint32 { + range "1..3"; + } + description + "Enhanced SOP Tolerance Mode + 0 - Disabled + 1 - Mode A (enhanced SOP mode) + Mode A can only be used in the pure modulation modes such as two BPS, + three BPS, and four BPS. It does not support fraction QAM modes. + 2 - Mode B (unused) + 3 - Mode C (submarine mode) + Default value is 0 + When the enhanced SOP tolerance mode is set to 1 (Mode A), + the carrier phase recovery cross polarization gain mode must + also be set to a value of 10 on the optics controller. "; + } + leaf nleq-compensation { + type uint32 { + range "1..4"; + } + description + "Non Linear Effect Compenstation + 1 - Compensation optimized for D+ High Dispersion + fiber transmission 60 G to 72 Gbaud + 2 - Compensation optimized for D+ High Dispersion + \t fiber transmission 30 G to 72 Gbaud + 3 - Compensation optimized for D+ Low Dispersion + fiber transmission + 4 - Compensation optimized for D+ Low Dispersion + \t fiber transmission longer distance + Default value is 0"; + } + leaf cross-pol-gain-mode { + type uint32 { + range "1..15"; + } + description + "Carrier Phase Recovery Cross Polarization Gain + Mode 0, 1, 2, and 7 through 15 are allowed but not optimal values + Default value is 0"; + } + leaf cross-pol-weight-mode { + type uint32 { + range "1..7"; + } + description + "Carrier Phase Recovery Cross Polarization Weight + Mode 1,2,3, and 4 are preferred optimal values + 0,5,6, and 7 are allowed but not optimal values + Default value is 0"; + } + leaf cpr-win-mode { + type uint32 { + range "1..4"; + } + description + "Carrier Phase Recovery Window Mode + 0 - 160 symbols + 1 - 8 symbols + 2 - 16 symbols + 3 - 32 symbols + 4 - 4 symbols + Default value is 0"; + } + leaf cpr-ext-win-mode { + type uint32 { + range "1..9"; + } + description + "Carrier Phase Recovery Extended Window Mode + 0 - 160 Symbols (288 symbols if the baud rate is greater than 52 Gbaud) + 1 - 64 symbols + 2 - 65 symbols + 3 - 66 symbols + 4 - 69 symbols + 5 - 75 symbols + 6 - 96 symbols + 7 - 160 symbols + 8 - 288 symbols + 9 - 544 symbols + Default value is 0"; + } + } + + augment "/oc-platform:components/oc-platform:component/oc-opt-term:optical-channel" { + description + "This augment extends the configuration data of + 'oc-opt-term:terminal-optical-channel-top'"; + container extended { + description + "Enclosing container for the list of Subsea parameters"; + container config { + description + "Extended Configuration parameters"; + leaf rx-voa-target-power { + type int32 { + range "-190..30"; + } + description + "Receive Target Power in increments of 0.1 dBm + Default value is -5 dBm"; + } + leaf rx-voa-fixed-ratio { + type int32 { + range "100..1700"; + } + description + "Receive Ratio of Optical Attenuation in + increments of 0.01 dB Default value is 15 dB"; + } + uses terminal-device-optical-channel-ext-info; + } + container state { + config false; + description + "Extended Operational parameters"; + leaf rx-voa-target-power { + type string; + description + "Receive Target Power in increments of 0.1 dBm + Default value is -5 dBm"; + } + leaf rx-voa-fixed-ratio { + type string; + description + "Receive Ratio of Optical Attenuation in + increments of 0.01 dB Default value is 15 dB"; + } + uses terminal-device-optical-channel-ext-info; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-opticalmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-opticalmib-cfg.yang new file mode 100644 index 000000000..d93c633bd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-opticalmib-cfg.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-opticalmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-opticalmib-cfg"; + prefix opticalmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR opticalmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container optical { + description + "CISCO-OPTICAL-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable Opticalmib notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-opticalotsmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-opticalotsmib-cfg.yang new file mode 100644 index 000000000..a9bfd2038 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-opticalotsmib-cfg.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-opticalotsmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-opticalotsmib-cfg"; + prefix opticalotsmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR opticalotsmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container optical-ots { + description + "CISCO-OPTICAL-OTS-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable OpticalOtsmib notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-dac-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-dac-cfg.yang new file mode 100644 index 000000000..846772c1d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-dac-cfg.yang @@ -0,0 +1,96 @@ +module Cisco-IOS-XR-optics-dac-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-dac-cfg"; + prefix optics-dac-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-dac package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-09 { + description + "Removed unused module."; + semver:module-version "1.0.1m"; + } + revision 2021-02-16 { + description + "Schema added."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Optics-dac-rate { + type enumeration { + enum "1:1" { + value 0; + description + "DAC Rate 1:1 Sampling off"; + } + enum "1:1.25" { + value 1; + description + "DAC Rate 1:1.25"; + } + enum "1:1.50" { + value 2; + description + "DAC Rate 1:1.50"; + } + enum "1:1.75" { + value 3; + description + "DAC Rate 1:1.75"; + } + enum "1:2" { + value 4; + description + "DAC Rate 1:2"; + } + } + description + "Optics dac rate"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf optics-dac-rate { + type Optics-dac-rate; + description + "Configure optics sampling rate "; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-cfg.yang new file mode 100644 index 000000000..581810a87 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-cfg.yang @@ -0,0 +1,87 @@ +module Cisco-IOS-XR-optics-driver-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-driver-cfg"; + prefix optics-driver-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-driver package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-09 { + description + "Removed unused module."; + semver:module-version "3.0.1m"; + } + revision 2021-01-15 { + description + "Order of the breakout modes of 4x100 and 4x10 interchanged"; + semver:module-version "3.0.0"; + } + revision 2020-04-22 { + description + "Augmentation to Cisco-IOS-XR-ifmgr-cfg. New breakout modes of 4x100 and 8x50 added"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-03-21 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Breakout-type-list { + type string { + pattern "(4x100)|(4x25)|(4x10)|(2x50)|(8x50)|(3x100)|(2x100)|(1x100)"; + } + description + "4x100:4x100 optics breakout config, 4x25:4x25 + optics breakout config, 4x10:4x10 optics breakout + config, 2x50:2x50 optics breakout config, 8x50 + :8x50 optics breakout config, 3x100:3x100 optics + breakout config, 2x100:2x100 optics breakout + config, 1x100:1x100 optics breakout config"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf breakout { + type Breakout-type-list; + description + "breakout mode configuration"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-quad-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-quad-cfg.yang new file mode 100644 index 000000000..b0e064c81 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-quad-cfg.yang @@ -0,0 +1,109 @@ +module Cisco-IOS-XR-optics-driver-quad-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-driver-quad-cfg"; + prefix optics-driver-quad-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-config-mda-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-driver-quad package configuration. + + This YANG module augments the + Cisco-IOS-XR-config-mda-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-02 { + description + "Augment MDA schema"; + semver:module-version "3.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-21 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping QUAD-CONFIG-TABLE { + description + "Common node of active-node, preconfigured-node"; + container instances { + description + "quad configuration"; + list instance { + key "inst-id"; + description + "0 for LC ports, 1+ for MPA instances"; + leaf inst-id { + type uint32 { + range "0..5"; + } + description + "Instance number"; + } + list quad-config { + key "quad-id"; + description + "none"; + container mode { + description + "select mode 10g or 25g for a quad(group of 2 + or 4 ports)."; + leaf speed { + type string; + description + "speed 10g or 25g"; + } + } + leaf quad-id { + type uint32 { + range "0..11"; + } + description + "Quad number"; + } + } + } + } + } + + augment "/a1:preconfigured-nodes/a1:preconfigured-node" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-config-mda-cfg'"; + uses QUAD-CONFIG-TABLE; + } + augment "/a1:active-nodes/a1:active-node" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-config-mda-cfg'"; + uses QUAD-CONFIG-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-xponder-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-xponder-cfg.yang new file mode 100644 index 000000000..c8848efb0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-driver-xponder-cfg.yang @@ -0,0 +1,75 @@ +module Cisco-IOS-XR-optics-driver-xponder-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-driver-xponder-cfg"; + prefix optics-driver-xponder-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-driver-xponder package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-09 { + description + "Removed unused module"; + semver:module-version "1.0.1m"; + } + revision 2021-06-17 { + description + "Implemented common cli - xponder to apply different modes, wrapper for breakout/portmode cli IosSetYangSchemaRev Cisco-IOS-XR-optics-quad-cfg"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Xponder-type-list { + type string { + pattern "(400)|(4x100)|(3x100)|(2x100)|(1x100)"; + } + description + "400:400 optics xponder config, 4x100:4x100 optics + xponder config, 3x100:3x100 optics xponder config + , 2x100:2x100 optics xponder config, 1x100:1x100 + optics xponder config"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf xponder { + type Xponder-type-list; + description + "Xponder config for optics"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-fan-control-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-fan-control-cfg.yang new file mode 100644 index 000000000..0312c3ef1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-fan-control-cfg.yang @@ -0,0 +1,87 @@ +module Cisco-IOS-XR-optics-fan-control-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-fan-control-cfg"; + prefix optics-fan-control-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-config-mda-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-fan-control package configuration. + + This YANG module augments the + Cisco-IOS-XR-config-mda-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-29 { + description + "Initial revision"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OPTICS { + description + "Common node of active-node, preconfigured-node"; + container optics { + description + "Fan speed control offset for all optics"; + container fan { + description + "Fan speed control offset for all optics"; + container control { + description + "Fan speed control offset for all optics"; + leaf offset { + type uint32 { + range "1..20"; + } + description + "This value will be decremented from maximum + allowed temperature warning threshold in + EEPROM"; + } + } + } + } + } + + augment "/a1:preconfigured-nodes/a1:preconfigured-node" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-config-mda-cfg'"; + uses OPTICS; + } + augment "/a1:active-nodes/a1:active-node" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-config-mda-cfg'"; + uses OPTICS; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-media-type-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-media-type-cfg.yang new file mode 100644 index 000000000..ea3403365 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-media-type-cfg.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XR-optics-media-type-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-media-type-cfg"; + prefix optics-media-type-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-media-type package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-23 { + description + "Removed unused imports"; + semver:module-version "1.0.0"; + } + revision 2020-07-23 { + description + "Schema added."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Media-type-list { + type string { + pattern "(rj45)"; + } + description + "rj45:rj45 optics media type config"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf media-type { + type Media-type-list; + description + "MediaType config for optics"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-port-mode-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-port-mode-cfg.yang new file mode 100644 index 000000000..96f2f4909 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-port-mode-cfg.yang @@ -0,0 +1,113 @@ +module Cisco-IOS-XR-optics-port-mode-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-port-mode-cfg"; + prefix optics-port-mode-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-config-mda-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-port-mode package configuration. + + This YANG module augments the + Cisco-IOS-XR-config-mda-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-24 { + description + "Augment MDA schema"; + semver:module-version "2.0.0"; + } + revision 2020-05-12 { + description + "New port modes of 4x10-4x25, 4x10, 4x25 added."; + semver:module-version "1.0.2"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PORT-MODE-CONFIG-TABLE { + description + "Common node of active-node, preconfigured-node"; + container port-ranges { + description + "port mode configuration"; + list port-range { + key "first-port sec-port"; + description + "Hardware Module Portmode configuration"; + leaf first-port { + type uint32; + description + "Specify port number"; + } + leaf sec-port { + type uint32; + description + "Specify port number"; + } + list instance { + key "inst-id"; + description + "MPA number if a MPA supported card"; + container mode { + description + "Mode"; + leaf speed { + type string; + description + "speed 40-100, 400, 2x100, 4x10-4x25, 4x10, + 4x25, 1x100, 2x100-PAM4, 3x100, 4x100"; + } + } + leaf inst-id { + type uint32 { + range "0..5"; + } + description + "Instance number"; + } + } + } + } + } + + augment "/a1:preconfigured-nodes/a1:preconfigured-node" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-config-mda-cfg'"; + uses PORT-MODE-CONFIG-TABLE; + } + augment "/a1:active-nodes/a1:active-node" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-config-mda-cfg'"; + uses PORT-MODE-CONFIG-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-optics-speed-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-speed-cfg.yang new file mode 100644 index 000000000..2431e50c2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-optics-speed-cfg.yang @@ -0,0 +1,91 @@ +module Cisco-IOS-XR-optics-speed-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-optics-speed-cfg"; + prefix optics-speed-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR optics-speed package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-19 { + description + "Added breakout config options under speed tuple"; + semver:module-version "1.0.0"; + } + revision 2021-06-16 { + description + "updated SpeedModeList with speed strings to make case insensitive"; + semver:module-version "1.0.0"; + } + revision 2021-04-19 { + description + "Implement speed none CLI"; + } + revision 2020-06-18 { + description + "Schema added."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Speed-mode-list { + type string { + pattern "(1g)|(1G)|(10g)|(10G)|(25g)|(25G)|(40g)|(40G)|(50g)|(50G)|(100g)|(100G)|(200g)|(200G)|(400g)|(400G)|(none)"; + } + description + "1g:set optics 1g speed config, 1G:set optics 1G + speed config, 10g:set optics 10g speed config, + 10G:set optics 10G speed config, 25g:set optics + 25g speed config, 25G:set optics 25G speed config + , 40g:set optics 40g speed config, 40G:set optics + 40G speed config, 50g:set optics 50g speed config + , 50G:set optics 50G speed config, 100g:set + optics 100g speed config, 100G:set optics 100G + speed config, 200g:set optics 200g speed config, + 200G:set optics 200G speed config, 400g:set + optics 400g speed config, 400G:set optics 400G + speed config, none:delete the interface"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + leaf speed { + type Speed-mode-list; + description + "optics speed set configuration"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper-sub1.yang new file mode 100644 index 000000000..014cce260 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper-sub1.yang @@ -0,0 +1,372 @@ +submodule Cisco-IOS-XR-orrspf-oper-sub1 { + belongs-to Cisco-IOS-XR-orrspf-oper { + prefix Cisco-IOS-XR-orrspf-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR orrspf package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Orrspf-ipv6-addr { + type inet:ipv6-address; + description + "Orrspf ipv6 addr"; + } + + typedef Orrspf-ipv4-addr { + type inet:ipv4-address; + description + "Orrspf ipv4 addr"; + } + + typedef Orrspf-af-id { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Orrspf af id"; + } + + typedef Orrspf-sh-node-id { + type yang:hex-string; + description + "Orrspf sh node id"; + } + + grouping ORRSPF-SH-TOPO { + description + "ORRSPF show topology bag"; + leaf spt-node { + type Orrspf-sh-node-id; + description + "SPT node data"; + } + leaf cost { + type uint32; + description + "SPT node cost"; + } + leaf next-hop { + type Orrspf-sh-node-id; + description + "SPT node next hop"; + } + leaf next-hop-valid { + type boolean; + description + "SPT node next hop valid"; + } + } + + grouping ORRSPF-SH-POLICY { + description + "ORRSPF show policy bag"; + container root-ip { + description + "Root IP Address"; + uses ORRSPF-IP-ADDR; + } + container primary-root-ip { + description + "Primary Root IP"; + uses ORRSPF-IP-ADDR; + } + container secondary-root-ip { + description + "Secondary Root IP"; + uses ORRSPF-IP-ADDR; + } + container tertiary-root-ip { + description + "Tertiary Root IP"; + uses ORRSPF-IP-ADDR; + } + leaf policy-name { + type string { + length "0..33"; + } + description + "Policy name"; + } + leaf af-id { + type uint8; + description + "Address family"; + } + leaf protocol-id { + type uint8; + description + "Protocol ID"; + } + leaf fa-num { + type uint8; + description + "Flex algo number"; + } + leaf fad-valid { + type boolean; + description + "Flex algo definition valid"; + } + leaf table-id { + type uint32; + description + "RIB Table ID"; + } + leaf root-node { + type Orrspf-sh-node-id; + description + "Root node ID"; + } + leaf fad-node { + type Orrspf-sh-node-id; + description + "Flex algo definition node ID"; + } + leaf num-spt-nodes { + type uint32; + description + "Number of nodes in SPT"; + } + leaf num-spt-calc { + type uint32; + description + "Number of SPT calculations"; + } + leaf num-spt-reset { + type uint32; + description + "Number of SPT reset"; + } + } + + grouping ORRSPF-IPV6-PFX { + description + "IPv6 prefix"; + leaf prefix { + type inet:ipv6-address; + description + "Prefix"; + } + leaf prefix-length { + type uint8; + description + "Prefix length"; + } + } + + grouping ORRSPF-IPV4-PFX { + description + "IPv4 prefix"; + leaf prefix { + type inet:ipv4-address; + description + "Prefix"; + } + leaf prefix-length { + type uint8; + description + "Prefix length"; + } + } + + grouping ORRSPF-IP-PFX { + description + "ORRSPF IP PFX"; + container ipv4 { + when "../af-id = 'ipv4'" { + description + "../AFId = 'IPv4'"; + } + description + "IPV4 prefix type"; + uses ORRSPF-IPV4-PFX; + } + container ipv6 { + when "../af-id = 'ipv6'" { + description + "../AFId = 'IPv6'"; + } + description + "IPV6 prefix type"; + uses ORRSPF-IPV6-PFX; + } + leaf af-id { + type Orrspf-af-id; + description + "AFId"; + } + } + + grouping ORRSPF-SH-PFX { + description + "ORRSPF show prefix bag"; + container prefix { + description + "IP Prefix"; + uses ORRSPF-IP-PFX; + } + leaf cost { + type uint32; + description + "Prefix cost"; + } + } + + grouping ORRSPF-SH-FAD { + description + "ORRSPF show fad data"; + leaf fa-num { + type uint8; + description + "Flex algo number"; + } + leaf fad-unsupported { + type boolean; + description + "Flex algo not supported"; + } + leaf fad-node { + type Orrspf-sh-node-id; + description + "Flex algo definition node ID"; + } + } + + grouping ORRSPF-SH-CTX { + description + "ORRSPF show context bag"; + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf protocol-id { + type uint8; + description + "Protocol ID"; + } + leaf mt-id { + type uint16; + description + "Multi-Topology ID"; + } + leaf area-id { + type uint32; + description + "Area ID"; + } + list fad-data { + description + "Flex algo definition"; + uses ORRSPF-SH-FAD; + } + } + + grouping ORRSPF-SH-LINK { + description + "ORRSPF show link data"; + leaf remote-node { + type Orrspf-sh-node-id; + description + "Remote node ID"; + } + leaf metric { + type uint32; + description + "Link metric"; + } + } + + grouping ORRSPF-IP-ADDR { + description + "ORRSPF IP ADDR"; + leaf af-id { + type Orrspf-af-id; + description + "AFId"; + } + leaf ipv4 { + when "../af-id = 'ipv4'" { + description + "../AFId = 'IPv4'"; + } + type Orrspf-ipv4-addr; + description + "IPV4 address type"; + } + leaf ipv6 { + when "../af-id = 'ipv6'" { + description + "../AFId = 'IPv6'"; + } + type Orrspf-ipv6-addr; + description + "IPV6 address type"; + } + } + + grouping ORRSPF-SH-GRAPH { + description + "ORRSPF show graph bag"; + container router-id { + description + "Router ID"; + uses ORRSPF-IP-ADDR; + } + leaf local-node { + type Orrspf-sh-node-id; + description + "Local node ID"; + } + list link-data { + description + "Link Data"; + uses ORRSPF-SH-LINK; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper.yang new file mode 100644 index 000000000..7bf88ae2a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-orrspf-oper.yang @@ -0,0 +1,160 @@ +module Cisco-IOS-XR-orrspf-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-orrspf-oper"; + prefix orrspf-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-orrspf-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR orrspf package operational data. + + This module contains definitions + for the following management objects: + orrspf: ORRSPF operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Orr-group-name { + type xr:Cisco-ios-xr-string { + length "1..33"; + } + description + "Orr group name"; + } + + container orrspf { + config false; + description + "ORRSPF operational data"; + container contexts { + description + "ORR Context table"; + list context { + key "name"; + description + "Information about one ORR Context"; + container context-graphs { + description + "Graph table of an ORR Context"; + list context-graph { + key "name"; + description + "Graph data in graph table of an ORR Context"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "NodeId"; + } + uses ORRSPF-SH-GRAPH; + } + } + container context-info { + description + "Information about one ORR Context"; + uses ORRSPF-SH-CTX; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Context Name"; + } + } + } + container orr-groups { + description + "ORRGroup table"; + list orr-group { + key "group-name"; + description + "Information about one ORR Group"; + container prefixes { + description + "Prefix table of an ORR Group"; + list prefix { + key "name"; + description + "Prefix in prefix table of an ORR group"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Prefix"; + } + uses ORRSPF-SH-PFX; + } + } + container policy { + description + "Policy of an ORR group"; + uses ORRSPF-SH-POLICY; + } + container topologies { + description + "Topology table of an ORR Group"; + list topology { + key "name"; + description + "Topology data in topology table of an ORR + Group"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "NodeId"; + } + uses ORRSPF-SH-TOPO; + } + } + container graphs { + description + "Graph table of an ORR Group"; + list graph { + key "name"; + description + "Graph data in graph table of an ORR Group"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "NodeId"; + } + uses ORRSPF-SH-GRAPH; + } + } + leaf group-name { + type Orr-group-name; + description + "ORR Group Name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-otnifmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-otnifmib-cfg.yang new file mode 100644 index 000000000..56ba57c12 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-otnifmib-cfg.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-otnifmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-otnifmib-cfg"; + prefix otnifmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR otnifmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container otn { + description + "CISCO-OTN-IF-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable ciscoOtnIfMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper-sub1.yang new file mode 100644 index 000000000..cb2369a9c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper-sub1.yang @@ -0,0 +1,78 @@ +submodule Cisco-IOS-XR-ownership-oper-sub1 { + belongs-to Cisco-IOS-XR-ownership-oper { + prefix Cisco-IOS-XR-ownership-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ownership package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OV-INFO { + description + "OV INFO"; + leaf serial-no { + type int32; + description + "serial number of OV"; + } + leaf pdc { + type string; + description + "PDC of OV"; + } + } + + grouping OWNERSHIP-INFO { + description + "ownership information bag "; + container ov-summary { + description + "ov summary"; + uses OV-INFO; + } + leaf oc-info { + type string; + description + "ownership certificate info"; + } + } + + grouping ANTITHEFT-INFO { + description + "ANTITHEFT INFO"; + leaf reimage-status { + type string; + description + "status of reimage flag"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper.yang new file mode 100644 index 000000000..3fcea8dd3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ownership-oper.yang @@ -0,0 +1,60 @@ +module Cisco-IOS-XR-ownership-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ownership-oper"; + prefix ownership-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ownership-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ownership package operational data. + + This module contains definitions + for the following management objects: + ownership: Ownership Operational Data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ownership { + config false; + description + "Ownership Operational Data"; + container anti-theft { + description + "operational Data for re-image status"; + uses ANTITHEFT-INFO; + } + container device-ownership { + description + "Oper Data for the device ownership"; + uses OWNERSHIP-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-parser-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-parser-cfg.yang new file mode 100644 index 000000000..615f567d8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-parser-cfg.yang @@ -0,0 +1,231 @@ +module Cisco-IOS-XR-parser-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-parser-cfg"; + prefix parser-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR parser package configuration. + + This module contains definitions + for the following management objects: + parser: Parser configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-11-08 { + description + "IOS XR 7.2.1 revision"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2017-05-09 { + description + "IOS XR 6.3.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container parser { + description + "Parser configuration"; + container indentation { + description + "indentation tracking"; + leaf indentation-disable { + type boolean; + description + "disable the indentation"; + } + } + container alias { + description + "Alias for command mapping"; + container execs { + description + "Exec command alias"; + list exec { + key "identifier"; + description + "Exec alias name"; + leaf identifier { + type string { + length "1..30"; + } + description + "Exec Alias name"; + } + leaf identifier-xr { + type string; + mandatory true; + description + "Aliased exec command"; + } + } + } + container configurations { + description + "Configuration command alias"; + list configuration { + key "identifier"; + description + "Configuration Alias name"; + leaf identifier { + type string { + length "1..30"; + } + description + "Configuration alias name"; + } + leaf identifier-xr { + type string; + mandatory true; + description + "Aliased config command"; + } + } + } + container alls { + description + "Table of all aliases configured"; + list all { + key "identifier"; + description + "Alias name to command mapping"; + leaf identifier { + type string { + length "1..30"; + } + description + "Alias name"; + } + leaf identifier-xr { + type string; + mandatory true; + description + "The actual command"; + } + } + } + } + container logging-suppress { + description + "logging suppress deprecated"; + leaf deprecated { + type boolean; + description + "deprecating the logging suppress"; + } + } + container history { + description + "cli commands history"; + leaf size { + type uint32 { + range "1000..5000"; + } + description + "maximum number of commands in history"; + } + } + container interactive { + description + "interactive mode"; + leaf interactive-disable { + type boolean; + description + "disable interactive mode"; + } + } + container delete-optimize { + description + "Enable delete optimization for regular commit"; + leaf delete-optimize-enable { + type boolean; + description + "Enable the feature"; + } + } + container commit-optimized { + description + "Enable optimization for regular commit"; + leaf commit-optimized-enable { + type boolean; + description + "Enable the feature"; + } + } + container sysadmin-login-banner { + description + "Configuration to disable sysadmin login banner"; + leaf sysadmin-login-banner-disable { + type boolean; + description + "Disable sysadmin login banner"; + } + } + container interface-display { + description + "Configure the Interface display order"; + leaf slot-order { + type boolean; + description + "Configure Interface display order as slot order"; + } + } + container netmask-format { + description + "Ipv4 netmask-format to be configured"; + leaf bit-count { + type boolean; + description + "Enable ipv4 netmask-format as bit-count"; + } + } + container configuration { + description + "cli configuration services"; + container disable { + description + "disable for read-only access users"; + leaf usergroup { + type string; + description + "Disable config mode for usergroup"; + } + } + } + container submode-exit { + description + "Exit submode when only '!' seen in interactive + mode"; + leaf enable { + type boolean; + description + "Enable the feature"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-bng-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-bng-cfg.yang new file mode 100644 index 000000000..68c12e036 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-bng-cfg.yang @@ -0,0 +1,111 @@ +module Cisco-IOS-XR-pbr-bng-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-bng-cfg"; + prefix pbr-bng-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pbr-bng package configuration. + + This module contains definitions + for the following management objects: + bng-pbr: Subscriber PBR configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Bng-pbr-http-enrichment-params { + type enumeration { + enum "subscriber-mac" { + value 1; + description + "Subscriber Mac"; + } + enum "subscriber-ip" { + value 2; + description + "Subscriber IPv4/IPv6 address"; + } + enum "host-name" { + value 4; + description + "Bng Router Hostname"; + } + enum "bng-identifier-interface" { + value 8; + description + "Bng Identifier interface"; + } + } + description + "Bng pbr http enrichment params"; + } + + container bng-pbr { + description + "Subscriber PBR configuration"; + container http-enrichment { + description + "HTTP Enrichment"; + container parameters { + presence "Indicates a parameters node is configured."; + description + "HTTP Enrichment parameters"; + leaf arg1 { + type Bng-pbr-http-enrichment-params; + mandatory true; + description + "first argument "; + } + leaf arg2 { + type Bng-pbr-http-enrichment-params; + description + "second argument "; + } + leaf arg3 { + type Bng-pbr-http-enrichment-params; + description + "Third argument "; + } + leaf arg4 { + type Bng-pbr-http-enrichment-params; + description + "Fourth argument "; + } + } + } + leaf bng-interface { + type xr:Interface-name; + description + "Interface for source address"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-cfg.yang new file mode 100644 index 000000000..ad2b9ec1d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-cfg.yang @@ -0,0 +1,88 @@ +module Cisco-IOS-XR-pbr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-cfg"; + prefix pbr-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pbr package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-19 { + description + "PBR Flowspec config rollback error in module."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-05-17 { + description + "CSCvi93168 PBR commit replace feature."; + } + revision 2016-03-08 { + description + "Moved augment statement to a separate file"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container pbr { + description + "Interface PBR configuration"; + container service-policies { + description + "Ingress service policy"; + list service-policy { + key "service-policy"; + description + "Service policy details"; + leaf service-policy { + type string { + length "1..64"; + } + description + "Name of policy-map"; + } + } + } + leaf service-policy-in { + type string; + description + "Class for subscriber ingress policy"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper-sub1.yang new file mode 100644 index 000000000..8f154b5c2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper-sub1.yang @@ -0,0 +1,302 @@ +submodule Cisco-IOS-XR-pbr-oper-sub1 { + belongs-to Cisco-IOS-XR-pbr-oper { + prefix Cisco-IOS-XR-pbr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR pbr package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-21 { + description + "Adding HTTP Redirect stats per subs interface"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Policy-state { + type enumeration { + enum "active" { + value 0; + description + "active"; + } + enum "suspended" { + value 1; + description + "suspended"; + } + } + description + "Different Interface states"; + } + + grouping HTTP-ENRICH-STATS-ST { + description + "HTTP Enrichment Stats"; + leaf rqst-rcvd-packets { + type uint64; + description + "TotalNum of pkts HTTP request received"; + } + leaf rqst-rcvd-bytes { + type uint64; + units "byte"; + description + "TotalNum of Bytes HTTP request received"; + } + leaf drop-packets { + type uint64; + description + "Dropped packets"; + } + leaf drop-bytes { + type uint64; + units "byte"; + description + "Dropped bytes"; + } + leaf resp-sent-packets { + type uint64; + description + "TotalNum of pkts HTTP Enrichment response sent"; + } + leaf resp-sent-bytes { + type uint64; + units "byte"; + description + "TotalNum of Bytes HTTP Enrichment response sent"; + } + leaf req-sent-packets { + type uint64; + description + "TotalNum of pkts HTTP Enrichment request sent"; + } + leaf tcp-sent-packets { + type uint64; + description + "TotalNum of pkts HTTP Enrichment TCP packet sent"; + } + leaf redirected-http-requests { + type uint64; + description + "TotalNum of HTTP requests redirected to client"; + } + } + + grouping HTTPR-STATS-ST { + description + "HTTPR Stats"; + leaf rqst-rcvd-packets { + type uint64; + description + "TotalNum of pkts HTTP request received"; + } + leaf rqst-rcvd-bytes { + type uint64; + units "byte"; + description + "TotalNum of Bytes HTTP request received"; + } + leaf drop-packets { + type uint64; + description + "Dropped packets"; + } + leaf drop-bytes { + type uint64; + units "byte"; + description + "Dropped bytes"; + } + leaf resp-sent-packets { + type uint64; + description + "TotalNum of pkts HTTPR response sent"; + } + leaf resp-sent-bytes { + type uint64; + units "byte"; + description + "TotalNum of Bytes HTTPR response sent"; + } + } + + grouping GEN-STATS-ST { + description + "Counters common to all features"; + leaf transmit-packets { + type uint64; + units "byte"; + description + "Transmitted packets (packets/bytes)"; + } + leaf transmit-bytes { + type uint64; + units "byte"; + description + "Transmitted bytes (packets/bytes)"; + } + leaf total-drop-packets { + type uint64; + units "byte"; + description + "Dropped packets (packets/bytes)"; + } + leaf total-drop-bytes { + type uint64; + units "byte"; + description + "Dropped bytes (packets/bytes)"; + } + leaf total-drop-rate { + type uint32; + units "byte"; + description + "Total drop rate (packets/bytes)"; + } + leaf match-data-rate { + type uint32; + units "kbit/s"; + description + "Incoming matched data rate in kbps"; + } + leaf total-transmit-rate { + type uint32; + units "kbit/s"; + description + "Total transmit rate in kbps"; + } + leaf pre-policy-matched-packets { + type uint64; + description + "Matched pkts before applying policy"; + } + leaf pre-policy-matched-bytes { + type uint64; + units "byte"; + description + "Matched bytes before applying policy"; + } + } + + grouping CLASS-STATS { + description + "CLASS STATS"; + container general-stats { + description + "general stats"; + uses GEN-STATS-ST; + } + container httpr-stats { + description + "HTTPR stats"; + uses HTTPR-STATS-ST; + } + container http-enrich-stats { + description + "HTTP Enrichment stats"; + uses HTTP-ENRICH-STATS-ST; + } + leaf counter-validity-bitmask { + type uint64; + units "byte"; + description + " Bitmask to indicate which counter or counters + are undetermined. Counters will be marked + undetermined when one or more classes share + queues with class-default because in such cases + the value of counters for each class is invalid. + Based on the flag(s) set, the following counters + will be marked undetermined. For example, if + value of this object returned is 0x00000101, + counters + TransmitPackets/TransmitBytes/TotalTransmitRate + and DropPackets/DropBytes are undetermined + .0x00000001 - Transmit + (TransmitPackets/TransmitBytes/TotalTransmitRate + ), 0x00000002 - Drop + (TotalDropPackets/TotalDropBytes/TotalDropRate), + 0x00000004 - Httpr + (HttprTransmitPackets/HttprTransmitBytes), + 0x00000020 - HttpErich + (HttpErichTransmitPackets + /HttpEnrichTransmitBytes), "; + } + leaf class-name { + type string { + length "0..65"; + } + description + "ClassName"; + } + leaf class-id { + type uint32; + description + "ClassId"; + } + } + + grouping PBR-STATS { + description + "policy map statistics"; + leaf node-name { + type string { + length "0..42"; + } + description + "NodeName"; + } + leaf policy-name { + type string { + length "0..65"; + } + description + "PolicyName"; + } + leaf state { + type Policy-state; + description + "State"; + } + leaf state-description { + type string { + length "0..128"; + } + description + "StateDescription"; + } + list class-stat { + description + "Array of classes contained in policy"; + uses CLASS-STATS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper.yang new file mode 100644 index 000000000..e7415d183 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-oper.yang @@ -0,0 +1,99 @@ +module Cisco-IOS-XR-pbr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-oper"; + prefix pbr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-pbr-oper-sub1 { + revision-date 2020-02-21; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pbr package operational data. + + This module contains definitions + for the following management objects: + pbr: PBR operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-21 { + description + "Adding HTTP Redirect stats per subs interface"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container pbr { + config false; + description + "PBR operational data"; + container nodes { + description + "Node-specific PBR operational data"; + list node { + key "node-name"; + description + "PBR operational data for a particular node"; + container policy-map { + description + "Operational data for policymaps"; + container interfaces { + description + "Operational data for all interfaces"; + list interface { + key "interface-name"; + description + "PBR action data for a particular interface"; + container direction { + description + "PBR direction"; + container input { + description + "PBR policy statistics"; + uses PBR-STATS; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + } + } + } + leaf node-name { + type xr:Node-id; + description + "The node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-vrf-policy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-vrf-policy-cfg.yang new file mode 100644 index 000000000..b85e4e88c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pbr-vrf-policy-cfg.yang @@ -0,0 +1,83 @@ +module Cisco-IOS-XR-pbr-vrf-policy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-vrf-policy-cfg"; + prefix pbr-vrf-policy-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pbr-vrf-policy package configuration. + + This module contains definitions + for the following management objects: + vrf-policy: VRF Policy PBR configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pbr-afi { + type string { + pattern "(ipv4)|(ipv6)"; + } + description + "ipv4: Comment: v4 string for , ipv6: + Comment: v6 string for "; + } + + container vrf-policy { + description + "VRF Policy PBR configuration"; + list vrf { + key "vrf-name"; + description + "VRF Name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + list afi { + key "afi-type"; + description + "address family"; + leaf service-policy-in { + type string; + description + "Policy map name"; + } + leaf afi-type { + type Pbr-afi; + description + "AFI name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-cfg.yang new file mode 100644 index 000000000..456a4b416 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-cfg.yang @@ -0,0 +1,1370 @@ +module Cisco-IOS-XR-perf-meas-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-cfg"; + prefix perf-meas-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR perf-meas package configuration. + + This module contains definitions + for the following management objects: + performance-measurement: The root of performance-measurement + configuration + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-18 { + description + "Deprecate trnasport specific delay and liveness detection name profile configuration. + 2021-10-27 + Added tx-interval to profile configuration."; + semver:module-version "5.0.1m"; + } + revision 2021-09-28 { + description + "Deprecate measurement-mode in liveness profile. + 2021-06-15 + TWAMP-Light querier source and destination port range updated to 1024 - 14999."; + semver:module-version "5.0.0"; + } + revision 2020-12-19 { + description + "Updated liveness profile for endpoint support. + 2020-12-12 + Add interface delay-profile name schema class and hide delay-profile liveness-detction. + 2020-12-02 + Added sr-policy liveness profile config schema. + 2020-11-16 + Added default keyword for default profile configuration. + 2020-10-27 + Endpoint support. + 2020-10-27 + Added anomaly support for sr-policy min delay metrics. + 2020-10-02 + Added anomaly support for interface min delay metrics + 2020-07-21 + Remove deprecated interface profile probe interval and burst interval."; + semver:module-version "4.0.0"; + } + revision 2020-03-31 { + description + "721 nohelp CLI for liveness, loopback, endpoint, src-port, named profile, distribution. + 2020-02-24 + Modifid type of service knobs from array to integer. + 2020-02-20 + Modifid type of service knobs from array to integer. + 2020-01-08 + Added new configure knob to specify source port for end-to-end DM session on RP. + 2019-11-29 + Revision IOS XR 7.2.1 Added PM named profile development. + 2019-11-14 + Revision IOS XR 7.2.1 Upate PM advertise delay config range."; + semver:module-version "3.0.0"; + } + revision 2019-09-18 { + description + "Hid and disabled unsupported features for 7.1.1."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-10-17 { + description + "Revision Zero."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pm-vrf-name-max-length { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Pm vrf name max length"; + } + + typedef Profile-name-max-length { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Profile name max length"; + } + + typedef Pm-measurement-mode { + type enumeration { + enum "pm-measurement-mode-type-one-way" { + value 0; + description + "One-way measurement collecting only timestamp 1 + and 2"; + } + enum "pm-measurement-mode-type-two-way" { + value 1; + description + "two-way measurement collecting only timestamp 1 + , 2, 3 and 4"; + } + enum "pm-measurement-mode-type-loop-back" { + value 2; + description + "loopback measurement collecting only timestamp + 1 and 4"; + } + } + description + "Pm measurement mode"; + } + + typedef Pm-afi { + type string { + pattern "(ipv4)|(ipv6)"; + } + description + "ipv4: Comment: v4 address family string, ipv6: + Comment: v6 address family string"; + } + + typedef Pm-protocol-and-encap { + type enumeration { + enum "pm-payload-protocol-type-pm-mpls" { + value 1; + description + "Use RF6374 with MPLS Encapsulation"; + } + enum "pm-payload-protocol-type-twamp-light" { + value 3; + description + "Use RFC5357"; + } + } + description + "Pm protocol and encap"; + } + + typedef Pm-ip-address { + type enumeration { + enum "pm-ip-address-type-ipv4" { + value 0; + description + "IPv4 nexthop address"; + } + enum "pm-ip-address-type-ipv6" { + value 1; + description + "IPv6 nexthop address"; + } + enum "pm-ip-address-type-unknown" { + value 2; + description + "unknown nexthop addrss type"; + } + } + description + "Pm ip address"; + } + + typedef Pm-ld-measurement-mode { + type enumeration { + enum "pm-measurement-mode-type-loop-back" { + value 2; + description + "loopback measurement collecting only timestamp + 1 and 4"; + } + } + description + "Pm ld measurement mode"; + } + + grouping LIVENESS-DETECTION { + description + "Common node of liveness-profile-endpoint, + liveness-name-profile-endpoint"; + container liveness-detection { + description + "PM Endpoint Liveness Detection"; + container logging { + description + "Enable syslog for liveness detection"; + leaf state-change { + type empty; + description + "Emit syslog when the liveness state change + detected"; + } + } + leaf multiplier { + type uint32 { + range "2..10"; + } + description + "Liveness detection multiplier"; + } + } + } + + grouping THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY { + description + "Common node of delay-profile-rsvp-te, + delay-profile-sr-policy, delay-profile-endpoint, + delay-name-profile-sr-policy, + delay-name-profile-endpoint, delay-name-profile"; + leaf threshold-crossing-check-minimum-delay { + type boolean; + description + "Enable Minimum-delay Threshold-check."; + } + } + + grouping THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY { + description + "Common node of delay-profile-rsvp-te, + delay-profile-sr-policy, delay-profile-endpoint, + delay-name-profile-sr-policy, + delay-name-profile-endpoint, delay-name-profile"; + leaf threshold-crossing-check-average-delay { + type boolean; + description + "Enable Average-delay Threshold-check."; + } + } + + grouping PM-LIVENESS-DETECTION { + description + "Common node of liveness-profile-sr-policy, + liveness-name-profile-sr-policy"; + container pm-liveness-detection { + description + "PM Liveness Detection"; + leaf multiplier { + type uint32 { + range "2..10"; + } + description + "Liveness detection multiplier"; + } + } + } + + grouping ADVERTISEMENT { + description + "Common node of delay-profile-interface, + delay-profile-sr-policy, delay-profile-rsvp-te, + delay-profile-endpoint, + delay-name-profile-interface, + delay-name-profile-sr-policy, + delay-name-profile-endpoint, delay-name-profile"; + container advertisement { + description + "Advertisement Profile"; + container logging { + description + "Syslog configuration options"; + leaf delay-exceeded { + type empty; + description + "Emit syslog when the delay exceeds the + threshold"; + } + } + container anomaly-check { + description + "Anomaly Check Advertisement Profile"; + container bounds { + description + "Range of upper and lower bound in uSec"; + leaf upper-bound { + type uint32 { + range "0..200000"; + } + description + "Upper Bound in uSec"; + } + leaf lower-bound { + type uint32 { + range "0..200000"; + } + description + "Lower Bound in uSec"; + } + } + } + container accelerated { + description + "Accelerated Advertisement Profile"; + leaf threshold { + type uint32 { + range "0..100"; + } + units "percentage"; + default "20"; + description + "Accelerated advertisement threshold percentage"; + } + leaf minimum-change { + type uint32 { + range "0..100000"; + } + default "500"; + description + "Accelerated advertisement minimum value in + uSec"; + } + leaf enable { + type empty; + description + "Enable Accelerated Advertisement"; + } + } + container periodic { + description + "Periodic Advertisement Profile"; + leaf interval { + type uint32 { + range "30..3600"; + } + units "second"; + default "120"; + description + "Periodic advertisement and metric aggregation + interval in seconds"; + } + leaf threshold { + type uint32 { + range "0..100"; + } + units "percentage"; + default "10"; + description + "Periodic advertisement threshold percentage + change (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000"; + } + description + "Periodic advertisement minimum change in uSec + (compared to last advertisement)"; + } + leaf disable { + type empty; + description + "Enable Performance Measurement Periodic + Advertisement"; + } + } + } + } + + grouping THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY { + description + "Common node of delay-profile-rsvp-te, + delay-profile-sr-policy, delay-profile-endpoint, + delay-name-profile-sr-policy, + delay-name-profile-endpoint, delay-name-profile"; + leaf threshold-crossing-check-maximum-delay { + type boolean; + description + "Enable Maximum-delay Threshold-check."; + } + } + + grouping PROBE { + description + "Common node of delay-profile-endpoint, + delay-name-profile-endpoint"; + container probe { + description + "PM Delay Profile Probe"; + container type-of-service { + description + "PM Delay Profile Type Of Service"; + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for delay profile probe packet + transmission interval in uSec"; + } + leaf computation-interval { + type uint32 { + range "1..3600"; + } + units "second"; + description + "The value for delay profile probe computation + interval in seconds"; + } + leaf measurement-mode { + type Pm-measurement-mode; + description + "Configuration for measurement mode"; + } + leaf burst-interval { + type uint32 { + range "30..15000"; + } + status deprecated; + description + "PM Delay Profile Probe Burst Interval + (Deprecated in IOS-XR 7.5.2. Please use + TXInterval.)"; + } + } + } + + grouping PM-SRPOLICY-PROBE-CFG-PROBE { + description + "Common node of delay-profile-endpoint, + delay-name-profile-endpointCommon node of + delay-profile-sr-policy, + delay-name-profile-sr-policy"; + container probe { + description + "PM Delay Profile Probe"; + container type-of-service { + description + "PM Delay Profile Type Of Service"; + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + leaf traffic-class-value { + type uint32 { + range "0..7"; + } + description + "Traffic Class value indicating TOS level used + by protocol pm-mpls"; + } + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the + probe packet"; + container destination { + description + "Configuration for destination address sweeping + range, only IPv4 address is supported. Used by + IPv4, IPv6 and NULL endpoint SR Policy."; + leaf address-type { + type Pm-ip-address; + description + "Type of address (Only supports + PM_IP_ADDRESS_TYPE_IPV4)"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Starting address for destination sweeping"; + } + leaf range { + type uint32 { + range "0..128"; + } + description + "Sweeping range"; + } + } + } + container protocol { + description + "Protocol used for measurement probe messages"; + leaf protocol-type { + type Pm-protocol-and-encap; + description + "Type of protocol"; + } + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for delay profile probe packet + transmission interval in uSec"; + } + leaf computation-interval { + type uint32 { + range "1..3600"; + } + units "second"; + description + "The value for delay profile probe computation + interval in seconds"; + } + leaf measurement-mode { + type Pm-measurement-mode; + description + "Configuration for measurement mode"; + } + leaf burst-interval { + type uint32 { + range "30..15000"; + } + status deprecated; + description + "PM Delay Profile Probe Burst Interval + (Deprecated in IOS-XR 7.5.2. Please use + TXInterval.)"; + } + } + } + + grouping PM-PROBE-CFG-PROBE { + description + "Common node of delay-profile-endpoint, + delay-name-profile-endpointCommon node of + delay-profile-sr-policy, + delay-name-profile-sr-policyCommon node of + delay-profile-interface, + delay-name-profile-interface"; + container probe { + description + "PM Delay Profile Probe"; + container type-of-service { + description + "PM Delay Profile Type Of Service"; + leaf traffic-class-value { + type uint32 { + range "0..7"; + } + description + "Traffic Class value indicating TOS level used + by protocol pm-mpls"; + } + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + } + container protocol { + description + "Protocol used for measurement probe messages"; + leaf protocol-type { + type Pm-protocol-and-encap; + description + "Type of protocol"; + } + } + leaf measurement-mode { + type Pm-measurement-mode; + description + "Configuration for measurement mode"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for delay profile probe packet + transmission interval in uSec"; + } + leaf burst-interval { + type uint32 { + range "30..15000"; + } + default "3000"; + status deprecated; + description + "PM Delay Profile Burst Interval (Deprecated in + IOS-XR 7.5.2. Please use TXInterval.)"; + } + leaf computation-interval { + type uint32 { + range "1..3600"; + } + units "second"; + default "30"; + description + "The value for delay profile probe computation + interval in seconds"; + } + } + } + + grouping PM-SRPOLICY-LIVE-PROBE-CFG-PROBE { + description + "Common node of delay-profile-endpoint, + delay-name-profile-endpointCommon node of + delay-profile-sr-policy, + delay-name-profile-sr-policyCommon node of + delay-profile-interface, + delay-name-profile-interfaceCommon node of + liveness-profile-sr-policy, + liveness-name-profile-sr-policy"; + container probe { + description + "PM Liveness Profile Probe"; + container type-of-service { + description + "PM Liveness Profile Type Of Service"; + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the + probe packet"; + container destination { + description + "Configuration for destination address sweeping + range, only IPv4 address is supported. Used by + IPv4, IPv6 and NULL endpoint SR Policy."; + leaf address-type { + type Pm-ip-address; + description + "Type of address (Only supports + PM_IP_ADDRESS_TYPE_IPV4)"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Starting address for destination sweeping"; + } + leaf range { + type uint32 { + range "0..128"; + } + description + "Sweeping range"; + } + } + } + leaf measurement-mode { + type Pm-ld-measurement-mode; + status deprecated; + description + "Deprecated in release 7.4.2"; + } + leaf burst-interval { + type uint32 { + range "30..15000"; + } + status deprecated; + description + "PM Liveness Profile Probe Burst Interval + (Deprecated in IOS-XR 7.5.2. Please use + TXInterval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for liveness profile probe packet + transmission interval in uSec"; + } + } + } + + grouping PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE { + description + "Common node of delay-profile-endpoint, + delay-name-profile-endpointCommon node of + delay-profile-sr-policy, + delay-name-profile-sr-policyCommon node of + delay-profile-interface, + delay-name-profile-interfaceCommon node of + liveness-profile-sr-policy, + liveness-name-profile-sr-policyCommon node of + liveness-profile-endpoint, + liveness-name-profile-endpoint"; + container probe { + description + "PM Endpoint Liveness Profile Probe"; + container type-of-service { + description + "PM Liveness Profile Type Of Service"; + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for liveness profile probe packet + transmission interval in uSec"; + } + leaf burst-interval { + type uint32 { + range "30..15000"; + } + status deprecated; + description + "PM Liveness Profile Probe Burst Interval + (Deprecated in IOS-XR 7.5.2. Please use + TXInterval.)"; + } + leaf measurement-mode { + type Pm-ld-measurement-mode; + status deprecated; + description + "Deprecated in release 7.4.2"; + } + } + } + + container performance-measurement { + description + "The root of performance-measurement configuration"; + container liveness-profile-sr-policy { + description + "Performance-measurement SR Policy liveness + profile"; + uses PM-LIVENESS-DETECTION; + uses PM-SRPOLICY-LIVE-PROBE-CFG-PROBE; + } + container liveness-name-profile-endpoints { + status deprecated; + description + "Endpoint liveness name profile table. + (Deprecated in IOS-XR 7.5.2.)"; + list liveness-name-profile-endpoint { + key "profile-name"; + description + "Endpoint liveness name profile"; + leaf profile-name { + type Profile-name-max-length; + description + "Profile name"; + } + uses LIVENESS-DETECTION; + uses PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE; + } + } + container protocol { + description + "PM protocols"; + container twamp-light { + description + "Twamp-light protocol"; + container delay-measurement { + description + "Delay measurement"; + container unauthenticated { + description + "Unauthenticated mode"; + leaf querier-source-port { + type uint32 { + range "1024..14999"; + } + description + "UDP port opened on Route Processor to be + used as source port in queries, support + range from 1024 to 14999"; + } + leaf ipv4-timestamp1 { + type uint32 { + range "256..23999"; + } + description + "Label to put timestamp 1 on a IPv4 packet"; + } + leaf ipv6-timestamp2 { + type uint32 { + range "256..23999"; + } + description + "Label to put timestamp2 on a IPv6 packet"; + } + leaf ipv4-timestamp2 { + type uint32 { + range "256..23999"; + } + description + "Label to put timestamp2 on a IPv4 packet"; + } + leaf querier-destination-port { + type uint32 { + range "1024..14999"; + } + description + "UDP port opened to be used as destination + port in queries, support reserved 862 port + for TWAMP or 1024 to 14999"; + } + leaf ipv6-timestamp1 { + type uint32 { + range "256..23999"; + } + description + "Label to put timestamp 1 on a IPv6 packet"; + } + } + } + } + } + container delay-profile-endpoint { + description + "Performance-measurement Endpoint delay profile"; + uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; + uses ADVERTISEMENT; + uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; + uses PROBE; + uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; + } + container liveness-name-profiles { + description + "Liveness name profile table"; + list liveness-name-profile { + key "profile-name"; + description + "Liveness name profile"; + container liveness-detection { + description + "Liveness Detection"; + container logging { + description + "Enable syslog for liveness detection"; + leaf state-change { + type empty; + description + "Emit syslog when the liveness state change + detected"; + } + } + leaf multiplier { + type uint32 { + range "2..10"; + } + description + "Liveness detection multiplier"; + } + } + container probe { + description + "PM Liveness Profile Probe"; + container type-of-service { + description + "PM Liveness Profile Type Of Service"; + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in + the probe packet"; + container destination { + description + "Configuration for destination address + sweeping range, only IPv4 address is + supported. Used by IPv4, IPv6 and NULL + endpoint SR Policy."; + leaf address-type { + type Pm-ip-address; + description + "Type of address (Only supports + PM_IP_ADDRESS_TYPE_IPV4)"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Starting address for destination sweeping"; + } + leaf range { + type uint32 { + range "0..128"; + } + description + "Sweeping range"; + } + } + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for liveness profile probe packet + transmission interval in uSec"; + } + } + leaf profile-name { + type Profile-name-max-length; + description + "Profile name"; + } + } + } + container delay-name-profile-sr-policies { + status deprecated; + description + "SR Policy delay name profile table (Deprecated + in IOS-XR 7.5.2.)"; + list delay-name-profile-sr-policy { + key "profile-name"; + description + "SR Policy delay name profile"; + leaf profile-name { + type Profile-name-max-length; + description + "Profile name"; + } + uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; + uses ADVERTISEMENT; + uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; + uses PM-SRPOLICY-PROBE-CFG-PROBE; + uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; + } + } + container delay-profile-rsvp-te { + description + "Performance-measurement RSVP-TE delay profile"; + container probe { + description + "PM Delay Profile Probe"; + container type-of-service { + description + "PM Delay Profile Type Of Service"; + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + leaf traffic-class-value { + type uint32 { + range "0..7"; + } + description + "Traffic Class value indicating TOS level used + by protocol pm-mpls"; + } + } + container protocol { + description + "Protocol used for measurement probe messages"; + leaf protocol-type { + type Pm-protocol-and-encap; + description + "Type of protocol"; + } + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for delay profile probe packet + transmission interval in uSec"; + } + leaf burst-interval { + type uint32 { + range "30..15000"; + } + status deprecated; + description + "PM Delay Profile Probe Burst Interval + (Deprecated in IOS-XR 7.5.2. Please use + TXInterval.)"; + } + leaf measurement-mode { + type Pm-measurement-mode; + description + "Configuration for measurement mode"; + } + leaf computation-interval { + type uint32 { + range "1..3600"; + } + units "second"; + description + "The value for delay profile probe computation + interval in seconds"; + } + } + uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; + uses ADVERTISEMENT; + uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; + uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; + } + container delay-name-profile-endpoints { + status deprecated; + description + "Endpoint delay name profile table (Deprecated in + IOS-XR 7.5.2.)"; + list delay-name-profile-endpoint { + key "profile-name"; + description + "Endpoint delay name profile"; + leaf profile-name { + type Profile-name-max-length; + description + "Profile name"; + } + uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; + uses ADVERTISEMENT; + uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; + uses PROBE; + uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; + } + } + container liveness-profile-endpoint { + description + "Performance-measurement Endpoint liveness + profile"; + uses LIVENESS-DETECTION; + uses PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE; + } + container delay-profile-interface { + description + "Performance-measurement interface delay profile"; + uses ADVERTISEMENT; + uses PM-PROBE-CFG-PROBE; + } + container delay-name-profiles { + description + "Delay name profile table"; + list delay-name-profile { + key "profile-name"; + description + "Delay name profile"; + container probe { + description + "PM Delay Profile Probe"; + container sweep { + description + "Enable ECMP hashing by sweeping a field in + the probe packet"; + container destination { + description + "Configuration for destination address + sweeping range, only IPv4 address is + supported. Used by IPv4, IPv6 and NULL + endpoint SR Policy."; + leaf address-type { + type Pm-ip-address; + description + "Type of address (Only supports + PM_IP_ADDRESS_TYPE_IPV4)"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Starting address for destination sweeping"; + } + leaf range { + type uint32 { + range "0..128"; + } + description + "Sweeping range"; + } + } + } + container type-of-service { + description + "PM Delay Profile Type Of Service"; + leaf traffic-class-value { + type uint32 { + range "0..7"; + } + description + "Traffic Class value indicating TOS level + used by protocol pm-mpls"; + } + leaf dscp-value { + type uint32 { + range "0..63"; + } + description + "DSCP value indicating TOS level used by + protocol twamp-light"; + } + } + container protocol { + description + "Protocol used for measurement probe messages"; + leaf protocol-type { + type Pm-protocol-and-encap; + description + "Type of protocol"; + } + } + leaf computation-interval { + type uint32 { + range "1..3600"; + } + units "second"; + default "30"; + description + "The value for delay profile probe computation + interval in seconds"; + } + leaf measurement-mode { + type Pm-measurement-mode; + description + "Configuration for measurement mode"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000"; + } + description + "The value for delay profile probe packet + transmission interval in uSec"; + } + } + leaf profile-name { + type Profile-name-max-length; + description + "Profile name"; + } + uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; + uses ADVERTISEMENT; + uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; + uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; + } + } + container delay-name-profile-interfaces { + status deprecated; + description + "Interface delay name profile table (Deprecated + in IOS-XR 7.5.2.)"; + list delay-name-profile-interface { + key "profile-name"; + description + "Interface delay name profile"; + leaf profile-name { + type Profile-name-max-length; + description + "Profile name"; + } + uses ADVERTISEMENT; + uses PM-PROBE-CFG-PROBE; + } + } + container endpoints { + description + "Configure performance-measurement Endpoint"; + list endpoint { + key "dst-addr-type dst-addr vrf"; + description + "Configure performance-measurement Endpoint"; + container endpoint-delay-measurement { + description + "Endpoint delay measurement"; + leaf endpoint-profile-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Endpoint delay profile name"; + } + leaf endpoint-enable-delay-measurement { + type empty; + description + "Enable endpoint delay measurement"; + } + } + container source-address { + presence "Indicates a source-address node is configured."; + description + "Endpoint source address"; + leaf src-addr-type { + type Pm-ip-address; + mandatory true; + description + "Type of IP Address"; + } + leaf src-addr { + type inet:ip-address-no-zone; + mandatory true; + description + "Source IP Address"; + } + } + leaf enable-endpoint { + type empty; + description + "Enable endpoint submode"; + } + leaf description { + type string { + length "1..255"; + } + description + "A textual description of the Endpoint"; + } + leaf dst-addr-type { + type Pm-afi; + description + "Type of IP Address"; + } + leaf dst-addr { + type inet:ip-address-no-zone; + description + "Destination IP address"; + } + leaf vrf { + type Pm-vrf-name-max-length; + description + "VRF name"; + } + } + } + container delay-profile-sr-policy { + description + "Performance-measurement SR Policy delay profile"; + uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; + uses ADVERTISEMENT; + uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; + uses PM-SRPOLICY-PROBE-CFG-PROBE; + uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; + } + container interfaces { + description + "Configure performance-measurement interfaces"; + list interface { + key "interface-name"; + description + "Configure a performance-measurement interface"; + container delay-measurement { + description + "Interface delay measurement"; + container delay-profile { + description + "Interface delay profile"; + leaf pm-profile-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Interface delay profile name"; + } + } + leaf enable-delay-measurement { + type empty; + description + "Enable interface delay measurement"; + } + leaf advertise-delay { + type uint32 { + range "1..16777215"; + } + description + "The value for interface delay measurement + advertisement delay in uSec"; + } + } + container nexthop-address { + description + "PM Delay Nexthop Address"; + leaf nexthop-address-type { + type Pm-ip-address; + description + "Type of IP Address of nexthop"; + } + leaf nexthop-address { + type inet:ip-address-no-zone; + description + "Address of nexthop"; + } + } + leaf enable-interface { + type empty; + description + "Enable interface submode"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + container liveness-name-profile-sr-policies { + status deprecated; + description + "SR Policy liveness name profile table. + (Deprecated in IOS-XR 7.5.2.)"; + list liveness-name-profile-sr-policy { + key "profile-name"; + description + "SR Policy liveness name profile"; + leaf profile-name { + type Profile-name-max-length; + description + "Profile name"; + } + uses PM-LIVENESS-DETECTION; + uses PM-SRPOLICY-LIVE-PROBE-CFG-PROBE; + } + } + leaf enable-performance-measurement { + type empty; + description + "Enable the performance measurement feature"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub1.yang new file mode 100644 index 000000000..65b804c0b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub1.yang @@ -0,0 +1,284 @@ +submodule Cisco-IOS-XR-perf-meas-oper-sub1 { + belongs-to Cisco-IOS-XR-perf-meas-oper { + prefix Cisco-IOS-XR-perf-meas-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR perf-meas package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-18 { + description + "Added transport specific parameters to profile information. + 2021-10-27 + Added tx-interval to profile information."; + semver:module-version "5.0.1m"; + } + revision 2021-06-15 { + description + "Added default TWAMP port entry in pm_rx_udp_ports_bag."; + semver:module-version "5.0.0"; + } + revision 2021-06-02 { + description + "Added session id to endpoint liveness bag. + 2021-04-17 + Removed liveness parameters from delay profile bag. + 2021-02-26 + Remove PM hidden show cli, loss, history packet. + 2021-02-16 + Remove liveness history and liveness detection verbose from sr-policy delay schema. + 2021-01-08 + Added srpolicy liveness schema. + 2021-01-08 + Added srpolicy liveness history schema and renamed liveness detection schema. + 2020-12-19 + Added schema for endpoint liveness profile. + 2020-12-02 + Add sr-policy liveness profile bag and oper schema. + 2020-11-26 + Update endpoint show command bags in order to support liveness-detection. + 2020-11-17 + Added new bag for PPS info. IosSetYangSchemaRev Cisco-IOS-XR-perf-meas-oper + 2020-10-27 + Added anomaly support for sr-policy min delay metrics. + 2020-10-27 + Added all endpoint show commands support and respective bags. + 2020-10-15 + Update probe running reason name for link down. + 2020-10-02 + Added anomaly support for interface min delay metrics. + 2020-08-06 + Added liveness session state history information. + 2020-07-23 + Fixed typos in perf-meas oper bag."; + semver:module-version "4.0.0"; + } + revision 2020-06-24 { + description + "Update perf-meas oper schema task group. + 2020-04-10 + Added new TX error counter for next hop MAC missing. + 2020-03-31 + 721 nohelp CLI for liveness, loopback, endpoint, src-port, named profile, distribution. + 2020-03-25 + Add trace id in PM session bag. + 2020-03-17 + Added new types counters to count different types of PM DM sessions. + 2020-03-09 + Added new types of probe running errors and counters for probe running errors. + 2020-02-24 + Modifid type of service knobs from array to integer. + 2020-02-21 + Modify router alert type + 2020-02-19 + Modifiy periodic minimum change value. + 2020-02-13 + Modifiy delay-measurement hisotry key words. + 2020-01-22 + Added a new advertisement reason for interface delay-measurement. + 2019-12-16 + Revision IOS XR 7.2.1 Added responder src address and num of hops for PM DM. + 2019-12-09 + Added new reason for DM probe not running. + 2019-11-18 + Revision IOS XR 7.2.1 Added EDT for Liveness state for SR Policy Candidate path atmoic path."; + semver:module-version "3.0.0"; + } + revision 2019-10-19 { + description + "Added burst-interval-effective to oper data."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-13 { + description + "Revision IOS XR 7.0.1 Added delay measurment for SR Policy and RSVP-TE LSP."; + } + revision 2017-10-17 { + description + "Revision Zero."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PM-RESP-INTF-BAG { + description + "PM Responder Interface bag"; + container interface-counters { + description + "Per interface responder counters"; + uses PM-COUNTER-RESP-BAG; + } + leaf interface-name-xr { + type string; + description + "Name of the interface"; + } + leaf interface-handle { + type uint32; + description + "Ifhandle of the interface"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source Address of the interface"; + } + leaf source-v6-address { + type inet:ipv6-address; + description + "Source V6 Address of the interface"; + } + leaf link-local-iv6-address { + type inet:ipv6-address; + description + "Link local IPv6 of the interface"; + } + leaf packet-rate { + type uint32; + description + "Incoming packet rate of the interface"; + } + leaf packet-rate-high-water-mark { + type uint32; + description + "Incoming packet rate high water mark of the + interface"; + } + leaf cleanup-time-remaining { + type uint32; + units "second"; + description + "Seconds until an inactive interface is cleaned + up"; + } + } + + grouping PM-COUNTER-RESP-BAG { + description + "PM Responder counters"; + leaf reply-packet-sent { + type uint64; + description + "Number of response packets sent"; + } + leaf reply-packet-sent-error { + type uint64; + description + "Number of response packets sent error"; + } + leaf query-packet-received { + type uint64; + description + "Number of response packets received"; + } + leaf received-packet-error-uro-tlv-not-present { + type uint64; + description + "Number of received packet error caused by URO + TLV not present"; + } + leaf received-packet-error-invalid-source-port-number { + type uint64; + description + "Number of received packet error caused by source + port number is invaid"; + } + leaf received-packet-error-no-source-address { + type uint64; + description + "Number of received packet error caused by no + source address"; + } + leaf received-packet-error-no-return-path { + type uint64; + description + "Number of received packet error caused by no + return path"; + } + leaf received-packet-error-invalid-querier-control-code { + type uint64; + description + "Number of received packet error caused by + querier control code is invalid"; + } + leaf received-packet-error-unsupported-timestamp-format { + type uint64; + description + "Number of received packet error caused by + timestamp format in the packet is not supported"; + } + leaf received-packet-error-timestamp-not-available { + type uint64; + description + "Number of packet error caused by timestamp in + received packet is not available"; + } + leaf received-packet-error-unsupported-mandatory-tlv { + type uint64; + description + "Number of received packet error caused by + unsupported mandatory TLV"; + } + leaf received-packet-error-invalid-packet { + type uint64; + description + "Number of received packet error caused by + invalid packet"; + } + } + + grouping PM-RESP-SUMMARY-BAG { + description + "PM Responder summary bag"; + container responder-counters { + description + "Global counters of responder"; + uses PM-COUNTER-RESP-BAG; + } + leaf total-interfaces { + type uint32; + description + "Number of interfaces in the responder cache"; + } + leaf packet-rate { + type uint32; + description + "Global incoming packet rate"; + } + leaf packet-rate-high-water-mark { + type uint32; + description + "Global incoming packet rate high water mark"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub2.yang new file mode 100644 index 000000000..a276d7226 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper-sub2.yang @@ -0,0 +1,4477 @@ +submodule Cisco-IOS-XR-perf-meas-oper-sub2 { + belongs-to Cisco-IOS-XR-perf-meas-oper { + prefix Cisco-IOS-XR-perf-meas-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR perf-meas package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-18 { + description + "Added transport specific parameters to profile information. + 2021-10-27 + Added tx-interval to profile information."; + semver:module-version "5.0.1m"; + } + revision 2021-06-15 { + description + "Added default TWAMP port entry in pm_rx_udp_ports_bag."; + semver:module-version "5.0.0"; + } + revision 2021-06-02 { + description + "Added session id to endpoint liveness bag. + 2021-04-17 + Removed liveness parameters from delay profile bag. + 2021-02-26 + Remove PM hidden show cli, loss, history packet. + 2021-02-16 + Remove liveness history and liveness detection verbose from sr-policy delay schema. + 2021-01-08 + Added srpolicy liveness schema. + 2021-01-08 + Added srpolicy liveness history schema and renamed liveness detection schema. + 2020-12-19 + Added schema for endpoint liveness profile. + 2020-12-02 + Add sr-policy liveness profile bag and oper schema. + 2020-11-26 + Update endpoint show command bags in order to support liveness-detection. + 2020-11-17 + Added new bag for PPS info. IosSetYangSchemaRev Cisco-IOS-XR-perf-meas-oper + 2020-10-27 + Added anomaly support for sr-policy min delay metrics. + 2020-10-27 + Added all endpoint show commands support and respective bags. + 2020-10-15 + Update probe running reason name for link down. + 2020-10-02 + Added anomaly support for interface min delay metrics. + 2020-08-06 + Added liveness session state history information. + 2020-07-23 + Fixed typos in perf-meas oper bag."; + semver:module-version "4.0.0"; + } + revision 2020-06-24 { + description + "Update perf-meas oper schema task group. + 2020-04-10 + Added new TX error counter for next hop MAC missing. + 2020-03-31 + 721 nohelp CLI for liveness, loopback, endpoint, src-port, named profile, distribution. + 2020-03-25 + Add trace id in PM session bag. + 2020-03-17 + Added new types counters to count different types of PM DM sessions. + 2020-03-09 + Added new types of probe running errors and counters for probe running errors. + 2020-02-24 + Modifid type of service knobs from array to integer. + 2020-02-21 + Modify router alert type + 2020-02-19 + Modifiy periodic minimum change value. + 2020-02-13 + Modifiy delay-measurement hisotry key words. + 2020-01-22 + Added a new advertisement reason for interface delay-measurement. + 2019-12-16 + Revision IOS XR 7.2.1 Added responder src address and num of hops for PM DM. + 2019-12-09 + Added new reason for DM probe not running. + 2019-11-18 + Revision IOS XR 7.2.1 Added EDT for Liveness state for SR Policy Candidate path atmoic path."; + semver:module-version "3.0.0"; + } + revision 2019-10-19 { + description + "Added burst-interval-effective to oper data."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-13 { + description + "Revision IOS XR 7.0.1 Added delay measurment for SR Policy and RSVP-TE LSP."; + } + revision 2017-10-17 { + description + "Revision Zero."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pm-rl-pps-pool { + type enumeration { + enum "single-pps-pool" { + description + "Single PPS Pool"; + } + enum "multiple-pps-pool" { + description + "Multiple PPS Pool"; + } + } + description + "PM PPS Pool Type"; + } + + typedef Pm-payload { + type enumeration { + enum "payload-type-pm-dm" { + description + "Payload type PM DM"; + } + enum "payload-type-twamp-test" { + description + "Payload type TWAMP test"; + } + enum "payload-type-pm-lm" { + description + "Payload type PM LM"; + } + } + description + "PM Payload Type"; + } + + typedef Pm-encap-mode { + type enumeration { + enum "encap-mode-mpls" { + description + "Encap-mode MPLS"; + } + enum "encap-mode-udp" { + description + "Encap-mode UDP"; + } + } + description + "PM Packet Encapsulation"; + } + + typedef Pm-delay-mode { + type enumeration { + enum "delay-mode-one-way" { + description + "One-way delay-measurement mode"; + } + enum "delay-mode-two-way" { + description + "Two-way delay-measurement mode"; + } + enum "delay-mode-loopback" { + description + "Loopback delay-measurement mode"; + } + enum "delay-mode-not-set" { + description + "Delay-measurement mode has not been set"; + } + } + description + "PM Delay Mode Type"; + } + + typedef Pm-measurement { + type enumeration { + enum "delay-measurement-type" { + description + "Delay Measurement Type"; + } + enum "loss-measurement-type" { + description + "Loss Measurement Type"; + } + enum "liveness-detection-type" { + description + "Liveness Detection Type"; + } + } + description + "PM Measurement Type"; + } + + typedef Pm-transport { + type enumeration { + enum "interface-transport-type" { + description + "Transport type for interface"; + } + enum "rsvp-te-transport-type" { + description + "Transport type for RSVP-TE LSP"; + } + enum "sr-policy-transport-type" { + description + "Transport type for SR Policy"; + } + enum "endpoiont-transport-type" { + description + "Transport type for endpoint"; + } + enum "generic-transport-type" { + description + "Generic transport type"; + } + } + description + "PM Transport Type"; + } + + typedef Pm-history { + type enumeration { + enum "history-type-probe" { + description + "History type for delay measurement probe info"; + } + enum "history-type-packet" { + description + "History type for delay measurement packet info"; + } + enum "history-type-aggregated" { + description + "History type for delay measurement aggregated + info"; + } + enum "history-type-advertisement" { + description + "History type for delay measurement + advertisement info"; + } + enum "history-type-liveness-state" { + description + "History type for liveness state change info"; + } + enum "history-type-lm-probe" { + description + "History type for loss measurement probe info"; + } + enum "history-type-lm-packet" { + description + "History type for loss measurement aggregation + info"; + } + enum "history-type-lm-aggregated" { + description + "History type for loss measurement advertisement + info"; + } + enum "history-type-lm-advertisement" { + description + "History type for loss measurement advertisement + info"; + } + } + description + "PM history types"; + } + + typedef Pm-probe-running-error-reason { + type enumeration { + enum "probe-is-running" { + description + "Probe is running without error"; + } + enum "platform-not-supported" { + description + "Measurement is not supported on this plaftorm"; + } + enum "nonv1-active-node" { + description + "Node is not V1 active"; + } + enum "control-code-error" { + description + "An uncleared control code error was received"; + } + enum "interface-admin-down" { + description + "Interface admin down"; + } + enum "mpls-capability-not-present" { + description + "MPLS is not enabled on interface"; + } + enum "interface-not-present" { + description + "Interface not present or preconfigured"; + } + enum "ip-address-not-configured" { + description + "IP address is not present on interface"; + } + enum "next-hop-not-configured" { + description + "Nexthop address not configured."; + } + enum "wrong-next-hop-ip-address-type" { + description + "Wrong nexthop address type configured"; + } + enum "protocol-port-not-configured" { + description + "Protocol querier destination port missing"; + } + enum "protocol-port-failed-to-open" { + description + "Protocol querier destination port failed to + open"; + } + enum "pm-mpls-protocol-not-supported" { + description + "Does not support delay measurement based on + RFC6374 with MPLS encap"; + } + enum "high-total-interface-packets-per-second" { + description + "Total interface delay packets per second + exceeds 80% of the total maximum packets per + second allowed"; + } + enum "client-end-of-data-not-received" { + description + "Client end of data message has not been + received"; + } + enum "missing-reverse-path" { + description + "Missing reverse path for loopback measurement + mode"; + } + enum "reverse-path-exceeds-sid-limit" { + description + "Reverse path for loopback measurement mode + exceeds max SID limit"; + } + enum "process-not-in-run-state" { + description + "Process is not in run state"; + } + enum "session-suspended" { + description + "Measurement has been suspended by user using + exec command"; + } + enum "profile-not-configured" { + description + "Profile is not configured"; + } + enum "missing-source-address" { + description + "Endpoint source address is missing"; + } + enum "interface-type-not-supported" { + description + "Delay measurement is not supported for this + interface type"; + } + enum "interface-non-default-vrf" { + description + "Interface is not in default VRF"; + } + enum "interface-down" { + description + "Interface down"; + } + enum "invalid-vrf" { + description + "unable to resolve (non-existing) VRF"; + } + enum "invalid-source-address" { + description + "Endpoint source address is invalid - cannot be + same as endpoint destination"; + } + enum "invalid-seg-list" { + description + "Segment list is invalid or not created"; + } + enum "invalid-seg-list-version" { + description + "Segment list data is outdated"; + } + enum "interface-ipv4-protocol-down" { + description + "IPv4 protocol is down for this interface"; + } + enum "interface-ipv6-protocol-down" { + description + "IPv6 protocol is down for this interface"; + } + enum "interface-ip-protocol-down" { + description + "Both IPv4 protocol and IPv6 protocol are down + for this interface"; + } + enum "interface-next-hop-mac-missing" { + description + "Next hop MAC address missing"; + } + enum "ep-loopback-without-seglist" { + description + "Endpoint Loopback mode without segment list"; + } + } + description + "PM probe not running reason"; + } + + typedef Pm-advert-reason { + type enumeration { + enum "no-advertisements" { + description + "Periodic timer expired. No advertisements have + occured"; + } + enum "periodic-advertisement-threshold-average" { + description + "Periodic timer expired. Average value threshold + crossed"; + } + enum "periodic-advertisement-threshold-minimum" { + description + "Periodic timer expired. Minimum value threshold + crossed"; + } + enum "periodic-advertisement-threshold-maximum" { + description + "Periodic timer expired. Maximum value threshold + crossed"; + } + enum "periodic-advertisement-threshold-variance" { + description + "Periodic timer expired. Variance value + threshold crossed"; + } + enum "accelerated-advertisement-threshold-average" { + description + "Accelerated average value threshold crossed"; + } + enum "accelerated-advertisement-threshold-minimum" { + description + "Accelerated minimum value threshold crossed"; + } + enum "accelerated-advertisement-threshold-maximum" { + description + "Accelerated maximum value threshold crossed"; + } + enum "accelerated-advertisement-upper-bound-average" { + description + "Accelerated average value upper bound crossed"; + } + enum "accelerated-advertisement-upper-bound-minimum" { + description + "Accelerated minimum value upper bound crossed"; + } + enum "accelerated-advertisement-upper-bound-maximum" { + description + "Accelerated maximum value upper bound crossed"; + } + enum "anomaly-check-advertisement-min-dynamic-delay" { + description + "Min delay A flag toggled and dynamic delay + measurement is in effect"; + } + enum "anomaly-check-advertisement-min-static-delay" { + description + "Min delay A flag toggled and static delay is in + effect"; + } + enum "advertisement-enabled" { + description + "Advertisement enabled"; + } + enum "advertisement-disabled" { + description + "Advertisement disabled"; + } + enum "session-unconfigured" { + description + "Session unconfigured"; + } + enum "clear-cli-command" { + description + "Session cleared via CLI"; + } + enum "advertise-delay-config" { + description + "Advertise delay config"; + } + enum "advertise-delay-unconfig" { + description + "Advertise delay unconfig"; + } + enum "received-control-code-error" { + description + "Recevied control code error, as per RFC 6374, + from the responder"; + } + enum "first-advertisement" { + description + "First advertisement"; + } + enum "link-is-down" { + description + "Link is in down state"; + } + enum "new-child-session" { + description + "Advertisement occured due to a new child + session"; + } + enum "invalid-measurement" { + description + "Performance measurement metrics withdrawn due + to measurement error"; + } + enum "dynamic-delay-measurement-in-effect" { + description + "Advertisement occured due to dynamic delay + measurement is in effect"; + } + } + description + "PM advertisement reason"; + } + + typedef Pm-xtc-srpolicy-origin { + type enumeration { + enum "candidate-path-origin-invalid" { + value 0; + description + "Invalid Origin Type"; + } + enum "candidate-path-origin-pce" { + value 10; + description + "Candidate-path From PCE"; + } + enum "candidate-path-origin-bgp" { + value 20; + description + "Candidate-path From BGP"; + } + enum "candidate-path-origin-configured" { + value 30; + description + "Candidate-path From Configuration"; + } + } + description + "Candidate-path Orign Type Shared By PM And XTC"; + } + + typedef Pm-ipv6-addr { + type inet:ipv6-address; + description + "Pm ipv6 addr"; + } + + typedef Pm-ipv4-addr { + type inet:ipv4-address; + description + "Pm ipv4 addr"; + } + + typedef Pm-addr { + type enumeration { + enum "ipv4" { + description + "IPv4"; + } + enum "ipv6" { + description + "IPv6"; + } + enum "unknown" { + description + "Unknown"; + } + } + description + "Type of PM address"; + } + + grouping PM-NAME-PROFILE-UNION { + description + "PM Name profile union"; + container delay { + when "../measurement-type = 'delay-measurement-type'" { + description + "../MeasurementType = 'DelayMeasurementType'"; + } + description + "Delay-Measurement name profile bag"; + uses PM-DELAY-TRANSPORT-PROFILE-BAG; + } + container loss { + when "../measurement-type = 'loss-measurement-type'" { + description + "../MeasurementType = 'LossMeasurementType'"; + } + description + "Loss-Measurement name profile bag"; + uses PM-LOSS-TRANSPORT-PROFILE-BAG; + } + container liveness { + when "../measurement-type = 'liveness-detection-type'" { + description + "../MeasurementType = 'LivenessDetectionType'"; + } + description + "Liveness-detection name profile bag"; + uses PM-LIVENESS-TRANSPORT-PROFILE-BAG; + } + leaf measurement-type { + type Pm-measurement; + description + "MeasurementType"; + } + } + + grouping PM-NAME-PROFILE-BAG { + description + "PM Name Profile bag"; + container profile { + description + "Profile bag"; + uses PM-NAME-PROFILE-UNION; + } + leaf name { + type string; + description + "Profile name"; + } + leaf transport-type { + type Pm-transport; + description + "Transport type"; + } + } + + grouping PM-DR-SESSION-INFO { + description + "PM DR SESSION INFO"; + leaf distribution-record-name { + type string; + description + "Name of the distribution record"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf delay-notification-received { + type boolean; + description + "True if the delay notification message was + received"; + } + leaf liveness-notification-received { + type boolean; + description + "True if the liveness notification message was + received"; + } + } + + grouping PM-DR-INFO { + description + "PM session distribution record information"; + leaf distribution-record-name { + type string; + description + "Name of the distribution record"; + } + leaf linecard-name { + type string; + description + "Name of the linecard"; + } + leaf record-creation-timestamp { + type uint64; + units "second"; + description + "Time when the distribution record were created + (seconds since Jan. 1, 1970)"; + } + list session { + description + "List of DR sessions"; + uses PM-DR-SESSION-INFO; + } + } + + grouping PM-PPS-TRANSPORT-INFO { + description + "PPS resource information bag for one type of + session"; + leaf pps-budget { + type uint32; + units "packet/s"; + description + "Packets per second resource assigned for this + type of session"; + } + leaf requested-pps { + type uint32; + units "packet/s"; + description + "Packets per second requested"; + } + leaf effective-pps { + type uint32; + units "packet/s"; + description + "Packets per second effective"; + } + leaf current-multi-hop-burst-interval-stretch-factor { + type uint32; + units "percentage"; + status deprecated; + description + "Deprecated: Multi hop session's burst interval + stretch factor percentage current value. Use + current-multi-hop-tx-interval-stretch-factor + instead."; + } + leaf dampened-multi-hop-burst-interval-stretch-factor { + type uint32; + units "percentage"; + status deprecated; + description + "Deprecated: Multi hop session's burst interval + stretch factor percentage dampened value. Use + dampened-multi-hop-tx-interval-stretch-factor + instead."; + } + leaf inuse-multi-hop-burst-interval-stretch-factor { + type uint32; + units "percentage"; + status deprecated; + description + "Deprecated: Multi hop session's burst interval + stretch factor percentage inuse value. Use + dampened-multi-hop-tx-interval-stretch-factor + instead."; + } + leaf current-multi-hop-tx-interval-stretch-factor { + type uint32; + units "percentage"; + description + "Multi hop session's TX interval stretch factor + percentage current value"; + } + leaf dampened-multi-hop-tx-interval-stretch-factor { + type uint32; + units "percentage"; + description + "Multi hop session's TX interval stretch factor + percentage dampened value"; + } + leaf inuse-multi-hop-tx-interval-stretch-factor { + type uint32; + units "percentage"; + description + "Multi hop session's TX interval stretch factor + percentage inuse value"; + } + } + + grouping PM-MULTI-PPS-POOL-BAG { + description + "Split type PPS pool"; + leaf maximum-pps-for-interface-session { + type uint32; + units "packet/s"; + description + "Total maximum packets per second allowed for + Interface sessions"; + } + leaf total-pps-requested-for-interface-session { + type uint32; + units "packet/s"; + description + "Total packets per second requested for Interface + sessions"; + } + leaf maximum-pps-for-mutihop-session { + type uint32; + units "packet/s"; + description + "Total maximum packets per second allowed for + multi-hop delay sessions"; + } + leaf total-pps-requested-for-mh-session { + type uint32; + units "packet/s"; + description + "Total packets per second requested for multi-hop + delay sessions"; + } + leaf minimum-pps-budget { + type uint32; + description + "Guaranteed Minimum PPS budget per transport type"; + } + leaf pps-budget-rebalance-threshold { + type uint32; + description + "PPS budget will be rebalanced when the changed + requested PPS crosses this threshold"; + } + } + + grouping PM-SINGLE-PPS-POOL-BAG { + description + "Shared type PPS pool"; + leaf maximum-pps-for-all-session { + type uint32; + units "packet/s"; + description + "Total maximum packets per second allowed for all + the sessions"; + } + leaf total-pps-requested { + type uint32; + units "packet/s"; + description + "Total packets per second requested for all the + sessions"; + } + leaf minimum-pps-budget { + type uint32; + description + "Guaranteed Minimum PPS budget per transport type"; + } + leaf pps-budget-rebalance-threshold { + type uint32; + description + "PPS budget will be rebalanced when the changed + requested PPS crosses this threshold"; + } + } + + grouping PM-PPS-POOL-UNION { + description + "PPS Pool type"; + container single-pps-pool { + when "../pps-pool-type = 'single-pps-pool'" { + description + "../PPSPoolType = 'SinglePPSPool'"; + } + description + "Single PPS pool"; + uses PM-SINGLE-PPS-POOL-BAG; + } + container multiple-pps-pool { + when "../pps-pool-type = 'multiple-pps-pool'" { + description + "../PPSPoolType = 'MultiplePPSPool'"; + } + description + "Multiple PPS pool"; + uses PM-MULTI-PPS-POOL-BAG; + } + leaf pps-pool-type { + type Pm-rl-pps-pool; + description + "PPSPoolType"; + } + } + + grouping PM-PPS-SUMMARY-BAG { + description + "PM Summary Rate Limiting bag"; + container pps-pool { + description + "PPS resource pool"; + uses PM-PPS-POOL-UNION; + } + container interface-session-info { + description + "Information for interface performance + measurement sessions"; + uses PM-PPS-TRANSPORT-INFO; + } + container sr-policy-session-info { + description + "Information for SR Policy performance + measurement sessions"; + uses PM-PPS-TRANSPORT-INFO; + } + container rsvp-te-session-info { + description + "Information for RSVP-TE tunnel performance + measurement sessions"; + uses PM-PPS-TRANSPORT-INFO; + } + container endpoint-session-info { + description + "Information for Endpoint performance measurement + sessions"; + uses PM-PPS-TRANSPORT-INFO; + } + } + + grouping PM-LIVENESS-DETECTION-BAG { + description + "Liveness detection state information bag"; + leaf multiplier { + type uint8; + description + "Detect multiplier"; + } + leaf logging-state-change-enabled { + type boolean; + description + "Emit syslog when the state of the session + changes"; + } + } + + grouping PM-LIVENESS-DETECTION-UNION { + description + "PM liveness detection profile union"; + container sr-policy-liveness-detection { + when "../transport-type = 'sr-policy-transport-type'" { + description + "../TransportType = 'SRPolicyTransportType'"; + } + description + "Liveness detection info of SR Policy"; + uses PM-LIVENESS-DETECTION-BAG; + } + container ep-liveness-detection { + when "../transport-type = 'endpoiont-transport-type'" { + description + "../TransportType = 'EndpoiontTransportType'"; + } + description + "Liveness detection info of Endpoint"; + uses PM-LIVENESS-DETECTION-BAG; + } + leaf transport-type { + type Pm-transport; + description + "TransportType"; + } + } + + grouping PM-LIVENESS-TRANSPORT-PROFILE-BAG { + description + "PM interface liveness profile bag"; + container destination-sweeping-address { + description + "IPv4/IPv6 sweeping address"; + uses PM-IP-ADDR-TYPE; + } + container liveness-detection-config { + status deprecated; + description + "Deprecated: Liveness detection configUse + liveness-detection instead"; + uses PM-LIVENESS-DETECTION-UNION; + } + container liveness-detection { + description + "Liveness detection info"; + uses PM-LIVENESS-DETECTION-BAG; + } + leaf tos-dscp-value { + type uint8; + description + "TOS DSCP value specified for protocol + TWAMP-LIGHT"; + } + leaf burst-interval { + type uint32; + status deprecated; + description + "Deprecated: Burst interval (msec). Config + tx-interval and use tx-interval instead"; + } + leaf burst-interval-effective { + type uint32; + status deprecated; + description + "Deprecated: Effective Burst Interval (msec). + Config tx-interval and use tx-interval-effective + instead"; + } + leaf tx-interval { + type uint32; + description + "TX Interval (usec)"; + } + leaf tx-interval-effective-sr-policy { + type uint32; + description + "Effective TX Interval for SR Policy (usec)"; + } + leaf tx-interval-effectiv-endpoint { + type uint32; + description + "Effective TX Interval for Endpoint (usec)"; + } + leaf delay-measurement-mode { + type Pm-delay-mode; + description + "Delay Measurement Mode Type"; + } + leaf payload-type { + type Pm-payload; + description + "Type of the probe packet payload"; + } + leaf encap-mode { + type Pm-encap-mode; + description + "Encap Mode"; + } + leaf destination-sweeping-mode-enabled { + type boolean; + description + "Measure liveness detection with ECMP hashing by + sweeping destination address"; + } + leaf destination-sweeping-range { + type uint32; + description + "Number of IP addresses to sweep"; + } + } + + grouping PM-LIVENESS-PROFILE-BAG { + description + "PM Liveness Profile bag"; + container sr-policy-liveness-profile { + description + "Profile of SR Policy liveness detection "; + uses PM-LIVENESS-TRANSPORT-PROFILE-BAG; + } + container endpoint-liveness-profile { + description + "Profile of Endpoint liveness detection "; + uses PM-LIVENESS-TRANSPORT-PROFILE-BAG; + } + } + + grouping PM-LOSS-TRANSPORT-PROFILE-BAG { + description + "PM interface loss measurement profile bag"; + leaf probe-interval { + type uint32; + description + "Probe Interval (sec)"; + } + leaf encap-mode { + type Pm-encap-mode; + description + "Encap Mode"; + } + leaf periodic-advertisement-enabled { + type boolean; + description + "Advertisement Periodic Enabled"; + } + leaf periodic-advertisement-interval { + type uint32; + description + "Advertisement Periodic Interval (sec)"; + } + leaf effective-periodic-advertisement-interval { + type uint32; + description + "Advertisement Periodic Effective (sec)"; + } + leaf periodic-advertisement-threshold { + type uint32; + description + "Advertisement Periodic Threshold (%)"; + } + leaf periodic-advertisement-minimum-change { + type uint32; + description + "Advertisement Periodic Minimum Change (uSec)"; + } + leaf accelerated-advertisement-threshold { + type uint32; + description + "Advertisement Accelerated Threshold (%)"; + } + leaf accelerated-advertisement-minimum-change { + type uint32; + description + "Advertisement Accelerated Minimum Change (uSec)"; + } + leaf accelerated-advertisement-enabled { + type boolean; + description + "Advertisement Accelerated Enabled"; + } + } + + grouping PM-LOSS-PROFILE-BAG { + description + "PM loss measurement profile bag"; + container interface-delay-profile { + description + "Profile info of Interface loss measurement"; + uses PM-LOSS-TRANSPORT-PROFILE-BAG; + } + } + + grouping PM-DELAY-ADVERTISEMENT-THRESHOLD-CROSSING-CHECK-BAG { + description + "PM delay advertisement threshold crossing check + bag"; + leaf advertisement-threshold-check-average-delay { + type boolean; + description + "Check Average-delay For Advertisement Threshold + Crossing"; + } + leaf advertisement-threshold-check-minimum-delay { + type boolean; + description + "Check Minimum-delay For Advertisement Threshold + Crossing"; + } + leaf advertisement-threshold-check-maximum-delay { + type boolean; + description + "Check Maximum-delay For Advertisement Threshold + Crossing"; + } + } + + grouping PM-DELAY-TRANSPORT-PROFILE-BAG { + description + "PM interface delay profile bag"; + container destination-sweeping-address { + description + "IPv4/IPv6 sweeping address"; + uses PM-IP-ADDR-TYPE; + } + container advertisement-check-sr-policy { + description + "Advertisement Threshold Crossing For SR Policy"; + uses PM-DELAY-ADVERTISEMENT-THRESHOLD-CROSSING-CHECK-BAG; + } + container advertisement-check-endpoint { + description + "Advertisement Threshold Crossing For Endpoint"; + uses PM-DELAY-ADVERTISEMENT-THRESHOLD-CROSSING-CHECK-BAG; + } + container advertisement-check-interface { + description + "Advertisement Threshold Crossing For Interface"; + uses PM-DELAY-ADVERTISEMENT-THRESHOLD-CROSSING-CHECK-BAG; + } + container advertisement-check-rsvp-te { + description + "Advertisement Threshold Crossing For RSVP TE"; + uses PM-DELAY-ADVERTISEMENT-THRESHOLD-CROSSING-CHECK-BAG; + } + leaf probe-computation-interval { + type uint32; + description + "Probe Computation Interval (sec)"; + } + leaf probe-computation-interval-effective { + type uint32; + status deprecated; + description + "Deprecated: Effective Probe Computation Interval + (sec).Use probe-interval-effective instead"; + } + leaf probe-computation-interval-effective-sr-policy { + type uint32; + description + "Effective Probe Computation Interval for SR + Policy (sec)"; + } + leaf probe-computation-interval-effective-endpoint { + type uint32; + description + "Effective Probe Computation Interval for + Endpoint (sec)"; + } + leaf probe-computation-interval-effective-interface { + type uint32; + description + "Effective Probe Computation Interval for + Interface (sec)"; + } + leaf probe-computation-interval-effective-rsvp-te { + type uint32; + description + "Effective Probe Computation Interval for RSVP TE + (sec)"; + } + leaf tos-traffic-class-value { + type uint8; + description + "TOS Traffic Class value specified for protocol + PM-MPLS"; + } + leaf tos-dscp-value { + type uint8; + description + "TOS DSCP value specified for protocol + TWAMP-LIGHT"; + } + leaf burst-interval { + type uint32; + status deprecated; + description + "Deprecated: Burst interval (msec). Config + tx-interval and use tx-interval instead"; + } + leaf burst-interval-effective { + type uint32; + status deprecated; + description + "Deprecated: Effective Burst Interval (msec). + Config tx-interval and use tx-interval-effective + instead"; + } + leaf tx-interval { + type uint32; + description + "TX Interval (usec)"; + } + leaf tx-interval-effective-sr-policy { + type uint32; + description + "Effective TX Interval for SR Policy (usec)"; + } + leaf tx-interval-effective-endpoint { + type uint32; + description + "Effective TX Interval for Endpoint (usec)"; + } + leaf tx-interval-effective-interface { + type uint32; + description + "Effective TX Interval for Interface (usec)"; + } + leaf tx-interval-effective-rsvp-te { + type uint32; + description + "Effective TX Interval for RSVP TE (usec)"; + } + leaf burst-count { + type uint32; + status deprecated; + description + "Deprecated: Number of burst in one probe. Use + packets-per-computation-intvl instead."; + } + leaf packets-per-computation-interval-sr-policy { + type uint32; + description + "Number of packets transmit per computation + interval for SR Policy"; + } + leaf packets-per-computation-interval-endpoint { + type uint32; + description + "Number of packets transmit per computation + interval for Endpoint"; + } + leaf packets-per-computation-interval-interface { + type uint32; + description + "Number of packets transmit per computation + interval for Interface"; + } + leaf packets-per-computation-interval-rsvp-te { + type uint32; + description + "Number of packets transmit per computation + interval for RSVP TE"; + } + leaf delay-measurement-mode { + type Pm-delay-mode; + status deprecated; + description + "Deprecated: Delay Measurement Mode Type.Use + measurement-mode instead"; + } + leaf measurement-mode-sr-policy { + type Pm-delay-mode; + description + "Measurement Mode for SR Policy"; + } + leaf measurement-mode-endpoint { + type Pm-delay-mode; + description + "Measurement Mode for Endpoint"; + } + leaf measurement-mode-interface { + type Pm-delay-mode; + description + "Measurement Mode for Interface"; + } + leaf measurement-mode-rsvp-te { + type Pm-delay-mode; + description + "Measurement Mode for RSVP TE"; + } + leaf router-alert { + type boolean; + description + "IP router alert option"; + } + leaf encap-mode { + type Pm-encap-mode; + description + "Encap Mode"; + } + leaf payload-type { + type Pm-payload; + description + "Type of the probe packet payload"; + } + leaf destination-sweeping-mode-enabled { + type boolean; + description + "Measure the delay with ECMP hashing by sweeping + destination address"; + } + leaf destination-sweeping-range { + type uint32; + description + "Number of IP addresses to sweep"; + } + leaf periodic-advertisement-enabled { + type boolean; + description + "Advertisement Periodic Enabled"; + } + leaf periodic-advertisement-interval { + type uint32; + description + "Advertisement Periodic Interval (sec)"; + } + leaf periodic-advertisement-interval-effective { + type uint32; + status deprecated; + description + "Deprecated: Advertisement Periodic Effective + (sec).Use adv-periodic-effective instead"; + } + leaf periodic-advertisement-interval-effective-sr-policy { + type uint32; + description + "Advertisement Periodic Effective for SR Policy + (sec)"; + } + leaf periodic-advertisement-interval-effective-endpoint { + type uint32; + description + "Advertisement Periodic Effective for Endpoint + (sec)"; + } + leaf periodic-advertisement-interval-effective-interface { + type uint32; + description + "Advertisement Periodic Effective for Interface + (sec)"; + } + leaf periodic-advertisement-interval-effective-rsvp-te { + type uint32; + description + "Advertisement Periodic Effective for RSVP TE + (sec)"; + } + leaf periodic-advertisement-threshold { + type uint32; + description + "Advertisement Periodic Threshold (%)"; + } + leaf periodic-advertisement-minimum-change { + type uint32; + description + "Advertisement Periodic Minimum Change (uSec)"; + } + leaf accelerated-advertisement-threshold { + type uint32; + description + "Advertisement Accelerated Threshold (%)"; + } + leaf accelerated-advertisement-minimum-change { + type uint32; + description + "Advertisement Accelerated Minimum Change (uSec)"; + } + leaf advertisement-logging-delay-exceeded-enabled { + type boolean; + description + "Enable emitting syslog when delay exceeds + threshold"; + } + leaf accelerated-advertisement-enabled { + type boolean; + description + "Advertisement Accelerated Enabled"; + } + leaf advertisement-threshold-check-average-delay { + type boolean; + status deprecated; + description + "Deprecated: Check Average-delay For + Advertisement Threshold Crossing.Use adv-check + instead"; + } + leaf advertisement-threshold-check-minimum-delay { + type boolean; + status deprecated; + description + "Deprecated: Check Minimum-delay For + Advertisement Threshold Crossing.Use adv-check + instead"; + } + leaf advertisement-threshold-check-maximum-delay { + type boolean; + status deprecated; + description + "Deprecated: Check Maximum-delay For + Advertisement Threshold Crossing.Use adv-check + instead"; + } + leaf anomaly-check-advertisement-upper-bound { + type uint32; + description + "Advertisement Anomaly Check Upper Bound (uSec)"; + } + leaf anomaly-check-advertisement-lower-bound { + type uint32; + description + "Advertisement Anomaly Check Lower Bound (uSec)"; + } + leaf anomaly-check-advertisement-enabled { + type boolean; + description + "Advertisement Anomaly Check Enabled"; + } + } + + grouping PM-DELAY-PROFILE-BAG { + description + "PM Delay Profile bag"; + container interface-delay-profile { + description + "Profile of Interface delay measurement"; + uses PM-DELAY-TRANSPORT-PROFILE-BAG; + } + container sr-policy-delay-profile { + description + "Profile of SR Policy delay measurement"; + uses PM-DELAY-TRANSPORT-PROFILE-BAG; + } + container rsvp-te-delay-profile { + description + "Profile of RSVP-TE delay measurement"; + uses PM-DELAY-TRANSPORT-PROFILE-BAG; + } + container endpoint-delay-profile { + description + "Profile of Endpoint delay measurement"; + uses PM-DELAY-TRANSPORT-PROFILE-BAG; + } + } + + grouping PM-PROFILE-BAG { + description + "PM Profile bag"; + container delay-profile { + description + "Profile info of delay measurement"; + uses PM-DELAY-PROFILE-BAG; + } + container loss-profile { + description + "Profile info of loss measurement"; + uses PM-LOSS-PROFILE-BAG; + } + container liveness-profile { + description + "Profile info of liveness detection"; + uses PM-LIVENESS-PROFILE-BAG; + } + } + + grouping PM-INTF-LAST-ADVERT-BAG { + description + "PM interface delay last advertisement bag"; + container last-advertisement { + description + "Last advertisement info for delay measurement"; + uses PM-SCB-LAST-ADVERT-BAG; + } + } + + grouping PM-INTF-LAST-PROBE-BAG { + description + "PM interface delay last probe bag"; + container last-probe { + description + "Last probe info for delay measurement"; + uses PM-PROBE-SAMPLE-BAG; + } + } + + grouping PM-INTF-LAST-AGGR-BAG { + description + "PM interface delay last aggregation bag"; + container last-aggregation { + description + "Last aggregation interval"; + uses PM-AGGR-SAMPLE-BAG; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf interface-handle { + type uint32; + description + "Interface handle"; + } + } + + grouping PM-INTF-HISTORY-BAG { + description + "PM interface history bag"; + container history-info { + description + "History info of the interface"; + uses PM-HISTORY-SAMPLE-UNION; + } + leaf interface-name-xr { + type string; + description + "Name of the interface"; + } + leaf interface-handle { + type uint32; + description + "Ifhandle of the interface"; + } + } + + grouping PM-LOSS-ADVERTISEMENT-BAG { + description + " PM loss advertisement"; + leaf loss-percentage { + type uint32; + units "percentage"; + description + "Packet loss percentage"; + } + leaf timestamp-of-advertisement { + type uint64; + description + "Advertisement timestamp"; + } + leaf advertisement-reason { + type Pm-advert-reason; + description + "Advertisement reason"; + } + } + + grouping PM-LOSS-WINDOW-BAG { + description + "PM loss window"; + leaf last-tx-packet-counter { + type uint64; + description + "Last TX packet counter"; + } + leaf last-rx-packet-counter { + type uint64; + description + "Last RX packet counter"; + } + leaf current-packet-tx-in-window { + type uint64; + description + "Current packet TX in window"; + } + leaf current-packet-rx-in-window { + type uint64; + description + "Current packet RX in window"; + } + leaf loss-percentage { + type uint32; + units "percentage"; + description + "Packet loss percentage"; + } + } + + grouping PM-INTF-LOSS-SUB-SESSION-BAG { + description + "Interface loss-measurement sub-session bag"; + container probe-window { + description + "Probe window loss"; + uses PM-LOSS-WINDOW-BAG; + } + container periodic-window { + description + "Periodic window loss"; + uses PM-LOSS-WINDOW-BAG; + } + leaf interface-name { + type string; + description + "Interface name"; + } + leaf interface-handle { + type uint32; + description + "Interface handle"; + } + leaf interface-state-is-up { + type boolean; + description + "True if interface state is up"; + } + leaf session-id { + type uint32; + description + "Session ID"; + } + leaf rolling-average { + type uint32; + description + "Rolling average"; + } + } + + grouping PM-INTF-LOSS-SESSION-BAG { + description + "Interface loss-measurement session"; + container probe-window { + description + "Probe window loss"; + uses PM-LOSS-WINDOW-BAG; + } + container periodic-window { + description + "Periodic window loss"; + uses PM-LOSS-WINDOW-BAG; + } + container advertisement { + description + "Loss advertisement"; + uses PM-LOSS-ADVERTISEMENT-BAG; + } + leaf session-id { + type uint32; + description + "Session ID"; + } + leaf rolling-average { + type uint32; + description + "Rolling average"; + } + leaf next-probe-start-time-remaining-in-millisec { + type uint32; + units "millisecond"; + description + "Time in milliseconds until the next probe starts"; + } + leaf probe-not-running-reason { + type Pm-probe-running-error-reason; + description + "Reason why probe is not running"; + } + list interface-loss-sub-session { + description + "Interface loss-measurement sub-sessions"; + uses PM-INTF-LOSS-SUB-SESSION-BAG; + } + } + + grouping PM-INTF-BAG { + description + "PM interface bag"; + container in-use-source-ip-address { + description + "Source IP address used for PM probe packet"; + uses PM-IP-ADDR-TYPE; + } + container in-use-destination-ip-address { + description + "Destination IP address used for PM probe packet"; + uses PM-IP-ADDR-TYPE; + } + container next-hop { + description + "Nexthop address of the interface"; + uses PM-IP-ADDR-TYPE; + } + container loss-measurement-session { + description + "Loss-measurement session"; + uses PM-INTF-LOSS-SESSION-BAG; + } + leaf interface-name-xr { + type string; + description + "Name of the interface"; + } + leaf interface-handle { + type uint32; + description + "Ifhandle of the interface"; + } + leaf interface-state { + type boolean; + description + "State of the interface"; + } + leaf source-address { + type inet:ipv4-address; + description + "Source address of the interface"; + } + leaf source-v6-address { + type inet:ipv6-address; + description + "Source IPv6 Address of the interface"; + } + leaf link-local-iv6-address { + type inet:ipv6-address; + description + "Link local IPv6 of the interface"; + } + leaf source-mac-address { + type yang:mac-address; + description + "Source Mac address of the interface"; + } + leaf next-hop-mac-address { + type yang:mac-address; + description + "Next-hop Mac address of the next-hop IP address"; + } + leaf primary-vlan-tag { + type uint16; + description + "Primary VLAN Tag of the interface"; + } + leaf secondary-vlan-tag { + type uint16; + description + "Secondary VLAN Tag of the interface"; + } + list delay-measurement-session { + description + "List of all the Delay-measurement sessions of + the interface"; + uses PM-SCB-BAG; + } + } + + grouping PM-LOSS-TRANSPORT-SUMMARY-BAG { + description + "PM interface loss summary bag"; + container loss-transport-counters { + description + "TODO: PM loss counters for a transport types"; + uses PM-DELAY-COUNTERS-INFO-BAG; + } + leaf total-loss-sessions { + type uint32; + description + "Number of loss measurement sessions enabled"; + } + } + + grouping PM-LOSS-SUMMARY-BAG { + description + "PM Loss Summary bag"; + container interface-loss-summary { + description + "Interface loss summary"; + uses PM-LOSS-TRANSPORT-SUMMARY-BAG; + } + container delay-global-counters { + description + "PM delay global counters"; + uses PM-DELAY-GLOBAL-COUNTERS-BAG; + } + } + + grouping PM-DELAY-GLOBAL-COUNTERS-BAG { + description + "PM global counters"; + leaf query-packets-sent { + type uint64; + description + "Number of query packets sent"; + } + leaf query-packets-received { + type uint64; + description + "Number of received query packets"; + } + leaf received-packet-error-invalid-session-id { + type uint64; + description + "Number of received packet error caused by + invalid session ID"; + } + leaf received-packet-error-no-session { + type uint64; + description + "Number of received packet error caused by no + session"; + } + } + + grouping PM-DELAY-SESSION-COUNTER-BAG { + description + "PM delay session counter info bag"; + leaf total-delay-sessions { + type uint32; + description + "Number of delay measurement sessions enabled"; + } + leaf total-probe-running-with-error-delay-sessions { + type uint32; + description + "Number of running with error delay measurement + sessions"; + } + leaf total-probe-running-delay-sessions { + type uint32; + description + "Number of running delay measurement sessions"; + } + leaf total-probe-running-ipv4-delay-sessions { + type uint32; + description + "Number of running ipv4 delay measurement + sessions"; + } + leaf total-probe-running-ipv6-delay-sessions { + type uint32; + description + "Number of running ipv6 delay measurement + sessions"; + } + leaf total-probe-running-mpls-delay-sessions { + type uint32; + description + "Number of running mpls delay measurement + sessions"; + } + } + + grouping PM-DELAY-TRANSPORT-SUMMARY-BAG { + description + "PM interface delay summary bag"; + container delay-session-counters { + description + "PM delay session counters for a transport type"; + uses PM-DELAY-SESSION-COUNTER-BAG; + } + container delay-transport-counters { + description + "PM delay counters for a transport types"; + uses PM-DELAY-COUNTERS-INFO-BAG; + } + } + + grouping PM-DELAY-SUMMARY-BAG { + description + "PM Delay Summary bag"; + container endpoint-delay-summary { + description + "Summary of Endpoint delay measurement"; + uses PM-DELAY-TRANSPORT-SUMMARY-BAG; + } + container interface-delay-summary { + description + "Summary info of Interface delay measurement"; + uses PM-DELAY-TRANSPORT-SUMMARY-BAG; + } + container sr-policy-delay-summary { + description + "Summary of SR Policy delay measurement"; + uses PM-DELAY-TRANSPORT-SUMMARY-BAG; + } + container rsvp-te-delay-summary { + description + "Summary of RSVP-TE delay measurement"; + uses PM-DELAY-TRANSPORT-SUMMARY-BAG; + } + container delay-global-counters { + description + "Global counters for PM delay measurement"; + uses PM-DELAY-GLOBAL-COUNTERS-BAG; + } + } + + grouping PM-SUMMARY-BAG { + description + "PM Summary bag"; + container delay-summary { + description + "Summary info of delay measurement"; + uses PM-DELAY-SUMMARY-BAG; + } + container loss-summary { + description + "Loss summary"; + uses PM-LOSS-SUMMARY-BAG; + } + leaf total-endpoints { + type uint32; + description + "Number of endpoints"; + } + leaf total-interfaces { + type uint32; + description + "Number of interfaces"; + } + leaf total-sr-policies { + type uint32; + description + "Number of SR Policies"; + } + leaf total-rsvp-te-tunnels { + type uint32; + description + "Number of RSVP-TE tunnels"; + } + } + + grouping PM-SESSION-ENDPOINT-BAG { + description + "PM Endpoint session"; + container end-point-dest-address { + description + "Endpoint destination address"; + uses PM-IP-ADDR-TYPE; + } + container end-point-src-address { + description + "Endpoint source address"; + uses PM-IP-ADDR-TYPE; + } + container session { + description + "Endpoint session"; + uses PM-SCB-BAG; + } + leaf endpoint-name { + type string; + description + "Endpoint name"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf segment-list-name { + type string; + description + "Segment-list name"; + } + } + + grouping PM-SESSION-SRPOLICY-BAG { + description + "PM SR Policy session"; + container end-point-address { + description + "End point address"; + uses PM-IP-ADDR-TYPE; + } + container atomic-path { + description + "SR Policy atomic path session"; + uses PM-SRPOLICY-ATOMIC-PATH-BAG; + } + leaf color { + type uint32; + description + "Color"; + } + leaf policy-name { + type string; + description + "Policy name"; + } + leaf instance { + type uint32; + description + "Session instance"; + } + leaf preference { + type uint32; + description + "Preference"; + } + leaf origin { + type Pm-xtc-srpolicy-origin; + description + "Protocol origin"; + } + leaf discriminator { + type uint32; + description + "Discriminator"; + } + leaf segment-list-name { + type string; + description + "Segment-list name"; + } + } + + grouping PM-SESSION-RSVPTE-BAG { + description + "PM RSVP-TE session"; + container lsp-session { + description + "RSVP-TE LSP session"; + uses PM-RSVPTE-LSP-DELAY-BAG; + } + leaf tunnel-name { + type string; + description + "RSVP-TE tunnel name"; + } + leaf interface-handle { + type uint32; + description + "Interface handle"; + } + } + + grouping PM-SESSION-INTF-BAG { + description + "PM interface session"; + container next-hop { + description + "Nexthop address"; + uses PM-IP-ADDR-TYPE; + } + container session { + description + "Interface session"; + uses PM-SCB-BAG; + } + leaf interface-name { + type string; + description + "Interface name"; + } + leaf interface-handle { + type uint32; + description + "Interface handle"; + } + } + + grouping PM-SESSION-BAG-UNION { + description + "PM session union"; + container interface-session { + when "../type = 'interface-transport-type'" { + description + "../type = 'InterfaceTransportType'"; + } + description + "Interface session"; + uses PM-SESSION-INTF-BAG; + } + container rsvpte-tunnel-session { + when "../type = 'rsvp-te-transport-type'" { + description + "../type = 'RSVP_TETransportType'"; + } + description + "RSVP-TE tunnel session"; + uses PM-SESSION-RSVPTE-BAG; + } + container sr-policy-session { + when "../type = 'sr-policy-transport-type'" { + description + "../type = 'SRPolicyTransportType'"; + } + description + "SR Policy session"; + uses PM-SESSION-SRPOLICY-BAG; + } + container endpoint-session { + when "../type = 'endpoiont-transport-type'" { + description + "../type = 'EndpoiontTransportType'"; + } + description + "Endpoint session"; + uses PM-SESSION-ENDPOINT-BAG; + } + leaf type { + type Pm-transport; + description + "type"; + } + } + + grouping PM-SESSION-BAG { + description + "PM session"; + container session { + description + "Session union"; + uses PM-SESSION-BAG-UNION; + } + leaf measurement-type { + type Pm-measurement; + description + "Measurement type"; + } + } + + grouping PM-SCB-BAG { + description + "PM interface delay measurement session bag"; + container current-probe { + description + "Information for the current probe"; + uses PM-SCB-PROBE-BAG; + } + container session-counters { + description + "Counters info for the session"; + uses PM-DELAY-COUNTERS-INFO-BAG; + } + container last-advertisement-information { + description + "Last advertisement information of the session"; + uses PM-SCB-LAST-ADVERT-BAG; + } + container next-advertisement-information { + description + "Next advertisement information of the session"; + uses PM-SCB-NEXT-ADVERT-BAG; + } + container last-notification-control-code { + description + "Last notifcation control code received of the + session"; + uses PM-SCB-CONTROL-CODE; + } + container last-error-control-code { + description + "Last error control code received of the session"; + uses PM-SCB-CONTROL-CODE; + } + container responder-address { + description + "Address of the Responder"; + uses PM-IP-ADDR-TYPE; + } + leaf session-id { + type uint32; + description + "ID of the session"; + } + leaf transport-type { + type Pm-transport; + description + "Transport Type of the session"; + } + leaf measurement-type { + type Pm-measurement; + description + "Measurement Type of the session"; + } + leaf profile-name { + type string; + description + "Interface delay-measurement profile name"; + } + leaf periodic-advertisement-interval-in-sec { + type uint32; + units "second"; + description + "Interval of periodic advertisement in seconds"; + } + leaf query-number-of-hops { + type uint8; + description + "Number of hops traversed by the query packet"; + } + list probe-history { + description + "Current probe history"; + uses PM-SCB-SAMPLE-BAG; + } + } + + grouping PM-ENDPOINT-DETAIL-SEGMENT-LIST-BAG { + description + "PM Endpoint segment-list bag"; + leaf segment-list-name { + type string; + description + "Name of the segment-list"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + list delay-measurement-session { + description + "List of all the Delay-measurement sessions of + this segment-list"; + uses PM-SCB-BAG; + } + } + + grouping PM-ENDPOINT-CONSOLIDATED-DETAIL-BAG { + description + "PM endpoint consolidated details bag"; + leaf ep-cons-profile-name { + type string; + description + "Endpoint delay-measurement profile name"; + } + list ep-segment-list { + description + "List of segment-lists in the endpoint"; + uses PM-ENDPOINT-DETAIL-SEGMENT-LIST-BAG; + } + } + + grouping PM-ENDPOINT-DETAIL { + description + "PM Endpoint instance"; + container end-point-address { + description + "IPv4/IPv6 End point address"; + uses PM-IP-ADDR-TYPE; + } + container end-point-session-source-address { + description + "IPv4/IPv6 End point session source address"; + uses PM-IP-ADDR-TYPE; + } + leaf endpoint-name { + type string; + description + "Name of the endpoint session"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf description { + type string; + description + "Endpoint Description"; + } + list ep-consolidated-detail { + description + "Consolidated Details to hold all segment lists + of this endpoint"; + uses PM-ENDPOINT-CONSOLIDATED-DETAIL-BAG; + } + } + + grouping PM-ENDPOINT-COMMON { + description + "PM Endpoint common bag"; + leaf endpoint-name-xr { + type string; + description + "Name of the endpoint session"; + } + list endpoint-delay { + description + "List of Endpoint delay measurement"; + uses PM-ENDPOINT-DETAIL; + } + list endpoint-liveness { + description + "List of Endpoint liveness"; + uses PM-ENDPOINT-LIVENESS; + } + } + + grouping PM-ENDPOINT-SEGMENT-LIST-COUNTERS-BAG { + description + "PM endpoint segment-list counters bag"; + container counters { + description + "Segment-list counters"; + uses PM-DELAY-COUNTERS-INFO-BAG; + } + leaf segment-list-name { + type string; + description + "Segment-list name, not set if path is dynamic"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + } + + grouping PM-ENDPOINT-CONSOLIDATED-COUNTERS-DATA-BAG { + description + "PM endpoint consolidated counters data bag"; + list segment-list-counter { + description + "List of counters for segment-lists in this + consolidated data"; + uses PM-ENDPOINT-SEGMENT-LIST-COUNTERS-BAG; + } + } + + grouping PM-ENDPOINT-COUNTERS-BAG { + description + "PM endpoint counters bag"; + leaf endpoint-name-xr { + type string; + description + "Name of the endpoint session"; + } + list consolidated-counters-data { + description + "List of consolidated data counters"; + uses PM-ENDPOINT-CONSOLIDATED-COUNTERS-DATA-BAG; + } + } + + grouping PM-ENDPOINT-HISTORY-SEGMENT-LIST-BAG { + description + "PM endpoint segment-list history bag"; + container history-info { + description + "History info of the segment-list"; + uses PM-HISTORY-SAMPLE-UNION; + } + leaf segment-list-name { + type string; + description + "Segment-list name, not set if path is dynamic"; + } + } + + grouping PM-ENDPOINT-HISTORY-BAG { + description + "PM endpoint history bag"; + container end-point-address { + description + "IPv4/IPv6 End point address"; + uses PM-IP-ADDR-TYPE; + } + container end-point-session-source-address { + description + "IPv4/IPv6 End point session source address"; + uses PM-IP-ADDR-TYPE; + } + leaf endpoint-name-xr { + type string; + description + "Name of the endpoint session"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf ep-liveness-detection-enabled { + type boolean; + description + "True if liveness detection is enabled for the + endpoint"; + } + list ep-segment-lists-history { + description + "List of segment-lists"; + uses PM-ENDPOINT-HISTORY-SEGMENT-LIST-BAG; + } + } + + grouping PM-ENDPOINT-SEGMENT-LIST-METRICS-BAG { + description + "PM Endpoint segment-list metrics bag"; + container metrics { + description + "Segment-list metrics"; + uses PM-VALUES-BAG; + } + leaf segment-list-name { + type string; + description + "Segment-list name, not set if path is dynamic"; + } + leaf timestamp { + type uint64; + units "millisecond"; + description + "Time when the metrics were computed + (milliseconds since Jan. 1, 1970)"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + } + + grouping PM-ENDPOINT-CONSOLIDATED-METRICS-BAG { + description + "PM Endpoint consolidated metrics bag"; + list ep-segment-list { + description + "List of segment-lists"; + uses PM-ENDPOINT-SEGMENT-LIST-METRICS-BAG; + } + } + + grouping PM-ENDPOINT-METRICS-BAG { + description + "PM Endpoint metrics bag"; + leaf endpoint-name-xr { + type string; + description + "Name of the Endpoint"; + } + list ep-consolidated-metric { + description + "List of Consolidated Metrics of all segment + lists"; + uses PM-ENDPOINT-CONSOLIDATED-METRICS-BAG; + } + } + + grouping PM-ENDPOINT-LIVENESS-SEGMENT-LIST-BAG { + description + "PM endpoint liveness segment list bag"; + container ep-liveness-info { + description + "Information of endpoint liveness detection + session"; + uses PM-LIVENESS-STATE-INFO-BAG; + } + leaf segment-list-name { + type string; + description + "Name of the segment-list"; + } + leaf session-id { + type uint32; + description + "ID of the session"; + } + leaf liveness-detection-enabled { + type boolean; + description + "Liveness detection is enabled"; + } + leaf probe-not-running-reason { + type Pm-probe-running-error-reason; + description + "Reason why probe is not running"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + } + + grouping PM-ENDPOINT-CONSOLIDATED-LIVENESS-BAG { + description + "PM endpoint consolidated liveness bag"; + leaf ep-live-profile-name { + type string; + description + "Endpoint liveness-detection profile name"; + } + list ep-liveness-segment-list { + description + "List of liveness segment-lists in the endpoint"; + uses PM-ENDPOINT-LIVENESS-SEGMENT-LIST-BAG; + } + } + + grouping PM-ENDPOINT-LIVENESS { + description + "PM Endpoint liveness-detection bag"; + container end-point-address { + description + "IPv4/IPv6 End point address"; + uses PM-IP-ADDR-TYPE; + } + container end-point-session-source-address { + description + "IPv4/IPv6 End point session source address"; + uses PM-IP-ADDR-TYPE; + } + leaf endpoint-name-xr { + type string; + description + "Name of the endpoint session"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + list ep-consolidated-liveness { + description + "Consolidated liveness details of this endpoint"; + uses PM-ENDPOINT-CONSOLIDATED-LIVENESS-BAG; + } + } + + grouping PM-CAP-HW-OFFLOAD-INFO { + description + "PM hardware offload capability informaation bag"; + leaf hardware-offload-npu-count { + type uint32; + description + "Number of NPU available for Hardware Offload"; + } + leaf hardware-offload-max-supported-inject-pps-limit-per-npu { + type uint32; + units "packet/s"; + description + "Packets per second limit for Hardware Offload + inject per NPU"; + } + leaf hardware-offload-min-supported-inject-interval-per-npu { + type uint32; + description + "Interval in msec supported for Hardware Offload + per NPU"; + } + leaf hardware-offload-maxupported-session-number-per-npu { + type uint32; + description + "Max number of sessions supported for Hardware + Offload per NPU"; + } + } + + grouping PM-CAP-PDDLL-INFO { + description + "PM PD-DLL capability informaation bag"; + leaf pd-dll-max-supported-inject-pps-limit { + type uint32; + units "packet/s"; + description + "Packets per second limit for PD-DLL inject"; + } + leaf pd-dll-min-supported-inject-interval { + type uint32; + description + "Interval in msec supported for PD-DLL inject"; + } + } + + grouping PM-CAP-SPIO-INFO { + description + "PM SPIO capability informaation bag"; + leaf spio-max-supported-inject-pps-limit { + type uint32; + units "packet/s"; + description + "Packets per second limit for SPIO inject"; + } + leaf spio-min-supported-inject-interval { + type uint32; + description + "Interval in msec supported for SPIO inject"; + } + } + + grouping PM-CAP-NETIO-INFO { + description + "PM NETIO capability informaation bag"; + leaf netio-max-supported-inject-pps-limit { + type uint32; + units "packet/s"; + description + "Packets per second limit for NETIO inject"; + } + leaf netio-min-supported-inject-interval { + type uint32; + description + "Interval in msec supported for NETIO inject"; + } + } + + grouping PM-CAPABILITY-INFO { + description + "Performance-measurement capability information"; + container netio-capability-info { + description + "Capability information for NETIO"; + uses PM-CAP-NETIO-INFO; + } + container spio-capability-info { + description + "Capability information for SPIO"; + uses PM-CAP-SPIO-INFO; + } + container pd-dll-capability-info { + description + "Capability information for PD-DLL"; + uses PM-CAP-PDDLL-INFO; + } + container hardware-offload-capability-info { + description + "Capability information for Hardware offload"; + uses PM-CAP-HW-OFFLOAD-INFO; + } + leaf netio-supported { + type boolean; + description + "True if NETIO is supported on this location for + Performance-measurement"; + } + leaf spio-supported { + type boolean; + description + "True if SPIO is supported on this location for + Performance-measurement"; + } + leaf pd-dll-supported { + type boolean; + description + "True if PD-DLL is supported on this location for + Performance-measurement"; + } + leaf hardware-offload-supported { + type boolean; + description + "True if Hardware Offload is supported on this + location for Performance-measurement"; + } + leaf remote-punt-supportec { + type boolean; + description + "True if packet remote punt is supported on this + location for Performance-measurement"; + } + leaf linecard-distribution-supported { + type boolean; + description + "True if linecard distribution is supported on + this location"; + } + } + + grouping PM-CAPABILITY-BAG { + description + "PM Capability information bag"; + container performance-measurement-capability-info { + description + "PM capability info"; + uses PM-CAPABILITY-INFO; + } + leaf performance-measurement-supported { + type boolean; + description + "True if performance-measurement is supported on + this location"; + } + } + + grouping PM-RSVPTE-LSP-HISTORY-BAG { + description + "PM RSVP-TE LSP history bag"; + container history-union { + description + "History info of the RSVP-TE LSP"; + uses PM-HISTORY-SAMPLE-UNION; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + } + + grouping PM-RSVPTE-HISTORY-BAG { + description + "PM RSVP-TE tunnel history bag"; + leaf tunnel-name-xr { + type string; + description + "RSVP-TE tunnel name"; + } + list lsp { + description + "List of LSPs"; + uses PM-RSVPTE-LSP-HISTORY-BAG; + } + } + + grouping PM-RSVPTE-LSP-DELAY-METRICS-BAG { + description + "PM RSVP-TE LSP delay metrics bag"; + container metrics { + description + "LSP metrics"; + uses PM-VALUES-BAG; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf timestamp { + type uint64; + units "millisecond"; + description + "Time when the metrics were computed + (milliseconds since Jan. 1, 1970)"; + } + } + + grouping PM-RSVPTE-DELAY-METRICS-BAG { + description + "PM RSVP-TE tunnel delay metrics bag"; + leaf tunnel-name-xr { + type string; + description + "RSVP-TE tunnel name"; + } + list lsp { + description + "List of LSPs"; + uses PM-RSVPTE-LSP-DELAY-METRICS-BAG; + } + } + + grouping PM-RSVPTE-LSP-DELAY-BAG { + description + "PM RSVP-TE LSP delay bag"; + container last-probe-results { + description + "Last probe results of LSP"; + uses PM-SCB-PROBE-RESULTS-BAG; + } + container current-probe { + description + "Information for the current probe of the LSP"; + uses PM-SCB-PROBE-BAG; + } + container last-advertisement-information { + description + "Last advertisement information of the RSVP-TE + LSP"; + uses PM-SCB-LAST-ADVERT-BAG; + } + container next-advertisement-information { + description + "Next advertisement information of the RSVP-TE + LSP"; + uses PM-SCB-NEXT-ADVERT-BAG; + } + container last-notification-control-code { + description + "Last notifcation control code received of the + RSVP-TE LSP"; + uses PM-SCB-CONTROL-CODE; + } + container last-error-control-code { + description + "Last error control code received of the RSVP-TE + LSP"; + uses PM-SCB-CONTROL-CODE; + } + container responder-address { + description + "Address of the Responder"; + uses PM-IP-ADDR-TYPE; + } + leaf session-id { + type uint32; + description + "Session ID of the LSP"; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + leaf lsp-source-ipv4-address { + type inet:ipv4-address; + description + "LSP Source IPv4 Address"; + } + leaf periodic-advertisement-interval-in-sec { + type uint32; + units "second"; + description + "Interval of periodic advertisement in seconds"; + } + leaf query-number-of-hops { + type uint8; + description + "Number of hops traversed by the query packet"; + } + list probe-history { + description + "Current probe history of the LSP"; + uses PM-SCB-SAMPLE-BAG; + } + } + + grouping PM-RSVPTE-BAG { + description + "PM RSVP-TE bag"; + leaf tunnel-name-xr { + type string; + description + "RSVP-TE tunnel name"; + } + leaf interface-handle { + type uint32; + description + "Ifhandle of the tunnel"; + } + leaf tunnel-destination-ipv4-address { + type inet:ipv4-address; + description + "IPv4 address destination of the tunnel"; + } + list rsvptelsp-delay-session { + description + "RSVP-TE LSP delay-measurement sessions"; + uses PM-RSVPTE-LSP-DELAY-BAG; + } + } + + grouping PM-RSVPTE-LSP-DELAY-COUNTERS-BAG { + description + "RSVP-TE LSP delay counters bag"; + container counters { + description + "LSP counters"; + uses PM-DELAY-COUNTERS-INFO-BAG; + } + leaf lsp-id { + type uint32; + description + "LSP ID"; + } + } + + grouping PM-RSVPTE-COUNTERS-BAG { + description + "RSVP-TE tunnel counters bag"; + leaf tunnel-name-xr { + type string; + description + "RSVP-TE tunnel name"; + } + list rsvptelsp-delay-counter { + description + "List of LSPs"; + uses PM-RSVPTE-LSP-DELAY-COUNTERS-BAG; + } + } + + grouping PM-SRPOLICY-SEGMENT-LIST-COUNTERS-BAG { + description + "PM segment-list counters bag"; + container counters { + description + "Segment-list counters"; + uses PM-DELAY-COUNTERS-INFO-BAG; + } + leaf segment-list-name { + type string; + description + "Segment-list name, not set if path is dynamic"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + } + + grouping PM-ENDPOINT-EXCLUSIVE-DELAY-COUNTERS-INFO-BAG { + description + "PM exclusive counters bag for Endpoint delay"; + leaf query-packets-sent-error-sl-label-missing { + type uint64; + description + "Number of query packets sent error caused by + Missing Segment list Labels"; + } + leaf liveness-detection-missed-count { + type uint64; + description + "Number of missed packets"; + } + } + + grouping PM-SRPOLICY-EXCLUSIVE-DELAY-COUNTERS-INFO-BAG { + description + "PM exclusive counters bag for SR Policy delay"; + leaf liveness-detection-missed-count { + type uint64; + description + "Number of missed packets"; + } + } + + grouping PM-INTF-EXCLUSIVE-DELAY-COUNTERS-INFO-BAG { + description + "PM exclusive counters bag for interface delay"; + leaf query-packet-sent-error-interface-down { + type uint64; + description + "Number of query packets sent error caused by + interface down"; + } + leaf query-packet-sent-error-no-mpls-caps { + type uint64; + description + "Number of query packets sent error caused by no + MPLS caps"; + } + leaf query-packet-sent-error-ipv4-down-with-v4-next-hop { + type uint64; + description + "Number of query packets sent error caused by + IPv4 protocl in down state with configured IPv4 + next hop"; + } + leaf query-packet-sent-error-ipv6-down-with-v6-next-hop { + type uint64; + description + "Number of query packets sent error caused by + IPv6 protocl in down state with configured IPv6 + next hop"; + } + leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop { + type uint64; + description + "Number of query packets sent error caused by + both IPv4 and IPv6 protocl in down state without + configured next hop"; + } + leaf query-packet-sent-error-next-hop-mac-missing { + type uint64; + description + "Number of query packets sent error caused by + missing next hop MAC"; + } + } + + grouping PM-EXCLUSIVE-DELAY-COUNTERS-INFO-UNION { + description + "Counters info type for interface, RSVP-TE LSP, SR + Policy and Endpoint"; + container interface-exclusive-counters { + when "../transport-type = 'interface-transport-type'" { + description + "../TransportType = 'InterfaceTransportType'"; + } + description + "Counters exclusive for interface"; + uses PM-INTF-EXCLUSIVE-DELAY-COUNTERS-INFO-BAG; + } + container sr-policy-exclusive-counters { + when "../transport-type = 'sr-policy-transport-type'" { + description + "../TransportType = 'SRPolicyTransportType'"; + } + description + "Counters exclusive for SR Policies"; + uses PM-SRPOLICY-EXCLUSIVE-DELAY-COUNTERS-INFO-BAG; + } + container endpoint-exclusive-counters { + when "../transport-type = 'endpoiont-transport-type'" { + description + "../TransportType = 'EndpoiontTransportType'"; + } + description + "Counters exclusive for Endpoint"; + uses PM-ENDPOINT-EXCLUSIVE-DELAY-COUNTERS-INFO-BAG; + } + leaf transport-type { + type Pm-transport; + description + "TransportType"; + } + } + + grouping PM-QUERIER-DELAY-COUNTERS-BAG { + description + "PM delay querier counters"; + leaf query-packets-sent { + type uint64; + description + "Number of query packets sent"; + } + leaf query-packet-sent-errors { + type uint64; + description + "Number of query packets sent error"; + } + leaf query-packet-sent-error-no-ip-address { + type uint64; + description + "Number of query packets sent error caused by no + IP address"; + } + leaf query-packets-received { + type uint64; + description + "Number of received query packets"; + } + leaf received-packet-error-negative-delay { + type uint64; + description + "Number of packet error caused by receiving + negative delay"; + } + leaf received-packet-error-delay-exceeds-threshold { + type uint64; + description + "Number of packet error caused by measured delay + is invalid due to exceeding threshold"; + } + leaf received-packet-error-missing-tx-timestamp { + type uint64; + description + "Number of packet error caused by received packet + is missing Tx timestamp"; + } + leaf received-packet-error-missing-rx-timestamp { + type uint64; + description + "Number of packet error caused by received packet + is missing Rx timestamp"; + } + leaf received-packet-error-probe-full { + type uint64; + description + "Number of packet error caused by receiving + packet when probe is full"; + } + leaf received-packet-error-probe-not-started { + type uint64; + description + "Number of packet error caused by receiving + packet when probe is not started"; + } + leaf received-packet-control-code-error { + type uint64; + description + "Number of packet error caused by a control code + error from responder"; + } + leaf received-packet-control-code-notification { + type uint64; + description + "Number of packet error caused by a control code + notification from responder"; + } + leaf probes-started { + type uint64; + description + "Number of probes started"; + } + leaf probes-complete { + type uint64; + description + "Number of probes completed"; + } + leaf probes-incomplete { + type uint64; + description + "Number of probes incomplete"; + } + leaf advertisement { + type uint64; + description + "Number of advertisements"; + } + } + + grouping PM-DELAY-COUNTERS-INFO-BAG { + description + "PM delay counters info bag"; + container generic-counters { + description + "Generic counters for a PM interface instance"; + uses PM-QUERIER-DELAY-COUNTERS-BAG; + } + container exclusive-counters { + description + "Exclusive counters for a PM interface instance"; + uses PM-EXCLUSIVE-DELAY-COUNTERS-INFO-UNION; + } + } + + grouping PM-SRPOLICY-CANDIDATE-PATH-COUNTERS-BAG { + description + "PM candidate-path counters bag"; + container counters { + description + "Candidate-path counters"; + uses PM-DELAY-COUNTERS-INFO-BAG; + } + leaf instance { + type uint32; + description + "Session instance"; + } + leaf preference { + type uint32; + description + "Preference of the candidate-path"; + } + leaf origin { + type Pm-xtc-srpolicy-origin; + description + "Protocol origin"; + } + leaf discriminator { + type uint32; + description + "Discriminator of the candidate-path"; + } + list segment-list-counter { + description + "List of counters for segment-lists in this + candidate-path"; + uses PM-SRPOLICY-SEGMENT-LIST-COUNTERS-BAG; + } + } + + grouping PM-SRPOLICY-COUNTERS-BAG { + description + "PM SR Policy counters bag"; + leaf policy-name-xr { + type string; + description + "Name of the SR Policy"; + } + list candidate-counter { + description + "List of candidate path counters"; + uses PM-SRPOLICY-CANDIDATE-PATH-COUNTERS-BAG; + } + } + + grouping PM-SRPOLICY-ATOMIC-PATH-LIVENESS { + description + "PM SR Policy atomic path liveness detection bag"; + container liveness-detection-info { + description + "Information of liveness detection session state"; + uses PM-LIVENESS-STATE-INFO-BAG; + } + list hop-address { + description + "Hop addresses list"; + uses PM-IP-ADDR-TYPE; + } + list label { + description + "MPLS labels"; + leaf entry { + type uint32; + description + "MPLS labels"; + } + } + } + + grouping PM-SRPOLICY-SEGMENT-LIST-LIVENESS { + description + "PM SR Policy segment-list liveness detection bag"; + container liveness-detection-info { + description + "Information of liveness detection session state"; + uses PM-LIVENESS-STATE-INFO-BAG; + } + leaf segment-list-name { + type string; + description + "Segment-list name, not set if path is dynamic"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + list atomic-path { + description + "List of atomic paths"; + uses PM-SRPOLICY-ATOMIC-PATH-LIVENESS; + } + } + + grouping PM-SRPOLICY-CANDIDATE-PATH-LIVENESS { + description + "PM SR Policy candidate-path liveness detection + bag"; + container liveness-detection-info { + description + "Information of liveness detection session state"; + uses PM-LIVENESS-STATE-INFO-BAG; + } + leaf instance { + type uint32; + description + "Session instance"; + } + leaf preference { + type uint32; + description + "Preference of the candidate-path"; + } + leaf origin { + type Pm-xtc-srpolicy-origin; + description + "Protocol origin"; + } + leaf discriminator { + type uint32; + description + "Discriminator of the candidate-path"; + } + list segment-list { + description + "List of segment-lists"; + uses PM-SRPOLICY-SEGMENT-LIST-LIVENESS; + } + } + + grouping PM-SRPOLICY-LIVENESS { + description + "PM SR Policy liveness detection bag"; + container end-point-address { + description + "IPv4/IPv6 End point address"; + uses PM-IP-ADDR-TYPE; + } + leaf policy-name { + type string; + description + "Name of the SR Policy"; + } + leaf color { + type uint32; + description + "Color"; + } + leaf liveness-detection-enabled { + type boolean; + description + "True if liveness detection is enabled for the + policy"; + } + list candidate-path { + description + "List of candidate-paths"; + uses PM-SRPOLICY-CANDIDATE-PATH-LIVENESS; + } + } + + grouping PM-SRPOLICY-HISTORY-ATOMIC-PATH-BAG { + description + "PM SR Policy atomic path history bag"; + container history-info { + description + "History info of the atomic path "; + uses PM-HISTORY-SAMPLE-UNION; + } + list hop-address { + description + "Hop addresses list"; + uses PM-IP-ADDR-TYPE; + } + } + + grouping PM-SRPOLICY-HISTORY-SEGMENT-LIST-BAG { + description + "PM SR Policy segment-list history bag"; + container history-info { + description + "History info of the segment-list"; + uses PM-HISTORY-SAMPLE-UNION; + } + leaf segment-list-name { + type string; + description + "Segment-list name, not set if path is dynamic"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + list atomic-paths-history { + description + "List of atomic paths"; + uses PM-SRPOLICY-HISTORY-ATOMIC-PATH-BAG; + } + } + + grouping PM-LM-ADV-SAMPLE-BAG { + description + "LM advertisement sample"; + leaf timestamp { + type uint64; + units "millisecond"; + description + "Timestamp (milliseconds since Jan. 1, 1970)"; + } + leaf advertisement-reason { + type Pm-advert-reason; + description + "Advertisement reason"; + } + leaf loss-percentage { + type uint32; + units "percentage"; + description + "Packet loss percentage"; + } + } + + grouping PM-LM-ADV-HISTORY-BAG { + description + "PM LM advertisement history"; + list lm-advertisement-history { + description + "LM advertisement history"; + uses PM-LM-ADV-SAMPLE-BAG; + } + } + + grouping PM-LM-AGGR-SAMPLE-BAG { + description + "LM probe sample"; + leaf timestamp { + type uint64; + units "millisecond"; + description + "Timestamp (milliseconds since Jan. 1, 1970)"; + } + leaf num-sent-packet { + type uint64; + description + "Number of packets been sent in this aggregation + interval"; + } + leaf num-received-packet { + type uint64; + description + "Number of packets been received in this + aggregation interval"; + } + leaf loss-percentage { + type uint32; + units "percentage"; + description + "Packet loss percentage"; + } + } + + grouping PM-LM-AGGR-HISTORY-BAG { + description + "PM LM aggregation history"; + list lm-aggregated-hisotry { + description + "LM aggregation history"; + uses PM-LM-AGGR-SAMPLE-BAG; + } + } + + grouping PM-LM-PKT-SAMPLE-BAG { + description + "LM packet sample"; + leaf timestamp { + type uint64; + units "millisecond"; + description + "Timestamp (milliseconds since Jan. 1, 1970)"; + } + leaf tx-counter { + type uint64; + description + "TX counter"; + } + leaf rx-counter { + type uint64; + description + "RX RX counter"; + } + } + + grouping PM-LM-PKT-HISTORY-BAG { + description + "PM LM packet history"; + list lm-packet-hisotry { + description + "LM packet history"; + uses PM-LM-PKT-SAMPLE-BAG; + } + } + + grouping PM-LM-PROBE-SAMPLE-BAG { + description + "LM probe sample"; + leaf timestamp { + type uint64; + units "millisecond"; + description + "Timestamp (milliseconds since Jan. 1, 1970)"; + } + leaf num-sent-packet { + type uint64; + description + "Number of packets been sent in this probe + interval"; + } + leaf num-received-packet { + type uint64; + description + "Number of packets been received in this probe + interval"; + } + leaf loss-percentage { + type uint32; + units "percentage"; + description + "Packet loss percentage"; + } + } + + grouping PM-LM-PROBE-HISTORY-BAG { + description + "PM LM probe history"; + list lm-probe-hisotry { + description + "LM probe history"; + uses PM-LM-PROBE-SAMPLE-BAG; + } + } + + grouping PM-LIVE-SAMPLE-BAG { + description + "PM liveness session history bag"; + leaf liveness-state-change-timestamp { + type uint64; + description + "Time liveness session state was changed"; + } + leaf liveness-state-is-up { + type boolean; + description + "True if liveness session is in UP state"; + } + leaf sent-notification-to-fib { + type boolean; + description + "True if session up/down notification was sent to + FIB"; + } + leaf local-label { + type uint32; + description + "Local label"; + } + } + + grouping PM-LIVE-HISTORY-BAG { + description + "PM liveness history"; + list liveness-hisotry { + description + "List of records of liveness history"; + uses PM-LIVE-SAMPLE-BAG; + } + } + + grouping PM-ADV-SAMPLE-BAG { + description + "PM advertisement history bag"; + container advertised-values { + description + "Advertised delay information"; + uses PM-VALUES-BAG; + } + leaf advertisement-timestamp { + type uint64; + units "millisecond"; + description + "Time advertisement was done (milliseconds since + Jan. 1, 1970)"; + } + leaf advertisement-reason { + type Pm-advert-reason; + description + "Reason for advertisement"; + } + } + + grouping PM-ADV-HISTORY-BAG { + description + "PM advertisement history"; + list advertisement-history { + description + "List of samples of advertisement history records"; + uses PM-ADV-SAMPLE-BAG; + } + } + + grouping PM-AGGR-SAMPLE-BAG { + description + "PM aggregated delay probe history bag"; + container aggregated-probe-values { + description + "Summarised results of the aggregated probe"; + uses PM-VALUES-BAG; + } + leaf aggregation-timestamp { + type uint64; + units "millisecond"; + description + "Time probe aggregation was done (milliseconds + since Jan. 1, 1970)"; + } + } + + grouping PM-AGGR-HISTORY-BAG { + description + "PM aggregated history"; + list aggregated-history { + description + "List of samples of aggregation history records"; + uses PM-AGGR-SAMPLE-BAG; + } + } + + grouping PM-PROBE-SAMPLE-BAG { + description + "PM delay probe history bag"; + container probe-values { + description + "Summarized results of the probe"; + uses PM-VALUES-BAG; + } + leaf probe-start-timestamp { + type uint64; + units "millisecond"; + description + "Time last probe started (milliseconds since Jan. + 1, 1970)"; + } + leaf packets-sent { + type uint32; + description + "Number of query packets sent"; + } + leaf packets-received { + type uint32; + description + "Number of query Packets received"; + } + } + + grouping PM-PROBE-HISTORY-BAG { + description + "PM probe history"; + list probe-history { + description + "List of samples of probe history records"; + uses PM-PROBE-SAMPLE-BAG; + } + } + + grouping PM-HISTORY-SAMPLE-UNION { + description + "PM history sample union"; + container probe-history { + when "../history-type = 'history-type-probe'" { + description + "../HistoryType = 'HistoryTypeProbe'"; + } + description + "Info of delay-measurement probe history"; + uses PM-PROBE-HISTORY-BAG; + } + container aggregated-history { + when "../history-type = 'history-type-aggregated'" { + description + "../HistoryType = 'HistoryTypeAggregated'"; + } + description + "Info of delay-measurement aggregation history"; + uses PM-AGGR-HISTORY-BAG; + } + container advertisement-history { + when "../history-type = 'history-type-advertisement'" { + description + "../HistoryType = 'HistoryTypeAdvertisement'"; + } + description + "Info of delay-measurement advertisement history"; + uses PM-ADV-HISTORY-BAG; + } + container liveness-history { + when "../history-type = 'history-type-liveness-state'" { + description + "../HistoryType = 'HistoryTypeLivenessState'"; + } + description + "Info of liveness session history"; + uses PM-LIVE-HISTORY-BAG; + } + container lm-probe-history { + when "../history-type = 'history-type-lm-probe'" { + description + "../HistoryType = 'HistoryTypeLMProbe'"; + } + description + "Info of loss-measurement probe history"; + uses PM-LM-PROBE-HISTORY-BAG; + } + container lm-packet-history { + when "../history-type = 'history-type-lm-packet'" { + description + "../HistoryType = 'HistoryTypeLMPacket'"; + } + description + "Info of loss-measurement packet history"; + uses PM-LM-PKT-HISTORY-BAG; + } + container lm-aggregated-history { + when "../history-type = 'history-type-lm-aggregated'" { + description + "../HistoryType = 'HistoryTypeLMAggregated'"; + } + description + "Info of loss-measurement aggregation history"; + uses PM-LM-AGGR-HISTORY-BAG; + } + container lm-advertisement-history { + when "../history-type = 'history-type-lm-advertisement'" { + description + "../HistoryType = 'HistoryTypeLMAdvertisement'"; + } + description + "Info of loss-measurement advertisement history"; + uses PM-LM-ADV-HISTORY-BAG; + } + leaf history-type { + type Pm-history; + description + "HistoryType"; + } + } + + grouping PM-SRPOLICY-HISTORY-CANDIDATE-PATH-BAG { + description + "PM SR Policy segment-list history bag"; + container history-info { + description + "History info of the candidate-path"; + uses PM-HISTORY-SAMPLE-UNION; + } + leaf preference { + type uint32; + description + "Preference of the candidate-path"; + } + leaf origin { + type Pm-xtc-srpolicy-origin; + description + "Protocol origin"; + } + leaf discriminator { + type uint32; + description + "Discriminator of the candidate-path"; + } + list segment-lists-history { + description + "List of segment-lists"; + uses PM-SRPOLICY-HISTORY-SEGMENT-LIST-BAG; + } + } + + grouping PM-SRPOLICY-HISTORY-BAG { + description + "PM SR Policy history bag"; + container end-point-address { + description + "IPv4/IPv6 End point address"; + uses PM-IP-ADDR-TYPE; + } + leaf color { + type uint32; + description + "Color"; + } + leaf policy-name { + type string; + description + "Name of the SR Policy"; + } + list candidate-paths-history { + description + "List of candidate-paths"; + uses PM-SRPOLICY-HISTORY-CANDIDATE-PATH-BAG; + } + } + + grouping PM-SRPOLICY-METRICS-ATOMIC-PATH-BAG { + description + "PM SR Policy atomic path metrics bag"; + container metrics { + description + "Atomic Path metrics"; + uses PM-VALUES-BAG; + } + list hop-address { + description + "Hop addresses list"; + uses PM-IP-ADDR-TYPE; + } + list label { + description + "MPLS labels"; + leaf entry { + type uint32; + description + "MPLS labels"; + } + } + } + + grouping PM-SRPOLICY-SEGMENT-LIST-METRICS-BAG { + description + "PM SR Policy segment-list metrics bag"; + container metrics { + description + "Segment-list metrics"; + uses PM-VALUES-BAG; + } + leaf segment-list-name { + type string; + description + "Segment-list name, not set if path is dynamic"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + list atomic-path { + description + "List of atomic paths"; + uses PM-SRPOLICY-METRICS-ATOMIC-PATH-BAG; + } + } + + grouping PM-SRPOLICY-CANDIDATE-PATH-METRICS-BAG { + description + "PM SR Policy candidate-path metrics bag"; + container metrics { + description + "Candidate-path metrics"; + uses PM-VALUES-BAG; + } + leaf instance { + type uint32; + description + "Session instance"; + } + leaf preference { + type uint32; + description + "Preference of the candidate-path"; + } + leaf origin { + type Pm-xtc-srpolicy-origin; + description + "Protocol origin"; + } + leaf discriminator { + type uint32; + description + "Discriminator of the candidate-path"; + } + leaf timestamp { + type uint64; + units "millisecond"; + description + "Time when the metrics were computed + (milliseconds since Jan. 1, 1970)"; + } + list segment-list { + description + "List of segment-lists"; + uses PM-SRPOLICY-SEGMENT-LIST-METRICS-BAG; + } + } + + grouping PM-SRPOLICY-METRICS-BAG { + description + "PM SR Policy metrics bag"; + leaf policy-name { + type string; + description + "Name of the SR Policy"; + } + list candidate-path { + description + "List of candidate-paths"; + uses PM-SRPOLICY-CANDIDATE-PATH-METRICS-BAG; + } + } + + grouping PM-SCB-SAMPLE-BAG { + description + "PM delay probe sample bag"; + leaf measurement-value { + type uint64; + description + "Measurement value (nsec)"; + } + leaf query-timestamp { + type uint64; + units "millisecond"; + description + "Timestamp when the measurement was taken + (milliseconds since Jan. 1, 1970)"; + } + } + + grouping PM-SRPOLICY-ATOMIC-PATH-BAG { + description + "PM SR Policy atomic path bag"; + container last-advertisement-information { + description + "Last advertisement information of the atomic + path"; + uses PM-SCB-LAST-ADVERT-BAG; + } + container next-advertisement-information { + description + "Current advertisement information of the atomic + path"; + uses PM-SCB-NEXT-ADVERT-BAG; + } + container current-probe-results { + description + "Current probe results of the atomic path"; + uses PM-SCB-PROBE-RESULTS-BAG; + } + container last-probe-results { + description + "Last probe results of the atomic path"; + uses PM-SCB-PROBE-RESULTS-BAG; + } + container liveness-detection-info { + description + "Information for liveness detection"; + uses PM-LIVENESS-STATE-INFO-BAG; + } + container last-notification-control-code { + description + "Last notifcation control code received of the + atomic path"; + uses PM-SCB-CONTROL-CODE; + } + container last-error-control-code { + description + "Last error control code received of the atomic + path"; + uses PM-SCB-CONTROL-CODE; + } + container responder-address { + description + "Address of the Responder"; + uses PM-IP-ADDR-TYPE; + } + leaf outgoing-interface { + type uint32; + description + "Outgoing interface of the atomic path"; + } + leaf session-id { + type uint32; + description + "Session ID of the atomic path"; + } + leaf liveness-detection-enabled { + type boolean; + description + "Liveness detection is enabled"; + } + leaf query-number-of-hops { + type uint8; + description + "Number of hops traversed by the query packet"; + } + list hop-address { + description + "Hop addresses list"; + uses PM-IP-ADDR-TYPE; + } + list label { + description + "MPLS labels of the atomic path"; + leaf entry { + type uint32; + description + "MPLS labels of the atomic path"; + } + } + list current-probe-history { + description + "Current probe history of the atomic path"; + uses PM-SCB-SAMPLE-BAG; + } + } + + grouping PM-SEGMENT-BAG { + description + "PM segment information"; + container ip-address { + description + "Segment IP address"; + uses PM-IP-ADDR-TYPE; + } + leaf mpls-label { + type uint32; + description + "Segment mpls label"; + } + } + + grouping PM-SRPOLICY-SEGMENT-LIST-BAG { + description + "PM SR Policy segment-list bag"; + container last-advertisement-information { + description + "Last advertisement information of the + segment-list"; + uses PM-SCB-LAST-ADVERT-BAG; + } + container next-advertisement-information { + description + "Current advertisement information of the + segment-list"; + uses PM-SCB-NEXT-ADVERT-BAG; + } + container current-probe-results { + description + "Current probe results of the segment-list"; + uses PM-SCB-PROBE-RESULTS-BAG; + } + container last-probe-results { + description + "Last probe results of the segment-list"; + uses PM-SCB-PROBE-RESULTS-BAG; + } + container liveness-detection-info { + description + "Information for liveness detection"; + uses PM-LIVENESS-STATE-INFO-BAG; + } + container last-notification-control-code { + description + "Last notifcation control code received of the + segment-list"; + uses PM-SCB-CONTROL-CODE; + } + container last-error-control-code { + description + "Last error control code received of the + segment-list"; + uses PM-SCB-CONTROL-CODE; + } + leaf segment-list-name { + type string; + description + "Name of the segment-list"; + } + leaf reverse-path-segment-list-name { + type string; + description + "Name of the reverse path segment-list"; + } + leaf atomic-path-total-count { + type uint32; + description + "Number of atomic paths in the segment-list"; + } + leaf liveness-detection-enabled { + type boolean; + description + "Liveness detection is enabled"; + } + list segment { + description + "List of segments"; + uses PM-SEGMENT-BAG; + } + list reverse-path-segment { + description + "List of reverse path segments"; + uses PM-SEGMENT-BAG; + } + list atomic-path { + description + "List of atomic paths"; + uses PM-SRPOLICY-ATOMIC-PATH-BAG; + } + } + + grouping PM-LIVENESS-STATE-INFO-BAG { + description + "Liveness detection session state information"; + leaf session-is-up { + type boolean; + description + "Liveness session state"; + } + leaf miss-count { + type uint32; + description + "Number of continuously missed probe packets"; + } + leaf last-session-state-change-timestamp { + type uint64; + description + "Timestamp of the last liveness session state + change"; + } + } + + grouping PM-SCB-CONTROL-CODE { + description + "Last received control code"; + leaf control-code { + type uint8; + description + "MPLS PM RFC 6374 control code"; + } + leaf timestamp { + type uint64; + units "millisecond"; + description + "Received timestamp of the control code + (milliseconds since Jan. 1, 1970)"; + } + } + + grouping PM-SCB-PROBE-BAG { + description + "PM delay probe bag"; + container probe-results { + description + "Summarized results of the current probe"; + uses PM-VALUES-BAG; + } + leaf probe-start-time-stamp { + type uint64; + units "millisecond"; + description + "Timestamp in milliseconds of the current probe + start (milliseconds since Jan. 1, 1970)"; + } + leaf next-probe-start-time-remaining-in-millisec { + type uint32; + units "millisecond"; + description + "Time in milliseconds until the next probe starts"; + } + leaf next-packet-sent-time-remaining-in-millisec { + type uint32; + units "millisecond"; + description + "Time in milliseconds until the next packet is + sent"; + } + leaf burst-interval { + type uint32; + units "millisecond"; + status deprecated; + description + "Deprecated: Burst interval (in milliseconds). + Config tx-interval and use tx-interval instead"; + } + leaf burst-interval-is-stretched { + type boolean; + status deprecated; + description + "Deprecated: True if the burst interval has been + stretched forpacket rate-limiting. Config + tx-interval and usetx-interval-is-stretched + instead."; + } + leaf tx-interval { + type uint32; + units "microsecond"; + description + "TX interval (in microseconds)"; + } + leaf tx-interval-is-stretched { + type boolean; + description + "True if the TX interval has been stretched for + packet rate-limiting"; + } + leaf number-of-packets-sent { + type uint32; + description + "Number of packets sent in the current probe"; + } + leaf number-of-packets-received { + type uint32; + description + "Number of packets received in the current probe"; + } + leaf probe-not-running-reason { + type Pm-probe-running-error-reason; + description + "Reason why probe is not running"; + } + } + + grouping PM-SCB-PROBE-RESULTS-BAG { + description + "PM probe results bag"; + container probe-values { + description + "Summarized results of the probe"; + uses PM-VALUES-BAG; + } + leaf number-of-packets-sent { + type uint32; + description + "Number of packets sent in the probe"; + } + leaf number-of-packets-received { + type uint32; + description + "Number of packets received in the probe"; + } + } + + grouping PM-SCB-NEXT-ADVERT-BAG { + description + "PM delay next advertisement bag"; + container advertisement-interval-values { + description + "Next advertisement values"; + uses PM-VALUES-BAG; + } + leaf advertisement-interval-probes-remaining { + type uint32; + description + "Probes remaining until next periodic + advertisement check"; + } + leaf rolling-average { + type uint32; + description + "Rolling average value (uSec)"; + } + } + + grouping PM-VALUES-BAG { + description + "PM delay summarized delay values"; + leaf average { + type uint32; + description + "Average value (uSec)"; + } + leaf minimum { + type uint32; + description + "Minimum value (uSec)"; + } + leaf maximum { + type uint32; + description + "Maximum value (uSec)"; + } + leaf variance { + type uint32; + description + "Variance value (uSec)"; + } + } + + grouping PM-SCB-LAST-ADVERT-BAG { + description + "PM delay last advertisement bag"; + container advertised-values { + description + "Advertised delay information"; + uses PM-VALUES-BAG; + } + leaf time-of-advertisement { + type uint64; + units "millisecond"; + description + "Time of the advertisement (milliseconds since + Jan. 1, 1970)"; + } + leaf advertisement-reason { + type Pm-advert-reason; + description + "Reason for advertisement"; + } + leaf aflag-set { + type boolean; + description + "A flag is set"; + } + } + + grouping PM-SRPOLICY-CANDIDATE-PATH-BAG { + description + "PM SR Policy candidate-path bag"; + container last-advertisement-information { + description + "Last advertisement information of the + candidate-path"; + uses PM-SCB-LAST-ADVERT-BAG; + } + container next-advertisement-information { + description + "Current advertisement information of the + candidate-path"; + uses PM-SCB-NEXT-ADVERT-BAG; + } + container last-probe-results { + description + "Last probe results of candidate-path"; + uses PM-SCB-PROBE-RESULTS-BAG; + } + container current-probe { + description + "Information for the current probe"; + uses PM-SCB-PROBE-BAG; + } + container last-notification-control-code { + description + "Last notifcation control code received of the + candidate-path"; + uses PM-SCB-CONTROL-CODE; + } + container last-error-control-code { + description + "Last error control code received of the + candidate-path"; + uses PM-SCB-CONTROL-CODE; + } + container liveness-detection-info { + description + "Information for liveness detection"; + uses PM-LIVENESS-STATE-INFO-BAG; + } + leaf instance { + type uint32; + description + "Session instance"; + } + leaf preference { + type uint32; + description + "Preference of the candidate-path"; + } + leaf origin { + type Pm-xtc-srpolicy-origin; + description + "Protocol-origin of the candidate-path"; + } + leaf discriminator { + type uint32; + description + "Discriminator of the candidate-path"; + } + leaf source-address-v4 { + type inet:ipv4-address; + description + "Source address of the candidate-path"; + } + leaf local-label { + type uint32; + description + "Local label"; + } + leaf notification-to-fib-enabled { + type boolean; + description + "Notification to FIB is enabled"; + } + leaf last-notification-to-fib-timestamp { + type uint64; + description + "Timestamp of the last notification sent to FIB"; + } + leaf profile-name { + type string; + description + "SR Policy delay-measurement profile name"; + } + leaf periodic-advertisement-interval-in-sec { + type uint32; + units "second"; + description + "Interval of periodic advertisement in seconds"; + } + leaf liveness-detection-enabled { + type boolean; + description + "Liveness detection is enabled"; + } + leaf segment-list-total-count { + type uint32; + description + "Number of segment lists in the candidate-path"; + } + list segment-list { + description + "List of segment-lists"; + uses PM-SRPOLICY-SEGMENT-LIST-BAG; + } + } + + grouping PM-IP-ADDR-TYPE { + description + "IPv4/IPv6 address type"; + leaf ip-address-type { + type Pm-addr; + description + "IPAddressType"; + } + leaf ipv4 { + when "../ip-address-type = 'ipv4'" { + description + "../IPAddressType = 'IPv4'"; + } + type Pm-ipv4-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../ip-address-type = 'ipv6'" { + description + "../IPAddressType = 'IPv6'"; + } + type Pm-ipv6-addr; + description + "IPv6 address type"; + } + } + + grouping PM-SRPOLICY-BAG { + description + "PM SR Policy bag"; + container end-point-address { + description + "IPv4/IPv6 End point address"; + uses PM-IP-ADDR-TYPE; + } + leaf color { + type uint32; + description + "Color"; + } + leaf policy-name-xr { + type string; + description + "Name of the SR Policy"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf candidate-path-total-count { + type uint32; + description + "Number of candidate-paths in the SR Policy"; + } + list candidate-path { + description + "List of candidate-paths"; + uses PM-SRPOLICY-CANDIDATE-PATH-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper.yang new file mode 100644 index 000000000..00a5ca5b1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-perf-meas-oper.yang @@ -0,0 +1,1026 @@ +module Cisco-IOS-XR-perf-meas-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-oper"; + prefix perf-meas-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-perf-meas-oper-sub2 { + revision-date 2021-11-18; + } + include Cisco-IOS-XR-perf-meas-oper-sub1 { + revision-date 2021-11-18; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR perf-meas package operational data. + + This module contains definitions + for the following management objects: + performance-measurement: Performance Measurement operational + data + performance-measurement-responder: Performance Measurement + operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-18 { + description + "Added transport specific parameters to profile information. + 2021-10-27 + Added tx-interval to profile information."; + semver:module-version "5.0.1m"; + } + revision 2021-06-15 { + description + "Added default TWAMP port entry in pm_rx_udp_ports_bag."; + semver:module-version "5.0.0"; + } + revision 2021-06-02 { + description + "Added session id to endpoint liveness bag. + 2021-04-17 + Removed liveness parameters from delay profile bag. + 2021-02-26 + Remove PM hidden show cli, loss, history packet. + 2021-02-16 + Remove liveness history and liveness detection verbose from sr-policy delay schema. + 2021-01-08 + Added srpolicy liveness schema. + 2021-01-08 + Added srpolicy liveness history schema and renamed liveness detection schema. + 2020-12-19 + Added schema for endpoint liveness profile. + 2020-12-02 + Add sr-policy liveness profile bag and oper schema. + 2020-11-26 + Update endpoint show command bags in order to support liveness-detection. + 2020-11-17 + Added new bag for PPS info. IosSetYangSchemaRev Cisco-IOS-XR-perf-meas-oper + 2020-10-27 + Added anomaly support for sr-policy min delay metrics. + 2020-10-27 + Added all endpoint show commands support and respective bags. + 2020-10-15 + Update probe running reason name for link down. + 2020-10-02 + Added anomaly support for interface min delay metrics. + 2020-08-06 + Added liveness session state history information. + 2020-07-23 + Fixed typos in perf-meas oper bag."; + semver:module-version "4.0.0"; + } + revision 2020-06-24 { + description + "Update perf-meas oper schema task group. + 2020-04-10 + Added new TX error counter for next hop MAC missing. + 2020-03-31 + 721 nohelp CLI for liveness, loopback, endpoint, src-port, named profile, distribution. + 2020-03-25 + Add trace id in PM session bag. + 2020-03-17 + Added new types counters to count different types of PM DM sessions. + 2020-03-09 + Added new types of probe running errors and counters for probe running errors. + 2020-02-24 + Modifid type of service knobs from array to integer. + 2020-02-21 + Modify router alert type + 2020-02-19 + Modifiy periodic minimum change value. + 2020-02-13 + Modifiy delay-measurement hisotry key words. + 2020-01-22 + Added a new advertisement reason for interface delay-measurement. + 2019-12-16 + Revision IOS XR 7.2.1 Added responder src address and num of hops for PM DM. + 2019-12-09 + Added new reason for DM probe not running. + 2019-11-18 + Revision IOS XR 7.2.1 Added EDT for Liveness state for SR Policy Candidate path atmoic path."; + semver:module-version "3.0.0"; + } + revision 2019-10-19 { + description + "Added burst-interval-effective to oper data."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-12-13 { + description + "Revision IOS XR 7.0.1 Added delay measurment for SR Policy and RSVP-TE LSP."; + } + revision 2017-10-17 { + description + "Revision Zero."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container performance-measurement { + config false; + description + "Performance Measurement operational data"; + container nodes { + description + "Node table for node-specific operational data"; + list node { + key "node"; + description + "Node-specific data for a particular node"; + container sr-policies { + description + "SR Policies"; + container sr-policy-details { + description + "Table of SR Policies detail info"; + list sr-policy-detail { + key "policy-name"; + description + "SR Policy information"; + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Policy name"; + } + uses PM-SRPOLICY-BAG; + } + } + container sr-policy-delay { + description + "SR Policy Delay-measurement information"; + container sr-policy-last-advertisements { + description + "Table of last advertisement metrics"; + list sr-policy-last-advertisement { + key "sr-policy-name"; + description + "Last advertisement metrics information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-METRICS-BAG; + } + } + container sr-policy-probe-computation-histories { + description + "Table of probe computation history"; + list sr-policy-probe-computation-history { + key "sr-policy-name"; + description + "Probe computation history information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-HISTORY-BAG; + } + } + container sr-policy-advertisement-histories { + description + "Table of advertisement history"; + list sr-policy-advertisement-history { + key "sr-policy-name"; + description + "Advertisement history information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-HISTORY-BAG; + } + } + container sr-policy-last-probe-verboses { + description + "Table of last probe metrics verbose"; + list sr-policy-last-probe-verbose { + key "sr-policy-name"; + description + "Last probe verbose information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-METRICS-BAG; + } + } + container sr-policy-last-advertisement-verboses { + description + "Table of last advertisement verbose + information"; + list sr-policy-last-advertisement-verbose { + key "sr-policy-name"; + description + "Last advertisement verbose metrics + information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-METRICS-BAG; + } + } + container sr-policy-last-probes { + description + "Table of last probe metrics"; + list sr-policy-last-probe { + key "sr-policy-name"; + description + "Last probe information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-METRICS-BAG; + } + } + container sr-policy-last-aggregation-verboses { + description + "Table of last probe aggregation verbose"; + list sr-policy-last-aggregation-verbose { + key "sr-policy-name"; + description + "Last probe aggregation verbose information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-METRICS-BAG; + } + } + container sr-policy-aggregation-histories { + description + "Table of aggregation history"; + list sr-policy-aggregation-history { + key "sr-policy-name"; + description + "Aggregation history information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-HISTORY-BAG; + } + } + container sr-policy-last-aggregations { + description + "Table of last aggregation"; + list sr-policy-last-aggregation { + key "sr-policy-name"; + description + "Last aggregation information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-METRICS-BAG; + } + } + } + container sr-policy-liveness { + description + "SR Policy Liveness-Detection information"; + container pm-sr-policy-last-liveness-detection-verboses { + description + "Table of last liveness detection information"; + list pm-sr-policy-last-liveness-detection-verbose { + key "sr-policy-name"; + description + "Last liveness verbose information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-LIVENESS; + } + } + container pm-sr-policy-liveness-session-state-histories { + description + "Table of liveness session state history"; + list pm-sr-policy-liveness-session-state-history { + key "sr-policy-name"; + description + "Liveness session state history information"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "SR Policy name"; + } + uses PM-SRPOLICY-HISTORY-BAG; + } + } + } + container sr-policy-counters { + description + "Table of SR Policies counters info"; + list sr-policy-counter { + key "policy-name"; + description + "SR Policy counter information"; + leaf policy-name { + type xr:Cisco-ios-xr-string; + description + "Policy name"; + } + uses PM-SRPOLICY-COUNTERS-BAG; + } + } + } + container rsvpte-tunnels { + description + "RSVP-TE tunnels"; + container rsvpte-counters { + description + "Table of RSVP-TE tunnel counters info"; + list rsvpte-counter { + key "tunnel-name"; + description + "RSVP-TE counter information"; + leaf tunnel-name { + type xr:Interface-name; + description + "Tunnel name"; + } + uses PM-RSVPTE-COUNTERS-BAG; + } + } + container rsvpte-details { + description + "Table of RSVP-TE tunnels detail info"; + list rsvpte-detail { + key "tunnel-name"; + description + "RSVP-TE information"; + leaf tunnel-name { + type xr:Interface-name; + description + "Tunnel name"; + } + uses PM-RSVPTE-BAG; + } + } + container rsvpte-delay { + description + "RSVP-TE tunnel delay-measurement information"; + container rsvpte-last-advertisements { + description + "Table of last advertisement metrics"; + list rsvpte-last-advertisement { + key "tunnel-name"; + description + "Last advertisement metrics information"; + leaf tunnel-name { + type xr:Interface-name; + description + "Tunnel name"; + } + uses PM-RSVPTE-DELAY-METRICS-BAG; + } + } + container rsvpte-last-aggregations { + description + "Table of last probe aggregation"; + list rsvpte-last-aggregation { + key "tunnel-name"; + description + "Last probe aggregation information"; + leaf tunnel-name { + type xr:Interface-name; + description + "SR Policy name"; + } + uses PM-RSVPTE-DELAY-METRICS-BAG; + } + } + container rsvpte-aggregation-histories { + description + "Table of aggregation history"; + list rsvpte-aggregation-history { + key "tunnel-name"; + description + "Aggregation history information"; + leaf tunnel-name { + type xr:Interface-name; + description + "Tunnel name"; + } + uses PM-RSVPTE-HISTORY-BAG; + } + } + container rsvpte-last-probes { + description + "Table of last probe metrics"; + list rsvpte-last-probe { + key "tunnel-name"; + description + "Last probe information"; + leaf tunnel-name { + type xr:Interface-name; + description + "Tunnel name"; + } + uses PM-RSVPTE-DELAY-METRICS-BAG; + } + } + container rsvpte-advertisement-histories { + description + "Table of advertisement history for the + RSVP-TE LSP"; + list rsvpte-advertisement-history { + key "tunnel-name"; + description + "Advertisement history information for the + RSVP-TE LSP"; + leaf tunnel-name { + type xr:Interface-name; + description + "Tunnel name"; + } + uses PM-RSVPTE-HISTORY-BAG; + } + } + container rsvpte-probe-computation-histories { + description + "Table of probe computation history"; + list rsvpte-probe-computation-history { + key "tunnel-name"; + description + "Probe computation history information"; + leaf tunnel-name { + type xr:Interface-name; + description + "Tunnel name"; + } + uses PM-RSVPTE-HISTORY-BAG; + } + } + } + } + container local-capability-info { + description + "Capability information for the local hardware"; + uses PM-CAPABILITY-BAG; + } + container endpoints { + description + "Endpoints"; + container endpoint-liveness { + description + "Endpoint Liveness-Detection information"; + container endpoint-last-liveness-detection-verboses { + description + "Table of last liveness detection information"; + list endpoint-last-liveness-detection-verbose { + key "endpoint-name"; + description + "Last liveness verbose information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-LIVENESS; + } + } + } + container endpoint-delay { + description + "Endpoint Delay-measurement information"; + container endpoint-last-probe-verboses { + description + "Table of last probe metrics verbose"; + list endpoint-last-probe-verbose { + key "endpoint-name"; + description + "Last probe verbose information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-METRICS-BAG; + } + } + container endpoint-probe-computation-histories { + description + "Table of probe computation history"; + list endpoint-probe-computation-history { + key "endpoint-name"; + description + "Probe computation history information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-HISTORY-BAG; + } + } + container endpoint-last-advertisements { + description + "Table of last advertisement metrics"; + list endpoint-last-advertisement { + key "endpoint-name"; + description + "Last advertisement metrics information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-METRICS-BAG; + } + } + container endpoint-last-probes { + description + "Table of last probe metrics"; + list endpoint-last-probe { + key "endpoint-name"; + description + "Last probe information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-METRICS-BAG; + } + } + container endpoint-last-aggregations { + description + "Table of Endpoint last aggregation"; + list endpoint-last-aggregation { + key "endpoint-name"; + description + "Last aggregation information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-METRICS-BAG; + } + } + container endpoint-last-advertisement-verboses { + description + "Table of last advertisement verbose + information"; + list endpoint-last-advertisement-verbose { + key "endpoint-name"; + description + "Last advertisement verbose metrics + information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-METRICS-BAG; + } + } + container endpoint-last-aggregationverboses { + description + "Table of last probe aggregation verbose"; + list endpoint-last-aggregationverbose { + key "endpoint-name"; + description + "Last probe aggregation verbose information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-METRICS-BAG; + } + } + container endpoint-aggregation-histories { + description + "Table of aggregation history"; + list endpoint-aggregation-history { + key "endpoint-name"; + description + "Aggregation history information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-HISTORY-BAG; + } + } + container endpoint-advertisement-histories { + description + "Table of advertisement history"; + list endpoint-advertisement-history { + key "endpoint-name"; + description + "Advertisement history information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-HISTORY-BAG; + } + } + } + container endpoint-counters { + description + "Table of Endpoint counters info"; + list endpoint-counter { + key "endpoint-name"; + description + "Endpoint counter information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-COUNTERS-BAG; + } + } + container endpoint-commons { + description + "Table of Endpoint common info"; + list endpoint-common { + key "endpoint-name"; + description + "Endpoint information"; + leaf endpoint-name { + type xr:Cisco-ios-xr-string; + description + "Endpoint name"; + } + uses PM-ENDPOINT-COMMON; + } + } + } + container sessions { + description + "Table of sessions"; + list session { + key "session-id"; + description + "Session information"; + leaf session-id { + type uint32; + description + "Session ID"; + } + uses PM-SESSION-BAG; + } + } + container summary { + description + "Summary information for all the measurement + and transportation type on querier"; + uses PM-SUMMARY-BAG; + } + container interfaces { + description + "Physical and bundle interfaces"; + container interface-details { + description + "Interface detailed table"; + list interface-detail { + key "interface-name"; + description + "Detailed interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-INTF-BAG; + } + } + container interface-delay { + description + "Delay-measurement information"; + container interface-probe-computation-histories { + description + "Table of probe computation history"; + list interface-probe-computation-history { + key "interface-name"; + description + "Probe computation history information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-INTF-HISTORY-BAG; + } + } + container interface-aggregation-histories { + description + "Table of aggregation history"; + list interface-aggregation-history { + key "interface-name"; + description + "Aggregation history information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-INTF-HISTORY-BAG; + } + } + container interface-advertisement-histories { + description + "Table of advertisement history information"; + list interface-advertisement-history { + key "interface-name"; + description + "Advertisement history information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-INTF-HISTORY-BAG; + } + } + container interface-last-aggregations { + description + "Table of last aggregation"; + list interface-last-aggregation { + key "interface-name"; + description + "Last aggregation information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-INTF-LAST-AGGR-BAG; + } + } + container interface-last-probes { + description + "Table of last probes"; + list interface-last-probe { + key "interface-name"; + description + "Last measurement information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-INTF-LAST-PROBE-BAG; + } + } + container interface-last-advertisements { + description + "Table of last advertisements"; + list interface-last-advertisement { + key "interface-name"; + description + "Last advertisement information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-INTF-LAST-ADVERT-BAG; + } + } + } + } + container profile { + description + "Profile information for all the measurement + and transportation type on querier"; + uses PM-PROFILE-BAG; + } + container pps-summary { + description + "Summary information for PPS on querier"; + uses PM-PPS-SUMMARY-BAG; + } + container distribution-records { + description + "Table of linecard session distribution records"; + list distribution-record { + key "record-name"; + description + "linecard session distribution record"; + leaf record-name { + type xr:Cisco-ios-xr-string; + description + "Distribution record name"; + } + uses PM-DR-INFO; + } + } + container name-profile { + description + "Profile Name"; + container delay-profile-rsvptes { + description + "RSVP-TE profile name table"; + list delay-profile-rsvpte { + key "profile-name"; + description + "RSVP-TE delay profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + container delay-profiles { + description + "Delay profile name table"; + list delay-profile { + key "profile-name"; + description + "Delay profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + container delay-profile-endpoints { + description + "Endpoint profile name table"; + list delay-profile-endpoint { + key "profile-name"; + description + "Endpoint delay profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + container liveness-profile-endpoints { + description + "Endpoint liveness profile name table"; + list liveness-profile-endpoint { + key "profile-name"; + description + "Endpoint liveness profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + container liveness-profiles { + description + "Liveness profile name table"; + list liveness-profile { + key "profile-name"; + description + "Liveness profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + container delay-profile-sr-policies { + description + "SR Policy profile name table"; + list delay-profile-sr-policy { + key "profile-name"; + description + "SR Policy delay profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + container delay-profile-interfaces { + description + "Interface profile name table"; + list delay-profile-interface { + key "profile-name"; + description + "Interface delay profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + container liveness-profile-sr-policies { + description + "SR Policy profile name table"; + list liveness-profile-sr-policy { + key "profile-name"; + description + "SR Policy liveness profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile name"; + } + uses PM-NAME-PROFILE-BAG; + } + } + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + } + container performance-measurement-responder { + config false; + description + "Performance Measurement operational data"; + container nodes { + description + "Node table for node-specific operational data"; + list node { + key "node"; + description + "Node-specific data for a particular node"; + container summary { + description + "Summary information for all the measurement + and transportation type on responder"; + uses PM-RESP-SUMMARY-BAG; + } + container interfaces { + description + "Table of interfaces"; + list interface { + key "interface-name"; + description + "Interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PM-RESP-INTF-BAG; + } + } + leaf node { + type xr:Node-id; + description + "Node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1.yang new file mode 100644 index 000000000..b1f5ba0bf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1.yang @@ -0,0 +1,145 @@ +submodule Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1 { + belongs-to Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper { + prefix Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR pfi-im-cmd-ctrlr package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + grouping IM-CTRLR-DESC-INFO { + description + "Controller description information"; + leaf controller { + type xr:Interface-name; + description + "Interface handle of Controller"; + } + leaf state { + type Im-state-enum; + description + "Operational state with no translation of error + disable or shutdown"; + } + leaf description { + type string; + description + "Controller description string"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper.yang new file mode 100644 index 000000000..4055ab98d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper"; + prefix pfi-im-cmd-ctrlr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pfi-im-cmd-ctrlr package operational data. + + This module contains definitions + for the following management objects: + controllers: Controller operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container controllers { + config false; + description + "Controller operational data"; + container controllers { + description + "Descriptions for controllers"; + list controller { + key "interafce-name"; + description + "Description for a particular controller"; + leaf interafce-name { + type xr:Interface-name; + description + "The name of the controller"; + } + uses IM-CTRLR-DESC-INFO; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub1.yang new file mode 100644 index 000000000..a53a30e62 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub1.yang @@ -0,0 +1,6838 @@ +submodule Cisco-IOS-XR-pfi-im-cmd-oper-sub1 { + belongs-to Cisco-IOS-XR-pfi-im-cmd-oper { + prefix Cisco-IOS-XR-pfi-im-cmd-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-pfi-im-cmd-oper-sub2 { + revision-date 2022-03-07; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR pfi-im-cmd package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-07 { + description + "Added leaves is-intf-type-management and is-intf-type-cpu to indicate management interface and cpu interface + 2021-11-15 + Support added for sparse interface container."; + semver:module-version "5.0.1M"; + } + revision 2021-08-27 { + description + "added new mediatype for 25GBASE_ER."; + semver:module-version "5.0.0"; + } + revision 2021-05-23 { + description + "Removed container for non-dynamic interfaces. + 2020-12-02 + added new mediatype for 25GBASE_LR. + 2020-10-08 + Unit of last-data-time in milliseconds reverted to seconds for generic stats + 2020-10-01 + 64-bit Bandwidth support + 2020-09-03 + Removed event-telemetry annotation from leaf interface-name of grouping BM-MEMBER-DATA + 2020-04-14 + Unit of last-data-time changed from seconds to milliseconds for generic stats + 2020-04-14 + Support added for non-dynamic interfaces. + 2020-04-14 + Data type of last-data-time changed from uint32 to uint64 for generic and proto stats"; + semver:module-version "4.0.0"; + } + revision 2019-12-03 { + description + "Updated description."; + semver:module-version "3.0.0"; + } + revision 2019-08-14 { + description + "Added last state transition time. + 2019-07-23 + Changes in IosApi version. + 2019-05-30 + 64 bit bandwidth changes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-18 { + description + "Description updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Stats-counter { + type enumeration { + enum "stats-counter-rate" { + value 0; + description + "stats counter rate"; + } + enum "stats-counter-uint32" { + value 1; + description + "stats counter uint32"; + } + enum "stats-counter-uint64" { + value 2; + description + "stats counter uint64"; + } + enum "stats-counter-generic" { + value 3; + description + "stats counter generic"; + } + enum "stats-counter-proto" { + value 4; + description + "stats counter proto"; + } + enum "stats-counter-srp" { + value 5; + description + "stats counter srp"; + } + enum "stats-counter-ipv4-prec" { + value 6; + description + "stats counter ipv4 prec"; + } + enum "stats-counter-ipv4-dscp" { + value 7; + description + "stats counter ipv4 dscp"; + } + enum "stats-counter-mpls-exp" { + value 8; + description + "stats counter mpls exp"; + } + enum "stats-counter-ipv4-bgp-pa" { + value 9; + description + "stats counter ipv4 bgp pa"; + } + enum "stats-counter-src-bgp-pa" { + value 10; + description + "stats counter src bgp pa"; + } + enum "stats-counter-basic" { + value 11; + description + "stats counter basic"; + } + enum "stats-counter-comp-generic" { + value 12; + description + "stats counter comp generic"; + } + enum "stats-counter-comp-proto" { + value 13; + description + "stats counter comp proto"; + } + enum "stats-counter-comp-basic" { + value 14; + description + "stats counter comp basic"; + } + enum "stats-counter-accounting" { + value 15; + description + "stats counter accounting"; + } + enum "stats-counter-comp-accounting" { + value 16; + description + "stats counter comp accounting"; + } + enum "stats-counter-flow" { + value 17; + description + "stats counter flow"; + } + enum "stats-counter-comp-flow" { + value 18; + description + "stats counter comp flow"; + } + enum "stats-counter-timestamp" { + value 19; + description + "stats counter timestamp"; + } + enum "stats-counter-qos" { + value 20; + description + "stats counter qos"; + } + enum "stats-counter-ethernet-l1" { + value 21; + description + "stats counter ethernet l1"; + } + enum "stats-counter-comp-ethernet-l1" { + value 22; + description + "stats counter comp ethernet l1"; + } + enum "stats-counter-comp2-ethernet-l1" { + value 23; + description + "stats counter comp2 ethernet l1"; + } + enum "stats-counter-ethernet-l2" { + value 24; + description + "stats counter ethernet l2"; + } + enum "stats-counter-comp-ethernet-l2" { + value 25; + description + "stats counter comp ethernet l2"; + } + enum "stats-counter-comp2-ethernet-l2" { + value 26; + description + "stats counter comp2 ethernet l2"; + } + } + description + "Stats counter"; + } + + typedef Stats-type-contents { + type enumeration { + enum "stats-type-single" { + value 100; + description + "stats type single"; + } + enum "stats-type-variable" { + value 101; + description + "stats type variable"; + } + } + description + "Stats type contents"; + } + + typedef Stats-id { + type enumeration { + enum "stats-id-type-unknown" { + value 0; + description + "stats id type unknown"; + } + enum "stats-id-type-min" { + value 1; + description + "stats id type min"; + } + enum "stats-id-type-spare" { + value 2; + description + "stats id type spare"; + } + enum "stats-id-type-node" { + value 3; + description + "stats id type node"; + } + enum "stats-id-type-other" { + value 4; + description + "stats id type other"; + } + enum "stats-id-type-feature" { + value 5; + description + "stats id type feature"; + } + enum "stats-id-type-max" { + value 6; + description + "stats id type max"; + } + } + description + "Stats id"; + } + + typedef Stats-type-val { + type uint32; + description + "Stats type val"; + } + + typedef Im-cmd-stats-enum { + type enumeration { + enum "full" { + value 1; + description + "full"; + } + enum "basic" { + value 2; + description + "basic"; + } + } + description + "List of different interface stats structures"; + } + + typedef Gcc-sec-state { + type enumeration { + enum "normal" { + value 0; + description + "Normal"; + } + enum "maintenance" { + value 1; + description + "Maintenance"; + } + enum "ais" { + value 2; + description + "Automatic In Service"; + } + } + description + "Gcc sec state"; + } + + typedef Gcc-der-state { + type enumeration { + enum "in-service" { + value 0; + description + "In Service"; + } + enum "out-of-service" { + value 1; + description + "Out Of Service"; + } + enum "maintenance" { + value 2; + description + "Maintenance"; + } + enum "ais" { + value 3; + description + "Automatic In Service"; + } + } + description + "Gcc der state"; + } + + typedef Tunnel-key-state { + type enumeration { + enum "absent" { + value 0; + description + "Tunnel GRE Key is not present"; + } + enum "present" { + value 1; + description + "Tunnel GRE Key is present"; + } + } + description + "Tunnel key state"; + } + + typedef Tunnel-ka-df-state { + type enumeration { + enum "disable" { + value 0; + description + "Tunnel GRE KA State is Disabled"; + } + enum "enable" { + value 1; + description + "Tunnel GRE KA State is Enabled"; + } + } + description + "Tunnel ka df state"; + } + + typedef Tunl-ip-mode-dir { + type enumeration { + enum "tunl-ip-mode-dir-none" { + description + "tunl ip mode dir none"; + } + enum "tunl-ip-mode-dir-decap" { + description + "tunl ip mode dir decap"; + } + enum "tunl-ip-mode-dir-encap" { + description + "tunl ip mode dir encap"; + } + enum "tunl-ip-mode-dir-max" { + description + "tunl ip mode dir max"; + } + } + description + "Tunl ip mode dir"; + } + + typedef Tunnel-gre-mode { + type enumeration { + enum "unknown" { + value 0; + description + "Tunnel GRE mode is Unknown"; + } + enum "gr-eo-ipv4" { + value 1; + description + "Tunnel GRE Mode is IPv4"; + } + enum "gr-eo-ipv6" { + value 2; + description + "Tunnel GRE Mode is IPv6"; + } + enum "mgr-eo-ipv4" { + value 3; + description + "Tunnel MGRE Mode is IPv4"; + } + enum "mgr-eo-ipv6" { + value 4; + description + "Tunnel MGRE Mode is IPv6"; + } + enum "ipv4" { + value 5; + description + "Tunnel Mode is IPv4"; + } + enum "ipv6" { + value 6; + description + "Tunnel Mode is IPv6"; + } + } + description + "Tunnel gre mode"; + } + + typedef Tunl-pfi-in6-addr { + type inet:ipv6-address; + description + "Tunl pfi in6 addr"; + } + + typedef Tunl-pfi-in-addr { + type inet:ipv4-address; + description + "Tunl pfi in addr"; + } + + typedef Tunl-pfi-af-id { + type enumeration { + enum "tunl-pfi-af-id-none" { + value 0; + description + "Unspecified AFI"; + } + enum "tunl-pfi-af-id-ipv4" { + value 2; + description + "IPv4 AFI"; + } + enum "tunl-pfi-af-id-ipv6" { + value 10; + description + "IPv6 AFI"; + } + } + description + "Tunl pfi af id"; + } + + typedef Sonet-aps-et { + type enumeration { + enum "not-configured" { + value 0; + description + "APS not configured on port"; + } + enum "working-active" { + value 1; + description + "Working port is up "; + } + enum "protect-active" { + value 2; + description + "Protect port is up "; + } + enum "working-inactive" { + value 3; + description + "Working port is down "; + } + enum "protect-inactive" { + value 4; + description + "Protect port is down "; + } + } + description + "APS states"; + } + + typedef Bmd-member-type-enum { + type enumeration { + enum "bmd-mbr-local" { + value 0; + description + "Member has been configured on the local device"; + } + enum "bmd-mbr-foreign" { + value 1; + description + "Member has been configured on an mLACP peer + device"; + } + enum "bmd-mbr-unknown" { + value 2; + description + "Member's type is unknown"; + } + } + description + "Bmd member type enum"; + } + + typedef Bm-muxreason { + type enumeration { + enum "bm-mux-reason-no-reason" { + value 0; + description + "Selection logic has not yet been run for the + bundle this link is a member of"; + } + enum "bm-mux-reason-link-down" { + value 1; + description + "Link is down"; + } + enum "bm-mux-reason-link-deleted" { + value 2; + description + "Link is being removed from the bundle"; + } + enum "bm-mux-reason-duplex" { + value 3; + description + "Link has wrong duplexity"; + } + enum "bm-mux-reason-bandwidth" { + value 4; + description + "Link has wrong bandwidth"; + } + enum "bm-mux-reason-loop-back" { + value 5; + description + "Link is a loopback interface"; + } + enum "bm-mux-reason-activity-type" { + value 6; + description + "Link has wrong activity type"; + } + enum "bm-mux-reason-link-limit" { + value 7; + description + "Link's bundle already has maximum number of + members allowed"; + } + enum "bm-mux-reason-shared" { + value 8; + description + "Link is attached to a shared medium"; + } + enum "bm-mux-reason-lagid" { + value 9; + description + "Link has wrong LAG ID"; + } + enum "bm-mux-reason-no-bundle" { + value 10; + description + "Link's bundle does not exist"; + } + enum "bm-mux-reason-no-primary" { + value 11; + description + "Link's bundle has no primary link"; + } + enum "bm-mux-reason-bundle-down" { + value 12; + description + "Link's bundle is shut down"; + } + enum "bm-mux-reason-individual" { + value 13; + description + "Link is marked individual by partner"; + } + enum "bm-mux-reason-defaulted" { + value 14; + description + "Link is Defaulted, suggesting it is not + receiving LACPDUs from the peer"; + } + enum "bm-mux-reason-in-sync" { + value 15; + description + "Link is in InSync state"; + } + enum "bm-mux-reason-collecting" { + value 16; + description + "Link is in Collecting state"; + } + enum "bm-mux-reason-active-link-limit" { + value 17; + description + "Link exceeds maximum active limit"; + } + enum "bm-mux-reason-distributing" { + value 18; + description + "Link is in Distributing state"; + } + enum "bm-mux-reason-plat-data" { + value 19; + description + "Link platform data is incompatible with + selected members"; + } + enum "bm-mux-reason-count" { + value 20; + description + "Enumeration maximum value"; + } + } + description + "Bm muxreason"; + } + + typedef Bmd-member-state { + type enumeration { + enum "bmd-mbr-state-configured" { + value 1; + description + "Member is configured"; + } + enum "bmd-mbr-state-standby" { + value 2; + description + "Member is standby"; + } + enum "bmd-mbr-state-hot-standby" { + value 3; + description + "Member is hot standby"; + } + enum "bmd-mbr-state-negotiating" { + value 4; + description + "Member is negotiating"; + } + enum "bmd-mbr-state-bfd-running" { + value 5; + description + "Member has a BFD session running"; + } + enum "bmd-mbr-state-active" { + value 6; + description + "Member is active"; + } + } + description + "Bmd member state"; + } + + typedef Bm-severity { + type enumeration { + enum "ok" { + value 0; + description + "OK"; + } + enum "information" { + value 1; + description + "Information"; + } + enum "misconfiguration" { + value 2; + description + "Misconfiguration"; + } + enum "warning" { + value 3; + description + "Warning"; + } + enum "error" { + value 5; + description + "Error"; + } + } + description + "Severity of the member state reason"; + } + + typedef Bm-state-reason-target { + type enumeration { + enum "member-reason" { + description + "Member applicable reason"; + } + enum "bundle-reason" { + description + "Bundle applicable reason"; + } + } + description + "Scope of the state reason"; + } + + typedef Bm-mbr-state-reason { + type enumeration { + enum "bm-mbr-state-reason-unknown" { + value 0; + description + "Reason unavailable (diagnostics error)"; + } + enum "bm-mbr-state-reason-unselectable-unknown" { + value 1; + description + "Link cannot be used (unknown reason)"; + } + enum "bm-mbr-state-reason-link-down" { + value 2; + description + "Link is down"; + } + enum "bm-mbr-state-reason-link-deleting" { + value 3; + description + "Link is being removed from the bundle"; + } + enum "bm-mbr-state-reason-creating" { + value 4; + description + "Link is in the process of being created"; + } + enum "bm-mbr-state-reason-bundle-creating" { + value 5; + description + "Bundle is in the process of being created"; + } + enum "bm-mbr-state-reason-bundle-deleting" { + value 6; + description + "Bundle is in the process of being deleted"; + } + enum "bm-mbr-state-reason-bundle-admin-down" { + value 7; + description + "Bundle has been shut down"; + } + enum "bm-mbr-state-reason-replicating" { + value 8; + description + "Bundle is in the process of being replicated to + this location"; + } + enum "bm-mbr-state-reason-bandwidth" { + value 9; + description + "Incompatible with other links in the bundle + (bandwidth out of range)"; + } + enum "bm-mbr-state-reason-loop-back" { + value 10; + description + "Loopback: Actor and Partner have the same + System ID and Key"; + } + enum "bm-mbr-state-reason-activity-type" { + value 11; + description + "Incompatible with other links in the bundle + (LACP vs non-LACP)"; + } + enum "bm-mbr-state-reason-bundle-shutdown" { + value 12; + description + "Bundle shutdown is configured for the bundle"; + } + enum "bm-mbr-state-reason-min-selected" { + value 13; + description + "Not enough links available to meet + minimum-active threshold"; + } + enum "bm-mbr-state-reason-max-selected" { + value 14; + description + "Link is Standby due to maximum-active links + configuration"; + } + enum "bm-mbr-state-reason-link-limit" { + value 15; + description + "Bundle has too many member links configured"; + } + enum "bm-mbr-state-reason-active-limit" { + value 16; + description + "Bundle has reached maximum supported number of + active links"; + } + enum "bm-mbr-state-reason-standby-unknown" { + value 17; + description + "Link is Standby (unknown reason)"; + } + enum "bm-mbr-state-reason-expired" { + value 18; + description + "Link is Expired; LACPDUs are not being received + from the partner"; + } + enum "bm-mbr-state-reason-defaulted" { + value 19; + description + "Link is Defaulted; LACPDUs are not being + received from the partner"; + } + enum "bm-mbr-state-reason-act-or-not-agg" { + value 20; + description + "Link is Not Aggregatable (unknown reason)"; + } + enum "bm-mbr-state-reason-partner-not-agg" { + value 21; + description + "Partner has marked the link as Not Aggregatable"; + } + enum "bm-mbr-state-reason-lagid" { + value 22; + description + "Partner System ID/Key do not match that of the + Selected links"; + } + enum "bm-mbr-state-reason-bundle-not-cfgd" { + value 23; + description + "Bundle interface is not present in + configuration"; + } + enum "bm-mbr-state-reason-bundle-not-ready" { + value 24; + description + "Wait-while timer is running"; + } + enum "bm-mbr-state-reason-partner-ood" { + value 25; + description + "Partner has not echoed the correct parameters + for this link"; + } + enum "bm-mbr-state-reason-partner-not-in-sync" { + value 26; + description + "Partner is not Synchronized (Waiting, Standby, + or LAG ID mismatch)"; + } + enum "bm-mbr-state-reason-foreign-partner-oos" { + value 27; + description + "Partner is not Synchronized (Waiting, not + Selected, or out-of-date)"; + } + enum "bm-mbr-state-reason-attach-unknown" { + value 28; + description + "Link is Attached and has not gone Collecting + (unknown reason)"; + } + enum "bm-mbr-state-reason-partner-not-collecting" { + value 29; + description + "Partner has not advertized that it is + Collecting"; + } + enum "bm-mbr-state-reason-collect-unknown" { + value 30; + description + "Link is Collecting and has not gone + Distributing (unknown reason)"; + } + enum "bm-mbr-state-reason-standby-foreign" { + value 31; + description + "Link is marked as Standby by mLACP peer"; + } + enum "bm-mbr-state-reason-bfd-starting" { + value 32; + description + "Link is waiting for BFD session to start"; + } + enum "bm-mbr-state-reason-bfd-down" { + value 33; + description + "BFD state of this link is Down"; + } + enum "bm-mbr-state-reason-bfd-nbr-unconfig" { + value 34; + description + "BFD session is unconfigured on the remote end"; + } + enum "bm-mbr-state-reason-mlacp" { + value 35; + description + "Link is not operational as a result of mLACP + negotiations"; + } + enum "bm-mbr-state-reason-pe-isolated" { + value 36; + description + "ICCP group is isolated from the core network"; + } + enum "bm-mbr-state-reason-forced-switchover" { + value 37; + description + "Forced switchover to the mLACP peer"; + } + enum "bm-mbr-state-reason-errdis-unknown" { + value 38; + description + "Link is error disabled (unknown reason)"; + } + enum "bm-mbr-state-reason-mlacp-no-mbr-state-info" { + value 39; + description + "Waiting for member state information from mLACP + peer"; + } + enum "bm-mbr-state-reason-active" { + value 40; + description + "Link is Active"; + } + enum "bm-mbr-state-reason-mlacp-no-bdl-state-info" { + value 41; + description + "Waiting for bundle state information from mLACP + peer"; + } + enum "bm-mbr-state-reason-mlacp-no-bdl-config-info" { + value 42; + description + "Waiting for bundle configuration information + from mLACP peer"; + } + enum "bm-mbr-state-reason-mlacp-no-bdl-sync" { + value 43; + description + "Waiting for bundle to complete initial + synchronization with mLACP peer"; + } + enum "bm-mbr-state-reason-mlacp-bdl-has-no-peer" { + value 44; + description + "mLACP bundle does not have a peer device"; + } + enum "bm-mbr-state-reason-mlacp-nak" { + value 45; + description + "Link is being ignored due to an inconsistency + with mLACP peer"; + } + enum "bm-mbr-state-reason-mlacp-transport-unavailable" { + value 46; + description + "ICCP transport is unavailable"; + } + enum "bm-mbr-state-reason-mlacp-not-configured" { + value 47; + description + "ICCP Group is not fully configured"; + } + enum "bm-mbr-state-reason-recovery-timer" { + value 48; + description + "mLACP recovery delay timer is running"; + } + enum "bm-mbr-state-reason-mlacp-standby" { + value 49; + description + "mLACP peer is active"; + } + enum "bm-mbr-state-reason-maximized-out" { + value 50; + description + "mLACP peer has more links/bandwidth available"; + } + enum "bm-mbr-state-reason-mlacp-peer-selected" { + value 51; + description + "mLACP peer has one or more links Selected"; + } + enum "bm-mbr-state-reason-mlacp-connect-timer-running" { + value 52; + description + "mLACP bundle does not have a peer device + (connect timer running)"; + } + enum "bm-mbr-state-reason-bundle-not-mlacp" { + value 53; + description + "Bundle is not configured to run mLACP"; + } + enum "bm-mbr-state-reason-no-lon" { + value 54; + description + "Bundle has too many working links configured + (more than the maximum-active limit)"; + } + enum "bm-mbr-state-reason-cumul-rel-bw-limit" { + value 55; + description + "Additional bandwidth from link would exceed + load balancing capabilities"; + } + enum "bm-mbr-state-reason-no-mac" { + value 56; + description + "No MAC address available for the bundle"; + } + enum "bm-mbr-state-reason-no-system-id" { + value 57; + description + "No system ID available for use by this bundle"; + } + enum "bm-mbr-state-reason-link-shutdown" { + value 58; + description + "Link is shutdown"; + } + enum "bm-mbr-state-reason-activity-mlacp" { + value 59; + description + "Non-LACP link in mLACP bundle"; + } + enum "bm-mbr-state-reason-activity-iccp" { + value 60; + description + "LACP link in inter-chassis bundle"; + } + enum "bm-mbr-state-reason-bundle-icpe-mlacp" { + value 61; + description + "Parent bundle is both inter-chassis and + configured for mLACP"; + } + enum "bm-mbr-state-reason-no-link-num" { + value 62; + description + "Too many bundle members in system; no link + number available"; + } + enum "bm-mbr-state-reason-standby-peer-higher-prio" { + value 63; + description + "mLACP peer has a higher priority link"; + } + enum "bm-mbr-state-reason-red-state-standby" { + value 64; + description + "Link is in standby redundancy state"; + } + enum "bm-mbr-state-reason-other-red-state-standby" { + value 65; + description + "One or more links in the bundle are in standby + redundancy state"; + } + enum "bm-mbr-state-reason-hold-ing" { + value 66; + description + "Holding down temporary to avoid churn after + restart"; + } + enum "bm-mbr-state-reason-bundle-error-disabled" { + value 67; + description + "Bundle has been error-disabled"; + } + enum "bm-mbr-state-reason-bundle-efd-disabled" { + value 68; + description + "Bundle has been disabled by EFD"; + } + enum "bm-mbr-state-reason-singleton-pe-isolated" { + value 69; + description + "Singleton ICCP group is isolated from the core + network"; + } + enum "bm-mbr-state-reason-bfd-ipv6-starting" { + value 70; + description + "Link is waiting for BFDv6 session to start"; + } + enum "bm-mbr-state-reason-bfd-ipv6-down" { + value 71; + description + "BFDv6 state of this link is Down"; + } + enum "bm-mbr-state-reason-bfd-ipv6-nbr-unconfig" { + value 72; + description + "BFDv6 session is unconfigured on the remote end"; + } + enum "bm-mbr-state-reason-timer-running" { + value 73; + description + "LACP delay timer is running"; + } + enum "bm-mbr-state-reason-client-bundle-ctrl" { + value 74; + description + "Client has configured the bundle state Down"; + } + enum "bm-mbr-state-reason-lacp-oos" { + value 75; + description + "Link is in standby due to bundle out of service + state"; + } + enum "bm-mbr-state-reason-errdis-bundle-oos" { + value 76; + description + "Link is error-disabled due to bundle out of + service state"; + } + enum "bm-mbr-state-reason-plat-data" { + value 77; + description + "Incompatible with other links platform data in + the bundle (Etm vs non ETM)"; + } + enum "bm-mbr-state-reason-count" { + value 78; + description + "Enumeration maximum value"; + } + } + description + "Bm mbr state reason"; + } + + typedef Bm-muxstate { + type enumeration { + enum "detached" { + value 1; + description + "Port is not attached to a bundle"; + } + enum "waiting" { + value 2; + description + "Port has chosen bundle and is waiting to join"; + } + enum "attached" { + value 3; + description + "Port is attached to the bundle but not active"; + } + enum "collecting" { + value 4; + description + "Port is ready to receive data"; + } + enum "distributing" { + value 5; + description + "Port is distributing data"; + } + enum "collecting-distributing" { + value 6; + description + "Port is active and can send and receive data"; + } + } + description + "Bm muxstate"; + } + + typedef Srp-mgmt-srr-failure { + type enumeration { + enum "idle-srr-failure" { + description + "Idle"; + } + enum "wait-to-restore-srr-failure" { + description + "Wait To Restore"; + } + enum "signal-fail-srr-failure" { + description + "Signal Fail"; + } + enum "forced-switch-srr-failure" { + description + "Forced Switch"; + } + enum "unknown-srr-failure" { + description + "UNKNOWN"; + } + } + description + "SRP SRR failure type"; + } + + typedef Srp-mgmt-srr-node-state { + type enumeration { + enum "idle-srr-state" { + description + "Idle"; + } + enum "discovery-srr-state" { + description + "Discovery"; + } + enum "unknown-srr-state" { + description + "UNKNOWN"; + } + } + description + "SRP SRR node state"; + } + + typedef Srp-mgmt-ips-path-ind { + type enumeration { + enum "short-path" { + description + "SHORT"; + } + enum "long-path" { + description + "LONG"; + } + enum "unknown-path" { + description + "UNKNOWN"; + } + } + description + "SRP IPS path indication"; + } + + typedef Srp-mgmt-failure-state-et { + type enumeration { + enum "idle-failure-state" { + description + "Idle"; + } + enum "wait-to-restore-failure-state" { + description + "Wait To Restore"; + } + enum "manual-switch-failure-state" { + description + "Manual Switch"; + } + enum "signal-degrade-failure-state" { + description + "Signal Degrade"; + } + enum "signal-fail-failure-state" { + description + "Signal Fail"; + } + enum "forced-switch-failure-state" { + description + "Forced Switch"; + } + enum "shutdown-failure-state" { + description + "Shutdown"; + } + enum "invalid-failure-state" { + description + "Invalid"; + } + enum "unknown-failure-state" { + description + "Unknown"; + } + } + description + "SRP failure state type"; + } + + typedef Srp-mgmt-failure-et { + type enumeration { + enum "hardware-missing-failure" { + description + "Hardware missing"; + } + enum "layer1-admin-state-failure" { + description + "L1 admin state"; + } + enum "layer1-error-failure" { + description + "Layer 1 error"; + } + enum "keepalive-missed-failure" { + description + "Keepalive missed"; + } + enum "link-quality-degraded-failure" { + description + "Link quality degraded"; + } + enum "mate-problem-failure" { + description + "Mate problem"; + } + enum "side-mismatch-failure" { + description + "Side mismatch"; + } + enum "unknown-failure" { + description + "Unknown"; + } + } + description + "SRP failure type"; + } + + typedef Srp-mgmt-ips-req { + type enumeration { + enum "idle-ips-request" { + description + "Idle"; + } + enum "wait-to-restore-ips-request" { + description + "Wait To Restore"; + } + enum "manual-switch-ips-request" { + description + "Manual Switch"; + } + enum "signal-degrade-ips-request" { + description + "Signal Degrade"; + } + enum "signal-fail-ips-request" { + description + "Signal Fail"; + } + enum "forced-switch-ips-request" { + description + "Forced Switch"; + } + enum "unknown-ips-request" { + description + "UNKNOWN"; + } + } + description + "SRP IPS request type"; + } + + typedef Srp-mgmt-ips-wrap-state { + type enumeration { + enum "idle-wrap-state" { + description + "Idle"; + } + enum "wrapped-state" { + description + "Wrapped"; + } + enum "locked-out-wrap-state" { + description + "Locked out"; + } + enum "unknown-wrap-state" { + description + "UNKNOWN"; + } + } + description + "SRP IPS side wrap state"; + } + + typedef Im-cmd-intf-type-enum { + type enumeration { + enum "srp" { + description + "srp"; + } + enum "tunnel" { + description + "tunnel"; + } + enum "bundle" { + description + "bundle"; + } + enum "serial" { + description + "serial"; + } + enum "sonet-pos" { + description + "sonet pos"; + } + enum "tunnel-gre" { + description + "tunnel gre"; + } + enum "pseudowire-head-end" { + description + "pseudowire head end"; + } + enum "cem" { + description + "cem"; + } + enum "gcc" { + description + "gcc"; + } + } + description + "Im cmd intf type enum"; + } + + typedef Ncp-ident { + type enumeration { + enum "cdpcp" { + value 1; + description + "CDP control protocol"; + } + enum "ipcp" { + value 2; + description + "IPv4 control protocol"; + } + enum "ipcpiw" { + value 3; + description + "IPv4 Interworking control protocol"; + } + enum "ipv6cp" { + value 4; + description + "IPv6 control protocol"; + } + enum "mplscp" { + value 5; + description + "MPLS control protocol"; + } + enum "osicp" { + value 6; + description + "OSI (CLNS) control protocol"; + } + } + description + "Ncp ident"; + } + + typedef Ppp-fsm-state { + type enumeration { + enum "ppp-fsm-state-initial-0" { + value 0; + description + "Connection Idle"; + } + enum "ppp-fsm-state-starting-1" { + value 1; + description + "This layer required, but lower layer down"; + } + enum "ppp-fsm-state-closed-2" { + value 2; + description + "Lower layer up, but this layer not required"; + } + enum "ppp-fsm-state-stopped-3" { + value 3; + description + "Listening for a Config Request"; + } + enum "ppp-fsm-state-closing-4" { + value 4; + description + "Shutting down due to local change"; + } + enum "ppp-fsm-state-stopping-5" { + value 5; + description + "Shutting down due to peer's actions"; + } + enum "ppp-fsm-state-req-sent-6" { + value 6; + description + "Config Request Sent"; + } + enum "ppp-fsm-state-ack-rcvd-7" { + value 7; + description + "Config Ack Received"; + } + enum "ppp-fsm-state-ack-sent-8" { + value 8; + description + "Config Ack Sent"; + } + enum "ppp-fsm-state-opened-9" { + value 9; + description + "Connection Open"; + } + } + description + "Ppp fsm state"; + } + + typedef Vlan-switched-mode { + type enumeration { + enum "none" { + value 0; + description + "Disabled"; + } + enum "trunk-port" { + value 1; + description + "Trunk port"; + } + enum "access-port" { + value 2; + description + "Access port"; + } + } + description + "VLAN-Switched mode"; + } + + typedef Mac-address { + type yang:mac-address; + description + "MAC address type"; + } + + typedef Efp-payload-etype { + type enumeration { + enum "payload-ethertype-any" { + value 0; + description + "Any"; + } + enum "payload-ethertype-ip" { + value 1; + description + "IP"; + } + enum "payload-ethertype-pppoe" { + value 2; + description + "PPPoE"; + } + } + description + "Payload ethertype match"; + } + + typedef Efp-tag-priority { + type enumeration { + enum "priority0" { + value 0; + description + "Priority 0"; + } + enum "priority1" { + value 1; + description + "Priority 1"; + } + enum "priority2" { + value 2; + description + "Priority 2"; + } + enum "priority3" { + value 3; + description + "Priority 3"; + } + enum "priority4" { + value 4; + description + "Priority 4"; + } + enum "priority5" { + value 5; + description + "Priority 5"; + } + enum "priority6" { + value 6; + description + "Priority 6"; + } + enum "priority7" { + value 7; + description + "Priority 7"; + } + enum "priority-any" { + value 8; + description + "Any priority"; + } + } + description + "Priority"; + } + + typedef Efp-tag-etype { + type enumeration { + enum "untagged" { + value 0; + description + "Untagged"; + } + enum "dot1q" { + value 33024; + description + "Dot1Q"; + } + enum "dot1ad" { + value 34984; + description + "Dot1ad"; + } + } + description + "Tag ethertype"; + } + + typedef Vlan-tag-value { + type uint16; + description + "VLAN Tag Value (1 - 4094)"; + } + + typedef Vlan-encaps { + type enumeration { + enum "no-encapsulation" { + value 0; + description + "No encapsulation"; + } + enum "dot1q" { + value 1; + description + "IEEE 802.1Q encapsulation"; + } + enum "qinq" { + value 2; + description + "Double 802.1Q encapsulation"; + } + enum "qin-any" { + value 3; + description + "Double 802.1Q wildcarded encapsulation"; + } + enum "dot1q-native" { + value 4; + description + "IEEE 802.1Q native VLAN encapsulation"; + } + enum "dot1ad" { + value 5; + description + "IEEE 802.1ad encapsulation"; + } + enum "dot1ad-native" { + value 6; + description + "IEEE 802.1ad native VLAN encapsulation"; + } + enum "service-instance" { + value 7; + description + "Ethernet Service Instance"; + } + enum "dot1ad-dot1q" { + value 8; + description + "IEEE 802.1ad 802.1Q encapsulation"; + } + enum "dot1ad-any" { + value 9; + description + "IEEE 802.1ad wildcard 802.1Q encapsulation"; + } + } + description + "VLAN encapsulation"; + } + + typedef Im-cmd-lmi-type-enum { + type enumeration { + enum "lmi-type-auto" { + description + "lmi type auto"; + } + enum "lmi-type-ansi" { + description + "lmi type ansi"; + } + enum "lmi-type-ccitt" { + description + "lmi type ccitt"; + } + enum "lmi-type-cisco" { + description + "lmi type cisco"; + } + } + description + "Im cmd lmi type enum"; + } + + typedef Im-cmd-fr-type-enum { + type enumeration { + enum "frame-relay-cisco" { + description + "frame relay cisco"; + } + enum "frame-relay-ietf" { + description + "frame relay ietf"; + } + } + description + "Im cmd fr type enum"; + } + + typedef Im-cmd-encaps-enum { + type enumeration { + enum "frame-relay" { + description + "frame relay"; + } + enum "vlan" { + description + "vlan"; + } + enum "ppp" { + description + "ppp"; + } + } + description + "Im cmd encaps enum"; + } + + typedef Im-attr-transport-mode { + type enumeration { + enum "im-attr-transport-mode-unknown" { + value 0; + description + "im attr transport mode unknown"; + } + enum "im-attr-transport-mode-lan" { + value 1; + description + "im attr transport mode lan"; + } + enum "im-attr-transport-mode-wan" { + value 2; + description + "im attr transport mode wan"; + } + enum "im-attr-transport-mode-otn-bt-opu1e" { + value 3; + description + "im attr transport mode otn bt opu1e"; + } + enum "im-attr-transport-mode-otn-bt-opu2e" { + value 4; + description + "im attr transport mode otn bt opu2e"; + } + enum "im-attr-transport-mode-otn-opu3" { + value 5; + description + "im attr transport mode otn opu3"; + } + enum "im-attr-transport-mode-otn-opu4" { + value 6; + description + "im attr transport mode otn opu4"; + } + } + description + "Im attr transport mode"; + } + + typedef Im-cmd-loopback-enum { + type enumeration { + enum "no-loopback" { + description + "no loopback"; + } + enum "internal-loopback" { + description + "internal loopback"; + } + enum "external-loopback" { + description + "external loopback"; + } + enum "line-loopback" { + description + "line loopback"; + } + } + description + "Im cmd loopback enum"; + } + + typedef Im-attr-flow-control { + type enumeration { + enum "im-attr-flow-control-off" { + value 0; + description + "im attr flow control off"; + } + enum "im-attr-flow-control-on" { + value 1; + description + "im attr flow control on"; + } + enum "im-attr-flow-control-not-sup" { + value 2; + description + "im attr flow control not sup"; + } + enum "im-attr-flow-control-priority" { + value 3; + description + "im attr flow control priority"; + } + } + description + "Im attr flow control"; + } + + typedef Im-attr-link { + type enumeration { + enum "im-attr-link-type-auto" { + value 0; + description + "im attr link type auto"; + } + enum "im-attr-link-type-force" { + value 1; + description + "im attr link type force"; + } + } + description + "Im attr link"; + } + + typedef Im-attr-media { + type enumeration { + enum "im-attr-media-other" { + value 0; + description + "im attr media other"; + } + enum "im-attr-media-unknown" { + value 1; + description + "im attr media unknown"; + } + enum "im-attr-media-aui" { + value 2; + description + "im attr media aui"; + } + enum "im-attr-media-10base5" { + value 3; + description + "im attr media 10base5"; + } + enum "im-attr-media-foirl" { + value 4; + description + "im attr media foirl"; + } + enum "im-attr-media-10base2" { + value 5; + description + "im attr media 10base2"; + } + enum "im-attr-media-10broad36" { + value 6; + description + "im attr media 10broad36"; + } + enum "im-attr-media-10base" { + value 7; + description + "im attr media 10base"; + } + enum "im-attr-media-10base-thd" { + value 8; + description + "im attr media 10base thd"; + } + enum "im-attr-media-10base-tfd" { + value 9; + description + "im attr media 10base tfd"; + } + enum "im-attr-media-10base-fp" { + value 10; + description + "im attr media 10base fp"; + } + enum "im-attr-media-10base-fb" { + value 11; + description + "im attr media 10base fb"; + } + enum "im-attr-media-10base-fl" { + value 12; + description + "im attr media 10base fl"; + } + enum "im-attr-media-10base-flhd" { + value 13; + description + "im attr media 10base flhd"; + } + enum "im-attr-media-10base-flfd" { + value 14; + description + "im attr media 10base flfd"; + } + enum "im-attr-media-100base-t4" { + value 15; + description + "im attr media 100base t4"; + } + enum "im-attr-media-100base-tx" { + value 16; + description + "im attr media 100base tx"; + } + enum "im-attr-media-100base-txhd" { + value 17; + description + "im attr media 100base txhd"; + } + enum "im-attr-media-100base-txfd" { + value 18; + description + "im attr media 100base txfd"; + } + enum "im-attr-media-100base-fx" { + value 19; + description + "im attr media 100base fx"; + } + enum "im-attr-media-100base-fxhd" { + value 20; + description + "im attr media 100base fxhd"; + } + enum "im-attr-media-100base-fxfd" { + value 21; + description + "im attr media 100base fxfd"; + } + enum "im-attr-media-100base-ex" { + value 22; + description + "im attr media 100base ex"; + } + enum "im-attr-media-100base-exhd" { + value 23; + description + "im attr media 100base exhd"; + } + enum "im-attr-media-100base-exfd" { + value 24; + description + "im attr media 100base exfd"; + } + enum "im-attr-media-100base-t2" { + value 25; + description + "im attr media 100base t2"; + } + enum "im-attr-media-100base-t2hd" { + value 26; + description + "im attr media 100base t2hd"; + } + enum "im-attr-media-100base-t2fd" { + value 27; + description + "im attr media 100base t2fd"; + } + enum "im-attr-media-1000base-x" { + value 28; + description + "im attr media 1000base x"; + } + enum "im-attr-media-1000base-xhdx" { + value 29; + description + "im attr media 1000base xhdx"; + } + enum "im-attr-media-1000base-xfd" { + value 30; + description + "im attr media 1000base xfd"; + } + enum "im-attr-media-1000base-lx" { + value 31; + description + "im attr media 1000base lx"; + } + enum "im-attr-media-1000base-lxhd" { + value 32; + description + "im attr media 1000base lxhd"; + } + enum "im-attr-media-1000base-lxfdx" { + value 33; + description + "im attr media 1000base lxfdx"; + } + enum "im-attr-media-1000base-sx" { + value 34; + description + "im attr media 1000base sx"; + } + enum "im-attr-media-1000base-sxhd" { + value 35; + description + "im attr media 1000base sxhd"; + } + enum "im-attr-media-1000base-sxfd" { + value 36; + description + "im attr media 1000base sxfd"; + } + enum "im-attr-media-1000base-cx" { + value 37; + description + "im attr media 1000base cx"; + } + enum "im-attr-media-1000base-cxhdx" { + value 38; + description + "im attr media 1000base cxhdx"; + } + enum "im-attr-media-1000base-cxfd" { + value 39; + description + "im attr media 1000base cxfd"; + } + enum "im-attr-media-1000base" { + value 40; + description + "im attr media 1000base"; + } + enum "im-attr-media-1000base-thd" { + value 41; + description + "im attr media 1000base thd"; + } + enum "im-attr-media-1000base-tfd" { + value 42; + description + "im attr media 1000base tfd"; + } + enum "im-attr-media-10gbase-x" { + value 43; + description + "im attr media 10gbase x"; + } + enum "im-attr-media-10gbase-lx4" { + value 44; + description + "im attr media 10gbase lx4"; + } + enum "im-attr-media-10gbase-r" { + value 45; + description + "im attr media 10gbase r"; + } + enum "im-attr-media-10gbase-er" { + value 46; + description + "im attr media 10gbase er"; + } + enum "im-attr-media-10gbase-lr" { + value 47; + description + "im attr media 10gbase lr"; + } + enum "im-attr-media-10gbase-sr" { + value 48; + description + "im attr media 10gbase sr"; + } + enum "im-attr-media-10gbase-csr" { + value 49; + description + "im attr media 10gbase csr"; + } + enum "im-attr-media-10gbase-w" { + value 50; + description + "im attr media 10gbase w"; + } + enum "im-attr-media-10gbase-ew" { + value 51; + description + "im attr media 10gbase ew"; + } + enum "im-attr-media-10gbase-lw" { + value 52; + description + "im attr media 10gbase lw"; + } + enum "im-attr-media-10gbase-sw" { + value 53; + description + "im attr media 10gbase sw"; + } + enum "im-attr-media-10gbase-zr" { + value 54; + description + "im attr media 10gbase zr"; + } + enum "im-attr-media-802-9a" { + value 55; + description + "im attr media 802 9a"; + } + enum "im-attr-media-rj45" { + value 56; + description + "im attr media rj45"; + } + enum "im-attr-media-1000base-zx" { + value 57; + description + "im attr media 1000base zx"; + } + enum "im-attr-media-1000base-cwdm" { + value 58; + description + "im attr media 1000base cwdm"; + } + enum "im-attr-media-1000base-cwdm-1470" { + value 59; + description + "im attr media 1000base cwdm 1470"; + } + enum "im-attr-media-1000base-cwdm-1490" { + value 60; + description + "im attr media 1000base cwdm 1490"; + } + enum "im-attr-media-1000base-cwdm-1510" { + value 61; + description + "im attr media 1000base cwdm 1510"; + } + enum "im-attr-media-1000base-cwdm-1530" { + value 62; + description + "im attr media 1000base cwdm 1530"; + } + enum "im-attr-media-1000base-cwdm-1550" { + value 63; + description + "im attr media 1000base cwdm 1550"; + } + enum "im-attr-media-1000base-cwdm-1570" { + value 64; + description + "im attr media 1000base cwdm 1570"; + } + enum "im-attr-media-1000base-cwdm-1590" { + value 65; + description + "im attr media 1000base cwdm 1590"; + } + enum "im-attr-media-1000base-cwdm-1610" { + value 66; + description + "im attr media 1000base cwdm 1610"; + } + enum "im-attr-media-10gbase-dwdm" { + value 67; + description + "im attr media 10gbase dwdm"; + } + enum "im-attr-media-100gbase-lr4" { + value 68; + description + "im attr media 100gbase lr4"; + } + enum "im-attr-media-1000base-dwdm" { + value 69; + description + "im attr media 1000base dwdm"; + } + enum "im-attr-media-1000base-dwdm-1533" { + value 70; + description + "im attr media 1000base dwdm 1533"; + } + enum "im-attr-media-1000base-dwdm-1537" { + value 71; + description + "im attr media 1000base dwdm 1537"; + } + enum "im-attr-media-1000base-dwdm-1541" { + value 72; + description + "im attr media 1000base dwdm 1541"; + } + enum "im-attr-media-1000base-dwdm-1545" { + value 73; + description + "im attr media 1000base dwdm 1545"; + } + enum "im-attr-media-1000base-dwdm-1549" { + value 74; + description + "im attr media 1000base dwdm 1549"; + } + enum "im-attr-media-1000base-dwdm-1553" { + value 75; + description + "im attr media 1000base dwdm 1553"; + } + enum "im-attr-media-1000base-dwdm-1557" { + value 76; + description + "im attr media 1000base dwdm 1557"; + } + enum "im-attr-media-1000base-dwdm-1561" { + value 77; + description + "im attr media 1000base dwdm 1561"; + } + enum "im-attr-media-40gbase-lr4" { + value 78; + description + "im attr media 40gbase lr4"; + } + enum "im-attr-media-40gbase-er4" { + value 79; + description + "im attr media 40gbase er4"; + } + enum "im-attr-media-100gbase-er4" { + value 80; + description + "im attr media 100gbase er4"; + } + enum "im-attr-media-1000base-ex" { + value 81; + description + "im attr media 1000base ex"; + } + enum "im-attr-media-1000base-bx10-d" { + value 82; + description + "im attr media 1000base bx10 d"; + } + enum "im-attr-media-1000base-bx10-u" { + value 83; + description + "im attr media 1000base bx10 u"; + } + enum "im-attr-media-1000base-dwdm-1561-42" { + value 84; + description + "im attr media 1000base dwdm 1561 42"; + } + enum "im-attr-media-1000base-dwdm-1560-61" { + value 85; + description + "im attr media 1000base dwdm 1560 61"; + } + enum "im-attr-media-1000base-dwdm-1559-79" { + value 86; + description + "im attr media 1000base dwdm 1559 79"; + } + enum "im-attr-media-1000base-dwdm-1558-98" { + value 87; + description + "im attr media 1000base dwdm 1558 98"; + } + enum "im-attr-media-1000base-dwdm-1558-17" { + value 88; + description + "im attr media 1000base dwdm 1558 17"; + } + enum "im-attr-media-1000base-dwdm-1557-36" { + value 89; + description + "im attr media 1000base dwdm 1557 36"; + } + enum "im-attr-media-1000base-dwdm-1556-55" { + value 90; + description + "im attr media 1000base dwdm 1556 55"; + } + enum "im-attr-media-1000base-dwdm-1555-75" { + value 91; + description + "im attr media 1000base dwdm 1555 75"; + } + enum "im-attr-media-1000base-dwdm-1554-94" { + value 92; + description + "im attr media 1000base dwdm 1554 94"; + } + enum "im-attr-media-1000base-dwdm-1554-13" { + value 93; + description + "im attr media 1000base dwdm 1554 13"; + } + enum "im-attr-media-1000base-dwdm-1553-33" { + value 94; + description + "im attr media 1000base dwdm 1553 33"; + } + enum "im-attr-media-1000base-dwdm-1552-52" { + value 95; + description + "im attr media 1000base dwdm 1552 52"; + } + enum "im-attr-media-1000base-dwdm-1551-72" { + value 96; + description + "im attr media 1000base dwdm 1551 72"; + } + enum "im-attr-media-1000base-dwdm-1550-92" { + value 97; + description + "im attr media 1000base dwdm 1550 92"; + } + enum "im-attr-media-1000base-dwdm-1550-12" { + value 98; + description + "im attr media 1000base dwdm 1550 12"; + } + enum "im-attr-media-1000base-dwdm-1549-32" { + value 99; + description + "im attr media 1000base dwdm 1549 32"; + } + enum "im-attr-media-1000base-dwdm-1548-51" { + value 100; + description + "im attr media 1000base dwdm 1548 51"; + } + enum "im-attr-media-1000base-dwdm-1547-72" { + value 101; + description + "im attr media 1000base dwdm 1547 72"; + } + enum "im-attr-media-1000base-dwdm-1546-92" { + value 102; + description + "im attr media 1000base dwdm 1546 92"; + } + enum "im-attr-media-1000base-dwdm-1546-12" { + value 103; + description + "im attr media 1000base dwdm 1546 12"; + } + enum "im-attr-media-1000base-dwdm-1545-32" { + value 104; + description + "im attr media 1000base dwdm 1545 32"; + } + enum "im-attr-media-1000base-dwdm-1544-53" { + value 105; + description + "im attr media 1000base dwdm 1544 53"; + } + enum "im-attr-media-1000base-dwdm-1543-73" { + value 106; + description + "im attr media 1000base dwdm 1543 73"; + } + enum "im-attr-media-1000base-dwdm-1542-94" { + value 107; + description + "im attr media 1000base dwdm 1542 94"; + } + enum "im-attr-media-1000base-dwdm-1542-14" { + value 108; + description + "im attr media 1000base dwdm 1542 14"; + } + enum "im-attr-media-1000base-dwdm-1541-35" { + value 109; + description + "im attr media 1000base dwdm 1541 35"; + } + enum "im-attr-media-1000base-dwdm-1540-56" { + value 110; + description + "im attr media 1000base dwdm 1540 56"; + } + enum "im-attr-media-1000base-dwdm-1539-77" { + value 111; + description + "im attr media 1000base dwdm 1539 77"; + } + enum "im-attr-media-1000base-dwdm-1538-98" { + value 112; + description + "im attr media 1000base dwdm 1538 98"; + } + enum "im-attr-media-1000base-dwdm-1538-19" { + value 113; + description + "im attr media 1000base dwdm 1538 19"; + } + enum "im-attr-media-1000base-dwdm-1537-40" { + value 114; + description + "im attr media 1000base dwdm 1537 40"; + } + enum "im-attr-media-1000base-dwdm-1536-61" { + value 115; + description + "im attr media 1000base dwdm 1536 61"; + } + enum "im-attr-media-1000base-dwdm-1535-82" { + value 116; + description + "im attr media 1000base dwdm 1535 82"; + } + enum "im-attr-media-1000base-dwdm-1535-04" { + value 117; + description + "im attr media 1000base dwdm 1535 04"; + } + enum "im-attr-media-1000base-dwdm-1534-25" { + value 118; + description + "im attr media 1000base dwdm 1534 25"; + } + enum "im-attr-media-1000base-dwdm-1533-47" { + value 119; + description + "im attr media 1000base dwdm 1533 47"; + } + enum "im-attr-media-1000base-dwdm-1532-68" { + value 120; + description + "im attr media 1000base dwdm 1532 68"; + } + enum "im-attr-media-1000base-dwdm-1531-90" { + value 121; + description + "im attr media 1000base dwdm 1531 90"; + } + enum "im-attr-media-1000base-dwdm-1531-12" { + value 122; + description + "im attr media 1000base dwdm 1531 12"; + } + enum "im-attr-media-1000base-dwdm-1530-33" { + value 123; + description + "im attr media 1000base dwdm 1530 33"; + } + enum "im-attr-media-1000base-dwdm-tunable" { + value 124; + description + "im attr media 1000base dwdm tunable"; + } + enum "im-attr-media-10gbase-dwdm-1561-42" { + value 125; + description + "im attr media 10gbase dwdm 1561 42"; + } + enum "im-attr-media-10gbase-dwdm-1560-61" { + value 126; + description + "im attr media 10gbase dwdm 1560 61"; + } + enum "im-attr-media-10gbase-dwdm-1559-79" { + value 127; + description + "im attr media 10gbase dwdm 1559 79"; + } + enum "im-attr-media-10gbase-dwdm-1558-98" { + value 128; + description + "im attr media 10gbase dwdm 1558 98"; + } + enum "im-attr-media-10gbase-dwdm-1558-17" { + value 129; + description + "im attr media 10gbase dwdm 1558 17"; + } + enum "im-attr-media-10gbase-dwdm-1557-36" { + value 130; + description + "im attr media 10gbase dwdm 1557 36"; + } + enum "im-attr-media-10gbase-dwdm-1556-55" { + value 131; + description + "im attr media 10gbase dwdm 1556 55"; + } + enum "im-attr-media-10gbase-dwdm-1555-75" { + value 132; + description + "im attr media 10gbase dwdm 1555 75"; + } + enum "im-attr-media-10gbase-dwdm-1554-94" { + value 133; + description + "im attr media 10gbase dwdm 1554 94"; + } + enum "im-attr-media-10gbase-dwdm-1554-13" { + value 134; + description + "im attr media 10gbase dwdm 1554 13"; + } + enum "im-attr-media-10gbase-dwdm-1553-33" { + value 135; + description + "im attr media 10gbase dwdm 1553 33"; + } + enum "im-attr-media-10gbase-dwdm-1552-52" { + value 136; + description + "im attr media 10gbase dwdm 1552 52"; + } + enum "im-attr-media-10gbase-dwdm-1551-72" { + value 137; + description + "im attr media 10gbase dwdm 1551 72"; + } + enum "im-attr-media-10gbase-dwdm-1550-92" { + value 138; + description + "im attr media 10gbase dwdm 1550 92"; + } + enum "im-attr-media-10gbase-dwdm-1550-12" { + value 139; + description + "im attr media 10gbase dwdm 1550 12"; + } + enum "im-attr-media-10gbase-dwdm-1549-32" { + value 140; + description + "im attr media 10gbase dwdm 1549 32"; + } + enum "im-attr-media-10gbase-dwdm-1548-51" { + value 141; + description + "im attr media 10gbase dwdm 1548 51"; + } + enum "im-attr-media-10gbase-dwdm-1547-72" { + value 142; + description + "im attr media 10gbase dwdm 1547 72"; + } + enum "im-attr-media-10gbase-dwdm-1546-92" { + value 143; + description + "im attr media 10gbase dwdm 1546 92"; + } + enum "im-attr-media-10gbase-dwdm-1546-12" { + value 144; + description + "im attr media 10gbase dwdm 1546 12"; + } + enum "im-attr-media-10gbase-dwdm-1545-32" { + value 145; + description + "im attr media 10gbase dwdm 1545 32"; + } + enum "im-attr-media-10gbase-dwdm-1544-53" { + value 146; + description + "im attr media 10gbase dwdm 1544 53"; + } + enum "im-attr-media-10gbase-dwdm-1543-73" { + value 147; + description + "im attr media 10gbase dwdm 1543 73"; + } + enum "im-attr-media-10gbase-dwdm-1542-94" { + value 148; + description + "im attr media 10gbase dwdm 1542 94"; + } + enum "im-attr-media-10gbase-dwdm-1542-14" { + value 149; + description + "im attr media 10gbase dwdm 1542 14"; + } + enum "im-attr-media-10gbase-dwdm-1541-35" { + value 150; + description + "im attr media 10gbase dwdm 1541 35"; + } + enum "im-attr-media-10gbase-dwdm-1540-56" { + value 151; + description + "im attr media 10gbase dwdm 1540 56"; + } + enum "im-attr-media-10gbase-dwdm-1539-77" { + value 152; + description + "im attr media 10gbase dwdm 1539 77"; + } + enum "im-attr-media-10gbase-dwdm-1538-98" { + value 153; + description + "im attr media 10gbase dwdm 1538 98"; + } + enum "im-attr-media-10gbase-dwdm-1538-19" { + value 154; + description + "im attr media 10gbase dwdm 1538 19"; + } + enum "im-attr-media-10gbase-dwdm-1537-40" { + value 155; + description + "im attr media 10gbase dwdm 1537 40"; + } + enum "im-attr-media-10gbase-dwdm-1536-61" { + value 156; + description + "im attr media 10gbase dwdm 1536 61"; + } + enum "im-attr-media-10gbase-dwdm-1535-82" { + value 157; + description + "im attr media 10gbase dwdm 1535 82"; + } + enum "im-attr-media-10gbase-dwdm-1535-04" { + value 158; + description + "im attr media 10gbase dwdm 1535 04"; + } + enum "im-attr-media-10gbase-dwdm-1534-25" { + value 159; + description + "im attr media 10gbase dwdm 1534 25"; + } + enum "im-attr-media-10gbase-dwdm-1533-47" { + value 160; + description + "im attr media 10gbase dwdm 1533 47"; + } + enum "im-attr-media-10gbase-dwdm-1532-68" { + value 161; + description + "im attr media 10gbase dwdm 1532 68"; + } + enum "im-attr-media-10gbase-dwdm-1531-90" { + value 162; + description + "im attr media 10gbase dwdm 1531 90"; + } + enum "im-attr-media-10gbase-dwdm-1531-12" { + value 163; + description + "im attr media 10gbase dwdm 1531 12"; + } + enum "im-attr-media-10gbase-dwdm-1530-33" { + value 164; + description + "im attr media 10gbase dwdm 1530 33"; + } + enum "im-attr-media-10gbase-dwdm-tunable" { + value 165; + description + "im attr media 10gbase dwdm tunable"; + } + enum "im-attr-media-40gbase-dwdm-1561-42" { + value 166; + description + "im attr media 40gbase dwdm 1561 42"; + } + enum "im-attr-media-40gbase-dwdm-1560-61" { + value 167; + description + "im attr media 40gbase dwdm 1560 61"; + } + enum "im-attr-media-40gbase-dwdm-1559-79" { + value 168; + description + "im attr media 40gbase dwdm 1559 79"; + } + enum "im-attr-media-40gbase-dwdm-1558-98" { + value 169; + description + "im attr media 40gbase dwdm 1558 98"; + } + enum "im-attr-media-40gbase-dwdm-1558-17" { + value 170; + description + "im attr media 40gbase dwdm 1558 17"; + } + enum "im-attr-media-40gbase-dwdm-1557-36" { + value 171; + description + "im attr media 40gbase dwdm 1557 36"; + } + enum "im-attr-media-40gbase-dwdm-1556-55" { + value 172; + description + "im attr media 40gbase dwdm 1556 55"; + } + enum "im-attr-media-40gbase-dwdm-1555-75" { + value 173; + description + "im attr media 40gbase dwdm 1555 75"; + } + enum "im-attr-media-40gbase-dwdm-1554-94" { + value 174; + description + "im attr media 40gbase dwdm 1554 94"; + } + enum "im-attr-media-40gbase-dwdm-1554-13" { + value 175; + description + "im attr media 40gbase dwdm 1554 13"; + } + enum "im-attr-media-40gbase-dwdm-1553-33" { + value 176; + description + "im attr media 40gbase dwdm 1553 33"; + } + enum "im-attr-media-40gbase-dwdm-1552-52" { + value 177; + description + "im attr media 40gbase dwdm 1552 52"; + } + enum "im-attr-media-40gbase-dwdm-1551-72" { + value 178; + description + "im attr media 40gbase dwdm 1551 72"; + } + enum "im-attr-media-40gbase-dwdm-1550-92" { + value 179; + description + "im attr media 40gbase dwdm 1550 92"; + } + enum "im-attr-media-40gbase-dwdm-1550-12" { + value 180; + description + "im attr media 40gbase dwdm 1550 12"; + } + enum "im-attr-media-40gbase-dwdm-1549-32" { + value 181; + description + "im attr media 40gbase dwdm 1549 32"; + } + enum "im-attr-media-40gbase-dwdm-1548-51" { + value 182; + description + "im attr media 40gbase dwdm 1548 51"; + } + enum "im-attr-media-40gbase-dwdm-1547-72" { + value 183; + description + "im attr media 40gbase dwdm 1547 72"; + } + enum "im-attr-media-40gbase-dwdm-1546-92" { + value 184; + description + "im attr media 40gbase dwdm 1546 92"; + } + enum "im-attr-media-40gbase-dwdm-1546-12" { + value 185; + description + "im attr media 40gbase dwdm 1546 12"; + } + enum "im-attr-media-40gbase-dwdm-1545-32" { + value 186; + description + "im attr media 40gbase dwdm 1545 32"; + } + enum "im-attr-media-40gbase-dwdm-1544-53" { + value 187; + description + "im attr media 40gbase dwdm 1544 53"; + } + enum "im-attr-media-40gbase-dwdm-1543-73" { + value 188; + description + "im attr media 40gbase dwdm 1543 73"; + } + enum "im-attr-media-40gbase-dwdm-1542-94" { + value 189; + description + "im attr media 40gbase dwdm 1542 94"; + } + enum "im-attr-media-40gbase-dwdm-1542-14" { + value 190; + description + "im attr media 40gbase dwdm 1542 14"; + } + enum "im-attr-media-40gbase-dwdm-1541-35" { + value 191; + description + "im attr media 40gbase dwdm 1541 35"; + } + enum "im-attr-media-40gbase-dwdm-1540-56" { + value 192; + description + "im attr media 40gbase dwdm 1540 56"; + } + enum "im-attr-media-40gbase-dwdm-1539-77" { + value 193; + description + "im attr media 40gbase dwdm 1539 77"; + } + enum "im-attr-media-40gbase-dwdm-1538-98" { + value 194; + description + "im attr media 40gbase dwdm 1538 98"; + } + enum "im-attr-media-40gbase-dwdm-1538-19" { + value 195; + description + "im attr media 40gbase dwdm 1538 19"; + } + enum "im-attr-media-40gbase-dwdm-1537-40" { + value 196; + description + "im attr media 40gbase dwdm 1537 40"; + } + enum "im-attr-media-40gbase-dwdm-1536-61" { + value 197; + description + "im attr media 40gbase dwdm 1536 61"; + } + enum "im-attr-media-40gbase-dwdm-1535-82" { + value 198; + description + "im attr media 40gbase dwdm 1535 82"; + } + enum "im-attr-media-40gbase-dwdm-1535-04" { + value 199; + description + "im attr media 40gbase dwdm 1535 04"; + } + enum "im-attr-media-40gbase-dwdm-1534-25" { + value 200; + description + "im attr media 40gbase dwdm 1534 25"; + } + enum "im-attr-media-40gbase-dwdm-1533-47" { + value 201; + description + "im attr media 40gbase dwdm 1533 47"; + } + enum "im-attr-media-40gbase-dwdm-1532-68" { + value 202; + description + "im attr media 40gbase dwdm 1532 68"; + } + enum "im-attr-media-40gbase-dwdm-1531-90" { + value 203; + description + "im attr media 40gbase dwdm 1531 90"; + } + enum "im-attr-media-40gbase-dwdm-1531-12" { + value 204; + description + "im attr media 40gbase dwdm 1531 12"; + } + enum "im-attr-media-40gbase-dwdm-1530-33" { + value 205; + description + "im attr media 40gbase dwdm 1530 33"; + } + enum "im-attr-media-40gbase-dwdm-tunable" { + value 206; + description + "im attr media 40gbase dwdm tunable"; + } + enum "im-attr-media-100gbase-dwdm-1561-42" { + value 207; + description + "im attr media 100gbase dwdm 1561 42"; + } + enum "im-attr-media-100gbase-dwdm-1560-61" { + value 208; + description + "im attr media 100gbase dwdm 1560 61"; + } + enum "im-attr-media-100gbase-dwdm-1559-79" { + value 209; + description + "im attr media 100gbase dwdm 1559 79"; + } + enum "im-attr-media-100gbase-dwdm-1558-98" { + value 210; + description + "im attr media 100gbase dwdm 1558 98"; + } + enum "im-attr-media-100gbase-dwdm-1558-17" { + value 211; + description + "im attr media 100gbase dwdm 1558 17"; + } + enum "im-attr-media-100gbase-dwdm-1557-36" { + value 212; + description + "im attr media 100gbase dwdm 1557 36"; + } + enum "im-attr-media-100gbase-dwdm-1556-55" { + value 213; + description + "im attr media 100gbase dwdm 1556 55"; + } + enum "im-attr-media-100gbase-dwdm-1555-75" { + value 214; + description + "im attr media 100gbase dwdm 1555 75"; + } + enum "im-attr-media-100gbase-dwdm-1554-94" { + value 215; + description + "im attr media 100gbase dwdm 1554 94"; + } + enum "im-attr-media-100gbase-dwdm-1554-13" { + value 216; + description + "im attr media 100gbase dwdm 1554 13"; + } + enum "im-attr-media-100gbase-dwdm-1553-33" { + value 217; + description + "im attr media 100gbase dwdm 1553 33"; + } + enum "im-attr-media-100gbase-dwdm-1552-52" { + value 218; + description + "im attr media 100gbase dwdm 1552 52"; + } + enum "im-attr-media-100gbase-dwdm-1551-72" { + value 219; + description + "im attr media 100gbase dwdm 1551 72"; + } + enum "im-attr-media-100gbase-dwdm-1550-92" { + value 220; + description + "im attr media 100gbase dwdm 1550 92"; + } + enum "im-attr-media-100gbase-dwdm-1550-12" { + value 221; + description + "im attr media 100gbase dwdm 1550 12"; + } + enum "im-attr-media-100gbase-dwdm-1549-32" { + value 222; + description + "im attr media 100gbase dwdm 1549 32"; + } + enum "im-attr-media-100gbase-dwdm-1548-51" { + value 223; + description + "im attr media 100gbase dwdm 1548 51"; + } + enum "im-attr-media-100gbase-dwdm-1547-72" { + value 224; + description + "im attr media 100gbase dwdm 1547 72"; + } + enum "im-attr-media-100gbase-dwdm-1546-92" { + value 225; + description + "im attr media 100gbase dwdm 1546 92"; + } + enum "im-attr-media-100gbase-dwdm-1546-12" { + value 226; + description + "im attr media 100gbase dwdm 1546 12"; + } + enum "im-attr-media-100gbase-dwdm-1545-32" { + value 227; + description + "im attr media 100gbase dwdm 1545 32"; + } + enum "im-attr-media-100gbase-dwdm-1544-53" { + value 228; + description + "im attr media 100gbase dwdm 1544 53"; + } + enum "im-attr-media-100gbase-dwdm-1543-73" { + value 229; + description + "im attr media 100gbase dwdm 1543 73"; + } + enum "im-attr-media-100gbase-dwdm-1542-94" { + value 230; + description + "im attr media 100gbase dwdm 1542 94"; + } + enum "im-attr-media-100gbase-dwdm-1542-14" { + value 231; + description + "im attr media 100gbase dwdm 1542 14"; + } + enum "im-attr-media-100gbase-dwdm-1541-35" { + value 232; + description + "im attr media 100gbase dwdm 1541 35"; + } + enum "im-attr-media-100gbase-dwdm-1540-56" { + value 233; + description + "im attr media 100gbase dwdm 1540 56"; + } + enum "im-attr-media-100gbase-dwdm-1539-77" { + value 234; + description + "im attr media 100gbase dwdm 1539 77"; + } + enum "im-attr-media-100gbase-dwdm-1538-98" { + value 235; + description + "im attr media 100gbase dwdm 1538 98"; + } + enum "im-attr-media-100gbase-dwdm-1538-19" { + value 236; + description + "im attr media 100gbase dwdm 1538 19"; + } + enum "im-attr-media-100gbase-dwdm-1537-40" { + value 237; + description + "im attr media 100gbase dwdm 1537 40"; + } + enum "im-attr-media-100gbase-dwdm-1536-61" { + value 238; + description + "im attr media 100gbase dwdm 1536 61"; + } + enum "im-attr-media-100gbase-dwdm-1535-82" { + value 239; + description + "im attr media 100gbase dwdm 1535 82"; + } + enum "im-attr-media-100gbase-dwdm-1535-04" { + value 240; + description + "im attr media 100gbase dwdm 1535 04"; + } + enum "im-attr-media-100gbase-dwdm-1534-25" { + value 241; + description + "im attr media 100gbase dwdm 1534 25"; + } + enum "im-attr-media-100gbase-dwdm-1533-47" { + value 242; + description + "im attr media 100gbase dwdm 1533 47"; + } + enum "im-attr-media-100gbase-dwdm-1532-68" { + value 243; + description + "im attr media 100gbase dwdm 1532 68"; + } + enum "im-attr-media-100gbase-dwdm-1531-90" { + value 244; + description + "im attr media 100gbase dwdm 1531 90"; + } + enum "im-attr-media-100gbase-dwdm-1531-12" { + value 245; + description + "im attr media 100gbase dwdm 1531 12"; + } + enum "im-attr-media-100gbase-dwdm-1530-33" { + value 246; + description + "im attr media 100gbase dwdm 1530 33"; + } + enum "im-attr-media-100gbase-dwdm-tunable" { + value 247; + description + "im attr media 100gbase dwdm tunable"; + } + enum "im-attr-media-40gbase-kr4" { + value 248; + description + "im attr media 40gbase kr4"; + } + enum "im-attr-media-40gbase-cr4" { + value 249; + description + "im attr media 40gbase cr4"; + } + enum "im-attr-media-40gbase-sr4" { + value 250; + description + "im attr media 40gbase sr4"; + } + enum "im-attr-media-40gbase-fr" { + value 251; + description + "im attr media 40gbase fr"; + } + enum "im-attr-media-100gbase-cr10" { + value 252; + description + "im attr media 100gbase cr10"; + } + enum "im-attr-media-100gbase-sr10" { + value 253; + description + "im attr media 100gbase sr10"; + } + enum "im-attr-media-40gbase-csr4" { + value 254; + description + "im attr media 40gbase csr4"; + } + enum "im-attr-media-10gbase-cwdm" { + value 255; + description + "im attr media 10gbase cwdm"; + } + enum "im-attr-media-10gbase-cwdm-tunable" { + value 256; + description + "im attr media 10gbase cwdm tunable"; + } + enum "im-attr-media-10gbase-cwdm-1470" { + value 257; + description + "im attr media 10gbase cwdm 1470"; + } + enum "im-attr-media-10gbase-cwdm-1490" { + value 258; + description + "im attr media 10gbase cwdm 1490"; + } + enum "im-attr-media-10gbase-cwdm-1510" { + value 259; + description + "im attr media 10gbase cwdm 1510"; + } + enum "im-attr-media-10gbase-cwdm-1530" { + value 260; + description + "im attr media 10gbase cwdm 1530"; + } + enum "im-attr-media-10gbase-cwdm-1550" { + value 261; + description + "im attr media 10gbase cwdm 1550"; + } + enum "im-attr-media-10gbase-cwdm-1570" { + value 262; + description + "im attr media 10gbase cwdm 1570"; + } + enum "im-attr-media-10gbase-cwdm-1590" { + value 263; + description + "im attr media 10gbase cwdm 1590"; + } + enum "im-attr-media-10gbase-cwdm-1610" { + value 264; + description + "im attr media 10gbase cwdm 1610"; + } + enum "im-attr-media-40gbase-cwdm" { + value 265; + description + "im attr media 40gbase cwdm"; + } + enum "im-attr-media-40gbase-cwdm-tunable" { + value 266; + description + "im attr media 40gbase cwdm tunable"; + } + enum "im-attr-media-40gbase-cwdm-1470" { + value 267; + description + "im attr media 40gbase cwdm 1470"; + } + enum "im-attr-media-40gbase-cwdm-1490" { + value 268; + description + "im attr media 40gbase cwdm 1490"; + } + enum "im-attr-media-40gbase-cwdm-1510" { + value 269; + description + "im attr media 40gbase cwdm 1510"; + } + enum "im-attr-media-40gbase-cwdm-1530" { + value 270; + description + "im attr media 40gbase cwdm 1530"; + } + enum "im-attr-media-40gbase-cwdm-1550" { + value 271; + description + "im attr media 40gbase cwdm 1550"; + } + enum "im-attr-media-40gbase-cwdm-1570" { + value 272; + description + "im attr media 40gbase cwdm 1570"; + } + enum "im-attr-media-40gbase-cwdm-1590" { + value 273; + description + "im attr media 40gbase cwdm 1590"; + } + enum "im-attr-media-40gbase-cwdm-1610" { + value 274; + description + "im attr media 40gbase cwdm 1610"; + } + enum "im-attr-media-100gbase-cwdm" { + value 275; + description + "im attr media 100gbase cwdm"; + } + enum "im-attr-media-100gbase-cwdm-tunable" { + value 276; + description + "im attr media 100gbase cwdm tunable"; + } + enum "im-attr-media-100gbase-cwdm-1470" { + value 277; + description + "im attr media 100gbase cwdm 1470"; + } + enum "im-attr-media-100gbase-cwdm-1490" { + value 278; + description + "im attr media 100gbase cwdm 1490"; + } + enum "im-attr-media-100gbase-cwdm-1510" { + value 279; + description + "im attr media 100gbase cwdm 1510"; + } + enum "im-attr-media-100gbase-cwdm-1530" { + value 280; + description + "im attr media 100gbase cwdm 1530"; + } + enum "im-attr-media-100gbase-cwdm-1550" { + value 281; + description + "im attr media 100gbase cwdm 1550"; + } + enum "im-attr-media-100gbase-cwdm-1570" { + value 282; + description + "im attr media 100gbase cwdm 1570"; + } + enum "im-attr-media-100gbase-cwdm-1590" { + value 283; + description + "im attr media 100gbase cwdm 1590"; + } + enum "im-attr-media-100gbase-cwdm-1610" { + value 284; + description + "im attr media 100gbase cwdm 1610"; + } + enum "im-attr-media-40gbase-elpb" { + value 285; + description + "im attr media 40gbase elpb"; + } + enum "im-attr-media-100gbase-elpb" { + value 286; + description + "im attr media 100gbase elpb"; + } + enum "im-attr-media-100gbase-lr10" { + value 287; + description + "im attr media 100gbase lr10"; + } + enum "im-attr-media-40gbase" { + value 288; + description + "im attr media 40gbase"; + } + enum "im-attr-media-100gbase-kp4" { + value 289; + description + "im attr media 100gbase kp4"; + } + enum "im-attr-media-100gbase-kr4" { + value 290; + description + "im attr media 100gbase kr4"; + } + enum "im-attr-media-10gbase-lrm" { + value 291; + description + "im attr media 10gbase lrm"; + } + enum "im-attr-media-10gbase-cx4" { + value 292; + description + "im attr media 10gbase cx4"; + } + enum "im-attr-media-10gbase" { + value 293; + description + "im attr media 10gbase"; + } + enum "im-attr-media-10gbase-kx4" { + value 294; + description + "im attr media 10gbase kx4"; + } + enum "im-attr-media-10gbase-kr" { + value 295; + description + "im attr media 10gbase kr"; + } + enum "im-attr-media-10gbase-pr" { + value 296; + description + "im attr media 10gbase pr"; + } + enum "im-attr-media-100base-lx" { + value 297; + description + "im attr media 100base lx"; + } + enum "im-attr-media-100base-zx" { + value 298; + description + "im attr media 100base zx"; + } + enum "im-attr-media-1000base-bx-d" { + value 299; + description + "im attr media 1000base bx d"; + } + enum "im-attr-media-1000base-bx-u" { + value 300; + description + "im attr media 1000base bx u"; + } + enum "im-attr-media-1000base-bx20-d" { + value 301; + description + "im attr media 1000base bx20 d"; + } + enum "im-attr-media-1000base-bx20-u" { + value 302; + description + "im attr media 1000base bx20 u"; + } + enum "im-attr-media-1000base-bx40-d" { + value 303; + description + "im attr media 1000base bx40 d"; + } + enum "im-attr-media-1000base-bx40-da" { + value 304; + description + "im attr media 1000base bx40 da"; + } + enum "im-attr-media-1000base-bx40-u" { + value 305; + description + "im attr media 1000base bx40 u"; + } + enum "im-attr-media-1000base-bx80-d" { + value 306; + description + "im attr media 1000base bx80 d"; + } + enum "im-attr-media-1000base-bx80-u" { + value 307; + description + "im attr media 1000base bx80 u"; + } + enum "im-attr-media-1000base-bx120-d" { + value 308; + description + "im attr media 1000base bx120 d"; + } + enum "im-attr-media-1000base-bx120-u" { + value 309; + description + "im attr media 1000base bx120 u"; + } + enum "im-attr-media-10gbase-bx-d" { + value 310; + description + "im attr media 10gbase bx d"; + } + enum "im-attr-media-10gbase-bx-u" { + value 311; + description + "im attr media 10gbase bx u"; + } + enum "im-attr-media-10gbase-bx10-d" { + value 312; + description + "im attr media 10gbase bx10 d"; + } + enum "im-attr-media-10gbase-bx10-u" { + value 313; + description + "im attr media 10gbase bx10 u"; + } + enum "im-attr-media-10gbase-bx20-d" { + value 314; + description + "im attr media 10gbase bx20 d"; + } + enum "im-attr-media-10gbase-bx20-u" { + value 315; + description + "im attr media 10gbase bx20 u"; + } + enum "im-attr-media-10gbase-bx40-d" { + value 316; + description + "im attr media 10gbase bx40 d"; + } + enum "im-attr-media-10gbase-bx40-u" { + value 317; + description + "im attr media 10gbase bx40 u"; + } + enum "im-attr-media-10gbase-bx80-d" { + value 318; + description + "im attr media 10gbase bx80 d"; + } + enum "im-attr-media-10gbase-bx80-u" { + value 319; + description + "im attr media 10gbase bx80 u"; + } + enum "im-attr-media-10gbase-bx120-d" { + value 320; + description + "im attr media 10gbase bx120 d"; + } + enum "im-attr-media-10gbase-bx120-u" { + value 321; + description + "im attr media 10gbase bx120 u"; + } + enum "im-attr-media-1000base-dr-lx" { + value 322; + description + "im attr media 1000base dr lx"; + } + enum "im-attr-media-100gbase-er4l" { + value 323; + description + "im attr media 100gbase er4l"; + } + enum "im-attr-media-100gbase-sr4" { + value 324; + description + "im attr media 100gbase sr4"; + } + enum "im-attr-media-40gbase-sr-bd" { + value 325; + description + "im attr media 40gbase sr bd"; + } + enum "im-attr-media-25gbase-cr" { + value 326; + description + "im attr media 25gbase cr"; + } + enum "im-attr-media-25gbase-cr-s" { + value 327; + description + "im attr media 25gbase cr s"; + } + enum "im-attr-media-25gbase-kr" { + value 328; + description + "im attr media 25gbase kr"; + } + enum "im-attr-media-25gbase-kr-s" { + value 329; + description + "im attr media 25gbase kr s"; + } + enum "im-attr-media-25gbase-r" { + value 330; + description + "im attr media 25gbase r"; + } + enum "im-attr-media-25gbase-sr" { + value 331; + description + "im attr media 25gbase sr"; + } + enum "im-attr-media-25gbase-csr" { + value 332; + description + "im attr media 25gbase csr"; + } + enum "im-attr-media-25gbase-dwdm" { + value 333; + description + "im attr media 25gbase dwdm"; + } + enum "im-attr-media-25gbase-dwdm-tunable" { + value 334; + description + "im attr media 25gbase dwdm tunable"; + } + enum "im-attr-media-25gbase-cwdm" { + value 335; + description + "im attr media 25gbase cwdm"; + } + enum "im-attr-media-25gbase-cwdm-tunable" { + value 336; + description + "im attr media 25gbase cwdm tunable"; + } + enum "im-attr-media-100gbase-psm4" { + value 337; + description + "im attr media 100gbase psm4"; + } + enum "im-attr-media-100gbase-er10" { + value 338; + description + "im attr media 100gbase er10"; + } + enum "im-attr-media-100gbase-er10l" { + value 339; + description + "im attr media 100gbase er10l"; + } + enum "im-attr-media-100gbase-acc" { + value 340; + description + "im attr media 100gbase acc"; + } + enum "im-attr-media-100gbase-aoc" { + value 341; + description + "im attr media 100gbase aoc"; + } + enum "im-attr-media-100gbase-cwdm4" { + value 342; + description + "im attr media 100gbase cwdm4"; + } + enum "im-attr-media-40gbase-psm4" { + value 343; + description + "im attr media 40gbase psm4"; + } + enum "im-attr-media-100gbase-cr4" { + value 344; + description + "im attr media 100gbase cr4"; + } + enum "im-attr-media-100gbase-act-loop" { + value 345; + description + "im attr media 100gbase act loop"; + } + enum "im-attr-media-100gbase-pas-loop" { + value 346; + description + "im attr media 100gbase pas loop"; + } + enum "im-attr-media-50gbase-cr2" { + value 347; + description + "im attr media 50gbase cr2"; + } + enum "im-attr-media-50gbase-sr2" { + value 348; + description + "im attr media 50gbase sr2"; + } + enum "im-attr-media-50gbase-psm2" { + value 349; + description + "im attr media 50gbase psm2"; + } + enum "im-attr-media-200gbase-cr4" { + value 350; + description + "im attr media 200gbase cr4"; + } + enum "im-attr-media-400gbase-fr4" { + value 351; + description + "im attr media 400gbase fr4"; + } + enum "im-attr-media-400gbase-dr4" { + value 352; + description + "im attr media 400gbase dr4"; + } + enum "im-attr-media-10gbase-cr" { + value 353; + description + "im attr media 10gbase cr"; + } + enum "im-attr-media-10gbase-aoc" { + value 354; + description + "im attr media 10gbase aoc"; + } + enum "im-attr-media-40gbase-aoc" { + value 355; + description + "im attr media 40gbase aoc"; + } + enum "im-attr-media-40gbase-acu" { + value 356; + description + "im attr media 40gbase acu"; + } + enum "im-attr-media-100gbase-acu" { + value 357; + description + "im attr media 100gbase acu"; + } + enum "im-attr-media-10gbase-cu1m" { + value 358; + description + "im attr media 10gbase cu1m"; + } + enum "im-attr-media-10gbase-cu3m" { + value 359; + description + "im attr media 10gbase cu3m"; + } + enum "im-attr-media-10gbase-cu5m" { + value 360; + description + "im attr media 10gbase cu5m"; + } + enum "im-attr-media-10gbase-acu7m" { + value 361; + description + "im attr media 10gbase acu7m"; + } + enum "im-attr-media-10gbase-acu10m" { + value 362; + description + "im attr media 10gbase acu10m"; + } + enum "im-attr-media-4x10g-base-lr" { + value 363; + description + "im attr media 4x10g base lr"; + } + enum "im-attr-media-10gbase-cu1-5m" { + value 364; + description + "im attr media 10gbase cu1 5m"; + } + enum "im-attr-media-10gbase-cu2m" { + value 365; + description + "im attr media 10gbase cu2m"; + } + enum "im-attr-media-10gbase-cu2-5m" { + value 366; + description + "im attr media 10gbase cu2 5m"; + } + enum "im-attr-media-10gbase-aoc1m" { + value 367; + description + "im attr media 10gbase aoc1m"; + } + enum "im-attr-media-10gbase-aoc2m" { + value 368; + description + "im attr media 10gbase aoc2m"; + } + enum "im-attr-media-10gbase-aoc3m" { + value 369; + description + "im attr media 10gbase aoc3m"; + } + enum "im-attr-media-10gbase-aoc5m" { + value 370; + description + "im attr media 10gbase aoc5m"; + } + enum "im-attr-media-10gbase-aoc7m" { + value 371; + description + "im attr media 10gbase aoc7m"; + } + enum "im-attr-media-10gbase-aoc10m" { + value 372; + description + "im attr media 10gbase aoc10m"; + } + enum "im-attr-media-40gbase-acu1m" { + value 373; + description + "im attr media 40gbase acu1m"; + } + enum "im-attr-media-40gbase-acu3m" { + value 374; + description + "im attr media 40gbase acu3m"; + } + enum "im-attr-media-40gbase-acu5m" { + value 375; + description + "im attr media 40gbase acu5m"; + } + enum "im-attr-media-40gbase-acu7m" { + value 376; + description + "im attr media 40gbase acu7m"; + } + enum "im-attr-media-40gbase-acu10m" { + value 377; + description + "im attr media 40gbase acu10m"; + } + enum "im-attr-media-25gbase-cu1m" { + value 378; + description + "im attr media 25gbase cu1m"; + } + enum "im-attr-media-25gbase-cu2m" { + value 379; + description + "im attr media 25gbase cu2m"; + } + enum "im-attr-media-25gbase-cu3m" { + value 380; + description + "im attr media 25gbase cu3m"; + } + enum "im-attr-media-25gbase-cu5m" { + value 381; + description + "im attr media 25gbase cu5m"; + } + enum "im-attr-media-100gbase-sm-sr" { + value 382; + description + "im attr media 100gbase sm sr"; + } + enum "im-attr-media-1000base-2bx-d" { + value 383; + description + "im attr media 1000base 2bx d"; + } + enum "im-attr-media-1000base-2bx-d-i" { + value 384; + description + "im attr media 1000base 2bx d i"; + } + enum "im-attr-media-1000base-2bx-u" { + value 385; + description + "im attr media 1000base 2bx u"; + } + enum "im-attr-media-1000base-2bx-u-i" { + value 386; + description + "im attr media 1000base 2bx u i"; + } + enum "im-attr-media-400gbase-cr8" { + value 387; + description + "im attr media 400gbase cr8"; + } + enum "im-attr-media-100gbase-sr-bd" { + value 388; + description + "im attr media 100gbase sr bd"; + } + enum "im-attr-media-400gbase-lr8" { + value 389; + description + "im attr media 400gbase lr8"; + } + enum "im-attr-media-400gbase-aoc" { + value 390; + description + "im attr media 400gbase aoc"; + } + enum "im-attr-media-400gbase-acc" { + value 391; + description + "im attr media 400gbase acc"; + } + enum "im-attr-media-400gbase-act-loop" { + value 392; + description + "im attr media 400gbase act loop"; + } + enum "im-attr-media-400gbase-pas-loop" { + value 393; + description + "im attr media 400gbase pas loop"; + } + enum "im-attr-media-8x-sfp50gbase-cu" { + value 394; + description + "im attr media 8x sfp50gbase cu"; + } + enum "im-attr-media-2x100gbase-lr8-s" { + value 395; + description + "im attr media 2x100gbase lr8 s"; + } + enum "im-attr-media-2x100gbase-sr4" { + value 396; + description + "im attr media 2x100gbase sr4"; + } + enum "im-attr-media-2x100gbase-psm4" { + value 397; + description + "im attr media 2x100gbase psm4"; + } + enum "im-attr-media-2x100gbase-cwdm4" { + value 398; + description + "im attr media 2x100gbase cwdm4"; + } + enum "im-attr-media-2x100gbase-lr4" { + value 399; + description + "im attr media 2x100gbase lr4"; + } + enum "im-attr-media-100gbase-fr" { + value 400; + description + "im attr media 100gbase fr"; + } + enum "im-attr-media-100gbase-lr" { + value 401; + description + "im attr media 100gbase lr"; + } + enum "im-attr-media-100gbase-er4f" { + value 402; + description + "im attr media 100gbase er4f"; + } + enum "im-attr-media-100gbase-dwdm2" { + value 403; + description + "im attr media 100gbase dwdm2"; + } + enum "im-attr-media-25gbase-aoc1m" { + value 404; + description + "im attr media 25gbase aoc1m"; + } + enum "im-attr-media-25gbase-aoc2m" { + value 405; + description + "im attr media 25gbase aoc2m"; + } + enum "im-attr-media-25gbase-aoc3m" { + value 406; + description + "im attr media 25gbase aoc3m"; + } + enum "im-attr-media-25gbase-aoc5m" { + value 407; + description + "im attr media 25gbase aoc5m"; + } + enum "im-attr-media-25gbase-aoc7m" { + value 408; + description + "im attr media 25gbase aoc7m"; + } + enum "im-attr-media-25gbase-aoc10m" { + value 409; + description + "im attr media 25gbase aoc10m"; + } + enum "im-attr-media-400gbase-aec" { + value 410; + description + "im attr media 400gbase aec"; + } + enum "im-attr-media-4x100gbase-fr" { + value 411; + description + "im attr media 4x100gbase fr"; + } + enum "im-attr-media-400gbase-zr-s" { + value 412; + description + "im attr media 400gbase zr s"; + } + enum "im-attr-media-400gbase-zr-plus-s" { + value 413; + description + "im attr media 400gbase zr plus s"; + } + enum "im-attr-media-100gbase-dr-s" { + value 414; + description + "im attr media 100gbase dr s"; + } + enum "im-attr-media-25gbase-lr" { + value 415; + description + "im attr media 25gbase lr"; + } + enum "im-attr-media-25gbase-pas-loop" { + value 416; + description + "im attr media 25gbase pas loop"; + } + enum "im-attr-media-50gbase-sr" { + value 417; + description + "im attr media 50gbase sr"; + } + enum "im-attr-media-50gbase-cu1m" { + value 418; + description + "im attr media 50gbase cu1m"; + } + enum "im-attr-media-50gbase-cu1-5m" { + value 419; + description + "im attr media 50gbase cu1 5m"; + } + enum "im-attr-media-50gbase-cu2m" { + value 420; + description + "im attr media 50gbase cu2m"; + } + enum "im-attr-media-50gbase-cu2-5m" { + value 421; + description + "im attr media 50gbase cu2 5m"; + } + enum "im-attr-media-50gbase-cu3m" { + value 422; + description + "im attr media 50gbase cu3m"; + } + enum "im-attr-media-50gbase-cu5m" { + value 423; + description + "im attr media 50gbase cu5m"; + } + enum "im-attr-media-50gbase-pas-loop" { + value 424; + description + "im attr media 50gbase pas loop"; + } + enum "im-attr-media-25g-50g-sr-s" { + value 425; + description + "im attr media 25g 50g sr s"; + } + enum "im-attr-media-400gbase-lr4" { + value 426; + description + "im attr media 400gbase lr4"; + } + enum "im-attr-media-800gbase-cr8" { + value 427; + description + "im attr media 800gbase cr8"; + } + enum "im-attr-media-qsa" { + value 428; + description + "im attr media qsa"; + } + enum "im-attr-media-100gbase-erl" { + value 429; + description + "im attr media 100gbase erl"; + } + enum "im-attr-media-4x100gbase-lr" { + value 430; + description + "im attr media 4x100gbase lr"; + } + enum "im-attr-media-25gbase-er" { + value 431; + description + "im attr media 25gbase er"; + } + enum "im-attr-media-100gbase-zr-plus-s" { + value 432; + description + "im attr media 100gbase zr plus s"; + } + enum "im-attr-media-10gbase-pas-loop" { + value 433; + description + "im attr media 10gbase pas loop"; + } + enum "im-attr-media-gebase-pas-loop" { + value 434; + description + "im attr media gebase pas loop"; + } + enum "im-attr-media-2x200gbase-cu" { + value 435; + description + "im attr media 2x200gbase cu"; + } + enum "im-attr-media-200gbase-fr4" { + value 436; + description + "im attr media 200gbase fr4"; + } + enum "im-attr-media-400gbase-sr8" { + value 437; + description + "im attr media 400gbase sr8"; + } + } + description + "Im attr media"; + } + + typedef Im-attr-duplex { + type enumeration { + enum "im-attr-duplex-unknown" { + value 0; + description + "im attr duplex unknown"; + } + enum "im-attr-duplex-half" { + value 1; + description + "im attr duplex half"; + } + enum "im-attr-duplex-full" { + value 2; + description + "im attr duplex full"; + } + } + description + "Im attr duplex"; + } + + grouping IM-DESC-INFO { + description + "Interface description information"; + leaf interface { + type xr:Interface-name; + description + "Interface handle of the Interface"; + } + leaf state { + type Im-state-enum; + description + "Operational state with no translation of error + disable or shutdown"; + } + leaf line-state { + type Im-state-enum; + description + "Line protocol state with no translation of error + disable or shutdown"; + } + leaf description { + type string; + description + "Interface description string"; + } + } + + grouping STATS-BAG-ELEMENT { + description + "STATS BAG ELEMENT"; + leaf key { + type yang:hex-string; + description + "key"; + } + list block-array { + description + "block array"; + uses STATS-BAG-BLOCK; + } + } + + grouping STATS-BAG-BLOCK { + description + "STATS BAG BLOCK"; + leaf type { + type Stats-counter; + description + "type"; + } + leaf count { + type uint32; + description + "count"; + } + leaf data { + type yang:hex-string; + description + "data"; + } + } + + grouping STATS-BAG-ID { + description + "STATS BAG ID"; + leaf id-type { + type Stats-id; + description + "id type"; + } + leaf unused { + when "../id-type = 'stats-id-type-unknown'" { + description + "../id_type = 'STATS_ID_TYPE_UNKNOWN'"; + } + type uint32; + description + "Unused"; + } + leaf interface-handle { + when "../id-type = 'stats-id-type-min'" { + description + "../id_type = 'STATS_ID_TYPE_MIN'"; + } + type xr:Interface-name; + description + "Interface Handle"; + } + leaf node-id { + when "../id-type = 'stats-id-type-node'" { + description + "../id_type = 'STATS_ID_TYPE_NODE'"; + } + type xr:Node-id; + description + "Node ID"; + } + leaf feature-id { + when "../id-type = 'stats-id-type-feature'" { + description + "../id_type = 'STATS_ID_TYPE_FEATURE'"; + } + type uint32; + description + "Feature ID"; + } + leaf id { + when "../id-type = 'stats-id-type-other'" { + description + "../id_type = 'STATS_ID_TYPE_OTHER'"; + } + type uint32; + description + "ID"; + } + } + + grouping STATS-DATA { + description + "Stats Data"; + container stats-id { + description + "Identifier"; + uses STATS-BAG-ID; + } + leaf stats-type { + type Stats-type-val; + description + "Stats type value"; + } + leaf contents { + type Stats-type-contents; + description + "Bag contents"; + } + list block-array { + description + "Block Array"; + uses STATS-BAG-BLOCK; + } + list element-array { + description + "Element Array"; + uses STATS-BAG-ELEMENT; + } + } + + grouping IFSTATSBAG-BASIC { + description + "Basic set of interface counters"; + leaf packets-received { + type uint64; + description + "Total no. of Packets received"; + } + leaf bytes-received { + type uint64; + units "byte"; + description + "Total no. of Bytes received"; + } + leaf packets-sent { + type uint64; + description + "Total no. of Packets sent"; + } + leaf bytes-sent { + type uint64; + units "byte"; + description + "Total no. of Bytes sent"; + } + leaf input-drops { + type uint32; + description + "Total input drops"; + } + leaf input-queue-drops { + type uint32; + description + "Input queue drops"; + } + leaf input-errors { + type uint32; + description + "Total input errors"; + } + leaf unknown-protocol-packets-received { + type uint32; + description + "Unknown protocol packets received"; + } + leaf output-drops { + type uint32; + description + "Total output drops"; + } + leaf output-queue-drops { + type uint32; + description + "Output queue drops"; + } + leaf output-errors { + type uint32; + description + "Total packets dropped due to internal driver + error"; + } + leaf last-data-time { + type uint32; + units "second"; + description + "Time when counters were last written (in + seconds)"; + } + leaf seconds-since-last-clear-counters { + type uint32; + units "second"; + description + "Time elapsed since last clear command executed + (in Seconds)"; + } + leaf last-discontinuity-time { + type uint32; + units "second"; + description + "SysUpTime when counters were last reset (in + seconds)"; + } + leaf seconds-since-packet-received { + type uint32; + units "second"; + description + "Time elapsed since packet received (in Seconds)"; + } + leaf seconds-since-packet-sent { + type uint32; + units "second"; + description + "Time since packet sent (in Seconds)"; + } + } + + grouping IFSTATSBAG-GENERIC { + description + "Generic set of interface counters"; + leaf packets-received { + type uint64; + description + "Total Packets received"; + } + leaf bytes-received { + type uint64; + units "byte"; + description + "Total Bytes received"; + } + leaf packets-sent { + type uint64; + description + "Total Packets sent"; + } + leaf bytes-sent { + type uint64; + units "byte"; + description + "Total Bytes sent"; + } + leaf multicast-packets-received { + type uint64; + description + "Total no. of multicast packets received"; + } + leaf broadcast-packets-received { + type uint64; + description + "Total no. of broadcast packets received"; + } + leaf multicast-packets-sent { + type uint64; + description + "Total no. of multicast packets sent"; + } + leaf broadcast-packets-sent { + type uint64; + description + "Total no. of broadcast packets sent"; + } + leaf output-drops { + type uint32; + description + "No. of packet dropped before being transmitted"; + } + leaf output-queue-drops { + type uint32; + description + "Number of packets dropped due to configured + output policy"; + } + leaf input-drops { + type uint32; + description + "Total input drops"; + } + leaf input-queue-drops { + type uint32; + description + "Placeholder for packets dropped due to configure + input policy"; + } + leaf runt-packets-received { + type uint32; + description + "Received packets which are too small to be + handled"; + } + leaf giant-packets-received { + type uint32; + description + "Received packets which are too large to be + handled"; + } + leaf throttled-packets-received { + type uint32; + description + "No. of times the receiver on the port is was + disabled"; + } + leaf parity-packets-received { + type uint32; + description + "No. of parity errors on the interface"; + } + leaf unknown-protocol-packets-received { + type uint32; + description + "No. of packets dropped because they were + destined for higher levelprotocols not configure + or running on the interface"; + } + leaf input-errors { + type uint32; + description + "Total input errors"; + } + leaf crc-errors { + type uint32; + description + "Input CRC errors"; + } + leaf input-overruns { + type uint32; + description + "No. of input packets received with FIFO or DMA + overrun errors"; + } + leaf framing-errors-received { + type uint32; + description + "No. of packets received with framing error"; + } + leaf input-ignored-packets { + type uint32; + description + "Packets dropped due to internal driver error or + hardware errors "; + } + leaf input-aborts { + type uint32; + description + "No. of packets whose reciept was aborted"; + } + leaf output-errors { + type uint32; + description + "Total packets that could not be transmitted due + to internal driver error"; + } + leaf output-underruns { + type uint32; + description + "Transmitted packets with FIFO or DMA underrun + errors"; + } + leaf output-buffer-failures { + type uint32; + description + "No. of no resource error received on output"; + } + leaf output-buffers-swapped-out { + type uint32; + description + "No. of packets swapped to DRAM or main memory"; + } + leaf applique { + type uint32; + description + "No. of unrecoverable error which have occured on + the applique"; + } + leaf resets { + type uint32; + description + "Number of hardware resets"; + } + leaf carrier-transitions { + type uint32; + description + "No. of times the carrier detect signal of + interface has changed state"; + } + leaf availability-flag { + type uint32; + description + "Availability bit mask"; + } + leaf last-data-time { + type uint64; + units "second"; + description + "Time when counters were last written (in + seconds)"; + } + leaf hardware-timestamp { + type uint64; + units "millisecond"; + description + "Time when counters were last read by Primary + collector from hardware (in msecs)"; + } + leaf seconds-since-last-clear-counters { + type uint32; + units "second"; + description + "Time elapsed since last clear command executed + (in Seconds)"; + } + leaf last-discontinuity-time { + type uint32; + units "second"; + description + "SysUpTime when counters were last reset (in + seconds)"; + } + leaf seconds-since-packet-received { + type uint32; + units "second"; + description + "Time elapsed since packet received (in Seconds)"; + } + leaf seconds-since-packet-sent { + type uint32; + units "second"; + description + "Time elapsed since packet sent (in Seconds)"; + } + } + + grouping IM-CMD-IF-STATS { + description + "IM CMD IF STATS"; + container full-interface-stats { + when "../stats-type = 'full'" { + description + "../StatsType = 'Full'"; + } + description + "Packet, byte and all error counters"; + uses IFSTATSBAG-GENERIC; + } + container basic-interface-stats { + when "../stats-type = 'basic'" { + description + "../StatsType = 'Basic'"; + } + description + "Packet, byte and selected error counters"; + uses IFSTATSBAG-BASIC; + } + leaf stats-type { + type Im-cmd-stats-enum; + description + "StatsType"; + } + } + + grouping STATSDBAG-DATARATE { + description + "Datarate information"; + leaf input-data-rate { + type uint64; + units "bit/s"; + description + "Input data rate in 1000's of bps"; + } + leaf input-packet-rate { + type uint64; + units "packet/s"; + description + "Input packets per second"; + } + leaf output-data-rate { + type uint64; + units "bit/s"; + description + "Output data rate in 1000's of bps"; + } + leaf output-packet-rate { + type uint64; + units "packet/s"; + description + "Output packets per second"; + } + leaf peak-input-data-rate { + type uint64; + description + "Peak input data rate, highest spike since last + clear counters"; + } + leaf peak-input-packet-rate { + type uint64; + description + "Peak input packet rate, highest spike since last + clear counters"; + } + leaf peak-output-data-rate { + type uint64; + description + "Peak output data rate, highest spike since last + clear counters"; + } + leaf peak-output-packet-rate { + type uint64; + description + "Peak output packet rate, highest spike since + last clear counters"; + } + leaf bandwidth { + type uint64; + units "kbit/s"; + description + "Bandwidth (in kbps)"; + } + leaf load-interval { + type uint32; + description + "Number of 30-sec intervals less one"; + } + leaf output-load { + type uint8; + description + "Output load as fraction of 255"; + } + leaf input-load { + type uint8; + description + "Input load as fraction of 255"; + } + leaf reliability { + type uint8; + description + "Reliability coefficient"; + } + } + + grouping IM-CMD-GCC-PER-PORT-INFO { + description + "GCC"; + leaf derived-mode { + type Gcc-der-state; + description + "Derived State"; + } + leaf sec-state { + type Gcc-sec-state; + description + "Sec State "; + } + } + + grouping CEM-INTERFACE { + description + "CEM interface information"; + leaf timeslots { + type string; + description + "Timeslots separated by : or - from 1 to 32. : + indicates individual timeslot and - represents a + range. E.g. 1-3:5 represents timeslots 1, 2, 3, + and 5."; + } + leaf payload { + type uint16; + units "byte"; + description + "Payload size in bytes configured on CEM + interface"; + } + leaf dejitter-buffer { + type uint16; + units "millisecond"; + description + "Dejitter buffer length configuredin milliseconds"; + } + leaf framing { + type int32; + description + " If framing is TRUE then the CEM interface is + structure aware ; otherwise it is structure + agnostic"; + } + } + + grouping PWHE-ETHER-INTERFACE-INFO { + description + "PWHE ETHER INTERFACE INFO"; + leaf interface-list-name { + type string; + description + "Interface list Name"; + } + leaf l2-overhead { + type uint32; + description + "L2 Overhead"; + } + leaf internal-label { + type uint32; + description + "Internal Label"; + } + } + + grouping PFI-IP-ADDR-UNION { + description + "PFI IP ADDR UNION"; + leaf afi { + type Tunl-pfi-af-id; + description + "AFI"; + } + leaf ipv4 { + when "../afi = 'tunl-pfi-af-id-ipv4'" { + description + "../AFI = 'TUNL_PFI_AF_ID_IPV4'"; + } + type Tunl-pfi-in-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../afi = 'tunl-pfi-af-id-ipv6'" { + description + "../AFI = 'TUNL_PFI_AF_ID_IPV6'"; + } + type Tunl-pfi-in6-addr; + description + "IPv6 address type"; + } + } + + grouping IM-CMD-TUNL-GRE-INFO { + description + "Tunnel info "; + container source-ip-address { + description + "Tunnel source IP address"; + uses PFI-IP-ADDR-UNION; + } + container destination-ip-address { + description + "Tunnel destination IP address"; + uses PFI-IP-ADDR-UNION; + } + leaf source-name { + type string; + description + "Tunnel source name"; + } + leaf destination-ip-address-length { + type uint8; + description + "Tunnel destination IP address length"; + } + leaf tunnel-tos { + type uint32; + description + "GRE tunnel TOS"; + } + leaf tunnel-ttl { + type uint32; + description + "GRE tunnel TTL"; + } + leaf key { + type uint32; + description + "Key value for GRE Packet"; + } + leaf keepalive-period { + type uint16; + units "second"; + description + "Keepalive period in seconds"; + } + leaf keepalive-maximum-retry { + type uint8; + description + "Keepalive retry"; + } + leaf tunnel-mode { + type Tunnel-gre-mode; + description + "Tunnel GRE Mode"; + } + leaf tunnel-mode-direction { + type Tunl-ip-mode-dir; + description + "Tunnel Mode Direction"; + } + leaf keepalive-state { + type Tunnel-ka-df-state; + description + "Keepalive State"; + } + leaf df-bit-state { + type Tunnel-ka-df-state; + description + "DF Bit State"; + } + leaf key-bit-state { + type Tunnel-key-state; + description + "Key Config State"; + } + } + + grouping IM-SONET-POS-INFO-INTERFACE { + description + "SONET POS interface information"; + leaf aps-state { + type Sonet-aps-et; + description + "APS state"; + } + } + + grouping SERIAL-INTERFACE { + description + "Serial interface information"; + leaf timeslots { + type string; + description + "Timeslots separated by : or - from 1 to 31. : + indicates individual timeslot and - represents a + range. E.g. 1-3:5 represents timeslots 1, 2, 3, + and 5."; + } + } + + grouping BM-MAC-ADDR-ST { + description + "Data on MAC address allocation"; + leaf address { + type yang:mac-address; + description + "MAC address"; + } + } + + grouping BM-MBR-STATE-REASON-DATA-TYPE { + description + "Additional member state reason data"; + leaf reason-type { + type Bm-state-reason-target; + description + "The item the reason applies to"; + } + leaf severity { + type Bm-severity; + description + "The severity of the reason"; + } + } + + grouping BM-MUX-DATA { + description + "bm mux information"; + container member-mux-state-reason-data { + description + "Data regarding the reason for last Mux state + change"; + uses BM-MBR-STATE-REASON-DATA-TYPE; + } + leaf mux-state { + type Bm-muxstate; + description + "Current state of this bundle member"; + } + leaf error { + type uint32; + description + "Internal value indicating if an error occurred + trying to put a link into the desired state"; + } + leaf member-mux-state-reason { + type Bm-mbr-state-reason; + description + "Reason for last Mux state change"; + } + leaf member-state { + type Bmd-member-state; + description + "Current internal state of this bundle member"; + } + leaf mux-state-reason { + type Bm-muxreason; + description + "Reason for last Mux state change (Deprecated)"; + } + } + + grouping BM-LACP-LINK-DATA { + description + "Link properties for a port using LACP "; + leaf interface-handle { + type xr:Interface-name; + description + "Member's interface handle"; + } + leaf actor-system-priority { + type uint16; + description + "System priority of actor system"; + } + leaf actor-system-mac-address { + type yang:mac-address; + description + "MAC Address of the actor system"; + } + leaf actor-operational-key { + type uint16; + description + "Operational key for this port"; + } + leaf partner-system-priority { + type uint16; + description + "System priority of partner system"; + } + leaf partner-system-mac-address { + type yang:mac-address; + description + "MAC Address used to identify the partner system"; + } + leaf partner-operational-key { + type uint16; + description + "Operational key for partner port"; + } + leaf selected-aggregator-id { + type uint32; + description + "MIB ifindex of selected bundle"; + } + leaf attached-aggregator-id { + type uint32; + description + "MIB ifindex of attached bundle"; + } + leaf actor-port-id { + type uint16; + description + "Port number of this port"; + } + leaf actor-port-priority { + type uint16; + description + "Priority of this port"; + } + leaf partner-port-id { + type uint16; + description + "Port number of the partner's port"; + } + leaf partner-port-priority { + type uint16; + description + "Priority of the partner's port"; + } + leaf actor-port-state { + type uint8; + description + "LACP state of this port"; + } + leaf partner-port-state { + type uint8; + description + "LACP state of the partner's port"; + } + } + + grouping BM-LACP-COUNTERS { + description + "Statistics for a port using using LACP"; + leaf lacpd-us-received { + type uint32; + description + "LACPDUs received"; + } + leaf lacpd-us-transmitted { + type uint32; + description + "LACPDUs transmitted"; + } + leaf marker-packets-received { + type uint32; + description + "LACP Marker packets received"; + } + leaf marker-responses-transmitted { + type uint32; + description + "LACP Marker response packets transmitted"; + } + leaf illegal-packets-received { + type uint32; + description + "Illegal and unknown packets received"; + } + leaf excess-lacpd-us-received { + type uint32; + description + "LACPDUs received that exceed the rate limit"; + } + leaf excess-marker-packets-received { + type uint32; + description + "Marker packets received that exceed the rate + limit"; + } + leaf defaulted { + type uint32; + description + "State flag set to Defaulted"; + } + leaf expired { + type uint32; + description + "State flag set to Expired"; + } + leaf last-cleared-sec { + type uint32; + description + "Last time counters cleared (s) (deprecated)"; + } + leaf last-cleared-nsec { + type uint32; + description + "Last time counters cleared (nsec) (deprecated)"; + } + leaf last-change { + type uint64; + units "nanosecond"; + description + "Timestamp of last LACP timeout event in nsecs"; + } + leaf lacp-timeout-transitions { + type uint64; + description + "Total number of LACP timeout transitions"; + } + } + + grouping BM-MEMBER-DATA { + description + "Bundle member data for any member"; + container counters { + description + "Counters data about member link"; + uses BM-LACP-COUNTERS; + } + container link-data { + description + "Lacp data about member link"; + uses BM-LACP-LINK-DATA; + } + container member-mux-data { + description + "Mux state machine data"; + uses BM-MUX-DATA; + } + container mac-address { + description + "MAC address of this member (deprecated)"; + uses BM-MAC-ADDR-ST; + } + leaf interface-name { + type xr:Interface-name; + description + "Member's interface name"; + } + leaf port-priority { + type uint16; + description + "The priority of this member"; + } + leaf port-number { + type uint16; + description + "Member's link number"; + } + leaf underlying-link-id { + type uint16; + description + "Member's underlying link ID"; + } + leaf link-order-number { + type uint16; + description + "Member's link order number"; + } + leaf iccp-node { + type uint32; + description + "Location of member"; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth of this member (kbps)"; + } + leaf lacp-enabled { + type string; + description + "Boolean indicating LACP enabled or not"; + } + leaf member-type { + type Bmd-member-type-enum; + description + "Member's type (local/foreign)"; + } + leaf member-name { + type string; + description + "Member's (short form) name"; + } + leaf replication-error { + type uint32; + description + "Error from final replication attempt"; + } + leaf bandwidth64-bit { + type uint64; + units "kbit/s"; + description + "Bandwidth of this member 64-Bit (kbps)"; + } + } + + grouping IM-CMD-BUNDLE-INFO { + description + "IM CMD BUNDLE INFO"; + list member { + description + "List of bundle members and their properties"; + uses BM-MEMBER-DATA; + } + } + + grouping IM-CMD-TUNNEL-INFO { + description + "IM CMD TUNNEL INFO"; + leaf source-name { + type string; + description + "Tunnel source name"; + } + leaf source-ipv4-address { + type inet:ipv4-address; + description + "Tunnel source IP address"; + } + leaf destination-ipv4-address { + type inet:ipv4-address; + description + "Tunnel destination IP address"; + } + leaf tunnel-type { + type string; + description + "Tunnel protocol/transport"; + } + leaf key { + type uint32; + description + "GRE tunnel key"; + } + leaf ttl { + type uint32; + description + "GRE tunnel TTL"; + } + } + + grouping IFSTATS-SRP-PER-SIDE-ERRORS { + description + "IFSTATS SRP PER SIDE ERRORS"; + leaf error-packets-received { + type uint32; + description + "Error packets received"; + } + leaf crc-errors { + type uint32; + description + "Input CRC errors"; + } + leaf input-insufficient-resource-events { + type uint32; + description + "Input insufficient resources events"; + } + leaf mac-aborts-received { + type uint32; + description + "Aborts received at MAC/RAC"; + } + leaf mac-runt-packets-received { + type uint32; + description + "Too small packets received at MAC/RAC"; + } + leaf mac-giant-packets-received { + type uint32; + description + "Too large packets received at MAC/RAC"; + } + leaf framer-runt-packets-received { + type uint32; + description + "Too small packets received at framer"; + } + leaf framer-giant-packets-received { + type uint32; + description + "Too large packets received at framer"; + } + leaf framer-aborts-received { + type uint32; + description + "Aborts received at framer"; + } + } + + grouping IFSTATS-SRP-PER-SIDE-DATA-RATE { + description + "IFSTATS SRP PER SIDE DATA RATE"; + leaf bit-rate-sent { + type uint32; + description + "Sent bit rate"; + } + leaf packet-rate-sent { + type uint32; + description + "Sent packet rate"; + } + leaf bit-rate-received { + type uint32; + description + "Received bit rate"; + } + leaf packet-rate-received { + type uint32; + description + "Received packet rate"; + } + } + + grouping IFSTATSBAG-SRP { + description + "SRP interface statistics"; + container side-a-data-rate { + description + "Data rates for side A interface"; + uses IFSTATS-SRP-PER-SIDE-DATA-RATE; + } + container side-b-data-rate { + description + "Data rates for side B interface"; + uses IFSTATS-SRP-PER-SIDE-DATA-RATE; + } + container side-a-errors { + description + "Errors for side A interface"; + uses IFSTATS-SRP-PER-SIDE-ERRORS; + } + container side-b-errors { + description + "Errors for side B interface"; + uses IFSTATS-SRP-PER-SIDE-ERRORS; + } + leaf data-rate-interval { + type uint32; + units "second"; + description + "Data rate interval (5 mins or 30 seconds)"; + } + } + + grouping SRP-RATE-LIMIT-DETAIL { + description + "Detailed SRP rate limit information"; + leaf min-priority-value { + type uint16; + description + "Minimum SRP priority for high-priority transmit + queue"; + } + } + + grouping SRP-RATE-LIMIT-INFO { + description + "SRP rate limit information"; + leaf is-admin-down { + type int32; + description + "Is the interfaceadministratively down"; + } + list rate-limit-detailed-info { + description + "SRP rate limit information"; + uses SRP-RATE-LIMIT-DETAIL; + } + } + + grouping SRR-NODE-DATA { + description + "SRR NODE DATA"; + leaf node-name { + type string; + description + "Node name"; + } + leaf srr-entry-exits { + type int32; + description + "Does the SRR information exist for this node"; + } + leaf mac-address { + type string; + description + "node mac address"; + } + leaf outer-failure { + type Srp-mgmt-srr-failure; + description + "Outer failure"; + } + leaf inner-failure { + type Srp-mgmt-srr-failure; + description + "Inner failure"; + } + leaf is-last-announce-received { + type int32; + description + "Announce last received ?"; + } + leaf last-announce-received-time { + type uint32; + description + "Announce last received"; + } + } + + grouping SRP-SRR-DETAIL { + description + "SRP SRR DETAIL"; + leaf version-number { + type uint32; + description + "Version number"; + } + leaf is-wrong-version-received { + type int32; + description + "Wrong version recieved"; + } + leaf last-wrong-version-receive-time { + type uint32; + description + "Time that last wrong version message recieved"; + } + leaf mac-address { + type string; + description + "SRR node mac address"; + } + leaf node-state { + type Srp-mgmt-srr-node-state; + description + "SRR node state"; + } + leaf is-outer-ring-in-use { + type int32; + description + "Is the outer ring in use"; + } + leaf is-inner-ring-in-use { + type int32; + description + " Is the inner ring in use"; + } + leaf is-announce { + type int32; + description + "Is announcing enabled"; + } + leaf outer-fail-type { + type Srp-mgmt-srr-failure; + description + "Outer fail type"; + } + leaf inner-fail-type { + type Srp-mgmt-srr-failure; + description + "Inner fail type"; + } + leaf packet-send-timer { + type uint32; + units "second"; + description + "SRR packet send timer interval in seconds"; + } + leaf next-srr-packet-send-time { + type uint32; + units "second"; + description + "Time remaining in seconds to next SRR packet + send"; + } + leaf single-ring-bw { + type uint32; + units "Mbit/s"; + description + "Single ring bandwidth Mbps"; + } + leaf wtr-time { + type uint32; + units "second"; + description + "SRR Wait To Restore interval delay in seconds"; + } + leaf wtr-timer-remaining-outer-ring { + type uint32; + units "second"; + description + "Time remaining in seconds until next outer ring + wrap removal"; + } + leaf wtr-timer-remaining-inner-ring { + type uint32; + units "second"; + description + "Time remaining in seconds until next inner ring + wrap removal"; + } + list nodes-on-ring { + description + "List of nodes on the ring info"; + uses SRR-NODE-DATA; + } + list nodes-not-on-ring { + description + "nodes not in topology map"; + uses SRR-NODE-DATA; + } + } + + grouping SRP-SRR-INFO { + description + "SRP SRR INFO"; + leaf is-admin-down { + type int32; + description + "Is the interfaceadministratively down"; + } + leaf is-srr-enabled { + type int32; + description + "SRR enabled"; + } + list srr-detailed-info { + description + "SRP information"; + uses SRP-SRR-DETAIL; + } + } + + grouping SRP-TOPOLOGY-NODE-DATA { + description + "SRP TOPOLOGY NODE DATA"; + leaf hop-count { + type uint16; + description + "Outer-ring hops to reach this node"; + } + leaf mac-address { + type string; + description + "MAC address"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf is-wrapped { + type int32; + description + "Wrap state"; + } + leaf is-srr-supported { + type int32; + description + "SRR protocol supported"; + } + leaf node-name { + type string; + description + "Node name"; + } + } + + grouping SRP-TOPOLOGY-MAP { + description + "SRP TOPOLOGY MAP"; + leaf topology-timer { + type uint32; + description + "How often a topology pkt is sent"; + } + leaf next-topology-packet-delay { + type uint32; + description + "Time remaining until next topo pkt sent"; + } + leaf time-since-last-topology-packet-received { + type uint32; + description + "Time since last topo pkt was received"; + } + leaf time-since-last-topology-change { + type uint32; + description + "Time since last topology change"; + } + leaf number-of-nodes-on-ring { + type uint16; + description + "Number of nodes on ring"; + } + list ring-node { + description + "List of nodes on the ring info"; + uses SRP-TOPOLOGY-NODE-DATA; + } + } + + grouping SRP-TOPOLOGY-INFO { + description + "SRP TOPOLOGY INFO"; + leaf is-admin-down { + type int32; + description + "Is the interfaceadministratively down"; + } + list local-information { + description + "Detailed SRP topology information"; + uses SRP-TOPOLOGY-MAP; + } + } + + grouping SRP-FAILURE-INFO { + description + "SRP failure info"; + leaf type { + type Srp-mgmt-failure-et; + description + "Failure type"; + } + leaf reported-state { + type Srp-mgmt-failure-state-et; + description + "Reported state"; + } + leaf debounced-state { + type Srp-mgmt-failure-state-et; + description + "Debounced state"; + } + leaf current-state { + type Srp-mgmt-failure-state-et; + description + "Current state"; + } + leaf stable-time { + type uint64; + description + "Stable time"; + } + leaf debounced-delay { + type uint32; + description + "Debounce delay"; + } + } + + grouping SRP-IPS-SIDE-DETAIL { + description + "SRP IPS SIDE DETAIL"; + leaf mac-address { + type string; + description + "MAC address"; + } + leaf wrap-state { + type Srp-mgmt-ips-wrap-state; + description + "Wrap state"; + } + leaf packet-sent-timer { + type uint32; + units "second"; + description + "SRP IPS packet send interval in seconds"; + } + leaf send-timer-time-remaining { + type uint32; + units "second"; + description + "Time in seconds remaining until next send of an + IPS request"; + } + leaf wtr-timer-remaining { + type uint32; + units "second"; + description + "Time in seconds until wrap removal"; + } + leaf self-detected-request { + type Srp-mgmt-ips-req; + description + "Self Detected Requests"; + } + leaf remote-request { + type Srp-mgmt-ips-req; + description + "Remote Requests"; + } + leaf rx-neighbor-mac-address { + type string; + description + "Neighbour mac address for received message"; + } + leaf rx-message-type { + type Srp-mgmt-ips-req; + description + "Type of message received"; + } + leaf rx-path-type { + type Srp-mgmt-ips-path-ind; + description + "Short/long path for received message"; + } + leaf rx-ttl { + type uint32; + description + "Time to live for received message"; + } + leaf rx-packet-test { + type int32; + description + "Test for existence of an RX packet"; + } + leaf tx-neighbor-mac-address { + type string; + description + "Mac address of node receiving TXed messages"; + } + leaf tx-message-type { + type Srp-mgmt-ips-req; + description + "Type of message transmitted"; + } + leaf tx-path-type { + type Srp-mgmt-ips-path-ind; + description + "Short/long path of transmitted message"; + } + leaf tx-ttl { + type uint32; + description + "Time to live for transmitted message"; + } + leaf tx-packet-test { + type int32; + description + "Test for existence of a TX packet"; + } + leaf delay-keep-alive-trigger { + type uint32; + units "millisecond"; + description + "Number of milliseconds to wait after an L1 + failure is detected before triggering an L2 wrap"; + } + list asserted-failure { + description + "Failures presently asserted"; + uses SRP-FAILURE-INFO; + } + } + + grouping SRP-IPS-DETAIL { + description + "SRP IPS DETAIL"; + container side-a { + description + "Side A IPS details"; + uses SRP-IPS-SIDE-DETAIL; + } + container side-b { + description + "Side B IPS details"; + uses SRP-IPS-SIDE-DETAIL; + } + leaf mac-address { + type string; + description + "MAC address for node"; + } + leaf is-inter-card-bus-enabled { + type int32; + description + "Inter card bus enabled"; + } + leaf wtr-timer-period { + type uint32; + units "second"; + description + "IPS Wait To Restore period in seconds"; + } + } + + grouping SRP-IPS-INFO { + description + "SRP IPS INFO"; + leaf is-admin-down { + type int32; + description + "Is the interfaceadministratively down"; + } + list local-information { + description + "IPS information"; + uses SRP-IPS-DETAIL; + } + } + + grouping SRP-ALL-INFO { + description + "Complete SRP information"; + container ips-info { + description + "SRP IPS information"; + uses SRP-IPS-INFO; + } + container topology-info { + description + "SRP topology information"; + uses SRP-TOPOLOGY-INFO; + } + container srr-info { + description + "SRP SRR information"; + uses SRP-SRR-INFO; + } + container rate-limit-info { + description + "SRP rate limit information"; + uses SRP-RATE-LIMIT-INFO; + } + } + + grouping IM-CMD-SRP-INFO { + description + "IM CMD SRP INFO"; + container srp-information { + description + "SRP-specific data"; + uses SRP-ALL-INFO; + } + container srp-statistics { + description + "SRP-specific packet and byte counters"; + uses IFSTATSBAG-SRP; + } + } + + grouping IM-CMD-INTF-TYPE-INFO { + description + "Interface-specific information"; + container srp-information { + when "../interface-type-info = 'srp'" { + description + "../InterfaceTypeInfo = 'SRP'"; + } + description + "SRP interface information"; + uses IM-CMD-SRP-INFO; + } + container tunnel-information { + when "../interface-type-info = 'tunnel'" { + description + "../InterfaceTypeInfo = 'Tunnel'"; + } + description + "Tunnel interface information"; + uses IM-CMD-TUNNEL-INFO; + } + container bundle-information { + when "../interface-type-info = 'bundle'" { + description + "../InterfaceTypeInfo = 'Bundle'"; + } + description + "Bundle interface information"; + uses IM-CMD-BUNDLE-INFO; + } + container serial-information { + when "../interface-type-info = 'serial'" { + description + "../InterfaceTypeInfo = 'Serial'"; + } + description + "Serial interface information"; + uses SERIAL-INTERFACE; + } + container sonet-pos-information { + when "../interface-type-info = 'sonet-pos'" { + description + "../InterfaceTypeInfo = 'SonetPOS'"; + } + description + "SONET POS interface information"; + uses IM-SONET-POS-INFO-INTERFACE; + } + container tunnel-gre-information { + when "../interface-type-info = 'tunnel-gre'" { + description + "../InterfaceTypeInfo = 'TunnelGRE'"; + } + description + "Tunnel GRE interface information"; + uses IM-CMD-TUNL-GRE-INFO; + } + container pseudowire-head-end-information { + when "../interface-type-info = 'pseudowire-head-end'" { + description + "../InterfaceTypeInfo = 'PseudowireHeadEnd'"; + } + description + "PseudowireHeadEnd interface information"; + uses PWHE-ETHER-INTERFACE-INFO; + } + container cem-information { + when "../interface-type-info = 'cem'" { + description + "../InterfaceTypeInfo = 'CEM'"; + } + description + "Cem interface information"; + uses CEM-INTERFACE; + } + container gcc-information { + when "../interface-type-info = 'gcc'" { + description + "../InterfaceTypeInfo = 'GCC'"; + } + description + "GCC interface information"; + uses IM-CMD-GCC-PER-PORT-INFO; + } + leaf interface-type-info { + type Im-cmd-intf-type-enum; + description + "InterfaceTypeInfo"; + } + } + + grouping PPP-SHOW-INT-NCP-INFO { + description + "NCP state information"; + leaf ncp-state { + type Ppp-fsm-state; + description + "NCP state value"; + } + leaf ncp-identifier { + type Ncp-ident; + description + "NCP state identifier"; + } + } + + grouping PPP-SHOW-INT-INFO { + description + "PPP state information"; + leaf lcp-state { + type Ppp-fsm-state; + description + "LCP State"; + } + leaf is-loopback-detected { + type int32; + description + "Loopback detected"; + } + leaf keepalive-period { + type uint32; + description + "Keepalive value"; + } + leaf is-mp-bundle-member { + type int32; + description + "MP Bundle Member"; + } + leaf is-multilink-open { + type int32; + description + "Is Multilink Open"; + } + list ncp-info-array { + description + "Array of per-NCP data"; + uses PPP-SHOW-INT-NCP-INFO; + } + } + + grouping VLAN-SWITCHED-INFO { + description + "VLAN-Switched information"; + container trunk-vlan-ranges { + description + "VLAN-Switched Trunk VLAN ranges"; + uses EFP-DESCRIPTION; + } + leaf mode { + type Vlan-switched-mode; + description + "VLAN-Switched mode"; + } + leaf access-vlan { + type Vlan-tag-value; + description + "VLAN-Switched Access VLAN"; + } + } + + grouping EFP-TAG-LOCAL-TRAFFIC-STACK { + description + "EFP TAG LOCAL TRAFFIC STACK"; + list local-traffic-tag { + description + "VLAN tags for locally-sourced traffic"; + uses EFP-VLAN-TAG; + } + } + + grouping EFP-VLAN-TAG { + description + "EFP VLAN TAG"; + leaf ethertype { + type Efp-tag-etype; + description + "Ethertype of tag"; + } + leaf vlan-id { + type Vlan-tag-value; + description + "VLAN Id"; + } + } + + grouping EFP-RANGE-TYPE { + description + "EFP RANGE TYPE"; + leaf vlan-id-low { + type Vlan-tag-value; + description + "VLAN ID Low"; + } + leaf vlan-id-high { + type Vlan-tag-value; + description + "VLAN ID High"; + } + } + + grouping EFP-TAG-MATCH { + description + "EFP TAG MATCH"; + leaf ethertype { + type Efp-tag-etype; + description + "Ethertype of tag to match"; + } + leaf priority { + type Efp-tag-priority; + description + "Priority to match"; + } + leaf number-of-ranges { + type uint16; + description + "Number of vlan ranges to match"; + } + list vlan-range { + description + "VLAN Ids to match"; + uses EFP-RANGE-TYPE; + } + } + + grouping EFP-DESCRIPTION { + description + "EFP DESCRIPTION"; + container local-traffic-stack { + description + "VLAN tags for locally-sourced traffic"; + uses EFP-TAG-LOCAL-TRAFFIC-STACK; + } + leaf payload-ethertype { + type Efp-payload-etype; + description + "Payload Ethertype to match"; + } + leaf tags-popped { + type uint16; + description + "Number of tags popped on ingress"; + } + leaf is-exact-match { + type int32; + description + "Whether the packet must match the encapsulation + exactly, with no further inner tags"; + } + leaf is-native-vlan { + type int32; + description + "Whether this represents the native VLAN on the + port"; + } + leaf is-native-preserving { + type int32; + description + "Whether the native VLAN is customer-tag + preserving"; + } + leaf source-mac-match { + type Mac-address; + description + "The source MAC address to match on ingress"; + } + leaf destination-mac-match { + type Mac-address; + description + "The destination MAC address to match on ingress"; + } + list tags-to-match { + description + "Tags to match on ingress packets"; + uses EFP-TAG-MATCH; + } + list pushe { + description + "VLAN tags pushed on egress"; + uses EFP-VLAN-TAG; + } + } + + grouping VLAN-DOUBLE-TAG-STACK { + description + "VLAN double tag stack"; + leaf outer-tag { + type Vlan-tag-value; + description + "Outer tag value"; + } + leaf second-tag { + type Vlan-tag-value; + description + "Second tag value"; + } + } + + grouping VLAN-TAG-STACK-TYPE { + description + "VLAN encapsulation and tag stack"; + container stack { + when "../vlan-encapsulation = 'qinq'" { + description + "../VLANEncapsulation = 'QinQ'"; + } + description + "Stack value"; + uses VLAN-DOUBLE-TAG-STACK; + } + container service-instance-details { + when "../vlan-encapsulation = 'service-instance'" { + description + "../VLANEncapsulation = 'ServiceInstance'"; + } + description + "Service Instance encapsulation"; + uses EFP-DESCRIPTION; + } + container dot1ad-dot1q-stack { + when "../vlan-encapsulation = 'dot1ad-dot1q'" { + description + "../VLANEncapsulation = 'Dot1adDot1Q'"; + } + description + "802.1ad 802.1Q stack value"; + uses VLAN-DOUBLE-TAG-STACK; + } + leaf vlan-encapsulation { + type Vlan-encaps; + description + "VLANEncapsulation"; + } + leaf tag { + when "../vlan-encapsulation = 'dot1q'" { + description + "../VLANEncapsulation = 'Dot1Q'"; + } + type Vlan-tag-value; + description + "Tag value"; + } + leaf outer-tag { + when "../vlan-encapsulation = 'qin-any'" { + description + "../VLANEncapsulation = 'QinAny'"; + } + type Vlan-tag-value; + description + "Outer tag value"; + } + leaf native-tag { + when "../vlan-encapsulation = 'dot1q-native'" { + description + "../VLANEncapsulation = 'Dot1QNative'"; + } + type Vlan-tag-value; + description + "Native tag value"; + } + leaf dot1ad-tag { + when "../vlan-encapsulation = 'dot1ad'" { + description + "../VLANEncapsulation = 'Dot1ad'"; + } + type Vlan-tag-value; + description + "802.1ad tag value"; + } + leaf dot1ad-native-tag { + when "../vlan-encapsulation = 'dot1ad-native'" { + description + "../VLANEncapsulation = 'Dot1adNative'"; + } + type Vlan-tag-value; + description + "802.1ad native tag value"; + } + leaf dot1ad-outer-tag { + when "../vlan-encapsulation = 'dot1ad-any'" { + description + "../VLANEncapsulation = 'Dot1adAny'"; + } + type Vlan-tag-value; + description + "802.1ad Outer tag value"; + } + } + + grouping VLAN-INTF-GENERIC { + description + "VLAN INTF GENERIC"; + container encapsulation-details { + description + "Encapsulation type and tag stack"; + uses VLAN-TAG-STACK-TYPE; + } + container vlan-switched { + description + "VLAN-Switched information"; + uses VLAN-SWITCHED-INFO; + } + } + + grouping IM-CMD-FR-INFO { + description + "IM CMD FR INFO"; + leaf fr-encapsulation-type { + type Im-cmd-fr-type-enum; + description + "Frame Relay encapsulation type"; + } + leaf lmi-type { + type Im-cmd-lmi-type-enum; + description + "The LMI type: Autosense, ANSI, CCITT or CISCO"; + } + leaf lmidlci { + type uint32; + description + "LMI DLCI"; + } + leaf is-nni { + type boolean; + description + "The NNI LMI interface type"; + } + leaf is-dte { + type boolean; + description + "The DTE/DCE LMI interface type"; + } + leaf is-lmi-up { + type boolean; + description + "Flag indicating whether the LMI DTE/DCE/NNI-DTE + state is UP"; + } + leaf is-lmi-nni-dce-up { + type boolean; + description + "Flag indicating whether the LMI NNI-DCE state + is UP"; + } + leaf is-lmi-enabled { + type boolean; + description + "The status of FR LMI for an interface"; + } + leaf enquiries-received { + type uint32; + description + "Number of enquiry messages received"; + } + leaf enquiries-sent { + type uint32; + description + "Number of enquiry messages sent"; + } + leaf status-received { + type uint32; + description + "Number of status messages received"; + } + leaf status-sent { + type uint32; + description + "Number of status messages sent"; + } + leaf update-status-received { + type uint32; + description + "Number of update status messages received"; + } + leaf update-status-sent { + type uint32; + description + "Number of update status messages sent"; + } + } + + grouping IM-CMD-ENCAPS-INFO { + description + "Encapsulation-specific information"; + container frame-relay-information { + when "../encapsulation-type = 'frame-relay'" { + description + "../EncapsulationType = 'FrameRelay'"; + } + description + "Frame Relay information"; + uses IM-CMD-FR-INFO; + } + container dot1q-information { + when "../encapsulation-type = 'vlan'" { + description + "../EncapsulationType = 'VLAN'"; + } + description + "VLAN 802.1q information"; + uses VLAN-INTF-GENERIC; + } + container ppp-information { + when "../encapsulation-type = 'ppp'" { + description + "../EncapsulationType = 'PPP'"; + } + description + "PPP information"; + uses PPP-SHOW-INT-INFO; + } + leaf encapsulation-type { + type Im-cmd-encaps-enum; + description + "EncapsulationType"; + } + } + + grouping IM-CMD-IP-INFO-ST { + description + "IP information"; + leaf ip-address { + type inet:ipv4-address; + description + "Interface IPv4 address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf subnet-mask-length { + type uint32; + description + "Interface subnet mask length"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping IM-CMD-ARP-INFO-ST { + description + "ARP information"; + leaf arp-timeout { + type uint32; + units "second"; + description + "ARP timeout in seconds. Only valid if + 'ARPIsLearningDisabled' is 'false'"; + } + leaf arp-type-name { + type string; + description + "ARP type name"; + } + leaf arp-is-learning-disabled { + type boolean; + description + "Whether the interface has dynamic learning + disabled"; + } + } + + grouping IM-CMD-CARRIER-DELAY-ST { + description + "Carrier Delay Information"; + leaf carrier-delay-up { + type uint32; + description + "Carrier delay on state up (ms)"; + } + leaf carrier-delay-down { + type uint32; + description + "Carrier delay on state down (ms)"; + } + } + + grouping IM-CMD-MAC-ADDR-ST { + description + "Mac Address"; + leaf address { + type yang:mac-address; + description + "MAC Address"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping IM-CMD-DAMP-ST { + description + "Dampening information"; + leaf penalty { + type uint32; + description + "Dampening penalty of the interface"; + } + leaf is-suppressed-enabled { + type boolean; + description + "Flag showing if state is suppressed"; + } + leaf seconds-remaining { + type uint32; + units "second"; + description + "Remaining period of suppression in secs"; + } + leaf half-life { + type uint32; + units "minute"; + description + "Configured decay half life in mins"; + } + leaf reuse-threshold { + type uint32; + description + "Configured reuse threshold"; + } + leaf suppress-threshold { + type uint32; + description + "Value of suppress threshold"; + } + leaf maximum-suppress-time { + type uint32; + units "minute"; + description + "Maximum suppress time in mins"; + } + leaf restart-penalty { + type uint32; + description + "Configured restart penalty"; + } + } + + grouping IM-CMD-INFO { + description + "Full interface information"; + container dampening-information { + description + "State dampening information of interface"; + uses IM-CMD-DAMP-ST; + } + container mac-address { + description + "Interface MAC address"; + uses IM-CMD-MAC-ADDR-ST; + } + container burned-in-address { + description + "Interface burned in address"; + uses IM-CMD-MAC-ADDR-ST; + } + container carrier-delay { + description + "Carrier Delay of the interface"; + uses IM-CMD-CARRIER-DELAY-ST; + } + container arp-information { + description + "Interface ARP type and timeout"; + uses IM-CMD-ARP-INFO-ST; + } + container ip-information { + description + "Interface IP address info"; + uses IM-CMD-IP-INFO-ST; + } + container encapsulation-information { + description + "Information specific to the encapsulation"; + uses IM-CMD-ENCAPS-INFO; + } + container interface-type-information { + description + "Information specific to the interface type"; + uses IM-CMD-INTF-TYPE-INFO; + } + container data-rates { + description + "Packet and byte rates"; + uses STATSDBAG-DATARATE; + } + container interface-statistics { + description + "Packet, byte and error counters"; + uses IM-CMD-IF-STATS; + } + container l2-interface-statistics { + description + "L2 Protocol Statistics"; + uses STATS-DATA; + } + leaf interface-handle { + type string; + description + "Interface name"; + } + leaf interface-type { + type string; + description + "Type of Interface"; + } + leaf hardware-type-string { + type string { + length "0..64"; + } + description + "Hardware type description string"; + } + leaf state { + type Im-state-enum; + description + "Interface state"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf line-state { + type Im-state-enum; + description + "Line protocol state"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf encapsulation { + type string; + description + "Interface encapsulation"; + } + leaf encapsulation-type-string { + type string { + length "0..32"; + } + description + "Interface encapsulation description string"; + } + leaf mtu { + type uint32; + units "byte"; + description + "MTU in bytes"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf is-l2-transport-enabled { + type boolean; + description + "L2 transport flag"; + } + leaf state-transition-count { + type uint32; + description + "The number of times the state has changed"; + } + leaf last-state-transition-time { + type uint64; + description + "The absolute time of last state change of the + interface"; + } + leaf is-dampening-enabled { + type boolean; + description + "Dampening enabled flag"; + } + leaf speed { + type uint32; + description + "Interface speed (Kb/s)"; + } + leaf crc-length { + type uint32; + description + "Cyclic Redundancy Check length"; + } + leaf is-scramble-enabled { + type boolean; + description + "Interface scramble config"; + } + leaf duplexity { + type Im-attr-duplex; + description + "Interface duplexity"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf media-type { + type Im-attr-media; + description + "Interface media type"; + } + leaf link-type { + type Im-attr-link; + description + "Interface link type"; + } + leaf in-flow-control { + type Im-attr-flow-control; + description + "Input flow control configuration"; + } + leaf out-flow-control { + type Im-attr-flow-control; + description + "Output flow control configuration"; + } + leaf bandwidth { + type uint64; + description + "Interface bandwidth 64-bit (Kb/s)"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf max-bandwidth { + type uint64; + description + "Maximum Interface bandwidth 64-bit (Kb/s)"; + } + leaf keepalive { + type uint32; + description + "Interface keepalive time (s)"; + } + leaf is-l2-looped { + type boolean; + description + "Loopback detected by layer 2"; + } + leaf parent-interface-name { + type xr:Interface-name; + description + "If handle of Parent interface"; + } + leaf loopback-configuration { + type Im-cmd-loopback-enum; + description + "Loopback configuration of Interface"; + } + leaf description { + type string; + description + "Interface description string"; + } + leaf is-maintenance-enabled { + type boolean; + description + "Maintenance embargo flag"; + } + leaf is-data-inverted { + type boolean; + description + "Data invert flag"; + } + leaf transport-mode { + type Im-attr-transport-mode; + description + "Interface transport mode"; + } + leaf fast-shutdown { + type boolean; + description + "Fast Shutdown flag"; + } + leaf if-index { + type uint32; + description + "This is not supposed to be used. It is a dummy + attribute to support ifindex for OC model"; + } + leaf is-intf-logical { + type boolean; + description + "Flag to check if interface is logical or + Physical"; + } + leaf is-intf-type-management { + type boolean; + description + "If set to TRUE, it indicates that interface is a + dedicated management interface"; + } + leaf is-intf-type-cpu { + type boolean; + description + "If set to TRUE, it indicates that interface is + for traffic handled by system CPU"; + } + } + + grouping IM-SPARSE-INTF-INFO { + description + "Interface non-statistics info for non-subscriber + interfaces"; + leaf interface-name-xr { + type string; + description + "Name of the interface"; + } + leaf interface-handle { + type xr:Interface-name; + description + "Interface handle of the Interface"; + } + leaf is-subscriber { + type boolean; + description + "When set to true, this indicates that the + interface is a subscriber interface"; + } + leaf description { + type string; + description + "Interface description details"; + } + leaf oper-state { + type Im-state-enum; + description + "Interface Operational state"; + } + leaf admin-state { + type Im-state-enum; + description + "Interface Admin state"; + } + leaf mac-address { + type string; + description + "Interface MAC address"; + } + leaf burned-in-address { + type string; + description + "Interface burned in address"; + } + leaf ipv4-address { + type string; + description + "Interface IPv4 address info"; + } + leaf max-bandwidth { + type uint64; + description + "Maximum Interface bandwidth 64-bit (Kb/s)"; + } + leaf bandwidth { + type uint64; + description + "Interface bandwidth 64-bit (Kb/s)"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf mtu { + type uint32; + units "byte"; + description + "MTU in bytes"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf duplexity { + type Im-attr-duplex; + description + "Interface duplexity"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf link-type { + type string; + description + "Interface link type"; + } + leaf ipv4-prefix-len { + type uint32; + description + "IPv4 Subnet mask length"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub2.yang new file mode 100644 index 000000000..5c425aba3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper-sub2.yang @@ -0,0 +1,321 @@ +submodule Cisco-IOS-XR-pfi-im-cmd-oper-sub2 { + belongs-to Cisco-IOS-XR-pfi-im-cmd-oper { + prefix Cisco-IOS-XR-pfi-im-cmd-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR pfi-im-cmd package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-07 { + description + "Added leaves is-intf-type-management and is-intf-type-cpu to indicate management interface and cpu interface + 2021-11-15 + Support added for sparse interface container."; + semver:module-version "5.0.1M"; + } + revision 2021-08-27 { + description + "added new mediatype for 25GBASE_ER."; + semver:module-version "5.0.0"; + } + revision 2021-05-23 { + description + "Removed container for non-dynamic interfaces. + 2020-12-02 + added new mediatype for 25GBASE_LR. + 2020-10-08 + Unit of last-data-time in milliseconds reverted to seconds for generic stats + 2020-10-01 + 64-bit Bandwidth support + 2020-09-03 + Removed event-telemetry annotation from leaf interface-name of grouping BM-MEMBER-DATA + 2020-04-14 + Unit of last-data-time changed from seconds to milliseconds for generic stats + 2020-04-14 + Support added for non-dynamic interfaces. + 2020-04-14 + Data type of last-data-time changed from uint32 to uint64 for generic and proto stats"; + semver:module-version "4.0.0"; + } + revision 2019-12-03 { + description + "Updated description."; + semver:module-version "3.0.0"; + } + revision 2019-08-14 { + description + "Added last state transition time. + 2019-07-23 + Changes in IosApi version. + 2019-05-30 + 64 bit bandwidth changes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-18 { + description + "Description updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + grouping IMDS-IFATTR-BASE-INFO { + description + "Basic interface information"; + leaf interface { + type xr:Interface-name; + description + "Interface"; + } + leaf parent-interface { + type xr:Interface-name; + description + "Parent Interface"; + } + leaf type { + type string; + description + "Interface type"; + } + leaf state { + type Im-state-enum; + description + "Operational state"; + } + leaf actual-state { + type Im-state-enum; + description + "Operational state with no translation of error + disable or shutdown"; + } + leaf line-state { + type Im-state-enum; + description + "Line protocol state"; + } + leaf actual-line-state { + type Im-state-enum; + description + "Line protocol state with no translation of error + disable or shutdown"; + } + leaf encapsulation { + type string; + description + "Interface encapsulation"; + } + leaf encapsulation-type-string { + type string { + length "0..32"; + } + description + "Interface encapsulation description string"; + } + leaf mtu { + type uint32; + units "byte"; + description + "MTU in bytes"; + } + leaf sub-interface-mtu-overhead { + type uint32; + description + "Subif MTU overhead"; + } + leaf l2-transport { + type boolean; + description + "L2 transport"; + } + leaf bandwidth { + type uint32; + description + "Interface bandwidth (Kb/s)"; + } + leaf bandwidth64-bit { + type uint64; + description + "Interface bandwidth 64-bit (Kb/s)"; + } + } + + grouping IM-IF-GROUP-COUNTS { + description + "Interface counts"; + leaf interface-count { + type uint32; + description + "Number of interfaces"; + } + leaf up-interface-count { + type uint32; + description + "Number of interfaces in UP state"; + } + leaf down-interface-count { + type uint32; + description + "Number of interfaces in DOWN state"; + } + leaf admin-down-interface-count { + type uint32; + description + "Number of interfaces in an ADMINDOWN state"; + } + } + + grouping IM-IF-TYPE-SUMMARY { + description + "Interface type summary information"; + container interface-counts { + description + "Counts for interfaces of this type"; + uses IM-IF-GROUP-COUNTS; + } + leaf interface-type-name { + type string; + description + "Name of the interface type"; + } + leaf interface-type-description { + type string; + description + "Description of the interface type"; + } + } + + grouping IM-IF-SUMMARY-INFO { + description + "Interface summary bag"; + container interface-counts { + description + "Counts for all interfaces"; + uses IM-IF-GROUP-COUNTS; + } + list interface-type { + description + "List of per interface type summary information"; + uses IM-IF-TYPE-SUMMARY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper.yang new file mode 100644 index 000000000..bbab68685 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pfi-im-cmd-oper.yang @@ -0,0 +1,232 @@ +module Cisco-IOS-XR-pfi-im-cmd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pfi-im-cmd-oper"; + prefix pfi-im-cmd-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-pfi-im-cmd-oper-sub2 { + revision-date 2022-03-07; + } + include Cisco-IOS-XR-pfi-im-cmd-oper-sub1 { + revision-date 2022-03-07; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pfi-im-cmd package operational data. + + This module contains definitions + for the following management objects: + interfaces: Interface operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-07 { + description + "Added leaves is-intf-type-management and is-intf-type-cpu to indicate management interface and cpu interface + 2021-11-15 + Support added for sparse interface container."; + semver:module-version "5.0.1M"; + } + revision 2021-08-27 { + description + "added new mediatype for 25GBASE_ER."; + semver:module-version "5.0.0"; + } + revision 2021-05-23 { + description + "Removed container for non-dynamic interfaces. + 2020-12-02 + added new mediatype for 25GBASE_LR. + 2020-10-08 + Unit of last-data-time in milliseconds reverted to seconds for generic stats + 2020-10-01 + 64-bit Bandwidth support + 2020-09-03 + Removed event-telemetry annotation from leaf interface-name of grouping BM-MEMBER-DATA + 2020-04-14 + Unit of last-data-time changed from seconds to milliseconds for generic stats + 2020-04-14 + Support added for non-dynamic interfaces. + 2020-04-14 + Data type of last-data-time changed from uint32 to uint64 for generic and proto stats"; + semver:module-version "4.0.0"; + } + revision 2019-12-03 { + description + "Updated description."; + semver:module-version "3.0.0"; + } + revision 2019-08-14 { + description + "Added last state transition time. + 2019-07-23 + Changes in IosApi version. + 2019-05-30 + 64 bit bandwidth changes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-06-26 { + description + "Change identifiers to be more readable."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-18 { + description + "Description updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Interface-type-set { + type enumeration { + enum "hardware-interfaces" { + value 0; + description + "Restrict the output to hardware interfaces only"; + } + enum "non-dynamic-interfaces" { + value 1; + description + "Restrict the output to non-dynamic interfaces + only"; + } + } + description + "Interface type set"; + } + + grouping INTERFACE-SUMMARY { + description + "Common node of node-type-set, interfaces"; + container interface-summary { + description + "Interface summary information"; + uses IM-IF-SUMMARY-INFO; + } + } + + container interfaces { + config false; + description + "Interface operational data"; + container interface-sparses { + description + "Sparse operational data for interfaces"; + list interface-sparse { + key "interface-name"; + description + "Sparse operational data for a particular + interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IM-SPARSE-INTF-INFO; + } + } + container interface-xr { + description + "Detailed operational data for interfaces and + configured features"; + list interface { + key "interface-name"; + description + "Detailed operational data for a particular + interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IM-CMD-INFO; + } + } + container node-type-sets { + description + "Node and/or interface type specific view of + interface summary data"; + list node-type-set { + description + "Summary data for all interfaces on a particular + node"; + leaf node-name { + type xr:Node-id; + description + "The location to filter on"; + } + leaf type-set-name { + type Interface-type-set; + description + "The interface type to filter on"; + } + uses INTERFACE-SUMMARY; + } + } + container interface-briefs { + description + "Brief operational data for interfaces"; + list interface-brief { + key "interface-name"; + description + "Brief operational attributes for a particular + interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IMDS-IFATTR-BASE-INFO; + } + } + container inventory-summary { + description + "Inventory summary information"; + uses IM-IF-SUMMARY-INFO; + } + container interfaces { + description + "Descriptions for interfaces"; + list interface { + key "interface-name"; + description + "Description for a particular interface"; + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + uses IM-DESC-INFO; + } + } + uses INTERFACE-SUMMARY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub1.yang new file mode 100644 index 000000000..57c18ae69 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub1.yang @@ -0,0 +1,4060 @@ +submodule Cisco-IOS-XR-pim-oper-sub1 { + belongs-to Cisco-IOS-XR-pim-oper { + prefix Cisco-IOS-XR-pim-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-pim-oper-sub2 { + revision-date 2022-03-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR pim package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "1.1.1m"; + } + revision 2021-02-17 { + description + "Addition made for Sticky DR neighbor tracking"; + semver:module-version "1.1.0"; + } + revision 2019-12-24 { + description + "Fixed CSCvr52977."; + semver:module-version "1.0.0"; + } + revision 2019-08-27 { + description + "Providing PIM information."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pim-show-local-interest { + type enumeration { + enum "null" { + value 1; + description + "null"; + } + enum "li" { + value 2; + description + "Local Interest"; + } + enum "ld" { + value 3; + description + "Local Disinterest"; + } + } + description + "Pim show local interest"; + } + + typedef Pim-internal-interest-info { + type enumeration { + enum "null" { + value 21; + description + "null"; + } + enum "ii" { + value 22; + description + "Internal Interest"; + } + enum "id" { + value 23; + description + "Internal Disinterest"; + } + } + description + "Pim internal interest info"; + } + + typedef Pim-show-range-client { + type enumeration { + enum "no-client" { + value 0; + description + "no client"; + } + enum "embedded-config" { + value 1; + description + "embedded config"; + } + enum "embedded" { + value 2; + description + "embedded"; + } + enum "permanent" { + value 3; + description + "permanent"; + } + enum "auto-rp" { + value 4; + description + "auto rp"; + } + enum "bsr" { + value 5; + description + "bsr"; + } + enum "config" { + value 6; + description + "config"; + } + enum "static" { + value 7; + description + "static"; + } + } + description + "Pim show range client"; + } + + typedef Pim-show-protocol { + type enumeration { + enum "no-route" { + value 0; + description + "no route"; + } + enum "sm" { + value 1; + description + "sm"; + } + enum "dm" { + value 2; + description + "dm"; + } + enum "bidir" { + value 3; + description + "bidir"; + } + enum "ssm" { + value 4; + description + "ssm"; + } + enum "maximum" { + value 5; + description + "maximum"; + } + enum "any" { + value 6; + description + "any"; + } + } + description + "Pim show protocol"; + } + + grouping PIM-ISSU-BAG { + description + "ISSU information"; + leaf informationvalid { + type boolean; + description + "Is Information valid ?"; + } + leaf role-ha { + type int32; + description + "HA role"; + } + leaf role-issu { + type int32; + description + "ISSU role"; + } + leaf phase-issu { + type int32; + description + "ISSU Phase"; + } + leaf last-ha-role-notification-received { + type uint64; + description + "Time when last HA role nfn was received"; + } + leaf last-issu-role-notification-received { + type uint64; + description + "Time when last ISSU role nfn was received"; + } + leaf last-issu-phase-notification-received { + type uint64; + description + "Time when last ISSU Phase nfn was received"; + } + leaf is-eoc-received { + type boolean; + description + "Was EOC received ?"; + } + leaf eoc-received-timestamp { + type uint64; + description + "Time when EOC was received"; + } + leaf is-ihms-done-received { + type boolean; + description + "Was IHMS done received ?"; + } + leaf ihms-received-timestamp { + type uint64; + description + "Time when IHMS done was received"; + } + leaf is-rib-sync-received { + type boolean; + description + "Was RIB Sync received ?"; + } + leaf rib-sync-received-timestamp { + type uint64; + description + "Time when RIB Sync was received"; + } + leaf is-nbr-sync-received { + type boolean; + description + "Was NBR Sync achieved ?"; + } + leaf nbr-sync-received-timestamp { + type uint64; + description + "Time when NBR Sync was achieved"; + } + leaf is-checkpoint-idt-done { + type boolean; + description + "Was Checkpoint IDT done ?"; + } + leaf checkpoint-idt-timestamp { + type uint64; + description + "Time when Checkpoint IDT done"; + } + } + + grouping PIM-NSF-BAG { + description + "PIM NSF state"; + leaf configured-state { + type boolean; + description + "Is Multicast NSF Configured"; + } + leaf nsf-state { + type boolean; + description + "Are we currently in NSF"; + } + leaf nsf-timeout { + type uint32; + units "second"; + description + "Multicast NSF timeout in seconds"; + } + leaf nsf-time-left { + type uint32; + units "second"; + description + "Multicast NSF time left in seconds"; + } + leaf waiting-timer { + type boolean; + description + "Waiting for NSF timer expiry"; + } + leaf waiting-membership { + type boolean; + description + "Waiting for IGMP/MLD"; + } + leaf respawn-count { + type uint32; + description + "Respawn Count"; + } + leaf last-nsf-on { + type int64; + description + "Last NSF time ON"; + } + leaf last-nsf-off { + type int64; + description + "Last NSF time off"; + } + leaf last-nsf-on-sec { + type int32; + units "second"; + description + "Last NSF time ON in Seconds"; + } + leaf last-nsf-off-sec { + type int32; + units "second"; + description + "Last NSF time OFF in Seconds"; + } + leaf last-icd-notif-recv { + type int64; + description + "Last ICD Notif Recv"; + } + leaf last-icd-notif-recv-sec { + type int32; + units "second"; + description + "Last ICD Notif Recv in Seconds"; + } + } + + grouping PIM-NSR-BAG { + description + "NSR Related information"; + leaf state { + type uint8; + description + "NSR state"; + } + leaf partner-connected { + type boolean; + description + "Partner process connected"; + } + leaf rmf-notification-done { + type boolean; + description + "RMF Notification done"; + } + leaf rmf-timer-valid { + type boolean; + description + "Is RMF timer running ?"; + } + leaf rmf-timer-expiry { + type uint64; + description + "Time for RMF timer to expire"; + } + leaf last-connection-up { + type uint64; + description + "Time when connection went up"; + } + leaf last-connection-dn { + type uint64; + description + "Time when connection went down"; + } + leaf last-rmf-ready { + type uint64; + description + "Time when RMF Rdy notif was sent"; + } + leaf last-rmf-not-ready { + type uint64; + description + "Time when RMF Not-Rdy notif was sent"; + } + leaf count-connection-up { + type uint32; + description + "No. of times connection went up"; + } + leaf count-connection-dn { + type uint32; + description + "No. of times connection went down"; + } + leaf count-rmf-ready { + type uint32; + description + "No. of times RMF Ready notif was sent"; + } + leaf count-rmf-not-ready { + type uint32; + description + "No. of times RMF Not Ready notif was sent"; + } + } + + grouping PIM-NBR-BAG { + description + "PIM neighbor information"; + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expires { + type uint64; + units "second"; + description + "Neighbor expiry in seconds"; + } + leaf expiry-timer { + type uint64; + units "second"; + description + "Expiry timer in seconds"; + } + leaf is-this-neighbor-us { + type boolean; + description + "Is this neighbor us ?"; + } + leaf is-this-neighbor-dr { + type boolean; + description + "Is this neighbor the DR"; + } + leaf is-dr-priority-capable { + type boolean; + description + "Is this neighbor DR priority capable ?"; + } + leaf dr-priority { + type uint32; + description + "DR priority"; + } + leaf is-bidirectional-capable { + type boolean; + description + "Is this neighbor bidir capable ?"; + } + leaf is-proxy-capable { + type boolean; + description + "Is this neighbor proxy capable?"; + } + leaf is-batch-asserts-capable { + type boolean; + description + "Is this neighbor capable of batching asserts?"; + } + leaf is-ecmp-redirect-capable { + type boolean; + description + "Is this neighbor capable of Ecmp Redirect?"; + } + leaf is-bfd-state { + type boolean; + description + "Is the neighbor bfd session created"; + } + leaf sticky-dr-neighbor { + type boolean; + description + "Is Sticky DR advertised on interface by neighbor"; + } + leaf propagation-delay { + type uint16; + description + "Propagation Delay"; + } + leaf override-interval { + type uint16; + description + "Override Interval"; + } + list neighbor-address-xr { + description + "List of Neighbor Addresses"; + uses PIM-ADDRTYPE; + } + } + + grouping PIM-MSTATIC-BAG { + description + "Multicast Static Routes entry"; + container prefix { + description + "Prefix"; + uses PIM-ADDRTYPE; + } + container nexthop { + description + "Next Hop"; + uses PIM-ADDRTYPE; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Handle"; + } + leaf distance { + type uint32; + description + "Distance"; + } + leaf prefix-length-xr { + type uint8; + description + "Prefix Length"; + } + leaf is-via-lsm { + type boolean; + description + "LSM flag"; + } + } + + grouping PIM-RPF-RDRCT-BNDL-BAG { + description + "PIM RPF Redirect bundle information"; + leaf rpf-redirect-bundle-name { + type string { + length "0..33"; + } + description + "RPF redirect bundle name"; + } + leaf rpf-redirect-interface-name { + type string { + length "0..33"; + } + description + "RPF redirect interface name"; + } + leaf available-bandwidth { + type int32; + units "kbit/s"; + description + "Bandwidth available in Kbps"; + } + leaf allocated-bandwidth { + type int32; + units "kbit/s"; + description + "Bandwidth allocated in Kbps"; + } + leaf total-bandwidth { + type int32; + units "kbit/s"; + description + "Total bandwidth used in Kbps"; + } + leaf topology-bandwidth-used { + type int32; + units "kbit/s"; + description + "Bandwidth used by topology in Kbps"; + } + leaf snooping-bandwidth-used { + type int32; + units "kbit/s"; + description + "Bandwidth used by snooped entries in Kbps"; + } + leaf allocated-threshold-bandwidth { + type int32; + units "kbit/s"; + description + "Configured threshold in Kbps"; + } + leaf available-threshold-bandwidth { + type int32; + units "kbit/s"; + description + "Available threshold in Kbps"; + } + } + + grouping PIM-RPF-RDRCT-RINTF-BAG { + description + "PIM RPF-redirct bundle non-local route OLE + information"; + container rpf-address { + description + "RPF Address"; + uses PIM-ADDRTYPE; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiry { + type uint64; + units "second"; + description + "Expiry in seconds"; + } + leaf is-rpf-interface { + type boolean; + description + "Is RPF Interface"; + } + leaf is-outgoing-interface { + type boolean; + description + "Is outgoing Interface"; + } + leaf is-snoop-interface { + type boolean; + description + "Is snooping Interface"; + } + } + + grouping PIM-RPF-RDRCT-ROUTE-BAG { + description + "PIM RPF Redirect route information"; + container group-address-xr { + description + "Group ddress"; + uses PIM-ADDRTYPE; + } + container source-address-xr { + description + "Source address"; + uses PIM-ADDRTYPE; + } + leaf bandwidth { + type uint32; + units "kbit/s"; + description + "Bandwidth in Kbps"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + list interface { + description + "Outgoing interface list"; + uses PIM-RPF-RDRCT-RINTF-BAG; + } + } + + grouping PIM-ANYCAST-RP-ENTRY { + description + "PIM Anycast RP entry"; + container prefix { + description + "Anycast-RP Range Prefix"; + uses PIM-ADDRTYPE; + } + leaf prefix-length { + type uint8; + description + "Anycast-RP Range Prefix Length"; + } + leaf ancast-rp-marked { + type boolean; + description + "Anycast-RP Range marked"; + } + } + + grouping PIM-RT-EXTCOMM { + description + "PIM Route-target entry"; + leaf route-target { + type yang:hex-string; + description + "Route Target Extended community value"; + } + leaf configured { + type boolean; + description + "Configured Route Target"; + } + leaf anycast-rp { + type boolean; + description + "Anycast-RP Group"; + } + leaf anycast-rp-marked { + type boolean; + description + "Anycast-RP Group marked"; + } + leaf update-pending { + type boolean; + description + "Update Pending to BGP"; + } + leaf bgp-auto-discovery { + type boolean; + description + "BGP Auto Discovery"; + } + leaf segment-border { + type boolean; + description + "Segment Border"; + } + } + + grouping PIM-CONTEXT-BAG { + description + "PIM Context bag"; + container remote-default-group { + description + "Remote Default Group"; + uses PIM-ADDRTYPE; + } + container rpf-default-table { + description + "RPF Default Table"; + uses PIM-TABLE-CTX-BAG; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf murib-id { + type uint32; + description + "MURIB ID"; + } + leaf rpf-id { + type uint32; + description + "RPF ID"; + } + leaf remote-table-id { + type uint32; + description + "Remote Table ID"; + } + leaf mdt-default-group { + type inet:ipv4-address; + description + "MDT Default group"; + } + leaf mdt-source { + type inet:ipv4-address; + description + "MDT source"; + } + leaf mdt-source-interface { + type string; + description + "MDT Source Interface Name"; + } + leaf mdt-interface { + type xr:Interface-name; + description + "MDT handle"; + } + leaf mdt-gre-rpf-identifier { + type uint32; + description + "GRE-MDT RPF Identifier"; + } + leaf mdt-gre-remote-rpf-identifier { + type uint32; + description + "GRE-MDT Remote RPF Identifier"; + } + leaf is-unicast-rib-registration { + type boolean; + description + "Ucast RIB Registration"; + } + leaf is-multicast-rib-registration { + type boolean; + description + "Mcast RIB Registration"; + } + leaf is-active { + type boolean; + description + "Active"; + } + leaf is-active-ital { + type boolean; + description + "Active ITAL"; + } + leaf is-mrib-register { + type boolean; + description + "MRIB Register"; + } + leaf is-mdt-owner { + type boolean; + description + "MDT Owner"; + } + leaf is-routing-enabled { + type boolean; + description + "Routing Enabled"; + } + leaf is-socket-add-required { + type boolean; + description + "VRF required on Socket"; + } + leaf is-socket-added { + type boolean; + description + "VRF added on Socket"; + } + leaf is-lpts-socket-add-required { + type boolean; + description + "VRF LPTS filter required on Socket"; + } + leaf is-lpts-socket-added { + type boolean; + description + "VRF LPTS filter added on Socket"; + } + leaf is-udp-socket-add-required { + type boolean; + description + "VRF added on UDP Socket"; + } + leaf is-udp-socket-added { + type boolean; + description + "VRF added on UDP Socket"; + } + leaf is-udp-socket-bind-required { + type boolean; + description + "VRF bind required on UDP Socket"; + } + leaf is-udp-socket-bind { + type boolean; + description + "VRF bound on UDP Socket"; + } + leaf is-register-injection-socket-add-required { + type boolean; + description + "VRF required on Register Injection Socket"; + } + leaf is-register-injection-socket-added { + type boolean; + description + "VRF added on Register Injection Socket"; + } + leaf is-register-injection-lpts-socket-add-required { + type boolean; + description + "VRF LPTS filter required on Register Injection + Socket"; + } + leaf is-register-injection-lpts-socket-added { + type boolean; + description + "VRF LPTS filter added on Register Injection + Socket"; + } + leaf is-m-host-publish-pending { + type boolean; + description + "Publish pending for MHost Default interface"; + } + leaf mhost-interface { + type xr:Interface-name; + description + "MHost handle"; + } + leaf mhost-default-interface-config { + type string; + description + "Configured Mhost Defint"; + } + leaf mdt-mtu { + type uint32; + description + "MDT MTU"; + } + leaf maximum-mdt-aggregation { + type uint32; + description + "MDT max aggregation"; + } + leaf mdt-data-switchover-interval { + type uint32; + description + "Data MDT Switchover interval"; + } + leaf mdt-data-announce-interval { + type uint32; + description + "Data MDT Announce interval"; + } + leaf non-default-vrf-count-on-socket { + type uint32; + description + "Count of non-default vrfs on raw socket"; + } + leaf neighbor-filter-name { + type string; + description + "Neighbor Filter Name"; + } + leaf mdt-neighbor-filter-name { + type string; + description + "MDT Neighbor Filter Name"; + } + leaf allow-rp-configured { + type boolean; + description + "Allow RP Configured"; + } + leaf allow-rp-group-list { + type string { + length "0..64"; + } + description + "Allow RP Group-List ACL Name"; + } + leaf allow-rp-rp-list { + type string { + length "0..64"; + } + description + "Allow RP RP-list ACL Name"; + } + leaf sg-expiry-timer-configured { + type boolean; + description + "S,G Expiry Timer Configured"; + } + leaf sg-expiry-time { + type uint16; + units "second"; + description + "S,G Expiry Time Configured, in seconds"; + } + leaf sg-expiry-timer-sg-list { + type string { + length "0..64"; + } + description + "S,G expiry timer ACL name"; + } + leaf mldp-mdt-name { + type string; + description + "MLDP MDT Name"; + } + leaf mldp-mdt-interface { + type xr:Interface-name; + description + "MLDP MDT handle"; + } + leaf mldp-mdt-mtu { + type uint32; + description + "MLDP MDT MTU"; + } + leaf mldp-maximum-mdt-aggregation { + type uint32; + description + "MLDP MDT max aggregation"; + } + leaf mldp-mdt-data-switchover-interval { + type uint32; + description + "MLDP Data MDT Switchover interval"; + } + leaf mldp-mdt-data-announce-interval { + type uint32; + description + "MLDP Data MDT Announce interval"; + } + leaf mldp-mdt-rpf-identifier { + type uint32; + description + "MLDP RPF-ID"; + } + leaf mldp-mdt-remote-rpf-identifier { + type uint32; + description + "MLDP Remote RPF-ID"; + } + leaf is-create-mldp-mdt-interface { + type boolean; + description + "Create MLDP MDT interface"; + } + leaf is-mldp-mdt-owner { + type boolean; + description + "MLDP MDT Owner"; + } + leaf mldp-root-count { + type uint32; + description + "MLDP Root count"; + } + leaf mldp-head-lsm-identifier { + type uint32; + description + "MLDP Head LSM-ID"; + } + leaf mldp-remote-head-lsm-identifier { + type uint32; + description + "MLDP Remote Head LSM-ID"; + } + leaf organization-unique-identifier { + type uint32; + description + "OUI for VPN-ID"; + } + leaf vpn-index { + type uint32; + description + "VPN Index"; + } + leaf mldp-partitioned-mdt-configured { + type boolean; + description + "MLDP Partitioned MDT"; + } + leaf mldp-remote-partitioned-mdt-configured { + type boolean; + description + "MLDP Remote Partitioned MDT"; + } + leaf mldp-partioned-mp2m-ptree { + type boolean; + description + "MP2MP Partitioned MDT tree"; + } + leaf mldp-partitioned-head-lsm-identifier { + type uint32; + description + "Partitioned MDT Head LSM-ID"; + } + leaf mldp-head-local-label { + type uint32; + description + "Partitioned MDT Head local label"; + } + leaf mldp-partitioned-mdt-identifier { + type uint32; + description + "MLDP Partitioned MDT Identifier"; + } + leaf bgp-auto-discovery-configured { + type boolean; + description + "BGP Auto-Discovery configured"; + } + leaf suppress-pim-data-mdt-tlv { + type boolean; + description + "Suppress PIM Data-MDT TLV Announcements"; + } + leaf inter-autonomous-system-enabled { + type boolean; + description + "Inter-AS Enabled"; + } + leaf bgp-source-active-announce { + type boolean; + description + "Send BGP Source-Active Announcements"; + } + leaf bgp-i-pmsi-added { + type boolean; + description + "BGP I-PMSI Added"; + } + leaf mldp-bsr-control-tree-added { + type boolean; + description + "MLDP BSR Control tree added"; + } + leaf mldp-auto-rp-discovery-tree-added { + type boolean; + description + "MLDP Autorp Discovery Control tree added"; + } + leaf mldp-auto-rp-announce-tree-added { + type boolean; + description + "MLDP Autorp Announce Control tree added"; + } + leaf bgp-auto-discovery-type { + type uint32; + description + "BGP Auto Discovery Type"; + } + leaf mdt-partitioned-mdt-control-identifier { + type uint32; + description + "Partitioned MDT Control Identifier"; + } + leaf mdt-partitioned-ir-control-identifier { + type uint32; + description + "Partitioned IR MDT Control Identifier"; + } + leaf mldp-control-head-lsm-identifier { + type uint32; + description + "MLDP MVPN Identifier"; + } + leaf umh { + type boolean; + description + "Join UMH Core-Tree"; + } + leaf suppress-shared-tree-join { + type boolean; + description + "Suppress Shared-Tree Joins"; + } + leaf rsvp-te-mdt-name { + type string; + description + "RSVP-TE MDT Name"; + } + leaf rsvp-te-mdt-interface { + type xr:Interface-name; + description + "RSVP-TEMDT handle"; + } + leaf rsvp-te-mdt-mtu { + type uint32; + description + "RSVP-TEMDT MTU"; + } + leaf rsvp-te-maximum-mdt-aggregation { + type uint32; + description + "RSVP-TE MDT max aggregation"; + } + leaf rsvp-te-mdt-data-switchover-interval { + type uint32; + description + "RSVP-TE Data MDT Switchover interval"; + } + leaf rsvp-te-mdt-data-announce-interval { + type uint32; + description + "RSVP-TE Data MDT Announce interval"; + } + leaf rsvp-te-mdt-rpf-identifier { + type uint32; + description + "RSVP-TE RPF-ID"; + } + leaf is-create-rsvp-te-mdt-interface { + type boolean; + description + "Create RSVP-TE MDT interface"; + } + leaf is-rsvp-te-mdt-owner { + type boolean; + description + "RSVP-TE MDT Owner"; + } + leaf rsvp-te-mdt-static-p2mp-count { + type uint32; + description + "Number of Static P2MP-TE MDT"; + } + leaf p2mpte-li-drop { + type uint32; + description + "Route LI updates dropped for P2MP"; + } + leaf ir-mdt-name { + type string; + description + "IR MDT Name"; + } + leaf ir-mdt-interface { + type xr:Interface-name; + description + "IRMDT handle"; + } + leaf ir-mdt-mtu { + type uint32; + description + "IRMDT MTU"; + } + leaf ir-maximum-mdt-aggregation { + type uint32; + description + "IR MDT max aggregation"; + } + leaf ir-mdt-data-switchover-interval { + type uint32; + description + "IR Data MDT Switchover interval"; + } + leaf ir-mdt-data-announce-interval { + type uint32; + description + "IR Data MDT Announce interval"; + } + leaf ir-mdt-rpf-identifier { + type uint32; + description + "IR RPF-ID"; + } + leaf ir-mdt-tail-label { + type uint32; + description + "IR Tail Label"; + } + leaf is-create-ir-mdt-interface { + type boolean; + description + "Create IR MDT interface"; + } + leaf is-ir-mdt-owner { + type boolean; + description + "IR MDT Owner"; + } + leaf is-sr-local { + type boolean; + description + "SR Local"; + } + leaf is-sr-remote { + type boolean; + description + "SR Remote"; + } + leaf sr-mdt-name { + type string; + description + "SR MDT Name"; + } + leaf sr-mdt-interface { + type xr:Interface-name; + description + "SRMDT handle"; + } + leaf sr-mdt-mtu { + type uint32; + description + "SRMDT MTU"; + } + leaf sr-maximum-mdt-aggregation { + type uint32; + description + "SR MDT max aggregation"; + } + leaf sr-mdt-data-switchover-interval { + type uint32; + description + "SR Data MDT Switchover interval"; + } + leaf sr-mdt-data-announce-interval { + type uint32; + description + "SR Data MDT Announce interval"; + } + leaf sr-mdt-rpf-identifier { + type uint32; + description + "SR RPF-ID"; + } + leaf sr-mdt-tail-label { + type uint32; + description + "SR Tail Label"; + } + leaf is-create-sr-mdt-interface { + type boolean; + description + "Create SR MDT interface"; + } + leaf is-sr-mdt-owner { + type boolean; + description + "SR MDT Owner"; + } + leaf mdt-partitioned-tree-sid-control-identifier { + type uint32; + description + "Partitioned Tree-SID MDT Control Identifier"; + } + leaf in-b-and-mdt-name { + type string; + description + "Inband MDT Name"; + } + leaf in-b-and-mdt-interface { + type xr:Interface-name; + description + "Inband MDT handle"; + } + leaf in-b-and-mdt-mtu { + type uint32; + description + "Inband MDT MTU"; + } + leaf in-band-maximum-mdt-aggregation { + type uint32; + description + "Inband MDT max aggregation"; + } + leaf in-b-and-mdt-data-switchover-interval { + type uint32; + description + "Inband Data MDT Switchover interval"; + } + leaf in-b-and-mdt-data-announce-interval { + type uint32; + description + "Inband Data MDT Announce interval"; + } + leaf in-b-and-mdt-rpf-identifier { + type uint32; + description + "Inband RPF-ID"; + } + leaf is-create-in-b-and-mdt-interface { + type boolean; + description + "Create Inband MDT interface"; + } + leaf is-in-b-and-mdt-owner { + type boolean; + description + "Inband MDT Owner"; + } + leaf in-band-signaling-local-enabled { + type boolean; + description + "Inband signaling Local enabled"; + } + leaf in-band-signaling-remote-enabled { + type boolean; + description + "Inband signaling Remote enabled"; + } + leaf valid-rd-present { + type boolean; + description + "RD is valid"; + } + leaf stale-rd-present { + type boolean; + description + "RD is stale"; + } + leaf route-distinguisher { + type yang:hex-string; + description + "RD value"; + } + leaf gin-b-and-mdt-name { + type string; + description + "Inband MDT Name"; + } + leaf gin-b-and-mdt-interface { + type xr:Interface-name; + description + "Inband MDT handle"; + } + leaf gin-b-and-mdt-mtu { + type uint32; + description + "Inband MDT MTU"; + } + leaf gin-band-maximum-mdt-aggregation { + type uint32; + description + "Inband MDT max aggregation"; + } + leaf gin-b-and-mdt-data-switchover-interval { + type uint32; + description + "Inband Data MDT Switchover interval"; + } + leaf gin-b-and-mdt-data-announce-interval { + type uint32; + description + "Inband Data MDT Announce interval"; + } + leaf gin-b-and-mdt-rpf-identifier { + type uint32; + description + "Inband RPF-ID"; + } + leaf is-create-gin-b-and-mdt-interface { + type boolean; + description + "Create Inband MDT interface"; + } + leaf is-gin-b-and-mdt-owner { + type boolean; + description + "Inband MDT Owner"; + } + leaf is-pim-nsf-rib-converged { + type boolean; + description + "PIM NSF RIB converged"; + } + leaf is-pim-nsf-rib-converge-received { + type boolean; + description + "PIM NSF RIB converge received"; + } + leaf is-rib-multipath-enabled { + type boolean; + description + "PIM RIB multiplath enabled"; + } + leaf is-rib-multipath-interface-hash { + type boolean; + description + "PIM RIB multipath interface hash"; + } + leaf is-rib-multipath-source-hash { + type boolean; + description + "PIM RIB multipath source based hash"; + } + leaf is-rib-multipath-source-next-hop-hash { + type boolean; + description + "PIM RIB multipath source-nexthop hash"; + } + leaf rump-enabled { + type boolean; + description + "PIM is using MuRIB"; + } + leaf is-create-mdt-interface { + type boolean; + description + "Create MDT interface"; + } + leaf is-auto-rp-listen-enabled { + type boolean; + description + "Auto RP Listen Enabled"; + } + leaf is-all-interface-disable-operation { + type boolean; + description + "PIM all interface disable operation"; + } + leaf is-default-granges { + type boolean; + description + "Default granges"; + } + leaf is-auto-rp-listen-sock-add { + type boolean; + description + "Auto RP listen sock add"; + } + leaf is-redistribution-reset { + type boolean; + description + "Pending redist reset"; + } + leaf redistribution-reset-count { + type uint32; + description + "Redist reset count"; + } + leaf rpf-policy-name { + type string; + description + "RPF topology selection route-policy name"; + } + leaf table-count { + type uint32; + description + "Number of configured Tables"; + } + leaf active-table-count { + type uint32; + description + "Number of active Tables"; + } + leaf anycast-rp-policy-name { + type string; + description + "Anycast-RP Policy Name"; + } + leaf anycast-rp-configured { + type boolean; + description + "Anycast-RP config"; + } + leaf bgp-remote-on { + type boolean; + description + "BGP remote interface status"; + } + leaf bgp-remote-interface-name { + type string; + description + "BGP remote interface name"; + } + leaf bgp-remote-interface { + type xr:Interface-name; + description + "BGP remote interface handle"; + } + leaf bgp-remote-address { + type inet:ipv4-address; + description + "BGP remote interface address"; + } + leaf bgp-remote-state { + type uint32; + description + "BGP remote interface state"; + } + leaf physical-interface-count { + type uint64; + description + "Enabled Physical Interface Count"; + } + leaf virtual-interface-count { + type uint64; + description + "Enabled Virtual Interface Count"; + } + leaf virtual-mlc-interface-name { + type string; + description + "Virtual master line card Interface"; + } + leaf mdt-immediate-switch { + type boolean; + description + "MDT Immediate Switch"; + } + leaf remote-mdt-idb-name { + type string; + description + "Remote MDT Interface Handle Name"; + } + leaf remote-mdt-address { + type inet:ipv4-address; + description + "Remote MDT interface address"; + } + leaf-list mldp-root-address { + type uint32; + description + "MLDP Root addresses"; + } + list export-route-target { + description + "Export Route Targets"; + uses PIM-RT-EXTCOMM; + } + list import-route-target { + description + "Import Route Targets"; + uses PIM-RT-EXTCOMM; + } + list anycast-rp-range { + description + "Anycast-RP Ranges"; + uses PIM-ANYCAST-RP-ENTRY; + } + } + + grouping PIM-NBR-SUMM-BAG { + description + "PIM neighbor summary"; + leaf number-of-neighbors { + type int32; + description + "Number of neighbors"; + } + leaf number-of-external-neighbors { + type int32; + description + "Number of external neighbors"; + } + } + + grouping PIM-TABLE-CTX-BAG { + description + "PIM Table context"; + leaf afi { + type uint32; + description + "AFI"; + } + leaf safi { + type uint32; + description + "SAFI"; + } + leaf table-name { + type string; + description + "Table name"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf is-active { + type boolean; + description + "Active status"; + } + leaf is-ital-registration-done { + type boolean; + description + "ITAL reg status"; + } + leaf is-rib-registration-done { + type boolean; + description + "RIB reg status"; + } + leaf is-rib-convergence-received { + type boolean; + description + "RIB Convergence receive status"; + } + leaf is-rib-convergence { + type boolean; + description + "RIB Convergence status"; + } + leaf rpf-registrations { + type uint32; + description + "RPF Registration count"; + } + } + + grouping PIM-BIDIR-DF-BAG { + description + "PIM Bidirectional DF entry"; + container rp-address-xr { + description + "RP Address"; + uses PIM-ADDRTYPE; + } + container df-winner { + description + "DF Winner"; + uses PIM-ADDRTYPE; + } + leaf pim-interface-name { + type string; + description + "Interface Name"; + } + leaf are-we-df { + type boolean; + description + "Are we DF"; + } + leaf rp-lan { + type boolean; + description + "Is this the RP LAN"; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf metric-preference { + type uint32; + description + "Metric Preference"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + } + + grouping PIM-GRE-PATH-BAG { + description + "PIM GRE path information"; + container gre-neighbor { + description + "GRE neighbor"; + uses PIM-ADDRTYPE; + } + container gre-next-hop { + description + "GRE nexthop"; + uses PIM-ADDRTYPE; + } + leaf gre-interface-name { + type xr:Interface-name; + description + "GRE Interface"; + } + leaf is-gre-interface-disabled { + type boolean; + description + "Is the gre interface disabled ?"; + } + leaf is-via-lsm { + type boolean; + description + "Via LSM"; + } + leaf is-connector-attribute-present { + type boolean; + description + "Connector attribute present"; + } + leaf extranet-vrf-name { + type string { + length "0..33"; + } + description + "Extranet VRF name"; + } + } + + grouping PIM-GRE-INFO-BAG { + description + "PIM GRE information"; + container registered-address { + description + "Address registered"; + uses PIM-ADDRTYPE; + } + leaf metric { + type uint32; + description + "Metric"; + } + leaf metric-preference { + type uint32; + description + "Metric preference"; + } + leaf is-connected { + type uint8; + description + "Are we connected ?"; + } + list gre-path { + description + "GRE Paths list"; + uses PIM-GRE-PATH-BAG; + } + } + + grouping PIM-SUMMARY-BAG { + description + "PIM Summary Bag"; + leaf route-limit { + type uint32; + description + "Maximum routes"; + } + leaf route-count { + type uint32; + description + "Current routes"; + } + leaf route-low-water-mark { + type uint32; + description + "The number of routes below which the throttle on + route creation will be lifted"; + } + leaf is-route-limit-reached { + type boolean; + description + "Is route creation throttled"; + } + leaf topology-interface-state-limit { + type uint32; + description + "Maximum Topology Interface State count"; + } + leaf topology-interface-state-count { + type uint32; + description + "Current Topology Interface State count"; + } + leaf rxi-low-water-mark { + type uint32; + description + "The rxi below which the throttle on interface + creation will be lifted"; + } + leaf rxi-limit-reached { + type boolean; + description + "Is interface creation throttled"; + } + leaf register-limit { + type uint32; + description + "Maximum registers"; + } + leaf register-count { + type uint32; + description + "Current registers"; + } + leaf register-limit-reached { + type boolean; + description + "Is PIM SM register handling throttled"; + } + leaf ranges-limit { + type uint32; + description + "Maximum group ranges from Autorp"; + } + leaf ranges-count { + type uint32; + description + "Current group ranges from Autorp"; + } + leaf ranges-threshold { + type uint32; + description + "OOR theshold of grange ranges from AutoRP"; + } + leaf is-ranges-limit-reached { + type boolean; + description + "Is Auto-RP group-to-RP mapping range creation + throttled"; + } + leaf bsr-ranges-limit { + type uint32; + description + "Maximum group ranges from BSR"; + } + leaf bsr-ranges-count { + type uint32; + description + "Current group ranges from BSR"; + } + leaf bsr-range-threshold { + type uint32; + description + "Threshold group range from BSR"; + } + leaf is-bsr-ranges-threshold-reached { + type boolean; + description + "Is VRF-specific BSR group-to-RP mapping range + creation throttled"; + } + leaf bsr-candidate-rp-set-limit { + type uint32; + description + "Maximum crp-set from BSR"; + } + leaf bsr-candidate-rp-set-count { + type uint32; + description + "Current crp-set count from BSR"; + } + leaf bsr-candidate-rp-set-threshold { + type uint32; + description + "Threshold crp-set from BSR"; + } + leaf is-maximum-enforcement-disabled { + type boolean; + description + "Is maximum enforcement disabled"; + } + leaf is-node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + leaf route-threshold { + type uint32; + description + "Threshold routes"; + } + leaf global-auto-rp-ranges-limit { + type uint32; + description + "Global Auto-RP maximum group ranges"; + } + leaf is-global-auto-rp-ranges-limit-reached { + type boolean; + description + "Is global AutoRP group-to-RP mapping range + creation throttled"; + } + leaf global-bsr-ranges-limit { + type uint32; + description + "Global BSR maximum group ranges"; + } + leaf global-bsr-ranges-count { + type uint32; + description + "Global BSR current group ranges"; + } + leaf global-bsr-ranges-threshold { + type uint32; + description + "Global BSR Threshold group ranges"; + } + leaf is-global-bsr-ranges-limit-reached { + type boolean; + description + "Is global BSR group-to-RP mapping range creation + throttled"; + } + leaf global-bsr-candidate-rp-set-limit { + type uint32; + description + "Global BSR maximum crp-set"; + } + leaf global-bsr-candidate-rp-set-count { + type uint32; + description + "Global BSR current crp-set count"; + } + leaf global-bsr-candidate-rp-set-threshold { + type uint32; + description + "Global BSR Threshold crp-set"; + } + leaf is-global-route-limit-reached { + type boolean; + description + "Is global route creation throttled"; + } + leaf topology-interface-state-threshold { + type uint32; + description + "Topology Interface State threshold"; + } + leaf is-global-rxi-limit-reached { + type boolean; + description + "Is global interface creation throttled"; + } + leaf register-threshold { + type uint32; + description + "Threshold registers"; + } + leaf global-register-limit { + type uint32; + description + "Maximum global registers"; + } + leaf is-global-register-limit-reached { + type boolean; + description + "Is global PIM SM register handling throttled"; + } + } + + grouping PIM-GRP-MAP-INFORPF-BAG { + description + "PIM group-map information"; + container rpf-neighbor { + description + "RPF neighbor to the RP"; + uses PIM-ADDRTYPE; + } + container group-map-information { + description + "Group Mapping information"; + uses PIM-GRP-MAP-BAG; + } + leaf are-we-rp { + type boolean; + description + "Are we the RP?"; + } + leaf rpf-interface-name { + type xr:Interface-name; + description + "RPF interface to the RP"; + } + leaf rpf-vrf-name { + type string { + length "0..33"; + } + description + "RPF VRF Name"; + } + } + + grouping PIM-PKTQ-STATS { + description + "PIM packet queue statistics per priority"; + leaf enqueued-packets { + type uint32; + description + "Total number of packets enqueued to this queue"; + } + leaf dequeued-packets { + type uint32; + description + "Total number of packets dequeued from this queue"; + } + leaf high-water-mark-packets { + type uint32; + description + "Highest number of packets enqueued in this queue"; + } + leaf high-water-mark-bytes { + type uint32; + units "byte"; + description + "Highest number of bytes enqueued in this queue"; + } + leaf tail-drops { + type uint32; + description + "Number packets dropped from this queue due to + max size"; + } + } + + grouping PIM-PKTQ-STATE { + description + "PIM packet queue state per priority"; + leaf max-queue-size { + type uint32; + units "byte"; + description + "Maximum size of queue in bytes"; + } + leaf queue-size-bytes { + type uint32; + units "byte"; + description + "Size of queue in bytes"; + } + leaf queue-size-packets { + type uint32; + description + "Size of queue in number of packets"; + } + } + + grouping PIM-PKTQ { + description + "PIM packet queue state and statistics"; + container packet-queue-state { + description + "State of the queue"; + uses PIM-PKTQ-STATE; + } + container packet-queue-stats { + description + "Statistics about the queue"; + uses PIM-PKTQ-STATS; + } + leaf packet-queue-priority { + type uint32; + description + "Priority of this packet queue"; + } + } + + grouping PIM-TRAFFIC-BAG { + description + "PIM Traffic counters"; + leaf elapsed-time { + type uint32; + units "second"; + description + "Running time for counters in seconds"; + } + leaf inputs { + type uint32; + description + "Packets in"; + } + leaf outputs { + type uint32; + description + "Packets out"; + } + leaf format-error { + type uint32; + description + "Malformed packets in"; + } + leaf pakman-error { + type uint32; + description + "Pakman packets dropped"; + } + leaf standby-packets-error { + type uint32; + description + "Packets received in standby state"; + } + leaf checksum-error { + type uint32; + description + "Checksum errors"; + } + leaf socket-error { + type uint32; + description + "Socket errors"; + } + leaf send-queue-full { + type uint32; + description + "Packets dropped since send queue was full"; + } + leaf boundary-acl-rx-drop { + type uint32; + description + "Inc. JP dropped since boundary ACL confg"; + } + leaf boundary-acl-tx-drop { + type uint32; + description + "Out JP dropped since boundary ACL confg"; + } + leaf no-socket-connection { + type uint32; + description + "Packets dropped since no socket connection"; + } + leaf no-source-address { + type uint32; + description + "Packets dropped since no source address"; + } + leaf input-hello { + type uint32; + description + "Hello packets in"; + } + leaf output-hello { + type uint32; + description + "Hello packets out"; + } + leaf input-jp { + type uint32; + description + "Join Prune packets in"; + } + leaf output-jp { + type uint32; + description + "Join Prune packets out"; + } + leaf input-data-register { + type uint32; + description + "Data Register packets in"; + } + leaf input-null-register { + type uint32; + description + "Null Register packets in"; + } + leaf output-null-register { + type uint32; + description + "Null Register packets out"; + } + leaf input-register-stop { + type uint32; + description + "Register Stop packets in"; + } + leaf output-register-stop { + type uint32; + description + "Register Stop packets out"; + } + leaf input-assert { + type uint32; + description + "Assert packets in"; + } + leaf input-assert-batched { + type uint32; + description + "Batched Assert packets in"; + } + leaf output-assert { + type uint32; + description + "Assert packets out"; + } + leaf output-assert-batched { + type uint32; + description + "Batched Assert packets out"; + } + leaf input-df-election { + type uint32; + description + "DF Election packets in"; + } + leaf output-df-election { + type uint32; + description + "DF Election packets out"; + } + leaf input-bsr-message { + type uint32; + description + "Input BSR Messages"; + } + leaf output-bsr-message { + type uint32; + description + "Output BSR Messages"; + } + leaf input-candidate-rp-advertisement { + type uint32; + description + "Input Candidate-RP Advertisment"; + } + leaf output-candidate-rp-advertisement { + type uint32; + description + "Output Candidate-RP Advertisment"; + } + leaf input-ecmp-redirect { + type uint32; + description + "Input Ecmp Redirect"; + } + leaf output-ecmp-redirect { + type uint32; + description + "Output Ecmp Redirect"; + } + leaf output-loop-error { + type uint32; + description + "Output on loopback error"; + } + leaf mldp-mdt-invalid-lsm-identifier { + type uint32; + description + " Invalid LSM ID"; + } + leaf input-no-idb-error { + type uint32; + description + "No IDB for intf error"; + } + leaf input-no-vrf-error { + type uint32; + description + "No VRF for idb error"; + } + leaf input-no-pim-error { + type uint32; + description + "PIM Disabled on intf error"; + } + leaf input-pim-version-error { + type uint32; + description + "Invalid PIM version error"; + } + leaf output-join-group { + type uint32; + description + "Output Join Groups"; + } + leaf output-prune-group { + type uint32; + description + "Output Prune Groups"; + } + leaf output-join-prune-bytes { + type uint32; + units "byte"; + description + "Output JP Bytes"; + } + leaf output-hello-bytes { + type uint32; + units "byte"; + description + "Output Hello Bytes"; + } + leaf non-supported-packets { + type uint32; + description + "PIM non supported pckets"; + } + leaf invalid-registers { + type uint32; + description + "PIM invalid registers received"; + } + leaf invalid-join-prunes { + type uint32; + description + "PIM invalid Join/Prunes received"; + } + leaf packet-packman-error { + type uint32; + description + "Packets Dropped due to Pakman Error"; + } + leaf packet-read-socket-error { + type uint32; + description + "Packet Read Socket Error"; + } + leaf packet-queue-last-clear { + type uint32; + units "second"; + description + "Time in seconds since the last clear of all + packet queues stats"; + } + leaf packets-standby { + type uint32; + description + "Packets Dropped due to Standby Error"; + } + leaf no-mdt-socket-connection { + type uint32; + description + "Packets dropped since no mdt socket connection"; + } + leaf mdt-send-queue-full { + type uint32; + description + "Packets dropped since mdt send queue was full"; + } + leaf mdt-socket-error { + type uint32; + description + "MDT Socket errors"; + } + leaf mdt-join-tlv-sent { + type uint32; + description + "Data MDT Join Msgs sent"; + } + leaf mdt-join-tlv-received { + type uint32; + description + "Data MDT Join Msgs received"; + } + leaf mdt-join-bad-type { + type uint32; + description + "Data MDT TLV bad type"; + } + leaf mdt-drop-local-source-address { + type uint32; + description + "Data MDT Join msgs dropped due to local source + addr"; + } + leaf mdt-drop-null-local-address { + type uint32; + description + "Data MDT Join msgs dropped due to null local + addr"; + } + leaf mdt-drop-no-idb { + type uint32; + description + "Data MDT Join msgs dropped due to idb missing"; + } + leaf mdt-drop-no-vrf { + type uint32; + description + "Data MDT Join msgs dropped due to vrf missing"; + } + leaf invalid-destination-packets { + type uint32; + description + "Control Packets with Invalid Destination"; + } + leaf mdt-joins-drop-multiple-encapsulation { + type uint32; + description + "MDT Join msgs dropped due to multiple Encap + limitation"; + } + leaf truncated-pim-packets { + type uint32; + description + "Packets dropped due to truncated Joins or Prunes"; + } + leaf invalid-source-encodings { + type uint32; + description + "Number of invalid source encodings received"; + } + leaf invalid-hello-options { + type uint32; + description + "Number of invalid hello options received"; + } + list packet-queue { + max-elements "2"; + description + "Packet queue state and statistics"; + uses PIM-PKTQ; + } + } + + grouping PIM-GRP-MAP-BAG { + description + "PIM group-map basic information"; + container prefix { + description + "Group range prefix"; + uses PIM-ADDRTYPE; + } + container rp-address { + description + "Rendezvous Point Address"; + uses PIM-ADDRTYPE; + } + leaf prefix-length { + type int32; + description + "Group range prefix length"; + } + leaf client { + type Pim-show-range-client; + description + "Client mapping learnt from"; + } + leaf protocol { + type Pim-show-protocol; + description + "Protocol mode of the range"; + } + leaf group-count { + type uint32; + description + "No. of groups in this range"; + } + leaf is-used { + type boolean; + description + "Is this mapping being used?"; + } + leaf mrib-active { + type boolean; + description + "Is this mapping active in MRIB?"; + } + leaf is-override { + type boolean; + description + "Is this the override range?"; + } + leaf priority { + type uint32; + description + "Bootstrap priority"; + } + } + + grouping PIM-GRP-MAP-INFOSRC-BAG { + description + "PIM group-map source information"; + container source-of-information { + description + "The source of information"; + uses PIM-ADDRTYPE; + } + container group-map-information { + description + "Group Mapping information"; + uses PIM-GRP-MAP-BAG; + } + leaf holdtime { + type int32; + units "second"; + description + "Holdtime in seconds"; + } + leaf expires { + type uint64; + units "second"; + description + "Mapping expiry time in seconds"; + } + leaf uptime { + type uint64; + units "second"; + description + "Mapping uptime in seconds"; + } + } + + grouping PIM-TT-OLE-BAG { + description + "PIM topology OLE information"; + container assert-winner { + description + "Assert Winner"; + uses PIM-ADDRTYPE; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiry { + type uint64; + units "second"; + description + "Expiry in seconds"; + } + leaf bgp-c-mcast-prune-delay-timer { + type uint64; + units "second"; + description + "BGP C-MCAST Prune Suppression in seconds"; + } + leaf jp-timer { + type int32; + units "second"; + description + "Join-Prune Timer (secs)"; + } + leaf jp-state { + type int32; + description + "Join-Prune State"; + } + leaf assert-timer { + type int32; + units "second"; + description + "Assert Timer in seconds"; + } + leaf local-members { + type int32; + description + "Local Information. Deprecated - use + 'local-members-information' instead"; + } + leaf internal-interest-info { + type int32; + description + "Internal Interest. Deprecated - use + 'internal-interest-information' instead"; + } + leaf forwarding-state { + type int32; + description + "Forward or Prune"; + } + leaf immediate-state { + type int32; + description + "Immediate fwding state"; + } + leaf last-hop { + type boolean; + description + "Are we last hop ?"; + } + leaf mldp-inband-mdt { + type boolean; + description + "MLDP Inband MDT interface"; + } + leaf mldp-stale { + type boolean; + description + "OLE is stale"; + } + leaf sa-prune { + type boolean; + description + "BGP SA Prune state"; + } + leaf admin-boundary { + type boolean; + description + "Is this an administrative boundary ?"; + } + leaf igmp-membership { + type boolean; + description + "IGMP membership"; + } + leaf mdt-safi-join { + type boolean; + description + "MDT Safi join"; + } + leaf mvpn-safi-join { + type boolean; + description + "MVPN Safi join"; + } + leaf local-mdt-join { + type boolean; + description + "Default MDT Join"; + } + leaf data-mdt-join { + type boolean; + description + "Data MDT join"; + } + leaf mvpnv6-safi-join { + type boolean; + description + "MVPN IPv6 Safi join"; + } + leaf bgp-c-mcast-join { + type boolean; + description + "BGP C-Mcast join"; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF which physically owns"; + } + leaf extranet-interface { + type boolean; + description + "Is this an Extranet Interface ?"; + } + leaf internal-interest-information { + type Pim-internal-interest-info; + description + "Internal Interest. Replaces + internal-interest-info"; + } + leaf local-members-information { + type Pim-show-local-interest; + description + "Local Information. Replaces local-members"; + } + leaf assert-state { + type boolean; + description + "Assert State"; + } + } + + grouping PIM-TT-ROUTE-BAG { + description + "PIM topology table route"; + container group-address-xr { + description + "Group Address"; + uses PIM-ADDRTYPE; + } + container source-address-xr { + description + "Source Address"; + uses PIM-ADDRTYPE; + } + container rp-address { + description + "RP Address (If rpt)"; + uses PIM-ADDRTYPE; + } + container rpf-neighbor { + description + "RPF Neighbor"; + uses PIM-ADDRTYPE; + } + container secondary-rpf-neighbor { + description + "Secondary RPF Neighbor"; + uses PIM-ADDRTYPE; + } + container rpf-root { + description + "Root of this mcast tree"; + uses PIM-ADDRTYPE; + } + container proxy-address { + description + "RPF Proxy address."; + uses PIM-ADDRTYPE; + } + container orig-src-address { + description + "Orig Src Address."; + uses PIM-ADDRTYPE; + } + leaf limit-reached { + type boolean; + description + "Have we throttled the creation of routes or + interfaces ?"; + } + leaf low-memory { + type boolean; + description + "Node is running low on memory"; + } + leaf protocol { + type Pim-show-protocol; + description + "The PIM protocol"; + } + leaf wildcard { + type boolean; + description + "WC -Wildcard"; + } + leaf rpt-xr { + type boolean; + description + "Is this on the RPT ?"; + } + leaf spt { + type boolean; + description + "Is this on the SPT ?"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expiry { + type uint64; + description + "When this entry expires"; + } + leaf alive { + type int32; + units "second"; + description + "Alive time in seconds (-1 if never)"; + } + leaf register-received-timer { + type int32; + units "second"; + description + "Register Received Timer in seconds (-1 if never)"; + } + leaf remote-source { + type boolean; + description + "MSDP told us"; + } + leaf crossed-threshold { + type boolean; + description + "Incoming traffic crossed threshold. MT flag set"; + } + leaf data-mdt-addr-assigned { + type boolean; + description + "PIM has assigned a Data MDT Address"; + } + leaf rpf-interface-name { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf rpf-vrf-name { + type string { + length "0..33"; + } + description + "RPF VRF Name"; + } + leaf rpf-safi { + type uint8; + description + "Unicast or mcast"; + } + leaf rpf-table-name { + type string; + description + "RPF Table name"; + } + leaf rpf-drop { + type boolean; + description + "RPF route-policy drop"; + } + leaf rpf-extranet { + type boolean; + description + "Extranet RPF route-policy"; + } + leaf is-via-lsm { + type boolean; + description + "Via LSM"; + } + leaf secondary-rpf-interface-name { + type xr:Interface-name; + description + "Secondary Interface Identifier"; + } + leaf connected { + type boolean; + description + "Is Connected ?"; + } + leaf proxy { + type boolean; + description + "Is the RPF target a proxy?"; + } + leaf rpf-proxy-enabled { + type boolean; + description + "Is rpf if proxy enabled?"; + } + leaf mofrr-enabled { + type boolean; + description + "Is this SG MoFRR enabled?"; + } + leaf rib-mo-frr-enabled { + type boolean; + description + "Is this SG MoFRR enabled?"; + } + leaf jp-timer { + type int32; + description + "Join-Prune Timer"; + } + leaf jp-status { + type int32; + description + "Join-Prune Status"; + } + leaf suppress-registers { + type int32; + description + "When the Null register probe expires"; + } + leaf assume-alive { + type boolean; + description + "The Assume Alive Bit"; + } + leaf probe-alive { + type boolean; + description + "The Probe Alive Bit"; + } + leaf really-alive { + type boolean; + description + "The Really Alive Bit"; + } + leaf inherit-alive { + type boolean; + description + "The Inherit Alive Bit"; + } + leaf inherit-spt { + type boolean; + description + "The Inherit SPT Bit"; + } + leaf signal-sources { + type boolean; + description + "Signal Sources on route?"; + } + leaf dont-check-connected { + type boolean; + description + "Do we need to make the connected check on this + route ?"; + } + leaf register-received { + type boolean; + description + "Have registers been received for this source ?"; + } + leaf last-hop { + type boolean; + description + "Are we last hop ?"; + } + leaf sending-registers { + type boolean; + description + "Are we sending registers for this route ?"; + } + leaf sending-null-registers { + type boolean; + description + "Are we sending null registers for this route ?"; + } + leaf sa-sent { + type boolean; + description + "BGP SA sent"; + } + leaf sa-received { + type boolean; + description + "BGP SA received"; + } + leaf sa-joined { + type boolean; + description + "BGP SA join"; + } + leaf anycast-rp-match { + type boolean; + description + "Group matches Anycast-RP policy"; + } + leaf anycast-rp-route-target { + type inet:ipv4-address; + description + "Anycast-RP RT"; + } + leaf bgp-join { + type boolean; + description + "BGP C JOIN"; + } + leaf bgp-jp-time { + type uint64; + description + "BGP C JP Time"; + } + leaf customer-routing-type { + type int32; + description + "Type of Customer Routing in the MVPN"; + } + leaf extranet-route { + type boolean; + description + "Is a Extranet route ?"; + } + leaf mofrr-active { + type boolean; + description + "Is MoFRR Active?"; + } + leaf mofrr-primary { + type boolean; + description + "Is this Mofrr Primary?"; + } + leaf mofrr-backup { + type boolean; + description + "Is this Mofrr Backup?"; + } + leaf vxlan { + type boolean; + description + "Is this VXLAN?"; + } + leaf kat-state { + type boolean; + description + "Keep Alive Timer State"; + } + list outgoing-interface { + description + "Outgoing interface list"; + uses PIM-TT-OLE-BAG; + } + } + + grouping PIM-BIDIR-DF-STATE-BAG { + description + "PIM Bidirectional DF state"; + container rp-address-xr { + description + "RP Address"; + uses PIM-ADDRTYPE; + } + leaf pim-interface-name { + type string; + description + "Interface Name"; + } + leaf election-state { + type string; + description + "DF Election State"; + } + leaf time-seconds { + type uint64; + units "second"; + description + "Timer expires (seconds)"; + } + leaf time-nano-seconds { + type uint64; + units "nanosecond"; + description + "Timer expires (nseconds)"; + } + leaf our-metric { + type uint32; + description + "Metric"; + } + leaf our-metric-preference { + type uint32; + description + "MetricPreference"; + } + } + + grouping PIM-TUNNEL-INFO-BAG { + description + "PIM tunnel information"; + container source-address { + description + "Source addr known to PIM"; + uses PIM-ADDRTYPE; + } + container rp-address { + description + "RP addr known to PIM"; + uses PIM-ADDRTYPE; + } + container source-address-netio { + description + "Source addr from netio"; + uses PIM-ADDRTYPE; + } + container group-address-netio { + description + "Group addr from netio"; + uses PIM-ADDRTYPE; + } + leaf vrf-name { + type string { + length "0..33"; + } + description + "VRF Name"; + } + } + + grouping PIM-RPF-SUMMARY-BAG { + description + "PIM RPF count summary"; + leaf default-safi { + type uint32; + description + "Default RPF Table SAFI"; + } + leaf default-table-name { + type string; + description + "Default RPF Table Name"; + } + leaf is-mbgp-configured { + type boolean; + description + "Is MBGP configured?"; + } + leaf is-ospf-te-configured { + type boolean; + description + "Is OSPF TE configured?"; + } + leaf is-isis-te-configured { + type boolean; + description + "Is ISIS TE configured?"; + } + leaf is-isis-mtr-configured { + type boolean; + description + "Is ISIS MTR configured?"; + } + leaf mo-frr-configured { + type boolean; + description + "Is MoFRR configured?"; + } + leaf rib-mo-frr-configured { + type boolean; + description + "Is MoFRR RIB configured?"; + } + leaf rump-enabled { + type boolean; + description + "Is RUMP MuRIB enabled?"; + } + leaf rib-convergence-timeout { + type uint32; + units "second"; + description + "RIB convergence timeout in seconds"; + } + leaf rib-convergence-time-left { + type uint32; + units "second"; + description + "RIB convergence time left in seconds"; + } + leaf is-multipath-enabled { + type boolean; + description + "Is Multipath Enabled ?"; + } + leaf is-multipath-interface-hash-enabled { + type boolean; + description + "Is Multipath Interface Hash Extension Enabled ?"; + } + leaf is-multipath-source-hash-enabled { + type boolean; + description + "Is Multipath Source based Hash Enabled ?"; + } + leaf is-multipath-source-next-hop-hash-enabled { + type boolean; + description + "Is Multipath Source-Nexthop Hash Enabled ?"; + } + leaf rpf-registrations { + type uint32; + description + "RPF Registration count"; + } + leaf is-rib-convergence { + type boolean; + description + "RIB Convergence status"; + } + } + + grouping PIM-RPF-POLICY-STATS-BAG { + description + "PIM RPF policy statistics"; + leaf policy-name { + type string; + description + "RPF policy name"; + } + leaf requests { + type uint32; + description + "Number of RPF lookup requests"; + } + leaf pass { + type uint32; + description + "Number of RPF pass"; + } + leaf drop { + type uint32; + description + "Number of RPF drops"; + } + leaf default-table { + type uint32; + description + "Number of RPF lookup in default-only Table"; + } + leaf any-table { + type uint32; + description + "Number of RPF lookup in any Table"; + } + } + + grouping PIM-BSR-ELECTION-BAG { + description + "PIM BSR Election State"; + container bsr-address { + description + "BSR address"; + uses PIM-ADDRTYPE; + } + container candidate-bsr-address { + description + "C-BSR address"; + uses PIM-ADDRTYPE; + } + leaf bsr-priority { + type uint8; + description + "BSR Priority"; + } + leaf bsr-mask-length { + type uint8; + description + "Hash Function Mask Length"; + } + leaf bsr-up-time { + type uint16; + description + "BSR Uptime"; + } + leaf bootstrap-timeout { + type uint16; + description + "Bootstrap Timeout"; + } + leaf candidate-bsr-state { + type uint32; + description + "BSR Candidate State"; + } + leaf bsr-election-state { + type uint32; + description + "BSR Election State"; + } + leaf bsr-scope { + type uint16; + description + "BSR Scope"; + } + leaf candidate-bsr-flag { + type boolean; + description + "BSR Candidate Config Flag"; + } + leaf candidate-bsr-priority { + type uint8; + description + "C-BSR Priority"; + } + leaf candidate-bsr-mask-length { + type uint8; + description + "C-BSR Hash Func. Mask Len"; + } + } + + grouping PIM-BSR-CRP-ACL-BAG { + description + "PIM BSR Candidate RP Access-list"; + leaf candidate-rp-mode { + type Pim-show-protocol; + description + "Cand-RP Mode"; + } + leaf acl-name { + type string { + length "0..33"; + } + description + "Group Access-List Name"; + } + } + + grouping PIM-BSR-CANDIDATE-RP-BAG { + description + "PIM BSR Candidate RP"; + container candidate-rp { + description + "Cand-RP Address"; + uses PIM-ADDRTYPE; + } + leaf candidate-rp-mode { + type Pim-show-protocol; + description + "Cand-RP Mode"; + } + leaf candidate-rp-scope { + type int32; + description + "Cand-RP Scope"; + } + leaf crp-priority { + type uint8; + description + "Cand-RP Priority"; + } + leaf crp-holdtime { + type uint16; + description + "Cand-RP Holdtime"; + } + leaf candidate-rp-advance-interval { + type uint16; + units "second"; + description + "Cand-RP Adv Interval in seconds"; + } + leaf candidate-rp-uptime { + type uint16; + description + "Cand-RP uptime"; + } + leaf acl-name { + type string { + length "0..33"; + } + description + "Group Access-List Name"; + } + list crp-access { + max-elements "2"; + description + "Group Ranges Using this Cand-RP"; + uses PIM-BSR-CRP-ACL-BAG; + } + } + + grouping PIM-BSR-CRP-BAG { + description + "PIM BSR C-RP"; + list pim-bsr-crp-bag { + description + "Next C-RP in the List"; + container candidate-rp-address { + description + "C-RP address"; + uses PIM-ADDRTYPE; + } + leaf candidate-rp-holdtime { + type uint16; + description + "C-RP Holdtime"; + } + leaf candidate-rp-priority { + type uint8; + description + "C-RP Priority"; + } + leaf candidate-rp-up-time { + type uint16; + description + "C-RP Uptime"; + } + leaf candidate-rp-expires { + type uint16; + description + "C-RP Expires"; + } + leaf protocol { + type Pim-show-protocol; + description + "PIM Protocol"; + } + } + } + + grouping PIM-BSR-RP-CACHE-BAG { + description + "PIM BSR RP cache"; + container group-prefix-xr { + description + "Group Prefix"; + uses PIM-ADDRTYPE; + } + container candidate-rp-list { + description + "C-RP list for this prefix"; + uses PIM-BSR-CRP-BAG; + } + leaf group-prefix-length { + type uint32; + description + "Group Prefix Length"; + } + leaf candidate-rp-group-count { + type uint32; + description + "C-RP count for this Prefix"; + } + } + + grouping PIM-RL-RP-RANGE-BAG { + description + "PIM RP range list information"; + container prefix { + description + "Group range prefix"; + uses PIM-ADDRTYPE; + } + container source-of-information { + description + "Source of information"; + uses PIM-ADDRTYPE; + } + leaf prefix-length { + type int32; + description + "Group range prefix length"; + } + leaf uptime { + type uint64; + units "second"; + description + "Uptime in seconds"; + } + leaf expires { + type uint64; + description + "When mapping expires"; + } + } + + grouping PIM-RL-BAG { + description + "PIM range list information"; + container rp-address-xr { + description + "Rendezvous point address"; + uses PIM-ADDRTYPE; + } + container source-of-information { + description + "Source of information"; + uses PIM-ADDRTYPE; + } + leaf protocol { + type Pim-show-protocol; + description + "PIM protocol"; + } + leaf client-xr { + type Pim-show-range-client; + description + "Client mapping learnt via"; + } + leaf expires { + type uint64; + description + "When mapping expires"; + } + list group-range { + description + "List of group ranges"; + uses PIM-RL-RP-RANGE-BAG; + } + } + + grouping PIM-IDB-SUMM-BAG { + description + "PIM IFRS interface summary"; + leaf interface-count { + type uint32; + description + "Number of interfaces"; + } + leaf configuration-count { + type uint32; + description + "Configuration counts"; + } + } + + grouping PIM-MROUTE-BAG { + description + "Multicast Route MIB entry"; + container source-address-xr { + description + "Source Address"; + uses PIM-ADDRTYPE; + } + container group-address-xr { + description + "Group Address"; + uses PIM-ADDRTYPE; + } + container rpf-neighbor { + description + "The RPF Neighbor"; + uses PIM-ADDRTYPE; + } + container rpf-root { + description + "Root of this mcast tree"; + uses PIM-ADDRTYPE; + } + leaf upstream-assert-timer { + type int32; + description + "Upstream Assert Timer"; + } + leaf assert-metric { + type uint32; + description + "Assert Metric"; + } + leaf assert-metric-preference { + type uint32; + description + "Assert Metric Preference"; + } + leaf assert-rpt-bit { + type boolean; + description + "Assert RPT Bit"; + } + leaf spt-bit { + type boolean; + description + "Is SPT bit set ?"; + } + leaf rpf-mask { + type uint32; + description + "Mask of the multicast root"; + } + leaf rpf-safi { + type uint8; + description + "Unicast or mcast"; + } + leaf rpf-table-name { + type string; + description + "RPF Table name"; + } + leaf rpf-drop { + type boolean; + description + "RPF route-policy drop"; + } + leaf rpf-extranet { + type boolean; + description + "Extranet RPF route-policy"; + } + leaf rpf-interface-name { + type xr:Interface-name; + description + "RPF interface name "; + } + leaf rpf-vrf-name { + type string { + length "0..33"; + } + description + "RPF VRF Name"; + } + leaf bidirectional-route { + type boolean; + description + "Is this Bidir ?"; + } + leaf uptime { + type uint64; + description + "Uptime of route"; + } + leaf protocol { + type Pim-show-protocol; + description + "The PIM protocol"; + } + } + + grouping PIM-JPSTATS-BAG { + description + "PIM join-prune statistic"; + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Identifier"; + } + leaf mtu { + type uint32; + description + "Interface MTU"; + } + leaf transmitted { + type uint32; + description + "Transmitted"; + } + leaf transmitted100 { + type uint16; + description + "Transmitted 100 average"; + } + leaf transmitted-1k { + type uint16; + description + "Transmitted 1K average"; + } + leaf transmitted-10k { + type uint16; + description + "Transmitted 10K average"; + } + leaf transmitted-50k { + type uint16; + description + "Deprecated by Transmitted100"; + } + leaf received { + type uint32; + description + "Received"; + } + leaf received100 { + type uint16; + description + "Received 100 average"; + } + leaf received-1k { + type uint16; + description + "Received 1K average"; + } + leaf received-10k { + type uint16; + description + "Received 10K average"; + } + leaf received-50k { + type uint16; + description + "Deprecated by Received100"; + } + } + + grouping PIM-TT-SUMM-BAG { + description + "PIM topology table summary"; + leaf group-ranges { + type uint32; + description + "No. of (*,G/M) routes"; + } + leaf active-group-ranges { + type uint32; + description + "No. of (*,G/M) routes active in mrib"; + } + leaf groute-count { + type uint32; + description + "No. of (*,G) routes"; + } + leaf sg-route-count { + type uint32; + description + "No. of (S,G) routes"; + } + leaf sgr-route-count { + type uint32; + description + "No. of (S,G)RPT routes"; + } + leaf is-node-low-memory { + type boolean; + description + "Is node in low memory condition"; + } + } + + grouping PIM-IFSTATS-BAG { + description + "PIM Interface Statistics"; + leaf input-hello { + type uint32; + description + "Hello packets in"; + } + leaf output-hello { + type uint32; + description + "Hello packets out"; + } + leaf input-register { + type uint32; + description + "Register packets in"; + } + leaf output-register { + type uint32; + description + "Register packets out"; + } + leaf input-register-stop { + type uint32; + description + "Register Stop packets in"; + } + leaf output-register-stop { + type uint32; + description + "Register Stop packets out"; + } + leaf input-jp { + type uint32; + description + "Join Prune packets in"; + } + leaf output-jp { + type uint32; + description + "Join Prune packets out"; + } + leaf input-bsr-message { + type uint32; + description + "Input BSR Messages"; + } + leaf output-bsr-message { + type uint32; + description + "Output BSR Messages"; + } + leaf input-assert { + type uint32; + description + "Assert packets in"; + } + leaf output-assert { + type uint32; + description + "Assert packets out"; + } + leaf input-graft-message { + type uint32; + description + "Input Graft Messages"; + } + leaf output-graft-message { + type uint32; + description + "Output Graft Messages"; + } + leaf input-graft-ack-message { + type uint32; + description + "Input Graft Ack Messages"; + } + leaf output-graft-ack-message { + type uint32; + description + "Output Graft Ack Messages"; + } + leaf input-candidate-rp-advertisement { + type uint32; + description + "Input Candidate-RP Advertisment"; + } + leaf output-candidate-rp-advertisement { + type uint32; + description + "Output Candidate-RP Advertisment"; + } + leaf input-df-election { + type uint32; + description + "DF Election packets in"; + } + leaf output-df-election { + type uint32; + description + "DF Election packets out"; + } + leaf input-miscellaneous { + type uint32; + description + "Miscellaneous packet in"; + } + } + + grouping PIM-IDB-BAG { + description + "PIM interface"; + container dr-address { + description + "PIM Designated Router"; + uses PIM-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Identfier"; + } + leaf interface-address-mask { + type uint8; + description + "Interface IP Address Mask"; + } + leaf is-enabled { + type boolean; + description + "Is PIM enabled on this IF ?"; + } + leaf neighbor-count { + type uint16; + description + "No. of neighbors on this IF"; + } + leaf external-neighbor-count { + type uint16; + description + "No. of external neighbors on this IF"; + } + leaf hello-interval { + type uint16; + description + "Hello Interval"; + } + leaf dr-priority { + type uint32; + description + "DR Priority"; + } + leaf hello-expiry { + type uint64; + description + "Hello Timer Expiry"; + } + leaf are-we-dr { + type boolean; + description + "Are we the DR on this IF ?"; + } + leaf bfd-enabled { + type boolean; + description + "BFD state"; + } + leaf bfd-interval { + type uint32; + description + "BFD Interval"; + } + leaf bfd-multiplier { + type uint32; + description + "BFD Multiplier"; + } + leaf virtual-interface { + type boolean; + description + " is this a Virtual Interfaces ?"; + } + leaf passive-interface { + type boolean; + description + "Passive PIM interface"; + } + leaf neighbor-filter-name { + type string; + description + "Neighbor Filter Name"; + } + leaf sticky-dr-enabled { + type boolean; + description + "Is Sticky DR enabled on Interface"; + } + leaf sticky-dr-active { + type boolean; + description + "Is Sticky DR Active on Interface"; + } + leaf sticky-dr-active-since { + type uint64; + units "second"; + description + "Sticky DR uptime in seconds"; + } + leaf join-prune-interval { + type uint16; + description + "Join-Prune Interval"; + } + leaf prune-delay-enabled { + type boolean; + description + "Prune Delay Enabled"; + } + leaf configured-propagation-delay { + type uint16; + description + "Configured Propagation Delay"; + } + leaf propagation-delay { + type uint16; + description + "Propagation Delay"; + } + leaf configured-override-interval { + type uint16; + description + "Configured Override Interval"; + } + leaf override-interval { + type uint16; + description + "Override Interval"; + } + leaf generation-id { + type uint32; + description + "Generation Identifier"; + } + leaf is-bidirectional-capable { + type boolean; + description + "Bidir Capable"; + } + leaf is-proxy-capable { + type boolean; + description + "Proxy Capable"; + } + leaf is-batch-asserts-capable { + type boolean; + description + "Batch Asserts Capable"; + } + leaf idb-oor-enabled { + type boolean; + description + "Interface oor enabled"; + } + leaf idb-acl-provided { + type boolean; + description + "ACL name provided"; + } + leaf idb-max-count { + type uint32; + description + "Interface ole max count"; + } + leaf idb-threshold-count { + type uint32; + description + "Interface ole threshold count"; + } + leaf idb-current-count { + type uint32; + description + "Interface ole current count"; + } + leaf idb-acl-name { + type string { + length "0..64"; + } + description + "Interface ole ACL Name"; + } + list interface-address { + description + "List of Interface IP Addresses"; + uses PIM-ADDRTYPE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub2.yang new file mode 100644 index 000000000..bf874cf5b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper-sub2.yang @@ -0,0 +1,205 @@ +submodule Cisco-IOS-XR-pim-oper-sub2 { + belongs-to Cisco-IOS-XR-pim-oper { + prefix Cisco-IOS-XR-pim-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR pim package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "1.1.1m"; + } + revision 2021-02-17 { + description + "Addition made for Sticky DR neighbor tracking"; + semver:module-version "1.1.0"; + } + revision 2019-12-24 { + description + "Fixed CSCvr52977."; + semver:module-version "1.0.0"; + } + revision 2019-08-27 { + description + "Providing PIM information."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "IPV6 Address type"; + } + + typedef Pim-afi { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IP v4 unicast"; + } + enum "ipv6-unicast" { + value 1; + description + "IP v6 unicast"; + } + } + description + "Address family"; + } + + typedef Pim-interface { + type enumeration { + enum "encap-interface" { + value 0; + description + "Encap Interface"; + } + enum "decap-interface" { + value 1; + description + "Decap Interface"; + } + enum "mdt-interface" { + value 2; + description + "MDT Interface"; + } + } + description + "Interface Type"; + } + + grouping PIM-MA-SUMMARY { + description + "PIM MA Summary"; + leaf is-im-connection-open { + type boolean; + description + "IM Connection Open"; + } + leaf is-netio-connection-open { + type boolean; + description + "Netio Connection Open"; + } + leaf is-edm-connection-open { + type boolean; + description + "EDM Connection Open"; + } + leaf is-standby-edm-connection-open { + type boolean; + description + "Standby EDM Connection Open"; + } + leaf encap-interface-count { + type uint32; + description + "Encap Interface Count"; + } + leaf decap-interface-count { + type uint32; + description + "Decap Interface Count"; + } + leaf mdt-interface-count { + type uint32; + description + "MDT Interface Count"; + } + } + + grouping PIM-ADDRTYPE { + description + "PIM ADDRTYPE"; + leaf af-name { + type Pim-afi; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4-unicast'" { + description + "../AFName = 'IPv4Unicast'"; + } + type inet:ipv4-address; + description + "IPv4 Address"; + } + leaf ipv6-address { + when "../af-name = 'ipv6-unicast'" { + description + "../AFName = 'IPv6Unicast'"; + } + type Ipv6-address; + description + "IPV6 Address"; + } + } + + grouping PIM-MA-IDB { + description + "PIM MA interface"; + container rp-address { + description + "RP Address"; + uses PIM-ADDRTYPE; + } + container source-address { + description + "Source Address"; + uses PIM-ADDRTYPE; + } + leaf interface-name-xr { + type xr:Interface-name; + description + "Interface Name"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf interface-type { + type Pim-interface; + description + "Interface Type"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper.yang new file mode 100644 index 000000000..fdf424911 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pim-oper.yang @@ -0,0 +1,1286 @@ +module Cisco-IOS-XR-pim-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pim-oper"; + prefix pim-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-pim-oper-sub2 { + revision-date 2022-03-24; + } + include Cisco-IOS-XR-pim-oper-sub1 { + revision-date 2022-03-24; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pim package operational data. + + This module contains definitions + for the following management objects: + pim-ma: PIM MA operational data + pim: PIM operational data + ipv6-pim: IPv6 PIM operational data + pim6-ma: PIM6 MA operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-24 { + description + "Increase in interface name length"; + semver:module-version "1.1.1m"; + } + revision 2021-02-17 { + description + "Addition made for Sticky DR neighbor tracking"; + semver:module-version "1.1.0"; + } + revision 2019-12-24 { + description + "Fixed CSCvr52977."; + semver:module-version "1.0.0"; + } + revision 2019-08-27 { + description + "Providing PIM information."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pim-topology-interface-flag { + type enumeration { + enum "lh" { + value 0; + description + "LH"; + } + enum "ld" { + value 1; + description + "LD"; + } + enum "li" { + value 2; + description + "LI"; + } + enum "ii" { + value 3; + description + "II"; + } + enum "id" { + value 4; + description + "ID"; + } + enum "as" { + value 5; + description + "AS"; + } + enum "ab" { + value 6; + description + "AB"; + } + enum "ex" { + value 7; + description + "EX"; + } + } + description + "Pim topology interface flag"; + } + + typedef Pim-safi { + type enumeration { + enum "unicast" { + value 1; + description + "SAFI unicast"; + } + enum "multicast" { + value 2; + description + "SAFI Multicast"; + } + enum "all" { + value 3; + description + "SAFI all"; + } + enum "default" { + value 4; + description + "SAFI default"; + } + } + description + "Pim safi"; + } + + typedef Pim-client { + type enumeration { + enum "none" { + value 0; + description + "No Client"; + } + enum "configured-embedded-rp" { + value 1; + description + "Embedded RP from configuration"; + } + enum "embedded" { + value 2; + description + "Embedded RP learnt from the Group addr"; + } + enum "permanent" { + value 3; + description + "Permanent"; + } + enum "auto-rp" { + value 4; + description + "AutoRP"; + } + enum "bsr" { + value 5; + description + "BSR"; + } + enum "configured" { + value 6; + description + "Configured"; + } + enum "static" { + value 7; + description + "Static"; + } + } + description + "Pim client"; + } + + typedef Pim-topology-entry-flag { + type enumeration { + enum "kat" { + value 0; + description + "KAT"; + } + enum "aa" { + value 1; + description + "AA"; + } + enum "pa" { + value 2; + description + "PA"; + } + enum "ra" { + value 3; + description + "RA"; + } + enum "ia" { + value 4; + description + "IA"; + } + enum "rr" { + value 5; + description + "RR"; + } + enum "lh" { + value 6; + description + "LH"; + } + enum "dss" { + value 7; + description + "DSS"; + } + enum "dcc" { + value 8; + description + "DCC"; + } + enum "sr" { + value 9; + description + "SR"; + } + enum "e" { + value 10; + description + "E"; + } + enum "ex" { + value 11; + description + "EX"; + } + enum "ma" { + value 12; + description + "MA"; + } + enum "mt" { + value 13; + description + "MT"; + } + enum "mfa" { + value 14; + description + "MFA"; + } + enum "mfp" { + value 15; + description + "MFP"; + } + enum "mfb" { + value 16; + description + "MFB"; + } + } + description + "Pim topology entry flag"; + } + + typedef Pim-protocol { + type enumeration { + enum "non-routable" { + value 0; + description + "Non Routable"; + } + enum "sparse-mode" { + value 1; + description + "Sparse Mode"; + } + enum "dense-mode" { + value 2; + description + "Dense Mode"; + } + enum "bidir" { + value 3; + description + "Bidirectional Mode"; + } + enum "ssm" { + value 4; + description + "Source Specific Multicast Mode"; + } + enum "maximum" { + value 5; + description + "Maximum"; + } + enum "any" { + value 6; + description + "Any"; + } + } + description + "Pim protocol"; + } + + grouping ROUTE-POLICY { + description + "Common node of vrf, default-context"; + container route-policy { + description + "PIM route policy"; + container route-policy-statistics { + description + "PIM route policy statistics"; + uses PIM-RPF-POLICY-STATS-BAG; + } + } + } + + grouping GROUP-MAP-SOURCE-TABLE { + description + "Common node of vrf, default-context"; + container group-map-sources { + description + "PIM group-mapping with source information"; + list group-map-source { + key "prefix prefix-length client protocol rp-address priority"; + description + "PIM Group Mapping Entry with source information"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf client { + type Pim-client; + description + "Client"; + } + leaf protocol { + type Pim-protocol; + description + "Protocol"; + } + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf priority { + type uint32; + description + "RP Priority"; + } + uses PIM-GRP-MAP-INFOSRC-BAG; + } + } + } + + grouping BIDIR-DF-STATE-TABLE { + description + "Common node of vrf, default-context"; + container bidir-df-states { + description + "Bidirectional PIM DF election state table"; + list bidir-df-state { + key "rp-address interface-name"; + description + "Bidirectional PIM DF Election Table Entry"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-BIDIR-DF-STATE-BAG; + } + } + } + + grouping MIB-DATABASE-TABLE { + description + "Common node of vrf, default-context"; + container mib-databases { + description + "PIM group database for mroute mibs table"; + list mib-database { + key "source-address group-address source-netmask"; + description + "PIM multicast static route information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Multicast static route source address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Multicast satic route group address"; + } + leaf source-netmask { + type uint32; + description + "Source mask"; + } + uses PIM-MROUTE-BAG; + } + } + } + + grouping TOPOLOGY-ENTRY-FLAG-ROUTE-COUNT-TABLE { + description + "Common node of vrf, default-context"; + container topology-entry-flag-route-counts { + description + "Route count for topology with entry flag set"; + list topology-entry-flag-route-count { + key "entry-flag"; + description + "Route count for topology with entry flag set"; + leaf entry-flag { + type Pim-topology-entry-flag; + description + "entry flag"; + } + uses PIM-TT-SUMM-BAG; + } + } + } + + grouping BIDIR-DF-WINNER-TABLE { + description + "Common node of vrf, default-context"; + container bidir-df-winners { + description + "Bidirectional PIM DF election winner table"; + list bidir-df-winner { + key "rp-address interface-name"; + description + "Bidirectional PIM DF election table entry"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-BIDIR-DF-BAG; + } + } + } + + grouping TABLE-CONTEXT-TABLE { + description + "Common node of vrf, default-context"; + container table-contexts { + description + "PIM table context list"; + list table-context { + key "saf-name topology-name"; + description + "PIM table context information"; + leaf saf-name { + type Pim-safi; + description + "SAF name"; + } + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Topology name"; + } + uses PIM-TABLE-CTX-BAG; + } + } + } + + grouping VRF-TABLE { + description + "Common node of active, standby"; + container vrfs { + description + "VRF Table"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name "; + } + uses IFRS-INTERFACE-TABLE; + uses INTERFACE-STATISTICS-TABLE; + uses TOPOLOGY-ROUTE-COUNT; + uses JP-STATISTICS-TABLE; + uses MIB-DATABASE-TABLE; + uses IFRS-SUMMARY; + uses RANGE-LIST-TABLE; + uses BSR; + uses ROUTE-POLICY; + uses RPF-SUMMARY; + uses IPV4-PIM-COMMON-OPER-INTERFACE-TABLE; + uses NET-IO-TUNNEL-TABLE; + uses BIDIR-DF-STATE-TABLE; + uses TOPOLOGY-TABLE; + uses TOPOLOGY-INTERFACE-FLAG-ROUTE-COUNT-TABLE; + uses GROUP-MAP-SOURCE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-MAP-RPF-TABLE; + uses SUMMARY; + uses GRE; + uses BIDIR-DF-WINNER-TABLE; + uses TABLE-CONTEXT-TABLE; + uses NEIGHBOR-SUMMARY-TABLE; + uses CONTEXT; + uses TOPOLOGY-ENTRY-FLAG-ROUTE-COUNT-TABLE; + uses RPF-REDIRECT; + uses TUNNEL-TABLE; + uses MULTICAST-STATIC-ROUTE-TABLE; + uses NEIGHBOR-TABLE; + } + } + } + + grouping BSR { + description + "Common node of vrf, default-context"; + container bsr { + description + "PIM BSR information"; + container rp-caches { + description + "PIM BSR RP cache table"; + list rp-cache { + key "group-prefix prefix-length"; + description + "PIM BSR RP cache"; + leaf group-prefix { + type inet:ip-address-no-zone; + description + "Group prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix Length"; + } + uses PIM-BSR-RP-CACHE-BAG; + } + } + container candidate-rps { + description + "PIM candidate-RP"; + list candidate-rp { + key "rp-address"; + description + "PIM BSR candidate RP information"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "Candidate-RP address"; + } + uses PIM-BSR-CANDIDATE-RP-BAG; + } + } + container bsr-elections { + description + "PIM BSR election state"; + list bsr-election { + key "pim-scope"; + description + "PIM BSR information"; + leaf pim-scope { + type uint32; + description + "BSR information"; + } + uses PIM-BSR-ELECTION-BAG; + } + } + } + } + + grouping NET-IO-TUNNEL-TABLE { + description + "Common node of vrf, default-context"; + container net-io-tunnels { + description + "Tunnel information that NETIO has "; + list net-io-tunnel { + key "tunnel-name"; + description + "PIM netio tunnel information"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..80"; + } + description + "Tunnel name"; + } + uses PIM-TUNNEL-INFO-BAG; + } + } + } + + grouping RPF-SUMMARY { + description + "Common node of vrf, default-context"; + container rpf-summary { + description + "PIM RPF registration summary"; + uses PIM-RPF-SUMMARY-BAG; + } + } + + grouping IFRS-INTERFACE-TABLE { + description + "Common node of vrf, default-context"; + container ifrs-interfaces { + description + "PIM interfaces in forward reference store table"; + list ifrs-interface { + key "interface-name"; + description + "PIM IFRS interface information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IDB-BAG; + } + } + } + + grouping PROCESS { + description + "Common node of active, standby"; + container process { + description + "Process"; + container nsr { + description + "NSR Information"; + uses PIM-NSR-BAG; + } + container summary { + description + "PIM Global Summary"; + uses PIM-SUMMARY-BAG; + } + container nsf { + description + "PIM NSF information"; + uses PIM-NSF-BAG; + } + container issu { + description + "ISSU Information"; + uses PIM-ISSU-BAG; + } + } + } + + grouping JP-STATISTICS-TABLE { + description + "Common node of vrf, default-context"; + container jp-statistics { + description + "PIM join prune statistics table"; + list jp-statistic { + key "interface-name"; + description + "PIM Join Prune Statistics"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-JPSTATS-BAG; + } + } + } + + grouping TOPOLOGY-TABLE { + description + "Common node of vrf, default-context"; + container topologies { + description + "PIM topology table"; + list topology { + key "source-address group-address rpt"; + description + "PIM topology information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + leaf rpt { + type uint32; + description + "RPT bit"; + } + uses PIM-TT-ROUTE-BAG; + } + } + } + + grouping NEIGHBOR-SUMMARY-TABLE { + description + "Common node of vrf, default-context"; + container neighbor-summaries { + description + "PIM neighbor summary table"; + list neighbor-summary { + key "interface-name"; + description + "PIM neighbor summary information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-NBR-SUMM-BAG; + } + } + } + + grouping TRAFFIC-COUNTERS { + description + "Common node of vrf, default-context"; + container traffic-counters { + description + "PIM message traffic counters"; + uses PIM-TRAFFIC-BAG; + } + } + + grouping TOPOLOGY-ROUTE-COUNT { + description + "Common node of vrf, default-context"; + container topology-route-count { + description + "Topology route count information from PIM + topology table"; + uses PIM-TT-SUMM-BAG; + } + } + + grouping TUNNEL-TABLE { + description + "Common node of vrf, default-context"; + container tunnels { + description + "Tunnels information that PIM has"; + list tunnel { + key "tunnel-name"; + description + "PIM tunnel information"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..80"; + } + description + "Tunnel name"; + } + uses PIM-TUNNEL-INFO-BAG; + } + } + } + + grouping PIM-MA-COMMON-OPER-PIM-MA-SUMMARY-MP { + description + "Common node of active, standby"; + container pim-ma-summary { + description + "PIM MA summary"; + uses PIM-MA-SUMMARY; + } + } + + grouping ACTIVE { + description + "Common node of pim-ma, pim6-ma"; + container active { + description + "Active Process"; + uses INTERFACE-TABLE; + uses PIM-MA-COMMON-OPER-PIM-MA-SUMMARY-MP; + } + } + + grouping IPV4-PIM-ROLE-LVL-OPER-ACTIVE { + description + "Common node of pim-ma, pim6-maCommon node of pim, + ipv6-pim"; + container active { + description + "Active Process"; + uses DEFAULT-CONTEXT; + uses PROCESS; + uses VRF-TABLE; + } + } + + grouping GROUP-MAP-RPF-TABLE { + description + "Common node of vrf, default-context"; + container group-map-rpfs { + description + "PIM group mapping information"; + list group-map-rpf { + key "prefix prefix-length client protocol rp-address rp-priority"; + description + "PIM group mapping entry"; + leaf prefix { + type inet:ip-address-no-zone; + description + "Prefix"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + leaf client { + type Pim-client; + description + "Client"; + } + leaf protocol { + type Pim-protocol; + description + "Protocol"; + } + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf rp-priority { + type uint32; + description + "RP priority"; + } + uses PIM-GRP-MAP-INFORPF-BAG; + } + } + } + + grouping RPF-REDIRECT { + description + "Common node of vrf, default-context"; + container rpf-redirect { + description + "PIM ECMP RPF-redirect bundle"; + container redirect-route-databases { + description + "PIM ECMP RPF-redirect route database"; + list redirect-route-database { + key "source-address group-address"; + description + "PIM ECMP RPF-redirect route information"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source address"; + } + leaf group-address { + type inet:ip-address-no-zone; + description + "Group address"; + } + uses PIM-RPF-RDRCT-ROUTE-BAG; + } + } + container bundle-interfaces { + description + "PIM ECMP RPF-redirect bundle information"; + list bundle-interface { + key "bundle-name interface-name"; + description + "PIM ECMP RPF-redirect bundle interface + information"; + leaf bundle-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Bundle name"; + } + leaf interface-name { + type xr:Interface-name; + description + "Bundle interface name"; + } + uses PIM-RPF-RDRCT-BNDL-BAG; + } + } + } + } + + grouping CONTEXT { + description + "Common node of vrf, default-context"; + container context { + description + "PIM context information"; + uses PIM-CONTEXT-BAG; + } + } + + grouping INTERFACE-TABLE { + description + "Common node of active, standby"; + container interface-table { + description + "Interface Table"; + container interface-by-handles { + description + "Table of PIM MA interfaces indexed by handle"; + list interface-by-handle { + key "interface-handle"; + description + "PIM MA interface referenced by handle"; + leaf interface-handle { + type uint32; + description + "Interface handle"; + } + uses PIM-MA-IDB; + } + } + container interface-by-names { + description + "Table of PIM MA interfaces indexed by name"; + list interface-by-name { + key "interface-name"; + description + "PIM MA interface referenced by name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-MA-IDB; + } + } + } + } + + grouping IPV4-PIM-COMMON-OPER-INTERFACE-TABLE { + description + "Common node of active, standbyCommon node of vrf, + default-context"; + container interfaces { + description + "PIM interfaces"; + list interface { + key "interface-name"; + description + "PIM interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IDB-BAG; + } + } + } + + grouping SUMMARY { + description + "Common node of vrf, default-context"; + container summary { + description + "PIM summary"; + uses PIM-SUMMARY-BAG; + } + } + + grouping TOPOLOGY-INTERFACE-FLAG-ROUTE-COUNT-TABLE { + description + "Common node of vrf, default-context"; + container topology-interface-flag-route-counts { + description + "Route count for topology with interface flag set"; + list topology-interface-flag-route-count { + key "interface-flag"; + description + "Route count for topology with interface flag + set"; + leaf interface-flag { + type Pim-topology-interface-flag; + description + "Interface flag"; + } + uses PIM-TT-SUMM-BAG; + } + } + } + + grouping INTERFACE-STATISTICS-TABLE { + description + "Common node of vrf, default-context"; + container interface-statistics { + description + "PIM interface statistics"; + list interface-statistic { + key "interface-name"; + description + "PIM interface statistics"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IFSTATS-BAG; + } + } + } + + grouping GRE { + description + "Common node of vrf, default-context"; + container gre { + description + "GRE information"; + container gre-next-hops { + description + "GRE destination neighbor table"; + list gre-next-hop { + key "destination-address"; + description + "PIM GRE address next-hop information"; + leaf destination-address { + type inet:ip-address-no-zone; + description + "GRE destination address"; + } + uses PIM-GRE-INFO-BAG; + } + } + } + } + + grouping IFRS-SUMMARY { + description + "Common node of vrf, default-context"; + container ifrs-summary { + description + "PIM interfaces in forward reference store + summary"; + uses PIM-IDB-SUMM-BAG; + } + } + + grouping DEFAULT-CONTEXT { + description + "Common node of active, standby"; + container default-context { + description + "Default Context"; + container global-interfaces { + description + "PIM global interface table"; + list global-interface { + key "interface-name"; + description + "PIM interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PIM-IDB-BAG; + } + } + uses IFRS-INTERFACE-TABLE; + uses INTERFACE-STATISTICS-TABLE; + uses TOPOLOGY-ROUTE-COUNT; + uses JP-STATISTICS-TABLE; + uses MIB-DATABASE-TABLE; + uses IFRS-SUMMARY; + uses RANGE-LIST-TABLE; + uses BSR; + uses ROUTE-POLICY; + uses RPF-SUMMARY; + uses IPV4-PIM-COMMON-OPER-INTERFACE-TABLE; + uses NET-IO-TUNNEL-TABLE; + uses BIDIR-DF-STATE-TABLE; + uses TOPOLOGY-TABLE; + uses TOPOLOGY-INTERFACE-FLAG-ROUTE-COUNT-TABLE; + uses GROUP-MAP-SOURCE-TABLE; + uses TRAFFIC-COUNTERS; + uses GROUP-MAP-RPF-TABLE; + uses SUMMARY; + uses GRE; + uses BIDIR-DF-WINNER-TABLE; + uses TABLE-CONTEXT-TABLE; + uses NEIGHBOR-SUMMARY-TABLE; + uses CONTEXT; + uses TOPOLOGY-ENTRY-FLAG-ROUTE-COUNT-TABLE; + uses RPF-REDIRECT; + uses TUNNEL-TABLE; + uses MULTICAST-STATIC-ROUTE-TABLE; + uses NEIGHBOR-TABLE; + } + } + + grouping NEIGHBOR-TABLE { + description + "Common node of vrf, default-context"; + container neighbors { + description + "PIM neighbor table"; + list neighbor { + key "interface-name neighbor-address"; + description + "PIM neighbor information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + uses PIM-NBR-BAG; + } + } + } + + grouping MULTICAST-STATIC-ROUTE-TABLE { + description + "Common node of vrf, default-context"; + container multicast-static-routes { + description + "PIM multicast static route table"; + list multicast-static-route { + key "address prefix-length"; + description + "PIM multicast static route information"; + leaf address { + type inet:ip-address-no-zone; + description + "Network address"; + } + leaf prefix-length { + type uint32; + description + "Prefix length"; + } + uses PIM-MSTATIC-BAG; + } + } + } + + grouping RANGE-LIST-TABLE { + description + "Common node of vrf, default-context"; + container ranges { + description + "PIM range list information"; + list range { + key "rp-address client"; + description + "PIM range list information"; + leaf rp-address { + type inet:ip-address-no-zone; + description + "RP address"; + } + leaf client { + type Pim-client; + description + "Client"; + } + uses PIM-RL-BAG; + } + } + } + + grouping STANDBY { + description + "Common node of pim-ma, pim6-ma"; + container standby { + description + "Standby Process"; + uses INTERFACE-TABLE; + uses PIM-MA-COMMON-OPER-PIM-MA-SUMMARY-MP; + } + } + + grouping IPV4-PIM-ROLE-LVL-OPER-STANDBY { + description + "Common node of pim-ma, pim6-maCommon node of pim, + ipv6-pim"; + container standby { + description + "Standby Process"; + uses DEFAULT-CONTEXT; + uses PROCESS; + uses VRF-TABLE; + } + } + + container pim-ma { + config false; + description + "PIM MA operational data"; + uses ACTIVE; + uses STANDBY; + } + container pim { + config false; + description + "PIM operational data"; + uses IPV4-PIM-ROLE-LVL-OPER-STANDBY; + uses IPV4-PIM-ROLE-LVL-OPER-ACTIVE; + } + container ipv6-pim { + config false; + description + "IPv6 PIM operational data"; + uses IPV4-PIM-ROLE-LVL-OPER-STANDBY; + uses IPV4-PIM-ROLE-LVL-OPER-ACTIVE; + } + container pim6-ma { + config false; + description + "PIM6 MA operational data"; + uses ACTIVE; + uses STANDBY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ping-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ping-act.yang new file mode 100644 index 000000000..d6107207f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ping-act.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XR-ping-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ping-act"; + prefix ping-act; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-ping-act; + include Cisco-IOS-XR-ipv6-ping-act; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ping action package configuration. + + Copyright (c) 2016-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-05 { + description + "Removed support for use-srv6-op-sid"; + semver:module-version "2.0.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-01 { + description + "IOS XR 6.2.1 revision."; + } + + rpc ping { + description + "Send echo messages"; + input { + container destination { + presence "ping input"; + description + "Ping destination"; + uses PING-OPTIONS; + uses IPV4-SPECIFIC-OPTIONS; + uses IPV6-SPECIFIC-OPTIONS; + } + list ipv4 { + key "destination"; + description + "Ping IPv4"; + uses IPV4-PING-INPUT; + } + container ipv6 { + presence "ipv6 ping input"; + description + "Ping IPv6"; + uses IPV6-PING-INPUT; + } + } + output { + container ping-response { + description + "Ping response"; + list ipv4 { + key "destination"; + description + "Ping IPv4 response"; + uses IPV4-PING-OUTPUT; + } + container ipv6 { + presence "ipv6 ping output"; + description + "Ping IPv6 response"; + uses IPV6-PING-OUTPUT; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1.yang new file mode 100644 index 000000000..d9fb54851 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1.yang @@ -0,0 +1,435 @@ +submodule Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1 { + belongs-to Cisco-IOS-XR-plat-chas-invmgr-ng-oper { + prefix Cisco-IOS-XR-plat-chas-invmgr-ng-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR plat-chas-invmgr-ng package operational data. + + This model is deprecated and is replaced by + Cisco-IOS-XR-platform-oper.yang,Cisco-IOS-XR-platform-inventory-oper.yang which will provide the + compatible functionalities. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-14 { + description + "Deprecated the model, replaced by Cisco-IOS-XR-platform-oper and Cisco-IOS-XR-platform-inventory-oper"; + semver:module-version "2.0.1M"; + } + revision 2019-10-15 { + description + "Added oper-state leaf to PLATFORM-INFO."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-01-22 { + description + "Fixing incorrect spelling for node-description in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Node-state { + type enumeration { + enum "not-present" { + value 0; + description + "Not present"; + } + enum "present" { + value 1; + description + "Present"; + } + enum "reset" { + value 2; + description + "Reset"; + } + enum "rommon" { + value 3; + description + "Card booting or rommon"; + } + enum "mbi-boot" { + value 4; + description + "MBI booting"; + } + enum "mbi-run" { + value 5; + description + "Running MBI"; + } + enum "xr-run" { + value 6; + description + "Running ENA"; + } + enum "bring-down" { + value 7; + description + "Bringdown"; + } + enum "xr-fail" { + value 8; + description + "ENA failure"; + } + enum "fdiag-run" { + value 9; + description + "Running FDIAG"; + } + enum "fdiag-fail" { + value 10; + description + "FDIAG failure"; + } + enum "power" { + value 11; + description + "Powered"; + } + enum "unpower" { + value 12; + description + "Unpowered"; + } + enum "mdr-warm-reload" { + value 13; + description + "MDR warm reload"; + } + enum "mdr-mbi-run" { + value 14; + description + "MDR running MBI"; + } + enum "maintenance-mode" { + value 15; + description + "Maintenance mode"; + } + enum "admin-down" { + value 16; + description + "Admin down"; + } + enum "not-monitor" { + value 17; + description + "No MON"; + } + enum "unknown-card" { + value 18; + description + "Unknown"; + } + enum "failed" { + value 19; + description + "Failed"; + } + enum "ok" { + value 20; + description + "OK"; + } + enum "missing" { + value 21; + description + "Missing"; + } + enum "diag-download" { + value 22; + description + "Field diag downloading"; + } + enum "diag-not-monitor" { + value 23; + description + "Field diag unmonitor"; + } + enum "fabric-diag-not-monitor" { + value 24; + description + "Fabric field diag unmonitor"; + } + enum "diag-rp-launch" { + value 25; + description + "Field diag RP launching"; + } + enum "diag-run" { + value 26; + description + "Field diag running"; + } + enum "diag-pass" { + value 27; + description + "Field diag pass"; + } + enum "diag-fail" { + value 28; + description + "Field diag fail"; + } + enum "diag-timeout" { + value 29; + description + "Field diag timeout"; + } + enum "disable" { + value 30; + description + "Disable"; + } + enum "spa-boot" { + value 31; + description + "SPA booting"; + } + enum "not-allowed-online" { + value 32; + description + "Not allowed online"; + } + enum "stop" { + value 33; + description + "Stopped"; + } + enum "incomp-version" { + value 34; + description + "Incompatible FW version"; + } + enum "fpd-hold" { + value 35; + description + "FPD hold"; + } + enum "xr-preparation" { + value 36; + description + "XR preparation"; + } + enum "sync-ready" { + value 37; + description + "Sync ready state"; + } + enum "xr-isolate" { + value 38; + description + "Node isolate state"; + } + enum "ready" { + value 39; + description + "Ready"; + } + enum "invalid" { + value 40; + description + "Invalid"; + } + enum "operational" { + value 41; + description + "Operational"; + } + enum "operational-lock" { + value 42; + description + "Operational lock"; + } + enum "going-down" { + value 43; + description + "Going down"; + } + enum "going-offline" { + value 44; + description + "Going offline"; + } + enum "going-online" { + value 45; + description + "Going online"; + } + enum "offline" { + value 46; + description + "Offline"; + } + enum "up" { + value 47; + description + "Up"; + } + enum "down" { + value 48; + description + "Down"; + } + enum "max" { + value 49; + description + "Max"; + } + enum "unknown" { + value 50; + description + "Unknown"; + } + enum "not-applicable" { + value 51; + description + "N/A"; + } + } + description + "Node state detail"; + } + + typedef Card-redundancy-state { + type enumeration { + enum "red-state-none" { + value 0; + description + "Not Applicable"; + } + enum "active" { + value 1; + description + "Active"; + } + enum "standby" { + value 2; + description + "Standby"; + } + } + description + "Redundancy state detail"; + } + + grouping VM-INFO { + description + "VM Info"; + leaf node-description { + type string; + description + "Node Type"; + } + leaf red-role { + type string; + description + "Node Redundency Role"; + } + leaf partner-name { + type string; + description + "Partner Name"; + } + leaf software-status { + type string; + description + "SW status"; + } + leaf node-ip { + type string; + description + "Node IP Address"; + } + leaf node-name { + type string; + description + "Node name"; + } + } + + grouping PLATFORM-INFO { + description + "Platform information"; + leaf card-type { + type string; + description + "Card type"; + } + leaf card-redundancy-state { + type Card-redundancy-state; + description + "Redundancy state"; + } + leaf plim { + type string; + description + "PLIM"; + } + leaf state { + type Node-state; + description + "State"; + } + leaf is-monitored { + type boolean; + description + "True if monitor state is active"; + } + leaf is-powered { + type boolean; + description + "True if power state is active"; + } + leaf is-shutdown { + type boolean; + description + "True if shutdown state is active"; + } + leaf admin-state { + type string; + description + "Admin state"; + } + leaf node-name { + type string; + description + "Node name"; + } + leaf oper-state { + type string; + description + "Operational state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper.yang new file mode 100644 index 000000000..89117ba3e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-plat-chas-invmgr-ng-oper.yang @@ -0,0 +1,135 @@ +module Cisco-IOS-XR-plat-chas-invmgr-ng-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-plat-chas-invmgr-ng-oper"; + prefix plat-chas-invmgr-ng-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1 { + revision-date 2020-05-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR plat-chas-invmgr-ng package operational data. + + This model is deprecated and is replaced by + Cisco-IOS-XR-platform-oper.yang,Cisco-IOS-XR-platform-inventory-oper.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + platform: Platform information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-14 { + description + "Deprecated the model, replaced by Cisco-IOS-XR-platform-oper and Cisco-IOS-XR-platform-inventory-oper"; + semver:module-version "2.0.1M"; + } + revision 2019-10-15 { + description + "Added oper-state leaf to PLATFORM-INFO."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-01-22 { + description + "Fixing incorrect spelling for node-description in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping STATE { + description + "Common node of instance, slot"; + container state { + description + "State information"; + uses PLATFORM-INFO; + } + } + + container platform { + config false; + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-platform-oper.yang + ,Cisco-IOS-XR-platform-inventory-oper.yang which + will provide the compatible functionalities. + Platform information"; + container racks { + description + "Table of racks"; + list rack { + key "rack-name"; + description + "Rack name"; + container slots { + description + "Table of slots"; + list slot { + key "slot-name"; + description + "Slot name"; + container instances { + description + "Table of Instances"; + list instance { + key "instance-name"; + description + "Instance name"; + leaf instance-name { + type string; + description + "Instance name"; + } + uses STATE; + } + } + container vm { + description + "VM information"; + uses VM-INFO; + } + leaf slot-name { + type xr:Cisco-ios-xr-string; + description + "Slot name"; + } + uses STATE; + } + } + leaf rack-name { + type xr:Cisco-ios-xr-string; + description + "Rack name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper-sub1.yang new file mode 100644 index 000000000..11f804d61 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper-sub1.yang @@ -0,0 +1,115 @@ +submodule Cisco-IOS-XR-platform-event-history-oper-sub1 { + belongs-to Cisco-IOS-XR-platform-event-history-oper { + prefix Cisco-IOS-XR-platform-event-history-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR platform-event-history package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-17 { + description + "IOS XR 7.0.14 revision. Deprecate event-discarded field in bag"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping EVENT-HISTORY-ENTRY { + description + "Event History Entry"; + leaf time { + type string; + description + "Time of event"; + } + leaf micro-seconds { + type uint64; + units "microsecond"; + description + "Time Stamp's Micro Seconds"; + } + leaf event-source { + type string; + description + "Event Source"; + } + leaf event { + type string; + description + "Event"; + } + leaf platform-event { + type string; + description + "Platform Event"; + } + leaf state { + type string; + description + "State"; + } + leaf event-log { + type string; + description + "Event Log"; + } + leaf event-discarded { + type boolean; + status deprecated; + description + "Event Discarded"; + } + leaf event-repeat-count { + type uint32; + description + "Number of times event repeated"; + } + } + + grouping EVENT-HISTORY { + description + "Event History List"; + leaf current-state { + type string; + description + "Current State"; + } + leaf state-entry-time { + type string; + description + "Timestamp of state entry"; + } + list event-history { + description + "Event History List"; + uses EVENT-HISTORY-ENTRY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper.yang new file mode 100644 index 000000000..8d53f137d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-event-history-oper.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XR-platform-event-history-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-platform-event-history-oper"; + prefix platform-event-history-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-platform-event-history-oper-sub1 { + revision-date 2020-04-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR platform-event-history package operational data. + + This module contains definitions + for the following management objects: + platform-event-history: Event History information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-17 { + description + "IOS XR 7.0.14 revision. Deprecate event-discarded field in bag"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container platform-event-history { + config false; + description + "Event History information"; + list node { + key "node-name"; + description + "Node ID"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses EVENT-HISTORY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper-sub1.yang new file mode 100644 index 000000000..c0352ef9b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper-sub1.yang @@ -0,0 +1,88 @@ +submodule Cisco-IOS-XR-platform-oir-history-oper-sub1 { + belongs-to Cisco-IOS-XR-platform-oir-history-oper { + prefix Cisco-IOS-XR-platform-oir-history-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR platform-oir-history package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-26 { + description + "IOS XR 7.0.14 revision."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping OIR-HISTORY-ENTRY { + description + "OIR History Entry"; + leaf time { + type string; + description + "Time of OIR"; + } + leaf micro-seconds { + type uint64; + units "microsecond"; + description + "Time Stamp's Micro Seconds"; + } + leaf event { + type string; + description + "OIR event"; + } + leaf pid { + type string; + description + "PID of the card"; + } + leaf serial-number { + type string; + description + "Serial Number of the card"; + } + leaf node-string { + type string; + description + "Node String of the card"; + } + } + + grouping OIR-HISTORY { + description + "OIR History List"; + list oir-history { + description + "OIR History List"; + uses OIR-HISTORY-ENTRY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper.yang new file mode 100644 index 000000000..e1a850ebc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oir-history-oper.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-platform-oir-history-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-platform-oir-history-oper"; + prefix platform-oir-history-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-platform-oir-history-oper-sub1 { + revision-date 2020-05-26; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR platform-oir-history package operational data. + + This module contains definitions + for the following management objects: + platform-oir-history: OIR History information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-26 { + description + "IOS XR 7.0.14 revision."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container platform-oir-history { + config false; + description + "OIR History information"; + list node { + key "node-name"; + description + "Node ID"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses OIR-HISTORY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper-sub1.yang new file mode 100644 index 000000000..b3dfc75a4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper-sub1.yang @@ -0,0 +1,426 @@ +submodule Cisco-IOS-XR-platform-oper-sub1 { + belongs-to Cisco-IOS-XR-platform-oper { + prefix Cisco-IOS-XR-platform-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR platform package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-07 { + description + "Added VM class for Thin XR model"; + semver:module-version "1.0.1M"; + } + revision 2020-05-14 { + description + "New model, replaces Cisco-IOS-XR-plat-chas-invmgr-ng-oper"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Node-state { + type enumeration { + enum "not-present" { + value 0; + description + "Not present"; + } + enum "present" { + value 1; + description + "Present"; + } + enum "reset" { + value 2; + description + "Reset"; + } + enum "rommon" { + value 3; + description + "Card booting or rommon"; + } + enum "mbi-boot" { + value 4; + description + "MBI booting"; + } + enum "mbi-run" { + value 5; + description + "Running MBI"; + } + enum "xr-run" { + value 6; + description + "Running ENA"; + } + enum "bring-down" { + value 7; + description + "Bringdown"; + } + enum "xr-fail" { + value 8; + description + "ENA failure"; + } + enum "fdiag-run" { + value 9; + description + "Running FDIAG"; + } + enum "fdiag-fail" { + value 10; + description + "FDIAG failure"; + } + enum "power" { + value 11; + description + "Powered"; + } + enum "unpower" { + value 12; + description + "Unpowered"; + } + enum "mdr-warm-reload" { + value 13; + description + "MDR warm reload"; + } + enum "mdr-mbi-run" { + value 14; + description + "MDR running MBI"; + } + enum "maintenance-mode" { + value 15; + description + "Maintenance mode"; + } + enum "admin-down" { + value 16; + description + "Admin down"; + } + enum "not-monitor" { + value 17; + description + "No MON"; + } + enum "unknown-card" { + value 18; + description + "Unknown"; + } + enum "failed" { + value 19; + description + "Failed"; + } + enum "ok" { + value 20; + description + "OK"; + } + enum "missing" { + value 21; + description + "Missing"; + } + enum "diag-download" { + value 22; + description + "Field diag downloading"; + } + enum "diag-not-monitor" { + value 23; + description + "Field diag unmonitor"; + } + enum "fabric-diag-not-monitor" { + value 24; + description + "Fabric field diag unmonitor"; + } + enum "diag-rp-launch" { + value 25; + description + "Field diag RP launching"; + } + enum "diag-run" { + value 26; + description + "Field diag running"; + } + enum "diag-pass" { + value 27; + description + "Field diag pass"; + } + enum "diag-fail" { + value 28; + description + "Field diag fail"; + } + enum "diag-timeout" { + value 29; + description + "Field diag timeout"; + } + enum "disable" { + value 30; + description + "Disable"; + } + enum "spa-boot" { + value 31; + description + "SPA booting"; + } + enum "not-allowed-online" { + value 32; + description + "Not allowed online"; + } + enum "stop" { + value 33; + description + "Stopped"; + } + enum "incomp-version" { + value 34; + description + "Incompatible FW version"; + } + enum "fpd-hold" { + value 35; + description + "FPD hold"; + } + enum "xr-preparation" { + value 36; + description + "XR preparation"; + } + enum "sync-ready" { + value 37; + description + "Sync ready state"; + } + enum "xr-isolate" { + value 38; + description + "Node isolate state"; + } + enum "ready" { + value 39; + description + "Ready"; + } + enum "invalid" { + value 40; + description + "Invalid"; + } + enum "operational" { + value 41; + description + "Operational"; + } + enum "operational-lock" { + value 42; + description + "Operational lock"; + } + enum "going-down" { + value 43; + description + "Going down"; + } + enum "going-offline" { + value 44; + description + "Going offline"; + } + enum "going-online" { + value 45; + description + "Going online"; + } + enum "offline" { + value 46; + description + "Offline"; + } + enum "up" { + value 47; + description + "Up"; + } + enum "down" { + value 48; + description + "Down"; + } + enum "max" { + value 49; + description + "Max"; + } + enum "unknown" { + value 50; + description + "Unknown"; + } + enum "not-applicable" { + value 51; + description + "N/A"; + } + } + description + "Node state detail"; + } + + typedef Card-redundancy-state { + type enumeration { + enum "red-state-none" { + value 0; + description + "Not Applicable"; + } + enum "active" { + value 1; + description + "Active"; + } + enum "standby" { + value 2; + description + "Standby"; + } + } + description + "Redundancy state detail"; + } + + grouping VM-INFO { + description + "VM Info"; + leaf node-description { + type string; + description + "Node Type"; + } + leaf red-role { + type string; + description + "Node Redundency Role"; + } + leaf partner-name { + type string; + description + "Partner Name"; + } + leaf software-status { + type string; + description + "SW status"; + } + leaf node-ip { + type string; + description + "Node IP Address"; + } + leaf node-name { + type string; + description + "Node name"; + } + } + + grouping PLATFORM-INFO { + description + "Platform information"; + leaf card-type { + type string; + description + "Card type"; + } + leaf card-redundancy-state { + type Card-redundancy-state; + description + "Redundancy state"; + } + leaf plim { + type string; + description + "PLIM"; + } + leaf state { + type Node-state; + description + "State"; + } + leaf is-monitored { + type boolean; + description + "True if monitor state is active"; + } + leaf is-powered { + type boolean; + description + "True if power state is active"; + } + leaf is-shutdown { + type boolean; + description + "True if shutdown state is active"; + } + leaf admin-state { + type string; + description + "Admin state"; + } + leaf node-name { + type string; + description + "Node name"; + } + leaf oper-state { + type string; + description + "Operational state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper.yang new file mode 100644 index 000000000..04f90de73 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platform-oper.yang @@ -0,0 +1,121 @@ +module Cisco-IOS-XR-platform-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-platform-oper"; + prefix platform-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-platform-oper-sub1 { + revision-date 2020-07-07; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR platform package operational data. + + This module contains definitions + for the following management objects: + platform: Platform information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-07 { + description + "Added VM class for Thin XR model"; + semver:module-version "1.0.1M"; + } + revision 2020-05-14 { + description + "New model, replaces Cisco-IOS-XR-plat-chas-invmgr-ng-oper"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping STATE { + description + "Common node of instance, slot"; + container state { + description + "State information"; + uses PLATFORM-INFO; + } + } + + container platform { + config false; + description + "Platform information"; + container racks { + description + "Table of racks"; + list rack { + key "rack-name"; + description + "Rack name"; + container slots { + description + "Table of slots"; + list slot { + key "slot-name"; + description + "Slot name"; + container instances { + description + "Table of Instances"; + list instance { + key "instance-name"; + description + "Instance name"; + leaf instance-name { + type string; + description + "Instance name"; + } + uses STATE; + } + } + container vm { + description + "VM information"; + uses VM-INFO; + } + leaf slot-name { + type xr:Cisco-ios-xr-string; + description + "Slot name"; + } + uses STATE; + } + } + leaf rack-name { + type xr:Cisco-ios-xr-string; + description + "Rack name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-common-tams-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-common-tams-act.yang new file mode 100644 index 000000000..44fb8ec74 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-common-tams-act.yang @@ -0,0 +1,56 @@ +module Cisco-IOS-XR-platforms-common-tams-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-common-tams-act"; + prefix platforms-common-tams-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2010-10-01 { + description + "Intial revesion"; + semver:module-version "1.0.0"; + } + + rpc tam-app-data-clean-backup-start { + description + "To start clean appdb then backup"; + input { + leaf location { + type string; + description + "XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } + rpc tam-app-data-restore-start { + description + "To start the appdb restore"; + input { + leaf location { + type string; + description + "XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-oper.yang new file mode 100644 index 000000000..b5454dcd7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-oper.yang @@ -0,0 +1,83 @@ +module Cisco-IOS-XR-platforms-ofa-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-ofa-oper"; + prefix platforms-ofa-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR platforms-ofa package operational data. + + This module contains definitions + for the following management objects: + ofa: OFA Data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-10 { + description + "Added task-id"; + semver:module-version "1.0.1"; + } + revision 2020-06-25 { + description + "Updated task-name"; + semver:module-version "1.0.1"; + } + revision 2019-12-14 { + description + "Updated date for ofa yang path"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ofa { + config false; + description + "OFA Data"; + container stats { + description + "OFA Stats Data"; + container nodes { + description + "OFA data for available nodes"; + list node { + key "node-name"; + description + "OFA operational data for a particular node"; + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1.yang new file mode 100644 index 000000000..18c63bc1f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1.yang @@ -0,0 +1,355 @@ +submodule Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1 { + belongs-to Cisco-IOS-XR-platforms-ofa-table-stats-oper { + prefix Cisco-IOS-XR-platforms-ofa-table-stats-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR platforms-ofa-table-stats package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-20 { + description + "Added iptnldecapsaf + 2021-09-22 + Removal of mplspweport OFA object + 2021-09-22 + Adding dot1x support + 2021-07-07 + Added Quaratine DB counters to ofa table stats"; + semver:module-version "3.0.1M"; + } + revision 2020-06-19 { + description + "Bwalk Error Counters IosSetYangSchemaRev Cisco-IOS-XR-platforms-ofa-table-stats-oper"; + semver:module-version "3.0.0"; + } + revision 2019-12-14 { + description + "Added the Yang Model for ofa sw resources"; + semver:module-version "1.1.0"; + } + revision 2019-06-06 { + description + "Added the Yang Model for ofa sw resources"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Crud-scope { + type enumeration { + enum "ofa-display-per-npu-crud-counter-s" { + value 0; + description + "ofa display per npu crud counter s"; + } + enum "ofa-display-global-crud-counter-s" { + value 1; + description + "ofa display global crud counter s"; + } + } + description + "HW CRUD COUNTERS SCOPE"; + } + + grouping OFA-USER-DEFINED-STATS-VALUE { + description + "Content of user defined stats"; + leaf npu-id { + type uint32; + description + "NPU ID for which stats are present"; + } + leaf value { + type uint64; + description + "Value of the stats"; + } + leaf timestamp { + type uint64; + description + "Timestamp value of the stats"; + } + } + + grouping OFA-USER-DEFINED-STATS { + description + "User defined stats information"; + leaf description { + type string { + length "0..256"; + } + description + "Description to print for each user defined stats"; + } + list user-defined-stats-value { + description + "Per npu content of each user defined stats"; + uses OFA-USER-DEFINED-STATS-VALUE; + } + } + + grouping OFA-SYSDB-GLOBAL-CRUD-STATS-ST { + description + "OFA SYSDB GLOBAL CRUD STATS ST"; + leaf create-hw-fail { + type uint64; + description + "Number of failed create requests in the hw - + global scope"; + } + leaf update-hw-fail { + type uint64; + description + "Number of failed update requests in the hw - + global scope"; + } + leaf delete-hw-fail { + type uint64; + description + "Number of failed delete requests in the hw - + global scope"; + } + } + + grouping OFA-SYSDB-NPU-CRUD-STATS-ST { + description + "OFA SYSDB NPU CRUD STATS ST"; + leaf npu-id { + type uint32; + description + "NPU id of the current stats instance"; + } + leaf create-hw-fail { + type uint32; + description + "Number of failed create requests in the hw - per + NPU scope"; + } + leaf update-hw-fail { + type uint32; + description + "Number of failed update requests in the hw per + NPU scope"; + } + leaf delete-hw-fail { + type uint32; + description + "Number of failed delete requests in the hw per + NPU scope"; + } + } + + grouping OFA-SYSDB-NPU-CRUD-LIST { + description + "OFA SYSDB NPU CRUD LIST"; + list ofa-sysdb-npu-crud { + description + "ofa sysdb npu crud"; + uses OFA-SYSDB-NPU-CRUD-STATS-ST; + } + } + + grouping UNION-HW-CRUD-COUNTER-S { + description + "UNION HW CRUD COUNTERS"; + container npu-crud-list { + when "../discriminator = 'ofa-display-per-npu-crud-counter-s'" { + description + "../discriminator = + 'OFA_DISPLAY_PER_NPU_CRUD_COUNTERS'"; + } + description + "npu crud list"; + uses OFA-SYSDB-NPU-CRUD-LIST; + } + container global-crud-st { + when "../discriminator = 'ofa-display-global-crud-counter-s'" { + description + "../discriminator = + 'OFA_DISPLAY_GLOBAL_CRUD_COUNTERS'"; + } + description + "global crud st"; + uses OFA-SYSDB-GLOBAL-CRUD-STATS-ST; + } + leaf discriminator { + type Crud-scope; + description + "discriminator"; + } + } + + grouping OFA-SYSDB-TABLE-RESOURCE { + description + "OFA SYSDB TABLE RESOURCE"; + container hw-crud-counters { + description + "Global / Per NPU HW CRUD counters"; + uses UNION-HW-CRUD-COUNTER-S; + } + leaf table-id { + type uint32; + description + "Table id"; + } + leaf name { + type string { + length "0..64"; + } + description + "Table name"; + } + leaf is-global { + type boolean; + description + "Is Table scope global"; + } + leaf display-per-npu { + type uint8; + description + "Is CRUD stats' display scope per NPU or global"; + } + leaf num-npus { + type uint32; + description + "Number of NPUs"; + } + leaf table-specific-list { + type string; + description + "Table specific data"; + } + leaf create-req { + type uint64; + description + "Number of create requests"; + } + leaf delete-req { + type uint64; + description + "Number of delete requests"; + } + leaf update-req { + type uint64; + description + "Number of update requests"; + } + leaf get-req { + type uint64; + description + "Number of get requests"; + } + leaf err-ref-resolve { + type uint32; + description + "OFA Error - Resolve Reference"; + } + leaf err-db-notfound { + type uint32; + description + "OFA Error - Not found in DB"; + } + leaf err-db-exists { + type uint32; + description + "OFA Error - Entry exists in DB"; + } + leaf err-db-nomem { + type uint32; + description + "OFA Error - Out of memory"; + } + leaf err-id-reserve { + type uint32; + description + "OFA Error - Reserve ID"; + } + leaf err-id-release { + type uint32; + description + "OFA Error - Release ID"; + } + leaf err-id-update { + type uint32; + description + "OFA Error - Update ID"; + } + leaf retry-count { + type uint32; + description + "Num retry attempts in update"; + } + leaf err-recovery { + type uint32; + description + "OFA object recovers from error"; + } + leaf bwalk-error { + type uint32; + description + "Table had error in child during bwalk"; + } + leaf bwalk-update { + type uint64; + description + "Number of bwalk update requests"; + } + leaf bwalk-skipped { + type uint64; + description + "Number of bwalk requests skipped"; + } + leaf quarantine-db-insert { + type uint64; + description + "Number of inserts into Quarantine DB"; + } + leaf quarantine-db-delete { + type uint64; + description + "Number of deletes from Quarantine DB"; + } + } + + grouping OFA-NPD-SYSDB-TABLE-RESOURCE { + description + "Table resources"; + container tbl-resources-stats { + description + "Generic OFA infra counters"; + uses OFA-SYSDB-TABLE-RESOURCE; + } + list user-defined-stat { + description + "Platform specific user defined stats"; + uses OFA-USER-DEFINED-STATS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper.yang new file mode 100644 index 000000000..daef4b49a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-platforms-ofa-table-stats-oper.yang @@ -0,0 +1,1718 @@ +module Cisco-IOS-XR-platforms-ofa-table-stats-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-ofa-table-stats-oper"; + prefix platforms-ofa-table-stats-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1 { + revision-date 2022-10-20; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR platforms-ofa-table-stats package operational data. + + This module contains definitions + for the following management objects: + ofa: OFA Data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-20 { + description + "Added iptnldecapsaf + 2021-09-22 + Removal of mplspweport OFA object + 2021-09-22 + Adding dot1x support + 2021-07-07 + Added Quaratine DB counters to ofa table stats"; + semver:module-version "3.0.1M"; + } + revision 2020-06-19 { + description + "Bwalk Error Counters IosSetYangSchemaRev Cisco-IOS-XR-platforms-ofa-table-stats-oper"; + semver:module-version "3.0.0"; + } + revision 2019-12-14 { + description + "Added the Yang Model for ofa sw resources"; + semver:module-version "1.1.0"; + } + revision 2019-06-06 { + description + "Added the Yang Model for ofa sw resources"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ofa-table { + type enumeration { + enum "test-if" { + value 0; + description + "test if"; + } + enum "test-if-with-create-reject" { + value 1; + description + "testifwithcreatereject"; + } + enum "test-nh" { + value 2; + description + "test nh"; + } + enum "test-global-discard" { + value 3; + description + "testglobaldiscard"; + } + enum "test-nhg" { + value 4; + description + "test nhg"; + } + enum "test-rt" { + value 5; + description + "test rt"; + } + enum "test-dynhg" { + value 6; + description + "testdynhg"; + } + enum "test-async-nhg" { + value 7; + description + "testasyncnhg"; + } + enum "test-async-nhgstats" { + value 8; + description + "testasyncnhgstats"; + } + enum "test-ip-punt-policy" { + value 9; + description + "test ippuntpolicy"; + } + enum "test-punt" { + value 10; + description + "test punt"; + } + enum "test-punt-policy-stats" { + value 11; + description + "testpuntpolicystats"; + } + enum "test-async-update" { + value 12; + description + "testasyncupdate"; + } + enum "test-async-barrier-with-knob" { + value 13; + description + "testasyncbarrierwithknob"; + } + enum "test-async-barrier-with-outknob" { + value 14; + description + "testasyncbarrierwithoutknob"; + } + enum "test-o-fast-ats" { + value 15; + description + "testofastats"; + } + enum "test-o-fast-ats1" { + value 16; + description + "testofastats1"; + } + enum "test-o-fast-ats2" { + value 17; + description + "testofastats2"; + } + enum "test-dpastats1" { + value 18; + description + "testdpastats1"; + } + enum "test-dpastats2" { + value 19; + description + "testdpastats2"; + } + enum "test-srvgrid" { + value 20; + description + "testsrvgrid"; + } + enum "test-ddel-q" { + value 21; + description + "test ddel q"; + } + enum "test-mco-list" { + value 22; + description + "testmcolist"; + } + enum "test-syncmco-list" { + value 23; + description + "testsyncmcolist"; + } + enum "test-syncmctblstats" { + value 24; + description + "testsyncmctblstats"; + } + enum "test-dddp" { + value 25; + description + "testdddp"; + } + enum "test-grid1" { + value 26; + description + "testgrid1"; + } + enum "test-ssm" { + value 27; + description + "testssm"; + } + enum "test-encap-mgr" { + value 28; + description + "testencapmgr"; + } + enum "test-mplsrte" { + value 29; + description + "testmplsrte"; + } + enum "sys" { + value 30; + description + "sys"; + } + enum "npu" { + value 31; + description + "npu"; + } + enum "npu-host-port" { + value 32; + description + "npuhostport"; + } + enum "npuhwid" { + value 33; + description + "npuhwid"; + } + enum "optics-port" { + value 34; + description + "opticsport"; + } + enum "gi-port" { + value 35; + description + "giport"; + } + enum "l1-port" { + value 36; + description + "l1port"; + } + enum "mac-port" { + value 37; + description + "macport"; + } + enum "l2-port" { + value 38; + description + "l2port"; + } + enum "eth-port" { + value 39; + description + "ethport"; + } + enum "eth-ports-tats" { + value 40; + description + "ethportstats"; + } + enum "l2intf" { + value 41; + description + "l2intf"; + } + enum "l2if" { + value 42; + description + "l2if"; + } + enum "mplspwe-port" { + value 43; + description + "mplspweport"; + } + enum "mhpwe-port" { + value 44; + description + "mhpweport"; + } + enum "l2xc" { + value 45; + description + "l2xc"; + } + enum "l2vpnstats" { + value 46; + description + "l2vpnstats"; + } + enum "l1-ports-tats" { + value 47; + description + "l1portstats"; + } + enum "mac-ports-tats" { + value 48; + description + "macportstats"; + } + enum "l3intf" { + value 49; + description + "l3intf"; + } + enum "l3if" { + value 50; + description + "l3if"; + } + enum "l3intfrxstats" { + value 51; + description + "l3intfrxstats"; + } + enum "ip-route" { + value 52; + description + "iproute"; + } + enum "ip6-route" { + value 53; + description + "ip6route"; + } + enum "punt-policy-stats" { + value 54; + description + "puntpolicystats"; + } + enum "lpts-policy-stats" { + value 55; + description + "lptspolicystats"; + } + enum "tep" { + value 56; + description + "tep"; + } + enum "ip-punt-policy" { + value 57; + description + "ippuntpolicy"; + } + enum "ip6-punt-policy" { + value 58; + description + "ip6puntpolicy"; + } + enum "iplpts-policy" { + value 59; + description + "iplptspolicy"; + } + enum "ip6lpts-policy" { + value 60; + description + "ip6lptspolicy"; + } + enum "isis-punt-policy" { + value 61; + description + "isispuntpolicy"; + } + enum "isislpts-policy" { + value 62; + description + "isislptspolicy"; + } + enum "nh-group" { + value 63; + description + "nhgroup"; + } + enum "ipnh-group" { + value 64; + description + "ipnhgroup"; + } + enum "ip6nh-group" { + value 65; + description + "ip6nhgroup"; + } + enum "ipnh" { + value 66; + description + "ipnh"; + } + enum "ip6nh" { + value 67; + description + "ip6nh"; + } + enum "macllnh" { + value 68; + description + "macllnh"; + } + enum "ipvrf" { + value 69; + description + "ipvrf"; + } + enum "vrfid" { + value 70; + description + "vrfid"; + } + enum "mplsnh" { + value 71; + description + "mplsnh"; + } + enum "lspnh" { + value 72; + description + "lspnh"; + } + enum "encap-mgr" { + value 73; + description + "encapmgr"; + } + enum "mpls-label" { + value 74; + description + "mplslabel"; + } + enum "punt" { + value 75; + description + "punt"; + } + enum "punt-police-r" { + value 76; + description + "puntpolicer"; + } + enum "lpts-police-r" { + value 77; + description + "lptspolicer"; + } + enum "punt-lpts-police-r" { + value 78; + description + "puntlptspolicer"; + } + enum "punt-stats" { + value 79; + description + "puntstats"; + } + enum "tm-port" { + value 80; + description + "tmport"; + } + enum "span-session" { + value 81; + description + "spansession"; + } + enum "police-rstats" { + value 82; + description + "policerstats"; + } + enum "tm-ports-tats" { + value 83; + description + "tmportstats"; + } + enum "voq-grp" { + value 84; + description + "voqgrp"; + } + enum "l3intftxstats" { + value 85; + description + "l3intftxstats"; + } + enum "mplstetxstats" { + value 86; + description + "mplstetxstats"; + } + enum "mplslblstats" { + value 87; + description + "mplslblstats"; + } + enum "police-r" { + value 88; + description + "policer"; + } + enum "l2intfrxstats" { + value 89; + description + "l2intfrxstats"; + } + enum "l2intftxstats" { + value 90; + description + "l2intftxstats"; + } + enum "pbr-tt-ipv4" { + value 91; + description + "pbr tt ipv4"; + } + enum "pbr-tt-ipv6" { + value 92; + description + "pbr tt ipv6"; + } + enum "bfdhwoff" { + value 93; + description + "bfdhwoff"; + } + enum "bfdoff" { + value 94; + description + "bfdoff"; + } + enum "bfdoffstats" { + value 95; + description + "bfdoffstats"; + } + enum "global" { + value 96; + description + "global"; + } + enum "lag-port" { + value 97; + description + "lagport"; + } + enum "agg-port" { + value 98; + description + "aggport"; + } + enum "agg-member" { + value 99; + description + "aggmember"; + } + enum "qos-profile" { + value 100; + description + "qosprofile"; + } + enum "acl-profile" { + value 101; + description + "acl profile"; + } + enum "tmrate-profile" { + value 102; + description + "tmrateprofile"; + } + enum "ipacl" { + value 103; + description + "ipacl"; + } + enum "ip6acl" { + value 104; + description + "ip6acl"; + } + enum "sched-tree" { + value 105; + description + "schedtree"; + } + enum "tmcos" { + value 106; + description + "tmcos"; + } + enum "statsagg" { + value 107; + description + "statsagg"; + } + enum "nhprotect" { + value 108; + description + "nhprotect"; + } + enum "sampler" { + value 109; + description + "sampler"; + } + enum "l2qos" { + value 110; + description + "l2qos"; + } + enum "peer-qos" { + value 111; + description + "peerqos"; + } + enum "ipqos" { + value 112; + description + "ipqos"; + } + enum "ip6qos" { + value 113; + description + "ip6qos"; + } + enum "mplsqos" { + value 114; + description + "mplsqos"; + } + enum "qos-group" { + value 115; + description + "qosgroup"; + } + enum "qosid" { + value 116; + description + "qosid"; + } + enum "extlif" { + value 117; + description + "extlif"; + } + enum "elif" { + value 118; + description + "elif"; + } + enum "ingaclstats" { + value 119; + description + "ingaclstats"; + } + enum "egraclstats" { + value 120; + description + "egraclstats"; + } + enum "edpl" { + value 121; + description + "edpl"; + } + enum "l2protect" { + value 122; + description + "l2protect"; + } + enum "sat" { + value 123; + description + "sat"; + } + enum "satstats" { + value 124; + description + "satstats"; + } + enum "cfmoam-profile-def" { + value 125; + description + "cfmoamprofiledef"; + } + enum "cfmmaid" { + value 126; + description + "cfmmaid"; + } + enum "cfmdefmps" { + value 127; + description + "cfmdefmps"; + } + enum "cfmofflmep" { + value 128; + description + "cfmofflmep"; + } + enum "cfmoffrmep" { + value 129; + description + "cfmoffrmep"; + } + enum "cfmnonoff" { + value 130; + description + "cfmnonoff"; + } + enum "cfmhwoffrxstats" { + value 131; + description + "cfmhwoffrxstats"; + } + enum "cfmnonoff-load" { + value 132; + description + "cfmnonoffload"; + } + enum "cfm-default-s" { + value 133; + description + "cfmdefaults"; + } + enum "cfmmntassocid" { + value 134; + description + "cfmmntassocid"; + } + enum "ipmc-route" { + value 135; + description + "ipmcroute"; + } + enum "l2ipmc-route" { + value 136; + description + "l2ipmcroute"; + } + enum "ipmco-list" { + value 137; + description + "ipmcolist"; + } + enum "l2mco-list" { + value 138; + description + "l2mcolist"; + } + enum "meshmc" { + value 139; + description + "meshmc"; + } + enum "l2-bridge" { + value 140; + description + "l2bridge"; + } + enum "l2-bridge-port" { + value 141; + description + "l2bridgeport"; + } + enum "l2-bridge-mac" { + value 142; + description + "l2bridgemac"; + } + enum "l2brmac" { + value 143; + description + "l2brmac"; + } + enum "ip-tunnel-decap" { + value 144; + description + "iptunneldecap"; + } + enum "l2vlan-range" { + value 145; + description + "l2vlanrange"; + } + enum "ip-tunnel-encap" { + value 146; + description + "iptunnelencap"; + } + enum "iptnl-encap" { + value 147; + description + "iptnlencap"; + } + enum "iptnldecap" { + value 148; + description + "iptnldecap"; + } + enum "iptnldecapvni" { + value 149; + description + "iptnldecapvni"; + } + enum "iptnlnh" { + value 150; + description + "iptnlnh"; + } + enum "rawget" { + value 151; + description + "rawget"; + } + enum "ip6mc-route" { + value 152; + description + "ip6mcroute"; + } + enum "ip6mc-comp-grp" { + value 153; + description + "ip6mc comp grp"; + } + enum "l2evpnact-remote-peer-id" { + value 154; + description + "l2evpnactremotepeerid"; + } + enum "l2evpnact-local-shl" { + value 155; + description + "l2evpnactlocalshl"; + } + enum "l2evpnact-remote-shl" { + value 156; + description + "l2evpnactremoteshl"; + } + enum "evpn-iml-range" { + value 157; + description + "evpn imlrange"; + } + enum "l2-bridge-o-list" { + value 158; + description + "l2bridgeolist"; + } + enum "l2acl" { + value 159; + description + "l2acl"; + } + enum "l2evpn-nh" { + value 160; + description + "l2evpn nh"; + } + enum "l2-bridge-port-sc" { + value 161; + description + "l2bridgeport sc"; + } + enum "l3intfmctxstats" { + value 162; + description + "l3intfmctxstats"; + } + enum "tidl-sample" { + value 163; + description + "tidl sample"; + } + enum "tidl-ref-sample" { + value 164; + description + "tidl ref sample"; + } + enum "ipacl-prefix" { + value 165; + description + "ipaclprefix"; + } + enum "ip6acl-prefix" { + value 166; + description + "ip6aclprefix"; + } + enum "ipacl-port" { + value 167; + description + "ipaclport"; + } + enum "scaleacl" { + value 168; + description + "scaleacl"; + } + enum "ipmcf-hop" { + value 169; + description + "ipmcfhop"; + } + enum "bundle-swoff" { + value 170; + description + "bundle swoff"; + } + enum "mcidswoff" { + value 171; + description + "mcidswoff"; + } + enum "dest-map" { + value 172; + description + "destmap"; + } + enum "l2-bridge-port-pw" { + value 173; + description + "l2bridgeport pw"; + } + enum "l2evpnact-local-shlstats" { + value 174; + description + "l2evpnactlocalshlstats"; + } + enum "test-hidden" { + value 175; + description + "testhidden"; + } + enum "test-local" { + value 176; + description + "testlocal"; + } + enum "test-repeated" { + value 177; + description + "testrepeated"; + } + enum "limd" { + value 178; + description + "limd"; + } + enum "litap" { + value 179; + description + "litap"; + } + enum "l3ifstats" { + value 180; + description + "l3ifstats"; + } + enum "mplsstats" { + value 181; + description + "mplsstats"; + } + enum "sr-test-ats" { + value 182; + description + "srtestats"; + } + enum "srteifstats" { + value 183; + description + "srteifstats"; + } + enum "exception-nh" { + value 184; + description + "exceptionnh"; + } + enum "srv6-global" { + value 185; + description + "srv6 global"; + } + enum "srv6sid" { + value 186; + description + "srv6sid"; + } + enum "srv6nh" { + value 187; + description + "srv6nh"; + } + enum "sr6sid" { + value 188; + description + "sr6sid"; + } + enum "sr6nh" { + value 189; + description + "sr6nh"; + } + enum "sr6-global" { + value 190; + description + "sr6 global"; + } + enum "redirect-vrf" { + value 191; + description + "redirectvrf"; + } + enum "test-xtf" { + value 192; + description + "test xtf"; + } + enum "ippbr" { + value 193; + description + "ippbr"; + } + enum "ippbrstats" { + value 194; + description + "ippbrstats"; + } + enum "mpls-mdt-bud" { + value 195; + description + "mplsmdtbud"; + } + enum "mpls-label-rxstats" { + value 196; + description + "mplslabelrxstats"; + } + enum "l2mac-static" { + value 197; + description + "l2macstatic"; + } + enum "dot1x" { + value 198; + description + "dot1x"; + } + enum "iprte" { + value 199; + description + "iprte"; + } + enum "ip6rte" { + value 200; + description + "ip6rte"; + } + enum "llnh" { + value 201; + description + "llnh"; + } + enum "urpfintf" { + value 202; + description + "urpfintf"; + } + enum "ipmcrxstats" { + value 203; + description + "ipmcrxstats"; + } + enum "mplsrte" { + value 204; + description + "mplsrte"; + } + enum "protectnh" { + value 205; + description + "protectnh"; + } + enum "ipllnh" { + value 206; + description + "ipllnh"; + } + enum "ip6llnh" { + value 207; + description + "ip6llnh"; + } + enum "macnh" { + value 208; + description + "macnh"; + } + enum "qos-match-stats" { + value 209; + description + "qosmatchstats"; + } + enum "ofal2xc" { + value 210; + description + "ofal2xc"; + } + enum "ofamplspwe-port" { + value 211; + description + "ofamplspweport"; + } + enum "pwenh" { + value 212; + description + "pwenh"; + } + enum "pwenh-group" { + value 213; + description + "pwenhgroup"; + } + enum "ipmcrte" { + value 214; + description + "ipmcrte"; + } + enum "ip6mcrte" { + value 215; + description + "ip6mcrte"; + } + enum "ipmcr-test-ats" { + value 216; + description + "ipmcrtestats"; + } + enum "ip6mcr-test-ats" { + value 217; + description + "ip6mcrtestats"; + } + enum "transport-nh" { + value 218; + description + "transportnh"; + } + enum "port-range" { + value 219; + description + "portrange"; + } + enum "mcid" { + value 220; + description + "mcid"; + } + enum "mc-gid" { + value 221; + description + "mc gid"; + } + enum "mcgidole" { + value 222; + description + "mcgidole"; + } + enum "mco-list" { + value 223; + description + "mcolist"; + } + enum "test-da" { + value 224; + description + "testda"; + } + enum "test-ca" { + value 225; + description + "testca"; + } + enum "test-ba" { + value 226; + description + "testba"; + } + enum "test-aa" { + value 227; + description + "testaa"; + } + enum "test-async-aa" { + value 228; + description + "testasyncaa"; + } + enum "test-reliable-notif" { + value 229; + description + "testreliablenotif"; + } + enum "test-de" { + value 230; + description + "testde"; + } + enum "test-ce" { + value 231; + description + "testce"; + } + enum "test-be" { + value 232; + description + "testbe"; + } + enum "test-db" { + value 233; + description + "testdb"; + } + enum "test-cb" { + value 234; + description + "testcb"; + } + enum "test-bb" { + value 235; + description + "testbb"; + } + enum "test-df" { + value 236; + description + "testdf"; + } + enum "test-cf" { + value 237; + description + "testcf"; + } + enum "test-bf" { + value 238; + description + "testbf"; + } + enum "test-af" { + value 239; + description + "testaf"; + } + enum "test-cz" { + value 240; + description + "testcz"; + } + enum "test-ax" { + value 241; + description + "testax"; + } + enum "test-ay" { + value 242; + description + "testay"; + } + enum "test-ef" { + value 243; + description + "testef"; + } + enum "test-ff" { + value 244; + description + "testff"; + } + enum "test-npurc" { + value 245; + description + "testnpurc"; + } + enum "test-gf" { + value 246; + description + "testgf"; + } + enum "test-eastwestscheduling" { + value 247; + description + "testeastwestscheduling"; + } + enum "test-transnh" { + value 248; + description + "testtransnh"; + } + enum "test-eth-port" { + value 249; + description + "testethport"; + } + enum "test-eastwest" { + value 250; + description + "testeastwest"; + } + enum "test-ifstats" { + value 251; + description + "testifstats"; + } + enum "test-async-oor" { + value 252; + description + "testasyncoor"; + } + enum "test-async-db" { + value 253; + description + "testasyncdb"; + } + enum "test-syncmcas-too-r" { + value 254; + description + "testsyncmcastoor"; + } + enum "test-syncdeviceoor" { + value 255; + description + "testsyncdeviceoor"; + } + enum "test-az" { + value 256; + description + "testaz"; + } + enum "test-by" { + value 257; + description + "testby"; + } + enum "police-r-group" { + value 258; + description + "policergroup"; + } + enum "meter-profile" { + value 259; + description + "meterprofile"; + } + enum "acl-mirror" { + value 260; + description + "acl mirror"; + } + enum "meter-action-profile" { + value 261; + description + "meteractionprofile"; + } + enum "voqrm" { + value 262; + description + "voqrm"; + } + enum "port-wfq-profile" { + value 263; + description + "portwfqprofile"; + } + enum "rpfif" { + value 264; + description + "rpfif"; + } + enum "brmac" { + value 265; + description + "brmac"; + } + enum "br-static-mac" { + value 266; + description + "brstaticmac"; + } + enum "xconnect" { + value 267; + description + "xconnect"; + } + enum "bridge" { + value 268; + description + "bridge"; + } + enum "pwe-port" { + value 269; + description + "pweport"; + } + enum "olist" { + value 270; + description + "olist"; + } + enum "lsmprotect" { + value 271; + description + "lsmprotect"; + } + enum "monitor-session" { + value 272; + description + "monitorsession"; + } + enum "monitor-session-stats" { + value 273; + description + "monitorsessionstats"; + } + enum "mplsmcast" { + value 274; + description + "mplsmcast"; + } + enum "l2ifstats" { + value 275; + description + "l2ifstats"; + } + enum "imlnh" { + value 276; + description + "imlnh"; + } + enum "evinh" { + value 277; + description + "evinh"; + } + enum "member-list" { + value 278; + description + "memberlist"; + } + enum "test-oor" { + value 279; + description + "testoor"; + } + enum "hwre-source-s-oor" { + value 280; + description + "hwresources oor"; + } + enum "qospfcstats" { + value 281; + description + "qospfcstats"; + } + enum "pfctc" { + value 282; + description + "pfctc"; + } + enum "pfc-watchdog" { + value 283; + description + "pfc watchdog"; + } + enum "qos-shared" { + value 284; + description + "qosshared"; + } + enum "ecntxstats" { + value 285; + description + "ecntxstats"; + } + enum "tm-remote-credit" { + value 286; + description + "tmremotecredit"; + } + enum "ipmcole" { + value 287; + description + "ipmcole"; + } + enum "ip6mcole" { + value 288; + description + "ip6mcole"; + } + enum "pbr" { + value 289; + description + "pbr"; + } + enum "pbrstats" { + value 290; + description + "pbrstats"; + } + enum "punt-stormcontrol" { + value 291; + description + "puntstormcontrol"; + } + enum "ip6mcrxstats" { + value 292; + description + "ip6mcrxstats"; + } + enum "ipmctxintf" { + value 293; + description + "ipmctxintf"; + } + enum "ipmc-mdt-encap" { + value 294; + description + "ipmcmdtencap"; + } + enum "ipmc-mdt-decap" { + value 295; + description + "ipmcmdtdecap"; + } + enum "op2tap" { + value 296; + description + "op2tap"; + } + enum "mplsole" { + value 297; + description + "mplsole"; + } + enum "syncrpc" { + value 298; + description + "syncrpc"; + } + enum "tnlstats" { + value 299; + description + "tnlstats"; + } + enum "l2dhcp" { + value 300; + description + "l2dhcp"; + } + enum "pbrsbf" { + value 301; + description + "pbrsbf"; + } + enum "statsrpc" { + value 302; + description + "statsrpc"; + } + enum "oglpts" { + value 303; + description + "oglpts"; + } + enum "oglpts-prefix" { + value 304; + description + "oglptsprefix"; + } + enum "og6lpts-prefix" { + value 305; + description + "og6lptsprefix"; + } + enum "stormcontrol" { + value 306; + description + "stormcontrol"; + } + enum "acl-police-r" { + value 307; + description + "aclpolicer"; + } + enum "acl-police-rstats" { + value 308; + description + "aclpolicerstats"; + } + enum "aclkey-profile" { + value 309; + description + "aclkeyprofile"; + } + enum "acl-action-profile" { + value 310; + description + "aclactionprofile"; + } + enum "dummytable" { + value 311; + description + "dummytable"; + } + enum "ip-sub" { + value 312; + description + "ipsub"; + } + enum "dot1x-mac" { + value 313; + description + "dot1x mac"; + } + enum "eoam" { + value 314; + description + "eoam"; + } + enum "featacl-group" { + value 315; + description + "feataclgroup"; + } + enum "pfcwdstats" { + value 316; + description + "pfcwdstats"; + } + enum "pktmemresmon" { + value 317; + description + "pktmemresmon"; + } + enum "iptnldecapsaf" { + value 318; + description + "iptnldecapsaf"; + } + enum "test-oorsequence" { + value 319; + description + "testoorsequence"; + } + } + description + "Ofa table"; + } + + container ofa { + config false; + description + "OFA Data"; + container stats { + description + "OFA Stats Data"; + container nodes { + description + "OFA data for available nodes"; + list node { + key "node-name"; + description + "OFA operational data for a particular node"; + container table-datas { + description + "OFA Resources table"; + list table-data { + key "resource"; + description + "OFA Resources table"; + leaf resource { + type Ofa-table; + description + "Resource type"; + } + uses OFA-NPD-SYSDB-TABLE-RESOURCE; + } + } + leaf node-name { + type xr:Node-id; + description + "Node ID"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-cfg.yang new file mode 100644 index 000000000..778c0fd2a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-cfg.yang @@ -0,0 +1,6474 @@ +module Cisco-IOS-XR-pmengine-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-cfg"; + prefix pmengine-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pmengine package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-17 { + description + "Added config support for Host PM parameters in FEC layer."; + semver:module-version "3.1.1M"; + } + revision 2021-07-09 { + description + "Support added for cem layer. Containers second30cem, minute15cem and hour24cem added. + 2021-04-26 + Support added for E1 controller. + 2021-02-24 + Support added for fc layer. Containers second30fc, minute15fc and hour24fc added."; + semver:module-version "3.1.0"; + } + revision 2020-04-17 { + description + "Added Instantaneous Q Margin in fec layer. + 2020-04-07 + Threshold and report config support provided for OTU PRBS layer parameters."; + semver:module-version "3.0.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Secyif-report { + type enumeration { + enum "report-if-inpkts-untagged" { + value 134217728; + description + "PM SECYIF if InPktsUntagged report"; + } + enum "report-if-inpkts-not-ag" { + value 134217729; + description + "PM SECYIF if InPktsNoTag report"; + } + enum "report-if-inpktsbadtag" { + value 134217730; + description + "PM SECYIF if InPktsBadTag report"; + } + enum "report-if-inpkts-unknown-sci" { + value 134217731; + description + "PM SECYIF if InPktsUnknownSCI report"; + } + enum "report-if-inpktsnosci" { + value 134217732; + description + "PM SECYIF if InPktsNoSCI report"; + } + enum "report-if-inpkts-overrun" { + value 134217733; + description + "PM SECYIF if InPktsOverrun report"; + } + enum "report-if-inoctets-validate-d" { + value 134217734; + description + "PM SECYIF if InOctetsValidated report"; + } + enum "report-if-inoctetsdecrypted" { + value 134217735; + description + "PM SECYIF if InOctetsDecrypted report"; + } + enum "report-if-outpkts-untagged" { + value 134217736; + description + "PM SECYIF if OutPktsUntagged report"; + } + enum "report-if-outpkts-too-long" { + value 134217737; + description + "PM SECYIF if OutPktsTooLong report"; + } + enum "report-if-outoctetsprotected" { + value 134217738; + description + "PM SECYIF if OutOctetsProtected report"; + } + enum "report-if-outoctetsencrypted" { + value 134217739; + description + "PM SECYIF if OutOctetsEncrypted report"; + } + } + description + "Secyif report"; + } + + typedef Gfp-report { + type enumeration { + enum "report-rx-bit-err" { + value 6291456; + description + "PM GFP rx bit err report"; + } + enum "report-rx-inv-typ" { + value 6291457; + description + "PM GFP rx inv type report"; + } + enum "report-rx-crc" { + value 6291458; + description + "PM GFP rx crc report"; + } + enum "report-rx-lfd" { + value 6291459; + description + "PM GFP rx lfd report"; + } + enum "report-rx-csf" { + value 6291460; + description + "PM GFP rx csf report"; + } + } + description + "Gfp report"; + } + + typedef Pcs-threshold { + type enumeration { + enum "thresh-bip" { + value 100663296; + description + "PM PCS Bip thresh"; + } + enum "thresh-frm-err" { + value 100663297; + description + "PM PCS frm-err thresh"; + } + enum "thresh-bad-sh" { + value 100663298; + description + "PM PCS bad-sh thresh"; + } + enum "thresh-es" { + value 100663299; + description + "PM PCS es thresh"; + } + enum "thresh-ses" { + value 100663300; + description + "PM PCS ses thresh"; + } + enum "thresh-uas" { + value 100663301; + description + "PM PCS uas thresh"; + } + enum "thresh-es-fe" { + value 100663302; + description + "PM PCS es-fe thresh"; + } + enum "thresh-ses-fe" { + value 100663303; + description + "PM PCS ses-fe thresh"; + } + enum "thresh-uas-fe" { + value 100663304; + description + "PM PCS uas-fe thresh"; + } + } + description + "Pcs threshold"; + } + + typedef Ho-vc-threshold { + type enumeration { + enum "thresh-eb" { + value 33554432; + description + "PM EB threshold"; + } + enum "thresh-es" { + value 33554433; + description + "PM ES threshold"; + } + enum "thresh-esr" { + value 33554434; + description + "PM ESR threshold"; + } + enum "thresh-ses" { + value 33554435; + description + "PM SES threshold"; + } + enum "thresh-sesr" { + value 33554436; + description + "PM SESR threshold"; + } + enum "thresh-bbe" { + value 33554437; + description + "PM BBE threshold"; + } + enum "thresh-bber" { + value 33554438; + description + "PM BBER threshold"; + } + enum "thresh-uass" { + value 33554439; + description + "PM UASS threshold"; + } + } + description + "Ho vc threshold"; + } + + typedef Ether-threshold { + type enumeration { + enum "thresh-rx-pkt" { + value 8388608; + description + "PM Ether rx pkt threshold"; + } + enum "thresh-rx-util" { + value 8388609; + description + "PM Ether rx util threshold"; + } + enum "thresh-tx-util" { + value 8388610; + description + "PM Ether tx util threshold"; + } + enum "thresh-stat-pkt" { + value 8388611; + description + "PM ether stat pkt threshold"; + } + enum "thresh-octet-stat" { + value 8388612; + description + "PM Ether octet stat threshold"; + } + enum "thresh-over-size-pkt" { + value 8388613; + description + "PM Ether oversize pkt threshold"; + } + enum "thresh-fcs-err" { + value 8388614; + description + "PMEther fcs error threshold"; + } + enum "thresh-long-frame-s" { + value 8388615; + description + "PM Ether long frames threshold"; + } + enum "thresh-jabber-stats" { + value 8388616; + description + "PM Ether jabber stats threshold"; + } + enum "thresh-64-octet" { + value 8388617; + description + "PM Ether 64 octet threshold"; + } + enum "thresh-65-127-octet" { + value 8388618; + description + "PM Ether 65 to 127 octet threshold"; + } + enum "thresh-128-255-octet" { + value 8388619; + description + "PM Ether 128 to 255 octet threshold"; + } + enum "thresh-256-511-octet" { + value 8388620; + description + "PM Ether 256 to 511 octet threshold"; + } + enum "thresh-512-1023-octet" { + value 8388621; + description + "PM Ether 512 to 1023 octet threshold"; + } + enum "thresh-1024-1518-octet" { + value 8388622; + description + "PM Ether 1024 to 1518 threshold"; + } + enum "thresh-in-ucast" { + value 8388623; + description + "PM Ether rx ucast threshold"; + } + enum "thresh-in-mcast" { + value 8388624; + description + "PM Ether rx mcast threshold"; + } + enum "thresh-in-bcast" { + value 8388625; + description + "PM Ether rx bcast threshold"; + } + enum "thresh-out-ucast" { + value 8388626; + description + "PM Ether tx ucast threshold"; + } + enum "thresh-out-mcast" { + value 8388627; + description + "PM Ether tx mcast threshold"; + } + enum "thresh-out-bcast" { + value 8388628; + description + "PM Ether tx bcast threshold"; + } + enum "thresh-tx-pkt" { + value 8388629; + description + "PM Ether tx pkt threshold"; + } + enum "thresh-ifin-error-s" { + value 8388630; + description + "PM ether ifIn errors threshold"; + } + enum "thresh-ifin-octets" { + value 8388631; + description + "PM ether ifInOctets threshold"; + } + enum "thresh-ether-stat-multicast-pkt" { + value 8388632; + description + "PM ether stat multicast pkt threshold"; + } + enum "thresh-ether-stat-broadcast-pkt" { + value 8388633; + description + "PM ether stat broadcast pkt threshold"; + } + enum "thresh-ether-stat-under-size-d-pkt" { + value 8388634; + description + "PM ether stat undersized pkt threshold"; + } + enum "thresh-out-octet" { + value 8388635; + description + "PM ether out octets threshold"; + } + enum "thresh-in-pause-frame" { + value 8388636; + description + "PM in pause frame threshold"; + } + enum "thresh-in-go-od-bytes" { + value 8388637; + description + "PM in good bytes threshold"; + } + enum "thresh-in-802-1q-frame-s" { + value 8388638; + description + "PM in 802_1 Q threshold"; + } + enum "thresh-in-pkts-1519-max-octets" { + value 8388639; + description + "PM in pkts 1519 max octets threshold"; + } + enum "thresh-in-go-od-pkts" { + value 8388640; + description + "PM in good pkts threshold"; + } + enum "thresh-in-drop-overrun" { + value 8388641; + description + "PM in drop overrun threshold"; + } + enum "thresh-in-drop-abort" { + value 8388642; + description + "PM in drop abort threshold"; + } + enum "thresh-in-drop-invalid-vlan" { + value 8388643; + description + "PM in drop invalid vlan threshold"; + } + enum "thresh-in-drop-invalid-dmac" { + value 8388644; + description + "PM in drop invalid DMAC threshold"; + } + enum "thresh-in-drop-invalid-encap" { + value 8388645; + description + "PM in drop invalid encap threshold"; + } + enum "thresh-in-drop-other" { + value 8388646; + description + "PM in drop other threshold"; + } + enum "thresh-in-mib-giant" { + value 8388647; + description + "PM in MIB giant threshold"; + } + enum "thresh-in-mib-jabber" { + value 8388648; + description + "PM in MIB jabber threshold"; + } + enum "thresh-in-mib-crc" { + value 8388649; + description + "PM in MIB CRC threshold"; + } + enum "thresh-in-error-collision-s" { + value 8388650; + description + "PM in error collisions threshold"; + } + enum "thresh-in-error-symbol" { + value 8388651; + description + "PM in error symbol threshold"; + } + enum "thresh-out-go-od-bytes" { + value 8388652; + description + "PM out good bytes threshold"; + } + enum "thresh-out-802-1q-frame-s" { + value 8388653; + description + "PM out 802_1 Q threshold"; + } + enum "thresh-out-pause-frame-s" { + value 8388654; + description + "PM out pause frame threshold"; + } + enum "thresh-out-pkts-1519-max-octets" { + value 8388655; + description + "PM out pkts 1519 max octets threshold"; + } + enum "thresh-out-go-od-pkts" { + value 8388656; + description + "PM out good pkts threshold"; + } + enum "thresh-out-drop-under-run" { + value 8388657; + description + "PM out drop underrun threshold"; + } + enum "thresh-out-drop-abort" { + value 8388658; + description + "PM out drop abort threshold"; + } + enum "thresh-out-drop-other" { + value 8388659; + description + "PM out drop other threshold"; + } + enum "thresh-out-error-other" { + value 8388660; + description + "PM out error other threshold"; + } + enum "thresh-in-error-giant" { + value 8388661; + description + "PM in error giant threshold"; + } + enum "thresh-in-error-runt" { + value 8388662; + description + "PM in error runt threshold"; + } + enum "thresh-in-error-jabbers" { + value 8388663; + description + "PM in error jabber threshold"; + } + enum "thresh-in-error-fragments" { + value 8388664; + description + "PM in error fragments threshold"; + } + enum "thresh-in-error-other" { + value 8388665; + description + "PM in error other threshold"; + } + enum "thresh-in-pkt-64-octet" { + value 8388666; + description + "PM in pkt 64 octet threshold"; + } + enum "thresh-in-pkts-65-127octets" { + value 8388667; + description + "PM in pkts 65_127 octets threshold"; + } + enum "thresh-in-pkts-128-255-octets" { + value 8388668; + description + "PM in pkts 128_255 octets threshold"; + } + enum "thresh-in-pkts-256-511-octets" { + value 8388669; + description + "PM in pkts 256_511 octets threshold"; + } + enum "thresh-in-pkts-512-1023-octets" { + value 8388670; + description + "PM in pkts 512_1023 octets threshold"; + } + enum "thresh-in-pkts-1024-1518-octets" { + value 8388671; + description + "PM in pkts 1024_1058 octets threshold"; + } + enum "thresh-out-pkt-64-octet" { + value 8388672; + description + "PM out pkt 64 octet threshold"; + } + enum "thresh-out-pkts-65-127octets" { + value 8388673; + description + "PM out pkts 65_127 octets threshold"; + } + enum "thresh-out-pkts-128-255-octets" { + value 8388674; + description + "PM out pkts 128_255 octets threshold"; + } + enum "thresh-out-pkts-256-511-octets" { + value 8388675; + description + "PM out pkts 256_511 octets threshold"; + } + enum "thresh-out-pkts-512-1023-octets" { + value 8388676; + description + "PM out pkts 512_1023 octets threshold"; + } + enum "thresh-out-pkts-1024-1518-octets" { + value 8388677; + description + "PM out pkts 1024_1058 octets threshold"; + } + enum "thresh-tx-under-size-d-pkt" { + value 8388678; + description + "PM tx undersized pkt threshold"; + } + enum "thresh-tx-over-size-d-pkt" { + value 8388679; + description + "PM tx oversized pkt threshold"; + } + enum "thresh-tx-fragments" { + value 8388680; + description + "PM tx fragments threshold"; + } + enum "thresh-tx-jabber" { + value 8388681; + description + "PM tx jabber threshold"; + } + enum "thresh-tx-bad-fcs" { + value 8388682; + description + "PM tx bad fcs threshold"; + } + } + description + "Ether threshold"; + } + + typedef Path-threshold { + type enumeration { + enum "thresh-cv" { + value 5242880; + description + "PM CV threshold"; + } + enum "thresh-es" { + value 5242881; + description + "PM ES threshold"; + } + enum "thresh-ses" { + value 5242882; + description + "PM SES threshold"; + } + enum "thresh-uas" { + value 5242883; + description + "PM UAS threshold"; + } + } + description + "Path threshold"; + } + + typedef Fc-report { + type enumeration { + enum "report-ifin-octets" { + value 20971520; + description + "PM FC ifIn-Octets report"; + } + enum "report-rx-pkts" { + value 20971521; + description + "PM FC rx-pkt report"; + } + enum "report-ifin-error-s" { + value 20971522; + description + "PM FC ifIn-Errors report"; + } + enum "report-rx-bad-fcs" { + value 20971523; + description + "PM FC rx-bad-fcs report"; + } + enum "report-ifout-octets" { + value 20971524; + description + "PM FC ifOut-Octets report"; + } + enum "report-tx-pkts" { + value 20971525; + description + "PM FC tx-pkt report"; + } + enum "report-tx-bad-fcs" { + value 20971526; + description + "PM FC tx-bad-fcs report"; + } + enum "report-rx-frame-s-too-long" { + value 20971527; + description + "PM FC rx-frames-too-long report"; + } + enum "report-rx-frame-s-trunc" { + value 20971528; + description + "PM FC rx-frames-trunc report"; + } + enum "report-tx-frame-s-too-long" { + value 20971529; + description + "PM FC tx-frames-too-long report"; + } + enum "report-tx-frame-s-trunc" { + value 20971530; + description + "PM FC tx-frames-trunc report"; + } + } + description + "Fc report"; + } + + typedef Sts-threshold { + type enumeration { + enum "thresh-cv" { + value 4194304; + description + "PM CV threshold"; + } + enum "thresh-es" { + value 4194305; + description + "PM ES threshold"; + } + enum "thresh-ses" { + value 4194306; + description + "PM SES threshold"; + } + enum "thresh-uas" { + value 4194307; + description + "PM UAS threshold"; + } + } + description + "Sts threshold"; + } + + typedef Secytx-report { + type enumeration { + enum "report-tx-outpktsprotected" { + value 150994944; + description + "PM SECYTX tx OutPktsProtected report"; + } + enum "report-tx-outpktsencrypted" { + value 150994945; + description + "PM SECYTX tx OutPktsEncrypted report"; + } + enum "report-tx-outoctetsprotected" { + value 150994946; + description + "PM SECYTX tx OutOctetsProtected report"; + } + enum "report-tx-outoctetsencrypted" { + value 150994947; + description + "PM SECYTX tx OutOctetsEncrypted report"; + } + enum "report-tx-outpkts-too-long" { + value 150994948; + description + "PM SECYTX tx OutPktsTooLong report"; + } + } + description + "Secytx report"; + } + + typedef Prbs-threshold { + type enumeration { + enum "thresh-ebc" { + value 17825792; + description + "PM Prbs ebc threshold"; + } + enum "thresh-found-count" { + value 17825793; + description + "PM Prbs found count threshold"; + } + enum "thresh-lost-count" { + value 17825794; + description + "PM Prbs lost count threshold"; + } + } + description + "Prbs threshold"; + } + + typedef Cem-report { + type enumeration { + enum "report-missing-pkts" { + value 24117248; + description + "PM CEM missing-pkts report"; + } + enum "report-pkts-re-order" { + value 24117249; + description + "PM CEM pkts-reorder report"; + } + enum "report-jtr-bfr-under" { + value 24117250; + description + "PM CEM jtr-bfr-underrun report"; + } + enum "report-mis-order-drop" { + value 24117251; + description + "PM CEM mis-order-drop report"; + } + enum "report-malformed-pkt" { + value 24117252; + description + "PM CEM malformed-pkts report"; + } + enum "report-es" { + value 24117253; + description + "PM CEM ES report"; + } + enum "report-ses" { + value 24117254; + description + "PM CEM SES report"; + } + enum "report-uas" { + value 24117255; + description + "PM CEM UAS report"; + } + enum "report-fc" { + value 24117256; + description + "PM CEM FC report"; + } + enum "report-input-errs" { + value 24117257; + description + "PM CEM input-errs report"; + } + enum "report-output-errs" { + value 24117258; + description + "PM CEM output-errs report"; + } + enum "report-jtr-bfr-over" { + value 24117259; + description + "PM CEM jtr-bfr-overruns report"; + } + enum "report-tx-lbits" { + value 24117260; + description + "PM CEM tx-lbits report"; + } + enum "report-tx-rbits" { + value 24117261; + description + "PM CEM tx-rbits report"; + } + enum "report-rx-lbits" { + value 24117262; + description + "PM CEM rx-lbits report"; + } + enum "report-rx-rbits" { + value 24117263; + description + "PM CEM rx-rbits report"; + } + enum "report-in-pkts" { + value 24117264; + description + "PM CEM ingress-pkts report"; + } + enum "report-eg-pkts" { + value 24117265; + description + "PM CEM egress-pkts report"; + } + enum "report-in-pkts-drop" { + value 24117266; + description + "PM CEM ingress-pkts-dropped report"; + } + enum "report-eg-pkts-drop" { + value 24117267; + description + "PM CEM egress-pkts-dropped report"; + } + } + description + "Cem report"; + } + + typedef Ocn-report { + type enumeration { + enum "report-sefss" { + value 3145728; + description + "PM SEFSS threshold"; + } + enum "report-cvs" { + value 3145729; + description + "PM CVS threshold"; + } + enum "report-ess" { + value 3145730; + description + "PM ESS threshold"; + } + enum "report-sess" { + value 3145731; + description + "PM SESS threshold"; + } + enum "report-cvl-ne" { + value 3145734; + description + "PM CVL-NE threshold"; + } + enum "report-esl-ne" { + value 3145735; + description + "PM ESL-NE threshold"; + } + enum "report-sesl-ne" { + value 3145736; + description + "PM SESL-NE threshold"; + } + enum "report-uasl-ne" { + value 3145738; + description + "PM UASL-NE threshold"; + } + enum "report-fcl-ne" { + value 3145739; + description + "PM FCL-NE threshold"; + } + enum "report-fcl-fe" { + value 3145751; + description + "PM FCL_FE threshold"; + } + enum "report-cvl-fe" { + value 3145752; + description + "PM CVL-FE threshold"; + } + enum "report-esl-fe" { + value 3145753; + description + "PM ESL_FE threshold"; + } + enum "report-sesl-fe" { + value 3145754; + description + "PM SESL_FE threshold"; + } + enum "report-uasl-fe" { + value 3145756; + description + "PM UASL_FEthreshold"; + } + } + description + "Ocn report"; + } + + typedef Ho-vc-report { + type enumeration { + enum "report-eb" { + value 33554432; + description + "PM EB report"; + } + enum "report-es" { + value 33554433; + description + "PM ES report"; + } + enum "report-esr" { + value 33554434; + description + "PM ESR report"; + } + enum "report-ses" { + value 33554435; + description + "PM SES report"; + } + enum "report-sesr" { + value 33554436; + description + "PM SESR report"; + } + enum "report-bbe" { + value 33554437; + description + "PM BBE report"; + } + enum "report-bber" { + value 33554438; + description + "PM BBER report"; + } + enum "report-uass" { + value 33554439; + description + "PM UASS report"; + } + } + description + "Ho vc report"; + } + + typedef Otnsec-report { + type enumeration { + enum "report-in-block-s" { + value 327680; + description + "PM OTNSEC Inblocks report"; + } + enum "report-in-block-senc" { + value 327681; + description + "PM OTNSEC InblocksEnc report"; + } + enum "report-in-block-sunencrypted" { + value 327682; + description + "PM OTNSEC InblocksUnEncrypted report"; + } + enum "report-in-block-sprotected" { + value 327683; + description + "PM OTNSEC InblocksProtected report"; + } + enum "report-in-block-sunprotected" { + value 327684; + description + "PM OTNSEC InblocksUnProtected report"; + } + enum "report-in-block-ssequence-error-s" { + value 327685; + description + "PM OTNSEC InblocksSequenceErrors report"; + } + enum "report-in-block-sreplay-error-s" { + value 327686; + description + "PM OTNSEC InblocksReplayErrors report"; + } + enum "report-in-block-sauth-error-s" { + value 327687; + description + "PM OTNSEC InblocksAuthErrors report"; + } + enum "report-in-block-s-zero-ed" { + value 327688; + description + "PM OTNSEC InblocksZeroed report"; + } + enum "report-out-block-s" { + value 327689; + description + "PM OTNSEC Outblocks report"; + } + enum "report-out-block-senc" { + value 327690; + description + "PM OTNSEC OutblocksEnc report"; + } + enum "report-out-block-sunencrypted" { + value 327691; + description + "PM OTNSEC OUTBLOCKSUNENCRYPTED report"; + } + enum "report-out-block-ssequence-error-s" { + value 327692; + description + "PM OTNSEC OutblocksSequenceErrors report"; + } + enum "report-out-block-s-zero-ed" { + value 327693; + description + "PM OTNSEC OutblocksZeroed report"; + } + enum "report-out-block-sprotected" { + value 327694; + description + "PM OTNSEC OutblocksProtected report"; + } + enum "report-out-block-sunprotected" { + value 327695; + description + "PM OTNSEC OutblocksUnProtected report"; + } + } + description + "Otnsec report"; + } + + typedef Otn-threshold { + type enumeration { + enum "thresh-es-sm-ne" { + value 262144; + description + "PM Otn es sm ne threshold"; + } + enum "thresh-ses-sm-ne" { + value 262145; + description + "PM Otn ses sm ne threshold"; + } + enum "thresh-uas-sm-ne" { + value 262146; + description + "PM Otn uas sm ne threshold"; + } + enum "thresh-bbe-sm-ne" { + value 262147; + description + "PM Otn bbe sm ne threshold"; + } + enum "thresh-fc-sm-ne" { + value 262148; + description + "PM Otn fc sm ne threshold"; + } + enum "thresh-esr-sm-ne" { + value 262149; + description + "PM Otn esr sm ne threshold"; + } + enum "thresh-sesr-sm-ne" { + value 262150; + description + "PM Otn sesr sm ne threshold"; + } + enum "thresh-bber-sm-ne" { + value 262151; + description + "PM Otn bber sm ne threshold"; + } + enum "thresh-es-pm-ne" { + value 524288; + description + "PM Otn es pm ne threshold"; + } + enum "thresh-ses-pm-ne" { + value 524289; + description + "PM Otn ses pm ne threshold"; + } + enum "thresh-uas-pm-ne" { + value 524290; + description + "PM Otn uas pm ne threshold"; + } + enum "thresh-bbe-pm-ne" { + value 524291; + description + "PM Otn bbe pm ne threshold"; + } + enum "thresh-fc-pm-ne" { + value 524292; + description + "PM Otn fc pm ne threshold"; + } + enum "thresh-esr-pm-ne" { + value 524293; + description + "PM Otn esr pm ne threshold"; + } + enum "thresh-sesr-pm-ne" { + value 524294; + description + "PM Otn sesr pm ne threshold"; + } + enum "thresh-bber-pm-ne" { + value 524295; + description + "PM Otn bber pm ne threshold"; + } + enum "thresh-es-sm-fe" { + value 1048584; + description + "PM Otn es sm fe threshold"; + } + enum "thresh-ses-sm-fe" { + value 1048585; + description + "PM Otn ses sm fe threshold"; + } + enum "thresh-uas-sm-fe" { + value 1048586; + description + "PM Otn uas sm fe threshold"; + } + enum "thresh-bbe-sm-fe" { + value 1048587; + description + "PM Otn bbe sm fe threshold"; + } + enum "thresh-fc-sm-fe" { + value 1048588; + description + "PM Otn fc sm fe threshold"; + } + enum "thresh-esr-sm-fe" { + value 1048589; + description + "PM Otn esr sm fe threshold"; + } + enum "thresh-sesr-sm-fe" { + value 1048590; + description + "PM Otn sesr sm fe threshold"; + } + enum "thresh-bber-sm-fe" { + value 1048591; + description + "PM Otn bber sm fe threshold"; + } + enum "thresh-es-pm-fe" { + value 2097160; + description + "PM Otn es pm fe threshold"; + } + enum "thresh-ses-pm-fe" { + value 2097161; + description + "PM Otn ses pm fe threshold"; + } + enum "thresh-uas-pm-fe" { + value 2097162; + description + "PM Otn uas pm fe threshold"; + } + enum "thresh-bbe-pm-fe" { + value 2097163; + description + "PM Otn bbe pm fe threshold"; + } + enum "thresh-fc-pm-fe" { + value 2097164; + description + "PM Otn fc pm fe threshold"; + } + enum "thresh-esr-pm-fe" { + value 2097165; + description + "PM Otn esr pm fe threshold"; + } + enum "thresh-sesr-pm-fe" { + value 2097166; + description + "PM Otn sesr pm fe threshold"; + } + enum "thresh-bber-pm-fe" { + value 2097167; + description + "PM Otn bber pm fe threshold"; + } + } + description + "Otn threshold"; + } + + typedef E1-report { + type enumeration { + enum "report-lcv" { + value 18874368; + description + "PM E1 lcv report"; + } + enum "report-pcv" { + value 18874369; + description + "PM E1 pcv report"; + } + enum "report-sels" { + value 18874370; + description + "PM E1 sels report"; + } + enum "report-les" { + value 18874371; + description + "PM E1 les report"; + } + enum "report-aiss-sef" { + value 18874372; + description + "PM E1 aiss-sef report"; + } + enum "report-fcp" { + value 18874373; + description + "PM E1 fcp report"; + } + enum "report-es" { + value 18874374; + description + "PM E1 es report"; + } + enum "report-ses" { + value 18874375; + description + "PM E1 ses report"; + } + enum "report-uas" { + value 18874376; + description + "PM E1 uas report"; + } + enum "report-es-fe" { + value 18874377; + description + "PM E1 es-fe report"; + } + enum "report-ses-fe" { + value 18874378; + description + "PM E1 ses-fe report"; + } + enum "report-uas-fe" { + value 18874379; + description + "PM E1 uas-fe report"; + } + } + description + "E1 report"; + } + + typedef Optics-threshold { + type enumeration { + enum "thresh-opt-min" { + value 65562; + description + "PM Optics opt min threshold in dbm or uW"; + } + enum "thresh-opr-min" { + value 65563; + description + "PM Optics opr min threshold in dbm or uW"; + } + enum "thresh-lbc-min" { + value 65564; + description + "PM Optics lbc min threshold"; + } + enum "thresh-lbc-pc-min" { + value 65565; + description + "PM Optics lbcpc min threshold"; + } + enum "thresh-cd-min" { + value 65569; + description + "PM Optics cd min threshold"; + } + enum "thresh-dgd-min" { + value 65570; + description + "PM Optics dgd min threshold"; + } + enum "thresh-pmd-min" { + value 65571; + description + "PM Optics sopmd min threshold"; + } + enum "thresh-osnr-min" { + value 65572; + description + "PM Optics osnr min threshold"; + } + enum "thresh-pdl-min" { + value 65573; + description + "PM Optics pdl min threshold"; + } + enum "thresh-pcr-min" { + value 65574; + description + "PM Optics pcr min threshold"; + } + enum "thresh-pn-min" { + value 65575; + description + "PM Optics pn min threshold"; + } + enum "thresh-rx-sig-pow-min" { + value 65576; + description + "PM Optics rx sig pow min threshold"; + } + enum "thresh-low-sig-freq-off-min" { + value 65577; + description + "PM Optics low sig freq off min threshold"; + } + enum "thresh-ampli-gain-min" { + value 65578; + description + "PM Optics ampli gain min threshold"; + } + enum "thresh-ampli-gain-tilt-min" { + value 65579; + description + "PM Optics ampli gain tilt min threshold"; + } + enum "thresh-snr-min" { + value 65580; + description + "PM Optics snr min threshold"; + } + enum "thresh-snr-ax-min" { + value 65581; + description + "PM Optics snr ax min threshold"; + } + enum "thresh-snr-bx-min" { + value 65582; + description + "PM Optics snr bx min threshold"; + } + enum "thresh-snr-ay-min" { + value 65583; + description + "PM Optics snr ay min threshold"; + } + enum "thresh-snr-by-min" { + value 65584; + description + "PM Optics snr by min threshold"; + } + enum "thresh-sop-s1-min" { + value 65585; + description + "PM Optics sop s1 min threshold"; + } + enum "thresh-sop-s2-min" { + value 65586; + description + "PM Optics sop s2 min threshold"; + } + enum "thresh-sop-s3-min" { + value 65587; + description + "PM Optics sop s3 min threshold"; + } + enum "thresh-opt-max" { + value 65588; + description + "PM Optics opt max threshold in dbm or uW"; + } + enum "thresh-opr-max" { + value 65589; + description + "PM Optics opr max threshold in dbm or uW"; + } + enum "thresh-lbc-max" { + value 65590; + description + "PM Optics lbc max threshold"; + } + enum "thresh-lbc-pc-max" { + value 65591; + description + "PM Optics lbcpc max threshold"; + } + enum "thresh-cd-max" { + value 65595; + description + "PM Optics cd max threshold"; + } + enum "thresh-dgd-max" { + value 65596; + description + "PM Optics dgd max threshold"; + } + enum "thresh-pmd-max" { + value 65597; + description + "PM Optics sopmd max threshold"; + } + enum "thresh-osnr-max" { + value 65598; + description + "PM Optics osnr max threshold"; + } + enum "thresh-pdl-max" { + value 65599; + description + "PM Optics pdl max threshold"; + } + enum "thresh-pcr-max" { + value 65600; + description + "PM Optics pcr max threshold"; + } + enum "thresh-pn-max" { + value 65601; + description + "PM Optics pn max threshold"; + } + enum "thresh-rx-sig-pow-max" { + value 65602; + description + "PM Optics rx sig pow max threshold"; + } + enum "thresh-low-sig-freq-off-max" { + value 65603; + description + "PM Optics low sig freq off max threshold"; + } + enum "thresh-ampli-gain-max" { + value 65604; + description + "PM Optics ampli gain max threshold"; + } + enum "thresh-ampli-gain-tilt-max" { + value 65605; + description + "PM Optics ampli gain tilt max threshold"; + } + enum "thresh-snr-max" { + value 65606; + description + "PM Optics snr max threshold"; + } + enum "thresh-snr-ax-max" { + value 65607; + description + "PM Optics snr ax max threshold"; + } + enum "thresh-snr-bx-max" { + value 65608; + description + "PM Optics snr bx max threshold"; + } + enum "thresh-snr-ay-max" { + value 65609; + description + "PM Optics snr ay max threshold"; + } + enum "thresh-snr-by-max" { + value 65610; + description + "PM Optics snr by max threshold"; + } + enum "thresh-sop-s1-max" { + value 65611; + description + "PM Optics sop s1 max threshold"; + } + enum "thresh-sop-s2-max" { + value 65612; + description + "PM Optics sop s2 max threshold"; + } + enum "thresh-sop-s3-max" { + value 65613; + description + "PM Optics sop s3 max threshold"; + } + } + description + "Optics threshold"; + } + + typedef Ocn-threshold { + type enumeration { + enum "thresh-sefss" { + value 3145728; + description + "PM SEFSS threshold"; + } + enum "thresh-cvs" { + value 3145729; + description + "PM CVS threshold"; + } + enum "thresh-ess" { + value 3145730; + description + "PM ESS threshold"; + } + enum "thresh-sess" { + value 3145731; + description + "PM SESS threshold"; + } + enum "thresh-cvl-ne" { + value 3145734; + description + "PM CVL-NE threshold"; + } + enum "thresh-esl-ne" { + value 3145735; + description + "PM ESL-NE threshold"; + } + enum "thresh-sesl-ne" { + value 3145736; + description + "PM SESL-NE threshold"; + } + enum "thresh-uasl-ne" { + value 3145738; + description + "PM UASL-NE threshold"; + } + enum "thresh-fcl-ne" { + value 3145739; + description + "PM FCL-NE threshold"; + } + enum "thresh-fcl-fe" { + value 3145751; + description + "PM FCL_FE threshold"; + } + enum "thresh-cvl-fe" { + value 3145752; + description + "PM CVL-FE threshold"; + } + enum "thresh-esl-fe" { + value 3145753; + description + "PM ESL_FE threshold"; + } + enum "thresh-sesl-fe" { + value 3145754; + description + "PM SESL_FE threshold"; + } + enum "thresh-uasl-fe" { + value 3145756; + description + "PM UASL_FEthreshold"; + } + } + description + "Ocn threshold"; + } + + typedef E1-threshold { + type enumeration { + enum "thresh-lcv" { + value 18874368; + description + "PM E1 lcv thresh"; + } + enum "thresh-pcv" { + value 18874369; + description + "PM E1 pcv thresh"; + } + enum "thresh-sels" { + value 18874370; + description + "PM E1 sels thresh"; + } + enum "thresh-les" { + value 18874371; + description + "PM E1 les thresh"; + } + enum "thresh-aiss-sef" { + value 18874372; + description + "PM E1 aiss-sef thresh"; + } + enum "thresh-fcp" { + value 18874373; + description + "PM E1 fcp thresh"; + } + enum "thresh-es" { + value 18874374; + description + "PM E1 es thresh"; + } + enum "thresh-ses" { + value 18874375; + description + "PM E1 ses thresh"; + } + enum "thresh-uas" { + value 18874376; + description + "PM E1 uas thresh"; + } + enum "thresh-es-fe" { + value 18874377; + description + "PM E1 es-fe thresh"; + } + enum "thresh-ses-fe" { + value 18874378; + description + "PM E1 ses-fe thresh"; + } + enum "thresh-uas-fe" { + value 18874379; + description + "PM E1 uas-fe thresh"; + } + } + description + "E1 threshold"; + } + + typedef Otnsec-threshold { + type enumeration { + enum "thresh-in-block-s" { + value 327680; + description + "PM OTNSEC Inblocks thresh"; + } + enum "thresh-in-block-senc" { + value 327681; + description + "PM OTNSEC InblocksEnc thresh"; + } + enum "thresh-in-block-sunencrypted" { + value 327682; + description + "PM OTNSEC InblocksUnEncrypted thresh"; + } + enum "thresh-in-block-sprotected" { + value 327683; + description + "PM OTNSEC InblocksProtected thresh"; + } + enum "thresh-in-block-sunprotected" { + value 327684; + description + "PM OTNSEC InblocksUnProtected thresh"; + } + enum "thresh-in-block-ssequence-error-s" { + value 327685; + description + "PM OTNSEC InblocksSequenceErrors thresh"; + } + enum "thresh-in-block-sreplay-error-s" { + value 327686; + description + "PM OTNSEC InblocksReplayErrors thresh"; + } + enum "thresh-in-block-sauth-error-s" { + value 327687; + description + "PM OTNSEC InblocksAuthErrors thresh"; + } + enum "thresh-in-block-s-zero-ed" { + value 327688; + description + "PM OTNSEC InblocksZeroed thresh"; + } + enum "thresh-out-block-s" { + value 327689; + description + "PM OTNSEC Outblocks thresh"; + } + enum "thresh-out-block-senc" { + value 327690; + description + "PM OTNSEC OutblocksEnc thresh"; + } + enum "thresh-out-block-sunencrypted" { + value 327691; + description + "PM OTNSEC OUTBLOCKSUNENCRYPTED thresh"; + } + enum "thresh-out-block-ssequence-error-s" { + value 327692; + description + "PM OTNSEC OutblocksSequenceErrors thresh"; + } + enum "thresh-out-block-s-zero-ed" { + value 327693; + description + "PM OTNSEC OutblocksZeroed thresh"; + } + enum "thresh-out-block-sprotected" { + value 327694; + description + "PM OTNSEC OutblocksProtected thresh"; + } + enum "thresh-out-block-sunprotected" { + value 327695; + description + "PM OTNSEC OutblocksUnProtected thresh"; + } + } + description + "Otnsec threshold"; + } + + typedef Optics-report { + type enumeration { + enum "report-opt-min" { + value 65562; + description + "PM Optics opt min report"; + } + enum "report-opr-min" { + value 65563; + description + "PM Optics opr min report"; + } + enum "report-lbc-min" { + value 65564; + description + "PM Optics lbc min report"; + } + enum "report-lbc-pc-min" { + value 65565; + description + "PM Optics lbcpc min report"; + } + enum "report-cd-min" { + value 65569; + description + "PM Optics cd min report"; + } + enum "report-dgd-min" { + value 65570; + description + "PM Optics dgd min report"; + } + enum "report-pmd-min" { + value 65571; + description + "PM Optics sopmd min report"; + } + enum "report-osnr-min" { + value 65572; + description + "PM Optics osnr min report"; + } + enum "report-pdl-min" { + value 65573; + description + "PM Optics pdl min report"; + } + enum "report-pcr-min" { + value 65574; + description + "PM Optics pcr min report"; + } + enum "report-pn-min" { + value 65575; + description + "PM Optics pn min report"; + } + enum "report-rx-sig-pow-min" { + value 65576; + description + "PM Optics rx sig pow min report"; + } + enum "report-low-sig-freq-off-min" { + value 65577; + description + "PM Optics low sig freq off min report"; + } + enum "report-ampli-gain-min" { + value 65578; + description + "PM Optics ampli gain min report"; + } + enum "report-ampli-gain-tilt-min" { + value 65579; + description + "PM Optics ampli gain tilt min report"; + } + enum "report-snr-min" { + value 65580; + description + "PM Optics snr min report"; + } + enum "report-snr-ax-min" { + value 65581; + description + "PM Optics snr ax min report"; + } + enum "report-snr-bx-min" { + value 65582; + description + "PM Optics snr bx min report"; + } + enum "report-snr-ay-min" { + value 65583; + description + "PM Optics snr ay min report"; + } + enum "report-snr-by-min" { + value 65584; + description + "PM Optics snr by min report"; + } + enum "report-sop-s1-min" { + value 65585; + description + "PM Optics sop s1 min report"; + } + enum "report-sop-s2-min" { + value 65586; + description + "PM Optics sop s2 min report"; + } + enum "report-sop-s3-min" { + value 65587; + description + "PM Optics sop s3 min report"; + } + enum "report-opt-max" { + value 65588; + description + "PM Optics opt max report"; + } + enum "report-opr-max" { + value 65589; + description + "PM Optics opr max report"; + } + enum "report-lbc-max" { + value 65590; + description + "PM Optics lbc max report"; + } + enum "report-lbc-pc-max" { + value 65591; + description + "PM Optics lbcpc max report"; + } + enum "report-cd-max" { + value 65595; + description + "PM Optics cd max report"; + } + enum "report-dgd-max" { + value 65596; + description + "PM Optics dgd max report"; + } + enum "report-pmd-max" { + value 65597; + description + "PM Optics sopmd max report"; + } + enum "report-osnr-max" { + value 65598; + description + "PM Optics osnr max report"; + } + enum "report-pdl-max" { + value 65599; + description + "PM Optics pdl max report"; + } + enum "report-pcr-max" { + value 65600; + description + "PM Optics pcr max report"; + } + enum "report-pn-max" { + value 65601; + description + "PM Optics pn max report"; + } + enum "report-rx-sig-pow-max" { + value 65602; + description + "PM Optics rx sig pow max report"; + } + enum "report-low-sig-freq-off-max" { + value 65603; + description + "PM Optics low sig freq off max report"; + } + enum "report-ampli-gain-max" { + value 65604; + description + "PM Optics ampli gain max report"; + } + enum "report-ampli-gain-tilt-max" { + value 65605; + description + "PM Optics ampli gain tilt max report"; + } + enum "report-snr-max" { + value 65606; + description + "PM Optics snr max report"; + } + enum "report-snr-ax-max" { + value 65607; + description + "PM Optics snr ax max report"; + } + enum "report-snr-bx-max" { + value 65608; + description + "PM Optics snr bx max report"; + } + enum "report-snr-ay-max" { + value 65609; + description + "PM Optics snr ay max report"; + } + enum "report-snr-by-max" { + value 65610; + description + "PM Optics snr by max report"; + } + enum "report-sop-s1-max" { + value 65611; + description + "PM Optics sop s1 max report"; + } + enum "report-sop-s2-max" { + value 65612; + description + "PM Optics sop s2 max report"; + } + enum "report-sop-s3-max" { + value 65613; + description + "PM Optics sop s3 max report"; + } + } + description + "Optics report"; + } + + typedef Ether-report { + type enumeration { + enum "report-rx-pkt" { + value 524288; + description + "PM Ether rx pkt report"; + } + enum "report-rx-util" { + value 524289; + description + "PM Ether rx util report"; + } + enum "report-tx-util" { + value 524290; + description + "PM Ether tx util report"; + } + enum "report-stat-pkt" { + value 524291; + description + "PM ether stat pkt threshold"; + } + enum "report-octet-stat" { + value 524292; + description + "PM Ether octet stat report"; + } + enum "report-over-size-pkt" { + value 524293; + description + "PM Ether oversize pkt report"; + } + enum "report-fcs-err" { + value 524294; + description + "PM Ether fcs error report"; + } + enum "report-long-frame-s" { + value 524295; + description + "PM Ether long frames report"; + } + enum "report-jabber-stats" { + value 524296; + description + "PM Ether jabber stats report"; + } + enum "report-64-octet" { + value 524297; + description + "PM Ether 64 octet report"; + } + enum "report-65-127-octet" { + value 524298; + description + "PM Ether 65 to 127 octet report"; + } + enum "report-128-255-octet" { + value 524299; + description + "PM Ether 128 to 255 octet report"; + } + enum "report-256-511-octet" { + value 524300; + description + "PM Ether 256 to 511 octet report"; + } + enum "report-512-1023-octet" { + value 524301; + description + "PM Ether 512 to 1023 octet report"; + } + enum "report-1024-1518-octet" { + value 524302; + description + "PM Ether 1024 to 1518 report"; + } + enum "report-in-ucast" { + value 524303; + description + "PM Ether rx ucast report"; + } + enum "report-in-mcast" { + value 524304; + description + "PM Ether rx mcast report"; + } + enum "report-in-bcast" { + value 524305; + description + "PM Ether rx bcast report"; + } + enum "report-out-ucast" { + value 524306; + description + "PM Ether tx ucast report"; + } + enum "report-out-mcast" { + value 524307; + description + "PM Ether tx mcast report"; + } + enum "report-out-bcast" { + value 524308; + description + "PM Ether tx bcast report"; + } + enum "report-tx-pkt" { + value 524309; + description + "PM Ether tx pkt threshold"; + } + enum "report-ifin-error-s" { + value 524310; + description + "PM ether ifIn errors threshold"; + } + enum "report-ifin-octets" { + value 524311; + description + "PM ether ifInOctets threshold"; + } + enum "report-ether-stat-multicast-pkt" { + value 524312; + description + "PM ether stat multicast pkt threshold"; + } + enum "report-ether-stat-broadcast-pkt" { + value 524313; + description + "PM ether stat broadcast pkt threshold"; + } + enum "report-ether-stat-under-size-d-pkt" { + value 524314; + description + "PM ether stat undersized pkt threshold"; + } + enum "report-out-octet" { + value 524315; + description + "PM ether out octets threshold"; + } + enum "report-in-pause-frame" { + value 524316; + description + "PM ether in pause frame report"; + } + enum "report-in-go-od-bytes" { + value 524317; + description + "PM in good bytes report"; + } + enum "report-in-802-1q-frame-s" { + value 524318; + description + "PM in 802_1 Q report"; + } + enum "report-in-pkts-1519-max-octets" { + value 524319; + description + "PM in pkts 1519 max octets report"; + } + enum "report-in-go-od-pkts" { + value 524320; + description + "PM in good pkts report"; + } + enum "report-in-drop-overrun" { + value 524321; + description + "PM in drop overrun report"; + } + enum "report-in-drop-abort" { + value 524322; + description + "PM in drop abort report"; + } + enum "report-in-drop-invalid-vlan" { + value 524323; + description + "PM in drop invalid vlan report"; + } + enum "report-in-drop-invalid-dmac" { + value 524324; + description + "PM in drop invalid DMAC report"; + } + enum "report-in-drop-invalid-encap" { + value 524325; + description + "PM in drop invalid encap report"; + } + enum "report-in-drop-other" { + value 524326; + description + "PM in drop other report"; + } + enum "report-in-mib-giant" { + value 524327; + description + "PM in MIB giant report"; + } + enum "report-in-mib-jabber" { + value 524328; + description + "PM in MIB jabber report"; + } + enum "report-in-mib-crc" { + value 524329; + description + "PM in MIB CRC report"; + } + enum "report-in-error-collision-s" { + value 524330; + description + "PM in error collisions report"; + } + enum "report-in-error-symbol" { + value 524331; + description + "PM in error symbol report"; + } + enum "report-out-go-od-bytes" { + value 524332; + description + "PM out good bytes report"; + } + enum "report-out-802-1q-frame-s" { + value 524333; + description + "PM out 802_1 Q report"; + } + enum "report-out-pause-frame-s" { + value 524334; + description + "PM out pause frame report"; + } + enum "report-out-pkts-1519-max-octets" { + value 524335; + description + "PM out pkts 1519 max octets report"; + } + enum "report-out-go-od-pkts" { + value 524336; + description + "PM out good pkts report"; + } + enum "report-out-drop-under-run" { + value 524337; + description + "PM out drop underrun report"; + } + enum "report-out-drop-abort" { + value 524338; + description + "PM out drop abort report"; + } + enum "report-out-drop-other" { + value 524339; + description + "PM out drop other report"; + } + enum "report-out-error-other" { + value 524340; + description + "PM out error other report"; + } + enum "report-in-error-giant" { + value 524341; + description + "PM in error giant report"; + } + enum "report-in-error-runt" { + value 524342; + description + "PM in error runt report"; + } + enum "report-in-error-jabbers" { + value 524343; + description + "PM in error jabber report"; + } + enum "report-in-error-fragments" { + value 524344; + description + "PM in error fragments report"; + } + enum "report-in-error-other" { + value 524345; + description + "PM in error other report"; + } + enum "report-in-pkt-64-octet" { + value 524346; + description + "PM in pkt 64 octet report"; + } + enum "report-in-pkts-65-127octets" { + value 524347; + description + "PM in pkts 65_127 octets report"; + } + enum "report-in-pkts-128-255-octets" { + value 524348; + description + "PM in pkts 128_255 octets report"; + } + enum "report-in-pkts-256-511-octets" { + value 524349; + description + "PM in pkts 256_511 octets report"; + } + enum "report-in-pkts-512-1023-octets" { + value 524350; + description + "PM in pkts 512_1023 octets report"; + } + enum "report-in-pkts-1024-1518-octets" { + value 524351; + description + "PM in pkts 1024_1058 octets report"; + } + enum "report-out-pkt-64-octet" { + value 524352; + description + "PM out pkt 64 octet report"; + } + enum "report-out-pkts-65-127octets" { + value 524353; + description + "PM out pkts 65_127 octets report"; + } + enum "report-out-pkts-128-255-octets" { + value 524354; + description + "PM out pkts 128_255 octets report"; + } + enum "report-out-pkts-256-511-octets" { + value 524355; + description + "PM out pkts 256_511 octets report"; + } + enum "report-out-pkts-512-1023-octets" { + value 524356; + description + "PM out pkts 512_1023 octets report"; + } + enum "report-out-pkts-1024-1518-octets" { + value 524357; + description + "PM out pkts 1024_1058 octets report"; + } + enum "report-tx-under-size-d-pkt" { + value 524358; + description + "PM tx undersized pkt report"; + } + enum "report-tx-over-size-d-pkt" { + value 524359; + description + "PM tx oversized pkt report"; + } + enum "report-tx-fragments" { + value 524360; + description + "PM tx fragments report"; + } + enum "report-tx-jabber" { + value 524361; + description + "PM tx jabber report"; + } + enum "report-tx-bad-fcs" { + value 524362; + description + "PM tx bad fcs report"; + } + } + description + "Ether report"; + } + + typedef Otn-tcm-report { + type enumeration { + enum "report-es-tcm-fe" { + value 16777224; + description + "PM Otn es TCM fe report"; + } + enum "report-ses-tcm-fe" { + value 16777225; + description + "PM Otn ses TCM fe report"; + } + enum "report-uas-tcm-fe" { + value 16777226; + description + "PM Otn uas TCM fe report"; + } + enum "report-bbe-tcm-fe" { + value 16777227; + description + "PM Otn bbe TCM fe report"; + } + enum "report-fc-tcm-fe" { + value 16777228; + description + "PM Otn fc TCM fe report"; + } + enum "report-esr-tcm-fe" { + value 16777229; + description + "PM Otn esr TCM fe report"; + } + enum "report-sesr-tcm-fe" { + value 16777230; + description + "PM Otn sesr TCM fe report"; + } + enum "report-bber-tcm-fe" { + value 16777231; + description + "PM Otn bber TCM fe report"; + } + enum "report-es-tcm-ne" { + value 33554432; + description + "PM Otn es TCM ne report"; + } + enum "report-ses-tcm-ne" { + value 33554433; + description + "PM Otn ses TCM ne report"; + } + enum "report-uas-tcm-ne" { + value 33554434; + description + "PM Otn uas TCM ne report"; + } + enum "report-bbe-tcm-ne" { + value 33554435; + description + "PM Otn bbe TCM ne report"; + } + enum "report-fc-tcm-ne" { + value 33554436; + description + "PM Otn fc TCM ne report"; + } + enum "report-esr-tcm-ne" { + value 33554437; + description + "PM Otn esr TCM ne report"; + } + enum "report-sesr-tcm-ne" { + value 33554438; + description + "PM Otn sesr TCM ne report"; + } + enum "report-bber-tcm-ne" { + value 33554439; + description + "PM Otn bber TCM ne report"; + } + } + description + "Otn tcm report"; + } + + typedef Fec-threshold { + type enumeration { + enum "thresh-ec-bits" { + value 131072; + description + "PM Fec ec bits threshold"; + } + enum "thresh-uc-words" { + value 131076; + description + "PM Fec uc words threshold"; + } + enum "thresh-ec-words" { + value 131077; + description + "PM Fec ec words threshold"; + } + enum "thresh-pre-fec-ber-max" { + value 131085; + description + "PM Fec pre-fe-ber max threshold"; + } + enum "thresh-post-fec-ber-max" { + value 131086; + description + "PM Fec post-fec-ber max threshold"; + } + enum "thresh-q-max" { + value 131087; + description + "PM Fec Q max threshold"; + } + enum "thresh-q-margin-max" { + value 131088; + description + "PM Fec uc words max threshold"; + } + enum "thresh-q-margin-inst-max" { + value 131089; + description + "PM Fec Q margin instantaneuos max threshold"; + } + enum "thresh-ber-lane-max" { + value 131090; + description + "PM Fec ber-lane max threshold"; + } + enum "thresh-ferc-lane-max" { + value 131091; + description + "PM Fec ferc-lane max threshold"; + } + enum "thresh-pre-fec-ber-min" { + value 131092; + description + "PM Fec pre-fe-ber min threshold"; + } + enum "thresh-post-fec-ber-min" { + value 131093; + description + "PM Fec post-fec-ber min threshold"; + } + enum "thresh-q-min" { + value 131094; + description + "PM Fec Q min threshold"; + } + enum "thresh-q-margin-min" { + value 131095; + description + "PM Fec uc words min threshold"; + } + enum "thresh-q-margin-inst-min" { + value 131096; + description + "PM Fec Q margin instantaneuos min threshold"; + } + enum "thresh-ber-lane-min" { + value 131097; + description + "PM Fec ber-lane min threshold"; + } + enum "thresh-ferc-lane-min" { + value 131098; + description + "PM Fec ferc-lane min threshold"; + } + } + description + "Fec threshold"; + } + + typedef Secyif-threshold { + type enumeration { + enum "thresh-if-inpkts-untagged" { + value 150994944; + description + "PM SECYIF if InPktsUntagged thresh"; + } + enum "thresh-if-inpkts-not-ag" { + value 150994945; + description + "PM SECYIF if InPktsNoTag thresh"; + } + enum "thresh-if-inpktsbadtag" { + value 150994946; + description + "PM SECYIF if InPktsBadTag thresh"; + } + enum "thresh-if-inpktsunkownsci" { + value 150994947; + description + "PM SECYIF if InPktsUnknownSCI thresh"; + } + enum "thresh-if-inpktsnosci" { + value 150994948; + description + "PM SECYIF if InPktsNoSCI thresh"; + } + enum "thresh-if-inpkts-overrun" { + value 150994949; + description + "PM SECYIF if InPktsOverrun thresh"; + } + enum "thresh-if-inoctets-validate-d" { + value 150994950; + description + "PM SECYIF if InOctetsValidated thresh"; + } + enum "thresh-if-inoctetsdecrypted" { + value 150994951; + description + "PM SECYIF if InOctetsDecrypted thresh"; + } + enum "thresh-if-outpkts-untagged" { + value 150994952; + description + "PM SECYIF if OutPktsUntagged thresh"; + } + enum "thresh-if-thresh-outpkts-too-long" { + value 150994953; + description + "PM SECYIF if OutPktsTooLong thresh"; + } + enum "thresh-if-outoctetsprotected" { + value 150994954; + description + "PM SECYIF if OutOctetsProtected thresh"; + } + enum "thresh-if-outoctetsencrypted" { + value 150994955; + description + "PM SECYIF if OutOctetsEncrypted thresh"; + } + } + description + "Secyif threshold"; + } + + typedef Sts-report { + type enumeration { + enum "report-cv" { + value 4194304; + description + "PM CV threshold"; + } + enum "report-es" { + value 4194305; + description + "PM ES threshold"; + } + enum "report-ses" { + value 4194306; + description + "PM SES threshold"; + } + enum "report-uas" { + value 4194307; + description + "PM UAS threshold"; + } + } + description + "Sts report"; + } + + typedef Fc-threshold { + type enumeration { + enum "thresh-ifin-octets" { + value 20971520; + description + "PM FC ifIn-Octets threshold"; + } + enum "thresh-rx-pkts" { + value 20971521; + description + "PM FC rx-pkt threshold"; + } + enum "thresh-ifin-error-s" { + value 20971522; + description + "PM FC ifIn-Errors threshold"; + } + enum "thresh-rx-bad-fcs" { + value 20971523; + description + "PM FC rx-bad-fcs threshold"; + } + enum "thresh-ifout-octets" { + value 20971524; + description + "PM FC ifOut-Octets threshold"; + } + enum "thresh-tx-pkts" { + value 20971525; + description + "PM FC tx-pkt threshold"; + } + enum "thresh-tx-bad-fcs" { + value 20971526; + description + "PM FC tx-bad-fcs threshold"; + } + enum "thresh-rx-frame-s-too-long" { + value 20971527; + description + "PM FC rx-frames-too-long threshold"; + } + enum "thresh-rx-frame-s-trunc" { + value 20971528; + description + "PM FC rx-frames-trunc threshold"; + } + enum "thresh-tx-frame-s-too-long" { + value 20971529; + description + "PM FC tx-frames-too-long threshold"; + } + enum "thresh-tx-frame-s-trunc" { + value 20971530; + description + "PM FC tx-frames-trunc threshold"; + } + } + description + "Fc threshold"; + } + + typedef Stm-threshold { + type enumeration { + enum "thresh-ebs" { + value 16777217; + description + "PM EBS threshold"; + } + enum "thresh-ess" { + value 16777218; + description + "PM ESS threshold"; + } + enum "thresh-esrs" { + value 16777219; + description + "PM ESRS threshold"; + } + enum "thresh-sess" { + value 16777220; + description + "PM SES threshold"; + } + enum "thresh-sesrs" { + value 16777221; + description + "PM SESR threshold"; + } + enum "thresh-bbes" { + value 16777222; + description + "PM BBES threshold"; + } + enum "thresh-bbesr" { + value 16777223; + description + "PM BBESR threshold"; + } + enum "thresh-uass" { + value 16777224; + description + "PM UASS threshold"; + } + enum "thresh-ebl-ne" { + value 16777225; + description + "PM EBLNE threshold"; + } + enum "thresh-esl-ne" { + value 16777226; + description + "PM ESLNE threshold"; + } + enum "thresh-eslr-ne" { + value 16777227; + description + "PM ESLRNE threshold"; + } + enum "thresh-sesl-ne" { + value 16777228; + description + "PM SESL threshold"; + } + enum "thresh-sesrl-ne" { + value 16777229; + description + "PM SESRL threshold"; + } + enum "thresh-bbel-ne" { + value 16777230; + description + "PM BBERLNE threshold"; + } + enum "thresh-bberl-ne" { + value 16777231; + description + "PM BBERLNE threshold"; + } + enum "thresh-uasl-ne" { + value 16777232; + description + "PM UASNE threshold"; + } + enum "thresh-ebl-fe" { + value 16777245; + description + "PM EBFE threshold"; + } + enum "thresh-esl-fe" { + value 16777246; + description + "PM ESFE threshold"; + } + enum "thresh-esrl-fe" { + value 16777247; + description + "PM EBFE threshold"; + } + enum "thresh-sesl-fe" { + value 16777248; + description + "PM SESFE threshold"; + } + enum "thresh-sesrl-fe" { + value 16777249; + description + "PM SESRLFE threshold"; + } + enum "thresh-bbel-fe" { + value 16777250; + description + "PM BBEL threshold"; + } + enum "thresh-bberl-fe" { + value 16777251; + description + "PM BBELFE threshold"; + } + enum "thresh-uasl-fe" { + value 16777252; + description + "PM UASLFE threshold"; + } + } + description + "Stm threshold"; + } + + typedef Otn-tcm-threshold { + type enumeration { + enum "thresh-es-tcm-fe" { + value 16777224; + description + "PM Otn es TCM fe threshold"; + } + enum "thresh-ses-tcm-fe" { + value 16777225; + description + "PM Otn ses TCM fe threshold"; + } + enum "thresh-uas-tcm-fe" { + value 16777226; + description + "PM Otn uas TCM fe threshold"; + } + enum "thresh-bbe-tcm-fe" { + value 16777227; + description + "PM Otn bbe TCM fe threshold"; + } + enum "thresh-fc-tcm-fe" { + value 16777228; + description + "PM Otn fc TCM fe threshold"; + } + enum "thresh-esr-tcm-fe" { + value 16777229; + description + "PM Otn esr TCM fe threshold"; + } + enum "thresh-sesr-tcm-fe" { + value 16777230; + description + "PM Otn sesr TCM fe threshold"; + } + enum "thresh-bber-tcm-fe" { + value 16777231; + description + "PM Otn bber TCM fe threshold"; + } + enum "thresh-es-tcm-ne" { + value 33554432; + description + "PM Otn es TCM ne threshold"; + } + enum "thresh-ses-tcm-ne" { + value 33554433; + description + "PM Otn ses TCM ne threshold"; + } + enum "thresh-uas-tcm-ne" { + value 33554434; + description + "PM Otn uas TCM ne threshold"; + } + enum "thresh-bbe-tcm-ne" { + value 33554435; + description + "PM Otn bbe TCM ne threshold"; + } + enum "thresh-fc-tcm-ne" { + value 33554436; + description + "PM Otn fc TCM ne threshold"; + } + enum "thresh-esr-tcm-ne" { + value 33554437; + description + "PM Otn esr TCM ne threshold"; + } + enum "thresh-sesr-tcm-ne" { + value 33554438; + description + "PM Otn sesr TCM ne threshold"; + } + enum "thresh-bber-tcm-ne" { + value 33554439; + description + "PM Otn bber TCM ne threshold"; + } + } + description + "Otn tcm threshold"; + } + + typedef Report { + type enumeration { + enum "false" { + value 0; + description + "Performance Monitoring Disabled"; + } + enum "true" { + value 1; + description + "Performance Monitoring Enabled"; + } + } + description + "Report"; + } + + typedef Prbs-report { + type enumeration { + enum "report-ebc" { + value 17825792; + description + "PM Prbs ebc bits report"; + } + enum "report-found-count" { + value 17825793; + description + "PM Prbs found count report"; + } + enum "report-lost-count" { + value 17825794; + description + "PM Prbs lost count report"; + } + } + description + "Prbs report"; + } + + typedef Otn-report { + type enumeration { + enum "report-es-sm-ne" { + value 262144; + description + "PM Otn es sm ne report"; + } + enum "report-ses-sm-ne" { + value 262145; + description + "PM Otn ses sm ne report"; + } + enum "report-uas-sm-ne" { + value 262146; + description + "PM Otn uas sm ne report"; + } + enum "report-bbe-sm-ne" { + value 262147; + description + "PM Otn bbe sm ne report"; + } + enum "report-fc-sm-ne" { + value 262148; + description + "PM Otn fc sm ne report"; + } + enum "report-esr-sm-ne" { + value 262149; + description + "PM Otn esr sm ne report"; + } + enum "report-sesr-sm-ne" { + value 262150; + description + "PM Otn sesr sm ne report"; + } + enum "report-bber-sm-ne" { + value 262151; + description + "PM Otn bber sm ne report"; + } + enum "report-es-pm-ne" { + value 524288; + description + "PM Otn es pm ne report"; + } + enum "report-ses-pm-ne" { + value 524289; + description + "PM Otn ses pm ne report"; + } + enum "report-uas-pm-ne" { + value 524290; + description + "PM Otn uas pm ne report"; + } + enum "report-bbe-pm-ne" { + value 524291; + description + "PM Otn bbe pm ne report"; + } + enum "report-fc-pm-ne" { + value 524292; + description + "PM Otn fc pm ne report"; + } + enum "report-esr-pm-ne" { + value 524293; + description + "PM Otn esr pm ne report"; + } + enum "report-sesr-pm-ne" { + value 524294; + description + "PM Otn sesr pm ne report"; + } + enum "report-bber-pm-ne" { + value 524295; + description + "PM Otn bber pm ne report"; + } + enum "report-es-sm-fe" { + value 1048584; + description + "PM Otn es sm fe report"; + } + enum "report-ses-sm-fe" { + value 1048585; + description + "PM Otn ses sm fe report"; + } + enum "report-uas-sm-fe" { + value 1048586; + description + "PM Otn uas sm fe report"; + } + enum "report-bbe-sm-fe" { + value 1048587; + description + "PM Otn bbe sm fe report"; + } + enum "report-fc-sm-fe" { + value 1048588; + description + "PM Otn fc sm fe report"; + } + enum "report-esr-sm-fe" { + value 1048589; + description + "PM Otn esr sm fe report"; + } + enum "report-sesr-sm-fe" { + value 1048590; + description + "PM Otn sesr sm fe report"; + } + enum "report-bber-sm-fe" { + value 1048591; + description + "PM Otn bber sm fe report"; + } + enum "report-es-pm-fe" { + value 2097160; + description + "PM Otn es pm fe report"; + } + enum "report-ses-pm-fe" { + value 2097161; + description + "PM Otn ses pm fe report"; + } + enum "report-uas-pm-fe" { + value 2097162; + description + "PM Otn uas pm fe report"; + } + enum "report-bbe-pm-fe" { + value 2097163; + description + "PM Otn bbe pm fe report"; + } + enum "report-fc-pm-fe" { + value 2097164; + description + "PM Otn fc pm fe report"; + } + enum "report-esr-pm-fe" { + value 2097165; + description + "PM Otn esr pm fe report"; + } + enum "report-sesr-pm-fe" { + value 2097166; + description + "PM Otn sesr pm fe report"; + } + enum "report-bber-pm-fe" { + value 2097167; + description + "PM Otn bber pm fe report"; + } + } + description + "Otn report"; + } + + typedef Secytx-threshold { + type enumeration { + enum "thresh-tx-outpktsprotected" { + value 134217728; + description + "PM SECYTX tx OutPktsProtected thresh"; + } + enum "thresh-tx-outpktsencrypted" { + value 134217729; + description + "PM SECYTX tx OutPktsEncrypted thresh"; + } + enum "thresh-tx-outoctetsprotected" { + value 134217730; + description + "PM SECYTX tx OutOctetsProtected thresh"; + } + enum "thresh-tx-outoctetsencrypted" { + value 134217731; + description + "PM SECYTX tx OutOctetsEncrypted thresh"; + } + enum "thresh-tx-outpkts-too-long" { + value 134217732; + description + "PM SECYTX tx OutPktsTooLong thresh"; + } + } + description + "Secytx threshold"; + } + + typedef Pcs-report { + type enumeration { + enum "report-bip" { + value 100663296; + description + "PM PCS Bip report"; + } + enum "report-frm-err" { + value 100663297; + description + "PM PCS frm-err report"; + } + enum "report-bad-sh" { + value 100663298; + description + "PM PCS bad-sh report"; + } + enum "report-es" { + value 100663299; + description + "PM PCS es report"; + } + enum "report-ses" { + value 100663300; + description + "PM PCS ses report"; + } + enum "report-uas" { + value 100663301; + description + "PM PCS uas report"; + } + enum "report-es-fe" { + value 100663302; + description + "PM PCS es-fe report"; + } + enum "report-ses-fe" { + value 100663303; + description + "PM PCS ses-fe_report"; + } + enum "report-uas-fe" { + value 100663304; + description + "PM PCS uas-fe report"; + } + } + description + "Pcs report"; + } + + typedef Cem-threshold { + type enumeration { + enum "thresh-missing-pkts" { + value 24117248; + description + "PM CEM missing-pkts threshold"; + } + enum "thresh-pkts-re-order" { + value 24117249; + description + "PM CEM pkts-reorder threshold"; + } + enum "thresh-jtr-bfr-under" { + value 24117250; + description + "PM CEM jtr-bfr-underrun threshold"; + } + enum "thresh-mis-order-drop" { + value 24117251; + description + "PM CEM mis-order-drop threshold"; + } + enum "thresh-malformed-pkt" { + value 24117252; + description + "PM CEM malformed-pkts threshold"; + } + enum "thresh-es" { + value 24117253; + description + "PM CEM ES threshold"; + } + enum "thresh-ses" { + value 24117254; + description + "PM CEM SES threshold"; + } + enum "thresh-uas" { + value 24117255; + description + "PM CEM UAS threshold"; + } + enum "thresh-fc" { + value 24117256; + description + "PM CEM FC threshold"; + } + enum "thresh-input-errs" { + value 24117257; + description + "PM CEM input-errs threshold"; + } + enum "thresh-output-errs" { + value 24117258; + description + "PM CEM output-errs threshold"; + } + enum "thresh-jtr-bfr-over" { + value 24117259; + description + "PM CEM jtr-bfr-overruns threshold"; + } + enum "thresh-tx-lbits" { + value 24117260; + description + "PM CEM tx-lbits threshold"; + } + enum "thresh-tx-rbits" { + value 24117261; + description + "PM CEM tx-rbits threshold"; + } + enum "thresh-rx-lbits" { + value 24117262; + description + "PM CEM rx-lbits threshold"; + } + enum "thresh-rx-rbits" { + value 24117263; + description + "PM CEM rx-rbits threshold"; + } + enum "thresh-in-pkts" { + value 24117264; + description + "PM CEM ingress-pkts threshold"; + } + enum "thresh-eg-pkts" { + value 24117265; + description + "PM CEM egress-pkts threshold"; + } + enum "thresh-in-pkts-drop" { + value 24117266; + description + "PM CEM ingress-pkts-dropped threshold"; + } + enum "thresh-eg-pkts-drop" { + value 24117267; + description + "PM CEM egress-pkts-dropped threshold"; + } + } + description + "Cem threshold"; + } + + typedef Fec-report { + type enumeration { + enum "report-ec-bits" { + value 131072; + description + "PM Fec ec bits report"; + } + enum "report-uc-words" { + value 131076; + description + "PM Fec uc words report"; + } + enum "report-ec-words" { + value 131077; + description + "PM Fec ec words report"; + } + enum "report-pre-fec-ber-max" { + value 131085; + description + "PM Fec pre fec ber max report"; + } + enum "report-post-fec-ber-max" { + value 131086; + description + "PM Fec post fec ber max report"; + } + enum "report-q-max" { + value 131087; + description + "PM Fec Q max report"; + } + enum "report-q-margin-max" { + value 131088; + description + "PM Fec Q_margin max report"; + } + enum "report-q-margin-inst-max" { + value 131089; + description + "PM Fec Q_margin_inst max report"; + } + enum "report-ber-lane-max" { + value 131090; + description + "PM Fec ber lane max report"; + } + enum "report-ferc-lane-max" { + value 131091; + description + "PM Fec ferc lane max report"; + } + enum "report-pre-fec-ber-min" { + value 131092; + description + "PM Fec pre fec ber min report"; + } + enum "report-post-fec-ber-min" { + value 131093; + description + "PM Fec post fec ber min report"; + } + enum "report-q-min" { + value 131094; + description + "PM Fec Q min report"; + } + enum "report-q-margin-min" { + value 131095; + description + "PM Fec Q_margin min report"; + } + enum "report-q-margin-inst-min" { + value 131096; + description + "PM Fec Q_margin_inst min report"; + } + enum "report-ber-lane-min" { + value 131097; + description + "PM Fec ber lane min report"; + } + enum "report-ferc-lane-min" { + value 131098; + description + "PM Fec ferc lane min report"; + } + } + description + "Fec report"; + } + + typedef Path-report { + type enumeration { + enum "report-cv" { + value 5242880; + description + "PM CV threshold"; + } + enum "report-es" { + value 5242881; + description + "PM ES threshold"; + } + enum "report-ses" { + value 5242882; + description + "PM SES threshold"; + } + enum "report-uas" { + value 5242883; + description + "PM UAS threshold"; + } + } + description + "Path report"; + } + + typedef Secyrx-report { + type enumeration { + enum "report-rx-inpktsun-check-ed" { + value 117440512; + description + "PM SECYRX rx InPktsUnchecked report"; + } + enum "report-rx-inpkts-delayed" { + value 117440513; + description + "PM SECYRX rx InPktsDelayed report"; + } + enum "report-rx-inpktslate" { + value 117440514; + description + "PM SECYRX rx InPktsLate report"; + } + enum "report-rx-inpktsok" { + value 117440515; + description + "PM SECYRX rx InPktsOK report"; + } + enum "report-rx-inpkts-invalid" { + value 117440516; + description + "PM SECYRX rx InPktsInvalid report"; + } + enum "report-rx-inpkts-not-valid" { + value 117440517; + description + "PM SECYRX rx InPktsNotValid report"; + } + enum "report-rx-inpkts-not-usingsa" { + value 117440518; + description + "PM SECYRX rx InPktsNotUsingSA sa report"; + } + enum "report-rx-inpktsunusedsa" { + value 117440519; + description + "PM SECYRX rx InPktsUnusedSA report"; + } + enum "report-rx-inpkts-untagged-hit" { + value 117440520; + description + "PM SECYRX rx InPktsUntaggedHit report"; + } + enum "report-rx-inoctets-validate-d" { + value 117440521; + description + "PM SECYRX rx InOctetsValidated report"; + } + enum "report-rx-inoctetsdecrypted" { + value 117440522; + description + "PM SECYRX rx InOctetsDecrypted report"; + } + } + description + "Secyrx report"; + } + + typedef Secyrx-threshold { + type enumeration { + enum "thresh-rx-inpktsun-check-ed" { + value 117440512; + description + "PM SECYRX rx InPktsUnchecked thresh"; + } + enum "thresh-rx-inpkts-delayed" { + value 117440513; + description + "PM SECYRX rx InPktsDelayed thresh"; + } + enum "thresh-rx-inpktslate" { + value 117440514; + description + "PM SECYRX rx InPktsLate thresh"; + } + enum "thresh-rx-inpktsok" { + value 117440515; + description + "PM SECYRX rx InPktsOK thresh"; + } + enum "thresh-rx-inpkts-invalid" { + value 117440516; + description + "PM SECYRX rx InPktsInvalid thresh"; + } + enum "thresh-rx-inpkts-not-valid" { + value 117440517; + description + "PM SECYRX rx InPktsNotValid thresh"; + } + enum "thresh-rx-inpkts-not-usingsa" { + value 117440518; + description + "PM SECYRX rx InPktsNotUsingSA thresh"; + } + enum "thresh-rx-inpktsunusedsa" { + value 117440519; + description + "PM SECYRX rx InPktsUnusedSA thresh"; + } + enum "thresh-rx-inpkts-untagged-hit" { + value 117440520; + description + "PM SECYRX rx InPktsUntaggedHit thresh"; + } + enum "thresh-rx-inoctets-validate-d" { + value 117440521; + description + "PM SECYRX rx InOctetsValidated thresh"; + } + enum "thresh-rx-inoctetsdecrypted" { + value 117440522; + description + "PM SECYRX rx InOctetsDecrypted thresh"; + } + } + description + "Secyrx threshold"; + } + + typedef Gfp-threshold { + type enumeration { + enum "thresh-rx-bit-err" { + value 67108864; + description + "PM GFP rx bit err threshold"; + } + enum "thresh-rx-inv-typ" { + value 67108865; + description + "PM GFP rx inv type threshold"; + } + enum "thresh-rx-crc" { + value 67108866; + description + "PM GFP rx crc threshold"; + } + enum "thresh-rx-lfd" { + value 67108867; + description + "PM GFP rx lfd threshold"; + } + enum "thresh-rx-csf" { + value 67108868; + description + "PM GFP rx csf threshold"; + } + } + description + "Gfp threshold"; + } + + typedef Stm-report { + type enumeration { + enum "report-ebs" { + value 16777217; + description + "PM EBS REPORT"; + } + enum "report-ess" { + value 16777218; + description + "PM ESS REPORT"; + } + enum "report-esrs" { + value 16777219; + description + "PM ESRS REPORT"; + } + enum "report-sess" { + value 16777220; + description + "PM SES REPORT"; + } + enum "report-sesrs" { + value 16777221; + description + "PM SESR REPORT"; + } + enum "report-bbes" { + value 16777222; + description + "PM BBES REPORT"; + } + enum "report-bbesr" { + value 16777223; + description + "PM BBESR REPORT"; + } + enum "report-uass" { + value 16777224; + description + "PM UASS REPORT"; + } + enum "report-ebl-ne" { + value 16777225; + description + "PM EBLNE REPORT"; + } + enum "report-esl-ne" { + value 16777226; + description + "PM ESLNE REPORT"; + } + enum "report-eslr-ne" { + value 16777227; + description + "PM ESLRNE REPORT"; + } + enum "report-sesl-ne" { + value 16777228; + description + "PM SESL REPORT"; + } + enum "report-sesrl-ne" { + value 16777229; + description + "PM SESRL REPORT"; + } + enum "report-bbel-ne" { + value 16777230; + description + "PM BBELNE REPORT"; + } + enum "report-bberl-ne" { + value 16777231; + description + "PM BBERLNE REPORT"; + } + enum "report-uasl-ne" { + value 16777232; + description + "PM UASNE REPORT"; + } + enum "report-ebl-fe" { + value 16777245; + description + "PM EBFE REPORT"; + } + enum "report-esl-fe" { + value 16777246; + description + "PM ESFE REPORT"; + } + enum "report-esrl-fe" { + value 16777247; + description + "PM EBFE REPORT"; + } + enum "report-sesl-fe" { + value 16777248; + description + "PM SESFE REPORT"; + } + enum "report-sesrl-fe" { + value 16777249; + description + "PM SESRLFE REPORT"; + } + enum "report-bbel-fe" { + value 16777250; + description + "PM BBELFE REPORT"; + } + enum "report-bberl-fe" { + value 16777251; + description + "PM ESFE REPORT"; + } + enum "report-uasl-fe" { + value 16777252; + description + "PM UASLFE REPORT"; + } + } + description + "Stm report"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container performance-management { + description + "Configure pm parameters"; + container stm-hour24 { + description + "set STM threshold"; + container stm-hour24-stm { + description + "Configure stm performance monitoring"; + container stm-hour24-stm-reports { + description + "set stm TCA reporting status"; + list stm-hour24-stm-report { + key "stm-report"; + description + "none"; + leaf stm-report { + type Stm-report; + description + "Stm Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Stm Report"; + } + } + } + container stm-hour24-stm-thresholds { + description + "Configure threshold on stm parameters"; + list stm-hour24-stm-threshold { + key "stm-threshold"; + description + "none"; + leaf stm-threshold { + type Stm-threshold; + description + "Stm Threshold Type"; + } + leaf stm-threshold-value { + type uint32; + mandatory true; + description + "Stm Thresh Value"; + } + } + } + } + } + container second30-gfp { + description + "set opr min threshold"; + container second30-gfp { + description + "Configure gfp performance monitoring"; + container second30-gfp-thresholds { + description + "Configure threshold on gfp parameters"; + list second30-gfp-threshold { + key "gfp-threshold"; + description + "none"; + leaf gfp-threshold { + type Gfp-threshold; + description + "Gfp Threshold Type"; + } + leaf gfp-threshold-value { + type uint32; + mandatory true; + description + "Gfp Threshold Value"; + } + } + } + container second30-gfp-reports { + description + "set gfp TCA reporting status"; + list second30-gfp-report { + key "gfp-report"; + description + "none"; + leaf gfp-report { + type Gfp-report; + description + "Gfp Report Type"; + } + } + } + } + } + container minute15-gfp { + description + "set opr min threshold"; + container minute15-gfp { + description + "Configure gfp performance monitoring"; + container minute15-gfp-reports { + description + "set gfp TCA reporting status"; + list minute15-gfp-report { + key "gfp-report"; + description + "none"; + leaf gfp-report { + type Gfp-report; + description + "Gfp Report Type"; + } + } + } + container minute15-gfp-thresholds { + description + "Configure threshold on gfp parameters"; + list minute15-gfp-threshold { + key "gfp-threshold"; + description + "none"; + leaf gfp-threshold { + type Gfp-threshold; + description + "Gfp Threshold Type"; + } + leaf gfp-threshold-value { + type uint32; + mandatory true; + description + "Gfp Threshold Value"; + } + } + } + } + } + container second30-path { + description + "set opr min threshold"; + container second30otn-path { + description + "configure otn g709 performance monitoring"; + container sec30-otn-path-threshes { + description + "Configure threshold on otn parameters"; + list sec30-otn-path-thresh { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + container second30otn-path-reports { + description + "set otn TCA reporting status"; + list second30otn-path-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + } + } + container sonet-minute15 { + description + "set Sonet threshold"; + container sonet-minute15-path { + description + "Configure Path performance monitoring"; + container sonet-minute15-path-reports { + description + "set Path TCA reporting status"; + list sonet-minute15-path-report { + key "path-report"; + description + "none"; + leaf path-report { + type Path-report; + description + "Path Report Type"; + } + } + } + container sonet-minute15-path-thresholds { + description + "Configure threshold on Path parameters"; + list sonet-minute15-path-threshold { + key "path-threshold"; + description + "none"; + leaf path-threshold { + type Path-threshold; + description + "Path Threshold Type"; + } + leaf path-threshold-value { + type uint32; + mandatory true; + description + "Path Threshold Value"; + } + } + } + } + container sonet-minute15-ocn { + description + "Configure ocn performance monitoring"; + container sonet-minute15-ocn-reports { + description + "set ocn TCA reporting status"; + list sonet-minute15-ocn-report { + key "ocn-report"; + description + "none"; + leaf ocn-report { + type Ocn-report; + description + "Ocn Report Type"; + } + } + } + container sonet-minute15-ocn-thresholds { + description + "Configure threshold on ocn parameters"; + list sonet-minute15-ocn-threshold { + key "ocn-threshold"; + description + "none"; + leaf ocn-threshold { + type Ocn-threshold; + description + "Ocn Threshold Type"; + } + leaf ocn-threshold-value { + type uint32; + mandatory true; + description + "Ocn Threshold Value"; + } + } + } + } + } + container hour24-gfp { + description + "Configure pm parameters of gfp 24 hour interval"; + container hour24-gfp { + description + "Configure gfp performance monitoring"; + container hour24-gfp-reports { + description + "set gfp TCA reporting status"; + list hour24-gfp-report { + key "gfp-report"; + description + "none"; + leaf gfp-report { + type Gfp-report; + description + "Gfp Report Type"; + } + } + } + container hour24-gfp-thresholds { + description + "Configure threshold on gfp parameters"; + list hour24-gfp-threshold { + key "gfp-threshold"; + description + "none"; + leaf gfp-threshold { + type Gfp-threshold; + description + "Gfp Threshold Type"; + } + leaf gfp-threshold-value { + type uint32; + mandatory true; + description + "Gfp Thresh Value"; + } + } + } + } + } + container second30otn-tcms { + description + "set opr min threshold"; + list second30otn-tcm { + key "tcm-number"; + description + "configure otn g709 tcm's performance + monitoring"; + container sec30-otn-tcm-threshes { + description + "Configure threshold on otn parameters"; + list sec30-otn-tcm-thresh { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-tcm-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + container second30otn-tcm-reports { + description + "set otn TCA reporting status"; + list second30otn-tcm-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-tcm-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + leaf tcm-number { + type uint32; + description + "TCM number"; + } + } + } + container ethernet-hour24 { + description + "Configure pm parameters of 24 hour interval"; + container hour24-ether { + description + "Configure ether performance monitoring"; + container hour24-ether-thresholds { + description + "Configure threshold on ether parameters"; + list hour24-ether-threshold { + key "ether-threshold"; + description + "none"; + leaf ether-threshold { + type Ether-threshold; + description + "Ether Threshold Type"; + } + leaf ether-threshold-value { + type uint32; + mandatory true; + description + "Ether Thresh Value"; + } + } + } + container hour24-ether-reports { + description + "set ether TCA reporting status"; + list hour24-ether-report { + key "ether-report"; + description + "none"; + leaf ether-report { + type Ether-report; + description + "Ether Report Type"; + } + } + } + } + } + container minute15otn-tcms { + description + "set opr min threshold"; + list minute15otn-tcm { + key "tcm-number"; + description + "configure otn g709 tcm's performance + monitoring"; + container min15-otn-tcm-threshes { + description + "Configure threshold on otn parameters"; + list min15-otn-tcm-thresh { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-tcm-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + container minute15otn-tcm-reports { + description + "set otn TCA reporting status"; + list minute15otn-tcm-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-tcm-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + leaf tcm-number { + type uint32; + description + "TCM number"; + } + } + } + container oc-hour24 { + description + "set Oc threshold"; + container oc-hour24-ocn { + description + "Configure ocn performance monitoring"; + container oc-hour24-ocn-reports { + description + "set ocn TCA reporting status"; + list oc-hour24-ocn-report { + key "ocn-report"; + description + "none"; + leaf ocn-report { + type Ocn-report; + description + "Ocn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Ocn Report"; + } + } + } + container oc-hour24-ocn-thresholds { + description + "Configure threshold on ocn parameters"; + list oc-hour24-ocn-threshold { + key "ocn-threshold"; + description + "none"; + leaf ocn-threshold { + type Ocn-threshold; + description + "Ocn Threshold Type"; + } + leaf ocn-threshold-value { + type uint32; + mandatory true; + description + "Ocn Thresh Value"; + } + } + } + } + } + container ethernet-minute15 { + description + "set opr min threshold"; + container minute15-ether { + description + "Configure ether performance monitoring"; + container minute15-ether-thresholds { + description + "Configure threshold on ether parameters"; + list minute15-ether-threshold { + key "ether-threshold"; + description + "none"; + leaf ether-threshold { + type Ether-threshold; + description + "Ether Threshold Type"; + } + leaf ether-threshold-value { + type uint32; + mandatory true; + description + "Ether Threshold Value"; + } + } + } + container minute15-ether-reports { + description + "set ether TCA reporting status"; + list minute15-ether-report { + key "ether-report"; + description + "none"; + leaf ether-report { + type Ether-report; + description + "Ether Report Type"; + } + } + } + } + } + container ho-vc-hour24 { + description + "set HO_VC threshold"; + container ho-vc-hour24ho-vc { + description + "Configure ho_vc performance monitoring"; + container ho-vc-hour24ho-vc-reports { + description + "set ho_vc TCA reporting status"; + list ho-vc-hour24ho-vc-report { + key "ho-vc-report"; + description + "none"; + leaf ho-vc-report { + type Ho-vc-report; + description + "ho_vc Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "ho_vc Report"; + } + } + } + container ho-vc-hour24ho-vc-thresholds { + description + "Configure threshold on ho_vc parameters"; + list ho-vc-hour24ho-vc-threshold { + key "ho-vc-threshold"; + description + "none"; + leaf ho-vc-threshold { + type Ho-vc-threshold; + description + "ho_vc Threshold Type"; + } + leaf ho-vc-threshold-value { + type uint32; + mandatory true; + description + "ho_vc Thresh Value"; + } + } + } + } + } + container second30 { + description + "Configure optics performance monitoring for 30 + sec"; + container second30cem { + description + "Configure cem performance monitoring"; + container second30cem-reports { + description + "set cem TCA reporting status"; + list second30cem-report { + key "cem-report"; + description + "none"; + leaf cem-report { + type Cem-report; + description + "CEM Report Type"; + } + } + } + container second30cem-thresholds { + description + "Configure threshold on cem parameters"; + list second30cem-threshold { + key "cem-threshold"; + description + "none"; + leaf cem-threshold { + type Cem-threshold; + description + "CEM Threshold Type"; + } + leaf cem-threshold-value { + type uint32; + mandatory true; + description + "CEM Threshold Value"; + } + } + } + } + container second30otnsec { + description + "Configure otnsec performance monitoring"; + container second30otnsec-reports { + description + "set otnsec TCA reporting status"; + list second30otnsec-report { + key "otnsec-report"; + description + "none"; + leaf otnsec-report { + type Otnsec-report; + description + "OTNSEC pm Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "OTNSEC pm Report"; + } + } + } + container second30otnsec-thresholds { + description + "Configure otnsec threshold"; + list second30otnsec-threshold { + key "otnsec-threshold"; + description + "none"; + leaf otnsec-threshold { + type Otnsec-threshold; + description + "OTNSEC Threshold Type"; + } + leaf otnsec-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "OTNSEC Threshold Value"; + } + } + } + } + container second30pcs { + description + "Configure pcs performance monitoring"; + container second30pcs-thresholds { + description + "Configure pcs threshold"; + list second30pcs-threshold { + key "pcs-threshold"; + description + "none"; + leaf pcs-threshold { + type Pcs-threshold; + description + "Pcs Threshold Type"; + } + leaf pcs-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Pcs Threshold Value"; + } + } + } + container second30pcs-reports { + description + "set pcs TCA reporting status"; + list second30pcs-report { + key "pcs-report"; + description + "none"; + leaf pcs-report { + type Pcs-report; + description + "Pcs Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "PCS Report"; + } + } + } + } + container second30fec { + description + "Configure fec g709 performance monitoring"; + container second30fec-thresholds { + description + "Configure fec threshold"; + list second30fec-threshold { + key "fec-threshold"; + description + "none"; + leaf fec-threshold { + type Fec-threshold; + description + "Fec Threshold Type"; + } + leaf fec-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Fec Threshold Value"; + } + } + } + container second30fec-reports { + description + "set fec TCA reporting status"; + list second30fec-report { + key "fec-report"; + description + "none"; + leaf fec-report { + type Fec-report; + description + "Fec Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Fec Report"; + } + } + } + } + container second30-optics { + description + "Configure optics performance monitoring"; + container second30-optics-reports { + description + "set optics TCA reporting status"; + list second30-optics-report { + key "optics-report"; + description + "none"; + leaf optics-report { + type Optics-report; + description + "Optics Report Type"; + } + } + } + container second30-optics-thresholds { + description + "Configure threshold on optics parameters"; + list second30-optics-threshold { + key "optics-threshold"; + description + "none"; + leaf optics-threshold { + type Optics-threshold; + description + "Optics Threshold Type"; + } + leaf optics-threshold-value { + type int32; + description + "Optics Thresh Value"; + } + leaf dbm { + type uint32; + mandatory true; + description + "Used only for Opt and Opr,To Enter + Threshold in dbm use 1"; + } + } + } + } + container second30secyif { + description + "Configure secy-if performance monitoring"; + container second30secyif-thresholds { + description + "Configure threshold on secyif parameters"; + list second30secyif-threshold { + key "secyif-threshold"; + description + "none"; + leaf secyif-threshold { + type Secyif-threshold; + description + "Secyif Threshold Type"; + } + leaf secyif-threshold-value { + type uint32; + mandatory true; + description + "Secyif Threshold Value"; + } + } + } + container second30secyif-reports { + description + "set secyif TCA reporting status"; + list second30secyif-report { + key "secyif-report"; + description + "none"; + leaf secyif-report { + type Secyif-report; + description + "Secyif Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Enabled Secyif Report"; + } + } + } + } + container second30secyrx { + description + "Configure secy-rx performance monitoring"; + container second30secyrx-thresholds { + description + "Configure threshold on secyrx parameters"; + list second30secyrx-threshold { + key "secyrx-threshold"; + description + "none"; + leaf secyrx-threshold { + type Secyrx-threshold; + description + "Secyrx Threshold Type"; + } + leaf secyrx-threshold-value { + type uint32; + mandatory true; + description + "Secyrx Threshold Value"; + } + } + } + container second30secyrx-reports { + description + "set secyrx TCA reporting status"; + list second30secyrx-report { + key "secyrx-report"; + description + "none"; + leaf secyrx-report { + type Secyrx-report; + description + "Secyrx Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Enabled Secyrx Report"; + } + } + } + } + container second30prbs { + description + "Configure prbs performance monitoring data"; + container second30prbs-thresholds { + description + "Configure prbs threshold"; + list second30prbs-threshold { + key "prbs-threshold"; + description + "none"; + leaf prbs-threshold { + type Prbs-threshold; + description + "Prbs Threshold Type"; + } + leaf prbs-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Prbs Threshold Value"; + } + } + } + container second30prbs-reports { + description + "set prbs TCA reporting status"; + list second30prbs-report { + key "prbs-report"; + description + "none"; + leaf prbs-report { + type Prbs-report; + description + "Prbs Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Prbs Report"; + } + } + } + } + container second30otn { + description + "configure otn g709 performance monitoring"; + container second30-otn-threshes { + description + "Configure threshold on otn parameters"; + list second30-otn-thresh { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + container second30otn-reports { + description + "set otn TCA reporting status"; + list second30otn-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + } + container second30secytx { + description + "Configure secy-tx performance monitoring"; + container second30secytx-thresholds { + description + "Configure threshold on secytx parameters"; + list second30secytx-threshold { + key "secytx-threshold"; + description + "none"; + leaf secytx-threshold { + type Secytx-threshold; + description + "Secytx Threshold Type"; + } + leaf secytx-threshold-value { + type uint32; + mandatory true; + description + "Secytx Threshold Value"; + } + } + } + container second30secytx-reports { + description + "set secytx TCA reporting status"; + list second30secytx-report { + key "secytx-report"; + description + "none"; + leaf secytx-report { + type Secytx-report; + description + "Secytx Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Enabled Secytx Report"; + } + } + } + } + container second30fc { + description + "Configure fc performance monitoring"; + container second30fc-thresholds { + description + "Configure threshold on fc parameters"; + list second30fc-threshold { + key "fc-threshold"; + description + "none"; + leaf fc-threshold { + type Fc-threshold; + description + "Fc Threshold Type"; + } + leaf fc-threshold-value { + type uint32; + mandatory true; + description + "Fc Threshold Value"; + } + } + } + container second30fc-reports { + description + "set fc TCA reporting status"; + list second30fc-report { + key "fc-report"; + description + "none"; + leaf fc-report { + type Fc-report; + description + "Fc Report Type"; + } + } + } + } + } + container hour24otn-tcms { + description + "Configure pm parameters of tcm's 24 hour + interval"; + list hour24otn-tcm { + key "tcm-number"; + description + "configure otn g709 tcm's performance + monitoring"; + container hour24otn-tcm-thresholds { + description + "Configure threshold on otn parameters"; + list hour24otn-tcm-threshold { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-tcm-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + container hour24otn-tcm-reports { + description + "set otn TCA reporting status"; + list hour24otn-tcm-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-tcm-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + leaf tcm-number { + type uint32; + description + "TCM number"; + } + } + } + container sts-minute15 { + description + "set STS threshold"; + container sts-minute15-path { + description + "Configure Path performance monitoring"; + container sts-minute15-path-reports { + description + "set Path TCA reporting status"; + list sts-minute15-path-report { + key "path-report"; + description + "none"; + leaf path-report { + type Sts-report; + description + "Path Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Path Report"; + } + } + } + container sts-minute15-path-thresholds { + description + "Configure threshold on Path parameters"; + list sts-minute15-path-threshold { + key "path-threshold"; + description + "none"; + leaf path-threshold { + type Sts-threshold; + description + "Path Threshold Type"; + } + leaf path-threshold-value { + type uint32; + mandatory true; + description + "Path Threshold Value"; + } + } + } + } + } + container hour24 { + description + "Configure pm parameters of 24 hour interval"; + container hour24otn { + description + "configure otn g709 performance monitoring"; + container hour24otn-thresholds { + description + "Configure threshold on otn parameters"; + list hour24otn-threshold { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + container hour24otn-reports { + description + "set otn TCA reporting status"; + list hour24otn-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + } + container hour24fc { + description + "Configure fc performance monitoring"; + container hour24fc-reports { + description + "set fc TCA reporting status"; + list hour24fc-report { + key "fc-report"; + description + "none"; + leaf fc-report { + type Fc-report; + description + "Fc Report Type"; + } + } + } + container hour24fc-thresholds { + description + "Configure threshold on fc parameters"; + list hour24fc-threshold { + key "fc-threshold"; + description + "none"; + leaf fc-threshold { + type Fc-threshold; + description + "Fc Threshold Type"; + } + leaf fc-threshold-value { + type uint32; + mandatory true; + description + "Fc Thresh Value"; + } + } + } + } + container hour24cem { + description + "Configure cem performance monitoring"; + container hour24cem-reports { + description + "set cem TCA reporting status"; + list hour24cem-report { + key "cem-report"; + description + "none"; + leaf cem-report { + type Cem-report; + description + "CEM Report Type"; + } + } + } + container hour24cem-thresholds { + description + "Configure threshold on cem parameters"; + list hour24cem-threshold { + key "cem-threshold"; + description + "none"; + leaf cem-threshold { + type Cem-threshold; + description + "CEM Threshold Type"; + } + leaf cem-threshold-value { + type uint32; + mandatory true; + description + "CEM Thresh Value"; + } + } + } + } + container hour24-optics { + description + "Configure optics performance monitoring"; + container hour24-optics-thresholds { + description + "Configure threshold on optics parameters"; + list hour24-optics-threshold { + key "optics-threshold"; + description + "none"; + leaf optics-threshold { + type Optics-threshold; + description + "Optics Threshold Type"; + } + leaf optics-threshold-value { + type int32; + description + "Optics Thresh Value"; + } + leaf dbm { + type uint32; + mandatory true; + description + "Used only for Opt and Opr,To Enter + Threshold in dbm use 1"; + } + } + } + container hour24-optics-reports { + description + "set optics TCA reporting status"; + list hour24-optics-report { + key "optics-report"; + description + "none"; + leaf optics-report { + type Optics-report; + description + "Optics Report Type"; + } + } + } + } + container hour24pcs { + description + "Configure pcs performance monitoring"; + container hour24pcs-thresholds { + description + "Configure pcs threshold"; + list hour24pcs-threshold { + key "pcs-threshold"; + description + "none"; + leaf pcs-threshold { + type Pcs-threshold; + description + "Pcs Threshold Type"; + } + leaf pcs-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Pcs Threshold Value"; + } + } + } + container hour24pcs-reports { + description + "set pcs TCA reporting status"; + list hour24pcs-report { + key "pcs-report"; + description + "none"; + leaf pcs-report { + type Pcs-report; + description + "Pcs Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "PCS Report"; + } + } + } + } + container hour24fec { + description + "Configure fec g709 performance monitoring"; + container hour24fec-thresholds { + description + "Configure fec threshold"; + list hour24fec-threshold { + key "fec-threshold"; + description + "none"; + leaf fec-threshold { + type Fec-threshold; + description + "Fec Threshold Type"; + } + leaf fec-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Fec threshold value"; + } + } + } + container hour24fec-reports { + description + "set fec TCA reporting status"; + list hour24fec-report { + key "fec-report"; + description + "none"; + leaf fec-report { + type Fec-report; + description + "Fec Report type"; + } + leaf enable { + type Report; + mandatory true; + description + "Fec Report"; + } + } + } + } + container hour24secyif { + description + "Configure secy-if performance monitoring"; + container hour24secyif-reports { + description + "set secyif TCA reporting status"; + list hour24secyif-report { + key "secyif-report"; + description + "none"; + leaf secyif-report { + type Secyif-report; + description + "Secyif Report type"; + } + leaf enable { + type Report; + mandatory true; + description + "Secyif Report"; + } + } + } + container hour24secyif-thresholds { + description + "Configure secyif threshold"; + list hour24secyif-threshold { + key "secyif-threshold"; + description + "none"; + leaf secyif-threshold { + type Secyif-threshold; + description + "Secyif Threshold Type"; + } + leaf secyif-threshold-value { + type uint32; + mandatory true; + description + "Secyif threshold value"; + } + } + } + } + container hour24e1 { + description + "Configure e1 performance monitoring"; + container hour24e1-thresholds { + description + "Configure e1 threshold"; + list hour24e1-threshold { + key "e1-threshold"; + description + "none"; + leaf e1-threshold { + type E1-threshold; + description + "E1 Threshold Type"; + } + leaf e1-threshold-value { + type uint32; + mandatory true; + description + "E1 Threshold Value"; + } + } + } + container hour24e1-reports { + description + "set e1 TCA reporting status"; + list hour24e1-report { + key "e1-report"; + description + "none"; + leaf e1-report { + type E1-report; + description + "E1 Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "E1 Report"; + } + } + } + } + container hour24secyrx { + description + "Configure secy-rx performance monitoring"; + container hour24secyrx-reports { + description + "set secyrx TCA reporting status"; + list hour24secyrx-report { + key "secyrx-report"; + description + "none"; + leaf secyrx-report { + type Secyrx-report; + description + "Secyrx Report type"; + } + leaf enable { + type Report; + mandatory true; + description + "Secyrx Report"; + } + } + } + container hour24secyrx-thresholds { + description + "Configure secyrx threshold"; + list hour24secyrx-threshold { + key "secyrx-threshold"; + description + "none"; + leaf secyrx-threshold { + type Secyrx-threshold; + description + "Secyrx Threshold Type"; + } + leaf secyrx-threshold-value { + type uint32; + mandatory true; + description + "Secyrx threshold value"; + } + } + } + } + container hour24secytx { + description + "Configure secy-tx performance monitoring"; + container hour24secytx-thresholds { + description + "Configure secytx threshold"; + list hour24secytx-threshold { + key "secytx-threshold"; + description + "none"; + leaf secytx-threshold { + type Secytx-threshold; + description + "Secytx Threshold Type"; + } + leaf secytx-threshold-value { + type uint32; + mandatory true; + description + "Secytx threshold value"; + } + } + } + container hour24secytx-reports { + description + "set secytx TCA reporting status"; + list hour24secytx-report { + key "secytx-report"; + description + "none"; + leaf secytx-report { + type Secytx-report; + description + "Secytx Report type"; + } + leaf enable { + type Report; + mandatory true; + description + "Secytx Report"; + } + } + } + } + container hour24prbs { + description + "Configure prbs performance monitoring data"; + container hour24prbs-thresholds { + description + "Configure prbs threshold"; + list hour24prbs-threshold { + key "prbs-threshold"; + description + "none"; + leaf prbs-threshold { + type Prbs-threshold; + description + "Prbs Threshold Type"; + } + leaf prbs-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "PRBS threshold value"; + } + } + } + container hour24prbs-reports { + description + "set prbs TCA reporting status"; + list hour24prbs-report { + key "prbs-report"; + description + "none"; + leaf prbs-report { + type Prbs-report; + description + "Prbs Report type"; + } + leaf enable { + type Report; + mandatory true; + description + "Prbs Report"; + } + } + } + } + container hour24otnsec { + description + "Configure otnsec performance monitoring"; + container hour24otnsec-reports { + description + "set otnsec TCA reporting status"; + list hour24otnsec-report { + key "otnsec-report"; + description + "none"; + leaf otnsec-report { + type Otnsec-report; + description + "OTNSEC Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "OTNSEC Report"; + } + } + } + container hour24otnsec-thresholds { + description + "Configure otnsec threshold"; + list hour24otnsec-threshold { + key "otnsec-threshold"; + description + "none"; + leaf otnsec-threshold { + type Otnsec-threshold; + description + "OTNSEC Threshold Type"; + } + leaf otnsec-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "OTNSEC Threshold Value"; + } + } + } + } + } + container ho-vc-minute15 { + description + "set HO_VC threshold"; + container ho-vc-minute15ho-vc { + description + "Configure ho_vc performance monitoring"; + container ho-vc-minute15ho-vc-reports { + description + "set ho_vc TCA reporting status"; + list ho-vc-minute15ho-vc-report { + key "ho-vc-report"; + description + "none"; + leaf ho-vc-report { + type Ho-vc-report; + description + "ho_vc Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "ho_vc Report"; + } + } + } + container ho-vc-minute15ho-vc-thresholds { + description + "Configure threshold on ho_vc parameters"; + list ho-vc-minute15ho-vc-threshold { + key "ho-vc-threshold"; + description + "none"; + leaf ho-vc-threshold { + type Ho-vc-threshold; + description + "ho_vc Threshold Type"; + } + leaf ho-vc-threshold-value { + type uint32; + mandatory true; + description + "ho_vc Threshold Value"; + } + } + } + } + } + container sts-hour24 { + description + "set STS threshold"; + container sts-hour24-path { + description + "Configure Path performance monitoring"; + container sts-hour24-path-thresholds { + description + "Configure threshold on Path parameters"; + list sts-hour24-path-threshold { + key "path-threshold"; + description + "none"; + leaf path-threshold { + type Sts-threshold; + description + "Path Threshold Type"; + } + leaf path-threshold-value { + type uint32; + mandatory true; + description + "Path Thresh Value"; + } + } + } + container sts-hour24-path-reports { + description + "set Path TCA reporting status"; + list sts-hour24-path-report { + key "path-report"; + description + "none"; + leaf path-report { + type Sts-report; + description + "Path Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Path Report"; + } + } + } + } + } + container stm-minute15 { + description + "set STM threshold"; + container stm-minute15-stm { + description + "Configure stm performance monitoring"; + container stm-minute15-stm-reports { + description + "set stm TCA reporting status"; + list stm-minute15-stm-report { + key "stm-report"; + description + "none"; + leaf stm-report { + type Stm-report; + description + "Stm Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Stm Report"; + } + } + } + container stm-minute15-stm-thresholds { + description + "Configure threshold on stm parameters"; + list stm-minute15-stm-threshold { + key "stm-threshold"; + description + "none"; + leaf stm-threshold { + type Stm-threshold; + description + "Stm Threshold Type"; + } + leaf stm-threshold-value { + type uint32; + mandatory true; + description + "Stm Threshold Value"; + } + } + } + } + } + container sonet-hour24 { + description + "set Sonet threshold"; + container sonet-hour24-path { + description + "Configure Path performance monitoring"; + container sonet-hour24-path-thresholds { + description + "Configure threshold on Path parameters"; + list sonet-hour24-path-threshold { + key "path-threshold"; + description + "none"; + leaf path-threshold { + type Path-threshold; + description + "Path Threshold Type"; + } + leaf path-threshold-value { + type uint32; + mandatory true; + description + "Path Thresh Value"; + } + } + } + container sonet-hour24-path-reports { + description + "set Path TCA reporting status"; + list sonet-hour24-path-report { + key "path-report"; + description + "none"; + leaf path-report { + type Path-report; + description + "Path Report Type"; + } + } + } + } + container sonet-hour24-ocn { + description + "Configure ocn performance monitoring"; + container sonet-hour24-ocn-thresholds { + description + "Configure threshold on ocn parameters"; + list sonet-hour24-ocn-threshold { + key "ocn-threshold"; + description + "none"; + leaf ocn-threshold { + type Ocn-threshold; + description + "Ocn Threshold Type"; + } + leaf ocn-threshold-value { + type uint32; + mandatory true; + description + "Ocn Thresh Value"; + } + } + } + container sonet-hour24-ocn-reports { + description + "set ocn TCA reporting status"; + list sonet-hour24-ocn-report { + key "ocn-report"; + description + "none"; + leaf ocn-report { + type Ocn-report; + description + "Ocn Report Type"; + } + } + } + } + } + container minute15-path { + description + "set opr min threshold"; + container minute15otn-path { + description + "configure otn g709 performance monitoring"; + container minute15otn-path-reports { + description + "set otn TCA reporting status"; + list minute15otn-path-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + container min15-otn-path-threshes { + description + "Configure threshold on otn parameters"; + list min15-otn-path-thresh { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + } + } + container oc-minute15 { + description + "set OC threshold"; + container oc-minute15-ocn { + description + "Configure ocn performance monitoring"; + container oc-minute15-ocn-reports { + description + "set ocn TCA reporting status"; + list oc-minute15-ocn-report { + key "ocn-report"; + description + "none"; + leaf ocn-report { + type Ocn-report; + description + "Ocn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Ocn Report"; + } + } + } + container oc-minute15-ocn-thresholds { + description + "Configure threshold on ocn parameters"; + list oc-minute15-ocn-threshold { + key "ocn-threshold"; + description + "none"; + leaf ocn-threshold { + type Ocn-threshold; + description + "Ocn Threshold Type"; + } + leaf ocn-threshold-value { + type uint32; + mandatory true; + description + "Ocn Threshold Value"; + } + } + } + } + } + container ethernet-second30 { + description + "Configure ethernet performance monitoring for + 30 sec"; + container second30-ether { + description + "Configure ether performance monitoring"; + container second30-ether-thresholds { + description + "Configure threshold on ether parameters"; + list second30-ether-threshold { + key "ether-threshold"; + description + "none"; + leaf ether-threshold { + type Ether-threshold; + description + "Ether Threshold Type"; + } + leaf ether-threshold-value { + type uint32; + mandatory true; + description + "Ether Threshold Value"; + } + } + } + container second30-ether-reports { + description + "set ether TCA reporting status"; + list second30-ether-report { + key "ether-report"; + description + "none"; + leaf ether-report { + type Ether-report; + description + "Ether Report Type"; + } + } + } + } + } + container hour24-path { + description + "Configure pm parameters of pathmonitor 24 hour + interval"; + container hour24otn-path { + description + "configure otn g709 performance monitoring"; + container hour24otn-path-reports { + description + "set otn TCA reporting status"; + list hour24otn-path-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + container hour24otn-path-thresholds { + description + "Configure threshold on otn parameters"; + list hour24otn-path-threshold { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + } + } + container minute15 { + description + "set opr min threshold"; + container minute15cem { + description + "Configure cem performance monitoring"; + container minute15cem-reports { + description + "set cem TCA reporting status"; + list minute15cem-report { + key "cem-report"; + description + "none"; + leaf cem-report { + type Cem-report; + description + "CEM Report Type"; + } + } + } + container minute15cem-thresholds { + description + "Configure threshold on cem parameters"; + list minute15cem-threshold { + key "cem-threshold"; + description + "none"; + leaf cem-threshold { + type Cem-threshold; + description + "CEM Threshold Type"; + } + leaf cem-threshold-value { + type uint32; + mandatory true; + description + "CEM Threshold Value"; + } + } + } + } + container minute15e1 { + description + "Configure e1 performance monitoring"; + container minute15e1-thresholds { + description + "Configure e1 threshold"; + list minute15e1-threshold { + key "e1-threshold"; + description + "none"; + leaf e1-threshold { + type E1-threshold; + description + "E1 Threshold Type"; + } + leaf e1-threshold-value { + type uint32; + mandatory true; + description + "E1 Threshold Value"; + } + } + } + container minute15e1-reports { + description + "set e1 TCA reporting status"; + list minute15e1-report { + key "e1-report"; + description + "none"; + leaf e1-report { + type E1-report; + description + "E1 Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "E1 Report"; + } + } + } + } + container minute15-optics { + description + "Configure optics performance monitoring"; + container minute15-optics-thresholds { + description + "Configure threshold on optics parameters"; + list minute15-optics-threshold { + key "optics-threshold"; + description + "none"; + leaf optics-threshold { + type Optics-threshold; + description + "Optics Threshold Type"; + } + leaf optics-threshold-value { + type int32; + description + "Optics Threshold Value"; + } + leaf dbm { + type uint32; + mandatory true; + description + "Used only for Opt and Opr,To Enter + Threshold in dbm use 1"; + } + } + } + container minute15-optics-reports { + description + "set optics TCA reporting status"; + list minute15-optics-report { + key "optics-report"; + description + "none"; + leaf optics-report { + type Optics-report; + description + "Optics Report Type"; + } + } + } + } + container minute15secyif { + description + "Configure secy-if performance monitoring"; + container minute15secyif-reports { + description + "set secyif TCA reporting status"; + list minute15secyif-report { + key "secyif-report"; + description + "none"; + leaf secyif-report { + type Secyif-report; + description + "Secyif Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Enabled Secyif Report"; + } + } + } + container minute15secyif-thresholds { + description + "Configure threshold on secyif parameters"; + list minute15secyif-threshold { + key "secyif-threshold"; + description + "none"; + leaf secyif-threshold { + type Secyif-threshold; + description + "Secyif Threshold Type"; + } + leaf secyif-threshold-value { + type uint32; + mandatory true; + description + "Secyif Threshold Value"; + } + } + } + } + container minute15secyrx { + description + "Configure secy-rx performance monitoring"; + container minute15secyrx-reports { + description + "set secyrx TCA reporting status"; + list minute15secyrx-report { + key "secyrx-report"; + description + "none"; + leaf secyrx-report { + type Secyrx-report; + description + "Secyrx Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Enabled Secyrx Report"; + } + } + } + container minute15secyrx-thresholds { + description + "Configure threshold on secyrx parameters"; + list minute15secyrx-threshold { + key "secyrx-threshold"; + description + "none"; + leaf secyrx-threshold { + type Secyrx-threshold; + description + "Secyrx Threshold Type"; + } + leaf secyrx-threshold-value { + type uint32; + mandatory true; + description + "Secyrx Threshold Value"; + } + } + } + } + container minute15pcs { + description + "Configure pcs performance monitoring"; + container minute15pcs-reports { + description + "set pcs TCA reporting status"; + list minute15pcs-report { + key "pcs-report"; + description + "none"; + leaf pcs-report { + type Pcs-report; + description + "Pcs Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "PCS Report"; + } + } + } + container minute15pcs-thresholds { + description + "Configure pcs threshold"; + list minute15pcs-threshold { + key "pcs-threshold"; + description + "none"; + leaf pcs-threshold { + type Pcs-threshold; + description + "Pcs Threshold Type"; + } + leaf pcs-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Pcs Threshold Value"; + } + } + } + } + container minute15fec { + description + "Configure fec g709 performance monitoring"; + container minute15fec-thresholds { + description + "Configure fec threshold"; + list minute15fec-threshold { + key "fec-threshold"; + description + "none"; + leaf fec-threshold { + type Fec-threshold; + description + "Fec Threshold Type"; + } + leaf fec-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Fec Threshold Value"; + } + } + } + container minute15fec-reports { + description + "set fec TCA reporting status"; + list minute15fec-report { + key "fec-report"; + description + "none"; + leaf fec-report { + type Fec-report; + description + "Fec Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Fec Report"; + } + } + } + } + container minute15secytx { + description + "Configure secy-tx performance monitoring"; + container minute15secytx-reports { + description + "set secytx TCA reporting status"; + list minute15secytx-report { + key "secytx-report"; + description + "none"; + leaf secytx-report { + type Secytx-report; + description + "Secytx Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Enabled Secytx Report"; + } + } + } + container minute15secytx-thresholds { + description + "Configure threshold on secytx parameters"; + list minute15secytx-threshold { + key "secytx-threshold"; + description + "none"; + leaf secytx-threshold { + type Secytx-threshold; + description + "Secytx Threshold Type"; + } + leaf secytx-threshold-value { + type uint32; + mandatory true; + description + "Secytx Threshold Value"; + } + } + } + } + container minute15fc { + description + "Configure fc performance monitoring"; + container minute15fc-reports { + description + "set fc TCA reporting status"; + list minute15fc-report { + key "fc-report"; + description + "none"; + leaf fc-report { + type Fc-report; + description + "Fc Report Type"; + } + } + } + container minute15fc-thresholds { + description + "Configure threshold on fc parameters"; + list minute15fc-threshold { + key "fc-threshold"; + description + "none"; + leaf fc-threshold { + type Fc-threshold; + description + "Fc Threshold Type"; + } + leaf fc-threshold-value { + type uint32; + mandatory true; + description + "Fc Threshold Value"; + } + } + } + } + container minute15otnsec { + description + "Configure otnsec performance monitoring"; + container minute15otnsec-thresholds { + description + "Configure otnsec threshold"; + list minute15otnsec-threshold { + key "otnsec-threshold"; + description + "none"; + leaf otnsec-threshold { + type Otnsec-threshold; + description + "OTNSEC Threshold Type"; + } + leaf otnsec-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "OTNSEC Threshold Value"; + } + } + } + container minute15otnsec-reports { + description + "set otnsec TCA reporting status"; + list minute15otnsec-report { + key "otnsec-report"; + description + "none"; + leaf otnsec-report { + type Otnsec-report; + description + "OTNSEC Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "OTNSEC Report"; + } + } + } + } + container minute15prbs { + description + "Configure prbs performance monitoring data"; + container minute15prbs-reports { + description + "set prbs TCA reporting status"; + list minute15prbs-report { + key "prbs-report"; + description + "none"; + leaf prbs-report { + type Prbs-report; + description + "Prbs Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Prbs Report"; + } + } + } + container minute15prbs-thresholds { + description + "Configure prbs threshold"; + list minute15prbs-threshold { + key "prbs-threshold"; + description + "none"; + leaf prbs-threshold { + type Prbs-threshold; + description + "Prbs Threshold Type"; + } + leaf prbs-threshold-value { + type string { + length "1..20"; + } + mandatory true; + description + "Prbs Threshold Value"; + } + } + } + } + container minute15otn { + description + "configure otn g709 performance monitoring"; + container min15-otn-threshes { + description + "Configure threshold on otn parameters"; + list min15-otn-thresh { + key "otn-threshold"; + description + "none"; + leaf otn-threshold { + type Otn-threshold; + description + "Otn Threshold Type"; + } + leaf otn-threshold-value { + type uint32; + mandatory true; + description + "Otn Threshold Value"; + } + } + } + container minute15otn-reports { + description + "set otn TCA reporting status"; + list minute15otn-report { + key "otn-report"; + description + "none"; + leaf otn-report { + type Otn-report; + description + "Otn Report Type"; + } + leaf enable { + type Report; + mandatory true; + description + "Otn Report"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-clear-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-clear-act.yang new file mode 100644 index 000000000..9bb4f1a86 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-clear-act.yang @@ -0,0 +1,81 @@ +module Cisco-IOS-XR-pmengine-clear-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-clear-act"; + prefix pmengine-clear-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR clear statistics for pm-engine module. + + Copyright (c) 2018-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-13 { + description + "Clear per layer support for otu controllers"; + semver:module-version "1.2.0"; + } + revision 2019-10-15 { + description + "Added support for flexible interval"; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-01-09 { + description + "IOS XR 6.5.1 revision."; + } + + rpc clear-controller-pm { + description + "Clear pm-engine statistics"; + input { + leaf controller { + type string; + description + "Controller name in R/S/I/P format"; + } + leaf pm { + type empty; + description + "clear pm counters"; + } + leaf interval { + type uint8 { + range "0..4"; + } + description + "Clear 24-hour(0)/15-min(1)/30-sec(2)/Flexible-Interval(3)/all(4) pm statistics"; + } + leaf layer { + type string; + description + "Layer name to clear PM counter for specific layer"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-gl-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-gl-cfg.yang new file mode 100644 index 000000000..c50ace5d3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-gl-cfg.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XR-pmengine-gl-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-gl-cfg"; + prefix pmengine-gl-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pmengine-gl package configuration. + + This module contains definitions + for the following management objects: + performance-monitor: Configure flex-bin interval + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-20 { + description + "Added new global config for flexbin interval."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container performance-monitor { + description + "Configure flex-bin interval"; + container flex-bin { + description + "Configure flex-bin interval"; + leaf interval { + type uint32 { + range "1..10"; + } + units "second"; + description + "Configure the flex-bin interval in seconds <1 + ,10>"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper-sub1.yang new file mode 100644 index 000000000..e632ec9a9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper-sub1.yang @@ -0,0 +1,3715 @@ +submodule Cisco-IOS-XR-pmengine-oper-sub1 { + belongs-to Cisco-IOS-XR-pmengine-oper { + prefix Cisco-IOS-XR-pmengine-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR pmengine package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-17 { + description + "Added oper support for Host PM parameters in FEC layer."; + semver:module-version "1.4.1m"; + } + revision 2021-07-09 { + description + "Support added for prbs layer for fibre-channel, ocn, stm and ethernet controllers. Support added for cem layer and controller. Container cem added. + 2021-04-26 + Support added for E1 controller. + 2021-04-14 + Support added for pcs and fec layers for fibre-channel controller. + 2021-02-24 + Support added for fc layer and controller. Container fibre-channel added."; + semver:module-version "1.4.0"; + } + revision 2020-09-02 { + description + "Added PM support for PRBS direction feature. + 2020-07-20 + Added parameter for cumulative BIP count in pcs pmengine bag. + 2020-04-17 + Added Instantaneous Q Margin in fec layer. + 2020-04-07 + Changes made to support TCA for OTU PRBS layer."; + semver:module-version "1.3.0"; + } + revision 2019-10-10 { + description + "Added support for flexible bin."; + semver:module-version "1.2.0"; + } + revision 2019-09-30 { + description + "Existing optics parameter PMD is deprecated and SOPMD is added to use instead. + 2019-08-28 + Max and Min time support for fec and optics layer parameters. + 2019-06-01 + Added Range attribute for the history buckets."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-03-30 { + description + "OTU PRBS Stats Added"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Pm-sonet-path-width-enum { + type enumeration { + enum "none" { + value 0; + description + "Sonet Path Width NONE "; + } + enum "sts1" { + value 1; + description + "Sonet Path Width STS1 "; + } + enum "sts3c-stm1" { + value 2; + description + "Sonet Path Width sts3cSTM1 "; + } + enum "sts12c-stm4" { + value 3; + description + "Sonet Path Width sts12cSTM4 "; + } + enum "sts24c" { + value 4; + description + "Sonet Path Width sts24 "; + } + enum "sts48c-stm16" { + value 5; + description + "Sonet Path Width sts48cSTM16 "; + } + enum "sts192c-stm64" { + value 6; + description + "Sonet Path Width sts192cSTM64 "; + } + enum "sts768c-stm256" { + value 7; + description + "Sonet Path Width sts768cSTM256 "; + } + } + description + "Sonet Path Width Enum"; + } + + typedef Pm-prbs-status-et { + type enumeration { + enum "not-applicable" { + value 0; + description + "not applicable"; + } + enum "locked" { + value 1; + description + "locked"; + } + enum "un-locked" { + value 2; + description + "unlocked"; + } + } + description + "PM PRBS Status Mode Enum"; + } + + typedef Pm-prbs-pattern-et { + type enumeration { + enum "prbs-none" { + value 0; + description + "pn none"; + } + enum "pn31" { + value 1; + description + "pn31"; + } + enum "pn23" { + value 2; + description + "pn23"; + } + enum "pn11" { + value 4; + description + "pn11"; + } + enum "inv-pn31" { + value 8; + description + "inv pn31"; + } + enum "inv-pn11" { + value 16; + description + "inv pn11"; + } + enum "pn15" { + value 32; + description + "pn15"; + } + enum "pn7" { + value 64; + description + "pn7"; + } + } + description + "PM PRBS Pattern Mode Enum"; + } + + typedef Pm-prbs-direction-et { + type enumeration { + enum "none" { + value 0; + description + "none"; + } + enum "line" { + value 1; + description + "line"; + } + enum "system" { + value 2; + description + "system"; + } + } + description + "PM PRBS Direction Mode Enum"; + } + + grouping PM-E1-PARAM { + description + "PM E1 PARAM"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf valid { + type boolean; + description + "valid"; + } + } + + grouping PM-E1-PARAS { + description + "all paras in e1"; + container line-code-violations { + description + "Line Code Violations"; + uses PM-E1-PARAM; + } + container path-code-violations { + description + "Path Code Violations"; + uses PM-E1-PARAM; + } + container sels { + description + "SELS"; + uses PM-E1-PARAM; + } + container les { + description + "LES"; + uses PM-E1-PARAM; + } + container aiss-sef { + description + "AISS SEF"; + uses PM-E1-PARAM; + } + container fcp { + description + "FCP"; + uses PM-E1-PARAM; + } + container es { + description + "ES "; + uses PM-E1-PARAM; + } + container ses { + description + "SES"; + uses PM-E1-PARAM; + } + container uas { + description + "UAS"; + uses PM-E1-PARAM; + } + container es-fe { + description + "ES FE"; + uses PM-E1-PARAM; + } + container ses-fe { + description + "SES FE"; + uses PM-E1-PARAM; + } + container uas-fe { + description + "UAS FE"; + uses PM-E1-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string; + description + "timestamp"; + } + leaf last-clear-time { + type string; + description + "last clear time"; + } + leaf last-clear15-min-timep { + type string; + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string; + description + "last clear time"; + } + } + + grouping PM-CEM-PARAM { + description + "PM CEM PARAM"; + leaf data { + type uint64; + description + "the value contained in the parameter"; + } + leaf threshold { + type uint64; + description + "the threshold set for the parameter by user"; + } + leaf tca-report { + type uint8; + description + "flag to enable reporting of TCA"; + } + leaf supp-flag { + type uint8; + description + "flag to check if parameter is supported"; + } + } + + grouping PM-CEM-PARAS { + description + "PM CEM PARAS"; + container missing-pkts { + description + "Number of missing packets"; + uses PM-CEM-PARAM; + } + container pkts-reorder { + description + "Number of packets detected out of sequence, but + successfully re-ordered."; + uses PM-CEM-PARAM; + } + container jtr-bfr-under { + description + "Number of times a packet needed to be played out + and the jitter buffer was empty."; + uses PM-CEM-PARAM; + } + container mis-order-drop { + description + "Number of packets detected out of order, and + could not be re-ordered, or could not fit in the + jitter buffer."; + uses PM-CEM-PARAM; + } + container malformed-pkt { + description + "Number of packets detected with unexpected size, + or bad headers stack."; + uses PM-CEM-PARAM; + } + container es { + description + "number of Error Seconds encountered."; + uses PM-CEM-PARAM; + } + container ses { + description + "number of Severely Error Seconds"; + uses PM-CEM-PARAM; + } + container uas { + description + "number of UnAvailable Seconds."; + uses PM-CEM-PARAM; + } + container fc { + description + "number of TDM failure events"; + uses PM-CEM-PARAM; + } + container input-errs { + description + "number of input errors"; + uses PM-CEM-PARAM; + } + container output-errs { + description + "number of output errors"; + uses PM-CEM-PARAM; + } + container jtr-bfr-overrun { + description + "Number of jitter buffer overruns."; + uses PM-CEM-PARAM; + } + container tx-lbits { + description + "Number of generated lbits."; + uses PM-CEM-PARAM; + } + container tx-rbits { + description + "Number of generated rbits."; + uses PM-CEM-PARAM; + } + container rx-lbits { + description + "Number of received lbits."; + uses PM-CEM-PARAM; + } + container rx-rbits { + description + "Number of received rbits."; + uses PM-CEM-PARAM; + } + container in-pkts { + description + "Number of ingress packets."; + uses PM-CEM-PARAM; + } + container eg-pkts { + description + "Number of egress packets."; + uses PM-CEM-PARAM; + } + container in-drop { + description + "Number of ingress packets dropped."; + uses PM-CEM-PARAM; + } + container eg-drop { + description + "Number of egress packets dropped."; + uses PM-CEM-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + } + + grouping PM-OPTICS-PARAMETER-STRING { + description + "one parameter in optics"; + leaf valid { + type boolean; + description + "valid"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum { + type string; + description + "minimum"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf average { + type string; + description + "average"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum { + type string; + description + "maximum"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum-threshold { + type string; + description + "minimun threshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf configured-min-thresh { + type string; + description + "minimunthreshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum-tca-report { + type boolean; + description + "enable/disable to report TCA on min"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum-threshold { + type string; + description + "maximum threshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf configured-max-thresh { + type string; + description + "maximumthreshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum-tca-report { + type boolean; + description + "enable/disable to report TCA on max"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf min-time { + type uint64; + description + "minimum time"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf max-time { + type uint64; + description + "maximum time"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping PM-OPTICS-PARAMETER { + description + "one parameter in optics"; + leaf valid { + type boolean; + description + "valid"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum { + type int32; + description + "minimum"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf average { + type int32; + description + "average"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum { + type int32; + description + "maximum"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum-threshold { + type int32; + description + "minimun threshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf configured-min-thresh { + type string; + description + "minimunthreshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum-tca-report { + type boolean; + description + "enable/disable to report TCA on min"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum-threshold { + type int32; + description + "maximum threshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf configured-max-thresh { + type string; + description + "maximumthreshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum-tca-report { + type boolean; + description + "enable/disable to report TCA on max"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf min-time { + type uint64; + description + "minimum time"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf max-time { + type uint64; + description + "maximum time"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping PM-OPTICS-PARAS { + description + "all paras in optics"; + container lbc { + description + "LBC"; + uses PM-OPTICS-PARAMETER; + } + container lbc-pc { + description + "LBC in percentage"; + uses PM-OPTICS-PARAMETER-STRING; + } + container opt { + description + "OPT"; + uses PM-OPTICS-PARAMETER-STRING; + } + container opr { + description + "OPR"; + uses PM-OPTICS-PARAMETER-STRING; + } + container cd { + description + "Chromatic Dispersion"; + uses PM-OPTICS-PARAMETER; + } + container dgd { + description + "Differential group Delay"; + uses PM-OPTICS-PARAMETER-STRING; + } + container pmd { + description + "Polarization Mode Dispersion , deprecated , use + sopmd instead which is duplicate of pmd"; + uses PM-OPTICS-PARAMETER-STRING; + } + container sopmd { + description + "Second order Polarization Mode Dispersion"; + uses PM-OPTICS-PARAMETER-STRING; + } + container osnr { + description + "Optical Signal to Noise Ratio"; + uses PM-OPTICS-PARAMETER-STRING; + } + container center-wavelength { + description + "Center Wavelength/Frequency"; + uses PM-OPTICS-PARAMETER-STRING; + } + container pdl { + description + "Polarization Dependent Loss"; + uses PM-OPTICS-PARAMETER-STRING; + } + container pcr { + description + "Polarization Change Rate"; + uses PM-OPTICS-PARAMETER-STRING; + } + container pn { + description + "Phase Noise"; + uses PM-OPTICS-PARAMETER-STRING; + } + container rx-sig-pow { + description + "Rx signal power"; + uses PM-OPTICS-PARAMETER-STRING; + } + container low-sig-freq-off { + description + "low freq sig off"; + uses PM-OPTICS-PARAMETER; + } + container ampli-gain { + description + "Ampli Gain"; + uses PM-OPTICS-PARAMETER-STRING; + } + container ampli-gain-tilt { + description + "Ampli Gain Tilt"; + uses PM-OPTICS-PARAMETER-STRING; + } + container snr { + description + "SNR"; + uses PM-OPTICS-PARAMETER-STRING; + } + container snrax { + description + "SNR AX"; + uses PM-OPTICS-PARAMETER-STRING; + } + container snrbx { + description + "SNR BX"; + uses PM-OPTICS-PARAMETER-STRING; + } + container snray { + description + "SNR AY"; + uses PM-OPTICS-PARAMETER-STRING; + } + container snrby { + description + "SNR BY"; + uses PM-OPTICS-PARAMETER-STRING; + } + container sops1 { + description + "SOP S1"; + uses PM-OPTICS-PARAMETER-STRING; + } + container sops2 { + description + "SOP S2"; + uses PM-OPTICS-PARAMETER-STRING; + } + container sops3 { + description + "SOP S3"; + uses PM-OPTICS-PARAMETER-STRING; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string; + description + "timestamp"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf last-clear-time { + type string; + description + "last clear time"; + } + leaf last-clear15-min-time { + type string; + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string; + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string; + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string; + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + } + + grouping SONET-FAR-END-LINE-ENTRY { + description + "SONET FAR END LINE ENTRY"; + container far-end-line-e-ss { + description + "The number of Errored Seconds"; + uses PM-SONET-PARAMETER; + } + container far-end-line-se-ss { + description + "The number of Severely Errored Seconds"; + uses PM-SONET-PARAMETER; + } + container far-end-line-c-vs { + description + "The number of Coding Violations"; + uses PM-SONET-PARAMETER; + } + container far-end-line-ua-ss { + description + "The number of Unavailable Seconds"; + uses PM-SONET-PARAMETER; + } + container far-end-line-fc-ls { + description + "The number of Failure counts Seconds"; + uses PM-SONET-PARAMETER; + } + } + + grouping SONET-LINE-ENTRY { + description + "SONET LINE ENTRY"; + container line-e-ss { + description + "The number of Errored Seconds"; + uses PM-SONET-PARAMETER; + } + container line-se-ss { + description + "The number of Severely Errored Seconds"; + uses PM-SONET-PARAMETER; + } + container line-c-vs { + description + "The number of Coding Violations"; + uses PM-SONET-PARAMETER; + } + container line-ua-ss { + description + "The number of Unavailable Seconds"; + uses PM-SONET-PARAMETER; + } + container line-fc-ls { + description + "The number of Failure counts Seconds"; + uses PM-SONET-PARAMETER; + } + leaf line-status { + type int32; + description + " status of the interface"; + } + } + + grouping PM-SONET-PARAMETER { + description + "pm one parameter"; + leaf data { + type uint32; + description + "the number in the interval"; + } + leaf threshold { + type uint32; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping SONET-SECTION-ENTRY { + description + "SONET SECTION ENTRY"; + container section-e-ss { + description + "The number of Errored Seconds"; + uses PM-SONET-PARAMETER; + } + container section-se-ss { + description + "The number of Severely Errored Seconds"; + uses PM-SONET-PARAMETER; + } + container section-sef-ss { + description + "The number of Severely Errored Framing Seconds"; + uses PM-SONET-PARAMETER; + } + container section-c-vs { + description + "The number of Coding Violations"; + uses PM-SONET-PARAMETER; + } + leaf section-status { + type int32; + description + " status of the interface"; + } + } + + grouping PM-SONET-PARAS { + description + "all paras in ocn"; + container section { + description + "SECTION"; + uses SONET-SECTION-ENTRY; + } + container line { + description + "LINE"; + uses SONET-LINE-ENTRY; + } + container fe-line { + description + "FarEnd LINE"; + uses SONET-FAR-END-LINE-ENTRY; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + } + + grouping SONET-FAR-END-PATH-ENTRY { + description + "SONET FAR END PATH ENTRY"; + leaf far-end-path-e-ss { + type uint32; + units "second"; + description + "The number of Errored Seconds"; + } + leaf far-end-path-se-ss { + type uint32; + units "second"; + description + "The number of Severely Errored Seconds"; + } + leaf far-end-path-c-vs { + type uint32; + description + "The number of Coding Violations"; + } + leaf far-end-path-ua-ss { + type uint32; + units "second"; + description + "The number of Unavailable Seconds"; + } + } + + grouping PM-SONET-PATH-PARAMETER { + description + "pm one parameter"; + leaf data { + type uint32; + description + "the number in the interval"; + } + leaf threshold { + type uint32; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping SONET-PATH-ENTRY { + description + "SONET PATH ENTRY"; + container path-e-ss { + description + "The number of Errored Seconds"; + uses PM-SONET-PATH-PARAMETER; + } + container path-se-ss { + description + "The number of Severely Errored Seconds"; + uses PM-SONET-PATH-PARAMETER; + } + container path-c-vs { + description + "The number of Coding Violations"; + uses PM-SONET-PATH-PARAMETER; + } + container path-ua-ss { + description + "The number of Unavailable Seconds"; + uses PM-SONET-PATH-PARAMETER; + } + leaf path-width { + type Pm-sonet-path-width-enum; + description + "Indicates the type of the SONET/SDH Path"; + } + leaf path-status { + type int32; + description + " status of the interface"; + } + } + + grouping PM-SONET-PATH-PARAS { + description + "all paras in sts"; + container path { + description + "PATH"; + uses SONET-PATH-ENTRY; + } + container fe-path { + description + "Far End PATH"; + uses SONET-FAR-END-PATH-ENTRY; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + } + + grouping STM-FAR-END-LINE-ENTRY { + description + "STM FAR END LINE ENTRY"; + container far-end-line-e-ss { + description + "The number of Errored Seconds"; + uses PM-STM-PARAMETER; + } + container far-end-line-es-rs { + description + "The number of Errored Seconds Ratio"; + uses PM-STM-PARAMETER-RATIO; + } + container far-end-line-ebb-es { + description + "The number of Background Block Errors"; + uses PM-STM-PARAMETER; + } + container far-end-line-bbe-rs { + description + "The number of Background Block Errors"; + uses PM-STM-PARAMETER-RATIO; + } + container far-end-line-se-ss { + description + "The number of Severely Errored Second"; + uses PM-STM-PARAMETER; + } + container far-end-line-ses-rs { + description + "The number of Severely Errored Second Ratio"; + uses PM-STM-PARAMETER-RATIO; + } + container far-end-line-ua-ss { + description + "The number of Unavailable Second"; + uses PM-STM-PARAMETER; + } + container far-end-line-e-bs { + description + "The number of Errored Block Second"; + uses PM-STM-PARAMETER; + } + } + + grouping STM-LINE-ENTRY { + description + "STM LINE ENTRY"; + container line-e-ss { + description + "The number of Errored Seconds"; + uses PM-STM-PARAMETER; + } + container line-es-rs { + description + "The number of Errored Seconds Ratio"; + uses PM-STM-PARAMETER-RATIO; + } + container line-bb-es { + description + "The number of Background Block Errors"; + uses PM-STM-PARAMETER; + } + container line-bbe-rs { + description + "The number of Background Block Errors"; + uses PM-STM-PARAMETER-RATIO; + } + container line-se-ss { + description + "The number of Severely Errored Second"; + uses PM-STM-PARAMETER; + } + container line-ses-rs { + description + "The number of Severely Errored Second Ratio"; + uses PM-STM-PARAMETER-RATIO; + } + container line-ua-ss { + description + "The number of Unavailable Second"; + uses PM-STM-PARAMETER; + } + container line-e-bs { + description + "The number of Errored Block Second"; + uses PM-STM-PARAMETER; + } + leaf line-status { + type int32; + description + " status of the interface"; + } + } + + grouping PM-STM-PARAMETER-RATIO { + description + "pm one parameter"; + leaf data { + type string { + length "0..8"; + } + description + "the number in the interval"; + } + leaf threshold { + type string { + length "0..8"; + } + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping PM-STM-PARAMETER { + description + "pm one parameter"; + leaf data { + type uint32; + description + "the number in the interval"; + } + leaf threshold { + type uint32; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping STM-SECTION-ENTRY { + description + "STM SECTION ENTRY"; + container section-e-ss { + description + "The number of Errored Seconds"; + uses PM-STM-PARAMETER; + } + container section-es-rs { + description + "The number of Errored Seconds Ratio"; + uses PM-STM-PARAMETER-RATIO; + } + container section-bb-es { + description + "The number of Background Block Errors"; + uses PM-STM-PARAMETER; + } + container section-bbe-rs { + description + "The number of Background Block Errors"; + uses PM-STM-PARAMETER-RATIO; + } + container section-se-ss { + description + "The number of Severely Errored Second"; + uses PM-STM-PARAMETER; + } + container section-ses-rs { + description + "The number of Severely Errored Second Ratio"; + uses PM-STM-PARAMETER-RATIO; + } + container section-ua-ss { + description + "The number of Unavailable Second"; + uses PM-STM-PARAMETER; + } + container section-e-bs { + description + "The number of Errored Block Second"; + uses PM-STM-PARAMETER; + } + leaf section-status { + type int32; + description + " status of the interface"; + } + } + + grouping PM-STM-PARAS { + description + "all paras in stm"; + container section { + description + "SECTION"; + uses STM-SECTION-ENTRY; + } + container line { + description + "LINE"; + uses STM-LINE-ENTRY; + } + container fe-line { + description + "FarEnd LINE"; + uses STM-FAR-END-LINE-ENTRY; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + } + + grouping PM-GFP-PARAM { + description + "PM GFP PARAM"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping PM-GFP-PARAS { + description + "PM GFP PARAS"; + container rx-bit-err { + description + "RX BIT ERR"; + uses PM-GFP-PARAM; + } + container rx-inv-typ { + description + "RX INV TYP"; + uses PM-GFP-PARAM; + } + container rx-crc { + description + "RX CRC"; + uses PM-GFP-PARAM; + } + container rx-lfd { + description + "RX LFD"; + uses PM-GFP-PARAM; + } + container rx-csf { + description + "RX CSF"; + uses PM-GFP-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + } + + grouping PM-OTNSEC-PARAMETER { + description + "otnsec parameter bag"; + leaf data { + type uint64; + description + "PM data"; + } + leaf threshold { + type uint64; + description + "Configured Threshold"; + } + leaf tca-report { + type boolean; + description + "Enable/Disable of TCA"; + } + } + + grouping PM-OTNSEC-PARAS { + description + "pm otnsec statistics"; + container in-blocks { + description + "Frames"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-enc { + description + "Enc Frames"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-un-encrypted { + description + "UnEnc Frames"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-protected { + description + "Auth Count"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-un-protected { + description + "UnAuth Count"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-sequence-errors { + description + "Trouble"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-replay-errors { + description + "Replay"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-auth-errors { + description + "Auth Fail"; + uses PM-OTNSEC-PARAMETER; + } + container in-blocks-zeroed { + description + "Null Count"; + uses PM-OTNSEC-PARAMETER; + } + container out-blocks { + description + "Frames Encrypt"; + uses PM-OTNSEC-PARAMETER; + } + container out-blocks-enc { + description + "Auth Count"; + uses PM-OTNSEC-PARAMETER; + } + container out-blocks-un-encrypted { + description + "UnEnc count"; + uses PM-OTNSEC-PARAMETER; + } + container out-blocks-sequence-errors { + description + "OutBlocksSequenceErrors"; + uses PM-OTNSEC-PARAMETER; + } + container out-blocks-zeroed { + description + "Null Count"; + uses PM-OTNSEC-PARAMETER; + } + container out-blocks-protected { + description + "Auth Count"; + uses PM-OTNSEC-PARAMETER; + } + container out-blocks-un-protected { + description + "UnAuth Count"; + uses PM-OTNSEC-PARAMETER; + } + leaf valid { + type boolean; + description + "Bucket state"; + } + leaf index { + type uint32; + description + "current or history"; + } + leaf timestamp { + type string; + description + "Bucket timestamp"; + } + leaf last-clear-time { + type string; + description + "Last Clearing of Bucket"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + } + + grouping PM-OTN-ALL-CHANS { + description + "all channels in otn layer"; + leaf num-chans { + type uint32; + description + "number of otn channels"; + } + list otn-all-chans { + description + "otn channels"; + uses PM-OTN-PARAS; + } + } + + grouping PM-OTN-PARAMETER-RATIO { + description + "pm one parameter"; + leaf data { + type string; + description + "the number in the interval"; + } + leaf threshold { + type string; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping PM-OTN-PARAMETER { + description + "pm one parameter"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping PM-OTN-PARAS { + description + "all paras in otn"; + container lbc { + description + "LBC"; + uses PM-OTN-PARAMETER; + } + container es-ne { + description + "ES SM NE"; + uses PM-OTN-PARAMETER; + } + container esr-ne { + description + "ESR PM NE"; + uses PM-OTN-PARAMETER-RATIO; + } + container ses-ne { + description + "SES SM NE"; + uses PM-OTN-PARAMETER; + } + container sesr-ne { + description + "SESR SM NE"; + uses PM-OTN-PARAMETER-RATIO; + } + container uas-ne { + description + "UAS SM NE"; + uses PM-OTN-PARAMETER; + } + container bbe-ne { + description + "BBE SM NE"; + uses PM-OTN-PARAMETER; + } + container bber-ne { + description + "BBER SM NE"; + uses PM-OTN-PARAMETER-RATIO; + } + container fc-ne { + description + "FC SM NE"; + uses PM-OTN-PARAMETER; + } + container es-fe { + description + "ES SM FE"; + uses PM-OTN-PARAMETER; + } + container esr-fe { + description + "ESR PM FE"; + uses PM-OTN-PARAMETER-RATIO; + } + container ses-fe { + description + "SES SM FE"; + uses PM-OTN-PARAMETER; + } + container sesr-fe { + description + "SESR SM FE"; + uses PM-OTN-PARAMETER-RATIO; + } + container uas-fe { + description + "UAS SM FE"; + uses PM-OTN-PARAMETER; + } + container bbe-fe { + description + "BBE SM FE"; + uses PM-OTN-PARAMETER; + } + container bber-fe { + description + "BBER SM FE"; + uses PM-OTN-PARAMETER-RATIO; + } + container fc-fe { + description + "FC SM FE"; + uses PM-OTN-PARAMETER; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string; + description + "timestamp"; + } + leaf last-clear-time { + type string; + description + "last clear time"; + } + leaf last-clear15-min-time { + type string; + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string; + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string; + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string; + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + } + + grouping PM-PCS-PARAMETER-COUNT { + description + "pm pcs parameter count"; + leaf name { + type string { + length "0..19"; + } + description + "pcs param name"; + } + leaf data { + type uint64; + description + "the threshold users set"; + } + } + + grouping PM-PCS-PARAMETER { + description + "pm pcs parameter"; + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + list count { + description + "param count"; + uses PM-PCS-PARAMETER-COUNT; + } + } + + grouping PM-PCS-PARAS { + description + "all paras in pcs"; + container bip { + description + "Bip "; + uses PM-PCS-PARAMETER; + } + container frm-err { + description + "Frm Err"; + uses PM-PCS-PARAMETER; + } + container bad-sh { + description + "Bad Sh"; + uses PM-PCS-PARAMETER; + } + container es-ne { + description + "Es Ne"; + uses PM-PCS-PARAMETER; + } + container ses-ne { + description + "Ses Ne"; + uses PM-PCS-PARAMETER; + } + container uas-ne { + description + "Uas Ne"; + uses PM-PCS-PARAMETER; + } + container es-fe { + description + "Es Fe"; + uses PM-PCS-PARAMETER; + } + container ses-fe { + description + "Ese Fe"; + uses PM-PCS-PARAMETER; + } + container uas-fe { + description + "Uas Fe"; + uses PM-PCS-PARAMETER; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string; + description + "timestamp"; + } + leaf last-clear-time { + type string; + description + "last clear time"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + leaf cumulative-bip { + type uint64; + description + "Cumulative Bip"; + } + } + + grouping PM-PRBS-STATUS-PARAMETER { + description + "one parameter in optics"; + leaf valid { + type boolean; + description + "valid"; + } + leaf prbs-status { + type Pm-prbs-status-et; + description + "Prbs Status"; + } + } + + grouping PM-PRBS-PARAMETER { + description + "one parameter in optics"; + leaf valid { + type boolean; + description + "valid"; + } + leaf rcv-patt { + type Pm-prbs-pattern-et; + description + "RCVD PTRN"; + } + } + + grouping PM-PRBS-TCA-PARAMETER { + description + "one parameter in optics"; + leaf threshold { + type uint64; + description + "the threshold users set"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping PM-PRBS-PARAS { + description + "all paras in prbs"; + container ebc-tca { + description + "EBC TCA"; + uses PM-PRBS-TCA-PARAMETER; + } + container found-count-tca { + description + "FOUND COUNT TCA"; + uses PM-PRBS-TCA-PARAMETER; + } + container lost-count-tca { + description + "LOST COUNT TCA"; + uses PM-PRBS-TCA-PARAMETER; + } + container rcv-patt { + description + "RCVD PTRN"; + uses PM-PRBS-PARAMETER; + } + container prbs-status { + description + "PRBS STATUS"; + uses PM-PRBS-STATUS-PARAMETER; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + leaf prbs-direction { + type Pm-prbs-direction-et; + description + "prbs direction"; + } + leaf ebc { + type uint64; + description + "EBC"; + } + leaf found-count { + type uint32; + description + "FOUND COUNT"; + } + leaf lost-count { + type uint32; + description + "LOST COUNT"; + } + leaf found-at-time { + type uint64; + description + "FOUND AT TS"; + } + leaf lost-at-time { + type uint64; + description + "LOST AT TS"; + } + leaf conf-patt { + type Pm-prbs-pattern-et; + description + "CONFIG PTRN"; + } + } + + grouping PM-FC-PARAM { + description + "PM FC PARAM"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf supp-flag { + type boolean; + description + "Support Flag"; + } + leaf valid { + type boolean; + description + "valid"; + } + } + + grouping PM-FC-PARAS { + description + "PM FC PARAS"; + container if-in-octets { + description + "Number of bytes received since the last counter + reset."; + uses PM-FC-PARAM; + } + container rx-pkt { + description + "Total number of receive packets."; + uses PM-FC-PARAM; + } + container if-in-errors { + description + "Total number of receive errors."; + uses PM-FC-PARAM; + } + container rx-bad-fcs { + description + "Number of Rx frames with bad FCS, no coding + error"; + uses PM-FC-PARAM; + } + container if-out-octets { + description + "The total number of octets transmitted out of + the interface, including framing characters."; + uses PM-FC-PARAM; + } + container tx-pkt { + description + "Total number of transmitted packets."; + uses PM-FC-PARAM; + } + container tx-bad-fcs { + description + "Number of Tx frames with bad FCS, no coding + error"; + uses PM-FC-PARAM; + } + container rx-frames-too-long { + description + "Number of too long rx frames."; + uses PM-FC-PARAM; + } + container rx-frames-trunc { + description + "Number of truncated rx frames."; + uses PM-FC-PARAM; + } + container tx-frames-too-long { + description + "Number of too long tx frames."; + uses PM-FC-PARAM; + } + container tx-frames-trunc { + description + "Number of truncated tx frames."; + uses PM-FC-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear 15-min interval time"; + } + leaf last-clear-flex-bin-time { + type string { + length "0..64"; + } + description + "last clear flex-bin interval time"; + } + leaf last-clear30-sec-time { + type string { + length "0..64"; + } + description + "last clear 30-sec interval time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear 25-hour interval time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + } + + grouping PM-FEC-PARAMETER-COUNT { + description + "pm fec parameter count"; + leaf name { + type string { + length "0..32"; + } + description + "fec lane parameter name"; + } + leaf minimum { + type string { + length "0..20"; + } + description + "minimum value of the parameter in the bucket"; + } + leaf average { + type string { + length "0..20"; + } + description + "average value of the parameter in the bucket"; + } + leaf maximum { + type string { + length "0..20"; + } + description + "maximum value of the parameter in the bucket"; + } + leaf valid { + type boolean; + description + "Flag indicating validity of the parameter"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf min-time { + type uint64; + description + "time in nsec when minimum value was captured"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf max-time { + type uint64; + description + "time in nsec when maximum value was captured"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping PM-FEC-PARAM-LANES-STRING { + description + "pm fec lanes parameter"; + leaf minimum-threshold { + type string { + length "0..20"; + } + description + "minimum threshold"; + } + leaf minimum-tca-report { + type boolean; + description + "enable/disable to report TCA on min"; + } + leaf maximum-threshold { + type string { + length "0..20"; + } + description + "maximum threshold"; + } + leaf maximum-tca-report { + type boolean; + description + "enable/disable to report TCA on max"; + } + list count { + description + "parameter count"; + uses PM-FEC-PARAMETER-COUNT; + } + } + + grouping PM-FEC-PARAM-STRING { + description + "pm avg fec parameter"; + leaf minimum { + type string; + description + "minimum"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf average { + type string; + description + "average"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum { + type string; + description + "maximum"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum-threshold { + type string; + description + "minimun threshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf minimum-tca-report { + type boolean; + description + "enable/disable to report TCA on min"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum-threshold { + type string; + description + "maximum threshold"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf maximum-tca-report { + type boolean; + description + "enable/disable to report TCA"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf valid { + type boolean; + description + "valid"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf min-time { + type uint64; + description + "minimum time"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf max-time { + type uint64; + description + "maximum time"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping PM-FEC-PARAM { + description + "pm avg fec param"; + leaf data { + type uint64; + description + "the number in the interval"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf valid { + type boolean; + description + "valid"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } + + grouping PM-FEC-PARAS { + description + "all paras in fec"; + container ec-bits { + description + "EC BITS"; + uses PM-FEC-PARAM; + } + container uc-words { + description + "UC WORDS"; + uses PM-FEC-PARAM; + } + container pre-fec-ber { + description + "Pre FEC BER"; + uses PM-FEC-PARAM-STRING; + } + container post-fec-ber { + description + "Post FEC BER"; + uses PM-FEC-PARAM-STRING; + } + container q { + description + "Q"; + uses PM-FEC-PARAM-STRING; + } + container qmargin { + description + "Q Margin"; + uses PM-FEC-PARAM-STRING; + } + container qmargin-inst { + description + "Q Margin Instantaneous"; + uses PM-FEC-PARAM-STRING; + } + container ec-words { + description + "EC Words"; + uses PM-FEC-PARAM; + } + container ber-lane { + description + "Lane details of Bit Error Rate"; + uses PM-FEC-PARAM-LANES-STRING; + } + container ferc-lane { + description + "Lane details of Frame Error Count"; + uses PM-FEC-PARAM-LANES-STRING; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string; + description + "timestamp"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf last-clear-time { + type string; + description + "last clear time"; + } + leaf last-clear15-min-time { + type string; + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string; + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string; + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string; + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + } + + grouping HO-VC-FAR-END-PATH-ENTRY { + description + "HO VC FAR END PATH ENTRY"; + leaf far-end-path-e-ss { + type uint32; + units "second"; + description + "The number of Errored Seconds"; + } + leaf far-end-path-se-ss { + type uint32; + units "second"; + description + "The number of Severely Errored Seconds"; + } + leaf far-end-path-c-vs { + type uint32; + description + "The number of Coding Violations"; + } + leaf far-end-path-ua-ss { + type uint32; + units "second"; + description + "The number of Unavailable Seconds"; + } + } + + grouping PM-HO-VC-PARAMETER-RATIO { + description + "pm one parameter"; + leaf data { + type string { + length "0..8"; + } + description + "the number in the interval"; + } + leaf threshold { + type string { + length "0..8"; + } + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping PM-HO-VC-PARAMETER { + description + "pm one parameter"; + leaf data { + type uint32; + description + "the number in the interval"; + } + leaf threshold { + type uint32; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + } + + grouping HO-VC-ENTRY { + description + "HO VC ENTRY"; + container path-e-ss { + description + "The number of Errored Seconds"; + uses PM-HO-VC-PARAMETER; + } + container path-es-rs { + description + "The number of Errored Seconds"; + uses PM-HO-VC-PARAMETER-RATIO; + } + container path-se-ss { + description + "The number of Severely Errored Seconds"; + uses PM-HO-VC-PARAMETER; + } + container path-ses-rs { + description + "The number of Severely Errored Seconds"; + uses PM-HO-VC-PARAMETER-RATIO; + } + container path-e-bs { + description + "The number of Errored blocks"; + uses PM-HO-VC-PARAMETER; + } + container path-ua-ss { + description + "The number of Unavailable Seconds"; + uses PM-HO-VC-PARAMETER; + } + container path-bb-es { + description + "The number of background block errors"; + uses PM-HO-VC-PARAMETER; + } + container path-bbe-rs { + description + "The number of background block errors"; + uses PM-HO-VC-PARAMETER-RATIO; + } + leaf path-status { + type int32; + description + " status of the interface"; + } + } + + grouping PM-HO-VC-PARAS { + description + "all paras in ho_vc"; + container path { + description + "PATH"; + uses HO-VC-ENTRY; + } + container fe-path { + description + "Far End PATH"; + uses HO-VC-FAR-END-PATH-ENTRY; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + } + + grouping PM-SECY-TX-PARAM { + description + "PM SECY TX PARAM"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf valid { + type boolean; + description + "valid"; + } + } + + grouping PM-SECY-TX-PARAS { + description + "PM SECY TX PARAS"; + container out-pkts-protected { + description + "Out Packets Protected"; + uses PM-SECY-TX-PARAM; + } + container out-pkts-encrypted { + description + "Out Packets Encrypted"; + uses PM-SECY-TX-PARAM; + } + container out-octets-protected { + description + "Out Octets Protected "; + uses PM-SECY-TX-PARAM; + } + container out-octets-encrypted { + description + "Out Octets Encrypted"; + uses PM-SECY-TX-PARAM; + } + container out-pkts-too-long { + description + "Out Packets Too Long"; + uses PM-SECY-TX-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + leaf sample-count { + type uint64; + description + "Running Sample Count"; + } + } + + grouping PM-SECY-RX-PARAM { + description + "PM SECY RX PARAM"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf valid { + type boolean; + description + "valid"; + } + } + + grouping PM-SECY-RX-PARAS { + description + "PM SECY RX PARAS"; + container in-pkts-unchecked { + description + "In Packet Unchecked"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-delayed { + description + "In Packet Delay"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-late { + description + "In Packet Late"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-ok { + description + "In Packet Ok"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-invalid { + description + "In Packet Invalid"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-not-valid { + description + "In Packet Not Valid"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-not-using-sa { + description + "In Packet Not Using SA"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-unused-sa { + description + "In Packet Unused SA"; + uses PM-SECY-RX-PARAM; + } + container in-pkts-untagged-hit { + description + "In Packet Untagged Hit"; + uses PM-SECY-RX-PARAM; + } + container in-octets-validated { + description + "In Octet Validated"; + uses PM-SECY-RX-PARAM; + } + container in-octets-decrypted { + description + "In Octet Decrypted"; + uses PM-SECY-RX-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + leaf sample-count { + type uint64; + description + "Running Sample Count"; + } + } + + grouping PM-SECY-IF-PARAM { + description + "PM SECY IF PARAM"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf valid { + type boolean; + description + "valid"; + } + } + + grouping PM-SECY-IF-PARAS { + description + "PM SECY IF PARAS"; + container in-pkts-untagged { + description + "In Packet Untagged"; + uses PM-SECY-IF-PARAM; + } + container in-pkts-no-tag { + description + "In Packet No tag"; + uses PM-SECY-IF-PARAM; + } + container in-pkts-bad-tag { + description + "In Packet Bad tag"; + uses PM-SECY-IF-PARAM; + } + container in-pkts-unknown-sci { + description + "In Packet Unknown sci"; + uses PM-SECY-IF-PARAM; + } + container in-pkts-no-sci { + description + "In Packet No sci"; + uses PM-SECY-IF-PARAM; + } + container in-pkts-overrun { + description + "In Packet Overrun"; + uses PM-SECY-IF-PARAM; + } + container in-octets-validated { + description + "In Octet Validated"; + uses PM-SECY-IF-PARAM; + } + container in-octets-decrypted { + description + "In Octet Decrypted"; + uses PM-SECY-IF-PARAM; + } + container out-pkts-untagged { + description + "Out Packet Untagged"; + uses PM-SECY-IF-PARAM; + } + container out-pkts-too-long { + description + "Out Packet Too Long"; + uses PM-SECY-IF-PARAM; + } + container out-octets-protected { + description + "Out Octet Protected"; + uses PM-SECY-IF-PARAM; + } + container out-octets-encrypted { + description + "Out Octet encrypted"; + uses PM-SECY-IF-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear15-min-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string { + length "0..64"; + } + description + "last clear time"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + leaf sample-count { + type uint64; + description + "Running Sample Count"; + } + } + + grouping PM-ETHER-PARAM-STRING { + description + "PM ETHER PARAM STRING"; + leaf data { + type string; + description + "the number in the interval"; + } + leaf threshold { + type string; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf valid { + type boolean; + description + "valid"; + } + } + + grouping PM-ETHER-PARAM { + description + "PM ETHER PARAM"; + leaf data { + type uint64; + description + "the number in the interval"; + } + leaf threshold { + type uint64; + description + "the threshold users set"; + } + leaf tca-report { + type boolean; + description + "enable/disable to report TCA"; + } + leaf valid { + type boolean; + description + "valid"; + } + } + + grouping PM-ETHERNET-PARAS { + description + "all paras in ether"; + container rx-pkt { + description + "RX PKT"; + uses PM-ETHER-PARAM; + } + container stat-pkt { + description + "STAT PKT"; + uses PM-ETHER-PARAM; + } + container octet-stat { + description + "OCTET STAT"; + uses PM-ETHER-PARAM; + } + container oversize-pkt-stat { + description + "OVERSIZE PKT"; + uses PM-ETHER-PARAM; + } + container fcs-errors-stat { + description + "FCS ERR"; + uses PM-ETHER-PARAM; + } + container long-frames-stat { + description + "LONG FRAMES"; + uses PM-ETHER-PARAM; + } + container jabber-stat { + description + "JABBER STATS"; + uses PM-ETHER-PARAM; + } + container ether64-octets { + description + "SIXTY FOUR OCTET"; + uses PM-ETHER-PARAM; + } + container ether65127-octet { + description + "OCTET"; + uses PM-ETHER-PARAM; + } + container ether128255-octet { + description + "TFF OCTET"; + uses PM-ETHER-PARAM; + } + container ether256511-octet { + description + "FOO OCTET"; + uses PM-ETHER-PARAM; + } + container ether5121023-octet { + description + "OZTT OCTET"; + uses PM-ETHER-PARAM; + } + container ether10241518-octet { + description + "OFO OCTET"; + uses PM-ETHER-PARAM; + } + container in-ucast-pkt { + description + "IN UCAST"; + uses PM-ETHER-PARAM; + } + container in-mcast-pkt { + description + "IN MCAST"; + uses PM-ETHER-PARAM; + } + container in-bcast-pkt { + description + "IN BCAST"; + uses PM-ETHER-PARAM; + } + container out-ucast-pkt { + description + "OUT UCAST"; + uses PM-ETHER-PARAM; + } + container out-bcast-pkt { + description + "OUT BCAST"; + uses PM-ETHER-PARAM; + } + container out-mcast-pkt { + description + "OUT MCAST"; + uses PM-ETHER-PARAM; + } + container tx-pkt { + description + "TX PKT"; + uses PM-ETHER-PARAM; + } + container if-in-errors { + description + "IFIN ERRORS"; + uses PM-ETHER-PARAM; + } + container if-in-octets { + description + "IFIN OCTETS"; + uses PM-ETHER-PARAM; + } + container ether-stat-multicast-pkt { + description + "ETHER STAT MULTICAST PKT"; + uses PM-ETHER-PARAM; + } + container ether-stat-broadcast-pkt { + description + "ETHER STAT BROADCAST PKT"; + uses PM-ETHER-PARAM; + } + container ether-stat-undersized-pkt { + description + "ETHER STAT UNDERSIZED PKT"; + uses PM-ETHER-PARAM; + } + container out-octets { + description + "OUT OCTET"; + uses PM-ETHER-PARAM; + } + container in-pause-frame { + description + "INPUT PAUSE FRAME"; + uses PM-ETHER-PARAM; + } + container in-good-bytes { + description + "INPUT GOOD BYTES"; + uses PM-ETHER-PARAM; + } + container in8021q-frames { + description + "INPUT 802 1Q FRAMES"; + uses PM-ETHER-PARAM; + } + container in-pkts1519-max-octets { + description + "INPUT PKTS 1519MAX OCTETS"; + uses PM-ETHER-PARAM; + } + container in-good-pkts { + description + "INPUT GOOD PKTS"; + uses PM-ETHER-PARAM; + } + container in-drop-overrun { + description + "INPUT DROP OVERRUN"; + uses PM-ETHER-PARAM; + } + container in-drop-abort { + description + "INPUT DROP ABORT"; + uses PM-ETHER-PARAM; + } + container in-drop-invalid-vlan { + description + "INPUT DROP INVALID VLAN"; + uses PM-ETHER-PARAM; + } + container in-drop-invalid-dmac { + description + "INPUT DROP INVALID DMAC"; + uses PM-ETHER-PARAM; + } + container in-drop-invalid-encap { + description + "INPUT DROP INVALID ENCAP"; + uses PM-ETHER-PARAM; + } + container in-drop-other { + description + "INPUT DROP OTHER"; + uses PM-ETHER-PARAM; + } + container in-mib-giant { + description + "INPUT MIB GIANT"; + uses PM-ETHER-PARAM; + } + container in-mib-jabber { + description + "INPUT MIB JABBER"; + uses PM-ETHER-PARAM; + } + container in-mibcrc { + description + "IN MIB CRC"; + uses PM-ETHER-PARAM; + } + container in-error-collisions { + description + "IN ERROR COLLISIONS"; + uses PM-ETHER-PARAM; + } + container in-error-symbol { + description + "IN ERROR SYMBOL"; + uses PM-ETHER-PARAM; + } + container out-good-bytes { + description + "OUT GOOD BYTES"; + uses PM-ETHER-PARAM; + } + container out8021q-frames { + description + "OUT 802 1Q FRAMES"; + uses PM-ETHER-PARAM; + } + container out-pause-frames { + description + "OUT PAUSE FRAMES"; + uses PM-ETHER-PARAM; + } + container out-pkts1519-max-octets { + description + "OUT PKTS 1519 MAX OCTETS"; + uses PM-ETHER-PARAM; + } + container out-good-pkts { + description + "OUT GOOD PKTS"; + uses PM-ETHER-PARAM; + } + container out-drop-underrun { + description + "OUT DROP UNDERRUN"; + uses PM-ETHER-PARAM; + } + container out-drop-abort { + description + "OUT DROP ABORT"; + uses PM-ETHER-PARAM; + } + container out-drop-other { + description + "OUT DROP OTHER"; + uses PM-ETHER-PARAM; + } + container out-error-other { + description + "OUT ERROR OTHER"; + uses PM-ETHER-PARAM; + } + container in-error-giant { + description + "IN ERROR GIANT"; + uses PM-ETHER-PARAM; + } + container in-error-runt { + description + "IN ERROR RUNT"; + uses PM-ETHER-PARAM; + } + container in-error-jabbers { + description + "IN ERROR JABBERS"; + uses PM-ETHER-PARAM; + } + container in-error-fragments { + description + "IN ERROR FRAGMENTS"; + uses PM-ETHER-PARAM; + } + container in-error-other { + description + "IN ERROR OTHER"; + uses PM-ETHER-PARAM; + } + container in-pkt64-octet { + description + "IN PKT 64 OCTET"; + uses PM-ETHER-PARAM; + } + container in-pkts65-to127-octets { + description + "IN PKTS 65 127OCTETS"; + uses PM-ETHER-PARAM; + } + container in-pkts128-to255-octets { + description + "IN PKTS 128 255 OCTETS"; + uses PM-ETHER-PARAM; + } + container in-pkts256-to511-octets { + description + "IN PKTS 256 511 OCTETS"; + uses PM-ETHER-PARAM; + } + container in-pkts512-to1023-octets { + description + "IN PKTS 512 1023 OCTETS"; + uses PM-ETHER-PARAM; + } + container in-pkts1024-to1518-octets { + description + "IN PKTS 1024 1518 OCTETS"; + uses PM-ETHER-PARAM; + } + container outpkt64octet { + description + "OUT PKT 64 OCTET"; + uses PM-ETHER-PARAM; + } + container out-pkts65127-octets { + description + "OUT PKTS 65 127OCTETS"; + uses PM-ETHER-PARAM; + } + container out-pkts128255-octets { + description + "OUT PKTS 128 255 OCTETS"; + uses PM-ETHER-PARAM; + } + container out-pkts256511-octets { + description + "OUT PKTS 256 511 OCTETS"; + uses PM-ETHER-PARAM; + } + container out-pkts5121023-octets { + description + "OUT PKTS 512 1023 OCTETS"; + uses PM-ETHER-PARAM; + } + container out-pkts10241518-octets { + description + "OUT PKTS 1024 1518 OCTETS"; + uses PM-ETHER-PARAM; + } + container rx-util { + description + "Rx Utilization in Percent"; + uses PM-ETHER-PARAM-STRING; + } + container tx-util { + description + "Tx Utilization in Percent"; + uses PM-ETHER-PARAM-STRING; + } + container tx-undersized-pkt { + description + "TX Undersized Pkt"; + uses PM-ETHER-PARAM; + } + container tx-oversized-pkt { + description + "TX Oversized Pkt"; + uses PM-ETHER-PARAM; + } + container tx-fragments { + description + "TX Fragments"; + uses PM-ETHER-PARAM; + } + container tx-jabber { + description + "TX Jabber"; + uses PM-ETHER-PARAM; + } + container tx-bad-fcs { + description + "TX Bad Fcs"; + uses PM-ETHER-PARAM; + } + leaf index { + type uint32; + description + "index"; + } + leaf valid { + type boolean; + description + "valid"; + } + leaf timestamp { + type string { + length "0..64"; + } + description + "timestamp"; + } + leaf last-clear-time { + type string; + description + "last clear time"; + } + leaf last-clear-flex-bin-time { + type string; + description + "last clear time"; + } + leaf last-clear30-sec-time { + type string; + description + "last clear time"; + } + leaf last-clear15-min-time { + type string; + description + "last clear time"; + } + leaf last-clear24-hr-time { + type string; + description + "last clear time"; + } + leaf flex-bin-support { + type boolean; + description + "flex bin support"; + } + leaf flex-bin-interval { + type uint16; + description + "flex bin interval"; + } + leaf sec30-support { + type boolean; + description + "30 sec support"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper.yang new file mode 100644 index 000000000..8e6310ed6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pmengine-oper.yang @@ -0,0 +1,6067 @@ +module Cisco-IOS-XR-pmengine-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-oper"; + prefix pmengine-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-pmengine-oper-sub1 { + revision-date 2021-12-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pmengine package operational data. + + This module contains definitions + for the following management objects: + performance-management: performace data + performance-management-history: performace data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-17 { + description + "Added oper support for Host PM parameters in FEC layer."; + semver:module-version "1.4.1m"; + } + revision 2021-07-09 { + description + "Support added for prbs layer for fibre-channel, ocn, stm and ethernet controllers. Support added for cem layer and controller. Container cem added. + 2021-04-26 + Support added for E1 controller. + 2021-04-14 + Support added for pcs and fec layers for fibre-channel controller. + 2021-02-24 + Support added for fc layer and controller. Container fibre-channel added."; + semver:module-version "1.4.0"; + } + revision 2020-09-02 { + description + "Added PM support for PRBS direction feature. + 2020-07-20 + Added parameter for cumulative BIP count in pcs pmengine bag. + 2020-04-17 + Added Instantaneous Q Margin in fec layer. + 2020-04-07 + Changes made to support TCA for OTU PRBS layer."; + semver:module-version "1.3.0"; + } + revision 2019-10-10 { + description + "Added support for flexible bin."; + semver:module-version "1.2.0"; + } + revision 2019-09-30 { + description + "Existing optics parameter PMD is deprecated and SOPMD is added to use instead. + 2019-08-28 + Max and Min time support for fec and optics layer parameters. + 2019-06-01 + Added Range attribute for the history buckets."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-03-30 { + description + "OTU PRBS Stats Added"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container performance-management { + config false; + description + "performace data"; + container macsec { + description + "MACSEC controller performance data"; + container macsec-ports { + description + "Port performance data"; + list macsec-port { + key "name"; + description + "Port performance data"; + container macsec-prev { + description + "port prev performance data"; + container macsec-prev-flex-interval { + description + "port prev performance data"; + container macsec-prev-flex-interval-ether-s { + description + "port prev performance data"; + list macsec-prev-flex-interval-ether { + key "number"; + description + "port flex-sec ether performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + container macsec-prev-flex-interval-secyifs { + description + "port prev performance data"; + list macsec-prev-flex-interval-secyif { + key "number"; + description + "port flex-sec secy-if performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-IF-PARAS; + } + } + container macsec-prev-flex-interval-secyrxes { + description + "port prev performance data"; + list macsec-prev-flex-interval-secyrx { + key "number"; + description + "port flex-sec secy-rx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-RX-PARAS; + } + } + container macsec-prev-flex-interval-secytxes { + description + "port prev performance data"; + list macsec-prev-flex-interval-secytx { + key "number"; + description + "port flex-sec secy-tx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-TX-PARAS; + } + } + } + } + container macsec-current { + description + "port current performance data"; + container macsec-minute15 { + description + "port current performance data"; + container macsec-minute15secyifs { + description + "port current performance data"; + list macsec-minute15secyif { + key "number"; + description + "port 15-minute secy-if performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-IF-PARAS; + } + } + container macsec-minute15secyrxes { + description + "port current performance data"; + list macsec-minute15secyrx { + key "number"; + description + "port 15-minute secy-rx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-RX-PARAS; + } + } + container macsec-minute15secytxes { + description + "port current performance data"; + list macsec-minute15secytx { + key "number"; + description + "port 15-minute secy-tx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-TX-PARAS; + } + } + container macsec-minute15-ether-s { + description + "port current performance data"; + list macsec-minute15-ether { + key "number"; + description + "port 15-minute ether performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + } + container macsec-second30 { + description + "port current performance data"; + container macsec-second30secyifs { + description + "port current performance data"; + list macsec-second30secyif { + key "number"; + description + "port 30-sec secy-if performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-IF-PARAS; + } + } + container macsec-second30secyrxes { + description + "port current performance data"; + list macsec-second30secyrx { + key "number"; + description + "port 30-sec secy-rx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-RX-PARAS; + } + } + container macsec-second30-ether-s { + description + "port current performance data"; + list macsec-second30-ether { + key "number"; + description + "port 30-sec ether performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + container macsec-second30secytxes { + description + "port current performance data"; + list macsec-second30secytx { + key "number"; + description + "port 30-sec secy-tx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-TX-PARAS; + } + } + } + container macsec-flex-interval { + description + "port current performance data"; + container macsec-flex-interval-secyifs { + description + "port current performance data"; + list macsec-flex-interval-secyif { + key "number"; + description + "port flex-sec secy-if performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-IF-PARAS; + } + } + container macsec-flex-interval-secyrxes { + description + "port current performance data"; + list macsec-flex-interval-secyrx { + key "number"; + description + "port flex-sec secy-rx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-RX-PARAS; + } + } + container macsec-flex-interval-ether-s { + description + "port current performance data"; + list macsec-flex-interval-ether { + key "number"; + description + "port flex-sec ether performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + container macsec-flex-interval-secytxes { + description + "port current performance data"; + list macsec-flex-interval-secytx { + key "number"; + description + "port flex-sec secy-tx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-TX-PARAS; + } + } + } + container macsec-hour24 { + description + "port current performance data"; + container macsec-hour24-ether-s { + description + "port current performance data"; + list macsec-hour24-ether { + key "number"; + description + "port 24 hour ether performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + container macsec-hour24secyifs { + description + "port current performance data"; + list macsec-hour24secyif { + key "number"; + description + "port 24 hour secy-if performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-IF-PARAS; + } + } + container macsec-hour24secyrxes { + description + "port current performance data"; + list macsec-hour24secyrx { + key "number"; + description + "port 24 hour secy-rx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-RX-PARAS; + } + } + container macsec-hour24secytxes { + description + "port current performance data"; + list macsec-hour24secytx { + key "number"; + description + "port 24 hour secy-tx performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SECY-TX-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container ho-vc { + description + "HO_VC controller performance data"; + container ho-vc-ports { + description + "Port performance data"; + list ho-vc-port { + key "name"; + description + "Port performance data"; + container ho-vc-current { + description + "port current performance data"; + container ho-vc-hour24 { + description + "port current performance data"; + container ho-vc-hour24-paths { + description + "port current performance data"; + list ho-vc-hour24-path { + key "number"; + description + "port 24 hour Path performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-HO-VC-PARAS; + } + } + } + container ho-vc-minute15 { + description + "port current performance data"; + container ho-vc-minute15-paths { + description + "port current performance data"; + list ho-vc-minute15-path { + key "number"; + description + "port 15-minute Path performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-HO-VC-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container fibre-channel { + description + "Fibre Channel controller performance data"; + container fc-ports { + description + "Port performance data"; + list fc-port { + key "name"; + description + "Port performance data"; + container fc-current { + description + "FC controller current performance data"; + container fc-minute15 { + description + "FC controller current 15 minute performance + data"; + container fc-minute15fecs { + description + "FC controller 15 minute FEC layer current + performance data"; + list fc-minute15fec { + key "slot-number"; + description + "FC controller 15 minute FEC layer current + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FEC-PARAS; + } + } + container minute15fcs { + description + "FC controller 15 minute current FC layer + performance data"; + list minute15fc { + key "slot-number"; + description + "FC controller 15 minute current FC layer + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FC-PARAS; + } + } + container fc-minute15prbses { + description + "FC controller 15 minute PRBS layer current + performance data"; + list fc-minute15prbs { + key "number"; + description + "FC controller 15 minute PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container fc-minute15pcses { + description + "FC controller 15 minute PCS layer current + performance data"; + list fc-minute15pcs { + key "slot-number"; + description + "FC controller 15 minute PCS layer current + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + } + container fc-second30 { + description + "FC controller current 30 second performance + data"; + container fc-second30fecs { + description + "FC controller 30 second FEC layer current + performance data"; + list fc-second30fec { + key "slot-number"; + description + "FC controller 30 second FEC layer current + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FEC-PARAS; + } + } + container second30fcs { + description + "FC controller 30 second current FC layer + performance data"; + list second30fc { + key "slot-number"; + description + "FC controller 30 second current FC layer + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FC-PARAS; + } + } + container fc-second30prbses { + description + "FC controller 30 second PRBS layer current + performance data"; + list fc-second30prbs { + key "number"; + description + "FC controller 30 second PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container fc-second30pcses { + description + "FC controller 30 second PCS layer current + performance data"; + list fc-second30pcs { + key "slot-number"; + description + "FC controller 30 second PCS layer current + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + } + container fc-flex-interval { + description + "FC controller flex-bin current performance + data"; + container fc-flex-interval-pcses { + description + "FC controller flex-bin PCS layer current + performance data"; + list fc-flex-interval-pcs { + key "slot-number"; + description + "FC controller flex-bin PCS layer current + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + container fc-flex-interval-fcs { + description + "FC controller flex-bin FC layer current + performance data"; + list fc-flex-interval-fc { + key "number"; + description + "FC controller flex-bin FC layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FC-PARAS; + } + } + container fc-flex-interval-fecs { + description + "FC controller flex-bin FEC layer current + performance data"; + list fc-flex-interval-fec { + key "slot-number"; + description + "FC controller flex-bin FEC layer current + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FEC-PARAS; + } + } + container fc-flex-interval-prbses { + description + "FC controller flex-bin PRBS layer current + performance data"; + list fc-flex-interval-prbs { + key "number"; + description + "FC controller flex-bin PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + container fc-hour24 { + description + "FC controller current 24 hour performance + data"; + container fc-hour24prbses { + description + "FC controller 24 hour PRBS layer current + performance data"; + list fc-hour24prbs { + key "number"; + description + "FC controller 24 hour PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container fc-hour24fcs { + description + "FC controller 24 hour FC layer current + performance data"; + list fc-hour24fc { + key "number"; + description + "FC controller 24 hour FC layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FC-PARAS; + } + } + container fc-hour24pcses { + description + "FC controller 24 hour PCS layer current + performance data"; + list fc-hour24pcs { + key "number"; + description + "FC controller 24 hour PCS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PCS-PARAS; + } + } + container fc-hour24fecs { + description + "FC controller 24 hour FEC layer current + performance data"; + list fc-hour24fec { + key "number"; + description + "FC controller 24 hour FEC layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + } + } + container fc-prev { + description + "FC controller previous performance data"; + container fc-prev-flex-interval { + description + "FC controller flex-bin previous performance + data"; + container fc-prev-flex-interval-fcs { + description + "FC controller flex-bin previous FC layer + performance data"; + list fc-prev-flex-interval-fc { + key "number"; + description + "FC controller flex-bin previous FC layer + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FC-PARAS; + } + } + container fc-prev-flex-interval-prbses { + description + "FC controller flex-bin PRBS layer previous + performance data"; + list fc-prev-flex-interval-prbs { + key "number"; + description + "FC controller flex-bin PRBS layer previous + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container fc-prev-flex-interval-pcses { + description + "FC controller flex-bin PCS layer previous + performance data"; + list fc-prev-flex-interval-pcs { + key "slot-number"; + description + "FC controller flex-bin PCS layer previous + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + container fc-prev-flex-interval-fecs { + description + "FC controller flex-bin FEC layer previous + performance data"; + list fc-prev-flex-interval-fec { + key "slot-number"; + description + "FC controller flex-bin FEC layer previous + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FEC-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container odu { + description + "ODU controller performance data"; + container odu-ports { + description + "Port performance data"; + list odu-port { + key "name"; + description + "Port performance data"; + container odu-prev { + description + "port prev performance data"; + container odu-prev-flex-interval { + description + "port prev performance data"; + container odu-prev-flex-interval-otns { + description + "port prev performance data"; + list odu-prev-flex-interval-otn { + key "number"; + description + "port flex-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + container odu-prev-flex-interval-prbses { + description + "port prev performance data"; + list odu-prev-flex-interval-prbs { + key "number"; + description + "port flex-sec prbs performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container odu-prev-flex-interval-otn-all-table { + description + "port flex-sec otn all channels performance + data"; + uses PM-OTN-ALL-CHANS; + } + container odu-prev-flex-interval-otnsecs { + description + "flex-sec odu performance data"; + list odu-prev-flex-interval-otnsec { + key "number"; + description + "otnsec flex-sec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTNSEC-PARAS; + } + } + container odu-prev-flex-interval-gfps { + description + "port prev performance data"; + list odu-prev-flex-interval-gfp { + key "number"; + description + "port flex-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-GFP-PARAS; + } + } + } + } + container odu-current { + description + "port current performance data"; + container odu-minute15 { + description + "port current performance data"; + container odu-minute15gfps { + description + "port current performance data"; + list odu-minute15gfp { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-GFP-PARAS; + } + } + container odu-minute15prbses { + description + "port current performance data"; + list odu-minute15prbs { + key "number"; + description + "port 15-minute prbs performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container odu-minute15otnsecs { + description + "15-min odu performance data"; + list odu-minute15otnsec { + key "number"; + description + "otnsec 15-min performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTNSEC-PARAS; + } + } + container odu-minute15otns { + description + "port current performance data"; + list odu-minute15otn { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + } + container odu-flex-interval { + description + "port current performance data"; + container odu-flex-interval-prbses { + description + "port current performance data"; + list odu-flex-interval-prbs { + key "number"; + description + "port flex-sec prbs performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container odu-flex-interval-gfps { + description + "port current performance data"; + list odu-flex-interval-gfp { + key "number"; + description + "port flex-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-GFP-PARAS; + } + } + container odu-flex-interval-otns { + description + "port current performance data"; + list odu-flex-interval-otn { + key "number"; + description + "port flex-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + container odu-flex-interval-otnsecs { + description + "flex-sec odu performance data"; + list odu-flex-interval-otnsec { + key "number"; + description + "otnsec flexi-sec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTNSEC-PARAS; + } + } + } + container odu-second30 { + description + "port current performance data"; + container odu-second30prbses { + description + "30-sec odu performance data"; + list odu-second30prbs { + key "number"; + description + "PRBS 30-sec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container odu-second30otns { + description + "30-sec odu performance data"; + list odu-second30otn { + key "number"; + description + "port 30-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + container odu-second30otnsecs { + description + "30-sec odu performance data"; + list odu-second30otnsec { + key "number"; + description + "otnsec 30-sec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTNSEC-PARAS; + } + } + container odu-second30gfps { + description + "30-sec odu performance data"; + list odu-second30gfp { + key "number"; + description + "GFP 30-sec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-GFP-PARAS; + } + } + } + container odu-hour24 { + description + "port current performance data"; + container odu-hour24prbses { + description + "port 24 hour performance data"; + list odu-hour24prbs { + key "number"; + description + "port 24 hour otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container odu-hour24otnsecs { + description + "24-hr odu performance data"; + list odu-hour24otnsec { + key "number"; + description + "otnsec 24-hr performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTNSEC-PARAS; + } + } + container odu-hour24gfps { + description + "port 24 hour performance data"; + list odu-hour24gfp { + key "number"; + description + "port 24 hour otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-GFP-PARAS; + } + } + container odu-hour24otns { + description + "port 24 hour performance data"; + list odu-hour24otn { + key "number"; + description + "port 24 hour otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container otu { + description + "OTU controller performance data"; + container otu-ports { + description + "Port performance data"; + list otu-port { + key "name"; + description + "Port performance data"; + container otu-prev { + description + "port prev performance data"; + container otu-prev-flex-interval { + description + "port prev performance data"; + container otu-prev-flex-interval-fecs { + description + "port prev performance data"; + list otu-prev-flex-interval-fec { + key "number"; + description + "port flex-sec fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container otu-prev-flex-interval-prbses { + description + "port current performance data"; + list otu-prev-flex-interval-prbs { + key "number"; + description + "port flex-sec prbs performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container otu-prev-flex-interval-otns { + description + "port prev performance data"; + list otu-prev-flex-interval-otn { + key "number"; + description + "port flex-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + } + } + container otu-current { + description + "port current performance data"; + container otu-minute15 { + description + "port current performance data"; + container otu-minute15fecs { + description + "port current performance data"; + list otu-minute15fec { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container otu-minute15otns { + description + "port current performance data"; + list otu-minute15otn { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + container otu-minute15prbses { + description + "port current performance data"; + list otu-minute15prbs { + key "number"; + description + "port 15-minute prbs performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + container otu-second30 { + description + "port current performance data"; + container otu-second30fecs { + description + "port current performance data"; + list otu-second30fec { + key "number"; + description + "port 30-sec fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container otu-second30otns { + description + "port current performance data"; + list otu-second30otn { + key "number"; + description + "port 30-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + container otu-second30prbses { + description + "prbs 30-sec performance data"; + list otu-second30prbs { + key "number"; + description + "prbs 30-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + container otu-flex-interval { + description + "port current performance data"; + container otu-flex-interval-prbses { + description + "port current performance data"; + list otu-flex-interval-prbs { + key "number"; + description + "port flex-sec prbs performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container otu-flex-interval-fecs { + description + "port current performance data"; + list otu-flex-interval-fec { + key "number"; + description + "port flex-sec fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container otu-flex-interval-otns { + description + "port current performance data"; + list otu-flex-interval-otn { + key "number"; + description + "port flex-sec otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + } + container otu-hour24 { + description + "port current performance data"; + container otu-hour24fecs { + description + "port current performance data"; + list otu-hour24fec { + key "number"; + description + "port 24 hour fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container otu-hour24prbses { + description + "port 24 hour performance data"; + list otu-hour24prbs { + key "number"; + description + "port 24 hour otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container otu-hour24otns { + description + "port 24 hour performance data"; + list otu-hour24otn { + key "number"; + description + "port 24 hour otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container stm { + description + "STM controller performance data"; + container stm-ports { + description + "Port performance data"; + list stm-port { + key "name"; + description + "Port performance data"; + container stm-current { + description + "port current performance data"; + container stm-hour24 { + description + "port current performance data"; + container stm-hour24prbses { + description + "STM controller 24 hour PRBS layer current + performance data"; + list stm-hour24prbs { + key "number"; + description + "STM controller 24 hour PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container stm-hour24stms { + description + "port current performance data"; + list stm-hour24stm { + key "number"; + description + "port 24 hour stm performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-STM-PARAS; + } + } + } + container stm-flex-interval { + description + "STM controller flex-bin current performance + data"; + container stm-flex-interval-prbses { + description + "STM controller flex-bin PRBS layer current + performance data"; + list stm-flex-interval-prbs { + key "number"; + description + "STM controller flex-bin PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + container stm-minute15 { + description + "port current performance data"; + container stm-minute15prbses { + description + "STM controller 15 minute PRBS layer current + performance data"; + list stm-minute15prbs { + key "number"; + description + "STM controller 15 minute PRBS layer + current performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container stm-minute15stms { + description + "port current performance data"; + list stm-minute15stm { + key "number"; + description + "port 15-minute stm performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-STM-PARAS; + } + } + } + container stm-second30 { + description + "port current performance data"; + container stm-second30prbses { + description + "STM controller 30 second PRBS layer current + performance data"; + list stm-second30prbs { + key "number"; + description + "STM controller 30 second PRBS layer + current performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + } + container stm-prev { + description + "STM controller previous performance data"; + container stm-prev-flex-interval { + description + "STM controller flex-bin previous performance + data"; + container stm-prev-flex-interval-prbses { + description + "STM controller flex-bin PRBS layer previous + performance data"; + list stm-prev-flex-interval-prbs { + key "number"; + description + "STM controller flex-bin PRBS layer + previous performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container sonet { + description + "SONET controller performance data"; + container sonet-ports { + description + "Port performance data"; + list sonet-port { + key "name"; + description + "Port performance data"; + container sonet-current { + description + "port current performance data"; + container sonet-minute15 { + description + "port current performance data"; + container sonet-minute15-paths { + description + "port current performance data"; + list sonet-minute15-path { + key "number"; + description + "port 15-minute Path performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PATH-PARAS; + } + } + container sonet-minute15ocns { + description + "port current performance data"; + list sonet-minute15ocn { + key "number"; + description + "port 15-minute ocn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PARAS; + } + } + } + container sonet-hour24 { + description + "port current performance data"; + container sonet-hour24ocns { + description + "port current performance data"; + list sonet-hour24ocn { + key "number"; + description + "port 24 hour ocn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PARAS; + } + } + container sonet-hour24-paths { + description + "port current performance data"; + list sonet-hour24-path { + key "number"; + description + "port 24 hour Path performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PATH-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container optics { + description + "OPTICS controller performance data"; + container optics-ports { + description + "Port performance data"; + list optics-port { + key "name"; + description + "Port performance data"; + container optics-current { + description + "port current performance data"; + container optics-flex-interval { + description + "port current performance data"; + container optics-flex-interval-fecs { + description + "port current performance data"; + list optics-flex-interval-fec { + key "number"; + description + "port variable-second fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container optics-flex-interval-optics { + description + "port current performance data"; + list optics-flex-interval-optic { + key "number"; + description + "port variable-second optics performance + data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OPTICS-PARAS; + } + } + } + container optics-hour24 { + description + "port current performance data"; + container optics-hour24-optics { + description + "port 24 hour performance data"; + list optics-hour24-optic { + key "number"; + description + "port 24 hour optics performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OPTICS-PARAS; + } + } + container optics-hour24fecs { + description + "port current performance data"; + list optics-hour24fec { + key "number"; + description + "port 24 hour fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + } + container optics-minute15 { + description + "port current performance data"; + container optics-minute15-optics { + description + "port current performance data"; + list optics-minute15-optic { + key "number"; + description + "port 15-minute optics performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OPTICS-PARAS; + } + } + container optics-minute15fecs { + description + "port current performance data"; + list optics-minute15fec { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + } + container optics-second30 { + description + "port current performance data"; + container optics-second30fecs { + description + "port current performance data"; + list optics-second30fec { + key "number"; + description + "port 30-second fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container optics-second30-optics { + description + "port current performance data"; + list optics-second30-optic { + key "number"; + description + "port 30-second optics performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OPTICS-PARAS; + } + } + } + } + container optics-prev { + description + "port current performance data"; + container optics-prev-flex-interval { + description + "port prev performance data"; + container optics-prev-flex-interval-fecs { + description + "port prev performance data"; + list optics-prev-flex-interval-fec { + key "number"; + description + "port variable-second fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container optics-prev-flex-interval-optics { + description + "port prev performance data"; + list optics-prev-flex-interval-optic { + key "number"; + description + "port variable-second optics performance + data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OPTICS-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container sts { + description + "STS controller performance data"; + container sts-ports { + description + "Port performance data"; + list sts-port { + key "name"; + description + "Port performance data"; + container sts-current { + description + "port current performance data"; + container sts-minute15 { + description + "port current performance data"; + container sts-minute15-paths { + description + "port current performance data"; + list sts-minute15-path { + key "number"; + description + "port 15-minute Path performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PATH-PARAS; + } + } + } + container sts-hour24 { + description + "port current performance data"; + container sts-hour24-paths { + description + "port current performance data"; + list sts-hour24-path { + key "number"; + description + "port 24 hour Path performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PATH-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container cem { + description + "CEM performance data"; + container cem-ports { + description + "Port performance data"; + list cem-port { + key "name"; + description + "Port performance data"; + container cem-current { + description + "CEM controller current performance data"; + container cem-minute15 { + description + "CEM controller current 15 minute performance + data"; + container minute15cems { + description + "CEM controller 15 minute current CEM layer + performance data"; + list minute15cem { + key "slot-number"; + description + "CEM controller 15 minute current CEM layer + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-CEM-PARAS; + } + } + } + container cem-second30 { + description + "CEM controller current 30 second performance + data"; + container second30cems { + description + "CEM controller 30 second current CEM layer + performance data"; + list second30cem { + key "slot-number"; + description + "CEM controller 30 second current CEM layer + performance data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-CEM-PARAS; + } + } + } + container cem-hour24 { + description + "CEM controller current 24 hour performance + data"; + container cem-hour24cems { + description + "CEM controller 24 hour CEM layer current + performance data"; + list cem-hour24cem { + key "number"; + description + "CEM controller 24 hour CEM layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-CEM-PARAS; + } + } + } + container cem-flex-interval { + description + "CEM controller flex-bin current performance + data"; + container cem-flex-interval-cems { + description + "CEM controller flex-bin CEM layer current + performance data"; + list cem-flex-interval-cem { + key "number"; + description + "CEM controller flex-bin CEM layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-CEM-PARAS; + } + } + } + } + container cem-prev { + description + "CEM controller previous performance data"; + container cem-prev-flex-interval { + description + "CEM controller flex-bin previous performance + data"; + container cem-prev-flex-interval-cems { + description + "CEM controller flex-bin previous CEM layer + performance data"; + list cem-prev-flex-interval-cem { + key "number"; + description + "CEM controller flex-bin previous CEM layer + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-CEM-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container dwdm { + description + "DWDM controller performance data"; + container dwdm-ports { + description + "Port performance data"; + list dwdm-port { + key "name"; + description + "Port performance data"; + container dwdm-current { + description + "port current performance data"; + container dwdm-minute15 { + description + "port current performance data"; + container dwdm-minute15fecs { + description + "port current performance data"; + list dwdm-minute15fec { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container dwdm-minute15-optics { + description + "port current performance data"; + list dwdm-minute15-optic { + key "number"; + description + "port 15-minute optics performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OPTICS-PARAS; + } + } + container dwdm-minute15otns { + description + "port current performance data"; + list dwdm-minute15otn { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + } + container dwdm-hour24 { + description + "port current performance data"; + container dwdm-hour24-optics { + description + "port 24 hour performance data"; + list dwdm-hour24-optic { + key "number"; + description + "port 24 hour optics performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OPTICS-PARAS; + } + } + container dwdm-hour24fecs { + description + "port current performance data"; + list dwdm-hour24fec { + key "number"; + description + "port 24 hour fec performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container dwdm-hour24otns { + description + "port 24 hour performance data"; + list dwdm-hour24otn { + key "number"; + description + "port 24 hour otn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-OTN-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container oc { + description + "OC controller performance data"; + container oc-ports { + description + "Port performance data"; + list oc-port { + key "name"; + description + "Port performance data"; + container oc-current { + description + "port current performance data"; + container oc-hour24 { + description + "port current performance data"; + container oc-hour24prbses { + description + "OC controller 24 hour PRBS layer current + performance data"; + list oc-hour24prbs { + key "number"; + description + "OC controller 24 hour PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container oc-hour24ocns { + description + "port current performance data"; + list oc-hour24ocn { + key "number"; + description + "port 24 hour ocn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PARAS; + } + } + } + container oc-minute15 { + description + "port current performance data"; + container oc-minute15prbses { + description + "OC controller 15 minute PRBS layer current + performance data"; + list oc-minute15prbs { + key "number"; + description + "OC controller 15 minute PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container oc-minute15ocns { + description + "port current performance data"; + list oc-minute15ocn { + key "number"; + description + "port 15-minute ocn performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-SONET-PARAS; + } + } + } + container oc-second30 { + description + "port current performance data"; + container oc-second30prbses { + description + "OC controller 30 second PRBS layer current + performance data"; + list oc-second30prbs { + key "number"; + description + "OC controller 30 second PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + container oc-flex-interval { + description + "OC controller flex-bin current performance + data"; + container oc-flex-interval-prbses { + description + "OC controller flex-bin PRBS layer current + performance data"; + list oc-flex-interval-prbs { + key "number"; + description + "OC controller flex-bin PRBS layer current + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + } + container oc-prev { + description + "OC controller previous performance data"; + container oc-prev-flex-interval { + description + "OC controller flex-bin previous performance + data"; + container oc-prev-flex-interval-prbses { + description + "OC controller flex-bin PRBS layer previous + performance data"; + list oc-prev-flex-interval-prbs { + key "number"; + description + "OC controller flex-bin PRBS layer previous + performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container e1 { + description + "E1 controller performance data"; + container e1-ports { + description + "Port performance data"; + list e1-port { + key "name"; + description + "Port performance data"; + container e1-current { + description + "port current performance data"; + container e1-minute15 { + description + "port current performance data"; + container e1-minute15e1s { + description + "port current performance data"; + list e1-minute15e1 { + key "number"; + description + "port 15-minute e1 performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-E1-PARAS; + } + } + } + container e1-hour24 { + description + "port current performance data"; + container e1-hour24e1s { + description + "port current performance data"; + list e1-hour24e1 { + key "number"; + description + "port 24 hour e1 performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-E1-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container ethernet { + description + "EHERNET controller performance data"; + container ethernet-ports { + description + "Port performance data"; + list ethernet-port { + key "name"; + description + "Port performance data"; + container ethernet-current { + description + "port current performance data"; + container ethernet-flex-interval { + description + "port current performance data"; + container ethernet-flex-interval-prbses { + description + "Ethernet controller flex-bin PRBS layer + current performance data"; + list ethernet-flex-interval-prbs { + key "number"; + description + "Ethernet controller flex-bin PRBS layer + current performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container ethernet-flex-interval-pcses { + description + "ETHERNET port interval performance data"; + list ethernet-flex-interval-pcs { + key "slot-number"; + description + "Ethernet port flex second pcs performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + container ethernet-flex-interval-fecs { + description + "port current performance data"; + list ethernet-flex-interval-fec { + key "number"; + description + "port flex sec ethernet performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + container ethernet-flex-interval-ether-s { + description + "port current performance data"; + list ethernet-flex-interval-ether { + key "number"; + description + "port flex sec ethernet performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + } + container ethernet-second30 { + description + "port current performance data"; + container second30-fecs { + description + "ETHERNET port interval performance data"; + list second30-fec { + key "slot-number"; + description + "ETHERNET port 30 second fec performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FEC-PARAS; + } + } + container second30pcses { + description + "ETHERNET port interval performance data"; + list second30pcs { + key "slot-number"; + description + "Ethernet port 30 second pcs performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + container ethernet-second30prbses { + description + "Ethernet controller 30 second PRBS layer + current performance data"; + list ethernet-second30prbs { + key "number"; + description + "Ethernet controller 30 second PRBS layer + current performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container second30-ethers { + description + "ETHERNET port interval performance data"; + list second30-ether { + key "slot-number"; + description + "ETHERNET port 30 second ether performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-ETHERNET-PARAS; + } + } + } + container ethernet-hour24 { + description + "port current performance data"; + container ethernet-hour24-ether-s { + description + "port current performance data"; + list ethernet-hour24-ether { + key "number"; + description + "port 24 hour ethernet performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + container ethernet-hour24prbses { + description + "Ethernet controller 24 hour PRBS layer + current performance data"; + list ethernet-hour24prbs { + key "number"; + description + "Ethernet controller 24 hour PRBS layer + current performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container hour24pcses { + description + "port current performance data"; + list hour24pcs { + key "number"; + description + "Ethernet port 24 hour pcs performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PCS-PARAS; + } + } + container ethernet-hour24fecs { + description + "port current performance data"; + list ethernet-hour24fec { + key "number"; + description + "port 24 hour ethernet performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + } + container minute15 { + description + "port current performance data"; + container minute15-fecs { + description + "ETHERNET port interval performance data"; + list minute15-fec { + key "slot-number"; + description + "ETHERNET port 15-minute fec performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-FEC-PARAS; + } + } + container minute15pcses { + description + "ETHERNET port interval performance data"; + list minute15pcs { + key "slot-number"; + description + "ETHERNET port 15-minute pcs performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + container minute15-ethers { + description + "ETHERNET port interval performance data"; + list minute15-ether { + key "slot-number"; + description + "ETHERNET port 15-minute ether performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-ETHERNET-PARAS; + } + } + container ethernet-minute15prbses { + description + "Ethernet controller 15 minute PRBS layer + current performance data"; + list ethernet-minute15prbs { + key "number"; + description + "Ethernet controller 15 minute PRBS layer + current performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + } + } + container ethernet-prev { + description + "port prev performance data"; + container ethernet-prev-flex-interval { + description + "port prev performance data"; + container ethernet-prev-flex-interval-prbses { + description + "Ethernet controller flex-bin PRBS layer + previous performance data"; + list ethernet-prev-flex-interval-prbs { + key "number"; + description + "Ethernet controller flex-bin PRBS layer + previous performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-PRBS-PARAS; + } + } + container ethernet-prev-flex-interval-ether-s { + description + "port prev performance data"; + list ethernet-prev-flex-interval-ether { + key "number"; + description + "port flex sec ethernet performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-ETHERNET-PARAS; + } + } + container ethernet-prev-flex-interval-pcses { + description + "ETHERNET port interval performance data"; + list ethernet-prev-flex-interval-pcs { + key "slot-number"; + description + "Ethernet port flex second pcs performance + data"; + leaf slot-number { + type uint32; + description + "interval slot number"; + } + uses PM-PCS-PARAS; + } + } + container ethernet-prev-flex-interval-fecs { + description + "port prev performance data"; + list ethernet-prev-flex-interval-fec { + key "number"; + description + "port flex sec ethernet performance data"; + leaf number { + type uint32; + description + "channel number"; + } + uses PM-FEC-PARAS; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + } + container performance-management-history { + config false; + description + "performace data"; + container global { + description + "global History performace data"; + container periodic { + description + "History performace data"; + container sonet-history { + description + "SONET controller History performance data"; + container sonet-port-histories { + description + "Port performance data"; + list sonet-port-history { + key "name"; + description + "Port performance data"; + container sonet-minute15-history { + description + "port current performance data"; + container sonet-minute15ocn-histories { + description + "port current performance data"; + list sonet-minute15ocn-history { + key "number"; + description + "port 15-minute ocn performance data"; + container sonet-minute15ocn-time-line-instances { + description + "port current performance data"; + list sonet-minute15ocn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-SONET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container sonet-minute15-path-histories { + description + "port current performance data"; + list sonet-minute15-path-history { + key "number"; + description + "port 15-minute Path performance data"; + container sonet-minute15-path-time-line-instances { + description + "port current performance data"; + list sonet-minute15-path-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-SONET-PATH-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container sonet-hour24-history { + description + "port current performance data"; + container sonet-hour24-path-histories { + description + "port current performance data"; + list sonet-hour24-path-history { + key "number"; + description + "port 24 hour Path performance data"; + container sonet-hour24-path-time-line-instances { + description + "port current performance data"; + list sonet-hour24-path-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-SONET-PATH-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container sonet-hour24ocn-histories { + description + "port current performance data"; + list sonet-hour24ocn-history { + key "number"; + description + "port 24 hour ocn performance data"; + container sonet-hour24ocn-time-line-instances { + description + "port current performance data"; + list sonet-hour24ocn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-SONET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container sts-history { + description + "STS controller History performance data"; + container sts-port-histories { + description + "Port performance data"; + list sts-port-history { + key "name"; + description + "Port performance data"; + container sts-minute15-history { + description + "port current performance data"; + container sts-minute15-path-histories { + description + "port current performance data"; + list sts-minute15-path-history { + key "number"; + description + "port 15-minute Path performance data"; + container sts-minute15-path-time-line-instances { + description + "port current performance data"; + list sts-minute15-path-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-SONET-PATH-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container sts-hour24-history { + description + "port current performance data"; + container sts-hour24-path-histories { + description + "port current performance data"; + list sts-hour24-path-history { + key "number"; + description + "port 24 hour Path performance data"; + container sts-hour24-path-time-line-instances { + description + "port current performance data"; + list sts-hour24-path-time-line-instance { + key "number"; + description + "port 15-minute sts performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-SONET-PATH-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container cem-history { + description + "CEM controller historical performance data"; + container cem-port-histories { + description + "CEM controller historical performance data"; + list cem-port-history { + key "name"; + description + "CEM controller historical performance data"; + container cem-second30-history { + description + "CEM controller 30 second historical + performance data"; + container second30cem-histories { + description + "CEM controller 30 second CEM layer + historical performance data"; + list second30cem-history { + key "slot-number"; + description + "CEM controller 30 second CEM layer + historical performance data"; + container second30cem-time-line-instances { + description + "CEM controller 30 second CEM layer + historical performance data"; + list second30cem-time-line-instance { + key "number"; + description + "CEM controller 30 second CEM layer + historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-CEM-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + } + container cem-hour24-history { + description + "CEM controller 24 hour historical + performance data"; + container cem-hour24cem-histories { + description + "CEM controller 24 hour CEM layer + historical performance data"; + list cem-hour24cem-history { + key "number"; + description + "CEM controller 24 hour CEM layer + historical performance data"; + container cem-hour24cem-time-line-instances { + description + "CEM controller 24 hour CEM layer + historical performance data"; + list cem-hour24cem-time-line-instance { + key "number"; + description + "CEM controller 24 hour CEM layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-CEM-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container cem-minute15-history { + description + "CEM controller 15 minute historical + performance data"; + container minute15cem-histories { + description + "CEM controller 15 minute CEM layer + historical performance data"; + list minute15cem-history { + key "slot-number"; + description + "CEM controller 15 minute CEM layer + historical performance data"; + container minute15cem-time-line-instances { + description + "CEM controller 15 minute CEM layer + historical performance data"; + list minute15cem-time-line-instance { + key "number"; + description + "CEM controller 15 minute CEM layer + historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-CEM-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container e1-history { + description + "E1 controller History performance data"; + container e1-port-histories { + description + "Port performance data"; + list e1-port-history { + key "name"; + description + "Port performance data"; + container e1-hour24-history { + description + "port current performance data"; + container e1-hour24e1-histories { + description + "port current performance data"; + list e1-hour24e1-history { + key "number"; + description + "port 24 hour e1 performance data"; + container e1-hour24e1-time-line-instances { + description + "port current performance data"; + list e1-hour24e1-time-line-instance { + key "number"; + description + "port 24 hour e1 performance data"; + leaf number { + type uint32; + description + "History Index number"; + } + uses PM-E1-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container e1-minute15-history { + description + "port current performance data"; + container e1-minute15e1-histories { + description + "port current performance data"; + list e1-minute15e1-history { + key "number"; + description + "port 15-minute e1 performance data"; + container e1-minute15e1-time-line-instances { + description + "port current performance data"; + list e1-minute15e1-time-line-instance { + key "number"; + description + "port 15-minute e1 performance data by + index"; + leaf number { + type uint32; + description + "History Index number"; + } + uses PM-E1-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container ethernet-history { + description + "EHERNET controller History performance data"; + container ethernet-port-histories { + description + "Port performance data"; + list ethernet-port-history { + key "name"; + description + "Port performance data"; + container ethernet-second30-history { + description + "port current performance data"; + container ethernet-second30prbs-histories { + description + "Ethernet controller 30 second PRBS layer + historical performance data"; + list ethernet-second30prbs-history { + key "number"; + description + "Ethernet controller 30 second PRBS layer + historical performance data"; + container ethernet-second30prbs-time-line-instances { + description + "Ethernet controller 30 second PRBS layer + historical performance data"; + list ethernet-second30prbs-time-line-instance { + key "number"; + description + "Ethernet controller 30 second PRBS + layer historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container second30pcs-histories { + description + "ETHERNET port interval performance data"; + list second30pcs-history { + key "slot-number"; + description + "ETHERNET port 30 sec pcs performance data"; + container second30pcs-time-line-instances { + description + "port current performance data"; + list second30pcs-time-line-instance { + key "number"; + description + "port 30 sec pcs performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-PCS-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container second30-ether-histories { + description + "ETHERNET port interval performance data"; + list second30-ether-history { + key "slot-number"; + description + "ETHERNET port 30 sec ether performance + data"; + container second30-ether-time-line-instances { + description + "port current performance data"; + list second30-ether-time-line-instance { + key "number"; + description + "port 30 sec otn performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-ETHERNET-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container second30-fec-histories { + description + "ETHERNET port interval performance data"; + list second30-fec-history { + key "slot-number"; + description + "ETHERNET port 30 sec fec performance data"; + container second30-fec-time-line-instances { + description + "port current performance data"; + list second30-fec-time-line-instance { + key "number"; + description + "port 30 sec fec performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + } + container ethernet-hour24-history { + description + "port current performance data"; + container hour24pcs-histories { + description + "port current performance data"; + list hour24pcs-history { + key "number"; + description + "port 24 hour ethernet performance data"; + container hour24pcs-time-line-instances { + description + "port current performance data"; + list hour24pcs-time-line-instance { + key "number"; + description + "port 24-hour ethernet performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PCS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container ethernet-hour24fec-histories { + description + "port current performance data"; + list ethernet-hour24fec-history { + key "number"; + description + "port 24 hour ethernet performance data"; + container ethernet-hour24fec-time-line-instances { + description + "port current performance data"; + list ethernet-hour24fec-time-line-instance { + key "number"; + description + "port 24-hour ethernet performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container ethernet-hour24prbs-histories { + description + "Ethernet controller 24 hour PRBS layer + historical performance data"; + list ethernet-hour24prbs-history { + key "number"; + description + "Ethernet controller 24 hour PRBS layer + historical performance data"; + container ethernet-hour24prbs-time-line-instances { + description + "Ethernet controller 24 hour PRBS layer + historical performance data"; + list ethernet-hour24prbs-time-line-instance { + key "number"; + description + "Ethernet controller 24 hour PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container ethernet-hour24-ether-histories { + description + "port current performance data"; + list ethernet-hour24-ether-history { + key "number"; + description + "port 24 hour ethernet performance data"; + container ethernet-hour24-ether-time-line-instances { + description + "port current performance data"; + list ethernet-hour24-ether-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-ETHERNET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container ethernet-minute15-history { + description + "port current performance data"; + container minute15pcs-histories { + description + "ETHERNET port interval performance data"; + list minute15pcs-history { + key "slot-number"; + description + "ETHERNET port 15-minute pcs performance + data"; + container minute15pcs-time-line-instances { + description + "port current performance data"; + list minute15pcs-time-line-instance { + key "number"; + description + "port 15-minute pcs performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PCS-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container minute15-ether-histories { + description + "ETHERNET port interval performance data"; + list minute15-ether-history { + key "slot-number"; + description + "ETHERNET port 15-minute ether performance + data"; + container minute15-ether-time-line-instances { + description + "port current performance data"; + list minute15-ether-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-ETHERNET-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container minute15-fec-histories { + description + "ETHERNET port interval performance data"; + list minute15-fec-history { + key "slot-number"; + description + "ETHERNET port 15-minute fec performance + data"; + container minute15-fec-time-line-instances { + description + "port current performance data"; + list minute15-fec-time-line-instance { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container ethernet-minute15prbs-histories { + description + "Ethernet controller 15 minute PRBS layer + historical performance data"; + list ethernet-minute15prbs-history { + key "number"; + description + "Ethernet controller 15 minute PRBS layer + historical performance data"; + container ethernet-minute15prbs-time-line-instances { + description + "Ethernet controller 15 minute PRBS layer + historical performance data"; + list ethernet-minute15prbs-time-line-instance { + key "number"; + description + "Ethernet controller 15 minute PRBS + layer historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container dwdm-history { + description + "DWDM controller History performance data"; + container dwdm-port-histories { + description + "Port performance data"; + list dwdm-port-history { + key "name"; + description + "Port performance data"; + container dwdm-minute15-history { + description + "port current performance data"; + container dwdm-minute15otn-histories { + description + "port current performance data"; + list dwdm-minute15otn-history { + key "number"; + description + "port 15-minute otn performance data"; + container dwdm-minute15otn-time-line-instances { + description + "port current performance data"; + list dwdm-minute15otn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-OTN-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container dwdm-minute15fec-histories { + description + "port current performance data"; + list dwdm-minute15fec-history { + key "number"; + description + "port 15-minute fec performance data"; + container dwdm-minute15fec-time-line-instances { + description + "port current performance data"; + list dwdm-minute15fec-time-line-instance { + key "number"; + description + "port 15-minute fec performance data by + index"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container dwdm-minute15-optics-histories { + description + "port current performance data"; + list dwdm-minute15-optics-history { + key "number"; + description + "port 15-minute optics performance data"; + container dwdm-minute15-optics-time-line-instances { + description + "port current performance data"; + list dwdm-minute15-optics-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-OPTICS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container dwdm-hour24-history { + description + "port current performance data"; + container dwdm-hour24otn-histories { + description + "port 24 hour performance data"; + list dwdm-hour24otn-history { + key "number"; + description + "port 24 hour otn performance data"; + container dwdm-hour24otn-time-line-instances { + description + "port current performance data"; + list dwdm-hour24otn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-OTN-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container dwdm-hour24fec-histories { + description + "port current performance data"; + list dwdm-hour24fec-history { + key "number"; + description + "port 24 hour fec performance data"; + container dwdm-hour24fec-time-line-instances { + description + "port current performance data"; + list dwdm-hour24fec-time-line-instance { + key "number"; + description + "port 15-minute fec performance data by + index"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container dwdm-hour24-optics-histories { + description + "port 24 hour performance data"; + list dwdm-hour24-optics-history { + key "number"; + description + "port 24 hour optics performance data"; + container dwdm-hour24-optics-time-line-instances { + description + "port current performance data"; + list dwdm-hour24-optics-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-OPTICS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container stm-history { + description + "STM controller History performance data"; + container stm-port-histories { + description + "Port performance data"; + list stm-port-history { + key "name"; + description + "Port performance data"; + container stm-hour24-history { + description + "port current performance data"; + container stm-hour24stm-histories { + description + "port current performance data"; + list stm-hour24stm-history { + key "number"; + description + "port 24 hour stm performance data"; + container stm-hour24stm-time-line-instances { + description + "port current performance data"; + list stm-hour24stm-time-line-instance { + key "number"; + description + "port 15-minute stm performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-STM-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container stm-hour24prbs-histories { + description + "STM controller 24 hour PRBS layer + historical performance data"; + list stm-hour24prbs-history { + key "number"; + description + "STM controller 24 hour PRBS layer + historical performance data"; + container stm-hour24prbs-time-line-instances { + description + "STM controller 24 hour PRBS layer + historical performance data"; + list stm-hour24prbs-time-line-instance { + key "number"; + description + "STM controller 24 hour PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container stm-minute15-history { + description + "port current performance data"; + container stm-minute15stm-histories { + description + "port current performance data"; + list stm-minute15stm-history { + key "number"; + description + "port 15-minute stm performance data"; + container stm-minute15stm-time-line-instances { + description + "port current performance data"; + list stm-minute15stm-time-line-instance { + key "number"; + description + "port 15-minute stm performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-STM-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container stm-minute15prbs-histories { + description + "STM controller 15 minute PRBS layer + historical performance data"; + list stm-minute15prbs-history { + key "number"; + description + "STM controller 15 minute PRBS layer + historical performance data"; + container stm-minute15prbs-time-line-instances { + description + "STM controller 15 minute PRBS layer + historical performance data"; + list stm-minute15prbs-time-line-instance { + key "number"; + description + "STM controller 15 minute PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container stm-second30-history { + description + "STM controller 30 second historical + performance data"; + container stm-second30prbs-histories { + description + "STM controller 30 second PRBS layer + historical performance data"; + list stm-second30prbs-history { + key "number"; + description + "STM controller 30 second PRBS layer + historical performance data"; + container stm-second30prbs-time-line-instances { + description + "STM controller 30 second PRBS layer + historical performance data"; + list stm-second30prbs-time-line-instance { + key "number"; + description + "STM controller 30 second PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container macsec-history { + description + "MACSEC controller History performance data"; + container macsec-port-histories { + description + "Port performance data"; + list macsec-port-history { + key "name"; + description + "Port performance data"; + container macsec-minute15-history { + description + "port current performance data"; + container macsec-minute15secyrx-histories { + description + "port current performance data"; + list macsec-minute15secyrx-history { + key "number"; + description + "port 15-minute secy_rx performance data"; + container macsec-minute15secyrx-time-line-instances { + description + "port current performance data"; + list macsec-minute15secyrx-time-line-instance { + key "number"; + description + "port 15-minute secy_rx performance data + by index"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-SECY-RX-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-minute15-ether-histories { + description + "port current performance data"; + list macsec-minute15-ether-history { + key "number"; + description + "port 15-minute ether performance data"; + container macsec-minute15-ether-time-line-instances { + description + "port current performance data"; + list macsec-minute15-ether-time-line-instance { + key "number"; + description + "port 15-minute ether performance data + by index"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-ETHERNET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-minute15secytx-histories { + description + "port current performance data"; + list macsec-minute15secytx-history { + key "number"; + description + "port 15-minute secy_tx performance data"; + container macsec-minute15secytx-time-line-instances { + description + "port current performance data"; + list macsec-minute15secytx-time-line-instance { + key "number"; + description + "port 15-minute secy_tx performance data + by index"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-SECY-TX-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-minute15secyif-histories { + description + "port current performance data"; + list macsec-minute15secyif-history { + key "number"; + description + "port 15-minute secy_if performance data"; + container macsec-minute15secyif-time-line-instances { + description + "port current performance data"; + list macsec-minute15secyif-time-line-instance { + key "number"; + description + "port 15-minute secy_if performance data + by index"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-SECY-IF-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container macsec-hour24-history { + description + "port current performance data"; + container macsec-hour24-ether-histories { + description + "port current performance data"; + list macsec-hour24-ether-history { + key "number"; + description + "port 24 hour ether performance data"; + container macsec-hour24-ether-time-line-instances { + description + "port current performance data"; + list macsec-hour24-ether-time-line-instance { + key "number"; + description + "port 24 hour ether performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-ETHERNET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-hour24secytx-histories { + description + "port current performance data"; + list macsec-hour24secytx-history { + key "number"; + description + "port 24 hour secy_tx performance data"; + container macsec-hour24secytx-time-line-instances { + description + "port current performance data"; + list macsec-hour24secytx-time-line-instance { + key "number"; + description + "port 24 hour secy_tx performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-SECY-TX-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-hour24secyif-histories { + description + "port current performance data"; + list macsec-hour24secyif-history { + key "number"; + description + "port 24 hour secy_if performance data"; + container macsec-hour24secyif-time-line-instances { + description + "port current performance data"; + list macsec-hour24secyif-time-line-instance { + key "number"; + description + "port 24 hour secy_if performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-SECY-IF-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-hour24secyrx-histories { + description + "port current performance data"; + list macsec-hour24secyrx-history { + key "number"; + description + "port 24 hour secy_rx performance data"; + container macsec-hour24secyrx-time-line-instances { + description + "port current performance data"; + list macsec-hour24secyrx-time-line-instance { + key "number"; + description + "port 24 hour secy_rx performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-SECY-RX-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container macsec-second30-history { + description + "port current performance data"; + container macsec-second30secyrx-histories { + description + "port current performance data"; + list macsec-second30secyrx-history { + key "number"; + description + "port 30-second secy_rx performance data"; + container macsec-second30secyrx-time-line-instances { + description + "port current performance data"; + list macsec-second30secyrx-time-line-instance { + key "number"; + description + "port 30-second secy_rx performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-SECY-RX-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-second30-ether-histories { + description + "port current performance data"; + list macsec-second30-ether-history { + key "number"; + description + "port 30-second ether performance data"; + container macsec-second30-ether-time-line-instances { + description + "port current performance data"; + list macsec-second30-ether-time-line-instance { + key "number"; + description + "port 30-second ether performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-ETHERNET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-second30secytx-histories { + description + "port current performance data"; + list macsec-second30secytx-history { + key "number"; + description + "port 30-second secy_tx performance data"; + container macsec-second30secytx-time-line-instances { + description + "port current performance data"; + list macsec-second30secytx-time-line-instance { + key "number"; + description + "port 30-second secy_tx performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-SECY-TX-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container macsec-second30secyif-histories { + description + "port current performance data"; + list macsec-second30secyif-history { + key "number"; + description + "port 30-second secy_if performance data"; + container macsec-second30secyif-time-line-instances { + description + "port current performance data"; + list macsec-second30secyif-time-line-instance { + key "number"; + description + "port 30-second secy_if performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-SECY-IF-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container odu-history { + description + "ODU controller History performance data"; + container odu-port-histories { + description + "Port performance data"; + list odu-port-history { + key "name"; + description + "Port performance data"; + container odu-hour24-history { + description + "port current performance data"; + container odu-hour24gfp-histories { + description + "port 24 hour performance data"; + list odu-hour24gfp-history { + key "number"; + description + "port 24 hour otn performance data"; + container odu-hour24gfp-time-line-instances { + description + "port current performance data"; + list odu-hour24gfp-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-GFP-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container odu-hour24prbs-histories { + description + "port 24 hour performance data"; + list odu-hour24prbs-history { + key "number"; + description + "port 24 hour prbs performance data"; + container odu-hour24prbs-time-line-instances { + description + "port current performance data"; + list odu-hour24prbs-time-line-instance { + key "number"; + description + "port 15-minute prbs performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container odu-hour24otn-histories { + description + "port 24 hour performance data"; + list odu-hour24otn-history { + key "number"; + description + "port 24 hour otn performance data"; + container odu-hour24otn-time-line-instances { + description + "port current performance data"; + list odu-hour24otn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-OTN-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container odu-minute15-history { + description + "port current performance data"; + container odu-minute15prbs-histories { + description + "port current performance data"; + list odu-minute15prbs-history { + key "number"; + description + "port 15-minute prbs performance data"; + container odu-minute15prbs-time-line-instances { + description + "port current performance data"; + list odu-minute15prbs-time-line-instance { + key "number"; + description + "port 15-minute prbs performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container odu-minute15gfp-histories { + description + "port current performance data"; + list odu-minute15gfp-history { + key "number"; + description + "port 15-minute otn performance data"; + container odu-minute15gfp-time-line-instances { + description + "port current performance data"; + list odu-minute15gfp-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-GFP-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container odu-minute15otn-histories { + description + "port current performance data"; + list odu-minute15otn-history { + key "number"; + description + "port 15-minute otn performance data"; + container odu-minute15otn-time-line-instances { + description + "port current performance data"; + list odu-minute15otn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-OTN-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container otu-history { + description + "OTU controller History performance data"; + container otu-port-histories { + description + "Port performance data"; + list otu-port-history { + key "name"; + description + "Port performance data"; + container otu-second30-history { + description + "port current performance data"; + container otu-second30fec-histories { + description + "port current performance data"; + list otu-second30fec-history { + key "number"; + description + "port 30-second fec performance data"; + container otu-second30fec-time-line-instances { + description + "port current performance data"; + list otu-second30fec-time-line-instance { + key "number"; + description + "port 30-second fec performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container otu-second30prbs-histories { + description + "prbs 30-sec performance data"; + list otu-second30prbs-history { + key "number"; + description + "prbs 30-sec prbs performance data"; + container otu-second30prbs-time-line-instances { + description + "prbs 30-sec current performance data"; + list otu-second30prbs-time-line-instance { + key "number"; + description + "prbs 30-sec prbs performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container otu-second30otn-histories { + description + "port current performance data"; + list otu-second30otn-history { + key "number"; + description + "port 30-second otn performance data"; + container otu-second30otn-time-line-instances { + description + "port current performance data"; + list otu-second30otn-time-line-instance { + key "number"; + description + "port 30-second otn performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-OTN-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container otu-minute15-history { + description + "port current performance data"; + container otu-minute15fec-histories { + description + "port current performance data"; + list otu-minute15fec-history { + key "number"; + description + "port 15-minute fec performance data"; + container otu-minute15fec-time-line-instances { + description + "port current performance data"; + list otu-minute15fec-time-line-instance { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container otu-minute15prbs-histories { + description + "port current performance data"; + list otu-minute15prbs-history { + key "number"; + description + "port 15-minute prbs performance data"; + container otu-minute15prbs-time-line-instances { + description + "port current performance data"; + list otu-minute15prbs-time-line-instance { + key "number"; + description + "port 15-minute prbs performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container otu-minute15otn-histories { + description + "port current performance data"; + list otu-minute15otn-history { + key "number"; + description + "port 15-minute otn performance data"; + container otu-minute15otn-time-line-instances { + description + "port current performance data"; + list otu-minute15otn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-OTN-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container otu-hour24-history { + description + "port current performance data"; + container otu-hour24prbs-histories { + description + "port 24 hour performance data"; + list otu-hour24prbs-history { + key "number"; + description + "port 24 hour prbs performance data"; + container otu-hour24prbs-time-line-instances { + description + "port current performance data"; + list otu-hour24prbs-time-line-instance { + key "number"; + description + "port 15-minute prbs performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container otu-hour24otn-histories { + description + "port 24 hour performance data"; + list otu-hour24otn-history { + key "number"; + description + "port 24 hour otn performance data"; + container otu-hour24otn-time-line-instances { + description + "port current performance data"; + list otu-hour24otn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-OTN-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container otu-hour24fec-histories { + description + "port current performance data"; + list otu-hour24fec-history { + key "number"; + description + "port 24 hour fec performance data"; + container otu-hour24fec-time-line-instances { + description + "port current performance data"; + list otu-hour24fec-time-line-instance { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container ho-vc-history { + description + "HO_VC controller History performance data"; + container ho-vc-port-histories { + description + "Port performance data"; + list ho-vc-port-history { + key "name"; + description + "Port performance data"; + container ho-vc-minute15-history { + description + "port current performance data"; + container ho-vc-minute15-path-histories { + description + "port current performance data"; + list ho-vc-minute15-path-history { + key "number"; + description + "port 15-minute Path performance data"; + container ho-vc-minute15-path-time-line-instances { + description + "port current performance data"; + list ho-vc-minute15-path-time-line-instance { + key "number"; + description + "port 15-minute ho_vc performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-HO-VC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container ho-vc-hour24-history { + description + "port current performance data"; + container ho-vc-hour24-path-histories { + description + "port current performance data"; + list ho-vc-hour24-path-history { + key "number"; + description + "port 24 hour Path performance data"; + container ho-vc-hour24-path-time-line-instances { + description + "port current performance data"; + list ho-vc-hour24-path-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-HO-VC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container fc-history { + description + "FC controller historical performance data"; + container fc-port-histories { + description + "FC controller historical performance data"; + list fc-port-history { + key "name"; + description + "FC controller historical performance data"; + container fc-minute15-history { + description + "FC controller 15 minute historical + performance data"; + container fc-minute15fec-histories { + description + "FC controller 15 minute FEC layer + historical performance data"; + list fc-minute15fec-history { + key "slot-number"; + description + "FC controller 15 minute FEC layer + historical performance data"; + container fc-minute15fec-time-line-instances { + description + "FC controller 15 minute FEC layer + historical performance data"; + list fc-minute15fec-time-line-instance { + key "number"; + description + "FC controller 15 minute FEC layer + historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container fc-minute15prbs-histories { + description + "FC controller 15 minute PRBS layer + historical performance data"; + list fc-minute15prbs-history { + key "number"; + description + "FC controller 15 minute PRBS layer + historical performance data"; + container fc-minute15prbs-time-line-instances { + description + "FC controller 15 minute PRBS layer + historical performance data"; + list fc-minute15prbs-time-line-instance { + key "number"; + description + "FC controller 15 minute PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container minute15fc-histories { + description + "FC controller 15 minute FC layer + historical performance data"; + list minute15fc-history { + key "slot-number"; + description + "FC controller 15 minute FC layer + historical performance data"; + container minute15fc-time-line-instances { + description + "FC controller 15 minute FC layer + historical performance data"; + list minute15fc-time-line-instance { + key "number"; + description + "FC controller 15 minute FC layer + historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-FC-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container fc-minute15pcs-histories { + description + "FC controller 15 minute PCS layer + historical performance data"; + list fc-minute15pcs-history { + key "slot-number"; + description + "FC controller 15 minute PCS layer + historical performance data"; + container fc-minute15pcs-time-line-instances { + description + "FC controller 15 minute PCS layer + historical performance data"; + list fc-minute15pcs-time-line-instance { + key "number"; + description + "FC controller 15 minute PCS layer + historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PCS-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + } + container fc-second30-history { + description + "FC controller 30 second historical + performance data"; + container fc-second30fec-histories { + description + "FC controller 30 second FEC layer + historical performance data"; + list fc-second30fec-history { + key "slot-number"; + description + "FC controller 30 second FEC layer + historical performance data"; + container fc-second30fec-time-line-instances { + description + "FC controller 30 second FEC layer + historical performance data"; + list fc-second30fec-time-line-instance { + key "number"; + description + "FC controller 30 second FEC layer + historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-FC-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container fc-second30prbs-histories { + description + "FC controller 30 second PRBS layer + historical performance data"; + list fc-second30prbs-history { + key "number"; + description + "FC controller 30 second PRBS layer + historical performance data"; + container fc-second30prbs-time-line-instances { + description + "FC controller 30 second PRBS layer + historical performance data"; + list fc-second30prbs-time-line-instance { + key "number"; + description + "FC controller 30 second PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container fc-second30pcs-histories { + description + "FC controller 30 second PCS layer + historical performance data"; + list fc-second30pcs-history { + key "slot-number"; + description + "FC controller 30 second PCS layer + historical performance data"; + container fc-second30pcs-time-line-instances { + description + "FC controller 30 second PCS layer + historical performance data"; + list fc-second30pcs-time-line-instance { + key "number"; + description + "FC controller 30 second PCS layer + historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-FC-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + container second30fc-histories { + description + "FC controller 30 second FC layer + historical performance data"; + list second30fc-history { + key "slot-number"; + description + "FC controller 30 second FC layer + historical performance data"; + container second30fc-time-line-instances { + description + "FC controller 30 second FC layer + historical performance data"; + list second30fc-time-line-instance { + key "number"; + description + "FC controller 30 second FC layer + historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-FC-PARAS; + } + } + leaf slot-number { + type uint32; + description + "interval slot number"; + } + } + } + } + container fc-hour24-history { + description + "FC controller 24 hour historical + performance data"; + container fc-hour24pcs-histories { + description + "FC controller 24 hour PCS layer historical + performance data"; + list fc-hour24pcs-history { + key "number"; + description + "FC controller 24 hour PCS layer + historical performance data"; + container fc-hour24pcs-time-line-instances { + description + "FC controller 24 hour PCS layer + historical performance data"; + list fc-hour24pcs-time-line-instance { + key "number"; + description + "FC controller 24 hour PCS layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PCS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container fc-hour24fec-histories { + description + "FC controller 24 hour FEC layer historical + performance data"; + list fc-hour24fec-history { + key "number"; + description + "FC controller 24 hour FEC layer + historical performance data"; + container fc-hour24fec-time-line-instances { + description + "FC controller 24 hour FEC layer + historical performance data"; + list fc-hour24fec-time-line-instance { + key "number"; + description + "FC controller 24 hour FEC layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container fc-hour24fc-histories { + description + "FC controller 24 hour FC layer historical + performance data"; + list fc-hour24fc-history { + key "number"; + description + "FC controller 24 hour FC layer historical + performance data"; + container fc-hour24fc-time-line-instances { + description + "FC controller 24 hour FC layer + historical performance data"; + list fc-hour24fc-time-line-instance { + key "number"; + description + "FC controller 24 hour FC layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-FC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container fc-hour24prbs-histories { + description + "FC controller 24 hour PRBS layer + historical performance data"; + list fc-hour24prbs-history { + key "number"; + description + "FC controller 24 hour PRBS layer + historical performance data"; + container fc-hour24prbs-time-line-instances { + description + "FC controller 24 hour PRBS layer + historical performance data"; + list fc-hour24prbs-time-line-instance { + key "number"; + description + "FC controller 24 hour PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container optics-history { + description + "OPTICS controller History performance data"; + container optics-port-histories { + description + "Port performance data"; + list optics-port-history { + key "name"; + description + "Port performance data"; + container optics-hour24-history { + description + "port current performance data"; + container optics-hour24-optics-histories { + description + "port 24 hour performance data"; + list optics-hour24-optics-history { + key "number"; + description + "port 24 hour optics performance data"; + container optics-hour24-optics-time-line-instances { + description + "port current performance data"; + list optics-hour24-optics-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-OPTICS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container optics-hour24fec-histories { + description + "port current performance data"; + list optics-hour24fec-history { + key "number"; + description + "port 24 hour fec performance data"; + container optics-hour24fec-time-line-instances { + description + "port current performance data"; + list optics-hour24fec-time-line-instance { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container optics-second30-history { + description + "port current performance data"; + container optics-second30-optics-histories { + description + "port current performance data"; + list optics-second30-optics-history { + key "number"; + description + "port 30-second optics performance data"; + container optics-second30-optics-time-line-instances { + description + "port current performance data"; + list optics-second30-optics-time-line-instance { + key "number"; + description + "port 30 second otn performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-OPTICS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container optics-second30fec-histories { + description + "port current performance data"; + list optics-second30fec-history { + key "number"; + description + "port 30-second fec performance data"; + container optics-second30fec-time-line-instances { + description + "port current performance data"; + list optics-second30fec-time-line-instance { + key "number"; + description + "port sec-30 fec performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container optics-minute15-history { + description + "port current performance data"; + container optics-minute15-optics-histories { + description + "port current performance data"; + list optics-minute15-optics-history { + key "number"; + description + "port 15-minute optics performance data"; + container optics-minute15-optics-time-line-instances { + description + "port current performance data"; + list optics-minute15-optics-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-OPTICS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container optics-minute15fec-histories { + description + "port current performance data"; + list optics-minute15fec-history { + key "number"; + description + "port 15-minute fec performance data"; + container optics-minute15fec-time-line-instances { + description + "port current performance data"; + list optics-minute15fec-time-line-instance { + key "number"; + description + "port 15-minute fec performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-FEC-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + container oc-history { + description + "OC controller History performance data"; + container oc-port-histories { + description + "Port performance data"; + list oc-port-history { + key "name"; + description + "Port performance data"; + container oc-second30-history { + description + "OC controller 30 second historical + performance data"; + container oc-second30prbs-histories { + description + "OC controller 30 second PRBS layer + historical performance data"; + list oc-second30prbs-history { + key "number"; + description + "OC controller 30 second PRBS layer + historical performance data"; + container oc-second30prbs-time-line-instances { + description + "OC controller 30 second PRBS layer + historical performance data"; + list oc-second30prbs-time-line-instance { + key "number"; + description + "OC controller 30 second PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1..30"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container oc-hour24-history { + description + "port current performance data"; + container oc-hour24prbs-histories { + description + "OC controller 24 hour PRBS layer + historical performance data"; + list oc-hour24prbs-history { + key "number"; + description + "OC controller 24 hour PRBS layer + historical performance data"; + container oc-hour24prbs-time-line-instances { + description + "OC controller 24 hour PRBS layer + historical performance data"; + list oc-hour24prbs-time-line-instance { + key "number"; + description + "OC controller 24 hour PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container oc-hour24ocn-histories { + description + "port current performance data"; + list oc-hour24ocn-history { + key "number"; + description + "port 24 hour ocn performance data"; + container oc-hour24ocn-time-line-instances { + description + "port current performance data"; + list oc-hour24ocn-time-line-instance { + key "number"; + description + "port 15-minute otn performance data"; + leaf number { + type uint32 { + range "1"; + } + description + "History Index number"; + } + uses PM-SONET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + container oc-minute15-history { + description + "port current performance data"; + container oc-minute15ocn-histories { + description + "port current performance data"; + list oc-minute15ocn-history { + key "number"; + description + "port 15-minute ocn performance data"; + container oc-minute15ocn-time-line-instances { + description + "port current performance data"; + list oc-minute15ocn-time-line-instance { + key "number"; + description + "port 15-minute ocn performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-SONET-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + container oc-minute15prbs-histories { + description + "OC controller 15 minute PRBS layer + historical performance data"; + list oc-minute15prbs-history { + key "number"; + description + "OC controller 15 minute PRBS layer + historical performance data"; + container oc-minute15prbs-time-line-instances { + description + "OC controller 15 minute PRBS layer + historical performance data"; + list oc-minute15prbs-time-line-instance { + key "number"; + description + "OC controller 15 minute PRBS layer + historical performance data"; + leaf number { + type uint32 { + range "1..32"; + } + description + "History Index number"; + } + uses PM-PRBS-PARAS; + } + } + leaf number { + type uint32; + description + "channel number"; + } + } + } + } + leaf name { + type xr:Interface-name; + description + "Port name"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-cfg.yang new file mode 100644 index 000000000..7f4909b44 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-cfg.yang @@ -0,0 +1,453 @@ +module Cisco-IOS-XR-policy-repository-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-policy-repository-cfg"; + prefix policy-repository-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR policy-repository package configuration. + + This module contains definitions + for the following management objects: + routing-policy: Routing policy configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixing prepend/append/remove containers."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-08-27 { + description + "IOS XR 5.3.2 revision."; + } + + container routing-policy { + description + "Routing policy configuration"; + container route-policies { + description + "All configured policies"; + list route-policy { + key "route-policy-name"; + description + "Information about an individual policy"; + leaf route-policy-name { + type xr:Cisco-ios-xr-string; + description + "Route policy name"; + } + leaf rpl-route-policy { + type xr:Rpl-policy; + mandatory true; + description + "policy statements"; + } + } + } + container sets { + description + "All configured sets"; + container prefix-sets { + description + "Information about Prefix sets"; + list prefix-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-prefix-set { + type xr:Rpl-set; + mandatory true; + description + "prefix statements"; + } + } + } + container large-community-sets { + description + "Information about Large Community sets"; + list large-community-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf large-community-set-as-text { + type xr:Rpl-set; + mandatory true; + description + "Large Community Set"; + } + } + } + container mac-sets { + description + "Information about Mac sets"; + list mac-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf mac-set-as-text { + type xr:Rpl-set; + mandatory true; + description + "Mac Set"; + } + } + } + container extended-community-opaque-sets { + description + "Information about Opaque sets"; + list extended-community-opaque-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-extended-community-opaque-set { + type xr:Rpl-set; + mandatory true; + description + "Extended Community Opaque Set"; + } + } + } + container ospf-area-sets { + description + "Information about OSPF Area sets"; + list ospf-area-set { + key "set-name"; + description + "Information about an individual OSPF area set. + Usage: OSPF area set allows to define named + set of area numbers which can be + referenced in the route-policy. Area sets + may be used during redistribution of the ospf + protocol. Example: ospf-area-set EXAMPLE + 1, + 192.168.1.255 + end-set + Syntax: OSPF area number can be entered as 32 + bit number or in the ip address + format. See example. + Semantic: Area numbers listed in the set will + be searched for a match. In the + example these are areas 1 and + 192.168.1.255. "; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rplospf-area-set { + type xr:Rpl-set; + mandatory true; + description + "OSPF Area Set"; + } + } + } + container extended-community-cost-sets { + description + "Information about Cost sets"; + list extended-community-cost-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-extended-community-cost-set { + type xr:Rpl-set; + mandatory true; + description + "Extended Community Cost Set"; + } + } + } + container extended-community-soo-sets { + description + "Information about SOO sets"; + list extended-community-soo-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-extended-community-soo-set { + type xr:Rpl-set; + mandatory true; + description + "Extended Community SOO Set"; + } + } + } + container esi-sets { + description + "Information about Esi sets"; + list esi-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf esi-set-as-text { + type xr:Rpl-set; + mandatory true; + description + "Esi Set"; + } + } + } + container extended-community-seg-nh-sets { + description + "Information about SegNH sets"; + list extended-community-seg-nh-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-extended-community-seg-nh-set { + type xr:Rpl-set; + mandatory true; + description + "Extended Community SegNH Set"; + } + } + } + container rd-sets { + description + "Information about RD sets"; + list rd-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rplrd-set { + type xr:Rpl-set; + mandatory true; + description + "RD Set"; + } + } + } + container policy-global-set-table { + description + "Information about PolicyGlobal sets"; + leaf policy-global-set { + type xr:Rpl-set; + description + "Information about an individual set"; + } + } + container extended-community-bandwidth-sets { + description + "Information about Bandwidth sets"; + list extended-community-bandwidth-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-extended-community-bandwidth-set { + type xr:Rpl-set; + mandatory true; + description + "Extended Community Bandwidth Set"; + } + } + } + container community-sets { + description + "Information about Community sets"; + list community-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-community-set { + type xr:Rpl-set; + mandatory true; + description + "Community Set"; + } + } + } + container as-path-sets { + description + "Information about AS Path sets"; + list as-path-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rplas-path-set { + type xr:Rpl-set; + mandatory true; + description + "ASPath Set"; + } + } + } + container tag-sets { + description + "Information about Tag sets"; + list tag-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-tag-set { + type xr:Rpl-set; + mandatory true; + description + "Tag Set"; + } + } + } + container etag-sets { + description + "Information about Etag sets"; + list etag-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf etag-set-as-text { + type xr:Rpl-set; + mandatory true; + description + "Etag Set"; + } + } + } + container extended-community-rt-sets { + description + "Information about RT sets"; + list extended-community-rt-set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + leaf rpl-extended-community-rt-set { + type xr:Rpl-set; + mandatory true; + description + "Extended Community RT Set"; + } + } + } + } + container limits { + description + "Limits for Routing Policy"; + leaf maximum-lines-of-policy { + type uint32; + default "131072"; + description + "Maximum number of lines of policy configuration + that may be configured in total"; + } + leaf maximum-number-of-policies { + type uint32; + default "5000"; + description + "Maximum number of policies that may be + configured"; + } + } + leaf set-exit-as-abort { + type empty; + description + "Set exit under RPL config to abort"; + } + leaf editor { + type string; + description + "'emacs' or 'vim' or 'nano'"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper-sub1.yang new file mode 100644 index 000000000..f2a2e73a9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper-sub1.yang @@ -0,0 +1,491 @@ +submodule Cisco-IOS-XR-policy-repository-oper-sub1 { + belongs-to Cisco-IOS-XR-policy-repository-oper { + prefix Cisco-IOS-XR-policy-repository-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR policy-repository package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-08 { + description + "route-policy-name can contain parameters. Updating route-policy-name type to EncodedString."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-11 { + description + "List or leaflist issue fixed."; + } + revision 2017-09-22 { + description + "Introduced shadow process container."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Group { + type enumeration { + enum "address-family-group" { + value 0; + description + "Address Family Group"; + } + enum "session-group" { + value 1; + description + "Session Group"; + } + enum "neighbor-group" { + value 2; + description + "Neighbor Group"; + } + enum "neighbor" { + value 3; + description + "Neighbor"; + } + enum "error-group" { + value 4; + description + "Error Group"; + } + } + description + "BGP Neighbor Group Type"; + } + + typedef Attach-point-direction { + type enumeration { + enum "in" { + value 0; + description + "Attach Point Direction IN"; + } + enum "out" { + value 1; + description + "Attach Point Direction OUT"; + } + } + description + "Attach Point Direction"; + } + + typedef Sub-address-family { + type enumeration { + enum "unicast" { + value 0; + description + "Unicast"; + } + enum "multicast" { + value 1; + description + "Multicast"; + } + enum "label" { + value 2; + description + "Label"; + } + enum "tunnel" { + value 3; + description + "Tunnel"; + } + enum "vpn" { + value 4; + description + "VPN"; + } + enum "mdt" { + value 5; + description + "MDT"; + } + enum "vpls" { + value 6; + description + "VPLS"; + } + enum "rt-constraint" { + value 7; + description + "RTConstraint"; + } + enum "mvpn" { + value 8; + description + "MVPN"; + } + enum "flow" { + value 9; + description + "FLOW"; + } + enum "vpn-mcast" { + value 10; + description + "VPN Multicast"; + } + enum "evpn" { + value 11; + description + "EVPN"; + } + enum "saf-none" { + value 12; + description + "No SAFI"; + } + enum "saf-unknown" { + value 13; + description + "Unknown"; + } + } + description + "Sub Address Family"; + } + + typedef Address-family { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4 Address Family"; + } + enum "ipv6" { + value 1; + description + "IPv6 Address Family"; + } + enum "l2vpn" { + value 2; + description + "L2VPN Address Family"; + } + enum "ls" { + value 3; + description + "LINKSTATE Address Family"; + } + enum "af-none" { + value 4; + description + "No Address Family"; + } + enum "af-unknown" { + value 5; + description + "Unknown Address Family"; + } + } + description + "Address Family"; + } + + typedef Object-status { + type enumeration { + enum "active" { + value 0; + description + "The object is in use"; + } + enum "inactive" { + value 1; + description + "The object is referenced by another object, but + not used"; + } + enum "unused" { + value 2; + description + "The object is not used or referenced"; + } + } + description + "Whether an RPL object is used/referenced"; + } + + typedef String { + type string; + description + "String"; + } + + grouping SET-INFO { + description + "List of sets"; + leaf set-domain { + type string; + description + "Domain of sets"; + } + list set-name { + description + "Names of sets in this domain"; + leaf entry { + type String; + description + "Names of sets in this domain"; + } + } + } + + grouping SET-LIST { + description + "List of sets in one domain"; + uses SET-INFO; + } + + grouping RPL-SETS-INFO { + description + "Names of set objects"; + list sets { + description + "List of sets in several domains"; + uses SET-LIST; + } + } + + grouping CLIENT-INFO { + description + "Policy attachment information"; + leaf protocol { + type string; + description + "Protocol to which policy attached"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf proto-instance { + type string; + description + "Protocol instance"; + } + leaf af-name { + type Address-family; + description + "Address Family Identifier"; + } + leaf saf-name { + type Sub-address-family; + description + "Subsequent Address Family Identifier"; + } + leaf neighbor-address { + type string; + description + "Neighbor IP Address"; + } + leaf neighbor-af-name { + type Address-family; + description + "Neighbor IP Address Family"; + } + leaf group-name { + type string; + description + "Neighbor Group Name"; + } + leaf direction { + type Attach-point-direction; + description + "Direction In or Out"; + } + leaf group { + type Group; + description + "Neighbor Group "; + } + leaf source-protocol { + type string; + description + "Source Protocol to redistribute, Source Protocol + can be one of the following values{all, + connected, local, static, bgp, rip, isis, ospf + ,ospfv3, eigrp, unknown }"; + } + leaf aggregate-network-address { + type string; + description + "Aggregate IP address or Network IP Address in + IPv4 or IPv6 Format"; + } + leaf interface-name { + type string; + description + "Interface Name"; + } + leaf instance { + type string; + description + "Instance"; + } + leaf area-id { + type string; + description + "OSPF Area ID in Decimal Integer Format"; + } + leaf propogate-from { + type int32; + description + "ISIS Propogate From Level"; + } + leaf propogate-to { + type int32; + description + "ISIS Propogate To Level"; + } + leaf route-policy-name { + type string; + description + "Policy that uses object in question"; + } + leaf attached-policy { + type string; + description + "The attached policy that (maybe indirectly) uses + the object in question"; + } + leaf attach-point { + type string; + description + "Name of attach point where policy is attached"; + } + } + + grouping RPL-ATTACHMENT-INFO { + description + "Places where a policy is attached"; + list binding { + description + "bindings list"; + uses CLIENT-INFO; + } + } + + grouping REF-INFO { + description + "Set reference information"; + leaf route-policy-name { + type string; + description + "Name of policy"; + } + leaf used-directly { + type boolean; + description + "Whether the policy uses this object directly or + indirectly"; + } + leaf status { + type Object-status; + description + "Active, Inactive, or Unused"; + } + } + + grouping RPL-REFERENCES-INFO { + description + "Set references list"; + list reference { + description + "Information about policies referring to this + object"; + uses REF-INFO; + } + } + + grouping RPL-OBJECTS-INFO { + description + "Names of policy objects"; + list object { + description + "Policy objects"; + leaf entry { + type String; + description + "Policy objects"; + } + } + } + + grouping RPL-MAX-LIMITS-INFO { + description + "Policy maximum limits info"; + leaf maximum-lines-of-policy { + type uint32; + description + "Maximum lines of configuration allowable for all + policies and sets"; + } + leaf current-lines-of-policy-limit { + type uint32; + description + "Number of lines of configuration for + policies/sets currently allowed"; + } + leaf current-lines-of-policy-used { + type uint32; + description + "Current number of lines configured for all + policies and sets"; + } + leaf maximum-number-of-policies { + type uint32; + description + "Maximum number of policies allowable"; + } + leaf current-number-of-policies-limit { + type uint32; + description + "Number of policies currently allowed"; + } + leaf current-number-of-policies-used { + type uint32; + description + "Current number of policies configured"; + } + leaf compiled-policies-length { + type uint32; + description + "The total compiled length of all policies"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper.yang new file mode 100644 index 000000000..9db8b2006 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-policy-repository-oper.yang @@ -0,0 +1,388 @@ +module Cisco-IOS-XR-policy-repository-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-policy-repository-oper"; + prefix policy-repository-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-policy-repository-oper-sub1 { + revision-date 2021-02-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR policy-repository package operational data. + + This module contains definitions + for the following management objects: + routing-policy: Routing policy operational data + routing-policy-shadow: Shadow routing policy operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-08 { + description + "route-policy-name can contain parameters. Updating route-policy-name type to EncodedString."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-11 { + description + "List or leaflist issue fixed."; + } + revision 2017-09-22 { + description + "Introduced shadow process container."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping UNUSED { + description + "Common node of policies, as-path, community, + large-community, extended-community-cost, rd, + extended-community-rt, extended-community-soo, + extended-community-opaque, + extended-community-seg-nh, + extended-community-bandwidth, prefix, esi, etag, + mac, tag, ospf-area"; + container unused { + description + "All objects of a given type that are not + referenced at all"; + uses RPL-OBJECTS-INFO; + } + } + + grouping SET-TABLE { + description + "Common node of as-path, community, + large-community, extended-community-cost, rd, + extended-community-rt, extended-community-soo, + extended-community-opaque, + extended-community-seg-nh, + extended-community-bandwidth, prefix, esi, etag, + mac, tag, ospf-area"; + container sets { + description + "Information about individual sets"; + list set { + key "set-name"; + description + "Information about an individual set"; + leaf set-name { + type xr:Cisco-ios-xr-string; + description + "Set name"; + } + uses USED-BY; + uses ATTACHED; + } + } + } + + grouping SETS { + description + "Common node of routing-policy, + routing-policy-shadow"; + container sets { + description + "Information about configured sets"; + container etag { + description + "Information about Etag sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container ospf-area { + description + "Information about OSPF Area sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container extended-community-opaque { + description + "Information about Extended Community Opaque + sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container extended-community-seg-nh { + description + "Information about Extended Community SegNH sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container extended-community-soo { + description + "Information about Extended Community SOO sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container tag { + description + "Information about Tag sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container prefix { + description + "Information about AS Path sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container community { + description + "Information about Community sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container as-path { + description + "Information about AS Path sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container large-community { + description + "Information about Large Community sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container esi { + description + "Information about Esi sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container extended-community-bandwidth { + description + "Information about Extended Community Bandwidth + sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + } + container extended-community-rt { + description + "Information about Extended Community RT sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container rd { + description + "Information about RD sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container mac { + description + "Information about Mac sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + container extended-community-cost { + description + "Information about Extended Community Cost sets"; + uses SET-TABLE; + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + } + } + + grouping LIMITS { + description + "Common node of routing-policy, + routing-policy-shadow"; + container limits { + description + "Information about configured limits and the + current values"; + uses RPL-MAX-LIMITS-INFO; + } + } + + grouping INACTIVE { + description + "Common node of policies, as-path, community, + large-community, extended-community-cost, rd, + extended-community-rt, extended-community-soo, + extended-community-opaque, + extended-community-seg-nh, + extended-community-bandwidth, prefix, esi, etag, + mac, tag, ospf-area"; + container inactive { + description + "All objects of a given type that are not + attached to a protocol"; + uses RPL-OBJECTS-INFO; + } + } + + grouping POLICIES { + description + "Common node of routing-policy, + routing-policy-shadow"; + container policies { + description + "Information about configured route policies"; + container route-policies { + description + "Information about individual policies"; + list route-policy { + key "route-policy-name"; + description + "Information about an individual policy"; + container policy-uses { + description + "Information about which policies and sets + this policy uses"; + container directly-used-policies { + description + "Policies that this policy uses directly"; + uses RPL-OBJECTS-INFO; + } + container all-used-sets { + description + "Sets used by this policy, or by policies + that it uses"; + uses RPL-SETS-INFO; + } + container directly-used-sets { + description + "Sets that this policy uses directly"; + uses RPL-SETS-INFO; + } + container all-used-policies { + description + "Policies used by this policy, or by policies + that it uses"; + uses RPL-OBJECTS-INFO; + } + } + leaf route-policy-name { + type string; + description + "Route policy name"; + } + uses USED-BY; + uses ATTACHED; + } + } + uses UNUSED; + uses INACTIVE; + uses ACTIVE; + } + } + + grouping USED-BY { + description + "Common node of route-policy, set"; + container used-by { + description + "Policies that use this object, directly or + indirectly"; + uses RPL-REFERENCES-INFO; + } + } + + grouping ACTIVE { + description + "Common node of policies, as-path, community, + large-community, extended-community-cost, rd, + extended-community-rt, extended-community-soo, + extended-community-opaque, + extended-community-seg-nh, prefix, esi, etag, mac + , tag, ospf-area"; + container active { + description + "All objects of a given type that are attached to + a protocol"; + uses RPL-OBJECTS-INFO; + } + } + + grouping ATTACHED { + description + "Common node of route-policy, set"; + container attached { + description + "Information about where this policy or set is + attached"; + uses RPL-ATTACHMENT-INFO; + } + } + + container routing-policy { + config false; + description + "Routing policy operational data"; + uses LIMITS; + uses POLICIES; + uses SETS; + } + container routing-policy-shadow { + config false; + description + "Shadow routing policy operational data"; + uses LIMITS; + uses POLICIES; + uses SETS; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper-sub1.yang new file mode 100644 index 000000000..6489e3c5c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper-sub1.yang @@ -0,0 +1,82 @@ +submodule Cisco-IOS-XR-procfind-oper-sub1 { + belongs-to Cisco-IOS-XR-procfind-oper { + prefix Cisco-IOS-XR-procfind-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR procfind package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-28 { + description + "Added new field PID in schema."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-18 { + description + "Added good description for bag fields."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PROCFIND-PROC { + description + "Procfind information on a single running process"; + leaf nodeid { + type uint32; + description + "Node ID"; + } + leaf nodetype { + type uint32; + description + "Type of the node RP/LC/DRP"; + } + leaf pid { + type int32; + description + "Process ID"; + } + leaf jid { + type int32; + description + "Job ID"; + } + leaf num-threads { + type int32; + description + "Number of threads"; + } + leaf name { + type string; + description + "Process name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper.yang new file mode 100644 index 000000000..9209e2ce7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-procfind-oper.yang @@ -0,0 +1,105 @@ +module Cisco-IOS-XR-procfind-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-procfind-oper"; + prefix procfind-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-procfind-oper-sub1 { + revision-date 2020-02-28; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR procfind package operational data. + + This module contains definitions + for the following management objects: + proc-distribution: Process distribution information + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-28 { + description + "Added new field PID in schema."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-18 { + description + "Added good description for bag fields."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container proc-distribution { + config false; + description + "Process distribution information"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Process distribution information per node"; + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + list process { + key "proc-name"; + description + "Process distribution information"; + leaf proc-name { + type xr:Cisco-ios-xr-string { + length "1..256"; + } + description + "Process Name"; + } + list pid { + key "pid"; + description + "Process distribution information"; + container filter-type { + description + "Process distribution information"; + uses PROCFIND-PROC; + } + leaf pid { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "PID"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper-sub1.yang new file mode 100644 index 000000000..6b17f816a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper-sub1.yang @@ -0,0 +1,110 @@ +submodule Cisco-IOS-XR-procmem-oper-sub1 { + belongs-to Cisco-IOS-XR-procmem-oper { + prefix Cisco-IOS-XR-procmem-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR procmem package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-04 { + description + "Moved proccess id from integer to range."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-07-30 { + description + "IOS XR 6.0.0 revision."; + } + + grouping PROCESSESMEMORY-ENTRY { + description + " Per Process Information"; + leaf name { + type string; + description + "Process name"; + } + leaf jid { + type uint32; + description + "Job ID"; + } + leaf pid { + type uint32; + description + "Process ID"; + } + leaf text-seg-size { + type uint32; + description + "Text Segment Size in KB"; + } + leaf data-seg-size { + type uint32; + description + "Data Segment Size in KB"; + } + leaf stack-seg-size { + type uint32; + description + "Stack Segment Size in KB"; + } + leaf malloc-size { + type uint32; + description + "Malloced Memory Size in KB"; + } + leaf dyn-limit { + type uint32; + description + "Dynamic memory limit in KB (4294967295 for + RLIM_INFINITY)"; + } + leaf shared-mem { + type uint32; + description + "Shared memory size in KB"; + } + leaf physical-mem { + type uint32; + description + "Physical memory size in KB"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper.yang new file mode 100644 index 000000000..6d0a8fc6b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-procmem-oper.yang @@ -0,0 +1,106 @@ +module Cisco-IOS-XR-procmem-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-procmem-oper"; + prefix procmem-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-procmem-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR procmem package operational data. + + This module contains definitions + for the following management objects: + processes-memory: Process statistics + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-04 { + description + "Moved proccess id from integer to range."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-07-30 { + description + "IOS XR 6.0.0 revision."; + } + + typedef Proc-mem-pid-range { + type uint32 { + range "1..2147483647"; + } + description + "Proc mem pid range"; + } + + container processes-memory { + config false; + description + "Process statistics"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Node ID"; + container process-ids { + description + "List of jobs"; + list process-id { + key "process-id"; + description + "Process Id"; + leaf process-id { + type Proc-mem-pid-range; + description + "Process Id"; + } + uses PROCESSESMEMORY-ENTRY; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper-sub1.yang new file mode 100644 index 000000000..8c0b3558d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper-sub1.yang @@ -0,0 +1,97 @@ +submodule Cisco-IOS-XR-procthreadname-oper-sub1 { + belongs-to Cisco-IOS-XR-procthreadname-oper { + prefix Cisco-IOS-XR-procthreadname-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR procthreadname package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-07 { + description + "Removed container thread-name."; + semver:module-version "1.0.1M"; + } + revision 2019-05-28 { + description + "Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PROCESSESTHREAD-ENTRY { + description + " Per Thread Information"; + leaf name { + type string; + description + "Thread name"; + } + leaf state { + type string; + description + "Thread State"; + } + leaf stack { + type string; + description + "Stack"; + } + leaf pri { + type uint32; + description + "Priority"; + } + leaf rtpri { + type uint32; + description + "Rt pri"; + } + leaf jid { + type uint32; + description + "Job ID"; + } + leaf tid { + type uint32; + description + "Thread ID"; + } + } + + grouping THREADLIST { + description + " Per node thread list"; + list thread { + description + "Thread list"; + uses PROCESSESTHREAD-ENTRY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper.yang new file mode 100644 index 000000000..2eaf4d0e6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-procthreadname-oper.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XR-procthreadname-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-procthreadname-oper"; + prefix procthreadname-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-procthreadname-oper-sub1 { + revision-date 2022-07-07; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR procthreadname package operational data. + + This module contains definitions + for the following management objects: + processes-thread: Process statistics + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-07 { + description + "Removed container thread-name."; + semver:module-version "1.0.1M"; + } + revision 2019-05-28 { + description + "Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container processes-thread { + config false; + description + "Process statistics"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Node ID"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses THREADLIST; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-cfg.yang new file mode 100644 index 000000000..ac84e81a3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-cfg.yang @@ -0,0 +1,1618 @@ +module Cisco-IOS-XR-ptp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-cfg"; + prefix ptp-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ptp-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ptp package configuration. + + This module contains definitions + for the following management objects: + ptp: PTP global configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-12 { + description + "Marked deprecated uncalibrated-clock-class leaf obsolete"; + semver:module-version "3.1.0"; + } + revision 2020-01-31 { + description + "Added submode-enter enable handling. + 2020-01-15 + Added holdover-spec configuration options and uncalibrated time-traceable override option. + 2020-01-13 + Added servo slow tracking configuration item."; + semver:module-version "3.0.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes and presence containers."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-02-02 { + description + "Initial version."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container ptp { + presence "CLI submode compatibility."; + description + "Precision Time Protocol interface configuration"; + container source-ipv6-address { + description + "Source IPv6 Address"; + leaf enable { + type boolean; + description + "Enable source IPv6 address"; + } + leaf source-ipv6 { + type inet:ipv6-address-no-zone; + description + "Source IPv6 address to use"; + } + } + container announce-interval { + description + "Announce interval"; + leaf time-type { + type dt1:Ptp-time; + default "interval"; + description + "Interval or Frequency"; + } + leaf time-period { + type dt1:Ptp-time-period; + default "2"; + description + "Time Period"; + } + } + container interop { + description + "Table for interop configuration"; + container egress-conversion { + description + "Iteroperation configuration to be used on + egress"; + container clock-class-mappings { + description + "Table for specific mappings for given clock + class values"; + list clock-class-mapping { + key "clock-class-from"; + description + "Mapping for a given clock class value"; + leaf clock-class-from { + type uint32 { + range "0..255"; + } + description + "Clock Class to map from"; + } + leaf clock-class-to { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Clock class to map to"; + } + } + } + leaf clock-accuracy { + type uint32 { + range "0..254"; + } + description + "Clock Accuracy value to use for the peer + clock"; + } + leaf priority2 { + type uint32 { + range "0..255"; + } + description + "Priority2 value to use for the peer clock"; + } + leaf clock-class-default { + type uint32 { + range "0..255"; + } + description + "Default clock class to use when a more + specific mapping is not available"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535"; + } + description + "OSLV value to use for the peer clock"; + } + leaf priority1 { + type uint32 { + range "0..255"; + } + description + "Priority1 value to use for the peer clock"; + } + } + container ingress-conversion { + description + "Iteroperation configuration to be used on + ingress"; + container clock-class-mappings { + description + "Table for specific mappings for given clock + class values"; + list clock-class-mapping { + key "clock-class-from"; + description + "Mapping for a given clock class value"; + leaf clock-class-from { + type uint32 { + range "0..255"; + } + description + "Clock Class to map from"; + } + leaf clock-class-to { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Clock class to map to"; + } + } + } + leaf clock-accuracy { + type uint32 { + range "0..254"; + } + description + "Clock Accuracy value to use for the peer + clock"; + } + leaf priority2 { + type uint32 { + range "0..255"; + } + description + "Priority2 value to use for the peer clock"; + } + leaf clock-class-default { + type uint32 { + range "0..255"; + } + description + "Default clock class to use when a more + specific mapping is not available"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535"; + } + description + "OSLV value to use for the peer clock"; + } + leaf priority1 { + type uint32 { + range "0..255"; + } + description + "Priority1 value to use for the peer clock"; + } + } + leaf profile { + type dt1:Ptp-clock-profile; + description + "Profile to interoperate with"; + } + leaf domain { + type uint32 { + range "0..255"; + } + description + "Domain number of the peer clock"; + } + } + container source-ipv4-address { + description + "Source IPv4 Address"; + leaf enable { + type boolean; + description + "Enable source IP address"; + } + leaf source-ip { + type inet:ipv4-address-no-zone; + description + "Source IP address to use"; + } + } + container slaves { + description + "Table for slave configuration"; + list slave { + must "ethernet or ipv4-or-ipv6" { + description + "Ethernet or IPv4-or-IPv6 must be present."; + } + key "transport"; + description + "Slave configuration"; + + grouping SLAVE-CONTENT { + description + "SLAVE CONTENT"; + leaf non-negotiated { + type boolean; + description + "Enable non-negotiated unicast on this + interface"; + } + } + leaf transport { + type dt1:Ptp-encap; + description + "Slave Transport Type"; + } + list ethernet { + when "../transport = 'ethernet'" { + description + "../Transport = Ethernet"; + } + key "slave-mac-address"; + description + "ethernet"; + leaf slave-mac-address { + type yang:mac-address; + description + "Slave MAC Address"; + } + uses SLAVE-CONTENT; + } + list ipv4-or-ipv6 { + when "../transport = 'ipv4' or ../transport = 'ipv6'" { + description + "../Transport = IPv4 or ../Transport = IPv6"; + } + key "slave-ip-address"; + description + "ipv4 or ipv6"; + leaf slave-ip-address { + type inet:ip-address-no-zone; + description + "Slave IP Address"; + } + uses SLAVE-CONTENT; + } + } + } + container sync-interval { + description + "Sync interval"; + leaf time-type { + type dt1:Ptp-time; + default "interval"; + description + "Interval or Frequency"; + } + leaf time-period { + type dt1:Ptp-time-period; + default "1"; + description + "Time Period"; + } + } + container masters { + description + "Table for master configuration"; + list master { + must "ethernet or ipv4-or-ipv6" { + description + "Ethernet or IPv4-or-IPv6 must be present."; + } + key "transport"; + description + "Master configuration"; + + grouping MASTER-CONTENT { + description + "MASTER CONTENT"; + container delay-asymmetry { + description + "The delay asymmetry for this master"; + leaf magnitude { + type int32 { + range "-500000000..500000000"; + } + default "0"; + description + "How much longer the master to slave path + takes than the reverse"; + } + leaf units { + type dt1:Ptp-delay-asymmetry-units; + default "nanoseconds"; + description + "The units to use for the delay asymmetry"; + } + } + leaf master-clock-class { + type uint32 { + range "0..255"; + } + description + "Master clock class"; + } + leaf non-negotiated { + type boolean; + description + "Enable non-negotiated unicast on this + interface"; + } + leaf priority { + type uint32 { + range "0..255"; + } + description + "Master priority"; + } + leaf communication { + type dt1:Ptp-transport; + default "unicast"; + description + "Communication Model"; + } + } + leaf transport { + type dt1:Ptp-encap; + description + "Master Transport Type"; + } + list ethernet { + when "../transport = 'ethernet'" { + description + "../Transport = Ethernet"; + } + key "master-mac-address"; + description + "ethernet"; + leaf master-mac-address { + type yang:mac-address; + description + "Master MAC Address - only used if Transport + is Ethernet"; + } + uses MASTER-CONTENT; + } + list ipv4-or-ipv6 { + when "../transport = 'ipv4' or ../transport = 'ipv6'" { + description + "../Transport = IPv4 or ../Transport = IPv6"; + } + key "master-ip-address"; + description + "ipv4 or ipv6"; + leaf master-ip-address { + type inet:ip-address-no-zone; + description + "Master IP Address - used if Transport is not + Ethernet"; + } + uses MASTER-CONTENT; + } + } + } + container delay-asymmetry { + description + "Delay asymmetry to apply to all masters on the + interface"; + leaf magnitude { + type int32 { + range "-500000000..500000000"; + } + default "0"; + description + "How much longer the master to slave path takes + than the reverse"; + } + leaf units { + type dt1:Ptp-delay-asymmetry-units; + default "nanoseconds"; + description + "The units to use for the delay asymmetry"; + } + } + container communication { + description + "Communication model"; + leaf model { + type dt1:Ptp-transport; + default "unicast"; + description + "Communication Model"; + } + leaf target-address-set { + type boolean; + default "false"; + description + "Target address set"; + } + leaf target-address { + type string; + description + "Target address"; + } + } + container delay-request-minimum-interval { + description + "Minimum delay request interval"; + leaf time-type { + type dt1:Ptp-time; + default "interval"; + description + "Interval or Frequency"; + } + leaf time-period { + type dt1:Ptp-time-period; + default "1"; + description + "Time Period"; + } + } + leaf sync-grant-duration { + type uint32 { + range "60..1000"; + } + units "second"; + default "300"; + description + "Sync unicast grant duration, in seconds"; + } + leaf general-cos { + type uint32 { + range "0..7"; + } + default "6"; + description + "General COS"; + } + leaf enable { + type empty; + description + "Enable the precision time protocol"; + } + leaf sync-timeout { + type uint32 { + range "100..100000"; + } + units "millisecond"; + default "5000"; + description + "Sync timeout, in milliseconds"; + } + leaf transport { + type dt1:Ptp-encap; + default "ipv4"; + description + "Transport"; + } + leaf profile { + type string; + description + "Precision Time Protocol configuration profile"; + } + leaf announce-timeout { + type uint32 { + range "2..10"; + } + default "3"; + description + "Announce Timeout"; + } + leaf cos { + type uint32 { + range "0..7"; + } + default "6"; + description + "COS"; + } + leaf ipv4ttl { + type uint32 { + range "1..255"; + } + default "255"; + description + "IPv4 TTL"; + } + leaf port-state { + type dt1:Ptp-port-state; + default "any"; + description + "Port state restriction"; + } + leaf delay-response-timeout { + type uint32 { + range "100..100000"; + } + units "millisecond"; + default "5000"; + description + "Delay-Response timeout, in milliseconds"; + } + leaf local-priority { + type uint32 { + range "1..255"; + } + default "128"; + description + "Local priority"; + } + leaf delay-response-grant-duration { + type uint32 { + range "60..1000"; + } + units "second"; + default "300"; + description + "Delay-Response unicast grant duration, in + seconds"; + } + leaf event-cos { + type uint32 { + range "0..7"; + } + default "6"; + description + "Event COS"; + } + leaf dscp { + type uint32 { + range "0..63"; + } + default "46"; + description + "DSCP"; + } + leaf ipv6-hop-limit { + type uint32 { + range "1..255"; + } + default "255"; + description + "IPv6 Hop Limit"; + } + leaf general-dscp { + type uint32 { + range "0..63"; + } + default "46"; + description + "General DSCP"; + } + leaf clock-operation { + type dt1:Ptp-clock-operation; + default "two-step"; + description + "Clock Operation"; + } + leaf announce-grant-duration { + type uint32 { + range "60..1000"; + } + units "second"; + default "300"; + description + "Announce unicast grant duration, in seconds"; + } + leaf unicast-grant-invalid-request { + type dt1:Ptp-invalid-unicast-grant-request-response; + default "reduce"; + description + "Invalid unicast grant request response"; + } + leaf event-dscp { + type uint32 { + range "0..63"; + } + default "46"; + description + "Event DSCP"; + } + } + } + container ptp { + presence "CLI submode compatibility."; + description + "PTP global configuration"; + container clock { + description + "PTP local clock configuration"; + container clock-profile { + description + "Local clock PTP profile"; + leaf clock-profile { + type dt1:Ptp-clock-profile; + default "default"; + description + "Clock profile"; + } + leaf telecom-clock-type { + when "../clock-profile = 'g82651' or ../clock-profile = 'g82751' or ../clock-profile = 'g82752'" { + description + "../ClockProfile = G82651 or ../ClockProfile + = G82751 or ../ClockProfile = G82752"; + } + type dt1:Ptp-telecom-clock; + description + "Telecom clock type"; + } + } + container identity { + description + "Local clock identity"; + leaf clock-id-type { + type dt1:Ptp-clock-id; + default "router-mac"; + description + "Clock identity type"; + } + leaf mac-address { + when "../clock-id-type = 'user-mac'" { + description + "../ClockIDType = UserMAC"; + } + type yang:mac-address; + description + "MAC Address"; + } + leaf eui { + when "../clock-id-type = 'eui'" { + description + "../ClockIDType = EUI"; + } + type string; + description + "EUI-64 number"; + } + } + leaf timescale { + type dt1:Ptp-timescale; + description + "Local clock timescale"; + } + leaf domain { + type uint32 { + range "0..255"; + } + default "0"; + description + "Local clock domain"; + } + leaf priority2 { + type uint32 { + range "0..255"; + } + default "128"; + description + "Local clock priority2"; + } + leaf time-source { + type dt1:Ptp-time-source; + description + "Local clock time source"; + } + leaf priority1 { + type uint32 { + range "0..255"; + } + default "128"; + description + "Local clock priority1"; + } + leaf clock-class { + type uint32 { + range "0..255"; + } + default "0"; + description + "Local clock class"; + } + } + container profiles { + description + "Table for profile configuration"; + list profile { + key "profile-name"; + description + "Profile configuration"; + container announce-interval { + description + "Announce interval"; + leaf time-type { + type dt1:Ptp-time; + default "interval"; + description + "Interval or Frequency"; + } + leaf time-period { + type dt1:Ptp-time-period; + default "2"; + description + "Time Period"; + } + } + container interop { + description + "Table for interop configuration"; + container egress-conversion { + description + "Iteroperation configuration to be used on + egress"; + container clock-class-mappings { + description + "Table for specific mappings for given clock + class values"; + list clock-class-mapping { + key "clock-class-from"; + description + "Mapping for a given clock class value"; + leaf clock-class-from { + type uint32 { + range "0..255"; + } + description + "Clock Class to map from"; + } + leaf clock-class-to { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Clock class to map to"; + } + } + } + leaf clock-accuracy { + type uint32 { + range "0..254"; + } + description + "Clock Accuracy value to use for the peer + clock"; + } + leaf priority2 { + type uint32 { + range "0..255"; + } + description + "Priority2 value to use for the peer clock"; + } + leaf clock-class-default { + type uint32 { + range "0..255"; + } + description + "Default clock class to use when a more + specific mapping is not available"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535"; + } + description + "OSLV value to use for the peer clock"; + } + leaf priority1 { + type uint32 { + range "0..255"; + } + description + "Priority1 value to use for the peer clock"; + } + } + container ingress-conversion { + description + "Iteroperation configuration to be used on + ingress"; + container clock-class-mappings { + description + "Table for specific mappings for given clock + class values"; + list clock-class-mapping { + key "clock-class-from"; + description + "Mapping for a given clock class value"; + leaf clock-class-from { + type uint32 { + range "0..255"; + } + description + "Clock Class to map from"; + } + leaf clock-class-to { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Clock class to map to"; + } + } + } + leaf clock-accuracy { + type uint32 { + range "0..254"; + } + description + "Clock Accuracy value to use for the peer + clock"; + } + leaf priority2 { + type uint32 { + range "0..255"; + } + description + "Priority2 value to use for the peer clock"; + } + leaf clock-class-default { + type uint32 { + range "0..255"; + } + description + "Default clock class to use when a more + specific mapping is not available"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535"; + } + description + "OSLV value to use for the peer clock"; + } + leaf priority1 { + type uint32 { + range "0..255"; + } + description + "Priority1 value to use for the peer clock"; + } + } + leaf profile { + type dt1:Ptp-clock-profile; + description + "Profile to interoperate with"; + } + leaf domain { + type uint32 { + range "0..255"; + } + description + "Domain number of the peer clock"; + } + } + container source-ipv4-address { + description + "Source IPv4 Address"; + leaf enable { + type boolean; + description + "Enable source IP address"; + } + leaf source-ip { + type inet:ipv4-address-no-zone; + description + "Source IP address to use"; + } + } + container slaves { + description + "Table for slave configuration"; + list slave { + must "ethernet or ipv4-or-ipv6" { + description + "Ethernet or IPv4-or-IPv6 must be present."; + } + key "transport"; + description + "Slave configuration"; + + grouping SLAVE-CONTENT { + description + "SLAVE CONTENT"; + leaf non-negotiated { + type boolean; + description + "Enable non-negotiated unicast on this + interface"; + } + } + leaf transport { + type dt1:Ptp-encap; + description + "Slave Transport Type"; + } + list ethernet { + when "../transport = 'ethernet'" { + description + "../Transport = Ethernet"; + } + key "slave-mac-address"; + description + "ethernet"; + leaf slave-mac-address { + type yang:mac-address; + description + "Slave MAC Address"; + } + uses SLAVE-CONTENT; + } + list ipv4-or-ipv6 { + when "../transport = 'ipv4' or ../transport = 'ipv6'" { + description + "../Transport = IPv4 or ../Transport = IPv6"; + } + key "slave-ip-address"; + description + "ipv4 or ipv6"; + leaf slave-ip-address { + type inet:ip-address-no-zone; + description + "Slave IP Address"; + } + uses SLAVE-CONTENT; + } + } + } + container sync-interval { + description + "Sync interval"; + leaf time-type { + type dt1:Ptp-time; + default "interval"; + description + "Interval or Frequency"; + } + leaf time-period { + type dt1:Ptp-time-period; + default "1"; + description + "Time Period"; + } + } + container masters { + description + "Table for master configuration"; + list master { + must "ethernet or ipv4-or-ipv6" { + description + "Ethernet or IPv4-or-IPv6 must be present."; + } + key "transport"; + description + "Master configuration"; + + grouping MASTER-CONTENT { + description + "MASTER CONTENT"; + container delay-asymmetry { + description + "The delay asymmetry for this master"; + leaf magnitude { + type int32 { + range "-500000000..500000000"; + } + default "0"; + description + "How much longer the master to slave path + takes than the reverse"; + } + leaf units { + type dt1:Ptp-delay-asymmetry-units; + default "nanoseconds"; + description + "The units to use for the delay asymmetry"; + } + } + leaf master-clock-class { + type uint32 { + range "0..255"; + } + description + "Master clock class"; + } + leaf non-negotiated { + type boolean; + description + "Enable non-negotiated unicast on this + interface"; + } + leaf priority { + type uint32 { + range "0..255"; + } + description + "Master priority"; + } + leaf communication { + type dt1:Ptp-transport; + default "unicast"; + description + "Communication Model"; + } + } + leaf transport { + type dt1:Ptp-encap; + description + "Master Transport Type"; + } + list ethernet { + when "../transport = 'ethernet'" { + description + "../Transport = Ethernet"; + } + key "master-mac-address"; + description + "ethernet"; + leaf master-mac-address { + type yang:mac-address; + description + "Master MAC Address - only used if Transport + is Ethernet"; + } + uses MASTER-CONTENT; + } + list ipv4-or-ipv6 { + when "../transport = 'ipv4' or ../transport = 'ipv6'" { + description + "../Transport = IPv4 or ../Transport = IPv6"; + } + key "master-ip-address"; + description + "ipv4 or ipv6"; + leaf master-ip-address { + type inet:ip-address-no-zone; + description + "Master IP Address - used if Transport is + not Ethernet"; + } + uses MASTER-CONTENT; + } + } + } + container delay-asymmetry { + description + "Delay asymmetry to apply to all masters on an + interface"; + leaf magnitude { + type int32 { + range "-500000000..500000000"; + } + default "0"; + description + "How much longer the master to slave path + takes than the reverse"; + } + leaf units { + type dt1:Ptp-delay-asymmetry-units; + default "nanoseconds"; + description + "The units to use for the delay asymmetry"; + } + } + container communication { + description + "Communication model"; + leaf model { + type dt1:Ptp-transport; + default "unicast"; + description + "Communication Model"; + } + leaf target-address-set { + type boolean; + default "false"; + description + "Target address set"; + } + leaf target-address { + type string; + description + "Target address"; + } + } + container delay-request-minimum-interval { + description + "Minimum delay request interval"; + leaf time-type { + type dt1:Ptp-time; + default "interval"; + description + "Interval or Frequency"; + } + leaf time-period { + type dt1:Ptp-time-period; + default "1"; + description + "Time Period"; + } + } + container source-ipv6-address { + description + "Source IPv6 Address"; + leaf enable { + type boolean; + description + "Enable source IPv6 address"; + } + leaf source-ipv6 { + type inet:ipv6-address-no-zone; + description + "Source IPv6 address to use"; + } + } + leaf sync-grant-duration { + type uint32 { + range "60..1000"; + } + units "second"; + default "300"; + description + "Sync unicast grant duration, in seconds"; + } + leaf general-cos { + type uint32 { + range "0..7"; + } + default "6"; + description + "General COS"; + } + leaf sync-timeout { + type uint32 { + range "100..100000"; + } + units "millisecond"; + default "5000"; + description + "Sync timeout, in milliseconds"; + } + leaf transport { + type dt1:Ptp-encap; + default "ipv4"; + description + "Transport"; + } + leaf announce-timeout { + type uint32 { + range "2..10"; + } + default "3"; + description + "Announce Timeout"; + } + leaf cos { + type uint32 { + range "0..7"; + } + default "6"; + description + "COS"; + } + leaf ipv4ttl { + type uint32 { + range "1..255"; + } + default "255"; + description + "IPv4 TTL"; + } + leaf port-state { + type dt1:Ptp-port-state; + default "any"; + description + "Port state restriction"; + } + leaf delay-response-timeout { + type uint32 { + range "100..100000"; + } + units "millisecond"; + default "5000"; + description + "Delay-Response timeout, in milliseconds"; + } + leaf delay-response-grant-duration { + type uint32 { + range "60..1000"; + } + units "second"; + default "300"; + description + "Delay-Response unicast grant duration, in + seconds"; + } + leaf event-cos { + type uint32 { + range "0..7"; + } + default "6"; + description + "Event COS"; + } + leaf dscp { + type uint32 { + range "0..63"; + } + default "46"; + description + "DSCP"; + } + leaf ipv6-hop-limit { + type uint32 { + range "1..255"; + } + default "255"; + description + "IPv6 Hop Limit"; + } + leaf general-dscp { + type uint32 { + range "0..63"; + } + default "46"; + description + "General DSCP"; + } + leaf clock-operation { + type dt1:Ptp-clock-operation; + default "two-step"; + description + "Clock Operation"; + } + leaf announce-grant-duration { + type uint32 { + range "60..1000"; + } + units "second"; + default "300"; + description + "Announce unicast grant duration, in seconds"; + } + leaf unicast-grant-invalid-request { + type dt1:Ptp-invalid-unicast-grant-request-response; + default "reduce"; + description + "Invalid unicast grant request response"; + } + leaf event-dscp { + type uint32 { + range "0..63"; + } + default "46"; + description + "Event DSCP"; + } + leaf profile-name { + type xr:Cisco-ios-xr-string; + description + "Profile"; + } + } + } + container utc-offset { + description + "UTC offset configuration"; + container leap-second-file { + presence "Indicates a leap-second-file node is configured."; + description + "Source file containing leap second information"; + leaf source-url { + type string; + mandatory true; + description + "URL of source file"; + } + leaf polling-frequency { + type uint32 { + range "1..365"; + } + units "day"; + description + "Polling frequency, in days"; + } + } + container scheduled-offsets { + description + "Table for scheduled UTC offset configuration"; + list scheduled-offset { + key "date"; + description + "Scheduled UTC offset configuration"; + leaf date { + type xr:Cisco-ios-xr-string; + description + "Offset application date, in ISO-8601 format + (YYYY-MM-DD)"; + } + leaf offset { + type uint32 { + range "0..32767"; + } + units "second"; + mandatory true; + description + "UTC offset, in seconds"; + } + } + } + leaf base-offset { + type uint32 { + range "0..32767"; + } + units "second"; + description + "Base UTC offset configuration"; + } + } + container logging { + description + "PTP logging configuration"; + container best-master-clock { + description + "PTP best master clock logging configuration"; + leaf changes { + type empty; + description + "Enable best master clock changes logging"; + } + } + } + leaf uncalibrated-clock-class { + type uint32 { + range "0..255"; + } + status obsolete; + description + "Clock class to be used while acquiring + phase-lock to a parent clock. Note that + this is deprecated and should not be + used."; + } + container uncalibrated-clock-class2 { + presence "Indicates a uncalibrated-clock-class2 node is configured."; + description + "Clock class to be used while acquiring + phase-lock to a parent clock."; + leaf clock-class { + type uint32 { + range "0..255"; + } + mandatory true; + description + "Clock Class"; + } + leaf unless-from-holdover { + type boolean; + description + "Unless from holdover flag"; + } + } + container transparent-clock { + description + "Transparent clock configuration"; + container domains { + description + "Table of domains containing transparent clock + configuration"; + list domain { + key "domain"; + description + "Transparent clock domain configuration"; + leaf domain { + type dt1:Transparent-clock-domain; + description + "Domain"; + } + } + } + } + container virtual-port { + presence "CLI submode compatibility."; + description + "PTP virtual port configuration"; + leaf clock-accuracy { + type uint32 { + range "0..254"; + } + description + "Virtual port clock accuracy"; + } + leaf priority2 { + type uint32 { + range "0..255"; + } + description + "Virtual port priority2"; + } + leaf local-priority { + type uint32 { + range "1..255"; + } + description + "Virtual port local priority"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535"; + } + description + "Virtual port OSLV"; + } + leaf priority1 { + type uint32 { + range "0..255"; + } + description + "Virtual port priority1"; + } + leaf clock-class { + type uint32 { + range "0..255"; + } + description + "Virtual port clock class"; + } + } + leaf time-of-day-priority { + type uint32 { + range "1..254"; + } + default "100"; + description + "Time-of-day priority"; + } + leaf frequency-priority { + type uint32 { + range "1..254"; + } + default "254"; + description + "Frequency priority"; + } + leaf holdover-spec-clock-class { + type uint32 { + range "0..255"; + } + description + "Holdover spec clock-class"; + } + leaf startup-clock-class { + type uint32 { + range "0..255"; + } + description + "Startup clock class value"; + } + leaf verify-checksum { + type empty; + description + "Enable verify-checksum"; + } + leaf min-clock-class { + type uint32 { + range "0..255"; + } + description + "Clocks with a clock-class higher than the + minimum clock class will not be considered for + selection as a parent clock."; + } + leaf holdover-spec-traceable-override { + type empty; + description + "Override time-traceability while in holdover"; + } + leaf assisted-partial-timing-support { + type empty; + description + "Enable assisted partial timing support"; + } + leaf network-type-high-pdv { + type empty; + description + "The network has high packet delay variation"; + } + leaf holdover-spec-duration { + type uint32; + units "second"; + description + "Holdover spec duration (seconds)"; + } + leaf uncalibrated-traceable-override { + type empty; + description + "Override time-traceability to true while + acquiring phase lock to a parent clock."; + } + leaf physical-layer-frequency { + type empty; + description + "Disable PTP as a source for frequency as only + physical layer frequency sources are used"; + } + leaf freerun-clock-class { + type uint32 { + range "0..255"; + } + description + "Freerun clock class value"; + } + leaf servo-slow-tracking { + type uint32 { + range "8..984"; + } + description + "Restrict the rate, in ns per second, at which + the servo may track to update the time and + attain sync"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-datatypes.yang new file mode 100644 index 000000000..aab5a0ffb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-datatypes.yang @@ -0,0 +1,405 @@ +module Cisco-IOS-XR-ptp-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-datatypes"; + prefix ptp-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ptp-time { + type enumeration { + enum "interval" { + value 0; + description + "Time interval in seconds"; + } + enum "frequency" { + value 1; + description + "Frequency per second"; + } + } + description + "Ptp time"; + } + + typedef Ptp-clock-advertisement-mode { + type enumeration { + enum "1588v2" { + value 0; + description + "Use 1588v2 clock selection"; + } + enum "telecom-profile" { + value 1; + description + "Use Telecom Profile clock selection"; + } + } + description + "Ptp clock advertisement mode"; + } + + typedef Ptp-encap { + type enumeration { + enum "ethernet" { + value 1; + description + "Ethernet Encapsulation"; + } + enum "ipv4" { + value 2; + description + "IPv4 Encapsulation"; + } + enum "ipv6" { + value 3; + description + "IPv6 Encapsulation"; + } + } + description + "Ptp encap"; + } + + typedef Ptp-time-period { + type enumeration { + enum "1" { + value 0; + description + "One"; + } + enum "2" { + value 1; + description + "Two"; + } + enum "4" { + value 2; + description + "Four"; + } + enum "8" { + value 3; + description + "Eight"; + } + enum "16" { + value 4; + description + "Sixteen"; + } + enum "32" { + value 5; + description + "Thirty Two"; + } + enum "64" { + value 6; + description + "Sixty Four"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty-Eight"; + } + } + description + "Ptp time period"; + } + + typedef Ptp-clock-operation { + type enumeration { + enum "two-step" { + value 0; + description + "Two-step clock operation"; + } + enum "one-step" { + value 1; + description + "One-step clock operation"; + } + } + description + "Ptp clock operation"; + } + + typedef Ptp-clock-selection-mode { + type enumeration { + enum "1588v2" { + value 0; + description + "Use 1588v2 clock selection"; + } + enum "telecom-profile" { + value 1; + description + "Use Telecom Profile clock selection"; + } + } + description + "Ptp clock selection mode"; + } + + typedef Ptp-timescale { + type enumeration { + enum "ptp" { + value 0; + description + "PTP timescale"; + } + enum "arb" { + value 1; + description + "ARB timescale"; + } + } + description + "Ptp timescale"; + } + + typedef Transparent-clock-domain { + type string { + pattern "(all)"; + } + description + "all: Set for all domains"; + } + + typedef Ptp-delay-asymmetry-units { + type enumeration { + enum "nanoseconds" { + value 0; + description + "Nanoseconds"; + } + enum "microseconds" { + value 1; + description + "Microseconds"; + } + enum "milliseconds" { + value 2; + description + "Milliseconds"; + } + } + description + "Ptp delay asymmetry units"; + } + + typedef Ptp-time-source { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown"; + } + enum "atomic-clock" { + value 16; + description + "Atomic Clock"; + } + enum "gps" { + value 32; + description + "GPS"; + } + enum "terrestrial-radio" { + value 48; + description + "Terrestrial Radio"; + } + enum "ptp" { + value 64; + description + "PTP"; + } + enum "ntp" { + value 80; + description + "NTP"; + } + enum "hand-set" { + value 96; + description + "Hand set"; + } + enum "other" { + value 144; + description + "Other"; + } + enum "internal-oscillator" { + value 160; + description + "Internal Oscillator"; + } + } + description + "Ptp time source"; + } + + typedef Ptp-port-state { + type enumeration { + enum "any" { + value 0; + description + "Any port state allowed"; + } + enum "slave-only" { + value 1; + description + "Restrict to slave"; + } + enum "master-only" { + value 2; + description + "Restrict to master"; + } + } + description + "Ptp port state"; + } + + typedef Ptp-clock-profile { + type enumeration { + enum "default" { + value 0; + description + "Default clock profile"; + } + enum "g82651" { + value 1; + description + "G.8265.1 profile"; + } + enum "g82751" { + value 2; + description + "G.8275.1 profile"; + } + enum "g82752" { + value 3; + description + "G.8275.2 profile"; + } + } + description + "Ptp clock profile"; + } + + typedef Ptp-transport { + type enumeration { + enum "unicast" { + value 0; + description + "Unicast communication"; + } + enum "mixed-mode" { + value 1; + description + "Mixed-mode communication"; + } + enum "multicast" { + value 2; + description + "Multicast communication"; + } + } + description + "Ptp transport"; + } + + typedef Ptp-clock-id { + type enumeration { + enum "router-mac" { + value 0; + description + "Use the router's MAC"; + } + enum "user-mac" { + value 1; + description + "Use a user-specified MAC"; + } + enum "eui" { + value 2; + description + "Use a user-specified EUI-64 number"; + } + } + description + "Ptp clock id"; + } + + typedef Ptp-invalid-unicast-grant-request-response { + type enumeration { + enum "reduce" { + value 0; + description + "Reduce grant parameters"; + } + enum "deny" { + value 1; + description + "Deny grant"; + } + } + description + "Ptp invalid unicast grant request response"; + } + + typedef Ptp-telecom-clock { + type enumeration { + enum "telecom-grandmaster" { + value 0; + description + "Telecom grandmaster clock"; + } + enum "telecom-boundary" { + value 1; + description + "Telecom boundary clock"; + } + enum "telecom-slave" { + value 2; + description + "Telecom slave clock"; + } + } + description + "Ptp telecom clock"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper-sub1.yang new file mode 100644 index 000000000..c96deaab4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper-sub1.yang @@ -0,0 +1,2896 @@ +submodule Cisco-IOS-XR-ptp-oper-sub1 { + belongs-to Cisco-IOS-XR-ptp-oper { + prefix Cisco-IOS-XR-ptp-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ptp package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-07 { + description + "Show command updates for APTS and virtual port"; + semver:module-version "2.2.0"; + } + revision 2020-02-06 { + description + "Added valid flags for receiver clock information, sender clock information and master entry properties. + 2019-12-18 + Added checksum related packet drop reasons and servo status enums."; + semver:module-version "2.1.0"; + } + revision 2019-10-01 { + description + "Corrected enum names for servo. + 2019-09-30 + Added incompatible packet for non-negotiated setting in packet drop reasons."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-02-02 { + description + "Initial version."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ptp-leap-seconds-source { + type uint8; + description + "Ptp leap seconds source"; + } + + typedef Ptp-clock-leap-seconds { + type uint8; + description + "Ptp clock leap seconds"; + } + + typedef Ptp-msg-version { + type uint8; + description + "Ptp msg version"; + } + + typedef Ptp-bag-delay-mechanism { + type enumeration { + enum "e2e" { + value 0; + description + "End to end delay mechanism"; + } + enum "p2p" { + value 1; + description + "Peer to peer delay mechanism"; + } + } + description + "Delay Mechanism"; + } + + typedef Ptp-platform-servo-status { + type enumeration { + enum "ptp-platform-servo-status-unknown" { + value 0; + description + "ptp platform servo status unknown"; + } + enum "ptp-platform-servo-status-freerun" { + value 1; + description + "ptp platform servo status freerun"; + } + enum "ptp-platform-servo-status-acquiring" { + value 2; + description + "ptp platform servo status acquiring"; + } + enum "ptp-platform-servo-status-freq-locked" { + value 3; + description + "ptp platform servo status freq locked"; + } + enum "ptp-platform-servo-status-phase-aligned" { + value 4; + description + "ptp platform servo status phase aligned"; + } + enum "ptp-platform-servo-status-hold-over" { + value 5; + description + "ptp platform servo status hold over"; + } + } + description + "Ptp platform servo status"; + } + + typedef Ptp-bag-telecom-clock { + type enumeration { + enum "grandmaster" { + value 0; + description + "Grandmaster"; + } + enum "boundary" { + value 1; + description + "Boundary"; + } + enum "slave" { + value 2; + description + "Slave"; + } + } + description + "Telecom Clock"; + } + + typedef Ptp-bag-optional-string { + type string; + description + "Ptp bag optional string"; + } + + typedef Ptp-bag-profile { + type enumeration { + enum "default" { + value 0; + description + "1588v2 profile (default)"; + } + enum "g82651" { + value 1; + description + "G.8265.1 profile"; + } + enum "g82751" { + value 2; + description + "G.8275.1 profile"; + } + enum "g82752" { + value 3; + description + "G.8275.2 profile"; + } + } + description + "Profile"; + } + + typedef Ptp-bag-restrict-port-state { + type enumeration { + enum "any" { + value 0; + description + "Any"; + } + enum "slave-only" { + value 1; + description + "Slave only"; + } + enum "master-only" { + value 2; + description + "Master only"; + } + } + description + "Restrict Port State"; + } + + typedef Im-state-enum { + type enumeration { + enum "im-state-not-ready" { + description + "im state not ready"; + } + enum "im-state-admin-down" { + description + "im state admin down"; + } + enum "im-state-down" { + description + "im state down"; + } + enum "im-state-up" { + description + "im state up"; + } + enum "im-state-shutdown" { + description + "im state shutdown"; + } + enum "im-state-err-disable" { + description + "im state err disable"; + } + enum "im-state-down-immediate" { + description + "im state down immediate"; + } + enum "im-state-down-immediate-admin" { + description + "im state down immediate admin"; + } + enum "im-state-down-graceful" { + description + "im state down graceful"; + } + enum "im-state-begin-shutdown" { + description + "im state begin shutdown"; + } + enum "im-state-end-shutdown" { + description + "im state end shutdown"; + } + enum "im-state-begin-error-disable" { + description + "im state begin error disable"; + } + enum "im-state-end-error-disable" { + description + "im state end error disable"; + } + enum "im-state-begin-down-graceful" { + description + "im state begin down graceful"; + } + enum "im-state-reset" { + description + "im state reset"; + } + enum "im-state-operational" { + description + "im state operational"; + } + enum "im-state-not-operational" { + description + "im state not operational"; + } + enum "im-state-unknown" { + description + "im state unknown"; + } + enum "im-state-last" { + description + "im state last"; + } + } + description + "Im state enum"; + } + + typedef Ptp-bag-port-state { + type enumeration { + enum "initializing" { + value 0; + description + "Initializing state"; + } + enum "listen" { + value 1; + description + "Listen state"; + } + enum "passive" { + value 2; + description + "Passive state"; + } + enum "pre-master" { + value 3; + description + "Pre-Master state"; + } + enum "master" { + value 4; + description + "Master state"; + } + enum "uncalibrated" { + value 5; + description + "Uncalibrated state"; + } + enum "slave" { + value 6; + description + "Slave state"; + } + enum "faulty" { + value 7; + description + "Faulty state"; + } + } + description + "Port State"; + } + + typedef Ptp-delay-asymmetry { + type int32; + description + "Ptp delay asymmetry"; + } + + typedef Bag-in6-addr { + type inet:ipv6-address; + description + "Bag in6 addr"; + } + + typedef Ptp-bag-encap { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown encapsulation"; + } + enum "ethernet" { + value 1; + description + "Ethernet encapsulation"; + } + enum "ipv4" { + value 2; + description + "IPv4 encapsulation"; + } + enum "ipv6" { + value 3; + description + "IPv6 encapsulation"; + } + } + description + "Encapsulation"; + } + + typedef Ptp-domain-num { + type uint8; + description + "Ptp domain num"; + } + + typedef Ptp-bag-communication-model { + type enumeration { + enum "unicast" { + value 0; + description + "Unication communication"; + } + enum "mixed-mode" { + value 1; + description + "Mixed-mode communication"; + } + enum "multicast" { + value 2; + description + "Multicast communication"; + } + } + description + "Communication Model"; + } + + typedef Ptp-bag-clock-leap-seconds { + type enumeration { + enum "none" { + value 0; + description + "No leap second"; + } + enum "leap59" { + value 1; + description + "The last minute of the day has 59 seconds"; + } + enum "leap61" { + value 2; + description + "The last minute of the day has 61 seconds"; + } + } + units "second"; + description + "Leap Seconds"; + } + + typedef Ptp-bag-clock-timescale { + type enumeration { + enum "ptp" { + value 0; + description + "PTP timescale"; + } + enum "arb" { + value 1; + description + "ARB timescale"; + } + } + description + "Timescale"; + } + + typedef Ptp-bag-clock-time-source { + type enumeration { + enum "unknown" { + value 0; + description + "Unknown"; + } + enum "atomic" { + value 16; + description + "Atomic clock"; + } + enum "gps" { + value 32; + description + "GPS clock"; + } + enum "terrestrial-radio" { + value 48; + description + "Terrestrial Radio"; + } + enum "ptp" { + value 64; + description + "Precision Time Protocol"; + } + enum "ntp" { + value 80; + description + "Network Time Protocol"; + } + enum "hand-set" { + value 96; + description + "Hand set"; + } + enum "other" { + value 144; + description + "Other Time Source"; + } + enum "internal-oscillator" { + value 160; + description + "Internal Oscillator"; + } + } + description + "Time source"; + } + + typedef Ptp-clock-oslv { + type uint16; + description + "Ptp clock oslv"; + } + + typedef Ptp-clock-accuracy { + type uint8; + description + "Ptp clock accuracy"; + } + + typedef Ptp-clock-class { + type uint8; + description + "Ptp clock class"; + } + + typedef Ptp-clock-priority { + type uint8; + description + "Ptp clock priority"; + } + + typedef Ptp-clock-id1 { + type uint64; + description + "Ptp clock id1"; + } + + typedef Ptp-port-num { + type uint16; + description + "Ptp port num"; + } + + grouping PTP-BAG-LEAP-SECONDS-ENTRY { + description + "Upcoming PTP leap-second entry"; + leaf offset { + type int16; + units "second"; + description + "The UTC offset (TAI - UTC), in seconds"; + } + leaf offset-start-date { + type uint64; + description + "The UNIX timestamp at which the offset becomes + valid"; + } + leaf offset-change { + type int16; + description + "The change in UTC offset on applying this offset"; + } + leaf offset-applied { + type boolean; + description + "Indicates whether the offset has been applied"; + } + } + + grouping PTP-BAG-UTC-OFFSET-INFO { + description + "UTC offset information"; + leaf offset { + type int16; + units "second"; + description + "The UTC offset (TAI - UTC), in seconds"; + } + leaf valid { + type boolean; + description + "Is the UTC offset valid?"; + } + leaf flag { + type Ptp-clock-leap-seconds; + description + "Indicates the duration of the final minute of + the current day"; + } + } + + grouping PTP-LEAP-SECONDS-INFO { + description + "PTP UTC offset information"; + container current-offset-info { + description + "The current UTC offset information"; + uses PTP-BAG-UTC-OFFSET-INFO; + } + container current-gm-offset-info { + description + "The UTC offset information recovered from the + current grandmaster"; + uses PTP-BAG-UTC-OFFSET-INFO; + } + container configured-offset-info { + description + "The currently configured UTC offset information"; + uses PTP-BAG-UTC-OFFSET-INFO; + } + container previous-gm-offset-info { + description + "The UTC offset information recovered from the + prevous grandmaster"; + uses PTP-BAG-UTC-OFFSET-INFO; + } + container hardware-offset-info { + description + "The UTC offset information taken from the + hardware"; + uses PTP-BAG-UTC-OFFSET-INFO; + } + container gm-leap-second { + description + "The upcoming leap second advertised by the + grandmaster (if there is one)"; + uses PTP-BAG-LEAP-SECONDS-ENTRY; + } + leaf source-type { + type Ptp-leap-seconds-source; + description + "The current source of the UTC offset information"; + } + leaf source-file { + type Ptp-bag-optional-string; + description + "The URL of the file containing leap second + information"; + } + leaf source-expiry-date { + type uint32; + units "second"; + description + "Source file expiry timestamp, in seconds since + UNIX epoch"; + } + leaf polling-frequency { + type uint32; + units "day"; + description + "Source file polling frequency, in days"; + } + list configured-leap-second { + description + "The list of upcoming configured leap second + updates"; + uses PTP-BAG-LEAP-SECONDS-ENTRY; + } + } + + grouping PTP-GRANDMASTER-INFO { + description + "Grandmaster clock information"; + container clock-properties { + description + "Grandmaster clock"; + uses PTP-BAG-CLOCK; + } + container address { + description + "The grandmaster's address information"; + uses PTP-BAG-ADDRESS; + } + leaf used-for-time { + type boolean; + description + "Whether the grandmaster is setting time-of-day + on the system"; + } + leaf used-for-frequency { + type boolean; + description + "Whether the grandmaster is setting frequency on + the system"; + } + leaf known-for-time { + type uint32; + units "second"; + description + "How long the clock has been grandmaster for, in + seconds"; + } + leaf domain { + type Ptp-domain-num; + description + "The PTP domain that the grandmaster is in"; + } + leaf running-drrm { + type boolean; + description + "Whether DRRM is running for the grandmaster"; + } + } + + grouping PTP-BAG-GL-CONFIG-ERRORS { + description + "Global Configuration Errors"; + leaf domain { + type boolean; + description + "Domain not compatible with configured profile"; + } + leaf profile-priority1-config { + type boolean; + description + "Priority1 configuration is not compatible with + configured profile"; + } + leaf profile-priority2-value { + type boolean; + description + "Priority2 value is not compatible with + configured profile"; + } + leaf utc-offset-change { + type boolean; + description + "Leap seconds configuration contains an invalid + UTC offset change"; + } + leaf physical-layer-frequency { + type boolean; + description + "Physical Layer Frequency configuration is not + compatible with G.8265.1 profile"; + } + leaf network-type { + type boolean; + description + "Network type high PDV configuration is only + compatible with G.8265.1 profile"; + } + leaf profile-virtual-port { + type boolean; + description + "Virtual Port configuration is not compatible + with default profile"; + } + leaf virtual-port-priority1-config { + type boolean; + description + "Virtual Port priority1 configuration is not + compatible with configured profile"; + } + leaf virtual-port-priority2-value { + type boolean; + description + "Virtual Port priority2 value is not compatible + with configured profile"; + } + leaf virtual-port-profile-clock-class { + type boolean; + description + "Virtual port clock class is not compatible with + configured profile"; + } + leaf virtual-port-clock-accuracy { + type boolean; + description + "Virtual port clock accuracy is not compatible + with configured profile"; + } + leaf virtual-port-oslv { + type boolean; + description + "Virtual port OSLV is not compatible with + configured profile"; + } + leaf virtual-port-local-priority { + type boolean; + description + "Virtual port local priority configuration is not + compatible with configured profile"; + } + leaf apts-clock-type { + type boolean; + description + "APTS configuration is not compatible with + configured clock type"; + } + leaf apts-clock-profile { + type boolean; + description + "APTS configuration is not compatible with + configured profile"; + } + } + + grouping PTP-GL-CONFIG-ERRORS-INFO { + description + "Global configuration errors information"; + container configuration-errors { + description + "Configuration Errors"; + uses PTP-BAG-GL-CONFIG-ERRORS; + } + leaf clock-profile { + type Ptp-bag-profile; + description + "The clock profile"; + } + leaf clock-profile-set { + type boolean; + description + "Is the clock profile set"; + } + leaf telecom-clock-type { + type Ptp-bag-telecom-clock; + description + "Configured telecom clock type"; + } + leaf domain-number { + type Ptp-domain-num; + description + "The PTP domain"; + } + leaf priority2 { + type Ptp-clock-priority; + description + "The configured priority2 value"; + } + leaf virtual-port-priority2 { + type Ptp-clock-priority; + description + "The configured priority2 value of the virtual + port"; + } + leaf virtual-port-clock-class { + type Ptp-clock-class; + description + "The configured clock class of the virtual port"; + } + leaf virtual-port-clock-accuracy { + type Ptp-clock-accuracy; + description + "The configured clock accuracy of the virtual + port"; + } + leaf virtual-port-oslv { + type Ptp-clock-oslv; + description + "The configured oslv of the virtual port"; + } + } + + grouping PTP-TIME-PROPERTIES-DS-INFO { + description + "timeProprtiesDS information"; + leaf current-utc-offset { + type int16; + description + "The current UTC offset"; + } + leaf current-utc-offset-valid { + type boolean; + description + "Whether the current UTC offset is valid"; + } + leaf leap59 { + type boolean; + description + "Whether the last minute of the day has 59 + seconds"; + } + leaf leap61 { + type boolean; + description + "Whether the last minute of the day has 61 + seconds"; + } + leaf time-traceable { + type boolean; + description + "Whether the time-of-day source is traceable"; + } + leaf frequency-traceable { + type boolean; + description + "Whther the frequency source is traceable"; + } + leaf ptp-timescale { + type boolean; + description + "Whether the timescale being used is the PTP + timescale"; + } + leaf time-source { + type Ptp-bag-clock-time-source; + description + "The physical time-source of the GM clock"; + } + } + + grouping PTP-PORT-DS-INFO { + description + "portDS information"; + leaf clock-id { + type Ptp-clock-id1; + description + "The ID of the local-clock"; + } + leaf port-number { + type Ptp-port-num; + description + "The port number"; + } + leaf port-state { + type Ptp-bag-port-state; + description + "The port state"; + } + leaf log-min-delay-req-interval { + type int16; + description + "The log (base 2) of the minimum delay-request + interval"; + } + leaf peer-mean-path-delay { + type int64; + description + "The mean path delay between peers"; + } + leaf log-announce-interval { + type int16; + description + "The log (base 2) of the announce interval"; + } + leaf annoucne-receipt-timeout { + type uint32; + description + "The announce timeout"; + } + leaf log-sync-interval { + type int16; + description + "The log (base 2) of the sync interval"; + } + leaf delay-mechanism { + type Ptp-bag-delay-mechanism; + description + "The delay mechanism being used on this port"; + } + leaf log-min-p-delay-req-interval { + type int16; + description + "The log (base 2) of the minimum + peer-delay-request interval"; + } + leaf version-number { + type Ptp-msg-version; + description + "The version of IEEE 1588 being run"; + } + leaf local-priority { + type uint32; + description + "Local priority of the local clock"; + } + leaf master-only { + type boolean; + description + "Is the port master-only?"; + } + leaf signal-fail { + type boolean; + description + "Signal fail status of the port"; + } + } + + grouping PTP-PARENT-DS-INFO { + description + "parentDS information"; + leaf parent-clock-id { + type Ptp-clock-id1; + description + "The Clock ID of the parent clock"; + } + leaf parent-port-number { + type Ptp-port-num; + description + "The port number on which the parent clock is + received"; + } + leaf parent-stats { + type boolean; + description + "Whether the parentStats is valid"; + } + leaf observed-parent-oslv { + type Ptp-clock-oslv; + description + "The observed parent offset scaled log variance"; + } + leaf observed-parent-clock-phase-change-rate { + type uint32; + description + "The observed rate of change of phase of the + parent clock"; + } + leaf gm-clock-id { + type Ptp-clock-id1; + description + "The Clock ID of the GM"; + } + leaf gm-clock-class { + type Ptp-clock-class; + description + "The clock class of the GM"; + } + leaf gm-clock-accuracy { + type Ptp-clock-accuracy; + description + "The clock accuracy of the GM"; + } + leaf gmoslv { + type Ptp-clock-oslv; + description + "The offset scaled log variance of the GM"; + } + leaf gm-priority1 { + type Ptp-clock-priority; + description + "The priority1 of the GM"; + } + leaf gm-priority2 { + type Ptp-clock-priority; + description + "The priority2 of the GM"; + } + } + + grouping PTP-CURRENT-DS-INFO { + description + "currentDS information"; + leaf steps-removed { + type uint16; + description + "How many steps removed this clock is from the GM"; + } + leaf offset-from-master { + type int64; + description + "The UTC offset of the local-clock from the GM"; + } + leaf mean-path-delay { + type int64; + description + "The mean path delay between the foreign-master + and the local-clock"; + } + } + + grouping PTP-DEFAULT-DS-INFO { + description + "defaultDS information"; + leaf two-step-flag { + type boolean; + description + "Is the twoStepFlag set for this clock"; + } + leaf clock-id { + type Ptp-clock-id1; + description + "The local-clock ID"; + } + leaf number-ports { + type uint32; + description + "The number of active PTP ports on this clock"; + } + leaf clock-class { + type Ptp-clock-class; + description + "The clock class of the local-clock"; + } + leaf clock-accuracy { + type Ptp-clock-accuracy; + description + "The accuracy of the local-clock"; + } + leaf oslv { + type Ptp-clock-oslv; + description + "The offset scaled log variance of the + local-clock"; + } + leaf priority1 { + type Ptp-clock-priority; + description + "The priority1 of the local-clock"; + } + leaf priority2 { + type Ptp-clock-priority; + description + "The priority2 of the local-clock"; + } + leaf domain-number { + type Ptp-domain-num; + description + "The domain of the local-clock"; + } + leaf slave-only { + type boolean; + description + "Whether the local-clock is globally configured + as slave-only"; + } + leaf local-priority { + type uint32; + description + "Local priority of the local clock"; + } + leaf signal-fail { + type boolean; + description + "Signal fail status of the local clock"; + } + } + + grouping PTP-ADVERTISED-CLOCK-INFO { + description + "Advertised clock information"; + container clock-properties { + description + "Advertised Clock"; + uses PTP-BAG-CLOCK; + } + leaf domain { + type Ptp-domain-num; + description + "The PTP domain of that the advertised clock is + in"; + } + leaf time-source-configured { + type boolean; + description + "Whether the advertised time source is configured"; + } + leaf received-time-source { + type Ptp-bag-clock-time-source; + description + "The time source received from the parent clock"; + } + leaf timescale-configured { + type boolean; + description + "Whether the advertised timescale is configured"; + } + leaf received-timescale { + type Ptp-bag-clock-timescale; + description + "The timescale received from the parent clock"; + } + } + + grouping PTP-BAG-PEER-PACKET-COUNTERS { + description + "PTP peer packet counters"; + container address { + description + "Peer address"; + uses PTP-BAG-ADDRESS; + } + container counters { + description + "Packet counters"; + uses PTP-BAG-PACKET-COUNTERS; + } + } + + grouping PTP-IF-PACKET-COUNTER-INFO { + description + "PTP interface packet counters"; + container counters { + description + "Packet counters"; + uses PTP-BAG-PACKET-COUNTERS; + } + list peer-counter { + description + "Packet counters for each peer on this interface"; + uses PTP-BAG-PEER-PACKET-COUNTERS; + } + } + + grouping PTP-BAG-VIRTUAL-PORT { + description + "PTP Virtual Port"; + leaf configured { + type boolean; + description + "Configured"; + } + leaf connected { + type boolean; + description + "Connected"; + } + leaf priority1 { + type Ptp-clock-priority; + description + "Priority 1"; + } + leaf priority2 { + type Ptp-clock-priority; + description + "Priority 2"; + } + leaf class { + type Ptp-clock-class; + description + "Class"; + } + leaf accuracy { + type Ptp-clock-accuracy; + description + "Accuracy"; + } + leaf offset-log-variance { + type Ptp-clock-oslv; + description + "Offset log variance"; + } + leaf local-priority { + type Ptp-clock-priority; + description + "The local priority"; + } + } + + grouping PTP-LOCAL-CLOCK-INFO { + description + "Local clock information"; + container clock-properties { + description + "Local clock"; + uses PTP-BAG-CLOCK; + } + container virtual-port { + description + "Virtual port"; + uses PTP-BAG-VIRTUAL-PORT; + } + leaf domain { + type Ptp-domain-num; + description + "The PTP domain of the local clock"; + } + leaf grandmaster { + type boolean; + description + "Whether the local clock is the grandmaster"; + } + leaf servo-status { + type Ptp-platform-servo-status; + description + "Servo status"; + } + leaf mean-path-delay { + type int64; + units "nanosecond"; + description + "Mean path delay of master (nanoseconds)"; + } + leaf offset-from-master { + type int64; + units "nanosecond"; + description + "Offset from master (nanoseconds)"; + } + leaf apts-enabled { + type boolean; + description + "Whether assisted partial timing support is + enabled"; + } + } + + grouping PTP-BAG-PROFILE-INTEROP { + description + "PTP Profile Interop Status"; + leaf from-priority1 { + type Ptp-clock-priority; + description + "From Priority 1"; + } + leaf to-priority1 { + type Ptp-clock-priority; + description + "To Priority 1"; + } + leaf from-priority2 { + type Ptp-clock-priority; + description + "From Priority 2"; + } + leaf to-priority2 { + type Ptp-clock-priority; + description + "To Priority 2"; + } + leaf from-accuracy { + type Ptp-clock-accuracy; + description + "From Accuracy"; + } + leaf to-accuracy { + type Ptp-clock-accuracy; + description + "To Accuracy"; + } + leaf from-clock-class { + type Ptp-clock-class; + description + "From Clock Class"; + } + leaf to-clock-class { + type Ptp-clock-class; + description + "To Clock Class"; + } + leaf from-offset-log-variance { + type Ptp-clock-oslv; + description + "From Offset log variance"; + } + leaf to-offset-log-variance { + type Ptp-clock-oslv; + description + "To Offset log variance"; + } + } + + grouping PTP-BAG-PROFILE-INTEROP-PEER { + description + "PTP Profile Interop Peer Status"; + container address { + description + "Peer address"; + uses PTP-BAG-ADDRESS; + } + container interop { + description + "Interop information"; + uses PTP-BAG-PROFILE-INTEROP; + } + } + + grouping PTP-IF-INTEROP-INFO { + description + "PTP interface interop information"; + container egress-interop { + description + "Egress interop information"; + uses PTP-BAG-PROFILE-INTEROP; + } + leaf local-domain { + type Ptp-domain-num; + description + "The PTP domain configured for this interface"; + } + leaf interop-domain { + type Ptp-domain-num; + description + "The PTP domain that is being interoperated with"; + } + leaf local-profile { + type Ptp-bag-profile; + description + "The PTP Profile configured for this interface"; + } + leaf interop-profile { + type Ptp-bag-profile; + description + "The PTP profile that is being interoperated with"; + } + list ingress-interop { + description + "Per-peer ingress interop information"; + uses PTP-BAG-PROFILE-INTEROP-PEER; + } + } + + grouping PTP-BAG-CONFIG-ERRORS { + description + "Configuration Errors"; + leaf global-ptp { + type boolean; + description + "PTP enabled on interface but not globally"; + } + leaf ethernet-transport { + type boolean; + description + "Ethernet transport configured but not supported"; + } + leaf one-step { + type boolean; + description + "One step clock operation configured but not + supported"; + } + leaf slave { + type boolean; + description + "Slave-operation configured but not supported"; + } + leaf ipv6 { + type boolean; + description + "IPv6 transport configured but not supported"; + } + leaf multicast { + type boolean; + description + "Multicast configured but not supported"; + } + leaf profile-not-global { + type boolean; + description + "Profile is referenced but not globally + configured"; + } + leaf local-priority { + type boolean; + description + "Local priority configuration is not compatible + with profile"; + } + leaf profile-ethernet { + type boolean; + description + "Ethernet transport is not compatible with + profile"; + } + leaf profile-ipv4 { + type boolean; + description + "IPv6 transport is not compatible with profile"; + } + leaf profile-ipv6 { + type boolean; + description + "IPv6 transport is not compatible with profile"; + } + leaf profile-unicast { + type boolean; + description + "Unicast is not compatible with profile"; + } + leaf profile-multicast { + type boolean; + description + "Multicast is not compatible with profile"; + } + leaf profile-mixed { + type boolean; + description + "Mixed-mode multicast is not compatible with + profile"; + } + leaf profile-master-unicast { + type boolean; + description + "Unicast master is not compatible with profile"; + } + leaf profile-master-multicast { + type boolean; + description + "Multicast master is not compatible with profile"; + } + leaf profile-master-mixed { + type boolean; + description + "Mixed-mode multicast master is not compatible + with profile"; + } + leaf target-address-ipv4 { + type boolean; + description + "Ethernet multicast target-address is configured, + but transport is IPv4"; + } + leaf target-address-ipv6 { + type boolean; + description + "Ethernet multicast target-address is configured, + but transport is IPv6"; + } + leaf ipv4ttl { + type boolean; + description + "IPv4 TTL value configured but transport is not + IPv4"; + } + leaf ipv6-hop-limit { + type boolean; + description + "IPv6 hop limit value configured but transport is + not IPv6"; + } + leaf profile-port-state { + type boolean; + description + "Port state restriction is not compatible with + telecom clock type"; + } + leaf profile-announce-interval { + type boolean; + description + "Announce interval is not compatible with profile"; + } + leaf profile-sync-interval { + type boolean; + description + "Sync interval is not compatible with profile"; + } + leaf profile-delay-req-interval { + type boolean; + description + "Delay request interval is not compatible with + profile"; + } + leaf profile-sync-timeout { + type boolean; + description + "Sync timeout configuration is not compatible + with profile"; + } + leaf profile-delay-resp-timeout { + type boolean; + description + "Delay response timeout configuration is not + compatible with profile"; + } + leaf invalid-grant-reduction { + type boolean; + description + "Reducing invalid unicast grants is not + compatible with configured profile"; + } + leaf invalid-interop-domain { + type boolean; + description + "Domain is not compatible with configured profile + interop"; + } + leaf invalid-interop-ingress-clock-class-default { + type boolean; + description + "Ingress conversion clock class default is not + compatible with configured profile interop"; + } + leaf invalid-interop-ingress-priority1 { + type boolean; + description + "Ingress conversion priority1 is not compatible + with configured profile interop"; + } + leaf invalid-interop-ingress-clock-accuracy { + type boolean; + description + "Ingress conversion clock-accuracy is not + compatible with configured profile interop"; + } + leaf invalid-interop-ingress-oslv { + type boolean; + description + "Ingress conversion OSLV not compatible with + configured profile interop"; + } + leaf invalid-interop-egress-clock-class-default { + type boolean; + description + "Egress conversion clock class default is not + compatible with configured profile interop"; + } + leaf invalid-interop-egress-priority1 { + type boolean; + description + "Egress conversion priority1 is not compatible + with configured profile interop"; + } + leaf invalid-interop-egress-priority2 { + type boolean; + description + "Egress conversion priority2 is not compatible + with configured profile interop"; + } + leaf invalid-interop-egress-clock-accuracy { + type boolean; + description + "Egress conversion clock-accuracy is not + compatible with configured profile interop"; + } + leaf invalid-interop-egress-oslv { + type boolean; + description + "Egress conversion OSLV not compatible with + configured profile interop"; + } + leaf invalid-master-config-clock-type { + type boolean; + description + "Master configuration is not compatible with + configured clock-type"; + } + leaf invalid-slave-config-clock-type { + type boolean; + description + "Slave configuration is not compatible with + configured clock-type"; + } + leaf invalid-master-config-port-state { + type boolean; + description + "Master configuration is not compatible with + configured port-state"; + } + leaf invalid-slave-config-port-state { + type boolean; + description + "Slave configuration is not compatible with + configured port-state"; + } + leaf delay-asymmetry-config-clock-type { + type boolean; + description + "Delay asymmetry configuration is not compatible + with configuredclock-type"; + } + leaf delay-asymmetry-config-port-state { + type boolean; + description + "Delay asymmetry configuration is not compatible + with configuredport-state"; + } + leaf-list invalid-interop-ingress-clock-class-map-from-val { + type Ptp-clock-class; + description + "List of ingress conversion clock class mapping + 'from values' that are not compatible with the + configure profile interop"; + } + leaf-list invalid-interop-ingress-clock-class-map-to-val { + type Ptp-clock-class; + description + "List of ingress conversion clock class mapping + 'to values' that are not compatible with the + configure profile interop"; + } + leaf-list invalid-interop-egress-clock-class-map-from-val { + type Ptp-clock-class; + description + "List of egress conversion clock class mapping + 'from values' that are not compatible with the + configure profile interop"; + } + leaf-list invalid-interop-egress-clock-class-map-to-val { + type Ptp-clock-class; + description + "List of egress conversion clock class mapping + 'to values' that are not compatible with the + configure profile interop"; + } + } + + grouping PTP-IF-CONFIG-ERRORS-ENTRY { + description + "Configuration Errors Entry"; + container configuration-errors { + description + "Configuration Errors"; + uses PTP-BAG-CONFIG-ERRORS; + } + leaf configuration-profile-name { + type Ptp-bag-optional-string; + description + "Configuration profile name, if a profile is + selected"; + } + leaf clock-profile { + type Ptp-bag-profile; + description + "The clock profile"; + } + leaf telecom-clock-type { + type Ptp-bag-telecom-clock; + description + "The telecom clock type"; + } + leaf restrict-port-state { + type Ptp-bag-restrict-port-state; + description + "Restriction on the port state"; + } + leaf interop-profile { + type Ptp-bag-profile; + description + "The clock profile to interoperate with, if + interoperation is configured"; + } + } + + grouping PTP-BAG-DROP-REASONS { + description + "Drop Reasons"; + leaf not-ready { + type uint32; + description + "Not ready for packets"; + } + leaf wrong-domain { + type uint32; + description + "Wrong domain number"; + } + leaf too-short { + type uint32; + description + "Packet too short"; + } + leaf looped-same-port { + type uint32; + description + "Local packet received, same port number"; + } + leaf looped-higher-port { + type uint32; + description + "Local packet received, higher port number"; + } + leaf looped-lower-port { + type uint32; + description + "Local packet received, lower port number"; + } + leaf no-timestamp { + type uint32; + description + "No timestamp received with packet"; + } + leaf zero-timestamp { + type uint32; + description + "Zero timestamp received with packet"; + } + leaf invalid-tl-vs { + type uint32; + description + "Invalid TLVs received in packet"; + } + leaf not-for-us { + type uint32; + description + "Packet not for us"; + } + leaf not-listening { + type uint32; + description + "Not listening for packets on this interface"; + } + leaf wrong-master { + type uint32; + description + "Packet from incorrect master"; + } + leaf unknown-master { + type uint32; + description + "Packet from unknown master"; + } + leaf not-master { + type uint32; + description + "Packet only handled in Master state"; + } + leaf not-slave { + type uint32; + description + "Packet only handled in Slave state"; + } + leaf not-granted { + type uint32; + description + "Packet from peer not granted unicast"; + } + leaf too-slow { + type uint32; + description + "Packet received too late"; + } + leaf invalid-packet { + type uint32; + description + "Invalid packet or packet metadata"; + } + leaf wrong-sequence-id { + type uint32; + description + "Unexpected sequence ID"; + } + leaf no-offload-session { + type uint32; + description + "No offload session"; + } + leaf not-supported { + type uint32; + description + "PTP packet type not supported"; + } + leaf min-clock-class { + type uint32; + description + "Clock class below minimum"; + } + leaf bad-clock-class { + type uint32; + description + "Illegal clock class (255) in announce messages"; + } + leaf reserved-clock-id { + type uint32; + description + "Reserved Clock ID"; + } + leaf steps-removed { + type uint32; + description + "Steps removed too high"; + } + leaf g8265-1-incompatible { + type uint32; + description + "Packet not compatible with G.8265.1 profile"; + } + leaf g8275-1-incompatible { + type uint32; + description + "Packet not compatible with G.8275.1 profile"; + } + leaf g8275-2-incompatible { + type uint32; + description + "Packet not compatible with G.8275.2 profile"; + } + leaf incorrect-address { + type uint32; + description + "Packet sent to incorrect address"; + } + leaf non-negotiated { + type uint32; + description + "Packet not compatible with non-negotiated"; + } + leaf verify-checksum-failed { + type uint32; + description + "Packet IPv6 UDP checksum check failed"; + } + leaf ipv4-verify-checksum { + type uint32; + description + "IPv4 packet has corrupted checksum"; + } + } + + grouping PTP-BAG-PACKET-COUNTERS { + description + "PTP packet counters"; + leaf announce-sent { + type uint32; + description + "Number of announce packets sent"; + } + leaf announce-received { + type uint32; + description + "Number of announce packets received"; + } + leaf announce-dropped { + type uint32; + description + "Number of announce packets dropped"; + } + leaf sync-sent { + type uint32; + description + "Number of sync packets sent"; + } + leaf sync-received { + type uint32; + description + "Number of sync packets received"; + } + leaf sync-dropped { + type uint32; + description + "Number of sync packetsdropped"; + } + leaf follow-up-sent { + type uint32; + description + "Number of follow-up packets sent"; + } + leaf follow-up-received { + type uint32; + description + "Number of follow-up packets received"; + } + leaf follow-up-dropped { + type uint32; + description + "Number of follow-up packets dropped"; + } + leaf delay-request-sent { + type uint32; + description + "Number of delay-request packets sent"; + } + leaf delay-request-received { + type uint32; + description + "Number of delay-request packets received"; + } + leaf delay-request-dropped { + type uint32; + description + "Number of delay-request packets dropped"; + } + leaf delay-response-sent { + type uint32; + description + "Number of delay-response packets sent"; + } + leaf delay-response-received { + type uint32; + description + "Number of delay-response packets received"; + } + leaf delay-response-dropped { + type uint32; + description + "Number of delay-response packets dropped"; + } + leaf peer-delay-request-sent { + type uint32; + description + "Number of peer-delay-request packets sent"; + } + leaf peer-delay-request-received { + type uint32; + description + "Number of peer-delay-request packets received"; + } + leaf peer-delay-request-dropped { + type uint32; + description + "Number of peer-delay-request packets dropped"; + } + leaf peer-delay-response-sent { + type uint32; + description + "Number of peer-delay-response packets sent"; + } + leaf peer-delay-response-received { + type uint32; + description + "Number of peer-delay-response packets received"; + } + leaf peer-delay-response-dropped { + type uint32; + description + "Number of peer-delay-response packets dropped"; + } + leaf peer-delay-response-follow-up-sent { + type uint32; + description + "Number of peer-delay-response follow-up packets + sent"; + } + leaf peer-delay-response-follow-up-received { + type uint32; + description + "Number of peer-delay-response follow-up packets + received"; + } + leaf peer-delay-response-follow-up-dropped { + type uint32; + description + "Number of peer-delay-response follow-up packets + dropped"; + } + leaf signaling-sent { + type uint32; + description + "Number of signaling packets sent"; + } + leaf signaling-received { + type uint32; + description + "Number of signaling packets received"; + } + leaf signaling-dropped { + type uint32; + description + "Number of signaling packets dropped"; + } + leaf management-sent { + type uint32; + description + "Number of management messages sent"; + } + leaf management-received { + type uint32; + description + "Number of management messages received"; + } + leaf management-dropped { + type uint32; + description + "Number of management messages dropped"; + } + leaf other-packets-sent { + type uint32; + description + "Number of other packets sent"; + } + leaf other-packets-received { + type uint32; + description + "Number of other packets received"; + } + leaf other-packets-dropped { + type uint32; + description + "Number of other packets dropped"; + } + leaf total-packets-sent { + type uint32; + description + "Total number of packets sent"; + } + leaf total-packets-received { + type uint32; + description + "Total number of packets received"; + } + leaf total-packets-dropped { + type uint32; + description + "Total number of packets dropped"; + } + } + + grouping PTP-NODE-PACKET-COUNTER-INFO { + description + "PTP node packet counters"; + container counters { + description + "Packet counters"; + uses PTP-BAG-PACKET-COUNTERS; + } + container drop-reasons { + description + "Drop reasons"; + uses PTP-BAG-DROP-REASONS; + } + } + + grouping PTP-BAG-UNICAST-PEER { + description + "PTP Unicast Peer"; + container address { + description + "The address of the unicast peer"; + uses PTP-BAG-ADDRESS; + } + container announce-grant { + description + "Unicast grant information for announce messages"; + uses PTP-BAG-UNICAST-GRANT; + } + container sync-grant { + description + "Unicast grant information for sync messages"; + uses PTP-BAG-UNICAST-GRANT; + } + container delay-response-grant { + description + "Unicast grant information for delay-response + messages"; + uses PTP-BAG-UNICAST-GRANT; + } + } + + grouping PTP-IF-UNICAST-PEER-INFO { + description + "PTP interface unicast peers"; + leaf name { + type string; + description + "Interface name"; + } + leaf port-number { + type Ptp-port-num; + description + "Port number"; + } + list peers { + description + "Unicast Peers"; + uses PTP-BAG-UNICAST-PEER; + } + list foreign-master { + description + "Unicast Foreign Masters"; + uses PTP-BAG-UNICAST-PEER; + } + } + + grouping PTP-BAG-CLOCK-CLASS-MAPPING { + description + "PTP Clock Class Mapping"; + leaf from-clock-class { + type Ptp-clock-class; + description + "From clock class"; + } + leaf to-clock-class { + type Ptp-clock-class; + description + "To clock class"; + } + } + + grouping PTP-BAG-PROFILE-INTEROP-CFG { + description + "PTP Profile Interop Configuration"; + leaf priority1 { + type Ptp-clock-priority; + description + "Priority 1"; + } + leaf priority2 { + type Ptp-clock-priority; + description + "Priority 2"; + } + leaf accuracy { + type Ptp-clock-accuracy; + description + "Accuracy"; + } + leaf class-default { + type Ptp-clock-class; + description + "Class Default"; + } + leaf offset-log-variance { + type Ptp-clock-oslv; + description + "Offset log variance"; + } + list class-mapping { + description + "Class Mapping"; + uses PTP-BAG-CLOCK-CLASS-MAPPING; + } + } + + grouping PTP-BAG-MASTER-TABLE-ENTRY { + description + "PTP Master Table Entry"; + container address { + description + "The address of the master clock"; + uses PTP-BAG-ADDRESS; + } + leaf communication-model { + type Ptp-bag-communication-model; + description + "The configured communication model of the master + clock"; + } + leaf priority { + type uint8; + description + "The priority of the master clock, if it is set"; + } + leaf known { + type boolean; + description + "Whether the interface is receiving messages from + this master"; + } + leaf is-knownvalid { + type boolean; + description + "Does the known boolean contain valid information"; + } + leaf qualified { + type boolean; + description + "The master is qualified for best master clock + selection"; + } + leaf is-qualified-valid { + type boolean; + description + "Does the Qualified boolean contain valid + information"; + } + leaf is-grandmaster { + type boolean; + description + "Whether this is the grandmaster"; + } + leaf is-is-grandmaster-valid { + type boolean; + description + "Does the IsGrandmaster boolean contain valid + information"; + } + leaf ptsf-loss-announce { + type uint8; + description + "Announced messages are not being received from + the master"; + } + leaf ptsf-loss-sync { + type uint8; + description + "Sync messages are not being received from the + master"; + } + leaf are-ptsf-valid { + type boolean; + description + "Do the PTSF values contain valid information"; + } + leaf is-nonnegotiated { + type boolean; + description + "Whether this master uses non-negotiated unicast"; + } + } + + grouping PTP-BAG-IPV4-ADDR-LIST { + description + "List of IPv4 addresses"; + leaf-list addr { + type inet:ipv4-address; + description + "List of IPv4 addresses"; + } + } + + grouping PTP-BAG-IPV6-ADDR-LIST { + description + "List of IPv6 addresses"; + leaf-list addr { + type Bag-in6-addr; + description + "List of IPv6 addresses"; + } + } + + grouping PTP-IF-INFO { + description + "PTP interface information"; + container ipv6-address-array { + description + "List of Ipv6 addresses, if IPv6 encapsulation is + being used. If a source address is configured, + this is the only item in the list"; + uses PTP-BAG-IPV6-ADDR-LIST; + } + container ipv4-address-array { + description + "List of IPv4 addresses, if IPv4 encapsulation is + being used. The first address is the primary + address. If a source address is configured, this + is the only item in the list."; + uses PTP-BAG-IPV4-ADDR-LIST; + } + container mac-address { + description + "MAC address, if Ethernet encapsulation is being + used"; + uses PTP-BAG-MAC-ADDR-TYPE; + } + container ingress-conversion { + description + "Details of any ingress conversion"; + uses PTP-BAG-PROFILE-INTEROP-CFG; + } + container egress-conversion { + description + "Details of any egress conversion"; + uses PTP-BAG-PROFILE-INTEROP-CFG; + } + leaf port-state { + type Ptp-bag-port-state; + description + "Port state"; + } + leaf port-number { + type Ptp-port-num; + description + "Port number"; + } + leaf line-state { + type Im-state-enum; + description + "Line state"; + } + leaf interface-type { + type string; + description + "Interface Type"; + } + leaf encapsulation { + type Ptp-bag-encap; + description + "Encapsulation"; + } + leaf ipv6-address { + type Bag-in6-addr; + description + "Ipv6 source address for interface running PTP, + if IPv6 encapsulation is being used"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 source address for interface running PTP, + if IPv4 encapsulation is being used"; + } + leaf two-step { + type boolean; + description + "Two step delay-request mechanism is being used"; + } + leaf communication-model { + type Ptp-bag-communication-model; + description + "Communication model configured on the interface"; + } + leaf log-sync-interval { + type int32; + description + "Log of the interface's sync interval"; + } + leaf log-announce-interval { + type int32; + description + "Log of the interface's announce interval"; + } + leaf announce-timeout { + type uint32; + description + "Announce timeout"; + } + leaf log-min-delay-request-interval { + type int32; + description + "Log of the interface's Minimum delay-request + interval"; + } + leaf configured-port-state { + type Ptp-bag-restrict-port-state; + description + "The configured port state"; + } + leaf supports-unicast { + type boolean; + description + "The interface supports unicast"; + } + leaf supports-master { + type boolean; + description + "The interface supports operation in master mode"; + } + leaf supports-one-step { + type boolean; + description + "The interface supports one-step operation"; + } + leaf supports-two-step { + type boolean; + description + "The interface supports two-step operation"; + } + leaf supports-ethernet { + type boolean; + description + "The interface supports ethernet transport"; + } + leaf supports-multicast { + type boolean; + description + "The interface supports multicast"; + } + leaf supports-ipv4 { + type boolean; + description + "The interface supports IPv4 transport"; + } + leaf supports-ipv6 { + type boolean; + description + "The interface supports IPv6 transport"; + } + leaf supports-slave { + type boolean; + description + "The interface supports operation in slave mode"; + } + leaf supports-source-ip { + type boolean; + description + "The interface supports source ip configuration"; + } + leaf max-sync-rate { + type uint8; + description + "The maximum rate of sync packets on the + interface"; + } + leaf event-cos { + type uint32; + description + "The class of service used on the interface for + event messages"; + } + leaf general-cos { + type uint32; + description + "The class of service used on the interface for + general messages"; + } + leaf event-dscp { + type uint32; + description + "The DSCP class used on the interface for event + messages"; + } + leaf general-dscp { + type uint32; + description + "The DSCP class used on the interface for general + messages"; + } + leaf unicast-peers { + type uint32; + description + "The number of unicast peers known by the + interface"; + } + leaf local-priority { + type uint8; + description + "Local priority, for the G.8275.1 PTP profile"; + } + leaf signal-fail { + type boolean; + description + "Signal fail status of the interface"; + } + leaf profile-interop { + type boolean; + description + "Indicate whether profile interop is in use"; + } + leaf supports-bvi-slave { + type boolean; + description + "The node supports BVI interfaces as Slaves"; + } + leaf interop-domain { + type Ptp-domain-num; + description + "The PTP domain that is being interoperated with"; + } + leaf interop-profile { + type Ptp-bag-profile; + description + "Profile that is being interoperated with"; + } + list master-table { + description + "The interface's master table"; + uses PTP-BAG-MASTER-TABLE-ENTRY; + } + } + + grouping PTP-SUMMARY-INFO { + description + "PTP summary information"; + leaf port-state-init-count { + type uint32; + description + "Number of interfaces in 'Init' port state"; + } + leaf port-state-listening-count { + type uint32; + description + "Number of interfaces in 'Listening' port state"; + } + leaf port-state-passive-count { + type uint32; + description + "Number of interfaces in 'Passive' port state"; + } + leaf port-state-pre-master-count { + type uint32; + description + "Number of interfaces in 'Pre-Master' port state"; + } + leaf port-state-master-count { + type uint32; + description + "Number of interfaces in 'Master' port state"; + } + leaf port-state-slave-count { + type uint32; + description + "Number of interfaces in 'Slave' port state"; + } + leaf port-state-uncalibrated-count { + type uint32; + description + "Number of interfaces in 'Uncalibrated port state"; + } + leaf port-state-faulty-count { + type uint32; + description + "Number of interfaces in 'Faulty' port state"; + } + leaf total-interfaces { + type uint32; + description + "Total number of interfaces"; + } + leaf total-interfaces-valid-port-num { + type uint32; + description + "Total number of interfaces with a valid port + number"; + } + } + + grouping PTP-BAG-UNICAST-GRANT { + description + "PTP Unicast Grant"; + leaf log-grant-interval { + type int8; + description + "Log of the interval which has been granted"; + } + leaf grant-duration { + type uint32; + description + "Duraction of the grant"; + } + } + + grouping PTP-BAG-IPV6-ADDR-TYPE { + description + "PTP BAG IPV6 ADDR TYPE"; + leaf ipv6-address { + type Bag-in6-addr; + description + "IPv6 Address"; + } + } + + grouping PTP-BAG-MAC-ADDR-TYPE { + description + "Mac Address"; + leaf macaddr { + type yang:mac-address; + description + "macaddr"; + } + } + + grouping PTP-BAG-ADDRESS { + description + "Address"; + container mac-address { + when "../encapsulation = 'ethernet'" { + description + "../Encapsulation = 'Ethernet'"; + } + description + "Ethernet MAC address"; + uses PTP-BAG-MAC-ADDR-TYPE; + } + container ipv6-address { + when "../encapsulation = 'ipv6'" { + description + "../Encapsulation = 'IPv6'"; + } + description + "IPv6 address"; + uses PTP-BAG-IPV6-ADDR-TYPE; + } + leaf encapsulation { + type Ptp-bag-encap; + description + "Encapsulation"; + } + leaf address-unknown { + when "../encapsulation = 'unknown'" { + description + "../Encapsulation = 'Unknown'"; + } + type boolean; + description + "Unknown address type"; + } + leaf ipv4-address { + when "../encapsulation = 'ipv4'" { + description + "../Encapsulation = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + } + + grouping PTP-BAG-PORT-ID { + description + "Port ID"; + leaf clock-id { + type Ptp-clock-id1; + description + "Clock ID"; + } + leaf port-number { + type Ptp-port-num; + description + "Port number"; + } + } + + grouping PTP-BAG-CLOCK-UTC-OFFSET { + description + "PTP Clock UTC offset"; + leaf current-offset { + type int16; + description + "Current offset"; + } + leaf offset-valid { + type boolean; + description + "The current offset is valid"; + } + } + + grouping PTP-BAG-CLOCK { + description + "PTP Clock"; + container utc-offset { + description + "UTC offset"; + uses PTP-BAG-CLOCK-UTC-OFFSET; + } + container receiver { + description + "Receiver"; + uses PTP-BAG-PORT-ID; + } + container sender { + description + "Sender"; + uses PTP-BAG-PORT-ID; + } + leaf clock-id { + type Ptp-clock-id1; + description + "Clock ID"; + } + leaf priority1 { + type Ptp-clock-priority; + description + "Priority 1"; + } + leaf priority2 { + type Ptp-clock-priority; + description + "Priority 2"; + } + leaf class { + type Ptp-clock-class; + description + "Class"; + } + leaf accuracy { + type Ptp-clock-accuracy; + description + "Accuracy"; + } + leaf offset-log-variance { + type Ptp-clock-oslv; + description + "Offset log variance"; + } + leaf steps-removed { + type uint16; + description + "Steps removed"; + } + leaf time-source { + type Ptp-bag-clock-time-source; + description + "Time source"; + } + leaf frequency-traceable { + type boolean; + description + "The clock is frequency traceable"; + } + leaf time-traceable { + type boolean; + description + "The clock is time traceable"; + } + leaf timescale { + type Ptp-bag-clock-timescale; + description + "Timescale"; + } + leaf leap-seconds { + type Ptp-bag-clock-leap-seconds; + units "second"; + description + "Leap Seconds"; + } + leaf is-receiver-valid { + type boolean; + description + "Is the receiver information valid"; + } + leaf is-sender-valid { + type boolean; + description + "Is the sender information valid"; + } + leaf local { + type boolean; + description + "The clock is the local clock"; + } + leaf configured-clock-class { + type Ptp-clock-class; + description + "The configured clock class"; + } + leaf configured-priority { + type Ptp-clock-priority; + description + "The configured priority"; + } + } + + grouping PTP-BAG-FOREIGN-CLOCK { + description + "PTP Foreign Clock"; + container foreign-clock { + description + "Foreign clock information"; + uses PTP-BAG-CLOCK; + } + container address { + description + "The address of the clock"; + uses PTP-BAG-ADDRESS; + } + container announce-grant { + description + "Unicast grant information for announce messages"; + uses PTP-BAG-UNICAST-GRANT; + } + container sync-grant { + description + "Unicast grant information for sync messages"; + uses PTP-BAG-UNICAST-GRANT; + } + container delay-response-grant { + description + "Unicast grant information for delay-response + messages"; + uses PTP-BAG-UNICAST-GRANT; + } + leaf is-qualified { + type boolean; + description + "The clock is qualified for best master clock + selection"; + } + leaf is-grandmaster { + type boolean; + description + "This clock is the currently selected grand + master clock"; + } + leaf communication-model { + type Ptp-bag-communication-model; + description + "The communication model configured on this clock"; + } + leaf is-known { + type boolean; + description + "This clock is known by this router"; + } + leaf time-known-for { + type uint32; + units "second"; + description + "How long the clock has been known by this router + for, in seconds"; + } + leaf foreign-domain { + type Ptp-domain-num; + description + "The PTP domain that the foreign clock is in"; + } + leaf configured-priority { + type Ptp-clock-priority; + description + "Priority configured for the clock, if any"; + } + leaf configured-clock-class { + type Ptp-clock-class; + description + "Clock class configured for the clock, if any"; + } + leaf delay-asymmetry { + type Ptp-delay-asymmetry; + description + "Delay asymmetry configured for the clock, if any"; + } + leaf ptsf-loss-announce { + type boolean; + description + "Announced messages are not being received from + the master"; + } + leaf ptsf-loss-sync { + type boolean; + description + "Sync messages are not being received from the + master"; + } + leaf is-dnu { + type boolean; + description + "The clock has clock class corresponding to + QL-DNU"; + } + } + + grouping PTP-IF-CLOCK-INFO { + description + "PTP foreign clock information"; + leaf port-number { + type Ptp-port-num; + description + "Port number"; + } + list foreign-clock { + description + "Foreign clocks received on this interface"; + uses PTP-BAG-FOREIGN-CLOCK; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper.yang new file mode 100644 index 000000000..716c61dbf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-oper.yang @@ -0,0 +1,314 @@ +module Cisco-IOS-XR-ptp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-oper"; + prefix ptp-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ptp-oper-sub1 { + revision-date 2020-09-07; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ptp package operational data. + + This module contains definitions + for the following management objects: + ptp: PTP operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-07 { + description + "Show command updates for APTS and virtual port"; + semver:module-version "2.2.0"; + } + revision 2020-02-06 { + description + "Added valid flags for receiver clock information, sender clock information and master entry properties. + 2019-12-18 + Added checksum related packet drop reasons and servo status enums."; + semver:module-version "2.1.0"; + } + revision 2019-10-01 { + description + "Corrected enum names for servo. + 2019-09-30 + Added incompatible packet for non-negotiated setting in packet drop reasons."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-02-02 { + description + "Initial version."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ptp { + config false; + description + "PTP operational data"; + container nodes { + description + "Table for node-specific operational data"; + list node { + key "node-name"; + description + "Node-specific operational data for a given node"; + container node-interface-foreign-masters { + description + "Table for node foreign master clock + operational data"; + list node-interface-foreign-master { + key "interface-name"; + description + "Node interface foreign master clock + operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-CLOCK-INFO; + } + } + container summary { + description + "Node summary operational data"; + uses PTP-SUMMARY-INFO; + } + container node-interfaces { + description + "Table for node interface operational data"; + list node-interface { + key "interface-name"; + description + "Node interface operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-INFO; + } + } + container node-interface-unicast-peers { + description + "Table for node unicast peers operational data"; + list node-interface-unicast-peer { + key "interface-name"; + description + "Node interface unicast peers operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-UNICAST-PEER-INFO; + } + } + container packet-counters { + description + "Node packet counter operational data"; + uses PTP-NODE-PACKET-COUNTER-INFO; + } + leaf node-name { + type xr:Node-id; + description + "Node"; + } + } + } + container summary { + description + "Summary operational data"; + uses PTP-SUMMARY-INFO; + } + container interface-configuration-errors { + description + "Table for interface configuration error + operational data"; + list interface-configuration-error { + key "interface-name"; + description + "Interface configuration error operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-CONFIG-ERRORS-ENTRY; + } + } + container interface-foreign-masters { + description + "Table for interface foreign master clock + operational data"; + list interface-foreign-master { + key "interface-name"; + description + "Interface foreign master clock operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-CLOCK-INFO; + } + } + container interface-interops { + description + "Table for interface interop operational data"; + list interface-interop { + key "interface-name"; + description + "Interface interop operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-INTEROP-INFO; + } + } + container local-clock { + description + "Local clock operational data"; + uses PTP-LOCAL-CLOCK-INFO; + } + container interface-packet-counters { + description + "Table for interface packet counter operational + data"; + list interface-packet-counter { + key "interface-name"; + description + "Interface packet counter operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-PACKET-COUNTER-INFO; + } + } + container advertised-clock { + description + "Advertised clock operational data"; + uses PTP-ADVERTISED-CLOCK-INFO; + } + container interfaces { + description + "Table for interface operational data"; + list interface { + key "interface-name"; + description + "Interface operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-INFO; + } + } + container dataset { + description + "Global PTP datasets"; + container default-ds { + description + "defaultDS information as described in IEEE + 1588-2008"; + uses PTP-DEFAULT-DS-INFO; + } + container current-ds { + description + "currentDS information as described in IEEE + 1588-2008"; + uses PTP-CURRENT-DS-INFO; + } + container parent-ds { + description + "parentDS information as described in IEEE + 1588-2008"; + uses PTP-PARENT-DS-INFO; + } + container port-dses { + description + "Table for portDS information"; + list port-ds { + key "interface-name"; + description + "PortDS information"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-PORT-DS-INFO; + } + } + container time-properties-ds { + description + "timePropertiesDS information as described in + IEEE 1588-2008"; + uses PTP-TIME-PROPERTIES-DS-INFO; + } + } + container global-configuration-error { + description + "Global configuration error operational data"; + uses PTP-GL-CONFIG-ERRORS-INFO; + } + container grandmaster { + description + "Grandmaster clock operational data"; + uses PTP-GRANDMASTER-INFO; + } + container interface-unicast-peers { + description + "Table for interface unicast peers operational + data"; + list interface-unicast-peer { + key "interface-name"; + description + "Interface unicast peers operational data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + uses PTP-IF-UNICAST-PEER-INFO; + } + } + container utc-offset-info { + description + "UTC offset information"; + uses PTP-LEAP-SECONDS-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-cfg.yang new file mode 100644 index 000000000..6f891280c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-cfg.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-ptp-pd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-pd-cfg"; + prefix ptp-pd-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ptp-pd package configuration. + + This module contains definitions + for the following management objects: + log-servo-root: Servo Log for Platform + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-30 { + description + "In-memory timestamps buffer size added."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-05-08 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container log-servo-root { + description + "Servo Log for Platform"; + leaf servo-event-enable { + type boolean; + description + "Enable Servo change log events"; + } + leaf timestamps-memory-size { + type xr:Hex-integer; + description + "Memory size for PTP timestamps logging"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper-sub1.yang new file mode 100644 index 000000000..fe5b6fb7d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper-sub1.yang @@ -0,0 +1,448 @@ +submodule Cisco-IOS-XR-ptp-pd-oper-sub1 { + belongs-to Cisco-IOS-XR-ptp-pd-oper { + prefix Cisco-IOS-XR-ptp-pd-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ptp-pd package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-04 { + description + "Schema added for PTP statistics."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-06-08 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PTP-PD-TS-LOGGER-INFO { + description + "PTP PD timestamps logger info"; + leaf memory-buffer { + type uint64; + description + "Memory buffer used for timestamps logging"; + } + leaf redzone { + type uint64; + description + "Red zone start offset"; + } + leaf disk-fp { + type uint64; + description + "Disk file pointer"; + } + leaf next-rotating-file-index { + type uint16; + description + "Next rotating file index"; + } + leaf max-rotating-files { + type uint16; + description + "Max rotating files"; + } + leaf mem-fp { + type uint64; + description + "Memory File pointer"; + } + leaf dump-fp { + type uint64; + description + "File pointer to which logs need to be dumped"; + } + leaf current-offset { + type uint64; + description + "Current offset in memory buffer"; + } + leaf end-offset { + type uint64; + description + "Log end offset in red-zone"; + } + leaf mem-buf-size { + type uint32; + description + "Size of Memory buffer"; + } + leaf dumping-to-disk { + type boolean; + description + "Logger dumping logs to disk"; + } + leaf dumping-complete { + type boolean; + description + "Dumping to disk complete"; + } + leaf memory-logging-capable { + type boolean; + description + "Logger capable of in-memory logging"; + } + leaf platform-logging-capable { + type boolean; + description + "Platform capable of in-memory logging"; + } + leaf initialized { + type boolean; + description + "Logger initialized"; + } + leaf buffer-monitor-cnt { + type uint32; + description + "Main thread health check for periodic buffer + monitoring"; + } + leaf buf-mon-discard-cnt { + type uint32; + description + "Main thread discarded buffer monitoring"; + } + leaf buffer-wraps { + type uint32; + description + "Number of times the in-memory buffer wrapped"; + } + leaf curr-ptr-adv-cnt { + type uint32; + description + "Health check for in-memory logging offset + advancing"; + } + leaf dump-disk-req-check { + type uint32; + description + "Health check for dumper-thread to check for dump + req"; + } + leaf red-zone-max-offset { + type uint32; + description + "Max penetration into the red-zone"; + } + leaf red-zone-over-err { + type uint32; + description + "Red-Zone overflow"; + } + leaf num-entries-discard { + type uint32; + description + "Num entries discarded in last dump to disk file"; + } + leaf num-entries-processed { + type uint32; + description + "Num entries processed"; + } + leaf dump-disk-req { + type uint32; + description + "Number of requests to dump the logs to disk"; + } + leaf dump-disk-completes { + type uint32; + description + "Number of times logs dumped to disk"; + } + leaf disk-write-fails { + type uint32; + description + "Number of failures in writing to disk"; + } + leaf last-disk-dump-size { + type uint32; + units "byte"; + description + "Number of bytes written in last dump request"; + } + } + + grouping PTP-PD-STAT-UNIT { + description + "PTP PD statistics unit"; + leaf min { + type int64; + description + "Minimum value"; + } + leaf max { + type int64; + description + "Maximum value"; + } + leaf mean { + type int64; + description + "Mean value"; + } + leaf num-entries { + type uint32; + description + "Number of entries used to calculate the bucket"; + } + } + + grouping PTP-PD-SERVO-STAT-LIST { + description + "Servo statistics list"; + container delta-t1 { + description + "T1 timestamp difference"; + uses PTP-PD-STAT-UNIT; + } + container delta-t2 { + description + "T2 timestamp difference"; + uses PTP-PD-STAT-UNIT; + } + container delta-t3 { + description + "T3 timestamp difference"; + uses PTP-PD-STAT-UNIT; + } + container delta-t4 { + description + "T4 timestamp difference"; + uses PTP-PD-STAT-UNIT; + } + container fwd-delay { + description + "Forward path delay"; + uses PTP-PD-STAT-UNIT; + } + container rev-delay { + description + "Reverse path delay"; + uses PTP-PD-STAT-UNIT; + } + container offset-from-master { + description + "Offset from Master"; + uses PTP-PD-STAT-UNIT; + } + container mean-path-delay { + description + "Mean path delay"; + uses PTP-PD-STAT-UNIT; + } + } + + grouping PTP-PD-SERVO-STAT-BUCKETS { + description + "Servo statistics buckets"; + container bucket5-sec { + description + "5 second bucket"; + uses PTP-PD-SERVO-STAT-LIST; + } + container bucket10-sec { + description + "10 second bucket"; + uses PTP-PD-SERVO-STAT-LIST; + } + container bucket1-min { + description + "1 minute bucket"; + uses PTP-PD-SERVO-STAT-LIST; + } + } + + grouping PTP-PD-BAG-TIMESTAMP { + description + "PTP PD timestamp"; + leaf second { + type uint32; + description + "value of second"; + } + leaf nano-second { + type uint32; + description + "value of nano second"; + } + } + + grouping PTP-PD-SERVO-INFO { + description + "PTP PD servo status"; + container last-set-time { + description + "last input of setTime"; + uses PTP-PD-BAG-TIMESTAMP; + } + container last-received-t1 { + description + "last T1 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + container last-received-t2 { + description + "last T2 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + container last-received-t3 { + description + "last T3 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + container last-received-t4 { + description + "last T4 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + container pre-received-t1 { + description + "pre T1 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + container pre-received-t2 { + description + "pre T2 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + container pre-received-t3 { + description + "pre T3 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + container pre-received-t4 { + description + "pre T4 timestamp received"; + uses PTP-PD-BAG-TIMESTAMP; + } + leaf lock-status { + type uint16; + description + "lock status of device"; + } + leaf running { + type boolean; + description + "running status of apr"; + } + leaf device-status { + type string { + length "0..50"; + } + description + "status of device"; + } + leaf log-level { + type uint16; + description + "log level of apr"; + } + leaf phase-accuracy-last { + type int64; + description + " last phase alignment accuracy"; + } + leaf num-sync-timestamp { + type uint32; + description + "number of sync timestamp received"; + } + leaf num-delay-timestamp { + type uint32; + description + "number of delay timestamp received"; + } + leaf num-set-time { + type uint32; + description + "number of setTime() been called"; + } + leaf num-step-time { + type uint32; + description + "number of stepTime() been called"; + } + leaf num-adjust-freq { + type uint32; + description + "number of adjustFreq() been called"; + } + leaf num-adjust-freq-time { + type uint32; + description + "number of adjustFreqTime() been called"; + } + leaf last-adjust-freq { + type int32; + description + "last input of adjustFreq"; + } + leaf last-step-time { + type int32; + description + "last input of stepTime"; + } + leaf num-discard-sync-timestamp { + type uint32; + description + "number of sync timestamp discarded"; + } + leaf num-discard-delay-timestamp { + type uint32; + description + "number of delay timestamp discarded"; + } + leaf flagof-last-set-time { + type boolean; + description + "last input flag of setTime"; + } + leaf offset-from-master { + type int64; + description + "Time Offset From Master"; + } + leaf mean-path-delay { + type int64; + description + "Mean Path Delay"; + } + leaf servo-mode { + type int32; + description + "Servo Mode"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper.yang new file mode 100644 index 000000000..e23cff268 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ptp-pd-oper.yang @@ -0,0 +1,81 @@ +module Cisco-IOS-XR-ptp-pd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-pd-oper"; + prefix ptp-pd-oper; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ptp-oper { + prefix a1; + } + include Cisco-IOS-XR-ptp-pd-oper-sub1 { + revision-date 2021-08-04; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ptp-pd package operational data. + + This YANG module augments the + Cisco-IOS-XR-ptp-oper + module with state data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-04 { + description + "Schema added for PTP statistics."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-06-08 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:ptp" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-ptp-oper'"; + container platform { + description + "PTP platform specific data"; + container servo { + description + "PTP servo related parameters"; + uses PTP-PD-SERVO-INFO; + } + container servo-statistics { + description + "PTP servo statistics"; + uses PTP-PD-SERVO-STAT-BUCKETS; + } + container timestamps-logger { + description + "PTP timestamps logger information"; + uses PTP-PD-TS-LOGGER-INFO; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-action-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-action-cfg.yang new file mode 100644 index 000000000..a3fc777f5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-action-cfg.yang @@ -0,0 +1,56 @@ +module Cisco-IOS-XR-pwrmgmt-action-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pwrmgmt-action-cfg"; + prefix pwrmgmt-action-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-pwrmgmt-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pwrmgmt-action package configuration. + + This YANG module augments the + Cisco-IOS-XR-pwrmgmt-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:power-management" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-pwrmgmt-cfg'"; + leaf action-disable { + type boolean; + description + "Config for controlling power budget to not + exceed power capacity"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-cfg.yang new file mode 100644 index 000000000..c47336d9e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-pwrmgmt-cfg.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-pwrmgmt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-pwrmgmt-cfg"; + prefix pwrmgmt-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pwrmgmt package configuration. + + This module contains definitions + for the following management objects: + power-management: EnvMon Power Management Config Data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-14 { + description + "IOS XR 7.0.14 revision. Moved action-disable to be valid only for SF-D platforms."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container power-management { + description + "EnvMon Power Management Config Data"; + leaf extended-temp { + type boolean; + description + "Config for setting power budget for extended + temp mode"; + } + leaf single-feed-mode { + type boolean; + description + "Config for suppressing alarms for missing feed + supplies"; + } + leaf red-num-pems { + type uint32; + description + "Number of the redundant PEMS"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-cfg.yang new file mode 100644 index 000000000..93efb7b8d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-cfg.yang @@ -0,0 +1,361 @@ +module Cisco-IOS-XR-qos-ma-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-qos-ma-cfg"; + prefix qos-ma-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-l2vpn-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR qos package configuration. + + This module contains definitions + for the following management objects: + qos: Global QOS configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-l2vpn-cfg, + modules with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-10 { + description + "IOS XR 7.2.1 revision."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-02-27 { + description + "Made subscriber-parent a presence container, changed + as part of commit check feature"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-12-23 { + description + "IOS XR 6.2.1 revision."; + } + revision 2016-12-15 { + description + "IOS XR 6.2.1 revision."; + } + revision 2016-11-11 { + description + "IOS XR 6.2.1 revision."; + } + revision 2016-03-03 { + description + "IOS XR 6.1.1 revision."; + } + + typedef Qos-field-not-supported { + type enumeration { + enum "not-supported" { + value 0; + description + "Dummy data type. Leave unspecified"; + } + } + description + "This field is used to specify the unsupported Qos values"; + } + + typedef Qos-policy-account { + type enumeration { + enum "layer1" { + value 8; + description + "Turn on Layer 1 accounting"; + } + enum "layer2" { + value 1; + description + "Turn on Layer 2 accounting"; + } + enum "nolayer2" { + value 2; + description + "Turn on Layer 2 accounting"; + } + enum "user-defined" { + value 4; + description + "User defined accounting"; + } + } + description + "This field is used to specify the type of Layer specific or user + defined Qos accounting."; + } + + grouping QOS { + description + "Common node of interface-configuration, cac, pvp, + pac, pvc, pvc-mode, nv-satellite-access, + nv-satellite-fabric-link, satellites"; + container qos { + description + "Interface QOS configuration"; + container output { + description + "Egress service policy"; + uses SERVICE-POLICY; + } + container input { + description + "Ingress service policy"; + uses SERVICE-POLICY; + } + } + } + + grouping SERVICE-POLICY { + description + "Common node of input, output"; + list service-policy { + key "service-policy-name"; + description + "Service policy details"; + leaf service-policy-name { + type string { + length "0..64"; + } + description + "Name of policy-map"; + } + leaf account-type { + type Qos-policy-account; + description + "Turn off L2 or L3 accounting."; + } + leaf l1-user-defined { + type int32 { + range "-63..63"; + } + description + "User specified value"; + } + leaf spi-name { + type string { + length "0..32"; + } + description + "Name of the SPI"; + } + leaf subscriber-parent-policy { + type boolean; + description + "TRUE if service-policy applied on svlan."; + } + leaf resource-id { + type uint32 { + range "0..3"; + } + description + "Resource ID value"; + } + leaf service-fragment-parent-policy { + type boolean; + description + "TRUE if service-policy applied is a + service-fragment policy)."; + } + } + list service-policy-qos { + key "service-policy-name"; + description + "Service policy details"; + container subscriber-group-names { + description + "Subscriber Group Name Details"; + list subscriber-group-name { + key "subscriber-group-string"; + description + "Subscriber Group details"; + leaf subscriber-group-string { + type string { + length "0..64"; + } + description + "Name of policy-map"; + } + leaf account-type { + type Qos-policy-account; + description + "Turn off L2 or L3 accounting."; + } + leaf l1-user-defined { + type int32 { + range "-63..63"; + } + description + "User specified value"; + } + leaf spi-name { + type string { + length "0..32"; + } + description + "Name of the SPI"; + } + leaf policy-merge { + type Qos-field-not-supported; + description + "Not supported (Leave unspecified)."; + } + leaf subscriber-parent-policy { + type boolean; + description + "TRUE if service-policy applied on svlan."; + } + leaf resource-id { + type uint32 { + range "0..3"; + } + description + "Resource ID value"; + } + leaf service-fragment-parent-policy { + type boolean; + description + "TRUE if service-policy applied is a + service-fragment policy)."; + } + } + } + container subscriber-parent { + presence "Enable feature subscriber-parent"; + description + "Subscriber Parent Details"; + leaf account-type { + type Qos-policy-account; + description + "Turn off L2 or L3 accounting."; + } + leaf l1-user-defined { + type int32 { + range "-63..63"; + } + description + "User specified value"; + } + leaf spi-name { + type string { + length "0..32"; + } + description + "Name of the SPI"; + } + leaf policy-merge { + type Qos-field-not-supported; + description + "Not supported (Leave unspecified)."; + } + leaf subscriber-parent-policy { + type boolean; + description + "TRUE if service-policy applied on svlan."; + } + leaf resource-id { + type uint32 { + range "0..3"; + } + description + "Resource ID value"; + } + leaf service-fragment-parent-policy { + type boolean; + description + "TRUE if service-policy applied is a + service-fragment policy)."; + } + } + leaf service-policy-name { + type string { + length "0..64"; + } + description + "Name of policy-map"; + } + } + } + + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + container pac { + description + "Port Attachment Circuit configuration."; + uses QOS; + } + } + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + container cac { + description + "Connection Attachment Circuit configuration."; + uses QOS; + } + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + uses QOS; + } + container qos { + description + "Global QOS configuration."; + leaf fabric-service-policy { + type xr:Cisco-ios-xr-string { + length "0..63"; + } + description + "Name of the fabric service policy"; + } + } + container ctrlplane { + description + "control plane"; + container locp { + description + "local control-packets"; + container copy-prec-qosgrp { + presence "Copy the precedence group"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-oper.yang new file mode 100644 index 000000000..25b0ee899 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-qos-ma-oper.yang @@ -0,0 +1,1731 @@ +module Cisco-IOS-XR-qos-ma-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-qos-ma-oper"; + prefix qos-ma-oper; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR qos-ma-oper package operational data. + + This module contains definitions + for the following management objects: + qos: QoS operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-27 { + description + "IOS XR 7.3.1 revision."; + } + revision 2020-04-13 { + description + "IOS XR 7.3.1 revision."; + } + revision 2020-03-04 { + description + "IOS XR 7.2.1 revision."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-09-10 { + description + "IOS XR 7.0.1 revision."; + } + revision 2017-09-13 { + description + "IOS XR 6.4.1 revision."; + } + revision 2017-04-10 { + description + "IOS XR 6.3.1 revision."; + } + revision 2016-11-11 { + description + "IOS XR 6.2.1 revision."; + } + revision 2016-03-03 { + description + "IOS XR 6.1.1 revision."; + } + + typedef Wred { + type enumeration { + enum "wred-cos-cmd" { + description + "Weighted random early detection cos cmd"; + } + enum "wred-dscp-cmd" { + description + "Weighted random early detection dscp cmd"; + } + enum "wred-precedence-cmd" { + description + "Weighted random early detection precedence cmd"; + } + enum "wred-discard-class-cmd" { + description + "Weighted random early detection discard class cmd"; + } + enum "wred-mpls-exp-cmd" { + description + "Weighted random early detection mpls exp cmd"; + } + enum "red-with-user-min-max" { + description + "random early detection with user-defined min max values"; + } + enum "red-with-default-min-max" { + description + "random early detection with default min max values"; + } + enum "wred-dei-cmd" { + description + "Weighted random early detection dei cmd"; + } + enum "wred-ecn-cmd" { + description + "Weighted random early detection ecn cmd"; + } + enum "wred-invalid-cmd" { + description + "Weighted random early detection invalid cmd"; + } + } + description + "Weighted random early detection"; + } + + typedef Policy-param-unit { + type enumeration { + enum "policy-param-unit-invalid" { + description + "Data flow rate is invalid"; + } + enum "policy-param-unit-bytes" { + description + "Rate at which data flows in bytes"; + } + enum "policy-param-unit-kbytes" { + description + "Rate at which data flows in kbytes"; + } + enum "policy-param-unit-mbytes" { + description + "Rate at which data flows in mbytes"; + } + enum "policy-param-unit-gbytes" { + description + "Rate at which data flows in gbytes"; + } + enum "policy-param-unit-bitsps" { + description + "Rate at which data flows in bitsps"; + } + enum "policy-param-unit-kbitsps" { + description + "Rate at which data flows in kbitsps"; + } + enum "policy-param-unit-mbitsps" { + description + "Rate at which data flows in mbitsps"; + } + enum "policy-param-unit-gbitsps" { + description + "Rate at which data flows in gbitsps"; + } + enum "policy-param-unit-cells-ps" { + description + "Rate at which data flows in cells ps"; + } + enum "policy-param-unit-packets-ps" { + description + "Rate at which data flows in packets ps"; + } + enum "policy-param-unit-us" { + description + "Rate at which data flows in us"; + } + enum "policy-param-unit-ms" { + description + "Rate at which data flows in ms"; + } + enum "policy-param-unit-seconds" { + description + "Rate at which data flows in seconds"; + } + enum "policy-param-unit-packets" { + description + "Rate at which data flows in packets"; + } + enum "policy-param-unit-cells" { + description + "Rate at which data flows in cells"; + } + enum "policy-param-unit-percent" { + description + "Rate at which data flows in percent"; + } + enum "policy-param-unit-per-thousand" { + description + "Rate at which data flows in per thousand"; + } + enum "policy-param-unit-per-million" { + description + "Rate at which data flows in per million"; + } + enum "policy-param-unit-hz" { + description + "Rate at which data flows in hz"; + } + enum "policy-param-unit-khz" { + description + "Rate at which data flows in khz"; + } + enum "policy-param-unit-mhz" { + description + "Rate at which data flows in mhz"; + } + enum "policy-param-unit-ratio" { + description + "Data flow unit ratio"; + } + enum "policy-param-unit-max" { + description + "Maximum policy param unit "; + } + } + description + "Different units of measurement of Policy parameter"; + } + + typedef Cac-state { + type enumeration { + enum "unknown" { + value 0; + description + "Cac-state value is unknown"; + } + enum "admit" { + value 1; + description + "Cac-state value is admit"; + } + enum "redirect" { + value 2; + description + "Cac-state value is redirect"; + } + enum "ubrl" { + value 3; + description + "Cac-state value is ubrl"; + } + } + description + "CAC/UBRL class states"; + } + + typedef Policy-state { + type enumeration { + enum "active" { + value 0; + description + "Interface state of the policy is active"; + } + enum "suspended" { + value 1; + description + "Interface state of policy is suspended"; + } + } + description + "Different Interface states"; + } + + typedef Qos-caps-operation-enum { + type enumeration { + enum "add" { + value 0; + description + "Add Caps info"; + } + enum "remove" { + value 1; + description + "Remove Caps info"; + } + enum "replace" { + value 2; + description + "Replace the Caps info"; + } + enum "modify" { + value 3; + description + "Modify the Caps info"; + } + enum "unknown" { + value 4; + description + "Caps info is Unknown"; + } + } + description + "Satellite QOS offload operation"; + } + + typedef Qos-ma-sat-caps-type-enum { + type enumeration { + enum "input" { + value 0; + description + "Input satellite caps info"; + } + enum "output" { + value 1; + description + "Output satellite caps info"; + } + enum "unknown" { + value 2; + description + "Satellite Caps info Unknown"; + } + } + description + "Satellite capsulation information"; + } + + typedef String-arr { + type string; + description + "Array of strings"; + } + + grouping CAC-STATS-ST { + description + "CAC statistics"; + leaf drop-packets { + type uint64; + description + "CAC dropped packets"; + } + leaf drop-bytes { + type uint64; + units "byte"; + description + "CAC dropped bytes"; + } + leaf drop-rates { + type uint32; + description + "CAC dropped rate"; + } + leaf admitpackets { + type uint64; + units "packets"; + description + "CAC admitted packets"; + } + leaf admit-bytes { + type uint64; + units "byte"; + description + "CAC admitted bytes"; + } + leaf admit-rates { + type uint32; + description + "CAC admitted rate"; + } + } + + grouping IPHC-STATS-ST { + description + "IPHC Stats"; + leaf non-tcp-total-out-packets { + type uint64; + description + "TotalNum of Non tcp pkts sent"; + } + leaf non-tcp-total-out-bytes { + type uint64; + units "byte"; + description + "TotalNum of Non Tcp Bytes sent"; + } + leaf non-tcp-bytes-saved { + type uint64; + units "byte"; + description + "Non Tcp Bytes saved due to compression"; + } + leaf non-tcp-compressed-packets-out { + type uint64; + description + "Num of non tcp compressed pkts sent"; + } + leaf non-tcp-bytes-sent-rate { + type uint32; + units "kbit/s"; + description + "Compressed Non Tcp Bytes sent rate"; + } + leaf non-tcp-full-header-packets-out { + type uint64; + description + "Num of non tcp fullheader pkts sent"; + } + leaf tcp-total-out-packets { + type uint64; + description + "Total Num of tcp pkts sent"; + } + leaf tcp-total-out-bytes { + type uint64; + units "byte"; + description + "TotalNum of Tcp Bytes sent"; + } + leaf tcp-bytes-saved { + type uint64; + units "byte"; + description + "Tcp Bytes saved due to compression"; + } + leaf tcp-compressed-packets-out { + type uint64; + description + "Num of tcp compressed pkts sent"; + } + leaf tcp-bytes-sent-rate { + type uint32; + units "byte"; + description + "Compressed Tcp Bytes sent rate"; + } + leaf tcp-full-header-packets-out { + type uint64; + description + "Num of tcp fullheader pkts sent"; + } + } + + grouping WRED-TYPE-VALUE { + description + "WRED Type Value pairs"; + leaf wred-type { + type Wred; + description + "WRED type DSCP, EXP, PREC etc."; + } + leaf value { + type uint8; + description + "WRED value for this type."; + } + } + + grouping RED-PROFILE-STATS { + description + "Per RED profile stats"; + leaf profile-title { + type string { + length "0..300"; + } + description + "ProfileTitle"; + } + leaf red-transmit-packets { + type uint64; + description + "Transmitted packets"; + } + leaf red-transmit-bytes { + type uint64; + units "byte"; + description + "Transmitted bytes"; + } + leaf random-drop-packets { + type uint64; + description + "Probabilistically dropped packets"; + } + leaf random-drop-bytes { + type uint64; + units "byte"; + description + "Probabilisticallydropped bytes"; + } + leaf max-threshold-packets { + type uint64; + description + "Dropped packets with the average queue size at + the max-threshold"; + } + leaf max-threshold-bytes { + type uint64; + units "byte"; + description + "Dropped bytes with the average queue size at + the max-threshold"; + } + leaf red-ecn-marked-packets { + type uint64; + description + "ECN marked packets "; + } + leaf red-ecn-marked-bytes { + type uint64; + units "byte"; + description + "ECN marked bytes"; + } + list red-label { + description + "Array of WRED Typevalues as in PRP stats is + available per threshold "; + uses WRED-TYPE-VALUE; + } + } + + grouping PLC-COLOR-CLASS-STATS-ST { + description + "Color Aware Policer statistics"; + leaf conform-class-conform-packets { + type uint64; + description + "Packets with classification result conform and + policer result conform"; + } + leaf conform-class-conform-bytes { + type uint64; + units "byte"; + description + "Bytes with classification result conform and + policer result conform"; + } + leaf conform-class-conform-rate { + type uint32; + units "kbit/s"; + description + "Conform Class Conform rate in kbps"; + } + leaf conform-class-exceed-packets { + type uint64; + description + "Packets with classification result conform and + policer result exceed"; + } + leaf conform-class-exceed-bytes { + type uint64; + units "byte"; + description + "Bytes with classification result conform and + policer result exceed"; + } + leaf conform-class-exceed-rate { + type uint32; + units "kbit/s"; + description + "Conform Class Exceed rate in kbps"; + } + leaf conform-class-violate-packets { + type uint64; + description + "Packets with classification result conform and + policer result violate"; + } + leaf conform-class-violate-bytes { + type uint64; + units "byte"; + description + "Bytes with classification result conform and + policer result violate"; + } + leaf conform-class-violate-rate { + type uint32; + units "kbit/s"; + description + "Conform Class Violate rate in kbps"; + } + leaf exceed-class-exceed-packets { + type uint64; + description + "Packets with classification result exceed and + policer result exceed"; + } + leaf exceed-class-exceed-bytes { + type uint64; + units "byte"; + description + "Bytes with classification result exceed and + policer result exceed"; + } + leaf exceed-class-exceed-rate { + type uint32; + units "kbit/s"; + description + "Exceed Class Exceed rate in kbps"; + } + leaf exceed-class-violate-packets { + type uint64; + description + "Packets with classification result exceed and + policer result violate"; + } + leaf exceed-class-violate-bytes { + type uint64; + units "byte"; + description + "Bytes with classification result exceed and + policer result violate"; + } + leaf exceed-class-violate-rate { + type uint32; + units "kbit/s"; + description + "Exceed Class Violate rate in kbps"; + } + leaf violate-class-violate-packets { + type uint64; + description + "Packets with classification result violate and + policer result violate"; + } + leaf violate-class-violate-bytes { + type uint64; + units "byte"; + description + "Bytes with classification result violate and + policer result violate"; + } + leaf violate-class-violate-rate { + type uint32; + units "kbit/s"; + description + "Violate Class Violate rate in kbps"; + } + } + + grouping PLC-STATS-ST { + description + "Policer statistics"; + container color-class-stats { + description + "Police Packets classified according to color classification"; + uses PLC-COLOR-CLASS-STATS-ST; + } + leaf drop-packets { + type uint64; + description + "Police dropped packets"; + } + leaf drop-bytes { + type uint64; + units "byte"; + description + "Police dropped bytes"; + } + leaf conform-packets { + type uint64; + description + "Packets that conform to the policed rate"; + } + leaf conform-bytes { + type uint64; + units "byte"; + description + "Bytes that conform to the policed rate"; + } + leaf exceed-packets { + type uint64; + description + "Packets that exceed the policed rate"; + } + leaf exceed-bytes { + type uint64; + units "byte"; + description + "Bytes that exceed the policed rate"; + } + leaf violate-packets { + type uint64; + description + "Packets violating the policed rate"; + } + leaf violate-bytes { + type uint64; + units "byte"; + description + "Bytes that violate the policed rate"; + } + leaf parent-drop-packets { + type uint64; + description + "Dropped pkts by the parent policer"; + } + leaf parent-drop-bytes { + type uint64; + units "byte"; + description + "Dropped bytes by the parent policer"; + } + leaf conform-rate { + type uint32; + units "kbit/s"; + description + "Conform rate in kbps"; + } + leaf exceed-rate { + type uint32; + units "kbit/s"; + description + "Exceed rate in kbps"; + } + leaf violate-rate { + type uint32; + units "kbit/s"; + description + "Violate rate in kbps"; + } + } + + grouping POLICY-PARAM-UINT32-ST { + description + "Policy Parameter Statistics for the queue length"; + leaf value { + type uint32; + description + "value of the policy param stats"; + } + leaf unit { + type Policy-param-unit; + description + "unit of the policy param stats"; + } + } + + grouping Q-STATS-ST { + description + "Queue limit statistics"; + leaf queue-id { + type uint32; + description + "Queue Id used for Fabric Stats"; + } + leaf tail-drop-packets { + type uint64; + description + "Packets tail dropped"; + } + leaf tail-drop-bytes { + type uint64; + units "byte"; + description + "Bytes tail dropped"; + } + leaf atm-clp0-drop-packets { + type uint64; + description + "ATP CLP 0 matched packets dropped"; + } + leaf atm-clp0-drop-bytes { + type uint64; + units "byte"; + description + "ATP CLP 0 matched bytes dropped"; + } + leaf atm-clp1-drop-packets { + type uint64; + description + "ATP CLP 0 matched packets dropped"; + } + leaf atm-clp1-drop-bytes { + type uint64; + units "byte"; + description + "ATP CLP 0 matched bytes dropped"; + } + leaf queue-drop-threshold { + type uint32; + units "byte"; + description + "tail drop threshold of the queue in bytes"; + } + leaf forced-wred-stats-display { + type boolean; + description + "flag to forcedisplay of WRED even when per + WredWRED profile stats is not available"; + } + leaf random-drop-packets { + type uint64; + description + "Packets probabilistically dropped"; + } + leaf random-drop-bytes { + type uint64; + units "byte"; + description + "Bytes probabilistically dropped"; + } + leaf max-threshold-packets { + type uint64; + description + "Dropped packets with the average queue size at + the max-threshold"; + } + leaf max-threshold-bytes { + type uint64; + units "byte"; + description + "Dropped bytes with the average queue size at the + max-threshold"; + } + leaf conform-packets { + type uint64; + description + "Packets that conform to the queue rate"; + } + leaf conform-bytes { + type uint64; + units "byte"; + description + "Bytes that conform to the queue rate"; + } + leaf exceed-packets { + type uint64; + description + "Packets that exceed the queue rate"; + } + leaf exceed-bytes { + type uint64; + units "byte"; + description + "Bytes that exceed the queue rate"; + } + leaf conform-rate { + type uint32; + description + "Rate of the packets that conform to the queue rate"; + } + leaf exceed-rate { + type uint32; + description + "Rate of the packets that exceed the queue rate"; + } + list queue-instance-length { + description + "Length of the Queue Instance"; + uses POLICY-PARAM-UINT32-ST; + } + list queue-average-length { + description + "Average length of the queue"; + uses POLICY-PARAM-UINT32-ST; + } + list queue-max-length { + description + "Maximum length of the Queue"; + uses POLICY-PARAM-UINT32-ST; + } + } + + grouping GEN-STATS-ST { + description + "Counters common to all features"; + leaf transmit-packets { + type uint64; + units "packets"; + description + "Total transmitted packets"; + } + leaf transmit-bytes { + type uint64; + units "byte"; + description + "Total transmitted bytes"; + } + leaf total-drop-packets { + type uint64; + units "packets"; + description + "Total dropped packets"; + } + leaf total-drop-bytes { + type uint64; + units "byte"; + description + "Total dropped bytes"; + } + leaf total-drop-rate { + type uint32; + units "kbit/s"; + description + "Total drop rate in kbps"; + } + leaf match-data-rate { + type uint32; + units "kbit/s"; + description + "Incoming matched data rate in kbps"; + } + leaf total-transmit-rate { + type uint32; + units "kbit/s"; + description + "Total transmit rate in kbps"; + } + leaf pre-policy-matched-packets { + type uint64; + units "packets"; + description + "Matched pkts before applying policy"; + } + leaf pre-policy-matched-bytes { + type uint64; + units "byte"; + description + "Matched bytes before applying policy"; + } + } + + grouping CHILD-POLICY-CLASS-STATS { + description + "Classification of Child Service-policy Stats"; + container general-stats { + description + "general Child policy stats"; + uses GEN-STATS-ST; + } + container iphc-stats { + description + "IPHC stats"; + uses IPHC-STATS-ST; + } + container cac-stats { + description + "bag for cac stats"; + uses CAC-STATS-ST; + } + leaf counter-validity-bitmask { + type uint64; + units "megabyte"; + description + " Bitmask to indicate which counter or counters + are undetermined. Counters will be marked + undetermined when one or more classes share + queues with class-default because in such cases + the value of counters for each class is invalid. + Based on the flag(s) set, the following counters + will be marked undetermined. For example, if + value of this object returned is 0x00000101, + counters + TransmitPackets/TransmitBytes/TotalTransmitRate + and DropPackets/DropBytes are undetermined + .0x00000001 - Transmit + (TransmitPackets/TransmitBytes/TotalTransmitRate + ), 0x00000002 - Total drop + (TotalDropPackets/TotalDropBytes/TotalDropRate), + 0x00000004 - Match + (MatchDataRate/PrepolicyMatchedPackets + /PrepolicyMatchedBytes), 0x00000100 - Police + drop (DropPackets/DropBytes), 0x00000200 - + Police conform + (ConformPackets/ConformBytes/ConformRate), + 0x00000400 - Police exceed + (ExceedPackets/ExceedBytes/ExceedRate), + 0x00000800 - Police violate + (ViolatePackets/ViolateBytes/ViolateRate), + 0x00001000 - Parent policer drop + (ParentDropPackets/ParentDropBytes), 0x00010000 + - Queueing drop (TailDropPackets/TailDropBytes), + 0x00020000 - Red queue drop + (RandomDropPackets/RandomDropBytes), 0x00040000 + - Queue maximum threshold drop + (MaxThresholdPackets/MaxThresholdBytes), + 0x00080000 - Queue conform + (ConformPackets/ConformBytes/ConformRate), + 0x00100000 - Queue exceed + (ExceedPackets/ExceedBytes/ExceedRate), + 0x00200000 - CLP limit drop + (ATM_CLP0DropPackets/ATM_CLP0DropBytes + /ATM_CLP1DropPackets/ATM_CLP1DropBytes), + 0x01000000 - RED transmit + (RedTransmitPackets/RedTransmitBytes), + 0x02000000 - RED drop + (RandomDropPackets/RandomDropBytes), 0x04000000 + - RED maximum threshold drop + (MaxThresholdPackets/MaxThresholdBytes)"; + } + leaf class-name { + type string { + length "0..65"; + } + description + "ClassName"; + } + leaf shared-queue-id { + type uint32; + description + "q-id of the shared queue for this class"; + } + leaf queue-descr { + type string { + length "0..256"; + } + description + "Description of queue for the class"; + } + leaf cac-state { + type Cac-state; + description + "CACState"; + } + list queue-stats-array { + description + "array of queue stats"; + uses Q-STATS-ST; + } + list police-stats-array { + description + "array of police stats"; + uses PLC-STATS-ST; + } + list wred-stats-array { + description + "array of red stats"; + uses RED-PROFILE-STATS; + } + } + + grouping CHILD-POLICY-QOS-STATS { + description + "policy map statistics"; + leaf policy-name { + type string { + length "0..65"; + } + description + "PolicyName"; + } + leaf state { + type Policy-state; + description + "State"; + } + leaf state-description { + type string { + length "0..128"; + } + description + "Description of the state of child Qos Policy Stats"; + } + leaf satid { + type uint32; + description + "to maintain satellite id"; + } + list class-stats { + description + "array of classes contained in policy"; + uses CHILD-POLICY-CLASS-STATS; + } + } + + grouping CLASS-STATS { + description + "Stats Classification"; + container general-stats { + description + "Stats classified as general statistics"; + uses GEN-STATS-ST; + } + container iphc-stats { + description + "IP header compression statistic information stats"; + uses IPHC-STATS-ST; + } + container child-policy { + description + "Qos child service-policy"; + uses CHILD-POLICY-QOS-STATS; + } + container cac-stats { + description + "bag for cac stats"; + uses CAC-STATS-ST; + } + leaf counter-validity-bitmask { + type uint64; + units "megabyte"; + description + " Bitmask to indicate which counter or counters + are undetermined. Counters will be marked + undetermined when one or more classes share + queues with class-default because in such cases + the value of counters for each class is invalid. + Based on the flag(s) set, the following counters + will be marked undetermined. For example, if + value of this object returned is 0x00000101, + counters + TransmitPackets/TransmitBytes/TotalTransmitRate + and DropPackets/DropBytes are undetermined + .0x00000001 - Transmit + (TransmitPackets/TransmitBytes/TotalTransmitRate + ), 0x00000002 - Total drop + (TotalDropPackets/TotalDropBytes/TotalDropRate), + 0x00000004 - Match + (MatchDataRate/PrepolicyMatchedPackets + /PrepolicyMatchedBytes), 0x00000100 - Police + drop (DropPackets/DropBytes), 0x00000200 - + Police conform + (ConformPackets/ConformBytes/ConformRate), + 0x00000400 - Police exceed + (ExceedPackets/ExceedBytes/ExceedRate), + 0x00000800 - Police violate + (ViolatePackets/ViolateBytes/ViolateRate), + 0x00001000 - Parent policer drop + (ParentDropPackets/ParentDropBytes), 0x00010000 + - Queueing drop (TailDropPackets/TailDropBytes), + 0x00020000 - Red queue drop + (RandomDropPackets/RandomDropBytes), 0x00040000 + - Queue maximum threshold drop + (MaxThresholdPackets/MaxThresholdBytes), + 0x00080000 - Queue conform + (ConformPackets/ConformBytes/ConformRate), + 0x00100000 - Queue exceed + (ExceedPackets/ExceedBytes/ExceedRate), + 0x00200000 - CLP limit drop + (ATM_CLP0DropPackets/ATM_CLP0DropBytes + /ATM_CLP1DropPackets/ATM_CLP1DropBytes), + 0x01000000 - RED transmit + (RedTransmitPackets/RedTransmitBytes), + 0x02000000 - RED drop + (RandomDropPackets/RandomDropBytes), 0x04000000 + - RED maximum threshold drop + (MaxThresholdPackets/MaxThresholdBytes)"; + } + leaf class-name { + type string { + length "0..65"; + } + description + "ClassName"; + } + leaf shared-queue-id { + type uint32; + description + "q-id of the shared queue for this class"; + } + leaf queue-descr { + type string { + length "0..256"; + } + description + "Description of queue for the class"; + } + leaf cac-state { + type Cac-state; + description + "CACState"; + } + list queue-stats-array { + description + "array of queue stats"; + uses Q-STATS-ST; + } + list police-stats-array { + description + "array of police stats"; + uses PLC-STATS-ST; + } + list wred-stats-array { + description + "array of red stats"; + uses RED-PROFILE-STATS; + } + } + + grouping QOS-STATS { + description + "policy map statistics"; + leaf policy-name { + type string { + length "0..65"; + } + description + "PolicyName"; + } + leaf state { + type Policy-state; + description + "State"; + } + leaf state-description { + type string { + length "0..128"; + } + description + "Description of the state of Qos Policy Stats"; + } + leaf satid { + type uint32; + description + "to maintain satellite id"; + } + list class-stats { + description + "array of classes contained in policy"; + uses CLASS-STATS; + } + } + + grouping QOS-MA-SAT-IF-EDM-INFO-XML { + description + "QoS offload information on Satellite interface"; + leaf policy-name { + type string { + length "0..65"; + } + description + "Service policy name"; + } + leaf direction { + type Qos-ma-sat-caps-type-enum; + description + "Satellite caps type"; + } + leaf last-operation { + type Qos-caps-operation-enum; + description + "Previous caps operation"; + } + leaf status { + type String-arr; + description + "Status of offload"; + } + leaf error-message { + type String-arr; + description + "Error message in case of failure"; + } + } + + grouping STATISTICS { + description + "Common node of input, output"; + container statistics { + description + "Policy-map statistics operational data for an + interface"; + uses QOS-STATS; + } + } + + grouping INTERFACE { + description + "Common node of interface-table, + nv-interface-table"; + list interface { + key "interface-name"; + description + "QoS policy-map operational data for a particular + interface"; + container nodes { + description + "QoS policy-map node table"; + list node { + key "node-name"; + description + "QoS operational data for a particular node"; + leaf node-name { + type xr:Node-id; + description + "The node"; + } + uses QOS-PI-OPER-INPUT; + uses QOS-PI-OPER-OUTPUT; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses MEMBER-INTERFACE-TABLE; + uses SATELLITE-ID-TABLE; + uses QOS-PI-OPER-INPUT; + uses QOS-PI-OPER-OUTPUT; + } + } + + grouping INPUT { + description + "Common node of member-interface, + nv-satellite-interface"; + container input { + description + "A piece of QoS policy-map operational data for + an interface"; + uses STATUS; + } + } + + grouping QOS-PI-OPER-INPUT { + description + "Common node of shared-policy-instance, + member-interface, interface, + nv-satellite-interface, satellite-id"; + container input { + description + "A piece of QoS policy-map operational data for + an interface"; + container service-policy-names { + description + "Operational data for all Policy instance"; + list service-policy-instance { + key "service-policy-name"; + description + "QoS policy-map operational data for a + particular Policy "; + leaf service-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the policy instance"; + } + uses STATISTICS; + } + } + } + } + + grouping QOS-PI-OPER-SPI-INPUT { + description + "Grouping to display SPI input stats"; + container input { + description + "A piece of QoS policy-map operational data for + an interface"; + uses STATISTICS; + } + } + + grouping VO-Q-STATS { + description + "Common node of locationvo-q, output-vo-q, + vo-qoutput"; + container vo-q-stats { + description + "VoQ statistics operational data for an interface"; + uses QOS-STATS; + } + } + + grouping MEMBER-INTERFACE-TABLE { + description + "Common node of interface, nv-satellite-interface, + shared-policy-instance"; + container member-interfaces { + description + "QoS policy-map member interface table"; + list member-interface { + key "interface-name"; + description + "QoS policy-map member interface statistics"; + leaf interface-name { + type xr:Interface-name; + description + "Name of member interface"; + } + uses SATELLITE-ID-TABLE; + uses QOS-PI-OPER-INPUT; + uses QOS-PI-OPER-OUTPUT; + } + } + } + + grouping MEMBER-INTERFACE-SPI-TABLE { + description + "Grouping to display SPI member stats"; + container member-interfaces { + description + "QoS policy-map member interface table"; + list member-interface { + key "interface-name"; + description + "QoS policy-map member interface statistics"; + leaf interface-name { + type xr:Interface-name; + description + "Name of member interface"; + } + uses STATISTICS; + uses QOS-PI-OPER-SPI-INPUT; + uses QOS-PI-OPER-SPI-OUTPUT; + } + } + } + + grouping STATUS { + description + "Common node of input, output, + nv-satellite-interface"; + container status { + description + "Policy-map status operational data for an + interface"; + uses QOS-MA-SAT-IF-EDM-INFO-XML; + } + } + + grouping INTERFACE-TABLE { + description + "Common node of qos, policy-map"; + container interface-table { + description + "Operational data for all interfaces"; + uses INTERFACE; + } + } + + grouping OUTPUT { + description + "Common node of member-interface, + nv-satellite-interface"; + container output { + description + "A piece of QoS policy-map operational data for + an interface"; + uses STATUS; + } + } + + grouping QOS-PI-OPER-SPI-OUTPUT { + description + "Grouping to display SPI output stats"; + container output { + description + "A piece of QoS policy-map operational data for + an interface"; + uses STATISTICS; + } + } + + grouping QOS-PI-OPER-OUTPUT { + description + "Common node of shared-policy-instance, + member-interface, interface, + nv-satellite-interface, satellite-id"; + container output { + description + "A piece of QoS policy-map operational data for + an interface"; + container service-policy-names { + description + "Operational data for all Policy instance"; + list service-policy-instance { + key "service-policy-name"; + description + "QoS policy-map operational data for a + particular Policy "; + leaf service-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the policy instance"; + } + uses STATISTICS; + } + } + } + } + + grouping SATELLITE-ID-TABLE { + description + "Common node of interface, member-interface"; + container satellite-ids { + description + "Satellite ID information"; + list satellite-id { + key "nv-satellite-id"; + description + "Satellite ID information"; + leaf nv-satellite-id { + type int32 { + range "100..60000"; + } + description + "Satellite ID"; + } + uses QOS-PI-OPER-INPUT; + uses QOS-PI-OPER-OUTPUT; + } + } + } + + container qos { + config false; + description + "QoS operational data"; + container nv-interface-table { + description + "Operational data for satellite interfaces"; + uses INTERFACE; + } + container nv-satellite { + description + "Satellite table"; + container nv-satellite-statistics { + description + "Satellite statistics based on Satellite ID"; + container nv-satellite-ids { + description + "Satellite ID table"; + list nv-satellite-id { + key "satellite-id"; + description + "Satellite ID information"; + container nv-satellite-interfaces { + description + "Operational data of satellite interface of a + particular satellite"; + list nv-satellite-interface { + key "interface-name"; + description + "Operational data for a particular satellite + interface"; + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses MEMBER-INTERFACE-TABLE; + uses QOS-PI-OPER-INPUT; + uses QOS-PI-OPER-OUTPUT; + } + } + leaf satellite-id { + type int32; + description + "Satellite ID"; + } + } + } + } + container nv-satellite-status { + description + "Satellite QOS offload status based on Satellite + ID"; + container nv-satellite-ids { + description + "Satellite ID table"; + list nv-satellite-id { + key "satellite-id"; + description + "Satellite ID information"; + container nv-satellite-interfaces { + description + "QOS offload status of satellite interface of + a particular satellite"; + list nv-satellite-interface { + key "interface-name"; + description + "QOS offload status for a particular + satellite interface"; + container member-interfaces { + description + "Satellite member interface table"; + list member-interface { + key "interface-name"; + description + "Satellite member interface statistics"; + leaf interface-name { + type xr:Interface-name; + description + "Name of member interface"; + } + uses INPUT; + uses OUTPUT; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + uses INPUT; + uses STATUS; + uses OUTPUT; + } + } + leaf satellite-id { + type int32; + description + "Satellite ID"; + } + } + } + } + } + container nodes { + description + "Node-specific QoS operational data"; + list node { + key "node-name"; + description + "QoS operational data for a particular node"; + container policy-map { + description + "Operational data for policymaps"; + container shared-policy-instances { + description + "Operational data for all SPI"; + list shared-policy-instance { + key "spi-name"; + description + "QoS policy-map operational data for a + particular SPI "; + leaf spi-name { + type xr:Cisco-ios-xr-string; + description + "Name of the shared policy instance"; + } + uses QOS-PI-OPER-SPI-INPUT; + uses QOS-PI-OPER-SPI-OUTPUT; + uses MEMBER-INTERFACE-SPI-TABLE; + } + } + uses INTERFACE-TABLE; + } + leaf node-name { + type xr:Node-id; + description + "The node"; + } + } + } + container qos-global { + description + "For global registrations"; + container vo-q { + description + "For VoQ operational data"; + container vo-q-statistics { + description + "For VoQ statistics"; + container vo-qinterfaces { + description + " For VoQ interface"; + list vo-qinterface { + key "interface-name"; + description + "QoS policy-map operational data for a + particular interface"; + container output-vo-q { + description + "output VoQ interface"; + container locationvo-qs { + description + "QoS policy-map location table"; + list locationvo-q { + key "node-name"; + description + "QoS operational data for a particular + location"; + leaf node-name { + type xr:Node-id; + description + "The node"; + } + uses VO-Q-STATS; + } + } + container service-policy-names { + description + "Operational data for all Policy instance"; + list service-policy-instance { + key "service-policy-name"; + description + "QoS policy-map operational data for a + particular Policy "; + leaf service-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the policy instance"; + } + uses VO-Q-STATS; + } + } + } + container vo-q-member-interfaces { + description + "VoQ QoS policy-map member interface table"; + list vo-q-member-interface { + key "interface-name"; + description + "QoS policy-map member interface statistics"; + container vo-qoutput { + description + "output VoQ interface"; + container service-policy-names { + description + "Operational data for all Policy instance"; + list service-policy-instance { + key "service-policy-name"; + description + "QoS policy-map operational data for a + particular Policy "; + leaf service-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the policy instance"; + } + uses VO-Q-STATS; + } + } + } + leaf interface-name { + type xr:Interface-name; + description + "Name of member interface"; + } + } + } + leaf interface-name { + type xr:Interface-name; + description + "Name of the interface"; + } + } + } + } + } + } + uses INTERFACE-TABLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-qos-mibs-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-qos-mibs-cfg.yang new file mode 100644 index 000000000..a4c0cdac3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-qos-mibs-cfg.yang @@ -0,0 +1,95 @@ +module Cisco-IOS-XR-qos-mibs-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-qos-mibs-cfg"; + prefix qos-mibs-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR qos-mibs package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container cb-qosmib { + description + "CBQoSMIB configuration"; + container cache { + description + "CBQoSMIB statistics data caching"; + leaf enable { + type empty; + description + "Enable CBQoSMIB statistics data caching"; + } + leaf refresh-time { + type uint32 { + range "5..60"; + } + units "second"; + description + "Cache refresh time in seconds"; + } + leaf service-policy-count { + type uint32 { + range "1..5000"; + } + description + "Maximum number of service policies to cache + the statistics for"; + } + } + leaf member-interface-stats { + type empty; + description + "Enable bundle member interface statistics + retrieval."; + } + leaf persist { + type empty; + description + "Persist CBQoSMIB config, service-policy and + object indices"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-remote-attestation-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-remote-attestation-act.yang new file mode 100644 index 000000000..94784deee --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-remote-attestation-act.yang @@ -0,0 +1,859 @@ +module Cisco-IOS-XR-remote-attestation-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-remote-attestation-act"; + prefix sb-attest; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 West Tasman Drive + San Jose, CA 95134 + Tel: +1 800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "This module defines procedure for remote attestation + of a network platform''s security posture. + This is useful to assess trustworthiness of + hardware and software of a network device. + + Copyright (c) 2017 IETF Trust and the persons identified + as authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with + or without modification, is permitted pursuant to, and + subject to the license terms contained in, the Simplified + BSD License set forth in Section 4.c of the IETF Trust''s + Legal Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC VVVV; see + the RFC itself for full legal notices."; + + revision 2021-03-18 { + description + "Added attestation-results container and set-rpc for the same"; + semver:module-version "1.3.0"; + } + revision 2020-09-26 { + description + "Added IMA Audit log support"; + semver:module-version "1.2.0"; + } + revision 2020-07-10 { + description + "Added xr-task so that Limited access user should not configure + router using this model"; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-08 { + description + "Adding Hardware integrity RPC"; + } + revision 2017-06-08 { + description + "Initial revision."; + } + + grouping PCR-DUMP { + description + "Defines TPM PCR register"; + leaf index { + type uint16; + description + "PCR index"; + } + leaf value { + type binary { + length "20..64"; + } + description + "PCR register content"; + } + } + + grouping hardware-unique-id-digest { + description + "Defines hardware unique id digests"; + leaf index { + type uint16; + description + "Index of the harware digest"; + } + leaf value { + type binary { + length "20..64"; + } + description + "Hardware unique ID digest"; + } + } + + grouping BOOT-EVENT-LOG { + description + "Defines an event log corresponding to the event that extended the PCR"; + leaf event-number { + type uint32; + description + "Unique event number of this event"; + } + leaf event-type { + type uint32; + description + "log event type"; + } + leaf pcr-index { + type uint16; + description + "Defines the PCR index that this event extended"; + } + list digest-list { + key "digest-hash-algorithm"; + description + "Hash of event data"; + leaf digest-hash-algorithm { + type enumeration { + enum "SHA1" { + value 0; + description + "SHA1 Hash Algorithm"; + } + enum "SHA256" { + value 1; + description + "SHA1 Hash Algorithm"; + } + enum "SHA384" { + value 2; + description + "SHA384 Hash Algorithm"; + } + enum "SHA512" { + value 3; + description + "SHA512 Hash Algorithm"; + } + } + description + "Algorithm for this digest"; + } + leaf digest { + type binary; + description + "The hash of the event data"; + } + } + leaf event-size { + type uint32; + description + "Size of the event data"; + } + leaf event-data { + type binary; + description + "the event data size determined by event-size"; + } + } + + grouping IMA-EVENT { + description + "Defines an hash log extend event for IMA measurements"; + leaf event-number { + type uint64; + description + "Unique number for this event for sequencing"; + } + leaf ima-template { + type string; + description + "Name of the template used for event + for e.g. ima, ima-ng"; + } + leaf filename-hint { + type string; + description + "File that was measured"; + } + leaf filedata-hash { + type binary; + description + "Hash of filedata"; + } + leaf template-hash-algorithm { + type string; + description + "Algorithm used for template-hash"; + } + leaf template-hash { + type binary; + description + " hash(filedata-hash, filename-hint)"; + } + leaf pcr-index { + type uint16; + description + "Defines the PCR index that this event extended"; + } + leaf signature { + type binary; + description + "The file signature"; + } + } + + grouping IMA-AUDIT { + description + "Defines a model to display audit event details"; + leaf filename { + type string; + description + "file name of the file that was appraised"; + } + leaf timestamp { + type string; + description + "timestamp of violation"; + } + leaf type { + type string; + description + "Type of data being appraised"; + } + leaf pid { + type uint64; + description + "Process ID"; + } + leaf calling_process { + type string; + description + "calling Process"; + } + leaf subject { + type string; + description + "SELinux file context label"; + } + leaf cause { + type string; + description + "Reason for integrity verification failure + (invalid-signature, invalid-hash, missing-hash)"; + } + } + + grouping system-certificates { + description + "System Certificates"; + container get-certificate-response { + description + "Get Certificate Response"; + list system-certificates { + key "node-location"; + description + "Certificate data of a node in a distributed system + identified by the location"; + leaf node-location { + type string; + description + "Location of the node in the distributed system"; + } + leaf nonce { + type binary { + length "0..64"; + } + description + "Nonce used for this output"; + } + container certificates { + description + "Certificates chain associated with the certificate + being queried"; + list certificate { + key "name"; + description + "A X.509 certificate"; + leaf name { + type string; + description + "A node-unique certificate identifier"; + } + leaf value { + type binary; + description + "Certificate content in DER format."; + } + } + } + leaf signature_version { + type uint32; + description + "Signature version designates + the format of the signed data."; + } + leaf signature { + type binary; + description + "The optional RSA or ECDSA signature across + the certificates,the signature version and + the input nonce.Signed data format is: + Nonce || UINT32 signature version || + [Certificate included in the response in DER format]."; + } + } + } + } + + grouping platform-config-registers { + description + "Platform Config Registers"; + container platform-config-registers { + description + "Attested Platform Config Register values"; + leaf nonce { + type binary { + length "0..64"; + } + description + "Nonce used for this output"; + } + list node-data { + key "tpm-name"; + description + "Certificate data of a node in a distributed system + identified by the location"; + leaf tpm-name { + type string; + description + "TPM name in the distributed system that has recorded and reporting this measurement"; + } + leaf node-location { + type string; + description + "Location of the node in the distributed system that is accessing TPM associated with this measurements"; + } + leaf up-time { + type uint32; + description + "Uptime in seconds of this node reporting its data"; + } + list PCR { + key "index"; + description + "List of requested PCR contents"; + uses PCR-DUMP; + } + leaf pcr-quote { + type binary; + description + "TPM PCR Quote"; + } + leaf pcr-quote-signature { + type binary; + description + "PCR Quote signature using TPM-held + ECC or RSA restricted key"; + } + } + } + } + + grouping system-boot-integrity { + description + "System Boot Integrity"; + container system-boot-integrity { + description + "Boot integrity event logs"; + list node-data { + key "node-location"; + description + "Boot integrity event logs of a node in a distributed system + identified by the location"; + leaf node-location { + type string; + description + "Location of the node in the distributed system"; + } + leaf up-time { + type uint32; + description + "Uptime in seconds of this node reporting its data"; + } + list event_log { + key "event-number"; + description + "Ordered list of TCG described event log + that extended the PCRs in the order they + were logged"; + uses BOOT-EVENT-LOG; + } + } + } + } + + grouping system-ima { + description + "System IMA"; + container system-ima { + description + "Runtime integrity measurement event logs"; + list node-data { + key "node-location"; + description + "IMA event logs of a node in a distributed system + identified by the location"; + leaf node-location { + type string; + description + "Location of the node in the distributed system"; + } + leaf up-time { + type uint32; + description + "Uptime in seconds of this node reporting its data"; + } + leaf start-time { + type string; + description + "start time in asctime format of this node reporting its data"; + } + list ima-event-log { + key "event-number"; + description + "Ordered list of ima event logs by event-number"; + uses IMA-EVENT; + } + } + } + } + + grouping ima-audit-logs { + description + "System IMA Audit Logs"; + container ima-audit-logs { + description + "Audit logs generated from IMA appraisal"; + list node-data { + key "node-location"; + description + "IMA audit event logs of a node in a distributed system + identified by the location"; + leaf node-location { + type string; + description + "Location of the node in the distributed system"; + } + leaf up-time { + type uint32; + description + "Uptime in seconds of this node reporting its data"; + } + leaf start-time { + type string; + description + "Start time of the node in asctime format"; + } + list audit-event-log { + key "filename"; + description + "Ordered list of audit-event logs"; + uses IMA-AUDIT; + } + } + } + } + + grouping hardware-integrity { + description + "Hardware Integrity"; + container hardware-integrity { + description + "Hardware component unique ID digests of the system"; + list hardware-integrity-measurements { + key "tpm-name"; + description + "hardware integrity measurement data of a node in a distributed system"; + leaf tpm-name { + type string; + description + "TPM name in the distributed system that recorded the hardware integrity"; + } + leaf location { + type string; + description + "Node location that is accessing TPM associated with this measurements"; + } + leaf up-time { + type uint32; + description + "Uptime in seconds of this node reporting its data"; + } + list known-good-digest { + key "index"; + description + "List of Digests of Known Good Values of hardware component unique IDs"; + uses hardware-unique-id-digest; + } + list observed-digest { + key "index"; + description + "List of Digests of Observed Values of hardware component unique IDs"; + uses hardware-unique-id-digest; + } + list PCR { + key "index"; + description + "List of PCR contents that were extended for hardware integrity measurements"; + uses PCR-DUMP; + } + leaf pcr-quote { + type binary; + description + "TPM PCR Quote"; + } + leaf attestation-certificate-identifier { + type string; + description + "Identifier of the certificate used for signing PCR"; + } + leaf pcr-quote-signature-format { + type enumeration { + enum "TPM2" { + value 0; + description + "TMP2 format of the pcr-quote-signature"; + } + enum "CISCO" { + value 1; + description + "Cisco format of the pcr-quote-signature"; + } + } + description + "Format of the pcr-quote-signature"; + } + leaf pcr-quote-signature { + type binary; + description + "PCR Quote signature using TPM-held + ECC or RSA restricted key"; + } + } + } + } + + grouping attestation-results { + description + "Attestation results"; + container attestation-results { + description + "Per-node attestation results"; + list node-data { + leaf node-location { + type string; + mandatory true; + description + "Location of the node in the distributed system"; + } + leaf result-encode-type { + type enumeration { + enum "cbor" { + value 1; + description + "CBOR RFC: https://tools.ietf.org/html/rfc7049"; + } + } + mandatory true; + } + leaf result { + type binary; + mandatory true; + description + "The data is encoded in the sequence of objects as defined by the + attestation-results-data group present in the following CDDL file: + https://wwwin-github.cisco.com/agautham/TPR/blob/master/models/cddl/flat.cddl"; + } + leaf verifier-signature { + type binary; + mandatory true; + description + "Signature of the Verifier across the above blob of encoded data"; + } + } + } + } + + rpc get-certificate { + description + "Query certificate. + Returns certificate chain + associated with the queried certificate. + An optional nonce can be provided, that is then used to + return a signature over the certificate contents returned."; + input { + leaf nonce { + type binary { + length "0..64"; + } + description + "Nonce to be included in the attested output + to prevent replay attacks"; + } + leaf certificate-identifier { + type string; + description + "Certificate identifier"; + } + leaf location { + type string; + description + "In a distributed system get the data from a specific node + identified by the location. If this field is not specified + data associated with each node forming the system will be + returned."; + } + } + output { + uses system-certificates; + } + } + rpc attest-platform-config-registers { + description + "Attest Platform Configuration Register(PCRs)"; + input { + leaf-list pcr-index { + type uint16; + min-elements 1; + description + "PCR register indices to be included in the attested output"; + } + leaf nonce { + type binary { + length "0..64"; + } + description + "Nonce to be included in the attested output + to prevent replay attacks"; + } + leaf attestation-certificate-identifier { + type string; + description + "Identifier of the certificate to be used for attestation"; + } + leaf location { + type string; + description + "In a distributed system get the data from a specific node + identified by the location. If this field is not specified + data associated with each node forming the system will be + returned."; + } + } + output { + uses platform-config-registers; + } + } + rpc get-platform-boot-integrity-event-logs { + description + "Get platform's boot integrity"; + input { + leaf location { + type string; + description + "In a distributed system get the data from a specific node + identified by the location. If this field is not specified + data associated with each node forming the system will be + returned."; + } + leaf start-event-number { + type uint64; + description + "To filter event logs to be retrieved. + - If set only events with sequence number + greater than that specified in this argument + will be returned."; + } + leaf end-event-number { + type uint64; + must "current() >= ../start-event-number" { + description + "end-event-number must be used with and be greater than or + equal to "; + } + description + "To control event logs to be retrieved. + - If set only events with sequence number + in the range of start-event-number to end-event-number + will be returned."; + } + } + output { + uses system-boot-integrity; + } + } + rpc get-platform-ima-event-logs { + description + "Get platform IMA event logs"; + input { + leaf location { + type string; + description + "In a distributed system get the data from a specific node + identified by the location. If this field is not specified + data associated with each node forming the system will be + returned."; + } + leaf start-event-number { + type uint64; + description + "To filter event logs to be retrieved. + - If set only events with sequence number + greater than that specified in this argument + will be returned."; + } + leaf end-event-number { + type uint64; + must "current() >= ../start-event-number" { + description + "end-event-number must be used with and be greater than or + equal to "; + } + description + "To control event logs to be retrieved. + - If set only events with sequence number + in the range of start-event-number to end-event-number + will be returned."; + } + } + output { + uses system-ima; + } + } + rpc get-platform-ima-audit-event-logs { + description + "Get platform IMA Audit event logs"; + input { + leaf location { + type string; + description + "In a distributed system get the data from a specific node + identified by the location. If this field is not specified + data associated with each node forming the system will be + returned."; + } + } + output { + uses ima-audit-logs; + } + } + rpc get-platform-hardware-integrity-measurements { + description + "Get platform's hardware integrity measurements"; + input { + leaf nonce { + type binary { + length "0..64"; + } + description + "Nonce to be included in the attested output + to prevent replay attacks"; + } + leaf digest-hash-algorithm { + type enumeration { + enum "SHA1" { + value 0; + description + "SHA1 Hash Algorithm"; + } + enum "SHA256" { + value 1; + description + "SHA256 Hash Algorithm"; + } + enum "SHA384" { + value 2; + description + "SHA384 Hash Algorithm"; + } + enum "SHA512" { + value 3; + description + "SHA512 Hash Algorithm"; + } + } + description + "Algorithm for the digest of hardware unique IDs"; + } + leaf location { + type string; + description + "In a distributed system get the data from a specific node + identified by the location. If this field is not specified + data associated with each node forming the system will be + returned. A node may have multiple TPMs. This will return measurements from all TPMs"; + } + } + output { + uses hardware-integrity; + } + } + rpc set-attestation-results { + description + "Used by the Verifier to push the attestation-results of an Attestee"; + input { + uses attestation-results; + } + } + notification hardware-intergrity-failure { + description + "Notifies failure of hardware integrity check"; + leaf system-identifier { + type string; + description + "System identifier"; + } + } + notification boot-integrity-failure { + description + "Notifies failure of boot integrity checks at + any stage of boot"; + leaf system-identifier { + type string; + description + "System identifier"; + } + } + notification runtime-integrity-failure { + description + "Notifies failure of runtime integrity checks"; + leaf system-identifier { + type string; + description + "System identifier"; + } + leaf filename-hint { + type string; + description + "File that was appraised and failed integrity checks"; + } + leaf filedata-hash { + type binary; + description + "Hash of filedata that failed IMA appraisal"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-cfg.yang new file mode 100644 index 000000000..d527551f8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-cfg.yang @@ -0,0 +1,201 @@ +module Cisco-IOS-XR-rgmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-rgmgr-cfg"; + prefix rgmgr-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR rgmgr package configuration. + + This module contains definitions + for the following management objects: + redundancy-group-manager: Redundancy Group Manager + Configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-08-01 { + description + "Adding CCV support"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Iccp-mode { + type enumeration { + enum "singleton" { + value 1; + description + "Run the ICCP group in Singleton mode"; + } + } + description + "Iccp mode"; + } + + container redundancy-group-manager { + description + "Redundancy Group Manager Configuration"; + container aps { + description + "MR-APS groups"; + container default-redundancy-group { + description + "Default SONET controller backup configuration"; + leaf next-hop-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of remote peer"; + } + leaf backup-interface-name { + type xr:Interface-name; + description + "Backup interface name"; + } + } + container groups { + description + "Redundancy Group Table"; + list group { + key "group-id"; + description + "Redundancy Group Configuration"; + container controllers { + description + "Controller configuration"; + list controller { + key "controller-name"; + description + "none"; + leaf controller-name { + type xr:Interface-name; + description + "Controller Name"; + } + leaf next-hop-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of remote peer"; + } + leaf backup-interface-name { + type xr:Interface-name; + description + "Backup interface name"; + } + } + } + leaf group-id { + type uint32 { + range "1..32"; + } + description + "The redundancy group ID"; + } + } + } + } + container iccp { + description + "ICCP configuration"; + container iccp-groups { + description + "Redundancy Group Table Configuration"; + list iccp-group { + key "group-number"; + description + "Redundancy Group Configuration"; + container backbones { + description + "ICCP backbone configuration"; + list backbone { + key "backbone-name"; + description + "ICCP backbone interface configuration"; + leaf backbone-name { + type xr:Interface-name; + description + "none"; + } + } + } + container members { + description + "ICCP member configuration"; + list member { + key "neighbor-address"; + description + "ICCP member configuration"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor IP address"; + } + } + } + leaf isolation-recovery-delay { + type uint32 { + range "30..600"; + } + units "second"; + description + "ICCP isolation recovery delay"; + } + leaf mode { + type Iccp-mode; + description + "ICCP mode"; + } + leaf group-number { + type uint32 { + range "1..4294967295"; + } + description + "The redundancy icc group number"; + } + } + } + } + leaf enable { + type empty; + description + "Enable redundancy group manager"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper-sub1.yang new file mode 100644 index 000000000..be66287f3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper-sub1.yang @@ -0,0 +1,97 @@ +submodule Cisco-IOS-XR-rgmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-rgmgr-oper { + prefix Cisco-IOS-XR-rgmgr-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR rgmgr package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping RGMGR-RED-GRP { + description + "RGMGR RED GRP"; + leaf multi-router-aps-group-number { + type string { + length "0..80"; + } + description + "Configured interchassis redundancy group number"; + } + leaf controller-name-xr { + type string { + length "0..80"; + } + description + "Name of controller being backed up"; + } + leaf controller-handle { + type xr:Interface-name; + description + "Handle of controller being backed up"; + } + leaf backup-interface-name { + type string { + length "0..80"; + } + description + "Backup interface name"; + } + leaf backup-interface-handle { + type xr:Interface-name; + description + "Backup interface handle"; + } + leaf backup-interface-next-hop-ip-address { + type inet:ipv4-address; + description + "Backup interface next hop IP address"; + } + leaf inter-chassis-group-state { + type string { + length "0..80"; + } + description + "Configured interchassis redundancy group state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper.yang new file mode 100644 index 000000000..d2cc21b68 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-rgmgr-oper.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XR-rgmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-rgmgr-oper"; + prefix rgmgr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-rgmgr-oper-sub1 { + revision-date 2021-12-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR rgmgr package operational data. + + This module contains definitions + for the following management objects: + redundancy-group-manager: Redundancy group manager operational + data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container redundancy-group-manager { + config false; + description + "Redundancy group manager operational data"; + container controllers { + description + "Redundancy group manager data"; + list controller { + key "controller-name"; + description + "Display redundancy group by controller name"; + leaf controller-name { + type xr:Interface-name; + description + "Controller name"; + } + uses RGMGR-RED-GRP; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper-sub1.yang new file mode 100644 index 000000000..d9407b9f9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper-sub1.yang @@ -0,0 +1,1290 @@ +submodule Cisco-IOS-XR-rsi-agent-oper-sub1 { + belongs-to Cisco-IOS-XR-rsi-agent-oper { + prefix Cisco-IOS-XR-rsi-agent-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR rsi-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-18 { + description + "Fixed range for producer name"; + semver:module-version "2.1.0"; + } + revision 2019-08-14 { + description + "Fixing yang oper coverage"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-13 { + description + "Fixing yang oper coverage."; + } + revision 2018-11-26 { + description + "Fixing yang usability issues."; + } + revision 2018-01-24 { + description + "Fixed datatype issues"; + } + revision 2018-01-11 { + description + "Add rsip node into schema."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ra-edm-tbl-attr { + type enumeration { + enum "ra-edm-tbl-attr-flow-spec" { + value 0; + description + "Flowspec"; + } + enum "ra-edm-tbl-attr-max" { + value 1; + description + "None"; + } + } + description + "Attribute type"; + } + + typedef Rsi-vr-id { + type uint32; + description + "Rsi vr id"; + } + + typedef Rsi-vrf-id { + type uint32; + description + "Rsi vrf id"; + } + + typedef Rsi-safi { + type enumeration { + enum "mgmt-rsi-safi-ucast" { + value 1; + description + "Unicast"; + } + enum "mgmt-rsi-safi-mcast" { + value 2; + description + "Multicast"; + } + enum "mgmt-rsi-safi-flow-spec" { + value 133; + description + "Flowspec"; + } + enum "mgmt-rsi-safi-bier" { + value 241; + description + "Bier"; + } + } + description + "RSI SAFI type"; + } + + typedef Rsi-afi { + type enumeration { + enum "mgmt-rsi-afi-ipv4" { + value 1; + description + "IPv4"; + } + enum "mgmt-rsi-afi-ipv6" { + value 2; + description + "IPv6"; + } + } + description + "RSI AFI type"; + } + + typedef Rsi-tbl-id { + type uint32; + description + "Rsi tbl id"; + } + + typedef Rsi-role-type-et { + type enumeration { + enum "role-type-invalid" { + value 0; + description + "Invalid Role"; + } + enum "role-type-standard" { + value 1; + description + "Operating in Standard Role"; + } + enum "role-type-core" { + value 2; + description + "Operating in Core Role"; + } + enum "role-type-cust" { + value 3; + description + "Operating in Customer Role"; + } + enum "role-type-no-interest" { + value 4; + description + "Operating in not-interested Role"; + } + enum "role-type-vpn-only-cust" { + value 5; + description + "Operating in VPN Only Customer Role"; + } + } + description + "Role type"; + } + + grouping RA-NOTIF-REG-BY-INTF { + description + "Registrations for RSI agent notification by + Interface"; + leaf mdb-type { + type uint32; + description + "Type of MDB"; + } + leaf reg-hd { + type uint64; + description + "HD registered"; + } + leaf num-notifs-dispatched { + type uint32; + description + "Notifications dispatched"; + } + leaf ifname { + type string; + description + "Interface name"; + } + leaf ifhandle { + type xr:Interface-name; + description + "Interface handle"; + } + leaf address-family-indicator-filter { + type uint32; + description + "AFI filter"; + } + leaf subsequent-address-family-indicator-filter { + type uint32; + description + "SAFI filter"; + } + leaf table-name { + type string; + description + "Name of table"; + } + leaf global { + type boolean; + description + "Global interface"; + } + leaf reg-flags { + type uint32; + description + "Registration flags"; + } + } + + grouping RA-NOTIF-REG-BY-TBL { + description + "Registrations for RSI agent notification by Table"; + leaf mdb-type { + type uint32; + description + "Type of MDB"; + } + leaf reg-hd { + type uint64; + description + "HD registered"; + } + leaf num-notifs-dispatched { + type uint32; + description + "Notifications dispatched"; + } + leaf table-name { + type string; + description + "Name of table"; + } + leaf table-id { + type Rsi-tbl-id; + description + "Identification of table"; + } + } + + grouping RA-NOTIF-REG-BY-VPN { + description + "Registrations for RSI agent notification by VPN"; + container vpn-id { + description + "Identification of VPN"; + uses RSI-VPNID; + } + leaf mdb-type { + type uint32; + description + "Type of MDB"; + } + leaf reg-hd { + type uint64; + description + "HD registered"; + } + leaf num-notifs-dispatched { + type uint32; + description + "Notifications dispatched"; + } + } + + grouping RA-NOTIF-REG-BY-VRF { + description + "Registrations for RSI agent notification by VRF"; + leaf mdb-type { + type uint32; + description + "Type of MDB"; + } + leaf reg-hd { + type uint64; + description + "HD registered"; + } + leaf num-notifs-dispatched { + type uint32; + description + "Notifications dispatched"; + } + leaf vrf-name { + type string; + description + "Name of VRF"; + } + leaf vrf-id { + type uint32; + description + "Identification of VRF"; + } + } + + grouping RA-NOTIF-REG-BY-VR { + description + "Registrations for RSI agent notification by VR"; + leaf mdb-type { + type uint32; + description + "Type of MDB"; + } + leaf reg-hd { + type uint64; + description + "HD registered"; + } + leaf num-notifs-dispatched { + type uint32; + description + "Notifications dispatched"; + } + leaf vr-name { + type string; + description + "Name of VR"; + } + leaf vr-id { + type uint32; + description + "Identification of VR"; + } + leaf flags { + type uint32; + description + "VR flags"; + } + } + + grouping RA-NOTIF-REG-BY-STATE { + description + "Registrations for RSI agent notification by state"; + leaf mdb-type { + type uint32; + description + "Type of MDB"; + } + leaf reg-hd { + type uint64; + description + "HD registered"; + } + leaf num-notifs-dispatched { + type uint32; + description + "Notifications dispatched"; + } + leaf state-id { + type uint64; + description + "State Identification"; + } + } + + grouping RA-NOTIF-REG-ALL { + description + "All registrations for RSI agent notification"; + leaf mdb-type { + type uint32; + description + "Type of MDB"; + } + leaf reg-hd { + type uint64; + description + "HD registered"; + } + leaf num-notifs-dispatched { + type uint32; + description + "Notifications dispatched"; + } + leaf flags { + type uint32; + description + "Notification flags"; + } + } + + grouping RSI-AGENT-CLIENT { + description + "Client for RSI agent"; + leaf name { + type string; + description + "Client Name"; + } + leaf client-ptr { + type uint64; + description + "Pointer to client"; + } + leaf client-type { + type uint32; + description + "Type of client"; + } + leaf zombied { + type boolean; + description + "Zombie flag"; + } + leaf mdbs-processed { + type uint32; + description + "MDBS state"; + } + leaf msgs-received { + type uint32; + description + "Message count"; + } + leaf num-lookups-done { + type uint32; + description + "Total lookups"; + } + leaf num-failed-lookups { + type uint32; + description + "Lookups failed"; + } + leaf num-failed-regs { + type uint32; + description + "Registrations failed"; + } + leaf num-auto-purges { + type uint32; + description + "Purge count"; + } + leaf num-small-reply-buf { + type uint32; + description + "Reply buffer count"; + } + leaf proc-name { + type string; + description + ""; + } + leaf pid { + type uint32; + description + "Process ID"; + } + leaf scoid { + type int32; + description + "Server Connection ID"; + } + leaf coid { + type int32; + description + "Connection ID"; + } + leaf up-time-secs { + type uint32; + description + "connected time in sec"; + } + leaf zombie-secs { + type uint32; + description + "Zombie for sec"; + } + leaf last-rx-msg-type { + type uint32; + description + "RX message type"; + } + leaf pulse-count { + type uint32; + description + "Number of pulse"; + } + leaf async-q-size { + type uint32; + description + "Size of asynchronous queue"; + } + leaf async-q-size-max { + type uint32; + description + "Max size of asynchronous queue"; + } + leaf sync-items-returned { + type uint32; + description + "Items returned Synchronously"; + } + leaf async-items-returned { + type uint32; + description + "Items returned Asynchronously"; + } + leaf batch-enabled { + type boolean; + description + "Batch enable flag"; + } + leaf batch-size { + type uint32; + description + "Size of batch"; + } + leaf num-active-regs { + type uint32; + description + "Active registrations count"; + } + leaf num-owned-objs-tdl { + type uint32; + description + "TDLs owned by producer client"; + } + list by-all { + description + "Notif registration by all"; + uses RA-NOTIF-REG-ALL; + } + list by-state { + description + "Notif registration by state"; + uses RA-NOTIF-REG-BY-STATE; + } + list by-vr { + description + "Notif registration by VR"; + uses RA-NOTIF-REG-BY-VR; + } + list by-vrf { + description + "Notif registration by VRF"; + uses RA-NOTIF-REG-BY-VRF; + } + list by-vpn { + description + "Notif registration by VPN"; + uses RA-NOTIF-REG-BY-VPN; + } + list by-table { + description + "Notif registration by table"; + uses RA-NOTIF-REG-BY-TBL; + } + list by-intf { + description + "Notif registration by interface"; + uses RA-NOTIF-REG-BY-INTF; + } + list local-table-buf { + description + "LTBLs owned by producer client"; + leaf entry { + type Rsi-tbl-id; + description + "LTBLs owned by producer client"; + } + } + } + + grouping RSI-AGENT-STATE { + description + "State for RSI agent"; + leaf state-id { + type uint32; + description + "Agent state ID"; + } + leaf state-val { + type uint32; + description + "Agent state value"; + } + leaf svd-is-enabled { + type uint32; + description + "SVD state"; + } + leaf intf-caps-v4-count { + type uint32; + description + "IPV4 caps count for Interface"; + } + leaf intf-caps-v6-count { + type uint32; + description + "IPV6 caps count for Interface"; + } + leaf vrf-intf-caps-v4-count { + type uint32; + description + "IPV4 caps count for Interface VRF"; + } + leaf vrf-intf-caps-v6-count { + type uint32; + description + "IPV6 caps count for Interface VRF"; + } + list state-ctx { + description + "Context for state"; + leaf entry { + type uint32; + description + "Context for state"; + } + } + } + + grouping RSI-AGENT-TBL-REF { + description + "Table reference for RSI agent"; + leaf vrf-table-id { + type uint32; + description + "VRF Table Index"; + } + leaf address-family-indicator { + type Rsi-afi; + description + "AFI"; + } + leaf subsequent-address-family-indicator { + type Rsi-safi; + description + "SAFI"; + } + leaf table-name { + type string; + description + "Table Name"; + } + } + + grouping RSI-VPNID { + description + "VPN ID for RSI"; + leaf oui { + type uint32; + description + "VPNID OUI"; + } + leaf index { + type uint32; + description + "VPNID Index"; + } + } + + grouping RSI-AGENT-VRF { + description + "VRF for RSI agent"; + container vpn-id { + description + "VPN ID"; + uses RSI-VPNID; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf vr-id { + type uint32; + description + "VR ID"; + } + leaf submode-flag { + type uint32; + description + "Sub_mode Flag"; + } + leaf fallback-vrf-name { + type string; + description + "Fallback VRF_Name"; + } + leaf vr-name { + type string; + description + "VR Name"; + } + leaf refcount { + type int32; + description + "Reference count"; + } + leaf intf-count-local { + type int32; + description + "Locally significant Intf Count"; + } + leaf intf-count-global { + type int32; + description + "Total Interfaces"; + } + leaf num-real-tbls { + type int32; + description + "Tbl Count"; + } + leaf num-fwd-ref-tbls { + type int32; + description + "Fwd Ref Tbl Count"; + } + leaf vrf-by-vrf-id-regs { + type int32; + description + "vrf by vrf id registration count"; + } + leaf vrf-by-vrf-name-regs { + type int32; + description + "vrf by vrf name registration count"; + } + leaf table-by-vrf-regs { + type int32; + description + "table by vrf registration count"; + } + leaf table-by-vrf-name-regs { + type int32; + description + "table by vrf name registration count"; + } + leaf vrf-flags { + type uint32; + description + "VRF Flags"; + } + leaf intf-cnt-local { + type uint32; + description + "Local Intf Count"; + } + leaf vrf-groups { + type uint32; + description + "Number of VRF groups"; + } + leaf parentvrf-cnt { + type uint32; + description + "Number of parent VRF"; + } + list table-array { + description + "Array of tables in VRF"; + uses RSI-AGENT-TBL-REF; + } + } + + grouping RSI-AGENT-TBL-ATTR { + description + "RSI AGENT TBL ATTR"; + leaf flags { + type uint32; + description + "Attribute flags"; + } + leaf type { + type Ra-edm-tbl-attr; + description + "Attribute type"; + } + leaf length { + type uint32; + description + "Attribute data length"; + } + leaf data { + type uint64; + description + "Attribute data"; + } + } + + grouping RSI-AGENT-TBL { + description + "RSI AGENT TBL"; + leaf tbl-name { + type string; + description + "Table Name"; + } + leaf tbl-id { + type Rsi-tbl-id; + description + "Table ID"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vr-id { + type uint32; + description + "VR ID"; + } + leaf vr-name { + type string; + description + "VR Name"; + } + leaf afi { + type Rsi-afi; + description + "AFI"; + } + leaf safi { + type Rsi-safi; + description + "SAFI"; + } + leaf refcount { + type int32; + description + "Reference Count"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf lst-flags { + type uint32; + description + "LST Flags"; + } + leaf tbl-by-tbl-id-regs { + type int32; + description + "Table Reg by Table ID"; + } + leaf vrf-tbl-idx { + type uint32; + description + "VRF Table Index"; + } + leaf tcm-idx { + type uint32; + description + "TCM Index"; + } + list attr { + description + "Table attribute inforamtion"; + uses RSI-AGENT-TBL-ATTR; + } + } + + grouping RSI-AGENT-TDL-INFO { + description + "RSI AGENT TDL INFO"; + leaf tbl-id { + type Rsi-tbl-id; + description + "Table ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf tdl-type { + type uint32; + description + "TDL Type"; + } + leaf owner-ctx { + type uint64; + description + "Owner Context"; + } + } + + grouping RSI-AGENT-TBL-TDL { + description + "RSI AGENT TBL TDL"; + container dependant { + description + "Dependant Table"; + uses RSI-AGENT-TBL-INFO; + } + leaf num-tdl { + type uint32; + description + "Num TDL in Array"; + } + list tdl-array { + description + "TDL Array"; + uses RSI-AGENT-TDL-INFO; + } + } + + grouping RSI-AGENT-INTF { + description + "RSI agent interface"; + leaf ifhandle { + type xr:Interface-name; + description + "Interface by handle"; + } + leaf ifname { + type string; + description + "Name of the interface"; + } + leaf vrf-id { + type Rsi-vrf-id; + description + "VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vr-id { + type Rsi-vr-id; + description + "VR ID"; + } + leaf vr-name { + type string; + description + "VR Name"; + } + leaf is-virtual { + type boolean; + description + "Virtual"; + } + leaf is-local { + type boolean; + description + "Local"; + } + leaf is-licensed { + type boolean; + description + "Licensed"; + } + leaf flags { + type uint32; + description + "Flag value"; + } + leaf refcount { + type int32; + description + "Reference count"; + } + leaf intf-by-ifh-regs { + type int32; + description + "Registered Interface by ifhandle"; + } + leaf interface-table-by-ifh { + type int32; + description + "Registered Table by interface handle"; + } + list ra-table-set { + description + "RSI agent tables"; + leaf entry { + type uint8; + description + "RSI agent tables"; + } + } + } + + grouping RSI-AGENT-REQ-DEP-TBL-INFO { + description + "RSI AGENT REQ DEP TBL INFO"; + leaf tbl-name { + type string; + description + "Table Name"; + } + leaf tbl-id { + type Rsi-tbl-id; + description + "Table ID"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf lst-flags { + type uint32; + description + "LST Flags"; + } + } + + grouping RSI-AGENT-TBL-INFO { + description + "RSI AGENT TBL INFO"; + leaf tbl-name { + type string; + description + "Table Name"; + } + leaf tbl-id { + type Rsi-tbl-id; + description + "Table ID"; + } + leaf vrf-id { + type uint32; + description + "VRF ID"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf vr-id { + type uint32; + description + "VR ID"; + } + leaf vr-name { + type string; + description + "VR Name"; + } + leaf afi { + type Rsi-afi; + description + "AFI"; + } + leaf safi { + type Rsi-safi; + description + "SAFI"; + } + } + + grouping RSI-AGENT-TBL-REQ-DEP { + description + "RSI AGENT TBL REQ DEP"; + container show-tbl { + description + "Show Table"; + uses RSI-AGENT-TBL-INFO; + } + list tbl-array { + description + "Depedent TBL Array"; + uses RSI-AGENT-REQ-DEP-TBL-INFO; + } + } + + grouping RSI-AGENT-PROD { + description + "RSI agent producer"; + leaf item-id { + type uint32; + description + "Item identification"; + } + leaf name { + type string; + description + "Producer name"; + } + leaf flags { + type uint32; + description + "Producer flags"; + } + leaf num-owned-objs-vr { + type uint32; + description + "Number Owned Objects VR"; + } + leaf num-owned-objs-vrf { + type uint32; + description + "Number Owned Objects VRF"; + } + leaf num-owned-objs-table { + type uint32; + description + "Number Owned Object Table"; + } + leaf num-owned-objs-intf { + type uint32; + description + "Number Owned Objects Interface"; + } + leaf num-owned-objs-tdl { + type uint32; + description + "Number Owned Objects TDL"; + } + leaf num-saved-msgs { + type uint32; + description + "Number Saved Messages"; + } + } + + grouping RA-ROLE { + description + "RA ROLE"; + leaf afi-role { + type Rsi-role-type-et; + description + "Address Family Identifier role"; + } + leaf time { + type uint64; + description + "Time of role change"; + } + leaf rolecalctype { + type uint32; + description + "Role calculated type"; + } + leaf eod { + type boolean; + description + "End of download status"; + } + } + + grouping RSI-AGENT-ROLE { + description + "RSI AGENT ROLE"; + container afi-v4-role { + description + "AFI v4 role"; + uses RA-ROLE; + } + container afi-v6-role { + description + "AFI v6 role"; + uses RA-ROLE; + } + leaf converged-v4 { + type uint32; + description + "Is v4 role converged"; + } + leaf converged-v6 { + type uint32; + description + "Is v6 role converged"; + } + leaf afi-v4-role-change-num { + type uint32; + description + "Num of Role change v4"; + } + leaf afi-v6-role-change-num { + type uint32; + description + "Num of Role change v6"; + } + list afi-v4-role-history { + description + "Role history v4"; + uses RA-ROLE; + } + list afi-v6-role-history { + description + "Role history v6"; + uses RA-ROLE; + } + } + + grouping RSI-AGENT-VR { + description + "VR for RSI agent"; + leaf vr-name-xr { + type string; + description + "VR Name"; + } + leaf vr-id { + type uint32; + description + "VR ID"; + } + leaf refcount { + type int32; + description + "Reference count"; + } + leaf num-real-vrfs { + type int32; + description + "Number of real vrfs"; + } + leaf num-fwd-ref-vrfs { + type int32; + description + "Fwd ref vrfs"; + } + leaf vr-by-vr-id-regs { + type int32; + description + "vr by vr id registrations"; + } + leaf vr-by-vr-name-regs { + type int32; + description + "vr by vr name registrations"; + } + leaf vrf-by-vr-regs { + type int32; + description + "vrf by vr registrations"; + } + leaf table-by-vr-regs { + type int32; + description + "table by vr registrations"; + } + leaf vrf-cnt-local { + type int32; + description + "vrf count"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper.yang new file mode 100644 index 000000000..b4a7805dd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-rsi-agent-oper.yang @@ -0,0 +1,480 @@ +module Cisco-IOS-XR-rsi-agent-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-rsi-agent-oper"; + prefix rsi-agent-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-rsi-agent-oper-sub1 { + revision-date 2020-12-18; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR rsi-agent package operational data. + + This module contains definitions + for the following management objects: + rsi-agent: RSI operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-18 { + description + "Fixed range for producer name"; + semver:module-version "2.1.0"; + } + revision 2019-08-14 { + description + "Fixing yang oper coverage"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-13 { + description + "Fixing yang oper coverage."; + } + revision 2018-11-26 { + description + "Fixing yang usability issues."; + } + revision 2018-01-24 { + description + "Fixed datatype issues"; + } + revision 2018-01-11 { + description + "Add rsip node into schema."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping VIRTUAL-ROUTING-FORWARDING-ID { + description + "Common node of virtual-router-id-info, + virtual-router-name-info"; + container virtual-routing-forwarding-id-infos { + description + "Virtual Routing and Forwarding ID"; + list virtual-routing-forwarding-id-info { + key "vrfid"; + description + "Virtual Router and Forwarding ID details"; + leaf vrfid { + type xr:Cisco-ios-xr-string; + description + "Virtual Router Forwarding ID"; + } + uses TABLE-NAME-DB-FILTER; + uses TABLE-ID-DB-FILTER; + uses INTERFACE-HANDLE-DB-TABLE; + uses GLOBAL-INTERFACE-HANDLE-DB-TABLE; + } + } + } + + grouping TABLE-NAME-DB-FILTER { + description + "Common node of virtual-routing-forwarding-id-info + , virtual-routing-forwarding-name-info"; + container table-name-db-filter-infos { + description + "Table Name database"; + list table-name-db-filter-info { + description + "Table name List"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "Table Name"; + } + leaf afi { + type uint32; + description + "Address Family Indicator"; + } + leaf safi { + type uint32; + description + "Subsequent Address Family Indicator"; + } + list table-name-db-filter-info-table { + description + "Table name details"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "Table Name"; + } + leaf afi { + type uint32; + description + "Address Family Indicator"; + } + leaf safi { + type uint32; + description + "Subsequent Address Family Indicator"; + } + uses RSI-AGENT-TBL-TDL; + } + } + } + } + + grouping VRF-NAME-TABLE { + description + "Common node of virtual-router-name-info, + virtual-router-id-info"; + container vrf-names { + description + "List of Virtual Router"; + list vrf-name { + key "name"; + description + "VRF details by name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "vrf name"; + } + uses RSI-AGENT-VRF; + } + } + } + + grouping VRFID-TABLE { + description + "Common node of node, virtual-router-name-info, + virtual-router-id-info"; + container vrfids { + description + "List of Virtual Router Forwarding ID"; + list vrfid { + key "id"; + description + "VRF details by ID"; + leaf id { + type xr:Cisco-ios-xr-string; + description + "vrf id"; + } + uses RSI-AGENT-VRF; + } + } + } + + grouping INTERFACE-HANDLE-DB-TABLE { + description + "Common node of node, + virtual-routing-forwarding-id-info, + virtual-routing-forwarding-name-info"; + container interfaces { + description + "Interface handle database"; + list interface { + key "interface"; + description + "Client details"; + leaf interface { + type xr:Interface-name; + description + "Unique Identifer for Interface"; + } + uses RSI-AGENT-INTF; + } + } + } + + grouping VIRTUAL-ROUTING-FORWARDING-NAME { + description + "Common node of virtual-router-id-info, + virtual-router-name-info"; + container virtual-routing-forwarding-name-infos { + description + "Virtual Routing and Forwarding Name"; + list virtual-routing-forwarding-name-info { + key "vrf-name"; + description + "Virtual Router and Forwarding Name details"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "Virtual Router Forwarding Name"; + } + uses TABLE-NAME-DB-FILTER; + uses TABLE-ID-DB-FILTER; + uses INTERFACE-HANDLE-DB-TABLE; + uses GLOBAL-INTERFACE-HANDLE-DB-TABLE; + } + } + } + + grouping TABLE-ID-DB-FILTER { + description + "Common node of node, + virtual-routing-forwarding-id-info, + virtual-routing-forwarding-name-info"; + container table-id-db-filter-infos { + description + "Table ID database"; + list table-id-db-filter-info { + description + "Table id filters"; + leaf table-name { + type xr:Cisco-ios-xr-string; + description + "Table Name"; + } + leaf afi { + type uint32; + description + "Address Family Indicator"; + } + leaf safi { + type uint32; + description + "Subsequent Address Family Indicator"; + } + list table-id-db-filter-info-table-id { + key "table-id"; + description + "Table id details"; + leaf table-id { + type uint32; + description + "Table ID"; + } + uses RSI-AGENT-TBL; + } + } + } + } + + grouping GLOBAL-INTERFACE-HANDLE-DB-TABLE { + description + "Common node of node, + virtual-routing-forwarding-id-info, + virtual-routing-forwarding-name-info"; + container global-interface-handles { + description + "Global Interface handle database"; + list global-interface-handle { + key "interface"; + description + "Interface handle details"; + leaf interface { + type xr:Interface-name; + description + "Unique Identifier for Interface"; + } + uses RSI-AGENT-INTF; + } + } + } + + container rsi-agent { + config false; + description + "RSI operational data"; + container nodes { + description + "Node operational data"; + list node { + key "node-name"; + description + "Node details"; + container virtual-routers { + description + "List of Virtual Router Name"; + list virtual-router { + key "vr-name"; + description + "Producer details"; + leaf vr-name { + type xr:Cisco-ios-xr-string; + description + "virtual router name"; + } + uses RSI-AGENT-VR; + } + } + container rsi-agent-role { + description + "RSI Agent role database"; + uses RSI-AGENT-ROLE; + } + container virtual-router-ids { + description + "List of Virtual Router"; + list virtual-router-id { + key "vrid"; + description + "Producer details"; + leaf vrid { + type xr:Cisco-ios-xr-string; + description + "virtual router ID"; + } + uses RSI-AGENT-VR; + } + } + container producers { + description + "List of Producers"; + list producer { + key "producer-name"; + description + "Producer details"; + leaf producer-name { + type uint32 { + range "0..4294967295"; + } + description + "producer name"; + } + uses RSI-AGENT-PROD; + } + } + container table-id-db-dependent-infos { + description + "Table ID Dependent database"; + list table-id-db-dependent-info { + key "table-id"; + description + "Table id details"; + leaf table-id { + type uint32; + description + "Table ID"; + } + uses RSI-AGENT-TBL-REQ-DEP; + } + } + container interface-names { + description + "Interface name database"; + list interface-name { + key "interface"; + description + "Interface name details"; + leaf interface { + type xr:Cisco-ios-xr-string; + description + "Name of the Interface"; + } + uses RSI-AGENT-INTF; + } + } + container virtual-router-name-infos { + description + "Virtual Router Name"; + list virtual-router-name-info { + key "vr-name"; + description + "Virtual Router Name details"; + leaf vr-name { + type xr:Cisco-ios-xr-string; + description + "Virtual Router Name"; + } + uses VIRTUAL-ROUTING-FORWARDING-ID; + uses VIRTUAL-ROUTING-FORWARDING-NAME; + uses VRF-NAME-TABLE; + uses VRFID-TABLE; + } + } + container state { + description + "SVD state details"; + uses RSI-AGENT-STATE; + } + container virtual-router-id-infos { + description + "Virtual Router ID"; + list virtual-router-id-info { + key "vrid"; + description + "Virtual Router ID details"; + leaf vrid { + type xr:Cisco-ios-xr-string; + description + "Virtual Router ID"; + } + uses VIRTUAL-ROUTING-FORWARDING-ID; + uses VIRTUAL-ROUTING-FORWARDING-NAME; + uses VRF-NAME-TABLE; + uses VRFID-TABLE; + } + } + container clients { + description + "RSI Clients table"; + list client { + key "client-name"; + description + "Client details"; + leaf client-name { + type xr:Cisco-ios-xr-string; + description + "Client name"; + } + uses RSI-AGENT-CLIENT; + } + } + container stale-producer-infos { + description + "RSI Stale Producer database"; + list stale-producer-info { + key "index"; + description + "Stale producer details"; + leaf index { + type uint32; + description + "Producer Index"; + } + uses RSI-AGENT-PROD; + } + } + leaf node-name { + type xr:Node-id; + description + "Node"; + } + uses TABLE-ID-DB-FILTER; + uses VRFID-TABLE; + uses INTERFACE-HANDLE-DB-TABLE; + uses GLOBAL-INTERFACE-HANDLE-DB-TABLE; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-cfg.yang new file mode 100644 index 000000000..ae792e60c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-cfg.yang @@ -0,0 +1,90 @@ +module Cisco-IOS-XR-sandbox-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sandbox-cfg"; + prefix sandbox-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sandbox package configuration. + + This module contains definitions + for the following management objects: + sandbox: System Health Check operational data space + + Copyright (c) 2013-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-01-12 { + description + "sandbox resource cap-add options configuration added"; + semver:module-version "1.0.0"; + } + revision 2022-12-13 { + description + "sandbox resource memory limit configuration added"; + } + revision 2022-07-08 { + description + "sandbox configuration added"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sandbox { + description + "System Health Check operational data space"; + container resources { + description + "SandBoxMgr resources"; + container limit { + description + "SandBoxMgr resources limits"; + leaf memory { + type uint32 { + range "1024..8192"; + } + default "4096"; + description + "set Sandbox containers memory limits"; + } + } + leaf cap-add-options { + type string { + length "1..255"; + } + description + "SandBoxMgr additional run options"; + } + } + container ordz { + description + "SandBoxMgr config"; + leaf enable { + type empty; + description + "Enable or disable container"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper-sub1.yang new file mode 100644 index 000000000..304f43440 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper-sub1.yang @@ -0,0 +1,168 @@ +submodule Cisco-IOS-XR-sandbox-oper-sub1 { + belongs-to Cisco-IOS-XR-sandbox-oper { + prefix Cisco-IOS-XR-sandbox-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR sandbox package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "sandbox show CLI added"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Config-state { + type enumeration { + enum "disabled" { + value 0; + description + "Sandbox disabled"; + } + enum "enabled" { + value 1; + description + "Sandbox enabled"; + } + enum "unknown" { + value 2; + description + "unknown"; + } + } + description + "Config state"; + } + + grouping SANDBOXMGR-SERVICES { + description + "SANDBOXMGR SERVICES"; + leaf output { + type string { + length "0..8000"; + } + description + "App Services"; + } + } + + grouping SANDBOXMGR-STATS-INTERNAL-INFO { + description + "Container Statistics"; + leaf cpu-percentage { + type string; + units "percentage"; + description + "CPU percentage"; + } + leaf memory-usage { + type string; + description + "Memory usage"; + } + leaf net-io { + type string; + description + "Net Io"; + } + leaf block-io { + type string; + description + "Block Io"; + } + leaf mem-percentage { + type string; + units "percentage"; + description + "Memory percentage"; + } + leaf pids { + type string; + description + "process PIDs"; + } + } + + grouping SANDBOXMGR-DETAILS { + description + "SANDBOXMGR DETAILS"; + container app-info { + description + "app info"; + uses SANDBOXMGR-INTERNAL-INFO; + } + container stats-info { + description + "stats info"; + uses SANDBOXMGR-STATS-INTERNAL-INFO; + } + leaf state { + type Config-state; + description + "Configuration state sandbox"; + } + } + + grouping SANDBOXMGR-INTERNAL-INFO { + description + "Sandbox app internal info"; + leaf error-string { + type string; + description + "App error string"; + } + leaf state { + type Config-state; + description + "Configuration state sandbox"; + } + leaf config-state { + type string; + description + "App config state"; + } + leaf container-state { + type string; + description + "App container state"; + } + leaf image { + type string; + description + "Image"; + } + leaf run-options { + type string; + description + "Run Options"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper.yang new file mode 100644 index 000000000..b0981210c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sandbox-oper.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XR-sandbox-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sandbox-oper"; + prefix sandbox-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-sandbox-oper-sub1 { + revision-date 2022-07-08; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sandbox package operational data. + + This module contains definitions + for the following management objects: + sandbox: Sandbox Operational data space + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-08 { + description + "sandbox show CLI added"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sandbox { + config false; + description + "Sandbox Operational data space"; + container info { + description + "Info data bag"; + uses SANDBOXMGR-INTERNAL-INFO; + } + container detail { + description + "Detail data bag"; + uses SANDBOXMGR-DETAILS; + } + container services { + description + "Services data bag"; + uses SANDBOXMGR-SERVICES; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-cfg.yang new file mode 100644 index 000000000..319ec0907 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-cfg.yang @@ -0,0 +1,308 @@ +module Cisco-IOS-XR-segment-routing-ms-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-cfg"; + prefix segment-routing-ms-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-ms package configuration. + + This module contains definitions + for the following management objects: + sr: Segment Routing + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-06-19 { + description + "Additional options added to configuration model."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Srms-mi-flag { + type enumeration { + enum "disable" { + value 0; + description + "Disable flag"; + } + enum "enable" { + value 1; + description + "Enable flag"; + } + } + description + "Srms mi flag"; + } + + typedef Srms-address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "IP version 4"; + } + enum "ipv6" { + value 2; + description + "IP version 6"; + } + } + description + "Srms address family"; + } + + typedef Srlb-string { + type string { + pattern "(srlb_default)"; + } + description + "srlb_default:Default SRLB block"; + } + + typedef Sid-type-list { + type enumeration { + enum "absolute" { + value 1; + description + "Absolute SID"; + } + enum "index" { + value 2; + description + "Index SID"; + } + } + description + "Sid type list"; + } + + container sr { + description + "Segment Routing"; + container local-block { + presence "Indicates a local-block node is configured."; + description + "Segment Routing Local Block of Labels"; + leaf lower-bound { + type uint32 { + range "15000..1048574"; + } + mandatory true; + description + "SRLB Lower Bound"; + } + leaf upper-bound { + type uint32 { + range "15001..1048575"; + } + mandatory true; + description + "SRLB Upper Bound"; + } + } + container mappings { + description + "Mapping Server"; + list mapping { + key "af ip mask"; + description + "IP prefix to SID mapping"; + leaf af { + type Srms-address-family; + description + "Address Family"; + } + leaf ip { + type inet:ip-address-no-zone; + description + "IP prefix"; + } + leaf mask { + type uint32 { + range "1..128"; + } + description + "Mask"; + } + leaf sid-start { + type uint32 { + range "0..1048575"; + } + description + "Start of SID index range"; + } + leaf sid-range { + type uint32 { + range "0..65535"; + } + description + "Range (number of SIDs)"; + } + leaf flag-attached { + type Srms-mi-flag; + description + "Enable/Disable Attached flag"; + } + } + } + container adjacency-sid { + description + "Segment Routing Adjacency SID"; + container interfaces { + description + "Segment Routing Adjacency SID Interface Table"; + list interface { + key "interface"; + description + "Segment Routing Adjacency SID Interface"; + container address-families { + description + "Segment Routing Adjacency SID Interface + Address Family Table"; + list address-family { + key "address-family"; + description + "Segment Routing Adjacency SID Interface + Address Family"; + container next-hops { + description + "Segment Routing Adjacency SID Interface + Address Family NextHop Table"; + list next-hop { + must "(count(../next-hop)=1) or ((count(../next-hop[ip-addr='0.0.0.0'])=0) and (count(../next-hop[ip-addr='::0'])=0))"; + key "ip-addr"; + unique "l2-adjacency-sid/sid-type l2-adjacency-sid/index-sid l2-adjacency-sid/absolute-sid l2-adjacency-sid/srlb"; + description + "Segment Routing Adjacency SID Interface + Address Family NextHop, use a single + ANYADDR (0.0.0.0 or ::) NextHop for point + to point links"; + container l2-adjacency-sid { + description + "L2 Adjacency SID type and value"; + leaf sid-type { + type Sid-type-list; + description + "SID type"; + } + leaf absolute-sid { + when "../sid-type = 'absolute'" { + description + "../SIDType = absolute"; + } + type uint32 { + range "15000..1048575"; + } + description + "SID value"; + } + leaf index-sid { + when "../sid-type = 'index'" { + description + "../SIDType = index"; + } + type uint32 { + range "0..1048575"; + } + description + "SID value"; + } + leaf srlb { + when "../sid-type = 'absolute' or ../sid-type = 'index'" { + description + "../SIDType = absolute or ../SIDType = + index"; + } + type Srlb-string; + mandatory true; + description + "SRLB block name"; + } + } + leaf ip-addr { + type inet:ip-address-no-zone; + description + "NextHop IP address"; + } + } + } + leaf address-family { + type Srms-address-family; + description + "Address Family"; + } + } + } + leaf interface { + type xr:Interface-name; + description + "Interface name"; + } + } + } + } + container global-block { + presence "Indicates a global-block node is configured."; + description + "Global Block Segment Routing"; + leaf lower-bound { + type uint32 { + range "16000..1048574"; + } + mandatory true; + description + "SRGB Lower Bound"; + } + leaf upper-bound { + type uint32 { + range "16001..1048575"; + } + mandatory true; + description + "SRGB Upper Bound"; + } + } + leaf enable { + type empty; + description + "enable SR"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-common-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-common-cfg.yang new file mode 100644 index 000000000..61074c440 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-common-cfg.yang @@ -0,0 +1,46 @@ +module Cisco-IOS-XR-segment-routing-ms-common-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-common-cfg"; + prefix segment-routing-ms-common-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-ms-common package configuration. + + This module contains definitions + for the following management objects: + sr: Segment Routing + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sr { + description + "Segment Routing"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub1.yang new file mode 100644 index 000000000..ba8b005d5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub1.yang @@ -0,0 +1,67 @@ +submodule Cisco-IOS-XR-segment-routing-ms-oper-sub1 { + belongs-to Cisco-IOS-XR-segment-routing-ms-oper { + prefix Cisco-IOS-XR-segment-routing-ms-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-ms package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "2.0.1m"; + } + revision 2019-07-19 { + description + "Additional items added to operational model."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping MPLS-LSD-SRLB-INCONSISTENCY { + description + "SRLB Inconsistency"; + leaf start-srlb-range { + type uint32; + description + "Start label of Segment Routing Local Block range"; + } + leaf end-srlb-range { + type uint32; + description + "End label of Segment Routing Local Block range"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub2.yang new file mode 100644 index 000000000..0665aea66 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub2.yang @@ -0,0 +1,155 @@ +submodule Cisco-IOS-XR-segment-routing-ms-oper-sub2 { + belongs-to Cisco-IOS-XR-segment-routing-ms-oper { + prefix Cisco-IOS-XR-segment-routing-ms-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-segment-routing-ms-oper-sub3 { + revision-date 2021-12-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-ms package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "2.0.1m"; + } + revision 2019-07-19 { + description + "Additional items added to operational model."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Srms-af { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Srms af"; + } + + grouping ADDR1 { + description + "ADDR1"; + leaf af { + type Srms-af; + description + "AF"; + } + leaf ipv4 { + when "../af = 'ipv4'" { + description + "../AF = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4"; + } + leaf ipv6 { + when "../af = 'ipv6'" { + description + "../AF = 'IPv6'"; + } + type In6-addr-t-b; + description + "IPv6"; + } + } + + grouping SRMS-L2-ADJ-T-B { + description + "SRMA show bag"; + container nexthop-address { + description + "Nexthop address"; + uses ADDR1; + } + leaf interface-name { + type string { + length "0..80"; + } + description + "Interface name"; + } + leaf sid-value-xr { + type uint32; + description + "SID Value"; + } + leaf sid-type-xr { + type uint32; + description + "SID type"; + } + leaf address-family { + type uint32; + description + "Interface address family"; + } + leaf has-nexthop { + type boolean; + description + "Has nexthop"; + } + leaf interface-count { + type int32; + description + "Interface count"; + } + leaf interface-delete-count { + type int32; + description + "Interface delete count"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub3.yang new file mode 100644 index 000000000..7507f84a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper-sub3.yang @@ -0,0 +1,211 @@ +submodule Cisco-IOS-XR-segment-routing-ms-oper-sub3 { + belongs-to Cisco-IOS-XR-segment-routing-ms-oper { + prefix Cisco-IOS-XR-segment-routing-ms-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-ms package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "2.0.1m"; + } + revision 2019-07-19 { + description + "Additional items added to operational model."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Srms-mi-flag-e-b { + type enumeration { + enum "false" { + value 0; + description + "False"; + } + enum "true" { + value 1; + description + "True"; + } + } + description + "Srms mi flag e b"; + } + + typedef In6-addr-t-b { + type inet:ipv6-address; + description + "In6 addr t b"; + } + + typedef Srms-mi-af-e-b { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "Srms mi af e b"; + } + + typedef Srms-mi-src-e-b { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "local" { + value 1; + description + "Local"; + } + enum "remote" { + value 2; + description + "Remote"; + } + } + description + "Srms mi src e b"; + } + + grouping ADDR { + description + "ADDR"; + leaf af { + type Srms-mi-af-e-b; + description + "AF"; + } + leaf ipv4 { + when "../af = 'ipv4'" { + description + "../AF = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4"; + } + leaf ipv6 { + when "../af = 'ipv6'" { + description + "../AF = 'IPv6'"; + } + type In6-addr-t-b; + description + "IPv6"; + } + } + + grouping SRMS-MI-T-B { + description + "SRMS show bag"; + container addr { + description + "Ipv4 address"; + uses ADDR; + } + leaf src { + type Srms-mi-src-e-b; + description + "Source of this prefix, whether local or remote"; + } + leaf router { + type string { + length "0..30"; + } + description + "Router ID"; + } + leaf area { + type string { + length "0..30"; + } + description + "Area (OSPF) or Level (ISIS)"; + } + leaf prefixlen-xr { + type uint8; + description + "Prefix length"; + } + leaf sid-start { + type uint32; + description + "Starting SID"; + } + leaf sid-count { + type uint32; + description + "SID range"; + } + leaf last-prefix { + type string { + length "0..50"; + } + description + "Last IP Prefix"; + } + leaf last-sid-index { + type uint32; + description + "Last SID Index"; + } + leaf flag-attached { + type Srms-mi-flag-e-b; + description + "Attached flag"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper.yang new file mode 100644 index 000000000..20f0dd42a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-ms-oper.yang @@ -0,0 +1,282 @@ +module Cisco-IOS-XR-segment-routing-ms-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-oper"; + prefix segment-routing-ms-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-segment-routing-ms-oper-sub3 { + revision-date 2021-12-01; + } + include Cisco-IOS-XR-segment-routing-ms-oper-sub2 { + revision-date 2021-12-01; + } + include Cisco-IOS-XR-segment-routing-ms-oper-sub1 { + revision-date 2021-12-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-ms package operational data. + + This module contains definitions + for the following management objects: + standby-srms: Standby Segment Routing Mapping Server + operational data + srms: Active Segment Routing Mapping Server operational data + srlb: Segment Routing Local Block operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-01 { + description + "Increase in interface name length"; + semver:module-version "2.0.1m"; + } + revision 2019-07-19 { + description + "Additional items added to operational model."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Sid-type-enum { + type enumeration { + enum "absolute" { + value 1; + description + "Absolute SID"; + } + enum "index" { + value 2; + description + "Index SID"; + } + } + description + "Sid type enum"; + } + + grouping MAPPING-MI { + description + "Common node of mapping-ipv4, mapping-ipv6"; + list mapping-mi { + description + "IP prefix to SID mapping item. It's not possible + to list all of the IP prefix to SID mappings, as + the set of valid prefixes could be very large. + Instead, SID map information must be retrieved + individually for each prefix of interest."; + leaf ip { + type xr:Cisco-ios-xr-string; + description + "IP"; + } + leaf prefixlen { + type uint32 { + range "1..128"; + } + description + "Prefixlen"; + } + uses SRMS-MI-T-B; + } + } + + grouping SID-RECORD-TABLE { + description + "Common node of l2-adjacency, ipv4, ipv6, all-afi"; + container sid-records { + description + "SID directory"; + list sid-record { + description + "SID record"; + leaf sid-type { + type Sid-type-enum; + description + "SID type"; + } + leaf sid-value { + type uint32 { + range "0..1048575"; + } + description + "SID value"; + } + uses SRMS-L2-ADJ-T-B; + } + } + } + + grouping POLICY-MI { + description + "Common node of policy-ipv4-active, + policy-ipv4-backup, policy-ipv6-active, + policy-ipv6-backup"; + list policy-mi { + key "mi-id"; + description + "Mapping Item"; + leaf mi-id { + type xr:Cisco-ios-xr-string; + description + "Mapping Item ID (0, 1, 2, ...)"; + } + uses SRMS-MI-T-B; + } + } + + grouping POLICY { + description + "Common node of srms, standby-srms"; + container policy { + description + "Policy operational data"; + container policy-ipv4 { + description + "IPv4 policy operational data"; + container policy-ipv4-backup { + description + "IPv4 backup policy operational data"; + uses POLICY-MI; + } + container policy-ipv4-active { + description + "IPv4 active policy operational data"; + uses POLICY-MI; + } + } + container policy-ipv6 { + description + "IPv6 policy operational data"; + container policy-ipv6-backup { + description + "IPv6 backup policy operational data"; + uses POLICY-MI; + } + container policy-ipv6-active { + description + "IPv6 active policy operational data"; + uses POLICY-MI; + } + } + } + } + + grouping MAPPING { + description + "Common node of srms, standby-srms"; + container mapping { + description + "IP prefix to SID mappings"; + container mapping-ipv4 { + description + "IPv4 prefix to SID mappings"; + uses MAPPING-MI; + } + container mapping-ipv6 { + description + "IPv6 prefix to SID mappings"; + uses MAPPING-MI; + } + } + } + + container standby-srms { + config false; + description + "Standby Segment Routing Mapping Server + operational data"; + uses MAPPING; + uses POLICY; + } + container srms { + config false; + description + "Active Segment Routing Mapping Server operational + data"; + container adjacency-sid { + description + "Adjacency SID"; + container l2-adjacency { + description + "L2 Adjacency Option"; + container interfaces { + description + "Interface directory"; + list interface { + key "interface-name"; + description + "Segment Routing Adjacency SID Interface"; + container address-family { + description + "address family container"; + container all-afi { + description + "both IPv4 and IPv6"; + uses SID-RECORD-TABLE; + } + container ipv4 { + description + "IP version 4"; + uses SID-RECORD-TABLE; + } + container ipv6 { + description + "IP version 6"; + uses SID-RECORD-TABLE; + } + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + } + uses SID-RECORD-TABLE; + } + } + uses MAPPING; + uses POLICY; + } + container srlb { + config false; + description + "Segment Routing Local Block operational data"; + container srlb-inconsistency { + description + "SRLB Inconsistencies"; + uses MPLS-LSD-SRLB-INCONSISTENCY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-cfg.yang new file mode 100644 index 000000000..4becbf901 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-cfg.yang @@ -0,0 +1,278 @@ +module Cisco-IOS-XR-segment-routing-srv6-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-cfg"; + prefix segment-routing-srv6-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-segment-routing-srv6-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-segment-routing-ms-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-srv6 package configuration. + + This YANG module augments the + Cisco-IOS-XR-segment-routing-ms-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-19 { + description + "Added support for uSID LIB ranges config + 2021-11-23 + Added support for locator delayed delete configuration + 2021-09-17 + Extend config knob propagate traffic-class and hoplimit for SRv6 encap to support being explicitly disabled"; + semver:module-version "1.2.1m"; + } + revision 2020-08-25 { + description + "Added MicroSegmentGlobalParams container and MergeOverlayUnderlaySIDS leaf"; + semver:module-version "1.2.0"; + } + revision 2019-11-21 { + description + "Support for anycast locator flag + 2019-10-08 + Support config knob to set traffic-class for SRv6 encap + 2019-04-22 + Flex-Algo support + 2019-04-22 + Flex-Algo specific changes"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:sr" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-segment-routing-ms-cfg'"; + container srv6 { + description + "Segment Routing with IPv6 dataplane"; + container logging { + description + "Enable logging"; + leaf locator-status { + type empty; + description + "Enable logging for locator status changes"; + } + } + container formats { + description + "Configure SRv6 format parameters"; + container formats { + description + "Configure table of SRv6 formats"; + list format { + key "name"; + description + "Configure a SRv6 format"; + container usid { + description + "Specify uSID specific parameters"; + container local-id-block-ranges { + description + "Specify uSID LIB ranges (start, + explicit-start)"; + leaf lib-start { + type dt1:Srv6u-sid-lib-start-range; + default "57344"; + description + "Start of LIB"; + } + leaf explict-lib-start { + type dt1:Srv6u-sid-elib-start-range; + default "65024"; + description + "Start of Explicit LIB"; + } + } + leaf wide-local-id-block-explicit-range { + type dt1:Srv6u-sid-ewlib-start-range; + default "65527"; + description + "Specify uSID WLIB explicit range"; + } + } + leaf format-enable { + type empty; + description + "Enable a SRv6 format"; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Format name"; + } + } + } + } + container micro-segment-global-params { + description + "Configure micro-segment related parameters"; + leaf merge-overlay-underlay-sids { + type empty; + description + "Enable merge mode for SIDs from overlay and + underlay"; + } + } + container locators { + description + "Configure SRv6 locators parameters"; + container locators { + description + "Configure SRv6 table of locators"; + list locator { + key "name"; + description + "Configure a SRv6 locator"; + container micro-segment { + description + "Configure micro-segments (uSID) related + parameters"; + leaf behavior { + type dt1:Srv6u-behavior; + description + "Specify Locator's behavior"; + } + } + container prefix { + description + "Specify locator prefix value"; + leaf prefix { + type inet:ip-address-no-zone; + description + "IPv6 Prefix"; + } + leaf prefix-length { + type dt1:Srv6-locator-len; + description + "Prefix length"; + } + } + leaf delayed-delete { + type empty; + description + "Specify locator to maintain SID forwarding + until holdtime for stale/freed SID has + passed"; + } + leaf locator-enable { + type empty; + description + "Enable a SRv6 locator"; + } + leaf anycast { + type empty; + description + "Specify locator to be anycast type"; + } + leaf algorithm { + type dt1:Srv6-algo-value; + description + "Specify locator algorithm"; + } + leaf name { + type dt1:Srv6-locator-name; + description + "Locator name"; + } + } + } + } + container encapsulation { + description + "Configure encapsulation related parameters"; + container traffic-class { + description + "Configure IPv6 header traffic-class"; + leaf option { + type dt1:Srv6-encapsulation-tc-option; + description + "Config option"; + } + leaf value { + when "../option = 'value'" { + description + "../Option = Value"; + } + type dt1:Srv6-encapsulation-tc-value; + default "0"; + description + "Field Value"; + } + } + container hop-limit { + description + "Configure IPv6 Hop-Limit options"; + leaf option { + type dt1:Srv6-encapsulation-hop-limit-option; + description + "Hop-Limit config option"; + } + leaf value { + when "../option = 'count'" { + description + "../Option = Count"; + } + type dt1:Srv6-encapsulation-hop-limit-value; + default "0"; + description + "Count for Hop-limit"; + } + } + leaf source-address { + type inet:ip-address-no-zone; + description + "Configure a source address"; + } + } + leaf enable { + type empty; + description + "Enable SRv6"; + } + leaf sid-holdtime { + type dt1:Srv6sid-holdtime; + description + "Configure SID holdtime for a stale/freed SID"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-datatypes.yang new file mode 100644 index 000000000..f0d31a582 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-datatypes.yang @@ -0,0 +1,173 @@ +module Cisco-IOS-XR-segment-routing-srv6-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-datatypes"; + prefix segment-routing-srv6-datatypes; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-19 { + description + "New datatypes for uSID LIB ranges"; + semver:module-version "1.2.1m"; + } + revision 2019-11-19 { + description + "Support config knob to specify locator behavior."; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Srv6u-sid-ewlib-start-range { + type uint32 { + range "65520..65527"; + } + description + "Srv6u sid ewlib start range"; + } + + typedef Srv6-locator-name { + type xr:Cisco-ios-xr-string { + length "1..58"; + } + description + "Srv6 locator name"; + } + + typedef Srv6sid-holdtime { + type uint32 { + range "0..60"; + } + description + "Srv6sid holdtime"; + } + + typedef Srv6-locator-len { + type uint32 { + range "32..112"; + } + description + "Srv6 locator len"; + } + + typedef Srv6-encapsulation-hop-limit-value { + type uint32 { + range "0..255"; + } + description + "Srv6 encapsulation hop limit value"; + } + + typedef Srv6u-sid-lib-start-range { + type uint32 { + range "57344"; + } + description + "Srv6u sid lib start range"; + } + + typedef Srv6-encapsulation-tc-value { + type uint32 { + range "0..255"; + } + description + "Srv6 encapsulation tc value"; + } + + typedef Srv6-encapsulation-tc-option { + type enumeration { + enum "value" { + value 1; + description + "Set Value"; + } + enum "propagate" { + value 2; + description + "Set value by propagation"; + } + } + description + "Srv6 encapsulation tc option"; + } + + typedef Srv6u-sid-elib-start-range { + type uint32 { + range "57444..65279"; + } + description + "Srv6u sid elib start range"; + } + + typedef Srv6-encapsulation-hop-limit-option { + type enumeration { + enum "count" { + value 1; + description + "Set Value"; + } + enum "propagate" { + value 2; + description + "Propagate IP TLL"; + } + } + description + "Srv6 encapsulation hop limit option"; + } + + typedef Srv6u-behavior { + type enumeration { + enum "unode-shift-only" { + value 42; + description + "uNode (shift keyword: unode-only)"; + } + enum "unode-psp-usd" { + value 48; + description + "uNode (PSP/USD variant)"; + } + } + description + "Srv6u behavior"; + } + + typedef Srv6-algo-value { + type uint32 { + range "128..255"; + } + description + "Srv6 algo value"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper-sub1.yang new file mode 100644 index 000000000..7c5408ea5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper-sub1.yang @@ -0,0 +1,1925 @@ +submodule Cisco-IOS-XR-segment-routing-srv6-oper-sub1 { + belongs-to Cisco-IOS-XR-segment-routing-srv6-oper { + prefix Cisco-IOS-XR-segment-routing-srv6-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-srv6 package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-19 { + description + "New uSID LIB ranges information + 2021-11-23 + Display locators delayed-delete status + 2021-11-19 + Platform capabilities report extended with Max Locator supported + 2021-10-15 + New SID CTX type supported uDT46 and DT46 + 2021-09-16 + Manager will display platform requested defaults for traffic-class and hoplimit SRv6 encap parameters"; + semver:module-version "4.1.0"; + } + revision 2021-06-23 { + description + "Added id name to OOR summary"; + semver:module-version "4.0.0"; + } + revision 2020-12-11 { + description + "Update manager show command for 2 passes + 2020-10-16 + Rename SID count fields in SID manager summary. sids_count only includes non auto-generated SIDs. + 2020-05-06 + changes in def for some endpoint types and headend types + 2020-04-16 + Changes due to common Srv6 bag and renaming some leaf"; + semver:module-version "3.0.0"; + } + revision 2019-11-20 { + description + "Changes for SRv6 end function + 2019-04-22 + Flex-Algo specific changes"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Sid-state { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "in-use" { + description + "In Use"; + } + enum "pending" { + description + "Pending"; + } + enum "stale" { + description + "Stale"; + } + } + description + "SID manager SID state"; + } + + typedef Sid-allocation { + type enumeration { + enum "unknown" { + description + "Unknown"; + } + enum "dynamic" { + description + "Dynamic"; + } + enum "explicit" { + description + "Explicit"; + } + } + description + "SID allocation type"; + } + + typedef In6-addr { + type inet:ipv6-address; + description + "In6 addr"; + } + + typedef Srv6af { + type enumeration { + enum "no-af" { + description + "No AF"; + } + enum "ipv4-af" { + description + "IPv4 AF"; + } + enum "ipv6-af" { + description + "IPv6 AF"; + } + } + description + "SRv6 AF type"; + } + + typedef Mgmt-srv6-endpoint { + type enumeration { + enum "unknown" { + description + "Unknown Endpoint type"; + } + enum "end" { + description + "End (no PSP/USP)"; + } + enum "end-with-psp" { + description + "End with PSP"; + } + enum "end-with-usp" { + description + "End with USP"; + } + enum "end-with-psp-usp" { + description + "End with PSP/USP"; + } + enum "end-x" { + description + "End.X (no PSP/USP)"; + } + enum "end-x-with-psp" { + description + "End.X with PSP"; + } + enum "end-x-with-usp" { + description + "End.X with USP"; + } + enum "end-x-with-psp-usp" { + description + "End.X with PSP/USP"; + } + enum "end-tbl" { + description + "End.T (no PSP/USP)"; + } + enum "end-tbl-with-psp" { + description + "End.T with PSP"; + } + enum "end-tbl-with-usp" { + description + "End.T with USP"; + } + enum "end-tbl-with-psp-usp" { + description + "End.T with PSP/USP"; + } + enum "end-b6-insert" { + description + "End.B6.Insert"; + } + enum "end-b6-encaps" { + description + "End.B6.Encaps"; + } + enum "end-bm" { + description + "End.BM"; + } + enum "end-dx6" { + description + "End.DX6"; + } + enum "end-dx4" { + description + "End.DX4"; + } + enum "end-dt6" { + description + "End.DT6"; + } + enum "end-dt4" { + description + "End.DT4"; + } + enum "end-dt46" { + description + "End.DT46"; + } + enum "end-dx2" { + description + "End.DX2"; + } + enum "end-dx2v" { + description + "End.DX2V"; + } + enum "end-dt2u" { + description + "End.DT2U"; + } + enum "end-dt2m" { + description + "End.DT2M"; + } + enum "end-s" { + description + "End.S"; + } + enum "end-b6-insert-red" { + description + "End.B6.Insert.Reduced"; + } + enum "end-b6-encaps-red" { + description + "End.B6.Encaps.Reduced"; + } + enum "end-with-usd" { + description + "End with USD"; + } + enum "end-with-psp-usd" { + description + "End with PSP/USD"; + } + enum "end-with-usp-usd" { + description + "End with USP/USD"; + } + enum "end-with-psp-usp-usd" { + description + "End with PSP/USP/USD"; + } + enum "end-x-with-usd" { + description + "End.X with USD"; + } + enum "end-x-with-psp-usd" { + description + "End.X with PSP/USD"; + } + enum "end-x-with-usp-usd" { + description + "End.X with USP/USD"; + } + enum "end-x-with-psp-usp-usd" { + description + "End.X with PSP/USP/USD"; + } + enum "end-tbl-with-usd" { + description + "End.T with USD"; + } + enum "end-tbl-with-psp-usd" { + description + "End.T with PSP/USD"; + } + enum "end-tbl-with-usp-usd" { + description + "End.T with USP/USD"; + } + enum "end-tbl-with-psp-usp-usd" { + description + "End.T with PSP/USP/USD"; + } + enum "end-op" { + description + "End.OP"; + } + enum "end-otp" { + description + "End.OTP"; + } + enum "un-shift-only" { + description + "uN Shift-only"; + } + enum "un" { + description + "uN"; + } + enum "un-psp" { + description + "uN with PSP"; + } + enum "un-usp" { + description + "uN with USP"; + } + enum "un-psp-usp" { + description + "uN with PSP-USP"; + } + enum "un-usd" { + description + "uN with USD"; + } + enum "un-psp-usd" { + description + "uN with PSP-USD"; + } + enum "un-usp-usd" { + description + "uN with USP-USD"; + } + enum "un-psp-usp-usd" { + description + "uN with PSP_USP-USD"; + } + enum "ua-shift-only" { + description + "uA Shift-only"; + } + enum "ua" { + description + "uA"; + } + enum "ua-psp" { + description + "uA with PSP"; + } + enum "ua-usp" { + description + "uA with USP"; + } + enum "ua-psp-usp" { + description + "uA with PSP-USP"; + } + enum "ua-usd" { + description + "uA with USD"; + } + enum "ua-psp-usd" { + description + "uA with PSP-USD"; + } + enum "ua-usp-usd" { + description + "uA with USP-USD"; + } + enum "ua-psp-usp-usd" { + description + "uA with PSP_USP-USD"; + } + enum "udx6" { + description + "uDX6"; + } + enum "udx4" { + description + "uDX4"; + } + enum "udt6" { + description + "uDT6"; + } + enum "udt4" { + description + "uDT4"; + } + enum "udt46" { + description + "uDT46"; + } + enum "udx2" { + description + "uDX2"; + } + enum "udx2v" { + description + "uDX2V"; + } + enum "udt2u" { + description + "uDT2U"; + } + enum "udt2m" { + description + "uDT2M"; + } + enum "ub6-insert" { + description + "uB6 Insert"; + } + enum "ub6-encaps" { + description + "uB6 Encaps"; + } + enum "ub6-insert-red" { + description + "uB6 Insert.Red"; + } + enum "ub6-encaps-red" { + description + "uB6 Encaps.Red"; + } + enum "ubm" { + description + "uBM"; + } + } + description + "SRv6 Endpoint Behavior Type"; + } + + typedef Srv6-out-of-resource-state { + type enumeration { + enum "oor-green" { + description + "Resources Available"; + } + enum "oor-yellow" { + description + "Resources Warning. Have exceeded minor + threshold"; + } + enum "oor-red" { + description + "Out of Resources. Have exceeded major threshold"; + } + } + description + "SRv6 Out of Resource State"; + } + + typedef Mgmt-srv6-sid-fmt { + type enumeration { + enum "none" { + description + "No format"; + } + enum "base" { + description + "Base Format"; + } + enum "f3216" { + description + "Micro-segment F3216 Format"; + } + } + description + "SRv6 SID Format Type"; + } + + typedef Srv6-op-mode { + type enumeration { + enum "none" { + description + "No mode"; + } + enum "srv6-base" { + description + "SRv6 base"; + } + enum "srv6-micro-segment" { + description + "SRv6 micro-segment"; + } + } + description + "SRv6 operational mode"; + } + + grouping SRV6-LOCATOR-INTF-INFO { + description + "SRv6 locator interface"; + leaf name { + type string; + description + "Interface name"; + } + leaf if-handle { + type xr:Hex-integer; + description + "Interface handle"; + } + leaf programmed-prefix { + type string; + description + "Interface prefix/addr programmed"; + } + } + + grouping SRV6-LOCATOR-INFO { + description + "SRv6 Locator info"; + container micro-segment-behavior { + description + "Micro-segment behavior"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container interface { + description + "Locator IM intf info"; + uses SRV6-LOCATOR-INTF-INFO; + } + container create-timestamp { + description + "Creation timestamp"; + uses MGMT-SIDMGR-TIMESTAMP; + } + leaf name { + type string; + description + "Locator Name"; + } + leaf id { + type uint32; + description + "Locator ID"; + } + leaf prefix { + type string; + description + "Locator Prefix"; + } + leaf algorithm-id { + type uint8; + description + "Algorithm Id"; + } + leaf is-operational { + type boolean; + description + "Locator status is Up or Down"; + } + leaf is-micro-segment { + type boolean; + description + "A Micro-segment locator"; + } + leaf is-anycast { + type boolean; + description + "An Anycast locator"; + } + leaf is-delayed-delete { + type boolean; + description + "Locator will delay deleting route after SID free + during migration"; + } + leaf out-of-resources-state { + type Srv6-out-of-resource-state; + description + "Locator Resources State for SIDs"; + } + leaf sids-count { + type uint32; + description + "Number of allocated SIDs"; + } + } + + grouping SID-OWNER { + description + "SID Owner"; + leaf owner { + type string; + description + "Owner"; + } + } + + grouping SRV6-SID-INFO { + description + "SRv6 SID Manager SID info"; + container sid-behavior { + description + "SID Behavior Type"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container sid-context { + description + "SID Context"; + uses MGMT-SRV6-SID-CTX; + } + container create-timestamp { + description + "Creation timestamp"; + uses MGMT-SIDMGR-TIMESTAMP; + } + leaf sid { + type string; + description + "SID Value"; + } + leaf allocation-type { + type Sid-allocation; + description + "Allocation Type"; + } + leaf state { + type Sid-state; + description + "State"; + } + leaf has-forwarding { + type boolean; + description + "Rewrite done or not"; + } + leaf locator { + type string; + description + "Associated locator"; + } + leaf sid-functionvalue { + type uint32; + description + "SID function value"; + } + list owner { + description + "Owner"; + uses SID-OWNER; + } + } + + grouping MGMT-SIDMGR-TIMESTAMP { + description + "SID Manager Generic Timestamp"; + leaf time-in-nano-seconds { + type uint64; + units "nanosecond"; + description + "Timestamp in nano seconds"; + } + leaf age-in-nano-seconds { + type uint64; + units "nanosecond"; + description + "Age in nano seconds"; + } + } + + grouping MGMT-SRV6-SID-CTX-U-DX { + description + "SRv6 uDX4/6 SID context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf next-hop-set-id { + type uint32; + description + "Next Hop Set ID"; + } + } + + grouping MGMT-SRV6-SID-CTX-U-DT2M { + description + "SRv6 uDT2M SID context"; + container dt2-base-ctx { + description + "Common DT2 context"; + uses MGMT-SRV6-SID-CTX-DT2-BASE; + } + } + + grouping MGMT-SRV6-SID-CTX-U-DT2U { + description + "SRv6 uDT2U SID context"; + container dt2-base-ctx { + description + "Common DT2 context"; + uses MGMT-SRV6-SID-CTX-DT2-BASE; + } + } + + grouping MGMT-SRV6-SID-CTX-U-DX2 { + description + "SRv6 uDX2 SID context"; + leaf evi { + type uint32; + description + "EVI"; + } + leaf eth-tag { + type uint32; + description + "Ethernet Tag ID"; + } + } + + grouping MGMT-SRV6-ADDR-UNION { + description + "SRv6 IP address union"; + leaf af-type { + type Srv6af; + description + "AFType"; + } + leaf ipv4 { + when "../af-type = 'ipv4-af'" { + description + "../AFType = 'IPv4_AF'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6 { + when "../af-type = 'ipv6-af'" { + description + "../AFType = 'IPv6_AF'"; + } + type In6-addr; + description + "IPv6 address"; + } + } + + grouping MGMT-SRV6-SID-CTX-U-B6 { + description + "SRv6 uB6 SID context"; + container policy-endpoint { + description + "Policy Endpoint address"; + uses MGMT-SRV6-ADDR-UNION; + } + leaf policy-name { + type string; + description + "Policy name"; + } + leaf policy-color { + type uint32; + description + "Color associated with the policy"; + } + leaf policy-endpoint-is-null { + type boolean; + description + "Policy endpoint is null"; + } + } + + grouping MGMT-SRV6-SID-CTX-U-DT46 { + description + "SRv6 uDT46 SID context"; + leaf vrf-name { + type string; + description + "VRF name"; + } + } + + grouping MGMT-SRV6-SID-CTX-DT-BASE { + description + "SRv6 uDTx/End.DTx SID base context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + } + + grouping MGMT-SRV6-SID-CTX-U-DT { + description + "SRv6 uDT4/6 SID context"; + container u-dt-base-ctx { + description + "Common uDT context"; + uses MGMT-SRV6-SID-CTX-DT-BASE; + } + } + + grouping MGMT-SRV6-SID-CTX-U-N { + description + "SRv6 uN SID context"; + container u-n-base-ctx { + description + "Common uN context"; + uses MGMT-SRV6-SID-CTX1; + } + } + + grouping MGMT-SRV6-SID-CTX-U-A-PSP-USD { + description + "SRv6 End.X (PSP) SID context"; + container u-a-base-ctx { + description + "Common uA context"; + uses MGMT-SRV6-SID-CTX-U-A; + } + } + + grouping MGMT-SRV6-SID-CTX-U-A { + description + "SRv6 uA SID context"; + leaf is-protected { + type boolean; + description + "Is protected?"; + } + leaf opaque-id { + type uint8; + description + "Additional differentiator - opaque to SIDMgr"; + } + leaf algo-id { + type uint8; + description + "Algorithm Id"; + } + leaf interface { + type xr:Interface-name; + description + "Nexthop interface"; + } + leaf nexthop-address { + type inet:ipv6-address; + description + "Nexthop IP address"; + } + } + + grouping MGMT-SRV6-SID-CTX-U-A-SHIFT-ONLY { + description + "SRv6 End.X (USP) SID context"; + container u-a-base-ctx { + description + "Common uA context"; + uses MGMT-SRV6-SID-CTX-U-A; + } + } + + grouping MGMT-SRV6-SID-CTX-X-PSP-USD { + description + "SRv6 End.X (PSP-USD) SID context"; + container xctx { + description + "Common End.X context for End.X (PSP-USD) SID"; + uses MGMT-SRV6-SID-CTX-X; + } + } + + grouping MGMT-SRV6-SID-CTX-E-PSP-USD { + description + "SRv6 End (PSP-USD) SID context"; + container ectx { + description + "Common End context for End (PSP-USD) SID"; + uses MGMT-SRV6-SID-CTX1; + } + } + + grouping MGMT-SRV6-SID-CTX-DT2M { + description + "SRv6 End.DT2M SID context"; + container dt2-base-ctx { + description + "Common DT2 context"; + uses MGMT-SRV6-SID-CTX-DT2-BASE; + } + } + + grouping MGMT-SRV6-SID-CTX-DT2-BASE { + description + "SRv6 uDT2x/End.DT2x SID base context"; + leaf evi { + type uint32; + description + "EVI"; + } + leaf opaque-id { + type uint32; + description + "Additional differentiator - opaque to SIDMgr"; + } + } + + grouping MGMT-SRV6-SID-CTX-DT2U { + description + "SRv6 End.DT2U SID context"; + container dt2-base-ctx { + description + "Common DT2 context"; + uses MGMT-SRV6-SID-CTX-DT2-BASE; + } + } + + grouping MGMT-SRV6-SID-CTX-DX2 { + description + "SRv6 End.DX2 SID context"; + leaf evi { + type uint32; + description + "EVI"; + } + leaf eth-tag { + type uint32; + description + "Ethernet Tag ID"; + } + } + + grouping MGMT-SRV6-SID-CTX-DT46 { + description + "SRv6 End.DT46 SID context"; + leaf vrf-name { + type string; + description + "VRF name"; + } + } + + grouping MGMT-SRV6-SID-CTX-DT { + description + "SRv6 End.DT4/6 SID context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + } + + grouping MGMT-SRV6-SID-CTX-DX { + description + "SRv6 End.DX4/6 SID context"; + leaf table-id { + type uint32; + description + "Table ID"; + } + leaf next-hop-set-id { + type uint32; + description + "Next Hop Set ID"; + } + } + + grouping MGMT-SRV6-SID-CTX-X { + description + "SRv6 End.X SID base context"; + leaf is-protected { + type boolean; + description + "Is protected?"; + } + leaf opaque-id { + type uint8; + description + "Additional differentiator - opaque to SIDMgr"; + } + leaf interface { + type xr:Interface-name; + description + "Nexthop interface"; + } + leaf nexthop-address { + type inet:ipv6-address; + description + "Nexthop IP address"; + } + } + + grouping MGMT-SRV6-SID-CTX-X-PSP { + description + "SRv6 End.X (PSP) SID context"; + container xctx { + description + "Common End.X context for End.X (PSP) SID"; + uses MGMT-SRV6-SID-CTX-X; + } + } + + grouping MGMT-SRV6-SID-CTX-RSVD { + description + "SRv6 Reserved SID context"; + leaf table-id { + type uint32; + description + "Table Id"; + } + } + + grouping MGMT-SRV6-SID-CTX-OP { + description + "SRv6 End.OP SID context"; + container op-ctx { + description + "Common reserved context for End.OP SID"; + uses MGMT-SRV6-SID-CTX-RSVD; + } + } + + grouping MGMT-SRV6-SID-CTX1 { + description + "SRv6 End SID context"; + leaf table-id { + type uint32; + description + "Table Id"; + } + leaf opaque-id { + type uint16; + description + "Additional differentiator - opaque to SIDMgr"; + } + } + + grouping MGMT-SRV6-SID-CTX-E-PSP { + description + "SRv6 End (PSP) SID context"; + container ectx { + description + "Common End context for End (PSP) SID"; + uses MGMT-SRV6-SID-CTX1; + } + } + + grouping MGMT-SRV6-SID-CTX-KEY { + description + "MGMT SRV6 SID CTX KEY"; + container e-psp { + when "../sid-context-type = 'end-with-psp'" { + description + "../SIDContextType = 'EndWithPSP'"; + } + description + "End (PSP) SID context"; + uses MGMT-SRV6-SID-CTX-E-PSP; + } + container op { + when "../sid-context-type = 'end-op'" { + description + "../SIDContextType = 'EndOP'"; + } + description + "End.OP SID context"; + uses MGMT-SRV6-SID-CTX-OP; + } + container x-psp { + when "../sid-context-type = 'end-x-with-psp'" { + description + "../SIDContextType = 'EndXWithPSP'"; + } + description + "End.X (PSP) SID context"; + uses MGMT-SRV6-SID-CTX-X-PSP; + } + container dx4 { + when "../sid-context-type = 'end-dx4'" { + description + "../SIDContextType = 'EndDX4'"; + } + description + "End.DX4 SID context"; + uses MGMT-SRV6-SID-CTX-DX; + } + container dt4 { + when "../sid-context-type = 'end-dt4'" { + description + "../SIDContextType = 'EndDT4'"; + } + description + "End.DT4 SID context"; + uses MGMT-SRV6-SID-CTX-DT; + } + container dx6 { + when "../sid-context-type = 'end-dx6'" { + description + "../SIDContextType = 'EndDX6'"; + } + description + "End.DX6 SID context"; + uses MGMT-SRV6-SID-CTX-DX; + } + container dt6 { + when "../sid-context-type = 'end-dt6'" { + description + "../SIDContextType = 'EndDT6'"; + } + description + "End.DT6 SID context"; + uses MGMT-SRV6-SID-CTX-DT; + } + container dt46 { + when "../sid-context-type = 'end-dt46'" { + description + "../SIDContextType = 'EndDT46'"; + } + description + "End.DT46 SID context"; + uses MGMT-SRV6-SID-CTX-DT46; + } + container dx2 { + when "../sid-context-type = 'end-dx2'" { + description + "../SIDContextType = 'EndDX2'"; + } + description + "End.DX2 SID context"; + uses MGMT-SRV6-SID-CTX-DX2; + } + container dt2u { + when "../sid-context-type = 'end-dt2u'" { + description + "../SIDContextType = 'EndDT2U'"; + } + description + "End.DT2U SID context"; + uses MGMT-SRV6-SID-CTX-DT2U; + } + container dt2m { + when "../sid-context-type = 'end-dt2m'" { + description + "../SIDContextType = 'EndDT2M'"; + } + description + "End.DT2M SID context"; + uses MGMT-SRV6-SID-CTX-DT2M; + } + container e-psp-usd { + when "../sid-context-type = 'end-with-psp-usd'" { + description + "../SIDContextType = 'EndWithPSP_USD'"; + } + description + "End (PSP-USD) SID context"; + uses MGMT-SRV6-SID-CTX-E-PSP-USD; + } + container x-psp-usd { + when "../sid-context-type = 'end-x-with-psp-usd'" { + description + "../SIDContextType = 'EndXWithPSP_USD'"; + } + description + "End.X (PSP-USD) SID context"; + uses MGMT-SRV6-SID-CTX-X-PSP-USD; + } + container u-a-shift-only { + when "../sid-context-type = 'ua-shift-only'" { + description + "../SIDContextType = 'UA_ShiftOnly'"; + } + description + "uA Shift-only SID context"; + uses MGMT-SRV6-SID-CTX-U-A-SHIFT-ONLY; + } + container u-a-psp-usd { + when "../sid-context-type = 'ua-psp-usd'" { + description + "../SIDContextType = 'UA_PSP_USD'"; + } + description + "uA PSP-USD SID context"; + uses MGMT-SRV6-SID-CTX-U-A-PSP-USD; + } + container u-n-shift-only { + when "../sid-context-type = 'un-shift-only'" { + description + "../SIDContextType = 'UN_ShiftOnly'"; + } + description + "uN Shift-only SID context"; + uses MGMT-SRV6-SID-CTX-U-N; + } + container u-n-psp-usd { + when "../sid-context-type = 'un-psp-usd'" { + description + "../SIDContextType = 'UN_PSP_USD'"; + } + description + "uN PSP-USD SID context"; + uses MGMT-SRV6-SID-CTX-U-N; + } + container u-dt4 { + when "../sid-context-type = 'udt4'" { + description + "../SIDContextType = 'UDT4'"; + } + description + "uDT4 SID context"; + uses MGMT-SRV6-SID-CTX-U-DT; + } + container u-dt6 { + when "../sid-context-type = 'udt6'" { + description + "../SIDContextType = 'UDT6'"; + } + description + "uDT6 SID context"; + uses MGMT-SRV6-SID-CTX-U-DT; + } + container u-dt46 { + when "../sid-context-type = 'udt46'" { + description + "../SIDContextType = 'UDT46'"; + } + description + "uDT46 SID context"; + uses MGMT-SRV6-SID-CTX-U-DT46; + } + container u-b6-insert-red { + when "../sid-context-type = 'ub6-insert-red'" { + description + "../SIDContextType = 'UB6_InsertRed'"; + } + description + "uB6 Insert.Red SID context"; + uses MGMT-SRV6-SID-CTX-U-B6; + } + container udx2 { + when "../sid-context-type = 'udx2'" { + description + "../SIDContextType = 'UDX2'"; + } + description + "UDX2 SID context"; + uses MGMT-SRV6-SID-CTX-U-DX2; + } + container udt2u { + when "../sid-context-type = 'udt2u'" { + description + "../SIDContextType = 'UDT2U'"; + } + description + "uDT2U SID context"; + uses MGMT-SRV6-SID-CTX-U-DT2U; + } + container udt2m { + when "../sid-context-type = 'udt2m'" { + description + "../SIDContextType = 'UDT2M'"; + } + description + "uDT2M SID context"; + uses MGMT-SRV6-SID-CTX-U-DT2M; + } + container udx4 { + when "../sid-context-type = 'udx4'" { + description + "../SIDContextType = 'UDX4'"; + } + description + "UDX4 SID context"; + uses MGMT-SRV6-SID-CTX-U-DX; + } + container udx6 { + when "../sid-context-type = 'udx6'" { + description + "../SIDContextType = 'UDX6'"; + } + description + "UDX6 SID context"; + uses MGMT-SRV6-SID-CTX-U-DX; + } + leaf sid-context-type { + type Mgmt-srv6-endpoint; + description + "SIDContextType"; + } + } + + grouping MGMT-SRV6-SID-CTX { + description + "SRv6 SID context"; + container key { + description + "SID Key"; + uses MGMT-SRV6-SID-CTX-KEY; + } + leaf application-data { + type yang:hex-string; + description + "Application opaque data"; + } + } + + grouping MGMT-SRV6-ENDPOINT-BEHAVIOR { + description + "SRv6 Endpoint Behavior Info"; + leaf type { + type Mgmt-srv6-endpoint; + description + "Behavior type"; + } + leaf description { + type string; + description + "Behavior description"; + } + } + + grouping SRV6-LOCAL-SID-INFO { + description + "SRv6 SID Manager Local SID info"; + container sid-behavior { + description + "SID Behavior"; + uses MGMT-SRV6-ENDPOINT-BEHAVIOR; + } + container sid-context { + description + "SID Context"; + uses MGMT-SRV6-SID-CTX; + } + container create-timestamp { + description + "Creation timestamp"; + uses MGMT-SIDMGR-TIMESTAMP; + } + leaf sid { + type string; + description + "SID Value"; + } + leaf sid-block-prefix { + type string; + description + "SID Block Prefix"; + } + leaf sid-functionvalue { + type uint32; + description + "SID function value"; + } + leaf locator-ref-count { + type uint32; + description + "Number of Locators sharing this Local SID"; + } + } + + grouping SRV6-IDBLOCK-INFO { + description + "SRv6 ID Block info"; + container local-sids-oor-summary { + description + "ID Blocks Local SID Out of Resource info"; + uses SRV6-OOR-SUMMARY; + } + leaf prefix { + type string; + description + "ID Block Prefix"; + } + leaf index { + type uint32; + description + "ID Block Index"; + } + leaf sids-count { + type uint32; + description + "Number of SIDs"; + } + leaf locator-ref-count { + type uint32; + description + "Number of Locators Sharing this Block"; + } + } + + grouping SRV6-PER-BEH-INFO { + description + "SRv6 SID HW resource consumption"; + leaf endpoint-behavior { + type string; + description + "End function"; + } + leaf value { + type uint32; + description + "Value associated with the end function"; + } + } + + grouping SRV6-PLATFORM-SET-OR-PROPAGATE { + description + "SRv6 Platform default encap parameters value set + or propagate"; + leaf do-propagate { + type boolean; + description + "Propagate from incoming packet or frame"; + } + leaf value { + type uint8; + description + "Specific value set"; + } + } + + grouping MGMT-SRV6-PLATFORM-USID-ENDP-SUPPORT { + description + "Platform SRv6 uSID endpoint FIB support"; + leaf local-only { + type boolean; + description + "Local only support"; + } + leaf global-local-combo { + type boolean; + description + "Global-Local combo support"; + } + leaf separate-shift-and-non-shift { + type boolean; + description + "Separate Shift and Non-shift support"; + } + } + + grouping MGMT-SRV6-PLATFORM-SIG-PARAMS { + description + "Platform SRv6 params to be signaled"; + leaf max-sl { + type uint8; + description + "Max value of SegmentLeft field in received SRH"; + } + leaf max-end-pop-srh { + type uint8; + description + "Max num of SIDs in rcvd SRH for pop"; + } + leaf max-h-insert { + type uint8; + description + "Max num of SIDs for H.Insert op"; + } + leaf max-h-encap { + type uint8; + description + "Max num of SIDs for H.Encaps op"; + } + leaf max-end-d { + type uint8; + description + "Max num of SIDs in rcvd SRH for decap"; + } + } + + grouping MGMT-SIDMGR-STRING { + description + "Generic string"; + leaf string { + type string; + description + "String"; + } + } + + grouping SRV6-PLATFORM-SUPPORT { + description + "SRv6 Platform Support"; + container signaled-parameters { + description + "Signaled Parameters"; + uses MGMT-SRV6-PLATFORM-SIG-PARAMS; + } + container endpoint-entries { + description + "Supported endpoint entries"; + uses MGMT-SRV6-PLATFORM-USID-ENDP-SUPPORT; + } + leaf srv6 { + type boolean; + description + "SRv6 support"; + } + leaf tilfa { + type boolean; + description + "TI LFA support"; + } + leaf microloop-avoidance { + type boolean; + description + "Microloop-avoidance support"; + } + list endpoint-behavior { + description + "Supported end functions"; + uses MGMT-SIDMGR-STRING; + } + list headend-behavior { + description + "Supported headend functions"; + uses MGMT-SIDMGR-STRING; + } + list security-rule { + description + "Security rules"; + uses MGMT-SIDMGR-STRING; + } + list counter { + description + "Counters"; + uses MGMT-SIDMGR-STRING; + } + } + + grouping SRV6-PLATFORM-CFG-SUPPORT { + description + "SRv6 Platform Configurable Parameters under srv6 + mode"; + leaf encap-sa { + type boolean; + description + "SRv6 Encap Source Address"; + } + leaf encap-hop-limit-value { + type boolean; + description + "SRv6 Encap Hoplimit value"; + } + leaf encap-hop-limit-propagate { + type boolean; + description + "SRv6 Encap Hoplimit propagate"; + } + leaf encap-traffic-class-value { + type boolean; + description + "SRv6 value Encap TC value"; + } + leaf encap-traffic-class-propagate { + type boolean; + description + "SRv6 Encap TC propagate"; + } + leaf lib-range { + type boolean; + description + "SRv6 LIB and ELIB range support"; + } + leaf wlib-range { + type boolean; + description + "SRv6 WLIB range support"; + } + } + + grouping SRV6-PLATFORM-CAPABILITY { + description + "Platform Capabilities for SRv6"; + container cfg-support { + description + "Configurable param support"; + uses SRV6-PLATFORM-CFG-SUPPORT; + } + container support { + description + "Feature support"; + uses SRV6-PLATFORM-SUPPORT; + } + container encap-hop-limit-default { + description + "Platform Encap Hop-limit default info"; + uses SRV6-PLATFORM-SET-OR-PROPAGATE; + } + container encap-traffic-class-default { + description + "Platform Encap Traffic-class default info"; + uses SRV6-PLATFORM-SET-OR-PROPAGATE; + } + leaf max-sids { + type uint32; + description + "Maximum Sids"; + } + leaf sid-holdtime-mins { + type uint32; + units "minute"; + description + "Freed SID holdtime in mins"; + } + leaf max-locators { + type uint32; + description + "Maximum Locators"; + } + list sid-resource-usage { + description + "SID resource usage info for each supported + behavior"; + uses SRV6-PER-BEH-INFO; + } + } + + grouping SRV6-OOR-SUMMARY { + description + "SRv6 SID Manager Out of Resource Summary"; + leaf identifer-name { + type string; + description + "OOR Identifier Name"; + } + leaf oor-state { + type Srv6-out-of-resource-state; + description + "OOR State for SIDs"; + } + leaf oor-maximum-sid-count { + type uint32; + description + "Maximum Number of SIDs"; + } + leaf oor-current-free-sid-count { + type uint32; + description + "Current Number of Free SIDs"; + } + leaf oor-yellow-free-sid-threshold { + type uint32; + description + "Threshold for Number of Free SID below which OOR + Yellow State is reached"; + } + leaf oor-green-free-sid-threshold { + type uint32; + description + "Threshold for Number of Free SID above which OOR + Green State is restored"; + } + leaf oor-green-count { + type uint32; + description + "Number of times Resources Warning or Out of + Resources state has been cleared"; + } + leaf oor-yellow-count { + type uint32; + description + "Number of times system went into Resources + Warning state"; + } + leaf oor-red-count { + type uint32; + description + "Number of times system went into Out of + Resources state"; + } + } + + grouping SRV6-SIDMGR-SUMMARY { + description + "SRv6 SID Manager summary"; + container sids-out-of-resource-summary { + description + "SID resources global Out of Resource info"; + uses SRV6-OOR-SUMMARY; + } + leaf locators-count { + type uint16; + description + "Number of locators"; + } + leaf oper-locators-count { + type uint16; + description + "Number of operational locators"; + } + leaf sids-count { + type uint32; + description + "Number of allocated SIDs"; + } + leaf stale-sids-count { + type uint32; + description + "Number of Stale SIDs"; + } + leaf maximum-sids-count { + type uint32; + description + "Global Maximum number of SIDs"; + } + list block-local-sid-oor-summary { + description + "SIDs local (per block) Out of Resource info"; + uses SRV6-OOR-SUMMARY; + } + } + + grouping SRV6-SIDMGR-USID-WLIB-RANGES { + description + "SRv6 SID Manager uSID Wide Local ID Ranges"; + leaf ewlib-start { + type uint32; + description + "Start Value for Explicit Wide Local ID Block"; + } + leaf configured { + type boolean; + description + "True if start values are configured, otherwise + default"; + } + } + + grouping SRV6-SIDMGR-USID-LIB-RANGES { + description + "SRv6 SID Manager uSID Local ID Block Ranges"; + leaf lib-start { + type uint32; + description + "Start Value for Local ID Block"; + } + leaf elib-start { + type uint32; + description + "Start Value for Explicit Local ID Block"; + } + leaf configured { + type boolean; + description + "True if start values are configured, otherwise + default"; + } + } + + grouping MGMT-SRV6-SID-FMT { + description + "SRv6 SID Format Info"; + leaf type { + type Mgmt-srv6-sid-fmt; + description + "Format type"; + } + leaf description { + type string; + description + "Format description"; + } + } + + grouping SRV6-SIDMGR-SID-FMT-INFO { + description + "SRv6 SID Manager Per Format Operational Data"; + container format { + description + "SRv6 SID Format"; + uses MGMT-SRV6-SID-FMT; + } + container usidlib-ranges { + description + "SRv6 uSID Local ID Block Ranges"; + uses SRV6-SIDMGR-USID-LIB-RANGES; + } + container usidwlib-ranges { + description + "SRv6 uSID Wide Local ID Block Ranges"; + uses SRV6-SIDMGR-USID-WLIB-RANGES; + } + } + + grouping MGMT-SRV6-OP-MODE { + description + "SRv6 operational mode Info"; + leaf type { + type Srv6-op-mode; + description + "Mode type"; + } + leaf description { + type string; + description + "Mode description"; + } + } + + grouping MGMT-SRV6-OP-MODE-INFO { + description + "SRv6 SID Manager parameters related to operation + mode"; + container srv6-operational-mode { + description + "SRv6 operational mode"; + uses MGMT-SRV6-OP-MODE; + } + leaf srv6-operational-mode-enabled { + type boolean; + description + "SRv6 operational mode enabled"; + } + } + + grouping SRV6-SIDMGR-PARAMS-SET-OR-PROPAGATE { + description + "SRv6 SID Manager parameters value set or + propagate"; + leaf use-default { + type boolean; + description + "Use default value"; + } + leaf do-propagate { + type boolean; + description + "Propagate from incoming packet or frame"; + } + leaf value { + type uint8; + description + "Specific value set"; + } + } + + grouping SRV6-SIDMGR-PARAMS { + description + "SRv6 SID Manager parameters"; + container encap-hop-limit { + description + "Encap Hop-limit info"; + uses SRV6-SIDMGR-PARAMS-SET-OR-PROPAGATE; + } + container encap-traffic-class { + description + "Encap Traffic-class info"; + uses SRV6-SIDMGR-PARAMS-SET-OR-PROPAGATE; + } + leaf srv6-enabled { + type boolean; + description + "Is SRv6 enabled?"; + } + leaf configured-encap-source-address { + type inet:ipv6-address; + description + "Configured Encap Source address"; + } + leaf default-encap-source-address { + type inet:ipv6-address; + description + "Default Encap Source address"; + } + leaf is-sid-holdtime-configured { + type boolean; + description + "Is SID Holdtime configured?"; + } + leaf sid-holdtime-mins-configured { + type uint32; + units "minute"; + description + "Configured SID Holdtime in mins"; + } + list srv6-operational-mode { + description + "SRv6 operational modes"; + uses MGMT-SRV6-OP-MODE-INFO; + } + list sid-formats-info { + description + "SRv6 SID Formats Information"; + uses SRV6-SIDMGR-SID-FMT-INFO; + } + } + + grouping SRV6-SIDMGR-INFO { + description + "SRv6 SID Manager info"; + container sid-mgr-params { + description + "SID Mgr parameters"; + uses SRV6-SIDMGR-PARAMS; + } + container sid-mgr-summary { + description + "SID Mgr summary info"; + uses SRV6-SIDMGR-SUMMARY; + } + container platform-capabilities { + description + "Platform Capabilities"; + uses SRV6-PLATFORM-CAPABILITY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper.yang new file mode 100644 index 000000000..e8c673c57 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-segment-routing-srv6-oper.yang @@ -0,0 +1,299 @@ +module Cisco-IOS-XR-segment-routing-srv6-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-oper"; + prefix segment-routing-srv6-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-segment-routing-srv6-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-segment-routing-srv6-oper-sub1 { + revision-date 2022-05-19; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-srv6 package operational data. + + This module contains definitions + for the following management objects: + srv6: Segment Routing with IPv6 dataplane + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-19 { + description + "New uSID LIB ranges information + 2021-11-23 + Display locators delayed-delete status + 2021-11-19 + Platform capabilities report extended with Max Locator supported + 2021-10-15 + New SID CTX type supported uDT46 and DT46 + 2021-09-16 + Manager will display platform requested defaults for traffic-class and hoplimit SRv6 encap parameters"; + semver:module-version "4.1.0"; + } + revision 2021-06-23 { + description + "Added id name to OOR summary"; + semver:module-version "4.0.0"; + } + revision 2020-12-11 { + description + "Update manager show command for 2 passes + 2020-10-16 + Rename SID count fields in SID manager summary. sids_count only includes non auto-generated SIDs. + 2020-05-06 + changes in def for some endpoint types and headend types + 2020-04-16 + Changes due to common Srv6 bag and renaming some leaf"; + semver:module-version "3.0.0"; + } + revision 2019-11-20 { + description + "Changes for SRv6 end function + 2019-04-22 + Flex-Algo specific changes"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping LOCATOR-ALL-SID-TABLE { + description + "Common node of active, standby"; + container locator-all-sids { + description + "Operational container for all (Active and Stale) + SIDs across all Locators"; + list locator-all-sid { + key "locator-name sid-opcode"; + description + "Operational data for given locator and SID + opcode"; + leaf locator-name { + type dt1:Srv6-locator-name; + description + "Locator name"; + } + leaf sid-opcode { + type uint32; + description + "Sid opcode"; + } + uses SRV6-SID-INFO; + } + } + } + + grouping LOCATOR-TABLE { + description + "Common node of active, standby"; + container locators { + description + "SRv6 locators related information"; + list locator { + key "name"; + description + "Operational data for given SRv6 locator"; + container info { + description + "Operational data for given SRv6 locator"; + uses SRV6-LOCATOR-INFO; + } + container sids { + description + "SRv6 locator SID table"; + list sid { + key "address"; + description + "Operational data for given SRv6 SID"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 address"; + } + uses SRV6-SID-INFO; + } + } + leaf name { + type dt1:Srv6-locator-name; + description + "Locator name"; + } + } + } + } + + grouping BLOCK-TABLE { + description + "Common node of active, standby"; + container blocks { + description + "SRv6 SID blocks"; + list block { + key "prefix prefix-len"; + description + "A SRv6 SID block"; + container info { + description + "Operational data for given SRv6 SID block"; + uses SRV6-IDBLOCK-INFO; + } + leaf prefix { + type inet:ip-address-no-zone; + description + "Prefix address"; + } + leaf prefix-len { + type uint32 { + range "16..64"; + } + description + "Prefix mask length"; + } + } + } + } + + grouping MANAGER { + description + "Common node of active, standby"; + container manager { + description + "SID Manager information"; + uses SRV6-SIDMGR-INFO; + } + } + + grouping MICRO-SEGMENT { + description + "Common node of active, standby"; + container micro-segment { + description + "SRv6 Micro-segment info"; + container local-sids { + description + "SRv6 Micro-segment local-uSIDs info"; + list local-sid { + key "sid-prefix sid-prefix-len"; + description + "SRv6 Micro-segment local-uSID info"; + leaf sid-prefix { + type inet:ip-address-no-zone; + description + "SID Prefix address"; + } + leaf sid-prefix-len { + type uint32 { + range "16..64"; + } + description + "SID Prefix mask length"; + } + uses SRV6-LOCAL-SID-INFO; + } + } + } + } + + grouping LOCATOR-ALL-ACTIVE-SID-TABLE { + description + "Common node of active, standby"; + container locator-all-active-sids { + description + "Operational container for Active SIDs across all + Locators"; + list locator-all-active-sid { + key "locator-name sid-opcode"; + description + "Operational data for given locator and SID + opcode"; + leaf locator-name { + type dt1:Srv6-locator-name; + description + "Locator name"; + } + leaf sid-opcode { + type uint32; + description + "Sid opcode"; + } + uses SRV6-SID-INFO; + } + } + } + + container srv6 { + config false; + description + "Segment Routing with IPv6 dataplane"; + container active { + description + "Active SRv6 operational data"; + container locator-all-stale-sids { + description + "Operational container for all Stale SIDs across + all Locators"; + list locator-all-stale-sid { + key "locator-name sid-opcode"; + description + "Operational data for given locator and SID + opcode"; + leaf locator-name { + type dt1:Srv6-locator-name; + description + "Locator name"; + } + leaf sid-opcode { + type uint32; + description + "Sid opcode"; + } + uses SRV6-SID-INFO; + } + } + uses MANAGER; + uses BLOCK-TABLE; + uses MICRO-SEGMENT; + uses LOCATOR-TABLE; + uses LOCATOR-ALL-SID-TABLE; + uses LOCATOR-ALL-ACTIVE-SID-TABLE; + } + container standby { + description + "Standby SRv6 operational data"; + uses MANAGER; + uses BLOCK-TABLE; + uses MICRO-SEGMENT; + uses LOCATOR-TABLE; + uses LOCATOR-ALL-SID-TABLE; + uses LOCATOR-ALL-ACTIVE-SID-TABLE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-cfg.yang new file mode 100644 index 000000000..27cc3fcc6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-cfg.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-shellutil-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-cfg"; + prefix shellutil-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR shellutil package configuration. + + This module contains definitions + for the following management objects: + host-names: Container Schema for hostname configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-10-12 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container host-names { + description + "Container Schema for hostname configuration"; + leaf host-name { + type string; + description + "Configure system's hostname"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-copy-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-copy-act.yang new file mode 100644 index 000000000..e118e7d46 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-copy-act.yang @@ -0,0 +1,107 @@ +module Cisco-IOS-XR-shellutil-copy-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-copy-act"; + prefix shellutil-copy-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-07 { + description + "Updated the task group for copy *-ext.yang"; + } + revision 2018-05-20 { + description + "Updated the module name as per CISCO format"; + } + revision 2018-01-20 { + description + "IOS XR 7.0.1 revision."; + } + + rpc copy { + description + "Copy"; + input { + leaf sourcename { + type string; + description + "source file name to copy"; + } + leaf destinationname { + type string; + mandatory true; + description + "destination file name"; + } + leaf sourcefilesystem { + type string; + mandatory true; + description + "source file system e.g disk0: tftp"; + } + leaf destinationfilesystem { + type string; + mandatory true; + description + "destination file system e.g disk0:, tftp:"; + } + leaf sourcelocation { + type string; + description + "source location"; + } + leaf destinationlocation { + type string; + description + "destination location"; + } + leaf vrf { + type string; + description + "vrf name"; + } + leaf recurse { + type boolean; + description + "recurse files to copy"; + } + } + output { + leaf response { + type string; + description + "Status of copy operation"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-delete-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-delete-act.yang new file mode 100644 index 000000000..9f426af08 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-delete-act.yang @@ -0,0 +1,76 @@ +module Cisco-IOS-XR-shellutil-delete-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-delete-act"; + prefix shellutil-delete-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-07 { + description + "Updated the task group for delete *-ext.yang"; + } + revision 2018-01-20 { + description + "IOS XR 7.0.1 revision."; + } + + rpc delete { + description + "Delete"; + input { + leaf name { + type string; + mandatory true; + description + "file name"; + } + leaf location { + type string; + description + "location"; + } + leaf recurse { + type boolean; + description + "Files in dir"; + } + } + output { + leaf response { + type string; + description + "Status of delete operation"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper-sub1.yang new file mode 100644 index 000000000..9a7ffdad8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper-sub1.yang @@ -0,0 +1,153 @@ +submodule Cisco-IOS-XR-shellutil-dir-oper-sub1 { + belongs-to Cisco-IOS-XR-shellutil-dir-oper { + prefix Cisco-IOS-XR-shellutil-dir-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR shellutil-dir package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-14 { + description + "Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SHELLUTIL-DIR-LAST-MODIFIED { + description + "last modified time"; + leaf date { + type uint32; + description + "Modified Date"; + } + leaf month { + type string; + description + "Modified Month"; + } + leaf year { + type uint32; + description + "Modified Year"; + } + leaf hour { + type uint32; + description + "Modified Hour"; + } + leaf min { + type uint32; + description + "Modified Minute"; + } + leaf sec { + type uint32; + units "second"; + description + "Modified Seconds"; + } + } + + grouping SHELLUTIL-DIR-CONTENT { + description + "file Info"; + leaf inode { + type uint32; + description + "Inode number"; + } + leaf permission { + type string; + description + "File permission"; + } + leaf links { + type uint32; + description + "Links"; + } + leaf size { + type string; + description + "File size"; + } + leaf name { + type string; + description + "File name"; + } + leaf link-name { + type string; + description + "Link name"; + } + list last-modified { + description + "Last modified time"; + uses SHELLUTIL-DIR-LAST-MODIFIED; + } + } + + grouping SHELLUTIL-DIR-UTIL { + description + "Directories Info"; + leaf path { + type string; + description + "Directory path"; + } + list content { + description + "List of directory contents"; + uses SHELLUTIL-DIR-CONTENT; + } + } + + grouping SHELLUTIL-DIR { + description + "List of directories"; + leaf total-size { + type string; + description + "Total size"; + } + leaf free-size { + type string; + description + "Free size"; + } + list directory { + description + "Available directories"; + uses SHELLUTIL-DIR-UTIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper.yang new file mode 100644 index 000000000..242fad497 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-dir-oper.yang @@ -0,0 +1,101 @@ +module Cisco-IOS-XR-shellutil-dir-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-dir-oper"; + prefix shellutil-dir-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-shellutil-dir-oper-sub1 { + revision-date 2020-10-14; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR shellutil-dir package operational data. + + This module contains definitions + for the following management objects: + dir: List of directories + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-14 { + description + "Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container dir { + config false; + description + "List of directories"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Node ID"; + container dir-paths { + description + "Directory info"; + list dir-path { + key "name"; + description + "Directory path"; + leaf name { + type string; + description + "PATH"; + } + uses SHELLUTIL-DIR; + } + } + container dir-path-recs { + description + "Directory info with recusive option"; + list dir-path-rec { + key "name"; + description + "Directory path with recursive option"; + leaf name { + type string; + description + "PATHREC"; + } + uses SHELLUTIL-DIR; + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper-sub1.yang new file mode 100644 index 000000000..28018fcf5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper-sub1.yang @@ -0,0 +1,85 @@ +submodule Cisco-IOS-XR-shellutil-filesystem-oper-sub1 { + belongs-to Cisco-IOS-XR-shellutil-filesystem-oper { + prefix Cisco-IOS-XR-shellutil-filesystem-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR shellutil-filesystem package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-22 { + description + "Changing type of size and free from string to uint64_t."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FILESYSTEM-UTIL { + description + "File System Description"; + leaf size { + type uint64; + units "byte"; + description + "Size of the file system in bytes"; + } + leaf free { + type uint64; + units "byte"; + description + "Free space in the file system in bytes"; + } + leaf type { + type string; + description + "Type of file system"; + } + leaf flags { + type string; + description + "Flags of file system"; + } + leaf prefixes { + type string; + description + "Prefixes of file system"; + } + } + + grouping FILESYSTEM { + description + "File Systems"; + list file-system { + description + "Available file systems"; + uses FILESYSTEM-UTIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper.yang new file mode 100644 index 000000000..fefc6f974 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-filesystem-oper.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XR-shellutil-filesystem-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-filesystem-oper"; + prefix shellutil-filesystem-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-shellutil-filesystem-oper-sub1 { + revision-date 2021-03-22; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR shellutil-filesystem package operational data. + + This module contains definitions + for the following management objects: + file-system: List of filesystems + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-22 { + description + "Changing type of size and free from string to uint64_t."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container file-system { + config false; + description + "List of filesystems"; + list node { + key "node-name"; + description + "Node ID"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses FILESYSTEM; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper-sub1.yang new file mode 100644 index 000000000..73bf79898 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper-sub1.yang @@ -0,0 +1,142 @@ +submodule Cisco-IOS-XR-shellutil-oper-sub1 { + belongs-to Cisco-IOS-XR-shellutil-oper { + prefix Cisco-IOS-XR-shellutil-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR shellutil package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Time-source { + type enumeration { + enum "error" { + value 0; + description + "Error"; + } + enum "none" { + value 1; + description + "Unsynchronized time"; + } + enum "ntp" { + value 2; + description + "Network time protocol"; + } + enum "manual" { + value 3; + description + "User configured"; + } + enum "calendar" { + value 4; + description + "Hardware calendar"; + } + } + description + "Time source"; + } + + grouping SYSTEM-UPTIME { + description + "System uptime"; + leaf host-name { + type string; + description + "Host name"; + } + leaf uptime { + type uint32; + units "second"; + description + "Amount of time in seconds since this system + was last initialized"; + } + } + + grouping TIME-DATE { + description + "Date and time"; + leaf year { + type uint16; + description + "Year [0..65535]"; + } + leaf month { + type uint8; + description + "Month [1..12]"; + } + leaf day { + type uint8; + description + "Day [1..31]"; + } + leaf hour { + type uint8; + description + "Hour [0..23]"; + } + leaf minute { + type uint8; + description + "Minute [0..59]"; + } + leaf second { + type uint8; + description + "Second [0..60], use 60 for leap-second"; + } + leaf millisecond { + type uint16; + description + "Millisecond [0..999]"; + } + leaf wday { + type uint16; + description + "Week Day [0..6]"; + } + leaf time-zone { + type string; + description + "Time zone"; + } + leaf time-source { + type Time-source; + description + "Time source"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper.yang new file mode 100644 index 000000000..011ed3d2d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-shellutil-oper.yang @@ -0,0 +1,60 @@ +module Cisco-IOS-XR-shellutil-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-oper"; + prefix shellutil-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-shellutil-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR shellutil package operational data. + + This module contains definitions + for the following management objects: + system-time: System time information + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container system-time { + config false; + description + "System time information"; + container clock { + description + "System clock information"; + uses TIME-DATE; + } + container uptime { + description + "System uptime information"; + uses SYSTEM-UPTIME; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1.yang new file mode 100644 index 000000000..7f8fe3114 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1.yang @@ -0,0 +1,224 @@ +submodule Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1 { + belongs-to Cisco-IOS-XR-show-fpd-loc-ng-oper { + prefix Cisco-IOS-XR-show-fpd-loc-ng-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR show-fpd-loc-ng package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-18 { + description + "IOS XR 7.3.1 revision"; + semver:module-version "1.2.1M"; + } + revision 2020-03-01 { + description + "IOS XR 7.0.13 revision + 2020-01-21 + IOS XR 7.2.1 revision"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping FPD-LOCATION-NAME { + description + "card location name string"; + leaf location-name { + type string; + description + "card location"; + } + } + + grouping FPD-SHOW-LOCATION-NAME-LIST { + description + "card location name string list"; + list location-name { + description + "card location list"; + uses FPD-LOCATION-NAME; + } + } + + grouping FPD-PKG-INFO { + description + "fpd pkg info"; + leaf card-type { + type string; + description + "card type"; + } + leaf fpd-desc { + type string; + description + "fpd desc"; + } + leaf upgrade-method { + type string; + description + "reload or not"; + } + leaf fpd-ver { + type string; + description + "fpd version"; + } + leaf min-sw-ver { + type string; + description + "minimum sw version"; + } + leaf min-hw-ver { + type string; + description + "minimum hw version"; + } + leaf cap-bitmap { + type uint32; + description + "capability attribute bitmask"; + } + leaf reload-type { + type uint32; + description + "reload type"; + } + } + + grouping FPD-PKG-INFO-LIST { + description + "fpd pkg info list "; + list fpd-pkg-data { + description + " fpd pkg list "; + uses FPD-PKG-INFO; + } + } + + grouping FPD-LOC-INFO { + description + "fpd loc info"; + leaf location { + type string; + description + "fpd location"; + } + leaf fpd-name { + type string; + description + "fpd name"; + } + } + + grouping FPD-LOC-INFO-LIST { + description + "card location name string list"; + list fpd-name { + description + "Fpd name list"; + uses FPD-LOC-INFO; + } + } + + grouping FPD-INFO { + description + "fpd info"; + leaf location { + type string; + description + "fpd location"; + } + leaf card-name { + type string; + description + "Name of card on which fpd is located"; + } + leaf fpd-name { + type string; + description + "fpd name"; + } + leaf hw-version { + type string; + description + "hadware version"; + } + leaf secure-boot-attr { + type string; + description + "secure boot attribute"; + } + leaf status { + type string; + description + "status of the fpd"; + } + leaf running-version { + type string; + description + "image running version "; + } + leaf programd-version { + type string; + description + "image programd version"; + } + leaf reload-location { + type string; + description + "location to be reloaded to activate"; + } + } + + grouping FPD-INFO-LIST { + description + "fpd info list"; + leaf upgrade-status { + type string; + description + "Either Upgrading or free used by CTC "; + } + leaf auto-upgrade-cfg { + type boolean; + description + "Auto upgrade config"; + } + list fpd-info-detail { + description + "fpd list with all details"; + uses FPD-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper.yang new file mode 100644 index 000000000..836fa6ee8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-show-fpd-loc-ng-oper.yang @@ -0,0 +1,144 @@ +module Cisco-IOS-XR-show-fpd-loc-ng-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-show-fpd-loc-ng-oper"; + prefix show-fpd-loc-ng-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1 { + revision-date 2020-09-18; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR show-fpd-loc-ng package operational data. + + This module contains definitions + for the following management objects: + show-fpd: Show hw-module fpd + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-18 { + description + "IOS XR 7.3.1 revision"; + semver:module-version "1.2.1M"; + } + revision 2020-03-01 { + description + "IOS XR 7.0.13 revision + 2020-01-21 + IOS XR 7.2.1 revision"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container show-fpd { + config false; + description + "Show hw-module fpd"; + container locations { + description + "location table"; + list location { + key "location-name"; + description + "location"; + container fpds { + description + "Display fpds on given locations"; + list fpd { + key "fpd-name"; + description + "Display fpds detail"; + leaf fpd-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Fpd Name"; + } + uses FPD-INFO-LIST; + } + } + leaf location-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Fpd location"; + } + } + } + container hw-module-fpd { + description + "Display fpds on all locations -show hw-module + fpd"; + uses FPD-INFO-LIST; + } + container help-locations { + description + "help location table"; + list help-location { + key "location-name"; + description + "location"; + container help-fpd { + description + "Display fpds on given locations"; + uses FPD-LOC-INFO-LIST; + } + leaf location-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Fpd location"; + } + } + } + container hw-module-fpd-help-fpd { + description + "Display help-fpd -show hw-module fpd help-fpd"; + uses FPD-LOC-INFO-LIST; + } + container package { + description + "gets fpd package info"; + uses FPD-PKG-INFO-LIST; + } + container location-help { + description + "fpd upgradable locations"; + uses FPD-SHOW-LOCATION-NAME-LIST; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sks-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-act.yang new file mode 100644 index 000000000..547344a9a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-act.yang @@ -0,0 +1,137 @@ +module Cisco-IOS-XR-sks-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sks-act"; + prefix sks-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-14 { + description + "IOS XR 7.4.1 revision."; + semver:module-version "1.0.0"; + } + + rpc key-generate-mceliece { + description + "Generate a mceliece key pair used for exporting/importing sks seeds"; + input { + leaf key-label { + type string; + description + "Mceliece key label"; + } + } + } + rpc key-zeroize-mceliece { + description + "Remove the generated mceliece key pair"; + input { + leaf key-label { + type string; + description + "Mceliece key label"; + } + } + } + rpc key-import-peer-mceliece { + description + "Import a peer's mceliece pubkey used for exporting sks seeds"; + input { + leaf peer-label { + type string; + mandatory true; + description + "Name of the peer"; + } + leaf path { + type string; + mandatory true; + description + "Path to Mceliece pubkey file"; + } + } + } + rpc key-remove-peer-mceliece { + description + "Remove a peer's imported mceliece pubkey"; + input { + leaf peer-label { + type string; + mandatory true; + description + "Name of the peer"; + } + } + } + rpc key-export-self-mceliece { + description + "Export self mceliece pubkey"; + input { + leaf key-label { + type string; + description + "Name of the peer"; + } + leaf path { + type string; + description + "Path to Mceliece pubkey file"; + } + } + } + rpc seed-import-peer-mceliece { + description + "Import sks seed for a peer"; + input { + leaf peer-label { + type string; + mandatory true; + description + "Name of the peer to which the seed has to be imported"; + } + leaf path { + type string; + mandatory true; + description + "Path to the seed file(Encrypted using peers Mceliece key)"; + } + } + } + rpc seed-export-peer-mceliece { + description + "Export sks seed for a peer"; + input { + leaf peer-label { + type string; + mandatory true; + description + "Name of the peer to which the seed has to be exported"; + } + leaf path { + type string; + description + "Path to the seed file(Encrypted using peers Mceliece key)"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-cfg.yang new file mode 100644 index 000000000..571fc53c0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-cfg.yang @@ -0,0 +1,107 @@ +module Cisco-IOS-XR-sks-server-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sks-server-cfg"; + prefix sks-server-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sks-server package configuration. + + This module contains definitions + for the following management objects: + sks: Session key server configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sks { + description + "Session key server configuration"; + list profile-name { + key "name"; + description + "Profile name"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Profile Name"; + } + list device-identifier-name { + key "name"; + description + "Device identifier name"; + container peer-identifier-names { + description + "peer identifier"; + list peer-identifier-name { + key "name"; + description + "peer identifier name"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "peer identifier name"; + } + leaf master { + type uint32 { + range "0..1"; + } + mandatory true; + description + "1 for master, 0 for slave"; + } + } + } + leaf pool { + type uint32 { + range "0..1"; + } + default "0"; + description + "1 for single pool, 0 for double pool"; + } + leaf live-keys { + type uint32 { + range "1..120"; + } + default "1"; + description + "value between 1-120, default is 1"; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "device identifier name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper-sub1.yang new file mode 100644 index 000000000..f289cdaa3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper-sub1.yang @@ -0,0 +1,142 @@ +submodule Cisco-IOS-XR-sks-server-oper-sub1 { + belongs-to Cisco-IOS-XR-sks-server-oper { + prefix Cisco-IOS-XR-sks-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR sks-server package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-11 { + description + "Added string bound check."; + semver:module-version "1.0.0"; + } + revision 2020-10-14 { + description + "Initial yang support for sks oper."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SKS-MCELIECE-PUBKEY-INFO { + description + "Info for a sks pubkey"; + leaf key-label { + type string; + description + "Label for pubkey"; + } + leaf key-type { + type string; + description + "Type of pubkey"; + } + leaf key-size { + type uint32; + description + "Size of pubkey"; + } + leaf key-hash { + type string; + description + "SHA1 hash of pubkey"; + } + } + + grouping SKS-PEER-INFO { + description + "Info for a sks peer"; + leaf peer-name-xr { + type string; + description + "Peer identifier"; + } + leaf profile-name { + type string; + description + "Profile Name for the peer"; + } + leaf seed-done { + type boolean; + description + "Seed done for this peer"; + } + leaf pubkey-imp-done { + type boolean; + description + "Pubkey import done for this peer"; + } + leaf master { + type boolean; + description + "This peer is master"; + } + } + + grouping SKS-PROFILE-INFO { + description + "Info for a sks profile"; + leaf profile-name-xr { + type string; + description + "Profile Name"; + } + leaf my-identifier { + type string; + description + "My identifier"; + } + leaf live-keys { + type uint32; + description + "Live keys for this profile"; + } + leaf single-pool { + type boolean; + description + "Single/Double pool for this profile"; + } + leaf prf-done { + type boolean; + description + "PRF done for this profile"; + } + leaf reg-client-count { + type uint32; + description + "Number of clients registered for change in this + profile"; + } + list peer { + description + "Peers configured in this profile"; + uses SKS-PEER-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper.yang new file mode 100644 index 000000000..b1a6d868b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sks-server-oper.yang @@ -0,0 +1,131 @@ +module Cisco-IOS-XR-sks-server-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sks-server-oper"; + prefix sks-server-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-sks-server-oper-sub1 { + revision-date 2021-08-11; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sks-server package operational data. + + This module contains definitions + for the following management objects: + sks: Secure Key Server(SKS) data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-11 { + description + "Added string bound check."; + semver:module-version "1.0.0"; + } + revision 2020-10-14 { + description + "Initial yang support for sks oper."; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sks { + config false; + description + "Secure Key Server(SKS) data"; + container profiles { + description + "Secure Key Server(SKS) Profile info"; + list profile { + key "profile-name"; + description + "Secure Key Server(SKS) Peer bag"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..127"; + } + description + "Enter Profile name"; + } + uses SKS-PROFILE-INFO; + } + } + container self-mc-pubkeys { + description + "Secure Key Server(SKS) self pubkey data"; + list self-mc-pubkey { + key "label"; + description + "Secure Key Server(SKS) self mceliece pubkey + details"; + leaf label { + type xr:Cisco-ios-xr-string { + length "1..23"; + } + description + "Enter Pubkey label"; + } + uses SKS-MCELIECE-PUBKEY-INFO; + } + } + container peers { + description + "Secure Key Server(SKS) Peer info"; + list peer { + key "peer-name"; + description + "Secure Key Server(SKS) Peer bag"; + leaf peer-name { + type xr:Cisco-ios-xr-string { + length "1..23"; + } + description + "Enter Peer name"; + } + uses SKS-PEER-INFO; + } + } + container peer-mc-pubkeys { + description + "Secure Key Server(SKS) peer pubkey data"; + list peer-mc-pubkey { + key "label"; + description + "Secure Key Server(SKS) peer mceliece pubkey + details"; + leaf label { + type xr:Cisco-ios-xr-string { + length "1..23"; + } + description + "Enter Pubkey label"; + } + uses SKS-MCELIECE-PUBKEY-INFO; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-act.yang new file mode 100644 index 000000000..199aaad36 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-act.yang @@ -0,0 +1,382 @@ +module Cisco-IOS-XR-smart-license-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-act"; + prefix smart-license-act; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-smart-license-errors; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-09 { + description + "IOS XR 7.4.1 revision."; + semver:module-version "1.0.0"; + } + + typedef operation-status-enum { + type enumeration { + enum "success" { + value 0; + description + "Operation was a success"; + } + enum "failed" { + value 1; + description + "Operation failed"; + } + } + description + "Smart license operation status"; + } + + typedef request-type-enum { + type enumeration { + enum "None" { + value 0; + description + "ReservationSystemTypeNone"; + } + enum "local" { + value 1; + description + "ReservationSystemTypeLocal"; + } + enum "all" { + value 2; + description + "ReservationSystemTypeAll"; + } + enum "universal" { + value 3; + description + "ReservationSystemTypeUniversal"; + } + } + description + "Smart license reservation request type"; + } + + grouping overall-op-status { + description + "Overall operation status"; + leaf operation-status { + type operation-status-enum; + description + "Status of operation: Success or Failure"; + } + leaf return-code { + type error-enum; + description + "The return code"; + } + } + + grouping smartagent-udi { + description + "smartagent udi"; + leaf pid { + type string; + description + "The Product Identifier. Always combined with sn."; + } + leaf sn { + type string; + description + "The system serial number. Always combined with + pid."; + } + leaf vid { + type string; + description + "The version identifier. Usually combined with + pid & sn."; + } + leaf uuid { + type string; + 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; + description + "Free form virtual identifier often used by + software only devices like software routers or + VMs."; + } + leaf host-identifier { + type string; + description + "Host identifier available on some systems. + Typically 8 hex digits."; + } + leaf mac-address { + type string; + 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 udi-string-data-list { + description + "Return codes"; + container udi { + description + "UDI"; + uses smartagent-udi; + } + leaf data { + type string; + description + "Reservation codes: Example: request code if + reservation request is being carried out,return + code in case of reservation return etc"; + } + } + + grouping res-codes { + description + "Return codes for SLR-PLR"; + container response { + description + "Contains the overall status of operation and error code"; + uses overall-op-status; + } + leaf display-string { + type string; + description + "Reservation display string"; + } + container udi { + description + "UDI"; + uses smartagent-udi; + } + leaf request-code { + type string; + description + "Reservation request code"; + } + leaf confirmation-code { + type string; + description + "Reservation request code"; + } + leaf reservation-return-code { + type string; + description + "Reservation request code"; + } + } + + rpc de-register { + description + "De-register. This will immediately de-register the device. + If state:operational-mode=opr-mode-reporting then this will return + notsupported in output:return-code"; + output { + container response { + description + "Contains the overall status of operation and error code"; + uses overall-op-status; + } + } + } + rpc renew-id { + description + "Under normal operations smart licensing will automatically renew + the ID certificates used for regsitration. This command can + be used if the customer wants to initiate a manual + registration renewal. + If state:operational-mode=opr-mode-reporting then this + will return notsupported in output:return-code"; + output { + container response { + description + "Contains the overall status of operation and error code"; + uses overall-op-status; + } + } + } + rpc renew-auth { + description + "Under normal operations smart licensing will automatically renew + the license authorization every 30 days. This command can + be used if the customer wants to initiate a manual + renewal. + If state:operational-mode=opr-mode-reporting then this + will return notsupported in output:return-code"; + output { + container response { + description + "Contains the overall status of operation and error code"; + uses overall-op-status; + } + } + } + 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. + If state:operational-mode=opr-mode-reporting then this + will return notsupported in output:return-code"; + 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 { + container response { + description + "Contains the overall status of operation and error code"; + uses overall-op-status; + } + } + } + rpc reservation-request { + description + "Reservation request for PLR/SLR mode"; + input { + leaf request-type { + type request-type-enum; + description + "Reservation request type"; + } + } + output { + container reservation-codes { + description + "Contains return code information of operation"; + uses res-codes; + } + } + } + rpc reservation-return { + description + "Return reservation for the active system"; + input { + leaf request-type { + type request-type-enum; + description + "Reservation request type"; + } + } + output { + container reservation-codes { + description + "Contains return code information of operation"; + uses res-codes; + } + } + } + rpc reservation-return-authorization { + description + "Return a smart license reservation from an authorization code."; + input { + leaf auth-code { + type string; + description + "Auth code to be returned"; + } + container file { + description + "Return auth code from file"; + leaf file-path { + type string; + description + "File containing auth code to be returned"; + } + } + } + output { + container reservation-codes { + description + "Contains return code information of operation"; + uses res-codes; + } + } + } + rpc reservation-install { + description + "Install a smart license reservation authorization code"; + input { + leaf authorization-code { + type string; + description + "Install the auth code"; + } + container file { + description + "Install auth code from file"; + leaf file-path { + type string; + description + "File containing auth code to be installed"; + } + } + } + output { + container reservation-codes { + description + "Contains return code information of operation"; + uses res-codes; + } + } + } + rpc reservation-cancel { + description + "Cancel reservation for the active system"; + input { + leaf request-type { + type request-type-enum; + description + "Reservation request type"; + } + } + output { + container response { + description + "Contains the overall status of operation and error code"; + uses overall-op-status; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-cfg.yang new file mode 100644 index 000000000..7f1522645 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-cfg.yang @@ -0,0 +1,134 @@ +module Cisco-IOS-XR-smart-license-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-cfg"; + prefix smart-license-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR smart-license package configuration. + + This module contains definitions + for the following management objects: + licensing: SmartLicense Root + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-07-21 { + description + "Initial version."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Transport-type-enum { + type enumeration { + enum "transport-type-callhome" { + value 0; + description + "Use the Callhome as transport"; + } + enum "transport-type-smart" { + value 1; + description + "Use the smart as transport"; + } + } + description + "Transport type enum"; + } + + container licensing { + description + "SmartLicense Root"; + container flex-consumption { + description + "FCM configuration"; + leaf fcm-enable { + type boolean; + description + "Enable or disable"; + } + leaf software-upgrade-enable { + type boolean; + description + "Software-upgrade mode enabled"; + } + leaf reservation { + type boolean; + description + "License Smart Reservation Enabled"; + } + } + container transport { + description + "Select the type of message transport for Smart + Agent"; + container transport-smart { + description + "Smart transport config for Smart Agent"; + container proxy { + description + "Proxy related commands"; + leaf port { + type inet:port-number; + description + "The proxy port"; + } + leaf host-name { + type xr:Cisco-ios-xr-string { + length "1..200"; + } + description + "The IP address or hostname of the Proxy"; + } + } + container urls { + description + "URL for smart transport"; + leaf url-registration { + type string { + length "1..200"; + } + description + "Use the URL for Smart Transport registration"; + } + } + } + leaf transport-type { + type Transport-type-enum; + description + "Select the type of message transport for Smart + Licensing"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-errors.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-errors.yang new file mode 100644 index 000000000..8b75313a4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-errors.yang @@ -0,0 +1,983 @@ +submodule Cisco-IOS-XR-smart-license-errors { + belongs-to Cisco-IOS-XR-smart-license-act { + prefix smart-license-act; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, 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-02-03 { + description + "Added support for policies & usage reporting. + deprecated some functionality."; + reference "https://software.cisco.com/"; + semver:module-version "1.0.0"; + } + revision 2017-10-11 { + description + "Initial Revision of the error codes"; + } + + 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, + it may also mean non existence of file + in cases where files are provided as input"; + } + 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 Receive error "; + } + enum "ipctimeout" { + value 95; + description + "The IPC timeout 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 entitlement 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 server 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 "transportconfig" { + value 143; + description + "A feature required a specific transport configuration + which is not configured"; + } + enum "IPCMsgVersion" { + value 144; + description + "Internal IPC error indicating an IPC version mismatch"; + } + enum "IPCFeatureDisabled" { + value 145; + description + "Internal IPC error. + The feature related to the IPC message is not available"; + } + enum "IPCErrorCode" { + value 146; + description + "Internal IPC error. + The other side does not understand this error code"; + } + enum "NotAuthorized" { + value 147; + description + "Entitlement not authorized. + Returned from the entitlement request call if the + entitlement tag (license) cannot be authorized. + The feature should not run if it gets this return code. + This error code will only be returned under the + following conditions: + - Specific License Reservation (SLR) mode is in use + - The authorization code installed does not contain + the requested entitlement tag. + - The authorization code installed does not contain + enough counts to satisfy the request. + - The entitlement tag is export restricted and is + not export authorized."; + } + enum "ExportAllowed" { + value 148; + description + "When the global export compliance flag is set to true, + this error code be returned when calling export control + APIs functions"; + } + enum "NotExportRestricted" { + value 149; + description + "This error code will be returned when calling export + control API functions to request or return export + authorization key for a feature + that is not export restricted."; + } + enum "NoKey" { + value 150; + description + "No authorization key to be returned. + This error code will be returned when there is a + request for export return key but the authorization + key for the feature does not exist."; + } + enum "OperationInProgress" { + value 151; + description + "The requested operation is already in progress"; + } + enum "ReservationNoAuthCodeFound" { + value 152; + description + "No authorization code found in meta file for the devices + in this High Availability (HA) stack. + Returned from the reservation install routine."; + } + enum "PreviouslyInstalled" { + value 153; + description + "The user tried to install a reservation authorization + code but it has been used previously"; + } + enum "IsExportRestricted" { + value 154; + description + "The Entitlement tag is export restricted"; + } + enum "ExportRestrictedAuth" { + value 155; + description + "Export authorization keys are installed"; + } + enum "NoOperation" { + value 156; + description + "There is no export key request or export return request + in progress."; + } + enum "MsgSizeExceed" { + value 157; + description + "Message size exceed the limit"; + } + enum "TelemetryNotEnabled" { + value 158; + description + "Telemetry not enabled"; + } + enum "NoURL" { + value 159; + description + "No URL is configured"; + } + enum "AuthKeyRequestInProgress" { + value 160; + description + "The export authorization key request is in progress"; + } + enum "AuthKeyReturnInProgress" { + value 161; + description + "The export authorization key return is in progress"; + } + enum "ErrorOkTryAgain" { + value 162; + description + "CSSM requested to try again"; + } + enum "MismatchEntitlementRequest" { + value 163; + description + "Mismatch in the entitlement request"; + } + enum "InvalidAuthCodeType" { + value 164; + description + "Invalid authorization code type for a particular operation"; + } + enum "InvalidXML" { + value 165; + description + "XML PArser fails to get an expected Node"; + } + enum "ThreadDeadLock" { + value 166; + description + "Mutex Error, This Thread already owns this lock"; + } + enum "MutexPreviouslyInit" { + value 167; + description + "Mutex Error. This Mutex was previously initialized"; + } + enum "MutexInvalid" { + value 168; + description + "Mutex Error, This is an invalid Mutex"; + } + enum "MutexBusy" { + value 169; + description + "Mutex Error. This Mutex is still busy and canot be destroyed"; + } + enum "MutexNotOwner" { + value 170; + description + "Mutex Error. The current thread is not the owner of the mutex"; + } + enum "LicenseInUse" { + value 171; + description + "Enforced/ExportRestricted License is in use"; + } + enum "FailedToStoreInTheFile" { + value 172; + description + "Error if it failed to store the data in the given file path"; + } + enum "TrustCodeAlreadyInstalled" { + value 173; + description + "Error if the user tries to generate trust request + but trust code has already been installed"; + } + enum "ErrorMax" { + description + "max error code"; + } + } + description + "Smart License error codes returned by + Smart Licensing RPC calls"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper-sub1.yang new file mode 100644 index 000000000..73cc77c41 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper-sub1.yang @@ -0,0 +1,454 @@ +submodule Cisco-IOS-XR-smart-license-platform-oper-sub1 { + belongs-to Cisco-IOS-XR-smart-license-platform-oper { + prefix Cisco-IOS-XR-smart-license-platform-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR smart-license-platform package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-03 { + description + "Added support for enum node-deactivated."; + semver:module-version "1.1.0"; + } + revision 2020-09-15 { + description + "Structured the yang response for show CLIs."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ft-feature-name-enum { + type enumeration { + enum "essential" { + description + "essential"; + } + enum "l3vpn-advantage" { + description + "l3vpn advantage"; + } + enum "macsec-advantage" { + description + "macsec advantage"; + } + enum "peering-scale-advantage" { + description + "peering scale advantage"; + } + enum "traffic-engineering-advantage" { + description + "traffic engineering advantage"; + } + enum "flex-algo-advantage" { + description + "flex algo advantage"; + } + enum "service-layer-advantage" { + description + "service layer advantage"; + } + enum "evpn-advantage" { + description + "evpn advantage"; + } + enum "vpls-advantage" { + description + "vpls advantage"; + } + enum "iccp-advantage" { + description + "iccp advantage"; + } + enum "l2vpn-advantage" { + description + "l2vpn advantage"; + } + } + description + "Feature Name in the feature table"; + } + + typedef Feature-status-enum { + type enumeration { + enum "active" { + description + "active"; + } + enum "inactive" { + description + "inactive"; + } + } + description + "Feature Name"; + } + + typedef Feature-name-enum { + type enumeration { + enum "fcm" { + description + "fcm"; + } + enum "system" { + description + "system"; + } + } + description + "Feature Name"; + } + + typedef Bool-state { + type enumeration { + enum "no" { + value 0; + description + "No"; + } + enum "yes" { + value 1; + description + "Yes"; + } + } + description + "Boolean State "; + } + + typedef Sia-status-enum { + type enumeration { + enum "incompliance" { + description + "incompliance"; + } + enum "out-of-compliance" { + description + "out of compliance"; + } + enum "node-deactivated" { + description + "node deactivated"; + } + } + description + "SIA Status"; + } + + grouping FEATURE-LIST { + description + "FEATURE LIST"; + container count { + description + "Count"; + uses PLAT-ENTITLEMENT; + } + leaf feature-area { + type Feature-name-enum; + description + "Feature Name"; + } + leaf entitlement { + type string; + description + "Entitlement"; + } + } + + grouping PLAT-SL-SUMMARY { + description + "SL Summary"; + container collection { + description + "Last and Next collection times"; + uses PLAT-INTERVALS; + } + container reporting { + description + "Last and Next reporting times"; + uses PLAT-INTERVALS; + } + container sia-status { + description + "SIA Status"; + uses PLAT-SIA-STATUS; + } + container upgrade-license-status { + description + "Upgrade License Status"; + uses PLAT-UPGRADE-LICENSE-STATUS; + } + list license { + description + "List of licenses consumed"; + uses FEATURE-LIST; + } + } + + grouping PLAT-ENTITLEMENT { + description + "PLAT ENTITLEMENT"; + leaf last { + type uint32; + description + "Last count"; + } + leaf next { + type uint32; + description + "Next count"; + } + } + + grouping PLAT-ENTITLEMENT-LIST { + description + "PLAT ENTITLEMENT LIST"; + container count { + description + "Count"; + uses PLAT-ENTITLEMENT; + } + leaf name { + type string; + description + "Entitlement Name"; + } + leaf entitlement-tag { + type string; + description + "Entitlement Tag"; + } + } + + grouping PLAT-FEATURE-TABLE { + description + "PLAT FEATURE TABLE"; + leaf feature { + type Ft-feature-name-enum; + description + "Feature Name"; + } + leaf location { + type string; + description + "Location"; + } + leaf interface-list { + type string; + description + "Interface List"; + } + } + + grouping PLAT-DETAIL-FLAGS { + description + "PLAT DETAIL FLAGS"; + leaf need-running-config { + type Bool-state; + description + "Is running config needed"; + } + leaf need-throughput { + type Bool-state; + description + "Is throughput needed"; + } + } + + grouping FEATURE-DETAILS { + description + "FEATURE DETAILS"; + container flags { + description + "Flags for is running config and is throughput"; + uses PLAT-DETAIL-FLAGS; + } + leaf name { + type Feature-name-enum; + description + "Feature Name"; + } + leaf status { + type Feature-status-enum; + description + "Status"; + } + list feature-table { + description + "Feature Table"; + uses PLAT-FEATURE-TABLE; + } + list entitlement { + description + "List of entitlements"; + uses PLAT-ENTITLEMENT-LIST; + } + } + + grouping PLAT-PARAMETERS { + description + "PLAT PARAMETERS"; + leaf collection-interval { + type int32; + units "minute"; + description + "Collection Interval in minutes"; + } + leaf reporting-interval { + type int32; + units "minute"; + description + "Reporting Interval minutes"; + } + leaf throughput-guage { + type int32; + units "kbit/s"; + description + "Throughput Guage in Kbps"; + } + } + + grouping PLAT-UPGRADE-LICENSE-STATUS { + description + "PLAT UPGRADE LICENSE STATUS"; + container grace-period-remaining { + description + "Remaining grace period"; + uses PLAT-GRACE-PERIOD; + } + leaf upgrade-license-state { + type Sia-status-enum; + description + "Upgrade License status enum"; + } + leaf grace-period-expired { + type Bool-state; + description + "Has grace period expired"; + } + leaf ooc-reason { + type string; + description + "Reason for Upgrade License ooc"; + } + } + + grouping PLAT-GRACE-PERIOD { + description + "PLAT GRACE PERIOD"; + leaf days { + type int32; + units "day"; + description + "Number of days remaining in grace period"; + } + leaf hours { + type int32; + units "hour"; + description + "Number of hours remaining in grace period"; + } + } + + grouping PLAT-SIA-STATUS { + description + "PLAT SIA STATUS"; + container grace-period-remaining { + description + "Remaining grace period"; + uses PLAT-GRACE-PERIOD; + } + leaf sia-state { + type Sia-status-enum; + description + "SIA status enum"; + } + leaf grace-period-expired { + type Bool-state; + description + "Has grace period expired"; + } + leaf ooc-reason { + type string; + description + "Reason for SIA ooc"; + } + } + + grouping PLAT-INTERVALS { + description + "PLAT INTERVALS"; + leaf last { + type string; + description + "Last collection or reporting interval"; + } + leaf next { + type string; + description + "Next collection or reporting interval"; + } + } + + grouping PLAT-SL-DETAIL { + description + "SL Detail"; + container collection { + description + "Last and Next collection times"; + uses PLAT-INTERVALS; + } + container reporting { + description + "Last and Next reporting times"; + uses PLAT-INTERVALS; + } + container sia-status { + description + "SIA Status"; + uses PLAT-SIA-STATUS; + } + container upgrade-license-status { + description + "Upgrade License Status"; + uses PLAT-UPGRADE-LICENSE-STATUS; + } + container parameters { + description + "Parameters"; + uses PLAT-PARAMETERS; + } + container feature-details { + description + "Feature Details"; + uses FEATURE-DETAILS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper.yang new file mode 100644 index 000000000..1407f688a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-smart-license-platform-oper.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XR-smart-license-platform-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-platform-oper"; + prefix smart-license-platform-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-smart-license-platform-oper-sub1 { + revision-date 2021-06-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR smart-license-platform package operational data. + + This module contains definitions + for the following management objects: + plat-smart-license: Smart License info + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-03 { + description + "Added support for enum node-deactivated."; + semver:module-version "1.1.0"; + } + revision 2020-09-15 { + description + "Structured the yang response for show CLIs."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container plat-smart-license { + config false; + description + "Smart License info"; + container detail { + description + "Node Detail"; + uses PLAT-SL-DETAIL; + } + container summary { + description + "Node Summary"; + uses PLAT-SL-SUMMARY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-cfg.yang new file mode 100644 index 000000000..00f62353f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-cfg.yang @@ -0,0 +1,2425 @@ +module Cisco-IOS-XR-snmp-agent-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-agent-cfg"; + prefix snmp-agent-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package configuration. + + This module contains definitions + for the following management objects: + snmp: The heirarchy point for all the SNMP configurations + mib: The heirarchy point for all the MIB configurations + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-24 { + description + "New config for OPS Script OID added + 2021-05-15 + New config snmp tcp added"; + semver:module-version "3.1.1m"; + } + revision 2020-09-15 { + description + "New config snmp trap delay timer added"; + semver:module-version "3.1.0"; + } + revision 2020-03-31 { + description + "CSCvs82990 Native yang model support for uncovered snmp-server cmds"; + semver:module-version "3.0.0"; + } + revision 2019-11-21 { + description + "CSCvs07760 Changed host config schema default values in sync with cli + 2019-11-06 + Yang Support for snmp-agent components via bug CSCvk56072 + 2019-10-31 + Added mandatory nodes. + 2019-06-13 + Added new option under host config via bug CSCvq13863"; + semver:module-version "2.0.0"; + } + revision 2019-05-29 { + description + "Type6 algorithm support to configure SNMP community, community-map, host, vrf host and user via bug CSCvp30991."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-06-27 { + description + "Error while configuring snmp-server host via netconf bug CSCvj92659."; + } + revision 2018-03-12 { + description + "Yang model support to configure snmp-server timeouts threshold 100000"; + } + revision 2017-12-20 { + description + "Removed nonstateful class from correlator config"; + } + revision 2017-10-15 { + description + "Removed presence statement generated from internal CLI data."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-10-27 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Snmp-tos { + type enumeration { + enum "precedence" { + value 0; + description + "SNMP TOS type Precedence"; + } + enum "dscp" { + value 1; + description + "SNMP TOS type DSCP"; + } + } + description + "Snmp tos"; + } + + typedef Snmp-hash-algorithm { + type enumeration { + enum "none" { + value 0; + description + "No authentication required"; + } + enum "md5" { + value 1; + description + "Standard Message Digest algorithm"; + } + enum "sha" { + value 2; + description + "SHA algorithm"; + } + } + description + "Snmp hash algorithm"; + } + + typedef Snmp-priv-algorithm { + type enumeration { + enum "none" { + value 0; + description + "No Privacy"; + } + enum "des" { + value 1; + description + "Des algorithm"; + } + enum "3des" { + value 2; + description + "3des algorithm"; + } + enum "aes128" { + value 3; + description + "aes128 algorithm"; + } + enum "aes192" { + value 4; + description + "aes192 algorithm"; + } + enum "aes256" { + value 5; + description + "aes256 algorithm"; + } + } + description + "Snmp priv algorithm"; + } + + typedef Snmp-owner-access { + type enumeration { + enum "sdr-owner" { + value 0; + description + "Secure Domain Router Owner permissions"; + } + enum "system-owner" { + value 1; + description + "System owner permissions"; + } + } + description + "Snmp owner access"; + } + + typedef Snmp-bulkstat-schema { + type enumeration { + enum "exact-interface" { + value 1; + description + "Exact Interface"; + } + enum "exact-oid" { + value 2; + description + "Exact OID"; + } + enum "wild-interface" { + value 3; + description + "Wild Interface"; + } + enum "wild-oid" { + value 4; + description + "Wild OID"; + } + enum "range-oid" { + value 5; + description + "Range of OID"; + } + enum "repeat-oid" { + value 6; + description + "Repeated the instance"; + } + } + description + "Snmp bulkstat schema"; + } + + typedef Snmpacl { + type enumeration { + enum "ipv4" { + value 1; + description + "Ipv4 Access-list"; + } + enum "ipv6" { + value 2; + description + "Ipv6 Access-list"; + } + } + description + "Snmpacl"; + } + + typedef Snmp-dscp-value { + type union { + type enumeration { + enum "default" { + value 0; + description + "Applicable to DSCP: bits 000000"; + } + enum "af11" { + value 10; + description + "Applicable to DSCP: bits 001010"; + } + enum "af12" { + value 12; + description + "Applicable to DSCP: bits 001100"; + } + enum "af13" { + value 14; + description + "Applicable to DSCP: bits 001110"; + } + enum "af21" { + value 18; + description + "Applicable to DSCP: bits 010010"; + } + enum "af22" { + value 20; + description + "Applicable to DSCP: bits 010100"; + } + enum "af23" { + value 22; + description + "Applicable to DSCP: bits 010110"; + } + enum "af31" { + value 26; + description + "Applicable to DSCP: bits 011010"; + } + enum "af32" { + value 28; + description + "Applicable to DSCP: bits 011100"; + } + enum "af33" { + value 30; + description + "Applicable to DSCP: bits 011110"; + } + enum "af41" { + value 34; + description + "Applicable to DSCP: bits 100010"; + } + enum "af42" { + value 36; + description + "Applicable to DSCP: bits 100100"; + } + enum "af43" { + value 38; + description + "Applicable to DSCP: bits 100110"; + } + enum "ef" { + value 46; + description + "Applicable to DSCP: bits 101110"; + } + enum "cs1" { + value 8; + description + "Applicable to DSCP: bits 001000"; + } + enum "cs2" { + value 16; + description + "Applicable to DSCP: bits 010000"; + } + enum "cs3" { + value 24; + description + "Applicable to DSCP: bits 011000"; + } + enum "cs4" { + value 32; + description + "Applicable to DSCP: bits 100000"; + } + enum "cs5" { + value 40; + description + "Applicable to DSCP: bits 101000"; + } + enum "cs6" { + value 48; + description + "Applicable to DSCP: bits 110000"; + } + enum "cs7" { + value 56; + description + "Applicable to DSCP: bits 111000"; + } + } + type uint32 { + range "0..63"; + } + } + description + "Snmp dscp value"; + } + + typedef Snmp-precedence-value1 { + type union { + type enumeration { + enum "routine" { + value 0; + description + "Applicable to Precedence: value 0"; + } + enum "priority" { + value 1; + description + "Applicable to Precedence: value 1"; + } + enum "immediate" { + value 2; + description + "Applicable to Precedence: value 2"; + } + enum "flash" { + value 3; + description + "Applicable to Precedence: value 3"; + } + enum "flash-override" { + value 4; + description + "Applicable to Precedence: value 4"; + } + enum "critical" { + value 5; + description + "Applicable to Precedence: value 5"; + } + enum "internet" { + value 6; + description + "Applicable to Precedence: value 6"; + } + enum "network" { + value 7; + description + "Applicable to Precedence: value 7"; + } + } + type uint32 { + range "0..7"; + } + } + description + "Snmp precedence value1"; + } + + typedef Snmp-security-model { + type enumeration { + enum "no-authentication" { + value 0; + description + "No Authentication required"; + } + enum "authentication" { + value 1; + description + "Authentication password alone required for + access"; + } + enum "privacy" { + value 2; + description + "Authentication and privacy password required + for access"; + } + } + description + "Snmp security model"; + } + + typedef Snmp-mib-view-inclusion { + type enumeration { + enum "included" { + value 1; + description + "MIB View to be included"; + } + enum "excluded" { + value 2; + description + "MIB View to be excluded"; + } + } + description + "Snmp mib view inclusion"; + } + + typedef Snmp-bulkstat-file-format { + type enumeration { + enum "schema-ascii" { + value 1; + description + "Tranfer file in schema Ascii format"; + } + enum "bulk-ascii" { + value 2; + description + "Tranfer file in Bulk Ascii format"; + } + enum "bulk-binary" { + value 3; + description + "Tranfer file in Bulk binary format"; + } + } + description + "Snmp bulkstat file format"; + } + + typedef Snmp-access-level { + type enumeration { + enum "read-only" { + value 0; + description + "Read Only Access for a community string"; + } + enum "read-write" { + value 1; + description + "Read Write Access for a community string"; + } + } + description + "Snmp access level"; + } + + typedef Snmp-context { + type enumeration { + enum "vrf" { + value 1; + description + "VRF feature"; + } + enum "bridge" { + value 4; + description + "BRIDGE feature"; + } + enum "ospf" { + value 5; + description + "OSPF feature"; + } + enum "ospfv3" { + value 6; + description + "OSPFv3 feature"; + } + } + description + "Snmp context"; + } + + typedef Group-snmp-version { + type enumeration { + enum "v1" { + value 0; + description + "SNMP version 1"; + } + enum "v2c" { + value 1; + description + "SNMP version 2"; + } + enum "v3" { + value 2; + description + "SNMP version 3"; + } + } + description + "Group snmp version"; + } + + typedef User-snmp-version { + type enumeration { + enum "v1" { + value 1; + description + "SNMP version 1"; + } + enum "v2c" { + value 2; + description + "SNMP version 2"; + } + enum "v3" { + value 3; + description + "SNMP version 3"; + } + } + description + "User snmp version"; + } + + grouping APPLIED-TO { + description + "Common node of rule, rule-set"; + container applied-to { + description + "Applied to the Rule or Ruleset"; + container hosts { + description + "Table of configured hosts to apply rules to"; + list host { + key "ip-address port"; + description + "A destination host"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "Port (specify 162 for default)"; + } + } + } + leaf all { + type empty; + description + "Apply to all of the device"; + } + } + } + + grouping CONTEXT-TABLE { + description + "Common node of snmp, vrf"; + container contexts { + description + "List of Context Names"; + list context { + key "context-name"; + description + "Context Name"; + leaf context-name { + type xr:Cisco-ios-xr-string; + description + "Context Name"; + } + } + } + } + + grouping VAR-BIND-TABLE { + description + "Common node of root-cause, non-root-cause"; + container var-binds { + description + "Varbinds to match"; + list var-bind { + key "oid"; + description + "Varbind match conditions"; + container match { + description + "VarBind match conditions"; + leaf value { + type string; + description + "Regular Expression to match value"; + } + leaf index { + type string; + description + "Regular Expression to match index"; + } + } + leaf oid { + type string; + description + "OID of varbind (dotted decimal)"; + } + } + } + } + + grouping TRAP-HOST-TABLE { + description + "Common node of snmp, vrf"; + container trap-hosts { + description + "Specify hosts to receive SNMP notifications"; + list trap-host { + key "ip-address"; + description + "Specify hosts to receive SNMP notifications"; + container encrypted-user-communities { + description + "Container class for defining default + Clear/encrypt communities for a trap host"; + list encrypted-user-community { + key "community-name"; + description + "Default Clear/Encrypt Community name + associated with a trap host"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMPv1/v2c community string or SNMPv3 user"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + leaf version { + type string; + mandatory true; + description + "SNMP Version to be used 1/2c/3"; + } + leaf security-level { + type Snmp-security-model; + description + "Security level to be used noauth/auth/priv"; + } + leaf basic-trap-types { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setBasicTrapTypes is used for + all traps except copy-completeSet this value + to an integer corresponding to the trapBGP + 8192, CONFIG 4096,SYSLOG 131072,SNMP_TRAP + 1COPY_COMPLETE_TRAP 64To provide a + combination of trap Add the respective + numbersValue must be set to 0 for all traps"; + } + leaf advanced-trap-types1 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setUse this for providing + copy-complete trapValue must be set to 0 if + not used"; + } + leaf advanced-trap-types2 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setvalue should always to set as + 0"; + } + leaf dying-gasp { + type boolean; + description + "Enable dying gasp trap for this host"; + } + } + } + container type6-encrypted-user-communities { + description + "Container class for defining type6 + Clear/encrypt communities for a trap host"; + list type6-encrypted-user-community { + key "community-name"; + description + "Type6 Clear/Encrypt Community name associated + with a trap host"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMPv1/v2c community string or SNMPv3 user"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + leaf version { + type string; + mandatory true; + description + "SNMP Version to be used 1/2c/3"; + } + leaf security-level { + type Snmp-security-model; + description + "Security level to be used noauth/auth/priv"; + } + leaf basic-trap-types { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setBasicTrapTypes is used for + all traps except copy-completeSet this value + to an integer corresponding to the trapBGP + 8192, CONFIG 4096,SYSLOG 131072,SNMP_TRAP + 1COPY_COMPLETE_TRAP 64To provide a + combination of trap Add the respective + numbersValue must be set to 0 for all traps"; + } + leaf advanced-trap-types1 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setUse this for providing + copy-complete trapValue must be set to 0 if + not used"; + } + leaf advanced-trap-types2 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setvalue should always to set as + 0"; + } + leaf dying-gasp { + type boolean; + description + "Enable dying gasp trap for this host"; + } + } + } + container inform-host { + description + "Container class for defining notification type + for a Inform host"; + container inform-user-communities { + description + "Container class for defining communities for + a inform host"; + list inform-user-community { + key "community-name"; + description + "Unencrpted Community name associated with a + inform host"; + leaf community-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "SNMPv2c community string or SNMPv3 user"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + leaf version { + type string; + mandatory true; + description + "SNMP Version to be used 2c/3"; + } + leaf security-level { + type Snmp-security-model; + description + "Security level to be used noauth/auth/priv"; + } + leaf basic-trap-types { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setBasicTrapTypes is used for + all traps except copy-completeSet this + value to an integer corresponding to the + trapBGP 8192, CONFIG 4096,SYSLOG 131072 + ,SNMP_TRAP 1COPY_COMPLETE_TRAP 64To provide + a combination of trap Add the respective + numbersValue must be set to 0 for all traps"; + } + leaf advanced-trap-types1 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setUse this for providing + copy-complete trapValue must be set to 0 if + not used"; + } + leaf advanced-trap-types2 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setvalue should always to set + as 0"; + } + leaf dying-gasp { + type boolean; + description + "Enable dying gasp trap for this host"; + } + } + } + container inform-type6-encrypted-user-communities { + description + "Container class for defining type6 + Clear/encrypt communities for a inform host"; + list inform-type6-encrypted-user-community { + key "community-name"; + description + "Type6 Clear/Encrypt Community name + associated with a inform host"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMPv2c community string or SNMPv3 user"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + leaf version { + type string; + mandatory true; + description + "SNMP Version to be used 2c/3"; + } + leaf security-level { + type Snmp-security-model; + description + "Security level to be used noauth/auth/priv"; + } + leaf basic-trap-types { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setBasicTrapTypes is used for + all traps except copy-completeSet this + value to an integer corresponding to the + trapBGP 8192, CONFIG 4096,SYSLOG 131072 + ,SNMP_TRAP 1COPY_COMPLETE_TRAP 64To provide + a combination of trap Add the respective + numbersValue must be set to 0 for all traps"; + } + leaf advanced-trap-types1 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setUse this for providing + copy-complete trapValue must be set to 0 if + not used"; + } + leaf advanced-trap-types2 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setvalue should always to set + as 0"; + } + leaf dying-gasp { + type boolean; + description + "Enable dying gasp trap for this host"; + } + } + } + container inform-encrypted-user-communities { + description + "Container class for defining default + Clear/encrypt communities for a inform host"; + list inform-encrypted-user-community { + key "community-name"; + description + "Clear/Encrypt Community name associated with + a inform host"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMPv2c community string or SNMPv3 user"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + leaf version { + type string; + mandatory true; + description + "SNMP Version to be used 2c/3"; + } + leaf security-level { + type Snmp-security-model; + description + "Security level to be used noauth/auth/priv"; + } + leaf basic-trap-types { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setBasicTrapTypes is used for + all traps except copy-completeSet this + value to an integer corresponding to the + trapBGP 8192, CONFIG 4096,SYSLOG 131072 + ,SNMP_TRAP 1COPY_COMPLETE_TRAP 64To provide + a combination of trap Add the respective + numbersValue must be set to 0 for all traps"; + } + leaf advanced-trap-types1 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setUse this for providing + copy-complete trapValue must be set to 0 if + not used"; + } + leaf advanced-trap-types2 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setvalue should always to set + as 0"; + } + leaf dying-gasp { + type boolean; + description + "Enable dying gasp trap for this host"; + } + } + } + } + container default-user-communities { + description + "Container class for defining communities for a + trap host"; + list default-user-community { + key "community-name"; + description + "Unencrpted Community name associated with a + trap host"; + leaf community-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "SNMPv1/v2c community string or SNMPv3 user"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + leaf version { + type string; + mandatory true; + description + "SNMP Version to be used 1/2c/3"; + } + leaf security-level { + type Snmp-security-model; + description + "Security level to be used noauth/auth/priv"; + } + leaf basic-trap-types { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setBasicTrapTypes is used for + all traps except copy-completeSet this value + to an integer corresponding to the trapBGP + 8192, CONFIG 4096,SYSLOG 131072,SNMP_TRAP + 1COPY_COMPLETE_TRAP 64To provide a + combination of trap Add the respective + numbersValue must be set to 0 for all traps"; + } + leaf advanced-trap-types1 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setUse this for providing + copy-complete trapValue must be set to 0 if + not used"; + } + leaf advanced-trap-types2 { + type uint32; + mandatory true; + description + "Number to signify the feature traps that + needs to be setvalue should always to set as + 0"; + } + leaf dying-gasp { + type boolean; + description + "Enable dying gasp trap for this host"; + } + } + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address of SNMP notification host"; + } + } + } + } + + grouping CONTEXT-MAPPING-TABLE { + description + "Common node of snmp, vrf"; + container context-mappings { + description + "List of context names"; + list context-mapping { + key "context-mapping-name"; + description + "Context mapping name"; + leaf context-mapping-name { + type xr:Cisco-ios-xr-string; + description + "Context mapping name"; + } + leaf context { + type Snmp-context; + description + "SNMP context feature type"; + } + leaf instance-name { + type string; + description + "OSPF protocol instance"; + } + leaf vrf-name { + type string; + description + "VRF name associated with the context"; + } + leaf topology-name { + type string; + description + "Topology name associated with the context"; + } + } + } + } + + container snmp { + description + "The heirarchy point for all the SNMP + configurations"; + container encrypted-community-maps { + description + "Container class to hold clear/encrypted + communitie maps"; + list encrypted-community-map { + key "community-name"; + description + "Clear/encrypted SNMP community map"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMP community map"; + } + leaf context { + type string; + description + "SNMP Context Name "; + } + leaf security { + type string; + description + "SNMP Security Name "; + } + leaf target-list { + type string; + description + "target list name "; + } + } + } + container views { + description + "Class to configure a SNMPv2 MIB view"; + list view { + key "view-name family"; + description + "Name of the view"; + leaf view-name { + type xr:Cisco-ios-xr-string; + description + "Name of the view"; + } + leaf family { + type string; + description + "MIB view family name"; + } + leaf view-inclusion { + type Snmp-mib-view-inclusion; + mandatory true; + description + "MIB view to be included or excluded"; + } + } + } + container logging { + description + "SNMP logging"; + container threshold { + description + "SNMP logging threshold"; + leaf oid-processing { + type uint32 { + range "0..20000"; + } + default "500"; + description + "SNMP logging threshold for OID processing"; + } + leaf pdu-processing { + type uint32 { + range "0..20000"; + } + default "20000"; + description + "SNMP logging threshold for PDU processing"; + } + } + } + container script-inputs { + description + "SNMP script OID config"; + list script-input { + key "script-oid"; + description + "Input to Script"; + leaf script-oid { + type xr:Cisco-ios-xr-string; + description + "Input OID to Script"; + } + leaf script-file-name { + type string; + mandatory true; + description + "Script File Path"; + } + } + } + container administration { + description + "Container class for SNMP administration"; + container default-communities { + description + "Container class to hold unencrpted communities"; + list default-community { + key "community-name"; + description + "Unencrpted SNMP community string and access + priviledges"; + leaf community-name { + type string { + length "1..128"; + } + description + "SNMP community string"; + } + leaf priviledge { + type Snmp-access-level; + description + "Read/Write Access"; + } + leaf view-name { + type string; + description + "MIB view to which the community has access"; + } + leaf v4acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v4-access-list { + type string; + description + "Ipv4 Access-list name"; + } + leaf v6acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v6-access-list { + type string; + description + "Ipv6 Access-list name"; + } + leaf owner { + type Snmp-owner-access; + description + "Logical Router or System owner access"; + } + } + } + container type6-encrypted-communities { + description + "Container class to hold type6 clear/encrypted + communities"; + list type6-encrypted-community { + key "community-name"; + description + "Type6 Clear/encrypted SNMP community string + and access priviledges"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMP community string"; + } + leaf priviledge { + type Snmp-access-level; + description + "Read/Write Access"; + } + leaf view-name { + type string; + description + "MIB view to which the community has access"; + } + leaf v4acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v4-access-list { + type string; + description + "Ipv4 Access-list name"; + } + leaf v6acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v6-access-list { + type string; + description + "Ipv6 Access-list name"; + } + leaf owner { + type Snmp-owner-access; + description + "Logical Router or System owner access"; + } + } + } + container encrypted-communities { + description + "Container class to hold clear/encrypted + communities"; + list encrypted-community { + key "community-name"; + description + "Clear/encrypted SNMP community string and + access priviledges"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMP community string"; + } + leaf priviledge { + type Snmp-access-level; + description + "Read/Write Access"; + } + leaf view-name { + type string; + description + "MIB view to which the community has access"; + } + leaf v4acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v4-access-list { + type string; + description + "Ipv4 Access-list name"; + } + leaf v6acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v6-access-list { + type string; + description + "Ipv6 Access-list name"; + } + leaf owner { + type Snmp-owner-access; + description + "Logical Router or System owner access"; + } + } + } + } + container agent { + description + "The heirarchy point for SNMP Agent + configurations"; + container engine-id { + description + "SNMPv3 engineID"; + container remotes { + description + "SNMPv3 remote SNMP Entity"; + list remote { + key "remote-address"; + description + "engineID of the remote agent"; + leaf remote-address { + type inet:ip-address-no-zone; + description + "IP address of remote SNMP entity"; + } + leaf remote-engine-id { + type string; + description + "engine ID octet string"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + } + } + leaf local { + type string; + description + "engineID of the local agent"; + } + } + } + container trap { + description + "Class to hold trap configurations"; + leaf timeout { + type uint32 { + range "1..1000"; + } + description + "Timeout for TRAP message retransmissions"; + } + leaf throttle-time { + type uint32 { + range "10..500"; + } + units "millisecond"; + description + "Set throttle time for handling traps"; + } + leaf queue-length { + type uint32 { + range "1..5000"; + } + description + "Message queue length for each TRAP host"; + } + leaf trap-delay-time { + type uint32 { + range "30..240"; + } + units "minute"; + description + "Set time to delay sending traps on init"; + } + } + container type6-encrypted-community-maps { + description + "Container class to hold type6 clear/encrypted + communitie maps"; + list type6-encrypted-community-map { + key "community-name"; + description + "Type6 Clear/encrypted SNMP community map"; + leaf community-name { + type xr:Cisco-ios-xr-string; + description + "SNMP community map"; + } + leaf context { + type string; + description + "SNMP Context Name "; + } + leaf security { + type string; + description + "SNMP Security Name "; + } + leaf target-list { + type string; + description + "target list name "; + } + } + } + container drop-packet { + description + "SNMP packet drop config"; + container report { + description + "SNMP drop report"; + container acl { + description + "SNMP drop report for ACL"; + leaf v4acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v4-access-list { + type string; + description + "Ipv4 Access-list name"; + } + leaf v6acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v6-access-list { + type string; + description + "Ipv6 Access-list name"; + } + } + } + leaf unknown-user { + type empty; + description + "Enable drop unknown user name"; + } + } + container ipv6 { + description + "SNMP TOS bit for outgoing packets"; + container tos { + description + "Type of TOS"; + leaf type { + type Snmp-tos; + description + "SNMP TOS type DSCP or Precedence"; + } + leaf precedence { + when "../type = 'precedence'" { + description + "../Type = Precedence"; + } + type Snmp-precedence-value1; + description + "SNMP Precedence value"; + } + leaf dscp { + when "../type = 'dscp'" { + description + "../Type = DSCP"; + } + type Snmp-dscp-value; + description + "SNMP DSCP value"; + } + } + } + container ipv4 { + description + "SNMP TOS bit for outgoing packets"; + container tos { + description + "Type of TOS"; + leaf type { + type Snmp-tos; + description + "SNMP TOS type DSCP or Precedence"; + } + leaf precedence { + when "../type = 'precedence'" { + description + "../Type = Precedence"; + } + type Snmp-precedence-value1; + description + "SNMP Precedence value"; + } + leaf dscp { + when "../type = 'dscp'" { + description + "../Type = DSCP"; + } + type Snmp-dscp-value; + description + "SNMP DSCP value"; + } + } + } + container system { + description + "container to hold system information"; + leaf chassis-id { + type string { + length "1..255"; + } + description + "String to uniquely identify this chassis"; + } + leaf location { + type string { + length "1..255"; + } + description + "The physical location of this node"; + } + leaf contact { + type string { + length "1..255"; + } + description + "identification of the contact person for this + managed node"; + } + } + container target { + description + "SNMP target configurations"; + container targets { + description + "List of targets"; + list target { + key "target-list-name"; + description + "Name of the target list"; + container vrf-names { + description + "List of VRF Name for a target list"; + list vrf-name { + key "name"; + description + "VRF name of the target"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + } + } + container target-addresses { + description + "SNMP Target address configurations"; + list target-address { + key "ip-address"; + description + "IP Address to be configured for the Target"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv4/Ipv6 address"; + } + } + } + leaf target-list-name { + type xr:Cisco-ios-xr-string; + description + "Name of the target list"; + } + } + } + } + container notification { + description + "Enable SNMP notifications"; + container snmp { + description + "SNMP notification configuration"; + leaf authentication { + type empty; + description + "Enable authentication notification"; + } + leaf cold-start { + type empty; + description + "Enable cold start notification"; + } + leaf warm-start { + type empty; + description + "Enable warm start notification"; + } + leaf enable { + type empty; + description + "Enable SNMP notifications"; + } + } + } + container correlator { + description + "Configure properties of the trap correlator"; + container rules { + description + "Table of configured rules"; + list rule { + key "name"; + description + "Rule name"; + container non-stateful { + description + "The Non-Stateful Rule Type"; + container root-causes { + description + "Table of configured rootcause (only one + entry allowed)"; + list root-cause { + key "oid"; + description + "The rootcause - maximum of one can be + configured per rule"; + leaf created { + type empty; + description + "Create rootcause"; + } + leaf oid { + type string; + description + "OID of rootcause trap (dotted decimal)"; + } + uses VAR-BIND-TABLE; + } + } + container non-root-causes { + description + "Table of configured non-rootcause"; + list non-root-cause { + key "oid"; + description + "A non-rootcause"; + leaf created { + type empty; + description + "Create nonrootcause"; + } + leaf oid { + type string; + description + "OID of nonrootcause trap (dotted decimal)"; + } + uses VAR-BIND-TABLE; + } + } + leaf timeout { + type uint32 { + range "1..600000"; + } + units "millisecond"; + description + "Timeout (time to wait for active + correlation) in milliseconds"; + } + } + leaf created { + type empty; + description + "Create rule"; + } + leaf name { + type string { + length "1..32"; + } + description + "Rule name"; + } + uses APPLIED-TO; + } + } + container rule-sets { + description + "Table of configured rulesets"; + list rule-set { + key "name"; + description + "Ruleset name"; + container rulenames { + description + "Table of configured rulenames"; + list rulename { + key "rulename"; + description + "A rulename"; + leaf rulename { + type string { + length "1..32"; + } + description + "Rule name"; + } + } + } + leaf name { + type string { + length "1..32"; + } + description + "Ruleset name"; + } + uses APPLIED-TO; + } + } + leaf buffer-size { + type uint32 { + range "1024..52428800"; + } + description + "Configure size of the correlator buffer"; + } + } + container bulk-stats { + description + "SNMP bulk stats configuration commands"; + container schemas { + description + "Configure schema definition"; + list schema { + key "schema-name"; + description + "The name of the Schema"; + container instance { + presence "Indicates a instance node is configured."; + description + "Object instance information"; + leaf type { + type Snmp-bulkstat-schema; + mandatory true; + description + "Type of the instance"; + } + leaf instance { + type xr:Interface-name; + description + "Instance of the schema"; + } + leaf start { + type string; + mandatory true; + description + "Start Instance OID for repetition"; + } + leaf end { + type string; + mandatory true; + description + "End Instance OID for repetition"; + } + leaf max { + type uint32; + mandatory true; + description + "Max value of Instance repetition"; + } + leaf sub-interface { + type boolean; + mandatory true; + description + "Include all the subinterface"; + } + } + leaf type { + type empty; + description + "Configure schema name"; + } + leaf schema-object-list { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of an object List"; + } + leaf poll-interval { + type uint32 { + range "1..20000"; + } + units "minute"; + description + "Periodicity for polling of objects in this + schema in minutes"; + } + leaf schema-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "The name of the schema"; + } + } + } + container objects { + description + "Configure an Object List "; + list object { + key "object-list-name"; + description + "Name of the object List"; + container objects { + description + "Configure an object List"; + list object { + key "oid"; + description + "Object name or OID"; + leaf oid { + type string; + description + "Object name or OID "; + } + } + } + leaf type { + type empty; + description + "Configure object list name"; + } + leaf object-list-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of the object List"; + } + } + } + container transfers { + description + "Periodicity for the transfer of bulk data in + minutes"; + list transfer { + key "transfer-name"; + description + "Name of bulk transfer"; + container transfer-schemas { + description + "Schema that contains objects to be collected"; + list transfer-schema { + key "schema-name"; + description + "Schema that contains objects to be collected"; + leaf schema-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Schema that contains objects to be + collected"; + } + } + } + leaf secondary { + type string; + description + "FTP or rcp or TFTP can be used for file + transfer"; + } + leaf type { + type empty; + description + "Configure transfer list name"; + } + leaf buffer-size { + type uint32 { + range "1024..2147483647"; + } + units "byte"; + description + "Bulkstat data file maximum size in bytes"; + } + leaf retain { + type uint32 { + range "0..20000"; + } + units "minute"; + description + "Retention period in minutes"; + } + leaf format { + type Snmp-bulkstat-file-format; + description + "Format of the bulk data file"; + } + leaf retry { + type uint32 { + range "0..100"; + } + description + "Number of transmission retries"; + } + leaf enable { + type empty; + description + "Start Data Collection for this Configuration"; + } + leaf primary { + type string; + description + "FTP or rcp or TFTP can be used for file + transfer"; + } + leaf interval { + type uint32; + units "minute"; + description + "Periodicity for the transfer of bulk data in + minutes"; + } + leaf transfer-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Name of bulk transfer"; + } + } + } + leaf memory { + type uint32 { + range "100..200000"; + } + units "kilobyte"; + description + "per process memory limit in kilo bytes"; + } + } + container default-community-maps { + description + "Container class to hold unencrpted community map"; + list default-community-map { + key "community-name"; + description + "Unencrpted SNMP community map name "; + leaf community-name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "SNMP community map"; + } + leaf context { + type string; + description + "SNMP Context Name "; + } + leaf security { + type string; + description + "SNMP Security Name "; + } + leaf target-list { + type string; + description + "target list name "; + } + } + } + container overload-control { + presence "Indicates a overload-control node is configured."; + description + "Set overload control params for handling + incoming messages"; + leaf drop-time { + type uint32 { + range "0..300"; + } + units "second"; + mandatory true; + description + "Drop time in seconds for incoming queue + (default 1 sec)"; + } + leaf throttle-rate { + type uint32 { + range "0..1000"; + } + units "millisecond"; + mandatory true; + description + "Throttle time in milliseconds for incoming + queue (default 500 msec)"; + } + } + container timeouts { + description + "SNMP timeouts"; + leaf duplicates { + type uint32 { + range "0..20"; + } + units "second"; + default "1"; + description + "Duplicate request feature timeout"; + } + leaf in-qdrop { + type uint32 { + range "0..20"; + } + units "second"; + default "10"; + description + "incoming queue drop feature timeout"; + } + leaf threshold { + type uint32 { + range "0..100000"; + } + units "second"; + default "50000"; + description + "Threshold request feature timeout"; + } + leaf subagent { + type uint32 { + range "1..20"; + } + units "second"; + default "10"; + description + "Sub-Agent Request timeout"; + } + leaf pdu-stats { + type uint32 { + range "1..10"; + } + units "second"; + default "2"; + description + "SNMP pdu statistics timeout"; + } + } + container users { + description + "Define a user who can access the SNMP engine"; + list user { + key "user-name"; + description + "Name of the user"; + leaf user-name { + type string; + description + "Name of the user"; + } + leaf group-name { + type string; + mandatory true; + description + "Group to which the user belongs"; + } + leaf version { + type User-snmp-version; + mandatory true; + description + "SNMP version to be used. v1,v2c or v3"; + } + leaf authentication-password-configured { + type empty; + description + "Flag to indicate that authentication password + is configred for version 3"; + } + leaf algorithm { + type Snmp-hash-algorithm; + description + "The algorithm used md5 or sha"; + } + leaf authentication-password { + type xr:Proprietary-password; + description + "The authentication password"; + } + leaf privacy-password-configured { + type empty; + description + "Flag to indicate that the privacy password is + configured for version 3"; + } + leaf priv-algorithm { + type Snmp-priv-algorithm; + description + "The algorithm used des56 or aes128 or aes192or + aes256 or 3des"; + } + leaf privacy-password { + type xr:Proprietary-password; + description + "The privacy password"; + } + leaf v4acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v4-access-list { + type string; + description + "Ipv4 Access-list name"; + } + leaf v6acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v6-access-list { + type string; + description + "Ipv6 Access-list name"; + } + leaf owner { + type Snmp-owner-access; + description + "The system access either SDROwner or + SystemOwner"; + } + leaf remote-address { + type inet:ip-address-no-zone; + description + "IP address of remote SNMP entity"; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "UDP port number"; + } + leaf user-auth-type { + type uint32; + description + "User Authentication Type"; + } + leaf user-priv-auth-type { + type uint32; + description + "User Priv Authentication Type"; + } + } + } + container vrfs { + description + "SNMP VRF configuration commands"; + list vrf { + key "name"; + description + "VRF name"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses TRAP-HOST-TABLE; + uses CONTEXT-TABLE; + uses CONTEXT-MAPPING-TABLE; + } + } + container snmp-tcp-vrfs { + description + "Enable TCP transport for SNMP"; + list snmp-tcp-vrf { + key "vrf-name"; + description + "Enable TCP transport for SNMP on vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "vrf name"; + } + } + } + container groups { + description + "Define a User Security Model group"; + list group { + key "name"; + description + "Name of the group"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Name of the group"; + } + leaf snmp-version { + type Group-snmp-version; + mandatory true; + description + "snmp version"; + } + leaf security-model { + type Snmp-security-model; + description + "security model like auth/noAuth/Priv + applicable for v3"; + } + leaf notify-view { + type string; + description + "notify view name"; + } + leaf read-view { + type string; + description + "read view name"; + } + leaf write-view { + type string; + description + "write view name"; + } + leaf v4acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v4-access-list { + type string; + description + "Ipv4 Access-list name"; + } + leaf v6acl-type { + type Snmpacl; + description + "Access-list type"; + } + leaf v6-access-list { + type string; + description + "Ipv6 Access-list name"; + } + leaf context-name { + type string; + description + "Context name"; + } + } + } + leaf inform-retries { + type uint32 { + range "0..100"; + } + description + "Number of times to retry an Inform request + (default 3)"; + } + leaf trap-port { + type uint32 { + range "1024..65535"; + } + description + "Change the source port of all traps"; + } + leaf oid-poll-stats { + type empty; + description + "Enable Poll OID statistics"; + } + leaf trap-source { + type xr:Interface-name; + description + "Assign an interface for the source address of + all traps"; + } + leaf vrf-authentication-trap-disable { + type empty; + description + "Disable authentication traps for packets on a + vrf"; + } + leaf inform-timeout { + type uint32 { + range "1..42949671"; + } + units "second"; + description + "Timeout value in seconds for Inform request + (default 15 sec)"; + } + leaf trap-source-ipv6 { + type xr:Interface-name; + description + "Assign an interface for the source IPV6 address + of all traps"; + } + leaf packet-size { + type uint32 { + range "484..65500"; + } + description + "Largest SNMP packet size"; + } + leaf throttle-time { + type uint32 { + range "50..1000"; + } + description + "Throttle time for incoming queue (default 0 + msec)"; + } + leaf trap-source-ipv4 { + type xr:Interface-name; + description + "Assign an interface for the source address of + all traps"; + } + leaf inform-pending { + type uint32 { + range "0..4294967295"; + } + description + "Max nmber of informs to hold in queue, (default + 25)"; + } + uses TRAP-HOST-TABLE; + uses CONTEXT-TABLE; + uses CONTEXT-MAPPING-TABLE; + } + container mib { + description + "The heirarchy point for all the MIB + configurations"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub1.yang new file mode 100644 index 000000000..01b9895a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub1.yang @@ -0,0 +1,74 @@ +submodule Cisco-IOS-XR-snmp-agent-oper-sub1 { + belongs-to Cisco-IOS-XR-snmp-agent-oper { + prefix Cisco-IOS-XR-snmp-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping SNMP-IFINDEX-IFNAME { + description + "SNMP IFINDEX IFNAME"; + leaf interface-name { + type string; + description + "Interface Name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub2.yang new file mode 100644 index 000000000..cb1ef2113 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub2.yang @@ -0,0 +1,307 @@ +submodule Cisco-IOS-XR-snmp-agent-oper-sub2 { + belongs-to Cisco-IOS-XR-snmp-agent-oper { + prefix Cisco-IOS-XR-snmp-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Snmp-corr-vbind-match { + type enumeration { + enum "index" { + value 0; + description + "Match regexp to varbind index"; + } + enum "value" { + value 1; + description + "Match regexp to varbind value"; + } + } + description + "Snmp corr vbind match"; + } + + typedef Snmp-corr-rule-state { + type enumeration { + enum "rule-unapplied" { + value 0; + description + "Rule is in Unapplied state"; + } + enum "rule-applied" { + value 1; + description + "Rule is Applied to specified hosts"; + } + enum "rule-applied-all" { + value 2; + description + "Rule is Applied to all of router"; + } + } + description + "Snmp corr rule state"; + } + + grouping SNMP-CORR-VBIND { + description + "Varbind"; + leaf oid { + type string; + description + "OID of the varbind"; + } + leaf value { + type string; + description + "Value of the varbind"; + } + } + + grouping SNMP-CORR-TRAP-BAG { + description + "Trap Information"; + leaf oid { + type string; + description + "Object ID"; + } + leaf relative-timestamp { + type uint32; + units "second"; + description + "Number of hsecs elapsed since snmpd was started"; + } + leaf timestamp { + type uint64; + units "millisecond"; + description + "Time when the trap was generated. It is + expressed in number of milliseconds since 00:00 + :00 UTC, January 1, 1970"; + } + list var-bind { + description + "VarBinds on the trap"; + uses SNMP-CORR-VBIND; + } + } + + grouping SNMP-CORR-TRAP-BUFFER-BAG { + description + "Trap Buffer Record"; + container trap-info { + description + "Correlated trap information"; + uses SNMP-CORR-TRAP-BAG; + } + leaf correlation-id { + type uint32; + description + "Correlation ID"; + } + leaf is-root-cause { + type boolean; + description + "True if this is the rootcause"; + } + leaf rule-name { + type string; + description + "Correlation rule name"; + } + } + + grouping SNMP-CORR-RULESET-DETAIL-BAG { + description + "Correlation Ruleset detail information"; + leaf rule-set-name-xr { + type string; + description + "Ruleset Name"; + } + list rules { + description + "Rules contained in a ruleset"; + uses SNMP-CORR-RULE-SUMMARY-BAG; + } + } + + grouping SNMP-CORR-BUFFER-INFO-BAG { + description + "Correlator buffer usage information"; + leaf current-size { + type uint32; + description + "Current buffer usage"; + } + leaf configured-size { + type uint32; + description + "Configured buffer size"; + } + } + + grouping SNMP-CORR-HOST { + description + "Host Definition"; + leaf ip-address { + type string; + description + "IP address of the host"; + } + leaf port { + type uint16; + description + "Port of the host"; + } + } + + grouping SNMP-CORR-VBIND-MATCH { + description + "Varbind Match Parameters"; + leaf oid { + type string; + description + "OID of the varbind"; + } + leaf match-type { + type Snmp-corr-vbind-match; + description + "Varbind match type"; + } + leaf reg-exp { + type string; + description + "Regular expression to match"; + } + } + + grouping SNMP-CORR-TRAP-MATCH { + description + "Trap Match Definition"; + leaf oid { + type string; + description + "OID of the trap"; + } + list var-bind { + description + "VarBinds of the trap"; + uses SNMP-CORR-VBIND-MATCH; + } + } + + grouping SNMP-CORR-RULE-SUMMARY-BAG { + description + "Correlation Rule summary information"; + leaf rule-name { + type string; + description + "Correlation Rule Name"; + } + leaf rule-state { + type Snmp-corr-rule-state; + description + "Applied state of the rule It could be not + applied, applied or applied to all"; + } + leaf buffered-traps-count { + type uint32; + description + "Number of buffered traps correlated to this rule"; + } + } + + grouping SNMP-CORR-RULE-DETAIL-BAG { + description + "Correlation Rule detail information"; + container rule-summary { + description + "Rule summary, name, etc"; + uses SNMP-CORR-RULE-SUMMARY-BAG; + } + container root-cause { + description + "OID/VarBinds defining the rootcause match + conditions."; + uses SNMP-CORR-TRAP-MATCH; + } + leaf timeout { + type uint32; + description + "Time window (in ms) for which root/all messages + are kept in correlater before sending them to + hosts"; + } + list non-root-cause { + description + "OIDs/VarBinds defining the nonrootcause match + conditions."; + uses SNMP-CORR-TRAP-MATCH; + } + list apply-host { + description + "Hosts (IP/port) to which the rule is applied"; + uses SNMP-CORR-HOST; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub3.yang new file mode 100644 index 000000000..a198b8494 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub3.yang @@ -0,0 +1,1143 @@ +submodule Cisco-IOS-XR-snmp-agent-oper-sub3 { + belongs-to Cisco-IOS-XR-snmp-agent-oper { + prefix Cisco-IOS-XR-snmp-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Dup-req-drop-status { + type enumeration { + enum "disabled" { + description + "Disabled"; + } + enum "enabled" { + description + "Enabled"; + } + } + description + "Dup req drop status"; + } + + grouping SNMP-TRAPQUE { + description + "SNMP Trap queue statistics"; + leaf trap-min { + type uint32; + description + "trap min"; + } + leaf trap-avg { + type uint32; + description + "trap avg"; + } + leaf trap-max { + type uint32; + description + "trap max"; + } + list trap-q { + max-elements "300"; + description + "trap q"; + uses SNMP-QUEUE; + } + } + + grouping SNMP-SYSOBJID { + description + "SNMP sysObjID"; + leaf sys-obj-id { + type string; + description + "sysObjID 1.3.6.1.2.1.1.2"; + } + } + + grouping SNMP-SYSDESCR { + description + "SNMP sysDescr"; + leaf sys-descr { + type string; + description + "sysDescr 1.3.6.1.2.1.1.1"; + } + } + + grouping SNMP-UDP-STATS-INFO { + description + "SNMP udp_statistics"; + leaf in-event { + type uint32; + description + "Event"; + } + leaf in-buferr { + type uint32; + description + "Buffer Error"; + } + leaf in-node { + type uint32; + description + "No Data"; + } + leaf in-recverr { + type uint32; + description + "Receive Error"; + } + leaf in-badarg { + type uint32; + description + "Invalid Argument"; + } + leaf in-pkt { + type uint32; + description + "Packet"; + } + leaf inm-badarg { + type uint32; + description + "Invalid Argument"; + } + leaf inm-pac-conn { + type uint32; + description + "Packet connection error"; + } + leaf inm-pak-nodata { + type uint32; + description + "Packet no data"; + } + leaf inm-pak-recerr { + type uint32; + description + "Packet receive error"; + } + leaf inm-pak-null { + type uint32; + description + "Packet Null"; + } + leaf inm-pak-vrfid { + type uint32; + description + "Packet VRF error"; + } + leaf inm-pak-tblid { + type uint32; + description + "Packet table error"; + } + leaf inm-pak-ifinput { + type uint32; + description + "Packet ifinput error"; + } + leaf inm-pak-offnet { + type uint32; + description + "Packet network Offset error"; + } + leaf inm-pak-readnet { + type uint32; + description + "Packet network read error"; + } + leaf inm-pak-offtrans { + type uint32; + description + "Packet transport offset error"; + } + leaf inm-pak-readtrans { + type uint32; + description + "Packet read transport error "; + } + leaf inm-pak-offapp { + type uint32; + description + "Packet application offset error"; + } + leaf inm-pak-readapp { + type uint32; + description + "Packet application read error"; + } + leaf inm-pak-trunc { + type uint32; + description + "Packet Truncated"; + } + leaf out-toobig { + type uint32; + description + "Too Big"; + } + leaf out-pkt { + type uint32; + description + "Packet"; + } + leaf out-senderr { + type uint32; + description + "Send Error"; + } + leaf outm-badarg { + type uint32; + description + "Invalid argument"; + } + leaf outm-pak-buf { + type uint32; + description + "Packet Buffer Error"; + } + leaf outm-pak-vrfid { + type uint32; + description + "Packet VRF Error"; + } + leaf outm-pak-tblid { + type uint32; + description + "Packet table error"; + } + leaf outm-pak-write { + type uint32; + description + "Packet write error"; + } + leaf outm-pak-trunc { + type uint32; + description + "Packet connection Error"; + } + leaf outm-pak-conn { + type uint32; + description + "Packet Send Error"; + } + } + + grouping SNMP-PDU-DROP-STATS { + description + "SNMP Agent Req PDU Drop Stats"; + leaf nms-address { + type string; + description + "NMS address of server"; + } + leaf incoming-q-count { + type uint32; + description + "Drop Count at Incoming Q"; + } + leaf threshold-incoming-q-count { + type uint32; + description + "Drop Count at Incoming Q after threshold limit"; + } + leaf encode-count { + type uint32; + description + "Drop Count with Encode errors"; + } + leaf duplicate-count { + type uint32; + description + "Duplicate request drop count"; + } + leaf stack-count { + type uint32; + description + "Drop Count at snmp Stack"; + } + leaf aipc-count { + type uint32; + description + "drop count with AIPC Buffer Full"; + } + leaf overload-count { + type uint32; + description + "Drop Count with overload notification"; + } + leaf timeout-count { + type uint32; + description + "Drop count with timeout"; + } + leaf internal-count { + type uint32; + description + " drop with Internal Errors"; + } + } + + grouping SNMP-PDU-STATS { + description + "SNMP PDU STATS"; + leaf nms { + type string; + description + " NMS address Rx PDU"; + } + leaf request-id { + type uint32; + description + " SNMP request id per PDU"; + } + leaf port-xr { + type uint16; + description + "NMS port number"; + } + leaf pdu-type { + type uint16; + description + " PDU type"; + } + leaf error-status { + type uint16; + description + "Is reques dropped due to error"; + } + leaf serial-num { + type uint32; + description + "Serial number per PDU processing"; + } + leaf input-q { + type string; + description + "Request inserted into input queue"; + } + leaf output-q { + type uint32; + description + "De-queue the request from the input queue"; + } + leaf pending-q { + type uint32; + description + "Enqueue the request into pending queue"; + } + leaf response-out { + type uint32; + description + "Response sent"; + } + } + + grouping SNMP-MIB-INFO { + description + "SNMP MIB Information"; + leaf mib-name { + type string; + description + "Name of the MIB module"; + } + leaf dll-name { + type string; + description + "MIB DLL filename, non-DLL MIBs will have no + value"; + } + leaf mib-config-filename { + type string; + description + "MIB config filename, non-DLL MIBs will have no + value"; + } + leaf is-mib-loaded { + type boolean; + description + "TRUE if MIB DLL is currently loaded, will always + be TRUE for non-DLL MIBs"; + } + leaf dll-capabilities { + type uint32; + description + "DLL capabilities"; + } + leaf trap-strings { + type string; + description + "List of trapstring configured"; + } + leaf timeout { + type boolean; + description + "TRUE is mib is in phase 1 timeout"; + } + leaf load-time { + type uint32; + description + "Load time"; + } + } + + grouping SNMP-TRAPS-COUNT { + description + "SNMP TRAPS COUNT"; + leaf trap-oid-count { + type uint32; + description + "Total number of OID's sent"; + } + leaf trap-oid-xr { + type string; + description + "TRAP OID"; + } + } + + grouping SNMP-CTX-MAPPING-ENTRY-XML { + description + "SNMP context mapping entry xml"; + leaf context { + type string; + description + "Context name"; + } + leaf feature-name { + type string; + description + "Feature name"; + } + leaf instance { + type string; + description + "Instance name"; + } + leaf topology { + type string; + description + "Topology name"; + } + leaf feature { + type string; + description + "Feature"; + } + } + + grouping SNMP-CTX-MAPPING-XML { + description + "SNMP context mapping"; + list contex-mapping { + description + "Context Mapping"; + uses SNMP-CTX-MAPPING-ENTRY-XML; + } + } + + grouping SNMP-INQ-DETAIL { + description + "SNMP Address Information"; + leaf address-of-queue { + type string; + description + "Address of NMS Q"; + } + leaf request-count { + type uint32; + description + "Request Count of Each Queue."; + } + leaf processed-request-count { + type uint32; + description + "Processed request Count."; + } + leaf last-access-time { + type string; + description + "Last Access time of Each Queue."; + } + leaf priority { + type uint8; + description + "Priority of Each Queue."; + } + } + + grouping SNMP-INCOMING-Q-STATS-ENTRY { + description + "SNMP IncomingQ Stats Entry"; + leaf queue-count { + type uint32; + description + "Number of NMS Queues Exist."; + } + list inq-entry { + max-elements "16"; + description + "Each Entry Details."; + uses SNMP-INQ-DETAIL; + } + } + + grouping SNMP-STATS { + description + "SNMP statistics"; + leaf packets-received { + type uint32; + description + "snmpInPkts"; + } + leaf bad-versions-received { + type uint32; + description + "snmpInBadVersions"; + } + leaf bad-community-names-received { + type uint32; + description + "snmpInBadCommunityNames"; + } + leaf bad-community-uses-received { + type uint32; + description + "snmpInBadCommunityUses"; + } + leaf asn-parse-errors-received { + type uint32; + description + "snmpInASNParseErrs"; + } + leaf silent-drop-count { + type uint32; + description + "snmpSilentDrops"; + } + leaf proxy-drop-count { + type uint32; + description + "snmpProxyDrops"; + } + leaf too-big-packet-received { + type uint32; + description + "snmpInTooBigs"; + } + leaf max-packet-size { + type uint32; + description + "snmp maximum packet size"; + } + leaf no-such-names-received { + type uint32; + description + "snmpInNoSuchNames"; + } + leaf bad-values-received { + type uint32; + description + "snmpInBadValues"; + } + leaf read-only-received { + type uint32; + description + "snmpInReadOnlys"; + } + leaf total-general-errors { + type uint32; + description + "snmpInGenErrs"; + } + leaf total-requested-variables { + type uint32; + description + "snmpInTotalReqVars"; + } + leaf total-set-variables-received { + type uint32; + description + "snmpInTotalSetVars"; + } + leaf get-requests-received { + type uint32; + description + "snmpInGetRequests"; + } + leaf get-next-requests-received { + type uint32; + description + "snmpInGetNexts"; + } + leaf set-requests-received { + type uint32; + description + "snmpInSetRequests"; + } + leaf get-responses-received { + type uint32; + description + "snmpInGetResponses"; + } + leaf traps-received { + type uint32; + description + "snmpInTraps"; + } + leaf total-packets-sent { + type uint32; + description + "snmpOutPkts"; + } + leaf too-big-packets-sent { + type uint32; + description + "snmpOutTooBigs"; + } + leaf no-such-names-sent { + type uint32; + description + "snmpOutNoSuchNames"; + } + leaf bad-values-sent { + type uint32; + description + "snmpOutBadValues"; + } + leaf general-errors-sent { + type uint32; + description + "snmpOutGenErrs"; + } + leaf get-requests-sent { + type uint32; + description + "snmpOutGetRequests"; + } + leaf get-next-request-sent { + type uint32; + description + "snmpOutGetNexts"; + } + leaf set-requests-sent { + type uint32; + description + "snmpOutSetRequests"; + } + leaf get-responses-sent { + type uint32; + description + "snmpOutGetResponses"; + } + leaf traps-sent { + type uint32; + description + "snmpOutTraps"; + } + } + + grouping SNMP-TRAP-OID-INFO { + description + "SNMP TRAP OID INFO"; + leaf trap-oid { + type string; + description + "TRAP OID"; + } + leaf count { + type uint32; + description + "Number of traps sent"; + } + leaf drop-count { + type uint32; + description + "Number of Traps Dropped at InternalQ"; + } + leaf drop-host-count { + type uint32; + description + "Number of Traps Dropped at HostQ"; + } + leaf drop-delay-timer { + type uint32; + description + "Number of Traps Dropped due to trap delay timer + expiry"; + } + leaf retry-count { + type uint32; + description + "Num of times retry"; + } + leaf lastsent-time { + type string; + description + "Timestamp of latest successfully sent"; + } + leaf lastdrop-time { + type string; + description + "Timestamp of latest dropped"; + } + leaf last-hostdrop-time { + type string; + description + "Timestamp of latest dropped at host"; + } + leaf last-host-delay-time { + type string; + description + "Timestamp of latest dropped due to delay timer + expiry"; + } + } + + grouping SNMP-TRAPS-INFO { + description + "SNMP TRAPS INFO"; + leaf host { + type string; + description + "NMS/Host address"; + } + leaf port-xr { + type uint16; + description + "udp port number"; + } + leaf vrf-name { + type string; + description + "vrf name"; + } + leaf time { + type uint32; + description + "Trap delay time Left"; + } + leaf trap-oid-count { + type uint32; + description + "Total number of OID's sent"; + } + list trap-oi-dinfo { + description + "Per trap OID statistics"; + uses SNMP-TRAP-OID-INFO; + } + } + + grouping SNMP-BULKSTATS-B { + description + "SNMP Bulkstats transfer Information"; + leaf transfer-name-xr { + type string; + description + "Name of the bulkstats transfer session"; + } + leaf url-primary { + type string; + description + "Bulkstats transfer primary URL"; + } + leaf url-secondary { + type string; + description + "Bulkstats transfer secondary URL"; + } + leaf retained-file { + type string; + description + "Bulkstats transfer retained file name"; + } + leaf time-left { + type uint32; + units "second"; + description + "Bulkstats transfer retry time left in seconds"; + } + leaf retry-left { + type uint32; + description + "Bulkstats transfer retry attempt left"; + } + } + + grouping SNMP-STATISTICS { + description + "SNMP Statistics extension"; + leaf duplicate-request-status { + type Dup-req-drop-status; + description + "Duplicate requests drop feature status."; + } + leaf last-status-change-time { + type string; + description + "Duplicate request drop feature last enable + disable time (Day Mon Date HH:MM:SS)"; + } + leaf duplicate-drop-configured-timeout { + type uint32; + description + "Configured Duplicate Drop feature Timeout."; + } + leaf duplicate-dropped-requests { + type uint32; + description + "Number of duplicate SNMP requests are dropped."; + } + leaf retry-processed-requests { + type uint32; + description + "Number of Retry SNMP requests are Processed."; + } + leaf first-enable-time { + type string; + description + "Duplicate request drop feature first enable + time (Day Mon Date HH:MM:SS)"; + } + leaf latest-duplicate-dropped-requests { + type uint32; + description + "Number of duplicate SNMP requests dropped, from + the last enable time."; + } + leaf latest-retry-processed-requests { + type uint32; + description + "Number of retry SNMP requests processed, from + the last enable time."; + } + leaf duplicate-request-latest-enable-time { + type string; + description + "Duplicate request drop feature last enable + time(Day Mon Date HH:MM:SS)"; + } + leaf duplicate-drop-enable-count { + type uint32; + description + " Number of times duplicate request drop feature + is enabled."; + } + leaf duplicate-drop-disable-count { + type uint32; + description + " Number of times duplicate request drop feature + is disabled."; + } + } + + grouping SNMP-Q-STATS-B { + description + "SNMP incomming/processing queue statistics"; + leaf total-count { + type uint32; + description + "Total request count for each managment station + or client"; + } + leaf agent-request-count { + type uint32; + description + "Processing agent request count for each client + for particluar managment station"; + } + leaf interface-request-count { + type uint32; + description + "Processing interfce request count for each + client for particluar managment station"; + } + leaf entity-request-count { + type uint32; + description + "Processing entity request count for each client + for particluar managment station"; + } + leaf route-request-count { + type uint32; + description + "Processing route request count for each client + for particluar Managment station"; + } + leaf infra-request-count { + type uint32; + description + "Processing infra request count for each client + for particluar Managment station"; + } + } + + grouping SNMP-SYSNAME { + description + "SNMP sysName"; + leaf system-name { + type string; + description + "sysName 1.3.6.1.2.1.1.5"; + } + } + + grouping SNMP-QUEUE { + description + "SNMP QUEUE"; + leaf min { + type uint32; + description + "min"; + } + leaf avg { + type uint32; + description + "avg"; + } + leaf max { + type uint32; + description + "max"; + } + } + + grouping SNMP-RXQUE { + description + "SNMP Incoming queue statistics"; + leaf qlen { + type uint32; + description + "qlen"; + } + leaf in-min { + type uint32; + description + "in min"; + } + leaf in-avg { + type uint32; + description + "in avg"; + } + leaf in-max { + type uint32; + description + "in max"; + } + leaf pend-min { + type uint32; + description + "pend min"; + } + leaf pend-avg { + type uint32; + description + "pend avg"; + } + leaf pend-max { + type uint32; + description + "pend max"; + } + list incoming-q { + max-elements "300"; + description + "incoming q"; + uses SNMP-QUEUE; + } + list pending-q { + max-elements "300"; + description + "pending q"; + uses SNMP-QUEUE; + } + } + + grouping SNMP-SUB-AGENT-MIB-OBJ-INFO { + description + "SNMP SubAgent MIB object detail"; + leaf object-name { + type string; + description + "Name of MIB object"; + } + } + + grouping SNMP-SUB-AGENT-MIB-INFO { + description + "SNMP SubAgent MIB details"; + leaf mib-name { + type string; + description + "Name of the SubAgent MIB module"; + } + list mib-object-name { + description + "Object Names in MIB"; + uses SNMP-SUB-AGENT-MIB-OBJ-INFO; + } + } + + grouping SNMP-SUB-AGENT-GROUP-INFO { + description + "SNMP sub-agent Details"; + leaf sub-agent-group { + type string; + description + "Snmp SubAgent name"; + } + leaf sub-agent-client-id { + type uint16; + description + "Client ID of SubAgent"; + } + leaf mib-count { + type uint16; + description + "Total Number of MIB in each SubAgent"; + } + list mib-detail { + description + "MIB details (MIB name, OID count and Object + Names)"; + uses SNMP-SUB-AGENT-MIB-INFO; + } + } + + grouping SNMP-ENGINEID { + description + "SNMPv3 engineID Information"; + leaf engine-id { + type string; + description + "SNMPv3 engineID"; + } + } + + grouping SNMP-REQ-NMS-SUM { + description + "SNMP Agent Req NMS Summary "; + leaf nms-address { + type string; + description + "NMS address of server"; + } + leaf get-request-count { + type uint32; + description + "Get Request Count"; + } + leaf getnext-request-count { + type uint32; + description + "Getnext Request Count"; + } + leaf getbulk-request-count { + type uint32; + description + "Getbulk Request Count"; + } + leaf set-request-count { + type uint32; + description + "Set Request Count"; + } + leaf test-request-count { + type uint32; + description + "Test Request Count"; + } + } + + grouping SNMP-SUB-AGENT-INFO { + description + "SNMP SubAgent Details"; + leaf sub-agent-group { + type string; + description + "Snmp SubAgent Name"; + } + leaf sub-agent-client-id { + type uint16; + description + "Client ID of SubAgent"; + } + leaf mib-count { + type uint16; + description + "Total Number of MIB in each SubAgent"; + } + } + + grouping SNMP-SYSUPTIME-EDM { + description + "SNMP sysUpTime in days time format for edm"; + leaf system-up-time-edm { + type string; + description + "sysUpTime 1.3.6.1.2.1.1.3"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub4.yang new file mode 100644 index 000000000..0c7b8f72a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub4.yang @@ -0,0 +1,159 @@ +submodule Cisco-IOS-XR-snmp-agent-oper-sub4 { + belongs-to Cisco-IOS-XR-snmp-agent-oper { + prefix Cisco-IOS-XR-snmp-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping SNMP-USM-USER-ENTRY { + description + "SNMP usmUserTable Information"; + leaf usm-user-storage-type { + type uint32; + description + "Storage type"; + } + leaf usm-user-status { + type uint32; + description + "Status of this user"; + } + } + + grouping SNMP-VACM-ACCESS-ENTRY { + description + "SNMP vacmAccessTable Information"; + leaf vacm-access-read-view-name { + type string; + description + "Read view name"; + } + leaf vacm-access-write-view-name { + type string; + description + "Write view name"; + } + leaf vacm-access-notify-view-name { + type string; + description + "Notify view name"; + } + leaf vacm-access-status { + type uint32; + description + "Status of this view configuration"; + } + } + + grouping SNMP-SNMP-VIEW-XML-ENTRY { + description + "SNMP SNMPViewXmlTable Information"; + leaf snmp-view-family-type { + type string; + description + "Include or exclude"; + } + leaf snmp-view-family-storage-type { + type string; + description + "Storage type"; + } + leaf snmp-view-family-status { + type string; + description + "Status of this entry"; + } + } + + grouping SNMP-SNMP-HOST-XML { + description + "SNMP host xml information"; + leaf snmp-target-address-t-host { + type string; + description + "Transport type of address"; + } + leaf snmp-target-address-port { + type string; + description + "Target UDP port"; + } + leaf snmp-target-addresstype { + type string; + description + "Target host type (Inform or Trap)"; + } + leaf snmp-target-params-security-model { + type string; + description + "Security model"; + } + leaf snmp-target-params-security-name { + type string; + description + "Security name"; + } + leaf snmp-target-params-security-level { + type string; + description + "Security level"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub5.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub5.yang new file mode 100644 index 000000000..b03d06abf --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub5.yang @@ -0,0 +1,90 @@ +submodule Cisco-IOS-XR-snmp-agent-oper-sub5 { + belongs-to Cisco-IOS-XR-snmp-agent-oper { + prefix Cisco-IOS-XR-snmp-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping SNMP-OVERLOAD-STATS { + description + "SNMP Overload statastics"; + leaf number-of-nmsq-pkts-dropped { + type uint32; + description + "Number of packets which are currently enqueued + within the NMS queues"; + } + leaf number-of-pkts-dropped { + type uint32; + description + "Number of packets dropped"; + } + leaf overload-start-time { + type string; + description + "Time of overload contol begin"; + } + leaf overload-end-time { + type string; + description + "Time of overload contol End"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub6.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub6.yang new file mode 100644 index 000000000..f6e4bdc4e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub6.yang @@ -0,0 +1,92 @@ +submodule Cisco-IOS-XR-snmp-agent-oper-sub6 { + belongs-to Cisco-IOS-XR-snmp-agent-oper { + prefix Cisco-IOS-XR-snmp-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Nms-ip { + type string; + description + "Nms ip"; + } + + grouping SNMP-OID-STATS-B { + description + "SNMP incomming/processing queue statistics"; + leaf nms-count { + type uint32; + description + " Managment station count"; + } + leaf-list nms { + type Nms-ip; + max-elements "15"; + description + "Network Managment station ipadress"; + } + leaf-list request-count { + type uint32; + max-elements "15"; + description + "OID request count for each Managment station "; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub7.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub7.yang new file mode 100644 index 000000000..d843d5640 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper-sub7.yang @@ -0,0 +1,89 @@ +submodule Cisco-IOS-XR-snmp-agent-oper-sub7 { + belongs-to Cisco-IOS-XR-snmp-agent-oper { + prefix Cisco-IOS-XR-snmp-agent-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping SNMP-TRAP-STATS { + description + "SNMP Trap statistics"; + leaf number-of-pkts-in-trap-q { + type uint32; + description + "No. of trap packets in trapQ"; + } + leaf max-q-length-of-trap-q { + type uint32; + description + "Maximum Queue length of trapQ"; + } + leaf number-of-pkts-sent { + type uint32; + description + "No. of trap packets sent"; + } + leaf number-of-pkts-dropped { + type uint32; + description + "No. of trap packets dropped"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper.yang new file mode 100644 index 000000000..4076fe9d8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-agent-oper.yang @@ -0,0 +1,655 @@ +module Cisco-IOS-XR-snmp-agent-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-agent-oper"; + prefix snmp-agent-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-snmp-agent-oper-sub7 { + revision-date 2020-09-15; + } + include Cisco-IOS-XR-snmp-agent-oper-sub6 { + revision-date 2020-09-15; + } + include Cisco-IOS-XR-snmp-agent-oper-sub5 { + revision-date 2020-09-15; + } + include Cisco-IOS-XR-snmp-agent-oper-sub4 { + revision-date 2020-09-15; + } + include Cisco-IOS-XR-snmp-agent-oper-sub3 { + revision-date 2020-09-15; + } + include Cisco-IOS-XR-snmp-agent-oper-sub2 { + revision-date 2020-09-15; + } + include Cisco-IOS-XR-snmp-agent-oper-sub1 { + revision-date 2020-09-15; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-agent package operational data. + + This module contains definitions + for the following management objects: + snmp: SNMP operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Updated oper path for show snmp traps details"; + semver:module-version "2.0.0"; + } + revision 2020-03-31 { + description + "Fixing backward compatibility error in module."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-07-20 { + description + "Fixed English plural name transformation error."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-06-01 { + description + "IOS XR 6.0.1 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container snmp { + config false; + description + "SNMP operational data"; + container trap-servers { + description + "List of trap hosts"; + list trap-server { + description + "Trap server and port to which the trap is to be + sent and statistics"; + leaf trap-host { + type string; + description + "Trap Host"; + } + leaf port { + type inet:port-number; + description + "Trap port"; + } + uses SNMP-TRAP-STATS; + } + } + container information { + description + "SNMP operational information"; + container hosts { + description + "SNMP host information"; + list host { + key "name"; + description + "SNMP target host name"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Group name"; + } + list host-information { + key "user"; + description + "Host name ,udp-port , user, security model + and level"; + leaf user { + type xr:Cisco-ios-xr-string; + description + "SNMP host user"; + } + uses SNMP-SNMP-HOST-XML; + } + } + } + container system-up-time { + description + "System up time"; + uses SNMP-SYSUPTIME-EDM; + } + container sub-agent-names { + description + "SNMP sub-agent details"; + list sub-agent-name { + key "sub-agent-name"; + description + "Subagent Name"; + leaf sub-agent-name { + type xr:Cisco-ios-xr-string; + description + "Subagent Name"; + } + uses SNMP-SUB-AGENT-INFO; + } + } + container nms-addresses { + description + "SNMP request type summary "; + list nms-address { + key "nms-addr"; + description + "NMS address"; + leaf nms-addr { + type xr:Cisco-ios-xr-string; + description + "NMS address"; + } + uses SNMP-REQ-NMS-SUM; + } + } + container engine-id { + description + "SNMP engine ID"; + uses SNMP-ENGINEID; + } + container sub-agent-group-names { + description + "SNMP sub-agent details"; + list sub-agent-group-name { + key "sub-agent-group-name"; + description + "Subagent Group Name"; + leaf sub-agent-group-name { + type xr:Cisco-ios-xr-string; + description + "Subagent Group Name"; + } + uses SNMP-SUB-AGENT-GROUP-INFO; + } + } + container rx-queue { + description + "SNMP rx queue statistics"; + uses SNMP-RXQUE; + } + container system-name { + description + "System name"; + uses SNMP-SYSNAME; + } + container request-type-detail { + description + "SNMP request type details "; + container nms-addresses { + description + "snmp request type details "; + list nms-address { + key "nms-addr"; + description + "NMS address"; + leaf nms-addr { + type xr:Cisco-ios-xr-string; + description + "NMS address"; + } + uses SNMP-Q-STATS-B; + } + } + } + container duplicate-drop { + description + "Duplicate request status, count, time "; + uses SNMP-STATISTICS; + } + container bulk-stats-transfers { + description + "List of bulkstats transfer on the system"; + list bulk-stats-transfer { + key "transfer-name"; + description + "SNMP bulkstats transfer name"; + leaf transfer-name { + type xr:Cisco-ios-xr-string; + description + "Transfer name"; + } + uses SNMP-BULKSTATS-B; + } + } + container trap-infos { + description + "SNMP trap OID"; + list trap-info { + description + "SNMP Trap infomation like server , port and + trapOID"; + leaf trap-host { + type string; + description + "Trap Host"; + } + leaf port { + type inet:port-number; + description + "Trap port"; + } + uses SNMP-TRAPS-INFO; + } + } + container poll-oids { + description + "OID list for poll PDU"; + list poll-oid { + key "object-id"; + description + "PDU drop info for OID"; + leaf object-id { + type xr:Cisco-ios-xr-string; + description + "Object ID"; + } + uses SNMP-OID-STATS-B; + } + } + container infom-details { + description + "SNMP trap OID"; + list infom-detail { + description + "SNMP Trap infomation like server , port and + trapOID"; + leaf trap-host { + type string; + description + "Trap Host"; + } + leaf port { + type inet:port-number; + description + "Trap port"; + } + uses SNMP-TRAPS-INFO; + } + } + container statistics { + description + "SNMP statistics"; + uses SNMP-STATS; + } + container incoming-queue { + description + "Incoming queue details "; + uses SNMP-INCOMING-Q-STATS-ENTRY; + } + container context-mapping { + description + "Context name, features name, topology name, + instance"; + uses SNMP-CTX-MAPPING-XML; + } + container trap-oids { + description + "SNMP trap OID"; + list trap-oid { + key "trap-oid"; + description + "SNMP trap "; + leaf trap-oid { + type xr:Cisco-ios-xr-string; + description + "Trap object ID"; + } + uses SNMP-TRAPS-COUNT; + } + } + container nm-spackets { + description + "SNMP overload statistics "; + list nm-spacket { + key "packetcount"; + description + "NMS packet drop count"; + leaf packetcount { + type xr:Cisco-ios-xr-string; + description + "NMS packet drop count"; + } + uses SNMP-OVERLOAD-STATS; + } + } + container mibs { + description + "List of MIBS supported on the system"; + list mib { + key "name"; + description + "SNMP MIB Name"; + container oids { + description + "List of OIDs per MIB"; + list oid { + key "oid"; + description + "Object identifiers of a mib"; + leaf oid { + type string; + description + "Object Identifier"; + } + leaf oid-name { + type string; + mandatory true; + description + "MIB OID Name"; + } + } + } + container mib-information { + description + "MIB state and information"; + uses SNMP-MIB-INFO; + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "MIB Name"; + } + } + } + container serial-numbers { + description + "SNMP statistics pdu "; + list serial-number { + description + "Serial number"; + leaf number { + type xr:Cisco-ios-xr-string; + description + "Serial number"; + } + leaf req-id { + type uint32; + description + "Request ID"; + } + leaf port { + type inet:port-number; + description + "Port"; + } + uses SNMP-PDU-STATS; + } + } + container drop-nms-addresses { + description + "NMS list for drop PDU"; + list drop-nms-address { + key "nms-addr"; + description + "PDU drop info for NMS"; + leaf nms-addr { + type xr:Cisco-ios-xr-string; + description + "NMS address"; + } + uses SNMP-PDU-DROP-STATS; + } + } + container views { + description + "SNMP view information"; + list view { + key "name"; + description + "SNMP target view name"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "View name"; + } + list view-information { + key "object-id"; + description + "View name ,familytype, storagetype and status"; + leaf object-id { + type xr:Cisco-ios-xr-string; + description + "SNMP view OID"; + } + uses SNMP-SNMP-VIEW-XML-ENTRY; + } + } + } + container udp-statistics { + description + "SNMP UDP statistics"; + uses SNMP-UDP-STATS-INFO; + } + container system-descr { + description + "System description"; + uses SNMP-SYSDESCR; + } + container tables { + description + "List of table"; + container groups { + description + "List of vacmAccessTable"; + list group { + key "name"; + description + "SNMP group name"; + container group-informations { + description + "Group Model"; + list group-information { + description + "Group name ,status and information"; + leaf modelnumber { + type xr:Cisco-ios-xr-string; + description + "Model number"; + } + leaf level { + type xr:Cisco-ios-xr-string; + description + "Level"; + } + uses SNMP-VACM-ACCESS-ENTRY; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Group Name"; + } + } + } + container user-engine-ids { + description + "List of User"; + list user-engine-id { + key "engine-id"; + description + "SNMP engineId"; + leaf engine-id { + type xr:Cisco-ios-xr-string; + description + "SNMP Engine ID"; + } + list user-name { + key "user-name"; + description + "User name ,storage type ,status "; + leaf user-name { + type xr:Cisco-ios-xr-string; + description + "User name"; + } + uses SNMP-USM-USER-ENTRY; + } + } + } + } + container system-oid { + description + "System object ID"; + uses SNMP-SYSOBJID; + } + container trap-queue { + description + "SNMP trap queue statistics"; + uses SNMP-TRAPQUE; + } + } + container interfaces { + description + "List of interfaces"; + list interface { + key "name"; + description + "Interface Name"; + leaf name { + type xr:Interface-name; + description + "Interface Name"; + } + leaf interface-index { + type uint32; + mandatory true; + description + "Interface Index as used by MIB tables"; + } + } + } + container correlator { + description + "Trap Correlator operational data"; + container rule-details { + description + "Table that contains the database of correlation + rule details"; + list rule-detail { + key "rule-name"; + description + "Details of one of the correlation rules"; + leaf rule-name { + type string { + length "1..32"; + } + description + "Correlation Rule Name"; + } + uses SNMP-CORR-RULE-DETAIL-BAG; + } + } + container buffer-status { + description + "Describes buffer utilization and parameters + configured"; + uses SNMP-CORR-BUFFER-INFO-BAG; + } + container rule-set-details { + description + "Table that contains the ruleset detail info"; + list rule-set-detail { + key "rule-set-name"; + description + "Detail of one of the correlation rulesets"; + leaf rule-set-name { + type string { + length "1..32"; + } + description + "Ruleset Name"; + } + uses SNMP-CORR-RULESET-DETAIL-BAG; + } + } + container traps { + description + "Correlated traps Table"; + list trap { + key "entry-id"; + description + "One of the correlated traps"; + leaf entry-id { + type uint32; + description + "Entry ID"; + } + uses SNMP-CORR-TRAP-BUFFER-BAG; + } + } + } + container interface-indexes { + description + "List of index"; + list interface-index { + key "interface-index"; + description + "Interface Index"; + leaf interface-index { + type uint32; + description + "Interface Index as used by MIB tables"; + } + leaf interface-name { + type string; + mandatory true; + description + "Interface Name"; + } + } + } + container if-indexes { + description + "List of ifnames"; + list if-index { + key "interface-index"; + description + "Interface Index"; + leaf interface-index { + type uint32; + description + "Interface Index as used by MIB tables"; + } + uses SNMP-IFINDEX-IFNAME; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-bridgemib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-bridgemib-cfg.yang new file mode 100644 index 000000000..dbe1cf515 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-bridgemib-cfg.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-snmp-bridgemib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-bridgemib-cfg"; + prefix snmp-bridgemib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-bridgemib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container bridge { + description + "BRIDGE-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable dot1dBridge notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg.yang new file mode 100644 index 000000000..0877d56e4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg"; + prefix snmp-ciscopkimib-traps-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-ciscopkimib-traps package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + leaf pki { + type empty; + description + "Enable Enable SNMP traps for certificate expiry"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscosensormib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscosensormib-cfg.yang new file mode 100644 index 000000000..34205ef84 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ciscosensormib-cfg.yang @@ -0,0 +1,79 @@ +module Cisco-IOS-XR-snmp-ciscosensormib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ciscosensormib-cfg"; + prefix snmp-ciscosensormib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-ciscosensormib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-25 { + description + "Removed deprecated command CSCvx05102"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + leaf sensor-mib-cache { + type empty; + description + "Get cached Sesnsor MIB statistics"; + } + } + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container sensor { + description + "CISCO-ENTITY-SENSOR-MIB notification + configuration"; + leaf enable { + type empty; + description + "Enable entitySensorMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entityextmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entityextmib-cfg.yang new file mode 100644 index 000000000..a494d548f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entityextmib-cfg.yang @@ -0,0 +1,59 @@ +module Cisco-IOS-XR-snmp-entityextmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entityextmib-cfg"; + prefix snmp-entityextmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-entityextmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container cisco-entity-ext { + description + "Enable CISCO-ENTITY-EXT-MIB notifications"; + leaf enable { + type empty; + description + "Enable CISCO-ENTITY-EXT-MIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-cfg.yang new file mode 100644 index 000000000..5cbccc23a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-cfg.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XR-snmp-entitymib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entitymib-cfg"; + prefix snmp-entitymib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-entitymib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container entity-mib { + description + "Entity MIB"; + leaf entity-index-persistence { + type empty; + description + "Enable entPhysicalIndex persistence"; + } + } + } + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container entity { + description + "Enable ENTITY-MIB notifications"; + leaf enable { + type empty; + description + "Enable entityMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper-sub1.yang new file mode 100644 index 000000000..2af01acc0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper-sub1.yang @@ -0,0 +1,93 @@ +submodule Cisco-IOS-XR-snmp-entitymib-oper-sub1 { + belongs-to Cisco-IOS-XR-snmp-entitymib-oper { + prefix Cisco-IOS-XR-snmp-entitymib-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-entitymib package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ENTMIB-NODE2PATH-INFO { + description + "ENTITY-MIB Node To Path Map Record"; + leaf physical-index { + type uint32; + description + "entPhysicalIndex"; + } + leaf ent-physical-name { + type string; + description + "entPhysicalName"; + } + leaf location { + type string; + description + "invmgr EDM path"; + } + leaf ent-physical-descr { + type string; + description + "EntPhysicalDescription"; + } + leaf ent-physical-firmware-rev { + type string; + description + "entphysicalFirmwareRev"; + } + leaf ent-physical-hardware-rev { + type string; + description + "entphysicalHardwareRev"; + } + leaf ent-physical-modelname { + type string; + description + "entphysicalModelName"; + } + leaf ent-physical-serial-num { + type string; + description + "entphysicalSerialNum"; + } + leaf ent-physical-software-rev { + type string; + description + "entphysicalSoftwareRev"; + } + leaf ent-physical-mfg-name { + type string; + description + "entphysicalMfgName"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper.yang new file mode 100644 index 000000000..055e01d04 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entitymib-oper.yang @@ -0,0 +1,75 @@ +module Cisco-IOS-XR-snmp-entitymib-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entitymib-oper"; + prefix snmp-entitymib-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-oper { + prefix a1; + } + include Cisco-IOS-XR-snmp-entitymib-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-entitymib package operational data. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-oper + module with state data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-snmp-agent-oper'"; + container entity-mib { + description + "SNMP entity mib"; + container entity-physical-indexes { + description + "SNMP entity mib"; + list entity-physical-index { + key "entity-phynum"; + description + "SNMP entPhysical index number"; + leaf entity-phynum { + type xr:Cisco-ios-xr-string; + description + "Entity physical index"; + } + uses ENTMIB-NODE2PATH-INFO; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entstatemib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entstatemib-cfg.yang new file mode 100644 index 000000000..e178901be --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-entstatemib-cfg.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XR-snmp-entstatemib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entstatemib-cfg"; + prefix snmp-entstatemib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-entstatemib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-07-27 { + description + "IOS XR 6.0.0 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container entity-state { + description + "ENTITY-STATE-MIB notification configuration"; + leaf switchover { + type empty; + description + "Enable ceStateExtStandbySwitchover notification"; + } + leaf oper-status { + type empty; + description + "Enable entStateOperEnable and + entStateOperDisable notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-frucontrolmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-frucontrolmib-cfg.yang new file mode 100644 index 000000000..ed759e878 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-frucontrolmib-cfg.yang @@ -0,0 +1,60 @@ +module Cisco-IOS-XR-snmp-frucontrolmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-frucontrolmib-cfg"; + prefix snmp-frucontrolmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-frucontrolmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container fru-control { + description + "CISCO-ENTITY-FRU-CONTROL-MIB notification + configuration"; + leaf enable { + type empty; + description + "Enable ciscoEntityFRUControlMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-cfg.yang new file mode 100644 index 000000000..517db97fe --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-cfg.yang @@ -0,0 +1,179 @@ +module Cisco-IOS-XR-snmp-ifmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ifmib-cfg"; + prefix snmp-ifmib-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-ifmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg, + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-05-14 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:mib" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container interface-mib { + description + "Interface MIB configuration"; + container interfaces { + description + "Enter the SNMP interface configuration commands"; + list interface { + key "interface-name"; + description + "Interface to configure"; + leaf link-up-down { + type boolean; + description + "Enable or disable LinkUpDown notification"; + } + leaf index-persistence { + type boolean; + description + "Enable or disable index persistence"; + } + leaf interface-name { + type xr:Interface-name; + description + "The name of the interface"; + } + } + } + container notification { + description + "MIB notification configuration"; + leaf link-ietf { + type empty; + description + "Set the varbind of linkupdown trap to the RFC + specified varbinds (default cisco)"; + } + } + container subsets { + description + "Add configuration for an interface subset"; + list subset { + key "subset-id"; + description + "Subset priorityID to group ifNames based on + Regular Expression"; + container link-up-down { + description + "SNMP linkUp and linkDown notifications"; + leaf enable { + type boolean; + description + "Enable or disable linkupdown notification"; + } + leaf regular-expression { + type string; + description + "Regular expression to match ifName"; + } + } + leaf subset-id { + type uint32 { + range "1..255"; + } + description + "The interface subset PriorityID"; + } + } + } + leaf internal-cache { + type uint32 { + range "0..60"; + } + default "15"; + description + "Get cached interface statistics"; + } + leaf interface-alias-long { + type empty; + description + "Enable support for ifAlias values longer than + 64 characters"; + } + leaf ip-subscriber { + type empty; + description + "Enable IP subscriber interfaces in IFMIB"; + } + leaf interface-index-persistence { + type empty; + description + "Enable ifindex persistence"; + } + leaf statistics-cache { + type empty; + description + "Enable cached interface statistics"; + } + } + } + augment "/a1:snmp/a1:notification/a1:snmp" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + leaf link-down { + type empty; + description + "Enable link down notification"; + } + } + augment "/a1:snmp/a1:notification/a1:snmp" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + leaf link-up { + type empty; + description + "Enable link up notification"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper-sub1.yang new file mode 100644 index 000000000..b80ec544b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper-sub1.yang @@ -0,0 +1,115 @@ +submodule Cisco-IOS-XR-snmp-ifmib-oper-sub1 { + belongs-to Cisco-IOS-XR-snmp-ifmib-oper { + prefix Cisco-IOS-XR-snmp-ifmib-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-ifmib package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Link-up-down-status { + type enumeration { + enum "enabled" { + value 1; + description + "LinkUpDown notification is enabled"; + } + enum "disabled" { + value 2; + description + "LinkUpDown notification is disabled"; + } + } + description + "Link up down status"; + } + + grouping IFMIB-IFSTACKSTATUS-ENTRY { + description + "IF-MIB ifStackStatus entry"; + leaf if-stack-higher-layer { + type string; + description + "Higher Layer Index"; + } + leaf if-stack-lower-layer { + type string; + description + "Lowyer Layer Index"; + } + leaf if-stack-status { + type string; + description + "Interface ifStackStaus info"; + } + } + + grouping IFMIB-NOTIF-STATUS-ENTRY { + description + "IF-MIB ifname ifindex entry"; + leaf link-up-down-notif-status { + type Link-up-down-status; + description + "LinkUpDown notification status"; + } + } + + grouping IFMIB-IFALIAS-ENTRY { + description + "IF-MIB ifalias entry"; + leaf if-alias { + type string; + description + "Interface ifAlias"; + } + } + + grouping IFMIB-IFCONNECTORPRESENT-ENTRY { + description + "IF-MIB ifConnectorPresent entry"; + leaf if-connector-present { + type string; + description + "Interface ifConnector"; + } + } + + grouping IFMIB-IFNAME-IFINDEX-ENTRY { + description + "IF-MIB ifname ifindex entry"; + leaf if-index { + type uint32; + description + "Interface Index"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper.yang new file mode 100644 index 000000000..f325ba942 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-ifmib-oper.yang @@ -0,0 +1,136 @@ +module Cisco-IOS-XR-snmp-ifmib-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ifmib-oper"; + prefix snmp-ifmib-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-oper { + prefix a1; + } + include Cisco-IOS-XR-snmp-ifmib-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-ifmib package operational data. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-oper + module with state data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:snmp" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-snmp-agent-oper'"; + container interface-mib { + description + "SNMP IF-MIB information"; + container interfaces { + description + "Interfaces ifIndex information"; + list interface { + key "interface-name"; + description + "ifIndex for a specific Interface Name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IFMIB-IFNAME-IFINDEX-ENTRY; + } + } + container interface-connectors { + description + "Interfaces ifConnectorPresent information"; + list interface-connector { + key "interface-name"; + description + "ifConnectorPresent for a specific Interface + Name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IFMIB-IFCONNECTORPRESENT-ENTRY; + } + } + container interface-aliases { + description + "Interfaces ifAlias information"; + list interface-alias { + key "interface-name"; + description + "ifAlias for a specific Interface Name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IFMIB-IFALIAS-ENTRY; + } + } + container notification-interfaces { + description + "Interfaces Notification information"; + list notification-interface { + key "interface-name"; + description + "Notification for specific Interface Name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses IFMIB-NOTIF-STATUS-ENTRY; + } + } + container interface-stack-statuses { + description + "Interfaces ifstackstatus information"; + list interface-stack-status { + key "interface-stack-status"; + description + "ifstatus for a pair of Interface"; + leaf interface-stack-status { + type xr:Cisco-ios-xr-string; + description + "StackHigherLayer.StackLowerLayer"; + } + uses IFMIB-IFSTACKSTATUS-ENTRY; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-mib-rfmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-mib-rfmib-cfg.yang new file mode 100644 index 000000000..3fed288c9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-mib-rfmib-cfg.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XR-snmp-mib-rfmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-mib-rfmib-cfg"; + prefix snmp-mib-rfmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-mib-rfmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-05-13 { + description + "Descriptions updated."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container rf { + description + "CISCO-RF-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable ciscoRFMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub1.yang new file mode 100644 index 000000000..df801fd56 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub1.yang @@ -0,0 +1,120 @@ +submodule Cisco-IOS-XR-snmp-sensormib-oper-sub1 { + belongs-to Cisco-IOS-XR-snmp-sensormib-oper { + prefix Cisco-IOS-XR-snmp-sensormib-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-sensormib package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-15 { + description + "Fixing backward compatibility error in module."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SNMP-SENSOR-INFO-XML { + description + "SNMP sensor Info"; + leaf field-validity-bitmap { + type uint32; + description + "Sensor valid bitmap"; + } + leaf device-description { + type string { + length "0..64"; + } + description + "Device Name"; + } + leaf units { + type string { + length "0..64"; + } + description + "Units of variable being read"; + } + leaf device-id { + type uint32; + description + "Identifier for this device"; + } + leaf value { + type uint32; + description + "Current reading of sensor"; + } + leaf alarm-type { + type uint32; + description + "Indicates threshold violation"; + } + leaf data-type { + type uint32; + description + "Sensor data type enums"; + } + leaf scale { + type uint32; + description + "Sensor scale enums"; + } + leaf precision { + type uint32; + description + "Sensor precision range"; + } + leaf status { + type uint32; + description + "Sensor operation state enums"; + } + leaf age-time-stamp { + type uint32; + description + "Age of the sensor value; set to the current time + if directly access the value from sensor"; + } + leaf update-rate { + type uint32; + description + "Sensor value update rate;set to 0 if sensor + value is updated and evaluated immediately"; + } + leaf measured-entity { + type uint32; + description + "physical entity for which the sensor is taking + measurements"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub2.yang new file mode 100644 index 000000000..487ea9404 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper-sub2.yang @@ -0,0 +1,76 @@ +submodule Cisco-IOS-XR-snmp-sensormib-oper-sub2 { + belongs-to Cisco-IOS-XR-snmp-sensormib-oper { + prefix Cisco-IOS-XR-snmp-sensormib-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR snmp-sensormib package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-15 { + description + "Fixing backward compatibility error in module."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ENVMON-THRESHOLD-INFO { + description + "ENVMON threshold Info"; + leaf threshold-severity { + type uint32; + description + "Indicates minor, major, critical severities"; + } + leaf threshold-relation { + type uint32; + description + "Indicates relation between sensor value and + threshold"; + } + leaf threshold-value { + type int32; + description + "Value of the configured threshold"; + } + leaf threshold-evaluation { + type boolean; + description + "Indicates the result of the most recent + evaluation of the thresholD"; + } + leaf threshold-notification-enabled { + type boolean; + description + "Indicates whether or not a notification should + result, in case of threshold violation"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper.yang new file mode 100644 index 000000000..872addffb --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-sensormib-oper.yang @@ -0,0 +1,117 @@ +module Cisco-IOS-XR-snmp-sensormib-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-sensormib-oper"; + prefix snmp-sensormib-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-oper { + prefix a1; + } + include Cisco-IOS-XR-snmp-sensormib-oper-sub2 { + revision-date 2020-05-15; + } + include Cisco-IOS-XR-snmp-sensormib-oper-sub1 { + revision-date 2020-05-15; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-sensormib package operational data. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-oper + module with state data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-15 { + description + "Fixing backward compatibility error in module."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-snmp-agent-oper'"; + container sensor-mib { + description + "SNMP sensor MIB information"; + container physical-indexes { + description + "List of physical index table for threshold + value"; + list physical-index { + key "index"; + description + "Threshold value for physical index"; + container threshold-indexes { + description + "List of threshold index"; + list threshold-index { + description + "Threshold value for threshold index"; + leaf phy-index { + type xr:Cisco-ios-xr-string; + description + "Physical Index"; + } + leaf thre-index { + type xr:Cisco-ios-xr-string; + description + "Threshold index"; + } + uses ENVMON-THRESHOLD-INFO; + } + } + leaf index { + type xr:Cisco-ios-xr-string; + description + "Physical index"; + } + } + } + container ent-phy-indexes { + description + "List of physical index "; + list ent-phy-index { + key "index"; + description + "Sensor value for physical index"; + leaf index { + type xr:Cisco-ios-xr-string; + description + "Physical index"; + } + uses SNMP-SENSOR-INFO-XML; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-syslogmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-syslogmib-cfg.yang new file mode 100644 index 000000000..a0c5ee8f3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-syslogmib-cfg.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XR-snmp-syslogmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-syslogmib-cfg"; + prefix snmp-syslogmib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-syslogmib package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-12-01 { + description + "IOS XR 6.0 revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container syslog { + description + "CISCO-SYSLOG-MIB notification configuration"; + leaf enable { + type empty; + description + "Enable ciscoSyslogMIB notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-test-trap-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-test-trap-act.yang new file mode 100644 index 000000000..59f9a32ce --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-snmp-test-trap-act.yang @@ -0,0 +1,487 @@ +module Cisco-IOS-XR-snmp-test-trap-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-test-trap-act"; + prefix snmp-test-trap-act; + + import cisco-semver { + prefix semver; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2017-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-10-25 { + description + "IOS XR 6.2.1 revision."; + } + + rpc snmp-cold-start { + description + "Generate SNMPv2-MIB::coldStart"; + } + rpc snmp-warm-start { + description + "Generate SNMPv2-MIB::warmStart"; + } + rpc interface-link-up { + description + "Generate IF-MIB::linkUp"; + input { + leaf ifindex { + type uint32 { + range "1..2147483647"; + } + description + "interface index for which to generate LinkUp trap"; + } + } + } + rpc interface-link-down { + description + "Generate IF-MIB::linkDown"; + input { + leaf ifindex { + type uint32 { + range "1..2147483647"; + } + description + "interface index for which to generate LinkDown trap"; + } + } + } + rpc sonet-section-status { + description + "Generate CISCO-SONET-MIB::ciscoSonetSectionStatusChange"; + input { + leaf ifindex { + type uint32 { + range "1..2147483647"; + } + description + "interface index for which to generate ciscoSonetSectionStatusChange trap"; + } + } + } + rpc sonet-line-status { + description + "Generate CISCO-SONET-MIB::ciscoSonetLineStatusChange"; + input { + leaf ifindex { + type uint32 { + range "1..2147483647"; + } + description + "interface index for which to generate ciscoSonetLineStatusChange trap"; + } + } + } + rpc sonet-path-status { + description + "Generate CISCO-SONET-MIB::ciscoSonetPathStatusChange"; + input { + leaf ifindex { + type uint32 { + range "1..2147483647"; + } + description + "interface index for which to generate ciscoSonetPathStatusChange trap"; + } + } + } + rpc infra-syslog-message-generated { + description + "Generate CISCO-SYSLOG-MIB::clogMessageGenerated"; + } + rpc infra-flash-device-inserted { + description + "Generate CISCO-FLASH-MIB::ciscoFlashDeviceInsertedNotif"; + } + rpc infra-flash-device-removed { + description + "Generate CISCO-FLASH-MIB::ciscoFlashDeviceRemovedNotif"; + } + rpc infra-redundancy-progression { + description + "Generate CISCO-RF-MIB::ciscoRFProgressionNotif"; + } + rpc infra-redundancy-switch { + description + "Generate CISCO-RF-MIB::ciscoRFSwactNotif"; + } + rpc infra-bridge-new-root { + description + "Generate BRIDGE-MIB::newRoot"; + } + rpc infra-bridge-topology-change { + description + "Generate BRIDGE-MIB::topologyChange"; + } + rpc infra-config-event { + description + "Generate CISCO-CONFIG-MAN-MIB::ciscoConfigManEvent"; + } + rpc entity-sensor-threshold-notification { + description + "Generate CISCO-ENTITY-SENSOR-MIB::entSensorThresholdNotification"; + input { + leaf entindex { + type uint32 { + range "1..2147483647"; + } + description + "entity Physical Index for which to generate trap"; + } + } + } + rpc entity-fru-power-status-change-failed { + description + "oper status changed to failed"; + input { + leaf entindex { + type uint32 { + range "1..2147483647"; + } + description + "entity Physical Index for which to generate trap"; + } + } + } + rpc entity-fru-module-status-change-up { + description + "fu trap module status changed as ok"; + input { + leaf entindex { + type uint32 { + range "1..2147483647"; + } + description + "entity Physical Index for which to generate trap"; + } + } + } + rpc entity-fru-module-status-change-down { + description + "fu trap module status changed as failed"; + input { + leaf entindex { + type uint32 { + range "1..2147483647"; + } + description + "entity Physical Index for which to generate trap"; + } + } + } + rpc entity-fru-fan-tray-oper-status-up { + description + "Generate CISCO-ENTITY-FRU-CONTROL-MIB::cefcFanTrayStatusChange"; + input { + leaf entindex { + type uint32 { + range "1..2147483647"; + } + description + "entity Physical Index for which to generate trap"; + } + } + } + rpc entity-fru-fan-tray-inserted { + description + "Generate CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRUInserted"; + input { + leaf entindex { + type uint32 { + range "1..2147483647"; + } + description + "entity Physical Index for which to generate trap"; + } + } + } + rpc entity-fru-fan-tray-removed { + description + "Generate CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRURemoved"; + input { + leaf entindex { + type uint32 { + range "1..2147483647"; + } + description + "entity Physical Index for which to generate trap"; + } + } + } + rpc platform-hfr-bundle-downed-link { + description + "Generate CISCO-FABRIC-HFR-MIB::cfhBundleDownedLinkNotification"; + input { + leaf bundle-name { + type string; + description + "bundle name for which to generate the trap"; + } + } + } + rpc platform-hfr-bundle-state { + description + "Generate CISCO-FABRIC-HFR-MIB::cfhBundleStateNotification"; + input { + leaf bundle-name { + type string; + description + "bundle name for which to generate the trap"; + } + } + } + rpc platform-hfr-plane-state { + description + "Generate CISCO-FABRIC-HFR-MIB::cfhPlaneStateNotification"; + input { + leaf plane-id { + type uint32; + description + "plane identifier for which to generate the trap"; + } + } + } + rpc routing-bgp-established { + description + "Generate BGP4-MIB::bglEstablishedNotification"; + } + rpc routing-bgp-established-remote-peer { + description + "Generate BGP4-MIB::bglEstablishedNotification remote peer"; + input { + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "BGP remote peer IP address for which to generate the trap"; + } + } + } + rpc routing-bgp-state-change { + description + "Generate CISCO-BGP-MIB::cbgpBackwardTransition"; + } + rpc routing-bgp-state-change-remote-peer { + description + "Generate CISCO-BGP-MIB::cbgpBackwardTransition remote peer"; + input { + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "BGP remote peer IP address for which to generate the trap"; + } + } + } + rpc routing-ospf-neighbor-state-change { + description + "Generate OSPF-TRAP-MIB::ospfNbrStateChange"; + } + rpc routing-ospf-neighbor-state-change-address { + description + "Generate OSPF-TRAP-MIB::ospfNbrStateChange address"; + input { + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "neighbor's IP source address for which to generate the trap"; + } + leaf ifindex { + type uint32 { + range "0..2147483647"; + } + mandatory true; + description + "0 for interfaces having IP addresses or IF-MIB ifindex of addressless interface"; + } + } + } + rpc routing-mpls-ldp-session-down { + description + "Generate MPLS-LDP-STD-MIB::mplsLdpSessionDown"; + } + rpc routing-mpls-ldp-session-down-entity-id { + description + "Generate MPLS-LDP-STD-MIB::mplsLdpSessionDown entity-id"; + input { + leaf entity-id { + type string { + length "23"; + } + mandatory true; + description + "entity ldp-id in x.x.x.x.y.y format where x.x.x.x is the entity IP address and y.y is the label space"; + } + leaf entity-index { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "entity index for which to generate the trap"; + } + leaf peer-id { + type string { + length "23"; + } + mandatory true; + description + "peer ldp-id in x.x.x.x.y.y format where x.x.x.x is the entity IP address and y.y is the label space"; + } + } + } + rpc routing-mpls-tunnel-re-routed { + description + "Generate MPLS-TE-STD-MIB::mplsTunnelRerouted"; + } + rpc routing-mpls-tunnel-re-routed-index { + description + "Generate MPLS-TE-STD-MIB::mplsTunnelRerouted index"; + input { + leaf index { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "tunnel index for which to generate the trap"; + } + leaf instance { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "tunnel instance for which to generate the trap"; + } + leaf source { + type inet:ipv4-address-no-zone; + mandatory true; + description + "source address for which to generate the trap"; + } + leaf destination { + type inet:ipv4-address-no-zone; + mandatory true; + description + "destination address for which to generate the trap"; + } + } + } + rpc routing-mpls-tunnel-re-optimized { + description + "Generate MPLS-TE-STD-MIB::mplsTunnelReoptimized"; + } + rpc routing-mpls-tunnel-re-optimized-index { + description + "Generate MPLS-TE-STD-MIB::mplsTunnelReoptimized index"; + input { + leaf index { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "tunnel index for which to generate the trap"; + } + leaf instance { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "tunnel instance for which to generate the trap"; + } + leaf source { + type inet:ipv4-address-no-zone; + mandatory true; + description + "source address for which to generate the trap"; + } + leaf destination { + type inet:ipv4-address-no-zone; + mandatory true; + description + "destination address for which to generate the trap"; + } + } + } + rpc routing-mpls-tunnel-down { + description + "Generate MPLS-TE-STD-MIB::mplsTunnelDown"; + } + rpc routing-mpls-tunnel-down-index { + description + "Generate MPLS-TE-STD-MIB::mplsTunnelDown index"; + input { + leaf index { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "tunnel index for which to generate the trap"; + } + leaf instance { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "tunnel instance for which to generate the trap"; + } + leaf source { + type inet:ipv4-address-no-zone; + mandatory true; + description + "src address"; + } + leaf destination { + type inet:ipv4-address-no-zone; + mandatory true; + description + "destination address for which to generate the trap"; + } + } + } + rpc all { + description + "generate all the supported traps"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-cfg.yang new file mode 100644 index 000000000..7028a03a0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-cfg.yang @@ -0,0 +1,65 @@ +module Cisco-IOS-XR-spirit-corehelper-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-spirit-corehelper-cfg"; + prefix spirit-corehelper-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR spirit-corehelper package configuration. + + This module contains definitions + for the following management objects: + exception: Core dump configuration commands + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container exception { + description + "Core dump configuration commands"; + container file { + description + "Container for the order of preference"; + leaf choice2 { + type string; + description + "Preference of the dump location"; + } + leaf choice1 { + type string; + description + "Preference of the dump location"; + } + leaf choice3 { + type string; + description + "Preference of the dump location"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper-sub1.yang new file mode 100644 index 000000000..d9b30cac0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper-sub1.yang @@ -0,0 +1,54 @@ +submodule Cisco-IOS-XR-spirit-corehelper-context-oper-sub1 { + belongs-to Cisco-IOS-XR-spirit-corehelper-context-oper { + prefix Cisco-IOS-XR-spirit-corehelper-context-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR spirit-corehelper-context package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "Adding show context yang model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping COREHELPER-CONTEXT-CONTEXT { + description + "Show context output"; + leaf context { + type string { + length "0..4096"; + } + description + "output of show context"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper.yang new file mode 100644 index 000000000..0544cc5f9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-spirit-corehelper-context-oper.yang @@ -0,0 +1,82 @@ +module Cisco-IOS-XR-spirit-corehelper-context-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-spirit-corehelper-context-oper"; + prefix spirit-corehelper-context-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-spirit-corehelper-context-oper-sub1 { + revision-date 2020-10-01; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR spirit-corehelper-context package operational data. + + This module contains definitions + for the following management objects: + core-helper: Corehelper operational data space + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "Adding show context yang model"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container core-helper { + config false; + description + "Corehelper operational data space"; + container node-ids { + description + "Show Context"; + list node-id { + key "node"; + description + "Show Context Location "; + leaf node { + type xr:Node-id; + description + "Node location"; + } + list context-id { + key "context-id"; + description + "Contexts for a node"; + leaf context-id { + type uint32; + description + "Node context"; + } + uses COREHELPER-CONTEXT-CONTEXT; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ssh-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ssh-act.yang new file mode 100644 index 000000000..a72e68c8e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ssh-act.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-ssh-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ssh-act"; + prefix ssh-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-02 { + description + "Action model for SSH"; + semver:module-version "1.0.0"; + } + + rpc clear-ssh-session { + description + "clears specific incoming session based on the session id"; + input { + leaf incoming-session-id { + type uint32 { + range "1..4294967295"; + } + description + "incoming session id"; + } + } + } + rpc clear-ssh-all { + description + "clears all incoming SSH session"; + } + rpc clear-ssh-outgoing-session { + description + "Disconnect client connection"; + input { + leaf outgoing-session-id { + type uint32 { + range "1..4294967295"; + } + description + "outgoing session id"; + } + } + } + rpc clear-ssh-stale-session { + description + "clear stale incoming SSH sessions"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-switch-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-switch-act.yang new file mode 100644 index 000000000..22f906ad7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-switch-act.yang @@ -0,0 +1,136 @@ +module Cisco-IOS-XR-switch-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-switch-act"; + prefix switch-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR controller ethernet switch. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-26 { + description + "Added an entry for clear controller switch txq."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-02-14 { + description + "Initial revision."; + } + + rpc clear-switch-bridge-statistics { + description + "Clear switch bridge statistics"; + input { + leaf instance { + type string; + mandatory true; + description + "Location information for switch, XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } + rpc clear-switch-fdb { + description + "Clear switch forwarding database"; + input { + leaf instance { + type string; + mandatory true; + description + "Location information for switch, XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } + rpc clear-switch-policing-statistics { + description + "Clear switch policing statistics"; + input { + leaf instance { + type string; + mandatory true; + description + "Location information for switch, XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + leaf port { + type uint16 { + range "0..65534"; + } + description + "Port number"; + } + } + } + rpc clear-switch-statistics { + description + "Clear switch statistics"; + input { + leaf instance { + type string; + mandatory true; + description + "Location information for switch, XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } + rpc set-switch-port-reset { + description + "Set port reset"; + input { + leaf instance { + type string; + mandatory true; + description + "Location information for switch, XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + leaf port { + type uint16 { + range "0..65534"; + } + mandatory true; + description + "Port number"; + } + } + } + rpc clear-switch-txq-statistics { + description + "Clear switch txq statistics"; + input { + leaf instance { + type string; + mandatory true; + description + "Location information for switch, XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + leaf port { + type uint16 { + range "0..65534"; + } + description + "Port number"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper-sub1.yang new file mode 100644 index 000000000..73264490d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper-sub1.yang @@ -0,0 +1,2480 @@ +submodule Cisco-IOS-XR-switch-oper-sub1 { + belongs-to Cisco-IOS-XR-switch-oper { + prefix Cisco-IOS-XR-switch-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR switch package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-13 { + description + "Added an entry for show controller switch data-integrity errror"; + semver:module-version "1.0.0"; + } + revision 2020-07-16 { + description + "Added an entry for show controller switch debug counters"; + } + revision 2020-06-30 { + description + "Added an entry for show controller switch events"; + } + revision 2020-05-22 { + description + "Added an entry for show controller switch health state"; + } + revision 2020-03-16 { + description + "Added an entry for show controller switch txq"; + } + revision 2019-10-30 { + description + "Change class name VLANInfoLnstance to VLANInfoInstance"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-03-08 { + description + "and entry for show controller switch bridge"; + } + revision 2019-03-01 { + description + "Rename esdma-oper to switch-oper, esdma-emon-oper to emon-oper"; + } + revision 2019-02-07 { + description + "Rework clear and set operations."; + } + revision 2019-01-30 { + description + "Schema rework to match the CLI."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping ESDMA-SHOW-ETHSW-EVENT-DATA { + description + "ethernet switch event info"; + leaf id { + type uint32; + description + "Identifier"; + } + leaf name { + type string { + length "0..64"; + } + description + "Name"; + } + leaf received { + type uint32; + description + "Received"; + } + leaf dropped { + type uint32; + description + "Dropped"; + } + leaf queued { + type uint32; + description + "Queued"; + } + leaf notified { + type uint32; + description + "Notified"; + } + leaf handled { + type uint32; + description + "Handled"; + } + } + + grouping ESDMA-SHOW-ETHSW-EVENTS-INFO { + description + "show ethernet switch events info"; + container ethsw-location-info { + description + "Ethernet Switch Location Info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + leaf max-queued-events { + type uint32; + description + "Max Queued Events"; + } + leaf max-queued-events-time { + type string { + length "0..64"; + } + description + "Max Queued Events Time"; + } + leaf total-received { + type uint64; + description + "Total Received"; + } + leaf total-dropped { + type uint64; + description + "Total Dropped"; + } + leaf total-queued { + type uint64; + description + "Total Queued"; + } + leaf total-notified { + type uint64; + description + "Total Notified"; + } + leaf total-handled { + type uint64; + description + "Total Handled"; + } + list ethsw-event-info { + description + "Ethernet switch event info"; + uses ESDMA-SHOW-ETHSW-EVENT-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-COLOR-DATA { + description + "ethernet switch tx queue statistics detailed + color info"; + leaf color { + type string { + length "0..8"; + } + description + "Traffic class color"; + } + leaf pass-packets { + type uint64; + description + "Pass packets"; + } + leaf pass-bytes { + type uint64; + units "byte"; + description + "Pass bytes"; + } + leaf drop-packets { + type uint64; + description + "Drop packets"; + } + leaf drop-bytes { + type uint64; + units "byte"; + description + "Drop bytes"; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-TRAFFIC-CLASS-DATA { + description + "ethernet switch tx queue statistics detailed + traffic class info"; + leaf traffic-class { + type string { + length "0..4"; + } + description + "Traffic class"; + } + list ethsw-txq-statistics-detailed-color-info { + description + "Ethernet switch Tx queue statistics detailed + color info"; + uses ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-COLOR-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-PORT-DATA { + description + "ethernet switch tx queue statistics detailed port + info"; + leaf port { + type uint32; + description + "Port"; + } + leaf traffic-class { + type string { + length "0..4"; + } + description + "Traffic class"; + } + leaf traffic-class-color { + type string { + length "0..8"; + } + description + "Traffic class color"; + } + leaf total-queued-packets { + type uint64; + description + "Total queued packets"; + } + leaf total-queued-bytes { + type uint64; + units "byte"; + description + "Total queued bytes"; + } + leaf total-drop-packets { + type uint64; + description + "Total drop packets"; + } + leaf total-drop-bytes { + type uint64; + units "byte"; + description + "Total drop bytes"; + } + list ethsw-txq-statistics-detailed-traffic-class-info { + description + "Ethernet switch Tx queue statistics detailed + traffic class info"; + uses ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-TRAFFIC-CLASS-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-DATA { + description + "ethernet switch tx queue statistics detailed info"; + list ethsw-txq-statistics-detailed-port-info { + description + "Ethernet switch Tx queue statistics detailed + port info"; + uses ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-PORT-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-STATISTICS-SUMMARY-PORT-DATA { + description + "ethernet switch tx queue statistics summary port + info"; + leaf port { + type uint32; + description + "Port"; + } + leaf traffic-class { + type string { + length "0..4"; + } + description + "Traffic class"; + } + leaf traffic-class-color { + type string { + length "0..8"; + } + description + "Traffic class color"; + } + leaf total-queued-packets { + type uint64; + description + "Total queued packets"; + } + leaf total-queued-bytes { + type uint64; + units "byte"; + description + "Total queued bytes"; + } + leaf total-drop-packets { + type uint64; + description + "Total drop packets"; + } + leaf total-drop-bytes { + type uint64; + units "byte"; + description + "Total drop bytes"; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-STATISTICS-SUMMARY-DATA { + description + "ethernet switch tx queue statistics summary info"; + list ethsw-txq-statistics-summary-port-info { + description + "Ethernet switch Tx queue statistics summary port + info"; + uses ESDMA-SHOW-ETHSW-TXQ-STATISTICS-SUMMARY-PORT-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-PORT-DATA { + description + "ethernet switch tx queue configuration port info"; + leaf port { + type uint32; + description + "Port"; + } + leaf config-drop-profile { + type uint32; + description + "Configured drop profile"; + } + leaf config-scheduler-profile { + type uint32; + description + "Configured scheduler profile"; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-PROFILE-PER-TRAFFIC-CLASS-DATA { + description + "ethernet switch tx queue configuration profile + per traffic class info"; + leaf traffic-class { + type uint32; + description + "Traffic class"; + } + leaf arbitration-group { + type string { + length "0..8"; + } + description + "Traffic arbitration group"; + } + leaf weighted-round-robin-weight { + type uint32; + description + "Weighted round robin weight"; + } + leaf sharing { + type string { + length "0..8"; + } + description + "Traffic class sharing"; + } + leaf drop-profile0-max-buffers { + type uint32; + description + "Drop profile 0 max buffers"; + } + leaf drop-profile1-max-buffers { + type uint32; + description + "Drop profile 1 max buffers"; + } + leaf drop-profile2-max-buffers { + type uint32; + description + "Drop profile 2 max buffers"; + } + leaf drop-profile0-max-traffic-descriptors { + type uint32; + description + "Drop profile 0 max traffic descriptors"; + } + leaf drop-profile1-max-traffic-descriptors { + type uint32; + description + "Drop profile 1 max traffic descriptors"; + } + leaf drop-profile2-max-traffic-descriptors { + type uint32; + description + "Drop profile 2 max traffic descriptors"; + } + leaf traffic-class-max-buffers { + type uint32; + description + "Traffic class max buffers"; + } + leaf traffic-class-max-traffic-descriptors { + type uint32; + description + "Traffic class max traffic descriptors"; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-PROFILE-DATA { + description + "ethernet switch tx queue configuration profile + info"; + leaf id { + type uint32; + description + "Id"; + } + leaf sharing { + type string { + length "0..8"; + } + description + "Profile sharing"; + } + leaf max-buffers { + type uint32; + description + "Max buffers"; + } + leaf max-traffic-descriptors { + type uint32; + description + "Max traffic descriptors"; + } + list ethsw-txq-configuration-profile-per-traffic-class-info { + description + "Ethernet switch Tx queue configured profile per + traffic class info"; + uses ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-PROFILE-PER-TRAFFIC-CLASS-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-GLOBAL-DATA { + description + "ethernet switch tx queue configuration global + info"; + leaf global-traffic-descriptors { + type uint32; + description + "Global traffic descriptors"; + } + leaf global-buffers { + type uint32; + description + "Global buffers"; + } + leaf shared-pool0-traffic-descriptors { + type uint32; + description + "Shared pool 0 traffic descriptors"; + } + leaf shared-pool0-buffers { + type uint32; + description + "Shared pool 0 buffers"; + } + leaf multi-target-traffic-descriptors { + type uint32; + description + "Multi target traffic descriptors"; + } + leaf multi-target-buffers { + type uint32; + description + "Multi target buffers"; + } + leaf sniffed-ingress-traffic-descriptors { + type uint32; + description + "Sniffed ingress traffic descriptors"; + } + leaf sniffed-ingress-buffers { + type uint32; + description + "Sniffed ingress buffers"; + } + leaf sniffed-egress-traffic-descriptors { + type uint32; + description + "Sniffed egress traffic descriptors"; + } + leaf sniffed-egress-buffers { + type uint32; + description + "Sniffed egress buffers"; + } + leaf weighted-round-robin-schedule-mode { + type string { + length "0..12"; + } + description + "Weighted round robin schedule mode"; + } + leaf weighted-round-robin-schedule-mtu { + type string { + length "0..8"; + } + description + "Weighted round robin Schedule mtu"; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-DATA { + description + "ethernet switch tx queue configuration info"; + list ethsw-txq-configuration-global-info { + description + "Ethernet switch Tx queue configured global info"; + uses ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-GLOBAL-DATA; + } + list ethsw-txq-configuration-profile-info { + description + "Ethernet switch Tx queue configured profile info"; + uses ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-PROFILE-DATA; + } + list ethsw-txq-configuration-port-info { + description + "Ethernet switch Tx queue configured port info"; + uses ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-PORT-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TXQ-INFO { + description + "show ethernet switch txq info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + leaf initial-configuration { + type string { + length "0..64"; + } + description + "Disabled"; + } + list ethsw-txq-configuration-info { + description + "Ethernet switch Tx queue config info"; + uses ESDMA-SHOW-ETHSW-TXQ-CONFIGURATION-DATA; + } + list ethsw-txq-statistics-summary-info { + description + "Ethernet switch Tx queue statistics summary info"; + uses ESDMA-SHOW-ETHSW-TXQ-STATISTICS-SUMMARY-DATA; + } + list ethsw-txq-statistics-detailed-info { + description + "Ethernet switch Tx queue statistics detailed + info"; + uses ESDMA-SHOW-ETHSW-TXQ-STATISTICS-DETAILED-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-VLAN-MEMBERSHIP-DATA { + description + "show ethernet switch vlan membership info"; + leaf vlan { + type uint32; + description + "Vlan number"; + } + leaf-list ports { + type uint8; + description + "Port number"; + } + } + + grouping ESDMA-SHOW-ETHSW-VLANMEMBERSHIP-INFO { + description + "show ethernet switch VLAN port membership"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-vlan-memb-info { + description + "Ethernet switch vlan membership info"; + uses ESDMA-SHOW-ETHSW-VLAN-MEMBERSHIP-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-VLAN-DATA { + description + "show ethernet switch vlan info"; + leaf vlan { + type uint32; + description + "Vlan number"; + } + leaf vlan-use { + type string { + length "0..64"; + } + description + "Vlan use"; + } + } + + grouping ESDMA-SHOW-ETHSW-VLANINFO-INFO { + description + "show ethernet switch VLAN info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-vlan-info { + description + "Ethernet switch vlan info"; + uses ESDMA-SHOW-ETHSW-VLAN-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-DETAILED-STATISTICS-DATA { + description + "show ethernet switch detailed statistics info"; + leaf port { + type uint8; + description + "Port number"; + } + leaf port-state { + type string { + length "0..8"; + } + description + "Port state"; + } + leaf port-speed { + type string { + length "0..8"; + } + description + "Port speed"; + } + leaf connects-to { + type string { + length "0..64"; + } + description + "Connects to"; + } + leaf rx-unicast-packets { + type uint64; + description + "Rx unicast packets"; + } + leaf rx-multicast-packets { + type uint64; + description + "Rx multicast packets"; + } + leaf rx-broadcast-packets { + type uint64; + description + "Rx broadcast packets"; + } + leaf rx-flow-control { + type uint64; + description + "Rx flow control"; + } + leaf rx-good-octets { + type uint64; + description + "Rx good octets"; + } + leaf rx-bad-octets { + type uint64; + description + "Rx bad octets"; + } + leaf rx-fifo-overrun { + type uint64; + description + "Rx FIFO overrun"; + } + leaf rx-undersize { + type uint64; + description + "Rx undersize"; + } + leaf rx-fragments { + type uint64; + description + "Rx fragments"; + } + leaf rx-oversize { + type uint64; + description + "Rx oversize"; + } + leaf rx-jabber { + type uint64; + description + "Rx jabber"; + } + leaf rx-errors { + type uint64; + description + "Rx errors"; + } + leaf rx-bad-crc { + type uint64; + description + "Rx bad CRC"; + } + leaf rx-collisons { + type uint64; + description + "Rx collisopns"; + } + leaf rx-policing-drops { + type uint64; + description + "Rx policing drops"; + } + leaf tx-unitcast-packets { + type uint64; + description + "Tx unicast packets"; + } + leaf tx-multicast-packets { + type uint64; + description + "Tx multicast packets"; + } + leaf tx-broadcast-packets { + type uint64; + description + "Tx broadcast packets"; + } + leaf txflow-control { + type uint64; + description + "Tx flow control"; + } + leaf tx-good-octets { + type uint64; + description + "Tx good octets"; + } + leaf tx-deferred { + type uint64; + description + "Tx deferred packets"; + } + leaf tx-fifo-unrun { + type uint64; + description + "Tx FIFO underrun/CRC"; + } + leaf tx-multi-collision { + type uint64; + description + "Tx Multiple collisions"; + } + leaf tx-excess-collision { + type uint64; + description + "Tx excess collisions"; + } + leaf tx-late-collisions { + type uint64; + description + "Tx late collisions"; + } + leaf tx-policing-drops { + type uint64; + description + "Tx policing drops"; + } + leaf tx-queue-drops { + type uint64; + description + "Tx queueing drops"; + } + leaf rx-tx-packets-64 { + type uint64; + description + "RxTx Packets 64"; + } + leaf rx-tx-packets-65-127 { + type uint64; + description + "RxTx Packets 65 to 127"; + } + leaf rx-tx-packets-128-255 { + type uint64; + description + "RxTx Packets 128 to 255"; + } + leaf rx-tx-packets-256-511 { + type uint64; + description + "RxTx Packets 256 to 511"; + } + leaf rx-tx-packets-512-1023 { + type uint64; + description + "RxTx Packets 512 1023"; + } + leaf rx-tx-packets-1024-max { + type uint64; + description + "RxTx Packets 1024 to max."; + } + } + + grouping ESDMA-SHOW-ETHSW-SUMMARY-STATISTICS-DATA { + description + "show ethernet switch summary statistics info"; + leaf port { + type uint8; + description + "Port number"; + } + leaf port-state { + type string { + length "0..8"; + } + description + "Port state"; + } + leaf port-state-changes { + type uint32; + description + "Port state changes"; + } + leaf tx-packets { + type uint64; + description + "Tx packets"; + } + leaf rx-packets { + type uint64; + description + "Rx packets"; + } + leaf tx-drops-errors { + type uint64; + description + "Tx drops errors"; + } + leaf rx-drops-errors { + type uint64; + description + "Rx drops errors"; + } + leaf connects-to { + type string { + length "0..64"; + } + description + "Connects to"; + } + } + + grouping ESDMA-SHOW-ETHSW-STATISTICS-INFO { + description + "show ethernet switch statistics info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-summary-stat-info { + description + "Ethernet switch summary statistics info"; + uses ESDMA-SHOW-ETHSW-SUMMARY-STATISTICS-DATA; + } + list ethsw-detailed-stat-info { + description + "Ethernet switch detailed statistics info"; + uses ESDMA-SHOW-ETHSW-DETAILED-STATISTICS-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-POLICING-PORT-DATA { + description + "ethernet switch policing port data"; + leaf policing-port { + type string { + length "0..64"; + } + description + "Policing Port"; + } + leaf policing-port-speed { + type string { + length "0..64"; + } + description + "Policing Port Speed"; + } + leaf policing-id { + type uint32; + description + "Policing Id"; + } + leaf policing-dir { + type string { + length "0..8"; + } + description + "Policing Direction"; + } + leaf policing-count-only { + type string { + length "0..8"; + } + description + "Policing Count Only"; + } + leaf policing-vid { + type uint32; + description + "Policing VID"; + } + leaf policing-vid-mask { + type uint32; + description + "Policing VID Mask"; + } + leaf policing-up { + type uint32; + description + "Policing Up"; + } + leaf policing-up-mask { + type uint32; + description + "Policing Up Mask"; + } + leaf policing-config-cir { + type uint64; + description + "Policing Config CIR"; + } + leaf policing-config-cir-pcnt { + type uint32; + units "percentage"; + description + "Policing Config CIR Percent"; + } + leaf policing-config-pir { + type uint64; + description + "Policing Config PIR"; + } + leaf policing-config-pir-pcnt { + type uint32; + units "percentage"; + description + "Policing Config PIR Percent"; + } + leaf policing-config-cbs { + type uint64; + description + "Policing Config CBS"; + } + leaf policing-config-pbs { + type uint64; + description + "Policing Config PBS"; + } + leaf policing-stats-total { + type uint64; + description + "Policing Stats Total"; + } + leaf policing-stats-green { + type uint64; + description + "Policing Stats Green"; + } + leaf policing-stats-yellow { + type uint64; + description + "Policing Stats Yellow"; + } + leaf policing-stats-red { + type uint64; + description + "Policing Stats Red"; + } + leaf policing-desc { + type string { + length "0..64"; + } + description + "Policing Description"; + } + } + + grouping ESDMA-SHOW-ETHSW-POLICING-INFO { + description + "show ethernet switch policing info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + leaf policing-config-ingress0 { + type string { + length "0..32"; + } + description + "Policing Config Ingress 0"; + } + leaf policing-config-ingress0-mru { + type uint32; + description + "Policing Config Ingress 0 MRU"; + } + leaf policing-config-ingress1 { + type string { + length "0..32"; + } + description + "Policing Config Ingress 1"; + } + leaf policing-config-ingress1-mru { + type uint32; + description + "Policing Config Ingress 1 MRU"; + } + leaf policing-config-egress { + type string { + length "0..32"; + } + description + "Policing Config Egress"; + } + leaf policing-config-egress-mru { + type uint32; + description + "Policing Config Egress MRU"; + } + list ethsw-policing-port-data { + description + "Ethernet switch policing port data"; + uses ESDMA-SHOW-ETHSW-POLICING-PORT-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-ALL-INFO { + description + "show ethernet switch"; + container ethsw-trunk { + description + "Ethernet switch trunk info"; + uses ESDMA-SHOW-ETHSW-TRUNK-INFO; + } + container ethsw-bridge { + description + "Ethernet switch bridge info"; + uses ESDMA-SHOW-ETHSW-BRIDGE-INFO; + } + container ethsw-summay { + description + "Ethernet switch summary info"; + uses ESDMA-SHOW-ETHSW-SUMMARY-INFO; + } + container ethsw-fdb { + description + "Ethernet switch FDB info"; + uses ESDMA-SHOW-ETHSW-FDB-INFO; + } + container ethsw-policing { + description + "Ethernet switch policing info"; + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + container ethsw-statistics { + description + "Ethernet switch statistics info"; + uses ESDMA-SHOW-ETHSW-STATISTICS-INFO; + } + container ethsw-vlan-ifo { + description + "Ethernet switch VLAN info"; + uses ESDMA-SHOW-ETHSW-VLANINFO-INFO; + } + container ethsw-vlan-membership { + description + "Ethernet switch VLAN membership info"; + uses ESDMA-SHOW-ETHSW-VLANMEMBERSHIP-INFO; + } + container ethsw-serdes { + description + "Ethernet switch SERDES info"; + uses ESDMA-SHOW-ETHSW-REGISTER-INFO; + } + container ethsw-mac { + description + "Ethernet switch MAC info"; + uses ESDMA-SHOW-ETHSW-REGISTER-INFO; + } + container ethsw-txq { + description + "Ethernet switch Tx queue info"; + uses ESDMA-SHOW-ETHSW-TXQ-INFO; + } + container ethsw-health-state { + description + "Ethernet switch health state info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-INFO; + } + container ethsw-events { + description + "Ethernet switch events info"; + uses ESDMA-SHOW-ETHSW-EVENTS-INFO; + } + container ethsw-debug-counters { + description + "Ethernet switch debug counters info"; + uses ESDMA-SHOW-ETHSW-DEBUG-COUNTERS-INFO; + } + container ethsw-data-integrity-error { + description + "Ethernet switch data integrity error info"; + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + + grouping ESDMA-SHOW-ETHSW-SUMMARY-DATA { + description + "show ethernet switch summary info"; + leaf port { + type uint8; + description + "Port number"; + } + leaf port-state { + type string { + length "0..8"; + } + description + "Port state"; + } + leaf port-admin-state { + type string { + length "0..8"; + } + description + "Port admin state"; + } + leaf port-speed { + type string { + length "0..8"; + } + description + "Port speed"; + } + leaf port-protocol-state { + type string { + length "0..8"; + } + description + "Port protocol state"; + } + leaf port-forwarding { + type string { + length "0..16"; + } + description + "Port is forwarding"; + } + leaf connects-to { + type string { + length "0..64"; + } + description + "Connects to"; + } + } + + grouping ESDMA-SHOW-ETHSW-SUMMARY-INFO { + description + "show ethernet switch summary info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-sum-info { + description + "Ethernet switch summary info"; + uses ESDMA-SHOW-ETHSW-SUMMARY-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-TRUNK-DATA { + description + "show ethernet switch trunk info"; + leaf port { + type uint8; + description + "Port number"; + } + leaf port-status { + type uint8; + description + "Port status"; + } + } + + grouping ESDMA-SHOW-ETHSW-TRUNK-INFO { + description + "show ethernet switch trunk info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + leaf member-count { + type uint8; + description + "Member count"; + } + leaf trunk-name { + type string { + length "0..64"; + } + description + "Trunk name"; + } + list ethsw-trunk-info { + description + "Ethernet switch trunk info"; + uses ESDMA-SHOW-ETHSW-TRUNK-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-HEALTH-STATE-HISTORY-ENTRY-DATA { + description + "ethernet switch health state history entry info"; + leaf instance { + type uint32; + description + "Instance"; + } + leaf type { + type string { + length "0..8"; + } + description + "Type"; + } + leaf new-state { + type string { + length "0..64"; + } + description + "New state"; + } + leaf fault { + type string { + length "0..64"; + } + description + "Fault"; + } + leaf epoch { + type string { + length "0..64"; + } + description + "Epoch time"; + } + } + + grouping ESDMA-SHOW-ETHSW-HEALTH-STATE-PARTNER-DATA { + description + "ethernet switch health state partner info"; + leaf card-type { + type uint32; + description + "Card type"; + } + leaf logical-slot { + type uint32; + description + "Logical slot"; + } + leaf present { + type uint32; + description + "Present"; + } + leaf active { + type uint32; + description + "Active"; + } + leaf epoch { + type string { + length "0..64"; + } + description + "Epoch time"; + } + leaf card-name { + type string { + length "0..16"; + } + description + "Card name"; + } + } + + grouping ESDMA-SHOW-ETHSW-HEALTH-STATE-PARTNER-ACTIVE-DATA { + description + "ethernet switch health state partner active info"; + leaf card-type { + type uint32; + description + "Card type"; + } + leaf logical-slot { + type uint32; + description + "Logical slot"; + } + } + + grouping ESDMA-SHOW-ETHSW-HEALTH-STATE-DETAILED-STATE-DATA { + description + "ethernet switch health state link state info"; + leaf state { + type string { + length "0..16"; + } + description + "State"; + } + leaf fault { + type string { + length "0..64"; + } + description + "Fault"; + } + leaf epoch { + type string { + length "0..64"; + } + description + "Epoch time"; + } + leaf count { + type uint32; + description + "Count"; + } + } + + grouping ESDMA-SHOW-ETHSW-HEALTH-STATE-PORT-DATA { + description + "ethernet switch health state port info"; + leaf port { + type uint32; + description + "Port"; + } + leaf port-name { + type string { + length "0..64"; + } + description + "Port name"; + } + leaf polling-mode { + type string { + length "0..16"; + } + description + "Polling mode"; + } + leaf polling-count { + type uint32; + description + "Polling count"; + } + leaf polling-interval-ms { + type uint32; + description + "Polling interval in milli second"; + } + leaf monitor-mode { + type string { + length "0..16"; + } + description + "Monitor mode"; + } + leaf monitor-enabled { + type string { + length "0..16"; + } + description + "Monitor enabled"; + } + leaf recovery-mode { + type string { + length "0..64"; + } + description + "Recovery mode"; + } + leaf recovery-enabled { + type string { + length "0..64"; + } + description + "Recovery enabled"; + } + leaf recovery-attempts { + type uint32; + description + "Recovery attempts"; + } + list ethsw-health-state-link-state-info { + description + "Ethernet switch health state link state info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-DETAILED-STATE-DATA; + } + list ethsw-health-state-sync-state-info { + description + "Ethernet switch health state sync state info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-DETAILED-STATE-DATA; + } + list ethsw-health-state-admin-state-info { + description + "Ethernet switch health state admin state info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-DETAILED-STATE-DATA; + } + list ethsw-health-state-phy-sync-state-info { + description + "Ethernet switch health state phy sync state info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-DETAILED-STATE-DATA; + } + list ethsw-health-state-health-state-info { + description + "Ethernet switch health state's health status + info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-DETAILED-STATE-DATA; + } + list ethsw-health-state-partner-state-info { + description + "Ethernet switch health state partner state info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-DETAILED-STATE-DATA; + } + list ethsw-health-state-partner-active-info { + description + "Ethernet switch health state partner active info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-PARTNER-ACTIVE-DATA; + } + list ethsw-health-state-partner-info { + description + "Ethernet switch health state partner info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-PARTNER-DATA; + } + list ethsw-health-state-history-entry-info { + description + "Ethernet switch health state history entry info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-HISTORY-ENTRY-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-HEALTH-STATE-INFO { + description + "show ethernet switch health state info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-health-state-port-info { + description + "Ethernet switch health state port info"; + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-PORT-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-DEBUG-COUNTERS-CORE-STATISTICS-DATA { + description + "ethernet switch debug counters core statistics + info"; + leaf core { + type uint32; + description + "Core"; + } + leaf msi-count { + type uint64; + description + "MSI count"; + } + leaf aer-count { + type uint64; + description + "AER count"; + } + leaf hotplug-count { + type uint64; + description + "Hotplug count"; + } + leaf watchdog-count { + type uint64; + description + "Watchdog count"; + } + leaf task-lock-longest-wait-time { + type uint64; + description + "Task lock longest wait time"; + } + leaf task-lock-longest-held-time { + type uint64; + description + "Task lock longest held time"; + } + leaf task-unlock-longest-wait-time { + type uint64; + description + "Task unlock longest wait time"; + } + } + + grouping ESDMA-SHOW-ETHSW-DEBUG-COUNTERS-INFO { + description + "show ethernet switch debug counters info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + leaf tx-thread-watchdog-count { + type uint64; + description + "Tx thread watchdog count"; + } + leaf rx-thread-watchdog-count { + type uint64; + description + "Rx thread watchdog count"; + } + leaf task-lock-longest-wait-time { + type uint64; + description + "Task lock longest wait time"; + } + leaf task-lock-longest-wait-event { + type uint32; + description + "Task lock longest wait event"; + } + leaf task-lock-longest-held-time { + type uint64; + description + "Task lock longest held time"; + } + leaf task-lock-longest-held-event { + type uint32; + description + "Task lock longest held event"; + } + leaf task-unlock-longest-wait-time { + type uint64; + description + "Task unlock longest wait time"; + } + leaf task-unlock-longest-wait-event { + type uint32; + description + "Task unlock longest wait event"; + } + leaf dma-health-checks { + type string { + length "0..16"; + } + description + "DMA health checks status"; + } + leaf dma-max-rx-packets-dequeued-per-interrupt { + type uint64; + description + "DMA max Rx packets dequeued per interrupt"; + } + leaf dma-rx-packets-dequeued { + type uint64; + description + "DMA Rx packets dequeued"; + } + leaf dma-rx-packet-dequeue-errors { + type uint64; + description + "DMA Rx packet dequeue errors"; + } + leaf dma-tx-packets-queued { + type uint64; + description + "DMA Tx packets queued"; + } + leaf dma-tx-packets-completed { + type uint64; + description + "DMA Tx packets completed"; + } + leaf dma-tx-packet-no-message-errors { + type uint64; + description + "DMA Tx packet no message errors"; + } + leaf dma-tx-packet-message-too-big-errors { + type uint64; + description + "DMA Tx packet message too big errors"; + } + leaf dma-tx-packet-no-buffer-errors { + type uint64; + description + "DMA Tx packet no buffer errors"; + } + leaf dma-tx-packet-queue-errors { + type uint64; + description + "DMA Tx packet queue errors"; + } + leaf dma-tx-packet-completion-errors { + type uint64; + description + "DMA Tx packet completion errors"; + } + leaf dma-max-tx-packets-freed-per-interrupt { + type uint64; + description + "DMA max Tx packets freed per interrupt"; + } + leaf dma-tx-buffer-allocation-count { + type uint64; + description + "DMA Tx buffer allocation count"; + } + leaf dma-tx-buffer-free-count { + type uint64; + description + "DMA Tx buffer free count"; + } + list ethsw-debug-counters-core-statistics-info { + description + "Ethernet switch debug counters core statistics + info"; + uses ESDMA-SHOW-ETHSW-DEBUG-COUNTERS-CORE-STATISTICS-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-BRIDGE-EGRESS-DATA { + description + "ethernet switch bridge egress info"; + leaf entry-number { + type uint8; + description + "Entry number"; + } + leaf egress-port-vlan-tc-dp { + type string { + length "0..32"; + } + description + "Egress port, vlan, TC and DP"; + } + leaf egress-unicast-frames { + type uint64; + description + "Egress unicast frames"; + } + leaf egress-multicast-frames { + type uint64; + description + "Egress multicast frames"; + } + leaf egress-broadcast-frames { + type uint64; + description + "Egress broadcast frames"; + } + leaf egress-discarded-frames { + type uint64; + description + "Egress discarded frames"; + } + leaf egress-transmit-q-cong { + type uint64; + description + "Egress transmit q congestion"; + } + leaf egress-control-packets { + type uint64; + description + "Egress control packats"; + } + leaf egress-other-drops { + type uint64; + description + "Egress other drops"; + } + } + + grouping ESDMA-SHOW-ETHSW-BRIDGE-INGRESS-DATA { + description + "ethernet switch bridge ingress info"; + leaf entry-number { + type uint8; + description + "Entry number"; + } + leaf ingress-port-vlan { + type string { + length "0..32"; + } + description + "Ingress port and vlan"; + } + leaf ingress-frames { + type uint64; + description + "Ingress frames"; + } + leaf ingress-vlan-discards { + type uint64; + description + "Ingress vlan discards"; + } + leaf ingress-sec-discards { + type uint64; + description + "Ingress security discards"; + } + leaf ingress-other-discards { + type uint64; + description + "Ingress other discards"; + } + } + + grouping ESDMA-SHOW-ETHSW-BRIDGE-INFO { + description + "show ethernet switch bridge info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-bridge-ingress-info { + description + "Ethernet switch bridge ingress info"; + uses ESDMA-SHOW-ETHSW-BRIDGE-INGRESS-DATA; + } + list ethsw-bridge-egress-info { + description + "Ethernet switch bridge egress info"; + uses ESDMA-SHOW-ETHSW-BRIDGE-EGRESS-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-FDB-CORE-DATA { + description + "ethernet switch fdb core info"; + leaf fdb-instance { + type string { + length "0..32"; + } + description + "Fdb Instance"; + } + leaf fdb-entries { + type uint32; + description + "Total entries"; + } + leaf fdb-static-entries { + type uint32; + description + "Static entries"; + } + } + + grouping ESDMA-SHOW-ETHSW-FDB-STATISTICS-DATA { + description + "ethernet switch fdb statistics info"; + leaf fdb-shadow-entries { + type uint32; + description + "Current shadow table entries"; + } + leaf fdb-max-shadow-entries { + type uint32; + description + "Maximum shadow table entries"; + } + leaf fdb-max-hash-chain { + type uint32; + description + "Maximum hash chain depth"; + } + leaf fdb-entries-added { + type uint32; + description + "Number of entries added"; + } + leaf fdb-entries-deleted { + type uint32; + description + "Number of entries deleted"; + } + leaf fdb-entries-updated { + type uint32; + description + "Number of entries updated"; + } + leaf fdb-flushed { + type uint32; + description + "Number of FDB flushes"; + } + leaf fdb-address-updates { + type uint32; + description + "Address update messages"; + } + leaf fdb-new-address { + type uint32; + description + "New addresses"; + } + leaf fdb-aged-updates { + type uint32; + description + "Aged addresses"; + } + leaf fdb-transplant-updates { + type uint32; + description + "Transplanted updates"; + } + leaf fdb-forwarding-updates { + type uint32; + description + "Forwarding updates"; + } + leaf fdb-addr-insert-errors { + type uint32; + description + "Address insert errors"; + } + leaf fdb-addr-update-errors { + type uint32; + description + "Address update errors"; + } + leaf fdbmemory-errors { + type uint32; + description + "FDB memory errors"; + } + leaf fdb-allocation-errors { + type uint32; + description + "FDB allocation errors"; + } + leaf fdb-addr-updates-q { + type uint32; + description + "Address updates queued"; + } + leaf fdb-addr-q-full { + type string { + length "0..32"; + } + description + "Address queue full"; + } + leaf fdbforwarding-updates-qed { + type uint32; + description + "Forwarding updates queued"; + } + leaf fdb-forwarding-q-full { + type string { + length "0..32"; + } + description + "Forwarding queue full"; + } + } + + grouping ESDMA-SHOW-ETHSW-FDB-DATA { + description + "ethernet switch fdb info"; + leaf fdb-mac-addr { + type string { + length "0..32"; + } + description + "Fdb MAC address"; + } + leaf fdb-vlan { + type uint32; + description + "Fdb VLAN"; + } + leaf fdb-port { + type string { + length "0..32"; + } + description + "Fdb port"; + } + leaf fdb-trap-entry { + type string { + length "0..32"; + } + description + "Fdb trap entry"; + } + leaf fdb-static-entry { + type string { + length "0..32"; + } + description + "Fdb static entry"; + } + leaf fdb-synced-cores { + type uint32; + description + "Fdb synced cores"; + } + leaf fdb-index { + type uint32; + description + "Fdb index"; + } + } + + grouping ESDMA-SHOW-ETHSW-FDB-INFO { + description + "show ethernet switch forwarding data base info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + leaf has-trunk-entry { + type string { + length "0..32"; + } + description + "Has trunk entry"; + } + leaf trunk-entry-message { + type string { + length "0..256"; + } + description + "Trunk entry message"; + } + list ethsw-fdb-info { + description + "Ethernet switch FDB info"; + uses ESDMA-SHOW-ETHSW-FDB-DATA; + } + list ethsw-fdb-statistic { + description + "Ethernet switch FDB statistics info"; + uses ESDMA-SHOW-ETHSW-FDB-STATISTICS-DATA; + } + list ethsw-fdb-core-info { + description + "Ethernet switch FDB core info"; + uses ESDMA-SHOW-ETHSW-FDB-CORE-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-REGISTER-DATA { + description + "ethernet switch register data"; + leaf base-reg { + type string { + length "0..16"; + } + description + "Register address"; + } + leaf description { + type string { + length "0..64"; + } + description + "Register description"; + } + leaf value { + type string { + length "0..16"; + } + description + "Register value"; + } + } + + grouping ESDMA-SHOW-ETHSW-PORT-DATA { + description + "ethernet switch port info"; + leaf port { + type uint8; + description + "Port number"; + } + list ethsw-register-data { + description + "Register data"; + uses ESDMA-SHOW-ETHSW-REGISTER-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-REGISTER-INFO { + description + "show ethernet switch register info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-port-info { + description + "Ethernet switch port info"; + uses ESDMA-SHOW-ETHSW-PORT-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-HISTORY-ENTRY-DATA { + description + "ethernet switch data integrity error history + entry info"; + leaf instance { + type uint32; + description + "Entry instance"; + } + leaf memory-type { + type uint32; + description + "Memory type"; + } + leaf memory-type-name { + type string { + length "0..64"; + } + description + "Memory type name"; + } + leaf memory-row { + type uint32; + description + "Memory row"; + } + leaf tcam-rule-index { + type string { + length "0..16"; + } + description + "TCAM rule index"; + } + leaf hardware-table { + type string { + length "0..16"; + } + description + "Hardware table"; + } + leaf hardware-table-name { + type string { + length "0..64"; + } + description + "Hardware table name"; + } + leaf hardware-table-index { + type string { + length "0..16"; + } + description + "Hardware table index"; + } + leaf logical-table { + type string { + length "0..16"; + } + description + "Logical table"; + } + leaf logical-table-name { + type string { + length "0..64"; + } + description + "Logical table name"; + } + leaf logical-table-index { + type string { + length "0..16"; + } + description + "Logical table index"; + } + leaf interrupt { + type uint32; + description + "Interrupt"; + } + leaf error-type { + type string { + length "0..64"; + } + description + "Error type"; + } + leaf memory-usage { + type string { + length "0..64"; + } + description + "Memory usage"; + } + leaf correction-method { + type string { + length "0..64"; + } + description + "Correction method"; + } + leaf error-status { + type string { + length "0..64"; + } + description + "Error status"; + } + leaf error-time { + type string { + length "0..64"; + } + description + "Error time"; + } + } + + grouping ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-HISTORY-DATA { + description + "ethernet switch data integrity error history data"; + leaf number-of-entries { + type uint32; + description + "Number of entries"; + } + list ethsw-data-integrity-error-history-entry-info { + description + "Ethernet switch data integrity error history + entry info"; + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-HISTORY-ENTRY-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFORMATION-ENTRY-DATA { + description + "ethernet switch data integrity error information + entry"; + leaf instance { + type uint32; + description + "Entry instance"; + } + leaf memory-type { + type uint32; + description + "Memory type"; + } + leaf memory-type-name { + type string { + length "0..64"; + } + description + "Memory type name"; + } + leaf hardware-table { + type string { + length "0..16"; + } + description + "Hardware table"; + } + leaf hardware-table-name { + type string { + length "0..64"; + } + description + "Hardware table name"; + } + leaf logical-table { + type string { + length "0..16"; + } + description + "Logical table"; + } + leaf logical-table-name { + type string { + length "0..64"; + } + description + "Logical table name"; + } + leaf protection-type { + type string { + length "0..16"; + } + description + "Protection type"; + } + leaf parity-error-count { + type uint32; + description + "Parity error count"; + } + leaf single-bit-error-correction-code-error-count { + type uint32; + description + "Single bit error correction code error count"; + } + leaf multi-bit-error-correction-code-error-count { + type uint32; + description + "Multi bit error correction code error count"; + } + leaf corrected-error-count { + type uint32; + description + "Corrected error count"; + } + leaf uncorrected-error-count { + type uint32; + description + "Uncorrected error count"; + } + leaf last-error-time { + type string { + length "0..64"; + } + description + "Last error time"; + } + } + + grouping ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFORMATION-DATA { + description + "ethernet switch data integrity error information"; + leaf number-of-entries { + type uint32; + description + "Number of entries"; + } + list ethsw-data-integrity-error-information-entry-info { + description + "Ethernet switch data integrity error information + entry details"; + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFORMATION-ENTRY-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-SUMMARY-ENTRY-DATA { + description + "ethernet switch data integrity error summary + entry info"; + leaf memory-type { + type uint32; + description + "Memory type"; + } + leaf memory-type-name { + type string { + length "0..64"; + } + description + "Memory type name"; + } + leaf parity-error-count { + type uint32; + description + "Parity error count"; + } + leaf single-bit-error-correction-code-error-count { + type uint32; + description + "Single bit error correction code error count"; + } + leaf multi-bit-error-correction-code-error-count { + type uint32; + description + "Multi bit error correction code error count"; + } + leaf corrected-error-count { + type uint32; + description + "Corrected error count"; + } + leaf uncorrected-error-count { + type uint32; + description + "Uncorrected error count"; + } + } + + grouping ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-SUMMARY-DATA { + description + "ethernet switch data integrity error summary info"; + leaf number-of-entries { + type uint32; + description + "Number of entries"; + } + leaf total-parity-error-count { + type uint64; + description + "Total parity error count"; + } + leaf total-single-bit-error-correction-code-error-count { + type uint64; + description + "Total single bit error correction code error + count"; + } + leaf total-multi-bit-error-correction-code-error-count { + type uint64; + description + "Total multi bit error correction code error + count"; + } + leaf total-corrected-error-count { + type uint64; + description + "Total corrected error count"; + } + leaf total-uncorrected-error-count { + type uint64; + description + "Total uncorrected error count"; + } + list ethsw-data-integrity-error-summary-entry-info { + description + "Ethernet switch data integrity error summary + entry info"; + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-SUMMARY-ENTRY-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO { + description + "show ethernet switch data integrity error info"; + container ethsw-location-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + list ethsw-data-integrity-error-summary-info { + description + "Ethernet switch data integrity error summary + info"; + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-SUMMARY-DATA; + } + list ethsw-data-integrity-error-information { + description + "Ethernet switch data integrity error information"; + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFORMATION-DATA; + } + list ethsw-data-integrity-error-history-info { + description + "Ethernet switch data integrity error history + info"; + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-HISTORY-DATA; + } + } + + grouping ESDMA-SHOW-ETHSW-LOCATION-DATA { + description + "ethernet switch location info"; + leaf rack { + type uint8; + description + "Rack number"; + } + leaf card { + type string { + length "0..16"; + } + description + "Card name"; + } + leaf switch { + type string { + length "0..8"; + } + description + "Switch name"; + } + leaf serial-num { + type string { + length "0..20"; + } + description + "Serial number"; + } + } + + grouping ESDMA-SHOW-ETHSW-REACHABLE-INFO { + description + "show ethernet switch reachable info"; + list ethsw-reachable-info { + description + "Ethernet switch location info"; + uses ESDMA-SHOW-ETHSW-LOCATION-DATA; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper.yang new file mode 100644 index 000000000..9739756ac --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-switch-oper.yang @@ -0,0 +1,1586 @@ +module Cisco-IOS-XR-switch-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-switch-oper"; + prefix switch-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-switch-oper-sub1 { + revision-date 2020-08-13; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR switch package operational data. + + This module contains definitions + for the following management objects: + show-switch: Control plane Ethernet switch data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-13 { + description + "Added an entry for show controller switch data-integrity errror"; + semver:module-version "1.0.0"; + } + revision 2020-07-16 { + description + "Added an entry for show controller switch debug counters"; + } + revision 2020-06-30 { + description + "Added an entry for show controller switch events"; + } + revision 2020-05-22 { + description + "Added an entry for show controller switch health state"; + } + revision 2020-03-16 { + description + "Added an entry for show controller switch txq"; + } + revision 2019-10-30 { + description + "Change class name VLANInfoLnstance to VLANInfoInstance"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2019-03-08 { + description + "and entry for show controller switch bridge"; + } + revision 2019-03-01 { + description + "Rename esdma-oper to switch-oper, esdma-emon-oper to emon-oper"; + } + revision 2019-02-07 { + description + "Rework clear and set operations."; + } + revision 2019-01-30 { + description + "Schema rework to match the CLI."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container show-switch { + config false; + description + "Control plane Ethernet switch data"; + container reachable { + description + "Lists all control plane Ethernet switches"; + uses ESDMA-SHOW-ETHSW-REACHABLE-INFO; + } + container data-integrity { + description + "Display switch data-integrity database"; + container data-integrity-error { + description + "Display switch data-integrity error database"; + container data-integrity-error-info { + description + "Display switch data-integrity error + information database"; + container data-integrity-error-info-log-table-numbers { + description + "Filter data integrity based on logical table"; + list data-integrity-error-info-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-info-log-table-location-instances { + description + "switch location"; + list data-integrity-error-info-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + container data-integrity-error-info-mem-type-numbers { + description + "Filter data integrity based on memory type"; + list data-integrity-error-info-mem-type-number { + key "mem-type"; + description + "Memory type number"; + container data-integrity-error-info-mem-type-location-instances { + description + "switch location"; + list data-integrity-error-info-mem-type-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-info-mem-type-hw-table-numbers { + description + "Filter data integrity based on hardware + table"; + list data-integrity-error-info-mem-type-hw-table-number { + key "hw-table"; + description + "Hardware table number"; + container data-integrity-error-info-mem-type-hw-table-log-table-numbers { + description + "Filter data integrity based on logical + table"; + list data-integrity-error-info-mem-type-hw-table-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-info-mem-type-hw-table-log-table-location-instances { + description + "switch location"; + list data-integrity-error-info-mem-type-hw-table-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + container data-integrity-error-info-mem-type-hw-table-location-instances { + description + "switch location"; + list data-integrity-error-info-mem-type-hw-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf hw-table { + type uint32; + description + "Hardware Table"; + } + } + } + leaf mem-type { + type uint32; + description + "Memory Type"; + } + } + } + container data-integrity-error-info-hw-table-numbers { + description + "Filter data integrity based on hardware table"; + list data-integrity-error-info-hw-table-number { + key "hw-table"; + description + "Hardware table number"; + container data-integrity-error-info-hw-table-location-instances { + description + "switch location"; + list data-integrity-error-info-hw-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-info-hw-table-log-table-numbers { + description + "Filter data integrity based on logical + table"; + list data-integrity-error-info-hw-table-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-info-hw-table-log-table-location-instances { + description + "switch location"; + list data-integrity-error-info-hw-table-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + leaf hw-table { + type uint32; + description + "Hardware Table"; + } + } + } + container data-integrity-error-info-location-instances { + description + "switch location"; + list data-integrity-error-info-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + } + container data-integrity-error-history { + description + "Display switch data-integrity error history + database"; + container data-integrity-error-history-log-table-numbers { + description + "Filter data integrity based on logical table"; + list data-integrity-error-history-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-history-log-table-location-instances { + description + "switch location"; + list data-integrity-error-history-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + container data-integrity-error-history-mem-type-numbers { + description + "Filter data integrity based on memory type"; + list data-integrity-error-history-mem-type-number { + key "mem-type"; + description + "Memory type number"; + container data-integrity-error-history-mem-type-location-instances { + description + "switch location"; + list data-integrity-error-history-mem-type-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-history-mem-type-hw-table-numbers { + description + "Filter data integrity based on hardware + table"; + list data-integrity-error-history-mem-type-hw-table-number { + key "hw-table"; + description + "Hardware table number"; + container data-integrity-error-history-mem-type-hw-table-log-table-numbers { + description + "Filter data integrity based on logical + table"; + list data-integrity-error-history-mem-type-hw-table-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-history-mem-type-hw-table-log-table-location-instances { + description + "switch location"; + list data-integrity-error-history-mem-type-hw-table-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + container data-integrity-error-history-mem-type-hw-table-location-instances { + description + "switch location"; + list data-integrity-error-history-mem-type-hw-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf hw-table { + type uint32; + description + "Hardware Table"; + } + } + } + leaf mem-type { + type uint32; + description + "Memory Type"; + } + } + } + container data-integrity-error-history-hw-table-numbers { + description + "Filter data integrity based on hardware table"; + list data-integrity-error-history-hw-table-number { + key "hw-table"; + description + "Hardware table number"; + container data-integrity-error-history-hw-table-location-instances { + description + "switch location"; + list data-integrity-error-history-hw-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-history-hw-table-log-table-numbers { + description + "Filter data integrity based on logical + table"; + list data-integrity-error-history-hw-table-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-history-hw-table-log-table-location-instances { + description + "switch location"; + list data-integrity-error-history-hw-table-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + leaf hw-table { + type uint32; + description + "Hardware Table"; + } + } + } + container data-integrity-error-history-location-instances { + description + "switch location"; + list data-integrity-error-history-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + } + container data-integrity-error-summary { + description + "Display switch data-integrity error summary + database"; + container data-integrity-error-summary-mem-type-numbers { + description + "Filter data integrity based on memory type"; + list data-integrity-error-summary-mem-type-number { + key "mem-type"; + description + "Memory type number"; + container data-integrity-error-summary-mem-type-location-instances { + description + "switch location"; + list data-integrity-error-summary-mem-type-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-summary-mem-type-hw-table-numbers { + description + "Filter data integrity based on hardware + table"; + list data-integrity-error-summary-mem-type-hw-table-number { + key "hw-table"; + description + "Hardware table number"; + container data-integrity-error-summary-mem-type-hw-table-location-instances { + description + "switch location"; + list data-integrity-error-summary-mem-type-hw-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-summary-mem-type-hw-table-log-table-numbers { + description + "Filter data integrity based on logical + table"; + list data-integrity-error-summary-mem-type-hw-table-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-summary-mem-type-hw-table-log-table-location-instances { + description + "switch location"; + list data-integrity-error-summary-mem-type-hw-table-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + leaf hw-table { + type uint32; + description + "Hardware Table"; + } + } + } + leaf mem-type { + type uint32; + description + "Memory Type"; + } + } + } + container data-integrity-error-summary-location-instances { + description + "switch location"; + list data-integrity-error-summary-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-summary-hw-table-numbers { + description + "Filter data integrity based on hardware table"; + list data-integrity-error-summary-hw-table-number { + key "hw-table"; + description + "Hardware table number"; + container data-integrity-error-summary-hw-table-location-instances { + description + "switch location"; + list data-integrity-error-summary-hw-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + container data-integrity-error-summary-hw-table-log-table-numbers { + description + "Filter data integrity based on logical + table"; + list data-integrity-error-summary-hw-table-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-summary-hw-table-log-table-location-instances { + description + "switch location"; + list data-integrity-error-summary-hw-table-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + leaf hw-table { + type uint32; + description + "Hardware Table"; + } + } + } + container data-integrity-error-summary-log-table-numbers { + description + "Filter data integrity based on logical table"; + list data-integrity-error-summary-log-table-number { + key "log-table"; + description + "Logical table number"; + container data-integrity-error-summary-log-table-location-instances { + description + "switch location"; + list data-integrity-error-summary-log-table-location-instance { + key "node-id"; + description + "Location information for switch data + integrity information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DATA-INTEGRITY-ERROR-INFO; + } + } + leaf log-table { + type uint32; + description + "Logical Table"; + } + } + } + } + } + } + container mac { + description + "Display mac information"; + container mac-instances { + description + "switch location"; + list mac-instance { + key "node-id"; + description + "Location information for switch MAC + information"; + container mac-port-numbers { + description + "MAC filter type: Port"; + list mac-port-number { + key "port"; + description + "Port number filter for switch MAC + information"; + leaf port { + type uint32; + description + "Port number"; + } + uses ESDMA-SHOW-ETHSW-REGISTER-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + container fdb { + description + "Display switch forwarding database"; + container fdb-mac-addresses { + description + "FDB filter type: Mac"; + list fdb-mac-address { + key "mac"; + description + "Mac Address"; + container fdb-mac-instances { + description + "switch location"; + list fdb-mac-instance { + key "node-id"; + description + "Location information for switch FDB MAC + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-FDB-INFO; + } + } + leaf mac { + type xr:Cisco-ios-xr-string; + description + "Mac address"; + } + } + } + container fdb-statistics { + description + "FDB request type: Statistics"; + container fdb-statistics-instances { + description + "switch location"; + list fdb-statistics-instance { + key "node-id"; + description + "Location information for switch FDB + statistics information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-FDB-INFO; + } + } + } + container fdb-instances { + description + "switch location"; + list fdb-instance { + key "node-id"; + description + "Location information for switch FDB + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-FDB-INFO; + } + } + container fdb-port-numbers { + description + "FDB filter type: Port"; + list fdb-port-number { + key "port"; + description + "Port number"; + container fdb-port-instances { + description + "switch location"; + list fdb-port-instance { + key "node-id"; + description + "Location information for switch FDB port + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-FDB-INFO; + } + } + leaf port { + type uint32; + description + "Port number"; + } + } + } + container fdb-vlan-ids { + description + "FDB filter type: VLAN"; + list fdb-vlan-id { + key "vlan"; + description + "VLAN ID"; + container fdb-vlan-instances { + description + "switch location"; + list fdb-vlan-instance { + key "node-id"; + description + "Location information for switch FDB VLAN + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-FDB-INFO; + } + } + leaf vlan { + type uint32; + description + "VLAN Id"; + } + } + } + } + container bridge { + description + "Display switch bridge information"; + container bridge-statistics { + description + "Bridge request type, currently one option, + statistics"; + container bridge-statistics-instances { + description + "switch location"; + list bridge-statistics-instance { + key "node-id"; + description + "Location information for switch bridge + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-BRIDGE-INFO; + } + } + } + container bridge-instances { + description + "switch location"; + list bridge-instance { + key "node-id"; + description + "Location information for switch bridge + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-BRIDGE-INFO; + } + } + } + container debug { + description + "Display switch debug info"; + container debug-counters { + description + "Display switch debug counters"; + container debug-counters-instances { + description + "Switch location"; + list debug-counters-instance { + key "node-id"; + description + "Location information for switch debug + counters information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-DEBUG-COUNTERS-INFO; + } + } + } + } + container health { + description + "Display switch health info"; + container health-state { + description + "Display switch health state"; + container health-state-instances { + description + "Switch location"; + list health-state-instance { + key "node-id"; + description + "Location information for switch health + information"; + container health-state-port-numbers { + description + "Filter health state based on Port"; + list health-state-port-number { + key "port-num"; + description + "Port Number"; + leaf port-num { + type uint32; + description + "Port Num"; + } + uses ESDMA-SHOW-ETHSW-HEALTH-STATE-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + } + container trunk { + description + "Display the switch trunk group information"; + container trunk-instances { + description + "switch location"; + list trunk-instance { + key "node-id"; + description + "Location information for switch trunk group + information"; + container trunk-port-numbers { + description + "Filter Trunk based on Port"; + list trunk-port-number { + key "port"; + description + "Port number filter for switch trunk group + information"; + leaf port { + type uint32; + description + "Port number"; + } + uses ESDMA-SHOW-ETHSW-TRUNK-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + container summary { + description + "Show summary switch status"; + container summary-instances { + description + "switch location"; + list summary-instance { + key "node-id"; + description + "Location information for switch summary status"; + container summary-port-numbers { + description + "Filter summary based on Port"; + list summary-port-number { + key "port"; + description + "Port information"; + leaf port { + type uint32; + description + "Port number"; + } + uses ESDMA-SHOW-ETHSW-SUMMARY-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + container all { + description + "Display all switch data"; + container all-instances { + description + "switch location"; + list all-instance { + key "node-id"; + description + "Location information for switch data"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-ALL-INFO; + } + } + } + container txq { + description + "Display switch Txq info"; + container txq-statistics { + description + "Display txq statistics"; + container txq-statistics-instances { + description + "Switch location"; + list txq-statistics-instance { + key "node-id"; + description + "Location information for switch txq + information"; + container txq-statistics-port-numbers { + description + "Filter txq Statistics based on Port"; + list txq-statistics-port-number { + key "port-num"; + description + "Port Number"; + leaf port-num { + type uint32; + description + "Port Num"; + } + uses ESDMA-SHOW-ETHSW-TXQ-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + container txq-statistics-detail { + description + "Detailed switch txq statistics"; + container txq-statistics-detail-instances { + description + "Switch location"; + list txq-statistics-detail-instance { + key "node-id"; + description + "Location information for switch txq + information"; + container txq-statistics-detail-port-numbers { + description + "Filter txq Statistics based on Port"; + list txq-statistics-detail-port-number { + key "port-num"; + description + "Port Number"; + leaf port-num { + type uint32; + description + "Port Num"; + } + uses ESDMA-SHOW-ETHSW-TXQ-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + } + container txq-config { + description + "Display switch Txq config"; + container txq-config-instances { + description + "Switch location"; + list txq-config-instance { + key "node-id"; + description + "Location information for switch txq + information"; + container txq-config-port-numbers { + description + "Filter txq config based on Port"; + list txq-config-port-number { + key "port-num"; + description + "Port Number"; + leaf port-num { + type uint32; + description + "Port Num"; + } + uses ESDMA-SHOW-ETHSW-TXQ-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + } + container events { + description + "Display all events data"; + container events-instances { + description + "switch location"; + list events-instance { + key "node-id"; + description + "Location information for switch data"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-EVENTS-INFO; + } + } + } + container vlan { + description + "Control Plane Ethernet VLAN Information"; + container vlan-info { + description + "VLAN use information"; + container vlan-info-instances { + description + "switch location"; + list vlan-info-instance { + key "node-id"; + description + "Location information for switch VLAN + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-VLANINFO-INFO; + } + } + } + container vlan-membership { + description + "List switch port membership of VLANs"; + container vlan-membership-instances { + description + "switch location"; + list vlan-membership-instance { + key "node-id"; + description + "Location information for switch VLAN + membership"; + container vlan-membership-vlan-ids { + description + "Filter VLAN membership based on VLAN"; + list vlan-membership-vlan-id { + key "vlan"; + description + "VLAN ID filter for VLAN membership + information"; + leaf vlan { + type uint32; + description + "VLAN ID"; + } + uses ESDMA-SHOW-ETHSW-VLANMEMBERSHIP-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + } + container statistics { + description + "Show switch statistics"; + container statistics-detail { + description + "Detailed switch port statistics"; + container statistics-detail-instances { + description + "switch location"; + list statistics-detail-instance { + key "node-id"; + description + "Location for detailed switch port statistics"; + container statistics-detail-port-numbers { + description + "Filter statistics detail based on Port"; + list statistics-detail-port-number { + key "port"; + description + "Port number filter for detailed switch port + statistics"; + leaf port { + type uint32; + description + "Port number"; + } + uses ESDMA-SHOW-ETHSW-STATISTICS-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + container statistics-instances { + description + "switch location"; + list statistics-instance { + key "node-id"; + description + "Location information for switch statistics"; + container statistics-port-numbers { + description + "Filter statistics based on Port"; + list statistics-port-number { + key "port"; + description + "Port number filter for switch port + statistics"; + leaf port { + type uint32; + description + "Port number"; + } + uses ESDMA-SHOW-ETHSW-STATISTICS-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + container policing { + description + "Display switch policing database"; + container policing-statistics { + description + "Display policing Statistics"; + container policing-statistics-port-numbers { + description + "Filter policing Statistics based on Port"; + list policing-statistics-port-number { + key "port-num"; + description + "Port Number"; + container policing-statistics-port-instances { + description + "switch location"; + list policing-statistics-port-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + container policing-statistics-port-vlan-ids { + description + "Filter policing Statistics based on source + vlan"; + list policing-statistics-port-vlan-id { + key "vlan-id"; + description + "VLAN ID"; + container policing-statistics-port-vlan-instances { + description + "switch location"; + list policing-statistics-port-vlan-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + leaf vlan-id { + type uint32; + description + "VLAN Id"; + } + } + } + leaf port-num { + type uint32; + description + "Port Num"; + } + } + } + container policing-statistics-vlan-ids { + description + "Filter policing Statistics based on source + vlan"; + list policing-statistics-vlan-id { + key "vlan-id"; + description + "VLAN ID"; + container policing-statistics-vlan-instances { + description + "switch location"; + list policing-statistics-vlan-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + leaf vlan-id { + type uint32; + description + "VLAN Id"; + } + } + } + container policing-statistics-instances { + description + "switch location"; + list policing-statistics-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + } + container policing-config { + description + "Display policing config"; + container policing-config-port-numbers { + description + "Filter policing config based on Port"; + list policing-config-port-number { + key "port-num"; + description + "Port Number"; + container policing-config-port-instances { + description + "switch location"; + list policing-config-port-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + container policing-config-port-vlan-ids { + description + "Filter policing config based on source vlan"; + list policing-config-port-vlan-id { + key "vlan-id"; + description + "VLAN ID"; + container policing-config-port-vlan-instances { + description + "switch location"; + list policing-config-port-vlan-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + leaf vlan-id { + type uint32; + description + "VLAN Id"; + } + } + } + leaf port-num { + type uint32; + description + "Port Num"; + } + } + } + container policing-config-vlan-ids { + description + "Filter policing config based on source vlan"; + list policing-config-vlan-id { + key "vlan-id"; + description + "VLAN ID"; + container policing-config-vlan-instances { + description + "switch location"; + list policing-config-vlan-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + leaf vlan-id { + type uint32; + description + "VLAN Id"; + } + } + } + container policing-config-instances { + description + "switch location"; + list policing-config-instance { + key "node-id"; + description + "Location information for switch policing + information"; + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + uses ESDMA-SHOW-ETHSW-POLICING-INFO; + } + } + } + } + container serdes { + description + "Display serdes information"; + container serdes-instances { + description + "switch location"; + list serdes-instance { + key "node-id"; + description + "Location information for switch SERDES + information"; + container serdes-port-numbers { + description + "SERDES filter type: Port"; + list serdes-port-number { + key "port"; + description + "Port number filter for switch Serdes + information"; + leaf port { + type uint32; + description + "Port number"; + } + uses ESDMA-SHOW-ETHSW-REGISTER-INFO; + } + } + leaf node-id { + type xr:Node-id; + description + "NodeID of the Location"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-controller-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-controller-cfg.yang new file mode 100644 index 000000000..e4b742f83 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-controller-cfg.yang @@ -0,0 +1,320 @@ +module Cisco-IOS-XR-syncc-controller-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-syncc-controller-cfg"; + prefix syncc-controller-cfg; + + import Cisco-IOS-XR-config-mda-cfg { + prefix node; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-freqsync-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR syncc-controller package configuration. + + This YANG module augments the + Cisco-IOS-XR-freqsync-cfg + Cisco-IOS-XR-config-mda-cfg + modules with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-06-22 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SYNC-CONTROLLER { + container sync-controller { + description + "sync-controller value"; + container transport-mode { + description + "Transport mode"; + container frequency-mode { + description + "Frequency Mode"; + container port-mode { + presence "Indicates a port-mode node is configured."; + description + "clock-interface sync location + port-parameters bits-input 2m -> Option1=0, + Option2=2, Option3=0, Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-input 2m -> Option1=0, + Option2=2, Option3=0, Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-input 64k-input-only -> + Option1=0, Option2=3, Option3=0, Option4=0, + Option5=0 clock-interface sync + location port-parameters bits-input + e1 crc-4 sa4 ami -> Option1=0, Option2=1, + Option3=1, Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-input e1 crc-4 sa4 hdb3 + -> Option1=0, Option2=1, Option3=1, Option4=0 + , Option5=1 clock-interface sync + location port-parameters bits-input + e1 crc-4 sa5 ami -> Option1=0, Option2=1, + Option3=1, Option4=0, Option5=1 + clock-interface sync location + port-parameters bits-input e1 crc-4 sa5 hdb3 + -> Option1=0, Option2=1, Option3=1, Option4=1 + , Option5=1 clock-interface sync + location port-parameters bits-input + e1 crc-4 sa6 ami -> Option1=0, Option2=1, + Option3=1, Option4=0, Option5=2 + clock-interface sync location + port-parameters bits-input e1 crc-4 sa6 hdb3 + -> Option1=0, Option2=1, Option3=1, Option4=1 + , Option5=2 clock-interface sync + location port-parameters bits-input + e1 crc-4 sa7 ami -> Option1=0, Option2=1, + Option3=1, Option4=0, Option5=3 + clock-interface sync location + port-parameters bits-input e1 crc-4 sa7 hdb3 + -> Option1=0, Option2=1, Option3=1, Option4=1 + , Option5=3 clock-interface sync + location port-parameters bits-input + e1 crc-4 sa8 ami -> Option1=0, Option2=1, + Option3=1, Option4=0, Option5=4 + clock-interface sync location + port-parameters bits-input e1 crc-4 sa8 hdb3 + -> Option1=0, Option2=1, Option3=1, Option4=1 + , Option5=4 clock-interface sync + location port-parameters bits-input + e1 non-crc-4 ami -> Option1=0, Option2=1, + Option3=0, Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-input e1 non-crc-4 hdb3 + -> Option1=0, Option2=1, Option3=0, Option4=1 + , Option5=0 clock-interface sync + location port-parameters bits-input + t1 d4 ami -> Option1=0, Option2=0, Option3=1, + Option4=0, Option5=0 clock-interface sync + location port-parameters + bits-input t1 d4 b8zs -> Option1=0, Option2=0 + , Option3=1, Option4=1, Option5=0 + clock-interface sync location + port-parameters bits-input t1 esf ami -> + Option1=0, Option2=0, Option3=0, Option4=0, + Option5=0 clock-interface sync + location port-parameters bits-input + t1 esf b8zs -> Option1=0, Option2=0, + Option3=0, Option4=1, Option5=0 + clock-interface sync location + port-parameters bits-output 2m -> Option1=1 , + Option2=2, Option3=0, Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-output 6m-output-only -> + Option1=1 , Option2=4, Option3=0 , Option4=0, + Option5=0 clock-interface sync + location port-parameters bits-output + e1 crc-4 sa4 ami -> Option1=1 , Option2=1, + Option3=1 , Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-output e1 crc-4 sa4 hdb3 + -> Option1=1 , Option2=1, Option3=1 , + Option4=1, Option5=0 clock-interface sync + location port-parameters + bits-output e1 crc-4 sa5 ami -> Option1=1 , + Option2=1, Option3=1 , Option4=0, Option5=1 + clock-interface sync location + port-parameters bits-output e1 crc-4 sa5 hdb3 + -> Option1=1 , Option2=1, Option3=1 , + Option4=1, Option5=1 clock-interface sync + location port-parameters + bits-output e1 crc-4 sa6 ami -> Option1=1 , + Option2=1, Option3=1 , Option4=0, Option5=2 + clock-interface sync location + port-parameters bits-output e1 crc-4 sa6 hdb3 + -> Option1=1 , Option2=1, Option3=1 , + Option4=1, Option5=2 clock-interface sync + location port-parameters + bits-output e1 crc-4 sa7 ami -> Option1=1 , + Option2=1, Option3=1 , Option4=0, Option5=3 + clock-interface sync location + port-parameters bits-output e1 crc-4 sa7 hdb3 + -> Option1=1 , Option2=1, Option3=1 , + Option4=1, Option5=3 clock-interface sync + location port-parameters + bits-output e1 crc-4 sa8 ami -> Option1=1 , + Option2=1, Option3=1 , Option4=0, Option5=4 + clock-interface sync location + port-parameters bits-output e1 crc-4 sa8 hdb3 + -> Option1=1 , Option2=1, Option3=1 , + Option4=1, Option5=4 clock-interface sync + location port-parameters + bits-output e1 non-crc-4 ami -> Option1=1 , + Option2=1, Option3=0 , Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-output e1 non-crc-4 hdb3 + -> Option1=1 , Option2=1, Option3=0 , + Option4=1, Option5=0 clock-interface sync + location port-parameters + bits-output t1 d4 ami 0 -> Option1=1 , + Option2=0, Option3=1 , Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-output t1 d4 ami 1 -> + Option1=1 , Option2=0, Option3=1 , Option4=0, + Option5=1 clock-interface sync + location port-parameters bits-output + t1 d4 ami 2 -> Option1=1 , Option2=0, + Option3=1 , Option4=0, Option5=2 + clock-interface sync location + port-parameters bits-output t1 d4 ami 3 -> + Option1=1 , Option2=0, Option3=1 , Option4=0, + Option5=3 clock-interface sync + location port-parameters bits-output + t1 d4 ami 4 -> Option1=1 , Option2=0, + Option3=1 , Option4=0, Option5=4 + clock-interface sync location + port-parameters bits-output t1 d4 b8zs 0 -> + Option1=1 , Option2=0, Option3=1 , Option4=1, + Option5=0 clock-interface sync + location port-parameters bits-output + t1 d4 b8zs 1 -> Option1=1 , Option2=0, + Option3=1 , Option4=1, Option5=1 + clock-interface sync location + port-parameters bits-output t1 d4 b8zs 2 -> + Option1=1 , Option2=0, Option3=1 , Option4=1, + Option5=2 clock-interface sync + location port-parameters bits-output + t1 d4 b8zs 3 -> Option1=1 , Option2=0, + Option3=1 , Option4=1, Option5=3 + clock-interface sync location + port-parameters bits-output t1 d4 b8zs 4 -> + Option1=1 , Option2=0, Option3=1 , Option4=1, + Option5=4 clock-interface sync + location port-parameters bits-output + t1 esf ami 0 -> Option1=1 , Option2=0, + Option3=0 , Option4=0, Option5=0 + clock-interface sync location + port-parameters bits-output t1 esf ami 1 -> + Option1=1 , Option2=0, Option3=0 , Option4=0, + Option5=1 clock-interface sync + location port-parameters bits-output + t1 esf ami 2 -> Option1=1 , Option2=0, + Option3=0 , Option4=0, Option5=2 + clock-interface sync location + port-parameters bits-output t1 esf ami 3 -> + Option1=1 , Option2=0, Option3=0 , Option4=0, + Option5=3 clock-interface sync + location port-parameters bits-output + t1 esf ami 4 -> Option1=1 , Option2=0, + Option3=0 , Option4=0, Option5=4 + clock-interface sync location + port-parameters bits-output t1 esf b8zs 0 -> + Option1=1 , Option2=0, Option3=0 , Option4=1, + Option5=0 clock-interface sync + location port-parameters bits-output + t1 esf b8zs 1 -> Option1=1 , Option2=0, + Option3=0 , Option4=1, Option5=1 + clock-interface sync location + port-parameters bits-output t1 esf b8zs 2 -> + Option1=1 , Option2=0, Option3=0 , Option4=1, + Option5=2 clock-interface sync + location port-parameters bits-output + t1 esf b8zs 3 -> Option1=1 , Option2=0, + Option3=0 , Option4=1, Option5=3 + clock-interface sync location + port-parameters bits-output t1 esf b8zs 4 -> + Option1=1 , Option2=0, Option3=0 , Option4=1, + Option5=4 clock-interface sync + location port-parameters + port-parameters uti -> Option1=2 , Option2=0, + Option3=0 , Option4=0, Option5=0 + clock-interface sync location + port-parameters port-parameters gps-input -> + Option1=3, Option2=0, Option3=0 , Option4=0, + Option5=0 "; + leaf option1 { + type uint32 { + range "0..3"; + } + mandatory true; + description + "Option value #1"; + } + leaf option2 { + type uint32 { + range "0..10"; + } + mandatory true; + description + "Option value #2"; + } + leaf option3 { + type uint32 { + range "0..10"; + } + mandatory true; + description + "Option value #3"; + } + leaf option4 { + type uint32 { + range "0..10"; + } + mandatory true; + description + "Option value #4"; + } + leaf option5 { + type uint32 { + range "0..4"; + } + mandatory true; + description + "Option value #5"; + } + } + leaf shutdown { + type empty; + description + "Disable the SyncE Port"; + } + } + } + } + } + + augment "/node:active-nodes/node:active-node/a1:clock-interface/a1:clocks/a1:clock" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-freqsync-cfg'"; + uses SYNC-CONTROLLER; + } + augment "/node:preconfigured-nodes/node:preconfigured-node/a1:clock-interface/a1:clocks/a1:clock" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-freqsync-cfg'"; + uses SYNC-CONTROLLER; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper-sub1.yang new file mode 100644 index 000000000..89c19b032 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper-sub1.yang @@ -0,0 +1,785 @@ +submodule Cisco-IOS-XR-syncc-oper-sub1 { + belongs-to Cisco-IOS-XR-syncc-oper { + prefix Cisco-IOS-XR-syncc-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR syncc package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-17 { + description + "Schema added for gps and smode changes."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-06-08 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Source-state-name { + type enumeration { + enum "not-valid" { + description + "Invalid"; + } + enum "unqualified" { + description + "Unqualified state"; + } + enum "available" { + description + "Available state"; + } + enum "failed" { + description + "Failed state"; + } + enum "unmonitored" { + description + "Unmonitored state"; + } + enum "error" { + description + "Error state"; + } + } + description + "Syncc source state name"; + } + + typedef Source { + type enumeration { + enum "invalid" { + description + "Invalid state"; + } + enum "ethernet-line-interface" { + description + "Ethernet interface "; + } + enum "sonet-line-interface" { + description + "SONET interface "; + } + enum "clock-interface" { + description + "Clock interface state"; + } + enum "internal" { + description + "Internal state"; + } + enum "ptp" { + description + "PTP"; + } + enum "satellite-access" { + description + "Satellite Access"; + } + enum "ntp" { + description + "NTP"; + } + enum "gnss-receiver" { + description + "Gnss Receiver"; + } + } + description + "Syncc source type"; + } + + typedef Interface-state { + type enumeration { + enum "up" { + description + "Up state"; + } + enum "down" { + description + "Down state"; + } + enum "admin-down" { + description + "Admin down state"; + } + } + description + "Interface state"; + } + + typedef Ql-option-1 { + type enumeration { + enum "quality-level-none" { + description + "No value"; + } + enum "o1" { + description + "Option 1"; + } + enum "o2-g1" { + description + "Option 2 Gen 1"; + } + enum "o2-g2" { + description + "Option 2 Gen 2"; + } + } + description + "Quality level options"; + } + + typedef Direct { + type enumeration { + enum "receive-transmit" { + description + "Receive or transmit"; + } + enum "transmit" { + description + "Transmit"; + } + enum "receive" { + description + "Receive"; + } + } + description + "Direction status"; + } + + typedef Smode2 { + type enumeration { + enum "ami-mode" { + description + "AMI"; + } + enum "b8zs" { + description + "B8ZS submode"; + } + enum "hdb3" { + description + "HDB3 submode"; + } + enum "submode2-none" { + description + "No mode is selected"; + } + enum "rs422" { + description + "RS422 1PPS input"; + } + enum "utc" { + description + "ToD provides UTC time"; + } + } + description + "Second mode type"; + } + + typedef Smode1 { + type enumeration { + enum "extended-super-frame" { + description + "Extended Superframe(ESF)"; + } + enum "d4" { + description + "D4 channel unit"; + } + enum "non-crc4" { + description + "Non CRC 4 mode"; + } + enum "crc4" { + description + "CRC 4"; + } + enum "submode1-none" { + description + "No mode is selected"; + } + enum "cisco" { + description + "TOD msg in Cisco ASCII format"; + } + enum "ntp4" { + description + "TOD msg in NTP Type 4 format"; + } + enum "gprmc" { + description + "TOD msg in NMEA GPRMC format"; + } + } + description + "First mode type"; + } + + typedef Clock-modes { + type enumeration { + enum "t1" { + description + "T1 mode"; + } + enum "e1" { + description + "E1 mode"; + } + enum "two-m" { + description + "2048M mode"; + } + enum "input64k" { + description + "64kCC input"; + } + enum "output6m" { + description + "6312M output"; + } + enum "uti" { + description + "Universal transport interface(UTI)"; + } + enum "gps" { + description + "ToD provides GPS time"; + } + enum "none" { + description + "No mode is selected"; + } + } + description + "Different clock modes"; + } + + typedef Node-state { + type enumeration { + enum "active" { + value 1; + description + "Node in active mode"; + } + enum "standby" { + value 2; + description + "Node in standby mode"; + } + } + description + "Different modes of a node"; + } + + typedef Syncc-states { + type enumeration { + enum "initializing" { + description + "Initial state"; + } + enum "running" { + description + "Running state"; + } + enum "normal" { + description + "Normal state"; + } + enum "shutdown" { + description + "Shutdown state"; + } + } + description + "Different syncc states"; + } + + grouping SYNCC-TIMING-SOURCE { + description + "Controllers timing source status"; + leaf input { + type uint8; + description + "Input number"; + } + leaf slot { + type uint8; + description + "Slot number"; + } + leaf port { + type uint8; + description + "Port number"; + } + leaf clock-source { + type Source; + description + "Status of syncc source type"; + } + leaf rank { + type uint8; + description + "Rank of sync timing source table"; + } + leaf quality-level-option { + type uint8; + description + "Quality level option"; + } + leaf quality-level-value { + type uint8; + description + "Quality level value"; + } + leaf user-priority { + type uint8; + description + "User priority of sync timing source table"; + } + leaf clock-state { + type Source-state-name; + description + "Status of clock state"; + } + leaf is-select { + type boolean; + description + "True if selected"; + } + } + + grouping SYNCC-TIMING-SRC-TBL1 { + description + "Structure containing timing source table"; + list timing-status-t0 { + max-elements "11"; + description + "Scheduling PLL T0 "; + uses SYNCC-TIMING-SOURCE; + } + list timing-status-t4 { + max-elements "11"; + description + "Scheduling PLL T4 "; + uses SYNCC-TIMING-SOURCE; + } + list timing-status1588 { + max-elements "11"; + description + "Scheduling PLL 1588 "; + uses SYNCC-TIMING-SOURCE; + } + } + + grouping SYNCC-TIMING-SRC-TBL { + description + "Syncc timing source table information"; + list syncc-instance { + description + "List of syncc timing table information"; + uses SYNCC-TIMING-SRC-TBL1; + } + } + + grouping SYNCC-CLOCK-SETTING { + description + "SYNCC clock information"; + leaf is-configured-port0 { + type boolean; + description + "True if clock is configured for port 0"; + } + leaf is-configured-port1 { + type boolean; + description + "True if clock is configured for port 1"; + } + leaf is-configured-port2 { + type boolean; + description + "True if clock is configured for port 2"; + } + leaf is-configured-port3 { + type boolean; + description + "True if clock is configured for port 3"; + } + leaf mode-port0 { + type Clock-modes; + description + "Clock setting mode for port 0"; + } + leaf mode-port1 { + type Clock-modes; + description + "Clock setting mode for port 1"; + } + leaf mode-port2 { + type Clock-modes; + description + "Clock setting mode for port 2"; + } + leaf mode-port3 { + type Clock-modes; + description + "Clock setting mode for port 3"; + } + leaf submode1-port0 { + type Smode1; + description + "First submode for port 0"; + } + leaf submode1-port1 { + type Smode1; + description + "First submode for port 1"; + } + leaf submode1-port2 { + type Smode1; + description + "First submode for port 2"; + } + leaf submode1-port3 { + type Smode1; + description + "First submode for port 3"; + } + leaf submode2-port0 { + type Smode2; + description + "Second submode for port 0"; + } + leaf submode2-port1 { + type Smode2; + description + "Second submode for port 1"; + } + leaf submode2-port2 { + type Smode2; + description + "Second submode for port 2"; + } + leaf submode2-port3 { + type Smode2; + description + "Second submode for port 3"; + } + leaf submode3-port0 { + type uint32; + description + "Third submode for port 0"; + } + leaf submode3-port1 { + type uint32; + description + "Third submode for port 1"; + } + leaf submode3-port2 { + type uint32; + description + "Third submode for port 2"; + } + leaf submode3-port3 { + type uint32; + description + "Third submode for port 3"; + } + leaf shutdown-port0 { + type uint32; + description + "Configure disable value for port 0"; + } + leaf shutdown-port1 { + type uint32; + description + "Configure disable value for port 1"; + } + leaf shutdown-port2 { + type uint32; + description + "Configure disable value for port 2"; + } + leaf shutdown-port3 { + type uint32; + description + "Configure disable value for port 3"; + } + leaf direction-port0 { + type Direct; + description + "Direction of interface for port 0"; + } + leaf direction-port1 { + type Direct; + description + "Direction of interface for port 1"; + } + leaf direction-port2 { + type Direct; + description + "Direction of interface for port 2"; + } + leaf direction-port3 { + type Direct; + description + "Direction of interface for port 3"; + } + leaf baudrate-port0 { + type uint32; + description + "Baudrate for port 0"; + } + leaf baudrate-port1 { + type uint32; + description + "Baudrate for port 1"; + } + leaf baudrate-port2 { + type uint32; + description + "Baudrate for port 2"; + } + leaf baudrate-port3 { + type uint32; + description + "Baudrate for port 3"; + } + leaf quality-option-port0 { + type Ql-option-1; + description + "Quality Level option of port 0"; + } + leaf quality-option-port1 { + type Ql-option-1; + description + "Quality Level option of the port 1"; + } + leaf quality-option-port2 { + type Ql-option-1; + description + "Quality Level option of the port 2"; + } + leaf quality-option-port3 { + type Ql-option-1; + description + "Quality Level option of the port 3"; + } + leaf transmit-ssm-port0 { + type uint32; + description + "Transmit SSM for port 0"; + } + leaf transmit-ssm-port1 { + type uint32; + description + "Transmit SSM for port 1"; + } + leaf transmit-ssm-port2 { + type uint32; + description + "Transmit SSM for port 2"; + } + leaf transmit-ssm-port3 { + type uint32; + description + "Transmit SSM for port 3"; + } + leaf recieve-ssm-port0 { + type uint32; + description + "Receive SSM for port 0"; + } + leaf recieve-ssm-port1 { + type uint32; + description + "Receive SSM for port 1"; + } + leaf recieve-ssm-port2 { + type uint32; + description + "Receive SSM for port 2"; + } + leaf recieve-ssm-port3 { + type uint32; + description + "Receive SSM for port 3"; + } + leaf interface-state-port0 { + type Interface-state; + description + "Interface state for port 0"; + } + leaf interface-state-port1 { + type Interface-state; + description + "Interface state for port 1"; + } + leaf interface-state-port2 { + type Interface-state; + description + "Interface state for port 2"; + } + leaf interface-state-port3 { + type Interface-state; + description + "Interface state for port 3"; + } + } + + grouping SYNCC-CLOCK-SETTING-TBLN { + description + "Clock table information"; + list clock { + max-elements "1"; + description + "Clock table for an RP"; + uses SYNCC-CLOCK-SETTING; + } + } + + grouping SYNCC-CLOCK-SETTING-NEWTBL { + description + "SYNCC interface information"; + list syncc-instance { + description + "List of syncc clock information "; + uses SYNCC-CLOCK-SETTING-TBLN; + } + } + + grouping SYNCC-INTERNAL-STATE1 { + description + "Structure containing SYNCC internal state"; + leaf controller-state { + type Syncc-states; + description + "Syncc controller state"; + } + leaf syncc-node-state { + type Node-state; + description + "Status of syncc node mode"; + } + leaf verbose-level { + type uint32; + description + "Verbose level number"; + } + leaf initial-count { + type uint32; + description + "Initial count number"; + } + leaf shutdown-count { + type uint32; + description + "Shutdown count number"; + } + leaf set-input-count { + type uint32; + description + "Set the value of input count"; + } + leaf set-capability-count { + type uint32; + description + "Set the value of display count"; + } + leaf get-clock-count { + type uint32; + description + "Clock count number"; + } + leaf set-clock-out-count { + type uint32; + description + "Set clock count"; + } + leaf sync-enable-count { + type uint32; + description + "Sync enable count number"; + } + leaf sync-disable-count { + type uint32; + description + "Sync disable count number"; + } + leaf capability-count { + type uint32; + description + "Interface capability count"; + } + leaf set-quality-level-count { + type uint32; + description + "Value of quality level count"; + } + leaf input-notification { + type uint32; + description + "Selects proper input result notification"; + } + leaf capability-notification { + type uint32; + description + "Value of interface capability notification"; + } + leaf status-notification { + type uint32; + description + "Notification of source status"; + } + leaf resync-notification { + type uint32; + description + "Value of resync notification"; + } + } + + grouping SYNCC-INTERNAL-STATE { + description + "Syncc internal state information"; + list syncc-instance { + description + "List of syncc states"; + uses SYNCC-INTERNAL-STATE1; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper.yang new file mode 100644 index 000000000..508b54128 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-syncc-oper.yang @@ -0,0 +1,91 @@ +module Cisco-IOS-XR-syncc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-syncc-oper"; + prefix syncc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-syncc-oper-sub1 { + revision-date 2020-06-17; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR syncc package operational data. + + This module contains definitions + for the following management objects: + timing-controller: Timing controller operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-17 { + description + "Schema added for gps and smode changes."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-06-08 { + description + "Schema added."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container timing-controller { + config false; + description + "Timing controller operational data"; + container nodes { + description + "List of nodes applicable to timing controller"; + list node { + key "node-name"; + description + "Syncc operational data for a single node"; + container state { + description + "Syncc state for a node"; + uses SYNCC-INTERNAL-STATE; + } + container clock { + description + "Syncc clock information for a node"; + uses SYNCC-CLOCK-SETTING-NEWTBL; + } + container timing-source { + description + "Syncc timing information for a node"; + uses SYNCC-TIMING-SRC-TBL; + } + leaf node-name { + type xr:Node-id; + description + "Node Name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sysdb-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sysdb-oper.yang new file mode 100644 index 000000000..aeba4659c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sysdb-oper.yang @@ -0,0 +1,95 @@ +module Cisco-IOS-XR-sysdb-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sysdb-oper"; + prefix sysdb-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sysdb package operational data. + + This module contains definitions + for the following management objects: + sysdb-connections: Sysdb health on client connections + sysdb: Sysdb operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container sysdb-connections { + config false; + description + "Sysdb health on client connections"; + container nodes { + description + "Node operational data"; + list node { + key "node-name"; + description + "Per-node Sysdb health on connection"; + leaf connections { + type string; + description + "Per-node Sysdb Client Connections"; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } + container sysdb { + config false; + description + "Sysdb operational data"; + leaf configuration-space { + type string; + description + "Sysdb health for configuration space"; + } + leaf memory { + type string; + description + "Sysdb health on memory consumption"; + } + leaf ipc-space { + type string; + description + "Sysdb health for operational space"; + } + leaf cpu { + type string; + description + "Sysdb health on cpu consumption"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-syslog-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-syslog-act.yang new file mode 100644 index 000000000..fdd00d319 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-syslog-act.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-syslog-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-syslog-act"; + prefix syslog-act; + + import cisco-semver { + prefix semver; + } + import ietf-syslog-types { + prefix log; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR action package configuration. + + This module contains definitions + for the following management objects: + syslog: Global Syslog messaging data + + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2016-04-17 { + description + "IOS XR 6.1.1 revision."; + } + + rpc logmsg { + description + "Log message"; + input { + leaf severity { + type log:severity; + mandatory true; + description + "Set serverity level"; + } + leaf message { + type string; + mandatory true; + description + "Message body."; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-act.yang new file mode 100644 index 000000000..eb2001478 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-act.yang @@ -0,0 +1,116 @@ +module Cisco-IOS-XR-sysmgr-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-act"; + prefix sysmgr-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sysmgr action package configuration. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-23 { + description + "Added support for process crash from XR."; + semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-03-03 { + description + "IOS XR 6.3.1 revision."; + } + + rpc sysmgr-process-restart { + description + "Restart an XR process"; + input { + leaf process-name { + type string; + mandatory true; + description + "XR process name or Job Id e.g. bgp, ospf"; + } + leaf location { + type string; + description + "XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } + rpc sysmgr-process-start { + description + "Start an XR process"; + input { + leaf process-name { + type string; + mandatory true; + description + "XR process name or Job Id e.g. bgp, ospf"; + } + leaf location { + type string; + description + "XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } + rpc sysmgr-process-crash { + description + "Crash an XR process"; + input { + leaf process-name { + type string; + mandatory true; + description + "XR process name or Job Id e.g. bgp, ospf"; + } + leaf location { + type string; + description + "XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } + rpc sysmgr-process-shutdown { + description + "Shutdown an XR process"; + input { + leaf process-name { + type string; + mandatory true; + description + "XR process name or Job Id e.g. bgp, ospf"; + } + leaf location { + type string; + description + "XR node identifier e.g. 0/RP0/CPU0, 0/0/CPU0"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-cfg.yang new file mode 100644 index 000000000..e32e113a5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-cfg.yang @@ -0,0 +1,120 @@ +module Cisco-IOS-XR-sysmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-cfg"; + prefix sysmgr-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sysmgr package configuration. + + This module contains definitions + for the following management objects: + process-mandatory: Process mandatory configuration + process-single-crash: Reboot condition for single mandatory + process that crashes + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-31 { + description + "Added mandatory nodes."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PROCESS-TABLE { + description + "Common node of all, node"; + container processes { + description + "Table of processes"; + list process { + key "process-name"; + description + "Name of the executable process"; + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Process name"; + } + } + } + } + + container process-mandatory { + description + "Process mandatory configuration"; + container nodes { + description + "Table of mandatory nodes"; + list node { + key "node-name"; + description + "Mandatory node"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses PROCESS-TABLE; + } + } + container all { + description + "Mandatory for all nodes"; + uses PROCESS-TABLE; + } + } + container process-single-crash { + presence "Indicates a process-single-crash node is configured."; + description + "Reboot condition for single mandatory process + that crashes"; + leaf crashes { + type uint32 { + range "1..500"; + } + mandatory true; + description + "Number of crashes for a process to trigger + reboot"; + } + leaf minimum-up-time { + type uint32 { + range "0..4294967295"; + } + units "second"; + mandatory true; + description + "Minimum process up time (in seconds) to reset + crash count"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper-sub1.yang new file mode 100644 index 000000000..99502865d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper-sub1.yang @@ -0,0 +1,1327 @@ +submodule Cisco-IOS-XR-sysmgr-oper-sub1 { + belongs-to Cisco-IOS-XR-sysmgr-oper { + prefix Cisco-IOS-XR-sysmgr-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR sysmgr package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-29 { + description + "Added a grouping list to return an array of process control block records."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-18 { + description + "Added good description for bag fields."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Placement-state { + type enumeration { + enum "place-null" { + value 0; + description + "Process runs everywhere (ubiquitous)"; + } + enum "place-placeable" { + value 1; + description + "Process runs on node chosen by PlaceD"; + } + enum "place-dlrsc-tracker" { + value 2; + description + "Process runs on dSDRSC only"; + } + enum "place-rack-centric" { + value 3; + description + "Process runs on RP of each rack"; + } + enum "place-dsc-tracker" { + value 4; + description + "Process runs on DSC only"; + } + } + description + "Process placement state"; + } + + typedef Process-state { + type enumeration { + enum "none" { + value 0; + description + "NONE"; + } + enum "run" { + value 1; + description + "RUN"; + } + enum "exited" { + value 2; + description + "EXITED"; + } + enum "hold" { + value 3; + description + "HOLD"; + } + enum "wait" { + value 4; + description + "WAIT"; + } + enum "restart" { + value 5; + description + "RESTART"; + } + enum "initializing" { + value 6; + description + "INITIALIZING"; + } + enum "killed" { + value 7; + description + "KILLED"; + } + enum "queued" { + value 8; + description + "QUEUED"; + } + enum "error" { + value 9; + description + "ERROR"; + } + enum "tuple-set" { + value 10; + description + "TUPLESET"; + } + enum "unknown" { + value 11; + description + "UNKNOWN"; + } + } + description + "Process state"; + } + + grouping PROC-SEARCHPATH-INFO { + description + "process searchpath"; + leaf path { + type string; + description + "process searchpath"; + } + } + + grouping LOG-INFO { + description + "Process log information"; + leaf log { + type string; + description + "Process log"; + } + } + + grouping PROC-BOOT-INFO { + description + "Process boot information"; + leaf last-process-started { + type string; + description + "process that was started last in the band"; + } + list standby-band-statistic { + description + "Statistics of Standby Band"; + uses BAND-STATS-INFO; + } + list active-band-statistic { + description + "Statistics of Active Band"; + uses BAND-STATS-INFO; + } + list booted-process { + description + "List of booted processes"; + uses BOOTED-PROCESS-INFO; + } + } + + grouping PRIM-BOOTED-PROCESS-INFO { + description + "Process in primary boot order"; + leaf prim-time-stamp { + type string; + description + "Primary Time Stamp"; + } + leaf go-primary { + type string; + description + "Go primary time stamp"; + } + leaf level { + type string; + description + "Level"; + } + leaf band-name { + type string; + description + "Band Name"; + } + leaf jid { + type int32; + description + "Job Id"; + } + leaf instance-id { + type int32; + description + "Instance number"; + } + leaf avail-time-stamp { + type string; + description + "TimeStamp process became available"; + } + leaf avail { + type string; + description + "Time since Avail"; + } + leaf is-avail-timeout { + type boolean; + description + "Is EOI timeout"; + } + leaf process-name { + type string; + description + "Name of the process"; + } + } + + grouping BOOTED-PROCESS-INFO { + description + "Process in boot order"; + leaf start-time-stamp { + type string; + description + "TimeStamp of spawn after failover"; + } + leaf started { + type string; + description + "Time since started"; + } + leaf level { + type string; + description + "Level"; + } + leaf jid { + type int32; + description + "Job Id"; + } + leaf instance-id { + type int32; + description + "Instance number"; + } + leaf ready-time-stamp { + type string; + description + "TimeStamp the process became ready"; + } + leaf ready { + type string; + description + "Time since Ready"; + } + leaf is-eoi-timeout { + type boolean; + description + "Is EOI timeout"; + } + leaf process-name { + type string; + description + "Name of the process"; + } + } + + grouping ACTIVE-BOOTED-PROCESS-INFO { + description + "Process in primary boot order"; + leaf active-time-stamp { + type string; + description + "Timestamp it became Active after switchover"; + } + leaf go-active { + type string; + description + "Go Active time stamp"; + } + leaf level { + type string; + description + "Level"; + } + leaf band-name { + type string; + description + "Band Name"; + } + leaf job-id { + type int32; + description + "Job Id"; + } + leaf instance-id { + type int32; + description + "Instance number"; + } + leaf avail-time-stamp { + type string; + description + "Time taken to become available"; + } + leaf avail { + type string; + description + "Time since Avail"; + } + leaf is-avail-timeout { + type boolean; + description + "Timeout occured?"; + } + leaf process-name { + type string; + description + "Name of the process"; + } + } + + grouping BAND-STATS-INFO { + description + "Process band statistics"; + leaf level { + type string; + description + "Level"; + } + leaf band-name { + type string; + description + "Band Name"; + } + leaf band-finish-time { + type string; + description + "Finish timestamp of the band"; + } + leaf band-time { + type string; + description + "Time spent on the band"; + } + leaf finish-time { + type string; + description + "Time taken to finish the band"; + } + leaf idle-percentage { + type string; + units "percentage"; + description + "Percentage of time it was idle"; + } + leaf jid { + type uint32; + description + "Jid"; + } + leaf ready-time { + type string; + description + "Ready Time"; + } + leaf last-process { + type string; + description + "Last Process Name"; + } + } + + grouping PROC-FAILOVER-INFO { + description + "Process boot information"; + leaf failover-log { + type string; + description + "Failover log message"; + } + leaf critical-failover-elapsed-time { + type string; + description + "Failover Time"; + } + leaf last-process-started { + type string; + description + "Last process started in the band"; + } + leaf primary-failover-elapsed-time { + type string; + description + "Primary failover time"; + } + leaf last-primary-proc-started { + type string; + description + "Last primary process started in the band"; + } + list standby-band-statistic { + description + "Statistics of Standby Band"; + uses BAND-STATS-INFO; + } + list active-band-statistic { + description + "Statistics of Active Band"; + uses BAND-STATS-INFO; + } + list active-ts-boot-proc { + description + "List of booted process as per avail time"; + uses ACTIVE-BOOTED-PROCESS-INFO; + } + list start-ts-boot-proc { + description + "List of booted processes per start time"; + uses BOOTED-PROCESS-INFO; + } + list primary-band-statistic { + description + "Statistics of Primary Band"; + uses BAND-STATS-INFO; + } + list primary-ts-boot-proc { + description + "List of booted processes per primary time"; + uses PRIM-BOOTED-PROCESS-INFO; + } + list primary-start-ts-boot-proc { + description + "List of booted process per primary start time"; + uses BOOTED-PROCESS-INFO; + } + } + + grouping ABORT-INFO { + description + "Abort information"; + leaf name { + type string; + description + "Process name"; + } + leaf timebuf { + type string; + description + "Date and time of process abort"; + } + leaf job-id { + type uint32; + description + "Job ID"; + } + leaf is-respawned { + type string; + description + "Respawn information"; + } + } + + grouping PROC-ABORT-INFO { + description + "Process Abort information"; + leaf process-abort-count { + type uint32; + description + "Number of Aborted Processes"; + } + list process { + description + "Array of aborted processes"; + uses ABORT-INFO; + } + } + + grouping BOOT-HOLD-INFO { + description + "Boot hold information"; + leaf boot-held-by-name { + type string; + description + "Processs name"; + } + leaf instance-id { + type uint32; + description + "Instance number"; + } + leaf jid { + type uint32; + description + "Job ID"; + } + } + + grouping PROC-BOOT-STALLED-INFO { + description + "Process Boot Stalled information"; + leaf spawn-status { + type string; + description + "Spawn status of the processes"; + } + list boot-hold { + description + "Boot hold information of the processes"; + uses BOOT-HOLD-INFO; + } + } + + grouping PROCESS-INFO { + description + "Process information"; + leaf name { + type string; + description + "Process name"; + } + leaf instance-id { + type uint32; + description + "Instance number"; + } + leaf args { + type string; + description + "Arguments"; + } + leaf jid { + type uint32; + description + "Job ID"; + } + leaf state { + type Process-state; + description + "Process state"; + } + leaf last-started { + type string; + description + "Date and time of process last started"; + } + leaf respawn-count { + type uint8; + description + "No of times the process restarted"; + } + leaf placement-state { + type Placement-state; + description + "Type of Placement"; + } + leaf is-mandatory { + type boolean; + description + "Is process mandatory?"; + } + leaf is-maintenance { + type boolean; + description + "Is maintenance mode?"; + } + } + + grouping PROCESSES-INFO { + description + "Processes information"; + leaf process-count { + type uint32; + description + "Number of processes"; + } + list process { + description + "Array of processes"; + uses PROCESS-INFO; + } + } + + grouping PROC-VERBOSE-INFO { + description + "Process Verbose Information"; + leaf process-group { + type string; + description + "Group Name"; + } + leaf respawn-allowed { + type int32; + description + "Can be restarted?"; + } + leaf wait-for-exit { + type int32; + description + "Wait until process exits"; + } + leaf dynamic-tag { + type int32; + description + "Interested in being verifer of the tuple"; + } + leaf forced-stop { + type int32; + description + "Signal that caused Forced stop"; + } + leaf critical-process { + type int32; + description + "If the process is critical"; + } + leaf hold { + type int32; + description + "Hold"; + } + leaf transient { + type int32; + description + "Transient process"; + } + leaf tuple-cfgmgr { + type int32; + description + "process started on tuple creation"; + } + leaf standby-capable { + type int32; + description + "capable of running on active and standby"; + } + leaf edm-startup { + type int32; + description + "EDM startup"; + } + leaf placement { + type int32; + description + "Placeable process"; + } + leaf skip-kill-notif { + type int32; + description + "Skip Kill Notif"; + } + leaf init-proc { + type int32; + description + "Init process"; + } + leaf sysdb-event { + type int32; + description + "Sysdb notification state"; + } + leaf level-started { + type int32; + description + "Process spawned on band"; + } + leaf proc-avail { + type int32; + description + "Process available"; + } + leaf tuples-scanned { + type int32; + description + "pcb has been Scanned"; + } + leaf no-chkpt-start { + type int32; + description + "No checkpoint start"; + } + leaf in-shut-down { + type int32; + description + "In Shut Down"; + } + leaf sm-started { + type int32; + description + "SM started"; + } + leaf ignore-on-sc { + type int32; + description + "Ignore on SC"; + } + leaf ignore-on-easy-bake { + type int32; + description + "Not run during EasyBake"; + } + leaf pre-init { + type int32; + description + "process started by boot script"; + } + leaf eoi-received { + type int32; + description + "EOI received"; + } + leaf eoi-timeout { + type int32; + description + "EOI Timeout"; + } + leaf avail-timeout { + type int32; + description + "Avail Timeout occured for this process"; + } + leaf reserved-memory { + type int32; + description + "Use Special Memory"; + } + leaf allow-warned { + type int32; + description + "Process started before its level"; + } + leaf arg-change { + type int32; + description + "Arg Change"; + } + leaf restart-on-tuple { + type int32; + description + "check the tuple on restart"; + } + leaf boot-hold { + type int32; + description + "Boot Hold"; + } + leaf reg-id { + type int32; + description + "Reg Id"; + } + leaf memory-limit { + type int32; + description + "Max memory a process can use"; + } + leaf parent-job-id { + type int32; + description + "Parent Job ID"; + } + leaf tuple-index { + type int32; + description + "Index of the tuple"; + } + leaf dump-count { + type int32; + description + "Dump Count"; + } + leaf respawn-interval-user { + type int32; + description + "User defined Respawn Interval"; + } + leaf silent-restart-count { + type int32; + description + "No of Silent Restarts"; + } + leaf critical-tier { + type int32; + description + "Failover Tier"; + } + leaf exit-type { + type int32; + description + "Exit Type"; + } + leaf init-timeout { + type int32; + description + "Timeout for EOI"; + } + leaf restart-by-cmd { + type int32; + description + "Restart by Command"; + } + leaf boot-pref { + type int32; + description + "Boot Pref"; + } + leaf mdr-mbi-proc { + type int32; + description + "Mdr Mbi"; + } + leaf mdr-non-mbi-kld { + type int32; + description + "Mdr Non Mbi Kld"; + } + leaf mdr-mbi-kld { + type int32; + description + "Mdr Mbi Kld"; + } + leaf mdr-shut-delay { + type int32; + description + "Mdr Shut Delay"; + } + leaf mdr-keep-thru { + type int32; + description + "Mdr Keep Thru"; + } + leaf mdr-spoofer { + type int32; + description + "spoofer process"; + } + leaf mdr-spoofed { + type int32; + description + "spoofed process"; + } + leaf mdr-spoofed-last { + type int32; + description + "Last process Mdr spoofed"; + } + leaf mdr-spoofed-ready { + type int32; + description + "Received Spoofed Ready"; + } + leaf mdr-pcb-check { + type int32; + description + "Mdr PCB Check"; + } + leaf mdr-kill-tier { + type int32; + description + "Mdr Kill Tier"; + } + leaf mdr-kld { + type int32; + description + "Mdr killed process"; + } + leaf mdr-level { + type int32; + description + "Mdr Level"; + } + leaf fm-restart-cnt { + type int32; + description + "FM restart count"; + } + leaf self-managed { + type int32; + description + "Self Managed process"; + } + list tuple { + description + "Tuple"; + uses TUPLE-INFO; + } + list orig-tuple { + description + "Orig Tuple"; + uses TUPLE-INFO; + } + } + + grouping PROC-BASIC-DETAIL-VERBOSE-INFO { + description + "Process basic and detail and verbose information"; + container basic-info { + description + "Process Basic Info"; + uses PROC-BASIC-INFO; + } + container detail-info { + description + "Process Detail Info"; + uses PROC-DETAIL-INFO; + } + container verbose-info { + description + "Process Verbose Info"; + uses PROC-VERBOSE-INFO; + } + } + + grouping PROC-BASIC-DETAIL-VERBOSE-INFO-LIST { + description + "PROC BASIC DETAIL VERBOSE INFO LIST"; + leaf count { + type int32; + description + "count"; + } + list basic-detail-verbose-info-val { + description + "basic detail verbose info val"; + uses PROC-BASIC-DETAIL-VERBOSE-INFO; + } + } + + grouping PROC-DETAIL-INFO { + description + "Process detail information"; + leaf running-path { + type string; + description + "Executable path"; + } + leaf package-path { + type string; + description + "Install package path"; + } + leaf job-id-link { + type int32; + description + "Job Id Link"; + } + leaf group-jid { + type string; + description + "Group Jid"; + } + leaf fail-count { + type uint32; + description + "No of times spawn failed"; + } + leaf restart-needed { + type boolean; + description + "whether the process has to be restarted"; + } + leaf init-process { + type boolean; + description + "process that uses .init file"; + } + leaf last-online { + type string; + description + "Timestamp of last online"; + } + leaf this-pcb { + type string; + description + "This PCB"; + } + leaf next-pcb { + type string; + description + "Next PCB"; + } + leaf envs { + type string; + description + "Env variables"; + } + leaf wait-for { + type string; + description + "Wait For /dev/xxx"; + } + leaf job-id-on-rp { + type int32; + description + "Job ID on RP"; + } + leaf is-standby-capable { + type boolean; + description + "capable of running on active and standby"; + } + leaf disable-kill { + type boolean; + description + "Disallow process kill cli"; + } + leaf send-avail { + type boolean; + description + "Check avail"; + } + leaf node-event-cli-info { + type int32; + description + "Node Event CLI info"; + } + leaf node-redundancy-state { + type string; + description + "Redundancy role"; + } + leaf role-event-cli-info { + type int32; + description + "client interested in proc role change event"; + } + leaf proc-role-state { + type string; + description + "Proc Role State"; + } + leaf standby-event-cli-info { + type int32; + description + "Standby Event CLI info"; + } + leaf cleanup-event-cli-info { + type int32; + description + "Client registered for cleanup notification"; + } + leaf band-ready-event-cli-info { + type int32; + description + "Band Ready Event CLI Info"; + } + leaf lr-event-cli-info { + type int32; + description + "LR Event CLI Info"; + } + leaf plane-ready-event-cli-info { + type int32; + description + "Plane Ready Event CLI info"; + } + leaf mdr-is-done-cli-info { + type int32; + description + "MDR is done CLI Info"; + } + } + + grouping PROC-BASIC-DETAIL-INFO { + description + "Process basic and detail information"; + container basic-info { + description + "Process Basic Info"; + uses PROC-BASIC-INFO; + } + container detail-info { + description + "Process Detail Info"; + uses PROC-DETAIL-INFO; + } + } + + grouping PROC-BASIC-DETAIL-INFO-LIST { + description + "PROC BASIC DETAIL INFO LIST"; + leaf count { + type int32; + description + "count"; + } + list basic-detail-info-val { + description + "basic detail info val"; + uses PROC-BASIC-DETAIL-INFO; + } + } + + grouping PROC-CPU-TIME { + description + "Process CPU time"; + leaf user { + type string; + description + "User time"; + } + leaf system { + type string; + description + "Kernel time"; + } + leaf total { + type string; + description + "Total time"; + } + } + + grouping TUPLE-INFO { + description + "process tuple information"; + leaf tuple { + type string; + description + "Tuple"; + } + } + + grouping PROC-BASIC-INFO { + description + "proc basic information"; + container proc-cpu-time { + description + "Amt of time spent in user and kernel mode"; + uses PROC-CPU-TIME; + } + leaf job-id-xr { + type uint32; + description + "Job ID"; + } + leaf process-id { + type uint32; + description + "PID"; + } + leaf process-name { + type string; + description + "Name of the process"; + } + leaf executable { + type string; + description + "Executable name or path"; + } + leaf active-path { + type string; + description + "Active install Path"; + } + leaf instance-id { + type int32; + description + "Instance ID"; + } + leaf args { + type string; + description + "Args"; + } + leaf version-id { + type string; + description + "Version ID"; + } + leaf respawn { + type string; + description + "Respawn on/off"; + } + leaf respawn-count { + type int32; + description + "No of times the process got respawned"; + } + leaf last-started { + type string; + description + "Last Started timestamp"; + } + leaf process-state { + type string; + description + "State of the process"; + } + leaf last-exit-status { + type int32; + description + "status of the process if exited"; + } + leaf last-exit-reason { + type string; + description + "Last Exit due to"; + } + leaf package-state { + type string; + description + "State of the Package"; + } + leaf started-on-config { + type string; + description + "Started on Config of the tuple"; + } + leaf feature-name { + type string; + description + "Name of the feature"; + } + leaf tag { + type string; + description + "Tag"; + } + leaf group { + type string; + description + "Process Group"; + } + leaf core { + type string; + description + "Core"; + } + leaf max-core { + type int32; + description + "Maximum no of coredumps"; + } + leaf level { + type string; + description + "Level"; + } + leaf mandatory { + type boolean; + description + "This process is critical for the router to run"; + } + leaf maint-mode-proc { + type boolean; + description + "Is admin mode process?"; + } + leaf placement-state { + type string; + description + "Type of Placement"; + } + leaf start-up-path { + type string; + description + "Startup Path"; + } + leaf memory-limit { + type uint32; + description + "Max memory a process can use"; + } + leaf ready { + type string; + description + "Time take for Ready state"; + } + leaf available { + type string; + description + "Time Available since last respawn"; + } + list registered-item { + description + "Tuples Registered"; + uses TUPLE-INFO; + } + } + + grouping PROC-BASIC-INFO-LIST { + description + "PROC BASIC INFO LIST"; + leaf count { + type int32; + description + "count"; + } + list proc-basic-info-val { + description + "proc basic info val"; + uses PROC-BASIC-INFO; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper.yang new file mode 100644 index 000000000..65f0c113b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-sysmgr-oper.yang @@ -0,0 +1,243 @@ +module Cisco-IOS-XR-sysmgr-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-oper"; + prefix sysmgr-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-sysmgr-oper-sub1 { + revision-date 2021-04-29; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sysmgr package operational data. + + This module contains definitions + for the following management objects: + system-process: Process information + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-29 { + description + "Added a grouping list to return an array of process control block records."; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-18 { + description + "Added good description for bag fields."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NODE { + description + "Common node of node-table, node-table"; + list node { + key "node-name"; + description + "Process information per node"; + container name { + description + "Process information"; + container process-name-run-infos { + description + "Process information"; + list process-name-run-info { + key "proc-name"; + description + "Process run information"; + leaf proc-name { + type xr:Cisco-ios-xr-string; + description + "Process Name"; + } + uses PROC-BASIC-INFO-LIST; + } + } + container process-name-infos { + description + "Process information"; + list process-name-info { + key "proc-name"; + description + "Process information"; + leaf proc-name { + type xr:Cisco-ios-xr-string; + description + "Process Name"; + } + uses PROC-BASIC-INFO-LIST; + } + } + container process-name-run-details { + description + "Process information"; + list process-name-run-detail { + key "proc-name"; + description + "Process run detail information"; + leaf proc-name { + type xr:Cisco-ios-xr-string; + description + "Process Name"; + } + uses PROC-BASIC-DETAIL-INFO-LIST; + } + } + container process-name-runverboses { + description + "Process information"; + list process-name-runverbose { + key "proc-name"; + description + "Process run verbose information"; + leaf proc-name { + type xr:Cisco-ios-xr-string; + description + "Process Name"; + } + uses PROC-BASIC-DETAIL-VERBOSE-INFO-LIST; + } + } + container process-name-details { + description + "Process information"; + list process-name-detail { + key "proc-name"; + description + "Process detail information"; + leaf proc-name { + type xr:Cisco-ios-xr-string; + description + "Process Name"; + } + uses PROC-BASIC-DETAIL-INFO-LIST; + } + } + container process-name-verboses { + description + "Process information"; + list process-name-verbose { + key "proc-name"; + description + "Process verbose information"; + leaf proc-name { + type xr:Cisco-ios-xr-string; + description + "Process Name"; + } + uses PROC-BASIC-DETAIL-VERBOSE-INFO-LIST; + } + } + } + container jids { + description + "Process job id information"; + list jid { + key "job-id"; + description + "Process information"; + leaf job-id { + type uint32 { + range "1..4294967295"; + } + description + "Job ID"; + } + uses PROC-BASIC-INFO; + } + } + container dynamic { + description + "Process Dynamic information"; + uses PROCESSES-INFO; + } + container boot-stalled { + description + "Process Boot Stalled information"; + uses PROC-BOOT-STALLED-INFO; + } + container processes { + description + "Process all information"; + uses PROCESSES-INFO; + } + container startup { + description + "Process Startup information"; + uses PROCESSES-INFO; + } + container mandatory { + description + "Mandatory Process information"; + uses PROCESSES-INFO; + } + container abort { + description + "Process Abort information"; + uses PROC-ABORT-INFO; + } + container failover { + description + "Process Failover information"; + uses PROC-FAILOVER-INFO; + } + container boot { + description + "Process Boot information"; + uses PROC-BOOT-INFO; + } + container logs { + description + "Process Log information"; + uses LOG-INFO; + } + container searchpath { + description + "Process Searchpath information"; + uses PROC-SEARCHPATH-INFO; + } + leaf node-name { + type xr:Node-id; + description + "The node name"; + } + } + } + + container system-process { + config false; + description + "Process information"; + container node-table { + description + "List of nodes"; + uses NODE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-system-reboot-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-system-reboot-act.yang new file mode 100644 index 000000000..d379b3f0e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-system-reboot-act.yang @@ -0,0 +1,177 @@ +module Cisco-IOS-XR-system-reboot-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-system-reboot-act"; + prefix system-reboot-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR system reboot operations corresponding + to the gNOI system.proto definitions. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-15 { + description + "IOS XR 7.0.12 revision."; + semver:module-version "1.0.0"; + } + + typedef location-name { + type string { + length "1..64"; + } + description + "Fully qualified location specification, e.g. 0/RP0/CPU0"; + } + + typedef reboot-method { + type enumeration { + enum "unknown" { + description + "Invalid default method"; + } + enum "cold" { + description + "Shutdown and restart OS and all hardware"; + } + enum "powerdown" { + description + "Halt and power down, if possible"; + } + enum "halt" { + description + "Halt, if possible"; + } + enum "warm" { + description + "Reload configuration but not underlying hardware"; + } + enum "nsf" { + description + "Non-stop-forwarding reboot, if possible"; + } + enum "reset" { + description + "Reboot to factory defaults"; + } + enum "powerup" { + description + "Apply power, no-op if power is already on"; + } + } + description + "Reboot action type"; + } + + typedef boot-media { + type enumeration { + enum "network" { + description + "Load image from network directory"; + } + enum "usb" { + description + "Load image from USB directory"; + } + } + description + "Boot media Type"; + } + + rpc reboot-request { + description + "Boot, reboot, or shutdown the specified entity"; + input { + leaf method { + type reboot-method; + mandatory true; + description + "Reboot operation type"; + } + leaf delay { + type uint32; + description + "Delay in nanoseconds before issuing command"; + } + leaf message { + type string; + description + "Informational reason for the operation"; + } + leaf location { + type location-name; + description + "Fully qualified location specification"; + } + leaf force { + type boolean; + description + "Do not wait for software to shutdown gracefully"; + } + leaf bootmedia { + type boot-media; + description + "Bootmedia type"; + } + } + } + rpc reboot-status-request { + description + "Retrieves the latest boot status of the specified entity"; + input { + leaf location { + type location-name; + mandatory true; + description + "Fully qualified location specification"; + } + } + output { + container reboot-status-response { + description + "Latest boot status of the target"; + leaf active { + type boolean; + description + "Set to true if reboot is active"; + } + leaf wait { + type uint64; + description + "Time left until reboot"; + } + leaf when { + type uint64; + description + "Time to reboot in nanoseconds since the epoch"; + } + leaf reason { + type string; + description + "Reason for reboot"; + } + leaf count { + type uint32; + description + "Number of reboots since active"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-system-recovery-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-system-recovery-cfg.yang new file mode 100644 index 000000000..f6f83a239 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-system-recovery-cfg.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-system-recovery-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-system-recovery-cfg"; + prefix system-recovery-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR system-recovery package configuration. + + This module contains definitions + for the following management objects: + system-recovery: System Recovery configurations + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-05 { + description + "Added support for system recovery"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container system-recovery { + description + "System Recovery configurations"; + leaf enable { + type empty; + description + "Enable System Recovery"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper-sub1.yang new file mode 100644 index 000000000..95a0df82b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper-sub1.yang @@ -0,0 +1,198 @@ +submodule Cisco-IOS-XR-tamsvcs-oper-sub1 { + belongs-to Cisco-IOS-XR-tamsvcs-oper { + prefix Cisco-IOS-XR-tamsvcs-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tamsvcs package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-25 { + description + "3rd Party Key Package support in XR"; + semver:module-version "1.2.0"; + } + revision 2020-11-15 { + description + "Show device info and sudi certs support for tam"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TAMSVCS-SUDI-CERTS { + description + "Tam Sudi certs bag"; + leaf sudi-root-cert { + type string; + description + "Sudi Root Certificate"; + } + leaf sudi-subca-cert { + type string; + description + "Sudi SubCA Certificate"; + } + leaf sudi-cert { + type string; + description + "Sudi Certificate of Tam Device"; + } + } + + grouping TAMSVCS-DEVICE-INFO { + description + "Tam device info bag"; + leaf device-type { + type string; + description + "Type of Tam Device"; + } + leaf device-pid { + type string; + description + "Pid of Tam Device"; + } + leaf device-serial { + type string; + description + "Serial Number of Tam Device"; + } + leaf device-firware-version { + type string; + description + "Firmware version of the device"; + } + leaf server-version { + type string; + description + "Tam Server Version"; + } + leaf server-package-version { + type string; + description + "Tam Services Server Package Version"; + } + leaf client-package-version { + type string; + description + "Tam Services Client Package Version"; + } + } + + grouping TAMSVCS-PUBKEYS-REVOKED { + description + "TAM Revoked Public Key List "; + list revoked { + description + "Revoked list of Public Key"; + uses TAMSVCS-PUBKEYS; + } + } + + grouping TAMSVCS-INFO-ALL { + description + "Tam All info bag"; + leaf device-type { + type string; + description + "Type of Tam Device"; + } + leaf device-pid { + type string; + description + "Pid of Tam Device"; + } + leaf device-serial { + type string; + description + "Serial Number of Tam Device"; + } + leaf device-firware-version { + type string; + description + "Firmware version of the device"; + } + leaf server-version { + type string; + description + "Tam Server Version"; + } + leaf server-package-version { + type string; + description + "Tam Services Server Package Version"; + } + leaf client-package-version { + type string; + description + "Tam Services Client Package Version"; + } + leaf sudi-root-cert { + type string; + description + "Sudi Root Certificate"; + } + leaf sudi-subca-cert { + type string; + description + "Sudi SubCA Certificate"; + } + leaf sudi-cert { + type string; + description + "Sudi Leaf Certificate"; + } + } + + grouping TAMSVCS-PUBKEYS { + description + "TAM Public Key "; + leaf so-name { + type string; + description + "Name of Public Key"; + } + leaf so-data { + type string; + description + "Content of SO Public Key"; + } + } + + grouping TAMSVCS-PUBKEYS-ALLOWED { + description + "TAM Allowed Public Key List "; + list allowed { + description + "Allowed list of Public Key"; + uses TAMSVCS-PUBKEYS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper.yang new file mode 100644 index 000000000..3036dd7d7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tamsvcs-oper.yang @@ -0,0 +1,102 @@ +module Cisco-IOS-XR-tamsvcs-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tamsvcs-oper"; + prefix tamsvcs-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tamsvcs-oper-sub1 { + revision-date 2021-06-25; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tamsvcs package operational data. + + This module contains definitions + for the following management objects: + tam: TAM services operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-25 { + description + "3rd Party Key Package support in XR"; + semver:module-version "1.2.0"; + } + revision 2020-11-15 { + description + "Show device info and sudi certs support for tam"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container tam { + config false; + description + "TAM services operational data"; + container nodes { + description + "Per Node Tam Services operation data"; + list node { + key "node"; + description + "Node Location for TAM services operational data"; + container public-keys-allowed { + description + "TAM Public Keys Allowed List"; + uses TAMSVCS-PUBKEYS-ALLOWED; + } + container all { + description + "TAM services all information"; + uses TAMSVCS-INFO-ALL; + } + container public-keys-revoked { + description + "TAM Public Keys Revoked List"; + uses TAMSVCS-PUBKEYS-REVOKED; + } + container device-info { + description + "TAM services device information"; + uses TAMSVCS-DEVICE-INFO; + } + container sudi-certs { + description + "TAM services Sudi Certificates"; + uses TAMSVCS-SUDI-CERTS; + } + leaf node { + type xr:Node-id; + description + "Node location"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-cfg.yang new file mode 100644 index 000000000..f1dcbe6a0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-cfg.yang @@ -0,0 +1,699 @@ +module Cisco-IOS-XR-telemetry-model-driven-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-telemetry-model-driven-cfg"; + prefix telemetry-model-driven-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR telemetry-model-driven package configuration. + + This model is deprecated and is replaced by + Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang which will provide the + compatible functionalities. + + This module contains definitions + for the following management objects: + telemetry-model-driven: Model Driven Telemetry configuration + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-11 { + description + "Added subscription mode leaf to sensor profile"; + semver:module-version "2.1.0"; + } + revision 2020-12-11 { + description + "Added length restriction to tls-hostname IosSetYangSchemaRev Cisco-IOS-XR-telemetry-model-driven-cfg"; + semver:module-version "2.0.0"; + } + revision 2020-04-09 { + description + "Added back default value of MDT_DEF_UDP_MTU to UDP packetsize to solve nbc issue. + 2020-01-30 + Added compression option to protocol. + 2020-01-07 + Added default statement to leaves max-containers-per-path, max-sensor-paths, and tcp-send-timeout. + 2019-10-09 + Added select-leaves-on-events config leaf + 2019-09-25 + Added minimum-cadence and cadence-factor options for tgtdef + 2019-09-01 + Add capability to configure a Fully Qualified Domain Name as destination."; + semver:module-version "1.2.0"; + } + revision 2019-08-29 { + description + "Removed mandatory statement of leaf sample-interval."; + semver:module-version "1.1.0"; + } + revision 2019-05-12 { + description + "Deprecated the native model, replaced by UM model."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2018-07-23 { + description + "Changed no-tls to presence leaf"; + } + revision 2018-05-29 { + description + "Added include empty values."; + } + revision 2018-04-02 { + description + "Added strict-timer option"; + } + revision 2018-01-17 { + description + "Changed mandatory field for sample-interval."; + } + revision 2017-09-26 { + description + "Added tcp-send-timeout to model"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-08-23 { + description + "Updated version for max-containers-per-path"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-02-09 { + description + "Added DSCP"; + } + revision 2017-01-30 { + description + "Updated version for source-interface/vrf"; + } + revision 2016-10-20 { + description + "Updated version for hierarchy-destinations"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Proto-type { + type enumeration { + enum "grpc" { + value 1; + description + "GRPC"; + } + enum "tcp" { + value 2; + description + "tcp"; + } + enum "udp" { + value 3; + description + "udp"; + } + } + description + "Proto type"; + } + + typedef Subscription-mode { + type enumeration { + enum "target-defined" { + value 0; + description + "Device selects one of sample/on-change for + leaves to stream data"; + } + } + description + "Subscription mode"; + } + + typedef Encode-type { + type enumeration { + enum "gpb" { + value 2; + description + "GPB"; + } + enum "self-describing-gpb" { + value 3; + description + "SELF DESCRIBING GPB"; + } + enum "json" { + value 4; + description + "JSON"; + } + } + description + "Encode type"; + } + + typedef Mdt-dscp-value { + type enumeration { + enum "default" { + value 0; + description + "Applicable to DSCP: bits 000000"; + } + enum "cs1" { + value 8; + description + "Applicable to DSCP: bits 001000"; + } + enum "af11" { + value 10; + description + "Applicable to DSCP: bits 001010"; + } + enum "af12" { + value 12; + description + "Applicable to DSCP: bits 001100"; + } + enum "af13" { + value 14; + description + "Applicable to DSCP: bits 001110"; + } + enum "cs2" { + value 16; + description + "Applicable to DSCP: bits 010000"; + } + enum "af21" { + value 18; + description + "Applicable to DSCP: bits 010010"; + } + enum "af22" { + value 20; + description + "Applicable to DSCP: bits 010100"; + } + enum "af23" { + value 22; + description + "Applicable to DSCP: bits 010110"; + } + enum "cs3" { + value 24; + description + "Applicable to DSCP: bits 011000"; + } + enum "af31" { + value 26; + description + "Applicable to DSCP: bits 011010"; + } + enum "af32" { + value 28; + description + "Applicable to DSCP: bits 011100"; + } + enum "af33" { + value 30; + description + "Applicable to DSCP: bits 011110"; + } + enum "cs4" { + value 32; + description + "Applicable to DSCP: bits 100000"; + } + enum "af41" { + value 34; + description + "Applicable to DSCP: bits 100010"; + } + enum "af42" { + value 36; + description + "Applicable to DSCP: bits 100100"; + } + enum "af43" { + value 38; + description + "Applicable to DSCP: bits 100110"; + } + enum "cs5" { + value 40; + description + "Applicable to DSCP: bits 101000"; + } + enum "ef" { + value 46; + description + "Applicable to DSCP: bits 101110"; + } + enum "cs6" { + value 48; + description + "Applicable to DSCP: bits 110000"; + } + enum "cs7" { + value 56; + description + "Applicable to DSCP: bits 111000"; + } + } + description + "Mdt dscp value"; + } + + typedef Mdt-compression { + type enumeration { + enum "gzip" { + value 1; + description + "google.golang.org/grpc/encoding/gzip + compression"; + } + } + description + "Mdt compression"; + } + + typedef Address-family { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 address family"; + } + enum "ipv6" { + value 2; + description + "IPv6 address family"; + } + } + description + "Address family"; + } + + grouping ENCODING { + description + "Common node of ipv6-destination, ipv4-destination + , destination"; + leaf encoding { + type Encode-type; + description + "Encoding used to transmit telemetry data to the + collector"; + } + } + + grouping PROTOCOL { + description + "Common node of ipv6-destination, ipv4-destination + , destination"; + container protocol { + presence "Indicates a protocol node is configured."; + description + "Transport Protocol used to transmit telemetry + data to the collector"; + leaf protocol { + type Proto-type; + mandatory true; + description + "protocol"; + } + leaf tls-hostname { + type xr:Cisco-ios-xr-string { + length "1..255"; + } + description + "tls hostname"; + } + leaf no-tls { + type empty; + description + "no tls"; + } + leaf packetsize { + type uint32 { + range "484..65507"; + } + default "1472"; + description + "udp packetsize"; + } + leaf compression { + type Mdt-compression; + description + "gRPC message compression"; + } + } + } + + container telemetry-model-driven { + status deprecated; + description + "This model is deprecated and is replaced by + Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang + which will provide the compatible functionalities + . Model Driven Telemetry configuration"; + container sensor-groups { + description + "Sensor group configuration"; + list sensor-group { + key "sensor-group-identifier"; + description + "Sensor group configuration"; + container sensor-paths { + description + "Sensor path configuration"; + list sensor-path { + key "telemetry-sensor-path"; + description + "Sensor path configuration"; + leaf telemetry-sensor-path { + type string; + description + "Sensor Path"; + } + } + } + leaf sensor-group-identifier { + type xr:Cisco-ios-xr-string; + description + "The identifier for this group"; + } + } + } + container subscriptions { + description + "Streaming Telemetry Subscription"; + list subscription { + key "subscription-identifier"; + description + "Streaming Telemetry Subscription"; + container sensor-profiles { + description + "Associate Sensor Groups with Subscription"; + list sensor-profile { + key "sensorgroupid"; + description + "Associate Sensor Group with Subscription"; + leaf strict-timer { + type empty; + description + "use strict timer"; + } + leaf sample-interval { + type uint32 { + range "0..4294967295"; + } + units "millisecond"; + description + "Sample interval in milliseconds"; + } + leaf mode { + type Subscription-mode; + description + "Subscription mode"; + } + leaf heartbeat-always { + type empty; + description + "Send heartbeat even if events have occurred + within interval"; + } + leaf heartbeat-interval { + type uint32 { + range "1..4294967295"; + } + units "millisecond"; + description + "ON-CHANGE subscription heartbeat interval + (in milliseconds)"; + } + leaf sensorgroupid { + type xr:Cisco-ios-xr-string; + description + "Reference to the telemetry sensor group name"; + } + } + } + container destination-profiles { + description + "Associate Destination Groups with Subscription"; + list destination-profile { + key "destination-id"; + description + "Associate Destination Group with Subscription"; + leaf destination-id { + type xr:Cisco-ios-xr-string; + description + "Destination Id to associate with + Subscription"; + } + } + } + leaf source-qos-marking { + type Mdt-dscp-value; + description + "Outgoing DSCP value"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source address to use for streaming telemetry + information"; + } + leaf subscription-identifier { + type xr:Cisco-ios-xr-string; + description + "Subscription identifier string"; + } + } + } + container gnmi { + description + "GNMI Subscribe"; + leaf heartbeat-always { + type empty; + description + "Send heartbeat even if events have occurred + within interval"; + } + } + container include { + description + "Include fields with empty values in output."; + container empty { + description + "Include fields with empty values in output."; + leaf values { + type empty; + description + "String type fields with empty string value, + for example, are omitted by default. This + provides an option to override this behavior + and include them in the output."; + } + } + leaf select-leaves-on-events { + type empty; + description + "Include only configured leaves on on-change + subscription"; + } + } + container destination-groups { + description + "Destination Group configuration"; + list destination-group { + key "destination-id"; + description + "Destination Group"; + container ipv6-destinations { + description + "Destination address configuration"; + list ipv6-destination { + key "ipv6-address destination-port"; + description + "destination IP address"; + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Destination IPv6 address"; + } + leaf destination-port { + type xr:Cisco-ios-xr-port-number; + description + "Destination port"; + } + uses ENCODING; + uses PROTOCOL; + } + } + container ipv4-destinations { + description + "Destination address configuration"; + list ipv4-destination { + key "ipv4-address destination-port"; + description + "destination IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Destination IPv4 address"; + } + leaf destination-port { + type xr:Cisco-ios-xr-port-number; + description + "Destination port"; + } + uses ENCODING; + uses PROTOCOL; + } + } + container destinations { + description + "Stream destinations information such as IP + address or FQDN (Fully Qualified Domain Name) + and port, transport protocol, and encoding."; + list destination { + key "address port"; + description + "Stream destinations"; + leaf address-family { + type Address-family; + description + "Specify the desired address family for the + returned addresses from DNS. This is + applicable only if FQDN is specified as + destination address."; + } + leaf address { + type xr:Cisco-ios-xr-string { + length "1..128"; + } + description + "Destination address as fully qualified + domain name, IPv4 address in dotted-quad + notation, or IPv6 address in full, mixed, + shortened, and shortened-mixed notation."; + } + leaf port { + type xr:Cisco-ios-xr-port-number; + description + "Destination port"; + } + uses ENCODING; + uses PROTOCOL; + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Vrf for the destination group"; + } + leaf destination-id { + type xr:Cisco-ios-xr-string; + description + "destination group id string"; + } + } + } + container gnmi-target-defined { + description + "Minimum cadence and cadence factor for gnmi + target defined"; + leaf minimum-cadence { + type uint32 { + range "1..65535"; + } + units "second"; + description + "Minimum Target Defined cadence in secs. 30 secs + by default"; + } + leaf cadence-factor { + type uint32 { + range "1..10"; + } + description + "Multiplier/Factor for cadence of Tgt defined + mode. Default: 2"; + } + } + leaf strict-timer { + type empty; + description + "enable strict-timer for all subscriptions, + default is relative timer"; + } + leaf enable { + type empty; + description + "Enable Model Driven Telemetry"; + } + leaf max-sensor-paths { + type uint32 { + range "0..4000"; + } + default "1000"; + description + "Maximum allowed sensor paths. 0 disables the + check."; + } + leaf max-containers-per-path { + type uint32 { + range "0..1024"; + } + default "16"; + description + "Maximum containers allowed per sensor path. 0 + disables the check."; + } + leaf tcp-send-timeout { + type uint32 { + range "0..30"; + } + units "second"; + default "30"; + description + "TCP send timeout value in seconds. 0 disables + the timeout."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub1.yang new file mode 100644 index 000000000..8161b5c10 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub1.yang @@ -0,0 +1,194 @@ +submodule Cisco-IOS-XR-telemetry-model-driven-oper-sub1 { + belongs-to Cisco-IOS-XR-telemetry-model-driven-oper { + prefix Cisco-IOS-XR-telemetry-model-driven-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR telemetry-model-driven package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-13 { + description + "Added pending message memory size to destination endpoint"; + semver:module-version "1.3.0"; + } + revision 2020-10-30 { + description + "Keys for sensor-paths IosSetYangSchemaRev Cisco-IOS-XR-telemetry-model-driven-oper"; + semver:module-version "1.2.0"; + } + revision 2020-03-11 { + description + "Updated the encodings supported + 2020-01-30 + Added compression leaf to destination container + 2020-01-10 + GRPC channel statistics added + 2019-09-25 + Added minimum-cadence and cadence-factor options for target defined mode"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-27 { + description + "Summary container added"; + } + revision 2017-05-05 { + description + "Modified the type for the state variables"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-02-09 { + description + "Added DSCP"; + } + revision 2017-01-30 { + description + "Initial 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TELEMETRY-SHOW-SUMMARY { + description + "Telemetry Summary information"; + leaf num-of-subscriptions { + type uint32; + description + "Number of Subscriptions"; + } + leaf num-of-active-subscriptions { + type uint32; + description + "Number of Active Subscriptions"; + } + leaf num-of-paused-subscriptions { + type uint32; + description + "Number of Paused Subscriptions"; + } + leaf num-of-destination-groups { + type uint32; + description + "Number of Destination Groups"; + } + leaf num-of-destinations { + type uint32; + description + "Number of Destinations"; + } + leaf num-of-tcp-dialouts { + type uint32; + description + "Number of Tcp Dialout Destinations"; + } + leaf num-of-udp-dialouts { + type uint32; + description + "Number of Udp Dialout Destinations"; + } + leaf num-of-grpc-tls-dialouts { + type uint32; + description + "Number of GRPC TLS Dialout Destinations"; + } + leaf num-of-grpc-non-tls-dialouts { + type uint32; + description + "Number of GRPC Non-TLS Dialout Destinations"; + } + leaf num-of-dialins { + type uint32; + description + "Number of Dialin Destinations"; + } + leaf num-of-active-destinations { + type uint32; + description + "Number of Active Destinations"; + } + leaf num-of-connected-sessions { + type uint32; + description + "Number of Connected Sessions"; + } + leaf num-of-connecting-sessions { + type uint32; + description + "Number of Connecting Sessions"; + } + leaf num-of-sensor-groups { + type uint32; + description + "Number of Sensor Groups"; + } + leaf num-of-unique-sensor-paths { + type uint32; + description + "Number of Unique Sensor Paths"; + } + leaf num-of-sensor-paths { + type uint32; + description + "Number of Sensor Paths"; + } + leaf num-of-not-resolved-sensor-paths { + type uint32; + description + "Number of not resolved sensor paths"; + } + leaf num-of-active-sensor-paths { + type uint32; + description + "Number of Active Sensor Paths"; + } + leaf max-sensor-paths { + type uint32; + description + "Maximum Sensor Paths allowed"; + } + leaf max-containers-per-path { + type uint32; + description + "Max containers allowed per Sensor Path"; + } + leaf min-target-def-cadence { + type uint32; + description + "Minimum cadence for target defined subscriptions"; + } + leaf target-def-cadence-factor { + type uint32; + description + "Cadence factor for target defined subscriptions"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub2.yang new file mode 100644 index 000000000..c815a491b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper-sub2.yang @@ -0,0 +1,1202 @@ +submodule Cisco-IOS-XR-telemetry-model-driven-oper-sub2 { + belongs-to Cisco-IOS-XR-telemetry-model-driven-oper { + prefix Cisco-IOS-XR-telemetry-model-driven-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR telemetry-model-driven package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-13 { + description + "Added pending message memory size to destination endpoint"; + semver:module-version "1.3.0"; + } + revision 2020-10-30 { + description + "Keys for sensor-paths IosSetYangSchemaRev Cisco-IOS-XR-telemetry-model-driven-oper"; + semver:module-version "1.2.0"; + } + revision 2020-03-11 { + description + "Updated the encodings supported + 2020-01-30 + Added compression leaf to destination container + 2020-01-10 + GRPC channel statistics added + 2019-09-25 + Added minimum-cadence and cadence-factor options for target defined mode"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-27 { + description + "Summary container added"; + } + revision 2017-05-05 { + description + "Modified the type for the state variables"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-02-09 { + description + "Added DSCP"; + } + revision 2017-01-30 { + description + "Initial 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Mdt-source-qos-marking { + type enumeration { + enum "dscp-default" { + value 0; + description + "0"; + } + enum "dscp-cs1" { + value 8; + description + "8"; + } + enum "dscp-af11" { + value 10; + description + "10"; + } + enum "dscp-af12" { + value 12; + description + "12"; + } + enum "dscp-af13" { + value 14; + description + "14"; + } + enum "dscp-cs2" { + value 16; + description + "16"; + } + enum "dscp-af21" { + value 18; + description + "18"; + } + enum "dscp-af22" { + value 20; + description + "20"; + } + enum "dscp-af23" { + value 22; + description + "22"; + } + enum "dscp-cs3" { + value 24; + description + "24"; + } + enum "dscp-af31" { + value 26; + description + "26"; + } + enum "dscp-af32" { + value 28; + description + "28"; + } + enum "dscp-af33" { + value 30; + description + "30"; + } + enum "dscp-cs4" { + value 32; + description + "32"; + } + enum "dscp-af41" { + value 34; + description + "34"; + } + enum "dscp-af42" { + value 36; + description + "36"; + } + enum "dscp-af43" { + value 38; + description + "38"; + } + enum "dscp-cs5" { + value 40; + description + "40"; + } + enum "dscp-ef" { + value 46; + description + "46"; + } + enum "dscp-cs6" { + value 48; + description + "48"; + } + enum "dscp-cs7" { + value 56; + description + "56"; + } + } + description + "DSCP source qos value for subscription"; + } + + typedef Mdt-subs-state-enum { + type enumeration { + enum "not-active" { + value 0; + description + "NA"; + } + enum "active" { + value 1; + description + "Active"; + } + enum "paused" { + value 2; + description + "Paused"; + } + } + description + "Subscription State"; + } + + typedef Mdt-internal-path-status { + type enumeration { + enum "active" { + value 0; + description + "Active"; + } + enum "internal-err" { + value 1; + description + "Internal Error"; + } + enum "plugin-active" { + value 2; + description + "Plugin Active"; + } + enum "plugin-not-initialized" { + value 3; + description + "Plugin Not Initialized"; + } + enum "plugin-invalid-cadence" { + value 4; + description + "Plugin Unsupported Cadence"; + } + enum "plugin-err" { + value 5; + description + "Plugin Subscription Error"; + } + enum "filter-err" { + value 6; + description + "Filter Error"; + } + enum "paused" { + value 7; + description + "Paused"; + } + enum "event-ing-active" { + value 8; + description + "Eventing Active"; + } + enum "event-ing-not-active" { + value 9; + description + "Eventing Not Active"; + } + enum "event-ing-err" { + value 10; + description + "Eventing Error"; + } + enum "filter-invalid-key" { + value 11; + description + "Filter Key Invalid"; + } + enum "filter-unsupported" { + value 12; + description + "Filter Unsupported"; + } + } + description + "Internal Subscription Path Status"; + } + + typedef Mdt-compression { + type enumeration { + enum "gzip" { + value 1; + description + "gzip"; + } + } + description + "MDT grpc compression type"; + } + + typedef Mdt-dest-state-enum { + type enumeration { + enum "dest-not-active" { + value 0; + description + "NA"; + } + enum "dest-active" { + value 1; + description + "Active"; + } + enum "dest-asking-pause" { + value 2; + description + "AskingPause"; + } + enum "dest-paused" { + value 3; + description + "Paused"; + } + enum "dest-resuming" { + value 4; + description + "Resuming"; + } + enum "dest-channel-not-found" { + value 5; + description + "ChannelNotFound"; + } + } + description + "Destination state"; + } + + typedef Mdt-transport-enum { + type enumeration { + enum "not-set" { + value 0; + description + "PROTOCOL NOT SET"; + } + enum "grpc" { + value 1; + description + "GRPC"; + } + enum "tcp" { + value 2; + description + "TCP"; + } + enum "udp" { + value 3; + description + "UDP"; + } + enum "dialin" { + value 6; + description + "DIALIN"; + } + } + description + "MDT Transport"; + } + + typedef Mdt-encoding-enum { + type enumeration { + enum "not-set" { + value 0; + description + "ENCODING NOT SET"; + } + enum "gpb" { + value 2; + description + "GPB"; + } + enum "self-describing-gpb" { + value 3; + description + "SELF DESCRIBING GPB"; + } + enum "json" { + value 4; + description + "JSON"; + } + enum "gnmi-proto" { + value 7; + description + "GNMI PROTO"; + } + enum "gnmi-json" { + value 8; + description + "GNMI JSON"; + } + } + description + "MDT Encoding"; + } + + typedef Mdt-in6-addr { + type inet:ipv6-address; + description + "Mdt in6 addr"; + } + + typedef Mdt-ip { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4"; + } + enum "ipv6" { + value 2; + description + "IPv6"; + } + } + description + "IP Type"; + } + + grouping MDT-DESTINATION-CHAN-STATS { + description + "Per destination channel information"; + leaf encoding { + type Mdt-encoding-enum; + description + "Destination group encoding"; + } + leaf transport { + type Mdt-transport-enum; + description + "Destination group transport"; + } + leaf state { + type Mdt-dest-state-enum; + description + "State of streaming on this destination"; + } + leaf channel-id { + type uint64; + description + "GRPC channel ID of this subscription and + destination"; + } + leaf in-use-buffers { + type uint32; + description + "Number of buffers used by the channel"; + } + leaf dropped-messages { + type uint32; + description + "Number of messages dropped when channel becomes + full"; + } + } + + grouping MDT-DESTINATION-GROUP { + description + "Per Destination Group information"; + leaf id { + type string; + description + "Destination Group name"; + } + leaf configured { + type uint32; + description + "Set if this is configured destination group"; + } + list destination { + description + "list of destinations defined in this group"; + uses MDT-DESTINATION; + } + } + + grouping MDT-SENSOR-GROUP { + description + "Per sensor group information"; + leaf id { + type string; + description + "Sensor Group name"; + } + leaf configured { + type uint32; + description + "Set if this is configured sensor group"; + } + list sensor-path { + description + "Array of information for sensor paths within + sensor group"; + uses MDT-SENSOR-PATHS; + } + } + + grouping MDT-SENSOR-PROFILE { + description + "Per sensor profile information"; + container sensor-group { + description + "sensor group"; + uses MDT-SENSOR-GROUP; + } + leaf sample-interval { + type uint32; + description + "Sample interval for the sensor group (ms)"; + } + leaf heartbeat-interval { + type uint32; + description + "Heartbeat interval for the sensor group (s)"; + } + leaf suppress-redundant { + type boolean; + description + "Suppress Redundant"; + } + leaf incremental-updates { + type boolean; + description + "True if path supports incremental push updates"; + } + } + + grouping MDT-SOURCE-INTERFACE { + description + "source interface information"; + leaf interface-name { + type string; + description + "Source Interface Name"; + } + leaf state { + type boolean; + description + "interface state"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPV4 Address"; + } + leaf ipv6-address { + type Mdt-in6-addr; + description + "IPV6 Address"; + } + leaf vrf-id { + type uint32; + description + "Src Vrf Id"; + } + } + + grouping MDT-SUBSCRIPTION { + description + "Per subscription group information"; + container source-interface { + description + "configured source interface"; + uses MDT-SOURCE-INTERFACE; + } + leaf id { + type string; + description + "Collection Subscription name"; + } + leaf state { + type Mdt-subs-state-enum; + description + "Subscription state"; + } + leaf source-qos-marking { + type Mdt-source-qos-marking; + description + "DSCP"; + } + list sensor-profile { + description + "List of sensor groups within a subscription"; + uses MDT-SENSOR-PROFILE; + } + list destination-grp { + description + "Array of destinations within a subscription"; + uses MDT-DESTINATION-GROUP; + } + } + + grouping MDT-SUBSCRIPTION-DETAILS { + description + "Per subscription group detailed information"; + container subscription { + description + "Subscription"; + uses MDT-SUBSCRIPTION; + } + list collection-group { + description + "List of collection groups active for this + subscription"; + uses MDT-COLLECTION-GROUP; + } + } + + grouping MDT-COLLECTION-SYSDB-GROUP { + description + "Per collection group sysdb information"; + leaf path { + type string; + description + "Sysdb Path"; + } + leaf cadence { + type uint64; + description + "Period of the collections (ms)"; + } + leaf total-get-count { + type uint64; + description + "Total number of gets"; + } + leaf total-list-count { + type uint64; + description + "Total number of lists"; + } + leaf total-datalist-count { + type uint64; + description + "Total number of datalists"; + } + leaf total-finddata-count { + type uint64; + description + "Total number of finddata"; + } + leaf total-get-bulk-count { + type uint64; + description + "Total number of get bulk"; + } + leaf total-item-count { + type uint64; + description + "Total number of items retrived from sysdb"; + } + leaf total-get-errors { + type uint64; + description + "Total number of get errors"; + } + leaf total-list-errors { + type uint64; + description + "Total number of list errors"; + } + leaf total-datalist-errors { + type uint64; + description + "Total number of datalist errors"; + } + leaf total-finddata-errors { + type uint64; + description + "Total number of finddata errors"; + } + leaf total-get-bulk-errors { + type uint64; + description + "Total number of get bulk errors"; + } + leaf total-encode-errors { + type uint64; + description + "Total number of encode errors"; + } + leaf total-encode-notready { + type uint64; + description + "Total number of encode deferred"; + } + leaf total-send-errors { + type uint64; + description + "Total number of send errors"; + } + leaf total-send-drops { + type uint64; + description + "Total number of send channel full"; + } + leaf total-sent-bytes { + type uint64; + units "byte"; + description + "Total number of bytes sent"; + } + leaf total-send-packets { + type uint64; + description + "Total number of packets sent"; + } + leaf total-send-bytes-dropped { + type uint64; + units "byte"; + description + "Total number of send bytes dropped"; + } + leaf total-collections { + type uint64; + description + "Completed collections count"; + } + leaf total-collections-missed { + type uint64; + description + "Total number of collections missed"; + } + leaf max-collection-time { + type uint64; + description + "Maximum time for a collection (ms)"; + } + leaf min-collection-time { + type uint64; + description + "Minimum time for a collection (ms)"; + } + leaf avg-collection-time { + type uint64; + description + "Average time for a collection (ms)"; + } + leaf collection-method { + type uint64; + description + "Collection method in use"; + } + leaf status { + type Mdt-internal-path-status; + description + "Status of collection path"; + } + leaf total-heartbeats-missed { + type uint64; + description + "Total number of heartbeats missed"; + } + leaf internal-keys { + type string; + description + "Keys for the sensor path, if configured"; + } + leaf filtered-item-count { + type uint64; + description + "Count of number of items that got filtered"; + } + } + + grouping MDT-SENSOR-PATHS { + description + "Sensor Path information"; + leaf path { + type string; + description + "Sensor Path"; + } + leaf state { + type boolean; + description + "State, if sensor path is resolved or not"; + } + leaf status-str { + type string; + description + "Error str, if there are any errors resolving the + sensor path"; + } + leaf configured-keys { + type string; + description + "Keys for the sensor path, if configured"; + } + } + + grouping MDT-COLLECTION-GROUP { + description + "Per collection group information"; + leaf id { + type uint64; + description + "Collection Group id"; + } + leaf cadence { + type uint32; + description + "Period of the collections (ms)"; + } + leaf total-collections { + type uint32; + description + "Completed collections count"; + } + leaf encoding { + type Mdt-encoding-enum; + description + "Destination group encoding"; + } + leaf last-collection-start-time { + type uint64; + description + "Timestamp of the start of last collection"; + } + leaf last-collection-end-time { + type uint64; + description + "Timestamp of the end of last collection"; + } + leaf max-collection-time { + type uint32; + description + "Maximum time for a collection (ms)"; + } + leaf min-collection-time { + type uint32; + description + "Minimum time for a collection (ms)"; + } + leaf min-total-time { + type uint32; + description + "Minimum time for all processing (ms)"; + } + leaf max-total-time { + type uint32; + description + "Maximum time for all processing (ms)"; + } + leaf avg-total-time { + type uint32; + description + "Average time for all processing (ms)"; + } + leaf total-other-errors { + type uint32; + description + "Total number of errors"; + } + leaf total-on-data-instances { + type uint32; + description + "Total number of no data instances"; + } + leaf total-not-ready { + type uint32; + description + "Total number skipped (not ready)"; + } + leaf total-send-errors { + type uint32; + description + "Total number of send errors"; + } + leaf total-send-drops { + type uint32; + description + "Total number of send drops"; + } + leaf strict-timer { + type boolean; + description + "Set if strict timer is ON"; + } + leaf heartbeat-interval { + type uint32; + description + "Heartbeat interval (ms)"; + } + leaf heartbeat-always { + type boolean; + description + "Send heartbeat even if events have occurred + within interval"; + } + leaf incremental-updates { + type boolean; + description + "True if path supports incremental push updates"; + } + leaf total-incremental-updates { + type uint64; + description + "Count of incremental updates"; + } + list collection-path { + description + "Array of information for sensor paths within + collection group"; + uses MDT-SENSOR-PATHS; + } + list internal-collection-group { + description + "Array of information for sysdb paths within + collection group"; + uses MDT-COLLECTION-SYSDB-GROUP; + } + } + + grouping MDT-COLLECTION-DETAIL { + description + "Per Destination jobs information"; + leaf subscription-id { + type uint64; + description + "Subscription ID"; + } + leaf sysdb-path { + type string; + description + "SysDB path of the sensor path"; + } + leaf in-progress { + type boolean; + description + "True if collection is in progress"; + } + leaf create-time { + type string; + description + "Collection request time, format 1985-04-12 23:20 + :50.254143 -0700"; + } + leaf start-time { + type string; + description + "Collection start time, format 1985-04-12 23:20 + :50.254143 -0700"; + } + leaf completion-time { + type string; + description + "Collection finish time, format 1985-04-12 23:20 + :50.254143 -0700"; + } + leaf token-receive-time { + type string; + description + "Last time when tokens were received, format + 1985-04-12 23:20:50.254143 -0700"; + } + leaf last-packet-send-time { + type string; + description + "Last time a packet was sent, format + 1985-04-12 23:20:50.254143 -0700"; + } + } + + grouping MDT-DESTINATION-IP-ADDRESS { + description + "MDT DESTINATION IP ADDRESS"; + leaf ip-type { + type Mdt-ip; + description + "IPType"; + } + leaf ipv4-address { + when "../ip-type = 'ipv4'" { + description + "../IPType = 'IPV4'"; + } + type inet:ipv4-address; + description + "IPV4 Address"; + } + leaf ipv6-address { + when "../ip-type = 'ipv6'" { + description + "../IPType = 'IPV6'"; + } + type Mdt-in6-addr; + description + "IPV6 Address"; + } + } + + grouping MDT-DESTINATION { + description + "Per Destination information"; + container dest-ip-address { + description + "Destination IP Address"; + uses MDT-DESTINATION-IP-ADDRESS; + } + leaf id { + type string; + description + "Destination Id"; + } + leaf sub-id-str { + type string; + description + "Sub Idstr"; + } + leaf dest-port { + type uint16; + description + "Destination Port number"; + } + leaf encoding { + type Mdt-encoding-enum; + description + "Destination group encoding"; + } + leaf transport { + type Mdt-transport-enum; + description + "Destination group transport"; + } + leaf vrf { + type string; + description + "Destination group vrf"; + } + leaf vrf-id { + type uint32; + description + "Destination group vrf id"; + } + leaf state { + type Mdt-dest-state-enum; + description + "State of streaming on this destination"; + } + leaf udp-mtu { + type uint32; + description + "UDP MTU if this destination is UDP"; + } + leaf tls { + type uint32; + description + "TLS connection to this destination"; + } + leaf tls-host { + type string; + description + "TLS Hostname of this destination"; + } + leaf total-num-of-packets-sent { + type uint64; + description + "Total number of packets sent for this + destination"; + } + leaf total-num-of-bytes-sent { + type uint64; + units "byte"; + description + "Total number of bytes sent for this destination"; + } + leaf last-collection-time { + type uint64; + description + "Timestamp of the last collection"; + } + leaf dscp { + type uint32; + description + "DSCP setting for this destination"; + } + leaf maximum-tokens { + type uint32; + description + "Maximum number of tokens"; + } + leaf token-processed-time { + type string; + description + "Last token processed time, format 1985-04-12 23 + :20:50.521256 -0700"; + } + leaf cadence-tokens { + type uint32; + description + "Number of available cadence tokens"; + } + leaf cadence-token-advertised-time { + type string; + description + "Last cadence token advertisement time, format + 1985-04-12 23:20:50.254143 -0700"; + } + leaf event-tokens { + type uint32; + description + "Number of available event tokens"; + } + leaf event-token-advertised-time { + type string; + description + "Last event token advertisement time, format + 1985-04-12 23:20:50.254143 -0700"; + } + leaf pending-queue-size { + type uint32; + description + "Number of messages in pending queue"; + } + leaf gnmi-sync-response-time { + type string; + description + "GNMI initial synchronization message time, + format 1985-04-12 23:20:50.254143 + -0700"; + } + leaf pending-events { + type uint32; + description + "Number of events pending to be processed"; + } + leaf processed-events { + type uint64; + description + "Number of events processed"; + } + leaf collection-tokens { + type uint32; + description + "Number of collection tokens"; + } + leaf compression { + type Mdt-compression; + description + "Compression algorithm in use"; + } + leaf pending-queue-memory-size { + type uint32; + units "byte"; + description + "Total memory size in bytes of all messages in + pending queue"; + } + list collection-detail { + description + "Collection details for this destination"; + uses MDT-COLLECTION-DETAIL; + } + } + + grouping MDT-DESTINATION-DETAIL { + description + "Per Destination detail information"; + container destination { + description + "Destination"; + uses MDT-DESTINATION; + } + list collection-group { + description + "List of collection groups for this destination + group"; + uses MDT-COLLECTION-GROUP; + } + } + + grouping MDT-DESTINATION-GROUP-DETAIL { + description + "Per Destination Group detail information"; + leaf id { + type string; + description + "Destination Group name"; + } + leaf configured { + type uint32; + description + "Set if this is configured destination group"; + } + list destination { + description + "list of destinations defined in this group"; + uses MDT-DESTINATION-DETAIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper.yang new file mode 100644 index 000000000..ac5429273 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-telemetry-model-driven-oper.yang @@ -0,0 +1,174 @@ +module Cisco-IOS-XR-telemetry-model-driven-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-telemetry-model-driven-oper"; + prefix telemetry-model-driven-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-telemetry-model-driven-oper-sub2 { + revision-date 2021-09-13; + } + include Cisco-IOS-XR-telemetry-model-driven-oper-sub1 { + revision-date 2021-09-13; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR telemetry-model-driven package operational data. + + This module contains definitions + for the following management objects: + telemetry-model-driven: Telemetry operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-13 { + description + "Added pending message memory size to destination endpoint"; + semver:module-version "1.3.0"; + } + revision 2020-10-30 { + description + "Keys for sensor-paths IosSetYangSchemaRev Cisco-IOS-XR-telemetry-model-driven-oper"; + semver:module-version "1.2.0"; + } + revision 2020-03-11 { + description + "Updated the encodings supported + 2020-01-30 + Added compression leaf to destination container + 2020-01-10 + GRPC channel statistics added + 2019-09-25 + Added minimum-cadence and cadence-factor options for target defined mode"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-27 { + description + "Summary container added"; + } + revision 2017-05-05 { + description + "Modified the type for the state variables"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2017-02-09 { + description + "Added DSCP"; + } + revision 2017-01-30 { + description + "Initial 6.2.1 revision"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container telemetry-model-driven { + config false; + description + "Telemetry operational data"; + container destinations { + description + "Telemetry Destinations"; + list destination { + key "destination-id"; + description + "Telemetry Destination"; + leaf destination-id { + type xr:Cisco-ios-xr-string; + description + "Id of the destination"; + } + uses MDT-DESTINATION-GROUP-DETAIL; + } + } + container subscriptions { + description + "Telemetry Subscriptions"; + list subscription { + key "subscription-id"; + description + "Telemetry Subscription"; + leaf subscription-id { + type xr:Cisco-ios-xr-string; + description + "Id of the subscription"; + } + uses MDT-SUBSCRIPTION-DETAILS; + } + } + container channel-statistics { + description + "GRPC channel statistics"; + list channel-statistic { + description + "GRPC channel details"; + leaf subscription-id { + type xr:Cisco-ios-xr-string; + description + "Id of the subscription"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination IP address"; + } + leaf destination-port { + type xr:Cisco-ios-xr-port-number; + description + "Destination port number"; + } + uses MDT-DESTINATION-CHAN-STATS; + } + } + container sensor-groups { + description + "Telemetry Sensor Groups"; + list sensor-group { + key "sensor-group-id"; + description + "Telemetry Sensor Groups"; + leaf sensor-group-id { + type xr:Cisco-ios-xr-string; + description + "Id of the sensor group"; + } + uses MDT-SENSOR-GROUP; + } + } + container summary { + description + "Telemetry Summary info"; + uses TELEMETRY-SHOW-SUMMARY; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-cfg.yang new file mode 100644 index 000000000..49587e85c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-cfg.yang @@ -0,0 +1,759 @@ +module Cisco-IOS-XR-terminal-device-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-terminal-device-cfg"; + prefix terminal-device-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR terminal-device package configuration. + + This module contains definitions + for the following management objects: + transceivers: Transceivers in mxp + logical-channels: Logical channel in mxp + optical-channels: Optical Channel + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-22 { + description + "Interface name support added"; + semver:module-version "2.0.1m"; + } + revision 2021-05-20 { + description + "Oduflex support for CBR and GFP added"; + semver:module-version "2.0.0"; + } + revision 2020-05-20 { + description + "Logical channel index changed from 65536 to 100000 + 2020-03-05 + Ethernet client-als,als-delay and fec-mode support added"; + semver:module-version "1.2.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Logical-channel-otn-tti-auto { + type enumeration { + enum "false" { + value 0; + description + "Otn tti auto mode false"; + } + enum "true" { + value 1; + description + "Otn tti auto mode true"; + } + } + description + "Logical channel otn tti auto"; + } + + typedef Logical-admin-state { + type enumeration { + enum "enable" { + value 1; + description + "Enable"; + } + enum "disable" { + value 2; + description + "Disable"; + } + enum "maintenance" { + value 3; + description + "Maintenance"; + } + } + description + "Logical admin state"; + } + + typedef Logical-loopback-mode { + type enumeration { + enum "none" { + value 0; + description + "None"; + } + enum "facility" { + value 1; + description + "Facility"; + } + enum "terminal" { + value 2; + description + "Terminal"; + } + } + description + "Logical loopback mode"; + } + + typedef Logical-trib-rate { + type enumeration { + enum "trib-rate1g" { + value 1; + description + "TribRate1G"; + } + enum "trib-rate2-5g" { + value 2; + description + "TribRate25G"; + } + enum "trib-rate10g" { + value 3; + description + "TribRate10G"; + } + enum "trib-rate40g" { + value 4; + description + "TribRate40G"; + } + enum "trib-rate100g" { + value 5; + description + "TribRate100G"; + } + enum "trib-rate150g" { + value 6; + description + "TribRate150G"; + } + enum "trib-rate200g" { + value 7; + description + "TribRate200G"; + } + enum "trib-rate250g" { + value 8; + description + "TribRate250G"; + } + enum "trib-rate300g" { + value 9; + description + "TribRate300G"; + } + enum "trib-rate400g" { + value 10; + description + "TribRate400G"; + } + enum "trib-rate500g" { + value 11; + description + "TribRate500G"; + } + enum "trib-rate600g" { + value 12; + description + "TribRate600G"; + } + enum "trib-rate700g" { + value 13; + description + "TribRate700G"; + } + enum "trib-rate800g" { + value 14; + description + "TribRate800G"; + } + enum "trib-rate900g" { + value 15; + description + "TribRate900G"; + } + enum "trib-rate1000g" { + value 16; + description + "TribRate1000G"; + } + enum "trib-rate1100g" { + value 17; + description + "TribRate1100G"; + } + } + description + "Logical trib rate"; + } + + typedef Logical-trib-protocol { + type enumeration { + enum "trib-proto-type1ge" { + value 1; + description + "1G Ethernet protocol"; + } + enum "trib-proto-type-oc48" { + value 2; + description + "OC48 protocol"; + } + enum "trib-proto-type-stm16" { + value 3; + description + "STM 16 protocol"; + } + enum "trib-proto-type10gelan" { + value 4; + description + "10G Ethernet LAN protocol"; + } + enum "trib-proto-type10gewan" { + value 5; + description + "10G Ethernet WAN protocol"; + } + enum "trib-proto-type-oc192" { + value 6; + description + "OC 192 (9.6GB) port protocol"; + } + enum "trib-proto-type-stm64" { + value 7; + description + "STM 64 protocol"; + } + enum "trib-proto-type-otu2" { + value 8; + description + "OTU 2 protocol"; + } + enum "trib-proto-type-otu2e" { + value 9; + description + "OTU 2e protocol"; + } + enum "trib-proto-type-otu1e" { + value 10; + description + "OTU 1e protocol"; + } + enum "trib-proto-type-odu2" { + value 11; + description + "ODU 2 protocol"; + } + enum "trib-proto-type-odu2e" { + value 12; + description + "ODU 2e protocol"; + } + enum "trib-proto-type40ge" { + value 13; + description + "40G Ethernet port protocol"; + } + enum "trib-proto-type-oc768" { + value 14; + description + "OC 768 protocol"; + } + enum "trib-proto-type-stm256" { + value 15; + description + "STM 256 protocol"; + } + enum "trib-proto-type-otu3" { + value 16; + description + "OTU 3 protocol"; + } + enum "trib-proto-type-odu3" { + value 17; + description + "ODU 3 protocol"; + } + enum "trib-proto-type100ge" { + value 18; + description + "100G Ethernet protocol"; + } + enum "trib-proto-type100g-mlg" { + value 19; + description + "100G MLG protocol"; + } + enum "trib-proto-type-otu4" { + value 20; + description + "OTU4 signal protocol (112G) for transporting + 100GE signal"; + } + enum "trib-proto-type-otu-cn" { + value 21; + description + "OTU Cn protocol"; + } + enum "trib-proto-type-odu4" { + value 22; + description + "ODU 4 protocol"; + } + enum "trib-proto-type-odu-cn" { + value 23; + description + "ODU Cn protocol"; + } + enum "trib-proto-type-oduflex-cbr" { + value 24; + description + "ODU FLEX CBR protocol"; + } + enum "trib-proto-type-oduflex-gfp" { + value 25; + description + "ODU FLEX GFP protocol"; + } + enum "trib-proto-type400ge" { + value 26; + description + "400G Ethernet protocol"; + } + } + description + "Logical trib protocol"; + } + + typedef Logical-channel-assignment { + type enumeration { + enum "type-logical-channel" { + value 1; + description + "Type Logical channel"; + } + enum "type-optical-channel" { + value 2; + description + "Type Optical channel"; + } + } + description + "Logical channel assignment"; + } + + typedef Logical-client-als { + type enumeration { + enum "none" { + value 0; + description + "NONE"; + } + enum "ethernet" { + value 1; + description + "ETHERNET"; + } + enum "laser-shutdown" { + value 2; + description + "LASER SHUTDOWN"; + } + } + description + "Logical client als"; + } + + typedef Logical-fec-mode { + type enumeration { + enum "fec-disabled" { + value 0; + description + "FEC DISABLED"; + } + enum "fec-enabled" { + value 1; + description + "FEC ENABLED"; + } + enum "fec-auto" { + value 2; + description + "FEC AUTO"; + } + } + description + "Logical fec mode"; + } + + typedef Logical-protocol { + type enumeration { + enum "type-ethernet" { + value 1; + description + "Type Ethernet"; + } + enum "type-otn" { + value 2; + description + "Type OTN"; + } + } + description + "Logical protocol"; + } + + container transceivers { + description + "Transceivers in mxp"; + list transceiver { + key "ifname"; + description + "Transceiver name"; + leaf fec-mode { + type Logical-fec-mode; + description + "Configure the fec-mode "; + } + leaf ifname { + type xr:Cisco-ios-xr-string; + description + "Transceiver Name"; + } + } + } + container logical-channels { + description + "Logical channel in mxp"; + list channel { + key "channel-index"; + description + "Logical channel index"; + container ethernet { + description + "Ethernet Related configs for Logical channel"; + leaf client-als { + type Logical-client-als; + description + "Configure the client-als"; + } + leaf als-delay { + type uint32; + description + "Configure the als-delay "; + } + } + container logical-channel-assignments { + description + "Logical channel assignment for logical channel"; + list logical-channel-assignment { + key "assignment-index"; + description + "Logical Channel Assignment id"; + leaf logical-channel-id { + type uint32 { + range "1..100000"; + } + description + "Configure logical channel for this assignment"; + } + leaf allocation { + type uint32; + description + "Configure Allocation for this assignment(10, + 40 or 100G)"; + } + leaf description { + type string { + length "1..255"; + } + description + "Configure description for this assignment"; + } + leaf optical-channel-id { + type string; + description + "Configure optical channel for this assignment"; + } + leaf assignment-type { + type Logical-channel-assignment; + description + "Type of assignment for logical channel"; + } + leaf assignment-index { + type uint32 { + range "1..100000"; + } + description + "Logical channel assignment index"; + } + } + } + container otn { + description + "Otn Related configs for Logical channel"; + leaf tti-msg-expected { + type string { + length "1..255"; + } + description + "Trail trace identifier (TTI) message + expectedTrail trace identifier (TTI) message + expected"; + } + leaf tti-msg-auto { + type Logical-channel-otn-tti-auto; + description + "Trail trace identifier (TTI) transmit message + automatically created. If True, then setting a + custom transmit message would be invalid. + Trail trace identifier (TTI) transmit message + automatically created."; + } + leaf tti-msg-transmit { + type string { + length "1..255"; + } + description + "Trail trace identifier (TTI) message + transmittedTrail trace identifier (TTI) + message transmitted"; + } + } + leaf trib-protocol { + type Logical-trib-protocol; + description + "Protocol framing of the tributary signal"; + } + leaf if-name { + type xr:Cisco-ios-xr-string { + length "1..255"; + } + description + "Description (Max 255 characters)"; + } + leaf ingress-client-port { + type xr:Interface-name; + description + "Configure ingress client port for this logical + channel"; + } + leaf loopback-mode { + type Logical-loopback-mode; + description + "Configure the loopback mode "; + } + leaf description { + type string { + length "1..255"; + } + description + "Description (Max 255 characters)"; + } + leaf ingress-physical-channel { + type uint32 { + range "1..4"; + } + description + "Configure ingress physical channel for this + logical channel"; + } + leaf rate-class { + type Logical-trib-rate; + description + "Rounded bit rate of the tributary signal"; + } + leaf admin-state { + type Logical-admin-state; + description + "Configure the admin-state "; + } + leaf logical-channel-type { + type Logical-protocol; + description + "Configure the logical-channel-type "; + } + leaf channel-index { + type uint32 { + range "1..100000"; + } + description + "Logical Channel Index"; + } + } + } + container optical-channels { + description + "Optical Channel"; + list optical-channel { + key "ifname"; + description + "Optical Channel index"; + leaf enh-colorless-mode { + type uint32 { + range "1..3"; + } + description + "Select enhanced colorless mode"; + } + leaf cd-min { + type int32 { + range "-350000..350000"; + } + description + "Select min chromatic dispersion (in units of + ps/nm)"; + } + leaf power { + type int32 { + range "-1900..500"; + } + description + "Select power level (in units of 0.01dBm)"; + } + leaf cross-pol-gain-mode { + type uint32 { + range "1..15"; + } + description + "Select carrier phase recovery cross + polarization gain mode"; + } + leaf operational-mode { + type uint32 { + range "1..65536"; + } + description + "Configure operational mode"; + } + leaf cpr-ext-win-mode { + type uint32 { + range "1..9"; + } + description + "Select carrier phase recovery extended window + mode"; + } + leaf enh-sop-tol-mode { + type uint32 { + range "1..3"; + } + description + "Select enhanced SOP tolerance mode"; + } + leaf line-port { + type xr:Interface-name; + description + "Specify R/S/I/P"; + } + leaf rx-voa-fixed-ratio { + type int32 { + range "-100..1700"; + } + description + "Receive Ratio of Optical Attenuation in 0.01 + db"; + } + leaf frequency { + type uint32 { + range "186100000..196137500"; + } + description + "Configure optical channel frequency in Mhz"; + } + leaf cd-low-threshold { + type int32 { + range "-350000..350000"; + } + description + "Select chromatic dispersion low threshold(in + units of ps/nm)"; + } + leaf filter-roll-off-factor { + type string { + length "5"; + } + description + "RRC Filter Roll-Off factor in increments of 0. + 001"; + } + leaf cpr-win-mode { + type uint32 { + range "1..4"; + } + description + "Select carrier phase recovery window mode"; + } + leaf rx-voa-target-power { + type int32 { + range "-190..30"; + } + description + "Rx-voa Target Power configuration"; + } + leaf nleq-comp-mode { + type uint32 { + range "1..4"; + } + description + "Select non linear effect compenstation mode"; + } + leaf cross-pol-weight-mode { + type uint32 { + range "1..7"; + } + description + "Select carrier phase recovery cross + polarization weight mode"; + } + leaf cd-high-threshold { + type int32 { + range "-350000..350000"; + } + description + "Select chromatic dispersion high threshold(in + units of ps/nm)"; + } + leaf cd-max { + type int32 { + range "-350000..350000"; + } + description + "Select max chromatic dispersion (in units of + ps/nm)"; + } + leaf ifname { + type xr:Cisco-ios-xr-string; + description + "Optical Channel Name"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper-sub1.yang new file mode 100644 index 000000000..7513f2c09 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper-sub1.yang @@ -0,0 +1,820 @@ +submodule Cisco-IOS-XR-terminal-device-oper-sub1 { + belongs-to Cisco-IOS-XR-terminal-device-oper { + prefix Cisco-IOS-XR-terminal-device-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR terminal-device package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-20 { + description + "leaf fec, baut rate and oper-mode has been updated"; + semver:module-version "2.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Oc-mod-type-et { + type enumeration { + enum "mod-none" { + value 0; + description + "Unknown Modulation"; + } + enum "mod-bpsk" { + value 1; + description + "BPSK Modulation"; + } + enum "mod-qpsk" { + value 2; + description + "QPSK Modulation"; + } + enum "mod8qam" { + value 3; + description + "8QAM Modulation"; + } + enum "mod16qam" { + value 4; + description + "16QAM Modulation"; + } + enum "mod32qam" { + value 5; + description + "32QAM Modulation"; + } + enum "mod64qam" { + value 6; + description + "64QAM Modulation"; + } + enum "mod-eqpsk" { + value 7; + description + "EQPSK Modulation"; + } + } + description + "Oc mod type et"; + } + + typedef Fec { + type enumeration { + enum "fec-none" { + value 0; + description + "Unknown FEC"; + } + enum "fec-statndard" { + value 1; + description + "Standard FEC"; + } + enum "fec-otu1-i-7" { + value 2; + description + "OTU 1 I 7"; + } + enum "fec-otu1-i-4" { + value 3; + description + "OTU 1 I 4"; + } + enum "fec-swizzle" { + value 4; + description + "FEC SWIZZLE"; + } + enum "fec-hg20" { + value 5; + description + "FEC HG20"; + } + enum "fec-enhanced-hg7" { + value 6; + description + "FEC ENHANCED HG7"; + } + enum "fec-sd20" { + value 7; + description + "FEC SD20"; + } + enum "fec-sd7" { + value 8; + description + "FEC SD7"; + } + enum "fec-sd15" { + value 9; + description + "FEC SD15"; + } + enum "fec-sd27" { + value 10; + description + "FEC SD27"; + } + enum "fec-cfec" { + value 11; + description + "FEC CFEC"; + } + enum "fec-ofec" { + value 12; + description + "FEC OFEC"; + } + } + description + "Fec"; + } + + typedef Client-als { + type enumeration { + enum "none" { + value 0; + description + "none"; + } + enum "ethernet" { + value 1; + description + "ethernet"; + } + enum "laser-shutdown" { + value 2; + description + "laser shutdown"; + } + } + description + "Client als"; + } + + typedef Logical-protocol { + type enumeration { + enum "proto-type-unknown" { + value 0; + description + "Unknown protocol framing"; + } + enum "proto-type-ethernet" { + value 1; + description + "Ethernet protocol framing"; + } + enum "proto-type-otn" { + value 2; + description + "OTN protocol framing"; + } + } + description + "Logical protocol"; + } + + typedef Trib-protocol { + type enumeration { + enum "trib-proto-type-unknown" { + value 0; + description + "Unknown protocol"; + } + enum "trib-proto-type1ge" { + value 1; + description + "1G Ethernet protocol"; + } + enum "trib-proto-type-oc48" { + value 2; + description + "OC48 protocol"; + } + enum "trib-proto-type-stm16" { + value 3; + description + "STM 16 protocol"; + } + enum "trib-proto-type10gelan" { + value 4; + description + "10G Ethernet LAN protocol"; + } + enum "trib-proto-type10gewan" { + value 5; + description + "10G Ethernet WAN protocol"; + } + enum "trib-proto-type-oc192" { + value 6; + description + "OC 192 (9.6GB) port protocol"; + } + enum "trib-proto-type-stm64" { + value 7; + description + "STM 64 protocol"; + } + enum "trib-proto-type-otu2" { + value 8; + description + "OTU 2 protocol"; + } + enum "trib-proto-type-otu2e" { + value 9; + description + "OTU 2e protocol"; + } + enum "trib-proto-type-otu1e" { + value 10; + description + "OTU 1e protocol"; + } + enum "trib-proto-type-odu2" { + value 11; + description + "ODU 2 protocol"; + } + enum "trib-proto-type-odu2e" { + value 12; + description + "ODU 2e protocol"; + } + enum "trib-proto-type40ge" { + value 13; + description + "40G Ethernet port protocol"; + } + enum "trib-proto-type-oc768" { + value 14; + description + "OC 768 protocol"; + } + enum "trib-proto-type-stm256" { + value 15; + description + "STM 256 protocol"; + } + enum "trib-proto-type-otu3" { + value 16; + description + "OTU 3 protocol"; + } + enum "trib-proto-type-odu3" { + value 17; + description + "ODU 3 protocol"; + } + enum "trib-proto-type100ge" { + value 18; + description + "100G Ethernet protocol"; + } + enum "trib-proto-type100g-mlg" { + value 19; + description + "100G MLG protocol"; + } + enum "trib-proto-type-otu4" { + value 20; + description + "OTU4 signal protocol (112G) for transporting + 100GE signal"; + } + enum "trib-proto-type-otu-cn" { + value 21; + description + "OTU Cn protocol"; + } + enum "trib-proto-type-odu4" { + value 22; + description + "ODU 4 protocol"; + } + enum "trib-proto-type-odu-cn" { + value 23; + description + "ODU Cn protocol"; + } + enum "trib-proto-type-oduflexcbr" { + value 24; + description + "ODU Flex CBR protocol"; + } + enum "trib-proto-type-oduflexgfp" { + value 25; + description + "ODU Flex GFP protocol"; + } + enum "trib-proto-type400ge" { + value 26; + description + "400G Ethernet protocol"; + } + } + description + "Trib protocol"; + } + + typedef Trib-rate-class { + type enumeration { + enum "trib-rate-unknown" { + value 0; + description + "Unknown tributary signal rate"; + } + enum "trib-rate1g" { + value 1; + description + "1G tributary signal rate"; + } + enum "trib-rate25g" { + value 2; + description + "2.5G tributary signal rate"; + } + enum "trib-rate10g" { + value 3; + description + "10G tributary signal rate"; + } + enum "trib-rate40g" { + value 4; + description + "40G tributary signal rate"; + } + enum "trib-rate100g" { + value 5; + description + "100G tributary signal rate"; + } + enum "trib-rate150g" { + value 6; + description + "150G tributary signal rate"; + } + enum "trib-rate200g" { + value 7; + description + "200G tributary signal rate"; + } + enum "trib-rate250g" { + value 8; + description + "250G tributary signal rate"; + } + enum "trib-rate300g" { + value 9; + description + "300G tributary signal rate"; + } + enum "trib-rate400g" { + value 10; + description + "400G tributary signal rate"; + } + enum "trib-rate500g" { + value 11; + description + "500G tributary signal rate"; + } + enum "trib-rate600g" { + value 12; + description + "600G tributary signal rate"; + } + enum "trib-rate700g" { + value 13; + description + "700G tributary signal rate"; + } + enum "trib-rate800g" { + value 14; + description + "800G tributary signal rate"; + } + enum "trib-rate900g" { + value 15; + description + "900G tributary signal rate"; + } + enum "trib-rate1000g" { + value 16; + description + "1000G tributary signal rate"; + } + enum "trib-rate1100g" { + value 17; + description + "1100G tributary signal rate"; + } + } + description + "Trib rate class"; + } + + grouping OPERATIONAL-MODE-ATTRIBUTES { + description + "OPERATIONAL MODE ATTRIBUTES"; + leaf fec { + type Fec; + description + "Fec"; + } + leaf description { + type string { + length "0..128"; + } + description + "Description"; + } + leaf vendor-id { + type string { + length "0..64"; + } + description + "VendorId"; + } + leaf baud-rate { + type string { + length "0..128"; + } + description + "BaudRate"; + } + leaf modulation { + type Oc-mod-type-et; + description + "Modulation"; + } + leaf dac-rate { + type string; + description + "DacRate"; + } + } + + grouping OPTICAL-CHANNEL-ATTRIBUTES { + description + "OPTICAL CHANNEL ATTRIBUTES"; + leaf name { + type string { + length "0..128"; + } + description + "Name"; + } + leaf index { + type uint32; + description + "Index"; + } + leaf frequency { + type uint64; + description + "Frequency"; + } + leaf power { + type uint64; + description + "Power"; + } + leaf oper-mode { + type uint16; + description + "OperMode"; + } + leaf filter-roll-off-factor { + type string { + length "0..256"; + } + description + "FilterRollOffFactor"; + } + leaf enh-colorless-mode { + type uint32; + description + "EnhColorlessMode"; + } + leaf enh-sop-tol-mode { + type uint32; + description + "EnhSopTolMode"; + } + leaf nleq-comp-mode { + type uint32; + description + "NleqCompMode"; + } + leaf cross-pol-gain-mode { + type uint32; + description + "CrossPolGainMode"; + } + leaf cross-pol-weight-mode { + type uint32; + description + "CrossPolWeightMode"; + } + leaf cpr-win-mode { + type uint32; + description + "CprWinMode"; + } + leaf cpr-ext-win-mode { + type uint32; + description + "CprExtWinMode"; + } + leaf cd-max { + type int32; + description + "CDMax"; + } + leaf cd-min { + type int32; + description + "CDMin"; + } + leaf cd-high-threshold { + type int32; + description + "CDHighThreshold"; + } + leaf cd-low-threshold { + type int32; + description + "CDLowThreshold"; + } + leaf rx-voa-fixed-ratio { + type int32; + description + "RxVoaFixedRatio"; + } + leaf rx-voa-target-power { + type int32; + description + "RxVoaTargetPower"; + } + leaf line-port { + type string { + length "0..128"; + } + description + "LinePort"; + } + } + + grouping GRAPH-STRUCTURE-PATH { + description + "GRAPH STRUCTURE PATH"; + leaf path { + type string { + length "0..256"; + } + description + "Path"; + } + } + + grouping ADJACENCY-LIST-PATH { + description + "ADJACENCY LIST PATH"; + leaf path { + type string { + length "0..256"; + } + description + "Path"; + } + } + + grouping PARTIAL-CONFIG-STATUS { + description + "PARTIAL CONFIG STATUS"; + leaf partial-config { + type uint8; + description + "PartialConfig"; + } + } + + grouping SLICE-CONFIG-STATUS-ATTRIBUTES { + description + "SLICE CONFIG STATUS ATTRIBUTES"; + leaf slice { + type uint8; + description + "Slice"; + } + leaf prov-status { + type string { + length "0..32"; + } + description + "ProvStatus"; + } + leaf present-config { + type string { + length "0..32"; + } + description + "PresentConfig"; + } + leaf present-timestamp { + type string { + length "0..32"; + } + description + "PresentTimestamp"; + } + leaf past-config { + type string { + length "0..32"; + } + description + "PastConfig"; + } + leaf past-timestamp { + type string { + length "0..32"; + } + description + "PastTimestamp"; + } + leaf err-str { + type string { + length "0..1024"; + } + description + "ErrStr"; + } + leaf err-timestamp { + type string { + length "0..32"; + } + description + "ErrTimestamp"; + } + } + + grouping LOGICAL-CHANNEL-ATTRIBUTES { + description + "LOGICAL CHANNEL ATTRIBUTES"; + leaf logical-channel-index { + type uint32; + description + "LogicalChannelIndex"; + } + leaf logical-channel-ifname { + type string { + length "0..128"; + } + description + "LogicalChannelIfname"; + } + leaf type { + type string { + length "0..32"; + } + description + "Type"; + } + leaf trib-rate-class { + type Trib-rate-class; + description + "TribRateClass"; + } + leaf trib-protocol { + type Trib-protocol; + description + "TribProtocol"; + } + leaf protocol-type { + type Logical-protocol; + description + "ProtocolType"; + } + leaf admin-state { + type uint32; + description + "AdminState"; + } + leaf loopback-mode { + type uint32; + description + "LoopbackMode"; + } + leaf ingress-client-port { + type string { + length "0..128"; + } + description + "IngressClientPort"; + } + leaf ingress-physical-channel { + type uint32; + description + "IngressPhysicalChannel"; + } + leaf tti-transmit { + type string { + length "0..256"; + } + description + "TtiTransmit"; + } + leaf tti-expected { + type string { + length "0..256"; + } + description + "TtiExpected"; + } + leaf client-als { + type Client-als; + description + "ClientAls"; + } + leaf als-delay { + type uint32; + description + "AlsDelay"; + } + } + + grouping LOGICAL-CHANNEL-ASSIGNMENT { + description + "LOGICAL CHANNEL ASSIGNMENT"; + leaf index { + type uint32; + description + "Index"; + } + leaf name { + type string { + length "0..128"; + } + description + "Name"; + } + leaf is-logical-link { + type boolean; + description + "IsLogicalLink"; + } + leaf logical-channel { + type uint32; + description + "LogicalChannel"; + } + leaf optical-channel { + type string { + length "0..128"; + } + description + "OpticalChannel"; + } + leaf allocation { + type uint32; + description + "Allocation"; + } + leaf assignment-type { + type uint32; + description + "AssignmentType"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper.yang new file mode 100644 index 000000000..8937c19a4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-terminal-device-oper.yang @@ -0,0 +1,190 @@ +module Cisco-IOS-XR-terminal-device-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-terminal-device-oper"; + prefix terminal-device-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-terminal-device-oper-sub1 { + revision-date 2020-05-20; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR terminal-device package operational data. + + This module contains definitions + for the following management objects: + optical-interface: System-wide view of interface operational + data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-20 { + description + "leaf fec, baut rate and oper-mode has been updated"; + semver:module-version "2.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container optical-interface { + config false; + description + "System-wide view of interface operational data"; + container optical-logical-interfaces { + description + "The operational attributes for a logical channel"; + list optical-logical-interface { + key "index"; + description + "The operational attributes for a logical + channel"; + container optical-logical-interface-logical-channel-assignments { + description + "The operational attributes for a particular + interface"; + list optical-logical-interface-logical-channel-assignment { + key "index"; + description + "The operational attributes for a logical + channel assignment"; + container optical-logical-interface-logical-channel-assignment-attr { + description + "The operational attributes for a logical + channel assignment"; + uses LOGICAL-CHANNEL-ASSIGNMENT; + } + leaf index { + type uint32; + description + "The index of the logical-channel"; + } + } + } + container optical-logical-interface-attr { + description + "The operational attributes for a particular + logical channel"; + uses LOGICAL-CHANNEL-ATTRIBUTES; + } + leaf index { + type uint32; + description + "The index of the logical-channel"; + } + } + } + container config-status { + description + "Table containing status information"; + container slice-tables { + description + "The container containing slice status + information"; + list slice-table { + key "index"; + description + "The table contains list of slices present"; + container slice-status-attr { + description + "The bag containing slice config status"; + uses SLICE-CONFIG-STATUS-ATTRIBUTES; + } + leaf index { + type uint32; + description + "The index of slice"; + } + } + } + container partial-config { + description + "The bag containing partial config status"; + uses PARTIAL-CONFIG-STATUS; + } + } + container graph { + description + "Table containing Graph Structure and related + info"; + container adj-list-path { + description + "The path containg file which has adjacency list + stored"; + uses ADJACENCY-LIST-PATH; + } + container graph-structure-path { + description + "The path containg file which has graph + structure stored"; + uses GRAPH-STRUCTURE-PATH; + } + } + container optical-channel-interfaces { + description + "The operational attributes for a particular + optical channel"; + list optical-channel-interface { + key "location"; + description + "The operational attributes for an optical + channel"; + container optical-channel-interface-attr { + description + "The operational attributes for an optical + channel"; + uses OPTICAL-CHANNEL-ATTRIBUTES; + } + leaf location { + type xr:Cisco-ios-xr-string; + description + "The name of the optical-channel"; + } + } + } + container operational-modes { + description + "The Operational Mode Table"; + list operational-mode { + key "mode-id"; + description + "Mode supported on Device"; + container operational-mode-attributes { + description + "The operational attributes for mxp driver + fec-mode"; + uses OPERATIONAL-MODE-ATTRIBUTES; + } + leaf mode-id { + type uint32; + description + "Mode-id for supported mode on Device"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper-sub1.yang new file mode 100644 index 000000000..12f246607 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper-sub1.yang @@ -0,0 +1,5390 @@ +submodule Cisco-IOS-XR-test-ocni-isis-oper-sub1 { + belongs-to Cisco-IOS-XR-test-ocni-isis-oper { + prefix Cisco-IOS-XR-test-ocni-isis-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR test-ocni-isis package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Openconfig-isis-lsp-attributes-enum { + type enumeration { + enum "overload" { + value 0; + description + "When set, node is overloaded, still part of the + topology but cannot be used for transit."; + } + enum "attached" { + value 1; + description + "When set, node is attached to another area + using the referred metric and can be used as + default gateway."; + } + } + description + "Openconfig isis lsp attributes enum"; + } + + typedef Openconfig-isis-lsp-nlpid-enum { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4 Address family."; + } + enum "ipv6" { + value 1; + description + "IPv6 Address family."; + } + } + description + "Openconfig isis lsp nlpid enum"; + } + + typedef Openconfig-isis-lsp-state-flags-enum { + type enumeration { + enum "numbered" { + value 0; + description + "When set, the interface is numbered, whereas if + unset indicates that the interface is + unnumbered."; + } + } + description + "Openconfig isis lsp state flags enum"; + } + + typedef Openconfig-isis-lsp-isis-metric-flags-enum { + type enumeration { + enum "internal" { + value 0; + description + "When this flag is not set, internal metrics are + in use."; + } + enum "unsupported" { + value 1; + description + "When this flag (referred to as the S-bit) is + set, then the metric is unsupported."; + } + } + description + "Openconfig isis lsp isis metric flags enum"; + } + + typedef Openconfig-isis-lsp-default-metric-state-flags-enum { + type enumeration { + enum "internal" { + value 0; + description + "When set to zero, indicates internal metrics."; + } + } + description + "Openconfig isis lsp default metric state flags + enum"; + } + + typedef Openconfig-isis-lsp-ipv6-srlg-state-flags-enum { + type enumeration { + enum "na" { + value 0; + description + "When set, the IPv6 neighbour address is + included, whereas if unset, it is omitted"; + } + } + description + "Openconfig isis lsp ipv6 srlg state flags enum"; + } + + typedef Openconfig-isis-lsp-lan-adjacency-sid-state-flags-enum { + type enumeration { + enum "address-family" { + value 0; + description + "Address-family flag. When unset, the Adj-SID + refers to an adjacency with outgoing IPv4 + encapsulation. If set then the Adj-SID refers + to an adjacency with outgoing IPv6 + encapsulation."; + } + enum "backup" { + value 1; + description + "Backup flag. When set, the Adj-SID refers to an + adjacency being protected (e.g.: using IPFRR or + MPLS-FRR)."; + } + enum "value" { + value 2; + description + "Value flag. When set, the SID carries a value + (instead of an index). By default the flag is + SET."; + } + enum "local" { + value 3; + description + "Local flag. When set, the value/index carried + by the SID has local significance. By default + the flag is SET."; + } + enum "set" { + value 4; + description + "Set flag. When set, the S-Flag indicates that + the Adj-SID refers to a set of adjacencies."; + } + } + description + "Openconfig isis lsp lan adjacency sid state flags + enum"; + } + + typedef Openconfig-isis-lsp-adjacency-sid-state-flags-enum { + type enumeration { + enum "address-family" { + value 0; + description + "Address-family flag. When unset, the Adj-SID + refers to an adjacency with outgoing IPv4 + encapsulation. If set then the Adj-SID refers + to an adjacency with outgoing IPv6 + encapsulation."; + } + enum "backup" { + value 1; + description + "Backup flag. When set, the Adj-SID refers to an + adjacency being protected (e.g.: using IPFRR or + MPLS-FRR)."; + } + enum "value" { + value 2; + description + "Value flag. When set, the SID carries a value + (instead of an index). By default the flag is + SET."; + } + enum "local" { + value 3; + description + "Local flag. When set, the value/index carried + by the SID has local significance. By default + the flag is SET."; + } + enum "set" { + value 4; + description + "Set flag. When set, the S-Flag indicates that + the Adj-SID refers to a set of adjacencies."; + } + } + description + "Openconfig isis lsp adjacency sid state flags + enum"; + } + + typedef Openconfig-isis-lsp-flags-state-flags-enum { + type enumeration { + enum "external-flag" { + value 0; + description + "External prefix flag. Set if the prefix has + been redistributed from another protocol. This + includes the case where multiple virtual + routers are supported and the source of the + redistributed prefix is another IS-IS instance."; + } + enum "readvertisement-flag" { + value 1; + description + "Readvertisement flag. Set when the prefix has + been leaked from one level to another (upwards + or downwards)."; + } + enum "node-flag" { + value 2; + description + "Node flag. Set when the prefix identifies the + advertising router, i.e., the prefix is a host + prefix advertising a globally reachable + address typically associated with a loopback + address."; + } + } + description + "Openconfig isis lsp flags state flags enum"; + } + + typedef Openconfig-isis-lsp-prefix-sid-state-flags-enum { + type enumeration { + enum "readvertisement" { + value 0; + description + "Readvertisment flag. When set, the prefix to + which this Prefix-SID is attached, has been + propagated by the router either from another + level or from redistribution."; + } + enum "node" { + value 1; + description + "Node flag. When set, the Prefix-SID refers to + the router identified by the prefix. Typically, + the N-Flag is set on Prefix-SIDs attached to a + router loopback address."; + } + enum "no-php" { + value 2; + description + "Penultimate-Hop-Popping flag. When set, then + the penultimate hop MUST NOT pop the Prefix-SID + before delivering the packet to the node that + advertised the Prefix-SID."; + } + enum "explicit-null" { + value 3; + description + "Explicit-Null flag. When set, any upstream + neighbor of the Prefix-SID originator MUST + replace the Prefix-SID with a Prefix-SID having + an Explicit-NULL value (0 for IPv4 and 2 for + IPv6) before forwarding the packet."; + } + enum "value" { + value 4; + description + "Value flag. When set, the Prefix-SID carries a + value (instead of an index). By default the + flag is UNSET."; + } + enum "local" { + value 5; + description + "Local flag. When set, the value/index carried + by the Prefix-SID has local significance. By + default the flag is UNSET."; + } + } + description + "Openconfig isis lsp prefix sid state flags enum"; + } + + typedef Openconfig-isis-lsp-segment-routing-capability-state-flags-enum { + type enumeration { + enum "ipv4-mpls" { + value 0; + description + "When set, the router is capable of processing + SR MPLS encapsulated IPv4 packets on all + interfaces."; + } + enum "ipv6-mpls" { + value 1; + description + "When set, the router is capable of processing + SR MPLS encapsulated IPv6 packets on all + interfaces."; + } + enum "ipv6-sr" { + value 2; + description + "When set, the router is capable of processing + the IPv6 Segment Routing Header on all + interfaces."; + } + } + description + "Openconfig isis lsp segment routing capability + state flags enum"; + } + + typedef Openconfig-isis-lsp-algorithm-enum { + type enumeration { + enum "spf" { + value 0; + description + "Shortest Path First (SPF) algorithm based on + link metric. This is the well-known shortest + path algorithm as computed by the IS-IS + Decision process. Consistent with the deployed + practice for link-state protocols, algorithm 0 + permits any node to overwrite the SPF path with + a different path based on local policy."; + } + enum "strict-spf" { + value 1; + description + "Strict Shortest Path First (SPF) algorithm + based on link metric. The algorithm is + identical to algorithm 0 but algorithm 1 + requires that all nodes along the path will + honor the SPF routing decision. Local policy + MUST NOT alter the forwarding decision computed + by algorithm 1 at the node claiming to support + algorithm 1."; + } + } + description + "Openconfig isis lsp algorithm enum"; + } + + typedef Openconfig-isis-lsp-capability-state-flags-enum { + type enumeration { + enum "flood" { + value 0; + description + "When the S bit is set(1), the IS - IS Router + CAPABILITY TLV MUST be flooded across the + entire routing domain. When the S bit is not + set(0), the TLV MUST NOT be leaked between + levels . This bit MUST NOT be altered during + the TLV leaking."; + } + enum "down" { + value 1; + description + "When the IS-IS Router CAPABILITY TLV is leaked + from level - 2 to level-1, the Down bit MUST be + set. Otherwise, this bit MUST be clear. IS - IS + Router capability TLVs with the Down bit set + MUST NOT be leaked from level - 1 to level-2. + This is to prevent TLV looping."; + } + } + description + "Openconfig isis lsp capability state flags enum"; + } + + typedef Openconfig-isis-lsp-crypto-type-enum { + type enumeration { + enum "hmac-md5" { + value 0; + description + "HMAC-MD5 Authentication type."; + } + enum "cleartext" { + value 1; + description + "Cleartext Authentication type."; + } + } + description + "Openconfig isis lsp crypto type enum"; + } + + typedef Openconfig-isis-lsp-flags-enum { + type enumeration { + enum "partition-repair" { + value 0; + description + "When set, the originator supports partition + repair."; + } + enum "attached-error" { + value 1; + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum "attached-expense" { + value 2; + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum "attached-delay" { + value 3; + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum "attached-default" { + value 4; + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum "overload" { + value 5; + description + "When set, the originator is overloaded, and + must be avoided in path calculation."; + } + } + description + "Openconfig isis lsp flags enum"; + } + + typedef Openconfig-isis-lsp-pdu-type-enum { + type enumeration { + enum "level1" { + value 0; + description + "This enum describes ISIS level 1 PDU."; + } + enum "level2" { + value 1; + description + "This enum describes ISIS level 2 PDU."; + } + } + description + "Openconfig isis lsp pdu type enum"; + } + + typedef Openconfig-isis-types-metric-style-enum { + type enumeration { + enum "narrow-metric" { + value 0; + description + "This enum describes narrow metric style"; + } + enum "wide-metric" { + value 1; + description + "This enum describes wide metric style"; + } + } + description + "Openconfig isis types metric style enum"; + } + + typedef Openconfig-isis-types-adaptive-timer-type-enum { + type enumeration { + enum "linear" { + value 0; + description + "This enum describes linear algorithm timer"; + } + enum "exponential" { + value 1; + description + "This enum describes exponential algorithm timer"; + } + } + description + "Openconfig isis types adaptive timer type enum"; + } + + typedef Openconfig-segment-routing-label-options-enum { + type enumeration { + enum "no-php" { + value 0; + description + "When this value is specified, the penultimate + hop must not pop the Prefix-SID label before + forwarding it to the local system."; + } + enum "explicit-null" { + value 1; + description + "When set, the penultimate hop must swap the + prefix SID for the relevant explicit null label + before forwarding the packet."; + } + } + description + "Openconfig segment routing label options enum"; + } + + typedef Openconfig-isis-adjacency-state-nlpid-enum { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4 Address family."; + } + enum "ipv6" { + value 1; + description + "IPv6 Address family."; + } + } + description + "Openconfig isis adjacency state nlpid enum"; + } + + typedef Openconfig-isis-types-isis-interface-adj-state-enum { + type enumeration { + enum "up" { + value 0; + description + "This state describes that adjacency is + established."; + } + enum "down" { + value 1; + description + "This state describes that adjacency is NOT + established."; + } + enum "init" { + value 2; + description + "This state describes that adjacency is + establishing."; + } + enum "failed" { + value 3; + description + "This state describes that adjacency is failed."; + } + } + description + "Openconfig isis types isis interface adj state + enum"; + } + + typedef Openconfig-isis-types-level-type-enum { + type enumeration { + enum "level1" { + value 0; + description + "This enum describes ISIS level 1"; + } + enum "level2" { + value 1; + description + "This enum describes ISIS level 2"; + } + enum "level12" { + value 2; + description + "This enum describes ISIS level 1-2"; + } + } + description + "Openconfig isis types level type enum"; + } + + typedef Yang2bag-ipv6-addr { + type inet:ipv6-address; + description + "Yang2bag ipv6 addr"; + } + + typedef Yang2bag-ipv4-addr { + type inet:ipv4-address; + description + "Yang2bag ipv4 addr"; + } + + typedef Openconfig-isis-types-circuit-type-enum { + type enumeration { + enum "point-to-point" { + value 0; + description + "This enum describes a point-to-point interface"; + } + enum "broadcast" { + value 1; + description + "This enum describes a broadcast interface"; + } + } + description + "Openconfig isis types circuit type enum"; + } + + typedef Openconfig-isis-types-hello-padding-type-enum { + type enumeration { + enum "strict" { + value 0; + description + "This enum describes strict padding"; + } + enum "loose" { + value 1; + description + "This enum describes loose padding"; + } + enum "adaptive" { + value 2; + description + "This enum describes adaptive padding"; + } + enum "disable" { + value 3; + description + "This enum disables padding"; + } + } + description + "Openconfig isis types hello padding type enum"; + } + + typedef Yang2bag-string { + type string; + description + "Yang2bag string"; + } + + grouping OVERLAY-OCNI-ISIS-STATE { + description + "Operational state parameters relating to a + network instance"; + leaf name { + type Yang2bag-string; + description + "An operator-assigned unique name for the + forwarding instance"; + } + leaf type { + type Yang2bag-string; + description + "The type of network instance"; + } + leaf enabled { + type boolean; + description + "Whether the network instance should be + configured to be active on the network element"; + } + leaf description { + type Yang2bag-string; + description + "A free-form string to be used by the network + operator to describe the function of this + network instance"; + } + } + + grouping MT-IPV6-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE { + description + "MT IPV6 REACHABILITY PREFIXES PREFIX UNDEFINED + SUBTLVS UNDEFINED SUBTLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-MT-IPV6-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV { + description + "Sub-TLVs that are not defined in the model or not + recognised by system"; + container state { + description + "State parameters of the undefined sub-TLV"; + uses MT-IPV6-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-MT-IPV6-REACHABILITY-PREFIXES-PREFIX-SUBTLVS-SUBTLV-STATE { + description + "State parameters for a prefix"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + } + + grouping PREFIX-SUBTLVS-SUBTLV-TAG-STATE { + description + "PREFIX SUBTLVS SUBTLV TAG STATE"; + leaf-list tag32 { + type uint32; + description + "List of 32-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-TAG { + description + "This container defines sub-TLV 1"; + container state { + description + "State parameters of sub-TLV 1"; + uses PREFIX-SUBTLVS-SUBTLV-TAG-STATE; + } + } + + grouping PREFIX-SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID-STATE { + description + "PREFIX SUBTLVS SUBTLV IPV6 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv6 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 12"; + container state { + description + "State parameters of sub-TLV 12"; + uses PREFIX-SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID-STATE; + } + } + + grouping PREFIX-SUBTLVS-SUBTLV-TAG64-STATE { + description + "PREFIX SUBTLVS SUBTLV TAG64 STATE"; + leaf-list tag64 { + type uint64; + description + "List of 64-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-TAG64 { + description + "This container defines sub-TLV 2"; + container state { + description + "State parameters of sub-TLV 2"; + uses PREFIX-SUBTLVS-SUBTLV-TAG64-STATE; + } + } + + grouping PREFIX-SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID-STATE { + description + "PREFIX SUBTLVS SUBTLV IPV4 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv4 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 11"; + container state { + description + "State parameters of sub-TLV 11"; + uses PREFIX-SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID-STATE; + } + } + + grouping PREFIX-SUBTLVS-SUBTLV-FLAGS-STATE { + description + "PREFIX SUBTLVS SUBTLV FLAGS STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf-list flags { + type Openconfig-isis-lsp-flags-state-flags-enum; + description + "Additional prefix reachability flags"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-FLAGS { + description + "This container defines sub-TLV 4"; + container state { + description + "State parameters of sub-TLV 4"; + uses PREFIX-SUBTLVS-SUBTLV-FLAGS-STATE; + } + } + + grouping SUBTLVS-SUBTLV-PREFIX-SIDS-PREFIX-SID-STATE { + description + "SUBTLVS SUBTLV PREFIX SIDS PREFIX SID STATE"; + leaf value { + type uint32; + description + "IGP Prefix-SID value"; + } + leaf algorithm { + type uint8; + description + "Prefix-SID algorithm to be used for path + computation"; + } + leaf-list flags { + type Openconfig-isis-lsp-prefix-sid-state-flags-enum; + description + "Flags associated with Prefix Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-PREFIX-SIDS-PREFIX-SID { + description + "Prefix Segment-ID list"; + container state { + description + "State parameters for Prefix-SID"; + uses SUBTLVS-SUBTLV-PREFIX-SIDS-PREFIX-SID-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-MT-IPV6-REACHABILITY-PREFIXES-PREFIX-STATE { + description + "State parameters relating an IPv6 prefix + attribute"; + leaf up-down { + type boolean; + description + "The up/down bit"; + } + leaf xbit { + type boolean; + description + "The external bit"; + } + leaf sbit { + type boolean; + description + "The sub-tlv present bit"; + } + leaf prefix { + type Yang2bag-string; + description + "IPv6 prefix contained within extended + reachability TLVs"; + } + leaf metric { + type uint32; + description + "ISIS metric value"; + } + leaf mt-id { + type uint16; + description + "Multi-topology ID"; + } + } + + grouping PREFIXES-PREFIX-ERROR-METRIC-STATE { + description + "PREFIXES PREFIX ERROR METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS error metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "IS-IS error metric flags"; + } + } + + grouping PREFIXES-PREFIX-ERROR-METRIC { + description + "PREFIXES PREFIX ERROR METRIC"; + container state { + description + "State parameters of error-metric"; + uses PREFIXES-PREFIX-ERROR-METRIC-STATE; + } + } + + grouping PREFIXES-PREFIX-EXPENSE-METRIC-STATE { + description + "PREFIXES PREFIX EXPENSE METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS expense metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "ISIS Expense Metric Flags"; + } + } + + grouping PREFIXES-PREFIX-EXPENSE-METRIC { + description + "PREFIXES PREFIX EXPENSE METRIC"; + container state { + description + "State parameters of expense-metric"; + uses PREFIXES-PREFIX-EXPENSE-METRIC-STATE; + } + } + + grouping PREFIXES-PREFIX-DELAY-METRIC-STATE { + description + "PREFIXES PREFIX DELAY METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS delay metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "ISIS Delay Metric Flags"; + } + } + + grouping PREFIXES-PREFIX-DELAY-METRIC { + description + "PREFIXES PREFIX DELAY METRIC"; + container state { + description + "State parameters of delay-metric"; + uses PREFIXES-PREFIX-DELAY-METRIC-STATE; + } + } + + grouping PREFIXES-PREFIX-DEFAULT-METRIC-STATE { + description + "PREFIXES PREFIX DEFAULT METRIC STATE"; + leaf flags { + type Openconfig-isis-lsp-default-metric-state-flags-enum; + description + "ISIS Default-Metric Flags"; + } + leaf metric { + type uint8; + description + "ISIS default metric value"; + } + } + + grouping PREFIXES-PREFIX-DEFAULT-METRIC { + description + "PREFIXES PREFIX DEFAULT METRIC"; + container state { + description + "State parameters for default-metric"; + uses PREFIXES-PREFIX-DEFAULT-METRIC-STATE; + } + } + + grouping PREFIXES-PREFIX-STATE { + description + "PREFIXES PREFIX STATE"; + leaf up-down { + type boolean; + description + "The up/down bit"; + } + leaf prefix { + type Yang2bag-string; + description + "IPv4 prefix contained within reachability TLVs"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIXES-PREFIX { + description + "IPv4 external prefixes and reachability + attributes"; + container state { + description + "State parameters of IPv4 standard prefix"; + uses PREFIXES-PREFIX-STATE; + } + container default-metric { + description + "This container defines ISIS Default Metric"; + uses PREFIXES-PREFIX-DEFAULT-METRIC; + } + container delay-metric { + description + "This container defines the ISIS delay metric"; + uses PREFIXES-PREFIX-DELAY-METRIC; + } + container expense-metric { + description + "This container defines the ISIS expense metric"; + uses PREFIXES-PREFIX-EXPENSE-METRIC; + } + container error-metric { + description + "This container defines the ISIS error metric"; + uses PREFIXES-PREFIX-ERROR-METRIC; + } + } + + grouping TOPOLOGY-STATE { + description + "TOPOLOGY STATE"; + leaf mt-id { + type uint16; + description + "Multi-topology ID"; + } + leaf attributes { + type Openconfig-isis-lsp-attributes-enum; + description + "Attributes of the LSP for the associated + topology"; + } + } + + grouping OVERLAY-OCNI-ISIS-TOPOLOGY { + description + "This list describes a topology"; + container state { + description + "State parameters of IS multi-topology TLV 229"; + uses TOPOLOGY-STATE; + } + } + + grouping PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE { + description + "PREFIX UNDEFINED SUBTLVS UNDEFINED SUBTLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV { + description + "Sub-TLVs that are not defined in the model or not + recognised by system"; + container state { + description + "State parameters of the undefined sub-TLV"; + uses PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE; + } + } + + grouping PREFIX-SID-STATE { + description + "PREFIX SID STATE"; + leaf value { + type uint32; + description + "IGP Prefix-SID value"; + } + leaf algorithm { + type uint8; + description + "Prefix-SID algorithm to be used for path + computation"; + } + leaf-list flags { + type Openconfig-isis-lsp-prefix-sid-state-flags-enum; + description + "Flags associated with Prefix Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SID { + description + "Prefix Segment-ID list"; + container state { + description + "State parameters for Prefix-SID"; + uses PREFIX-SID-STATE; + } + } + + grouping TAG64-STATE { + description + "TAG64 STATE"; + leaf-list tag64 { + type uint64; + description + "List of 64-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-TAG64 { + description + "This container defines sub-TLV 2"; + container state { + description + "State parameters of sub-TLV 2"; + uses TAG64-STATE; + } + } + + grouping FLAGS-STATE { + description + "FLAGS STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf-list flags { + type Openconfig-isis-lsp-flags-state-flags-enum; + description + "Additional prefix reachability flags"; + } + } + + grouping OVERLAY-OCNI-ISIS-FLAGS { + description + "This container defines sub-TLV 4"; + container state { + description + "State parameters of sub-TLV 4"; + uses FLAGS-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-STATE { + description + "State parameters for a prefix"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + } + + grouping IPV6-SOURCE-ROUTER-ID-STATE { + description + "IPV6 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv6 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV6-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 12"; + container state { + description + "State parameters of sub-TLV 12"; + uses IPV6-SOURCE-ROUTER-ID-STATE; + } + } + + grouping IPV4-SOURCE-ROUTER-ID-STATE { + description + "IPV4 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv4 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV4-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 11"; + container state { + description + "State parameters of sub-TLV 11"; + uses IPV4-SOURCE-ROUTER-ID-STATE; + } + } + + grouping TAG-STATE { + description + "TAG STATE"; + leaf-list tag32 { + type uint32; + description + "List of 32-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-TAG { + description + "This container defines sub-TLV 1"; + container state { + description + "State parameters of sub-TLV 1"; + uses TAG-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-STATE { + description + "State parameters of an IPv4 extended prefix"; + leaf up-down { + type boolean; + description + "The up/down bit"; + } + leaf sbit { + type boolean; + description + "The Sub-TLV present bit"; + } + leaf prefix { + type Yang2bag-string; + description + "IPv4 prefix contained within extended + reachability TLVs"; + } + leaf metric { + type uint32; + description + "ISIS metric value"; + } + } + + grouping NLPID-STATE { + description + "NLPID STATE"; + leaf-list nlpid { + type Openconfig-isis-lsp-nlpid-enum; + description + "Protocol supported"; + } + } + + grouping OVERLAY-OCNI-ISIS-NLPID { + description + "This container defines TLV 129"; + container state { + description + "State parameters of ISIS TLV 129"; + uses NLPID-STATE; + } + } + + grouping IPV4-TE-ROUTER-ID-STATE { + description + "IPV4 TE ROUTER ID STATE"; + leaf-list router-id { + type Yang2bag-string; + description + "IPv4 Traffic Engineering router ID of the node"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV4-TE-ROUTER-ID { + description + "This container defines TLV 134"; + container state { + description + "State parameters of ISIS TLV 134"; + uses IPV4-TE-ROUTER-ID-STATE; + } + } + + grouping ERROR-METRIC-STATE { + description + "ERROR METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS error metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "IS-IS error metric flags"; + } + } + + grouping ERROR-METRIC { + description + "ERROR METRIC"; + container state { + description + "State parameters of error-metric"; + uses ERROR-METRIC-STATE; + } + } + + grouping EXPENSE-METRIC-STATE { + description + "EXPENSE METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS expense metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "ISIS Expense Metric Flags"; + } + } + + grouping EXPENSE-METRIC { + description + "EXPENSE METRIC"; + container state { + description + "State parameters of expense-metric"; + uses EXPENSE-METRIC-STATE; + } + } + + grouping DELAY-METRIC-STATE { + description + "DELAY METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS delay metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "ISIS Delay Metric Flags"; + } + } + + grouping DELAY-METRIC { + description + "DELAY METRIC"; + container state { + description + "State parameters of delay-metric"; + uses DELAY-METRIC-STATE; + } + } + + grouping DEFAULT-METRIC-STATE { + description + "DEFAULT METRIC STATE"; + leaf flags { + type Openconfig-isis-lsp-default-metric-state-flags-enum; + description + "ISIS Default-Metric Flags"; + } + leaf metric { + type uint8; + description + "ISIS default metric value"; + } + } + + grouping DEFAULT-METRIC { + description + "DEFAULT METRIC"; + container state { + description + "State parameters for default-metric"; + uses DEFAULT-METRIC-STATE; + } + } + + grouping NEIGHBOR-STATE { + description + "NEIGHBOR STATE"; + leaf system-id { + type Yang2bag-string; + description + "System-ID of IS neighbor"; + } + } + + grouping OVERLAY-OCNI-ISIS-NEIGHBOR { + description + "IS reachability neighbor attributes"; + container state { + description + "State parameters of IS standard neighbor"; + uses NEIGHBOR-STATE; + } + container default-metric { + description + "This container defines ISIS Default Metric"; + uses DEFAULT-METRIC; + } + container delay-metric { + description + "This container defines the ISIS delay metric"; + uses DELAY-METRIC; + } + container expense-metric { + description + "This container defines the ISIS expense metric"; + uses EXPENSE-METRIC; + } + container error-metric { + description + "This container defines the ISIS error metric"; + uses ERROR-METRIC; + } + } + + grouping IPV4-SRLG-STATE { + description + "IPV4 SRLG STATE"; + leaf instance-number { + type uint32; + description + "An arbitrary unsigned 32-bit integer used to + disambiguate the instance of TLV 138"; + } + leaf system-id { + type Yang2bag-string; + description + "Neighbor system ID"; + } + leaf psn-number { + type uint8; + description + "Pseudonode number if the neighbor is on a LAN + interface"; + } + leaf ipv4-interface-address { + type Yang2bag-string; + description + "IPv4 interface address"; + } + leaf ipv4-neighbor-address { + type Yang2bag-string; + description + "IPv4 neighbor address"; + } + leaf-list flags { + type Openconfig-isis-lsp-state-flags-enum; + description + "SRLG flags"; + } + leaf-list srlg-value { + type uint32; + description + "List of SRLG values"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV4-SRLG { + description + "Instance of the IPv4 SRLG TLV"; + container state { + description + "State parameters of TLV 138"; + uses IPV4-SRLG-STATE; + } + } + + grouping INSTANCE-ID-STATE { + description + "INSTANCE ID STATE"; + leaf instance-id { + type uint16; + description + "An Instance Identifier (IID) to uniquely + identify an IS-IS instance"; + } + leaf-list topology-id { + type uint16; + description + "Instance-Specific Topology Identifiers (ITIDs)"; + } + } + + grouping OVERLAY-OCNI-ISIS-INSTANCE-ID { + description + "A list of instance IDs received within TLV 7 + within an IS-IS LSP"; + container state { + description + "State parameters of ISIS TLV 7"; + uses INSTANCE-ID-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-NEIGHBOR-STATE { + description + "State parameters corresponding to the extended + neighbour"; + leaf system-id { + type Yang2bag-string; + description + "System-id of the neighbor"; + } + } + + grouping UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE { + description + "UNDEFINED SUBTLVS UNDEFINED SUBTLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV { + description + "Sub-TLVs that are not defined in the model or not + recognised by system"; + container state { + description + "State parameters of the undefined sub-TLV"; + uses UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-INSTANCE-STATE { + description + "State parameters of extended neighbor"; + leaf id { + type uint64; + description + "Unique identifier for the instance of the TLV + for the IS neighbor"; + } + leaf metric { + type uint32; + description + "Metric value"; + } + } + + grouping LINK-DELAY-STATE { + description + "LINK DELAY STATE"; + leaf abit { + type boolean; + description + "The A bit is set when the measured value of this + parameter exceeds its configured maximum + threshold"; + } + leaf delay { + type uint32; + units "microsecond"; + description + "Average link delay value (in microseconds) + between two directly connected IS-IS neighbors + over a configurable interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-LINK-DELAY { + description + "This container defines unidirectional link delay"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 33"; + uses LINK-DELAY-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-STATE { + description + "State parameters of IS neighbor state"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + } + + grouping OVERLAY-OCNI-ISIS-BANDWIDTH-CONSTRAINT-STATE { + description + "State parameters of IS Extended Reachability + sub-TLV 22"; + leaf model-id { + type uint8; + description + "Identifier for the Bandwidth Constraints Model + currently in use by the LSR initiating the IGP + advertisement"; + } + } + + grouping CONSTRAINT-STATE { + description + "CONSTRAINT STATE"; + leaf constraint-id { + type uint32; + description + "Unique reference for the bandwidth constraint + level"; + } + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "The bandwidth constraint, expressed as a 32-bit + IEEE floating point number expressed in bytes + per second"; + } + } + + grouping OVERLAY-OCNI-ISIS-CONSTRAINT { + description + "List of the constraints within the Bandwidth + Constraints sub-TLV"; + container state { + description + "Operational state parameters of the BCN level"; + uses CONSTRAINT-STATE; + } + } + + grouping RESIDUAL-BANDWIDTH-STATE { + description + "RESIDUAL BANDWIDTH STATE"; + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "Residual bandwidth on a link,forwarding + adjacency [RFC4206], or bundled link in IEEE + floating-point format with units of bytes per + second"; + } + } + + grouping OVERLAY-OCNI-ISIS-RESIDUAL-BANDWIDTH { + description + "This container defines unidirectional residual + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 37"; + uses RESIDUAL-BANDWIDTH-STATE; + } + } + + grouping IPV4-NEIGHBOR-ADDRESS-STATE { + description + "IPV4 NEIGHBOR ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "A single IPv4 address for a neighboring router + on this link"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV4-NEIGHBOR-ADDRESS { + description + "This container defines sub-TLV 8"; + container state { + description + "State parameters of sub-TLV 8"; + uses IPV4-NEIGHBOR-ADDRESS-STATE; + } + } + + grouping IPV4-INTERFACE-ADDRESS-STATE { + description + "IPV4 INTERFACE ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "A 4-octet IPv4 address for the interface + described by the (main) TLV"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV4-INTERFACE-ADDRESS { + description + "This container defines sub-TLV 6"; + container state { + description + "State parameters of sub-TLV 6"; + uses IPV4-INTERFACE-ADDRESS-STATE; + } + } + + grouping UTILIZED-BANDWIDTH-STATE { + description + "UTILIZED BANDWIDTH STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "The bandwidth utilization on a link, forwarding + adjacency, or bundled link in IEEE + floating-point format with units of bytes per + second"; + } + } + + grouping OVERLAY-OCNI-ISIS-UTILIZED-BANDWIDTH { + description + "This container defines unidirectional utilized + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 39"; + uses UTILIZED-BANDWIDTH-STATE; + } + } + + grouping LINK-LOSS-STATE { + description + "LINK LOSS STATE"; + leaf abit { + type boolean; + description + "The A bit is set when the measured value of this + parameter exceeds its configured maximum + threshold"; + } + leaf link-loss { + type uint32; + units "percentage"; + description + "Link packet loss as a percentage of the total + traffic sent over a configurable interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-LINK-LOSS { + description + "This container defines unidirectional link loss + delay"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 36"; + uses LINK-LOSS-STATE; + } + } + + grouping SETUP-PRIORITY-STATE { + description + "SETUP PRIORITY STATE"; + leaf priority { + type uint8; + description + "Setup priority level of 0 through 7 to be used + by Unreserved Bandwidth sub-TLV 11"; + } + leaf bandwidth { + type Yang2bag-string; + description + "The amount of bandwidth reservable in this + direction on this link"; + } + } + + grouping OVERLAY-OCNI-ISIS-SETUP-PRIORITY { + description + "Setup priority (0 through 7) for unreserved + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 11"; + uses SETUP-PRIORITY-STATE; + } + } + + grouping EXTENDED-ADMIN-GROUP-STATE { + description + "EXTENDED ADMIN GROUP STATE"; + leaf-list extended-admin-group { + type uint32; + description + "The extended-admin-group sub-TLV is used in + addition to the Administrative Groups when it is + desirable to make more than 32 colors available + for advertisement in a network"; + } + } + + grouping OVERLAY-OCNI-ISIS-EXTENDED-ADMIN-GROUP { + description + "This container defines sub-TLV 14"; + container state { + description + "State parameters of sub-TLV 14"; + uses EXTENDED-ADMIN-GROUP-STATE; + } + } + + grouping LINK-ID-STATE { + description + "LINK ID STATE"; + leaf local { + type uint32; + description + "The value field of this sub-TLV contains 4 + octets of Link Local Identifier followed by 4 + octets of Link Remote Identifier"; + } + leaf remote { + type uint32; + description + "If the Link Remote Identifier is unknown, it is + set to 0"; + } + } + + grouping OVERLAY-OCNI-ISIS-LINK-ID { + description + "This container defines sub-TLV 4"; + container state { + description + "State parameters of sub-TLV 4"; + uses LINK-ID-STATE; + } + } + + grouping MAX-RESERVABLE-LINK-BANDWIDTH-STATE { + description + "MAX RESERVABLE LINK BANDWIDTH STATE"; + leaf bandwidth { + type Yang2bag-string; + description + "The maximum amount of bandwidth that can be + reserved in this direction on this link"; + } + } + + grouping OVERLAY-OCNI-ISIS-MAX-RESERVABLE-LINK-BANDWIDTH { + description + "This container defines sub-TLV 10"; + container state { + description + "State parameters of sub-TLV 10"; + uses MAX-RESERVABLE-LINK-BANDWIDTH-STATE; + } + } + + grouping LINK-DELAY-VARIATION-STATE { + description + "LINK DELAY VARIATION STATE"; + leaf delay { + type uint32; + description + "Average link delay between two directly + connected IS- IS neighbors over a configurable + interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-LINK-DELAY-VARIATION { + description + "This container defines unidirectional link delay + variation"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 35"; + uses LINK-DELAY-VARIATION-STATE; + } + } + + grouping ADMIN-GROUP-STATE { + description + "ADMIN GROUP STATE"; + leaf-list admin-group { + type uint32; + description + "The administrative group sub-TLV contains a + 4-octet bit mask assigned by the network + administrator"; + } + } + + grouping OVERLAY-OCNI-ISIS-ADMIN-GROUP { + description + "This container defines sub-TLV 3"; + container state { + description + "State parameters of sub-TLV 3"; + uses ADMIN-GROUP-STATE; + } + } + + grouping TE-DEFAULT-METRIC-STATE { + description + "TE DEFAULT METRIC STATE"; + leaf metric { + type uint32; + description + "This metric is administratively assigned and can + be used to present a differently weighted + topology to traffic engineering SPF calculations"; + } + } + + grouping OVERLAY-OCNI-ISIS-TE-DEFAULT-METRIC { + description + "This container defines sub-TLV 18"; + container state { + description + "State parameters of sub-TLV 18"; + uses TE-DEFAULT-METRIC-STATE; + } + } + + grouping ADJACENCY-SID-STATE { + description + "ADJACENCY SID STATE"; + leaf value { + type uint32; + description + "Adjacency-SID value"; + } + leaf weight { + type uint8; + description + "Value that represents the weight of the Adj-SID + for the purpose of load balancing"; + } + leaf-list flags { + type Openconfig-isis-lsp-adjacency-sid-state-flags-enum; + description + "Flags associated with Adj-Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-ADJACENCY-SID { + description + "Adjacency Segment-IDs List"; + container state { + description + "State parameters of Adjacency-SID"; + uses ADJACENCY-SID-STATE; + } + } + + grouping AVAILABLE-BANDWIDTH-STATE { + description + "AVAILABLE BANDWIDTH STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "The available bandwidth on a link, forwarding + adjacency, or bundled link in IEEE + floating-point format with units of bytes per + second"; + } + } + + grouping OVERLAY-OCNI-ISIS-AVAILABLE-BANDWIDTH { + description + "This container defines unidirectional lavailable + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 38"; + uses AVAILABLE-BANDWIDTH-STATE; + } + } + + grouping LAN-ADJACENCY-SID-STATE { + description + "LAN ADJACENCY SID STATE"; + leaf value { + type uint32; + description + "LAN Adjacency-SID value"; + } + leaf weight { + type uint8; + description + "Value that represents the weight of the Adj-SID + for the purpose of load balancing"; + } + leaf neighbor-id { + type Yang2bag-string; + description + "System ID of the neighbor associated with the + LAN- Adj-Segment-ID value"; + } + leaf-list flags { + type Openconfig-isis-lsp-lan-adjacency-sid-state-flags-enum; + description + "Flags associated with LAN-Adj-Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-LAN-ADJACENCY-SID { + description + "Adjacency Segment-IDs List"; + container state { + description + "State parameters of LAN Adjacency-SID"; + uses LAN-ADJACENCY-SID-STATE; + } + } + + grouping IPV6-INTERFACE-ADDRESS-STATE { + description + "IPV6 INTERFACE ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "Contains a 16-octet IPv6 address for the + interface described by the containing Extended + IS Reachability TLV"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV6-INTERFACE-ADDRESS { + description + "This container defines sub-TLV 12"; + container state { + description + "State parameters of sub-TLV 12"; + uses IPV6-INTERFACE-ADDRESS-STATE; + } + } + + grouping IPV6-NEIGHBOR-ADDRESS-STATE { + description + "IPV6 NEIGHBOR ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "Contains a 16-octet IPv6 address for a + neighboring router on the link described by the + (main) TLV"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV6-NEIGHBOR-ADDRESS { + description + "This container defines sub-TLV 13"; + container state { + description + "State parameters of sub-TLV 13"; + uses IPV6-NEIGHBOR-ADDRESS-STATE; + } + } + + grouping MAX-LINK-BANDWIDTH-STATE { + description + "MAX LINK BANDWIDTH STATE"; + leaf bandwidth { + type Yang2bag-string; + description + "The maximum bandwidth that can be used on this + link in this direction (from the system + originating the LSP to its neighbors)"; + } + } + + grouping OVERLAY-OCNI-ISIS-MAX-LINK-BANDWIDTH { + description + "This container defines sub-TLV 9"; + container state { + description + "State parameters of sub-TLV 9"; + uses MAX-LINK-BANDWIDTH-STATE; + } + } + + grouping MIN-MAX-LINK-DELAY-STATE { + description + "MIN MAX LINK DELAY STATE"; + leaf abit { + type boolean; + description + "The A bit is set when the measured value of this + parameter exceeds its configured maximum + threshold"; + } + leaf min-delay { + type uint32; + units "microsecond"; + description + "Minimum measured link delay value(in + microseconds) between two directly connected + IS-IS neighbors over a configurable interval"; + } + leaf max-delay { + type uint32; + units "microsecond"; + description + "Maximum measured link delay value(in + microseconds) between two directly connected + IS-IS neighbors over a configurable interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-MIN-MAX-LINK-DELAY { + description + "This container defines min/max link delay"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 34"; + uses MIN-MAX-LINK-DELAY-STATE; + } + } + + grouping IPV6-INTERFACE-ADDRESSES-STATE { + description + "IPV6 INTERFACE ADDRESSES STATE"; + leaf-list address { + type Yang2bag-string; + description + "IPv6 interface addresses of the node"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV6-INTERFACE-ADDRESSES { + description + "This container defines TLV 232"; + container state { + description + "State parameters of ISIS TLV 232"; + uses IPV6-INTERFACE-ADDRESSES-STATE; + } + } + + grouping PREFIX-ERROR-METRIC-STATE { + description + "PREFIX ERROR METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS error metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "IS-IS error metric flags"; + } + } + + grouping PREFIX-ERROR-METRIC { + description + "PREFIX ERROR METRIC"; + container state { + description + "State parameters of error-metric"; + uses PREFIX-ERROR-METRIC-STATE; + } + } + + grouping PREFIX-EXPENSE-METRIC-STATE { + description + "PREFIX EXPENSE METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS expense metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "ISIS Expense Metric Flags"; + } + } + + grouping PREFIX-EXPENSE-METRIC { + description + "PREFIX EXPENSE METRIC"; + container state { + description + "State parameters of expense-metric"; + uses PREFIX-EXPENSE-METRIC-STATE; + } + } + + grouping PREFIX-DELAY-METRIC-STATE { + description + "PREFIX DELAY METRIC STATE"; + leaf metric { + type uint8; + description + "ISIS delay metric value"; + } + leaf-list flags { + type Openconfig-isis-lsp-isis-metric-flags-enum; + description + "ISIS Delay Metric Flags"; + } + } + + grouping PREFIX-DELAY-METRIC { + description + "PREFIX DELAY METRIC"; + container state { + description + "State parameters of delay-metric"; + uses PREFIX-DELAY-METRIC-STATE; + } + } + + grouping PREFIX-DEFAULT-METRIC-STATE { + description + "PREFIX DEFAULT METRIC STATE"; + leaf flags { + type Openconfig-isis-lsp-default-metric-state-flags-enum; + description + "ISIS Default-Metric Flags"; + } + leaf metric { + type uint8; + description + "ISIS default metric value"; + } + } + + grouping PREFIX-DEFAULT-METRIC { + description + "PREFIX DEFAULT METRIC"; + container state { + description + "State parameters for default-metric"; + uses PREFIX-DEFAULT-METRIC-STATE; + } + } + + grouping PREFIX-STATE { + description + "PREFIX STATE"; + leaf up-down { + type boolean; + description + "The up/down bit"; + } + leaf prefix { + type Yang2bag-string; + description + "IPv4 prefix contained within reachability TLVs"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX { + description + "IPv4 prefixes and internal reachability + attributes"; + container state { + description + "State parameters of IPv4 standard prefix"; + uses PREFIX-STATE; + } + container default-metric { + description + "This container defines ISIS Default Metric"; + uses PREFIX-DEFAULT-METRIC; + } + container delay-metric { + description + "This container defines the ISIS delay metric"; + uses PREFIX-DELAY-METRIC; + } + container expense-metric { + description + "This container defines the ISIS expense metric"; + uses PREFIX-EXPENSE-METRIC; + } + container error-metric { + description + "This container defines the ISIS error metric"; + uses PREFIX-ERROR-METRIC; + } + } + + grouping IPV6-TE-ROUTER-ID-STATE { + description + "IPV6 TE ROUTER ID STATE"; + leaf-list router-id { + type Yang2bag-string; + description + "IPv6 Traffic Engineering router ID of the node"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV6-TE-ROUTER-ID { + description + "This container defines TLV 140"; + container state { + description + "State parameters of ISIS TLV 140"; + uses IPV6-TE-ROUTER-ID-STATE; + } + } + + grouping PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE { + description + "PREFIXES PREFIX UNDEFINED SUBTLVS UNDEFINED + SUBTLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV { + description + "Sub-TLVs that are not defined in the model or not + recognised by system"; + container state { + description + "State parameters of the undefined sub-TLV"; + uses PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE; + } + } + + grouping SUBTLV-FLAGS-STATE { + description + "SUBTLV FLAGS STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf-list flags { + type Openconfig-isis-lsp-flags-state-flags-enum; + description + "Additional prefix reachability flags"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-FLAGS { + description + "This container defines sub-TLV 4"; + container state { + description + "State parameters of sub-TLV 4"; + uses SUBTLV-FLAGS-STATE; + } + } + + grouping SUBTLV-IPV6-SOURCE-ROUTER-ID-STATE { + description + "SUBTLV IPV6 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv6 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-IPV6-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 12"; + container state { + description + "State parameters of sub-TLV 12"; + uses SUBTLV-IPV6-SOURCE-ROUTER-ID-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIXES-PREFIX-SUBTLVS-SUBTLV-STATE { + description + "State parameters for a prefix"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + } + + grouping SUBTLV-IPV4-SOURCE-ROUTER-ID-STATE { + description + "SUBTLV IPV4 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv4 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-IPV4-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 11"; + container state { + description + "State parameters of sub-TLV 11"; + uses SUBTLV-IPV4-SOURCE-ROUTER-ID-STATE; + } + } + + grouping PREFIX-SIDS-PREFIX-SID-STATE { + description + "PREFIX SIDS PREFIX SID STATE"; + leaf value { + type uint32; + description + "IGP Prefix-SID value"; + } + leaf algorithm { + type uint8; + description + "Prefix-SID algorithm to be used for path + computation"; + } + leaf-list flags { + type Openconfig-isis-lsp-prefix-sid-state-flags-enum; + description + "Flags associated with Prefix Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIX-SIDS-PREFIX-SID { + description + "Prefix Segment-ID list"; + container state { + description + "State parameters for Prefix-SID"; + uses PREFIX-SIDS-PREFIX-SID-STATE; + } + } + + grouping SUBTLV-TAG64-STATE { + description + "SUBTLV TAG64 STATE"; + leaf-list tag64 { + type uint64; + description + "List of 64-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-TAG64 { + description + "This container defines sub-TLV 2"; + container state { + description + "State parameters of sub-TLV 2"; + uses SUBTLV-TAG64-STATE; + } + } + + grouping SUBTLV-TAG-STATE { + description + "SUBTLV TAG STATE"; + leaf-list tag32 { + type uint32; + description + "List of 32-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-TAG { + description + "This container defines sub-TLV 1"; + container state { + description + "State parameters of sub-TLV 1"; + uses SUBTLV-TAG-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-PREFIXES-PREFIX-STATE { + description + "State parameters of IPv6 prefix attributes"; + leaf up-down { + type boolean; + description + "The up/down bit"; + } + leaf xbit { + type boolean; + description + "The external bit"; + } + leaf sbit { + type boolean; + description + "The sub-tlv present bit"; + } + leaf prefix { + type Yang2bag-string; + description + "IPv6 prefix contained within extended + reachability TLVs"; + } + leaf metric { + type uint32; + description + "ISIS metric value"; + } + } + + grouping HOST-NAME-STATE { + description + "HOST NAME STATE"; + leaf-list host-name { + type Yang2bag-string; + description + "Name of the node"; + } + } + + grouping OVERLAY-OCNI-ISIS-HOSTNAME { + description + "This container defines TLV 137"; + container state { + description + "State parameters of ISIS TLV 137"; + uses HOST-NAME-STATE; + } + } + + grouping PURGE-OI-STATE { + description + "PURGE OI STATE"; + leaf system-id-count { + type uint8; + description + "Number of system IDs carried in this TLV"; + } + leaf source-system-id { + type Yang2bag-string; + description + "System ID of the Intermediate System that + inserted this TLV"; + } + leaf received-system-id { + type Yang2bag-string; + description + "System ID of the Intermediate System from which + the purge was received"; + } + } + + grouping OVERLAY-OCNI-ISIS-PURGE-OI { + description + "This container defines ISIS purge TLV"; + container state { + description + "State parameters of TLV 13"; + uses PURGE-OI-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-TLV-STATE { + description + "Operational state parameters relating to the + specified LSP"; + leaf type { + type Yang2bag-string; + description + "The type of TLV being described"; + } + } + + grouping IPV6-SRLG-STATE { + description + "IPV6 SRLG STATE"; + leaf instance-number { + type uint32; + description + "An arbitrary unsigned 32-bit integer used to + disambiguate the instance of TLV 138"; + } + leaf system-id { + type Yang2bag-string; + description + "Neighbor system ID"; + } + leaf psn-number { + type uint8; + description + "Pseudonode number if the neighbor is on a LAN + interface"; + } + leaf ipv6-interface-address { + type Yang2bag-string; + description + "IPv6 interface address or Link Local Identifier"; + } + leaf ipv6-neighbor-address { + type Yang2bag-string; + description + "IPv6 neighbor address or Link Remote Identifier"; + } + leaf-list flags { + type Openconfig-isis-lsp-ipv6-srlg-state-flags-enum; + description + "IPv6 SRLG flags"; + } + leaf-list srlg-value { + type uint32; + description + "SRLG values"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV6-SRLG { + description + "Instance of the IPv6 SRLG TLV"; + container state { + description + "State parameters of TLV 139"; + uses IPV6-SRLG-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-NEIGHBORS-NEIGHBOR-STATE { + description + "Operational state parameters related to the MT + ISN TLV"; + leaf mt-id { + type uint16; + description + "Identifier of a topology being announced"; + } + leaf system-id { + type Yang2bag-string; + description + "System-id of the IS neighbor"; + } + } + + grouping SUBTLV-LINK-DELAY-STATE { + description + "SUBTLV LINK DELAY STATE"; + leaf abit { + type boolean; + description + "The A bit is set when the measured value of this + parameter exceeds its configured maximum + threshold"; + } + leaf delay { + type uint32; + units "microsecond"; + description + "Average link delay value (in microseconds) + between two directly connected IS-IS neighbors + over a configurable interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-LINK-DELAY { + description + "This container defines unidirectional link delay"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 33"; + uses SUBTLV-LINK-DELAY-STATE; + } + } + + grouping SUBTLV-RESIDUAL-BANDWIDTH-STATE { + description + "SUBTLV RESIDUAL BANDWIDTH STATE"; + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "Residual bandwidth on a link,forwarding + adjacency [RFC4206], or bundled link in IEEE + floating-point format with units of bytes per + second"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-RESIDUAL-BANDWIDTH { + description + "This container defines unidirectional residual + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 37"; + uses SUBTLV-RESIDUAL-BANDWIDTH-STATE; + } + } + + grouping SUBTLV-EXTENDED-ADMIN-GROUP-STATE { + description + "SUBTLV EXTENDED ADMIN GROUP STATE"; + leaf-list extended-admin-group { + type uint32; + description + "The extended-admin-group sub-TLV is used in + addition to the Administrative Groups when it is + desirable to make more than 32 colors available + for advertisement in a network"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-EXTENDED-ADMIN-GROUP { + description + "This container defines sub-TLV 14"; + container state { + description + "State parameters of sub-TLV 14"; + uses SUBTLV-EXTENDED-ADMIN-GROUP-STATE; + } + } + + grouping LAN-ADJACENCY-SIDS-LAN-ADJACENCY-SID-STATE { + description + "LAN ADJACENCY SIDS LAN ADJACENCY SID STATE"; + leaf value { + type uint32; + description + "LAN Adjacency-SID value"; + } + leaf weight { + type uint8; + description + "Value that represents the weight of the Adj-SID + for the purpose of load balancing"; + } + leaf neighbor-id { + type Yang2bag-string; + description + "System ID of the neighbor associated with the + LAN- Adj-Segment-ID value"; + } + leaf-list flags { + type Openconfig-isis-lsp-lan-adjacency-sid-state-flags-enum; + description + "Flags associated with LAN-Adj-Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-LAN-ADJACENCY-SIDS-LAN-ADJACENCY-SID { + description + "Adjacency Segment-IDs List"; + container state { + description + "State parameters of LAN Adjacency-SID"; + uses LAN-ADJACENCY-SIDS-LAN-ADJACENCY-SID-STATE; + } + } + + grouping SUBTLV-LINK-DELAY-VARIATION-STATE { + description + "SUBTLV LINK DELAY VARIATION STATE"; + leaf delay { + type uint32; + description + "Average link delay between two directly + connected IS- IS neighbors over a configurable + interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-LINK-DELAY-VARIATION { + description + "This container defines unidirectional link delay + variation"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 35"; + uses SUBTLV-LINK-DELAY-VARIATION-STATE; + } + } + + grouping SUBTLV-UTILIZED-BANDWIDTH-STATE { + description + "SUBTLV UTILIZED BANDWIDTH STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "The bandwidth utilization on a link, forwarding + adjacency, or bundled link in IEEE + floating-point format with units of bytes per + second"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-UTILIZED-BANDWIDTH { + description + "This container defines unidirectional utilized + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 39"; + uses SUBTLV-UTILIZED-BANDWIDTH-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-INSTANCE-SUBTLVS-SUBTLV-STATE { + description + "State parameters of IS neighbor state"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + } + + grouping SUBTLV-ADMIN-GROUP-STATE { + description + "SUBTLV ADMIN GROUP STATE"; + leaf-list admin-group { + type uint32; + description + "The administrative group sub-TLV contains a + 4-octet bit mask assigned by the network + administrator"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-ADMIN-GROUP { + description + "This container defines sub-TLV 3"; + container state { + description + "State parameters of sub-TLV 3"; + uses SUBTLV-ADMIN-GROUP-STATE; + } + } + + grouping SUBTLV-AVAILABLE-BANDWIDTH-STATE { + description + "SUBTLV AVAILABLE BANDWIDTH STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "The available bandwidth on a link, forwarding + adjacency, or bundled link in IEEE + floating-point format with units of bytes per + second"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-AVAILABLE-BANDWIDTH { + description + "This container defines unidirectional lavailable + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 38"; + uses SUBTLV-AVAILABLE-BANDWIDTH-STATE; + } + } + + grouping SUBTLV-IPV6-INTERFACE-ADDRESS-STATE { + description + "SUBTLV IPV6 INTERFACE ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "Contains a 16-octet IPv6 address for the + interface described by the containing Extended + IS Reachability TLV"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-IPV6-INTERFACE-ADDRESS { + description + "This container defines sub-TLV 12"; + container state { + description + "State parameters of sub-TLV 12"; + uses SUBTLV-IPV6-INTERFACE-ADDRESS-STATE; + } + } + + grouping SUBTLV-TE-DEFAULT-METRIC-STATE { + description + "SUBTLV TE DEFAULT METRIC STATE"; + leaf metric { + type uint32; + description + "This metric is administratively assigned and can + be used to present a differently weighted + topology to traffic engineering SPF calculations"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-TE-DEFAULT-METRIC { + description + "This container defines sub-TLV 18"; + container state { + description + "State parameters of sub-TLV 18"; + uses SUBTLV-TE-DEFAULT-METRIC-STATE; + } + } + + grouping SUBTLV-IPV4-NEIGHBOR-ADDRESS-STATE { + description + "SUBTLV IPV4 NEIGHBOR ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "A single IPv4 address for a neighboring router + on this link"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-IPV4-NEIGHBOR-ADDRESS { + description + "This container defines sub-TLV 8"; + container state { + description + "State parameters of sub-TLV 8"; + uses SUBTLV-IPV4-NEIGHBOR-ADDRESS-STATE; + } + } + + grouping UNRESERVED-BANDWIDTH-SETUP-PRIORITY-STATE { + description + "UNRESERVED BANDWIDTH SETUP PRIORITY STATE"; + leaf priority { + type uint8; + description + "Setup priority level of 0 through 7 to be used + by Unreserved Bandwidth sub-TLV 11"; + } + leaf bandwidth { + type Yang2bag-string; + description + "The amount of bandwidth reservable in this + direction on this link"; + } + } + + grouping OVERLAY-OCNI-ISIS-UNRESERVED-BANDWIDTH-SETUP-PRIORITY { + description + "Setup priority (0 through 7) for unreserved + bandwidth"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 11"; + uses UNRESERVED-BANDWIDTH-SETUP-PRIORITY-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-BANDWIDTH-CONSTRAINTS-BANDWIDTH-CONSTRAINT-STATE { + description + "State parameters of IS Extended Reachability + sub-TLV 22"; + leaf model-id { + type uint8; + description + "Identifier for the Bandwidth Constraints Model + currently in use by the LSR initiating the IGP + advertisement"; + } + } + + grouping CONSTRAINTS-CONSTRAINT-STATE { + description + "CONSTRAINTS CONSTRAINT STATE"; + leaf constraint-id { + type uint32; + description + "Unique reference for the bandwidth constraint + level"; + } + leaf bandwidth { + type Yang2bag-string; + units "byte/s"; + description + "The bandwidth constraint, expressed as a 32-bit + IEEE floating point number expressed in bytes + per second"; + } + } + + grouping OVERLAY-OCNI-ISIS-CONSTRAINTS-CONSTRAINT { + description + "List of the constraints within the Bandwidth + Constraints sub-TLV"; + container state { + description + "Operational state parameters of the BCN level"; + uses CONSTRAINTS-CONSTRAINT-STATE; + } + } + + grouping SUBTLV-MIN-MAX-LINK-DELAY-STATE { + description + "SUBTLV MIN MAX LINK DELAY STATE"; + leaf abit { + type boolean; + description + "The A bit is set when the measured value of this + parameter exceeds its configured maximum + threshold"; + } + leaf min-delay { + type uint32; + units "microsecond"; + description + "Minimum measured link delay value(in + microseconds) between two directly connected + IS-IS neighbors over a configurable interval"; + } + leaf max-delay { + type uint32; + units "microsecond"; + description + "Maximum measured link delay value(in + microseconds) between two directly connected + IS-IS neighbors over a configurable interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-MIN-MAX-LINK-DELAY { + description + "This container defines min/max link delay"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 34"; + uses SUBTLV-MIN-MAX-LINK-DELAY-STATE; + } + } + + grouping SUBTLV-LINK-LOSS-STATE { + description + "SUBTLV LINK LOSS STATE"; + leaf abit { + type boolean; + description + "The A bit is set when the measured value of this + parameter exceeds its configured maximum + threshold"; + } + leaf link-loss { + type uint32; + units "percentage"; + description + "Link packet loss as a percentage of the total + traffic sent over a configurable interval"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-LINK-LOSS { + description + "This container defines unidirectional link loss + delay"; + container state { + description + "State parameters of IS Extended Reachability + sub-TLV 36"; + uses SUBTLV-LINK-LOSS-STATE; + } + } + + grouping ADJACENCY-SIDS-ADJACENCY-SID-STATE { + description + "ADJACENCY SIDS ADJACENCY SID STATE"; + leaf value { + type uint32; + description + "Adjacency-SID value"; + } + leaf weight { + type uint8; + description + "Value that represents the weight of the Adj-SID + for the purpose of load balancing"; + } + leaf-list flags { + type Openconfig-isis-lsp-adjacency-sid-state-flags-enum; + description + "Flags associated with Adj-Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-ADJACENCY-SIDS-ADJACENCY-SID { + description + "Adjacency Segment-IDs List"; + container state { + description + "State parameters of Adjacency-SID"; + uses ADJACENCY-SIDS-ADJACENCY-SID-STATE; + } + } + + grouping SUBTLV-MAX-LINK-BANDWIDTH-STATE { + description + "SUBTLV MAX LINK BANDWIDTH STATE"; + leaf bandwidth { + type Yang2bag-string; + description + "The maximum bandwidth that can be used on this + link in this direction (from the system + originating the LSP to its neighbors)"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-MAX-LINK-BANDWIDTH { + description + "This container defines sub-TLV 9"; + container state { + description + "State parameters of sub-TLV 9"; + uses SUBTLV-MAX-LINK-BANDWIDTH-STATE; + } + } + + grouping SUBTLV-MAX-RESERVABLE-LINK-BANDWIDTH-STATE { + description + "SUBTLV MAX RESERVABLE LINK BANDWIDTH STATE"; + leaf bandwidth { + type Yang2bag-string; + description + "The maximum amount of bandwidth that can be + reserved in this direction on this link"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-MAX-RESERVABLE-LINK-BANDWIDTH { + description + "This container defines sub-TLV 10"; + container state { + description + "State parameters of sub-TLV 10"; + uses SUBTLV-MAX-RESERVABLE-LINK-BANDWIDTH-STATE; + } + } + + grouping SUBTLV-IPV4-INTERFACE-ADDRESS-STATE { + description + "SUBTLV IPV4 INTERFACE ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "A 4-octet IPv4 address for the interface + described by the (main) TLV"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-IPV4-INTERFACE-ADDRESS { + description + "This container defines sub-TLV 6"; + container state { + description + "State parameters of sub-TLV 6"; + uses SUBTLV-IPV4-INTERFACE-ADDRESS-STATE; + } + } + + grouping SUBTLV-LINK-ID-STATE { + description + "SUBTLV LINK ID STATE"; + leaf local { + type uint32; + description + "The value field of this sub-TLV contains 4 + octets of Link Local Identifier followed by 4 + octets of Link Remote Identifier"; + } + leaf remote { + type uint32; + description + "If the Link Remote Identifier is unknown, it is + set to 0"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-LINK-ID { + description + "This container defines sub-TLV 4"; + container state { + description + "State parameters of sub-TLV 4"; + uses SUBTLV-LINK-ID-STATE; + } + } + + grouping SUBTLV-IPV6-NEIGHBOR-ADDRESS-STATE { + description + "SUBTLV IPV6 NEIGHBOR ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "Contains a 16-octet IPv6 address for a + neighboring router on the link described by the + (main) TLV"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-IPV6-NEIGHBOR-ADDRESS { + description + "This container defines sub-TLV 13"; + container state { + description + "State parameters of sub-TLV 13"; + uses SUBTLV-IPV6-NEIGHBOR-ADDRESS-STATE; + } + } + + grouping INSTANCE-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE { + description + "INSTANCE UNDEFINED SUBTLVS UNDEFINED SUBTLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-INSTANCE-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV { + description + "Sub-TLVs that are not defined in the model or not + recognised by system"; + container state { + description + "State parameters of the undefined sub-TLV"; + uses INSTANCE-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-INSTANCES-INSTANCE-STATE { + description + "State parameters of MT neighbor"; + leaf metric { + type uint32; + description + "ISIS metric value"; + } + leaf id { + type uint64; + description + "Unique identifier for the TLV instance for the + neighbor"; + } + } + + grouping SUBTLVS-SUBTLV-FLAGS-STATE { + description + "SUBTLVS SUBTLV FLAGS STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf-list flags { + type Openconfig-isis-lsp-flags-state-flags-enum; + description + "Additional prefix reachability flags"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-FLAGS { + description + "This container defines sub-TLV 4"; + container state { + description + "State parameters of sub-TLV 4"; + uses SUBTLVS-SUBTLV-FLAGS-STATE; + } + } + + grouping SUBTLV-PREFIX-SIDS-PREFIX-SID-STATE { + description + "SUBTLV PREFIX SIDS PREFIX SID STATE"; + leaf value { + type uint32; + description + "IGP Prefix-SID value"; + } + leaf algorithm { + type uint8; + description + "Prefix-SID algorithm to be used for path + computation"; + } + leaf-list flags { + type Openconfig-isis-lsp-prefix-sid-state-flags-enum; + description + "Flags associated with Prefix Segment-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-PREFIX-SIDS-PREFIX-SID { + description + "Prefix Segment-ID list"; + container state { + description + "State parameters for Prefix-SID"; + uses SUBTLV-PREFIX-SIDS-PREFIX-SID-STATE; + } + } + + grouping SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID-STATE { + description + "SUBTLVS SUBTLV IPV6 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv6 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 12"; + container state { + description + "State parameters of sub-TLV 12"; + uses SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID-STATE; + } + } + + grouping SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID-STATE { + description + "SUBTLVS SUBTLV IPV4 SOURCE ROUTER ID STATE"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv4 Source router ID address"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID { + description + "This container defines sub-TLV 11"; + container state { + description + "State parameters of sub-TLV 11"; + uses SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-MT-IPV4-REACHABILITY-PREFIXES-PREFIX-SUBTLVS-SUBTLV-STATE { + description + "State parameters for a prefix"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + } + + grouping SUBTLVS-SUBTLV-TAG-STATE { + description + "SUBTLVS SUBTLV TAG STATE"; + leaf-list tag32 { + type uint32; + description + "List of 32-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-TAG { + description + "This container defines sub-TLV 1"; + container state { + description + "State parameters of sub-TLV 1"; + uses SUBTLVS-SUBTLV-TAG-STATE; + } + } + + grouping SUBTLVS-SUBTLV-TAG64-STATE { + description + "SUBTLVS SUBTLV TAG64 STATE"; + leaf-list tag64 { + type uint64; + description + "List of 64-bit tags associated with the prefix"; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-TAG64 { + description + "This container defines sub-TLV 2"; + container state { + description + "State parameters of sub-TLV 2"; + uses SUBTLVS-SUBTLV-TAG64-STATE; + } + } + + grouping MT-IPV4-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE { + description + "MT IPV4 REACHABILITY PREFIXES PREFIX UNDEFINED + SUBTLVS UNDEFINED SUBTLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-MT-IPV4-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV { + description + "Sub-TLVs that are not defined in the model or not + recognised by system"; + container state { + description + "State parameters of the undefined sub-TLV"; + uses MT-IPV4-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-MT-IPV4-REACHABILITY-PREFIXES-PREFIX-STATE { + description + "State parameters of an IPv4 extended prefix"; + leaf up-down { + type boolean; + description + "The up/down bit"; + } + leaf sbit { + type boolean; + description + "The Sub-TLV present bit"; + } + leaf prefix { + type Yang2bag-string; + description + "IPv4 prefix contained within extended + reachability TLVs"; + } + leaf metric { + type uint32; + description + "ISIS metric value"; + } + leaf mt-id { + type uint16; + description + "Multi-topology ID"; + } + } + + grouping SRGB-DESCRIPTOR-STATE { + description + "SRGB DESCRIPTOR STATE"; + leaf range { + type uint32; + description + "Number of SRGB elements"; + } + leaf label { + type Yang2bag-string; + description + "The first value of the SRGB when expressed as an + MPLS label"; + } + } + + grouping OVERLAY-OCNI-ISIS-SRGB-DESCRIPTOR { + description + "Descriptor entry within the SR capabilty sub-TLV"; + container state { + description + "State parameters of the SR range"; + uses SRGB-DESCRIPTOR-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-SEGMENT-ROUTING-CAPABILITY-STATE { + description + "State parameters of IS SR Router Capability"; + leaf-list flags { + type Openconfig-isis-lsp-segment-routing-capability-state-flags-enum; + description + "Segment Routing Capability Flags"; + } + } + + grouping SEGMENT-ROUTING-ALGORITHMS-STATE { + description + "SEGMENT ROUTING ALGORITHMS STATE"; + leaf-list algorithm { + type Openconfig-isis-lsp-algorithm-enum; + description + "The Segment Routing algorithm that is described + by the TLV"; + } + } + + grouping OVERLAY-OCNI-ISIS-SEGMENT-ROUTING-ALGORITHMS { + description + "This container defines SR algorithm sub-TLV 19"; + container state { + description + "State parameters of sub-TLV 19 - Segment Routing + Algorithm"; + uses SEGMENT-ROUTING-ALGORITHMS-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-SUBTLV-STATE { + description + "State parameters of IS Router Capabilities"; + leaf type { + type Yang2bag-string; + description + "The type of subTLV being described"; + } + } + + grouping UNDEFINED-SUBTLV-STATE { + description + "UNDEFINED SUBTLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-UNDEFINED-SUBTLV { + description + "Sub-TLVs that are not defined in the model or not + recognised by system"; + container state { + description + "State parameters of the undefined sub-TLV"; + uses UNDEFINED-SUBTLV-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-CAPABILITY-STATE { + description + "State parameters of TLV 242"; + leaf instance-number { + type uint32; + description + "A unique instance number for the instance of the + router capabilities TLV"; + } + leaf router-id { + type Yang2bag-string; + description + "IPv4 router-id"; + } + leaf-list flags { + type Openconfig-isis-lsp-capability-state-flags-enum; + description + "Router capability flags"; + } + } + + grouping IPV4-INTERFACE-ADDRESSES-STATE { + description + "IPV4 INTERFACE ADDRESSES STATE"; + leaf-list address { + type Yang2bag-string; + description + "IPv4 address(es) of the interface corresponding + to the SNPA over which this PDU is to be + transmitted"; + } + } + + grouping OVERLAY-OCNI-ISIS-IPV4-INTERFACE-ADDRESSES { + description + "This container defines TLV 132"; + container state { + description + "State parameters of ISIS TLV 132"; + uses IPV4-INTERFACE-ADDRESSES-STATE; + } + } + + grouping AUTHENTICATION-STATE { + description + "AUTHENTICATION STATE"; + leaf crypto-type { + type Openconfig-isis-lsp-crypto-type-enum; + description + "Authentication type to be used"; + } + leaf authentication-key { + type Yang2bag-string; + description + "Authentication key to be used"; + } + } + + grouping OVERLAY-OCNI-ISIS-AUTHENTICATION { + description + "This container defines authentication information + of the node"; + container state { + description + "State parameters of TLV 10"; + uses AUTHENTICATION-STATE; + } + } + + grouping AREA-ADDRESS-STATE { + description + "AREA ADDRESS STATE"; + leaf-list address { + type Yang2bag-string; + description + "Area adress(es) of the IS"; + } + } + + grouping OVERLAY-OCNI-ISIS-AREA-ADDRESS { + description + "This container defines TLV 1"; + container state { + description + "State parameters of ISIS TLV 1"; + uses AREA-ADDRESS-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-LSP-STATE { + description + "State parameters of Link State PDU"; + leaf lsp-id { + type Yang2bag-string; + description + "LSP ID of the LSP"; + } + leaf maximum-area-addresses { + type uint8; + description + "Number of area addresses permitted for this ISs + area"; + } + leaf version { + type uint8; + description + "PDU version"; + } + leaf version2 { + type uint8; + description + "PDU version2"; + } + leaf id-length { + type uint8; + description + "Length of the ID field of NSAP addresses and + NETs used in this routing domain"; + } + leaf pdu-type { + type Openconfig-isis-lsp-pdu-type-enum; + description + "Link State PDU type"; + } + leaf remaining-lifetime { + type uint16; + units "second"; + description + "Remaining lifetime in seconds before the LSP + expiration"; + } + leaf sequence-number { + type uint32; + description + "Sequence number of the LSP"; + } + leaf checksum { + type uint16; + description + "Checksum of the LSP"; + } + leaf pdu-length { + type uint16; + description + "Total length of the LSP"; + } + leaf is-type { + type uint8; + description + "Type of neighboring system"; + } + leaf-list flags { + type Openconfig-isis-lsp-flags-enum; + description + "LSP Type-Block flags"; + } + } + + grouping UNDEFINED-TLV-STATE { + description + "UNDEFINED TLV STATE"; + leaf type { + type uint8; + description + "TLV Type"; + } + leaf length { + type uint8; + description + "TLV length"; + } + leaf value { + type Yang2bag-string; + description + "TLV value"; + } + } + + grouping OVERLAY-OCNI-ISIS-UNDEFINED-TLV { + description + "List of TLVs that are not defined within the + model, or are not recognised by the system"; + container state { + description + "State parameters of the undefined TLV"; + uses UNDEFINED-TLV-STATE; + } + } + + grouping SYSTEM-LEVEL-COUNTERS-STATE { + description + "SYSTEM LEVEL COUNTERS STATE"; + leaf corrupted-lsps { + type uint32; + description + "Number of corrupted in-memory LSPs detected"; + } + leaf database-overloads { + type uint32; + description + "Number of times the database has become + overloaded"; + } + leaf manual-address-drop-from-areas { + type uint32; + description + "Number of times a manual address has been + dropped from area"; + } + leaf exceed-max-seq-nums { + type uint32; + description + "The number of times the system has attempted to + exceed the maximum sequence number"; + } + leaf seq-num-skips { + type uint32; + description + "Number of times a sequence number skip has + occurred"; + } + leaf own-lsp-purges { + type uint32; + description + "Number of times a zero-aged copy of the system's + own LSP is received from some other node"; + } + leaf id-len-mismatch { + type uint32; + description + "Number of times a PDU is received with a + different value for ID field length from that of + the receiving system"; + } + leaf part-changes { + type uint32; + description + "The number of partition changes detected"; + } + leaf max-area-address-mismatches { + type uint32; + description + "Number of times a PDU is received with a + different value for MaximumAreaAddresses from + that of the receiving system"; + } + leaf auth-fails { + type uint32; + description + "The number of authentication key failures"; + } + leaf spf-runs { + type uint32; + description + "The number of times SPF was ran at this level"; + } + leaf auth-type-fails { + type uint32; + description + "The number of authentication type mismatches"; + } + leaf lsp-errors { + type uint32; + description + "The number of received LSPs with errors"; + } + } + + grouping OVERLAY-OCNI-ISIS-SYSTEM-LEVEL-COUNTERS { + description + "This container defines ISIS system level counters"; + container state { + description + "The container defines a list of system counters + for the IS"; + uses SYSTEM-LEVEL-COUNTERS-STATE; + } + } + + grouping KEY-STATE { + description + "KEY STATE"; + leaf auth-password { + type Yang2bag-string; + description + "Authentication key string"; + } + } + + grouping KEY { + description + "KEY"; + container state { + description + "This container defines ISIS authentication key + state"; + uses KEY-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-LEVEL-AUTHENTICATION { + description + "This container defines ISIS authentication"; + container key { + description + "This container defines ISIS authentication key"; + uses KEY; + } + } + + grouping TRAFFIC-ENGINEERING-STATE { + description + "TRAFFIC ENGINEERING STATE"; + leaf enabled { + type boolean; + description + "When set to true, the functionality within which + this leaf is defined is enabled, when set to + false it is explicitly disabled"; + } + leaf ipv4-router-id { + type Yang2bag-ipv4-addr; + description + "IPv4 MPLS Traffic Engineering Router-ID"; + } + leaf ipv6-router-id { + type Yang2bag-ipv6-addr; + description + "IPv6 MPLS Traffic Engineering Router-ID"; + } + } + + grouping OVERLAY-OCNI-ISIS-TRAFFIC-ENGINEERING { + description + "This container defines ISIS TE"; + container state { + description + "This container defines ISIS TE state information"; + uses TRAFFIC-ENGINEERING-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-LEVEL-STATE { + description + "This container defines ISIS level state + information"; + leaf level-number { + type uint8; + description + "ISIS level number (level-1, level-2)"; + } + leaf metric-style { + type Openconfig-isis-types-metric-style-enum; + description + "ISIS metric style types(narrow, wide)"; + } + leaf authentication-check { + type boolean; + description + "When set to true, reject all ISIS protocol PDUs + that either have a mismatch in + authentication-type or authentication-key"; + } + } + + grouping ROUTE-PREFERENCE-STATE { + description + "ROUTE PREFERENCE STATE"; + leaf external-route-preference { + type uint8; + description + "Administrative Distance(preference) for external + ISIS routes"; + } + leaf internal-route-preference { + type uint8; + description + "Administrative Distance(preference) for internal + ISIS routes"; + } + } + + grouping OVERLAY-OCNI-ISIS-ROUTE-PREFERENCE { + description + "This container defines Administrative Distance + (or preference) assigned to ISIS routes (level1 + internal, level2 internal, level1 external, + level2 external)"; + container state { + description + "This container defines ISIS route preference + state information"; + uses ROUTE-PREFERENCE-STATE; + } + } + + grouping TRANSPORT-STATE { + description + "TRANSPORT STATE"; + leaf lsp-mtu-size { + type uint16; + units "byte"; + description + "The maximum size in bytes of an IS-IS Link state + PDU"; + } + } + + grouping OVERLAY-OCNI-ISIS-TRANSPORT { + description + "This container defines ISIS transport"; + container state { + description + "This container defines state information for + ISIS transport parameters"; + uses TRANSPORT-STATE; + } + } + + grouping LSP-GENERATION-STATE { + description + "LSP GENERATION STATE"; + leaf lsp-max-wait-interval { + type uint64; + units "millisecond"; + description + "Time interval in milliseconds that specifies max + interval between two consecutive occurrences of + an LSP being generated"; + } + leaf lsp-first-wait-interval { + type uint64; + units "millisecond"; + description + "Time interval in milliseconds that specifies the + first LSP generation delay"; + } + leaf lsp-second-wait-interval { + type uint64; + units "millisecond"; + description + "Time interval in milliseconds that specifies the + millisecond LSP generation delay"; + } + leaf adaptive-timer { + type Openconfig-isis-types-adaptive-timer-type-enum; + description + "ISIS adaptive timer types (linear, exponential)"; + } + } + + grouping LSP-GENERATION { + description + "LSP GENERATION"; + container state { + description + "This container defines state information for + ISIS LSP Generation timers"; + uses LSP-GENERATION-STATE; + } + } + + grouping SPF-STATE { + description + "SPF STATE"; + leaf spf-hold-interval { + type uint64; + units "millisecond"; + description + "SPF Hold Down time interval in milliseconds"; + } + leaf spf-first-interval { + type uint64; + units "millisecond"; + description + "Time interval in milliseconds between the + detection of topology change and when the SPF + algorithm runs"; + } + leaf spf-second-interval { + type uint64; + units "millisecond"; + description + "Time interval in milliseconds between the first + and second SPF calculation"; + } + leaf adaptive-timer { + type Openconfig-isis-types-adaptive-timer-type-enum; + description + "ISIS adaptive timer types (linear, exponential)"; + } + } + + grouping SPF { + description + "SPF"; + container state { + description + "This container defines state information for + ISIS SPF timers"; + uses SPF-STATE; + } + } + + grouping TIMERS-STATE { + description + "TIMERS STATE"; + leaf lsp-lifetime-interval { + type uint16; + units "second"; + description + "Time interval in seconds that specifies how long + an LSP remains in LSDB without being refreshed"; + } + leaf lsp-refresh-interval { + type uint16; + units "second"; + description + "Time interval in seconds that specifies how + often route topology that a device originates is + transmitted in LSPs"; + } + } + + grouping OVERLAY-OCNI-ISIS-TIMERS { + description + "This container defines ISIS timers"; + container state { + description + "This container defines state information for + ISIS global timers"; + uses TIMERS-STATE; + } + container spf { + description + "This container defines ISIS SPF timer settings"; + uses SPF; + } + container lsp-generation { + description + "This container defines ISIS LSP Generation"; + uses LSP-GENERATION; + } + } + + grouping MULTI-TOPOLOGY-STATE { + description + "MULTI TOPOLOGY STATE"; + leaf afi-name { + type Yang2bag-string; + description + "Address-family type"; + } + leaf safi-name { + type Yang2bag-string; + description + "Subsequent address-family type"; + } + leaf enabled { + type boolean; + description + "When set to true, the functionality within which + this leaf is defined is enabled, when set to + false it is explicitly disabled"; + } + } + + grouping MULTI-TOPOLOGY { + description + "MULTI TOPOLOGY"; + container state { + description + "This container defines AFI-SAFI multi-topology + state information"; + uses MULTI-TOPOLOGY-STATE; + } + } + + grouping AF-STATE { + description + "AF STATE"; + leaf afi-name { + type Yang2bag-string; + description + "Address-family type"; + } + leaf safi-name { + type Yang2bag-string; + description + "Subsequent address-family type"; + } + leaf metric { + type uint32; + description + "ISIS metric value(default=10)"; + } + leaf enabled { + type boolean; + description + "When set to true, the functionality within which + this leaf is defined is enabled, when set to + false it is explicitly disabled"; + } + } + + grouping OVERLAY-OCNI-ISIS-AF { + description + "Address-family/Subsequent Address-family list"; + container state { + description + "This container defines AFI-SAFI State + information"; + uses AF-STATE; + } + container multi-topology { + description + "This container defines multi-topology + address-family configuration and state + information"; + uses MULTI-TOPOLOGY; + } + } + + grouping LEVEL2-TO-LEVEL1-STATE { + description + "LEVEL2 TO LEVEL1 STATE"; + leaf-list import-policy { + type Yang2bag-string; + description + "list of policy names in sequence to be applied + on receiving a routing update in the current + context, e"; + } + } + + grouping LEVEL2-TO-LEVEL1 { + description + "LEVEL2 TO LEVEL1"; + container state { + description + "Operational state parameters relating to the + propagation of prefixes from IS-IS Level 2 to + Level 1"; + uses LEVEL2-TO-LEVEL1-STATE; + } + } + + grouping LEVEL1-TO-LEVEL2-STATE { + description + "LEVEL1 TO LEVEL2 STATE"; + leaf-list import-policy { + type Yang2bag-string; + description + "list of policy names in sequence to be applied + on receiving a routing update in the current + context, e"; + } + } + + grouping LEVEL1-TO-LEVEL2 { + description + "LEVEL1 TO LEVEL2"; + container state { + description + "Operational state parameters relating to the + propagation of prefixes from IS-IS Level 1 to + Level 2"; + uses LEVEL1-TO-LEVEL2-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-INTER-LEVEL-PROPAGATION-POLICIES { + description + "Policies to propagate prefixes between IS-IS + levels"; + container level1-to-level2 { + description + "Policies relating to prefixes to be propagated + from Level 1 to Level 2"; + uses LEVEL1-TO-LEVEL2; + } + container level2-to-level1 { + description + "Policies relating to prefixes to be propagated + from Level2 to Level 1"; + uses LEVEL2-TO-LEVEL1; + } + } + + grouping OVERLAY-OCNI-ISIS-GLOBAL-STATE { + description + "This container defines state for ISIS global + router"; + leaf authentication-check { + type boolean; + description + "When set to true, reject all ISIS protocol PDUs + that either have a mismatch in + authentication-type or authentication-key"; + } + leaf instance { + type Yang2bag-string; + description + "ISIS Instance"; + } + leaf maximum-area-addresses { + type uint8; + description + "Maximum areas supported"; + } + leaf level-capability { + type Openconfig-isis-types-level-type-enum; + description + "ISIS level capability(level-1, level-2 + ,vlevel-1-2)"; + } + leaf max-ecmp-paths { + type uint8; + description + "ISIS max-paths count"; + } + leaf poi-tlv { + type boolean; + description + "ISIS purge TLV"; + } + leaf iid-tlv { + type boolean; + description + "ISIS Instance Identifier TLV"; + } + leaf fast-flooding { + type boolean; + description + "When set to true, IS will always flood the LSP + that triggered an SPF before the router actually + runs the SPF computation"; + } + leaf-list net { + type Yang2bag-string; + description + "ISIS network entity title (NET)"; + } + } + + grouping GRACEFUL-RESTART-STATE { + description + "GRACEFUL RESTART STATE"; + leaf enabled { + type boolean; + description + "When set to true, the functionality within which + this leaf is defined is enabled, when set to + false it is explicitly disabled"; + } + leaf helper-only { + type boolean; + description + "Enable or disable the IS-IS graceful restart + helper function"; + } + } + + grouping OVERLAY-OCNI-ISIS-GRACEFUL-RESTART { + description + "This container defines ISIS Graceful Restart"; + container state { + description + "This container defines state information for + ISIS graceful-restart"; + uses GRACEFUL-RESTART-STATE; + } + } + + grouping NSR-STATE { + description + "NSR STATE"; + leaf enabled { + type boolean; + description + "When set to true, the functionality within which + this leaf is defined is enabled, when set to + false it is explicitly disabled"; + } + } + + grouping OVERLAY-OCNI-ISIS-NSR { + description + "This container defines ISIS Non-Stop Routing"; + container state { + description + "This container defines state for + Non-Stop-Routing"; + uses NSR-STATE; + } + } + + grouping ATTACHED-BIT-STATE { + description + "ATTACHED BIT STATE"; + leaf ignore-bit { + type boolean; + description + "When set to true, if the attached bit is set on + an incoming Level 1 IS-IS, the local system + ignores it"; + } + leaf suppress-bit { + type boolean; + description + "When set to true, if the local IS acts as a L1L2 + router, then the attached bit is not advertised + in locally generated PDUs"; + } + } + + grouping OVERLAY-OCNI-ISIS-ATTACHED-BIT { + description + "This container defines Attached Bit"; + container state { + description + "This container defines state for Link State PDU + Bit"; + uses ATTACHED-BIT-STATE; + } + } + + grouping RESET-TRIGGER-STATE { + description + "RESET TRIGGER STATE"; + leaf reset-trigger { + type Yang2bag-string; + description + "In the case that the system sets the overload + bit on start, the system should reset the bit (i"; + } + leaf delay { + type uint16; + units "second"; + description + "If a reset trigger is specified, the system + should delay resetting the overload bit for the + specified number of seconds after the trigger + occurs"; + } + } + + grouping OVERLAY-OCNI-ISIS-RESET-TRIGGER { + description + "This list describes ISIS Overload reset trigger + reasons"; + container state { + description + "This container defines state for ISIS Overload + Bit reset triggers"; + uses RESET-TRIGGER-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-OVERLOAD-BIT-STATE { + description + "This container defines state for ISIS Overload + Bit"; + leaf set-bit { + type boolean; + description + "When set to true, IS-IS overload bit is set"; + } + leaf set-bit-on-boot { + type boolean; + description + "When set to true, the IS-IS overload bit is set + on system boot"; + } + leaf advertise-high-metric { + type boolean; + description + "When set to true, the local IS advertises links + with the highest available metric regardless of + their configured metric"; + } + } + + grouping SEGMENT-ROUTING-STATE { + description + "SEGMENT ROUTING STATE"; + leaf enabled { + type boolean; + description + "When this leaf is set to true, the segment + routing extensions are utilised within the IGP"; + } + } + + grouping OVERLAY-OCNI-ISIS-SEGMENT-ROUTING { + description + "Configuration and operational state relating to + segment routing"; + container state { + description + "Operational state parameters relating to segment + routing for the IGP instance"; + uses SEGMENT-ROUTING-STATE; + } + } + + grouping INTERFACE-TIMERS-STATE { + description + "INTERFACE TIMERS STATE"; + leaf csnp-interval { + type uint16; + units "second"; + description + "The interval, specified in seconds, at which + periodic CSNP packets should be transmitted by + the local IS"; + } + leaf lsp-pacing-interval { + type uint64; + units "millisecond"; + description + "The interval interval in milliseconds between + the detection of topology change and when the + SPF algorithm runs"; + } + } + + grouping OVERLAY-OCNI-ISIS-INTERFACE-TIMERS { + description + "This container describes ISIS interface timers + configuration"; + container state { + description + "This container defines state information for + ISIS interface timers"; + uses INTERFACE-TIMERS-STATE; + } + } + + grouping AUTHENTICATION-KEY-STATE { + description + "AUTHENTICATION KEY STATE"; + leaf auth-password { + type Yang2bag-string; + description + "Authentication key string"; + } + } + + grouping AUTHENTICATION-KEY { + description + "AUTHENTICATION KEY"; + container state { + description + "This container defines ISIS authentication key + state"; + uses AUTHENTICATION-KEY-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-INTERFACE-AUTHENTICATION { + description + "This container defines ISIS authentication"; + container key { + description + "This container defines ISIS authentication key"; + uses AUTHENTICATION-KEY; + } + } + + grouping BFD-STATE { + description + "BFD STATE"; + leaf bfd-tlv { + type boolean; + description + "When set to true, BFD TLV is used"; + } + } + + grouping OVERLAY-OCNI-ISIS-BFD { + description + "This container defines BFD"; + container state { + description + "This container defines BFD state information"; + uses BFD-STATE; + } + } + + grouping CIRCUIT-COUNTERS-STATE { + description + "CIRCUIT COUNTERS STATE"; + leaf adj-changes { + type uint32; + description + "Number of times an adjacency state change has + occurred on this circuit"; + } + leaf init-fails { + type uint32; + description + "Number of times initialization of this circuit + has failed"; + } + leaf rejected-adj { + type uint32; + description + "Number of times an adjacency has been rejected + on this circuit"; + } + leaf id-field-len-mismatches { + type uint32; + description + "Number of times an IS-IS control PDU with an ID + field length different from that for this system + has been received"; + } + leaf max-area-address-mismatches { + type uint32; + description + "Number of times an IS-IS control PDU with a max + area address field different from that for this + system has been received"; + } + leaf auth-type-fails { + type uint32; + description + "Number of times an IS-IS control PDU with an + auth type field different from that for this + system has been received"; + } + leaf auth-fails { + type uint32; + description + "Number of times an IS-IS control PDU with the + correct auth type has failed to pass + authentication validation"; + } + leaf lan-dis-changes { + type uint32; + description + "Number of times the Designated IS has changed on + this circuit at this level"; + } + leaf adj-number { + type uint32; + description + "Number of adjacencies on this circuit"; + } + } + + grouping OVERLAY-OCNI-ISIS-CIRCUIT-COUNTERS { + description + "This container defines state information for ISIS + circuit counters"; + container state { + description + "The container defines a list of counters for IS + circuit"; + uses CIRCUIT-COUNTERS-STATE; + } + } + + grouping SEGMENT-ROUTING-PREFIX-SIDS-PREFIX-SID-STATE { + description + "SEGMENT ROUTING PREFIX SIDS PREFIX SID STATE"; + leaf prefix { + type Yang2bag-string; + description + "The IP prefix for which the IGP prefix SID + should be advertised"; + } + leaf sid-id { + type Yang2bag-string; + description + "The Segment Identifier to be used when + advertising the IGP Prefix SID"; + } + leaf label-options { + type Openconfig-segment-routing-label-options-enum; + description + "The options associated with the IGP prefix SID + for MPLS"; + } + } + + grouping OVERLAY-OCNI-ISIS-SEGMENT-ROUTING-PREFIX-SIDS-PREFIX-SID { + description + "An IGP prefix that should have a segment routing + IGP-Prefix SID allocated to it"; + container state { + description + "Operational state parameters for the IGP-Prefix + SID"; + uses SEGMENT-ROUTING-PREFIX-SIDS-PREFIX-SID-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-AF-STATE { + description + "This container defines AFI-SAFI State information"; + leaf afi-name { + type Yang2bag-string; + description + "Address-family type"; + } + leaf safi-name { + type Yang2bag-string; + description + "Subsequent address-family type"; + } + leaf metric { + type uint32; + description + "ISIS metric value(default=10)"; + } + } + + grouping LEVEL-TIMERS-STATE { + description + "LEVEL TIMERS STATE"; + leaf hello-interval { + type uint32; + description + "ISIS hello-interval value"; + } + leaf hello-multiplier { + type uint8; + description + "ISIS hello-multiplier value"; + } + } + + grouping OVERLAY-OCNI-ISIS-LEVEL-TIMERS { + description + "This container defines ISIS timers"; + container state { + description + "This container defines ISIS interface + hello-timers state"; + uses LEVEL-TIMERS-STATE; + } + } + + grouping ADJACENCY-STATE { + description + "ADJACENCY STATE"; + leaf system-id { + type Yang2bag-string; + description + "ISIS neighbor system-id"; + } + leaf neighbor-ipv4-address { + type Yang2bag-ipv4-addr; + description + "ISIS Neighbor IPv4 address"; + } + leaf neighbor-ipv6-address { + type Yang2bag-ipv6-addr; + description + "ISIS Neighbor IPv6 address"; + } + leaf neighbor-snpa { + type Yang2bag-string; + description + "ISIS neighbor SNPA"; + } + leaf local-extended-circuit-id { + type uint32; + description + "Local extended circuit ID"; + } + leaf neighbor-extended-circuit-id { + type uint32; + description + "ISIS neighbor extended circuit ID"; + } + leaf priority { + type uint8; + description + "Priority of the neighboring IS(LAN Hello only)"; + } + leaf dis-system-id { + type Yang2bag-string; + description + "DIS System ID(LAN hello only)"; + } + leaf neighbor-circuit-type { + type Openconfig-isis-types-level-type-enum; + description + "Received ISIS circuit type (level-1, level-2, + level-1-2)"; + } + leaf adjacency-type { + type Openconfig-isis-types-level-type-enum; + description + "Formed ISIS adjacency type(level-1, level-2, + level-1-2)"; + } + leaf adjacency-state { + type Openconfig-isis-types-isis-interface-adj-state-enum; + description + "P2P 3-way ISIS adjacency state(up, down, init, + failed)"; + } + leaf remaining-hold-time { + type uint16; + units "second"; + description + "Holding time in seconds for adjacency"; + } + leaf up-time { + type uint32; + description + "Adjacency up time"; + } + leaf multi-topology { + type boolean; + description + "When set to true, ISIS multi-topology is + supported"; + } + leaf restart-support { + type boolean; + description + "When set to true, Graceful-restart signaling is + supported"; + } + leaf restart-suppress { + type boolean; + description + "When set to true, adjacency is not advertised"; + } + leaf restart-status { + type boolean; + description + "When set to true, neighbor is being helped"; + } + leaf-list topology { + type Yang2bag-string; + description + "ISIS topology type support(ipv4-unicast, + ipv6-unicast, ipv4-multicast, ipv6-multicast)"; + } + leaf-list area-address { + type Yang2bag-string; + description + "List of ISIS area-address(es)"; + } + leaf-list nlpid { + type Openconfig-isis-adjacency-state-nlpid-enum; + description + "Supported Protocol"; + } + } + + grouping OVERLAY-OCNI-ISIS-ADJACENCY { + description + "List of the local system's IS-IS adjacencies"; + container state { + description + "Operational state relating to the IS-IS + adjacency with the remote system"; + uses ADJACENCY-STATE; + } + } + + grouping UNKNOWN-STATE { + description + "UNKNOWN STATE"; + leaf received { + type uint32; + description + "The number of the specified type of PDU received + on the interface"; + } + leaf processed { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been processed by the + local system"; + } + leaf dropped { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been dropped"; + } + leaf sent { + type uint32; + description + "The number of the specified type of PDU that + have been sent by the local system on the + interface"; + } + leaf retransmit { + type uint32; + description + "The number of the specified type of PDU that + that have been retransmitted by the local system + on the interface"; + } + } + + grouping UNKNOWN { + description + "UNKNOWN"; + container state { + description + "Packet counters relating to unknown PDUs"; + uses UNKNOWN-STATE; + } + } + + grouping CSNP-STATE { + description + "CSNP STATE"; + leaf received { + type uint32; + description + "The number of the specified type of PDU received + on the interface"; + } + leaf processed { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been processed by the + local system"; + } + leaf dropped { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been dropped"; + } + leaf sent { + type uint32; + description + "The number of the specified type of PDU that + have been sent by the local system on the + interface"; + } + leaf retransmit { + type uint32; + description + "The number of the specified type of PDU that + that have been retransmitted by the local system + on the interface"; + } + } + + grouping CSNP { + description + "CSNP"; + container state { + description + "Packet counters relating to CSNPs"; + uses CSNP-STATE; + } + } + + grouping PSNP-STATE { + description + "PSNP STATE"; + leaf received { + type uint32; + description + "The number of the specified type of PDU received + on the interface"; + } + leaf processed { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been processed by the + local system"; + } + leaf dropped { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been dropped"; + } + leaf sent { + type uint32; + description + "The number of the specified type of PDU that + have been sent by the local system on the + interface"; + } + leaf retransmit { + type uint32; + description + "The number of the specified type of PDU that + that have been retransmitted by the local system + on the interface"; + } + } + + grouping PSNP { + description + "PSNP"; + container state { + description + "Packet counters relating to PSNPs"; + uses PSNP-STATE; + } + } + + grouping IIH-STATE { + description + "IIH STATE"; + leaf received { + type uint32; + description + "The number of the specified type of PDU received + on the interface"; + } + leaf processed { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been processed by the + local system"; + } + leaf dropped { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been dropped"; + } + leaf sent { + type uint32; + description + "The number of the specified type of PDU that + have been sent by the local system on the + interface"; + } + leaf retransmit { + type uint32; + description + "The number of the specified type of PDU that + that have been retransmitted by the local system + on the interface"; + } + } + + grouping IIH { + description + "IIH"; + container state { + description + "Operational counters relating to IIH PDUs"; + uses IIH-STATE; + } + } + + grouping LSP-STATE { + description + "LSP STATE"; + leaf received { + type uint32; + description + "The number of the specified type of PDU received + on the interface"; + } + leaf processed { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been processed by the + local system"; + } + leaf dropped { + type uint32; + description + "The number of the specified type of PDU received + on the interface that have been dropped"; + } + leaf sent { + type uint32; + description + "The number of the specified type of PDU that + have been sent by the local system on the + interface"; + } + leaf retransmit { + type uint32; + description + "The number of the specified type of PDU that + that have been retransmitted by the local system + on the interface"; + } + } + + grouping PACKET-COUNTERS-LSP { + description + "PACKET COUNTERS LSP"; + container state { + description + "This container defines LSP PDU counters"; + uses LSP-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-PACKET-COUNTERS { + description + "This container defines ISIS interface packet + counters"; + container lsp { + description + "This container defines LSP packet counters"; + uses PACKET-COUNTERS-LSP; + } + container iih { + description + "This container defines IIH packet counters"; + uses IIH; + } + container psnp { + description + "This container defines PSNP packet counters"; + uses PSNP; + } + container csnp { + description + "Operational state parameters relating to CSNPs"; + uses CSNP; + } + container unknown { + description + "Operational state parameters relating to IS-IS + PDUs that are not otherwise classified - + referred to as Unknown PDUs"; + uses UNKNOWN; + } + } + + grouping OVERLAY-OCNI-ISIS-LEVELS-LEVEL-STATE { + description + "This container defines interface ISIS level state + information"; + leaf level-number { + type uint8; + description + "ISIS level number(level-1, level-2)"; + } + leaf priority { + type uint8; + description + "ISIS neighbor priority(LAN hello PDU only)"; + } + } + + grouping HELLO-AUTHENTICATION-KEY-STATE { + description + "HELLO AUTHENTICATION KEY STATE"; + leaf auth-password { + type Yang2bag-string; + description + "Authentication key string"; + } + } + + grouping HELLO-AUTHENTICATION-KEY { + description + "HELLO AUTHENTICATION KEY"; + container state { + description + "This container defines ISIS authentication key + state"; + uses HELLO-AUTHENTICATION-KEY-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-HELLO-AUTHENTICATION { + description + "This container defines ISIS authentication"; + container key { + description + "This container defines ISIS authentication key"; + uses HELLO-AUTHENTICATION-KEY; + } + } + + grouping OVERLAY-OCNI-ISIS-INTERFACE-STATE { + description + "This container defines state information for ISIS + interfaces"; + leaf enabled { + type boolean; + description + "When set to true, the functionality within which + this leaf is defined is enabled, when set to + false it is explicitly disabled"; + } + leaf interface-id { + type Yang2bag-string; + description + "Interface for which ISIS configuration is to be + applied"; + } + leaf passive { + type boolean; + description + "When set to true, the referenced interface is a + passive interface such that it is not eligible + to establish adjacencies with other systems, but + is advertised into the IS-IS topology"; + } + leaf hello-padding { + type Openconfig-isis-types-hello-padding-type-enum; + description + "This leaf controls padding type for IS-IS Hello + PDUs"; + } + leaf circuit-type { + type Openconfig-isis-types-circuit-type-enum; + description + "ISIS circuit type (p2p, broadcast)"; + } + } + + grouping AFI-SAFI-AF-STATE { + description + "AFI SAFI AF STATE"; + leaf afi-name { + type Yang2bag-string; + description + "Address-family type"; + } + leaf safi-name { + type Yang2bag-string; + description + "Subsequent address-family type"; + } + leaf enabled { + type boolean; + description + "When set to true, the functionality within which + this leaf is defined is enabled, when set to + false it is explicitly disabled"; + } + } + + grouping OVERLAY-OCNI-ISIS-AFI-SAFI-AF { + description + "Address-family/Subsequent Address-family list"; + container state { + description + "This container defines AFI-SAFI State + information"; + uses AFI-SAFI-AF-STATE; + } + } + + grouping OVERLAY-OCNI-ISIS-PROTOCOL-STATE { + description + "State parameters relating to the routing protocol + instance"; + leaf identifier { + type Yang2bag-string; + description + "The protocol identifier for the instance"; + } + leaf name { + type Yang2bag-string; + description + "A unique name for the protocol instance"; + } + } + + grouping STATE { + description + "STATE"; + leaf id { + type Yang2bag-string; + description + "A unique identifier for this interface - this is + expressed as a free-text string"; + } + } + + grouping OVERLAY-OCNI-ISIS-INTERFACE { + description + "An interface associated with the network instance"; + container state { + description + "Operational state parameters relating to the + associated interface"; + uses STATE; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper.yang new file mode 100644 index 000000000..4e5b77364 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-test-ocni-isis-oper.yang @@ -0,0 +1,1875 @@ +module Cisco-IOS-XR-test-ocni-isis-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-test-ocni-isis-oper"; + prefix test-ocni-isis-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-test-ocni-isis-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR test-ocni-isis package operational data. + + This module contains definitions + for the following management objects: + ocni-isis: An OpenConfig description of a network-instance + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Oc-netinstisis-integer64 { + type string; + description + "Oc netinstisis integer64"; + } + + container ocni-isis { + config false; + description + "An OpenConfig description of a network-instance"; + container network-instances { + description + "Network instances configured on the local system"; + list network-instance { + key "name"; + description + "Network instances configured on the local + system"; + container interfaces { + description + "An interface associated with the network + instance"; + list interface { + key "id"; + description + "An interface associated with the network + instance"; + leaf id { + type string; + description + "A reference to an identifier for this + interface which acts as a key for this list"; + } + uses OVERLAY-OCNI-ISIS-INTERFACE; + } + } + container protocols { + description + "A process (instance) of a routing protocol"; + list protocol { + key "identifier name"; + description + "A process (instance) of a routing protocol"; + container protocols-state { + description + "State parameters relating to the routing + protocol instance"; + uses OVERLAY-OCNI-ISIS-PROTOCOL-STATE; + } + container isis { + description + "This container defines top-level ISIS + configuration and state information"; + container isis-interfaces { + description + "This list contains ISIS interfaces"; + list isis-interface { + key "interface-id"; + description + "This list contains ISIS interfaces"; + container interfaces-afi-safis { + description + "Address-family/Subsequent Address-family + list"; + list interfaces-afi-safi { + key "afi-name safi-name"; + description + "Address-family/Subsequent Address-family + list"; + leaf afi-name { + type string; + description + "Reference to address-family type"; + } + leaf safi-name { + type string; + description + "Reference to subsequent address-family + type"; + } + uses OVERLAY-OCNI-ISIS-AFI-SAFI-AF; + } + } + container interfaces-state { + description + "This container defines state information + for ISIS interfaces"; + uses OVERLAY-OCNI-ISIS-INTERFACE-STATE; + } + container interfaces-levels { + description + "Configuration and operational state + parameters related to a particular level + on an IS-IS enabled interface"; + list interfaces-level { + key "level-number"; + description + "Configuration and operational state + parameters related to a particular level + on an IS-IS enabled interface"; + container hello-authentication { + description + "This container defines ISIS + authentication"; + uses OVERLAY-OCNI-ISIS-HELLO-AUTHENTICATION; + } + container interfaces-levels-state { + description + "This container defines interface ISIS + level state information"; + uses OVERLAY-OCNI-ISIS-LEVELS-LEVEL-STATE; + } + container packet-counters { + description + "This container defines ISIS interface + packet counters"; + uses OVERLAY-OCNI-ISIS-PACKET-COUNTERS; + } + container adjacencies { + description + "List of the local system's IS-IS + adjacencies"; + list adjacency { + key "system-id"; + description + "List of the local system's IS-IS + adjacencies"; + leaf system-id { + type string; + description + "Reference to the IS neighbor"; + } + uses OVERLAY-OCNI-ISIS-ADJACENCY; + } + } + container levels-timers { + description + "This container defines ISIS timers"; + uses OVERLAY-OCNI-ISIS-LEVEL-TIMERS; + } + container levels-afi-safis { + description + "Address-family/Subsequent + Address-family list"; + list levels-afi-safi { + key "afi-name safi-name"; + description + "Address-family/Subsequent + Address-family list"; + container afi-safi-state { + description + "This container defines AFI-SAFI State + information"; + uses OVERLAY-OCNI-ISIS-AF-STATE; + } + container afi-safi-segment-routing { + description + "Configuration and operatioanl state + parameters relating to segment + routing for an interface within the + IGP"; + container segment-routing-prefix-sids { + description + "An IGP prefix that should have a + segment routing IGP-Prefix SID + allocated to it"; + list segment-routing-prefix-sid { + key "prefix"; + description + "An IGP prefix that should have a + segment routing IGP-Prefix SID + allocated to it"; + leaf prefix { + type string; + description + "Reference to the prefix for which + the IGP-Prefix SID is to be + advertised"; + } + uses OVERLAY-OCNI-ISIS-SEGMENT-ROUTING-PREFIX-SIDS-PREFIX-SID; + } + } + } + leaf afi-name { + type string; + description + "Reference to address-family type"; + } + leaf safi-name { + type string; + description + "Reference to subsequent + address-family type"; + } + } + } + leaf level-number { + type uint32; + description + "Reference to ISIS level-number"; + } + } + } + container circuit-counters { + description + "This container defines state information + for ISIS circuit counters"; + uses OVERLAY-OCNI-ISIS-CIRCUIT-COUNTERS; + } + container bfd { + description + "This container defines BFD"; + uses OVERLAY-OCNI-ISIS-BFD; + } + container interfaces-authentication { + description + "This container defines ISIS + authentication"; + uses OVERLAY-OCNI-ISIS-INTERFACE-AUTHENTICATION; + } + container interfaces-timers { + description + "This container describes ISIS interface + timers configuration"; + uses OVERLAY-OCNI-ISIS-INTERFACE-TIMERS; + } + leaf interface-id { + type string; + description + "Reference to interface-id"; + } + } + } + container global { + description + "This container defines global ISIS + configuration and state information"; + container segment-routing { + description + "Configuration and operational state + relating to segment routing"; + uses OVERLAY-OCNI-ISIS-SEGMENT-ROUTING; + } + container lsp-bit { + description + "This container defines ISIS LSP + Operational Bits"; + container overload-bit { + description + "This container defines Overload Bit + configuration"; + container overload-bit-state { + description + "This container defines state for ISIS + Overload Bit"; + uses OVERLAY-OCNI-ISIS-OVERLOAD-BIT-STATE; + } + container reset-triggers { + description + "This list describes ISIS Overload reset + trigger reasons"; + list reset-trigger { + key "reset-trigger"; + description + "This list describes ISIS Overload reset + trigger reasons"; + leaf reset-trigger { + type string; + description + "Reference to the reset trigger reason"; + } + uses OVERLAY-OCNI-ISIS-RESET-TRIGGER; + } + } + } + container attached-bit { + description + "This container defines Attached Bit"; + uses OVERLAY-OCNI-ISIS-ATTACHED-BIT; + } + } + container nsr { + description + "This container defines ISIS Non-Stop + Routing"; + uses OVERLAY-OCNI-ISIS-NSR; + } + container graceful-restart { + description + "This container defines ISIS Graceful + Restart"; + uses OVERLAY-OCNI-ISIS-GRACEFUL-RESTART; + } + container global-state { + description + "This container defines state for ISIS + global router"; + uses OVERLAY-OCNI-ISIS-GLOBAL-STATE; + } + container inter-level-propagation-policies { + description + "Policies to propagate prefixes between + IS-IS levels"; + uses OVERLAY-OCNI-ISIS-INTER-LEVEL-PROPAGATION-POLICIES; + } + container afi-safis { + description + "Address-family/Subsequent Address-family + list"; + list afi-safi { + key "afi-name safi-name"; + description + "Address-family/Subsequent Address-family + list"; + leaf afi-name { + type string; + description + "Reference to address-family type"; + } + leaf safi-name { + type string; + description + "Reference to subsequent address-family + type"; + } + uses OVERLAY-OCNI-ISIS-AF; + } + } + container timers { + description + "This container defines ISIS timers"; + uses OVERLAY-OCNI-ISIS-TIMERS; + } + container transport { + description + "This container defines ISIS transport"; + uses OVERLAY-OCNI-ISIS-TRANSPORT; + } + } + container levels { + description + "Configuration and operational state + parameters related to a particular level + within the IS-IS protocol instance"; + list level { + key "level-number"; + description + "Configuration and operational state + parameters related to a particular level + within the IS-IS protocol instance"; + container route-preference { + description + "This container defines Administrative + Distance (or preference) assigned to ISIS + routes (level1 internal, level2 internal, + level1 external, level2 external)"; + uses OVERLAY-OCNI-ISIS-ROUTE-PREFERENCE; + } + container levels-state { + description + "This container defines ISIS level state + information"; + uses OVERLAY-OCNI-ISIS-LEVEL-STATE; + } + container traffic-engineering { + description + "This container defines ISIS TE"; + uses OVERLAY-OCNI-ISIS-TRAFFIC-ENGINEERING; + } + container levels-authentication { + description + "This container defines ISIS + authentication"; + uses OVERLAY-OCNI-ISIS-LEVEL-AUTHENTICATION; + } + container system-level-counters { + description + "This container defines ISIS system level + counters"; + uses OVERLAY-OCNI-ISIS-SYSTEM-LEVEL-COUNTERS; + } + container link-state-databases { + description + "This list describes LSPs in the LSDB"; + list link-state-database { + key "lsp-id"; + description + "This list describes LSPs in the LSDB"; + container undefined-tlvs { + description + "List of TLVs that are not defined + within the model, or are not recognised + by the system"; + list undefined-tlv { + key "type"; + description + "List of TLVs that are not defined + within the model, or are not + recognised by the system"; + leaf type { + type uint32; + description + "Reference to the undefined TLV's type"; + } + uses OVERLAY-OCNI-ISIS-UNDEFINED-TLV; + } + } + container link-state-database-state { + description + "State parameters of Link State PDU"; + uses OVERLAY-OCNI-ISIS-LSP-STATE; + } + container tlvses { + description + "List of TLV types in the LSDB for the + specified LSP"; + list tlvs { + key "type"; + description + "List of TLV types in the LSDB for the + specified LSP"; + container area-address { + description + "This container defines TLV 1"; + uses OVERLAY-OCNI-ISIS-AREA-ADDRESS; + } + container authentication { + description + "This container defines authentication + information of the node"; + uses OVERLAY-OCNI-ISIS-AUTHENTICATION; + } + container ipv4-interface-addresses { + description + "This container defines TLV 132"; + uses OVERLAY-OCNI-ISIS-IPV4-INTERFACE-ADDRESSES; + } + container router-capabilities { + description + "This list describes IS Router + capabilities"; + list router-capability { + key "instance-number"; + description + "This list describes IS Router + capabilities"; + container router-capabilities-state { + description + "State parameters of TLV 242"; + uses OVERLAY-OCNI-ISIS-CAPABILITY-STATE; + } + container undefined-subtlvs { + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + list undefined-subtlv { + key "type"; + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + leaf type { + type uint32; + description + "Reference to the type of the + undefined sub-TLV"; + } + uses OVERLAY-OCNI-ISIS-UNDEFINED-SUBTLV; + } + } + container subtlvs { + description + "List of subTLV types in the LSDB + for the specified TLV"; + list subtlv { + key "type"; + description + "List of subTLV types in the LSDB + for the specified TLV"; + container subtlvs-state { + description + "State parameters of IS Router + Capabilities"; + uses OVERLAY-OCNI-ISIS-SUBTLV-STATE; + } + container segment-routing-algorithms { + description + "This container defines SR + algorithm sub-TLV 19"; + uses OVERLAY-OCNI-ISIS-SEGMENT-ROUTING-ALGORITHMS; + } + container segment-routing-capability { + description + "This container defines SR + Capability sub-TLV 2"; + container segment-routing-capability-state { + description + "State parameters of IS SR Router + Capability"; + uses OVERLAY-OCNI-ISIS-SEGMENT-ROUTING-CAPABILITY-STATE; + } + container srgb-descriptors { + description + "Descriptor entry within the SR + capabilty sub-TLV"; + list srgb-descriptor { + key "range"; + description + "Descriptor entry within the SR + capabilty sub-TLV"; + leaf range { + type uint32; + description + "Reference to unique SRGB + Descriptor"; + } + uses OVERLAY-OCNI-ISIS-SRGB-DESCRIPTOR; + } + } + } + leaf type { + type string; + description + "Reference to the sub-TLV type"; + } + } + } + leaf instance-number { + type uint32; + description + "Reference to the instance number of + the router capability TLV"; + } + } + } + container mt-ipv4-reachability { + description + "This container defines list of IPv4 + reachability Information in + multi-topology environment"; + container mt-ipv4-reachability-prefixes { + description + "IPv4 prefixes that are contained + within MT reachability TLV"; + list mt-ipv4-reachability-prefixe { + key "mt-id prefix"; + description + "IPv4 prefixes that are contained + within MT reachability TLV"; + container mt-ipv4-reachability-prefixes-state { + description + "State parameters of an IPv4 + extended prefix"; + uses OVERLAY-OCNI-ISIS-MT-IPV4-REACHABILITY-PREFIXES-PREFIX-STATE; + } + container mt-ipv4-reachability-prefixes-undefined-subtlvs { + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + list mt-ipv4-reachability-prefixes-undefined-subtlv { + key "type"; + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + leaf type { + type uint32; + description + "Reference to the type of the + undefined sub-TLV"; + } + uses OVERLAY-OCNI-ISIS-MT-IPV4-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV; + } + } + container mt-ipv4-reachability-prefixes-subtlvs { + description + "List of subTLV types in the LSDB + for the specified TLV"; + list mt-ipv4-reachability-prefixes-subtlv { + key "type"; + description + "List of subTLV types in the LSDB + for the specified TLV"; + container prefixes-subtlvs-tag64 { + description + "This container defines sub-TLV 2"; + uses OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-TAG64; + } + container prefixes-subtlvs-tag { + description + "This container defines sub-TLV 1"; + uses OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-TAG; + } + container mt-ipv4-reachability-prefixes-subtlvs-state { + description + "State parameters for a prefix"; + uses OVERLAY-OCNI-ISIS-MT-IPV4-REACHABILITY-PREFIXES-PREFIX-SUBTLVS-SUBTLV-STATE; + } + container prefixes-subtlvs-ipv4-source-router-id { + description + "This container defines sub-TLV + 11"; + uses OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID; + } + container prefixes-subtlvs-ipv6-source-router-id { + description + "This container defines sub-TLV + 12"; + uses OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID; + } + container prefixes-subtlvs-prefix-sids { + description + "Prefix Segment-ID list"; + list prefixes-subtlvs-prefix-sid { + key "value"; + description + "Prefix Segment-ID list"; + leaf value { + type uint32; + description + "Reference to the value of the + prefix SID"; + } + uses OVERLAY-OCNI-ISIS-SUBTLV-PREFIX-SIDS-PREFIX-SID; + } + } + container prefixes-subtlvs-flags { + description + "This container defines sub-TLV 4"; + uses OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-FLAGS; + } + leaf type { + type string; + description + "Reference to the sub-TLV type"; + } + } + } + leaf mt-id { + type uint32; + description + "Reference to the topology ID of + the topology that the prefix is + within"; + } + leaf prefix { + type string; + description + "Reference to the prefix to which + reachability is being advertised"; + } + } + } + } + container mt-isn { + description + "This container defines list of ISIS + multi-topology neighbors"; + container mt-isn-neighbors { + description + "This container describes IS + neighbors"; + list mt-isn-neighbor { + key "mt-id system-id"; + description + "This container describes IS + neighbors"; + container neighbors-instances { + description + "Instance of TLV-222 between the + originating and remote IS"; + list neighbors-instance { + key "id"; + description + "Instance of TLV-222 between the + originating and remote IS"; + container neighbors-instances-state { + description + "State parameters of MT neighbor"; + uses OVERLAY-OCNI-ISIS-INSTANCES-INSTANCE-STATE; + } + container neighbors-instances-undefined-subtlvs { + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + list neighbors-instances-undefined-subtlv { + key "type"; + description + "Sub-TLVs that are not defined + in the model or not recognised + by system"; + leaf type { + type uint32; + description + "Reference to the type of the + undefined sub-TLV"; + } + uses OVERLAY-OCNI-ISIS-INSTANCE-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV; + } + } + container neighbors-instances-subtlvs { + description + "List of subTLV types in the LSDB + for the specified TLV"; + list neighbors-instances-subtlv { + key "type"; + description + "List of subTLV types in the + LSDB for the specified TLV"; + container subtlvs-ipv6-neighbor-address { + description + "This container defines sub-TLV + 13"; + uses OVERLAY-OCNI-ISIS-SUBTLV-IPV6-NEIGHBOR-ADDRESS; + } + container subtlvs-link-id { + description + "This container defines sub-TLV + 4"; + uses OVERLAY-OCNI-ISIS-SUBTLV-LINK-ID; + } + container subtlvs-ipv4-interface-address { + description + "This container defines sub-TLV + 6"; + uses OVERLAY-OCNI-ISIS-SUBTLV-IPV4-INTERFACE-ADDRESS; + } + container subtlvs-max-reservable-link-bandwidth { + description + "This container defines sub-TLV + 10"; + uses OVERLAY-OCNI-ISIS-SUBTLV-MAX-RESERVABLE-LINK-BANDWIDTH; + } + container subtlvs-max-link-bandwidth { + description + "This container defines sub-TLV + 9"; + uses OVERLAY-OCNI-ISIS-SUBTLV-MAX-LINK-BANDWIDTH; + } + container subtlvs-adjacency-sids { + description + "Adjacency Segment-IDs List"; + list subtlvs-adjacency-sid { + key "value"; + description + "Adjacency Segment-IDs List"; + leaf value { + type uint32; + description + "Reference to the value of + the Adjacency-SID"; + } + uses OVERLAY-OCNI-ISIS-ADJACENCY-SIDS-ADJACENCY-SID; + } + } + container subtlvs-link-loss { + description + "This container defines + unidirectional link loss delay"; + uses OVERLAY-OCNI-ISIS-SUBTLV-LINK-LOSS; + } + container subtlvs-min-max-link-delay { + description + "This container defines min/max + link delay"; + uses OVERLAY-OCNI-ISIS-SUBTLV-MIN-MAX-LINK-DELAY; + } + container subtlvs-bandwidth-constraints { + description + "List of the Bandwidth + Constraints sub-TLV instances + present in the TLV"; + list subtlvs-bandwidth-constraint { + key "model-id"; + description + "List of the Bandwidth + Constraints sub-TLV instances + present in the TLV"; + container bandwidth-constraints-constraints { + description + "List of the constraints + within the Bandwidth + Constraints sub-TLV"; + list bandwidth-constraints-constraint { + key "constraint-id"; + description + "List of the constraints + within the Bandwidth + Constraints sub-TLV"; + leaf constraint-id { + type uint32; + description + "Reference to the unique ID + for the BCN level"; + } + uses OVERLAY-OCNI-ISIS-CONSTRAINTS-CONSTRAINT; + } + } + container subtlvs-bandwidth-constraints-state { + description + "State parameters of IS + Extended Reachability + sub-TLV 22"; + uses OVERLAY-OCNI-ISIS-BANDWIDTH-CONSTRAINTS-BANDWIDTH-CONSTRAINT-STATE; + } + leaf model-id { + type uint32; + description + "Reference to the model ID + associated with the instance + of the Bandwidth Constraints + sub-TLV"; + } + } + } + container subtlvs-unreserved-bandwidths { + description + "Setup priority (0 through 7) + for unreserved bandwidth"; + list subtlvs-unreserved-bandwidth { + key "priority"; + description + "Setup priority (0 through 7) + for unreserved bandwidth"; + leaf priority { + type uint32; + description + "Reference to the setup + priority to which the + unreserved bandwidth + corresponds"; + } + uses OVERLAY-OCNI-ISIS-UNRESERVED-BANDWIDTH-SETUP-PRIORITY; + } + } + container subtlvs-ipv4-neighbor-address { + description + "This container defines sub-TLV + 8"; + uses OVERLAY-OCNI-ISIS-SUBTLV-IPV4-NEIGHBOR-ADDRESS; + } + container subtlvs-te-default-metric { + description + "This container defines sub-TLV + 18"; + uses OVERLAY-OCNI-ISIS-SUBTLV-TE-DEFAULT-METRIC; + } + container subtlvs-ipv6-interface-address { + description + "This container defines sub-TLV + 12"; + uses OVERLAY-OCNI-ISIS-SUBTLV-IPV6-INTERFACE-ADDRESS; + } + container subtlvs-available-bandwidth { + description + "This container defines + unidirectional lavailable + bandwidth"; + uses OVERLAY-OCNI-ISIS-SUBTLV-AVAILABLE-BANDWIDTH; + } + container subtlvs-admin-group { + description + "This container defines sub-TLV + 3"; + uses OVERLAY-OCNI-ISIS-SUBTLV-ADMIN-GROUP; + } + container neighbors-instances-subtlvs-state { + description + "State parameters of IS + neighbor state"; + uses OVERLAY-OCNI-ISIS-INSTANCE-SUBTLVS-SUBTLV-STATE; + } + container subtlvs-utilized-bandwidth { + description + "This container defines + unidirectional utilized + bandwidth"; + uses OVERLAY-OCNI-ISIS-SUBTLV-UTILIZED-BANDWIDTH; + } + container subtlvs-link-delay-variation { + description + "This container defines + unidirectional link delay + variation"; + uses OVERLAY-OCNI-ISIS-SUBTLV-LINK-DELAY-VARIATION; + } + container subtlvs-lan-adjacency-sids { + description + "Adjacency Segment-IDs List"; + list subtlvs-lan-adjacency-sid { + key "value"; + description + "Adjacency Segment-IDs List"; + leaf value { + type uint32; + description + "Reference to the value of + the LAN Adjacency-SID"; + } + uses OVERLAY-OCNI-ISIS-LAN-ADJACENCY-SIDS-LAN-ADJACENCY-SID; + } + } + container subtlvs-extended-admin-group { + description + "This container defines sub-TLV + 14"; + uses OVERLAY-OCNI-ISIS-SUBTLV-EXTENDED-ADMIN-GROUP; + } + container subtlvs-residual-bandwidth { + description + "This container defines + unidirectional residual + bandwidth"; + uses OVERLAY-OCNI-ISIS-SUBTLV-RESIDUAL-BANDWIDTH; + } + container subtlvs-link-delay { + description + "This container defines + unidirectional link delay"; + uses OVERLAY-OCNI-ISIS-SUBTLV-LINK-DELAY; + } + leaf type { + type string; + description + "Reference to the sub-TLV type"; + } + } + } + leaf id { + type Oc-netinstisis-integer64; + description + "Reference to the unique + identifier for the instance of + the multi-topology IS neighbor + TLV instance"; + } + } + } + container mt-isn-neighbors-state { + description + "Operational state parameters + related to the MT ISN TLV"; + uses OVERLAY-OCNI-ISIS-NEIGHBORS-NEIGHBOR-STATE; + } + leaf mt-id { + type uint32; + description + "Reference to the topology that the + neighbor is within"; + } + leaf system-id { + type string; + description + "Reference to the System ID of the + neighbor"; + } + } + } + } + container ipv6-srlgs { + description + "Instance of the IPv6 SRLG TLV"; + list ipv6-srlg { + key "instance-number"; + description + "Instance of the IPv6 SRLG TLV"; + leaf instance-number { + type uint32; + description + "Reference to the instance number of + the IPv6 Shared Risk Link Group + (SRLG) TLV"; + } + uses OVERLAY-OCNI-ISIS-IPV6-SRLG; + } + } + container tlvs-state { + description + "Operational state parameters relating + to the specified LSP"; + uses OVERLAY-OCNI-ISIS-TLV-STATE; + } + container purge-oi { + description + "This container defines ISIS purge TLV"; + uses OVERLAY-OCNI-ISIS-PURGE-OI; + } + container host-name { + description + "This container defines TLV 137"; + uses OVERLAY-OCNI-ISIS-HOSTNAME; + } + container ipv6-reachability { + description + "This container defines list of IPv6 + reachability information"; + container ipv6-reachability-prefixes { + description + "This list defines IPv6 extended + prefix attributes"; + list ipv6-reachability-prefixe { + key "prefix"; + description + "This list defines IPv6 extended + prefix attributes"; + container ipv6-reachability-prefixes-state { + description + "State parameters of IPv6 prefix + attributes"; + uses OVERLAY-OCNI-ISIS-PREFIXES-PREFIX-STATE; + } + container ipv6-reachability-prefixes-subtlvs { + description + "List of subTLV types in the LSDB + for the specified TLV"; + list ipv6-reachability-prefixes-subtlv { + key "type"; + description + "List of subTLV types in the LSDB + for the specified TLV"; + container subtlvs-tag { + description + "This container defines sub-TLV 1"; + uses OVERLAY-OCNI-ISIS-SUBTLV-TAG; + } + container subtlvs-tag64 { + description + "This container defines sub-TLV 2"; + uses OVERLAY-OCNI-ISIS-SUBTLV-TAG64; + } + container subtlvs-prefix-sids { + description + "Prefix Segment-ID list"; + list subtlvs-prefix-sid { + key "value"; + description + "Prefix Segment-ID list"; + leaf value { + type uint32; + description + "Reference to the value of the + prefix SID"; + } + uses OVERLAY-OCNI-ISIS-PREFIX-SIDS-PREFIX-SID; + } + } + container subtlvs-ipv4-source-router-id { + description + "This container defines sub-TLV + 11"; + uses OVERLAY-OCNI-ISIS-SUBTLV-IPV4-SOURCE-ROUTER-ID; + } + container ipv6-reachability-prefixes-subtlvs-state { + description + "State parameters for a prefix"; + uses OVERLAY-OCNI-ISIS-PREFIXES-PREFIX-SUBTLVS-SUBTLV-STATE; + } + container subtlvs-ipv6-source-router-id { + description + "This container defines sub-TLV + 12"; + uses OVERLAY-OCNI-ISIS-SUBTLV-IPV6-SOURCE-ROUTER-ID; + } + container subtlvs-flags { + description + "This container defines sub-TLV 4"; + uses OVERLAY-OCNI-ISIS-SUBTLV-FLAGS; + } + leaf type { + type string; + description + "Reference to the sub-TLV type"; + } + } + } + container ipv6-reachability-prefixes-undefined-subtlvs { + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + list ipv6-reachability-prefixes-undefined-subtlv { + key "type"; + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + leaf type { + type uint32; + description + "Reference to the type of the + undefined sub-TLV"; + } + uses OVERLAY-OCNI-ISIS-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV; + } + } + leaf prefix { + type string; + description + "Reference to the IPv6 prefix that + the TLV corresponds to"; + } + } + } + } + container ipv6-te-router-id { + description + "This container defines TLV 140"; + uses OVERLAY-OCNI-ISIS-IPV6-TE-ROUTER-ID; + } + container ipv4-internal-reachability { + description + "This container defines list of IPv4 + internal reachability information"; + container prefixes { + description + "IPv4 prefixes and internal + reachability attributes"; + list prefixe { + key "prefix"; + description + "IPv4 prefixes and internal + reachability attributes"; + leaf prefix { + type string; + description + "Reference to the IPv4 prefix"; + } + uses OVERLAY-OCNI-ISIS-PREFIX; + } + } + } + container ipv6-interface-addresses { + description + "This container defines TLV 232"; + uses OVERLAY-OCNI-ISIS-IPV6-INTERFACE-ADDRESSES; + } + container extended-is-reachability { + description + "This container defines list of ISIS + extended reachability neighbors"; + container extended-is-reachability-neighbors { + description + "This list describes ISIS extended + neighbors and reachability + attributes"; + list extended-is-reachability-neighbor { + key "system-id"; + description + "This list describes ISIS extended + neighbors and reachability + attributes"; + container instances { + description + "Instance of the TLV to the remote + IS neighbor"; + list instance { + key "id"; + description + "Instance of the TLV to the remote + IS neighbor"; + container instances-subtlvs { + description + "List of subTLV types in the LSDB + for the specified TLV"; + list instances-subtlv { + key "type"; + description + "List of subTLV types in the + LSDB for the specified TLV"; + container min-max-link-delay { + description + "This container defines min/max + link delay"; + uses OVERLAY-OCNI-ISIS-MIN-MAX-LINK-DELAY; + } + container max-link-bandwidth { + description + "This container defines sub-TLV + 9"; + uses OVERLAY-OCNI-ISIS-MAX-LINK-BANDWIDTH; + } + container ipv6-neighbor-address { + description + "This container defines sub-TLV + 13"; + uses OVERLAY-OCNI-ISIS-IPV6-NEIGHBOR-ADDRESS; + } + container ipv6-interface-address { + description + "This container defines sub-TLV + 12"; + uses OVERLAY-OCNI-ISIS-IPV6-INTERFACE-ADDRESS; + } + container lan-adjacency-sids { + description + "Adjacency Segment-IDs List"; + list lan-adjacency-sid { + key "value"; + description + "Adjacency Segment-IDs List"; + leaf value { + type uint32; + description + "Reference to the value of + the LAN Adjacency-SID"; + } + uses OVERLAY-OCNI-ISIS-LAN-ADJACENCY-SID; + } + } + container available-bandwidth { + description + "This container defines + unidirectional lavailable + bandwidth"; + uses OVERLAY-OCNI-ISIS-AVAILABLE-BANDWIDTH; + } + container adjacency-sids { + description + "Adjacency Segment-IDs List"; + list adjacency-sid { + key "value"; + description + "Adjacency Segment-IDs List"; + leaf value { + type uint32; + description + "Reference to the value of + the Adjacency-SID"; + } + uses OVERLAY-OCNI-ISIS-ADJACENCY-SID; + } + } + container te-default-metric { + description + "This container defines sub-TLV + 18"; + uses OVERLAY-OCNI-ISIS-TE-DEFAULT-METRIC; + } + container admin-group { + description + "This container defines sub-TLV + 3"; + uses OVERLAY-OCNI-ISIS-ADMIN-GROUP; + } + container link-delay-variation { + description + "This container defines + unidirectional link delay + variation"; + uses OVERLAY-OCNI-ISIS-LINK-DELAY-VARIATION; + } + container max-reservable-link-bandwidth { + description + "This container defines sub-TLV + 10"; + uses OVERLAY-OCNI-ISIS-MAX-RESERVABLE-LINK-BANDWIDTH; + } + container link-id { + description + "This container defines sub-TLV + 4"; + uses OVERLAY-OCNI-ISIS-LINK-ID; + } + container extended-admin-group { + description + "This container defines sub-TLV + 14"; + uses OVERLAY-OCNI-ISIS-EXTENDED-ADMIN-GROUP; + } + container unreserved-bandwidths { + description + "Setup priority (0 through 7) + for unreserved bandwidth"; + list unreserved-bandwidth { + key "priority"; + description + "Setup priority (0 through 7) + for unreserved bandwidth"; + leaf priority { + type uint32; + description + "Reference to the setup + priority to which the + unreserved bandwidth + corresponds"; + } + uses OVERLAY-OCNI-ISIS-SETUP-PRIORITY; + } + } + container link-loss { + description + "This container defines + unidirectional link loss delay"; + uses OVERLAY-OCNI-ISIS-LINK-LOSS; + } + container utilized-bandwidth { + description + "This container defines + unidirectional utilized + bandwidth"; + uses OVERLAY-OCNI-ISIS-UTILIZED-BANDWIDTH; + } + container ipv4-interface-address { + description + "This container defines sub-TLV + 6"; + uses OVERLAY-OCNI-ISIS-IPV4-INTERFACE-ADDRESS; + } + container ipv4-neighbor-address { + description + "This container defines sub-TLV + 8"; + uses OVERLAY-OCNI-ISIS-IPV4-NEIGHBOR-ADDRESS; + } + container residual-bandwidth { + description + "This container defines + unidirectional residual + bandwidth"; + uses OVERLAY-OCNI-ISIS-RESIDUAL-BANDWIDTH; + } + container bandwidth-constraints { + description + "List of the Bandwidth + Constraints sub-TLV instances + present in the TLV"; + list bandwidth-constraint { + key "model-id"; + description + "List of the Bandwidth + Constraints sub-TLV instances + present in the TLV"; + container constraints { + description + "List of the constraints + within the Bandwidth + Constraints sub-TLV"; + list constraint { + key "constraint-id"; + description + "List of the constraints + within the Bandwidth + Constraints sub-TLV"; + leaf constraint-id { + type uint32; + description + "Reference to the unique ID + for the BCN level"; + } + uses OVERLAY-OCNI-ISIS-CONSTRAINT; + } + } + container bandwidth-constraints-state { + description + "State parameters of IS + Extended Reachability + sub-TLV 22"; + uses OVERLAY-OCNI-ISIS-BANDWIDTH-CONSTRAINT-STATE; + } + leaf model-id { + type uint32; + description + "Reference to the model ID + associated with the instance + of the Bandwidth Constraints + sub-TLV"; + } + } + } + container instances-subtlvs-state { + description + "State parameters of IS + neighbor state"; + uses OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-STATE; + } + container link-delay { + description + "This container defines + unidirectional link delay"; + uses OVERLAY-OCNI-ISIS-LINK-DELAY; + } + leaf type { + type string; + description + "Reference to the sub-TLV type"; + } + } + } + container instances-state { + description + "State parameters of extended + neighbor"; + uses OVERLAY-OCNI-ISIS-INSTANCE-STATE; + } + container instances-undefined-subtlvs { + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + list instances-undefined-subtlv { + key "type"; + description + "Sub-TLVs that are not defined + in the model or not recognised + by system"; + leaf type { + type uint32; + description + "Reference to the type of the + undefined sub-TLV"; + } + uses OVERLAY-OCNI-ISIS-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV; + } + } + leaf id { + type Oc-netinstisis-integer64; + description + "Reference to the unique + identifier for the instance of + the extended IS reachability + sub-TLV"; + } + } + } + container neighbors-state { + description + "State parameters corresponding to + the extended neighbour"; + uses OVERLAY-OCNI-ISIS-NEIGHBOR-STATE; + } + leaf system-id { + type string; + description + "Reference to the neighboring + system's system ID"; + } + } + } + } + container instance-ids { + description + "A list of instance IDs received + within TLV 7 within an IS-IS LSP"; + list instance-id { + key "instance-id"; + description + "A list of instance IDs received + within TLV 7 within an IS-IS LSP"; + leaf instance-id { + type uint32; + description + "Reference to the unique instance ID"; + } + uses OVERLAY-OCNI-ISIS-INSTANCE-ID; + } + } + container ipv4-srlgs { + description + "Instance of the IPv4 SRLG TLV"; + list ipv4-srlg { + key "instance-number"; + description + "Instance of the IPv4 SRLG TLV"; + leaf instance-number { + type uint32; + description + "Reference to the instance number of + TLV 138"; + } + uses OVERLAY-OCNI-ISIS-IPV4-SRLG; + } + } + container is-reachability { + description + "This container describes list of ISIS + neighbors and attributes"; + container neighbors { + description + "IS reachability neighbor attributes"; + list neighbor { + key "system-id"; + description + "IS reachability neighbor attributes"; + leaf system-id { + type string; + description + "Reference to the system ID of the + neighbor"; + } + uses OVERLAY-OCNI-ISIS-NEIGHBOR; + } + } + } + container ipv4-te-router-id { + description + "This container defines TLV 134"; + uses OVERLAY-OCNI-ISIS-IPV4-TE-ROUTER-ID; + } + container nlpid { + description + "This container defines TLV 129"; + uses OVERLAY-OCNI-ISIS-NLPID; + } + container extended-ipv4-reachability { + description + "This container defines list of IPv4 + extended reachability information"; + container extended-ipv4-reachability-prefixes { + description + "This list describes IPv4 extended + prefixes and attributes"; + list extended-ipv4-reachability-prefixe { + key "prefix"; + description + "This list describes IPv4 extended + prefixes and attributes"; + container prefixes-state { + description + "State parameters of an IPv4 + extended prefix"; + uses OVERLAY-OCNI-ISIS-PREFIX-STATE; + } + container prefixes-subtlvs { + description + "List of subTLV types in the LSDB + for the specified TLV"; + list prefixes-subtlv { + key "type"; + description + "List of subTLV types in the LSDB + for the specified TLV"; + container tag { + description + "This container defines sub-TLV 1"; + uses OVERLAY-OCNI-ISIS-TAG; + } + container ipv4-source-router-id { + description + "This container defines sub-TLV + 11"; + uses OVERLAY-OCNI-ISIS-IPV4-SOURCE-ROUTER-ID; + } + container ipv6-source-router-id { + description + "This container defines sub-TLV + 12"; + uses OVERLAY-OCNI-ISIS-IPV6-SOURCE-ROUTER-ID; + } + container prefixes-subtlvs-state { + description + "State parameters for a prefix"; + uses OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-STATE; + } + container flags { + description + "This container defines sub-TLV 4"; + uses OVERLAY-OCNI-ISIS-FLAGS; + } + container tag64 { + description + "This container defines sub-TLV 2"; + uses OVERLAY-OCNI-ISIS-TAG64; + } + container prefix-sids { + description + "Prefix Segment-ID list"; + list prefix-sid { + key "value"; + description + "Prefix Segment-ID list"; + leaf value { + type uint32; + description + "Reference to the value of the + prefix SID"; + } + uses OVERLAY-OCNI-ISIS-PREFIX-SID; + } + } + leaf type { + type string; + description + "Reference to the sub-TLV type"; + } + } + } + container prefixes-undefined-subtlvs { + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + list prefixes-undefined-subtlv { + key "type"; + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + leaf type { + type uint32; + description + "Reference to the type of the + undefined sub-TLV"; + } + uses OVERLAY-OCNI-ISIS-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV; + } + } + leaf prefix { + type string; + description + "Reference to the IPv4 prefix that + the TLV describes the attributes + of"; + } + } + } + } + container multi-topology { + description + "This container defines the topology + supported"; + container topologies { + description + "This list describes a topology"; + list topology { + key "mt-id"; + description + "This list describes a topology"; + leaf mt-id { + type uint32; + description + "Reference to the multi-topology ID + being described by the list entry"; + } + uses OVERLAY-OCNI-ISIS-TOPOLOGY; + } + } + } + container ipv4-external-reachability { + description + "This container defines list of IPv4 + external reachability information"; + container ipv4-external-reachability-prefixes { + description + "IPv4 external prefixes and + reachability attributes"; + list ipv4-external-reachability-prefixe { + key "prefix"; + description + "IPv4 external prefixes and + reachability attributes"; + leaf prefix { + type string; + description + "Reference to the IPv4 prefix"; + } + uses OVERLAY-OCNI-ISIS-PREFIXES-PREFIX; + } + } + } + container mt-ipv6-reachability { + description + "This container defines list of IPv6 + reachability information in multi - + topology environment"; + container mt-ipv6-reachability-prefixes { + description + "List of IPv6 prefixes contained + within MT reachability TLV"; + list mt-ipv6-reachability-prefixe { + key "prefix mt-id"; + description + "List of IPv6 prefixes contained + within MT reachability TLV"; + container mt-ipv6-reachability-prefixes-state { + description + "State parameters relating an IPv6 + prefix attribute"; + uses OVERLAY-OCNI-ISIS-MT-IPV6-REACHABILITY-PREFIXES-PREFIX-STATE; + } + container mt-ipv6-reachability-prefixes-subtlvs { + description + "List of subTLV types in the LSDB + for the specified TLV"; + list mt-ipv6-reachability-prefixes-subtlv { + key "type"; + description + "List of subTLV types in the LSDB + for the specified TLV"; + container mt-ipv6-reachability-prefixes-subtlvs-prefix-sids { + description + "Prefix Segment-ID list"; + list mt-ipv6-reachability-prefixes-subtlvs-prefix-sid { + key "value"; + description + "Prefix Segment-ID list"; + leaf value { + type uint32; + description + "Reference to the value of the + prefix SID"; + } + uses OVERLAY-OCNI-ISIS-SUBTLVS-SUBTLV-PREFIX-SIDS-PREFIX-SID; + } + } + container mt-ipv6-reachability-prefixes-subtlvs-flags { + description + "This container defines sub-TLV 4"; + uses OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-FLAGS; + } + container mt-ipv6-reachability-prefixes-subtlvs-ipv4-source-router-id { + description + "This container defines sub-TLV + 11"; + uses OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-IPV4-SOURCE-ROUTER-ID; + } + container mt-ipv6-reachability-prefixes-subtlvs-tag64 { + description + "This container defines sub-TLV 2"; + uses OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-TAG64; + } + container mt-ipv6-reachability-prefixes-subtlvs-ipv6-source-router-id { + description + "This container defines sub-TLV + 12"; + uses OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-IPV6-SOURCE-ROUTER-ID; + } + container mt-ipv6-reachability-prefixes-subtlvs-tag { + description + "This container defines sub-TLV 1"; + uses OVERLAY-OCNI-ISIS-PREFIX-SUBTLVS-SUBTLV-TAG; + } + container mt-ipv6-reachability-prefixes-subtlvs-state { + description + "State parameters for a prefix"; + uses OVERLAY-OCNI-ISIS-MT-IPV6-REACHABILITY-PREFIXES-PREFIX-SUBTLVS-SUBTLV-STATE; + } + leaf type { + type string; + description + "Reference to the sub-TLV type"; + } + } + } + container mt-ipv6-reachability-prefixes-undefined-subtlvs { + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + list mt-ipv6-reachability-prefixes-undefined-subtlv { + key "type"; + description + "Sub-TLVs that are not defined in + the model or not recognised by + system"; + leaf type { + type uint32; + description + "Reference to the type of the + undefined sub-TLV"; + } + uses OVERLAY-OCNI-ISIS-MT-IPV6-REACHABILITY-PREFIXES-PREFIX-UNDEFINED-SUBTLVS-UNDEFINED-SUBTLV; + } + } + leaf prefix { + type string; + description + "Reference to the IPv6 prefix + described by the TLV"; + } + leaf mt-id { + type uint32; + description + "Reference to the multi-topology ID"; + } + } + } + } + leaf type { + type string; + description + "Reference to the TLV's type"; + } + } + } + leaf lsp-id { + type string; + description + "A reference to the Link State PDU ID"; + } + } + } + leaf level-number { + type uint32; + description + "Reference to ISIS level-number"; + } + } + } + } + leaf identifier { + type string; + description + "The protocol name for the routing or + forwarding protocol to be instantiated"; + } + leaf name { + type string; + description + "An operator-assigned identifier for the + routing or forwarding protocol"; + } + } + } + container state { + description + "Operational state parameters relating to a + network instance"; + uses OVERLAY-OCNI-ISIS-STATE; + } + leaf name { + type string; + description + "A unique name identifying the network instance"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper-sub1.yang new file mode 100644 index 000000000..c6eedde37 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper-sub1.yang @@ -0,0 +1,399 @@ +submodule Cisco-IOS-XR-tmgctrl-dti-oper-sub1 { + belongs-to Cisco-IOS-XR-tmgctrl-dti-oper { + prefix Cisco-IOS-XR-tmgctrl-dti-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tmgctrl-dti package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping DTI-TOD-INFO { + description + "DTI tod status"; + leaf port1-tod-message-mode { + type string { + length "0..50"; + } + description + "port1 tod message mode"; + } + leaf port1-tod-state { + type string { + length "0..50"; + } + description + "port1 tod state"; + } + leaf port1-tod-time-setting-mode { + type string { + length "0..50"; + } + description + "port1 tod time setting mode"; + } + leaf port1-gps-seconds { + type uint32; + units "second"; + description + "port1 gps seconds"; + } + leaf port1-leap-seconds { + type uint8; + units "second"; + description + "port1 leap seconds"; + } + leaf port1-calendar-time-valid { + type string { + length "0..50"; + } + description + "port1 calendar time valid"; + } + leaf port1-modified-julian-date { + type string { + length "0..50"; + } + description + "port1 modified julian date"; + } + leaf port1-date { + type string { + length "0..50"; + } + description + "port1 date"; + } + leaf port1-time { + type string { + length "0..50"; + } + description + "port1 time"; + } + leaf port1-time-zone-offset { + type string { + length "0..50"; + } + description + "port1 time zone offset"; + } + leaf port1-leap-second-indicator { + type uint8; + description + "port1 leap second indicator"; + } + leaf port2-tod-message-mode { + type string { + length "0..50"; + } + description + "port2 tod message mode"; + } + leaf port2-tod-state { + type string { + length "0..50"; + } + description + "port2 tod state"; + } + leaf port2-tod-time-setting-mode { + type string { + length "0..50"; + } + description + "port2 tod time setting mode"; + } + leaf port2-gps-seconds { + type uint32; + units "second"; + description + "port2 gps seconds"; + } + leaf port2-leap-seconds { + type uint8; + units "second"; + description + "port2 leap seconds"; + } + leaf port2-calendar-time-valid { + type string { + length "0..50"; + } + description + "port2 calendar time valid"; + } + leaf port2-modified-julian-date { + type string { + length "0..50"; + } + description + "port2 modified julian date"; + } + leaf port2-date { + type string { + length "0..50"; + } + description + "port2 date"; + } + leaf port2-time { + type string { + length "0..50"; + } + description + "port2 time"; + } + leaf port2-time-zone-offset { + type string { + length "0..50"; + } + description + "port2 time zone offset"; + } + leaf port2-leap-second-indicator { + type uint8; + description + "port2 leap second indicator"; + } + } + + grouping DTI-PORT-INFO { + description + "DTI port status"; + leaf port1-fr-err-rate-greater5-per { + type string { + length "0..50"; + } + units "percentage"; + description + "port1 frame error rate greater than 5 percent"; + } + leaf port1-fr-err-rate-greater2-per { + type string { + length "0..50"; + } + units "percentage"; + description + "port1 frame error rate greater than 2 percent"; + } + leaf port1-dti-signal-detected { + type string { + length "0..50"; + } + description + "port1 DTI signal detected"; + } + leaf port1-server-timing-source { + type string { + length "0..50"; + } + description + "port1 server timing source"; + } + leaf port1-server-type { + type string { + length "0..50"; + } + description + "port1 server type"; + } + leaf port1-server-clock-type { + type string { + length "0..50"; + } + description + "port1 server clock type"; + } + leaf port1-server-state { + type string { + length "0..50"; + } + description + "port1 server state"; + } + leaf port1-client-perf-stable { + type string { + length "0..50"; + } + description + "port1 client performance stable"; + } + leaf port1-cable-advance-valid { + type string { + length "0..50"; + } + description + "port1 cable advance valid"; + } + leaf port2-fr-err-rate-greater5-per { + type string { + length "0..50"; + } + units "percentage"; + description + "port2 frame error rate greater than 5 percent"; + } + leaf port2-fr-err-rate-greater2-per { + type string { + length "0..50"; + } + units "percentage"; + description + "port2 frame error rate greater than 2 percent"; + } + leaf port2-dti-signal-detected { + type string { + length "0..50"; + } + description + "port2 DTI signal detected"; + } + leaf port2-server-timing-source { + type string { + length "0..50"; + } + description + "port2 server timing source"; + } + leaf port2-server-type { + type string { + length "0..50"; + } + description + "port2 server type"; + } + leaf port2-server-clock-type { + type string { + length "0..50"; + } + description + "port2 server clock type"; + } + leaf port2-server-state { + type string { + length "0..50"; + } + description + "port2 server state"; + } + leaf port2-client-perf-stable { + type string { + length "0..50"; + } + description + "port2 client performance stable"; + } + leaf port2-cable-advance-valid { + type string { + length "0..50"; + } + description + "port2 cable advance valid"; + } + } + + grouping DTI-CLIENT-INFO { + description + "DTI client status"; + leaf timestamp-comparator-enable { + type string { + length "0..50"; + } + description + "timestamp comparator enable"; + } + leaf register-write-enable { + type string { + length "0..50"; + } + description + "register write enable"; + } + leaf revertive-mode-enable { + type string { + length "0..50"; + } + description + "revertive mode enable"; + } + leaf port-mode-select { + type string { + length "0..50"; + } + description + "port mode select"; + } + leaf force-freerun { + type string { + length "0..50"; + } + description + "force freerun"; + } + leaf reference-select-port { + type string { + length "0..50"; + } + description + "reference select port"; + } + leaf timestamp-sync-detected { + type string { + length "0..50"; + } + description + "timestamp sync detected"; + } + leaf reference10mhz-detected { + type string { + length "0..50"; + } + description + "10Mhz reference detected"; + } + leaf active-input-port { + type string { + length "0..50"; + } + description + "active input port"; + } + leaf client-state { + type string { + length "0..50"; + } + description + "client state"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper.yang new file mode 100644 index 000000000..f543636ad --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-dti-oper.yang @@ -0,0 +1,83 @@ +module Cisco-IOS-XR-tmgctrl-dti-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tmgctrl-dti-oper"; + prefix tmgctrl-dti-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tmgctrl-dti-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tmgctrl-dti package operational data. + + This module contains definitions + for the following management objects: + dti-controller: DTI interface controller status and + configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container dti-controller { + config false; + description + "DTI interface controller status and configuration"; + container nodes { + description + "List of nodes applicable to DTI controller"; + list node { + key "node-name"; + description + "DTI operational data for a single node"; + container client { + description + "Display DTI client status"; + uses DTI-CLIENT-INFO; + } + container port { + description + "Display DTI input port status"; + uses DTI-PORT-INFO; + } + container time-of-day { + description + "Display DTI time-of-day status"; + uses DTI-TOD-INFO; + } + leaf node-name { + type xr:Node-id; + description + "Node Name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper-sub1.yang new file mode 100644 index 000000000..f749ab555 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper-sub1.yang @@ -0,0 +1,1230 @@ +submodule Cisco-IOS-XR-tmgctrl-tmg-oper-sub1 { + belongs-to Cisco-IOS-XR-tmgctrl-tmg-oper { + prefix Cisco-IOS-XR-tmgctrl-tmg-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tmgctrl-tmg package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping TMG-TOD-SNAPSHOT { + description + "Timing ToD status"; + leaf secs { + type uint64; + units "second"; + description + "ToD Seconds"; + } + leaf nanosecs { + type uint32; + units "nanosecond"; + description + "ToD Nanoseconds"; + } + } + + grouping TMG-CLKIN-INFO { + description + "Timing input clock status"; + leaf ic1-valid { + type boolean; + description + "IC Valid 1"; + } + leaf ic2-valid { + type boolean; + description + "IC Valid 2"; + } + leaf ic3-valid { + type boolean; + description + "IC Valid 3"; + } + leaf ic4-valid { + type boolean; + description + "IC Valid 4"; + } + leaf ic5-valid { + type boolean; + description + "IC Valid 5"; + } + leaf ic6-valid { + type boolean; + description + "IC Valid 6"; + } + leaf ic7-valid { + type boolean; + description + "IC Valid 7"; + } + leaf ic8-valid { + type boolean; + description + "IC Valid 8"; + } + leaf ic9-valid { + type boolean; + description + "IC Valid 9"; + } + leaf ic10-valid { + type boolean; + description + "IC Valid 10"; + } + leaf ic11-valid { + type boolean; + description + "IC Valid 11"; + } + leaf ic1-slot { + type string { + length "0..50"; + } + description + "IC Slot 1"; + } + leaf ic2-slot { + type string { + length "0..50"; + } + description + "IC Slot 2"; + } + leaf ic3-slot { + type string { + length "0..50"; + } + description + "IC Slot 3"; + } + leaf ic4-slot { + type string { + length "0..50"; + } + description + "IC Slot 4"; + } + leaf ic5-slot { + type string { + length "0..50"; + } + description + "IC Slot 5"; + } + leaf ic6-slot { + type string { + length "0..50"; + } + description + "IC Slot 6"; + } + leaf ic7-slot { + type string { + length "0..50"; + } + description + "IC Slot 7"; + } + leaf ic8-slot { + type string { + length "0..50"; + } + description + "IC Slot 8"; + } + leaf ic9-slot { + type string { + length "0..50"; + } + description + "IC Slot 9"; + } + leaf ic10-slot { + type string { + length "0..50"; + } + description + "IC Slot 10"; + } + leaf ic11-slot { + type string { + length "0..50"; + } + description + "IC Slot 11"; + } + leaf ic1-split-xom { + type string { + length "0..50"; + } + description + "IC1 Split XO Mode Status"; + } + leaf ic2-split-xom { + type string { + length "0..50"; + } + description + "IC2 Split XO Mode Status"; + } + leaf ic3-split-xom { + type string { + length "0..50"; + } + description + "IC3 Split XO Mode Status"; + } + leaf ic4-split-xom { + type string { + length "0..50"; + } + description + "IC4 Split XO Mode Status"; + } + leaf ic5-split-xom { + type string { + length "0..50"; + } + description + "IC5 Split XO Mode Status"; + } + leaf ic6-split-xom { + type string { + length "0..50"; + } + description + "IC6 Split XO Mode Status"; + } + leaf ic7-split-xom { + type string { + length "0..50"; + } + description + "IC7 Split XO Mode Status"; + } + leaf ic8-split-xom { + type string { + length "0..50"; + } + description + "IC8 Split XO Mode Status"; + } + leaf ic9-split-xom { + type string { + length "0..50"; + } + description + "IC9 Split XO Mode Status"; + } + leaf ic10-split-xom { + type string { + length "0..50"; + } + description + "IC10 Split XO Mode Status"; + } + leaf ic11-split-xom { + type string { + length "0..50"; + } + description + "IC11 Split XO Mode Status"; + } + leaf ic1-eppsm { + type string { + length "0..50"; + } + description + "IC1 ePPSM Status"; + } + leaf ic2-eppsm { + type string { + length "0..50"; + } + description + "IC2 ePPSM Status"; + } + leaf ic3-eppsm { + type string { + length "0..50"; + } + description + "IC3 ePPSM Status"; + } + leaf ic4-eppsm { + type string { + length "0..50"; + } + description + "IC4 ePPSM Status"; + } + leaf ic5-eppsm { + type string { + length "0..50"; + } + description + "IC5 ePPSM Status"; + } + leaf ic6-eppsm { + type string { + length "0..50"; + } + description + "IC6 ePPSM Status"; + } + leaf ic7-eppsm { + type string { + length "0..50"; + } + description + "IC7 ePPSM Status"; + } + leaf ic8-eppsm { + type string { + length "0..50"; + } + description + "IC8 ePPSM Status"; + } + leaf ic9-eppsm { + type string { + length "0..50"; + } + description + "IC9 ePPSM Status"; + } + leaf ic10-eppsm { + type string { + length "0..50"; + } + description + "IC10 ePPSM Status"; + } + leaf ic11-eppsm { + type string { + length "0..50"; + } + description + "IC11 ePPSM Status"; + } + leaf ic1-pfm { + type string { + length "0..50"; + } + description + "IC1 PFM Status"; + } + leaf ic2-pfm { + type string { + length "0..50"; + } + description + "IC2 PFM Status"; + } + leaf ic3-pfm { + type string { + length "0..50"; + } + description + "IC3 PFM Status"; + } + leaf ic4-pfm { + type string { + length "0..50"; + } + description + "IC4 PFM Status"; + } + leaf ic5-pfm { + type string { + length "0..50"; + } + description + "IC5 PFM Status"; + } + leaf ic6-pfm { + type string { + length "0..50"; + } + description + "IC6 PFM Status"; + } + leaf ic7-pfm { + type string { + length "0..50"; + } + description + "IC7 PFM Status"; + } + leaf ic8-pfm { + type string { + length "0..50"; + } + description + "IC8 PFM Status"; + } + leaf ic9-pfm { + type string { + length "0..50"; + } + description + "IC9 PFM Status"; + } + leaf ic10-pfm { + type string { + length "0..50"; + } + description + "IC10 PFM Status"; + } + leaf ic11-pfm { + type string { + length "0..50"; + } + description + "IC11 PFM Status"; + } + leaf ic1-gst { + type string { + length "0..50"; + } + description + "IC1 GST Status"; + } + leaf ic2-gst { + type string { + length "0..50"; + } + description + "IC2 GST Status"; + } + leaf ic3-gst { + type string { + length "0..50"; + } + description + "IC3 GST Status"; + } + leaf ic4-gst { + type string { + length "0..50"; + } + description + "IC4 GST Status"; + } + leaf ic5-gst { + type string { + length "0..50"; + } + description + "IC5 GST Status"; + } + leaf ic6-gst { + type string { + length "0..50"; + } + description + "IC6 GST Status"; + } + leaf ic7-gst { + type string { + length "0..50"; + } + description + "IC7 GST Status"; + } + leaf ic8-gst { + type string { + length "0..50"; + } + description + "IC8 GST Status"; + } + leaf ic9-gst { + type string { + length "0..50"; + } + description + "IC9 GST Status"; + } + leaf ic10-gst { + type string { + length "0..50"; + } + description + "IC10 GST Status"; + } + leaf ic11-gst { + type string { + length "0..50"; + } + description + "IC11 GST Status"; + } + leaf ic1-cfm { + type string { + length "0..50"; + } + description + "IC1 CFM Status"; + } + leaf ic2-cfm { + type string { + length "0..50"; + } + description + "IC2 CFM Status"; + } + leaf ic3-cfm { + type string { + length "0..50"; + } + description + "IC3 CFM Status"; + } + leaf ic4-cfm { + type string { + length "0..50"; + } + description + "IC4 CFM Status"; + } + leaf ic5-cfm { + type string { + length "0..50"; + } + description + "IC5 CFM Status"; + } + leaf ic6-cfm { + type string { + length "0..50"; + } + description + "IC6 CFM Status"; + } + leaf ic7-cfm { + type string { + length "0..50"; + } + description + "IC7 CFM Status"; + } + leaf ic8-cfm { + type string { + length "0..50"; + } + description + "IC8 CFM Status"; + } + leaf ic9-cfm { + type string { + length "0..50"; + } + description + "IC9 CFM Status"; + } + leaf ic10-cfm { + type string { + length "0..50"; + } + description + "IC10 CFM Status"; + } + leaf ic11-cfm { + type string { + length "0..50"; + } + description + "IC11 CFM Status"; + } + leaf ic1-scm { + type string { + length "0..50"; + } + description + "IC1 SCM Status"; + } + leaf ic2-scm { + type string { + length "0..50"; + } + description + "IC2 SCM Status"; + } + leaf ic3-scm { + type string { + length "0..50"; + } + description + "IC3 SCM Status"; + } + leaf ic4-scm { + type string { + length "0..50"; + } + description + "IC4 SCM Status"; + } + leaf ic5-scm { + type string { + length "0..50"; + } + description + "IC5 SCM Status"; + } + leaf ic6-scm { + type string { + length "0..50"; + } + description + "IC6 SCM Status"; + } + leaf ic7-scm { + type string { + length "0..50"; + } + description + "IC7 SCM Status"; + } + leaf ic8-scm { + type string { + length "0..50"; + } + description + "IC8 SCM Status"; + } + leaf ic9-scm { + type string { + length "0..50"; + } + description + "IC9 SCM Status"; + } + leaf ic10-scm { + type string { + length "0..50"; + } + description + "IC10 SCM Status"; + } + leaf ic11-scm { + type string { + length "0..50"; + } + description + "IC11 SCM Status"; + } + leaf ic1-los { + type string { + length "0..50"; + } + description + "IC1 LOS Status"; + } + leaf ic2-los { + type string { + length "0..50"; + } + description + "IC2 LOS Status"; + } + leaf ic3-los { + type string { + length "0..50"; + } + description + "IC3 LOS Status"; + } + leaf ic4-los { + type string { + length "0..50"; + } + description + "IC4 LOS Status"; + } + leaf ic5-los { + type string { + length "0..50"; + } + description + "IC5 LOS Status"; + } + leaf ic6-los { + type string { + length "0..50"; + } + description + "IC6 LOS Status"; + } + leaf ic7-los { + type string { + length "0..50"; + } + description + "IC7 LOS Status"; + } + leaf ic8-los { + type string { + length "0..50"; + } + description + "IC8 LOS Status"; + } + leaf ic9-los { + type string { + length "0..50"; + } + description + "IC9 LOS Status"; + } + leaf ic10-los { + type string { + length "0..50"; + } + description + "IC10 LOS Status"; + } + leaf ic11-los { + type string { + length "0..50"; + } + description + "IC11 LOS Status"; + } + } + + grouping TMG-PLL-INFO { + description + "Timing PLL status"; + leaf t0-pll-state { + type string { + length "0..50"; + } + description + "T0 PLL state"; + } + leaf t4-pll-state { + type string { + length "0..50"; + } + description + "T4 PLL state"; + } + leaf ptp-pll-state { + type string { + length "0..50"; + } + description + "1588 PLL state"; + } + leaf t0-pll-selected { + type string { + length "0..50"; + } + description + "T0 PLL selected"; + } + leaf t4-pll-selected { + type string { + length "0..50"; + } + description + "T4 PLL selected"; + } + leaf ptp-pll-selected { + type string { + length "0..50"; + } + description + "1588 PLL selected"; + } + leaf t0-pll-mode { + type string { + length "0..50"; + } + description + "T0 PLL mode"; + } + leaf t4-pll-mode { + type string { + length "0..50"; + } + description + "T4 PLL mode"; + } + leaf ptp-pll-mode { + type string { + length "0..50"; + } + description + "1588 PLL mode"; + } + leaf t0-pll-ic1-prio { + type uint8; + description + "T0 PLL IC1 Priority"; + } + leaf t0-pll-ic2-prio { + type uint8; + description + "T0 PLL IC2 Priority"; + } + leaf t0-pll-ic3-prio { + type uint8; + description + "T0 PLL IC3 Priority"; + } + leaf t0-pll-ic4-prio { + type uint8; + description + "T0 PLL IC4 Priority"; + } + leaf t0-pll-ic5-prio { + type uint8; + description + "T0 PLL IC5 Priority"; + } + leaf t0-pll-ic6-prio { + type uint8; + description + "T0 PLL IC6 Priority"; + } + leaf t0-pll-ic7-prio { + type uint8; + description + "T0 PLL IC7 Priority"; + } + leaf t0-pll-ic8-prio { + type uint8; + description + "T0 PLL IC8 Priority"; + } + leaf t0-pll-ic9-prio { + type uint8; + description + "T0 PLL IC9 Priority"; + } + leaf t0-pll-ic10-prio { + type uint8; + description + "T0 PLL IC10 Priority"; + } + leaf t0-pll-ic11-prio { + type uint8; + description + "T0 PLL IC11 Priority"; + } + leaf t4-pll-ic1-prio { + type uint8; + description + "T4 PLL IC1 Priority"; + } + leaf t4-pll-ic2-prio { + type uint8; + description + "T4 PLL IC2 Priority"; + } + leaf t4-pll-ic3-prio { + type uint8; + description + "T4 PLL IC3 Priority"; + } + leaf t4-pll-ic4-prio { + type uint8; + description + "T4 PLL IC4 Priority"; + } + leaf t4-pll-ic5-prio { + type uint8; + description + "T4 PLL IC5 Priority"; + } + leaf t4-pll-ic6-prio { + type uint8; + description + "T4 PLL IC6 Priority"; + } + leaf t4-pll-ic7-prio { + type uint8; + description + "T4 PLL IC7 Priority"; + } + leaf t4-pll-ic8-prio { + type uint8; + description + "T4 PLL IC8 Priority"; + } + leaf t4-pll-ic9-prio { + type uint8; + description + "T4 PLL IC9 Priority"; + } + leaf t4-pll-ic10-prio { + type uint8; + description + "T4 PLL IC10 Priority"; + } + leaf t4-pll-ic11-prio { + type uint8; + description + "T4 PLL IC11 Priority"; + } + leaf ptp-pll-ic1-prio { + type uint8; + description + "PTP PLL IC1 Priority"; + } + leaf ptp-pll-ic2-prio { + type uint8; + description + "PTP PLL IC2 Priority"; + } + leaf ptp-pll-ic3-prio { + type uint8; + description + "PTP PLL IC3 Priority"; + } + leaf ptp-pll-ic4-prio { + type uint8; + description + "PTP PLL IC4 Priority"; + } + leaf ptp-pll-ic5-prio { + type uint8; + description + "PTP PLL IC5 Priority"; + } + leaf ptp-pll-ic6-prio { + type uint8; + description + "PTP PLL IC6 Priority"; + } + leaf ptp-pll-ic7-prio { + type uint8; + description + "PTP PLL IC7 Priority"; + } + leaf ptp-pll-ic8-prio { + type uint8; + description + "PTP PLL IC8 Priority"; + } + leaf ptp-pll-ic9-prio { + type uint8; + description + "PTP PLL IC9 Priority"; + } + leaf ptp-pll-ic10-prio { + type uint8; + description + "PTP PLL IC10 Priority"; + } + leaf ptp-pll-ic11-prio { + type uint8; + description + "PTP PLL IC11 Priority"; + } + leaf ic1-valid { + type boolean; + description + "IC Valid 1"; + } + leaf ic2-valid { + type boolean; + description + "IC Valid 2"; + } + leaf ic3-valid { + type boolean; + description + "IC Valid 3"; + } + leaf ic4-valid { + type boolean; + description + "IC Valid 4"; + } + leaf ic5-valid { + type boolean; + description + "IC Valid 5"; + } + leaf ic6-valid { + type boolean; + description + "IC Valid 6"; + } + leaf ic7-valid { + type boolean; + description + "IC Valid 7"; + } + leaf ic8-valid { + type boolean; + description + "IC Valid 8"; + } + leaf ic9-valid { + type boolean; + description + "IC Valid 9"; + } + leaf ic10-valid { + type boolean; + description + "IC Valid 10"; + } + leaf ic11-valid { + type boolean; + description + "IC Valid 11"; + } + leaf t0-pll-freq-offset { + type int32; + description + "T0 PLL Frequency Offset"; + } + leaf t4-pll-freq-offset { + type int32; + description + "T4 PLL Frequency Offset"; + } + leaf ptp-pll-freq-offset { + type int32; + description + "PTP PLL Frequency Offset"; + } + leaf t0-pll-bandwidth { + type string { + length "0..50"; + } + description + "T0 PLL Bandwidth"; + } + leaf t4-pll-bandwidth { + type string { + length "0..50"; + } + description + "T4 PLL Bandwidth"; + } + leaf ptp-pll-bandwidth { + type string { + length "0..50"; + } + description + "PTP PLL Bandwidth"; + } + leaf t0-pll-psl { + type string { + length "0..50"; + } + description + "T0 PLL PSL"; + } + leaf t4-pll-psl { + type string { + length "0..50"; + } + description + "T4 PLL PSL"; + } + leaf ptp-pll-psl { + type string { + length "0..50"; + } + description + "PTP PLL PSL"; + } + leaf ic1-qual-min { + type string { + length "0..50"; + } + description + "IC1 Pull-in/Hold-in Min"; + } + leaf ic1-qual-max { + type string { + length "0..50"; + } + description + "IC1 Pull-in/Hold-in Max"; + } + leaf ic2-qual-min { + type string { + length "0..50"; + } + description + "IC2 Pull-in/Hold-in Min"; + } + leaf ic2-qual-max { + type string { + length "0..50"; + } + description + "IC2 Pull-in/Hold-in Max"; + } + leaf ic3-qual-min { + type string { + length "0..50"; + } + description + "IC3 Pull-in/Hold-in Min"; + } + leaf ic3-qual-max { + type string { + length "0..50"; + } + description + "IC3 Pull-in/Hold-in Max"; + } + leaf ic4-qual-min { + type string { + length "0..50"; + } + description + "IC4 Pull-in/Hold-in Min"; + } + leaf ic4-qual-max { + type string { + length "0..50"; + } + description + "IC4 Pull-in/Hold-in Max"; + } + leaf ic5-qual-min { + type string { + length "0..50"; + } + description + "IC5 Pull-in/Hold-in Min"; + } + leaf ic5-qual-max { + type string { + length "0..50"; + } + description + "IC5 Pull-in/Hold-in Max"; + } + leaf ic6-qual-min { + type string { + length "0..50"; + } + description + "IC6 Pull-in/Hold-in Min"; + } + leaf ic6-qual-max { + type string { + length "0..50"; + } + description + "IC6 Pull-in/Hold-in Max"; + } + leaf ic7-qual-min { + type string { + length "0..50"; + } + description + "IC7 Pull-in/Hold-in Min"; + } + leaf ic7-qual-max { + type string { + length "0..50"; + } + description + "IC7 Pull-in/Hold-in Max"; + } + leaf ic8-qual-min { + type string { + length "0..50"; + } + description + "IC8 Pull-in/Hold-in Min"; + } + leaf ic8-qual-max { + type string { + length "0..50"; + } + description + "IC8 Pull-in/Hold-in Max"; + } + leaf ic9-qual-min { + type string { + length "0..50"; + } + description + "IC9 Pull-in/Hold-in Min"; + } + leaf ic9-qual-max { + type string { + length "0..50"; + } + description + "IC9 Pull-in/Hold-in Max"; + } + leaf ic10-qual-min { + type string { + length "0..50"; + } + description + "IC10 Pull-in/Hold-in Min"; + } + leaf ic10-qual-max { + type string { + length "0..50"; + } + description + "IC10 Pull-in/Hold-in Max"; + } + leaf ic11-qual-min { + type string { + length "0..50"; + } + description + "IC11 Pull-in/Hold-in Min"; + } + leaf ic11-qual-max { + type string { + length "0..50"; + } + description + "IC11 Pull-in/Hold-in Max"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper.yang new file mode 100644 index 000000000..80c80829d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tmgctrl-tmg-oper.yang @@ -0,0 +1,83 @@ +module Cisco-IOS-XR-tmgctrl-tmg-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tmgctrl-tmg-oper"; + prefix tmgctrl-tmg-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tmgctrl-tmg-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tmgctrl-tmg package operational data. + + This module contains definitions + for the following management objects: + timing-card: Timing PLL status and configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container timing-card { + config false; + description + "Timing PLL status and configuration"; + container nodes { + description + "List of nodes applicable to timing"; + list node { + key "node-name"; + description + "Timing operational data for a single node"; + container pll { + description + "Display the timing card PLL status information"; + uses TMG-PLL-INFO; + } + container input-clock { + description + "Display the timing card input clock status + information"; + uses TMG-CLKIN-INFO; + } + container tod { + description + "Display the TOD snapshot data"; + uses TMG-TOD-SNAPSHOT; + } + leaf node-name { + type xr:Node-id; + description + "Node Name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-traceroute-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-traceroute-act.yang new file mode 100644 index 000000000..ec513c369 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-traceroute-act.yang @@ -0,0 +1,93 @@ +module Cisco-IOS-XR-traceroute-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-traceroute-act"; + prefix traceroute-act; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ipv4-traceroute-act; + include Cisco-IOS-XR-ipv6-traceroute-act; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ping action package configuration. + + Copyright (c) 2016-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-05 { + description + "Removed support for use-srv6-op-sid"; + semver:module-version "2.0.0"; + } + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-10-01 { + description + "IOS XR 6.2.1 revision."; + } + + rpc traceroute { + description + "Trace route to destination"; + input { + container destination { + presence "traceroute input"; + description + "Trace route destination"; + uses TRACEROUTE-OPTIONS; + uses IPV6-SPECIFIC-OPTIONS; + } + container ipv4 { + presence "ipv4 traceroute"; + description + "Trace route IPv4"; + uses TRACEROUTE-OPTIONS; + } + container ipv6 { + presence "ipv6 traceroute"; + description + "Trace route IPv6"; + uses IPV6-TRACEROUTE-INPUT; + } + } + output { + container traceroute-response { + description + "Trace route response"; + container ipv4 { + presence "ipv4 traceroute output"; + description + "Trace route IPv4 response"; + uses TRACEROUTE-OUTPUT; + } + container ipv6 { + presence "ipv6 traceroute output"; + description + "Trace route IPv6 response"; + uses TRACEROUTE-OUTPUT; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-traffmon-netflow-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-traffmon-netflow-cfg.yang new file mode 100644 index 000000000..a54d193d9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-traffmon-netflow-cfg.yang @@ -0,0 +1,1018 @@ +module Cisco-IOS-XR-traffmon-netflow-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-traffmon-netflow-cfg"; + prefix traffmon-netflow-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + import Cisco-IOS-XR-l2vpn-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traffmon-netflow package configuration. + + This module contains definitions + for the following management objects: + net-flow: NetFlow Configuration + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg, + Cisco-IOS-XR-l2vpn-cfg + modules with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-23 { + description + "Added leaf for setting source address explicitly for export packets and increased maximum length of monitor, exporter and sampler map names IosSetYangSchemaRev Cisco-IOS-XR-traffmon-netflow-cfg + 2022-01-23 + Increased upper bound of sflow sample header size range"; + semver:module-version "2.1.1m"; + } + revision 2021-05-23 { + description + "Added leaf for sflow extended tunnel flow records"; + semver:module-version "2.1.0"; + } + revision 2021-02-23 { + description + "Added class table export time-out + 2021-01-16 + Added l2 record type in monitor-map + 2020-11-16 + Increased maximum packet length in exporter configuration to support jumbo export packets + 2020-10-16 + Added gtp record type in monitor-map and protobuf version in exporter-map + 2020-07-15 + Added flow support for l2transport interfaces"; + semver:module-version "2.0.0"; + } + revision 2020-02-15 { + description + "Added sflow type for monitor-map record type and exporter-map version type, and associated sflow config changes."; + semver:module-version "1.2.0"; + } + revision 2019-09-15 { + description + "Added map-t type for monitor-map and flow interface configuration."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2018-06-15 { + description + "Changed type of version node from range to enum and made it mandatory."; + } + revision 2018-06-15 { + description + "Allow min..max in range when min == max."; + } + revision 2018-05-28 { + description + "Changed some schema paths for commit check functionality."; + } + revision 2018-04-01 { + description + "Changed some schema paths for commit replace functionality."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Nf-export-timeout { + type uint32 { + range "0..604800"; + } + description + "Nf export timeout"; + } + + typedef Nf-active-cache-aging-timeout { + type uint32 { + range "1..604800"; + } + description + "Nf active cache aging timeout"; + } + + typedef Nf-cache-option { + type enumeration { + enum "outphysint" { + value 1; + description + "Option outphysint"; + } + enum "filtered" { + value 2; + description + "Option filtered"; + } + enum "bgpattr" { + value 3; + description + "Option bgpattr"; + } + enum "outbundlemember" { + value 4; + description + "Option outbundlemember"; + } + } + description + "Nf cache option"; + } + + typedef Nf-inactive-cache-aging-timeout { + type uint32 { + range "0..604800"; + } + description + "Nf inactive cache aging timeout"; + } + + typedef Nf-sample-interval { + type uint32 { + range "1..262144"; + } + description + "Nf sample interval"; + } + + typedef Nf-sample-number { + type uint32 { + range "1"; + } + description + "Nf sample number"; + } + + typedef Nf-flow-direction { + type enumeration { + enum "ingress" { + value 0; + description + "Netflow flow direction ingress"; + } + enum "egress" { + value 1; + description + "Netflow flow direction egress"; + } + } + description + "Nf flow direction"; + } + + typedef Nf-export-udp-source-port-scheme { + type enumeration { + enum "single" { + value 0; + description + "Use a single source-port"; + } + enum "multiple" { + value 1; + description + "Use multiple source-ports"; + } + } + description + "Nf export udp source port scheme"; + } + + typedef Nf-record-format { + type enumeration { + enum "datalinkframesections-any" { + value 1; + description + "Record Format datalinkframesections_any"; + } + enum "default-mdi" { + value 2; + description + "Record Format default_mdi"; + } + enum "default-rtp" { + value 3; + description + "Record Format default_rtp"; + } + enum "ipv4-as-agg" { + value 4; + description + "Record Format ipv4_as_agg"; + } + enum "ipv4-as-tos-agg" { + value 5; + description + "Record Format ipv4_as_tos_agg"; + } + enum "ipv4-bgp-nexthop-tos-agg" { + value 6; + description + "Record Format ipv4_bgp_nexthop_tos_agg"; + } + enum "ipv4-destination" { + value 7; + description + "Record Format ipv4_destination"; + } + enum "ipv4-destination-tos-agg" { + value 8; + description + "Record Format ipv4_destination_tos_agg"; + } + enum "ipv4-destination-prefix-agg" { + value 9; + description + "Record Format ipv4_destination_prefix_agg"; + } + enum "ipv4-destination-prefix-tos-agg" { + value 10; + description + "Record Format ipv4_destination_prefix_tos_agg"; + } + enum "ipv4-peer-as" { + value 11; + description + "Record Format ipv4_peer_as"; + } + enum "ipv4-prefix-agg" { + value 12; + description + "Record Format ipv4_prefix_agg"; + } + enum "ipv4-prefix-port-agg" { + value 13; + description + "Record Format ipv4_prefix_port_agg"; + } + enum "ipv4-prefix-tos-agg" { + value 14; + description + "Record Format ipv4_prefix_tos_agg"; + } + enum "ipv4-protocol-port-agg" { + value 15; + description + "Record Format ipv4_protocol_port_agg"; + } + enum "ipv4-protocol-port-tos-agg" { + value 16; + description + "Record Format ipv4_protocol_port_tos_agg"; + } + enum "ipv4-raw" { + value 17; + description + "Record Format ipv4_raw"; + } + enum "ipv4-source-prefix-agg" { + value 18; + description + "Record Format ipv4_source_prefix_agg"; + } + enum "ipv4-source-prefix-tos-agg" { + value 19; + description + "Record Format ipv4_source_prefix_tos_agg"; + } + enum "ipv4-gtp" { + value 20; + description + "Record Format ipv4_gtp"; + } + enum "ipv6" { + value 21; + description + "Record Format ipv6"; + } + enum "ipv6-destination" { + value 22; + description + "Record Format ipv6_destination"; + } + enum "ipv6-peer-as" { + value 23; + description + "Record Format ipv6_peer_as"; + } + enum "mpls" { + value 25; + description + "Record Format mpls"; + } + enum "mpls-ipv4" { + value 26; + description + "Record Format mpls_ipv4"; + } + enum "mpls-ipv4-ipv6" { + value 27; + description + "Record Format mpls_ipv4_ipv6"; + } + enum "mpls-ipv6" { + value 28; + description + "Record Format mpls_ipv6"; + } + enum "mapt" { + value 29; + description + "Record Format mapt"; + } + enum "sflow" { + value 30; + description + "Record Format sflow"; + } + } + description + "Nf record format"; + } + + typedef Nf-template-timeout { + type uint32 { + range "1..604800"; + } + description + "Nf template timeout"; + } + + typedef Nf-sflow-flow-sample-flag-option { + type enumeration { + enum "extended-router" { + value 0; + description + "Option extended-router flow type"; + } + enum "extended-gateway" { + value 1; + description + "Option extended-gateway flow type"; + } + enum "extended-ipv4-tunnel-egress" { + value 2; + description + "Option extended-gateway flow type"; + } + enum "extended-ipv6-tunnel-egress" { + value 3; + description + "Option extended-gateway flow type"; + } + } + description + "Nf sflow flow sample flag option"; + } + + typedef Nf-sflow-sample-header-size { + type uint32 { + range "128..343"; + } + description + "Nf sflow sample header size"; + } + + typedef Nf-map-name { + type string { + length "1..90"; + pattern "[a-zA-Z0-9_\\-]+"; + } + description + "Nf map name"; + } + + typedef Nf-sflow-ifindex-option { + type enumeration { + enum "physical" { + value 0; + description + "Physical Interface Ifindex"; + } + } + description + "Nf sflow ifindex option"; + } + + typedef Nf-cache-aging-mode { + type enumeration { + enum "normal" { + value 0; + description + "Normal, caches age"; + } + enum "permanent" { + value 1; + description + "Permanent, caches never age"; + } + enum "immediate" { + value 2; + description + "Immediate, caches age immediately"; + } + } + description + "Nf cache aging mode"; + } + + typedef Nf-flow-protocol { + type enumeration { + enum "ipv4" { + value 0; + description + "Netflow flow protocol ipv4"; + } + enum "ipv6" { + value 1; + description + "Netflow flow protocol ipv6"; + } + enum "mpls" { + value 2; + description + "Netflow flow protocol mpls"; + } + enum "data-link-frame-section" { + value 13; + description + "Netflow flow protocol data-link-frame-section"; + } + enum "map" { + value 14; + description + "Netflow flow protocol map-t"; + } + } + description + "Nf flow protocol"; + } + + typedef Nf-cache-entry { + type uint32 { + range "4096..1000000"; + } + description + "Nf cache entry"; + } + + typedef Nf-hw-cache-inactive-aging-timeout { + type uint32 { + range "50..1800"; + } + description + "Nf hw cache inactive aging timeout"; + } + + typedef Nf-update-cache-aging-timeout { + type uint32 { + range "1..604800"; + } + description + "Nf update cache aging timeout"; + } + + typedef Nf-sampling-mode { + type enumeration { + enum "random" { + value 2; + description + "Random sampling"; + } + } + description + "Nf sampling mode"; + } + + typedef Nf-sflow-if-counter-polling-interval { + type uint32 { + range "5..1800"; + } + description + "Nf sflow if counter polling interval"; + } + + typedef Nf-export-version { + type enumeration { + enum "v9" { + value 9; + description + "Version v9"; + } + enum "ipfix" { + value 10; + description + "Version ipfix"; + } + enum "sflow" { + value 11; + description + "Version sflow"; + } + enum "protobuf" { + value 12; + description + "Version protobuf"; + } + } + description + "Nf export version"; + } + + typedef Nf-cache-timeout-rate-limit { + type uint32 { + range "1..1000000"; + } + description + "Nf cache timeout rate limit"; + } + + grouping FLOW-MONITOR-MAP { + description + "Common node of flow-monitor-map-table, + flow-monitor-map-performance-table"; + list flow-monitor-map { + key "monitor-map-name"; + description + "Monitor map name"; + container exporters { + description + "Configure exporters to be used by the + monitor-map"; + list exporter { + key "exporter-name"; + description + "Configure exporter to be used by the + monitor-map"; + leaf exporter-name { + type Nf-map-name; + description + "Exporter name"; + } + } + } + container sflow-options { + presence "CLI submode compatibility."; + description + "Specify sflow related options in the + monitor-map"; + container input { + description + "Specify sample input related options"; + leaf ifindex { + type Nf-sflow-ifindex-option; + description + "Specify interface index option"; + } + } + container counter-sample-options-table { + description + "Enable optional counter sample options"; + leaf if-counter-polling-interval { + type Nf-sflow-if-counter-polling-interval; + units "second"; + description + "Specify the if-counter polling interval"; + } + } + container output { + description + "Specify sample output related options"; + leaf ifindex { + type Nf-sflow-ifindex-option; + description + "Specify interface index option"; + } + } + container flow-sample-flag-options { + description + "Enable optional flag-type flow sample options"; + list flow-sample-flag-option { + key "option"; + description + "Enable flag type flow sample options"; + leaf option { + type Nf-sflow-flow-sample-flag-option; + description + "Option name"; + } + } + } + container sample-header { + description + "Specify sample header related options"; + leaf header-size-maximum { + type Nf-sflow-sample-header-size; + description + "Specify the maximum sample header length "; + } + } + } + container record { + presence "Indicates a record node is configured."; + description + "Specify a flow record format"; + leaf record-format { + type Nf-record-format; + mandatory true; + description + "Flow record format"; + } + leaf label { + type uint32 { + range "1..6"; + } + description + "Enter label value for MPLS record type"; + } + } + container options { + description + "Specify an option for the flow cache"; + list option { + key "optionvalue"; + description + "Specify an option for the flow cache"; + leaf optionvalue { + type Nf-cache-option; + description + "Option name"; + } + } + } + leaf cache-update-aging-timeout { + type Nf-update-cache-aging-timeout; + units "second"; + description + "Specify the update flow cache aging timeout"; + } + leaf cache-entries { + type Nf-cache-entry; + description + "Specify the number of entries in the flow cache"; + } + leaf cache-inactive-aging-timeout { + type Nf-inactive-cache-aging-timeout; + units "second"; + description + "Specify the inactive flow cache aging timeout"; + } + leaf hw-cache-inactive-aging-timeout { + type Nf-hw-cache-inactive-aging-timeout; + units "second"; + description + "Specify the inactive flow cache aging timeout + in hw-cache if hw-cache exists"; + } + leaf cache-active-aging-timeout { + type Nf-active-cache-aging-timeout; + units "second"; + description + "Specify the active flow cache aging timeout"; + } + leaf cache-timeout-rate-limit { + type Nf-cache-timeout-rate-limit; + description + "Specify the maximum number of entries to age + each second"; + } + leaf cache-aging-mode { + type Nf-cache-aging-mode; + description + "Specify the flow cache aging mode"; + } + leaf monitor-map-name { + type Nf-map-name; + description + "Monitor map name"; + } + } + } + + grouping NET-FLOW { + description + "Common node of interface-configuration, + l2-transport"; + container flow-protocols { + description + "Interface netflow configuration"; + list flow-protocol { + key "flow-protocol"; + description + "Configure netflow flow protocol"; + leaf flow-protocol { + type Nf-flow-protocol; + description + "Netflow Flow Protocol"; + } + list direction { + key "flow-direction"; + description + "Configure netflow flow direction"; + leaf flow-direction { + type Nf-flow-direction; + description + "Netflow Flow Direction"; + } + list monitor-info { + key "monitor-map sampler-map"; + description + "Specify a sampler for a flow monitor"; + leaf monitor-map { + type xr:Cisco-ios-xr-string; + description + "Flow monitor map name"; + } + leaf sampler-map { + type xr:Cisco-ios-xr-string; + description + "Sampler map name"; + } + } + } + } + } + } + + augment "/a1:interface-configurations/a1:interface-configuration/a2:l2-transport" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-l2vpn-cfg'"; + uses NET-FLOW; + } + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + uses NET-FLOW; + } + container net-flow { + description + "NetFlow Configuration"; + container flow-exporter-maps { + description + "Configure a flow exporter map"; + list flow-exporter-map { + key "exporter-map-name"; + description + "Exporter map name"; + container source-address { + description + "Configure export source address for export + packets (has higher precedence than address + from source interface)"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "Source IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Source IPV6 address"; + } + } + container udp { + description + "Use UDP as transport protocol"; + container source-port { + description + "Configure UDP source port options"; + container port { + presence "Indicates a port node is configured."; + description + "Configure a single udp port or a set of + source ports"; + leaf scheme { + type Nf-export-udp-source-port-scheme; + mandatory true; + description + "Source Port allocation scheme"; + } + leaf port-number { + type uint32 { + range "49152..65535"; + } + mandatory true; + description + "Source Port number"; + } + leaf port-count { + type uint32 { + range "1..1024"; + } + description + "Number of source ports to be used"; + } + } + } + leaf destination-port { + type uint32 { + range "1024..65535"; + } + description + "Configure Destination UDP port"; + } + } + container destination { + description + "Configure export destination (collector)"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "Destination IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Destination IPV6 address"; + } + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "VRF name"; + } + } + container version { + presence "Indicates a version node is configured."; + description + "Specify export version parameters"; + container options { + description + "Specify options for exporting templates"; + leaf interface-table-export-timeout { + type Nf-export-timeout; + units "second"; + description + "Specify timeout for exporting interface + table"; + } + leaf sampler-table-export-timeout { + type Nf-export-timeout; + units "second"; + description + "Specify timeout for exporting sampler table"; + } + leaf class-table-export-timeout { + type Nf-export-timeout; + units "second"; + description + "Specify timeout for exporting class table"; + } + leaf vrf-table-export-timeout { + type Nf-export-timeout; + units "second"; + description + "Specify timeout for exporting vrf table"; + } + } + leaf version-type { + type Nf-export-version; + mandatory true; + description + "Export version number"; + } + leaf options-template-timeout { + type Nf-template-timeout; + units "second"; + default "1800"; + description + "Option template configuration options"; + } + leaf common-template-timeout { + type Nf-template-timeout; + units "second"; + default "1800"; + description + "Specify custom timeout for the template"; + } + leaf data-template-timeout { + type Nf-template-timeout; + units "second"; + default "1800"; + description + "Data template configuration options"; + } + } + leaf dfbit { + type empty; + description + "Set Do Not Fragment flag in Export Packet"; + } + leaf source-interface { + type xr:Interface-name; + description + "Configure source interface whose address can + be used as source address for export packets"; + } + leaf dscp { + type uint32 { + range "0..63"; + } + description + "Specify DSCP value for export packets"; + } + leaf packet-length { + type uint32 { + range "512..9000"; + } + description + "Export Packet maximum L3 length, should + conform to outgoing interface mtu"; + } + leaf exporter-map-name { + type Nf-map-name; + description + "Exporter map name"; + } + } + } + container flow-sampler-maps { + description + "Flow sampler map configuration"; + list flow-sampler-map { + key "sampler-map-name"; + description + "Sampler map name"; + container sampling-modes { + description + "Configure packet sampling mode"; + list sampling-mode { + key "mode"; + description + "Configure sampling mode"; + leaf mode { + type Nf-sampling-mode; + description + "Sampling mode"; + } + leaf sample-number { + type Nf-sample-number; + mandatory true; + description + "Number of packets to be sampled in the + sampling interval"; + } + leaf interval { + type Nf-sample-interval; + mandatory true; + description + "Sampling interval in units of packets"; + } + } + } + leaf sampler-map-name { + type Nf-map-name; + description + "Sampler map name"; + } + } + } + container flow-monitor-map-table { + description + "Flow monitor map configuration"; + uses FLOW-MONITOR-MAP; + } + container flow-monitor-map-performance-table { + description + "Configure a performance traffic flow monitor map"; + uses FLOW-MONITOR-MAP; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cfg.yang new file mode 100644 index 000000000..b0fc58cd6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cfg.yang @@ -0,0 +1,220 @@ +module Cisco-IOS-XR-tty-management-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-cfg"; + prefix tty-management-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-tty-management-datatypes { + prefix dt1; + } + import Cisco-IOS-XR-tty-server-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-management package configuration. + + This YANG module augments the + Cisco-IOS-XR-tty-server-cfg + module with configuration data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-05 { + description + "Added autocommand and syntax check yang query"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-09-25 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:tty/a1:tty-lines/a1:tty-line" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-tty-server-cfg'"; + container connection { + description + "Management connection configuration"; + container transport-input { + description + "Protocols to use when connecting to the + terminal server"; + leaf select { + type dt1:Tty-transport-protocol-select; + default "all"; + description + "Choose transport protocols"; + } + leaf protocol1 { + when "../select = 'some'" { + description + "../Select = Some"; + } + type dt1:Tty-transport-protocol; + description + "Transport protocol1"; + } + leaf protocol2 { + when "../select = 'some'" { + description + "../Select = Some"; + } + type dt1:Tty-transport-protocol; + description + "Transport protocol2"; + } + leaf none { + type uint32; + description + "Not used"; + } + } + container transport-output { + presence "Indicates a transport-output node is configured."; + description + "Protocols to use for outgoing connections"; + leaf select { + type dt1:Tty-transport-protocol-select; + mandatory true; + description + "Choose transport protocols"; + } + leaf protocol1 { + type dt1:Tty-transport-protocol; + description + "Transport protocol1"; + } + leaf protocol2 { + type dt1:Tty-transport-protocol; + description + "Transport protocol2"; + } + leaf none { + type uint32; + description + "Not used"; + } + } + container session-timeout { + presence "Indicates a session-timeout node is configured."; + description + "Interval for closing connection when there is + no input traffic"; + leaf timeout { + type uint32 { + range "0..35791"; + } + mandatory true; + description + "Session timeout interval in minutes"; + } + leaf direction { + type dt1:Tty-session-timeout-direction; + mandatory true; + description + "Include output traffic as well as input + traffic"; + } + } + leaf disconnect-character { + type xr:Char-num; + description + "Disconnect character's decimal equivalent value + or Character "; + } + leaf auto-command { + type string; + description + "Line template's auto command"; + } + leaf acl-in { + type string; + description + "ACL to filter ingoing connections"; + } + leaf acl-out { + type string; + description + "ACL to filter outgoing connections"; + } + leaf cli-white-space-completion { + type empty; + description + "Command completion on whitespace"; + } + leaf session-limit { + type uint32 { + range "0..20"; + } + default "6"; + description + "The number of outgoing connections"; + } + leaf escape-character { + type xr:Tty-escape-char-num; + default "30"; + description + "Escape character or ASCII decimal equivalent + value orspecial strings NONE,DEFAULT,BREAK"; + } + leaf transport-preferred { + type dt1:Tty-transport-protocol; + description + "The preferred protocol to use"; + } + leaf interactive-syntax-check { + type boolean; + description + "Set to true to turn on interactive syntax check"; + } + } + } + augment "/a1:tty/a1:tty-lines/a1:tty-line" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-tty-server-cfg'"; + container exec-mode { + description + "Exec Mode Pager configurtion"; + leaf pager { + type dt1:Tty-pager; + default "more"; + description + "Preferred Paging Utility"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper-sub1.yang new file mode 100644 index 000000000..e5d08aa8e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper-sub1.yang @@ -0,0 +1,81 @@ +submodule Cisco-IOS-XR-tty-management-cmd-oper-sub1 { + belongs-to Cisco-IOS-XR-tty-management-cmd-oper { + prefix Cisco-IOS-XR-tty-management-cmd-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-management-cmd package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SHOWUSERS-ENTRY { + description + " Per Line Information"; + leaf line { + type string; + description + "Line Number"; + } + leaf user { + type string; + description + "User Name"; + } + leaf service { + type string; + description + "Service Name"; + } + leaf conns { + type string; + description + "No. of Connections"; + } + leaf idle-string { + type string; + description + "Idle Time"; + } + leaf location { + type string; + description + "IP address of remote login host"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper.yang new file mode 100644 index 000000000..8193727a3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-cmd-oper.yang @@ -0,0 +1,75 @@ +module Cisco-IOS-XR-tty-management-cmd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-cmd-oper"; + prefix tty-management-cmd-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tty-management-cmd-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-management-cmd package operational data. + + This module contains definitions + for the following management objects: + show-users: Show users statistics + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container show-users { + config false; + description + "Show users statistics"; + container sessions { + description + "Show users statistics"; + list session { + key "session-id"; + description + "Show users statistics"; + leaf session-id { + type uint32 { + range "0..4294967295"; + } + description + "Session Id"; + } + uses SHOWUSERS-ENTRY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-datatypes.yang new file mode 100644 index 000000000..31f727fd6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-datatypes.yang @@ -0,0 +1,151 @@ +module Cisco-IOS-XR-tty-management-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-datatypes"; + prefix tty-management-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-08-07 { + description + "Initial version"; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Tty-pager { + type enumeration { + enum "more" { + value 1; + description + "More paging Utility"; + } + enum "less" { + value 2; + description + "Less paging Utility"; + } + enum "none" { + value 3; + description + "No Paging Utility"; + } + } + description + "Tty pager"; + } + + typedef Tty-escape-char { + type union { + type enumeration { + enum "break" { + value 257; + description + "Cause escape on BREAK"; + } + enum "default" { + value 30; + description + "Use default escape character"; + } + enum "none" { + value 256; + description + "Disable escape entirely"; + } + } + type uint32 { + range "0..257"; + } + } + description + "Tty escape char"; + } + + typedef Tty-transport-protocol-select { + type enumeration { + enum "none" { + value 0; + description + "No protocols"; + } + enum "all" { + value 1; + description + "All protocols"; + } + enum "some" { + value 2; + description + "One of the Transport Protocol"; + } + } + description + "Tty transport protocol select"; + } + + typedef Tty-session-timeout-direction { + type enumeration { + enum "in" { + value 1; + description + "Input traffic"; + } + enum "in-out" { + value 3; + description + "In & Output traffic"; + } + } + description + "Tty session timeout direction"; + } + + typedef Tty-transport-protocol { + type enumeration { + enum "none" { + value 0; + description + "No protocols"; + } + enum "telnet" { + value 1; + description + "TCP/IP Telnet protocol"; + } + enum "ssh" { + value 3; + description + "Unix ssh protocol"; + } + } + description + "Tty transport protocol"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper-sub1.yang new file mode 100644 index 000000000..9c4e7bb89 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper-sub1.yang @@ -0,0 +1,174 @@ +submodule Cisco-IOS-XR-tty-management-oper-sub1 { + belongs-to Cisco-IOS-XR-tty-management-oper { + prefix Cisco-IOS-XR-tty-management-oper; + } + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-management package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + identity Host-af-id-base { + description + "Base identity for Host-af-id"; + } + + identity ipv4 { + base Host-af-id-base; + description + "IPv4 family"; + } + + identity ipv6 { + base Host-af-id-base; + description + "IPv6 family"; + } + + typedef Transport-service { + type enumeration { + enum "unknown" { + description + "Unknown service"; + } + enum "telnet" { + description + "Telnet"; + } + enum "rlogin" { + description + "Remote login"; + } + enum "ssh" { + description + "SSH"; + } + } + description + "Transport service protocol"; + } + + typedef Ipv6-address { + type inet:ipv6-address; + description + "Ipv6 address"; + } + + typedef Host-af-id { + type identityref { + base Host-af-id-base; + } + description + "Host address family types"; + } + + grouping IP-ADDR-T-UNION { + description + "IP ADDR T UNION"; + leaf af-name { + type Host-af-id; + description + "AFName"; + } + leaf ipv4-address { + when "../af-name = 'ipv4'" { + description + "../AFName = 'IPv4'"; + } + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf ipv6-address { + when "../af-name = 'ipv6'" { + description + "../AFName = 'IPv6'"; + } + type Ipv6-address; + description + "IPv6 address"; + } + } + + grouping SUSPENDED-SESSIONS { + description + "Outgoing session information"; + container host-address { + description + "Host address"; + uses IP-ADDR-T-UNION; + } + leaf connection-id { + type uint8; + description + "Connection ID [1-20]"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf transport-protocol { + type Transport-service; + description + "Session transport protocol"; + } + leaf is-last-active-session { + type boolean; + description + "True indicates last active session"; + } + leaf idle-time { + type uint32; + units "second"; + description + "Elapsed time since session was suspended (in + seconds)"; + } + } + + grouping CONN-OUT-TABLE-BAG { + description + "All outgoing sessions"; + list outgoing-connection { + description + "List of outgoing sessions"; + uses SUSPENDED-SESSIONS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper.yang new file mode 100644 index 000000000..293bef7ba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-management-oper.yang @@ -0,0 +1,62 @@ +module Cisco-IOS-XR-tty-management-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-oper"; + prefix tty-management-oper; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-tty-server-oper { + prefix a1; + } + include Cisco-IOS-XR-tty-management-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-management package operational data. + + This YANG module augments the + Cisco-IOS-XR-tty-server-oper + module with state data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + augment "/a1:tty/a1:vty-lines/a1:vty-line" { + description + "This augment extends the operational data of + 'Cisco-IOS-XR-tty-server-oper'"; + container sessions { + description + "Outgoing sessions"; + uses CONN-OUT-TABLE-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-cfg.yang new file mode 100644 index 000000000..b75d2221b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-cfg.yang @@ -0,0 +1,231 @@ +module Cisco-IOS-XR-tty-server-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-server-cfg"; + prefix tty-server-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-server package configuration. + + This module contains definitions + for the following management objects: + tty: TTY Line Configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container tty { + description + "TTY Line Configuration"; + container tty-lines { + description + "TTY templates"; + list tty-line { + key "name"; + description + "TTY Line,Use string 'console' to configure a + console line,Use string 'default' to configure + a default line,Use any string to configure a + user defined template"; + container general { + description + "TTY line general configuration"; + leaf length { + type uint32 { + range "0..512"; + } + default "24"; + description + "Number of lines on a screen."; + } + leaf absolute-timeout { + type uint32 { + range "0..10000"; + } + units "minute"; + default "0"; + description + "Absolute timeout for line disconnection"; + } + leaf width { + type uint32 { + range "0..512"; + } + default "80"; + description + "Number of characters on a screen line."; + } + } + container telnet { + description + "Telnet protocol-specific configuration"; + leaf transparent { + type empty; + description + "Send a CR as a CR followed by a NULL instead + of a CRfollowed by a LF"; + } + } + container aaa { + description + "Container class for AAA related TTY + configuration"; + container user-groups { + description + "Users characteristics"; + list user-group { + key "name"; + description + "Group to which the user will belong"; + leaf name { + type xr:Cisco-ios-xr-string; + description + "Name of the group"; + } + leaf category { + type string; + mandatory true; + description + "Specify as 'root-system' for root-system + group and 'other' for remaining groups"; + } + } + } + container authorization { + description + "Authorization parameters"; + leaf exec { + type string; + description + "For starting an exec (shell)"; + } + leaf event-manager { + type string; + description + "Specify 'default' or use an authorization + list with this name"; + } + leaf commands { + type string; + description + "For exec (shell) configuration"; + } + } + container authentication { + description + "Authentication parameters"; + leaf login { + type string; + description + "Authentication list name"; + } + } + container accounting { + description + "Accounting parameters"; + leaf exec { + type string; + description + "For starting an exec (shell)"; + } + leaf commands { + type string; + description + "For exec (shell) configuration"; + } + } + leaf login-timeout { + type uint32 { + range "0..300"; + } + units "second"; + default "30"; + description + "Timeouts for any user input during login + sequence"; + } + leaf secret { + type xr:Md5-password; + description + "Configure a secure one way encrypted password"; + } + leaf password { + type xr:Md5-password; + description + "Configure the password for the user"; + } + } + container exec { + description + "EXEC timeout and timestamp configurtion"; + container timeout { + presence "Indicates a timeout node is configured."; + description + "EXEC Timeout"; + leaf minutes { + type uint32 { + range "0..35791"; + } + units "minute"; + mandatory true; + description + "Timeout in minutes"; + } + leaf seconds { + type uint32 { + range "0..2147483"; + } + units "second"; + mandatory true; + description + "Timeout in seconds"; + } + } + leaf time-stamp { + type boolean; + description + "'True' to Enable & 'False' to Disable time + stamp"; + } + } + leaf name { + type xr:Cisco-ios-xr-string; + description + "Name of the template"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub1.yang new file mode 100644 index 000000000..2944eef27 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub1.yang @@ -0,0 +1,72 @@ +submodule Cisco-IOS-XR-tty-server-oper-sub1 { + belongs-to Cisco-IOS-XR-tty-server-oper { + prefix Cisco-IOS-XR-tty-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-server package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping TTY-CONNECTION-STATS { + description + "TTY connection statistics"; + leaf incoming-host-address { + type string { + length "0..46"; + } + description + "host address(max) of incoming connection"; + } + leaf host-address-family { + type uint32; + description + "host address family of incoming connection"; + } + leaf service { + type uint32; + description + "Input transport"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub2.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub2.yang new file mode 100644 index 000000000..f336d1494 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub2.yang @@ -0,0 +1,60 @@ +submodule Cisco-IOS-XR-tty-server-oper-sub2 { + belongs-to Cisco-IOS-XR-tty-server-oper { + prefix Cisco-IOS-XR-tty-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-server package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping TTY-AAA-STATS { + description + "AAA statistics"; + leaf user-name { + type string; + description + "The authenticated username"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub3.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub3.yang new file mode 100644 index 000000000..43f06a801 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub3.yang @@ -0,0 +1,60 @@ +submodule Cisco-IOS-XR-tty-server-oper-sub3 { + belongs-to Cisco-IOS-XR-tty-server-oper { + prefix Cisco-IOS-XR-tty-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-server package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping TTY-EXEC-PROP-STATS { + description + "exec_prop statistics"; + leaf time-stamp-enabled { + type boolean; + description + "Specifies whether timestamp is enabled or not"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub4.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub4.yang new file mode 100644 index 000000000..2fb6386d2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub4.yang @@ -0,0 +1,113 @@ +submodule Cisco-IOS-XR-tty-server-oper-sub4 { + belongs-to Cisco-IOS-XR-tty-server-oper { + prefix Cisco-IOS-XR-tty-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-server package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping TTY-GENERAL-STATS { + description + "TTY Server general statistics"; + leaf terminal-length { + type uint32; + description + "Length of the terminal or screen display, in + rows"; + } + leaf terminal-width { + type uint32; + description + "Line width"; + } + leaf async-interface { + type boolean; + description + "Usable as async interface"; + } + leaf flow-control-start-character { + type int8; + description + "Software flow control start char"; + } + leaf flow-control-stop-character { + type int8; + description + "Software flow control stop char"; + } + leaf domain-lookup-enabled { + type boolean; + description + "DNS resolution enabled"; + } + leaf motd-banner-enabled { + type boolean; + description + "MOTD banner enabled"; + } + leaf private-flag { + type boolean; + description + "Private flag for the TTY being used"; + } + leaf terminal-type { + type string; + description + "Terminal type of the TTY being used"; + } + leaf absolute-timeout { + type uint32; + description + "Absolute timeout period"; + } + leaf idle-time { + type uint32; + units "second"; + description + "Interval (in seconds) since data was last sent + on the line"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub5.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub5.yang new file mode 100644 index 000000000..f9e9cd1d2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper-sub5.yang @@ -0,0 +1,103 @@ +submodule Cisco-IOS-XR-tty-server-oper-sub5 { + belongs-to Cisco-IOS-XR-tty-server-oper { + prefix Cisco-IOS-XR-tty-server-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-server package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + grouping TTY-RS232-STATS { + description + "RS232 TTY statistics"; + leaf data-bits { + type uint32; + units "bit"; + description + "Number of databits"; + } + leaf exec-disabled { + type boolean; + description + "Exec disabled on TTY"; + } + leaf hardware-flow-control-status { + type uint32; + description + "Setting of hardware flow control"; + } + leaf parity-status { + type uint32; + description + "Setting the parity type"; + } + leaf baud-rate { + type uint32; + units "bit/s"; + description + "Inbound/Outbound baud rate in bps"; + } + leaf stop-bits { + type uint32; + units "bit"; + description + "Number of stopbits"; + } + leaf overrun-error-count { + type uint32; + description + "Count of overrun error"; + } + leaf framing-error-count { + type uint32; + description + "Count of framing error"; + } + leaf parity-error-count { + type uint32; + description + "Count of parity error"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper.yang new file mode 100644 index 000000000..954266315 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-server-oper.yang @@ -0,0 +1,364 @@ +module Cisco-IOS-XR-tty-server-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-server-oper"; + prefix tty-server-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-tty-management-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-tty-server-oper-sub5 { + revision-date 2019-04-05; + } + include Cisco-IOS-XR-tty-server-oper-sub4 { + revision-date 2019-04-05; + } + include Cisco-IOS-XR-tty-server-oper-sub3 { + revision-date 2019-04-05; + } + include Cisco-IOS-XR-tty-server-oper-sub2 { + revision-date 2019-04-05; + } + include Cisco-IOS-XR-tty-server-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-server package operational data. + + This module contains definitions + for the following management objects: + tty: TTY Line Configuration + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Fixed unconstrained data type issues"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-07-30 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + typedef Line-state { + type enumeration { + enum "none" { + value 0; + description + "Line not connected"; + } + enum "registered" { + value 1; + description + "Line registered"; + } + enum "in-use" { + value 2; + description + "Line active and in use"; + } + } + description + "Line state"; + } + + typedef Session-operation { + type enumeration { + enum "none" { + value 0; + description + "No sessions on the line"; + } + enum "setup" { + value 1; + description + "Session getting set up"; + } + enum "shell" { + value 2; + description + "Session active with a shell"; + } + enum "transitioning" { + value 3; + description + "Session in transitioning phase"; + } + enum "packet" { + value 4; + description + "Session ready to receive packets"; + } + } + description + "Session operation"; + } + + grouping STATE { + description + "Common node of console-line, vty-line, + auxiliary-line"; + container state { + description + "Line state information"; + container template { + description + "Information related to template applied to the + line"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..990"; + } + description + "Name of the template"; + } + } + container general { + description + "General information"; + leaf operation { + type Session-operation; + description + "application running of on the tty line"; + } + leaf general-state { + type Line-state; + description + "State of the line"; + } + } + } + } + + grouping GENERAL-STATISTICS { + description + "Common node of console-statistics, vty-statistics + , auxiliary-statistics"; + container general-statistics { + description + "General statistics of line"; + uses TTY-GENERAL-STATS; + } + } + + grouping AAA { + description + "Common node of console-statistics, vty-statistics + , auxiliary-statistics"; + container aaa { + description + "AAA related statistics"; + uses TTY-AAA-STATS; + } + } + + grouping RS232 { + description + "Common node of console-statistics, + auxiliary-statistics"; + container rs232 { + description + "RS232 statistics of console line"; + uses TTY-RS232-STATS; + } + } + + grouping EXEC { + description + "Common node of console-statistics, vty-statistics + , auxiliary-statistics"; + container exec { + description + "Exec related statistics"; + uses TTY-EXEC-PROP-STATS; + } + } + + grouping CONFIGURATION { + description + "Common node of console-line, vty-line, + auxiliary-line"; + container configuration { + description + "Configuration information of the line"; + container connection-configuration { + description + "Conection configuration information"; + container transport-input { + description + "Protocols to use when connecting to the + terminal server"; + leaf select { + type dt1:Tty-transport-protocol-select; + default "all"; + description + "Choose transport protocols"; + } + leaf protocol1 { + when "../select = 'some'" { + description + "../Select = Some"; + } + type dt1:Tty-transport-protocol; + description + "Transport protocol1"; + } + leaf protocol2 { + when "../select = 'some'" { + description + "../Select = Some"; + } + type dt1:Tty-transport-protocol; + description + "Transport protocol2"; + } + leaf none { + type uint32 { + range "0..4294967295"; + } + description + "Not used"; + } + } + leaf acl-out { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "ACL for outbound traffic"; + } + leaf acl-in { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "ACL for inbound traffic"; + } + } + } + } + + container tty { + config false; + description + "TTY Line Configuration"; + container console-nodes { + description + "List of Nodes for console"; + list console-node { + key "id"; + description + "Console line configuration on a node"; + container console-line { + description + "Details about console line"; + container console-statistics { + description + "Statistics of the console line"; + uses RS232; + uses GENERAL-STATISTICS; + uses EXEC; + uses AAA; + } + uses STATE; + uses CONFIGURATION; + } + leaf id { + type xr:Node-id; + description + "Node ID"; + } + } + } + container vty-lines { + description + "List of VTY lines"; + list vty-line { + key "line-number"; + description + "VTY Line"; + container vty-statistics { + description + "Statistics of the VTY line"; + container connection { + description + "Connection related statistics"; + uses TTY-CONNECTION-STATS; + } + uses GENERAL-STATISTICS; + uses EXEC; + uses AAA; + } + leaf line-number { + type uint32 { + range "0..4294967295"; + } + description + "VTY Line number"; + } + uses STATE; + uses CONFIGURATION; + } + } + container auxiliary-nodes { + description + "List of Nodes attached with an auxiliary line"; + list auxiliary-node { + key "id"; + description + "Line configuration on a node"; + container auxiliary-line { + description + "Details about auxiliary line"; + container auxiliary-statistics { + description + "Statistics of the auxiliary line"; + uses RS232; + uses GENERAL-STATISTICS; + uses EXEC; + uses AAA; + } + uses STATE; + uses CONFIGURATION; + } + leaf id { + type xr:Node-id; + description + "Node ID"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper-sub1.yang new file mode 100644 index 000000000..0885e6535 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper-sub1.yang @@ -0,0 +1,77 @@ +submodule Cisco-IOS-XR-tty-show-line-oper-sub1 { + belongs-to Cisco-IOS-XR-tty-show-line-oper { + prefix Cisco-IOS-XR-tty-show-line-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-show-line package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-27 { + description + "yang support for show line"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SHOWLINE-ENTRY { + description + "Per Line Information"; + leaf tty { + type string; + description + "Tty id"; + } + leaf speed { + type uint32; + description + "Baud rate"; + } + leaf hw-overrun-errors { + type uint32; + description + "Hardware overruns"; + } + leaf sw-overrun-errors { + type uint32; + description + "Software overruns"; + } + leaf ingress-access-list { + type string; + description + "ingress access list"; + } + leaf egress-access-list { + type string; + description + "egress access list"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper.yang new file mode 100644 index 000000000..da4b66256 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-line-oper.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XR-tty-show-line-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-show-line-oper"; + prefix tty-show-line-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tty-show-line-oper-sub1 { + revision-date 2021-08-27; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-show-line package operational data. + + This module contains definitions + for the following management objects: + show-line: Show line statistics + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-27 { + description + "yang support for show line"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container show-line { + config false; + description + "Show line statistics"; + container lines { + description + "Show line statistics"; + list line { + key "line-id"; + description + "Show line statistics"; + leaf line-id { + type uint32 { + range "0..100"; + } + description + "Line ID"; + } + uses SHOWLINE-ENTRY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper-sub1.yang new file mode 100644 index 000000000..30b9dfa89 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper-sub1.yang @@ -0,0 +1,144 @@ +submodule Cisco-IOS-XR-tty-show-terminal-oper-sub1 { + belongs-to Cisco-IOS-XR-tty-show-terminal-oper { + prefix Cisco-IOS-XR-tty-show-terminal-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tty-show-terminal package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-27 { + description + "yang support for show terminal"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Parity { + type enumeration { + enum "empty" { + value 0; + description + "Empty"; + } + enum "even" { + value 1; + description + "Even"; + } + enum "odd" { + value 2; + description + "Odd"; + } + enum "space" { + value 3; + description + "Space"; + } + enum "mark" { + value 4; + description + "Mark"; + } + enum "no" { + value 5; + description + "No"; + } + } + description + "parity type"; + } + + grouping SHOWTERMINAL-ENTRY { + description + "Per Line Information"; + leaf line { + type string; + description + "Line Number"; + } + leaf location { + type string; + description + "IP address of remote login host"; + } + leaf type { + type string; + description + "Type"; + } + leaf length { + type uint32; + description + "number of lines"; + } + leaf width { + type uint32; + description + "number of columns"; + } + leaf speed { + type uint32; + description + "Baud rate"; + } + leaf parity { + type Parity; + description + "parity"; + } + leaf stop-bits { + type uint32; + description + "stop bits"; + } + leaf data-bits { + type uint32; + description + "data bits"; + } + leaf template { + type string; + description + "line template"; + } + leaf timestamp { + type boolean; + description + "timestamp enabled or disabled"; + } + leaf no-exec { + type boolean; + description + "spawning exec disallowed"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper.yang new file mode 100644 index 000000000..757984da1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-show-terminal-oper.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XR-tty-show-terminal-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-show-terminal-oper"; + prefix tty-show-terminal-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tty-show-terminal-oper-sub1 { + revision-date 2021-08-27; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-show-terminal package operational data. + + This module contains definitions + for the following management objects: + show-terminal: Show terminal statistics + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-27 { + description + "yang support for show terminal"; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container show-terminal { + config false; + description + "Show terminal statistics"; + container terminals { + description + "Show terminal statistics"; + list terminal { + key "terminal-id"; + description + "Show terminal statistics"; + leaf terminal-id { + type uint32 { + range "0..4294967295"; + } + description + "Terminal ID"; + } + uses SHOWTERMINAL-ENTRY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tty-vty-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-vty-cfg.yang new file mode 100644 index 000000000..04454af35 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tty-vty-cfg.yang @@ -0,0 +1,105 @@ +module Cisco-IOS-XR-tty-vty-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tty-vty-cfg"; + prefix tty-vty-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tty-vty package configuration. + + This module contains definitions + for the following management objects: + vty: VTY Pools configuration + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-23 { + description + "Descriptions updated."; + semver:module-version "1.0.1"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-09-16 { + description + "Descriptions updated."; + } + revision 2015-01-07 { + description + "IOS XR 5.3.1 revision."; + } + + container vty { + description + "VTY Pools configuration"; + container vty-pools { + description + "List of VTY Pools"; + list vty-pool { + key "pool-name"; + description + "VTY Pool"; + leaf pool-name { + type xr:Cisco-ios-xr-string; + description + "For configuring range for default pool use + 'default',For configuring range for + event-manager pool use 'eem',For configuring + range for any user defined pool use any other + string"; + } + leaf first-vty { + type uint32; + mandatory true; + description + "First VTY number,For default VTY use 0,For + user-defined use 5,For fault-manager use 100"; + } + leaf last-vty { + type uint32; + mandatory true; + description + "Last VTY number,For default configure between + 0-99,For user-defined configure between 5-99 + ,For event-manager configure between 100-105"; + } + leaf line-template { + type string; + description + "Name of line template"; + } + leaf none { + type string; + description + "Empty Option"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-cfg.yang new file mode 100644 index 000000000..27366e9b8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-cfg.yang @@ -0,0 +1,318 @@ +module Cisco-IOS-XR-tunnel-gre-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-gre-cfg"; + prefix tunnel-gre-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-gre package configuration. + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-16 { + description + "Added new option under Destination node for tunnel destination address group feature + 2022-02-26 + Added new option under Source node for tunnel source direct feature"; + semver:module-version "2.0.1m"; + } + revision 2020-02-02 { + description + "Changed TTL from leaf to container"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2017-05-01 { + description + "Fixing backward compatibility error in module."; + } + revision 2016-05-25 { + description + "Initial version"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tunnel-mode-direction { + type enumeration { + enum "decap" { + value 1; + description + "Decap-only tunnel"; + } + enum "encap" { + value 2; + description + "Encap-only tunnel"; + } + } + description + "Tunnel mode direction"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container tunnel-ip { + description + "IP over GRE encapsulation"; + container ttl { + description + "Configure the time-to-live for packets sent + over this tunnel"; + leaf value { + type uint32 { + range "1..255"; + } + description + "Enter the TTL value"; + } + leaf disable { + type empty; + description + "Always set to false"; + } + } + container mode { + description + "Tunnel encapsulation method"; + leaf value { + type uint32; + description + "GRE IPV4 - 1, GRE IPV6 - 2, MGRE IPV4 - 3, + MGRE IPV6 -4. IPV4 - 5, IPV6 - 6"; + } + leaf mode-direction { + type Tunnel-mode-direction; + description + "Tunnel Mode Direction"; + } + } + container source { + description + "Configure source of tunnel"; + leaf type { + type uint32; + description + "1 for Interface Name, 2 for IPv4 Address, 3 + for IPv6 Address, 4 for Direct"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IPV4 address of the tunnel source"; + } + leaf interface-name { + type xr:Interface-name; + description + "Name of tunnel source interface"; + } + leaf ipv6-address { + type string; + description + "IPV6 address of the tunnel source"; + } + } + container key { + description + "Configure the key value for packets sent over + this tunnel"; + leaf entropy { + type empty; + description + "Always set to true"; + } + leaf value { + type uint32 { + range "0..4294967295"; + } + description + "Enter the KEY value"; + } + } + container keepalive { + description + "Enable keepalive packets on this tunnel"; + leaf keep-alive-period { + type uint32 { + range "1..32767"; + } + description + "Keepalive period in seconds (default 10 + seconds)"; + } + leaf keep-alive-retries { + type uint32 { + range "1..255"; + } + description + "Number of retries (default 3)"; + } + } + container bfd { + description + "Configure BFD for tunnel"; + container keepalive-period { + description + "Configure keepalive period"; + leaf value { + type uint32 { + range "1..32767"; + } + description + "Keepalive period in seconds"; + } + leaf disable { + type empty; + description + "Always set to false"; + } + } + container destination { + description + "Configure BFD destination for tunnel"; + leaf type { + type uint32; + description + "1 for IPv4 Address, 2 for IPv6 Address"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IPV4 address of the BFD destination"; + } + leaf ipv6-address { + type string; + description + "IPV6 address of the BFD destination"; + } + } + leaf minimum-interval { + type uint32 { + range "150..30000"; + } + description + "Configure minimum interval for BFD"; + } + leaf retry { + type uint32 { + range "1..255"; + } + description + "Configure Number of retries for BFD Keepalive"; + } + leaf multiplier { + type uint32 { + range "3..50"; + } + description + "Configure BFD multiplier"; + } + } + container destination { + description + "Configure destination of tunnel"; + leaf type { + type uint32; + description + "1 for IPv4 Address, 2 for IPv6 Address, 3 for + IPv4 object-group, 4 for IPv6 object-group"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "IPV4 address of the tunnel destination"; + } + leaf ipv6-address { + type string; + description + "IPV6 address of the tunnel destination"; + } + leaf address-mask { + type inet:ipv4-address-no-zone; + description + "IPv4 prefix length of the tunnel destination"; + } + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "Prefix-list to validate destination's + resolving prefix"; + } + leaf object-group { + type string { + length "1..64"; + } + description + "Object-group name of the tunnel destination"; + } + } + leaf allow-key { + type empty; + description + "Enable flag bit to allow packets with GRE key"; + } + leaf tunnel-vrf { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + description + "Tunnel vrf label name"; + } + leaf tos { + type uint32 { + range "0..255"; + } + description + "Configure Type of Service bits for this tunnel"; + } + leaf disable { + type uint32; + description + "Disable DF bit (i.e. allow fragmentation)"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-datatypes.yang new file mode 100644 index 000000000..53511ba2b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-gre-datatypes.yang @@ -0,0 +1,120 @@ +module Cisco-IOS-XR-tunnel-gre-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-gre-datatypes"; + prefix tunnel-gre-datatypes; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of generally useful + derived YANG data types. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tunl-addr-family-enum { + type enumeration { + enum "inet" { + value 2; + description + "IPv4 address Family"; + } + enum "inet6" { + value 10; + description + "IPv6 address Family"; + } + } + description + "Tunl addr family enum"; + } + + typedef Tunl-id-range { + type uint32 { + range "0..131070"; + } + description + "Tunl id range"; + } + + typedef Tunl-addr-family-list { + type string { + pattern "(ipv4)|(ipv6)|(all)"; + } + description + "ipv4: Tunnel Transport Protocol Address Family + IPv4, ipv6: Tunnel Transport Protocol Address + Family IPv6, all: Tunnel Transport Protocol + Address Families all"; + } + + typedef Tunl-addr-length-range { + type uint32 { + range "1..128"; + } + description + "Tunl addr length range"; + } + + typedef Tunl-mode-enum { + type enumeration { + enum "gre-ipv4" { + value 1; + description + "GRE over IPv4 encapsulation"; + } + enum "gre-ipv6" { + value 2; + description + "GRE over IPv6 encapsulation"; + } + enum "mgre-ipv4" { + value 3; + description + "Multipoint GRE over IPv4 encapsulation"; + } + enum "mgre-ipv6" { + value 4; + description + "Multipoint GRE over IPv6 encapsulation"; + } + enum "ipv4" { + value 5; + description + "Generic packet tunneling over IPv4 + encapsulation"; + } + enum "ipv6" { + value 6; + description + "Generic packet tunneling over IPv6 + encapsulation"; + } + } + description + "Tunl mode enum"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper-sub1.yang new file mode 100644 index 000000000..95f9894ec --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper-sub1.yang @@ -0,0 +1,745 @@ +submodule Cisco-IOS-XR-tunnel-ip-ea-oper-sub1 { + belongs-to Cisco-IOS-XR-tunnel-ip-ea-oper { + prefix Cisco-IOS-XR-tunnel-ip-ea-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tunnel-ip-ea package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-12-03 { + description + "Modified name of field for destination address group enabled + 2022-08-25 + Added an entry for tunnel destination address group + 2022-02-26 + Added a new bag for source direct"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tunl-ip-ea-flags { + type enumeration { + enum "tunl-ip-ea-flag-none" { + value 0; + description + "tunl ip ea flag none"; + } + enum "tunl-ip-ea-adj-ipv4-created" { + value 1; + description + "tunl ip ea adj ipv4 created"; + } + enum "tunl-ip-ea-adj-ipv4-to-create" { + value 2; + description + "tunl ip ea adj ipv4 to create"; + } + enum "tunl-ip-ea-adj-ipv4-to-delete" { + value 4; + description + "tunl ip ea adj ipv4 to delete"; + } + enum "tunl-ip-ea-adj-ipv4-mask" { + value 7; + description + "tunl ip ea adj ipv4 mask"; + } + enum "tunl-ip-ea-adj-ipv6-created" { + value 8; + description + "tunl ip ea adj ipv6 created"; + } + enum "tunl-ip-ea-adj-ipv6-to-create" { + value 16; + description + "tunl ip ea adj ipv6 to create"; + } + enum "tunl-ip-ea-adj-ipv6-to-delete" { + value 32; + description + "tunl ip ea adj ipv6 to delete"; + } + enum "tunl-ip-ea-adj-ipv6-mask" { + value 56; + description + "tunl ip ea adj ipv6 mask"; + } + enum "tunl-ip-ea-adj-mpls-created" { + value 64; + description + "tunl ip ea adj mpls created"; + } + enum "tunl-ip-ea-adj-mpls-to-create" { + value 128; + description + "tunl ip ea adj mpls to create"; + } + enum "tunl-ip-ea-adj-mpls-to-delete" { + value 256; + description + "tunl ip ea adj mpls to delete"; + } + enum "tunl-ip-ea-adj-mpls-mask" { + value 448; + description + "tunl ip ea adj mpls mask"; + } + enum "tunl-ip-ea-flag-new-intf" { + value 65536; + description + "tunl ip ea flag new intf"; + } + enum "tunl-ip-ea-flag-pd-create" { + value 131072; + description + "tunl ip ea flag pd create"; + } + enum "tunl-ip-ea-flag-pending-op" { + value 262144; + description + "tunl ip ea flag pending op"; + } + enum "tunl-ip-ea-flag-unsync" { + value 524288; + description + "tunl ip ea flag unsync"; + } + enum "tunl-ip-ea-flag-qt-added" { + value 1048576; + description + "tunl ip ea flag qt added"; + } + } + description + "Tunl ip ea flags"; + } + + typedef Tunl-gre-plat-upd { + type enumeration { + enum "tunl-gre-plat-upd-all" { + value -1; + description + "tunl gre plat upd all"; + } + enum "tunl-gre-plat-upd-none" { + value 0; + description + "tunl gre plat upd none"; + } + enum "tunl-gre-plat-upd-mode" { + value 1; + description + "tunl gre plat upd mode"; + } + enum "tunl-gre-plat-upd-tunl-src-addr" { + value 2; + description + "tunl gre plat upd tunl src addr"; + } + enum "tunl-gre-plat-upd-tunl-dst-addr" { + value 4; + description + "tunl gre plat upd tunl dst addr"; + } + enum "tunl-gre-plat-upd-ttl" { + value 8; + description + "tunl gre plat upd ttl"; + } + enum "tunl-gre-plat-upd-tos-present" { + value 16; + description + "tunl gre plat upd tos present"; + } + enum "tunl-gre-plat-upd-tos" { + value 32; + description + "tunl gre plat upd tos"; + } + enum "tunl-gre-plat-upd-key-present" { + value 64; + description + "tunl gre plat upd key present"; + } + enum "tunl-gre-plat-upd-key" { + value 128; + description + "tunl gre plat upd key"; + } + enum "tunl-gre-plat-upd-enable-checksum" { + value 256; + description + "tunl gre plat upd enable checksum"; + } + enum "tunl-gre-plat-upd-ka-rx-enabled" { + value 512; + description + "tunl gre plat upd ka rx enabled"; + } + enum "tunl-gre-plat-upd-bandwidth" { + value 1024; + description + "tunl gre plat upd bandwidth"; + } + enum "tunl-gre-plat-upd-line-proto-up" { + value 2048; + description + "tunl gre plat upd line proto up"; + } + enum "tunl-gre-plat-upd-dfbit" { + value 4096; + description + "tunl gre plat upd dfbit"; + } + enum "tunl-gre-plat-upd-mtu" { + value 8192; + description + "tunl gre plat upd mtu"; + } + enum "tunl-gre-plat-upd-trans-vrf" { + value 16384; + description + "tunl gre plat upd trans vrf"; + } + enum "tunl-gre-plat-upd-key-enable" { + value 32768; + description + "tunl gre plat upd key enable"; + } + enum "tunl-gre-plat-upd-intf-ready" { + value 65536; + description + "tunl gre plat upd intf ready"; + } + enum "tunl-ip-plat-upd-output-if" { + value 131072; + description + "tunl ip plat upd output if"; + } + enum "tunl-ip-plat-upd-output-phy-if" { + value 262144; + description + "tunl ip plat upd output phy if"; + } + enum "tunl-ip-plat-upd-encap-in-sw" { + value 524288; + description + "tunl ip plat upd encap in sw"; + } + } + description + "Tunl gre plat upd"; + } + + typedef Tunl-ip-mode-dir { + type enumeration { + enum "tunl-ip-mode-dir-none" { + description + "tunl ip mode dir none"; + } + enum "tunl-ip-mode-dir-decap" { + description + "tunl ip mode dir decap"; + } + enum "tunl-ip-mode-dir-encap" { + description + "tunl ip mode dir encap"; + } + enum "tunl-ip-mode-dir-max" { + description + "tunl ip mode dir max"; + } + } + description + "Tunl ip mode dir"; + } + + typedef Tunl-in6-addr { + type inet:ipv6-address; + description + "Tunl in6 addr"; + } + + typedef Tunl-in-addr { + type inet:ipv4-address; + description + "Tunl in addr"; + } + + typedef Tunl-af-id { + type enumeration { + enum "tunl-af-id-none" { + value 0; + description + "Unspecified AFI"; + } + enum "tunl-af-id-ipv4" { + value 2; + description + "IPv4 AFI"; + } + enum "tunl-af-id-ipv6" { + value 10; + description + "IPv6 AFI"; + } + } + description + "Tunl af id"; + } + + typedef Tunl-ip-mode { + type enumeration { + enum "tunl-ip-mode-none" { + value 0; + description + "tunl ip mode none"; + } + enum "tunl-ip-mode-gr-eo-ipv4" { + value 1; + description + "tunl ip mode gr eo ipv4"; + } + enum "tunl-ip-mode-gr-eo-ipv6" { + value 2; + description + "tunl ip mode gr eo ipv6"; + } + enum "tunl-ip-mode-mgr-eo-ipv4" { + value 3; + description + "tunl ip mode mgr eo ipv4"; + } + enum "tunl-ip-mode-mgr-eo-ipv6" { + value 4; + description + "tunl ip mode mgr eo ipv6"; + } + enum "tunl-ip-mode-ipv4" { + value 5; + description + "tunl ip mode ipv4"; + } + enum "tunl-ip-mode-ipv6" { + value 6; + description + "tunl ip mode ipv6"; + } + enum "tunl-ip-mode-max" { + value 7; + description + "tunl ip mode max"; + } + } + description + "Tunl ip mode"; + } + + grouping TUNL-GRE-EA-DIRECT-ADDR { + description + "TUNL GRE EA DIRECT ADDR"; + container address { + description + "Address"; + uses IP-ADDR-UNION; + } + leaf addr-state { + type uint8; + description + "Address state"; + } + leaf platform-status { + type uint8; + description + "Platform status"; + } + } + + grouping TUNL-GRE-EA-SRC-DIRECT { + description + "TUNL GRE EA SRC DIRECT"; + leaf ifh { + type xr:Interface-name; + description + "Interface handle"; + } + list ipv4-address { + description + "IPv4 Address array"; + uses TUNL-GRE-EA-DIRECT-ADDR; + } + list ipv6-address { + description + "IPv6 Address array"; + uses TUNL-GRE-EA-DIRECT-ADDR; + } + } + + grouping TUNL-GRE-EA-SRC-DIRECT-ARRAY { + description + "Array of SRC Direct entries BAG"; + leaf ipv4-ifh { + type xr:Interface-name; + description + "IPv4 source direct tunnel handle"; + } + leaf ipv6-ifh { + type xr:Interface-name; + description + "IPv6 source direct tunnel handle"; + } + leaf ipv4-addresses { + type uint8; + description + "Number of IPv4 addresses"; + } + leaf ipv6-addresses { + type uint8; + description + "Number of IPv6 addresses"; + } + list sourcedirect-array { + description + "Array of source direct db"; + uses TUNL-GRE-EA-SRC-DIRECT; + } + } + + grouping TUNL-IP-EA-EDM { + description + "TUNL IP EA EDM"; + container source-address-xr { + description + "Source Address"; + uses IP-ADDR-UNION; + } + container destination-address-xr { + description + "Destination Address"; + uses IP-ADDR-UNION; + } + leaf interface-type { + type xr:Interface-name; + description + "Interface Type"; + } + leaf destination-address-length { + type uint8; + description + "Destination Address Length"; + } + leaf tunnel-vrf-table-id { + type uint32; + description + "Tunnel VRF table ID"; + } + leaf tunnel-mode-xr { + type Tunl-ip-mode; + description + "Mode of Tunnel"; + } + leaf tunnel-mode-direction { + type Tunl-ip-mode-dir; + description + "Mode direction"; + } + leaf bandwidth { + type uint32; + description + "Bandwidth"; + } + leaf key { + type uint32; + description + "Key Value for GRE Packet"; + } + leaf key-entropy-length { + type uint8; + description + "Key entropy length for GRE Packet"; + } + leaf platform-tunnel-id { + type uint16; + description + "Platform Tunnel ID"; + } + leaf hw-retry-flags { + type Tunl-gre-plat-upd; + description + "HW Retry Flags"; + } + leaf flags { + type uint32; + description + "Flags for don't fragment, TOS reflection"; + } + leaf mtu { + type uint16; + description + "Maximum Transmission Unit"; + } + leaf tos { + type uint8; + description + "Type Of Service"; + } + leaf ttl { + type uint8; + description + "Time To Live"; + } + leaf encapsulation-state { + type uint8; + description + "Encapsulation State"; + } + leaf adjacent-flags { + type Tunl-ip-ea-flags; + description + "Adjacent Flags"; + } + leaf output-ifhandle { + type xr:Interface-name; + description + "O/p Interface handle"; + } + leaf next-pointer { + type uint32; + description + "Pointer to next Node"; + } + leaf source-direct { + type uint8; + description + "Source direct enabled"; + } + leaf destination-address-group-enabled { + type uint8; + description + "Destination address group enabled"; + } + leaf num-dst-addr-grp-entries { + type uint16; + description + "Number of destination address group entries"; + } + leaf num-dst-addr-grp-pd-failed { + type uint16; + description + "Destination address group PD programming failed + count"; + } + } + + grouping TUNL-GRE-EA-SHM-EDM { + description + "TUNL GRE EA SHM EDM"; + leaf shm-intialized { + type uint8; + description + "Shm Initialization"; + } + leaf sh-mwin-id { + type uint32; + description + "Shmwin Id"; + } + leaf shm-version { + type uint32; + description + "Shm Version"; + } + leaf shm-base-addr { + type uint32; + description + "Shm Base Address"; + } + leaf platform-info { + type uint64; + description + "Platform Info"; + } + leaf tunnel-ipqt { + type uint64; + description + "Tunnel IP QT"; + } + leaf tunnel-idb { + type uint64; + description + "Tunnel IP IDB"; + } + leaf tunnel-idb-dummy { + type uint64; + description + "Tunnel IP IDB Dummy"; + } + } + + grouping TUNL-P2MP-EA-EDM-OVERLAY { + description + "TUNL P2MP EA EDM OVERLAY"; + container overlay-address { + description + "Overlay Address"; + uses IP-ADDR-UNION; + } + leaf adjacency { + type uint32; + description + "Adjacency"; + } + leaf stale-flag { + type boolean; + description + "Stale Flag"; + } + } + + grouping IP-ADDR-UNION { + description + "IP ADDR UNION"; + leaf afi { + type Tunl-af-id; + description + "AFI"; + } + leaf ipv4 { + when "../afi = 'tunl-af-id-ipv4'" { + description + "../AFI = 'TUNL_AF_ID_IPV4'"; + } + type Tunl-in-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../afi = 'tunl-af-id-ipv6'" { + description + "../AFI = 'TUNL_AF_ID_IPV6'"; + } + type Tunl-in6-addr; + description + "IPv6 address type"; + } + } + + grouping TUNL-P2MP-EA-EDM-TED-DB { + description + "TUNL P2MP EA EDM TED DB"; + container transport-address { + description + "Transport Address"; + uses IP-ADDR-UNION; + } + list overlay-array { + description + "Overlay Address"; + uses TUNL-P2MP-EA-EDM-OVERLAY; + } + } + + grouping TUNL-P2MP-EA-EDM-TED-DB-ARRAY { + description + "Array of TED DB entries BAG"; + leaf tunnel-id-xr { + type uint32; + description + "Tunnel id"; + } + leaf interface-type { + type xr:Interface-name; + description + "Interface Type"; + } + leaf tunnel-mode { + type Tunl-ip-mode; + description + "Mode of Tunnel"; + } + leaf endpt-count { + type uint32; + description + "Endpoint count"; + } + list ted-db-array { + description + "Array of EA TED DB"; + uses TUNL-P2MP-EA-EDM-TED-DB; + } + } + + grouping TUNL-IP-EA-SUM { + description + "TUNL IP EA SUM"; + leaf eaidb-count { + type uint16; + description + "EA IDB count"; + } + leaf eaqt-count { + type uint16; + description + "EA QT count"; + } + leaf num-idbs-to-retry-upd { + type uint16; + description + "Number of IDBs to retry PD update"; + } + leaf num-idbs-to-retry-del { + type uint16; + description + "Number of IDBs to retry PD delete"; + } + leaf num-idbs-retried-upd { + type uint16; + description + "Number of IDBs retried PD update"; + } + leaf num-idbs-retried-del { + type uint16; + description + "Number of IDBs retried PD delete"; + } + leaf num-idbs-retry-failed { + type uint16; + description + "Number of IDBs retry failed"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper.yang new file mode 100644 index 000000000..a0944b775 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ea-oper.yang @@ -0,0 +1,212 @@ +module Cisco-IOS-XR-tunnel-ip-ea-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-ip-ea-oper"; + prefix tunnel-ip-ea-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-tunnel-gre-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-tunnel-ip-ea-oper-sub1 { + revision-date 2022-12-03; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-ip-ea package operational data. + + This module contains definitions + for the following management objects: + tunnel-ip-ea: Tunnel IP EA parameters + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-12-03 { + description + "Modified name of field for destination address group enabled + 2022-08-25 + Added an entry for tunnel destination address group + 2022-02-26 + Added a new bag for source direct"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container tunnel-ip-ea { + config false; + description + "Tunnel IP EA parameters"; + container nodes { + description + "Node table for node-specific operational data"; + list node { + key "node-name"; + description + "Node-specific data for a particular node"; + container summary { + description + "EA summary information"; + uses TUNL-IP-EA-SUM; + } + container endpoints { + description + "GRE EA DB endpoints DB"; + list endpoint { + description + "GRE EA DB endpoints DB"; + leaf tunnel-id { + type dt1:Tunl-id-range; + description + "Tunnel ID"; + } + leaf transport-ip-address { + type inet:ip-address-no-zone; + description + "Transport IP Address"; + } + leaf overlay-ip-address { + type inet:ip-address-no-zone; + description + "Overlay IP Address"; + } + uses TUNL-P2MP-EA-EDM-TED-DB-ARRAY; + } + } + container shared-memory-summary { + description + "EA shared memory information"; + uses TUNL-GRE-EA-SHM-EDM; + } + container qual-table { + description + "EA QT parameters"; + container tunnel-ids { + description + "Tunnel ID list"; + list tunnel-id { + key "tid"; + description + "Tunnel interface id value"; + leaf tid { + type dt1:Tunl-id-range; + description + "Tunnel ID"; + } + uses TUNL-IP-EA-EDM; + } + } + container qual-table-params { + description + "Qualification Table Parameter list"; + list qual-table-param { + description + "Qualification Table parameters"; + leaf source-address { + type inet:ip-address-no-zone; + description + "Source IP address"; + } + leaf destination-address { + type inet:ip-address-no-zone; + description + "Destination IP address"; + } + leaf rsi-table-id { + type uint32 { + range "0..4294967295"; + } + description + "RSI Table ID"; + } + leaf tunnel-key { + type uint32 { + range "0..4294967295"; + } + description + "TunnelKey"; + } + leaf tunnel-mode { + type dt1:Tunl-mode-enum; + description + "Tunnel Mode"; + } + uses TUNL-IP-EA-EDM; + } + } + } + container source-direct { + description + "EA source direct address information"; + uses TUNL-GRE-EA-SRC-DIRECT-ARRAY; + } + container database { + description + "EA database parameters"; + container interface-names { + description + "Interface Names List"; + list interface-name { + key "ifname"; + description + "Interface Name"; + leaf ifname { + type xr:Interface-name; + description + "Tunnel Interface Name"; + } + uses TUNL-IP-EA-EDM; + } + } + container tunnel-ids { + description + "Tunnel ID list"; + list tunnel-id { + key "tid"; + description + "Tunnel ID"; + leaf tid { + type dt1:Tunl-id-range; + description + "Tunnel ID"; + } + uses TUNL-IP-EA-EDM; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper-sub1.yang new file mode 100644 index 000000000..3bec813fd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper-sub1.yang @@ -0,0 +1,1074 @@ +submodule Cisco-IOS-XR-tunnel-ip-ma-oper-sub1 { + belongs-to Cisco-IOS-XR-tunnel-ip-ma-oper { + prefix Cisco-IOS-XR-tunnel-ip-ma-oper; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tunnel-ip-ma package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-25 { + description + "Added an entry for tunnel destination address group + 2022-02-26 + Added a field in tunl_gre_ma_edm_idb structure for source direct address"; + semver:module-version "1.2.0"; + } + revision 2021-02-25 { + description + "Added an entry for src addr db in bag"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-10-09 { + description + "Modified hierarchy for endpoints, gspnode-db and application-db-stats"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Tunl-gre-ka-states { + type enumeration { + enum "tunl-gre-ka-state-disabled" { + description + "tunl gre ka state disabled"; + } + enum "tunl-gre-ka-state-enabled" { + description + "tunl gre ka state enabled"; + } + enum "tunl-gre-ka-state-success" { + description + "tunl gre ka state success"; + } + enum "tunl-gre-ka-state-check" { + description + "tunl gre ka state check"; + } + enum "tunl-gre-ka-state-failed" { + description + "tunl gre ka state failed"; + } + enum "tunl-gre-ka-state-max" { + description + "tunl gre ka state max"; + } + } + description + "Tunl gre ka states"; + } + + typedef Tunl-ip-tunl-flag-bits { + type enumeration { + enum "tunl-ip-flag-bits-none" { + value 0; + description + "tunl ip flag bits none"; + } + enum "tunl-ip-flag-bfd-state-up" { + value 1; + description + "tunl ip flag bfd state up"; + } + enum "tunl-ip-flag-bfd-state-down" { + value 2; + description + "tunl ip flag bfd state down"; + } + enum "tunl-ip-flag-bfd-period" { + value 4; + description + "tunl ip flag bfd period"; + } + enum "tunl-ip-flag-bfd-retry" { + value 8; + description + "tunl ip flag bfd retry"; + } + enum "tunl-ip-flag-bfd-set" { + value 16; + description + "tunl ip flag bfd set"; + } + enum "tunl-ip-flag-bfd-running" { + value 32; + description + "tunl ip flag bfd running"; + } + } + description + "Tunl ip tunl flag bits"; + } + + typedef Tunl-ip-transport-proto { + type enumeration { + enum "tunl-ip-transport-ipv4" { + value 0; + description + "tunl ip transport ipv4"; + } + enum "tunl-ip-transport-ipv6" { + value 1; + description + "tunl ip transport ipv6"; + } + enum "tunl-ip-transport-max" { + value 2; + description + "tunl ip transport max"; + } + } + description + "Tunl ip transport proto"; + } + + typedef Tunl-ip-tunl-flag { + type enumeration { + enum "tunl-ip-flag-dest-connected" { + value -2147483648; + description + "tunl ip flag dest connected"; + } + enum "tunl-ip-flag-none" { + value 0; + description + "tunl ip flag none"; + } + enum "tunl-ip-flag-dfbit-disable" { + value 1; + description + "tunl ip flag dfbit disable"; + } + enum "tunl-ip-flag-ka" { + value 2; + description + "tunl ip flag ka"; + } + enum "tunl-ip-flag-tos" { + value 4; + description + "tunl ip flag tos"; + } + enum "tunl-ip-flag-gre-key" { + value 8; + description + "tunl ip flag gre key"; + } + enum "tunl-ip-flag-src-up" { + value 16; + description + "tunl ip flag src up"; + } + enum "tunl-ip-flag-dest-reach" { + value 32; + description + "tunl ip flag dest reach"; + } + enum "tunl-ip-flag-dest-reach-conv" { + value 64; + description + "tunl ip flag dest reach conv"; + } + enum "tunl-ip-flag-dest-local" { + value 128; + description + "tunl ip flag dest local"; + } + enum "tunl-ip-flag-dest-tunl" { + value 256; + description + "tunl ip flag dest tunl"; + } + enum "tunl-ip-flag-dest-db-added" { + value 512; + description + "tunl ip flag dest db added"; + } + enum "tunl-ip-flag-intf-state-up" { + value 1024; + description + "tunl ip flag intf state up"; + } + enum "tunl-ip-flag-intf-state-admin-down" { + value 2048; + description + "tunl ip flag intf state admin down"; + } + enum "tunl-ip-flag-bc-state-up" { + value 4096; + description + "tunl ip flag bc state up"; + } + enum "tunl-ip-flag-ipv4-caps" { + value 8192; + description + "tunl ip flag ipv4 caps"; + } + enum "tunl-ip-flag-ipv6-caps" { + value 16384; + description + "tunl ip flag ipv6 caps"; + } + enum "tunl-ip-flag-mpls-caps" { + value 32768; + description + "tunl ip flag mpls caps"; + } + enum "tunl-ip-flag-src-dst-inval" { + value 65536; + description + "tunl ip flag src dst inval"; + } + enum "tunl-ip-flag-trans-vrf" { + value 131072; + description + "tunl ip flag trans vrf"; + } + enum "tunl-ip-flag-gre-key-enable" { + value 262144; + description + "tunl ip flag gre key enable"; + } + enum "tunl-ip-flag-src-intf-ip-vrf-valid" { + value 524288; + description + "tunl ip flag src intf ip vrf valid"; + } + enum "tunl-ip-flag-decap" { + value 1048576; + description + "tunl ip flag decap"; + } + enum "tunl-ip-flag-line-state" { + value 2097152; + description + "tunl ip flag line state"; + } + enum "tunl-ip-flag-mark" { + value 4194304; + description + "tunl ip flag mark"; + } + enum "tunl-ip-flag-encap-in-sw" { + value 8388608; + description + "tunl ip flag encap in sw"; + } + enum "tunl-ip-flag-dfbit-copy" { + value 16777216; + description + "tunl ip flag dfbit copy"; + } + enum "tunl-ip-flag-mtu-cfg" { + value 33554432; + description + "tunl ip flag mtu cfg"; + } + enum "tunl-ip-flag-item-exists" { + value 67108864; + description + "tunl ip flag item exists"; + } + enum "tunl-ip-flag-create-if" { + value 134217728; + description + "tunl ip flag create if"; + } + enum "tunl-ip-flag-dest-acl" { + value 268435456; + description + "tunl ip flag dest acl"; + } + enum "tunl-ip-flag-ttl-cfg" { + value 536870912; + description + "tunl ip flag ttl cfg"; + } + enum "tunl-ip-flag-encap" { + value 1073741824; + description + "tunl ip flag encap"; + } + } + description + "Tunl ip tunl flag"; + } + + typedef Tunl-ip-mode-dir { + type enumeration { + enum "tunl-ip-mode-dir-none" { + description + "tunl ip mode dir none"; + } + enum "tunl-ip-mode-dir-decap" { + description + "tunl ip mode dir decap"; + } + enum "tunl-ip-mode-dir-encap" { + description + "tunl ip mode dir encap"; + } + enum "tunl-ip-mode-dir-max" { + description + "tunl ip mode dir max"; + } + } + description + "Tunl ip mode dir"; + } + + typedef Tunl-ip-mode { + type enumeration { + enum "tunl-ip-mode-none" { + value 0; + description + "tunl ip mode none"; + } + enum "tunl-ip-mode-gr-eo-ipv4" { + value 1; + description + "tunl ip mode gr eo ipv4"; + } + enum "tunl-ip-mode-gr-eo-ipv6" { + value 2; + description + "tunl ip mode gr eo ipv6"; + } + enum "tunl-ip-mode-mgr-eo-ipv4" { + value 3; + description + "tunl ip mode mgr eo ipv4"; + } + enum "tunl-ip-mode-mgr-eo-ipv6" { + value 4; + description + "tunl ip mode mgr eo ipv6"; + } + enum "tunl-ip-mode-ipv4" { + value 5; + description + "tunl ip mode ipv4"; + } + enum "tunl-ip-mode-ipv6" { + value 6; + description + "tunl ip mode ipv6"; + } + enum "tunl-ip-mode-max" { + value 7; + description + "tunl ip mode max"; + } + } + description + "Tunl ip mode"; + } + + typedef Tunl-in6-addr { + type inet:ipv6-address; + description + "Tunl in6 addr"; + } + + typedef Tunl-in-addr { + type inet:ipv4-address; + description + "Tunl in addr"; + } + + typedef Tunl-af-id { + type enumeration { + enum "tunl-af-id-none" { + value 0; + description + "Unspecified AFI"; + } + enum "tunl-af-id-ipv4" { + value 2; + description + "IPv4 AFI"; + } + enum "tunl-af-id-ipv6" { + value 10; + description + "IPv6 AFI"; + } + } + description + "Tunl af id"; + } + + grouping TUNL-P2MP-MA-EDM-OVERLAY { + description + "TUNL P2MP MA EDM OVERLAY"; + container overlay-address { + description + "Overlay Address"; + uses IP-ADDR-UNION; + } + leaf adjacency { + type uint32; + description + "Adjacency"; + } + leaf stale-flag { + type boolean; + description + "Stale Flag"; + } + } + + grouping TUNL-P2MP-MA-EDM-TED-DB { + description + "TUNL P2MP MA EDM TED DB"; + container transport-address { + description + "Transport Address"; + uses IP-ADDR-UNION; + } + list overlay-array { + description + "Overlay Address"; + uses TUNL-P2MP-MA-EDM-OVERLAY; + } + } + + grouping TUNL-P2MP-MA-EDM-TED-DB-ARRAY { + description + "Array of TED DB entries BAG"; + leaf tunnel-id-xr { + type uint32; + description + "Tunnel id"; + } + leaf tunnel-mode { + type Tunl-ip-mode; + description + "Mode of Tunnel"; + } + leaf endpt-count { + type uint32; + description + "Endpoint count"; + } + list ted-db-array { + description + "Array of MA TED DB"; + uses TUNL-P2MP-MA-EDM-TED-DB; + } + } + + grouping TUNL-P2MP-MA-EDM-APP-PROD { + description + "app_prod BAG"; + leaf is-valid { + type boolean; + description + "Is valid flag"; + } + leaf reg-status { + type boolean; + description + "Register status"; + } + leaf eod-recvd { + type boolean; + description + "EOD received"; + } + leaf endpt-prod { + type boolean; + description + "Is endpt producer"; + } + leaf is-tmr-run { + type boolean; + description + "Is timer running"; + } + leaf endpt-count { + type uint32; + description + "Endpt count"; + } + } + + grouping TUNL-P2MP-MA-EDM-APP-PROD-ARRAY { + description + "Array of APP PROD entries BAG"; + list app-prod-array { + description + "APP_PROD array"; + uses TUNL-P2MP-MA-EDM-APP-PROD; + } + } + + grouping TUNL-IP-MA-EDM-CHKPT { + description + "TUNL IP MA EDM CHKPT"; + container source-address { + description + "Tunnel Source Interface Address"; + uses IP-ADDR-UNION; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf flags { + type uint32; + description + "Interface State and Basecap State flags"; + } + leaf platform-tunnel-id { + type uint16; + description + "Platform Tunnel ID"; + } + leaf object-id { + type uint64; + description + "chkpt object ID"; + } + leaf tunnel-app-id { + type uint32; + description + "Tunnel App ID"; + } + leaf ep-app-id { + type uint32; + description + "EP App ID"; + } + } + + grouping TUNL-IP-MA-SUM { + description + "TUNL IP MA SUM"; + leaf gre-cap-platform-supported { + type boolean; + description + "Is Platform Supported"; + } + leaf gre-cap-max-tunnels-supported { + type uint32; + description + "Max Tunnel Supported"; + } + leaf gre-cap-max-mtu-supported { + type uint32; + description + "Max MTU Supported"; + } + leaf gre-cap-multi-encap-supported { + type boolean; + description + "Multi Encap Supported"; + } + leaf gre-cap-key-supported { + type boolean; + description + "Is Key Supported"; + } + leaf gre-cap-ipv4-transport-supported { + type boolean; + description + "Is GRE IPV4 Supported"; + } + leaf gre-cap-ipv6-transport-supported { + type boolean; + description + "Is GRE IPV6 Supported"; + } + leaf gre-cap-mgre-ipv4-transport-supported { + type boolean; + description + "Is GRE IPV4 Supported"; + } + leaf gre-cap-mgre-ipv6-transport-supported { + type boolean; + description + "Is GRE IPV4 Supported"; + } + leaf cap-ipv4-transport-supported { + type boolean; + description + "Is IPV4 Supported"; + } + leaf cap-ipv6-transport-supported { + type boolean; + description + "Is IPV6 Supported"; + } + leaf gre-cap-checksum-supported { + type boolean; + description + "Is Checksum Supported"; + } + leaf gre-cap-seq-num-supported { + type boolean; + description + "Is Sequence Number Supported"; + } + leaf gre-cap-shm-reset-supported { + type boolean; + description + "Is Shmem reset Supported"; + } + leaf gre-tid-db-count { + type uint32; + description + "Number of Tunnels in Tunnel ID DB"; + } + leaf gre-ifh-db-count { + type uint32; + description + "Number of Tunnels in Ifhandle DB"; + } + leaf gre-dst-db-count { + type uint32; + description + "Number of Tunnels in Destination DB"; + } + leaf gre-src-db-count { + type uint32; + description + "Number of Tunnels in Source DB"; + } + leaf gre-trans-vrf-db-count { + type uint32; + description + "Number of Tunnels in Transport VRF DB"; + } + leaf gre-chkpt-db-count { + type uint32; + description + "Number of Tunnels in Checkpoint DB"; + } + leaf gre-ka-db-count { + type uint32; + description + "Number of Tunnels in Keepalive DB"; + } + leaf gre-im-dpc-bulk-count { + type uint32; + description + "Number of bulk DPC messages"; + } + leaf gre-im-dpc-total-count { + type uint32; + description + "Number of Total DPC messages"; + } + leaf gre-im-dpc-error-count { + type uint32; + description + "Number of DPC error messages"; + } + leaf gre-intf-state-up-up { + type uint32; + description + "Number of interfaces in UP/UP state"; + } + leaf gre-intf-state-up-down { + type uint32; + description + "Number of interfaces in UP/DOWN state"; + } + leaf gre-intf-state-down-down { + type uint32; + description + "Number of interfaces in DOWN/DOWN state"; + } + leaf gre-src-addr-db-count { + type uint32; + description + "Number of Tunnels in Source addr DB"; + } + } + + grouping TUNL-IP-MA-EDM-RIB-CONV { + description + "TUNL IP MA EDM RIB CONV"; + leaf tunnel-vrf-table-id { + type uint32; + description + "Tunnel VRF table ID"; + } + leaf afi { + type uint32; + description + "Transport VRF AFI"; + } + leaf vrf-name { + type string; + description + "Transport VRF Name"; + } + leaf convergence-state { + type boolean; + description + "IS Table Convergence State"; + } + } + + grouping TUNL-IP-MA-EDM-KA { + description + "TUNL IP MA EDM KA"; + container source-address { + description + "Source Address"; + uses IP-ADDR-UNION; + } + container destination-address { + description + "Destination Address"; + uses IP-ADDR-UNION; + } + leaf tunnel-id-xr { + type uint32; + description + "Tunnel id"; + } + leaf interface-type { + type xr:Interface-name; + description + "Interface Type"; + } + leaf gre-key { + type uint32; + description + "GRE key"; + } + leaf tunnel-vrfid { + type uint32; + description + "Tunnel VRF ID"; + } + leaf tunnel-vrf-table-id { + type uint32; + description + "Tunnel VRF table ID"; + } + leaf flags { + type Tunl-ip-tunl-flag; + description + "Flags for interface/line protocol state"; + } + leaf keepalive-period { + type uint16; + description + "Keepalive Period"; + } + leaf keepalive-maximum-retries { + type uint8; + description + "Keepalive Maximum Retries"; + } + leaf keepalive-fail { + type uint8; + description + "Keepalive Fail Count"; + } + leaf ttl { + type uint8; + description + "Tunnel TTL"; + } + leaf keepalive-state { + type Tunl-gre-ka-states; + description + "keepalive State"; + } + leaf ka-sent-packets { + type uint32; + description + "Number of keepalive packets sent"; + } + leaf ka-received-packets { + type uint32; + description + "Number of keepalive packets received"; + } + leaf ka-sent-time { + type uint32; + description + "Timestamp of Keepalive packets sent"; + } + leaf ka-received-time { + type uint32; + description + "Timestamp of Keepalive packets received"; + } + } + + grouping IP-ADDR-UNION { + description + "IP ADDR UNION"; + leaf afi { + type Tunl-af-id; + description + "AFI"; + } + leaf ipv4 { + when "../afi = 'tunl-af-id-ipv4'" { + description + "../AFI = 'TUNL_AF_ID_IPV4'"; + } + type Tunl-in-addr; + description + "IPv4 address type"; + } + leaf ipv6 { + when "../afi = 'tunl-af-id-ipv6'" { + description + "../AFI = 'TUNL_AF_ID_IPV6'"; + } + type Tunl-in6-addr; + description + "IPv6 address type"; + } + } + + grouping TUNL-GRE-MA-EDM-IDB { + description + "TUNL GRE MA EDM IDB"; + container source-address { + description + "Source Address"; + uses IP-ADDR-UNION; + } + container destination-address { + description + "Destination Address"; + uses IP-ADDR-UNION; + } + leaf tunnel-id { + type uint32; + description + "Tunnel ID"; + } + leaf interface-type { + type xr:Interface-name; + description + "Interface Type"; + } + leaf source-interface-name { + type string; + description + "Source Interface Name"; + } + leaf tunnel-src-vrf-table-id { + type uint32; + description + "Tunnel Source VRF table ID"; + } + leaf destination-address-length { + type uint8; + description + "Destination Address Length"; + } + leaf destination-prefix-list { + type string; + description + "Destination Prefix List"; + } + leaf tunnel-vrf-table-id { + type uint32; + description + "Tunnel VRF table ID"; + } + leaf tunnel-vrfid { + type uint32; + description + "Tunnel VRF ID"; + } + leaf vrf-name { + type string; + description + "Interface Name"; + } + leaf tunnel-mode { + type Tunl-ip-mode; + description + "Mode of Tunnel"; + } + leaf tunnel-mode-direction { + type Tunl-ip-mode-dir; + description + "Mode direction"; + } + leaf flags { + type Tunl-ip-tunl-flag; + description + "Flags for don't fragment, TOS reflection"; + } + leaf mtu { + type uint16; + description + "Max Transferable Unit"; + } + leaf tos { + type uint8; + description + "Type Of Service"; + } + leaf ttl { + type uint8; + description + "Time To Live"; + } + leaf interface-name { + type string; + description + "Interface Name"; + } + leaf keepalive-maximum-retries { + type uint8; + description + "Keepalive Retries"; + } + leaf keepalive-period { + type uint16; + description + "Keepalive Period"; + } + leaf platform-tunnel-id { + type uint16; + description + "Platform Tunnel ID"; + } + leaf bandwidth { + type uint32; + description + "Bandwidth"; + } + leaf flags-other { + type uint32; + description + "Other Flags"; + } + leaf key { + type uint32; + description + "Key Value for GRE Packet"; + } + leaf key-entropy-length { + type uint8; + description + "Key Entropy Length for GRE Packet"; + } + leaf transport-proto { + type Tunl-ip-transport-proto; + description + "Tunnel Transport Protocol"; + } + leaf op-ifhandle { + type xr:Interface-name; + description + "Output Interface handle"; + } + leaf flag-bits { + type Tunl-ip-tunl-flag-bits; + description + "Flags for BFD"; + } + leaf interface-state { + type string; + description + "Tunnel Interface State"; + } + leaf base-caps-state { + type string; + description + "Base Caps State"; + } + leaf bfd-session-state { + type string; + description + "BFD Session State"; + } + leaf source-direct { + type uint8; + description + "Source direct"; + } + leaf destination-address-group { + type string; + description + "Destination Address group"; + } + } + + grouping TUNL-IP-MA-EDM-IDB-ARRAY { + description + "Array of IDB entries BAG"; + list idb-array { + description + "Array of MA IDB"; + uses TUNL-GRE-MA-EDM-IDB; + } + } + + grouping TUNL-P2MP-MA-EDM-GSPDB { + description + "gspdb BAG"; + leaf node-state { + type uint16; + description + "Node state"; + } + leaf nodeid { + type uint32; + description + "Node id"; + } + leaf leaf-timer-flag { + type boolean; + description + "leaf timer flag"; + } + } + + grouping TUNL-P2MP-MA-EDM-GSPDB-ARRAY { + description + "Array of GSP DB entries BAG"; + list gspdb-array { + description + "GSP_DB array"; + uses TUNL-P2MP-MA-EDM-GSPDB; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper.yang new file mode 100644 index 000000000..44f28601c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-ip-ma-oper.yang @@ -0,0 +1,270 @@ +module Cisco-IOS-XR-tunnel-ip-ma-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-ip-ma-oper"; + prefix tunnel-ip-ma-oper; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-tunnel-gre-datatypes { + prefix dt1; + } + include Cisco-IOS-XR-tunnel-ip-ma-oper-sub1 { + revision-date 2022-08-25; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-ip-ma package operational data. + + This module contains definitions + for the following management objects: + tunnel-ip-ma: Tunnel Ip ma parameters + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-25 { + description + "Added an entry for tunnel destination address group + 2022-02-26 + Added a field in tunl_gre_ma_edm_idb structure for source direct address"; + semver:module-version "1.2.0"; + } + revision 2021-02-25 { + description + "Added an entry for src addr db in bag"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-10-09 { + description + "Modified hierarchy for endpoints, gspnode-db and application-db-stats"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping SUMMARY { + description + "Common node of database, standby-database"; + container summary { + description + "Tunnel IP MA summary"; + uses TUNL-IP-MA-SUM; + } + } + + container tunnel-ip-ma { + config false; + description + "Tunnel Ip ma parameters"; + container gsp-node-db-summary { + description + "GRE MA GSP Node DB summary"; + uses TUNL-P2MP-MA-EDM-GSPDB-ARRAY; + } + container database { + description + "Tunnel Ip ma parameters"; + container transport-vrf-datas { + description + "GRE/IPinIP Tunnel Transport VRF DB"; + list transport-vrf-data { + description + "GRE/IPinIP Tunnel Transport VRF DB"; + leaf vrf-name { + type xr:Cisco-ios-xr-string; + description + "VRF Name"; + } + leaf address-family { + type dt1:Tunl-addr-family-list; + description + "Address Family"; + } + uses TUNL-IP-MA-EDM-IDB-ARRAY; + } + } + container tunnel-ids { + description + "MA database parameters"; + list tunnel-id { + key "tid"; + description + "Tunnel ID"; + leaf tid { + type dt1:Tunl-id-range; + description + "Tunnel ID"; + } + uses TUNL-IP-MA-EDM-IDB-ARRAY; + } + } + container interface-handles { + description + "GRE/IPinIP Tunnel ifhandle DB"; + list interface-handle { + key "if-handle"; + description + "GRE/IPinIP Tunnel ifhandle DB"; + leaf if-handle { + type xr:Interface-name; + description + "Interface Handle value"; + } + uses TUNL-IP-MA-EDM-IDB-ARRAY; + } + } + container keep-alives { + description + "show tunnel ip keepalive data"; + list keep-alive { + description + "Show tunnel ip keepalive data"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Handle value"; + } + leaf tunnel-id { + type dt1:Tunl-id-range; + description + "Tunnel ID"; + } + uses TUNL-IP-MA-EDM-KA; + } + } + container rib-convergences { + description + "GRE/IPinIP Tunnel RIB converge DB"; + list rib-convergence { + key "table-id"; + description + "GRE/IPinIP Tunnel RIB converge DB"; + leaf table-id { + type uint32; + description + "RSI Table ID"; + } + uses TUNL-IP-MA-EDM-RIB-CONV; + } + } + container tunnel-sources { + description + "GRE/IPinIP Tunnel Source interface name DB"; + list tunnel-source { + description + "GRE/IPinIP Tunnel Source interface name DB"; + leaf interface-name { + type xr:Interface-name; + description + "Tunnel Source Interface Name"; + } + leaf address-family { + type dt1:Tunl-addr-family-list; + description + "AddressFamily"; + } + uses TUNL-IP-MA-EDM-IDB-ARRAY; + } + } + container check-points { + description + "GRE MA Checkpoint"; + list check-point { + key "check-point-id"; + description + "GRE MA Checkpoint"; + leaf check-point-id { + type uint32; + description + "Object-ID of GRE MA checkpoint record"; + } + uses TUNL-IP-MA-EDM-CHKPT; + } + } + container tunnel-destinations { + description + "GRE/IPinIP Tunnel Destination DB"; + list tunnel-destination { + description + "GRE/IPinIP Tunnel Destination DB"; + leaf ip { + type inet:ip-address-no-zone; + description + "Tunnel Destination IP Address"; + } + leaf length { + type dt1:Tunl-addr-length-range; + description + "Destination Address Length"; + } + leaf vrf { + type xr:Cisco-ios-xr-string; + description + "Transport VRF Name"; + } + uses TUNL-IP-MA-EDM-IDB-ARRAY; + } + } + uses SUMMARY; + } + container application-db-stats { + description + "GRE MA APP DB summary"; + uses TUNL-P2MP-MA-EDM-APP-PROD-ARRAY; + } + container standby-database { + description + "Tunnel Ip ma parameters"; + uses SUMMARY; + } + container endpoints { + description + "GRE MA DB endpoints"; + list endpoint { + description + "GRE MA DB endpoints"; + leaf tunnel-id { + type dt1:Tunl-id-range; + description + "Tunnel ID"; + } + leaf transport-ip-address { + type inet:ip-address-no-zone; + description + "Transport IP Address"; + } + leaf overlay-ip-address { + type inet:ip-address-no-zone; + description + "Overlay IP Address"; + } + uses TUNL-P2MP-MA-EDM-TED-DB-ARRAY; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-cfg.yang new file mode 100644 index 000000000..857063e9d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-cfg.yang @@ -0,0 +1,295 @@ +module Cisco-IOS-XR-tunnel-l2tun-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-l2tun-cfg"; + prefix tunnel-l2tun-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-l2tun package configuration. + + This module contains definitions + for the following management objects: + l2tp: L2TPv3 class used for L2VPNs + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef L2tp-no-user { + type uint32 { + range "0..4294967295"; + } + description + "L2tp no user"; + } + + typedef L2tp-hash-method { + type enumeration { + enum "md5" { + value 1; + description + "MD5"; + } + enum "sha1" { + value 2; + description + "SHA1"; + } + enum "none" { + value 3; + description + "None"; + } + } + description + "L2tp hash method"; + } + + typedef L2tp-digest-hash-method { + type enumeration { + enum "md5" { + value 1; + description + "MD5"; + } + enum "sha1" { + value 2; + description + "SHA1"; + } + } + description + "L2tp digest hash method"; + } + + grouping TIMEOUT { + description + "Common node of initial, retransmit"; + container timeout { + description + "Set timeout value range"; + leaf minimum { + type uint32 { + range "1..8"; + } + description + "Specify minimum timeout"; + } + leaf maximum { + type uint32 { + range "1..8"; + } + description + "Specify maximum timeout"; + } + } + } + + container l2tp { + description + "L2TPv3 class used for L2VPNs"; + container classes { + description + "List of classes"; + list class { + key "class-name"; + description + "Configuration for a specific class"; + container security { + description + "Security check"; + container ip { + description + "Security check for IP"; + leaf address-check { + type empty; + description + "Enable IP address check for L2TP packets"; + } + } + } + container retransmit { + description + "Control message retransmission parameters"; + container initial { + description + "Set retries and timeouts for initial"; + leaf retry { + type uint32 { + range "1..1000"; + } + description + "Specify the retry number"; + } + uses TIMEOUT; + } + leaf retry { + type uint32 { + range "5..1000"; + } + description + "Specify retransmit retry count"; + } + uses TIMEOUT; + } + container tunnel { + description + "l2TP tunnel"; + leaf accounting { + type string; + description + "Tunnel accounting"; + } + } + container digest { + description + "Message digest authentication for the L2TP + control connection"; + container secrets { + description + "Set shared secret for message digest"; + list secret { + key "secret-name"; + description + "The encrypted user secret and hash method"; + leaf secret-name { + type xr:Cisco-ios-xr-string; + description + "Specify the encrypted user secret"; + } + leaf hash { + type L2tp-hash-method; + mandatory true; + description + "Specify hash method"; + } + } + } + leaf hash { + type L2tp-digest-hash-method; + description + "Specify hash method"; + } + leaf check-disable { + type empty; + description + "Disable digest checking"; + } + } + container ip { + description + "IP TOS value"; + leaf tos { + type uint32 { + range "0..255"; + } + description + "IP TOS value (decimal)"; + } + } + leaf host-name { + type string; + description + "Local hostname for control connection + authentication"; + } + leaf hidden { + type empty; + description + "Specify to hide AVPs in outgoing control + messages"; + } + leaf hello-interval { + type uint32 { + range "0..1000"; + } + units "second"; + description + "Specify interval (in seconds)"; + } + leaf timeout-setup { + type uint32 { + range "60..6000"; + } + units "second"; + description + "Time permitted to set up a control connection"; + } + leaf receive-window { + type uint32 { + range "1..16384"; + } + units "byte"; + description + "Receive window size for the control connection"; + } + leaf congestion-control { + type empty; + description + "Congestion control enabled"; + } + leaf timeout-no-user { + type L2tp-no-user; + units "second"; + description + "Timeout value for no-user in seconds"; + } + leaf authentication { + type uint32; + description + "Authenticate the L2TP control connection"; + } + leaf enable { + type empty; + description + "Enable L2TPv3 class used for L2VPNs"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify the password for control channel + authentication"; + } + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..31"; + } + description + "Specify the class name. Regexp: + ^[a-z0-9A-Z][-_.a-z0-9A-Z]*$"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper-sub1.yang new file mode 100644 index 000000000..7c299c683 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper-sub1.yang @@ -0,0 +1,1432 @@ +submodule Cisco-IOS-XR-tunnel-l2tun-oper-sub1 { + belongs-to Cisco-IOS-XR-tunnel-l2tun-oper { + prefix Cisco-IOS-XR-tunnel-l2tun-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tunnel-l2tun package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-11-01 { + description + "Added Yang support show l2tpv2 internal."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Digest-hash { + type enumeration { + enum "md5" { + description + "MD5"; + } + enum "sha1" { + description + "SHA1"; + } + } + description + "Digest hash types"; + } + + grouping L2TPV2-CC-ACCT-STATS-DATA { + description + "L2TPv2 tunnel accounting statistics"; + leaf records-sent-successfully { + type uint64; + description + "Accounting records sent successfully"; + } + leaf start { + type uint64; + description + "Accounting start"; + } + leaf stop { + type uint64; + description + "Accounting stop"; + } + leaf reject { + type uint64; + description + "Accounting reject"; + } + leaf transport-failures { + type uint64; + description + "Transport failures"; + } + leaf positive-acknowledgement { + type uint64; + description + "Positive acknowledgement"; + } + leaf negative-acknowledgement { + type uint64; + description + "Negative acknowledgement"; + } + leaf records-checkpointed { + type uint64; + description + "Total records checkpointed"; + } + leaf records-failed-to-checkpoint { + type uint64; + description + "Records fail to checkpoint"; + } + leaf records-sent-from-queue { + type uint64; + description + "Records sent from queue"; + } + leaf memory-failures { + type uint32; + description + "Memory failures"; + } + leaf current-size { + type uint32; + description + "Current checkpoint size"; + } + leaf records-recovered-from-checkpoint { + type uint32; + description + "Records recovered from checkpoint"; + } + leaf records-fail-to-recover { + type uint32; + description + "Records fail to recover"; + } + leaf queue-statistics-size { + type int32; + description + "Queue statistics size"; + } + } + + grouping L2TPV2-STATS-DATA { + description + "L2TPv2 statistics"; + leaf tunnels { + type uint32; + description + "Number of tunnels"; + } + leaf sessions { + type uint32; + description + "Number of sessions"; + } + leaf sent-packets { + type uint32; + description + "Number of packets sent"; + } + leaf received-packets { + type uint32; + description + "Number of packets received"; + } + leaf average-packet-processing-time { + type uint32; + units "microsecond"; + description + "Average processing time for received packets + (in micro seconds)"; + } + leaf received-out-of-order-packets { + type uint32; + description + "Out of order packets received"; + } + leaf reorder-packets { + type uint32; + description + "Re order packets"; + } + leaf reorder-deviation-packets { + type uint32; + description + "Re order deviation"; + } + leaf incoming-dropped-packets { + type uint32; + description + "In coming packets dropped"; + } + leaf buffered-packets { + type uint32; + description + "Bufferred packets"; + } + leaf netio-packets { + type uint32; + description + "Packets RX in netio"; + } + } + + grouping L2TP-SESS-FWD-STATS { + description + "L2TP session PD counters"; + leaf remote-session-id { + type uint32; + description + "Remote session ID"; + } + leaf in-packets { + type uint64; + description + "Number of packets sent in"; + } + leaf out-packets { + type uint64; + description + "Number of packets sent out"; + } + leaf in-bytes { + type uint64; + units "byte"; + description + "Number of bytes sent in"; + } + leaf out-bytes { + type uint64; + units "byte"; + description + "Number of bytes sent out"; + } + } + + grouping L2TP-INTERNAL-BAG-DATA { + description + "L2TP INTERNAL BAG DATA"; + leaf l2tp-sh-l2x-num-tunnels { + type uint32; + description + "l2tp sh l2x num tunnels"; + } + leaf l2tp-sh-l2x-num-sessions { + type uint32; + description + "l2tp sh l2x num sessions"; + } + leaf l2tp-sh-l2x-rx-high-water-mark { + type uint32; + description + "l2tp sh l2x rx high water mark"; + } + leaf l2tp-sh-l2x-ave-msg-process-usecs { + type uint64; + description + "l2tp sh l2x ave msg process usecs"; + } + leaf l2tp-sh-l2x-num-rx-msgs { + type uint32; + description + "l2tp sh l2x num rx msgs"; + } + leaf l2tp-sh-l2x-num-tx-msgs { + type uint32; + description + "l2tp sh l2x num tx msgs"; + } + leaf l2tp-sh-l2x-num-tx-err-drops { + type uint32; + description + "l2tp sh l2x num tx err drops"; + } + leaf l2tp-sh-l2x-num-tx-conn-drops { + type uint32; + description + "l2tp sh l2x num tx conn drops"; + } + leaf l2tp-sh-l2x-num-reordered-msgs { + type uint32; + description + "l2tp sh l2x num reordered msgs"; + } + leaf l2tp-sh-l2x-max-reorder-deviation { + type uint32; + description + "l2tp sh l2x max reorder deviation"; + } + leaf l2tp-sh-l2x-num-ooo-msgs { + type uint32; + description + "l2tp sh l2x num ooo msgs"; + } + leaf l2tp-sh-l2x-num-rx-path-drops { + type uint32; + description + "l2tp sh l2x num rx path drops"; + } + leaf l2tp-sh-l2x-num-rx-path-data-pkt-drops { + type uint32; + description + "l2tp sh l2x num rx path data pkt drops"; + } + leaf l2tp-sh-l2x-num-rx-queue-drops { + type uint32; + description + "l2tp sh l2x num rx queue drops"; + } + leaf l2tp-sh-l2x-num-rx-ooo-drops { + type uint32; + description + "l2tp sh l2x num rx ooo drops"; + } + leaf l2tp-sh-l2x-num-buffered-msgs { + type uint32; + description + "l2tp sh l2x num buffered msgs"; + } + leaf l2tp-sh-l2x-num-mutex-block { + type uint32; + description + "l2tp sh l2x num mutex block"; + } + leaf l2tp-sh-l2x-num-bad-len-drops { + type uint32; + description + "l2tp sh l2x num bad len drops"; + } + leaf l2tp-sh-l2x-num-bad-avp-drops { + type uint32; + description + "l2tp sh l2x num bad avp drops"; + } + leaf l2tp-sh-l2x-num-missing-cc-id-drops { + type uint32; + description + "l2tp sh l2x num missing cc id drops"; + } + leaf l2tp-sh-l2x-num-missing-sess-id-drops { + type uint32; + description + "l2tp sh l2x num missing sess id drops"; + } + leaf l2tp-sh-l2x-num-mismatch-cc-id-drops { + type uint32; + description + "l2tp sh l2x num mismatch cc id drops"; + } + leaf l2tp-sh-l2x-num-unknown-cc-drops { + type uint32; + description + "l2tp sh l2x num unknown cc drops"; + } + leaf l2tp-sh-l2x-num-unknown-sess-drops { + type uint32; + description + "l2tp sh l2x num unknown sess drops"; + } + leaf l2tp-sh-l2x-num-linear-id-search { + type uint32; + description + "l2tp sh l2x num linear id search"; + } + leaf l2tp-sh-l2x-num-linear-id-search-fail { + type uint32; + description + "l2tp sh l2x num linear id search fail"; + } + leaf l2tp-sh-l2x-num-netio-pkt-rx { + type uint32; + description + "l2tp sh l2x num netio pkt rx"; + } + leaf l2tp-sh-l2tun-ave-msg-process-usecs { + type uint64; + description + "l2tp sh l2tun ave msg process usecs"; + } + leaf l2tp-sh-l2tun-num-rx-msgs { + type uint32; + description + "l2tp sh l2tun num rx msgs"; + } + leaf l2tp-sh-l2tun-num-tx-msgs { + type uint32; + description + "l2tp sh l2tun num tx msgs"; + } + leaf l2tp-l2tun-socket-ens-send-error-cnt { + type uint32; + description + "l2tp l2tun socket ens send error cnt"; + } + leaf l2tp-l2tun-socket-session-accept { + type uint64; + description + "l2tp l2tun socket session accept"; + } + leaf l2tp-l2tun-socket-session-destroy { + type uint64; + description + "l2tp l2tun socket session destroy"; + } + leaf l2tp-l2tun-socket-session-connect { + type uint64; + description + "l2tp l2tun socket session connect"; + } + leaf l2tp-l2tun-socket-session-connect-continue { + type uint64; + description + "l2tp l2tun socket session connect continue"; + } + leaf l2tp-l2tun-session-connecting { + type uint64; + description + "l2tp l2tun session connecting"; + } + leaf l2tp-l2tun-session-connected { + type uint64; + description + "l2tp l2tun session connected"; + } + leaf l2tp-l2tun-session-disconnected { + type uint64; + description + "l2tp l2tun session disconnected"; + } + leaf l2tp-l2tun-session-incoming { + type uint64; + description + "l2tp l2tun session incoming"; + } + leaf l2tp-l2tun-session-updated { + type uint64; + description + "l2tp l2tun session updated"; + } + leaf l2tp-l2tun-session-circuit-status { + type uint64; + description + "l2tp l2tun session circuit status"; + } + leaf l2x-lpts-pa-stats-setup-cnt { + type uint32; + description + "l2x lpts pa stats setup cnt"; + } + leaf l2x-lpts-pa-stats-destroy-cnt { + type uint32; + description + "l2x lpts pa stats destroy cnt"; + } + leaf l2x-lpts-pa-stats-alloc-cnt { + type uint32; + description + "l2x lpts pa stats alloc cnt"; + } + leaf l2x-lpts-pa-stats-alloc-fail-cnt { + type uint32; + description + "l2x lpts pa stats alloc fail cnt"; + } + leaf l2x-lpts-pa-stats-init-cnt { + type uint32; + description + "l2x lpts pa stats init cnt"; + } + leaf l2x-lpts-pa-stats-init-fail-cnt { + type uint32; + description + "l2x lpts pa stats init fail cnt"; + } + leaf l2x-lpts-pa-stats-free-cnt { + type uint32; + description + "l2x lpts pa stats free cnt"; + } + leaf l2x-lpts-pa-stats-pulse-cnt { + type uint32; + description + "l2x lpts pa stats pulse cnt"; + } + leaf l2x-lpts-pa-stats-pulse-fail-cnt { + type uint32; + description + "l2x lpts pa stats pulse fail cnt"; + } + leaf l2x-lpts-pa-stats-bind-cnt { + type uint32; + description + "l2x lpts pa stats bind cnt"; + } + leaf l2x-lpts-pa-stats-bind-fail-cnt { + type uint32; + description + "l2x lpts pa stats bind fail cnt"; + } + leaf l2x-lpts-pa-stats-bind-batch-cnt { + type uint32; + description + "l2x lpts pa stats bind batch cnt"; + } + leaf l2x-lpts-pa-stats-bind-batch-fail-cnt { + type uint32; + description + "l2x lpts pa stats bind batch fail cnt"; + } + leaf l2x-lpts-pa-stats-bind-time { + type uint32; + description + "l2x lpts pa stats bind time"; + } + leaf l2x-lpts-pa-stats-expire-cnt { + type uint32; + description + "l2x lpts pa stats expire cnt"; + } + leaf l2x-lpts-pa-stats-replay-cnt { + type uint32; + description + "l2x lpts pa stats replay cnt"; + } + leaf l2x-lpts-pa-stats-replay-batch-cnt { + type uint32; + description + "l2x lpts pa stats replay batch cnt"; + } + leaf l2x-lpts-pa-stats-replay-time { + type uint32; + description + "l2x lpts pa stats replay time"; + } + } + + grouping L2TP-INTERNAL-STATS-BAG-DATA { + description + "L2TP INTERNAL STATS BAG DATA"; + container internal-stats { + description + "internal stats"; + uses L2TP-INTERNAL-BAG-DATA; + } + container internal-stats-last-clear { + description + "internal stats last clear"; + uses L2TP-INTERNAL-BAG-DATA; + } + leaf time-last-clear { + type uint32; + description + "time last clear"; + } + } + + grouping L2TP-SESSION-ID-HOLD-DB-DATA { + description + "L2TP hold database"; + leaf sessions-on-hold { + type uint32; + description + "Number of session ID in hold database"; + } + } + + grouping L2TP-CTL-MSG-BRIEF-DATA { + description + "L2TP control message brief data"; + leaf remote-tunnel-id { + type uint32; + description + "Remote tunnel ID"; + } + leaf local-address { + type inet:ipv4-address; + description + "Local IP address"; + } + leaf remote-address { + type inet:ipv4-address; + description + "Remote IP address"; + } + } + + grouping L2TP-CTRL-MSG-STATS-DATA { + description + "L2TP control message statistics data"; + container brief { + description + "L2TP control message local and remote addresses"; + uses L2TP-CTL-MSG-BRIEF-DATA; + } + container global { + description + "Global data"; + uses L2TP-CTRL-MSG-STATS-GLOBAL-DATA; + } + } + + grouping L2TP-CTRL-MSG-COUNTS { + description + "L2TP control message counters data"; + leaf unknown-packets { + type uint32; + description + "Unknown packets"; + } + leaf zero-length-body-packets { + type uint32; + description + "Zero length body packets"; + } + leaf start-control-connection-requests { + type uint32; + description + "Start control connection requests"; + } + leaf start-control-connection-replies { + type uint32; + description + "Start control connection replies"; + } + leaf start-control-connection-notifications { + type uint32; + description + "Start control connection notifications"; + } + leaf stop-control-connection-notifications { + type uint32; + description + "Stop control connection notifications"; + } + leaf hello-packets { + type uint32; + description + "Keep alive messages"; + } + leaf outgoing-call-requests { + type uint32; + description + "Outgoing call requests"; + } + leaf outgoing-call-replies { + type uint32; + description + "Outgoing call replies"; + } + leaf outgoing-call-connected-packets { + type uint32; + description + "Outgoing call connected packets"; + } + leaf incoming-call-requests { + type uint32; + description + "Incoming call requests"; + } + leaf incoming-call-replies { + type uint32; + description + "Incoming call replies"; + } + leaf incoming-call-connected-packets { + type uint32; + description + "Incoming call connected packets"; + } + leaf call-disconnect-notify-packets { + type uint32; + description + "Call disconnect notify packets"; + } + leaf wan-error-notify-packets { + type uint32; + description + "WAN error notify packets"; + } + leaf set-link-info-packets { + type uint32; + description + "Set link info packets"; + } + leaf service-relay-requests { + type uint32; + description + "Service relay request counts"; + } + leaf service-relay-replies { + type uint32; + description + "Service relay reply counts"; + } + leaf acknowledgement-packets { + type uint32; + description + "Packets acknowledgement"; + } + } + + grouping L2TP-CTRL-MSG-STATS-GLOBAL-DATA { + description + "L2TP control message global data"; + container transmit { + description + "Transmit data"; + uses L2TP-CTRL-MSG-COUNTS; + } + container retransmit { + description + "Re transmit data"; + uses L2TP-CTRL-MSG-COUNTS; + } + container received { + description + "Received data"; + uses L2TP-CTRL-MSG-COUNTS; + } + container drop { + description + "Drop data"; + uses L2TP-CTRL-MSG-COUNTS; + } + leaf total-transmit { + type uint32; + description + "Total transmit"; + } + leaf total-retransmit { + type uint32; + description + "Total retransmit"; + } + leaf total-received { + type uint32; + description + "Total received"; + } + leaf total-drop { + type uint32; + description + "Total drop"; + } + } + + grouping L2TP-COMMON-DATA { + description + "L2TP common data"; + leaf validate { + type uint32; + description + "Validate"; + } + leaf bad-hash { + type uint32; + description + "Bad hash"; + } + leaf bad-length { + type uint32; + description + "Bad length"; + } + leaf ignored { + type uint32; + description + "Ignored"; + } + leaf missing { + type uint32; + description + "Missing"; + } + leaf passed { + type uint32; + description + "Passed"; + } + leaf failed { + type uint32; + description + "Failed"; + } + leaf skipped { + type uint32; + description + "Skipped"; + } + leaf generate-response-failures { + type uint32; + description + "Generate response fail"; + } + leaf unexpected { + type uint32; + description + "Unexpected"; + } + leaf unexpected-zlb { + type uint32; + description + "Unexpected ZLB"; + } + } + + grouping L2TP-AUTHEN-STATS-DATA { + description + "L2TP authentication statistics"; + container nonce-avp { + description + "Nonce AVP statistics"; + uses L2TP-COMMON-DATA; + } + container common-digest { + description + "Common digest statistics"; + uses L2TP-COMMON-DATA; + } + container primary-digest { + description + "Primary digest statistics"; + uses L2TP-COMMON-DATA; + } + container secondary-digest { + description + "Secondary digest statistics"; + uses L2TP-COMMON-DATA; + } + container integrity-check { + description + "Integrity check statistics"; + uses L2TP-COMMON-DATA; + } + container local-secret { + description + "Local secret statistics"; + uses L2TP-COMMON-DATA; + } + container challenge-avp { + description + "Challenge AVP statistics"; + uses L2TP-COMMON-DATA; + } + container challenge-reponse { + description + "Challenge response statistics"; + uses L2TP-COMMON-DATA; + } + container overall-statistics { + description + "Overall statistics"; + uses L2TP-COMMON-DATA; + } + } + + grouping L2TP-SESSION-VPDN { + description + "VPDN specific session data"; + leaf username { + type string; + description + "Session username"; + } + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + } + + grouping L2TP-SESSION-XCONNECT { + description + "Xconnect specific session data"; + leaf circuit-name { + type string; + description + "Circuit name"; + } + leaf sessionvc-id { + type uint32; + description + "Session VC ID"; + } + leaf is-circuit-state-up { + type boolean; + description + "True if circuit state is up"; + } + leaf is-local-circuit-state-up { + type boolean; + description + "True if local circuit state is up"; + } + leaf is-remote-circuit-state-up { + type boolean; + description + "True if remote circuit state is up"; + } + leaf ipv6-protocol-tunneling { + type boolean; + description + "IPv6ProtocolTunneling"; + } + } + + grouping SESSION-APP { + description + "Session application data"; + container xconnect { + when "../l2tp-sh-sess-app-type = '4'" { + description + "../l2tp_sh_sess_app_type = '4'"; + } + description + "Xconnect data"; + uses L2TP-SESSION-XCONNECT; + } + container vpdn { + when "../l2tp-sh-sess-app-type = '2'" { + description + "../l2tp_sh_sess_app_type = '2'"; + } + description + "VPDN data"; + uses L2TP-SESSION-VPDN; + } + leaf l2tp-sh-sess-app-type { + type uint32; + description + "l2tp sh sess app type"; + } + } + + grouping L2TP-SESSION-INFO { + description + "L2TP session information"; + container session-application-data { + description + "Session application data"; + uses SESSION-APP; + } + leaf local-ip-address { + type inet:ipv4-address; + description + "Local session IP address"; + } + leaf remote-ip-address { + type inet:ipv4-address; + description + "Remote session IP address"; + } + leaf l2tp-sh-sess-udp-lport { + type uint16; + description + "l2tp sh sess udp lport"; + } + leaf l2tp-sh-sess-udp-rport { + type uint16; + description + "l2tp sh sess udp rport"; + } + leaf protocol { + type uint8; + description + "Protocol"; + } + leaf remote-tunnel-id { + type uint32; + description + "Remote tunnel ID"; + } + leaf call-serial-number { + type uint32; + description + "Call serial number"; + } + leaf local-tunnel-name { + type string { + length "0..256"; + } + description + "Local tunnel name"; + } + leaf remote-tunnel-name { + type string { + length "0..256"; + } + description + "Remote tunnel name"; + } + leaf remote-session-id { + type uint32; + description + "Remote session ID"; + } + leaf l2tp-sh-sess-tie-breaker-enabled { + type uint8; + description + "l2tp sh sess tie breaker enabled"; + } + leaf l2tp-sh-sess-tie-breaker { + type uint64; + description + "l2tp sh sess tie breaker"; + } + leaf is-session-manual { + type boolean; + description + "True if session is manual"; + } + leaf is-session-up { + type boolean; + description + "True if session is up"; + } + leaf is-udp-checksum-enabled { + type boolean; + description + "True if UDP checksum enabled"; + } + leaf is-sequencing-on { + type boolean; + description + "True if session sequence is on"; + } + leaf is-session-state-established { + type boolean; + description + "True if session state is established"; + } + leaf is-session-locally-initiated { + type boolean; + description + "True if session initiated locally"; + } + leaf is-conditional-debug-enabled { + type boolean; + description + "True if conditional debugging is enabled"; + } + leaf unique-id { + type uint32; + description + "Unique ID"; + } + leaf interface-name { + type string { + length "0..256"; + } + description + "Interface name"; + } + } + + grouping L2TP-CC-INFO { + description + "L2TP tunnel information"; + leaf local-address { + type inet:ipv4-address; + description + "Local tunnel address"; + } + leaf remote-address { + type inet:ipv4-address; + description + "Remote tunnel address"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf remote-port { + type uint16; + description + "Remote port"; + } + leaf protocol { + type uint8; + description + "Protocol"; + } + leaf is-pmtu-enabled { + type boolean; + description + "True if tunnel PMTU checking is enabled"; + } + leaf remote-tunnel-id { + type uint32; + description + "Remote tunnel ID"; + } + leaf local-tunnel-name { + type string { + length "0..256"; + } + description + "Local tunnel name"; + } + leaf remote-tunnel-name { + type string { + length "0..256"; + } + description + "Remote tunnel name"; + } + leaf class-name { + type string { + length "0..256"; + } + description + "L2TP class name"; + } + leaf active-sessions { + type uint32; + description + "Number of active sessions"; + } + leaf sequence-ns { + type uint16; + description + "Sequence NS"; + } + leaf sequence-nr { + type uint16; + description + "Sequence NR"; + } + leaf local-window-size { + type uint16; + description + "Local window size"; + } + leaf remote-window-size { + type uint16; + description + "Remote window size"; + } + leaf retransmission-time { + type uint16; + units "second"; + description + "Retransmission time in seconds"; + } + leaf maximum-retransmission-time { + type uint16; + units "second"; + description + "Maximum retransmission time in seconds"; + } + leaf unsent-queue-size { + type uint16; + description + "Unsent queue size"; + } + leaf unsent-maximum-queue-size { + type uint16; + description + "Unsent maximum queue size"; + } + leaf resend-queue-size { + type uint16; + description + "Resend queue size"; + } + leaf resend-maximum-queue-size { + type uint16; + description + "Resend maximum queue size"; + } + leaf order-queue-size { + type uint16; + description + "Order queue size"; + } + leaf packet-queue-check { + type uint16; + description + "Current number session packet queue check"; + } + leaf digest-secrets { + type uint16; + description + "Control message authentication with digest + secrets"; + } + leaf resends { + type uint32; + description + "Total resends"; + } + leaf zero-length-body-acknowledgement-sent { + type uint32; + description + "Total zero length body acknowledgement"; + } + leaf total-out-of-order-drop-packets { + type uint32; + description + "Total out of order dropped packets"; + } + leaf total-out-of-order-reorder-packets { + type uint32; + description + "Total out of order reorder packets"; + } + leaf total-peer-authentication-failures { + type uint32; + description + "Number of peer authentication failures"; + } + leaf is-tunnel-up { + type boolean; + description + "True if tunnel is up"; + } + leaf is-congestion-control-enabled { + type boolean; + description + "True if congestion control is enabled else false"; + } + list retransmit-time { + max-elements "9"; + description + "Retransmit time distribution in seconds"; + leaf entry { + type uint16; + units "second"; + description + "Retransmit time distribution in seconds"; + } + } + } + + grouping L2TP-HIST-FAIL-STATS-BAG-DATA { + description + "L2TP history failure stats in either TX or RX + direction"; + leaf sess-down-tmout { + type uint32; + description + "sesions affected due to timeout"; + } + leaf tx-counters { + type yang:hex-string; + description + "Send side counters"; + } + leaf rx-counters { + type yang:hex-string; + description + "Receive side counters"; + } + list pkt-timeout { + max-elements "24"; + description + "timeout events by packet"; + leaf entry { + type uint32; + description + "timeout events by packet"; + } + } + } + + grouping L2TP-CC-CLASS-DATA { + description + "L2TP class"; + leaf ip-tos { + type uint8; + description + "IP TOS"; + } + leaf vrf-name { + type string { + length "0..256"; + } + description + "VRF name"; + } + leaf receive-window-size { + type uint16; + description + "Receive window size"; + } + leaf class-name-xr { + type string { + length "0..256"; + } + description + "Class name"; + } + leaf digest-hash { + type Digest-hash; + description + "Hash configured as MD5 or SHA1"; + } + leaf password { + type string { + length "0..25"; + } + description + "Password"; + } + leaf encoded-password { + type string { + length "0..256"; + } + description + "Encoded password"; + } + leaf host-name { + type string { + length "0..256"; + } + description + "Host name"; + } + leaf accounting-method-list { + type string { + length "0..256"; + } + description + "Accounting List"; + } + leaf hello-timeout { + type uint32; + units "second"; + description + "Hello timeout value in seconds"; + } + leaf setup-timeout { + type uint32; + units "second"; + description + "Timeout setup value in seconds"; + } + leaf retransmit-minimum-timeout { + type uint32; + units "second"; + description + "Retransmit minimum timeout in seconds"; + } + leaf retransmit-maximum-timeout { + type uint32; + units "second"; + description + "Retransmit maximum timeout in seconds"; + } + leaf initial-retransmit-minimum-timeout { + type uint32; + units "second"; + description + "Initial timeout minimum in seconds"; + } + leaf initial-retransmit-maximum-timeout { + type uint32; + units "second"; + description + "Initial timeout maximum in seconds"; + } + leaf timeout-no-user { + type uint32; + description + "Timeout no user"; + } + leaf retransmit-retries { + type uint32; + description + "Retransmit retries"; + } + leaf initial-retransmit-retries { + type uint32; + description + "Initial retransmit retries"; + } + leaf is-authentication-enabled { + type boolean; + description + "True if authentication is enabled"; + } + leaf is-hidden { + type boolean; + description + "True if class is hidden"; + } + leaf is-digest-enabled { + type boolean; + description + "True if digest authentication is enabled"; + } + leaf is-digest-check-enabled { + type boolean; + description + "True if digest check is enabled"; + } + leaf is-congestion-control-enabled { + type boolean; + description + "True if congestion control is enabled"; + } + leaf is-peer-address-checked { + type boolean; + description + "True if peer address is checked"; + } + } + + grouping L2TP-CC-CFG-DATA { + description + "L2TP tunnel configuration"; + container l2tp-class { + description + "L2Tp class data"; + uses L2TP-CC-CLASS-DATA; + } + leaf remote-tunnel-id { + type uint32; + description + "Remote tunnel ID"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper.yang new file mode 100644 index 000000000..86b9e292c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-oper.yang @@ -0,0 +1,322 @@ +module Cisco-IOS-XR-tunnel-l2tun-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-l2tun-oper"; + prefix tunnel-l2tun-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tunnel-l2tun-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-l2tun package operational data. + + This module contains definitions + for the following management objects: + l2tp: L2TP operational data + l2tpv2: L2TPv2 operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2018-11-01 { + description + "Added Yang support show l2tpv2 internal."; + } + revision 2017-09-07 { + description + "Fixed type translation error."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping CONTROL { + description + "Common node of counters, counters"; + container control { + description + "L2TP control messages counters"; + container tunnel-xr { + description + "L2TP control tunnel messages counters"; + container authentication { + description + "Tunnel authentication counters"; + uses L2TP-AUTHEN-STATS-DATA; + } + container global { + description + "Tunnel counters"; + uses L2TP-CTRL-MSG-STATS-GLOBAL-DATA; + } + } + container tunnels { + description + "Table of tunnel IDs of control message counters"; + list tunnel { + key "tunnel-id"; + description + "L2TP tunnel control message counters"; + leaf tunnel-id { + type uint32; + description + "L2TP tunnel ID"; + } + uses L2TP-CTRL-MSG-STATS-DATA; + } + } + } + } + + grouping SESSION-TABLE { + description + "Common node of node, node"; + container sessions { + description + "List of session IDs"; + list session { + key "local-tunnel-id local-session-id"; + description + "L2TP information for a particular session"; + leaf local-tunnel-id { + type uint32; + description + "Local tunnel ID"; + } + leaf local-session-id { + type uint32; + description + "Local session ID"; + } + uses L2TP-SESSION-INFO; + } + } + } + + grouping SESSION { + description + "Common node of node, node"; + container session { + description + "L2TP control messages counters"; + container unavailable { + description + "L2TP session unavailable information"; + uses L2TP-SESSION-ID-HOLD-DB-DATA; + } + } + } + + grouping TUNNEL-CONFIGURATION-TABLE { + description + "Common node of node, node"; + container tunnel-configurations { + description + "List of tunnel IDs"; + list tunnel-configuration { + key "local-tunnel-id"; + description + "L2TP tunnel information"; + leaf local-tunnel-id { + type uint32; + description + "Local tunnel ID"; + } + uses L2TP-CC-CFG-DATA; + } + } + } + + grouping TUNNEL-TABLE { + description + "Common node of node, node"; + container tunnels { + description + "List of tunnel IDs"; + list tunnel { + key "local-tunnel-id"; + description + "L2TP tunnel information"; + leaf local-tunnel-id { + type uint32; + description + "Local tunnel ID"; + } + uses L2TP-CC-INFO; + } + } + } + + grouping INTERNAL { + description + "Common node of node, node"; + container internal { + description + "L2TP v2/v3 internal information"; + uses L2TP-INTERNAL-STATS-BAG-DATA; + } + } + + grouping COUNTER-HIST-FAIL { + description + "Common node of node, node"; + container counter-hist-fail { + description + "Failure events leading to disconnection"; + uses L2TP-HIST-FAIL-STATS-BAG-DATA; + } + } + + grouping CLASS-TABLE { + description + "Common node of node, node"; + container classes { + description + "List of L2TP class names"; + list class { + key "class-name"; + description + "L2TP class name"; + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..31"; + } + description + "L2TP class name"; + } + uses L2TP-CC-CLASS-DATA; + } + } + } + + container l2tp { + config false; + description + "L2TP operational data"; + container nodes { + description + "List of nodes for which subscriber data is + collected"; + list node { + key "node-name"; + description + "Subscriber data for a particular node"; + container counters { + description + "L2TP control messages counters"; + uses CONTROL; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses TUNNEL-CONFIGURATION-TABLE; + uses COUNTER-HIST-FAIL; + uses CLASS-TABLE; + uses TUNNEL-TABLE; + uses SESSION-TABLE; + uses SESSION; + uses INTERNAL; + } + } + } + container l2tpv2 { + config false; + description + "L2TPv2 operational data"; + container nodes { + description + "List of nodes for which subscriber data is + collected"; + list node { + key "node-name"; + description + "Subscriber data for a particular node"; + container counters { + description + "L2TP control messages counters"; + container forwarding { + description + "L2TP forwarding messages counters"; + container sessions { + description + "List of class and session IDs"; + list session { + key "tunnel-id session-id"; + description + "L2TP information for a particular session"; + leaf tunnel-id { + type uint32; + description + "Local tunnel ID"; + } + leaf session-id { + type uint32; + description + "Local session ID"; + } + uses L2TP-SESS-FWD-STATS; + } + } + } + uses CONTROL; + } + container statistics { + description + "L2TP v2 statistics information"; + uses L2TPV2-STATS-DATA; + } + container tunnel { + description + "L2TPv2 tunnel "; + container accounting { + description + "Tunnel accounting counters"; + container statistics { + description + "Tunnel accounting statistics"; + uses L2TPV2-CC-ACCT-STATS-DATA; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses TUNNEL-CONFIGURATION-TABLE; + uses COUNTER-HIST-FAIL; + uses CLASS-TABLE; + uses TUNNEL-TABLE; + uses SESSION-TABLE; + uses SESSION; + uses INTERNAL; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg.yang new file mode 100644 index 000000000..71130d786 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg"; + prefix tunnel-l2tun-proto-mibs-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-snmp-agent-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-l2tun-proto-mibs package configuration. + + This YANG module augments the + Cisco-IOS-XR-snmp-agent-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:snmp/a1:notification" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-snmp-agent-cfg'"; + container l2tun { + description + "Enable SNMP l2tun traps"; + leaf tunnel-up { + type boolean; + description + "Enable L2TUN tunnel UP traps"; + } + leaf tunnel-down { + type boolean; + description + "Enable L2TUN tunnel DOWN traps"; + } + leaf pseudowire-status { + type boolean; + description + "Enable traps for L2TPv3 PW status"; + } + leaf sessions { + type boolean; + description + "Enable L2TUN sessions traps"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-cfg.yang new file mode 100644 index 000000000..04a723c1a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-cfg.yang @@ -0,0 +1,398 @@ +module Cisco-IOS-XR-tunnel-nve-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-nve-cfg"; + prefix tunnel-nve-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-ifmgr-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-nve package configuration. + + This module contains definitions + for the following management objects: + nve-global: Global NVE configuration data + + This YANG module augments the + Cisco-IOS-XR-ifmgr-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-04-23 { + description + "Added static inner mac cli + 2022-02-23 + Added member-vni policer-rate configuration. + 2022-02-17 + Remove static mac address field under vni. + 2022-02-09 + Decap prefix list of object groups added. + 2022-01-31 + Added new command dest-udp-port + 2021-10-28 + Added new sub command for global nve + 2021-10-12 + Added new container in hierarchy for schema to hold the static mac address + 2021-08-13 + New encap"; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2016-08-30 { + description + "Initial Revision."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Host-reach-protocol { + type enumeration { + enum "bgp" { + value 1; + description + "Use BGP EVPN for VxLAN tunnel endpoint + reachability"; + } + } + description + "Host reach protocol"; + } + + typedef Vni-range { + type uint32 { + range "1..16777215"; + } + description + "Vni range"; + } + + typedef Vxlan-udp-port-enum { + type enumeration { + enum "ietf-udp-port" { + value 4789; + description + "IETF defined UDP port for VxLAN"; + } + enum "ivx-lan-udp-port" { + value 48879; + description + "UDP port for iVxLAN"; + } + } + description + "Vxlan udp port enum"; + } + + typedef Overlay-encap-enum { + type enumeration { + enum "vx-lan-encapsulation" { + value 0; + description + "VxLAN Encapsulation"; + } + enum "soft-gre-encapsulation" { + value 1; + description + "Soft GRE Encapsulation"; + } + enum "mplsudp-encapsulation" { + value 2; + description + "MPLS UDP Encapsulation"; + } + } + description + "Overlay encap enum"; + } + + typedef Unknown-unicast-flooding-enum { + type enumeration { + enum "suppress-uuf" { + value 1; + description + "Suppress unknown unicast flooding"; + } + } + description + "Unknown unicast flooding enum"; + } + + typedef Load-balance-enum { + type enumeration { + enum "per-evi" { + value 1; + description + "Per evi load balance mode"; + } + } + description + "Load balance enum"; + } + + typedef Policer-rate-range { + type uint32 { + range "4294967295"; + } + description + "Policer rate range"; + } + + typedef Ir-protocol-enum { + type enumeration { + enum "bgp" { + value 1; + description + "Use BGP Protocol for Ingress-Replication"; + } + } + description + "Ir protocol enum"; + } + + typedef Policer-rate-unit-enum { + type enumeration { + enum "rate-unit-none" { + value 0; + description + "Rate Unit None"; + } + enum "rate-unit-bps" { + value 1; + description + "Rate Unit BPS"; + } + enum "rate-unit-kbps" { + value 2; + description + "Rate Unit KBPS"; + } + enum "rate-unit-mbps" { + value 3; + description + "Rate Unit MBPS"; + } + } + description + "Policer rate unit enum"; + } + + augment "/a1:interface-configurations/a1:interface-configuration" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-ifmgr-cfg'"; + container nve { + description + "NVE operational data"; + container anycast { + description + "Enable anycast mode for this NVE interface"; + leaf source-interface { + type string; + description + "Name of the Anycast mode source interface"; + } + leaf sync-group { + type inet:ipv4-address-no-zone; + description + "MCast group for syncing between Anycast + gateways"; + } + } + container redundancy { + description + "Redundancy configuration for this NVE"; + container backbone-vx-lan { + description + "VXLAN backbone"; + leaf enable { + type empty; + description + "Enable Backbone VxLAN"; + } + leaf backbone-vx-laniccp { + type uint32; + description + "VxLAN backbone ICCP group"; + } + } + container backbone-mpls { + description + "MPLS backbone"; + leaf backbone-mplsiccp { + type uint32; + description + "MPLS backbone ICCP group"; + } + leaf enable { + type empty; + description + "Enable Backbone MPLS"; + } + } + leaf enable { + type empty; + description + "Enable Redundancy"; + } + } + container member-vnis { + description + "VNI configuration Table for this NVE"; + list member-vni { + key "vni-start vni-end"; + description + "VNI member attributes"; + container policer-rate { + description + "Policer Rate"; + leaf policer-rate { + type Policer-rate-range; + description + "Policer rate"; + } + leaf policer-rate-unit { + type Policer-rate-unit-enum; + description + "Policer rate unit"; + } + } + container multicast { + presence "enable multicast"; + description + "Mulitcast core group range associated with + the VxLAN segment(s)"; + leaf multicast-group-min { + type inet:ipv4-address-no-zone; + description + "IPV4 group address of the tunnel source"; + } + leaf multicast-group-max { + type inet:ipv4-address-no-zone; + description + "IPV4 group address MAX"; + } + } + container static-inner-ether { + presence "Indicates a static-inner-ether node is configured."; + description + "Static Inner Ethernet Configuration"; + leaf source-mac-address { + type yang:mac-address; + mandatory true; + description + "Configure Source MAC Address"; + } + leaf enable { + type empty; + description + "Enable Static Inner Ethernet"; + } + } + leaf host-reachability { + type Host-reach-protocol; + description + "Control protocol for VxLAN tunnel endpoint + reachability"; + } + leaf vrf { + type string; + description + "VRF associated with the VxLAN segment"; + } + leaf unknown-unicast-flooding { + type Unknown-unicast-flooding-enum; + description + "Suppression of unknown unicast flooding"; + } + leaf load-balance-per-evi { + type Load-balance-enum; + description + "Per-evi load balance mode"; + } + leaf enable { + type empty; + description + "Enable VNI"; + } + leaf vni-start { + type Vni-range; + description + "Single VNI or Range Start"; + } + leaf vni-end { + type Vni-range; + description + "Range End"; + } + } + } + leaf vx-lan-udp-port { + type Vxlan-udp-port-enum; + default "ietf-udp-port"; + description + "UDP port number in VxLAN encapsulation"; + } + leaf overlay-encapsulation { + type Overlay-encap-enum; + default "vx-lan-encapsulation"; + description + "The Overlay Encapsulation for this NVE"; + } + leaf dest-udp-port { + type uint32; + default "111111"; + description + "Dest UDP Port number"; + } + leaf source-interface { + type string; + description + "Source Interface for this NVE"; + } + leaf ingress-replication-protocol { + type Ir-protocol-enum; + description + "The Ingress Replication Protocol for this NVE"; + } + } + } + container nve-global { + description + "Global NVE configuration data"; + leaf vni-scope-local { + type empty; + description + "Enable Local VNI Scope"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper-sub1.yang new file mode 100644 index 000000000..8aa38a09c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper-sub1.yang @@ -0,0 +1,377 @@ +submodule Cisco-IOS-XR-tunnel-nve-oper-sub1 { + belongs-to Cisco-IOS-XR-tunnel-nve-oper { + prefix Cisco-IOS-XR-tunnel-nve-oper; + } + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR tunnel-nve package operational data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-25 { + description + "Added member-vni table with extended keys to complement vni + 2022-02-08 + Added support for show nve vrf + 2022-01-28 + Added nve-interface IPv6 support + 2022-01-27 + Updated fields in vni and nve interface bag"; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping NVE-SHOW-NVE-INTF-BD { + description + "NVE Interface Information"; + container v4-add-ltep { + description + "v4 publish time"; + uses NVE-TIMESPEC; + } + container v4-del-ltep { + description + "v4 unpublish time"; + uses NVE-TIMESPEC; + } + container v6-add-ltep { + description + "v6 publish time"; + uses NVE-TIMESPEC; + } + container v6-del-ltep { + description + "v6 unpublish time"; + uses NVE-TIMESPEC; + } + leaf interface-name-xr { + type string; + description + "Interface name"; + } + leaf state { + type int8; + description + "State"; + } + leaf admin-state { + type int8; + description + "Admin State"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf encap { + type int8; + description + "Encap"; + } + leaf source-interface-name { + type string; + description + "Source Interface name"; + } + leaf source-ipv4-address { + type inet:ipv4-address; + description + "Source IPv4 Address"; + } + leaf source-ipv6-address { + type inet:ipv6-address; + description + "Source IPv6 Address"; + } + leaf if-handle { + type uint64; + description + "NVE IfHandle"; + } + leaf source-state { + type int8; + description + "Source Intf State"; + } + leaf udp-port { + type uint32; + description + "UDP Port"; + } + leaf any-cast-source-interface-name { + type string; + description + "Anycast Source Interface name"; + } + leaf any-cast-source-ipv4-address { + type inet:ipv4-address; + description + "Anycast Source IPv4 Address"; + } + leaf any-cast-source-state { + type int8; + description + "Anycast Source Interface State"; + } + leaf sync-mcast-ipv4-address { + type inet:ipv4-address; + description + "MCAST sync group IPv4 Address"; + } + leaf sync-mcast-flags { + type uint32; + description + "Sync McastFlags"; + } + } + + grouping NVE-GLOBAL { + description + "NVE global data"; + leaf vni-scope-local { + type boolean; + description + "VNI Local Scope"; + } + } + + grouping NVE-PARENT-VNI-BR { + description + "Parent vni brief information"; + leaf vni { + type uint32; + description + "VNI Number"; + } + leaf nve-num { + type uint32; + description + "NVE Interface number"; + } + } + + grouping NVE-AF-INFO { + description + "Vrf afi specific information"; + leaf table-id { + type uint32; + description + "Vrf Table ID"; + } + } + + grouping NVE-SHOW-VRF { + description + "VRF Information"; + leaf vrf-name { + type string; + description + "L3 VRF Name"; + } + leaf vrf-id { + type uint64; + description + "vrf id"; + } + list af-info { + description + "AF info"; + uses NVE-AF-INFO; + } + list vni-info { + description + "Brief Vni Info"; + uses NVE-PARENT-VNI-BR; + } + } + + grouping NVE-TIMESPEC { + description + "NVE TIMESPEC"; + leaf seconds { + type uint64; + description + "Seconds"; + } + leaf nanoseconds { + type uint64; + description + "Nanoseconds"; + } + } + + grouping NVE-SHOW-VNI-BD { + description + "VNI Information"; + container v4-add-ltep { + description + "v4 publish time"; + uses NVE-TIMESPEC; + } + container v4-del-ltep { + description + "v4 unpublish time"; + uses NVE-TIMESPEC; + } + container v6-add-ltep { + description + "v6 publish time"; + uses NVE-TIMESPEC; + } + container v6-del-ltep { + description + "v6 unpublish time"; + uses NVE-TIMESPEC; + } + leaf interface-name { + type string; + description + "NVE Interface name"; + } + leaf vni-xr { + type uint32; + description + "VNI Number"; + } + leaf state { + type int8; + description + "State"; + } + leaf mcast-ipv4-address { + type inet:ipv4-address; + description + "MCAST IPv4 Address"; + } + leaf flags { + type uint32; + description + "Flags"; + } + leaf vni-min { + type uint32; + description + "VNI Min in Range"; + } + leaf vni-max { + type uint32; + description + "VNI Max in Range"; + } + leaf mcast-flags { + type uint32; + description + "McastFlags"; + } + leaf udp-port { + type uint32; + description + "UDP Port"; + } + leaf bvi-ifh { + type uint32; + description + "BVI Interface Handle"; + } + leaf bvi-state { + type uint8; + description + "BVI Interface Oper State"; + } + leaf bvi-mac { + type yang:hex-string; + description + "BVI MAC address"; + } + leaf ie-static-mac { + type yang:hex-string; + description + "Inner Ether Static MAC address"; + } + leaf vrf-name { + type string; + description + "L3 VRF Name"; + } + leaf vrf-id { + type uint32; + description + "L3 VRF ID"; + } + leaf ipv4-tbl-id { + type uint32; + description + "IPv4 Table ID"; + } + leaf ipv6-tbl-id { + type uint32; + description + "IPv6 Table ID"; + } + leaf vrf-vni { + type uint32; + description + "VRF VNI"; + } + leaf topo-valid { + type boolean; + description + "TOPO ID valid flag"; + } + leaf topo-id { + type uint32; + description + "L2RIB Topology ID"; + } + leaf topo-name { + type string { + length "0..50"; + } + description + "L2RIB Topology Name"; + } + leaf policer-rate { + type uint32; + description + "Policer rate"; + } + leaf policer-rate-unit { + type uint8; + description + "Policer rate unit"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper.yang new file mode 100644 index 000000000..e9732103c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-tunnel-nve-oper.yang @@ -0,0 +1,135 @@ +module Cisco-IOS-XR-tunnel-nve-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-nve-oper"; + prefix tunnel-nve-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-tunnel-nve-oper-sub1 { + revision-date 2022-02-25; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tunnel-nve package operational data. + + This module contains definitions + for the following management objects: + nve: NVE operational data + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-25 { + description + "Added member-vni table with extended keys to complement vni + 2022-02-08 + Added support for show nve vrf + 2022-01-28 + Added nve-interface IPv6 support + 2022-01-27 + Updated fields in vni and nve interface bag"; + semver:module-version "1.0.2m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container nve { + config false; + description + "NVE operational data"; + container vnis { + status deprecated; + description + "Table for VNIs"; + list vni { + key "vni"; + status deprecated; + description + "The attributes for a particular VNI"; + leaf vni { + type xr:Cisco-ios-xr-string; + description + "VNI ID"; + } + uses NVE-SHOW-VNI-BD; + } + } + container vrfs { + description + "Table for VRFs"; + list vrf { + key "vrf"; + description + "The attributes for a particular VRF"; + leaf vrf { + type xr:Cisco-ios-xr-string; + description + "VRF name"; + } + uses NVE-SHOW-VRF; + } + } + container global { + description + "NVE Global information"; + uses NVE-GLOBAL; + } + container member-vnis { + description + "Table for VNIs"; + list member-vni { + description + "The attributes for a particular VNI"; + leaf vni { + type uint32; + description + "VNI ID"; + } + leaf nve-id { + type xr:Cisco-ios-xr-string; + description + "NVE ID"; + } + uses NVE-SHOW-VNI-BD; + } + } + container interfaces { + description + "Table for NVE interface attributes"; + list interface { + key "interface-name"; + description + "The attributes for a particular interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + uses NVE-SHOW-NVE-INTF-BD; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-types.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-types.yang new file mode 100644 index 000000000..ad4d82cc2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-types.yang @@ -0,0 +1,804 @@ +module Cisco-IOS-XR-types { + namespace "http://cisco.com/ns/yang/cisco-xr-types"; + prefix xr; + + import cisco-semver { + prefix 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 + "This module contains a collection of IOS-XR derived YANG data + types. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-09 { + description + "Included space in Cisco-ios-xr-string pattern. + 2021-10-19 + Added a new type Hex-long-integer"; + semver:module-version "2.2.0"; + } + revision 2020-11-18 { + description + "Added a new type Hex-integer-8"; + semver:module-version "2.1.0"; + } + revision 2019-12-03 { + description + "Modified string match pattern of Interface-name"; + semver:module-version "2.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-18 { + description + "This revision adds the following new data types: + - Type10-password"; + } + revision 2018-06-29 { + description + "Modified string match pattern of Interface-name"; + } + revision 2017-12-01 { + description + "Modified string match pattern of Tty-escape-char-num"; + } + revision 2017-03-07 { + description + "This revision adds the following new data types: + - Type8-password + - Type9-password"; + } + revision 2015-06-29 { + description + "This revision adds the following new data types: + - Rpl-policy + - Rpl-set"; + } + revision 2015-05-18 { + description + "Updated Node-id string pattern to match also shorter ncs4k + node names."; + } + revision 2015-01-19 { + description + "This revision adds the following new data types: + - Bgp-ipv4-flowspec-address + - Bgp-ipv6-flowspec-address"; + } + revision 2013-07-22 { + description + "Initial revision."; + } + + extension xr-cli-map { + argument cli-command; + description + "The xr-cli-map statement takes as an argument + relevant CLI configuration command."; + } + + extension xr-xml-map { + argument xr-xml-node; + description + "The xr-xml-map statement takes as an argument + relevant Cisco XML Schema node name."; + } + + extension cli-command { + argument command; + description + "Corresponding CLI command for this RPC node"; + } + + extension cli-name { + argument keyword; + description + "Corresponding CLI keyword for this node"; + } + + extension xr-task { + argument task; + description + "XR task-id required for operating the yang node"; + } + + extension event-telemetry { + argument description; + description + "Node eligible for telemetry event subscription"; + } + + typedef Route-dist { + type string { + pattern "[a-fA-F0-9]{16}"; + } + description + "Route distinguisher in hexadecimal notation."; + } + + typedef Bgp-l2vpn-evpn-addrs { + type string { + pattern "[a-fA-F0-9]{58}"; + } + description + "L2VPN EVPN Address in hexadecimal notation."; + } + + typedef Bgp-ls-addr { + type string { + pattern "[a-fA-F0-9]+"; + } + description + "BGP link state unicast address in hexadecimal + notation."; + } + + typedef Bgp-ipv6-mvpn-addr { + type string { + pattern "[a-fA-F0-9]{104}"; + } + description + "An IPV6 MVPN address in hexadecimal notation."; + } + + typedef Bgp-ipv4-mvpn-addr { + type string { + pattern "[a-fA-F0-9]{56}"; + } + description + "An IPV4 MVPN address in hexadecimal notation."; + } + + typedef Bgp-rt-constrt-addr { + type string { + pattern "[a-fA-F0-9]{24}"; + } + description + "An IPV4 RTConstraint address in hexadecimal notation."; + } + + typedef Bgp-ipv4-mdt-addr { + type string { + pattern "(([a-f0-9]{16}-)(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))"; + } + description + "An IPV4 MDT address in dotted decimal notation. + An IPv4 MDT address should be of the form + 0000006400000065-129.29.83.45. This datatype + restricts the value of each field 16 digits in + hexadecimal for RD field and between 0 and 255 + for IPv4 address field, i.e. + [0000000000000000-ffffffffffffffff]- + [0-255].[0-255].[0-255].[0-255]."; + } + + typedef Bgp-ipv4-tunnel-addr { + type string { + pattern "((0:|[1-9][0-9]{0,4}:)(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))"; + } + description + "An IPV4 tunnel address in dotted decimal notation. + An IPv4 tunnel address should be of the form + 65535:129.29.83.45. This datatype restricts the + value of each field between 0 and 65535 for prefix + field and 0 and 255 for IPv4 address field, i.e. + [0-65535]:[0-255].[0-255].[0-255].[0-255]"; + } + + typedef Cisco-ios-xr-port-number { + type uint16 { + range "1..65535"; + } + description + "Port number of range from 1 to 65535"; + } + + typedef Interface-name { + type string { + pattern "[a-zA-Z0-9.:_/-]+"; + } + description + "An interface name specifying an interface type and + instance. + Interface represents a string defining an interface + type and instance, e.g. MgmtEth0/4/CPU1/0 or + TenGigE0/2/0/0.2 or Bundle-Ether9 or + Bundle-Ether9.98 or Serial0/0/0/0/3/1:1"; + } + + typedef Controller-name { + type string { + pattern "[a-zA-Z0-9.:_/-]+"; + } + description + "A controller name specifying a controller type and + instance. + Controller represents a string defining a controller + type and instance, e.g. dwdm0/4/0/0 or + GigabitEthCtrlr0/2/0/0 or T10/0/0/0"; + } + + typedef Cisco-ios-xr-string { + type string { + pattern "[\\w\\-\\.:,_@#%$\\+=\\| ;]+"; + } + description + "Special characters are not allowed."; + } + + typedef Ipv4-prefix-length { + type uint8 { + range "0..32"; + } + description + "An IPv4 address prefix length. + Must lie between 0 and 32 inclusive."; + } + + typedef Ipv6-prefix-length { + type uint8 { + range "0..128"; + } + description + "An IPv6 address prefix length. + Must lie between 0 and 32 inclusive."; + } + + typedef Rack-id { + type string { + pattern "[a-zA-Z0-9_]*\\d+"; + } + description + "Names the rack portion of a NodeID + Rack/Slot/Instance triple"; + } + + typedef Slot-id { + type string { + pattern "[a-zA-Z0-9_]*\\d+"; + } + description + "Names the slot portion of a NodeID + Rack/Slot/Instance triple"; + } + + typedef Instance-id { + type string { + pattern "[a-zA-Z0-9_]*\\d+"; + } + description + "Names the instance portion of a NodeID + Rack/Slot/Instance triple"; + } + + typedef Sub-instance-id { + type string { + pattern "[a-zA-Z0-9_]*\\d+"; + } + description + "Names the sub-instance portion of an extended + NodeID Rack/Slot/Instance/SubInstance"; + } + + typedef Encryption-type { + type enumeration { + enum "none" { + value 0; + description + "The password string is clear text."; + } + enum "md5" { + value 1; + description + "The password is encrypted to an MD5 digest."; + } + enum "proprietary" { + value 2; + description + "The password is encrypted using Cisco type 7 + password encryption."; + } + enum "type6" { + value 3; + description + "The password is encrypted using Cisco type 6 + password encryption."; + } + } + description + "The type of encryption used on a password string."; + } + + typedef Hex-integer { + type string { + pattern "[0-9a-fA-F]{1,8}"; + } + description + "An unsigned 32-bit integer represented in + hexadecimal format."; + } + + typedef Hex-integer-16 { + type string { + pattern "[0-9a-fA-F]{1,4}"; + } + description + "An unsigned 16-bit integer represented in + hexadecimal format."; + } + + typedef Hex-integer-8 { + type string { + pattern "[0-9a-fA-F]{1,2}"; + } + description + "An unsigned 8-bit integer represented in + hexadecimal format."; + } + + typedef Osi-system-id { + type string { + pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}"; + } + description + "An OSI system ID should be of the form + 0123.4567.89ab. This data type restricts each + character to a hex character."; + } + + typedef Osi-area-address { + type string { + pattern "[a-fA-F0-9]{2}(\\.[a-fA-F0-9]{4}){0,6}"; + } + description + "An OSI area address should consist of an odd number + of octets, and be of the form 01 or 01.2345 etc up + to 01.2345.6789.abcd.ef01.2345.6789. This data type + restricts each character to a hex character."; + } + + typedef Isis-node-id { + type string { + pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}\\.[a-fA-F0-9]{2}"; + } + description + "An ISIS node ID should be of the form + 0123.4567.89ab.cd. This data type restricts each + character to a hex character."; + } + + typedef Isis-snpa { + type string { + pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}"; + } + description + "String representation of a SNPA, 802.2 MAC address + in canonical format, e.g. 0123.4567.89ab"; + } + + typedef Isis-lsp-id { + type string { + pattern "[a-fA-F0-9]{4}(\\.[a-fA-F0-9]{4}){2}\\.[a-fA-F0-9]{2}\\-[a-fA-F0-9]{2}"; + } + description + "An ISIS LSP ID should be of the form + 0123.4567.89ab.cd-ef. This data type restricts each + character to a hex character."; + } + + typedef Osi-net { + type string { + pattern "[a-fA-F0-9]{2}(\\.[a-fA-F0-9]{4}){3,9}\\.[a-fA-F0-9]{2}"; + } + description + "An OSI NET should consist of an even number of + octets, and be of the form 01.2345.6789.abcd.ef etc + up to + 01.2345.6789.abcd.ef01.2345.6789.abcd.ef01.2345.67. + This data type restricts each character to a hex + character."; + } + + typedef String-identifier { + type string { + pattern "[a-zA-Z0-9_\\-]+"; + } + description + "A string for specifying identifier."; + } + + typedef Char-num { + type union { + type string { + pattern "(0x[0-9A-Fa-f]{1,2}|\\p{IsBasicLatin}|\\p{IsLatin-1Supplement})"; + } + type uint8; + } + description + "Takes a character or its ASCII decimal equivalent + (0-255)."; + } + + typedef Tty-escape-char-num { + type union { + type string { + pattern "(0x[0-9A-Fa-f]{1,2}|\\p{IsBasicLatin}|\\p{IsLatin-1Supplement}|DEFAULT|BREAK|NONE)"; + } + type uint8; + } + description + "Escape character or its ASCII decimal equivalent + (0-255) or one of the three string DEFAULT, BREAK, + NONE."; + } + + typedef Extended-node-id { + type string { + pattern "([a-zA-Z0-9_]*\\d+/){3}([a-zA-Z0-9_]*\\d+)"; + } + description + "A location used as value information and specified + as a Rack/Slot/Instance/SubInstance, e.g. + 0/1/CPU0/NPU0"; + } + + typedef Node-id { + type string { + pattern "([a-zA-Z0-9_]*\\d+/){1,2}([a-zA-Z0-9_]*\\d+)"; + } + description + "A location used as value information and specified + as a Rack/Slot/Instance triple, e.g. F0/SC1/0."; + } + + typedef Pq-node-id { + type string { + pattern "((([a-zA-Z0-9_]*\\d+)|(\\*))/){2}(([a-zA-Z0-9_]*\\d+)|(\\*))"; + } + description + "Partially qualified location which is used for + wildcarding location specifications, e.g. 1/*/*"; + } + + typedef Md5-password { + type string { + pattern "(!.+)|([^!].+)"; + } + description + "The Md5-password type is used to store password using the MD5 + hash function. + When a clear text value is set to a leaf of this type, the + server calculates a password hash and stores the result + in the datastore. The password is never stored in clear text. + + When a leaf of this type is read, the stored password hash is + returned. + + A value of this type matches one of the forms: + + ! + + + The '!' prefix signals that the value is clear text. When + such a value is received by the server, a hash value is + calculated. This value is stored in the configuration data + store. + + If a value starting without '!' is received, the server knows + that the value already represents a hashed value, and stores + it as is in the data store."; + } + + typedef Type8-password { + type string { + pattern "(!.+)|([^!].+)"; + } + description + "The Type8-password type is used to store password using the + SHA-256 encryption. + When a clear text value is set to a leaf of this type, the + server calculates a password hash and stores the result + in the datastore. The password is never stored in clear text. + + When a leaf of this type is read, the stored password hash is + returned. + + A value of this type matches one of the forms: + + ! + + + The '!' prefix signals that the value is clear text. When + such a value is received by the server, a hash value is + calculated. This value is stored in the configuration data + store. + + If a value starting without '!' is received, the server knows + that the value already represents a hashed value, and stores + it as is in the data store."; + } + + typedef Type9-password { + type string { + pattern "(!.+)|([^!].+)"; + } + description + "The Type9-password type is used to store password using the + Script algorithmic encryption. + When a clear text value is set to a leaf of this type, the + server calculates a password hash and stores the result + in the datastore. The password is never stored in clear text. + + When a leaf of this type is read, the stored password hash is + returned. + + A value of this type matches one of the forms: + + ! + + + The '!' prefix signals that the value is clear text. When + such a value is received by the server, a hash value is + calculated. This value is stored in the configuration data + store. + + If a value starting without '!' is received, the server knows + that the value already represents a hashed value, and stores + it as is in the data store."; + } + + typedef Type10-password { + type string { + pattern "(!.+)|([^!].+)"; + } + description + "The Type10-password type is used to store password using the + Script algorithmic encryption. + When a clear text value is set to a leaf of this type, the + server calculates a password hash and stores the result + in the datastore. The password is never stored in clear text. + + When a leaf of this type is read, the stored password hash is + returned. + + A value of this type matches one of the forms: + + ! + + + The '!' prefix signals that the value is clear text. When + such a value is received by the server, a hash value is + calculated. This value is stored in the configuration data + store. + + If a value starting without '!' is received, the server knows + that the value already represents a hashed value, and stores + it as is in the data store."; + } + + typedef Proprietary-password { + type string { + pattern "(!.+)|([^!].+)"; + } + description + "The Proprietary-password type is used to store password + using the Cisco proprietary hash function. + When a clear text value is set to a leaf of this type, the + server calculates a password hash and stores the result + in the datastore. The password is never stored in clear text. + + When a leaf of this type is read, the stored password hash is + returned. + + A value of this type matches one of the forms: + + ! + + + The '!' prefix signals that the value is clear text. When + such a value is received by the server, a hash value is + calculated. This value is stored in the configuration data + store. + + If a value starting without '!' is received, the server knows + that the value already represents a hashed value, and stores + it as is in the data store."; + } + + typedef Type6-password { + type string { + pattern "(!.+)|([^!].+)"; + } + description + "The Type6-password type is used to store password + using the Cisco type 6 hash function. + When a clear text value is set to a leaf of this type, the + server calculates a password hash and stores the result + in the datastore. The password is never stored in clear text. + + When a leaf of this type is read, the stored password hash is + returned. + + A value of this type matches one of the forms: + + ! + + + The '!' prefix signals that the value is clear text. When + such a value is received by the server, a hash value is + calculated. This value is stored in the configuration data + store. + + If a value starting without '!' is received, the server knows + that the value already represents a hashed value, and stores + it as is in the data store."; + } + + typedef Bgp-ipv4-flowspec-address { + type string { + pattern "[a-fA-F0-9]{4096}"; + } + description + "An IPV4 Flowspec address in hexadecimal notation."; + } + + typedef Bgp-ipv6-flowspec-address { + type string { + pattern "[a-fA-F0-9]{4096}"; + } + description + "An IPV6 Flowspec address in hexadecimal notation."; + } + + typedef Rpl-policy { + type string; + description + "RPL Policy info"; + } + + typedef Rpl-set { + type string; + description + "RPL Set info"; + } + + typedef Physical-allowed-node-id { + type uint32; + description + "A physical location encoded as a 32-bit value."; + } + + typedef Physical-allowed-node-id-string { + type string; + description + "A physical location which is represented internallyusing string format (eg: 0_6_CPU0)."; + } + + typedef Bgp-as-number { + type union { + type uint32 { + range "1..65535" { + description + "2-byte AS number"; + } + } + type string { + pattern "([1-9][0-9]{0,4}).([0-9]{1,5})" { + description + "4-byte AS number in asdot (X.Y) format"; + } + } + type uint32 { + range "65536..4294967295" { + description + "4-byte AS number in asplain format"; + } + } + } + description + "BGP AS number type"; + } + + typedef Route-policy-name { + type string { + length "1..255"; + } + description + "Datatype for route policy name"; + } + + typedef Ospf-area-id { + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ip-address; + } + description + "OSPF area ID. Either OSPF area ID as a decimal value or OSPF area ID in IP address format"; + } + + typedef Vpn-id { + type string { + pattern "([0-9a-f]{1,8}):([0-9a-f]{1,8})" { + description + "VPN ID format (OUI:VPN-Index in hex integer)"; + } + } + description + "VPN ID format (OUI:VPN-Index in hex integer)"; + } + + typedef Mpls-label-space-id { + 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" { + description + ":0"; + } + } + description + "MPLS-LDP labe-space ID format"; + } + + typedef Bgp-route-distinguisher { + type union { + type string { + pattern "([0-9]{1,5}):([0-9]{1,10})" { + description + "2-byte AS number:nn (<1-65535>:<0-4294967295>)"; + } + } + type string { + pattern "([0-9]{5,10}):([0-9]{1,10})" { + description + "4-byte AS number:nn (<65536-4294967295>:<0-4294967295>)"; + } + } + 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,10})" { + description + "IP address:nn (A.B.C.D:<0-4294967295>)"; + } + } + } + description + "BGP route distinguisher number format"; + } + + typedef Evpn-esi-value { + type string { + pattern "[0-9a-f]{1,2}(\\.[0-9a-f]{1,2}){8}"; + } + description + "EVPN 9-octet ESI value"; + } + + typedef Docker-app-id { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9_.-]+"; + } + description + "A Docker container name format."; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-controller-fabric-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-controller-fabric-cfg.yang new file mode 100644 index 000000000..2f5810892 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-controller-fabric-cfg.yang @@ -0,0 +1,80 @@ +module Cisco-IOS-XR-um-8000-controller-fabric-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-controller-fabric-cfg"; + prefix um-8000-controller-fabric-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-controller-fabric package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container controller-fabric { + description + "Configure Fabric"; + container planes { + description + "Configure Fabric Plane"; + list plane { + must "shutdown"; + key "plane-id"; + description + "Configure Fabric Plane"; + leaf plane-id { + type uint32 { + range "0..7" { + description + "Fabric Plane number"; + } + } + description + "Configure Fabric Plane"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shutdown the fabric data plane"; + } + } + } + container mode { + description + "Configure Fabric Mode as either 8FC or 5FC"; + container five-fc { + presence "Indicates a five-fc node is configured."; + description + "5 Fabric Card mode, default is 8 FC"; + container fc-0-2-4-5-6 { + presence "Indicates a fc-0-2-4-5-6 node is configured."; + description + "FC Slots 0,2,4,5 and 6"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-fpd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-fpd-cfg.yang new file mode 100644 index 000000000..85e113dcc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-fpd-cfg.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XR-um-8000-fpd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-fpd-cfg"; + prefix um-8000-fpd-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-fpd package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-17 { + description + "Added container exclude"; + semver:module-version "1.0.1m"; + } + revision 2020-12-22 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container fpd { + description + "FPD firmware configuration"; + container auto-upgrade { + description + "FPD auto-upgrade configuration"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable fpd auto upgrade"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable fpd auto upgrade"; + } + container exclude { + description + "FPD auto-upgrade exclude configuration"; + container pm { + presence "Indicates a pm node is configured."; + description + "Power module entity to be excluded"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg.yang new file mode 100644 index 000000000..5f33e30b2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg.yang @@ -0,0 +1,109 @@ +module Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg"; + prefix um-8000-hw-module-power-profile-sfd-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-hw-module-power-profile-sfd package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container hw-module { + description + "Configure h/w module"; + container npu-power-profile { + description + "Asic power usage"; + container card-type { + description + "Card type"; + container locations { + description + "Line cards"; + list location { + must "lc"; + key "location-name"; + description + "Location of Line Card"; + leaf location-name { + type xr:Node-id; + description + "Line card location"; + } + leaf lc { + type enumeration { + enum "low" { + value 1; + description + "Use low performance/power"; + } + enum "medium" { + value 2; + description + "Use medium performance/power"; + } + enum "high" { + value 3; + description + "Use high performance/power"; + } + } + description + "Line card power mode"; + } + } + } + leaf fc { + type enumeration { + enum "low" { + value 1; + description + "Use low performance/power"; + } + enum "medium" { + value 2; + description + "Use medium performance/power"; + } + enum "high" { + value 3; + description + "Use high performance/power"; + } + } + description + "All FC cards power mode"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg.yang new file mode 100644 index 000000000..0060d7628 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg.yang @@ -0,0 +1,62 @@ +module Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg"; + prefix um-8000-hw-module-power-profile-sff-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-hw-module-power-profile-sff package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container hw-module { + description + "Configure h/w module"; + leaf npu-power-profile { + type enumeration { + enum "low" { + value 1; + description + "Use low performance/power"; + } + enum "medium" { + value 2; + description + "Use medium performance/power"; + } + enum "high" { + value 3; + description + "Use high performance/power"; + } + } + description + "Asic power usage"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-cfg.yang new file mode 100644 index 000000000..8885eaa56 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-cfg.yang @@ -0,0 +1,1076 @@ +module Cisco-IOS-XR-um-8000-hw-module-profile-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-profile-cfg"; + prefix um-8000-hw-module-profile-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-hw-module-profile package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-20 { + description + "Added hbm-algo options + 2023-02-07 + Feature xoff mode added + 2022-12-06 + Added SROPT mode feature + 2022-09-28 + Modified lpm high node as lpm tcam-banks in hw-module profile route scale lpm + 2022-09-08 + Added high lpm scale + 2022-09-02 + Added leafs in hw-module profile cef + 2022-08-04 + Added buffer-extend support + 2022-06-06 + Removed location-name list key node + 2022-04-24 + Added npu-compatibility support + 2022-04-06 + Updated buffer-extended and buffer-internal nodes + 2022-03-22 + Added new leaf pause-threshold-bytes.Added must constraints to list traffic-class and leaf pause-threshold. + 2022-03-10 + Added missing nodes + 2021-12-20 + Added new router scale ipv6-unicast connected-prefix scale feature"; + semver:module-version "1.0.1M"; + } + revision 2021-03-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container hw-module { + description + "Configure h/w module"; + container profile { + description + "Configure profile."; + container tcam { + description + "Configure profile for TCAM LC cards"; + container fib { + description + "Forwarding table to configure"; + container ipv4 { + description + "Configure ipv4 addresses in TCAM"; + container unicast { + description + "Unicast address"; + leaf percent { + type uint32 { + range "1..100" { + description + "value in percent"; + } + } + description + "percent to configure"; + } + } + } + container ipv6 { + description + "Configure ipv6 addresses in TCAM"; + container unicast { + description + "Unicast address"; + leaf percent { + type uint32 { + range "0..100" { + description + "value in percent"; + } + } + description + "percent to configure"; + } + } + } + } + container format { + description + "format of the tcam entry"; + container access-list { + description + "Access List format"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + container src-addr { + presence "Indicates a src-addr node is configured."; + description + "ipv4 source address"; + } + container dst-addr { + presence "Indicates a dst-addr node is configured."; + description + "ipv4 destination address"; + } + container src-port { + presence "Indicates a src-port node is configured."; + description + "source port for TCP/UDP"; + } + container dst-port { + presence "Indicates a dst-port node is configured."; + description + "destination port for TCP/UDP"; + } + container proto { + presence "Indicates a proto node is configured."; + description + "protocol field in IPV4 header"; + } + container precedence { + presence "Indicates a precedence node is configured."; + description + "precedence/dscp field in IPV4 header"; + } + container ttl-match { + presence "Indicates a ttl-match node is configured."; + description + "TTL in IPv4 header"; + } + container tcp-flags { + presence "Indicates a tcp-flags node is configured."; + description + "tcp flags"; + } + container frag-bit { + presence "Indicates a frag-bit node is configured."; + description + "fragment-bit"; + } + container src-object-group { + presence "Indicates a src-object-group node is configured."; + description + "source object group"; + } + container dst-object-group { + presence "Indicates a dst-object-group node is configured."; + description + "destination object group"; + } + container packet-len { + presence "Indicates a packet-len node is configured."; + description + "packet length"; + } + container fragment-offset { + presence "Indicates a fragment-offset node is configured."; + description + "fragment-offset"; + } + leaf udf1 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf2 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf3 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf4 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf5 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf6 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf7 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf8 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6"; + container src-addr { + presence "Indicates a src-addr node is configured."; + description + "ipv6 source address"; + } + container dst-addr { + presence "Indicates a dst-addr node is configured."; + description + "ipv6 destination address"; + } + container src-port { + presence "Indicates a src-port node is configured."; + description + "source port for TCP/UDP (mandatory field)"; + } + container dst-port { + presence "Indicates a dst-port node is configured."; + description + "destination port for TCP/UDP"; + } + container next-hdr { + presence "Indicates a next-hdr node is configured."; + description + "next header field in IPV6 header (mandatory field)"; + } + container traffic-class { + presence "Indicates a traffic-class node is configured."; + description + "traffic class in IPV6 header"; + } + container frag-bit { + presence "Indicates a frag-bit node is configured."; + description + "fragment-bit"; + } + container tcp-flags { + presence "Indicates a tcp-flags node is configured."; + description + "tcp flags"; + } + container src-object-group { + presence "Indicates a src-object-group node is configured."; + description + "source object group"; + } + container dst-object-group { + presence "Indicates a dst-object-group node is configured."; + description + "destination object group"; + } + container packet-len { + presence "Indicates a packet-len node is configured."; + description + "packet length"; + } + leaf udf1 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf2 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf3 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf4 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf5 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf6 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf7 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + leaf udf8 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "UDF name"; + } + } + description + "user defined filter"; + } + } + } + } + } + container qos { + description + "Configure qos profile"; + container voq-mode { + description + "voq mode to configure"; + container four { + must + "not(../eight or ../fair-four + or ../fair-eight)"; + presence "Indicates a four node is configured."; + description + "4 VoQ Mode"; + } + container eight { + must + "not(../four or ../fair-four + or ../fair-eight)"; + presence "Indicates a eight node is configured."; + description + "8 VoQ Mode"; + } + container fair-four { + must + "not(../four or ../eight + or ../fair-eight)"; + presence "Indicates a fair-4 node is configured."; + description + "fair-4 VoQ Mode"; + } + container fair-eight { + must + "not(../four or ../eight + or ../fair-four)"; + presence "Indicates a fair-8 node is configured."; + description + "fair-8 VoQ Mode"; + } + } + leaf l2-mode { + type enumeration { + enum "L2" { + value 2; + description + "Use L2 headers for QoS on L2 interfaces"; + } + enum "L3" { + value 3; + description + "Use L3 headers for QoS on L2 interfaces"; + } + } + description + "Configure QOS mode for L2 interfaces"; + } + container qos-stats-push-collection { + must "../l2-mode"; + presence "Indicates a qos-stats-push-collection node is configured."; + description + "Enable QoS stats push collection"; + } + } + container cef { + description + "Configure cef profiles"; + leaf dark-bw { + type enumeration { + enum "enable" { + value 1; + description + "Enable Dark bandwidth feature"; + } + } + description + "Configure dark-bandwidth"; + } + leaf sropt { + type enumeration { + enum "enable" { + value 1; + description + "Enable SROPT feature"; + } + } + description + "Configure SROPT functionality"; + } + leaf bgplu { + type enumeration { + enum "enable" { + value 1; + description + "Enable BGPLU feature"; + } + } + description + "Configure bgplu attribute"; + } + leaf cbf { + type enumeration { + enum "enable" { + value 1; + description + "Enable CBF feature"; + } + } + description + "Enable cbf"; + } + container forward-class-lists { + description + "Configure hardware forward class list"; + leaf-list forward-class-list { + type uint32 { + range "0..7" { + description + "forward class id"; + } + } + must "../../cbf"; + max-elements "8"; + description + "Configure hardware forward class list"; + } + } + container ipv6 { + description + "IPv6"; + leaf hop-limit { + type enumeration { + enum "punt" { + value 1; + description + "Punt hop-limit 0 packets"; + } + } + description + "Hop-limit 0 packets"; + } + } + container lpts { + description + "LPTS"; + container acl { + presence "Indicates a acl node is configured."; + description + "Enable ACL"; + } + leaf pifib-entry-counters { + type uint32 { + range "256..512" { + description + "number of counters"; + } + } + description + "Configure number of counters"; + } + } + container stats { + description + "Configure feature level stats"; + container label { + description + "Configure label stats"; + leaf app-default { + type enumeration { + enum "dynamic" { + value 1; + description + "Allocate counters till OOR"; + } + } + description + "Applies to - LDP and SR"; + } + } + } + container ttl { + description + "Configure ttl profile"; + container tunnel-ip { + description + "Configure tunnel-ip ttl mode"; + leaf decrement { + type enumeration { + enum "disable" { + value 1; + description + "Disable tunnl-ip inner ttl decrement"; + } + } + description + "Configure tunnel-ip ttl decrement behaviour"; + } + } + } + container te-tunnel { + description + "Configure te tunnel profile"; + container highscale-no-ldp-over-te { + presence "Indicates a highscale-no-ldp-over-te node is configured."; + description + "Enable te tunnels high scale and disable ldp over te"; + } + container highscale-ldp-over-te-no-sr-over-srte { + presence "Indicates a highscale-ldp-over-te-no-sr-over-srte node is configured."; + description + "Enable high scale of TE tunnels with LDP over TE and disable SR over SRTE"; + } + container label-over-te-counters { + presence "Indicates a label-over-te-counters node is configured."; + description + "Enable label counters and disable TE counters"; + } + } + leaf ip-redirect { + type enumeration { + enum "enable" { + value 1; + description + "Enable IP redirect"; + } + } + description + "IP redirect"; + } + } + container stats { + description + "Configure qos stats profile"; + leaf voqs-sharing-counters { + type enumeration { + enum "1" { + value 1; + description + "Counter for each queue"; + } + enum "2" { + value 2; + description + "2 Queues share counters"; + } + enum "4" { + value 4; + description + "4 Queues share counters"; + } + } + description + "Configure number of voqs (1, 2, 4) sharing counters"; + } + container acl-permit { + presence "Indicates a acl-permit node is configured."; + description + "Configure ACL permit stats"; + container no-bvi-ingress { + presence "Indicates a no-bvi-ingress node is configured."; + description + "Disable BVI ingress counter stats"; + } + } + } + leaf bw-threshold { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "value in percent: 10-100 in increments of 10"; + } + pattern "(100|[1-9]0)"; + } + description + "% of Total Fabric BW of Asic requires for INTF bring UP"; + } + container priority-flow-control { + description + "Configure priority-flow-control parameters"; + container locations { + description + "Location to apply PFC configuration"; + list location { + key "location-name"; + description + "Location to apply PFC configuration"; + leaf location-name { + type xr:Node-id; + description + "Location to apply PFC configuration"; + } + container buffer-extended { + description + "Use Extended Packet Memory buffers"; + list traffic-class { + must "pause-threshold or pause-threshold-bytes"; + key "traffic-class-id"; + description + "configure traffic-class"; + leaf traffic-class-id { + type uint32 { + range "0..7" { + description + "Traffic-class"; + } + } + description + "configure traffic-class"; + } + leaf pause-threshold { + type uint32 { + range "1..200000" { + description + "pause-threshold"; + } + } + must "../ms or ../us"; + must "not(../pause-threshold-bytes)"; + description + "configure pause-threshold"; + } + leaf pause-threshold-bytes { + type uint32 { + range "1..200000" { + description + "pause-threshold"; + } + } + must "../kbytes or ../mbytes"; + must "not(../pause-threshold)"; + description + "configure pause-threshold"; + } + container ms { + presence "Indicates a ms node is configured."; + description + "Milliseconds (2-25 ms)"; + leaf headroom { + type uint32 { + range "0..200000" { + description + "headroom"; + } + } + description + "configure headroom"; + } + } + container us { + presence "Indicates a us node is configured."; + description + "Microseconds (2000-25000 us)"; + leaf headroom { + type uint32 { + range "0..200000" { + description + "headroom"; + } + } + description + "configure headroom"; + } + } + container kbytes { + presence "Indicates a kbytes node is configured."; + description + "KBytes (1024-200000 kbytes)"; + leaf headroom { + type uint32 { + range "1..200000" { + description + "headroom"; + } + } + description + "configure headroom"; + } + } + container mbytes { + presence "Indicates a mbytes node is configured."; + description + "MBytes (1-200 mbytes)"; + leaf headroom { + type uint32 { + range "1..200000" { + description + "headroom"; + } + } + description + "configure headroom"; + } + } + } + list traffic-class-default { + key "traffic-class-id"; + description + "configure traffic-class"; + leaf traffic-class-id { + type uint32 { + range "0..7" { + description + "Traffic-class"; + } + } + description + "configure traffic-class"; + } + } + } + container buffer-internal { + description + "Use Internal Packet Memory buffers"; + list traffic-class { + key "traffic-class-id"; + description + "configure traffic-class"; + leaf traffic-class-id { + type uint32 { + range "0..7" { + description + "Traffic-class"; + } + } + description + "configure traffic-class"; + } + leaf pause-threshold { + type uint32 { + range "307200..1574400" { + description + "pause-threshold (bytes)"; + } + } + mandatory true; + description + "configure pause-threshold"; + } + leaf headroom { + type uint32 { + range "345600..1651200" { + description + "headroom (bytes)"; + } + } + mandatory true; + description + "configure headroom"; + } + leaf ecn { + type uint32 { + range "153600..897408" { + description + "ecn (bytes)"; + } + } + description + "configure ecn"; + } + leaf max-threshold { + type uint32 { + range "153600..1495680" { + description + "ecn max threshold(bytes)"; + } + } + description + "ecn max threshold"; + } + leaf probability-percentage { + type uint32 { + range "1..100" { + description + "percentage"; + } + } + description + "maximum probability percentage"; + } + } + list traffic-class-default { + key "traffic-class-id"; + description + "configure traffic-class"; + leaf traffic-class-id { + type uint32 { + range "0..7" { + description + "Traffic-class"; + } + } + description + "configure traffic-class"; + } + } + } + } + } + } + container gue { + description + "gue decap tunnel's udp destination port configuration"; + container udp-dest-port { + description + "configure separate udp port numbers for ipv4/ipv6/mpls"; + leaf ipv4 { + type uint32 { + range "1000..64000" { + description + "value in decimal"; + } + } + must "../ipv6"; + description + "Configure unreserved udp port number for ipv4 payload"; + } + leaf ipv6 { + type uint32 { + range "1000..64000" { + description + "value in decimal"; + } + } + must "../ipv4 and ../mpls"; + description + "Configure unreserved udp port number for ipv6 payload"; + } + leaf mpls { + type uint32 { + range "1000..64000" { + description + "value in decimal"; + } + } + must "../ipv6"; + description + "Configure unreserved udp port number for mpls payload"; + } + } + } + container npu { + description + "Configure npu parameters"; + container buffer-extended { + description + "Configure buffer-extended parameters"; + container locations { + description + "Location to apply buffer-extended configuration"; + list location { + key "location-name"; + description + "Location to apply buffer-extended configuration"; + leaf location-name { + type xr:Node-id; + description + "Location to apply buffer-extended configuration"; + } + container bandwidth-congestion-detection { + description + "enable bandwidth congestion detection"; + container enable { + presence "Indicates a enable node is configured."; + description + "enable bandwidth congestion detection"; + } + } + container bandwidth-congestion-protect { + description + "device global xoff enable"; + container enable { + presence "Indicates a enable node is configured."; + description + "device global xoff enable"; + } + } + } + } + } + } + container l2fib { + description + "Configure l2fib profiles"; + container pw-stats { + presence "Indicates a pw-stats node is configured."; + description + "Configure PW stats"; + } + container bridge-flush-convergence { + presence "Indicates a bridge-flush-convergence node is configured."; + description + "Configure BD flush convergence mode"; + } + } + leaf npu-compatibility { + type enumeration { + enum "Q100" { + value 1; + description + "Use Q100 for Chassis mode"; + } + enum "Q200" { + value 2; + description + "Use Q200 for Chassis mode"; + } + } + description + "Configure npu-compatibility mode for chassis type"; + } + container route { + description + "Configure route scale ipv6-unicast connected-prefix profile"; + container scale { + description + "Configure scale"; + container ipv6-unicast { + description + "ipv6-unicast"; + container connected-prefix { + description + "connected-prefix"; + container high { + presence "Indicates profile ipv6-unicast connected-prefix high is configured"; + description + "Enable profile ipv6-unicast connected-prefix high"; + } + } + } + container lpm { + description + "enable scale lpm profile"; + container tcam-banks { + presence "Indicates profile lpm tcam-banks is configured"; + description + "Enable high scale for LPM using TCAM banks"; + } + } + container hbm-algo { + description + "hbm-algo set"; + container hbm-chronograph { + presence "Indicates hbm chronograph is configured"; + description + "hbm chronograph set"; + } + container hbm-hi-hbm { + presence "Indicates hbm hit hbm is configured"; + description + "hbm hit hbm value set"; + } + container hbm-hi-sram { + presence "Indicates hbm hit sram is configured"; + description + "hbm hit sram value set"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg.yang new file mode 100644 index 000000000..e61db7817 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg.yang @@ -0,0 +1,90 @@ +module Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg"; + prefix um-8000-hw-module-profile-netflow-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-8000-hw-module-profile-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-hw-module-profile-netflow package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-19 { + description + "Updated the yang model as duplicate location key is removed from configuration"; + semver:module-version "1.0.1M"; + } + revision 2020-10-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:hw-module/a1:profile" { + container netflow { + description + "Configure Netflow profile."; + container ipfix315-enable { + description + "IPFIX 315 enable "; + container locations { + description + "Location of NETFLOW config"; + list location { + key "location-name"; + description + "Location of NETFLOW config"; + leaf location-name { + type xr:Node-id; + description + "Location of NETFLOW config (must be same as location-name)"; + } + } + } + } + container sflow-enable { + description + "sFlow enable "; + container locations { + description + "Location of sFlow config"; + list location { + key "location-name"; + description + "Location of sFlow config"; + leaf location-name { + type xr:Node-id; + description + "Location of sFlow config (must be same as location-name)"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-spp-policer-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-spp-policer-cfg.yang new file mode 100644 index 000000000..b0a2d38ad --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-spp-policer-cfg.yang @@ -0,0 +1,90 @@ +module Cisco-IOS-XR-um-8000-spp-policer-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-spp-policer-cfg"; + prefix um-8000-spp-policer-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-spp-policer package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-12-02 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping LOCATION-BODY { + description + ""; + container lpts { + description + "lpts configuration commands"; + container punt { + description + "punt configuration commands"; + container police { + description + "ingress policers configuration command"; + container spp { + description + "SPP policers"; + container nd { + description + "ND policer"; + leaf rate { + type uint32 { + range "1..200" { + description + "Packets Per Second"; + } + } + description + "Rate in PPS"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable ND policer"; + } + } + } + } + } + } + } + + augment "/location:locations/location:location" { + description + ""; + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location" { + description + ""; + uses LOCATION-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-udf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-udf-cfg.yang new file mode 100644 index 000000000..712d7c191 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-8000-udf-cfg.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XR-um-8000-udf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-udf-cfg"; + prefix um-8000-udf-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR 8000-udf package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container udfs { + description + "UDF configuration"; + list udf { + key "udf-name"; + description + "UDF configuration"; + leaf udf-name { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "UDF name - maximum 16 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "UDF configuration"; + } + container header { + description + "Header for UDF"; + leaf header-type { + type enumeration { + enum "inner" { + value 0; + description + "Inner header for UDF"; + } + enum "outer" { + value 1; + description + "Outer header for UDF"; + } + } + mandatory true; + description + "Header for UDF"; + } + leaf udf-layer { + type enumeration { + enum "l2" { + value 0; + description + "L2 layer for UDF"; + } + enum "l3" { + value 1; + description + "L3 layer for UDF"; + } + enum "l4" { + value 2; + description + "L4 layer for UDF"; + } + } + mandatory true; + description + "configure this node"; + } + leaf offset { + type uint32 { + range "0..65535" { + description + "Configure the offset value (bytes)"; + } + } + mandatory true; + description + "Configure the offset (bytes) in the header"; + } + leaf length { + type uint32 { + range "0..65535" { + description + "Configure the length (bytes)"; + } + } + mandatory true; + description + "Configure the length (bytes) in the header"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-cfg.yang new file mode 100644 index 000000000..c6969027e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-cfg.yang @@ -0,0 +1,4224 @@ +module Cisco-IOS-XR-um-aaa-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-cfg"; + prefix um-aaa-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-18 { + description + "Modified must statements for authorization-list nodes"; + semver:module-version "2.0.1m"; + } + revision 2021-10-10 { + description + "Modified must statements for group-2 nodes + 2021-07-07 + Removed conatiner api from container authorization and accounting"; + semver:module-version "2.0.0"; + } + revision 2021-02-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container aaa { + description + "Authentication, Authorization and Accounting"; + container authentication { + description + "AAA Authentication data"; + container ppp { + description + "Set authentication lists for PPP"; + list authentication-list { + key "list-name"; + description + "List name for AAA authentication"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authentication"; + } + } + type string { + length "1..253" { + description + "List name for AAA authentication. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authentication"; + } + container local { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../local) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../local) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../local) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../../local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name or ../../../local) + and not(../local or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name or ../../../local) + and not(../local or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../local) and + not(../local or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Second server-group"; + container local { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container tacacs { + must + "(../../group-2/local or ../../group-2/radius or + ../../group-2/server-group-name) + and not(../local or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/local or ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../local or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container tacacs { + must + "(../../group-3/local or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../local or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container onepk { + description + "Set authentication lists for OnePk"; + list authentication-list { + key "list-name"; + description + "List name for AAA authentication"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authentication"; + } + } + type string { + length "1..253" { + description + "List name for AAA authentication. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authentication"; + } + container local { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../local) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../local) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../local) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../../local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name or ../../../local) + and not(../local or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name or ../../../local) + and not(../local or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../local) and + not(../local or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Second server-group"; + container local { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container tacacs { + must + "(../../group-2/local or ../../group-2/radius or + ../../group-2/server-group-name) + and not(../local or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/local or ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../local or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container tacacs { + must + "(../../group-3/local or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../local or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container login { + description + "Set authentication lists for login"; + list authentication-list { + key "list-name"; + description + "List name for AAA authentication"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authentication"; + } + } + type string { + length "1..253" { + description + "List name for AAA authentication. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authentication"; + } + container local { + must + "not(../line or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container line { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a line node is configured."; + description + "Use line password for authentication"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../local or ../../../line) and + not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "not(../../../local or ../../../line) and + not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../local or ../../../line) and + not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../line or ../tacacs or ../radius or ../server-group-name or + ../../../local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container line { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../../line)"; + presence "Indicates a line node is configured."; + description + "Use line password for authentication"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name + or ../../../local or ../../../line) + and not(../local or ../line or ../radius or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name + or ../../../local or ../../../line) + and not(../local or ../line or ../tacacs or + ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../local or ../../../line) + and not(../local or ../line or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Second server-group"; + container local { + must + "(../../group-2/line or ../../group-2/tacacs or + ../../group-2/radius or + ../../group-2/server-group-name) and + not(../line or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container line { + must + "(../../group-2/local or ../../group-2/tacacs or + ../../group-2/radius or + ../../group-2/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/line)"; + presence "Indicates a line node is configured."; + description + "Use line password for authentication"; + } + container tacacs { + must + "(../../group-2/local or ../../group-2/line or + ../../group-2/radius or + ../../group-2/server-group-name) + and not(../local or ../line or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/local or ../../group-2/line or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../line or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or ../../group-2/line or + ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../local or ../line or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/line or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../line or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container line { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/line)"; + presence "Indicates a line node is configured."; + description + "Use line password for authentication"; + } + container tacacs { + must + "(../../group-3/local or ../../group-3/line or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../line or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/local or ../../group-3/line or + ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../line or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or ../../group-3/line or + ../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) + and not(../local or ../line or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + } + container authorization { + description + "AAA Authorization data"; + container exec { + description + "Set authorization lists for EXEC"; + list authorization-list { + must + "local or none or groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name"; + key "list-name"; + description + "List name for AAA authorization"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authorization"; + } + } + type string { + length "1..253" { + description + "List name for AAA authorization. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authorization"; + } + container local { + must + "not(../none or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../local or ../../../none) and + not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "not(../../../local or ../../../none) and + not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../local or ../../../none) and + not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../../none or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../../local or ../none)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../../local or ../../group-1/radius or + ../../group-1/server-group-name) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container local { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name or + ../../group-2/local) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-2/local or + ../../group-2/radius or + ../../group-2/server-group-name) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-3/local or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container eventmanager { + description + "Set Event Manager authorization method"; + list authorization-list { + must + "local or groups/group-1/tacacs or + groups/group-1/server-group-name"; + key "list-name"; + description + "List name for AAA authorization"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authorization"; + } + } + type string { + length "1..253" { + description + "List name for AAA authorization. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authorization"; + } + container local { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../local) and not(../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../local) and not(../tacacs)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../tacacs or ../server-group-name or + ../../../local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container tacacs { + must + "(../../../local or + ../../group-1/server-group-name) + and not(../local or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../local or ../tacacs)"; + description + "server-group name"; + } + } + } + } + } + container commands { + description + "For EXEC (shell) commands"; + list authorization-list { + must + "none or groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name"; + key "list-name"; + description + "List name for AAA authorization"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authorization"; + } + } + type string { + length "1..253" { + description + "List name for AAA authorization. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authorization"; + } + container local { + must "not(../none)"; + presence "Indicates a local node is configured."; + description + "Authorize if authenticated locally"; + } + container none { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../none) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../none) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../none) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container none { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name + or ../../../local or ../../../none) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name + or ../../../local or ../../../none) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../local or ../../../none) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-2/radius or + ../../group-2/server-group-name) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Fourth server-group"; + container none { + must + "(../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container onepk { + description + "Set authorization lists for ONE-PK"; + list authorization-list { + must + "local or none or groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name"; + key "list-name"; + description + "List name for AAA authorization"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authorization"; + } + } + type string { + length "1..253" { + description + "List name for AAA authorization. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authorization"; + } + container local { + must + "not(../none or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../local or ../../../none) and + not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "not(../../../local or ../../../none) and + not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../local or ../../../none) and + not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../../none or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../../local or ../none)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../../local or ../../group-1/radius or + ../../group-1/server-group-name) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container local { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name or + ../../group-2/local) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-2/local or + ../../group-2/radius or + ../../group-2/server-group-name) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-3/local or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container nacm { + description + "Set authorization lists for NACM"; + list authorization-list { + must + "local or none or groups/group-1/tacacs or + groups/group-1/server-group-name or + only-external/local or only-external/none or + only-external/groups/group-1/tacacs or + only-external/groups/group-1/server-group-name or + prefer-external/local or prefer-external/none or + prefer-external/groups/group-1/tacacs or + prefer-external/groups/group-1/server-group-name"; + key "list-name"; + description + "List name for AAA authorization"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authorization"; + } + } + type string { + length "1..253" { + description + "List name for AAA authorization. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authorization"; + } + container local { + must + "not(../none or ../groups/group-1/tacacs or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../local or ../../../none) and + not(../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../local or ../../../none) and + not(../tacacs)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../../none or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../tacacs or ../server-group-name or + ../../../local or ../none)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../local or ../tacacs or + ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../../local or + ../../group-1/server-group-name) + and not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container local { + must + "(../../group-2/tacacs or + ../../group-2/server-group-name or + ../../group-2/local) and + not(../none or ../tacacs or + ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-2/tacacs or + ../../group-2/server-group-name) and + not(../local or ../tacacs or + ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-2/local or + ../../group-2/server-group-name) + and not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../tacacs or + ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-3/local or + ../../group-3/server-group-name) and + not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/server-group-name) + and not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + } + container only-external { + description + "only external groups"; + container local { + must + "not(../none or ../groups/group-1/tacacs or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../local or ../../../none) and + not(../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../local or ../../../none) and + not(../tacacs)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../../none or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../tacacs or ../server-group-name or + ../../../local or ../none)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../local or ../tacacs or + ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../../local or + ../../group-1/server-group-name) + and not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container local { + must + "(../../group-2/tacacs or + ../../group-2/server-group-name) and + not(../none or ../tacacs or + ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-2/tacacs or + ../../group-2/server-group-name or + ../../group-2/local) and + not(../local or ../tacacs or + ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-2/local or + ../../group-2/server-group-name) + and not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../tacacs or + ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-3/local or + ../../group-3/server-group-name) and + not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/server-group-name) + and not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + } + } + container prefer-external { + description + "Prefer external groups with local groups"; + container local { + must + "not(../none or ../groups/group-1/tacacs or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../local or ../../../none) and + not(../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../local or ../../../none) and + not(../tacacs)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../../none or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../tacacs or ../server-group-name or + ../../../local or ../none)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../local or ../tacacs or + ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../../local or + ../../group-1/server-group-name) + and not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) and + not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container local { + must + "(../../group-2/tacacs or + ../../group-2/server-group-name) and + not(../none or ../tacacs or + ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-2/tacacs or + ../../group-2/server-group-name or + ../../group-2/local) and + not(../local or ../tacacs or + ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-2/local or + ../../group-2/server-group-name) + and not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../tacacs or + ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-3/local or + ../../group-3/server-group-name) and + not(../local or ../none or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/server-group-name) + and not(../local or ../none or ../tacacs)"; + description + "server-group name"; + } + } + } + } + } + } + container network { + description + "For network services (such as IKE)"; + list authorization-list { + must + "local or none or groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name"; + key "list-name"; + description + "List name for AAA authorization"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA authorization"; + } + } + type string { + length "1..253" { + description + "List name for AAA authorization. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA authorization"; + } + container local { + must + "not(../none or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../local or ../../../none) and + not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "not(../../../local or ../../../none) and + not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../local or ../../../none) and + not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../../none or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../../local or ../none)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../../local or ../../group-1/radius or + ../../group-1/server-group-name) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/server-group-name) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../../local or ../../group-1/tacacs or + ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container local { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name or + ../../group-2/local) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-2/local or + ../../group-2/radius or + ../../group-2/server-group-name) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or + ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "no authorization"; + } + container tacacs { + must + "(../../group-3/local or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or + ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + } + container accounting { + description + "AAA Accounting data"; + container update { + description + "For starting Network UPDATE accounting"; + container newinfo { + must "not(../periodic)"; + presence "Indicates a newinfo node is configured."; + description + "Update records for new accountable information only"; + } + leaf periodic { + type uint32 { + range "1..35791394" { + description + "Periodic update interval in minutes"; + } + } + must "not(../newinfo)"; + description + "Update records at periodic intervals"; + } + } + container exec { + description + "For starting an EXEC (shell)"; + list accounting-list { + must + "(start-stop or stop-only) and (none or + groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name)"; + key "list-name"; + description + "List name for AAA accounting"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA accounting"; + } + } + type string { + length "1..253" { + description + "List name for AAA accounting. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA accounting"; + } + container start-stop { + must "not(../stop-only)"; + presence "Indicates a start-stop node is configured."; + description + "start and stop records"; + } + container stop-only { + must "not(../start-stop)"; + presence "Indicates a stop-only node is configured."; + description + "stop records only"; + } + container none { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../none) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../none) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../none) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container none { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name or ../../../none) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name or ../../../none) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../none) and + not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-2/none or ../../group-2/radius or + ../../group-2/server-group-name) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Fourth server-group"; + container none { + must + "(../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-3/none or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container commands { + description + "For EXEC (shell) commands"; + list accounting-list { + must + "(start-stop or stop-only) and (none or local or + groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name)"; + key "list-name"; + description + "List name for AAA accounting"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA accounting"; + } + } + type string { + length "1..253" { + description + "List name for AAA accounting. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA accounting"; + } + container start-stop { + must "not(../stop-only)"; + presence "Indicates a start-stop node is configured."; + description + "start and stop records"; + } + container stop-only { + must "not(../start-stop)"; + presence "Indicates a stop-only node is configured."; + description + "stop records only"; + } + container none { + must + "not(../local or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container local { + must + "not(../none or ../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must + "not(../../../none or ../../../local) and + not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "not(../../../none or ../../../local) and + not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "not(../../../none or ../../../local) and + not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container local { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../../local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../../none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name + or ../../../local or ../../../none) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name + or ../../../local or ../../../none) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../local or ../../../none) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container local { + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/radius or + ../../group-2/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or ../../group-2/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-2/local or ../../group-2/tacacs or + ../../group-2/radius or + ../../group-2/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-2/local or ../../group-2/none or + ../../group-2/radius or + ../../group-2/server-group-name) + and not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/local or ../../group-2/none or + ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/local or ../../group-2/none or + ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Second server-group"; + container local { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/local)"; + presence "Indicates a local node is configured."; + description + "Local command accounting using syslog"; + } + container none { + must + "(../../group-3/local or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../tacacs or ../radius or + ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-3/local or ../../group-3/none or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../local or ../none or ../radius or + ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/local or ../../group-3/none or + ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../local or ../none or ../tacacs or + ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/local or ../../group-3/none or + ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../local or ../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container system { + description + "For System events"; + container rp-failover { + description + "flag for rp-failover"; + list accounting-list { + must + "(start-stop or stop-only) and (none or groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name)"; + key "list-name"; + description + "List name for AAA accounting"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA accounting"; + } + } + type string { + length "1..253" { + description + "List name for AAA accounting. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA accounting"; + } + container start-stop { + must "not(../stop-only)"; + presence "Indicates a start-stop node is configured."; + description + "start and stop records"; + } + container stop-only { + must "not(../start-stop)"; + presence "Indicates a stop-only node is configured."; + description + "stop records only"; + } + container none { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../none) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../none) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../none) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container none { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../none) and + not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-2/none or ../../group-2/radius or + ../../group-2/server-group-name) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Fourth server-group"; + container none { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-3/none or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + list accounting-list { + must + "start-stop and (none or + groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name)"; + key "list-name"; + description + "List name for AAA accounting"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA accounting"; + } + } + type string { + length "1..253" { + description + "List name for AAA accounting. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA accounting"; + } + container start-stop { + presence "Indicates a start-stop node is configured."; + description + "start and stop records"; + } + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Set broadcast accounting"; + } + container none { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../none) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../none) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../none) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container none { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../none) and + not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-2/none or ../../group-2/radius or + ../../group-2/server-group-name) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Fourth server-group"; + container none { + must + "(../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-3/none or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container network { + description + "For network services (such as IKE, PPP)"; + list accounting-list { + must + "(start-stop or stop-only) and (none or + groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name)"; + key "list-name"; + description + "List name for AAA accounting"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA accounting"; + } + } + type string { + length "1..253" { + description + "List name for AAA accounting. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA accounting"; + } + container start-stop { + must "not(../stop-only)"; + presence "Indicates a start-stop node is configured."; + description + "start and stop records"; + } + container stop-only { + must "not(../start-stop)"; + presence "Indicates a stop-only node is configured."; + description + "stop records only"; + } + container none { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../none) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../none) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../none) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container none { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../none) and + not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-2/none or ../../group-2/radius or + ../../group-2/server-group-name) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Fourth server-group"; + container none { + must + "(../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-3/none or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + container onepk { + description + "For ONE-PK services"; + list accounting-list { + must + "(start-stop or stop-only) and (none or + groups/group-1/tacacs or + groups/group-1/radius or + groups/group-1/server-group-name)"; + key "list-name"; + description + "List name for AAA accounting"; + leaf list-name { + type union { + type string { + pattern "default" { + description + "Default list name for AAA accounting"; + } + } + type string { + length "1..253" { + description + "List name for AAA accounting. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + } + description + "List name for AAA accounting"; + } + container start-stop { + must "not(../stop-only)"; + presence "Indicates a start-stop node is configured."; + description + "start and stop records"; + } + container stop-only { + must "not(../start-stop)"; + presence "Indicates a stop-only node is configured."; + description + "stop records only"; + } + container none { + must + "not(../groups/group-1/tacacs or + ../groups/group-1/radius or + ../groups/group-1/server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container groups { + description + "Use Server-group"; + container group-1 { + description + "First server-group"; + container tacacs { + must "not(../../../none) and not(../radius or ../server-group-name)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must "not(../../../none) and not(../tacacs or ../server-group-name)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must "not(../../../none) and not(../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-2 { + description + "Second server-group"; + container none { + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name) and + not(../tacacs or ../radius or ../server-group-name)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-1/radius or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-1/tacacs or ../../group-1/server-group-name + or ../../../none) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-1/tacacs or ../../group-1/radius or + ../../group-1/server-group-name or ../../../none) and + not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-3 { + description + "Third server-group"; + container none { + must + "(../../group-2/tacacs or ../../group-2/radius or + ../../group-2/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-2/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-2/none or ../../group-2/radius or + ../../group-2/server-group-name) + and not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/server-group-name) + and not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-2/none or ../../group-2/tacacs or + ../../group-2/radius or ../../group-2/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + container group-4 { + description + "Fourth server-group"; + container none { + must + "(../../group-3/tacacs or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../tacacs or ../radius or ../server-group-name or + ../../group-3/none)"; + presence "Indicates a none node is configured."; + description + "No accounting"; + } + container tacacs { + must + "(../../group-3/none or ../../group-3/radius or + ../../group-3/server-group-name) and + not(../none or ../radius or ../server-group-name or + ../../group-1/tacacs or ../../group-2/tacacs or + ../../group-3/tacacs)"; + presence "Indicates a tacacs node is configured."; + description + "Use list of all TACACS+ hosts"; + } + container radius { + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/server-group-name) and + not(../none or ../tacacs or ../server-group-name or + ../../group-1/radius or ../../group-2/radius or + ../../group-3/radius)"; + presence "Indicates a radius node is configured."; + description + "Use list of all RADIUS hosts"; + } + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9 + and for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + must + "(../../group-3/none or ../../group-3/tacacs or + ../../group-3/radius or ../../group-3/server-group-name) + and not(../none or ../tacacs or ../radius)"; + description + "server-group name"; + } + } + } + } + } + } + container banner { + description + "AAA banner"; + leaf login { + type string { + length "1..1015" { + description + "c banner-text c, where 'c' is a delimiting character"; + } + } + description + "LINE"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-diameter-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-diameter-cfg.yang new file mode 100644 index 000000000..ca86ee85d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-diameter-cfg.yang @@ -0,0 +1,879 @@ +module Cisco-IOS-XR-um-aaa-diameter-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-diameter-cfg"; + prefix um-aaa-diameter-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-aaa-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-diameter package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-02-24 { + description + "Added missing diameter revertive and non revertive nodes + 2022-07-11 + Added missing description statement to nodes"; + semver:module-version "1.0.1m"; + } + revision 2021-02-04 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container diameter { + description + "Enable SNMP diameter traps"; + container protocolerror { + presence "Indicates a protocolerror node is configured."; + description + "Enable protocol error notifications"; + } + container transientfail { + presence "Indicates a transientfail node is configured."; + description + "Enable transient failure notification"; + } + container permanentfail { + presence "Indicates a permanentfail node is configured."; + description + "Enable permanent failure notification"; + } + container peerdown { + presence "Indicates a peerdown node is configured."; + description + "Enable peer connection down notification"; + } + container peerup { + presence "Indicates a peerup node is configured."; + description + "Enable peer connection up notification"; + } + } + } + augment "/a2:aaa" { + container group { + description + "AAA group definitions"; + container server { + description + "AAA Server group definition"; + container diameter { + description + "DIAMETER server-group definition"; + container server-groups { + description + "Server group name"; + list server-group { + key "server-group-name"; + description + "Server group name"; + leaf server-group-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Server group name"; + } + } + description + "Server group name"; + } + container servers { + description + "Specify a DIAMETER server"; + list server { + key "server-name"; + description + "Specify a DIAMETER server"; + leaf server-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Hostname of DIAMETER server"; + } + } + description + "Specify a DIAMETER server"; + } + } + } + } + } + } + } + } + container diameter { + description + "DIAMETER server definition"; + container peers { + description + "Peer configuration"; + list peer { + key "peer-name"; + description + "Name for the diameter peer configuration"; + leaf peer-name { + type string { + length "1..800" { + description + "Name for the diameter peer configuration"; + } + } + description + "Name for the diameter peer configuration"; + } + container address { + description + "Specify a Diameter peer address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 Address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "IPv6 Address"; + } + } + container destination { + description + "Peer information"; + leaf host { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Host name in FQDN format"; + } + } + description + "host information"; + } + leaf realm { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Realm to which the peer belongs to"; + } + } + description + "realm information"; + } + } + container ip { + description + "IP specific commands"; + container vrf { + description + "VRF the peer belongs to"; + leaf forwarding { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF Table name"; + } + } + description + "Forwarding table"; + } + } + } + container timer { + description + "Timers used for the peer"; + leaf connection { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Connection retry timer"; + } + leaf transaction { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Transaction timer"; + } + leaf watchdog { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Watchdog timer"; + } + } + container transport { + description + "Specify a Diameter transport"; + container tcp { + description + "Specify a Diameter transport protocol"; + leaf port { + type uint32 { + range "1..65535" { + description + "Port number"; + } + } + description + "Port number on which the peer is running(default is 3868)"; + } + } + container security-type { + description + "Specify a Diameter security type"; + container tls { + presence "Indicates a tls node is configured."; + description + "Use tls for Diameter transport"; + } + } + } + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in DIAMETER packets"; + } + container peer-type { + description + "Peer Type"; + container server { + presence "Indicates a server node is configured."; + description + "Peer is a server"; + } + } + container preferred-server { + presence "Indicates a preferred-server node is configured."; + description + "Enable Preferred server for the peer"; + } + container origin { + description + "origin sub command"; + container realms { + description + "origin realm information"; + list realm { + key "realm-name"; + description + "origin realm information"; + leaf realm-name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Origin realm string"; + } + } + description + "origin realm information"; + } + container access-interfaces { + description + "Specify a access interface "; + list access-interface { + key "access-interface-name"; + description + "Specify a access interface "; + leaf access-interface-name { + type xr:Interface-name; + description + "Specify a access interface "; + } + } + } + } + } + } + container auth-session-stateless { + presence "Indicates a auth-session-stateless node is configured."; + description + "Maintain NASREQ session stateless"; + } + } + } + container origin { + description + "Origin sub commands"; + leaf host { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Host name in FQDN format"; + } + } + description + "host information"; + } + leaf realm { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Origin realm string"; + } + } + description + "Realm information "; + } + } + container timer { + description + "Timers used for the peer"; + leaf connection { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Connection retry timer"; + } + leaf transaction { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Transaction timer"; + } + leaf watchdog { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Watchdog timer"; + } + } + container service { + description + "Peer configuration"; + list peer { + key "peer-name"; + description + "Name for the diameter peer configuration"; + leaf peer-name { + type string { + length "1..800" { + description + "Name for the diameter peer configuration"; + } + } + description + "Name for the diameter peer configuration"; + } + leaf monitoring-key { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name for the diameter peer configuration"; + } + } + description + "Peer configuration"; + } + } + } + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in DIAMETER packets"; + } + container vendor { + description + "Vendor specific"; + container supported { + description + "Supported vendors"; + container threegpp { + presence "Indicates a threegpp node is configured."; + description + "3GPP attribute support"; + } + container cisco { + presence "Indicates a cisco node is configured."; + description + "Cisco attribute support"; + } + container vodafone { + presence "Indicates a vodafone node is configured."; + description + "Vodafone attribute support"; + } + container etsi { + presence "Indicates a etsi node is configured."; + description + "Etsi attribute support"; + } + } + } + container tls { + description + "TLS sub commands"; + leaf trustpoint { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "trustpoint label to be used"; + } + } + description + "trustpoint information"; + } + } + container subscription-id { + description + "Subscription-Id AVP, to identify the end user's subscription"; + leaf type { + type uint32 { + range "0..4" { + description + "[END_USER_E164(0), END_USER_IMSI(1), END_USER_SIP_URI(2), END_USER_NAI(3), END_USER_PRIVATE(4)]"; + } + } + description + "Type of indentifier carried by subscription-Id AVP"; + } + } + container gx { + description + "Start diameter policy-if"; + container enable { + presence "Indicates an enable node is configured."; + } + leaf tx-timer { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Set transaction timer"; + } + leaf retransmit { + type uint32 { + range "1..10" { + description + "Timer value in seconds"; + } + } + description + "Set retransmit count"; + } + leaf dest-host { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Destination Host name in FQDN format"; + } + } + description + "Set retransmit count"; + } + } + container gy { + description + "Start diameter prepaid service"; + container enable { + presence "Indicates an enable node is configured."; + } + leaf tx-timer { + type uint32 { + range "6..1000" { + description + "Timer value in seconds"; + } + } + description + "Set transaction timer"; + } + leaf retransmit { + type uint32 { + range "1..10" { + description + "Timer value in seconds"; + } + } + description + "Set retransmit count"; + } + leaf dest-host { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Destination Host name in FQDN format"; + } + } + description + "Set destination host"; + } + leaf service-context-id { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Service Context ID "; + } + } + description + "Set service context id"; + } + } + container nas { + description + "Start diameter Nas"; + container enable { + presence "Indicates an enable node is configured."; + } + leaf dest-host { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Destination Host name in FQDN format"; + } + } + description + "Set destination host for NAS"; + } + } + container quota-high-usage { + description + "To disable quota high usage disconnect (applicable only for GX_PLUS)"; + container disconnect-disable { + presence "Indicates a disconnect-disable node is configured."; + description + "To disable quota high usage disconnect (applicable only for GX_PLUS)"; + } + } + container peer-mode { + description + "To cofigure diameter peer type as revertive mode"; + container revertive { + presence "Indicates a revertive node is configured."; + description + "To cofigure diameter peer type as revertive mode"; + } + container non-revertive { + presence "Indicates a non-revertive node is configured."; + description + "To cofigure diameter peer type as non revertive mode"; + } + } + container attribute { + description + "Attribute list configuration for test command"; + container lists { + description + "attribute list configuration"; + list list { + key "attribute-list-number"; + description + "attribute list number"; + leaf attribute-list-number { + type uint32 { + range "0..99" { + description + "attribute list number"; + } + } + description + "attribute list number"; + } + container attribute { + description + "Specify an attribute definition"; + container attribute-lists { + list attribute-list { + key "attribute-id"; + leaf attribute-id { + type uint32 { + range "1..65535" { + description + "Attribute id"; + } + } + description + "Attribute id"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Address format"; + } + leaf binary { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "value in hex format"; + } + } + description + "Binary type"; + } + leaf boolean { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Boolean type"; + } + leaf diameter-identity { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "value in string format"; + } + } + description + "diameter identity"; + } + leaf enum { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Enumeration type"; + } + leaf grouped { + type uint32 { + range "0..99" { + description + "the attr list id for sub-attrs"; + } + } + description + "Grouped attribute"; + } + leaf string { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "value in string format"; + } + } + description + "String type"; + } + leaf ulong { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Numeric type"; + } + leaf ulonglong { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Numeric type"; + } + leaf utc { + type uint32 { + range "0..4294967295" { + description + "value in utc format"; + } + } + description + "Numeric type"; + } + container mandatory { + presence "Indicates a mandatory node is configured."; + description + "specify if the attribute is mandatory"; + } + } + } + container vendor-id-attribute-lists { + list vendor-id-attribute-list { + key "attribute-id vendor-id"; + leaf attribute-id { + type uint32 { + range "1..65535" { + description + "Attribute id"; + } + } + description + "Attribute id"; + } + leaf vendor-id { + type uint32 { + range "0..4294967295" { + description + "value for vendor id"; + } + } + description + "vendor id"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Address format"; + } + leaf binary { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "value in hex format"; + } + } + description + "Binary type"; + } + leaf boolean { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Boolean type"; + } + leaf diameter-identity { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "value in string format"; + } + } + description + "diameter identity"; + } + leaf enum { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Enumeration type"; + } + leaf grouped { + type uint32 { + range "0..99" { + description + "the attr list id for sub-attrs"; + } + } + description + "Grouped attribute"; + } + leaf string { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "value in string format"; + } + } + description + "String type"; + } + leaf ulong { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Numeric type"; + } + leaf ulonglong { + type uint32 { + range "0..4294967295" { + description + "attribute value number"; + } + } + description + "Numeric type"; + } + leaf utc { + type uint32 { + range "0..4294967295" { + description + "value in utc format"; + } + } + description + "Numeric type"; + } + container mandatory { + presence "Indicates a mandatory node is configured."; + description + "specify if the attribute is mandatory"; + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-nacm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-nacm-cfg.yang new file mode 100644 index 000000000..5c9f1715e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-nacm-cfg.yang @@ -0,0 +1,392 @@ +module Cisco-IOS-XR-um-aaa-nacm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-nacm-cfg"; + prefix um-aaa-nacm-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-aaa-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-nacm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-02 { + description + "Added bypass-get-config and bypass-get-oper nodes"; + semver:module-version "1.0.1m"; + } + revision 2021-02-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:aaa" { + container nacm { + description + "NACM configuration"; + container read-default { + description + "Read default flag"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Permit read operation by default."; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Deny read operation by default."; + } + } + container write-default { + description + "Write default flag"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Permit write operation by default."; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Deny write operation by default."; + } + } + container exec-default { + description + "Exec default flag"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Permit exec operation by default."; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Deny exec operation by default."; + } + } + container enable-external-groups { + description + "Enable external groups flag"; + container true { + must "not(../false)"; + presence "Indicates a true node is configured."; + description + "Enable external groups by default."; + } + container false { + must "not(../true)"; + presence "Indicates a false node is configured."; + description + "Disable external groups by default."; + } + } + container bypass-get-config { + description + "Bypass get-config response authorization."; + container enabled { + must "not(../disabled)"; + presence "Indicates a enabled node is configured."; + description + "Enable bypass of get-config response authorization."; + } + container disabled { + must "not(../enabled)"; + presence "Indicates a disabled node is configured."; + description + "Disable bypass of get-config response authorization."; + } + } + container bypass-get-oper { + description + "Bypass get response authorization."; + container enabled { + must "not(../disabled)"; + presence "Indicates a enabled node is configured."; + description + "Enable bypass of get response authorization."; + } + container disabled { + must "not(../enabled)"; + presence "Indicates a disabled node is configured."; + description + "Disable bypass of get response authorization."; + } + } + container groups { + description + "Specify groups in nacm"; + list group { + must "usernames"; + key "group-name"; + description + "Specify groups in nacm"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of nacm group"; + } + } + description + "Specify groups in nacm"; + } + container usernames { + presence "Indicates a usernames node is configured."; + description + "Usernames list to add under nacm group"; + leaf-list username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Username to add under nacm group"; + } + } + max-elements "16"; + description + "Username to add under nacm group"; + } + } + } + } + container rule-lists { + description + "Specify rule-list in nacm"; + list rule-list { + key "index name"; + description + "Specify rule-list in nacm"; + leaf index { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Index of nacm rule-list"; + } + } + description + "Specify rule-list in nacm"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of nacm rule-list"; + } + } + description + "Name of nacm rule-list"; + } + container groupnames { + description + "Specify groups under rule-list"; + leaf-list groupname { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Groupname to add under nacm rule-list"; + } + } + max-elements "16"; + description + "Groupname to add under nacm rule-list"; + } + } + container rules { + description + "Specify rules in nacm rule-list"; + list rule { + key "index name"; + description + "Specify rules in nacm rule-list"; + leaf index { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Index of nacm rule in rule-list"; + } + } + description + "Specify rules in nacm rule-list"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of nacm rule in rule-list"; + } + } + description + "Name of nacm rule in rule-list"; + } + container action { + description + "Action for rule"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Action value for rule"; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Action value for rule"; + } + } + leaf module-name { + type string { + length "1..800" { + description + "Module-name value for rule"; + } + } + description + "Module-name for rule"; + } + container rule-type { + description + "Rule-type values for rule"; + leaf rpc { + type string { + length "1..800" { + description + "rpc value for rule"; + } + } + must "not(../data-node)"; + description + "Rule-type rpc"; + } + leaf data-node { + type string { + length "1..800" { + description + "Rule-type value for rule"; + } + } + must "not(../rpc)"; + description + "rule-type data-node"; + } + } + container access-operations { + presence "Indicates a access-operations node is configured."; + description + "Access-operations for rule"; + leaf create { + type uint32 { + range "0..1" { + description + "Create bit for rule"; + } + } + mandatory true; + description + "Create bit for rule"; + } + leaf read { + type uint32 { + range "0..1" { + description + "Read bit for rule"; + } + } + mandatory true; + description + "Read bit for rule"; + } + leaf update { + type uint32 { + range "0..1" { + description + "Update bit for rule"; + } + } + mandatory true; + description + "Update bit for rule"; + } + leaf delete { + type uint32 { + range "0..1" { + description + "Delete bit for rule"; + } + } + mandatory true; + description + "Delete bit for rule"; + } + leaf exec { + type uint32 { + range "0..1" { + description + "Exec bit for rule"; + } + } + mandatory true; + description + "Exec bit for rule"; + } + leaf all { + type uint32 { + range "0..1" { + description + "All bit for rule"; + } + } + mandatory true; + description + "All bits for rule"; + } + } + leaf comment { + type string { + length "1..800" { + description + "Comment value for rule"; + } + } + description + "Comment for rule"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-radius-server-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-radius-server-cfg.yang new file mode 100644 index 000000000..35d2dea08 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-radius-server-cfg.yang @@ -0,0 +1,1230 @@ +module Cisco-IOS-XR-um-aaa-radius-server-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-radius-server-cfg"; + prefix um-aaa-radius-server-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-aaa-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-radius-server package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature check_input_typ6_validity { + description + "check input typ6 validity"; + } + + augment "/a1:aaa" { + container group { + description + "AAA group definitions"; + container server { + description + "AAA Server group definition"; + container radius { + description + "RADIUS server-group definition"; + container server-groups { + description + "Server group name"; + list server-group { + key "server-group-name"; + description + "Server group name"; + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for radius server group are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + description + "Server group name"; + } + container servers { + description + "Specify a RADIUS server"; + list server { + key "ordering-index address auth-port acct-port"; + description + "Specify a RADIUS server"; + leaf ordering-index { + type uint32; + description + "This is used to sort the users in the order of + precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Specify a RADIUS server"; + } + leaf auth-port { + type uint32 { + range "0..65535" { + description + "Authentication port number (default 1645)"; + } + } + description + "RADIUS server authentication port"; + } + leaf acct-port { + type uint32 { + range "0..65535" { + description + "Accounting port number (default 1645)"; + } + } + description + "RADIUS server accounting port"; + } + } + } + container load-balance { + description + "Radius load-balancing options."; + container method { + description + "Method by which the next host will be picked."; + container least-outstanding { + presence "Indicates a least-outstanding node is configured."; + description + "Pick the server with the least transactions outstanding."; + leaf batch-size { + type uint32 { + range "1..1500" { + description + "Batch size for selection of the server (default 25)"; + } + } + description + "Batch size for selection of the server."; + } + container ignore-preferred-server { + presence "Indicates a ignore-preferred-server node is configured."; + description + "Disable preferred server for this Server Group"; + } + } + } + } + leaf deadtime { + type uint32 { + range "1..1440" { + description + "Deadtime limit in minutes (default 0)"; + } + } + description + "Time in minutes after which a RADIUS server will be marked UP after it has gone dead"; + } + container throttle { + presence "Indicates a throttle node is configured."; + description + "Radius throttling options."; + leaf access { + type uint32 { + range "0..65535" { + description + "Number of outstanding access requests after which throttling should be performed (Preferable value 100)"; + } + } + description + "To flow control the number of access requests sent to a radius server"; + } + leaf access-timeout { + type uint32 { + range "1..10" { + description + "Number of timeouts for a transaction (default is 3)"; + } + } + must "../access"; + description + "Specify the number of timeouts exceeding which a throttled access request is dropped"; + } + leaf accounting { + type uint32 { + range "0..65535" { + description + "Number of outstanding accounting transactions after which throttling should be performed (Preferable value 100)"; + } + } + description + "To flow control the number of accounting requests sent to a radius server."; + } + } + container server-privates { + description + "Specify a private (to this server group) RADIUS server"; + list server-private { + key "ordering-index address auth-port acct-port"; + description + "Specify a private (to this server group) RADIUS server"; + leaf ordering-index { + type uint32; + description + "This is used to sort the users in the order of + precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Specify a private (to this server group) RADIUS server"; + } + leaf auth-port { + type uint32 { + range "0..65535" { + description + "Authentication port number (default 1645)"; + } + } + description + "RADIUS server authentication port"; + } + leaf acct-port { + type uint32 { + range "0..65535" { + description + "Accounting port number (default 1645)"; + } + } + description + "RADIUS server accounting port"; + } + container key { + description + "RADIUS server key"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + leaf timeout { + type uint32 { + range "1..1000" { + description + "Timeout value in seconds to wait for server to reply"; + } + } + description + "Time to wait for a RADIUS server to reply"; + } + leaf retransmit { + type uint32 { + range "1..100" { + description + "Retransmit limit"; + } + } + description + "Number of times a RADIUS request is re-sent to a server"; + } + container test { + description + "Automated testing functionality"; + leaf username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Username for automated testing"; + } + } + description + "Username to be tested for automated testing"; + } + } + leaf idle-time { + type uint32 { + range "1..60" { + description + "Idle-time value"; + } + } + description + "Idle time after which automated test should start"; + } + container ignore-auth-port { + presence "Indicates a ignore-auth-port node is configured."; + description + "Turn off automated testing on auth-port"; + } + container ignore-acct-port { + presence "Indicates a ignore-acct-port node is configured."; + description + "Turn off automated testing on acct-port"; + } + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the VRF"; + } + } + description + "VRF to which this server group belongs to"; + } + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in RADIUS packets"; + } + container authorization { + description + "Specify a RADIUS attribute filter for authorization"; + container request { + description + "Attibute filtering for Access-Request"; + container accept { + must "not(../reject)"; + presence "Indicates a accept node is configured."; + description + "Accept only those attributes specified in this list"; + } + container reject { + must "not(../accept)"; + presence "Indicates a reject node is configured."; + description + "Reject the attributes specified in this list"; + } + leaf radius-attribute-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of RADIUS attribute list"; + } + } + must "../accept or ../reject"; + description + "Name of RADIUS attribute list"; + } + } + container reply { + description + "Attibute filtering for Access-Request"; + container accept { + must "not(../reject)"; + presence "Indicates a accept node is configured."; + description + "Accept only those attributes specified in this list"; + } + container reject { + must "not(../accept)"; + presence "Indicates a reject node is configured."; + description + "Reject the attributes specified in this list"; + } + leaf radius-attribute-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of RADIUS attribute list"; + } + } + must "../accept or ../reject"; + description + "Name of RADIUS attribute list"; + } + } + } + container accounting { + description + "Specify a RADIUS attribute filter for authorization"; + container request { + description + "Attibute filtering for Access-Request"; + container accept { + must "not(../reject)"; + presence "Indicates a accept node is configured."; + description + "Accept only those attributes specified in this list"; + } + container reject { + must "not(../accept)"; + presence "Indicates a reject node is configured."; + description + "Reject the attributes specified in this list"; + } + leaf radius-attribute-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of RADIUS attribute list"; + } + } + must "../accept or ../reject"; + description + "Name of RADIUS attribute list"; + } + } + container reply { + description + "Attibute filtering for Access-Request"; + container accept { + must "not(../reject)"; + presence "Indicates a accept node is configured."; + description + "Accept only those attributes specified in this list"; + } + container reject { + must "not(../accept)"; + presence "Indicates a reject node is configured."; + description + "Reject the attributes specified in this list"; + } + leaf radius-attribute-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of RADIUS attribute list"; + } + } + must "../accept or ../reject"; + description + "Name of RADIUS attribute list"; + } + } + } + } + } + } + } + } + container server { + description + "AAA Server "; + container radius { + description + "AAA Server - Radius Definition"; + container dynamic-author { + description + "Radius Dynamic Author Server Configurations"; + leaf port { + type uint32 { + range "1000..5000" { + description + "port number"; + } + } + description + "Specify the COA Server port to listen on"; + } + container ignore { + description + "ignore options"; + container server-key { + presence "Indicates a server-key node is configured."; + description + "ignore server-key"; + } + } + container server-key { + description + "Set the Shared secret to verify client COA requests"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + container clients { + description + "COA client configuration"; + list client { + key "address vrf"; + description + "COA client configuration"; + leaf address { + type inet:ip-address-no-zone; + description + "COA client configuration"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the VRF"; + } + } + } + description + "VRF to which COA Client belongs"; + } + container server-key { + description + "COA client shared secret key"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + } + } + } + } + } + container radius-server { + description + "RADIUS server definition"; + container hosts { + description + "Specify a RADIUS server"; + list host { + key "ordering-index address auth-port acct-port"; + description + "Specify a RADIUS server"; + leaf ordering-index { + type uint32; + description + "This is used to sort the users in the order of + precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "IPv4/IPv6 address of RADIUS server"; + } + leaf auth-port { + type uint32 { + range "0..65535" { + description + "Authentication port number (default 1645)"; + } + } + description + "UDP port for RADIUS authentication requests (default is 1645)"; + } + leaf acct-port { + type uint32 { + range "0..65535" { + description + "Accounting port number (default 1646)"; + } + } + description + "UDP port for RADIUS accounting requests (default is 1646)"; + } + leaf timeout { + type uint32 { + range "1..1000" { + description + "Timeout value in seconds to wait for server to reply"; + } + } + description + "Time to wait for this RADIUS server to reply (overrides global timeout)"; + } + leaf retransmit { + type uint32 { + range "1..100" { + description + "Retransmit value"; + } + } + description + "Number of times a RADIUS request is re-sent to a server (overrides global retransmit value)"; + } + container key { + description + "per-server encryption key (overrides default)"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + container test { + description + "Automated testing functionality"; + leaf username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Username for automated testing"; + } + } + description + "Username to be tested for automated testing"; + } + } + leaf idle-time { + type uint32 { + range "1..60" { + description + "Idle-time value in min"; + } + } + description + "Idle time after which automated test should start"; + } + container ignore-auth-port { + presence "Indicates a ignore-auth-port node is configured."; + description + "Turn off automated testing on auth-port"; + } + container ignore-acct-port { + presence "Indicates a ignore-acct-port node is configured."; + description + "Turn off automated testing on acct-port"; + } + } + } + container key { + description + "Set RADIUS encryption key"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + leaf timeout { + type uint32 { + range "1..1000" { + description + "Timeout value in seconds to wait for server to reply"; + } + } + description + "Time to wait for a RADIUS server to reply (default 5)"; + } + container retransmit { + description + "Specify the number of retries to active server"; + leaf retries { + type uint32 { + range "1..100" { + description + "<1-100> Number of retries for a transaction (default is 3)"; + } + } + must "not(../disable)"; + description + "<1-100> Number of retries for a transaction (default is 3)"; + } + container disable { + must "not(../retries)"; + presence "Indicates a disable node is configured."; + description + "Disable Radius server retransmit"; + } + } + container load-balance { + description + "Radius load-balancing options."; + container method { + description + "Method by which the next host will be picked."; + container least-outstanding { + presence "Indicates a least-outstanding node is configured."; + description + "Pick the server with the least transactions outstanding."; + leaf batch-size { + type uint32 { + range "1..1500" { + description + "Batch size for selection of the server (default 25)"; + } + } + description + "Batch size for selection of the server."; + } + container ignore-preferred-server { + presence "Indicates a ignore-preferred-server node is configured."; + description + "Disable preferred server for this Server Group"; + } + } + } + } + container throttle { + presence "Indicates a throttle node is configured."; + description + "Radius throttling options."; + leaf access { + type uint32 { + range "0..65535" { + description + "Number of outstanding access requests after which throttling should be performed (Preferable value 100)"; + } + } + description + "To flow control the number of access requests sent to a radius server"; + } + leaf access-timeout { + type uint32 { + range "1..10" { + description + "Number of timeouts for a transaction (default is 3)"; + } + } + must "../access"; + description + "Specify the number of timeouts exceeding which a throttled access request is dropped"; + } + leaf accounting { + type uint32 { + range "0..65535" { + description + "Number of outstanding accounting transactions after which throttling should be performed (Preferable value 100)"; + } + } + description + "To flow control the number of accounting requests sent to a radius server."; + } + } + leaf deadtime { + type uint32 { + range "1..1440" { + description + "Deadtime limit in minutes (default 0)"; + } + } + description + "Time in minutes for which a RADIUS server will be marked dead"; + } + container dead-criteria { + description + "Dead server detection criteria for a configured RADIUS server"; + leaf time { + type uint32 { + range "1..120" { + description + "Time in seconds"; + } + } + description + "Minimum time that must elapse since a response was received from this RADIUS server"; + } + leaf tries { + type uint32 { + range "1..100" { + description + "Number of tries"; + } + } + description + "The minimum number of transmissions (original attempts plus retransmits) to this RADIUS server"; + } + } + container source-port { + description + "Source-Port"; + container extended { + presence "Indicates a extended node is configured."; + description + "Extended"; + } + } + container ipv4 { + description + "Mark the dscp bit for ipv4 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + } + container ipv6 { + description + "Mark the dscp bit for ipv6 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + } + container vsa { + description + "unknown vsa ignore configuration for RADIUS server"; + container attribute { + description + "Vendor Specific Attribute "; + container ignore { + description + "ignore the VSA "; + container unknown { + presence "Indicates a unknown node is configured."; + description + "ignore the VSA and no prefix will reject the unkown VSA "; + } + } + } + } + container disallow { + description + "disallow null-username"; + container null-username { + presence "Indicates a null-username node is configured."; + description + "null-username"; + } + } + container attribute { + description + "Customize selected radius attributes"; + list list { + key "list-name"; + description + "List of Attribute Types"; + leaf list-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "List name"; + } + } + description + "List of Attribute Types"; + } + container attribute { + description + "Specify a list of RADIUS attributes"; + leaf radius-attributes { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Comma-delimited list of RADIUS attributes"; + } + } + description + "Comma-delimited list of RADIUS attributes"; + } + container vendor-ids { + description + "vendor-id"; + list vendor-id { + key "id"; + description + "vendor-id"; + leaf id { + type uint32 { + range "0..4294967295" { + description + "vendor-id"; + } + } + description + "vendor-id"; + } + container vendor-types { + description + "Specify vendor-type"; + list vendor-type { + key "vendor-type-id"; + description + "Specify vendor-type"; + leaf vendor-type-id { + type uint32 { + range "1..254" { + description + "vendor-type"; + } + } + description + "Specify vendor-type"; + } + } + } + } + } + } + } + container acct-session-id { + description + "Acct-Session-Id attribute(44)"; + container prepend-nas-port-id { + presence "Indicates a prepend-nas-port-id node is configured."; + description + "Prepend Acct-Session-Id attribute with Nas-Port-Id"; + } + } + container acct-multi-session-id { + description + "Acct-Multi-Session-Id attribute(50)"; + container include-parent-session-id { + presence "Indicates a include-parent-session-id node is configured."; + description + "Include Acct-Multi-Session-Id attribute with Acct-Parent-Session-Id"; + } + } + container filter-id-11 { + description + "Filter-Id attribute configuration"; + container default { + description + "Set the attribute defaults"; + leaf direction { + type enumeration { + enum "inbound" { + value 0; + description + "Filtering is applied to ingress(inbound) packets only"; + } + enum "outbound" { + value 1; + description + "Filtering is applied to egress(outbound) packets only"; + } + } + description + "Set the attribute default direction"; + } + } + } + } + } + container radius { + description + "RADIUS configuration commands"; + container vrfs { + description + "VRF for this source interface configuration"; + list vrf { + key "vrf-name"; + description + "VRF for this source interface configuration"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the VRF"; + } + } + } + description + "VRF for this source interface configuration"; + } + leaf source-interface { + type xr:Interface-name; + mandatory true; + description + "Specify interface for source address in RADIUS packets"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-tacacs-server-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-tacacs-server-cfg.yang new file mode 100644 index 000000000..42dc5bda5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-tacacs-server-cfg.yang @@ -0,0 +1,609 @@ +module Cisco-IOS-XR-um-aaa-tacacs-server-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-tacacs-server-cfg"; + prefix um-aaa-tacacs-server-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-aaa-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-tacacs-server package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature check_input_typ6_validity { + description + "check input typ6 validity"; + } + + augment "/a1:aaa" { + container group { + description + "AAA group definitions"; + container server { + description + "AAA Server group definition"; + container tacacs { + description + "TACACS+ server-group definition"; + container server-groups { + description + "Server group name"; + list server-group { + key "server-group-name"; + description + "Server group name"; + leaf server-group-name { + type string { + length "1..253" { + description + "server-group name. + Allowed special chars for tacacs server group are A-Z,a-z,_,.,-,%,=,+,space allowed with backslash,;,:,|,#,$,0-9"; + } + } + description + "Server group name"; + } + container servers { + description + "Specify a TACACS+ server (Max 10)"; + list server { + key "ordering-index address"; + description + "Specify a TACACS+ server (Max 10)"; + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Specify a TACACS+ server (Max 10)"; + } + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the VRF"; + } + } + description + "VRF to which this server group belongs to"; + } + leaf holddown-time { + type uint32 { + range "0..1200" { + description + "Time in seconds"; + } + } + description + "Time for which TACACS servers of this group is marked as dead"; + } + container server-privates { + description + "Specify a private (to this server group) TACACS+ server (max 10)"; + list server-private { + key "ordering-index address port"; + max-elements "10"; + description + "Specify a private (to this server group) TACACS+ server (max 10)"; + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Specify a private (to this server group) TACACS+ server (max 10)"; + } + leaf port { + type uint32 { + range "1..65535" { + description + "Port number"; + } + } + description + "TCP port for TACACS+ server (default is 49)"; + } + container key { + description + "Set TACACS+ encryption key"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + container single-connection { + presence "Indicates a single-connection node is configured."; + description + "Reuse connection to this server for all requests(2)"; + } + leaf single-connection-idle-timeout { + type uint32 { + range "500..7200" { + description + "Idle Timeout for single-connection in seconds"; + } + } + description + "Idle timeout for a single-connection to the server"; + } + leaf timeout { + type uint32 { + range "1..1000" { + description + "Wait time (default 5 seconds)"; + } + } + description + "Time to wait for a TACACS server to reply"; + } + leaf holddown-time { + type uint32 { + range "0..1200" { + description + "Time in seconds"; + } + } + description + "Time for which this TACACS server is marked as dead"; + } + } + } + } + } + } + } + } + container tacacs-server { + description + "TACACS+ server definition"; + container hosts { + description + "Specify a TACACS+ server"; + list host { + key "ordering-index address port"; + description + "Specify a TACACS+ server"; + leaf ordering-index { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Specify a TACACS+ server"; + } + leaf port { + type uint32 { + range "1..65535" { + description + "Port number"; + } + } + description + "TCP port for TACACS+ server (default is 49)"; + } + leaf timeout { + type uint32 { + range "1..1000" { + description + "Timeout value in seconds to wait for server to reply"; + } + } + description + "Time to wait for this TACACS server to reply (overrides default)"; + } + leaf holddown-time { + type uint32 { + range "0..1200" { + description + "Time in seconds"; + } + } + description + "Time for which this TACACS server is marked as dead"; + } + container key { + description + "per-server encryption key (overrides default)"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + container single-connection { + presence "Indicates a single-connection node is configured."; + description + "Reuse connection to this server for all requests"; + } + leaf single-connection-idle-timeout { + type uint32 { + range "500..7200" { + description + "Idle Timeout for single-connection in seconds"; + } + } + description + "Idle timeout for a single-connection to the server"; + } + } + } + container key { + description + "Set TACACS+ encryption key"; + leaf seven { + type xr:Proprietary-password; + must "not(../six)"; + description + "Specifies that an encrypted key will follow"; + } + leaf six { + if-feature "check_input_typ6_validity"; + type xr:Proprietary-password; + must "not(../seven)"; + description + "Specifies that an encrypted type 6 key will follow"; + } + } + leaf timeout { + type uint32 { + range "1..1000" { + description + "Wait time (default 5 seconds)"; + } + } + description + "Time to wait for a TACACS server to reply"; + } + leaf holddown-time { + type uint32 { + range "0..1200" { + description + "Time in seconds"; + } + } + description + "Time for which a TACACS server is marked as dead"; + } + container ipv4 { + description + "Mark the dscp bit for ipv4 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + } + container ipv6 { + description + "Mark the dscp bit for ipv6 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + } + } + container tacacs { + description + "TACACS+ configuration commands"; + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in TACACS+ packets"; + } + container vrfs { + description + "VRF for this source interface configuration"; + list vrf { + key "vrf-name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the VRF"; + } + } + description + "Name of the VRF"; + } + leaf source-interface { + type xr:Interface-name; + mandatory true; + description + "Specify interface for source address in TACACS+ packets"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-task-user-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-task-user-cfg.yang new file mode 100644 index 000000000..24b59100a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-aaa-task-user-cfg.yang @@ -0,0 +1,3208 @@ +module Cisco-IOS-XR-um-aaa-task-user-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-task-user-cfg"; + prefix um-aaa-task-user-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-line-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-aaa-cfg { + prefix a2; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR aaa-task-user package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-06 { + description + "Added container for task-id fc"; + } + revision 2022-08-25 { + description + "Added container enable-cert-authentication"; + } + revision 2021-01-05 { + description + "Initial release"; + } + + feature pslib_check_password { + description + "pslib check password"; + } + + augment "/a1:line/a1:console" { + container login { + description + "Line login configuration"; + leaf authentication { + type union { + type string { + pattern "default" { + description + "Use the default authentication list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authentication list with this name"; + } + } + } + description + "Authentication parameters"; + } + } + container authorization { + description + "Authorization parameters"; + leaf exec { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For starting an exec (shell)"; + } + leaf eventmanager { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "Set eventmanager authorization method"; + } + leaf commands { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For exec (shell) commands"; + } + } + container accounting { + description + "Accounting parameters"; + leaf exec { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For starting an exec (shell)"; + } + leaf commands { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For exec (shell) commands"; + } + } + container password { + description + "Specify the password for the user"; + leaf seven { + type xr:Proprietary-password; + description + "Specifies that an encrypted password"; + } + } + container secret { + description + "Provide a secure one way encrypted password"; + leaf five { + type xr:Proprietary-password; + description + "The encrypted user password string"; + } + } + container timeout { + description + "Timeouts for the line"; + container login { + description + "Timeouts related to the login sequence"; + leaf response { + type uint32 { + range "0..300" { + description + "Timeout in seconds (default 30 seconds)"; + } + } + description + "Timeouts for any user input during login sequence"; + } + } + } + container users { + description + "Users characteristics"; + list group { + key "group-name"; + description + "Name of the user group"; + leaf group-name { + type union { + type string { + pattern "cisco-support" { + description + "Cisco support personnel"; + } + } + type string { + pattern "netadmin" { + description + "Network administrators group"; + } + } + type string { + pattern "operator" { + description + "Operator group"; + } + } + type string { + pattern "root-lr" { + description + "Root LR group"; + } + } + type string { + pattern "serviceadmin" { + description + "Service administrators group"; + } + } + type string { + pattern "sysadmin" { + description + "System administrators group"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the user group"; + } + } + } + description + "Name of the user group"; + } + } + } + } + augment "/a1:line/a1:default" { + container login { + description + "Line login configuration"; + leaf authentication { + type union { + type string { + pattern "default" { + description + "Use the default authentication list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authentication list with this name"; + } + } + } + description + "Authentication parameters"; + } + } + container authorization { + description + "Authorization parameters"; + leaf exec { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For starting an exec (shell)"; + } + leaf eventmanager { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "Set eventmanager authorization method"; + } + leaf commands { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For exec (shell) commands"; + } + } + container accounting { + description + "Accounting parameters"; + leaf exec { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For starting an exec (shell)"; + } + leaf commands { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For exec (shell) commands"; + } + } + container password { + description + "Specify the password for the user"; + leaf seven { + type xr:Proprietary-password; + description + "Specifies that an encrypted password"; + } + } + container secret { + description + "Provide a secure one way encrypted password"; + leaf five { + type xr:Proprietary-password; + description + "The encrypted user password string"; + } + } + container timeout { + description + "Timeouts for the line"; + container login { + description + "Timeouts related to the login sequence"; + leaf response { + type uint32 { + range "0..300" { + description + "Timeout in seconds (default 30 seconds)"; + } + } + description + "Timeouts for any user input during login sequence"; + } + } + } + container users { + description + "Users characteristics"; + list group { + key "group-name"; + description + "Name of the user group"; + leaf group-name { + type union { + type string { + pattern "cisco-support" { + description + "Cisco support personnel"; + } + } + type string { + pattern "netadmin" { + description + "Network administrators group"; + } + } + type string { + pattern "operator" { + description + "Operator group"; + } + } + type string { + pattern "root-lr" { + description + "Root LR group"; + } + } + type string { + pattern "serviceadmin" { + description + "Service administrators group"; + } + } + type string { + pattern "sysadmin" { + description + "System administrators group"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the user group"; + } + } + } + description + "Name of the user group"; + } + } + } + } + augment "/a1:line/a1:templates/a1:template" { + container login { + description + "Line login configuration"; + leaf authentication { + type union { + type string { + pattern "default" { + description + "Use the default authentication list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authentication list with this name"; + } + } + } + description + "Authentication parameters"; + } + } + container authorization { + description + "Authorization parameters"; + leaf exec { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For starting an exec (shell)"; + } + leaf eventmanager { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "Set eventmanager authorization method"; + } + leaf commands { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For exec (shell) commands"; + } + } + container accounting { + description + "Accounting parameters"; + leaf exec { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For starting an exec (shell)"; + } + leaf commands { + type union { + type string { + pattern "default" { + description + "Use the default authorization list"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Use an authorization list with this name"; + } + } + } + description + "For exec (shell) commands"; + } + } + container password { + description + "Specify the password for the user"; + leaf seven { + type xr:Proprietary-password; + description + "Specifies that an encrypted password"; + } + } + container secret { + description + "Provide a secure one way encrypted password"; + leaf five { + type xr:Proprietary-password; + description + "The encrypted user password string"; + } + } + container timeout { + description + "Timeouts for the line"; + container login { + description + "Timeouts related to the login sequence"; + leaf response { + type uint32 { + range "0..300" { + description + "Timeout in seconds (default 30 seconds)"; + } + } + description + "Timeouts for any user input during login sequence"; + } + } + } + container users { + description + "Users characteristics"; + list group { + key "group-name"; + description + "Name of the user group"; + leaf group-name { + type union { + type string { + pattern "cisco-support" { + description + "Cisco support personnel"; + } + } + type string { + pattern "netadmin" { + description + "Network administrators group"; + } + } + type string { + pattern "operator" { + description + "Operator group"; + } + } + type string { + pattern "root-lr" { + description + "Root LR group"; + } + } + type string { + pattern "serviceadmin" { + description + "Service administrators group"; + } + } + type string { + pattern "sysadmin" { + description + "System administrators group"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the user group"; + } + } + } + description + "Name of the user group"; + } + } + } + } + augment "/a2:aaa" { + container admin-accounting { + description + "Admin Accounting Enable/Disable"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "enable calvados accounting"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "disable calvados accounting"; + } + } + leaf default-taskgroup { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the taskgroup to be used"; + } + } + description + "Default taskgroup to be used for remote authentication"; + } + container password-policies { + description + "AAA password Policy"; + list password-policy { + key "password-policy-name"; + description + "Password Policy name"; + leaf password-policy-name { + type string { + length "1..253" { + description + "Password Policy name. + Allowed special chars for password policy are _,-,.,;,:,$,#,space allowed with backslash"; + } + } + description + "Password Policy name"; + } + leaf min-length { + type uint32 { + range "2..253" { + description + "Minimum length <2-253>, default is 2"; + } + } + description + "Specify the minimum length of the password/secret"; + } + leaf max-length { + type uint32 { + range "2..253" { + description + "Maximum length <2-253>, default is 253"; + } + } + description + "Specify the maximum length of the password/secret"; + } + leaf upper-case { + type uint32 { + range "0..253" { + description + "Number of upper-case characters <0-253>, default is 0."; + } + } + description + "Number of upper-case characters required in password/secret"; + } + leaf lower-case { + type uint32 { + range "0..253" { + description + "Number of lower-case characters <0-253>, default is 0."; + } + } + description + "Number of lower-case characters required in password/secret"; + } + leaf special-char { + type uint32 { + range "0..253" { + description + "Number of special characters <0-253>, default is 0."; + } + } + description + "Number of special characters required in password/secret"; + } + leaf numeric { + type uint32 { + range "0..253" { + description + "Number of numeric characters <0-253>, default is 0."; + } + } + description + "Number of numeric characters required in password/secret"; + } + leaf min-char-change { + type uint32 { + range "0..253" { + description + "Number of characters change required <0-253>, default is 4."; + } + } + description + "Number of characters change required between old and new passwords"; + } + leaf max-char-repetition { + type uint32 { + range "2..5" { + description + "Number of times a character can repeat <2-5>, default is 0."; + } + } + description + "Number of times consecutively a character can repeat in the password"; + } + leaf restrict-old-count { + type uint32 { + range "0..10" { + description + "Represents the history of passwords/secrets that cannot be reused now"; + } + } + description + "Count for the number of old passwords/secrets that cannot be reused"; + } + container restrict-old-time { + description + "Time for which any old password/secret is considered as valid history"; + leaf years { + type uint32 { + range "0..99" { + description + "Number of years"; + } + } + description + "Number of years"; + } + leaf months { + type uint32 { + range "0..11" { + description + "Number of months"; + } + } + description + "Number of months"; + } + leaf days { + type uint32 { + range "0..30" { + description + "Number of days"; + } + } + description + "Number of days"; + } + } + container restrict-username { + presence "Indicates a restrict-username node is configured."; + description + "Restricts the usage of associated username as password/secret"; + } + container restrict-username-reverse { + presence "Indicates a restrict-username-reverse node is configured."; + description + "Restricts the usage of associated username reversed as password/secret"; + } + container restrict-password-reverse { + presence "Indicates a restrict-password-reverse node is configured."; + description + "Restricts the password to be same as reversed old password"; + } + container restrict-password-advanced { + presence "Indicates a restrict-password-advanced node is configured."; + description + "Advanced restrictions on new password"; + } + container lifetime { + description + "Lifetime of the password/secret"; + leaf years { + type uint32 { + range "0..99" { + description + "Number of years"; + } + } + description + "Number of years"; + } + leaf months { + type uint32 { + range "0..11" { + description + "Number of months"; + } + } + description + "Number of months"; + } + leaf days { + type uint32 { + range "0..30" { + description + "Number of days"; + } + } + description + "Number of days"; + } + leaf hours { + type uint32 { + range "0..23" { + description + "Number of hours"; + } + } + description + "Number of hours"; + } + leaf minutes { + type uint32 { + range "0..59" { + description + "Number of minutes"; + } + } + description + "Number of minutes"; + } + leaf seconds { + type uint32 { + range "30..59" { + description + "Number of seconds"; + } + } + description + "Number of seconds"; + } + } + container lockout-time { + description + "Lockout time for the maximum authentication failures"; + leaf days { + type uint32 { + range "0..255" { + description + "Number of days"; + } + } + description + "Number of days"; + } + leaf hours { + type uint32 { + range "0..23" { + description + "Number of hours"; + } + } + description + "Number of hours"; + } + leaf minutes { + type uint32 { + range "0..59" { + description + "Number of minutes"; + } + } + description + "Number of minutes"; + } + leaf seconds { + type uint32 { + range "0..59" { + description + "Number of seconds"; + } + } + description + "Number of seconds"; + } + } + container warn-interval { + description + "Warning interval to notify about expiring password/secret"; + leaf years { + type uint32 { + range "0..99" { + description + "Number of years"; + } + } + description + "Number of years"; + } + leaf months { + type uint32 { + range "0..11" { + description + "Number of months"; + } + } + description + "Number of months"; + } + leaf days { + type uint32 { + range "0..30" { + description + "Number of days"; + } + } + description + "Number of days"; + } + leaf hours { + type uint32 { + range "0..23" { + description + "Number of hours"; + } + } + description + "Number of hours"; + } + leaf minutes { + type uint32 { + range "0..59" { + description + "Number of minutes"; + } + } + description + "Number of minutes"; + } + leaf seconds { + type uint32 { + range "30..59" { + description + "Number of seconds"; + } + } + description + "Number of seconds"; + } + } + leaf authen-max-attempts { + type uint32 { + range "1..24" { + description + "Number of attempts, default is 0."; + } + } + description + "Maximum authentication failures to be allowed."; + } + } + } + container enable-cert-authentication { + presence "Indicates a enable-cert-authentication node is configured."; + description + "Enables Certificate based authentication for TACACS+ users. Mandates exec authorization configuration with TACACS+"; + } + container usergroups { + description + "Configure user group"; + list usergroup { + key "usergroup-name"; + description + "Usergroup name"; + leaf usergroup-name { + type string { + length "1..253" { + description + "Usergroup name. + Allowed special chars for usergroup name are _-."; + } + } + description + "Usergroup name"; + } + leaf description { + type string { + length "1..800" { + description + "Description for this group"; + } + } + description + "Description for the user group"; + } + container taskgroup { + description + "Task group associated with this group"; + container root-lr { + presence "Indicates a root-lr node is configured."; + description + "Root LR group"; + } + container netadmin { + presence "Indicates a netadmin node is configured."; + description + "Network administrators group"; + } + container sysadmin { + presence "Indicates a sysadmin node is configured."; + description + "System administrators group"; + } + container serviceadmin { + presence "Indicates a serviceadmin node is configured."; + description + "Service administrators group"; + } + container operator { + presence "Indicates a operator node is configured."; + description + "Operator group"; + } + container cisco-support { + presence "Indicates a cisco-support node is configured."; + description + "Technical support group"; + } + container maintenance { + presence "Indicates a maintenance node is configured."; + description + "Maintenance group"; + } + container provisioning { + presence "Indicates a provisioning node is configured."; + description + "Provisioning group"; + } + container retrieve { + presence "Indicates a retrieve node is configured."; + description + "Retrieve group"; + } + container read-only-tg { + presence "Indicates a read-only-tg node is configured."; + description + "Read only group"; + } + container task-groups { + description + "Name of the task group"; + list task-group { + key "task-group-name"; + description + "Name of the task group"; + leaf task-group-name { + type string { + length "1..800" { + description + "Name of the task group"; + } + } + description + "Name of the task group"; + } + } + } + } + container inherit { + description + "Inherit to this user group"; + list usergroup { + key "usergroup-name"; + description + "User group to be inherited by this group"; + leaf usergroup-name { + type string { + length "1..253" { + description + "Name of the user group. + Allowed special chars for usergroup name are _-."; + } + } + description + "User group to be inherited by this group"; + } + } + } + } + } + container taskgroups { + description + "Configure task group"; + list taskgroup { + key "taskgroup-name"; + description + "Taskgroup name"; + leaf taskgroup-name { + type string { + length "1..253" { + description + "Taskgroup name. + Allowed all special chars except ? without prepended backslash and space without prepended backslash"; + } + } + description + "Taskgroup name"; + } + leaf description { + type string { + length "1..800" { + description + "Description for this group"; + } + } + description + "Description for the task group"; + } + container task { + description + "Specify a task ID to be part of this group"; + container read { + description + "Specify a read-type task ID"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Border Gateway Protocol"; + } + container ospf { + presence "Indicates a ospf node is configured."; + description + "Open Shortest Pathway First"; + } + container hsrp { + presence "Indicates a hsrp node is configured."; + description + "Hot Standby Routing Protocol"; + } + container isis { + presence "Indicates a isis node is configured."; + description + "Intermediate System-Intermediate System"; + } + container route-map { + presence "Indicates a route-map node is configured."; + description + "Policy filtering and redistribution of routes"; + } + container route-policy { + presence "Indicates a route-policy node is configured."; + description + "Route Policy"; + } + container static { + presence "Indicates a static node is configured."; + description + "Static Routing"; + } + container vrrp { + presence "Indicates a vrrp node is configured."; + description + "Virtual Router Redundancy Protocol"; + } + container cef { + presence "Indicates a cef node is configured."; + description + "Cisco Express Forwarding/FIB"; + } + container lpts { + presence "Indicates a lpts node is configured."; + description + "Local Packet Transport Service"; + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + } + container rib { + presence "Indicates a rib node is configured."; + description + "Controls and monitors the routing table (RIB)"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast management including PIM, IGMP, etc."; + } + container mpls-te { + presence "Indicates a mpls-te node is configured."; + description + "Multi-protocol Label Switching - Traffic Engineering"; + } + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + description + "Multi-protocol Label Switching - Label Distribution Protocol"; + } + container mpls-static { + presence "Indicates a mpls-static node is configured."; + description + "Multi-protocol Label Switching - Static configuration"; + } + container ouni { + presence "Indicates a ouni node is configured."; + description + "Optical UNI"; + } + container fabric { + presence "Indicates a fabric node is configured."; + description + "Fabric Management"; + } + container bundle { + presence "Indicates a bundle node is configured."; + description + "Bundles"; + } + container network { + presence "Indicates a network node is configured."; + description + "IPv4, IPv6, ICMP, CLNS, ..."; + } + container transport { + presence "Indicates a transport node is configured."; + description + "TCP/UDP"; + } + container ppp { + presence "Indicates a ppp node is configured."; + description + "Point-to-Point Protocol"; + } + container hdlc { + presence "Indicates a hdlc node is configured."; + description + "High-level Data Link Control"; + } + container pos-dpt { + presence "Indicates a pos-dpt node is configured."; + description + "Packet-Over-SONET/Dynamic Packet Transport"; + } + container sonet-sdh { + presence "Indicates a sonet-sdh node is configured."; + description + "SONET/SDH Transport including APS/MSP"; + } + container dwdm { + presence "Indicates a dwdm node is configured."; + description + "DWDM Transport"; + } + container tunnel { + presence "Indicates a tunnel node is configured."; + description + "GRE, UTI"; + } + container vlan { + presence "Indicates a vlan node is configured."; + description + "Virtual Local Area Network"; + } + container qos { + presence "Indicates a qos node is configured."; + description + "Quality of Service"; + } + container acl { + presence "Indicates a acl node is configured."; + description + "Access Control List"; + } + container aaa { + presence "Indicates a aaa node is configured."; + description + "AAA"; + } + container crypto { + presence "Indicates a crypto node is configured."; + description + "ipsec, ssl"; + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "Simple Network Management Protocol"; + } + container config-mgmt { + presence "Indicates a config-mgmt node is configured."; + description + "Create/copy/delete configuration checkpoints"; + } + container config-services { + presence "Indicates a config-services node is configured."; + description + "Configure/monitor web server, ORB, SSH, XML Agent."; + } + container host-services { + presence "Indicates a host-services node is configured."; + description + "Configure/monitor hostname, clock, timestamps, etc."; + } + container boot { + presence "Indicates a boot node is configured."; + description + "reload, boot"; + } + container fault-mgr { + presence "Indicates a fault-mgr node is configured."; + description + "Configure/monitor fault manager settings"; + } + container filesystem { + presence "Indicates a filesystem node is configured."; + description + "Execute rcs, erase, format, fsck, etc."; + } + container interface { + presence "Indicates a interface node is configured."; + description + "Configure/monitor basic (or common) interface characteristics"; + } + container ip-services { + presence "Indicates a ip-services node is configured."; + description + "Configure/monitor DNS, DHCP, ARP, NTP, ARM, Domain services"; + } + container pkg-mgmt { + presence "Indicates a pkg-mgmt node is configured."; + description + "Install operations, SAM"; + } + container system { + presence "Indicates a system node is configured."; + description + "LR Redundancy/pairing, logical interface/node grouping, LACP"; + } + container tty-access { + presence "Indicates a tty-access node is configured."; + description + "Configure/monitor Line (tty/vty), banner, etc."; + } + container basic-services { + presence "Indicates a basic-services node is configured."; + description + "Ping, show version/privileges, etc."; + } + container cdp { + presence "Indicates a cdp node is configured."; + description + "Cisco Discovery Protocol"; + } + container diag { + presence "Indicates a diag node is configured."; + description + "exception, coredump, itrace, monitor, stats"; + } + container ext-access { + presence "Indicates a ext-access node is configured."; + description + "Execute RCP, RSH, FTP, TFTP, rlogin, telnet, ..."; + } + container bcdl { + presence "Indicates a bcdl node is configured."; + description + "Bulk Content Downloader"; + } + container sysmgr { + presence "Indicates a sysmgr node is configured."; + description + "Placement/process, chkpt, mbus, gsp, netio, qnet, SysDB, qsm, driver infrastructure"; + } + container logging { + presence "Indicates a logging node is configured."; + description + "logging, alarm"; + } + container netflow { + presence "Indicates a netflow node is configured."; + description + "Netflow application"; + } + container drivers { + presence "Indicates a drivers node is configured."; + description + "Driver related functions"; + } + container fr { + presence "Indicates a fr node is configured."; + description + "Frame-Relay"; + } + container monitor { + presence "Indicates a monitor node is configured."; + description + "Monitor system resource/performance characteristics"; + } + container inventory { + presence "Indicates a inventory node is configured."; + description + "Inventory information management"; + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6"; + } + container admin { + presence "Indicates a admin node is configured."; + description + "Admin plane functions"; + } + container atm { + presence "Indicates a atm node is configured."; + description + "Asynchronous Transfer Mode"; + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Bidirectional Forwarding Protocol"; + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol"; + } + container eigrp { + presence "Indicates a eigrp node is configured."; + description + "Enhanced Interior Gateway Routing Protocol"; + } + container sbc { + presence "Indicates a sbc node is configured."; + description + "Session Border Controller"; + } + container firewall { + presence "Indicates a firewall node is configured."; + description + "Firewall operations"; + } + container l2vpn { + presence "Indicates a l2vpn node is configured."; + description + "Layer 2 VPN"; + } + container ethernet-services { + presence "Indicates a ethernet-services node is configured."; + description + "Ethernet Services and OAM"; + } + container eem { + presence "Indicates a eem node is configured."; + description + "Embedded Event Manager"; + } + container li { + presence "Indicates a li node is configured."; + description + "Lawful Intercept component"; + } + container ancp { + presence "Indicates a ancp node is configured."; + description + "Access Node Control Protocol"; + } + container cgn { + presence "Indicates a cgn node is configured."; + description + "Carrier Grade Nat"; + } + container call-home { + presence "Indicates a call-home node is configured."; + description + "call-home"; + } + container rcmd { + presence "Indicates a rcmd node is configured."; + description + "Routing Convergence Monitoring and Diagnostics"; + } + container vpdn { + presence "Indicates a vpdn node is configured."; + description + "Virtual Private Dial-up Network (VPDN)"; + } + container nps { + presence "Indicates a nps node is configured."; + description + "Network Positioning System (NPS)"; + } + container lisp { + presence "Indicates a lisp node is configured."; + description + "Locator/Identifier Separation Protocol"; + } + container pbr { + presence "Indicates a pbr node is configured."; + description + "Policy Based Routing"; + } + container otn { + presence "Indicates a otn node is configured."; + description + "Optical Transport Network"; + } + container nacm { + presence "Indicates a nacm node is configured."; + description + "Netconf Authorization Control Module"; + } + container plat-mgr { + presence "Indicates a plat-mgr node is configured."; + description + "Platform Mgr Module"; + } + container cpri { + presence "Indicates a cpri node is configured."; + description + "cpri controller taskid"; + } + container lldp { + presence "Indicates a lldp node is configured."; + description + "Support LLDP protocol"; + } + container l2rib { + presence "Indicates a l2rib node is configured."; + description + "Layer 2 RIB"; + } + container dossier { + presence "Indicates a dossier node is configured."; + description + "Support for dossier related collection/CLIs"; + } + container fti { + presence "Indicates a fti node is configured."; + description + "Support for FTI CLIs"; + } + container fc { + presence "Indicates a fc node is configured."; + description + "Fibre Channel controller taskid"; + } + } + container write { + description + "Specify a read-write-type task ID"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Border Gateway Protocol"; + } + container ospf { + presence "Indicates a ospf node is configured."; + description + "Open Shortest Pathway First"; + } + container hsrp { + presence "Indicates a hsrp node is configured."; + description + "Hot Standby Routing Protocol"; + } + container isis { + presence "Indicates a isis node is configured."; + description + "Intermediate System-Intermediate System"; + } + container route-map { + presence "Indicates a route-map node is configured."; + description + "Policy filtering and redistribution of routes"; + } + container route-policy { + presence "Indicates a route-policy node is configured."; + description + "Route Policy"; + } + container static { + presence "Indicates a static node is configured."; + description + "Static Routing"; + } + container vrrp { + presence "Indicates a vrrp node is configured."; + description + "Virtual Router Redundancy Protocol"; + } + container cef { + presence "Indicates a cef node is configured."; + description + "Cisco Express Forwarding/FIB"; + } + container lpts { + presence "Indicates a lpts node is configured."; + description + "Local Packet Transport Service"; + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + } + container rib { + presence "Indicates a rib node is configured."; + description + "Controls and monitors the routing table (RIB)"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast management including PIM, IGMP, etc."; + } + container mpls-te { + presence "Indicates a mpls-te node is configured."; + description + "Multi-protocol Label Switching - Traffic Engineering"; + } + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + description + "Multi-protocol Label Switching - Label Distribution Protocol"; + } + container mpls-static { + presence "Indicates a mpls-static node is configured."; + description + "Multi-protocol Label Switching - Static configuration"; + } + container ouni { + presence "Indicates a ouni node is configured."; + description + "Optical UNI"; + } + container fabric { + presence "Indicates a fabric node is configured."; + description + "Fabric Management"; + } + container bundle { + presence "Indicates a bundle node is configured."; + description + "Bundles"; + } + container network { + presence "Indicates a network node is configured."; + description + "IPv4, IPv6, ICMP, CLNS, ..."; + } + container transport { + presence "Indicates a transport node is configured."; + description + "TCP/UDP"; + } + container ppp { + presence "Indicates a ppp node is configured."; + description + "Point-to-Point Protocol"; + } + container hdlc { + presence "Indicates a hdlc node is configured."; + description + "High-level Data Link Control"; + } + container pos-dpt { + presence "Indicates a pos-dpt node is configured."; + description + "Packet-Over-SONET/Dynamic Packet Transport"; + } + container sonet-sdh { + presence "Indicates a sonet-sdh node is configured."; + description + "SONET/SDH Transport including APS/MSP"; + } + container dwdm { + presence "Indicates a dwdm node is configured."; + description + "DWDM Transport"; + } + container tunnel { + presence "Indicates a tunnel node is configured."; + description + "GRE, UTI"; + } + container vlan { + presence "Indicates a vlan node is configured."; + description + "Virtual Local Area Network"; + } + container qos { + presence "Indicates a qos node is configured."; + description + "Quality of Service"; + } + container acl { + presence "Indicates a acl node is configured."; + description + "Access Control List"; + } + container aaa { + presence "Indicates a aaa node is configured."; + description + "AAA"; + } + container crypto { + presence "Indicates a crypto node is configured."; + description + "ipsec, ssl"; + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "Simple Network Management Protocol"; + } + container config-mgmt { + presence "Indicates a config-mgmt node is configured."; + description + "Create/copy/delete configuration checkpoints"; + } + container config-services { + presence "Indicates a config-services node is configured."; + description + "Configure/monitor web server, ORB, SSH, XML Agent."; + } + container host-services { + presence "Indicates a host-services node is configured."; + description + "Configure/monitor hostname, clock, timestamps, etc."; + } + container boot { + presence "Indicates a boot node is configured."; + description + "reload, boot"; + } + container fault-mgr { + presence "Indicates a fault-mgr node is configured."; + description + "Configure/monitor fault manager settings"; + } + container filesystem { + presence "Indicates a filesystem node is configured."; + description + "Execute rcs, erase, format, fsck, etc."; + } + container interface { + presence "Indicates a interface node is configured."; + description + "Configure/monitor basic (or common) interface characteristics"; + } + container ip-services { + presence "Indicates a ip-services node is configured."; + description + "Configure/monitor DNS, DHCP, ARP, NTP, ARM, Domain services"; + } + container pkg-mgmt { + presence "Indicates a pkg-mgmt node is configured."; + description + "Install operations, SAM"; + } + container system { + presence "Indicates a system node is configured."; + description + "LR Redundancy/pairing, logical interface/node grouping, LACP"; + } + container tty-access { + presence "Indicates a tty-access node is configured."; + description + "Configure/monitor Line (tty/vty), banner, etc."; + } + container basic-services { + presence "Indicates a basic-services node is configured."; + description + "Ping, show version/privileges, etc."; + } + container cdp { + presence "Indicates a cdp node is configured."; + description + "Cisco Discovery Protocol"; + } + container diag { + presence "Indicates a diag node is configured."; + description + "exception, coredump, itrace, monitor, stats"; + } + container ext-access { + presence "Indicates a ext-access node is configured."; + description + "Execute RCP, RSH, FTP, TFTP, rlogin, telnet, ..."; + } + container bcdl { + presence "Indicates a bcdl node is configured."; + description + "Bulk Content Downloader"; + } + container sysmgr { + presence "Indicates a sysmgr node is configured."; + description + "Placement/process, chkpt, mbus, gsp, netio, qnet, SysDB, qsm, driver infrastructure"; + } + container logging { + presence "Indicates a logging node is configured."; + description + "logging, alarm"; + } + container netflow { + presence "Indicates a netflow node is configured."; + description + "Netflow application"; + } + container drivers { + presence "Indicates a drivers node is configured."; + description + "Driver related functions"; + } + container fr { + presence "Indicates a fr node is configured."; + description + "Frame-Relay"; + } + container monitor { + presence "Indicates a monitor node is configured."; + description + "Monitor system resource/performance characteristics"; + } + container inventory { + presence "Indicates a inventory node is configured."; + description + "Inventory information management"; + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6"; + } + container admin { + presence "Indicates a admin node is configured."; + description + "Admin plane functions"; + } + container atm { + presence "Indicates a atm node is configured."; + description + "Asynchronous Transfer Mode"; + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Bidirectional Forwarding Protocol"; + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol"; + } + container eigrp { + presence "Indicates a eigrp node is configured."; + description + "Enhanced Interior Gateway Routing Protocol"; + } + container sbc { + presence "Indicates a sbc node is configured."; + description + "Session Border Controller"; + } + container firewall { + presence "Indicates a firewall node is configured."; + description + "Firewall operations"; + } + container l2vpn { + presence "Indicates a l2vpn node is configured."; + description + "Layer 2 VPN"; + } + container ethernet-services { + presence "Indicates a ethernet-services node is configured."; + description + "Ethernet Services and OAM"; + } + container eem { + presence "Indicates a eem node is configured."; + description + "Embedded Event Manager"; + } + container li { + presence "Indicates a li node is configured."; + description + "Lawful Intercept component"; + } + container ancp { + presence "Indicates a ancp node is configured."; + description + "Access Node Control Protocol"; + } + container cgn { + presence "Indicates a cgn node is configured."; + description + "Carrier Grade Nat"; + } + container call-home { + presence "Indicates a call-home node is configured."; + description + "call-home"; + } + container rcmd { + presence "Indicates a rcmd node is configured."; + description + "Routing Convergence Monitoring and Diagnostics"; + } + container vpdn { + presence "Indicates a vpdn node is configured."; + description + "Virtual Private Dial-up Network (VPDN)"; + } + container nps { + presence "Indicates a nps node is configured."; + description + "Network Positioning System (NPS)"; + } + container lisp { + presence "Indicates a lisp node is configured."; + description + "Locator/Identifier Separation Protocol"; + } + container pbr { + presence "Indicates a pbr node is configured."; + description + "Policy Based Routing"; + } + container otn { + presence "Indicates a otn node is configured."; + description + "Optical Transport Network"; + } + container nacm { + presence "Indicates a nacm node is configured."; + description + "Netconf Authorization Control Module"; + } + container plat-mgr { + presence "Indicates a plat-mgr node is configured."; + description + "Platform Mgr Module"; + } + container cpri { + presence "Indicates a cpri node is configured."; + description + "cpri controller taskid"; + } + container lldp { + presence "Indicates a lldp node is configured."; + description + "Support LLDP protocol"; + } + container l2rib { + presence "Indicates a l2rib node is configured."; + description + "Layer 2 RIB"; + } + container dossier { + presence "Indicates a dossier node is configured."; + description + "Support for dossier related collection/CLIs"; + } + container fti { + presence "Indicates a fti node is configured."; + description + "Support for FTI CLIs"; + } + container fc { + presence "Indicates a fc node is configured."; + description + "Fibre Channel controller taskid"; + } + } + container execute { + description + "Specify a execute-type task ID"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Border Gateway Protocol"; + } + container ospf { + presence "Indicates a ospf node is configured."; + description + "Open Shortest Pathway First"; + } + container hsrp { + presence "Indicates a hsrp node is configured."; + description + "Hot Standby Routing Protocol"; + } + container isis { + presence "Indicates a isis node is configured."; + description + "Intermediate System-Intermediate System"; + } + container route-map { + presence "Indicates a route-map node is configured."; + description + "Policy filtering and redistribution of routes"; + } + container route-policy { + presence "Indicates a route-policy node is configured."; + description + "Route Policy"; + } + container static { + presence "Indicates a static node is configured."; + description + "Static Routing"; + } + container vrrp { + presence "Indicates a vrrp node is configured."; + description + "Virtual Router Redundancy Protocol"; + } + container cef { + presence "Indicates a cef node is configured."; + description + "Cisco Express Forwarding/FIB"; + } + container lpts { + presence "Indicates a lpts node is configured."; + description + "Local Packet Transport Service"; + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + } + container rib { + presence "Indicates a rib node is configured."; + description + "Controls and monitors the routing table (RIB)"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast management including PIM, IGMP, etc."; + } + container mpls-te { + presence "Indicates a mpls-te node is configured."; + description + "Multi-protocol Label Switching - Traffic Engineering"; + } + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + description + "Multi-protocol Label Switching - Label Distribution Protocol"; + } + container mpls-static { + presence "Indicates a mpls-static node is configured."; + description + "Multi-protocol Label Switching - Static configuration"; + } + container ouni { + presence "Indicates a ouni node is configured."; + description + "Optical UNI"; + } + container fabric { + presence "Indicates a fabric node is configured."; + description + "Fabric Management"; + } + container bundle { + presence "Indicates a bundle node is configured."; + description + "Bundles"; + } + container network { + presence "Indicates a network node is configured."; + description + "IPv4, IPv6, ICMP, CLNS, ..."; + } + container transport { + presence "Indicates a transport node is configured."; + description + "TCP/UDP"; + } + container ppp { + presence "Indicates a ppp node is configured."; + description + "Point-to-Point Protocol"; + } + container hdlc { + presence "Indicates a hdlc node is configured."; + description + "High-level Data Link Control"; + } + container pos-dpt { + presence "Indicates a pos-dpt node is configured."; + description + "Packet-Over-SONET/Dynamic Packet Transport"; + } + container sonet-sdh { + presence "Indicates a sonet-sdh node is configured."; + description + "SONET/SDH Transport including APS/MSP"; + } + container dwdm { + presence "Indicates a dwdm node is configured."; + description + "DWDM Transport"; + } + container tunnel { + presence "Indicates a tunnel node is configured."; + description + "GRE, UTI"; + } + container vlan { + presence "Indicates a vlan node is configured."; + description + "Virtual Local Area Network"; + } + container qos { + presence "Indicates a qos node is configured."; + description + "Quality of Service"; + } + container acl { + presence "Indicates a acl node is configured."; + description + "Access Control List"; + } + container aaa { + presence "Indicates a aaa node is configured."; + description + "AAA"; + } + container crypto { + presence "Indicates a crypto node is configured."; + description + "ipsec, ssl"; + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "Simple Network Management Protocol"; + } + container config-mgmt { + presence "Indicates a config-mgmt node is configured."; + description + "Create/copy/delete configuration checkpoints"; + } + container config-services { + presence "Indicates a config-services node is configured."; + description + "Configure/monitor web server, ORB, SSH, XML Agent."; + } + container host-services { + presence "Indicates a host-services node is configured."; + description + "Configure/monitor hostname, clock, timestamps, etc."; + } + container boot { + presence "Indicates a boot node is configured."; + description + "reload, boot"; + } + container fault-mgr { + presence "Indicates a fault-mgr node is configured."; + description + "Configure/monitor fault manager settings"; + } + container filesystem { + presence "Indicates a filesystem node is configured."; + description + "Execute rcs, erase, format, fsck, etc."; + } + container interface { + presence "Indicates a interface node is configured."; + description + "Configure/monitor basic (or common) interface characteristics"; + } + container ip-services { + presence "Indicates a ip-services node is configured."; + description + "Configure/monitor DNS, DHCP, ARP, NTP, ARM, Domain services"; + } + container pkg-mgmt { + presence "Indicates a pkg-mgmt node is configured."; + description + "Install operations, SAM"; + } + container system { + presence "Indicates a system node is configured."; + description + "LR Redundancy/pairing, logical interface/node grouping, LACP"; + } + container tty-access { + presence "Indicates a tty-access node is configured."; + description + "Configure/monitor Line (tty/vty), banner, etc."; + } + container basic-services { + presence "Indicates a basic-services node is configured."; + description + "Ping, show version/privileges, etc."; + } + container cdp { + presence "Indicates a cdp node is configured."; + description + "Cisco Discovery Protocol"; + } + container diag { + presence "Indicates a diag node is configured."; + description + "exception, coredump, itrace, monitor, stats"; + } + container ext-access { + presence "Indicates a ext-access node is configured."; + description + "Execute RCP, RSH, FTP, TFTP, rlogin, telnet, ..."; + } + container bcdl { + presence "Indicates a bcdl node is configured."; + description + "Bulk Content Downloader"; + } + container sysmgr { + presence "Indicates a sysmgr node is configured."; + description + "Placement/process, chkpt, mbus, gsp, netio, qnet, SysDB, qsm, driver infrastructure"; + } + container logging { + presence "Indicates a logging node is configured."; + description + "logging, alarm"; + } + container netflow { + presence "Indicates a netflow node is configured."; + description + "Netflow application"; + } + container drivers { + presence "Indicates a drivers node is configured."; + description + "Driver related functions"; + } + container fr { + presence "Indicates a fr node is configured."; + description + "Frame-Relay"; + } + container monitor { + presence "Indicates a monitor node is configured."; + description + "Monitor system resource/performance characteristics"; + } + container inventory { + presence "Indicates a inventory node is configured."; + description + "Inventory information management"; + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6"; + } + container admin { + presence "Indicates a admin node is configured."; + description + "Admin plane functions"; + } + container atm { + presence "Indicates a atm node is configured."; + description + "Asynchronous Transfer Mode"; + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Bidirectional Forwarding Protocol"; + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol"; + } + container eigrp { + presence "Indicates a eigrp node is configured."; + description + "Enhanced Interior Gateway Routing Protocol"; + } + container sbc { + presence "Indicates a sbc node is configured."; + description + "Session Border Controller"; + } + container firewall { + presence "Indicates a firewall node is configured."; + description + "Firewall operations"; + } + container l2vpn { + presence "Indicates a l2vpn node is configured."; + description + "Layer 2 VPN"; + } + container ethernet-services { + presence "Indicates a ethernet-services node is configured."; + description + "Ethernet Services and OAM"; + } + container eem { + presence "Indicates a eem node is configured."; + description + "Embedded Event Manager"; + } + container li { + presence "Indicates a li node is configured."; + description + "Lawful Intercept component"; + } + container ancp { + presence "Indicates a ancp node is configured."; + description + "Access Node Control Protocol"; + } + container cgn { + presence "Indicates a cgn node is configured."; + description + "Carrier Grade Nat"; + } + container call-home { + presence "Indicates a call-home node is configured."; + description + "call-home"; + } + container rcmd { + presence "Indicates a rcmd node is configured."; + description + "Routing Convergence Monitoring and Diagnostics"; + } + container vpdn { + presence "Indicates a vpdn node is configured."; + description + "Virtual Private Dial-up Network (VPDN)"; + } + container nps { + presence "Indicates a nps node is configured."; + description + "Network Positioning System (NPS)"; + } + container lisp { + presence "Indicates a lisp node is configured."; + description + "Locator/Identifier Separation Protocol"; + } + container pbr { + presence "Indicates a pbr node is configured."; + description + "Policy Based Routing"; + } + container otn { + presence "Indicates a otn node is configured."; + description + "Optical Transport Network"; + } + container nacm { + presence "Indicates a nacm node is configured."; + description + "Netconf Authorization Control Module"; + } + container plat-mgr { + presence "Indicates a plat-mgr node is configured."; + description + "Platform Mgr Module"; + } + container cpri { + presence "Indicates a cpri node is configured."; + description + "cpri controller taskid"; + } + container lldp { + presence "Indicates a lldp node is configured."; + description + "Support LLDP protocol"; + } + container l2rib { + presence "Indicates a l2rib node is configured."; + description + "Layer 2 RIB"; + } + container dossier { + presence "Indicates a dossier node is configured."; + description + "Support for dossier related collection/CLIs"; + } + container fti { + presence "Indicates a fti node is configured."; + description + "Support for FTI CLIs"; + } + container fc { + presence "Indicates a fc node is configured."; + description + "Fibre Channel controller taskid"; + } + } + container debug { + description + "Specify a debug-type task ID"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Border Gateway Protocol"; + } + container ospf { + presence "Indicates a ospf node is configured."; + description + "Open Shortest Pathway First"; + } + container hsrp { + presence "Indicates a hsrp node is configured."; + description + "Hot Standby Routing Protocol"; + } + container isis { + presence "Indicates a isis node is configured."; + description + "Intermediate System-Intermediate System"; + } + container route-map { + presence "Indicates a route-map node is configured."; + description + "Policy filtering and redistribution of routes"; + } + container route-policy { + presence "Indicates a route-policy node is configured."; + description + "Route Policy"; + } + container static { + presence "Indicates a static node is configured."; + description + "Static Routing"; + } + container vrrp { + presence "Indicates a vrrp node is configured."; + description + "Virtual Router Redundancy Protocol"; + } + container cef { + presence "Indicates a cef node is configured."; + description + "Cisco Express Forwarding/FIB"; + } + container lpts { + presence "Indicates a lpts node is configured."; + description + "Local Packet Transport Service"; + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + } + container rib { + presence "Indicates a rib node is configured."; + description + "Controls and monitors the routing table (RIB)"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast management including PIM, IGMP, etc."; + } + container mpls-te { + presence "Indicates a mpls-te node is configured."; + description + "Multi-protocol Label Switching - Traffic Engineering"; + } + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + description + "Multi-protocol Label Switching - Label Distribution Protocol"; + } + container mpls-static { + presence "Indicates a mpls-static node is configured."; + description + "Multi-protocol Label Switching - Static configuration"; + } + container ouni { + presence "Indicates a ouni node is configured."; + description + "Optical UNI"; + } + container fabric { + presence "Indicates a fabric node is configured."; + description + "Fabric Management"; + } + container bundle { + presence "Indicates a bundle node is configured."; + description + "Bundles"; + } + container network { + presence "Indicates a network node is configured."; + description + "IPv4, IPv6, ICMP, CLNS, ..."; + } + container transport { + presence "Indicates a transport node is configured."; + description + "TCP/UDP"; + } + container ppp { + presence "Indicates a ppp node is configured."; + description + "Point-to-Point Protocol"; + } + container hdlc { + presence "Indicates a hdlc node is configured."; + description + "High-level Data Link Control"; + } + container pos-dpt { + presence "Indicates a pos-dpt node is configured."; + description + "Packet-Over-SONET/Dynamic Packet Transport"; + } + container sonet-sdh { + presence "Indicates a sonet-sdh node is configured."; + description + "SONET/SDH Transport including APS/MSP"; + } + container dwdm { + presence "Indicates a dwdm node is configured."; + description + "DWDM Transport"; + } + container tunnel { + presence "Indicates a tunnel node is configured."; + description + "GRE, UTI"; + } + container vlan { + presence "Indicates a vlan node is configured."; + description + "Virtual Local Area Network"; + } + container qos { + presence "Indicates a qos node is configured."; + description + "Quality of Service"; + } + container acl { + presence "Indicates a acl node is configured."; + description + "Access Control List"; + } + container aaa { + presence "Indicates a aaa node is configured."; + description + "AAA"; + } + container crypto { + presence "Indicates a crypto node is configured."; + description + "ipsec, ssl"; + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "Simple Network Management Protocol"; + } + container config-mgmt { + presence "Indicates a config-mgmt node is configured."; + description + "Create/copy/delete configuration checkpoints"; + } + container config-services { + presence "Indicates a config-services node is configured."; + description + "Configure/monitor web server, ORB, SSH, XML Agent."; + } + container host-services { + presence "Indicates a host-services node is configured."; + description + "Configure/monitor hostname, clock, timestamps, etc."; + } + container boot { + presence "Indicates a boot node is configured."; + description + "reload, boot"; + } + container fault-mgr { + presence "Indicates a fault-mgr node is configured."; + description + "Configure/monitor fault manager settings"; + } + container filesystem { + presence "Indicates a filesystem node is configured."; + description + "Execute rcs, erase, format, fsck, etc."; + } + container interface { + presence "Indicates a interface node is configured."; + description + "Configure/monitor basic (or common) interface characteristics"; + } + container ip-services { + presence "Indicates a ip-services node is configured."; + description + "Configure/monitor DNS, DHCP, ARP, NTP, ARM, Domain services"; + } + container pkg-mgmt { + presence "Indicates a pkg-mgmt node is configured."; + description + "Install operations, SAM"; + } + container system { + presence "Indicates a system node is configured."; + description + "LR Redundancy/pairing, logical interface/node grouping, LACP"; + } + container tty-access { + presence "Indicates a tty-access node is configured."; + description + "Configure/monitor Line (tty/vty), banner, etc."; + } + container basic-services { + presence "Indicates a basic-services node is configured."; + description + "Ping, show version/privileges, etc."; + } + container cdp { + presence "Indicates a cdp node is configured."; + description + "Cisco Discovery Protocol"; + } + container diag { + presence "Indicates a diag node is configured."; + description + "exception, coredump, itrace, monitor, stats"; + } + container ext-access { + presence "Indicates a ext-access node is configured."; + description + "Execute RCP, RSH, FTP, TFTP, rlogin, telnet, ..."; + } + container bcdl { + presence "Indicates a bcdl node is configured."; + description + "Bulk Content Downloader"; + } + container sysmgr { + presence "Indicates a sysmgr node is configured."; + description + "Placement/process, chkpt, mbus, gsp, netio, qnet, SysDB, qsm, driver infrastructure"; + } + container logging { + presence "Indicates a logging node is configured."; + description + "logging, alarm"; + } + container netflow { + presence "Indicates a netflow node is configured."; + description + "Netflow application"; + } + container drivers { + presence "Indicates a drivers node is configured."; + description + "Driver related functions"; + } + container fr { + presence "Indicates a fr node is configured."; + description + "Frame-Relay"; + } + container monitor { + presence "Indicates a monitor node is configured."; + description + "Monitor system resource/performance characteristics"; + } + container inventory { + presence "Indicates a inventory node is configured."; + description + "Inventory information management"; + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6"; + } + container admin { + presence "Indicates a admin node is configured."; + description + "Admin plane functions"; + } + container atm { + presence "Indicates a atm node is configured."; + description + "Asynchronous Transfer Mode"; + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Bidirectional Forwarding Protocol"; + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol"; + } + container eigrp { + presence "Indicates a eigrp node is configured."; + description + "Enhanced Interior Gateway Routing Protocol"; + } + container sbc { + presence "Indicates a sbc node is configured."; + description + "Session Border Controller"; + } + container firewall { + presence "Indicates a firewall node is configured."; + description + "Firewall operations"; + } + container l2vpn { + presence "Indicates a l2vpn node is configured."; + description + "Layer 2 VPN"; + } + container ethernet-services { + presence "Indicates a ethernet-services node is configured."; + description + "Ethernet Services and OAM"; + } + container eem { + presence "Indicates a eem node is configured."; + description + "Embedded Event Manager"; + } + container li { + presence "Indicates a li node is configured."; + description + "Lawful Intercept component"; + } + container ancp { + presence "Indicates a ancp node is configured."; + description + "Access Node Control Protocol"; + } + container cgn { + presence "Indicates a cgn node is configured."; + description + "Carrier Grade Nat"; + } + container call-home { + presence "Indicates a call-home node is configured."; + description + "call-home"; + } + container rcmd { + presence "Indicates a rcmd node is configured."; + description + "Routing Convergence Monitoring and Diagnostics"; + } + container vpdn { + presence "Indicates a vpdn node is configured."; + description + "Virtual Private Dial-up Network (VPDN)"; + } + container nps { + presence "Indicates a nps node is configured."; + description + "Network Positioning System (NPS)"; + } + container lisp { + presence "Indicates a lisp node is configured."; + description + "Locator/Identifier Separation Protocol"; + } + container pbr { + presence "Indicates a pbr node is configured."; + description + "Policy Based Routing"; + } + container otn { + presence "Indicates a otn node is configured."; + description + "Optical Transport Network"; + } + container nacm { + presence "Indicates a nacm node is configured."; + description + "Netconf Authorization Control Module"; + } + container plat-mgr { + presence "Indicates a plat-mgr node is configured."; + description + "Platform Mgr Module"; + } + container cpri { + presence "Indicates a cpri node is configured."; + description + "cpri controller taskid"; + } + container lldp { + presence "Indicates a lldp node is configured."; + description + "Support LLDP protocol"; + } + container l2rib { + presence "Indicates a l2rib node is configured."; + description + "Layer 2 RIB"; + } + container dossier { + presence "Indicates a dossier node is configured."; + description + "Support for dossier related collection/CLIs"; + } + container fti { + presence "Indicates a fti node is configured."; + description + "Support for FTI CLIs"; + } + container fc { + presence "Indicates a fc node is configured."; + description + "Fibre Channel controller taskid"; + } + } + } + container inherit { + description + "Inherit to include into this taskgroup"; + container taskgroup { + description + "Specify a taskgroup to inherit from"; + container root-lr { + presence "Indicates a root-lr node is configured."; + description + "Root LR taskgroup"; + } + container netadmin { + presence "Indicates a netadmin node is configured."; + description + "Network administrators taskgroup"; + } + container sysadmin { + presence "Indicates a sysadmin node is configured."; + description + "System administrators taskgroup"; + } + container serviceadmin { + presence "Indicates a serviceadmin node is configured."; + description + "Service administrators taskgroup"; + } + container operator { + presence "Indicates a operator node is configured."; + description + "Operator taskgroup"; + } + container cisco-support { + presence "Indicates a cisco-support node is configured."; + description + "Technical support group"; + } + container task-groups { + description + "Name of the task group to include"; + list task-group { + key "task-group-name"; + description + "Name of the task group to include"; + leaf task-group-name { + type string { + length "1..253" { + description + "Name of the task group to include. + Allowed all special chars except ? without prepended backslash and space without prepended backslash"; + } + } + description + "Name of the task group to include"; + } + } + } + } + } + } + } + container usernames { + description + "Configure user name"; + list username { + key "ordering-index name"; + description + "User name"; + leaf ordering-index { + type uint32; + description + "This is used to sort the users in the order of + precedence"; + } + leaf name { + type string { + length "2..253" { + description + "User name. + Allowed special chars for username are _-.<>()[]&^!~*%=,+|:#$ forward slash and back slash"; + } + } + description + "User name"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify the encrypted password for the user"; + } + container secret { + description + "Specify the secure password for the user"; + leaf five { + type xr:Md5-password; + must "not(../eight or ../nine or ../ten)"; + description + "Specifies that an encrypted password"; + } + leaf eight { + type xr:Type8-password; + must "not(../five or ../nine or ../ten)"; + description + "Specifies that SHA-256 encrypted password will follow"; + } + leaf nine { + type xr:Type9-password; + must "not(../five or ../eight or ../ten)"; + description + "Specifies that scrypt encrypted password will follow"; + } + leaf ten { + type xr:Type10-password; + must "not(../five or ../eight or ../nine)"; + description + "Specifies that SHA512 encrypted password will follow"; + } + } + container login-history { + description + "Option to set whether to display previous login details"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable the display of login history."; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable the display of login history."; + } + } + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..253" { + description + "Specify the password policy name"; + } + } + description + "Specify the policy common to password and secret for the user"; + } + container password-policy { + description + "Specify the password policy for the user"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..253" { + description + "Specify the password policy name"; + } + } + description + "Specify the password policy name"; + } + leaf password { + type xr:Proprietary-password; + description + "Specify the encrypted password for the user"; + } + } + container group { + description + "User group in which this user will be a member of"; + container root-lr { + presence "Indicates a root-lr node is configured."; + description + "Root LR group"; + } + container netadmin { + presence "Indicates a netadmin node is configured."; + description + "Network administrators group"; + } + container sysadmin { + presence "Indicates a sysadmin node is configured."; + description + "System administrators group"; + } + container serviceadmin { + presence "Indicates a serviceadmin node is configured."; + description + "Service administrators group"; + } + container operator { + presence "Indicates a operator node is configured."; + description + "Operator group"; + } + container cisco-support { + presence "Indicates a cisco-support node is configured."; + description + "Cisco support personnel"; + } + container maintenance { + presence "Indicates a maintenance node is configured."; + description + "Maintenance group"; + } + container provisioning { + presence "Indicates a provisioning node is configured."; + description + "Provisioning group"; + } + container retrieve { + presence "Indicates a retrieve node is configured."; + description + "Retrieve group"; + } + container read-only-tg { + presence "Indicates a read-only-tg node is configured."; + description + "Read only group"; + } + container user-groups { + description + "Name of the user group"; + list user-group { + key "user-group-name"; + description + "Name of the user group"; + leaf user-group-name { + type string { + length "1..253" { + description + "Name of the user group. + Allowed special chars for usergroup name are _-."; + } + } + description + "Name of the user group"; + } + } + } + } + leaf shell-type { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Shell type of the user"; + } + } + description + "Specify the shell type of the user"; + } + leaf directory { + type string { + length "1..512" { + description + "Directory of the user"; + } + } + description + "Specify the directory of the user"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-access-list-datatypes.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-access-list-datatypes.yang new file mode 100644 index 000000000..d6fa8cd3d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-access-list-datatypes.yang @@ -0,0 +1,1727 @@ +module Cisco-IOS-XR-um-access-list-datatypes { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-access-list-datatypes"; + prefix um-access-list-datatypes; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr2; + } + + organization + "Cisco Systems, Inc."; + contact + " + Cisco Systems, Inc. + Customer Service + + 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 IOS-XR YANG model derived from CLI. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved. + "; + + revision 2022-07-08 { + description + "Adding dscp bitmask"; + semver:module-version "2.1.1m"; + } + revision 2021-03-17 { + description + "Adding new protocols - vrrp, rsvp"; + semver:module-version "2.1.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2019-04-01 { + description + "Initial version"; + } + + typedef ipv4-protocol { + type union { + type uint8 { + range "0..255" { + description + "An IPv4 Protocol Number"; + } + } + type enumeration { + enum "ahp" { + value 51; + description + "Authentication Header Protocol"; + } + enum "eigrp" { + value 88; + description + "Cisco's EIGRP Routing Protocol"; + } + enum "esp" { + value 50; + description + "Encapsulation Security Payload"; + } + enum "gre" { + value 47; + description + "Cisco's GRE Tunneling"; + } + enum "icmp" { + value 1; + description + "Internet Control Message Protocol"; + } + enum "igmp" { + value 2; + description + "Internet Gateway Message Protocol"; + } + enum "igrp" { + value 9; + description + "Cisco's IGRP Routing Protocol"; + } + enum "ipinip" { + value 4; + description + "IP in IP tunneling"; + } + enum "ipv4" { + value 512; + description + "Any IPv4 Protocol"; + } + enum "nos" { + value 94; + description + "KA9Q NOS Compatible IP over IP Tunneling"; + } + enum "ospf" { + value 89; + description + "OSPF Routing Protocol"; + } + enum "pcp" { + value 108; + description + "Payload Compression Protocol"; + } + enum "pim" { + value 103; + description + "Protocol Independent Multicast"; + } + enum "sctp" { + value 132; + description + "Stream Control Transmission Protocol"; + } + enum "tcp" { + value 6; + description + "Transport Control Protocol"; + } + enum "udp" { + value 17; + description + "User Datagram Protocol"; + } + enum "rsvp" { + value 46; + description + "Router Reservation Protocol"; + } + enum "vrrp" { + value 112; + description + "Virtual Router Redundancy Protocol"; + } + } + } + } + + typedef ipv4-port-number { + type union { + type ipv4-tcp-port-number; + type ipv4-udp-port-number; + } + } + + typedef ipv4-tcp-port-number { + type union { + type uint16 { + range "0..65535"; + } + type enumeration { + enum "Echo" { + value 7; + description + "Echo"; + } + enum "Discard" { + value 9; + description + "Discard"; + } + enum "Daytime" { + value 13; + description + "Daytime"; + } + enum "CharGen" { + value 19; + description + "Character generator"; + } + enum "FTPData" { + value 20; + description + "FTP data connections (used infrequently)"; + } + enum "FTP" { + value 21; + description + "File Transfer Protocol"; + } + enum "SSH" { + value 22; + description + "Secure Shell"; + } + enum "Telnet" { + value 23; + description + "Telnet"; + } + enum "SMTP" { + value 25; + description + "Simple Mail Transport Protocol"; + } + enum "Time" { + value 37; + description + "Time"; + } + enum "WhoIs" { + value 43; + description + "Nicname"; + } + enum "TACACS" { + value 49; + description + "TAC Access Control System"; + } + enum "DNS" { + value 53; + description + "Domain Name Service"; + } + enum "Gopher" { + value 70; + description + "Gopher"; + } + enum "Finger" { + value 79; + description + "Finger"; + } + enum "WWW" { + value 80; + description + "World Wide Web (HTTP)"; + } + enum "Hostname" { + value 101; + description + "NIC hostname server"; + } + enum "POP2" { + value 109; + description + "Post Office Protocol v2"; + } + enum "POP3" { + value 110; + description + "Post Office Protocol v3"; + } + enum "SunRPC" { + value 111; + description + "Sun Remote Procedure Call"; + } + enum "Ident" { + value 113; + description + "Ident Protocol"; + } + enum "NNTP" { + value 119; + description + "Network News Transport Protocol"; + } + enum "BGP" { + value 179; + description + "Border Gateway Protocol"; + } + enum "IRC" { + value 194; + description + "Internet Relay Chat"; + } + enum "HTTPS" { + value 443; + description + "HTTPS"; + } + enum "PIMAutoRP" { + value 496; + description + "PIM Auto-RP"; + } + enum "ExecOrBiff" { + value 512; + description + "Exec (rsh)"; + } + enum "LoginOrWho" { + value 513; + description + "Login (rlogin)"; + } + enum "CmdOrSyslog" { + value 514; + description + "Remote commands (rcmd)"; + } + enum "LPD" { + value 515; + description + "Printer service"; + } + enum "UUCP" { + value 540; + description + "Unix-to-Unix Copy Program"; + } + enum "KLogin" { + value 543; + description + "Kerberos login"; + } + enum "KShell" { + value 544; + description + "Kerberos shell"; + } + enum "Talk" { + value 517; + description + "Talk"; + } + enum "LDP" { + value 646; + description + "LDP session connection attempts (MPLS)"; + } + enum "RADIUS" { + value 1812; + description + "Radius Authentication protocolTalk"; + } + enum "RADIUS_ACCT" { + value 1813; + description + "Radius accounting Protocol"; + } + } + } + } + + typedef ipv4-udp-port-number { + type union { + type uint16 { + range "0..65535"; + } + type enumeration { + enum "BFD" { + value 3784; + description + "BFD Port"; + } + enum "ExecOrBiff" { + value 512; + description + "Biff (mail notification, comsat"; + } + enum "BootPC" { + value 68; + description + "Bootstrap Protocol (BOOTP) client"; + } + enum "BootPS" { + value 67; + description + "Bootstrap Protocol (BOOTP) server"; + } + enum "Discard" { + value 9; + description + "Discard"; + } + enum "DNSIX" { + value 195; + description + "DNSIX security protocol auditing"; + } + enum "DNS" { + value 53; + description + "Domain Name Service (DNS)"; + } + enum "Echo" { + value 7; + description + "Echo"; + } + enum "ISAKMP" { + value 500; + description + "Internet Security Association and Key Management Protocol"; + } + enum "LDP" { + value 646; + description + "LDP hello packets (MPLS)"; + } + enum "MobileIP" { + value 434; + description + "Mobile IP registration"; + } + enum "NameServer" { + value 42; + description + "IEN116 name service (obsolete)"; + } + enum "NetBIOS_DGS" { + value 138; + description + "NetBios datagram service"; + } + enum "NetBIOS_NS" { + value 137; + description + "NetBios name service"; + } + enum "NetBIOS_SS" { + value 139; + description + "NetBios session service"; + } + enum "NTP" { + value 123; + description + "Network Time Protocol"; + } + enum "PIMAutoRP" { + value 496; + description + "PIM Auto-RP"; + } + enum "RIP" { + value 520; + description + "Routing Information Protocol (router, in.routed)"; + } + enum "SNMP" { + value 161; + description + "Simple Network Management Protocol"; + } + enum "SNMPTrap" { + value 162; + description + "SNMP Traps"; + } + enum "SSH" { + value 22; + description + "Secure Shell service"; + } + enum "SunRPC" { + value 111; + description + "Sun Remote Procedure Call"; + } + enum "CmdOrSyslog" { + value 514; + description + "System Logger"; + } + enum "TACACS" { + value 49; + description + "TAC Access Control System"; + } + enum "Talk" { + value 517; + description + "Talk"; + } + enum "TFTP" { + value 69; + description + "Trivial File Transfer Protocol"; + } + enum "Time" { + value 37; + description + "Time"; + } + enum "LoginOrWho" { + value 513; + description + "Who service (rwho)"; + } + enum "XDMCP" { + value 177; + description + "X Display Manager Control Protocol"; + } + } + } + } + + typedef precedence-value { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum "Critical" { + value 5; + description + "Match packets with critical precedence"; + } + enum "Flash" { + value 3; + description + "Match packets with flash precedence"; + } + enum "FlashOverride" { + value 4; + description + "Match packets with flash override precedence"; + } + enum "Immediate" { + value 2; + description + "Match packets with immediate precedence"; + } + enum "Internet" { + value 6; + description + "Match packets with internetwork control precedence"; + } + enum "Network" { + value 7; + description + "Match packets with network control precedence"; + } + enum "Priority" { + value 1; + description + "Match packets with priority precedence"; + } + enum "Routine" { + value 0; + description + "Match packets with routine precedence"; + } + } + } + } + + typedef dscp-value { + type union { + type uint8 { + range "0..63"; + } + type enumeration { + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + enum "default" { + value 0; + description + "Match packets with default DSCP (000000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + } + } + } + + typedef dscp-bitmask-value { + type union { + type xr2:Hex-integer; + type enumeration { + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + enum "default" { + value 0; + description + "Match packets with default DSCP (000000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + } + } + } + + typedef tcp-bits-type { + type bits { + bit fin { + position 0; + description + "Match on the FIN bit (0x01)"; + } + bit syn { + position 1; + description + "Match on the SYN bit (0x02)"; + } + bit rst { + position 2; + description + "Match on the RST bit (0x04)"; + } + bit psh { + position 3; + description + "Match on the PSH bit (0x08)"; + } + bit ack { + position 4; + description + "Match on the ACK bit (0x10)"; + } + bit urg { + position 5; + description + "Match on the URG bit (0x20)"; + } + } + description + "acl tcp bits number"; + } + + typedef ipv4-icmp-message-type { + type enumeration { + enum "MobileRedirect" { + value 2162687; + description + "Mobile host redirect"; + } + enum "ConversionError" { + value 2097151; + description + "Datagram conversion"; + } + enum "Traceroute" { + value 2031615; + description + "Traceroute"; + } + enum "MaskReply" { + value 1245183; + description + "Mask replies"; + } + enum "MaskRequest" { + value 1179647; + description + "Mask requests"; + } + enum "InformationReply" { + value 1114111; + description + "Information replies"; + } + enum "InformationRequest" { + value 1048575; + description + "Information request"; + } + enum "TimestampReply" { + value 983039; + description + "Timestamp replies"; + } + enum "TimestampRequest" { + value 917503; + description + "Timestamp requests"; + } + enum "ParameterProblem" { + value 851967; + description + "All parameter problems"; + } + enum "TimeExceeded" { + value 786431; + description + "All time exceeds"; + } + enum "RouterSolicitation" { + value 720895; + description + "Router discovery solicitations"; + } + enum "RouterAdvertisement" { + value 655359; + description + "Router discovery advertisements"; + } + enum "AlternateAddress" { + value 458751; + description + "Alternate address"; + } + enum "Echo" { + value 589823; + description + "Echo (ping)"; + } + enum "Redirect" { + value 393215; + description + "All redirects"; + } + enum "SourceQuench" { + value 327679; + description + "Source quenches"; + } + enum "Unreachable" { + value 262143; + description + "All unreachables"; + } + enum "EchoReply" { + value 65535; + description + "Echo reply"; + } + enum "NetworkUnreachable" { + value 196608; + description + "Net unreachable"; + } + enum "HostUnreachable" { + value 196609; + description + "Host unreachable"; + } + enum "ProtocolUnreachable" { + value 196610; + description + "Protocol unreachable"; + } + enum "PortUnreachable" { + value 196611; + description + "Port unreachable"; + } + enum "PacketTooBig" { + value 196612; + description + "Fragmentation needed and DF set"; + } + enum "SourceRouteFailed" { + value 196613; + description + "Source route failed"; + } + enum "NetworkUnknown" { + value 196614; + description + "Network unknown"; + } + enum "HostUnknown" { + value 196615; + description + "Host unknown"; + } + enum "HostIsolated" { + value 196616; + description + "Host isolated"; + } + enum "DODNetProhibited" { + value 196617; + description + "Net prohibited"; + } + enum "DODHostProhibited" { + value 196618; + description + "Host prohibited"; + } + enum "NetTOSUnreachable" { + value 196620; + description + "Network unreachable for TOS"; + } + enum "HostTOSUnreachable" { + value 196619; + description + "Host unreachable for TOS"; + } + enum "AdministrativelyProhibited" { + value 196621; + description + "Administratively prohibited"; + } + enum "HostPrecedenceUnreachable" { + value 196622; + description + "Host unreachable for precedence"; + } + enum "PrecedenceUnreachable" { + value 196623; + description + "Precedence cutoff"; + } + enum "NetworkRedirect" { + value 327680; + description + "Network redirect"; + } + enum "HostRedirect" { + value 327681; + description + "Host redirect"; + } + enum "NetTOSRedirect" { + value 327682; + description + "Net redirect for TOS"; + } + enum "HostTOSRedirect" { + value 327683; + description + "Host redirect for TOS"; + } + enum "TTLExceeded" { + value 720896; + description + "TTL exceeded"; + } + enum "ReassemblyTimeout" { + value 720897; + description + "Reassembly timeout"; + } + enum "GeneralParameterProblem" { + value 786432; + description + "Parameter problem"; + } + enum "OptionMissing" { + value 786433; + description + "Parameter required but not present"; + } + enum "NoRoomForOption" { + value 786434; + description + "Parameter required but no room"; + } + } + } + + typedef ipv6-protocol { + type union { + type uint8 { + range "0..255" { + description + "An IPv6 Protocol Number"; + } + } + type enumeration { + enum "ahp" { + value 51; + description + "Authentication Header Protocol"; + } + enum "eigrp" { + value 88; + description + "Cisco's EIGRP Routing Protocol"; + } + enum "esp" { + value 50; + description + "Encapsulation Security Payload"; + } + enum "gre" { + value 47; + description + "Cisco's GRE Tunneling"; + } + enum "icmpv6" { + value 58; + description + "Internet Control Message Protocol"; + } + enum "igrp" { + value 9; + description + "Cisco's IGRP Routing Protocol"; + } + enum "ipv6" { + value 513; + description + "Any IPv6 Protocol"; + } + enum "ospf" { + value 89; + description + "OSPF Routing Protocol"; + } + enum "pcp" { + value 108; + description + "Payload Compression Protocol"; + } + enum "pim" { + value 103; + description + "Protocol Independent Multicast"; + } + enum "sctp" { + value 132; + description + "Stream Control Transmission Protocol"; + } + enum "tcp" { + value 6; + description + "Transport Control Protocol"; + } + enum "udp" { + value 17; + description + "User Datagram Protocol"; + } + enum "rsvp" { + value 46; + description + "Router Reservation Protocol"; + } + enum "vrrp" { + value 112; + description + "Virtual Router Redundancy Protocol"; + } + } + } + } + + typedef ipv6-port-number { + type union { + type ipv6-tcp-port-number; + type ipv6-udp-port-number; + } + } + + typedef ipv6-tcp-port-number { + type union { + type uint16 { + range "0..65535"; + } + type enumeration { + enum "Echo" { + value 7; + description + "Echo"; + } + enum "Discard" { + value 9; + description + "Discard"; + } + enum "Daytime" { + value 13; + description + "Daytime"; + } + enum "CharGen" { + value 19; + description + "Character generator"; + } + enum "FTPData" { + value 20; + description + "FTP data connections (used infrequently)"; + } + enum "FTP" { + value 21; + description + "File Transfer Protocol"; + } + enum "SSH" { + value 22; + description + "Secure Shell"; + } + enum "Telnet" { + value 23; + description + "Telnet"; + } + enum "SMTP" { + value 25; + description + "Simple Mail Transport Protocol"; + } + enum "Time" { + value 37; + description + "Time"; + } + enum "WhoIs" { + value 43; + description + "Nicname"; + } + enum "TACACS" { + value 49; + description + "TAC Access Control System"; + } + enum "DNS" { + value 53; + description + "Domain Name Service"; + } + enum "Gopher" { + value 70; + description + "Gopher"; + } + enum "Finger" { + value 79; + description + "Finger"; + } + enum "WWW" { + value 80; + description + "World Wide Web (HTTP)"; + } + enum "Hostname" { + value 101; + description + "NIC hostname server"; + } + enum "POP2" { + value 109; + description + "Post Office Protocol v2"; + } + enum "POP3" { + value 110; + description + "Post Office Protocol v3"; + } + enum "SunRPC" { + value 111; + description + "Sun Remote Procedure Call"; + } + enum "Ident" { + value 113; + description + "Ident Protocol"; + } + enum "NNTP" { + value 119; + description + "Network News Transport Protocol"; + } + enum "BGP" { + value 179; + description + "Border Gateway Protocol"; + } + enum "IRC" { + value 194; + description + "Internet Relay Chat"; + } + enum "HTTPS" { + value 443; + description + "Internet Relay Chat"; + } + enum "PIMAutoRP" { + value 496; + description + "PIM Auto-RP"; + } + enum "ExecOrBiff" { + value 512; + description + "Exec (rsh)"; + } + enum "LoginOrWho" { + value 513; + description + "Login (rlogin)"; + } + enum "CmdOrSyslog" { + value 514; + description + "Remote commands (rcmd)"; + } + enum "LPD" { + value 515; + description + "Printer service"; + } + enum "UUCP" { + value 540; + description + "Unix-to-Unix Copy Program"; + } + enum "KLogin" { + value 543; + description + "Kerberos login"; + } + enum "KShell" { + value 544; + description + "Kerberos shell"; + } + enum "Talk" { + value 517; + description + "Talk"; + } + enum "RADIUS" { + value 1812; + description + "Kerberos shell"; + } + enum "RADIUS_ACCT" { + value 1813; + description + "Talk"; + } + } + } + } + + typedef ipv6-udp-port-number { + type union { + type uint16 { + range "0..65535"; + } + type enumeration { + enum "BFD" { + value 3784; + description + "BFD"; + } + enum "ExecOrBiff" { + value 512; + description + "Biff (mail notification, comsat"; + } + enum "BootPC" { + value 68; + description + "Bootstrap Protocol (BOOTP) client"; + } + enum "BootPS" { + value 67; + description + "Bootstrap Protocol (BOOTP) server"; + } + enum "Discard" { + value 9; + description + "Discard"; + } + enum "DNSIX" { + value 195; + description + "DNSIX security protocol auditing"; + } + enum "DNS" { + value 53; + description + "Domain Name Service (DNS)"; + } + enum "Echo" { + value 7; + description + "Echo"; + } + enum "ISAKMP" { + value 500; + description + "Internet Security Association and Key Management Protocol"; + } + enum "MobileIP" { + value 434; + description + "Mobile IP registration"; + } + enum "NameServer" { + value 42; + description + "IEN116 name service (obsolete)"; + } + enum "NetBIOS_DGS" { + value 138; + description + "NetBios datagram service"; + } + enum "NetBIOS_NS" { + value 137; + description + "NetBios name service"; + } + enum "NetBIOS_SS" { + value 139; + description + "NetBios session service"; + } + enum "NTP" { + value 123; + description + "Network Time Protocol"; + } + enum "PIMAutoRP" { + value 496; + description + "PIM Auto-RP"; + } + enum "RIP" { + value 520; + description + "Routing Information Protocol (router, in.routed)"; + } + enum "SNMP" { + value 161; + description + "Simple Network Management Protocol"; + } + enum "SNMPTrap" { + value 162; + description + "SNMP Traps"; + } + enum "SSH" { + value 22; + description + "Secure Shell service"; + } + enum "SunRPC" { + value 111; + description + "Sun Remote Procedure Call"; + } + enum "CmdOrSyslog" { + value 514; + description + "System Logger"; + } + enum "TACACS" { + value 49; + description + "TAC Access Control System"; + } + enum "Talk" { + value 517; + description + "Talk"; + } + enum "TFTP" { + value 69; + description + "Trivial File Transfer Protocol"; + } + enum "Time" { + value 37; + description + "Time"; + } + enum "LoginOrWho" { + value 513; + description + "Who service (rwho)"; + } + enum "XDMCP" { + value 177; + description + "X Display Manager Control Protocol"; + } + enum "LDP" { + value 646; + description + "LDP"; + } + } + } + } + + typedef ipv6-icmp-message-type { + type enumeration { + enum "ParameterProblem" { + value 327679; + description + "All parameter problems"; + } + enum "TimeExceeded" { + value 262143; + description + "All time exceeds"; + } + enum "RouterSolicitation" { + value 8716288; + description + "Router discovery solicitations"; + } + enum "RouterAdvertisement" { + value 8781824; + description + "Router discovery advertisements"; + } + enum "Echo" { + value 8388608; + description + "Echo (ping)"; + } + enum "EchoReply" { + value 8454144; + description + "Echo reply"; + } + enum "PortUnreachable" { + value 65540; + description + "Port unreachable"; + } + enum "PacketTooBig" { + value 131072; + description + "Fragmentation needed and DF set"; + } + enum "AdministrativelyProhibited" { + value 65537; + description + "Administratively prohibited"; + } + enum "TTLExceeded" { + value 196608; + description + "TTL exceeded"; + } + enum "ReassemblyOption" { + value 196609; + description + "Reassembly timeout"; + } + enum "ErroneousHeaderField" { + value 262144; + description + "Erroneous header field"; + } + enum "UnrecognizedNextHeader" { + value 262145; + description + "Unrecognized Next Header type"; + } + enum "UnrecognizedOption" { + value 262146; + description + "Unrecognized IPv6 option"; + } + enum "DestinationUnreachable" { + value 131071; + description + "Destination Unreachable"; + } + enum "AddressUnreachable" { + value 65539; + description + "Address Unreachable"; + } + enum "BeyondScopeOfSourceAddress" { + value 65538; + description + "Unreachable beyond scope of address"; + } + enum "GroupMembershipQuery" { + value 8585215; + description + "Multicast Listener Query"; + } + enum "GroupMembershipReport" { + value 8650751; + description + "Multicast Listener report"; + } + enum "GroupMembershipReduction" { + value 8716287; + description + "Multicast Listener Done"; + } + enum "NeighborRedirect" { + value 8978432; + description + "Neighbor redirect"; + } + enum "NoRouteToDestination" { + value 65536; + description + "No route to destination"; + } + enum "NodeInformationSuccessfulReply" { + value 9175040; + description + "Node information successful reply"; + } + enum "NodeInformationRequestIsRefused" { + value 9175041; + description + "Node information reply rejected"; + } + enum "RouterRenumbering" { + value 9109503; + description + "Router renumbering"; + } + enum "RRCommand" { + value 9043968; + description + "Router renumbering command"; + } + enum "RRResult" { + value 9043969; + description + "Router renumbering result"; + } + enum "RRSeqnumReset" { + value 9044223; + description + "Router renumbering seqnum"; + } + enum "QuerySubjectIsIPv6Address" { + value 9109504; + description + "Query subject is ipv6 address"; + } + enum "QuerySubjectIsDomainName" { + value 9109505; + description + "Query subject is domain name"; + } + enum "QuerySubjectIsIPv4Address" { + value 9109506; + description + "Query subject is ipv4 address"; + } + enum "NeighborSolicitation" { + value 8847360; + description + "Neighbor discovery neighbor solicitations"; + } + enum "NeighborAdvertisement" { + value 8912896; + description + "Neighbor discovery neighbor advertisements"; + } + enum "WhoAreYouRequest" { + value 9175039; + description + "Who are you request"; + } + enum "WhoAreYouReply" { + value 9240575; + description + "Who are you reply"; + } + enum "UnknownQueryType" { + value 9175042; + description + "Unknown query type"; + } + } + } + + typedef header-bits-type { + type bits { + bit routing { + position 0; + description + "Match if routing header is present"; + } + bit destopts { + position 1; + description + "Match if destination opts header is present"; + } + bit hop-by-hop { + position 2; + description + "Match if hop-by-hop opts header is present"; + } + bit fragments { + position 3; + description + "Match if fragment extension header contains a non-zero fragment offset"; + } + bit authen { + position 5; + description + "Match if authentication header is present"; + } + } + description + "IPv6 hearder bits number"; + } + + typedef vlan-id { + type union { + type uint16 { + range "0..4095" { + description + "Vlan Id"; + } + } + type string { + pattern "([0-9]{1,4})-([0-9]{1,4})" { + description + "Lower/upper limit of the Vlan Id range (<0-4095>-<0-4095>)"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-adt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-adt-cfg.yang new file mode 100644 index 000000000..6500e9c0c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-adt-cfg.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XR-um-adt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-adt-cfg"; + prefix um-adt-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR adt package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container adt { + description + "ADT configuration commands"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable ADT"; + } + container input { + description + "configure adt data source"; + container mdt { + presence "Indicates a mdt node is configured."; + description + "Sensor group configuration"; + container sensor-groups { + description + "Sensor group configuration"; + list sensor-group { + key "sensor-group-name"; + description + "Sensor Group Id"; + leaf sensor-group-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Sensor Group Id"; + } + } + description + "Sensor Group Id"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-appmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-appmgr-cfg.yang new file mode 100644 index 000000000..16bd3112b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-appmgr-cfg.yang @@ -0,0 +1,203 @@ +module Cisco-IOS-XR-um-appmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-appmgr-cfg"; + prefix um-appmgr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR appmgr package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container appmgr { + description + "appmgr configuration"; + container applications { + description + "Per application configuration"; + list application { + key "application-name"; + description + "Per application configuration"; + leaf application-name { + type string { + length "1..80" { + description + "Application name (up to 80 characters)"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9_.-]+"; + } + description + "Per application configuration"; + } + container activate { + description + "Activate - Install and run an application"; + leaf type { + type enumeration { + enum "docker" { + value 1; + description + "Docker application"; + } + } + mandatory true; + description + "Type of app to configure"; + } + leaf source-name { + type string { + length "1..800" { + description + "Source name"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9_.-]+"; + } + mandatory true; + description + "Source name"; + } + leaf svault { + type string { + length "1..800" { + description + "secure vault profile name"; + } + } + description + "secure vault profile name"; + } + leaf docker-run-opts { + type string { + length "1..800" { + description + "run options (enclosed in double quotes)"; + } + } + description + "Docker run 'options' argument - multiple options can be specified"; + } + leaf docker-run-cmd { + type string { + length "1..800" { + description + "command (enclosed in double quotes)"; + } + } + description + "Docker run 'command' argument - command to be executed in container"; + } + } + } + } + container process-scripts { + description + "Process script configuration"; + list process-script { + must "executable or run-args or restart"; + key "process-script-name"; + description + "Process script configuration"; + leaf process-script-name { + type string { + length "1..80" { + description + "Process script name (up to 80 characters)"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9_.-]+"; + } + description + "Process script configuration"; + } + leaf executable { + type string { + length "1..80" { + description + "Name of the executable"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9_.-]+"; + } + description + "Executable filename"; + } + leaf run-args { + type string { + length "1..800" { + description + "Arguments string"; + } + } + description + "Run arguments"; + } + leaf restart { + type enumeration { + enum "never" { + value 1; + description + "Never restart automatically"; + } + enum "on-failure" { + value 2; + description + "Restart on failure automatically"; + } + enum "always" { + value 3; + description + "Always restart automatically"; + } + enum "unless-stopped" { + value 4; + description + "Restart automatically unless stopped"; + } + enum "unless-errored" { + value 5; + description + "Restart automatically unless errored"; + } + } + description + "Restart policy for the application"; + } + leaf max-retries { + when "../restart = 'on-failure'"; + type uint32 { + range "1..10" { + description + "Max restart retries"; + } + } + description + "Maximum retry attempts; always restarted by default"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-arp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-arp-cfg.yang new file mode 100644 index 000000000..62adadac9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-arp-cfg.yang @@ -0,0 +1,296 @@ +module Cisco-IOS-XR-um-arp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-arp-cfg"; + prefix um-arp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR arp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-10 { + description + "Moved trap augments into Cisco-IOS-XR-um-traps-mpls-ldp-cfg."; + semver:module-version "3.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-04 { + description + "Initial version"; + } + + container arp { + description + "Global ARP configuration"; + container entries { + description + "ARP entries"; + list entry { + key "ip-address"; + description + "configure ARP entry"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP Address"; + } + leaf mac-address { + type yang:mac-address; + mandatory true; + description + "MAC Address"; + } + leaf encapsulation-type { + type enumeration { + enum "ARPA" { + value 1; + description + "Encapsulation type ARPA"; + } + enum "SRP" { + value 4; + description + "Encapsulation type SRP"; + } + enum "SRPA" { + value 5; + description + "Encapsulation type SRPA"; + } + enum "SRPB" { + value 6; + description + "Encapsulation type SRPB"; + } + } + mandatory true; + description + "configure this node"; + } + container alias { + presence "Indicates a alias node is configured."; + description + "Configure an Alias ARP entry"; + } + leaf interface { + type xr:Interface-name; + description + "Specify a Interface"; + } + } + } + container vrfs { + description + "Specify a non-default VRF"; + list vrf { + must "entries/entry"; + key "vrf-name"; + description + "Specify a non-default VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + description + "Specify a non-default VRF"; + } + container entries { + description + "ARP entries"; + list entry { + key "ip-address"; + description + "configure this node"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP Address"; + } + leaf mac-address { + type yang:mac-address; + mandatory true; + description + "MAC Address"; + } + leaf encapsulation-type { + type enumeration { + enum "ARPA" { + value 1; + description + "Encapsulation type ARPA"; + } + enum "SRP" { + value 4; + description + "Encapsulation type SRP"; + } + enum "SRPA" { + value 5; + description + "Encapsulation type SRPA"; + } + enum "SRPB" { + value 6; + description + "Encapsulation type SRPB"; + } + } + mandatory true; + description + "configure this node"; + } + container alias { + presence "Indicates a alias node is configured."; + description + "Configure an Alias ARP entry"; + } + leaf interface { + type xr:Interface-name; + description + "Specify a Interface"; + } + } + } + } + } + leaf inner-cos { + type uint32 { + range "0..7" { + description + "inner cos value"; + } + } + description + "Configure inner cos values for arp packets"; + } + leaf outer-cos { + type uint32 { + range "0..7" { + description + "Outer cos value"; + } + } + description + "Configure outer cos values for arp packets"; + } + leaf max-entries { + type uint32 { + range "1..256000" { + description + "entries"; + } + } + description + "Configure maximum number of safe ARP entries per line card"; + } + container redundancy { + presence "Indicates a redundancy node is configured."; + description + "Configure parameter for ARP Geo redundancy"; + container groups { + description + "Redundancy Group configuration"; + list group { + key "group-id"; + description + "Redundancy Group configuration"; + leaf group-id { + type uint32 { + range "1..32" { + description + "Group ID"; + } + } + description + "Redundancy Group configuration"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface for Redundancy Peer Communication"; + } + container peers { + description + "Peer Address for this Group"; + list peer { + key "peer-address"; + description + "Peer Address for this Group"; + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "Peer Address for this Group"; + } + } + } + container interface-list { + presence "Indicates a interface-list node is configured."; + description + "List of Interfaces for this Group"; + container interfaces { + description + "Interface for this Group"; + list interface { + key "interface-name"; + description + "Interface for this Group"; + leaf interface-name { + type xr:Interface-name; + description + "Interface for this Group"; + } + leaf id { + type uint32 { + range "1..65535" { + description + "ID for the interface to be mapped on to peer"; + } + } + mandatory true; + description + "Map Identifier"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-attestation-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-attestation-cfg.yang new file mode 100644 index 000000000..c9bf22b20 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-attestation-cfg.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-um-attestation-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-attestation-cfg"; + prefix um-attestation-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR attestation package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container attestation { + description + "Attestation Agent configuration"; + container runtime-integrity { + description + "IMA related configuration"; + container cache { + description + "IMA cache related configuration"; + container job { + description + "Cache CRON job related configuration"; + leaf interval { + type uint32 { + range "5..1440" { + description + "Time interval in minutes (must be multiple or factor of 60)"; + } + } + description + "Time interval for the CRON job"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the IMA Cache CRON job"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-auto-ip-ring-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-auto-ip-ring-cfg.yang new file mode 100644 index 000000000..188121908 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-auto-ip-ring-cfg.yang @@ -0,0 +1,79 @@ +module Cisco-IOS-XR-um-auto-ip-ring-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-auto-ip-ring-cfg"; + prefix um-auto-ip-ring-cfg; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR auto-ip-ring package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-15 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container auto-ip-ring { + presence "Indicates a auto-ip-ring node is configured."; + description + "Auto-IP-Ring interface configuration commands"; + leaf auto-ip-ring-id { + type uint32 { + range "1..255" { + description + "Ring ID number"; + } + } + mandatory true; + description + "Auto-IP-Ring interface configuration commands"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "auto-ip address"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container auto-ip-ring { + presence "Indicates a auto-ip-ring node is configured."; + description + "Enable auto-ip-ring"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-banner-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-banner-cfg.yang new file mode 100644 index 000000000..f7a9318d2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-banner-cfg.yang @@ -0,0 +1,2008 @@ +module Cisco-IOS-XR-um-banner-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-banner-cfg"; + prefix um-banner-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR banner package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-08 { + description + "Removed the string length constraint from leaf line under container banners "; + semver:module-version "1.0.0"; + } + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container locale { + description + "Define the geographical locale"; + leaf language { + type enumeration { + enum "aa" { + value 1; + description + "Afar"; + } + enum "ab" { + value 2; + description + "Abkhazian"; + } + enum "af" { + value 3; + description + "Afrikaans"; + } + enum "am" { + value 4; + description + "Amharic"; + } + enum "ar" { + value 5; + description + "Arabic"; + } + enum "as" { + value 6; + description + "Assamese"; + } + enum "ay" { + value 7; + description + "Aymara"; + } + enum "az" { + value 8; + description + "Azerbaijani"; + } + enum "ba" { + value 9; + description + "Bashkir"; + } + enum "be" { + value 10; + description + "Byelorussian"; + } + enum "bg" { + value 11; + description + "Bulgarian"; + } + enum "bh" { + value 12; + description + "Bihari"; + } + enum "bi" { + value 13; + description + "Bislama"; + } + enum "bn" { + value 14; + description + "Bengali; Bangla"; + } + enum "bo" { + value 15; + description + "Tibetan"; + } + enum "br" { + value 16; + description + "Breton"; + } + enum "ca" { + value 17; + description + "Catalan"; + } + enum "co" { + value 18; + description + "Corsican"; + } + enum "cs" { + value 19; + description + "Czech"; + } + enum "cy" { + value 20; + description + "Welsh"; + } + enum "da" { + value 21; + description + "Danish"; + } + enum "de" { + value 22; + description + "German"; + } + enum "dz" { + value 23; + description + "Bhutani"; + } + enum "el" { + value 24; + description + "Greek"; + } + enum "en" { + value 25; + description + "English"; + } + enum "eo" { + value 26; + description + "Esperanto"; + } + enum "es" { + value 27; + description + "Spanish"; + } + enum "et" { + value 28; + description + "Estonian"; + } + enum "eu" { + value 29; + description + "Basque"; + } + enum "fa" { + value 30; + description + "Persian"; + } + enum "fi" { + value 31; + description + "Finnish"; + } + enum "fj" { + value 32; + description + "Fiji"; + } + enum "fo" { + value 33; + description + "Faroese"; + } + enum "fr" { + value 34; + description + "French"; + } + enum "fy" { + value 35; + description + "Frisian"; + } + enum "ga" { + value 36; + description + "Irish"; + } + enum "gd" { + value 37; + description + "Scots Gaelic"; + } + enum "gl" { + value 38; + description + "Galician"; + } + enum "gn" { + value 39; + description + "Guarani"; + } + enum "gu" { + value 40; + description + "Gujarati"; + } + enum "ha" { + value 41; + description + "Hausa"; + } + enum "he" { + value 42; + description + "Hebrew"; + } + enum "hi" { + value 43; + description + "Hindi"; + } + enum "hr" { + value 44; + description + "Croatian"; + } + enum "hu" { + value 45; + description + "Hungarian"; + } + enum "hy" { + value 46; + description + "Armenian"; + } + enum "ia" { + value 47; + description + "Interlingua"; + } + enum "id" { + value 48; + description + "Indonesian"; + } + enum "ie" { + value 49; + description + "Interlingue"; + } + enum "ik" { + value 50; + description + "Inupiak"; + } + enum "is" { + value 51; + description + "Icelandic"; + } + enum "it" { + value 52; + description + "Italian"; + } + enum "iu" { + value 53; + description + "Inuktitut"; + } + enum "ja" { + value 54; + description + "Japanese"; + } + enum "jw" { + value 55; + description + "Javanese"; + } + enum "ka" { + value 56; + description + "Georgian"; + } + enum "kk" { + value 57; + description + "Kazakh"; + } + enum "kl" { + value 58; + description + "Greenlandic"; + } + enum "km" { + value 59; + description + "Cambodian"; + } + enum "kn" { + value 60; + description + "Kannada"; + } + enum "ko" { + value 61; + description + "Korean"; + } + enum "ks" { + value 62; + description + "Kashmiri"; + } + enum "ku" { + value 63; + description + "Kurdish"; + } + enum "ky" { + value 64; + description + "Kirghiz"; + } + enum "la" { + value 65; + description + "Latin"; + } + enum "ln" { + value 66; + description + "Lingala"; + } + enum "lo" { + value 67; + description + "Laothian"; + } + enum "lt" { + value 68; + description + "Lithuanian"; + } + enum "lv" { + value 69; + description + "Latvian, Lettish"; + } + enum "mg" { + value 70; + description + "Malagasy"; + } + enum "mi" { + value 71; + description + "Maori"; + } + enum "mk" { + value 72; + description + "Macedonian"; + } + enum "ml" { + value 73; + description + "Malayalam"; + } + enum "mn" { + value 74; + description + "Mongolian"; + } + enum "mo" { + value 75; + description + "Moldavian"; + } + enum "mr" { + value 76; + description + "Marathi"; + } + enum "ms" { + value 77; + description + "Malay"; + } + enum "mt" { + value 78; + description + "Maltese"; + } + enum "my" { + value 79; + description + "Burmese"; + } + enum "na" { + value 80; + description + "Nauru"; + } + enum "ne" { + value 81; + description + "Nepali"; + } + enum "nl" { + value 82; + description + "Dutch"; + } + enum "no" { + value 83; + description + "Norwegian"; + } + enum "oc" { + value 84; + description + "Occitan"; + } + enum "om" { + value 85; + description + "(Afan) Oromo"; + } + enum "or" { + value 86; + description + "Oriya"; + } + enum "pa" { + value 87; + description + "Punjabi"; + } + enum "pl" { + value 88; + description + "Polish"; + } + enum "ps" { + value 89; + description + "Pashto, Pushto"; + } + enum "pt" { + value 90; + description + "Portuguese"; + } + enum "qu" { + value 91; + description + "Quechua"; + } + enum "rm" { + value 92; + description + "Rhaeto-Romance"; + } + enum "rn" { + value 93; + description + "Kirundi"; + } + enum "ro" { + value 94; + description + "Romanian"; + } + enum "ru" { + value 95; + description + "Russian"; + } + enum "rw" { + value 96; + description + "Kinyarwanda"; + } + enum "sa" { + value 97; + description + "Sanskrit"; + } + enum "sd" { + value 98; + description + "Sindhi"; + } + enum "sg" { + value 99; + description + "Sangho"; + } + enum "sh" { + value 100; + description + "Serbo-Croatian"; + } + enum "si" { + value 101; + description + "Sinhalese"; + } + enum "sk" { + value 102; + description + "Slovak"; + } + enum "sl" { + value 103; + description + "Slovenian"; + } + enum "sm" { + value 104; + description + "Samoan"; + } + enum "sn" { + value 105; + description + "Shona"; + } + enum "so" { + value 106; + description + "Somali"; + } + enum "sq" { + value 107; + description + "Albanian"; + } + enum "sr" { + value 108; + description + "Serbian"; + } + enum "ss" { + value 109; + description + "Siswati"; + } + enum "st" { + value 110; + description + "Sesotho"; + } + enum "su" { + value 111; + description + "Sundanese"; + } + enum "sv" { + value 112; + description + "Swedish"; + } + enum "sw" { + value 113; + description + "Swahili"; + } + enum "ta" { + value 114; + description + "Tamil"; + } + enum "te" { + value 115; + description + "Telugu"; + } + enum "tg" { + value 116; + description + "Tajik"; + } + enum "th" { + value 117; + description + "Thai"; + } + enum "ti" { + value 118; + description + "Tigrinya"; + } + enum "tk" { + value 119; + description + "Turkmen"; + } + enum "tl" { + value 120; + description + "Tagalog"; + } + enum "tn" { + value 121; + description + "Setswana"; + } + enum "to" { + value 122; + description + "Tonga"; + } + enum "tr" { + value 123; + description + "Turkish"; + } + enum "ts" { + value 124; + description + "Tsonga"; + } + enum "tt" { + value 125; + description + "Tatar"; + } + enum "tw" { + value 126; + description + "Twi"; + } + enum "ug" { + value 127; + description + "Uighur"; + } + enum "uk" { + value 128; + description + "Ukrainian"; + } + enum "ur" { + value 129; + description + "Urdu"; + } + enum "uz" { + value 130; + description + "Uzbek"; + } + enum "vi" { + value 131; + description + "Vietnamese"; + } + enum "vo" { + value 132; + description + "Volapuk"; + } + enum "wo" { + value 133; + description + "Wolof"; + } + enum "xh" { + value 134; + description + "Xhosa"; + } + enum "yi" { + value 135; + description + "Yiddish"; + } + enum "yo" { + value 136; + description + "Yoruba"; + } + enum "za" { + value 137; + description + "Zhuang"; + } + enum "zh" { + value 138; + description + "Chinese"; + } + enum "zu" { + value 139; + description + "Zulu"; + } + } + description + "Define the language"; + } + leaf country { + type enumeration { + enum "AD" { + value 1; + description + "Andorra"; + } + enum "AE" { + value 2; + description + "United Arab Emirates"; + } + enum "AF" { + value 3; + description + "Afghanistan"; + } + enum "AG" { + value 4; + description + "Antigua and Barbuda"; + } + enum "AI" { + value 5; + description + "Anguilla"; + } + enum "AL" { + value 6; + description + "Albania"; + } + enum "AM" { + value 7; + description + "Armenia"; + } + enum "AN" { + value 8; + description + "Netherlands Antilles"; + } + enum "AO" { + value 9; + description + "Angola"; + } + enum "AQ" { + value 10; + description + "Antarctica"; + } + enum "AR" { + value 11; + description + "Argentina"; + } + enum "AS" { + value 12; + description + "American Samoa"; + } + enum "AT" { + value 13; + description + "Austria"; + } + enum "AU" { + value 14; + description + "Australia"; + } + enum "AW" { + value 15; + description + "Aruba"; + } + enum "AZ" { + value 16; + description + "Azerbaijan"; + } + enum "BA" { + value 17; + description + "Bosnia and Herzegovina"; + } + enum "BB" { + value 18; + description + "Barbados"; + } + enum "BD" { + value 19; + description + "Bangladesh"; + } + enum "BE" { + value 20; + description + "Belgium"; + } + enum "BF" { + value 21; + description + "Burkina Faso"; + } + enum "BG" { + value 22; + description + "Bulgaria"; + } + enum "BH" { + value 23; + description + "Bahrain"; + } + enum "BI" { + value 24; + description + "Burundi"; + } + enum "BJ" { + value 25; + description + "Benin"; + } + enum "BM" { + value 26; + description + "Bermuda"; + } + enum "BN" { + value 27; + description + "Brunei Darussalam"; + } + enum "BO" { + value 28; + description + "Bolivia"; + } + enum "BR" { + value 29; + description + "Brazil"; + } + enum "BS" { + value 30; + description + "Bahamas"; + } + enum "BT" { + value 31; + description + "Bhutan"; + } + enum "BV" { + value 32; + description + "Bouvet Island"; + } + enum "BW" { + value 33; + description + "Botswana"; + } + enum "BY" { + value 34; + description + "Belarus"; + } + enum "BZ" { + value 35; + description + "Belize"; + } + enum "CA" { + value 36; + description + "Canada"; + } + enum "CC" { + value 37; + description + "Cocos (Keeling) Islands"; + } + enum "CD" { + value 38; + description + "Congo, The Democratic Republic of the (Zaire)"; + } + enum "CF" { + value 39; + description + "Central African Republic"; + } + enum "CG" { + value 40; + description + "Congo"; + } + enum "CH" { + value 41; + description + "Switzerland"; + } + enum "CI" { + value 42; + description + "Cote D'Ivoire"; + } + enum "CK" { + value 43; + description + "Cook Islands"; + } + enum "CL" { + value 44; + description + "Chile"; + } + enum "CM" { + value 45; + description + "Cameroon"; + } + enum "CN" { + value 46; + description + "China"; + } + enum "CO" { + value 47; + description + "Colombia"; + } + enum "CR" { + value 48; + description + "Costa Rica"; + } + enum "CU" { + value 49; + description + "Cuba"; + } + enum "CV" { + value 50; + description + "Cape Verde"; + } + enum "CX" { + value 51; + description + "Christmas Island"; + } + enum "CY" { + value 52; + description + "Cyprus"; + } + enum "CZ" { + value 53; + description + "Czech Republic"; + } + enum "DE" { + value 54; + description + "Germany"; + } + enum "DJ" { + value 55; + description + "Djibouti"; + } + enum "DK" { + value 56; + description + "Denmark"; + } + enum "DM" { + value 57; + description + "Dominica"; + } + enum "DO" { + value 58; + description + "Dominican Republic"; + } + enum "DZ" { + value 59; + description + "Algeria"; + } + enum "EC" { + value 60; + description + "Ecuador"; + } + enum "EE" { + value 61; + description + "Estonia"; + } + enum "EG" { + value 62; + description + "Egypt"; + } + enum "EH" { + value 63; + description + "Western Sahara"; + } + enum "ER" { + value 64; + description + "Eritrea"; + } + enum "ES" { + value 65; + description + "Spain"; + } + enum "ET" { + value 66; + description + "Ethiopia"; + } + enum "FI" { + value 67; + description + "Finland"; + } + enum "FJ" { + value 68; + description + "Fiji"; + } + enum "FK" { + value 69; + description + "Falkland Islands (Malvinas)"; + } + enum "FM" { + value 70; + description + "Micronesia, Federated States of"; + } + enum "FO" { + value 71; + description + "Faroe Islands"; + } + enum "FR" { + value 72; + description + "France"; + } + enum "GA" { + value 73; + description + "Gabon"; + } + enum "GB" { + value 74; + description + "United Kingdom"; + } + enum "GD" { + value 75; + description + "Grenada"; + } + enum "GE" { + value 76; + description + "Georgia"; + } + enum "GF" { + value 77; + description + "French Guiana"; + } + enum "GH" { + value 78; + description + "Ghana"; + } + enum "GI" { + value 79; + description + "Gibraltar"; + } + enum "GL" { + value 80; + description + "Greenland"; + } + enum "GM" { + value 81; + description + "Gambia"; + } + enum "GN" { + value 82; + description + "Guinea"; + } + enum "GP" { + value 83; + description + "Guadeloupe"; + } + enum "GQ" { + value 84; + description + "Equatorial Guinea"; + } + enum "GR" { + value 85; + description + "Greece"; + } + enum "GS" { + value 86; + description + "South Georgia and the South Sandwich Islands"; + } + enum "GT" { + value 87; + description + "Guatemala"; + } + enum "GU" { + value 88; + description + "Guam"; + } + enum "GW" { + value 89; + description + "Guinea-Bissau"; + } + enum "GY" { + value 90; + description + "Guyana"; + } + enum "HK" { + value 91; + description + "Hong Kong"; + } + enum "HM" { + value 92; + description + "Heard Island and McDonald Islands"; + } + enum "HN" { + value 93; + description + "Honduras"; + } + enum "HR" { + value 94; + description + "Croatia"; + } + enum "HT" { + value 95; + description + "Haiti"; + } + enum "HU" { + value 96; + description + "Hungary"; + } + enum "ID" { + value 97; + description + "Indonesia"; + } + enum "IE" { + value 98; + description + "Ireland"; + } + enum "IL" { + value 99; + description + "Israel"; + } + enum "IN" { + value 100; + description + "India"; + } + enum "IO" { + value 101; + description + "British Indian Ocean Territory"; + } + enum "IQ" { + value 102; + description + "Iraq"; + } + enum "IR" { + value 103; + description + "Iran, Islamic Republic of"; + } + enum "IS" { + value 104; + description + "Iceland"; + } + enum "IT" { + value 105; + description + "Italy"; + } + enum "JM" { + value 106; + description + "Jamaica"; + } + enum "JO" { + value 107; + description + "Jordan"; + } + enum "JP" { + value 108; + description + "Japan"; + } + enum "KE" { + value 109; + description + "Kenya"; + } + enum "KG" { + value 110; + description + "Kyrgyzstan"; + } + enum "KH" { + value 111; + description + "Cambodia"; + } + enum "KI" { + value 112; + description + "Kiribati"; + } + enum "KM" { + value 113; + description + "Comoros"; + } + enum "KN" { + value 114; + description + "Saint Kitts and Nevis"; + } + enum "KP" { + value 115; + description + "Korea, Democratic People's Republic of"; + } + enum "KR" { + value 116; + description + "Korea, Republic of"; + } + enum "KW" { + value 117; + description + "Kuwait"; + } + enum "KY" { + value 118; + description + "Cayman Islands"; + } + enum "KZ" { + value 119; + description + "Kazakstan"; + } + enum "LA" { + value 120; + description + "Lao People's Democratic Republic"; + } + enum "LB" { + value 121; + description + "Lebanon"; + } + enum "LC" { + value 122; + description + "Saint Lucia"; + } + enum "LI" { + value 123; + description + "Liechtenstein"; + } + enum "LK" { + value 124; + description + "Sri Lanka"; + } + enum "LR" { + value 125; + description + "Liberia"; + } + enum "LS" { + value 126; + description + "Lesotho"; + } + enum "LT" { + value 127; + description + "Lithuania"; + } + enum "LU" { + value 128; + description + "Luxembourg"; + } + enum "LV" { + value 129; + description + "Latvia"; + } + enum "LY" { + value 130; + description + "Libyan Arab Jamahiriya"; + } + enum "MA" { + value 131; + description + "Morocco"; + } + enum "MC" { + value 132; + description + "Monaco"; + } + enum "MD" { + value 133; + description + "Moldova, Republic of"; + } + enum "MG" { + value 134; + description + "Madagascar"; + } + enum "MH" { + value 135; + description + "Marshall Islands"; + } + enum "MK" { + value 136; + description + "Macedonia, The Former Yugoslav Republic of"; + } + enum "ML" { + value 137; + description + "Mali"; + } + enum "MM" { + value 138; + description + "Myanmar"; + } + enum "MN" { + value 139; + description + "Mongolia"; + } + enum "MO" { + value 140; + description + "Macau"; + } + enum "MP" { + value 141; + description + "Northern Mariana Islands"; + } + enum "MQ" { + value 142; + description + "Martinique"; + } + enum "MR" { + value 143; + description + "Mauritania"; + } + enum "MS" { + value 144; + description + "Montserrat"; + } + enum "MT" { + value 145; + description + "Malta"; + } + enum "MU" { + value 146; + description + "Mauritius"; + } + enum "MV" { + value 147; + description + "Maldives"; + } + enum "MW" { + value 148; + description + "Malawi"; + } + enum "MX" { + value 149; + description + "Mexico"; + } + enum "MY" { + value 150; + description + "Malaysia"; + } + enum "MZ" { + value 151; + description + "Mozambique"; + } + enum "NA" { + value 152; + description + "Namibia"; + } + enum "NC" { + value 153; + description + "New Caledonia"; + } + enum "NE" { + value 154; + description + "Niger"; + } + enum "NF" { + value 155; + description + "Norfolk Island"; + } + enum "NG" { + value 156; + description + "Nigeria"; + } + enum "NI" { + value 157; + description + "Nicaragua"; + } + enum "NL" { + value 158; + description + "Netherlands"; + } + enum "NO" { + value 159; + description + "Norway"; + } + enum "NP" { + value 160; + description + "Nepal"; + } + enum "NR" { + value 161; + description + "Nauru"; + } + enum "NU" { + value 162; + description + "Niue"; + } + enum "NZ" { + value 163; + description + "New Zealand"; + } + enum "OM" { + value 164; + description + "Oman"; + } + enum "PA" { + value 165; + description + "Panama"; + } + enum "PE" { + value 166; + description + "Peru"; + } + enum "PF" { + value 167; + description + "French Polynesia"; + } + enum "PG" { + value 168; + description + "Papua New Guinea"; + } + enum "PH" { + value 169; + description + "Philippines"; + } + enum "PK" { + value 170; + description + "Pakistan"; + } + enum "PL" { + value 171; + description + "Poland"; + } + enum "PM" { + value 172; + description + "Saint Pierre and Miquelon"; + } + enum "PN" { + value 173; + description + "Pitcairn"; + } + enum "PR" { + value 174; + description + "Puerto Rico"; + } + enum "PT" { + value 175; + description + "Portugal"; + } + enum "PW" { + value 176; + description + "Palau"; + } + enum "PY" { + value 177; + description + "Paraguay"; + } + enum "QA" { + value 178; + description + "Qatar"; + } + enum "RE" { + value 179; + description + "Reunion"; + } + enum "RO" { + value 180; + description + "Romania"; + } + enum "RU" { + value 181; + description + "Russian Federation"; + } + enum "RW" { + value 182; + description + "Rwanda"; + } + enum "SA" { + value 183; + description + "Saudi Arabia"; + } + enum "SB" { + value 184; + description + "Solomon Islands"; + } + enum "SC" { + value 185; + description + "Seychelles"; + } + enum "SD" { + value 186; + description + "Sudan"; + } + enum "SE" { + value 187; + description + "Sweden"; + } + enum "SG" { + value 188; + description + "Singapore"; + } + enum "SH" { + value 189; + description + "Saint Helena"; + } + enum "SI" { + value 190; + description + "Slovenia"; + } + enum "SJ" { + value 191; + description + "Svalbard and Jan Mayen"; + } + enum "SK" { + value 192; + description + "Slovakia"; + } + enum "SL" { + value 193; + description + "Sierra Leone"; + } + enum "SM" { + value 194; + description + "San Marino"; + } + enum "SN" { + value 195; + description + "Senegal"; + } + enum "SO" { + value 196; + description + "Somalia"; + } + enum "SR" { + value 197; + description + "Suriname"; + } + enum "ST" { + value 198; + description + "Sao Tome and Principe"; + } + enum "SV" { + value 199; + description + "El Salvador"; + } + enum "SY" { + value 200; + description + "Syrian Arab Republic"; + } + enum "SZ" { + value 201; + description + "Swaziland"; + } + enum "TC" { + value 202; + description + "Turks and Caicos Islands"; + } + enum "TD" { + value 203; + description + "Chad"; + } + enum "TF" { + value 204; + description + "French Southern Territories"; + } + enum "TG" { + value 205; + description + "Togo"; + } + enum "TH" { + value 206; + description + "Thailand"; + } + enum "TJ" { + value 207; + description + "Tajikistan"; + } + enum "TK" { + value 208; + description + "Tokelau"; + } + enum "TM" { + value 209; + description + "Turkmenistan"; + } + enum "TN" { + value 210; + description + "Tunisia"; + } + enum "TO" { + value 211; + description + "Tonga"; + } + enum "TP" { + value 212; + description + "East Timor"; + } + enum "TR" { + value 213; + description + "Turkey"; + } + enum "TT" { + value 214; + description + "Trinidad and Tobago"; + } + enum "TV" { + value 215; + description + "Tuvalu"; + } + enum "TW" { + value 216; + description + "Taiwan, Province of China"; + } + enum "TZ" { + value 217; + description + "Tanzania, United Republic of"; + } + enum "UA" { + value 218; + description + "Ukraine"; + } + enum "UG" { + value 219; + description + "Uganda"; + } + enum "UM" { + value 220; + description + "United States Minor Outlying Islands"; + } + enum "US" { + value 221; + description + "United States"; + } + enum "UY" { + value 222; + description + "Uruguay"; + } + enum "UZ" { + value 223; + description + "Uzbekistan"; + } + enum "VA" { + value 224; + description + "Holy See (Vatican City State)"; + } + enum "VC" { + value 225; + description + "Saint Vincent and The Grenadines"; + } + enum "VE" { + value 226; + description + "Venezuela"; + } + enum "VG" { + value 227; + description + "Virgin Islands, British"; + } + enum "VI" { + value 228; + description + "Virgin Islands, U.S."; + } + enum "VN" { + value 229; + description + "Vietnam"; + } + enum "VU" { + value 230; + description + "Vanuatu"; + } + enum "WF" { + value 231; + description + "Wallis and Futuna"; + } + enum "WS" { + value 232; + description + "Samoa"; + } + enum "YE" { + value 233; + description + "Yemen"; + } + enum "YT" { + value 234; + description + "Mayotte"; + } + enum "YU" { + value 235; + description + "Yugoslavia"; + } + enum "ZA" { + value 236; + description + "South Africa"; + } + enum "ZM" { + value 237; + description + "Zambia"; + } + enum "ZW" { + value 238; + description + "Zimbabwe"; + } + } + description + "Define the country"; + } + } + container banners { + description + "Define a login banner"; + list banner { + key "banner-type"; + description + "configure this node"; + leaf banner-type { + type enumeration { + enum "exec" { + value 0; + description + "Set EXEC process creation banner"; + } + enum "incoming" { + value 1; + description + "Set incoming terminal line banner"; + } + enum "motd" { + value 2; + description + "Set Message of the Day banner"; + } + enum "login" { + value 3; + description + "Set login banner"; + } + enum "slip-ppp" { + value 4; + description + "Set Message for SLIP/PPP"; + } + enum "prompt-timeout" { + value 5; + description + "Set Message for login authentication timeout"; + } + } + description + "configure this node"; + } + leaf line { + type string; + mandatory true; + description + "c banner-text c, where 'c' is a delimiting character"; + } + } + } + container default-value { + description + "Default character-bits values"; + leaf exec-character-bits { + type uint32 { + range "7..8" { + description + "Bits per character"; + } + } + description + "Size of characters to the command exec"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-bfd-sbfd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-bfd-sbfd-cfg.yang new file mode 100644 index 000000000..2ca6b6f43 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-bfd-sbfd-cfg.yang @@ -0,0 +1,537 @@ +module Cisco-IOS-XR-um-bfd-sbfd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-bfd-sbfd-cfg"; + prefix um-bfd-sbfd-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR bfd-sbfd package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-18 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container bfd { + presence "Indicates a bfd node is configured."; + description + "Enable BFD traps"; + } + } + container bfd { + description + "Global BFD configuration commands"; + container echo { + description + "Configure BFD echo parameters"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable BFD echo mode"; + } + container latency { + description + "Configure BFD echo latency features"; + container detect { + presence "Indicates a detect node is configured."; + description + "Enable BFD echo latency detection"; + leaf percentage { + type uint32 { + range "100..250" { + description + "Percentage value (default 100)"; + } + } + description + "Percentage of detection time to consider as bad latency"; + } + leaf count { + type uint32 { + range "1..10" { + description + "Count value (default 1)"; + } + } + must "../percentage"; + description + "Count of consecutive bad latency packets to take session down"; + } + } + } + container startup { + description + "Configure BFD echo startup feature"; + container validate { + presence "Indicates a validate node is configured."; + description + "Enable BFD echo validation prior to session bringup"; + container force { + presence "Indicates a force node is configured."; + description + "Ignore remote 'Required Min Echo RX Interval' setting"; + } + } + } + container ipv4 { + description + "IPv4 commands"; + leaf source { + type inet:ipv4-address-no-zone; + description + "BFD echo source IP address"; + } + container bundle-per-member { + description + "Configure echo for all the micro BFD sessions over Bundles"; + container minimum-interval { + description + "Set the preferred minimum interval for the BFD session"; + leaf preferred-minimum-interval { + type uint32 { + range "15..2000" { + description + "The preferred minimum interval (in ms) for the BFD session"; + } + } + description + "The preferred minimum interval (in ms) for the BFD session"; + } + } + } + } + } + container trap { + description + "Configure BFD trap parameters"; + container singlehop { + description + "Configure BFD mode"; + container pre-mapped { + presence "Indicates a pre-mapped node is configured."; + description + "Configure BFD trap pre-mapped"; + } + } + } + container multipath { + description + "Configure BFD multiple path"; + container include { + description + "Include a LC node"; + container locations { + description + "Specify a location"; + list location { + key "location-name"; + description + "Specify a location"; + leaf location-name { + type xr:Node-id; + description + "Specify a location"; + } + } + } + } + } + container multihop { + description + "Configure BFD multihop"; + leaf ttl-drop-threshold { + type uint32 { + range "0..254" { + description + "Drop Threshold"; + } + } + description + "TTL Drop Threshold"; + } + } + container dampening { + description + "Configure BFD dampening intervals"; + leaf initial-wait { + type uint32 { + range "1..3600000" { + description + "Delay in milliseconds (default 2000)"; + } + } + description + "Initial delay before bringing up session"; + } + leaf secondary-wait { + type uint32 { + range "1..3600000" { + description + "Delay in milliseconds (default 5000)"; + } + } + description + "Secondary delay before bringing up session"; + } + leaf maximum-wait { + type uint32 { + range "1..3600000" { + description + "Delay in milliseconds (default 120000)"; + } + } + description + "Maximum delay before bringing up session"; + } + leaf threshold { + type uint32 { + range "60000..3600000" { + description + "Threshold in milliseconds (default 120000)"; + } + } + description + "Stability threshold to enable dampening"; + } + container extensions { + description + "Enable dampening extensions"; + container down-monitoring { + presence "Indicates a down-monitoring node is configured."; + description + "Enable DOWN state session monitoring extensions"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable BFD dampening"; + } + container bundle-member { + description + "Configure BFD dampening for bfd over bundle per member feature"; + container l3-only-mode { + presence "Indicates a l3-only-mode node is configured."; + description + "Apply immediate dampening and only when failure is L3 specific"; + } + leaf initial-wait { + type uint32 { + range "1..518400000" { + description + "Delay in milliseconds (default 16000)"; + } + } + description + "Initial delay before bringing up session"; + } + leaf secondary-wait { + type uint32 { + range "1..518400000" { + description + "Delay in milliseconds (default 20000)"; + } + } + description + "Secondary delay before bringing up session"; + } + leaf maximum-wait { + type uint32 { + range "1..518400000" { + description + "Delay in milliseconds (default 600000)"; + } + } + description + "Maximum delay before bringing up session"; + } + } + } + container bundle { + description + "Option for BFD over Bundle"; + container coexistence { + description + "How BFD bundle features coexist"; + container bob-blb { + description + "Coexistence for BoB and BLB"; + container inherit { + must "not(../logical)"; + presence "Indicates a inherit node is configured."; + description + "Use inheritence mechanism"; + } + container logical { + must "not(../inherit)"; + presence "Indicates a logical node is configured."; + description + "Use BFD logical Bundle natively"; + } + } + } + } + container interfaces { + description + "Configure BFD on an interface"; + list interface { + key "interface-name"; + description + "Configure BFD on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Configure BFD on an interface"; + } + container echo { + presence "Indicates a echo node is configured."; + description + "Configure BFD echo mode"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable BFD echo mode for this interface"; + } + container ipv4 { + description + "IPv4 commands"; + leaf source { + type inet:ipv4-address-no-zone; + description + "BFD echo source IP address"; + } + } + } + container ipv6 { + description + "Configure BFD ipv6 checksum mode"; + container checksum { + presence "Indicates a checksum node is configured."; + description + "IPv6 checksum commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable BFD ipv6 checksum mode for this interface"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable BFD for this interface"; + } + leaf local-address { + type inet:ip-address-no-zone; + description + "Local address to be used by BFD for this interface"; + } + leaf tx-interval { + type uint32 { + range "3000..30000000" { + description + "tx interval in microseconds"; + } + } + description + "BFD TX Interval for this interface in microseconds"; + } + leaf rx-interval { + type uint32 { + range "3000..30000000" { + description + "rx interval in microseconds"; + } + } + description + "BFD RX Interval for this interface in microseconds"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "multiplier"; + } + } + description + "BFD multiplier for this interface"; + } + } + } + container ipv6 { + description + "Ipv6 BFD checksum"; + container checksum { + description + "Configure BFD checksum parameters"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable BFD checksum"; + } + } + } + } + container sbfd { + description + "Global SBFD configuration commands"; + container local-discriminator { + description + "configure local-discriminator"; + container local-discriminators { + description + "32-bit local-discriminator"; + list local-discriminator { + key "local-discriminator-value"; + description + "32-bit local-discriminator"; + leaf local-discriminator-value { + type uint32 { + range "1..4294967295" { + description + "32-bit local-discriminator"; + } + } + description + "32-bit local-discriminator"; + } + } + } + container ip-addresses { + description + "ipv4 address as local-discriminator"; + list ip-address { + key "address"; + description + "ipv4 address as local-discriminator"; + leaf address { + type inet:ipv4-address-no-zone; + description + "ipv4 address as local-discriminator"; + } + } + } + container dynamic { + presence "Indicates a dynamic node is configured."; + description + "configure local-discriminator dynamically"; + } + container interfaces { + description + "Interface whose IPv4 address is to be used as local discriminator"; + list interface { + key "interface-name"; + description + "Interface whose IPv4 address is to be used as local discriminator"; + leaf interface-name { + type xr:Interface-name; + description + "Interface whose IPv4 address is to be used as local discriminator"; + } + } + } + } + container remote-target { + description + "configure remote-target"; + container ipv4s { + description + "Ipv4 address only"; + list ipv4 { + key "address"; + description + "Ipv4 address only"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Ipv4 address only"; + } + container remote-discriminators { + description + "Configure remote-discriminator"; + list remote-discriminator { + key "remote-discriminator-value"; + description + "32-bit remote-discriminator"; + leaf remote-discriminator-value { + type uint32 { + range "1..4294967295" { + description + "32-bit remote-discriminator"; + } + } + description + "32-bit remote-discriminator"; + } + } + } + } + } + container ipv6s { + description + "Ipv6 address only"; + list ipv6 { + key "address"; + description + "Ipv6 address only"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Ipv6 address only"; + } + container remote-discriminators { + description + "Configure remote-discriminator"; + list remote-discriminator { + key "remote-discriminator-value"; + description + "32-bit remote-discriminator"; + leaf remote-discriminator-value { + type uint32 { + range "1..4294967295" { + description + "32-bit remote-discriminator"; + } + } + description + "32-bit remote-discriminator"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-call-home-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-call-home-cfg.yang new file mode 100644 index 000000000..f1cab841e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-call-home-cfg.yang @@ -0,0 +1,1182 @@ +module Cisco-IOS-XR-um-call-home-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-call-home-cfg"; + prefix um-call-home-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR call-home package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-15 { + description + "Added disable node for email and http under container transport-method"; + semver:module-version "2.0.1m"; + } + revision 2021-10-12 { + description + "Removed node all under container reporting"; + semver:module-version "2.0.0"; + } + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature is_config_supported_by_cli { + description + "is config supported by cli"; + } + + feature is_diagnostic_supported_by_cli { + description + "is diagnostic supported by cli"; + } + + feature is_inv_supported_by_cli { + description + "is inv supported by cli"; + } + + feature is_env_supported_by_cli { + description + "is env supported by cli"; + } + + feature is_syslog_supported_by_cli { + description + "is syslog supported by cli"; + } + + feature is_crash_supported_by_cli { + description + "is crash supported by cli"; + } + + feature is_snapshot_supported_by_cli { + description + "is snapshot supported by cli"; + } + + feature is_callhome_v2_support { + description + "is callhome v2 support"; + } + + feature is_smart_license_support { + description + "is smart license support"; + } + + container call-home { + description + "Enter call-home configuration mode"; + container service { + description + "Enable or disable Call-home service"; + container active { + presence "Indicates a active node is configured."; + description + "Enable Call-home service"; + } + } + container mail-servers { + description + "Configure call-home mail_server"; + list mail-server { + key "mail-server-name"; + description + "Configure call-home mail_server"; + leaf mail-server-name { + type string { + length "1..800" { + description + "Email server"; + } + } + description + "Configure call-home mail_server"; + } + leaf priority { + type uint32 { + range "1..100" { + description + "Mail server with lower # will be used first"; + } + } + mandatory true; + description + "Mail server priority order"; + } + } + } + container alert-group { + description + "Enable or disable alert-group"; + container configuration { + if-feature "is_config_supported_by_cli"; + presence "Indicates a configuration node is configured."; + description + "configuration info"; + } + container diagnostic { + if-feature "is_diagnostic_supported_by_cli"; + presence "Indicates a diagnostic node is configured."; + description + "diagnostic info"; + } + container inventory { + if-feature "is_inv_supported_by_cli"; + presence "Indicates a inventory node is configured."; + description + "inventory info"; + } + container environment { + if-feature "is_env_supported_by_cli"; + presence "Indicates a environment node is configured."; + description + "environmental info"; + } + container syslog { + if-feature "is_syslog_supported_by_cli"; + presence "Indicates a syslog node is configured."; + description + "syslog info"; + } + container crash { + if-feature "is_crash_supported_by_cli"; + presence "Indicates a crash node is configured."; + description + "crash and traceback info"; + } + container snapshot { + if-feature "is_snapshot_supported_by_cli"; + presence "Indicates a snapshot node is configured."; + description + "snapshot info"; + } + } + container sender { + description + "Call home msg's sender email addresses"; + leaf from { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Email address"; + } + } + description + "Call home msg's from email address"; + } + leaf reply-to { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Email address"; + } + } + description + "Call home msg's reply-to email address"; + } + } + leaf contact-email-addr { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Contact person's email address"; + } + } + description + "System Contact's email address"; + } + container contact { + description + "System Contact"; + container smart-licensing { + presence "Indicates a smart-licensing node is configured."; + description + "System Contact is Smart-Licensing"; + } + } + leaf phone-number { + type xr:Cisco-ios-xr-string { + length "1..17" { + 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 16 characters. If you include spaces, you must enclose your entry in quotes."; + } + } + description + "Phone number of the contact person"; + } + leaf street-address { + type string { + length "1..200" { + description + "Street address, city, state, and zip code."; + } + } + description + "Street address for RMA part shipments"; + } + leaf customer-id { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Alphanumeric customer identification."; + } + } + description + "Customer identification for Cisco Smart Call Home"; + } + leaf contract-id { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Alphanumeric contract identification."; + } + } + description + "Contract identification for Cisco Smart Call Home"; + } + leaf site-id { + type xr:Cisco-ios-xr-string { + length "1..200" { + description + "Alphanumeric site identification."; + } + } + description + "Site identification for Cisco Smart Call Home"; + } + leaf rate-limit { + type uint32 { + range "1..5" { + description + "Call-home event trigger rate-limit threshold per minute"; + } + } + description + "Configure call-home event trigger rate-limit threshold"; + } + container data-privacy { + if-feature "is_callhome_v2_support"; + description + "Set call-home data-privacy"; + container hostname { + presence "Indicates a hostname node is configured."; + description + "Level hostname"; + } + container level { + description + "Set call-home data-privacy level"; + container normal { + must "not(../high)"; + presence "Indicates a normal node is configured."; + description + "Level normal"; + } + container high { + must "not(../normal)"; + presence "Indicates a high node is configured."; + description + "Level high"; + } + } + } + container http-proxy { + if-feature "is_callhome_v2_support"; + presence "Indicates a http-proxy node is configured."; + description + "Specify proxy server for http request"; + leaf server-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Http proxy server"; + } + } + mandatory true; + description + "Specify proxy server for http request"; + } + leaf port { + type uint32 { + range "1..65535" { + description + "http proxy server port number"; + } + } + description + "proxy server port number"; + } + } + leaf source-interface { + if-feature "is_callhome_v2_support"; + type xr:Interface-name; + description + "Source interface name to send call-home messages"; + } + container syslog-throttling { + if-feature "is_callhome_v2_support"; + presence "Indicates a syslog-throttling node is configured."; + description + "Enable or disable call-home syslog message throttling"; + } + leaf vrf { + if-feature "is_callhome_v2_support"; + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF instance name"; + } + } + description + "VPN Routing/Forwarding instance name"; + } + container aaa-authorization { + if-feature "is_callhome_v2_support"; + description + "Config aaa authorization"; + container active { + presence "Indicates an active node is configured."; + description + "Activate aaa authorization"; + } + leaf username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "username"; + } + } + description + "Username for authorization, default is 'callhome'"; + } + } + container profiles { + description + "Enter call-home profile configuration mode"; + list profile { + key "profile-name"; + description + "Enter call-home profile configuration mode"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Profile name(case insensitive)"; + } + } + description + "Enter call-home profile configuration mode"; + } + container active { + presence "Indicates a active node is configured."; + description + "Activate the current profile"; + } + container destination { + description + "Message destination related configuration"; + container addresses { + description + "To add destination address to this profile"; + list address { + key "address-type destination-address"; + description + "To add destination address to this profile"; + leaf address-type { + type enumeration { + enum "email" { + value 1; + description + "To add email address to this profile"; + } + enum "http" { + value 2; + description + "To add http address to this profile"; + } + } + description + "To add destination address to this profile"; + } + leaf destination-address { + type string { + length "1..200" { + description + "Destination address (1-200) characters"; + } + } + description + "Destination address (1-200) characters"; + } + } + } + leaf message-size-limit { + type uint32 { + range "50..3145728" { + description + "Maximum call-home message size"; + } + } + description + "To specify message size limit for this profile"; + } + container preferred-msg-format { + description + "To specify message format for this profile"; + container short-text { + must "not(../long-text)"; + presence "Indicates a short-text node is configured."; + description + "Send short text format message"; + } + container long-text { + must "not(../short-text)"; + presence "Indicates a long-text node is configured."; + description + "Send long text format message"; + } + } + container transport-method { + description + "To specify transport method for this profile"; + container email { + presence "Indicates a email node is configured."; + description + "Enable email as transport method"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + container http { + presence "Indicates a http node is configured."; + description + "Enable http as transport method"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + } + container reporting { + if-feature "is_smart_license_support"; + description + "Choose what data to report"; + container smart-call-home-data { + presence "Indicates a smart-call-home-data node is configured."; + description + "Report Smart Call Home data"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + container smart-licensing-data { + presence "Indicates a smart-licensing-data node is configured."; + description + "Report Smart Licensing data"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + container subscribe-to-alert-group { + if-feature "is_config_supported_by_cli"; + description + "Subscribe to alert-group"; + container configuration { + description + "configuration info"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable configuration info"; + } + container periodic { + description + "Periodic call-home message"; + container daily { + must "not(../weekly or ../monthly)"; + presence "Indicates a daily node is configured."; + description + "Daily call-home message"; + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + container weekly { + must "not(../daily or ../monthly)"; + presence "Indicates a weekly node is configured."; + description + "Weekly call-home message"; + leaf day-of-week { + type enumeration { + enum "sunday" { + value 0; + description + "sunday"; + } + enum "monday" { + value 1; + description + "monday"; + } + enum "tuesday" { + value 2; + description + "tuesday"; + } + enum "wednesday" { + value 3; + description + "wednesday"; + } + enum "thursday" { + value 4; + description + "thursday"; + } + enum "friday" { + value 5; + description + "friday"; + } + enum "saturday" { + value 6; + description + "saturday"; + } + } + mandatory true; + description + "Day of week"; + } + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + container monthly { + must "not(../daily or ../weekly)"; + presence "Indicates a monthly node is configured."; + description + "Monthly call-home message"; + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of month"; + } + } + mandatory true; + description + "Day of month"; + } + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + } + } + container inventory { + description + "inventory info"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable inventory info"; + } + container periodic { + description + "Periodic call-home message"; + container daily { + must "not(../weekly or ../monthly)"; + presence "Indicates a daily node is configured."; + description + "Daily call-home message"; + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + container weekly { + must "not(../daily or ../monthly)"; + presence "Indicates a weekly node is configured."; + description + "Weekly call-home message"; + leaf day-of-week { + type enumeration { + enum "sunday" { + value 0; + description + "sunday"; + } + enum "monday" { + value 1; + description + "monday"; + } + enum "tuesday" { + value 2; + description + "tuesday"; + } + enum "wednesday" { + value 3; + description + "wednesday"; + } + enum "thursday" { + value 4; + description + "thursday"; + } + enum "friday" { + value 5; + description + "friday"; + } + enum "saturday" { + value 6; + description + "saturday"; + } + } + mandatory true; + description + "Day of week"; + } + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + container monthly { + must "not(../daily or ../weekly)"; + presence "Indicates a monthly node is configured."; + description + "Monthly call-home message"; + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of month"; + } + } + mandatory true; + description + "Day of month"; + } + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + } + } + container environment { + if-feature "is_env_supported_by_cli"; + description + "environmental info"; + leaf severity { + type enumeration { + enum "debugging" { + value 0; + description + "Debugging event"; + } + enum "normal" { + value 1; + description + "Normal event"; + } + enum "notification" { + value 2; + description + "Notification event"; + } + enum "warning" { + value 3; + description + "Warning event"; + } + enum "minor" { + value 4; + description + "Minor event"; + } + enum "major" { + value 5; + description + "Major event"; + } + enum "critical" { + value 6; + description + "Critical event"; + } + enum "fatal" { + value 7; + description + "Fatal event"; + } + enum "disaster" { + value 8; + description + "Disaster event"; + } + enum "catastrophic" { + value 9; + description + "Catastrophic event"; + } + } + description + "Severity"; + } + } + container syslog { + if-feature "is_syslog_supported_by_cli"; + description + "syslog info"; + container patterns { + description + "Syslog message pattern"; + list pattern { + key "pattern-string"; + description + "Syslog message pattern"; + leaf pattern-string { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "Syslog message pattern to be matched"; + } + } + description + "Syslog message pattern"; + } + leaf severity { + type enumeration { + enum "normal" { + value 1; + description + "Normal event"; + } + enum "notification" { + value 2; + description + "Notification event"; + } + enum "warning" { + value 3; + description + "Warning event"; + } + enum "minor" { + value 4; + description + "Minor event"; + } + enum "major" { + value 5; + description + "Major event"; + } + enum "critical" { + value 6; + description + "Critical event"; + } + enum "fatal" { + value 7; + description + "Fatal event"; + } + enum "disaster" { + value 8; + description + "Disaster event"; + } + enum "catastrophic" { + value 9; + description + "Catastrophic event"; + } + } + mandatory true; + description + "Severity"; + } + } + } + } + container snapshot { + if-feature "is_snapshot_supported_by_cli"; + description + "snapshot info"; + container periodic { + description + "Periodic call-home message"; + container daily { + must "not(../weekly or ../monthly or ../interval or ../hourly)"; + presence "Indicates a daily node is configured."; + description + "Daily call-home message"; + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + container weekly { + must "not(../daily or ../monthly or ../hourly or ../interval)"; + presence "Indicates a weekly node is configured."; + description + "Weekly call-home message"; + leaf day-of-week { + type enumeration { + enum "sunday" { + value 0; + description + "sunday"; + } + enum "monday" { + value 1; + description + "monday"; + } + enum "tuesday" { + value 2; + description + "tuesday"; + } + enum "wednesday" { + value 3; + description + "wednesday"; + } + enum "thursday" { + value 4; + description + "thursday"; + } + enum "friday" { + value 5; + description + "friday"; + } + enum "saturday" { + value 6; + description + "saturday"; + } + } + mandatory true; + description + "Day of week"; + } + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + container monthly { + must "not(../daily or ../weekly or ../hourly or ../interval)"; + presence "Indicates a monthly node is configured."; + description + "Monthly call-home message"; + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of month"; + } + } + mandatory true; + description + "Day of month"; + } + leaf hour { + type uint32 { + range "0..23" { + description + "Hour"; + } + } + mandatory true; + description + "Hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Minute"; + } + } + mandatory true; + description + "Minute"; + } + } + container hourly { + must "not(../daily or ../weekly or ../monthly or ../interval)"; + presence "Indicates a monthly node is configured."; + description + "Hourly call-home message"; + leaf minute { + type uint32 { + range "0..59" { + description + "Minute of hour"; + } + } + mandatory true; + description + "Minute of hour"; + } + } + container interval { + must "not(../daily or ../weekly or ../monthly or ../hourly)"; + presence "Indicates a monthly node is configured."; + description + "Hourly call-home message"; + leaf minute { + type uint32 { + range "1..60" { + description + "Interval of minutes"; + } + } + mandatory true; + description + "Interval of minutes"; + } + } + } + } + container crash { + if-feature "is_crash_supported_by_cli"; + presence "Indicates a crash node is configured."; + description + "crash info"; + } + } + container anonymous-reporting-only { + presence "Indicates a anonymous-reporting-only node is configured."; + description + "Enable call-home anonymous reporting only"; + } + } + } + container alert-group-config { + description + "Enter call-home alert-group configuration mode"; + container snapshot { + description + "Enter snapshot configuration mode"; + container add-commands { + description + "Add CLI command"; + list add-command { + key "command-name"; + description + "Add CLI command"; + leaf command-name { + type string { + length "1..127" { + description + "CLI command (1-127) characters. If you include spaces, you must enclose + your entry in quotes."; + } + } + description + "Add CLI command"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cdp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cdp-cfg.yang new file mode 100644 index 000000000..7c7815346 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cdp-cfg.yang @@ -0,0 +1,114 @@ +module Cisco-IOS-XR-um-cdp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cdp-cfg"; + prefix um-cdp-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cdp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container cdp { + presence "Indicates a cdp node is configured."; + description + "Enable CDP on an interface"; + } + container cdp-mac-address { + description + "Configure CDP MAC address on interface"; + container ethernet-slow-protocols-mac { + presence "Indicates a ethernet-slow-protocols-mac node is configured."; + description + "Ethernet Slow-Protocols MAC, 01:80:c2:00:00:02"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container cdp { + description + "Configure global CDP subcommands"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable CDP"; + } + leaf holdtime { + type uint32 { + range "10..255" { + description + "Length of time (in sec) that receiver must keep this packet"; + } + } + description + "Specify the holdtime (in sec) to be sent in packets"; + } + leaf timer { + type uint32 { + range "5..254" { + description + "Rate at which CDP packets are sent (in sec)"; + } + } + description + "Specify the rate at which CDP packets are sent (in sec)"; + } + container advertise { + description + "Specify the version of CDP advertisements"; + container v1 { + presence "Indicates a v1 node is configured."; + description + "CDP sends version-1 advertisements only"; + } + } + container log { + description + "Configure CDP to log Events"; + container adjacency { + description + "Configure CDP to log adjacency data"; + container changes { + presence "Indicates a changes node is configured."; + description + "Configure CDP to log changes to adjacency table"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cef-accounting-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cef-accounting-cfg.yang new file mode 100644 index 000000000..83b0d55af --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cef-accounting-cfg.yang @@ -0,0 +1,292 @@ +module Cisco-IOS-XR-um-cef-accounting-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cef-accounting-cfg"; + prefix um-cef-accounting-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cef-accounting package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-21 { + description + "Added container hierarchical-load-balancing"; + semver:module-version "1.0.1m"; + } + revision 2021-02-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container cef { + description + "CEF configuration"; + container adjacency { + description + "Adjacency configuration"; + container route { + description + "Adjacency route configuration"; + container override { + description + "Set override options for adjacency routes"; + container rib { + presence "Indicates a rib node is configured."; + description + "Set options for adjacency routes overriding RIB routes"; + } + } + } + } + container pbts { + description + "PBTS configuration"; + container class { + description + "Forward class configuration"; + list forward-class { + must + "fallback-to/fallback-class-number or fallback-to/any or + fallback-to/drop"; + key "forward-class-number"; + description + "Forward Class number"; + leaf forward-class-number { + type union { + type enumeration { + enum "any" { + value 8; + description + "Any forward class"; + } + } + type uint32 { + range "0..7" { + description + "Forward Class number"; + } + } + } + description + "Forward Class number"; + } + container fallback-to { + description + "Fallback to configuration"; + leaf-list fallback-class-number { + type uint32 { + range "0..7" { + description + "Fallback Class number"; + } + } + must "not(../any or ../drop)"; + max-elements "7"; + description + "Fallback to configuration"; + } + container any { + must "not(../fallback-class-number or ../drop)"; + presence "Indicates a any node is configured."; + description + "Fallback to any class"; + } + container drop { + must "not(../any or ../fallback-class-number)"; + presence "Indicates a drop node is configured."; + description + "Fallback to drop"; + } + } + } + } + } + container platform { + description + "Platform parameters"; + container lsm { + description + "Label-switched-multicast parameters"; + leaf frr-holdtime { + type uint32 { + range "3..180" { + description + "Time in seconds"; + } + } + description + "Time to keep FRR slots programmed post FRR"; + } + } + } + container retry { + description + "Retry parameters"; + leaf service-time { + type uint32 { + range "1..15000" { + description + "Time in msec"; + } + } + description + "Retry service time (default 50 msec)"; + } + leaf timeout { + type uint32 { + range "1..30000" { + description + "Time in msec"; + } + } + description + "Retry timeout (default 15 msec)"; + } + leaf syslog-timer { + type uint32 { + range "0..86400" { + description + "Time in seconds (default 120 seconds)"; + } + } + description + "Syslog timer in seconds(default 120 seconds), 0 to disable"; + } + } + container encap-sharing { + description + "Disable MPLS encapsulation sharing"; + container disable { + presence "Indicates a disable node is configured."; + description + "Use this in conjunction with BGP per-prefix label mode"; + } + } + container consistent-hashing { + description + "Load balancing consistent hashing"; + container auto-recovery { + presence "Indicates a auto-recovery node is configured."; + description + "Automatically recover to previous hash state"; + } + } + container proactive-arp-nd { + description + "Proactive ARP/ND"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable proactive ARP/ND feature"; + } + } + leaf ltrace-multiplier { + type uint32 { + range "1..16" { + description + "numeric value of the multiplier"; + } + } + description + "ltrace multiplier"; + } + container hierarchical-load-balancing { + description + "Hierarchical load balancing"; + container ecmp { + presence "Indicates a ecmp node is configured."; + description + "ecmp hierarchical-load-balancing"; + leaf min-paths { + type uint32 { + range "1..128" { + description + "Number of paths. Warning: This configuration is disruptive"; + } + } + description + "Minimum paths for qualifying HLB"; + } + } + container ucmp { + presence "Indicates a ucmp node is configured."; + description + "ucmp hierarchical-load-balancing"; + leaf group-size { + type uint32 { + range "1..128" { + description + "Number of paths. Warning: This configuration is disruptive"; + } + } + description + "UCMP group size for HLB"; + } + } + } + } + container accounting { + presence "Indicates a accounting node is configured."; + description + "Enable accounting"; + container interfaces { + presence "Indicates a interfaces node is configured."; + description + "Enable interfaces submode"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "Enable MPLS accounting"; + container ipv4 { + description + "Enable IPv4 accounting"; + container rsvp-te { + presence "Indicates a rsvp-te node is configured."; + description + "Enable RSVP-TE accounting"; + } + } + } + container segment-routing { + description + "Enable Segment-Routing (SR) accounting"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "Enable SR MPLS accounting"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Enable IPv4 accounting"; + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "Enable IPv6 accounting"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cfg-mibs-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cfg-mibs-cfg.yang new file mode 100644 index 000000000..34fe39654 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cfg-mibs-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-cfg-mibs-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cfg-mibs-cfg"; + prefix um-cfg-mibs-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cfg-mibs package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container config { + presence "Indicates a config node is configured."; + description + "Enable SNMP config traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cinetd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cinetd-cfg.yang new file mode 100644 index 000000000..85b48ee5b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cinetd-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-um-cinetd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cinetd-cfg"; + prefix um-cinetd-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cinetd package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-27 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container cinetd { + description + "Global Cisco inetd configuration commands"; + leaf rate-limit { + type uint32 { + range "1..100" { + description + "Number of service requests accepted per second (default 1)"; + } + } + description + "Cisco inetd rate-limit of service requests"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cli-alias-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cli-alias-cfg.yang new file mode 100644 index 000000000..5b33ef2ee --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cli-alias-cfg.yang @@ -0,0 +1,282 @@ +module Cisco-IOS-XR-um-cli-alias-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cli-alias-cfg"; + prefix um-cli-alias-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cli-alias package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature classic-admin-config { + description + "Classic admin configuration supported"; + } + + container admin { + if-feature "classic-admin-config"; + description + "Admin configuration"; + container alias { + description + "Create an alias for entity"; + container aliases { + description + "Alias name"; + list alias { + key "alias-name"; + description + "Alias name"; + leaf alias-name { + type string { + length "1..30" { + description + "Alias name"; + } + } + description + "Alias name"; + } + leaf alias-body { + type string { + length "1..1014" { + description + "Alias body with optional parameters e.g,(name) show $name"; + } + } + mandatory true; + description + "Alias body with optional parameters e.g,(name) show $name"; + } + } + } + } + } + container service { + description + "Modify use of network based services"; + container cli { + description + "cli configuration services"; + container interactive { + description + "Change interactive behavior of commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable commands from being interactive"; + } + } + container indentation { + description + "indentation tracking"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable the indentation"; + } + } + container submode-exit { + description + "Exit submode when only '!' seen in interactive mode"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the feature"; + } + } + container commit-optimized { + description + "Enable optimization for regular commit"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the feature"; + } + } + container delete-optimize { + description + "Enable delete optimize configuration"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the feature"; + } + } + container configuration { + description + "allowing to configuration submode"; + container disable { + description + "disable for read-only access users"; + leaf usergroup { + type string { + length "1..800" { + description + "Usergroup name"; + } + } + description + "Disable config mode for usergroup"; + } + } + } + container history { + description + "cli commands history"; + leaf size { + type uint32 { + range "1000..5000" { + description + "maximum number of entries"; + } + } + description + "maximum number of commands in history"; + } + } + container flex-cli-local-override { + description + "Enable Flex cli local config override"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the feature"; + } + } + } + } + container logging { + description + "Modify message logging facilities"; + container suppress { + description + "Suppress logging behaviour"; + container deprecated { + presence "Indicates a deprecated node is configured."; + description + "Enable deprecated message display"; + } + } + } + container alias { + description + "Create an alias for entity"; + container aliases { + description + "Alias name"; + list alias { + key "alias-name"; + description + "Alias name"; + leaf alias-name { + type string { + length "1..30" { + description + "Alias name"; + } + } + description + "Alias name"; + } + leaf alias-body { + type string { + length "1..1014" { + description + "Alias body with optional parameters e.g,(name) show $name"; + } + } + mandatory true; + description + "Alias body with optional parameters e.g,(name) show $name"; + } + } + } + container exec { + description + "Exec command alias"; + list alias { + key "exec-alias-name"; + description + "Exec Alias name"; + leaf exec-alias-name { + type string { + length "1..30" { + description + "Exec Alias name"; + } + } + description + "Exec Alias name"; + } + leaf aliased-exec-command { + type string { + length "1..800" { + description + "Aliased exec command"; + } + } + mandatory true; + description + "Aliased exec command"; + } + } + } + container config { + description + "Config command alias"; + list alias { + key "config-alias-name"; + description + "Config Alias name"; + leaf config-alias-name { + type string { + length "1..30" { + description + "Config Alias name"; + } + } + description + "Config Alias name"; + } + leaf aliased-config-command { + type string { + length "1..800" { + description + "Aliased config command"; + } + } + mandatory true; + description + "Aliased config command"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-clock-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-clock-cfg.yang new file mode 100644 index 000000000..4234f4e34 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-clock-cfg.yang @@ -0,0 +1,2970 @@ +module Cisco-IOS-XR-um-clock-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-clock-cfg"; + prefix um-clock-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR clock package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container clock { + description + "Configure time-of-day clock"; + container timezone { + description + "Configure time zone"; + container Africa-Accra { + presence "Indicates this node is configured."; + description + "GMT Africa/Accra 0:00"; + } + container Africa-Addis_Ababa { + presence "Indicates this node is configured."; + description + "EAT Africa/Addis_Ababa 3:00"; + } + container Africa-Algiers { + presence "Indicates this node is configured."; + description + "CET Africa/Algiers 1:00"; + } + container Africa-Asmara { + presence "Indicates this node is configured."; + description + "EAT Africa/Asmara 3:00"; + } + container Africa-Asmera { + presence "Indicates this node is configured."; + description + "EAT Africa/Asmera 3:00"; + } + container Africa-Bamako { + presence "Indicates this node is configured."; + description + "GMT Africa/Bamako 0:00"; + } + container Africa-Bangui { + presence "Indicates this node is configured."; + description + "WAT Africa/Bangui 1:00"; + } + container Africa-Banjul { + presence "Indicates this node is configured."; + description + "GMT Africa/Banjul 0:00"; + } + container Africa-Bissau { + presence "Indicates this node is configured."; + description + "GMT Africa/Bissau 0:00"; + } + container Africa-Blantyre { + presence "Indicates this node is configured."; + description + "CAT Africa/Blantyre 2:00"; + } + container Africa-Brazzaville { + presence "Indicates this node is configured."; + description + "WAT Africa/Brazzaville 1:00"; + } + container Africa-Bujumbura { + presence "Indicates this node is configured."; + description + "CAT Africa/Bujumbura 2:00"; + } + container Africa-Cairo { + presence "Indicates this node is configured."; + description + "EET Africa/Cairo 2:00"; + } + container Africa-Casablanca { + presence "Indicates this node is configured."; + description + "+01 Africa/Casablanca 1:00"; + } + container Africa-Ceuta { + presence "Indicates this node is configured."; + description + "CET Africa/Ceuta 1:00"; + } + container Africa-Conakry { + presence "Indicates this node is configured."; + description + "GMT Africa/Conakry 0:00"; + } + container Africa-Dakar { + presence "Indicates this node is configured."; + description + "GMT Africa/Dakar 0:00"; + } + container Africa-Dar_es_Salaam { + presence "Indicates this node is configured."; + description + "EAT Africa/Dar_es_Salaam 3:00"; + } + container Africa-Djibouti { + presence "Indicates this node is configured."; + description + "EAT Africa/Djibouti 3:00"; + } + container Africa-Douala { + presence "Indicates this node is configured."; + description + "WAT Africa/Douala 1:00"; + } + container Africa-El_Aaiun { + presence "Indicates this node is configured."; + description + "+01 Africa/El_Aaiun 1:00"; + } + container Africa-Freetown { + presence "Indicates this node is configured."; + description + "GMT Africa/Freetown 0:00"; + } + container Africa-Gaborone { + presence "Indicates this node is configured."; + description + "CAT Africa/Gaborone 2:00"; + } + container Africa-Harare { + presence "Indicates this node is configured."; + description + "CAT Africa/Harare 2:00"; + } + container Africa-Johannesburg { + presence "Indicates this node is configured."; + description + "SAST Africa/Johannesburg 2:00"; + } + container Africa-Juba { + presence "Indicates this node is configured."; + description + "EAT Africa/Juba 3:00"; + } + container Africa-Kampala { + presence "Indicates this node is configured."; + description + "EAT Africa/Kampala 3:00"; + } + container Africa-Khartoum { + presence "Indicates this node is configured."; + description + "CAT Africa/Khartoum 2:00"; + } + container Africa-Kigali { + presence "Indicates this node is configured."; + description + "CAT Africa/Kigali 2:00"; + } + container Africa-Kinshasa { + presence "Indicates this node is configured."; + description + "WAT Africa/Kinshasa 1:00"; + } + container Africa-Lagos { + presence "Indicates this node is configured."; + description + "WAT Africa/Lagos 1:00"; + } + container Africa-Libreville { + presence "Indicates this node is configured."; + description + "WAT Africa/Libreville 1:00"; + } + container Africa-Lome { + presence "Indicates this node is configured."; + description + "GMT Africa/Lome 0:00"; + } + container Africa-Luanda { + presence "Indicates this node is configured."; + description + "WAT Africa/Luanda 1:00"; + } + container Africa-Lubumbashi { + presence "Indicates this node is configured."; + description + "CAT Africa/Lubumbashi 2:00"; + } + container Africa-Lusaka { + presence "Indicates this node is configured."; + description + "CAT Africa/Lusaka 2:00"; + } + container Africa-Malabo { + presence "Indicates this node is configured."; + description + "WAT Africa/Malabo 1:00"; + } + container Africa-Maputo { + presence "Indicates this node is configured."; + description + "CAT Africa/Maputo 2:00"; + } + container Africa-Maseru { + presence "Indicates this node is configured."; + description + "SAST Africa/Maseru 2:00"; + } + container Africa-Mbabane { + presence "Indicates this node is configured."; + description + "SAST Africa/Mbabane 2:00"; + } + container Africa-Mogadishu { + presence "Indicates this node is configured."; + description + "EAT Africa/Mogadishu 3:00"; + } + container Africa-Monrovia { + presence "Indicates this node is configured."; + description + "GMT Africa/Monrovia 0:00"; + } + container Africa-Nairobi { + presence "Indicates this node is configured."; + description + "EAT Africa/Nairobi 3:00"; + } + container Africa-Ndjamena { + presence "Indicates this node is configured."; + description + "WAT Africa/Ndjamena 1:00"; + } + container Africa-Niamey { + presence "Indicates this node is configured."; + description + "WAT Africa/Niamey 1:00"; + } + container Africa-Nouakchott { + presence "Indicates this node is configured."; + description + "GMT Africa/Nouakchott 0:00"; + } + container Africa-Ouagadougou { + presence "Indicates this node is configured."; + description + "GMT Africa/Ouagadougou 0:00"; + } + container Africa-Porto-Novo { + presence "Indicates this node is configured."; + description + "WAT Africa/Porto-Novo 1:00"; + } + container Africa-Sao_Tome { + presence "Indicates this node is configured."; + description + "GMT Africa/Sao_Tome 0:00"; + } + container Africa-Timbuktu { + presence "Indicates this node is configured."; + description + "GMT Africa/Timbuktu 0:00"; + } + container Africa-Tripoli { + presence "Indicates this node is configured."; + description + "EET Africa/Tripoli 2:00"; + } + container Africa-Tunis { + presence "Indicates this node is configured."; + description + "CET Africa/Tunis 1:00"; + } + container Africa-Windhoek { + presence "Indicates this node is configured."; + description + "CAT Africa/Windhoek 2:00"; + } + container America-Adak { + presence "Indicates this node is configured."; + description + "HST America/Adak -10:00"; + } + container America-Anchorage { + presence "Indicates this node is configured."; + description + "AKST America/Anchorage -9:00"; + } + container America-Anguilla { + presence "Indicates this node is configured."; + description + "AST America/Anguilla -4:00"; + } + container America-Antigua { + presence "Indicates this node is configured."; + description + "AST America/Antigua -4:00"; + } + container America-Araguaina { + presence "Indicates this node is configured."; + description + "-03 America/Araguaina -3:00"; + } + container America-Argentina-Buenos_Aires { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Buenos_Aires -3:00"; + } + container America-Argentina-Catamarca { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Catamarca -3:00"; + } + container America-Argentina-ComodRivadavia { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/ComodRivadavia -3:00"; + } + container America-Argentina-Cordoba { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Cordoba -3:00"; + } + container America-Argentina-Jujuy { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Jujuy -3:00"; + } + container America-Argentina-La_Rioja { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/La_Rioja -3:00"; + } + container America-Argentina-Mendoza { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Mendoza -3:00"; + } + container America-Argentina-Rio_Gallegos { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Rio_Gallegos -3:00"; + } + container America-Argentina-Salta { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Salta -3:00"; + } + container America-Argentina-San_Juan { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/San_Juan -3:00"; + } + container America-Argentina-San_Luis { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/San_Luis -3:00"; + } + container America-Argentina-Tucuman { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Tucuman -3:00"; + } + container America-Argentina-Argentina-Ushuaia { + presence "Indicates this node is configured."; + description + "-03 America/Argentina/Argentina/Ushuaia -3:00"; + } + container America-Aruba { + presence "Indicates this node is configured."; + description + "AST America/Aruba -4:00"; + } + container America-Atikokan { + presence "Indicates this node is configured."; + description + "EST America/Atikokan -5:00"; + } + container America-Atka { + presence "Indicates this node is configured."; + description + "HST America/Atka -10:00"; + } + container America-Bahia { + presence "Indicates this node is configured."; + description + "-03 America/Bahia -3:00"; + } + container America-Bahia_Banderas { + presence "Indicates this node is configured."; + description + "CST America/Bahia_Banderas -6:00"; + } + container America-Barbados { + presence "Indicates this node is configured."; + description + "AST America/Barbados -4:00"; + } + container America-Belem { + presence "Indicates this node is configured."; + description + "-03 America/Belem -3:00"; + } + container America-Belize { + presence "Indicates this node is configured."; + description + "CST America/Belize -6:00"; + } + container America-Blanc-Sablon { + presence "Indicates this node is configured."; + description + "AST America/Blanc-Sablon -4:00"; + } + container America-Boa_Vista { + presence "Indicates this node is configured."; + description + "-04 America/Boa_Vista -4:00"; + } + container America-Bogota { + presence "Indicates this node is configured."; + description + "-05 America/Bogota -5:00"; + } + container America-Boise { + presence "Indicates this node is configured."; + description + "MST America/Boise -7:00"; + } + container America-Buenos_Aires { + presence "Indicates this node is configured."; + description + "-03 America/Buenos_Aires -3:00"; + } + container America-Cambridge_Bay { + presence "Indicates this node is configured."; + description + "MST America/Cambridge_Bay -7:00"; + } + container America-Campo_Grande { + presence "Indicates this node is configured."; + description + "-04 America/Campo_Grande -4:00"; + } + container America-Cancun { + presence "Indicates this node is configured."; + description + "EST America/Cancun -5:00"; + } + container America-Caracas { + presence "Indicates this node is configured."; + description + "-04 America/Caracas -4:00"; + } + container America-Catamarca { + presence "Indicates this node is configured."; + description + "-03 America/Catamarca -3:00"; + } + container America-Cayenne { + presence "Indicates this node is configured."; + description + "-03 America/Cayenne -3:00"; + } + container America-Cayman { + presence "Indicates this node is configured."; + description + "EST America/Cayman -5:00"; + } + container America-Chicago { + presence "Indicates this node is configured."; + description + "CST America/Chicago -6:00"; + } + container America-Chihuahua { + presence "Indicates this node is configured."; + description + "MST America/Chihuahua -7:00"; + } + container America-Coral_Harbour { + presence "Indicates this node is configured."; + description + "EST America/Coral_Harbour -5:00"; + } + container America-Cordoba { + presence "Indicates this node is configured."; + description + "-03 America/Cordoba -3:00"; + } + container America-Costa_Rica { + presence "Indicates this node is configured."; + description + "CST America/Costa_Rica -6:00"; + } + container America-Creston { + presence "Indicates this node is configured."; + description + "MST America/Creston -7:00"; + } + container America-Cuiaba { + presence "Indicates this node is configured."; + description + "-04 America/Cuiaba -4:00"; + } + container America-Curacao { + presence "Indicates this node is configured."; + description + "AST America/Curacao -4:00"; + } + container America-Danmarkshavn { + presence "Indicates this node is configured."; + description + "GMT America/Danmarkshavn 0:00"; + } + container America-Dawson { + presence "Indicates this node is configured."; + description + "PST America/Dawson -8:00"; + } + container America-Dawson_Creek { + presence "Indicates this node is configured."; + description + "MST America/Dawson_Creek -7:00"; + } + container America-Denver { + presence "Indicates this node is configured."; + description + "MST America/Denver -7:00"; + } + container America-Detroit { + presence "Indicates this node is configured."; + description + "EST America/Detroit -5:00"; + } + container America-Dominica { + presence "Indicates this node is configured."; + description + "AST America/Dominica -4:00"; + } + container America-Edmonton { + presence "Indicates this node is configured."; + description + "MST America/Edmonton -7:00"; + } + container America-Eirunepe { + presence "Indicates this node is configured."; + description + "-05 America/Eirunepe -5:00"; + } + container America-El_Salvador { + presence "Indicates this node is configured."; + description + "CST America/El_Salvador -6:00"; + } + container America-Ensenada { + presence "Indicates this node is configured."; + description + "PST America/Ensenada -8:00"; + } + container America-Fort_Nelson { + presence "Indicates this node is configured."; + description + "MST America/Fort_Nelson -7:00"; + } + container America-Fort_Wayne { + presence "Indicates this node is configured."; + description + "EST America/Fort_Wayne -5:00"; + } + container America-Fortaleza { + presence "Indicates this node is configured."; + description + "-03 America/Fortaleza -3:00"; + } + container America-Glace_Bay { + presence "Indicates this node is configured."; + description + "AST America/Glace_Bay -4:00"; + } + container America-Godthab { + presence "Indicates this node is configured."; + description + "-03 America/Godthab -3:00"; + } + container America-Goose_Bay { + presence "Indicates this node is configured."; + description + "AST America/Goose_Bay -4:00"; + } + container America-Grand_Turk { + presence "Indicates this node is configured."; + description + "EST America/Grand_Turk -5:00"; + } + container America-Grenada { + presence "Indicates this node is configured."; + description + "AST America/Grenada -4:00"; + } + container America-Guadeloupe { + presence "Indicates this node is configured."; + description + "AST America/Guadeloupe -4:00"; + } + container America-Guatemala { + presence "Indicates this node is configured."; + description + "CST America/Guatemala -6:00"; + } + container America-Guayaquil { + presence "Indicates this node is configured."; + description + "-05 America/Guayaquil -5:00"; + } + container America-Guyana { + presence "Indicates this node is configured."; + description + "-04 America/Guyana -4:00"; + } + container America-Halifax { + presence "Indicates this node is configured."; + description + "AST America/Halifax -4:00"; + } + container America-Havana { + presence "Indicates this node is configured."; + description + "CST America/Havana -6:00"; + } + container America-Hermosillo { + presence "Indicates this node is configured."; + description + "MST America/Hermosillo -7:00"; + } + container America-Indiana-Indianapolis { + presence "Indicates this node is configured."; + description + "EST America/Indiana/Indianapolis -5:00"; + } + container America-Indiana-Knox { + presence "Indicates this node is configured."; + description + "CST America/Indiana/Knox -6:00"; + } + container America-Indiana-Marengo { + presence "Indicates this node is configured."; + description + "EST America/Indiana/Marengo -5:00"; + } + container America-Indiana-Petersburg { + presence "Indicates this node is configured."; + description + "EST America/Indiana/Petersburg -5:00"; + } + container America-Indiana-Tell_City { + presence "Indicates this node is configured."; + description + "CST America/Indiana/Tell_City -6:00"; + } + container America-Indiana-Vevay { + presence "Indicates this node is configured."; + description + "EST America/Indiana/Vevay -5:00"; + } + container America-Indiana-Vincennes { + presence "Indicates this node is configured."; + description + "EST America/Indiana/Vincennes -5:00"; + } + container America-Indiana-Winamac { + presence "Indicates this node is configured."; + description + "EST America/Indiana/Winamac -5:00"; + } + container America-Indianapolis { + presence "Indicates this node is configured."; + description + "EST America/Indianapolis -5:00"; + } + container America-Inuvik { + presence "Indicates this node is configured."; + description + "MST America/Inuvik -7:00"; + } + container America-Iqaluit { + presence "Indicates this node is configured."; + description + "EST America/Iqaluit -5:00"; + } + container America-Jamaica { + presence "Indicates this node is configured."; + description + "EST America/Jamaica -5:00"; + } + container America-Jujuy { + presence "Indicates this node is configured."; + description + "-03 America/Jujuy -3:00"; + } + container America-Juneau { + presence "Indicates this node is configured."; + description + "AKST America/Juneau -9:00"; + } + container America-Kentucky-Louisville { + presence "Indicates this node is configured."; + description + "EST America/Kentucky/Louisville -5:00"; + } + container America-Kentucky-Monticello { + presence "Indicates this node is configured."; + description + "EST America/Kentucky/Monticello -5:00"; + } + container America-Knox_IN { + presence "Indicates this node is configured."; + description + "CST America/Knox_IN -6:00"; + } + container America-Kralendijk { + presence "Indicates this node is configured."; + description + "AST America/Kralendijk -4:00"; + } + container America-La_Paz { + presence "Indicates this node is configured."; + description + "-04 America/La_Paz -4:00"; + } + container America-Lima { + presence "Indicates this node is configured."; + description + "-05 America/Lima -5:00"; + } + container America-Los_Angeles { + presence "Indicates this node is configured."; + description + "PST America/Los_Angeles -8:00"; + } + container America-Louisville { + presence "Indicates this node is configured."; + description + "EST America/Louisville -5:00"; + } + container America-Lower_Princes { + presence "Indicates this node is configured."; + description + "AST America/Lower_Princes -4:00"; + } + container America-Maceio { + presence "Indicates this node is configured."; + description + "-03 America/Maceio -3:00"; + } + container America-Managua { + presence "Indicates this node is configured."; + description + "CST America/Managua -6:00"; + } + container America-Manaus { + presence "Indicates this node is configured."; + description + "-04 America/Manaus -4:00"; + } + container America-Marigot { + presence "Indicates this node is configured."; + description + "AST America/Marigot -4:00"; + } + container America-Martinique { + presence "Indicates this node is configured."; + description + "AST America/Martinique -4:00"; + } + container America-Matamoros { + presence "Indicates this node is configured."; + description + "CST America/Matamoros -6:00"; + } + container America-Mazatlan { + presence "Indicates this node is configured."; + description + "MST America/Mazatlan -7:00"; + } + container America-Mendoza { + presence "Indicates this node is configured."; + description + "-03 America/Mendoza -3:00"; + } + container America-Menominee { + presence "Indicates this node is configured."; + description + "CST America/Menominee -6:00"; + } + container America-Merida { + presence "Indicates this node is configured."; + description + "CST America/Merida -6:00"; + } + container America-Metlakatla { + presence "Indicates this node is configured."; + description + "AKST America/Metlakatla -9:00"; + } + container America-Mexico_City { + presence "Indicates this node is configured."; + description + "CST America/Mexico_City -6:00"; + } + container America-Miquelon { + presence "Indicates this node is configured."; + description + "-03 America/Miquelon -3:00"; + } + container America-Moncton { + presence "Indicates this node is configured."; + description + "AST America/Moncton -4:00"; + } + container America-Monterrey { + presence "Indicates this node is configured."; + description + "CST America/Monterrey -6:00"; + } + container America-Montevideo { + presence "Indicates this node is configured."; + description + "-03 America/Montevideo -3:00"; + } + container America-Montreal { + presence "Indicates this node is configured."; + description + "EST America/Montreal -5:00"; + } + container America-Montserrat { + presence "Indicates this node is configured."; + description + "AST America/Montserrat -4:00"; + } + container America-Nassau { + presence "Indicates this node is configured."; + description + "EST America/Nassau -5:00"; + } + container America-New_York { + presence "Indicates this node is configured."; + description + "EST America/New_York -5:00"; + } + container America-Nipigon { + presence "Indicates this node is configured."; + description + "EST America/Nipigon -5:00"; + } + container America-Nome { + presence "Indicates this node is configured."; + description + "AKST America/Nome -9:00"; + } + container America-Noronha { + presence "Indicates this node is configured."; + description + "-02 America/Noronha -2:00"; + } + container America-North_Dakota-Beulah { + presence "Indicates this node is configured."; + description + "CST America/North_Dakota/Beulah -6:00"; + } + container America-North_Dakota-Center { + presence "Indicates this node is configured."; + description + "CST America/North_Dakota/Center -6:00"; + } + container America-North_Dakota-New_Salem { + presence "Indicates this node is configured."; + description + "CST America/North_Dakota/New_Salem -6:00"; + } + container America-Ojinaga { + presence "Indicates this node is configured."; + description + "MST America/Ojinaga -7:00"; + } + container America-Panama { + presence "Indicates this node is configured."; + description + "EST America/Panama -5:00"; + } + container America-Pangnirtung { + presence "Indicates this node is configured."; + description + "EST America/Pangnirtung -5:00"; + } + container America-Paramaribo { + presence "Indicates this node is configured."; + description + "-03 America/Paramaribo -3:00"; + } + container America-Phoenix { + presence "Indicates this node is configured."; + description + "MST America/Phoenix -7:00"; + } + container America-Port-au-Prince { + presence "Indicates this node is configured."; + description + "EST America/Port-au-Prince -5:00"; + } + container America-Port_of_Spain { + presence "Indicates this node is configured."; + description + "AST America/Port_of_Spain -4:00"; + } + container America-Porto_Acre { + presence "Indicates this node is configured."; + description + "-05 America/Porto_Acre -5:00"; + } + container America-Porto_Velho { + presence "Indicates this node is configured."; + description + "-04 America/Porto_Velho -4:00"; + } + container America-Puerto_Rico { + presence "Indicates this node is configured."; + description + "AST America/Puerto_Rico -4:00"; + } + container America-Punta_Arenas { + presence "Indicates this node is configured."; + description + "-03 America/Punta_Arenas -3:00"; + } + container America-Rainy_River { + presence "Indicates this node is configured."; + description + "CST America/Rainy_River -6:00"; + } + container America-Rankin_Inlet { + presence "Indicates this node is configured."; + description + "CST America/Rankin_Inlet -6:00"; + } + container America-Recife { + presence "Indicates this node is configured."; + description + "-03 America/Recife -3:00"; + } + container America-Regina { + presence "Indicates this node is configured."; + description + "CST America/Regina -6:00"; + } + container America-Resolute { + presence "Indicates this node is configured."; + description + "CST America/Resolute -6:00"; + } + container America-Rio_Branco { + presence "Indicates this node is configured."; + description + "-05 America/Rio_Branco -5:00"; + } + container America-Rosario { + presence "Indicates this node is configured."; + description + "-03 America/Rosario -3:00"; + } + container America-Santa_Isabel { + presence "Indicates this node is configured."; + description + "PST America/Santa_Isabel -8:00"; + } + container America-Santarem { + presence "Indicates this node is configured."; + description + "-03 America/Santarem -3:00"; + } + container America-Santiago { + presence "Indicates this node is configured."; + description + "-04 America/Santiago -4:00"; + } + container America-Santo_Domingo { + presence "Indicates this node is configured."; + description + "AST America/Santo_Domingo -4:00"; + } + container America-Sao_Paulo { + presence "Indicates this node is configured."; + description + "-03 America/Sao_Paulo -3:00"; + } + container America-Scoresbysund { + presence "Indicates this node is configured."; + description + "-01 America/Scoresbysund -1:00"; + } + container America-Shiprock { + presence "Indicates this node is configured."; + description + "MST America/Shiprock -7:00"; + } + container America-Sitka { + presence "Indicates this node is configured."; + description + "AKST America/Sitka -9:00"; + } + container America-St_Barthelemy { + presence "Indicates this node is configured."; + description + "AST America/St_Barthelemy -4:00"; + } + container America-St_Johns { + presence "Indicates this node is configured."; + description + "NST America/St_Johns -3:30"; + } + container America-St_Kitts { + presence "Indicates this node is configured."; + description + "AST America/St_Kitts -4:00"; + } + container America-St_Lucia { + presence "Indicates this node is configured."; + description + "AST America/St_Lucia -4:00"; + } + container America-St_Thomas { + presence "Indicates this node is configured."; + description + "AST America/St_Thomas -4:00"; + } + container America-St_Vincent { + presence "Indicates this node is configured."; + description + "AST America/St_Vincent -4:00"; + } + container America-Swift_Current { + presence "Indicates this node is configured."; + description + "CST America/Swift_Current -6:00"; + } + container America-Tegucigalpa { + presence "Indicates this node is configured."; + description + "CST America/Tegucigalpa -6:00"; + } + container America-Thule { + presence "Indicates this node is configured."; + description + "AST America/Thule -4:00"; + } + container America-Thunder_Bay { + presence "Indicates this node is configured."; + description + "EST America/Thunder_Bay -5:00"; + } + container America-Tijuana { + presence "Indicates this node is configured."; + description + "PST America/Tijuana -8:00"; + } + container America-Toronto { + presence "Indicates this node is configured."; + description + "EST America/Toronto -5:00"; + } + container America-Tortola { + presence "Indicates this node is configured."; + description + "AST America/Tortola -4:00"; + } + container America-Vancouver { + presence "Indicates this node is configured."; + description + "PST America/Vancouver -8:00"; + } + container America-Virgin { + presence "Indicates this node is configured."; + description + "AST America/Virgin -4:00"; + } + container America-Whitehorse { + presence "Indicates this node is configured."; + description + "PST America/Whitehorse -8:00"; + } + container America-Winnipeg { + presence "Indicates this node is configured."; + description + "CST America/Winnipeg -6:00"; + } + container America-Yakutat { + presence "Indicates this node is configured."; + description + "AKST America/Yakutat -9:00"; + } + container America-Yellowknife { + presence "Indicates this node is configured."; + description + "MST America/Yellowknife -7:00"; + } + container Antarctica-Casey { + presence "Indicates this node is configured."; + description + "+08 Antarctica/Casey 8:00"; + } + container Antarctica-Davis { + presence "Indicates this node is configured."; + description + "+07 Antarctica/Davis 7:00"; + } + container Antarctica-DumontDUrville { + presence "Indicates this node is configured."; + description + "+10 Antarctica/DumontDUrville 10:00"; + } + container Antarctica-Macquarie { + presence "Indicates this node is configured."; + description + "+11 Antarctica/Macquarie 11:00"; + } + container Antarctica-Mawson { + presence "Indicates this node is configured."; + description + "+05 Antarctica/Mawson 5:00"; + } + container Antarctica-McMurdo { + presence "Indicates this node is configured."; + description + "NZST Antarctica/McMurdo 12:00"; + } + container Antarctica-Palmer { + presence "Indicates this node is configured."; + description + "-03 Antarctica/Palmer -3:00"; + } + container Antarctica-Rothera { + presence "Indicates this node is configured."; + description + "-03 Antarctica/Rothera -3:00"; + } + container Antarctica-South_Pole { + presence "Indicates this node is configured."; + description + "NZST Antarctica/South_Pole 12:00"; + } + container Antarctica-Syowa { + presence "Indicates this node is configured."; + description + "+03 Antarctica/Syowa 3:00"; + } + container Antarctica-Troll { + presence "Indicates this node is configured."; + description + "+00 Antarctica/Troll 0:00"; + } + container Antarctica-Vostok { + presence "Indicates this node is configured."; + description + "+06 Antarctica/Vostok 6:00"; + } + container Asia-Aden { + presence "Indicates this node is configured."; + description + "+03 Asia/Aden 3:00"; + } + container Asia-Almaty { + presence "Indicates this node is configured."; + description + "+06 Asia/Almaty 6:00"; + } + container Asia-Amman { + presence "Indicates this node is configured."; + description + "EET Asia/Amman 2:00"; + } + container Asia-Anadyr { + presence "Indicates this node is configured."; + description + "+12 Asia/Anadyr 12:00"; + } + container Asia-Aqtau { + presence "Indicates this node is configured."; + description + "+05 Asia/Aqtau 5:00"; + } + container Asia-Aqtobe { + presence "Indicates this node is configured."; + description + "+05 Asia/Aqtobe 5:00"; + } + container Asia-Ashgabat { + presence "Indicates this node is configured."; + description + "+05 Asia/Ashgabat 5:00"; + } + container Asia-Ashkhabad { + presence "Indicates this node is configured."; + description + "+05 Asia/Ashkhabad 5:00"; + } + container Asia-Atyrau { + presence "Indicates this node is configured."; + description + "+05 Asia/Atyrau 5:00"; + } + container Asia-Baghdad { + presence "Indicates this node is configured."; + description + "+03 Asia/Baghdad 3:00"; + } + container Asia-Bahrain { + presence "Indicates this node is configured."; + description + "+03 Asia/Bahrain 3:00"; + } + container Asia-Baku { + presence "Indicates this node is configured."; + description + "+04 Asia/Baku 4:00"; + } + container Asia-Bangkok { + presence "Indicates this node is configured."; + description + "+07 Asia/Bangkok 7:00"; + } + container Asia-Barnaul { + presence "Indicates this node is configured."; + description + "+07 Asia/Barnaul 7:00"; + } + container Asia-Beirut { + presence "Indicates this node is configured."; + description + "EET Asia/Beirut 2:00"; + } + container Asia-Bishkek { + presence "Indicates this node is configured."; + description + "+06 Asia/Bishkek 6:00"; + } + container Asia-Brunei { + presence "Indicates this node is configured."; + description + "+08 Asia/Brunei 8:00"; + } + container Asia-Calcutta { + presence "Indicates this node is configured."; + description + "IST Asia/Calcutta 5:30"; + } + container Asia-Chita { + presence "Indicates this node is configured."; + description + "+09 Asia/Chita 9:00"; + } + container Asia-Choibalsan { + presence "Indicates this node is configured."; + description + "+08 Asia/Choibalsan 8:00"; + } + container Asia-Chongqing { + presence "Indicates this node is configured."; + description + "CST Asia/Chongqing 8:00"; + } + container Asia-Chungking { + presence "Indicates this node is configured."; + description + "CST Asia/Chungking 8:00"; + } + container Asia-Colombo { + presence "Indicates this node is configured."; + description + "+0530 Asia/Colombo 5:30"; + } + container Asia-Dacca { + presence "Indicates this node is configured."; + description + "+06 Asia/Dacca 6:00"; + } + container Asia-Damascus { + presence "Indicates this node is configured."; + description + "EET Asia/Damascus 2:00"; + } + container Asia-Dhaka { + presence "Indicates this node is configured."; + description + "+06 Asia/Dhaka 6:00"; + } + container Asia-Dili { + presence "Indicates this node is configured."; + description + "+09 Asia/Dili 9:00"; + } + container Asia-Dubai { + presence "Indicates this node is configured."; + description + "+04 Asia/Dubai 4:00"; + } + container Asia-Dushanbe { + presence "Indicates this node is configured."; + description + "+05 Asia/Dushanbe 5:00"; + } + container Asia-Famagusta { + presence "Indicates this node is configured."; + description + "EET Asia/Famagusta 2:00"; + } + container Asia-Gaza { + presence "Indicates this node is configured."; + description + "EET Asia/Gaza 2:00"; + } + container Asia-Harbin { + presence "Indicates this node is configured."; + description + "CST Asia/Harbin 8:00"; + } + container Asia-Hebron { + presence "Indicates this node is configured."; + description + "EET Asia/Hebron 2:00"; + } + container Asia-Ho_Chi_Minh { + presence "Indicates this node is configured."; + description + "+07 Asia/Ho_Chi_Minh 7:00"; + } + container Asia-Hong_Kong { + presence "Indicates this node is configured."; + description + "HKT Asia/Hong_Kong 8:00"; + } + container Asia-Hovd { + presence "Indicates this node is configured."; + description + "+07 Asia/Hovd 7:00"; + } + container Asia-Irkutsk { + presence "Indicates this node is configured."; + description + "+08 Asia/Irkutsk 8:00"; + } + container Asia-Istanbul { + presence "Indicates this node is configured."; + description + "+03 Asia/Istanbul 3:00"; + } + container Asia-Jakarta { + presence "Indicates this node is configured."; + description + "WIB Asia/Jakarta 7:00"; + } + container Asia-Jayapura { + presence "Indicates this node is configured."; + description + "WIT Asia/Jayapura 9:00"; + } + container Asia-Jerusalem { + presence "Indicates this node is configured."; + description + "IST Asia/Jerusalem 5:30"; + } + container Asia-Kabul { + presence "Indicates this node is configured."; + description + "+0430 Asia/Kabul 4:30"; + } + container Asia-Kamchatka { + presence "Indicates this node is configured."; + description + "+12 Asia/Kamchatka 12:00"; + } + container Asia-Karachi { + presence "Indicates this node is configured."; + description + "PKT Asia/Karachi 5:00"; + } + container Asia-Kashgar { + presence "Indicates this node is configured."; + description + "+06 Asia/Kashgar 6:00"; + } + container Asia-Kathmandu { + presence "Indicates this node is configured."; + description + "+0545 Asia/Kathmandu 05:45"; + } + container Asia-Katmandu { + presence "Indicates this node is configured."; + description + "+0545 Asia/Katmandu 05:45"; + } + container Asia-Khandyga { + presence "Indicates this node is configured."; + description + "+09 Asia/Khandyga 9:00"; + } + container Asia-Kolkata { + presence "Indicates this node is configured."; + description + "IST Asia/Kolkata 5:30"; + } + container Asia-Krasnoyarsk { + presence "Indicates this node is configured."; + description + "+07 Asia/Krasnoyarsk 7:00"; + } + container Asia-Kuala_Lumpur { + presence "Indicates this node is configured."; + description + "+08 Asia/Kuala_Lumpur 8:00"; + } + container Asia-Kuching { + presence "Indicates this node is configured."; + description + "+08 Asia/Kuching 8:00"; + } + container Asia-Kuwait { + presence "Indicates this node is configured."; + description + "+03 Asia/Kuwait 3:00"; + } + container Asia-Macao { + presence "Indicates this node is configured."; + description + "CST Asia/Macao 8:00"; + } + container Asia-Macau { + presence "Indicates this node is configured."; + description + "CST Asia/Macau 8:00"; + } + container Asia-Magadan { + presence "Indicates this node is configured."; + description + "+11 Asia/Magadan 11:00"; + } + container Asia-Makassar { + presence "Indicates this node is configured."; + description + "WITA Asia/Makassar 8:00"; + } + container Asia-Manila { + presence "Indicates this node is configured."; + description + "PST Asia/Manila 8:00"; + } + container Asia-Muscat { + presence "Indicates this node is configured."; + description + "+04 Asia/Muscat 4:00"; + } + container Asia-Nicosia { + presence "Indicates this node is configured."; + description + "EET Asia/Nicosia 2:00"; + } + container Asia-Novokuznetsk { + presence "Indicates this node is configured."; + description + "+07 Asia/Novokuznetsk 7:00"; + } + container Asia-Novosibirsk { + presence "Indicates this node is configured."; + description + "+07 Asia/Novosibirsk 7:00"; + } + container Asia-Omsk { + presence "Indicates this node is configured."; + description + "+06 Asia/Omsk 6:00"; + } + container Asia-Oral { + presence "Indicates this node is configured."; + description + "+05 Asia/Oral 5:00"; + } + container Asia-Phnom_Penh { + presence "Indicates this node is configured."; + description + "+07 Asia/Phnom_Penh 7:00"; + } + container Asia-Pontianak { + presence "Indicates this node is configured."; + description + "WIB Asia/Pontianak 7:00"; + } + container Asia-Pyongyang { + presence "Indicates this node is configured."; + description + "KST Asia/Pyongyang 9:00"; + } + container Asia-Qatar { + presence "Indicates this node is configured."; + description + "+03 Asia/Qatar 3:00"; + } + container Asia-Qostanay { + presence "Indicates this node is configured."; + description + "+06 Asia/Qostanay 6:00"; + } + container Asia-Qyzylorda { + presence "Indicates this node is configured."; + description + "+05 Asia/Qyzylorda 5:00"; + } + container Asia-Rangoon { + presence "Indicates this node is configured."; + description + "+0630 Asia/Rangoon 06:30"; + } + container Asia-Riyadh { + presence "Indicates this node is configured."; + description + "+03 Asia/Riyadh 3:00"; + } + container Asia-Saigon { + presence "Indicates this node is configured."; + description + "+07 Asia/Saigon 7:00"; + } + container Asia-Sakhalin { + presence "Indicates this node is configured."; + description + "+11 Asia/Sakhalin 11:00"; + } + container Asia-Samarkand { + presence "Indicates this node is configured."; + description + "+05 Asia/Samarkand 5:00"; + } + container Asia-Seoul { + presence "Indicates this node is configured."; + description + "KST Asia/Seoul 9:00"; + } + container Asia-Shanghai { + presence "Indicates this node is configured."; + description + "CST Asia/Shanghai 8:00"; + } + container Asia-Singapore { + presence "Indicates this node is configured."; + description + "+08 Asia/Singapore 8:00"; + } + container Asia-Srednekolymsk { + presence "Indicates this node is configured."; + description + "+11 Asia/Srednekolymsk 11:00"; + } + container Asia-Ujung_Pandang { + presence "Indicates this node is configured."; + description + "WITA Asia/Ujung_Pandang 8:00"; + } + container Asia-Ulaanbaatar { + presence "Indicates this node is configured."; + description + "+08 Asia/Ulaanbaatar 8:00"; + } + container Asia-Ulan_Bator { + presence "Indicates this node is configured."; + description + "+08 Asia/Ulan_Bator 8:00"; + } + container Asia-Urumqi { + presence "Indicates this node is configured."; + description + "+06 Asia/Urumqi 6:00"; + } + container Asia-Ust-Nera { + presence "Indicates this node is configured."; + description + "+10 Asia/Ust-Nera 10:00"; + } + container Asia-Taipei { + presence "Indicates this node is configured."; + description + "CST Asia/Taipei 8:00"; + } + container Asia-Tashkent { + presence "Indicates this node is configured."; + description + "+05 Asia/Tashkent 5:00"; + } + container Asia-Tbilisi { + presence "Indicates this node is configured."; + description + "+04 Asia/Tbilisi 4:00"; + } + container Asia-Tehran { + presence "Indicates this node is configured."; + description + "+0330 Asia/Tehran 3:30"; + } + container Asia-Tel_Aviv { + presence "Indicates this node is configured."; + description + "IST Asia/Tel_Aviv 2:00"; + } + container Asia-Thimbu { + presence "Indicates this node is configured."; + description + "+06 Asia/Thimbu 6:00"; + } + container Asia-Thimphu { + presence "Indicates this node is configured."; + description + "+06 Asia/Thimphu 6:00"; + } + container Asia-Tokyo { + presence "Indicates this node is configured."; + description + "JST Asia/Tokyo 9:00"; + } + container Asia-Tomsk { + presence "Indicates this node is configured."; + description + "+07 Asia/Tomsk 7:00"; + } + container Asia-Vientiane { + presence "Indicates this node is configured."; + description + "+07 Asia/Vientiane 7:00"; + } + container Asia-Vladivostok { + presence "Indicates this node is configured."; + description + "+10 Asia/Vladivostok 10:00"; + } + container Asia-Yakutsk { + presence "Indicates this node is configured."; + description + "+09 Asia/Yakutsk 9:00"; + } + container Asia-Yangon { + presence "Indicates this node is configured."; + description + "+0630 Asia/Yangon 06:30"; + } + container Asia-Yekaterinburg { + presence "Indicates this node is configured."; + description + "+05 Asia/Yekaterinburg 5:00"; + } + container Asia-Yerevan { + presence "Indicates this node is configured."; + description + "+04 Asia/Yerevan 4:00"; + } + container Atlantic-Azores { + presence "Indicates this node is configured."; + description + "-01 Atlantic/Azores -1:00"; + } + container Atlantic-Bermuda { + presence "Indicates this node is configured."; + description + "AST Atlantic/Bermuda -4:00"; + } + container Atlantic-Canary { + presence "Indicates this node is configured."; + description + "WET Atlantic/Canary 0:00"; + } + container Atlantic-Cape_Verde { + presence "Indicates this node is configured."; + description + "-01 Atlantic/Cape_Verde -1:00"; + } + container Atlantic-Faeroe { + presence "Indicates this node is configured."; + description + "WET Atlantic/Faeroe 0:00"; + } + container Atlantic-Faroe { + presence "Indicates this node is configured."; + description + "WET Atlantic/Faroe 0:00"; + } + container Atlantic-Jan_Mayen { + presence "Indicates this node is configured."; + description + "CET Atlantic/Jan_Mayen 1:00"; + } + container Atlantic-Madeira { + presence "Indicates this node is configured."; + description + "WET Atlantic/Madeira 0:00"; + } + container Atlantic-Reykjavik { + presence "Indicates this node is configured."; + description + "GMT Atlantic/Reykjavik 0:00"; + } + container Atlantic-South_Georgia { + presence "Indicates this node is configured."; + description + "-02 Atlantic/South_Georgia -2:00"; + } + container Atlantic-St_Helena { + presence "Indicates this node is configured."; + description + "GMT Atlantic/St_Helena 0:00"; + } + container Atlantic-Stanley { + presence "Indicates this node is configured."; + description + "-03 Atlantic/Stanley -3:00"; + } + container Australia-ACT { + presence "Indicates this node is configured."; + description + "AEST Australia/ACT 10:00"; + } + container Australia-Adelaide { + presence "Indicates this node is configured."; + description + "ACST Australia/Adelaide 9:30"; + } + container Australia-Brisbane { + presence "Indicates this node is configured."; + description + "AEST Australia/Brisbane 10:00"; + } + container Australia-Broken_Hill { + presence "Indicates this node is configured."; + description + "ACST Australia/Broken_Hill 9:30"; + } + container Australia-Canberra { + presence "Indicates this node is configured."; + description + "AEST Australia/Canberra 10:00"; + } + container Australia-Currie { + presence "Indicates this node is configured."; + description + "AEST Australia/Currie 10:00"; + } + container Australia-Darwin { + presence "Indicates this node is configured."; + description + "ACST Australia/Darwin 9:30"; + } + container Australia-Eucla { + presence "Indicates this node is configured."; + description + "+0845 Australia/Eucla 8:45"; + } + container Australia-Hobart { + presence "Indicates this node is configured."; + description + "AEST Australia/Hobart 10:00"; + } + container Australia-LHI { + presence "Indicates this node is configured."; + description + "+1030 Australia/LHI 10:30"; + } + container Australia-Lindeman { + presence "Indicates this node is configured."; + description + "AEST Australia/Lindeman 10:00"; + } + container Australia-Lord_Howe { + presence "Indicates this node is configured."; + description + "+1030 Australia/Lord_Howe 10:30"; + } + container Australia-Melbourne { + presence "Indicates this node is configured."; + description + "AEST Australia/Melbourne 10:00"; + } + container Australia-North { + presence "Indicates this node is configured."; + description + "ACST Australia/North 9:30"; + } + container Australia-Perth { + presence "Indicates this node is configured."; + description + "AWST Australia/Perth 8:00"; + } + container Australia-Queensland { + presence "Indicates this node is configured."; + description + "AEST Australia/Queensland 10:00"; + } + container Australia-South { + presence "Indicates this node is configured."; + description + "ACST Australia/South 9:30"; + } + container Australia-Sydney { + presence "Indicates this node is configured."; + description + "AEST Australia/Sydney 10:00"; + } + container Australia-Tasmania { + presence "Indicates this node is configured."; + description + "AEST Australia/Tasmania 10:00"; + } + container Australia-Victoria { + presence "Indicates this node is configured."; + description + "AEST Australia/Victoria 10:00"; + } + container Australia-West { + presence "Indicates this node is configured."; + description + "AWST Australia/West 8:00"; + } + container Australia-Yancowinna { + presence "Indicates this node is configured."; + description + "ACST Australia/Yancowinna 9:30"; + } + container Brazil-Acre { + presence "Indicates this node is configured."; + description + "-05 Brazil/Acre -5:00"; + } + container Brazil-DeNoronha { + presence "Indicates this node is configured."; + description + "-02 Brazil/DeNoronha -2:00"; + } + container Brazil-East { + presence "Indicates this node is configured."; + description + "-03 Brazil/East -3:00"; + } + container Brazil-West { + presence "Indicates this node is configured."; + description + "-04 Brazil/West -4:00"; + } + container CET { + presence "Indicates this node is configured."; + description + "CET CET 1:00"; + } + container CST6CDT { + presence "Indicates this node is configured."; + description + "CST CST6CDT -6:00"; + } + container Canada-Atlantic { + presence "Indicates this node is configured."; + description + "AST Canada/Atlantic -4:00"; + } + container Canada-Central { + presence "Indicates this node is configured."; + description + "CST Canada/Central -6:00"; + } + container Canada-Eastern { + presence "Indicates this node is configured."; + description + "EST Canada/Eastern -5:00"; + } + container Canada-Mountain { + presence "Indicates this node is configured."; + description + "MST Canada/Mountain -7:00"; + } + container Canada-Newfoundland { + presence "Indicates this node is configured."; + description + "NST Canada/Newfoundland -3:30"; + } + container Canada-Pacific { + presence "Indicates this node is configured."; + description + "PST Canada/Pacific -8:00"; + } + container Canada-Saskatchewan { + presence "Indicates this node is configured."; + description + "CST Canada/Saskatchewan -6:00"; + } + container Canada-Yukon { + presence "Indicates this node is configured."; + description + "PST Canada/Yukon -8:00"; + } + container Chile-Continental { + presence "Indicates this node is configured."; + description + "-04 Chile/Continental -4:00"; + } + container Chile-EasterIsland { + presence "Indicates this node is configured."; + description + "-06 Chile/EasterIsland -6:00"; + } + container Cuba { + presence "Indicates this node is configured."; + description + "CST Cuba -6:00"; + } + container EET { + presence "Indicates this node is configured."; + description + "EET EET 2:00"; + } + container EST { + presence "Indicates this node is configured."; + description + "EST EST -5:00"; + } + container EST5EDT { + presence "Indicates this node is configured."; + description + "EST EST5EDT -5:00"; + } + container Egypt { + presence "Indicates this node is configured."; + description + "EET Egypt 2:00"; + } + container Eire { + presence "Indicates this node is configured."; + description + "IST Eire 1:00"; + } + container Etc-GMT { + presence "Indicates this node is configured."; + description + "GMT Etc/GMT 0:00"; + } + container Etc-GMT-plus-0 { + presence "Indicates this node is configured."; + description + "GMT Etc/GMT+0 0:00"; + } + container Etc-GMT-plus-1 { + presence "Indicates this node is configured."; + description + "-01 Etc/GMT+1 -1:00"; + } + container Etc-GMT-plus-2 { + presence "Indicates this node is configured."; + description + "-02 Etc/GMT+2 -2:00"; + } + container Etc-GMT-plus-3 { + presence "Indicates this node is configured."; + description + "-03 Etc/GMT+3 -3:00"; + } + container Etc-GMT-plus-4 { + presence "Indicates this node is configured."; + description + "-04 Etc/GMT+4 -4:00"; + } + container Etc-GMT-plus-5 { + presence "Indicates this node is configured."; + description + "-05 Etc/GMT+5 -5:00"; + } + container Etc-GMT-plus-6 { + presence "Indicates this node is configured."; + description + "-06 Etc/GMT+6 -6:00"; + } + container Etc-GMT-plus-7 { + presence "Indicates this node is configured."; + description + "-07 Etc/GMT+7 -7:00"; + } + container Etc-GMT-plus-8 { + presence "Indicates this node is configured."; + description + "-08 Etc/GMT+8 -8:00"; + } + container Etc-GMT-plus-9 { + presence "Indicates this node is configured."; + description + "-09 Etc/GMT+9 -9:00"; + } + container Etc-GMT-plus-10 { + presence "Indicates this node is configured."; + description + "-10 Etc/GMT+10 -10:00"; + } + container Etc-GMT-plus-11 { + presence "Indicates this node is configured."; + description + "-11 Etc/GMT+11 -11:00"; + } + container Etc-GMT-plus-12 { + presence "Indicates this node is configured."; + description + "-12 Etc/GMT+12 -12:00"; + } + container Etc-GMT-0 { + presence "Indicates this node is configured."; + description + "GMT Etc/GMT-0 0:00"; + } + container Etc-GMT-1 { + presence "Indicates this node is configured."; + description + "+01 Etc/GMT-1 1:00"; + } + container Etc-GMT-2 { + presence "Indicates this node is configured."; + description + "+02 Etc/GMT-2 2:00"; + } + container Etc-GMT-3 { + presence "Indicates this node is configured."; + description + "+03 Etc/GMT-3 3:00"; + } + container Etc-GMT-4 { + presence "Indicates this node is configured."; + description + "+04 Etc/GMT-4 4:00"; + } + container Etc-GMT-5 { + presence "Indicates this node is configured."; + description + "+05 Etc/GMT-5 5:00"; + } + container Etc-GMT-6 { + presence "Indicates this node is configured."; + description + "+06 Etc/GMT-6 6:00"; + } + container Etc-GMT-7 { + presence "Indicates this node is configured."; + description + "+07 Etc/GMT-7 7:00"; + } + container Etc-GMT-8 { + presence "Indicates this node is configured."; + description + "+08 Etc/GMT-8 8:00"; + } + container Etc-GMT-9 { + presence "Indicates this node is configured."; + description + "+09 Etc/GMT-9 9:00"; + } + container Etc-GMT-10 { + presence "Indicates this node is configured."; + description + "+10 Etc/GMT-10 10:00"; + } + container Etc-GMT-11 { + presence "Indicates this node is configured."; + description + "+11 Etc/GMT-11 11:00"; + } + container Etc-GMT-12 { + presence "Indicates this node is configured."; + description + "+12 Etc/GMT-12 12:00"; + } + container Etc-GMT0 { + presence "Indicates this node is configured."; + description + "GMT Etc/GMT0 0:00"; + } + container Etc-Greenwich { + presence "Indicates this node is configured."; + description + "GMT Etc/Greenwich 0:00"; + } + container Etc-UCT { + presence "Indicates this node is configured."; + description + "UCT Etc/UCT 0:00"; + } + container Etc-UTC { + presence "Indicates this node is configured."; + description + "UTC Etc/UTC 0:00"; + } + container Etc-Universal { + presence "Indicates this node is configured."; + description + "UTC Etc/Universal 0:00"; + } + container Etc-Zulu { + presence "Indicates this node is configured."; + description + "UTC Etc/Zulu 0:00"; + } + container Europe-Amsterdam { + presence "Indicates this node is configured."; + description + "CET Europe/Amsterdam 1:00"; + } + container Europe-Andorra { + presence "Indicates this node is configured."; + description + "CET Europe/Andorra 1:00"; + } + container Europe-Astrakhan { + presence "Indicates this node is configured."; + description + "+04 Europe/Astrakhan 4:00"; + } + container Europe-Athens { + presence "Indicates this node is configured."; + description + "EET Europe/Athens 2:00"; + } + container Europe-Belfast { + presence "Indicates this node is configured."; + description + "GMT Europe/Belfast 0:00"; + } + container Europe-Belgrade { + presence "Indicates this node is configured."; + description + "CET Europe/Belgrade 1:00"; + } + container Europe-Berlin { + presence "Indicates this node is configured."; + description + "CET Europe/Berlin 1:00"; + } + container Europe-Bratislava { + presence "Indicates this node is configured."; + description + "CET Europe/Bratislava 1:00"; + } + container Europe-Brussels { + presence "Indicates this node is configured."; + description + "CET Europe/Brussels 1:00"; + } + container Europe-Bucharest { + presence "Indicates this node is configured."; + description + "EET Europe/Bucharest 2:00"; + } + container Europe-Budapest { + presence "Indicates this node is configured."; + description + "CET Europe/Budapest 1:00"; + } + container Europe-Busingen { + presence "Indicates this node is configured."; + description + "CET Europe/Busingen 1:00"; + } + container Europe-Chisinau { + presence "Indicates this node is configured."; + description + "EET Europe/Chisinau 2:00"; + } + container Europe-Copenhagen { + presence "Indicates this node is configured."; + description + "CET Europe/Copenhagen 1:00"; + } + container Europe-Dublin { + presence "Indicates this node is configured."; + description + "IST Europe/Dublin 1:00"; + } + container Europe-Gibraltar { + presence "Indicates this node is configured."; + description + "CET Europe/Gibraltar 1:00"; + } + container Europe-Guernsey { + presence "Indicates this node is configured."; + description + "GMT Europe/Guernsey 0:00"; + } + container Europe-Helsinki { + presence "Indicates this node is configured."; + description + "EET Europe/Helsinki 2:00"; + } + container Europe-Isle_of_Man { + presence "Indicates this node is configured."; + description + "GMT Europe/Isle_of_Man 0:00"; + } + container Europe-Istanbul { + presence "Indicates this node is configured."; + description + "+03 Europe/Istanbul 3:00"; + } + container Europe-Jersey { + presence "Indicates this node is configured."; + description + "GMT Europe/Jersey 0:00"; + } + container Europe-Kaliningrad { + presence "Indicates this node is configured."; + description + "EET Europe/Kaliningrad 2:00"; + } + container Europe-Kiev { + presence "Indicates this node is configured."; + description + "EET Europe/Kiev 2:00"; + } + container Europe-Kirov { + presence "Indicates this node is configured."; + description + "+03 Europe/Kirov 3:00"; + } + container Europe-Lisbon { + presence "Indicates this node is configured."; + description + "WET Europe/Lisbon 0:00"; + } + container Europe-Ljubljana { + presence "Indicates this node is configured."; + description + "CET Europe/Ljubljana 1:00"; + } + container Europe-London { + presence "Indicates this node is configured."; + description + "GMT Europe/London 0:00"; + } + container Europe-Luxembourg { + presence "Indicates this node is configured."; + description + "CET Europe/Luxembourg 1:00"; + } + container Europe-Madrid { + presence "Indicates this node is configured."; + description + "CET Europe/Madrid 1:00"; + } + container Europe-Malta { + presence "Indicates this node is configured."; + description + "CET Europe/Malta 1:00"; + } + container Europe-Mariehamn { + presence "Indicates this node is configured."; + description + "EET Europe/Mariehamn 2:00"; + } + container Europe-Minsk { + presence "Indicates this node is configured."; + description + "+03 Europe/Minsk 3:00"; + } + container Europe-Monaco { + presence "Indicates this node is configured."; + description + "CET Europe/Monaco 1:00"; + } + container Europe-Moscow { + presence "Indicates this node is configured."; + description + "MSK Europe/Moscow 3:00"; + } + container Europe-Nicosia { + presence "Indicates this node is configured."; + description + "EET Europe/Nicosia 2:00"; + } + container Europe-Oslo { + presence "Indicates this node is configured."; + description + "CET Europe/Oslo 1:00"; + } + container Europe-Paris { + presence "Indicates this node is configured."; + description + "CET Europe/Paris 1:00"; + } + container Europe-Podgorica { + presence "Indicates this node is configured."; + description + "CET Europe/Podgorica 1:00"; + } + container Europe-Prague { + presence "Indicates this node is configured."; + description + "CET Europe/Prague 1:00"; + } + container Europe-Riga { + presence "Indicates this node is configured."; + description + "EET Europe/Riga 2:00"; + } + container Europe-Rome { + presence "Indicates this node is configured."; + description + "CET Europe/Rome 1:00"; + } + container Europe-Samara { + presence "Indicates this node is configured."; + description + "+04 Europe/Samara 4:00"; + } + container Europe-San_Marino { + presence "Indicates this node is configured."; + description + "CET Europe/San_Marino 1:00"; + } + container Europe-Sarajevo { + presence "Indicates this node is configured."; + description + "CET Europe/Sarajevo 1:00"; + } + container Europe-Saratov { + presence "Indicates this node is configured."; + description + "+04 Europe/Saratov 4:00"; + } + container Europe-Simferopol { + presence "Indicates this node is configured."; + description + "MSK Europe/Simferopol 3:00"; + } + container Europe-Skopje { + presence "Indicates this node is configured."; + description + "CET Europe/Skopje 1:00"; + } + container Europe-Sofia { + presence "Indicates this node is configured."; + description + "EET Europe/Sofia 2:00"; + } + container Europe-Stockholm { + presence "Indicates this node is configured."; + description + "CET Europe/Stockholm 1:00"; + } + container Europe-Tallinn { + presence "Indicates this node is configured."; + description + "EET Europe/Tallinn 2:00"; + } + container Europe-Tirane { + presence "Indicates this node is configured."; + description + "CET Europe/Tirane 1:00"; + } + container Europe-Tiraspol { + presence "Indicates this node is configured."; + description + "EET Europe/Tiraspol 2:00"; + } + container Europe-Ulyanovsk { + presence "Indicates this node is configured."; + description + "+04 Europe/Ulyanovsk 4:00"; + } + container Europe-Uzhgorod { + presence "Indicates this node is configured."; + description + "EET Europe/Uzhgorod 2:00"; + } + container Europe-Vatican { + presence "Indicates this node is configured."; + description + "CET Europe/Vatican 1:00"; + } + container Europe-Vienna { + presence "Indicates this node is configured."; + description + "CET Europe/Vienna 1:00"; + } + container Europe-Vilnius { + presence "Indicates this node is configured."; + description + "EET Europe/Vilnius 2:00"; + } + container Europe-Volgograd { + presence "Indicates this node is configured."; + description + "+04 Europe/Volgograd 4:00"; + } + container Europe-Warsaw { + presence "Indicates this node is configured."; + description + "CET Europe/Warsaw 1:00"; + } + container Europe-Zagreb { + presence "Indicates this node is configured."; + description + "CET Europe/Zagreb 1:00"; + } + container Europe-Zaporozhye { + presence "Indicates this node is configured."; + description + "EET Europe/Zaporozhye 2:00"; + } + container Europe-Zurich { + presence "Indicates this node is configured."; + description + "CET Europe/Zurich 1:00"; + } + container GB { + presence "Indicates this node is configured."; + description + "GMT GB 0:00"; + } + container GB-Eire { + presence "Indicates this node is configured."; + description + "GMT GB-Eire 0:00"; + } + container GMT { + presence "Indicates this node is configured."; + description + "GMT GMT 0:00"; + } + container GMT-plus-0 { + presence "Indicates this node is configured."; + description + "GMT GMT+0 0:00"; + } + container GMT-0 { + presence "Indicates this node is configured."; + description + "GMT GMT-0 0:00"; + } + container GMT0 { + presence "Indicates this node is configured."; + description + "GMT GMT0 0:00"; + } + container Greenwich { + presence "Indicates this node is configured."; + description + "GMT Greenwich 0:00"; + } + container HST { + presence "Indicates this node is configured."; + description + "HST HST -10:00"; + } + container Hongkong { + presence "Indicates this node is configured."; + description + "HKT Hongkong 8:00"; + } + container Iceland { + presence "Indicates this node is configured."; + description + "GMT Iceland 0:00"; + } + container Indian-Antananarivo { + presence "Indicates this node is configured."; + description + "EAT Indian/Antananarivo 3:00"; + } + container Indian-Chagos { + presence "Indicates this node is configured."; + description + "+06 Indian/Chagos 6:00"; + } + container Indian-Christmas { + presence "Indicates this node is configured."; + description + "+07 Indian/Christmas 7:00"; + } + container Indian-Cocos { + presence "Indicates this node is configured."; + description + "+0630 Indian/Cocos 06:30"; + } + container Indian-Comoro { + presence "Indicates this node is configured."; + description + "EAT Indian/Comoro 3:00"; + } + container Indian-Kerguelen { + presence "Indicates this node is configured."; + description + "+05 Indian/Kerguelen 5:00"; + } + container Indian-Mahe { + presence "Indicates this node is configured."; + description + "+04 Indian/Mahe 4:00"; + } + container Indian-Maldives { + presence "Indicates this node is configured."; + description + "+05 Indian/Maldives 5:00"; + } + container Indian-Mauritius { + presence "Indicates this node is configured."; + description + "+04 Indian/Mauritius 4:00"; + } + container Indian-Mayotte { + presence "Indicates this node is configured."; + description + "EAT Indian/Mayotte 3:00"; + } + container Indian-Reunion { + presence "Indicates this node is configured."; + description + "+04 Indian/Reunion 4:00"; + } + container Iran { + presence "Indicates this node is configured."; + description + "+0330 Iran 3:30"; + } + container Israel { + presence "Indicates this node is configured."; + description + "IST Israel 2:00"; + } + container Jamaica { + presence "Indicates this node is configured."; + description + "EST Jamaica -5:00"; + } + container Japan { + presence "Indicates this node is configured."; + description + "JST Japan 9:00"; + } + container Kwajalein { + presence "Indicates this node is configured."; + description + "+12 Kwajalein 12:00"; + } + container Libya { + presence "Indicates this node is configured."; + description + "EET Libya 2:00"; + } + container MET { + presence "Indicates this node is configured."; + description + "MET MET 1:00"; + } + container MST { + presence "Indicates this node is configured."; + description + "MST MST -7:00"; + } + container MST7MDT { + presence "Indicates this node is configured."; + description + "MST MST7MDT -7:00"; + } + container Mexico-BajaNorte { + presence "Indicates this node is configured."; + description + "PST Mexico/BajaNorte -8:00"; + } + container Mexico-BajaSur { + presence "Indicates this node is configured."; + description + "MST Mexico/BajaSur -7:00"; + } + container Mexico-General { + presence "Indicates this node is configured."; + description + "CST Mexico/General -6:00"; + } + container NZ { + presence "Indicates this node is configured."; + description + "NZST NZ 12:00"; + } + container NZ-CHAT { + presence "Indicates this node is configured."; + description + "+1245 NZ-CHAT 12:45"; + } + container Navajo { + presence "Indicates this node is configured."; + description + "MST Navajo -7:00"; + } + container PRC { + presence "Indicates this node is configured."; + description + "CST PRC -6:00"; + } + container PST8PDT { + presence "Indicates this node is configured."; + description + "PST PST8PDT -8:00"; + } + container Pacific-Apia { + presence "Indicates this node is configured."; + description + "+13 Pacific/Apia 13:00"; + } + container Pacific-Auckland { + presence "Indicates this node is configured."; + description + "NZST Pacific/Auckland 12:00"; + } + container Pacific-Bougainville { + presence "Indicates this node is configured."; + description + "+11 Pacific/Bougainville 11:00"; + } + container Pacific-Chatham { + presence "Indicates this node is configured."; + description + "+1245 Pacific/Chatham 12:45"; + } + container Pacific-Chuuk { + presence "Indicates this node is configured."; + description + "+10 Pacific/Chuuk 10:00"; + } + container Pacific-Easter { + presence "Indicates this node is configured."; + description + "-06 Pacific/Easter -6:00"; + } + container Pacific-Efate { + presence "Indicates this node is configured."; + description + "+11 Pacific/Efate 11:00"; + } + container Pacific-Enderbury { + presence "Indicates this node is configured."; + description + "+13 Pacific/Enderbury 13:00"; + } + container Pacific-Fakaofo { + presence "Indicates this node is configured."; + description + "+13 Pacific/Fakaofo 13:00"; + } + container Pacific-Fiji { + presence "Indicates this node is configured."; + description + "+12 Pacific/Fiji 12:00"; + } + container Pacific-Funafuti { + presence "Indicates this node is configured."; + description + "+12 Pacific/Funafuti 12:00"; + } + container Pacific-Galapagos { + presence "Indicates this node is configured."; + description + "-06 Pacific/Galapagos -6:00"; + } + container Pacific-Gambier { + presence "Indicates this node is configured."; + description + "-09 Pacific/Gambier -9:00"; + } + container Pacific-Guadalcanal { + presence "Indicates this node is configured."; + description + "+11 Pacific/Guadalcanal 11:00"; + } + container Pacific-Guam { + presence "Indicates this node is configured."; + description + "ChST Pacific/Guam 10:00"; + } + container Pacific-Honolulu { + presence "Indicates this node is configured."; + description + "HST Pacific/Honolulu -10:00"; + } + container Pacific-Johnston { + presence "Indicates this node is configured."; + description + "HST Pacific/Johnston -10:00"; + } + container Pacific-Kiritimati { + presence "Indicates this node is configured."; + description + "+14 Pacific/Kiritimati 14:00"; + } + container Pacific-Kosrae { + presence "Indicates this node is configured."; + description + "+11 Pacific/Kosrae 11:00"; + } + container Pacific-Kwajalein { + presence "Indicates this node is configured."; + description + "+12 Pacific/Kwajalein 12:00"; + } + container Pacific-Majuro { + presence "Indicates this node is configured."; + description + "+12 Pacific/Majuro 12:00"; + } + container Pacific-Marquesas { + presence "Indicates this node is configured."; + description + "-0930 Pacific/Marquesas -09:30"; + } + container Pacific-Midwy { + presence "Indicates this node is configured."; + description + "SST Pacific/Midwy -11:00"; + } + container Pacific-Nauru { + presence "Indicates this node is configured."; + description + "+12 Pacific/Nauru 12:00"; + } + container Pacific-Niue { + presence "Indicates this node is configured."; + description + "-11 Pacific/Niue -11:00"; + } + container Pacific-Norfolk { + presence "Indicates this node is configured."; + description + "+11 Pacific/Norfolk 11:00"; + } + container Pacific-Noumea { + presence "Indicates this node is configured."; + description + "+11 Pacific/Noumea 11:00"; + } + container Pacific-Pago_Pago { + presence "Indicates this node is configured."; + description + "SST Pacific/Pago_Pago -11:00"; + } + container Pacific-Palau { + presence "Indicates this node is configured."; + description + "+09 Pacific/Palau 9:00"; + } + container Pacific-Pitcairn { + presence "Indicates this node is configured."; + description + "-08 Pacific/Pitcairn -8:00"; + } + container Pacific-Pohnpei { + presence "Indicates this node is configured."; + description + "+11 Pacific/Pohnpei 11:00"; + } + container Pacific-Ponape { + presence "Indicates this node is configured."; + description + "+11 Pacific/Ponape 11:00"; + } + container Pacific-Port_Moresby { + presence "Indicates this node is configured."; + description + "+10 Pacific/Port_Moresby 10:00"; + } + container Pacific-Rarotonga { + presence "Indicates this node is configured."; + description + "-10 Pacific/Rarotonga -10:00"; + } + container Pacific-Saipan { + presence "Indicates this node is configured."; + description + "ChST Pacific/Saipan 10:00"; + } + container Pacific-Samoa { + presence "Indicates this node is configured."; + description + "SST Pacific/Samoa -11:00"; + } + container Pacific-Tahiti { + presence "Indicates this node is configured."; + description + "-10 Pacific/Tahiti -10:00"; + } + container Pacific-Tarawa { + presence "Indicates this node is configured."; + description + "+12 Pacific/Tarawa 12:00"; + } + container Pacific-Tongatapu { + presence "Indicates this node is configured."; + description + "+13 Pacific/Tongatapu 13:00"; + } + container Pacific-Truk { + presence "Indicates this node is configured."; + description + "+10 Pacific/Truk 10:00"; + } + container Pacific-Wake { + presence "Indicates this node is configured."; + description + "+12 Pacific/Wake 12:00"; + } + container Pacific-Wallis { + presence "Indicates this node is configured."; + description + "+12 Pacific/Wallis 12:00"; + } + container Pacific-Yap { + presence "Indicates this node is configured."; + description + "+10 Pacific/Yap 10:00"; + } + container Poland { + presence "Indicates this node is configured."; + description + "CET Poland 1:00"; + } + container Portugal { + presence "Indicates this node is configured."; + description + "WET Portugal 0:00"; + } + container ROC { + presence "Indicates this node is configured."; + description + "CST ROC -6:00"; + } + container ROK { + presence "Indicates this node is configured."; + description + "KST ROK 9:00"; + } + container Singapore { + presence "Indicates this node is configured."; + description + "+08 Singapore 8:00"; + } + container Turkey { + presence "Indicates this node is configured."; + description + "+03 Turkey 3:00"; + } + container UCT { + presence "Indicates this node is configured."; + description + "UCT UCT 0:00"; + } + container US-Alaska { + presence "Indicates this node is configured."; + description + "AKST US/Alaska -9:00"; + } + container US-Arizona { + presence "Indicates this node is configured."; + description + "MST US/Arizona -7:00"; + } + container US-Central { + presence "Indicates this node is configured."; + description + "CST US/Central -6:00"; + } + container US-East-Indiana { + presence "Indicates this node is configured."; + description + "EST US/East-Indiana -5:00"; + } + container US-Eastern { + presence "Indicates this node is configured."; + description + "EST US/Eastern -5:00"; + } + container US-Hawaii { + presence "Indicates this node is configured."; + description + "HST US/Hawaii -10:00"; + } + container US-Indiana-Starke { + presence "Indicates this node is configured."; + description + "CST US/Indiana-Starke -6:00"; + } + container US-Michigan { + presence "Indicates this node is configured."; + description + "EST US/Michigan -5:00"; + } + container US-Mountain { + presence "Indicates this node is configured."; + description + "MST US/Mountain -7:00"; + } + container US-Pacific { + presence "Indicates this node is configured."; + description + "PST US/Pacific -8:00"; + } + container US-Samoa { + presence "Indicates this node is configured."; + description + "SST US/Samoa -11:00"; + } + container UTC { + presence "Indicates this node is configured."; + description + "UTC UTC 0:00"; + } + container Universal { + presence "Indicates this node is configured."; + description + "UTC Universal 0:00"; + } + container W-SU { + presence "Indicates this node is configured."; + description + "MSK W-SU 3:00"; + } + container WET { + presence "Indicates this node is configured."; + description + "WET WET 0:00"; + } + container Zulu { + presence "Indicates this node is configured."; + description + "UTC Zulu 0:00"; + } + container zone1970.tab { + presence "Indicates this node is configured."; + description + "zone zone1970.tab -24:00"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-commit-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-commit-cfg.yang new file mode 100644 index 000000000..832ee3e6a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-commit-cfg.yang @@ -0,0 +1,701 @@ +module Cisco-IOS-XR-um-config-commit-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-commit-cfg"; + prefix um-config-commit-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-commit package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-08 { + description + "Removed Cisco-IOS-XR-types import"; + semver:module-version "1.0.1m"; + } + revision 2021-04-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature cflash_fs_supp_check { + description + "cflash fs supp check"; + } + + feature usb_fs_supp_check { + description + "usb fs supp check"; + } + + feature disk2_fs_supp_check { + description + "disk2 fs supp check"; + } + + feature harddisk_fs_supp_check { + description + "harddisk fs supp check"; + } + + feature lcdisk_fs_supp_check { + description + "lcdisk fs supp check"; + } + + feature classic-admin-config { + description + "Classic admin configuration supported"; + } + + container admin { + if-feature "classic-admin-config"; + description + "Admin configuration"; + container configuration { + description + "Set autosave on commit "; + container commit { + description + "auto-save the running configuration"; + container auto-save { + description + "auto-save the running configuration"; + container filename { + must + "compactflash or compactflasha or usb or disk0 + or disk0a or disk1 or disk1a or disk2 + or harddisk or harddiska or harddiskb or nvram + or lcdisk0 or lcdisk0a or tftp or ftp or rcp + or save-to-file"; + presence "Indicates a filename node is configured."; + description + "filename to auto-save"; + container bootflash { + must + "not(../compactflash or ../compactflasha + or ../usb or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a bootflash node is configured."; + description + "Save to bootflash: file system"; + } + container compactflash { + if-feature "cflash_fs_supp_check"; + must + "not(../bootflash or ../compactflasha + or ../usb or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a compactflash node is configured."; + description + "Save to compactflash: file system"; + } + container compactflasha { + if-feature "cflash_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../usb or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a compactflasha node is configured."; + description + "Save to compactflasha: file system"; + } + container usb { + if-feature "usb_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a usb node is configured."; + description + "Save to usb: file system"; + } + container disk0 { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk0 node is configured."; + description + "Save to disk0: file system"; + } + container disk0a { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk0a node is configured."; + description + "Save to disk0a: file system"; + } + container disk1 { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk1 node is configured."; + description + "Save to disk1: file system"; + } + container disk1a { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk1a node is configured."; + description + "Save to disk1a: file system"; + } + container disk2 { + if-feature "disk2_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk2 node is configured."; + description + "Save to disk2: file system"; + } + container harddisk { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a harddisk node is configured."; + description + "Save to harddisk: file system"; + } + container harddiska { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a harddiska node is configured."; + description + "Save to harddiska: file system"; + } + container harddiskb { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a harddiskb node is configured."; + description + "Save to harddiskb: file system"; + } + container nvram { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a nvram node is configured."; + description + "Save to nvram: file system"; + } + container lcdisk0 { + if-feature "lcdisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a lcdisk0 node is configured."; + description + "Save to lcdisk0: file system"; + } + container lcdisk0a { + if-feature "lcdisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a lcdisk0a node is configured."; + description + "Save to lcdisk0a: file system"; + } + container tftp { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../ftp + or ../rcp)"; + presence "Indicates a tftp node is configured."; + description + "Save to tftp: file system"; + } + container ftp { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp + or ../rcp)"; + presence "Indicates a ftp node is configured."; + description + "Save to ftp: file system"; + } + container rcp { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp + or ../ftp)"; + presence "Indicates a rcp node is configured."; + description + "Save to rcp: file system"; + } + leaf save-to-file { + type string { + length "1..800" { + description + "Save to file"; + } + } + description + "Save to file"; + } + } + } + } + } + } + container configuration { + description + "Configuration related settings "; + container commit { + description + "auto-save the running configuration"; + container auto-save { + description + "auto-save the running configuration"; + container filename { + must + "compactflash or compactflasha or usb or disk0 + or disk0a or disk1 or disk1a or disk2 + or harddisk or harddiska or harddiskb or nvram + or lcdisk0 or lcdisk0a or tftp or ftp or rcp + or save-to-file"; + presence "Indicates a filename node is configured."; + description + "filename to auto-save"; + container bootflash { + must + "not(../compactflash or ../compactflasha + or ../usb or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a bootflash node is configured."; + description + "Save to bootflash: file system"; + } + container compactflash { + if-feature "cflash_fs_supp_check"; + must + "not(../bootflash or ../compactflasha + or ../usb or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a compactflash node is configured."; + description + "Save to compactflash: file system"; + } + container compactflasha { + if-feature "cflash_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../usb or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a compactflasha node is configured."; + description + "Save to compactflasha: file system"; + } + container usb { + if-feature "usb_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../disk0 + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a usb node is configured."; + description + "Save to usb: file system"; + } + container disk0 { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0a or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk0 node is configured."; + description + "Save to disk0: file system"; + } + container disk0a { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk1 + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk0a node is configured."; + description + "Save to disk0a: file system"; + } + container disk1 { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1a or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk1 node is configured."; + description + "Save to disk1: file system"; + } + container disk1a { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk2 + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk1a node is configured."; + description + "Save to disk1a: file system"; + } + container disk2 { + if-feature "disk2_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../harddisk or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a disk2 node is configured."; + description + "Save to disk2: file system"; + } + container harddisk { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddiska + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a harddisk node is configured."; + description + "Save to harddisk: file system"; + } + container harddiska { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a harddiska node is configured."; + description + "Save to harddiska: file system"; + } + container harddiskb { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../nvram + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a harddiskb node is configured."; + description + "Save to harddiskb: file system"; + } + container nvram { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../lcdisk0 or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a nvram node is configured."; + description + "Save to nvram: file system"; + } + container lcdisk0 { + if-feature "lcdisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0a + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a lcdisk0 node is configured."; + description + "Save to lcdisk0: file system"; + } + container lcdisk0a { + if-feature "lcdisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../tftp or ../ftp + or ../rcp)"; + presence "Indicates a lcdisk0a node is configured."; + description + "Save to lcdisk0a: file system"; + } + container tftp { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../ftp + or ../rcp)"; + presence "Indicates a tftp node is configured."; + description + "Save to tftp: file system"; + } + container ftp { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp + or ../rcp)"; + presence "Indicates a ftp node is configured."; + description + "Save to ftp: file system"; + } + container rcp { + must + "not(../bootflash or ../compactflash + or ../compactflasha or ../usb + or ../disk0 or ../disk0a + or ../disk1 or ../disk1a + or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb + or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp + or ../ftp)"; + presence "Indicates a rcp node is configured."; + description + "Save to rcp: file system"; + } + leaf save-to-file { + type string { + length "1..800" { + description + "Save to file"; + } + } + description + "Save to file"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-display-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-display-cfg.yang new file mode 100644 index 000000000..a4819b5ed --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-display-cfg.yang @@ -0,0 +1,67 @@ +module Cisco-IOS-XR-um-config-display-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-display-cfg"; + prefix um-config-display-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-display package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container ipv4 { + description + "Global IPv4 configuration commands"; + container netmask-format { + description + "Display mode of ipv4 address mask"; + container bit-count { + presence "Indicates a bit-count node is configured."; + description + "Display ipv4 addess mask in prefix length format"; + } + } + } + container configuration { + description + "Configuration related settings"; + container display { + description + "Display mode"; + container interface { + description + "hardware interfaces"; + container slot-order { + presence "Indicates a slot-order node is configured."; + description + "Display interfaces in the slot-order in show run output"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-hostname-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-hostname-cfg.yang new file mode 100644 index 000000000..ad2ce9fb0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-hostname-cfg.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XR-um-config-hostname-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-hostname-cfg"; + prefix um-config-hostname-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-hostname package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container config-hostname { + description + "Set system's test network name"; + leaf system-network-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "This system's network name"; + } + pattern "[a-zA-Z0-9_.{}+-]+"; + } + description + "Set system's test network name"; + } + } + container config-sleep { + description + "Block config commit for n seconds"; + leaf sleep-time { + type uint32 { + range "10..299" { + description + "time in seconds"; + } + } + description + "Block config commit for n seconds"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-mode-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-mode-cfg.yang new file mode 100644 index 000000000..3f1cf0d87 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-mode-cfg.yang @@ -0,0 +1,50 @@ +module Cisco-IOS-XR-um-config-mode-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-mode-cfg"; + prefix um-config-mode-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-mode package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-02 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container configuration { + description + "Configuration mode"; + container mode { + description + "Mode of config sessions"; + container exclusive { + presence "Indicates a exclusive node is configured."; + description + "Automatically enable exclusive config sessions"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-validation-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-validation-cfg.yang new file mode 100644 index 000000000..cfe9e7ff2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-config-validation-cfg.yang @@ -0,0 +1,104 @@ +module Cisco-IOS-XR-um-config-validation-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-validation-cfg"; + prefix um-config-validation-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-script-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR config-validation package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-30 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:script" { + container configs { + description + "Activate a config script"; + list config { + must "checksum/sha256"; + key "config-name"; + description + "Activate a config script"; + leaf config-name { + type string { + length "1..800" { + description + "Specify the filename of the config script (must end in .py)"; + } + pattern ".+[.]{1}py"; + } + description + "Activate a config script"; + } + container checksum { + description + "Specify a checksum for the script"; + leaf sha256 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "The SHA256 hash (64 hex characters)"; + } + pattern "[A-Za-z0-9]{64}"; + } + description + "Specify an SHA256 checksum"; + } + } + leaf priority { + type uint32 { + range "0..4294967295" { + description + "The priority value (default 500)"; + } + } + description + "Specify priority of the script (default 500)"; + } + } + } + } + container configuration { + description + "Configuration related settings"; + container validation { + description + "Options for configuration validation"; + container scripts { + presence "Indicates a scripts node is configured."; + description + "Enable configuration validation via config scripts"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-conflict-policy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-conflict-policy-cfg.yang new file mode 100644 index 000000000..3892420a1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-conflict-policy-cfg.yang @@ -0,0 +1,149 @@ +module Cisco-IOS-XR-um-conflict-policy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-conflict-policy-cfg"; + prefix um-conflict-policy-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-vrf-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR conflict-policy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-04 { + description + "Removed presence statement under conflict-policy"; + semver:module-version "1.0.0"; + } + revision 2020-04-20 { + description + "Initial release"; + } + + grouping VRF-BODY { + container mhost { + description + "Multicast host stack options"; + container ipv4 { + description + "IPv4 specific"; + leaf default-interface { + type xr:Interface-name; + description + "default multicast interface"; + } + } + container ipv6 { + description + "IPv6 specific"; + leaf default-interface { + type xr:Interface-name; + description + "default multicast interface"; + } + } + } + } + + augment "/a1:vrfs/a1:vrf" { + uses VRF-BODY; + } + container ipv4 { + description + "Global IPv4 configuration commands"; + container conflict-policy { + description + "ipv4 address conflict algorithm selection"; + container static { + must "not(../longest-prefix or ../highest-ip)"; + presence "Indicates a static node is configured."; + description + "Keeps the existing interface UP across new address configs"; + } + container longest-prefix { + must "not(../static or ../highest-ip)"; + presence "Indicates a longest-prefix node is configured."; + description + "Keeps the longest prefix match in the conflict set UP"; + } + container highest-ip { + must "not(../static or ../longest-prefix)"; + presence "Indicates a highest-ip node is configured."; + description + "Keeps the highest ip address in the conflict set UP"; + } + } + } + container ipv6 { + description + "Global IPv6 configuration commands"; + container conflict-policy { + description + "ipv6 address conflict policy selection"; + container static { + must "not(../longest-prefix or ../highest-ip)"; + presence "Indicates a static node is configured."; + description + "Keeps the existing interface UP across new address configs"; + } + container longest-prefix { + must "not(../static or ../highest-ip)"; + presence "Indicates a longest-prefix node is configured."; + description + "Keeps the longest prefix match in the conflict set UP"; + } + container highest-ip { + must "not(../static or ../longest-prefix)"; + presence "Indicates a highest-ip node is configured."; + description + "Keeps the highest ip address in the conflict set UP"; + } + } + } + container mhost { + description + "Multicast host stack options"; + container ipv4 { + description + "IPv4 specific"; + leaf default-interface { + type xr:Interface-name; + description + "default multicast interface"; + } + } + container ipv6 { + description + "IPv6 specific"; + leaf default-interface { + type xr:Interface-name; + description + "default multicast interface"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-breakout-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-breakout-cfg.yang new file mode 100644 index 000000000..3ca15d3e9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-breakout-cfg.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XR-um-cont-breakout-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-breakout-cfg"; + prefix um-cont-breakout-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-breakout package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature optics { + description + "optics"; + } + + grouping CONT-BODY { + leaf breakout { + when "../a1:controller-name[starts-with(text(),'Optics')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "optics"; + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "breakout mode: 4x10 | 4x25 | 2x50 | 8x50 | 4x100 | 3x100 | 2x100 | 1x100"; + } + } + description + "Configure breakout mode"; + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-cpri-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-cpri-cfg.yang new file mode 100644 index 000000000..b9b2bdd32 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-cpri-cfg.yang @@ -0,0 +1,141 @@ +module Cisco-IOS-XR-um-cont-cpri-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-cpri-cfg"; + prefix um-cont-cpri-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-cpri package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature cpri { + description + "cpri"; + } + + grouping CONT-BODY { + container loopback { + when "../a1:controller-name[starts-with(text(),'CPRI')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "cpri"; + description + "Configure various loopback mode"; + container line { + must "not(../internal)"; + presence "Indicates a line node is configured."; + description + "CPRI Line side(external) loopback"; + } + container internal { + must "not(../line)"; + presence "Indicates a internal node is configured."; + description + "CPRI Internal loopback"; + } + } + container extended-loopback { + when "../a1:controller-name[starts-with(text(),'CPRI')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "cpri"; + description + "Extended loopback level and mode for diagnostics"; + leaf level { + type uint32 { + range "1..3" { + description + ""; + } + } + must "../enable-loopback"; + description + "Extended loopback level and mode for diagnostics"; + } + leaf enable-loopback { + type enumeration { + enum "line" { + value 1; + description + "Enable line loopback"; + } + enum "internal" { + value 4; + description + "Enable internal loopback"; + } + } + must "../level"; + description + "configure this node"; + } + } + leaf l1-startup-timer { + when "../a1:controller-name[starts-with(text(),'CPRI')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "cpri"; + type uint32 { + range "0..65536" { + description + "Configure L1 startup timer value"; + } + } + description + "Configure L1 startup timer"; + } + leaf attach-roe-profile { + when "../a1:controller-name[starts-with(text(),'CPRI')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "cpri"; + type uint32 { + range "1..255" { + description + "Configure RoE profile ID"; + } + } + description + "Attach RoE profile to this controller"; + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-dwdm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-dwdm-cfg.yang new file mode 100644 index 000000000..19cee3007 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-dwdm-cfg.yang @@ -0,0 +1,1099 @@ +module Cisco-IOS-XR-um-cont-dwdm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-dwdm-cfg"; + prefix um-cont-dwdm-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-dwdm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-02 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature dwdm_cont { + description + "dwdm controller"; + } + + grouping IF-BODY { + container maintenance { + description + "Configure maintenance embargo flag on the given interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Configure maintenance embargo flag on the given interface"; + } + } + } + + grouping CONT-BODY { + container admin-state { + description + "Configure the transport admin state of the controller: in-service, out-of-service or maintenance"; + container in-service { + must + "not(../out-of-service or ../maintenance + or ../in-service-config-allowed)"; + presence "Indicates a in-service node is configured."; + description + "change the admin-state to In-service (IS)"; + } + container out-of-service { + must + "not(../in-service or ../maintenance + or ../in-service-config-allowed)"; + presence "Indicates a out-of-service node is configured."; + description + "change the admin-state to Out-of-service (OOS)"; + } + container maintenance { + must + "not(../in-service or ../out-of-service + or ../in-service-config-allowed)"; + presence "Indicates a maintenance node is configured."; + description + "change the admin-state to Out-of-service-Maintenance (OOS-MT)"; + } + container in-service-config-allowed { + must + "not(../in-service or ../out-of-service + or ../maintenance)"; + presence "Indicates a in-service-config-allowed node is configured."; + description + "change the admin-state to In-service-config-allowed (IS-CFG)"; + } + } + container wavelength { + description + "Configure ITU Channel, Wavelength and Frequency"; + container fifty-ghz-grid { + description + "Configure Wavelength / Frequency / Channel Number"; + leaf itu-channel-number { + type uint32 { + range "1..100" { + description + "Select an ITU channel number; C Band: 1-100"; + } + } + must + "not(../frequency or ../update or + ../../one-hundred-mhz-grid/frequency)"; + description + "Select an ITU channel number; C Band: 1-100"; + } + leaf frequency { + type uint32 { + range "19115..19610" { + description + "Enter 5-digit Frequency data; e.g. 19580 for 195.8 THz"; + } + } + must + "not(../itu-channel-number or ../update or + ../../one-hundred-mhz-grid/frequency)"; + description + "Configure Frequency and Map to ITU Channel"; + } + leaf update { + type uint32 { + range "1528773..1568362" { + description + "Enter 7-digit Wavelength data; e.g. 1532290 for 1532.29 nm"; + } + } + must + "not(../itu-channel-number or ../frequency or + ../../one-hundred-mhz-grid/frequency)"; + description + "Configure Wavelength and Map to ITU Channel"; + } + } + container one-hundred-mhz-grid { + description + "Specify frequency directly instead of wave channel numbers"; + leaf frequency { + type xr:Cisco-ios-xr-string { + length "1..8" { + description + "Enter Frequency Data in THz (e.g. 195.7314)"; + } + } + must + "not(../../fifty-ghz-grid/itu-channel-number or + ../../fifty-ghz-grid/frequency or + ../../fifty-ghz-grid/update)"; + description + "Configure frequency in steps of 100MHz"; + } + } + } + leaf transmit-power { + type int32 { + range "-190..10" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure transponder transmit power "; + } + leaf rx-los-threshold { + type int32 { + range "-350..50" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure transponder receive power LOS threshold"; + } + leaf loopback { + type enumeration { + enum "line" { + value 1; + description + "Select line loopback mode"; + } + enum "internal" { + value 2; + description + "Select internal loopback mode"; + } + } + description + "Configure loopback mode "; + } + container g709 { + description + "Configure G709 parameters"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable G709 function"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable G709 function"; + } + leaf framing { + type enumeration { + enum "opu1e" { + value 1; + description + "opu1e framing mode"; + } + enum "opu2e" { + value 2; + description + "opu2e framing mode"; + } + } + description + "Configure Framing mode"; + } + container prbs { + description + "Enable PRBS with specifc mode and pattern "; + leaf mode { + type enumeration { + enum "source" { + value 0; + description + "Select Source mode "; + } + enum "sink" { + value 1; + description + "Select Sink mode "; + } + enum "source-sink" { + value 2; + description + "Select Source-sink mode "; + } + } + must "../pattern"; + description + "Configure PRBS mode"; + } + leaf pattern { + type enumeration { + enum "null" { + value 1; + description + "Select NULL Pattern "; + } + enum "pn11" { + value 2; + description + "Select PN11 Pattern "; + } + enum "pn23" { + value 3; + description + "Select PN23 Pattern "; + } + enum "pn31" { + value 4; + description + "Select PN31 Pattern "; + } + } + must "../mode"; + description + "Configure PRBS pattern"; + } + } + container fec { + description + "Configure FEC mode"; + container standard { + must + "not(../high-gain-hd-fec or ../high-gain-sd-fec + or ../high-gain-multivendor-hd-fec or ../ci-bch + or ../long-haul-hd-fec or ../long-haul-sd-fec + or ../disable or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a standard node is configured."; + description + "Standard FEC mode"; + } + container enhanced { + presence "Indicates a enhanced node is configured."; + description + "Enhanced FEC mode"; + container i-4 { + must "not(../i-7)"; + presence "Indicates a i-4 node is configured."; + description + "efec i.4"; + } + container i-7 { + must "not(../i-4)"; + presence "Indicates a i-7 node is configured."; + description + "efec i.7"; + } + } + container high-gain-hd-fec { + must + "not(../standard or ../high-gain-sd-fec + or ../high-gain-multivendor-hd-fec or ../ci-bch + or ../long-haul-hd-fec or ../long-haul-sd-fec + or ../disable or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a high-gain-hd-fec node is configured."; + description + "7% HD FEC (Staircase FEC)"; + } + container high-gain-sd-fec { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-multivendor-hd-fec or ../ci-bch + or ../long-haul-hd-fec or ../long-haul-sd-fec + or ../disable or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a high-gain-sd-fec node is configured."; + description + "7% CISCO SD FEC (Soft-Decision FEC)"; + } + container high-gain-multivendor-hd-fec { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-sd-fec or ../ci-bch + or ../long-haul-hd-fec or ../long-haul-sd-fec + or ../disable or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a high-gain-multivendor-hd-fec node is configured."; + description + "7% HD FEC (Staircase FEC) Multivendor Interoperable"; + } + container ci-bch { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-sd-fec or ../high-gain-multivendor-hd-fec + or ../long-haul-hd-fec or ../long-haul-sd-fec + or ../disable or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a ci-bch node is configured."; + description + "Continuously Interleaved BCH FEC"; + } + container long-haul-hd-fec { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-sd-fec or ../high-gain-multivendor-hd-fec + or ../ci-bch or ../long-haul-sd-fec + or ../disable or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a long-haul-hd-fec node is configured."; + description + "20% HD FEC (Staircase FEC)"; + } + container long-haul-sd-fec { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-sd-fec or ../high-gain-multivendor-hd-fec + or ../ci-bch or ../long-haul-hd-fec + or ../disable or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a long-haul-sd-fec node is configured."; + description + "20% CISCO SD FEC (Soft-Decision FEC)"; + } + container disable { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-sd-fec or ../high-gain-multivendor-hd-fec + or ../ci-bch or ../long-haul-hd-fec + or ../long-haul-sd-fec or ../one5sdfecde + or ../one5sdfec)"; + presence "Indicates a disable node is configured."; + description + "Disable FEC"; + } + container one5sdfecde { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-sd-fec or ../high-gain-multivendor-hd-fec + or ../ci-bch or ../long-haul-hd-fec + or ../long-haul-sd-fec or ../disable + or ../one5sdfec)"; + presence "Indicates a one5sdfecde node is configured."; + description + "15%-SD Forward Error Correction with Diff"; + } + container one5sdfec { + must + "not(../standard or ../high-gain-hd-fec + or ../high-gain-sd-fec or ../high-gain-multivendor-hd-fec + or ../ci-bch or ../long-haul-hd-fec + or ../long-haul-sd-fec or ../disable + or ../one5sdfecde)"; + presence "Indicates a one5sdfec node is configured."; + description + "15%-SD Forward Error Correction"; + } + } + container bdi-to-client-gais { + presence "Indicates a bdi-to-client-gais node is configured."; + description + "Enable gais insertion"; + } + container tti-processing { + presence "Indicates a tti-processing node is configured."; + description + "Enable Trail Trace Identifier processing"; + } + container tim-to-client-gais { + presence "Indicates a tim-to-client-gais node is configured."; + description + "Enable Generic AIS insertion for Trace Identifier Mismatch alarm"; + } + container otu { + description + "Configure OTU parameters"; + container reports { + description + "Configure OTU alarm reporting"; + list report { + key "report-id"; + description + "Configure OTU alarm reporting"; + leaf report-id { + type enumeration { + enum "los" { + value 0; + description + "Set Loss of Signal reporting status"; + } + enum "lof" { + value 1; + description + "Set OTU Loss of Frame reporting status"; + } + enum "lom" { + value 2; + description + "Set Loss of Multiple Frame reporting status"; + } + enum "iae" { + value 6; + description + "Set Incoming Alignment Error reporting status"; + } + enum "bdi" { + value 7; + description + "Set Backward Defect Indication reporting status"; + } + enum "tim" { + value 8; + description + "Set Trace Identifier Mismatch reporting status"; + } + enum "sf-ber" { + value 10; + description + "Set SM BER in excess of SF threshold reporting status"; + } + enum "sd-ber" { + value 11; + description + "Set SM BER in excess of SD threshold reporting status"; + } + enum "prefec-sd-ber" { + value 31; + description + "Set SM BER in excess of SD threshold reporting status"; + } + enum "prefec-sf-ber" { + value 32; + description + "Set SM BER in excess of SF threshold reporting status"; + } + } + description + "Configure OTU alarm reporting"; + } + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + } + container overhead { + description + "Configure OTU overhead"; + container tti { + description + "Configure OTU Trail Trace Identifier buffer"; + container sent { + description + "Set transmit TTI"; + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter ASCII string"; + } + leaf hex { + type string { + length "1..128" { + description + "Hex nibbles (Max 128- The string length should be an even number)"; + } + } + description + "Enter hex string- Length should be even number"; + } + container otn-std { + description + "Configure tti in otn standard defined fields"; + leaf sapi { + type string { + length "1..15" { + description + "Enter SAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Source Access Point Identifier field 1-15"; + } + leaf dapi { + type string { + length "1..15" { + description + "Enter DAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Destination Access Point Identifier field 1-15"; + } + leaf operator-specific { + type string { + length "1..32" { + description + "Enter Operator Specific text (Max Length 32 Characters)"; + } + } + description + "Enter Operator Specific field"; + } + } + } + container expected { + description + "Set expected TTI"; + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter ASCII string"; + } + leaf hex { + type string { + length "1..128" { + description + "Hex nibbles (Max 128- The string length should be an even number)"; + } + } + description + "Enter hex string- Length should be even number"; + } + container otn-std { + description + "Configure tti in otn standard defined fields"; + leaf sapi { + type string { + length "1..15" { + description + "Enter SAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Source Access Point Identifier field 1-15"; + } + leaf dapi { + type string { + length "1..15" { + description + "Enter DAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Destination Access Point Identifier field 1-15"; + } + leaf operator-specific { + type string { + length "1..32" { + description + "Enter Operator Specific text (Max Length 32 Characters)"; + } + } + description + "Enter Operator Specific field"; + } + } + } + } + } + container threshold { + description + "Configure OTU threshold value"; + leaf sd-ber { + type uint32 { + range "1..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set Signal Degrade BER threshold"; + } + leaf sf-ber { + type uint32 { + range "1..9" { + description + "Bit error rate (10 to the minus n) (default 3)"; + } + } + description + "Set Signal Failure BER threshold"; + } + leaf prefec-sd-ber { + type uint32 { + range "2..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set PreFec Signal Degrate BER threshold"; + } + leaf prefec-sf-ber { + type uint32 { + range "2..9" { + description + "Bit error rate (10 to the minus n) (default 4)"; + } + } + description + "Set PreFec Signal fail BER threshold"; + } + } + } + container odu { + description + "Configure ODU parameters"; + container reports { + description + "Configure ODU alarm reporting"; + list report { + key "report-id"; + description + "Configure ODU alarm reporting"; + leaf report-id { + type enumeration { + enum "oci" { + value 14; + description + "Set Open Connection Indication reporting status"; + } + enum "ais" { + value 15; + description + "Set Alarm Indication Signal reporting status"; + } + enum "lck" { + value 16; + description + "Set Upstream Connection Locked reporting status"; + } + enum "bdi" { + value 17; + description + "Set Backward Defect Indication reporting status"; + } + enum "sf-ber" { + value 20; + description + "Set PM BER in excess of SF threshold reporting status"; + } + enum "sd-ber" { + value 21; + description + "Set PM BER in excess of SD threshold reporting status"; + } + enum "ptim" { + value 22; + description + "Set Payload Type Identifier Mismatch reporting status"; + } + enum "tim" { + value 23; + description + "Set Trace Identifier Mismatch reporting status"; + } + } + description + "Configure ODU alarm reporting"; + } + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + } + container overhead { + description + "Configure ODU overhead"; + container tti { + description + "Configure ODU Trail Trace Identifier buffer"; + container sent { + description + "Set transmit TTI"; + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter ASCII string"; + } + leaf hex { + type string { + length "1..128" { + description + "Hex nibbles (Max 128- The string length should be an even number)"; + } + } + description + "Enter hex string- Length should be even number"; + } + container otn-std { + description + "Configure tti in otn standard defined fields"; + leaf sapi { + type string { + length "1..15" { + description + "Enter SAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Source Access Point Identifier field 1-15"; + } + leaf dapi { + type string { + length "1..15" { + description + "Enter DAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Destination Access Point Identifier field 1-15"; + } + leaf operator-specific { + type string { + length "1..32" { + description + "Enter Operator Specific text (Max Length 32 Characters)"; + } + } + description + "Enter Operator Specific field"; + } + } + } + container expected { + description + "Set expected TTI"; + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter ASCII string"; + } + leaf hex { + type string { + length "1..128" { + description + "Hex nibbles (Max 128- The string length should be an even number)"; + } + } + description + "Enter hex string- Length should be even number"; + } + container otn-std { + description + "Configure tti in otn standard defined fields"; + leaf sapi { + type string { + length "1..15" { + description + "Enter SAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Source Access Point Identifier field 1-15"; + } + leaf dapi { + type string { + length "1..15" { + description + "Enter DAPI text (Max Length 15 Characters)"; + } + } + description + "Enter Destination Access Point Identifier field 1-15"; + } + leaf operator-specific { + type string { + length "1..32" { + description + "Enter Operator Specific text (Max Length 32 Characters)"; + } + } + description + "Enter Operator Specific field"; + } + } + } + } + } + container threshold { + description + "Configure ODU threshold value"; + leaf sd-ber { + type uint32 { + range "1..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set Signal Degrade BER threshold"; + } + leaf sf-ber { + type uint32 { + range "1..9" { + description + "Bit error rate (10 to the minus n) (default 3)"; + } + } + description + "Set Signal Failure BER threshold"; + } + } + } + } + container vtxp-monitor { + presence "Indicates a vtxp-monitor node is configured."; + description + "Enable VTXP monitoring function"; + } + container proactive { + presence "Indicates a proactive node is configured."; + description + "Enable Proactive Protection Feature"; + container graceful-mode { + presence "Indicates a graceful-mode node is configured."; + description + "Operate the Proactive Protection FSM in Graceful Mode, Do Not bring down the Interface"; + } + container trigger { + description + "Configure trigger thresholds"; + leaf threshold { + type uint32 { + range "1..9" { + description + "Bit error rate coefficient (x of xE-y) (Trigger threshold cannot be > 1E-2)"; + } + } + must "../bit-error-rate-power"; + description + "Set values x and y of xE-y"; + } + leaf bit-error-rate-power { + type uint32 { + range "2..9" { + description + "Bit error rate power (y of xE-y) (Trigger threshold cannot be > 1E-2)"; + } + } + must "../threshold"; + description + "Bit error rate power (y of xE-y) (Trigger threshold cannot be > 1E-2)"; + } + leaf window { + type uint32 { + range "10..10000" { + description + "Integration window for FRR trigger in MS"; + } + } + description + "Number of times threshold crossing is tested"; + } + } + container revert { + description + "Configure Revert thresholds"; + leaf threshold { + type uint32 { + range "1..9" { + description + "Bit error rate coefficient (x of xE-y) (Revert threshold cannot be > 1E-3)"; + } + } + must "../bit-error-rate-power"; + description + "Set values x and y of xE-y"; + } + leaf bit-error-rate-power { + type uint32 { + range "3..10" { + description + "Bit error rate power (y of xE-y) (Revert threshold cannot be > 1E-3)"; + } + } + must "../threshold"; + description + "Bit error rate power (y of xE-y) (Revert threshold cannot be > 1E-3)"; + } + leaf window { + type uint32 { + range "500..100000" { + description + "Integration window for FRR revert in MS"; + } + } + description + "Number of times threshold crossing is tested"; + } + } + leaf event { + type uint32 { + range "1..50" { + description + "Number of Ports that will be given the event"; + } + } + must "../pp-event-number"; + description + "Hidden command to trigger PP Event"; + } + leaf pp-event-number { + type uint32 { + range "0..50" { + description + "PP Event Number"; + } + } + must "../event"; + must "../pp-event-value"; + description + "PP Event Number"; + } + leaf pp-event-value { + type uint32 { + range "0..255" { + description + "PP Event Value"; + } + } + must "../pp-event-number"; + description + "PP Event Value"; + } + } + container log { + description + "Proactive log "; + leaf signal { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "The string length file name"; + } + } + description + "Enable Proactive signal log "; + } + } + container network { + description + "Configure DWDM network information"; + container port { + description + "Configure the port ID for this DWDM port"; + leaf id { + type string { + length "1..64" { + description + "Enter a port ID (string, max length 64)"; + } + } + description + "Configure the port ID for this DWDM port"; + } + } + container connection { + description + "Configure the connection ID for this DWDM port"; + leaf id { + type string { + length "1..64" { + description + "Enter a connection ID (string, max length 64)"; + } + } + description + "Configure the connection ID for this DWDM port"; + } + } + container srlg { + description + "Submode to configure shared risks for the DWDM connection"; + container sets { + description + "Configure Network SRLG sets"; + list set { + must "network-srlg-values"; + key "set-id"; + description + "Configure Network SRLG sets"; + leaf set-id { + type uint32 { + range "1..17" { + description + "Set index"; + } + } + description + "Configure Network SRLG sets"; + } + leaf-list network-srlg-values { + type uint32 { + range "0..4294967294" { + description + "Network SRLG values (max 6 per set)"; + } + } + max-elements "6"; + description + "Network SRLG values (max 6 per set)"; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-cfg.yang new file mode 100644 index 000000000..8e185e8b7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-cfg.yang @@ -0,0 +1,146 @@ +module Cisco-IOS-XR-um-cont-ether-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-ether-cfg"; + prefix um-cont-ether-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-ether package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container flow-control { + description + "Ethernet controller flow control"; + container ingress { + presence "Indicates a ingress node is configured."; + description + "Set the flow control parameter to ingress"; + } + } + container perf-mon { + description + "Performance Monitoring"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable performance monitoring"; + } + } + leaf loopback { + type enumeration { + enum "external" { + value 0; + description + "Enable external loopback (requires loopback connector)"; + } + enum "internal" { + value 1; + description + "Enable internal loopback"; + } + enum "line" { + value 2; + description + "Enable line loopback"; + } + } + description + "Set the loopback mode on a controller"; + } + container laser-squelch { + presence "Indicates a laser-squelch node is configured."; + description + "Enable Ethernet controller laser-squelch"; + } + leaf fec { + type enumeration { + enum "none" { + value 0; + description + "Disable any FEC enabled on the interface"; + } + enum "standard" { + value 1; + description + "Set the standard (Reed-Solomon) FEC"; + } + } + description + "Set the Forward Error Correction mode on a controller"; + } + container holdoff-time { + description + "Holdoff time configuration"; + leaf trunk-fault { + type uint32 { + range "0..3000" { + description + "Time in ms"; + } + } + description + "Holdoff time trunk fault configuration"; + } + } + container extended-loopback { + description + "Extended loopback (diagnostics)"; + container levels { + description + "Level at which to loopback"; + list level { + key "level-id"; + description + "Level at which to loopback"; + leaf level-id { + type uint32 { + range "1..3" { + description + ""; + } + } + description + "Level at which to loopback"; + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg.yang new file mode 100644 index 000000000..5a7fcf5ec --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg.yang @@ -0,0 +1,10363 @@ +module Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg"; + prefix um-cont-ether-macsec-pm-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-ether-macsec-pm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container pm { + when "../a1:interface-name[starts-with(text(),'HundredGigE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Configure pm parameters"; + container interval-15-min { + description + "Configure pm parameters of 15 minute interval"; + container ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold "; + } + } + description + "set OUT-OCTET threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold "; + } + } + description + "set OUT-MCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold "; + } + } + description + "set OUT-BCAST threshold"; + } + leaf in-pause-frame { + type uint32 { + range "1..4294967295" { + description + "IN-PAUSE-FRAME threshold"; + } + } + description + "set IN-PAUSE-FRAME threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "IN-GOOD-BYTES threshold"; + } + } + description + "set IN-GOOD-BYTES threshold"; + } + leaf in-802-1q-frames { + type uint32 { + range "1..4294967295" { + description + "IN-802-1Q-FRAMES threshold"; + } + } + description + "set IN-802-1Q-FRAMES threshold"; + } + leaf in-pkts-1519-max-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-1519-MAX-OCTETS threshold"; + } + } + description + "set IN-PKTS-1519-MAX-OCTETS threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "IN-GOOD-PKTS threshold"; + } + } + description + "set IN-GOOD-PKTS threshold"; + } + leaf in-drop-overrun { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OVERRUN threshold"; + } + } + description + "set IN-DROP-OVERRUN threshold"; + } + leaf in-drop-abort { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-ABORT threshold"; + } + } + description + "set IN-DROP-ABORT threshold"; + } + leaf in-drop-invalid-vlan { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-INVALID-VLAN threshold"; + } + } + description + "set IN-DROP-INVALID-VLAN threshold"; + } + leaf in-drop-invalid-dmac { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-INVALID-DMAC threshold"; + } + } + description + "set IN-DROP-INVALID-DMAC threshold"; + } + leaf in-drop-invalid-encap { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-INVALID-ENCAP threshold"; + } + } + description + "set IN-DROP-INVALID-ENCAP threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN-DROP-OTHER threshold"; + } + leaf in-mib-giant { + type uint32 { + range "1..4294967295" { + description + "IN-MIB-GIANT threshold"; + } + } + description + "set IN-MIB-GIANT threshold"; + } + leaf in-mib-jabber { + type uint32 { + range "1..4294967295" { + description + "IN-MIB-JABBER threshold"; + } + } + description + "set IN-MIB-JABBER threshold"; + } + leaf in-mib-crc { + type uint32 { + range "1..4294967295" { + description + "IN-MIB-CRC threshold"; + } + } + description + "set IN-MIB-CRC threshold"; + } + leaf in-error-collisions { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-COLLISIONS threshold"; + } + } + description + "set IN-ERROR-COLLISIONS threshold"; + } + leaf in-error-symbol { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-SYMBOL threshold"; + } + } + description + "set IN-ERROR-SYMBOL threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "OUT-GOOD-BYTES threshold"; + } + } + description + "set OUT-GOOD-BYTES threshold"; + } + leaf out-802-1q-frames { + type uint32 { + range "1..4294967295" { + description + "OUT-802-1Q-FRAMES threshold"; + } + } + description + "set OUT-802-1Q-FRAMES threshold"; + } + leaf out-pause-frames { + type uint32 { + range "1..4294967295" { + description + "OUT-PAUSE-FRAMES threshold"; + } + } + description + "set OUT-PAUSE-FRAMES threshold"; + } + leaf out-pkts-1519-max-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-1519-MAX-OCTETS threshold"; + } + } + description + "set OUT-PKTS-1519-MAX-OCTETS threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "OUT-GOOD-PKTS threshold"; + } + } + description + "set OUT-GOOD-PKTS threshold"; + } + leaf out-drop-underrun { + type uint32 { + range "1..4294967295" { + description + "OUT-DROP-UNDERRUN threshold"; + } + } + description + "set OUT-DROP-UNDERRUN threshold"; + } + leaf out-drop-abort { + type uint32 { + range "1..4294967295" { + description + "OUT-DROP-ABORT threshold"; + } + } + description + "set OUT-DROP-ABORT threshold"; + } + leaf out-drop-other { + type uint32 { + range "1..4294967295" { + description + "OUT-DROP-OTHER threshold"; + } + } + description + "set OUT-DROP-OTHER threshold"; + } + leaf out-error-other { + type uint32 { + range "1..4294967295" { + description + "OUT-ERROR-OTHER threshold"; + } + } + description + "set OUT-ERROR-OTHER threshold"; + } + leaf in-error-giant { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-GIANT threshold"; + } + } + description + "set IN-ERROR-GIANT threshold"; + } + leaf in-error-runt { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-RUNT threshold"; + } + } + description + "set IN-ERROR-RUNT threshold"; + } + leaf in-error-jabbers { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-JABBERS threshold"; + } + } + description + "set IN-ERROR-JABBERS threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf in-error-other { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-OTHER threshold"; + } + } + description + "set IN-ERROR-OTHER threshold"; + } + leaf in-pkt-64-octet { + type uint32 { + range "1..4294967295" { + description + "IN-PKT-64-OCTET threshold"; + } + } + description + "set IN-PKT-64-OCTET threshold"; + } + leaf in-pkts-65-127octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-65-127OCTETS threshold"; + } + } + description + "set IN-PKTS-65-127OCTETS threshold"; + } + leaf in-pkts-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-128-255-OCTETS threshold"; + } + } + description + "set IN-PKTS-128-255-OCTETS threshold"; + } + leaf in-pkts-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-256-511-OCTETS threshold"; + } + } + description + "set IN-PKTS-256-511-OCTETS threshold"; + } + leaf in-pkts-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-512-1023-OCTETS threshold"; + } + } + description + "set IN-PKTS-512-1023-OCTETS threshold"; + } + leaf in-pkts-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-1024-1518-OCTETS threshold"; + } + } + description + "set IN-PKTS-1024-1518-OCTETS threshold"; + } + leaf out-pkt-64-octet { + type uint32 { + range "1..4294967295" { + description + "OUT-PKT-64-OCTET threshold"; + } + } + description + "set OUT-PKT-64-OCTET threshold"; + } + leaf out-pkts-65-127octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-65-127OCTETS threshold"; + } + } + description + "set OUT-PKTS-65-127OCTETS threshold"; + } + leaf out-pkts-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-128-255-OCTETS threshold"; + } + } + description + "set OUT-PKTS-128-255-OCTETS threshold"; + } + leaf out-pkts-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-256-511-OCTETS threshold"; + } + } + description + "set OUT-PKTS-256-511-OCTETS threshold"; + } + leaf out-pkts-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-512-1023-OCTETS threshold"; + } + } + description + "set OUT-PKTS-512-1023-OCTETS threshold"; + } + leaf out-pkts-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-1024-1518-OCTETS threshold"; + } + } + description + "set OUT-PKTS-1024-1518-OCTETS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifOut_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pause-frame { + description + "set in-pause-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-802-1q-frames { + description + "set in-802-1Q-frames TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-1519-max-octets { + description + "set in-pkts-1519-Max-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-overrun { + description + "set in-drop-overrun TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-abort { + description + "set in-drop-abort TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-invalid-vlan { + description + "set in-drop-invalid-VLAN TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-invalid-dmac { + description + "set in-drop-invalid-DMAC TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-invalid-encap { + description + "set in-drop-invalid-encap TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mib-giant { + description + "set in-MIB-giant TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mib-jabber { + description + "set in-MIB-jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mib-crc { + description + "set in-MIB-CRC TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-collisions { + description + "set in-error-collisions TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-symbol { + description + "set in-error-symbol TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-802-1q-frames { + description + "set out-802-1Q-frames TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pause-frames { + description + "set out-pause-frames TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-1519-max-octets { + description + "set out-pkts-1519-Max-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-drop-underrun { + description + "set out-drop-underrun TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-drop-abort { + description + "set out-drop-abort TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-drop-other { + description + "set out-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-error-other { + description + "set out-error-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-giant { + description + "set in-error-giant TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-runt { + description + "set in-error-runt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-jabbers { + description + "set in-error-jabbers TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-other { + description + "set in-error-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkt-64-octet { + description + "set in-pkt-64-octet TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-65-127octets { + description + "set in-pkts-65-127octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-128-255-octets { + description + "set in-pkts-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-256-511-octets { + description + "set in-pkts-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-512-1023-octets { + description + "set in-pkts-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-1024-1518-octets { + description + "set in-pkts-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkt-64-octet { + description + "set out-pkt-64-octet TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-65-127octets { + description + "set out-pkts-65-127octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-128-255-octets { + description + "set out-pkts-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-256-511-octets { + description + "set out-pkts-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-512-1023-octets { + description + "set out-pkts-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-1024-1518-octets { + description + "set out-pkts-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hour { + description + "Configure pm parameters of 24 hour interval"; + container ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold "; + } + } + description + "set OUT-OCTET threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold "; + } + } + description + "set OUT-MCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold "; + } + } + description + "set OUT-BCAST threshold"; + } + leaf in-pause-frame { + type uint32 { + range "1..4294967295" { + description + "IN-PAUSE-FRAME threshold"; + } + } + description + "set IN-PAUSE-FRAME threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "IN-GOOD-BYTES threshold"; + } + } + description + "set IN-GOOD-BYTES threshold"; + } + leaf in-802-1q-frames { + type uint32 { + range "1..4294967295" { + description + "IN-802-1Q-FRAMES threshold"; + } + } + description + "set IN-802-1Q-FRAMES threshold"; + } + leaf in-pkts-1519-max-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-1519-MAX-OCTETS threshold"; + } + } + description + "set IN-PKTS-1519-MAX-OCTETS threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "IN-GOOD-PKTS threshold"; + } + } + description + "set IN-GOOD-PKTS threshold"; + } + leaf in-drop-overrun { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OVERRUN threshold"; + } + } + description + "set IN-DROP-OVERRUN threshold"; + } + leaf in-drop-abort { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-ABORT threshold"; + } + } + description + "set IN-DROP-ABORT threshold"; + } + leaf in-drop-invalid-vlan { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-INVALID-VLAN threshold"; + } + } + description + "set IN-DROP-INVALID-VLAN threshold"; + } + leaf in-drop-invalid-dmac { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-INVALID-DMAC threshold"; + } + } + description + "set IN-DROP-INVALID-DMAC threshold"; + } + leaf in-drop-invalid-encap { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-INVALID-ENCAP threshold"; + } + } + description + "set IN-DROP-INVALID-ENCAP threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN-DROP-OTHER threshold"; + } + leaf in-mib-giant { + type uint32 { + range "1..4294967295" { + description + "IN-MIB-GIANT threshold"; + } + } + description + "set IN-MIB-GIANT threshold"; + } + leaf in-mib-jabber { + type uint32 { + range "1..4294967295" { + description + "IN-MIB-JABBER threshold"; + } + } + description + "set IN-MIB-JABBER threshold"; + } + leaf in-mib-crc { + type uint32 { + range "1..4294967295" { + description + "IN-MIB-CRC threshold"; + } + } + description + "set IN-MIB-CRC threshold"; + } + leaf in-error-collisions { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-COLLISIONS threshold"; + } + } + description + "set IN-ERROR-COLLISIONS threshold"; + } + leaf in-error-symbol { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-SYMBOL threshold"; + } + } + description + "set IN-ERROR-SYMBOL threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "OUT-GOOD-BYTES threshold"; + } + } + description + "set OUT-GOOD-BYTES threshold"; + } + leaf out-802-1q-frames { + type uint32 { + range "1..4294967295" { + description + "OUT-802-1Q-FRAMES threshold"; + } + } + description + "set OUT-802-1Q-FRAMES threshold"; + } + leaf out-pause-frames { + type uint32 { + range "1..4294967295" { + description + "OUT-PAUSE-FRAMES threshold"; + } + } + description + "set OUT-PAUSE-FRAMES threshold"; + } + leaf out-pkts-1519-max-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-1519-MAX-OCTETS threshold"; + } + } + description + "set OUT-PKTS-1519-MAX-OCTETS threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "OUT-GOOD-PKTS threshold"; + } + } + description + "set OUT-GOOD-PKTS threshold"; + } + leaf out-drop-underrun { + type uint32 { + range "1..4294967295" { + description + "OUT-DROP-UNDERRUN threshold"; + } + } + description + "set OUT-DROP-UNDERRUN threshold"; + } + leaf out-drop-abort { + type uint32 { + range "1..4294967295" { + description + "OUT-DROP-ABORT threshold"; + } + } + description + "set OUT-DROP-ABORT threshold"; + } + leaf out-drop-other { + type uint32 { + range "1..4294967295" { + description + "OUT-DROP-OTHER threshold"; + } + } + description + "set OUT-DROP-OTHER threshold"; + } + leaf out-error-other { + type uint32 { + range "1..4294967295" { + description + "OUT-ERROR-OTHER threshold"; + } + } + description + "set OUT-ERROR-OTHER threshold"; + } + leaf in-error-giant { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-GIANT threshold"; + } + } + description + "set IN-ERROR-GIANT threshold"; + } + leaf in-error-runt { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-RUNT threshold"; + } + } + description + "set IN-ERROR-RUNT threshold"; + } + leaf in-error-jabbers { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-JABBERS threshold"; + } + } + description + "set IN-ERROR-JABBERS threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf in-error-other { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-OTHER threshold"; + } + } + description + "set IN-ERROR-OTHER threshold"; + } + leaf in-pkt-64-octet { + type uint32 { + range "1..4294967295" { + description + "IN-PKT-64-OCTET threshold"; + } + } + description + "set IN-PKT-64-OCTET threshold"; + } + leaf in-pkts-65-127octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-65-127OCTETS threshold"; + } + } + description + "set IN-PKTS-65-127OCTETS threshold"; + } + leaf in-pkts-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-128-255-OCTETS threshold"; + } + } + description + "set IN-PKTS-128-255-OCTETS threshold"; + } + leaf in-pkts-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-256-511-OCTETS threshold"; + } + } + description + "set IN-PKTS-256-511-OCTETS threshold"; + } + leaf in-pkts-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-512-1023-OCTETS threshold"; + } + } + description + "set IN-PKTS-512-1023-OCTETS threshold"; + } + leaf in-pkts-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-PKTS-1024-1518-OCTETS threshold"; + } + } + description + "set IN-PKTS-1024-1518-OCTETS threshold"; + } + leaf out-pkt-64-octet { + type uint32 { + range "1..4294967295" { + description + "OUT-PKT-64-OCTET threshold"; + } + } + description + "set OUT-PKT-64-OCTET threshold"; + } + leaf out-pkts-65-127octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-65-127OCTETS threshold"; + } + } + description + "set OUT-PKTS-65-127OCTETS threshold"; + } + leaf out-pkts-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-128-255-OCTETS threshold"; + } + } + description + "set OUT-PKTS-128-255-OCTETS threshold"; + } + leaf out-pkts-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-256-511-OCTETS threshold"; + } + } + description + "set OUT-PKTS-256-511-OCTETS threshold"; + } + leaf out-pkts-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-512-1023-OCTETS threshold"; + } + } + description + "set OUT-PKTS-512-1023-OCTETS threshold"; + } + leaf out-pkts-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-1024-1518-OCTETS threshold"; + } + } + description + "set OUT-PKTS-1024-1518-OCTETS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifOut_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pause-frame { + description + "set in-pause-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-802-1q-frames { + description + "set in-802-1Q-frames TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-1519-max-octets { + description + "set in-pkts-1519-Max-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-overrun { + description + "set in-drop-overrun TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-abort { + description + "set in-drop-abort TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-invalid-vlan { + description + "set in-drop-invalid-VLAN TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-invalid-dmac { + description + "set in-drop-invalid-DMAC TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-invalid-encap { + description + "set in-drop-invalid-encap TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mib-giant { + description + "set in-MIB-giant TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mib-jabber { + description + "set in-MIB-jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mib-crc { + description + "set in-MIB-CRC TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-collisions { + description + "set in-error-collisions TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-symbol { + description + "set in-error-symbol TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-802-1q-frames { + description + "set out-802-1Q-frames TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pause-frames { + description + "set out-pause-frames TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-1519-max-octets { + description + "set out-pkts-1519-Max-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-drop-underrun { + description + "set out-drop-underrun TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-drop-abort { + description + "set out-drop-abort TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-drop-other { + description + "set out-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-error-other { + description + "set out-error-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-giant { + description + "set in-error-giant TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-runt { + description + "set in-error-runt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-jabbers { + description + "set in-error-jabbers TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-other { + description + "set in-error-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkt-64-octet { + description + "set in-pkt-64-octet TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-65-127octets { + description + "set in-pkts-65-127octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-128-255-octets { + description + "set in-pkts-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-256-511-octets { + description + "set in-pkts-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-512-1023-octets { + description + "set in-pkts-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-1024-1518-octets { + description + "set in-pkts-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkt-64-octet { + description + "set out-pkt-64-octet TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-65-127octets { + description + "set out-pkts-65-127octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-128-255-octets { + description + "set out-pkts-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-256-511-octets { + description + "set out-pkts-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-512-1023-octets { + description + "set out-pkts-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-1024-1518-octets { + description + "set out-pkts-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + } + } + + grouping CONT-BODY { + container pm { + when "../a1:controller-name[starts-with(text(),'FortyGigECtrlr')] or ../a1:controller-name[starts-with(text(),'FourHundredGigECtrlr')] or ../a1:controller-name[starts-with(text(),'GigabitEthCtrlr')] or ../a1:controller-name[starts-with(text(),'HundredGigECtrlr')] or ../a1:controller-name[starts-with(text(),'TenGigECtrlr')] or ../a1:controller-name[starts-with(text(),'MACSecCtrlr')]" { + tailf:dependency "../a1:controller-name"; + } + description + "Configure pm parameters"; + container interval-15-min { + description + "Configure pm parameters of 15 minute interval"; + container ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf stat-pkt { + type uint32 { + range "1..4294967295" { + description + "PKT-STAT threshold "; + } + } + description + "set PKT-STAT threshold"; + } + leaf octet-stat { + type uint32 { + range "1..4294967295" { + description + "OCTET-STAT threshold "; + } + } + description + "set OCTET-STAT threshold"; + } + leaf oversize-pkt { + type uint32 { + range "1..4294967295" { + description + "OVERSIZE-PKT threshold"; + } + } + description + "set OVERSIZE-PKT threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf long-frame { + type uint32 { + range "1..4294967295" { + description + "LONG-FRAMES threshold "; + } + } + description + "set LONG-FRAMES threshold"; + } + leaf jabber-stats { + type uint32 { + range "1..4294967295" { + description + "JABBER-STATS threshold "; + } + } + description + "set JABBER-STATS threshold"; + } + leaf sixty-four-octets { + type uint32 { + range "1..4294967295" { + description + "64-OCTET threshold"; + } + } + description + "set 64-OCTET threshold"; + } + leaf six5-127-octets { + type uint32 { + range "1..4294967295" { + description + "65-127-OCTET threshold"; + } + } + description + "set 65-127-OCTET threshold"; + } + leaf one-hundred-twenty-eight-255-octets { + type uint32 { + range "1..4294967295" { + description + "128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf two-hundred-fifty-six-511-octets { + type uint32 { + range "1..4294967295" { + description + "256-511-OCTET threshold "; + } + } + description + "set 256-511-OCTET threshold"; + } + leaf five-hundred-twelve-1023-octets { + type uint32 { + range "1..4294967295" { + description + "512-1023-OCTET threshold"; + } + } + description + "set 512-1023-OCTET threshold"; + } + leaf one-thousand-twenty-four-1518-octets { + type uint32 { + range "1..4294967295" { + description + "1024-1518-OCTET threshold"; + } + } + description + "set 1024-1518-OCTET threshold"; + } + leaf in-64-octets { + type uint32 { + range "1..4294967295" { + description + "IN-64-OCTET threshold"; + } + } + description + "set IN-64-OCTET threshold"; + } + leaf in-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "IN-65-127-OCTET threshold"; + } + } + description + "set IN-65-127-OCTET threshold"; + } + leaf in-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-128-255-OCTET threshold "; + } + } + description + "set IN-128-255-OCTET threshold"; + } + leaf in-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-256-511-OCTET threshold "; + } + } + description + "set IN-256-511-OCTET threshold"; + } + leaf in-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-512-1023-OCTET threshold"; + } + } + description + "set IN-512-1023-OCTET threshold"; + } + leaf in-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-1024-1518-OCTET threshold"; + } + } + description + "set IN-1024-1518-OCTET threshold"; + } + leaf out-pkt-64-octet { + type uint32 { + range "1..4294967295" { + description + "OUT-PKT-64-OCTET threshold"; + } + } + description + "set OUT-PKT-64-OCTET threshold"; + } + leaf out-pkts-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-65-127-OCTETS threshold"; + } + } + description + "set OUT-PKTS-65-127-OCTETS threshold"; + } + leaf out-pkts-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-128-255-OCTETS threshold"; + } + } + description + "set OUT-PKTS-128-255-OCTETS threshold"; + } + leaf out-pkts-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-256-511-OCTETS threshold"; + } + } + description + "set OUT-PKTS-256-511-OCTETS threshold"; + } + leaf out-pkts-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-512-1023-OCTETS threshold"; + } + } + description + "set OUT-PKTS-512-1023-OCTETS threshold"; + } + leaf out-pkts-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-1024-1518-OCTETS threshold"; + } + } + description + "set OUT-PKTS-1024-1518-OCTETS threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN_DROP_OTHER threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold "; + } + } + description + "set OUT-BCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold "; + } + } + description + "set OUT-MCAST threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold "; + } + } + description + "set OUT-OCTET threshold"; + } + leaf if-in-errors { + type uint32 { + range "1..4294967295" { + description + "IFIN_ERRORS threshold"; + } + } + description + "set IFIN_ERRORS threshold"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf ether-stat-multicast-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_MULTICAST_PKT threshold"; + } + } + description + "set ETHER_STAT_MULTICAST_PKT threshold"; + } + leaf ether-stat-broadcast-pkt { + type uint32 { + range "1..4294967295" { + description + " ETHER_STAT_BROADCAST_PKT threshold"; + } + } + description + "set ETHER_STAT_BROADCAST_PKT threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_BYTES threshold"; + } + } + description + "set IN_GOOD_BYTES threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_PKTS threshold"; + } + } + description + "set IN_GOOD_PKTS threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set OUT_GOOD_BYTES threshold"; + } + } + description + "set OUT_GOOD_BYTES threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set GOOD_PKTS threshold"; + } + } + description + "set THRESH_OUT_GOOD_PKTS threshold"; + } + leaf rx-util { + type uint32 { + range "1..10000" { + description + "set RX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set RX_UTIL threshold(in units of 0.01%)"; + } + leaf tx-util { + type uint32 { + range "1..10000" { + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + leaf ether-stat-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_UNDERSIZED_PKT threshold"; + } + } + description + "set ETHER_STAT_UNDERSIZED_PKT threshold"; + } + leaf tx-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_UNDERSIZED_PKT threshold"; + } + } + description + "set TX_UNDERSIZED_PKT threshold"; + } + leaf tx-oversized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_OVERSIZED_PKT threshold"; + } + } + description + "set TX_OVERSIZED_PKT threshold"; + } + leaf tx-fragments { + type uint32 { + range "1..4294967295" { + description + "TX_FRAGMENTS threshold"; + } + } + description + "set TX_FRAGMENTS threshold"; + } + leaf tx-jabber { + type uint32 { + range "1..4294967295" { + description + "TX_JABBER threshold"; + } + } + description + "set TX_JABBER threshold"; + } + leaf tx-bad-fcs { + type uint32 { + range "1..4294967295" { + description + "TX_BAD_FCS threshold"; + } + } + description + "set TX_BAD_FCS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-util { + description + "set rx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-util { + description + "set tx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container stat-pkt { + description + "set stat-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container octet-stat { + description + "set octet-stat TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container oversize-pkt { + description + "set oversize-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container long-frame { + description + "set long-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container jabber-stats { + description + "set jabber-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _64-octets { + description + "set 64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _65-127-octets { + description + "set 65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _128-255-octets { + description + "set 128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _256-511-octets { + description + "set 256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _512-1023-octets { + description + "set 512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _1024-1518-octets { + description + "set 1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-errors { + description + "set ifIn_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifOut_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-multicast-pkt { + description + "set ether_stat_multicast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-broadcast-pkt { + description + "set ether_stat_broadcast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-undersized-pkt { + description + "set ether_stat_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-64-octets { + description + "set in-64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-65-127-octets { + description + "set in-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-128-255-octets { + description + "set in-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-256-511-octets { + description + "set in-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-512-1023-octets { + description + "set in-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-1024-1518-octets { + description + "set in-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkt-64-octet { + description + "set out-pkt-64-octet TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-65-127-octets { + description + "set out-pkts-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-128-255-octets { + description + "set out-pkts-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-256-511-octets { + description + "set out-pkts-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-512-1023-octets { + description + "set out-pkts-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-1024-1518-octets { + description + "set out-pkts-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-undersized-pkt { + description + "set tx_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-oversized-pkt { + description + "set tx_oversized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-fragments { + description + "set tx_fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-jabber { + description + "set tx_jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-bad-fcs { + description + "set tx_bad_fcs TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container fec { + description + "Configure fec performance monitoring"; + container threshold { + description + "Configure fec threshold"; + leaf ec-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ec-words threshold "; + } + } + description + "set EC-Words threshold"; + } + leaf uc-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "uc-words threshold "; + } + } + description + "set UC-WORDS threshold"; + } + container pre-fec-ber { + description + "Set PRE-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber min threshold "; + } + } + description + "set pre-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber max threshold "; + } + } + description + "set pre-fec-ber max threshold"; + } + } + container post-fec-ber { + description + "Set POST-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber min threshold "; + } + } + description + "set post-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber max threshold "; + } + } + description + "set post-fec-ber max threshold"; + } + } + } + container report { + description + "set fec TCA reporting status"; + container uc-words { + description + "set uc-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ec-words { + description + "set ec-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container pre-fec-ber { + description + "set PRE FEC BER TCA reporting status"; + container max-tca { + description + "set PRE FEC BER max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container min-tca { + description + "set PRE FEC BER min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container post-fec-ber { + description + "set POST FEC BER TCA reporting status"; + container max-tca { + description + "set POST FEC BER max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container min-tca { + description + "set POST FEC BER min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container pcs { + description + "configure pcs performance monitoring"; + container threshold { + description + "Configure threshold on pcs parameters"; + leaf bip { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "BIP threshold range <1-18446744073709551615>"; + } + } + description + "set BIP threshold"; + } + leaf frm-err { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "FRM-ERR threshold range <1-18446744073709551615>"; + } + } + description + "set FRM-ERR threshold"; + } + leaf bad-sh { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Bad-sh threshold range <1-18446744073709551615>"; + } + } + description + "set Bad-sh threshold"; + } + leaf es { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Es threshold range <0-900>"; + } + } + description + "set Es threshold"; + } + leaf ses { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Ses threshold range <0-900>"; + } + } + description + "set Ses threshold"; + } + leaf uas { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Uas threshold range <0-900>"; + } + } + description + "set Uas threshold"; + } + leaf es-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Es fe threshold range <0-900>"; + } + } + description + "set es_fe threshold"; + } + leaf ses-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Ses fe threshold range <0-900>"; + } + } + description + "set Ses fe threshold"; + } + leaf uas-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Uas fe threshold range <0-900>"; + } + } + description + "set Ses threshold"; + } + } + container report { + description + "set pcs TCA reporting status"; + container bip { + description + "set bip TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container frm-err { + description + "set frm-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bad-sh { + description + "set bad-sh TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + container macsec-secy-tx { + description + "Configure pm parameters of macsec-secy-tx"; + container threshold { + description + "Configure threshold on macsec-secy-tx parameters"; + leaf out-pkts-protected { + type uint32 { + range "1..4294967295" { + description + "OutPktsProtected threshold range"; + } + } + description + "Set Threshold for OutPktsProtected"; + } + leaf out-pkts-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutPktsEncrypted threshold range"; + } + } + description + "Set Threshold for OutPktsEncrypted"; + } + leaf out-octets-protected { + type uint32 { + range "1..4294967295" { + description + "OutOctetsProtected threshold range"; + } + } + description + "Set Threshold for OutOctetsProtected"; + } + leaf out-octets-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutOctetsEncrypted threshold range"; + } + } + description + "Set Threshold for OutOctetsEncrypted"; + } + leaf out-pkts-too-long { + type uint32 { + range "1..4294967295" { + description + "OutPktsTooLong threshold range"; + } + } + description + "Set Threshold for OutPktsTooLong"; + } + } + container report { + description + "Configure Report for macsec-secy-tx Parameters"; + container out-pkts-protected { + description + "set OutPktsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-encrypted { + description + "set OutPktsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-protected { + description + "set OutOctetsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-encrypted { + description + "set OutOctetsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-too-long { + description + "set OutPktsTooLong TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-secy-rx { + description + "Configure pm parameters of macsec-secy-rx"; + container threshold { + description + "Configure threshold on macsec-secy-rx parameters"; + leaf in-pkts-unchecked { + type uint32 { + range "1..4294967295" { + description + "InPktsUnchecked threshold range"; + } + } + description + "Set Threshold for InPktsUnchecked"; + } + leaf in-pkts-delayed { + type uint32 { + range "1..4294967295" { + description + "InPktsDelayed threshold range"; + } + } + description + "Set Threshold for InPktsDelayed"; + } + leaf in-pkts-late { + type uint32 { + range "1..4294967295" { + description + "InPktsLate threshold range"; + } + } + description + "Set Threshold for InPktsLate"; + } + leaf in-pkts-ok { + type uint32 { + range "1..4294967295" { + description + "InPktsOK threshold range"; + } + } + description + "Set Threshold for InPktsOK"; + } + leaf in-pkts-invalid { + type uint32 { + range "1..4294967295" { + description + "InPktsInvalid threshold range"; + } + } + description + "Set Threshold for InPktsInvalid"; + } + leaf in-pkts-not-valid { + type uint32 { + range "1..4294967295" { + description + "InPktsNotValid threshold range"; + } + } + description + "Set Threshold for InPktsNotValid"; + } + leaf in-pkts-not-using-sa { + type uint32 { + range "1..4294967295" { + description + "InPktsNotUsingSA threshold range"; + } + } + description + "Set Threshold for InPktsNotUsingSA"; + } + leaf in-pkts-unused-sa { + type uint32 { + range "1..4294967295" { + description + "InPktsUnusedSA threshold range"; + } + } + description + "Set Threshold for InPktsUnusedSA"; + } + leaf in-pkts-untagged-hit { + type uint32 { + range "1..4294967295" { + description + "InPktsUntaggedHit threshold range"; + } + } + description + "Set Threshold for InPktsUntaggedHit"; + } + leaf in-octets-validated { + type uint32 { + range "1..4294967295" { + description + "InOctetsValidated threshold range"; + } + } + description + "Set Threshold for InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint32 { + range "1..4294967295" { + description + "InOctetsDecrypted threshold range"; + } + } + description + "Set Threshold for InOctetsDecrypted "; + } + } + container report { + description + "Configure Report for macsec-secy-rx Parameters"; + container in-pkts-unchecked { + description + "set InPktsUnchecked TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-delayed { + description + "set InPktsDelayed TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-late { + description + "set InPktsLate TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-ok { + description + "set InPktsOK TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-invalid { + description + "set InPktsInvalid TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-not-valid { + description + "set InPktsNotValid TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-not-using-sa { + description + "set InPktsNotUsingSA TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-unused-sa { + description + "set InPktsUnusedSA TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-untagged-hit { + description + "set InPktsUntaggedHit TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-validated { + description + "set InOctetsValidated TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-decrypted { + description + "set InOctetsDecrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-secy-if { + description + "Configure pm parameters of macsec-secy-if"; + container threshold { + description + "Configure threshold on macsec-secy-if parameters"; + leaf in-pkts-untagged { + type uint32 { + range "1..4294967295" { + description + "InPktsUntagged threshold range"; + } + } + description + "Set Threshold for InPktsUntagged"; + } + leaf in-pkts-no-tag { + type uint32 { + range "1..4294967295" { + description + "InPktsNoTag threshold range"; + } + } + description + "Set Threshold for InPktsNoTag"; + } + leaf in-pkts-bad-tag { + type uint32 { + range "1..4294967295" { + description + "InPktsBadTag threshold range"; + } + } + description + "Set Threshold for InPktsBadTag"; + } + leaf in-pkts-unknown-sci { + type uint32 { + range "1..4294967295" { + description + "InPktsUnknownSCI threshold range"; + } + } + description + "Set Threshold for InPktsUnknownSCI"; + } + leaf in-pkts-no-sci { + type uint32 { + range "1..4294967295" { + description + "InPktsNoSCI threshold range"; + } + } + description + "Set Threshold for InPktsNoSCI"; + } + leaf in-pkts-overrun { + type uint32 { + range "1..4294967295" { + description + "InPktsOverrun threshold range"; + } + } + description + "Set Threshold for InPktsOverrun"; + } + leaf in-octets-validated { + type uint32 { + range "1..4294967295" { + description + "InOctetsValidated threshold range"; + } + } + description + "Set Threshold for InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint32 { + range "1..4294967295" { + description + "InOctetsDecrypted threshold range"; + } + } + description + "Set Threshold for InOctetsDecrypted"; + } + leaf out-pkts-untagged { + type uint32 { + range "1..4294967295" { + description + "OutPktsUntagged threshold range"; + } + } + description + "Set Threshold for OutPktsUntagged "; + } + leaf out-pkts-too-long { + type uint32 { + range "1..4294967295" { + description + "OutPktsTooLong threshold range"; + } + } + description + "Set Threshold for OutPktsTooLong"; + } + leaf out-octets-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutOctetsEncrypted threshold range"; + } + } + description + "Set Threshold for OutOctetsEncrypted"; + } + leaf out-octets-protected { + type uint32 { + range "1..4294967295" { + description + "OutOctetsProtected threshold range"; + } + } + description + "Set Threshold for OutOctetsProtected"; + } + } + container report { + description + "Configure Report for macsec-secy-if Parameters"; + container in-pkts-untagged { + description + "set InPktsUntagged TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-no-tag { + description + "set InPktsNoTag TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-bad-tag { + description + "set InPktsBadTag TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-unknown-sci { + description + "set InPktsUnknownSCI TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-no-sci { + description + "set InPktsNoSCI TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-overrun { + description + "set InPktsOverrun TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-validated { + description + "set InOctetsValidated TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-decrypted { + description + "set InOctetsDecrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-untagged { + description + "set OutPktsUntagged TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-too-long { + description + "set OutPktsTooLong TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-protected { + description + "set OutOctetsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-encrypted { + description + "set OutOctetsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on macsec ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf stat-pkt { + type uint32 { + range "1..4294967295" { + description + "PKT-STAT threshold "; + } + } + description + "set PKT-STAT threshold"; + } + leaf octet-stat { + type uint32 { + range "1..4294967295" { + description + "OCTET-STAT threshold "; + } + } + description + "set OCTET-STAT threshold"; + } + leaf oversize-pkt { + type uint32 { + range "1..4294967295" { + description + "OVERSIZE-PKT threshold"; + } + } + description + "set OVERSIZE-PKT threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf long-frame { + type uint32 { + range "1..4294967295" { + description + "LONG-FRAMES threshold "; + } + } + description + "set LONG-FRAMES threshold"; + } + leaf jabber-stats { + type uint32 { + range "1..4294967295" { + description + "JABBER-STATS threshold "; + } + } + description + "set JABBER-STATS threshold"; + } + leaf sixty-four-octets { + type uint32 { + range "1..4294967295" { + description + "64-OCTET threshold"; + } + } + description + "set 64-OCTET threshold"; + } + leaf six5-127-octets { + type uint32 { + range "1..4294967295" { + description + "65-127-OCTET threshold"; + } + } + description + "set 65-127-OCTET threshold"; + } + leaf one-hundred-twenty-eight-255-octets { + type uint32 { + range "1..4294967295" { + description + "128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf two-hundred-fifty-six-511-octets { + type uint32 { + range "1..4294967295" { + description + "256-511-OCTET threshold "; + } + } + description + "set 256-511-OCTET threshold"; + } + leaf five-hundred-twelve-1023-octets { + type uint32 { + range "1..4294967295" { + description + "512-1023-OCTET threshold"; + } + } + description + "set 512-1023-OCTET threshold"; + } + leaf one-thousand-twenty-four-1518-octets { + type uint32 { + range "1..4294967295" { + description + "1024-1518-OCTET threshold"; + } + } + description + "set 1024-1518-OCTET threshold"; + } + leaf in-64-octets { + type uint32 { + range "1..4294967295" { + description + "IN-64-OCTET threshold"; + } + } + description + "set IN-64-OCTET threshold"; + } + leaf in-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "IN-65-127-OCTET threshold"; + } + } + description + "set IN-65-127-OCTET threshold"; + } + leaf in-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-128-255-OCTET threshold "; + } + } + description + "set IN-128-255-OCTET threshold"; + } + leaf in-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-256-511-OCTET threshold "; + } + } + description + "set IN-256-511-OCTET threshold"; + } + leaf in-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-512-1023-OCTET threshold"; + } + } + description + "set IN-512-1023-OCTET threshold"; + } + leaf in-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-1024-1518-OCTET threshold"; + } + } + description + "set IN-1024-1518-OCTET threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN_DROP_OTHER threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold "; + } + } + description + "set OUT-BCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold "; + } + } + description + "set OUT-MCAST threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold "; + } + } + description + "set OUT-OCTET threshold"; + } + leaf if-in-errors { + type uint32 { + range "1..4294967295" { + description + "IFIN_ERRORS threshold"; + } + } + description + "set IFIN_ERRORS threshold"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf ether-stat-multicast-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_MULTICAST_PKT threshold"; + } + } + description + "set ETHER_STAT_MULTICAST_PKT threshold"; + } + leaf ether-stat-broadcast-pkt { + type uint32 { + range "1..4294967295" { + description + " ETHER_STAT_BROADCAST_PKT threshold"; + } + } + description + "set ETHER_STAT_BROADCAST_PKT threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_BYTES threshold"; + } + } + description + "set IN_GOOD_BYTES threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_PKTS threshold"; + } + } + description + "set IN_GOOD_PKTS threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set OUT_GOOD_BYTES threshold"; + } + } + description + "set OUT_GOOD_BYTES threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set GOOD_PKTS threshold"; + } + } + description + "set THRESH_OUT_GOOD_PKTS threshold"; + } + leaf rx-util { + type uint32 { + range "1..10000" { + description + "set RX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set RX_UTIL threshold(in units of 0.01%)"; + } + leaf tx-util { + type uint32 { + range "1..10000" { + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + leaf ether-stat-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_UNDERSIZED_PKT threshold"; + } + } + description + "set ETHER_STAT_UNDERSIZED_PKT threshold"; + } + leaf tx-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_UNDERSIZED_PKT threshold"; + } + } + description + "set TX_UNDERSIZED_PKT threshold"; + } + leaf tx-oversized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_OVERSIZED_PKT threshold"; + } + } + description + "set TX_OVERSIZED_PKT threshold"; + } + leaf tx-fragments { + type uint32 { + range "1..4294967295" { + description + "TX_FRAGMENTS threshold"; + } + } + description + "set TX_FRAGMENTS threshold"; + } + leaf tx-jabber { + type uint32 { + range "1..4294967295" { + description + "TX_JABBER threshold"; + } + } + description + "set TX_JABBER threshold"; + } + leaf tx-bad-fcs { + type uint32 { + range "1..4294967295" { + description + "TX_BAD_FCS threshold"; + } + } + description + "set TX_BAD_FCS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-util { + description + "set rx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-util { + description + "set tx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container stat-pkt { + description + "set stat-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container octet-stat { + description + "set octet-stat TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container oversize-pkt { + description + "set oversize-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container long-frame { + description + "set long-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container jabber-stats { + description + "set jabber-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _64-octets { + description + "set 64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _65-127-octets { + description + "set 65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _128-255-octets { + description + "set 128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _256-511-octets { + description + "set 256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _512-1023-octets { + description + "set 512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _1024-1518-octets { + description + "set 1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-errors { + description + "set ifIn_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifOut_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-multicast-pkt { + description + "set ether_stat_multicast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-broadcast-pkt { + description + "set ether_stat_broadcast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-undersized-pkt { + description + "set ether_stat_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-64-octets { + description + "set in-64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-65-127-octets { + description + "set in-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-128-255-octets { + description + "set in-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-256-511-octets { + description + "set in-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-512-1023-octets { + description + "set in-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-1024-1518-octets { + description + "set in-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-undersized-pkt { + description + "set tx_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-oversized-pkt { + description + "set tx_oversized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-fragments { + description + "set tx_fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-jabber { + description + "set tx_jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-bad-fcs { + description + "set tx_bad_fcs TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hour { + description + "Configure pm parameters of 24 hour interval"; + container ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf stat-pkt { + type uint32 { + range "1..4294967295" { + description + "STAT-PKT threshold "; + } + } + description + "set STAT-PKT threshold"; + } + leaf octet-stat { + type uint32 { + range "1..4294967295" { + description + "OCTET-STAT threshold "; + } + } + description + "set OCTET-STAT threshold"; + } + leaf oversize-pkt { + type uint32 { + range "1..4294967295" { + description + "OVERSIZEPKT-STATS threshold"; + } + } + description + "set OVERSIZE-PKT threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf long-frame { + type uint32 { + range "1..4294967295" { + description + "LONG-FRAMES threshold "; + } + } + description + "set LONG-FRAMES threshold"; + } + leaf jabber-stats { + type uint32 { + range "1..4294967295" { + description + "JABBER-STATS threshold "; + } + } + description + "set JABBER-STATS threshold"; + } + leaf sixty-four-octets { + type uint32 { + range "1..4294967295" { + description + "64-OCTET threshold"; + } + } + description + "set 64-OCTET threshold"; + } + leaf six5-127-octets { + type uint32 { + range "1..4294967295" { + description + "65-127-OCTET threshold"; + } + } + description + "set 65-127-OCTET threshold"; + } + leaf one-hundred-twenty-eight-255-octets { + type uint32 { + range "1..4294967295" { + description + "128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf two-hundred-fifty-six-511-octets { + type uint32 { + range "1..4294967295" { + description + "256-511-OCTET threshold "; + } + } + description + "set 256-511-OCTET threshold"; + } + leaf five-hundred-twelve-1023-octets { + type uint32 { + range "1..4294967295" { + description + "512-1023-OCTET threshold"; + } + } + description + "set 512-1023-OCTET threshold"; + } + leaf one-thousand-twenty-four-1518-octets { + type uint32 { + range "1..4294967295" { + description + "1024-1518-OCTET threshold"; + } + } + description + "set 1024-1518-OCTET threshold"; + } + leaf in-64-octets { + type uint32 { + range "1..4294967295" { + description + "IN-64-OCTET threshold"; + } + } + description + "set IN-64-OCTET threshold"; + } + leaf in-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "IN-65-127-OCTET threshold"; + } + } + description + "set IN-65-127-OCTET threshold"; + } + leaf in-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf in-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-256-511-OCTET threshold "; + } + } + description + "set IN-256-511-OCTET threshold"; + } + leaf in-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-512-1023-OCTET threshold"; + } + } + description + "set IN-512-1023-OCTET threshold"; + } + leaf in-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-1024-1518-OCTET threshold"; + } + } + description + "set IN-1024-1518-OCTET threshold"; + } + leaf out-pkt-64-octet { + type uint32 { + range "1..4294967295" { + description + "OUT-PKT-64-OCTET threshold"; + } + } + description + "set OUT-PKT-64-OCTET threshold"; + } + leaf out-pkts-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-65-127-OCTETS threshold"; + } + } + description + "set OUT-PKTS-65-127-OCTETS threshold"; + } + leaf out-pkts-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-128-255-OCTETS threshold"; + } + } + description + "set OUT-PKTS-128-255-OCTETS threshold"; + } + leaf out-pkts-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-256-511-OCTETS threshold"; + } + } + description + "set OUT-PKTS-256-511-OCTETS threshold"; + } + leaf out-pkts-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-512-1023-OCTETS threshold"; + } + } + description + "set OUT-PKTS-512-1023-OCTETS threshold"; + } + leaf out-pkts-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-1024-1518-OCTETS threshold"; + } + } + description + "set OUT-PKTS-1024-1518-OCTETS threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN_DROP_OTHER threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold )"; + } + } + description + "set OUT-BCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold (seconds)"; + } + } + description + "set OUT-MCAST threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold (seconds)"; + } + } + description + "set OUT-OCTET threshold"; + } + leaf if-in-errors { + type uint32 { + range "1..4294967295" { + description + "IFIN_ERRORS threshold"; + } + } + description + "set IFIN_ERRORS threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_BYTES threshold"; + } + } + description + "set IN_GOOD_BYTES threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_PKTS threshold"; + } + } + description + "set IN_GOOD_PKTS threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set OUT_GOOD_BYTES threshold"; + } + } + description + "set OUT_GOOD_BYTES threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set GOOD_PKTS threshold"; + } + } + description + "set THRESH_OUT_GOOD_PKTS threshold"; + } + leaf rx-util { + type uint32 { + range "1..10000" { + description + "set RX_UTIL threshold (in units of 0.01%)"; + } + } + description + "set THRESH_RX_UTIL threshold(in units of 0.01%)"; + } + leaf tx-util { + type uint32 { + range "1..10000" { + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf ether-stat-multicast-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_MULTICAST_PKT threshold"; + } + } + description + "set ETHER_STAT_MULTICAST_PKT threshold"; + } + leaf ether-stat-broadcast-pkt { + type uint32 { + range "1..4294967295" { + description + " ETHER_STAT_BROADCAST_PKT threshold"; + } + } + description + " set ETHER_STAT_BROADCAST_PKT threshold"; + } + leaf ether-stat-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_UNDERSIZED_PKT threshold"; + } + } + description + "set ETHER_STAT_UNDERSIZED_PKT threshold"; + } + leaf tx-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_UNDERSIZED_PKT threshold"; + } + } + description + "set TX_UNDERSIZED_PKT threshold"; + } + leaf tx-oversized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_OVERSIZED_PKT threshold"; + } + } + description + "set TX_OVERSIZED_PKT threshold"; + } + leaf tx-fragments { + type uint32 { + range "1..4294967295" { + description + "TX_FRAGMENTS threshold"; + } + } + description + "set TX_FRAGMENTS threshold"; + } + leaf tx-jabber { + type uint32 { + range "1..4294967295" { + description + "TX_JABBER threshold"; + } + } + description + "set TX_JABBER threshold"; + } + leaf tx-bad-fcs { + type uint32 { + range "1..4294967295" { + description + "TX_BAD_FCS threshold"; + } + } + description + "set TX_BAD_FCS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-util { + description + "set rx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-util { + description + "set tx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container stat-pkt { + description + "set stat-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container octet-stat { + description + "set octet-stat TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container oversize-pkt { + description + "set oversize-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container long-frame { + description + "set long-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container jabber-stats { + description + "set jabber-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _64-octets { + description + "set 64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _65-127-octets { + description + "set 65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _128-255-octets { + description + "set 128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _256-511-octets { + description + "set 256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _512-1023-octets { + description + "set 512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _1024-1518-octets { + description + "set 1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-errors { + description + "set ifIn_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifIn_Octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-multicast-pkt { + description + "set ether_stat_multicast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-broadcast-pkt { + description + "set ether_stat_broadcast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-undersized-pkt { + description + "set ether_stat_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-64-octets { + description + "set in-64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-65-127-octets { + description + "set in-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-128-255-octets { + description + "set in-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-256-511-octets { + description + "set in-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-512-1023-octets { + description + "set in-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-1024-1518-octets { + description + "set in-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkt-64-octet { + description + "set out-pkt-64-octet TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-65-127-octets { + description + "set out-pkts-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-128-255-octets { + description + "set out-pkts-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-256-511-octets { + description + "set out-pkts-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-512-1023-octets { + description + "set out-pkts-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-1024-1518-octets { + description + "set out-pkts-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-undersized-pkt { + description + "set tx_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-oversized-pkt { + description + "set tx_oversized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-fragments { + description + "set tx_fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-jabber { + description + "set tx_jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-bad-fcs { + description + "set tx_bad_fcs TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container fec { + description + "Configure fec performance monitoring"; + container threshold { + description + "Configure fec threshold"; + leaf ec-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ec-words threshold "; + } + } + description + "set EC-Words threshold"; + } + leaf uc-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "uc-words threshold "; + } + } + description + "set UC-WORDS threshold"; + } + container pre-fec-ber { + description + "Set PRE-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber min threshold "; + } + } + description + "set pre-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber max threshold "; + } + } + description + "set pre-fec-ber max threshold"; + } + } + container post-fec-ber { + description + "Set POST-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber min threshold "; + } + } + description + "set post-fec-ber min threshold "; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber max threshold "; + } + } + description + "set post-fec-ber max threshold"; + } + } + } + container report { + description + "set fec TCA reporting status"; + container uc-words { + description + "set uc-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ec-words { + description + "set ec-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container pre-fec-ber { + description + "set PRE FEC BER TCA reporting status"; + container max-tca { + description + "set PRE FEC BER max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container min-tca { + description + "set PRE FEC BER min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container post-fec-ber { + description + "set POST FEC BER TCA reporting status"; + container max-tca { + description + "set POST FEC BER max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container min-tca { + description + "set POST FEC BER min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container pcs { + description + "configure pcs performance monitoring"; + container threshold { + description + "Configure threshold on pcs parameters"; + leaf bip { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "BIP threshold range <1-18446744073709551615>"; + } + } + description + "set BIP threshold"; + } + leaf frm-err { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "FRM-ERR threshold range <1-18446744073709551615>"; + } + } + description + "set FRM-ERR threshold"; + } + leaf bad-sh { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Bad-sh threshold range <1-18446744073709551615>"; + } + } + description + "set Bad-sh threshold"; + } + leaf es { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Es threshold range <0-86400>"; + } + } + description + "set Es threshold"; + } + leaf ses { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Ses threshold range <0-86400>"; + } + } + description + "set Ses threshold"; + } + leaf uas { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Uas threshold range <0-86400>"; + } + } + description + "set Uas threshold"; + } + leaf es-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Es fe threshold range <0-86400>"; + } + } + description + "set Es fe threshold"; + } + leaf ses-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Ses fe threshold range <0-86400>"; + } + } + description + "set Ses fe threshold"; + } + leaf uas-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Ses threshold range <0-86400>"; + } + } + description + "set Uas threshold"; + } + } + container report { + description + "set pcs TCA reporting status"; + container bip { + description + "set bip TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container frm-err { + description + "set frm-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bad-sh { + description + "set bad-sh TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + } + container interval-30-sec { + description + "Configure pm parameters of 30-second interval"; + container ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf stat-pkt { + type uint32 { + range "1..4294967295" { + description + "PKT-STAT threshold "; + } + } + description + "set PKT-STAT threshold"; + } + leaf octet-stat { + type uint32 { + range "1..4294967295" { + description + "OCTET-STAT threshold "; + } + } + description + "set OCTET-STAT threshold"; + } + leaf oversize-pkt { + type uint32 { + range "1..4294967295" { + description + "OVERSIZE-PKT threshold"; + } + } + description + "set OVERSIZE-PKT threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf long-frame { + type uint32 { + range "1..4294967295" { + description + "LONG-FRAMES threshold "; + } + } + description + "set LONG-FRAMES threshold"; + } + leaf jabber-stats { + type uint32 { + range "1..4294967295" { + description + "JABBER-STATS threshold "; + } + } + description + "set JABBER-STATS threshold"; + } + leaf sixty-four-octets { + type uint32 { + range "1..4294967295" { + description + "64-OCTET threshold"; + } + } + description + "set 64-OCTET threshold"; + } + leaf six5-127-octets { + type uint32 { + range "1..4294967295" { + description + "65-127-OCTET threshold"; + } + } + description + "set 65-127-OCTET threshold"; + } + leaf one-hundred-twenty-eight-255-octets { + type uint32 { + range "1..4294967295" { + description + "128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf two-hundred-fifty-six-511-octets { + type uint32 { + range "1..4294967295" { + description + "256-511-OCTET threshold "; + } + } + description + "set 256-511-OCTET threshold"; + } + leaf five-hundred-twelve-1023-octets { + type uint32 { + range "1..4294967295" { + description + "512-1023-OCTET threshold"; + } + } + description + "set 512-1023-OCTET threshold"; + } + leaf one-thousand-twenty-four-1518-octets { + type uint32 { + range "1..4294967295" { + description + "1024-1518-OCTET threshold"; + } + } + description + "set 1024-1518-OCTET threshold"; + } + leaf in-64-octets { + type uint32 { + range "1..4294967295" { + description + "IN-64-OCTET threshold"; + } + } + description + "set IN-64-OCTET threshold"; + } + leaf in-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "IN-65-127-OCTET threshold"; + } + } + description + "set IN-65-127-OCTET threshold"; + } + leaf in-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-128-255-OCTET threshold "; + } + } + description + "set IN-128-255-OCTET threshold"; + } + leaf in-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-256-511-OCTET threshold "; + } + } + description + "set IN-256-511-OCTET threshold"; + } + leaf in-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-512-1023-OCTET threshold"; + } + } + description + "set IN-512-1023-OCTET threshold"; + } + leaf in-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-1024-1518-OCTET threshold"; + } + } + description + "set IN-1024-1518-OCTET threshold"; + } + leaf out-pkt-64-octet { + type uint32 { + range "1..4294967295" { + description + "OUT-PKT-64-OCTET threshold"; + } + } + description + "set OUT-PKT-64-OCTET threshold"; + } + leaf out-pkts-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-65-127-OCTETS threshold"; + } + } + description + "set OUT-PKTS-65-127-OCTETS threshold"; + } + leaf out-pkts-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-128-255-OCTETS threshold"; + } + } + description + "set OUT-PKTS-128-255-OCTETS threshold"; + } + leaf out-pkts-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-256-511-OCTETS threshold"; + } + } + description + "set OUT-PKTS-256-511-OCTETS threshold"; + } + leaf out-pkts-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-512-1023-OCTETS threshold"; + } + } + description + "set OUT-PKTS-512-1023-OCTETS threshold"; + } + leaf out-pkts-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-PKTS-1024-1518-OCTETS threshold"; + } + } + description + "set OUT-PKTS-1024-1518-OCTETS threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN_DROP_OTHER threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold "; + } + } + description + "set OUT-BCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold "; + } + } + description + "set OUT-MCAST threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold "; + } + } + description + "set OUT-OCTET threshold"; + } + leaf if-in-errors { + type uint32 { + range "1..4294967295" { + description + "IFIN_ERRORS threshold"; + } + } + description + "set IFIN_ERRORS threshold"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf ether-stat-multicast-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_MULTICAST_PKT threshold"; + } + } + description + "set ETHER_STAT_MULTICAST_PKT threshold"; + } + leaf ether-stat-broadcast-pkt { + type uint32 { + range "1..4294967295" { + description + " ETHER_STAT_BROADCAST_PKT threshold"; + } + } + description + "set ETHER_STAT_BROADCAST_PKT threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_BYTES threshold"; + } + } + description + "set IN_GOOD_BYTES threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_PKTS threshold"; + } + } + description + "set IN_GOOD_PKTS threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set OUT_GOOD_BYTES threshold"; + } + } + description + "set OUT_GOOD_BYTES threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set GOOD_PKTS threshold"; + } + } + description + "set THRESH_OUT_GOOD_PKTS threshold"; + } + leaf rx-util { + type uint32 { + range "1..10000" { + description + "set RX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set RX_UTIL threshold(in units of 0.1%)"; + } + leaf tx-util { + type uint32 { + range "1..10000" { + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set TX_UTIL threshold(in units of 0.1%)"; + } + leaf ether-stat-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_UNDERSIZED_PKT threshold"; + } + } + description + "set ETHER_STAT_UNDERSIZED_PKT threshold"; + } + leaf tx-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_UNDERSIZED_PKT threshold"; + } + } + description + "set TX_UNDERSIZED_PKT threshold"; + } + leaf tx-oversized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_OVERSIZED_PKT threshold"; + } + } + description + "set TX_OVERSIZED_PKT threshold"; + } + leaf tx-fragments { + type uint32 { + range "1..4294967295" { + description + "TX_FRAGMENTS threshold"; + } + } + description + "set TX_FRAGMENTS threshold"; + } + leaf tx-jabber { + type uint32 { + range "1..4294967295" { + description + "TX_JABBER threshold"; + } + } + description + "set TX_JABBER threshold"; + } + leaf tx-bad-fcs { + type uint32 { + range "1..4294967295" { + description + "TX_BAD_FCS threshold"; + } + } + description + "set TX_BAD_FCS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-util { + description + "set rx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-util { + description + "set tx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container stat-pkt { + description + "set stat-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container octet-stat { + description + "set octet-stat TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container oversize-pkt { + description + "set oversize-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container long-frame { + description + "set long-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container jabber-stats { + description + "set jabber-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _64-octets { + description + "set 64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _65-127-octets { + description + "set 65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _128-255-octets { + description + "set 128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _256-511-octets { + description + "set 256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _512-1023-octets { + description + "set 512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _1024-1518-octets { + description + "set 1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-errors { + description + "set ifIn_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifOut_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-multicast-pkt { + description + "set ether_stat_multicast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-broadcast-pkt { + description + "set ether_stat_broadcast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-undersized-pkt { + description + "set ether_stat_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-64-octets { + description + "set in-64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-65-127-octets { + description + "set in-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-128-255-octets { + description + "set in-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-256-511-octets { + description + "set in-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-512-1023-octets { + description + "set in-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-1024-1518-octets { + description + "set in-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkt-64-octet { + description + "set out-pkt-64-octet TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-65-127-octets { + description + "set out-pkts-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-128-255-octets { + description + "set out-pkts-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-256-511-octets { + description + "set out-pkts-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-512-1023-octets { + description + "set out-pkts-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-1024-1518-octets { + description + "set out-pkts-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-undersized-pkt { + description + "set tx_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-oversized-pkt { + description + "set tx_oversized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-fragments { + description + "set tx_fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-jabber { + description + "set tx_jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-bad-fcs { + description + "set tx_bad_fcs TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container fec { + description + "Configure fec performance monitoring"; + container threshold { + description + "Configure fec threshold"; + leaf ec-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ec-words threshold "; + } + } + description + "set EC-Words threshold"; + } + leaf uc-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "uc-words threshold "; + } + } + description + "set UC-WORDS threshold"; + } + container pre-fec-ber { + description + "Set PRE-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber min threshold "; + } + } + description + "set pre-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber max threshold "; + } + } + description + "set pre-fec-ber max threshold"; + } + } + container post-fec-ber { + description + "Set POST-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber min threshold "; + } + } + description + "set post-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber max threshold "; + } + } + description + "set post-fec-ber max threshold"; + } + } + } + container report { + description + "set fec TCA reporting status"; + container uc-words { + description + "set uc-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ec-words { + description + "set ec-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container pre-fec-ber { + description + "set PRE FEC BER TCA reporting status"; + container max-tca { + description + "set PRE FEC BER max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container min-tca { + description + "set PRE FEC BER min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container post-fec-ber { + description + "set POST FEC BER TCA reporting status"; + container max-tca { + description + "set POST FEC BER max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container min-tca { + description + "set POST FEC BER min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container pcs { + description + "configure pcs performance monitoring"; + container threshold { + description + "Configure threshold on pcs parameters"; + leaf bip { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "BIP threshold range <1-18446744073709551615>"; + } + } + description + "set BIP threshold"; + } + leaf frm-err { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "FRM-ERR threshold range <1-18446744073709551615>"; + } + } + description + "set FRM-ERR threshold"; + } + leaf bad-sh { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Bad-sh threshold range <1-18446744073709551615>"; + } + } + description + "set Bad-sh threshold"; + } + leaf es { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Es threshold range <0-30>"; + } + } + description + "set Es threshold"; + } + leaf ses { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Ses threshold range <0-30>"; + } + } + description + "set Ses threshold"; + } + leaf uas { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Uas threshold range <0-30>"; + } + } + description + "set Uas threshold"; + } + leaf es-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Es-fe threshold range <0-30>"; + } + } + description + "set Es-fe threshold"; + } + leaf ses-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Ses-fe threshold range <0-30>"; + } + } + description + "set Ses-fe threshold"; + } + leaf uas-fe { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Uas-fe threshold range <0-30>"; + } + } + description + "set Uas-fe threshold"; + } + } + container report { + description + "set pcs TCA reporting status"; + container bip { + description + "set bip TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container frm-err { + description + "set frm-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bad-sh { + description + "set bad-sh TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + container macsec-secy-tx { + description + "Configure pm parameters of macsec-secy-tx"; + container threshold { + description + "Configure threshold on macsec-secy-tx parameters"; + leaf out-pkts-protected { + type uint32 { + range "1..4294967295" { + description + "OutPktsProtected threshold range"; + } + } + description + "Set Threshold for OutPktsProtected"; + } + leaf out-pkts-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutPktsEncrypted threshold range"; + } + } + description + "Set Threshold for OutPktsEncrypted"; + } + leaf out-octets-protected { + type uint32 { + range "1..4294967295" { + description + "OutOctetsProtected threshold range"; + } + } + description + "Set Threshold for OutOctetsProtected"; + } + leaf out-octets-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutOctetsEncrypted threshold range"; + } + } + description + "Set Threshold for OutOctetsEncrypted"; + } + leaf out-pkts-too-long { + type uint32 { + range "1..4294967295" { + description + "OutPktsTooLong threshold range"; + } + } + description + "Set Threshold for OutPktsTooLong"; + } + } + container report { + description + "Configure Report for macsec-secy-tx Parameters"; + container out-pkts-protected { + description + "set OutPktsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-encrypted { + description + "set OutPktsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-protected { + description + "set OutOctetsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-encrypted { + description + "set OutOctetsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-too-long { + description + "set OutPktsTooLong TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-secy-rx { + description + "Configure pm parameters of macsec-secy-rx"; + container threshold { + description + "Configure threshold on macsec-secy-rx parameters"; + leaf in-pkts-unchecked { + type uint32 { + range "1..4294967295" { + description + "InPktsUnchecked threshold range"; + } + } + description + "Set Threshold for InPktsUnchecked"; + } + leaf in-pkts-delayed { + type uint32 { + range "1..4294967295" { + description + "InPktsDelayed threshold range"; + } + } + description + "Set Threshold for InPktsDelayed"; + } + leaf in-pkts-late { + type uint32 { + range "1..4294967295" { + description + "InPktsLate threshold range"; + } + } + description + "Set Threshold for InPktsLate"; + } + leaf in-pkts-ok { + type uint32 { + range "1..4294967295" { + description + "InPktsOK threshold range"; + } + } + description + "Set Threshold for InPktsOK"; + } + leaf in-pkts-invalid { + type uint32 { + range "1..4294967295" { + description + "InPktsInvalid threshold range"; + } + } + description + "Set Threshold for InPktsInvalid"; + } + leaf in-pkts-not-valid { + type uint32 { + range "1..4294967295" { + description + "InPktsNotValid threshold range"; + } + } + description + "Set Threshold for InPktsNotValid"; + } + leaf in-pkts-not-using-sa { + type uint32 { + range "1..4294967295" { + description + "InPktsNotUsingSA threshold range"; + } + } + description + "Set Threshold for InPktsNotUsingSA"; + } + leaf in-pkts-unused-sa { + type uint32 { + range "1..4294967295" { + description + "InPktsUnusedSA threshold range"; + } + } + description + "Set Threshold for InPktsUnusedSA"; + } + leaf in-pkts-untagged-hit { + type uint32 { + range "1..4294967295" { + description + "InPktsUntaggedHit threshold range"; + } + } + description + "Set Threshold for InPktsUntaggedHit"; + } + leaf in-octets-validated { + type uint32 { + range "1..4294967295" { + description + "InOctetsValidated threshold range"; + } + } + description + "Set Threshold for InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint32 { + range "1..4294967295" { + description + "InOctetsDecrypted threshold range"; + } + } + description + "Set Threshold for InOctetsDecrypted"; + } + } + container report { + description + "Configure Report for macsec-secy-rx Parameters"; + container in-pkts-unchecked { + description + "set InPktsUnchecked TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-delayed { + description + "set InPktsDelayed TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-late { + description + "set InPktsLate TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-ok { + description + "set InPktsOK TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-invalid { + description + "set InPktsInvalid TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-not-valid { + description + "set InPktsNotValid TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-not-using-sa { + description + "set InPktsNotUsingSA TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-unused-sa { + description + "set InPktsUnusedSA TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-untagged-hit { + description + "set InPktsUntaggedHit TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-validated { + description + "set InOctetsValidated TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-decrypted { + description + "set InOctetsDecrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-secy-if { + description + "Configure pm parameters of macsec-secy-if"; + container threshold { + description + "Configure threshold on macsec-secy-if parameters"; + leaf in-pkts-untagged { + type uint32 { + range "1..4294967295" { + description + "InPktsUntagged threshold range"; + } + } + description + "Set Threshold for InPktsUntagged"; + } + leaf in-pkts-no-tag { + type uint32 { + range "1..4294967295" { + description + "InPktsNoTag threshold range"; + } + } + description + "Set Threshold for InPktsNoTag"; + } + leaf in-pkts-bad-tag { + type uint32 { + range "1..4294967295" { + description + "InPktsBadTag threshold range"; + } + } + description + "Set Threshold for InPktsBadTag"; + } + leaf in-pkts-unknown-sci { + type uint32 { + range "1..4294967295" { + description + "InPktsUnknownSCI threshold range"; + } + } + description + "Set Threshold for InPktsUnknownSCI"; + } + leaf in-pkts-no-sci { + type uint32 { + range "1..4294967295" { + description + "InPktsNoSCI threshold range"; + } + } + description + "Set Threshold for InPktsNoSCI"; + } + leaf in-pkts-overrun { + type uint32 { + range "1..4294967295" { + description + "InPktsOverrun threshold range"; + } + } + description + "Set Threshold for InPktsOverrun"; + } + leaf in-octets-validated { + type uint32 { + range "1..4294967295" { + description + "InOctetsValidated threshold range"; + } + } + description + "Set Threshold for InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint32 { + range "1..4294967295" { + description + "InOctetsDecrypted threshold range"; + } + } + description + "Set Threshold for InOctetsDecrypted"; + } + leaf out-pkts-untagged { + type uint32 { + range "1..4294967295" { + description + "OutPktsUntagged threshold range"; + } + } + description + "Set Threshold for OutPktsUntagged "; + } + leaf out-pkts-too-long { + type uint32 { + range "1..4294967295" { + description + "OutPktsTooLong threshold range"; + } + } + description + "Set Threshold for OutPktsTooLong"; + } + leaf out-octets-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutOctetsEncrypted threshold range"; + } + } + description + "Set Threshold for OutOctetsEncrypted"; + } + leaf out-octets-protected { + type uint32 { + range "1..4294967295" { + description + "OutOctetsProtected threshold range"; + } + } + description + "Set Threshold for OutOctetsProtected"; + } + } + container report { + description + "Configure Report for macsec-secy-if Parameters"; + container in-pkts-untagged { + description + "set InPktsUntagged TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-no-tag { + description + "set InPktsNoTag TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-bad-tag { + description + "set InPktsBadTag TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-unknown-sci { + description + "set InPktsUnknownSCI TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-no-sci { + description + "set InPktsNoSCI TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-overrun { + description + "set InPktsOverrun TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-validated { + description + "set InOctetsValidated TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-decrypted { + description + "set InOctetsDecrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-untagged { + description + "set OutPktsUntagged TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-too-long { + description + "set OutPktsTooLong TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-protected { + description + "set OutOctetsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-encrypted { + description + "set OutOctetsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf stat-pkt { + type uint32 { + range "1..4294967295" { + description + "PKT-STAT threshold "; + } + } + description + "set PKT-STAT threshold"; + } + leaf octet-stat { + type uint32 { + range "1..4294967295" { + description + "OCTET-STAT threshold "; + } + } + description + "set OCTET-STAT threshold"; + } + leaf oversize-pkt { + type uint32 { + range "1..4294967295" { + description + "OVERSIZE-PKT threshold"; + } + } + description + "set OVERSIZE-PKT threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf long-frame { + type uint32 { + range "1..4294967295" { + description + "LONG-FRAMES threshold "; + } + } + description + "set LONG-FRAMES threshold"; + } + leaf jabber-stats { + type uint32 { + range "1..4294967295" { + description + "JABBER-STATS threshold "; + } + } + description + "set JABBER-STATS threshold"; + } + leaf sixty-four-octets { + type uint32 { + range "1..4294967295" { + description + "64-OCTET threshold"; + } + } + description + "set 64-OCTET threshold"; + } + leaf six5-127-octets { + type uint32 { + range "1..4294967295" { + description + "65-127-OCTET threshold"; + } + } + description + "set 65-127-OCTET threshold"; + } + leaf one-hundred-twenty-eight-255-octets { + type uint32 { + range "1..4294967295" { + description + "128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf two-hundred-fifty-six-511-octets { + type uint32 { + range "1..4294967295" { + description + "256-511-OCTET threshold "; + } + } + description + "set 256-511-OCTET threshold"; + } + leaf five-hundred-twelve-1023-octets { + type uint32 { + range "1..4294967295" { + description + "512-1023-OCTET threshold"; + } + } + description + "set 512-1023-OCTET threshold"; + } + leaf one-thousand-twenty-four-1518-octets { + type uint32 { + range "1..4294967295" { + description + "1024-1518-OCTET threshold"; + } + } + description + "set 1024-1518-OCTET threshold"; + } + leaf in-64-octets { + type uint32 { + range "1..4294967295" { + description + "IN-64-OCTET threshold"; + } + } + description + "set IN-64-OCTET threshold"; + } + leaf in-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "IN-65-127-OCTET threshold"; + } + } + description + "set IN-65-127-OCTET threshold"; + } + leaf in-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-128-255-OCTET threshold "; + } + } + description + "set IN-128-255-OCTET threshold"; + } + leaf in-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-256-511-OCTET threshold "; + } + } + description + "set IN-256-511-OCTET threshold"; + } + leaf in-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-512-1023-OCTET threshold"; + } + } + description + "set IN-512-1023-OCTET threshold"; + } + leaf in-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-1024-1518-OCTET threshold"; + } + } + description + "set IN-1024-1518-OCTET threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN_DROP_OTHER threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold "; + } + } + description + "set OUT-BCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold "; + } + } + description + "set OUT-MCAST threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold "; + } + } + description + "set OUT-OCTET threshold"; + } + leaf if-in-errors { + type uint32 { + range "1..4294967295" { + description + "IFIN_ERRORS threshold"; + } + } + description + "set IFIN_ERRORS threshold"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf ether-stat-multicast-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_MULTICAST_PKT threshold"; + } + } + description + "set ETHER_STAT_MULTICAST_PKT threshold"; + } + leaf ether-stat-broadcast-pkt { + type uint32 { + range "1..4294967295" { + description + " ETHER_STAT_BROADCAST_PKT threshold"; + } + } + description + "set ETHER_STAT_BROADCAST_PKT threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_BYTES threshold"; + } + } + description + "set IN_GOOD_BYTES threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_PKTS threshold"; + } + } + description + "set IN_GOOD_PKTS threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set OUT_GOOD_BYTES threshold"; + } + } + description + "set OUT_GOOD_BYTES threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set GOOD_PKTS threshold"; + } + } + description + "set THRESH_OUT_GOOD_PKTS threshold"; + } + leaf rx-util { + type uint32 { + range "1..10000" { + description + "set RX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set RX_UTIL threshold(in units of 0.1%)"; + } + leaf tx-util { + type uint32 { + range "1..10000" { + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set TX_UTIL threshold(in units of 0.1%)"; + } + leaf ether-stat-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_UNDERSIZED_PKT threshold"; + } + } + description + "set ETHER_STAT_UNDERSIZED_PKT threshold"; + } + leaf tx-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_UNDERSIZED_PKT threshold"; + } + } + description + "set TX_UNDERSIZED_PKT threshold"; + } + leaf tx-oversized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_OVERSIZED_PKT threshold"; + } + } + description + "set TX_OVERSIZED_PKT threshold"; + } + leaf tx-fragments { + type uint32 { + range "1..4294967295" { + description + "TX_FRAGMENTS threshold"; + } + } + description + "set TX_FRAGMENTS threshold"; + } + leaf tx-jabber { + type uint32 { + range "1..4294967295" { + description + "TX_JABBER threshold"; + } + } + description + "set TX_JABBER threshold"; + } + leaf tx-bad-fcs { + type uint32 { + range "1..4294967295" { + description + "TX_BAD_FCS threshold"; + } + } + description + "set TX_BAD_FCS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-util { + description + "set rx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-util { + description + "set tx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container stat-pkt { + description + "set stat-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container octet-stat { + description + "set octet-stat TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container oversize-pkt { + description + "set oversize-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container long-frame { + description + "set long-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container jabber-stats { + description + "set jabber-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _64-octets { + description + "set 64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _65-127-octets { + description + "set 65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _128-255-octets { + description + "set 128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _256-511-octets { + description + "set 256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _512-1023-octets { + description + "set 512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _1024-1518-octets { + description + "set 1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-errors { + description + "set ifIn_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifOut_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-multicast-pkt { + description + "set ether_stat_multicast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-broadcast-pkt { + description + "set ether_stat_broadcast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-undersized-pkt { + description + "set ether_stat_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-64-octets { + description + "set in-64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-65-127-octets { + description + "set in-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-128-255-octets { + description + "set in-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-256-511-octets { + description + "set in-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-512-1023-octets { + description + "set in-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-1024-1518-octets { + description + "set in-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-undersized-pkt { + description + "set tx_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-oversized-pkt { + description + "set tx_oversized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-fragments { + description + "set tx_fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-jabber { + description + "set tx_jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-bad-fcs { + description + "set tx_bad_fcs TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hr { + description + "Configure pm parameters of 24 hrs interval"; + container macsec-secy-tx { + description + "Configure pm parameters of macsec-secy-tx"; + container threshold { + description + "Configure threshold on macsec-secy-tx parameters"; + leaf out-pkts-protected { + type uint32 { + range "1..4294967295" { + description + "OutPktsProtected threshold range"; + } + } + description + "Set Threshold for OutPktsProtected "; + } + leaf out-pkts-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutPktsEncrypted threshold range"; + } + } + description + "Set Threshold for OutPktsEncrypted"; + } + leaf out-octets-protected { + type uint32 { + range "1..4294967295" { + description + "OutOctetsProtected threshold range"; + } + } + description + "Set Threshold for OutOctetsProtected"; + } + leaf out-octets-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutOctetsEncrypted threshold range"; + } + } + description + "Set Threshold for OutOctetsEncrypted"; + } + leaf out-pkts-too-long { + type uint32 { + range "1..4294967295" { + description + "OutPktsTooLong threshold range"; + } + } + description + "Set Threshold for OutPktsTooLong"; + } + } + container report { + description + "Configure Report for macsec-secy-tx Parameters"; + container out-pkts-protected { + description + "set OutPktsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-encrypted { + description + "set OutPktsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-protected { + description + "set OutOctetsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-encrypted { + description + "set OutOctetsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-too-long { + description + "set OutPktsTooLong TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-secy-rx { + description + "Configure pm parameters of macsec-secy-rx"; + container threshold { + description + "Configure threshold on macsec-secy-rx parameters"; + leaf in-pkts-unchecked { + type uint32 { + range "1..4294967295" { + description + "InPktsUnchecked threshold range"; + } + } + description + "Set Threshold for InPktsUnchecked"; + } + leaf in-pkts-delayed { + type uint32 { + range "1..4294967295" { + description + "InPktsDelayed threshold range"; + } + } + description + "Set Threshold for InPktsDelayed"; + } + leaf in-pkts-late { + type uint32 { + range "1..4294967295" { + description + "InPktsLate threshold range"; + } + } + description + "Set Threshold for InPktsLate"; + } + leaf in-pkts-ok { + type uint32 { + range "1..4294967295" { + description + "InPktsOK threshold range"; + } + } + description + "Set Threshold for InPktsOK"; + } + leaf in-pkts-invalid { + type uint32 { + range "1..4294967295" { + description + "InPktsInvalid threshold range"; + } + } + description + "Set Threshold for InPktsInvalid"; + } + leaf in-pkts-not-valid { + type uint32 { + range "1..4294967295" { + description + "InPktsNotValid threshold range"; + } + } + description + "Set Threshold for InPktsNotValid"; + } + leaf in-pkts-not-using-sa { + type uint32 { + range "1..4294967295" { + description + "InPktsNotUsingSA threshold range"; + } + } + description + "Set Threshold for InPktsNotUsingSA"; + } + leaf in-pkts-unused-sa { + type uint32 { + range "1..4294967295" { + description + "InPktsUnusedSA threshold range"; + } + } + description + "Set Threshold for InPktsUnusedSA"; + } + leaf in-pkts-untagged-hit { + type uint32 { + range "1..4294967295" { + description + "InPktsUntaggedHit threshold range"; + } + } + description + "Set Threshold for InPktsUntaggedHit"; + } + leaf in-octets-validated { + type uint32 { + range "1..4294967295" { + description + "InOctetsValidated threshold range"; + } + } + description + "Set Threshold for InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint32 { + range "1..4294967295" { + description + "InOctetsDecrypted threshold range"; + } + } + description + "Set Threshold for InOctetsDecrypted"; + } + } + container report { + description + "Configure Report for macsec-secy-rx Parameters"; + container in-pkts-unchecked { + description + "set InPktsUnchecked TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-delayed { + description + "set InPktsDelayed TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-late { + description + "set InPktsLate TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-ok { + description + "set InPktsOK TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-invalid { + description + "set InPktsInvalid TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-not-valid { + description + "set InPktsNotValid TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-not-using-sa { + description + "set InPktsNotUsingSA TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-unused-sa { + description + "set InPktsUnusedSA TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-untagged-hit { + description + "set InPktsUntaggedHit TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-validated { + description + "set InOctetsValidated TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-decrypted { + description + "set InOctetsDecrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-secy-if { + description + "Configure pm parameters of macsec-secy-if"; + container threshold { + description + "Configure threshold on macsec-secy-if parameters"; + leaf in-pkts-untagged { + type uint32 { + range "1..4294967295" { + description + "InPktsUntagged threshold range"; + } + } + description + "Set Threshold for InPktsUntagged"; + } + leaf in-pkts-no-tag { + type uint32 { + range "1..4294967295" { + description + "InPktsNoTag threshold range"; + } + } + description + "Set Threshold for InPktsNoTag"; + } + leaf in-pkts-bad-tag { + type uint32 { + range "1..4294967295" { + description + "InPktsBadTag threshold range"; + } + } + description + "Set Threshold for InPktsBadTag"; + } + leaf in-pkts-unknown-sci { + type uint32 { + range "1..4294967295" { + description + "InPktsUnknownSCI threshold range"; + } + } + description + "Set Threshold for InPktsUnknownSCI"; + } + leaf in-pkts-no-sci { + type uint32 { + range "1..4294967295" { + description + "InPktsNoSCI threshold range"; + } + } + description + "Set Threshold for InPktsNoSCI"; + } + leaf in-pkts-overrun { + type uint32 { + range "1..4294967295" { + description + "InPktsOverrun threshold range"; + } + } + description + "Set Threshold for InPktsOverrun"; + } + leaf in-octets-validated { + type uint32 { + range "1..4294967295" { + description + "InOctetsValidated threshold range"; + } + } + description + "Set Threshold for InOctetsValidated"; + } + leaf in-octets-decrypted { + type uint32 { + range "1..4294967295" { + description + "InOctetsDecrypted threshold range"; + } + } + description + "Set Threshold for InOctetsDecrypted"; + } + leaf out-pkts-untagged { + type uint32 { + range "1..4294967295" { + description + "OutPktsUntagged threshold range"; + } + } + description + "Set Threshold for OutPktsUntagged "; + } + leaf out-pkts-too-long { + type uint32 { + range "1..4294967295" { + description + "OutPktsTooLong threshold range"; + } + } + description + "Set Threshold for OutPktsTooLong"; + } + leaf out-octets-encrypted { + type uint32 { + range "1..4294967295" { + description + "OutOctetsEncrypted threshold range"; + } + } + description + "Set Threshold for OutOctetsEncrypted"; + } + leaf out-octets-protected { + type uint32 { + range "1..4294967295" { + description + "OutOctetsProtected threshold range"; + } + } + description + "Set Threshold for OutOctetsProtected"; + } + } + container report { + description + "Configure Report for macsec-secy-if Parameters"; + container in-pkts-untagged { + description + "set InPktsUntagged TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-no-tag { + description + "set InPktsNoTag TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-bad-tag { + description + "set InPktsBadTag TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-unknown-sci { + description + "set InPktsUnknownSCI TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-no-sci { + description + "set InPktsNoSCI TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-pkts-overrun { + description + "set InPktsOverrun TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-validated { + description + "set InOctetsValidated TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-octets-decrypted { + description + "set InOctetsDecrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-untagged { + description + "set OutPktsUntagged TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-pkts-too-long { + description + "set OutPktsTooLong TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-protected { + description + "set OutOctetsProtected TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets-encrypted { + description + "set OutOctetsEncrypted TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container macsec-ether { + description + "configure ether performance monitoring"; + container threshold { + description + "Configure threshold on ether parameters"; + leaf rx-pkt { + type uint32 { + range "1..4294967295" { + description + "RX-PKT threshold "; + } + } + description + "set RX-PKT threshold"; + } + leaf stat-pkt { + type uint32 { + range "1..4294967295" { + description + "STAT-PKT threshold "; + } + } + description + "set STAT-PKT threshold"; + } + leaf octet-stat { + type uint32 { + range "1..4294967295" { + description + "OCTET-STAT threshold "; + } + } + description + "set OCTET-STAT threshold"; + } + leaf oversize-pkt { + type uint32 { + range "1..4294967295" { + description + "OVERSIZEPKT-STATS threshold"; + } + } + description + "set OVERSIZE-PKT threshold"; + } + leaf fcs-err { + type uint32 { + range "1..4294967295" { + description + "FCS-ERR threshold"; + } + } + description + "set FCS-ERR threshold"; + } + leaf long-frame { + type uint32 { + range "1..4294967295" { + description + "LONG-FRAMES threshold "; + } + } + description + "set LONG-FRAMES threshold"; + } + leaf jabber-stats { + type uint32 { + range "1..4294967295" { + description + "JABBER-STATS threshold "; + } + } + description + "set JABBER-STATS threshold"; + } + leaf sixty-four-octets { + type uint32 { + range "1..4294967295" { + description + "64-OCTET threshold"; + } + } + description + "set 64-OCTET threshold"; + } + leaf six5-127-octets { + type uint32 { + range "1..4294967295" { + description + "65-127-OCTET threshold"; + } + } + description + "set 65-127-OCTET threshold"; + } + leaf one-hundred-twenty-eight-255-octets { + type uint32 { + range "1..4294967295" { + description + "128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf two-hundred-fifty-six-511-octets { + type uint32 { + range "1..4294967295" { + description + "256-511-OCTET threshold "; + } + } + description + "set 256-511-OCTET threshold"; + } + leaf five-hundred-twelve-1023-octets { + type uint32 { + range "1..4294967295" { + description + "512-1023-OCTET threshold"; + } + } + description + "set 512-1023-OCTET threshold"; + } + leaf one-thousand-twenty-four-1518-octets { + type uint32 { + range "1..4294967295" { + description + "1024-1518-OCTET threshold"; + } + } + description + "set 1024-1518-OCTET threshold"; + } + leaf in-64-octets { + type uint32 { + range "1..4294967295" { + description + "IN-64-OCTET threshold"; + } + } + description + "set IN-64-OCTET threshold"; + } + leaf in-65-127-octets { + type uint32 { + range "1..4294967295" { + description + "IN-65-127-OCTET threshold"; + } + } + description + "set IN-65-127-OCTET threshold"; + } + leaf in-128-255-octets { + type uint32 { + range "1..4294967295" { + description + "IN-128-255-OCTET threshold "; + } + } + description + "set 128-255-OCTET threshold"; + } + leaf in-256-511-octets { + type uint32 { + range "1..4294967295" { + description + "IN-256-511-OCTET threshold "; + } + } + description + "set IN-256-511-OCTET threshold"; + } + leaf in-512-1023-octets { + type uint32 { + range "1..4294967295" { + description + "IN-512-1023-OCTET threshold"; + } + } + description + "set IN-512-1023-OCTET threshold"; + } + leaf in-1024-1518-octets { + type uint32 { + range "1..4294967295" { + description + "IN-1024-1518-OCTET threshold"; + } + } + description + "set IN-1024-1518-OCTET threshold"; + } + leaf in-drop-other { + type uint32 { + range "1..4294967295" { + description + "IN-DROP-OTHER threshold"; + } + } + description + "set IN_DROP_OTHER threshold"; + } + leaf in-ucast { + type uint32 { + range "1..4294967295" { + description + "IN-UCAST threshold"; + } + } + description + "set IN-UCAST threshold"; + } + leaf in-mcast { + type uint32 { + range "1..4294967295" { + description + "IN-MCAST threshold"; + } + } + description + "set IN-MCAST threshold"; + } + leaf in-bcast { + type uint32 { + range "1..4294967295" { + description + "IN-BCAST threshold"; + } + } + description + "set IN-BCAST threshold"; + } + leaf in-error-fragments { + type uint32 { + range "1..4294967295" { + description + "IN-ERROR-FRAGMENTS threshold"; + } + } + description + "set IN-ERROR-FRAGMENTS threshold"; + } + leaf out-ucast { + type uint32 { + range "1..4294967295" { + description + "OUT-UCAST threshold"; + } + } + description + "set OUT-UCAST threshold"; + } + leaf out-bcast { + type uint32 { + range "1..4294967295" { + description + "OUT-BCAST threshold )"; + } + } + description + "set OUT-BCAST threshold"; + } + leaf out-mcast { + type uint32 { + range "1..4294967295" { + description + "OUT-MCAST threshold (seconds)"; + } + } + description + "set OUT-MCAST threshold"; + } + leaf tx-pkt { + type uint32 { + range "1..4294967295" { + description + "TX-PKT threshold"; + } + } + description + "set TX-PKT threshold"; + } + leaf out-octets { + type uint32 { + range "1..4294967295" { + description + "OUT-OCTET threshold (seconds)"; + } + } + description + "set OUT-OCTET threshold"; + } + leaf if-in-errors { + type uint32 { + range "1..4294967295" { + description + "IFIN_ERRORS threshold"; + } + } + description + "set IFIN_ERRORS threshold"; + } + leaf in-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_BYTES threshold"; + } + } + description + "set IN_GOOD_BYTES threshold"; + } + leaf in-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set IN_GOOD_PKTS threshold"; + } + } + description + "set IN_GOOD_PKTS threshold"; + } + leaf out-good-bytes { + type uint32 { + range "1..4294967295" { + description + "set OUT_GOOD_BYTES threshold"; + } + } + description + "set OUT_GOOD_BYTES threshold"; + } + leaf out-good-pkts { + type uint32 { + range "1..4294967295" { + description + "set GOOD_PKTS threshold"; + } + } + description + "set THRESH_OUT_GOOD_PKTS threshold"; + } + leaf rx-util { + type uint32 { + range "1..10000" { + description + "set RX_UTIL threshold (in units of 0.01%)"; + } + } + description + "set THRESH_RX_UTIL threshold(in units of 0.01%)"; + } + leaf tx-util { + type uint32 { + range "1..10000" { + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + } + description + "set TX_UTIL threshold(in units of 0.01%)"; + } + leaf if-in-octets { + type uint32 { + range "1..4294967295" { + description + "IFIN_OCTETS threshold"; + } + } + description + "set IFIN_OCTETS threshold"; + } + leaf ether-stat-multicast-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_MULTICAST_PKT threshold"; + } + } + description + "set ETHER_STAT_MULTICAST_PKT threshold"; + } + leaf ether-stat-broadcast-pkt { + type uint32 { + range "1..4294967295" { + description + " ETHER_STAT_BROADCAST_PKT threshold"; + } + } + description + " set ETHER_STAT_BROADCAST_PKT threshold"; + } + leaf ether-stat-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "ETHER_STAT_UNDERSIZED_PKT threshold"; + } + } + description + "set ETHER_STAT_UNDERSIZED_PKT threshold"; + } + leaf tx-undersized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_UNDERSIZED_PKT threshold"; + } + } + description + "set TX_UNDERSIZED_PKT threshold"; + } + leaf tx-oversized-pkt { + type uint32 { + range "1..4294967295" { + description + "TX_OVERSIZED_PKT threshold"; + } + } + description + "set TX_OVERSIZED_PKT threshold"; + } + leaf tx-fragments { + type uint32 { + range "1..4294967295" { + description + "TX_FRAGMENTS threshold"; + } + } + description + "set TX_FRAGMENTS threshold"; + } + leaf tx-jabber { + type uint32 { + range "1..4294967295" { + description + "TX_JABBER threshold"; + } + } + description + "set TX_JABBER threshold"; + } + leaf tx-bad-fcs { + type uint32 { + range "1..4294967295" { + description + "TX_BAD_FCS threshold"; + } + } + description + "set TX_BAD_FCS threshold"; + } + } + container report { + description + "set ether TCA reporting status"; + container rx-pkt { + description + "set rx-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-util { + description + "set rx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-util { + description + "set tx-util TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container stat-pkt { + description + "set stat-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container octet-stat { + description + "set octet-stat TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container oversize-pkt { + description + "set oversize-pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fcs-err { + description + "set fcs-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container long-frame { + description + "set long-frame TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container jabber-stats { + description + "set jabber-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _64-octets { + description + "set 64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _65-127-octets { + description + "set 65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _128-255-octets { + description + "set 128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _256-511-octets { + description + "set 256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _512-1023-octets { + description + "set 512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container _1024-1518-octets { + description + "set 1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-ucast { + description + "set in-Ucast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-mcast { + description + "set in-Mcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-bcast { + description + "set in-Bcast TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-ucast { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-mcast { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-bcast { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-pkt { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-errors { + description + "set ifIn_errors TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container if-in-octets { + description + "set ifIn_Octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-multicast-pkt { + description + "set ether_stat_multicast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-broadcast-pkt { + description + "set ether_stat_broadcast_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ether-stat-undersized-pkt { + description + "set ether_stat_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-octets { + description + "set out-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-bytes { + description + "set in-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-good-pkts { + description + "set in-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-drop-other { + description + "set in-drop-other TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-bytes { + description + "set out-good-bytes TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-good-pkts { + description + "set out-good-pkts TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-error-fragments { + description + "set in-error-fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-64-octets { + description + "set in-64-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-65-127-octets { + description + "set in-65-127-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-128-255-octets { + description + "set in-128-255-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-256-511-octets { + description + "set in-256-511-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-512-1023-octets { + description + "set in-512-1023-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-1024-1518-octets { + description + "set in-1024-1518-octets TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-undersized-pkt { + description + "set tx_undersized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-oversized-pkt { + description + "set tx_oversized_pkt TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-fragments { + description + "set tx_fragments TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-jabber { + description + "set tx_jabber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container tx-bad-fcs { + description + "set tx_bad_fcs TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-oc-pm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-oc-pm-cfg.yang new file mode 100644 index 000000000..80e780b80 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-oc-pm-cfg.yang @@ -0,0 +1,623 @@ +module Cisco-IOS-XR-um-cont-oc-pm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-oc-pm-cfg"; + prefix um-cont-oc-pm-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-oc-pm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container pm { + when "../a1:controller-name[starts-with(text(),'OC')]" { + tailf:dependency "../a1:controller-name"; + } + description + "Configure pm parameters"; + container interval-15-min { + description + "Configure pm parameters of 15 minute interval"; + container ocn { + description + "configure ocn performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf cv-s { + type uint32 { + range "0..7967700" { + description + "CV-S threshold range"; + } + } + description + "set cv-s threshold"; + } + leaf es-s { + type uint32 { + range "0..900" { + description + "es-s threshold range"; + } + } + description + "set es-s threshold"; + } + leaf ses-s { + type uint32 { + range "0..900" { + description + "ses-s threshold range"; + } + } + description + "set ses-s threshold"; + } + leaf sefs-s { + type uint32 { + range "0..900" { + description + "sefs-s threshold range"; + } + } + description + "set sefs-s threshold"; + } + leaf cv-l-ne { + type uint32 { + range "0..8850600" { + description + "cv-l-ne threshold"; + } + } + description + "set cv-l-ne threshold"; + } + leaf es-l-ne { + type uint32 { + range "0..900" { + description + "es-l-ne threshold"; + } + } + description + "set es-l-ne threshold"; + } + leaf ses-l-ne { + type uint32 { + range "0..900" { + description + "ses-l-ne threshold range"; + } + } + description + "set ses-l-ne threshold"; + } + leaf uas-l-ne { + type uint32 { + range "0..900" { + description + "uas-l-ne threshold range"; + } + } + description + "set uas-l-ne threshold"; + } + leaf fc-l-ne { + type uint32 { + range "0..72" { + description + "fc-l-ne threshold range"; + } + } + description + "set fc-l-ne threshold"; + } + leaf cv-l-fe { + type uint32 { + range "0..8850600" { + description + "cv-l-fe threshold"; + } + } + description + "set cv-l-fe threshold"; + } + leaf es-l-fe { + type uint32 { + range "0..900" { + description + "es-l-fe threshold"; + } + } + description + "set es-l-fe threshold"; + } + leaf ses-l-fe { + type uint32 { + range "0..900" { + description + "ses-l-fe threshold range"; + } + } + description + "set ses-l-fe threshold"; + } + leaf uas-l-fe { + type uint32 { + range "0..900" { + description + "uas-l-fe threshold range"; + } + } + description + "set uas-l-fe threshold"; + } + leaf fc-l-fe { + type uint32 { + range "0..72" { + description + "fc-l-fe threshold range"; + } + } + description + "set fc-l-fe threshold"; + } + } + container report { + description + "set ocn TCA reporting status"; + container sefs-s { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-s { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-s { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-s { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-ne { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-ne { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-ne { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-ne { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-ne { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-fe { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-fe { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-fe { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-fe { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-fe { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hour { + description + "Configure pm parameters of 24 hour interval"; + container ocn { + description + "configure ocn performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf cv-s { + type uint32 { + range "0..764899200" { + description + "CV-S threshold range"; + } + } + description + "set cv-s threshold"; + } + leaf es-s { + type uint32 { + range "0..86400" { + description + "es-s threshold range"; + } + } + description + "set es-s threshold"; + } + leaf ses-s { + type uint32 { + range "0..86400" { + description + "ses-s threshold range"; + } + } + description + "set ses-s threshold"; + } + leaf sefs-s { + type uint32 { + range "0..86400" { + description + "sefs-s threshold range"; + } + } + description + "set sefs-s threshold"; + } + leaf cv-l-ne { + type uint32 { + range "0..849657600" { + description + "cv-l-ne threshold"; + } + } + description + "set cv-l-ne threshold"; + } + leaf es-l-ne { + type uint32 { + range "0..86400" { + description + "es-l-ne threshold"; + } + } + description + "set es-l-ne threshold"; + } + leaf ses-l-ne { + type uint32 { + range "0..86400" { + description + "ses-l-ne threshold range"; + } + } + description + "set ses-l-ne threshold"; + } + leaf uas-l-ne { + type uint32 { + range "0..86400" { + description + "uas-l-ne threshold range"; + } + } + description + "set uas-l-ne threshold"; + } + leaf fc-l-ne { + type uint32 { + range "0..6912" { + description + "fc-l-ne threshold range"; + } + } + description + "set fc-l-ne threshold"; + } + leaf cv-l-fe { + type uint32 { + range "0..849657600" { + description + "cv-l-fe threshold"; + } + } + description + "set cv-l-fe threshold"; + } + leaf es-l-fe { + type uint32 { + range "0..86400" { + description + "es-l-fe threshold"; + } + } + description + "set es-l-fe threshold"; + } + leaf ses-l-fe { + type uint32 { + range "0..86400" { + description + "ses-l-fe threshold range"; + } + } + description + "set ses-l-fe threshold"; + } + leaf uas-l-fe { + type uint32 { + range "0..86400" { + description + "uas-l-fe threshold range"; + } + } + description + "set uas-l-fe threshold"; + } + leaf fc-l-fe { + type uint32 { + range "0..6912" { + description + "fc-l-fe threshold range"; + } + } + description + "set fc-l-fe threshold"; + } + } + container report { + description + "set ocn TCA reporting status"; + container sefs-s { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-s { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-s { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-s { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-ne { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-ne { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-ne { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-ne { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-ne { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-fe { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-fe { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-fe { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-fe { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-fe { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-cfg.yang new file mode 100644 index 000000000..dc7011d67 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-cfg.yang @@ -0,0 +1,1167 @@ +module Cisco-IOS-XR-um-cont-odu-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-odu-cfg"; + prefix um-cont-odu-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-odu package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-05 { + description + "Updated lower-orders nodes"; + semver:module-version "1.0.1m"; + } + revision 2021-05-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature odu_config_supp_check { + description + "odu config supp check"; + } + + grouping CONT-BODY { + container perf-mon { + description + "Performance Monitoring"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable performance monitoring"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable performance monitoring"; + } + } + container gcc1 { + presence "Indicates a gcc1 node is configured."; + description + "Configure General Communication Channel"; + } + container gcc2 { + presence "Indicates a gcc2 node is configured."; + description + "Configure General Communication Channel"; + } + container delay { + description + "Delay Measurement for ODU"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable delay measurement at ODU"; + } + } + container threshold { + description + "Configure threshold for Signal Failure and Signal Degrade"; + leaf sf { + type uint32 { + range "5..9" { + description + "Signal Failure Threshold(Range 1.0e-n)"; + } + } + description + "Configure SF(Signal Failure) Threshold"; + } + leaf sd { + type uint32 { + range "5..9" { + description + "Signal Degrade Threshold Value(Range 1.0e-n)"; + } + } + description + "Configure SD(Signal Degrade) Threshold "; + } + leaf pm-tca { + type uint32 { + range "3..9" { + description + " Threshold crossing alert Value(Range 10e-n, Default 6)"; + } + } + description + "Configure TCA(Threshold crossing alert)"; + } + } + leaf secondary-admin-state { + type enumeration { + enum "normal" { + value 0; + description + "Normal, Admin-state in normal"; + } + enum "maintenance" { + value 1; + description + "Maintenance, Admin-state under maintenance"; + } + } + description + "Configure the secondary admin state of the controller"; + } + leaf tsg { + type enumeration { + enum "1.25G" { + value 0; + description + "1.25G Tributary Slot Granularity"; + } + enum "2.5G" { + value 1; + description + "2.5G Tributary Slot Granularity"; + } + } + description + "Configure TSG level(Tributary Slot Granularity)"; + } + container pm-tim-ca { + description + "Configure Consequent Action for PM(Path Monitoring) TIM"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable PM-TIM-CA"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable PM-TIM-CA"; + } + } + container tti { + description + "Configure TTI(Trail Trace Identifier)"; + container sent { + description + "Set transmit Trail Trace Identifier"; + container sapi { + description + "Enter Source Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container dapi { + description + "Enter Destination Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container operator-specific { + description + "Enter Operator Specific field"; + leaf ascii { + type string { + length "1..32" { + description + "ASCII text (Max 32 characters)"; + } + } + must "not(../hex)"; + description + "Enter ascii string"; + } + leaf hex { + type string { + length "1..64" { + description + "Hex Text (Max 64 - The string length should be an even number)"; + } + } + must "not(../ascii)"; + description + "Enter hex string of even length"; + } + } + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter Full-Ascii string "; + } + leaf hex { + type string { + length "1..128" { + description + "Hex text (Max 128 characters)"; + } + } + must "not(../ascii)"; + description + "Enter Full-Hex string "; + } + } + container expected { + description + "Set expected Trail Trace Identifier"; + container sapi { + description + "Enter Source Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container dapi { + description + "Enter Destination Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container operator-specific { + description + "Enter Operator Specific field"; + leaf ascii { + type string { + length "1..32" { + description + "ASCII text (Max 32 characters)"; + } + } + must "not(../hex)"; + description + "Enter ascii string"; + } + leaf hex { + type string { + length "1..64" { + description + "Hex Text (Max 64 - The string length should be an even number)"; + } + } + must "not(../ascii)"; + description + "Enter hex string of even length"; + } + } + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter Full-Ascii string "; + } + leaf hex { + type string { + length "1..128" { + description + "Hex text (Max 128 characters)"; + } + } + must "not(../ascii)"; + description + "Enter Full-Hex string "; + } + } + } + container opu { + description + "Configure PRBS for ODU"; + container prbs { + description + "Configure pseudo random bit sequence test"; + container mode { + description + "prbs-mode for the interface"; + container source { + presence "Indicates a source node is configured."; + description + "source mode"; + container pattern { + description + "Select pattern for prbs mode"; + container pn31 { + must + "not(../pn23 or ../pn11 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn31 node is configured."; + description + "prbs pattern pn31"; + } + container pn23 { + must + "not(../pn31 or ../pn11 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn23 node is configured."; + description + "prbs pattern pn23"; + } + container pn11 { + must + "not(../pn31 or ../pn23 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn11 node is configured."; + description + "prbs pattern pn11"; + } + container invertedpn31 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a invertedpn31 node is configured."; + description + "prbs pattern inverted pn31"; + } + container invertedpn11 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../pn15 or ../pn7)"; + presence "Indicates a invertedpn11 node is configured."; + description + "prbs pattern inverted pn11"; + } + container pn15 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../invertedpn11 or ../pn7)"; + presence "Indicates a pn15 node is configured."; + description + "prbs pattern inverted pn15"; + } + container pn7 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../invertedpn11 or ../pn15)"; + presence "Indicates a pn7 node is configured."; + description + "prbs pattern inverted pn7"; + } + } + } + container sink { + presence "Indicates a sink node is configured."; + description + "sink mode"; + container pattern { + description + "Select pattern for prbs mode"; + container pn31 { + must + "not(../pn23 or ../pn11 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn31 node is configured."; + description + "prbs pattern pn31"; + } + container pn23 { + must + "not(../pn31 or ../pn11 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn23 node is configured."; + description + "prbs pattern pn23"; + } + container pn11 { + must + "not(../pn31 or ../pn23 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn11 node is configured."; + description + "prbs pattern pn11"; + } + container invertedpn31 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a invertedpn31 node is configured."; + description + "prbs pattern inverted pn31"; + } + container invertedpn11 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../pn15 or ../pn7)"; + presence "Indicates a invertedpn11 node is configured."; + description + "prbs pattern inverted pn11"; + } + container pn15 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../invertedpn11 or ../pn7)"; + presence "Indicates a pn15 node is configured."; + description + "prbs pattern inverted pn15"; + } + container pn7 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../invertedpn11 or ../pn15)"; + presence "Indicates a pn7 node is configured."; + description + "prbs pattern inverted pn7"; + } + } + } + container source-sink { + presence "Indicates a source-sink node is configured."; + description + "source-sink mode"; + container pattern { + description + "Select pattern for prbs mode"; + container pn31 { + must + "not(../pn23 or ../pn11 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn31 node is configured."; + description + "prbs pattern pn31"; + } + container pn23 { + must + "not(../pn31 or ../pn11 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn23 node is configured."; + description + "prbs pattern pn23"; + } + container pn11 { + must + "not(../pn31 or ../pn23 + or ../invertedpn31 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a pn11 node is configured."; + description + "prbs pattern pn11"; + } + container invertedpn31 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn11 + or ../pn15 or ../pn7)"; + presence "Indicates a invertedpn31 node is configured."; + description + "prbs pattern inverted pn31"; + } + container invertedpn11 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../pn15 or ../pn7)"; + presence "Indicates a invertedpn11 node is configured."; + description + "prbs pattern inverted pn11"; + } + container pn15 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../invertedpn11 or ../pn7)"; + presence "Indicates a pn15 node is configured."; + description + "prbs pattern inverted pn15"; + } + container pn7 { + must + "not(../pn31 or ../pn23 + or ../pn11 or ../invertedpn31 + or ../invertedpn11 or ../pn15)"; + presence "Indicates a pn7 node is configured."; + description + "prbs pattern inverted pn7"; + } + } + } + container direction { + description + "Select prbs-direction for prbs mode"; + container line { + must + "(../../source or ../../sink or ../../source-sink) + and not(../system)"; + presence "Indicates a line node is configured."; + description + "prbs in line side"; + } + container system { + must + "(../../source or ../../sink or ../../source-sink) + and not(../line)"; + presence "Indicates a system node is configured."; + description + "prbs in system side"; + } + } + } + } + container ca { + description + "Select CA mode to enable"; + container laser-squelch { + presence "Indicates a laser-squelch node is configured."; + description + "Enable controller laser squelch timer"; + leaf laser-squelch-time-in-ms { + type uint32 { + range "20..10000" { + description + "laser squelch time in ms "; + } + } + description + "laser squelch time in ms "; + } + } + container idle-frame { + presence "Indicates a idle-frame node is configured."; + description + "Enable controller idle frame timer"; + leaf idle-frame-time-in-ms { + type uint32 { + range "20..10000" { + description + "idle frame time in ms "; + } + } + description + "idle frame time in ms "; + } + } + } + } + container tcm { + description + "Configure Tandem Connection Monitoring"; + container ids { + description + "Configure TCM(Tandem Connection Monitoring) level for ODU"; + list id { + key "id-id"; + description + "Configure TCM(Tandem Connection Monitoring) level for ODU"; + leaf id-id { + type uint32 { + range "1..6" { + description + "Tandem Connection Monitoring ID"; + } + } + description + "Configure TCM(Tandem Connection Monitoring) level for ODU"; + } + container perf-mon { + description + "Performance Monitoring"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable performance monitoring"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable performance monitoring"; + } + } + container tcm-mode { + description + "TCM Mode"; + container operational { + presence "Indicates a operational node is configured."; + description + "Configure tcm in operational monitoring mode"; + container ltc-ca { + description + "Consequent(ial) action for Enable and Disable"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable consequent(ial) action for TCM-LTC"; + } + } + container tim-ca { + description + "Consequent(ial) action for Enable and Disable"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable consequent(ial) action for TCM-TIM"; + } + } + } + } + container delay { + description + "Delay Measurement"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable delay measurement"; + } + } + container threshold { + description + "Configure threshold for Signal Failure and Signal Degrade"; + leaf sd { + type uint32 { + range "5..9" { + description + "Signal Degrade Threshold Value(Range 1.0e-n)"; + } + } + description + "Configure SD(Signal Degrade) Threshold "; + } + leaf sf { + type uint32 { + range "5..9" { + description + "Signal Failure Threshold Value(Range 1.0e-n)"; + } + } + description + "Configure SF(Signal Failure) Threshold"; + } + leaf pm-tca { + type uint32 { + range "3..9" { + description + "Threshold Crossing Alert Value(Range 10e-n, Default 3)"; + } + } + description + "Configure TCA(Threshold Crossing Alert)"; + } + } + container tti { + description + "Configure TTI(Trail Trace Identifier)"; + container sent { + description + "Set transmit Trail Trace Identifier"; + container sapi { + description + "Enter Source Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container dapi { + description + "Enter Destination Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container operator-specific { + description + "Enter Operator Specific field"; + leaf ascii { + type string { + length "1..32" { + description + "ASCII text (Max 32 characters)"; + } + } + must "not(../hex)"; + description + "Enter ascii string"; + } + leaf hex { + type string { + length "1..64" { + description + "Hex Text (Max 64 - The string length should be an even number)"; + } + } + must "not(../ascii)"; + description + "Enter hex string of even length"; + } + } + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter Full-Ascii string "; + } + leaf hex { + type string { + length "1..128" { + description + "Hex text (Max 128 characters)"; + } + } + must "not(../ascii)"; + description + "Enter Full-Hex string "; + } + } + container expected { + description + "Set expected Trail Trace Identifier"; + container sapi { + description + "Enter Source Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container dapi { + description + "Enter Destination Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container operator-specific { + description + "Enter Operator Specific field"; + leaf ascii { + type string { + length "1..32" { + description + "ASCII text (Max 32 characters)"; + } + } + must "not(../hex)"; + description + "Enter ascii string"; + } + leaf hex { + type string { + length "1..64" { + description + "Hex Text (Max 64 - The string length should be an even number)"; + } + } + must "not(../ascii)"; + description + "Enter hex string of even length"; + } + } + leaf ascii { + type string { + length "1..64" { + description + "ASCII text (Max 64 characters)"; + } + } + description + "Enter Full-Ascii string "; + } + leaf hex { + type string { + length "1..128" { + description + "Hex text (Max 128 characters)"; + } + } + must "not(../ascii)"; + description + "Enter Full-Hex string "; + } + } + } + } + } + } + leaf loopback { + type enumeration { + enum "line" { + value 2; + description + "Select local (facility) loopback"; + } + enum "internal" { + value 4; + description + "Select local (terminal) loopback"; + } + } + description + "Configure ODU controller loopback mode"; + } + container create-lower-orders { + description + "configure this node"; + list create-lower-order { + key "create-lower-order-id tpn-number"; + description + "configure this node"; + leaf create-lower-order-id { + type enumeration { + enum "ODU1" { + value 1; + description + "create lower order odu1"; + } + enum "ODU2" { + value 2; + description + "create lower order odu2"; + } + enum "ODU3" { + value 3; + description + "create lower order odu3"; + } + enum "ODU0" { + value 10; + description + "create lower order odu0"; + } + enum "ODU2E" { + value 11; + description + "create lower order odu2e"; + } + enum "ODU1E" { + value 23; + description + "create lower order odu1e"; + } + enum "ODU2F" { + value 25; + description + "create lower order odu2F"; + } + enum "ODU3E1" { + value 26; + description + "create lower order odu3e1"; + } + enum "ODU3E2" { + value 27; + description + "create lower order odu3e2"; + } + } + description + "configure this node"; + } + leaf tpn-number { + type uint32 { + range "1..80" { + description + "<1 - MAX> Tributary port number as allowed in G.709"; + } + } + description + "Configure tributary port number for odu "; + } + leaf ts { + type string { + length "1..800" { + description + "tributary slot string separated by (:) or (-) from 1 to no of ts in parent controller. (:) indicates individual tributary slot and (-) represent range"; + } + } + description + "Configure Tributary Slots for odu "; + } + } + list create-lower-order-tpn { + key "tpn-number"; + description + "configure this node"; + leaf tpn-number { + type uint32 { + range "1..80" { + description + "<1 - MAX> Tributary port number as allowed in G.709"; + } + } + description + "Configure tributary port number for odu "; + } + leaf ts { + type string { + length "1..800" { + description + "tributary slot string separated by (:) or (-) from 1 to no of ts in parent controller. (:) indicates individual tributary slot and (-) represent range"; + } + } + description + "Configure Tributary Slots for odu "; + } + } + } + container create-lower-order-odu-flexes { + description + "configure this node"; + list create-lower-order-odu-flex { + key "create-lower-order-odu-flex-id tpn-number"; + description + "configure this node"; + leaf create-lower-order-odu-flex-id { + type enumeration { + enum "ODU-FLEX" { + value 22; + description + "create lower order odu-flex"; + } + } + description + "configure this node"; + } + leaf tpn-number { + type uint32 { + range "1..80" { + description + "<1 - MAX> Tributary port number as allowed in G.709"; + } + } + description + "Configure tributary port number for odu "; + } + leaf ts { + type string { + length "1..230" { + description + "tributary slot string separated by (:) or (-) from 1 to no of ts in parent controller. (:) indicates individual tributary slot and (-) represent range"; + } + } + must "../bitrate"; + description + "Configure Tributary Slots for odu "; + } + leaf bitrate { + type uint32 { + range "1..104124241" { + description + "Bitrate for odu-flex GFP-F can be any client rate in given range For CBR Client rate should be equal to FC-400, FC-800 etc."; + } + } + must "../ts and ../mapping"; + description + "Configure Client Bitrate for odu-flex in kbit/s"; + } + leaf mapping { + type enumeration { + enum "GFP-F-Fixed" { + value 1; + description + "GFP Non resizable mapping"; + } + enum "CBR" { + value 3; + description + "CBR mapping"; + } + } + must "../bitrate"; + description + "Configure mapping for odu-flex"; + } + } + list create-lower-order-odu-flex-tpn { + key "tpn-number"; + description + "configure this node"; + leaf tpn-number { + type uint32 { + range "1..80" { + description + "<1 - MAX> Tributary port number as allowed in G.709"; + } + } + description + "Configure tributary port number for odu "; + } + leaf ts { + type string { + length "1..230" { + description + "tributary slot string separated by (:) or (-) from 1 to no of ts in parent controller. (:) indicates individual tributary slot and (-) represent range"; + } + } + must "../bitrate"; + description + "Configure Tributary Slots for odu "; + } + leaf bitrate { + type uint32 { + range "1..104124241" { + description + "Bitrate for odu-flex GFP-F can be any client rate in given range For CBR Client rate should be equal to FC-400, FC-800 etc."; + } + } + must "../ts and ../mapping"; + description + "Configure Client Bitrate for odu-flex in kbit/s"; + } + leaf mapping { + type enumeration { + enum "GFP-F-Fixed" { + value 1; + description + "GFP Non resizable mapping"; + } + enum "CBR" { + value 3; + description + "CBR mapping"; + } + } + must "../bitrate"; + description + "Configure mapping for odu-flex"; + } + } + } + leaf terminate { + type enumeration { + enum "ether" { + value 1; + description + "Terminating to Ethernet Interface"; + } + } + description + "Configuring ethernet interface "; + } + container mapping { + description + "mapping for odu controller"; + leaf f-for-mapping { + type enumeration { + enum "GfpF" { + value 1; + description + "gfp_f for mapping"; + } + enum "gmp" { + value 4; + description + "gmp for mapping"; + } + } + must "../f-for-mapping"; + description + "configure this node"; + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg.yang new file mode 100644 index 000000000..ef522d32c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg.yang @@ -0,0 +1,9309 @@ +module Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg"; + prefix um-cont-odu-otu-dwdm-optics-pm-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-odu-otu-dwdm-optics-pm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature optics { + description + "optics"; + } + + feature optics_cli_supp_check { + description + "optics cli supp check"; + } + + grouping CONT-BODY { + container pm { + when "../a1:controller-name[starts-with(text(),'ODU')] or ../a1:controller-name[starts-with(text(),'OTU')] or ../a1:controller-name[starts-with(text(),'dwdm')] or ../a1:controller-name[starts-with(text(),'Optics')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "optics"; + description + "Configure pm parameters"; + container interval-15-min { + if-feature "optics_cli_supp_check"; + description + "Configure pm parameters of 15 minute interval"; + container otn { + description + "configure otn g709 performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-pm-ne { + type uint32 { + range "0..900" { + description + "ES-PM threshold (seconds)"; + } + } + description + "set ES-PM threshold"; + } + leaf es-sm-ne { + type uint32 { + range "0..900" { + description + "ES-SM threshold (seconds)"; + } + } + description + "set ES-SM threshold"; + } + leaf esr-pm-ne { + type uint32 { + range "0..100000" { + description + "ESR-PM threshold"; + } + } + description + "set ESR-PM threshold"; + } + leaf esr-sm-ne { + type uint32 { + range "0..100000" { + description + "ESR-SM threshold"; + } + } + description + "set ESR-SM threshold"; + } + leaf ses-pm-ne { + type uint32 { + range "0..900" { + description + "SES-PM threshold (seconds)"; + } + } + description + "set SES-PM threshold"; + } + leaf ses-sm-ne { + type uint32 { + range "0..900" { + description + "SES-SM threshold (seconds)"; + } + } + description + "set SES-SM threshold"; + } + leaf sesr-pm-ne { + type uint32 { + range "0..100000" { + description + "SESR-PM threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf sesr-sm-ne { + type uint32 { + range "0..100000" { + description + "SESR-SM threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf uas-pm-ne { + type uint32 { + range "0..900" { + description + "UAS_PM threshold (seconds)"; + } + } + description + "set UAS-PM threshold"; + } + leaf uas-sm-ne { + type uint32 { + range "0..900" { + description + "UAS_SM threshold (seconds)"; + } + } + description + "set UAS-SM threshold"; + } + leaf bbe-pm-ne { + type uint32 { + range "0..8850600" { + description + "BBE_PM threshold"; + } + } + description + "set BBE-PM threshold"; + } + leaf bbe-sm-ne { + type uint32 { + range "0..8850600" { + description + "BBE_SM threshold"; + } + } + description + "set BBE-SM threshold"; + } + leaf bber-pm-ne { + type uint32 { + range "0..100000" { + description + "BBER_PM threshold"; + } + } + description + "set BBER-PM threshold"; + } + leaf bber-sm-ne { + type uint32 { + range "1..100000" { + description + "BBER_SM threshold"; + } + } + description + "set BBER-SM threshold"; + } + leaf fc-pm-ne { + type uint32 { + range "0..72" { + description + "FC_PM threshold"; + } + } + description + "set FC-PM threshold"; + } + leaf fc-sm-ne { + type uint32 { + range "0..72" { + description + "FC_SM threshold"; + } + } + description + "set FC-SM threshold"; + } + leaf es-pm-fe { + type uint32 { + range "0..900" { + description + "ES-PM threshold (seconds)"; + } + } + description + "set ES-PM threshold"; + } + leaf es-sm-fe { + type uint32 { + range "0..900" { + description + "ES-SM threshold (seconds)"; + } + } + description + "set ES-SM threshold"; + } + leaf esr-pm-fe { + type uint32 { + range "0..100000" { + description + "ESR-PM threshold"; + } + } + description + "set ESR-PM threshold"; + } + leaf esr-sm-fe { + type uint32 { + range "0..100000" { + description + "ESR-SM threshold"; + } + } + description + "set ESR-SM threshold"; + } + leaf ses-pm-fe { + type uint32 { + range "0..900" { + description + "SES-PM threshold (seconds)"; + } + } + description + "set SES-PM threshold"; + } + leaf ses-sm-fe { + type uint32 { + range "0..900" { + description + "SES-SM threshold (seconds)"; + } + } + description + "set SES-SM threshold"; + } + leaf sesr-pm-fe { + type uint32 { + range "0..100000" { + description + "SESR-PM threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf sesr-sm-fe { + type uint32 { + range "0..100000" { + description + "SESR-SM threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf uas-pm-fe { + type uint32 { + range "0..900" { + description + "UAS_PM threshold (seconds)"; + } + } + description + "set UAS-PM threshold"; + } + leaf uas-sm-fe { + type uint32 { + range "0..900" { + description + "UAS_SM threshold (seconds)"; + } + } + description + "set UAS-SM threshold"; + } + leaf bbe-pm-fe { + type uint32 { + range "0..8850600" { + description + "BBE_PM threshold"; + } + } + description + "set BBE-PM threshold"; + } + leaf bbe-sm-fe { + type uint32 { + range "0..8850600" { + description + "BBE_SM threshold"; + } + } + description + "set BBE-SM threshold"; + } + leaf bber-pm-fe { + type uint32 { + range "0..100000" { + description + "BBER_PM threshold"; + } + } + description + "set BBER-PM threshold"; + } + leaf bber-sm-fe { + type uint32 { + range "1..100000" { + description + "BBER_SM threshold"; + } + } + description + "set BBER-SM threshold"; + } + leaf fc-pm-fe { + type uint32 { + range "0..72" { + description + "FC_PM threshold"; + } + } + description + "set FC-PM threshold"; + } + leaf fc-sm-fe { + type uint32 { + range "0..72" { + description + "FC_SM threshold"; + } + } + description + "set FC-SM threshold"; + } + leaf es-ne { + type uint32 { + range "0..900" { + description + "ES-NE threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "ESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..900" { + description + "SES-NE threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "SESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..900" { + description + "UAS-NE threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..8850600" { + description + "BBE-NE threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "1..100000" { + description + "BBER-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..72" { + description + "FC-NE threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..900" { + description + "ES-FE threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "es-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..900" { + description + "SES-FE threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "SESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..900" { + description + "UAS-FE threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..8850600" { + description + "BBE-FE threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "1..100000" { + description + "BBER-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..72" { + description + "FC-FE threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-sm-ne { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-sm-ne { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-sm-ne { + description + "set uas-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-sm-ne { + description + "set bbe-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-sm-ne { + description + "set fc-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-sm-ne { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-sm-ne { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-sm-ne { + description + "set bber-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-pm-ne { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-pm-ne { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-pm-ne { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-pm-ne { + description + "set bbe-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-pm-ne { + description + "set fc-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-pm-ne { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-pm-ne { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-pm-ne { + description + "set bber-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-sm-fe { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-sm-fe { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-sm-fe { + description + "set uas-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-sm-fe { + description + "set bbe-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-sm-fe { + description + "set fc-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-sm-fe { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-sm-fe { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-sm-fe { + description + "set bber-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-pm-fe { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-pm-fe { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-pm-fe { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-pm-fe { + description + "set bbe-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-pm-fe { + description + "set fc-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-pm-fe { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-pm-fe { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-pm-fe { + description + "set bber-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pathmonitor { + description + "configure otn g709 performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-ne { + type uint32 { + range "0..900" { + description + "ES-NE threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "ESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..900" { + description + "SES-NE threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "SESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..900" { + description + "UAS-NE threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..8850600" { + description + "BBE-NE threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "0..100000" { + description + "BBER-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..72" { + description + "FC-NE threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..900" { + description + "ES-FE threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "ESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..900" { + description + "SES-FE threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "SESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..900" { + description + "UAS-FE threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..8850600" { + description + "BBE-FE threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "0..100000" { + description + "BBER-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..72" { + description + "FC-FE threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-ne { + description + "set es-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-ne { + description + "set ses-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-ne { + description + "set uas-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-ne { + description + "set bbe-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-ne { + description + "set fc-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-ne { + description + "set esr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-ne { + description + "set sesr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-ne { + description + "set bber-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-fe { + description + "set bbe-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-fe { + description + "set fc-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-fe { + description + "set esr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-fe { + description + "set sesr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-fe { + description + "set bber-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + container tcms { + description + "configure tcm performance monitoring"; + list tcm { + key "channel-number"; + description + "configure tcm performance monitoring"; + leaf channel-number { + type uint32 { + range "1..6" { + description + " Channel Number"; + } + } + description + "configure tcm performance monitoring"; + } + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-ne { + type uint32 { + range "0..900" { + description + "ES-NE threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "ESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..900" { + description + "SES-NE threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "SESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..900" { + description + "UAS-NE threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..8850600" { + description + "BBE-NE threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "0..100000" { + description + "BBER-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..72" { + description + "FC-NE threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..900" { + description + "ES-FE threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "ESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..900" { + description + "SES-FE threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "SESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..900" { + description + "UAS-FE threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..8850600" { + description + "BBE-FE threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "0..100000" { + description + "BBER-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..72" { + description + "FC-FE threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-fe { + description + "set bbe-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-fe { + description + "set fc-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-fe { + description + "set esr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-fe { + description + "set sesr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-fe { + description + "set bber-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-ne { + description + "set es-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-ne { + description + "set ses-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-ne { + description + "set uas-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-ne { + description + "set bbe-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-ne { + description + "set fc-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-ne { + description + "set esr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-ne { + description + "set sesr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-ne { + description + "set bber-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + } + } + container optics { + description + "Configure optics performance monitoring"; + container threshold { + description + "Configure threshold on optics parameters"; + container lbc { + description + "set lbc threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "lbc min threshold (mA)"; + } + } + description + "set lbc min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "lbc max threshold (mA)"; + } + } + description + "set lbc max threshold"; + } + } + container opt { + description + "set opt threshold in uW"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "opt min threshold (uW) "; + } + } + description + "set opt min threshold in uW"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "opt max threshold (uW) "; + } + } + description + "set opt max threshold in uW"; + } + } + container opr { + description + "set opr threshold in uW"; + leaf max { + type uint32 { + range "1..4294967294" { + description + "opr max threshold (uW) "; + } + } + description + "set opr max threshold in uW"; + } + leaf min { + type uint32 { + range "1..4294967294" { + description + "opr min threshold (uW) "; + } + } + description + " set opr min threshold in uW"; + } + } + container dgd { + description + "set differential group delay threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "differential group delay min threshold (1/100th of ps)"; + } + } + description + "set differential group delay min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "differential delay group max threshold (1/100th of ps)"; + } + } + description + "set differential group delay max threshold"; + } + } + container pmd { + description + "set polarization mode dispersion threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "polarization mode dispersion min threshold (ps^2)"; + } + } + description + "set polarization mode dispersion min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "polarization mode dispersion max threshold (ps^2)"; + } + } + description + "set polarization mode dispersion max threshold"; + } + } + container osnr { + description + "set optical signal to noise ratio threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "optical signal to noise ratio min threshold (1/100th of dB)"; + } + } + description + "set optical signal to noise ratio min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "optical signal to noise ratio max threshold (1/100th of dB)"; + } + } + description + "set optical siganl to noise max threshold"; + } + } + container pdl { + description + "set polarization dependent loss threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "polarization dependent loss min threshold (1/100th of dB)"; + } + } + description + "set polarization dependent loss min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "polarization dependent loss max threshold (1/100th of dB)"; + } + } + description + "set polarization dependent loss max threshold"; + } + } + container pcr { + description + "set polarization change rate threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "polarization change rate min threshold (rad/s)"; + } + } + description + "set polarization change rate min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "polarization change rate max threshold (rad/s)"; + } + } + description + "set polarization change rate max threshold"; + } + } + container pn { + description + "set phase noise threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "phase noise min threshold (dB)"; + } + } + description + "set phase noise min threshold"; + } + leaf max { + type uint32 { + range "1..4294967290" { + description + "phase noise max threshold (dB)"; + } + } + description + "set phase noise max threshold"; + } + } + container cd { + description + "set chromatic dispersion threshold"; + leaf min { + type union { + type int32 { + range "-70000..70000" { + description + "chromatic dispersion min threshold (ps/nm)"; + } + } + type int32 { + range "-350000..350000" { + description + "chromatic dispersion min threshold (ps/nm)"; + } + } + } + description + "set chromatic dispersion min threshold"; + } + leaf max { + type union { + type int32 { + range "-70000..70000" { + description + "chromatic dispersion max threshold (ps/nm)"; + } + } + type int32 { + range "-350000..350000" { + description + "chromatic dispersion max threshold (ps/nm)"; + } + } + } + description + "set chromatic dispersion max threshold"; + } + } + container opt-dbm { + description + "set opt threshold in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "Set opt min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opt max threshold in dbm"; + } + } + container opr-dbm { + description + "set opr threshold value in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opr min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opr max threshold in dbm"; + } + } + container lbc-pc { + description + "set lbc % threshold"; + leaf min { + type uint32 { + range "0..1000" { + description + "lbc min threshold (in units of 0.1%)"; + } + } + description + "set lbc % min threshold"; + } + leaf max { + type uint32 { + range "0..1000" { + description + "lbc max threshold (in units of 0.1%)"; + } + } + description + "set lbc % max threshold"; + } + } + container sopmd { + description + "set second order polarization mode dispersion threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "polarization mode dispersion min threshold (in units of 0.01 ps^2)"; + } + } + description + "set polarization mode dispersion min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "polarization mode dispersion max threshold ( in units of 0.01 ps^2)"; + } + } + description + "set polarization mode dispersion max threshold"; + } + } + container rx-sig-pow { + description + "set rx sig power threshold in uW"; + leaf min { + type uint32 { + range "1..4294967290" { + description + " rx sig power threshold in uW"; + } + } + description + "rx sig power min threshold in uW "; + } + leaf max { + type uint32 { + range "1..4294967290" { + description + "rx sig power max threshold in uW"; + } + } + description + "set rx sig power max threshold in uW"; + } + } + container snr { + description + "set SNR threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR min threshold"; + } + } + description + "set SNR min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR max threshold "; + } + } + description + "set SNR max threshold "; + } + } + container snr-ax { + description + "set SNR AX threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR AX min threshold"; + } + } + description + "set SNR AX min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR AX max threshold "; + } + } + description + "set SNR AX max threshold "; + } + } + container snr-bx { + description + "set SNR BX threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR BX min threshold"; + } + } + description + "set SNR BX min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR BX max threshold "; + } + } + description + "set SNR BX max threshold "; + } + } + container snr-ay { + description + "set SNR AY threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR AY min threshold"; + } + } + description + "set SNR AY min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR AY max threshold "; + } + } + description + "set SNR AY max threshold "; + } + } + container snr-by { + description + "set SNR BY threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR BY min threshold"; + } + } + description + "set SNR BY min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR BY max threshold "; + } + } + description + "set SNR BY max threshold "; + } + } + container rx-sig-pow-dbm { + description + "set rx-sig-pow threshold in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set rx-sig-pow min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set rx-sig-pow max threshold in dbm"; + } + } + container low-freq-off { + description + "set low signal freq offset threshold in Mhz"; + leaf min { + type int32 { + range "-1500..1500" { + description + "low signal freq offset min threshold in Mhz"; + } + } + description + "set low signal freq offset min threshold in Mhz"; + } + leaf max { + type int32 { + range "-1500..1500" { + description + "low signal freq offset max threshold in Mhz"; + } + } + description + "set low signal freq offset max threshold in Mhz"; + } + } + container sop-s1 { + description + "set SOP S1 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S1 threshold "; + } + } + description + "set SOP S1 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S1 max threshold "; + } + } + description + "set SOP S1 max threshold "; + } + } + container sop-s2 { + description + "set SOP S2 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S2 threshold "; + } + } + description + "set SOP S2 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S2 max threshold "; + } + } + description + "set SOP S2 max threshold "; + } + } + container sop-s3 { + description + "set SOP S3 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S3 threshold "; + } + } + description + "set SOP S3 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S3 max threshold "; + } + } + description + "set SOP S3 max threshold "; + } + } + } + container report { + description + "set optics TCA reporting status"; + container lbc { + description + "set lbc TCA reporting status"; + container min-tca { + description + "set lbc min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set lbc max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container opt { + description + "set opt TCA reporting status"; + container min-tca { + description + "set opt min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set opt max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container opr { + description + "set opr TCA reporting status"; + container min-tca { + description + "set opr min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set opr max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container cd { + description + "set chromatic dispersion TCA reporting status"; + container min-tca { + description + "set chromatic dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set chromatic dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container dgd { + description + "set differential group delay TCA reporting status"; + container min-tca { + description + "set differentail group delay min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set differential group delay max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pmd { + description + "set polarization mode dispersion TCA reporting status"; + container min-tca { + description + "set polarization mode dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization mode dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container osnr { + description + "set optical signal to noise ratio TCA reporting status"; + container min-tca { + description + "set optical signal to noise ratio min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set optical signal to noise ratio max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pdl { + description + "set polarization dependent loss TCA reporting status"; + container min-tca { + description + "set polarization dependent loss min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization dependent loss max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pcr { + description + "set polarization change rate TCA reporting status"; + container min-tca { + description + "set polarization change rate min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization change rate max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pn { + description + "set phase noise TCA reporting status"; + container min-tca { + description + "set phase noise min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set phase noise max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container lbc-pc { + description + "set lbc % TCA reporting status"; + container min-tca { + description + "set lbc min % TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set lbc max % TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sopmd { + description + "set second order polarization mode dispersion TCA reporting status"; + container min-tca { + description + "set polarization mode dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization mode dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container rx-sig-pow { + description + "set rx sig power TCA reporting status"; + container min-tca { + description + "set rx sig power(uW/dBm) min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set rx sig power(uW/dBm) max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container low-freq-off { + description + "set low signal freq offset TCA reporting status"; + container min-tca { + description + "set low signal freq offset min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set low signal freq offset max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr { + description + "set SNR TCA reporting status"; + container min-tca { + description + "set SNR min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-ax { + description + "set SNR-AX TCA reporting status"; + container min-tca { + description + "set SNR-AX min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-AX max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-bx { + description + "set SNR-BX TCA reporting status"; + container min-tca { + description + "set SNR-BX min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-BX max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-ay { + description + "set SNR-AY TCA reporting status"; + container min-tca { + description + "set SNR-AY min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-AY max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-by { + description + "set SNR-BY TCA reporting status"; + container min-tca { + description + "set SNR-BY min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-BY max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s1 { + description + "set SOP-S1 TCA reporting status"; + container min-tca { + description + "set SOP-S1 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S1 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s2 { + description + "set SOP-S2 TCA reporting status"; + container min-tca { + description + "set SOP-S2 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S2 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s3 { + description + "set SOP-S3 TCA reporting status"; + container min-tca { + description + "set SOP-S3 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S3 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container fec { + description + "Configure fec g709 performance monitoring"; + container threshold { + description + "Configure fec threshold"; + leaf ec-bits { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ec-bits threshold "; + } + } + description + "set EC-BITS threshold"; + } + leaf uc-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "uc-words threshold "; + } + } + description + "set UC-WORDS threshold"; + } + container pre-fec-ber { + description + "Set PRE-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber min threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set pre-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber max threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set pre-fec-ber max threshold"; + } + } + container post-fec-ber { + description + "Set POST-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber min threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set post-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber max threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set post-fec-ber max threshold"; + } + } + container q { + description + "set Q threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q max threshold"; + } + } + container q-margin { + description + "set Q margin threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q margin min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q margin min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q margin max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q margin max threshold"; + } + } + container inst-q-margin { + description + "set Instantaneous Q margin threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Instantaneous Q margin min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Instantaneous Q margin min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Instantaneous Q margin max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Instantaneous Q margin max threshold"; + } + } + } + container report { + description + "set fec TCA reporting status"; + container ec-bits { + description + "set ec-bits TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uc-words { + description + "set uc-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container otnsec { + description + "configure otnsec pm parameters"; + container threshold { + description + "configure threshold for otnsec pm parameters"; + leaf in-blocks { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of odu blocks processed"; + } + leaf in-blocks-enc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of encrypted blocks processed"; + } + leaf in-blocks-un-encrypted { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of un-encrypted blocks processed"; + } + leaf in-blocks-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of Authenticated blocks processed"; + } + leaf in-blocks-un-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of unAuthenticated blocks processed"; + } + leaf in-blocks-sequence-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Sequence Errors"; + } + leaf in-blocks-replay-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Replay Errors"; + } + leaf in-blocks-auth-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for blocks which failed authentication check"; + } + leaf in-blocks-zeroed { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Blocks which were zeroed due to some errors"; + } + leaf out-blocks { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total number of ODU blocks processed"; + } + leaf out-blocks-enc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for no. of encrypted blocks processed"; + } + leaf out-blocks-un-encrypted { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for no. of unencrypted blocks processed"; + } + leaf out-blocks-sequence-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for sequence errors"; + } + leaf out-blocks-zeroed { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for blocks that were zeroed due to some errors"; + } + leaf out-blocks-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of Authenticated blocks processed"; + } + leaf out-blocks-un-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of unAuthenticated blocks processed"; + } + } + container report { + description + "Configure TCA report for otnsec parameters"; + container in-blocks { + description + "Set TCA report for Inblocks"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-enc { + description + "Set TCA report for InBlocksEnc"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-un-encrypted { + description + "Set TCA report for InBlocksUnEncrypted"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-protected { + description + "Set TCA report for InBlocksProtected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-un-portected { + description + "Set TCA report for InBlocksUnPortected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-sequence-errors { + description + "Set TCA report for InBlocksSequenceErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-replay-errors { + description + "Set TCA report for InBlocksReplayErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-auth-errors { + description + "Set TCA report for InBlocksAuthErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-zeroed { + description + "Set TCA report for InBlocksZeroed"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks { + description + "Set TCA report for OutBlocks"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-enc { + description + "Set TCA report for OutBlocksEnc"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-un-encrypted { + description + "Set TCA report for OutBlocksUnEncrypted"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-sequence-errors { + description + "Set TCA report for OutBlocksSequenceErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-zeroed { + description + "Set TCA report for OutBlocksZeroed"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-protected { + description + "Set TCA report for OutBlocksProtected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-un-portected { + description + "Set TCA report for OutBlocksUnPortected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container gfp { + description + "Configure gfp performance monitoring"; + container threshold { + description + "Configure gfp threshold"; + leaf rx-bit-err { + type uint32 { + range "1..4294967295" { + description + "RX-BIT-ERR threshold"; + } + } + description + "set RX-BIT-ERR threshold"; + } + leaf rx-inv-type { + type uint32 { + range "1..4294967295" { + description + "RX-INV-TYP threshold"; + } + } + description + "set RX-INV-TYP threshold"; + } + leaf rx-crc-err { + type uint32 { + range "1..4294967295" { + description + "RX-CRC threshold"; + } + } + description + "set RX-CRC threshold"; + } + leaf rx-lfd-stats { + type uint32 { + range "1..4294967295" { + description + "RX-LFD threshold"; + } + } + description + "set RX-LFD threshold"; + } + leaf rx-csf-stats { + type uint32 { + range "1..4294967295" { + description + "RX-CSF threshold"; + } + } + description + "set RX-CSF threshold"; + } + } + container report { + description + "set gfp TCA reporting status"; + container rx-bit-err { + description + "set rx-bit-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-inv-type { + description + "set rx-inv-type TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-crc-err { + description + "set rx-crc-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-lfd-stats { + description + "set rx-lfd-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-csf-stats { + description + "set rx-csf-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container prbs { + description + "Configure prbs performance monitoring"; + container threshold { + description + "Configure prbs threshold"; + leaf ebc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ebc threshold <1-18446744073709551615>"; + } + } + description + "set EBC threshold"; + } + leaf found-count { + type xr:Cisco-ios-xr-string { + length "1..10" { + description + "found-count threshold <1-4294967295>"; + } + } + description + "set FOUND-COUNT threshold"; + } + leaf lost-count { + type xr:Cisco-ios-xr-string { + length "1..10" { + description + "lost-count threshold <1-4294967295>"; + } + } + description + "set LOST-COUNT threshold"; + } + } + container report { + description + "set prbs TCA reporting status"; + container ebc { + description + "set ebc TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container found-count { + description + "set found-count TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container lost-count { + description + "set lost-count TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hour { + if-feature "optics_cli_supp_check"; + description + "Configure pm parameters of 24 hour interval"; + container otn { + description + "configure otn g709 performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-pm-ne { + type uint32 { + range "0..86400" { + description + "es-pm threshold (seconds)"; + } + } + description + "set ES-PM threshold"; + } + leaf es-sm-ne { + type uint32 { + range "0..86400" { + description + "es-pm threshold (seconds)"; + } + } + description + "set ES-SM threshold"; + } + leaf esr-pm-ne { + type uint32 { + range "0..100000" { + description + "esr-pm threshold"; + } + } + description + "set ESR-PM threshold"; + } + leaf esr-sm-ne { + type uint32 { + range "0..100000" { + description + "esr-sm threshold"; + } + } + description + "set ESR-SM threshold"; + } + leaf ses-pm-ne { + type uint32 { + range "0..86400" { + description + "ses-pm threshold (seconds)"; + } + } + description + "set SES-PM threshold"; + } + leaf ses-sm-ne { + type uint32 { + range "0..86400" { + description + "ses-sm threshold (seconds)"; + } + } + description + "set SES-SM threshold"; + } + leaf sesr-pm-ne { + type uint32 { + range "0..100000" { + description + "sesr-pm threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf sesr-sm-ne { + type uint32 { + range "0..100000" { + description + "sesr-sm threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf uas-pm-ne { + type uint32 { + range "0..86400" { + description + "uas-pm threshold (seconds)"; + } + } + description + "set UAS-PM threshold"; + } + leaf uas-sm-ne { + type uint32 { + range "0..86400" { + description + "uas-sm threshold (seconds)"; + } + } + description + "set UAS-SM threshold"; + } + leaf bbe-pm-ne { + type uint32 { + range "0..849657600" { + description + "bbe-pm threshold"; + } + } + description + "set BBE-PM threshold"; + } + leaf bbe-sm-ne { + type uint32 { + range "0..849657600" { + description + "bbe-sm threshold"; + } + } + description + "set BBE-SM threshold"; + } + leaf bber-pm-ne { + type uint32 { + range "0..100000" { + description + "bber-pm threshold"; + } + } + description + "set BBER-PM threshold"; + } + leaf bber-sm-ne { + type uint32 { + range "0..100000" { + description + "bber-sm threshold"; + } + } + description + "set BBER-SM threshold"; + } + leaf fc-pm-ne { + type uint32 { + range "0..6912" { + description + "fc-pm threshold"; + } + } + description + "set FC-PM threshold"; + } + leaf fc-sm-ne { + type uint32 { + range "0..6912" { + description + "fc-pm threshold"; + } + } + description + "set FC-SM threshold"; + } + leaf es-pm-fe { + type uint32 { + range "0..86400" { + description + "es-pm threshold (seconds)"; + } + } + description + "set ES-PM threshold"; + } + leaf es-sm-fe { + type uint32 { + range "0..86400" { + description + "es-pm threshold (seconds)"; + } + } + description + "set ES-SM threshold"; + } + leaf esr-pm-fe { + type uint32 { + range "0..100000" { + description + "esr-pm threshold"; + } + } + description + "set ESR-PM threshold"; + } + leaf esr-sm-fe { + type uint32 { + range "0..100000" { + description + "esr-sm threshold"; + } + } + description + "set ESR-SM threshold"; + } + leaf ses-pm-fe { + type uint32 { + range "0..86400" { + description + "ses-pm threshold (seconds)"; + } + } + description + "set SES-PM threshold"; + } + leaf ses-sm-fe { + type uint32 { + range "0..86400" { + description + "ses-sm threshold (seconds)"; + } + } + description + "set SES-SM threshold"; + } + leaf sesr-pm-fe { + type uint32 { + range "0..100000" { + description + "sesr-pm threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf sesr-sm-fe { + type uint32 { + range "0..100000" { + description + "sesr-sm threshold"; + } + } + description + "set SESR-PM threshold"; + } + leaf uas-pm-fe { + type uint32 { + range "0..86400" { + description + "uas-pm threshold (seconds)"; + } + } + description + "set UAS-PM threshold"; + } + leaf uas-sm-fe { + type uint32 { + range "0..86400" { + description + "uas-sm threshold (seconds)"; + } + } + description + "set UAS-SM threshold"; + } + leaf bbe-pm-fe { + type uint32 { + range "0..849657600" { + description + "bbe-pm threshold"; + } + } + description + "set BBE-PM threshold"; + } + leaf bbe-sm-fe { + type uint32 { + range "0..849657600" { + description + "bbe-sm threshold"; + } + } + description + "set BBE-SM threshold"; + } + leaf bber-pm-fe { + type uint32 { + range "0..100000" { + description + "bber-pm threshold"; + } + } + description + "set BBER-PM threshold"; + } + leaf bber-sm-fe { + type uint32 { + range "0..100000" { + description + "bber-sm threshold"; + } + } + description + "set BBER-SM threshold"; + } + leaf fc-pm-fe { + type uint32 { + range "0..6912" { + description + "fc-pm threshold"; + } + } + description + "set FC-PM threshold"; + } + leaf fc-sm-fe { + type uint32 { + range "0..6912" { + description + "fc-pm threshold"; + } + } + description + "set FC-SM threshold"; + } + leaf es-ne { + type uint32 { + range "0..86400" { + description + "es-ne threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "esr-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..86400" { + description + "ses-ne threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "sesr-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..86400" { + description + "uas-ne threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..849657600" { + description + "bbe-ne threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "0..100000" { + description + "bber-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..6912" { + description + "fc-ne threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..86400" { + description + "es-fe threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "esr-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..86400" { + description + "ses-fe threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "sesr-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..86400" { + description + "uas-fe threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..849657600" { + description + "bbe-fe threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "0..100000" { + description + "bber-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..6912" { + description + "fc-fe threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-sm-ne { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-sm-ne { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-sm-ne { + description + "set uas-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-sm-ne { + description + "set bbe-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-sm-ne { + description + "set fc-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-sm-ne { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-sm-ne { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-sm-ne { + description + "set bber-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-pm-ne { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-pm-ne { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-pm-ne { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-pm-ne { + description + "set bbe-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-pm-ne { + description + "set fc-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-pm-ne { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-pm-ne { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-pm-ne { + description + "set bber-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-sm-fe { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-sm-fe { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-sm-fe { + description + "set uas-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-sm-fe { + description + "set bbe-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-sm-fe { + description + "set fc-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-sm-fe { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-sm-fe { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-sm-fe { + description + "set bber-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-pm-fe { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-pm-fe { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-pm-fe { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-pm-fe { + description + "set bbe-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-pm-fe { + description + "set fc-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-pm-fe { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-pm-fe { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-pm-fe { + description + "set bber-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pathmonitor { + description + "configure otn g709 performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-ne { + type uint32 { + range "0..86400" { + description + "es-pm threshold (seconds)"; + } + } + description + "set ES-PM threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "esr-pm threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-PM threshold"; + } + leaf ses-ne { + type uint32 { + range "0..86400" { + description + "ses-pm threshold (seconds)"; + } + } + description + "set SES-PM threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "sesr-pm threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-PM threshold"; + } + leaf uas-ne { + type uint32 { + range "0..86400" { + description + "uas-pm threshold (seconds)"; + } + } + description + "set UAS-PM threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..849657600" { + description + "bbe-pm threshold"; + } + } + description + "set BBE-PM threshold"; + } + leaf bber-ne { + type uint32 { + range "0..100000" { + description + "bber-pm threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-PM threshold"; + } + leaf fc-ne { + type uint32 { + range "0..6912" { + description + "fc-pm threshold"; + } + } + description + "set FC-PM threshold"; + } + leaf es-fe { + type uint32 { + range "0..86400" { + description + "es-pm threshold (seconds)"; + } + } + description + "set ES-PM threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "esr-pm threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-PM threshold"; + } + leaf ses-fe { + type uint32 { + range "0..86400" { + description + "ses-pm threshold (seconds)"; + } + } + description + "set SES-PM threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "sesr-pm threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-PM threshold"; + } + leaf uas-fe { + type uint32 { + range "0..86400" { + description + "uas-pm threshold (seconds)"; + } + } + description + "set UAS-PM threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..849657600" { + description + "bbe-pm threshold"; + } + } + description + "set BBE-PM threshold"; + } + leaf bber-fe { + type uint32 { + range "0..100000" { + description + "bber-pm threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-PM threshold"; + } + leaf fc-fe { + type uint32 { + range "0..6912" { + description + "fc-pm threshold"; + } + } + description + "set FC-PM threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-ne { + description + "set es-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-ne { + description + "set ses-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-ne { + description + "set uas-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-ne { + description + "set bbe-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-ne { + description + "set fc-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-ne { + description + "set esr-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-ne { + description + "set sesr-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-ne { + description + "set bber-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-fe { + description + "set es-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-fe { + description + "set bbe-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-fe { + description + "set fc-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-fe { + description + "set esr-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-fe { + description + "set sesr-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-fe { + description + "set bber-pm TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + container tcms { + description + "configure tcm performance monitoring"; + list tcm { + key "channel-number"; + description + "configure tcm performance monitoring"; + leaf channel-number { + type uint32 { + range "1..6" { + description + " Channel Number"; + } + } + description + "configure tcm performance monitoring"; + } + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-ne { + type uint32 { + range "0..86400" { + description + "es-ne threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "esr-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..86400" { + description + "ses-ne threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "sesr-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..86400" { + description + "uas-ne threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..849657600" { + description + "bbe-ne threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "0..100000" { + description + "bber-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..6912" { + description + "fc-ne threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..86400" { + description + "es-fe threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "esr-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..86400" { + description + "ses-fe threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "sesr-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..86400" { + description + "uas-fe threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..849657600" { + description + "bbe-fe threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "0..100000" { + description + "bber-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..6912" { + description + "fc-fe threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-fe { + description + "set bbe-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-fe { + description + "set fc-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-fe { + description + "set esr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-fe { + description + "set sesr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-fe { + description + "set bber-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-ne { + description + "set es-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-ne { + description + "set ses-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-ne { + description + "set uas-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-ne { + description + "set bbe-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-ne { + description + "set fc-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-ne { + description + "set esr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-ne { + description + "set sesr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-ne { + description + "set bber-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + } + } + container optics { + description + "Configure optics performance monitoring"; + container threshold { + description + "Configure threshold on optics parameters"; + container lbc { + description + "set lbc threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "lbc min threshold (mA)"; + } + } + description + "set lbc min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "lbc max threshold (mA)"; + } + } + description + "set lbc max threshold"; + } + } + container opt { + description + "set opt threshold in uW"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "opt min threshold (uW) "; + } + } + description + "set opt min threshold in uW"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "opt max threshold (uW) "; + } + } + description + "set opt max threshold in uW"; + } + } + container opr { + description + "set opr threshold in uW"; + leaf max { + type uint32 { + range "1..4294967295" { + description + "opr max threshold (uW)"; + } + } + description + "set opr max threshold in uW"; + } + leaf min { + type uint32 { + range "1..4294967295" { + description + "opr min threshold (uW)"; + } + } + description + " set opr min threshold in uW"; + } + } + container dgd { + description + "set differential group delay threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "differential group delay min threshold (1/100th of ps)"; + } + } + description + "set differential group delay min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "differential delay group max threshold (1/100th of ps)"; + } + } + description + "set differential group delay max threshold"; + } + } + container pmd { + description + "set polarization mode dispersion threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "polarization mode dispersion min threshold (ps^2)"; + } + } + description + "set polarization mode dispersion min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "polarization mode dispersion max threshold (ps^2)"; + } + } + description + "set polarization mode dispersion max threshold"; + } + } + container osnr { + description + "set optical signal to noise ratio threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "optical signal to noise ratio min threshold (1/100th of dB)"; + } + } + description + "set optical signal to noise ratio min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "optical signal to noise ratio max threshold (1/100th of dB)"; + } + } + description + "set optical siganl to noise max threshold"; + } + } + container pdl { + description + "set polarization dependent loss threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "polarization dependent loss min threshold (1/100th of dB)"; + } + } + description + "set polarization dependent loss min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "polarization dependent loss max threshold (1/100th of dB)"; + } + } + description + "set polarization dependent loss max threshold"; + } + } + container pcr { + description + "set polarization change rate threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "polarization change rate min threshold (rad/s)"; + } + } + description + "set polarization change rate min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "polarization change rate max threshold (rad/s)"; + } + } + description + "set polarization change rate max threshold"; + } + } + container pn { + description + "set phase noise threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "phase noise min threshold (dB)"; + } + } + description + "set phase noise min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "phase noise max threshold in (dB)"; + } + } + description + "set phase noise max threshold"; + } + } + container cd { + description + "set chromatic dispersion threshold"; + leaf min { + type union { + type int32 { + range "-70000..70000" { + description + "chromatic dispersion min threshold (ps/nm)"; + } + } + type int32 { + range "-350000..350000" { + description + "chromatic dispersion min threshold (ps/nm)"; + } + } + } + description + "set chromatic dispersion min threshold"; + } + leaf max { + type union { + type int32 { + range "-70000..70000" { + description + "chromatic dispersion max threshold (ps/nm)"; + } + } + type int32 { + range "-350000..350000" { + description + "chromatic dispersion max threshold (ps/nm)"; + } + } + } + description + "set chromatic dispersion max threshold"; + } + } + container opt-dbm { + description + "set opt min threshold value in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "Set opt min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opt max threshold"; + } + } + container opr-dbm { + description + "set opr min threshold value in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "Set opr min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opr max threshold in dbm"; + } + } + container lbc-pc { + description + "set lbc % threshold"; + leaf min { + type uint32 { + range "0..1000" { + description + "lbc min threshold (in units of 0.1%)"; + } + } + description + "set lbc % min threshold"; + } + leaf max { + type uint32 { + range "0..1000" { + description + "lbc max threshold (in units of 0.1%)"; + } + } + description + "set lbc % max threshold"; + } + } + container sopmd { + description + "set second order polarization mode dispersion threshold"; + leaf min { + type uint32 { + range "1..4294967295" { + description + "polarization mode dispersion min threshold (in units of 0.01 ps^2)"; + } + } + description + "set polarization mode dispersion min threshold"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "polarization mode dispersion max threshold (in units of 0.01 ps^2)"; + } + } + description + "set polarization mode dispersion max threshold"; + } + } + container rx-sig-pow { + description + "set rx sig power threshold in uW"; + leaf min { + type uint32 { + range "1..4294967295" { + description + " rx sig power threshold in uW"; + } + } + description + "rx sig power min threshold in uW "; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "rx sig power max threshold in uW"; + } + } + description + "set rx sig power max threshold in uW"; + } + } + container snr { + description + "set SNR threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR min threshold"; + } + } + description + "set SNR min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR max threshold "; + } + } + description + "set SNR max threshold "; + } + } + container snr-ax { + description + "set SNR AX threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR AX min threshold"; + } + } + description + "set SNR AX min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR AX max threshold "; + } + } + description + "set SNR AX max threshold "; + } + } + container snr-bx { + description + "set SNR BX threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR BX min threshold"; + } + } + description + "set SNR BX min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR BX max threshold "; + } + } + description + "set SNR BX max threshold "; + } + } + container snr-ay { + description + "set SNR AY threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR AY min threshold"; + } + } + description + "set SNR AY min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR AY max threshold "; + } + } + description + "set SNR AY max threshold "; + } + } + container snr-by { + description + "set SNR BY threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR BY min threshold"; + } + } + description + "set SNR BY min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR BY max threshold "; + } + } + description + "set SNR BY max threshold "; + } + } + container rx-sig-pow-dbm { + description + "set rx-sig-pow threshold in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set rx-sig-pow min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set rx-sig-pow max threshold in dbm"; + } + } + container low-freq-off { + description + "set low signal freq offset threshold in Mhz"; + leaf min { + type int32 { + range "-1500..1500" { + description + "low signal freq offset min threshold in Mhz"; + } + } + description + "set low signal freq offset min threshold in Mhz"; + } + leaf max { + type int32 { + range "-1500..1500" { + description + "low signal freq offset max threshold in Mhz"; + } + } + description + "set low signal freq offset max threshold in Mhz"; + } + } + container sop-s1 { + description + "set SOP S1 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S1 threshold "; + } + } + description + "set SOP S1 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S1 max threshold "; + } + } + description + "set SOP S1 max threshold "; + } + } + container sop-s2 { + description + "set SOP S2 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S2 threshold "; + } + } + description + "set SOP S2 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S2 max threshold "; + } + } + description + "set SOP S2 max threshold "; + } + } + container sop-s3 { + description + "set SOP S3 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S3 threshold "; + } + } + description + "set SOP S3 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S3 max threshold "; + } + } + description + "set SOP S3 max threshold "; + } + } + } + container report { + description + "set optics TCA reporting status"; + container lbc { + description + "set lbc TCA reporting status"; + container min-tca { + description + "set lbc min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set lbc max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container opt { + description + "set opt TCA reporting status"; + container min-tca { + description + "set opt min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set opt max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container opr { + description + "set opr TCA reporting status"; + container min-tca { + description + "set opr min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set opr max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container cd { + description + "set chromatic dispersion TCA reporting status"; + container min-tca { + description + "set chromatic dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set chromatic dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container dgd { + description + "set differential group delay TCA reporting status"; + container min-tca { + description + "set differentail group delay min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set differential group delay max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pmd { + description + "set polarization mode dispersion TCA reporting status"; + container min-tca { + description + "set polarization mode dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization mode dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sopmd { + description + "set second order polarization mode dispersion TCA reporting status"; + container min-tca { + description + "set second order polarization mode dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization mode dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container osnr { + description + "set optical signal to noise ratio TCA reporting status"; + container min-tca { + description + "set optical signal to noise ratio min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set optical signal to noise ratio max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pdl { + description + "set polarization dependent loss TCA reporting status"; + container min-tca { + description + "set polarization dependent loss min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization dependent loss max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pcr { + description + "set polarization state change TCA reporting status"; + container min-tca { + description + "set polarization state change min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization state change max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pn { + description + "set phase noise TCA reporting status"; + container min-tca { + description + "set phase noise min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set phase noise max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container lbc-pc { + description + "set lbc % TCA reporting status"; + container min-tca { + description + "set lbc min % TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set lbc max % TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container rx-sig-pow { + description + "set rx sig power TCA reporting status"; + container min-tca { + description + "set rx sig power(uW/dBm) min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set rx sig power(uW/dBm) max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container low-freq-off { + description + "set low signal freq offset TCA reporting status"; + container min-tca { + description + "set low signal freq offset min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set low signal freq offset max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr { + description + "set SNR TCA reporting status"; + container min-tca { + description + "set SNR min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-ax { + description + "set SNR-AX TCA reporting status"; + container min-tca { + description + "set SNR-AX min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-AX max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-bx { + description + "set SNR-BX TCA reporting status"; + container min-tca { + description + "set SNR-BX min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-BX max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-ay { + description + "set SNR-AY TCA reporting status"; + container min-tca { + description + "set SNR-AY min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-AY max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-by { + description + "set SNR-BY TCA reporting status"; + container min-tca { + description + "set SNR-BY min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-BY max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s1 { + description + "set SOP-S1 TCA reporting status"; + container min-tca { + description + "set SOP-S1 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S1 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s2 { + description + "set SOP-S2 TCA reporting status"; + container min-tca { + description + "set SOP-S2 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S2 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s3 { + description + "set SOP-S3 TCA reporting status"; + container min-tca { + description + "set SOP-S3 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S3 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container fec { + description + "Configure fec g709 performance monitoring"; + container threshold { + description + "Configure fec threshold"; + leaf ec-bits { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ec-bits threshold "; + } + } + description + "set EC-BITS threshold"; + } + leaf uc-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "uc-words threshold "; + } + } + description + "set UC-WORDS threshold"; + } + container pre-fec-ber { + description + "Set PRE-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber min threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set pre-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber max threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set pre-fec-ber max threshold"; + } + } + container post-fec-ber { + description + "Set POST-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber min threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set post-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber max threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set post-fec-ber max threshold"; + } + } + container q { + description + "set Q threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q max threshold"; + } + } + container q-margin { + description + "set Q margin threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q margin min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q margin min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q margin max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q margin max threshold"; + } + } + container inst-q-margin { + description + "set Instantaneous Q margin threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Instantaneous Q margin min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Instantaneous Q margin min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Instantaneous Q margin max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Instantaneous Q margin max threshold"; + } + } + } + container report { + description + "set fec TCA reporting status"; + container ec-bits { + description + "set ec-bits TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uc-words { + description + "set uc-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container otnsec { + description + "configure otnsec pm parameters"; + container threshold { + description + "configure threshold for otnsec pm parameters"; + leaf in-blocks { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of odu blocks processed"; + } + leaf in-blocks-enc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of encrypted blocks processed"; + } + leaf in-blocks-un-encrypted { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of un-encrypted blocks processed"; + } + leaf in-blocks-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of Authenticated blocks processed"; + } + leaf in-blocks-un-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of unAuthenticated blocks processed"; + } + leaf in-blocks-sequence-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Sequence Errors"; + } + leaf in-blocks-replay-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Replay Errors"; + } + leaf in-blocks-auth-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for blocks which failed authentication check"; + } + leaf in-blocks-zeroed { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Blocks which were zeroed due to some errors"; + } + leaf out-blocks { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total number of ODU blocks processed"; + } + leaf out-blocks-enc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for no. of encrypted blocks processed"; + } + leaf out-blocks-un-encrypted { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for no. of unencrypted blocks processed"; + } + leaf out-blocks-sequence-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for sequence errors"; + } + leaf out-blocks-zeroed { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for blocks that were zeroed due to some errors"; + } + leaf out-blocks-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of Authenticated blocks processed"; + } + leaf out-blocks-un-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of unAuthenticated blocks processed"; + } + } + container report { + description + "Configure TCA report for otnsec parameters"; + container in-blocks { + description + "Set TCA report for Inblocks"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-enc { + description + "Set TCA report for InBlocksEnc"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-un-encrypted { + description + "Set TCA report for InBlocksUnEncrypted"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-protected { + description + "Set TCA report for InBlocksProtected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-un-portected { + description + "Set TCA report for InBlocksUnPortected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-sequence-errors { + description + "Set TCA report for InBlocksSequenceErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-replay-errors { + description + "Set TCA report for InBlocksReplayErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-auth-errors { + description + "Set TCA report for InBlocksAuthErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-zeroed { + description + "Set TCA report for InBlocksZeroed"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks { + description + "Set TCA report for OutBlocks"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-enc { + description + "Set TCA report for OutBlocksEnc"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-un-encrypted { + description + "Set TCA report for OutBlocksUnEncrypted"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-sequence-errors { + description + "Set TCA report for OutBlocksSequenceErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-zeroed { + description + "Set TCA report for OutBlocksZeroed"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-protected { + description + "Set TCA report for OutBlocksProtected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-un-portected { + description + "Set TCA report for OutBlocksUnPortected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container gfp { + description + "Configure gfp performance monitoring"; + container threshold { + description + "Configure gfp threshold"; + leaf rx-bit-err { + type uint32 { + range "1..4294967295" { + description + "RX-BIT-ERR threshold"; + } + } + description + "set RX-BIT-ERR threshold"; + } + leaf rx-inv-type { + type uint32 { + range "1..4294967295" { + description + "RX-INV-TYP threshold"; + } + } + description + "set RX-INV-TYP threshold"; + } + leaf rx-crc-err { + type uint32 { + range "1..4294967295" { + description + "RX-CRC threshold"; + } + } + description + "set RX-CRC threshold"; + } + leaf rx-lfd-stats { + type uint32 { + range "1..4294967295" { + description + "RX-LFD-STAT threshold"; + } + } + description + "set RX-LFD threshold"; + } + leaf rx-csf-stats { + type uint32 { + range "1..4294967295" { + description + "RX-CSF threshold"; + } + } + description + "set RX-CSF threshold"; + } + } + container report { + description + "set gfp TCA reporting status"; + container rx-bit-err { + description + "set rx-bit-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-inv-type { + description + "set rx-inv-type TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-crc-err { + description + "set rx-crc-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-lfd-stats { + description + "set rx-lfd-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-csf-stats { + description + "set rx-csf-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container prbs { + description + "Configure prbs performance monitoring"; + container threshold { + description + "Configure prbs threshold"; + leaf ebc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ebc threshold <1-18446744073709551615>"; + } + } + description + "set EBC threshold"; + } + leaf found-count { + type xr:Cisco-ios-xr-string { + length "1..10" { + description + "found-count threshold <1-4294967295>"; + } + } + description + "set FOUND-COUNT threshold"; + } + leaf lost-count { + type xr:Cisco-ios-xr-string { + length "1..10" { + description + "lost-count threshold <1-4294967295>"; + } + } + description + "set LOST-COUNT threshold"; + } + } + container report { + description + "set prbs TCA reporting status"; + container ebc { + description + "set ebc TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container found-count { + description + "set found-count TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container lost-count { + description + "set lost-count TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-30-sec { + if-feature "optics_cli_supp_check"; + description + "Configure 30-sec interval parameter"; + container otnsec { + description + "configure otnsec pm parameters"; + container threshold { + description + "configure threshold for otnsec pm parameters"; + leaf in-blocks { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of odu blocks processed"; + } + leaf in-blocks-enc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of encrypted blocks processed"; + } + leaf in-blocks-un-encrypted { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of un-encrypted blocks processed"; + } + leaf in-blocks-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of Authenticated blocks processed"; + } + leaf in-blocks-un-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of unAuthenticated blocks processed"; + } + leaf in-blocks-sequence-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Sequence Errors"; + } + leaf in-blocks-replay-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Replay Errors"; + } + leaf in-blocks-auth-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for blocks which failed authentication check"; + } + leaf in-blocks-zeroed { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for Blocks which were zeroed due to some errors"; + } + leaf out-blocks { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total number of ODU blocks processed"; + } + leaf out-blocks-enc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for no. of encrypted blocks processed"; + } + leaf out-blocks-un-encrypted { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for no. of unencrypted blocks processed"; + } + leaf out-blocks-sequence-errors { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for sequence errors"; + } + leaf out-blocks-zeroed { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for blocks that were zeroed due to some errors"; + } + leaf out-blocks-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of Authenticated blocks processed"; + } + leaf out-blocks-un-protected { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "range : <1-18446744073709551615>"; + } + } + description + "Configure threshold for total no. of unAuthenticated blocks processed"; + } + } + container report { + description + "Configure TCA report for otnsec parameters"; + container in-blocks { + description + "Set TCA report for Inblocks"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-enc { + description + "Set TCA report for InBlocksEnc"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-un-encrypted { + description + "Set TCA report for InBlocksUnEncrypted"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-protected { + description + "Set TCA report for InBlocksProtected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-un-portected { + description + "Set TCA report for InBlocksUnPortected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-sequence-errors { + description + "Set TCA report for InBlocksSequenceErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-replay-errors { + description + "Set TCA report for InBlocksReplayErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-auth-errors { + description + "Set TCA report for InBlocksAuthErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container in-blocks-zeroed { + description + "Set TCA report for InBlocksZeroed"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks { + description + "Set TCA report for OutBlocks"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-enc { + description + "Set TCA report for OutBlocksEnc"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-un-encrypted { + description + "Set TCA report for OutBlocksUnEncrypted"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-sequence-errors { + description + "Set TCA report for OutBlocksSequenceErrors"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-zeroed { + description + "Set TCA report for OutBlocksZeroed"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-protected { + description + "Set TCA report for OutBlocksProtected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container out-blocks-un-portected { + description + "Set TCA report for OutBlocksUnPortected"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container otn { + description + "configure otn g709 performance monitoring"; + container pathmonitor { + description + "configure otn g709 performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-ne { + type uint32 { + range "0..30" { + description + "ES-NE threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "ESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..30" { + description + "SES-NE threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "SESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..30" { + description + "UAS-NE threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..8850600" { + description + "BBE-NE threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "0..100000" { + description + "BBER-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..72" { + description + "FC-NE threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..30" { + description + "ES-FE threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "ESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..30" { + description + "SES-FE threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "SESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..30" { + description + "UAS-FE threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..8850600" { + description + "BBE-FE threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "0..100000" { + description + "BBER-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..72" { + description + "FC-FE threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-ne { + description + "set es-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-ne { + description + "set ses-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-ne { + description + "set uas-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-ne { + description + "set bbe-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-ne { + description + "set fc-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-ne { + description + "set esr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-ne { + description + "set sesr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-ne { + description + "set bber-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-fe { + description + "set bbe-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-fe { + description + "set fc-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-fe { + description + "set esr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-fe { + description + "set sesr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-fe { + description + "set bber-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + container tcms { + description + "configure tcm performance monitoring"; + list tcm { + key "channel-number"; + description + "configure tcm performance monitoring"; + leaf channel-number { + type uint32 { + range "1..6" { + description + " Channel Number"; + } + } + description + "configure tcm performance monitoring"; + } + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-ne { + type uint32 { + range "0..30" { + description + "ES-NE threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "ESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..30" { + description + "SES-NE threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "SESR-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..30" { + description + "UAS-NE threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..8850600" { + description + "BBE-NE threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "0..100000" { + description + "BBER-NE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..72" { + description + "FC-NE threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..30" { + description + "ES-FE threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "ESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..30" { + description + "SES-FE threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "SESR-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..30" { + description + "UAS-FE threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..8850600" { + description + "BBE-FE threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "0..100000" { + description + "BBER-FE threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..72" { + description + "FC-FE threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-fe { + description + "set bbe-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-fe { + description + "set fc-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-fe { + description + "set esr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-fe { + description + "set sesr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-fe { + description + "set bber-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-ne { + description + "set es-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-ne { + description + "set ses-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-ne { + description + "set uas-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-ne { + description + "set bbe-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-ne { + description + "set fc-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-ne { + description + "set esr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-ne { + description + "set sesr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-ne { + description + "set bber-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + } + } + } + container threshold { + description + "Configure threshold on otn parameters"; + leaf es-ne { + type uint32 { + range "0..900" { + description + "es-ne threshold (seconds)"; + } + } + description + "set ES-NE threshold"; + } + leaf esr-ne { + type uint32 { + range "0..100000" { + description + "esr-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-NE threshold"; + } + leaf ses-ne { + type uint32 { + range "0..900" { + description + "ses-ne threshold (seconds)"; + } + } + description + "set SES-NE threshold"; + } + leaf sesr-ne { + type uint32 { + range "0..100000" { + description + "sesr-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-NE threshold"; + } + leaf uas-ne { + type uint32 { + range "0..900" { + description + "uas-ne threshold (seconds)"; + } + } + description + "set UAS-NE threshold"; + } + leaf bbe-ne { + type uint32 { + range "0..8850600" { + description + "bbe-ne threshold"; + } + } + description + "set BBE-NE threshold"; + } + leaf bber-ne { + type uint32 { + range "1..100000" { + description + "bber-ne threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-NE threshold"; + } + leaf fc-ne { + type uint32 { + range "0..72" { + description + "fc-ne threshold"; + } + } + description + "set FC-NE threshold"; + } + leaf es-fe { + type uint32 { + range "0..900" { + description + "es-fe threshold (seconds)"; + } + } + description + "set ES-FE threshold"; + } + leaf esr-fe { + type uint32 { + range "0..100000" { + description + "esr-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set ESR-FE threshold"; + } + leaf ses-fe { + type uint32 { + range "0..900" { + description + "ses-fe threshold (seconds)"; + } + } + description + "set SES-FE threshold"; + } + leaf sesr-fe { + type uint32 { + range "0..100000" { + description + "sesr-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set SESR-FE threshold"; + } + leaf uas-fe { + type uint32 { + range "0..900" { + description + "uas-fe threshold (seconds)"; + } + } + description + "set UAS-FE threshold"; + } + leaf bbe-fe { + type uint32 { + range "0..8850600" { + description + "bbe-fe threshold"; + } + } + description + "set BBE-FE threshold"; + } + leaf bber-fe { + type uint32 { + range "1..100000" { + description + "bber-fe threshold[Ratio parameters range(0-1),eg. 75000 corresponds to 0.75]"; + } + } + description + "set BBER-FE threshold"; + } + leaf fc-fe { + type uint32 { + range "0..72" { + description + "fc-fe threshold"; + } + } + description + "set FC-FE threshold"; + } + } + container report { + description + "set otn TCA reporting status"; + container es-ne { + description + "set es-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-ne { + description + "set ses-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-ne { + description + "set uas-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-ne { + description + "set bbe-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-ne { + description + "set fc-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-ne { + description + "set esr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-ne { + description + "set sesr-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-ne { + description + "set bber-ne TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-pm-ne { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-pm-ne { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-pm-ne { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-pm-ne { + description + "set bbe-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-pm-ne { + description + "set fc-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-pm-ne { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-pm-ne { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-pm-ne { + description + "set bber-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-fe { + description + "set es-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container ses-fe { + description + "set ses-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container uas-fe { + description + "set uas-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bbe-fe { + description + "set bbe-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container fc-fe { + description + "set fc-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container esr-fe { + description + "set esr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container sesr-fe { + description + "set sesr-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container bber-fe { + description + "set bber-fe TCA reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TCA reporting"; + } + } + container es-pm-fe { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-pm-fe { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-pm-fe { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-pm-fe { + description + "set bbe-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-pm-fe { + description + "set fc-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-pm-fe { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-pm-fe { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-pm-fe { + description + "set bber-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container gfp { + description + "Configure gfp performance monitoring"; + container threshold { + description + "Configure gfp threshold"; + leaf rx-bit-err { + type uint32 { + range "1..4294967295" { + description + "RX-BIT-ERR threshold"; + } + } + description + "set RX-BIT-ERR threshold"; + } + leaf rx-inv-type { + type uint32 { + range "1..4294967295" { + description + "RX-INV-TYP threshold"; + } + } + description + "set RX-INV-TYP threshold"; + } + leaf rx-crc-err { + type uint32 { + range "1..4294967295" { + description + "RX-CRC threshold"; + } + } + description + "set RX-CRC threshold"; + } + leaf rx-lfd-stats { + type uint32 { + range "1..4294967295" { + description + "RX-LFD threshold"; + } + } + description + "set RX-LFD threshold"; + } + leaf rx-csf-stats { + type uint32 { + range "1..4294967295" { + description + "RX-CSF threshold"; + } + } + description + "set RX-CSF threshold"; + } + } + container report { + description + "set gfp TCA reporting status"; + container rx-bit-err { + description + "set rx-bit-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-inv-type { + description + "set rx-inv-type TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-crc-err { + description + "set rx-crc-err TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-lfd-stats { + description + "set rx-lfd-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container rx-csf-stats { + description + "set rx-csf-stats TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container optics { + description + "Configure optics performance monitoring"; + container threshold { + description + "Configure threshold on optics parameters"; + container lbc { + description + "set lbc threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "lbc min threshold (mA)"; + } + } + description + "set lbc min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "lbc max threshold (mA)"; + } + } + description + "set lbc max threshold"; + } + } + container lbc-pc { + description + "set lbc % threshold"; + leaf min { + type uint32 { + range "0..1000" { + description + "lbc min threshold (in units of 0.1%)"; + } + } + description + "set lbc % min threshold"; + } + leaf max { + type uint32 { + range "0..1000" { + description + "lbc max threshold (in units of 0.1%)"; + } + } + description + "set lbc % max threshold"; + } + } + container opt { + description + "set opt threshold in uW"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "opt min threshold (uW)"; + } + } + description + "set opt min threshold in uW"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "opt max threshold (uW)"; + } + } + description + "set opt max threshold in uW"; + } + } + container opr { + description + "set opr threshold in uW "; + leaf min { + type uint32 { + range "1..4294967294" { + description + "opr min threshold (uW)"; + } + } + description + "set opr min threshold in uW"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "opr max threshold (uW)"; + } + } + description + "set opr max threshold in uW"; + } + } + container dgd { + description + "set differential group delay threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "differential group delay min threshold (1/100th of ps)"; + } + } + description + "set differential group delay min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "differential delay group max threshold (1/100th of ps)"; + } + } + description + "set differential group delay max threshold"; + } + } + container sopmd { + description + "set second order polarization mode dispersion threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "polarization mode dispersion min threshold (in units of 0.01 ps^2)"; + } + } + description + "set polarization mode dispersion min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "polarization mode dispersion max threshold ( in units of 0.01 ps^2)"; + } + } + description + "set polarization mode dispersion max threshold"; + } + } + container osnr { + description + "set optical signal to noise ratio threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "optical signal to noise ratio min threshold (1/100th of dB)"; + } + } + description + "set optical signal to noise ratio min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "optical signal to noise ratio max threshold (1/100th of dB)"; + } + } + description + "set optical siganl to noise max threshold"; + } + } + container pdl { + description + "set polarization dependent loss threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "polarization dependent loss min threshold (1/100th of dB)"; + } + } + description + "set polarization dependent loss min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "polarization dependent loss max threshold (1/100th of dB)"; + } + } + description + "set polarization dependent loss max threshold"; + } + } + container pcr { + description + "set polarization change rate threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "polarization change rate min threshold (in units of 0.01 rad/s)"; + } + } + description + "set polarization change rate min threshold"; + } + leaf max { + type uint32 { + range "1..4294967294" { + description + "polarization change rate max threshold (in units of 0.01 rad/s)"; + } + } + description + "set polarization change rate max threshold"; + } + } + container pn { + description + "set phase noise threshold"; + leaf min { + type uint32 { + range "1..4294967294" { + description + "phase noise min threshold (1/1000 dB)"; + } + } + description + "set phase noise min threshold"; + } + leaf max { + type uint32 { + range "1..4294967290" { + description + "phase noise max threshold (1/1000 dB)"; + } + } + description + "set phase noise max threshold"; + } + } + container rx-sig-pow { + description + "set rx sig power threshold in uW"; + leaf min { + type uint32 { + range "1..4294967290" { + description + " rx sig power threshold in uW"; + } + } + description + "rx sig power min threshold in uW "; + } + leaf max { + type uint32 { + range "1..4294967290" { + description + "rx sig power max threshold in uW"; + } + } + description + "set rx sig power max threshold in uW"; + } + } + container snr { + description + "set SNR threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR min threshold"; + } + } + description + "set SNR min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR max threshold "; + } + } + description + "set SNR max threshold "; + } + } + container snr-ax { + description + "set SNR AX threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR AX min threshold"; + } + } + description + "set SNR AX min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR AX max threshold "; + } + } + description + "set SNR AX max threshold "; + } + } + container snr-bx { + description + "set SNR BX threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR BX min threshold"; + } + } + description + "set SNR BX min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR BX max threshold "; + } + } + description + "set SNR BX max threshold "; + } + } + container snr-ay { + description + "set SNR AY threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR AY min threshold"; + } + } + description + "set SNR AY min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR AY max threshold "; + } + } + description + "set SNR AY max threshold "; + } + } + container snr-by { + description + "set SNR BY threshold"; + leaf min { + type uint32 { + range "1..2147483646" { + description + "SNR BY min threshold"; + } + } + description + "set SNR BY min threshold "; + } + leaf max { + type uint32 { + range "1..2147483646" { + description + "SNR BY max threshold "; + } + } + description + "set SNR BY max threshold "; + } + } + container cd { + description + "set chromatic dispersion threshold"; + leaf min { + type int32 { + range "-350000..350000" { + description + "chromatic dispersion min threshold (ps/nm)"; + } + } + description + "set chromatic dispersion min threshold"; + } + leaf max { + type int32 { + range "-350000..350000" { + description + "chromatic dispersion max threshold (ps/nm)"; + } + } + description + "set chromatic dispersion max threshold"; + } + } + container opt-dbm { + description + "set opt threshold in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opt min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opt max threshold in dbm"; + } + } + container opr-dbm { + description + "set opr threshold in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opr min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set opr max threshold in dbm"; + } + } + container rx-sig-pow-dbm { + description + "set rx-sig-pow threshold in dbm"; + leaf min { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set rx-sig-pow min threshold in dbm"; + } + leaf max { + type int32 { + range "-3000..6633" { + description + "Enter 4 digit value ;Input value 3000 for 30.00dbm"; + } + } + description + "set rx-sig-pow max threshold in dbm"; + } + } + container low-freq-off { + description + "set low signal freq offset threshold in Mhz"; + leaf min { + type int32 { + range "-1500..1500" { + description + "low signal freq offset min threshold in Mhz"; + } + } + description + "set low signal freq offset min threshold in Mhz"; + } + leaf max { + type int32 { + range "-1500..1500" { + description + "low signal freq offset max threshold in Mhz"; + } + } + description + "set low signal freq offset max threshold in Mhz"; + } + } + container sop-s1 { + description + "set SOP S1 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S1 threshold "; + } + } + description + "set SOP S1 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S1 max threshold "; + } + } + description + "set SOP S1 max threshold "; + } + } + container sop-s2 { + description + "set SOP S2 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S2 threshold "; + } + } + description + "set SOP S2 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S2 max threshold "; + } + } + description + "set SOP S2 max threshold "; + } + } + container sop-s3 { + description + "set SOP S3 threshold "; + leaf min { + type int32 { + range "-100..100" { + description + "SOP S3 threshold "; + } + } + description + "set SOP S3 min threshold "; + } + leaf max { + type int32 { + range "-100..100" { + description + "SOP S3 max threshold "; + } + } + description + "set SOP S3 max threshold "; + } + } + } + container report { + description + "set optics TCA reporting status"; + container lbc { + description + "set lbc TCA reporting status"; + container min-tca { + description + "set lbc min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set lbc max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container lbc-pc { + description + "set lbc % TCA reporting status"; + container min-tca { + description + "set lbc min % TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set lbc max % TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container opt { + description + "set opt/opt-dbm TCA reporting status"; + container min-tca { + description + "set opt/opt-dbm min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set opt/opt-dbm max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container opr { + description + "set opr/opr-dbm TCA reporting status"; + container min-tca { + description + "set opr/opr-dbm min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set opr/opr-dbm max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container cd { + description + "set chromatic dispersion TCA reporting status"; + container min-tca { + description + "set chromatic dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set chromatic dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container dgd { + description + "set differential group delay TCA reporting status"; + container min-tca { + description + "set differentail group delay min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set differential group delay max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sopmd { + description + "set second order polarization mode dispersion TCA reporting status"; + container min-tca { + description + "set polarization mode dispersion min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization mode dispersion max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container osnr { + description + "set optical signal to noise ratio TCA reporting status"; + container min-tca { + description + "set optical signal to noise ratio min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set optical signal to noise ratio max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pdl { + description + "set polarization dependent loss TCA reporting status"; + container min-tca { + description + "set polarization dependent loss min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization dependent loss max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pcr { + description + "set polarization change rate TCA reporting status"; + container min-tca { + description + "set polarization change rate min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set polarization change rate max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container pn { + description + "set phase noise TCA reporting status"; + container min-tca { + description + "set phase noise min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set phase noise max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container rx-sig-pow { + description + "set rx sig power TCA reporting status"; + container min-tca { + description + "set rx sig power(uW/dBm) min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set rx sig power(uW/dBm) max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container low-freq-off { + description + "set low signal freq offset TCA reporting status"; + container min-tca { + description + "set low signal freq offset min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set low signal freq offset max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr { + description + "set SNR TCA reporting status"; + container min-tca { + description + "set SNR min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-ax { + description + "set SNR-AX TCA reporting status"; + container min-tca { + description + "set SNR-AX min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-AX max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-bx { + description + "set SNR-BX TCA reporting status"; + container min-tca { + description + "set SNR-BX min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-BX max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-ay { + description + "set SNR-AY TCA reporting status"; + container min-tca { + description + "set SNR-AY min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-AY max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container snr-by { + description + "set SNR-BY TCA reporting status"; + container min-tca { + description + "set SNR-BY min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SNR-BY max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s1 { + description + "set SOP-S1 TCA reporting status"; + container min-tca { + description + "set SOP-S1 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S1 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s2 { + description + "set SOP-S2 TCA reporting status"; + container min-tca { + description + "set SOP-S2 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S2 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + container sop-s3 { + description + "set SOP-S3 TCA reporting status"; + container min-tca { + description + "set SOP-S3 min TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container max-tca { + description + "set SOP-S3 max TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container fec { + description + "Configure fec g709 performance monitoring"; + container threshold { + description + "Configure fec threshold"; + leaf ec-bits { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ec-bits threshold "; + } + } + description + "set EC-BITS threshold"; + } + leaf uc-words { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "uc-words threshold "; + } + } + description + "set UC-WORDS threshold"; + } + container pre-fec-ber { + description + "Set PRE-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber min threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set pre-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "pre-fec-ber max threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set pre-fec-ber max threshold"; + } + } + container post-fec-ber { + description + "Set POST-FEC-BER Thresholds"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber min threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set post-fec-ber min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "post-fec-ber max threshold range : <1-18446744073709551615>. BER is based on E-15, set value = 150, equivalent BER = 1.5E-13"; + } + } + description + "set post-fec-ber max threshold"; + } + } + container q { + description + "set Q threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q max threshold"; + } + } + container q-margin { + description + "set Q margin threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q margin min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q margin min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q margin max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Q margin max threshold"; + } + } + container inst-q-margin { + description + "set Instantaneous Q margin threshold"; + leaf min { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Instantaneous Q margin min threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Instantaneous Q margin min threshold"; + } + leaf max { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "Q margin max threshold <1-18446744073709551615>set value = 150, equivalent value = 1.5"; + } + } + description + "set Instantaneous Q margin max threshold"; + } + } + } + container report { + description + "set fec TCA reporting status"; + container ec-bits { + description + "set ec-bits TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uc-words { + description + "set uc-words TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container prbs { + description + "Configure prbs performance monitoring"; + container threshold { + description + "Configure prbs threshold"; + leaf ebc { + type xr:Cisco-ios-xr-string { + length "1..20" { + description + "ebc threshold <1-18446744073709551615>"; + } + } + description + "set EBC threshold"; + } + leaf found-count { + type xr:Cisco-ios-xr-string { + length "1..10" { + description + "found-count threshold <1-4294967295>"; + } + } + description + "set FOUND-COUNT threshold"; + } + leaf lost-count { + type xr:Cisco-ios-xr-string { + length "1..10" { + description + "lost-count threshold <1-4294967295>"; + } + } + description + "set LOST-COUNT threshold"; + } + } + container report { + description + "set prbs TCA reporting status"; + container ebc { + description + "set ebc TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container found-count { + description + "set found-count TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container lost-count { + description + "set lost-count TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-cfg.yang new file mode 100644 index 000000000..2a85fd177 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-cfg.yang @@ -0,0 +1,1597 @@ +module Cisco-IOS-XR-um-cont-optics-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-cfg"; + prefix um-cont-optics-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-optics package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-07 { + description + "Added container otdr + 2021-11-17 + Updated add-drop-channel regex to match CLI command"; + semver:module-version "2.1.0"; + } + revision 2021-08-24 { + description + "Updated model as per 24I DT image CLI command"; + semver:module-version "2.0.0"; + } + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature optics { + description + "optics"; + } + + feature optics_config_supp_check { + description + "optics config supp check"; + } + + grouping CONT-BODY { + container dwdm-carrier { + description + "Configure the DWDM Carrier Channel"; + container grid-50ghz { + description + "Configure Wavelength in 50GHz grid"; + leaf itu-ch { + type uint32 { + range "1..100" { + description + "Select an ITU channel number; C Band: 1-100"; + } + } + must "not(../../grid-100mhz/frequency)"; + must "not(../frequency or ../wavelength)"; + description + "Configure the ITU 50GHz Grid ITU Channel"; + } + leaf frequency { + type uint32 { + range "19115..19610" { + description + "Enter 5-digit Frequency data; e.g. 19580 for 195.8 THz"; + } + } + must "not(../../grid-100mhz/frequency)"; + must "not(../itu-ch or ../wavelength)"; + description + "Configure Frequency and Map to ITU Channel"; + } + leaf wavelength { + type uint32 { + range "1528773..1568362" { + description + "Enter 7-digit Wavelength data; e.g. 1532290 for 1532.29 nm"; + } + } + must "not(../../grid-100mhz/frequency)"; + must "not(../itu-ch or ../frequency)"; + description + "Configure Wavelength and Map to ITU Channel"; + } + } + container grid-100mhz { + description + "Configure Wavelength in 100MHz Grid"; + leaf frequency { + type uint32 { + range "1861000..1961000" { + description + "Select a Frequency in 100MHz, C Band: 1911500-1961000, L Band: 1861000-1908500"; + } + } + must + "not(../../grid-50ghz/itu-ch or + ../../grid-50ghz/frequency or + ../../grid-50ghz/wavelength)"; + description + "Configure Frequency in 100MHz"; + } + } + } + leaf transmit-power { + type int32 { + range "-190..50" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure transponder transmit power "; + } + leaf cd-min { + type int32 { + range "-350000..350000" { + description + "Select chromatic dispersion min"; + } + } + description + "Chromatic Dispersion min"; + } + leaf cd-max { + type int32 { + range "-350000..350000" { + description + "Select chromatic dispersion max"; + } + } + description + "Chromatic Dispersion max"; + } + leaf cd-high-threshold { + type int32 { + range "-350000..350000" { + description + "Select CD value"; + } + } + description + "Configure maximum acceptable CD value"; + } + leaf cd-low-threshold { + type int32 { + range "-350000..350000" { + description + "Select CD value"; + } + } + description + "Configure minimum acceptable CD value"; + } + leaf osnr-low-threshold { + type uint32 { + range "0..4000" { + description + "Select osnr value (in units of 0.01db)"; + } + } + description + "Configure minimum acceptable OSNR value in 0.01db"; + } + leaf dgd-high-threshold { + type uint32 { + range "0..18000" { + description + "Select Differential Group Delay value (in units of 0.01ps)"; + } + } + description + "Configure maximum acceptable Differential Group Delay in 0.01ps"; + } + container transmit-shutdown { + presence "Indicates a transmit-shutdown node is configured."; + description + "Shutdown the transmit laser"; + } + leaf rx-low-threshold { + type int32 { + range "-400..300" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure transponder receive power low threshold"; + } + leaf rx-high-threshold { + type int32 { + range "-400..300" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure transponder receive power high threshold"; + } + leaf tx-low-threshold { + type int32 { + range "-400..300" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure transponder low transmit power threshold"; + } + leaf tx-high-threshold { + type int32 { + range "-400..300" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure transponder high transmit power threshold"; + } + leaf lbc-high-threshold { + if-feature "optics_config_supp_check"; + type uint32 { + range "0..100" { + description + "Select power level (in units of percentage)"; + } + } + description + "Configure high laser bias current threshold"; + } + leaf soak-time { + type uint32 { + range "10..28800" { + description + "Select power level (in units of seconds)"; + } + } + description + "Configure soak time for automatic in-service"; + } + leaf loopback { + type enumeration { + enum "internal" { + value 1; + description + "Select internal loopback mode"; + } + enum "line" { + value 2; + description + "Select line loopback mode"; + } + } + description + "Configure loopback mode "; + } + leaf modulation { + type enumeration { + enum "Bpsk" { + value 1; + description + "Select BPSK modulation type"; + } + enum "Qpsk" { + value 2; + description + "Select QPSK modulation type"; + } + enum "8Qam" { + value 3; + description + "Select 8QAM modulation type"; + } + enum "16Qam" { + value 4; + description + "Select 16QAM modulation type"; + } + enum "32Qam" { + value 5; + description + "Select 32QAM modulation type"; + } + enum "64Qam" { + value 6; + description + "Select 64QAM modulation type"; + } + enum "Bpsk-Qpsk" { + value 7; + description + "Select BPSK_QPSK modulation type"; + } + enum "Qpsk-8Qam" { + value 8; + description + "Select QPSK_8QAM modulation type"; + } + enum "8Qam-16Qam" { + value 9; + description + "Select 8QAM_16QAM modulation type"; + } + enum "16Qam-32Qam" { + value 10; + description + "Select 16QAM_32QAM modulation type"; + } + enum "32Qam-64Qam" { + value 11; + description + "Select 32QAM_64QAM modulation type"; + } + } + description + "Configure modulation types"; + } + leaf bits-per-symbol { + type xr:Cisco-ios-xr-string { + length "1..9" { + description + "Enter Bits per Symbol; e.g 13456789"; + } + } + description + "Select bits-per-symbol for this controller"; + } + leaf baud-rate { + type xr:Cisco-ios-xr-string { + length "1..10" { + description + "Enter Baud Rate in GBd; e.g 32.4567892"; + } + } + description + "Set baud-rate for this controller in GBd"; + } + container perf-mon { + if-feature "optics_config_supp_check"; + description + "To enable Performance Monitoring"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable performance monitoring"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable performance monitoring"; + } + } + leaf fec { + type enumeration { + enum "EnhancedHG15" { + value 1; + description + "Forward Error Correction Enhanced_HG15"; + } + enum "EnhancedHG25" { + value 2; + description + "Forward Error Correction Enhanced_HG25"; + } + enum "EnhancedHG15DE" { + value 4; + description + "Forward Error Correction Enhanced_HG15_DE"; + } + enum "EnhancedHG25DE" { + value 8; + description + "Forward Error Correction Enhanced_HG25_DE"; + } + enum "None" { + value 32; + description + "Forward Error Correction None"; + } + enum "EnhancedI7" { + value 128; + description + "Forward Error Correction Enhanced_I_7"; + } + enum "EnhancedI4" { + value 256; + description + "Forward Error Correction Enhanced_I_4"; + } + enum "EnhancedSwizzle" { + value 512; + description + "Forward Error Correction Enhanced_Swizzle"; + } + enum "EnhancedHG20" { + value 1024; + description + "Forward Error Correction Enhanced_HG20"; + } + enum "EnhancedHG7" { + value 2048; + description + "Forward Error Correction Enhanced_HG7"; + } + enum "EnhancedSD20" { + value 4096; + description + "Forward Error Correction Soft-Decision 20"; + } + enum "EnhancedSD7" { + value 8192; + description + "Forward Error Correction Soft-Decision 7"; + } + enum "EnhancedSD15" { + value 16384; + description + "Forward Error Correction Soft-Decision 15"; + } + enum "EnhancedSD27" { + value 32768; + description + "Forward Error Correction Soft-Decision 27"; + } + enum "EnhancedSD15DE" { + value 65536; + description + "Forward Error Correction Soft-Decision 15 with DE"; + } + enum "EnhancedStaircaseDE" { + value 131072; + description + "Forward Error Correction Enhanced Staircase FEC with DE"; + } + enum "OFEC" { + value 262144; + description + "Forward Error Correction O_FEC"; + } + enum "CFEC" { + value 524288; + description + "Forward Error Correction C_FEC"; + } + enum "Standard" { + value 1048576; + description + "Forward Error Correction Standard"; + } + } + description + "Configure Forward Error Correction mode"; + } + leaf ext-description { + type string { + length "1..800" { + description + "Ext-Description for this controller"; + } + } + description + "Set ext-description for this controller"; + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container link-status { + presence "Indicates a link-status node is configured."; + description + "Enable interface and line-protocol state change alarms"; + } + } + } + leaf filter-roll-off-factor { + type xr:Cisco-ios-xr-string { + length "5" { + description + "RRC Filter Roll-Off factor in increments of 0.001"; + } + } + description + "RRC Filter Roll-Off factor."; + } + leaf enh-colorless-mode { + type uint32 { + range "1..3" { + description + "Select enhanced colorless mode"; + } + } + description + "Enhanced Colorless Mode."; + } + leaf enh-sop-tol-mode { + type uint32 { + range "1..3" { + description + "Select enhanced SOP tolerance mode"; + } + } + description + "Enhanced SOP Tolerance Mode."; + } + leaf nleq-comp-mode { + type uint32 { + range "1..4" { + description + "Select non linear effect compenstation mode"; + } + } + description + "Non Linear Effect Compenstation."; + } + leaf cross-pol-gain-mode { + type uint32 { + range "1..15" { + description + "Select carrier phase recovery cross polarization gain mode"; + } + } + description + "Carrier Phase Recovery Cross Polarization Gain Mode."; + } + leaf cross-pol-weight-mode { + type uint32 { + range "1..7" { + description + "Select carrier phase recovery cross polarization weight mode"; + } + } + description + "Carrier Phase Recovery Cross Polarization Weight Mode."; + } + leaf cpr-win-mode { + type uint32 { + range "1..4" { + description + "Select carrier phase recovery window mode"; + } + } + description + "Carrier Phase Recovery Window Mode."; + } + leaf cpr-ext-win-mode { + type uint32 { + range "1..9" { + description + "Select carrier phase recovery extended window mode"; + } + } + description + "Carrier Phase Recovery Extended Window Mode."; + } + container submarine-params { + description + "Proprietary Submarine Parameters"; + list submarine-param { + key "parameter-type"; + description + "Proprietary Submarine Parameters"; + leaf parameter-type { + type uint32 { + range "1..10" { + description + "Proprietary Submarine Parameter Type"; + } + } + description + "Proprietary Submarine Parameters"; + } + leaf parameter-value { + type uint32 { + range "1..1000" { + description + "Proprietary Submarine Parameter Value"; + } + } + mandatory true; + description + "Proprietary Submarine Parameters"; + } + } + } + container rx-voa { + description + "rx-voa configuration."; + leaf target-power { + type int32 { + range "-190..30" { + description + "Receive Target Power in 0.1 dbm."; + } + } + description + "Receive Target Power"; + } + leaf fixed-ratio { + type int32 { + range "100..1700" { + description + "Receive Ratio of Optical Attenuation in 0.01 db"; + } + } + description + "Receive Ratio of Optical Attenuation."; + } + } + container transceiver { + description + "Configure the transceiver module"; + container disable { + if-feature "optics_config_supp_check"; + presence "Indicates a disable node is configured."; + description + "disable the transceiver module"; + } + } + leaf ampli-gain { + type int32 { + range "0..500" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure AMPLI GAIN"; + } + leaf ampli-gain-range { + type enumeration { + enum "normal" { + value 1; + description + "Select Ampli Gain Range as Normal"; + } + enum "extended" { + value 2; + description + "Select Ampli Gain Range as Extended"; + } + } + description + "Ampli Gain Range"; + } + container osri { + description + "Configure Optical safety remote interlock (OSRI)"; + container on { + must "not(../off)"; + presence "Indicates a on node is configured."; + description + "Enable OSRI "; + } + container off { + must "not(../on)"; + presence "Indicates a off node is configured."; + description + "Disable OSRI "; + } + } + leaf safety-control-mode { + type enumeration { + enum "auto" { + value 1; + description + "Select Safety Control Mode: Automatic"; + } + enum "disabled" { + value 2; + description + "Disable Safety Control Mode"; + } + } + description + "Configure safety Control Mode "; + } + leaf ampli-channel-power { + type int32 { + range "-400..300" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure amplifier per channel power set point"; + } + leaf channel-power-max-delta { + type int32 { + range "0..200" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure max delta among all measured channel powers "; + } + leaf ampli-gain-thr-deg-low { + type int32 { + range "0..500" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure low amplifier gain degrade theshold for gain alarm"; + } + leaf ampli-gain-thr-deg-high { + type int32 { + range "0..500" { + description + "Select power level (in units of 0.1dBm)"; + } + } + description + "Configure high amplifier gain degrade theshold for gain alarm"; + } + leaf ampli-control-mode { + type enumeration { + enum "automatic" { + value 1; + description + "Select Amplifier Working Mode: Automatic"; + } + enum "manual" { + value 2; + description + "Select Amplifier Working Mode: Manual"; + } + } + description + "Configure amplifier working mode "; + } + leaf ampli-tilt { + type int32 { + range "-50..50" { + description + "Select level (in units of 0.1dB)"; + } + } + description + "Configure amplifier tilt"; + } + leaf rx-voa-attenuation { + type int32 { + range "0..200" { + description + "Select attenuation level (in units of 0.1dBm)"; + } + } + description + "Configure RX Voa Attenuation Setpoint"; + } + leaf tx-voa-attenuation { + type int32 { + range "0..200" { + description + "Select attenuation level (in units of 0.1dB)"; + } + } + description + "Configure TX voa Attenuation Setpoint"; + } + leaf tx-enable { + type uint32 { + range "0..1" { + description + "0:Disable TX, 1:Enable TX"; + } + } + description + "Configure TX param"; + } + leaf rx-enable { + type uint32 { + range "0..1" { + description + "0:Disable RX, 1:Enable RX"; + } + } + description + "Configure RX param"; + } + leaf rx-low-threshold-delta { + type int32 { + range "0..300" { + description + "Set revertive threshold delta value (in units of 0.1dBm)"; + } + } + description + "Configure revertive hysteresis value for the low fail threshold "; + } + leaf ampli-channel-psd { + type int32 { + range "0..800000" { + description + "Select psd level (in units of 0.001 nW/MHz)"; + } + } + description + "Configure amplifier per channel psd set point"; + } + leaf rx-low-threshold-psd { + type int32 { + range "0..800000" { + description + "Select psd level (in units of 0.001 nW/MHz)"; + } + } + description + "Configure transponder low receive psd threshold"; + } + leaf add-drop-channel { + type xr:Interface-name { + pattern "Ots-Och.*"; + } + description + "configures optical cross connect"; + } + leaf ingress-ampli-gain { + type int32 { + range "80..330" { + description + "Select power level (in units of 0.1dB)"; + } + } + description + "Configure INGRESS AMPLI GAIN"; + } + leaf ingress-ampli-gain-range { + type enumeration { + enum "normal" { + value 1; + description + "Select Ampli Gain Range as Normal"; + } + enum "extended" { + value 2; + description + "Select Ampli Gain Range as Extended"; + } + } + description + "Ingress Ampli Gain Range"; + } + leaf ingress-ampli-gain-thr-deg-low { + type int32 { + range "0..500" { + description + "Select power level (in units of 0.1dB)"; + } + } + description + "Configure low amplifier gain degrade theshold for gain alarm"; + } + leaf ingress-ampli-gain-thr-deg-high { + type int32 { + range "0..500" { + description + "Select power level (in units of 0.1dB)"; + } + } + description + "Configure high amplifier gain degrade theshold for gain alarm"; + } + leaf ingress-ampli-tilt { + type int32 { + range "-50..50" { + description + "Select level (in units of 0.1dB)"; + } + } + description + "Configure amplifier tilt"; + } + leaf egress-ampli-gain { + type int32 { + range "80..330" { + description + "Select power level (in units of 0.1dB)"; + } + } + description + "Configure EGRESS AMPLI GAIN"; + } + leaf egress-ampli-gain-range { + type enumeration { + enum "normal" { + value 1; + description + "Select Ampli Gain Range as Normal"; + } + enum "extended" { + value 2; + description + "Select Ampli Gain Range as Extended"; + } + } + description + "egress Ampli Gain Range"; + } + leaf egress-ampli-gain-thr-deg-low { + type int32 { + range "0..500" { + description + "Select power level (in units of 0.1dB)"; + } + } + description + "Configure low amplifier gain degrade theshold for gain alarm"; + } + leaf egress-ampli-gain-thr-deg-high { + type int32 { + range "0..500" { + description + "Select power level (in units of 0.1dB)"; + } + } + description + "Configure high amplifier gain degrade theshold for gain alarm"; + } + leaf egress-ampli-tilt { + type int32 { + range "-50..50" { + description + "Select level (in units of 0.1dB)"; + } + } + description + "Configure amplifier tilt"; + } + container raman-tx-powers { + description + "configure Raman Transmit Power Param"; + list raman-tx-power { + key "raman-tx-power-id"; + description + "configure Raman Transmit Power Param"; + leaf raman-tx-power-id { + type uint32 { + range "1..5" { + description + "RAMAN Transmit Pump Instance"; + } + } + description + "configure Raman Transmit Power Param"; + } + leaf value { + type uint32 { + range "35..360" { + description + "Select power level (in units of 0.01mW)"; + } + } + description + "set value"; + } + } + } + leaf ingress-ampli-safety-control-mode { + type enumeration { + enum "auto" { + value 1; + description + "Select Safety Control Mode: Automatic"; + } + enum "disabled" { + value 2; + description + "Disable Safety Control Mode"; + } + } + description + "Configure ingress ampli safety Control Mode "; + } + container ingress-ampli-osri { + description + "Configure Optical safety remote interlock (OSRI)"; + container on { + must "not(../off)"; + presence "Indicates a on node is configured."; + description + "Enable OSRI "; + } + container off { + must "not(../on)"; + presence "Indicates a off node is configured."; + description + "Disable OSRI "; + } + } + container ingress-ampli-force-apr { + description + "Configure ingress Ampli Force Automatic Power Reduction"; + container on { + must "not(../off)"; + presence "Indicates a on node is configured."; + description + "Enable Force APR "; + } + container off { + must "not(../on)"; + presence "Indicates a off node is configured."; + description + "Disable Force APR "; + } + } + leaf egress-ampli-safety-control-mode { + type enumeration { + enum "auto" { + value 1; + description + "Select Safety Control Mode: Automatic"; + } + enum "disabled" { + value 2; + description + "Disable Safety Control Mode"; + } + } + description + "Configure egress ampli safety Control Mode "; + } + container egress-ampli-osri { + description + "Configure egress Optical safety remote interlock (OSRI)"; + container on { + must "not(../off)"; + presence "Indicates a on node is configured."; + description + "Enable OSRI "; + } + container off { + must "not(../on)"; + presence "Indicates a off node is configured."; + description + "Disable OSRI "; + } + } + container egress-ampli-force-apr { + description + "Configure egress ampli Force Automatic Power Reduction"; + container on { + must "not(../off)"; + presence "Indicates a on node is configured."; + description + "Enable Force APR "; + } + container off { + must "not(../on)"; + presence "Indicates a off node is configured."; + description + "Disable Force APR "; + } + } + container egress-ampli-br { + description + "Configure egress ampli back reflection"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Back Reflection "; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Back Reflection "; + } + } + leaf egress-ampli-br-high-threshold { + type int32 { + range "-500..300" { + description + "Select value (in units of 0.1dBm)"; + } + } + description + "Configure egress ampli back reflection high threshold"; + } + leaf raman-safety-control-mode { + type enumeration { + enum "auto" { + value 1; + description + "Select Safety Control Mode: Automatic"; + } + enum "disabled" { + value 2; + description + "Disable Safety Control Mode"; + } + } + description + "Configure Raman safety Control Mode "; + } + container raman-osri { + description + "Configure raman Optical safety remote interlock (OSRI)"; + container on { + must "not(../off)"; + presence "Indicates a on node is configured."; + description + "Enable OSRI "; + } + container off { + must "not(../on)"; + presence "Indicates a off node is configured."; + description + "Disable OSRI "; + } + } + container raman-force-apr { + description + "Configure raman Force Automatic Power Reduction"; + container on { + must "not(../off)"; + presence "Indicates a on node is configured."; + description + "Enable Force APR "; + } + container off { + must "not(../on)"; + presence "Indicates a off node is configured."; + description + "Disable Force APR "; + } + } + container raman-br { + description + "Configure raman back reflection"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Back Reflection "; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Back Reflection "; + } + } + leaf raman-br-high-threshold { + type int32 { + range "-500..300" { + description + "Select value (in units of 0.1dBm)"; + } + } + description + "Configure raman back reflection high threshold"; + } + container ingress-channel-slices { + description + "Configure Ingress Channel Slice"; + list ingress-channel-slice { + key "ingress-channel-slice-id"; + description + "Configure Ingress Channel Slice"; + leaf ingress-channel-slice-id { + type uint32 { + range "1..1548" { + description + "Ingress Channel Slice"; + } + } + description + "Configure Ingress Channel Slice"; + } + leaf attn { + type uint32 { + range "0..250" { + description + "Select attenuation (in units of 0.1 dB)"; + } + } + description + "set attenuation"; + } + } + } + container egress-channel-slices { + description + "Configure egress Channel Slice"; + list egress-channel-slice { + key "egress-channel-slice-id"; + description + "Configure egress Channel Slice"; + leaf egress-channel-slice-id { + type uint32 { + range "1..1548" { + description + "egress Channel Slice"; + } + } + description + "Configure egress Channel Slice"; + } + leaf attn { + type uint32 { + range "0..250" { + description + "Select attenuation (in units of 0.1 dB)"; + } + } + description + "set attenuation"; + } + } + } + leaf channel-attn { + type uint32 { + range "0..250" { + description + "Select value (in units of 0.1dB)"; + } + } + description + "Configure channel attenuation"; + } + container otdr { + description + "OTDR Configuration for OTS controller"; + container rx { + description + "OTDR rx configuration"; + leaf refractive-index { + type uint32 { + range "1000000..2000000" { + description + "Select value"; + } + } + description + "Configure OTDR rx refractive-index (Value in 0.000001)"; + } + leaf back-scattering { + type int32 { + range "-9000..-7000" { + description + "Select value "; + } + } + description + "Configure OTDR rx back-scattering (Value in 0.01 dB)"; + } + container expert { + description + "OTDR rx expert configuration"; + leaf capture-start { + type uint32 { + range "0..10000000" { + description + "Select value "; + } + } + description + "Configure OTDR rx capture-start (Value in cm)"; + } + leaf capture-end { + type uint32 { + range "0..15000000" { + description + "Select value "; + } + } + description + "Configure OTDR rx capture-end (Value in cm)"; + } + leaf scan-duration { + type uint32 { + range "0..180" { + description + "Select value "; + } + } + description + "Configure OTDR rx scan-duration (Value in seconds)"; + } + leaf pulse-width { + type uint32 { + range "1..500000" { + description + "Select value "; + } + } + description + "Configure OTDR rx pulse-width (Value in nano seconds)"; + } + } + container auto { + description + "OTDR rx auto configuration"; + leaf excess-reflection-threshold { + type int32 { + range "-50..-10" { + description + "Select value "; + } + } + description + "Configure OTDR rx excess-reflection-threshold (Value in dB)"; + } + leaf raman-setpoint { + type uint32 { + range "0..170" { + description + "Select value "; + } + } + description + "Configure OTDR rx raman-setpoint (Value in 0.1 dB)"; + } + leaf reflectance-threshold { + type int32 { + range "-50..-10" { + description + "Select value "; + } + } + description + "Configure OTDR rx reflectance-threshold (Value in dB)"; + } + leaf splice-loss-threshold { + type uint32 { + range "200..5000" { + description + "Select value "; + } + } + description + "Configure OTDR rx splice-loss-threshold (Value in 0.001 dB)"; + } + } + } + container tx { + description + "OTDR tx configuration"; + leaf refractive-index { + type uint32 { + range "1000000..2000000" { + description + "Select value "; + } + } + description + "Configure OTDR tx refractive-index (Value in 0.000001)"; + } + leaf back-scattering { + type int32 { + range "-9000..-7000" { + description + "Select value "; + } + } + description + "Configure OTDR tx back-scattering (Value in 0.01 dB)"; + } + container expert { + description + "OTDR tx expert configuration"; + leaf capture-start { + type uint32 { + range "0..10000000" { + description + "Select value "; + } + } + description + "Configure OTDR tx capture-start (Value in cm)"; + } + leaf capture-end { + type uint32 { + range "0..15000000" { + description + "Select value "; + } + } + description + "Configure OTDR tx capture-end (Value in cm)"; + } + leaf scan-duration { + type uint32 { + range "0..180" { + description + "Select value "; + } + } + description + "Configure OTDR tx scan-duration (Value in seconds)"; + } + leaf pulse-width { + type uint32 { + range "1..500000" { + description + "Select value "; + } + } + description + "Configure OTDR tx pulse-width (Value in nano seconds)"; + } + } + container auto { + description + "OTDR tx auto configuration"; + leaf excess-reflection-threshold { + type int32 { + range "-50..-10" { + description + "Select value "; + } + } + description + "Configure OTDR tx excess-reflection-threshold (Value in dB)"; + } + leaf raman-setpoint { + type uint32 { + range "0..170" { + description + "Select value "; + } + } + description + "Configure OTDR tx raman-setpoint (Value in 0.1 dB)"; + } + leaf reflectance-threshold { + type int32 { + range "-50..-10" { + description + "Select value "; + } + } + description + "Configure OTDR tx reflectance-threshold (Value in dB)"; + } + leaf splice-loss-threshold { + type uint32 { + range "200..5000" { + description + "Select value "; + } + } + description + "Configure OTDR tx splice-loss-threshold (Value in 0.001 dB)"; + } + } + } + container scan-mode { + description + "OTDR scan-mode configuration"; + container expert { + presence "Indicates a expert node is configured."; + description + "Configure OTDR scan-mode to expert"; + } + } + } + container fastpoll { + description + "To enable fastpoll"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable fastpoll"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable fastpoll"; + } + } + container network { + description + "Configure OPTICS network information"; + container srlg { + description + "Submode to configure shared risks for the connection"; + container sets { + description + "Configure Network SRLG sets"; + list set { + key "set-index"; + description + "Configure Network SRLG sets"; + leaf set-index { + type uint32 { + range "1..17" { + description + "Set index"; + } + } + description + "Configure Network SRLG sets"; + } + leaf-list network-srlg-value { + type uint32 { + range "0..4294967294" { + description + "Network SRLG values"; + } + } + min-elements 1; + max-elements "6"; + description + "Network SRLG values"; + } + } + } + } + } + container lane-id { + description + "Lane Number for optics port"; + list lane-number { + key "number"; + description + "Lane Number"; + leaf number { + type uint32 { + range "1..12" { + description + "Lane Number"; + } + } + description + "Lane Number"; + } + leaf lane-description { + type string { + length "1..800" { + description + "Description"; + } + } + mandatory true; + description + "Description of the channel"; + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } + augment "/a2:snmp-server/a2:traps" { + container optical { + presence "Indicates a optical node is configured."; + description + "Enable SNMP Cisco optical traps"; + } + container optical-ots { + presence "Indicates a optical-ots node is configured."; + description + "Enable SNMP Cisco optical ots traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-host-loopback-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-host-loopback-cfg.yang new file mode 100644 index 000000000..d8cef4eba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-host-loopback-cfg.yang @@ -0,0 +1,88 @@ +module Cisco-IOS-XR-um-cont-optics-host-loopback-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-host-loopback-cfg"; + prefix um-cont-optics-host-loopback-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-optics-host-loopback package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature optics { + description + "optics"; + } + + grouping CONT-BODY { + description + "Grouping for controller"; + container host { + when "../a1:controller-name[starts-with(text(),'Optics')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "optics"; + description + "Configure loopback host mode "; + leaf loopback { + type enumeration { + enum "internal" { + value 1; + description + "Select internal loopback host mode"; + } + enum "line" { + value 2; + description + "Select line loopback host mode"; + } + } + description + "loopback for host mode"; + } + } + } + + augment "/a1:interfaces/a1:controller" { + description + "This augment extends active nodes configuration"; + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + description + "This augment extends preconfigured nodes + configuration"; + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-mode-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-mode-cfg.yang new file mode 100644 index 000000000..89da1d960 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-mode-cfg.yang @@ -0,0 +1,76 @@ +module Cisco-IOS-XR-um-cont-optics-mode-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-mode-cfg"; + prefix um-cont-optics-mode-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-optics-mode package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-28 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature optics { + description + "optics"; + } + + grouping CONT-BODY { + container mode { + when "../a1:controller-name[starts-with(text(),'Optics')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "optics"; + description + "Configure intf mode"; + leaf enable { + type enumeration { + enum "etm" { + value 1; + description + "Enable egress tm on the interface"; + } + } + description + "configure this node"; + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-speed-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-speed-cfg.yang new file mode 100644 index 000000000..62a38cd7f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-optics-speed-cfg.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XR-um-cont-optics-speed-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-speed-cfg"; + prefix um-cont-optics-speed-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-optics-speed package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature optics { + description + "optics"; + } + + grouping CONT-BODY { + leaf speed { + when "../a1:controller-name[starts-with(text(),'Optics')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "optics"; + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "1g | 10g | 25g | 40g | 50g | 100g | 200g | 400g | none"; + } + } + description + "Configure port speed"; + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-otu-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-otu-cfg.yang new file mode 100644 index 000000000..f2d4d7870 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-otu-cfg.yang @@ -0,0 +1,562 @@ +module Cisco-IOS-XR-um-cont-otu-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-otu-cfg"; + prefix um-cont-otu-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-otu package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature otu_config_supp_check { + description + "otu config supp check"; + } + + grouping CONT-BODY { + container perf-mon { + description + "Performance Monitoring"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable performance monitoring"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable performance monitoring"; + } + } + container gcc0 { + presence "Indicates a gcc0 node is configured."; + description + "Configure GCC0(General Communication Channel)"; + } + container threshold { + description + "Configure threshold for Signal Failure and Signal Degrade"; + leaf sd { + type uint32 { + range "5..9" { + description + "Signal Degrade Threshold Value(Range 1.0e-n)"; + } + } + description + "Configure SD(Signal Degrade) Threshold"; + } + leaf sf { + type uint32 { + range "5..9" { + description + "Signal Failure Threshold Value(Range 1.0e-n)"; + } + } + description + "Configure SF(Signal Failure) Threshold"; + } + leaf sm-tca { + type uint32 { + range "3..9" { + description + "TCA Threshold Value(Range 10e-n, Default 3)"; + } + } + description + "Configure TCA(Threshold crossing alert) Threshold"; + } + } + leaf secondary-admin-state { + type enumeration { + enum "normal" { + value 0; + description + "Normal, Admin-state in normal"; + } + enum "maintenance" { + value 1; + description + "Maintenance, Admin-state under maintenance"; + } + } + description + "Configure the secondary admin state of the controller"; + } + container tti { + description + "Configure TTI(Trail Trace Identifier)"; + container sent { + description + "Set transmit Trail Trace Identifier"; + container sapi { + description + "Enter Source Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container dapi { + description + "Enter Destination Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container operator-specific { + description + "Enter Operator Specific field"; + leaf ascii { + type string { + length "1..32" { + description + "ASCII text (Max 32 characters)"; + } + } + must "not(../hex)"; + description + "Enter ascii string"; + } + leaf hex { + type string { + length "1..64" { + description + "Hex Text (Max 64 - The string length should be an even number)"; + } + } + must "not(../ascii)"; + description + "Enter hex string of even length"; + } + } + } + container expected { + description + "Set expected Trail Trace Identifier"; + container sapi { + description + "Enter Source Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container dapi { + description + "Enter Destination Access Point Identifier field 1-15"; + leaf ascii { + type string { + length "1..15" { + description + "ASCII text (Max 15 characters)"; + } + } + description + "Enter ascii string"; + } + } + container operator-specific { + description + "Enter Operator Specific field"; + leaf ascii { + type string { + length "1..32" { + description + "ASCII text (Max 32 characters)"; + } + } + must "not(../hex)"; + description + "Enter ascii string"; + } + leaf hex { + type string { + length "1..64" { + description + "Hex Text (Max 64 - The string length should be an even number)"; + } + } + must "not(../ascii)"; + description + "Enter hex string of even length"; + } + } + } + } + leaf fec { + type enumeration { + enum "none" { + value 1; + description + "No Forward Error Correction"; + } + enum "Standard" { + value 2; + description + "Forward Error Correction Standard"; + } + enum "EnhancedI7" { + value 4; + description + "Forward Error Correction Enhanced_I_7"; + } + enum "EnhancedI4" { + value 8; + description + "Forward Error Correction Enhanced_I_4"; + } + enum "EnhancedSwizzle" { + value 16; + description + "Forward Error Correction Enhanced_Swizzle"; + } + enum "EnhancedHG20" { + value 32; + description + "Forward Error Correction Enhanced_HG20"; + } + enum "EnhancedHG7" { + value 64; + description + "Forward Error Correction Enhanced_HG7"; + } + enum "EnhancedSD20" { + value 128; + description + "Forward Error Correction Soft-Decision 20"; + } + enum "EnhancedSD7" { + value 256; + description + "Forward Error Correction Soft-Decision 7"; + } + enum "EnhancedSD15" { + value 512; + description + "Forward Error Correction Soft-Decision 15"; + } + enum "EnhancedSD27" { + value 1024; + description + "Forward Error Correction Soft-Decision 27"; + } + enum "EnhancedSD15DE" { + value 2048; + description + "Forward Error Correction Soft-Decision 15 with DE"; + } + enum "EnhancedStaircaseDE" { + value 4096; + description + "Forward Error Correction Enhanced Staircase FEC with DE"; + } + enum "OFEC" { + value 8192; + description + "Forward Error Correction O_FEC"; + } + enum "CFEC" { + value 16384; + description + "Forward Error Correction C_FEC"; + } + } + description + "Configure Forward Error Correction mode"; + } + leaf loopback { + type enumeration { + enum "line" { + value 2; + description + "Select network (facility) loopback"; + } + enum "internal" { + value 4; + description + "Select network (terminal) loopback"; + } + } + description + "Configure OTU controller loopback mode"; + } + container srlg { + description + "Submode to configure shared risks for the OTU connection"; + container sets { + description + "Configure Network SRLG sets"; + list set { + must "network-srlg-values"; + key "set-id"; + description + "Configure Network SRLG sets"; + leaf set-id { + type uint32 { + range "1..17" { + description + "Set index"; + } + } + description + "Configure Network SRLG sets"; + } + leaf-list network-srlg-values { + type uint32 { + range "0..4294967294" { + description + "Network SRLG values (max 6 per set)"; + } + } + max-elements "6"; + description + "Network SRLG values (max 6 per set)"; + } + } + } + } + container proactive { + presence "Indicates a proactive node is configured."; + description + "Enable Proactive Protection Feature"; + container trigger { + description + "Configure trigger thresholds"; + leaf threshold { + type uint32 { + range "1..9" { + description + "Bit error rate coefficient (x of xE-y)"; + } + } + must "../bit-error-rate-power"; + description + "Set values x and y of xE-y"; + } + leaf bit-error-rate-power { + type uint32 { + range "3..9" { + description + "Bit error rate power (y of xE-y)"; + } + } + must "../threshold"; + description + "Bit error rate power (y of xE-y)"; + } + leaf window { + type uint32 { + range "10..10000" { + description + "Integration window for FRR trigger in MS"; + } + } + description + "Number of times threshold crossing is tested"; + } + } + container revert { + description + "Configure Revert thresholds"; + leaf threshold { + type uint32 { + range "1..9" { + description + "Bit error rate coefficient (x of xE-y)"; + } + } + must "../bit-error-rate-power"; + description + "Set values x and y of xE-y"; + } + leaf bit-error-rate-power { + type uint32 { + range "4..10" { + description + "Bit error rate power (y of xE-y)"; + } + } + must "../threshold"; + description + "Bit error rate power (y of xE-y)"; + } + leaf window { + type uint32 { + range "2000..10000" { + description + "Integration window for FRR revert in MS"; + } + } + description + "Number of times threshold crossing is tested"; + } + } + } + container flexo { + description + "Configure flexo layer"; + leaf gid { + type uint32 { + range "1..1048575" { + description + "Set group id value for flexo"; + } + } + description + "Set Group ID"; + } + leaf iid { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "iid string separated by (,) from 1 to 256 "; + } + } + must "../gid"; + description + "Configure IID "; + } + } + container prbs { + description + "Configure pseudo random bit sequence test"; + container mode { + description + "prbs-mode for the interface"; + container source { + presence "Indicates a source node is configured."; + description + "source mode"; + container pattern { + description + "Select pattern for prbs mode"; + container pn31 { + presence "Indicates a pn31 node is configured."; + description + "prbs pattern pn31"; + } + } + container pn23 { + presence "Indicates a pn23 node is configured."; + description + "prbs pattern pn23"; + } + container pn11 { + presence "Indicates a pn11 node is configured."; + description + "prbs pattern pn11"; + } + container pn7 { + presence "Indicates a pn7 node is configured."; + description + "prbs pattern pn7"; + } + container pn15 { + presence "Indicates a pn15 node is configured."; + description + "prbs pattern pn15"; + } + container invertedpn31 { + presence "Indicates a invertedpn31 node is configured."; + description + "prbs pattern inverted pn31"; + } + container invertedpn11 { + presence "Indicates a invertedpn11 node is configured."; + description + "prbs pattern inverted pn11"; + } + } + container sink { + presence "Indicates a sink node is configured."; + description + "sink mode"; + container pattern { + description + "Select pattern for prbs mode"; + container pn31 { + presence "Indicates a pn31 node is configured."; + description + "prbs pattern pn31"; + } + } + } + container source-sink { + presence "Indicates a source-sink node is configured."; + description + "source-sink mode"; + container pattern { + description + "Select pattern for prbs mode"; + container pn31 { + presence "Indicates a pn31 node is configured."; + description + "prbs pattern pn31"; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-cfg.yang new file mode 100644 index 000000000..31598e544 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-cfg.yang @@ -0,0 +1,868 @@ +module Cisco-IOS-XR-um-cont-sonet-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sonet-cfg"; + prefix um-cont-sonet-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-sonet package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container ais-shut { + presence "Indicates a ais-shut node is configured."; + description + "Enable sending SONET/SDH LAIS when shutdown"; + } + container ais-pwfault { + presence "Indicates a ais-pwfault node is configured."; + description + "Enable sending SONET/SDH LAIS for L2Port when PW fails"; + } + container clock { + description + "Configure SONET/SDH port clock"; + leaf source { + type enumeration { + enum "internal" { + value 0; + description + "Select internal clock"; + } + enum "line" { + value 1; + description + "Select clock recovered from line (default)"; + } + } + description + "Configure SONET/SDH port TX clock source"; + } + } + leaf framing { + type enumeration { + enum "sonet" { + value 0; + description + "Select SONET framing (default)"; + } + enum "sdh" { + value 1; + description + "Select SDH framing"; + } + } + description + "Configure SONET/SDH framing"; + } + container loopback { + description + "Configure SONET/SDH controller loopback mode"; + container internal { + must "not(../line)"; + presence "Indicates a internal node is configured."; + description + "Select local (terminal) loopback"; + } + container line { + must "not(../internal)"; + presence "Indicates a line node is configured."; + description + "Select network (facility) loopback"; + } + } + container down-when-looped { + presence "Indicates a down-when-looped node is configured."; + description + "Configure SONET/SDH controller into down-when-looped mode"; + } + container s1byte { + description + "Configure SONET/SDH controller to s1byte ignore mode"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore S1 byte"; + } + } + container overhead { + description + "Configure SONET/SDH SOH/LOH byte/bit values"; + leaf j0 { + type uint32 { + range "0..255" { + description + "J0/C1 byte value (default 0x01)"; + } + } + description + "Specify STS identifier (J0/C1) byte"; + } + leaf s1s0 { + type uint32 { + range "0..3" { + description + "s1 & s0 bits value (default 0x0)"; + } + } + description + "Specify bits s1 and s0 of H1 byte"; + } + } + container report { + description + "Configure SONET/SDH section/line alarm reporting"; + container b1-tca { + description + "Set B1 BER Threshold Crossing Alert (TCA) reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container b2-tca { + description + "Set B2 BER Threshold Crossing Alert (TCA) reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container lais { + presence "Indicates a lais node is configured."; + description + "Set Line Alarm Indication Signal reporting status"; + } + container lrdi { + presence "Indicates a lrdi node is configured."; + description + "Set Line Remote Defect Indication reporting status"; + } + container sd-ber { + presence "Indicates a sd-ber node is configured."; + description + "Set LBIP BER in excess of SD threshold reporting status"; + } + container sf-ber { + description + "Set LBIP BER in excess of SF threshold reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container slof { + description + "Set Section Loss of Frame reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container slos { + description + "Set Section Loss of Signal reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + } + container threshold { + description + "Configure SONET/SDH section/line BER threshold values"; + leaf b1-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B1 BER Threshold Crossing Alert (TCA) threshold"; + } + leaf b2-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B2 BER Threshold Crossing Alert (TCA) threshold"; + } + leaf sd-ber { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set Signal Degrade BER threshold"; + } + leaf sf-ber { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 3)"; + } + } + description + "Set Signal Fail BER threshold"; + } + } + container line { + description + "Configure SONET/SDH line parameters"; + container delay { + description + "alarm soaking"; + leaf trigger { + type uint32 { + range "0..60000" { + description + "Time in msec to soak before declaring the alarm (Default No Delay)"; + } + } + description + "trigger time"; + } + leaf clear { + type uint32 { + range "1000..180000" { + description + "Time in msec to soak before clearing the alarm (Default 10 seconds)"; + } + } + description + "clear time"; + } + } + container down { + description + "Set Line Down"; + container sd-ber { + presence "Indicates a sd-ber node is configured."; + description + "With Presence of SD BER"; + } + } + } + container path { + presence "Indicates a path node is configured."; + description + "Configure SONET/SDH path parameters"; + container delay { + description + "alarm soaking"; + leaf trigger { + type uint32 { + range "0..60000" { + description + "Time in msec to soak before declaring the alarm (Default No Delay)"; + } + } + description + "trigger time"; + } + leaf clear { + type uint32 { + range "1000..180000" { + description + "Time in msec to soak before clearing the alarm (Default 10 seconds)"; + } + } + description + "clear time"; + } + } + container b3-ber-prdi { + presence "Indicates a b3-ber-prdi node is configured."; + description + "Enable sending PRDI when configured"; + } + container path-down-pplm { + description + "Set PPLM sonet path action"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container ais-shut { + presence "Indicates a ais-shut node is configured."; + description + "Enable sending SONET/SDH PAIS when shutdown"; + } + container overhead { + description + "Configure SONET/SDH POH byte/bit values"; + leaf c2 { + type uint32 { + range "0..255" { + description + "C2 byte value (default 0xCF)"; + } + } + description + "Specify STS SPE content (C2) byte"; + } + leaf j1 { + type string { + length "1..62" { + description + "ASCII text (max 62 characters)"; + } + } + description + "Configure SONET/SDH path trace (J1) transmit buffer"; + } + leaf expected-trace { + type string { + length "1..62" { + description + "ASCII text (max 62 characters)"; + } + } + description + "Configure SONET/SDH expected path trace"; + } + } + container report { + description + "Configure SONET/SDH path alarm reporting"; + container b3-tca { + description + "Set B3 BER Threshold Crossing Alert (TCA) reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container pais { + presence "Indicates a pais node is configured."; + description + "Set Path Alarm Indication Signal reporting status"; + } + container plop { + description + "Set Path Loss of Pointer reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container prdi { + presence "Indicates a prdi node is configured."; + description + "Set Path Remote Defect Indication reporting status"; + } + container pplm { + presence "Indicates a pplm node is configured."; + description + "Set Path Payload Mismatch Defect reporting status"; + } + container ptim { + presence "Indicates a ptim node is configured."; + description + "Set Path Trace Identity Mismatch Defect reporting status"; + } + container puneq { + presence "Indicates a puneq node is configured."; + description + "Set Path Unequipped Defect Indication reporting status"; + } + } + container scrambling { + description + "Configure SONET/SDH SPE scrambling"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container threshold { + description + "Configure SONET/SDH path BER threshold values"; + leaf b3-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B3 BER Threshold Crossing Alert (TCA) threshold"; + } + } + container disable { + description + "Configure SONET controller's state on detecting PATH alarms"; + container alarm-down { + presence "Indicates a alarm-down node is configured."; + description + "Do not bring controller state to down on any path alarm"; + } + } + container uneq-shut { + presence "Indicates a uneq-shut node is configured."; + description + "Configure sending SONET/SDH UNEQuipped when shutdown"; + } + } + container stses { + description + "Configure SONET path parameters"; + list sts { + key "path-range"; + description + "Configure SONET path parameters"; + leaf path-range { + type uint32 { + range "1..48" { + description + "Possible range is 1-3 for OC3, 1-12 for OC12 .."; + } + } + description + "Configure SONET path parameters"; + } + leaf mode { + type enumeration { + enum "atm" { + value 13; + description + "clear channel carrying atm"; + } + enum "pos-scramble" { + value 11; + description + "clear channel carrying POS scramble"; + } + enum "pos-unscramble" { + value 12; + description + "clear channel carrying POS unscramble"; + } + enum "t3" { + value 9; + description + "sonet path carrying T3"; + } + enum "vt15" { + value 6; + description + "sonet path carrying VT15"; + } + enum "vt15-t1" { + value 7; + description + "sonet path carrying VT15 T1"; + } + enum "vt2" { + value 8; + description + "sonet path carrying VT2"; + } + } + description + "Configure mode for the path"; + } + leaf width { + type uint32 { + range "1..768" { + description + "Valid width(1,3,12,48..), natural sts boundaries(1,4,7,10,13..)"; + } + } + description + "Configure width for the path"; + } + container report { + description + "Configure SONET/SDH path alarm reporting"; + container b3-tca { + description + "Set B3 BER Threshold Crossing Alert (TCA) reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container pais { + presence "Indicates a pais node is configured."; + description + "Set Path Alarm Indication Signal reporting status"; + } + container plop { + description + "Set Path Loss of Pointer reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container prdi { + presence "Indicates a prdi node is configured."; + description + "Set Path Remote Defect Indication reporting status"; + } + container puneq { + presence "Indicates a puneq node is configured."; + description + "Set Path Unequipped Defect Indication reporting status"; + } + } + container threshold { + description + "Configure SONET path BER threshold values"; + leaf b3-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B3 BER Threshold Crossing Alert (TCA) threshold"; + } + } + container overhead { + description + "Configure SONET/SDH POH byte/bit values"; + leaf c2 { + type uint32 { + range "0..255" { + description + "C2 byte value (default 0xCF)"; + } + } + description + "Specify STS SPE content (C2) byte"; + } + leaf j1 { + type string { + length "1..62" { + description + "ASCII text (max 62 characters)"; + } + } + description + "Configure SONET/SDH path trace (J1) buffer"; + } + } + container delay { + description + "alarm soaking"; + leaf trigger { + type uint32 { + range "0..60000" { + description + "Time in msec to soak before declaring the alarm(Non-intelligent SPA 0-511 msec; Intelligent SPA 0-60000 msec)"; + } + } + description + "trigger time"; + } + leaf clear { + type uint32 { + range "1000..180000" { + description + "Time in msec to soak before clearing the alarm(Non-intelligent SPA(Not Supported); Intelligent SPA 1000-180000 msec)"; + } + } + description + "clear time"; + } + } + } + } + container aus { + description + "Configure SDH path parameters"; + list au { + key "path-range"; + description + "Configure SDH path parameters"; + leaf path-range { + type uint32 { + range "1..48" { + description + "au3 or au4 path range"; + } + } + description + "Configure SDH path parameters"; + } + leaf mode { + type enumeration { + enum "atm" { + value 13; + description + "clear channel carrying atm"; + } + enum "pos-scramble" { + value 11; + description + "clear channel carrying POS scramble"; + } + enum "pos-unscramble" { + value 12; + description + "clear channel carrying POS unscramble"; + } + enum "c11" { + value 4; + description + "au3 path carrying c11"; + } + enum "c11-t1" { + value 5; + description + "au3 path carrying c11 t1"; + } + enum "c12" { + value 2; + description + "au3 path carrying c12"; + } + enum "c12-e1" { + value 3; + description + "au3 path carrying c12 e1"; + } + enum "e3" { + value 10; + description + "au3 path carrying E3"; + } + enum "t3" { + value 9; + description + "au3 path carrying T3"; + } + enum "tug3" { + value 14; + description + "au4 path carries TUG3"; + } + } + description + "Configure mode for the au path"; + } + leaf width { + type uint32 { + range "1..768" { + description + "Valid width(1,3,12,48..), natural au boundaries(1,4,7,10,13..)"; + } + } + description + "Configure width for the path"; + } + container report { + description + "Configure SONET/SDH path alarm reporting"; + container b3-tca { + description + "Set B3 BER Threshold Crossing Alert (TCA) reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container pais { + presence "Indicates a pais node is configured."; + description + "Set Path Alarm Indication Signal reporting status"; + } + container plop { + description + "Set Path Loss of Pointer reporting status"; + container disable { + presence "Indicates a disable node is configured."; + description + ""; + } + } + container prdi { + presence "Indicates a prdi node is configured."; + description + "Set Path Remote Defect Indication reporting status"; + } + container puneq { + presence "Indicates a puneq node is configured."; + description + "Set Path Unequipped Defect Indication reporting status"; + } + } + container threshold { + description + "Configure SDH path BER threshold values"; + leaf b3-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B3 BER Threshold Crossing Alert (TCA) threshold"; + } + } + container overhead { + description + "Configure SONET/SDH POH byte/bit values"; + leaf c2 { + type uint32 { + range "0..255" { + description + "C2 byte value (default 0xCF)"; + } + } + description + "Specify STS SPE content (C2) byte"; + } + leaf j1 { + type string { + length "1..62" { + description + "ASCII text (max 62 characters)"; + } + } + description + "Configure SONET/SDH path trace (J1) buffer"; + } + } + container delay { + description + "alarm soaking"; + leaf trigger { + type uint32 { + range "0..60000" { + description + "Time in msec to soak before declaring the alarm(Non-intelligent SPA 0-511 msec; Intelligent SPA 0-60000 msec)"; + } + } + description + "trigger time"; + } + leaf clear { + type uint32 { + range "1000..180000" { + description + "Time in msec to soak before clearing the alarm(Non-intelligent SPA(Not Supported); Intelligent SPA 1000-180000 msec)"; + } + } + description + "clear time"; + } + } + container tug3s { + description + "Configure tug3 path parameters"; + list tug3 { + key "number-range"; + description + "Configure tug3 path parameters"; + leaf number-range { + type uint32 { + range "1..3" { + description + "tug3 number range"; + } + } + description + "Configure tug3 path parameters"; + } + leaf mode { + type enumeration { + enum "c12" { + value 2; + description + "tug3 path carrying TU-12"; + } + enum "c12-e1" { + value 3; + description + "tug3 path carrying TU-12 to e1"; + } + enum "c11" { + value 4; + description + "tug3 path carrying TU-11"; + } + enum "c11-t1" { + value 5; + description + "tug3 path carrying TU-11 to t1"; + } + enum "t3" { + value 9; + description + "au3 or all tug3 path carrying T3"; + } + enum "e3" { + value 10; + description + "au3 or all tug3 path carrying E3"; + } + } + description + "Configure mode for the tug3 path"; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-pm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-pm-cfg.yang new file mode 100644 index 000000000..f600e478f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sonet-pm-cfg.yang @@ -0,0 +1,1141 @@ +module Cisco-IOS-XR-um-cont-sonet-pm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sonet-pm-cfg"; + prefix um-cont-sonet-pm-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-sonet-pm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container pm { + when "../a1:controller-name[starts-with(text(),'SONET')]" { + tailf:dependency "../a1:controller-name"; + } + description + "Configure pm parameters"; + container interval-15-min { + description + "Configure pm parameters of 15 minute interval"; + container ocn { + description + "configure ocn performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf cv-s { + type uint32 { + range "0..7967700" { + description + "CV-S threshold range"; + } + } + description + "set cv-s threshold"; + } + leaf es-s { + type uint32 { + range "0..900" { + description + "es-s threshold range"; + } + } + description + "set es-s threshold"; + } + leaf ses-s { + type uint32 { + range "0..900" { + description + "ses-s threshold range"; + } + } + description + "set ses-s threshold"; + } + leaf sefs-s { + type uint32 { + range "0..900" { + description + "sefs-s threshold range"; + } + } + description + "set sefs-s threshold"; + } + leaf cv-l-ne { + type uint32 { + range "0..8850600" { + description + "cv-l-ne threshold"; + } + } + description + "set cv-l-ne threshold"; + } + leaf es-l-ne { + type uint32 { + range "0..900" { + description + "es-l-ne threshold"; + } + } + description + "set es-l-ne threshold"; + } + leaf ses-l-ne { + type uint32 { + range "0..900" { + description + "ses-l-ne threshold range"; + } + } + description + "set ses-l-ne threshold"; + } + leaf uas-l-ne { + type uint32 { + range "0..900" { + description + "uas-l-ne threshold range"; + } + } + description + "set uas-l-ne threshold"; + } + leaf fc-l-ne { + type uint32 { + range "0..72" { + description + "fc-l-ne threshold range"; + } + } + description + "set fc-l-ne threshold"; + } + leaf cv-l-fe { + type uint32 { + range "0..8850600" { + description + "cv-l-fe threshold"; + } + } + description + "set cv-l-fe threshold"; + } + leaf es-l-fe { + type uint32 { + range "0..900" { + description + "es-l-fe threshold"; + } + } + description + "set es-l-fe threshold"; + } + leaf ses-l-fe { + type uint32 { + range "0..900" { + description + "ses-l-fe threshold range"; + } + } + description + "set ses-l-fe threshold"; + } + leaf uas-l-fe { + type uint32 { + range "0..900" { + description + "uas-l-fe threshold range"; + } + } + description + "set uas-l-fe threshold"; + } + leaf fc-l-fe { + type uint32 { + range "0..72" { + description + "fc-l-fe threshold range"; + } + } + description + "set fc-l-fe threshold"; + } + } + container report { + description + "set ocn TCA reporting status"; + container sefs-s { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-s { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-s { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-s { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-ne { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-ne { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-ne { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-ne { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-ne { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-fe { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-fe { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-fe { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-fe { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-fe { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container sts { + description + "configure STS performance monitoring"; + container threshold { + description + "Configure threshold on sts parameters"; + container cv-p { + description + "set cv-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..7967700" { + description + "CV-P threshold range"; + } + } + mandatory true; + description + "set cv-p threshold"; + } + } + } + container es-p { + description + "set es-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..900" { + description + "es-p threshold range"; + } + } + mandatory true; + description + "set es-p threshold"; + } + } + } + container ses-p { + description + "set ses-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..900" { + description + "ses-p threshold range"; + } + } + mandatory true; + description + "set ses-p threshold"; + } + } + } + container uas-p { + description + "set uas-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..900" { + description + "uas-p threshold range"; + } + } + mandatory true; + description + "set uas-p threshold"; + } + } + } + } + container reports { + description + "set sts TCA reporting status"; + list report { + must "enable"; + key "channel-number reporting-status"; + description + "set sts TCA reporting status"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf reporting-status { + type enumeration { + enum "cv-p" { + value 4194304; + description + "set cv TCA reporting status"; + } + enum "es-p" { + value 4194305; + description + "set es TCA reporting status"; + } + enum "ses-p" { + value 4194306; + description + "set ses TCA reporting status"; + } + enum "uas-p" { + value 4194307; + description + "set uas TCA reporting status"; + } + } + description + "set sts TCA reporting status"; + } + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the reporting status"; + } + } + } + } + container path { + description + "configure path performance monitoring"; + container threshold { + description + "Configure threshold on sonet path parameters"; + leaf cv-p { + type uint32 { + range "0..7967700" { + description + "CV-P threshold range"; + } + } + description + "set cv-p threshold"; + } + leaf es-p { + type uint32 { + range "0..900" { + description + "es-p threshold range"; + } + } + description + "set es-p threshold"; + } + leaf ses-p { + type uint32 { + range "0..900" { + description + "ses-p threshold range"; + } + } + description + "set ses-p threshold"; + } + leaf uas-p { + type uint32 { + range "0..900" { + description + "uas-p threshold range"; + } + } + description + "set uas-p threshold"; + } + } + container report { + description + "set sonet path TCA reporting status"; + container cv-p { + description + "set cv TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-p { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-p { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-p { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hour { + description + "Configure pm parameters of 24 hour interval"; + container ocn { + description + "configure ocn performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf cv-s { + type uint32 { + range "0..764899200" { + description + "CV-S threshold range"; + } + } + description + "set cv-s threshold"; + } + leaf es-s { + type uint32 { + range "0..86400" { + description + "es-s threshold range"; + } + } + description + "set es-s threshold"; + } + leaf ses-s { + type uint32 { + range "0..86400" { + description + "ses-s threshold range"; + } + } + description + "set ses-s threshold"; + } + leaf sefs-s { + type uint32 { + range "0..86400" { + description + "sefs-s threshold range"; + } + } + description + "set sefs-s threshold"; + } + leaf cv-l-ne { + type uint32 { + range "0..849657600" { + description + "cv-l-ne threshold"; + } + } + description + "set cv-l-ne threshold"; + } + leaf es-l-ne { + type uint32 { + range "0..86400" { + description + "es-l-ne threshold"; + } + } + description + "set es-l-ne threshold"; + } + leaf ses-l-ne { + type uint32 { + range "0..86400" { + description + "ses-l-ne threshold range"; + } + } + description + "set ses-l-ne threshold"; + } + leaf uas-l-ne { + type uint32 { + range "0..86400" { + description + "uas-l-ne threshold range"; + } + } + description + "set uas-l-ne threshold"; + } + leaf fc-l-ne { + type uint32 { + range "0..6912" { + description + "fc-l-ne threshold range"; + } + } + description + "set fc-l-ne threshold"; + } + leaf cv-l-fe { + type uint32 { + range "0..849657600" { + description + "cv-l-fe threshold"; + } + } + description + "set cv-l-fe threshold"; + } + leaf es-l-fe { + type uint32 { + range "0..86400" { + description + "es-l-fe threshold"; + } + } + description + "set es-l-fe threshold"; + } + leaf ses-l-fe { + type uint32 { + range "0..86400" { + description + "ses-l-fe threshold range"; + } + } + description + "set ses-l-fe threshold"; + } + leaf uas-l-fe { + type uint32 { + range "0..86400" { + description + "uas-l-fe threshold range"; + } + } + description + "set uas-l-fe threshold"; + } + leaf fc-l-fe { + type uint32 { + range "0..6912" { + description + "fc-l-fe threshold range"; + } + } + description + "set fc-l-fe threshold"; + } + } + container report { + description + "set ocn TCA reporting status"; + container sefs-s { + description + "set esr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-s { + description + "set es-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-s { + description + "set es-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-s { + description + "set esr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-ne { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-ne { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-ne { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-ne { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-ne { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container fc-l-fe { + description + "set uas-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container cv-l-fe { + description + "set ses-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-fe { + description + "set ses-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-fe { + description + "set sesr-pm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-fe { + description + "set sesr-sm TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + container sts { + description + "configure STS performance monitoring"; + container threshold { + description + "Configure threshold on sts parameters"; + container cv-p { + description + "set cv-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..7967700" { + description + "CV-P threshold range"; + } + } + mandatory true; + description + "set cv-p threshold"; + } + } + } + container es-p { + description + "set es-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..900" { + description + "es-p threshold range"; + } + } + mandatory true; + description + "set es-p threshold"; + } + } + } + container ses-p { + description + "set ses-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..900" { + description + "ses-p threshold range"; + } + } + mandatory true; + description + "set ses-p threshold"; + } + } + } + container uas-p { + description + "set uas-p threshold"; + list sts { + key "channel-number"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf threshold { + type uint32 { + range "0..900" { + description + "uas-p threshold range"; + } + } + mandatory true; + description + "set uas-p threshold"; + } + } + } + } + container reports { + description + "set sts TCA reporting status"; + list report { + must "enable"; + key "channel-number reporting-status"; + description + "set sts TCA reporting status"; + leaf channel-number { + type uint32 { + range "1..48" { + description + " Channel Number"; + } + } + description + "configure STS performance monitoring"; + } + leaf reporting-status { + type enumeration { + enum "cv-p" { + value 4194304; + description + "set cv TCA reporting status"; + } + enum "es-p" { + value 4194305; + description + "set es TCA reporting status"; + } + enum "ses-p" { + value 4194306; + description + "set ses TCA reporting status"; + } + enum "uas-p" { + value 4194307; + description + "set uas TCA reporting status"; + } + } + description + "set sts TCA reporting status"; + } + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the reporting status"; + } + } + } + } + container path { + description + "configure path performance monitoring"; + container threshold { + description + "Configure threshold on sonet path parameters"; + leaf cv-p { + type uint32 { + range "0..764899200" { + description + "CV-P threshold range"; + } + } + description + "set cv-p threshold"; + } + leaf es-p { + type uint32 { + range "0..86400" { + description + "es-p threshold range"; + } + } + description + "set es-p threshold"; + } + leaf ses-p { + type uint32 { + range "0..86400" { + description + "ses-p threshold range"; + } + } + description + "set ses-p threshold"; + } + leaf uas-p { + type uint32 { + range "0..86400" { + description + "uas-p threshold range"; + } + } + description + "set uas-p threshold"; + } + } + container report { + description + "set sonetpath TCA reporting status"; + container cv-p { + description + "set cv TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-p { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-p { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-p { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-cfg.yang new file mode 100644 index 000000000..bf93453d1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-cfg.yang @@ -0,0 +1,205 @@ +module Cisco-IOS-XR-um-cont-stm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-stm-cfg"; + prefix um-cont-stm-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-stm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container clock { + description + "Configure SONET/SDH port clock"; + leaf source { + type enumeration { + enum "internal" { + value 0; + description + "Select internal clock"; + } + enum "line" { + value 1; + description + "Select clock recovered from line (default)"; + } + } + description + "Configure SONET/SDH port TX clock source"; + } + } + container loopback { + description + "Configure SONET/SDH controller loopback mode"; + container internal { + must "not(../line)"; + presence "Indicates a internal node is configured."; + description + "Select local (terminal) loopback"; + } + container line { + must "not(../internal)"; + presence "Indicates a line node is configured."; + description + "Select network (facility) loopback"; + } + } + container overhead { + description + "Configure SONET Section & Line or SDH Regeneration Section & Multiplex Section OH byte/bit values"; + container j0 { + description + "Specify SONET Section trace or SDH Regeneration Section identifier (J0/C1) "; + container send { + description + "Set transmit trace Identifier"; + leaf one-byte { + type uint32 { + range "0..255" { + description + "J0/C1 byte value (default 0x01)"; + } + } + must "not(../sixteen-bytes)"; + description + "Configure a 1 byte section or Regeneration section trace "; + } + leaf sixteen-bytes { + type string { + length "1..15" { + description + "ASCII text "; + } + } + must "not(../one-byte)"; + description + "Configure a 16 bytes section or Regeneration section trace"; + } + } + container expected { + description + "Set expected trace Identifier"; + leaf one-byte { + type uint32 { + range "0..255" { + description + "J0/C1 byte value (default 0x01)"; + } + } + must "not(../sixteen-bytes)"; + description + "Configure a 1 byte section or Regeneration section trace "; + } + leaf sixteen-bytes { + type string { + length "1..15" { + description + "ASCII text "; + } + } + must "not(../one-byte)"; + description + "Configure a 16 bytes section or Regeneration section trace"; + } + } + } + } + container perf-mon { + description + "Enable/Disable Performance Monitoring"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable performance monitoring"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable performance monitoring"; + } + } + container threshold { + description + "Configure SONET section/line or SDH Regeneration/Multiplex Section BER threshold values"; + leaf b1-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B1 BER Threshold Crossing Alert (TCA) threshold"; + } + leaf b2-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B2 BER Threshold Crossing Alert (TCA) threshold"; + } + leaf sd-ber { + type uint32 { + range "5..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set Signal Degrade BER threshold"; + } + leaf sf-ber { + type uint32 { + range "3..5" { + description + "Bit error rate (10 to the minus n) (default 3)"; + } + } + description + "Set Signal Fail BER threshold"; + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-pm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-pm-cfg.yang new file mode 100644 index 000000000..8b2789ca7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-stm-pm-cfg.yang @@ -0,0 +1,1003 @@ +module Cisco-IOS-XR-um-cont-stm-pm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-stm-pm-cfg"; + prefix um-cont-stm-pm-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-stm-pm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container pm { + when "../a1:controller-name[starts-with(text(),'STM')]" { + tailf:dependency "../a1:controller-name"; + } + description + "Configure pm parameters"; + container interval-15-min { + description + "Configure pm parameters of 15 minute interval"; + container stm { + description + "configure stm performance monitoring"; + container threshold { + description + "Configure threshold on stm parameters"; + leaf eb-s { + type uint32 { + range "0..8850600" { + description + "eb-s threshold range"; + } + } + description + "set eb-s threshold"; + } + leaf es-s { + type uint32 { + range "0..900" { + description + "es-s threshold range"; + } + } + description + "set es-s threshold"; + } + leaf esr-s { + type uint32 { + range "0..100000" { + description + "esr-s threshold range"; + } + } + description + "set esr-s threshold"; + } + leaf ses-s { + type uint32 { + range "0..900" { + description + "ses-s threshold range"; + } + } + description + "set ses-s threshold"; + } + leaf sesr-s { + type uint32 { + range "0..100000" { + description + "sesr-s threshold range"; + } + } + description + "set sesr-s threshold"; + } + leaf bbe-s { + type uint32 { + range "0..8850600" { + description + "bbes-s threshold range"; + } + } + description + "set bbe-s threshold"; + } + leaf bber-s { + type uint32 { + range "0..100000" { + description + "bber-s threshold range"; + } + } + description + "set bber-s threshold"; + } + leaf uas-s { + type uint32 { + range "0..900" { + description + "uas-s threshold range"; + } + } + description + "set uas-s threshold"; + } + leaf eb-l-ne { + type uint32 { + range "0..8850600" { + description + "eb-l-ne threshold"; + } + } + description + "set eb-l-ne threshold"; + } + leaf es-l-ne { + type uint32 { + range "0..900" { + description + "es-l-ne threshold"; + } + } + description + "set es-l-ne threshold"; + } + leaf esr-l-ne { + type uint32 { + range "0..100000" { + description + "esr-l-ne threshold"; + } + } + description + "set esr-l-ne threshold"; + } + leaf ses-l-ne { + type uint32 { + range "0..900" { + description + "ses-l-ne threshold range"; + } + } + description + "set ses-l-ne threshold"; + } + leaf sesr-l-ne { + type uint32 { + range "0..100000" { + description + "sesr-l-ne threshold range"; + } + } + description + "set sesr-l-ne threshold"; + } + leaf bbe-l-ne { + type uint32 { + range "0..8550600" { + description + "sesr-l-ne threshold range"; + } + } + description + "set bbe-l-ne threshold"; + } + leaf bber-l-ne { + type uint32 { + range "0..100000" { + description + "bber-l-ne threshold range"; + } + } + description + "set bber-l-ne threshold"; + } + leaf uas-l-ne { + type uint32 { + range "0..900" { + description + "uas-l-ne threshold range"; + } + } + description + "set uas-l-ne threshold"; + } + leaf eb-l-fe { + type uint32 { + range "0..8850600" { + description + "eb-l-fe threshold"; + } + } + description + "set eb-l-fe threshold"; + } + leaf es-l-fe { + type uint32 { + range "0..900" { + description + "es-l-fe threshold"; + } + } + description + "set es-l-fe threshold"; + } + leaf esr-l-fe { + type uint32 { + range "0..100000" { + description + "esr-l-fe threshold"; + } + } + description + "set esr-l-fe threshold"; + } + leaf ses-l-fe { + type uint32 { + range "0..900" { + description + "ses-l-fe threshold range"; + } + } + description + "set ses-l-fe threshold"; + } + leaf sesr-l-fe { + type uint32 { + range "0..100000" { + description + "sesr-l-fe threshold range"; + } + } + description + "set sesr-l-fe threshold"; + } + leaf bbe-l-fe { + type uint32 { + range "0..8850600" { + description + "bbe-l-fe threshold range"; + } + } + description + "set bbe-l-fe threshold"; + } + leaf bber-l-fe { + type uint32 { + range "0..100000" { + description + "bber-l-fe threshold range"; + } + } + description + "set bber-l-fe threshold"; + } + leaf uas-l-fe { + type uint32 { + range "0..900" { + description + "uas-l-fe threshold range"; + } + } + description + "set uas-l-fe threshold"; + } + } + container report { + description + "set stm TCA reporting status"; + container eb-s { + description + "set eb TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-s { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-s { + description + "set esr TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-s { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-s { + description + "set sesr TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-s { + description + "set bbe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-s { + description + "set bber TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-s { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container eb-l-ne { + description + "set eb TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-ne { + description + "set es-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-l-ne { + description + "set esr-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-ne { + description + "set ses-l-le TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-l-ne { + description + "set sesr-l-le TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-l-ne { + description + "set bbe-l-le TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-l-ne { + description + "set bber-l-le TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-ne { + description + "set uas-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container eb-l-fe { + description + "set eb-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-fe { + description + "set es-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-l-fe { + description + "set esr-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-fe { + description + "set ses-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-l-fe { + description + "set sesr-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-l-fe { + description + "set bbe-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-l-fe { + description + "set bber-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-fe { + description + "set uas-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hour { + description + "Configure pm parameters of 24 hour interval"; + container stm { + description + "configure stm performance monitoring"; + container threshold { + description + "Configure threshold on otn parameters"; + leaf eb-s { + type uint32 { + range "0..849657600" { + description + "eb-s threshold range"; + } + } + description + "set eb-s threshold"; + } + leaf es-s { + type uint32 { + range "0..86400" { + description + "es-s threshold range"; + } + } + description + "set es-s threshold"; + } + leaf esr-s { + type uint32 { + range "0..100000" { + description + "esr-s threshold range"; + } + } + description + "set esr-s threshold"; + } + leaf ses-s { + type uint32 { + range "0..86400" { + description + "ses-s threshold range"; + } + } + description + "set ses-s threshold"; + } + leaf sesr-s { + type uint32 { + range "0..100000" { + description + "sesr-s threshold range"; + } + } + description + "set sesr-s threshold"; + } + leaf bbe-s { + type uint32 { + range "0..849657600" { + description + "bbe-s threshold range"; + } + } + description + "set bbe-s threshold"; + } + leaf bber-s { + type uint32 { + range "0..100000" { + description + "bber-s threshold range"; + } + } + description + "set bber-s threshold"; + } + leaf uas-s { + type uint32 { + range "0..86400" { + description + "uas-s threshold range"; + } + } + description + "set uas-s threshold"; + } + leaf eb-l-ne { + type uint32 { + range "0..849657600" { + description + "eb-l-ne threshold"; + } + } + description + "set eb-l-ne threshold"; + } + leaf es-l-ne { + type uint32 { + range "0..86400" { + description + "es-l-ne threshold"; + } + } + description + "set es-l-ne threshold"; + } + leaf esr-l-ne { + type uint32 { + range "0..100000" { + description + "esr-l-ne threshold"; + } + } + description + "set esr-l-ne threshold"; + } + leaf ses-l-ne { + type uint32 { + range "0..86400" { + description + "ses-l-ne threshold range"; + } + } + description + "set ses-l-ne threshold"; + } + leaf sesr-l-ne { + type uint32 { + range "0..100000" { + description + "sesr-l-ne threshold range"; + } + } + description + "set sesr-l-ne threshold"; + } + leaf bbe-l-ne { + type uint32 { + range "0..849657600" { + description + "bbe-l-ne threshold range"; + } + } + description + "set bbe-l-ne threshold"; + } + leaf bber-l-ne { + type uint32 { + range "0..100000" { + description + "bber-l-ne threshold range"; + } + } + description + "set bber-l-ne threshold"; + } + leaf uas-l-ne { + type uint32 { + range "0..86400" { + description + "uas-l-ne threshold range"; + } + } + description + "set uas-l-ne threshold"; + } + leaf eb-l-fe { + type uint32 { + range "0..849657600" { + description + "eb-l-fe threshold"; + } + } + description + "set eb-l-fe threshold"; + } + leaf es-l-fe { + type uint32 { + range "0..86400" { + description + "es-l-fe threshold"; + } + } + description + "set es-l-fe threshold"; + } + leaf esr-l-fe { + type uint32 { + range "0..100000" { + description + "esr-l-fe threshold"; + } + } + description + "set esr-l-fe threshold"; + } + leaf ses-l-fe { + type uint32 { + range "0..86400" { + description + "ses-l-fe threshold range"; + } + } + description + "set ses-l-fe threshold"; + } + leaf sesr-l-fe { + type uint32 { + range "0..100000" { + description + "sesr-l-fe threshold range"; + } + } + description + "set sesr-l-fe threshold"; + } + leaf bbe-l-fe { + type uint32 { + range "0..849657600" { + description + "bbe-l-fe threshold range"; + } + } + description + "set bbe-l-fe threshold"; + } + leaf bber-l-fe { + type uint32 { + range "0..100000" { + description + "bber-l-fe threshold range"; + } + } + description + "set bber-l-fe threshold"; + } + leaf uas-l-fe { + type uint32 { + range "0..86400" { + description + "uas-l-fe threshold range"; + } + } + description + "set uas-l-fe threshold"; + } + } + container report { + description + "set stm TCA reporting status"; + container eb-s { + description + "set eb-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-s { + description + "set es-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-s { + description + "set esr-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-s { + description + "set ses-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-s { + description + "set sesr-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-s { + description + "set bbe-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-s { + description + "set bber-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-s { + description + "set bbe-s TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container eb-l-ne { + description + "set eb-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-ne { + description + "set es-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-l-ne { + description + "set esr-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-ne { + description + "set ses-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-l-ne { + description + "set sesr-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-l-ne { + description + "set bbe-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-l-ne { + description + "set bber-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-ne { + description + "set uas-l-ne TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container eb-l-fe { + description + "set eb-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-l-fe { + description + "set es-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container esr-l-fe { + description + "set esr-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-l-fe { + description + "set ses-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container sesr-l-fe { + description + "set sesr-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bbe-l-fe { + description + "set bbe-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container bber-l-fe { + description + "set bber-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-l-fe { + description + "set uas-l-fe TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-cfg.yang new file mode 100644 index 000000000..12fea81ed --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-cfg.yang @@ -0,0 +1,139 @@ +module Cisco-IOS-XR-um-cont-sts-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sts-cfg"; + prefix um-cont-sts-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-sts package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container overhead { + description + "Configure SONET/SDH POH byte/bit values"; + container j1 { + description + "Configure SONET/SDH path trace (J1) buffer"; + container send { + description + "Set transmit trace Identifier"; + leaf sixteen-bytes { + type string { + length "1..15" { + description + "ASCII text "; + } + } + must "not(../sixtyfour-bytes)"; + description + "Configure a 16 bytes path trace"; + } + leaf sixtyfour-bytes { + type string { + length "1..62" { + description + "ASCII text "; + } + } + must "not(../sixteen-bytes)"; + description + "Configure a 64 byte path trace"; + } + } + container expected { + description + "Set expected trace Identifier"; + leaf sixteen-bytes { + type string { + length "1..15" { + description + "ASCII text "; + } + } + must "not(../sixtyfour-bytes)"; + description + "Configure a 16 bytes path trace"; + } + leaf sixtyfour-bytes { + type string { + length "1..62" { + description + "ASCII text "; + } + } + must "not(../sixteen-bytes)"; + description + "Configure a 64 byte path trace"; + } + } + } + } + container threshold { + description + "Configure SONET/SDH path BER threshold values"; + leaf b3-tca { + type uint32 { + range "3..9" { + description + "Bit error rate (10 to the minus n) (default 6)"; + } + } + description + "Set B3 BER Threshold Crossing Alert (TCA) threshold"; + } + } + container perf-mon { + description + "Enable/Disable Performance Monitoring"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable performance monitoring"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable performance monitoring"; + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-pm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-pm-cfg.yang new file mode 100644 index 000000000..9cd8892f4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-sts-pm-cfg.yang @@ -0,0 +1,243 @@ +module Cisco-IOS-XR-um-cont-sts-pm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sts-pm-cfg"; + prefix um-cont-sts-pm-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-sts-pm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container pm { + when "../a1:controller-name[starts-with(text(),'STS')]" { + tailf:dependency "../a1:controller-name"; + } + description + "Configure pm parameters"; + container interval-15-min { + description + "Configure pm parameters of 15 minute interval"; + container sts { + description + "configure STS performance monitoring"; + container threshold { + description + "Configure threshold on sts parameters"; + leaf cv-p { + type uint32 { + range "0..7967700" { + description + "CV-P threshold range"; + } + } + description + "set cv-p threshold"; + } + leaf es-p { + type uint32 { + range "0..900" { + description + "es-p threshold range"; + } + } + description + "set es-p threshold"; + } + leaf ses-p { + type uint32 { + range "0..900" { + description + "ses-p threshold range"; + } + } + description + "set ses-p threshold"; + } + leaf uas-p { + type uint32 { + range "0..900" { + description + "uas-p threshold range"; + } + } + description + "set uas-p threshold"; + } + } + container report { + description + "set sts TCA reporting status"; + container cv-p { + description + "set cv TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-p { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-p { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-p { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + container interval-24-hour { + description + "Configure pm parameters of 24 hour interval"; + container sts { + description + "configure STS performance monitoring"; + container threshold { + description + "Configure threshold on sts parameters"; + leaf cv-p { + type uint32 { + range "0..764899200" { + description + "CV-P threshold range"; + } + } + description + "set cv-p threshold"; + } + leaf es-p { + type uint32 { + range "0..86400" { + description + "es-p threshold range"; + } + } + description + "set es-p threshold"; + } + leaf ses-p { + type uint32 { + range "0..86400" { + description + "ses-p threshold range"; + } + } + description + "set ses-p threshold"; + } + leaf uas-p { + type uint32 { + range "0..86400" { + description + "uas-p threshold range"; + } + } + description + "set uas-p threshold"; + } + } + container report { + description + "set sts TCA reporting status"; + container cv-p { + description + "set cv TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container es-p { + description + "set es TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container ses-p { + description + "set ses TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + container uas-p { + description + "set uas TCA reporting status"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable TCA reporting"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-vc-pm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-vc-pm-cfg.yang new file mode 100644 index 000000000..e0be50e75 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-cont-vc-pm-cfg.yang @@ -0,0 +1,373 @@ +module Cisco-IOS-XR-um-cont-vc-pm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-vc-pm-cfg"; + prefix um-cont-vc-pm-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR cont-vc-pm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-22 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping CONT-BODY { + container pm { + description + "Configure pm parameters"; + container interval-15-min { + description + "Configure pm parameters of 15 minute interval"; + container ho-vc { + description + "configure HO_VC performance monitoring"; + container threshold { + description + "Configure threshold on ho_vc parameters"; + leaf eb-p { + type uint32 { + range "0..8850600" { + description + "EB-P threshold range"; + } + } + description + "set eb-p threshold"; + } + leaf es-p { + type uint32 { + range "0..900" { + description + "es-p threshold range"; + } + } + description + "set es-p threshold"; + } + leaf esr-p { + type uint32 { + range "0..100000" { + description + "esr-p threshold range"; + } + } + description + "set esr-p threshold"; + } + leaf ses-p { + type uint32 { + range "0..900" { + description + "ses-p threshold range"; + } + } + description + "set ses-p threshold"; + } + leaf sesr-p { + type uint32 { + range "0..100000" { + description + "sesr-p threshold range"; + } + } + description + "set sesr-p threshold"; + } + leaf bbe-p { + type uint32 { + range "0..8850600" { + description + "bbe-p threshold range"; + } + } + description + "set bbe-p threshold"; + } + leaf bber-p { + type uint32 { + range "0..100000" { + description + "bber-p threshold range"; + } + } + description + "set bber-p threshold"; + } + leaf uas-p { + type uint32 { + range "0..900" { + description + "uas-p threshold range"; + } + } + description + "set uas-p threshold"; + } + } + container reports { + description + "set ho_vc TCA reporting status"; + list report { + must "enable or disable"; + key "report-id"; + description + "set ho_vc TCA reporting status"; + leaf report-id { + type enumeration { + enum "eb-p" { + value 33554432; + description + "set eb TCA reporting status"; + } + enum "es-p" { + value 33554433; + description + "set es TCA reporting status"; + } + enum "esr-p" { + value 33554434; + description + "set esr TCA reporting status"; + } + enum "ses-p" { + value 33554435; + description + "set ses TCA reporting status"; + } + enum "sesr-p" { + value 33554436; + description + "set sesr TCA reporting status"; + } + enum "bbe-p" { + value 33554437; + description + "set bbe TCA reporting status"; + } + enum "bber-p" { + value 33554438; + description + "set bber TCA reporting status"; + } + enum "uas-p" { + value 33554439; + description + "set uas TCA reporting status"; + } + } + description + "set ho_vc TCA reporting status"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + ""; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + ""; + } + } + } + } + } + container interval-24-hour { + description + "Configure pm parameters of 24 hour interval"; + container ho-vc { + description + "configure HO_VC performance monitoring"; + container threshold { + description + "Configure threshold on ho_vc parameters"; + leaf eb-p { + type uint32 { + range "0..849657600" { + description + "EB-P threshold range"; + } + } + description + "set eb-p threshold"; + } + leaf es-p { + type uint32 { + range "0..86400" { + description + "es-p threshold range"; + } + } + description + "set es-p threshold"; + } + leaf esr-p { + type uint32 { + range "0..100000" { + description + "esr-p threshold range"; + } + } + description + "set esr-p threshold"; + } + leaf ses-p { + type uint32 { + range "0..86400" { + description + "ses-p threshold range"; + } + } + description + "set ses-p threshold"; + } + leaf sesr-p { + type uint32 { + range "0..100000" { + description + "sesr-p threshold range"; + } + } + description + "set sesr-p threshold"; + } + leaf bbe-p { + type uint32 { + range "0..849657600" { + description + "bbe-p threshold range"; + } + } + description + "set bbe-p threshold"; + } + leaf bber-p { + type uint32 { + range "0..100000" { + description + "bber-p threshold range"; + } + } + description + "set bber-p threshold"; + } + leaf uas-p { + type uint32 { + range "0..86400" { + description + "uas-p threshold range"; + } + } + description + "set uas-p threshold"; + } + } + container reports { + description + "set ho_vc TCA reporting status"; + list report { + must "enable or disable"; + key "report-id"; + description + "set ho_vc TCA reporting status"; + leaf report-id { + type enumeration { + enum "eb-p" { + value 33554432; + description + "set eb TCA reporting status"; + } + enum "es-p" { + value 33554433; + description + "set es TCA reporting status"; + } + enum "esr-p" { + value 33554434; + description + "set esr TCA reporting status"; + } + enum "ses-p" { + value 33554435; + description + "set ses TCA reporting status"; + } + enum "sesr-p" { + value 33554436; + description + "set sesr TCA reporting status"; + } + enum "bbe-p" { + value 33554437; + description + "set bbe TCA reporting status"; + } + enum "bber-p" { + value 33554438; + description + "set bber TCA reporting status"; + } + enum "uas-p" { + value 33554439; + description + "set uas TCA reporting status"; + } + } + description + "set ho_vc TCA reporting status"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + ""; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + ""; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-cfg.yang new file mode 100644 index 000000000..28026d9c1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-cfg.yang @@ -0,0 +1,3033 @@ +module Cisco-IOS-XR-um-control-plane-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-control-plane-cfg"; + prefix um-control-plane-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR control-plane package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container control-plane { + description + "Configure Control Plane"; + container management-plane { + description + "Configure management plane protection"; + container inband { + description + "Configure an inband interface/protocol"; + container interfaces { + description + "Configure an inband interface"; + list interface { + key "interface-name"; + description + "Configure a specific interface"; + leaf interface-name { + type xr:Interface-name; + description + "Configure a specific interface"; + } + container allow { + description + "Allow a protocol on this interface"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Secure Shell (v1 & v2)"; + } + container ssh-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container telnet { + presence "Indicates a telnet node is configured."; + description + "Telnet"; + } + container telnet-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "SNMP (all versions)"; + } + container snmp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container tftp { + presence "Indicates a tftp node is configured."; + description + "TFTP"; + } + container tftp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container http { + presence "Indicates a http node is configured."; + description + "HTTP(S)"; + } + container http-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container xr-xml { + presence "Indicates a xr-xml node is configured."; + description + "XML"; + } + container xr-xml-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container netconf { + presence "Indicates a netconf node is configured."; + description + "NETCONF version 1.1 protocol"; + } + container netconf-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container all { + presence "Indicates a all node is configured."; + description + "All Protocols"; + } + container all-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + } + } + container all { + description + "configure all the interfaces"; + container allow { + description + "Allow a protocol on this interface"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Secure Shell (v1 & v2)"; + } + container ssh-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container telnet { + presence "Indicates a telnet node is configured."; + description + "Telnet"; + } + container telnet-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "SNMP (all versions)"; + } + container snmp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container tftp { + presence "Indicates a tftp node is configured."; + description + "Enable TFTP"; + } + container tftp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container http { + presence "Indicates a http node is configured."; + description + "HTTP(S)"; + } + container http-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container xr-xml { + presence "Indicates a xr-xml node is configured."; + description + "XML"; + } + container xr-xml-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container netconf { + presence "Indicates a netconf node is configured."; + description + "NETCONF version 1.1 protocol"; + } + container netconf-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container all { + presence "Indicates a all node is configured."; + description + "All Protocols"; + } + container all-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + } + } + } + } + container out-of-band { + description + "Configure an out-of-band interface/protocol"; + container interfaces { + description + "Configure an outband interface"; + list interface { + key "interface-name"; + description + "Configure a specific interface"; + leaf interface-name { + type xr:Interface-name; + description + "Configure a specific interface"; + } + container allow { + description + "Allow a protocol on this interface"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Secure Shell (v1 & v2)"; + } + container ssh-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container telnet { + presence "Indicates a telnet node is configured."; + description + "Telnet"; + } + container telnet-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "SNMP (all versions)"; + } + container snmp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container tftp { + presence "Indicates a tftp node is configured."; + description + "TFTP"; + } + container tftp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container http { + presence "Indicates a http node is configured."; + description + "HTTP(S)"; + } + container http-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container xr-xml { + presence "Indicates a xr-xml node is configured."; + description + "XML"; + } + container xr-xml-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container netconf { + presence "Indicates a netconf node is configured."; + description + "NETCONF version 1.1 protocol"; + } + container netconf-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container all { + presence "Indicates a all node is configured."; + description + "All Protocols"; + } + container all-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + } + } + container all { + description + "configure all the interfaces"; + container allow { + description + "Allow a protocol on this interface"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Secure Shell (v1 & v2)"; + } + container ssh-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container telnet { + presence "Indicates a telnet node is configured."; + description + "Telnet"; + } + container telnet-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container snmp { + presence "Indicates a snmp node is configured."; + description + "SNMP (all versions)"; + } + container snmp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container tftp { + presence "Indicates a tftp node is configured."; + description + "TFTP"; + } + container tftp-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container http { + presence "Indicates a http node is configured."; + description + "HTTP(S)"; + } + container http-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container xr-xml { + presence "Indicates a xr-xml node is configured."; + description + "XML"; + } + container xr-xml-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container netconf { + presence "Indicates a netconf node is configured."; + description + "NETCONF version 1.1 protocol"; + } + container netconf-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + container all { + presence "Indicates a all node is configured."; + description + "All Protocols"; + } + container all-peer { + description + "Configure peer address on this interface"; + container address { + description + "Configure peer address on this interface"; + container ipv4 { + description + "Configure peer IPv4 address on this interface"; + container ipv4-address-prefixes { + description + "Enter IPv4 address with prefix"; + list ipv4-address-prefix { + key "address length"; + description + "Enter IPv4 address with prefix"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address with prefix"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Enter IPv4 address with prefix"; + } + } + } + container ipv4-addresses { + description + "Enter IPv4 address"; + list ipv4-address { + key "address"; + description + "Enter IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address"; + } + } + } + } + container ipv6 { + description + "Configure peer IPv6 address on this interface"; + container ipv6-address-prefixes { + description + "Enter IPv6 address with prefix"; + list ipv6-address-prefix { + key "address length"; + description + "Enter IPv6 address with prefix"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address with prefix"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Enter IPv6 address with prefix"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address"; + list ipv6-address { + key "address"; + description + "Enter IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address"; + } + } + } + } + } + } + } + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Enter vrf name"; + } + } + description + "configure mpp outband vrf"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-local-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-local-cfg.yang new file mode 100644 index 000000000..979c41604 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-control-plane-local-cfg.yang @@ -0,0 +1,88 @@ +module Cisco-IOS-XR-um-control-plane-local-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-control-plane-local-cfg"; + prefix um-control-plane-local-cfg; + + import Cisco-IOS-XR-um-control-plane-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR control-plane-local package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature qos_ui_supp_locp_copy_qos_group { + description + "qos ui supp locp copy qos group"; + } + + feature qos_ui_supp_locp_set_precedence { + description + "qos ui supp locp set precedence"; + } + + augment "/a1:control-plane" { + container local { + description + "Locally originated packets"; + container control-packets { + description + "Control packets generated by OSPF etc"; + container copy { + description + "Copy the field from the packet header"; + container precedence { + description + "Precedence value in the packet header"; + container qos-group { + presence "Indicates a qos-group node is configured."; + description + "Set the qos-group field in locally originated control packets "; + } + } + } + container set { + if-feature "qos_ui_supp_locp_set_precedence"; + description + "Set the precedence"; + leaf precedence { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + description + "Precedence value in the packet header"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-crypto-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-crypto-cfg.yang new file mode 100644 index 000000000..0606d3867 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-crypto-cfg.yang @@ -0,0 +1,1017 @@ +module Cisco-IOS-XR-um-crypto-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-crypto-cfg"; + prefix um-crypto-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR crypto package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-05-30 { + description + "Added openssh, rsa1024, fqdn-check and crl support under ca + 2022-05-25 + Added presence statement for node serial-number + 2022-04-05 + Added generate-keys in key/generate/rsa/label + 2022-03-21 + Added auto-enroll support"; + semver:module-version "2.0.1M"; + } + revision 2021-06-17 { + description + "Fixed missing leaf subject-name and combined subject-name ca-cartificate for ca-certificate + 2021-04-22 + Initial release"; + semver:module-version "2.0.0"; + } + revision 2021-04-02 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container pki { + presence "Indicates a pki node is configured."; + description + "Enable SNMP traps for certificate expiry"; + } + } + container crypto { + description + "Global Crypto configuration command"; + container ca { + description + "Certification authority"; + container trustpoint { + description + " Config a trustpoint"; + container system-trustpoint { + presence "Indicates a system-trustpoint node is configured."; + description + "Default System trustpoint"; + leaf description { + type string { + length "1..80" { + description + "Description for this trustpoint"; + } + } + description + "Description for the trustpoint"; + } + container enrollment { + description + "Enrollment parameters"; + container retry { + description + "Polling parameters"; + leaf count { + type uint32 { + range "1..100" { + description + "Number of times to poll a CA for a certificate"; + } + } + description + "How many times to poll CA for our certificate"; + } + leaf period { + type uint32 { + range "1..60" { + description + "Period in minutes between attempts to contact a CA"; + } + } + description + "How long to wait between requests to CA for our certificate"; + } + } + leaf url { + type string { + length "1..800" { + description + "URL"; + } + } + description + "CA server enrollment URL"; + } + container terminal { + must "not(../self)"; + presence "Indicates a terminal node is configured."; + description + "Enroll via the terminal (cut-and-paste)"; + } + container self { + must "not(../terminal)"; + presence "Indicates a self node is configured."; + description + "Enroll self create self signed CA cert and the router cert signed using the same"; + } + } + container sftp-password { + description + "Secure FTP password"; + leaf password { + type xr:Proprietary-password; + description + "Enter password in encrypted form"; + } + } + leaf sftp-username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "username"; + } + } + description + "Secure FTP username"; + } + leaf auto-enroll { + type uint32 { + range "1..99" { + description + "auto-enroll percentage"; + } + } + description + "Set auto-enroll percentage at which renewal will be triggered"; + } + leaf rsakeypair { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Key pair label"; + } + } + description + "RSA key pair"; + } + container ca-keypair { + description + "Self enrollment, key pair ca cert"; + leaf rsa { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "rsa key pair label"; + } + } + must + "not(../ecdsanistp256 or ../ecdsanistp384 + or ../ecdsanistp521 or ../dsa + or ../ed25519)"; + description + "Self enrollment, rsa key pair"; + } + leaf ecdsanistp256 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Ecdsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp384 + or ../ecdsanistp521 or ../dsa + or ../ed25519)"; + description + "Self enrollment, ecdsa key pair"; + } + leaf ecdsanistp384 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Ecdsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp521 or ../dsa + or ../ed25519)"; + description + "Self enrollment, ecdsa key pair"; + } + leaf ecdsanistp521 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Ecdsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp384 or ../dsa + or ../ed25519)"; + description + "Self enrollment, ecdsa key pair"; + } + leaf dsa { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Dsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp384 or ../ecdsanistp521 + or ../ed25519)"; + description + "Self enrollment, dsa key pair label"; + } + leaf ed25519 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ed25519 key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp384 or ../ecdsanistp521 + or ../dsa)"; + description + "ed25519 key pair label"; + } + } + container keypair { + description + "key pair for router/leaf cert"; + leaf rsa { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "rsa key pair label"; + } + } + must + "not(../ecdsanistp256 or ../ecdsanistp384 + or ../ecdsanistp521 or ../dsa + or ../ed25519)"; + description + "Rsa key pair"; + } + leaf ecdsanistp256 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Ecdsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp384 + or ../ecdsanistp521 or ../dsa + or ../ed25519)"; + description + "Ecdsa key pair"; + } + leaf ecdsanistp384 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Ecdsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp521 or ../dsa + or ../ed25519)"; + description + "Self enrollment, ecdsa key pair"; + } + leaf ecdsanistp521 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Ecdsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp384 or ../dsa + or ../ed25519)"; + description + "Self enrollment, ecdsa key pair"; + } + leaf dsa { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Dsa key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp384 or ../ecdsanistp521 + or ../ed25519)"; + description + "Dsa key pair label"; + } + leaf ed25519 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ed25519 key pair label"; + } + } + must + "not(../rsa or ../ecdsanistp256 + or ../ecdsanistp384 or ../ecdsanistp521 + or ../dsa)"; + description + "ed25519 key pair label"; + } + } + container crl { + description + "CRL options"; + container optional { + presence "Indicates a optional node is configured."; + description + "CRL verification as optional"; + } + } + container query { + description + "Query parameters"; + leaf url { + type string { + length "1..800" { + description + "URL"; + } + } + description + "CA server query URL"; + } + } + container ip-address { + description + "include ip address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../none)"; + description + "ip address"; + } + container none { + must "not(../ipv4-address)"; + presence "Indicates a none node is configured."; + description + "do not include ip address"; + } + } + leaf subject-name { + type string { + length "1..800" { + description + "Subject Name"; + } + } + description + "Subject Name"; + } + leaf subject-name-ca-certificate { + type string { + length "1..800" { + description + "Subject Name"; + } + } + description + "Ca Certificate subject name for self enrollment"; + } + container serial-number { + presence "Indicates a serial-number node is configured."; + description + "include serial number"; + container none { + presence "Indicates a none node is configured."; + description + "do not include serial number"; + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name (max:32 chars)"; + } + } + description + "Source interface VRF "; + } + container lifetime { + description + "lifetime for certificate valid for self enrollment"; + leaf ca-certificate { + type uint32 { + range "30..5475" { + description + "Validity of CA certficate in days"; + } + } + description + "lifetime for ca-certificate valid for self enrollemnt"; + } + leaf certificate { + type uint32 { + range "30..5474" { + description + "Validity of certficate in days"; + } + } + description + "lifetime for ertificate valid for self enrollemnt"; + } + } + container key-usage { + description + "key usage field for the certificate self enrollment"; + container ca-certificate { + presence "Indicates a ca-certificate node is configured."; + description + "key usage field for the CA certificate"; + leaf digitalsignature { + type boolean; + mandatory true; + description + "Key usage field as digital-signature for CA certificate"; + } + leaf keycertsign { + type boolean; + mandatory true; + description + "Key usage field as key-certsign for CA certificate"; + } + leaf crlsign { + type boolean; + mandatory true; + description + "Key usage field as crl-sign for CA certificate"; + } + leaf nonrepudiation { + type boolean; + mandatory true; + description + "Key usage field as non-repudiation for CA certificate"; + } + } + container certificate { + must "digitalsignature or keyagreement or nonrepudiation or dataencipherment or keyencipherment"; + presence "Indicates a certificate node is configured."; + description + "key usage field for the leaf certificates"; + container digitalsignature { + presence "Indicates a digitalsignature node is configured."; + description + "Key usage field as digital-signature for certificate"; + } + container keyagreement { + presence "Indicates a keyagreement node is configured."; + description + "Key usage field as key-agreement for certificate"; + } + container nonrepudiation { + presence "Indicates a nonrepudiation node is configured."; + description + "Key usage field as non-repudiation for certificate"; + } + container dataencipherment { + presence "Indicates a dataencipherment node is configured."; + description + "Key usage field as data-encipherment for certificate"; + } + container keyencipherment { + presence "Indicates a keyencipherment node is configured."; + description + "Key usage field as key-encipherment for certificate"; + } + } + } + leaf message-digest { + type enumeration { + enum "md5" { + value 1; + description + "md5 algorithm for message digest.(1)"; + } + enum "sha1" { + value 2; + description + "sha1 algorithm for message digest.(2)"; + } + enum "sha256" { + value 3; + description + "sha256 algorithm for message digest.(3)"; + } + enum "sha384" { + value 4; + description + "sha384 algorithm for message digest.(4)"; + } + enum "sha512" { + value 5; + description + "sha384 algorithm for message digest.(5)"; + } + } + description + "Certificate message digesti self enrollment"; + } + } + container trustpoints { + description + "Config a trustpoint"; + list trustpoint { + key "trustpoint-name"; + description + "Trustpoint"; + leaf trustpoint-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Trustpoint Name"; + } + } + description + "Trustpoint Name"; + } + leaf description { + type string { + length "1..80" { + description + "Description for this trustpoint"; + } + } + description + "Description for the trustpoint"; + } + container enrollment { + description + "Enrollment parameters"; + container retry { + description + "Polling parameters"; + leaf count { + type uint32 { + range "1..100" { + description + "Number of times to poll a CA for a certificate"; + } + } + description + "How many times to poll CA for our certificate"; + } + leaf period { + type uint32 { + range "1..60" { + description + "Period in minutes between attempts to contact a CA"; + } + } + description + "How long to wait between requests to CA for our certificate"; + } + } + leaf url { + type string { + length "1..800" { + description + "URL"; + } + } + description + "CA server enrollment URL"; + } + container terminal { + presence "Indicates a terminal node is configured."; + description + "Enroll via the terminal (cut-and-paste)"; + } + } + container sftp-password { + description + "Secure FTP password"; + leaf password { + type xr:Proprietary-password; + description + "Enter password in encrypted form"; + } + } + leaf sftp-username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "username"; + } + } + description + "Secure FTP username"; + } + leaf auto-enroll { + type uint32 { + range "1..99" { + description + "auto-enroll percentage"; + } + } + description + "Set auto-enroll percentage at which renewal will be triggered"; + } + leaf rsakeypair { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Key pair label"; + } + } + description + "RSA key pair"; + } + container crl { + description + "CRL options"; + container optional { + presence "Indicates a optional node is configured."; + description + "CRL verification as optional"; + } + } + container query { + description + "Query parameters"; + leaf url { + type string { + length "1..800" { + description + "URL"; + } + } + description + "CA server query URL"; + } + } + container ip-address { + description + "include ip address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../none)"; + description + "ip address"; + } + container none { + must "not(../ipv4-address)"; + presence "Indicates a none node is configured."; + description + "do not include ip address"; + } + } + leaf subject-name { + type string { + length "1..800" { + description + "Subject Name"; + } + } + description + "Subject Name"; + } + container serial-number { + presence "Indicates a serial-number node is configured."; + description + "include serial number"; + container none { + presence "Indicates a none node is configured."; + description + "do not include serial number"; + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name (max:32 chars)"; + } + } + description + "Source interface VRF "; + } + } + } + } + container openssh { + description + "Openssh certificates"; + container trustpoints { + description + " Config a trustpoint"; + list trustpoint { + key "trustpoint-name"; + description + " Config a trustpoint"; + leaf trustpoint-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Trustpoint Name"; + } + } + description + " Config a trustpoint"; + } + leaf rsakeypair { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Key pair label"; + } + } + description + "RSA key pair"; + } + } + } + } + leaf http-proxy { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Http proxy server"; + } + } + must "../port"; + description + "Specify proxy server for http request"; + } + leaf port { + type uint32 { + range "1..65535" { + description + "http proxy server port number"; + } + } + must "../http-proxy"; + description + "proxy server port number"; + } + container source-interface { + description + "Cisco source-interface name"; + leaf ipv4 { + type xr:Interface-name; + must "not(../ipv6)"; + description + "Choose Ipv4 address from interface"; + } + leaf ipv6 { + type xr:Interface-name; + must "not(../ipv4)"; + description + "Choose Ipv6 address from interface"; + } + } + container rsa { + description + "allow/disable RSA key bits modulus size"; + container one-thousand-twenty-four { + description + "Disable 1024 key bits modulus size"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Trustpool certificates with RSA modulus 1024"; + } + } + } + container fqdn-check { + description + " If the CN name contains the IP address instead of a FQDN, disable rejecting the TLS connection, to allow the connection to established (this is less secure)."; + container ip-address { + description + "allow ip-address in the Common Name"; + container allow { + presence "Indicates a allow node is configured."; + description + "allow TLS connection when CN contains IP address "; + } + } + } + container trustpool { + description + " Config a trustpool"; + container policy { + presence "Indicates a policy node is configured."; + description + " Config a trustpool policy"; + leaf description { + type string { + length "1..80" { + description + "Description for this trustpoint"; + } + } + description + "Description for the trustpoint"; + } + container cabundle { + description + "certificate bundle"; + leaf url { + type string { + length "1..800" { + description + "URL"; + } + } + description + "CA bundle download parameters"; + } + } + container crl { + description + "CRL options"; + container optional { + presence "Indicates a optional node is configured."; + description + "CRL verification as optional"; + } + } + leaf vrf { + type string { + length "1..32" { + description + "Enter the vrf name"; + } + } + description + "Cisco vrf name"; + } + } + } + container crl { + description + "Certification revocation list"; + leaf curl-timeout { + type uint32 { + range "5..50" { + description + "timeout value in seconds for a CURL request to timeout"; + } + } + description + "timeout value in seconds for a CURL request to timeout"; + } + } + } + container fips-mode { + presence "Indicates a fips-mode node is configured."; + description + "Enable FIPS mode"; + } + container key { + description + "Keys to be generated"; + container generate { + description + "Generate new keys"; + container rsa { + description + "Generate RSA key"; + list label { + must "general-keys or usage-keys"; + key "label-name"; + description + "Label name"; + leaf label-name { + type union { + type string { + pattern "the_default" { + description + "Default label name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Label name"; + } + } + } + description + "Label name"; + } + leaf key-module-size { + type uint32 { + range "512..4096" { + description + "Size of key modulus"; + } + } + mandatory true; + description + "Size of key modulus"; + } + container general-keys { + must "not(../usage-keys)"; + presence "Indicates a general-keys node is configured."; + description + "Generate a general purpose RSA key pair for signing and encryption"; + } + container usage-keys { + must "not(../general-keys)"; + presence "Indicates a usage-keys node is configured."; + description + "Generate usage-keys"; + } + leaf pubkey { + type string { + length "1..1024" { + description + "Generated keys in pem format"; + } + } + mandatory true; + description + "Public key"; + } + } + } + container ed25519 { + presence "Indicates a ed25519 node is configured."; + description + "Generate ED25519 keys"; + } + container dsa { + description + "Generate dsa keys"; + leaf number-of-bits { + type uint32 { + range "512..2048" { + description + "Number of bits"; + } + } + description + "Number of bits"; + } + } + container ecdsa { + description + "Generate ecdsa keys"; + container nistp256 { + presence "Indicates a nistp256 node is configured."; + description + " Generate a ECDSA key of curve type nistp256"; + } + container nistp384 { + presence "Indicates a nistp384 node is configured."; + description + "Generate a ECDSA key of curve type nist384"; + } + container nistp521 { + presence "Indicates a nistp521 node is configured."; + description + "Generate a ECDSA key of curve type nist521"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-dac-rate-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dac-rate-cfg.yang new file mode 100644 index 000000000..882cf12dd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dac-rate-cfg.yang @@ -0,0 +1,92 @@ +module Cisco-IOS-XR-um-dac-rate-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-dac-rate-cfg"; + prefix um-dac-rate-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dac-rate package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-31 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature optics { + description + "optics"; + } + + grouping CONT-BODY { + leaf dac-rate { + when "../a1:controller-name[starts-with(text(),'Optics')]" { + tailf:dependency "../a1:controller-name"; + } + if-feature "optics"; + type enumeration { + enum "1x1" { + value 0; + description + "Select 1:1 sampling rate(Sampling off)"; + } + enum "1x1.25" { + value 1; + description + "Select 1:1.25 sampling rate"; + } + enum "1x1.50" { + value 2; + description + "Select 1:1.50 sampling rate"; + } + enum "1x1.75" { + value 3; + description + "Select 1:1.75 sampling rate"; + } + enum "1x2" { + value 4; + description + "Select 1:2 sampling rate"; + } + } + description + "Configure Sampling rate"; + } + } + + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv4-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv4-cfg.yang new file mode 100644 index 000000000..837494486 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv4-cfg.yang @@ -0,0 +1,5270 @@ +module Cisco-IOS-XR-um-dhcp-ipv4-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-dhcp-ipv4-cfg"; + prefix um-dhcp-ipv4-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dhcp-ipv4 package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container dhcp { + description + "Dynamic Host Configuration Protocol"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Configure IPv4 DHCP"; + container vrfs { + description + "Assign a profile to VRF"; + list vrf { + must "proxy or relay"; + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "(default|all)" { + description + "Assign a profile to default VRF or all VRFs"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "VRF name"; + } + container proxy { + must "not(../relay)"; + presence "Indicates a proxy node is configured."; + description + "Assign a proxy profile to VRF"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + container relay { + must "not(../proxy)"; + presence "Indicates a relay node is configured."; + description + "Assign a relay profile to VRF"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + } + } + container profiles { + description + "Create or enter a profile"; + list profile { + key "profile-name"; + description + "Profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Profile name"; + } + container base { + presence "Indicates a base node is configured."; + description + "Create or enter base profile"; + container default { + must "profile/profile-name and (profile/proxy or profile/server)"; + description + "Create or enter default profile"; + container profile { + description + "Enter a profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Profile name"; + } + container proxy { + must "not(../server)"; + presence "Indicates a proxy node is configured."; + description + "Proxy profile"; + } + container server { + must "not(../proxy)"; + presence "Indicates a server node is configured."; + description + "Server profile"; + } + } + } + container match { + description + "Insert match keyword"; + container option { + description + "Specify match option"; + container option-60-vendor-class-id { + description + "Insert option 60 vendor class id"; + container default { + description + "Create or enter default action"; + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor-id specific Discover packet"; + } + enum "drop" { + value 1; + description + "Drop vendor-id specific Discover packet"; + } + } + description + "Enter action"; + } + } + container hex-actions { + description + "Insert hex pattern"; + list hex-action { + must "action"; + key "pattern"; + description + "Insert hex pattern"; + leaf pattern { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DISCOVER"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DISCOVER"; + } + } + description + "Enter action"; + } + } + } + container hex-profiles { + description + "Insert hex pattern"; + list hex-profile { + must "profile/profile-name and (profile/proxy or profile/server)"; + key "pattern"; + description + "Insert hex pattern"; + leaf pattern { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern"; + } + container profile { + description + "Enter a profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Profile name"; + } + container proxy { + must "not(../server)"; + presence "Indicates a proxy node is configured."; + description + "Proxy profile"; + } + container server { + must "not(../proxy)"; + presence "Indicates a server node is configured."; + description + "Server profile"; + } + } + } + } + container string-actions { + description + "Insert string pattern"; + list string-action { + must "action"; + key "pattern"; + description + "Insert string pattern"; + leaf pattern { + type string { + length "1..64" { + description + "Enter ascii double quoted string pattern"; + } + pattern "[\"].*.[\"]"; + } + description + "Insert string pattern"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DISCOVER"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DISCOVER"; + } + } + description + "Enter action"; + } + } + } + container string-profiles { + description + "Insert string pattern"; + list string-profile { + must "profile/profile-name and (profile/proxy or profile/server)"; + key "pattern"; + description + "Insert string pattern"; + leaf pattern { + type string { + length "1..64" { + description + "Enter ascii double quoted string pattern"; + } + pattern "[\"].*.[\"]"; + } + description + "Insert string pattern"; + } + container profile { + description + "Enter a profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Profile name"; + } + container proxy { + must "not(../server)"; + presence "Indicates a proxy node is configured."; + description + "Proxy profile"; + } + container server { + must "not(../proxy)"; + presence "Indicates a server node is configured."; + description + "Server profile"; + } + } + } + } + } + } + container mode-classes { + description + "Specify PPP/IPoE class option"; + list mode-class { + key "mode-class-name"; + description + "Specify PPP/IPoE class option"; + leaf mode-class-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Class name"; + } + } + description + "Specify PPP/IPoE class option"; + } + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter proxy or server profile"; + } + container proxy { + must "not(../server)"; + presence "Indicates a proxy node is configured."; + description + "Proxy profile"; + } + container server { + must "not(../proxy)"; + presence "Indicates a server node is configured."; + description + "Server profile"; + } + } + } + } + container match-default { + description + "Default match option"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + must "../server"; + description + "Enter server profile"; + } + container server { + must "../profile"; + presence "Indicates a server node is configured."; + description + "Specify mode-class based Server option"; + } + } + container dhcp-to-aaa { + description + "Enable to provide the list of options need to send to aaa"; + container option { + description + "option type"; + container list { + description + "List of options"; + container all { + presence "Indicates a all node is configured."; + description + "Allow all DHCP option to AAA"; + leaf option-number { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + description + "Option number"; + } + } + } + } + } + container relay { + description + "Specify Relay Agent Information Option configuration"; + container information { + description + "Specify Relay Agent Information Option configuration"; + container authenticate { + description + "Specify Relay Agent Information Option authenticate"; + container received { + must "not(../inserted)"; + presence "Indicates a received node is configured."; + description + "Authenticate using received Relay Agent Information Option"; + } + container inserted { + must "not(../received)"; + presence "Indicates a inserted node is configured."; + description + "Authenticate using inserted Relay Agent Information Option"; + } + } + container option { + description + "Insert Relay Agent Information circuit ID and remote ID suboptions in client request"; + leaf remote-id { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "Remote id value"; + } + } + description + "Enter remote-id value"; + } + } + } + } + } + container cnbng { + presence "Indicates a cnbng node is configured."; + description + "Create or enter cnbng profile"; + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Create or enter proxy profile"; + container helper-address { + description + "Specify the server address to relay packets"; + container vrfs { + description + "Specify server VRF"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "VRF name"; + } + container ip-addresses { + description + "configure this node"; + list ip-address { + key "address"; + description + "configure this node"; + leaf address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + leaf giaddr { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Specify gateway address to use in packets relayed to server"; + } + } + } + } + } + } + container match { + description + "Insert match keyword"; + container option { + description + "Specify match option"; + container option-60-vendor-class-id { + description + "Insert option 60 vendor class id"; + container hexes { + description + "Insert hex pattern"; + list hex { + must "action"; + key "pattern"; + description + "Insert hex pattern"; + leaf pattern { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor-id specific Discover packet"; + } + enum "drop" { + value 1; + description + "Drop vendor-id specific Discover packet"; + } + enum "relay" { + value 2; + description + "Relay vendor-id specific DHCP packets unaltered"; + } + } + description + "Enter action"; + } + } + } + container strings { + description + "Insert string pattern"; + list string { + key "pattern"; + description + "Insert string pattern"; + leaf pattern { + type string { + length "1..64" { + description + "Enter ascii double quoted string pattern to match"; + } + pattern "[\"].*.[\"]"; + } + description + "Insert string pattern"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor-id specific Discover packet"; + } + enum "drop" { + value 1; + description + "Drop vendor-id specific Discover packet"; + } + enum "relay" { + value 2; + description + "Relay vendor-id specific DHCP packets unaltered"; + } + } + description + "Enter action"; + } + } + } + container default { + description + "Default action"; + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor-id specific Discover packet"; + } + enum "drop" { + value 1; + description + "Drop vendor-id specific Discover packet"; + } + enum "relay" { + value 2; + description + "Relay vendor-id specific DHCP packets unaltered"; + } + } + description + "Enter action"; + } + } + } + } + } + container relay { + description + "Specify Relay Agent Information Option configuration"; + container information { + description + "Specify Relay Agent Information Option configuration"; + container check { + presence "Indicates a check node is configured."; + description + "Check Relay Agent Information Option in server reply"; + } + container option { + presence "Indicates a option node is configured."; + description + "Insert Relay Agent Information circuit ID and remote ID suboptions in client request"; + container vpn { + presence "Indicates a vpn node is configured."; + description + "Insert Relay Agent Information VPN suboptions in client request"; + } + container vpn-mode { + description + "Relay Agent Information VPN suboptions mode"; + container rfc { + must "not(../cisco)"; + presence "Indicates a rfc node is configured."; + description + "Relay Agent Information VPN suboptions in RFC compliance"; + } + container cisco { + must "not(../rfc)"; + presence "Indicates a cisco node is configured."; + description + "Relay Agent Information VPN suboptions in CISCO proprietary"; + } + } + container allow-untrusted { + presence "Indicates a allow-untrusted node is configured."; + description + "Forward untrusted packets"; + } + leaf remote-id { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "Remote id value"; + } + } + description + "Enter remote-id value"; + } + container suppress { + presence "Indicates a suppress node is configured."; + description + "Suppress remote id"; + } + container enable { + presence "Indicates a enable node is configured."; + description + "Enable"; + } + container circuit-id { + description + "Insert Relay Agent Information circuit ID suboption in client request"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable"; + } + } + container allow-in-release-msg { + presence "Indicates a allow-in-release-msg node is configured."; + description + "allow to insert option82 in release message"; + } + } + container policy { + description + "Specify Relay Agent Information Option policy"; + container drop { + presence "Indicates a drop node is configured."; + description + "Drop client request packets with Relay Agent Information Option"; + } + } + container keep { + presence "Indicates a keep node is configured."; + description + "Keep existing Relay Agent Information Option in client request"; + } + container replace { + presence "Indicates a replace node is configured."; + description + "Replace existing Relay Agent Information Option in client request"; + } + container encapsulate { + presence "Indicates a encapsulate node is configured."; + description + "Encapsulate existing Relay Agent Information Option in client request"; + } + container authenticate { + description + "Specify Relay Agent Information Option authenticate"; + container received { + must "not(../inserted)"; + presence "Indicates a received node is configured."; + description + "Authenticate using received Relay Agent Information Option"; + } + container inserted { + must "not(../received)"; + presence "Indicates a inserted node is configured."; + description + "Authenticate using inserted Relay Agent Information Option"; + } + } + } + } + container giaddr { + description + "Specify gateway address policy"; + container policy { + description + "Specify gateway address policy"; + container keep { + presence "Indicates a keep node is configured."; + description + "Retain gateway address in client Request"; + } + } + } + container broadcast-flag { + description + "Specify broadcast flag"; + container policy { + description + "Specify broadcast flag policy"; + container check { + must "not(../unicast-always)"; + presence "Indicates a check node is configured."; + description + "Check the broadcast flag in packets"; + } + container unicast-always { + must "not(../check)"; + presence "Indicates a unicast-always node is configured."; + description + "Set the broadcast-flag policy to unicast-always"; + } + } + } + container allow-move { + presence "Indicates a allow-move node is configured."; + description + "Allow dhcp subscriber move"; + } + container handle-discover-in-bound { + presence "Indicates a handle-discover-in-bound node is configured."; + description + "handle-discover-in-bound "; + } + container limit { + description + "Specify limit"; + container lease { + description + "Specify limit lease"; + leaf per-circuit-id { + type uint32 { + range "1..240000" { + description + "Value of limit lease count"; + } + } + must "not(../per-remote-id or ../per-circuit-id-remote-id or ../per-interface)"; + description + "Insert the limit lease type circuit-id"; + } + leaf per-remote-id { + type uint32 { + range "1..240000" { + description + "Value of limit lease count"; + } + } + must "not(../per-circuit-id or ../per-circuit-id-remote-id or ../per-interface)"; + description + "Insert the limit lease type remote-id"; + } + leaf per-circuit-id-remote-id { + type uint32 { + range "1..240000" { + description + "Value of limit lease count"; + } + } + must "not(../per-remote-id or ../per-circuit-id or ../per-interface)"; + description + "Insert the limit lease type circuit-id+remote-id"; + } + leaf per-interface { + type uint32 { + range "1..240000" { + description + "Value of limit lease count"; + } + } + must "not(../per-remote-id or ../per-circuit-id-remote-id or ../per-circuit-id)"; + description + "Insert the limit lease type interface"; + } + } + } + container lease { + description + "Specify lease"; + container proxy { + description + "Specify lease proxy"; + leaf client-lease-time { + type uint32 { + range "300..4294967295" { + description + "Value of lease proxy client-time in seconds"; + } + } + description + "Specify the lease proxy client lease time"; + } + container set-server-options { + presence "Indicates a set-server-options node is configured."; + description + "Set DHCP server sent options in lease proxy generating ACK"; + } + } + } + container secure-arp { + presence "Indicates a secure-arp node is configured."; + description + "Enable Secure Arp"; + } + container sessions { + description + "Change sessions configuration"; + container mac { + presence "Indicates a mac node is configured."; + description + "Throttle DHCP sessions based on MAC address"; + leaf throttle { + type uint32 { + range "1..65535" { + description + "Number of discovers at which to throttle"; + } + } + must "../throttle-request-period"; + mandatory true; + description + "Throttle DHCP sessions from any one MAC address"; + } + leaf throttle-request-period { + type uint32 { + range "1..100" { + description + "Throttle request period (in secs)"; + } + } + must "../throttle"; + mandatory true; + description + "Throttle request period (in secs)"; + } + leaf throttle-blocking-period { + type uint32 { + range "1..100" { + description + "Throttle blocking period (in secs)"; + } + } + mandatory true; + description + "Throttle blocking period (in secs)"; + } + } + } + container delayed { + description + "For BNG session, delay the authentication"; + container authentication { + presence "Indicates a authentication node is configured."; + description + "authentiaction"; + } + } + container authentication { + description + " Authentication username foramt"; + container username { + description + "Set username"; + container mac { + must "not(../giaddr)"; + presence "Indicates a mac node is configured."; + description + "Set mac in username"; + } + container giaddr { + must "not(../mac)"; + presence "Indicates a giaddr node is configured."; + description + "Set giaddr in username"; + } + } + } + container dhcp-to-aaa { + description + "Enable to provide the list of options need to send to aaa"; + container option { + description + "option type"; + container list { + description + "List of options"; + container all { + presence "Indicates a all node is configured."; + description + "Allow all DHCP option to AAA"; + leaf option-number { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + description + "Option number"; + } + } + } + } + } + container classes { + description + "Create or enter proxy profile class"; + list class { + key "class-name"; + description + "Create or enter proxy profile class"; + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "class name"; + } + } + description + "Create or enter proxy profile class"; + } + container match { + presence "Indicates a match node is configured."; + description + "Insert match keyword"; + container option { + description + "Specify match option"; + container option-60-vendor-class-id { + presence "Indicates a option-60-vendor-class-id node is configured."; + description + "Insert option 60 vendor class id"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern"; + } + leaf mask { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter bit mask pattern string"; + } + } + must "../hex"; + description + "Insert bit mask pattern"; + } + } + container option-77-user-class { + presence "Indicates a option-77-user-class node is configured."; + description + "Insert option 77 user class"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern"; + } + leaf mask { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter bit mask pattern string"; + } + } + must "../hex"; + description + "Insert bit mask pattern"; + } + } + container option-124-vendor-identifying-vendor-class { + presence "Indicates a option-124-vendor-identifying-vendor-class node is configured."; + description + "Insert option 124 vendor-identifying vendor class"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern"; + } + leaf mask { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter bit mask pattern string"; + } + } + must "../hex"; + description + "Insert bit mask pattern"; + } + } + container option-125-vendor-identifying-vendor-specific-info { + presence "Indicates a option-125-vendor-identifying-vendor-specific-info node is configured."; + description + "Insert option 125 vendor-identifying vendor-specific info"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern"; + } + leaf mask { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter bit mask pattern string"; + } + } + must "../hex"; + description + "Insert bit mask pattern"; + } + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Specify match VRF"; + } + } + container helper-address { + description + "Specify the server address to relay packets"; + container vrfs { + description + "Specify server VRF"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "VRF name"; + } + container ip-addresses { + description + "configure this node"; + list ip-address { + key "address"; + description + "configure this node"; + leaf address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + leaf giaddr { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Specify gateway address to use in packets relayed to server"; + } + } + } + } + } + } + } + } + } + container relay { + presence "Indicates a relay node is configured."; + description + "Create or enter relay profile"; + container broadcast-flag { + description + "Specify broadcast flag policy"; + container policy { + description + "Specify broadcast flag policy"; + container check { + must "not(../unicast-always)"; + presence "Indicates a check node is configured."; + description + "Check the broadcast flag in packets"; + } + container unicast-always { + must "not(../check)"; + presence "Indicates a unicast-always node is configured."; + description + "Set the broadcast-flag policy to unicast-always"; + } + } + } + container helper-address { + description + "Specify the server address to relay packets"; + container vrfs { + description + "Specify server VRF"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "VRF name"; + } + container ip-addresses { + description + "configure this node"; + list ip-address { + key "address"; + description + "configure this node"; + leaf address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + leaf giaddr { + type inet:ipv4-address-no-zone; + description + "Specify gateway address to use in packets relayed to server"; + } + } + } + } + } + } + container relay { + description + "Specify Relay Agent Information Option configuration"; + container information { + description + "Specify Relay Agent Information Option configuration"; + container check { + presence "Indicates a check node is configured."; + description + "Check Relay Agent Information Option in server reply"; + } + container option { + presence "Indicates a option node is configured."; + description + "Insert Relay Agent Information circuit ID and remote ID suboptions in client request"; + container vpn { + presence "Indicates a vpn node is configured."; + description + "Insert Relay Agent Information VPN suboptions in client request"; + } + container vpn-mode { + description + "Relay Agent Information VPN suboptions mode"; + container rfc { + must "not(../cisco)"; + presence "Indicates a rfc node is configured."; + description + "Relay Agent Information VPN suboptions in RFC compliance"; + } + container cisco { + must "not(../rfc)"; + presence "Indicates a cisco node is configured."; + description + "Relay Agent Information VPN suboptions in CISCO proprietary"; + } + } + container allow-untrusted { + presence "Indicates a allow-untrusted node is configured."; + description + "Forward untrusted packets"; + } + container remote-id { + description + "Enter remote-id value"; + container format-type { + description + "Enter the format-type of remote-id"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "remote-id value"; + } + } + must "not(../ascii)"; + description + "Choose the hex string format"; + } + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "remote-id value"; + } + } + must "not(../hex)"; + description + "Choose the ascii string format"; + } + } + } + leaf subscriber-id { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "Subscriber id value"; + } + } + description + "Enter subscriber-id value"; + } + } + container policy { + description + "Specify Relay Agent Information Option policy"; + container drop { + presence "Indicates a drop node is configured."; + description + "Drop client request packets with Relay Agent Information Option"; + } + } + container keep { + presence "Indicates a keep node is configured."; + description + "Keep existing Relay Agent Information Option in client request"; + } + container encapsulate { + presence "Indicates a encapsulate node is configured."; + description + "Encapsulate existing Relay Agent Information Option in client request"; + } + } + } + container giaddr { + description + "Specify gateway address policy"; + container policy { + description + "Specify gateway address policy"; + container drop { + must "not(../replace)"; + presence "Indicates a drop node is configured."; + description + "Drop client requests with non-zero gateway address"; + } + container replace { + must "not(../drop)"; + presence "Indicates a replace node is configured."; + description + "Replace existing gateway address in client request"; + } + } + } + container client-mac-mismatch { + description + "Configure action to take on source mac mismatch"; + container action { + description + "Action to take on mismatch"; + container drop { + presence "Indicates a drop node is configured."; + description + "Drop it"; + } + } + } + } + container server { + presence "Indicates a server node is configured."; + description + "Create or enter server profile"; + container dns-server { + description + "DNS servers"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Domain name"; + } + } + description + "Domain name"; + } + container delete-binding-on-discover { + description + "Delete binding on receiving discover"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable delete binding on discover"; + } + } + container default-router { + description + "default routers"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + leaf subnet-mask { + type inet:ipv4-address-no-zone; + description + "Configure Subnet Mask"; + } + leaf bootfile { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Boot Filename"; + } + } + description + "Boot Filename"; + } + container netbios-name-server { + description + "NetBIOS name servers"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + container lease { + description + "lease"; + container infinite { + must "not(../days)"; + presence "Indicates a infinite node is configured."; + description + "Infinite lease"; + } + leaf days { + type uint32 { + range "0..365" { + description + "Days"; + } + } + must "not(../infinite)"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23" { + description + "Hours"; + } + } + must "../days"; + must "../days"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59" { + description + "Minutes"; + } + } + must "../hours"; + must "../hours"; + description + "Minutes"; + } + } + container allow-move { + presence "Indicates a allow-move node is configured."; + description + "Allow dhcp subscriber move"; + } + container requested-ip-address-check { + description + "Validate Requested IP Address"; + container disable { + presence "Indicates a disable node is configured."; + description + "specify requested-ip-address-check disable"; + } + } + container server-id-check { + description + "Validate server ID check"; + container disable { + presence "Indicates a disable node is configured."; + description + "specify server-id-check disable"; + } + } + container netbios-node-type { + description + "NetBIOS node type"; + leaf hexadecimal-number { + type uint32 { + range "0..255" { + description + "Hexadecimal number"; + } + } + description + "Hexadecimal number"; + } + container b-node { + presence "Indicates a b-node node is configured."; + description + "Broadcast node"; + } + container h-node { + presence "Indicates a h-node node is configured."; + description + "Hybrid node"; + } + container m-node { + presence "Indicates a m-node node is configured."; + description + "Mixed node"; + } + container p-node { + presence "Indicates a p-node node is configured."; + description + "Peer-to-peer node"; + } + } + leaf pool { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Dap's pool name"; + } + } + description + "Specify the Pool name"; + } + leaf next-server { + type inet:ipv4-address-no-zone; + description + "Configure the tftp-server IP to be used by the client"; + } + container secure-arp { + presence "Indicates a secure-arp node is configured."; + description + "Enable Secure Arp"; + } + container arp-install-skip-stdalone { + presence "Indicates a arp-install-skip-stdalone node is configured."; + description + "Skip ARP installation for standalone sessions"; + } + container broadcast-flag { + description + "Specify broadcast flag"; + leaf policy { + type enumeration { + enum "Ignore" { + value 0; + description + "Ignore the broadcast policy"; + } + enum "Check" { + value 1; + description + "Check for broadcast flag"; + } + enum "UnicastAlways" { + value 2; + description + "Always Unicast the reply"; + } + } + description + "Specify broadcast flag policy"; + } + } + container limit { + description + "Specify limit"; + container lease { + presence "Indicates a lease node is configured."; + description + "Specify limit lease"; + leaf type { + type enumeration { + enum "per-interface" { + value 1; + description + "Insert the limit lease type interface"; + } + enum "per-circuit-id" { + value 2; + description + "Insert the limit lease type circuit-id"; + } + enum "per-remote-id" { + value 3; + description + "Insert the limit lease type remote-id"; + } + } + mandatory true; + description + "Specify limit lease"; + } + leaf count { + type uint32 { + range "1..240000" { + description + "Value of limit lease count in Decimal"; + } + } + mandatory true; + description + "Value of limit lease count in Decimal"; + } + } + } + container relay { + description + "Specify Relay Agent Information Option configuration"; + container information { + description + "Specify Relay Agent Information Option configuration"; + container authenticate { + description + "Specify Relay Agent Information Option authenticate"; + container received { + must "not(../inserted)"; + presence "Indicates a received node is configured."; + description + "Authenticate using received Relay Agent Information Option"; + } + container inserted { + must "not(../received)"; + presence "Indicates a inserted node is configured."; + description + "Authenticate using inserted Relay Agent Information Option"; + } + } + } + } + container match { + description + "Insert match keyword"; + container option { + description + "Specify match option"; + container option-60-vendor-class-id { + description + "Match option 60 vendor class id"; + container hexes { + description + "Insert hex pattern string"; + list hex { + must "action"; + key "pattern"; + description + "Insert hex pattern string"; + leaf pattern { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern string"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Discover"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Discover"; + } + } + description + "Enter action to be performed"; + } + } + } + container strings { + description + "Insert string pattern"; + list string { + must "action"; + key "pattern"; + description + "Insert string pattern"; + leaf pattern { + type string { + length "1..64" { + description + "Enter ascii double quoted string pattern to match"; + } + pattern "[\"].*.[\"]"; + } + description + "Insert string pattern"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Discover"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Discover"; + } + } + description + "Enter action to be performed"; + } + } + } + container default { + description + "Default action"; + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow DHCP Discover"; + } + enum "drop" { + value 1; + description + "Drop DHCP Discover"; + } + } + description + "Enter action to be performed"; + } + } + } + } + } + container options { + description + "DHCP option code"; + list option { + key "option-code"; + description + "DHCP option code"; + leaf option-code { + type uint32 { + range "0..255" { + description + "DHCP option code"; + } + } + description + "DHCP option code"; + } + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ASCII string"; + } + } + description + "Data is an NVT ASCII string"; + } + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Hexadecimal string"; + } + } + description + "Hex string"; + } + container force-insert { + presence "Indicates a force-insert node is configured."; + description + "Force insert raw option"; + } + container ip { + description + "Server's IP address"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + } + } + container sessions { + description + "Change sessions configuration"; + container mac { + presence "Indicates a mac node is configured."; + description + "Throttle DHCP sessions based on MAC address"; + leaf throttle { + type uint32 { + range "1..65535" { + description + "Number of discovers at which to throttle"; + } + } + must "../throttle-request-period"; + mandatory true; + description + "Throttle DHCP sessions from any one MAC address"; + } + leaf throttle-request-period { + type uint32 { + range "1..100" { + description + "Throttle request period (in secs)"; + } + } + must "../throttle"; + mandatory true; + description + "Throttle request period (in secs)"; + } + leaf throttle-blocking-period { + type uint32 { + range "1..100" { + description + "Throttle blocking period (in secs)"; + } + } + mandatory true; + description + "Throttle blocking period (in secs)"; + } + } + } + container aaa { + description + "Enable aaa dhcp option force-insert"; + container dhcp-option { + description + "Enable aaa dhcp option force-insert"; + container force-insert { + presence "Indicates a force-insert node is configured."; + description + "Enable aaa dhcp option force-insert"; + } + } + } + container dhcp-to-aaa { + description + "Enable to provide the list of options need to send to aaa"; + container option { + description + "option type"; + container list { + description + "List of options"; + container all { + must "not(../option-number)"; + presence "Indicates a all node is configured."; + description + "Allow all DHCP option to AAA"; + } + leaf-list option-number { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "not(../all)"; + max-elements "12"; + description + "Option number"; + } + } + } + } + container enable-vlan-intf-session-limit { + presence "Indicates a enable-vlan-intf-session-limit node is configured."; + description + "Enable vlan or interface session limit"; + } + container insert-bootfile { + presence "Indicates a insert-bootfile node is configured."; + description + "Force insert bootfile name"; + } + container classes { + description + "Create or enter server profile class"; + list class { + key "class-name"; + description + "Create or enter server profile class"; + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "class-name"; + } + } + description + "Create or enter server profile class"; + } + container match { + description + "Insert match keyword"; + container options { + description + "Specify match option"; + list option { + key "option-code"; + description + "Specify match option"; + leaf option-code { + type enumeration { + enum "circuitid" { + value 1; + description + "Match circuit id of option 82 Relay-agent specific class"; + } + enum "remoteid" { + value 2; + description + "Match remote id of option 82 Relay-agent specific class"; + } + enum "60" { + value 60; + description + "Match option 60 vendor class id"; + } + enum "77" { + value 77; + description + "Match option 77 user class"; + } + enum "124" { + value 124; + description + "Match option 124 vendor-identifying vendor class"; + } + enum "125" { + value 125; + description + "Match option 125 vendor-indentifying vendor-specific info"; + } + } + description + "Specify match option"; + } + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter hex pattern string"; + } + } + description + "Insert hex pattern string"; + } + leaf mask { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Enter bit mask pattern string"; + } + } + must "../hex"; + description + "Insert bit mask pattern"; + } + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Specify match VRF"; + } + leaf l2-interface { + type xr:Interface-name; + description + "Specify match l2-interface"; + } + } + leaf pool { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Pool name"; + } + } + description + "Specify the pool"; + } + leaf next-server { + type inet:ipv4-address-no-zone; + description + "Configure the tftp-server IP to be used by the client"; + } + container dns-server { + description + "DNS servers"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Domain name"; + } + } + description + "Domain name"; + } + container default-router { + description + "default routers"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + container lease { + description + "lease"; + container infinite { + must "not(../days)"; + presence "Indicates a infinite node is configured."; + description + "Infinite lease"; + } + leaf days { + type uint32 { + range "0..365" { + description + "Days"; + } + } + must "not(../infinite)"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23" { + description + "Hours"; + } + } + must "../days"; + must "../days"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59" { + description + "Minutes"; + } + } + must "../hours"; + must "../hours"; + description + "Minutes"; + } + } + leaf subnet-mask { + type inet:ipv4-address-no-zone; + description + "Configure Subnet Mask"; + } + leaf bootfile { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Boot Filename"; + } + } + description + "Boot Filename"; + } + container netbios-name-server { + description + "NetBIOS name servers"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + container netbios-node-type { + description + "NetBIOS node type"; + leaf hexadecimal-number { + type uint32 { + range "0..255" { + description + "Hexadecimal number"; + } + } + description + "Hexadecimal number"; + } + container b-node { + presence "Indicates a b-node node is configured."; + description + "Broadcast node"; + } + container h-node { + presence "Indicates a h-node node is configured."; + description + "Hybrid node"; + } + container m-node { + presence "Indicates a m-node node is configured."; + description + "Mixed node"; + } + container p-node { + presence "Indicates a p-node node is configured."; + description + "Peer-to-peer node"; + } + } + container options { + description + "DHCP option code"; + list option { + key "option-code"; + description + "DHCP option code"; + leaf option-code { + type uint32 { + range "0..255" { + description + "DHCP option code"; + } + } + description + "DHCP option code"; + } + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ASCII string"; + } + } + description + "Data is an NVT ASCII string"; + } + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Hexadecimal string"; + } + } + description + "Hex string"; + } + container force-insert { + presence "Indicates a force-insert node is configured."; + description + "Force insert raw option"; + } + container ip { + description + "Server's IP address"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + max-elements "8"; + description + "configure this node"; + } + } + } + } + } + } + } + container snoop { + presence "Indicates a snoop node is configured."; + description + "Create or enter snoop profile"; + container trusted { + presence "Indicates a trusted node is configured."; + description + "Trusted sources"; + } + container relay { + description + "Relay Agent Information Option configuration"; + container information { + description + "Relay Agent Information Option configuration"; + container option { + presence "Indicates a option node is configured."; + description + "Insert Relay Agent Information circuit ID and remote ID suboptions in client request"; + container allow-untrusted { + presence "Indicates a allow-untrusted node is configured."; + description + "Forward untrusted packets"; + } + container remote-id { + description + "Enter remote-id value"; + container format-type { + description + "Enter the format-type of remote-id"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "Remote id value"; + } + } + must "not(../ascii)"; + description + "Choose the hex string format"; + } + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "Remote id value"; + } + } + must "not(../hex)"; + description + "Choose the ascii string format"; + } + } + } + } + container policy { + description + "Specify Relay Agent Information Option policy"; + container drop { + must "not(../keep or ../replace or ../encapsulate)"; + presence "Indicates a drop node is configured."; + description + "Drop client request packets with Relay Agent Information Option"; + } + container keep { + must "not(../drop or ../replace or ../encapsulate)"; + presence "Indicates a keep node is configured."; + description + "Keep existing Relay Agent Information Option in client request"; + } + container replace { + must "not(../drop or ../keep or ../encapsulate)"; + presence "Indicates a replace node is configured."; + description + "Replace existing Relay Agent Information Option in client request"; + } + container encapsulate { + must "not(../drop or ../replace or ../keep)"; + presence "Indicates a encapsulate node is configured."; + description + "Encapsulate existing Relay Agent Information Option in client request"; + } + } + } + } + } + } + } + container interfaces { + description + "Assign a profile to interface"; + list interface { + key "interface-name"; + description + "Assign a profile to interface"; + leaf interface-name { + type xr:Interface-name; + description + "Assign a profile to interface"; + } + container base { + presence "Indicates a base node is configured."; + description + "Assign base profile/Option 82 to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + container information { + description + "Information"; + container option { + description + "Insert option 82 for this interface"; + container format-type { + description + "Format type"; + container circuit-id { + description + "Enter circuit-id value"; + leaf format-string { + type string { + length "1..512" { + description + "format string (conversion specifier) enclosed in double quotes"; + } + pattern "[\"].*.[\"]"; + } + must "not(../circuit-id-value) and ../format-argument1"; + description + "Extended format"; + } + leaf format-argument1 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-string"; + description + "Format argument 1"; + } + leaf format-argument2 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument1"; + description + "Format argument 1"; + } + leaf format-argument3 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument2"; + description + "Format argument 1"; + } + leaf format-argument4 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument3"; + description + "Format argument 1"; + } + leaf format-argument5 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument4"; + description + "Format argument 1"; + } + leaf format-argument6 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument5"; + description + "Format argument 1"; + } + leaf format-argument7 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument6"; + description + "Format argument 1"; + } + leaf format-argument8 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument7"; + description + "Format argument 1"; + } + leaf format-argument9 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument8"; + description + "Format argument 1"; + } + leaf format-argument10 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument9"; + description + "Format argument 1"; + } + leaf format-argument11 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument10"; + description + "Format argument 1"; + } + leaf format-argument12 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument11"; + description + "Format argument 1"; + } + leaf format-argument13 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument12"; + description + "Format argument 1"; + } + leaf format-argument14 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument13"; + description + "Format argument 1"; + } + leaf format-argument15 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument14"; + description + "Format argument 1"; + } + leaf format-argument16 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument15"; + description + "Format argument 1"; + } + leaf circuit-id-value { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../format-string)"; + description + "circuit id value"; + } + } + } + } + } + } + container cnbng { + description + "Assign cnbng profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + container proxy { + description + "Assign proxy profile/Option 82 to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + container information { + description + "Information"; + container option { + description + "Insert option 82 for this interface"; + container format-type { + description + "Format type"; + container circuit-id { + description + "Enter circuit-id value"; + leaf format-string { + type string { + length "1..512" { + description + "format string (conversion specifier) enclosed in double quotes"; + } + pattern "[\"].*.[\"]"; + } + must "not(../circuit-id-value) and ../format-argument1"; + description + "Extended format"; + } + leaf format-argument1 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-string"; + description + "Format argument 1"; + } + leaf format-argument2 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument1"; + description + "Format argument 1"; + } + leaf format-argument3 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument2"; + description + "Format argument 1"; + } + leaf format-argument4 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument3"; + description + "Format argument 1"; + } + leaf format-argument5 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument4"; + description + "Format argument 1"; + } + leaf format-argument6 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument5"; + description + "Format argument 1"; + } + leaf format-argument7 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument6"; + description + "Format argument 1"; + } + leaf format-argument8 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument7"; + description + "Format argument 1"; + } + leaf format-argument9 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument8"; + description + "Format argument 1"; + } + leaf format-argument10 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument9"; + description + "Format argument 1"; + } + leaf format-argument11 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument10"; + description + "Format argument 1"; + } + leaf format-argument12 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument11"; + description + "Format argument 1"; + } + leaf format-argument13 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument12"; + description + "Format argument 1"; + } + leaf format-argument14 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument13"; + description + "Format argument 1"; + } + leaf format-argument15 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument14"; + description + "Format argument 1"; + } + leaf format-argument16 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument15"; + description + "Format argument 1"; + } + leaf circuit-id-value { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../format-string)"; + description + "circuit id value"; + } + } + } + container remote-id { + description + "Insert remote ID sub-option"; + container mac-address { + presence "Indicates a mac-address node is configured."; + description + "Insert client MAC address"; + } + } + } + } + } + container relay { + description + "Assign relay profile/Option 82 to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile Name"; + } + container information { + description + "Information"; + container option { + description + "Insert option 82 for this interface"; + container circuit-id { + description + "Enter circuit-id value"; + container format-type { + description + "Format type"; + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../hex)"; + description + "Choose the ascii string format"; + } + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../ascii)"; + description + "Choose the hex string format"; + } + } + } + container format-type { + description + "Format type"; + container circuit-id { + presence "Indicates a circuit-id node is configured."; + description + "Enter circuit-id value"; + leaf format-string { + type string { + length "1..512" { + description + "format string (conversion specifier) enclosed in double quotes"; + } + pattern "[\"].*.[\"]"; + } + mandatory true; + description + "Extended format"; + } + leaf format-argument1 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + mandatory true; + description + "Format argument"; + } + leaf format-argument2 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument1"; + description + "Format argument"; + } + leaf format-argument3 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument2"; + description + "Format argument"; + } + leaf format-argument4 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument3"; + description + "Format argument"; + } + leaf format-argument5 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument4"; + description + "Format argument"; + } + leaf format-argument6 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument5"; + description + "Format argument"; + } + leaf format-argument7 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument6"; + description + "Format argument"; + } + leaf format-argument8 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument7"; + description + "Format argument"; + } + leaf format-argument9 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument8"; + description + "Format argument"; + } + leaf format-argument10 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument9"; + description + "Format argument"; + } + leaf format-argument11 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument10"; + description + "Format argument"; + } + leaf format-argument12 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument11"; + description + "Format argument"; + } + leaf format-argument13 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument12"; + description + "Format argument"; + } + leaf format-argument14 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument13"; + description + "Format argument"; + } + leaf format-argument15 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument14"; + description + "Format argument"; + } + leaf format-argument16 { + type enumeration { + enum "l2-interface" { + value 8; + description + "Ingress L2 Interface"; + } + enum "l3-interface" { + value 9; + description + "Ingress L3 Interface"; + } + enum "hostname" { + value 10; + description + "host name"; + } + } + must "../format-argument15"; + description + "Format argument"; + } + } + } + container remote-id { + description + "Insert remote ID sub-option"; + container mac-address { + must "not(../format-type/ascii or ../format-type/hex)"; + presence "Indicates a mac-address node is configured."; + description + "Insert client MAC address"; + } + container format-type { + description + "Format type"; + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../hex or ../../mac-address)"; + description + "Choose the ascii string format"; + } + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../ascii or ../../mac-address)"; + description + "Choose the hex string format"; + } + } + } + } + } + } + container server { + presence "Indicates a server node is configured."; + description + "Assign server profile/Option 82 to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + container information { + description + "Information"; + container option { + description + "Insert option 82 for this interface"; + container format-type { + description + "Format type"; + container circuit-id { + description + "Enter circuit-id value"; + leaf format-string { + type string { + length "1..512" { + description + "format string (conversion specifier) enclosed in double quotes"; + } + pattern "[\"].*.[\"]"; + } + must "not(../circuit-id-value) and ../format-argument1"; + description + "Extended format"; + } + leaf format-argument1 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-string"; + description + "Format argument 1"; + } + leaf format-argument2 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument1"; + description + "Format argument 1"; + } + leaf format-argument3 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument2"; + description + "Format argument 1"; + } + leaf format-argument4 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument3"; + description + "Format argument 1"; + } + leaf format-argument5 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument4"; + description + "Format argument 1"; + } + leaf format-argument6 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument5"; + description + "Format argument 1"; + } + leaf format-argument7 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument6"; + description + "Format argument 1"; + } + leaf format-argument8 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument7"; + description + "Format argument 1"; + } + leaf format-argument9 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument8"; + description + "Format argument 1"; + } + leaf format-argument10 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument9"; + description + "Format argument 1"; + } + leaf format-argument11 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument10"; + description + "Format argument 1"; + } + leaf format-argument12 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument11"; + description + "Format argument 1"; + } + leaf format-argument13 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument12"; + description + "Format argument 1"; + } + leaf format-argument14 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument13"; + description + "Format argument 1"; + } + leaf format-argument15 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument14"; + description + "Format argument 1"; + } + leaf format-argument16 { + type enumeration { + enum "physical-chassis" { + value 1; + description + "Rack"; + } + enum "physical-slot" { + value 2; + description + "Slot"; + } + enum "physical-subslot" { + value 3; + description + "Subslot"; + } + enum "physical-port" { + value 4; + description + "Port"; + } + enum "physical-subport" { + value 5; + description + "Subport"; + } + enum "inner-vlan-id" { + value 6; + description + "Inner vlan id tag"; + } + enum "outer-vlan-id" { + value 7; + description + "Outer vlan id tag"; + } + } + must "../format-argument15"; + description + "Format argument 1"; + } + leaf circuit-id-value { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../format-string)"; + description + "circuit id value"; + } + } + } + } + } + } + container snoop { + description + "Assign snoop static entry/Option 82 to interface"; + container snoops { + description + "Assign snoop static entry/Option 82 to interface"; + list snoop { + key "mac-address"; + description + "Assign snoop static entry/Option 82 to interface"; + leaf mac-address { + type yang:mac-address; + description + "Assign snoop static entry/Option 82 to interface"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address"; + } + } + } + container snoop-client-ids { + description + "Assign snoop static entry/Option 82 to interface"; + list snoop-client-id { + key "mac-address client-id"; + description + "Assign snoop static entry/Option 82 to interface"; + leaf mac-address { + type yang:mac-address; + description + "Assign snoop static entry/Option 82 to interface"; + } + leaf client-id { + type uint32 { + range "1..4294967295" { + description + "Enter hex number"; + } + } + description + "Client Identifier"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address"; + } + } + } + container information { + description + "Information"; + container option { + description + "Insert option 82 for this interface"; + container circuit-id { + description + "Enter circuit-id value"; + container format-type { + description + "Format type"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../ascii)"; + description + "Choose the hex string format"; + } + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "circuit id value"; + } + } + must "not(../hex)"; + description + "Choose the ascii string format"; + } + } + } + } + } + } + } + } + container database { + presence "Indicates a database node is configured."; + description + "Enable DHCP binding database storage to file system"; + container proxy { + presence "Indicates a proxy node is configured."; + description + "Enable DHCP proxy binding database storage to file system"; + } + container server { + presence "Indicates a server node is configured."; + description + "Enable DHCP server binding database storage to file system"; + } + container snoop { + presence "Indicates a snoop node is configured."; + description + "Enable DHCP snoop binding database storage to file system"; + } + leaf full-write-interval { + type uint32 { + range "1..1440" { + description + "Enter full file write interval (minutes)"; + } + } + description + "Full file write interval (default 10 minutes)"; + } + leaf incremental-write-interval { + type uint32 { + range "1..1440" { + description + "Enter incremental file write interval (minutes)"; + } + } + description + "Incremental file write interval (default 1 minute)"; + } + } + container duplicate-mac-allowed { + presence "Indicates a duplicate-mac-allowed node is configured."; + description + "Clients with duplicate mac allowed"; + container exclude-vlan { + presence "Indicates a exclude-vlan node is configured."; + description + "Exclude-vlan"; + } + container include-giaddr { + presence "Indicates a include-giaddr node is configured."; + description + "Include giaddr as client key"; + } + } + container allow-client-id-change { + presence "Indicates a allow-client-id-change node is configured."; + description + "For BNG session, allow client id change for a client MAC"; + } + container disable-shadow-binding { + presence "Indicates a disable-shadow-binding node is configured."; + description + "Option to disable shadow binding"; + } + leaf inner-cos { + type uint32 { + range "0..7" { + description + "inner cos value"; + } + } + description + "Configure inner cos values for dhcp packets"; + } + leaf outer-cos { + type uint32 { + range "0..7" { + description + "Outer cos value"; + } + } + description + "Configure outer cos values for dhcp packets"; + } + container rate-limit { + description + "Rate limit ingress packets"; + leaf period { + type uint32 { + range "1..1000" { + description + "Period in msec (Default: 200 msec)"; + } + } + must "../discover"; + description + "Rate limiter period in msec"; + } + leaf discover { + type uint32 { + range "0..1000" { + description + "Number of Discover packets (Default: 100, 0: No limit)"; + } + } + must "../period"; + description + "Rate limit DISCOVER packets"; + } + } + leaf inflight-limit { + type uint32 { + range "50..400" { + description + "BNG session maximum inflight"; + } + } + description + "For BNG session, Maximum inflight "; + } + container ipoe-dhcp-client-reboot { + description + "For BNG, timed wait for term a session"; + leaf period { + type uint32 { + range "10..30" { + description + "time wait in seconds"; + } + } + must "../max-period"; + description + "ipoe dhcp time wait"; + } + leaf max-period { + type uint32 { + range "10..300" { + description + "max time to wait in seconds "; + } + } + must "../period"; + description + "ipoe dhcp max time wait"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv6-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv6-cfg.yang new file mode 100644 index 000000000..3377cec55 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dhcp-ipv6-cfg.yang @@ -0,0 +1,1351 @@ +module Cisco-IOS-XR-um-dhcp-ipv6-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-dhcp-ipv6-cfg"; + prefix um-dhcp-ipv6-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dhcp-ipv6 package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-05 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container dhcp { + description + "Dynamic Host Configuration Protocol"; + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "Configure IPv6 DHCP"; + container profiles { + description + "Create or enter a profile"; + list profile { + key "profile-name"; + description + "Create or enter a profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Profile name"; + } + } + description + "Create or enter a profile"; + } + container cnbng { + presence "Indicates a cnbng node is configured."; + description + "Create or enter cnbng profile"; + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Create or enter proxy profile"; + list interface { + key "interface-name"; + description + "Specify physical interface for interface-id option"; + leaf interface-name { + type xr:Interface-name; + description + "Specify physical interface for interface-id option"; + } + leaf interface-id { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Interface ID"; + } + } + description + "Physical interface ID"; + } + } + container relay { + description + "Specify relay configuration"; + container option { + description + "Specify relay option configuration"; + leaf link-layer-addr { + type enumeration { + enum "set" { + value 4; + description + "Insert Received LinkLayerAddr Value from SADB"; + } + } + description + "Enter link-layer-addr value"; + } + leaf subscriber-id { + type enumeration { + enum "pppoe" { + value 3; + description + "Insert Received Subscriber-ID Value from SADB"; + } + } + description + "Enter subscriber-id value"; + } + leaf remote-id { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Remote ID"; + } + } + description + "Enter remote-id value"; + } + container pppoe { + must "../remote-id"; + presence "Indicates a pppoe node is configured."; + description + "Set remote-id value from SADB"; + } + container interface-id { + description + "Interface Id option"; + leaf insert { + type enumeration { + enum "local" { + value 0; + description + "Insert locally generated/configured Interface ID value"; + } + enum "received" { + value 1; + description + "Insert received Interface ID value"; + } + enum "pppoe" { + value 2; + description + "Insert received Interface ID value from SADB"; + } + enum "received-nodefault" { + value 3; + description + "No default Interface ID"; + } + } + description + "Insert options for Interface Id"; + } + } + } + } + leaf source-interface { + type xr:Interface-name; + description + "Create or enter proxy profile Source Interface Name"; + } + leaf link-address { + type inet:ipv6-address-no-zone; + description + "Link Address"; + } + container sessions { + description + "Change sessions configuration"; + container mac { + presence "Indicates a mac node is configured."; + description + "Throttle DHCP sessions based on MAC address"; + leaf throttle { + type uint32 { + range "1..65535" { + description + "Number of solicits at which to throttle"; + } + } + must "../throttle-request-period"; + mandatory true; + description + "Throttle DHCP sessions from any one MAC address"; + } + leaf throttle-request-period { + type uint32 { + range "1..100" { + description + "Throttle request period (in secs)"; + } + } + must "../throttle"; + mandatory true; + description + "Throttle request period (in secs)"; + } + leaf throttle-blocking-period { + type uint32 { + range "1..100" { + description + "Throttle blocking period (in secs)"; + } + } + mandatory true; + description + "Throttle blocking period (in secs)"; + } + } + } + container route-add-disable { + presence "Indicates a route-add-disable node is configured."; + description + "Disable route add if interface is down"; + } + container l2ac-route-add-disable { + presence "Indicates a l2ac-route-add-disable node is configured."; + description + "Disable l2ac route add if interface is down"; + } + container linkaddress-from-ra-enable { + presence "Indicates a linkaddress-from-ra-enable node is configured."; + description + "Fill linkaddress in Relay fwd msg with Prefix from Router Advertisement for PPPoE sessions"; + } + container authentication { + description + "Authentication username format"; + container username { + description + "Set username"; + container duid { + presence "Indicates a duid node is configured."; + description + "Set username as DUID"; + } + } + } + container helper-address { + description + "Configure relay destination"; + container vrfs { + description + "Specify server VRF"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "VRF name"; + } + list ipv6-address { + must "interface or any-output-interface"; + key "address"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + leaf interface { + type xr:Interface-name; + description + "Output Interface"; + } + container any-output-interface { + presence "Indicates a any-output-interface node is configured."; + description + "Any Output Interface"; + } + } + } + } + } + container classes { + description + "Create or enter proxy profile class"; + list class { + key "class-name"; + description + "Create or enter proxy profile class"; + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Class name"; + } + } + description + "Create or enter proxy profile class"; + } + container helper-address { + description + "Specify the server helper address"; + container vrfs { + description + "Specify server VRF"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "VRF name"; + } + list ipv6-address { + key "address"; + description + "Server address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Server address"; + } + } + } + } + } + leaf link-address { + type inet:ipv6-address-no-zone; + description + "Link Address"; + } + } + } + } + container server { + presence "Indicates a server node is configured."; + description + "Create or enter server profile"; + container classes { + description + "Create or enter server profile class"; + list class { + key "class-name"; + description + "Create or enter server profile class"; + leaf class-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "class name"; + } + } + description + "Create or enter server profile class"; + } + container dns-server { + description + "DNS servers"; + leaf-list ipv6-address { + type inet:ipv6-address-no-zone; + max-elements "8"; + description + "Server's IPv6 address"; + } + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Domain name"; + } + } + description + "Domain name"; + } + leaf address-pool { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Address pool name"; + } + } + description + "Address pool"; + } + leaf prefix-pool { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Prefix pool name"; + } + } + description + "Prefix pool"; + } + leaf preference { + type uint32 { + range "1..255" { + description + "Preference value"; + } + } + description + "DHCP Server Preference"; + } + container lease { + description + "lease"; + container infinite { + must "not(../days)"; + presence "Indicates a infinite node is configured."; + description + "Infinite lease"; + } + leaf days { + type uint32 { + range "0..365" { + description + "Days"; + } + } + must "not(../infinite)"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23" { + description + "Hours"; + } + } + must "../days"; + must "../days"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59" { + description + "Minutes"; + } + } + must "../hours"; + must "../hours"; + description + "Minutes"; + } + } + } + } + container dns-server { + description + "DNS servers"; + leaf-list ipv6-address { + type inet:ipv6-address-no-zone; + max-elements "8"; + description + "Server's IPv6 address"; + } + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Domain name"; + } + } + description + "Domain name"; + } + leaf aftr-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "AFTR name"; + } + } + description + "AFTR name"; + } + container lease { + description + "lease"; + container infinite { + must "not(../days)"; + presence "Indicates a infinite node is configured."; + description + "Infinite lease"; + } + leaf days { + type uint32 { + range "0..365" { + description + "Days"; + } + } + must "not(../infinite)"; + description + "Days"; + } + leaf hours { + type uint32 { + range "0..23" { + description + "Hours"; + } + } + must "../days"; + must "../days"; + description + "Hours"; + } + leaf minutes { + type uint32 { + range "0..59" { + description + "Minutes"; + } + } + must "../hours"; + must "../hours"; + description + "Minutes"; + } + } + leaf address-pool { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Address pool name"; + } + } + description + "Address pool"; + } + leaf prefix-pool { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Prefix pool name"; + } + } + description + "Prefix pool"; + } + leaf preference { + type uint32 { + range "0..255" { + description + "Preference value"; + } + } + description + "DHCP Server Preference"; + } + container rapid-commit { + presence "Indicates a rapid-commit node is configured."; + description + "Allow RAPID Commit"; + } + container aaa { + description + "Enable aaa dhcpv6 option force-insert"; + container dhcpv6-option { + description + "Enable aaa dhcpv6 option force-insert"; + container force-insert { + presence "Indicates a force-insert node is configured."; + description + "Enable aaa dhcpv6 option force-insert"; + } + } + } + container sessions { + description + "Change sessions configuration"; + container mac { + presence "Indicates a mac node is configured."; + description + "Throttle DHCP sessions based on MAC address"; + leaf throttle { + type uint32 { + range "1..65535" { + description + "Number of solicits at which to throttle"; + } + } + must "../throttle-request-period"; + mandatory true; + description + "Throttle DHCP sessions from any one MAC address"; + } + leaf throttle-request-period { + type uint32 { + range "1..100" { + description + "Throttle request period (in secs)"; + } + } + must "../throttle"; + mandatory true; + description + "Throttle request period (in secs)"; + } + leaf throttle-blocking-period { + type uint32 { + range "1..100" { + description + "Throttle blocking period (in secs)"; + } + } + mandatory true; + description + "Throttle blocking period (in secs)"; + } + } + } + container option { + description + "DHCPv6 options"; + container option-17-vendor-options { + description + "Vendor options"; + leaf hex { + type xr:Cisco-ios-xr-string { + length "1..512" { + description + "Vendor options"; + } + } + description + "Input value in hex format"; + } + } + } + container duid { + description + "Client DUID"; + leaf allowed-type { + type uint32 { + range "1..4" { + description + "Type of DUID to be allowed"; + } + } + description + "Allowed DUID type"; + } + } + container match { + description + "DHCPv6 match"; + container option { + description + "DHCPv6 match option"; + container enterprise-id { + description + "match enterprise number"; + container default { + description + "defaut action for enterprise number"; + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Solicit"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Solicit"; + } + } + description + "action on class-id match"; + } + } + container hexes { + description + "defaut action for enterprise number"; + list hex { + key "enterprise-id"; + description + "defaut action for enterprise number"; + leaf enterprise-id { + type xr:Cisco-ios-xr-string { + length "1..8" { + description + "Enterprise Id"; + } + pattern "[a-zA-Z0-9]+"; + } + description + "defaut action for enterprise number"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Solicit"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Solicit"; + } + } + description + "action on class-id match"; + } + } + } + } + container vendor-class { + description + "match vendor class"; + container default { + description + "default action for enterprise number"; + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Solicit"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Solicit"; + } + } + description + "action on class-id match"; + } + } + container strings { + description + "string action for vendor number"; + list string { + key "vendor-class"; + description + "string action for vendor number"; + leaf vendor-class { + type string { + length "1..64" { + description + "Vendor class"; + } + pattern "[\"].*.[\"]"; + } + description + "string action for vendor number"; + } + leaf action { + type enumeration { + enum "allow" { + value 0; + description + "Allow vendor specific DHCP Solicit"; + } + enum "drop" { + value 1; + description + "Drop vendor specific DHCP Solicit"; + } + } + description + "action on class-id match"; + } + } + } + } + } + } + container enable-vlan-intf-session-limit { + presence "Indicates a enable-vlan-intf-session-limit node is configured."; + description + "Enable vlan or interface session limit"; + } + } + container relay { + presence "Indicates a relay node is configured."; + description + "Create or enter relay profile"; + container helper-address { + description + "Specify the server helper address"; + container vrfs { + description + "Specify server VRF"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "VRF name"; + } + list ipv6-address { + key "address"; + description + "Server Global unicast address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Server Global unicast address"; + } + leaf interface { + type xr:Interface-name; + description + "Helper-address Specific Source Interface"; + } + } + } + } + } + container option { + description + "Specify relay option configuration"; + leaf remote-id { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Remote ID"; + } + } + description + "Enter remote-id value"; + } + } + container iana-route-add { + presence "Indicates a iana-route-add node is configured."; + description + "Enable route addition for IANA"; + } + leaf source-interface { + type xr:Interface-name; + description + "Relay profile Source Interface Name"; + } + container route-add-disable { + presence "Indicates a route-add-disable node is configured."; + description + "Disable route add if interface is down"; + } + container l2ac-route-add-disable { + presence "Indicates a l2ac-route-add-disable node is configured."; + description + "Disable l2ac route add if interface is down"; + } + leaf link-address { + type inet:ipv6-address-no-zone; + description + "Link Address"; + } + } + container base { + presence "Indicates a base node is configured."; + description + "Create or enter base profile"; + container match { + description + "Enter match option"; + container mode-classes { + description + "Specify PPP/IPoE class option"; + list mode-class { + must "server or proxy"; + key "mode-class-name"; + description + "Specify PPP/IPoE class option"; + leaf mode-class-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Class name"; + } + } + description + "Specify PPP/IPoE class option"; + } + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + mandatory true; + description + "Enter proxy or server profile"; + } + container server { + must "not(../proxy)"; + presence "Indicates a server node is configured."; + description + "Server mode"; + } + container proxy { + must "not(../server)"; + presence "Indicates a proxy node is configured."; + description + "Proxy mode"; + } + } + } + } + container match-default { + must "profile and server"; + presence "Indicates a match-default node is configured."; + description + "Default match option"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + must "../server"; + description + "Enter server profile"; + } + container server { + must "../profile"; + presence "Indicates a server node is configured."; + description + "Server mode"; + } + } + container dhcpv6-to-aaa { + description + "Enable to provide the list of options need to send to aaa"; + container option { + description + "option type"; + container list { + description + "List of options"; + container all { + must "not(../option-number1)"; + presence "Indicates a all node is configured."; + description + "Allow all DHCP option to AAA"; + } + leaf option-number1 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "not(../all)"; + description + "Option number"; + } + leaf option-number2 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number1"; + description + "Option number"; + } + leaf option-number3 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number2"; + description + "Option number"; + } + leaf option-number4 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number3"; + description + "Option number"; + } + leaf option-number5 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number4"; + description + "Option number"; + } + leaf option-number6 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number5"; + description + "Option number"; + } + leaf option-number7 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number6"; + description + "Option number"; + } + leaf option-number8 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number7"; + description + "Option number"; + } + leaf option-number9 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number8"; + description + "Option number"; + } + leaf option-number10 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number9"; + description + "Option number"; + } + leaf option-number11 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number10"; + description + "Option number"; + } + leaf option-number12 { + type uint32 { + range "1..255" { + description + "Option number"; + } + } + must "../option-number11"; + description + "Option number"; + } + } + } + } + } + } + } + container interfaces { + description + "Assign a profile to interface"; + list interface { + key "interface-name"; + description + "Interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Interface to configure"; + } + container base { + description + "Assign a base profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + container proxy { + description + "Assign a proxy profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + container server { + description + "Assign a server profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + container relay { + description + "Assign a relay profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + container cnbng { + description + "Assign a cnbng profile to interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + container subscriber-pppoe { + description + "PPPoE subscriber interface"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Profile name"; + } + } + description + "Enter profile name"; + } + } + } + } + container allow-duid-change { + presence "Indicates a allow-duid-change node is configured."; + description + "For BNG session, allow duid change for a client MAC"; + } + leaf inner-cos { + type uint32 { + range "0..7" { + description + "inner cos value 0-7"; + } + } + description + "Inner cos values for DHCPv6 packets to wards clients"; + } + leaf outer-cos { + type uint32 { + range "0..7" { + description + "Outer cos value 0-7"; + } + } + description + "Configure outer cos values for DHCPv6 packet to wards client"; + } + container database { + presence "Indicates a database node is configured."; + description + "Enable DHCP binding database storage to file system"; + container proxy { + presence "Indicates a proxy node is configured."; + description + "Enable DHCP proxy binding database storage to file system"; + } + container server { + presence "Indicates a server node is configured."; + description + "Enable DHCP server binding database storage to file system"; + } + container relay { + presence "Indicates a relay node is configured."; + description + "Enable DHCP relay binding database storage to file system"; + } + leaf full-write-interval { + type uint32 { + range "1..1440" { + description + "Enter full file write interval (minutes)"; + } + } + description + "Full file write interval (default 10 minutes)"; + } + leaf incremental-write-interval { + type uint32 { + range "1..1440" { + description + "Enter incremental file write interval (minutes)"; + } + } + description + "Incremental file write interval (default 1 minute)"; + } + } + container rate-limit { + description + "Rate limit ingress packets"; + leaf period { + type uint32 { + range "1..1000" { + description + "Period in msec (Default: 200 msec)"; + } + } + must "../solicit"; + description + "Rate limiter period in msec"; + } + leaf solicit { + type uint32 { + range "0..1000" { + description + "Number of Solicit packets (Default: 100, 0: No limit)"; + } + } + must "../period"; + description + "Rate limit SOLICIT packets"; + } + } + container hop-count-seed { + presence "Indicates a hop-count-seed node is configured."; + description + "Start hop count to 0 in relay-forward msg for SOLICIT"; + } + leaf ipoe-dhcp-client-reboot { + type uint32 { + range "10..30" { + description + "timed wait in seconds"; + } + } + description + "For BNG, timed wait for term a session"; + } + container handle-jumbo-packet { + presence "Indicates a handle-jumbo-packet node is configured."; + description + "Handle packets of huge size"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-display-qos-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-display-qos-cfg.yang new file mode 100644 index 000000000..d5df5ffb9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-display-qos-cfg.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XR-um-display-qos-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-display-qos-cfg"; + prefix um-display-qos-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR display-qos package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-01 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container display { + description + "Configure QoS display options "; + container qos { + description + "Configure global QoS options "; + container precedence { + description + "Set the display format for precedence values in QoS configuration"; + container string { + must "not(../numeric)"; + presence "Indicates a string node is configured."; + description + "Display format is string"; + } + container numeric { + must "not(../string)"; + presence "Indicates a numeric node is configured."; + description + "Display format is numeric"; + } + } + container dscp { + description + "Set the display format for dscp values in QoS configuration"; + container string { + must "not(../numeric)"; + presence "Indicates a string node is configured."; + description + "Display format is string"; + } + container numeric { + must "not(../string)"; + presence "Indicates a numeric node is configured."; + description + "Display format is numeric"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-domain-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-domain-cfg.yang new file mode 100644 index 000000000..ea5b2e83b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-domain-cfg.yang @@ -0,0 +1,353 @@ +module Cisco-IOS-XR-um-domain-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-domain-cfg"; + prefix um-domain-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR domain package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-04 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container domain { + description + "Domain service related commands"; + container list { + description + "Domain name to complete unqualified host names"; + list domain { + key "order domain-name"; + description + "A domain name"; + leaf order { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "A domain name"; + } + } + description + "A domain name"; + } + } + } + container lookup { + description + "Enable Domain Name System hostname translation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Domain Name System hostname translation"; + } + leaf source-interface { + type xr:Interface-name; + description + "Specify source interface for DNS resolver"; + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Default domain name"; + } + } + description + "Define the default domain name"; + } + container ipv4 { + description + "ipv4 hosts"; + container hosts { + description + "Add an entry to the ip hostname table"; + list host { + key "host-name"; + description + "Name of host"; + leaf host-name { + type string { + length "1..800" { + description + "Name of host"; + } + } + description + "Name of host"; + } + leaf-list ip-address { + type inet:ipv4-address-no-zone; + min-elements 1; + max-elements "8"; + description + "Host IP address (maximum of 8)"; + } + } + } + } + container name-servers { + description + "Specify address of name server to use"; + list name-server { + key "order address"; + description + "Specify address of name server to use"; + leaf order { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Specify address of name server to use"; + } + } + } + container ipv6 { + description + "Ipv6 hosts"; + container host { + description + "Add an entry to the ipv6 hostname table"; + list host { + key "host-name"; + description + "Name of host"; + leaf host-name { + type string { + length "1..800" { + description + "Name of host"; + } + } + description + "Name of host"; + } + leaf-list ipv6-address { + type inet:ipv6-address-no-zone; + min-elements 1; + max-elements "4"; + description + "IPv6 name or address (maximum four addresses)"; + } + } + } + } + leaf multicast { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Default multicast domain name"; + } + } + description + "Define the domain name for multicast address lookups"; + } + container vrfs { + description + "VRF name for domain services"; + list vrf { + key "vrf-name"; + description + "VRF name for domain services"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF name for domain services"; + } + container list { + description + "Domain name to complete unqualified host names"; + list domain { + key "order domain-name"; + description + "A domain name"; + leaf order { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "A domain name"; + } + } + description + "A domain name"; + } + } + } + container lookup { + description + "Enable Domain Name System hostname translation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Domain Name System hostname translation"; + } + leaf source-interface { + type xr:Interface-name; + description + "Specify source interface for DNS resolver"; + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Default domain name"; + } + } + description + "Define the default domain name"; + } + container ipv4 { + description + "ipv4 hosts"; + container hosts { + description + "Add an entry to the ip hostname table"; + list host { + key "host-name"; + description + "Name of host"; + leaf host-name { + type string { + length "1..800" { + description + "Name of host"; + } + } + description + "Name of host"; + } + leaf-list ip-address { + type inet:ipv4-address-no-zone; + min-elements 1; + max-elements "8"; + description + "Host IP address (maximum of 8)"; + } + } + } + } + container name-servers { + description + "Specify address of name server to use"; + list name-server { + key "order address"; + description + "Specify address of name server to use"; + leaf order { + type uint32; + description + "This is used to sort the servers in the + order of precedence"; + } + leaf address { + type inet:ip-address-no-zone; + description + "Specify address of name server to use"; + } + } + } + container ipv6 { + description + "Ipv6 hosts"; + container host { + description + "Add an entry to the ipv6 hostname table"; + list host { + key "host-name"; + description + "Name of host"; + leaf host-name { + type string { + length "1..800" { + description + "Name of host"; + } + } + description + "Name of host"; + } + leaf-list ipv6-address { + type inet:ipv6-address-no-zone; + min-elements 1; + max-elements "4"; + description + "IPv6 name or address (maximum four addresses)"; + } + } + } + } + leaf multicast { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Default multicast domain name"; + } + } + description + "Define the domain name for multicast address lookups"; + } + } + } + container default-flows { + description + "default LPTS flows programming"; + container disable { + presence "Indicates a disable node is configured."; + description + "disables default flows programming"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-dot1x-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dot1x-cfg.yang new file mode 100644 index 000000000..17c0eaa21 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dot1x-cfg.yang @@ -0,0 +1,471 @@ +module Cisco-IOS-XR-um-dot1x-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-dot1x-cfg"; + prefix um-dot1x-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-aaa-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dot1x package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-22 { + description + "Added Retry time for MAC Authentication Bypass feature + 2021-11-22 + Added container mab under dot1x"; + semver:module-version "1.1.0"; + } + revision 2021-03-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container dot1x { + description + "Interface Config Commands for IEEE 802.1X"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "String"; + } + } + description + "Credentials profile configuration"; + } + } + container eapol { + description + "EAPOL configuration commands"; + container destination-address { + description + "Destination address for EAPoL frames transmission"; + leaf mac-address { + type yang:mac-address; + must + "not(../bridge-group-address or ../broadcast-address + or ../lldp-multicast-address)"; + description + "configure this node"; + } + container bridge-group-address { + must + "not(../mac-address or ../broadcast-address + or ../lldp-multicast-address)"; + presence "Indicates a bridge-group-address node is configured."; + description + "Configure bridge group address"; + } + container broadcast-address { + must + "not(../mac-address or ../bridge-group-address + or ../lldp-multicast-address)"; + presence "Indicates a broadcast-address node is configured."; + description + "Configure broadcast MAC address"; + } + container lldp-multicast-address { + must + "not(../mac-address or ../bridge-group-address + or ../broadcast-address)"; + presence "Indicates a lldp-multicast-address node is configured."; + description + "Configure lldp multicast address"; + } + } + leaf eth-type { + type enumeration { + enum "876F" { + value 34671; + description + "Value of Ethertype"; + } + } + description + "EAPOL ethertype configuration"; + } + } + } + + grouping CONT-BODY { + container dot1x { + description + "Interface Config Commands for IEEE 802.1X"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "String"; + } + } + description + "Credentials profile configuration"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } + augment "/a2:aaa/a2:authentication" { + container dot1x { + description + "Set authentication lists for Dot1x"; + container default { + description + "Default list name for AAA authentication"; + container group { + description + "Use Server-group"; + leaf use-list-of-all-radius-hosts { + type enumeration { + enum "radius" { + value 3; + description + "Use list of all RADIUS hosts"; + } + } + must "not(../server-group-name)"; + description + "configure this node"; + } + leaf server-group-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "server-group name"; + } + } + must "not(../use-list-of-all-radius-hosts)"; + description + "server-group name"; + } + } + } + container aaa-authentication-names { + description + "List name for AAA authentication"; + list aaa-authentication-name { + key "aaa-authentication-name"; + description + "List name for AAA authentication"; + leaf aaa-authentication-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "List name for AAA authentication"; + } + } + description + "List name for AAA authentication"; + } + container group { + description + "Use Server-group"; + leaf use-list-of-all-radius-hosts { + type enumeration { + enum "radius" { + value 3; + description + "Use list of all RADIUS hosts"; + } + } + must "not(../server-group-name)"; + description + "configure this node"; + } + leaf server-group-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "server-group name"; + } + } + must "not(../use-list-of-all-radius-hosts)"; + description + "server-group name"; + } + } + } + } + } + } + container dot1x { + description + "IEEE 802.1X Global Configuration Commands"; + container profiles { + description + "Configure 802.1X profiles"; + list profile { + key "profile-name"; + description + "Configure 802.1X profiles"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Specify a profile name (max 63 charecters)"; + } + } + description + "Configure 802.1X profiles"; + } + container pae { + description + "Set 802.1x pae type"; + container authenticator { + must "not(../supplicant or ../both)"; + presence "Indicates a authenticator node is configured."; + description + "Set PAE Type as Authenticator"; + } + container supplicant { + must "not(../authenticator or ../both)"; + presence "Indicates a supplicant node is configured."; + description + "Set PAE Type as Supplicant"; + } + container both { + must "not(../authenticator or ../supplicant)"; + presence "Indicates a both node is configured."; + description + "Set PAE Type as both Supplicant and Authenticator"; + } + } + container mab { + presence "Indicates a mab node is configured."; + description + "Enable MAC Authentication Bypass"; + } + container supplicant { + description + "Enter in Supplicant submode"; + container eap { + description + "Configure EAP Supplicant Parameters"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "EAP Profile Name"; + } + } + description + "EAP Profile Configuration"; + } + } + } + container authenticator { + description + "Enter in Authenticator submode"; + container eap { + description + "enable local EAP server"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "EAP Profile Name"; + } + } + description + "EAP Profile Configuration"; + } + } + container timer { + description + "Set various timeouts"; + container reauth-time { + description + "In seconds, after which an automatic reauth should be initiated"; + container server { + presence "Indicates a server node is configured."; + description + "server given re-auth timer value, min expected value is 60 sec, default: 1hr"; + } + leaf timer-value { + type uint32 { + range "60..5184000" { + description + "In seconds, admin configured reauth timer value, min:60, max:5184000 (2 months)"; + } + } + description + "In seconds, admin configured reauth timer value, min:60, max:5184000 (2 months)"; + } + } + leaf mab-retry-time { + type uint32 { + range "60..300" { + description + "In seconds, min:60(default), max:300 (5 minutes)"; + } + } + description + "In seconds, interval after which an auth attempt will be initiated for auth failed or server unreachable MAB clients"; + } + } + container server { + description + "Remote AAA server event"; + container dead { + description + "AAA server unreachable"; + container action { + description + "dot1x authenticator action"; + container auth-fail { + must "not(../auth-retry)"; + presence "Indicates a auth-fail node is configured."; + description + "declare authentication failure on server unreachability"; + } + container auth-retry { + must "not(../auth-fail)"; + presence "Indicates a auth-retry node is configured."; + description + "no auth fail declared, retry authentication with supplicant, until server is reachable."; + } + } + } + } + container host-mode { + description + "set the host mode for authentication"; + container multi-auth { + must "not(../multi-host or ../single-host)"; + presence "Indicates a multi-auth node is configured."; + description + "multiple authentication mode"; + } + container multi-host { + must "not(../multi-auth or ../single-host)"; + presence "Indicates a multi-host node is configured."; + description + "multiple host mode"; + } + container single-host { + must "not(../multi-auth or ../multi-host)"; + presence "Indicates a single-host node is configured."; + description + "single host mode"; + } + } + } + } + } + } + container eap { + description + "EAP Global Configuration Commands"; + container profiles { + description + "Configure EAP profiles"; + list profile { + key "profile-name"; + description + "Configure EAP profiles"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Specify a profile name (max 63 characters)"; + } + } + description + "Configure EAP profiles"; + } + leaf identity { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Specify EAP Identity or Username for authentication"; + } + } + description + "identity name"; + } + container method { + description + "Add an allowed method"; + container tls { + description + "EAP-TLS method allowed"; + leaf pki-trustpoint { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Specify the pki trustpoint name"; + } + } + description + "Set pki trustpoint"; + } + } + container ttls { + description + "EAP-TTLS method allowed"; + leaf pki-trustpoint { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Specify the pki trustpoint name"; + } + } + description + "Set pki trustpoint"; + } + } + } + container allow-eap-tls-v1-0 { + presence "Indicates a allow-eap-tls-v1-0 node is configured."; + description + "Allow EAP TLS v1.0"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg.yang new file mode 100644 index 000000000..b81762c81 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg.yang @@ -0,0 +1,243 @@ +module Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg"; + prefix um-dyn-tmpl-service-policy-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-dynamic-template-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dyn-tmpl-service-policy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature qos_ui_supp_qfab_cfg { + description + "qos ui supp qfab cfg"; + } + + feature qos_ui_supp_spi { + description + "qos ui supp spi"; + } + + grouping TEMPLATE-BODY { + container service-policy { + description + "Associate a service policy to the dynamic template"; + container input { + presence "Indicates input node is configured."; + description + "Configure an ingress service policy"; + leaf service-policy-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + mandatory true; + description + "Configure an ingress service policy"; + } + leaf merge { + type uint32 { + range "0..255" { + description + "Sequence number of the policy"; + } + } + description + "Enable the policy to be merged"; + } + container acct-stats { + when "boolean(../../../../../a1:service/a1:template)"; + presence "Indicates a acct-stats node is configured."; + description + "Enable service accounting"; + } + leaf shared-policy-instance { + if-feature "qos_ui_supp_spi"; + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the shared-policy-instance"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "configure a shared-policy-instance"; + } + } + container output { + presence "Indicates output node is configured."; + description + "Configure an egress service policy"; + leaf service-policy-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + mandatory true; + description + "Configure an egress service policy"; + } + leaf merge { + type uint32 { + range "0..255" { + description + "Sequence number of the policy"; + } + } + description + "Enable the policy to be merged"; + } + container acct-stats { + when "boolean(../../../../../a1:service/a1:template)"; + presence "Indicates a acct-stats node is configured."; + description + "Enable service accounting"; + } + leaf shared-policy-instance { + if-feature "qos_ui_supp_spi"; + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the shared-policy-instance"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "configure a shared-policy-instance"; + } + } + } + container output { + when "boolean(../../../a1:ppp/a1:template)"; + description + "QoS applied on the egress direction"; + leaf minimum-bandwidth { + type uint32 { + range "1..4294967295" { + description + "Minimum bandwidth value for subscriber (in kbps)"; + } + } + description + "Minimum bandwidth guaranteed for a subscriber"; + } + } + container account { + when "boolean(../../../a1:ppp/a1:template)"; + description + "L2 overhead accounting"; + leaf aal5 { + type enumeration { + enum "snap-pppoa" { + value 1; + description + "snap-pppoa encap used between the DSLAM and CPE"; + } + enum "mux-pppoa" { + value 2; + description + "mux-pppoa encap used between the DSLAM and CPE"; + } + enum "snap-1483routed" { + value 3; + description + "snap-1483routed encap used between the DSLAM and CPE"; + } + enum "mux-1483routed" { + value 4; + description + "mux-1483routed encap used between the DSLAM and CPE"; + } + enum "snap-rbe" { + value 5; + description + "snap-rbe encap used between the DSLAM and CPE"; + } + enum "snap-dot1q-rbe" { + value 6; + description + "snap-dot1q-rbe encap used between the DSLAM and CPE"; + } + enum "mux-rbe" { + value 7; + description + "mux-rbe encap used between the DSLAM and CPE"; + } + enum "mux-dot1q-rbe" { + value 8; + description + "mux-dot1q-rbe encap used between the DSLAM and CPE"; + } + } + must "not(../user-defined)"; + description + "ATM adaption layer AAL5"; + } + leaf user-defined { + type int32 { + range "-63..63" { + description + "Sequence number of the policy"; + } + } + must "not(../aal5)"; + description + "Configure a numeric l2 overhead offset"; + } + container atm { + must "../user-defined"; + presence "Indicates a atm node is configured."; + description + "Add ATM cell tax to the L2 overhead"; + } + } + } + + augment "/a1:dynamic-template/a1:type/a1:ppp/a1:template" { + uses TEMPLATE-BODY; + } + augment "/a1:dynamic-template/a1:type/a1:ipsubscriber/a1:template" { + uses TEMPLATE-BODY; + } + augment "/a1:dynamic-template/a1:type/a1:service/a1:template" { + uses TEMPLATE-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-dynamic-template-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dynamic-template-cfg.yang new file mode 100644 index 000000000..5ddd49da8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-dynamic-template-cfg.yang @@ -0,0 +1,105 @@ +module Cisco-IOS-XR-um-dynamic-template-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-dynamic-template-cfg"; + prefix um-dynamic-template-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR dynamic-template package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container dynamic-template { + description + "Dynamically Applied Configuration Template Definition"; + container type { + description + "'type' keyword"; + container ppp { + description + "PPP dynamic template type"; + list template { + key "template-name"; + description + "Dynamic Template Name"; + leaf template-name { + type string { + length "1..64" { + description + "Dynamic Template Name"; + } + } + description + "Dynamic Template Name"; + } + } + } + container ipsubscriber { + description + "IP Subscriber dynamic template type"; + list template { + key "template-name"; + description + "Dynamic Template Name"; + leaf template-name { + type string { + length "1..64" { + description + "Dynamic Template Name"; + } + } + description + "Dynamic Template Name"; + } + } + } + container service { + description + "Service dynamic template type"; + list template { + key "template-name"; + description + "Dynamic Template Name"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Dynamic Template Name"; + } + } + description + "Dynamic Template Name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-environment-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-environment-cfg.yang new file mode 100644 index 000000000..061f48b35 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-environment-cfg.yang @@ -0,0 +1,232 @@ +module Cisco-IOS-XR-um-environment-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-environment-cfg"; + prefix um-environment-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR environment package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-22 { + description + "Added alarm-contact support"; + semver:module-version "1.0.1m"; + } + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature altitude { + description + "altitude"; + } + + feature alarm-contact { + description + "alarm-contact supported"; + } + + container environment { + description + "Global environment configuration commands"; + leaf altitude { + if-feature "altitude"; + type uint32 { + range "0..4000" { + description + "meters"; + } + } + description + "Altitude of the chassis in meters"; + } + container air-filter { + description + "chassis air-filter status"; + container replaced { + description + "air-filter replaced date"; + leaf date { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "CCYY-MM-DD format"; + } + } + description + ""; + } + } + } + leaf min-fan-speed { + type uint32 { + range "0..100" { + description + "pwm"; + } + } + description + "Min default fan speed in PWM (the speed cannot go lower, but can go higher based on environmental conditions)"; + } + container chassis-door-alarm { + description + "Control chassis door alarm"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable chassis door alarm"; + } + } + container alarm-contact { + if-feature "alarm-contact"; + description + "Control the alarm-contact behavior"; + container alarm-contact-numbers { + description + "alarm-contact number"; + list alarm-contact-number { + key "alarm-contact-number-id"; + description + "alarm-contact number"; + leaf alarm-contact-number-id { + type uint32 { + range "1..256" { + description + "alarm-contact number"; + } + } + description + "alarm-contact number"; + } + container severity { + description + "The severity of the alarm minor|major|critical"; + container minor { + must "not(../major or ../critical)"; + presence "Indicates a minor node is configured."; + description + "Alarm type minor"; + } + container major { + must "not(../minor or ../critical)"; + presence "Indicates a major node is configured."; + description + "Alarm type major"; + } + container critical { + must "not(../minor or ../major)"; + presence "Indicates a critical node is configured."; + description + "Alarm type critical"; + } + } + leaf description { + type string { + length "1..40" { + description + "Alarm Description (max 40 characters)"; + } + } + description + "The description of the alarm"; + } + container trigger { + description + "Whether to trigger on open or closed contact. open|closed"; + container open { + must "not(../closed)"; + presence "Indicates a open node is configured."; + description + "Trigger on contact open"; + } + container closed { + must "not(../open)"; + presence "Indicates a closed node is configured."; + description + "Trigger on contact closed"; + } + } + } + } + container all { + presence "Indicates a all node is configured."; + description + "set options for all pins"; + container severity { + description + "The severity of the alarm minor|major|critical"; + container minor { + must "not(../major or ../critical)"; + presence "Indicates a minor node is configured."; + description + "Alarm type minor"; + } + container major { + must "not(../minor or ../critical)"; + presence "Indicates a major node is configured."; + description + "Alarm type major"; + } + container critical { + must "not(../minor or ../major)"; + presence "Indicates a critical node is configured."; + description + "Alarm type critical"; + } + } + leaf description { + type string { + length "1..40" { + description + "Alarm Description (max 40 characters)"; + } + } + description + "The description of the alarm"; + } + container trigger { + description + "Whether to trigger on open or closed contact. open|closed"; + container open { + must "not(../closed)"; + presence "Indicates a open node is configured."; + description + "Trigger on contact open"; + } + container closed { + must "not(../open)"; + presence "Indicates a closed node is configured."; + description + "Trigger on contact closed"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-error-disable-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-error-disable-cfg.yang new file mode 100644 index 000000000..3f0d2656f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-error-disable-cfg.yang @@ -0,0 +1,362 @@ +module Cisco-IOS-XR-um-error-disable-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-error-disable-cfg"; + prefix um-error-disable-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR error-disable package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-08 { + description + "Added container bad-link-error"; + semver:module-version "1.1.0"; + } + revision 2021-02-15 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container error-disable { + description + "Configure error-disable"; + container recovery { + description + "Configure auto-recovery"; + container cause { + description + "Configure auto-recovery for a specific cause"; + container link-oam-session-down { + description + "Used when an Ethernet Link OAM session goes down"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-discovery-timeout { + description + "Used when an Ethernet Link OAM session fails to come up in time"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-capabilities-conflict { + description + "Used when Ethernet Link OAM configuration conflicts with the peer"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-miswired { + description + "Used when a mis-wiring is detected with Ethernet Link OAM"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-link-fault { + description + "Used when a unidirectional link is detected by Ethernet Link OAM"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-dying-gasp { + description + "Used when a dying gasp is detected by Ethernet Link OAM"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-critical-event { + description + "Used when a critical event is detected by Ethernet Link OAM"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-threshold-breached { + description + "Used when a configured error threshold has been breached"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container stp-bpdu-guard { + description + "Used when an STP BPDU is received on a port on which BPDU Guard is configured"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container stp-legacy-bpdu { + description + "Used when a legacy BPDU is received on a port. Only MSTP and RSTP BPDUs are supported"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container bundle-down { + description + "Used when a bundle member is shut down because the parent bundle interface is down"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container cluster-udld { + description + "Used when UDLD is enabled on a Cluster port and UDLD is in aggressive mode and UDLD goes uni directional"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container cluster-minlinks { + description + "Used when system is in Cluster mode and there are not enough links between them"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container udld-unidirectional { + description + "Used when a link is detected to be unidirectional by UDLD"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container udld-neighbor-mismatch { + description + "Used when mismatched neighbors are detected by UDLD"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container udld-timeout { + description + "Used when all UDLD neigbors on the link have timed out"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container udld-loopback { + description + "Used when UDLD detects that the port is in loopback mode(i.e. its Tx is directly connected to its Rx)"; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container pvrst-pvid-mismatch { + description + "Used when a PVRST BPDU packet is tagged with a VLAN ID which is different from the VLAN ID on which it was sent."; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container l2vpn-bport-mac-move { + description + "Used when an L2VPN bridge port interface experiences a large number of MAC move events, causing high CPU usage."; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container ot-track-state-change { + description + "Used when the state of Object Tracking track changes."; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container link-oam-dampening { + description + "Used when Ethernet Link-OAM forces an interface down due to too many EFD down events."; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + container bad-link-error { + description + "Used when physical layer errors forces an interface down due to too many ASIC link error events."; + leaf interval { + type uint32 { + range "30..1000000" { + description + "Specify an interval for the auto-recovery period in seconds"; + } + } + description + "Configure an interval for the auto-recovery period"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-cfm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-cfm-cfg.yang new file mode 100644 index 000000000..a100e938a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-cfm-cfg.yang @@ -0,0 +1,1155 @@ +module Cisco-IOS-XR-um-ethernet-cfm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-cfm-cfg"; + prefix um-ethernet-cfm-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-cfm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-07 { + description + "list-leaf cos-value updated to 7 seperate leafs, + Added must and presence statement to priority container"; + semver:module-version "2.0.0"; + } + revision 2021-02-09 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-ETHER-BODY { + container ethernet { + description + "Ethernet per-interface configuration commands"; + container cfm { + description + "802.1ag Connectivity Fault Management configuration"; + container mep { + description + "CFM Maintenance End Point configuration"; + list domain { + key "domain-name"; + description + "Specify the Maintenance Domain the MEP operates in"; + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Domain name"; + } + } + description + "Domain name"; + } + leaf service { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Service name"; + } + } + mandatory true; + description + "Service name"; + } + leaf mep-id { + type uint32 { + range "1..8191" { + description + "MEP ID"; + } + } + mandatory true; + description + "Specify the MEP ID to assign to the MEP"; + } + container propagate-remote-status { + presence "Indicates a propagate-remote-status node is configured."; + description + "propagate-remote-status"; + } + leaf cos { + type uint32 { + range "0..7" { + description + "Class of Service"; + } + } + description + "Specify CoS bits for messages initiated by this MEP"; + } + container loss-measurement { + description + "Specify loss-measurement configuration on this MEP"; + container counters { + description + "Specify which loss-measurement counters should be allocated for this MEP"; + container aggregate { + presence "Indicates a aggregate node is configured."; + description + "Allocate aggregated packet counters for this MEP"; + } + container priority { + must "cos-values or cos-range"; + presence "Indicates a up node is configured."; + description + "Specify a list or range of CoS values to allocate packet counters for"; + container cos-range { + description + "Range of CoS values "; + leaf start-of-cos-range { + type uint32 { + range "0..7" { + description + "Start of CoS range"; + } + } + must "../end-of-cos-range"; + description + "Start of CoS range"; + } + leaf end-of-cos-range { + type uint32 { + range "1..7" { + description + "End of CoS range"; + } + } + must "../start-of-cos-range"; + description + "End of CoS range"; + } + } + container cos-values { + description + "Set of CoS values"; + leaf cos-value1 { + type uint32 { + range "0..7" { + description + "CoS value"; + } + } + description + "CoS value"; + } + leaf cos-value2 { + type uint32 { + range "0..7" { + description + "CoS value"; + } + } + must "../cos-value1"; + description + "CoS value"; + } + leaf cos-value3 { + type uint32 { + range "0..7" { + description + "CoS value"; + } + } + must "../cos-value2"; + description + "CoS value"; + } + leaf cos-value4 { + type uint32 { + range "0..7" { + description + "CoS value"; + } + } + must "../cos-value3"; + description + "CoS value"; + } + leaf cos-value5 { + type uint32 { + range "0..7" { + description + "CoS value"; + } + } + must "../cos-value4"; + description + "CoS value"; + } + leaf cos-value6 { + type uint32 { + range "0..7" { + description + "CoS value"; + } + } + must "../cos-value5"; + description + "CoS value"; + } + leaf cos-value7 { + type uint32 { + range "0..7" { + description + "CoS value"; + } + } + must "../cos-value6"; + description + "CoS value"; + } + } + } + } + } + container sla { + description + "Service Level Agreement configuration"; + container operation { + description + "SLA operation configuration"; + container profile { + description + "Specify the SLA profile for this operation"; + container target { + description + "Specify the target for the SLA operation"; + container mep-id { + description + "Specify a target MEP"; + list profile-target-mep-id { + key "profile-name mep-id"; + description + "Specify the SLA profile for this operation"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Profile name"; + } + } + description + "Specify the SLA profile for this operation"; + } + leaf mep-id { + type uint32 { + range "1..8191" { + description + "Target MEP ID"; + } + } + description + "Specify a target MEP"; + } + } + } + container mac-address { + description + "Specify a target unicast MAC address"; + list profile-target-mac-address { + key "profile-name mac-address"; + description + "Specify a target unicast MAC address"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Profile name"; + } + } + description + "Specify the SLA profile for this operation"; + } + leaf mac-address { + type yang:mac-address; + description + "Specify a target unicast MAC address"; + } + } + } + } + } + } + } + } + } + container ais { + description + "CFM Alarm Indication Signal configuration"; + container transmission { + description + "CFM AIS transmission configuration"; + container up { + presence "Indicates a up node is configured."; + description + "Up configuration"; + leaf interval { + type enumeration { + enum "1s" { + value 4; + description + "Interval of 1 second"; + } + enum "1m" { + value 6; + description + "Interval of 1 minute"; + } + } + description + "Specify the AIS transmission interval"; + } + leaf cos { + type uint32 { + range "0..7" { + description + "Class of Service"; + } + } + description + "Specify CoS bits for AIS messages"; + } + } + } + } + container bandwidth-notifications { + description + "Configure bandwidth-notification parameters"; + leaf hold-off { + type uint32 { + range "0..600" { + description + "Hold-off time (in seconds)"; + } + } + description + "Hold-off time"; + } + leaf wait-to-restore { + type uint32 { + range "0..600" { + description + "Wait-to-restore time (in seconds)"; + } + } + description + "Wait-to-restore time"; + } + leaf loss-threshold { + type uint32 { + range "2..255" { + description + "Loss threshold (in number of BNMs)"; + } + } + description + "Loss threshold"; + } + container log { + description + "Enable logging of bandwidth changes"; + container changes { + presence "Indicates a changes node is configured."; + description + "Enable logging of bandwidth changes"; + } + } + } + } + } + } + + augment "/a1:snmp-server/a1:traps" { + container cfm { + presence "Indicates a cfm node is configured."; + description + "Enable traps for 802.1ag Connectivity Fault Management"; + } + } + augment "/a2:interfaces/a2:interface" { + uses IF-ETHER-BODY; + } + augment "/a2:interfaces/a2:interface-preconfigure" { + uses IF-ETHER-BODY; + } + container cfm { + description + "802.1ag Connectivity Fault Management configuration"; + container traceroute { + description + "Traceroute configuration"; + container cache { + description + "Configure traceroute cache parameters"; + leaf hold-time { + type uint32 { + range "1..525600" { + description + "Hold-time, in minutes"; + } + } + description + "Traceroute cache hold-time"; + } + leaf size { + type uint32 { + range "1..4294967295" { + description + "Number of replies in the traceroute cache"; + } + } + description + "Traceroute cache size (number of replies)"; + } + } + } + container domains { + description + "Domain-specific interface configuration"; + list domain { + key "domain-name"; + description + "Configuration for a particular Maintenance Domain"; + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..127"; + } + description + "Domain name"; + } + leaf level { + type uint32 { + range "0..7"; + } + mandatory true; + description + "Maintenance Domain Level"; + } + container id { + description + "Maintenance Domain Identifier"; + leaf dns { + type xr:Cisco-ios-xr-string { + length "1..43"; + } + must "not(../mac-address or ../null or ../string)"; + description + "DNS Name"; + } + leaf mac-address { + type yang:mac-address; + must + "not(../dns or ../null or ../string) and + ../mac-address-two-octet-integer"; + description + "MAC Address"; + } + leaf mac-address-two-octet-integer { + type uint32 { + range "0..65535"; + } + must "../mac-address"; + description + "2 Octet integer"; + } + container null { + must "not(../mac-address or ../dns or ../string)"; + presence "Indicates a null node is configured."; + description + "No MDID value"; + } + leaf string { + type xr:Cisco-ios-xr-string { + length "1..43"; + } + must "not(../mac-address or ../null or ../dns)"; + description + "String"; + } + } + container services { + description + "Service-specific global configuration"; + list service { + must "bridge or down-meps or flexible-xconnect/vlan-aware/evi or flexible-xconnect/vlan-unaware/cross-connect-name or xconnect/mp2mp or xconnect/p2p"; + key "service-name"; + description + "Per service configuration"; + leaf service-name { + type xr:Cisco-ios-xr-string { + length "1..127"; + } + description + "Service name"; + } + container bridge { + must "not(../down-meps or ../flexible-xconnect/vlan-aware/evi or ../flexible-xconnect/vlan-unaware/cross-connect-name or ../xconnect/mp2mp or ../xconnect/p2p)"; + presence "Indicates a bridge node is configured."; + description + "Use a Bridge Domain. All MEPs will be Up MEPs; MIPs are permitted"; + leaf group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "Bridge Domain Group Name"; + } + leaf bridge-domain { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "Bridge Domain Name"; + } + } + container down-meps { + must "not(../bridge or ../flexible-xconnect/vlan-aware/evi or ../flexible-xconnect/vlan-unaware/cross-connect-name or ../xconnect/mp2mp or ../xconnect/p2p)"; + presence "Indicates a down-meps node is configured."; + description + "Down MEPs; no MIPs permitted"; + } + container flexible-xconnect { + description + "Use a Flexible Cross Connect. All MEPs will be Up MEPs; + MIPs are permitted"; + container vlan-aware { + description + "VLAN-aware Flexible Cross Connect"; + leaf evi { + type uint32 { + range "1..65534"; + } + must "not(../../../bridge or ../../../down-meps or ../../../flexible-xconnect/vlan-unaware/cross-connect-name or ../../../xconnect/mp2mp or ../../../xconnect/p2p)"; + description + "EVPN ID"; + } + } + container vlan-unaware { + description + "VLAN-unaware Flexible Cross Connect"; + leaf cross-connect-name { + type xr:Cisco-ios-xr-string { + length "1..23"; + } + must "not(../../../bridge or ../../../down-meps or ../../../flexible-xconnect/vlan-aware/evi or ../../../xconnect/mp2mp or ../../../xconnect/p2p)"; + description + "VLAN-unaware Flexible Cross Connect name"; + } + } + } + container xconnect { + description + "Use a Cross Connect. All MEPs will be Up MEPs; MIPs are permitted"; + container mp2mp { + must "not(../../bridge or ../../down-meps or ../../flexible-xconnect/vlan-aware/evi or ../../flexible-xconnect/vlan-unaware/cross-connect-name or ../../xconnect/p2p)"; + presence "Indicates a mp2mp node is configured."; + description + "Multipoint-to-Multipoint (BGP-signaled) Cross Connect"; + leaf group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "Cross Connect Group"; + } + leaf cross-connect-name { + type xr:Cisco-ios-xr-string { + length "1..26"; + } + mandatory true; + description + "Cross Connect Name"; + } + leaf ce-id { + type uint32 { + range "1..16384"; + } + mandatory true; + description + "Local Customer Edge Identifier"; + } + leaf remote-ce-id { + type uint32 { + range "1..16384"; + } + mandatory true; + description + "Remote Customer Edge Identifier"; + } + } + container p2p { + must "not(../../bridge or ../../down-meps or ../../flexible-xconnect/vlan-aware/evi or ../../flexible-xconnect/vlan-unaware/cross-connect-name or ../../xconnect/mp2mp)"; + presence "Indicates a p2p node is configured."; + description + "Point-to-Point Cross Connect"; + leaf group { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "Cross Connect Group"; + } + leaf cross-connect-name { + type xr:Cisco-ios-xr-string { + length "1..38"; + } + mandatory true; + description + "Cross Connect Name"; + } + } + } + container id { + description + "Short Maintenance Association Name"; + container icc-based { + must "not(../number or ../string or ../vlanid or ../vpn-id)"; + presence "Indicates a icc-based node is configured."; + description + "ICC-based format, as defined by ITU-T Y.1731"; + leaf icc { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "ITU Carrier Code (ICC)"; + } + leaf umc { + type xr:Cisco-ios-xr-string { + length "1..32"; + } + mandatory true; + description + "Unique MEG ID Code (UMC)"; + } + } + leaf vlanid { + type uint32 { + range "1..4094" { + description + "VLAN ID"; + } + } + must "not(../number or ../string or ../icc-based or ../vpn-id)"; + description + "VLAN ID"; + } + leaf number { + type uint32 { + range "0..65535" { + description + "Number ID"; + } + } + must "not(../vlanid or ../string or ../icc-based or ../vpn-id)"; + description + "Number"; + } + leaf string { + type xr:Cisco-ios-xr-string { + length "1..45" { + description + "String ID"; + } + } + must "not(../vlanid or ../number or ../icc-based or ../vpn-id)"; + description + "String"; + } + container vpn-id { + must "not(../vlanid or ../number or ../icc-based or ../string)"; + presence "Indicates a vpn-id node is configured."; + description + "VPN ID, as defined by RFC 2685 (HHH:HHHH)"; + leaf vpn-oui { + type uint32 { + range "0..16777215" { + description + "3 byte VPN OUI, HHH"; + } + } + mandatory true; + description + "3 byte VPN OUI, HHH"; + } + leaf vpn-index { + type uint32 { + range "0..4294967295" { + description + "4 byte VPN Index, HHHH"; + } + } + mandatory true; + description + "4 byte VPN Index, HHHH"; + } + } + } + leaf tags { + type enumeration { + enum "1" { + value 1; + description + "Use the first (outer) tag"; + } + } + description + "The number of tags to use when sending CFM packets + from up MEPs in this service"; + } + container mip { + description + "MIP configuration"; + container auto-create { + description + "MIP auto-creation policy"; + container all { + must "not(../lower-mep-only)"; + presence "Indicates a all node is configured."; + description + "Create MIPs on all interfaces"; + } + container lower-mep-only { + must "not(../all)"; + presence "Indicates a lower-mep-only node is configured."; + description + "Create MIPs only on interfaces with a MEP at a lower level"; + } + container ccm-learning { + must "../all or ../lower-mep-only"; + presence "Indicates a ccm-learning node is configured."; + description + "Enable CCM learning at MIPs created in this service"; + } + } + } + container efd { + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down ports when MEPs detect errors"; + container protection-switching { + presence "Indicates a protection-switching node is configured."; + description + "Enable protection switching notifications when triggering EFD"; + } + } + container continuity-check { + description + "Continuity-check configuration"; + container interval { + description + "Set the continuity-check interval"; + leaf interval-time { + type enumeration { + enum "3.3ms" { + value 1; + description + "Interval of 3.3 milliseconds"; + } + enum "10ms" { + value 2; + description + "Interval of 10 milliseconds"; + } + enum "100ms" { + value 3; + description + "Interval of 100 milliseconds"; + } + enum "1s" { + value 4; + description + "Interval of 1 second"; + } + enum "10s" { + value 5; + description + "Interval of 10 seconds"; + } + enum "1m" { + value 6; + description + "Interval of 1 minute"; + } + enum "10m" { + value 7; + description + "Interval of 10 minutes"; + } + } + description + "The number of tags to use when sending CFM packets + from up MEPs in this service"; + } + leaf loss-threshold { + type uint32 { + range "2..255" { + description + "Loss threshold (in number of CCMs)"; + } + } + must "../interval-time"; + description + "Set the continuity-check loss threshold"; + } + } + container archive { + description + "Set the continuity-check archive hold time"; + leaf hold-time { + type uint32 { + range "1..65535" { + description + "Hold time (in minutes)"; + } + } + description + "Set the continuity-check archive hold time"; + } + } + container loss { + description + "Loss threshold actions"; + container auto-traceroute { + presence "Indicates a auto-traceroute node is configured."; + description + "Automatically trigger a traceroute when a MEP times out"; + } + } + } + leaf maximum-meps { + type uint32 { + range "2..8190" { + description + "Maximum number of MEPs to allow in this Service"; + } + } + description + "Limit the number of MEPs in the Maintenance Association"; + } + container ais { + description + "CFM Alarm Indication Signal configuration"; + container transmission { + presence "Indicates a transmission node is configured."; + description + "CFM AIS transmission configuration"; + leaf interval { + type enumeration { + enum "1s" { + value 4; + description + "Interval of 1 second"; + } + enum "1m" { + value 6; + description + "Interval of 1 minute"; + } + } + description + "Specify the AIS transmission interval"; + } + leaf cos { + type uint32 { + range "0..7" { + description + "Class of Service"; + } + } + description + "Specify CoS bits for AIS messages"; + } + } + } + container log { + description + "Enable logging for particular types of event"; + container continuity-check { + description + "Enable continuity-check logging"; + container mep { + description + "Enable MEP continuity-check logging"; + container changes { + presence "Indicates a changes node is configured."; + description + "Enable logging on peer MEP state changes"; + } + } + container errors { + presence "Indicates a errors node is configured."; + description + "Enable logging when continuity-check errors are detected"; + } + } + container crosscheck { + description + "Enable crosscheck logging"; + container errors { + presence "Indicates a errors node is configured."; + description + "Enable logging when crosscheck errors are detected"; + } + } + container ais { + presence "Indicates a ais node is configured."; + description + "Enable logging when AIS or LCK messages are received"; + } + container efd { + presence "Indicates a efd node is configured."; + description + "Enable logging of EFD events"; + } + } + container mep { + description + "MEP configuration"; + container crosscheck { + description + "Statically define the Maintenence End Points with a Maintenance Association to be cross-checked"; + container mep-ids { + description + "Specify crosscheck config for a given MEP ID"; + list mep-id { + key "mep-id"; + description + "Specify crosscheck config for a given MEP ID"; + leaf mep-id { + type uint32 { + range "1..8191" { + description + "MEP ID"; + } + } + description + "Specify crosscheck config for a given MEP ID"; + } + leaf mac-address { + type yang:mac-address; + description + "Expected MAC Address for the specified MEP"; + } + } + } + container auto { + presence "Indicates a auto node is configured."; + description + "Treat all remote MEPs for which CCMs are received as cross-check MEPs"; + } + } + } + container report { + description + "Configure report defect settings"; + container defects { + presence "Indicates a defects node is configured."; + description + "Specify which defects are to be reported"; + container none { + must "not(../all)"; + presence "Indicates a none node is configured."; + description + "No defects reported"; + } + container all { + must "not(../none)"; + presence "Indicates a all node is configured."; + description + "All defects reported, including received RDI"; + } + container ieee { + must + "not(../all or ../none) and (xcon or error-xcon or + remote-error-xcon or mac-remote-error-xcon)"; + presence "Indicates a ieee node is configured."; + description + "Specify defects via IEEE 802.1ag defined hierarchy"; + container xcon { + must + "not(../error-xcon or ../remote-error-xcon + or ../mac-remote-error-xcon)"; + presence "Indicates a xcon node is configured."; + description + "Report only DefXconCCM"; + } + container error-xcon { + must + "not(../xcon or ../remote-error-xcon + or ../mac-remote-error-xcon)"; + presence "Indicates a error-xcon node is configured."; + description + "Above defects reported, plus DefErrorCCM"; + } + container remote-error-xcon { + must + "not(../xcon or ../error-xcon + or ../mac-remote-error-xcon)"; + presence "Indicates a remote-error-xcon node is configured."; + description + "Above defects reported, plus DefRemoteCCM"; + } + container mac-remote-error-xcon { + must + "not(../xcon or ../error-xcon + or ../remote-error-xcon)"; + presence "Indicates a mac-remote-error-xcon node is configured."; + description + "Above defects reported, plus DefMACStatus (default)"; + } + } + container wrong-maid { + must "not(../all or ../none)"; + presence "Indicates a wrong-maid node is configured."; + description + "CCMs received with an incorrect MAID"; + } + container wrong-level { + must "not(../all or ../none)"; + presence "Indicates a wrong-level node is configured."; + description + "CCMs received with an incorrect level"; + } + container our-mac { + must "not(../all or ../none)"; + presence "Indicates a our-mac node is configured."; + description + "CCMs received with our MAC address"; + } + container our-mepid { + must "not(../all or ../none)"; + presence "Indicates a our-mepid node is configured."; + description + "CCMs received with our MEP-ID"; + } + container wrong-interval { + must "not(../all or ../none)"; + presence "Indicates a wrong-interval node is configured."; + description + "CCMs received with an incorrect CCM interval"; + } + container missing { + must "not(../all or ../none)"; + presence "Indicates a missing node is configured."; + description + "Some CCMs from a crosscheck peer MEP are missing"; + } + container peer-port-down { + must "not(../all or ../none)"; + presence "Indicates a peer-port-down node is configured."; + description + "A peer port is down (equivalent to DefMACStatus)"; + } + container rdi { + must "not(../all or ../none)"; + presence "Indicates a rdi node is configured."; + description + "CCMs containing the RDI bit received"; + } + } + } + container csf { + presence "Indicates a csf node is configured."; + description + "Enable ethernet CSF transmission for MEPs on this service"; + leaf cos { + type uint32 { + range "0..7" { + description + "Class of Service"; + } + } + description + "Class of service value to set in the outer tag of CSF packets"; + } + leaf interval { + type enumeration { + enum "1m" { + value 6; + description + "Send CSF packets at one minute intervals"; + } + enum "1s" { + value 4; + description + "Send CSF packets at one second intervals"; + } + } + description + "Interval at which to send CSF packets"; + } + } + container csf-logging { + presence "Indicates a csf-logging node is configured."; + description + "Enable logging on receipt of CSF packets"; + } + } + } + } + } + container nv { + description + "Network Virtualisation configuration"; + container satellite { + description + "Satellite configuration"; + container sla { + description + "Service-Level Agreement configuration"; + container processing { + description + "Packet processing configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable processing of Ethernet SLA packets on nV Satellite devices"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-oam-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-oam-cfg.yang new file mode 100644 index 000000000..bc20842c6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-oam-cfg.yang @@ -0,0 +1,1664 @@ +module Cisco-IOS-XR-um-ethernet-oam-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-oam-cfg"; + prefix um-ethernet-oam-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ethernet-oam package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-ETHER-BODY { + container ethernet { + description + "Ethernet per-interface configuration commands"; + container oam { + presence "Indicates a oam node is configured."; + description + "OAM configuration"; + container link-monitor { + description + "Enter link-monitor submode"; + container symbol-period { + description + "Symbol-period event configuration"; + container window { + description + "window size for symbol-period event configuration"; + leaf milliseconds { + type uint32 { + range "1000..60000" { + description + "Size of the symbol-period window in milliseconds"; + } + } + must "not(../symbols/window-size)"; + description + "Use milliseconds as the units for the symbol-period window"; + } + container symbols { + description + "Use symbols as the units for the symbol-period window"; + leaf window-size { + type uint32 { + range "1..4294967295" { + description + "Size of the symbol-period window in symbols"; + } + } + must "not(../../milliseconds)"; + description + "Size of the symbol-period window in symbols"; + } + container thousand { + must "../window-size and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "../window-size and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "../window-size and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + } + container threshold { + description + "threshold configuration for symbol-period events"; + container symbols { + description + "Use symbols as the units for the symbol-period threshold"; + leaf low { + type uint32 { + range "1..4294967295" { + description + "The low threshold for symbol-period"; + } + } + description + "low threshold for symbol-period events"; + } + leaf high { + type uint32 { + range "1..4294967295" { + description + "The high threshold for symbol-period"; + } + } + description + "high threshold for symbol-period events"; + } + container thousand { + must "(../low or ../high) and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "(../low or ../high) and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "(../low or ../high) and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + container ppm { + description + "Use parts-per-million as the units for the symbol-period threshold"; + leaf low { + type uint32 { + range "1..1000000" { + description + "The low threshold for symbol-period"; + } + } + description + "low threshold for symbol-period events"; + } + leaf high { + type uint32 { + range "1..1000000" { + description + "The high threshold for symbol-period"; + } + } + description + "high threshold for symbol-period events"; + } + } + } + } + container frame { + description + "Frame event configuration"; + container window { + description + "window size for frame event configuration"; + leaf milliseconds { + type uint32 { + range "1000..60000" { + description + "Size of the frame window in milliseconds"; + } + } + description + "Use milliseconds as the units for the frame window"; + } + } + container threshold { + description + "threshold configuration for frame events"; + leaf low { + type uint32 { + range "1..4294967295" { + description + "The low threshold for frame events"; + } + } + description + "low threshold for frame events"; + } + leaf high { + type uint32 { + range "1..4294967295" { + description + "The high threshold for frame events"; + } + } + description + "high threshold for frame events"; + } + container thousand { + must "(../low or ../high) and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "(../low or ../high) and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "(../low or ../high) and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + } + container frame-period { + description + "frame-period event configuration"; + container window { + description + "window size for frame-period event configuration"; + leaf milliseconds { + type uint32 { + range "100..60000" { + description + "Size of the frame-period window in milliseconds"; + } + } + must "not(../frames/window-size)"; + description + "Use milliseconds as the units for the frame-period window"; + } + container frames { + description + "Use frames as the units for the frame-period window"; + leaf window-size { + type uint32 { + range "1..4294967295" { + description + "Size of the frame-period window in symbols"; + } + } + must "not(../../milliseconds)"; + description + "Size of the frame-period window in symbols"; + } + container thousand { + must "../window-size and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "../window-size and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "../window-size and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + } + container threshold { + description + "threshold for frame-period events"; + container frames { + description + "Use frames as the units for the frame-period threshold"; + leaf low { + type uint32 { + range "1..4294967295" { + description + "The low threshold for frame-period"; + } + } + description + "low threshold for frame-period events"; + } + leaf high { + type uint32 { + range "1..4294967295" { + description + "The high threshold for frame-period"; + } + } + description + "high threshold for frame-period events"; + } + container thousand { + must "(../low or ../high) and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "(../low or ../high) and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "(../low or ../high) and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + container ppm { + description + "Use parts-per-million as the units for the frame-period threshold"; + leaf low { + type uint32 { + range "1..1000000" { + description + "The low threshold for frame events"; + } + } + description + "low threshold for frame events"; + } + leaf high { + type uint32 { + range "1..1000000" { + description + "The high threshold for frame events"; + } + } + description + "high threshold for frame events"; + } + } + } + } + container frame-seconds { + description + "frame-seconds event configuration"; + container window { + description + "window size for frame-seconds event configuration"; + leaf milliseconds { + type uint32 { + range "10000..900000" { + description + "Size of the frame-seconds window in milliseconds"; + } + } + description + "Use milliseconds as the units for the frame-seconds window"; + } + } + container threshold { + description + "threshold"; + leaf low { + type uint32 { + range "1..900" { + description + "The low threshold for frame-seconds"; + } + } + description + "low threshold for frame-seconds events"; + } + leaf high { + type uint32 { + range "1..900" { + description + "The high threshold for frame-seconds"; + } + } + description + "high threshold for frame-seconds events"; + } + } + } + container monitoring { + presence "Indicates a monitoring node is configured."; + description + "Monitoring support"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable monitoring"; + } + } + } + container mode { + description + "OAM mode"; + container passive { + must "not(../active)"; + presence "Indicates a passive node is configured."; + description + "Passive mode"; + } + container active { + must "not(../passive)"; + presence "Indicates a active node is configured."; + description + "Active mode"; + } + } + leaf hello-interval { + type enumeration { + enum "100ms" { + value 1; + description + "100 millisecond hello interval"; + } + enum "1s" { + value 0; + description + "1 second hello interval"; + } + } + description + "Hello interval time"; + } + container remote-loopback { + presence "Indicates a remote-loopback node is configured."; + description + "Remote-loopback support"; + } + container mib-retrieval { + presence "Indicates a mib-retrieval node is configured."; + description + "MIB retrieval support"; + } + container uni-directional { + description + "Uni-directional link-fault detection support"; + container link-fault { + description + "Uni-directional link-fault detection support"; + container detection { + presence "Indicates a detection node is configured."; + description + "Uni-directional link-fault detection support"; + } + } + } + container connection { + description + "OAM connection configuration"; + leaf timeout { + type uint32 { + range "2..30" { + description + "Connection timeout period in number of lost periodic Information OAMPDUs"; + } + } + description + "OAM connection session timeout period"; + } + } + container profiles { + description + "Set the profile to use on the interface"; + leaf interface-profile-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Enter a profile name using only letters, numbers, '_' & '-'"; + } + pattern "[-a-zA-Z0-9_]*[-a-zA-Z0-9_]"; + } + description + "Enter a profile name using only letters, numbers, '_' & '-'"; + } + } + container require-remote { + description + "Enter require-remote submode"; + container mib-retrieval { + presence "Indicates a mib-retrieval node is configured."; + description + "Requirement of MIB retrieval support"; + } + container remote-loopback { + presence "Indicates a remote-loopback node is configured."; + description + "Requirement of Remote loopback support"; + } + container link-monitoring { + presence "Indicates a link-monitoring node is configured."; + description + "Requirement of Link monitoring support"; + } + container mode { + description + "Requirement of a specific OAM mode"; + container passive { + must "not(../active or ../disabled)"; + presence "Indicates a passive node is configured."; + description + "Require passive mode"; + } + container active { + must "not(../passive or ../disabled)"; + presence "Indicates a active node is configured."; + description + "Require active mode"; + } + container disabled { + must "not(../passive or ../active)"; + presence "Indicates a disabled node is configured."; + description + "Disable the requirement of a specific mode"; + } + } + } + container action { + description + "Enter action submode"; + container critical-event { + description + "Action to perform when a critical event occurs"; + container error-disable-interface { + must "not(../log or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container log { + must "not(../error-disable-interface or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../error-disable-interface or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container dying-gasp { + description + "Action to perform when a dying gasp occurs"; + container error-disable-interface { + must "not(../log or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container log { + must "not(../error-disable-interface or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../error-disable-interface or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container uni-directional { + description + "Action to perform when a uni-directional link-fault message is received"; + container link-fault { + description + "Action to perform when a uni-directional link-fault message is received"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Bring down the interface using EFD"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + } + container capabilities-conflict { + description + "Action to perform when a capabilities conflict occurs"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container wiring-conflict { + description + "Action to perform when a wiring conflict occurs"; + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container log { + must + "not(../efd or ../error-disable-interface + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../efd or ../error-disable-interface + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container discovery-timeout { + description + "Action to perform when discovery timeout occurs"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container high-threshold { + description + "Action to perform when a high-threshold is crossed"; + container error-disable-interface { + must "not(../log or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "disable the interface"; + } + container log { + must "not(../error-disable-interface or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../error-disable-interface or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container remote-loopback { + description + "Action to perform when a remote loopback event occurs"; + container log { + must "not(../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container session-up { + description + "Action to perform when a session comes up"; + container log { + must "not(../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container session-down { + description + "Action to perform when a session goes down"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + } + } + } + } + + augment "/a1:snmp-server/a1:traps" { + container ethernet { + description + "Enable SNMP Ethernet traps"; + container oam { + description + "Enable link-oam traps"; + container events { + presence "Indicates a events node is configured."; + description + "Enable all OAM event traps"; + } + } + } + } + augment "/a2:interfaces/a2:interface" { + uses IF-ETHER-BODY; + } + augment "/a2:interfaces/a2:interface-preconfigure" { + uses IF-ETHER-BODY; + } + container ethernet { + description + "Ethernet configuration commands"; + container oam { + description + "Configure information relating to Ethernet Link OAM"; + container profiles { + description + "802.3 OAM profiles"; + list profile { + key "profile-name"; + description + "The name of the profile"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "The name of the profile"; + } + pattern "[-a-zA-Z0-9_]*[-a-zA-Z0-9_]"; + } + description + "The name of the profile"; + } + container link-monitor { + description + "Enter link-monitor submode"; + container symbol-period { + description + "Symbol-period event configuration"; + container window { + description + "window size for symbol-period event configuration"; + leaf milliseconds { + type uint32 { + range "1000..60000" { + description + "Size of the symbol-period window in milliseconds"; + } + } + must "not(../symbols/window-size)"; + description + "Use milliseconds as the units for the symbol-period window"; + } + container symbols { + description + "Use symbols as the units for the symbol-period window"; + leaf window-size { + type uint32 { + range "1..4294967295" { + description + "Size of the symbol-period window in symbols"; + } + } + must "not(../../milliseconds)"; + description + "Size of the symbol-period window in symbols"; + } + container thousand { + must "../window-size and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "../window-size and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "../window-size and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + } + container threshold { + description + "threshold configuration for symbol-period events"; + container symbols { + description + "Use symbols as the units for the symbol-period threshold"; + leaf low { + type uint32 { + range "1..4294967295" { + description + "The low threshold for symbol-period"; + } + } + description + "low threshold for symbol-period events"; + } + leaf high { + type uint32 { + range "1..4294967295" { + description + "The high threshold for symbol-period"; + } + } + description + "high threshold for symbol-period events"; + } + container thousand { + must "(../low or ../high) and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "(../low or ../high) and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "(../low or ../high) and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + container ppm { + description + "Use parts-per-million as the units for the symbol-period threshold"; + leaf low { + type uint32 { + range "1..1000000" { + description + "The low threshold for symbol-period"; + } + } + description + "low threshold for symbol-period events"; + } + leaf high { + type uint32 { + range "1..1000000" { + description + "The high threshold for symbol-period"; + } + } + description + "high threshold for symbol-period events"; + } + } + } + } + container frame { + description + "Frame event configuration"; + container window { + description + "window size for frame event configuration"; + leaf milliseconds { + type uint32 { + range "1000..60000" { + description + "Size of the frame window in milliseconds"; + } + } + description + "Use milliseconds as the units for the frame window"; + } + } + container threshold { + description + "threshold configuration for frame events"; + leaf low { + type uint32 { + range "1..4294967295" { + description + "The low threshold for frame events"; + } + } + description + "low threshold for frame events"; + } + leaf high { + type uint32 { + range "1..4294967295" { + description + "The high threshold for frame events"; + } + } + description + "high threshold for frame events"; + } + container thousand { + must "(../low or ../high) and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "(../low or ../high) and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "(../low or ../high) and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + } + container frame-period { + description + "frame-period event configuration"; + container window { + description + "window size for frame-period event configuration"; + leaf milliseconds { + type uint32 { + range "100..60000" { + description + "Size of the frame-period window in milliseconds"; + } + } + must "not(../frames/window-size)"; + description + "Use milliseconds as the units for the frame-period window"; + } + container frames { + description + "Use frames as the units for the frame-period window"; + leaf window-size { + type uint32 { + range "1..4294967295" { + description + "Size of the frame-period window in symbols"; + } + } + must "not(../../milliseconds)"; + description + "Size of the frame-period window in symbols"; + } + container thousand { + must "../window-size and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "../window-size and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "../window-size and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + } + container threshold { + description + "threshold for frame-period events"; + container frames { + description + "Use frames as the units for the frame-period threshold"; + leaf low { + type uint32 { + range "1..4294967295" { + description + "The low threshold for frame-period"; + } + } + description + "low threshold for frame-period events"; + } + leaf high { + type uint32 { + range "1..4294967295" { + description + "The high threshold for frame-period"; + } + } + description + "high threshold for frame-period events"; + } + container thousand { + must "(../low or ../high) and not(../million or ../billion)"; + presence "Indicates a thousand node is configured."; + description + "Use thousands of the specified units"; + } + container million { + must "(../low or ../high) and not(../thousand or ../billion)"; + presence "Indicates a million node is configured."; + description + "Use millions of the specified units"; + } + container billion { + must "(../low or ../high) and not(../thousand or ../million)"; + presence "Indicates a billion node is configured."; + description + "Use billions of the specified units"; + } + } + container ppm { + description + "Use parts-per-million as the units for the frame-period threshold"; + leaf low { + type uint32 { + range "1..1000000" { + description + "The low threshold for frame events"; + } + } + description + "low threshold for frame events"; + } + leaf high { + type uint32 { + range "1..1000000" { + description + "The high threshold for frame events"; + } + } + description + "high threshold for frame events"; + } + } + } + } + container frame-seconds { + description + "frame-seconds event configuration"; + container window { + description + "window size for frame-seconds event configuration"; + leaf milliseconds { + type uint32 { + range "10000..900000" { + description + "Size of the frame-seconds window in milliseconds"; + } + } + description + "Use milliseconds as the units for the frame-seconds window"; + } + } + container threshold { + description + "threshold"; + leaf low { + type uint32 { + range "1..900" { + description + "The low threshold for frame-seconds"; + } + } + description + "low threshold for frame-seconds events"; + } + leaf high { + type uint32 { + range "1..900" { + description + "The high threshold for frame-seconds"; + } + } + description + "high threshold for frame-seconds events"; + } + } + } + container monitoring { + presence "Indicates a monitoring node is configured."; + description + "Monitoring support"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable monitoring"; + } + } + } + container mode { + description + "OAM mode"; + container passive { + must "not(../active)"; + presence "Indicates a passive node is configured."; + description + "Passive mode"; + } + container active { + must "not(../passive)"; + presence "Indicates a active node is configured."; + description + "Active mode"; + } + } + leaf hello-interval { + type enumeration { + enum "100ms" { + value 1; + description + "100 millisecond hello interval"; + } + enum "1s" { + value 0; + description + "1 second hello interval"; + } + } + description + "Hello interval time"; + } + container remote-loopback { + presence "Indicates a remote-loopback node is configured."; + description + "Remote-loopback support"; + container disable { + presence "Indicates a detection node is configured."; + description + "Disable remote loopback support"; + } + } + container mib-retrieval { + presence "Indicates a mib-retrieval node is configured."; + description + "MIB retrieval support"; + container disable { + presence "Indicates a detection node is configured."; + description + "Disable MIB retrieval support"; + } + } + container uni-directional { + description + "Uni-directional link-fault detection support"; + container link-fault { + description + "Uni-directional link-fault detection support"; + container detection { + presence "Indicates a detection node is configured."; + description + "Uni-directional link-fault detection support"; + container disable { + presence "Indicates a detection node is configured."; + description + "Disable uni-directional link-fault detection support"; + } + } + } + } + container connection { + description + "OAM connection configuration"; + leaf timeout { + type uint32 { + range "2..30" { + description + "Connection timeout period in number of lost periodic Information OAMPDUs"; + } + } + description + "OAM connection session timeout period"; + } + } + container require-remote { + description + "Enter require-remote submode"; + container mib-retrieval { + presence "Indicates a mib-retrieval node is configured."; + description + "Requirement of MIB retrieval support"; + container disable { + presence "Indicates a detection node is configured."; + description + "Disable the requirement of MIB retrieval support"; + } + } + container remote-loopback { + presence "Indicates a remote-loopback node is configured."; + description + "Requirement of Remote loopback support"; + container disable { + presence "Indicates a detection node is configured."; + description + "Disable the requirement of remote loopback support"; + } + } + container link-monitoring { + presence "Indicates a link-monitoring node is configured."; + description + "Requirement of Link monitoring support"; + container disable { + presence "Indicates a detection node is configured."; + description + "Disable the requirement of link monitoring support"; + } + } + container mode { + description + "Requirement of a specific OAM mode"; + container passive { + must "not(../active or ../disabled)"; + presence "Indicates a passive node is configured."; + description + "Require passive mode"; + } + container active { + must "not(../passive or ../disabled)"; + presence "Indicates a active node is configured."; + description + "Require active mode"; + } + container disabled { + must "not(../passive or ../active)"; + presence "Indicates a disabled node is configured."; + description + "Disable the requirement of a specific mode"; + } + } + } + container action { + description + "Enter action submode"; + container critical-event { + description + "Action to perform when a critical event occurs"; + container error-disable-interface { + must "not(../log or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container log { + must "not(../error-disable-interface or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../error-disable-interface or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container dying-gasp { + description + "Action to perform when a dying gasp occurs"; + container error-disable-interface { + must "not(../log or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container log { + must "not(../error-disable-interface or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../error-disable-interface or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container uni-directional { + description + "Action to perform when a uni-directional link-fault message is received"; + container link-fault { + description + "Action to perform when a uni-directional link-fault message is received"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Bring down the interface using EFD"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + } + container capabilities-conflict { + description + "Action to perform when a capabilities conflict occurs"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container wiring-conflict { + description + "Action to perform when a wiring conflict occurs"; + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container log { + must + "not(../efd or ../error-disable-interface + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../efd or ../error-disable-interface + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container discovery-timeout { + description + "Action to perform when discovery timeout occurs"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container high-threshold { + description + "Action to perform when a high-threshold is crossed"; + container error-disable-interface { + must "not(../log or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "disable the interface"; + } + container log { + must "not(../error-disable-interface or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../error-disable-interface or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container remote-loopback { + description + "Action to perform when a remote loopback event occurs"; + container log { + must "not(../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container session-up { + description + "Action to perform when a session comes up"; + container log { + must "not(../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must "not(../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + container session-down { + description + "Action to perform when a session goes down"; + container error-disable-interface { + must + "not(../efd or ../log + or ../disable)"; + presence "Indicates a error-disable-interface node is configured."; + description + "Error-disable the interface"; + } + container efd { + must + "not(../error-disable-interface or ../log + or ../disable)"; + presence "Indicates a efd node is configured."; + description + "Enable EFD to bring down the interface"; + } + container log { + must + "not(../error-disable-interface or ../efd + or ../disable)"; + presence "Indicates a log node is configured."; + description + "Log the event"; + } + container disable { + must + "not(../error-disable-interface or ../efd + or ../log)"; + presence "Indicates a disable node is configured."; + description + "Perform no action"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-services-access-list-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-services-access-list-cfg.yang new file mode 100644 index 000000000..c315589ac --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ethernet-services-access-list-cfg.yang @@ -0,0 +1,263 @@ +module Cisco-IOS-XR-um-ethernet-services-access-list-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-services-access-list-cfg"; + prefix um-es-acl-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr2; + } + import Cisco-IOS-XR-um-access-list-datatypes { + prefix um-acl-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 contains a collection of IOS-XR YANG model derived from CLI. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved. + "; + + revision 2020-12-03 { + description + "Limit length of remark string"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-01 { + description + "Initial version"; + } + + feature es_acl_supported { + description + "Access list for ethernet services"; + } + + feature es_acl_capture_implemented { + description + "Capture matched packet"; + } + + feature es_acl_log_option_supported { + description + "Log matches against access-list entry"; + } + + grouping source-address { + leaf mac-address { + type yang:mac-address; + description + "48-bit source MAC address"; + } + leaf mac-address-mask { + type yang:mac-address; + description + "48-bit source wildcard bits"; + } + container any { + presence "Any source host"; + description + "Any host"; + } + leaf host { + type yang:mac-address; + description + "A single source host"; + } + } + + grouping destination-address { + leaf mac-address { + type yang:mac-address; + description + "48-bit destination MAC address"; + } + leaf mac-address-mask { + type yang:mac-address; + description + "48-bit destination wildcard bits"; + } + container any { + presence "Any destination host"; + description + "Any host"; + } + leaf host { + type yang:mac-address; + description + "A single destination host"; + } + } + + grouping ethertype { + leaf ethernet-type { + type xr2:Hex-integer-16; + description + "An Ethertype Number"; + } + } + + grouping match-option-common { + container capture { + if-feature "es_acl_capture_implemented"; + presence "Capture matched packet"; + description + "Capture matched packet"; + } + container log { + if-feature "es_acl_log_option_supported"; + presence "Log matches against this entry"; + description + "Log matches against this entry"; + } + } + + grouping ace-common { + container source { + must "(mac-address and mac-address-mask) or any or host"; + uses source-address; + } + container destination { + must "(mac-address and mac-address-mask) or any or host"; + uses destination-address; + } + leaf vlan { + type um-acl-types:vlan-id; + description + "a vlan id or range of vlan ids"; + } + leaf inner-vlan { + type um-acl-types:vlan-id; + description + "A vlan id or range of vlan ids of the Inner Header"; + } + leaf cos { + type uint8 { + range "0..7" { + description + "CoS value for this entry"; + } + } + description + "Class of Service"; + } + leaf inner-cos { + type uint8 { + range "0..7" { + description + "CoS value for the Inner Header"; + } + } + description + "Class of Service of Inner Header"; + } + container dei { + presence "Discard Eligibility Indication"; + description + "Discard Eligibility Indication"; + } + container inner-dei { + presence "Discard Eligibility Indication for Inner Header"; + description + "Discard Eligibility Indication for Inner Header"; + } + } + + container ethernet-services { + if-feature "es_acl_supported"; + description + "Configure ethernet-services access-list"; + container access-list-options { + container log-update { + description + "Control access lists log updates"; + leaf threshold { + type uint32 { + range "1..2147483647" { + description + "Log update threshold (number of hits)"; + } + } + description + "Set access-list logging threshold"; + } + } + } + container access-lists { + description + "Access-lists"; + list access-list { + key "access-list-name"; + description + "Access-list configuration"; + leaf access-list-name { + type string { + length "1..64"; + } + description + "Access list name - maximum 64 characters"; + } + container sequences { + description + "Access list entries"; + list sequence { + must "deny or permit or remark"; + key "sequence-number"; + description + "access list entry"; + leaf sequence-number { + type uint32 { + range "1..2147483643"; + } + description + "Sequence number for this entry"; + } + container deny { + must "source and destination"; + presence "Grant type Deny"; + uses ace-common; + uses match-option-common; + } + container permit { + must "source and destination"; + presence "Grant type Permit"; + uses ace-common; + uses match-option-common; + } + leaf remark { + type string { + length "0..255"; + } + description + "Comment for access list"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-cfg.yang new file mode 100644 index 000000000..f1ca7bae3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-cfg.yang @@ -0,0 +1,261 @@ +module Cisco-IOS-XR-um-event-manager-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-event-manager-cfg"; + prefix um-event-manager-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR event-manager package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-22 { + description + "constraint update"; + } + revision 2021-02-02 { + description + "Initial release"; + } + + container event { + description + "Event related commands"; + container manager { + description + "Event Manager configuration commands"; + leaf refresh-time { + type uint32 { + range "10..4294967295" { + description + "A valid positive integer greater than 9"; + } + } + description + "Set refresh time (in seconds) for policy username's AAA taskmap"; + } + container directory { + description + "Set Embedded Event Manager directory information"; + container user { + description + "Set Embedded Event Manager user directory information"; + leaf policy { + type string { + length "1..800" { + description + "Path of the Embedded Event Manager user policy directory"; + } + } + description + "Set Embedded Event Manager user policy directory"; + } + leaf library { + type string { + length "1..800" { + description + "Path of the Embedded Event Manager user library directory"; + } + } + description + "Set Embedded Event Manager user library directory"; + } + } + } + container scheduler { + description + "Set Embedded Event Manager scheduler options"; + container suspend { + presence "Indicates a suspend node is configured."; + description + "Suspend Embedded Event Manager policy scheduling"; + } + container script { + description + "TCL script type internal data for EEM component"; + container thread { + description + "Internal thread data for EEM component"; + container class { + description + "Internal class data for EEM component"; + container default { + description + "default class type"; + leaf number { + type uint32 { + range "1..5" { + description + "value of the threads to schedule"; + } + } + description + "Number of scheduler threads"; + } + } + } + } + } + } + container environment { + description + "Set an Embedded Event Manager global variable for policies"; + list global-variable { + key "global-variable-name"; + description + "Name of the global variable"; + leaf global-variable-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the global variable"; + } + } + description + "Name of the global variable"; + } + leaf value { + type string { + length "1..800" { + description + "Value of the global variable"; + } + } + description + "Value of the global variable"; + } + } + } + container policy { + description + "Register an Event Manager policy"; + list policy-file { + key "policy-file-name"; + description + "Name of the policy file"; + leaf policy-file-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the policy file"; + } + } + description + "Name of the policy file"; + } + leaf username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "A Configured username"; + } + } + mandatory true; + description + "Username under whom this policy will execute"; + } + container persist-time { + description + "Time of validity (in seconds) for cached AAA taskmap of username (default is 3600)"; + leaf value { + type uint32 { + range "0..4294967294" { + description + "Integer value for this policy's persist-time"; + } + } + must "not(../infinite)"; + description + "Integer value for this policy's persist-time"; + } + container infinite { + must "not(../value)"; + presence "Indicates a infinite node is configured."; + description + "Cached AAA taskmap of username is always treated valid"; + } + } + container type { + description + "The Event Manager type of this policy"; + container system { + must "not(../user)"; + presence "Indicates a system node is configured."; + description + "Event Manager system policy"; + } + container user { + must "not(../system)"; + presence "Indicates a user node is configured."; + description + "Event Manager user policy"; + } + } + container checksum { + description + "Specify Embedded Event Manager policy checksum"; + leaf md5 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MD5 checksum"; + } + } + must "not(../sha-1)"; + description + "Use MD5 checksum"; + } + leaf sha-1 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "SHA-1 checksum"; + } + } + must "not(../md5)"; + description + "Use SHA-1 checksum"; + } + } + container secure-mode { + description + "Specify Embedded Event Manager policy security policy"; + container trust { + presence "Indicates a trust node is configured."; + description + "Requires Trust Signature"; + } + container cisco { + description + "Requires Cisco Digital Signature"; + container rsa-2048 { + presence "Indicates a rsa-2048 node is configured."; + description + "Requires Cisco Digital Signature"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-policy-map-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-policy-map-cfg.yang new file mode 100644 index 000000000..eb12bd3ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-event-manager-policy-map-cfg.yang @@ -0,0 +1,692 @@ +module Cisco-IOS-XR-um-event-manager-policy-map-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-event-manager-policy-map-cfg"; + prefix um-event-manager-policy-map-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-event-manager-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR event-manager-policy-map package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-13 { + description + "Added timer, track and telemetry event-types under event-trigger; + Added rate-limit; + Added multi-event support"; + } + revision 2021-06-16 { + description + "Initial release"; + } + + augment "/a1:event/a1:manager" { + container event-trigger { + description + "Configure event-trigger"; + list event { + key "event-name"; + description + "Name of the event"; + leaf event-name { + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Name of the event"; + } + } + description + "Name of the event"; + } + leaf occurrence { + type uint32 { + range "1..32" { + description + "Integer value for occurrence"; + } + } + description + "No of occurrences before the event is raised"; + } + container period { + description + "Time interval during which configured occurrence should take place"; + leaf seconds { + type uint32 { + range "1..4294967295" { + description + "Integer value for time interval"; + } + } + description + "Time interval in seconds"; + } + } + container rate-limit { + description + "Limit trigger to once per given time period"; + leaf seconds { + type uint32 { + range "1..4294967" { + description + "Rate limit in second"; + } + } + must "not(../milli-seconds)"; + description + "Rate limit in second"; + } + leaf milli-seconds { + type uint32 { + range "1..4294967295" { + description + "Rate limit in millisecond"; + } + } + must "not(../seconds)"; + description + "Rate limit in millisecond"; + } + } + container type { + description + "Configure the type of event"; + container syslog { + must "not(../timer/watchdog or ../timer/cron or ../track or ../telemetry)"; + presence "Indicates a syslog node is configured."; + description + "Configure syslog event"; + leaf pattern { + type string { + length "1..800" { + description + "Syslog pattern or regex"; + } + } + mandatory true; + description + "Configure syslog pattern or regex"; + } + container severity { + description + "Configure the syslog message severity to be screened (default: all)"; + container emergency { + presence "Indicates a emergency node is configured."; + description + "Syslog priority 0 (highest)"; + } + container alert { + presence "Indicates a alert node is configured."; + description + "Syslog priority 1"; + } + container critical { + presence "Indicates a critical node is configured."; + description + "Syslog priority 2"; + } + container error { + presence "Indicates a error node is configured."; + description + "Syslog priority 3"; + } + container warning { + presence "Indicates a warning node is configured."; + description + "Syslog priority 4"; + } + container notice { + presence "Indicates a notice node is configured."; + description + "Syslog priority 5"; + } + container info { + presence "Indicates a info node is configured."; + description + "Syslog priority 6"; + } + container debug { + presence "Indicates a debug node is configured."; + description + "Syslog priority 7 (lowest)"; + } + } + } + container timer { + description + "Configure timer event"; + container watchdog { + must "not(../../syslog or ../cron or ../../track or ../../telemetry)"; + presence "Indicates a watchdog node is configured."; + description + "Watchdog timer"; + leaf value { + type uint32 { + range "10..86400" { + description + "Timer value in seconds"; + } + } + mandatory true; + description + "Timer value in seconds"; + } + } + container cron { + must "not(../../syslog or ../watchdog or ../../track or ../../telemetry)"; + presence "Indicates a cron node is configured."; + description + "Cron timer"; + leaf cron-entry { + type string { + length "1..800" { + description + "Timer cron entry"; + } + } + mandatory true; + description + "Enter cron entry"; + } + } + } + container telemetry { + must "not(../syslog or ../timer/cron or ../timer/watchdog or ../track)"; + presence "Indicates a telemetry node is configured."; + description + "Configure telemetry event"; + leaf sensor-path { + type string { + length "1..1024" { + description + "Telemetry sensor path"; + } + } + must "../sample-interval"; + mandatory true; + description + "Telemetry sensor path"; + } + leaf sample-interval { + type uint32 { + range "15..4294967" { + description + "Sample interval in second"; + } + } + must "../sensor-path"; + description + "Time interval for querying telemetry path"; + } + } + container track { + presence "Indicates a track node is configured."; + description + "Configure track event"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the track"; + } + } + must "(../status/up or ../status/down or ../status/any)"; + mandatory true; + description + "Name of the track"; + } + container status { + description + "Configure track status (default : any)"; + container up { + must "not(../down or ../any)"; + presence "Indicates a up node is configured."; + description + "Trigger event when track is up"; + } + container down { + must "not(../up or ../any)"; + presence "Indicates a down node is configured."; + description + "Trigger event when track is down"; + } + container any { + must "not(../up or ../down)"; + presence "Indicates a any node is configured."; + description + "Trigger event when track changes up/down"; + } + } + } + } + container query { + description + "Query string to query a single telemetry value"; + leaf json-path { + type string { + length "1..253" { + description + "json-path query string"; + } + } + description + "json-path query string"; + } + } + container match-criteria { + description + "Match criteria for raising event"; + container exact-match { + must "not(../threshold or ../rate)"; + presence "Indicates a exact-match node is configured."; + description + "Trigger event when exact-match occurs"; + leaf value { + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "String value to trigger event"; + } + } + description + "String value to trigger event"; + } + } + container threshold { + must "not(../exact-match or ../rate)"; + presence "Indicates a threshold node is configured."; + description + "Trigger event based on a threshold"; + leaf greater-than { + type uint32 { + range "0..4294967294" { + description + "Threshold value to trigger event"; + } + } + must + "not(../greater-equal-to or ../equal-to + or ../not-equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is greater than threshold"; + } + leaf greater-equal-to { + type uint32 { + range "0..4294967294" { + description + "Threshold value to trigger event"; + } + } + must + "not(../greater-than or ../equal-to + or ../not-equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is greater than or equal to threshold"; + } + leaf equal-to { + type uint32 { + range "0..4294967295" { + description + "Threshold value to trigger event"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../not-equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is equal to threshold"; + } + leaf not-equal-to { + type uint32 { + range "0..4294967295" { + description + "Threshold value to trigger event"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is not equal to threshold"; + } + leaf less-equal-to { + type uint32 { + range "1..4294967295" { + description + "Threshold value to trigger event"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../equal-to or ../not-equal-to + or ../less-than)"; + description + "Match when value is less than or equal to threshold"; + } + leaf less-than { + type uint32 { + range "1..4294967295" { + description + "Threshold value to trigger event"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../equal-to or ../not-equal-to + or ../less-equal-to)"; + description + "Match when value is less than threshold"; + } + } + container rate { + must "not(../exact-match or ../threshold)"; + presence "Indicates a rate node is configured."; + description + "Rate of change to trigger event"; + container direction { + must "../value"; + description + "Direction of rate of change: increase/decrease/any"; + container increasing { + must "not(../decreasing or ../any)"; + presence "Indicates a increasing node is configured."; + description + "Rate of increase in percent"; + } + container decreasing { + must "not(../increasing or ../any)"; + presence "Indicates a decreasing node is configured."; + description + "Rate of decrease in percent"; + } + container any { + must "not(../increasing or ../decreasing)"; + presence "Indicates a any node is configured."; + description + "Rate of change in percent (increase or decrease)"; + } + } + container value { + must "../direction"; + description + "Value of rate of change"; + leaf greater-than { + type uint32 { + range "0..4294967294" { + description + "Rate of change in percent"; + } + } + must + "not(../greater-equal-to or ../equal-to + or ../not-equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is greater than threshold"; + } + leaf greater-equal-to { + type uint32 { + range "0..4294967294" { + description + "Rate of change in percent"; + } + } + must + "not(../greater-than or ../equal-to + or ../not-equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is greater than or equal to threshold"; + } + leaf equal-to { + type uint32 { + range "0..4294967295" { + description + "Rate of change in percent"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../not-equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is equal to threshold"; + } + leaf not-equal-to { + type uint32 { + range "0..4294967295" { + description + "Rate of change in percent"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../equal-to or ../less-equal-to + or ../less-than)"; + description + "Match when value is not equal to threshold"; + } + leaf less-equal-to { + type uint32 { + range "1..4294967295" { + description + "Rate of change in percent"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../equal-to or ../not-equal-to + or ../less-than)"; + description + "Match when value is less than or equal to threshold"; + } + leaf less-than { + type uint32 { + range "1..4294967295" { + description + "Rate of change in percent"; + } + } + must + "not(../greater-than or ../greater-equal-to + or ../equal-to or ../not-equal-to + or ../less-equal-to)"; + description + "Match when value is less than threshold"; + } + } + } + } + } + } + container actions { + description + "Configure action"; + list action { + key "action-name"; + description + "Name of the action"; + leaf action-name { + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Name of the action"; + } + } + description + "Name of the action"; + } + container type { + description + "Type of action"; + container script { + must "../../username and checksum/sha256"; + presence "Indicates a script node is configured."; + description + "Configure a Python script as action"; + leaf script-name { + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Python script name (must have .py extension)"; + } + } + mandatory true; + description + "Name of Python script (must have .py extension)"; + } + container maxrun { + description + "Configure the max run time of script (default: 20seconds)"; + leaf seconds { + type uint32 { + range "10..4294967295" { + description + "Maxrun in seconds"; + } + } + description + "Maxrun in seconds"; + } + } + container checksum { + description + "Configure script checksum"; + leaf sha256 { + type xr:Cisco-ios-xr-string { + length "64" { + description + "Checksum value"; + } + } + description + "Configure sha256 checksum"; + } + } + } + } + leaf username { + type xr:Cisco-ios-xr-string { + length "1..253" { + description + "A configured user name"; + } + } + must "../type/script"; + description + " Username under whom this policy will execute"; + } + } + } + container policy-maps { + description + "Configure eem policy map"; + list policy-map { + key "policy-map-name"; + description + "Name of the policy-map"; + leaf policy-map-name { + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Name of the policy-map"; + } + } + description + "Name of the policy-map"; + } + leaf occurrence { + type uint32 { + range "1..32" { + description + "Integer value for occurrence"; + } + } + description + "No of occurrences before the policy becomes active (default 1)"; + } + leaf period { + type uint32 { + range "1..4294967295" { + description + "time in seconds"; + } + } + description + "Time in seconds during which configured occurrence should take place"; + } + container trigger { + description + "Configure trigger for this policy-map"; + leaf event { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of event to map with this policy-map"; + } + } + description + "Set an event as trigger for this policy-map"; + } + leaf multi-event { + type string { + length "1..128" { + description + "Configure multiple events with boolean correlation (AND,OR)"; + } + pattern "\".*.\""; + } + must "not(../event)"; + description + "Set multiple events as trigger for this policy-map"; + } + } + container actions { + description + "Map action for policy-map (Maximum 5)"; + list action { + key "action-name"; + description + "Name of action"; + leaf action-name { + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Name of action"; + } + } + description + "Name of action"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-evpn-host-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-evpn-host-cfg.yang new file mode 100644 index 000000000..70e268177 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-evpn-host-cfg.yang @@ -0,0 +1,262 @@ +module Cisco-IOS-XR-um-evpn-host-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-evpn-host-cfg"; + prefix um-evpn-host-cfg; + + import Cisco-IOS-XR-um-l2vpn-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR evpn-host package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:evpn" { + container host { + description + "Config host parameters"; + container mac-address { + description + "Config the host mac-address parameters"; + container duplicate-detection { + description + "Config the host mac-address duplicate detection parameters"; + leaf move-count { + type uint32 { + range "1..1000" { + description + "Number of moves. Default is 5."; + } + } + description + "Number of moves to occur in move-interval seconds before freezing the MAC. Default is 5."; + } + leaf move-interval { + type uint32 { + range "5..3600" { + description + "MAC move interval in seconds. Default is 180s."; + } + } + description + "Interval to watch for subsequent moves before freezing the MAC. Default is 180s."; + } + leaf freeze-time { + type uint32 { + range "5..3600" { + description + "MAC freeze time in seconds. Default is 30s"; + } + } + description + "Length of time to freeze the mac after it has been detected as duplicate. Default is 30s."; + } + leaf retry-count { + type union { + type uint32 { + range "0..1000" { + description + "Retry count. Default is 3 times."; + } + } + type enumeration { + enum "infinity" { + value 1001; + description + "Infinite retry count. Disable permanent freezing of MACs."; + } + } + } + description + "Number of times to unfreeze a MAC before permanently freezing it. Default is 3 times."; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable duplicate detection for MAC, IPv4 or IPv6 addresses."; + } + leaf reset-freeze-count-interval { + type uint32 { + range "1..48" { + description + "Interval to reset count of duplicate detection events in hours. Default is 24 hours."; + } + } + description + "Interval after which the count of duplicate detection events used to determine whether MAC needs to be permanently frozen, is reset. Default is 24 hours."; + } + } + } + container ipv4-address { + description + "Config the host ipv4-address parameters"; + container duplicate-detection { + description + "Config the host ipv4-address duplicate detection parameters"; + leaf move-count { + type uint32 { + range "1..1000" { + description + "Number of moves. Default is 5."; + } + } + description + "Number of moves to occur in move-interval seconds before freezing the IP. Default is 5."; + } + leaf move-interval { + type uint32 { + range "5..3600" { + description + "MAC move interval in seconds. Default is 180s."; + } + } + description + "Interval to watch for subsequent mac moves before freezing the IP. Default is 180s."; + } + leaf freeze-time { + type uint32 { + range "5..3600" { + description + "MAC freeze time in seconds. Default is 30s"; + } + } + description + "Length of time to lock the IP address after it has been detected as duplicate. Default is 30s."; + } + leaf retry-count { + type union { + type uint32 { + range "0..1000" { + description + "Retry count. Default is 3 times."; + } + } + type enumeration { + enum "infinity" { + value 1001; + description + "Infinite retry count. Disable permanent freezing of IPv4s."; + } + } + } + description + "Number of times to unfreeze an IP address before permanently freezing it. Default is 3 times."; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable duplicate detection for MAC, IPv4 or IPv6 addresses."; + } + leaf reset-freeze-count-interval { + type uint32 { + range "1..48" { + description + "Interval to reset count of duplicate detection events in hours. Default is 24 hours."; + } + } + description + "Interval after which the count of duplicate detection events used to determine whether IPv4 needs to be permanently frozen, is reset. Default is 24 hours."; + } + } + } + container ipv6-address { + description + "Config the host ipv6-address parameters"; + container duplicate-detection { + description + "Config the host ipv6-address duplicate detection parameters"; + leaf move-count { + type uint32 { + range "1..1000" { + description + "Number of moves. Default is 5."; + } + } + description + "Number of moves to occur in move-interval seconds before freezing the IP. Default is 5."; + } + leaf move-interval { + type uint32 { + range "5..3600" { + description + "MAC move interval in seconds. Default is 180s."; + } + } + description + "Interval to watch for subsequent mac moves before freezing the IP. Default is 180s."; + } + leaf freeze-time { + type uint32 { + range "5..3600" { + description + "MAC freeze time in seconds. Default is 30s"; + } + } + description + "Length of time to lock the IP address after it has been detected as duplicate. Default is 30s."; + } + leaf retry-count { + type union { + type uint32 { + range "0..1000" { + description + "Retry count. Default is 3 times."; + } + } + type enumeration { + enum "infinity" { + value 1001; + description + "Infinite retry count. Disable permanent freezing of IPv6s."; + } + } + } + description + "Number of times to unfreeze an IP address before permanently freezing it. Default is 3 times."; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable duplicate detection for MAC, IPv4 or IPv6 addresses."; + } + leaf reset-freeze-count-interval { + type uint32 { + range "1..48" { + description + "Interval to reset count of duplicate detection events in hours. Default is 24 hours."; + } + } + description + "Interval after which the count of duplicate detection events used to determine whether IPv6 needs to be permanently frozen, is reset. Default is 24 hours."; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-exception-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-exception-cfg.yang new file mode 100644 index 000000000..c19f1c186 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-exception-cfg.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XR-um-exception-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-exception-cfg"; + prefix um-exception-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR exception package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-30 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container exception { + description + "Coredump configuration commands"; + container choices { + description + "Preference for the following dump location"; + list choice { + key "dump-location-preference"; + description + "Preference for the following dump location"; + leaf dump-location-preference { + type uint32 { + range "1..3" { + description + "Order of preference"; + } + } + description + "Preference for the following dump location"; + } + leaf filepath { + type string { + length "1..1024" { + description + "Protocol and directory"; + } + } + mandatory true; + description + "Give the dump location next"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-explicit-paths-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-explicit-paths-cfg.yang new file mode 100644 index 000000000..f92f2edf4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-explicit-paths-cfg.yang @@ -0,0 +1,498 @@ +module Cisco-IOS-XR-um-explicit-paths-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-explicit-paths-cfg"; + prefix um-explicit-paths-cfg; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR explicit-paths package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container explicit-path { + description + "Explicit-path config commands"; + container identifiers { + description + "Specify explicit path by number"; + list identifier { + key "identifier-id"; + description + "Specify explicit path by number"; + leaf identifier-id { + type uint32 { + range "1..65535" { + description + "Enter number"; + } + } + description + "Specify explicit path by number"; + } + container indexes { + description + "Specify the next entry index to add or edit"; + list index { + must + "next-address/strict/ipv4/unicast/address or + next-address/strict/ipv4/unicast/unnumbered or + next-address/strict/ipv4/unicast/ifindex or + next-address/loose/ipv4/unicast/address or + next-address/loose/ipv4/unicast/unnumbered or + next-address/loose/ipv4/unicast/ifindex or + exclude-address/ipv4/unicast/address or + exclude-srlg/ipv4/unicast/address or + next-label"; + key "index-number"; + description + "Specify the next entry index to add or edit"; + leaf index-number { + type uint32 { + range "1..65535" { + description + "Index number"; + } + } + description + "Specify the next entry index to add or edit"; + } + container next-address { + description + "Specify the next (adjacent) address in the path"; + container strict { + description + "Specify the next address in the path as a strict hop"; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "(../ifindex = 0) and not(../unnumbered or + ../../../../loose/ipv4/unicast/address or + ../../../../loose/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Specify the address SAFI"; + } + leaf unnumbered { + type inet:ipv4-address-no-zone; + must + "../ifindex and (../ifindex != 0) and not(../address or + ../../../../loose/ipv4/unicast/address or + ../../../../loose/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Enter Router Id (A.B.C.D) and Ifindex "; + } + leaf ifindex { + type union { + type uint32 { + range "1..4294967295" { + description + "Enter ifindex for unnumbered"; + } + } + type uint32 { + range "0" { + description + "0 is the value needed for address"; + } + } + } + must "../address or ../unnumbered"; + description + "Enter Ifindex"; + } + } + } + } + container loose { + description + "Specify the next address in the path as a loose hop"; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "(../ifindex = 0) and not(../unnumbered or + ../../../../strict/ipv4/unicast/address or + ../../../../strict/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Specify the address SAFI"; + } + leaf unnumbered { + type inet:ipv4-address-no-zone; + must + "../ifindex and (../ifindex != 0) and not(../address or + ../../../../strict/ipv4/unicast/address or + ../../../../strict/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Enter Router Id (A.B.C.D) and Ifindex "; + } + leaf ifindex { + type union { + type uint32 { + range "1..4294967295" { + description + "Enter ifindex for unnumbered"; + } + } + type uint32 { + range "0" { + description + "0 is the value needed for address"; + } + } + } + must "../address or ../unnumbered"; + description + "Enter Ifindex"; + } + } + } + } + } + container exclude-address { + description + "Specify the next address to be excluded "; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "not(../../../../next-address/loose/ipv4/unicast/address or + ../../../../next-address/loose/ipv4/unicast/unnumbered or + ../../../../next-address/strict/ipv4/unicast/address or + ../../../../next-address/strict/ipv4/unicast/unnumbered or + ../../../../exclude-srlg/ipv4/unicast/address or + ../../../../next-label)"; + description + "Specify the address SAFI"; + } + } + } + } + container exclude-srlg { + description + "Specify an IP Addr to get SRLGs from for exclusion"; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "not(../../../../next-address/loose/ipv4/unicast/address or + ../../../../next-address/loose/ipv4/unicast/unnumbered or + ../../../../next-address/strict/ipv4/unicast/address or + ../../../../next-address/strict/ipv4/unicast/unnumbered or + ../../../../exclude-address/ipv4/unicast/address or + ../../../../next-label)"; + description + "Specify the address SAFI"; + } + } + } + } + leaf next-label { + type uint32 { + range "0..1048575" { + description + "MPLS label value"; + } + } + must + "not(../next-address/loose/ipv4/unicast/address or + ../next-address/loose/ipv4/unicast/unnumbered or + ../next-address/strict/ipv4/unicast/address or + ../next-address/strict/ipv4/unicast/unnumbered or + ../exclude-address/ipv4/unicast/address or + ../exclude-srlg/ipv4/unicast/address)"; + description + "Specify the next MPLS label in the path"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the explicit path"; + } + } + } + container names { + description + "Specify explicit path by name"; + list name { + key "name-name"; + description + "Specify explicit path by name"; + leaf name-name { + type string { + length "1..800" { + description + "Specify an IP explicit path by name"; + } + } + description + "Specify explicit path by name"; + } + container indexes { + description + "Specify the next entry index to add or edit"; + list index { + key "index-number"; + description + "Specify the next entry index to add or edit"; + leaf index-number { + type uint32 { + range "1..65535" { + description + "Index number"; + } + } + description + "Specify the next entry index to add or edit"; + } + container next-address { + description + "Specify the next (adjacent) address in the path"; + container strict { + description + "Specify the next address in the path as a strict hop"; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "(../ifindex = 0) and not(../unnumbered or + ../../../../loose/ipv4/unicast/address or + ../../../../loose/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Specify the address SAFI"; + } + leaf unnumbered { + type inet:ipv4-address-no-zone; + must + "../ifindex and (../ifindex != 0) and not(../address or + ../../../../loose/ipv4/unicast/address or + ../../../../loose/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Enter Router Id (A.B.C.D) and Ifindex "; + } + leaf ifindex { + type union { + type uint32 { + range "1..4294967295" { + description + "Enter ifindex for unnumbered"; + } + } + type uint32 { + range "0" { + description + "0 is the value needed for address"; + } + } + } + must "../address or ../unnumbered"; + description + "Enter Ifindex"; + } + } + } + } + container loose { + description + "Specify the next address in the path as a loose hop"; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "(../ifindex = 0) and not(../unnumbered or + ../../../../strict/ipv4/unicast/address or + ../../../../strict/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Specify the address SAFI"; + } + leaf unnumbered { + type inet:ipv4-address-no-zone; + must + "../ifindex and (../ifindex != 0) and not(../address or + ../../../../strict/ipv4/unicast/address or + ../../../../strict/ipv4/unicast/unnumbered or + ../../../../../exclude-address/ipv4/unicast/address or + ../../../../../exclude-srlg/ipv4/unicast/address or + ../../../../../next-label)"; + description + "Enter Router Id (A.B.C.D) and Ifindex "; + } + leaf ifindex { + type union { + type uint32 { + range "1..4294967295" { + description + "Enter ifindex for unnumbered"; + } + } + type uint32 { + range "0" { + description + "0 is the value needed for address"; + } + } + } + must "../address or ../unnumbered"; + description + "Enter Ifindex"; + } + } + } + } + } + container exclude-address { + description + "Specify the next address to be excluded "; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "not(../../../../next-address/loose/ipv4/unicast/address or + ../../../../next-address/loose/ipv4/unicast/unnumbered or + ../../../../next-address/strict/ipv4/unicast/address or + ../../../../next-address/strict/ipv4/unicast/unnumbered or + ../../../../exclude-srlg/ipv4/unicast/address or + ../../../../next-label)"; + description + "Specify the address SAFI"; + } + } + } + } + container exclude-srlg { + description + "Specify an IP Addr to get SRLGs from for exclusion"; + container ipv4 { + description + "Specify the address AFI"; + container unicast { + description + "Specify the address SAFI"; + leaf address { + type inet:ipv4-address-no-zone; + must + "not(../../../../next-address/loose/ipv4/unicast/address or + ../../../../next-address/loose/ipv4/unicast/unnumbered or + ../../../../next-address/strict/ipv4/unicast/address or + ../../../../next-address/strict/ipv4/unicast/unnumbered or + ../../../../exclude-address/ipv4/unicast/address or + ../../../../next-label)"; + description + "Specify the address SAFI"; + } + } + } + } + leaf next-label { + type uint32 { + range "0..1048575" { + description + "MPLS label value"; + } + } + must + "not(../next-address/loose/ipv4/unicast/address or + ../next-address/loose/ipv4/unicast/unnumbered or + ../next-address/strict/ipv4/unicast/address or + ../next-address/strict/ipv4/unicast/unnumbered or + ../exclude-address/ipv4/unicast/address or + ../exclude-srlg/ipv4/unicast/address)"; + description + "Specify the next MPLS label in the path"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the explicit path"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-fault-profile-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-fault-profile-cfg.yang new file mode 100644 index 000000000..3bf90af92 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-fault-profile-cfg.yang @@ -0,0 +1,1997 @@ +module Cisco-IOS-XR-um-fault-profile-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-fault-profile-cfg"; + prefix um-fault-profile-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR fault-profile package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-15 { + description + "Updated leaf fault-type-name pattern to support additional fault types + 2021-11-26 + Initial release"; + semver:module-version "1.0.1m"; + } + revision 2021-02-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container fault-profile { + description + "Fault profile name"; + container fault-profiles { + description + "Fault profile"; + list fault-profile { + key "fault-profile-name"; + description + "Fault profile"; + leaf fault-profile-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Fault profile"; + } + pattern "[a-zA-Z0-9]+"; + } + description + "Fault profile"; + } + container fault-identifier { + description + "Fault identifier"; + container subsystem { + description + "Subsystem name"; + container xr { + description + "Subsystem XR"; + list fault-type { + must "fault-tag"; + key "fault-type-name"; + description + "Fault type name"; + leaf fault-type-name { + type string { + pattern + "[HW_CEM|HW_E1|HW_GFP|HW_ETHERNET|HW_SDH_CONTROLLER|HW_SONET| + HW_OPTICS|HW_G709|HW_FIBRE_CHANNEL|HW_CPRI| + HW_OTS]+"; + } + description + "Fault type name"; + } + list fault-tag { + key "fault-tag-name"; + description + "Fault tag name"; + leaf fault-tag-name { + type xr:Cisco-ios-xr-string { + length "1..800"; + } + description + "Fault tag name. Supported tag names are: + GFP_RX_CSF_NE_30_SEC + GFP_RX_LFD_NE_30_SEC + GFP_RX_CRC_NE_30_SEC + GFP_RX_INV_TYP_NE_30_SEC + GFP_RX_BIT_ERR_NE_30_SEC + GFP_RX_CSF_NE_1_DAY + GFP_RX_LFD_NE_1_DAY + GFP_RX_CRC_NE_1_DAY + GFP_RX_INV_TYP_NE_1_DAY + GFP_RX_BIT_ERR_NE_1_DAY + GFP_RX_CSF_NE_15_MINS + GFP_RX_LFD_NE_15_MINS + GFP_RX_CRC_NE_15_MINS + GFP_RX_INV_TYP_NE_15_MINS + GFP_RX_BIT_ERR_NE_15_MINS + GFP_UPM + GFP_LOCCS + GFP_LOCS + GFP_LFD + PCS_UAS_FE_15_MINS + PCS_UAS_FE_30_SEC + PCS_UAS_NE_1_DAY + PCS_UAS_NE_15_MINS + PCS_UAS_NE_30_SEC + PCS_SES_FE_1_DAY + PCS_SES_FE_15_MINS + PCS_SES_FE_30_SEC + PCS_SES_NE_1_DAY + PCS_SES_NE_15_MINS + PCS_SES_NE_30_SEC + PCS_ES_FE_1_DAY + PCS_ES_FE_15_MINS + PCS_ES_FE_30_SEC + PCS_ES_NE_1_DAY + PCS_ES_NE_15_MINS + PCS_ES_NE_30_SEC + PCS_BAD_SH_LANE0_NE_1_DAY + PCS_BAD_SH_LANE0_NE_15_MINS + PCS_BAD_SH_LANE0_NE_30_SEC + PCS_FRM_ERR_LANE0_NE_1_DAY + PCS_FRM_ERR_LANE0_NE_15_MINS + PCS_FRM_ERR_LANE0_NE_30_SEC + PCS_BIP_LANE0_NE_1_DAY + PCS_BIP_LANE0_NE_15_MINS + PCS_BIP_LANE0_NE_30_SEC + PCS_BAD_SH_LANE39_NE_1_DAY + PCS_BAD_SH_LANE39_NE_15_MINS + PCS_BAD_SH_LANE39_NE_30_SEC + PCS_FRM_ERR_LANE39_NE_1_DAY + PCS_FRM_ERR_LANE39_NE_15_MINS + PCS_FRM_ERR_LANE39_NE_30_SEC + PCS_BIP_LANE39_NE_1_DAY + PCS_BIP_LANE39_NE_15_MINS + PCS_BIP_LANE39_NE_30_SEC + PCS_BAD_SH_LANE38_NE_1_DAY + PCS_BAD_SH_LANE38_NE_15_MINS + PCS_BAD_SH_LANE38_NE_30_SEC + PCS_FRM_ERR_LANE38_NE_1_DAY + PCS_FRM_ERR_LANE38_NE_15_MINS + PCS_FRM_ERR_LANE38_NE_30_SEC + PCS_BIP_LANE38_NE_1_DAY + PCS_BIP_LANE38_NE_15_MINS + PCS_BIP_LANE38_NE_30_SEC + PCS_BAD_SH_LANE37_NE_1_DAY + PCS_BAD_SH_LANE37_NE_15_MINS + PCS_BAD_SH_LANE37_NE_30_SEC + PCS_FRM_ERR_LANE37_NE_1_DAY + PCS_FRM_ERR_LANE37_NE_15_MINS + PCS_FRM_ERR_LANE37_NE_30_SEC + PCS_BIP_LANE37_NE_1_DAY + PCS_BIP_LANE37_NE_15_MINS + PCS_BIP_LANE37_NE_30_SEC + PCS_BAD_SH_LANE36_NE_1_DAY + PCS_BAD_SH_LANE36_NE_15_MINS + PCS_BAD_SH_LANE36_NE_30_SEC + PCS_FRM_ERR_LANE36_NE_1_DAY + PCS_FRM_ERR_LANE36_NE_15_MINS + PCS_FRM_ERR_LANE36_NE_30_SEC + PCS_BIP_LANE36_NE_1_DAY + PCS_BIP_LANE36_NE_15_MINS + PCS_BIP_LANE36_NE_30_SEC + PCS_BAD_SH_LANE35_NE_1_DAY + PCS_BAD_SH_LANE35_NE_15_MINS + PCS_BAD_SH_LANE35_NE_30_SEC + PCS_FRM_ERR_LANE35_NE_1_DAY + PCS_FRM_ERR_LANE35_NE_15_MINS + PCS_FRM_ERR_LANE35_NE_30_SEC + PCS_BIP_LANE35_NE_1_DAY + PCS_BIP_LANE35_NE_15_MINS + PCS_BIP_LANE35_NE_30_SEC + PCS_BAD_SH_LANE34_NE_1_DAY + PCS_BAD_SH_LANE34_NE_15_MINS + PCS_BAD_SH_LANE34_NE_30_SEC + PCS_FRM_ERR_LANE34_NE_1_DAY + PCS_FRM_ERR_LANE34_NE_15_MINS + PCS_FRM_ERR_LANE34_NE_30_SEC + PCS_BIP_LANE34_NE_1_DAY + PCS_BIP_LANE34_NE_15_MINS + PCS_BIP_LANE34_NE_30_SEC + PCS_BAD_SH_LANE33_NE_1_DAY + PCS_BAD_SH_LANE33_NE_15_MINS + PCS_BAD_SH_LANE33_NE_30_SEC + PCS_FRM_ERR_LANE33_NE_1_DAY + PCS_FRM_ERR_LANE33_NE_15_MINS + PCS_FRM_ERR_LANE33_NE_30_SEC + PCS_BIP_LANE33_NE_1_DAY + PCS_BIP_LANE33_NE_15_MINS + PCS_BIP_LANE33_NE_30_SEC + PCS_BAD_SH_LANE32_NE_1_DAY + PCS_BAD_SH_LANE32_NE_15_MINS + PCS_BAD_SH_LANE32_NE_30_SEC + PCS_FRM_ERR_LANE32_NE_1_DAY + PCS_FRM_ERR_LANE32_NE_15_MINS + PCS_FRM_ERR_LANE32_NE_30_SEC + PCS_BIP_LANE32_NE_1_DAY + PCS_BIP_LANE32_NE_15_MINS + PCS_BIP_LANE32_NE_30_SEC + PCS_BAD_SH_LANE31_NE_1_DAY + PCS_BAD_SH_LANE31_NE_15_MINS + PCS_BAD_SH_LANE31_NE_30_SEC + PCS_FRM_ERR_LANE31_NE_1_DAY + PCS_FRM_ERR_LANE31_NE_15_MINS + PCS_FRM_ERR_LANE31_NE_30_SEC + PCS_BIP_LANE31_NE_1_DAY + PCS_BIP_LANE31_NE_15_MINS + PCS_BIP_LANE31_NE_30_SEC + PCS_BAD_SH_LANE30_NE_1_DAY + PCS_BAD_SH_LANE30_NE_15_MINS + PCS_BAD_SH_LANE30_NE_30_SEC + PCS_FRM_ERR_LANE30_NE_1_DAY + PCS_FRM_ERR_LANE30_NE_15_MINS + PCS_FRM_ERR_LANE30_NE_30_SEC + PCS_BIP_LANE30_NE_1_DAY + PCS_BIP_LANE30_NE_15_MINS + PCS_BIP_LANE30_NE_30_SEC + PCS_BAD_SH_LANE29_NE_1_DAY + PCS_BAD_SH_LANE29_NE_15_MINS + PCS_BAD_SH_LANE29_NE_30_SEC + PCS_FRM_ERR_LANE29_NE_1_DAY + PCS_FRM_ERR_LANE29_NE_15_MINS + PCS_FRM_ERR_LANE29_NE_30_SEC + PCS_BIP_LANE29_NE_1_DAY + PCS_BIP_LANE29_NE_15_MINS + PCS_BIP_LANE29_NE_30_SEC + PCS_BAD_SH_LANE28_NE_1_DAY + PCS_BAD_SH_LANE28_NE_15_MINS + PCS_BAD_SH_LANE28_NE_30_SEC + PCS_FRM_ERR_LANE28_NE_1_DAY + PCS_FRM_ERR_LANE28_NE_15_MINS + PCS_FRM_ERR_LANE28_NE_30_SEC + PCS_BIP_LANE28_NE_1_DAY + PCS_BIP_LANE28_NE_15_MINS + PCS_BIP_LANE28_NE_30_SEC + PCS_BAD_SH_LANE27_NE_1_DAY + PCS_BAD_SH_LANE27_NE_15_MINS + PCS_BAD_SH_LANE27_NE_30_SEC + PCS_FRM_ERR_LANE27_NE_1_DAY + PCS_FRM_ERR_LANE27_NE_15_MINS + PCS_FRM_ERR_LANE27_NE_30_SEC + PCS_BIP_LANE27_NE_1_DAY + PCS_BIP_LANE27_NE_15_MINS + PCS_BIP_LANE27_NE_30_SEC + PCS_BAD_SH_LANE26_NE_1_DAY + PCS_BAD_SH_LANE26_NE_15_MINS + PCS_BAD_SH_LANE26_NE_30_SEC + PCS_FRM_ERR_LANE26_NE_1_DAY + PCS_FRM_ERR_LANE26_NE_15_MINS + PCS_FRM_ERR_LANE26_NE_30_SEC + PCS_BIP_LANE26_NE_1_DAY + PCS_BIP_LANE26_NE_15_MINS + PCS_BIP_LANE26_NE_30_SEC + PCS_BAD_SH_LANE25_NE_1_DAY + PCS_BAD_SH_LANE25_NE_15_MINS + PCS_BAD_SH_LANE25_NE_30_SEC + PCS_FRM_ERR_LANE25_NE_1_DAY + PCS_FRM_ERR_LANE25_NE_15_MINS + PCS_FRM_ERR_LANE25_NE_30_SEC + PCS_BIP_LANE25_NE_1_DAY + PCS_BIP_LANE25_NE_15_MINS + PCS_BIP_LANE25_NE_30_SEC + PCS_BAD_SH_LANE24_NE_1_DAY + PCS_BAD_SH_LANE24_NE_15_MINS + PCS_BAD_SH_LANE24_NE_30_SEC + PCS_FRM_ERR_LANE24_NE_1_DAY + PCS_FRM_ERR_LANE24_NE_15_MINS + PCS_FRM_ERR_LANE24_NE_30_SEC + PCS_BIP_LANE24_NE_1_DAY + PCS_BIP_LANE24_NE_15_MINS + PCS_BIP_LANE24_NE_30_SEC + PCS_BAD_SH_LANE23_NE_1_DAY + PCS_BAD_SH_LANE23_NE_15_MINS + PCS_BAD_SH_LANE23_NE_30_SEC + PCS_FRM_ERR_LANE23_NE_1_DAY + PCS_FRM_ERR_LANE23_NE_15_MINS + PCS_FRM_ERR_LANE23_NE_30_SEC + PCS_BIP_LANE23_NE_1_DAY + PCS_BIP_LANE23_NE_15_MINS + PCS_BIP_LANE23_NE_30_SEC + PCS_BAD_SH_LANE22_NE_1_DAY + PCS_BAD_SH_LANE22_NE_15_MINS + PCS_BAD_SH_LANE22_NE_30_SEC + PCS_FRM_ERR_LANE22_NE_1_DAY + PCS_FRM_ERR_LANE22_NE_15_MINS + PCS_FRM_ERR_LANE22_NE_30_SEC + PCS_BIP_LANE22_NE_1_DAY + PCS_BIP_LANE22_NE_15_MINS + PCS_BIP_LANE22_NE_30_SEC + PCS_BAD_SH_LANE21_NE_1_DAY + PCS_BAD_SH_LANE21_NE_15_MINS + PCS_BAD_SH_LANE21_NE_30_SEC + PCS_FRM_ERR_LANE21_NE_1_DAY + PCS_FRM_ERR_LANE21_NE_15_MINS + PCS_FRM_ERR_LANE21_NE_30_SEC + PCS_BIP_LANE21_NE_1_DAY + PCS_BIP_LANE21_NE_15_MINS + PCS_BIP_LANE21_NE_30_SEC + PCS_BAD_SH_LANE20_NE_1_DAY + PCS_BAD_SH_LANE20_NE_15_MINS + PCS_BAD_SH_LANE20_NE_30_SEC + PCS_FRM_ERR_LANE20_NE_1_DAY + PCS_FRM_ERR_LANE20_NE_15_MINS + PCS_FRM_ERR_LANE20_NE_30_SEC + PCS_BIP_LANE20_NE_1_DAY + PCS_BIP_LANE20_NE_15_MINS + PCS_BIP_LANE20_NE_30_SEC + PCS_BAD_SH_LANE19_NE_1_DAY + PCS_BAD_SH_LANE19_NE_15_MINS + PCS_BAD_SH_LANE19_NE_30_SEC + PCS_FRM_ERR_LANE19_NE_1_DAY + PCS_FRM_ERR_LANE19_NE_15_MINS + PCS_FRM_ERR_LANE19_NE_30_SEC + PCS_BIP_LANE19_NE_1_DAY + PCS_BIP_LANE19_NE_15_MINS + PCS_BIP_LANE19_NE_30_SEC + PCS_BAD_SH_LANE18_NE_1_DAY + PCS_BAD_SH_LANE18_NE_15_MINS + PCS_BAD_SH_LANE18_NE_30_SEC + PCS_FRM_ERR_LANE18_NE_1_DAY + PCS_FRM_ERR_LANE18_NE_15_MINS + PCS_FRM_ERR_LANE18_NE_30_SEC + PCS_BIP_LANE18_NE_1_DAY + PCS_BIP_LANE18_NE_15_MINS + PCS_BIP_LANE18_NE_30_SEC + PCS_BAD_SH_LANE17_NE_1_DAY + PCS_BAD_SH_LANE17_NE_15_MINS + PCS_BAD_SH_LANE17_NE_30_SEC + PCS_FRM_ERR_LANE17_NE_1_DAY + PCS_FRM_ERR_LANE17_NE_15_MINS + PCS_FRM_ERR_LANE17_NE_30_SEC + PCS_BIP_LANE17_NE_1_DAY + PCS_BIP_LANE17_NE_15_MINS + PCS_BIP_LANE17_NE_30_SEC + PCS_BAD_SH_LANE16_NE_1_DAY + PCS_BAD_SH_LANE16_NE_15_MINS + PCS_BAD_SH_LANE16_NE_30_SEC + PCS_FRM_ERR_LANE16_NE_1_DAY + PCS_FRM_ERR_LANE16_NE_15_MINS + PCS_FRM_ERR_LANE16_NE_30_SEC + PCS_BIP_LANE16_NE_1_DAY + PCS_BIP_LANE16_NE_15_MINS + PCS_BIP_LANE16_NE_30_SEC + PCS_BAD_SH_LANE15_NE_1_DAY + PCS_BAD_SH_LANE15_NE_15_MINS + PCS_BAD_SH_LANE15_NE_30_SEC + PCS_FRM_ERR_LANE15_NE_1_DAY + PCS_FRM_ERR_LANE15_NE_15_MINS + PCS_FRM_ERR_LANE15_NE_30_SEC + PCS_BIP_LANE15_NE_1_DAY + PCS_BIP_LANE15_NE_15_MINS + PCS_BIP_LANE15_NE_30_SEC + PCS_BAD_SH_LANE14_NE_1_DAY + PCS_BAD_SH_LANE14_NE_15_MINS + PCS_BAD_SH_LANE14_NE_30_SEC + PCS_FRM_ERR_LANE14_NE_1_DAY + PCS_FRM_ERR_LANE14_NE_15_MINS + PCS_FRM_ERR_LANE14_NE_30_SEC + PCS_BIP_LANE14_NE_1_DAY + PCS_BIP_LANE14_NE_15_MINS + PCS_BIP_LANE14_NE_30_SEC + PCS_BAD_SH_LANE13_NE_1_DAY + PCS_BAD_SH_LANE13_NE_15_MINS + PCS_BAD_SH_LANE13_NE_30_SEC + PCS_FRM_ERR_LANE13_NE_1_DAY + PCS_FRM_ERR_LANE13_NE_15_MINS + PCS_FRM_ERR_LANE13_NE_30_SEC + PCS_BIP_LANE13_NE_1_DAY + PCS_BIP_LANE13_NE_15_MINS + PCS_BIP_LANE13_NE_30_SEC + PCS_BAD_SH_LANE12_NE_1_DAY + PCS_BAD_SH_LANE12_NE_15_MINS + PCS_BAD_SH_LANE12_NE_30_SEC + PCS_FRM_ERR_LANE12_NE_1_DAY + PCS_FRM_ERR_LANE12_NE_15_MINS + PCS_FRM_ERR_LANE12_NE_30_SEC + PCS_BIP_LANE12_NE_1_DAY + PCS_BIP_LANE12_NE_15_MINS + PCS_BIP_LANE12_NE_30_SEC + PCS_BAD_SH_LANE11_NE_1_DAY + PCS_BAD_SH_LANE11_NE_15_MINS + PCS_BAD_SH_LANE11_NE_30_SEC + PCS_FRM_ERR_LANE11_NE_1_DAY + PCS_FRM_ERR_LANE11_NE_15_MINS + PCS_FRM_ERR_LANE11_NE_30_SEC + PCS_BIP_LANE11_NE_1_DAY + PCS_BIP_LANE11_NE_15_MINS + PCS_BIP_LANE11_NE_30_SEC + PCS_BAD_SH_LANE10_NE_1_DAY + PCS_BAD_SH_LANE10_NE_15_MINS + PCS_BAD_SH_LANE10_NE_30_SEC + PCS_FRM_ERR_LANE10_NE_1_DAY + PCS_FRM_ERR_LANE10_NE_15_MINS + PCS_FRM_ERR_LANE10_NE_30_SEC + PCS_BIP_LANE10_NE_1_DAY + PCS_BIP_LANE10_NE_15_MINS + PCS_BIP_LANE10_NE_30_SEC + PCS_BAD_SH_LANE9_NE_1_DAY + PCS_BAD_SH_LANE9_NE_15_MINS + PCS_BAD_SH_LANE9_NE_30_SEC + PCS_FRM_ERR_LANE9_NE_1_DAY + PCS_FRM_ERR_LANE9_NE_15_MINS + PCS_FRM_ERR_LANE9_NE_30_SEC + PCS_BIP_LANE9_NE_1_DAY + PCS_BIP_LANE9_NE_15_MINS + PCS_BIP_LANE9_NE_30_SEC + PCS_BAD_SH_LANE8_NE_1_DAY + PCS_BAD_SH_LANE8_NE_15_MINS + PCS_BAD_SH_LANE8_NE_30_SEC + PCS_FRM_ERR_LANE8_NE_1_DAY + PCS_FRM_ERR_LANE8_NE_15_MINS + PCS_FRM_ERR_LANE8_NE_30_SEC + PCS_BIP_LANE8_NE_1_DAY + PCS_BIP_LANE8_NE_15_MINS + PCS_BIP_LANE8_NE_30_SEC + PCS_BAD_SH_LANE7_NE_1_DAY + PCS_BAD_SH_LANE7_NE_15_MINS + PCS_BAD_SH_LANE7_NE_30_SEC + PCS_FRM_ERR_LANE7_NE_1_DAY + PCS_FRM_ERR_LANE7_NE_15_MINS + PCS_FRM_ERR_LANE7_NE_30_SEC + PCS_BIP_LANE7_NE_1_DAY + PCS_BIP_LANE7_NE_15_MINS + PCS_BIP_LANE7_NE_30_SEC + PCS_BAD_SH_LANE6_NE_1_DAY + PCS_BAD_SH_LANE6_NE_15_MINS + PCS_BAD_SH_LANE6_NE_30_SEC + PCS_FRM_ERR_LANE6_NE_1_DAY + PCS_FRM_ERR_LANE6_NE_15_MINS + PCS_FRM_ERR_LANE6_NE_30_SEC + PCS_BIP_LANE6_NE_1_DAY + PCS_BIP_LANE6_NE_15_MINS + PCS_BIP_LANE6_NE_30_SEC + PCS_BAD_SH_LANE5_NE_1_DAY + PCS_BAD_SH_LANE5_NE_15_MINS + PCS_BAD_SH_LANE5_NE_30_SEC + PCS_FRM_ERR_LANE5_NE_1_DAY + PCS_FRM_ERR_LANE5_NE_15_MINS + PCS_FRM_ERR_LANE5_NE_30_SEC + PCS_BIP_LANE5_NE_1_DAY + PCS_BIP_LANE5_NE_15_MINS + PCS_BIP_LANE5_NE_30_SEC + PCS_BAD_SH_LANE4_NE_1_DAY + PCS_BAD_SH_LANE4_NE_15_MINS + PCS_BAD_SH_LANE4_NE_30_SEC + PCS_FRM_ERR_LANE4_NE_1_DAY + PCS_FRM_ERR_LANE4_NE_15_MINS + PCS_FRM_ERR_LANE4_NE_30_SEC + PCS_BIP_LANE4_NE_1_DAY + PCS_BIP_LANE4_NE_15_MINS + PCS_BIP_LANE4_NE_30_SEC + PCS_BAD_SH_LANE3_NE_1_DAY + PCS_BAD_SH_LANE3_NE_15_MINS + PCS_BAD_SH_LANE3_NE_30_SEC + PCS_FRM_ERR_LANE3_NE_1_DAY + PCS_FRM_ERR_LANE3_NE_15_MINS + PCS_FRM_ERR_LANE3_NE_30_SEC + PCS_BIP_LANE3_NE_1_DAY + PCS_BIP_LANE3_NE_15_MINS + PCS_BIP_LANE3_NE_30_SEC + PCS_BAD_SH_LANE2_NE_1_DAY + PCS_BAD_SH_LANE2_NE_15_MINS + PCS_BAD_SH_LANE2_NE_30_SEC + PCS_FRM_ERR_LANE2_NE_1_DAY + PCS_FRM_ERR_LANE2_NE_15_MINS + PCS_FRM_ERR_LANE2_NE_30_SEC + PCS_BIP_LANE2_NE_1_DAY + PCS_BIP_LANE2_NE_15_MINS + PCS_BIP_LANE2_NE_30_SEC + PCS_BAD_SH_LANE1_NE_1_DAY + PCS_BAD_SH_LANE1_NE_15_MINS + PCS_BAD_SH_LANE1_NE_30_SEC + PCS_FRM_ERR_LANE1_NE_1_DAY + PCS_FRM_ERR_LANE1_NE_15_MINS + PCS_FRM_ERR_LANE1_NE_30_SEC + PCS_BIP_LANE1_NE_1_DAY + PCS_BIP_LANE1_NE_15_MINS + PCS_BIP_LANE1_NE_30_SEC + TX_UTILIZATION_NE_1_DAY + TX_UTILIZATION_NE_15_MINS + TX_UTILIZATION_NE_30_SEC + RX_UTILIZATION_NE_1_DAY + RX_UTILIZATION_NE_15_MINS + RX_UTILIZATION_NE_30_SEC + TX_BAD_FCS_NE_30_SEC + TX_JABBER_NE_30_SEC + TX_FRAGMENTS_NE_30_SEC + TX_OVERSIZED_PKT_NE_30_SEC + TX_UNDERSIZED_PKT_NE_30_SEC + OUT_PKTS_1024_1518_OCTETS_NE_30_SEC + OUT_PKTS_512_1023_OCTETS_NE_30_SEC + OUT_PKTS_256_511_OCTETS_NE_30_SEC + OUT_PKTS_128_255_OCTETS_NE_30_SEC + OUT_PKTS_65_127OCTETS_NE_30_SEC + OUT_PKT_64_OCTET_NE_30_SEC + IN_PKTS_1024_1518_OCTETS_NE_30_SEC + IN_PKTS_512_1023_OCTETS_NE_30_SEC + IN_PKTS_256_511_OCTETS_NE_30_SEC + IN_PKTS_128_255_OCTETS_NE_30_SEC + IN_PKTS_65_127OCTETS_NE_30_SEC + IN_PKT_64_OCTET_NE_30_SEC + IN_ERROR_OTHER_NE_30_SEC + IN_ERROR_FRAGMENTS_NE_30_SEC + IN_ERROR_JABBERS_NE_30_SEC + IN_ERROR_RUNT_NE_30_SEC + IN_ERROR_GIANT_NE_30_SEC + OUT_ERROR_OTHER_NE_30_SEC + OUT_DROP_OTHER_NE_30_SEC + OUT_DROP_ABORT_NE_30_SEC + OUT_DROP_UNDERRUN_NE_30_SEC + OUT_GOOD_PKTS_NE_30_SEC + OUT_PKTS_1519_MAX_OCTETS_NE_30_SEC + OUT_PAUSE_FRAMES_NE_30_SEC + OUT_802_1Q_FRAMES_NE_30_SEC + OUT_GOOD_BYTES_NE_30_SEC + TX_BAD_FCS_NE_15_MINS + TX_JABBER_NE_15_MINS + TX_FRAGMENTS_NE_15_MINS + TX_OVERSIZED_PKT_NE_15_MINS + TX_UNDERSIZED_PKT_NE_15_MINS + OUT_PKTS_1024_1518_OCTETS_NE_15_MINS + OUT_PKTS_512_1023_OCTETS_NE_15_MINS + OUT_PKTS_256_511_OCTETS_NE_15_MINS + OUT_PKTS_128_255_OCTETS_NE_15_MINS + OUT_PKTS_65_127OCTETS_NE_15_MINS + OUT_PKT_64_OCTET_NE_15_MINS + IN_PKTS_1024_1518_OCTETS_NE_15_MINS + IN_PKTS_512_1023_OCTETS_NE_15_MINS + IN_PKTS_256_511_OCTETS_NE_15_MINS + IN_PKTS_128_255_OCTETS_NE_15_MINS + IN_PKTS_65_127OCTETS_NE_15_MINS + IN_PKT_64_OCTET_NE_15_MINS + IN_ERROR_OTHER_NE_15_MINS + IN_ERROR_FRAGMENTS_NE_15_MINS + IN_ERROR_JABBERS_NE_15_MINS + IN_ERROR_RUNT_NE_15_MINS + IN_ERROR_GIANT_NE_15_MINS + OUT_ERROR_OTHER_NE_15_MINS + OUT_DROP_OTHER_NE_15_MINS + OUT_DROP_ABORT_NE_15_MINS + OUT_DROP_UNDERRUN_NE_15_MINS + OUT_GOOD_PKTS_NE_15_MINS + OUT_PKTS_1519_MAX_OCTETS_NE_15_MINS + OUT_PAUSE_FRAMES_NE_15_MINS + OUT_802_1Q_FRAMES_NE_15_MINS + OUT_GOOD_BYTES_NE_15_MINS + TX_BAD_FCS_NE_1_DAY + TX_JABBER_NE_1_DAY + TX_FRAGMENTS_NE_1_DAY + TX_OVERSIZED_PKT_NE_1_DAY + TX_UNDERSIZED_PKT_NE_1_DAY + OUT_PKTS_1024_1518_OCTETS_NE_1_DAY + OUT_PKTS_512_1023_OCTETS_NE_1_DAY + OUT_PKTS_256_511_OCTETS_NE_1_DAY + OUT_PKTS_128_255_OCTETS_NE_1_DAY + OUT_PKTS_65_127OCTETS_NE_1_DAY + OUT_PKT_64_OCTET_NE_1_DAY + IN_PKTS_1024_1518_OCTETS_NE_1_DAY + IN_PKTS_512_1023_OCTETS_NE_1_DAY + IN_PKTS_256_511_OCTETS_NE_1_DAY + IN_PKTS_128_255_OCTETS_NE_1_DAY + IN_PKTS_65_127OCTETS_NE_1_DAY + IN_PKT_64_OCTET_NE_1_DAY + IN_ERROR_OTHER_NE_1_DAY + IN_ERROR_FRAGMENTS_NE_1_DAY + IN_ERROR_JABBERS_NE_1_DAY + IN_ERROR_RUNT_NE_1_DAY + IN_ERROR_GIANT_NE_1_DAY + OUT_ERROR_OTHER_NE_1_DAY + OUT_DROP_OTHER_NE_1_DAY + OUT_DROP_ABORT_NE_1_DAY + OUT_DROP_UNDERRUN_NE_1_DAY + OUT_GOOD_PKTS_NE_1_DAY + OUT_PKTS_1519_MAX_OCTETS_NE_1_DAY + OUT_PAUSE_FRAMES_NE_1_DAY + OUT_802_1Q_FRAMES_NE_1_DAY + OUT_GOOD_BYTES_NE_1_DAY + IN_ERROR_SYMBOL_NE_30_SEC + IN_ERROR_COLLISIONS_NE_30_SEC + IN_MIB_CRC_NE_30_SEC + IN_MIB_JABBER_NE_30_SEC + IN_MIB_GIANT_NE_30_SEC + IN_DROP_OTHER_NE_30_SEC + IN_DROP_INVALID_ENCAP_NE_30_SEC + IN_DROP_INVALID_DMAC_NE_30_SEC + IN_DROP_INVALID_VLAN_NE_30_SEC + IN_DROP_ABORT_NE_30_SEC + IN_DROP_OVERRUN_NE_30_SEC + IN_GOOD_PKTS_NE_30_SEC + IN_PKTS_1519_MAX_OCTETS_NE_30_SEC + IN_802_1Q_FRAMES_NE_30_SEC + IN_GOOD_BYTES_NE_30_SEC + IN_PAUSE_FRAME_NE_30_SEC + IN_ERROR_SYMBOL_NE_15_MINS + IN_ERROR_COLLISIONS_NE_15_MINS + IN_MIB_CRC_NE_15_MINS + IN_MIB_JABBER_NE_15_MINS + IN_MIB_GIANT_NE_15_MINS + IN_DROP_OTHER_NE_15_MINS + IN_DROP_INVALID_ENCAP_NE_15_MINS + IN_DROP_INVALID_DMAC_NE_15_MINS + IN_DROP_INVALID_VLAN_NE_15_MINS + IN_DROP_ABORT_NE_15_MINS + IN_DROP_OVERRUN_NE_15_MINS + IN_GOOD_PKTS_NE_15_MINS + IN_PKTS_1519_MAX_OCTETS_NE_15_MINS + IN_802_1Q_FRAMES_NE_15_MINS + IN_GOOD_BYTES_NE_15_MINS + IN_PAUSE_FRAME_NE_15_MINS + IN_ERROR_SYMBOL_NE_1_DAY + IN_ERROR_COLLISIONS_NE_1_DAY + IN_MIB_CRC_NE_1_DAY + IN_MIB_JABBER_NE_1_DAY + IN_MIB_GIANT_NE_1_DAY + IN_DROP_OTHER_NE_1_DAY + IN_DROP_INVALID_ENCAP_NE_1_DAY + IN_DROP_INVALID_DMAC_NE_1_DAY + IN_DROP_INVALID_VLAN_NE_1_DAY + IN_DROP_ABORT_NE_1_DAY + IN_DROP_OVERRUN_NE_1_DAY + IN_GOOD_PKTS_NE_1_DAY + IN_PKTS_1519_MAX_OCTETS_NE_1_DAY + IN_802_1Q_FRAMES_NE_1_DAY + IN_GOOD_BYTES_NE_1_DAY + IN_PAUSE_FRAME_NE_1_DAY + OUT_BCAST_PKTS_NE_30_SEC + Tx_PKTS_NE_30_SEC + IFIN_ERRORS_NE_30_SEC + IFIN_OCTETS_NE_30_SEC + ETHER_STAT_MULTICAST_PKT_NE_30_SEC + ETHER_STAT_BROADCAST_PKT_NE_30_SEC + ETHER_STAT_UNDERSIZED_PKT_NE_30_SEC + OUT_OCTETS_NE_30_SEC + LONG_FRAME_NE_30_SEC + FCS_ERR_NE_30_SEC + OVERSIZE_PKTS_NE_30_SEC + STATS_OCTETS_NE_30_SEC + STAT_PKTS_NE_30_SEC + RX_PKTS_NE_30_SEC + JABBERS_STATS_NE_30_SEC + PKT_65_127_OCTETS_NE_30_SEC + PKT_64_OCTETS_NE_30_SEC + PKT_512_1023_OCTETS_NE_30_SEC + PKT_256_511_OCTETS_NE_30_SEC + PKT_128_255_OCTETS_NE_30_SEC + PKT_1024_1518_OCTETS_NE_30_SEC + OUT_UCAST_PKTS_NE_30_SEC + OUT_MCAST_PKTS_NE_30_SEC + IN_UCAST_PKTS_NE_30_SEC + IN_MCAST_PKTS_NE_30_SEC + IN_BCAST_PKTS_NE_30_SEC + OUT_BCAST_PKTS_NE_1_DAY + OUT_BCAST_PKTS_NE_15_MINS + Tx_PKTS_NE_1_DAY + Tx_PKTS_NE_15_MINS + IFIN_ERRORS_NE_1_DAY + IFIN_ERRORS_NE_15_MINS + IFIN_OCTETS_NE_1_DAY + IFIN_OCTETS_NE_15_MINS + ETHER_STAT_MULTICAST_PKT_NE_1_DAY + ETHER_STAT_MULTICAST_PKT_NE_15_MINS + ETHER_STAT_BROADCAST_PKT_NE_1_DAY + ETHER_STAT_BROADCAST_PKT_NE_15_MINS + ETHER_STAT_UNDERSIZED_PKT_NE_1_DAY + ETHER_STAT_UNDERSIZED_PKT_NE_15_MINS + OUT_OCTETS_NE_15_MINS + OUT_OCTETS_NE_1_DAY + LONG_FRAME_NE_1_DAY + LONG_FRAME_NE_15_MINS + FCS_ERR_NE_1_DAY + FCS_ERR_NE_15_MINS + OVERSIZE_PKTS_NE_1_DAY + OVERSIZE_PKTS_NE_15_MINS + STATS_OCTETS_NE_1_DAY + STATS_OCTETS_NE_15_MINS + STAT_PKTS_NE_1_DAY + STAT_PKTS_NE_15_MINS + RX_PKTS_NE_1_DAY + RX_PKTS_NE_15_MINS + JABBERS_STATS_NE_1_DAY + JABBERS_STATS_NE_15_MINS + PKT_65_127_OCTETS_NE_1_DAY + PKT_65_127_OCTETS_NE_15_MINS + PKT_64_OCTETS_NE_1_DAY + PKT_64_OCTETS_NE_15_MINS + PKT_512_1023_OCTETS_NE_1_DAY + PKT_512_1023_OCTETS_NE_15_MINS + PKT_256_511_OCTETS_NE_1_DAY + PKT_256_511_OCTETS_NE_15_MINS + PKT_128_255_OCTETS_NE_1_DAY + PKT_128_255_OCTETS_NE_15_MINS + PKT_1024_1518_OCTETS_NE_1_DAY + PKT_1024_1518_OCTETS_NE_15_MINS + OUT_UCAST_PKTS_NE_1_DAY + OUT_UCAST_PKTS_NE_15_MINS + OUT_MCAST_PKTS_NE_1_DAY + OUT_MCAST_PKTS_NE_15_MINS + IN_UCAST_PKTS_NE_1_DAY + IN_UCAST_PKTS_NE_15_MINS + IN_MCAST_PKTS_NE_1_DAY + IN_MCAST_PKTS_NE_15_MINS + IN_BCAST_PKTS_NE_1_DAY + IN_BCAST_PKTS_NE_15_MINS + ETHER_AS_MT + ETHER_REMOTE_DEG_SER + ETHER_LOCAL_DEG_SER + ETHER_DEG_SER + ETHER_HI_SER + ETHER_SYNCLOSS + ETHER_SIGLOSS + ETHER_RF + ETHER_LF + ETHER_SQUELCHED + ETHER_HIBER + STM_UAS_L_NE_1_DAY + STM_UAS_L_NE_15_MINS + STM_BBER_L_NE_1_DAY + STM_BBER_L_NE_15_MINS + STM_BBE_L_NE_1_DAY + STM_BBE_L_NE_15_MINS + STM_SESR_L_NE_1_DAY + STM_SESR_L_NE_15_MINS + STM_SES_L_NE_1_DAY + STM_SES_L_NE_15_MINS + STM_ESR_L_NE_1_DAY + STM_ESR_L_NE_15_MINS + STM_ES_L_NE_1_DAY + STM_ES_L_NE_15_MINS + STM_EB_L_NE_1_DAY + STM_EB_L_NE_15_MINS + STM_UAS_L_FE_1_DAY + STM_UAS_L_FE_15_MINS + STM_BBER_L_FE_1_DAY + STM_BBER_L_FE_15_MINS + STM_BBE_L_FE_1_DAY + STM_BBE_L_FE_15_MINS + STM_SESR_L_FE_1_DAY + STM_SESR_L_FE_15_MINS + STM_SES_L_FE_1_DAY + STM_SES_L_FE_15_MINS + STM_ESR_L_FE_1_DAY + STM_ESR_L_FE_15_MINS + STM_ES_L_FE_1_DAY + STM_ES_L_FE_15_MINS + STM_EB_L_FE_1_DAY + STM_EB_L_FE_15_MINS + STM_UAS_S_NE_1_DAY + STM_UAS_S_NE_15_MINS + STM_BBE_S_NE_1_DAY + STM_BBE_S_NE_15_MINS + STM_SESR_S_NE_1_DAY + STM_SESR_S_NE_15_MINS + STM_ESR_S_NE_1_DAY + STM_ESR_S_NE_15_MINS + STM_ES_S_NE_1_DAY + STM_ES_S_NE_15_MINS + STM_SES_S_NE_1_DAY + STM_SES_S_NE_15_MINS + STM_EB_S_NE_1_DAY + STM_EB_S_NE_15_MINS + STM_BBER_S_NE_1_DAY + STM_BBER_S_NE_15_MINS + HO_VC_UASP_NE_1_DAY + HO_VC_UASP_NE_15_MINS + HO_VC_BBERP_NE_1_DAY + HO_VC_BBERP_NE_15_MINS + HO_VC_BBEP_NE_1_DAY + HO_VC_BBEP_NE_15_MINS + HO_VC_SESP_NE_1_DAY + HO_VC_SESP_NE_15_MINS + HO_VC_ESRP_NE_1_DAY + HO_VC_ESRP_NE_15_MINS + HO_VC_ESP_NE_1_DAY + HO_VC_SESRP_NE_1_DAY + HO_VC_SESRP_NE_15_MINS + HO_VC_ESP_NE_15_MINS + HO_VC_EBP_NE_1_DAY + HO_VC_EBP_NE_15_MINS + SDH_HO_SQUELCHED + SDH_SQUELCHED + SDH_HO_AS_MT + SDH_AS_MT + SDH_TIM_RS + SDH_MS_DEG + SDH_MS_EXC + SDH_TIM_HP + SDH_RDI_HP + SDH_PLM_HP + SDH_UNEQ_HP + SDH_AIS_AU + SDH_LOP_AU + SDH_RDI_MS + SDH_AIS_MS + SDH_LOF_RS + SDH_LOS_RS + OCN_UAS_L_FE_1_DAY + OCN_UAS_L_FE_15_MINS + OCN_BBE_L_FE_1_DAY + OCN_BBE_L_FE_15_MINS + OCN_SES_L_FE_1_DAY + OCN_SES_L_FE_15_MINS + OCN_ES_L_FE_1_DAY + OCN_ES_L_FE_15_MINS + OCN_CV_L_FE_1_DAY + OCN_CV_L_FE_15_MINS + OCN_FC_L_FE_1_DAY + OCN_FC_L_FE_15_MINS + OCN_FC_L_NE_1_DAY + OCN_FC_L_NE_15_MINS + OCN_UAS_L_NE_1_DAY + OCN_UAS_L_NE_15_MINS + OCN_BBE_L_NE_1_DAY + OCN_BBE_L_NE_15_MINS + OCN_SES_L_NE_1_DAY + OCN_SES_L_NE_15_MINS + OCN_ES_L_NE_1_DAY + OCN_ES_L_NE_15_MINS + OCN_CV_L_NE_1_DAY + OCN_CV_L_NE_15_MINS + OCN_SES_S_NE_1_DAY + OCN_SES_S_NE_15_MINS + OCN_ES_S_NE_1_DAY + OCN_ES_S_NE_15_MINS + OCN_CV_S_NE_1_DAY + OCN_CV_S_NE_15_MINS + OCN_SEFS_S_NE_1_DAY + OCN_UAS_S_NE_1_DAY + OCN_UAS_S_NE_15_MINS + OCN_SEFS_S_NE_15_MINS + STS_UASP_FE_15_MINS + STS_UASP_NE_15_MINS + STS_UASP_FE_1_DAY + STS_UASP_NE_1_DAY + STS_SESP_FE_15_MINS + STS_SESP_NE_15_MINS + STS_SESP_FE_1_DAY + STS_SESP_NE_1_DAY + STS_ESP_FE_15_MINS + STS_ESP_NE_15_MINS + STS_ESP_FE_1_DAY + STS_ESP_NE_1_DAY + STS_CVP_FE_15_MINS + STS_CVP_NE_15_MINS + STS_CVP_FE_1_DAY + STS_CVP_NE_1_DAY + SONET_PATH_SQUELCHED + SONET_PATH_AS_MT + SONET_TIM_S + SONET_SD_BER + SONET_SF_BER + SONET_TIM_P + SONET_RDI_P + SONET_PLM_P + SONET_UNEQ_P + SONET_AIS_P + SONET_LOP_P + SONET_RDI_L + SONET_SQUELCHED + SONET_AS_MT + SONET_AIS_L + SONET_LOF_S + SONET_LOS_S + AMPLI_GAIN_TILT_MAX_NE_1_DAY + AMPLI_GAIN_TILT_MIN_NE_1_DAY + AMPLI_GAIN_MAX_NE_1_DAY + AMPLI_GAIN_MIN_NE_1_DAY + LOW_FREQ_OFF_MAX_NE_1_DAY + LOW_FREQ_OFF_MIN_NE_1_DAY + RX_SIG_POW_MAX_NE_1_DAY + RX_SIG_POW_MIN_NE_1_DAY + AMPLI_GAIN_TILT_MAX_NE_15_MINS + AMPLI_GAIN_TILT_MIN_NE_15_MINS + AMPLI_GAIN_MAX_NE_15_MINS + AMPLI_GAIN_MIN_NE_15_MINS + LOW_FREQ_OFF_MAX_NE_15_MINS + LOW_FREQ_OFF_MIN_NE_15_MINS + RX_SIG_POW_MAX_NE_15_MINS + RX_SIG_POW_MIN_NE_15_MINS + AMPLI_GAIN_TILT_MAX_NE_30_SEC + AMPLI_GAIN_TILT_MIN_NE_30_SEC + AMPLI_GAIN_MAX_NE_30_SEC + AMPLI_GAIN_MIN_NE_30_SEC + LOW_FREQ_OFF_MAX_NE_30_SEC + LOW_FREQ_OFF_MIN_NE_30_SEC + RX_SIG_POW_MAX_NE_30_SEC + RX_SIG_POW_MIN_NE_30_SEC + DGD_MIN_NE_30_SEC + DGD_MAX_NE_30_SEC + LASER_BIAS_PC_MAX_NE_30_SEC + LASER_BIAS_MAX_NE_30_SEC + RX_PWR_MAX_NE_30_SEC + TX_PWR_MAX_NE_30_SEC + PMD_MIN_NE_30_SEC + CD_MIN_NE_30_SEC + PN_MIN_NE_30_SEC + PCR_MIN_NE_30_SEC + PDL_MIN_NE_30_SEC + OSNR_MIN_NE_30_SEC + LASER_BIAS_PC_MAX_LANE10_NE_30_SEC + LASER_BIAS_PC_MAX_LANE9_NE_30_SEC + LASER_BIAS_PC_MAX_LANE8_NE_30_SEC + LASER_BIAS_PC_MAX_LANE7_NE_30_SEC + LASER_BIAS_PC_MAX_LANE6_NE_30_SEC + LASER_BIAS_PC_MAX_LANE5_NE_30_SEC + LASER_BIAS_PC_MAX_LANE4_NE_30_SEC + LASER_BIAS_PC_MAX_LANE3_NE_30_SEC + LASER_BIAS_PC_MAX_LANE2_NE_30_SEC + LASER_BIAS_PC_MAX_LANE1_NE_30_SEC + LASER_BIAS_PC_MIN_LANE10_NE_30_SEC + LASER_BIAS_PC_MIN_LANE9_NE_30_SEC + LASER_BIAS_PC_MIN_LANE8_NE_30_SEC + LASER_BIAS_PC_MIN_LANE7_NE_30_SEC + LASER_BIAS_PC_MIN_LANE6_NE_30_SEC + LASER_BIAS_PC_MIN_LANE5_NE_30_SEC + LASER_BIAS_PC_MIN_LANE4_NE_30_SEC + LASER_BIAS_PC_MIN_LANE3_NE_30_SEC + LASER_BIAS_PC_MIN_LANE2_NE_30_SEC + LASER_BIAS_PC_MIN_LANE1_NE_30_SEC + LASER_BIAS_MAX_LANE10_NE_30_SEC + LASER_BIAS_MAX_LANE9_NE_30_SEC + LASER_BIAS_MAX_LANE8_NE_30_SEC + LASER_BIAS_MAX_LANE7_NE_30_SEC + LASER_BIAS_MAX_LANE6_NE_30_SEC + LASER_BIAS_MAX_LANE5_NE_30_SEC + LASER_BIAS_MAX_LANE4_NE_30_SEC + LASER_BIAS_MAX_LANE3_NE_30_SEC + LASER_BIAS_MAX_LANE2_NE_30_SEC + LASER_BIAS_MAX_LANE1_NE_30_SEC + LASER_BIAS_MIN_LANE10_NE_30_SEC + LASER_BIAS_MIN_LANE9_NE_30_SEC + LASER_BIAS_MIN_LANE8_NE_30_SEC + LASER_BIAS_MIN_LANE7_NE_30_SEC + LASER_BIAS_MIN_LANE6_NE_30_SEC + LASER_BIAS_MIN_LANE5_NE_30_SEC + LASER_BIAS_MIN_LANE4_NE_30_SEC + LASER_BIAS_MIN_LANE3_NE_30_SEC + LASER_BIAS_MIN_LANE2_NE_30_SEC + LASER_BIAS_MIN_LANE1_NE_30_SEC + RX_PWR_MAX_LANE10_NE_30_SEC + RX_PWR_MAX_LANE9_NE_30_SEC + RX_PWR_MAX_LANE8_NE_30_SEC + RX_PWR_MAX_LANE7_NE_30_SEC + RX_PWR_MAX_LANE6_NE_30_SEC + RX_PWR_MAX_LANE5_NE_30_SEC + RX_PWR_MAX_LANE4_NE_30_SEC + RX_PWR_MAX_LANE3_NE_30_SEC + RX_PWR_MAX_LANE2_NE_30_SEC + RX_PWR_MAX_LANE1_NE_30_SEC + RX_PWR_MIN_LANE10_NE_30_SEC + RX_PWR_MIN_LANE9_NE_30_SEC + RX_PWR_MIN_LANE8_NE_30_SEC + RX_PWR_MIN_LANE7_NE_30_SEC + RX_PWR_MIN_LANE6_NE_30_SEC + RX_PWR_MIN_LANE5_NE_30_SEC + RX_PWR_MIN_LANE4_NE_30_SEC + RX_PWR_MIN_LANE3_NE_30_SEC + RX_PWR_MIN_LANE2_NE_30_SEC + RX_PWR_MIN_LANE1_NE_30_SEC + TX_PWR_MAX_LANE10_NE_30_SEC + TX_PWR_MAX_LANE9_NE_30_SEC + TX_PWR_MAX_LANE8_NE_30_SEC + TX_PWR_MAX_LANE7_NE_30_SEC + TX_PWR_MAX_LANE6_NE_30_SEC + TX_PWR_MAX_LANE5_NE_30_SEC + TX_PWR_MAX_LANE4_NE_30_SEC + TX_PWR_MAX_LANE3_NE_30_SEC + TX_PWR_MAX_LANE2_NE_30_SEC + TX_PWR_MAX_LANE1_NE_30_SEC + TX_PWR_MIN_LANE10_NE_30_SEC + TX_PWR_MIN_LANE9_NE_30_SEC + TX_PWR_MIN_LANE8_NE_30_SEC + TX_PWR_MIN_LANE7_NE_30_SEC + TX_PWR_MIN_LANE6_NE_30_SEC + TX_PWR_MIN_LANE5_NE_30_SEC + TX_PWR_MIN_LANE4_NE_30_SEC + TX_PWR_MIN_LANE3_NE_30_SEC + TX_PWR_MIN_LANE2_NE_30_SEC + TX_PWR_MIN_LANE1_NE_30_SEC + LASER_BIAS_PC_MIN_NE_30_SEC + LASER_BIAS_MIN_NE_30_SEC + RX_PWR_MIN_NE_30_SEC + TX_PWR_MIN_NE_30_SEC + PMD_MAX_NE_30_SEC + CD_MAX_NE_30_SEC + PN_MAX_NE_30_SEC + PCR_MAX_NE_30_SEC + PDL_MAX_NE_30_SEC + OSNR_MAX_NE_30_SEC + DGD_MIN_NE_1_DAY + DGD_MIN_NE_15_MINS + DGD_MAX_NE_1_DAY + DGD_MAX_NE_15_MINS + LASER_BIAS_PC_MAX_NE_1_DAY + LASER_BIAS_PC_MAX_NE_15_MINS + LASER_BIAS_MAX_NE_1_DAY + LASER_BIAS_MAX_NE_15_MINS + RX_PWR_MAX_NE_1_DAY + RX_PWR_MAX_NE_15_MINS + TX_PWR_MAX_NE_1_DAY + TX_PWR_MAX_NE_15_MINS + PMD_MIN_NE_1_DAY + PMD_MIN_NE_15_MINS + CD_MIN_NE_1_DAY + CD_MIN_NE_15_MINS + PN_MIN_NE_1_DAY + PN_MIN_NE_15_MINS + PCR_MIN_NE_1_DAY + PCR_MIN_NE_15_MINS + SOPMD_MIN_NE_1_DAY + SOPMD_MIN_NE_15_MINS + PDL_MIN_NE_1_DAY + PDL_MIN_NE_15_MINS + OSNR_MIN_NE_1_DAY + OSNR_MIN_NE_15_MINS + LASER_BIAS_PC_MAX_LANE10_NE_1_DAY + LASER_BIAS_PC_MAX_LANE10_NE_15_MINS + LASER_BIAS_PC_MAX_LANE9_NE_1_DAY + LASER_BIAS_PC_MAX_LANE9_NE_15_MINS + LASER_BIAS_PC_MAX_LANE8_NE_1_DAY + LASER_BIAS_PC_MAX_LANE8_NE_15_MINS + LASER_BIAS_PC_MAX_LANE7_NE_1_DAY + LASER_BIAS_PC_MAX_LANE7_NE_15_MINS + LASER_BIAS_PC_MAX_LANE6_NE_1_DAY + LASER_BIAS_PC_MAX_LANE6_NE_15_MINS + LASER_BIAS_PC_MAX_LANE5_NE_1_DAY + LASER_BIAS_PC_MAX_LANE5_NE_15_MINS + LASER_BIAS_PC_MAX_LANE4_NE_1_DAY + LASER_BIAS_PC_MAX_LANE4_NE_15_MINS + LASER_BIAS_PC_MAX_LANE3_NE_1_DAY + LASER_BIAS_PC_MAX_LANE3_NE_15_MINS + LASER_BIAS_PC_MAX_LANE2_NE_1_DAY + LASER_BIAS_PC_MAX_LANE2_NE_15_MINS + LASER_BIAS_PC_MAX_LANE1_NE_1_DAY + LASER_BIAS_PC_MAX_LANE1_NE_15_MINS + LASER_BIAS_PC_MIN_LANE10_NE_1_DAY + LASER_BIAS_PC_MIN_LANE10_NE_15_MINS + LASER_BIAS_PC_MIN_LANE9_NE_1_DAY + LASER_BIAS_PC_MIN_LANE9_NE_15_MINS + LASER_BIAS_PC_MIN_LANE8_NE_1_DAY + LASER_BIAS_PC_MIN_LANE8_NE_15_MINS + LASER_BIAS_PC_MIN_LANE7_NE_1_DAY + LASER_BIAS_PC_MIN_LANE7_NE_15_MINS + LASER_BIAS_PC_MIN_LANE6_NE_1_DAY + LASER_BIAS_PC_MIN_LANE6_NE_15_MINS + LASER_BIAS_PC_MIN_LANE5_NE_1_DAY + LASER_BIAS_PC_MIN_LANE5_NE_15_MINS + LASER_BIAS_PC_MIN_LANE4_NE_1_DAY + LASER_BIAS_PC_MIN_LANE4_NE_15_MINS + LASER_BIAS_PC_MIN_LANE3_NE_1_DAY + LASER_BIAS_PC_MIN_LANE3_NE_15_MINS + LASER_BIAS_PC_MIN_LANE2_NE_1_DAY + LASER_BIAS_PC_MIN_LANE2_NE_15_MINS + LASER_BIAS_PC_MIN_LANE1_NE_1_DAY + LASER_BIAS_PC_MIN_LANE1_NE_15_MINS + LASER_BIAS_MAX_LANE10_NE_1_DAY + LASER_BIAS_MAX_LANE10_NE_15_MINS + LASER_BIAS_MAX_LANE9_NE_1_DAY + LASER_BIAS_MAX_LANE9_NE_15_MINS + LASER_BIAS_MAX_LANE8_NE_1_DAY + LASER_BIAS_MAX_LANE8_NE_15_MINS + LASER_BIAS_MAX_LANE7_NE_1_DAY + LASER_BIAS_MAX_LANE7_NE_15_MINS + LASER_BIAS_MAX_LANE6_NE_1_DAY + LASER_BIAS_MAX_LANE6_NE_15_MINS + LASER_BIAS_MAX_LANE5_NE_1_DAY + LASER_BIAS_MAX_LANE5_NE_15_MINS + LASER_BIAS_MAX_LANE4_NE_1_DAY + LASER_BIAS_MAX_LANE4_NE_15_MINS + LASER_BIAS_MAX_LANE3_NE_1_DAY + LASER_BIAS_MAX_LANE3_NE_15_MINS + LASER_BIAS_MAX_LANE2_NE_1_DAY + LASER_BIAS_MAX_LANE2_NE_15_MINS + LASER_BIAS_MAX_LANE1_NE_1_DAY + LASER_BIAS_MAX_LANE1_NE_15_MINS + LASER_BIAS_MIN_LANE10_NE_1_DAY + LASER_BIAS_MIN_LANE10_NE_15_MINS + LASER_BIAS_MIN_LANE9_NE_1_DAY + LASER_BIAS_MIN_LANE9_NE_15_MINS + LASER_BIAS_MIN_LANE8_NE_1_DAY + LASER_BIAS_MIN_LANE8_NE_15_MINS + LASER_BIAS_MIN_LANE7_NE_1_DAY + LASER_BIAS_MIN_LANE7_NE_15_MINS + LASER_BIAS_MIN_LANE6_NE_1_DAY + LASER_BIAS_MIN_LANE6_NE_15_MINS + LASER_BIAS_MIN_LANE5_NE_1_DAY + LASER_BIAS_MIN_LANE5_NE_15_MINS + LASER_BIAS_MIN_LANE4_NE_1_DAY + LASER_BIAS_MIN_LANE4_NE_15_MINS + LASER_BIAS_MIN_LANE3_NE_1_DAY + LASER_BIAS_MIN_LANE3_NE_15_MINS + LASER_BIAS_MIN_LANE2_NE_1_DAY + LASER_BIAS_MIN_LANE2_NE_15_MINS + LASER_BIAS_MIN_LANE1_NE_1_DAY + LASER_BIAS_MIN_LANE1_NE_15_MINS + RX_PWR_MAX_LANE10_NE_1_DAY + RX_PWR_MAX_LANE10_NE_15_MINS + RX_PWR_MAX_LANE9_NE_1_DAY + RX_PWR_MAX_LANE9_NE_15_MINS + RX_PWR_MAX_LANE8_NE_1_DAY + RX_PWR_MAX_LANE8_NE_15_MINS + RX_PWR_MAX_LANE7_NE_1_DAY + RX_PWR_MAX_LANE7_NE_15_MINS + RX_PWR_MAX_LANE6_NE_1_DAY + RX_PWR_MAX_LANE6_NE_15_MINS + RX_PWR_MAX_LANE5_NE_1_DAY + RX_PWR_MAX_LANE5_NE_15_MINS + RX_PWR_MAX_LANE4_NE_1_DAY + RX_PWR_MAX_LANE4_NE_15_MINS + RX_PWR_MAX_LANE3_NE_1_DAY + RX_PWR_MAX_LANE3_NE_15_MINS + RX_PWR_MAX_LANE2_NE_1_DAY + RX_PWR_MAX_LANE2_NE_15_MINS + RX_PWR_MAX_LANE1_NE_1_DAY + RX_PWR_MAX_LANE1_NE_15_MINS + RX_PWR_MIN_LANE10_NE_1_DAY + RX_PWR_MIN_LANE10_NE_15_MINS + RX_PWR_MIN_LANE9_NE_1_DAY + RX_PWR_MIN_LANE9_NE_15_MINS + RX_PWR_MIN_LANE8_NE_1_DAY + RX_PWR_MIN_LANE8_NE_15_MINS + RX_PWR_MIN_LANE7_NE_1_DAY + RX_PWR_MIN_LANE7_NE_15_MINS + RX_PWR_MIN_LANE6_NE_1_DAY + RX_PWR_MIN_LANE6_NE_15_MINS + RX_PWR_MIN_LANE5_NE_1_DAY + RX_PWR_MIN_LANE5_NE_15_MINS + RX_PWR_MIN_LANE4_NE_1_DAY + RX_PWR_MIN_LANE4_NE_15_MINS + RX_PWR_MIN_LANE3_NE_1_DAY + RX_PWR_MIN_LANE3_NE_15_MINS + RX_PWR_MIN_LANE2_NE_1_DAY + RX_PWR_MIN_LANE2_NE_15_MINS + RX_PWR_MIN_LANE1_NE_1_DAY + RX_PWR_MIN_LANE1_NE_15_MINS + TX_PWR_MAX_LANE10_NE_1_DAY + TX_PWR_MAX_LANE10_NE_15_MINS + TX_PWR_MAX_LANE9_NE_1_DAY + TX_PWR_MAX_LANE9_NE_15_MINS + TX_PWR_MAX_LANE8_NE_1_DAY + TX_PWR_MAX_LANE8_NE_15_MINS + TX_PWR_MAX_LANE7_NE_1_DAY + TX_PWR_MAX_LANE7_NE_15_MINS + TX_PWR_MAX_LANE6_NE_1_DAY + TX_PWR_MAX_LANE6_NE_15_MINS + TX_PWR_MAX_LANE5_NE_1_DAY + TX_PWR_MAX_LANE5_NE_15_MINS + TX_PWR_MAX_LANE4_NE_1_DAY + TX_PWR_MAX_LANE4_NE_15_MINS + TX_PWR_MAX_LANE3_NE_1_DAY + TX_PWR_MAX_LANE3_NE_15_MINS + TX_PWR_MAX_LANE2_NE_1_DAY + TX_PWR_MAX_LANE2_NE_15_MINS + TX_PWR_MAX_LANE1_NE_1_DAY + TX_PWR_MAX_LANE1_NE_15_MINS + TX_PWR_MIN_LANE10_NE_1_DAY + TX_PWR_MIN_LANE10_NE_15_MINS + TX_PWR_MIN_LANE9_NE_1_DAY + TX_PWR_MIN_LANE9_NE_15_MINS + TX_PWR_MIN_LANE8_NE_1_DAY + TX_PWR_MIN_LANE8_NE_15_MINS + TX_PWR_MIN_LANE7_NE_1_DAY + TX_PWR_MIN_LANE7_NE_15_MINS + TX_PWR_MIN_LANE6_NE_1_DAY + TX_PWR_MIN_LANE6_NE_15_MINS + TX_PWR_MIN_LANE5_NE_1_DAY + TX_PWR_MIN_LANE5_NE_15_MINS + TX_PWR_MIN_LANE4_NE_1_DAY + TX_PWR_MIN_LANE4_NE_15_MINS + TX_PWR_MIN_LANE3_NE_1_DAY + TX_PWR_MIN_LANE3_NE_15_MINS + TX_PWR_MIN_LANE2_NE_1_DAY + TX_PWR_MIN_LANE2_NE_15_MINS + TX_PWR_MIN_LANE1_NE_1_DAY + TX_PWR_MIN_LANE1_NE_15_MINS + LASER_BIAS_PC_MIN_NE_1_DAY + LASER_BIAS_PC_MIN_NE_15_MINS + LASER_BIAS_MIN_NE_1_DAY + LASER_BIAS_MIN_NE_15_MINS + RX_PWR_MIN_NE_1_DAY + RX_PWR_MIN_NE_15_MINS + TX_PWR_MIN_NE_1_DAY + TX_PWR_MIN_NE_15_MINS + PMD_MAX_NE_1_DAY + PMD_MAX_NE_15_MINS + CD_MAX_NE_1_DAY + CD_MAX_NE_15_MINS + PN_MAX_NE_1_DAY + PN_MAX_NE_15_MINS + PCR_MAX_NE_1_DAY + PCR_MAX_NE_15_MINS + SOPMD_MAX_NE_1_DAY + SOPMD_MAX_NE_15_MINS + PDL_MAX_NE_1_DAY + PDL_MAX_NE_15_MINS + OSNR_MAX_NE_1_DAY + OSNR_MAX_NE_15_MINS + OPTICAL_FEC_UNCWORD + OPTICAL_FECMISMATCH + OPTICAL_AS_MT + OPTICAL_PROV_IN_PROG + OPTICAL_LO_OSNR + OPTICAL_OUT_OF_RNG_CD + OPTICAL_HI_DGD + OPTICAL_TX_POWER_PROV_MISMATCH + OPTICAL_WVL_OUT_OF_LOCK + OPTICAL_UNQUALIFIED_PPM + OPTICAL_HI_LASERBIAS + OPTICAL_LO_TXPOWER + OPTICAL_HI_TXPOWER + OPTICAL_LO_RXPOWER + OPTICAL_HI_RXPOWER + OPTICAL_PROV_MISMATCH + OPTICAL_MEA + OPTICAL_IMPROPRMVL + FEC_POST_FEC_BER_MAX_NE_30_SEC + FEC_POST_FEC_BER_MIN_NE_30_SEC + FEC_PRE_FEC_BER_MAX_NE_30_SEC + FEC_PRE_FEC_BER_MIN_NE_30_SEC + FEC_Q_MARGIN_INST_MIN_NE_30_SEC + FEC_Q_MARGIN_INST_MAX_NE_30_SEC + FEC_Q_MARGIN_MIN_NE_30_SEC + FEC_Q_MARGIN_MAX_NE_30_SEC + FEC_Q_MIN_NE_30_SEC + FEC_Q_MAX_NE_30_SEC + FEC_POST_FEC_BER_MAX_NE_15_MINS + FEC_POST_FEC_BER_MIN_NE_15_MINS + FEC_PRE_FEC_BER_MAX_NE_15_MINS + FEC_PRE_FEC_BER_MIN_NE_15_MINS + FEC_Q_MARGIN_INST_MIN_NE_15_MINS + FEC_Q_MARGIN_INST_MAX_NE_15_MINS + FEC_Q_MARGIN_MIN_NE_15_MINS + FEC_Q_MARGIN_MAX_NE_15_MINS + FEC_Q_MIN_NE_15_MINS + FEC_Q_MAX_NE_15_MINS + FEC_POST_FEC_BER_MAX_NE_1_DAY + FEC_POST_FEC_BER_MIN_NE_1_DAY + FEC_PRE_FEC_BER_MAX_NE_1_DAY + FEC_PRE_FEC_BER_MIN_NE_1_DAY + FEC_Q_MARGIN_INST_MIN_NE_1_DAY + FEC_Q_MARGIN_INST_MAX_NE_1_DAY + FEC_Q_MARGIN_MIN_NE_1_DAY + FEC_Q_MARGIN_MAX_NE_1_DAY + FEC_Q_MIN_NE_1_DAY + FEC_Q_MAX_NE_1_DAY + FEC_EC_WORD_NE_30_SEC + FEC_EC_WORD_NE_1_DAY + FEC_EC_WORD_NE_15_MINS + FEC_UNC_WORDS_NE_30_SEC + FEC_BIT_EC_NE_30_SEC + FEC_UNC_WORDS_NE_15_MINS + FEC_UNC_WORDS_NE_1_DAY + FEC_BIT_EC_NE_1_DAY + FEC_BIT_EC_NE_15_MINS + OTNSEC_OUT_BLOCKS_UN_PROTECTED_NE_1_DAY + OTNSEC_OUT_BLOCKS_PROTECTED_NE_1_DAY + OTNSEC_OUT_BLOCKS_ZEROED_NE_1_DAY + OTNSEC_OUT_BLOCKS_SEQUENCE_ERRORS_NE_1_DAY + OTNSEC_OUT_BLOCKS_UN_ENCRYPTED_NE_1_DAY + OTNSEC_OUT_BLOCKS_ENC_NE_1_DAY + OTNSEC_OUT_BLOCKS_NE_1_DAY + OTNSEC_IN_BLOCKS_ZEROED_NE_1_DAY + OTNSEC_IN_BLOCKS_AUTH_ERRORS_NE_1_DAY + OTNSEC_IN_BLOCKS_REPLAY_ERRORS_NE_1_DAY + OTNSEC_IN_BLOCKS_SEQUENCE_ERRORS_NE_1_DAY + OTNSEC_IN_BLOCKS_UN_PROTECTED_NE_1_DAY + OTNSEC_IN_BLOCKS_PROTECTED_NE_1_DAY + OTNSEC_IN_BLOCKS_UN_ENCRYPTED_NE_1_DAY + OTNSEC_IN_BLOCKS_ENC_NE_1_DAY + OTNSEC_IN_BLOCKS_NE_1_DAY + OTNSEC_OUT_BLOCKS_UN_PROTECTED_NE_15_MINS + OTNSEC_OUT_BLOCKS_PROTECTED_NE_15_MINS + OTNSEC_OUT_BLOCKS_ZEROED_NE_15_MINS + OTNSEC_OUT_BLOCKS_SEQUENCE_ERRORS_NE_15_MINS + OTNSEC_OUT_BLOCKS_UN_ENCRYPTED_NE_15_MINS + OTNSEC_OUT_BLOCKS_ENC_NE_15_MINS + OTNSEC_OUT_BLOCKS_NE_15_MINS + OTNSEC_IN_BLOCKS_ZEROED_NE_15_MINS + OTNSEC_IN_BLOCKS_AUTH_ERRORS_NE_15_MINS + OTNSEC_IN_BLOCKS_REPLAY_ERRORS_NE_15_MINS + OTNSEC_IN_BLOCKS_SEQUENCE_ERRORS_NE_15_MINS + OTNSEC_IN_BLOCKS_UN_PROTECTED_NE_15_MINS + OTNSEC_IN_BLOCKS_PROTECTED_NE_15_MINS + OTNSEC_IN_BLOCKS_UN_ENCRYPTED_NE_15_MINS + OTNSEC_IN_BLOCKS_ENC_NE_15_MINS + OTNSEC_IN_BLOCKS_NE_15_MINS + OTNSEC_OUT_BLOCKS_UN_PROTECTED_NE_30_SEC + OTNSEC_OUT_BLOCKS_PROTECTED_NE_30_SEC + OTNSEC_OUT_BLOCKS_ZEROED_NE_30_SEC + OTNSEC_OUT_BLOCKS_SEQUENCE_ERRORS_NE_30_SEC + OTNSEC_OUT_BLOCKS_UN_ENCRYPTED_NE_30_SEC + OTNSEC_OUT_BLOCKS_ENC_NE_30_SEC + OTNSEC_OUT_BLOCKS_NE_30_SEC + OTNSEC_IN_BLOCKS_ZEROED_NE_30_SEC + OTNSEC_IN_BLOCKS_AUTH_ERRORS_NE_30_SEC + OTNSEC_IN_BLOCKS_REPLAY_ERRORS_NE_30_SEC + OTNSEC_IN_BLOCKS_SEQUENCE_ERRORS_NE_30_SEC + OTNSEC_IN_BLOCKS_UN_PROTECTED_NE_30_SEC + OTNSEC_IN_BLOCKS_PROTECTED_NE_30_SEC + OTNSEC_IN_BLOCKS_UN_ENCRYPTED_NE_30_SEC + OTNSEC_IN_BLOCKS_ENC_NE_30_SEC + OTNSEC_IN_BLOCKS_NE_30_SEC + PRBS_LOST_COUNT_NE_30_SEC + PRBS_FOUND_COUNT_NE_30_SEC + PRBS_EBC_NE_30_SEC + PRBS_LOST_COUNT_NE_1_DAY + PRBS_FOUND_COUNT_NE_1_DAY + PRBS_EBC_NE_1_DAY + PRBS_LOST_COUNT_NE_15_MINS + PRBS_FOUND_COUNT_NE_15_MINS + PRBS_EBC_NE_15_MINS + UAS_TCM6_FE_30_SEC + UAS_TCM6_NE_30_SEC + FC_TCM6_FE_30_SEC + FC_TCM6_NE_30_SEC + SESR_TCM6_FE_30_SEC + SESR_TCM6_NE_30_SEC + ESR_TCM6_FE_30_SEC + ESR_TCM6_NE_30_SEC + SES_TCM6_FE_30_SEC + SES_TCM6_NE_30_SEC + ES_TCM6_FE_30_SEC + ES_TCM6_NE_30_SEC + BBER_TCM6_FE_30_SEC + BBER_TCM6_NE_30_SEC + BBE_TCM6_FE_30_SEC + BBE_TCM6_NE_30_SEC + UAS_TCM5_FE_30_SEC + UAS_TCM5_NE_30_SEC + FC_TCM5_FE_30_SEC + FC_TCM5_NE_30_SEC + SESR_TCM5_FE_30_SEC + SESR_TCM5_NE_30_SEC + ESR_TCM5_FE_30_SEC + ESR_TCM5_NE_30_SEC + SES_TCM5_FE_30_SEC + SES_TCM5_NE_30_SEC + ES_TCM5_FE_30_SEC + ES_TCM5_NE_30_SEC + BBER_TCM5_FE_30_SEC + BBER_TCM5_NE_30_SEC + BBE_TCM5_FE_30_SEC + BBE_TCM5_NE_30_SEC + UAS_TCM4_FE_30_SEC + UAS_TCM4_NE_30_SEC + FC_TCM4_FE_30_SEC + FC_TCM4_NE_30_SEC + SESR_TCM4_FE_30_SEC + SESR_TCM4_NE_30_SEC + ESR_TCM4_FE_30_SEC + ESR_TCM4_NE_30_SEC + SES_TCM4_FE_30_SEC + SES_TCM4_NE_30_SEC + ES_TCM4_FE_30_SEC + ES_TCM4_NE_30_SEC + BBER_TCM4_FE_30_SEC + BBER_TCM4_NE_30_SEC + BBE_TCM4_FE_30_SEC + BBE_TCM4_NE_30_SEC + UAS_TCM3_FE_30_SEC + UAS_TCM3_NE_30_SEC + FC_TCM3_FE_30_SEC + FC_TCM3_NE_30_SEC + SESR_TCM3_FE_30_SEC + SESR_TCM3_NE_30_SEC + ESR_TCM3_FE_30_SEC + ESR_TCM3_NE_30_SEC + SES_TCM3_FE_30_SEC + SES_TCM3_NE_30_SEC + ES_TCM3_FE_30_SEC + ES_TCM3_NE_30_SEC + BBER_TCM3_FE_30_SEC + BBER_TCM3_NE_30_SEC + BBE_TCM3_FE_30_SEC + BBE_TCM3_NE_30_SEC + UAS_TCM2_FE_30_SEC + UAS_TCM2_NE_30_SEC + FC_TCM2_FE_30_SEC + FC_TCM2_NE_30_SEC + SESR_TCM2_FE_30_SEC + SESR_TCM2_NE_30_SEC + ESR_TCM2_FE_30_SEC + ESR_TCM2_NE_30_SEC + SES_TCM2_FE_30_SEC + SES_TCM2_NE_30_SEC + ES_TCM2_FE_30_SEC + ES_TCM2_NE_30_SEC + BBER_TCM2_FE_30_SEC + BBER_TCM2_NE_30_SEC + BBE_TCM2_FE_30_SEC + BBE_TCM2_NE_30_SEC + UAS_TCM1_FE_30_SEC + UAS_TCM1_NE_30_SEC + FC_TCM1_FE_30_SEC + FC_TCM1_NE_30_SEC + SESR_TCM1_FE_30_SEC + SESR_TCM1_NE_30_SEC + ESR_TCM1_FE_30_SEC + ESR_TCM1_NE_30_SEC + SES_TCM1_FE_30_SEC + SES_TCM1_NE_30_SEC + ES_TCM1_FE_30_SEC + ES_TCM1_NE_30_SEC + BBER_TCM1_FE_30_SEC + BBER_TCM1_NE_30_SEC + BBE_TCM1_FE_30_SEC + BBE_TCM1_NE_30_SEC + UAS_TCM6_FE_1_DAY + UAS_TCM6_NE_1_DAY + UAS_TCM6_FE_15_MINS + UAS_TCM6_NE_15_MINS + UAS_TCM5_FE_1_DAY + UAS_TCM5_NE_1_DAY + UAS_TCM5_FE_15_MINS + UAS_TCM5_NE_15_MINS + UAS_TCM4_FE_1_DAY + UAS_TCM4_NE_1_DAY + UAS_TCM4_FE_15_MINS + UAS_TCM4_NE_15_MINS + UAS_TCM3_FE_1_DAY + UAS_TCM3_NE_1_DAY + UAS_TCM3_FE_15_MINS + UAS_TCM3_NE_15_MINS + UAS_TCM2_FE_1_DAY + UAS_TCM2_NE_1_DAY + UAS_TCM2_FE_15_MINS + UAS_TCM2_NE_15_MINS + UAS_TCM1_FE_1_DAY + UAS_TCM1_NE_1_DAY + UAS_TCM1_FE_15_MINS + UAS_TCM1_NE_15_MINS + FC_TCM6_FE_1_DAY + FC_TCM6_NE_1_DAY + FC_TCM6_FE_15_MINS + FC_TCM6_NE_15_MINS + FC_TCM5_FE_1_DAY + FC_TCM5_NE_1_DAY + FC_TCM5_FE_15_MINS + FC_TCM5_NE_15_MINS + FC_TCM4_FE_1_DAY + FC_TCM4_NE_1_DAY + FC_TCM4_FE_15_MINS + FC_TCM4_NE_15_MINS + FC_TCM3_FE_1_DAY + FC_TCM3_NE_1_DAY + FC_TCM3_FE_15_MINS + FC_TCM3_NE_15_MINS + FC_TCM2_FE_1_DAY + FC_TCM2_NE_1_DAY + FC_TCM2_FE_15_MINS + FC_TCM2_NE_15_MINS + FC_TCM1_FE_1_DAY + FC_TCM1_NE_1_DAY + FC_TCM1_FE_15_MINS + FC_TCM1_NE_15_MINS + SESR_TCM6_FE_1_DAY + SESR_TCM6_NE_1_DAY + SESR_TCM6_FE_15_MINS + SESR_TCM6_NE_15_MINS + SESR_TCM5_FE_1_DAY + SESR_TCM5_NE_1_DAY + SESR_TCM5_FE_15_MINS + SESR_TCM5_NE_15_MINS + SESR_TCM4_FE_1_DAY + SESR_TCM4_NE_1_DAY + SESR_TCM4_FE_15_MINS + SESR_TCM4_NE_15_MINS + SESR_TCM3_FE_1_DAY + SESR_TCM3_NE_1_DAY + SESR_TCM3_FE_15_MINS + SESR_TCM3_NE_15_MINS + SESR_TCM2_FE_1_DAY + SESR_TCM2_NE_1_DAY + SESR_TCM2_FE_15_MINS + SESR_TCM2_NE_15_MINS + SESR_TCM1_FE_1_DAY + SESR_TCM1_NE_1_DAY + SESR_TCM1_FE_15_MINS + SESR_TCM1_NE_15_MINS + ESR_TCM6_FE_1_DAY + ESR_TCM6_NE_1_DAY + ESR_TCM6_FE_15_MINS + ESR_TCM6_NE_15_MINS + ESR_TCM5_FE_1_DAY + ESR_TCM5_NE_1_DAY + ESR_TCM5_FE_15_MINS + ESR_TCM5_NE_15_MINS + ESR_TCM4_FE_1_DAY + ESR_TCM4_NE_1_DAY + ESR_TCM4_FE_15_MINS + ESR_TCM4_NE_15_MINS + ESR_TCM3_FE_1_DAY + ESR_TCM3_NE_1_DAY + ESR_TCM3_FE_15_MINS + ESR_TCM3_NE_15_MINS + ESR_TCM2_FE_1_DAY + ESR_TCM2_NE_1_DAY + ESR_TCM2_FE_15_MINS + ESR_TCM2_NE_15_MINS + ESR_TCM1_FE_1_DAY + ESR_TCM1_NE_1_DAY + ESR_TCM1_FE_15_MINS + ESR_TCM1_NE_15_MINS + SES_TCM6_FE_1_DAY + SES_TCM6_NE_1_DAY + SES_TCM6_FE_15_MINS + SES_TCM6_NE_15_MINS + SES_TCM5_FE_1_DAY + SES_TCM5_NE_1_DAY + SES_TCM5_FE_15_MINS + SES_TCM5_NE_15_MINS + SES_TCM4_FE_1_DAY + SES_TCM4_NE_1_DAY + SES_TCM4_FE_15_MINS + SES_TCM4_NE_15_MINS + SES_TCM3_FE_1_DAY + SES_TCM3_NE_1_DAY + SES_TCM3_FE_15_MINS + SES_TCM3_NE_15_MINS + SES_TCM2_FE_1_DAY + SES_TCM2_NE_1_DAY + SES_TCM2_FE_15_MINS + SES_TCM2_NE_15_MINS + SES_TCM1_FE_1_DAY + SES_TCM1_NE_1_DAY + SES_TCM1_FE_15_MINS + SES_TCM1_NE_15_MINS + ES_TCM6_FE_1_DAY + ES_TCM6_NE_1_DAY + ES_TCM6_FE_15_MINS + ES_TCM6_NE_15_MINS + ES_TCM5_FE_1_DAY + ES_TCM5_NE_1_DAY + ES_TCM5_FE_15_MINS + ES_TCM5_NE_15_MINS + ES_TCM4_FE_1_DAY + ES_TCM4_NE_1_DAY + ES_TCM4_FE_15_MINS + ES_TCM4_NE_15_MINS + ES_TCM3_FE_1_DAY + ES_TCM3_NE_1_DAY + ES_TCM3_FE_15_MINS + ES_TCM3_NE_15_MINS + ES_TCM2_FE_1_DAY + ES_TCM2_NE_1_DAY + ES_TCM2_FE_15_MINS + ES_TCM2_NE_15_MINS + ES_TCM1_FE_1_DAY + ES_TCM1_NE_1_DAY + ES_TCM1_FE_15_MINS + ES_TCM1_NE_15_MINS + BBER_TCM6_FE_1_DAY + BBER_TCM6_NE_1_DAY + BBER_TCM6_FE_15_MINS + BBER_TCM6_NE_15_MINS + BBER_TCM5_FE_1_DAY + BBER_TCM5_NE_1_DAY + BBER_TCM5_FE_15_MINS + BBER_TCM5_NE_15_MINS + BBER_TCM4_FE_1_DAY + BBER_TCM4_NE_1_DAY + BBER_TCM4_FE_15_MINS + BBER_TCM4_NE_15_MINS + BBER_TCM3_FE_1_DAY + BBER_TCM3_NE_1_DAY + BBER_TCM3_FE_15_MINS + BBER_TCM3_NE_15_MINS + BBER_TCM2_FE_1_DAY + BBER_TCM2_NE_1_DAY + BBER_TCM2_FE_15_MINS + BBER_TCM2_NE_15_MINS + BBER_TCM1_FE_1_DAY + BBER_TCM1_NE_1_DAY + BBER_TCM1_FE_15_MINS + BBER_TCM1_NE_15_MINS + BBE_TCM6_FE_1_DAY + BBE_TCM6_NE_1_DAY + BBE_TCM6_FE_15_MINS + BBE_TCM6_NE_15_MINS + BBE_TCM5_FE_1_DAY + BBE_TCM5_NE_1_DAY + BBE_TCM5_FE_15_MINS + BBE_TCM5_NE_15_MINS + BBE_TCM4_FE_1_DAY + BBE_TCM4_NE_1_DAY + BBE_TCM4_FE_15_MINS + BBE_TCM4_NE_15_MINS + BBE_TCM3_FE_1_DAY + BBE_TCM3_NE_1_DAY + BBE_TCM3_FE_15_MINS + BBE_TCM3_NE_15_MINS + BBE_TCM2_FE_1_DAY + BBE_TCM2_NE_1_DAY + BBE_TCM2_FE_15_MINS + BBE_TCM2_NE_15_MINS + BBE_TCM1_FE_1_DAY + BBE_TCM1_NE_1_DAY + BBE_TCM1_FE_15_MINS + BBE_TCM1_NE_15_MINS + BBER_PM_FE_30_SEC + SESR_PM_FE_30_SEC + ESR_PM_FE_30_SEC + FC_PM_FE_30_SEC + BBE_PM_FE_30_SEC + UAS_PM_FE_30_SEC + SES_PM_FE_30_SEC + ES_PM_FE_30_SEC + BBER_PM_NE_30_SEC + SESR_PM_NE_30_SEC + ESR_PM_NE_30_SEC + FC_PM_NE_30_SEC + BBE_PM_NE_30_SEC + UAS_PM_NE_30_SEC + SES_PM_NE_30_SEC + ES_PM_NE_30_SEC + BBER_PM_FE_1_DAY + SESR_PM_FE_1_DAY + ESR_PM_FE_1_DAY + FC_PM_FE_1_DAY + BBE_PM_FE_1_DAY + UAS_PM_FE_1_DAY + SES_PM_FE_1_DAY + ES_PM_FE_1_DAY + BBER_PM_NE_1_DAY + SESR_PM_NE_1_DAY + ESR_PM_NE_1_DAY + FC_PM_NE_1_DAY + BBE_PM_NE_1_DAY + UAS_PM_NE_1_DAY + SES_PM_NE_1_DAY + ES_PM_NE_1_DAY + BBER_PM_FE_15_MINS + SESR_PM_FE_15_MINS + ESR_PM_FE_15_MINS + FC_PM_FE_15_MINS + BBE_PM_FE_15_MINS + UAS_PM_FE_15_MINS + SES_PM_FE_15_MINS + ES_PM_FE_15_MINS + BBER_PM_NE_15_MINS + SESR_PM_NE_15_MINS + ESR_PM_NE_15_MINS + FC_PM_NE_15_MINS + BBE_PM_NE_15_MINS + UAS_PM_NE_15_MINS + SES_PM_NE_15_MINS + ES_PM_NE_15_MINS + BBER_SM_FE_30_SEC + SESR_SM_FE_30_SEC + ESR_SM_FE_30_SEC + FC_SM_FE_30_SEC + BBE_SM_FE_30_SEC + UAS_SM_FE_30_SEC + SES_SM_FE_30_SEC + ES_SM_FE_30_SEC + BBER_SM_NE_30_SEC + SESR_SM_NE_30_SEC + ESR_SM_NE_30_SEC + FC_SM_NE_30_SEC + BBE_SM_NE_30_SEC + UAS_SM_NE_30_SEC + SES_SM_NE_30_SEC + ES_SM_NE_30_SEC + BBER_SM_FE_1_DAY + SESR_SM_FE_1_DAY + ESR_SM_FE_1_DAY + FC_SM_FE_1_DAY + BBE_SM_FE_1_DAY + UAS_SM_FE_1_DAY + SES_SM_FE_1_DAY + ES_SM_FE_1_DAY + BBER_SM_NE_1_DAY + SESR_SM_NE_1_DAY + ESR_SM_NE_1_DAY + FC_SM_NE_1_DAY + BBE_SM_NE_1_DAY + UAS_SM_NE_1_DAY + SES_SM_NE_1_DAY + ES_SM_NE_1_DAY + BBER_SM_FE_15_MINS + SESR_SM_FE_15_MINS + ESR_SM_FE_15_MINS + FC_SM_FE_15_MINS + BBE_SM_FE_15_MINS + UAS_SM_FE_15_MINS + SES_SM_FE_15_MINS + ES_SM_FE_15_MINS + BBER_SM_NE_15_MINS + SESR_SM_NE_15_MINS + ESR_SM_NE_15_MINS + FC_SM_NE_15_MINS + BBE_SM_NE_15_MINS + UAS_SM_NE_15_MINS + SES_SM_NE_15_MINS + ES_SM_NE_15_MINS + G709_FEC_UNCWORD + G709_ADDTNL_PARENT_DUMMY + G709_CRYPTO_INDEX_MISMATCH + G709_CRYPTO_KEY_EXPIRED + G709_SF_BER_PM + G709_SD_BER_PM + G709_SF_BER_TCM6 + G709_SD_BER_TCM6 + G709_TCM6_TIM + G709_TCM6_BDI + G709_TCM6_BIAE + G709_TCM6_IAE + G709_TCM6_LCK + G709_TCM6_OCI + G709_TCM6_LTC + G709_TCM6_AIS + G709_SF_BER_TCM5 + G709_SD_BER_TCM5 + G709_TCM5_TIM + G709_TCM5_BDI + G709_TCM5_BIAE + G709_TCM5_IAE + G709_TCM5_LCK + G709_TCM5_OCI + G709_TCM5_LTC + G709_TCM5_AIS + G709_SF_BER_TCM4 + G709_SD_BER_TCM4 + G709_TCM4_TIM + G709_TCM4_BDI + G709_TCM4_BIAE + G709_TCM4_IAE + G709_TCM4_LCK + G709_TCM4_OCI + G709_TCM4_LTC + G709_TCM4_AIS + G709_SF_BER_TCM3 + G709_SD_BER_TCM3 + G709_TCM3_TIM + G709_TCM3_BDI + G709_TCM3_BIAE + G709_TCM3_IAE + G709_TCM3_LCK + G709_TCM3_OCI + G709_TCM3_LTC + G709_TCM3_AIS + G709_SF_BER_TCM2 + G709_SD_BER_TCM2 + G709_TCM2_TIM + G709_TCM2_BDI + G709_TCM2_BIAE + G709_TCM2_IAE + G709_TCM2_LCK + G709_TCM2_OCI + G709_TCM2_LTC + G709_TCM2_AIS + G709_SF_BER_TCM1 + G709_SD_BER_TCM1 + G709_TCM1_TIM + G709_TCM1_BDI + G709_TCM1_BIAE + G709_TCM1_IAE + G709_TCM1_LCK + G709_TCM1_OCI + G709_TCM1_LTC + G709_TCM1_AIS + G709_PM_AS_MT + G709_OPU_CSF + G709_PM_BIAE + G709_PM_IAE + G709_OPU_PTIM + G709_PM_TIM + G709_PM_BDI + G709_PM_LCK + G709_PM_OCI + G709_PM_AIS + G709_INV_MUX_DUMMY + G709_FLEXO_RDI + G709_FLEXO_LOM + G709_FLEXO_LOF + G709_FLEXO_MM + G709_FLEXO_GIDM + G709_AS_MT + G709_FECMISMATCH + G709_SF_BER_SM + G709_SD_BER_SM + G709_TIM + G709_BDI + G709_BIAE + G709_IAE + G709_LOM + G709_LOF + G709_AIS + G709_LOS + FIBRE_CHANNEL_NOS + FIBRE_CHANNEL_SIGLOSS + FIBRE_CHANNEL_RF + FIBRE_CHANNEL_LF + FIBRE_CHANNEL_PCS_ERROR + FIBRE_CHANNEL_HI_BER + FIBRE_CHANNEL_SYNCLOSS + CPRI_SDI + CPRI_RAI + CPRI_LOF + CPRI_LOS + OTS_AS_MT + OTS_APC_RUNNING + OTS_SWITCH_TO_PROTECT + OTS_APC_CONFIG_MISMATCH + OTS_APC_DISABLED + OTS_AUTO_POW_RED + OTS_AUTO_LASER_SHUT + OTS_AMPLI_GAIN_HIGH + OTS_AMPLI_GAIN_LOW + OTS_RX_LOC + OTS_RX_LOS_P + OTS_RX_POWER_FAIL_LOW + OTS_TX_POWER_FAIL_LOW + "; + } + leaf sas { + type enumeration { + enum "UNKNOWN" { + value 0; + description + "Unkown severity"; + } + enum "NONREPORTED" { + value 1; + description + "Non reported severity"; + } + enum "NONFAULTED" { + value 2; + description + "Non faulted severity"; + } + enum "MINOR" { + value 3; + description + "Minor severity"; + } + enum "MAJOR" { + value 4; + description + "Major severity"; + } + enum "CRITICAL" { + value 5; + description + "Critical severity"; + } + } + mandatory true; + description + "Service affecting fault severity"; + } + leaf nsas { + type enumeration { + enum "UNKNOWN" { + value 0; + description + "Unkown severity"; + } + enum "NONREPORTED" { + value 1; + description + "Non reported severity"; + } + enum "NONFAULTED" { + value 2; + description + "Non faulted severity"; + } + enum "MINOR" { + value 3; + description + "Minor severity"; + } + enum "MAJOR" { + value 4; + description + "Major severity"; + } + enum "CRITICAL" { + value 5; + description + "Critical severity"; + } + } + mandatory true; + description + "Not service affecting fault severity"; + } + } + } + } + } + } + leaf description { + type string { + length "1..128" { + description + "Fault profile description"; + } + } + description + "Fault profile description"; + } + container apply { + description + "Apply fault profile"; + list rack { + key "rack-number"; + description + "rack numnber"; + leaf rack-number { + type uint32 { + range "0..1" { + description + "rack number"; + } + } + description + "rack number"; + } + container slots { + description + "physical rack slot"; + list slot { + key "slot"; + description + "physical rack slot"; + leaf slot { + type string { + pattern "(LC[0-9]+)|ALL"; + } + description + "physical rack slot"; + } + container propagate { + presence "Indicates a propagate node is configured."; + description + "Apply fault profile on child entities of card"; + } + } + } + container slot-ports { + description + "physical rack slot and port"; + list slot-port { + key "slot port"; + description + "physical rack slot and port"; + leaf slot { + type string { + pattern "(LC[0-9]+)"; + } + description + "slot number"; + } + leaf port { + type uint32 { + range "0..32" { + description + "physical port"; + } + } + description + "physical port"; + } + container propagate { + presence "Indicates a propagate node is configured."; + description + "Apply fault profile on child entities"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-filesystem-inventory-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-filesystem-inventory-cfg.yang new file mode 100644 index 000000000..04c1b92d7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-filesystem-inventory-cfg.yang @@ -0,0 +1,122 @@ +module Cisco-IOS-XR-um-filesystem-inventory-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-filesystem-inventory-cfg"; + prefix um-filesystem-inventory-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR filesystem-inventory package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-11-15 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container filesystem-inventory { + presence "Indicates a filesystem-inventory node is configured."; + description + "filesystem inventory configuration commands"; + leaf snapshot-interval { + type uint32 { + range "1..720" { + description + "Snapshot Time interval in 1 hour blocks(e.g, 2 is 120 minutes)"; + } + } + description + "Time interval for generating snapshot"; + } + container snapshot-type { + description + "Type of snapshot to be taken at periodic intervals. Default is incremental"; + container full { + must "not(../incremental)"; + presence "Indicates a full node is configured."; + description + "Full snapshot generation at periodic intervals"; + } + container incremental { + must "not(../full)"; + presence "Indicates a incremental node is configured."; + description + "Incremental snapshot generation at periodic intervals"; + } + } + container on-demand { + description + "Set of directories to generate on-demand snapshot"; + container dir-sets { + description + "Directory set number for on demand"; + list dir-set { + key "dir-set-number"; + description + "Directory set number for on demand"; + leaf dir-set-number { + type uint32 { + range "1..5" { + description + "Dir set id"; + } + } + description + "Directory set number for on demand"; + } + leaf value { + type string { + length "1..800" { + description + "Space separated directory set(enclosed in quotes)"; + } + } + mandatory true; + description + "List of directories to generate on-demand snapshot for"; + } + } + } + } + leaf skip-list { + type string { + length "1..800" { + description + "List of directories to be skipped. Directory names should be space separated and enclosed in quotes"; + } + } + description + "List of directories to be skipped while generating snapshot. Directory names should be space separated and enclosed in quotes"; + } + leaf skip-files { + type string { + length "1..800" { + description + "List of files to be skipped. File names should be space separated and enclosed in quotes"; + } + } + description + "List of files to be skipped while generating snapshot. File names should be space separated and enclosed in quotes"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-flow-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-flow-cfg.yang new file mode 100644 index 000000000..e7feaa053 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-flow-cfg.yang @@ -0,0 +1,1957 @@ +module Cisco-IOS-XR-um-flow-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-flow-cfg"; + prefix um-flow-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-if-l2transport-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR flow package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-11 { + description + "Added export source port related configuration + 2022-07-11 + Added missing description statement to nodes + 2022-05-17 + Added container source-address for IPv4 address and IPv6 address under flow exporter-map + 2022-03-21 + - Updated range value of sample-header size under sflow options + 2022-01-19 + - Added extended-ipv4-tunnel-egress and + extended-ipv6-tunnel-egress container under sflow options"; + semver:module-version "2.0.1m"; + } + revision 2021-03-03 { + description + "- Added class-table container under options"; + semver:module-version "2.0.0"; + } + revision 2020-06-15 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature nf_parser_verify_wrapper_allow_sflow_kw_generic { + description + "nf parser verify wrapper allow sflow kw generic"; + } + + feature netflow_pd_perf_traffic_supported { + description + "netflow pd perf traffic supported"; + } + + feature netflow_pd_allow_option_kw { + description + "netflow pd allow option kw"; + } + + feature netflow_pd_allow_dba_kw { + description + "netflow pd allow dba kw"; + } + + feature netflow_pd_allow_dba_tos_kw { + description + "netflow pd allow dba tos kw"; + } + + feature netflow_pd_allow_as_kw { + description + "netflow pd allow as kw"; + } + + feature netflow_pd_allow_protocol_port_kw { + description + "netflow pd allow protocol port kw"; + } + + feature netflow_pd_allow_prefix_kw { + description + "netflow pd allow prefix kw"; + } + + feature netflow_pd_allow_source_prefix_kw { + description + "netflow pd allow source prefix kw"; + } + + feature netflow_pd_allow_destination_prefix_kw { + description + "netflow pd allow destination prefix kw"; + } + + feature netflow_pd_allow_as_tos_kw { + description + "netflow pd allow as tos kw"; + } + + feature netflow_pd_allow_protocol_port_tos_kw { + description + "netflow pd allow protocol port tos kw"; + } + + feature netflow_pd_allow_prefix_tos_kw { + description + "netflow pd allow prefix tos kw"; + } + + feature netflow_pd_allow_source_prefix_tos_kw { + description + "netflow pd allow source prefix tos kw"; + } + + feature netflow_pd_allow_destination_prefix_tos_kw { + description + "netflow pd allow destination prefix tos kw"; + } + + feature netflow_pd_allow_prefix_port_kw { + description + "netflow pd allow prefix port kw"; + } + + feature netflow_pd_allow_bgp_nexthop_tos_kw { + description + "netflow pd allow bgp nexthop tos kw"; + } + + feature nf_parser_verify_wrapper_allow_ipv4gtp_kw_generic { + description + "nf parser verify wrapper allow ipv4gtp kw generic"; + } + + feature netflow_pd_allow_ipv6_kw { + description + "netflow pd allow ipv6 kw"; + } + + feature netflow_pd_allow_ipv6dba_kw { + description + "netflow pd allow ipv6dba kw"; + } + + feature nf_parser_verify_wrapper_allow_ipv6gtp_kw_generic { + description + "nf parser verify wrapper allow ipv6gtp kw generic"; + } + + feature netflow_pd_allow_mpls_kw { + description + "netflow pd allow mpls kw"; + } + + feature nf_parser_verify_wrapper_allow_record_mapt_kw { + description + "nf parser verify wrapper allow record mapt kw"; + } + + feature nf_parser_verify_wrapper_allow_fmm_l2_record { + description + "nf parser verify wrapper allow fmm l2 record"; + } + + feature netflow_if_supported { + description + "netflow if supported"; + } + + feature nf_parser_verify_wrapper_allow_intf_fmon_ingress { + description + "nf parser verify wrapper allow intf fmon ingress"; + } + + feature nf_parser_verify_wrapper_allow_intf_fmon_egress { + description + "nf parser verify wrapper allow intf fmon egress"; + } + + feature netflow_pd_allow_sectiondata_kw { + description + "netflow pd allow sectiondata kw"; + } + + feature nf_parser_verify_wrapper_allow_intf_mapt_kw { + description + "nf parser verify wrapper allow intf mapt kw"; + } + + feature nf_parser_verify_wrapper_allow_l2_main_dlfs { + description + "nf parser verify wrapper allow l2 main dlfs"; + } + + grouping IF-BODY { + container flow { + if-feature "netflow_if_supported"; + description + "Netflow configuration"; + container ipv4 { + description + "IPV4 netflow configuration"; + container monitor { + description + "Specify a flow monitor for packets"; + container ingress-monitors { + description + "Apply flow monitor on incoming packets"; + list ingress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container ingress-monitor-samplers { + description + "Specify a flow monitor and sampler for incoming packets"; + list ingress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for incoming packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + container egress-monitors { + description + "Apply flow monitor on outgoing packets"; + list egress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container egress-monitor-samplers { + description + "Specify a flow monitor and sampler for outgoing packets"; + list egress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for outgoing packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + } + } + container mpls { + if-feature "netflow_pd_allow_mpls_kw"; + description + "MPLS netflow configuration"; + container monitor { + description + "Specify a flow monitor for packets"; + container ingress-monitors { + description + "Apply flow monitor on incoming packets"; + list ingress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container ingress-monitor-samplers { + description + "Specify a flow monitor and sampler for incoming packets"; + list ingress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for incoming packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + container egress-monitors { + description + "Apply flow monitor on outgoing packets"; + list egress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container egress-monitor-samplers { + description + "Specify a flow monitor and sampler for outgoing packets"; + list egress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for outgoing packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + } + } + container ipv6 { + if-feature "netflow_pd_allow_ipv6_kw"; + description + "IPV6 netflow configuration"; + container monitor { + description + "Specify a flow monitor for packets"; + container ingress-monitors { + description + "Apply flow monitor on incoming packets"; + list ingress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container ingress-monitor-samplers { + description + "Specify a flow monitor and sampler for incoming packets"; + list ingress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for incoming packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + container egress-monitors { + description + "Apply flow monitor on outgoing packets"; + list egress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container egress-monitor-samplers { + description + "Specify a flow monitor and sampler for outgoing packets"; + list egress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for outgoing packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + } + } + container datalinkframesection { + if-feature "netflow_pd_allow_sectiondata_kw"; + description + "Data link section netflow configuration"; + container monitor { + description + "Specify a flow monitor for packets"; + container ingress-monitors { + description + "Apply flow monitor on incoming packets"; + list ingress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container ingress-monitor-samplers { + description + "Specify a flow monitor and sampler for incoming packets"; + list ingress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for incoming packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + container egress-monitors { + description + "Apply flow monitor on outgoing packets"; + list egress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container egress-monitor-samplers { + description + "Specify a flow monitor and sampler for outgoing packets"; + list egress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for outgoing packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + } + } + container map-t { + if-feature "nf_parser_verify_wrapper_allow_intf_mapt_kw"; + description + "Map-t netflow configuration"; + container monitor { + description + "Specify a flow monitor for packets"; + container ingress-monitors { + description + "Apply flow monitor on incoming packets"; + list ingress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container ingress-monitor-samplers { + description + "Specify a flow monitor and sampler for incoming packets"; + list ingress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for incoming packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + container egress-monitors { + description + "Apply flow monitor on outgoing packets"; + list egress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container egress-monitor-samplers { + description + "Specify a flow monitor and sampler for outgoing packets"; + list egress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for outgoing packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + } + } + } + } + + grouping L2TRANS-BODY { + container flow { + description + "Netflow configuration"; + container datalinkframesection { + if-feature "nf_parser_verify_wrapper_allow_l2_main_dlfs"; + description + "Data link section netflow configuration"; + container monitor { + description + "Specify a flow monitor for packets"; + container ingress-monitors { + description + "Apply flow monitor on incoming packets"; + list ingress-monitor { + key "monitor-map-name"; + description + "Specify a flow monitor for packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + } + } + container ingress-monitor-samplers { + description + "Specify a flow monitor and sampler for incoming packets"; + list ingress-monitor-sampler { + key "monitor-map-name sampler-map-name"; + description + "Specify a flow monitor and sampler for incoming packets"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Flow monitor map name"; + } + } + description + "Specify a flow monitor for packets"; + } + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Sampler map name"; + } + } + description + "Specify a sampler for packets"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface/a2:l2transport" { + uses L2TRANS-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure/a2:l2transport" { + uses L2TRANS-BODY; + } + container flow { + description + "Configure a flexible flow object"; + container exporter-maps { + description + "Configure a flow exporter map"; + list exporter-map { + key "exporter-map-name"; + description + "Exporter map name"; + leaf exporter-map-name { + type xr:Cisco-ios-xr-string { + length "1..90" { + description + "Exporter map name"; + } + } + description + "Exporter map name"; + } + container destination { + description + "Export destination configuration"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "Destination IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "Destination IPv6 address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name string"; + } + } + description + "Configure VRF to be used for reaching export destination"; + } + } + leaf source { + type xr:Interface-name; + description + "Source interface whose address can be used as source address for export packets"; + } + container source-address { + description + "Source address for export packets (has higher precedence than address from source interface)"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "Source IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "Source IPv6 address"; + } + } + leaf dscp { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + description + "Specify DSCP value for ipv4 export packets or traffic-class for ipv6 export packets"; + } + container transport { + description + "Specify the transport protocol for export packets"; + leaf udp { + type uint32 { + range "1024..65535" { + description + "Destination UDP port value"; + } + } + description + "Use UDP as transport protocol"; + } + container udp-source-port { + description + "Use UDP as transport protocol"; + leaf source-port { + type uint32 { + range "49152..65535" { + description + "UDP source port value"; + } + } + description + "UDP source port configuration"; + } + container multiple { + description + "Use multiple udp source ports for export packets"; + leaf first { + type uint32 { + range "49152..65535" { + description + "UDP source port value"; + } + } + description + "Specify the first port to use"; + } + leaf count { + type uint32 { + range "1..1024" { + description + "Number of source ports "; + } + } + description + "Specify the number of source ports to be used"; + } + } + } + } + leaf packet-length { + type uint32 { + range "512..9000" { + description + "Export Packet maximum L3 length, should conform to outgoing interface mtu"; + } + } + description + "Export Packet maximum L3 length, should conform to outgoing interface mtu"; + } + container dfbit { + description + "Specify Export Packet Do Not Fragment option"; + container set { + presence "Indicates a set node is configured."; + description + "Set Export Packet Do Not Fragment Flag"; + } + } + container version { + presence "Indicates a version node is configured."; + description + "Specify export version parameters"; + leaf export-format { + type enumeration { + enum "v9" { + value 9; + description + "Use version 9 export format"; + } + enum "ipfix" { + value 10; + description + "Use IPFIX export format"; + } + enum "sflow" { + value 11; + description + "Use sFlow export v5 format"; + } + enum "protobuf" { + value 12; + description + "Use protobuf export format"; + } + } + mandatory true; + description + "Specify export format"; + } + container template { + description + "Specify template export parameters"; + container data { + description + "Data template configuration options"; + leaf timeout { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify custom timeout for the template"; + } + } + container options { + description + "Options template configuration options"; + leaf timeout { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify custom timeout for the template"; + } + } + leaf timeout { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify custom timeout for the template"; + } + } + container options { + description + "Specify export of options template"; + container interface-table { + presence "Indicates a interface-table node is configured."; + description + "Export interface table"; + leaf timeout { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify export timeout"; + } + } + container sampler-table { + presence "Indicates a sampler-table node is configured."; + description + "Export sampler table"; + leaf timeout { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify export timeout"; + } + } + container class-table { + presence "Indicates a class-table node is configured."; + description + "Export class table"; + leaf timeout { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify export timeout"; + } + } + container vrf-table { + presence "Indicates a vrf-table node is configured."; + description + "Export VRF ID-to-name table"; + leaf timeout { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify export timeout"; + } + } + } + } + } + } + container monitor-map { + description + "Configure a flow monitor map"; + container performance-traffic { + if-feature "netflow_pd_perf_traffic_supported"; + description + "Configure a performance traffic flow monitor map"; + container monitor-maps { + description + "Monitor map name"; + list monitor-map { + key "monitor-map-name"; + description + "Monitor map name"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Monitor map name"; + } + } + description + "Monitor map name"; + } + container exporters { + description + "Specify flow exporter map name"; + list exporter { + key "exporter-name"; + description + "Specify flow exporter map name"; + leaf exporter-name { + type xr:Cisco-ios-xr-string { + length "1..90" { + description + "Exporter map name"; + } + } + description + "Specify flow exporter map name"; + } + } + } + container option { + if-feature "netflow_pd_allow_option_kw"; + description + "Select an optional feature for the flow cache"; + container outphysint { + presence "Indicates a outphysint node is configured."; + description + "export output interfaces as physical interfaces"; + } + container filtered { + presence "Indicates a filtered node is configured."; + description + "Enable filtering of records"; + } + container bgpattr { + presence "Indicates a bgpattr node is configured."; + description + "export bgp attributes AS_PATH and STD_COMMUNITY"; + } + container outbundlemember { + presence "Indicates a outbundlemember node is configured."; + description + "export output physical interfaces of bundle interface"; + } + } + container record { + description + "Specify a flow record map name"; + container default-mdi { + must "not(../default-rtp)"; + presence "Indicates a default-mdi node is configured."; + description + "Default MDI record format"; + } + container default-rtp { + must "not(../default-mdi)"; + presence "Indicates a default-rtp node is configured."; + description + "Default RTP record format"; + } + } + container sflow { + if-feature "nf_parser_verify_wrapper_allow_sflow_kw_generic"; + description + "configure sFlow related parameters"; + container options { + presence "Indicates a options node is configured."; + description + "submode to configure sFlow related options"; + container extended-router { + presence "Indicates a extended-router node is configured."; + description + "Enable extended-router flow data type"; + } + container extended-gateway { + presence "Indicates a extended-gateway node is configured."; + description + "Enable extended-gateway flow data type"; + } + container extended-ipv4-tunnel-egress { + presence "Indicates a extended-ipv4-tunnel-egress node is configured."; + description + "Enable extended-ipv4-tunnel-egress flow data type"; + } + container extended-ipv6-tunnel-egress { + presence "Indicates a extended-ipv6-tunnel-egress node is configured."; + description + "Enable extended-ipv6-tunnel-egress flow data type"; + } + container if-counters { + description + "Enable if-counter counter sampling"; + leaf polling-interval { + type uint32 { + range "5..1800" { + description + "Periodicity in seconds to collect if-counters"; + } + } + description + "Enable if-counters counter sampling rate"; + } + } + container sample-header { + description + "Enable sample-header related options"; + leaf size { + type uint32 { + range "128..343" { + description + "Sample-header maximum size in bytes"; + } + } + description + "Specify maximum sample-header size to be exported"; + } + } + container input { + description + "Enable sflow packet input parameters related options"; + leaf ifindex { + type enumeration { + enum "physical" { + value 0; + description + "Use ifindex of the physical input interface"; + } + } + description + "Specify ifindex related options"; + } + } + container output { + description + "Enable sflow packet output parameters related options"; + leaf ifindex { + type enumeration { + enum "physical" { + value 0; + description + "Use ifindex of the physical output interface"; + } + } + description + "Specify ifindex related options"; + } + } + } + } + } + } + } + container monitor-maps { + description + "Monitor map name"; + list monitor-map { + key "monitor-map-name"; + description + "Monitor map name"; + leaf monitor-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Monitor map name"; + } + } + description + "Monitor map name"; + } + container exporters { + description + "Specify flow exporter map name"; + list exporter { + key "exporter-name"; + description + "Specify flow exporter map name"; + leaf exporter-name { + type xr:Cisco-ios-xr-string { + length "1..90" { + description + "Exporter map name"; + } + } + description + "Specify flow exporter map name"; + } + } + } + container option { + if-feature "netflow_pd_allow_option_kw"; + description + "Select an optional feature for the flow cache"; + container outphysint { + presence "Indicates a outphysint node is configured."; + description + "export output interfaces as physical interfaces"; + } + container filtered { + presence "Indicates a filtered node is configured."; + description + "Enable filtering of records"; + } + container bgpattr { + presence "Indicates a bgpattr node is configured."; + description + "export bgp attributes AS_PATH and STD_COMMUNITY"; + } + container outbundlemember { + presence "Indicates a outbundlemember node is configured."; + description + "export output physical interfaces of bundle interface"; + } + } + container record { + description + "Specify a flow record map name"; + container ipv4 { + must + "not(../datalinksectiondump or ../ipv6 + or ../mpls or ../map-t + or ../sflow or ../datalink-record + or ../default-rtp or ../default-mdi)"; + presence "Indicates a ipv4 node is configured."; + description + "IPv4 raw record format"; + container destination { + if-feature "netflow_pd_allow_dba_kw"; + must + "not(../destination-tos or ../as + or ../protocol-port or ../prefix + or ../source-prefix or ../destination-prefix + or ../as-tos or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a destination node is configured."; + description + "IPv4 Destination Based NetFlow Accounting"; + } + container destination-tos { + if-feature "netflow_pd_allow_dba_tos_kw"; + must + "not(../destination or ../as + or ../protocol-port or ../prefix + or ../source-prefix or ../destination-prefix + or ../as-tos or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a destination-tos node is configured."; + description + "IPv4 Destination Based NetFlow Accounting TOS"; + } + container as { + if-feature "netflow_pd_allow_as_kw"; + must + "not(../destination or ../destination-tos + or ../protocol-port or ../prefix + or ../source-prefix or ../destination-prefix + or ../as-tos or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a as node is configured."; + description + "Autonomous System based aggregation"; + } + container protocol-port { + if-feature "netflow_pd_allow_protocol_port_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../prefix + or ../source-prefix or ../destination-prefix + or ../as-tos or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a protocol-port node is configured."; + description + "Protocol-Port based aggregation"; + } + container prefix { + if-feature "netflow_pd_allow_prefix_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../source-prefix or ../destination-prefix + or ../as-tos or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a prefix node is configured."; + description + "Prefix based aggregation"; + } + container source-prefix { + if-feature "netflow_pd_allow_source_prefix_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../destination-prefix + or ../as-tos or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a source-prefix node is configured."; + description + "source prefix based aggregation"; + } + container destination-prefix { + if-feature "netflow_pd_allow_destination_prefix_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../as-tos or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a destination-prefix node is configured."; + description + "Destination prefix based aggregation"; + } + container as-tos { + if-feature "netflow_pd_allow_as_tos_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../protocol-port-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a as-tos node is configured."; + description + "AS-TOS based aggregation"; + } + container protocol-port-tos { + if-feature "netflow_pd_allow_protocol_port_tos_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../prefix-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a protocol-port-tos node is configured."; + description + "Protocol, port and tos based aggregation"; + } + container prefix-tos { + if-feature "netflow_pd_allow_prefix_tos_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../protocol-port-tos or ../source-prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a prefix-tos node is configured."; + description + "Prefix TOS based aggregation"; + } + container source-prefix-tos { + if-feature "netflow_pd_allow_source_prefix_tos_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../protocol-port-tos or ../prefix-tos + or ../destination-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a source-prefix-tos node is configured."; + description + "Source, Prefix and TOS based aggregation"; + } + container destination-prefix-tos { + if-feature "netflow_pd_allow_destination_prefix_tos_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../protocol-port-tos or ../prefix-tos + or ../source-prefix-tos or ../prefix-port + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a destination-prefix-tos node is configured."; + description + "Destination, prefix and tos based aggregation"; + } + container prefix-port { + if-feature "netflow_pd_allow_prefix_port_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../protocol-port-tos or ../prefix-tos + or ../source-prefix-tos or ../destination-prefix-tos + or ../bgp-nexthop-tos or ../peer-as + or ../gtp)"; + presence "Indicates a prefix-port node is configured."; + description + "Prefix port based aggregation"; + } + container bgp-nexthop-tos { + if-feature "netflow_pd_allow_bgp_nexthop_tos_kw"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../protocol-port-tos or ../prefix-tos + or ../source-prefix-tos or ../destination-prefix-tos + or ../prefix-port or ../peer-as + or ../gtp)"; + presence "Indicates a bgp-nexthop-tos node is configured."; + description + "BGP, nexthop and tos based aggregation"; + } + container peer-as { + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../protocol-port-tos or ../prefix-tos + or ../source-prefix-tos or ../destination-prefix-tos + or ../prefix-port or ../bgp-nexthop-tos + or ../gtp)"; + presence "Indicates a peer-as node is configured."; + description + "Record peer AS"; + } + container gtp { + if-feature "nf_parser_verify_wrapper_allow_ipv4gtp_kw_generic"; + must + "not(../destination or ../destination-tos + or ../as or ../protocol-port + or ../prefix or ../source-prefix + or ../destination-prefix or ../as-tos + or ../protocol-port-tos or ../prefix-tos + or ../source-prefix-tos or ../destination-prefix-tos + or ../prefix-port or ../bgp-nexthop-tos + or ../peer-as)"; + presence "Indicates a gtp node is configured."; + description + "IPV4 gtp record format"; + } + } + container datalinksectiondump { + must + "not(../ipv4 or ../ipv6 + or ../mpls or ../map-t + or ../sflow or ../datalink-record + or ../default-rtp or ../default-mdi)"; + presence "Indicates a datalinksectiondump node is configured."; + description + "dump data link section"; + } + container ipv6 { + if-feature "netflow_pd_allow_ipv6_kw"; + must + "not(../ipv4 or ../datalinksectiondump + or ../mpls or ../map-t + or ../sflow or ../datalink-record + or ../default-rtp or ../default-mdi)"; + presence "Indicates a ipv6 node is configured."; + description + "IPv6 raw record format"; + container destination { + if-feature "netflow_pd_allow_ipv6dba_kw"; + must "not(../peer-as or ../gtp)"; + presence "Indicates a destination node is configured."; + description + "IPv6 Destination Based NetFlow Accounting"; + } + container peer-as { + must "not(../destination or ../gtp)"; + presence "Indicates a peer-as node is configured."; + description + "Record peer AS"; + } + container gtp { + if-feature "nf_parser_verify_wrapper_allow_ipv6gtp_kw_generic"; + must "not(../destination or ../peer-as)"; + presence "Indicates a gtp node is configured."; + description + "IPV6 gtp record format"; + } + } + container mpls { + if-feature "netflow_pd_allow_mpls_kw"; + must + "not(../ipv4 or ../datalinksectiondump + or ../ipv6 or ../map-t + or ../sflow or ../datalink-record + or ../default-rtp or ../default-mdi)"; + presence "Indicates a mpls node is configured."; + description + "MPLS record format"; + container ipv4-fields { + must "not(../ipv6-fields or ../ipv4-ipv6-fields)"; + presence "Indicates a ipv4-fields node is configured."; + description + "MPLS with IPv4 fields format"; + } + container ipv6-fields { + must "not(../ipv4-fields or ../ipv4-ipv6-fields)"; + presence "Indicates a ipv6-fields node is configured."; + description + "MPLS with IPv6 fields format"; + } + container ipv4-ipv6-fields { + must "not(../ipv4-fields or ../ipv6-fields)"; + presence "Indicates a ipv4-ipv6-fields node is configured."; + description + "MPLS with IPv4 and IPv6 fields format"; + } + leaf labels { + type uint32 { + range "1..6" { + description + "Number of Labels to be used for Hashing"; + } + } + description + "Labels to be used for Hashing"; + } + } + container map-t { + if-feature "nf_parser_verify_wrapper_allow_record_mapt_kw"; + must + "not(../ipv4 or ../datalinksectiondump + or ../ipv6 or ../mpls + or ../sflow or ../datalink-record + or ../default-rtp or ../default-mdi)"; + presence "Indicates a map-t node is configured."; + description + "map-t translation based Netflow"; + } + container sflow { + if-feature "nf_parser_verify_wrapper_allow_sflow_kw_generic"; + must + "not(../ipv4 or ../datalinksectiondump + or ../ipv6 or ../mpls + or ../map-t or ../datalink-record + or ../default-rtp or ../default-mdi)"; + presence "Indicates a sflow node is configured."; + description + "sFlow based flow"; + } + container datalink-record { + if-feature "nf_parser_verify_wrapper_allow_fmm_l2_record"; + must + "not(../ipv4 or ../datalinksectiondump + or ../ipv6 or ../mpls + or ../map-t or ../sflow + or ../default-rtp or ../default-mdi)"; + presence "Indicates a datalink-record node is configured."; + description + "Layer2 traffic based flow"; + } + container default-rtp { + must + "not(../ipv4 or ../datalinksectiondump + or ../ipv6 or ../mpls + or ../map-t or ../sflow + or ../datalink-record or ../default-mdi)"; + presence "Indicates a default-rtp node is configured."; + description + "Default RTP record format"; + } + container default-mdi { + must + "not(../ipv4 or ../datalinksectiondump + or ../ipv6 or ../mpls + or ../map-t or ../sflow + or ../datalink-record or ../default-rtp)"; + presence "Indicates a default-mdi node is configured."; + description + "Default MDI record format"; + } + } + container cache { + description + "Specify flow cache attributes"; + leaf entries { + type uint32 { + range "4096..1000000" { + description + "Number of flow cache entries"; + } + } + description + "Specify the number of entries in the flow cache"; + } + container timeout { + description + "Specify the flow cache timeouts"; + leaf active { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify the active flow timeout"; + } + leaf inactive { + type uint32 { + range "0..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify the inactive flow timeout"; + } + leaf update { + type uint32 { + range "1..604800" { + description + "Timeout value in seconds"; + } + } + description + "Specify the update timeout"; + } + leaf rate-limit { + type uint32 { + range "1..1000000" { + description + "Entries per second"; + } + } + description + "Maximum number of entries to age each second"; + } + } + container permanent { + must "not(../immediate)"; + presence "Indicates a permanent node is configured."; + description + "Disable removal of entries from flow cache"; + } + container immediate { + must "not(../permanent)"; + presence "Indicates a immediate node is configured."; + description + "Immediate removal of entries from flow cache"; + } + } + container hw-cache { + description + "Specify hw-cache parameters if the flow has a hw-cache"; + container timeout { + description + "Specify the hw-cache related timeouts"; + leaf inactive { + type uint32 { + range "50..1800" { + description + "Timeout value in seconds"; + } + } + description + "Specify the inactive timeout"; + } + } + } + container sflow { + if-feature "nf_parser_verify_wrapper_allow_sflow_kw_generic"; + description + "configure sFlow related parameters"; + container options { + presence "Indicates a options node is configured."; + description + "submode to configure sFlow related options"; + container extended-router { + presence "Indicates a extended-router node is configured."; + description + "Enable extended-router flow data type"; + } + container extended-gateway { + presence "Indicates a extended-gateway node is configured."; + description + "Enable extended-gateway flow data type"; + } + container extended-ipv4-tunnel-egress { + presence "Indicates a extended-ipv4-tunnel-egress node is configured."; + description + "Enable extended-ipv4-tunnel-egress flow data type"; + } + container extended-ipv6-tunnel-egress { + presence "Indicates a extended-ipv6-tunnel-egress node is configured."; + description + "Enable extended-ipv6-tunnel-egress flow data type"; + } + container if-counters { + description + "Enable if-counter counter sampling"; + leaf polling-interval { + type uint32 { + range "5..1800" { + description + "Periodicity in seconds to collect if-counters"; + } + } + description + "Enable if-counters counter sampling rate"; + } + } + container sample-header { + description + "Enable sample-header related options"; + leaf size { + type uint32 { + range "128..343" { + description + "Sample-header maximum size in bytes"; + } + } + description + "Specify maximum sample-header size to be exported"; + } + } + container input { + description + "Enable sflow packet input parameters related options"; + leaf ifindex { + type enumeration { + enum "physical" { + value 0; + description + "Use ifindex of the physical input interface"; + } + } + description + "Specify ifindex related options"; + } + } + container output { + description + "Enable sflow packet output parameters related options"; + leaf ifindex { + type enumeration { + enum "physical" { + value 0; + description + "Use ifindex of the physical output interface"; + } + } + description + "Specify ifindex related options"; + } + } + } + } + } + } + } + } + container sampler-maps { + description + "Configure a sampler map"; + list sampler-map { + key "sampler-map-name"; + description + "Sampler map name"; + leaf sampler-map-name { + type xr:Cisco-ios-xr-string { + length "1..90" { + description + "Sampler map name"; + } + } + description + "Sampler map name"; + } + leaf random { + type uint32 { + range "1" { + description + "Number of packets to be sampled in the sampling interval"; + } + } + must "../out-of"; + description + "Use random mode for sampling packets"; + } + leaf out-of { + type uint32 { + range "1..262144" { + description + "Sampling interval in units of packets"; + } + } + must "../random"; + description + "Sample one packet out of"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-flowspec-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-flowspec-cfg.yang new file mode 100644 index 000000000..d4f7e9152 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-flowspec-cfg.yang @@ -0,0 +1,212 @@ +module Cisco-IOS-XR-um-flowspec-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-flowspec-cfg"; + prefix um-flowspec-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR flowspec package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-20 { + description + "Removed duplicate flowspec container under ipv4/ipv6"; + semver:module-version "2.0.0"; + } + revision 2021-01-05 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "FlowSpec configuration"; + container address-families { + description + "Address Family Identifier Type (IPv4/IPv6)"; + list address-family { + key "af-name"; + description + "Address Family Identifier Type (IPv4/IPv6)"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 FlowSpec"; + } + enum "ipv6" { + value 2; + description + "IPv6 FlowSpec"; + } + } + description + "Address Family Identifier Type (IPv4/IPv6)"; + } + container service-policies { + description + "Service Policy configuration"; + list service-policy { + key "type policy-name"; + leaf type { + type enumeration { + enum "pbr" { + value 2; + description + "PBR policy type"; + } + } + description + "Type of the service policy"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Policy map name"; + } + } + description + "Policy map name"; + } + container local { + presence "Indicates a local node is configured."; + description + "Only install locally, do not redistribute."; + } + } + } + container local-install { + description + "Local installation of FlowSpec policy"; + container interface-all { + presence "Indicates a interface-all node is configured."; + description + "Install FlowSpec policy on all interfaces"; + } + } + } + } + container vrfs { + description + "VRF configuration"; + list vrf { + key "vrf-name"; + description + "VRF configuration"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF Name"; + } + } + description + "VRF configuration"; + } + container address-families { + description + "Address Family Identifier Type (IPv4/IPv6)"; + list address-family { + key "af-name"; + description + "Address Family Identifier Type (IPv4/IPv6)"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 1; + description + "IPv4 FlowSpec"; + } + enum "ipv6" { + value 2; + description + "IPv6 FlowSpec"; + } + } + description + "Address Family Identifier Type (IPv4/IPv6)"; + } + container service-policies { + description + "Service Policy configuration"; + list service-policy { + key "type policy-name"; + leaf type { + type enumeration { + enum "pbr" { + value 2; + description + "PBR policy type"; + } + } + description + "Type of the service policy"; + } + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Policy map name"; + } + } + description + "Policy map name"; + } + container local { + presence "Indicates a local node is configured."; + description + "Only install locally, do not redistribute."; + } + } + } + container local-install { + description + "Local installation of FlowSpec policy"; + container interface-all { + presence "Indicates a interface-all node is configured."; + description + "Install FlowSpec policy on all interfaces"; + } + } + } + } + } + } + container local-install { + description + "Local installation of FlowSpec policy"; + container interface-all { + presence "Indicates a interface-all node is configured."; + description + "Install FlowSpec policy on all interfaces"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-frequency-synchronization-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-frequency-synchronization-cfg.yang new file mode 100644 index 000000000..3cf91d85f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-frequency-synchronization-cfg.yang @@ -0,0 +1,5224 @@ +module Cisco-IOS-XR-um-frequency-synchronization-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-frequency-synchronization-cfg"; + prefix um-frequency-synchronization-cfg; + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a2; + } + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR frequency-synchronization package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-17 { + description + "Added container port-parameters and shutdown"; + semver:module-version "2.0.0"; + } + revision 2021-01-06 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container frequency { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'CPRIoE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Frequency Synchronization configuration"; + container synchronization { + presence "Indicates a synchronization node is configured."; + description + "Frequency Synchronization configuration"; + container ssm { + description + "SSM configuration commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable sending of SSMs"; + } + } + leaf priority { + type uint32 { + range "1..254" { + description + "Source priority"; + } + } + description + "Source priority"; + } + leaf time-of-day-priority { + type uint32 { + range "1..254" { + description + "Source time-of-day priority"; + } + } + description + "Source time-of-day priority"; + } + container quality { + description + "Quality level configuration"; + container transmit { + description + "Set the quality level to be transmitted"; + container lowest { + description + "Specify the lowest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container highest { + description + "Specify the highest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container exact { + description + "Specify the exact QL value to use"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + } + container receive { + description + "Adjust the received quality level"; + container lowest { + description + "Specify the lowest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container highest { + description + "Specify the highest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container exact { + description + "Specify the exact QL value to use"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + } + } + leaf wait-to-restore { + type uint32 { + range "0..12" { + description + "Wait-to-restore time, in minutes"; + } + } + description + "Set the wait-to-restore time"; + } + container selection { + description + "Selection configuration commands"; + container input { + presence "Indicates a input node is configured."; + description + "Enable this source for selection"; + } + } + } + } + } + + grouping CONT-BODY { + container frequency { + when "../a1:controller-name[starts-with(text(),'SONET')]" { + tailf:dependency "../a1:controller-name"; + } + description + "Frequency Synchronization configuration"; + container synchronization { + presence "Indicates a synchronization node is configured."; + description + "Frequency Synchronization configuration"; + container ssm { + description + "SSM configuration commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable sending of SSMs"; + } + } + leaf priority { + type uint32 { + range "1..254" { + description + "Source priority"; + } + } + description + "Source priority"; + } + leaf time-of-day-priority { + type uint32 { + range "1..254" { + description + "Source time-of-day priority"; + } + } + description + "Source time-of-day priority"; + } + container quality { + description + "Quality level configuration"; + container transmit { + description + "Set the quality level to be transmitted"; + container lowest { + description + "Specify the lowest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container highest { + description + "Specify the highest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container exact { + description + "Specify the exact QL value to use"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + } + container receive { + description + "Adjust the received quality level"; + container lowest { + description + "Specify the lowest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container highest { + description + "Specify the highest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container exact { + description + "Specify the exact QL value to use"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + } + } + leaf wait-to-restore { + type uint32 { + range "0..12" { + description + "Wait-to-restore time, in minutes"; + } + } + description + "Set the wait-to-restore time"; + } + container selection { + description + "Selection configuration commands"; + container input { + presence "Indicates a input node is configured."; + description + "Enable this source for selection"; + } + } + } + } + } + + grouping LOCATION-BODY { + container clock-interface { + description + "Clock interface configuration commands"; + container syncs { + description + "Synchronization clock interface"; + list sync { + key "sync-id"; + description + "Synchronization clock interface"; + leaf sync-id { + type uint32 { + range "0..4294967295" { + description + "Clock interface port number"; + } + } + description + "Synchronization clock interface"; + } + container frequency { + description + "Frequency Synchronization configuration"; + container synchronization { + description + "Frequency Synchronization configuration"; + container ssm { + description + "SSM configuration commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable sending of SSMs"; + } + } + leaf priority { + type uint32 { + range "1..254" { + description + "Source priority"; + } + } + description + "Source priority"; + } + leaf time-of-day-priority { + type uint32 { + range "1..254" { + description + "Source time-of-day priority"; + } + } + description + "Source time-of-day priority"; + } + container quality { + description + "Quality level configuration"; + container transmit { + description + "Set the quality level to be transmitted"; + container lowest { + description + "Specify the lowest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container highest { + description + "Specify the highest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container exact { + description + "Specify the exact QL value to use"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + } + container receive { + description + "Adjust the received quality level"; + container lowest { + description + "Specify the lowest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container highest { + description + "Specify the highest acceptable QL value"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two or + ../../../../exact/itu-t/option/one or + ../../../../exact/itu-t/option/two/generation/one or + ../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two or + ../../../../../../exact/itu-t/option/one or + ../../../../../../exact/itu-t/option/two/generation/one or + ../../../../../../exact/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container exact { + description + "Specify the exact QL value to use"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + leaf one { + type enumeration { + enum "prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference timing clock"; + } + enum "ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment clock"; + } + enum "eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "dnu" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../two/generation/one or + ../two/generation/two or + ../../../../highest/itu-t/option/two/generation/one or + ../../../../highest/itu-t/option/two/generation/two or + ../../../../lowest/itu-t/option/one or + ../../../../lowest/itu-t/option/two/generation/one or + ../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + leaf one { + type enumeration { + enum "prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference source"; + } + enum "prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference timing clock"; + } + enum "e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; + } + enum "stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; + } + enum "st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self timed"; + } + enum "eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet equipment clock"; + } + enum "e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../two or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/two or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 1"; + } + leaf two { + type enumeration { + enum "prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference source"; + } + enum "prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference timing clock"; + } + enum "e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; + } + enum "stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; + } + enum "st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node clock"; + } + enum "st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self timed"; + } + enum "eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet equipment clock"; + } + enum "e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Ethernet ethernet equipment clock"; + } + enum "st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "dus" { + value 1; + description + "This signal should not be used for synchronization"; + } + } + must + "not(../../../one or + ../one or + ../../../../../../highest/itu-t/option/one or + ../../../../../../highest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/one or + ../../../../../../lowest/itu-t/option/two/generation/one or + ../../../../../../lowest/itu-t/option/two/generation/two)"; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + } + } + leaf wait-to-restore { + type uint32 { + range "0..12" { + description + "Wait-to-restore time, in minutes"; + } + } + description + "Set the wait-to-restore time"; + } + container selection { + description + "Selection configuration commands"; + container input { + presence "Indicates a input node is configured."; + description + "Enable this source for selection"; + } + } + } + } + container port-parameters { + description + "clock port parameter setting"; + container bits-input { + description + "BITS RX interface"; + container t1 { + description + "t1 mode"; + container esf { + description + "esf mode"; + container ami { + must "not(../b8zs)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container b8zs { + must "not(../ami)"; + presence "Indicates a b8zs node is configured."; + description + "b8zs mode"; + } + } + container d4 { + description + "d4 mode"; + container ami { + must "not(../b8zs)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container b8zs { + must "not(../ami)"; + presence "Indicates a b8zs node is configured."; + description + "b8zs mode"; + } + } + } + container e1 { + description + "e1 mode"; + container non-crc-4 { + description + "non-crc-4 mode"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container crc-4 { + description + "crc4 mode"; + container sa4 { + description + "SSM on Sa4 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa5 { + description + "SSM on Sa5 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa6 { + description + "SSM on Sa6 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa7 { + description + "SSM on Sa7 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa8 { + description + "SSM on Sa8 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + } + } + container two-m { + must "not(../sixty-four-k-input-only)"; + presence "Indicates a two-m node is configured."; + description + "2m mode"; + } + container sixty-four-k-input-only { + must "not(../two-m)"; + presence "Indicates a sixty-fourk-input-only node is configured."; + description + "64k-input-only mode"; + } + } + container bits-output { + description + "BITS TX interface"; + container t1 { + description + "t1 mode"; + container esf { + description + "esf mode"; + container ami { + description + "ami mode"; + container zero { + must + "not(../one or ../two + or ../three or ../four)"; + presence "Indicates a zero node is configured."; + description + "line buildout 0-133ft"; + } + container one { + must + "not(../zero or ../two + or ../three or ../four)"; + presence "Indicates a one node is configured."; + description + "line buildout 134-266ft"; + } + container two { + must + "not(../zero or ../one + or ../three or ../four)"; + presence "Indicates a two node is configured."; + description + "line buildout 267-399ft"; + } + container three { + must + "not(../zero or ../one + or ../two or ../four)"; + presence "Indicates a three node is configured."; + description + "line buildout 400-533ft"; + } + container four { + must + "not(../zero or ../one + or ../two or ../three)"; + presence "Indicates a four node is configured."; + description + "line buildout 534-655ft"; + } + } + container b8zs { + description + "b8zs mode"; + container zero { + must + "not(../one or ../two + or ../three or ../four)"; + presence "Indicates a zero node is configured."; + description + "line buildout 0-133ft"; + } + container one { + must + "not(../zero or ../two + or ../three or ../four)"; + presence "Indicates a one node is configured."; + description + "line buildout 134-266ft"; + } + container two { + must + "not(../zero or ../one + or ../three or ../four)"; + presence "Indicates a two node is configured."; + description + "line buildout 267-399ft"; + } + container three { + must + "not(../zero or ../one + or ../two or ../four)"; + presence "Indicates a three node is configured."; + description + "line buildout 400-533ft"; + } + container four { + must + "not(../zero or ../one + or ../two or ../three)"; + presence "Indicates a four node is configured."; + description + "line buildout 534-655ft"; + } + } + } + container d4 { + description + "d4 mode"; + container ami { + description + "ami mode"; + container zero { + must + "not(../one or ../two + or ../three or ../four)"; + presence "Indicates a zero node is configured."; + description + "line buildout 0-133ft"; + } + container one { + must + "not(../zero or ../two + or ../three or ../four)"; + presence "Indicates a one node is configured."; + description + "line buildout 134-266ft"; + } + container two { + must + "not(../zero or ../one + or ../three or ../four)"; + presence "Indicates a two node is configured."; + description + "line buildout 267-399ft"; + } + container three { + must + "not(../zero or ../one + or ../two or ../four)"; + presence "Indicates a three node is configured."; + description + "line buildout 400-533ft"; + } + container four { + must + "not(../zero or ../one + or ../two or ../three)"; + presence "Indicates a four node is configured."; + description + "line buildout 534-655ft"; + } + } + container b8zs { + description + "b8zs mode"; + container zero { + must + "not(../one or ../two + or ../three or ../four)"; + presence "Indicates a zero node is configured."; + description + "line buildout 0-133ft"; + } + container one { + must + "not(../zero or ../two + or ../three or ../four)"; + presence "Indicates a one node is configured."; + description + "line buildout 134-266ft"; + } + container two { + must + "not(../zero or ../one + or ../three or ../four)"; + presence "Indicates a two node is configured."; + description + "line buildout 267-399ft"; + } + container three { + must + "not(../zero or ../one + or ../two or ../four)"; + presence "Indicates a three node is configured."; + description + "line buildout 400-533ft"; + } + container four { + must + "not(../zero or ../one + or ../two or ../three)"; + presence "Indicates a four node is configured."; + description + "line buildout 534-655ft"; + } + } + } + } + container e1 { + description + "e1 mode"; + container non-crc-4 { + description + "non-crc-4 mode"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container crc-4 { + description + "crc4 mode"; + container sa4 { + description + "SSM on Sa4 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa5 { + description + "SSM on Sa5 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa6 { + description + "SSM on Sa6 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa7 { + description + "SSM on Sa7 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + container sa8 { + description + "SSM on Sa8 bit channel"; + container ami { + must "not(../hdb3)"; + presence "Indicates a ami node is configured."; + description + "ami mode"; + } + container hdb3 { + must "not(../ami)"; + presence "Indicates a hdb3 node is configured."; + description + "hdb3 mode"; + } + } + } + } + container two-m { + must "not(../six-m-output-only)"; + presence "Indicates a two-m node is configured."; + description + "2m mode"; + } + container six-m-output-only { + must "not(../two-m)"; + presence "Indicates a six-m-output-only node is configured."; + description + "6m-output-only mode"; + } + } + container gps-input { + description + "GPS TOD/10MHz/1PPS input interface"; + container tod-format { + description + "Specify the TOD msg format"; + container cisco { + description + "TOD msg in Cisco ASCII format"; + container pps-input { + description + "Specify the 1PPS input mode select"; + container ttl { + must "not(../rs422)"; + presence "Indicates a ttl node is configured."; + description + "TTL 1PPS input"; + } + container rs422 { + must "not(../ttl)"; + presence "Indicates a rs422 node is configured."; + description + "RS422 1PPS input"; + } + } + } + container ntp4 { + description + "TOD msg in NTP Type 4 format"; + container pps-input { + description + "Specify the 1PPS input mode select"; + container ttl { + must "not(../rs422)"; + presence "Indicates a ttl node is configured."; + description + "TTL 1PPS input"; + } + container rs422 { + must "not(../ttl)"; + presence "Indicates a rs422 node is configured."; + description + "RS422 1PPS input"; + } + } + } + container gprmc { + description + "TOD msg in NMEA/GPRMC format"; + container pps-input { + description + "Specify the 1PPS input mode select"; + container ttl { + must "not(../rs422)"; + presence "Indicates a ttl node is configured."; + description + "TTL 1PPS input"; + } + container rs422 { + must "not(../ttl)"; + presence "Indicates a rs422 node is configured."; + description + "RS422 1PPS input"; + } + } + } + } + container offset { + description + "Set a fixed offset from received TOD to translate into PTP time"; + container utc { + must "not(../tai or ../gps)"; + presence "Indicates a utc node is configured."; + description + "ToD provides UTC time"; + } + container tai { + must "not(../utc or ../gps)"; + presence "Indicates a tai node is configured."; + description + "ToD provides TAI time"; + } + container gps { + must "not(../utc or ../tai)"; + presence "Indicates a gps node is configured."; + description + "ToD provides GPS time"; + } + } + container baud-rate { + description + "Set the baud-rate for the ToD UART input"; + container bps-1200 { + must + "not(../bps-2400 or ../bps-4800 + or ../bps-9600 or ../bps-19200 + or ../bps-38400 or ../bps-76800 + or ../bps-153600)"; + presence "Indicates a bps-1200 node is configured."; + description + "1200 bps"; + } + container bps-2400 { + must + "not(../bps-1200 or ../bps-4800 + or ../bps-9600 or ../bps-19200 + or ../bps-38400 or ../bps-76800 + or ../bps-153600)"; + presence "Indicates a bps-2400 node is configured."; + description + "2400 bps"; + } + container bps-4800 { + must + "not(../bps-1200 or ../bps-2400 + or ../bps-9600 or ../bps-19200 + or ../bps-38400 or ../bps-76800 + or ../bps-153600)"; + presence "Indicates a bps-4800 node is configured."; + description + "4800 bps"; + } + container bps-9600 { + must + "not(../bps-1200 or ../bps-2400 + or ../bps-4800 or ../bps-19200 + or ../bps-38400 or ../bps-76800 + or ../bps-153600)"; + presence "Indicates a bps-9600 node is configured."; + description + "9600 bps"; + } + container bps-19200 { + must + "not(../bps-1200 or ../bps-2400 + or ../bps-4800 or ../bps-9600 + or ../bps-38400 or ../bps-76800 + or ../bps-153600)"; + presence "Indicates a bps-19200 node is configured."; + description + "19200 bps"; + } + container bps-38400 { + must + "not(../bps-1200 or ../bps-2400 + or ../bps-4800 or ../bps-9600 + or ../bps-19200 or ../bps-76800 + or ../bps-153600)"; + presence "Indicates a bps-38400 node is configured."; + description + "38400 bps"; + } + container bps-76800 { + must + "not(../bps-1200 or ../bps-2400 + or ../bps-4800 or ../bps-9600 + or ../bps-19200 or ../bps-38400 + or ../bps-153600)"; + presence "Indicates a bps-76800 node is configured."; + description + "76800 bps"; + } + container bps-153600 { + must + "not(../bps-1200 or ../bps-2400 + or ../bps-4800 or ../bps-9600 + or ../bps-19200 or ../bps-38400 + or ../bps-76800)"; + presence "Indicates a bps-153600 node is configured."; + description + "153600 bps"; + } + } + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Disable the SyncE Port"; + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } + augment "/a2:snmp-server/a2:traps" { + container frequency { + description + "Enable Frequency Synchronization traps"; + container synchronization { + presence "Indicates a synchronization node is configured."; + description + "Enable Frequency Synchronization traps"; + } + leaf synchronization-quality-level { + type enumeration { + enum "dnu" { + value 1; + description + "DNU"; + } + enum "prc" { + value 2; + description + "PRC"; + } + enum "sec" { + value 3; + description + "SEC"; + } + enum "ssu-a" { + value 4; + description + "SSU-A"; + } + enum "ssu-b" { + value 5; + description + "SSU-B"; + } + } + description + "Quality level trap"; + } + } + } + augment "/location:locations/location:location" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location" { + uses LOCATION-BODY; + } + container frequency { + description + "Frequency Synchronization configuration"; + container synchronization { + presence "Indicates a synchronization node is configured."; + description + "Frequency Synchronization configuration"; + container quality { + description + "Quality level option selection"; + container itu-t { + description + "ITU-T QL options"; + container option { + description + "ITU-T QL options"; + container one { + presence "Indicates a one node is configured."; + description + "ITU-T QL option 1"; + } + container two { + description + "ITU-T QL option 2"; + container generation { + description + "ITU-T QL option 2 generation"; + container one { + must "not(../../../../option/one or ../two)"; + presence "Indicates a one node is configured."; + description + "ITU-T QL option 2, generation 1"; + } + container two { + must "not(../../../../option/one or ../one)"; + presence "Indicates a two node is configured."; + description + "ITU-T QL option 2, generation 2"; + } + } + } + } + } + } + container clock-interface { + description + "Clock interface configuration"; + container timing-mode { + description + "Clock interface timing mode"; + container system { + must "not(../independent)"; + presence "Indicates a system node is configured."; + description + "Use the system's selected timing source for clock-interface output"; + } + container independent { + must "not(../system)"; + presence "Indicates a independent node is configured."; + description + "Use the line interfaces for clock-interface output, which is not looped back to the clock-interface input"; + } + } + } + container system { + description + "System timing configuration"; + container timing-mode { + description + "System timing mode"; + container line-only { + must "not(../clock-only)"; + presence "Indicates a line-only node is configured."; + description + "Use only line-interfaces for system timing"; + } + container clock-only { + must "not(../line-only)"; + presence "Indicates a clock-only node is configured."; + description + "Use only clock-interfaces for system timing"; + } + } + } + container log { + description + "Logging options"; + container selection { + description + "Selection logging options"; + container changes { + must "not(../errors)"; + presence "Indicates a changes node is configured."; + description + "Log both selection changes and errors"; + } + container errors { + must "not(../changes)"; + presence "Indicates a errors node is configured."; + description + "Log selection errors"; + } + } + } + container clock-identity { + description + "Clock ID configuration"; + leaf mac-address { + type yang:mac-address; + description + "MAC address to use to form the clock ID"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ftp-tftp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ftp-tftp-cfg.yang new file mode 100644 index 000000000..a2dba51ae --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ftp-tftp-cfg.yang @@ -0,0 +1,636 @@ +module Cisco-IOS-XR-um-ftp-tftp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ftp-tftp-cfg"; + prefix um-ftp-tftp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ftp-tftp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-12 { + description + "Add the must statement to the vrf list"; + semver:module-version "1.0.0"; + } + revision 2020-12-14 { + description + "Initial release"; + } + + container ftp { + description + "Global FTP configuration commands"; + container client { + description + "FTP client configuration commands"; + container vrfs { + description + "VRF name for FTP service"; + list vrf { + must "passive or source-interface or anonymous-password or username or password/encrypted"; + key "vrf-name"; + description + "VRF name for FTP service"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + description + "VRF name for FTP service"; + } + container passive { + presence "Indicates a passive node is configured."; + description + "Connect using passive mode"; + } + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in FTP connections"; + } + leaf anonymous-password { + type xr:Proprietary-password; + description + "Specify a password for anonymous users"; + } + leaf username { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "FTP username"; + } + } + description + "Specify username for FTP connections"; + } + container password { + description + "Specify password for ftp connection"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specify an encrypted password"; + } + } + } + } + } + } + container tftp { + description + "Global TFTP configuration commands"; + container vrfs { + description + "VRF name for TFTP service"; + list vrf { + must + "ipv4/server/access-list or ipv4/server/max-servers or ipv4/server/dscp or ipv4/server/homedir or + ipv6/server/access-list or ipv6/server/max-servers or ipv6/server/dscp or ipv6/server/homedir"; + key "vrf-name"; + description + "VRF name for TFTP service"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + description + "VRF name for TFTP service"; + } + container ipv4 { + description + "Ipv4"; + container server { + description + "server"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + must "../homedir"; + description + "Access list"; + } + leaf max-servers { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "No limit to number of allowable UDP max servers"; + } + } + type uint32 { + range "1..2147483647"; + } + } + must "../homedir"; + description + "Set number of allowable UDP max servers"; + } + leaf homedir { + type string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + description + "home directory"; + } + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "../homedir"; + description + "Set IP DSCP (DiffServ CodePoint) for TFTP Server Packets af11 ..."; + } + } + } + container ipv6 { + description + "Ipv6"; + container server { + description + "server"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + must "../homedir"; + description + "Access list"; + } + leaf max-servers { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "No limit to number of allowable UDP max servers"; + } + } + type uint32 { + range "1..2147483647"; + } + } + must "../homedir"; + description + "Set number of allowable UDP max servers"; + } + leaf homedir { + type string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + description + "home directory"; + } + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "../homedir"; + description + "Set IP DSCP (DiffServ CodePoint) for TFTP Server Packets af11 ..."; + } + } + } + } + } + } + container tftp-fs { + description + "Global TFTP configuration commands"; + container client { + description + "TFTP client configuration commands"; + container vrfs { + description + "VRF name for TFTP service"; + list vrf { + must "source-interface or retries or timeout or dscp"; + key "vrf-name"; + description + "VRF name for TFTP service"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + description + "VRF name for TFTP service"; + } + leaf source-interface { + type xr:Interface-name; + description + "Specify interface for source address in TFTP connections"; + } + leaf retries { + type uint32 { + range "0..256" { + description + " TFTP initial maximum retry times"; + } + } + description + "Specify the number of retries when client requests TFTP connections"; + } + leaf timeout { + type uint32 { + range "0..256" { + description + " TFTP initial maximum timeout "; + } + } + description + "Specify the timeout for every TFTP connection in seconds"; + } + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + description + "Set IP DSCP (DiffServ CodePoint) for TFTP Client Packets"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-gnss-receiver-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-gnss-receiver-cfg.yang new file mode 100644 index 000000000..70bd097f1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-gnss-receiver-cfg.yang @@ -0,0 +1,592 @@ +module Cisco-IOS-XR-um-gnss-receiver-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-gnss-receiver-cfg"; + prefix um-gnss-receiver-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR gnss-receiver package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + typedef Fsync-ql-option { + type enumeration { + enum "option-1" { + value 1; + description + "ITU-T Option 1"; + } + enum "option-2,-generation-1" { + value 2; + description + "ITU-T Option 2, Generation 1"; + } + enum "option-2,-generation-2" { + value 3; + description + "ITU-T Option 2, Generation 2"; + } + } + description + "Fsync ql option"; + } + + typedef Fsync-ql-value { + type enumeration { + enum "dnu" { + value 1; + description + "This signal should not be used for + synchronization"; + } + enum "o1-e-prtc" { + value 20; + description + "ITU-T Option 1: Enhanced primary reference + timing clock"; + } + enum "o1-prtc" { + value 21; + description + "ITU-T Option 1: Primary reference timing clock"; + } + enum "o1-prc" { + value 22; + description + "ITU-T Option 1: Primary reference clock"; + } + enum "o1-ssu-a" { + value 23; + description + "ITU-T Option 1: Type I or V subordinate clock"; + } + enum "o1-ssu-b" { + value 24; + description + "ITU-T Option 1: Type IV subordinate clock"; + } + enum "o1-e-eec" { + value 25; + description + "ITU-T Option 1: Enhanced ethernet equipment + clock"; + } + enum "o1-eec1" { + value 26; + description + "ITU-T Option 1: Ethernet equipment clock"; + } + enum "o1-sec" { + value 27; + description + "ITU-T Option 1: SONET equipment clock"; + } + enum "o1-e-prc" { + value 28; + description + "ITU-T Option 1: Enhanced primary reference + clock"; + } + enum "o2-g1-e-prtc" { + value 40; + description + "ITU-T Option 2, Generation 1: Enhanced primary + reference timing clock"; + } + enum "o2-g1-prtc" { + value 41; + description + "ITU-T Option 2, Generation 1: Primary reference + timing clock"; + } + enum "o2-g1-prs" { + value 42; + description + "ITU-T Option 2, Generation 1: Primary reference + source"; + } + enum "o2-g1-stu" { + value 43; + description + "ITU-T Option 2, Generation 1: Synchronized - + traceability unknown"; + } + enum "o2-g1-st2" { + value 44; + description + "ITU-T Option 2, Generation 1: Stratum 2"; + } + enum "o2-g1-st3" { + value 45; + description + "ITU-T Option 2, Generation 1: Stratum 3"; + } + enum "o2-g1-e-eec" { + value 46; + description + "ITU-T Option 2, Generation 1: Enhanced ethernet + equipment clock"; + } + enum "o2-g1-eec2" { + value 47; + description + "ITU-T Option 2, Generation 1: Ethernet + equipment clock"; + } + enum "o2-g1-smc" { + value 48; + description + "ITU-T Option 2, Generation 1: SONET clock self + timed"; + } + enum "o2-g1-st4" { + value 49; + description + "ITU-T Option 2, Generation 1: Stratum 4 freerun"; + } + enum "o2-g1-e-prc" { + value 51; + description + "ITU-T Option 2, Generation 1: Enhanced primary + reference clock"; + } + enum "o2-g2-e-prtc" { + value 60; + description + "ITU-T Option 2, Generation 2: Enhanced primary + reference timing clock"; + } + enum "o2-g2-prtc" { + value 61; + description + "ITU-T Option 2, Generation 2: Primary reference + timing clock"; + } + enum "o2-g2-prs" { + value 62; + description + "ITU-T Option 2, Generation 2: Primary reference + source"; + } + enum "o2-g2-stu" { + value 63; + description + "ITU-T Option 2, Generation 2: Synchronized - + traceability unknown"; + } + enum "o2-g2-st2" { + value 64; + description + "ITU-T Option 2, Generation 2: Stratum 2"; + } + enum "o2-g2-tnc" { + value 65; + description + "ITU-T Option 2, Generation 2: Transit node + clock"; + } + enum "o2-g2-st3e" { + value 66; + description + "ITU-T Option 2, Generation 2: Stratum 3E"; + } + enum "o2-g2-st3" { + value 67; + description + "ITU-T Option 2, Generation 2: Stratum 3"; + } + enum "o2-g2-e-eec" { + value 68; + description + "ITU-T Option 2, Generation 2: Enhanced ethernet + equipment clock"; + } + enum "o2-g2-eec2" { + value 69; + description + "ITU-T Option 2, Generation 2: Ethernet + equipment clock"; + } + enum "o2-g2-smc" { + value 70; + description + "ITU-T Option 2, Generation 2: SONET clock self + timed"; + } + enum "o2-g2-st4" { + value 71; + description + "ITU-T Option 2, Generation 2: Stratum 4 freerun"; + } + enum "o2-g2-e-prc" { + value 73; + description + "ITU-T Option 2, Generation 2: Enhanced primary + reference clock"; + } + } + description + "Fsync ql value"; + } + + grouping LOCATION-BODY { + container gnss-receivers { + description + "GNSS receiver configuration commands"; + list gnss-receiver { + key "gnss-receiver-id"; + description + "GNSS receiver configuration commands"; + leaf gnss-receiver-id { + type uint32 { + range "0..4294967295" { + description + "GNSS receiver number"; + } + } + description + "GNSS receiver configuration commands"; + } + container frequency { + description + "Frequency Synchronization configuration"; + container synchronization { + description + "Frequency Synchronization configuration"; + container ssm { + description + "SSM configuration commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable sending of SSMs"; + } + } + leaf priority { + type uint32 { + range "1..254" { + description + "Source priority"; + } + } + description + "Source priority"; + } + leaf time-of-day-priority { + type uint32 { + range "1..254" { + description + "Source time-of-day priority"; + } + } + description + "Source time-of-day priority"; + } + container quality { + description + "Quality level configuration"; + container transmit { + description + "Set the quality level to be transmitted"; + leaf quality-level-option { + type Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + container receive { + description + "Adjust the received quality level"; + leaf quality-level-option { + type Fsync-ql-option; + must "../exact-quality-level-value or ../min-quality-level-value or ../max-quality-level-value or (../min-quality-level-value and ../max-quality-level-value)"; + description + "Quality level option"; + } + leaf exact-quality-level-value { + type Fsync-ql-value; + must "../quality-level-option and not(../min-quality-level-value or ../max-quality-level-value)"; + description + "Exact quality level value"; + } + leaf min-quality-level-value { + type Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Minimum quality level value"; + } + leaf max-quality-level-value { + type Fsync-ql-value; + must "../quality-level-option and not(../exact-quality-level-value)"; + description + "Maximum quality level value"; + } + } + } + leaf wait-to-restore { + type uint32 { + range "0..12" { + description + "Wait-to-restore time, in minutes"; + } + } + description + "Set the wait-to-restore time"; + } + container selection { + description + "Selection configuration commands"; + container input { + presence "Indicates a input node is configured."; + description + "Enable this source for selection"; + } + } + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shutdown the GNSS receiver"; + } + container anti-jam { + description + "Anti-jam mode configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable anti-jam mode"; + } + } + container constellation { + description + "Constellation configuration"; + container auto { + must + "not(../gps or ../galileo + or ../beidou or ../qzss + or ../glonass or ../sbas + or ../irnss)"; + presence "Indicates a auto node is configured."; + description + "Auto-select the constellation"; + } + container gps { + must + "not(../auto or ../galileo + or ../beidou or ../qzss + or ../glonass or ../sbas + or ../irnss)"; + presence "Indicates a gps node is configured."; + description + "GPS"; + } + container galileo { + must + "not(../auto or ../gps + or ../beidou or ../qzss + or ../glonass or ../sbas + or ../irnss)"; + presence "Indicates a galileo node is configured."; + description + "Galileo"; + } + container beidou { + must + "not(../auto or ../gps + or ../galileo or ../qzss + or ../glonass or ../sbas + or ../irnss)"; + presence "Indicates a beidou node is configured."; + description + "Beidou"; + } + container qzss { + must + "not(../auto or ../gps + or ../galileo or ../beidou + or ../glonass or ../sbas + or ../irnss)"; + presence "Indicates a qzss node is configured."; + description + "QZSS"; + } + container glonass { + must + "not(../auto or ../gps + or ../galileo or ../beidou + or ../qzss or ../sbas + or ../irnss)"; + presence "Indicates a glonass node is configured."; + description + "GLONASS"; + } + container sbas { + must + "not(../auto or ../gps + or ../galileo or ../beidou + or ../qzss or ../glonass + or ../irnss)"; + presence "Indicates a sbas node is configured."; + description + "SBAS (WAAS)"; + } + container irnss { + must + "not(../auto or ../gps + or ../galileo or ../beidou + or ../qzss or ../glonass + or ../sbas)"; + presence "Indicates a irnss node is configured."; + description + "IRNSS"; + } + } + container snr { + description + "SNR threshold configuration"; + leaf threshold { + type uint32 { + range "0..40" { + description + "SNR threshold value, in dB-Hz"; + } + } + description + "SNR threshold configuration"; + } + } + container elevation { + description + "Elevation threshold configuration"; + leaf threshold { + type uint32 { + range "0..40" { + description + "Elevation threshold value, in degrees"; + } + } + description + "Elevation threshold configuration"; + } + } + container pdop { + description + "PDOP threshold configuration"; + leaf threshold { + type uint32 { + range "0..10" { + description + "PDOP threshold value"; + } + } + description + "PDOP threshold configuration"; + } + } + container traim { + description + "TRAIM threshold configuration"; + leaf threshold { + type uint32 { + range "0..2" { + description + "TRAIM threshold value, in microseconds"; + } + } + description + "TRAIM threshold configuration"; + } + } + container cable-delay { + description + "Cable-delay compensation configuration"; + leaf compensation { + type int32 { + range "-1000000..1000000" { + description + "Cable-delay compensation value, in nanoseconds"; + } + } + description + "Cable-delay compensation configuration"; + } + } + container onepps { + description + "1PPS polarity configuration"; + container polarity { + description + "1PPS polarity configuration"; + container positive { + must "not(../negative)"; + presence "Indicates a positive node is configured."; + description + "Positive 1PPS polarity"; + } + container negative { + must "not(../positive)"; + presence "Indicates a negative node is configured."; + description + "Negative 1PPD polarity"; + } + } + } + } + } + } + + augment "/location:locations/location:location" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location" { + uses LOCATION-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-grpc-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-grpc-cfg.yang new file mode 100644 index 000000000..aa0f2f431 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-grpc-cfg.yang @@ -0,0 +1,464 @@ +module Cisco-IOS-XR-um-grpc-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-grpc-cfg"; + prefix um-grpc-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR grpc package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-26 { + description + "Added TTL leaf."; + semver:module-version "2.1.1m"; + } + revision 2021-09-29 { + description + "Added certificate-authentication & local-connection containers + 2021-07-28 + Added tunnel container."; + semver:module-version "2.1.0"; + } + revision 2021-05-20 { + description + "Added leaf min-keepalive-interval. + 2020-08-01 + Added aaa container."; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + container grpc { + presence "Indicates a grpc node is configured."; + description + "grpc configuration commands"; + leaf max-request-total { + type uint32 { + range "1..256" { + description + "Maximum concurrent requests in total"; + } + } + description + "Maximum concurrent requests in total"; + } + leaf max-request-per-user { + type uint32 { + range "1..32" { + description + "Maximum concurrent requests per user"; + } + } + description + "Maximum concurrent requests per user"; + } + leaf max-streams { + type uint32 { + range "1..128" { + description + "Maximum number of streaming gRPCs (Default: 32)"; + } + } + description + "Maximum number of streaming gRPCs (Default: 32)"; + } + leaf max-streams-per-user { + type uint32 { + range "1..128" { + description + "Maximum number of streaming gRPCs per user (Default: 32)"; + } + } + description + "Maximum number of streaming gRPCs per user (Default: 32)"; + } + leaf port { + type uint32 { + range "10000..57999" { + description + "Server listening port"; + } + } + description + "Server listening port"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "vrf name"; + } + } + description + "Server vrf"; + } + leaf certificate-id { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Certificate ID"; + } + } + description + "Active Certificate"; + } + container aaa { + description + "AAA authorization and authentication for gRPC"; + container authentication { + description + "AAA authentication methodlist for gRPC"; + leaf login { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "AAA methodlist name"; + } + } + description + "AAA authentication login method list"; + } + } + container authorization { + description + "AAA authorization methodlist for gRPC"; + leaf exec { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "AAA methodlist name"; + } + } + description + "AAA authorization exec method list"; + } + } + } + container address-family { + description + "Address family identifier type"; + container ipv4 { + must "not(../ipv6 or ../dual)"; + presence "Indicates a ipv4 node is configured."; + description + "IPv4 address-family"; + } + container ipv6 { + must "not(../ipv4 or ../dual)"; + presence "Indicates a ipv6 node is configured."; + description + "IPv6 address-family"; + } + container dual { + must "not(../ipv4 or ../ipv6)"; + presence "Indicates a dual node is configured."; + description + "dual stackaddress-family"; + } + } + container service-layer { + presence "Indicates a service-layer node is configured."; + description + "grpc service layer configuration"; + } + leaf min-keepalive-interval { + type uint32 { + range "1..10000" { + description + "Keepalive interval in seconds"; + } + } + description + "Minimum client keepalive interval"; + } + container local-connection { + presence "Indicates a local-connection node is configured."; + description + "Enable gRPC server over Unix socket"; + } + leaf ttl { + type uint32 { + range "0..255" { + description + "gRPC packets TTL value"; + } + } + description + "gRPC packets TTL value"; + } + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services code point"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Default (DSCP 000000)"; + } + enum "cs1" { + value 8; + description + "CS1 (Precedence 1) (DSCP 001000)"; + } + enum "af11" { + value 10; + description + "AF11 (DSCP 001010)"; + } + enum "af12" { + value 12; + description + "AF12 (DSCP 001100)"; + } + enum "af13" { + value 14; + description + "AF13 (DSCP 001110)"; + } + enum "cs2" { + value 16; + description + "CS2 (Precedence 2) (DSCP 010000)"; + } + enum "af21" { + value 18; + description + "AF21 (DSCP 010010)"; + } + enum "af22" { + value 20; + description + "AF22 (DSCP 010100)"; + } + enum "af23" { + value 22; + description + "AF23 (DSCP 010110)"; + } + enum "cs3" { + value 24; + description + "CS3 (Precedence 3) (DSCP 011000)"; + } + enum "af31" { + value 26; + description + "AF31 (DSCP 011010)"; + } + enum "af32" { + value 28; + description + "AF32 (DSCP 011100)"; + } + enum "af33" { + value 30; + description + "AF33 (DSCP 011110)"; + } + enum "cs4" { + value 32; + description + "CS4 (Precedence 4) (DSCP 100000)"; + } + enum "af41" { + value 34; + description + "AF41 (DSCP 100010)"; + } + enum "af42" { + value 36; + description + "AF42 (DSCP 100100)"; + } + enum "af43" { + value 38; + description + "AF43 (DSCP 100110)"; + } + enum "cs5" { + value 40; + description + "CS5 (Precedence 5) (DSCP 101000)"; + } + enum "ef" { + value 46; + description + "EF (DSCP 101110)"; + } + enum "cs6" { + value 48; + description + "CS6 (Precedence 6) (DSCP 110000)"; + } + enum "cs7" { + value 56; + description + "CS7 (Precedence 7) (DSCP 111000)"; + } + } + } + description + "QoS marking DSCP to be set on transmitted gRPC"; + } + container tls-cipher { + description + "gRPC TLS cipher suites"; + leaf disable { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "List of comma separated ciphers"; + } + } + description + "Disable ciphers if 'default enable'"; + } + leaf enable { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "List of comma separated ciphers"; + } + } + description + "Enable ciphers if 'default disable'"; + } + container default { + description + "Default of all ciphers"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable all ciphers"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable all ciphers"; + } + } + } + leaf tls-trustpoint { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "trustpoint name"; + } + } + description + "Configure trustpoint"; + } + container tls-mutual { + presence "Indicates a tls-mutual node is configured."; + description + "Mutual Authentication"; + } + container no-tls { + presence "Indicates a no-tls node is configured."; + description + "No TLS"; + } + container certificate-authentication { + presence "Indicates a certificate-authentication node is configured."; + description + "Enables Certificate based Authentication"; + } + container tunnel { + description + "grpc tunnel service"; + container destinations { + description + "GRPC tunnel destination"; + list destination { + key "destination-name port-id"; + description + "GRPC tunnel destination"; + leaf destination-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Destination IPv4/IPv6 address"; + } + } + description + "GRPC tunnel destination"; + } + leaf port-id { + type uint32 { + range "1..65535" { + description + "Port number"; + } + } + description + "Destination port"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "vrf-name"; + } + } + description + "VRF for the dialout"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface"; + } + leaf target { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "target name"; + } + } + description + "Target name to register tunnel service"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-hostname-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-hostname-cfg.yang new file mode 100644 index 000000000..d2b212414 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-hostname-cfg.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-um-hostname-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-hostname-cfg"; + prefix um-hostname-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR hostname package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-21 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container hostname { + description + "Set system's network name"; + leaf system-network-name { + type xr:Cisco-ios-xr-string { + length "1..253" { + description + "This system's network name"; + } + pattern "[a-zA-Z0-9_.-]+"; + } + description + "Set system's network name"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-http-client-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-http-client-cfg.yang new file mode 100644 index 000000000..481adaa53 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-http-client-cfg.yang @@ -0,0 +1,191 @@ +module Cisco-IOS-XR-um-http-client-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-http-client-cfg"; + prefix um-http-client-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR http-client package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-10 { + description + "- Added secure-verify-peer and secure-verify-host. Updated ipv4 and ipv6 under source-interface"; + semver:module-version "1.0.1m"; + } + revision 2020-09-22 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container http { + description + "HTTP Application"; + container client { + description + "HTTP Client Application"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of vrf"; + } + } + description + "Name of vrf"; + } + container secure-verify-peer { + description + "Verify authenticity of the peer's certificate"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable verifying peer's certificate"; + } + } + container secure-verify-host { + description + "Verify that if server certificate is for the serverit is known as"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable verifying host in peer's certificate"; + } + } + container response { + description + "How long HTTP Client waits for a response from the server + for a request message before giving up"; + leaf timeout { + type uint32 { + range "1..300" { + description + "HTTP Response time-out value in seconds"; + } + } + description + "Response timeout"; + } + } + container connection { + description + "Configure HTTP Client connection"; + leaf timeout { + type uint32 { + range "1..60" { + description + "HTTP connection time-out value in seconds"; + } + } + description + "How long HTTP Client waits for a server connection to + establish before giving up"; + } + leaf retry { + type uint32 { + range "1..5" { + description + "HTTP retry count"; + } + } + description + "Configure retry count in case of connection establishment"; + } + } + container source-interface { + description + "Specify interface for source address"; + container ipv4 { + description + "Choose Ipv4 address from interface"; + leaf interface { + type xr:Interface-name; + description + "Select an soucre interface"; + } + } + container ipv6 { + description + "Choose Ipv6 address from interface"; + leaf interface { + type xr:Interface-name; + description + "Select an soucre interface"; + } + } + } + container version { + description + "HTTP Version to be used in HTTP requests"; + container default { + must "not(../http1.0 or ../http1.1)"; + presence "Indicates a default node is configured."; + description + "libcurl will pick HTTP version automatically"; + } + container http1.0 { + must "not(../default or ../http1.1)"; + presence "Indicates a http1.0 node is configured."; + description + "force HTTP1.0 to be used for all HTTP requests"; + } + container http1.1 { + must "not(../default or ../http1.0)"; + presence "Indicates a http1.1 node is configured."; + description + "force HTTP1.1 to be used for all HTTP requests"; + } + } + container ssl { + description + "SSL configuration to be used for HTTPS requests"; + container version { + description + "SSL version to be used for HTTPS requests"; + container tls1.0 { + must "not(../tls1.1 or ../tls1.2)"; + presence "Indicates a tls1.0 node is configured."; + description + "Force TLSv1.0 to be used for HTTPS requests"; + } + container tls1.1 { + must "not(../tls1.0 or ../tls1.2)"; + presence "Indicates a tls1.1 node is configured."; + description + "Force TLSv1.1 to be used for HTTPS requests"; + } + container tls1.2 { + must "not(../tls1.0 or ../tls1.1)"; + presence "Indicates a tls1.2 node is configured."; + description + "Force TLSv1.2 to be used for HTTPS requests"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-port-range-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-port-range-cfg.yang new file mode 100644 index 000000000..d83e0a9a7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-port-range-cfg.yang @@ -0,0 +1,117 @@ +module Cisco-IOS-XR-um-hw-module-port-range-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-hw-module-port-range-cfg"; + prefix um-hw-module-port-range-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR hw-module-port-range package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-04 { + description + "Removed leaf location-name and updated range for leaf instance-id"; + semver:module-version "1.0.1M"; + } + revision 2020-11-16 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping LOCATION-BODY { + container hw-module { + description + "Configure h/w module"; + container port-ranges { + description + "Configure port range"; + list port-range { + must "(mode or instances/instance)"; + key "start-port end-port"; + description + "Configure port range"; + leaf start-port { + type uint32 { + range "0..71" { + description + "configure start port"; + } + } + description + "Configure port range"; + } + leaf end-port { + type uint32 { + range "0..71" { + description + "configure end port"; + } + } + description + "configure end port"; + } + leaf mode { + type string { + pattern "40-100|400|2x100|4x10|4x25|4x10-4x25|1x100|3x100|4x100"; + } + description + "port mode"; + } + container instances { + description + "card instance of MPA's"; + list instance { + key "instance-id"; + leaf instance-id { + type uint32 { + range "0..5" { + description + "MPA Instance 1,2,3 etc for MPA's"; + } + } + description + "MPA Instance 1,2,3 etc for MPA's"; + } + leaf mode { + type string { + pattern "40-100|400|2x100|4x10|4x25|4x10-4x25|1x100|3x100|4x100"; + } + mandatory true; + description + "port mode"; + } + } + } + } + } + } + } + + augment "/location:locations/location:location" { + uses LOCATION-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-quad-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-quad-cfg.yang new file mode 100644 index 000000000..fda511f13 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-hw-module-quad-cfg.yang @@ -0,0 +1,87 @@ +module Cisco-IOS-XR-um-hw-module-quad-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-hw-module-quad-cfg"; + prefix um-hw-module-quad-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR hw-module-quad package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping LOCATION-BODY { + container instances { + description + "quad configuration"; + list instance { + must "quad"; + key "instance-id"; + description + "0 for LC ports, 1+ for MPA instances"; + leaf instance-id { + type uint32 { + range "0..5"; + } + description + "Instance number"; + } + list quad { + key "quad-id"; + description + "Configure quad."; + leaf quad-id { + type uint32 { + range "0..11" { + description + "configure quad properties"; + } + } + description + "Configure quad."; + } + leaf mode { + type string; + mandatory true; + description + "select mode 10g or 25g for a quad (group of 2 or 4 ports)"; + } + } + } + } + } + + augment "/location:locations/location:location" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location" { + uses LOCATION-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-icmp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-icmp-cfg.yang new file mode 100644 index 000000000..98f44dc32 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-icmp-cfg.yang @@ -0,0 +1,622 @@ +module Cisco-IOS-XR-um-icmp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-icmp-cfg"; + prefix um-icmp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR icmp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature icmp_platform_support_config_check { + description + "icmp platform support config check"; + } + + container icmp { + description + "ICMP options"; + container ipv4 { + description + "IPv4 specific"; + container source { + description + "source address selection policy"; + container vrf { + must "not(../rfc)"; + presence "Indicates a vrf node is configured."; + description + "Enable Strct VRF source address selection"; + } + container rfc { + must "not(../vrf)"; + presence "Indicates a rfc node is configured."; + description + "Enable RFC compliance for source address selection"; + } + } + container rate-limit { + description + "rate limit generation of ICMP messages"; + container unreachable { + description + "Destination Unreachable (type3)"; + leaf rate { + type uint32 { + range "1..4294967295" { + description + "One ICMP unreachable message in x milliseconds(default is 500ms)"; + } + } + must "not(../disable)"; + description + "One ICMP unreachable message in x milliseconds(default is 500ms)"; + } + container disable { + must "not(../rate)"; + presence "Indicates a disable node is configured."; + description + "Disable rate limit of ICMP messages"; + } + container df { + description + "Fragmentation needed and DF set (code4)"; + leaf rate { + type uint32 { + range "1..4294967295" { + description + "One ICMP unreachable message in x milliseconds(default is 500ms)"; + } + } + must "not(../disable)"; + description + "One ICMP unreachable message in x milliseconds(default is 500ms)"; + } + container disable { + must "not(../rate)"; + presence "Indicates a disable node is configured."; + description + "Disable rate limit of ICMP messages"; + } + } + } + } + } + container ipv6 { + description + "IPv6 specific"; + container source { + description + "source address selection policy"; + container vrf { + must "not(../rfc)"; + presence "Indicates a vrf node is configured."; + description + "Enable Strct VRF source address selection"; + } + container rfc { + must "not(../vrf)"; + presence "Indicates a rfc node is configured."; + description + "Enable RFC compliance for source address selection"; + } + } + } + } + container traceroute-filter { + description + "traceroute configuration"; + container ipv4 { + description + "IPv4 specific"; + container protocol { + description + "protocol"; + container udp { + description + "udp traceroute"; + list traceroute-filter { + must + "(source-address or source-address-any) + and (destination-address or destination-address-any)"; + key "traceroute-filter-id"; + leaf traceroute-filter-id { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config"; + } + } + description + "traceroute configuration"; + } + leaf traceroute-filter-id-duped { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config. + It must be same value as traceroute-filter-id"; + } + } + mandatory true; + description + "traceroute configuration"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + } + mandatory true; + description + "specify a vrf"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + must "not(../source-address-any)"; + description + "ipv4 source address for traceroute"; + } + container source-address-any { + must "not(../source-address)"; + presence "Indicates an any node is configured."; + description + "No traceroute filter for source address"; + } + leaf source-port-start { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Source port start of range"; + } + leaf source-port-end { + type uint32 { + range "0..65535" { + description + "Source port end of range"; + } + } + mandatory true; + description + "Source port end of range"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + must "not(../destination-address-any)"; + description + "ipv4 dest address for traceroute"; + } + container destination-address-any { + must "not(../destination-address)"; + presence "Indicates an any node is configured."; + description + "No traceroute filter for source address"; + } + leaf destination-port-start { + type uint32 { + range "33435..33535" { + description + "Dst port start of range"; + } + } + mandatory true; + description + "Dst port start of range"; + } + leaf destination-port-end { + type uint32 { + range "33435..33535" { + description + "Dst port end of range"; + } + } + mandatory true; + description + "Dst port end of range"; + } + } + } + container tcp { + description + "tcp traceroute"; + list traceroute-filter { + must + "(source-address or source-address-any) + and (destination-address or destination-address-any)"; + key "traceroute-filter-id"; + leaf traceroute-filter-id { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config"; + } + } + description + "traceroute configuration"; + } + leaf traceroute-filter-id-duped { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config. + It must be same value as traceroute-filter-id"; + } + } + mandatory true; + description + "traceroute configuration"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + } + mandatory true; + description + "specify a vrf"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + must "not(../source-address-any)"; + description + "ipv4 source address for traceroute"; + } + container source-address-any { + must "not(../source-address)"; + presence "Indicates an any node is configured."; + description + "No traceroute filter for source address"; + } + leaf source-port-start { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Source port start of range"; + } + leaf source-port-end { + type uint32 { + range "0..65535" { + description + "Source port end of range"; + } + } + mandatory true; + description + "Source port end of range"; + } + leaf destination-address { + type inet:ipv4-address-no-zone; + must "not(../destination-address-any)"; + description + "ipv4 dest address for traceroute"; + } + container destination-address-any { + must "not(../destination-address)"; + presence "Indicates an destination-address-any node is configured."; + description + "No traceroute filter for source address"; + } + leaf destination-port-start { + type uint32 { + range "33435..33535" { + description + "Dst port start of range"; + } + } + mandatory true; + description + "Dst port start of range"; + } + leaf destination-port-end { + type uint32 { + range "33435..33535" { + description + "Dst port end of range"; + } + } + mandatory true; + description + "Dst port end of range"; + } + } + } + } + } + container ipv6 { + description + "IPv6 specific"; + container protocol { + description + "protocol"; + container udp { + description + "udp traceroute"; + list traceroute-filter { + must + "(source-address or source-address-any) + and (destination-address or destination-address-any)"; + key "traceroute-filter-id"; + leaf traceroute-filter-id { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config"; + } + } + description + "traceroute configuration"; + } + leaf traceroute-filter-id-duped { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config. + It must be same value as traceroute-filter-id"; + } + } + mandatory true; + description + "traceroute configuration"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + } + mandatory true; + description + "specify a vrf"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + must "not(../source-address-any)"; + description + "ipv6 source address for traceroute"; + } + container source-address-any { + must "not(../source-address)"; + presence "Indicates a source-address-any node is configured."; + description + "No traceroute filter for source address"; + } + leaf source-port-start { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Source port start of range"; + } + leaf source-port-end { + type uint32 { + range "0..65535" { + description + "Source port end of range"; + } + } + mandatory true; + description + "Source port end of range"; + } + leaf destination-address { + type inet:ipv6-address-no-zone; + must "not(../destination-address-any)"; + description + "ipv6 dest address for traceroute"; + } + container destination-address-any { + must "not(../destination-address)"; + presence "Indicates a destination-address-any node is configured."; + description + "No traceroute filter for source address"; + } + leaf destination-port-start { + type uint32 { + range "33435..33535" { + description + "Dst port start of range"; + } + } + mandatory true; + description + "Dst port start of range"; + } + leaf destination-port-end { + type uint32 { + range "33435..33535" { + description + "Dst port end of range"; + } + } + mandatory true; + description + "Dst port end of range"; + } + } + } + container tcp { + description + "tcp traceroute"; + list traceroute-filter { + must + "(source-address or source-address-any) + and (destination-address or destination-address-any)"; + key "traceroute-filter-id"; + leaf traceroute-filter-id { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config"; + } + } + description + "traceroute configuration"; + } + leaf traceroute-filter-id-duped { + type uint32 { + range "1..256" { + description + "Unique ID for the policy config. + It must be same value as traceroute-filter-id"; + } + } + mandatory true; + description + "traceroute configuration"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + } + mandatory true; + description + "specify a vrf"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + must "not(../source-address-any)"; + description + "ipv6 source address for traceroute"; + } + container source-address-any { + must "not(../source-address)"; + presence "Indicates a source-address-any node is configured."; + description + "No traceroute filter for source address"; + } + leaf source-port-start { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Source port start of range"; + } + leaf source-port-end { + type uint32 { + range "0..65535" { + description + "Source port end of range"; + } + } + mandatory true; + description + "Source port end of range"; + } + leaf destination-address { + type inet:ipv6-address-no-zone; + must "not(../destination-address-any)"; + description + "ipv6 dest address for traceroute"; + } + container destination-address-any { + must "not(../destination-address)"; + presence "Indicates a destination-address-any node is configured."; + description + "No traceroute filter for source address"; + } + leaf destination-port-start { + type uint32 { + range "33435..33535" { + description + "Dst port start of range"; + } + } + mandatory true; + description + "Dst port start of range"; + } + leaf destination-port-end { + type uint32 { + range "33435..33535" { + description + "Dst port end of range"; + } + } + mandatory true; + description + "Dst port end of range"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-access-group-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-access-group-cfg.yang new file mode 100644 index 000000000..f74ba4089 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-access-group-cfg.yang @@ -0,0 +1,426 @@ +module Cisco-IOS-XR-um-if-access-group-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-access-group-cfg"; + prefix um-if-access-group-cfg; + + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-access-group package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Initial version"; + } + + grouping GROUP-IPV4 { + container access-group { + when "../../a1:interface-name[not(starts-with(text(),'tunnel-gre'))] and ../../a1:interface-name[not(starts-with(text(),'tunnel-te'))] and ../../a1:interface-name[not(starts-with(text(),'Loopback'))] and ../../a1:interface-name[not(starts-with(text(),'vasileft'))] and ../../a1:interface-name[not(starts-with(text(),'vasiright'))]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Specify access group for packets"; + container ingress { + must "access-list-name-1"; + presence "Indicates an ingress node is configured."; + description + "IPv4 Packet filter to be applied to inbound + packets"; + xr:xr-xml-map "ip_pfilter_cfg:Outbound"; + container access-list-name-1 { + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-2 { + must "../access-list-name-1"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-3 { + must "../access-list-name-2"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-4 { + must "../access-list-name-3"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-5 { + must "../access-list-name-4"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container hardware-count { + when "../../../../a1:interface-name[not(starts-with(text(),'MgmtEth'))]" { + tailf:dependency "../../../../a1:interface-name"; + } + presence "Indicates a hardware-count node is configured."; + description + "Count packets in hardware"; + } + container interface-statistics { + presence "Indicates an interface-statistics node is configured."; + description + "Per interface statistics in hardware"; + } + leaf compress-level { + type uint32 { + range "0..3"; + } + must "not(../access-list-name-2 or ../access-list-name-1/common)"; + description + "Specify ACL compression in hardware"; + } + } + container egress { + presence "Indicates an egress node is configured."; + description + "IPv4 Packet filter to be applied to outbound + packets"; + xr:xr-xml-map "ip_pfilter_cfg:Outbound"; + container access-list-name { + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + } + container hardware-count { + when "../../../../a1:interface-name[not(starts-with(text(),'MgmtEth'))]" { + tailf:dependency "../../../../a1:interface-name"; + } + presence "Indicates a hardware-count node is configured."; + description + "Count packets in hardware"; + } + container interface-statistics { + presence "Indicates an interface-statistics node is configured."; + description + "Per interface statistics in hardware"; + } + leaf compress-level { + type uint32 { + range "0..3"; + } + description + "Specify ACL compression in hardware"; + } + } + } + } + + grouping GROUP-IPV6 { + container access-group { + when "../../a1:interface-name[not(starts-with(text(),'tunnel-gre'))] and ../../a1:interface-name[not(starts-with(text(),'tunnel-te'))] and ../../a1:interface-name[not(starts-with(text(),'Loopback'))] and ../../a1:interface-name[not(starts-with(text(),'vasileft'))] and ../../a1:interface-name[not(starts-with(text(),'vasiright'))]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Specify access group for packets"; + container ingress { + must "access-list-name-1"; + presence "Indicates an ingress node is configured."; + description + "IPv6 Packet filter to be applied to inbound + packets"; + xr:xr-xml-map "ip_pfilter_cfg:Outbound"; + container access-list-name-1 { + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-2 { + must "../access-list-name-1"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-3 { + must "../access-list-name-2"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-4 { + must "../access-list-name-3"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container access-list-name-5 { + must "../access-list-name-4"; + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + container common { + presence "Indicates this is a common Access-list name"; + description + "common Access-list name"; + } + } + container interface-statistics { + presence "Indicates an interface-statistics node is configured."; + description + "Per interface statistics in hardware"; + } + leaf compress-level { + type uint32 { + range "0..3"; + } + must "not(../access-list-name-2 or ../access-list-name-1/common)"; + description + "Specify ACL compression in hardware"; + } + } + container egress { + presence "Indicates an egress node is configured."; + description + "IPv6 Packet filter to be applied to outbound + packets"; + xr:xr-xml-map "ip_pfilter_cfg:Outbound"; + container access-list-name-1 { + presence "Indicates this Access-list name is configured"; + description + "Access-list name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + mandatory true; + description + "Access-list name"; + } + } + container interface-statistics { + presence "Indicates an interface-statistics node is configured."; + description + "Per interface statistics in hardware"; + } + leaf compress-level { + type uint32 { + range "0..3"; + } + description + "Specify ACL compression in hardware"; + } + } + } + } + + grouping GROUP-ETHERNET-SERVICES { + container ethernet-services { + when "../a1:interface-name[not(starts-with(text(),'tunnel-ip'))] and ../a1:interface-name[not(starts-with(text(),'tunnel-te'))] and ../a1:interface-name[not(starts-with(text(),'Loopback'))] and ../a1:interface-name[not(starts-with(text(),'BVI'))] and ../a1:interface-name[not(starts-with(text(),'MgmtEth'))]" { + tailf:dependency "../a1:interface-name"; + } + description + "Ethernet related services"; + container access-group { + description + "Specify access control for packets"; + leaf ingress { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "ingress Access-list name"; + } + leaf egress { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + description + "egress Access-list name"; + } + } + } + } + + augment "/a1:interfaces/a1:interface/a1:ipv4" { + uses GROUP-IPV4; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv4" { + uses GROUP-IPV4; + } + augment "/a1:interfaces/a1:interface/a1:ipv6" { + uses GROUP-IPV6; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv6" { + uses GROUP-IPV6; + } + augment "/a1:interfaces/a1:interface" { + uses GROUP-ETHERNET-SERVICES; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses GROUP-ETHERNET-SERVICES; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-arp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-arp-cfg.yang new file mode 100644 index 000000000..c5c8d139c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-arp-cfg.yang @@ -0,0 +1,132 @@ +module Cisco-IOS-XR-um-if-arp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-arp-cfg"; + prefix um-if-arp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if arp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-10 { + description + "Initial version"; + semver:module-version "1.0.0"; + } + + feature drop-adjacency { + description + "Set ARP drop adjacency timeout"; + } + + grouping IF-ARP { + container arp { + description + "Configure Address Resolution Protocol"; + leaf timeout { + type uint32 { + range "30..2144448000" { + description + "Seconds"; + } + } + description + "Set ARP cache timeout"; + } + leaf purge-delay { + type uint32 { + range "1..65535" { + description + "Purge delay in seconds"; + } + } + description + "Delay purging ARP entries when the interface goes down"; + } + container learning { + description + "Configuration for dynamic learning of ARP entries"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable dynamic learning of ARP entries"; + } + container local { + presence "Indicates a local node is configured."; + description + "Enable dynamic learning only for local subnet only"; + } + container solicited { + presence "Indicates a solicited node is configured."; + description + "Enable dynamic learning only for solicited ARP packets"; + } + } + container gratuitous { + description + "Configure the handling of Gratuitous ARP packets"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore the receipt of Gratuitous ARP packets"; + } + } + container drop-adjacency { + if-feature "drop-adjacency"; + description + "Set ARP drop adjacency timeout"; + leaf timeout { + type uint32 { + range "900..7200" { + description + "Seconds"; + } + } + default "3600"; + description + "Specify timeout"; + } + } + } + container proxy-arp { + presence "Indicates a proxy-arp node is configured."; + description + "Enable proxy ARP"; + } + container local-proxy-arp { + presence "Indicates a local-proxy-arp node is configured."; + description + "Enable local proxy ARP"; + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-ARP; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-ARP; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-bundle-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-bundle-cfg.yang new file mode 100644 index 000000000..4eec9b80a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-bundle-cfg.yang @@ -0,0 +1,816 @@ +module Cisco-IOS-XR-um-if-bundle-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-bundle-cfg"; + prefix um-if-bundle-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-bundle package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-30 { + description + "Updated with statement for 800G interface"; + semver:module-version "3.0.0"; + } + revision 2020-12-21 { + description + "Added logging container inside bundle + 2020-12-15 + Changed type of mlacp/switchover/maximize/bandwidth/threshold + from uint32 to uint64"; + semver:module-version "2.1.0"; + } + revision 2020-05-26 { + description + "- Updated integer range of mbps and gbps + - Removed container period-on-bundle and when statement from + container period + - Added when statement as appropriate + 2020-05-15 + Leaf changes for ipv4 container + 2020-04-27 + model leaf changes for ipv4 and ipv6 containers"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-29 { + description + "Initial version"; + } + + grouping GROUP-BUNDLE { + container bundle { + when "../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Bundle interface commands"; + container minimum-active { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Set the minimum criteria for the bundle to be active"; + leaf links { + type uint32 { + range "1..64" { + description + "Number of active links needed to bring up this bundle"; + } + } + description + "Set the number of active links needed to bring up this bundle"; + } + container bandwidth { + description + "Set the bandwidth needed to bring up this bundle"; + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth needed to bring up this bundle (in kbps)"; + } + } + description + "Set the bandwidth (in kbps) needed to bring up this bundle"; + } + leaf kbps { + type uint32 { + range "1..4294967295" { + description + "Bandwidth needed to bring up this bundle (in kbps)"; + } + } + description + "Set the bandwidth in kbps"; + } + leaf mbps { + type uint32 { + range "1..4294967295" { + description + "Bandwidth needed to bring up this bundle (in mbps)"; + } + } + description + "Set the bandwidth in mbps"; + } + leaf gbps { + type uint32 { + range "1..4294967295" { + description + "Bandwidth needed to bring up this bundle (in gbps)"; + } + } + description + "Set the bandwidth in gbps"; + } + } + } + container maximum-active { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Set a limit on the number of links that can be active"; + container links { + presence "Indicates a links node is configured."; + description + "Set the maximum number of active links in this bundle"; + leaf maximum-number { + type uint32 { + range "1..64" { + description + "Maximum number of active links in this bundle"; + } + } + mandatory true; + description + "Set the maximum number of active links in this bundle"; + } + container hot-standby { + presence "Indicates a hot-standby node is configured."; + description + "Hot-standby behaviour (non-standard, only effective on links with LACP enabled)"; + } + } + } + leaf wait-while { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + type uint32 { + range "0..2000" { + description + "Wait-while timeout in milliseconds (default: 2000)"; + } + } + description + "Set the wait-while timeout for members of this bundle"; + } + container shutdown { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + presence "Indicates a shutdown node is configured."; + description + "Bring all links in the bundle down to Standby state"; + } + container load-balancing { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Load balancing commands on a bundle"; + container hash { + description + "Select the hash function used for traffic forwarded over the bundle"; + container src-ip { + presence "Indicates a src-ip node is configured."; + description + "Use the source IP as the hash function"; + } + container dst-ip { + presence "Indicates a dst-ip node is configured."; + description + "Use the destination IP as the hash function"; + } + } + container localize { + description + "Restrict forwarding to members in the same rack where possible"; + container threshold { + description + "The threshold below which traffic is no longer localized"; + leaf links { + type uint32 { + range "1..64" { + description + "The number of links required on each rack to localize"; + } + } + description + "Set a threshold of active member links per rack"; + } + } + } + } + leaf lacp-delay { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + type uint32 { + range "1000..15000" { + description + "Lacp-delay timeout in milliseconds"; + } + } + description + "Set the lacp-delay timeout for members of this bundle"; + } + container logging { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "logging events for the members of this bundle"; + container oos { + presence "Indicates a oos node is configured."; + description + "Enable OOS logging events for the members of this bundle"; + } + } + container lacp-fallback { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Set the lacp-fallback for members of this bundle"; + leaf timeout { + type uint32 { + range "1..120" { + description + "Lacp-Fallback timer in seconds"; + } + } + description + "Set the timeout for lacp-fallback"; + } + } + container id { + when "../../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../../a1:interface-name[starts-with(text(),'TenGigE')] or ../../a1:interface-name[starts-with(text(),'FortyGigE')] or ../../a1:interface-name[starts-with(text(),'HundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../../a1:interface-name"; + } + presence "Indicates a id node is configured."; + description + "Add the port to an aggregated interface."; + leaf bundle-id { + type uint32 { + range "1..65535" { + description + "Identifier of the bundle to add the port to."; + } + } + mandatory true; + description + "Add the port to an aggregated interface."; + } + leaf mode { + type enumeration { + enum "on" { + value 1; + description + "Do not run LACP over the port."; + } + enum "active" { + value 2; + description + "Run LACP in active mode over the port."; + } + enum "passive" { + value 3; + description + "Run LACP in passive mode over the port."; + } + enum "inherit" { + value 4; + description + "Run LACP as configured in bundle."; + } + } + mandatory true; + description + "Specify the mode of operation."; + } + } + leaf port-priority { + when "../../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../../a1:interface-name[starts-with(text(),'TenGigE')] or ../../a1:interface-name[starts-with(text(),'FortyGigE')] or ../../a1:interface-name[starts-with(text(),'HundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../../a1:interface-name"; + } + type uint32 { + range "1..65535" { + description + "Priority for this port. Lower value is higher priority."; + } + } + description + "Priority for this port. Lower value is higher priority."; + } + } + container bfd { + when "../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../a1:interface-name"; + } + description + "BFD configuration on a bundle interface"; + container address-family { + description + "Set configuration for a given address family"; + container ipv4 { + description + "Set configuration for the IPv4 address family"; + leaf destination { + type inet:ipv4-address-no-zone; + description + "Set the destination address for the BFD session"; + } + container echo { + description + "Set the configuration for the echo mode of BFD"; + leaf minimum-interval { + type uint32 { + range "15..2000" { + description + "The preferred minimum interval (in ms) for the BFD session"; + } + } + description + "Set the preferred minimum interval for the BFD session"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "The preferred minimum interval (in ms) for the BFD session"; + } + } + description + "Set the preferred minimum interval for the BFD session"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "The preferred multiplier for the BFD session"; + } + } + description + "Set the preferred multiplier for the BFD session"; + } + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast detection using BFD on bundle members"; + } + container timers { + description + "Set the timers that determine when a BFD session defaults to down"; + leaf start { + type uint32 { + range "1..3600" { + description + "Time in seconds"; + } + } + description + "The time since starting a BFD session before it is considered to have gone down"; + } + leaf nbr-unconfig { + type uint32 { + range "1..3600" { + description + "Time in seconds"; + } + } + description + "The time since a BFD signalled that a peer session is unconfigured before it is considered to have gone down"; + } + } + } + container ipv6 { + description + "Set configuration for the IPv6 address family"; + leaf destination { + type inet:ipv6-address-no-zone; + description + "Set the destination address for the BFD session"; + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "The preferred minimum interval (in ms) for the BFD session"; + } + } + description + "Set the preferred minimum interval for the BFD session"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "The preferred multiplier for the BFD session"; + } + } + description + "Set the preferred multiplier for the BFD session"; + } + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast detection using BFD on bundle members"; + } + container timers { + description + "Set the timers that determine when a BFD session defaults to down"; + leaf start { + type uint32 { + range "1..3600" { + description + "Time in seconds"; + } + } + description + "The time since starting a BFD session before it is considered to have gone down"; + } + leaf nbr-unconfig { + type uint32 { + range "1..3600" { + description + "Time in seconds"; + } + } + description + "The time since a BFD signalled that a peer session is unconfigured before it is considered to have gone down"; + } + } + } + } + container mode { + must "cisco or ietf"; + presence "Indicates a mode node is configured."; + description + "Standard used for per-member BFD"; + container cisco { + presence "Indicates a cisco node is configured."; + description + "Use Cisco standard for BoB"; + } + container ietf { + presence "Indicates a ietf node is configured."; + description + "Use IETF standard for BoB"; + } + } + } + container lacp { + when "../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Bundle interface LACP commands"; + container switchover { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Modify behavior for switching between links in this bundle"; + leaf suppress-flaps { + type uint32 { + range "100..65535" { + description + "The longest down flap which should be suppressed (milliseconds)"; + } + } + description + "Set the time for which to suppress flaps during a LACP switchover"; + } + } + container churn { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Settings for LACP churn detection"; + leaf logging { + type enumeration { + enum "actor" { + value 1; + description + "Log actor churn events only"; + } + enum "partner" { + value 2; + description + "Log partner churn events only"; + } + enum "both" { + value 3; + description + "Log actor and partner churn events"; + } + } + description + "Set parameters for logging of churn events"; + } + } + leaf collector-max-delay { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + type uint32 { + range "0..65535" { + description + "The delay in tens of microseconds (default: 0xFFFF)"; + } + } + description + "Collector max delay to be signaled to the LACP partner"; + } + container timeout { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Set timeout values for LACP-related timers"; + leaf rx-default { + type uint32 { + range "0..3000" { + description + "The time in milliseconds for which to run the timer"; + } + } + description + "Set the timeout between expired and defaulted states"; + } + leaf actor-churn { + type uint32 { + range "0..120" { + description + "The time in milliseconds for which to run the timer"; + } + } + description + "Set the timeout to use before declaring actor churn"; + } + leaf partner-churn { + type uint32 { + range "0..120" { + description + "The time in milliseconds for which to run the timer"; + } + } + description + "Set the timeout to use before declaring partner churn"; + } + } + container cisco { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Cisco LACP extensions"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the use of Cisco LACP extensions"; + container link-order { + description + "Link ordering numbers processing"; + container signaled { + presence "Indicates a signaled node is configured."; + description + "Turn on processing of link ordering numbers"; + } + } + } + } + container non-revertive { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + presence "Indicates a non-revertive node is configured."; + description + "Set the bundle to lacp non-revertive mode"; + } + leaf mode { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + type enumeration { + enum "on" { + value 0; + description + "Do not run LACP over the port."; + } + enum "active" { + value 1; + description + "Run LACP in active mode over the port."; + } + enum "passive" { + value 2; + description + "Run LACP in passive mode over the port."; + } + } + description + " Set the LACP mode on bundle to be used by its member link"; + } + container system { + when "../../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../../a1:interface-name"; + } + description + "Set the default system parameters for LACP bundles"; + leaf priority { + type uint32 { + range "1..65535" { + description + "Bundle LACP system priority. Lower value is higher priority."; + } + } + description + "The system priority to use in LACP negotiations."; + } + leaf mac { + type yang:mac-address; + description + "Configure the system ID to use in LACP negotiations for this bundle."; + } + } + container period { + must "transmission-id or short"; + presence "Indicates a period node is configured."; + description + "Set the period on bundle to be used by its member link"; + leaf transmission-id { + type uint32 { + range "2..30000" { + description + "Specify the requested transmission period (in milliseconds) for the partner system (must be multiple of 2; default 1000)"; + } + } + description + " Set the period on bundle to be used by its member link"; + } + container short { + presence "Indicates a short node is configured."; + description + "set the short period on bundle"; + } + } + leaf default-threshold { + when "../../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../../a1:interface-name[starts-with(text(),'TenGigE')] or ../../a1:interface-name[starts-with(text(),'FortyGigE')] or ../../a1:interface-name[starts-with(text(),'HundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../../a1:interface-name"; + } + type uint32 { + range "1..3" { + description + "Number of LACP packet that are missed before link is defaulted."; + } + } + description + "Set the LACP packet default threshold"; + } + leaf expire-threshold { + when "../../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../../a1:interface-name[starts-with(text(),'TenGigE')] or ../../a1:interface-name[starts-with(text(),'FortyGigE')] or ../../a1:interface-name[starts-with(text(),'HundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../../a1:interface-name"; + } + type uint32 { + range "1..3" { + description + "Number of LACP packet that are missed before link is expired."; + } + } + description + "Set the LACP packet expire threshold"; + } + } + container mlacp { + when "../a1:interface-name[starts-with(text(),'Bundle-')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Multi-chassis LACP per-interface commands"; + leaf iccp-group { + type uint32 { + range "1..4294967295" { + description + "The ICCP redundancy group in which this bundle should operate."; + } + } + description + "ICCP redundancy group related commands for this bundle."; + } + leaf port-priority { + type uint32 { + range "1..65535" { + description + "Priority for member ports. Lower value is higher priority."; + } + } + description + "Set the priority for all member links on this device when running mLACP."; + } + container switchover { + description + "Set the parameters for performing a switchover to/from the mLACP peer"; + leaf type { + type enumeration { + enum "brute-force" { + value 1; + description + "Force switchover by disabling all local member links"; + } + enum "revertive" { + value 2; + description + "Revert based on configured priority values"; + } + } + description + "Set the type of switchover operation to use"; + } + container maximize { + description + "Parameters for switchover behavior to maximize operational links/bandwidth"; + container links { + presence "Indicates a links node is configured."; + description + "Compare the number of operational links"; + leaf threshold { + type uint32 { + range "1..64" { + description + "The number of links below which to switch to the peer if it has more links available"; + } + } + description + "Set the threshold below which to switch to the peer if it has more links available"; + } + } + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Compare the total bandwidth of operational links"; + leaf threshold { + type uint64 { + range "1..18446744073709551615" { + description + "The bandwidth (in kbps) below which to switch to the peer if it has more bandwidth available"; + } + } + description + "Set the threshold below which to switch to the peer if it has more bandwidth available"; + } + } + } + leaf recovery-delay { + type uint32 { + range "0..65535" { + description + "Recovery delay in seconds."; + } + } + description + "Specify delay before bundle becoming active after recovery from failure"; + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses GROUP-BUNDLE; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses GROUP-BUNDLE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-dhcp-client-options-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-dhcp-client-options-cfg.yang new file mode 100644 index 000000000..94cc664ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-dhcp-client-options-cfg.yang @@ -0,0 +1,129 @@ +module Cisco-IOS-XR-um-if-dhcp-client-options-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-dhcp-client-options-cfg"; + prefix um-if-dhcp-client-options-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-dhcp-client-options package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-IPV4-BODY { + container address { + description + "Set the IPv4 address of an interface"; + container dhcp-client-options { + presence "Indicates a dhcp-client-options node is configured."; + description + "dhcp client option"; + container option { + description + "Insert option keyword"; + container vendor-id-option-60 { + must + "not(../client-id-option-61 or + ../user-class-id-option-77)"; + presence "Indicates a vendor-id-option-60 node is configured."; + description + "set vendor id option"; + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..255" { + description + "Enter ascii pattern"; + } + } + mandatory true; + description + "Option 60 in ascii"; + } + } + container client-id-option-61 { + must + "not(../vendor-id-option-60 or + ../user-class-id-option-77) and + (ascii or sn-chassis)"; + presence "Indicates a client-id-option-61 node is configured."; + description + "set client id option"; + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..255" { + description + "Enter ascii pattern"; + } + } + must "not(../sn-chassis)"; + description + "Option 61 in ascii"; + } + container sn-chassis { + must "not(../ascii)"; + presence "Indicates a sn-chassis node is configured."; + description + "sn chassis number"; + } + } + container user-class-id-option-77 { + must + "not(../vendor-id-option-60 or + ../client-id-option-61)"; + presence "Indicates a user-class-id-option-77 node is configured."; + description + "set user class id option"; + leaf ascii { + type xr:Cisco-ios-xr-string { + length "1..255" { + description + "Enter ascii pattern"; + } + } + mandatory true; + description + "Option 77 in ascii"; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface/a1:ipv4" { + uses IF-IPV4-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv4" { + uses IF-IPV4-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-encap-ambiguous-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-encap-ambiguous-cfg.yang new file mode 100644 index 000000000..b2c4e9f08 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-encap-ambiguous-cfg.yang @@ -0,0 +1,526 @@ +module Cisco-IOS-XR-um-if-encap-ambiguous-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-encap-ambiguous-cfg"; + prefix um-if-encap-ambiguous-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-encap-ambiguous package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-10 { + description + "Updated must checks for dot1q/vlan-id and dot1ad/vlan-id"; + semver:module-version "1.1.0"; + } + revision 2020-07-17 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container encapsulation { + when "(../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')])and ../a1:interface-name[contains(text(),'.')]and not(../a1:sub-interface-type/a1:l2transport)" { + tailf:dependency "../a1:interface-name"; + } + description + "Specify which packets will be matched by this sub-interface"; + container ambiguous { + description + "Ambiguous L3 VLAN configuration"; + container dot1q { + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "not(../any) and (../end-vlan-id or ../vlan-id-2 or ../second-dot1q/vlan-id or ../second-dot1q/any)"; + description + "Single VLAN id or start of VLAN range"; + } + container any { + must "not(../vlan-id)"; + presence "Indicates a any node is configured."; + description + "Match any VLAN id"; + } + leaf end-vlan-id { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id"; + description + "End of VLAN range"; + } + leaf vlan-id-2 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-2 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-2"; + description + "End of VLAN range"; + } + leaf vlan-id-3 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-2"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-3 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-3"; + description + "End of VLAN range"; + } + leaf vlan-id-4 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-3"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-4 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-4"; + description + "End of VLAN range"; + } + leaf vlan-id-5 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-4"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-5 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-5"; + description + "End of VLAN range"; + } + leaf vlan-id-6 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-5"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-6 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-6"; + description + "End of VLAN range"; + } + leaf vlan-id-7 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-6"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-7 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-7"; + description + "End of VLAN range"; + } + leaf vlan-id-8 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-7"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-8 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-8"; + description + "End of VLAN range"; + } + leaf vlan-id-9 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-8"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-9 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-9"; + description + "End of VLAN range"; + } + container second-dot1q { + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../../any and not(../any)"; + description + "Single VLAN id"; + } + container any { + must "not(../vlan-id)"; + presence "Indicates a any node is configured."; + description + "Match any VLAN id"; + } + } + } + container dot1ad { + description + "IEEE 802.1ad VLAN-tagged packets"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "not(../any) and (../end-vlan-id or ../vlan-id-2 or ../second-dot1q/vlan-id or ../second-dot1q/any)"; + description + "Single VLAN id or start of VLAN range"; + } + container any { + must "not(../vlan-id)"; + presence "Indicates a any node is configured."; + description + "Match any VLAN id"; + } + leaf end-vlan-id { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id"; + description + "End of VLAN range"; + } + leaf vlan-id-2 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-2 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-2"; + description + "End of VLAN range"; + } + leaf vlan-id-3 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-2"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-3 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-3"; + description + "End of VLAN range"; + } + leaf vlan-id-4 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-3"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-4 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-4"; + description + "End of VLAN range"; + } + leaf vlan-id-5 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-4"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-5 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-5"; + description + "End of VLAN range"; + } + leaf vlan-id-6 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-5"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-6 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-6"; + description + "End of VLAN range"; + } + leaf vlan-id-7 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-6"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-7 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-7"; + description + "End of VLAN range"; + } + leaf vlan-id-8 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-7"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-8 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-8"; + description + "End of VLAN range"; + } + leaf vlan-id-9 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-8"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-9 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-9"; + description + "End of VLAN range"; + } + container dot1q { + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../../any and not(../any)"; + description + "Single VLAN id"; + } + container any { + must "not(../vlan-id)"; + presence "Indicates a any node is configured."; + description + "Match any VLAN id"; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-cfg.yang new file mode 100644 index 000000000..12d5c53d8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-cfg.yang @@ -0,0 +1,481 @@ +module Cisco-IOS-XR-um-if-ethernet-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ethernet-cfg"; + prefix um-if-ethernet-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-ethernet package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-30 { + description + "Updated with statement for 800G interface"; + semver:module-version "3.0.0"; + } + revision 2019-12-12 { + description + "Made changes for priority-flow-control and added frame preemption"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + grouping GROUP-BODY { + container threshold { + when "../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Commands to set the threshold for the appropriate Bit Error Rate"; + leaf sd-ber { + type uint32 { + range "3..15" { + description + "Set an SD BER Threshold of 10e-x, where x is the value passed in here"; + } + } + description + "Set the Signal Degrade Bit Error Rate threshold"; + } + leaf sf-ber { + type uint32 { + range "4..15" { + description + "Set an SF BER threshold of 10e-x, where x is the value passed in here"; + } + } + description + "Set the Signal Fail Bit Error Rate threshold"; + } + } + container report { + when "../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Commands to control interface alarm reporting"; + container sd-ber { + presence "Indicates a sd-ber node is configured."; + description + "Enable Signal Degrade alarm reporting"; + } + container sf-ber { + description + "Commands to control Signal Fail alarm reporting"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signal Fail alarm reporting"; + } + } + container crc-ber { + presence "Indicates a crc-ber node is configured."; + description + "Enable CRC based ber monitoring"; + } + } + container signal { + when "../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Bit Error Rate handling signalling commands"; + container sf-ber { + description + "Signal Fail Bit Error Rate signalling commands"; + container remote-fault { + presence "Indicates a remote-fault node is configured."; + description + "Enable Signal Fail remote fault signalling"; + } + } + } + container carrier-delay { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Set the carrier delay on an interface"; + leaf up { + type uint32 { + range "0..2147483647" { + description + "Delay in milliseconds"; + } + } + description + "Set the carrier delay up value"; + } + leaf down { + type uint32 { + range "0..2147483647" { + description + "Delay in milliseconds"; + } + } + description + "Set the carrier delay down value"; + } + } + leaf duplex { + when "../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + type enumeration { + enum "full" { + value 0; + description + "Full duplex"; + } + enum "half" { + value 1; + description + "Half duplex"; + } + } + description + "Configure duplex operational mode"; + } + leaf fec { + when "../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + type enumeration { + enum "none" { + value 0; + description + "Disable any FEC enabled on the interface"; + } + enum "standard" { + value 1; + description + "Enable the standard (CL-91, Reed-Solomon) FEC"; + } + enum "base-r" { + value 2; + description + "Enable BASE-R FEC"; + } + } + description + "Set the Forward Error Correction on an interface"; + } + leaf flow-control { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'CPRIoE')]" { + tailf:dependency "../a1:interface-name"; + } + type enumeration { + enum "ingress" { + value 0; + description + "Enable the sending of flow control pause frames"; + } + enum "egress" { + value 1; + description + "Enable the receiving of flow control pause frames"; + } + enum "bidirectional" { + value 2; + description + "Enable both sending and receiving of flow control pause frames"; + } + } + description + "Set the flow control mode on an interface"; + } + leaf packet-gap { + when "../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'TenGigE')]" { + tailf:dependency "../a1:interface-name"; + } + type enumeration { + enum "non-standard" { + value 16; + description + "Set the non-standard IPG"; + } + } + description + "Set the IPG on an interface"; + } + leaf loopback { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'CPRIoE')]" { + tailf:dependency "../a1:interface-name"; + } + type enumeration { + enum "external" { + value 0; + description + "Enable external loopback (requires loopback connector)"; + } + enum "internal" { + value 1; + description + "Enable internal loopback"; + } + enum "line" { + value 2; + description + "Enable line loopback"; + } + } + description + "Set the loopback mode on an interface"; + } + container negotiation { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Select autonegotiation mode"; + container auto { + presence "Indicates a auto node is configured."; + description + "Perform link autonegotiation"; + container allow-overrides { + presence "Indicates a allow-overrides node is configured."; + description + "Allow configured values to override negotiated settings"; + } + } + } + leaf speed { + when "../a1:interface-name[starts-with(text(),'MgmtEth')] or ../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'PTP')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')]" { + tailf:dependency "../a1:interface-name"; + } + type enumeration { + enum "10" { + value 10; + description + "Ethernet is 10Mb"; + } + enum "100" { + value 100; + description + "Ethernet is 100Mb"; + } + enum "1000" { + value 1000; + description + "Ethernet is 1Gb"; + } + } + description + "Set the ethernet speed on an interface"; + } + container priority-flow-control { + when "../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Priority flow control options"; + leaf mode { + type enumeration { + enum "off" { + value 0; + description + "Disable priority flow control"; + } + enum "on" { + value 1; + description + "Enable priority flow control"; + } + } + description + "Set priority flow control mode"; + } + container watchdog { + description + " Priority flow control watchdog options"; + leaf mode { + type enumeration { + enum "off" { + value 0; + description + "Disable priority flow control watchdog"; + } + enum "on" { + value 1; + description + "Enable priority flow control watchdog"; + } + } + description + "Set priority flow control watchdog mode"; + } + leaf interval { + type uint32 { + range "100..1000" { + description + "units: milli seconds"; + } + } + description + "PFC WD Polling Interval"; + } + leaf shutdown-multiplier { + type uint32 { + range "1..10" { + description + "units: (shutdown-multiplier * interval) milliseconds"; + } + } + description + "Pause Storm Detection Timer Threshold"; + } + leaf auto-restore-multiplier { + type uint32 { + range "0..100" { + description + "units: (auto-restore-multiplier * interval) milli seconds"; + } + } + description + "Watchdog Auto Restore Timer"; + } + } + } + container fast-shutdown { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ((../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]) and ../a1:interface-name[not(contains(text(),'.'))])" { + tailf:dependency "../a1:interface-name"; + } + presence "Indicates a fast-shutdown node is configured."; + description + "Enable fast shutdown"; + } + container optical-power { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ((../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')]) and ../a1:interface-name[not(contains(text(),'.'))])" { + tailf:dependency "../a1:interface-name"; + } + description + "Commands to set the optical power degrade alarm threshold"; + container alarm { + description + "Set the optical power alarm threshold"; + leaf rx { + type int32 { + range "-300..50" { + description + "The optical power degrade threshold, in units of tenths of dBm"; + } + } + description + "Set the alarm threshold for received optical power"; + } + } + } + container frame-preemption { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'CPRIoE')]" { + tailf:dependency "../a1:interface-name"; + } + presence "Indicates a frame-preemption node is configured."; + description + "Configure frame preemption operational mode"; + } + } + + augment "/a1:interfaces/a1:interface" { + uses GROUP-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses GROUP-BODY; + } + container fast-shutdown { + description + "Fast shutdown Configuration"; + container ethernet { + presence "Indicates a ethernet node is configured."; + description + "Activate fast shutdown for all Ethernet interfaces"; + } + } + container priority-flow-control { + description + "Priority flow control actions on all interfaces"; + container watchdog { + description + "Priority flow control watchdog options"; + leaf mode { + type enumeration { + enum "off" { + value 0; + description + "Disable priority flow control watchdog"; + } + enum "on" { + value 1; + description + "Enable priority flow control watchdog"; + } + } + description + "Set priority flow control watchdog mode"; + } + leaf interval { + type uint32 { + range "100..1000" { + description + "units: milli seconds"; + } + } + description + "PFC WD Polling Interval"; + } + leaf shutdown-multiplier { + type uint32 { + range "1..10" { + description + "units: (shutdown-multiplier * interval) milliseconds"; + } + } + description + "Pause Storm Detection Timer Threshold"; + } + leaf auto-restore-multiplier { + type uint32 { + range "0..100" { + description + "units: (auto-restore-multiplier * interval) milli seconds"; + } + } + description + "Watchdog Auto Restore Timer"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-lmi-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-lmi-cfg.yang new file mode 100644 index 000000000..d811d0e82 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ethernet-lmi-cfg.yang @@ -0,0 +1,122 @@ +module Cisco-IOS-XR-um-if-ethernet-lmi-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ethernet-lmi-cfg"; + prefix um-if-ethernet-lmi-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-ethernet-lmi package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-02 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-ETHER-BODY { + container ethernet { + description + "Ethernet per-interface configuration commands"; + container lmi { + presence "Indicates a lmi node is configured."; + description + "Enable the Local Management Interface protocol"; + leaf status-counter { + type uint32 { + range "2..10" { + description + "Status counter threshold value"; + } + } + description + "Status counter threshold (N393 in MEF 16)"; + } + container polling-verification-timer { + leaf timer-interval { + type uint32 { + range "5..30" { + description + "Timer interval in seconds"; + } + } + must "not(../disable)"; + description + "Polling verification timer interval (T392 in MEF 16)"; + } + container disable { + must "not(../timer-interval)"; + presence "Indicates a disable node is configured."; + description + "Disable the polling verification timer"; + } + } + container extension { + description + "Configure Cisco proprietary extensions"; + container remote-uni { + description + "Configure the Remote UNI Details extension"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the Remote UNI Details extension"; + } + } + } + container log { + description + "Configure logging for particular types of event"; + container errors { + description + "Configure logging of protocol and reliability errors"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable logging of protocol and reliability errors"; + } + } + container events { + description + "Configure logging of significant protocol events"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable logging of significant protocol events"; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-ETHER-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-ETHER-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ip-address-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ip-address-cfg.yang new file mode 100644 index 000000000..63250f2b2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ip-address-cfg.yang @@ -0,0 +1,293 @@ +module Cisco-IOS-XR-um-if-ip-address-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ip-address-cfg"; + prefix um-if-ip-address-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR interface package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-05-27 { + description + "- Included BVI interface under when statement for container dhcp + - Added container dhcp and dhcp-client-options under ipv6 addresses"; + semver:module-version "3.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "2.0.0"; + } + revision 2019-03-29 { + description + "Initial version"; + } + + grouping GROUP-IPV4 { + description + "Interface IPv4 config commands"; + container addresses { + description + "Set the IPv4 address of an interface"; + container address { + presence "Indicates a address node is configured."; + description + "IP address and Mask"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP subnet mask"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "Route-tag to be associated with this address"; + } + } + container secondaries { + description + "Specify a secondary address"; + list secondary { + key "address"; + description + "IP address and Mask"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Secondary IP address"; + } + leaf netmask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Netmask"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "Route-tag to be associated with this address"; + } + } + } + leaf unnumbered { + when "../../../a1:interface-name[not(starts-with(text(),'pw-ether'))]" { + tailf:dependency "../../../a1:interface-name"; + } + type xr:Interface-name; + description + "Enable IP processing without an explicit address"; + } + container dhcp { + when "../../../a1:interface-name[starts-with(text(),'MgmtEth')] or ../../../a1:interface-name[starts-with(text(),'BVI')]" { + tailf:dependency "../../../a1:interface-name"; + } + presence "Indicates a dampening node is configured."; + description + "IPv4 address and Mask negotiated via DHCP"; + } + } + } + + grouping GROUP-IPV6 { + container addresses { + description + "Set the IPv6 address of an interface"; + list ipv6-address { + key "address"; + description + "IPv6 address"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 name or address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "Prefix length in bits"; + } + leaf zone { + type union { + type string { + pattern "0" { + description + "Default zone id. This value must be set when + zone is not intended to be set."; + } + } + type string; + } + mandatory true; + description + "IPv6 address zone"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "Route-tag to be associated with this address"; + } + } + container link-local-address { + presence "Indicates a link-local-address node is configured."; + description + "Link local IPv6 address"; + leaf address { + type inet:ip-address-no-zone; + mandatory true; + description + "IPv6 address"; + } + leaf zone { + type union { + type string { + pattern "0" { + description + "Default zone id. This value must be set when + zone is not intended to be set."; + } + } + type string; + } + mandatory true; + description + "IPv6 address zone"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "Route-tag to be associated with this address"; + } + } + container eui64-addresses { + description + "EUI-64 IPv6 address"; + list eui64-address { + key "address"; + description + "EUI-64 IPv6 address"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 address"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "Prefix Length"; + } + leaf zone { + type union { + type string { + pattern "0" { + description + "Default zone id. This value must be set when + zone is not intended to be set."; + } + } + type string; + } + mandatory true; + description + "IPv6 address zone"; + } + leaf route-tag { + type uint32 { + range "1..4294967295"; + } + description + "Route-tag to be associated with this address"; + } + } + } + container autoconfig { + when "../../../a1:interface-name[starts-with(text(),'MgmtEth')]" { + tailf:dependency "../../../a1:interface-name"; + } + presence "Indicates a autoconfig node is configured."; + description + "Enable slaac on Mgmt interface"; + } + container dhcp { + when "../../../a1:interface-name[starts-with(text(),'MgmtEth')] or ../../../a1:interface-name[starts-with(text(),'BVI')]" { + tailf:dependency "../../../a1:interface-name"; + } + presence "Indicates a dhcp node is configured."; + description + "Enable dhcp on this interface"; + } + container dhcp-client-options { + presence "Indicates a dhcp-client-options node is configured."; + description + "DHCP Client Options"; + } + } + container enable { + presence "Indicates a dampening node is configured."; + description + "Enable IPv6 on interface"; + } + } + + augment "/a1:interfaces/a1:interface/a1:ipv4" { + uses GROUP-IPV4; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv4" { + uses GROUP-IPV4; + } + augment "/a1:interfaces/a1:interface/a1:ipv6" { + uses GROUP-IPV6; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv6" { + uses GROUP-IPV6; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipsubscriber-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipsubscriber-cfg.yang new file mode 100644 index 000000000..60a300ef0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipsubscriber-cfg.yang @@ -0,0 +1,220 @@ +module Cisco-IOS-XR-um-if-ipsubscriber-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipsubscriber-cfg"; + prefix um-if-ipsubscriber-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-ipsubscriber package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container ipsubscriber { + description + "Configure IP Subscriber settings"; + container ipv4 { + description + "Enable IPv4 Subscriber"; + container l2-connected { + description + "Enable L2-connected IP Subscriber"; + container initiator { + description + "Configure IP Subscriber initiator"; + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "Configure DHCP as first-sign-of-life protocol for IPv4 subscriber"; + } + container unclassified-source { + presence "Indicates a unclassified-source node is configured."; + description + "Configure unclassified packets as first-sign-of-life for IPv4 subscriber"; + container address-unique { + presence "Indicates a address-unique node is configured."; + description + "Check for subscriber IP uniqueness during first-sign-of-life"; + } + } + } + } + container routed { + description + "Enable Routed IP Subscriber"; + container initiator { + description + "Configure IP Subscriber initiator"; + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "Configure DHCP as first-sign-of-life protocol for IPv4 subscriber"; + } + container unclassified-ip { + presence "Indicates a unclassified-ip node is configured."; + description + "Configure unclassified packets as first-sign-of-life for IPv4 subscriber"; + } + container dhcp-snoop { + presence "Indicates a dhcp-snoop node is configured."; + description + "Configure DHCP to pass the packets to server for IPv4 subscriber"; + } + } + } + } + container ipv6 { + description + "Enable IPv6 Subscriber"; + container l2-connected { + description + "Enable L2-connected IPv6 Subscriber"; + container initiator { + description + "Configure IPv6 Subscriber initiator"; + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "Configure DHCP as first-sign-of-life protocol for IPv6 subscriber"; + } + } + } + container routed { + description + "Enable Routed IPv6 Subscriber"; + container initiator { + description + "Configure IPv6 Subscriber initiator"; + container unclassified-ip { + presence "Indicates a unclassified-ip node is configured."; + description + "Configure unclassified packets as first-sign-of-life for IPv6 subscriber"; + leaf prefix-len { + type uint32 { + range "1..127" { + description + "Configure Prefix Length of IPv6 Subscriber"; + } + } + description + "Configure Prefix Length of IPv6 Subscriber"; + } + } + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "Configure DHCP as first-sign-of-life protocol for IPv6 subscriber"; + leaf prefix-len { + type uint32 { + range "1..127" { + description + "Configure Prefix Length of IPv6 Subscriber"; + } + } + description + "Configure Prefix Length of IPv6 Subscriber"; + } + } + container dhcp-snoop { + presence "Indicates a dhcp-snoop node is configured."; + description + "Configure DHCP to pass the packets to server for IPv6 subscriber"; + leaf prefix-len { + type uint32 { + range "1..127" { + description + "Configure Prefix Length of IPv6 Subscriber"; + } + } + description + "Configure Prefix Length of IPv6 Subscriber"; + } + } + } + } + } + leaf subscriber-templates { + type uint32 { + range "1..10" { + description + "Max templates on this access interface"; + } + } + description + "Enable subscriber templates on this access interface"; + } + container interface { + presence "Indicates a interface node is configured."; + description + "Enable IP Static subscriber"; + } + container session-limit { + description + "Limit number of IP subscriber sessions "; + container unclassified-source { + description + "Limit IP subscribers for unclassified sources"; + leaf per-vlan { + type uint32 { + range "1..4294967295" { + description + "Session limit"; + } + } + description + "Limit the per VLAN subscribers created"; + } + } + container total { + description + "Limit IP subscribers for all sources"; + leaf per-vlan { + type uint32 { + range "1..4294967295" { + description + "Session limit"; + } + } + description + "Limit the per VLAN subscribers created"; + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv4-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv4-cfg.yang new file mode 100644 index 000000000..2d2afdd2d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv4-cfg.yang @@ -0,0 +1,359 @@ +module Cisco-IOS-XR-um-if-ipv4-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipv4-cfg"; + prefix um-if-ipv4-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR interface configuration. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-02 { + description + "Added container qos-group under propagation/input. + Removed container source under + input/ip-precedence/destination/qos-group + as it's overlapped with + input/qos-group/source/ip-precedence/destination."; + semver:module-version "2.0.0"; + } + revision 2019-10-10 { + description + "Initial version"; + semver:module-version "1.0.0"; + } + + grouping GROUP-IPV4 { + description + "Interface IPv4 config commands"; + container forwarding-enable { + presence "Indicates a forwarding-enable node is configured."; + description + "enable ipv4 forwarding on a interface"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Enable point-to-point handling for this interface."; + } + leaf mtu { + type uint32 { + range "68..65535" { + description + "MTU (bytes)"; + } + } + description + "Set IPv4 Maximum Transmission Unit"; + } + container redirects { + presence "Indicates a redirects node is configured."; + description + "Enable sending ICMP Redirect messages"; + } + container mask-reply { + presence "Indicates a mask-reply node is configured."; + description + "Enable sending ICMP mask reply messages"; + } + container helper-addresses { + description + "Specify a destination address for UDP broadcasts"; + list helper-address { + key "address vrf"; + description + "Specify a destination address for UDP broadcasts"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify a destination address for UDP broadcasts"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF name"; + } + } + } + container icmp { + description + "Disable ICMP unreachable for Nullx interface"; + container unreachables { + description + "Disable sending ICMP Unreachable messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Override sending of ICMP Unreachable messages"; + } + } + } + container unreachables { + description + "Enable sending ICMP Unreachable messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Override sending of ICMP Unreachable messages"; + } + } + container directed-broadcast { + presence "Indicates a directed-broadcast node is configured."; + description + "Enable forwarding of directed broadcasts"; + } + container bgp { + description + "Enable BGP policy based feature"; + container policy { + description + "BGP policy"; + container accounting { + description + "BGP policy accounting"; + container input { + must "source-accounting or destination-accounting"; + presence "Indicates a input node is configured."; + description + "BGP policy accounting on input"; + container source-accounting { + presence "Indicates a source-accounting node is configured."; + description + "BGP policy accounting on source IP address"; + } + container destination-accounting { + presence "Indicates a destination-accounting node is configured."; + description + "BGP policy accounting on destination IP address"; + } + } + container output { + must "source-accounting or destination-accounting"; + presence "Indicates a output node is configured."; + description + "BGP policy accounting on output"; + container source-accounting { + presence "Indicates a source-accounting node is configured."; + description + "BGP policy accounting on source IP address"; + } + container destination-accounting { + presence "Indicates a destination-accounting node is configured."; + description + "BGP policy accounting on destination IP address"; + } + } + } + container propagation { + description + "BGP QoS/Flow-tag policy propagation"; + container input { + description + "Flow type is input"; + container ip-precedence { + description + "QPPB using IP Precedence"; + container source { + must + "not(../destination or ../../qos-group/source + or ../../qos-group/destination)"; + presence "Indicates a source node is configured."; + description + "QPPB on source IP address"; + container qos-group { + description + "QPPB using Qos Group"; + container source { + must "not(../destination)"; + presence "Indicates a source node is configured."; + description + "QPPB on source IP address"; + } + container destination { + must "not(../source)"; + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + } + container destination { + must + "not(../source or ../../qos-group/source + or ../../qos-group/destination)"; + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + container qos-group { + description + "QPPB using Qos Group"; + container destination { + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + } + } + container qos-group { + description + "QPPB using Qos Group"; + container source { + must + "not(../destination or ../../ip-precedence/source + or ../../ip-precedence/destination)"; + presence "Indicates a source node is configured."; + description + "QPPB on source IP address"; + container ip-precedence { + description + "QPPB using IP Precedence"; + container destination { + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + } + container destination { + must + "not(../source or ../../ip-precedence/source + or ../../ip-precedence/destination)"; + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + container flow-tag { + must "(source or destination) and not(source and destination)"; + presence "Indicates a flow-tag node is configured."; + description + "Flow tag policy option"; + container source { + presence "Indicates a source node is configured."; + description + "Flow-tag policy on source IP address"; + } + container destination { + presence "Indicates a destination node is configured."; + description + "Flow-tag policy on destination IP address"; + } + } + } + } + } + } + container verify { + description + "Enable per packet validation"; + container unicast { + description + "Enable per packet validation for unicast"; + container source { + description + "Validation of source address"; + container reachable-via { + presence "Indicates a reachable-via node is configured."; + description + "Specify reachability check to apply to the source address"; + leaf type { + type enumeration { + enum "any" { + value 0; + description + "Source is reachable via any interface"; + } + enum "rx" { + value 1; + description + "Source is reachable via interface on which packet was received"; + } + } + mandatory true; + description + "Source reachable type"; + } + leaf allow-self-ping { + type boolean; + mandatory true; + description + "Allow router to ping itself (opens vulnerability in verification)"; + } + leaf allow-default { + type boolean; + mandatory true; + description + "Allow default route to match when checking source address"; + } + } + } + } + } + container ttl-propagate { + description + "Disable ip ttl propagation for this interface."; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable ipv4 ttl propagation on this interface"; + } + } + container tcp-mss-adjust { + description + "Enable tcp mss adjust for this interface."; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable tcp mss adjust on this interface"; + } + } + container flowspec { + description + "Flowspec on IPv4 interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flowspec on interface"; + } + } + } + + augment "/a1:interfaces/a1:interface/a1:ipv4" { + uses GROUP-IPV4; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv4" { + uses GROUP-IPV4; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv6-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv6-cfg.yang new file mode 100644 index 000000000..c39a1aa9e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-ipv6-cfg.yang @@ -0,0 +1,299 @@ +module Cisco-IOS-XR-um-if-ipv6-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipv6-cfg"; + prefix um-if-ipv6-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR interface ipv6 configuration. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-02 { + description + "Added container qos-group under propagation/input. + Removed container source under + input/ip-precedence/destination/qos-group + as it's overlapped with + input/qos-group/source/ip-precedence/destination."; + semver:module-version "2.0.0"; + } + revision 2019-10-10 { + description + "Initial version"; + semver:module-version "1.0.0"; + } + + feature nd-ra-dns { + description + "IPv6 ND RA DNS"; + } + + feature nd-ra-specific { + description + "IPv6 ND RA Specific"; + } + + grouping GROUP-IPV6 { + leaf mtu { + type uint32 { + range "1280..65535" { + description + "MTU (bytes)"; + } + } + description + "Set IPv6 Maximum Transmission Unit"; + } + container unreachables { + description + "Enable sending ICMP Unreachable messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Override sending of ICMP Unreachable messages"; + } + } + container verify { + description + "Enable per packet validation"; + container unicast { + description + "Enable per packet validation for unicast"; + container source { + description + "Validation of source address"; + container reachable-via { + presence "Indicates a reachable-via node is configured."; + description + "Specify reachability check to apply to the source address"; + leaf type { + type enumeration { + enum "any" { + value 0; + description + "Source is reachable via any interface"; + } + enum "rx" { + value 1; + description + "Source is reachable via interface on which packet was received"; + } + } + mandatory true; + description + "Source reachable type"; + } + leaf allow-self-ping { + type boolean; + mandatory true; + description + "Allow router to ping itself (opens vulnerability in verification)"; + } + leaf allow-default { + type boolean; + mandatory true; + description + "Allow default route to match when checking source address"; + } + } + } + } + } + container bgp { + description + "Enable BGP policy based feature"; + container policy { + description + "BGP policy"; + container accounting { + description + "BGP policy accounting"; + container input { + must "source-accounting or destination-accounting"; + presence "Indicates a input node is configured."; + description + "BGP policy accounting on input"; + container source-accounting { + presence "Indicates a source-accounting node is configured."; + description + "BGP policy accounting on source IP address"; + } + container destination-accounting { + presence "Indicates a destination-accounting node is configured."; + description + "BGP policy accounting on destination IP address"; + } + } + container output { + must "source-accounting or destination-accounting"; + presence "Indicates a output node is configured."; + description + "BGP policy accounting on output"; + container source-accounting { + presence "Indicates a source-accounting node is configured."; + description + "BGP policy accounting on source IP address"; + } + container destination-accounting { + presence "Indicates a destination-accounting node is configured."; + description + "BGP policy accounting on destination IP address"; + } + } + } + container propagation { + description + "BGP QoS/Flow-tag policy propagation"; + container input { + description + "FLow type is input"; + container ip-precedence { + description + "QPPB using IP Precedence"; + container source { + must + "not(../destination or ../../qos-group/source + or ../../qos-group/destination)"; + presence "Indicates a source node is configured."; + description + "QPPB on source IP address"; + container qos-group { + description + "QPPB using Qos Group"; + container source { + must "not(../destination)"; + presence "Indicates a source node is configured."; + description + "QPPB on source IP address"; + } + container destination { + must "not(../source)"; + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + } + container destination { + must + "not(../source or ../../qos-group/source + or ../../qos-group/destination)"; + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + container qos-group { + description + "QPPB using Qos Group"; + container destination { + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + } + } + container qos-group { + description + "QPPB using Qos Group"; + container source { + must + "not(../destination or ../../ip-precedence/source + or ../../ip-precedence/destination)"; + presence "Indicates a source node is configured."; + description + "QPPB on source IP address"; + container ip-precedence { + description + "QPPB using IP Precedence"; + container destination { + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + } + container destination { + must + "not(../source or ../../ip-precedence/source + or ../../ip-precedence/destination)"; + presence "Indicates a destination node is configured."; + description + "QPPB on destination IP address"; + } + } + container flow-tag { + must "(source or destination) and not(source and destination)"; + presence "Indicates a flow-tag node is configured."; + description + "Flow tag policy option"; + container source { + presence "Indicates a source node is configured."; + description + "Flow-tag policy on source IP address"; + } + container destination { + presence "Indicates a destination node is configured."; + description + "Flow-tag policy on destination IP address"; + } + } + } + } + } + } + container ttl-propagate { + description + "Disable ip ttl propagation for this interface."; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable ipv6 ttl propagation on this interface"; + } + } + container tcp-mss-adjust { + description + "Enable tcp mss adjust for this interface."; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable tcp mss adjust on this interface"; + } + } + container flowspec { + description + "Flowspec on IPv6 interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flowspec on interface"; + } + } + } + + augment "/a1:interfaces/a1:interface/a1:ipv6" { + uses GROUP-IPV6; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv6" { + uses GROUP-IPV6; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2trans-service-policy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2trans-service-policy-cfg.yang new file mode 100644 index 000000000..3d57e0726 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2trans-service-policy-cfg.yang @@ -0,0 +1,353 @@ +module Cisco-IOS-XR-um-if-l2trans-service-policy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-l2trans-service-policy-cfg"; + prefix um-if-l2trans-service-policy-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-if-l2transport-cfg { + prefix a2; + } + import tailf-common { + prefix tailf; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-l2trans-service-policy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature qos_ui_supp_qfab_cfg { + description + "qos ui supp qfab cfg"; + } + + feature qos_ui_supp_gre_qos { + description + "qos ui supp gre qos"; + } + + feature qos_ui_supp_l2_acct { + description + "qos ui supp l2 acct"; + } + + feature qos_ui_supp_spi { + description + "qos ui supp spi"; + } + + feature qos_ui_supp_subscriber_parent_policy { + description + "qos ui supp subscriber parent policy"; + } + + feature qos_ui_supp_subscriber_group { + description + "qos ui supp subscriber group"; + } + + feature qos_ui_supp_sfrag_parent_policy { + description + "qos ui supp sfrag parent policy"; + } + + feature qos_ui_supp_ipsec_policy { + description + "qos ui supp ipsec policy"; + } + + feature qos_ui_supp_l2transport_cac_acct { + description + "qos ui supp l2transport cac acct"; + } + + feature qos_ui_supp_l2transport_acct { + description + "qos ui supp l2transport acct"; + } + + grouping L2TRANS-BODY { + container service-policy { + description + "Configure QoS Service policy"; + container outputs { + when "../../../a1:interface-name[not(contains(text(),'.'))]" { + tailf:dependency "../../../a1:interface-name"; + } + description + "direction of service policy application"; + list output { + key "service-policy-name"; + description + "direction of service policy application"; + leaf service-policy-name { + type string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "direction of service policy application"; + } + container account { + if-feature "qos_ui_supp_l2transport_acct"; + description + "Turn off layer specific accounting"; + container layer2 { + must "not(../nolayer2 or ../user-defined)"; + presence "Indicates a layer2 node is configured."; + description + "Turn on l2 accounting"; + } + container nolayer2 { + must "not(../layer2 or ../user-defined)"; + presence "Indicates a nolayer2 node is configured."; + description + "Turn off l2 accounting"; + } + leaf user-defined { + type int32 { + range "-63..63" { + description + "Overhead accounting value"; + } + } + must "not(../layer2 or ../nolayer2)"; + description + "User defined accounting"; + } + } + } + } + container inputs { + when "../../../a1:interface-name[not(contains(text(),'.'))]" { + tailf:dependency "../../../a1:interface-name"; + } + description + "configure a policy in the input direction"; + list input { + key "service-policy-name"; + description + "configure a policy in the input direction"; + leaf service-policy-name { + type string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "configure a policy in the input direction"; + } + container account { + if-feature "qos_ui_supp_l2transport_acct"; + description + "Turn off layer specific accounting"; + container layer2 { + must "not(../nolayer2 or ../user-defined)"; + presence "Indicates a layer2 node is configured."; + description + "Turn on l2 accounting"; + } + container nolayer2 { + must "not(../layer2 or ../user-defined)"; + presence "Indicates a nolayer2 node is configured."; + description + "Turn off l2 accounting"; + } + leaf user-defined { + type int32 { + range "-63..63" { + description + "Overhead accounting value"; + } + } + must "not(../layer2 or ../nolayer2)"; + description + "User defined accounting"; + } + } + } + } + } + } + + grouping L2TRANS-BODY-SUBINTF { + container l2transport-service-policy { + description + "Configure QoS Service policy"; + container inputs-subintf { + when "../../a1:interface-name[(contains(text(),'.'))] and ../../a1:sub-interface-type/a1:l2transport" { + tailf:dependency "../../a1:interface-name"; + } + description + "configure a policy in the input direction"; + list input { + key "service-policy-name"; + description + "configure a policy in the input direction"; + leaf service-policy-name { + type string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "configure a policy in the input direction"; + } + leaf shared-policy-instance { + if-feature "qos_ui_supp_spi"; + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Name of the shared-policy-instance(Max 31 chars)"; + } + } + description + "Configure a shared-policy-instance"; + } + container account { + if-feature "qos_ui_supp_l2transport_cac_acct"; + presence "Indicates a account node is configured."; + description + "Turn off layer specific accounting"; + container layer2 { + must "not(../nolayer2 or ../user-defined)"; + presence "Indicates a layer2 node is configured."; + description + "Turn on l2 accounting"; + } + container nolayer2 { + must "not(../layer2 or ../user-defined)"; + presence "Indicates a nolayer2 node is configured."; + description + "Turn off l2 accounting"; + } + leaf user-defined { + type int32 { + range "-63..63" { + description + "Overhead accounting value"; + } + } + must "not(../layer2 or ../nolayer2)"; + description + "User defined accounting"; + } + } + } + } + container outputs-subintf { + when "../../a1:interface-name[(contains(text(),'.'))] and ../../a1:sub-interface-type/a1:l2transport" { + tailf:dependency "../../a1:interface-name"; + } + description + "configure a policy in the output direction"; + list output { + key "service-policy-name"; + description + "configure a policy in the output direction"; + leaf service-policy-name { + type string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "configure a policy in the output direction"; + } + leaf shared-policy-instance { + if-feature "qos_ui_supp_spi"; + type xr:Cisco-ios-xr-string { + length "1..31" { + description + "Name of the shared-policy-instance(Max 31 chars)"; + } + } + description + "Configure a shared-policy-instance"; + } + container account { + if-feature "qos_ui_supp_l2transport_cac_acct"; + presence "Indicates a account node is configured."; + description + "Turn off layer specific accounting"; + container layer2 { + must "not(../nolayer2 or ../user-defined)"; + presence "Indicates a layer2 node is configured."; + description + "Turn on l2 accounting"; + } + container nolayer2 { + must "not(../layer2 or ../user-defined)"; + presence "Indicates a nolayer2 node is configured."; + description + "Turn off l2 accounting"; + } + leaf user-defined { + type int32 { + range "-63..63" { + description + "Overhead accounting value"; + } + } + must "not(../layer2 or ../nolayer2)"; + description + "User defined accounting"; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface/a2:l2transport" { + uses L2TRANS-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure/a2:l2transport" { + uses L2TRANS-BODY; + } + augment "/a1:interfaces/a1:interface" { + uses L2TRANS-BODY-SUBINTF; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses L2TRANS-BODY-SUBINTF; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2transport-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2transport-cfg.yang new file mode 100644 index 000000000..b71ec0c2b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-l2transport-cfg.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XR-um-if-l2transport-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-l2transport-cfg"; + prefix um-if-l2transport-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-l2transport package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-10 { + description + "Initial draft"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container l2transport { + presence "Indicates a l2transport node is configured."; + description + "Enable Layer 2 transport and enter its configuration submode"; + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mac-address-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mac-address-cfg.yang new file mode 100644 index 000000000..a167fa0ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mac-address-cfg.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XR-um-if-mac-address-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-mac-address-cfg"; + prefix um-if-mac-address-cfg; + + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-mac-address package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-26 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + leaf mac-address { + when "../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'MgmtEth')] or ../a1:interface-name[starts-with(text(),'Bundle-Ether')] or ../a1:interface-name[starts-with(text(),'PW-Ether')] or ../a1:interface-name[starts-with(text(),'BVI')] or ../a1:interface-name[starts-with(text(),'InterflexLeft')] or ../a1:interface-name[starts-with(text(),'InterflexRight')] or ../a1:interface-name[starts-with(text(),'CSI-Ether')] or ../a1:interface-name[starts-with(text(),'PW-P2P')] or ../a1:interface-name[starts-with(text(),'SRP')] or ../a1:interface-name[starts-with(text(),'CPRIoE')]" { + tailf:dependency "../a1:interface-name"; + } + type yang:mac-address; + description + "Set the Mac address(xxxx.xxxx.xxxx) on an interface"; + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mpls-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mpls-cfg.yang new file mode 100644 index 000000000..95d532126 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-mpls-cfg.yang @@ -0,0 +1,85 @@ +module Cisco-IOS-XR-um-if-mpls-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-mpls-cfg"; + prefix um-if-mpls-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-mpls package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + grouping GROUP-MPLS { + container mpls { + description + "MPLS interface subcommands"; + leaf mtu { + type uint32 { + range "68..65535" { + description + " MTU size in bytes"; + } + } + description + "Set the MPLS MTU for the interface"; + } + container label-security { + description + "MPLS label-security for the interface"; + container rpf { + presence "Indicates a rpf node is configured."; + description + "MPLS RPF for incoming packets"; + } + container multi-label-packet { + description + "Handling incoming packets with multiple labels on the stack"; + container drop { + presence "Indicates a drop node is configured."; + description + "Drop packets with multiple labels on the stack"; + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses GROUP-MPLS; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses GROUP-MPLS; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-nve-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-nve-cfg.yang new file mode 100644 index 000000000..bdca37a63 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-nve-cfg.yang @@ -0,0 +1,299 @@ +module Cisco-IOS-XR-um-if-nve-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-nve-cfg"; + prefix um-if-nve-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-nve package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-15 { + description + "1.Added mpls-udp support under overlay-encapsulation + 2.Added container nve support"; + semver:module-version "1.0.1m"; + } + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + leaf source-interface { + type xr:Interface-name; + description + "Configure source interface for Network Virtualization Endpoint"; + } + container anycast { + description + "Configure anycast mode parameters for this VTEP"; + leaf source-interface { + type xr:Interface-name; + description + "Configure source interface for the anycast mode"; + } + leaf sync-group { + type inet:ipv4-address-no-zone; + must "../source-interface"; + description + "Assign a BiDir multicast group for sync between anycast gateways"; + } + } + container member { + description + "Configure NVE member(s)"; + container vni { + description + "Configure member VxLAN Network Identfier"; + list vni-range { + key "vni-start vni-end"; + description + "Start of VNI range"; + leaf vni-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + description + "Start of VNI range"; + } + leaf vni-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + description + "End of VNI range"; + } + container mcast-group { + description + "associate a multicast core group with VxLAN segment(s)"; + leaf start-address { + type inet:ipv4-address-no-zone; + must "../end-address"; + description + "Start of mcast IP range"; + } + leaf end-address { + type inet:ipv4-address-no-zone; + must "../start-address"; + description + "End of mcast IP range"; + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + description + "Associate a VRF with VxLAN segment"; + } + container host-reachability { + description + "Configure the control protocol for VxLAN tunnel endpoint reachability"; + container protocol { + description + "Configure the control protocol for VxLAN tunnel endpoint reachability"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Use BGP EVPN for VxLAN tunnel endpoint reachability"; + } + } + } + container suppress-unknown-unicast-flooding { + presence "Indicates a suppress-unknown-unicast-flooding node is configured."; + description + "Configure the suppression of unknown unicast flooding"; + } + container load-balance { + description + "Configure load balance mode"; + container per-evi { + presence "Indicates a per-evi node is configured."; + description + "Configure per-evi load balance mode (default is per-flow)"; + } + } + } + } + } + container overlay-encapsulation { + description + "Configure encapsulation for Network Virtualization Endpoint"; + container vxlan { + must "not(../soft-gre)"; + presence "Indicates a vxlan node is configured."; + description + "Configure VxLAN encapsulation for Network Virtualization Endpoint"; + } + container soft-gre { + must "not(../vxlan)"; + presence "Indicates a soft-gre node is configured."; + description + "Configure Soft GRE encapsulation for Network Virtualization Endpoint"; + } + container mpls-udp { + presence "Indicates a mpls-udp node is configured."; + description + "Configure mpls-udp encapsulation for Network Virtualization Endpoint"; + } + } + container vxlan-udp-port { + description + "Configure UDP port number in VxLAN encapsulation"; + container port-4789 { + must "not(../port-48879)"; + presence "Indicates a port-4789 node is configured."; + description + "IETF defined UDP port number for VxLAN"; + } + container port-48879 { + must "not(../port-4789)"; + presence "Indicates a port-48879 node is configured."; + description + "UDP port number for iVxLAN"; + } + } + container redundancy { + presence "Indicates a redundancy node is configured."; + description + "Redundancy"; + container backbone { + description + "Configure ICCP backbone"; + container vxlan { + presence "Indicates a vxlan node is configured."; + description + "ICCP VXLAN backbone"; + container iccp { + description + "Inter-Chassis Communication Protocol"; + leaf group { + type uint32 { + range "1..4294967295" { + description + "Enter group number"; + } + } + description + "Configure ICCP group number"; + } + } + } + container mpls { + presence "Indicates a mpls node is configured."; + description + "ICCP MPLS backbone"; + container iccp { + description + "Inter-Chassis Communication Protocol"; + leaf group { + type uint32 { + range "1..4294967295" { + description + "Enter group number"; + } + } + description + "Configure ICCP group number"; + } + } + } + } + } + container ingress-replication { + description + "Configure ingress replication for VxLAN tunnel endpoint"; + container protocol { + description + "Configure the control protocol for VxLAN tunnel endpoint ingress replication"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Use BGP EVPN for VxLAN tunnel endpoint ingress replication"; + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container nve { + presence "Indicates a nve node is configured."; + description + "Global nve related configuration"; + container decap-prefix { + description + "Prefix Decapsulation"; + container source { + description + "Source interface"; + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "IPv4 Decap prefix name with maximum 64 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "IPv4"; + } + leaf object-group { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "IPv4 object group name - maximum 64 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "Configure source object-group"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-service-policy-qos-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-service-policy-qos-cfg.yang new file mode 100644 index 000000000..ccda30854 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-service-policy-qos-cfg.yang @@ -0,0 +1,423 @@ +module Cisco-IOS-XR-um-if-service-policy-qos-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-service-policy-qos-cfg"; + prefix um-if-service-policy-qos-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + " + Cisco Systems, Inc. + Customer Service + + 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 IOS-XR YANG model derived from CLI. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved. + "; + + revision 2020-10-01 { + description + "Added augmentation to interface-preconfigure"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-01-11 { + description + "Initial version"; + } + + feature service-policy { + description + "Service policy"; + } + + feature account-user-def { + description + "User defined accounting"; + } + + feature shared-policy-instance { + description + "Configure a shared-policy-instance"; + } + + feature sub-parent-policy { + description + "Configure an svlan policy"; + } + + feature sub-group { + description + "Configure a subscriber-group"; + } + + feature sfrag-parent-policy { + description + "Apply service fragment policy"; + } + + feature ipsec-policy { + description + "service policy to be applied to encrypted traffic"; + } + + feature egress { + description + "Configure service policy for egress direction"; + } + + feature ingress { + description + "Configure service policy for ingress direction"; + } + + feature qfab { + description + "Configure switch fabric"; + } + + typedef service-policy-name-type { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>\\\\-]{0,62}"; + } + } + + typedef account-type { + type enumeration { + enum "layer1" { + value 8; + description + "Turn on Layer 1 accounting"; + } + enum "layer2" { + value 1; + description + "Turn on Layer 2 accounting"; + } + enum "nolayer2" { + value 2; + description + "Turn off Layer 2 accounting"; + } + enum "user-defined" { + value 4; + description + "User defined accounting"; + } + } + description + "This field is used to specify the type of Layer specific or user + defined Qos accounting"; + } + + typedef l2-account-type { + type enumeration { + enum "layer2" { + value 1; + description + "Turn on Layer 2 accounting"; + } + enum "nolayer2" { + value 2; + description + "Turn off Layer 2 accounting"; + } + enum "user-defined" { + value 4; + description + "User defined accounting"; + } + } + description + "This field is used to specify the type of Layer specific or user + defined Qos accounting"; + } + + grouping service-policy-account { + leaf account { + type account-type; + description + "Turn off layer specific accounting"; + } + leaf account-user-defined { + when "../account = 'user-defined'"; + if-feature "account-user-def"; + type int8 { + range "-63..63" { + description + "Overhead accounting value"; + } + } + description + "User defined accounting"; + } + } + + grouping service-policy-account-l2 { + leaf account { + type l2-account-type; + description + "Turn off layer specific accounting"; + } + leaf account-user-defined { + when "../account = 'user-defined'"; + if-feature "account-user-def"; + type int8 { + range "-63..63" { + description + "Overhead accounting value"; + } + } + description + "User defined accounting"; + } + } + + grouping shared-policy-instance { + leaf shared-policy-instance { + if-feature "shared-policy-instance"; + type service-policy-name-type { + length "1..32" { + description + "Name of the shared policy instance"; + } + } + must "not(../subscriber-parent) and not(../service-fragment-parent)"; + description + "Configure a shared-policy-instance"; + } + } + + grouping shared-policy-instance-l2 { + leaf shared-policy-instance { + if-feature "shared-policy-instance"; + type service-policy-name-type { + length "1..32" { + description + "Name of the shared policy instance"; + } + } + description + "Configure a shared-policy-instance"; + } + } + + grouping subscriber-parent { + container subscriber-parent { + if-feature "sub-parent-policy"; + must "not(../shared-policy-instance) and not(../service-fragment-parent)"; + presence "Configure an svlan policy"; + description + "Configure an svlan policy"; + leaf resource-id { + type uint8 { + range "0..3" { + description + "resource-id value"; + } + } + description + "Configure a resource-id"; + } + } + } + + grouping service-fragment-parent { + container service-fragment-parent { + if-feature "sfrag-parent-policy"; + must "not(../shared-policy-instance) and not(../subscriber-parent)"; + presence "Apply service fragment policy"; + description + "Apply service fragment policy, do not use this node for non service fragment policy"; + } + } + + grouping IF-BODY { + container service-policy { + when "../a1:interface-name[not(starts-with(text(),'sub_atm'))] and ../a1:interface-name[not(starts-with(text(),'tunnel'))] and ../a1:interface-name[not(starts-with(text(),'tunnel-te'))] and ../a1:interface-name[not(starts-with(text(),'tunnel-gre'))] and ../a1:interface-name[not(starts-with(text(),'tunnel-mte'))] and ../a1:interface-name[not(starts-with(text(),'MgmtEth'))] and ../a1:interface-name[not(starts-with(text(),'Loopback'))] and ../a1:interface-name[not(starts-with(text(),'sbc'))] and ../a1:interface-name[not(starts-with(text(),'serviceinfra'))] and ../a1:interface-name[not(starts-with(text(),'serviceapp'))] and ../a1:interface-name[not(starts-with(text(),'Service-Engine'))] and ../a1:interface-name[not(starts-with(text(),'Service-Mgmt'))]" { + tailf:dependency "../a1:interface-name"; + } + if-feature "service-policy"; + description + "Configure a service policy"; + list output { + when "../../a1:interface-name[not(starts-with(text(),'tunnel-ip'))]" { + tailf:dependency "../../a1:interface-name"; + } + if-feature "egress"; + key "service-policy-name"; + description + "direction of service policy application"; + leaf service-policy-name { + type service-policy-name-type; + description + "Name of the service policy. Set 'output' for 'service-ipsec and 'service-gre' interfaces"; + } + uses service-policy-account; + uses shared-policy-instance; + uses subscriber-parent; + uses service-fragment-parent; + } + list output-subscriber-group { + when "../../a1:interface-name[not(starts-with(text(),'tunnel-ip'))]" { + tailf:dependency "../../a1:interface-name"; + } + if-feature "egress"; + must "subscriber-group"; + key "service-policy-name"; + description + "direction of service policy application"; + leaf service-policy-name { + type service-policy-name-type; + description + "Name of the service policy. Set 'output' for 'service-ipsec and 'service-gre' interfaces"; + } + list subscriber-group { + if-feature "sub-group"; + key "name"; + description + "Configure a subscriber-group"; + leaf name { + type string { + length "1..32" { + description + "subscriber-group name"; + } + } + } + } + } + list output-pre-encrypt { + when "../../a1:interface-name[starts-with(text(),'service-ipsec')] or ../../a1:interface-name[starts-with(text(),'service-gre')]" { + tailf:dependency "../../a1:interface-name"; + } + if-feature "egress"; + if-feature "ipsec-policy"; + key "service-policy-name"; + description + "service policy to be applied to pre encrypted traffic"; + leaf service-policy-name { + type service-policy-name-type; + description + "Name of the service policy"; + } + uses service-policy-account; + } + list output-post-encrypt { + when "../../a1:interface-name[starts-with(text(),'service-ipsec')] or ../../a1:interface-name[starts-with(text(),'service-gre')]" { + tailf:dependency "../../a1:interface-name"; + } + if-feature "egress"; + if-feature "ipsec-policy"; + key "service-policy-name"; + description + "service policy to be applied to post encrypted traffic"; + leaf service-policy-name { + type service-policy-name-type; + description + "Name of the service policy"; + } + uses service-policy-account; + } + list input { + when "../../a1:interface-name[not(starts-with(text(),'tunnel-ip'))]" { + tailf:dependency "../../a1:interface-name"; + } + if-feature "ingress"; + key "service-policy-name"; + description + "Configure a policy in the input direction"; + leaf service-policy-name { + type service-policy-name-type; + description + "Name of the service policy. Set 'input' for 'service-ipsec and 'service-gre' interfaces"; + } + uses service-policy-account; + uses shared-policy-instance; + uses subscriber-parent; + uses service-fragment-parent; + } + list input-pre-decrypt { + when "../../a1:interface-name[starts-with(text(),'service-ipsec')] or ../../a1:interface-name[starts-with(text(),'service-gre')]" { + tailf:dependency "../../a1:interface-name"; + } + if-feature "ingress"; + if-feature "ipsec-policy"; + key "service-policy-name"; + description + "service policy to be applied to pre decrypted traffic"; + leaf service-policy-name { + type service-policy-name-type; + description + "Name of the service policy"; + } + uses service-policy-account; + } + list input-post-decrypt { + when "../../a1:interface-name[starts-with(text(),'service-ipsec')] or ../../a1:interface-name[starts-with(text(),'service-gre')]" { + tailf:dependency "../../a1:interface-name"; + } + if-feature "ingress"; + if-feature "ipsec-policy"; + key "service-policy-name"; + description + "service policy to be applied to post decrypt traffic"; + leaf service-policy-name { + type service-policy-name-type; + description + "Name of the service policy"; + } + uses service-policy-account; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container switch-fabric { + if-feature "qfab"; + description + "switch fabric global command sub mode"; + container service-policy { + description + "Configure QFAB Service policy"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "0..63"; + } + description + "Name of the QFAB service policy"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-tunnel-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-tunnel-cfg.yang new file mode 100644 index 000000000..395a726de --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-tunnel-cfg.yang @@ -0,0 +1,511 @@ +module Cisco-IOS-XR-um-if-tunnel-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-tunnel-cfg"; + prefix um-if-tunnel-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-tunnel package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-24 { + description + "Added containers for tunnel destination object-group + 2022-03-02 + Added containers direct"; + semver:module-version "2.0.1m"; + } + revision 2021-01-21 { + description + "Added containers under tunnel"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Initial version"; + semver:module-version "1.0.1"; + } + + feature is_tunnel_ipv6_any_mode_supported { + description + "is tunnel ipv6 any mode supported"; + } + + feature is_tunnel_src_direct_supported { + description + "is tunnel src direct supported"; + } + + feature is_tunnel_mode_decap_supported { + description + "is tunnel mode decap supported"; + } + + feature is_tunnel_dst_addr_grp_supported { + description + "Flag indicating that tunnel destination address group is supported"; + } + + feature is_tunnel_gre_supported { + description + "is tunnel gre supported"; + } + + feature is_tunnel_gre_ipv6_trans_supported { + description + "is tunnel gre ipv6 trans supported"; + } + + feature is_mgre_through_cli_supported { + description + "is mgre through cli supported"; + } + + feature is_mgre_tunnel_ipv4_trans_supported { + description + "is mgre tunnel ipv4 trans supported"; + } + + feature is_mgre_tunnel_ipv6_trans_supported { + description + "is mgre tunnel ipv6 trans supported"; + } + + feature is_tunnel_ipv4_trans_supported { + description + "is tunnel ipv4 trans supported"; + } + + feature is_tunnel_ipv6_trans_supported { + description + "is tunnel ipv6 trans supported"; + } + + feature is_tunnel_ip_dfbit_copy_supported { + description + "is tunnel ip dfbit copy supported"; + } + + feature is_tunnel_gre_key_ignore_supported { + description + "is tunnel gre key ignore supported"; + } + + feature is_tunnel_gre_key_entropy_supported { + description + "is tunnel gre key entropy supported"; + } + + feature is_tunnel_gre_key_supported { + description + "is tunnel gre key supported"; + } + + feature is_tunnel_ip_transport_vrf_supported { + description + "is tunnel ip transport vrf supported"; + } + + grouping GROUP-TUNNEL { + container tunnel { + when "../a1:interface-name[starts-with(text(),'tunnel-ip')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Configure GRE/IP tunnel parameters"; + container source { + description + "Configure source of tunnel"; + leaf interface-name { + type xr:Interface-name; + must + "not(../ipv4-address or ../ipv6-address + or ../direct)"; + description + "Name of tunnel source interface"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must + "not(../interface-name or ../ipv6-address + or ../direct)"; + description + "IPV4 address of the tunnel source"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../interface-name or ../ipv4-address)"; + description + "IPV6 address of the tunnel source"; + } + container direct { + if-feature "is_tunnel_src_direct_supported"; + must + "not(../interface-name or ../ipv4-address + or ../ipv6-address)"; + presence "Indicates a direct node is configured."; + description + "Local interface addresses"; + } + } + container destination { + description + "Configure destination of tunnel"; + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..64"; + } + must "../ipv4-address or ../ipv6-address"; + description + "Prefix-list to validate destination's resolving prefix"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "IPV4 address of the tunnel destination"; + } + leaf length { + type inet:ipv4-address-no-zone; + must "../ipv4-address"; + description + "IPv4 prefix length of the tunnel destination"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "IPV6 address of the tunnel destination"; + } + container object-group { + if-feature "is_tunnel_dst_addr_grp_supported"; + description + "Object group of the tunnel destination"; + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "IPv4 tunnel destination object group name"; + } + } + must "not(../ipv6)"; + description + "IPv4 object groups"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "IPv6 tunnel destination object group name"; + } + } + must "not(../ipv4)"; + description + "IPv6 object groups"; + } + } + } + container bfd { + description + "Configure bfd for tunnel"; + container destination { + description + "Configure bfd for tunnel"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "IPV4 address of the BFD destination"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "IPV6 address of the tunnel destination"; + } + } + leaf period { + type uint32 { + range "1..32767" { + description + "Enter period in seconds"; + } + } + description + "Keepalive period in seconds (default 10 seconds)"; + } + leaf retry { + type uint32 { + range "1..255" { + description + "Enter retry range 1-255"; + } + } + description + "Number of retries for Keepalive (default 3)"; + } + leaf minimum-interval { + type uint32 { + range "150..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "3..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container mode { + description + "Tunnel encapsulation method (default: gre ipv4)"; + container gre { + if-feature "is_tunnel_gre_supported"; + description + "IP over GRE encapsulation"; + container multipoint { + if-feature "is_mgre_through_cli_supported"; + description + "multipoint GRE over IPv4/IPv6 encapsulation"; + container ipv4 { + if-feature "is_mgre_tunnel_ipv4_trans_supported"; + must + "not(../ipv6 or ../../ipv4 or ../../ipv6 or + ../../../ipv4 or ../../../ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "multipoint GRE over IPv4 encapsulation"; + } + container ipv6 { + if-feature "is_mgre_tunnel_ipv6_trans_supported"; + must + "not(../ipv4 or ../../ipv4 or ../../ipv6 or + ../../../ipv4 or ../../../ipv6)"; + presence "Indicates a ipv6 node is configured."; + description + "multipoint GRE over IPv6 encapsulation"; + } + } + container ipv4 { + must + "not(../ipv6 or ../multipoint/ipv4 or ../multipoint/ipv6 or + ../../ipv4 or ../../ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "GRE over IPv4 encapsulation"; + } + container ipv6 { + if-feature "is_tunnel_gre_ipv6_trans_supported"; + must + "not(../ipv4 or ../multipoint/ipv4 or ../multipoint/ipv6 or + ../../ipv4 or ../../ipv6)"; + presence "Indicates a ipv6 node is configured."; + description + "GRE over IPv6 encapsulation"; + } + } + container ipv4 { + if-feature "is_tunnel_ipv4_trans_supported"; + must + "not(../ipv6 or ../gre/ipv4 or ../gre/ipv6 or + ../gre/multipoint/ipv4 or ../gre/multipoint/ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "Generic packet tunneling over IPv4 encapsulation"; + } + container ipv6 { + if-feature "is_tunnel_ipv6_trans_supported"; + must + "not(../ipv4 or ../gre/ipv4 or ../gre/ipv6 or + ../gre/multipoint/ipv4 or ../gre/multipoint/ipv6)"; + presence "Indicates a ipv6 node is configured."; + description + "Generic packet tunneling over IPv6 encapsulation"; + } + leaf encapsulation-mode { + if-feature "is_tunnel_mode_decap_supported"; + type enumeration { + enum "decap" { + value 1; + description + "Decap-only tunnel"; + } + enum "encap" { + value 2; + description + "Encap-only tunnel"; + } + } + must + "(../ipv4 or ../ipv6 or ../gre/ipv4 or ../gre/ipv6) and + not(../gre/multipoint/ipv4 or ../gre/multipoint/ipv6)"; + description + "configure this node"; + } + } + leaf tos { + type uint32 { + range "0..255" { + description + "Enter TOS bits as decimal, hex (0x) or octal (0) value"; + } + } + description + "Configure Type of Service bits for this tunnel"; + } + container ttl { + description + "Configure the time-to-live for packets sent over this tunnel"; + container disable { + must "not(../ttl-value)"; + presence "Indicates a disable node is configured."; + description + "Disable decrement of TTL"; + } + leaf ttl-value { + type uint32 { + range "1..255" { + description + "Enter the TTL value"; + } + } + must "not(../disable)"; + description + "Enter the TTL value"; + } + } + container dfbit { + description + "Modify Do not Fragment Bit"; + container disable { + must "not(../copy)"; + presence "Indicates a disable node is configured."; + description + "Disable DF bit (i.e. allow fragmentation)"; + } + container copy { + if-feature "is_tunnel_ip_dfbit_copy_supported"; + must "not(../disable)"; + presence "Indicates a copy node is configured."; + description + "Copy DF bit from inner payload"; + } + } + container key-ignore { + if-feature "is_tunnel_gre_key_ignore_supported"; + presence "Indicates a key-ignore node is configured."; + description + "GRE key field processing configuration"; + } + container key { + if-feature "is_tunnel_gre_key_entropy_supported"; + description + "Configure the key value for packets sent over this tunnel"; + container entropy { + if-feature "is_tunnel_gre_key_entropy_supported"; + must "not(../key-value)"; + presence "Indicates a entropy node is configured."; + description + "Key contains entropy hash"; + } + leaf key-value { + if-feature "is_tunnel_gre_key_supported"; + type uint32 { + range "0..4294967295" { + description + "Enter the Key value"; + } + } + must "not(../entropy)"; + description + "Enter the Key value"; + } + } + leaf vrf { + if-feature "is_tunnel_ip_transport_vrf_supported"; + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "vrf table name"; + } + } + description + "set tunnel vrf membership"; + } + } + container keepalive { + presence "Indicates a keepalive node is configured."; + description + "Enable keepalive packets on this tunnel"; + leaf keepalive-period { + type uint32 { + range "1..32767" { + description + "Keepalive period in seconds (default 10 seconds)"; + } + } + description + "Keepalive period in seconds (default 10 seconds)"; + } + leaf retries { + type uint32 { + range "1..255" { + description + "Number of retries (default 3)"; + } + } + must "../keepalive-period"; + description + "Number of retries (default 3)"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses GROUP-TUNNEL; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses GROUP-TUNNEL; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-vrf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-vrf-cfg.yang new file mode 100644 index 000000000..9750091be --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-if-vrf-cfg.yang @@ -0,0 +1,141 @@ +module Cisco-IOS-XR-um-if-vrf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-vrf-cfg"; + prefix um-if-vrf-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if vrf package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-10 { + description + "Initial version"; + semver:module-version "1.0.0"; + } + + grouping GROUP-IFSUB { + leaf vrf { + when "../a1:interface-name[not(starts-with(text(),'tunnel-'))] and ../a1:interface-name[not(starts-with(text(),'cem'))] and ../a1:interface-name[not(starts-with(text(),'nve'))]" { + tailf:dependency "../a1:interface-name"; + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Set VRF in which the interface operates"; + } + container address-family { + when "../a1:interface-name[not(starts-with(text(),'pw-ether'))] and ../a1:interface-name[not(starts-with(text(),'pw-iw'))] and ../a1:interface-name[not(starts-with(text(),'cem'))]" { + tailf:dependency "../a1:interface-name"; + } + description + "AFI/SAFI configuration"; + container ipv4 { + description + "IPv4 address family"; + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast topology"; + container default-topology { + presence "Indicates a default-topology node is configured."; + description + "Multicast default topology"; + } + container topologies { + description + "Specify a non-default topology"; + list topology { + key "topology-name"; + description + "Specify a non-default topology"; + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Topology name"; + } + } + description + "Specify a non-default topology"; + } + } + } + } + } + container ipv6 { + description + "IPv6 address family"; + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast topology"; + container default-topology { + presence "Indicates a default-topology node is configured."; + description + "Multicast default topology"; + } + container topologies { + description + "Specify a non-default topology"; + list topology { + key "topology-name"; + description + "Specify a non-default topology"; + leaf topology-name { + type string { + length "1..32" { + description + "Topology name"; + } + } + description + "Specify a non-default topology"; + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses GROUP-IFSUB; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses GROUP-IFSUB; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-iidmgr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-iidmgr-cfg.yang new file mode 100644 index 000000000..fe80175a8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-iidmgr-cfg.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-um-iidmgr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-iidmgr-cfg"; + prefix um-iidmgr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR iidmgr package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-25 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container iidmgr { + description + "Internal ID Manager"; + container iid { + description + "Internal ID configuration"; + leaf holdtime { + type uint32 { + range "0..60" { + description + "Length of timeout in minutes"; + } + } + description + "Holdtime for stale/freed IID"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-install-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-install-cfg.yang new file mode 100644 index 000000000..446fac644 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-install-cfg.yang @@ -0,0 +1,88 @@ +module Cisco-IOS-XR-um-install-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-install-cfg"; + prefix um-install-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR install package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-04 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container install { + description + "Install configuration"; + container repositories { + description + "Per repository configuration"; + list repository { + must "url or description"; + key "repository-name"; + description + "Per repository configuration"; + leaf repository-name { + type string { + length "1..80" { + description + "Repository ID (up to 80 characters)"; + } + } + description + "Per repository configuration"; + } + leaf url { + type string { + length "1..1024" { + description + "ftp://[;]/ -> FTP repository, + http://[;]/ -> HTTP repository, + https://[;]/ -> HTTPS repository, + file:/// -> Local File repository + or directory - this must be a subdirectory of one of + '/var/xr/disk1/', '/harddisk:/', or '/misc/disk1/'"; + } + } + description + "Repository URL - path to local repository or directory or ftp, http, + or https path to remote repository, optionally containing the name of + a VRF for the repository."; + } + leaf description { + type string { + length "1..800" { + description + "Repository description"; + } + } + description + "Description of this repository"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-interface-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-interface-cfg.yang new file mode 100644 index 000000000..8e9ca4405 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-interface-cfg.yang @@ -0,0 +1,385 @@ +module Cisco-IOS-XR-um-interface-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-interface-cfg"; + prefix um-interface-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import tailf-common { + prefix tailf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR interface package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-04 { + description + "Added sec-admin-state node under controller"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-29 { + description + "Initial version"; + } + + grouping GROUP-BODY { + container sub-interface-type { + description + "Specify type of sub-interface"; + container l2transport { + presence "Indicates a l2transport node is configured."; + description + "l2transport sub-interface"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "point-to-point sub-interface"; + } + container multipoint { + presence "Indicates a multipoint node is configured."; + description + "multipoint sub-interface"; + } + } + container ipv4 { + description + "Interface IPv4 config commands"; + } + container ipv6 { + description + "Interface IPv6 config commands"; + } + container dampening { + when "../interface-name[not(starts-with(text(),'SBC'))] and ../interface-name[not(starts-with(text(),'tunnel-te'))] and ../interface-name[not(starts-with(text(),'tunnel-mte'))] and ../interface-name[not(starts-with(text(),'tunnel-gre'))] and ../interface-name[not(starts-with(text(),'tunnel-ip'))] and ../interface-name[not(starts-with(text(),'VASILeft'))] and ../interface-name[not(starts-with(text(),'VASIRight'))] and ../interface-name[not(starts-with(text(),'service-gre'))] and ../interface-name[not(starts-with(text(),'service-ipsec'))] and ../interface-name[not(starts-with(text(),'InterflexLeft'))] and ../interface-name[not(starts-with(text(),'InterflexRight'))] and ../interface-name[not(starts-with(text(),'CEM'))]" { + tailf:dependency "../interface-name"; + } + presence "Indicates a dampening node is configured."; + description + "configure state dampening on the given interface"; + container decay-half-life { + presence "Indicates a decay-half-life node is configured."; + description + "Decay half life (in minutes)"; + leaf value { + type uint32 { + range "1..45" { + description + "Decay half life (in minutes)"; + } + } + mandatory true; + description + "Decay half life (in minutes)"; + } + container reuse-threshold { + must "suppress-threshold"; + presence "Indicates a reuse-threshold node is configured."; + description + "Reuse threshold"; + leaf value { + type uint32 { + range "1..20000" { + description + "Reuse threshold"; + } + } + mandatory true; + description + "Reuse threshold"; + } + container suppress-threshold { + must "max-suppress-time"; + presence "Indicates a suppress-threshold node is configured."; + description + "Suppress threshold"; + leaf value { + type uint32 { + range "1..20000" { + description + "Suppress threshold"; + } + } + mandatory true; + description + "Suppress threshold"; + } + container max-suppress-time { + presence "Indicates a max-suppress-time node is configured."; + description + "Max suppress time (in minutes)"; + leaf value { + type uint32 { + range "1..255" { + description + "Max suppress time (in minutes)"; + } + } + mandatory true; + description + "Max suppress time (in minutes)"; + } + container restart-penalty { + when "../../../../../../interface-name[not(starts-with(text(),'BVI'))] and ../../../../../../interface-name[not(starts-with(text(),'PW-Ether'))] and ../../../../../../interface-name[not(starts-with(text(),'PW-IW'))] and ../../../../../../interface-name[not(starts-with(text(),'Bundle-Ether'))] and ../../../../../../interface-name[not(starts-with(text(),'Bundle-POS'))] and ../../../../../../interface-name[not(starts-with(text(),'CSI-Ether'))] and ../../../../../../interface-name[not(starts-with(text(),'CSI'))] and ../../../../../../interface-name[not(starts-with(text(),'SFI'))] and ../../../../../../interface-name[not(starts-with(text(),'nve'))] and ../../../../../../interface-name[not(starts-with(text(),'Odu-Group-Mp'))] and ../../../../../../interface-name[not(starts-with(text(),'Odu-Group-Te'))] and ../../../../../../interface-name[not(starts-with(text(),'Loopback'))]" { + tailf:dependency "../../../../../../interface-name"; + } + presence "Indicates a restart-penalty node is configured."; + description + "Restart penalty"; + leaf value { + type uint32 { + range "0..20000" { + description + "Restart penalty"; + } + } + mandatory true; + description + "Restart penalty"; + } + } + } + } + } + } + } + container encapsulation { + when "../interface-name[starts-with(text(),'POS')] or ../interface-name[starts-with(text(),'serial')] or ../interface-name[starts-with(text(),'multilink')]" { + tailf:dependency "../interface-name"; + } + description + "Set the encapsulation on an interface"; + container ppp { + presence "Indicates a ppp node is configured."; + description + "Point-to-Point protocol"; + } + container hdlc { + presence "Indicates a hdlc node is configured."; + description + "Serial HDLC synchronous"; + } + container mfr { + when "../../interface-name[starts-with(text(),'serial')]" { + tailf:dependency "../../interface-name"; + } + presence "Indicates a mfr node is configured."; + description + "Multilink Frame Relay Member Link"; + } + container frame-relay { + when "../../interface-name[not(contains(text(),'.'))]" { + tailf:dependency "../../interface-name"; + } + presence "Indicates a frame-relay node is configured."; + description + "Frame Relay networks"; + container IETF { + presence "Indicates a IETF node is configured."; + description + "Use RFC1490/RFC2427 encapsulation"; + } + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "shutdown the given interface"; + } + leaf mtu { + when "../interface-name[not(starts-with(text(),'SBC'))] and ../interface-name[not(starts-with(text(),'tunnel-te'))] and ../interface-name[not(starts-with(text(),'tunnel-mte'))] and ../interface-name[not(starts-with(text(),'VASILeft'))] and ../interface-name[not(starts-with(text(),'VASIRight'))] and ../interface-name[not(starts-with(text(),'service-gre'))] and ../interface-name[not(starts-with(text(),'service-ipsec'))] and ../interface-name[not(starts-with(text(),'InterflexLeft'))] and ../interface-name[not(starts-with(text(),'InterflexRight'))] and ../interface-name[not(starts-with(text(),'CEM'))]" { + tailf:dependency "../interface-name"; + } + type uint32 { + range "64..65535" { + description + "MTU size in bytes"; + } + } + description + "Set the MTU on an interface"; + } + container logging { + when "../interface-name[starts-with(text(),'Loopback')] or ../interface-name[starts-with(text(),'Bundle-Ether')] or ../interface-name[starts-with(text(),'Bundle-POS')] or ../interface-name[starts-with(text(),'tunnel')] or ../interface-name[starts-with(text(),'service')] or ../interface-name[starts-with(text(),'Service')] or ../interface-name[starts-with(text(),'VASILeft')] or ../interface-name[starts-with(text(),'VASIRight')] or ../interface-name[starts-with(text(),'FirewallManagement')] or ../interface-name[starts-with(text(),'SBC')] or ../interface-name[starts-with(text(),'InterflexLeft')] or ../interface-name[starts-with(text(),'InterflexRight')] or ../interface-name[starts-with(text(),'BVI')] or ../interface-name[starts-with(text(),'PW-Ether')] or ../interface-name[starts-with(text(),'PW-IW')] or ../interface-name[starts-with(text(),'Odu-Group-Mp')] or ../interface-name[starts-with(text(),'Odu-Group-Te')] or ../interface-name[starts-with(text(),'nve')] or ../interface-name[starts-with(text(),'CSI')] or ../interface-name[starts-with(text(),'SFI')] or ../interface-name[contains(text(),'.')]" { + tailf:dependency "../interface-name"; + } + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container link-status { + presence "Indicates a link-status node is configured."; + description + "Enable interface and line-protocol state change alarms"; + } + } + } + leaf bandwidth { + when "../interface-name[not(starts-with(text(),'SBC'))] and ../interface-name[not(starts-with(text(),'FirewallManagement'))] and ../interface-name[not(starts-with(text(),'VASILeft'))] and ../interface-name[not(starts-with(text(),'VASIRight'))] and ../interface-name[not(starts-with(text(),'service-gre'))] and ../interface-name[not(starts-with(text(),'service-ipsec'))] and ../interface-name[not(starts-with(text(),'InterflexLeft'))] and ../interface-name[not(starts-with(text(),'InterflexRight'))] and ../interface-name[not(starts-with(text(),'CEM'))]" { + tailf:dependency "../interface-name"; + } + type uint64 { + range "0..18446744073709551615" { + description + "bandwidth in kbps"; + } + } + description + "Set the bandwidth of an interface"; + } + leaf description { + type string { + length "1..1024" { + description + "Description for this interface"; + } + } + description + "Set description for this interface"; + } + } + + grouping CONT-BODY { + container shutdown { + when "../controller-name[not(starts-with(text(),'MACSecCtrlr'))] and ../controller-name[not(starts-with(text(),'Odu-Group-'))] and ../controller-name[not(starts-with(text(),'dwdm'))]" { + tailf:dependency "../controller-name"; + } + presence "Indicates a shutdown node is configured."; + description + "shutdown the given controller"; + } + leaf description { + when "../controller-name[not(starts-with(text(),'CPRI'))] and ../controller-name[not(starts-with(text(),'MACSecCtrlr'))] and ../controller-name[not(starts-with(text(),'Odu-Group-'))] and ../controller-name[not(starts-with(text(),'STM'))] and ../controller-name[not(starts-with(text(),'STS'))] and ../controller-name[not(starts-with(text(),'VC'))] and ../controller-name[not(starts-with(text(),'dwdm'))]" { + tailf:dependency "../controller-name"; + } + type string { + length "1..1024" { + description + "Description for this controller"; + } + } + description + "Set description for this controller"; + } + leaf sec-admin-state { + when "../controller-name[not(starts-with(text(),'MACSecCtrlr'))] and ../controller-name[not(starts-with(text(),'Odu-Group-'))] and ../controller-name[not(starts-with(text(),'E1'))] and ../controller-name[not(starts-with(text(),'E3'))] and ../controller-name[not(starts-with(text(),'T1'))] and ../controller-name[not(starts-with(text(),'T3'))] and ../controller-name[not(starts-with(text(),'SONET'))] and ../controller-name[not(starts-with(text(),'ODU'))] and ../controller-name[not(starts-with(text(),'OTU'))] and ../controller-name[not(starts-with(text(),'dwdm'))]" { + tailf:dependency "../controller-name"; + } + type enumeration { + enum "normal" { + value 0; + description + "change the sec-admin-state to normal, only for optics"; + } + enum "maintenance" { + value 1; + description + "change the sec-admin-state to maintenance"; + } + } + description + "Configure the secondary admin state, not available for all controllers"; + } + } + + container interfaces { + description + "Interface configuration"; + list interface { + key "interface-name"; + description + "Interface configuration subcommands"; + leaf interface-name { + type xr:Interface-name; + description + "Interface configuration subcommands"; + } + uses GROUP-BODY; + } + list interface-preconfigure { + key "interface-name"; + description + "Specify a preconfig interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface configuration subcommands"; + } + uses GROUP-BODY; + } + list controller { + key "controller-name"; + description + "Controller configuration subcommands"; + leaf controller-name { + type xr:Controller-name; + description + "Controller name"; + } + uses CONT-BODY; + } + list controller-preconfigure { + key "controller-name"; + description + "Specify a preconfig controller"; + leaf controller-name { + type xr:Controller-name; + description + "Controller name"; + } + uses CONT-BODY; + } + } + container logging { + description + "Modify message logging facilities"; + container events { + description + "Configure event monitoring parameters"; + container link-status { + description + "Enable or disable UP/DOWN state notifications for all interfaces"; + container disable { + must "not(../software-interfaces)"; + presence "Indicates a disable node is configured."; + description + "Disable state UP/DOWN notifications for all interfaces"; + } + container software-interfaces { + must "not(../disable)"; + presence "Indicates a software-interfaces node is configured."; + description + "Enable state UP/DOWN notification for software interfaces"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ip-virtual-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ip-virtual-cfg.yang new file mode 100644 index 000000000..be2981f40 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ip-virtual-cfg.yang @@ -0,0 +1,161 @@ +module Cisco-IOS-XR-um-ip-virtual-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ip-virtual-cfg"; + prefix um-ip-virtual-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ip-virtual package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-02 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container ipv4 { + description + "Global IPv4 configuration commands"; + container virtual { + description + "virtual address for management interfaces options"; + container address { + description + "virtual address for management interfaces"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address/prefix"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + must "../ip-address"; + description + "IPv4 address/prefix"; + } + container vrfs { + description + "Select VRF for which the virtual ip address is configured"; + list vrf { + key "vrf-name"; + description + "Select VRF for which the virtual ip address is configured"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + " A VRF name"; + } + } + description + "Select VRF for which the virtual ip address is configured"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 address/prefix"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + mandatory true; + description + "IPv4 address/prefix"; + } + } + } + container use-as-src-addr { + presence "Indicates a use-as-src-addr node is configured."; + description + "Use as default src address on sourced packets?"; + } + } + } + } + container ipv6 { + description + "Global IPv6 configuration commands"; + container virtual { + description + "virtual address for management interfaces options"; + container address { + description + "virtual address for management interfaces"; + leaf ip-address { + type inet:ipv6-address-no-zone; + description + "IPv6 address/prefix"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + must "../ip-address"; + description + "IPv6 address/prefix"; + } + container vrfs { + description + "Select VRF for which the virtual ip address is configured"; + list vrf { + key "vrf-name"; + description + "Select VRF for which the virtual ip address is configured"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + " A VRF name"; + } + } + description + "Select VRF for which the virtual ip address is configured"; + } + leaf ip-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IPv6 address/prefix"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "IPv6 address/prefix"; + } + } + } + container use-as-src-addr { + presence "Indicates a use-as-src-addr node is configured."; + description + "Use as default src address on sourced packets?"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipsla-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipsla-cfg.yang new file mode 100644 index 000000000..db7e4f2cd --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipsla-cfg.yang @@ -0,0 +1,4121 @@ +module Cisco-IOS-XR-um-ipsla-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipsla-cfg"; + prefix um-ipsla-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipsla package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-22 { + description + "removed must statement from the container local-ip"; + semver:module-version "2.0.1M"; + } + revision 2021-10-07 { + description + "Modified the range of leaf y-value + 2021-07-08 + path corrected in the list ipv4-address under container remote-ip/ipv4-addresses + and added must statement under container local-ip"; + semver:module-version "2.0.0"; + } + revision 2021-02-26 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container ipsla { + description + "IPSLA configuration commands"; + container operations { + description + "IPSLA operation configuration"; + list operation { + key "operation-number"; + description + "Operation number"; + leaf operation-number { + type uint32 { + range "1..2048" { + description + "Operation number"; + } + } + description + "Operation number"; + } + container type { + description + "Type of operation"; + container icmp { + description + "ICMP operation types"; + container echo { + presence "Indicates a echo node is configured."; + description + "ICMP echo operation type"; + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this operation"; + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default 60)"; + } + } + description + "Frequency of the probing"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + container request { + description + "Payload size in request probe packet"; + leaf enter-request-datasize-in-byte { + type uint32 { + range "19..20" { + description + "Enter request datasize in byte"; + } + } + description + "Enter request datasize in byte"; + } + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe timeout in ms (default 5000 ms)"; + } + } + description + "Probe timeout interval"; + } + container source { + description + "Address/port of the source device"; + container address { + description + "IPv4/IPv6 address of the source device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the source device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the source device"; + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on source device"; + } + } + leaf tos { + type uint32 { + range "0..255" { + description + "Type of service number"; + } + } + description + "Type of service setting in probe packet"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VPN Routing/Forwarding instance name"; + } + } + description + "Configure IPSLA for a VPN Routing/Forwarding instance"; + } + container destination { + description + "Address/port of the target device"; + container address { + description + "IPv4/IPv6 address of the target device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the target device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the target device"; + } + } + } + } + container path-echo { + presence "Indicates a path-echo node is configured."; + description + "ICMP path-echo operation type"; + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this operation"; + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default 60)"; + } + } + description + "Frequency of the probing"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + container request { + description + "Payload size in request probe packet"; + leaf enter-request-datasize-in-byte { + type uint32 { + range "19..20" { + description + "Enter request datasize in byte"; + } + } + description + "Enter request datasize in byte"; + } + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe timeout in ms (default 5000 ms)"; + } + } + description + "Probe timeout interval"; + } + container source { + description + "Address/port of the source device"; + container address { + description + "IPv4/IPv6 address of the source device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the source device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the source device"; + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on source device"; + } + } + container lsr-path { + description + "Loose source routing path (up to 8 intermediate nodes)"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + must "../ip-address"; + max-elements "8"; + description + "Enter IPv4 address of the intermediate node"; + } + } + leaf tos { + type uint32 { + range "0..255" { + description + "Type of service number"; + } + } + description + "Type of service setting in probe packet"; + } + container destination { + description + "Address/port of the target device"; + container address { + description + "IPv4/IPv6 address of the target device"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the target device"; + } + } + } + } + container path-jitter { + presence "Indicates a path-jitter node is configured."; + description + "ICMP path-jitter operation type"; + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this operation"; + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default 60)"; + } + } + description + "Frequency of the probing"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + container request { + description + "Payload size in request probe packet"; + leaf enter-request-datasize-in-byte { + type uint32 { + range "19..20" { + description + "Enter request datasize in byte"; + } + } + description + "Enter request datasize in byte"; + } + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe timeout in ms (default 5000 ms)"; + } + } + description + "Probe timeout interval"; + } + container source { + description + "Address/port of the source device"; + container address { + description + "IPv4/IPv6 address of the source device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the source device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the source device"; + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on source device"; + } + } + container packet { + description + "Probe packet configuration parameters"; + leaf count { + type uint32 { + range "1..100" { + description + "Packet count (default 10)"; + } + } + description + "Number of packets to be transmitted during a probe"; + } + leaf interval { + type uint32 { + range "1..60000" { + description + "Packet interval (default 20 ms)"; + } + } + description + "Inter packet interval"; + } + } + container lsr-path { + description + "Loose source routing path (up to 8 intermediate nodes)"; + leaf-list ip-address { + type inet:ipv4-address-no-zone; + must "../ip-address"; + max-elements "8"; + description + "Enter IPv4 address of the intermediate node"; + } + } + leaf tos { + type uint32 { + range "0..255" { + description + "Type of service number"; + } + } + description + "Type of service setting in probe packet"; + } + container destination { + description + "Address/port of the target device"; + container address { + description + "IPv4/IPv6 address of the target device"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the target device"; + } + } + } + } + } + container udp { + description + "UDP operation types"; + container echo { + presence "Indicates a echo node is configured."; + description + "UDP echo operation type"; + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this operation"; + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default 60)"; + } + } + description + "Frequency of the probing"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + container request { + description + "Payload size in request probe packet"; + leaf enter-request-datasize-in-byte { + type uint32 { + range "19..20" { + description + "Enter request datasize in byte"; + } + } + description + "Enter request datasize in byte"; + } + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe timeout in ms (default 5000 ms)"; + } + } + description + "Probe timeout interval"; + } + container source { + description + "Address/port of the source device"; + container address { + description + "IPv4/IPv6 address of the source device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the source device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the source device"; + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on source device"; + } + } + container destination { + description + "Address/port of the target device"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the target device"; + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on target device"; + } + } + container packet { + description + "Probe packet configuration parameters"; + leaf count { + type uint32 { + range "1..100" { + description + "Packet count (default 10)"; + } + } + description + "Number of packets to be transmitted during a probe"; + } + leaf interval { + type uint32 { + range "1..60000" { + description + "Packet interval (default 20 ms)"; + } + } + description + "Inter packet interval"; + } + } + container statistics { + description + "Statistics collection parameters for this operation"; + container hourly { + description + "Statistics collection aggregated over an hour"; + leaf buckets { + type uint32 { + range "0..25" { + description + "Specify number of hours (default 2)"; + } + } + description + "Number of Hours for which statistics are kept"; + } + container distribution { + description + "Distribution of statistics configuration"; + leaf count { + type uint32 { + range "1..20" { + description + "Specify number of distribution intervals (default 1)"; + } + } + description + "Count of distribution intervals maintained"; + } + leaf interval { + type uint32 { + range "1..100" { + description + "Specify distribution interval in ms (default 20 ms)"; + } + } + description + "Time interval for each statistical distribution"; + } + } + } + container intervals { + description + "Statistics collection over specified time interval"; + list interval { + key "interval-time"; + description + "Statistics collection over specified time interval"; + leaf interval-time { + type uint32 { + range "1..3600" { + description + "Interval in seconds"; + } + } + description + "Statistics collection over specified time interval"; + } + leaf buckets { + type uint32 { + range "1..100" { + description + "Buckets of enhanced statistics kept"; + } + } + description + "Maximum number of buckets to keep"; + } + } + } + } + container control { + description + "Control packets configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable control packets"; + } + } + container verify-data { + presence "Indicates a verify-data node is configured."; + description + "Check each IPSLA response for corruption"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VPN Routing/Forwarding instance name"; + } + } + description + "Configure IPSLA for a VPN Routing/Forwarding instance"; + } + leaf tos { + type uint32 { + range "0..255" { + description + "Type of service number"; + } + } + description + "Type of service setting in probe packet"; + } + container history { + description + "Configure the history parameters for this operation"; + leaf buckets { + type uint32 { + range "1..60" { + description + "Specify number of buckets (default 15)"; + } + } + description + "Buckets of history kept"; + } + container filter { + description + "Criteria to add operation data to history"; + container all { + presence "Indicates an all node is configured."; + description + "Store history data for all operations"; + } + container failures { + presence "Indicates a failures node is configured."; + description + "Store data for operations that failed"; + } + } + leaf lives { + type uint32 { + range "0..2" { + description + "Specify number of lives to be kept (default 0)"; + } + } + description + "Lives of history kept"; + } + } + } + container jitter { + presence "Indicates a jitter node is configured."; + description + "UDP jitter operation type"; + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this operation"; + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default 60)"; + } + } + description + "Frequency of the probing"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + container request { + description + "Payload size in request probe packet"; + leaf enter-request-datasize-in-byte { + type uint32 { + range "19..20" { + description + "Enter request datasize in byte"; + } + } + description + "Enter request datasize in byte"; + } + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe timeout in ms (default 5000 ms)"; + } + } + description + "Probe timeout interval"; + } + container source { + description + "Address/port of the source device"; + container address { + description + "IPv4/IPv6 address of the source device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the source device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the source device"; + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on source device"; + } + } + container destination { + description + "Address/port of the target device"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the target device"; + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on target device"; + } + } + container packet { + description + "Probe packet configuration parameters"; + leaf count { + type uint32 { + range "1..100" { + description + "Packet count (default 10)"; + } + } + description + "Number of packets to be transmitted during a probe"; + } + leaf interval { + type uint32 { + range "1..60000" { + description + "Packet interval (default 20 ms)"; + } + } + description + "Inter packet interval"; + } + } + container statistics { + description + "Statistics collection parameters for this operation"; + container hourly { + description + "Statistics collection aggregated over an hour"; + leaf buckets { + type uint32 { + range "0..25" { + description + "Specify number of hours (default 2)"; + } + } + description + "Number of Hours for which statistics are kept"; + } + container distribution { + description + "Distribution of statistics configuration"; + leaf count { + type uint32 { + range "1..20" { + description + "Specify number of distribution intervals (default 1)"; + } + } + description + "Count of distribution intervals maintained"; + } + leaf interval { + type uint32 { + range "1..100" { + description + "Specify distribution interval in ms (default 20 ms)"; + } + } + description + "Time interval for each statistical distribution"; + } + } + } + container intervals { + description + "Statistics collection over specified time interval"; + list interval { + key "interval-time"; + description + "Statistics collection over specified time interval"; + leaf interval-time { + type uint32 { + range "1..3600" { + description + "Interval in seconds"; + } + } + description + "Statistics collection over specified time interval"; + } + leaf buckets { + type uint32 { + range "1..100" { + description + "Buckets of enhanced statistics kept"; + } + } + description + "Maximum number of buckets to keep"; + } + } + } + } + container control { + description + "Control packets configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable control packets"; + } + } + container verify-data { + presence "Indicates a verify-data node is configured."; + description + "Check each IPSLA response for corruption"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VPN Routing/Forwarding instance name"; + } + } + description + "Configure IPSLA for a VPN Routing/Forwarding instance"; + } + leaf tos { + type uint32 { + range "0..255" { + description + "Type of service number"; + } + } + description + "Type of service setting in probe packet"; + } + } + } + container mpls { + description + "MPLS operation types"; + container lsp { + description + "MPLS LSP operation types"; + container ping { + presence "Indicates a ping node is configured."; + description + "MPLS Echo operation type"; + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this operation"; + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default 60)"; + } + } + description + "Frequency of the probing"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + container request { + description + "Payload size in request probe packet"; + leaf enter-request-datasize-in-byte { + type uint32 { + range "19..20" { + description + "Enter request datasize in byte"; + } + } + description + "Enter request datasize in byte"; + } + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe timeout in ms (default 5000 ms)"; + } + } + description + "Probe timeout interval"; + } + container source { + description + "Address/port of the source device"; + container address { + description + "IPv4/IPv6 address of the source device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the source device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the source device"; + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on source device"; + } + } + container target { + description + "Target for the MPLS LSP operation"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Target specified as an IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Target FEC address with mask"; + } + leaf mask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Target FEC address with mask"; + } + } + container traffic-eng { + description + "Traffic engineering target"; + leaf tunnel { + type uint32 { + range "0..65535" { + description + "Tunnel interface number"; + } + } + description + "TE tunnel interface"; + } + } + container pseudowire { + presence "Indicates a pseudowire node is configured."; + description + "Pseudowire target"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Pseudowire target"; + } + leaf virtual-circuit-id { + type uint32 { + range "1..4294967295" { + description + "Virtual Circuit ID"; + } + } + mandatory true; + description + "Virtual Circuit ID"; + } + } + } + } + container trace { + presence "Indicates a trace node is configured."; + description + "MPLS Trace operation type"; + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this operation"; + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default 60)"; + } + } + description + "Frequency of the probing"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + container request { + description + "Payload size in request probe packet"; + leaf enter-request-datasize-in-byte { + type uint32 { + range "19..20" { + description + "Enter request datasize in byte"; + } + } + description + "Enter request datasize in byte"; + } + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe timeout in ms (default 5000 ms)"; + } + } + description + "Probe timeout interval"; + } + container source { + description + "Address/port of the source device"; + container address { + description + "IPv4/IPv6 address of the source device"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Enter IPv4 address of the source device"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Enter IPv6 address of the source device"; + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "Specify the port number"; + } + } + description + "Port number on source device"; + } + } + container target { + description + "Target for the MPLS LSP operation"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Target specified as an IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Target FEC address with mask"; + } + leaf mask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Target FEC address with mask"; + } + } + container traffic-eng { + description + "Traffic engineering target"; + leaf tunnel { + type uint32 { + range "0..65535" { + description + "Tunnel interface number"; + } + } + description + "TE tunnel interface"; + } + } + container pseudowire { + presence "Indicates a pseudowire node is configured."; + description + "Pseudowire target"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Pseudowire target"; + } + leaf virtual-circuit-id { + type uint32 { + range "1..4294967295" { + description + "Virtual Circuit ID"; + } + } + mandatory true; + description + "Virtual Circuit ID"; + } + } + } + } + } + } + } + } + } + container schedule { + description + "Schedule an operation"; + container operations { + description + "Specify an operation"; + list operation { + key "operation-number"; + description + "Specify an operation"; + leaf operation-number { + type uint32 { + range "1..2048" { + description + "Operation number"; + } + } + description + "Specify an operation"; + } + container life { + description + "Length of the time to execute (default 3600 seconds)"; + container forever { + must "not(../length-of-time)"; + presence "Indicates a forever node is configured."; + description + "Schedule operation to run indefinitely"; + } + leaf length-of-time { + type uint32 { + range "1..2147483647" { + description + "Life in seconds. (default 3600 seconds)"; + } + } + must "not(../forever)"; + description + "Life in seconds. (default 3600 seconds)"; + } + } + container start-time { + description + "Start time of the operation"; + container time-and-date { + presence "Indicates a time node is configured."; + description + "Start time of the operation"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + must "../day-of-month"; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + must "../month and ../day-of-month"; + description + "Year"; + } + } + container pending { + presence "Indicates a pending node is configured."; + description + "Keep operation in the pending state"; + } + container after { + presence "Indicates a after node is configured."; + description + "Schedule operation after specified time"; + container time { + description + "Time in hh:mm:ss format"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + } + } + container now { + presence "Indicates a now node is configured."; + description + "Schedule operation now"; + } + } + container recurring { + presence "Indicates a recurring node is configured."; + description + "probe to be scheduled automatically every day"; + } + leaf ageout { + type uint32 { + range "0..2073600" { + description + "Ageout interval in seconds (default 0, never ageout)"; + } + } + description + "How long to keep this entry after it becomes inactive"; + } + } + } + } + container reaction { + description + "IPSLA reaction configuration"; + container operations { + description + "Reaction configuration for operation"; + list operation { + key "operation-number"; + description + "Reaction configuration for operation"; + leaf operation-number { + type uint32 { + range "1..2048" { + description + "Operation number"; + } + } + description + "Reaction configuration for operation"; + } + container react { + description + "Specify an element to be monitored for reaction"; + container connection-loss { + presence "Indicates a connection-loss node is configured."; + description + "Reaction on connection loss of monitored operation"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + container timeout { + presence "Indicates a timeout node is configured."; + description + "Reaction on timeout of monitored operation"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + container verify-error { + presence "Indicates a verify-error node is configured."; + description + "Reaction on error verification violation"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + container jitter-average { + presence "Indicates a jitter-average node is configured."; + description + "Reaction on round trip jitter value violation"; + container dest-to-source { + presence "Indicates a dest-to-source node is configured."; + description + "Jitter average destination to source(DS)"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + leaf lower-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold lower limit value"; + } + } + must "../upper-limit"; + description + "Threshold lower limit"; + } + leaf upper-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold upper limit value"; + } + } + must "../lower-limit"; + description + " Threshold upper limit"; + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + container source-to-dest { + presence "Indicates a source-to-dest node is configured."; + description + "Jitter average source to destination (SD)"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + leaf lower-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold lower limit value"; + } + } + must "../upper-limit"; + description + "Threshold lower limit"; + } + leaf upper-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold upper limit value"; + } + } + must "../lower-limit"; + description + " Threshold upper limit"; + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + leaf lower-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold lower limit value"; + } + } + must "../upper-limit"; + description + "Threshold lower limit"; + } + leaf upper-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold upper limit value"; + } + } + must "../lower-limit"; + description + " Threshold upper limit"; + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + container packet-loss { + description + "Reaction on packet loss value violation"; + container dest-to-source { + presence "Indicates a dest-to-source node is configured."; + description + "Packet loss destination to source(DS) violation"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + leaf lower-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold lower limit value"; + } + } + must "../upper-limit"; + description + "Threshold lower limit"; + } + leaf upper-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold upper limit value"; + } + } + must "../lower-limit"; + description + " Threshold upper limit"; + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + container source-to-dest { + presence "Indicates a source-to-dest node is configured."; + description + "Packet loss source to destination (SD) violation"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + leaf lower-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold lower limit value"; + } + } + must "../upper-limit"; + description + "Threshold lower limit"; + } + leaf upper-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold upper limit value"; + } + } + must "../lower-limit"; + description + " Threshold upper limit"; + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + } + container rtt { + presence "Indicates a rtt node is configured."; + description + "Reaction on round trip time violation"; + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + leaf average { + type uint32 { + range "1..16" { + description + "Number of probes to average over"; + } + } + description + "Take action on average values violate threshold"; + } + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + container xofy { + presence "Indicates a xofy node is configured."; + description + "Take action upon X violations in Y probe operations"; + leaf x-value { + type uint32 { + range "1..16" { + description + "Number of threshold violations (X value)"; + } + } + mandatory true; + description + "Take action upon X violations in Y probe operations"; + } + leaf y-value { + type uint32 { + range "1..16" { + description + "Number of probes observing the violations (Y value)"; + } + } + mandatory true; + description + "Number of probes observing the violations (Y value)"; + } + } + leaf lower-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold lower limit value"; + } + } + must "../upper-limit"; + description + "Threshold lower limit"; + } + leaf upper-limit { + type uint32 { + range "1..4294967295" { + description + "Threshold upper limit value"; + } + } + must "../lower-limit"; + description + " Threshold upper limit"; + } + } + } + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container trigger { + presence "Indicates a trigger node is configured."; + description + "Generate trigger to active reaction triggered operation(s)"; + } + } + } + } + } + } + container trigger { + description + "IPSLA reaction trigger configuration"; + container operations { + description + "Operation that generates a trigger"; + list operation { + key "operation-number"; + description + "Operation that generates a trigger"; + leaf operation-number { + type uint32 { + range "1..2048" { + description + "Operation that generates a trigger"; + } + } + description + "Operation that generates a trigger"; + } + leaf operation-to-be-triggered { + type uint32 { + range "1..2048" { + description + "Operation that will be triggered"; + } + } + mandatory true; + description + "Operation that will be triggered"; + } + } + } + } + } + leaf low-memory { + type uint32 { + range "0..4294967295" { + description + "Low memory watermark value in KB"; + } + } + description + "Configure low memory water mark (default 20M)"; + } + leaf key-chain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of key-chain"; + } + } + description + "Use MD5 authentication for IPSLA control message"; + } + container hw-timestamp { + description + "Hardware timestamp configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable hardware timestamp"; + } + } + container responder { + presence "Indicates a responder node is configured."; + description + "IPSLA responder configuration"; + container type { + description + "Operation type"; + container udp { + description + "Udp operation"; + container ipv4 { + description + "IPv4 address configuration"; + list address { + key "address"; + description + "Permanent address on responder"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Permanent address on responder"; + } + list port { + key "port-number"; + description + "Permanent port on responder"; + leaf port-number { + type uint32 { + range "1..65535" { + description + "Enter port number"; + } + } + description + "Permanent port on responder"; + } + } + } + } + } + } + container twamp { + presence "Indicates a twamp node is configured."; + description + "Setup TWAMP responder"; + leaf timeout { + type uint32 { + range "1..604800" { + description + "Inactivity timeout value in seconds (Default 900)"; + } + } + description + "Inactivity timeout period"; + } + } + container twamp-light { + description + "Setup TWAMP-LIGHT responder"; + container test-session { + description + "Create a new test session"; + list session { + key "session-id"; + description + "Test session ID"; + leaf session-id { + type uint32 { + range "1..65535" { + description + "Test session ID"; + } + } + description + "Test session ID"; + } + container local-ip { + description + "Local interface IPv4/IPv6 address"; + container ipv4-addresses { + description + "Enter IPv4 address of the local interface"; + list ipv4-address { + key "address local-port"; + description + "Enter IPv4 address of the local interface"; + leaf address { + type union { + type inet:ipv4-address-no-zone; + type string { + pattern "any ipv4" { + description + "Enter 'any ipv4' string for IPv4 address of the local interface"; + } + } + } + description + "Enter IPv4 address of the local interface"; + } + leaf local-port { + type uint32 { + range "1..65535" { + description + "Enter port number"; + } + } + description + "Local UDP port"; + } + container remote-ip { + description + "Remote (client) interface IPv4/IPv6 address"; + container ipv4-addresses { + description + "Enter IPv4 address of the remote interface"; + list ipv4-address { + key "address remote-port vrf"; + description + "Enter IPv4 address of the remote interface"; + leaf address { + type union { + type inet:ipv4-address-no-zone; + type string { + pattern "any ipv4" { + description + "Enter 'any ipv4' string for IPv4 address of the remote interface"; + } + } + } + description + "Enter IPv4 address of the remote interface"; + } + leaf remote-port { + type union { + type uint32 { + range "1..65535" { + description + "Enter port number"; + } + } + type enumeration { + enum "any" { + value 0; + description + "Match any port id"; + } + } + } + description + "Remote UDP port"; + } + leaf vrf { + type union { + type xr:Cisco-ios-xr-string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + } + description + "VRF name for local-ip"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address of the remote interface"; + list ipv6-address { + key "address remote-port vrf"; + description + "Enter IPv6 address of the remote interface"; + leaf address { + type union { + type inet:ipv6-address-no-zone; + type string { + pattern "any ipv6" { + description + "Enter 'any ipv6' string for IPv6 address of the remote interface"; + } + } + } + description + "Enter IPv6 address of the remote interface"; + } + leaf remote-port { + type union { + type uint32 { + range "1..65535" { + description + "Enter port number"; + } + } + type enumeration { + enum "any" { + value 0; + description + "Match any port id"; + } + } + } + description + "Remote UDP port"; + } + leaf vrf { + type union { + type xr:Cisco-ios-xr-string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + } + description + "VRF name for local-ip"; + } + } + } + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address of the local interface"; + list ipv6-address { + key "address local-port"; + description + "Enter IPv6 address of the local interface"; + leaf address { + type union { + type inet:ipv6-address-no-zone; + type string { + pattern "any ipv6" { + description + "Enter 'any ipv6' string for IPv6 address of the local interface"; + } + } + } + description + "Enter IPv6 address of the local interface"; + } + leaf local-port { + type uint32 { + range "1..65535" { + description + "Enter port number"; + } + } + description + "Local UDP port"; + } + container remote-ip { + description + "Remote (client) interface IPv4/IPv6 address"; + container ipv4-addresses { + description + "Enter IPv4 address of the remote interface"; + list ipv4-address { + key "address remote-port vrf"; + description + "Enter IPv4 address of the remote interface"; + leaf address { + type union { + type inet:ipv4-address-no-zone; + type string { + pattern "any ipv4" { + description + "Enter 'any ipv4' string for IPv4 address of the remote interface"; + } + } + } + description + "Enter IPv4 address of the remote interface"; + } + leaf remote-port { + type union { + type uint32 { + range "1..65535" { + description + "Enter port number"; + } + } + type enumeration { + enum "any" { + value 0; + description + "Match any port id"; + } + } + } + description + "Remote UDP port"; + } + leaf vrf { + type union { + type xr:Cisco-ios-xr-string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + } + description + "VRF name for local-ip"; + } + } + } + container ipv6-addresses { + description + "Enter IPv6 address of the remote interface"; + list ipv6-address { + key "address remote-port vrf"; + description + "Enter IPv6 address of the remote interface"; + leaf address { + type union { + type inet:ipv6-address-no-zone; + type string { + pattern "any ipv6" { + description + "Enter 'any ipv6' string for IPv6 address of the remote interface"; + } + } + } + description + "Enter IPv6 address of the remote interface"; + } + leaf remote-port { + type union { + type uint32 { + range "1..65535" { + description + "Enter port number"; + } + } + type enumeration { + enum "any" { + value 0; + description + "Match any port id"; + } + } + } + description + "Remote UDP port"; + } + leaf vrf { + type union { + type xr:Cisco-ios-xr-string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + } + description + "VRF name for local-ip"; + } + } + } + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Authenticated test session"; + } + container encryption { + presence "Indicates a encryption node is configured."; + description + "Encrypted test session"; + } + leaf timeout { + type uint32 { + range "60..86400" { + description + "Enter timeout in seconds"; + } + } + description + "Duration for which session remains active (in seconds). Default is forever."; + } + } + } + } + } + container mpls { + description + "IPSLA MPLS configuration"; + container lsp-monitor { + description + "MPLS LSP Monitor(MPLSLM) configuration"; + container monitors { + description + "MPLSLM instance to be configured"; + list monitor { + key "monitor-id"; + description + "MPLSLM instance to be configured"; + leaf monitor-id { + type uint32 { + range "1..2048" { + description + "Monitor identifier"; + } + } + description + "MPLSLM instance to be configured"; + } + container type { + description + "Type of operation"; + container mpls { + description + "MPLS operation types"; + container lsp { + description + "MPLS LSP operation types"; + container ping { + presence "Indicates a ping node is configured."; + description + "Perform MPLS LSP Ping operation"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF instance name"; + } + } + description + "Specify a VRF instance to be monitored"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Apply access list to filter PE addresses"; + } + container scan { + description + "Scanning parameters configuration"; + leaf interval { + type uint32 { + range "1..70560" { + description + "Scan interval in minutes (default 240 min)"; + } + } + description + "Time interval for automatic discovery"; + } + leaf delete-factor { + type uint32 { + range "0..2147483647" { + description + "Scan delete factor value (default 1)"; + } + } + description + "Number of times for automatic deletion"; + } + } + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this MPLSLM"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + leaf request { + type uint32 { + range "100..17986" { + description + "Enter request datasize in byte"; + } + } + description + "Payload size in request probe packet"; + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe/Control timeout in milliseconds (default 5000 ms)"; + } + } + description + "Probe/Control timeout interval"; + } + container lsp { + description + "LSP parameters for the operation"; + container selector { + description + "Attributes used for path selection during LSP load balancing"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address used as destination address in echo request"; + } + } + } + container force { + description + "Forced option for the MPLS LSP operation"; + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Add Explicit Null label to the stack"; + } + } + container reply { + description + "Echo reply options for the MPLS LSP operation"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "DSCP bits value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + description + "DSCP bits in the reply IP header"; + } + container mode { + description + "Configures reply mode parameters"; + container router-alert { + presence "Indicates a router-alert node is configured."; + description + "Enables use of router alert in echo reply packets"; + } + } + } + leaf ttl { + type uint32 { + range "1..255" { + description + "Time to Live value"; + } + } + description + "Time to live"; + } + leaf exp { + type uint32 { + range "0..7" { + description + "EXP bits in MPLS LSP echo request header"; + } + } + description + "EXP in MPLS LSP echo request header"; + } + container output { + description + "Output options"; + leaf interface { + type xr:Interface-name; + description + "Output interface to be used for measurement"; + } + leaf nexthop { + type inet:ipv4-address-no-zone; + description + "Output nexthop to be used for measurement"; + } + } + container path { + description + "Path discover configuration"; + container discover { + presence "Indicates a discover node is configured."; + description + "Enable MPLS LSP path discover(LPD)"; + container session { + description + "Session parameters configuration"; + leaf limit { + type uint32 { + range "1..15" { + description + "Number of requests"; + } + } + description + "Number of concurrent active path discovery requests at one time"; + } + leaf timeout { + type uint32 { + range "1..900" { + description + "Timeout value in seconds"; + } + } + description + "Timeout value for path discovery request"; + } + } + container scan { + description + "Scan parameters configuration"; + leaf period { + type uint32 { + range "0..7200" { + description + "Time period value in minutes"; + } + } + description + "Time period for finishing path discovery"; + } + } + container path { + description + "Path parameters configuration"; + leaf retry { + type uint32 { + range "1..16" { + description + "Retry count"; + } + } + description + "Number of attempts before declaring the path as down"; + } + container secondary { + description + "Secondary frequency configuration"; + container frequency { + description + "Frequency to be used if path failure condition is detected"; + container both { + must "not(../timeout or ../connection-loss)"; + presence "Indicates a both node is configured."; + description + "Enable secondary frequency for timeout and connection loss"; + leaf frequency-value-in-seconds { + type uint32 { + range "1..604800" { + description + "Frequency value in seconds"; + } + } + mandatory true; + description + "Frequency value in seconds"; + } + } + container connection-loss { + must "not(../both or ../timeout)"; + presence "Indicates a connection-loss node is configured."; + description + "Enable secondary frequency for connection loss"; + leaf frequency-value-in-seconds { + type uint32 { + range "1..604800" { + description + "Frequency value in seconds"; + } + } + mandatory true; + description + "Frequency value in seconds"; + } + } + container timeout { + must "not(../both or ../connection-loss)"; + presence "Indicates a timeout node is configured."; + description + "Enable secondary frequency for timeout"; + leaf frequency-value-in-seconds { + type uint32 { + range "1..604800" { + description + "Frequency value in seconds"; + } + } + mandatory true; + description + "Frequency value in seconds"; + } + } + } + } + } + container echo { + description + "Echo parameters configuration"; + leaf interval { + type uint32 { + range "0..3600000" { + description + "Interval time in milliseconds"; + } + } + description + "Send interval between echo requests during path discovery"; + } + leaf timeout { + type uint32 { + range "1..3600" { + description + "Timeout value in seconds"; + } + } + description + "Timeout value for echo requests during path discovery"; + } + leaf retry { + type uint32 { + range "0..10" { + description + "Retry count"; + } + } + description + "Number of timeout retry attempts during path discovery"; + } + container multipath { + description + "Downstream map multipath settings"; + leaf bitmap-size { + type uint32 { + range "1..256" { + description + "Bitmap size"; + } + } + description + "Multipath bit size"; + } + } + container maximum { + description + "Maximum value settings"; + container lsp { + description + "LSP parameters for the operation"; + container selector { + description + "Attributes used for path selection during LSP load balancing"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "Maximum IPv4 address used as destination in echo request"; + } + } + } + } + } + } + } + container statistics { + description + "Statistics collection parameters for this operation"; + container hourly { + description + "Statistics collection aggregated over an hour"; + leaf buckets { + type uint32 { + range "0..2" { + description + "Specify number of hours (default 2)"; + } + } + description + "Number of Hours for which statistics are kept"; + } + } + } + } + container trace { + presence "Indicates a trace node is configured."; + description + "Perform MPLS LSP Trace operation"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF instance name"; + } + } + description + "Specify a VRF instance to be monitored"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Apply access list to filter PE addresses"; + } + container scan { + description + "Scanning parameters configuration"; + leaf interval { + type uint32 { + range "1..70560" { + description + "Scan interval in minutes (default 240 min)"; + } + } + description + "Time interval for automatic discovery"; + } + leaf delete-factor { + type uint32 { + range "0..2147483647" { + description + "Scan delete factor value (default 1)"; + } + } + description + "Number of times for automatic deletion"; + } + } + leaf tag { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Tag string"; + } + } + description + "Add a tag for this MPLSLM"; + } + container datasize { + description + "Protocol data size in payload of probe packets"; + leaf request { + type uint32 { + range "100..17986" { + description + "Enter request datasize in byte"; + } + } + description + "Payload size in request probe packet"; + } + } + leaf timeout { + type uint32 { + range "1..604800000" { + description + "Probe/Control timeout in milliseconds (default 5000 ms)"; + } + } + description + "Probe/Control timeout interval"; + } + container lsp { + description + "LSP parameters for the operation"; + container selector { + description + "Attributes used for path selection during LSP load balancing"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address used as destination address in echo request"; + } + } + } + container force { + description + "Forced option for the MPLS LSP operation"; + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Add Explicit Null label to the stack"; + } + } + container reply { + description + "Echo reply options for the MPLS LSP operation"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "DSCP bits value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + description + "DSCP bits in the reply IP header"; + } + container mode { + description + "Configures reply mode parameters"; + container router-alert { + presence "Indicates a router-alert node is configured."; + description + "Enables use of router alert in echo reply packets"; + } + } + } + leaf ttl { + type uint32 { + range "1..255" { + description + "Time to Live value"; + } + } + description + "Time to live"; + } + leaf exp { + type uint32 { + range "0..7" { + description + "EXP bits in MPLS LSP echo request header"; + } + } + description + "EXP in MPLS LSP echo request header"; + } + container output { + description + "Output options"; + leaf interface { + type xr:Interface-name; + description + "Output interface to be used for measurement"; + } + leaf nexthop { + type inet:ipv4-address-no-zone; + description + "Output nexthop to be used for measurement"; + } + } + container statistics { + description + "Statistics collection parameters for this operation"; + container hourly { + description + "Statistics collection aggregated over an hour"; + leaf buckets { + type uint32 { + range "0..2" { + description + "Specify number of hours (default 2)"; + } + } + description + "Number of Hours for which statistics are kept"; + } + } + } + } + } + } + } + } + } + container schedule { + description + "MPLSLM schedule configuration"; + container monitors { + description + "MPLSLM instance to be configured"; + list monitor { + key "monitor-id"; + description + "MPLSLM instance to be configured"; + leaf monitor-id { + type uint32 { + range "1..2048" { + description + "Monitor identifier"; + } + } + description + "MPLSLM instance to be configured"; + } + container schedule { + description + "Schedule parameters configuration"; + leaf period { + type uint32 { + range "1..604800" { + description + "Period in seconds"; + } + } + description + "Group schedule period range"; + } + } + leaf frequency { + type uint32 { + range "1..604800" { + description + "Probe interval in seconds (default same as schedule period)"; + } + } + description + "Group schedule frequency of the probing"; + } + container start-time { + description + "Start time of the operation"; + container time-and-date { + presence "Indicates a time node is configured."; + description + "Start time of the operation"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + must "../day-of-month"; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + must "../month and ../day-of-month"; + description + "Year"; + } + } + container pending { + presence "Indicates a pending node is configured."; + description + "Keep operation in the pending state"; + } + container after { + presence "Indicates a after node is configured."; + description + "Schedule operation after specified time"; + container time { + description + "Time in hh:mm:ss format"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time in hh:mm:ss format"; + } + } + mandatory true; + description + "Time in hh:mm:ss format"; + } + } + } + container now { + presence "Indicates a now node is configured."; + description + "Schedule operation now"; + } + } + } + } + } + container reaction { + description + "MPLSLM reaction configuration"; + container monitors { + description + "MPLSLM instance to be configured"; + list monitor { + key "monitor-id"; + description + "MPLSLM instance to be configured"; + leaf monitor-id { + type uint32 { + range "1..2048" { + description + "Monitor identifier"; + } + } + description + "MPLSLM instance to be configured"; + } + container react { + description + "Specify an element to be monitored for reaction"; + container connection-loss { + presence "Indicates a connection-loss node is configured."; + description + "Reaction on connection loss of monitored MPLSLM"; + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + } + } + } + } + container timeout { + presence "Indicates a timeout node is configured."; + description + "Reaction on timeout of monitored MPLSLM"; + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + } + } + } + } + container lpd { + description + "Reaction on LPD violation"; + container tree-trace { + presence "Indicates a tree-trace node is configured."; + description + "Tree trace violation"; + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + } + } + } + } + container lpd-group { + presence "Indicates a lpd-group node is configured."; + description + "LPD group violation"; + container action { + description + "Type of action to be taken on threshold violation(s)"; + container logging { + presence "Indicates a logging node is configured."; + description + "Generate a syslog alarm on threshold violation"; + } + container threshold { + description + "Configure threshold parameters on monitored element"; + container type { + description + "Threshold type"; + container immediate { + must "not(../consecutive)"; + presence "Indicates a immediate node is configured."; + description + "Take action immediately upon threshold violation"; + } + leaf consecutive { + type uint32 { + range "1..16" { + description + "Number of consecutive violations"; + } + } + must "not(../immediate)"; + description + "Take action after a number of consecutive violations"; + } + } + } + } + } + } + } + } + } + } + } + container discovery { + description + "PE discovery configuration"; + container vpn { + description + "Layer 3 VPN PE discovery configuration"; + leaf interval { + type uint32 { + range "30..70560" { + description + "Refresh interval in seconds (default 300 seconds)"; + } + } + description + "Specify a discovery refresh interval"; + } + } + } + } + container server { + description + "IPSLA IPPM server configuration"; + container twamp { + presence "Indicates a twamp node is configured."; + description + "IPSLA IPPM TWAMP server configuration"; + leaf port { + type uint32 { + range "1..65535" { + description + "Enter TWAMP server port number (Default 862)"; + } + } + description + "IPPM server port"; + } + container timer { + description + "IPPM server timer configurations"; + leaf inactivity { + type uint32 { + range "1..6000" { + description + "Enter inactivity timer value in seconds (Default 900)"; + } + } + description + "IPPM server inactivity timer"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-access-list-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-access-list-cfg.yang new file mode 100644 index 000000000..48dadd8a7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-access-list-cfg.yang @@ -0,0 +1,1172 @@ +module Cisco-IOS-XR-um-ipv4-access-list-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-access-list-cfg"; + prefix um-ipv4-acl-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-access-list-datatypes { + prefix um-acl-types; + } + import Cisco-IOS-XR-types { + prefix xr2; + } + + organization + "Cisco Systems, Inc."; + contact + " + Cisco Systems, Inc. + Customer Service + + 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 IOS-XR YANG model derived from CLI. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved. + "; + + revision 2022-07-08 { + description + "Added dscp bitmask field + 2021-09-20 + Added container icmp-on for ace + 2021-07-28 + Added new police units"; + semver:module-version "3.0.1m"; + } + revision 2021-06-03 { + description + "Added container icmp-off + 2021-03-17 + Adding new protocols - vrrp, rsvp + 2021-02-24 + Added container police"; + semver:module-version "3.0.0"; + } + revision 2020-12-03 { + description + "Limit length of remark string + 2020-10-21 + Added udf support"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-01 { + description + "Initial version"; + } + + feature ipv4_acl_object_groups_supported { + description + "Port object group"; + } + + feature ipv4_acl_support_counter { + description + "Counter for access-list entry"; + } + + feature ipv4_acl_protocol_range_implemented { + description + "Range of protocol numbers"; + } + + feature ipv4_acl_abf_implemented { + description + "Forward to specified nexthop on match against access-list entry"; + } + + feature ipv4_acl_abf_track_implemented { + description + "Match a specific TRACK Name"; + } + + feature ipv4_acl_rollback_permit_supported { + description + "Rollback of access-list"; + } + + feature IP_ACL_TCP_URG_FLAG_IMPLEMENTED { + description + "Match on URG bit"; + } + + feature IP_ACL_TCP_FLEXFLAGS_IMPLEMENTED { + description + "Match all the options specified for TCP flags"; + } + + feature ipv4_acl_pktlen_implemented { + description + "Check packet length"; + } + + feature ipv4_acl_fragment_offset_implemented { + description + "Match fragment-offset"; + } + + feature ipv4_acl_is_frag_flags_supported { + description + "Match fragment type for a packet"; + } + + feature ipv4_acl_is_udf_supported { + description + "Set User Defined Fields"; + } + + feature ipv4_acl_capture_implemented { + description + "Capture matched packet"; + } + + feature ipv4_acl_is_set_action_supported { + description + "Set action on access-list entry"; + } + + feature ipv4_acl_is_set_qos_group_supported { + description + "Set QoS group"; + } + + feature ipv4_acl_is_set_ttl_supported { + description + "Set ttl value"; + } + + grouping ace-common { + container source { + must "address or any or host or net-group"; + uses source-address; + } + container destination { + must "address or any or host or net-group"; + uses destination-address; + } + uses tcp-flags { + when "protocol='tcp'"; + } + uses icmp { + when "protocol='icmp'"; + } + uses igmp { + when "protocol='igmp'"; + } + uses dscp; + uses packet-length; + uses ttl; + uses fragment-offset; + uses fragments; + uses fragment-type; + uses udf; + uses police; + } + + grouping source-address { + leaf address { + type inet:ipv4-address-no-zone; + must "not(../any or ../host or ../net-group) and (../wildcard-mask or ../prefix-length)"; + description + "Source IP address"; + } + leaf wildcard-mask { + type inet:ipv4-address-no-zone; + must "not(../prefix-length)"; + description + "Source IP address wildcard mask. Either wildcard-mask or prefix-length can be used along with address."; + } + leaf prefix-length { + type xr2:Ipv4-prefix-length; + must "not(../wildcard-mask)"; + description + "Source IP address prefix length. Either wildcard-mask or prefix-length can be used along with address."; + } + container any { + must "not(../address or ../host or ../net-group)"; + presence "Any host"; + description + "Any source host"; + } + leaf host { + type inet:ipv4-address; + must "not(../address or ../any or ../net-group)"; + description + "A single source host"; + } + leaf net-group { + if-feature "ipv4_acl_object_groups_supported"; + type string { + length "1..64" { + description + "IPv4 network object group name"; + } + } + must "not(../address or ../any or ../host)"; + description + "IPv4 source network object group"; + } + container port { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + description + "Match based on a port number"; + leaf eq { + type um-acl-types:ipv4-port-number; + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets on a given port number"; + } + leaf gt { + type um-acl-types:ipv4-port-number; + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater port number"; + } + leaf lt { + type um-acl-types:ipv4-port-number; + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower port number"; + } + leaf neq { + type um-acl-types:ipv4-port-number; + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given port"; + } + container range { + description + "Match only packets in the range of port numbers"; + leaf start-value { + type um-acl-types:ipv4-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "Port number"; + } + leaf end-value { + type um-acl-types:ipv4-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "Port number"; + } + } + } + leaf port-group { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + if-feature "ipv4_acl_object_groups_supported"; + type string { + length "1..64"; + } + description + "source port object group"; + } + } + + grouping destination-address { + leaf address { + type inet:ipv4-address-no-zone; + must "not(../any or ../host or ../net-group) and (../wildcard-mask or ../prefix-length)"; + description + "Destination IP address"; + } + leaf wildcard-mask { + type inet:ipv4-address-no-zone; + must "not(../prefix-length)"; + description + "Destination IP address wildcard mask. Either wildcard-mask or prefix-length can be used along with address."; + } + leaf prefix-length { + type xr2:Ipv4-prefix-length; + must "not(../wildcard-mask)"; + description + "Destination IP address prefix length. Either wildcard-mask or prefix-length can be used along with address."; + } + container any { + must "not(../address or ../host or ../net-group)"; + presence "Any host"; + description + "Any destination host"; + } + leaf host { + type inet:ipv4-address; + must "not(../address or ../any or ../net-group)"; + description + "A single destination host"; + } + leaf net-group { + if-feature "ipv4_acl_object_groups_supported"; + type string { + length "1..64" { + description + "IPv4 network object group name"; + } + } + must "not(../address or ../any or ../host)"; + description + "IPv4 destination network object group"; + } + container port { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + description + "Match based on a port number"; + leaf eq { + type um-acl-types:ipv4-port-number; + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets on a given port number"; + } + leaf gt { + type um-acl-types:ipv4-port-number; + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater port number"; + } + leaf lt { + type um-acl-types:ipv4-port-number; + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower port number"; + } + leaf neq { + type um-acl-types:ipv4-port-number; + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given port"; + } + container range { + description + "Match only packets in the range of port numbers"; + leaf start-value { + type um-acl-types:ipv4-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "Port number"; + } + leaf end-value { + type um-acl-types:ipv4-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "Port number"; + } + } + } + leaf port-group { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + if-feature "ipv4_acl_object_groups_supported"; + type string { + length "1..64"; + } + description + "destination port object group"; + } + } + + grouping tcp-flags { + container tcp-flags { + container match-all { + if-feature "IP_ACL_TCP_FLEXFLAGS_IMPLEMENTED"; + must "not(../match-any)"; + presence "indicates match-all is configured"; + description + "Match all the options specified for TCP flags"; + leaf tcp-bits { + type string { + pattern "((\\+|\\-)(fin|syn|rst|psh|ack|urg)[ ]{0,1})+" { + description + "TCP flags with + or -"; + } + } + description + "TCP bits to match with set(+) or not set(-) indication"; + } + } + container match-any { + if-feature "IP_ACL_TCP_FLEXFLAGS_IMPLEMENTED"; + must "not(../match-all)"; + presence "indicates match-any is configured"; + description + "Match atleast one of the options specified for TCP flags"; + leaf tcp-bits { + type string { + pattern "((\\+|\\-)(fin|syn|rst|psh|ack|urg)[ ]{0,1})+" { + description + "TCP flags with + or -"; + } + } + description + "TCP bits to match with set(+) or not set(-) indication"; + } + } + leaf tcp-bits { + type um-acl-types:tcp-bits-type; + must "not(../match-all) and not(../match-any)"; + description + "TCP bits to match"; + } + } + } + + grouping icmp { + container icmp { + description + "Match on ICMP message"; + leaf message-type-name { + type um-acl-types:ipv4-icmp-message-type; + must "not(../message-type or ../message-code)"; + description + "ICMP message type"; + } + leaf message-type { + type uint8 { + range "0..255"; + } + must "not(../message-type-name)"; + description + "ICMP message type"; + } + leaf message-code { + type uint8 { + range "0..255"; + } + must "not(../message-type-name)"; + description + "ICMP message code"; + } + } + } + + grouping igmp { + leaf igmp-type { + type union { + type uint8 { + range "0..255" { + description + "IGMP message type"; + } + } + type enumeration { + enum "host-query" { + description + "Host query"; + } + enum "host-report" { + description + "Host report"; + } + enum "dvmrp" { + description + "Distance Vector Multicast Routing Protocol"; + } + enum "pim" { + description + "Portocol Independent Multicast"; + } + enum "trace" { + description + "Multicast trace"; + } + enum "v2-report" { + description + "Version 2 report"; + } + enum "v2-leave" { + description + "Version 2 leave"; + } + enum "mtrace-response" { + description + "mtrace response"; + } + enum "mtrace" { + description + "mtrace"; + } + enum "v3-report" { + description + "Version 3 report"; + } + } + } + description + "Match on IGMP message"; + } + } + + grouping dscp { + container dscp { + description + "Match packets with given DSCP value(s)"; + leaf dscp-value { + type um-acl-types:dscp-value; + must "not(../eq or ../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + } + leaf dscp-bitmask { + type um-acl-types:dscp-bitmask-value; + must "../dscp-value and not(../eq or ../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + } + leaf eq { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets on a given DSCP value"; + } + leaf gt { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater DSCP value"; + } + leaf lt { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower DSCP value"; + } + leaf neq { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given DSCP value"; + } + container range { + description + "Match only packets in the range of DSCP values"; + leaf start-value { + type um-acl-types:dscp-value; + must "not(../../dscp-value or ../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "DSCP value"; + } + leaf end-value { + type um-acl-types:dscp-value; + must "not(../../dscp-value or ../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "DSCP value"; + } + } + } + leaf precedence { + type um-acl-types:precedence-value; + description + "Match packets with given precedence"; + } + } + + grouping packet-length { + container packet-length { + if-feature "ipv4_acl_pktlen_implemented"; + description + "Check packet length"; + leaf eq { + type uint16 { + range "0..65535"; + } + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a given value"; + } + leaf gt { + type uint16 { + range "0..65535"; + } + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater value"; + } + leaf lt { + type uint16 { + range "0..65535"; + } + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower value"; + } + leaf neq { + type uint16 { + range "0..65535"; + } + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given value"; + } + container range { + description + "Match only packets in the range of value"; + leaf start-value { + type uint16 { + range "0..65535"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "Packet length start"; + } + leaf end-value { + type uint16 { + range "0..65535"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "Packet length end"; + } + } + } + } + + grouping ttl { + container ttl { + description + "match against ttl"; + leaf eq { + type uint8 { + range "0..255"; + } + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a given value"; + } + leaf gt { + type uint8 { + range "0..255"; + } + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater value"; + } + leaf lt { + type uint8 { + range "0..255"; + } + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower value"; + } + leaf neq { + type uint8 { + range "0..255"; + } + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given value"; + } + container range { + description + "Match only packets in the range of value"; + leaf start-value { + type uint8 { + range "0..255"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "ttl range lower value"; + } + leaf end-value { + type uint8 { + range "0..255"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "ttl range higher value"; + } + } + } + } + + grouping fragment-offset { + container fragment-offset { + if-feature "ipv4_acl_fragment_offset_implemented"; + description + "match fragment-offset"; + leaf eq { + type uint16 { + range "0..8191"; + } + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a given value"; + } + leaf gt { + type uint16 { + range "0..8191"; + } + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater value"; + } + leaf lt { + type uint16 { + range "0..8191"; + } + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower value"; + } + leaf neq { + type uint16 { + range "0..8191"; + } + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given value"; + } + container range { + description + "Match only packets in the range of value"; + leaf start-value { + type uint16 { + range "0..8191"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "fragment-offset value"; + } + leaf end-value { + type uint16 { + range "0..8191"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "fragment-offset value"; + } + } + } + } + + grouping fragments { + container fragments { + must "not(../source/port/eq or ../source/port/gt or ../source/port/lt or ../source/port/neq or ../source/port/range/start-value) and not(../destination/port/eq or ../destination/port/gt or ../destination/port/lt or ../destination/port/neq or ../destination/port/range/start-value) and not(../icmp/message-type-name) and not(../icmp/message-type) and not(../icmp/message-code) and not(../igmp-type)"; + presence "Check non-initial fragments"; + description + "Check non-initial fragments"; + } + } + + grouping fragment-type { + leaf fragment-type { + if-feature "ipv4_acl_is_frag_flags_supported"; + type enumeration { + enum "dont-fragment" { + value 0; + description + "Match don't fragment flag"; + } + enum "first-fragment" { + value 1; + description + "Match first fragment flag"; + } + enum "is-fragment" { + value 2; + description + "Match is-fragment flag"; + } + enum "last-fragment" { + value 3; + description + "Match last fragment flag"; + } + enum "dont-fragment is-fragment" { + value 4; + description + "Match don't fragment flag and is fragment flag"; + } + enum "dont-fragment first-fragment" { + value 5; + description + "Match don't fragment flag and first fragment flag"; + } + enum "dont-fragment last-fragment" { + value 6; + description + "Match don't fragment flag and last fragment flag"; + } + } + description + "Fragment type for a packet"; + } + } + + grouping udf { + container udf-entries { + description + "User Defined Fields list"; + list udf { + if-feature "ipv4_acl_is_udf_supported"; + key "udf-name"; + max-elements "8"; + description + "Set User Defined Fields on this entry"; + leaf udf-name { + type string { + length "1..16"; + } + description + "UDF name"; + } + leaf udf-value { + type xr2:Hex-integer; + description + "UDF value"; + } + leaf udf-mask { + type xr2:Hex-integer; + description + "UDF mask"; + } + } + } + } + + grouping police { + container police { + description + "Set Police value and unit on this entry"; + leaf value { + type uint32 { + range "0..4294967295"; + } + must "../unit"; + description + "Police value"; + } + leaf unit { + type string { + pattern "pps|bps|kbps|mbps|gbps"; + } + must "../value"; + description + "Unit for police value"; + } + leaf peak-rate { + type uint32 { + range "0..4294967295"; + } + must "../value and ../peak-unit"; + description + "Police peak-rate value on this entry"; + } + leaf peak-unit { + type string { + pattern "pps|bps|kbps|mbps|gbps"; + } + must "../peak-rate"; + description + "Unit for peak-rate value"; + } + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "punt priority critical"; + } + enum "high" { + value 1; + description + "punt priority high"; + } + enum "low" { + value 2; + description + "punt priority low"; + } + enum "medium" { + value 3; + description + "punt priority medium"; + } + } + must "../value"; + description + "Set Priority option on this entry"; + } + } + } + + grouping match-option-common { + container capture { + if-feature "ipv4_acl_capture_implemented"; + presence "Capture matched packet"; + description + "Capture matched packet"; + } + leaf counter { + if-feature "ipv4_acl_support_counter"; + type string { + length "1..64" { + description + "Name of counter to aggregate hardware statistics"; + } + } + description + "counter for this ACE"; + } + container log { + presence "Log matches against this entry"; + description + "Log matches against this entry"; + } + container log-input { + presence "Log matches against this entry, including input interface"; + description + "Log matches against this entry, including input interface"; + } + container set { + if-feature "ipv4_acl_is_set_action_supported"; + description + "Set action on this entry"; + leaf qos-group { + if-feature "ipv4_acl_is_set_qos_group_supported"; + type uint16 { + range "0..512"; + } + description + "qos-group number"; + } + leaf ttl { + if-feature "ipv4_acl_is_set_ttl_supported"; + type uint8 { + range "0..255"; + } + description + "Set ttl value"; + } + } + } + + grouping protocol-common { + leaf protocol { + type um-acl-types:ipv4-protocol; + must "not(../eq or ../range/start-protocol or ../range/end-protocol)"; + description + "An IPv4 Protocol"; + } + leaf eq { + type um-acl-types:ipv4-protocol; + must "not(../protocol or ../range/start-protocol or ../range/end-protocol)"; + description + "Match only packets with exact protocol numbers"; + } + container range { + if-feature "ipv4_acl_protocol_range_implemented"; + description + "Match only packets in the range of protocol numbers"; + leaf start-protocol { + type um-acl-types:ipv4-protocol; + must "not(../../protocol or ../../eq) and (../end-protocol)"; + description + "An IPv4 Protocol"; + } + leaf end-protocol { + type um-acl-types:ipv4-protocol; + must "not(../../protocol or ../../eq) and (../start-protocol)"; + description + "An IPv4 Protocol"; + } + } + } + + grouping nexthops { + container default { + presence "Use specified default nexthop on match against this entry"; + description + "Use specified default nexthop on match against this entry"; + } + container nexthop1 { + if-feature "ipv4_acl_abf_implemented"; + presence "Forward to specified nexthop on match against this entry"; + description + "Forward to specified nexthop on match against this entry"; + leaf ipv4 { + type inet:ipv4-address; + description + "nexthop1 ipv4 address"; + } + leaf track { + if-feature "ipv4_acl_abf_track_implemented"; + type string { + length "1..32"; + } + description + "specific TRACK Name for this nexthop"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specific VRF Name for this nexthop"; + } + } + container nexthop2 { + must "(../nexthop1/vrf and ../nexthop1/ipv4) or ../nexthop1/vrf or ../nexthop1/ipv4"; + presence "Forward to specified nexthop on match against this entry"; + description + "Another nexthop"; + leaf ipv4 { + type inet:ipv4-address; + description + "nexthop2 ipv4 address"; + } + leaf track { + if-feature "ipv4_acl_abf_track_implemented"; + type string { + length "1..32"; + } + description + "specific TRACK Name for this nexthop"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specific VRF Name for this nexthop"; + } + } + container nexthop3 { + must "(../nexthop2/vrf and ../nexthop2/ipv4) or ../nexthop2/vrf or ../nexthop2/ipv4"; + presence "Forward to specified nexthop on match against this entry"; + description + "Another nexthop"; + leaf ipv4 { + type inet:ipv4-address; + description + "nexthop3 ipv4 address"; + } + leaf track { + if-feature "ipv4_acl_abf_track_implemented"; + type string { + length "1..32"; + } + description + "specific TRACK Name for this nexthop"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specific VRF Name for this nexthop"; + } + } + } + + container ipv4 { + description + "Configure ipv4 access-list"; + container access-list-options { + container log-update { + description + "Control access lists log updates"; + leaf threshold { + type uint32 { + range "1..2147483647" { + description + "Log update threshold (number of hits)"; + } + } + description + "Set access-list logging threshold"; + } + leaf rate { + type uint16 { + range "1..1000" { + description + "rate (num. logs per second)"; + } + } + description + "Set access-list logging rate (num. logs per second)"; + } + } + container icmp-off { + presence "Indicates a icmp-off node is configured."; + description + "Do not generate the ICMP message"; + } + } + container access-lists { + description + "Access-lists"; + list access-list { + key "access-list-name"; + description + "Access-list configuration"; + leaf access-list-name { + type string { + length "1..64"; + } + description + "Access list name - maximum 64 characters"; + } + container sequences { + description + "Access list entries"; + list sequence { + must "deny or permit or remark"; + key "sequence-number"; + description + "access list entry"; + leaf sequence-number { + type uint32 { + range "1..2147483643"; + } + description + "Sequence number for this entry"; + } + container deny { + must "(protocol or eq or range) and (source and destination) and (not(log and log-input))"; + presence "Grant type Deny"; + uses protocol-common; + uses ace-common; + uses nexthops; + uses match-option-common; + container icmp-off { + presence "Do not generate the ICMP message"; + description + "Do not generate the ICMP message"; + } + container icmp-on { + presence "Generate the ICMP message"; + description + "Generate the ICMP message"; + } + } + container permit { + must "(protocol or eq or range) and (source and destination) and (not(log and log-input))"; + presence "Grant type Permit"; + uses protocol-common; + uses ace-common; + uses nexthops; + uses match-option-common; + } + leaf remark { + type string { + length "0..255"; + } + description + "Comment for access list"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-cfg.yang new file mode 100644 index 000000000..5937d0295 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-cfg.yang @@ -0,0 +1,138 @@ +module Cisco-IOS-XR-um-ipv4-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-cfg"; + prefix um-ipv4-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4 package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container ipv4 { + description + "Global IPv4 configuration commands"; + container source-route { + presence "Indicates a source-route node is configured."; + description + "Process packets with source routing header options"; + } + container ipc { + description + "IPv4 Inter Process Communication(IPC) related config"; + container ratelimit { + description + "IPC ratelimit in the IPv4 software datapath"; + leaf arm { + type uint32 { + range "5..100" { + description + "Number of IPCs per second (default is 10)"; + } + } + description + "IPC rate-limiting to the ARM server"; + } + leaf netio { + type uint32 { + range "10..300" { + description + "Number of IPCs per second (default is 100)"; + } + } + description + "IPC rate-limiting for netio to send icmp error locally"; + } + container rib { + description + "IPC rate-limiting to the RIB server"; + leaf icmp { + type uint32 { + range "5..200" { + description + "Number of IPCs per second (default is 50)"; + } + } + description + "IPC ratelimit to the RIB server for ICMP packets"; + } + leaf io { + type uint32 { + range "5..100" { + description + "Number of IPCs per second (default is 10)"; + } + } + description + "IPC ratelimit to the RIB server for IO packets"; + } + } + } + } + container assembler { + description + "IPv4 Fragmented Packet Assembler"; + leaf timeout { + type uint32 { + range "1..120" { + description + "Number of seconds an assembly queue will hold before timeout"; + } + } + description + "Number of seconds an assembly queue will hold before timeout"; + } + leaf max-packets { + type uint32 { + range "1..50" { + description + "Percentage of total packets available in the system (default: 1000 packets)"; + } + } + description + "Maxinum packets allowed in assembly queues"; + } + } + container unnumbered { + description + "Enable IPv4 processing without an explicit address"; + container mpls { + description + "Configure MPLS routing protocol parameters"; + leaf traffic-eng { + type xr:Interface-name; + description + "IPv4 commands for MPLS Traffic Engineering"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-prefix-list-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-prefix-list-cfg.yang new file mode 100644 index 000000000..0ef21320e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv4-prefix-list-cfg.yang @@ -0,0 +1,168 @@ +module Cisco-IOS-XR-um-ipv4-prefix-list-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-prefix-list-cfg"; + prefix um-ipv4-prefix-list-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv4-prefix-list package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-03 { + description + "Limit Remark leaf length."; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Initial version"; + } + + container ipv4 { + description + "IPv4 prefix list"; + container prefix-lists { + description + "Prefix list"; + list prefix-list { + key "prefix-list-name"; + description + "prefix list"; + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of a prefix list - maximum 32 characters"; + } + } + description + "Name of a prefix list - maximum 32 characters"; + } + container sequences { + description + "Sequence number"; + list sequence { + must "(remark and not(permission) and not(prefix) and not(mask) and not(match-prefix-length/ge or match-prefix-length/le or match-prefix-length/eq)) or (not(remark) and permission and prefix and mask)"; + key "sequence-number"; + description + "Sequence number"; + leaf sequence-number { + type uint32 { + range "1..2147483646" { + description + "Sequence number"; + } + } + description + "Sequence number"; + } + leaf remark { + type string { + length "0..255" { + description + "Comments for the prefix list entry item"; + } + } + description + "Comments for prefix list"; + } + leaf permission { + type enumeration { + enum "deny" { + value 0; + description + "Specify prefixes to reject"; + } + enum "permit" { + value 1; + description + "Specify prefixes to permit"; + } + } + description + "specify the type to be either deny (or) permit"; + } + leaf prefix { + type inet:ipv4-address-no-zone; + description + "IPv4 address prefix"; + } + leaf mask { + type inet:ipv4-address-no-zone; + description + "Mask length of IPv4 address"; + } + container match-prefix-length { + description + "Prefix length to be matched"; + leaf eq { + type uint32 { + range "0..32" { + description + "Prefix length"; + } + } + must "not(../ge or ../le)"; + description + "Exact prefix length to be matched"; + } + leaf ge { + type uint32 { + range "0..32" { + description + "Minimum prefix length"; + } + } + must "not(../eq)"; + description + "Minimum prefix length to be matched"; + } + leaf le { + type uint32 { + range "0..32" { + description + "Maximum prefix length"; + } + } + must "not(../eq)"; + description + "Maximum prefix length to be matched"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-access-list-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-access-list-cfg.yang new file mode 100644 index 000000000..893369855 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-access-list-cfg.yang @@ -0,0 +1,1036 @@ +module Cisco-IOS-XR-um-ipv6-access-list-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-access-list-cfg"; + prefix um-ipv6-acl-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-access-list-datatypes { + prefix um-acl-types; + } + import Cisco-IOS-XR-types { + prefix xr2; + } + + organization + "Cisco Systems, Inc."; + contact + " + Cisco Systems, Inc. + Customer Service + + 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 IOS-XR YANG model derived from CLI. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved. + "; + + revision 2022-07-08 { + description + "Added dscp bitmask field + 2021-09-20 + Added container icmp-on for ace + 2021-07-28 + Added new police units"; + semver:module-version "3.0.1m"; + } + revision 2021-06-03 { + description + "Added container icmp-off + 2021-04-07 + Added leaf fragment-type. + 2021-03-17 + Adding new protocols - vrrp, rsvp + 2021-02-24 + Added container police"; + semver:module-version "3.0.0"; + } + revision 2021-01-12 { + description + "Added udf support + 2020-12-03 + Limit length of remark string"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-01 { + description + "Initial version"; + } + + feature ipv6_acl_object_groups_supported { + description + "Port object group"; + } + + feature ipv6_acl_counter_supported { + description + "Counter for access-list entry"; + } + + feature ipv6_acl_protocol_range_implemented { + description + "Range of protocol numbers"; + } + + feature ipv6_acl_abf_implemented { + description + "Forward to specified nexthop on match against access-list entry"; + } + + feature ipv6_acl_abf_track_implemented { + description + "Match a specific TRACK Name"; + } + + feature ipv6_acl_rollback_permit_supported { + description + "Rollback of access-list"; + } + + feature IP_ACL_TCP_URG_FLAG_IMPLEMENTED { + description + "Match on URG bit"; + } + + feature IP_ACL_TCP_FLEXFLAGS_IMPLEMENTED { + description + "Match all the options specified for TCP flags"; + } + + feature ipv6_acl_pktlen_implemented { + description + "Check packet length"; + } + + feature ipv6_acl_is_frag_flags_supported { + description + "Match fragment type for a packet"; + } + + feature ipv6_acl_is_udf_supported { + description + "Set User Defined Fields"; + } + + feature ipv6_acl_capture_implemented { + description + "Capture matched packet"; + } + + feature ipv6_acl_is_set_action_supported { + description + "Set action on access-list entry"; + } + + feature ipv6_acl_is_set_qos_group_supported { + description + "Set QoS group"; + } + + feature ipv6_acl_is_set_ttl_supported { + description + "Set ttl value"; + } + + feature ipv6_acl_undetermined_transport_supported { + description + "Undetermined transport packet"; + } + + grouping ace-common { + container source { + must "address or any or host or net-group"; + uses source-address; + } + container destination { + must "address or any or host or net-group"; + uses destination-address; + } + uses tcp-flags { + when "protocol='tcp'"; + } + uses icmp { + when "protocol='icmpv6'"; + } + uses undetermined-transport; + uses headers; + uses dscp; + uses packet-length; + uses ttl; + uses fragment-type; + uses udf; + uses police; + } + + grouping source-address { + leaf address { + type inet:ipv6-address; + must "not(../any or ../host or ../net-group) and (../wildcard-mask or ../prefix-length)"; + description + "Source IP address"; + } + leaf wildcard-mask { + type inet:ipv6-address-no-zone; + must "not(../prefix-length)"; + description + "Source IP address mask. Either wildcard-mask or prefix-length is supported along with address."; + } + leaf prefix-length { + type xr2:Ipv6-prefix-length; + must "not(../wildcard-mask)"; + description + "Source IP address prefix length.Either wildcard-mask or prefix-length is supported along with address."; + } + container any { + must "not(../address or ../host or ../net-group)"; + presence "Any host"; + description + "Any source host"; + } + leaf host { + type inet:ipv6-address; + must "not(../address or ../any or ../net-group)"; + description + "A single source host"; + } + leaf net-group { + if-feature "ipv6_acl_object_groups_supported"; + type string { + length "1..64" { + description + "IPv6 network object group name"; + } + } + must "not(../address or ../any or ../host)"; + description + "IPv6 source network object group"; + } + container port { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + description + "Match based on a port number"; + leaf eq { + type um-acl-types:ipv6-port-number; + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets on a given port number"; + } + leaf gt { + type um-acl-types:ipv6-port-number; + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater port number"; + } + leaf lt { + type um-acl-types:ipv6-port-number; + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower port number"; + } + leaf neq { + type um-acl-types:ipv6-port-number; + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given port"; + } + container range { + description + "Match only packets in the range of port numbers"; + leaf start-value { + type um-acl-types:ipv6-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "Port number"; + } + leaf end-value { + type um-acl-types:ipv6-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "Port number"; + } + } + } + leaf port-group { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + if-feature "ipv6_acl_object_groups_supported"; + type string { + length "1..64"; + } + description + "source port object group"; + } + } + + grouping destination-address { + leaf address { + type inet:ipv6-address; + must "not(../any or ../host or ../net-group) and (../wildcard-mask or ../prefix-length)"; + description + "Destination IP address"; + } + leaf wildcard-mask { + type inet:ipv6-address-no-zone; + must "not(../prefix-length)"; + description + "Destination IP address mask. Either wildcard-mask or prefix-length is supported along with address."; + } + leaf prefix-length { + type xr2:Ipv6-prefix-length; + must "not(../wildcard-mask)"; + description + "Destination IP address prefix length.Either wildcard-mask or prefix-length is supported along with address."; + } + container any { + must "not(../address or ../host or ../net-group)"; + presence "Any host"; + description + "Any destination host"; + } + leaf host { + type inet:ipv6-address; + must "not(../address or ../any or ../net-group)"; + description + "A single destination host"; + } + leaf net-group { + if-feature "ipv6_acl_object_groups_supported"; + type string { + length "1..64" { + description + "IPv6 network object group name"; + } + } + must "not(../address or ../any or ../host)"; + description + "IPv6 destination network object group"; + } + container port { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + description + "Match based on a port number"; + leaf eq { + type um-acl-types:ipv6-port-number; + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets on a given port number"; + } + leaf gt { + type um-acl-types:ipv6-port-number; + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater port number"; + } + leaf lt { + type um-acl-types:ipv6-port-number; + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower port number"; + } + leaf neq { + type um-acl-types:ipv6-port-number; + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given port"; + } + container range { + description + "Match only packets in the range of port numbers"; + leaf start-value { + type um-acl-types:ipv6-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "Port number"; + } + leaf end-value { + type um-acl-types:ipv6-port-number; + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "Port number"; + } + } + } + leaf port-group { + when "../../protocol='tcp' or ../../protocol='sctp' or ../../protocol='udp'"; + if-feature "ipv6_acl_object_groups_supported"; + type string { + length "1..64"; + } + description + "destination port object group"; + } + } + + grouping tcp-flags { + container tcp-flags { + container match-all { + if-feature "IP_ACL_TCP_FLEXFLAGS_IMPLEMENTED"; + must "not(../match-any)"; + presence "indicates match-all is configured"; + description + "Match all the options specified for TCP flags"; + leaf tcp-bits { + type string { + pattern "((\\+|\\-)(fin|syn|rst|psh|ack|urg)[ ]{0,1})+" { + description + "TCP flags with + or -"; + } + } + description + "TCP bits to match with set(+) or not set(-) indication"; + } + } + container match-any { + if-feature "IP_ACL_TCP_FLEXFLAGS_IMPLEMENTED"; + must "not(../match-all)"; + presence "indicates match-any is configured"; + description + "Match atleast one of the options specified for TCP flags"; + leaf tcp-bits { + type string { + pattern "((\\+|\\-)(fin|syn|rst|psh|ack|urg)[ ]{0,1})+" { + description + "TCP flags with + or -"; + } + } + description + "TCP bits to match with set(+) or not set(-) indication"; + } + } + leaf tcp-bits { + type um-acl-types:tcp-bits-type; + must "not(../match-all) and not(../match-any)"; + description + "TCP bits to match"; + } + } + } + + grouping icmp { + container icmp { + description + "Match on ICMP message"; + leaf message-type-name { + type um-acl-types:ipv6-icmp-message-type; + must "not(../message-type or ../message-code)"; + description + "ICMP message type"; + } + leaf message-type { + type uint8 { + range "0..255"; + } + must "not(../message-type-name)"; + description + "ICMP message type"; + } + leaf message-code { + type uint8 { + range "0..255"; + } + must "not(../message-type-name)"; + description + "ICMP message code"; + } + } + } + + grouping dscp { + container dscp { + description + "Match packets with given DSCP value(s)"; + leaf dscp-value { + type um-acl-types:dscp-value; + must "not(../eq or ../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + } + leaf dscp-bitmask { + type um-acl-types:dscp-bitmask-value; + must "../dscp-value and not(../eq or ../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + } + leaf eq { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets on a given DSCP value"; + } + leaf gt { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater DSCP value"; + } + leaf lt { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower DSCP value"; + } + leaf neq { + type um-acl-types:dscp-value; + must "not(../dscp-value or ../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given DSCP value"; + } + container range { + description + "Match only packets in the range of DSCP values"; + leaf start-value { + type um-acl-types:dscp-value; + must "not(../../dscp-value or ../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "DSCP value"; + } + leaf end-value { + type um-acl-types:dscp-value; + must "not(../../dscp-value or ../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "DSCP value"; + } + } + } + leaf precedence { + type um-acl-types:precedence-value; + description + "Match packets with given precedence"; + } + } + + grouping packet-length { + container packet-length { + if-feature "ipv6_acl_pktlen_implemented"; + description + "Check packet length"; + leaf eq { + type uint16 { + range "0..65535"; + } + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a given value"; + } + leaf gt { + type uint16 { + range "0..65535"; + } + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater value"; + } + leaf lt { + type uint16 { + range "0..65535"; + } + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower value"; + } + leaf neq { + type uint16 { + range "0..65535"; + } + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given value"; + } + container range { + description + "Match only packets in the range of value"; + leaf start-value { + type uint16 { + range "0..65535"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "Packet length start"; + } + leaf end-value { + type uint16 { + range "0..65535"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "Packet length end"; + } + } + } + } + + grouping ttl { + container ttl { + description + "match against ttl"; + leaf eq { + type uint8 { + range "0..255"; + } + must "not(../gt or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a given value"; + } + leaf gt { + type uint8 { + range "0..255"; + } + must "not(../eq or ../lt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packet with a greater value"; + } + leaf lt { + type uint8 { + range "0..255"; + } + must "not(../eq or ../gt or ../neq or ../range/start-value or ../range/end-value)"; + description + "Match only packets with a lower value"; + } + leaf neq { + type uint8 { + range "0..255"; + } + must "not(../eq or ../gt or ../lt or ../range/start-value or ../range/end-value)"; + description + "Match only packets not on a given value"; + } + container range { + description + "Match only packets in the range of value"; + leaf start-value { + type uint8 { + range "0..255"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../end-value)"; + description + "ttl range lower value"; + } + leaf end-value { + type uint8 { + range "0..255"; + } + must "not(../../eq or ../../gt or ../../lt or ../../neq) and (../start-value)"; + description + "ttl range higher value"; + } + } + } + } + + grouping undetermined-transport { + container undetermined-transport { + if-feature "ipv6_acl_undetermined_transport_supported"; + presence "Undetermined transport packet (L4 protocol cannot be read)"; + description + "Undetermined transport packet (L4 protocol cannot be read)"; + } + } + + grouping headers { + leaf headers { + type um-acl-types:header-bits-type; + description + "Match based on headers"; + } + } + + grouping udf { + container udf-entries { + description + "User Defined Fields list"; + list udf { + if-feature "ipv6_acl_is_udf_supported"; + key "udf-name"; + max-elements "8"; + description + "Set User Defined Fields on this entry"; + leaf udf-name { + type string { + length "1..16"; + } + description + "UDF name"; + } + leaf udf-value { + type xr2:Hex-integer; + description + "UDF value"; + } + leaf udf-mask { + type xr2:Hex-integer; + description + "UDF mask"; + } + } + } + } + + grouping police { + container police { + description + "Set Police value and unit on this entry"; + leaf value { + type uint32 { + range "0..4294967295"; + } + must "../unit"; + description + "Police value"; + } + leaf unit { + type string { + pattern "pps|bps|kbps|mbps|gbps"; + } + must "../value"; + description + "Unit for police value"; + } + leaf peak-rate { + type uint32 { + range "0..4294967295"; + } + must "../value and ../peak-unit"; + description + "Police peak-rate value on this entry"; + } + leaf peak-unit { + type string { + pattern "pps|bps|kbps|mbps|gbps"; + } + must "../peak-rate"; + description + "Unit for peak-rate value"; + } + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "punt priority critical"; + } + enum "high" { + value 1; + description + "punt priority high"; + } + enum "low" { + value 2; + description + "punt priority low"; + } + enum "medium" { + value 3; + description + "punt priority medium"; + } + } + must "../value"; + description + "Set Priority option on this entry"; + } + } + } + + grouping fragment-type { + leaf fragment-type { + if-feature "ipv6_acl_is_frag_flags_supported"; + type enumeration { + enum "first-fragment" { + value 1; + description + "Match first fragment flag"; + } + enum "is-fragment" { + value 2; + description + "Match is-fragment flag"; + } + } + description + "Fragment type for a packet"; + } + } + + grouping match-option-common { + container capture { + if-feature "ipv6_acl_capture_implemented"; + presence "Capture matched packet"; + description + "Capture matched packet"; + } + leaf counter { + if-feature "ipv6_acl_counter_supported"; + type string { + length "1..64" { + description + "Name of counter to aggregate hardware statistics"; + } + } + description + "counter for this ACE"; + } + container log { + presence "Log matches against this entry"; + description + "Log matches against this entry"; + } + container log-input { + presence "Log matches against this entry, including input interface"; + description + "Log matches against this entry, including input interface"; + } + container set { + if-feature "ipv6_acl_is_set_action_supported"; + description + "Set action on this entry"; + leaf qos-group { + if-feature "ipv6_acl_is_set_qos_group_supported"; + type uint16 { + range "0..512"; + } + description + "qos-group number"; + } + leaf ttl { + if-feature "ipv6_acl_is_set_ttl_supported"; + type uint8 { + range "0..255"; + } + description + "Set ttl value"; + } + } + } + + grouping protocol-common { + leaf protocol { + type um-acl-types:ipv6-protocol; + must "not(../eq or ../range/start-protocol or ../range/end-protocol)"; + description + "An IPv6 Protocol"; + } + leaf eq { + type um-acl-types:ipv6-protocol; + must "not(../protocol or ../range/start-protocol or ../range/end-protocol)"; + description + "Match only packets with exact protocol numbers"; + } + container range { + if-feature "ipv6_acl_protocol_range_implemented"; + description + "Match only packets in the range of protocol numbers"; + leaf start-protocol { + type um-acl-types:ipv6-protocol; + must "not(../../protocol or ../../eq) and (../end-protocol)"; + description + "An IPv6 Protocol"; + } + leaf end-protocol { + type um-acl-types:ipv6-protocol; + must "not(../../protocol or ../../eq) and (../start-protocol)"; + description + "An IPv6 Protocol"; + } + } + } + + grouping nexthops { + container default { + presence "Use specified default nexthop on match against this entry"; + description + "Use specified default nexthop on match against this entry"; + } + container nexthop1 { + if-feature "ipv6_acl_abf_implemented"; + presence "Forward to specified nexthop on match against this entry"; + description + "Forward to specified nexthop on match against this entry"; + leaf ipv6 { + type inet:ipv6-address; + description + "nexthop1 ipv6 address"; + } + leaf track { + if-feature "ipv6_acl_abf_track_implemented"; + type string { + length "1..32"; + } + description + "specific TRACK Name for this nexthop"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specific VRF Name for this nexthop"; + } + } + container nexthop2 { + must "(../nexthop1/vrf and ../nexthop1/ipv6) or ../nexthop1/vrf or ../nexthop1/ipv6"; + presence "Forward to specified nexthop on match against this entry"; + description + "Another nexthop"; + leaf ipv6 { + type inet:ipv6-address; + description + "nexthop2 ipv6 address"; + } + leaf track { + if-feature "ipv6_acl_abf_track_implemented"; + type string { + length "1..32"; + } + description + "specific TRACK Name for this nexthop"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specific VRF Name for this nexthop"; + } + } + container nexthop3 { + must "(../nexthop2/vrf and ../nexthop2/ipv6) or ../nexthop2/vrf or ../nexthop2/ipv6"; + presence "Forward to specified nexthop on match against this entry"; + description + "Another nexthop"; + leaf ipv6 { + type inet:ipv6-address; + description + "nexthop3 ipv6 address"; + } + leaf track { + if-feature "ipv6_acl_abf_track_implemented"; + type string { + length "1..32"; + } + description + "specific TRACK Name for this nexthop"; + } + leaf vrf { + type string { + length "1..32"; + } + description + "Specific VRF Name for this nexthop"; + } + } + } + + container ipv6 { + description + "Configure ipv6 access-list"; + container access-list-options { + container log-update { + description + "Control access lists log updates"; + leaf threshold { + type uint32 { + range "1..2147483647" { + description + "Log update threshold (number of hits)"; + } + } + description + "Set access-list logging threshold"; + } + leaf rate { + type uint16 { + range "1..1000" { + description + "rate (num. logs per second)"; + } + } + description + "Set access-list logging rate (num. logs per second)"; + } + } + container icmp-off { + presence "Indicates a icmp-off node is configured."; + description + "Do not generate the ICMP message"; + } + } + container access-lists { + description + "Access-lists"; + list access-list { + key "access-list-name"; + description + "Access-list commands"; + leaf access-list-name { + type string { + length "1..64"; + } + description + "Access list name - maximum 64 characters"; + } + container sequences { + description + "Access list entries"; + list sequence { + must "deny or permit or remark"; + key "sequence-number"; + description + "access list entry"; + leaf sequence-number { + type uint32 { + range "1..2147483643"; + } + description + "Sequence number for this entry"; + } + container deny { + must "(protocol or eq or range) and (source and destination) and (not(log and log-input))"; + presence "Grant type Deny"; + uses protocol-common; + uses ace-common; + uses match-option-common; + container icmp-off { + presence "Do not generate the ICMP message"; + description + "Do not generate the ICMP message"; + } + container icmp-on { + presence "Generate the ICMP message"; + description + "Generate the ICMP message"; + } + } + container permit { + must "(protocol or eq or range) and (source and destination) and (not(log and log-input))"; + presence "Grant type Permit"; + uses protocol-common; + uses ace-common; + uses nexthops; + uses match-option-common; + } + leaf remark { + type string { + length "0..255"; + } + description + "Comment for access list"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-cfg.yang new file mode 100644 index 000000000..d2699067b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-cfg.yang @@ -0,0 +1,156 @@ +module Cisco-IOS-XR-um-ipv6-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-cfg"; + prefix um-ipv6-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6 package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-06 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container ipv6 { + description + "Global IPv6 configuration commands"; + leaf hop-limit { + type uint32 { + range "1..255" { + description + "Hop Limit value"; + } + } + description + "Configure hop count limit"; + } + container icmp { + description + "Configure ICMP parameters"; + container error-interval { + presence "Indicates a error-interval node is configured."; + description + "Interval between ICMP error messages"; + leaf interval-time { + type uint32 { + range "0..2147483647" { + description + "Interval between tokens in milliseconds"; + } + } + mandatory true; + description + "Interval between ICMP error messages"; + } + leaf bucket-size { + type uint32 { + range "1..200" { + description + "Bucket size"; + } + } + description + "Bucket size"; + } + } + } + container source-route { + presence "Indicates a source-route node is configured."; + description + "Process packets with source routing header options"; + } + container assembler { + description + "IPv6 Fragmented Packet Assembler"; + leaf timeout { + type uint32 { + range "1..120" { + description + "Number of seconds an assembly queue will hold before timeout"; + } + } + description + "Number of seconds an assembly queue will hold before timeout"; + } + leaf max-packets { + type uint32 { + range "1..50" { + description + "Percentage of total packets available in the system (default: 1000 packets)"; + } + } + description + "Maxinum packets allowed in assembly queues"; + } + container reassembler-drop { + description + "Drop the reassembled packet"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable dropping of reassembled ND packet"; + } + } + container frag-hdr-incomplete { + description + "Drop the frags with incomplete headers"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable dropping the frags with incomplete header"; + } + } + container overlap-frag-drop { + description + "Drop the fragments which are overlapping"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable dropping the frags which are overlapping"; + } + } + } + container path-mtu { + description + "IPv6 path-mtu configuration"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable ipv6 path-mtu feature"; + } + leaf timeout { + type uint32 { + range "1..15" { + description + "path-mtu timeout value in minutes"; + } + } + description + "Configure path-mtu timeout value"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-nd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-nd-cfg.yang new file mode 100644 index 000000000..978c425b6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-nd-cfg.yang @@ -0,0 +1,1142 @@ +module Cisco-IOS-XR-um-ipv6-nd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-nd-cfg"; + prefix um-ipv6-nd-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-nd package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-08 { + description + "Removed tailf-common import"; + semver:module-version "1.0.1m"; + } + revision 2021-06-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature ipv6_nd_ra_dns_server_support_check { + description + "ipv6 nd ra dns server support check"; + } + + feature ipv6_nd_ra_specific_route_support_check { + description + "ipv6 nd ra specific route support check"; + } + + feature ipv6_nd_default_router_preference_support_check { + description + "ipv6 nd default router preference support check"; + } + + feature ipv6_nd_cos_supported { + description + "Cos value for all outgoing ND control packets"; + } + + grouping IF-IPV6-BODY { + container nd { + description + "IPv6 interface Neighbor Discovery subcommands"; + leaf reachable-time { + type uint32 { + range "0..3600000" { + description + "Reachability time in milliseconds"; + } + } + description + "Set advertised reachability time"; + } + leaf cache-limit { + type uint32 { + range "0..128000" { + description + "Cache Limit"; + } + } + description + "Set Cache Limit for neighbor entry"; + } + container dad { + description + "Duplicate Address Detection"; + leaf attempts { + type uint32 { + range "0..600" { + description + "Number of attempts"; + } + } + description + "Set IPv6 Duplicate Address Detection Transmits"; + } + } + container unicast-ra { + presence "Indicates a unicast-ra node is configured."; + description + "Send Unicast Solicited IPv6 Router Advertisements"; + } + container suppress-ra { + presence "Indicates a suppress-ra node is configured."; + description + "Suppress IPv6 Router Advertisements"; + } + container managed-config-flag { + presence "Indicates a managed-config-flag node is configured."; + description + "Hosts should use stateful protocol for address config"; + } + container other-config-flag { + presence "Indicates a other-config-flag node is configured."; + description + "Hosts should use stateful protocol for non-address config"; + } + leaf ns-interval { + type uint32 { + range "1000..4294967295" { + description + "Retransmission interval in milliseconds"; + } + } + description + "Set advertised NS retransmission interval"; + } + container ra-interval { + presence "Indicates a ra-interval node is configured."; + description + "Set IPv6 Router Advertisement Interval"; + leaf maximum-ra-interval { + type uint32 { + range "4..1800" { + description + "Maximum RA Interval (sec)"; + } + } + mandatory true; + description + "Set IPv6 Router Advertisement Interval"; + } + leaf minimum-ra-interval { + type uint32 { + range "3..1800" { + description + "Minimum RA Interval (sec). Must be less than 0.75 * maximum interval"; + } + } + description + "Minimum RA Interval (sec). Must be less than 0.75 * maximum interval"; + } + } + leaf ra-lifetime { + type uint32 { + range "0..9000" { + description + "RA Lifetime (seconds)"; + } + } + description + "Set IPv6 Router Advertisement Lifetime"; + } + container redirects { + presence "Indicates a redirects node is configured."; + description + "Enable sending of ICMP Redirect messages"; + } + container nud-conform { + presence "Indicates a nud-conform node is configured."; + description + "Enable NUD conformance logic"; + } + container prefix { + description + "Configure IPv6 Routing Prefix Advertisement"; + container default { + must "infinite or valid-lifetime or at or no-adv or off-link or no-autoconfig"; + presence "Indicates a default node is configured."; + description + "Specify prefix default parameters"; + container infinite { + must "not(../valid-lifetime or ../at or ../no-adv) and (infinite or preferred-lifetime)"; + presence "Indicates a infinite node is configured."; + description + "Infinite Valid Lifetime"; + container infinite { + must "not(../preferred-lifetime)"; + presence "Indicates a infinite node is configured."; + description + "Infinite Preferred Lifetime"; + } + leaf preferred-lifetime { + type uint32 { + range "0..4294967294" { + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + } + must "not(../infinite)"; + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + } + leaf valid-lifetime { + type uint32 { + range "0..4294967294" { + description + "Valid Lifetime (secs)"; + } + } + must "not(../infinite or ../at or ../no-adv) and ../preferred-lifetime"; + description + "Valid Lifetime (secs)"; + } + leaf preferred-lifetime { + type uint32 { + range "0..4294967294" { + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + } + must "../valid-lifetime"; + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + container at { + must "not(../valid-lifetime or ../infinite or ../no-adv)"; + presence "Indicates a at node is configured."; + description + "Expire prefix at a specific time/date"; + container expire-valid-lifetime { + description + "Expire prefix at a specific time/date"; + leaf month { + type enumeration { + enum "January" { + value 0; + description + "January"; + } + enum "February" { + value 1; + description + "February"; + } + enum "March" { + value 2; + description + "March"; + } + enum "April" { + value 3; + description + "April"; + } + enum "May" { + value 4; + description + "May"; + } + enum "June" { + value 5; + description + "June"; + } + enum "July" { + value 6; + description + "July"; + } + enum "August" { + value 7; + description + "August"; + } + enum "September" { + value 8; + description + "September"; + } + enum "October" { + value 9; + description + "October"; + } + enum "November" { + value 10; + description + "November"; + } + enum "December" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month to expire Valid Lifetime"; + } + leaf date { + type uint32 { + range "1..31" { + description + "Date to expire Valid Lifetime"; + } + } + mandatory true; + description + "Date to expire Valid Lifetime"; + } + leaf year { + type uint32 { + range "2003..2035" { + description + "Year to expire Valid Lifetime"; + } + } + mandatory true; + description + "Year to expire Valid Lifetime"; + } + leaf time-hour { + type uint32 { + range "0..23" { + description + "Time to expire Valid Lifetime (hh:mm)"; + } + } + mandatory true; + description + "Time to expire Valid Lifetime (hh:mm)"; + } + leaf time-minute { + type uint32 { + range "0..59" { + description + "Time to Valid (hh:mm)"; + } + } + mandatory true; + description + "Time to Valid (hh:mm)"; + } + } + container expire-preferred-lifetime { + description + "Expire prefix at a specific time/date"; + leaf month { + type enumeration { + enum "January" { + value 0; + description + "January"; + } + enum "February" { + value 1; + description + "February"; + } + enum "March" { + value 2; + description + "March"; + } + enum "April" { + value 3; + description + "April"; + } + enum "May" { + value 4; + description + "May"; + } + enum "June" { + value 5; + description + "June"; + } + enum "July" { + value 6; + description + "July"; + } + enum "August" { + value 7; + description + "August"; + } + enum "September" { + value 8; + description + "September"; + } + enum "October" { + value 9; + description + "October"; + } + enum "November" { + value 10; + description + "November"; + } + enum "December" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month to expire Preferred Lifetime"; + } + leaf date { + type uint32 { + range "1..31" { + description + "Date to expire Preferred Lifetime"; + } + } + mandatory true; + description + "Date to expire Preferred Lifetime"; + } + leaf year { + type uint32 { + range "2003..2035" { + description + "Year to expire Preferred Lifetime"; + } + } + mandatory true; + description + "Year to expire Preferred Lifetime"; + } + leaf time-hour { + type uint32 { + range "0..23" { + description + "Time to expire Preferred Lifetime (hh:mm)"; + } + } + mandatory true; + description + "Time to expire Preferred Lifetime (hh:mm)"; + } + leaf time-minute { + type uint32 { + range "0..59" { + description + "Time to Preferred (hh:mm)"; + } + } + mandatory true; + description + "Time to Preferred (hh:mm)"; + } + } + } + container off-link { + presence "Indicates a off-link node is configured."; + description + "Do not use prefix for onlink determination"; + } + container no-autoconfig { + presence "Indicates a no-autoconfig node is configured."; + description + "Do not use prefix for autoconfiguration"; + } + container no-adv { + must "not(../valid-lifetime or ../at or ../infinite)"; + presence "Indicates a no-adv node is configured."; + description + "Do not advertise prefix"; + } + } + container ipv6-addresses { + list ipv6-address { + must "infinite or valid-lifetime or at or no-adv or off-link or no-autoconfig"; + key "address"; + description + "IPv6 prefix x:x::y/"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 prefix x:x::y/"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "IPv6 prefix x:x::y/"; + } + leaf zone { + type union { + type string { + pattern "0" { + description + "Default zone id"; + } + } + type string; + } + mandatory true; + description + "IPv6 address zone"; + } + container infinite { + must "not(../valid-lifetime or ../at or ../no-adv) and (infinite or preferred-lifetime)"; + presence "Indicates a infinite node is configured."; + description + "Infinite Valid Lifetime"; + container infinite { + must "not(../preferred-lifetime)"; + presence "Indicates a infinite node is configured."; + description + "Infinite Preferred Lifetime"; + } + leaf preferred-lifetime { + type uint32 { + range "0..4294967294" { + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + } + must "not(../infinite)"; + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + } + leaf valid-lifetime { + type uint32 { + range "0..4294967294" { + description + "Valid Lifetime (secs)"; + } + } + must "not(../infinite or ../at or ../no-adv) and ../preferred-lifetime"; + description + "Valid Lifetime (secs)"; + } + leaf preferred-lifetime { + type uint32 { + range "0..4294967294" { + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + } + must "../valid-lifetime"; + description + "Preferred Lifetime (secs) must be <= Valid Lifetime"; + } + container at { + must "not(../valid-lifetime or ../infinite or ../no-adv)"; + presence "Indicates a at node is configured."; + description + "Expire prefix at a specific time/date"; + container expire-valid-lifetime { + description + "Expire prefix at a specific time/date"; + leaf month { + type enumeration { + enum "January" { + value 0; + description + "January"; + } + enum "February" { + value 1; + description + "February"; + } + enum "March" { + value 2; + description + "March"; + } + enum "April" { + value 3; + description + "April"; + } + enum "May" { + value 4; + description + "May"; + } + enum "June" { + value 5; + description + "June"; + } + enum "July" { + value 6; + description + "July"; + } + enum "August" { + value 7; + description + "August"; + } + enum "September" { + value 8; + description + "September"; + } + enum "October" { + value 9; + description + "October"; + } + enum "November" { + value 10; + description + "November"; + } + enum "December" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month to expire Valid Lifetime"; + } + leaf date { + type uint32 { + range "1..31" { + description + "Date to expire Valid Lifetime"; + } + } + mandatory true; + description + "Date to expire Valid Lifetime"; + } + leaf year { + type uint32 { + range "2003..2035" { + description + "Year to expire Valid Lifetime"; + } + } + mandatory true; + description + "Year to expire Valid Lifetime"; + } + leaf time-hour { + type uint32 { + range "0..23" { + description + "Time to expire Valid Lifetime (hh:mm)"; + } + } + mandatory true; + description + "Time to expire Valid Lifetime (hh:mm)"; + } + leaf time-minute { + type uint32 { + range "0..59" { + description + "Time to Valid (hh:mm)"; + } + } + mandatory true; + description + "Time to Valid (hh:mm)"; + } + } + container expire-preferred-lifetime { + description + "Expire prefix at a specific time/date"; + leaf month { + type enumeration { + enum "January" { + value 0; + description + "January"; + } + enum "February" { + value 1; + description + "February"; + } + enum "March" { + value 2; + description + "March"; + } + enum "April" { + value 3; + description + "April"; + } + enum "May" { + value 4; + description + "May"; + } + enum "June" { + value 5; + description + "June"; + } + enum "July" { + value 6; + description + "July"; + } + enum "August" { + value 7; + description + "August"; + } + enum "September" { + value 8; + description + "September"; + } + enum "October" { + value 9; + description + "October"; + } + enum "November" { + value 10; + description + "November"; + } + enum "December" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month to expire Preferred Lifetime"; + } + leaf date { + type uint32 { + range "1..31" { + description + "Date to expire Preferred Lifetime"; + } + } + mandatory true; + description + "Date to expire Preferred Lifetime"; + } + leaf year { + type uint32 { + range "2003..2035" { + description + "Year to expire Preferred Lifetime"; + } + } + mandatory true; + description + "Year to expire Preferred Lifetime"; + } + leaf time-hour { + type uint32 { + range "0..23" { + description + "Time to expire Preferred Lifetime (hh:mm)"; + } + } + mandatory true; + description + "Time to expire Preferred Lifetime (hh:mm)"; + } + leaf time-minute { + type uint32 { + range "0..59" { + description + "Time to Preferred (hh:mm)"; + } + } + mandatory true; + description + "Time to Preferred (hh:mm)"; + } + } + } + container off-link { + presence "Indicates a off-link node is configured."; + description + "Do not use prefix for onlink determination"; + } + container no-autoconfig { + presence "Indicates a no-autoconfig node is configured."; + description + "Do not use prefix for autoconfiguration"; + } + container no-adv { + must "not(../valid-lifetime or ../at or ../infinite)"; + presence "Indicates a no-adv node is configured."; + description + "Do not advertise prefix"; + } + } + } + } + leaf srp-encap { + type enumeration { + enum "SRP-A" { + value 5; + description + "Encapsulation type SRP, prefer side A"; + } + enum "SRP-B" { + value 6; + description + "Encapsulation type SRP, prefer side B"; + } + } + description + "Set SRP Unicast prefer encapsulation"; + } + leaf srp-mcast-encap { + type enumeration { + enum "SRP-A" { + value 5; + description + "Encapsulation type SRP, prefer side A"; + } + enum "SRP-B" { + value 6; + description + "Encapsulation type SRP, prefer side B"; + } + } + description + "Set SRP Mcast prefer encapsulation"; + } + container ra { + description + "IPv6 interface ND RA subcommands"; + container hoplimit { + description + "IPv6 ND RA hoplimit"; + container unspecified { + presence "Indicates a unspecified node is configured."; + description + "Unspecified IPv6 ND RA hop-limit value"; + } + } + container mtu { + description + "IPv6 ND RA mtu option configuration"; + container suppress { + presence "Indicates a suppress node is configured."; + description + "Suppress mtu option in IPv6 ND RA header"; + } + } + container dns { + description + "IPv6 ND RA DNS"; + container servers { + description + "IPv6 ND RA DNS Server"; + list server { + must "server-lifetime or infinite-lifetime or zero-lifetime"; + key "address"; + description + "IPv6 ND RA DNS Server"; + leaf address { + type inet:ipv6-address-no-zone; + description + "RA DNS Server IPv6 Address x:x::y"; + } + leaf server-lifetime { + type uint32 { + range "12..4294967295" { + description + "IPv6 RA DNS Server Lifetime Interval in Seconds,range should be between(3*(max ra lifetime)) <= dns lifetime <= 4294967295"; + } + } + must "not(../infinite-lifetime or ../zero-lifetime)"; + description + "IPv6 RA DNS Server Lifetime Interval in Seconds,range should be between(3*(max ra lifetime)) <= dns lifetime <= 4294967295"; + } + container infinite-lifetime { + must "not(../server-lifetime or ../zero-lifetime)"; + presence "Indicates a infinite-lifetime node is configured."; + description + "Infinite IPv6 RA DNS Server Lifetime"; + } + container zero-lifetime { + must "not(../server-lifetime or ../infinite-lifetime)"; + presence "Indicates a zero-lifetime node is configured."; + description + "Zero IPv6 RA DNS Server Lifetime"; + } + } + } + container search { + description + "IPv6 ND RA DNS Search"; + container lists { + description + "IPv6 ND RA DNS Search List"; + list list { + key "list-name"; + description + "IPv6 ND RA DNS Search List"; + leaf list-name { + type xr:Cisco-ios-xr-string { + length "1..255" { + description + "RA DNS Search List Name String"; + } + } + description + "IPv6 ND RA DNS Search List"; + } + leaf lifetime-interval { + type uint32 { + range "12..4294967295" { + description + "IPv6 RA DNS Search List Lifetime Interval in Seconds,range should be between (3*(max ra lifetime)) <= dns lifetime <= 4294967295"; + } + } + must "not(../infinite-lifetime or ../zero-lifetime)"; + description + "IPv6 RA DNS Search List Lifetime Interval in Seconds,range should be between (3*(max ra lifetime)) <= dns lifetime <= 4294967295"; + } + container infinite-lifetime { + must "not(../lifetime-interval or ../zero-lifetime)"; + presence "Indicates a infinite-lifetime node is configured."; + description + "Infinite IPv6 RA DNS Search List Lifetime"; + } + container zero-lifetime { + must "not(../lifetime-interval or ../infinite-lifetime)"; + presence "Indicates a zero-lifetime node is configured."; + description + "Zero IPv6 RA DNS Search List Lifetime"; + } + } + } + } + } + container specific { + description + "IPv6 ND RA Specific"; + container routes { + description + "IPv6 ND RA Specific Route"; + list route { + must "lifetime"; + key "prefix-address"; + description + "IPv6 ND RA Specific Route"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "RA Specific Route IPv6 prefix x:x::y/"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + mandatory true; + description + "RA Specific Route IPv6 prefix x:x::y/"; + } + container lifetime { + must "lifetime-interval or infinite-lifetime or zero-lifetime"; + presence "Indicates a lifetime node is configured."; + description + "IPv6 RA Specific Route Lifetime"; + leaf lifetime-interval { + type uint32 { + range "0..4294967295" { + description + "IPv6 RA Specific Route Lifetime Interval in Seconds"; + } + } + must "not(../infinite-lifetime or ../zero-lifetime)"; + description + "IPv6 RA Specific Route Lifetime Interval in Seconds"; + } + container infinite-lifetime { + must "not(../lifetime-interval or ../zero-lifetime)"; + presence "Indicates a infinite-lifetime node is configured."; + description + "Infinite IPv6 RA Specific Route Lifetime"; + } + container zero-lifetime { + must "not(../lifetime-interval or ../infinite-lifetime)"; + presence "Indicates a zero-lifetime node is configured."; + description + "Zero IPv6 RA Specific Route Lifetime"; + } + container preference { + description + "IPv6 RA Specific Route preference"; + container high { + must "not(../medium or ../low)"; + presence "Indicates a high node is configured."; + description + "High RA Specific Route preference"; + } + container medium { + must "not(../high or ../low)"; + presence "Indicates a medium node is configured."; + description + "Medium RA Specific Route preference"; + } + container low { + must "not(../high or ../medium)"; + presence "Indicates a low node is configured."; + description + "Low RA Specific Route router preference"; + } + } + } + } + } + } + } + container router-preference { + description + "IPv6 ND router-preference"; + container high { + must "not(../medium or ../low)"; + presence "Indicates a high node is configured."; + description + "High default router preference"; + } + container medium { + must "not(../high or ../low)"; + presence "Indicates a medium node is configured."; + description + "Medium default router preference"; + } + container low { + must "not(../high or ../medium)"; + presence "Indicates a low node is configured."; + description + "Low default router preference"; + } + } + } + } + + augment "/a1:interfaces/a1:interface/a1:ipv6" { + uses IF-IPV6-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure/a1:ipv6" { + uses IF-IPV6-BODY; + } + container ipv6 { + description + "Global IPv6 configuration commands"; + container nd { + description + "IPv6 Neighbor Discovery subcommands"; + leaf cos { + if-feature "ipv6_nd_cos_supported"; + type uint32 { + range "0..7" { + description + "cos value"; + } + } + description + "Set cos value to outer vlan and inner vlan (if present) in all outgoing ND control packets"; + } + leaf scavenge-timeout { + type uint32 { + range "1..43200" { + description + "RA Lifetime (seconds)"; + } + } + description + "Set Lifetime for STALE neighbor entry"; + } + } + container neighbors { + description + "Neighbor"; + list neighbor { + key "address interface-name"; + description + "Neighbor"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Neighbor"; + } + leaf interface-name { + type xr:Interface-name; + description + "Enter interface"; + } + leaf zone { + type union { + type string { + pattern "0" { + description + "Default zone id"; + } + } + type string; + } + mandatory true; + description + "IPv6 address zone"; + } + leaf hardware-address { + type yang:mac-address; + mandatory true; + description + "48-bit hardware address"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-prefix-list-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-prefix-list-cfg.yang new file mode 100644 index 000000000..61241ffb5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ipv6-prefix-list-cfg.yang @@ -0,0 +1,178 @@ +module Cisco-IOS-XR-um-ipv6-prefix-list-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-prefix-list-cfg"; + prefix um-ipv6-prefix-list-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ipv6-prefix-list package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-03 { + description + "Limit Remark leaf length."; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Initial version"; + } + + container ipv6 { + description + "IPv6 prefix list"; + container prefix-lists { + description + "Prefix list"; + list prefix-list { + key "prefix-list-name"; + description + "prefix list"; + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of a prefix list - maximum 32 characters"; + } + } + description + "Name of a prefix list - maximum 32 characters"; + } + container sequences { + description + "Sequence number"; + list sequence { + must "(remark and not(permission) and not(prefix) and not(mask) and not(zone) and not(match-prefix-length/ge or match-prefix-length/le or match-prefix-length/eq)) or (not(remark) and permission and prefix and mask)"; + key "sequence-number"; + description + "Sequence number"; + leaf sequence-number { + type uint32 { + range "1..2147483646" { + description + "Sequence number"; + } + } + description + "Sequence number"; + } + leaf remark { + type string { + length "0..255" { + description + "Comments for the prefix list entry item"; + } + } + description + "Comments for prefix list"; + } + leaf permission { + type enumeration { + enum "deny" { + value 0; + description + "Specify prefixes to reject"; + } + enum "permit" { + value 1; + description + "Specify prefixes to permit"; + } + } + description + "specify the type to be either deny (or) permit"; + } + leaf prefix { + type inet:ipv6-address-no-zone; + description + "IPv6 address prefix"; + } + leaf zone { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IPv6 zone if entered with IPv6 address"; + } + } + description + "IPv6 zone if entered with IPv6 address"; + } + leaf mask { + type xr:Ipv6-prefix-length; + description + "Mask length of IPv6 address"; + } + container match-prefix-length { + description + "Prefix length to be matched"; + leaf eq { + type uint32 { + range "0..128" { + description + "Prefix length"; + } + } + must "not(../ge or ../le)"; + description + "Exact prefix length to be matched"; + } + leaf ge { + type uint32 { + range "0..128" { + description + "Minimum prefix length"; + } + } + must "not(../eq)"; + description + "Minimum prefix length to be matched"; + } + leaf le { + type uint32 { + range "0..128" { + description + "Maximum prefix length"; + } + } + must "not(../eq)"; + description + "Maximum prefix length to be matched"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-key-chain-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-key-chain-cfg.yang new file mode 100644 index 000000000..76e323346 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-key-chain-cfg.yang @@ -0,0 +1,1074 @@ +module Cisco-IOS-XR-um-key-chain-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-key-chain-cfg"; + prefix um-key-chain-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR key-chain package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-05 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature check_input_hex_string_length_typ6 { + description + "check input hex string length typ6"; + } + + feature check_input_hex_string_length { + description + "check input hex string length"; + } + + feature check_input_number { + description + "check input number"; + } + + container key { + description + "Configure a key"; + container chains { + description + "Configure a Key Chain "; + list chain { + key "key-chain-name"; + description + "Name of the key chain - maximum 32 characters"; + leaf key-chain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Name of the key chain - maximum 32 characters"; + } + container accept-tolerance { + description + "Configure a tolerance value for accept keys of this keychain"; + leaf tolerance-value { + type uint32 { + range "1..8640000" { + description + "Configure a tolerance-value"; + } + } + description + "Configure a tolerance-value"; + } + container infinite { + presence "Indicates a infinite node is configured."; + description + "Never expires"; + } + } + container macsec { + presence "Indicates a macsec node is configured."; + description + "Configures as macsec key chain"; + container keys { + description + "Configure CKN for macsec PSK"; + list key { + key "ckn"; + description + "Configure CKN for macsec PSK"; + leaf ckn { + type xr:Cisco-ios-xr-string { + length "2..64" { + description + "Enter CKN as non-zero hex string of even length, i.e 1-32 bytes of MACsec CKN"; + } + } + description + "Configure CKN for macsec PSK"; + } + container key-string { + must "password or password6"; + presence "Indicates a key-string node is configured."; + description + "Configure CAK as hex string"; + leaf password { + type xr:Proprietary-password; + must "not(../password6)"; + description + "Enter encrypted CAK as hex string"; + } + leaf password6 { + if-feature "check_input_hex_string_length_typ6"; + if-feature "check_input_hex_string_length"; + type xr:Type6-password; + must "not(../password)"; + description + "Enter encrypted type6 password"; + } + leaf cryptographic-algorithm { + type enumeration { + enum "aes-128-cmac" { + value 7; + description + "aes 128 cmac"; + } + enum "aes-256-cmac" { + value 8; + description + "aes 256 cmac"; + } + } + mandatory true; + description + "Cryptographic Algorithm"; + } + } + container lifetime { + description + "Configure lifetime"; + container start-time { + must "../end-time or ../duration or ../infinite"; + presence "Indicates a start-time node is configured."; + description + "Configure lifetime start time"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time minute"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time second"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + mandatory true; + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + mandatory true; + description + "Year"; + } + } + container end-time { + must "../start-time and not(../duration) and not(../infinite)"; + presence "Indicates a end-time node is configured."; + description + "Configure lifetime end time"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time minute"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time second"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + mandatory true; + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + mandatory true; + description + "Year"; + } + } + leaf duration { + type uint32 { + range "1..2147483646" { + description + "duration in seconds"; + } + } + must "../start-time and not(../end-time) and not(../infinite)"; + description + "Lifetime duration"; + } + container infinite { + must "../start-time and not(../end-time) and not(../duration)"; + presence "Indicates a infinite node is configured."; + description + "Never expires"; + } + } + } + } + } + container keys { + description + "Configure a Key"; + list key { + if-feature "check_input_number"; + key "key-name"; + description + "Configure a Key"; + leaf key-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Enter 48-bit integer [0 - 281474976710655]"; + } + pattern "[0-9]{1,15}"; + } + description + "Configure a Key"; + } + container key-string { + description + "Configure a key value"; + leaf password { + type xr:Proprietary-password; + must "not(../password6)"; + description + "Encrypted key string (even number of characters with first two as digits and sum less than 53, and rest of the characters should be hex digits)"; + } + leaf password6 { + if-feature "check_input_hex_string_length_typ6"; + if-feature "check_input_hex_string_length"; + type xr:Type6-password; + must "not(../password)"; + description + "Enter encrypted type6 password"; + } + } + container send-lifetime { + description + "Configure send-lifetime"; + container start-time { + must "../end-time or ../duration or ../infinite"; + presence "Indicates a start-time node is configured."; + description + "Configure send-lifetime start time"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time minute"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time second"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + mandatory true; + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + mandatory true; + description + "Year"; + } + } + container end-time { + must "../start-time and not(../duration) and not(../infinite)"; + presence "Indicates a end-time node is configured."; + description + "Configure send-lifetime end time"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time minute"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time second"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + mandatory true; + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + mandatory true; + description + "Year"; + } + } + leaf duration { + type uint32 { + range "1..2147483646" { + description + "duration in seconds"; + } + } + must "../start-time and not(../end-time) and not(../infinite)"; + description + "Lifetime duration"; + } + container infinite { + must "../start-time and not(../end-time) and not(../duration)"; + presence "Indicates a infinite node is configured."; + description + "Never expires"; + } + } + container accept-lifetime { + description + "Configure accept-lifetime"; + container start-time { + must "../end-time or ../duration or ../infinite"; + presence "Indicates a start-time node is configured."; + description + "Configure accept-lifetime start time"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time minute"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time to start (hh:mm:ss)"; + } + } + mandatory true; + description + "Start time second"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + mandatory true; + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + mandatory true; + description + "Year"; + } + } + container end-time { + must "../start-time and not(../duration) and not(../infinite)"; + presence "Indicates a end-time node is configured."; + description + "Configure accept-lifetime end time"; + leaf hour { + type uint32 { + range "0..23" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time hour"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time minute"; + } + leaf second { + type uint32 { + range "0..59" { + description + "Time to end (hh:mm:ss)"; + } + } + mandatory true; + description + "End time second"; + } + leaf month { + type enumeration { + enum "january" { + value 0; + description + "January"; + } + enum "february" { + value 1; + description + "February"; + } + enum "march" { + value 2; + description + "March"; + } + enum "april" { + value 3; + description + "April"; + } + enum "may" { + value 4; + description + "May"; + } + enum "june" { + value 5; + description + "June"; + } + enum "july" { + value 6; + description + "July"; + } + enum "august" { + value 7; + description + "August"; + } + enum "september" { + value 8; + description + "September"; + } + enum "october" { + value 9; + description + "October"; + } + enum "november" { + value 10; + description + "November"; + } + enum "december" { + value 11; + description + "December"; + } + } + mandatory true; + description + "Month of the year"; + } + leaf day-of-month { + type uint32 { + range "1..31" { + description + "Day of the month"; + } + } + mandatory true; + description + "Day of the month"; + } + leaf year { + type uint32 { + range "1993..2035" { + description + "Year"; + } + } + mandatory true; + description + "Year"; + } + } + leaf duration { + type uint32 { + range "1..2147483646" { + description + "duration in seconds"; + } + } + must "../start-time and not(../end-time) and not(../infinite)"; + description + "Lifetime duration"; + } + container infinite { + must "../start-time and not(../end-time) and not(../duration)"; + presence "Indicates a infinite node is configured."; + description + "Never expires"; + } + } + leaf cryptographic-algorithm { + type enumeration { + enum "md5" { + value 3; + description + "Configure MD5 as cryptographic algorithm"; + } + enum "sha-1" { + value 4; + description + "Configure SHA-1-20 as cryptographic algorithm"; + } + enum "hmac-md5" { + value 5; + description + "Configure HMAC-MD5 as cryptographic algorithm"; + } + enum "hmac-sha1-20" { + value 6; + description + "Configure HMAC-SHA1-20 as cryptographic algorithm"; + } + enum "hmac-sha1-12" { + value 2; + description + "Configure HMAC-SHA1-12 as cryptographic algorithm"; + } + enum "hmac-sha1-96" { + value 9; + description + "Configure HMAC-SHA1-96 as cryptographic algorithm"; + } + enum "hmac-sha-256" { + value 10; + description + "Configure HMAC-SHA-256 as cryptographic algorithm"; + } + enum "aes-128-cmac-96" { + value 1; + description + "Configure AES-128-CMAC-96 as cryptographic algorithm"; + } + } + description + "Choose cryptographic algorithm"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2-ethernet-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2-ethernet-cfg.yang new file mode 100644 index 000000000..ecdd7f0e2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2-ethernet-cfg.yang @@ -0,0 +1,2274 @@ +module Cisco-IOS-XR-um-l2-ethernet-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2-ethernet-cfg"; + prefix um-l2-ethernet-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-if-l2transport-cfg { + prefix a2; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2-ethernet package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-10 { + description + "1.Added leaf dot1q-end-vlan-id under l2transport-encapsulation/dot1ad + 2.Added leaf second-dot1q-end-vlan-id under l2transport-encapsulation/dot1q"; + semver:module-version "3.0.1m"; + } + revision 2021-03-30 { + description + "Updated with statement for 800G interface"; + semver:module-version "3.0.0"; + } + revision 2021-02-19 { + description + "Updated when/must statement under carrier-delay, l2transport-encapsulation, + encapsulation, l2protocol container. + 2020-08-01 + Added when/must statement under encapsulation container. + Added feature/if-feature for global ethernet config."; + semver:module-version "2.0.0"; + } + revision 2020-03-05 { + description + "Initial draft"; + semver:module-version "1.0.0"; + } + + feature global-ethernet { + description + "Global ethernet configuration"; + } + + grouping IF-BODY { + container carrier-delay { + when "(../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'Bundle-Ether')] or ../a1:interface-name[starts-with(text(),'PW-Ether')])and ../a1:interface-name[contains(text(),'.')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Set the carrier delay on an interface"; + leaf up { + type uint32 { + range "1..65535" { + description + "Up delay in milliseconds"; + } + } + description + "Set the carrier delay up value"; + } + } + container encapsulation { + when "(../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'Bundle-Ether')] or ../a1:interface-name[starts-with(text(),'PW-Ether')])and ../a1:interface-name[contains(text(),'.')]and not(../a1:sub-interface-type/a1:l2transport)" { + tailf:dependency "../a1:interface-name"; + } + description + "Specify which packets will be matched by this sub-interface"; + container dot1q { + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "Configure first (outer) VLAN ID on the subinterface"; + } + } + description + "Configure first (outer) VLAN ID on the subinterface"; + } + leaf second-dot1q { + type uint32 { + range "1..4094" { + description + "Configure second (inner 802.1Q) VLAN ID on the subinterface"; + } + } + must "../vlan-id"; + description + "Configure second (inner 802.1Q) VLAN ID on the subinterface"; + } + } + container dot1ad { + description + "IEEE 802.1ad VLAN-tagged packets"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "Configure first (outer) VLAN ID on the subinterface"; + } + } + description + "Configure first (outer) VLAN ID on the subinterface"; + } + leaf dot1q { + type uint32 { + range "1..4094" { + description + "Configure second (inner 802.1Q) VLAN ID on the subinterface"; + } + } + must "../vlan-id"; + description + "Configure second (inner 802.1Q) VLAN ID on the subinterface"; + } + } + } + container l2transport-encapsulation { + when "(../a1:interface-name[starts-with(text(),'FastEthernet')] or ../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../a1:interface-name[starts-with(text(),'TenGigE')] or ../a1:interface-name[starts-with(text(),'FortyGigE')] or ../a1:interface-name[starts-with(text(),'HundredGigE')] or ../a1:interface-name[starts-with(text(),'TwoHundredGigE')] or ../a1:interface-name[starts-with(text(),'FourHundredGigE')] or ../a1:interface-name[starts-with(text(),'EightHundredGigE')] or ../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../a1:interface-name[starts-with(text(),'FiftyGigE')] or ../a1:interface-name[starts-with(text(),'Bundle-Ether')] or ../a1:interface-name[starts-with(text(),'PW-Ether')])and ../a1:interface-name[contains(text(),'.')]and ../a1:sub-interface-type/a1:l2transport" { + tailf:dependency "../a1:interface-name"; + } + description + "Specify which packets will be matched by this sub-interface"; + container dot1q { + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN id"; + } + } + } + must "not(../priority-tagged)"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + type enumeration { + enum "not-set" { + value 4097; + description + "Need to set this when configuring additional vlan-id with a single VLAN id"; + } + } + } + must "../vlan-id and ../vlan-id != 'any'"; + description + "End of VLAN range"; + } + leaf vlan-id-2 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id and ../vlan-id != 'any' and ../end-vlan-id"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-2 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-2"; + description + "End of VLAN range"; + } + leaf vlan-id-3 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id-2"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-3 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-3"; + description + "End of VLAN range"; + } + leaf vlan-id-4 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id-3"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-4 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-4"; + description + "End of VLAN range"; + } + leaf vlan-id-5 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id-4"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-5 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-5"; + description + "End of VLAN range"; + } + leaf vlan-id-6 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id-5"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-6 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-6"; + description + "End of VLAN range"; + } + leaf vlan-id-7 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id-6"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-7 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-7"; + description + "End of VLAN range"; + } + leaf vlan-id-8 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id-7"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-8 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-8"; + description + "End of VLAN range"; + } + leaf vlan-id-9 { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "untagged" { + value 65534; + description + "Packets with no explicit VLAN tag"; + } + } + } + must "../vlan-id-8"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-9 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-9"; + description + "End of VLAN range"; + } + leaf second-dot1q { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN id"; + } + } + } + must "../vlan-id"; + description + "Single VLAN id or start of VLAN range"; + } + leaf second-dot1q-end-vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + type enumeration { + enum "not-set" { + value 4097; + description + "Need to set this when configuring additional vlan-id with a single VLAN id"; + } + } + } + must "../vlan-id and ../vlan-id != 'any'"; + description + "End of VLAN range"; + } + container exact { + presence "Indicates this node is configured."; + description + "Do not allow further inner tags"; + } + container ingress { + description + "Perform MAC-based matching"; + leaf source-mac { + type yang:mac-address; + description + "Perform source MAC-based matching"; + } + } + container priority-tagged { + must "not(../vlan-id)"; + presence "Indicates a priority-tagged node is configured."; + description + "IEEE 802.1ad priority-tagged packets"; + container dot1q { + presence "Indicates a dot1q node is configured."; + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN id"; + } + } + } + mandatory true; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id { + type uint32 { + range "1..4094" { + description + "End of VLAN range."; + } + } + must "../vlan-id != 'any'"; + description + "End of VLAN range"; + } + leaf vlan-id-2 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id != 'any'"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-2 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-2"; + description + "End of VLAN range"; + } + leaf vlan-id-3 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-2"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-3 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-3"; + description + "End of VLAN range"; + } + leaf vlan-id-4 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-3"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-4 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-4"; + description + "End of VLAN range"; + } + leaf vlan-id-5 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-4"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-5 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-5"; + description + "End of VLAN range"; + } + leaf vlan-id-6 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-5"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-6 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-6"; + description + "End of VLAN range"; + } + leaf vlan-id-7 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-6"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-7 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-7"; + description + "End of VLAN range"; + } + leaf vlan-id-8 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-7"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-8 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-8"; + description + "End of VLAN range"; + } + leaf vlan-id-9 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-8"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-9 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-9"; + description + "End of VLAN range"; + } + } + container exact { + presence "Indicates this node is configured."; + description + "Do not allow further inner tags"; + } + container ingress { + description + "Perform MAC-based matching"; + leaf source-mac { + type yang:mac-address; + description + "Perform source MAC-based matching"; + } + } + } + } + container dot1ad { + description + "IEEE 802.1ad VLAN-tagged packets"; + leaf vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN id"; + } + } + } + must "not(../priority-tagged)"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + type enumeration { + enum "not-set" { + value 4097; + description + "Need to set this when configuring additional vlan-id with a single VLAN id"; + } + } + } + must "../vlan-id and ../vlan-id != 'any'"; + description + "End of VLAN range"; + } + leaf vlan-id-2 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id and ../vlan-id != 'any' and ../end-vlan-id"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-2 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-2"; + description + "End of VLAN range"; + } + leaf vlan-id-3 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-2"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-3 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-3"; + description + "End of VLAN range"; + } + leaf vlan-id-4 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-3"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-4 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-4"; + description + "End of VLAN range"; + } + leaf vlan-id-5 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-4"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-5 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-5"; + description + "End of VLAN range"; + } + leaf vlan-id-6 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-5"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-6 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-6"; + description + "End of VLAN range"; + } + leaf vlan-id-7 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-6"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-7 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-7"; + description + "End of VLAN range"; + } + leaf vlan-id-8 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-7"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-8 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-8"; + description + "End of VLAN range"; + } + leaf vlan-id-9 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-8"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-9 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-9"; + description + "End of VLAN range"; + } + leaf dot1q { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN id"; + } + } + } + must "../vlan-id"; + description + "Single VLAN id or start of VLAN range"; + } + leaf dot1q-end-vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + type enumeration { + enum "not-set" { + value 4097; + description + "Need to set this when configuring additional vlan-id with a single VLAN id"; + } + } + } + must "../vlan-id and ../vlan-id != 'any'"; + description + "End of VLAN range"; + } + container exact { + presence "Indicates this node is configured."; + description + "Do not allow further inner tags"; + } + container ingress { + description + "Perform MAC-based matching"; + leaf source-mac { + type yang:mac-address; + description + "Perform source MAC-based matching"; + } + } + container priority-tagged { + must "not(../vlan-id)"; + presence "Indicates a priority-tagged node is configured."; + description + "IEEE 802.1ad priority-tagged packets"; + container dot1q { + presence "Indicates a dot1q node is configured."; + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN id"; + } + } + } + mandatory true; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id { + type uint32 { + range "1..4094" { + description + "End of VLAN range."; + } + } + must "../vlan-id != 'any'"; + description + "End of VLAN range"; + } + leaf vlan-id-2 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id != 'any'"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-2 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-2"; + description + "End of VLAN range"; + } + leaf vlan-id-3 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-2"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-3 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-3"; + description + "End of VLAN range"; + } + leaf vlan-id-4 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-3"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-4 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-4"; + description + "End of VLAN range"; + } + leaf vlan-id-5 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-4"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-5 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-5"; + description + "End of VLAN range"; + } + leaf vlan-id-6 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-5"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-6 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-6"; + description + "End of VLAN range"; + } + leaf vlan-id-7 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-6"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-7 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-7"; + description + "End of VLAN range"; + } + leaf vlan-id-8 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-7"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-8 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-8"; + description + "End of VLAN range"; + } + leaf vlan-id-9 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-8"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-9 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-9"; + description + "End of VLAN range"; + } + } + container exact { + presence "Indicates this node is configured."; + description + "Do not allow further inner tags"; + } + container ingress { + description + "Perform MAC-based matching"; + leaf source-mac { + type yang:mac-address; + description + "Perform source MAC-based matching"; + } + } + } + } + container untagged { + presence "Indicates untagged node is configured."; + description + "Packets with no explicit VLAN tag"; + container dot1q { + presence "Indicates a dot1q node is configured."; + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-id { + type union { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + type enumeration { + enum "any" { + value 4096; + description + "Match any VLAN id"; + } + } + } + mandatory true; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id { + type uint32 { + range "1..4094" { + description + "End of VLAN range."; + } + } + must "../vlan-id != 'any'"; + description + "End of VLAN range"; + } + leaf vlan-id-2 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id != 'any'"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-2 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-2"; + description + "End of VLAN range"; + } + leaf vlan-id-3 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-2"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-3 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-3"; + description + "End of VLAN range"; + } + leaf vlan-id-4 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-3"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-4 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-4"; + description + "End of VLAN range"; + } + leaf vlan-id-5 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-4"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-5 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-5"; + description + "End of VLAN range"; + } + leaf vlan-id-6 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-5"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-6 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-6"; + description + "End of VLAN range"; + } + leaf vlan-id-7 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-6"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-7 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-7"; + description + "End of VLAN range"; + } + leaf vlan-id-8 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-7"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-8 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-8"; + description + "End of VLAN range"; + } + leaf vlan-id-9 { + type uint32 { + range "1..4094" { + description + "Single VLAN id"; + } + } + must "../vlan-id-8"; + description + "Single VLAN id or start of VLAN range"; + } + leaf end-vlan-id-9 { + type uint32 { + range "1..4094" { + description + "End of VLAN range"; + } + } + must "../vlan-id-9"; + description + "End of VLAN range"; + } + } + container ingress { + description + "Perform MAC-based matching"; + leaf source-mac { + type yang:mac-address; + description + "Perform source MAC-based matching"; + } + } + } + container default { + presence "Indicates default node is configured."; + description + "Packets unmatched by other service instances"; + } + } + container rewrite { + description + "Set the tag rewriting policy for this EFP"; + container ingress { + description + "Set the tag rewriting policy for this EFP"; + container tag { + description + "Set the tag rewriting policy for this EFP"; + container push { + description + "Push one or more tags"; + container dot1q { + must + "not(../dot1ad or + ../../pop/one or + ../../pop/two or + ../../translate/one-to-one/dot1q or + ../../translate/one-to-one/dot1ad or + ../../translate/one-to-two/dot1q or + ../../translate/one-to-two/dot1ad or + ../../translate/two-to-one/dot1q or + ../../translate/two-to-one/dot1ad or + ../../translate/two-to-two/dot1q or + ../../translate/two-to-two/dot1ad)"; + presence "Indicates dot1q node is configured."; + description + "Push a Dot1Q tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + leaf second-dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + description + "Push another Dot1Q tag"; + } + } + container dot1ad { + must + "not(../dot1q or + ../../pop/one or + ../../pop/two or + ../../translate/one-to-one/dot1q or + ../../translate/one-to-one/dot1ad or + ../../translate/one-to-two/dot1q or + ../../translate/one-to-two/dot1ad or + ../../translate/two-to-one/dot1q or + ../../translate/two-to-one/dot1ad or + ../../translate/two-to-two/dot1q or + ../../translate/two-to-two/dot1ad)"; + presence "Indicates dot1ad node is configured."; + description + "Push a Dot1ad tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + leaf dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + description + "Push an inner Dot1Q tag"; + } + } + } + container pop { + description + "Remove one or more tags"; + container one { + must + "not(../../push/dot1q or + ../../push/dot1ad or + ../two or + ../../translate/one-to-one/dot1q or + ../../translate/one-to-one/dot1ad or + ../../translate/one-to-two/dot1q or + ../../translate/one-to-two/dot1ad or + ../../translate/two-to-one/dot1q or + ../../translate/two-to-one/dot1ad or + ../../translate/two-to-two/dot1q or + ../../translate/two-to-two/dot1ad)"; + presence "Indicates this node is configured."; + description + "Remove outer tag only"; + } + container two { + must + "not(../../push/dot1q or + ../../push/dot1ad or + ../one or + ../../translate/one-to-one/dot1q or + ../../translate/one-to-one/dot1ad or + ../../translate/one-to-two/dot1q or + ../../translate/one-to-two/dot1ad or + ../../translate/two-to-one/dot1q or + ../../translate/two-to-one/dot1ad or + ../../translate/two-to-two/dot1q or + ../../translate/two-to-two/dot1ad)"; + presence "Indicates this node is configured."; + description + "Remove two outermost tags"; + } + } + container translate { + description + "Replace tags with other tags"; + container one-to-one { + description + "Replace the outermost tag with another tag"; + container dot1q { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../dot1ad or + ../../one-to-two/dot1q or + ../../one-to-two/dot1ad or + ../../two-to-one/dot1q or + ../../two-to-one/dot1ad or + ../../two-to-two/dot1q or + ../../two-to-two/dot1ad)"; + presence "Indicates dot1q node is configured."; + description + "Push a Dot1Q tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + } + container dot1ad { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../dot1q or + ../../one-to-two/dot1q or + ../../one-to-two/dot1ad or + ../../two-to-one/dot1q or + ../../two-to-one/dot1ad or + ../../two-to-two/dot1q or + ../../two-to-two/dot1ad)"; + presence "Indicates dot1ad node is configured."; + description + "Push a Dot1ad tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + } + } + container one-to-two { + description + "Replace the outermost tag with two tags"; + container dot1q { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../../one-to-one/dot1q or + ../../one-to-one/dot1ad or + ../dot1ad or + ../../two-to-one/dot1q or + ../../two-to-one/dot1ad or + ../../two-to-two/dot1q or + ../../two-to-two/dot1ad)"; + presence "Indicates a dot1q node is configured."; + description + "Push a Dot1Q tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + leaf second-dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push an inner Dot1Q tag"; + } + } + container dot1ad { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../../one-to-one/dot1q or + ../../one-to-one/dot1ad or + ../dot1q or + ../../two-to-one/dot1q or + ../../two-to-one/dot1ad or + ../../two-to-two/dot1q or + ../../two-to-two/dot1ad)"; + presence "Indicates a dot1ad node is configured."; + description + "Push a Dot1ad tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + leaf dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push an inner Dot1Q tag"; + } + } + } + container two-to-one { + description + "Replace the outermost two tags with one tag"; + container dot1q { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../../one-to-one/dot1q or + ../../one-to-one/dot1ad or + ../../one-to-two/dot1q or + ../../one-to-two/dot1ad or + ../dot1ad or + ../../two-to-two/dot1q or + ../../two-to-two/dot1ad)"; + presence "Indicates dot1q node is configured."; + description + "Push a Dot1Q tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + } + container dot1ad { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../../one-to-one/dot1q or + ../../one-to-one/dot1ad or + ../../one-to-two/dot1q or + ../../one-to-two/dot1ad or + ../dot1q or + ../../two-to-two/dot1q or + ../../two-to-two/dot1ad)"; + presence "Indicates dot1ad node is configured."; + description + "Push a Dot1ad tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + } + } + container two-to-two { + description + "Replace the outermost two tags with two other tags"; + container dot1q { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../../one-to-one/dot1q or + ../../one-to-one/dot1ad or + ../../one-to-two/dot1q or + ../../one-to-two/dot1ad or + ../dot1ad or + ../../two-to-one/dot1q or + ../../two-to-one/dot1ad)"; + presence "Indicates a dot1q node is configured."; + description + "Push a Dot1Q tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + leaf second-dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push an inner Dot1Q tag"; + } + } + container dot1ad { + must + "not(../../../push/dot1q or + ../../../push/dot1ad or + ../../../pop/one or + ../../../pop/two or + ../../one-to-one/dot1q or + ../../one-to-one/dot1ad or + ../../one-to-two/dot1q or + ../../one-to-two/dot1ad or + ../dot1q or + ../../two-to-one/dot1q or + ../../two-to-one/dot1ad)"; + presence "Indicates a dot1ad node is configured."; + description + "Push a Dot1ad tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push a Dot1Q tag"; + } + leaf dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Push an inner Dot1Q tag"; + } + } + } + } + } + } + } + container local-traffic { + description + "Set the default encapsulation for this EFP"; + container default { + description + "Set the default encapsulation for this EFP"; + container encapsulation { + description + "Set the default encapsulation for this EFP"; + container dot1q { + presence "Indicates a dot1q node is configured."; + description + "Default Dot1Q tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Default Dot1Q tag"; + } + leaf second-dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + description + "Default second Dot1Q tag"; + } + } + container dot1ad { + presence "Indicates a dot1ad node is configured."; + description + "Default Dot1ad tag"; + leaf vlan-id { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + mandatory true; + description + "Default Dot1ad tag"; + } + leaf dot1q { + type uint32 { + range "1..4094" { + description + "VLAN Id to push"; + } + } + description + "Default inner Dot1Q tag"; + } + } + } + } + } + container dot1q { + description + "802.1Q VLAN configuration"; + container native { + description + "802.1Q Native VLAN configuration"; + leaf vlan { + type uint32 { + range "1..4094" { + description + "Configure the Native VLAN ID for the trunk"; + } + } + description + "Configure the Native VLAN ID for the trunk"; + } + } + container tunneling { + description + "Q-in-Q configuration"; + leaf ethertype { + type enumeration { + enum "0x9100" { + value 37120; + description + "The outer Ethertype uses value 0x9100 (default is 0x8100)"; + } + enum "0x9200" { + value 37376; + description + "The outer Ethertype uses value 0x9200 (default is 0x8100)"; + } + } + description + "Configure the outer Ethertype used for Q-in-Q frames"; + } + } + } + container mac-accounting { + description + "Start per MAC address accounting on the interface"; + container ingress { + presence "Indicates a ingress node is configured."; + description + "Enable accounting on ingress direction"; + } + container egress { + presence "Indicates a egress node is configured."; + description + "Enable accounting on egress direction"; + } + } + container vlan-switched { + description + "Enable vlan-switched on this interface"; + container trunk { + description + "Enable vlan-switched on trunk port"; + container dot1q { + description + "IEEE 802.1Q VLAN-tagged packets"; + leaf vlan-ranges { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "List of VLAN Ranges in the form a-b,c,d,e-f,g"; + } + } + must "not(../../dot1ad/vlan-ranges) and not(../../../access)"; + description + "List of VLAN Ranges in the form a-b,c,d,e-f,g"; + } + } + container dot1ad { + description + "IEEE 802.1ad VLAN-tagged packets"; + leaf vlan-ranges { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "List of VLAN Ranges in the form a-b,c,d,e-f,g"; + } + } + must "not(../../dot1q/vlan-ranges) and not(../../../access)"; + description + "List of VLAN Ranges in the form a-b,c,d,e-f,g"; + } + } + } + leaf access { + type uint32 { + range "1..4094" { + description + "VLAN ID"; + } + } + must "not(../trunk/dot1q/vlan-ranges) and not(../trunk/dot1ad/vlan-ranges)"; + description + "Enable vlan-switched on access port"; + } + } + } + + grouping L2TRANS-BODY { + container l2protocol { + when "(../../a1:interface-name[starts-with(text(),'FastEthernet')] or ../../a1:interface-name[starts-with(text(),'GigabitEthernet')] or ../../a1:interface-name[starts-with(text(),'TenGigE')] or ../../a1:interface-name[starts-with(text(),'FortyGigE')] or ../../a1:interface-name[starts-with(text(),'HundredGigE')] or ../../a1:interface-name[starts-with(text(),'TwentyFiveGigE')] or ../../a1:interface-name[starts-with(text(),'Ethernet')] or ../../a1:interface-name[starts-with(text(),'Bundle-Ether')] or ../../a1:interface-name[starts-with(text(),'PW-Ether')] or ../../a1:interface-name[starts-with(text(),'Interflex')]) and (../../a1:interface-name[not(contains(text(),'.'))] or ../../a1:sub-interface-type/a1:l2transport)" { + tailf:dependency "../../a1:interface-name"; + } + description + "Layer 2 protocol handling"; + container cpsv { + description + "CDP, PVST+, STP, and VTP protocols"; + container tunnel { + must "not(../reverse-tunnel) and not(../drop)"; + presence "Indicates a tunnel node is configured."; + description + "Tunnel at ingress"; + } + container reverse-tunnel { + must "not(../tunnel) and not(../drop)"; + presence "Indicates a reverse-tunnel node is configured."; + description + "Tunnel at egress"; + } + container drop { + must "not(../tunnel) and not(../reverse-tunnel)"; + presence "Indicates a drop node is configured."; + description + "Drop these protocol packets"; + } + } + container cdp { + description + "Cisco Discovery Protocol"; + container drop { + must "not(../tunnel) and not(../forward)"; + presence "Indicates a drop node is configured."; + description + "Drop this protocol's packets"; + } + container forward { + must "not(../drop) and not(../tunnel)"; + presence "Indicates a forward node is configured."; + description + "Forward this protocol's packets"; + } + container tunnel { + must "not(../drop) and not(../forward)"; + presence "Indicates a tunnel node is configured."; + description + "Tunnel this protocol's packets"; + } + container experimental { + description + "Modify the MPLS Experimental bits"; + leaf mpls-experimental-bits { + type uint32 { + range "0..7" { + description + "Set the MPLS experimental bits for this interface"; + } + } + must "../../forward or ../../tunnel"; + description + "Set the MPLS experimental bits for this interface"; + } + } + } + container stp { + description + "Spanning Tree Protocol"; + container drop { + must "not(../tunnel) and not(../forward)"; + presence "Indicates a drop node is configured."; + description + "Drop this protocol's packets"; + } + container forward { + must "not(../drop) and not(../tunnel)"; + presence "Indicates a forward node is configured."; + description + "Forward this protocol's packets"; + } + container tunnel { + must "not(../drop) and not(../forward)"; + presence "Indicates a tunnel node is configured."; + description + "Tunnel this protocol's packets"; + } + container experimental { + description + "Modify the MPLS Experimental bits"; + leaf mpls-experimental-bits { + type uint32 { + range "0..7" { + description + "Set the MPLS experimental bits for this interface"; + } + } + must "../../forward or ../../tunnel"; + description + "Set the MPLS experimental bits for this interface"; + } + } + } + container vtp { + description + "VLAN Trunk Protocol"; + container drop { + must "not(../tunnel) and not(../forward)"; + presence "Indicates a drop node is configured."; + description + "Drop this protocol's packets"; + } + container forward { + must "not(../drop) and not(../tunnel)"; + presence "Indicates a forward node is configured."; + description + "Forward this protocol's packets"; + } + container tunnel { + must "not(../drop) and not(../forward)"; + presence "Indicates a tunnel node is configured."; + description + "Tunnel this protocol's packets"; + } + container experimental { + description + "Modify the MPLS Experimental bits"; + leaf mpls-experimental-bits { + type uint32 { + range "0..7" { + description + "Set the MPLS experimental bits for this interface"; + } + } + must "../../forward or ../../tunnel"; + description + "Set the MPLS experimental bits for this interface"; + } + } + } + container pvst { + description + "Per VLAN Spanning Tree"; + container drop { + must "not(../tunnel) and not(../forward)"; + presence "Indicates a drop node is configured."; + description + "Drop this protocol's packets"; + } + container forward { + must "not(../drop) and not(../tunnel)"; + presence "Indicates a forward node is configured."; + description + "Forward this protocol's packets"; + } + container tunnel { + must "not(../drop) and not(../forward)"; + presence "Indicates a tunnel node is configured."; + description + "Tunnel this protocol's packets"; + } + container experimental { + description + "Modify the MPLS Experimental bits"; + leaf mpls-experimental-bits { + type uint32 { + range "0..7" { + description + "Set the MPLS experimental bits for this interface"; + } + } + must "../../forward or ../../tunnel"; + description + "Set the MPLS experimental bits for this interface"; + } + } + } + } + container propagate { + description + "Select events to propagate"; + container remote-status { + presence "Indicates a remote-status node is configured."; + description + "Propagate remote link status changes"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface/a2:l2transport" { + uses L2TRANS-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure/a2:l2transport" { + uses L2TRANS-BODY; + } + container ethernet { + description + "Ethernet configuration"; + container egress-filter { + description + "Egress-filter commands"; + container strict { + if-feature "global-ethernet"; + presence "Indicates a strict node is configured."; + description + "Strict egress-filtering on by default"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2snoop-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2snoop-cfg.yang new file mode 100644 index 000000000..4f17297b6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2snoop-cfg.yang @@ -0,0 +1,89 @@ +module Cisco-IOS-XR-um-l2snoop-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2snoop-cfg"; + prefix um-l2snoop-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2snoop package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-08 { + description + "Removed Cisco-IOS-XR-types import"; + semver:module-version "1.0.1m"; + } + revision 2021-06-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container l2snoop { + description + "Global l2snoop configuration command"; + leaf directory { + type string { + length "1..800" { + description + "Place debug files in this directory"; + } + } + must "../files and ../size"; + description + "Specify l2snoop debug directory location"; + } + leaf files { + type uint32 { + range "1..10" { + description + "Maximum debug files"; + } + } + must "../directory"; + description + "Set maximum debug files"; + } + leaf size { + type uint32 { + range "1024..4294967295" { + description + "Maximum file size in bytes"; + } + } + must "../directory"; + description + "Set maximum file size"; + } + leaf receive-queue { + type uint32 { + range "40..800" { + description + "Number of packets in receive queue"; + } + } + description + "l2snoop receive packet queue size"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2vpn-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2vpn-cfg.yang new file mode 100644 index 000000000..086b813f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-l2vpn-cfg.yang @@ -0,0 +1,13467 @@ +module Cisco-IOS-XR-um-l2vpn-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2vpn-cfg"; + prefix um-l2vpn-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a2; + } + import Cisco-IOS-XR-um-vrf-cfg { + prefix a3; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR l2vpn package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-08 { + description + "Added list interface under vlan-switch bridge-domain + 2021-11-17 + Added container segment-routing-srv6-evis under bridge-domains"; + semver:module-version "2.0.1m"; + } + revision 2021-10-11 { + description + "Re-adjusted mac node under vlan-switch hierarchy + 2021-07-29 + Re-adjusted load-balancing and ipv4 under encapsulation/mpls rather than redundancy + 2021-07-22 + Added presence statement for container group under container + split-horizon + 2021-07-21 + aging, learning, withdraw, secure, port-down, static-addresses and access-pw nodes are moved up 1 hierarchy + under mac rather than aging + 2021-07-15 + Re-adjusted dhcp,igmp,mac,mld,mpls,pw-class,split-horizon,static-mac-address and + storm-control container hierarchy instead of under flooding + 2021-06-30 + Replaced container disable with disable-deprecated; + Added a new container enforce-mtu-match"; + semver:module-version "2.0.0"; + } + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature l2vpn_evpn_not_nve_intf { + description + "l2vpn evpn not nve intf"; + } + + feature l2vpn_evpn_is_bundle_intf { + description + "l2vpn evpn is bundle intf"; + } + + feature l2vpn_evpn_ves_subif_supported { + description + "l2vpn evpn ves subif supported"; + } + + feature l2vpn_platform_srv6_supported { + description + "l2vpn platform srv6 supported"; + } + + feature l2vpn_iflist_intf_supported { + description + "l2vpn iflist intf supported"; + } + + feature l2vpn_is_cli_supported { + description + "l2vpn is cli supported"; + } + + feature l2vpn_bd_non_ether_ac_supported { + description + "l2vpn bd non ether ac supported"; + } + + feature l2vpn_pw_p2mp_supported { + description + "l2vpn pw p2mp supported"; + } + + feature l2vpn_cem_func_supported { + description + "l2vpn cem func supported"; + } + + feature l2vpn_platform_vpws_seamless_integration_supported { + description + "l2vpn platform vpws seamless integration supported"; + } + + feature l2vpn_p2p_backup_supported { + description + "l2vpn p2p backup supported"; + } + + feature l2vpn_cfg_ipv6_pw_supported { + description + "l2vpn cfg ipv6 pw supported"; + } + + grouping IF-BODY { + container host-routing { + when "../a1:interface-name[starts-with(text(),'BVI')]" { + tailf:dependency "../a1:interface-name"; + } + presence "Indicates a host-routing node is configured."; + description + "Enable host-routing on this interface"; + } + container gratuitous-announcement-timer { + presence "Indicates a gratuitous-announcement-timer node is configured."; + description + "Enable gratuitous announcement (GARP) timer on this interface"; + leaf interval { + type uint32 { + range "60..30000" { + description + "seconds"; + } + } + description + "Gratuitous announcement (GARP/NA) timer interval in seconds"; + } + leaf jitter { + type uint32 { + range "0..100" { + description + "percent"; + } + } + description + "Gratuitous announcement (GARP/NA) timer jitter percentage"; + } + } + container pw-ether { + when "../a1:interface-name[starts-with(text(),'PW-Ether')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Configuration for pw-ether interface"; + container attach { + description + "Attach to an interface list"; + leaf generic-interface-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "The name of the interface list"; + } + } + description + "Interface List"; + } + } + leaf l2overhead { + type uint32 { + range "1..64" { + description + "L2 overhead size in bytes"; + } + } + description + "Set Layer 2 Overhead size"; + } + } + container pw-iw { + when "../a1:interface-name[starts-with(text(),'PW-IW')]" { + tailf:dependency "../a1:interface-name"; + } + description + "Configuration for pw-iw interface"; + container attach { + description + "Attach to an interface list"; + leaf generic-interface-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "The name of the interface list"; + } + } + description + "Interface List"; + } + } + leaf l2overhead { + type uint32 { + range "1..64" { + description + "L2 overhead size in bytes"; + } + } + description + "Set Layer 2 Overhead size"; + } + } + } + + grouping VRF-BODY { + leaf evpn-route-sync { + type uint32 { + range "1..65534" { + description + "EVPN Instance VPN ID used to synchronize the VRF route(s)"; + } + } + description + "Configure the EVPN Instance VPN ID for route synchronization"; + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a2:snmp-server/a2:traps" { + container l2vpn { + description + "Enable L2VPN traps"; + container all { + presence "Indicates a all node is configured."; + description + "Enable all L2VPN traps"; + } + container vc-up { + presence "Indicates a vc-up node is configured."; + description + "Enable VC up traps"; + } + container vc-down { + presence "Indicates a vc-down node is configured."; + description + "Enable VC down traps"; + } + container cisco { + presence "Indicates a cisco node is configured."; + description + "Cisco format including extra varbinds (default IETF)"; + } + } + container vpls { + description + "Enable VPLS traps"; + container all { + presence "Indicates a all node is configured."; + description + "Enable all VPLS traps"; + } + container status { + presence "Indicates a status node is configured."; + description + "Enable VPLS Status traps"; + } + container full-raise { + presence "Indicates a full-raise node is configured."; + description + "Enable VPLS Full Raise traps"; + } + container full-clear { + presence "Indicates a full-clear node is configured."; + description + "Enable VPLS Full Clear traps"; + } + } + } + augment "/a3:vrfs/a3:vrf" { + uses VRF-BODY; + } + container evpn { + presence "Indicates a evpn node is configured."; + description + "Configure E-VPN commands"; + container interface { + description + "Assign interface to EVPN"; + list interface { + key "interface-name"; + description + "Specify interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Specify interface name"; + } + container mac-flush { + description + "MAC Flush mode"; + container mvrp { + presence "Indicates a mvrp node is configured."; + description + "MAC Flush over MVRP"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "Configure interface-specific EVPN timers"; + leaf peering { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 3 seconds"; + } + } + description + "Interface-specific peering timer"; + } + leaf recovery { + type uint32 { + range "0..3600" { + description + "Value in seconds, default is 30 seconds"; + } + } + description + "Interface-specific recovery timer"; + } + leaf carving { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 0 seconds"; + } + } + description + "Interface-specific carving timer"; + } + leaf ac-debounce { + type uint32 { + range "0..300000" { + description + "Value in milliseconds, default is 3000 milliseconds"; + } + } + description + "Interface-specific AC Debounce timer"; + } + } + container ethernet-segment { + presence "Indicates a ethernet-segment node is configured."; + description + "Ethernet Segment configuration commands"; + container identifier { + description + "Ethernet Segment identifier (ESI)"; + container type { + description + "ESI Type"; + container zero { + presence "Indicates a zero node is configured."; + description + "Type 0 (arbitrary 9-octet ESI value)"; + leaf bytes-1 { + type xr:Hex-integer-8; + mandatory true; + description + "1st Byte"; + } + leaf bytes-23 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "2nd and 3rd Bytes"; + } + leaf bytes-45 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "4th and 5th Bytes"; + } + leaf bytes-67 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "6th and 7th Bytes"; + } + leaf bytes-89 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "8th and 9th Bytes"; + } + } + } + } + container load-balancing-mode { + description + "Specify load balancing mode"; + container all-active { + must + "not(../port-active or ../single-active + or ../single-flow-active)"; + presence "Indicates a all-active node is configured."; + description + "All-Active load balancing"; + } + container port-active { + must + "not(../all-active or ../single-active + or ../single-flow-active)"; + presence "Indicates a port-active node is configured."; + description + "Port-Active load balancing"; + } + container single-active { + must + "not(../all-active or ../port-active + or ../single-flow-active)"; + presence "Indicates a single-active node is configured."; + description + "Single-Active load balancing"; + } + container single-flow-active { + must + "not(../all-active or ../port-active + or ../single-active)"; + presence "Indicates a single-flow-active node is configured."; + description + "Single-Flow-Active load balancing"; + } + } + leaf backbone-source-mac { + type yang:mac-address; + description + "Backbone Source MAC (PBB Only)"; + } + container force { + description + "Forced attributes for this ethernet segment"; + container single-homed { + presence "Indicates a single-homed node is configured."; + description + "Ethernet segment is to remain single-home"; + } + } + container service-carving { + description + "Specify service carving"; + container manual { + presence "Indicates a manual node is configured."; + description + "Configure EVPN Manual services list"; + leaf primary { + type string { + length "1..150" { + description + "Primary services list notation: '256,356-400,410'"; + } + } + must "../secondary"; + description + "Primary services list"; + } + leaf secondary { + type string { + length "1..150" { + description + "Secondary services list notation: '256,356-400,410'"; + } + } + must "../primary"; + description + "Secondary services list"; + } + } + container hrw { + presence "Indicates a hrw node is configured."; + description + "HRW mode of carving services"; + } + container multicast { + description + "Multicast specific service carving"; + container hrw-s-g { + must "not(../hrw-g)"; + presence "Indicates a hrw-s-g node is configured."; + description + "HRW s,g mode"; + } + container hrw-g { + must "not(../hrw-s-g)"; + presence "Indicates a hrw-g node is configured."; + description + "HRW *,g mode"; + } + } + container preference-based { + presence "Indicates a preference-based node is configured."; + description + "Configure EVPN Preference-Based"; + leaf weight { + type uint32 { + range "0..65535" { + description + "Preference DF weight. For Access-Driven DF, use weights of at most 32767 or less."; + } + } + description + "Preference value"; + } + container access-driven { + presence "Indicates a access-driven node is configured."; + description + "Access-Driven DF Election"; + } + } + } + container bgp { + description + "Configure BGP"; + leaf route-target { + type yang:mac-address; + description + "Set ES-Import Route Target"; + } + } + container convergence { + presence "Indicates a convergence node is configured."; + description + "Specify convergence mode(s) and options"; + container reroute { + presence "Indicates a reroute node is configured."; + description + "Redirect unicast traffic to backup peer"; + } + container mac-mobility { + presence "Indicates a mac-mobility node is configured."; + description + "MAC-Mobility triggered reconvergence"; + } + container nexthop-tracking { + presence "Indicates a nexthop-tracking node is configured."; + description + "Enable EVPN procedures to be influenced by BGP nexthop reachability"; + } + } + } + leaf core-isolation-group { + if-feature "l2vpn_evpn_is_bundle_intf"; + type uint32 { + range "1..4294967295" { + description + "EVPN group ID number"; + } + } + description + "Core isolation group"; + } + container access-signal { + if-feature "l2vpn_evpn_is_bundle_intf"; + description + "Override default signal sent to bring down access circuit"; + container bundle-down { + presence "Indicates a bundle-down node is configured."; + description + "Signal Bundle Down"; + } + } + container virtual-ethernet-segment { + if-feature "l2vpn_evpn_ves_subif_supported"; + presence "Indicates a virtual-ethernet-segment node is configured."; + description + "Virtual Ethernet Segment configuration commands"; + container identifier { + description + "VES identifier (6 byte value in MAC format)"; + container type { + description + "ESI Type"; + leaf three { + type yang:mac-address; + description + "Type 3 (6-byte value in MAC format)"; + } + } + } + } + } + } + container virtual { + if-feature "l2vpn_evpn_ves_subif_supported"; + description + "Virtual Access Segment to EVPN"; + container neighbor { + description + "Specify the peer to cross connect"; + list neighbor { + key "address pw-id"; + description + "Specify the peer to cross connect"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the peer"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container timers { + presence "Indicates a timers node is configured."; + description + "Configure access PW-specific EVPN timers"; + leaf peering { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 3 seconds"; + } + } + description + "Access PW-specific peering timer"; + } + leaf recovery { + type uint32 { + range "0..3600" { + description + "Value in seconds, default is 30 seconds"; + } + } + description + "Access PW-specific recovery timer"; + } + leaf carving { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 0 seconds"; + } + } + description + "Access PW-specific carving timer"; + } + leaf ac-debounce { + type uint32 { + range "0..300000" { + description + "Value in milliseconds, default is 3000 milliseconds"; + } + } + description + "Access PW-specific AC Debounce timer"; + } + } + container ethernet-segment { + presence "Indicates a ethernet-segment node is configured."; + description + "Ethernet Segment configuration commands"; + container identifier { + description + "Ethernet Segment identifier (ESI)"; + container type { + description + "ESI Type"; + container zero { + presence "Indicates a zero node is configured."; + description + "Type 0 (arbitrary 9-octet ESI value)"; + leaf bytes-1 { + type xr:Hex-integer-8; + mandatory true; + description + "1st Byte"; + } + leaf bytes-23 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "2nd and 3rd Bytes"; + } + leaf bytes-45 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "4th and 5th Bytes"; + } + leaf bytes-67 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "6th and 7th Bytes"; + } + leaf bytes-89 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "8th and 9th Bytes"; + } + } + } + } + container service-carving { + description + "Specify service carving"; + container manual { + presence "Indicates a manual node is configured."; + description + "Configure EVPN Manual services list"; + leaf primary { + type string { + length "1..150" { + description + "Primary services list notation: '256,356-400,410'"; + } + } + must "../secondary"; + description + "Primary services list"; + } + leaf secondary { + type string { + length "1..150" { + description + "Secondary services list notation: '256,356-400,410'"; + } + } + must "../primary"; + description + "Secondary services list"; + } + } + container hrw { + presence "Indicates a hrw node is configured."; + description + "HRW mode of carving services"; + } + container multicast { + description + "Multicast specific service carving"; + container hrw-s-g { + must "not(../hrw-g)"; + presence "Indicates a hrw-s-g node is configured."; + description + "HRW s,g mode"; + } + container hrw-g { + must "not(../hrw-s-g)"; + presence "Indicates a hrw-g node is configured."; + description + "HRW *,g mode"; + } + } + container preference-based { + presence "Indicates a preference-based node is configured."; + description + "Configure EVPN Preference-Based"; + leaf weight { + type uint32 { + range "0..65535" { + description + "Preference DF weight. For Access-Driven DF, use weights of at most 32767 or less."; + } + } + description + "Preference value"; + } + container access-driven { + presence "Indicates a access-driven node is configured."; + description + "Access-Driven DF Election"; + } + } + } + container bgp { + description + "Configure BGP"; + leaf route-target { + type yang:mac-address; + description + "Set ES-Import Route Target"; + } + } + } + } + } + container vfis { + description + "Specify the virtual forwarding interface name"; + list vfi { + key "vfi-name"; + description + "Specify the virtual forwarding interface name"; + leaf vfi-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the Virtual Forwarding Interface"; + } + } + description + "Specify the virtual forwarding interface name"; + } + container timers { + presence "Indicates a timers node is configured."; + description + "Configure access VFI-specific EVPN timers"; + leaf peering { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 3 seconds"; + } + } + description + "Access VFI-specific peering timer"; + } + leaf recovery { + type uint32 { + range "0..3600" { + description + "Value in seconds, default is 30 seconds"; + } + } + description + "Access VFI-specific recovery timer"; + } + leaf carving { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 0 seconds"; + } + } + description + "Access VFI-specific carving timer"; + } + leaf ac-debounce { + type uint32 { + range "0..300000" { + description + "Value in milliseconds, default is 3000 milliseconds"; + } + } + description + "Access VFI-specific AC Debounce timer"; + } + } + container ethernet-segment { + presence "Indicates a ethernet-segment node is configured."; + description + "Ethernet Segment configuration commands"; + container identifier { + description + "Ethernet Segment identifier (ESI)"; + container type { + description + "ESI Type"; + container zero { + presence "Indicates a zero node is configured."; + description + "Type 0 (arbitrary 9-octet ESI value)"; + leaf bytes-1 { + type xr:Hex-integer-8; + mandatory true; + description + "1st Byte"; + } + leaf bytes-23 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "2nd and 3rd Bytes"; + } + leaf bytes-45 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "4th and 5th Bytes"; + } + leaf bytes-67 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "6th and 7th Bytes"; + } + leaf bytes-89 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "8th and 9th Bytes"; + } + } + } + } + container service-carving { + description + "Specify service carving"; + container manual { + presence "Indicates a manual node is configured."; + description + "Configure EVPN Manual services list"; + leaf primary { + type string { + length "1..150" { + description + "Primary services list notation: '256,356-400,410'"; + } + } + must "../secondary"; + description + "Primary services list"; + } + leaf secondary { + type string { + length "1..150" { + description + "Secondary services list notation: '256,356-400,410'"; + } + } + must "../primary"; + description + "Secondary services list"; + } + } + container hrw { + presence "Indicates a hrw node is configured."; + description + "HRW mode of carving services"; + } + container preference-based { + presence "Indicates a preference-based node is configured."; + description + "Configure EVPN Preference-Based"; + leaf weight { + type uint32 { + range "0..65535" { + description + "Preference DF weight. For Access-Driven DF, use weights of at most 32767 or less."; + } + } + description + "Preference value"; + } + container access-driven { + presence "Indicates a access-driven node is configured."; + description + "Access-Driven DF Election"; + } + } + } + container bgp { + description + "Configure BGP"; + leaf route-target { + type yang:mac-address; + description + "Set ES-Import Route Target"; + } + } + } + } + } + container access-evi { + presence "Indicates a access-evi node is configured."; + description + "Virtual access EVI interface"; + container ethernet-segment { + presence "Indicates a ethernet-segment node is configured."; + description + "Ethernet Segment configuration commands"; + container identifier { + description + "Ethernet Segment identifier (ESI)"; + container type { + description + "ESI Type"; + container zero { + presence "Indicates a zero node is configured."; + description + "Type 0 (arbitrary 9-octet ESI value)"; + leaf bytes-1 { + type xr:Hex-integer-8; + mandatory true; + description + "1st Byte"; + } + leaf bytes-23 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "2nd and 3rd Bytes"; + } + leaf bytes-45 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "4th and 5th Bytes"; + } + leaf bytes-67 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "6th and 7th Bytes"; + } + leaf bytes-89 { + type xr:Hex-integer-16; + units "byte"; + mandatory true; + description + "8th and 9th Bytes"; + } + } + } + } + container bgp { + description + "Configure BGP"; + leaf route-target { + type yang:mac-address; + description + "Set ES-Import Route Target"; + } + } + } + } + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "Configure global EVPN timers"; + leaf recovery { + type uint32 { + range "0..3600" { + description + "Value in seconds, default is 30 seconds"; + } + } + description + "Global recovery timer"; + } + leaf peering { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 3 seconds"; + } + } + description + "Global peering timer"; + } + leaf carving { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 0 seconds"; + } + } + description + "Global carving timer"; + } + leaf ac-debounce { + type uint32 { + range "0..300000" { + description + "Value in milliseconds, default is 3000 milliseconds"; + } + } + description + "Global AC Debounce timer"; + } + leaf backup-replacement-delay { + type uint32 { + range "0..300000" { + description + "Value in milliseconds, default is 6000 milliseconds"; + } + } + description + "When receiving a new backup route, delay installation for this amount of time timer"; + } + leaf mac-postpone { + type uint32 { + range "0..300" { + description + "Value in seconds, default is 300 seconds"; + } + } + description + "Global MAC withdraw postpone timer"; + } + } + container load-balancing { + presence "Indicates a load-balancing node is configured."; + description + "Configure EVPN Global load-balancing"; + container flow-label { + description + "PBB-EVPN Flow Label load balancing"; + container static { + presence "Indicates a static node is configured."; + description + "Static configuration of Flow Label"; + } + } + } + container source { + description + "Configure EVPN source interface"; + leaf interface { + type xr:Interface-name; + description + "Configure EVPN router-id implicitly through Loopback Interface"; + } + } + container cost-out { + presence "Indicates a cost-out node is configured."; + description + "Configure global EVPN cost-out"; + } + leaf startup-cost-in { + type uint32 { + range "30..86400" { + description + "Value in seconds, disabled by default"; + } + } + description + "Cost-in after reload timer"; + } + leaf staggered-bringup-timer { + type uint32 { + range "0..300000" { + description + "Value in milliseconds, default is 5000 milliseconds"; + } + } + description + "Staggered bringup timer delay timer"; + } + container logging { + presence "Indicates a logging node is configured."; + description + "Configure evpn logging commands"; + container df-election { + presence "Indicates a df-election node is configured."; + description + "Enable Designated Forwarder election logging"; + } + } + container ethernet-segment { + presence "Indicates a ethernet-segment node is configured."; + description + "Configure global ethernet-segment commands"; + container type { + description + "ESI type"; + container one { + description + "LACP ESI-auto-generation"; + container auto-generation-disable { + presence "Indicates a auto-generation-disable node is configured."; + description + "Disable ESI auto-generation"; + } + } + } + } + container groups { + description + "Configure EVPN group"; + list group { + key "group-name"; + description + "Configure EVPN group"; + leaf group-name { + type uint32 { + range "1..4294967295" { + description + "EVPN group ID number"; + } + } + description + "Configure EVPN group"; + } + container core { + description + "configure EVPN group core interface"; + list interface { + key "interface-name"; + description + "configure EVPN group core interface"; + leaf interface-name { + type xr:Interface-name; + description + "configure EVPN group core interface"; + } + } + } + } + } + container evis { + description + "Configure EVPN Instance VPN ID"; + container segment-routing { + if-feature "l2vpn_platform_srv6_supported"; + description + "Configure Segment Routing EVPN Instance"; + container srv6 { + description + "Configure SRv6 EVPN Instance"; + list evi { + key "vpn-id"; + description + "Configure EVPN Instance VPN ID"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "EVPN Instance VPN ID value"; + } + } + description + "Configure EVPN Instance VPN ID"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container load-balancing { + presence "Indicates a load-balancing node is configured."; + description + "Configure EVPN Instance load-balancing"; + container flow-label { + description + "Flow Label load balancing"; + container static { + presence "Indicates a static node is configured."; + description + "Static configuration of Flow Label"; + } + } + } + container ecmp-disable-deprecated { + presence "Indicates a ecmp-disable-deprecated node is configured."; + description + "Deprecated: migrate to "; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure EVPN Instance MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container control-word-disable { + presence "Indicates a control-word-disable node is configured."; + description + "Disabling control-word"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs (deprecated)"; + } + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU (deprecated)"; + } + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + container vrf { + description + "Enable EVPN instance for layer-3 route synchronization."; + container default { + presence "Indicates a default node is configured."; + description + "EVPN Instance for the default VRF"; + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Configure EVPN Instance Multicast"; + container source-connected { + presence "Indicates a source-connected node is configured."; + description + "Multicast traffic source connected"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Configure EVPN Instance Proxy"; + container igmp-snooping { + presence "Indicates a igmp-snooping node is configured."; + description + "Proxy mode for IGMP-Snooping (selective multicast)"; + } + } + container etree { + presence "Indicates a etree node is configured."; + description + "Configure EVPN Instance E-Tree"; + container leaf { + presence "Indicates a leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Leaf Site"; + } + container rt-leaf { + presence "Indicates a rt-leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Route-Target Leaf Site"; + } + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "EVI locator to use for EVPN SID allocation"; + } + container vpws-single-active-backup-suppression { + presence "Indicates a vpws-single-active-backup-suppression node is configured."; + description + "Disables Non-DF EVI/EAD routes from being advertised in EVPN-VPWS Single-Active. Used for backwards-compatibility."; + } + container bvi-coupled-mode { + presence "Indicates a bvi-coupled-mode node is configured."; + description + "Couples BVI state to the core EVPN Instance state"; + } + } + } + } + container segment-routing-srv6-stitching { + if-feature "l2vpn_platform_srv6_supported"; + description + "Configure Segment Routing EVPN Instance with SRv6 stitching"; + list evi { + key "vpn-id"; + description + "Configure EVPN Instance VPN ID"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "EVPN Instance VPN ID value"; + } + } + description + "Configure EVPN Instance VPN ID"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..1024" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure locally-learned MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs"; + } + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU"; + } + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "EVI locator to use for EVPN SID allocation"; + } + } + } + container stitching { + description + "Treat EVPN Instance as Stitching side"; + list evi { + key "vpn-id"; + description + "Configure EVPN Instance VPN ID"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "EVPN Instance VPN ID value"; + } + } + description + "Configure EVPN Instance VPN ID"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container load-balancing { + presence "Indicates a load-balancing node is configured."; + description + "Configure EVPN Instance load-balancing"; + container flow-label { + description + "Flow Label load balancing"; + container static { + presence "Indicates a static node is configured."; + description + "Static configuration of Flow Label"; + } + } + } + container ecmp-disable-deprecated { + presence "Indicates a ecmp-disable-deprecated node is configured."; + description + "Deprecated: migrate to "; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure EVPN Instance MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container control-word-disable { + presence "Indicates a control-word-disable node is configured."; + description + "Disabling control-word"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs (deprecated)"; + } + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU (deprecated)"; + } + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + container vrf { + description + "Enable EVPN instance for layer-3 route synchronization."; + container default { + presence "Indicates a default node is configured."; + description + "EVPN Instance for the default VRF"; + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Configure EVPN Instance Multicast"; + container source-connected { + presence "Indicates a source-connected node is configured."; + description + "Multicast traffic source connected"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Configure EVPN Instance Proxy"; + container igmp-snooping { + presence "Indicates a igmp-snooping node is configured."; + description + "Proxy mode for IGMP-Snooping (selective multicast)"; + } + } + container etree { + presence "Indicates a etree node is configured."; + description + "Configure EVPN Instance E-Tree"; + container leaf { + presence "Indicates a leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Leaf Site"; + } + container rt-leaf { + presence "Indicates a rt-leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Route-Target Leaf Site"; + } + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "EVI locator to use for EVPN SID allocation"; + } + container vpws-single-active-backup-suppression { + presence "Indicates a vpws-single-active-backup-suppression node is configured."; + description + "Disables Non-DF EVI/EAD routes from being advertised in EVPN-VPWS Single-Active. Used for backwards-compatibility."; + } + container bvi-coupled-mode { + presence "Indicates a bvi-coupled-mode node is configured."; + description + "Couples BVI state to the core EVPN Instance state"; + } + } + } + list evi { + key "vpn-id"; + description + "Configure EVPN Instance VPN ID"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "EVPN Instance VPN ID value"; + } + } + description + "Configure EVPN Instance VPN ID"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container load-balancing { + presence "Indicates a load-balancing node is configured."; + description + "Configure EVPN Instance load-balancing"; + container flow-label { + description + "Flow Label load balancing"; + container static { + presence "Indicates a static node is configured."; + description + "Static configuration of Flow Label"; + } + } + } + container ecmp-disable-deprecated { + presence "Indicates a ecmp-disable-deprecated node is configured."; + description + "Deprecated: migrate to "; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure EVPN Instance MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container control-word-disable { + presence "Indicates a control-word-disable node is configured."; + description + "Disabling control-word"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs (deprecated)"; + } + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU (deprecated)"; + } + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + container vrf { + description + "Enable EVPN instance for layer-3 route synchronization."; + container default { + presence "Indicates a default node is configured."; + description + "EVPN Instance for the default VRF"; + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Configure EVPN Instance Multicast"; + container source-connected { + presence "Indicates a source-connected node is configured."; + description + "Multicast traffic source connected"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Configure EVPN Instance Proxy"; + container igmp-snooping { + presence "Indicates a igmp-snooping node is configured."; + description + "Proxy mode for IGMP-Snooping (selective multicast)"; + } + } + container etree { + presence "Indicates a etree node is configured."; + description + "Configure EVPN Instance E-Tree"; + container leaf { + presence "Indicates a leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Leaf Site"; + } + container rt-leaf { + presence "Indicates a rt-leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Route-Target Leaf Site"; + } + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "EVI locator to use for EVPN SID allocation"; + } + container vpws-single-active-backup-suppression { + presence "Indicates a vpws-single-active-backup-suppression node is configured."; + description + "Disables Non-DF EVI/EAD routes from being advertised in EVPN-VPWS Single-Active. Used for backwards-compatibility."; + } + container bvi-coupled-mode { + presence "Indicates a bvi-coupled-mode node is configured."; + description + "Couples BVI state to the core EVPN Instance state"; + } + } + } + container route-sync { + description + "Configure vrf route-sync EVPN Instance VPN ID"; + container stitching { + description + "Treat EVPN Instance as Stitching side"; + list evi { + key "vpn-id"; + description + "Configure EVPN Instance VPN ID"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "EVPN Instance VPN ID value"; + } + } + description + "Configure EVPN Instance VPN ID"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container load-balancing { + presence "Indicates a load-balancing node is configured."; + description + "Configure EVPN Instance load-balancing"; + container flow-label { + description + "Flow Label load balancing"; + container static { + presence "Indicates a static node is configured."; + description + "Static configuration of Flow Label"; + } + } + } + container ecmp-disable-deprecated { + presence "Indicates a ecmp-disable-deprecated node is configured."; + description + "Deprecated: migrate to "; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure EVPN Instance MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container control-word-disable { + presence "Indicates a control-word-disable node is configured."; + description + "Disabling control-word"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs (deprecated)"; + } + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU (deprecated)"; + } + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + container vrf { + description + "Enable EVPN instance for layer-3 route synchronization."; + container default { + presence "Indicates a default node is configured."; + description + "EVPN Instance for the default VRF"; + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Configure EVPN Instance Multicast"; + container source-connected { + presence "Indicates a source-connected node is configured."; + description + "Multicast traffic source connected"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Configure EVPN Instance Proxy"; + container igmp-snooping { + presence "Indicates a igmp-snooping node is configured."; + description + "Proxy mode for IGMP-Snooping (selective multicast)"; + } + } + container etree { + presence "Indicates a etree node is configured."; + description + "Configure EVPN Instance E-Tree"; + container leaf { + presence "Indicates a leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Leaf Site"; + } + container rt-leaf { + presence "Indicates a rt-leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Route-Target Leaf Site"; + } + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "EVI locator to use for EVPN SID allocation"; + } + container vpws-single-active-backup-suppression { + presence "Indicates a vpws-single-active-backup-suppression node is configured."; + description + "Disables Non-DF EVI/EAD routes from being advertised in EVPN-VPWS Single-Active. Used for backwards-compatibility."; + } + container bvi-coupled-mode { + presence "Indicates a bvi-coupled-mode node is configured."; + description + "Couples BVI state to the core EVPN Instance state"; + } + } + } + list evi { + key "vpn-id"; + description + "Configure EVPN Instance VPN ID"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "EVPN Instance VPN ID value"; + } + } + description + "Configure EVPN Instance VPN ID"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container load-balancing { + presence "Indicates a load-balancing node is configured."; + description + "Configure EVPN Instance load-balancing"; + container flow-label { + description + "Flow Label load balancing"; + container static { + presence "Indicates a static node is configured."; + description + "Static configuration of Flow Label"; + } + } + } + container ecmp-disable-deprecated { + presence "Indicates a ecmp-disable-deprecated node is configured."; + description + "Deprecated: migrate to "; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure EVPN Instance MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container control-word-disable { + presence "Indicates a control-word-disable node is configured."; + description + "Disabling control-word"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs (deprecated)"; + } + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU (deprecated)"; + } + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + container vrf { + description + "Enable EVPN instance for layer-3 route synchronization."; + container default { + presence "Indicates a default node is configured."; + description + "EVPN Instance for the default VRF"; + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Configure EVPN Instance Multicast"; + container source-connected { + presence "Indicates a source-connected node is configured."; + description + "Multicast traffic source connected"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Configure EVPN Instance Proxy"; + container igmp-snooping { + presence "Indicates a igmp-snooping node is configured."; + description + "Proxy mode for IGMP-Snooping (selective multicast)"; + } + } + container etree { + presence "Indicates a etree node is configured."; + description + "Configure EVPN Instance E-Tree"; + container leaf { + presence "Indicates a leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Leaf Site"; + } + container rt-leaf { + presence "Indicates a rt-leaf node is configured."; + description + "Designate EVPN Instance as EVPN E-Tree Route-Target Leaf Site"; + } + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "EVI locator to use for EVPN SID allocation"; + } + container vpws-single-active-backup-suppression { + presence "Indicates a vpws-single-active-backup-suppression node is configured."; + description + "Disables Non-DF EVI/EAD routes from being advertised in EVPN-VPWS Single-Active. Used for backwards-compatibility."; + } + container bvi-coupled-mode { + presence "Indicates a bvi-coupled-mode node is configured."; + description + "Couples BVI state to the core EVPN Instance state"; + } + } + } + container vnis { + description + "Configure EVPN VNI"; + container stitching { + description + "Treat EVPN Instance as Stitching side"; + list vni { + key "vni-id"; + description + "Configure EVPN VNI"; + leaf vni-id { + type uint32 { + range "1..16777215" { + description + "EVPN VNI value"; + } + } + description + "Configure EVPN VNI"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container ecmp-disable-deprecated { + presence "Indicates a ecmp-disable-deprecated node is configured."; + description + "Deprecated: migrate to "; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure EVPN Instance MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs (deprecated)"; + } + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU (deprecated)"; + } + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Configure EVPN Instance Multicast"; + container source-connected { + presence "Indicates a source-connected node is configured."; + description + "Multicast traffic source connected"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Configure EVPN Instance Proxy"; + container igmp-snooping { + presence "Indicates a igmp-snooping node is configured."; + description + "Proxy mode for IGMP-Snooping (selective multicast)"; + } + } + container bvi-coupled-mode { + presence "Indicates a bvi-coupled-mode node is configured."; + description + "Couples BVI state to the core EVPN Instance state"; + } + } + } + list vni { + key "vni-id"; + description + "Configure EVPN VNI"; + leaf vni-id { + type uint32 { + range "1..16777215" { + description + "EVPN VNI value"; + } + } + description + "Configure EVPN VNI"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Set the Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Withhold BGP RTs"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container implicit-import-disable { + presence "Indicates a implicit-import-disable node is configured."; + description + "Disable BGP implicit import"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + leaf import { + type xr:Route-policy-name; + description + "Import route policy"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "EVPN Instance description string"; + } + } + description + "Description for this EVPN Instance"; + } + container ecmp-disable-deprecated { + presence "Indicates a ecmp-disable-deprecated node is configured."; + description + "Deprecated: migrate to "; + } + container preferred-nexthop { + description + "Elect unique active path from ECMP candidate list"; + container lowest-ip { + must "not(../highest-ip or ../modulo)"; + presence "Indicates a lowest-ip node is configured."; + description + "Lowest nexthop IP is active"; + } + container highest-ip { + must "not(../lowest-ip or ../modulo)"; + presence "Indicates a highest-ip node is configured."; + description + "Highest nexthop IP is active"; + } + container modulo { + must "not(../lowest-ip or ../highest-ip)"; + presence "Indicates a modulo node is configured."; + description + "EVI modulo of nexthops cardinality is active"; + } + } + container advertise-mac { + presence "Indicates a advertise-mac node is configured."; + description + "Configure EVPN Instance MAC advertisement"; + container bvi-mac { + presence "Indicates a bvi-mac node is configured."; + description + "Advertise local MAC and BVI MAC routes"; + } + } + container unknown-unicast-suppression { + presence "Indicates a unknown-unicast-suppression node is configured."; + description + "Enabling unknown unicast suppression"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables ingoring mismatch of local and remote MTUs (deprecated)"; + } + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + container disable-deprecated { + presence "Indicates a disable-deprecated node is configured."; + description + "Disables transmitting MTU zero to remote instead of actual local MTU (deprecated)"; + } + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + container re-origination-disable { + presence "Indicates a re-origination-disable node is configured."; + description + "Disable route re-origination"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Configure EVPN Instance Multicast"; + container source-connected { + presence "Indicates a source-connected node is configured."; + description + "Multicast traffic source connected"; + } + } + container proxy { + presence "Indicates a proxy node is configured."; + description + "Configure EVPN Instance Proxy"; + container igmp-snooping { + presence "Indicates a igmp-snooping node is configured."; + description + "Proxy mode for IGMP-Snooping (selective multicast)"; + } + } + container bvi-coupled-mode { + presence "Indicates a bvi-coupled-mode node is configured."; + description + "Couples BVI state to the core EVPN Instance state"; + } + } + } + container segment-routing { + if-feature "l2vpn_platform_srv6_supported"; + description + "Segment routing configuration for EVPN"; + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "SRv6 configuration for EVPN"; + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "Default locator to use for EVPN SID allocation"; + } + } + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore mismatch of local and remote MTUs"; + } + container enforce-mtu-match { + presence "Indicates a enforce-mtu-match node is configured."; + description + "Enforce matching of local and remote MTUs"; + } + container transmit-mtu-zero { + presence "Indicates a transmit-mtu-zero node is configured."; + description + "Transmit MTU zero to remote instead of actual local MTU"; + } + container transmit-l2-mtu { + presence "Indicates a transmit-l2-mtu node is configured."; + description + "Transmit L2 MTU of attachment circuit"; + } + } + container generic-interface-lists { + description + "Interface list"; + list generic-interface-list { + key "generic-interface-list-name"; + description + "Interface list"; + leaf generic-interface-list-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Interface-list name"; + } + } + description + "Interface list"; + } + container interfaces { + description + "Specify an interface"; + list interface { + if-feature "l2vpn_iflist_intf_supported"; + key "interface-name"; + description + "Specify interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Specify interface name"; + } + } + } + } + } + container l2vpn { + presence "Indicates a l2vpn node is configured."; + description + "Configure l2vpn commands"; + container bridge { + description + "Configure bridge commands"; + container groups { + description + "Specify the group the bridge belongs to"; + list group { + key "group-name"; + description + "Specify the group the bridge belongs to"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the bridge group"; + } + } + description + "Specify the group the bridge belongs to"; + } + container bridge-domains { + description + "Configure bridge domain"; + list bridge-domain { + key "bridge-domain-name"; + description + "Configure bridge domain"; + leaf bridge-domain-name { + type xr:Cisco-ios-xr-string { + length "1..27" { + description + "Name of the bridge domain"; + } + } + description + "Configure bridge domain"; + } + container evis { + description + "Ethernet VPN identifier"; + list evi { + key "vpn-id"; + description + "Ethernet VPN identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN identifier"; + } + } + } + container segment-routing-srv6-evis { + description + "Ethernet VPN identifier for srv6"; + list evi { + key "vpn-id"; + description + "Ethernet VPN identifier for srv6"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN identifier for srv6"; + } + } + } + container vnis { + description + "VxLAN VPN identifier"; + list vni { + key "vni-id"; + description + "VxLAN VPN identifier"; + leaf vni-id { + type uint32 { + range "1..16777215" { + description + "VxLAN VPN ID to set"; + } + } + description + "VxLAN VPN identifier"; + } + } + } + leaf mtu { + type uint32 { + range "46..65535" { + description + "Maximum transmission unit size (payload) in bytes"; + } + } + description + "Maximum transmission unit (payload) for this Bridge Domain"; + } + container coupled-mode { + if-feature "l2vpn_is_cli_supported"; + presence "Indicates a coupled-mode node is configured."; + description + "Enable coupled mode for the Bridge Domain"; + } + container transport-mode { + description + "Bridge domain transport mode"; + container vlan { + description + "Vlan tagged mode"; + container passthrough { + presence "Indicates a passthrough node is configured."; + description + "passthrough incoming tags"; + } + } + } + container flooding { + description + "Traffic flooding"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flooding"; + } + container unknown-unicast { + description + "Traffic flooding unknown unicast"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Unknown Unicast flooding"; + } + } + } + container dynamic-arp-inspection { + presence "Indicates a dynamic-arp-inspection node is configured."; + description + "Dynamic ARP Inspection"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + } + container address-validation { + presence "Indicates a address-validation node is configured."; + description + "Address Validation Configurations"; + container src-mac { + presence "Indicates a src-mac node is configured."; + description + "Match Source MAC Address"; + } + container dst-mac { + presence "Indicates a dst-mac node is configured."; + description + "Match Destination MAC Address"; + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Match IPv4 Address"; + } + } + } + container ip-source-guard { + presence "Indicates a ip-source-guard node is configured."; + description + "IP Source Guard"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + } + } + container dhcp { + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container snoop { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + description + "Attach a DHCP profile"; + } + } + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "disable IGMP snooping for the current bridge domain"; + } + } + } + container mld { + description + "MLD protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "MLD Snooping profile name"; + } + } + description + "Attach a MLD profile"; + } + } + } + container storm-control { + description + "Storm Control"; + container broadcast { + description + "Broadcast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container multicast { + description + "Multicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container unknown-unicast { + description + "Unknown-unicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + } + container multicast-source { + description + "Multicast Source Traffic"; + container ipv4 { + must "not(../ipv6 or ../ipv4-ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "Traffic Type IPv4"; + } + container ipv6 { + must "not(../ipv4 or ../ipv4-ipv6)"; + presence "Indicates a ipv6 node is configured."; + description + "Traffic Type IPv6"; + } + container ipv4-ipv6 { + must "not(../ipv4 or ../ipv6)"; + presence "Indicates a ipv4-ipv6 node is configured."; + description + "Traffic Type IPv4 and IPv6"; + } + } + container interfaces { + description + "Assign interface to bridge domain"; + list interface { + if-feature "l2vpn_iflist_intf_supported"; + key "interface-name"; + description + "Specify interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Specify interface name"; + } + container dhcp { + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container none { + presence "Indicates a none node is configured."; + description + "Disable DHCP snooping"; + } + container snoop { + presence "Indicates a snoop node is configured."; + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + description + "Attach a DHCP profile"; + } + } + } + } + container dynamic-arp-inspection { + presence "Indicates a dynamic-arp-inspection node is configured."; + description + "Dynamic ARP Inspection"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Dynamic Arp Inspection"; + } + container address-validation { + presence "Indicates a address-validation node is configured."; + description + "Address Validation Configurations"; + container src-mac { + presence "Indicates a src-mac node is configured."; + description + "Match Source MAC Address"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable Source MAC Address check"; + } + } + container dst-mac { + presence "Indicates a dst-mac node is configured."; + description + "Match Destination MAC Address"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable Destimation MAC Address check"; + } + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Match IPv4 Address"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable IPV4 Address check"; + } + } + } + } + container flooding { + description + "Traffic flooding"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flooding"; + } + container unknown-unicast { + description + "Traffic flooding unknown unicast"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Unknown Unicast flooding"; + } + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + } + } + container ip-source-guard { + presence "Indicates a ip-source-guard node is configured."; + description + "IP Source Guard"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Source Guard"; + } + } + container mac { + description + "MAC configuration commands"; + container aging { + if-feature "l2vpn_is_cli_supported"; + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + container inactivity { + must "not(../absolute)"; + presence "Indicates a inactivity node is configured."; + description + "Inactivity aging type"; + } + } + } + container learning { + presence "Indicates a learning node is configured."; + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + container limit { + description + "MAC-Limit configuration commands"; + leaf maximum { + type uint32 { + range "0..4294967295" { + description + "Number of MAC addresses after which MAC limit action is taken"; + } + } + description + "Number of MAC addresses after which MAC limit action is taken"; + } + container action { + description + "MAC address limit enforcement action"; + container flood { + must "not(../no-flood or ../shutdown or ../none)"; + presence "Indicates a flood node is configured."; + description + "Stop learning but continue flooding"; + } + container no-flood { + must "not(../flood or ../shutdown or ../none)"; + presence "Indicates a no-flood node is configured."; + description + "Stop learning and stop flooding"; + } + container shutdown { + must "not(../flood or ../no-flood or ../none)"; + presence "Indicates a shutdown node is configured."; + description + "Stop forwarding"; + } + container none { + must "not(../flood or ../no-flood or ../shutdown)"; + presence "Indicates a none node is configured."; + description + "No action"; + } + } + container notification { + description + "MAC address limit notification action"; + container trap { + must "not(../both or ../none or ../syslog)"; + presence "Indicates a trap node is configured."; + description + "Generate SNMP trap"; + } + container both { + must "not(../trap or ../none or ../syslog)"; + presence "Indicates a both node is configured."; + description + "Generate syslog message and SNMP trap"; + } + container none { + must "not(../trap or ../both or ../syslog)"; + presence "Indicates a none node is configured."; + description + "No notification"; + } + container syslog { + must "not(../trap or ../both or ../none)"; + presence "Indicates a syslog node is configured."; + description + "Generate syslog message"; + } + } + } + container port-down { + description + "Configure action when port goes down"; + container flush { + description + "Configure MAC flush when port goes down"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC flush when port goes down"; + } + } + } + container secure { + presence "Indicates a secure node is configured."; + description + "MAC Secure configuration commands"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container action { + description + "MAC secure enforcement action"; + container none { + must "not(../shutdown)"; + presence "Indicates a none node is configured."; + description + "Forward the violating packet and allow the MAC to be relearned"; + } + container shutdown { + must "not(../none)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown the violating bridge port"; + } + container restrict { + must "not(../none or ../shutdown)"; + presence "Indicates a restrict node is configured."; + description + "Drop the violating packet and not allow the MAC to be relearned"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC Secure"; + } + container shutdown-recovery-timeout { + description + "Recovery-timer to automatically revert shutdown action"; + container disable { + must "not(../recovery-timer-in-second)"; + presence "Indicates a disable node is configured."; + description + "Disable shutdown recovery timer"; + } + leaf recovery-timer-in-second { + type uint32 { + range "10..3600" { + description + "Recovery timer in second"; + } + } + must "not(../disable)"; + description + "Recovery timer in second"; + } + } + } + } + container mld { + description + "MLD protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "MLD Snooping profile name"; + } + } + description + "Attach a MLD profile"; + } + } + } + container storm-control { + description + "Storm Control"; + container broadcast { + description + "Broadcast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container multicast { + description + "Multicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container unknown-unicast { + description + "Unknown-unicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + } + container split-horizon { + description + "Configure split-horizon group"; + container group { + presence "Indicates a group node is configured."; + description + "Configure split-horizon group"; + } + } + container static-mac-addresses { + description + "Static MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + } + } + container routed { + description + "Bridge domain L3 interface"; + list interface { + key "interface-name"; + description + "Assign interface to bridge domain"; + leaf interface-name { + type xr:Interface-name; + description + "Assign interface to bridge domain"; + } + container split-horizon { + description + "Configure split-horizon group"; + container group { + description + "Configure split-horizon group"; + container core { + presence "Indicates a core node is configured."; + description + "Configure BVI under SHG 1"; + } + } + } + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "shutdown the Bridge Domain"; + } + container vfis { + description + "Specify the virtual forwarding interface name"; + list vfi { + key "vfi-name"; + description + "Specify the virtual forwarding interface name"; + leaf vfi-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the Virtual Forwarding Interface"; + } + } + description + "Specify the virtual forwarding interface name"; + } + leaf vpn-id { + type uint32 { + range "1..4294967295" { + description + "Value of the VPN ID"; + } + } + description + "VPN Identifier (VPN ID)"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "shutdown the Virtual Forwarding Interface"; + } + container autodiscovery { + description + "Enable auto-discovery in this VFI"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Enable BGP auto-discovery in this VFI"; + container rd { + description + "route distinguisher"; + container auto { + must "not(../two-byte-as-number or ../four-byte-as-number or ../ipv4-address)"; + presence "Indicates a auto node is configured."; + description + "Automatic route distinguisher"; + } + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Route Target"; + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + } + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + } + container control-word { + presence "Indicates a control-word node is configured."; + description + "Enable control-word for BGP-Autodiscovered PWs for this VFI"; + } + container signaling-protocol { + description + "Enable signaling protocol for this VFI"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Enable BGP signaling protocol for this VFI"; + leaf ve-id { + type uint32 { + range "1..16384" { + description + "Value of the local VE ID"; + } + } + description + "Local Virtual Edge Identifier (VE ID)"; + } + leaf ve-range { + if-feature "l2vpn_is_cli_supported"; + type uint32 { + range "11..100" { + description + "Value of the VE Range"; + } + } + description + "Local Virtual Edge Block Configurable Range"; + } + container load-balancing { + description + "Load Balancing"; + container flow-label { + description + "Flow label based load balancing setting"; + container transmit { + must "not(../receive or ../both)"; + presence "Indicates a transmit node is configured."; + description + "Insert Flow label when transmit "; + } + container receive { + must "not(../transmit or ../both)"; + presence "Indicates a receive node is configured."; + description + "Discard Flow label when receive"; + } + container both { + must "not(../transmit or ../receive)"; + presence "Indicates a both node is configured."; + description + "Insert/Discard Flow label when transmit/recceive"; + } + container static { + must "../transmit or ../receive or ../both"; + presence "Indicates a static node is configured."; + description + "Set Flow label parameters statically"; + } + } + } + } + container ldp { + presence "Indicates a ldp node is configured."; + description + "Enable LDP signaling protocol for this VFI"; + container vpls-id { + if-feature "l2vpn_is_cli_supported"; + description + "VPLS ID"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + must "not(../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..32767" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + container load-balancing { + description + "Load Balancing"; + container flow-label { + description + "Flow label based load balancing setting"; + container transmit { + must "not(../receive or ../both)"; + presence "Indicates a transmit node is configured."; + description + "Insert Flow label when transmit "; + } + container receive { + must "not(../transmit or ../both)"; + presence "Indicates a receive node is configured."; + description + "Discard Flow label when receive"; + } + container both { + must "not(../transmit or ../receive)"; + presence "Indicates a both node is configured."; + description + "Insert/Discard Flow label when transmit/recceive"; + } + container static { + must "../transmit or ../receive or ../both"; + presence "Indicates a static node is configured."; + description + "Set Flow label parameters statically"; + } + } + } + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of forwarding data to L2FIB"; + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + } + } + } + container multicast { + if-feature "l2vpn_pw_p2mp_supported"; + description + "Point to multi-point pseudowire"; + container p2mp { + presence "Indicates a p2mp node is configured."; + description + "Enable point to multi-point pseudowire in this VFI"; + container transport { + description + "Transport type selection"; + container rsvp-te { + presence "Indicates a rsvp-te node is configured."; + description + "Use RSVP-TE as transport"; + container attribute-set { + description + "TE attribute set parameters"; + leaf p2mp-te { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify name"; + } + } + description + "TE tunnel attribute set name"; + } + } + } + } + container signaling-protocol { + description + "Signaling protocol selection"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Use BGP for signaling"; + } + } + } + } + container neighbors { + description + "Specify the peer to cross connect"; + list neighbor { + key "address pw-id"; + description + "Specify the peer to cross connect"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the peer"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container static-mac-addresses { + description + "Static MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + container mpls { + description + "MPLS L2VPN PW command"; + container static { + description + "MPLS L2VPN static settings"; + container label { + description + "MPLS L2VPN static labels"; + leaf local { + type uint32 { + range "16..1048575" { + description + "Local pseudowire label"; + } + } + must "../remote"; + description + "Local pseudowire label"; + } + leaf remote { + type uint32 { + range "16..1048575" { + description + "Remote pseudowire label"; + } + } + must "../local"; + description + "Remote pseudowire label"; + } + } + } + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for this pseudowire"; + } + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container snoop { + presence "Indicates a snoop node is configured."; + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + description + "Attach a DHCP profile"; + } + } + container none { + presence "Indicates a none node is configured."; + description + "Disable DHCP snooping"; + } + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + } + } + container mld { + description + "MLD protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "MLD Snooping profile name"; + } + } + description + "Attach a MLD profile"; + } + } + } + } + } + } + } + container access-vfis { + description + "Specify the access virtual forwarding interface name"; + list access-vfi { + key "access-vfi-name"; + description + "Specify the access virtual forwarding interface name"; + leaf access-vfi-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the Access Virtual Forwarding Interface"; + } + } + description + "Specify the access virtual forwarding interface name"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "shutdown the Access Virtual Forwarding Interface"; + } + container neighbors { + description + "Specify the peer to cross connect"; + list neighbor { + key "address pw-id"; + description + "Specify the peer to cross connect"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the peer"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container static-mac-addresses { + description + "Static MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for this pseudowire"; + } + } + } + } + } + container mac { + description + "MAC configuration commands"; + container aging { + if-feature "l2vpn_is_cli_supported"; + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + } + } + container static-addresses { + description + "Static MAC address for filtering"; + list static-address { + must "drop"; + key "mac-address"; + description + "Static MAC address for filtering"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address for filtering"; + } + container drop { + presence "Indicates a drop node is configured."; + description + "Drop matching packets"; + } + } + } + container learning { + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + container withdraw { + description + "MAC withdraw"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC withdraw"; + } + container access-pw { + description + "MAC withdraw sent to Access PWs "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC withdraw on Access PW"; + } + } + container relay { + presence "Indicates a relay node is configured."; + description + "MAC withdraw relayed to Access PWs "; + } + container state-down { + must "not(../optimize)"; + presence "Indicates a state-down node is configured."; + description + "MAC withdraw sent on bridge port down"; + } + container optimize { + must "not(../state-down)"; + presence "Indicates a optimize node is configured."; + description + "Optimized LDP MAC withdraw (when port goes down)"; + } + } + container limit { + description + "MAC-Limit configuration commands"; + leaf maximum { + type uint32 { + range "0..4294967295" { + description + "Number of MAC addresses after which MAC limit action is taken"; + } + } + description + "Number of MAC addresses after which MAC limit action is taken"; + } + container action { + description + "MAC address limit enforcement action"; + container flood { + must "not(../no-flood or ../shutdown)"; + presence "Indicates a flood node is configured."; + description + "Stop learning but continue flooding"; + } + container no-flood { + must "not(../flood or ../shutdown)"; + presence "Indicates a no-flood node is configured."; + description + "Stop learning and stop flooding"; + } + container shutdown { + must "not(../flood or ../no-flood)"; + presence "Indicates a shutdown node is configured."; + description + "Stop forwarding"; + } + } + container notification { + description + "MAC address limit notification action"; + container trap { + must "not(../both or ../none)"; + presence "Indicates a trap node is configured."; + description + "Generate SNMP trap"; + } + container both { + must "not(../trap or ../none)"; + presence "Indicates a both node is configured."; + description + "Generate syslog message and SNMP trap"; + } + container none { + must "not(../trap or ../both)"; + presence "Indicates a none node is configured."; + description + "No notification"; + } + } + } + container port-down { + description + "Configure action when port goes down"; + container flush { + description + "Configure MAC flush when port goes down"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC flush when port goes down"; + } + } + } + container secure { + presence "Indicates a secure node is configured."; + description + "MAC Secure configuration commands"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + } + container threshold { + presence "Indicates a threshold node is configured."; + description + "Threshold based mac secure"; + } + container action { + description + "MAC secure enforcement action"; + container none { + must "not(../shutdown)"; + presence "Indicates a none node is configured."; + description + "Forward the violating packet and allow the MAC to be relearned"; + } + container shutdown { + must "not(../none)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown the violating bridge port"; + } + } + leaf shutdown-recovery-timeout { + type uint32 { + range "10..3600" { + description + "Recovery timer in seconds"; + } + } + description + "Recovery-timer to automatically revert shutdown action"; + } + } + } + container access-evis { + description + "Specify the virtual access EVI"; + list access-evi { + key "access-evi-id"; + description + "Specify the virtual access EVI"; + leaf access-evi-id { + type uint32 { + range "1..65534" { + description + "Access EVPN Instance VPN ID value"; + } + } + description + "Specify the virtual access EVI"; + } + } + } + container neighbors { + description + "Specify the peer to cross connect"; + list neighbor { + key "address pw-id"; + description + "Specify the peer to cross connect"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the peer"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container flooding { + if-feature "l2vpn_is_cli_supported"; + presence "Indicates a flooding node is configured."; + description + "Traffic flooding"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flooding"; + } + container unknown-unicast { + presence "Indicates a unknown-unicast node is configured."; + description + "Traffic flooding unknown unicast"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Unknow Unicast flooding"; + } + } + } + container static-mac-addresses { + description + "Static MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + container mpls { + description + "MPLS L2VPN PW command"; + container static { + description + "MPLS L2VPN static settings"; + container label { + description + "MPLS L2VPN static labels"; + leaf local { + type uint32 { + range "16..1048575" { + description + "Local pseudowire label"; + } + } + must "../remote"; + description + "Local pseudowire label"; + } + leaf remote { + type uint32 { + range "16..1048575" { + description + "Remote pseudowire label"; + } + } + must "../local"; + description + "Remote pseudowire label"; + } + } + } + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for this pseudowire"; + } + container split-horizon { + description + "Configure split horizon group"; + container group { + presence "Indicates a group node is configured."; + description + "Configure split horizon group"; + } + } + container storm-control { + description + "Storm Control"; + container broadcast { + description + "Broadcast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container multicast { + description + "Multicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container unknown-unicast { + description + "Unknown-unicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + } + container mac { + description + "MAC configuration commands"; + container aging { + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + must "not(../inactivity)"; + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + container inactivity { + must "not(../absolute)"; + presence "Indicates a inactivity node is configured."; + description + "Inactivity aging type"; + } + } + } + container learning { + presence "Indicates a learning node is configured."; + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + container limit { + description + "MAC-Limit configuration commands"; + leaf maximum { + type uint32 { + range "0..4294967295" { + description + "Number of MAC addresses after which MAC limit action is taken"; + } + } + description + "Number of MAC addresses after which MAC limit action is taken"; + } + container action { + description + "MAC address limit enforcement action"; + container flood { + must + "not(../no-flood or ../shutdown + or ../none)"; + presence "Indicates a flood node is configured."; + description + "Stop learning but continue flooding"; + } + container no-flood { + must + "not(../flood or ../shutdown + or ../none)"; + presence "Indicates a no-flood node is configured."; + description + "Stop learning and stop flooding"; + } + container shutdown { + must + "not(../flood or ../no-flood + or ../none)"; + presence "Indicates a shutdown node is configured."; + description + "Stop forwarding"; + } + container none { + must + "not(../flood or ../no-flood + or ../shutdown)"; + presence "Indicates a none node is configured."; + description + "No action"; + } + } + container notification { + description + "MAC address limit notification action"; + container trap { + must + "not(../both or ../none + or ../syslog)"; + presence "Indicates a trap node is configured."; + description + "Generate SNMP trap"; + } + container both { + must + "not(../trap or ../none + or ../syslog)"; + presence "Indicates a both node is configured."; + description + "Generate syslog message and SNMP trap"; + } + container none { + must + "not(../trap or ../both + or ../syslog)"; + presence "Indicates a none node is configured."; + description + "No notification"; + } + container syslog { + must + "not(../trap or ../both + or ../none)"; + presence "Indicates a syslog node is configured."; + description + "Generate syslog message"; + } + } + } + container port-down { + description + "Configure action when port goes down"; + container flush { + presence "Indicates a flush node is configured."; + description + "Configure MAC flush when port goes down"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC flush when port goes down"; + } + } + } + container secure { + presence "Indicates a secure node is configured."; + description + "MAC Secure configuration commands"; + container logging { + presence "Indicates a logging node is configured."; + description + "Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container action { + description + "MAC secure enforcement action"; + container none { + must "not(../shutdown or ../restrict)"; + presence "Indicates a none node is configured."; + description + "Forward the violating packet and allow the MAC to be relearned"; + } + container shutdown { + must "not(../none or ../restrict)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown the violating bridge port"; + } + container restrict { + must "not(../none or ../shutdown)"; + presence "Indicates a restrict node is configured."; + description + "Drop the violating packet and not allow the MAC to be relearned"; + } + } + container shutdown-recovery-timeout { + description + "Recovery-timer to automatically revert shutdown action"; + container disable { + must "not(../recovery-timer-in-second)"; + presence "Indicates a disable node is configured."; + description + "Disable shutdown recovery timer"; + } + leaf recovery-timer-in-second { + type uint32 { + range "10..3600" { + description + "Recovery timer in second"; + } + } + must "not(../disable)"; + description + "Recovery timer in second"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC Secure"; + } + } + } + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container snoop { + presence "Indicates a snoop node is configured."; + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + description + "Attach a DHCP profile"; + } + } + container none { + presence "Indicates a none node is configured."; + description + "Disable DHCP snooping"; + } + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + } + } + container mld { + description + "MLD protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "MLD Snooping profile name"; + } + } + description + "Attach a MLD profile"; + } + } + } + container backup { + description + "Backup pseudowire for the access pseudowire"; + container neighbors { + description + "Specify the peer to cross connect"; + list neighbor { + key "address pw-id"; + description + "Specify the peer to cross connect"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the peer"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for this pseudowire"; + } + } + } + } + } + container evpn { + description + "Specify the Ethernet VPN"; + list evi { + key "vpn-id target"; + description + "Ethernet VPN Identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Configure EVPN Instance VPN ID"; + } + leaf target { + type uint32 { + range "1..16777215" { + description + "Remote ac-id"; + } + } + description + "Specify remote attachment circuit identifier"; + } + } + } + } + leaf description { + if-feature "l2vpn_is_cli_supported"; + type string { + length "1..64" { + description + "Bridge-Domain description string"; + } + } + description + "Description for Bridge-Domain"; + } + container efp-visibility { + presence "Indicates a efp-visibility node is configured."; + description + "Enable multicast for multiple VLANs in the bridge of a BVI"; + } + container etree { + presence "Indicates a etree node is configured."; + description + "Configure Bridge Domain EVPN E-Tree"; + container leaf { + presence "Indicates a leaf node is configured."; + description + "Designate Bridge Domain as EVPN E-Tree Leaf"; + } + } + container member { + description + "Bridge domain member"; + container vnis { + description + "Assign VxLAN Network Identifier to bridge domain"; + list vni { + key "vni-id"; + description + "Assign VxLAN Network Identifier to bridge domain"; + leaf vni-id { + type uint32 { + range "1..16777215" { + description + "Specify VxLAN Network Identifier value"; + } + } + description + "Assign VxLAN Network Identifier to bridge domain"; + } + container static-mac-addresses { + description + "Static MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + leaf next-hop { + type inet:ipv4-address-no-zone; + description + "Specify the next hop IP address"; + } + } + } + } + } + } + container pbb { + description + "Configure Provider Backbone Bridge"; + container core { + presence "Indicates a core node is configured."; + description + "PBB core bridge domain"; + container rewrite { + description + "Set the tag rewriting policy"; + container ingress { + description + "Set the tag rewriting policy"; + container tag { + description + "Set the tag rewriting policy"; + container push { + description + "Push one or more tags"; + leaf dot1ad { + type uint32 { + range "1..4094" { + description + "VLAN ID to push"; + } + } + description + "Push a Dot1ad tag"; + } + } + } + } + } + container mac { + description + "MAC configuration commands"; + container aging { + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + must "not(../inactivity)"; + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + container inactivity { + must "not(../absolute)"; + presence "Indicates a inactivity node is configured."; + description + "Inactivity aging type"; + } + } + } + container learning { + presence "Indicates a learning node is configured."; + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + } + container mmrp-flood-optimization { + presence "Indicates a mmrp-flood-optimization node is configured."; + description + "Enable flood optimization for MMRP"; + } + container evis { + description + "Ethernet VPN identifier"; + list evi { + key "vpn-id"; + description + "Ethernet VPN identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN identifier"; + } + } + } + } + container edge { + description + "PBB edge bridge domain"; + list i-sid { + key "instance-id core-bridge-name"; + description + "Configure Service Instance Identifier"; + leaf instance-id { + type uint32 { + range "256..16777214" { + description + "Service Instance ID"; + } + } + description + "Configure Service Instance Identifier"; + } + leaf core-bridge-name { + type xr:Cisco-ios-xr-string { + length "1..27" { + description + "Name of the PBB core bridge domain"; + } + } + description + "Specifiy PBB core bridge domain to associate with"; + } + container static-mac-addresses { + description + "Static customer MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static customer MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static customer MAC address"; + } + leaf bmac { + type yang:mac-address; + mandatory true; + description + "Static backbone MAC address to map with"; + } + } + } + leaf unknown-unicast-bmac { + type yang:mac-address; + description + "Unknown Unicast backbone MAC address"; + } + container split-horizon { + description + "Configure split horizon option"; + container group { + description + "Configure split horizon group option"; + container vfi { + description + "Configure split horizon group vfi option"; + container disable { + presence "Indicates a disable node is configured."; + description + "Configure split horizon group vfi disable"; + } + } + } + } + container mac { + description + "MAC configuration commands"; + container aging { + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + must "not(../inactivity)"; + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + container inactivity { + must "not(../absolute)"; + presence "Indicates a inactivity node is configured."; + description + "Inactivity aging type"; + } + } + } + container learning { + presence "Indicates a learning node is configured."; + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + container limit { + description + "MAC-Limit configuration commands"; + leaf maximum { + type uint32 { + range "0..4294967295" { + description + "Number of MAC addresses after which MAC limit action is taken"; + } + } + description + "Number of MAC addresses after which MAC limit action is taken"; + } + container action { + description + "MAC address limit enforcement action"; + container flood { + must + "not(../no-flood or ../shutdown + or ../none)"; + presence "Indicates a flood node is configured."; + description + "Stop learning but continue flooding"; + } + container no-flood { + must + "not(../flood or ../shutdown + or ../none)"; + presence "Indicates a no-flood node is configured."; + description + "Stop learning and stop flooding"; + } + container shutdown { + must + "not(../flood or ../no-flood + or ../none)"; + presence "Indicates a shutdown node is configured."; + description + "Stop forwarding"; + } + container none { + must + "not(../flood or ../no-flood + or ../shutdown)"; + presence "Indicates a none node is configured."; + description + "No action"; + } + } + container notification { + description + "MAC address limit notification action"; + container trap { + must + "not(../both or ../none + or ../syslog)"; + presence "Indicates a trap node is configured."; + description + "Generate SNMP trap"; + } + container both { + must + "not(../trap or ../none + or ../syslog)"; + presence "Indicates a both node is configured."; + description + "Generate syslog message and SNMP trap"; + } + container none { + must + "not(../trap or ../both + or ../syslog)"; + presence "Indicates a none node is configured."; + description + "No notification"; + } + container syslog { + must + "not(../trap or ../both + or ../none)"; + presence "Indicates a syslog node is configured."; + description + "Generate syslog message"; + } + } + } + container secure { + presence "Indicates a secure node is configured."; + description + "MAC Secure configuration commands"; + container logging { + presence "Indicates a logging node is configured."; + description + "Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container action { + description + "MAC secure enforcement action"; + container none { + must "not(../shutdown or ../restrict)"; + presence "Indicates a none node is configured."; + description + "Forward the violating packet and allow the MAC to be relearned"; + } + container shutdown { + must "not(../none or ../restrict)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown the violating bridge port"; + } + container restrict { + must "not(../none or ../shutdown)"; + presence "Indicates a restrict node is configured."; + description + "Drop the violating packet and not allow the MAC to be relearned"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC Secure"; + } + container accept-shutdown { + presence "Indicates a accept-shutdown node is configured."; + description + "Accept shutdown action to be taken due to MAC violation"; + } + } + } + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container snoop { + presence "Indicates a snoop node is configured."; + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + description + "Attach a DHCP profile"; + } + } + container none { + presence "Indicates a none node is configured."; + description + "Disable DHCP snooping"; + } + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + } + } + } + } + } + container nv { + description + "Configure nV Satellite Settings"; + container satellite { + presence "Indicates a satellite node is configured."; + description + "Configure nV Satellite Settings"; + container offload { + description + "Hardware offloading"; + container ipv4 { + description + "IPv4"; + container multicast { + description + "Multicast"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable IPv4 Multicast Offloading"; + } + } + } + } + } + } + } + } + } + } + } + container pbb { + description + "PBB configuration commands"; + leaf backbone-source-mac { + type yang:mac-address; + description + "Backbone Source MAC"; + } + } + container redundancy { + presence "Indicates a redundancy node is configured."; + description + "Redundancy"; + container iccp { + description + "Inter-Chassis Communication Protocol"; + container groups { + description + "Group configuration"; + list group { + key "group-number"; + description + "Group configuration"; + leaf group-number { + type uint32 { + range "1..4294967295" { + description + "Enter group number"; + } + } + description + "Group configuration"; + } + list interface { + key "interface-name"; + description + "Interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Interface name"; + } + container primary { + description + "Primary VLAN configuration"; + leaf vlan { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "List of VLAN IDs in the form of 1-3,5,8-11"; + } + } + description + "Assign primary VLANs"; + } + } + container secondary { + description + "Secondary VLAN configuration"; + leaf vlan { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "List of VLAN IDs in the form of 1-3,5,8-11"; + } + } + description + "Assign secondary VLANs"; + } + } + container mac-flush { + description + "Enable STP TCN MAC flushing. Default is MVRP"; + container stp-tcn { + presence "Indicates a stp-tcn node is configured."; + description + "STP topology change notification"; + } + } + container recovery { + description + "Failure recovery reversion delay timer. Default is revertive after 180 seconds."; + leaf delay { + type uint32 { + range "30..3600" { + description + "input time in seconds"; + } + } + description + "Specify delay before recovery reversion after failure clears"; + } + } + } + container multi-homing { + description + "ICCP-based service multi-homing"; + leaf node-id { + type uint32 { + range "0..254" { + description + "Node ID"; + } + } + description + "Enter multi-homing node ID"; + } + } + } + } + } + } + container ethernet { + description + "Ethernet"; + container ring { + description + "Ring"; + list g8032 { + key "ethernet-ring-name"; + description + "Specify the g.8032 ethernet ring"; + leaf ethernet-ring-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the ethernet ring"; + } + } + description + "Specify the g.8032 ethernet ring"; + } + container port0 { + description + "Port0 of the local node connected to G.8032 ring"; + list interface { + key "interface-name"; + description + "Assign interface as port0"; + leaf interface-name { + type xr:Interface-name; + description + "Assign interface as port0"; + } + container monitor { + description + "Assign the monitor interface for g.8032 ring port0"; + leaf interface { + type xr:Interface-name; + description + "Assign the monitor interface"; + } + } + } + } + container port1 { + description + "Port1 of the local node connected to G.8032 ring"; + list interface { + key "interface-name"; + description + "Assign port1 interface"; + leaf interface-name { + type xr:Interface-name; + description + "Assign port1 interface"; + } + container monitor { + description + "Assign the monitor interface for g.8032 ring port1"; + leaf interface { + type xr:Interface-name; + description + "Assign the monitor interface"; + } + } + } + container none { + presence "Indicates a none node is configured."; + description + "Assign port1 as none to enable g.8032 open-ring"; + } + container virtual { + presence "Indicates a virtual node is configured."; + description + "Assign port1 as virtual to enable g.8032 sub-ring"; + } + } + container open-ring { + presence "Indicates a open-ring node is configured."; + description + "Specify the g.8032 ring as open ring"; + } + container exclusion-list { + description + "Specifiy exclusion list not protected by ERP"; + leaf vlan-ids { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "List of VLAN IDs in the form a-b,c,d,e-f,g,untagged"; + } + } + description + "Assign list of VLANs to the exclusion list"; + } + } + container instances { + description + "Configure the g.8032 ethernet ring instance"; + list instance { + key "instance-id"; + description + "Configure the g.8032 ethernet ring instance"; + leaf instance-id { + type uint32 { + range "1..2" { + description + "Instance number"; + } + } + description + "Configure the g.8032 ethernet ring instance"; + } + leaf description { + type string { + length "1..32" { + description + "Description for the instance"; + } + } + description + "Description for g.8032 ethernet ring instance"; + } + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Ethernet ring profile name"; + } + } + description + "Specify associated g.8032 ethernet ring profile"; + } + container rpl { + description + "Specify RPL owner, neighbor or next-neighbor"; + container port0 { + presence "Indicates a port0 node is configured."; + description + "Assign port0 as RPL owner, neighbor or next-neighbor"; + container owner { + must "not(../neighbor or ../next-neighbor)"; + presence "Indicates a owner node is configured."; + description + "RPL owner"; + } + container neighbor { + must "not(../owner or ../next-neighbor)"; + presence "Indicates a neighbor node is configured."; + description + "RPL neighbor"; + } + container next-neighbor { + must "not(../owner or ../neighbor)"; + presence "Indicates a next-neighbor node is configured."; + description + "RPL next neighbor"; + } + } + container port1 { + presence "Indicates a port1 node is configured."; + description + "Assign port1 as RPL owner, neighbor or next-neighbor"; + container owner { + must "not(../neighbor or ../next-neighbor)"; + presence "Indicates a owner node is configured."; + description + "RPL owner"; + } + container neighbor { + must "not(../owner or ../next-neighbor)"; + presence "Indicates a neighbor node is configured."; + description + "RPL neighbor"; + } + container next-neighbor { + must "not(../owner or ../neighbor)"; + presence "Indicates a next-neighbor node is configured."; + description + "RPL next neighbor"; + } + } + } + container inclusion-list { + description + "Specifiy inclusion list protected by ERP"; + leaf vlan-ids { + type string { + length "1..800" { + description + "List of VLAN IDs in the form a-b,c,d,e-f,g,untagged"; + } + } + description + "Associates a set of VLAN IDs with the current instance"; + } + } + container aps-channel { + presence "Indicates a aps-channel node is configured."; + description + "Configure g.8032 instance aps-channel"; + leaf level { + type uint32 { + range "0..7" { + description + "APS message level"; + } + } + description + "Specify the aps message level"; + } + container port0 { + description + "Config g.8032 aps-channel info associated to port0"; + leaf interface { + type xr:Interface-name; + description + "Assign interface associated to port0"; + } + } + container port1 { + description + "Config g.8032 aps-channel info associated to port1"; + leaf interface { + type xr:Interface-name; + must + "not(../bridge-domain or ../xconnect + or ../none)"; + description + "Assign interface associated to port1"; + } + leaf bridge-domain { + type xr:Cisco-ios-xr-string { + length "1..27" { + description + "Name of the bridge domain"; + } + } + must + "not(../interface or ../xconnect + or ../none)"; + description + "Specify VPLS domain where virtual channel is connected"; + } + leaf xconnect { + type xr:Cisco-ios-xr-string { + length "1..38" { + description + "Name of the xconnect"; + } + } + must + "not(../interface or ../bridge-domain + or ../none)"; + description + "Specify VPWS xconnect where virtual channel is connected"; + } + container none { + must + "not(../interface or ../bridge-domain + or ../xconnect)"; + presence "Indicates a none node is configured."; + description + "Specify APS channel port1 as none"; + } + } + } + } + } + } + } + } + container flexible-xconnect-service { + description + "Configure flexible-xconnect-service"; + container vlan-unawares { + description + "Configure in vlan-unaware mode"; + list vlan-unaware { + key "service-name"; + description + "Configure in vlan-unaware mode"; + leaf service-name { + type xr:Cisco-ios-xr-string { + length "1..23" { + description + "Name of the flexible-xconnect-service"; + } + } + description + "Configure in vlan-unaware mode"; + } + container interfaces { + description + "Specify the attachment circuit "; + list interface { + key "interface-name"; + description + "Specify sub-interface name to attach to flexible xconnect service"; + leaf interface-name { + type xr:Interface-name; + description + "Specify sub-interface name to attach to flexible xconnect service"; + } + } + } + container neighbor { + description + "Specify the peer to cross connect"; + container evpn { + description + "Specify the Ethernet VPN"; + container evis { + description + "Ethernet VPN Identifier"; + list evi { + key "vpn-id remote-ac-id"; + description + "Ethernet VPN Identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN Identifier"; + } + leaf remote-ac-id { + type uint32 { + range "1..16777215" { + description + "Remote ac-id (hex or decimal format)"; + } + } + description + "Specify remote attachment circuit identifier"; + } + } + } + } + } + } + } + container vlan-aware { + description + "Configure in vlan-aware mode"; + container evis { + description + "Ethernet VPN Identifier"; + list evi { + key "vpn-id"; + description + "Ethernet VPN Identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN Identifier"; + } + container interfaces { + description + "Specify the attachment circuit "; + list interface { + key "interface-name"; + description + "Specify sub-interface name to attach to flexible xconnect service"; + leaf interface-name { + type xr:Interface-name; + description + "Specify sub-interface name to attach to flexible xconnect service"; + } + } + } + } + } + } + } + container vlan-switches { + description + "Configure a VLAN Switch"; + list vlan-switch { + key "vlan-switch-name"; + description + "Configure a VLAN Switch"; + leaf vlan-switch-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the VLAN Switch"; + } + } + description + "Configure a VLAN Switch"; + } + container vlan { + description + "Configure VLAN IDs"; + leaf vlan-id-range1-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + description + "Start of VLAN ID range"; + } + leaf vlan-id-range1-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range1-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range2-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range1-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range2-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range2-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range3-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range2-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range3-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range3-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range4-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range3-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range4-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range4-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range5-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range4-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range5-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range5-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range6-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range5-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range6-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range6-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range7-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range6-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range7-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range7-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range8-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range7-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range8-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range8-start"; + description + "End of VLAN ID range"; + } + leaf vlan-id-range9-start { + type uint32 { + range "1..4094" { + description + "Start of VLAN ID range"; + } + } + must "../vlan-id-range8-start"; + description + "Start of VLAN ID range"; + } + leaf vlan-id-range9-end { + type uint32 { + range "1..4094" { + description + "End of VLAN ID range"; + } + } + must "../vlan-id-range9-start"; + description + "End of VLAN ID range"; + } + } + container interfaces { + description + "Assign VSP interface to VLAN Switch"; + list interface { + key "interface-name"; + description + "Specify interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Specify interface name"; + } + } + } + container routed { + description + "VLAN Switch L3 interfaces"; + container interface { + description + "Assign L3 interfaces to VLAN Switch"; + container bvi { + description + "Assign BVI interfaces to VLAN Switch"; + leaf interface-number-range1-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + description + "Start of interface number range"; + } + leaf interface-number-range1-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range1-start"; + description + "End of interface number range"; + } + leaf interface-number-range2-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range1-start"; + description + "Start of interface number range"; + } + leaf interface-number-range2-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range2-start"; + description + "End of interface number range"; + } + leaf interface-number-range3-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range2-start"; + description + "Start of interface number range"; + } + leaf interface-number-range3-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range3-start"; + description + "End of interface number range"; + } + leaf interface-number-range4-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range3-start"; + description + "Start of interface number range"; + } + leaf interface-number-range4-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range4-start"; + description + "End of interface number range"; + } + leaf interface-number-range5-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range4-start"; + description + "Start of interface number range"; + } + leaf interface-number-range5-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range4-start"; + description + "End of interface number range"; + } + leaf interface-number-range6-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range5-start"; + description + "Start of interface number range"; + } + leaf interface-number-range6-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range6-start"; + description + "End of interface number range"; + } + leaf interface-number-range7-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range6-start"; + description + "Start of interface number range"; + } + leaf interface-number-range7-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range7-start"; + description + "End of interface number range"; + } + leaf interface-number-range8-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range7-start"; + description + "Start of interface number range"; + } + leaf interface-number-range8-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range8-start"; + description + "End of interface number range"; + } + leaf interface-number-range9-start { + type uint32 { + range "1..4294967295" { + description + "Start of interface number range"; + } + } + must "../interface-number-range8-start"; + description + "Start of interface number range"; + } + leaf interface-number-range9-end { + type uint32 { + range "1..4294967295" { + description + "End of interface number range"; + } + } + must "../interface-number-range9-start"; + description + "End of interface number range"; + } + } + } + } + container vni { + description + "Assign VxLAN Network Identifiers to VLAN Switch"; + leaf vni-range1-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + description + "Start of VNI range"; + } + leaf vni-range1-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range1-start"; + description + "End of VNI range"; + } + leaf vni-range2-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range1-start"; + description + "Start of VNI range"; + } + leaf vni-range2-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range2-start"; + description + "End of VNI range"; + } + leaf vni-range3-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range2-start"; + description + "Start of VNI range"; + } + leaf vni-range3-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range3-start"; + description + "End of VNI range"; + } + leaf vni-range4-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range3-start"; + description + "Start of VNI range"; + } + leaf vni-range4-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range4-start"; + description + "End of VNI range"; + } + leaf vni-range5-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range4-start"; + description + "Start of VNI range"; + } + leaf vni-range5-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range5-start"; + description + "End of VNI range"; + } + leaf vni-range6-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range5-start"; + description + "Start of VNI range"; + } + leaf vni-range6-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range6-start"; + description + "End of VNI range"; + } + leaf vni-range7-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range6-start"; + description + "Start of VNI range"; + } + leaf vni-range7-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range7-start"; + description + "End of VNI range"; + } + leaf vni-range8-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range7-start"; + description + "Start of VNI range"; + } + leaf vni-range8-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range8-start"; + description + "End of VNI range"; + } + leaf vni-range9-start { + type uint32 { + range "1..16777215" { + description + "Start of VNI range"; + } + } + must "../vni-range8-start"; + description + "Start of VNI range"; + } + leaf vni-range9-end { + type uint32 { + range "1..16777215" { + description + "End of VNI range"; + } + } + must "../vni-range9-start"; + description + "End of VNI range"; + } + } + container bridge-domains { + description + "Configure bridge domain"; + list bridge-domain { + key "bridge-domain-name"; + description + "Configure bridge domain"; + leaf bridge-domain-name { + type xr:Cisco-ios-xr-string { + length "1..27" { + description + "Name of the bridge domain in the following format: vlan#"; + } + pattern "vlan[0-9]+"; + } + description + "Configure bridge domain"; + } + container evis { + description + "Ethernet VPN identifier"; + list evi { + key "vpn-id"; + description + "Ethernet VPN identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN identifier"; + } + } + } + container vnis { + description + "VxLAN VPN identifier"; + list vni { + key "vni-id"; + description + "VxLAN VPN identifier"; + leaf vni-id { + type uint32 { + range "1..16777215" { + description + "VxLAN VPN ID to set"; + } + } + description + "VxLAN VPN identifier"; + } + } + } + container nv { + description + "Configure nV Satellite Settings"; + container satellite { + presence "Indicates a satellite node is configured."; + description + "Configure nV Satellite Settings"; + container offload { + description + "Hardware offloading"; + container ipv4 { + description + "IPv4"; + container multicast { + description + "Multicast"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable IPv4 Multicast Offloading"; + } + } + } + } + } + } + container pbb { + description + "Configure Provider Backbone Bridge"; + container core { + presence "Indicates a core node is configured."; + description + "PBB core bridge domain"; + container evis { + description + "Ethernet VPN identifier"; + list evi { + key "vpn-id"; + description + "Ethernet VPN identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN identifier"; + } + } + } + container rewrite { + description + "Set the tag rewriting policy"; + container ingress { + description + "Set the tag rewriting policy"; + container tag { + description + "Set the tag rewriting policy"; + container push { + description + "Push one or more tags"; + leaf dot1ad { + type uint32 { + range "1..4094" { + description + "VLAN ID to push"; + } + } + description + "Push a Dot1ad tag"; + } + } + } + } + } + container mac { + description + "MAC configuration commands"; + container aging { + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + must "not(../inactivity)"; + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + container inactivity { + must "not(../absolute)"; + presence "Indicates a inactivity node is configured."; + description + "Inactivity aging type"; + } + } + } + container learning { + presence "Indicates a learning node is configured."; + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + } + container mmrp-flood-optimization { + presence "Indicates a mmrp-flood-optimization node is configured."; + description + "Enable flood optimization for MMRP"; + } + } + container edge { + description + "PBB edge bridge domain"; + list i-sid { + key "instance-id core-bridge-name"; + description + "Configure Service Instance Identifier"; + leaf instance-id { + type uint32 { + range "256..16777214" { + description + "Service Instance ID"; + } + } + description + "Configure Service Instance Identifier"; + } + leaf core-bridge-name { + type xr:Cisco-ios-xr-string { + length "1..27" { + description + "Name of the PBB core bridge domain"; + } + } + description + "Specifiy PBB core bridge domain to associate with"; + } + container static-mac-addresses { + description + "Static customer MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static customer MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static customer MAC address"; + } + leaf bmac { + type yang:mac-address; + mandatory true; + description + "Static backbone MAC address to map with"; + } + } + } + leaf unknown-unicast-bmac { + type yang:mac-address; + description + "Unknown Unicast backbone MAC address"; + } + container split-horizon { + description + "Configure split horizon option"; + container group { + description + "Configure split horizon group option"; + container vfi { + description + "Configure split horizon group vfi option"; + container disable { + presence "Indicates a disable node is configured."; + description + "Configure split horizon group vfi disable"; + } + } + } + } + container mac { + description + "MAC configuration commands"; + container aging { + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + must "not(../inactivity)"; + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + container inactivity { + must "not(../absolute)"; + presence "Indicates a inactivity node is configured."; + description + "Inactivity aging type"; + } + } + } + container learning { + presence "Indicates a learning node is configured."; + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + container limit { + description + "MAC-Limit configuration commands"; + leaf maximum { + type uint32 { + range "0..4294967295" { + description + "Number of MAC addresses after which MAC limit action is taken"; + } + } + description + "Number of MAC addresses after which MAC limit action is taken"; + } + container action { + description + "MAC address limit enforcement action"; + container flood { + must + "not(../no-flood or ../shutdown + or ../none)"; + presence "Indicates a flood node is configured."; + description + "Stop learning but continue flooding"; + } + container no-flood { + must + "not(../flood or ../shutdown + or ../none)"; + presence "Indicates a no-flood node is configured."; + description + "Stop learning and stop flooding"; + } + container shutdown { + must + "not(../flood or ../no-flood + or ../none)"; + presence "Indicates a shutdown node is configured."; + description + "Stop forwarding"; + } + container none { + must + "not(../flood or ../no-flood + or ../shutdown)"; + presence "Indicates a none node is configured."; + description + "No action"; + } + } + container notification { + description + "MAC address limit notification action"; + container trap { + must + "not(../both or ../none + or ../syslog)"; + presence "Indicates a trap node is configured."; + description + "Generate SNMP trap"; + } + container both { + must + "not(../trap or ../none + or ../syslog)"; + presence "Indicates a both node is configured."; + description + "Generate syslog message and SNMP trap"; + } + container none { + must + "not(../trap or ../both + or ../syslog)"; + presence "Indicates a none node is configured."; + description + "No notification"; + } + container syslog { + must + "not(../trap or ../both + or ../none)"; + presence "Indicates a syslog node is configured."; + description + "Generate syslog message"; + } + } + } + container secure { + presence "Indicates a secure node is configured."; + description + "MAC Secure configuration commands"; + container logging { + presence "Indicates a logging node is configured."; + description + "Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container action { + description + "MAC secure enforcement action"; + container none { + must "not(../shutdown or ../restrict)"; + presence "Indicates a none node is configured."; + description + "Forward the violating packet and allow the MAC to be relearned"; + } + container shutdown { + must "not(../none or ../restrict)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown the violating bridge port"; + } + container restrict { + must "not(../none or ../shutdown)"; + presence "Indicates a restrict node is configured."; + description + "Drop the violating packet and not allow the MAC to be relearned"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC Secure"; + } + container accept-shutdown { + presence "Indicates a accept-shutdown node is configured."; + description + "Accept shutdown action to be taken due to MAC violation"; + } + } + } + container dhcp { + presence "Indicates a dhcp node is configured."; + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container snoop { + presence "Indicates a snoop node is configured."; + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + description + "Attach a DHCP profile"; + } + } + container none { + presence "Indicates a none node is configured."; + description + "Disable DHCP snooping"; + } + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + } + } + } + } + } + leaf mtu { + type uint32 { + range "46..65535" { + description + "Maximum transmission unit size (payload) in bytes"; + } + } + description + "Maximum transmission unit (payload) for this Bridge Domain"; + } + container coupled-mode { + if-feature "l2vpn_is_cli_supported"; + presence "Indicates a coupled-mode node is configured."; + description + "Enable coupled mode for the Bridge Domain"; + } + container transport-mode { + description + "Bridge domain transport mode"; + container vlan { + description + "Vlan tagged mode"; + container passthrough { + presence "Indicates a passthrough node is configured."; + description + "passthrough incoming tags"; + } + } + } + container flooding { + description + "Traffic flooding"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flooding"; + } + container unknown-unicast { + description + "Traffic flooding unknown unicast"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Unknown Unicast flooding"; + } + } + } + container dynamic-arp-inspection { + presence "Indicates a dynamic-arp-inspection node is configured."; + description + "Dynamic ARP Inspection"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + } + container address-validation { + presence "Indicates a address-validation node is configured."; + description + "Address Validation Configurations"; + container src-mac { + presence "Indicates a src-mac node is configured."; + description + "Match Source MAC Address"; + } + container dst-mac { + presence "Indicates a dst-mac node is configured."; + description + "Match Destination MAC Address"; + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Match IPv4 Address"; + } + } + } + container ip-source-guard { + presence "Indicates a ip-source-guard node is configured."; + description + "IP Source Guard"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + } + } + container dhcp { + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container snoop { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + description + "Attach a DHCP profile"; + } + } + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "disable IGMP snooping for the current bridge domain"; + } + } + } + container mld { + description + "MLD protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "MLD Snooping profile name"; + } + } + description + "Attach a MLD profile"; + } + } + } + container storm-control { + description + "Storm Control"; + container broadcast { + description + "Broadcast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container multicast { + description + "Multicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container unknown-unicast { + description + "Unknown-unicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + } + container interface { + description + "Assign interface to bridge domain"; + list interface { + key "interface-name"; + description + "Specify interface name"; + leaf interface-name { + type xr:Interface-name; + description + "Specify interface name"; + } + container flooding { + presence "Indicates a flooding node is configured."; + description + "Traffic flooding"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flooding"; + } + } + container flooding-unknown-unicast { + presence "Indicates a unknown-unicast node is configured."; + description + "Traffic flooding unknown unicast"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Unknow Unicast flooding"; + } + } + container storm-control { + description + "Storm Control"; + container broadcast { + description + "Broadcast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container multicast { + description + "Multicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + container unknown-unicast { + description + "Unknown-unicast Storm Control"; + leaf pps { + type uint32 { + range "1..160000" { + description + "storm control pps value"; + } + } + description + "Set the storm control pps"; + } + leaf kbps { + type uint32 { + range "64..1280000" { + description + "storm control kbps value"; + } + } + description + "Set the storm control kbps"; + } + } + } + container mac { + description + "MAC configuration commands"; + container aging { + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + must "not(../inactivity)"; + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + container inactivity { + must "not(../absolute)"; + presence "Indicates a inactivity node is configured."; + description + "Inactivity aging type"; + } + } + } + container learning { + presence "Indicates a learning node is configured."; + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + container limit { + description + "MAC-Limit configuration commands"; + leaf maximum { + type uint32 { + range "0..4294967295" { + description + "Number of MAC addresses after which MAC limit action is taken"; + } + } + description + "Number of MAC addresses after which MAC limit action is taken"; + } + container action { + description + "MAC address limit enforcement action"; + container flood { + must + "not(../no-flood or ../shutdown + or ../none)"; + presence "Indicates a flood node is configured."; + description + "Stop learning but continue flooding"; + } + container no-flood { + must + "not(../flood or ../shutdown + or ../none)"; + presence "Indicates a no-flood node is configured."; + description + "Stop learning and stop flooding"; + } + container shutdown { + must + "not(../flood or ../no-flood + or ../none)"; + presence "Indicates a shutdown node is configured."; + description + "Stop forwarding"; + } + container none { + must + "not(../flood or ../no-flood + or ../shutdown)"; + presence "Indicates a none node is configured."; + description + "No action"; + } + } + container notification { + description + "MAC address limit notification action"; + container trap { + must + "not(../both or ../none + or ../syslog)"; + presence "Indicates a trap node is configured."; + description + "Generate SNMP trap"; + } + container both { + must + "not(../trap or ../none + or ../syslog)"; + presence "Indicates a both node is configured."; + description + "Generate syslog message and SNMP trap"; + } + container none { + must + "not(../trap or ../both + or ../syslog)"; + presence "Indicates a none node is configured."; + description + "No notification"; + } + container syslog { + must + "not(../trap or ../both + or ../none)"; + presence "Indicates a syslog node is configured."; + description + "Generate syslog message"; + } + } + } + container port-down { + description + "Configure action when port goes down"; + container flush { + presence "Indicates a flush node is configured."; + description + "Configure MAC flush when port goes down"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC flush when port goes down"; + } + } + } + container secure { + presence "Indicates a secure node is configured."; + description + "MAC Secure configuration commands"; + container logging { + presence "Indicates a logging node is configured."; + description + "Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container action { + description + "MAC secure enforcement action"; + container none { + must "not(../shutdown or ../restrict)"; + presence "Indicates a none node is configured."; + description + "Forward the violating packet and allow the MAC to be relearned"; + } + container shutdown { + must "not(../none or ../restrict)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown the violating bridge port"; + } + container restrict { + must "not(../none or ../shutdown)"; + presence "Indicates a restrict node is configured."; + description + "Drop the violating packet and not allow the MAC to be relearned"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC Secure"; + } + } + } + container dynamic-arp-inspection { + presence "Indicates a dynamic-arp-inspection node is configured."; + description + "Dynamic ARP Inspection"; + container logging { + presence "Indicates a logging node is configured."; + description + "Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container address-validation { + presence "Indicates a address-validation node is configured."; + description + "Address Validation Configurations"; + container src-mac { + presence "Indicates a src-mac node is configured."; + description + "Match Source MAC Address"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable Source MAC Address check"; + } + } + container dst-mac { + presence "Indicates a dst-mac node is configured."; + description + "Match Destination MAC Address"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable Destimation MAC Address check"; + } + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Match IPv4 Address"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable IPV4 Address check"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Dynamic Arp Inspection"; + } + } + container ip-source-guard { + presence "Indicates a ip-source-guard node is configured."; + description + "IP Source Guard"; + container logging { + presence "Indicates a logging node is configured."; + description + "Logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable logging"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Source Guard"; + } + } + container dhcp { + if-feature "l2vpn_is_cli_supported"; + presence "Indicates a dhcp node is configured."; + description + "DHCP protocol"; + container ipv4 { + description + "IP Version 4"; + container snoop { + presence "Indicates a snoop node is configured."; + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "DHCPv4 Snooping profile name"; + } + } + mandatory true; + description + "Attach a DHCP profile"; + } + } + container none { + presence "Indicates a none node is configured."; + description + "Disable DHCP snooping"; + } + } + } + container static-mac-addresses { + description + "Static MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + } + } + container split-horizon { + description + "Configure split horizon group"; + container group { + presence "Indicates a group node is configured."; + description + "Configure split horizon group"; + } + } + container igmp { + description + "IGMP protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IGMP Snooping profile name"; + } + } + description + "Attach an IGMP profile"; + } + } + } + container mld { + description + "MLD protocol"; + container snooping { + description + "Set the snooping profile"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "MLD Snooping profile name"; + } + } + description + "Attach a MLD profile"; + } + } + } + } + } + container routed { + description + "Bridge domain L3 interface"; + list interface { + key "interface-name"; + description + "Assign interface to bridge domain"; + leaf interface-name { + type xr:Interface-name; + description + "Assign interface to bridge domain"; + } + container split-horizon { + description + "Configure split-horizon group"; + container group { + description + "Configure split-horizon group"; + container core { + presence "Indicates a core node is configured."; + description + "Configure BVI under SHG 1"; + } + } + } + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "shutdown the Bridge Domain"; + } + container mac { + description + "MAC configuration commands"; + container aging { + if-feature "l2vpn_is_cli_supported"; + description + "MAC-Aging configuration commands"; + leaf time { + type uint32 { + range "300..30000" { + description + "MAC address aging time in seconds"; + } + } + description + "Mac aging"; + } + container type { + description + "MAC address aging type"; + container absolute { + presence "Indicates a absolute node is configured."; + description + "Absolute aging type"; + } + } + } + container static-addresses { + description + "Static MAC address for filtering"; + list static-address { + must "drop"; + key "mac-address"; + description + "Static MAC address for filtering"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address for filtering"; + } + container drop { + presence "Indicates a drop node is configured."; + description + "Drop matching packets"; + } + } + } + container learning { + description + "MAC learning"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC learning"; + } + } + container withdraw { + description + "MAC withdraw"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC withdraw"; + } + container access-pw { + description + "MAC withdraw sent to Access PWs "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC withdraw on Access PW"; + } + } + container relay { + presence "Indicates a relay node is configured."; + description + "MAC withdraw relayed to Access PWs "; + } + container state-down { + must "not(../optimize)"; + presence "Indicates a state-down node is configured."; + description + "MAC withdraw sent on bridge port down"; + } + container optimize { + must "not(../state-down)"; + presence "Indicates a optimize node is configured."; + description + "Optimized LDP MAC withdraw (when port goes down)"; + } + } + container limit { + description + "MAC-Limit configuration commands"; + leaf maximum { + type uint32 { + range "0..4294967295" { + description + "Number of MAC addresses after which MAC limit action is taken"; + } + } + description + "Number of MAC addresses after which MAC limit action is taken"; + } + container action { + description + "MAC address limit enforcement action"; + container flood { + must "not(../no-flood or ../shutdown)"; + presence "Indicates a flood node is configured."; + description + "Stop learning but continue flooding"; + } + container no-flood { + must "not(../flood or ../shutdown)"; + presence "Indicates a no-flood node is configured."; + description + "Stop learning and stop flooding"; + } + container shutdown { + must "not(../flood or ../no-flood)"; + presence "Indicates a shutdown node is configured."; + description + "Stop forwarding"; + } + } + container notification { + description + "MAC address limit notification action"; + container trap { + must "not(../both or ../none)"; + presence "Indicates a trap node is configured."; + description + "Generate SNMP trap"; + } + container both { + must "not(../trap or ../none)"; + presence "Indicates a both node is configured."; + description + "Generate syslog message and SNMP trap"; + } + container none { + must "not(../trap or ../both)"; + presence "Indicates a none node is configured."; + description + "No notification"; + } + } + } + container port-down { + description + "Configure action when port goes down"; + container flush { + description + "Configure MAC flush when port goes down"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MAC flush when port goes down"; + } + } + } + container secure { + presence "Indicates a secure node is configured."; + description + "MAC Secure configuration commands"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable Logging"; + } + container threshold { + presence "Indicates a threshold node is configured."; + description + "Threshold based mac secure"; + } + container action { + description + "MAC secure enforcement action"; + container none { + must "not(../shutdown)"; + presence "Indicates a none node is configured."; + description + "Forward the violating packet and allow the MAC to be relearned"; + } + container shutdown { + must "not(../none)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown the violating bridge port"; + } + } + } + } + leaf description { + type string { + length "1..64" { + description + "Bridge-Domain description string"; + } + } + description + "Description for Bridge-Domain"; + } + container member { + description + "Bridge domain member"; + container vnis { + description + "Assign VxLAN Network Identifier to bridge domain"; + list vni { + key "vni-id"; + description + "Assign VxLAN Network Identifier to bridge domain"; + leaf vni-id { + type uint32 { + range "1..16777215" { + description + "Specify VxLAN Network Identifier value"; + } + } + description + "Assign VxLAN Network Identifier to bridge domain"; + } + container static-mac-addresses { + description + "Static MAC address"; + list static-mac-address { + key "mac-address"; + description + "Static MAC address"; + leaf mac-address { + type yang:mac-address; + description + "Static MAC address"; + } + leaf next-hop { + type inet:ipv4-address-no-zone; + description + "Specify the next hop IP address"; + } + } + } + } + } + } + } + } + } + } + container pw-classes { + description + "Pseudowire class template"; + list pw-class { + key "pw-class-name"; + description + "Pseudowire class template"; + leaf pw-class-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name (Max character length: 32)"; + } + } + description + "Pseudowire class template"; + } + container encapsulation { + description + "Pseudowire encapsulation"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "Set pseudowire encapsulation to MPLS"; + container protocol { + description + "Set the dynamic pseudowire signaling protocol"; + container ldp { + presence "Indicates a ldp node is configured."; + description + "Set LDP as the signaling protocol for this pseudowire class"; + } + } + container control-word { + presence "Indicates a control-word node is configured."; + description + "Enable Control word"; + } + container transport-mode { + if-feature "l2vpn_is_cli_supported"; + description + "Remote transport mode"; + container ethernet { + must "not(../vlan or ../passthrough)"; + presence "Indicates a ethernet node is configured."; + description + "Ethernet port mode"; + } + container vlan { + must "not(../ethernet or ../passthrough)"; + presence "Indicates a vlan node is configured."; + description + "Vlan tagged mode"; + } + container passthrough { + must "not(../ethernet or ../vlan)"; + presence "Indicates a passthrough node is configured."; + description + "passthrough incoming tags"; + } + } + container vccv { + description + "VCCV settings"; + container verification-type { + description + "Enable or disable VCCV verification type"; + container none { + presence "Indicates a none node is configured."; + description + "No VCCV verification"; + } + } + } + container sequencing { + description + "Sequencing"; + container transmit { + must "not(../receive or ../both)"; + presence "Indicates a transmit node is configured."; + description + "Sequencing on transmit side"; + leaf resync { + type uint32 { + range "5..65535" { + description + "Resync threshold"; + } + } + description + "Set the threshold for out-of-sequence packets before resync"; + } + } + container receive { + must "not(../transmit or ../both)"; + presence "Indicates a receive node is configured."; + description + "Sequencing on receive side"; + leaf resync { + type uint32 { + range "5..65535" { + description + "Resync threshold"; + } + } + description + "Set the threshold for out-of-sequence packets before resync"; + } + } + container both { + must "not(../transmit or ../receive)"; + presence "Indicates a both node is configured."; + description + "Sequencing on both transmit and receive side"; + leaf resync { + type uint32 { + range "5..65535" { + description + "Resync threshold"; + } + } + description + "Set the threshold for out-of-sequence packets before resync"; + } + } + } + container preferred-path { + description + "Preferred path tunnel settings"; + container interface { + description + "Use tunnel interface for preferred path"; + container tunnel-te { + description + "Specify TE tunnel interface name for preferred path"; + leaf tunnel-number { + type uint32 { + range "0..65535" { + description + "Specify tunnel number for preferred path"; + } + } + must + "not(../tunnel-name or ../../tunnel-ip or + ../../tunnel-tp or ../../../sr-te/policy)"; + description + "Specify tunnel number for preferred path"; + } + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..60" { + description + "Specify named tunnel for preferred path"; + } + } + must + "not(../tunnel-number or ../../tunnel-ip or + ../../tunnel-tp or ../../../sr-te/policy)"; + description + "Specify named tunnel for preferred path"; + } + } + leaf tunnel-ip { + type uint32 { + range "0..65535" { + description + "Specify tunnel number for preferred path"; + } + } + must + "not(../tunnel-te/tunnel-number or ../tunnel-te/tunnel-name or + ../tunnel-tp or ../../sr-te/policy)"; + description + "Specify IP tunnel interface name for preferred path"; + } + leaf tunnel-tp { + type uint32 { + range "0..65535" { + description + "Specify tunnel number for preferred path"; + } + } + must + "not(../tunnel-te/tunnel-number or ../tunnel-te/tunnel-name or + ../tunnel-ip or ../../sr-te/policy)"; + description + "Specify TP tunnel interface name for preferred path"; + } + } + container sr-te { + description + "Use segment-routing traffic-engineering for preferred path"; + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..60" { + description + "Name of SR TE policy"; + } + } + must + "not(../../interface/tunnel-te/tunnel-number or + ../../interface/tunnel-te/tunnel-name or + ../../interface/tunnel-ip or + ../../interface/tunnel-tp)"; + description + "Specify SR TE policy for preferred path"; + } + } + container fallback { + description + "Fallback option for preferred path"; + container disable { + must + "../../interface/tunnel-te/tunnel-number or + ../../interface/tunnel-te/tunnel-name or + ../../interface/tunnel-ip or + ../../interface/tunnel-tp or + ../../sr-te/policy"; + presence "Indicates a disable node is configured."; + description + "Disable fallback for preferred path"; + } + } + } + container switching-tlv { + description + "PW switching point TLV"; + container hide { + presence "Indicates a hide node is configured."; + description + "Hide TLV"; + } + } + container tag-rewrite { + description + "tag rewrite mode"; + container ingress { + description + "configuring ingress mode"; + leaf vlan { + type uint32 { + range "1..4094" { + description + "vlan tagged mode"; + } + } + description + "vlan tagged mode"; + } + } + } + container redundancy { + if-feature "l2vpn_is_cli_supported"; + description + "PW redundancy settings"; + container one-way { + presence "Indicates a one-way node is configured."; + description + "Force one-way PW redundancy behavior in Redundancy Group"; + } + leaf initial-delay { + type uint32 { + range "0..120" { + description + "Time in seconds (round to 10). The default is 60"; + } + } + description + "Initial delay before activating the redundant PW"; + } + } + container load-balancing { + description + "PW class Load Balancing"; + container pw-label { + presence "Indicates a pw-label node is configured."; + description + "Enable PW VC label based load balancing"; + } + container flow-label { + description + "Flow label based load balancing setting"; + container transmit { + must "not(../receive or ../both)"; + presence "Indicates a transmit node is configured."; + description + "Insert Flow label on transmit "; + container static { + presence "Indicates a static node is configured."; + description + "Set Flow label parameters statically"; + } + } + container receive { + must "not(../transmit or ../both)"; + presence "Indicates a receive node is configured."; + description + "Discard Flow label on receive"; + container static { + presence "Indicates a static node is configured."; + description + "Set Flow label parameters statically"; + } + } + container both { + must "not(../transmit or ../receive)"; + presence "Indicates a both node is configured."; + description + "Insert/Discard Flow label on transmit/recceive"; + container static { + presence "Indicates a static node is configured."; + description + "Set Flow label parameters statically"; + } + } + container code { + description + "Flow label TLV code"; + container one7 { + presence "Indicates a one7 node is configured."; + description + "Legacy code value"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disables sending code 17 TLV"; + } + } + } + } + } + container ipv4 { + description + "Set the local source IPv4 address"; + leaf source { + type inet:ipv4-address-no-zone; + description + "The local source IPv4 address"; + } + } + } + container l2tpv3 { + presence "Indicates a l2tpv3 node is configured."; + description + "Set pseudowire encapsulation to L2TPV3"; + container protocol { + description + "Set the dynamic pseudowire signaling protocol"; + container l2tpv3 { + presence "Indicates a l2tpv3 node is configured."; + description + "Set L2TPv3 as the signaling protocol for this pseudowire class"; + leaf class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "The L2TPv3 class name"; + } + pattern "[a-zA-Z][-_.a-z0-9A-Z]*"; + } + description + "L2TPv3 class"; + } + } + } + container dfbit { + description + "Settings of the Don't Fragment Bit (DFBIT)"; + container set { + presence "Indicates a set node is configured."; + description + "Set the DFBIT to 1"; + } + } + container tos { + description + "Setting of Type of Service (ToS)"; + leaf value { + type uint32 { + range "0..255" { + description + "The value of the ToS for this L2TPv3 pseudowire class"; + } + } + must "../reflect"; + description + "Set the value of the ToS"; + } + container reflect { + must "../value"; + presence "Indicates a reflect node is configured."; + description + "Reflect the TOS"; + } + } + leaf ttl { + type uint32 { + range "1..255" { + description + "TTL value"; + } + } + description + "Set the Time To Live (TTL)"; + } + container pmtu { + presence "Indicates a pmtu node is configured."; + description + "Path Maximum Transmission Unit (PMTU)"; + leaf max { + type uint32 { + range "68..65535" { + description + "The value of the Maximum allowable session MTU"; + } + } + description + "Set the Maximum allowable session MTU"; + } + } + container ipv4 { + description + "Set the local source IPv4 address"; + leaf source { + type inet:ipv4-address-no-zone; + description + "The local source IPv4 address"; + } + } + container cookie { + description + "L2TPv3 cookie setting"; + container size { + description + "L2TPv3 cookie size"; + container zero { + must "not(../four or ../eight)"; + presence "Indicates a zero node is configured."; + description + "The cookie size is zero bytes"; + } + container four { + must "not(../zero or ../eight)"; + presence "Indicates a four node is configured."; + description + "The cookie size is four bytes"; + } + container eight { + must "not(../zero or ../four)"; + presence "Indicates a eight node is configured."; + description + "The cookie size is eight bytes"; + } + } + } + container sequencing { + description + "Sequencing"; + container both { + presence "Indicates a both node is configured."; + description + "Sequencing on both transmit and receive side"; + leaf resync { + type uint32 { + range "5..65535" { + description + "Resync threshold"; + } + } + description + "Set the threshold for out-of-sequence packets before resync"; + } + } + } + container transport-mode { + description + "Remote transport mode"; + container ethernet { + must "not(../vlan)"; + presence "Indicates a ethernet node is configured."; + description + "Ethernet port mode"; + } + container vlan { + must "not(../ethernet)"; + presence "Indicates a vlan node is configured."; + description + "Vlan tagged mode"; + } + } + } + } + container backup { + description + "Pseudowire backup"; + container disable { + description + "Disable backup when primary comes back up"; + leaf delay { + type uint32 { + range "0..180" { + description + "Delay in seconds"; + } + } + must "not(../never)"; + description + "Disable backup after a specified delay"; + } + container never { + must "not(../delay)"; + presence "Indicates a never node is configured."; + description + "Never disable backup"; + } + } + } + container mac-withdraw { + presence "Indicates a mac-withdraw node is configured."; + description + "Send MAC withdraw message when PW becomes active"; + } + } + } + container ignore-mtu-mismatch-ad { + presence "Indicates a ignore-mtu-mismatch-ad node is configured."; + description + "Ignore MTU mismatch for auto-discovered PWs"; + } + container ignore-mtu-mismatch { + presence "Indicates a ignore-mtu-mismatch node is configured."; + description + "Ignore MTU mismatch for all L2VPN"; + } + leaf description { + type string { + length "1..64" { + description + "l2vpn global description string - maximum 64 characters"; + } + } + description + "Multi segment psedowire global description"; + } + container pw-status { + description + "Configure PW status"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable PW status"; + } + } + leaf router-id { + if-feature "l2vpn_is_cli_supported"; + type inet:ipv4-address-no-zone; + description + "Global L2VPN Router ID"; + } + container load-balancing { + description + "Global L2VPN Load Balancing"; + container flow { + description + "Enable Flow based load balancing"; + container src-dst-mac { + must "not(../src-dst-ip)"; + presence "Indicates a src-dst-mac node is configured."; + description + "Use source and destination MAC addresses for hashing"; + } + container src-dst-ip { + must "not(../src-dst-mac)"; + presence "Indicates a src-dst-ip node is configured."; + description + "Use source and destination IP addresses for hashing"; + } + } + } + container capability { + description + "Global capability mode"; + container single-mode { + must "not(../high-mode)"; + presence "Indicates a single-mode node is configured."; + description + "Disable global capability re-computation"; + } + container high-mode { + must "not(../single-mode)"; + presence "Indicates a high-mode node is configured."; + description + "Compute global capability as the highest node capability"; + } + } + container pw-oam { + description + "PW OAM"; + container refresh { + description + "Refresh interval"; + leaf transmit { + type uint32 { + range "1..4095" { + description + "Seconds"; + } + } + description + "Transmit"; + } + } + } + container tcn-propagation { + presence "Indicates a tcn-propagation node is configured."; + description + "Enable topology change notification propagation"; + } + container pw-grouping { + presence "Indicates a pw-grouping node is configured."; + description + "Enable PW-Grouping"; + } + container neighbors { + description + "neighbor submode"; + container all { + description + "all neighbors"; + container ldp { + description + "LDP protocol"; + container flap { + presence "Indicates a flap node is configured."; + description + "Forcing targetted-sesion flapping"; + } + } + } + } + container mac { + description + "Global MAC commands"; + container limit { + description + "Global MAC limit commands"; + leaf threshold { + type uint32 { + range "1..100" { + description + "Percentage 1 to 100 (default 75%)"; + } + } + description + "Global MAC limit threshold"; + } + } + } + container xconnect { + description + "Configure cross connect commands"; + container groups { + description + "Specify the group the cross connects belong to"; + list group { + key "group-name"; + description + "Specify the group the cross connects belong to"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the cross connects group"; + } + } + description + "Specify the group the cross connects belong to"; + } + container p2ps { + description + "Configure point to point cross connect commands"; + list p2p { + key "p2p-xconnect-name"; + description + "Configure point to point cross connect commands"; + leaf p2p-xconnect-name { + type xr:Cisco-ios-xr-string { + length "1..38" { + description + "Name of the point to point cross connect"; + } + } + description + "Configure point to point cross connect commands"; + } + container interfaces { + description + "Specify the attachment circuit "; + list interface { + key "interface-name"; + description + "Specify (sub-)interface name to cross connect"; + leaf interface-name { + type xr:Interface-name; + description + "Specify (sub-)interface name to cross connect"; + } + } + } + leaf description { + type string { + length "1..64" { + description + "Cross connect description string"; + } + } + description + "Description for cross connect"; + } + container vpws-seamless-integration { + if-feature "l2vpn_platform_vpws_seamless_integration_supported"; + presence "Indicates a vpws-seamless-integration node is configured."; + description + "EVPN-VPWS Seamless Integration with Legacy VPWS"; + } + container interworking { + description + "Set attachment circuit interworking"; + container ipv4 { + must "not(../ethernet)"; + presence "Indicates a ipv4 node is configured."; + description + "IPv4 interworking"; + } + container ethernet { + must "not(../ipv4)"; + presence "Indicates a ethernet node is configured."; + description + "Ethernet interworking"; + } + } + container backup { + if-feature "l2vpn_p2p_backup_supported"; + description + "Specify backup to be shared by p2p xconnect segments"; + list interface { + key "interface-name"; + description + "Specify the attachment circuit"; + leaf interface-name { + type xr:Interface-name; + description + "Specify the attachment circuit"; + } + } + } + container neighbor { + description + "Specify the peer to cross connect"; + container ipv4s { + description + "IPv4"; + list ipv4 { + key "address pw-id"; + description + "IPv4"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container backup { + description + "Backup pseudowire for the cross connect"; + container neighbors { + description + "Specify the peer to cross connect"; + list neighbor { + key "address pw-id"; + description + "Specify the peer to cross connect"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify the peer to cross connect"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container mpls { + description + "MPLS L2VPN PW command"; + container static { + description + "MPLS L2VPN static settings"; + container label { + description + "MPLS L2VPN static labels"; + leaf local { + type uint32 { + range "16..1048575" { + description + "Local pseudowire label"; + } + } + must "../remote"; + description + "Local pseudowire label"; + } + leaf remote { + type uint32 { + range "16..1048575" { + description + "Remote pseudowire label"; + } + } + must "../local"; + description + "Remote pseudowire label"; + } + } + } + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for the backup PW"; + } + } + } + } + container mpls { + description + "MPLS L2VPN PW command"; + container static { + description + "MPLS L2VPN static settings"; + container label { + description + "MPLS L2VPN static labels"; + leaf local { + type uint32 { + range "16..1048575" { + description + "Local pseudowire label"; + } + } + must "../remote"; + description + "Local pseudowire label"; + } + leaf remote { + type uint32 { + range "16..1048575" { + description + "Remote pseudowire label"; + } + } + must "../local"; + description + "Remote pseudowire label"; + } + } + } + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for this XC"; + } + container tag-impose { + description + "tag impose mode"; + leaf vlan { + type uint32 { + range "1..4094" { + description + "vlan tagged mode"; + } + } + description + "vlan tagged mode"; + } + } + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "PW Bandwidth"; + } + } + description + "bandwidth"; + } + container source { + description + "Source address of PW"; + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Source IPv6 address of PW"; + } + } + container l2tp { + description + "L2TP PW"; + container static { + presence "Indicates a static node is configured."; + description + "L2TP PW static"; + container local { + description + "L2TP PW static local"; + leaf session { + type uint32 { + range "1..1023" { + description + "L2TP PW static local session ID"; + } + } + description + "L2TP PW static local session ID"; + } + container cookie { + description + "L2TP PW static local cookie settings"; + container size { + description + "L2TP PW static local cookie size settings"; + container zero { + presence "Indicates a zero node is configured."; + description + "The cookie size is zero bytes"; + } + container four { + presence "Indicates a four node is configured."; + description + "The cookie size is four bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + mandatory true; + description + "The value of the cookie"; + } + } + container eight { + presence "Indicates a eight node is configured."; + description + "The cookie size is eight bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + must "../higher-4-bytes-value"; + mandatory true; + description + "The value of the cookie"; + } + leaf higher-4-bytes-value { + type uint32 { + range "0..4294967295" { + description + "Higher 4 bytes value"; + } + } + must "../value"; + mandatory true; + description + "Higher 4 bytes value"; + } + } + } + container secondary { + description + "L2TP PW static secondary local cookie settings"; + container size { + description + "L2TP PW static local cookie size settings"; + container zero { + presence "Indicates a zero node is configured."; + description + "The cookie size is zero bytes"; + } + container four { + presence "Indicates a four node is configured."; + description + "The cookie size is four bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + mandatory true; + description + "The value of the cookie"; + } + } + container eight { + presence "Indicates a eight node is configured."; + description + "The cookie size is eight bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + must "../higher-4-bytes-value"; + mandatory true; + description + "The value of the cookie"; + } + leaf higher-4-bytes-value { + type uint32 { + range "0..4294967295" { + description + "Higher 4 bytes value"; + } + } + must "../value"; + mandatory true; + description + "Higher 4 bytes value"; + } + } + } + } + } + } + container remote { + description + "L2TP PW static remote"; + leaf session { + type uint32 { + range "1..1023" { + description + "L2TP PW static remote session ID"; + } + } + description + "L2TP PW static remote session ID"; + } + container cookie { + description + "L2TP PW static remote cookie settings"; + container size { + description + "L2TP PW static remote cookie size settings"; + container zero { + presence "Indicates a zero node is configured."; + description + "The cookie size is zero bytes"; + } + container four { + presence "Indicates a four node is configured."; + description + "The cookie size is four bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + mandatory true; + description + "The value of the cookie"; + } + } + container eight { + presence "Indicates a eight node is configured."; + description + "The cookie size is eight bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + must "../higher-4-bytes-value"; + mandatory true; + description + "The value of the cookie"; + } + leaf higher-4-bytes-value { + type uint32 { + range "0..4294967295" { + description + "Higher 4 bytes value"; + } + } + must "../value"; + mandatory true; + description + "Higher 4 bytes value"; + } + } + } + } + } + } + } + } + } + container ipv6s { + description + "IPv4"; + list ipv6 { + key "address pw-id"; + description + "IPv6"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container backup { + description + "Backup pseudowire for the cross connect"; + container neighbors { + description + "Specify the peer to cross connect"; + list neighbor { + key "address pw-id"; + description + "Specify the peer to cross connect"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify the peer to cross connect"; + } + leaf pw-id { + type uint32 { + range "1..4294967295" { + description + "Pseudowire ID"; + } + } + description + "Specify the pseudowire id"; + } + container mpls { + description + "MPLS L2VPN PW command"; + container static { + description + "MPLS L2VPN static settings"; + container label { + description + "MPLS L2VPN static labels"; + leaf local { + type uint32 { + range "16..1048575" { + description + "Local pseudowire label"; + } + } + must "../remote"; + description + "Local pseudowire label"; + } + leaf remote { + type uint32 { + range "16..1048575" { + description + "Remote pseudowire label"; + } + } + must "../local"; + description + "Remote pseudowire label"; + } + } + } + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for the backup PW"; + } + } + } + } + container mpls { + description + "MPLS L2VPN PW command"; + container static { + description + "MPLS L2VPN static settings"; + container label { + description + "MPLS L2VPN static labels"; + leaf local { + type uint32 { + range "16..1048575" { + description + "Local pseudowire label"; + } + } + must "../remote"; + description + "Local pseudowire label"; + } + leaf remote { + type uint32 { + range "16..1048575" { + description + "Remote pseudowire label"; + } + } + must "../local"; + description + "Remote pseudowire label"; + } + } + } + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for this XC"; + } + container tag-impose { + description + "tag impose mode"; + leaf vlan { + type uint32 { + range "1..4094" { + description + "vlan tagged mode"; + } + } + description + "vlan tagged mode"; + } + } + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "PW Bandwidth"; + } + } + description + "bandwidth"; + } + container source { + description + "Source address of PW"; + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "Source IPv6 address of PW"; + } + } + container l2tp { + description + "L2TP PW"; + container static { + presence "Indicates a static node is configured."; + description + "L2TP PW static"; + container local { + description + "L2TP PW static local"; + leaf session { + type uint32 { + range "1..1023" { + description + "L2TP PW static local session ID"; + } + } + description + "L2TP PW static local session ID"; + } + container cookie { + description + "L2TP PW static local cookie settings"; + container size { + description + "L2TP PW static local cookie size settings"; + container zero { + presence "Indicates a zero node is configured."; + description + "The cookie size is zero bytes"; + } + container four { + presence "Indicates a four node is configured."; + description + "The cookie size is four bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + mandatory true; + description + "The value of the cookie"; + } + } + container eight { + presence "Indicates a eight node is configured."; + description + "The cookie size is eight bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + must "../higher-4-bytes-value"; + mandatory true; + description + "The value of the cookie"; + } + leaf higher-4-bytes-value { + type uint32 { + range "0..4294967295" { + description + "Higher 4 bytes value"; + } + } + must "../value"; + mandatory true; + description + "Higher 4 bytes value"; + } + } + } + container secondary { + description + "L2TP PW static secondary local cookie settings"; + container size { + description + "L2TP PW static local cookie size settings"; + container zero { + presence "Indicates a zero node is configured."; + description + "The cookie size is zero bytes"; + } + container four { + presence "Indicates a four node is configured."; + description + "The cookie size is four bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + mandatory true; + description + "The value of the cookie"; + } + } + container eight { + presence "Indicates a eight node is configured."; + description + "The cookie size is eight bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + must "../higher-4-bytes-value"; + mandatory true; + description + "The value of the cookie"; + } + leaf higher-4-bytes-value { + type uint32 { + range "0..4294967295" { + description + "Higher 4 bytes value"; + } + } + must "../value"; + mandatory true; + description + "Higher 4 bytes value"; + } + } + } + } + } + } + container remote { + description + "L2TP PW static remote"; + leaf session { + type uint32 { + range "1..1023" { + description + "L2TP PW static remote session ID"; + } + } + description + "L2TP PW static remote session ID"; + } + container cookie { + description + "L2TP PW static remote cookie settings"; + container size { + description + "L2TP PW static remote cookie size settings"; + container zero { + presence "Indicates a zero node is configured."; + description + "The cookie size is zero bytes"; + } + container four { + presence "Indicates a four node is configured."; + description + "The cookie size is four bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + mandatory true; + description + "The value of the cookie"; + } + } + container eight { + presence "Indicates a eight node is configured."; + description + "The cookie size is eight bytes"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Lower 4 bytes value"; + } + } + must "../higher-4-bytes-value"; + mandatory true; + description + "The value of the cookie"; + } + leaf higher-4-bytes-value { + type uint32 { + range "0..4294967295" { + description + "Higher 4 bytes value"; + } + } + must "../value"; + mandatory true; + description + "Higher 4 bytes value"; + } + } + } + } + } + } + } + } + } + container routeds { + description + "Specify a routed PW"; + list routed { + key "global-id target-l2-prefix target-ac-id source"; + description + "Specify a routed PW"; + leaf global-id { + type uint32 { + range "1..4294967295" { + description + "Four Byte Global Id"; + } + } + description + "Specify a routed PW"; + } + leaf target-l2-prefix { + type inet:ipv4-address-no-zone; + description + "Target L2 prefix"; + } + leaf target-ac-id { + type uint32 { + range "1..4294967295" { + description + "Target AC id"; + } + } + description + "Target AC id"; + } + leaf source { + type uint32 { + range "1..4294967295" { + description + "Local AC id (hex or decimal format)"; + } + } + description + "Source addresss of the routed PW"; + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use for this XC"; + } + container tag-impose { + description + "tag impose mode"; + leaf vlan { + type uint32 { + range "1..4094" { + description + "vlan tagged mode"; + } + } + description + "vlan tagged mode"; + } + } + } + } + container evpn { + description + "Specify the Ethernet VPN"; + container evi { + description + "Ethernet VPN Identifier"; + container targets { + description + "Specify remote attachment circuit identifier"; + list target { + key "vpn-id remote-ac-id source"; + description + "Specify remote attachment circuit identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN Identifier"; + } + leaf remote-ac-id { + type uint32 { + range "1..4294967294" { + description + "Remote ac-id"; + } + } + description + "Specify remote attachment circuit identifier"; + } + leaf source { + type uint32 { + range "1..4294967294" { + description + "Source ac-id"; + } + } + description + "Specify source attachment circuit identifier"; + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use"; + } + } + } + container services { + description + "Specify service ID (used as local and remote ac-id)"; + list service { + key "vpn-id service-id"; + description + "Specify service ID (used as local and remote ac-id)"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN Identifier"; + } + leaf service-id { + type uint32 { + range "1..4294967294" { + description + "Service ID"; + } + } + description + "Specify service ID (used as local and remote ac-id)"; + } + leaf pw-class { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Pseudowire-class name"; + } + } + description + "PW class template name to use"; + } + } + } + container segment-routing-targets { + description + "Specify remote attachment circuit identifier"; + list target { + must "segment-routing/srv6"; + key "vpn-id remote-ac-id source"; + description + "Specify remote attachment circuit identifier"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN Identifier"; + } + leaf remote-ac-id { + type uint32 { + range "1..4294967294" { + description + "Remote ac-id"; + } + } + description + "Specify remote attachment circuit identifier"; + } + leaf source { + type uint32 { + range "1..4294967294" { + description + "Source ac-id"; + } + } + description + "Specify source attachment circuit identifier"; + } + container segment-routing { + description + "Configure Segment Routing VPWS Instance"; + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Configure SRv6 VPWS Instance"; + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "PW locator to use for EVPN SID allocation"; + } + } + } + } + } + container segment-routing-services { + description + "Specify service ID (used as local and remote ac-id)"; + list service { + must "segment-routing/srv6"; + key "vpn-id service-id"; + description + "Specify service ID (used as local and remote ac-id)"; + leaf vpn-id { + type uint32 { + range "1..65534" { + description + "Ethernet VPN ID to set"; + } + } + description + "Ethernet VPN Identifier"; + } + leaf service-id { + type uint32 { + range "1..4294967294" { + description + "Service ID"; + } + } + description + "Specify service ID (used as local and remote ac-id)"; + } + container segment-routing { + description + "Configure Segment Routing VPWS Instance"; + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Configure SRv6 VPWS Instance"; + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "PW locator to use for EVPN SID allocation"; + } + } + } + } + } + } + } + } + container monitor-sessions { + description + "Specify the monitor session"; + list monitor-session { + key "monitor-session-name"; + description + "Specify the monitor session"; + leaf monitor-session-name { + type string { + length "1..64" { + description + "Name of the monitor session"; + } + } + description + "Specify the monitor session"; + } + } + } + } + } + container mp2mps { + description + "Specify the MP2MP instance name"; + list mp2mp { + key "instance-name"; + description + "Specify the MP2MP instance name"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..26" { + description + "Name of the MP2MP instance"; + } + } + description + "Specify the MP2MP instance name"; + } + leaf vpn-id { + type uint32 { + range "1..4294967295" { + description + "Value of the VPN ID"; + } + } + description + "VPN Identifier (VPN ID)"; + } + leaf mtu { + type uint32 { + range "64..65535" { + description + "Value of the MTU"; + } + } + description + "Set maximum transmission unit (payload) for this VPN MP2MP Instance"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "shutdown the L2VPN MP2MP Instance"; + } + leaf l2-encapsulation { + type enumeration { + enum "vlan" { + value 4; + description + "Ethernet VLAN encapsulation"; + } + enum "ethernet" { + value 5; + description + "Ethernet encapsulation"; + } + } + description + "Configure the L2 encapsulation for this L2VPN MP2MP Instance"; + } + leaf interworking { + type enumeration { + enum "ethernet" { + value 1; + description + "Ethernet interworking"; + } + } + description + "Configure the interworking option for this L2VPN MP2MP Instance"; + } + container control-word { + description + "Set control-word option for this VPN MP2MP Instance"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable control-word"; + } + } + container autodiscovery { + description + "Enable auto-discovery in this MP2MP"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Enable BGP auto-discovery in this MP2MP"; + container rd { + description + "route distinguisher"; + container auto { + must "not(../two-byte-as-number or ../four-byte-as-number or ../ipv4-address)"; + presence "Indicates a auto node is configured."; + description + "Automatic route distinguisher"; + } + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + container route-target { + description + "Route Target"; + container import { + description + "Import Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + } + container export { + description + "Export Route Target"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + } + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "two-byte-as-number assigned-number"; + description + "Two Byte AS Number Route Target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "four-byte-as-number assigned-number"; + description + "Four Byte AS number Route Target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container ipv4-address-rts { + description + "IP address Route Target"; + list ipv4-address-rt { + key "ipv4-address assigned-number"; + description + "IP address"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + description + "IP-address:nn (hex or decimal format)"; + } + } + } + } + container signaling-protocol { + description + "Enable signaling protocol in this MP2MP"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "Enable BGP signaling protocol this MP2MP"; + list ce-id { + key "local-ce-id-value"; + description + "Local Customer Edge Identifier (CE ID)"; + leaf local-ce-id-value { + type uint32 { + range "1..16384" { + description + "Value of the local CE ID"; + } + } + description + "Local Customer Edge Identifier (CE ID)"; + } + list interface { + must "remote-ce-id"; + key "interface-name"; + description + "Specify the attachment circuit"; + leaf interface-name { + type xr:Interface-name; + description + "Specify the attachment circuit"; + } + list remote-ce-id { + key "remote-ce-id-value"; + description + "Remote Customer Edge Identifier"; + leaf remote-ce-id-value { + type uint32 { + range "1..16384" { + description + "Value of the remote CE ID"; + } + } + description + "Remote Customer Edge Identifier"; + } + } + } + container vpws-seamless-integration { + presence "Indicates a vpws-seamless-integration node is configured."; + description + "EVPN-VPWS Seamless Integration with BGP-AD VPWS"; + } + } + leaf ce-range { + if-feature "l2vpn_is_cli_supported"; + type uint32 { + range "11..100" { + description + "Value of the CE Range"; + } + } + description + "Local Customer Edge Block Configurable Range"; + } + container load-balancing { + description + "Load Balancing"; + container flow-label { + description + "Flow label based load balancing setting"; + container transmit { + must "not(../receive or ../both)"; + presence "Indicates a transmit node is configured."; + description + "Insert Flow label when transmit "; + } + container receive { + must "not(../transmit or ../both)"; + presence "Indicates a receive node is configured."; + description + "Discard Flow label when receive"; + } + container both { + must "not(../transmit or ../receive)"; + presence "Indicates a both node is configured."; + description + "Insert/Discard Flow label when transmit/recceive"; + } + } + } + } + } + container route-policy { + description + "Apply route policy"; + leaf export { + type xr:Route-policy-name; + description + "Export route policy"; + } + } + } + } + } + } + } + } + } + container logging { + description + "Configure l2vpn logging commands"; + container pseudowire { + presence "Indicates a pseudowire node is configured."; + description + "Enable pseudowire logging"; + } + container bridge-domain { + presence "Indicates a bridge-domain node is configured."; + description + "Enable bridge-domain logging"; + } + container vfi { + presence "Indicates a vfi node is configured."; + description + "Enable VFI logging"; + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "Enable Non-Stop Routing logging"; + } + container pwhe-replication { + description + "PWHE replication failure/success logging"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable PWHE replication failure/success logging"; + } + } + } + container autodiscovery { + description + "Configure global auto-discovery attributes"; + container bgp { + description + "auto discovery type bgp"; + container signaling-protocol { + description + "Configure global signaling protocol attributes"; + container bgp { + description + "signaling protocol type bgp"; + container mtu { + description + "mtu"; + container mismatch { + description + "mtu mismatch"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore MTU mismatch for auto-discovered PWs"; + } + } + } + } + } + } + } + container pw-routing { + description + "Configure Pseudowire routing attributes"; + leaf global-id { + type uint32 { + range "1..4294967295" { + description + "Global ID"; + } + } + description + "Configure l2vpn pseudowire routing global id"; + } + container bgp { + presence "Indicates a bgp node is configured."; + description + "Configure BGP"; + container rd { + description + "Set the Route Distinguisher"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS Number"; + } + } + must "not(../four-byte-as-number or ../ipv4-address) and ../two-byte-as-assigned-number"; + description + "Two Byte AS Number"; + } + leaf two-byte-as-assigned-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + must "not(../two-byte-as-number or ../ipv4-address) and ../four-byte-as-assigned-number"; + description + "Four Byte AS number"; + } + leaf four-byte-as-assigned-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + must "../four-byte-as-number"; + description + "AS:nn (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../two-byte-as-number or ../four-byte-as-number) and ../ipv4-address-assigned-number"; + description + "IP address"; + } + leaf ipv4-address-assigned-number { + type uint32 { + range "0..65535" { + description + "IP-address:nn (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IP-address:nn (hex or decimal format)"; + } + } + } + } + container snmp { + description + "Set SNMP related configuration"; + container mib { + description + "Set MIB related configuration"; + container interface { + description + "Set MIB interface related configuration"; + container format { + description + "Set MIB interface name output format"; + container external { + presence "Indicates a external node is configured."; + description + "Set MIB interface name output format to external using slash"; + } + } + } + container pseudowire { + description + "Set MIB pseudowire related configuration"; + container statistics { + presence "Indicates a statistics node is configured."; + description + "Enable MIB pseudowire statistics (for low scale, <16K PWs)"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lacp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lacp-cfg.yang new file mode 100644 index 000000000..b695edde8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lacp-cfg.yang @@ -0,0 +1,67 @@ +module Cisco-IOS-XR-um-lacp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lacp-cfg"; + prefix um-lacp-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-yang-types { + prefix yang; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR if-bundle package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-29 { + description + "Initial version"; + } + + container lacp { + description + "Link Aggregation Control Protocol commands"; + container system { + description + "Set the default system parameters for LACP bundles"; + leaf priority { + type uint32 { + range "1..65535" { + description + "Priority for this system. Lower value is higher priority."; + } + } + description + "The system priority to use in LACP negotiations."; + } + leaf mac { + type yang:mac-address; + description + "The system ID to use in LACP negotiations."; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-license-smart-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-license-smart-cfg.yang new file mode 100644 index 000000000..71a0cd158 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-license-smart-cfg.yang @@ -0,0 +1,132 @@ +module Cisco-IOS-XR-um-license-smart-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-license-smart-cfg"; + prefix um-license-smart-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR license-smart package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature is_software_upgrade_config_visible { + description + "is software upgrade config visible"; + } + + feature is_reservation_config_visible { + description + "is reservation config visible"; + } + + feature is_config_visible { + description + "is config visible"; + } + + container license { + description + "license"; + container smart { + description + "Smart Licensing"; + container transport { + description + "Select the type of message transport for Smart Licensing"; + container smart { + presence "Indicates a smart node is configured."; + description + "Use the http as transport"; + } + } + leaf url { + type string { + length "1..200" { + description + "Set the Smart Transport URL"; + } + } + description + "Set the Smart Transport Primary URL"; + } + container proxy { + description + "Proxy related commands"; + leaf hostname { + type xr:Cisco-ios-xr-string { + length "1..200" { + description + "address/hostname"; + } + } + description + "The IP address or hostname of the Proxy"; + } + leaf port { + type uint32 { + range "0..65535" { + description + "proxy port"; + } + } + description + "The proxy port"; + } + } + } + } + container license-smart-flexible-consumption { + if-feature "is_config_visible"; + description + "flexible-consumption(Vortex) model"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable flexible-consumption model"; + } + } + container license-smart-software-upgrade { + if-feature "is_software_upgrade_config_visible"; + description + "Enable or disable the software-upgrade feature"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable or disable the software-upgrade feature"; + } + } + container license-smart-reservation { + if-feature "is_reservation_config_visible"; + presence "Indicates a reservation node is configured."; + description + "Enable or disable the license reservation feature"; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-cfg.yang new file mode 100644 index 000000000..04fe6e111 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-cfg.yang @@ -0,0 +1,673 @@ +module Cisco-IOS-XR-um-line-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-cfg"; + prefix um-line-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR line package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container line { + description + "Line subcommands"; + container console { + description + "console template"; + container access-class { + description + "Filter connections based on an IP access list"; + leaf ingress { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access list name"; + } + } + description + "Filter incoming connections"; + } + leaf egress { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access list name"; + } + } + description + "Filter outgoing connections"; + } + } + leaf disconnect-character { + type xr:Char-num; + description + "Define the disconnect character"; + } + leaf escape-character { + type xr:Tty-escape-char-num; + default "30"; + description + "Change the current line template's escape character"; + } + container session-timeout { + presence "Indicates a session-timeout node is configured."; + description + "Set interval for closing connection when there is no input traffic"; + leaf timeout-interval { + type uint32 { + range "0..35791" { + description + "Session timeout interval in minutes"; + } + } + mandatory true; + description + "Set interval for closing connection when there is no input traffic"; + } + container output { + presence "Indicates a output node is configured."; + description + "Include output traffic as well as input traffic"; + } + } + container transport { + description + "Define transport protocols for line"; + container input { + description + "Define which protocols to use when connecting to the terminal server"; + container none { + must "not(../ssh) and not(../telnet) and not(../all)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container ssh { + must "not(../none) and not(../telnet) and not(../all)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + container telnet { + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + } + container telnet { + must "not(../none) and not(../ssh) and not(../all)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + container all { + must "not(../ssh) and not(../telnet) and not(../none)"; + presence "Indicates a all node is configured."; + description + "All protocols"; + } + } + container output { + description + "Define which protocols to use for outgoing connections"; + container all { + must "not(../ssh) and not(../telnet) and not(../none)"; + presence "Indicates a all node is configured."; + description + "All protocols"; + } + container none { + must "not(../ssh) and not(../telnet) and not(../all)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container ssh { + must "not(../none) and not(../telnet) and not(../all)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + container telnet { + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + } + container telnet { + must "not(../none) and not(../ssh) and not(../all)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + } + container preferred { + description + "Specify the preferred protocol to use"; + container none { + must "not(../ssh) and not(../telnet)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container telnet { + must "not(../ssh) and not(../none)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + container ssh { + must "not(../telnet) and not(../none)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + } + leaf session-limit { + type uint32 { + range "0..20" { + description + "Number of outgoing connections"; + } + } + description + "Set the number of outgoing connections"; + } + container cli { + description + "Set the behaviour of cli."; + container whitespace { + description + "Whitespace behaviour"; + container completion { + presence "Indicates a completion node is configured."; + description + "Command completion on whitespace"; + } + } + } + container interactive { + description + "Interactive behaviour"; + container syntax { + description + "Syntax of user input"; + container check { + presence "Indicates a check node is configured."; + description + "Enable the check"; + } + } + } + } + container default { + description + "default template"; + container access-class { + description + "Filter connections based on an IP access list"; + leaf ingress { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access list name"; + } + } + description + "Filter incoming connections"; + } + leaf egress { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access list name"; + } + } + description + "Filter outgoing connections"; + } + } + leaf disconnect-character { + type xr:Char-num; + description + "Define the disconnect character"; + } + leaf escape-character { + type xr:Tty-escape-char-num; + default "30"; + description + "Change the current line template's escape character"; + } + container session-timeout { + presence "Indicates a session-timeout node is configured."; + description + "Set interval for closing connection when there is no input traffic"; + leaf timeout-interval { + type uint32 { + range "0..35791" { + description + "Session timeout interval in minutes"; + } + } + mandatory true; + description + "Set interval for closing connection when there is no input traffic"; + } + container output { + presence "Indicates a output node is configured."; + description + "Include output traffic as well as input traffic"; + } + } + container transport { + description + "Define transport protocols for line"; + container input { + description + "Define which protocols to use when connecting to the terminal server"; + container none { + must "not(../ssh) and not(../telnet) and not(../all)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container ssh { + must "not(../none) and not(../telnet) and not(../all)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + container telnet { + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + } + container telnet { + must "not(../none) and not(../ssh) and not(../all)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + container all { + must "not(../ssh) and not(../telnet) and not(../none)"; + presence "Indicates a all node is configured."; + description + "All protocols"; + } + } + container output { + description + "Define which protocols to use for outgoing connections"; + container all { + must "not(../ssh) and not(../telnet) and not(../none)"; + presence "Indicates a all node is configured."; + description + "All protocols"; + } + container none { + must "not(../ssh) and not(../telnet) and not(../all)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container ssh { + must "not(../none) and not(../telnet) and not(../all)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + container telnet { + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + } + container telnet { + must "not(../none) and not(../ssh) and not(../all)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + } + container preferred { + description + "Specify the preferred protocol to use"; + container none { + must "not(../ssh) and not(../telnet)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container telnet { + must "not(../ssh) and not(../none)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + container ssh { + must "not(../telnet) and not(../none)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + } + leaf session-limit { + type uint32 { + range "0..20" { + description + "Number of outgoing connections"; + } + } + description + "Set the number of outgoing connections"; + } + container cli { + description + "Set the behaviour of cli."; + container whitespace { + description + "Whitespace behaviour"; + container completion { + presence "Indicates a completion node is configured."; + description + "Command completion on whitespace"; + } + } + } + container interactive { + description + "Interactive behaviour"; + container syntax { + description + "Syntax of user input"; + container check { + presence "Indicates a check node is configured."; + description + "Enable the check"; + } + } + } + leaf autocommand { + type string { + length "1..800" { + description + "Appropriate EXEC command"; + } + } + description + "Automatically execute an EXEC command"; + } + } + container templates { + description + "user defined template"; + list template { + key "template-name"; + description + "user defined template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template to configure"; + } + } + description + "user defined template"; + } + container access-class { + description + "Filter connections based on an IP access list"; + leaf ingress { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access list name"; + } + } + description + "Filter incoming connections"; + } + leaf egress { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access list name"; + } + } + description + "Filter outgoing connections"; + } + } + leaf disconnect-character { + type xr:Char-num; + description + "Define the disconnect character"; + } + leaf escape-character { + type xr:Tty-escape-char-num; + default "30"; + description + "Change the current line template's escape character"; + } + container session-timeout { + presence "Indicates a session-timeout node is configured."; + description + "Set interval for closing connection when there is no input traffic"; + leaf timeout-interval { + type uint32 { + range "0..35791" { + description + "Session timeout interval in minutes"; + } + } + mandatory true; + description + "Set interval for closing connection when there is no input traffic"; + } + container output { + presence "Indicates a output node is configured."; + description + "Include output traffic as well as input traffic"; + } + } + container transport { + description + "Define transport protocols for line"; + container input { + description + "Define which protocols to use when connecting to the terminal server"; + container none { + must "not(../ssh) and not(../telnet) and not(../all)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container ssh { + must "not(../none) and not(../telnet) and not(../all)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + container telnet { + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + } + container telnet { + must "not(../none) and not(../ssh) and not(../all)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + container all { + must "not(../ssh) and not(../telnet) and not(../none)"; + presence "Indicates a all node is configured."; + description + "All protocols"; + } + } + container output { + description + "Define which protocols to use for outgoing connections"; + container all { + must "not(../ssh) and not(../telnet) and not(../none)"; + presence "Indicates a all node is configured."; + description + "All protocols"; + } + container none { + must "not(../ssh) and not(../telnet) and not(../all)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container ssh { + must "not(../none) and not(../telnet) and not(../all)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + container telnet { + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + } + container telnet { + must "not(../none) and not(../ssh) and not(../all)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + } + container preferred { + description + "Specify the preferred protocol to use"; + container none { + must "not(../ssh) and not(../telnet)"; + presence "Indicates a none node is configured."; + description + "No protocols"; + } + container telnet { + must "not(../ssh) and not(../none)"; + presence "Indicates a telnet node is configured."; + description + "TCP/IP Telnet protocol"; + } + container ssh { + must "not(../telnet) and not(../none)"; + presence "Indicates a ssh node is configured."; + description + "Unix ssh protocol"; + } + } + } + leaf session-limit { + type uint32 { + range "0..20" { + description + "Number of outgoing connections"; + } + } + description + "Set the number of outgoing connections"; + } + container cli { + description + "Set the behaviour of cli."; + container whitespace { + description + "Whitespace behaviour"; + container completion { + presence "Indicates a completion node is configured."; + description + "Command completion on whitespace"; + } + } + } + container interactive { + description + "Interactive behaviour"; + container syntax { + description + "Syntax of user input"; + container check { + presence "Indicates a check node is configured."; + description + "Enable the check"; + } + } + } + leaf autocommand { + type string { + length "1..800" { + description + "Appropriate EXEC command"; + } + } + description + "Automatically execute an EXEC command"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-exec-timeout-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-exec-timeout-cfg.yang new file mode 100644 index 000000000..41a2c9737 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-exec-timeout-cfg.yang @@ -0,0 +1,127 @@ +module Cisco-IOS-XR-um-line-exec-timeout-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-exec-timeout-cfg"; + prefix um-line-exec-timeout-cfg; + + import Cisco-IOS-XR-um-line-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR line-exec-timeout package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-18 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:line/a1:console" { + container exec-timeout { + presence "Indicates a exec-timeout node is configured."; + description + "Set EXEC timeout"; + leaf timeout-in-minutes { + type uint32 { + range "0..35791" { + description + "Timeout in minutes"; + } + } + mandatory true; + description + "Set EXEC timeout"; + } + leaf timeout-in-seconds { + type uint32 { + range "0..2147483" { + description + "Timeout in seconds"; + } + } + mandatory true; + description + "Timeout in seconds"; + } + } + } + augment "/a1:line/a1:default" { + container exec-timeout { + presence "Indicates a exec-timeout node is configured."; + description + "Set EXEC timeout"; + leaf timeout-in-minutes { + type uint32 { + range "0..35791" { + description + "Timeout in minutes"; + } + } + mandatory true; + description + "Set EXEC timeout"; + } + leaf timeout-in-seconds { + type uint32 { + range "0..2147483" { + description + "Timeout in seconds"; + } + } + mandatory true; + description + "Timeout in seconds"; + } + } + } + augment "/a1:line/a1:templates/a1:template" { + container exec-timeout { + presence "Indicates a exec-timeout node is configured."; + description + "Set EXEC timeout"; + leaf timeout-in-minutes { + type uint32 { + range "0..35791" { + description + "Timeout in minutes"; + } + } + mandatory true; + description + "Set EXEC timeout"; + } + leaf timeout-in-seconds { + type uint32 { + range "0..2147483" { + description + "Timeout in seconds"; + } + } + mandatory true; + description + "Timeout in seconds"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-general-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-general-cfg.yang new file mode 100644 index 000000000..346ba0d66 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-general-cfg.yang @@ -0,0 +1,136 @@ +module Cisco-IOS-XR-um-line-general-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-general-cfg"; + prefix um-line-general-cfg; + + import Cisco-IOS-XR-um-line-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR line-general package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:line/a1:console" { + leaf absolute-timeout { + type uint32 { + range "0..10000" { + description + "Absolute timeout interval in minutes."; + } + } + description + "Set absolute timeout for line disconnection."; + } + leaf width { + type uint32 { + range "0..512" { + description + "Number of characters on a screen line."; + } + } + description + "Set width of the display terminal."; + } + leaf length { + type uint32 { + range "0..512" { + description + "Number of lines on screen (0 for no pausing)."; + } + } + description + "Set number of lines on a screen."; + } + } + augment "/a1:line/a1:default" { + leaf absolute-timeout { + type uint32 { + range "0..10000" { + description + "Absolute timeout interval in minutes."; + } + } + description + "Set absolute timeout for line disconnection."; + } + leaf width { + type uint32 { + range "0..512" { + description + "Number of characters on a screen line."; + } + } + description + "Set width of the display terminal."; + } + leaf length { + type uint32 { + range "0..512" { + description + "Number of lines on screen (0 for no pausing)."; + } + } + description + "Set number of lines on a screen."; + } + } + augment "/a1:line/a1:templates/a1:template" { + leaf absolute-timeout { + type uint32 { + range "0..10000" { + description + "Absolute timeout interval in minutes."; + } + } + description + "Set absolute timeout for line disconnection."; + } + leaf width { + type uint32 { + range "0..512" { + description + "Number of characters on a screen line."; + } + } + description + "Set width of the display terminal."; + } + leaf length { + type uint32 { + range "0..512" { + description + "Number of lines on screen (0 for no pausing)."; + } + } + description + "Set number of lines on a screen."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-timestamp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-timestamp-cfg.yang new file mode 100644 index 000000000..55993e83e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-line-timestamp-cfg.yang @@ -0,0 +1,139 @@ +module Cisco-IOS-XR-um-line-timestamp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-timestamp-cfg"; + prefix um-line-timestamp-cfg; + + import Cisco-IOS-XR-um-line-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR line-timestamp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-01 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:line/a1:console" { + container timestamp { + presence "Indicates a timestamp node is configured"; + description + "To enable timestamp printing before each command."; + container disable { + presence "Indicates a disable node is configured."; + description + "To disable timestamp printing before each command."; + } + } + leaf pager { + type enumeration { + enum "more" { + value 1; + description + "More Utility"; + } + enum "less" { + value 2; + description + "Less Utility"; + } + enum "none" { + value 3; + description + "No Pagers"; + } + } + description + "To enable pager functionality"; + } + } + augment "/a1:line/a1:default" { + container timestamp { + presence "Indicates a timestamp node is configured"; + description + "To enable timestamp printing before each command."; + container disable { + presence "Indicates a disable node is configured."; + description + "To disable timestamp printing before each command."; + } + } + leaf pager { + type enumeration { + enum "more" { + value 1; + description + "More Utility"; + } + enum "less" { + value 2; + description + "Less Utility"; + } + enum "none" { + value 3; + description + "No Pagers"; + } + } + description + "To enable pager functionality"; + } + } + augment "/a1:line/a1:templates/a1:template" { + container timestamp { + presence "Indicates a timestamp node is configured"; + description + "To enable timestamp printing before each command."; + container disable { + presence "Indicates a disable node is configured."; + description + "To disable timestamp printing before each command."; + } + } + leaf pager { + type enumeration { + enum "more" { + value 1; + description + "More Utility"; + } + enum "less" { + value 2; + description + "Less Utility"; + } + enum "none" { + value 3; + description + "No Pagers"; + } + } + description + "To enable pager functionality"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-linux-networking-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-linux-networking-cfg.yang new file mode 100644 index 000000000..f98e82539 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-linux-networking-cfg.yang @@ -0,0 +1,1441 @@ +module Cisco-IOS-XR-um-linux-networking-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-linux-networking-cfg"; + prefix um-linux-networking-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR linux-networking package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-28 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container linux { + description + "Configure a Linux interface"; + container networking { + description + "Configure a Linux networking"; + container statistics-synchronization { + description + "Configure synchronization of interface statistics between IOS-XR and Linux"; + container from-xr { + description + "Set Linux interface statistics using values from IOS-XR"; + container every { + description + "Configure the how often the Linux interface statistics are updated with values from IOS-XR"; + container thirty-seconds { + must "not(../sixty-seconds)"; + presence "Indicates a thirty-seconds node is configured."; + description + "Sync every thirty seconds"; + } + container sixty-seconds { + must "not(../thirty-seconds)"; + presence "Indicates a sixty-seconds node is configured."; + description + "Sync every sixty seconds"; + } + } + } + } + container exposed-interfaces { + description + "Configure an Exposed XR Interface (EXI)"; + container interfaces { + description + "Specify an IOS-XR interface to expose to Linux"; + list interface { + key "interface-name"; + description + "Specify an IOS-XR interface to expose to Linux"; + leaf interface-name { + type xr:Interface-name; + description + "Specify an IOS-XR interface to expose to Linux"; + } + leaf linux-managed { + type enumeration { + enum "enable" { + value 1; + description + "Enable properties of this interface are controlled by linux, not IOS-XR"; + } + enum "disable" { + value 0; + description + "Disable properties of this interface are controlled by linux, not IOS-XR"; + } + } + mandatory true; + description + "Properties of this interface are controlled by linux, not IOS-XR"; + } + container statistics-synchronization { + description + "Configure synchronization of interface statistics between IOS-XR and Linux"; + container from-xr { + description + "Set Linux interface statistics using values from IOS-XR"; + container every { + description + "Configure the how often the Linux interface statistics are updated with values from IOS-XR"; + container five-seconds { + must + "not(../ten-seconds or ../thirty-seconds + or ../sixty-seconds)"; + presence "Indicates a five-seconds node is configured."; + description + "Sync every five seconds"; + } + container ten-seconds { + must + "not(../five-seconds or ../thirty-seconds + or ../sixty-seconds)"; + presence "Indicates a ten-seconds node is configured."; + description + "Sync every ten seconds"; + } + container thirty-seconds { + must + "not(../five-seconds or ../ten-seconds + or ../sixty-seconds)"; + presence "Indicates a thirty-seconds node is configured."; + description + "Sync every thirty seconds"; + } + container sixty-seconds { + must + "not(../five-seconds or ../ten-seconds + or ../thirty-seconds)"; + presence "Indicates a sixty-seconds node is configured."; + description + "Sync every sixty seconds"; + } + } + } + } + } + } + } + container vrfs { + description + "Configuration for a particular VRF"; + list vrf { + key "vrf-name"; + description + "Configuration for a particular VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Configuration for a particular VRF"; + } + container address-family { + description + "Configuration for a particular IP address family"; + container ipv4 { + description + "IPv4 address family"; + container protection { + description + "Configure Traffic Protection for Linux networking"; + container protocol { + description + "L4 protocol to specify Traffic Protection rules for"; + list protocol { + key "protocol-name"; + description + "L4 protocol to specify Traffic Protection rules for"; + leaf protocol-name { + type enumeration { + enum "tcp" { + value 104; + description + "Transmission Control Protocol, RFC 793"; + } + enum "udp" { + value 105; + description + "User Datagram Protocol, RFC 768"; + } + } + description + "L4 protocol"; + } + container local-port { + description + "L4 port number to specify Traffic Protection rules for"; + container ports { + description + "selected port number (1-65535)"; + list port { + key "port-number"; + description + "selected port number (1-65535)"; + leaf port-number { + type uint32 { + range "1..65535" { + description + "selected port number (1-65535)"; + } + } + description + "selected port number (1-65535)"; + } + container default-action { + description + "Default action to take for packets matching this Traffic Protection service"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Permit packets to reach Linux applications for this service"; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Drop packets for this service"; + } + } + container remote-addresses { + description + "Remote address to filter against"; + list remote-address { + must "permit or deny"; + key "address length"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-addresses { + description + "Local address to filter against"; + list local-address { + must "permit or deny"; + key "address length"; + description + "Local address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container interfaces { + description + "Select an ingress interface to restrict traffic to"; + list interface { + must "permit or deny"; + key "interface-name"; + description + "Select an ingress interface to restrict traffic to"; + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-addresses { + description + "Remote address to filter against"; + list remote-address-local-address { + must "permit or deny"; + key "remote-address remote-length local-address local-length"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-interfaces { + description + "Remote address to filter against"; + list remote-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-address-interfaces { + description + "Local address to filter against"; + list local-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Local address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-address-interfaces { + description + "Remote address to filter against"; + list remote-address-local-address-interface { + must "permit or deny"; + key "remote-address remote-length local-address local-length interface-name"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + } + } + container all { + description + "all ports"; + container default-action { + description + "Default action to take for packets matching this Traffic Protection service"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Permit packets to reach Linux applications for this service"; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Drop packets for this service"; + } + } + container remote-addresses { + description + "Remote address to filter against"; + list remote-address { + must "permit or deny"; + key "address length"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-addresses { + description + "Local address to filter against"; + list local-address { + must "permit or deny"; + key "address length"; + description + "Local address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container interfaces { + description + "Select an ingress interface to restrict traffic to"; + list interface { + must "permit or deny"; + key "interface-name"; + description + "Select an ingress interface to restrict traffic to"; + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-addresses { + description + "Remote address to filter against"; + list remote-address-local-address { + must "permit or deny"; + key "remote-address remote-length local-address local-length"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-interfaces { + description + "Remote address to filter against"; + list remote-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-address-interfaces { + description + "Local address to filter against"; + list local-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Local address to filter against"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-address-interfaces { + description + "Remote address to filter against"; + list remote-address-local-address-interface { + must "permit or deny"; + key "remote-address remote-length local-address local-length interface-name"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv4-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..32"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv4-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..32"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + } + } + } + } + } + } + container ipv6 { + description + "IPv6 address family"; + container protection { + description + "Configure Traffic Protection for Linux networking"; + container protocol { + description + "L4 protocol to specify Traffic Protection rules for"; + list protocol { + key "protocol-name"; + description + "L4 protocol to specify Traffic Protection rules for"; + leaf protocol-name { + type enumeration { + enum "tcp" { + value 104; + description + "Transmission Control Protocol, RFC 793"; + } + enum "udp" { + value 105; + description + "User Datagram Protocol, RFC 768"; + } + } + description + "L4 protocol"; + } + container local-port { + description + "L4 port number to specify Traffic Protection rules for"; + container ports { + description + "selected port number (1-65535)"; + list port { + key "port-number"; + description + "selected port number (1-65535)"; + leaf port-number { + type uint32 { + range "1..65535" { + description + "selected port number (1-65535)"; + } + } + description + "selected port number (1-65535)"; + } + container default-action { + description + "Default action to take for packets matching this Traffic Protection service"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Permit packets to reach Linux applications for this service"; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Drop packets for this service"; + } + } + container remote-addresses { + description + "Remote address to filter against"; + list remote-address { + must "permit or deny"; + key "address length"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-addresses { + description + "Local address to filter against"; + list local-address { + must "permit or deny"; + key "address length"; + description + "Local address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container interfaces { + description + "Select an ingress interface to restrict traffic to"; + list interface { + must "permit or deny"; + key "interface-name"; + description + "Select an ingress interface to restrict traffic to"; + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-addresses { + description + "Remote address to filter against"; + list remote-address-local-address { + must "permit or deny"; + key "remote-address remote-length local-address local-length"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-interfaces { + description + "Remote address to filter against"; + list remote-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-address-interfaces { + description + "Local address to filter against"; + list local-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Local address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-address-interfaces { + description + "Remote address to filter against"; + list remote-address-local-address-interface { + must "permit or deny"; + key "remote-address remote-length local-address local-length interface-name"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + } + } + container all { + description + "all ports"; + container default-action { + description + "Default action to take for packets matching this Traffic Protection service"; + container permit { + must "not(../deny)"; + presence "Indicates a permit node is configured."; + description + "Permit packets to reach Linux applications for this service"; + } + container deny { + must "not(../permit)"; + presence "Indicates a deny node is configured."; + description + "Drop packets for this service"; + } + } + container remote-addresses { + description + "Remote address to filter against"; + list remote-address { + must "permit or deny"; + key "address length"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-addresses { + description + "Local address to filter against"; + list local-address { + must "permit or deny"; + key "address length"; + description + "Local address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container interfaces { + description + "Select an ingress interface to restrict traffic to"; + list interface { + must "permit or deny"; + key "interface-name"; + description + "Select an ingress interface to restrict traffic to"; + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-addresses { + description + "Remote address to filter against"; + list remote-address-local-address { + must "permit or deny"; + key "remote-address remote-length local-address local-length"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-interfaces { + description + "Remote address to filter against"; + list remote-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Remote address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container local-address-interfaces { + description + "Local address to filter against"; + list local-address-interface { + must "permit or deny"; + key "address length interface-name"; + description + "Local address to filter against"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + container remote-address-local-address-interfaces { + description + "Remote address to filter against"; + list remote-address-local-address-interface { + must "permit or deny"; + key "remote-address remote-length local-address local-length interface-name"; + description + "Remote address to filter against"; + leaf remote-address { + type inet:ipv6-address-no-zone; + description + "Remote address to filter against"; + } + leaf remote-length { + type uint32 { + range "0..128"; + } + description + "Remote address to filter against"; + } + leaf local-address { + type inet:ipv6-address-no-zone; + description + "Local address to filter against"; + } + leaf local-length { + type uint32 { + range "0..128"; + } + description + "Local address to filter against"; + } + leaf interface-name { + type xr:Interface-name; + description + "Select an ingress interface to restrict traffic to"; + } + container permit { + must "not(../deny) and ../../../default-action/deny"; + presence "Indicates a permit node is configured."; + description + "Add exception rule to permit packets to reach Linux applications (only valid when default-action is deny)"; + } + container deny { + must "not(../permit) and ../../../default-action/permit"; + presence "Indicates a deny node is configured."; + description + "Add exception rule to drop packets (only valid when default-action is permit)"; + } + } + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lldp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lldp-cfg.yang new file mode 100644 index 000000000..23ca173ad --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lldp-cfg.yang @@ -0,0 +1,329 @@ +module Cisco-IOS-XR-um-lldp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lldp-cfg"; + prefix um-lldp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lldp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-25 { + description + "Corrected chassis-id-type values and order for item numbers + 2022-09-16 + Added chassis-id and system-description nodes"; + semver:module-version "1.0.1m"; + } + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container lldp { + presence "Indicates a lldp node is configured."; + description + "LLDP interface configuration commands"; + container transmit { + description + "Disable LLDP TX on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable LLDP TX on an interface"; + } + } + container receive { + description + "Disable LLDP RX on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable LLDP RX on an interface"; + } + } + container destination { + description + "Configure LLDP Destination MAC on the interface"; + container mac-address { + presence "Indicates a mac-address node is configured."; + description + "Destination MAC address on the interface"; + container ieee-nearest-non-tmpr-bridge { + must "not(../ieee-nearest-bridge)"; + presence "Indicates a ieee-nearest-non-tmpr-bridge node is configured."; + description + "IEEE Non-TMPR Bridge MAC address, 01:80:C2:00:00:03"; + } + container ieee-nearest-bridge { + must "not(../ieee-nearest-non-tmpr-bridge)"; + presence "Indicates a ieee-nearest-bridge node is configured."; + description + "Default LLDP Destination MAC address, 01:80:C2:00:00:0E"; + } + } + } + container enable { + presence "Indicates a enable node is configured."; + description + "Enable LLDP TX and RX on an interface"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container lldp { + presence "Indicates a lldp node is configured."; + description + "Enable LLDP, or configure global LLDP subcommands"; + leaf holdtime { + type uint32 { + range "0..65535" { + description + "Length of time (in sec) that receiver must keep this packet"; + } + } + description + "Specify the holdtime (in sec) to be sent in packets"; + } + leaf timer { + type uint32 { + range "5..65534" { + description + "Rate at which LLDP packets are sent (in sec)"; + } + } + description + "Specify the rate at which LLDP packets are sent (in sec)"; + } + leaf reinit { + type uint32 { + range "2..5" { + description + "Delay (in sec) for LLDP initialization on any interface"; + } + } + description + "Delay (in sec) for LLDP initialization on any interface"; + } + leaf system-name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "LLDP system name string"; + } + pattern "[a-zA-Z0-9_.-]+"; + } + description + "LLDP system name to advertise"; + } + leaf system-description { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "LLDP system description string"; + } + pattern "[a-zA-Z0-9_.-]+"; + } + description + "LLDP system description to advertise"; + } + leaf chassis-id { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "LLDP chassis id string"; + } + pattern "[a-zA-Z0-9_.-:]+"; + } + description + "LLDP chassis ID to advertise"; + } + container chassis-id-type { + description + "LLDP chassis ID type to advertise"; + container chassis-component { + must + "not(../port-component or ../network-address + or ../mac-address or ../interface-name + or ../local or ../interface-alias)"; + presence "Indicates a chassis-component node is configured."; + description + "Value of entPhysicalAlias object defined in IETF RFC 2737"; + } + container interface-alias { + must + "not(../port-component or ../network-address + or ../chassis-component or ../mac-address + or ../interface-name or ../local)"; + presence "Indicates a interface-alias node is configured."; + description + "Value of ifAlias object defined in IETF RFC 2863"; + } + container port-component { + must + "not(../network-address or ../chassis-component + or ../mac-address or ../interface-name + or ../local or ../interface-alias)"; + presence "Indicates a port-component node is configured."; + description + "Value of entPhysicalAlias object defined in IETF RFC 2737"; + } + container mac-address { + must + "not(../port-component or ../network-address + or ../chassis-component or ../interface-name + or ../local or ../interface-alias)"; + presence "Indicates a mac-address node is configured."; + description + "Value of a unicast source address"; + } + container network-address { + must + "not(../port-component or ../chassis-component + or ../mac-address or ../interface-name + or ../local or ../interface-alias)"; + presence "Indicates a network-address node is configured."; + description + "Network address associated with a particular chassis"; + } + container interface-name { + must + "not(../port-component or ../network-address + or ../chassis-component or ../mac-address + or ../local or ../interface-alias)"; + presence "Indicates a interface-name node is configured."; + description + "Value of ifName object defined in IETF RFC 2863"; + } + container local { + must + "not(../port-component or ../network-address + or ../chassis-component or ../mac-address + or ../interface-name or ../interface-alias)"; + presence "Indicates a local node is configured."; + description + "Chassis identifier based on a locally defined value"; + } + } + container subinterfaces { + description + "Configure LLDP over Sub-interfaces"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable LLDP over Sub-interfaces as well"; + } + } + container management { + description + "Configure LLDP over Management interface"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable LLDP over Management interface as well"; + } + } + container priorityaddr { + description + "Configure Priority to advertise Management interface address first"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable LLDP to use Management interface address first(if configured)"; + } + } + container extended-show-width { + description + "Configure Extended Show LLDP Neighbor Width"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable Extended Show LLDP Neighbor Width"; + } + } + container tlv-select { + presence "Indicates a tlv-select node is configured."; + description + "Selection of LLDP TLVs to disable"; + container management-address { + description + "Management Address TLV"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable Management Address TLV"; + } + } + container port-description { + description + "Port Description TLV"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable Port Description TLV"; + } + } + container system-capabilities { + description + "System Capabilities TLV"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable System Capabilities TLV"; + } + } + container system-description { + description + "System Description TLV"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable System Description TLV"; + } + } + container system-name { + description + "System Name TLV"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable System Name TLV"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-location-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-location-cfg.yang new file mode 100644 index 000000000..e444ff60f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-location-cfg.yang @@ -0,0 +1,64 @@ +module Cisco-IOS-XR-um-location-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-location-cfg"; + prefix um-location-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR location package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-01-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container locations { + description + "Per-node location for active nodes"; + list location { + key "location-name"; + description + "The location for an active node"; + leaf location-name { + type xr:Node-id; + description + "The location name for this node"; + } + } + list preconfigured-location { + key "location-name"; + description + "Per-node location for non-active nodes"; + leaf location-name { + type xr:Node-id; + description + "The location name for this node"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-cfg.yang new file mode 100644 index 000000000..ef036913b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-cfg.yang @@ -0,0 +1,1936 @@ +module Cisco-IOS-XR-um-logging-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-cfg"; + prefix um-logging-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR logging package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-04-28 { + description + "Buffered Logging Entries Count Changes + 2022-05-09 + Changed the type of leaf node ipv6-address under container host-ipv6-addresses + 2022-02-28 + Added leaf yang"; + semver:module-version "2.0.1m"; + } + revision 2021-10-29 { + description + "Added the container monitor-discriminator + 2021-10-18 + Changed sch-type for the node ipv6-address under container host-ipv6-addresses"; + semver:module-version "2.0.0"; + } + revision 2021-03-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container logging { + description + "Modify message logging facilities"; + leaf console { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "errors" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "informational" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + enum "disable" { + value 15; + description + "Disable logging "; + } + } + description + "Set console logging"; + } + leaf trap { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "errors" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "informational" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + enum "disable" { + value 15; + description + "Disable logging "; + } + } + description + "Set trap logging"; + } + leaf monitor { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "errors" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "informational" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + enum "disable" { + value 15; + description + "Disable logging "; + } + } + description + "Set monitor logging"; + } + container monitor-discriminator { + description + "Set monitor logging discriminator"; + leaf match1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 1"; + } + } + description + "Set match discriminator 1"; + } + leaf match2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 2"; + } + } + description + "Set match discriminator 2"; + } + leaf match3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 3"; + } + } + description + "Set match discriminator 3"; + } + leaf nomatch1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 1"; + } + } + description + "Set no-match discriminator 1"; + } + leaf nomatch2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 2"; + } + } + description + "Set no-match discriminator 2"; + } + leaf nomatch3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 3"; + } + } + description + "Set no-match discriminator 3"; + } + } + container archive { + description + "logging to a persistent device(disk/harddisk)"; + container device { + description + "Configure the archive device"; + container disk0 { + must "not(../disk1 or ../harddisk)"; + presence "Indicates a disk0 node is configured."; + description + "Use disk0 as the archive device"; + } + container disk1 { + must "not(../disk0 or ../harddisk)"; + presence "Indicates a disk1 node is configured."; + description + "Use disk1 as the archive device"; + } + container harddisk { + must "not(../disk0 or ../disk1)"; + presence "Indicates a harddisk node is configured."; + description + "Use harddisk as the archive device"; + } + } + container frequency { + description + "The collection interval for logs"; + container daily { + must "not(../weekly)"; + presence "Indicates a daily node is configured."; + description + "Collect log in files on a daily basis"; + } + container weekly { + must "not(../daily)"; + presence "Indicates a weekly node is configured."; + description + "Collect log in files on a weekly basis"; + } + } + leaf file-size { + type uint32 { + range "1..2047" { + description + "Size in MB"; + } + } + description + "The maximum file size for a single log file."; + } + leaf archive-size { + type uint32 { + range "1..2047" { + description + "Size in MB"; + } + } + description + "The total size of the archive"; + } + leaf archive-length { + type uint32 { + range "1..256" { + description + "Number of weeks"; + } + } + description + "The maximum no of weeks of log to maintain"; + } + leaf severity { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "errors" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warnings" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "informational" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + } + description + "The minimum severity of log messages to archive"; + } + leaf threshold { + type uint32 { + range "1..99" { + description + "Threshold percent"; + } + } + description + "The size threshold at which a syslog is generated"; + } + } + container ipv4 { + description + "Mark the dscp/precedence bit for ipv4 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "not(../precedence)"; + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "routine" { + value 0; + description + "Match packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Match packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence (7)"; + } + } + } + must "not(../dscp)"; + description + "Set precedence"; + } + } + container ipv6 { + description + "Mark the dscp/precedence bit for ipv6 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "not(../precedence)"; + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "routine" { + value 0; + description + "Match packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Match packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence (7)"; + } + } + } + must "not(../dscp)"; + description + "Set precedence"; + } + } + container facility { + description + "Modify message logging facilities"; + leaf level { + type enumeration { + enum "kern" { + value 0; + description + "Kernel"; + } + enum "user" { + value 8; + description + "User process"; + } + enum "mail" { + value 16; + description + "Mail system"; + } + enum "daemon" { + value 24; + description + "System daemons"; + } + enum "auth" { + value 32; + description + "Authorization system"; + } + enum "syslog" { + value 40; + description + "Syslog itself"; + } + enum "lpr" { + value 48; + description + " Line printer system"; + } + enum "news" { + value 56; + description + "USENET news"; + } + enum "uucp" { + value 64; + description + "Unix-to-Unix copy system"; + } + enum "cron" { + value 72; + description + "Cron/at facility"; + } + enum "local0" { + value 128; + description + "Local use"; + } + enum "local1" { + value 136; + description + "Local use"; + } + enum "local2" { + value 144; + description + "Local use"; + } + enum "local3" { + value 152; + description + "Local use"; + } + enum "local4" { + value 160; + description + "Local use"; + } + enum "local5" { + value 168; + description + "Local use"; + } + enum "local6" { + value 176; + description + "Local use"; + } + enum "local7" { + value 184; + description + "Local use"; + } + enum "sys9" { + value 192; + description + "System use"; + } + enum "sys10" { + value 200; + description + "System use"; + } + enum "sys11" { + value 208; + description + "System use"; + } + enum "sys12" { + value 216; + description + "System use"; + } + enum "sys13" { + value 224; + description + "System use"; + } + enum "sys14" { + value 232; + description + "System use"; + } + } + description + "configure this node"; + } + } + container buffered { + description + "Set buffered logging parameters"; + container buffered-entries { + description + "Syslog in buffer"; + leaf count { + type uint32 { + range "2545..151699" { + description + "Number of syslog entries in buffer"; + } + } + description + "Number of syslog entries in buffer"; + } + } + leaf logging-buffer-size { + type uint32 { + range "307200..125000000" { + description + "Logging buffer size"; + } + } + description + "Logging buffer size"; + } + leaf level { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable"; + } + enum "alerts" { + value 1; + description + "Immediate action needed"; + } + enum "critical" { + value 2; + description + "Critical conditions"; + } + enum "errors" { + value 3; + description + "Error conditions"; + } + enum "warnings" { + value 4; + description + "Warning conditions"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions"; + } + enum "informational" { + value 6; + description + "Informational messages"; + } + enum "debugging" { + value 7; + description + "Debugging messages"; + } + } + description + "configure this node"; + } + container discriminator { + description + "Set logging buffer discriminator"; + leaf match1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 1"; + } + } + description + "Set match discriminator 1"; + } + leaf match2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 2"; + } + } + description + "Set match discriminator 2"; + } + leaf match3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 3"; + } + } + description + "Set match discriminator 3"; + } + leaf nomatch1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 1"; + } + } + description + "Set no-match discriminator 1"; + } + leaf nomatch2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 2"; + } + } + description + "Set no-match discriminator 2"; + } + leaf nomatch3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 3"; + } + } + description + "Set no-match discriminator 3"; + } + } + } + container container { + description + "Enable to include containers application logs"; + container all { + presence "Indicates a all node is configured."; + description + "All running container"; + } + } + container files { + description + "Set file logging"; + list file { + key "file-name"; + description + "Set file logging"; + leaf file-name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "File name"; + } + } + description + "Set file logging"; + } + leaf path { + type string { + length "1..256" { + description + "File path (e.g. /disk0: )"; + } + } + mandatory true; + description + "Set file path "; + } + leaf maxfilesize { + type uint32 { + range "1..2097152" { + description + "Max file size (in KB)"; + } + } + mandatory true; + description + "Set max file size"; + } + leaf severity { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "error" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "info" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + } + mandatory true; + description + "Set severity level"; + } + container local-accounting { + presence "Indicates a local-accounting node is configured."; + description + "Store only the command accounting logs"; + container send-to-remote { + description + "Send the command accounting logs to syslog server"; + container facility { + description + "Modify message logging facilities"; + leaf level { + type enumeration { + enum "kern" { + value 0; + description + "Kernel"; + } + enum "user" { + value 8; + description + "User process"; + } + enum "mail" { + value 16; + description + "Mail system"; + } + enum "daemon" { + value 24; + description + "System daemons"; + } + enum "auth" { + value 32; + description + "Authorization system"; + } + enum "syslog" { + value 40; + description + "Syslog itself"; + } + enum "lpr" { + value 48; + description + " Line printer system"; + } + enum "news" { + value 56; + description + "USENET news"; + } + enum "uucp" { + value 64; + description + "Unix-to-Unix copy system"; + } + enum "cron" { + value 72; + description + "Cron/at facility"; + } + enum "local0" { + value 128; + description + "Local use"; + } + enum "local1" { + value 136; + description + "Local use"; + } + enum "local2" { + value 144; + description + "Local use"; + } + enum "local3" { + value 152; + description + "Local use"; + } + enum "local4" { + value 160; + description + "Local use"; + } + enum "local5" { + value 168; + description + "Local use"; + } + enum "local6" { + value 176; + description + "Local use"; + } + enum "local7" { + value 184; + description + "Local use"; + } + enum "sys9" { + value 192; + description + "System use"; + } + enum "sys10" { + value 200; + description + "System use"; + } + enum "sys11" { + value 208; + description + "System use"; + } + enum "sys12" { + value 216; + description + "System use"; + } + enum "sys13" { + value 224; + description + "System use"; + } + enum "sys14" { + value 232; + description + "System use"; + } + } + description + "configure this node"; + } + } + } + } + container discriminator { + description + "Set file logging discriminator"; + leaf match1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 1"; + } + } + description + "Set match discriminator 1"; + } + leaf match2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 2"; + } + } + description + "Set match discriminator 2"; + } + leaf match3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match discriminator 3"; + } + } + description + "Set match discriminator 3"; + } + leaf nomatch1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 1"; + } + } + description + "Set no-match discriminator 1"; + } + leaf nomatch2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 2"; + } + } + description + "Set no-match discriminator 2"; + } + leaf nomatch3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "no-match discriminator 3"; + } + } + description + "Set no-match discriminator 3"; + } + } + } + } + leaf history { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable"; + } + enum "alerts" { + value 1; + description + "Immediate action needed"; + } + enum "critical" { + value 2; + description + "Critical conditions"; + } + enum "errors" { + value 3; + description + "Error conditions"; + } + enum "warnings" { + value 4; + description + "Warning conditions"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions"; + } + enum "informational" { + value 6; + description + "Informational messages"; + } + enum "debugging" { + value 7; + description + "Debugging messages"; + } + enum "disable" { + value 15; + description + "Disable logging"; + } + } + description + "Set history logging"; + } + leaf history-size { + type uint32 { + range "1..500" { + description + "Logging history size"; + } + } + description + "Logging history size"; + } + container tls-servers { + description + "Secure server over tls"; + list tls-server { + key "tls-server-name"; + description + "Secure server over tls"; + leaf tls-server-name { + type string { + length "1..800" { + description + "Name for the tls peer configuration"; + } + } + description + "Secure server over tls"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VPN Routing/Forwarding instance name"; + } + } + description + "Set VRF option"; + } + container address { + description + "Specify a TLS server address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 Address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "IPv6 Address"; + } + } + leaf tls-hostname { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the logging host"; + } + } + description + "Hostname or FQDN of Secure Log server"; + } + leaf trustpoint { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the trustpoint configured"; + } + } + description + "Trustpoint"; + } + leaf severity { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "errors" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warnings" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "informational" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + } + description + "severity of remote host"; + } + } + } + container vrfs { + description + "Set VRF option"; + list vrf { + key "vrf-name"; + description + "Set VRF option"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VPN Routing/Forwarding instance name"; + } + } + } + description + "Set VRF option"; + } + container host-names { + list host-name { + key "name"; + description + "Name of the logging host"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the logging host"; + } + pattern "[a-zA-Z0-9._-]+"; + } + description + "Name of the logging host"; + } + leaf severity { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "error" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "info" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + } + description + "Set severity of messages for particular remote host/vrf"; + } + leaf port { + type uint32 { + range "0..65535" { + description + "Port number"; + } + } + description + "Set UDP port for this remote host/vrf"; + } + leaf operator { + type enumeration { + enum "equals-or-higher" { + value 0; + description + "Log messages equal to or higher than severity"; + } + enum "equals" { + value 1; + description + "Log messages equal to severity"; + } + enum "not-equals" { + value 2; + description + "Log messages not equal to severity"; + } + } + description + "Set severity operator of messages for particular remote host/vrf"; + } + } + } + container host-ipv4-addresses { + list host-ipv4-address { + key "ipv4-address"; + description + "IPV4 address of the logging host"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "IPV4 address of the logging host"; + } + leaf severity { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "error" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "info" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + } + description + "Set severity of messages for particular remote host/vrf"; + } + leaf port { + type uint32 { + range "0..65535" { + description + "Port number"; + } + } + description + "Set UDP port for this remote host/vrf"; + } + leaf operator { + type enumeration { + enum "equals-or-higher" { + value 0; + description + "Log messages equal to or higher than severity"; + } + enum "equals" { + value 1; + description + "Log messages equal to severity"; + } + enum "not-equals" { + value 2; + description + "Log messages not equal to severity"; + } + } + description + "Set severity operator of messages for particular remote host/vrf"; + } + } + } + container host-ipv6-addresses { + list host-ipv6-address { + key "ipv6-address"; + description + "IPV6 address of the logging host"; + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "IPV6 address of the logging host"; + } + leaf severity { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable (severity=0)"; + } + enum "alerts" { + value 1; + description + "Immediate action needed (severity=1)"; + } + enum "critical" { + value 2; + description + "Critical conditions (severity=2)"; + } + enum "error" { + value 3; + description + "Error conditions (severity=3)"; + } + enum "warning" { + value 4; + description + "Warning conditions (severity=4)"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions (severity=5)"; + } + enum "info" { + value 6; + description + "Informational messages (severity=6)"; + } + enum "debugging" { + value 7; + description + "Debugging messages (severity=7)"; + } + } + description + "Set severity of messages for particular remote host/vrf"; + } + leaf port { + type uint32 { + range "0..65535" { + description + "Port number"; + } + } + description + "Set UDP port for this remote host/vrf"; + } + leaf operator { + type enumeration { + enum "equals-or-higher" { + value 0; + description + "Log messages equal to or higher than severity"; + } + enum "equals" { + value 1; + description + "Log messages equal to severity"; + } + enum "not-equals" { + value 2; + description + "Log messages not equal to severity"; + } + } + description + "Set severity operator of messages for particular remote host/vrf"; + } + } + } + } + } + leaf hostnameprefix { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "hostname prefix string"; + } + } + description + "Hostname prefix to add on msgs to servers"; + } + leaf localfilesize { + type uint32 { + range "0..4294967295" { + description + "Size of the local log file"; + } + } + description + "Set size of the local log file"; + } + container source-interfaces { + description + "Specify interface for source address in logging transactions"; + list source-interface { + key "source-interface-name"; + description + "Specify interface for source address in logging transactions"; + leaf source-interface-name { + type xr:Interface-name; + description + "Specify interface for source address in logging transactions"; + } + container vrfs { + description + "Set VRF option"; + list vrf { + key "vrf-name"; + description + "Set VRF option"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default vrf name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "specify the vrf name"; + } + } + } + description + "Set VRF option"; + } + } + } + } + } + container suppress { + description + "Suppress logging behaviour"; + container duplicates { + presence "Indicates a duplicates node is configured."; + description + "Suppress consecutive duplicate messages"; + } + } + container format { + description + "Specify syslog message format send to the server"; + container rfc5424 { + must "not(../bsd)"; + presence "Indicates a rfc5424 node is configured."; + description + "Enable to send the syslog message rfc5424 format "; + } + container bsd { + must "not(../rfc5424)"; + presence "Indicates a bsd node is configured."; + description + "Enable to send the syslog message as BSD format "; + } + } + leaf yang { + type enumeration { + enum "emergencies" { + value 0; + description + "System is unusable"; + } + enum "alerts" { + value 1; + description + "Immediate action needed"; + } + enum "critical" { + value 2; + description + "Critical conditions"; + } + enum "errors" { + value 3; + description + "Error conditions"; + } + enum "warnings" { + value 4; + description + "Warning conditions"; + } + enum "notifications" { + value 5; + description + "Normal but significant conditions"; + } + enum "informational" { + value 6; + description + "Informational messages"; + } + enum "debugging" { + value 7; + description + "Debugging messages"; + } + } + description + "Set yang logging parameters"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-correlator-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-correlator-cfg.yang new file mode 100644 index 000000000..b33cedcf4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-correlator-cfg.yang @@ -0,0 +1,538 @@ +module Cisco-IOS-XR-um-logging-correlator-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-correlator-cfg"; + prefix um-logging-correlator-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-logging-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR logging-correlator package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-30 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:logging" { + container correlator { + description + "Configure properties of the event correlator"; + leaf buffer-size { + type uint32 { + range "1024..52428800" { + description + "Size of the correlator buffer"; + } + } + description + "Configure size of the correlator buffer"; + } + container rules { + description + "Configure a specified correlation rule"; + list rule { + must + "type/stateful/timeout or type/stateful/timeout-rootcause or + type/stateful/context-correlation or type/stateful/reparent or + type/stateful/reissue-nonbistate or type/stateful/rootcause or + type/stateful/nonrootcause/alarms/alarm or + type/nonstateful/timeout or type/nonstateful/timeout-rootcause or + type/nonstateful/context-correlation or + type/nonstateful/rootcause or + type/nonstateful/nonrootcause/alarms/alarm"; + key "rule-name"; + description + "Configure a specified correlation rule"; + leaf rule-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Rule name"; + } + } + description + "Configure a specified correlation rule"; + } + container type { + description + "type of rule - stateful or nonstateful"; + container stateful { + description + "stateful rule type"; + leaf timeout { + type uint32 { + range "1..7200000" { + description + "Timeout (time the rule is to be active) in milliseconds"; + } + } + description + "Specify timeout"; + } + leaf timeout-rootcause { + type uint32 { + range "1..7200000" { + description + "Rootcause Timeout (time to wait for rootcause) in milliseconds"; + } + } + description + "Specify timeout for root-cause"; + } + container context-correlation { + presence "Indicates a context-correlation node is configured."; + description + "Specify enable correlation on context"; + } + container reparent { + presence "Indicates a reparent node is configured."; + description + "Specify reparent of alarm on parent clear"; + } + container reissue-nonbistate { + presence "Indicates a reissue-nonbistate node is configured."; + description + "Specify reissue of non-bistate alarms on parent clear"; + } + container rootcause { + presence "Indicates a rootcause node is configured."; + description + "Specify root cause alarm: Category/Group/Code combos"; + leaf message-category { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Message category of the root message"; + } + } + mandatory true; + description + "Specify root cause alarm: Category/Group/Code combos"; + } + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Group name of root message"; + } + } + mandatory true; + description + "Group name of root message"; + } + leaf message-code { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Message code of root message"; + } + } + mandatory true; + description + "Message code of root message"; + } + } + container nonrootcause { + description + "nonrootcause alarm"; + container alarms { + description + "Specify non-root cause alarm: Category/Group/Code combos"; + list alarm { + key "message-category group-name message-code"; + description + "Specify non-root cause alarm: Category/Group/Code combos"; + leaf message-category { + type string { + length "1..32" { + description + "Message category of the correlated message"; + } + } + description + "Specify non-root cause alarm: Category/Group/Code combos"; + } + leaf group-name { + type string { + length "1..32" { + description + "Group name of correlated message"; + } + } + description + "Group name of correlated message"; + } + leaf message-code { + type string { + length "1..32" { + description + "Message code of correlated message"; + } + } + description + "Message code of correlated message"; + } + } + } + } + } + container nonstateful { + description + "non-stateful rule type"; + leaf timeout { + type uint32 { + range "1..7200000" { + description + "Timeout (time the rule is to be active) in milliseconds"; + } + } + description + "Specify timeout"; + } + leaf timeout-rootcause { + type uint32 { + range "1..7200000" { + description + "Rootcause Timeout (time to wait for rootcause) in milliseconds"; + } + } + description + "Specify timeout for root-cause"; + } + container context-correlation { + presence "Indicates a context-correlation node is configured."; + description + "Specify enable correlation on context"; + } + container rootcause { + presence "Indicates a rootcause node is configured."; + description + "Specify root cause alarm: Category/Group/Code combos"; + leaf message-category { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Message category of the root message"; + } + } + mandatory true; + description + "Specify root cause alarm: Category/Group/Code combos"; + } + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Group name of root message"; + } + } + mandatory true; + description + "Group name of root message"; + } + leaf message-code { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Message code of root message"; + } + } + mandatory true; + description + "Message code of root message"; + } + } + container nonrootcause { + description + "nonrootcause alarm"; + container alarms { + description + "Specify non-root cause alarm: Category/Group/Code combos"; + list alarm { + key "message-category group-name message-code"; + description + "Specify non-root cause alarm: Category/Group/Code combos"; + leaf message-category { + type string { + length "1..32" { + description + "Message category of the correlated message"; + } + } + description + "Specify non-root cause alarm: Category/Group/Code combos"; + } + leaf group-name { + type string { + length "1..32" { + description + "Group name of correlated message"; + } + } + description + "Group name of correlated message"; + } + leaf message-code { + type string { + length "1..32" { + description + "Message code of correlated message"; + } + } + description + "Message code of correlated message"; + } + } + } + } + } + } + container apply { + description + "Apply rule"; + container all-of-router { + presence "Indicates a all-of-router node is configured."; + description + "Apply the rule to all of the router"; + } + container locations { + description + "Apply rule to specified location"; + list location { + key "location-name"; + description + "Apply rule to specified location"; + leaf location-name { + type xr:Node-id; + description + "Apply rule to specified location"; + } + } + } + container contexts { + description + "Apply rule to specified context"; + list context { + key "context-name"; + description + "Apply rule to specified context"; + leaf context-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context name"; + } + } + description + "Apply rule to specified context"; + } + } + } + } + } + } + container rulesets { + description + "Configure a specified correlation ruleset"; + list ruleset { + key "ruleset-name"; + description + "Configure a specified correlation ruleset"; + leaf ruleset-name { + type string { + length "1..32" { + description + "Ruleset name"; + } + } + description + "Configure a specified correlation ruleset"; + } + container rulenames { + description + "Specify rule name"; + list rulename { + key "rulename-name"; + description + "Specify rule name"; + leaf rulename-name { + type string { + length "1..32" { + description + "Rule name"; + } + } + description + "Specify rule name"; + } + } + } + container apply { + description + "Apply ruleset"; + container all-of-router { + presence "Indicates a all-of-router node is configured."; + description + "Apply the rule to all of the router"; + } + container locations { + description + "Apply rule to specified location"; + list location { + key "location-name"; + description + "Apply rule to specified location"; + leaf location-name { + type xr:Node-id; + description + "Apply rule to specified location"; + } + } + } + container contexts { + description + "Apply rule to specified context"; + list context { + key "context-name"; + description + "Apply rule to specified context"; + leaf context-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context name"; + } + } + description + "Apply rule to specified context"; + } + } + } + } + } + } + } + container suppress { + description + "Configure properties for the event suppression"; + container rules { + description + "Configure a specified suppression rule"; + list rule { + must "alarms/alarm or all-alarms"; + key "rule-name"; + description + "Configure a specified suppression rule"; + leaf rule-name { + type string { + length "1..32" { + description + "Rule name"; + } + } + description + "Configure a specified suppression rule"; + } + container alarms { + description + "Specify alarm: Category/Group/Code combos"; + list alarm { + key "message-category group-name message-code"; + description + "Specify alarm: Category/Group/Code combos"; + leaf message-category { + type string { + length "1..32" { + description + "Message category of the suppressed message"; + } + } + description + "Specify alarm: Category/Group/Code combos"; + } + leaf group-name { + type string { + length "1..32" { + description + "Group name of suppressed message"; + } + } + description + "Group name of suppressed message"; + } + leaf message-code { + type string { + length "1..32" { + description + "Message code of suppressed message"; + } + } + description + "Message code of suppressed message"; + } + } + } + container all-alarms { + presence "Indicates a all-alarms node is configured."; + description + "All alarms of any Category/Group/Code combo"; + } + container apply { + description + "Apply suppression rule"; + container all-of-router { + presence "Indicates a all-of-router node is configured."; + description + "Apply the rule to all of the router"; + } + container source { + description + "Apply rule to specified source"; + container locations { + description + "Apply rule to specified location"; + list location { + key "location-name"; + description + "Apply rule to specified location"; + leaf location-name { + type xr:Node-id; + description + "Apply rule to specified location"; + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-events-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-events-cfg.yang new file mode 100644 index 000000000..a4f49dfd2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-logging-events-cfg.yang @@ -0,0 +1,152 @@ +module Cisco-IOS-XR-um-logging-events-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-events-cfg"; + prefix um-logging-events-cfg; + + import Cisco-IOS-XR-um-logging-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR logging-events package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-06 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:logging" { + container events { + description + "Configure event monitoring parameters"; + leaf buffer-size { + type uint32 { + range "1024..1024000" { + description + "Size of the local event buffer"; + } + } + description + "Set size of the local event buffer"; + } + container filter { + description + "Configure filter"; + list match { + key "match-string"; + description + " Configure match string to filter"; + leaf match-string { + type string { + length "1..32" { + description + "String to match with alarms"; + } + } + description + " Configure match string to filter"; + } + } + } + container display-location { + presence "Indicates a display-location node is configured."; + description + "Include alarm source location in message text"; + } + leaf level { + type enumeration { + enum "emergencies" { + value 0; + description + "(level=0) System is unusable"; + } + enum "alerts" { + value 1; + description + "(level=1) Immediate action needed"; + } + enum "critical" { + value 2; + description + "(level=2) Critical conditions"; + } + enum "errors" { + value 3; + description + "(level=3) Error conditions"; + } + enum "warnings" { + value 4; + description + "(level=4) Warning conditions"; + } + enum "notifications" { + value 5; + description + "(level=5) Normal but significant conditions"; + } + enum "informational" { + value 6; + description + "(level=6) Informational messages"; + } + } + description + "Log all events with equal or higher (lower level) severity"; + } + leaf threshold { + type uint32 { + range "10..100" { + description + "Capacity alarm threshold"; + } + } + description + "Configure threshold (%) for capacity alarm"; + } + leaf precfg-suppression { + type enumeration { + enum "enable" { + value 1; + description + "Suppress events from a card/VM till its configuration is complete"; + } + } + description + "Suppress events from a card/VM till its configuration is complete"; + } + leaf precfg-suppression-timeout { + type uint32 { + range "1..60" { + description + "Timeout (in minutes) for pre-config events suppression (default 15)"; + } + } + description + "Timeout (in minutes) for pre-config events suppression (default 15)"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-cfg.yang new file mode 100644 index 000000000..2069d903d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-cfg.yang @@ -0,0 +1,13828 @@ +module Cisco-IOS-XR-um-lpts-pifib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-cfg"; + prefix um-lpts-pifib-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pifib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature pifib_policer_config_check { + description + "pifib policer config check"; + } + + feature pifib_local_policer_config_check { + description + "pifib local policer config check"; + } + + feature pifib_xipc_throt_policer_config_check { + description + "pifib xipc throt policer config check"; + } + + feature pifib_policer_node_check { + description + "pifib policer node check"; + } + + grouping LOCATION-BODY { + container lpts { + if-feature "pifib_policer_config_check"; + if-feature "pifib_local_policer_config_check"; + description + "lpts configuration commands"; + container pifib { + description + "pre-ifib configuration commands"; + container hardware { + description + "hardware configuration commands"; + container police { + presence "Indicates a police node is configured."; + description + "ingress policers configuration command"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container multipath { + description + "Multipath "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container blb { + description + "BLB "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + container ldp { + description + "LDP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + } + } + } + } + + augment "/location:locations/location:location" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location" { + uses LOCATION-BODY; + } + container lpts { + if-feature "pifib_policer_config_check"; + if-feature "pifib_local_policer_config_check"; + description + "lpts configuration commands"; + container pifib { + description + "pre-ifib configuration commands"; + container hardware { + description + "hardware configuration commands"; + container police { + presence "Indicates a police node is configured."; + description + "ingress policers configuration command"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container multipath { + description + "Multipath "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container blb { + description + "BLB "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + container ldp { + description + "LDP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container fragment { + description + "L2TPv2 fragmented packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + leaf-list precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 5; + description + "Critical precedence (5)"; + } + enum "flash" { + value 3; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 2; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 6; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Network control precedence (7)"; + } + enum "priority" { + value 1; + description + "Priority precedence (1)"; + } + enum "routine" { + value 0; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "TOS Precedence value(s)"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-domain-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-domain-cfg.yang new file mode 100644 index 000000000..c28d15fc6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-domain-cfg.yang @@ -0,0 +1,3126 @@ +module Cisco-IOS-XR-um-lpts-pifib-domain-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-domain-cfg"; + prefix um-lpts-pifib-domain-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import Cisco-IOS-XR-um-lpts-pifib-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pifib-domain package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-14 { + description + "Added the new feature nodes cnbng-gtpu and cnbng-pfcp"; + semver:module-version "1.1.0"; + } + revision 2020-09-17 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature pifib_domains_config_check { + description + "pifib domains config check"; + } + + feature pifib_xipc_throt_policer_config_check { + description + "pifib xipc throt policer config check"; + } + + grouping LPTS-POLICE { + container domains { + description + "ingress domains configuration command"; + list domain { + key "domain-name"; + description + "ingress domains configuration command"; + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Domain name"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "ingress domains configuration command"; + } + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multipath { + description + "Multipath "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container blb { + description + "BLB "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container ldp { + description + "LDP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container cnbng-gtpu { + description + "CnBNG GTPU Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container cnbng-pfcp { + description + "CnBNG PFCP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + } + } + + grouping LOCATION-BODY { + container domains { + description + "ingress domains configuration command"; + list domain { + key "domain-name"; + description + "ingress domains configuration command"; + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Domain name"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "ingress domains configuration command"; + } + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multipath { + description + "Multipath "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container blb { + description + "BLB "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container ldp { + description + "LDP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container cnbng-gtpu { + description + "CnBNG GTPU Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container cnbng-pfcp { + description + "CnBNG PFCP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + } + } + + augment "/a1:lpts/a1:pifib/a1:hardware/a1:police" { + uses LPTS-POLICE; + } + augment "/location:locations/location:location/a1:lpts/a1:pifib/a1:hardware/a1:police" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location/a1:lpts/a1:pifib/a1:hardware/a1:police" { + uses LOCATION-BODY; + } + augment "/a1:lpts/a1:pifib/a1:hardware" { + container domains { + description + "ingress domains configuration command"; + list domain { + key "domain-name"; + description + "ingress domains configuration command"; + leaf domain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Domain name"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "ingress domains configuration command"; + } + container interfaces { + description + "Add interface to domain"; + list interface { + key "interface-name"; + description + "Add interface to domain"; + leaf interface-name { + type xr:Interface-name; + description + "Add interface to domain"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg.yang new file mode 100644 index 000000000..6662bee17 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg.yang @@ -0,0 +1,3062 @@ +module Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg"; + prefix um-lpts-pifib-dynamic-flows-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import Cisco-IOS-XR-um-lpts-pifib-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pifib-dynamic-flows package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-17 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature pifib_dynamic_flows_gl_config_check { + description + "pifib dynamic flows gl config check"; + } + + feature pifib_dynamic_flows_lo_config_check { + description + "pifib dynamic flows lo config check"; + } + + feature pifib_xipc_throt_policer_config_check { + description + "pifib xipc throt policer config check"; + } + + feature pifib_dynamic_flows_node_check { + description + "pifib dynamic flows node check"; + } + + grouping LOCATION-BODY { + container dynamic-flows { + presence "Indicates a dynamic-flows node is configured."; + description + "ingress flows configuration command"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container multipath { + description + "Multipath "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container blb { + description + "BLB "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container singlepath { + description + "Singlepath "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container application { + description + "Specific application packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container control { + description + "Control packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + } + container ldp { + description + "LDP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container udp { + description + "UDP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container all-routers { + description + "All Routers"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container udp { + description + "UDP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container known { + description + "RSVP Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container udp { + description + "UDP"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container ike { + description + "IKE "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container snmp { + description + "SNMP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container listen { + description + "Listen "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Config peer "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container listen { + description + "Listen "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container eigrp { + description + "EIGRP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container rip { + description + "RIP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container pcep { + description + "PCEP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container gre { + description + "GRE "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container vrrp { + description + "VRRP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container hsrp { + description + "HSRP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container dns { + description + "DNS "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container radius { + description + "RADIUS "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container tacacs { + description + "TACACS "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container amt { + description + "AMT "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container onepk { + description + "ONEPK "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container tpa { + description + "Third Party Applications"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container platform { + description + "lpts max entries for platform"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + } + + augment "/a1:lpts/a1:pifib/a1:hardware" { + container dynamic-flows { + presence "Indicates a dynamic-flows node is configured."; + description + "ingress flows configuration command"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container multipath { + description + "Multipath "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container blb { + description + "BLB "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container singlepath { + description + "Singlepath "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container igmp { + description + "IGMP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container application { + description + "Specific application packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container control { + description + "Control packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + } + container ldp { + description + "LDP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container udp { + description + "UDP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container all-routers { + description + "All Routers"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container udp { + description + "UDP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container known { + description + "RSVP Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container udp { + description + "UDP"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container ike { + description + "IKE "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container snmp { + description + "SNMP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container listen { + description + "Listen "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Config peer "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container listen { + description + "Listen "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container configured { + description + "Configured "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container eigrp { + description + "EIGRP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container rip { + description + "RIP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container pcep { + description + "PCEP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container gre { + description + "GRE "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container vrrp { + description + "VRRP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container hsrp { + description + "HSRP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container dns { + description + "DNS "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container radius { + description + "RADIUS "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container tacacs { + description + "TACACS "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container known { + description + "Known "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container amt { + description + "AMT "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container onepk { + description + "ONEPK "; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container tpa { + description + "Third Party Applications"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + container platform { + description + "lpts max entries for platform"; + leaf max { + type uint32 { + range "0..4294967295" { + description + "TCAM Entries NUM"; + } + } + description + "Max number of TCAM entries"; + } + } + } + } + augment "/location:locations/location:location/a1:lpts/a1:pifib/a1:hardware" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location/a1:lpts/a1:pifib/a1:hardware" { + uses LOCATION-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg.yang new file mode 100644 index 000000000..d20d504fa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg.yang @@ -0,0 +1,145 @@ +module Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg"; + prefix um-lpts-pifib-police-acl-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-lpts-pifib-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pifib-police-acl package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping LPTS-POLICE { + container acls { + description + "pre-ifib acl name"; + list acl { + must "ipv4/vrf or ipv6/vrf"; + key "acl-name"; + description + "pre-ifib acl name"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ACL name"; + } + } + description + "pre-ifib acl name"; + } + container ipv4 { + description + "IP Version 4"; + list vrf { + key "vrf-name"; + description + "Specify the Vrf Id"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + } + description + "Name of VRF"; + } + leaf rate { + type uint32 { + range "0..100000" { + description + "Rate value"; + } + } + mandatory true; + description + "pre-ifib policer rate config commands"; + } + } + } + container ipv6 { + description + "IP Version 6"; + list vrf { + key "vrf-name"; + description + "Specify the Vrf Id"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + } + description + "Name of VRF"; + } + leaf rate { + type uint32 { + range "0..100000" { + description + "Rate value"; + } + } + mandatory true; + description + "pre-ifib policer rate config commands"; + } + } + } + } + } + } + + augment "/a1:lpts/a1:pifib/a1:hardware/a1:police" { + uses LPTS-POLICE; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-np-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-np-cfg.yang new file mode 100644 index 000000000..80cd1bd5e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-pifib-police-np-cfg.yang @@ -0,0 +1,13731 @@ +module Cisco-IOS-XR-um-lpts-pifib-police-np-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-police-np-cfg"; + prefix um-lpts-pifib-police-np-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import Cisco-IOS-XR-um-lpts-pifib-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-pifib-police-np package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-05 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature pifib_xipc_throt_policer_config_check { + description + "pifib xipc throt policer config check"; + } + + grouping LOCATION-BODY { + container np { + description + "NP name"; + container np0 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np1 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np2 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np3 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np4 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np5 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np6 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np7 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np8 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container np9 { + description + "Np number"; + container flow { + description + "lpts flow type"; + container fragment { + description + "Fragmented IP packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ospf { + description + "OSPF "; + container unicast { + description + "Unicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container isis { + description + "ISIS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bfd { + description + "BFD "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container singlepath { + description + "Singlepath "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container bgp { + description + "BGP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container pim { + description + "PIM "; + container unicast { + description + "Unicast "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container multicast { + description + "Multicast"; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container igmp { + description + "IGMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container icmp { + description + "ICMP "; + container local { + description + "Local interest packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container application { + description + "Specific application packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container control { + description + "Control packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container generic { + description + "Generic application packets "; + container echo-reply { + description + "Echo-reply packets "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + container all-routers { + description + "All Routers"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container lmp { + description + "LMP "; + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsvp { + description + "RSVP "; + container default { + description + "RSVP Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "RSVP Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container udp { + description + "UDP"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ike { + description + "IKE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ipsec { + description + "IPSEC "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container msdp { + description + "MSDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container snmp { + description + "SNMP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ssh { + description + "SSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container http { + description + "HTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container shttp { + description + "SHTTP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container telnet { + description + "TELNET "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container css { + description + "CSS "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container rsh { + description + "RSH "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container udp { + description + "UDP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Config peer "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container tcp { + description + "TCP "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container configured { + description + "Configured "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container multicast { + description + "Multicast "; + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container raw { + description + "Raw "; + container listen { + description + "Listen "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container ip-sla { + description + "IP-SLA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container eigrp { + description + "EIGRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rip { + description + "RIP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container l2tpv3 { + description + "L2TPv3 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pcep { + description + "PCEP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container gre { + description + "GRE "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container vrrp { + description + "VRRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container hsrp { + description + "HSRP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container mpls { + description + "MPLS "; + container oam { + description + "Oam "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container l2tpv2 { + description + "L2TPv2 "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container dns { + description + "DNS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius { + description + "RADIUS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tacacs { + description + "TACACS "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ntp { + description + "NTP "; + container default { + description + "Default "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container known { + description + "Known "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + container mipv6 { + description + "MIPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container amt { + description + "AMT "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container sdac { + description + "SDAC-TCP "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container radius-coa { + description + "RADIUS COA "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container rel-udp { + description + "Syslog/netflow packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv4 { + description + "DHCPv4 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container dhcpv6 { + description + "DHCPv6 "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container onepk { + description + "ONEPK "; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container tpa { + description + "Third Party Applications"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container ietf-bob { + description + "IETF BOB Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container xipc { + if-feature "pifib_xipc_throt_policer_config_check"; + description + "XIPC rate limit"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + container pm-twamp { + description + "PM TWAMP Packets"; + leaf rate { + type uint32 { + range "0..4294967295" { + description + "Packets Per Second (actual Min and Max range depends on platform)"; + } + } + description + "Rate in PPS"; + } + } + } + } + } + } + + augment "/location:locations/location:location/a1:lpts/a1:pifib/a1:hardware/a1:police" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location/a1:lpts/a1:pifib/a1:hardware/a1:police" { + uses LOCATION-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-profiling-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-profiling-cfg.yang new file mode 100644 index 000000000..f21e565a3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-lpts-profiling-cfg.yang @@ -0,0 +1,50 @@ +module Cisco-IOS-XR-um-lpts-profiling-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-profiling-cfg"; + prefix um-lpts-profiling-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR lpts-profiling package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container lpts { + description + "lpts configuration commands"; + container profiling { + description + "profiling configuration commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable lpts profiling"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ltrace-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ltrace-cfg.yang new file mode 100644 index 000000000..50603dd32 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ltrace-cfg.yang @@ -0,0 +1,156 @@ +module Cisco-IOS-XR-um-ltrace-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ltrace-cfg"; + prefix um-ltrace-cfg; + + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ltrace package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-15 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping LOCATION-BODY { + container ltrace { + description + "ltrace configuration"; + container mode { + description + "Select a memory allocation mode"; + container static { + must "not(../dynamic)"; + presence "Indicates a static node is configured."; + description + "Set ltrace memory allocation to static mode"; + leaf scale-factor { + type enumeration { + enum "0" { + value 0; + description + "Use platform-defined scale-factor"; + } + enum "1" { + value 1; + description + "Do not scale down ltrace memory request"; + } + enum "2" { + value 2; + description + "Scale down ltrace memory request by 2"; + } + enum "4" { + value 4; + description + "Scale down ltrace memory request by 4"; + } + enum "8" { + value 8; + description + "Scale down ltrace memory request by 8"; + } + enum "16" { + value 16; + description + "Scale down ltrace memory request by 16"; + } + } + description + "Configure a scaling down factor for memory allocation"; + } + } + container dynamic { + must "not(../static)"; + presence "Indicates a dynamic node is configured."; + description + "Set ltrace memory allocation to dynamic mode"; + leaf scale-factor { + type enumeration { + enum "0" { + value 0; + description + "Use platform-defined scale-factor"; + } + enum "1" { + value 1; + description + "Do not scale down ltrace memory request"; + } + enum "2" { + value 2; + description + "Scale down ltrace memory request by 2"; + } + enum "4" { + value 4; + description + "Scale down ltrace memory request by 4"; + } + enum "8" { + value 8; + description + "Scale down ltrace memory request by 8"; + } + enum "16" { + value 16; + description + "Scale down ltrace memory request by 16"; + } + } + description + "Configure a scaling down factor for memory allocation"; + } + } + } + container persist { + description + "configure persistent storage information"; + leaf dump-enable { + type string { + pattern "pre|act" { + description + "dump-enable value pre only in case of preconfigured locations + dump-enable value act only in case of active locations"; + } + } + description + "enable/disable dumpimng to persistent storage"; + } + } + } + } + + augment "/location:locations/location:location" { + uses LOCATION-BODY; + } + augment "/location:locations/location:preconfigured-location" { + uses LOCATION-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-macsec-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-macsec-cfg.yang new file mode 100644 index 000000000..f8fc6d23d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-macsec-cfg.yang @@ -0,0 +1,429 @@ +module Cisco-IOS-XR-um-macsec-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-macsec-cfg"; + prefix um-macsec-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR macsec package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-05 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container macsec { + description + "Enable MACSec for the interface"; + container psk-keychain { + description + "Configure MACsec Key Agreement(MKA) PSK Keychain"; + leaf keychain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of keychain to be used to get keys, maximum length 32"; + } + } + description + "Name of keychain to be used to get keys, maximum length 32"; + } + leaf fallback-psk-keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of keychain to be used to get fallback PSK keys, maximum length 32"; + } + } + description + "Configure MKA fallback PSK Keychain"; + } + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "MACsec Policy name, maximum length 16"; + } + } + description + "Enter the policy name, maximum length 16"; + } + } + } + container eap { + presence "Indicates a eap node is configured."; + description + "Configure MACsec Key Agreement(MKA) to use EAP"; + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Policy name"; + } + } + description + "Enter the policy name"; + } + } + container macsec-service { + description + "Enable MACSec as a service"; + leaf decrypt-port { + type xr:Interface-name { + pattern "GigabitEthernet*"; + } + must "../psk-keychain"; + description + "Enter the sub-interface name for MacSec decryption"; + } + leaf psk-keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of key-chain to be used to get keys"; + } + } + must "../decrypt-port"; + description + "Configure MACsec Key Agreement(MKA) PSK Keychain"; + } + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Policy name"; + } + } + must "../decrypt-port"; + description + "Enter the policy name"; + } + } + } + + grouping CONT-BODY { + container macsec { + description + "Enable MACSec for the interface"; + container psk-keychain { + description + "Configure MACsec Key Agreement(MKA) PSK Keychain"; + leaf keychain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of keychain to be used to get keys, maximum length 32"; + } + } + description + "Name of keychain to be used to get keys, maximum length 32"; + } + leaf fallback-psk-keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of keychain to be used to get fallback PSK keys, maximum length 32"; + } + } + description + "Configure MKA fallback PSK Keychain"; + } + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "MACsec Policy name, maximum length 16"; + } + } + description + "Enter the policy name, maximum length 16"; + } + } + } + container eap { + presence "Indicates a eap node is configured."; + description + "Configure MACsec Key Agreement(MKA) to use EAP"; + leaf policy { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Policy name"; + } + } + description + "Enter the policy name"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:controller" { + uses CONT-BODY; + } + augment "/a1:interfaces/a1:controller-preconfigure" { + uses CONT-BODY; + } + container macsec-policy { + description + "MACSec Policy configuration"; + container policy-names { + description + "Enter the policy name of max-length 16"; + list policy-name { + key "policy-name"; + description + "Enter the policy name of max-length 16"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Enter the policy name of max-length 16"; + } + } + description + "Enter the policy name of max-length 16"; + } + leaf key-server-priority { + type uint32 { + range "0..255" { + description + "Enter the key server priority for the node"; + } + } + description + "Key Server Priority for the node"; + } + leaf cipher-suite { + type enumeration { + enum "GCM-AES-128" { + value 1; + description + "GCM AES 128 bit encryption"; + } + enum "GCM-AES-256" { + value 2; + description + "GCM AES 256 bit encryption"; + } + enum "GCM-AES-XPN-128" { + value 3; + description + "GCM AES XPN 128 bit encryption"; + } + enum "GCM-AES-XPN-256" { + value 4; + description + "GCM AES XPN 256 bit encryption"; + } + } + description + "Cipher-Suite used for encryption"; + } + leaf window-size { + type uint32 { + range "0..1024" { + description + "Enter the window size"; + } + } + description + "window-size used for encryption"; + } + leaf conf-offset { + type enumeration { + enum "CONF-OFFSET-0" { + value 0; + description + "Offset 0"; + } + enum "CONF-OFFSET-30" { + value 30; + description + "Offset 30"; + } + enum "CONF-OFFSET-50" { + value 50; + description + "Offset 50"; + } + } + description + "conf-offset used for encryption"; + } + leaf security-policy { + type enumeration { + enum "should-secure" { + value 0; + description + "Enable should secure"; + } + enum "must-secure" { + value 1; + description + "Enable must secure"; + } + } + description + "Must Secure/Should Secure for Data encryption"; + } + leaf vlan-tags-in-clear { + type uint32 { + range "1..2" { + description + "Enter the value"; + } + } + description + "Specify the number of vlan-tags in clear (1 or 2)"; + } + leaf policy-exception { + type enumeration { + enum "lacp-in-clear" { + value 1; + description + "DEPRECATED-Allow LACP(Link aggregation control plane protocol) Packets in clear Text, recommended to use 'allow lacp-in-clear'"; + } + } + description + "macsec policy exception to allow packets in clear text"; + } + leaf sak-rekey-interval { + type uint32 { + range "1..43200" { + description + "DEPRECATED-Interval(in minutes)<1-43200>, Default: OFF, recommended to use 'seconds' option"; + } + } + description + "Interval after which key-server generates new SAK for a Secured Session"; + } + leaf seconds { + type uint32 { + range "60..2592000" { + description + "Enter SAK rekey interval(in seconds) "; + } + } + description + "Interval(in seconds)<60-2592000>, Default: OFF"; + } + container include-icv-indicator { + presence "Indicates a include-icv-indicator node is configured."; + description + "Include ICV Indicator paramset in MKPDU"; + } + container delay-protection { + presence "Indicates a delay-protection node is configured."; + description + "enable data delay protection"; + } + container use-eapol-pae-in-icv { + presence "Indicates a use-eapol-pae-in-icv node is configured."; + description + "enable use eapol pae address in icv"; + } + container suspend-on-request { + description + "disable suspend-on-request from peers in issu"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable suspend-on-request from peers in issu"; + } + } + container suspend-for { + description + "disable MKA suspension when in issu"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable MKA suspension when in issu"; + } + } + container enable-legacy-fallback { + presence "Indicates a enable-legacy-fallback node is configured."; + description + "enable keepalive fallback ca"; + } + container enable-legacy-sak-write { + presence "Indicates a enable-legacy-sak-write node is configured."; + description + "To interop with legacy ncs5500 coherent systems"; + } + container allow { + description + "macsec policy exceptions to allow in clear-text"; + container lacp-in-clear { + presence "Indicates a lacp-in-clear node is configured."; + description + "Allow LACP((Link aggregation control plane protocol) Packets in clear Text"; + } + container pause-frame-in-clear { + presence "Indicates a pause-frame-in-clear node is configured."; + description + "Allow pause-frame packets in clear text"; + } + } + container ppk { + presence "Indicates a ppk node is configured."; + description + "To use PPK supported MACsec session"; + leaf sks-profile { + type xr:Cisco-ios-xr-string { + length "1..253" { + description + "Name of sks profile name to be used"; + } + } + description + "use sks profile for PPK generation"; + } + } + } + } + } + container macsec { + description + "MACSec global configuration"; + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Disable macsec on all data ports, has no impact on macsec configs"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-cbqosmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-cbqosmib-cfg.yang new file mode 100644 index 000000000..17ec62e51 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-cbqosmib-cfg.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XR-um-mibs-cbqosmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-cbqosmib-cfg"; + prefix um-mibs-cbqosmib-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mibs-cbqosmib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server-mibs" { + container cbqosmib { + description + "Configure CBQoSMIB parameters"; + container cache { + presence "Indicates a cache node is configured."; + description + "Enable CBQoSMIB stats data caching"; + container refresh { + description + "Cache refresh interval"; + leaf time { + type uint32 { + range "5..60" { + description + "Refresh time in secs"; + } + } + description + "Cache refresh time in seconds "; + } + } + container service-policy { + description + "Maximum number of service policies to cache the statistics for"; + leaf count { + type uint32 { + range "1..5000" { + description + "Number of service-policys"; + } + } + description + "Number of service-policy stats"; + } + } + } + container persist { + presence "Indicates a persist node is configured."; + description + "Persist CBQoSMIB config, service-policy and object indices"; + } + container member-stats { + presence "Indicates a member-stats node is configured."; + description + "Enable bundle member interface statistics retrieval"; + } + container test-collisions { + presence "Indicates a test-collisions node is configured."; + description + "Enable test code for testing persistency file creation on collision"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-eventmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-eventmib-cfg.yang new file mode 100644 index 000000000..48c511367 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-eventmib-cfg.yang @@ -0,0 +1,137 @@ +module Cisco-IOS-XR-um-mibs-eventmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-eventmib-cfg"; + prefix um-mibs-eventmib-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mibs-eventmib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server-mibs" { + container eventmib { + description + "Event MIB configuration"; + container packet-losses { + description + "Packet Loss threshold monitoring"; + list packet-loss { + key "packet-loss-name"; + description + "Packet Loss threshold monitoring"; + leaf packet-loss-name { + type xr:Interface-name; + description + "Packet Loss threshold monitoring"; + } + leaf rising { + type uint32 { + range "0..2147483647" { + description + "Trigger Trap when Delta above this value"; + } + } + description + "Upper threshold value"; + } + leaf falling { + type uint32 { + range "0..2147483647" { + description + "Trigger Trap when Delta below this value"; + } + } + description + "Lower threshold value"; + } + leaf interval { + type uint32 { + range "5..1440" { + description + "Interval in multiples of 5 mins"; + } + } + description + "Packet loss sampling interval in multiples of 5 mins"; + } + } + } + container congestion-controls { + description + "Congestion Control threshold monitoring"; + list congestion-control { + key "congestion-control-name"; + description + "Congestion Control threshold monitoring"; + leaf congestion-control-name { + type xr:Interface-name; + description + "Congestion Control threshold monitoring"; + } + leaf rising { + type uint32 { + range "0..100" { + description + "Threshold as configured percentage bandwidth of interface "; + } + } + description + "Upper threshold value"; + } + leaf falling { + type uint32 { + range "0..100" { + description + "Threshold as configured percentage bandwidth of interface "; + } + } + description + "Lower threshold value"; + } + leaf interval { + type uint32 { + range "5..1440" { + description + "Interval in multiples of 5 mins"; + } + } + description + "Congestion control sampling interval in multiples of 5 mins"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-fabric-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-fabric-cfg.yang new file mode 100644 index 000000000..0ca57f626 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-fabric-cfg.yang @@ -0,0 +1,65 @@ +module Cisco-IOS-XR-um-mibs-fabric-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-fabric-cfg"; + prefix um-mibs-fabric-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mibs-fabric package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-06-26 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container fabric { + description + "Enable SNMP fabric traps"; + container plane { + presence "Indicates a plane node is configured."; + description + "Enable SNMP fabric plane state change traps"; + } + container bundle { + description + "Enable SNMP fabric bundle traps"; + container state { + presence "Indicates a state node is configured."; + description + "Enable SNMP fabric bundle state change traps"; + } + container link { + presence "Indicates a link node is configured."; + description + "Enable SNMP fabric bundle downed link traps"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-ifmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-ifmib-cfg.yang new file mode 100644 index 000000000..a518bba82 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-ifmib-cfg.yang @@ -0,0 +1,207 @@ +module Cisco-IOS-XR-um-mibs-ifmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-ifmib-cfg"; + prefix um-mibs-ifmib-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mibs-ifmib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-25 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server-mibs" { + container ifindex { + description + "Enable ifindex persistence"; + container persist { + presence "Indicates a persist node is configured."; + description + "Persist interface indices"; + } + } + container interfaces { + description + "Enter the SNMP interface configuration commands"; + list interface { + key "interface-name"; + description + "Interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Interface to configure"; + } + container notification { + description + "Allow an SNMP notification type"; + container linkupdown { + description + "SNMP linkUp and linkDown notifications"; + container enable { + when "../../../interface-name[contains(text(),'.')] or ../../../interface-name[starts-with(text(),'Serial')] or ../../../interface-name[starts-with(text(),'ATM')] or ../../../interface-name[starts-with(text(),'IMA')]" { + tailf:dependency "../../../interface-name"; + } + presence "Indicates a enable node is configured."; + description + "Disable linkUp and linkDown notification"; + } + container disable { + when "../../../interface-name[not(contains(text(),'.'))] and ../../../interface-name[not(starts-with(text(),'Serial'))] and ../../../interface-name[not(starts-with(text(),'ATM'))] and ../../../interface-name[not(starts-with(text(),'IMA'))]" { + tailf:dependency "../../../interface-name"; + } + presence "Indicates a disable node is configured."; + description + "Disable linkUp and linkDown notification"; + } + } + } + container index { + description + "Configure ifIndex attributes"; + container persistence { + presence "Indicates a persistence node is configured."; + description + "Persistency across system reloads"; + } + } + } + container subsets { + description + "Add configuration for an interface subset"; + list subset { + must "notification/linkupdown"; + key "subset-number"; + description + "Add configuration for an interface subset"; + leaf subset-number { + type uint32 { + range "1..255" { + description + "The interface subset number"; + } + } + description + "Add configuration for an interface subset"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..130" { + description + "Regular expression to match ifName"; + } + } + mandatory true; + description + "Interfaces matching regular expression"; + } + container notification { + description + "Allow an SNMP notification type"; + container linkupdown { + presence "Indicates a linkupdown node is configured."; + description + "SNMP linkUp and linkDown notifications"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable linkUp and linkDown notification"; + } + } + } + } + } + } + container trap { + description + "MIB trap configurations"; + container link { + description + "Link up/down trap configuration"; + container ietf { + presence "Indicates a ietf node is configured."; + description + "Set the varbind of linkupdown trap to the RFC specified varbinds (default cisco)"; + } + } + } + container ifmib { + description + "IF-MIB configuration commands"; + container ifalias { + description + "Modify parameters for ifAlias object"; + container long { + presence "Indicates a long node is configured."; + description + "Enable support for ifAlias values longer than 64 characters"; + } + } + container stats { + description + "Modify IF-MIB statistics parameters"; + container cache { + presence "Indicates a cache node is configured."; + description + "Get cached interface statistics"; + } + } + container ipsubscriber { + presence "Indicates a ipsubscriber node is configured."; + description + "Enable ipsubscriber interfaces in IFMIB"; + } + container internal { + description + "IFMIB internal lookahead cache"; + container cache { + description + "Cached data"; + leaf max-duration { + type uint32 { + range "0..60" { + description + "Cache timeout"; + } + } + description + "Change the max duration"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-rfmib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-rfmib-cfg.yang new file mode 100644 index 000000000..18a9b3a9c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-rfmib-cfg.yang @@ -0,0 +1,58 @@ +module Cisco-IOS-XR-um-mibs-rfmib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-rfmib-cfg"; + prefix um-mibs-rfmib-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mibs-rfmib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container rf { + presence "Indicates a rf node is configured."; + description + "Enable SNMP RF-MIB traps"; + } + } + augment "/a1:snmp-server-mibs" { + container rfmib { + description + "Configure RFMIB parameters"; + container entphyindex { + presence "Indicates a entphyindex node is configured."; + description + "Enable Entity Physical Index as cRFStatusUnitId and cRFStatusPeerUnitId"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-sensormib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-sensormib-cfg.yang new file mode 100644 index 000000000..76abdf437 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-sensormib-cfg.yang @@ -0,0 +1,58 @@ +module Cisco-IOS-XR-um-mibs-sensormib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-sensormib-cfg"; + prefix um-mibs-sensormib-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mibs-sensormib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container sensor { + presence "Indicates a sensor node is configured."; + description + "Enable SNMP entity sensor traps"; + } + } + augment "/a1:snmp-server-mibs" { + container sensormib { + description + "sensormib related config"; + container cache { + presence "Indicates a cache node is configured."; + description + "Enables sensormib caching"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-subscriber-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-subscriber-cfg.yang new file mode 100644 index 000000000..0d3489081 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mibs-subscriber-cfg.yang @@ -0,0 +1,326 @@ +module Cisco-IOS-XR-um-mibs-subscriber-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-subscriber-cfg"; + prefix um-mibs-subscriber-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mibs-subscriber package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container subscriber { + description + "Subscriber notification commands"; + container session-agg { + description + "Session aggregation"; + container access-interface { + presence "Indicates a access-interface node is configured."; + description + "Subscriber notification at access interface level"; + } + container node { + presence "Indicates a node node is configured."; + description + "Subscriber notification at node level"; + } + } + } + } + augment "/a1:snmp-server-mibs" { + container subscriber { + description + "Subscriber threshold commands"; + container threshold { + description + "Subscriber threshold commands"; + container rising { + description + "Rising threshold"; + container access-ifs { + description + "Access interface"; + list access-if { + key "access-if-name"; + description + "Access interface"; + leaf access-if-name { + type xr:Interface-name; + description + "Access interface"; + } + leaf session-count { + type uint32 { + range "1..4294967294" { + description + "Session count"; + } + } + mandatory true; + description + "Session count"; + } + } + } + container locations { + description + "Rising node level"; + list location { + key "location-name"; + description + "Rising node level"; + leaf location-name { + type xr:Node-id; + description + "Rising node level"; + } + leaf session-count { + type uint32 { + range "1..4294967294" { + description + "Session count"; + } + } + mandatory true; + description + "Session count"; + } + } + } + } + container falling { + description + "Falling threshold"; + container access-ifs { + description + "Access interface"; + list access-if { + key "access-if-name"; + description + "Access interface"; + leaf access-if-name { + type xr:Interface-name; + description + "Access interface"; + } + leaf session-count { + type uint32 { + range "1..4294967294" { + description + "Session count"; + } + } + mandatory true; + description + "Session count"; + } + } + } + container locations { + description + "Falling node level"; + list location { + key "location-name"; + description + "Falling node level"; + leaf location-name { + type xr:Node-id; + description + "Falling node level"; + } + leaf session-count { + type uint32 { + range "1..4294967294" { + description + "Session count"; + } + } + mandatory true; + description + "Session count"; + } + } + } + } + container delta-loss { + description + "Delta loss keyword"; + container percent { + description + "Delta loss percent"; + container access-ifs { + description + "Access interface"; + list access-if { + key "access-if-name"; + description + "Access interface"; + leaf access-if-name { + type xr:Interface-name; + description + "Access interface"; + } + leaf session-count { + type uint32 { + range "1..100" { + description + "Loss of percentage"; + } + } + mandatory true; + description + "Percentage"; + } + } + } + container locations { + description + "Node Level"; + list location { + key "location-name"; + description + "Node Level"; + leaf location-name { + type xr:Node-id; + description + "Node Level"; + } + leaf session-count { + type uint32 { + range "1..100" { + description + "Percentage"; + } + } + mandatory true; + description + "Percentage"; + } + } + } + } + container evaluation { + description + "Evaluation keyword"; + container access-ifs { + description + "Access interface"; + list access-if { + key "access-if-name"; + description + "Access interface"; + leaf access-if-name { + type xr:Interface-name; + description + "Access interface"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Interval value in multiples of 10"; + } + } + mandatory true; + description + "interval"; + } + } + } + container locations { + description + "Node Level"; + list location { + key "location-name"; + description + "Node Level"; + leaf location-name { + type xr:Node-id; + description + "Node Level"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "interval value in multiples of 10"; + } + } + mandatory true; + description + "Interval"; + } + } + } + } + } + container access-if { + description + "Access interface for regular expression"; + container subsets { + description + "Subset command"; + list subset { + key "subset-id"; + description + "Subset command"; + leaf subset-id { + type uint32 { + range "1..255" { + description + "Subset number"; + } + } + description + "Subset command"; + } + leaf regular-expression { + type string { + length "1..800" { + description + "Regular expression to match interfae name"; + } + } + description + "Regular expression"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mirror-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mirror-cfg.yang new file mode 100644 index 000000000..1bd0f6850 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mirror-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-um-mirror-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mirror-cfg"; + prefix um-mirror-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mirror package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-01 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container mirror { + description + "Configure settings for mirror directory"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable mirror directory. This config is no longer required since mirror_server is now always enabled."; + container checksum { + presence "Indicates a checksum node is configured."; + description + "rsync will use --checksum option for determining if file is in sync"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-monitor-session-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-monitor-session-cfg.yang new file mode 100644 index 000000000..f4b275520 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-monitor-session-cfg.yang @@ -0,0 +1,1958 @@ +module Cisco-IOS-XR-um-monitor-session-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-monitor-session-cfg"; + prefix um-monitor-session-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-if-l2transport-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR monitor-session package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-03 { + description + "Added merge-groups and drops SPAN features + 2022-07-11 + Added missing description statement to nodes + 2021-12-17 + Added container mirror/first & leaf router-id, updated enum values for leaf interval"; + semver:module-version "1.0.1M"; + } + revision 2021-03-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + description + "Grouping for interface"; + container monitor-sessions { + description + "Monitor-session configuration commands"; + list monitor-session { + must "ethernet or ipv4 or ipv6 or mpls-ipv4 or mpls-ipv6"; + key "session-name"; + description + "Monitor-session configuration commands"; + leaf session-name { + type string { + length "1..79" { + description + "Session Name"; + } + } + description + "Monitor-session configuration commands"; + } + container ethernet { + must "not(../ipv4 or ../ipv6 or ../mpls-ipv4 or ../mpls-ipv6)"; + presence "Indicates a ethernet node is configured."; + description + "Replicate Ethernet traffic"; + } + container ipv4 { + must "not(../ethernet or ../ipv6 or ../mpls-ipv4 or ../mpls-ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "Replicate IPv4 traffic"; + } + container ipv6 { + must "not(../ipv4 or ../ethernet or ../mpls-ipv4 or ../mpls-ipv6)"; + presence "Indicates a ipv6 node is configured."; + description + "Replicate IPv6 traffic"; + } + container mpls-ipv4 { + must "not(../ipv4 or ../ipv6 or ../ethernet or ../mpls-ipv6)"; + presence "Indicates a mpls-ipv4 node is configured."; + description + "Replicate MPLS-IPv4 traffic"; + } + container mpls-ipv6 { + must "not(../ipv4 or ../ipv6 or ../mpls-ipv4 or ../ethernet)"; + presence "Indicates a mpls-ipv6 node is configured."; + description + "Replicate MPLS-IPv6 traffic"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + leaf merge-group { + type uint32 { + range "1..65535" { + description + "Group number to add ACL to"; + } + } + description + "Group multiple ACLs into a group"; + } + leaf priority { + type uint32 { + range "1..65535" { + description + "Lower number takes greater priority over other ACLs"; + } + } + must "../merge-group"; + description + "Determines which acl takes priority over another in the group (will take lowest priority by default)"; + } + } + container acl-ipv4 { + description + "Enable IPv4 ACL based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "IPV4 ACL name"; + } + leaf merge-group { + type uint32 { + range "1..65535" { + description + "Group number to add ACL to"; + } + } + description + "Group multiple ACLs into a group"; + } + leaf priority { + type uint32 { + range "1..65535" { + description + "Lower number takes greater priority over other ACLs"; + } + } + must "../merge-group"; + description + "Determines which acl takes priority over another in the group (will take lowest priority by default)"; + } + } + container acl-ipv6 { + description + "Enable IPv6 ACL based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "IPV6 ACL name"; + } + leaf merge-group { + type uint32 { + range "1..65535" { + description + "Group number to add ACL to"; + } + } + description + "Group multiple ACLs into a group"; + } + leaf priority { + type uint32 { + range "1..65535" { + description + "Lower number takes greater priority over other ACLs"; + } + } + must "../merge-group"; + description + "Determines which acl takes priority over another in the group (will take lowest priority by default)"; + } + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + enum "2" { + value 7; + description + "Mirror 1 in every 2 packets"; + } + enum "4" { + value 8; + description + "Mirror 1 in every 4 packets"; + } + enum "8" { + value 9; + description + "Mirror 1 in every 8 packets"; + } + enum "16" { + value 10; + description + "Mirror 1 in every 16 packets"; + } + enum "32" { + value 11; + description + "Mirror 1 in every 32 packets"; + } + enum "64" { + value 12; + description + "Mirror 1 in every 64 packets"; + } + enum "128" { + value 13; + description + "Mirror 1 in every 128 packets"; + } + enum "256" { + value 14; + description + "Mirror 1 in every 256 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + } + } + container monitor-session-deprecated { + description + "Monitor-session deprecated configuration commands"; + container ethernet { + presence "Indicates a ethernet node is configured."; + description + "Replicate Ethernet traffic"; + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..79" { + description + "Session Name"; + } + } + mandatory true; + description + "Session Name"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + } + leaf acl-ipv4 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "Enable IPv4 ACL based mirroring"; + } + leaf acl-ipv6 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "Enable IPv6 ACL based mirroring"; + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + } + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Replicate IPv4 traffic"; + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..79" { + description + "Session Name"; + } + } + mandatory true; + description + "Session Name"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + } + leaf acl-ipv4 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "Enable IPv4 ACL based mirroring"; + } + leaf acl-ipv6 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "Enable IPv6 ACL based mirroring"; + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "Replicate IPv6 traffic"; + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..79" { + description + "Session Name"; + } + } + mandatory true; + description + "Session Name"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + } + leaf acl-ipv4 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "Enable IPv4 ACL based mirroring"; + } + leaf acl-ipv6 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "Enable IPv6 ACL based mirroring"; + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + } + container mpls-ipv4 { + presence "Indicates a mpls-ipv4 node is configured."; + description + "Replicate MPLS-IPv4 traffic"; + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..79" { + description + "Session Name"; + } + } + mandatory true; + description + "Session Name"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + } + leaf acl-ipv4 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "Enable IPv4 ACL based mirroring"; + } + leaf acl-ipv6 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "Enable IPv6 ACL based mirroring"; + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + } + container mpls-ipv6 { + presence "Indicates a mpls-ipv6 node is configured."; + description + "Replicate MPLS-IPv6 traffic"; + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..79" { + description + "Session Name"; + } + } + mandatory true; + description + "Session Name"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + } + leaf acl-ipv4 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "Enable IPv4 ACL based mirroring"; + } + leaf acl-ipv6 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "Enable IPv6 ACL based mirroring"; + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + } + } + } + + grouping L2TRANS-BODY { + description + "Grouping for l2transport"; + container monitor-sessions { + description + "Monitor-session configuration commands"; + list monitor-session { + must "ethernet or ipv4 or ipv6 or mpls-ipv4 or mpls-ipv6"; + key "session-name"; + description + "Monitor-session configuration commands"; + leaf session-name { + type string { + length "1..79" { + description + "Session Name"; + } + } + description + "Monitor-session configuration commands"; + } + container ethernet { + must "not(../ipv4 or ../ipv6 or ../mpls-ipv4 or ../mpls-ipv6)"; + presence "Indicates a ethernet node is configured."; + description + "Replicate Ethernet traffic"; + } + container ipv4 { + must "not(../ethernet or ../ipv6 or ../mpls-ipv4 or ../mpls-ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "Replicate IPv4 traffic"; + } + container ipv6 { + must "not(../ipv4 or ../ethernet or ../mpls-ipv4 or ../mpls-ipv6)"; + presence "Indicates a ipv6 node is configured."; + description + "Replicate IPv6 traffic"; + } + container mpls-ipv4 { + must "not(../ipv4 or ../ipv6 or ../ethernet or ../mpls-ipv6)"; + presence "Indicates a mpls-ipv4 node is configured."; + description + "Replicate MPLS-IPv4 traffic"; + } + container mpls-ipv6 { + must "not(../ipv4 or ../ipv6 or ../mpls-ipv4 or ../ethernet)"; + presence "Indicates a mpls-ipv6 node is configured."; + description + "Replicate MPLS-IPv6 traffic"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + leaf merge-group { + type uint32 { + range "1..65535" { + description + "Group number to add ACL to"; + } + } + description + "Group multiple ACLs into a group"; + } + leaf priority { + type uint32 { + range "1..65535" { + description + "Lower number takes greater priority over other ACLs"; + } + } + must "../merge-group"; + description + "Determines which acl takes priority over another in the group (will take lowest priority by default)"; + } + } + container acl-ipv4 { + description + "Enable IPv4 ACL based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "IPV4 ACL name"; + } + leaf merge-group { + type uint32 { + range "1..65535" { + description + "Group number to add ACL to"; + } + } + description + "Group multiple ACLs into a group"; + } + leaf priority { + type uint32 { + range "1..65535" { + description + "Lower number takes greater priority over other ACLs"; + } + } + must "../merge-group"; + description + "Determines which acl takes priority over another in the group (will take lowest priority by default)"; + } + } + container acl-ipv6 { + description + "Enable IPv6 ACL based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "IPV6 ACL name"; + } + leaf merge-group { + type uint32 { + range "1..65535" { + description + "Group number to add ACL to"; + } + } + description + "Group multiple ACLs into a group"; + } + leaf priority { + type uint32 { + range "1..65535" { + description + "Lower number takes greater priority over other ACLs"; + } + } + must "../merge-group"; + description + "Determines which acl takes priority over another in the group (will take lowest priority by default)"; + } + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + } + } + container monitor-session-deprecated { + description + "Monitor-session deprecated configuration commands"; + container ethernet { + presence "Indicates a ethernet node is configured."; + description + "Replicate Ethernet traffic"; + leaf session-name { + type xr:Cisco-ios-xr-string { + length "1..79" { + description + "Session Name"; + } + } + mandatory true; + description + "Session Name"; + } + container direction { + description + "Specify the direction of traffic to replicate"; + container rx-only { + must "not(../tx-only)"; + presence "Indicates a rx-only node is configured."; + description + "Replicate only received (ingress) traffic"; + } + container tx-only { + must "not(../rx-only)"; + presence "Indicates a tx-only node is configured."; + description + "Replicate only transmitted (egress) traffic"; + } + } + container acl { + presence "Indicates a acl node is configured."; + description + "Enable acl based mirroring"; + leaf acl-name { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "ACL name"; + } + } + description + "ACL name"; + } + } + leaf acl-ipv4 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv4 ACL name"; + } + } + description + "Enable IPv4 ACL based mirroring"; + } + leaf acl-ipv6 { + type xr:Cisco-ios-xr-string { + length "1..80" { + description + "IPv6 ACL name"; + } + } + description + "Enable IPv6 ACL based mirroring"; + } + container mirror { + description + "Set the mirroring properties of this interface"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + leaf interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + } + description + "Enable mirroring of every Nth packet"; + } + } + container port-level { + presence "Indicates a port-level node is configured."; + description + "Replicate traffic on all interfaces of a main interface"; + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + description + "This augment extends active nodes configuration"; + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + description + "This augment extends preconfigured nodes configuration"; + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface/a2:l2transport" { + description + "This augment extends active nodes configuration"; + uses L2TRANS-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure/a2:l2transport" { + description + "This augment extends preconfigured nodes configuration"; + uses L2TRANS-BODY; + } + container monitor-sessions { + description + "Monitor-session configuration commands"; + list monitor-session { + key "session-name"; + description + "Session Name"; + leaf session-name { + type string { + length "1..79" { + description + "Session Name"; + } + } + description + "Session Name"; + } + leaf traffic-type { + type enumeration { + enum "ethernet" { + value 0; + description + "Replicate Ethernet traffic"; + } + enum "ipv4" { + value 1; + description + "Replicate IPv4 traffic"; + } + enum "ipv6" { + value 2; + description + "Replicate IPv6 traffic"; + } + enum "mpls-ipv4" { + value 3; + description + "Replicate MPLS-IPv4 traffic"; + } + enum "mpls-ipv6" { + value 4; + description + "Replicate MPLS-IPv6 traffic"; + } + } + mandatory true; + description + "Type of traffic to replicate"; + } + container destination { + description + "Specify the destination that traffic should be replicated to"; + leaf interface { + when + "../../traffic-type = 'ethernet' or ../../traffic-type = 'mpls-ipv4' + or ../../traffic-type = 'mpls-ipv6'"; + type xr:Interface-name; + must + "not(../pseudowire or ../next-hop/ipv4-address + or ../next-hop/ipv6-address or ../file or ../udp)"; + description + "Specify a destination interface"; + } + container pseudowire { + when "../../traffic-type = 'ethernet'"; + must + "not(../interface or ../next-hop/ipv4-address + or ../next-hop/ipv6-address or ../file or ../udp)"; + presence "Indicates a pseudowire node is configured."; + description + "Specify a pseudowire"; + } + container next-hop { + description + "Specify a destination next-hop IP address"; + leaf ipv4-address { + when + "../../../traffic-type = 'ethernet' + or ../../../traffic-type = 'ipv4'"; + type inet:ipv4-address-no-zone; + must + "not(../../interface or ../../pseudowire + or ../../file or ../../udp)"; + description + "Specify the destination next-hop IPv4 address"; + } + leaf ipv6-address { + when + "../../../traffic-type = 'ethernet' + or ../../../traffic-type = 'ipv6'"; + type inet:ipv6-address-no-zone; + must + "not(../../interface or ../../pseudowire + or ../../file or ../../udp)"; + description + "Specify an IPv6 address"; + } + leaf vrf { + type string { + length "1..32" { + description + "VRF name"; + } + } + must "../ipv4-address or ../ipv6-address"; + description + "Specify the vrf name"; + } + } + container udp { + must + "not(../interface or ../pseudowire or ../next-hop/ipv4-address + or ../next-hop/ipv6-address or ../file) + and (ipv4 or ipv6)"; + presence "Indicates a udp node is configured."; + description + "Specify a UDP destination"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6) and ../ipv4-source-ip"; + description + "Specify an IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4) and ../ipv6-source-ip"; + description + "Specify an IPv6 address"; + } + leaf port { + type uint32 { + range "0..65535" { + description + "Specify the destination port number"; + } + } + mandatory true; + description + "Specify the destination port number"; + } + leaf ipv4-source-ip { + type inet:ipv4-address-no-zone; + must "../ipv4"; + description + "Specify the source IPv4 address"; + } + leaf ipv6-source-ip { + type inet:ipv6-address-no-zone; + must "../ipv6"; + description + "Specify the source IPv6 address"; + } + leaf source-port { + type uint32 { + range "0..65535" { + description + "Specify the source port number"; + } + } + mandatory true; + description + "Specify the source port"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Specify the vrf name"; + } + } + container file { + must + "not(../interface or ../next-hop/ipv4-address + or ../next-hop/ipv6-address or ../pseudowire + or ../udp)"; + presence "Indicates a file node is configured."; + description + "Specify destination as a file"; + leaf size { + type uint32 { + range "1..16777216" { + description + "Specify size of buffer in kilobytes"; + } + } + description + "Specify the packet buffer size"; + } + container buffer-type { + description + "Specify the buffer type"; + container linear { + presence "Indicates a linear node is configured."; + description + "Specify a linear buffer"; + } + } + container format { + description + "Specify the file output file format"; + container pcapng { + presence "Indicates a pcapng node is configured."; + description + "Specify pcapng format"; + } + } + leaf filter { + type string { + length "1..800" { + description + "pcap filter expression"; + } + } + description + "Specify a pcap filter to apply - not yet supported"; + } + } + } + container rx { + description + "Specify the destination that rx traffic should be replicated to"; + leaf interface { + when + "../../traffic-type = 'ethernet' or ../../traffic-type = 'mpls-ipv4' + or ../../traffic-type = 'mpls-ipv6'"; + type xr:Interface-name; + must + "not(../pseudowire or ../next-hop/ipv4-address + or ../next-hop/ipv6-address)"; + description + "Specify a destination interface"; + } + container pseudowire { + when "../../traffic-type = 'ethernet'"; + must + "not(../interface or ../next-hop/ipv4-address + or ../next-hop/ipv6-address)"; + presence "Indicates a pseudowire node is configured."; + description + "Specify a pseudowire"; + } + container next-hop { + description + "Specify a destination next-hop IP address"; + leaf ipv4-address { + when + "../../../traffic-type = 'ethernet' + or ../../../traffic-type = 'ipv4'"; + type inet:ipv4-address-no-zone; + must "not(../../interface or ../../pseudowire)"; + description + "Specify the destination next-hop IPv4 address"; + } + leaf ipv6-address { + when + "../../../traffic-type = 'ethernet' + or ../../../traffic-type = 'ipv6'"; + type inet:ipv6-address-no-zone; + must + "not(../../interface or ../../pseudowire + or ../../udp)"; + description + "Specify an IPv6 address"; + } + leaf vrf { + type string { + length "1..32" { + description + "VRF name"; + } + } + must "../ipv4-address or ../ipv6-address"; + description + "Specify the vrf name"; + } + } + container udp { + must + "not(../interface or ../pseudowire or ../next-hop/ipv4-address + or ../next-hop/ipv6-address) + and (ipv4 or ipv6)"; + presence "Indicates a udp node is configured."; + description + "Specify a UDP destination"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6) and ../ipv4-source-ip"; + description + "Specify an IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4) and ../ipv6-source-ip"; + description + "Specify an IPv6 address"; + } + leaf port { + type uint32 { + range "0..65535" { + description + "Specify the destination port number"; + } + } + mandatory true; + description + "Specify the destination port number"; + } + leaf ipv4-source-ip { + type inet:ipv4-address-no-zone; + must "../ipv4"; + description + "Specify the source IPv4 address"; + } + leaf ipv6-source-ip { + type inet:ipv6-address-no-zone; + must "../ipv6"; + description + "Specify the source IPv6 address"; + } + leaf source-port { + type uint32 { + range "0..65535" { + description + "Specify the source port number"; + } + } + mandatory true; + description + "Specify the source port"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Specify the vrf name"; + } + } + } + container tx { + description + "Specify the destination that tx traffic should be replicated to"; + leaf interface { + when + "../../traffic-type = 'ethernet' or ../../traffic-type = 'mpls-ipv4' + or ../../traffic-type = 'mpls-ipv6'"; + type xr:Interface-name; + must + "not(../pseudowire or ../next-hop/ipv4-address + or ../next-hop/ipv6-address)"; + description + "Specify a destination interface"; + } + container pseudowire { + when "../../traffic-type = 'ethernet'"; + must + "not(../interface or ../next-hop/ipv4-address + or ../next-hop/ipv6-address)"; + presence "Indicates a pseudowire node is configured."; + description + "Specify a pseudowire"; + } + container next-hop { + description + "Specify a destination next-hop IP address"; + leaf ipv4-address { + when + "../../../traffic-type = 'ethernet' + or ../../../traffic-type = 'ipv4'"; + type inet:ipv4-address-no-zone; + must "not(../../interface or ../../pseudowire)"; + description + "Specify the destination next-hop IPv4 address"; + } + leaf ipv6-address { + when + "../../../traffic-type = 'ethernet' + or ../../../traffic-type = 'ipv6'"; + type inet:ipv6-address-no-zone; + must + "not(../../interface or ../../pseudowire + or ../../udp)"; + description + "Specify an IPv6 address"; + } + leaf vrf { + type string { + length "1..32" { + description + "VRF name"; + } + } + must "../ipv4-address or ../ipv6-address"; + description + "Specify the vrf name"; + } + } + container udp { + must + "not(../interface or ../pseudowire or ../next-hop/ipv4-address + or ../next-hop/ipv6-address) + and (ipv4 or ipv6)"; + presence "Indicates a udp node is configured."; + description + "Specify a UDP destination"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6) and ../ipv4-source-ip"; + description + "Specify an IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4) and ../ipv6-source-ip"; + description + "Specify an IPv6 address"; + } + leaf port { + type uint32 { + range "0..65535" { + description + "Specify the destination port number"; + } + } + mandatory true; + description + "Specify the destination port number"; + } + leaf ipv4-source-ip { + type inet:ipv4-address-no-zone; + must "../ipv4"; + description + "Specify the source IPv4 address"; + } + leaf ipv6-source-ip { + type inet:ipv6-address-no-zone; + must "../ipv6"; + description + "Specify the source IPv6 address"; + } + leaf source-port { + type uint32 { + range "0..65535" { + description + "Specify the source port number"; + } + } + mandatory true; + description + "Specify the source port"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Specify the vrf name"; + } + } + } + leaf inject-interface { + type xr:Interface-name; + description + "Specify the attachment interface into which traffic may be injected from the SPAN session's destination"; + } + container cloud-span { + presence "Indicates a cloud-span node is configured."; + description + "Configure CloudSPAN on this session"; + } + leaf discard-class { + type uint32 { + range "0..2" { + description + "Discard class value"; + } + } + description + "Specify the discard class value to be set on all traffic mirrored to the destination"; + } + leaf traffic-class { + type uint32 { + range "0..7" { + description + "Traffic class value"; + } + } + description + "Specify the traffic class value to be set on all traffic mirrored to the destination"; + } + container mirror { + description + "Set the mirroring properties of this session"; + leaf first { + type uint32 { + range "1..10000" { + description + "Specify the number of bytes to mirror"; + } + } + description + "Enable mirroring on the first portion of a packet"; + } + } + container forward-drop { + presence "Indicates a forward-drop node is configured."; + description + "Mirror all forwarding-dropped packets"; + container rx { + must "not(../tx)"; + presence "Indicates a rx node is configured."; + description + "Mirror Rx forwarding-dropped packets"; + } + container tx { + must "not(../rx)"; + presence "Indicates a tx node is configured."; + description + "Mirror Tx forwarding-dropped packets"; + } + } + container tm-drop { + presence "Indicates a tm-drop node is configured."; + description + "Mirror all traffic-management-dropped packets"; + container rx { + must "not(../tx)"; + presence "Indicates a rx node is configured."; + description + "Mirror Rx traffic-management-dropped packets"; + } + container tx { + must "not(../rx)"; + presence "Indicates a tx node is configured."; + description + "Mirror Tx traffic-management-dropped packets"; + } + } + } + leaf router-id { + type uint32 { + range "1..255" { + description + "Router ID value"; + } + } + description + "Specify the router ID"; + } + leaf mirror-interval { + type enumeration { + enum "512" { + value 1; + description + "Mirror 1 in every 512 packets"; + } + enum "1K" { + value 2; + description + "Mirror 1 in every 1024 packets"; + } + enum "2K" { + value 3; + description + "Mirror 1 in every 2048 packets"; + } + enum "4K" { + value 4; + description + "Mirror 1 in every 4096 packets"; + } + enum "8K" { + value 5; + description + "Mirror 1 in every 8192 packets"; + } + enum "16K" { + value 6; + description + "Mirror 1 in every 16384 packets"; + } + enum "2" { + value 7; + description + "Mirror 1 in every 2 packets"; + } + enum "4" { + value 8; + description + "Mirror 1 in every 4 packets"; + } + enum "8" { + value 9; + description + "Mirror 1 in every 8 packets"; + } + enum "16" { + value 10; + description + "Mirror 1 in every 16 packets"; + } + enum "32" { + value 11; + description + "Mirror 1 in every 32 packets"; + } + enum "64" { + value 12; + description + "Mirror 1 in every 64 packets"; + } + enum "128" { + value 13; + description + "Mirror 1 in every 128 packets"; + } + enum "256" { + value 14; + description + "Mirror 1 in every 256 packets"; + } + } + description + "Enable mirroring of every Nth packet on ALL sessions"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang new file mode 100644 index 000000000..ef0bb5e4d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-l3vpn-cfg.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XR-um-mpls-l3vpn-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-l3vpn-cfg"; + prefix um-mpls-l3vpn-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-04-04 { + description + "Initial version"; + } + + augment "/a1:snmp-server/a1:traps" { + container mpls { + description + "Enable SNMP MPLS traps"; + container l3vpn { + description + "Enable MPLS L3VPN traps"; + container all { + presence "Indicates a all node is configured."; + description + "Enable all MPLS L3VPN traps"; + } + container vrf-up { + presence "Indicates a vrf-up node is configured."; + description + "Enable VRF up traps"; + } + container vrf-down { + presence "Indicates a vrf-down node is configured."; + description + "Enable VRF down traps"; + } + container mid-threshold-exceeded { + presence "Indicates a mid-threshold-exceeded node is configured."; + description + "Enable mid-threshold exceeded traps"; + } + container max-threshold-exceeded { + presence "Indicates a max-threshold-exceeded node is configured."; + description + "Enable max-threshold exceeded traps"; + } + container max-threshold-cleared { + presence "Indicates a max-threshold-cleared node is configured."; + description + "Enable max-threshold cleared traps"; + } + leaf max-threshold-reissue-notif-time { + type uint32 { + range "0..2147483647" { + description + "Time interval in seconds"; + } + } + description + "Time interval (secs) for re-issuing max-threshold notification"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-ldp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-ldp-cfg.yang new file mode 100644 index 000000000..30f6329a6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-ldp-cfg.yang @@ -0,0 +1,2229 @@ +module Cisco-IOS-XR-um-mpls-ldp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-ldp-cfg"; + prefix um-mpls-ldp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-ldp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-01 { + description + "added entropy-label-add-el and clone-tunnel support + 2021-11-15 + added address-family ipv6 feature and rtr-id-arb-tlv "; + semver:module-version "3.1.0"; + } + revision 2021-07-09 { + description + "type correction for the ipv4/v6 address"; + semver:module-version "3.0.0"; + } + revision 2021-01-29 { + description + "Add enable container under recursive-fec container + 2021-01-28 + Added cisco-support task yang nodes + 2020-12-08 + Removed cisco-support yang nodes + 2020-07-10 + Added when statement to redistribute to show it's only for ipv4"; + semver:module-version "2.0.0"; + } + revision 2020-05-29 { + description + "Changed description for sac"; + } + revision 2019-12-10 { + description + "Corrected must statement definition for password/encrypted,disable"; + } + revision 2019-10-10 { + description + "Moved trap augments into Cisco-IOS-XR-um-traps-mpls-ldp-cfg."; + } + revision 2019-09-25 { + description + "Changed the list node name access-list to access-lists."; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + } + revision 2019-03-30 { + description + "Initial version"; + } + + container mpls { + description + "Global MPLS configuration subcommands"; + container ldp { + presence "Indicates a ldp node is configured."; + description + "Label Distribution Protocol"; + container mldp { + presence "Indicates a mldp node is configured."; + description + "Configure mLDP parameters"; + container logging { + description + "MLDP logging commands"; + container notifications { + presence "Indicates a notifications node is configured."; + description + "MLDP logging notifications"; + } + container internal { + presence "Indicates a internal node is configured."; + description + "MLDP logging internal"; + } + } + container vrfs { + description + "Configure VRF parameters"; + list vrf { + key "vrf-name"; + description + "Configure VRF parameters"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + description + "Configure VRF parameters"; + } + container address-families { + description + "Configure Address Family and its parameters"; + list address-family { + key "af-name"; + description + "Configure Address Family and its parameters"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 4; + description + "IPv4"; + } + } + description + "Configure Address Family and its parameters"; + } + container statics { + description + "Static mLDP LSP"; + list static { + key "lsp-address"; + description + "Staic mLDP LSP"; + leaf lsp-address { + type inet:ipv4-address-no-zone; + description + "LSP address"; + } + leaf p2mp { + type uint32 { + range "1..1000" { + description + "Number of LSPs"; + } + } + description + "P2MP LSP"; + } + leaf mp2mp { + type uint32 { + range "1..1000" { + description + "Number of LSPs"; + } + } + description + "MP2MP LSP"; + } + } + } + container make-before-break { + description + "Make Before Break"; + container delay { + presence "Indicates a delay node is configured."; + description + "MBB delay"; + leaf forwarding-delay { + type uint32 { + range "0..600" { + description + "Forwarding delay in seconds"; + } + } + mandatory true; + description + "MBB delay"; + } + leaf delete-delay { + type uint32 { + range "0..60" { + description + "Delete delay in seconds"; + } + } + default "0"; + description + "Delete delay in seconds"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container mofrr { + presence "Indicates a mofrr node is configured."; + description + "MLDP MoFRR support"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container neighbors { + description + "MLDP neighbor commands"; + container in { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container out { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + list neighbor { + must "in or out or (in and out)"; + key "neighbor-address"; + description + "MLDP neighbor commands"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + container in { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container out { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + } + } + container forwarding { + description + "Forwarding commands"; + container recursive { + presence "Indicates a recursive node is configured."; + description + "Enable recursive forwarding"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + } + container rib { + description + "RIB commands"; + container unicast-always { + presence "Indicates a unicast-always node is configured."; + description + "Always use unicast table for root lookup"; + } + } + } + } + } + } + container address-families { + description + "Configure Address Family and its parameters"; + list address-family { + key "af-name"; + description + "Configure Address Family and its parameters"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 4; + description + "IPv4"; + } + } + description + "Configure Address Family and its parameters"; + } + container statics { + description + "Static mLDP LSP"; + list static { + key "lsp-address"; + description + "Static mLDP LSP"; + leaf lsp-address { + type inet:ipv4-address-no-zone; + description + "LSP address"; + } + leaf p2mp { + type uint32 { + range "1..1000" { + description + "Number of LSPs"; + } + } + description + "P2MP LSP"; + } + leaf mp2mp { + type uint32 { + range "1..1000" { + description + "Number of LSPs"; + } + } + description + "MP2MP LSP"; + } + } + } + container make-before-break { + description + "Make Before Break"; + container delay { + presence "Indicates a delay node is configured."; + description + "MBB delay"; + leaf forwarding-delay { + type uint32 { + range "0..600" { + description + "Forwarding delay in seconds"; + } + } + mandatory true; + description + "MBB delay"; + } + leaf delete-delay { + type uint32 { + range "0..60" { + description + "Delete delay in seconds"; + } + } + default "0"; + description + "Delete delay in seconds"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container carrier-supporting-carrier { + presence "Indicates a carrier-supporting-carrier node is configured."; + description + "MLDP CSC support"; + } + container mofrr { + presence "Indicates a mofrr node is configured."; + description + "MLDP MoFRR support"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container recursive-fec { + description + "MLDP Recursive FEC support"; + container enable { + presence "Indicates a enable node is configured."; + description + "MLDP Recursive FEC enable"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container neighbors { + description + "MLDP neighbor commands"; + container in { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container out { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + list neighbor { + must "in or out or (in and out)"; + key "neighbor-address"; + description + "configure this node"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + container in { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + container out { + description + "Inbound route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + } + } + container forwarding { + description + "Forwarding commands"; + container recursive { + presence "Indicates a recursive node is configured."; + description + "Enable recursive forwarding"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy"; + } + } + } + container rib { + description + "RIB commands"; + container unicast-always { + presence "Indicates a unicast-always node is configured."; + description + "Always use unicast table for root lookup"; + } + } + } + } + } + container vrfs { + description + "Configure VRF parameters"; + list vrf { + key "vrf-name"; + description + "Configure VRF parameters"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + description + "Configure VRF parameters"; + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Configure router Id"; + } + container session { + description + "Configure session parameters"; + container downstream-on-demand { + description + "Downstream on demand label advertisment mode"; + leaf with { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + description + "Access list of LDP Peers"; + } + } + } + container graceful-restart { + description + "Configure graceful restart feature"; + container helper-peer { + description + "Configure parameters related to GR peer(s) operating in helper mode"; + container maintain-on-local-reset { + description + "Maintain the state of a GR peer upon a local reset"; + leaf for { + type string { + length "1..32" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + description + "Access list of LDP Peers"; + } + } + } + } + container neighbors { + description + "Configure neighbor parameters"; + container password { + description + "Configure password for MD5 authentication for all neighbors"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + } + list neighbor { + key "neighbor-address label-space-id"; + description + "neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + container password { + description + "Configure password for MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../disable)"; + description + "Specifies an ENCRYPTED password will follow"; + } + container disable { + must "not(../encrypted)"; + presence "Indicates a disable node is configured."; + description + "Disables the global password from this neighbor"; + } + } + } + } + container address-family { + description + "Configure Address Family and its parameters"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + container discovery { + description + "Configure discovery parameters"; + container transport-address { + presence "Indicates a transport-address node is configured."; + description + "Specify transport address for TCP connection"; + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address to be used as transport address"; + } + } + } + container label { + description + "Configure label control and policies"; + container local { + description + "Configure local label control and policies"; + container allocate { + description + "Configure label allocation control"; + container for { + description + "Limit label allocation to a set of prefixes"; + leaf ip-access-list { + type string { + length "1..1024" { + description + "IP access-list"; + } + } + must "not(../host-routes)"; + description + "IP access-list"; + } + container host-routes { + must "not(../ip-access-list)"; + presence "Indicates a host-routes node is configured."; + description + "Allocate label for host routes only"; + } + } + } + container default-route { + presence "Indicates a default-route node is configured."; + description + "Enable MPLS forwarding for default route"; + } + container implicit-null-override { + description + "Configure use of implicit-null local label for non-egress prefixes"; + leaf for { + type string { + length "1..32" { + description + "IP access-list"; + } + } + description + "Limit implicit-null label use to a set of prefixes"; + } + } + container advertise { + description + "Configure outbound label advertisement control"; + container explicit-null { + must "not(for and to)"; + presence "Indicates a explicit-null node is configured."; + description + "Configure explicit-null advertisement"; + container for { + presence "Indicates a for node is configured."; + description + "IP Access-list specifying controls on destination prefixes"; + leaf access-list { + type string { + length "1..1024" { + description + "IP access-list"; + } + } + mandatory true; + description + "IP Access-list specifying controls on destination prefixes"; + } + container to { + presence "Indicates a to node is configured."; + description + "IP Access-list specifying controls on LDP Peers"; + leaf access-list { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "IP Access-list specifying controls on LDP Peers"; + } + } + } + container to { + presence "Indicates a to node is configured."; + description + "IP Access-list specifying controls on LDP Peers"; + leaf access-list { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "IP Access-list specifying controls on LDP Peers"; + } + } + } + container to { + description + "Peer centric outbound label filtering"; + list neighbor { + key "neighbor-address label-space-id"; + description + "neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "neighbor address"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + leaf for { + type string { + length "1..32" { + description + "IP access-list"; + } + } + mandatory true; + description + "IP access-list for prefixes to be sent"; + } + } + } + container interfaces { + description + "Advertise interface host address"; + list interface { + key "interface-name"; + description + "Advertise interface host address"; + leaf interface-name { + type xr:Interface-name; + description + "Advertise interface host address"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable label advertisement to all peers for all prefixes"; + } + } + } + container remote { + description + "Configure remote/peer label control and policies"; + container accept { + description + "Configure inbound label acceptance control"; + container from { + description + "Neighbor from whom to accept label advertisement"; + list neighbor { + key "neighbor-address label-space-id"; + description + "Neighbor from whom to accept label advertisement"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor from whom to accept label advertisement"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + leaf for { + type string { + length "1..32" { + description + "IP access-list"; + } + } + description + "IP access-list for destination prefixes"; + } + } + } + } + } + } + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6"; + container discovery { + description + "Configure discovery parameters"; + container transport-address { + description + "Specify transport address for TCP connection"; + leaf ip-address { + type inet:ipv6-address-no-zone; + description + "IP address to be used as transport address"; + } + } + } + container label { + description + "Configure label control and policies"; + container local { + description + "Configure local label control and policies"; + container allocate { + description + "Configure label allocation control"; + container for { + description + "Limit label allocation to a set of prefixes"; + leaf ip-access-list { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access-list"; + } + } + must "not(../host-routes)"; + description + "IP access-list"; + } + container host-routes { + must "not(../ip-access-list)"; + presence "Indicates a host-routes node is configured."; + description + "Allocate label for host routes only"; + } + } + } + container default-route { + presence "Indicates a default-route node is configured."; + description + "Enable MPLS forwarding for default route"; + } + container implicit-null-override { + description + "Configure use of implicit-null local label for non-egress prefixes"; + leaf for { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access-list"; + } + } + description + "Limit implicit-null label use to a set of prefixes"; + } + } + container advertise { + description + "Configure outbound label advertisement control"; + container explicit-null { + must "not(for and to)"; + presence "Indicates a explicit-null node is configured."; + description + "Configure explicit-null advertisement"; + container for { + presence "Indicates a for node is configured."; + description + "IP Access-list specifying controls on destination prefixes"; + leaf access-list { + type string { + length "1..1024" { + description + "IP access-list"; + } + } + mandatory true; + description + "IP Access-list specifying controls on destination prefixes"; + } + container to { + presence "Indicates a to node is configured."; + description + "IP Access-list specifying controls on LDP Peers"; + leaf access-list { + type string { + length "1..1024" { + description + "IPv6 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "IP Access-list specifying controls on LDP Peers"; + } + } + } + container to { + presence "Indicates a to node is configured."; + description + "IP Access-list specifying controls on LDP Peers"; + leaf access-list { + type string { + length "1..1024" { + description + "IPv6 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "IP Access-list specifying controls on LDP Peers"; + } + } + } + container to { + description + "Peer centric outbound label filtering"; + list neighbor { + key "neighbor-address label-space-id"; + description + "neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "neighbor address"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + leaf for { + type string { + length "1..32" { + description + "IP access-list"; + } + } + mandatory true; + description + "IP access-list for prefixes to be sent"; + } + } + } + container interfaces { + description + "Advertise interface host address"; + list interface { + key "interface-name"; + description + "Advertise interface host address"; + leaf interface-name { + type xr:Interface-name; + description + "Advertise interface host address"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable label advertisement to all peers for all prefixes"; + } + } + } + container remote { + description + "Configure remote/peer label control and policies"; + container accept { + description + "Configure inbound label acceptance control"; + container from { + description + "Neighbor from whom to accept label advertisement"; + list neighbor { + key "neighbor-address label-space-id"; + description + "Neighbor from whom to accept label advertisement"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor from whom to accept label advertisement"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + leaf for { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "IP access-list"; + } + } + mandatory true; + description + "IP access-list for destination prefixes"; + } + } + } + } + } + } + } + } + container interfaces { + description + "Enable LDP on an interface and enter interface submode"; + list interface { + key "interface-name"; + description + "Enable LDP on an interface and enter interface submode"; + leaf interface-name { + type xr:Interface-name; + description + "Enable LDP on an interface and enter interface submode"; + } + container address-family { + description + "Configure Address Family and its parameters"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + container discovery { + description + "Configure discovery parameters"; + container transport-address { + must "(interface and not(ip-address)) or (ip-address and not(interface))"; + presence "Indicates a transport-address node is configured."; + description + "Specify interface LDP transport address"; + container interface { + presence "Indicates a interface node is configured."; + description + "Use this interface address as transport address"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address to be used as transport address"; + } + } + } + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6"; + container discovery { + description + "Configure discovery parameters"; + container transport-address { + description + "Specify interface LDP transport address"; + container interface { + must "not(../ip-address)"; + presence "Indicates a interface node is configured."; + description + "Use this interface address as transport address"; + } + leaf ip-address { + type inet:ipv6-address-no-zone; + must "not(../interface)"; + description + "IP address to be used as transport address"; + } + } + } + } + } + } + } + } + } + container ltrace-buffer { + description + "Configure ltrace buffer file"; + leaf multiplier { + type uint32 { + range "1..5" { + description + "Multiplier factor"; + } + } + description + "Ltrace buffer file size multiplier"; + } + } + container default-vrf { + description + "Control default VRF behaviour"; + container implicit-ipv4 { + description + "Control Implicit enabling of IPv4 address family behavior"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the implicit enabling for IPv4 address family "; + } + } + } + container session { + description + "Configure session parameters"; + container backoff { + presence "Indicates a backoff node is configured."; + description + "Configure session backoff parameters"; + leaf backoff-time { + type uint32 { + range "5..2147483" { + description + "Initial session backoff time (seconds)"; + } + } + mandatory true; + description + "Configure session backoff parameters"; + } + leaf maximum-session-backoff-time { + type uint32 { + range "5..2147483" { + description + "Maximum session backoff time (seconds)"; + } + } + mandatory true; + description + "Maximum session backoff time (seconds)"; + } + } + leaf holdtime { + type uint32 { + range "15..65535" { + description + "Time (seconds)"; + } + } + description + "Configure session holdtime"; + } + container downstream-on-demand { + description + "Downstream on demand label advertisment mode"; + leaf with { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + description + "Access list of LDP Peers"; + } + } + container protection { + presence "Indicates a protection node is configured."; + description + "Configure session protection parameters"; + container for { + must "not(../duration)"; + presence "Indicates a for node is configured."; + description + "IP Access list to specify LDP Peers"; + leaf for-access-list { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "IP Access list to specify LDP Peers"; + } + container duration { + description + "Session protection duration after loss of link discovery"; + leaf holdup-time { + type uint32 { + range "30..2147483" { + description + "Holdup time in seconds"; + } + } + must "not(../infinite)"; + description + "Holdup time in seconds"; + } + container infinite { + must "not(../holdup-time)"; + presence "Indicates a infinite node is configured."; + description + "Protect session forever after loss of link discovery"; + } + } + } + container duration { + must "not(../for) and (holdup-time or infinite)"; + presence "Indicates a duration node is configured."; + description + "Session protection duration after loss of link discovery"; + leaf holdup-time { + type uint32 { + range "30..2147483" { + description + "Holdup time in seconds"; + } + } + must "not(../infinite)"; + description + "Holdup time in seconds"; + } + container infinite { + must "not(../holdup-time)"; + presence "Indicates a infinite node is configured."; + description + "Protect session forever after loss of link discovery"; + } + } + } + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "Configure Non-Stop Routing"; + } + container entropy-label { + presence "Indicates a entropy-label node is configured."; + description + "Configure Entropy Label"; + } + container entropy-label-add-el { + presence "Indicates a add-el node is configured."; + description + "Configure Entropy Label"; + } + container signalling { + description + "Configure signalling parameters"; + leaf dscp { + type uint32 { + range "0..63" { + description + "Differentiated Services Code Point (DSCP)"; + } + } + description + "Set DSCP for LDP control packets"; + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Configure graceful restart feature"; + } + leaf graceful-restart-reconnect-timeout { + type uint32 { + range "60..1800" { + description + "Time (seconds)"; + } + } + description + "Session Reconnect timeout"; + } + leaf graceful-restart-forwarding-state-holdtime { + type uint32 { + range "60..1800" { + description + "Time (seconds)"; + } + } + description + "Forwarding State holdtime for a restarting LSR"; + } + container graceful-restart-helper-peer { + description + "Configure parameters related to GR peer(s) operating in helper mode"; + container maintain-on-local-reset { + presence "Indicates a maintain-on-local-reset node is configured."; + description + "Maintain the state of a GR peer upon a local reset"; + leaf for { + type string { + length "1..32" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "Access list of LDP Peers"; + } + } + } + container igp { + description + "Configure igp parameters"; + container sync { + description + "Configure LDP-IGP synchronization parameters"; + container delay { + description + "Configure sync up delay after session up"; + leaf on-session-up { + type uint32 { + range "5..300" { + description + "Interface sync-up delay (seconds)"; + } + } + description + "Interface sync-up delay after session up"; + } + leaf on-proc-restart { + type uint32 { + range "60..600" { + description + "Global sync-up delay (seconds)"; + } + } + description + "Global sync up delay to be used after process restart"; + } + } + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Configure router Id"; + } + container capabilities { + description + "Configure LDP Capabilities"; + container cisco { + description + "Cisco capabilities options"; + container ios-xr { + description + "Cisco IOS-XR capabilities options"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Cisco IOS-XR capability"; + } + } + } + container sac { + presence "Indicates a sac node is configured."; + description + "State Advertisement Control"; + container ipv4-disable { + presence "Indicates a ipv4-disable node is configured."; + description + "Disable exchanging IPv4 prefix label bindings"; + } + container ipv6-disable { + presence "Indicates a ipv6-disable node is configured."; + description + "Disable exchanging IPv6 prefix label bindings"; + } + container fec128-disable { + presence "Indicates a fec128-disable node is configured."; + description + "Disable exchanging PW FEC128 label bindings"; + } + container fec129-disable { + presence "Indicates a fec129-disable node is configured."; + description + "Disable exchanging PW FEC129 label bindings"; + } + } + } + container log { + description + "Configure logging of LDP events"; + container hello-adjacency { + presence "Indicates a hello-adjacency node is configured."; + description + "Hello adjacency events"; + } + container neighbor { + presence "Indicates a neighbor node is configured."; + description + "Neighbor events"; + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "NSR synchronization events"; + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Graceful Restart events"; + } + container session-protection { + presence "Indicates a session-protection node is configured."; + description + "Session Protection events"; + } + } + container discovery { + description + "Configure discovery parameters"; + container hello { + description + "LDP Link Hellos"; + leaf holdtime { + type uint32 { + range "1..65535" { + description + "Time (seconds) - 65535 implies infinite"; + } + } + description + "Hello holdtime"; + } + leaf interval { + type uint32 { + range "1..65535" { + description + "Time (seconds)"; + } + } + description + "Hello interval"; + } + } + container targeted-hello { + description + "LDP Targeted Hellos"; + leaf holdtime { + type uint32 { + range "1..65535" { + description + "Time (seconds) - 65535 implies infinite"; + } + } + description + "Targeted hello holdtime"; + } + leaf interval { + type uint32 { + range "1..65535" { + description + "Time (seconds)"; + } + } + description + "Targeted Hello interval"; + } + } + container instance-tlv { + description + "Control support for Neighbor instance TLV in Hello messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable transmit and receive processing for TLV"; + } + } + container ds-tlv { + description + "Control Dual Stack TLV sending"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable transmit and receive processing for TLV"; + } + } + container rtr-id-arb-tlv { + description + "Control support for Router ID based arbitration TLV in Hello messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable transmit and receive processing for TLV"; + } + } + container quick-start { + description + "Control quick discovery and initial burst of hello"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable quick discovery"; + } + } + } + container neighbor { + description + "Configure neighbor parameters"; + container dual-stack { + description + "Configure dual stack ipv4/ipv6 neighbor parameters"; + container transport-connection { + description + "Configure TCP transport parameters for neighbors"; + container prefer { + description + "Configure prefered address family for TCP transport connection with neighbors"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4"; + } + } + leaf max-wait { + type uint32 { + range "0..60" { + description + "Wait time in seconds (0 indicates no preference)"; + } + } + description + "Maximum wait for prefered transport connection establishment"; + } + } + container tlv-compliance { + presence "Indicates a tlv-compliance node is configured."; + description + "Configure dual-stack tlv compliance checks"; + } + } + container password { + description + "Configure password for MD5 authentication for all neighbors"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + } + container neighbors { + description + "neighbor"; + list neighbor { + key "neighbor-address label-space-id"; + description + "configure this node"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + container password { + description + "Configure password for MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + must " not(../disable)"; + description + "Specifies an ENCRYPTED password will follow"; + } + container disable { + must " not(../encrypted)"; + presence "Indicates a disable node is configured."; + description + "Disables the global password from this neighbor"; + } + } + } + } + } + container address-families { + description + "Configure Address Family and its parameters"; + list address-family { + key "af-name"; + description + "Configure Address Family and its parameters"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 4; + description + "IPv4"; + } + enum "ipv6" { + value 6; + description + "IPv6"; + } + } + description + "Configure Address Family and its parameters"; + } + container discovery { + description + "Configure discovery parameters"; + container transport-address { + presence "Indicates a transport-address node is configured."; + description + "Specify transport address for TCP connection"; + leaf ipv4-address { + when "../../../af-name = 'ipv4'"; + type inet:ipv4-address-no-zone; + description + "IP address to be used as transport address"; + } + leaf ipv6-address { + when "../../../af-name = 'ipv6'"; + type inet:ipv6-address-no-zone; + description + "IP address to be used as transport address"; + } + } + container targeted-hello { + description + "LDP Targeted Hellos"; + container accept { + presence "Indicates a accept node is configured."; + description + "Accept and respond to targeted hellos"; + leaf from { + type string { + length "1..1024" { + description + "access-list"; + } + } + description + "IP Access list to specify acceptable targeted hello sources"; + } + } + } + } + container neighbor { + description + "Configure neighbor parameters"; + container ipv4-addresses { + when "../../af-name = 'ipv4'"; + description + "IP address of neighbor"; + list targeted { + key "neighbor-address"; + description + "Establish targeted session"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "IP address of neighbor"; + } + } + } + container ipv6-addresses { + when "../../af-name = 'ipv6'"; + description + "IP address of neighbor"; + list targeted { + key "neighbor-address"; + description + "Establish targeted session"; + leaf neighbor-address { + type inet:ipv6-address-no-zone; + description + "IP address of neighbor"; + } + } + } + container sr-policies { + description + "Configure Segment Routing policy parameters"; + list sr-policy { + key "policy-name"; + description + "Segment Routing policy name"; + leaf policy-name { + type string { + length "1..59" { + description + "Segment Routing policy name"; + } + } + description + "Segment Routing policy name"; + } + container targeted { + presence "Indicates a targeted node is configured."; + description + "Establish targeted session"; + } + } + } + } + container traffic-eng { + description + "Configure LDP parameters for MPLS Traffic-Engineering (TE)"; + container auto-tunnel { + description + "Configure LDP TE auto-tunnel related parameters"; + container mesh { + description + "Configure TE auto-tunnel mesh groups"; + container groups { + description + "Configure an auto-tunnel mesh group of interfaces in LDP"; + list group { + key "group-id"; + description + "Configure an auto-tunnel mesh group of interfaces in LDP"; + leaf group-id { + type uint32 { + range "0..4294967295" { + description + "The TE mesh group ID on which to enable LDP"; + } + } + description + "Configure an auto-tunnel mesh group of interfaces in LDP"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "Enable LDP on all TE meshgroup interfaces"; + } + } + } + } + } + container redistribute { + when "../af-name = 'ipv4'"; + description + "Redistribute routes from routing protocols"; + container bgp { + description + "Redistribute routes from BGP protocol"; + leaf as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf advertise-to { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + description + "IP access list specifying LDP peers to advertise"; + } + } + } + container label { + description + "Configure label control and policies"; + container local { + description + "Configure local label control and policies"; + container allocate { + description + "Configure label allocation control"; + container for { + description + "Limit label allocation to a set of prefixes"; + leaf access-list { + type string { + length "1..1024" { + description + "IP access-list"; + } + } + must "not(../host-routes)"; + description + "IP access-list"; + } + container host-routes { + must "not(../access-list)"; + presence "Indicates a host-routes node is configured."; + description + "Allocate label for host routes only"; + } + } + } + container default-route { + presence "Indicates a default-route node is configured."; + description + "Enable MPLS forwarding for default route"; + } + container implicit-null-override { + description + "Configure use of implicit-null local label for non-egress prefixes"; + leaf for { + type string { + length "1..32" { + description + "IP access-list"; + } + } + description + "Limit implicit-null label use to a set of prefixes"; + } + } + container advertise { + description + "Configure outbound label advertisement control"; + container explicit-null { + must "not(for and to)"; + presence "Indicates a explicit-null node is configured."; + description + "Configure explicit-null advertisement"; + container for { + presence "Indicates a for node is configured."; + description + "IP Access-list specifying controls on destination prefixes"; + leaf access-list { + type string { + length "1..1024" { + description + "IP access-list"; + } + } + mandatory true; + description + "IP Access-list specifying controls on destination prefixes"; + } + container to { + presence "Indicates a to node is configured."; + description + "IP Access-list specifying controls on LDP Peers"; + leaf access-list { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "IP Access-list specifying controls on LDP Peers"; + } + } + } + container to { + presence "Indicates a to node is configured."; + description + "IP Access-list specifying controls on LDP Peers"; + leaf access-list { + type string { + length "1..1024" { + description + "IPv4 access-list (specify peer LSR Ids)"; + } + } + mandatory true; + description + "IP Access-list specifying controls on LDP Peers"; + } + } + } + container to { + description + "Peer centric outbound label filtering"; + list neighbor { + key "neighbor-address label-space-id"; + description + "neighbor"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "neighbor address"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + leaf for { + type string { + length "1..32" { + description + "IP access-list"; + } + } + mandatory true; + description + "IP access-list for prefixes to be sent"; + } + } + } + container interfaces { + description + "Advertise interface host address"; + list interface { + key "interface-name"; + description + "Advertise interface host address"; + leaf interface-name { + type xr:Interface-name; + description + "Advertise interface host address"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable label advertisement to all peers for all prefixes"; + } + container for { + description + "Prefix centric outbound label filtering"; + list access-lists { + key "access-list-name"; + description + "Prefix centric outbound label filtering"; + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "IP access-list"; + } + } + description + "Prefix centric outbound label filtering"; + } + leaf to { + type string { + length "1..1024" { + description + "IP access-list"; + } + } + description + "IP access-list for LDP peers"; + } + } + } + } + } + container remote { + description + "Configure remote/peer label control and policies"; + container accept { + description + "Configure inbound label acceptance control"; + container from { + description + "Neighbor from whom to accept label advertisement"; + list neighbor { + key "neighbor-address label-space-id"; + description + "Neighbor from whom to accept label advertisement"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Neighbor from whom to accept label advertisement"; + } + leaf label-space-id { + type uint32 { + range "0" { + description + "Label Space Id of neighbor"; + } + } + description + "Label Space Id of neighbor"; + } + leaf for { + type string { + length "1..32" { + description + "IP access-list"; + } + } + description + "IP access-list for destination prefixes"; + } + } + } + } + } + } + } + } + container interfaces { + description + "Enable LDP on an interface and enter interface submode"; + list interface { + key "interface-name"; + description + "Enable LDP on an interface and enter interface submode"; + leaf interface-name { + type xr:Interface-name; + description + "Enable LDP on an interface and enter interface submode"; + } + container discovery { + description + "Configure discovery parameters"; + container hello { + description + "LDP Link Hellos"; + leaf holdtime { + type uint32 { + range "1..65535" { + description + "Time (seconds) - 65535 implies infinite"; + } + } + description + "Hello holdtime"; + } + leaf interval { + type uint32 { + range "1..65535" { + description + "Time (seconds)"; + } + } + description + "Hello interval"; + } + leaf dual-stack-tlv { + type enumeration { + enum "ipv4" { + value 4; + description + "IPv4"; + } + enum "ipv6" { + value 6; + description + "IPv6"; + } + } + description + "Change AF preference in Dual Stack TLV"; + } + } + container quick-start { + description + "Control quick discovery and initial burst of hello"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable quick discovery"; + } + } + } + container igp { + description + "Configure igp parameters"; + container sync { + description + "Configure LDP-IGP synchronization parameters"; + container delay { + description + "Configure sync up delay"; + container on-session-up { + description + "Interface sync-up delay after session up"; + leaf interface-sync-up-delay { + type uint32 { + range "5..300" { + description + "Interface sync-up delay (seconds)"; + } + } + must "not(../disable)"; + description + "Interface sync-up delay (seconds)"; + } + container disable { + must "not(../interface-sync-up-delay)"; + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + } + } + container address-families { + description + "Configure Address Family and its parameters"; + list address-family { + key "af-name"; + description + "Configure Address Family and its parameters"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 4; + description + "IPv4"; + } + enum "ipv6" { + value 6; + description + "IPv6"; + } + } + description + "Configure Address Family and its parameters"; + } + container discovery { + description + "Configure discovery parameters"; + container transport-address { + must "(interface and not(ip-address)) or (ip-address and not(interface))"; + presence "Indicates a transport-address node is configured."; + description + "Specify interface LDP transport address"; + container interface { + presence "Indicates a interface node is configured."; + description + "Use this interface address as transport address"; + } + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address to be used as transport address"; + } + } + } + container igp { + description + "Configure igp parameters"; + container auto-config { + description + "Auto-configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + container mldp { + description + "Configure mLDP parameters"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable mLDP on LDP enabled interface"; + } + } + container clone-tunnel { + presence "Indicates a clone-tunnel node is configured."; + description + "Clone tunnels for LDP"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-lsd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-lsd-cfg.yang new file mode 100644 index 000000000..99c5303ba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-lsd-cfg.yang @@ -0,0 +1,280 @@ +module Cisco-IOS-XR-um-mpls-lsd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-lsd-cfg"; + prefix um-mpls-lsd-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-lsd package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-28 { + description + "Added cisco-support task yang nodes"; + semver:module-version "3.0.0"; + } + revision 2020-05-20 { + description + "Added blocks node to the model"; + semver:module-version "2.1.0"; + } + revision 2019-10-10 { + description + "Removed unnecessary augments from the model"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + container mpls { + description + "Global MPLS configuration subcommands"; + container ip-ttl-propagate { + description + "Propagate IP TTL into the label stack"; + container disable { + must "not(local and forwarded)"; + presence "Indicates a disable node is configured."; + description + "Disable IP TTL propagation"; + container local { + presence "Indicates a local node is configured."; + description + "Disable IP TTL propagation for only locally generated MPLS packets"; + } + container forwarded { + presence "Indicates a forwarded node is configured."; + description + "Disable IP TTL propagation for only forwarded MPLS packets"; + } + } + } + container ipv6 { + description + "Configure IPv6 parameters"; + leaf ttl-expiration-pop { + type uint32 { + range "1..10" { + description + "Number of labels to pop on TTL expiry"; + } + } + description + "Number of labels to pop when MPLS TTL expires"; + } + } + container ipv4 { + description + "Configure IPv4 parameters"; + leaf ttl-expiration-pop { + type uint32 { + range "1..10" { + description + "Number of labels to pop on TTL expiry"; + } + } + description + "Number of labels to pop when MPLS TTL expires"; + } + } + container label { + description + "Label properties"; + container range { + description + "Label range"; + container table-0 { + description + "Specify label table"; + leaf minimum-label { + type uint32 { + range "16000..1048575"; + } + must "../maximum-label"; + description + "Manimum label value"; + } + leaf maximum-label { + type uint32 { + range "16000..1048575"; + } + must "../minimum-label"; + description + "Maximum label value"; + } + container static { + must "../minimum-label"; + presence "Indicates a static node is configured."; + description + "Specify block of labels for static bindings"; + leaf minimum-label { + type uint32 { + range "16..1048575" { + description + "Minimum static label value"; + } + } + mandatory true; + description + "Specify block of labels for static bindings"; + } + leaf maximum-label { + type uint32 { + range "16..1048575" { + description + "Maximum static label value"; + } + } + mandatory true; + description + "Maximum static label value"; + } + } + } + } + container blocks { + description + "Label blocks"; + list block { + must "end or size"; + key "name"; + description + "Block of labels"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of block to configure"; + } + } + description + "Block name (unique identifier)"; + } + leaf type { + type enumeration { + enum "cbf" { + value 3; + description + "CBF block"; + } + enum "pfp" { + value 4; + description + "PFP block"; + } + } + mandatory true; + description + "Type of block to configure"; + } + leaf start { + type uint32 { + range "16000..1048575" { + description + "Block lower bound"; + } + } + mandatory true; + description + "Start of block range"; + } + leaf end { + type uint32 { + range "120..1048575" { + description + "Block upper bound"; + } + } + must "not(../size)"; + description + "End of block range"; + } + leaf size { + type uint32 { + range "1..1032576" { + description + "Block size"; + } + } + must "not(../end)"; + description + "Size of the block"; + } + leaf client { + type xr:Cisco-ios-xr-string { + length "1..48" { + description + "Name of the client instance"; + } + } + mandatory true; + description + "Block client"; + } + } + } + } + container lsd { + description + "MPLS LSD process command"; + container ltrace-buffer { + description + "MPLS LSD LTrace buffer files"; + leaf multiplier { + type uint32 { + range "2..5" { + description + "Multiplier factor"; + } + } + description + "Ltrace buffer file size multiplier"; + } + } + container app-reg-delay { + description + "Application registration delay"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable delay for regular applications' registration"; + } + } + } + container entropy-label { + presence "Indicates a entropy-label node is configured."; + description + "Enable MPLS entropy label"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-oam-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-oam-cfg.yang new file mode 100644 index 000000000..a6f583453 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-oam-cfg.yang @@ -0,0 +1,139 @@ +module Cisco-IOS-XR-um-mpls-oam-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-oam-cfg"; + prefix um-mpls-oam-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-oam package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-11 { + description + "Added revision node and downstream-ecmp-faults node support"; + semver:module-version "1.0.1m"; + } + revision 2020-04-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container mpls { + description + "Global MPLS configuration subcommands"; + container oam { + presence "Indicates a oam node is configured."; + description + "OAM configuration"; + container echo { + description + "Echo request attributes"; + container disable-vendor-extension { + presence "Indicates a disable-vendor-extension node is configured."; + description + "Disable sending vendor extension TLV with echo req"; + } + container reply-mode { + description + "Echo request reply mode attributes"; + container control-channel { + description + "Configure control channel reply mode"; + container allow-reverse-lsp { + presence "Indicates a allow-reverse-lsp node is configured."; + description + "Use Reverse LSP as the control channel"; + } + } + } + container revision { + description + "Echo packet default revision"; + container one { + must + "not(../two or ../three + or ../four)"; + presence "Indicates a one node is configured."; + description + "draft-ietf-mpls-lsp-ping-03 (initial)"; + } + container two { + must + "not(../one or ../three + or ../four)"; + presence "Indicates a two node is configured."; + description + "draft-ietf-mpls-lsp-ping-03 (rev 1)"; + } + container three { + must + "not(../one or ../two + or ../four)"; + presence "Indicates a three node is configured."; + description + "draft-ietf-mpls-lsp-ping-03 (rev 2)"; + } + container four { + must + "not(../one or ../two + or ../three)"; + presence "Indicates a four node is configured."; + description + "draft-ietf-mpls-lsp-ping-09 (initial)"; + } + } + } + container dpm { + presence "Indicates a dpm node is configured."; + description + "data plane monitoring"; + leaf pps { + type uint32 { + range "1..250" { + description + "Rate limit in packets per second - default is 50pps"; + } + } + description + "DPM packets per second rate - default is 50pps"; + } + leaf interval { + type uint32 { + range "1..3600" { + description + "Gap in minutes - default is 30 mins"; + } + } + description + "Wait time between each iteration of DPM - default is 30mins"; + } + container downstream-ecmp-faults { + presence "Indicates a downstream-ecmp-faults node is configured."; + description + "Report downstream mismatches"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-static-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-static-cfg.yang new file mode 100644 index 000000000..c5b7f9be1 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-static-cfg.yang @@ -0,0 +1,865 @@ +module Cisco-IOS-XR-um-mpls-static-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-static-cfg"; + prefix um-mpls-static-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-static package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-08-05 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container mpls { + description + "Global MPLS configuration subcommands"; + container static { + presence "Indicates a static node is configured."; + description + "MPLS Static label and LSP configuration commands"; + container interfaces { + description + "Enable MPLS Static on an interface"; + list interface { + key "interface-name"; + description + "Enable MPLS Static on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Enable MPLS Static on an interface"; + } + } + } + container vrfs { + description + "Configure VRF parameters"; + list vrf { + key "vrf-name"; + description + "Configure VRF parameters"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Specify the VRF Name"; + } + } + description + "Configure VRF parameters"; + } + container address-family { + description + "Configure Address Family and its parameters"; + container ipv4 { + description + "Configure IPv4 Address Family parameters"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "Unicast"; + container local-labels { + description + "Configure local label assignment and forwarding"; + list local-label { + must "allocate/per-prefix or allocate/per-vrf/enable"; + key "label-value"; + description + "Configure local label assignment and forwarding"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "Label value"; + } + } + description + "Configure local label assignment and forwarding"; + } + container allocate { + description + "Label Allocation Option"; + container per-prefix { + must "not(../per-vrf/enable)"; + presence "Indicates a per-prefix node is configured."; + description + "For a given prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 Prefix address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + mandatory true; + description + "IPv4 Prefix length"; + } + } + container per-vrf { + description + "For a VRF"; + container enable { + presence "Indicates an enable node is configured."; + description + "For a VRF"; + } + container forward { + description + "Configure forwarding rewrites"; + list path { + must "../../enable and pop-and-lookup"; + key "path-count"; + description + "Configure path parameters"; + leaf path-count { + type uint32 { + range "1" { + description + "Path count"; + } + } + description + "Configure path parameters"; + } + container pop-and-lookup { + presence "Indicates a pop-and-lookup node is configured."; + description + "Pop and lookup"; + } + } + } + } + } + } + } + } + } + } + container lsps { + description + "Configure lsp name"; + list lsp { + key "lsp-name"; + description + "Configure lsp name"; + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify the LSP Name"; + } + } + description + "Configure lsp name"; + } + container in-label { + presence "Indicates a in-label node is configured."; + description + "Configure in label assignment and forwarding"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "Label value"; + } + } + mandatory true; + description + "Configure in label assignment and forwarding"; + } + container allocate { + description + "Label Allocation Option"; + container per-prefix { + must "not(../per-vrf)"; + presence "Indicates a per-prefix node is configured."; + description + "For a given prefix"; + leaf prefix-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IPv4 or IPv6 Prefix address"; + } + leaf prefix-length { + type union { + type xr:Ipv4-prefix-length; + type xr:Ipv6-prefix-length; + } + mandatory true; + description + "Prefix length"; + } + } + container per-vrf { + must "not(../per-prefix)"; + presence "Indicates a per-vrf node is configured."; + description + "For a VRF"; + } + } + } + container forward { + description + "Configure forwarding rewrites"; + list path { + must "pop-and-lookup"; + key "path-count"; + description + "Configure path parameters"; + leaf path-count { + type uint32 { + range "1" { + description + "Path count"; + } + } + description + "Configure path parameters"; + } + container pop-and-lookup { + presence "Indicates a pop-and-lookup node is configured."; + description + "Pop and lookup"; + } + } + } + } + } + } + } + container address-family { + description + "Configure Address Family and its parameters"; + container ipv4 { + description + "Configure IPv4 Address Family parameters"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "Unicast"; + container local-labels { + description + "Configure local label assignment and forwarding"; + list local-label { + must "allocate"; + key "label-value"; + description + "Configure local label assignment and forwarding"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "Label value"; + } + } + description + "Configure local label assignment and forwarding"; + } + container allocate { + presence "Indicates a nexthop node is configured."; + description + "Label Allocation Option"; + container per-prefix { + description + "For a given prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + must "../prefix-length"; + description + "IPv4 Prefix address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + must "../prefix-address"; + description + "IPv4 Prefix length"; + } + } + } + container forward { + description + "Configure forwarding rewrites"; + list path { + must "nexthop and nexthop/out-label"; + key "path-count"; + description + "Configure path parameters"; + leaf path-count { + type uint32 { + range "1" { + description + "Path count"; + } + } + description + "Configure path parameters"; + } + container nexthop { + must "address or interface"; + presence "Indicates a nexthop node is configured."; + description + "nexthop"; + leaf address { + type inet:ipv4-address-no-zone; + description + "nexthop"; + } + leaf interface { + type xr:Interface-name; + description + "Next-hop interface"; + } + container out-label { + must "label-value or pop or explicit-null"; + presence "Indicates a out-label node is configured."; + description + "Outgoing label"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "MPLS label value"; + } + } + must "not(../pop or ../explicit-null)"; + description + "MPLS label value"; + } + container pop { + must "not(../label-value or ../explicit-null)"; + presence "Indicates a pop node is configured."; + description + "Pop off the top of the label stack"; + } + container explicit-null { + must "not(../label-value or ../pop)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + } + } + } + } + } + } + container top-label-hash { + description + "Configure top label hash entries"; + container local-labels { + description + "Configure local label assignment and forwarding"; + list local-label { + must "allocate/enable"; + key "label-value"; + description + "Configure local label assignment and forwarding"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "Label value"; + } + } + description + "Configure local label assignment and forwarding"; + } + container allocate { + description + "Label Allocation Option"; + container enable { + presence "Indicates a allocate node is configured."; + description + "Label Allocation Option"; + } + container forward { + description + "Configure forwarding rewrites"; + list path { + must "nexthop and nexthop/out-label"; + key "path-count"; + description + "Configure path parameters"; + leaf path-count { + type uint32 { + range "1" { + description + "Path count"; + } + } + description + "Configure path parameters"; + } + container nexthop { + must "address or interface"; + presence "Indicates a nexthop node is configured."; + description + "nexthop"; + leaf address { + type inet:ipv4-address-no-zone; + description + "nexthop"; + } + leaf interface { + type xr:Interface-name; + description + "Next-hop Interface"; + } + container out-label { + must "label-value or pop or explicit-null"; + presence "Indicates a out-label node is configured."; + description + "Outgoing label"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "MPLS label value"; + } + } + must "not(../pop or ../explicit-null)"; + description + "MPLS label value"; + } + container pop { + must "not(../label-value or ../explicit-null)"; + presence "Indicates a pop node is configured."; + description + "Pop off the top of the label stack"; + } + container explicit-null { + must "not(../label-value or ../pop)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + } + } + } + } + } + } + } + } + } + } + } + container lsps { + description + "Configure lsp name"; + list lsp { + key "lsp-name"; + description + "Configure lsp name"; + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify the LSP Name"; + } + } + description + "Configure lsp name"; + } + container in-label { + presence "Indicates a in-label node is configured."; + description + "Configure in label assignment and forwarding"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "Label value"; + } + } + mandatory true; + description + "Configure in label assignment and forwarding"; + } + container allocate { + presence "Indicates a allocate node is configured."; + description + "Label Allocation Option"; + container per-prefix { + presence "Indicates a per-prefix node is configured."; + description + "For a given prefix"; + leaf prefix-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IPv4 or IPv6 Prefix address"; + } + leaf prefix-length { + type union { + type xr:Ipv4-prefix-length; + type xr:Ipv6-prefix-length; + } + mandatory true; + description + "Prefix length"; + } + } + container top-label-hash { + must "not(../per-prefix)"; + presence "Indicates a top-label-hash node is configured."; + description + "Configure top label hash entries for this LSP"; + } + } + } + container resolve-options { + description + "Configure resolve-nexthop options"; + container disable-default-route { + presence "Indicates a disable-default-route node is configured."; + description + "Disable RIB default route"; + } + } + container forward { + description + "Configure forwarding rewrites"; + list path { + must "nexthop or resolve-nexthop"; + key "path-count"; + description + "Configure path parameters"; + leaf path-count { + type uint32 { + range "1..16" { + description + "Path count"; + } + } + description + "Configure path parameters"; + } + container resolve-nexthop { + must "(ipv4-address or ipv6-address) and not(../nexthop)"; + presence "Indicates a resolve-nexthop node is configured."; + description + "RIB path resolution mode"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "Next-hop IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "Next-hop IPv6 address"; + } + container out-label { + must "label-value or pop or explicit-null or ipv6-explicit-null"; + presence "Indicates a out-label node is configured."; + description + "Outgoing label"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "MPLS label value"; + } + } + must "not(../pop or ../explicit-null or ../ipv6-explicit-null)"; + description + "MPLS label value"; + } + container pop { + must "not(../label-value or ../explicit-null or ../ipv6-explicit-null)"; + presence "Indicates a pop node is configured."; + description + "Pop off the top of the label stack"; + } + container explicit-null { + must "not(../label-value or ../pop or ../ipv6-explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + container ipv6-explicit-null { + must "not(../label-value or ../pop or ../explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + } + } + container nexthop { + must "ipv4-address or ipv6-address or interface"; + presence "Indicates a nexthop node is configured."; + description + "nexthop"; + leaf interface { + type xr:Interface-name; + description + "Next-hop Interface"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "Next-hop IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "Next-hop IPv6 address"; + } + container out-label { + must "label-value or pop or explicit-null or ipv6-explicit-null"; + presence "Indicates a out-label node is configured."; + description + "Outgoing label"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "MPLS label value"; + } + } + must "not(../pop or ../explicit-null or ../ipv6-explicit-null)"; + description + "MPLS label value"; + } + container pop { + must "not(../label-value or ../explicit-null or ../ipv6-explicit-null)"; + presence "Indicates a pop node is configured."; + description + "Pop off the top of the label stack"; + } + container explicit-null { + must "not(../label-value or ../pop or ../ipv6-explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + container ipv6-explicit-null { + must "not(../label-value or ../pop or ../explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + } + container backup { + must "not(../primary-and-backup)"; + presence "Indicates a backup node is configured."; + description + "Path acts as backup only"; + } + container primary-and-backup { + must "not(../backup)"; + presence "Indicates a primary-and-backup node is configured."; + description + "Path acts as primary and backup simultaneously"; + } + leaf backup-id { + type uint32 { + range "1..16" { + description + "Backup path ID"; + } + } + must "not(../backup)"; + description + "Path ID of the backup path to protect this path"; + } + } + } + } + container backup { + description + "Configure forwarding backup rewrites"; + list path { + must "nexthop or resolve-nexthop"; + key "path-count"; + description + "Configure path parameters"; + leaf path-count { + type uint32 { + range "1..16" { + description + "Path count"; + } + } + description + "Configure path parameters"; + } + container resolve-nexthop { + must "(ipv4-address or ipv6-address) and not(../nexthop)"; + presence "Indicates a resolve-nexthop node is configured."; + description + "RIB path resolution mode"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "Next-hop IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "Next-hop IPv6 address"; + } + container out-label { + must "label-value or pop or explicit-null or ipv6-explicit-null"; + presence "Indicates a out-label node is configured."; + description + "Outgoing label"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "MPLS label value"; + } + } + must "not(../pop or ../explicit-null or ../ipv6-explicit-null)"; + description + "MPLS label value"; + } + container pop { + must "not(../label-value or ../explicit-null or ../ipv6-explicit-null)"; + presence "Indicates a pop node is configured."; + description + "Pop off the top of the label stack"; + } + container explicit-null { + must "not(../label-value or ../pop or ../ipv6-explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + container ipv6-explicit-null { + must "not(../label-value or ../pop or ../explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + } + } + container nexthop { + must "ipv4-address or ipv6-address or interface"; + presence "Indicates a nexthop node is configured."; + description + "nexthop"; + leaf interface { + type xr:Interface-name; + description + "Next-hop Interface"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "Next-hop IPv4 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "Next-hop IPv6 address"; + } + container out-label { + must "label-value or pop or explicit-null or ipv6-explicit-null"; + presence "Indicates a out-label node is configured."; + description + "Outgoing label"; + leaf label-value { + type uint32 { + range "16..1048575" { + description + "MPLS label value"; + } + } + must "not(../pop or ../explicit-null or ../ipv6-explicit-null)"; + description + "MPLS label value"; + } + container pop { + must "not(../label-value or ../explicit-null or ../ipv6-explicit-null)"; + presence "Indicates a pop node is configured."; + description + "Pop off the top of the label stack"; + } + container explicit-null { + must "not(../label-value or ../pop or ../ipv6-explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + container ipv6-explicit-null { + must "not(../label-value or ../pop or ../explicit-null)"; + presence "Indicates a explicit-null node is configured."; + description + "Set the outgoing label to ipv4 explicit-null"; + } + } + container backup { + must "not(../primary-and-backup)"; + presence "Indicates a backup node is configured."; + description + "Path acts as backup only"; + } + container primary-and-backup { + must "not(../backup)"; + presence "Indicates a primary-and-backup node is configured."; + description + "Path acts as primary and backup simultaneously"; + } + leaf backup-id { + type uint32 { + range "1..16" { + description + "Backup path ID"; + } + } + must "not(../backup)"; + description + "Path ID of the backup path to protect this path"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-te-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-te-cfg.yang new file mode 100644 index 000000000..c79c09251 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-mpls-te-cfg.yang @@ -0,0 +1,21898 @@ +module Cisco-IOS-XR-um-mpls-te-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-te-cfg"; + prefix um-mpls-te-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a2; + } + import tailf-common { + prefix tailf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR mpls-te package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-21 { + description + "Changed path-selection/ignore/overload container as presence + 2022-05-23 + Added container self-ping under tunnel-te + 2022-02-01 + Added signalled-bandwidth and soft-preemption support for auto-backup + 2021-11-17 + Added bfd and path protection support for named tunnels"; + semver:module-version "2.2.0"; + } + revision 2021-07-15 { + description + "Removed presence statement of 2 timers nodes under traffic-eng, + Removed presence statement of auto-tunnel container + 2021-07-09 + Added bandwidth-protection/maximum-aggregate nodes under backup container"; + semver:module-version "2.1.0"; + } + revision 2021-04-14 { + description + "new container reopt is added under pce + 2021-02-19 + Added presence statement in ospf container and removed presence and + must statement from area container + 2021-02-15 + Added yang nodes for new mib commands + 2021-01-28 + Added cisco-support task yang nodes + 2021-01-15 + Add mandatory flag in min node under overflow, adjustment-threshold and + underflow container. + Added tunnel-mte specific config container. + Added backoff-timer under mpls->traffic-eng. + 2020-12-03 + Removed leaf hold-backup and containers maxabs, ltrace-buffer and its + child nodes as these are used internally with cisco-support task."; + semver:module-version "2.0.0"; + } + revision 2020-05-26 { + description + "- removed pce under the dynamic path-option for interface + - added s2l-setup under timers + - added path-error under lsp-status for named-tunnels + - added redundancy under timers for stateful-client"; + } + revision 2019-07-08 { + description + "- removed augmentation to interface-preconfigure as tunnel logical + interfaces are not allowed to configure as interface preconfig"; + } + revision 2019-06-11 { + description + "- Split area list node under gmpls/optical-nni/topology/instance/opsf + into two list nodes + - Added necessary constraints (must, mandatory) under + gmpls/../path-option"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + typedef policy-class-type { + type enumeration { + enum "1" { + value 1; + description + "1"; + } + enum "2" { + value 2; + description + "2"; + } + enum "3" { + value 3; + description + "3"; + } + enum "4" { + value 4; + description + "4"; + } + enum "5" { + value 5; + description + "5"; + } + enum "6" { + value 6; + description + "6"; + } + enum "7" { + value 7; + description + "7"; + } + enum "default" { + value 8; + description + "default value must be set alone"; + } + } + description + "Tunnel policy class Value(s)"; + } + + grouping IF-BODY { + container affinity { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Link attributes for links traversed by tunnel"; + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include2 { + key "name1 name2"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include2 { + key "name1 name2"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude2 { + key "name1 name2"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + leaf affinity-attribute-value { + type uint32 { + range "0..4294967295" { + description + "Affinity attribute value"; + } + } + description + "Affinity attribute value"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity attribute mask value"; + } + } + description + "Affinity attribute mask value"; + } + } + container autoroute { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Parameters for IGP routing over tunnel"; + container announce { + presence "Indicates a announce node is configured."; + description + "Announce tunnel to IGP"; + container metric { + description + "Specify MPLS tunnel metric"; + leaf absolute { + type uint32 { + range "1..2147483647" { + description + "Absolute metric"; + } + } + description + "Set metric mode absolute"; + } + leaf relative { + type int32 { + range "-10..10" { + description + "Relative metric"; + } + } + description + "Set metric mode relative"; + } + leaf constant-metric { + type uint32 { + range "1..2147483647" { + description + "Set constant metric"; + } + } + description + "Set constant metric"; + } + } + container include-ipv6 { + presence "Indicates a include-ipv6 node is configured."; + description + "Announce tunnel as an IPv6 AA also"; + } + container exclude-traffic { + description + "Exclude the type of traffic that goes through AA"; + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Exclude segment-routing traffic from the autoroute announced tunnel"; + } + } + } + container destinations { + description + "Adds static route to destination"; + list destination { + key "address"; + description + "Adds static route to destination"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Adds static route to destination"; + } + } + } + } + container backup-bw { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + must "(bandwidth) or ((pool-type or class-type) and (bandwidth or unlimited))"; + presence "Indicates a backup-bw node is configured."; + description + "Fast-reroute backup bandwidth requirement"; + leaf pool-type { + type enumeration { + enum "any-pool" { + value 1; + description + "default/any-pool bandwidth"; + } + enum "global-pool" { + value 2; + description + "global-pool bandwidth"; + } + enum "sub-pool" { + value 4; + description + "sub-pool bandwidth"; + } + } + must "not(../class-type)"; + description + "Configure pool type for backup bandwidth"; + } + leaf class-type { + type enumeration { + enum "0" { + value 0; + description + "class type 0"; + } + enum "1" { + value 1; + description + "class type 1"; + } + enum "any" { + value 9; + description + "any class type"; + } + } + must "not(../pool-type)"; + description + "Specify the bandwidth class type"; + } + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + must "not(../unlimited)"; + description + "Bandwidth requirement in kbps"; + } + container unlimited { + must "not(../bandwidth)"; + presence "Indicates a unlimited node is configured."; + description + "Unlimited backup bandwidth"; + } + } + container signalled-bandwidth { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + must "not(class-type and sub-pool)"; + presence "Indicates a signalled-bandwidth node is configured."; + description + "Tunnel bandwidth requirement to be signalled"; + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + mandatory true; + description + "Bandwidth requirement in kbps"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the bandwidth class type"; + } + container sub-pool { + when "../bandwidth != 0"; + presence "Indicates a sub-pool node is configured."; + description + "Specify sub-pool bandwidth"; + } + } + container fast-reroute { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a fast-reroute node is configured."; + description + "Specify MPLS tunnel can be fast-rerouted"; + container protect { + description + "Enable protection request"; + container node { + presence "Indicates a node node is configured."; + description + "Enable node protection request"; + } + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Enable bandwidth protection request"; + } + } + } + leaf forward-class { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + type uint32 { + range "0..7" { + description + "Forward class for the tunnel (default value 0)"; + } + } + description + "Forward class for the tunnel (default value 0)"; + } + container forwarding-adjacency { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a forwarding-adjacency node is configured."; + description + "Enable tunnel as a forwarding-adjacency and enter its submode"; + leaf holdtime { + type uint32 { + range "0..20000" { + description + "Hold time in ms"; + } + } + description + "Hold time in ms"; + } + container include-ipv6 { + presence "Indicates a include-ipv6 node is configured."; + description + "Announce tunnel as an IPv6 FA also"; + } + } + leaf load-share { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + type uint32 { + range "1..4294967295" { + description + "Loadshare value. Scale is the same as bandwidths."; + } + } + description + "Specify tunnel load-sharing metric"; + } + container logging { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable interface LSP REOPT change alarms"; + } + container reoptimize-attempts { + presence "Indicates a reoptimize-attempts node is configured."; + description + "Enable interface LSP REOPT attempts change alarms"; + } + container bw-change { + presence "Indicates a bw-change node is configured."; + description + "Enable interface LSP BANDWIDTH change alarms"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable interface LSP REROUTE change alarms"; + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Enable interface LSP RECORD-ROUTE change alarms"; + } + container switchover { + presence "Indicates a switchover node is configured."; + description + "Enable interface LSP SWITCHOVER change alarms"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup/reopt failure due to bandwidth"; + } + } + container pcalc-failure { + presence "Indicates a pcalc-failure node is configured."; + description + "Enable logging for path calculation failures"; + } + container bfd-status { + presence "Indicates a bfd-status node is configured."; + description + "Enable BFD session state change alarms"; + } + container all { + presence "Indicates a all node is configured."; + description + "Enable all logging for this tunnel"; + } + } + } + leaf signalled-name { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + type xr:Cisco-ios-xr-string { + length "1..254" { + description + "The name to be included in signaling (max 254 characters)"; + } + } + description + "The signaling name to assign to tunnel"; + } + container path-options { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Primary or fallback path setup option"; + list path-option { + key "preference"; + description + "Primary or fallback path setup option"; + leaf preference { + type uint32 { + range "1..1000" { + description + "Preference for this path option"; + } + } + description + "Preference for this path option"; + } + container dynamic { + presence "Indicates a dynamic node is configured."; + description + "Setup based on dynamically allocated path"; + } + container explicit { + must "identifier or name"; + presence "Indicates a explicit node is configured."; + description + "Setup based on preconfigured path"; + leaf identifier { + type uint32 { + range "1..65535" { + description + "Specify an IP explicit path by number"; + } + } + description + "Specify an IP explicit path by number"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an IP explicit path by name"; + } + } + description + "Specify an IP explicit path by name"; + } + container verbatim { + presence "Indicates a verbatim node is configured."; + description + "Do not require topology database for explicit path"; + } + } + container ospf { + presence "Indicates a ospf node is configured."; + description + "Limit CSPF to a single OSPF instance and area"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "OSPF instance name"; + } + } + description + "OSPF instance name"; + } + container area { + description + "OSPF area"; + leaf decimal { + type uint32 { + range "0..4294967295" { + description + "OSPF area ID as a decimal value"; + } + } + description + "OSPF area ID as a decimal value"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "OSPF area ID in IP address format"; + } + } + } + container isis { + presence "Indicates a isis node is configured."; + description + "Limit CSPF to a single IS-IS instance and area"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..40" { + description + "IS-IS instance name"; + } + } + description + "IS-IS instance name"; + } + leaf level { + type uint32 { + range "1..2" { + description + "IS-IS level"; + } + } + must "../instance-name"; + description + "IS-IS level"; + } + } + container attribute-set { + description + "Attribute set for this LSP"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 64 char)"; + } + } + description + "Specify attribute-set name (max 64 char)"; + } + } + container protected-by { + description + "Path protection using a specific path-option"; + leaf index { + type uint32 { + range "1..1000" { + description + "Index of the protecting path-option"; + } + } + description + "Index of the protecting path-option"; + } + } + container lockdown { + presence "Indicates a lockdown node is configured."; + description + "Not a candidate for reoptimization"; + container sticky { + presence "Indicates a sticky node is configured."; + description + "Force tunnel to remain on the same path"; + } + } + } + } + container priority { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a priority node is configured."; + description + "Tunnel priority"; + leaf setup-priority { + type uint32 { + range "0..7" { + description + "Setup Priority"; + } + } + mandatory true; + description + "Tunnel priority"; + } + leaf hold-priority { + type uint32 { + range "0..7" { + description + "Hold Priority"; + } + } + mandatory true; + description + "Hold Priority"; + } + } + container record-route { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a record-route node is configured."; + description + "Record the route used by the tunnel"; + } + container binding-sid { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Binding Segment Identifier"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "Use MPLS label as binding segment identifier"; + leaf label { + type uint32 { + range "16..4015" { + description + "MPLS label"; + } + } + description + "Specify label value"; + } + } + } + container policy-class { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Specify classs for policy-based tunnel selection"; + container tunnel-policy-class-values { + description + "Tunnel policy class Value(s)"; + leaf-list tunnel-policy-class-value { + type policy-class-type; + max-elements "7"; + description + "Tunnel policy class Value(s)"; + } + } + } + container auto-bw { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a auto-bw node is configured."; + description + "Enable tunnel auto-bandwidth and enter its submode"; + leaf application { + type uint32 { + range "5..10080" { + description + " Auto-bw application frequency (minutes)"; + } + } + description + "Set the tunnel auto-bw application frequency"; + } + container bw-limit { + description + "Set min/max bandwidth auto-bw can apply on a tunnel"; + leaf min { + type uint32 { + range "0..4294967295" { + description + "Minimum bandwidth to apply (kbps)"; + } + } + description + "Set minimum bandwidth auto-bw can apply on a tunnel"; + } + leaf max { + type uint32 { + range "0..4294967295" { + description + "Maximum bandwidth to apply (kbps)"; + } + } + description + "Set maximum bandwidth auto-bw can apply on a tunnel"; + } + } + container collect-bw-only { + presence "Indicates a collect-bw-only node is configured."; + description + "Enable bandwidth collection only, no auto-bw adjustment"; + } + container adjustment-threshold { + presence "Indicates a adjustment-threshold node is configured."; + description + "Set the bandwidth change threshold to trigger adjustment"; + leaf threshold { + type uint32 { + range "1..100" { + description + "Bandwidth change percent to trigger adjustment"; + } + } + mandatory true; + description + "Set the bandwidth change threshold to trigger adjustment"; + } + leaf min { + type uint32 { + range "10..4294967295" { + description + "Bandwidth change value to trigger adjustment (kbps)"; + } + } + mandatory true; + description + "Set the bandwidth change value to trigger adjustment"; + } + } + container overflow { + presence "Indicates a overflow node is configured."; + description + "Configuring the tunnel overflow detection"; + leaf threshold { + type uint32 { + range "1..100" { + description + "Bandwidth change percent to trigger an overflow"; + } + } + mandatory true; + description + "Set the bandwidth change percent to trigger an overflow"; + } + leaf min { + type uint32 { + range "10..4294967295" { + description + "Bandwidth change value to trigger an overflow (kbps)"; + } + } + mandatory true; + description + "Set the bandwidth change value to trigger an overflow"; + } + leaf limit { + type uint32 { + range "1..10" { + description + "Number of consecutive collections exceeding threshold"; + } + } + mandatory true; + description + "Set the number of consecutive collections exceeding threshold"; + } + } + container underflow { + presence "Indicates a underflow node is configured."; + description + "Configuring the tunnel underflow detection"; + leaf threshold { + type uint32 { + range "1..100" { + description + "Bandwidth change percent to trigger an underflow"; + } + } + mandatory true; + description + "Set the bandwidth change percent to trigger an underflow"; + } + leaf min { + type uint32 { + range "10..4294967295" { + description + "Bandwidth change value to trigger an underflow (kbps)"; + } + } + mandatory true; + description + "Set the bandwidth change value to trigger an underflow"; + } + leaf limit { + type uint32 { + range "1..10" { + description + "Number of consecutive collections exceeding threshold"; + } + } + mandatory true; + description + "Set the number of consecutive collections exceeding threshold"; + } + } + container resignal { + description + "Configure the tunnel resignal parameters after going down"; + container last-bandwidth { + description + "Configure the tunnel to use last applied bandwidth after going down"; + leaf time-out { + type uint32 { + range "1..3600000" { + description + "time-out value to trigger a reset of the requested bandwidth (seconds)"; + } + } + description + "Set the bandwidth resignal time-out value (in seconds) After this time the tunnel will be signaled with the configured bandwidth"; + } + } + } + } + container path-protection { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a path-protection node is configured."; + description + "Enable the path protection feature on this tunnel"; + container srlg-diverse { + presence "Indicates a srlg-diverse node is configured."; + description + "Enforce SRLG diversity for protecting LSP"; + } + container protection-mode { + description + "Configure Path Protection mode"; + container non-revertive { + presence "Indicates a non-revertive node is configured."; + description + "Enable Non-Revertive mode"; + } + } + } + container soft-preemption { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a soft-preemption node is configured."; + description + "Enable the soft-preemption feature on this tunnel"; + } + container delay-measurement { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a delay-measurement node is configured."; + description + "Enable the delay-measurement feature on this tunnel"; + } + container pce { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Config PCE parameters"; + container delegation { + presence "Indicates a delegation node is configured."; + description + "Enable PCE delegation"; + } + container reopt { + must "../delegation"; + presence "Indicates a reopt node is configured."; + description + "Enable local reopt for PCE delegation"; + } + } + container path-selection { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Path Selection Configuration"; + container metric { + must "igp or te or delay"; + presence "Indicates a metric node is configured."; + description + "Metric Type for path calculation"; + container igp { + presence "Indicates a igp node is configured."; + description + "Use IGP metric"; + } + container te { + presence "Indicates a te node is configured."; + description + "Use TE metric"; + } + container delay { + presence "Indicates a delay node is configured."; + description + "Use delay metric"; + } + } + container tiebreaker { + must "min-fill or max-fill or random"; + presence "Indicates a tiebreaker node is configured."; + description + "Equal cost multipath tiebreaker for path calculation (default: min-fill)."; + container min-fill { + presence "Indicates a min-fill node is configured."; + description + "Prefer the path with the least-utilized links"; + } + container max-fill { + presence "Indicates a max-fill node is configured."; + description + "Prefer the path with the most-utilized links"; + } + container random { + presence "Indicates a random node is configured."; + description + "Prefer a path with links utilized randomly"; + } + } + leaf hop-limit { + type uint32 { + range "1..255" { + description + "Hop limit"; + } + } + description + "Hop limit configuration"; + } + leaf cost-limit { + type uint32 { + range "1..4294967295" { + description + "Cost limit"; + } + } + description + "Cost limit configuration"; + } + leaf delay-limit { + type uint32 { + range "1..4294967295" { + description + "Delay limit in usec"; + } + } + description + "Delay limit configuration"; + } + } + container bidirectional { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a bidirectional node is configured."; + description + "Configure bidirectional LSPs"; + container association { + description + "Specify association parameters"; + container id { + presence "Indicates a id node is configured."; + description + "Unique association ID"; + leaf association-id { + type uint32 { + range "0..65535" { + description + "Association ID"; + } + } + mandatory true; + description + "Unique association ID"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source IP address"; + } + leaf global-id { + type uint32 { + range "0..4294967295" { + description + "Global ID"; + } + } + description + "Global ID for association global source"; + } + } + container type { + description + "Association type"; + container co-routed { + presence "Indicates a co-routed node is configured."; + description + "Co-routed LSPs (with bidirectional CSPF)"; + container fault-oam { + presence "Indicates a fault-oam node is configured."; + description + "Enable fault OAM"; + } + container wrap-protection { + presence "Indicates a wrap-protection node is configured."; + description + "Enable LSP Wrap protection feature"; + } + container signaling { + description + "Signaling configuration"; + container protection-object { + description + "RSVP Protection Object signaling"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable signaling of RSVP Protection Object"; + } + } + } + } + } + } + } + container bfd { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + presence "Indicates a bfd node is configured."; + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable BFD fast detection"; + container sbfd { + presence "Indicates a sbfd node is configured."; + description + "Enable SBFD"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "Hello interval in milliseconds (default 100), lower bound is 50ms for non-GAL BFD sessions"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "3..10" { + description + "Detect multiplier (default 3)"; + } + } + description + "Detect multiplier"; + } + leaf bringup-timeout { + type uint32 { + range "10..3600" { + description + "Wait for session to come up in seconds (default 60)"; + } + } + description + "Timeout before BFD session bring up on new LSP is aborted"; + } + container lsp-ping { + description + "Configure periodic LSP ping"; + leaf interval { + type uint32 { + range "60..3600" { + description + "Periodic LSP Ping interval in seconds (default 120)"; + } + } + description + "Periodic LSP ping interval"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable periodic LSP Ping"; + } + } + container dampening { + description + "Configure dampening intervals to bring tunnel up"; + leaf initial-wait { + type uint32 { + range "1..518400000" { + description + "Delay in milliseconds (default 16000)"; + } + } + description + "Initial delay before bringing up the tunnel"; + } + leaf maximum-wait { + type uint32 { + range "1..518400000" { + description + "Delay in milliseconds (default 600000)"; + } + } + description + "Maximum delay bringing up the tunnel"; + } + leaf secondary-wait { + type uint32 { + range "1..518400000" { + description + "Delay in milliseconds (default 20000)"; + } + } + description + "Secondary delay bringing up the tunnel"; + } + } + container encap-mode { + description + "BFD encap mode (default IP)"; + container gal { + presence "Indicates a gal node is configured."; + description + "GAL encap mode"; + } + } + } + container working-lsp { + when "../a2:interface-name[starts-with(text(),'tunnel-tp')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Working LSP"; + leaf in-label { + type uint32 { + range "16..1048575" { + description + "Specify an unused MPLS label"; + } + } + description + "Incoming MPLS label"; + } + leaf out-label { + type uint32 { + range "16..1048575" { + description + "MPLS label"; + } + } + description + "Outgoing MPLS label"; + } + leaf out-link { + type uint32 { + range "1..65535" { + description + "Link ID"; + } + } + must "../out-label"; + description + "Outgoing TP link ID"; + } + leaf lsp-number { + type uint32 { + range "0..65535" { + description + "LSP ID"; + } + } + description + "LSP Identifier"; + } + container lockout { + presence "Indicates a lockout node is configured."; + description + "Lockout working LSP"; + } + } + leaf destination { + when "../a2:interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../a2:interface-name"; + } + type inet:ipv4-address-no-zone; + description + "Specify tunnel destination"; + } + container tunnel-mte { + when "../a2:interface-name[starts-with(text(),'tunnel-mte')]" { + tailf:dependency "../a2:interface-name"; + } + description + "Configuratoin specific for tunnel-mte interface"; + container destinations { + description + "Specify a destination to an endpoint of the tunnel"; + list destination { + key "address"; + description + "Specify a destination to an endpoint of the tunnel"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify a destination to an endpoint of the tunnel"; + } + container path-options { + description + "Primary or fallback path setup option"; + list path-option { + must "dynamic or explicit/identifier or explicit/name"; + key "path-option-id"; + description + "Primary or fallback path setup option"; + leaf path-option-id { + type uint32 { + range "1..1000" { + description + "Preference for this path option"; + } + } + description + "Primary or fallback path setup option"; + } + container dynamic { + presence "Indicates a dynamic node is configured."; + description + "Setup based on dynamically allocated path"; + } + container explicit { + description + "Setup based on preconfigured path"; + leaf identifier { + type uint32 { + range "1..65535" { + description + "Specify an IP explicit path by number"; + } + } + must "not(../name)"; + description + "Specify an IP explicit path by number"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Specify an IP explicit path by name"; + } + } + must "not(../identifier)"; + description + "Specify an IP explicit path by name"; + } + } + container lockdown { + must "../dynamic or ../explicit/identifier or ../explicit/name"; + presence "Indicates a lockdown node is configured."; + description + "Not a candidate for reoptimization"; + } + container verbatim { + must "../explicit/identifier or ../explicit/name"; + presence "Indicates a verbatim node is configured."; + description + "Do not require topology database for explicit path"; + } + } + } + container logging { + description + "Per-destination logging configuration"; + container events { + description + "Per-destination logging events"; + container sub-lsp { + description + "Enable destination sub-lsp state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable destination sub-lsp UP/DOWN change alarms"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable destination sub-lsp REROUTE change alarms"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup/reopt failure due to bandwidth"; + } + container pcalc-failure { + presence "Indicates a pcalc-failure node is configured."; + description + "Enable logging for path calculation failures"; + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the given destination"; + } + } + } + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel priority"; + leaf setup-priority { + type uint32 { + range "0..7" { + description + "Setup Priority"; + } + } + mandatory true; + description + "Tunnel priority"; + } + leaf hold-priority { + type uint32 { + range "0..7" { + description + "Hold Priority"; + } + } + mandatory true; + description + "Hold Priority"; + } + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + container reoptimize-attempts { + presence "Indicates a reoptimize-attempts node is configured."; + description + "Enable interface LSP REOPT attempts change alarms"; + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable interface LSP REOPT change alarms"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable interface LSP REROUTE change alarms"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup/reopt failure due to bandwidth"; + } + container bw-change { + presence "Indicates a bw-change node is configured."; + description + "Enable interface LSP BANDWIDTH change notification"; + } + } + container pcalc-failure { + presence "Indicates a pcalc-failure node is configured."; + description + "Enable logging for path calculation failures"; + } + container sub-lsp-status { + description + "Enable all sub-LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable all sub-LSP UP/DOWN change alarms"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "Enable all logging for this tunnel"; + } + } + } + leaf signalled-name { + type xr:Cisco-ios-xr-string { + length "1..254" { + description + "The name to be included in signaling (max 64 characters)"; + } + } + description + "The signaling name to assign to tunnel"; + } + container signalled-bandwidth { + presence "Indicates a signalled-bandwidth node is configured."; + description + "Tunnel bandwidth requirement to be signalled"; + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + mandatory true; + description + "Bandwidth requirement in kbps"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + must "not(../sub-pool)"; + description + "Specify the bandwidth class type"; + } + container sub-pool { + when "../bandwidth != 0"; + must "not(../class-type)"; + presence "Indicates a sub-pool node is configured."; + description + "Specify sub-pool bandwidth"; + } + } + container fast-reroute { + presence "Indicates a fast-reroute node is configured."; + description + "Specify MPLS tunnel can be fast-rerouted"; + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Record the route used by the tunnel"; + } + container affinity { + description + "Link attributes for links traversed by tunnel"; + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include2 { + key "name1 name2"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include2 { + key "name1 name2"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude2 { + key "name1 name2"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Link is excluded if it has every attribute in this list"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Link is excluded if it has every attribute in this list"; + } + } + description + "Link is excluded if it has every attribute in this list"; + } + } + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + leaf affinity-attribute-value { + type uint32 { + range "0..4294967295" { + description + "Affinity attribute value"; + } + } + must "../mask"; + description + "Affinity attribute value"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity attribute mask value"; + } + } + must "../affinity-attribute-value"; + description + "Affinity attribute mask value"; + } + } + container path-selection { + description + "Path Selection Configuration"; + container metric { + description + "Metric Type for path calculation"; + container igp { + must "not(../te or ../delay)"; + presence "Indicates a igp node is configured."; + description + "Use IGP metric"; + } + container te { + must "not(../igp or ../delay)"; + presence "Indicates a te node is configured."; + description + "Use TE metric"; + } + container delay { + must "not(../igp or ../te)"; + presence "Indicates a delay node is configured."; + description + "Use delay metric"; + } + } + } + } + } + + augment "/a2:interfaces/a2:interface" { + uses IF-BODY; + } + augment "/a1:snmp-server-mibs" { + container mplstemib { + description + "TE-MIB configuration commands"; + container cache { + description + "Modify MIB cache properties"; + container timers { + description + "Modify MIB cache timers"; + leaf garbage-collect { + type uint32 { + range "0..3600" { + description + "Cache garbage collect time in seconds (0 immediately purges deleted OIDs from cache)"; + } + } + description + "Modify MIB cache garbage collect timer"; + } + leaf refresh { + type uint32 { + range "0..600" { + description + "Cache refresh time in seconds"; + } + } + description + "Modify MIB cache refresh timer"; + } + } + } + } + container mplsp2mpmib { + description + "p2mp mib configuration commands"; + container cache { + description + "Modify MIB cache properties"; + leaf timer { + type uint32 { + range "0..600" { + description + "Cache time in seconds"; + } + } + description + "Modify MIB cache timer"; + } + } + } + container frrmib { + description + "frr mib configuration commands"; + container cache { + description + "Modify MIB cache properties"; + leaf timer { + type uint32 { + range "0..600" { + description + "Cache time in seconds"; + } + } + description + "Modify MIB chache timer"; + } + } + } + container cmplsteextmib { + description + "cmplsteext mib configuration commands"; + container cache { + description + "Modify MIB cache properties"; + leaf timer { + type uint32 { + range "0..600" { + description + "Cache time in seconds"; + } + } + description + "Modify MIB chache timer"; + } + } + } + container cmplsteextstdmib { + description + "cmplsteextstd mib configuration commands"; + container cache { + description + "Modify MIB cache properties"; + leaf timer { + type uint32 { + range "0..600" { + description + "Cache time in seconds"; + } + } + description + "Modify MIB chache timer"; + } + } + } + } + augment "/a1:snmp-server/a1:traps" { + container mpls { + description + "Enable SNMP MPLS traps"; + container traffic-eng { + description + "Enable MPLS TE traps"; + container cisco { + presence "Indicates a cisco node is configured."; + description + "MPLS TE tunnel traps in Cisco format (default ietf)"; + } + container cisco-ext { + description + "cisco_ext"; + container bringup-fail { + presence "Indicates a bringup-fail node is configured."; + description + "Enable MPLS TE tunnel bringup-fail trap"; + } + container insuff-bw { + presence "Indicates a insuff-bw node is configured."; + description + "Enable MPLS TE tunnel insufficient bandwidth trap"; + } + container preempt { + presence "Indicates a preempt node is configured."; + description + "Enable MPLS TE tunnel preempt trap"; + } + container reroute-pending { + presence "Indicates a reroute-pending node is configured."; + description + "Enable MPLS TE tunnel reroute-pending trap"; + } + container reroute-pending-clear { + presence "Indicates a reroute-pending-clear node is configured."; + description + "Enable MPLS TE tunnel reroute-pending trap"; + } + } + container down { + presence "Indicates a down node is configured."; + description + "Enable MPLS TE tunnel down traps"; + } + container p2mp { + description + "Enable MPLS TE tunnel p2mp traps"; + container down { + presence "Indicates a down node is configured."; + description + "Enable MPLS TE P2MP tunnel destination down traps"; + } + container up { + presence "Indicates a up node is configured."; + description + "Enable MPLS TE P2MP tunnel destination up traps"; + } + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable MPLS TE tunnel reoptimize traps"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable MPLS TE tunnel reroute traps"; + } + container up { + presence "Indicates a up node is configured."; + description + "Enable MPLS TE tunnel up traps"; + } + } + container frr { + description + "Enable MPLS FRR traps"; + container all { + presence "Indicates a all node is configured."; + description + "Enable all MPLS FRR MIB traps"; + } + container protected { + presence "Indicates a protected node is configured."; + description + "Enable MPLS FRR tunnel protected traps"; + } + container unprotected { + presence "Indicates a unprotected node is configured."; + description + "Enable MPLS FRR tunnel unprotected traps"; + } + } + } + } + container mpls { + description + "Global MPLS configuration subcommands"; + container traffic-eng { + presence "Indicates a traffic-eng node is configured."; + description + "Go into the MPLS-TE submode"; + container link-management { + description + "MPLS Link Manager subcommands"; + container timers { + description + "MPLS Link Manager Timer subcommands"; + leaf bandwidth-hold { + type uint32 { + range "1..300" { + description + "Bandwidth hold timer value (seconds)"; + } + } + description + "Bandwidth hold timer"; + } + leaf periodic-flooding { + type uint32 { + range "0..3600" { + description + "Periodic flooding value (seconds), minimum 30 seconds"; + } + } + description + "Periodic flooding timer"; + } + container preemption-delay { + description + "Delay LSP preemption"; + leaf bundle-capacity { + type uint32 { + range "0..300" { + description + "Bundle capacity change preemption timer value (seconds)"; + } + } + description + "Bundle capacity change preemption delay timer"; + } + } + } + } + container reoptimize { + description + "MPLS TE Reoptimize config"; + leaf reoptimize-value { + type uint32 { + range "0..604800" { + description + "Reoptimize timers frequency (secs)"; + } + } + description + "Reoptimize timers frequency (secs)"; + } + container timers { + description + "Reoptimization timers"; + container delay { + description + "Delay reoptimization action"; + leaf cleanup { + type uint32 { + range "0..300" { + description + "Seconds to delay cleanup of reoptimized LSP"; + } + } + description + "Delay cleanup of reoptimized LSP"; + } + leaf after-frr { + type uint32 { + range "0..120" { + description + "Seconds to delay re-opt initiation of tunnel after an FRR event"; + } + } + description + "Delay LSP reoptimization in the event of FRR"; + } + leaf installation { + type uint32 { + range "0..3600" { + description + "Seconds to delay replacement of tunnel LSP"; + } + } + description + "Delay replacement of current LSP by reoptimized LSP"; + } + leaf after-affinity-failure { + type uint32 { + range "1..604800" { + description + "Seconds to delay reoptimizing current LSP"; + } + } + description + "Delay reoptimizing current LSP after path affinity failure"; + } + leaf path-protection { + type uint32 { + range "0..604800" { + description + "Seconds between path protection switchover event and tunnel re-optimization. Set to 0 to disable"; + } + } + description + "Time between path protection switchover event and tunnel re-optimization"; + } + } + } + container events { + description + "Event-based reoptimization"; + container link-up { + presence "Indicates a link-up node is configured."; + description + "Trigger reoptimization on topology link-up events"; + } + } + container load-balance { + presence "Indicates a load-balance node is configured."; + description + "Load balance bandwidth during reoptimization"; + } + container disable { + description + "disable reoptimization"; + container affinity-failure { + presence "Indicates a affinity-failure node is configured."; + description + "disable reoptimization on affinity failure"; + } + } + } + container bfd { + description + "Configure parameters for BFD over TE"; + leaf minimum-interval { + type uint32 { + range "15..200" { + description + "Hello interval in milliseconds (default 15)"; + } + } + description + "Hello interval for BFD over Link"; + } + leaf multiplier { + type uint32 { + range "2..10" { + description + "Detect multiplier (default 3)"; + } + } + description + "Detect multiplier for BFD over Link"; + } + container lsp { + description + "Configure parameters for BFD over LSP"; + container tail { + description + "Tail end configuration"; + leaf minimum-interval { + type uint32 { + range "50..30000" { + description + "Hello interval in milliseconds (default 100)"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "3..10" { + description + "Detect multiplier (default 3)"; + } + } + description + "Detect multiplier"; + } + } + container head { + description + "Head end configuration"; + container down-action { + description + "Action to take for FRR enabled tunnel when BFD session down"; + container resetup { + presence "Indicates a resetup node is configured."; + description + "Teardown and resetup when received BFD session down event"; + } + container reoptimize { + description + "Reoptimize when received BFD session down event (default)"; + leaf timeout { + type uint32 { + range "120..4294967295" { + description + "Reoptmization timeout in seconds (default 300)"; + } + } + description + "Timeout and teardown if failed to reoptimize"; + } + } + } + } + } + } + container interfaces { + description + "Enable MPLS-TE on an interface"; + list interface { + key "interface-name"; + description + "Enable MPLS-TE on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Enable MPLS-TE on an interface"; + } + leaf admin-weight { + type uint32 { + range "0..4294967295" { + description + "Administrative weight for the interface"; + } + } + description + "Set administrative weight for the interface"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + } + } + container fault-oam { + description + "Enable fault-oam features"; + container lockout { + presence "Indicates a lockout node is configured."; + description + "Enable Flex LSP lockout protection"; + } + } + leaf attribute-flags { + type xr:Hex-integer; + description + "Set user defined interface attribute flags"; + } + container attribute-names { + description + "Specify one or more attribute names"; + leaf-list attribute-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "User defined attribute name"; + } + } + max-elements "32"; + description + "Specify one or more attribute names"; + } + container indexes { + description + "Specify the entry index"; + list index { + key "index-number"; + description + "Specify the entry index"; + leaf index-number { + type uint32 { + range "1..8" { + description + "Index number"; + } + } + description + "Specify the entry index"; + } + leaf-list attribute-names { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "User defined attribute name"; + } + } + min-elements 1; + max-elements "32"; + description + "Specify one or more attribute names"; + } + } + } + } + container flooding { + description + "Set flooding parameters"; + container thresholds { + description + "Set flooding thresholds"; + container ups { + description + "Set thresholds for increased resource allocation in %"; + leaf-list up { + type uint32 { + range "0..100" { + description + "Thresholds in increasing order"; + } + } + max-elements "14"; + description + "Set thresholds for increased resource allocation in %"; + } + } + container downs { + description + "Set thresholds for decreased resource allocation in %"; + leaf-list down { + type uint32 { + range "0..100" { + description + "Thresholds in decreasing order"; + } + } + max-elements "14"; + description + "Set thresholds for decreased resource allocation in %"; + } + } + } + } + container backup-path { + description + "Configure an MPLS TE backup for this interface"; + container tunnel-te { + description + "Tunnel interface"; + container tunnel-interfaces { + description + "Tunnel interface number"; + list tunnel-interface { + key "tunnel-interface-number"; + description + "Tunnel interface number"; + leaf tunnel-interface-number { + type uint32 { + range "0..65535" { + description + "Tunnel interface number"; + } + } + description + "Tunnel interface number"; + } + } + } + container backup-tunnels { + description + "Backup Tunnel Name"; + list backup-tunnel { + key "backup-tunnel-name"; + description + "Backup Tunnel Name"; + leaf backup-tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..54" { + description + "Backup Tunnel Name"; + } + } + description + "Backup Tunnel Name"; + } + } + } + } + } + container auto-tunnel { + description + "Auto-tunnel configuration"; + container backup { + presence "Indicates a backup node is configured."; + description + "Enable the auto-tunnel backup feature on an interface"; + container nhop-only { + presence "Indicates a nhop-only node is configured."; + description + "Allow only next hop backup tunnels"; + } + leaf attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 64 char)"; + } + } + description + "Attribute-set name of type auto-backup"; + } + container exclude { + description + "Restrict auto-tunnel backup path based on specific criteria."; + container srlg { + presence "Indicates a srlg node is configured."; + description + "Backup requires SRLG exclusion from protected interface"; + container preferred { + must "not(../weighted)"; + presence "Indicates a preferred node is configured."; + description + "SRLG exclusion is preferred but not mandatory"; + } + container weighted { + must "not(../preferred)"; + presence "Indicates a weighted node is configured."; + description + "If SRLG is shared admin weight of the SRLG is added to link metric"; + } + } + } + container bandwidth-protection { + description + "Add protected auto-backup for LSPs requesting bandwidth protection"; + leaf maximum-aggregate { + type uint32 { + range "1..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + description + "Aggregated maximum amount of bandwidth that the auto-backup can protect"; + } + } + } + } + } + } + container ds-te { + description + "Diff-Serv Traffic-Engineering Parameters"; + container bc-model { + description + "Diff-Serv Traffic-Engineering Bandwidth Constraints Model"; + container mam { + presence "Indicates a mam node is configured."; + description + "Maximum Allocation Bandwidth Constraints Model"; + } + } + container mode { + description + "Diff-Serv Traffic-Engineering Mode"; + container ietf { + presence "Indicates a ietf node is configured."; + description + "IETF Standard Mode"; + } + } + container te-classes { + description + "enter the DS-TE te-class map configuration mode"; + list te-class { + must "(class-type and priority) or unused"; + key "class-number"; + description + "Specify TE-Class parameters"; + leaf class-number { + type uint32 { + range "0..7"; + } + description + "DS-TE class number"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + must "not(../unused)"; + description + "Class type"; + } + leaf priority { + type uint32 { + range "0..7" { + description + "Class-type priority"; + } + } + description + "Class priority"; + } + container unused { + must "not(../class-type)"; + presence "Indicates a unused node is configured."; + description + "Mark the TE-class as unused"; + } + } + } + } + container logging { + description + "MPLS Traffic-Eng. logging configuration"; + container events { + description + "Global logging events"; + container frr-protection { + must "not(primary-lsp and backup-tunnel)"; + presence "Indicates a frr-protection node is configured."; + description + "Enable protection change Syslog"; + container primary-lsp { + must "not(ready-state and active-state)"; + presence "Indicates a primary-lsp node is configured."; + description + "Enable logging for primary LSP(s)"; + container ready-state { + presence "Indicates a ready-state node is configured."; + description + "Enable logging when FRR backup is assigned or unassigned"; + } + container active-state { + presence "Indicates a active-state node is configured."; + description + "Enable logging when FRR backup is triggered"; + } + } + container backup-tunnel { + presence "Indicates a backup-tunnel node is configured."; + description + "Enable logging for backup tunnel(s)"; + } + } + container preemption { + presence "Indicates a preemption node is configured."; + description + "Enable Tunnel Preemption alarms"; + } + container role { + description + "Enable all logging for a tunnel role"; + container head { + presence "Indicates a head node is configured."; + description + "Enable all logging for head"; + } + container mid { + presence "Indicates a mid node is configured."; + description + "Enable all logging for mid"; + } + container tail { + presence "Indicates a tail node is configured."; + description + "Enable all logging for tail"; + } + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "Enable NSR Status Logging"; + } + container issu { + presence "Indicates a issu node is configured."; + description + "Enable ISSU Status Logging"; + } + container all { + presence "Indicates a all node is configured."; + description + "Enable all logging for all events"; + } + } + } + container timers { + description + "Traffic Engineering timers"; + container loose-path { + description + "Control the LSP terminating outside the headend area"; + leaf retry-period { + type uint32 { + range "30..600" { + description + "Seconds to retry signalling of loose path tunnels after path errors"; + } + } + description + "Period in seconds between retries after path errors"; + } + } + container s2l-setup { + description + "Control the LSP headend"; + leaf retry-timer { + type uint32 { + range "30..600" { + description + "Seconds to retry signalling after path timeout"; + } + } + description + "Timeout period in seconds before head end retries path"; + } + } + container backoff-timer { + description + "Control the LSP signaling requests on the same path"; + leaf initial-interval { + type uint32 { + range "0..600" { + description + "In seconds"; + } + } + must "../final-interval"; + description + "The initial interval in seconds that the timer will start with. The default value is 3(s). Timer is disabled when this value and the final-interval are both set to 0"; + } + leaf final-interval { + type uint32 { + range "0..600" { + description + "In seconds"; + } + } + must "../initial-interval"; + description + "The final interval in seconds that the timer will cap at. The default value is 300(s). Timer is disabled when this value and the initial-interval are both set to 0"; + } + } + } + container topology { + description + "Topology Database Configuration"; + container holddown { + description + "Topology Database hold down timers"; + leaf sigerr { + type uint32 { + range "0..300" { + description + "Hold down time in seconds"; + } + } + description + "Link hold down time for signalling errors"; + } + } + } + container flooding { + description + "Configure MPLS-TE flooding"; + container threshold { + description + "Configure MPLS-TE flooding thresholds"; + leaf up { + type uint32 { + range "0..100" { + description + "Upward flooding threshold as percentage of total link bandwidth change"; + } + } + description + "Upward flooding threshold"; + } + leaf down { + type uint32 { + range "0..100" { + description + "Downward flooding threshold as percentage of total link bandwidth change"; + } + } + must "../up"; + description + "Downward flooding threshold"; + } + } + } + container named-tunnels { + presence "Indicates a named-tunnels node is configured."; + description + "Named Tunnels"; + container tunnel-tes { + description + "Traffic Engineering Tunnel"; + list tunnel-te { + key "tunnel-name"; + description + "Traffic Engineering Tunnel"; + leaf tunnel-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Tunnel Name"; + } + } + description + "Traffic Engineering Tunnel"; + } + leaf destination { + type inet:ipv4-address-no-zone; + description + "Specify tunnel destination"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "shutdown the given tunnel"; + } + container soft-preemption { + presence "Indicates a soft-preemption node is configured."; + description + "Enable the soft-preemption feature on this tunnel"; + } + container delay-measurement { + presence "Indicates a delay-measurement node is configured."; + description + "Enable the delay-measurement feature on this tunnel"; + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Record the route used by the tunnel"; + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable interface LSP REOPT change alarms"; + } + container reoptimize-attempts { + presence "Indicates a reoptimize-attempts node is configured."; + description + "Enable interface LSP REOPT attempts change alarms"; + } + container bw-change { + presence "Indicates a bw-change node is configured."; + description + "Enable interface LSP BANDWIDTH change alarms"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable interface LSP REROUTE change alarms"; + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Enable interface LSP RECORD-ROUTE change alarms"; + } + container switchover { + presence "Indicates a switchover node is configured."; + description + "Enable interface LSP SWITCHOVER change alarms"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup/reopt failure due to bandwidth"; + } + container path-error { + presence "Indicates a path-error node is configured."; + description + "Enable Syslog for failures due to path error"; + } + } + container pcalc-failure { + presence "Indicates a pcalc-failure node is configured."; + description + "Enable logging for path calculation failures"; + } + container all { + presence "Indicates a all node is configured."; + description + "Enable all logging for this tunnel"; + } + } + } + container fast-reroute { + presence "Indicates a fast-reroute node is configured."; + description + "Specify MPLS tunnel can be fast-rerouted"; + container protect { + description + "Enable protection request"; + container node { + presence "Indicates a node node is configured."; + description + "Enable node protection request"; + } + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Enable bandwidth protection request"; + } + } + } + container affinity { + description + "Link attributes for links traversed by tunnel"; + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + leaf affinity-attribute-value { + type uint32 { + range "0..4294967295" { + description + "Affinity attribute value"; + } + } + description + "Affinity attribute value"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity attribute mask value"; + } + } + description + "Affinity attribute mask value"; + } + } + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel priority"; + leaf setup-priority { + type uint32 { + range "0..7" { + description + "Setup Priority"; + } + } + mandatory true; + description + "Tunnel priority"; + } + leaf hold-priority { + type uint32 { + range "0..7" { + description + "Hold Priority"; + } + } + mandatory true; + description + "Hold Priority"; + } + } + container signalled-bandwidth { + must "not(class-type and sub-pool)"; + presence "Indicates a signalled-bandwidth node is configured."; + description + "Tunnel bandwidth requirement to be signalled"; + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + mandatory true; + description + "Bandwidth requirement in kbps"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the bandwidth class type"; + } + container sub-pool { + when "../bandwidth != 0"; + presence "Indicates a sub-pool node is configured."; + description + "Specify sub-pool bandwidth"; + } + } + leaf forward-class { + type uint32 { + range "0..7" { + description + "Forward class for the tunnel (default value 0)"; + } + } + description + "Specify tunnel forward class for policy based routing"; + } + leaf load-share { + type uint32 { + range "1..4294967295" { + description + "Loadshare value. Scale is the same as bandwidths."; + } + } + description + "Specify tunnel load-sharing metric"; + } + container path-selection { + description + "Enter path selection configuration submode"; + container metric { + description + "Metric Type for path calculation"; + container igp { + presence "Indicates a igp node is configured."; + description + "Use IGP metric"; + } + container te { + presence "Indicates a te node is configured."; + description + "Use TE metric"; + } + container delay { + presence "Indicates a delay node is configured."; + description + "Use delay metric"; + } + } + container tiebreaker { + description + "Equal cost multipath tiebreaker for path calculation (default: min-fill)."; + container min-fill { + presence "Indicates a min-fill node is configured."; + description + "Prefer the path with the least-utilized links"; + } + container max-fill { + presence "Indicates a max-fill node is configured."; + description + "Prefer the path with the most-utilized links"; + } + container random { + presence "Indicates a random node is configured."; + description + "Prefer a path with links utilized randomly"; + } + } + leaf delay-limit { + type uint32 { + range "1..4294967295" { + description + "Delay limit in usec"; + } + } + description + "Delay limit configuration"; + } + } + container forwarding-adjacency { + presence "Indicates a forwarding-adjacency node is configured."; + description + "Enable a forwarding-adjacency and enter its submode"; + leaf holdtime { + type uint32 { + range "0..20000" { + description + "Hold time in ms"; + } + } + description + "Hold time in ms"; + } + container include-ipv6 { + presence "Indicates a include-ipv6 node is configured."; + description + "Announce tunnel as an IPv6 FA also"; + } + } + container autoroute { + description + "Parameters for IGP routing over tunnel"; + container announce { + presence "Indicates a announce node is configured."; + description + "Announce tunnel to IGP"; + container metric { + must "constant or absolute or relative"; + presence "Indicates a metric node is configured."; + description + "Specify MPLS tunnel metric"; + leaf absolute { + type uint32 { + range "1..2147483647" { + description + "Absolute metric"; + } + } + description + "Set metric mode absolute"; + } + leaf relative { + type int32 { + range "-10..10" { + description + "Relative metric"; + } + } + description + "Set metric mode relative"; + } + leaf constant { + type uint32 { + range "1..2147483647" { + description + "Set constant metric"; + } + } + description + "Set constant metric"; + } + } + container include-ipv6 { + presence "Indicates a include-ipv6 node is configured."; + description + "Announce tunnel as an IPv6 AA also"; + } + container exclude-traffic { + description + "Exclude the type of traffic that goes through AA"; + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Exclude segment-routing traffic from the autoroute announced tunnel"; + } + } + } + container destinations { + description + "Adds static route to destination"; + list destination { + key "address"; + description + "Adds static route to destination"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Adds static route to destination"; + } + } + } + } + container auto-bw { + presence "Indicates a auto-bw node is configured."; + description + "Enable tunnel auto-bandwidth and enter its submode"; + leaf application { + type uint32 { + range "5..10080" { + description + " Auto-bw application frequency (minutes)"; + } + } + description + "Set the tunnel auto-bw application frequency"; + } + container bw-limit { + presence "Indicates a bw-limit node is configured."; + description + "Set min/max bandwidth auto-bw can apply on a tunnel"; + leaf min { + type uint32 { + range "0..4294967295" { + description + "Minimum bandwidth to apply (kbps)"; + } + } + mandatory true; + description + "Set minimum bandwidth auto-bw can apply on a tunnel"; + } + leaf max { + type uint32 { + range "0..4294967295" { + description + "Maximum bandwidth to apply (kbps)"; + } + } + mandatory true; + description + "Set maximum bandwidth auto-bw can apply on a tunnel"; + } + } + container collect-bw-only { + presence "Indicates a collect-bw-only node is configured."; + description + "Enable bandwidth collection only, no auto-bw adjustment"; + } + container adjustment-threshold { + presence "Indicates a adjustment-threshold node is configured."; + description + "Set the bandwidth change threshold to trigger adjustment"; + leaf bandwidth-change-percent { + type uint32 { + range "1..100" { + description + "Bandwidth change percent to trigger adjustment"; + } + } + mandatory true; + description + "Set the bandwidth change threshold to trigger adjustment"; + } + leaf min { + type uint32 { + range "10..4294967295" { + description + "Bandwidth change value to trigger adjustment (kbps)"; + } + } + description + "Set the bandwidth change value to trigger adjustment"; + } + } + container overflow { + description + "Configuring the tunnel overflow detection"; + container threshold { + presence "Indicates a threshold node is configured."; + description + "Set the bandwidth change percent to trigger an overflow"; + leaf bandwidth-change-percent { + type uint32 { + range "1..100" { + description + "Bandwidth change percent to trigger an overflow"; + } + } + mandatory true; + description + "Set the bandwidth change percent to trigger an overflow"; + } + leaf min { + type uint32 { + range "10..4294967295" { + description + "Bandwidth change value to trigger an overflow (kbps)"; + } + } + mandatory true; + description + "Set the bandwidth change value to trigger an overflow"; + } + leaf limit { + type uint32 { + range "1..10" { + description + "Number of consecutive collections exceeding threshold"; + } + } + mandatory true; + description + "Set the number of consecutive collections exceeding threshold"; + } + } + } + container underflow { + description + "Configuring the tunnel underflow detection"; + container threshold { + presence "Indicates a threshold node is configured."; + description + "Set the bandwidth change percent to trigger an underflow"; + leaf bandwidth-change-percent { + type uint32 { + range "1..100" { + description + "Bandwidth change percent to trigger an underflow"; + } + } + mandatory true; + description + "Set the bandwidth change percent to trigger an underflow"; + } + leaf min { + type uint32 { + range "10..4294967295" { + description + "Bandwidth change value to trigger an underflow (kbps)"; + } + } + mandatory true; + description + "Set the bandwidth change value to trigger an underflow"; + } + leaf limit { + type uint32 { + range "1..10" { + description + "Number of consecutive collections exceeding threshold"; + } + } + mandatory true; + description + "Set the number of consecutive collections exceeding threshold"; + } + } + } + container resignal { + description + "Configure the tunnel resignal parameters after going down"; + container last-bandwidth { + description + "Configure the tunnel to use last applied bandwidth after going down"; + leaf time-out { + type uint32 { + range "1..3600000" { + description + "time-out value to trigger a reset of the requested bandwidth (seconds)"; + } + } + description + "Set the bandwidth resignal time-out value (in seconds) After this time the tunnel will be signaled with the configured bandwidth"; + } + } + } + container auto-capacity { + presence "Indicates a auto-capacity node is configured."; + description + "Enable auto-capacity and enter its submode"; + leaf min-clones { + type uint32 { + range "0..63" { + description + "Range of auto-capacity min clones (default 0)"; + } + } + description + "Lower limit on the number of clones that can be created for a given tunnel"; + } + leaf max-clones { + type uint32 { + range "0..63" { + description + "Range of auto-capacity max clones (default 63)"; + } + } + description + "Upper limit on the number of clones that can be created for a given tunnel"; + } + leaf split-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth in kbps"; + } + } + description + "Split bandwidth in kbps"; + } + leaf merge-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth in kbps"; + } + } + description + "Merge bandwidth in kbps"; + } + leaf nominal-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth in kbps"; + } + } + description + "Bandwidth in kbps used to compute the number of tunnels when merging or splitting "; + } + } + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable BFD fast detection"; + container sbfd { + presence "Indicates a sbfd node is configured."; + description + "Enable Seamless BFD"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "Hello interval in milliseconds (default 100),lower bound is 50ms for BFD sessions for named tunnels "; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "3..10" { + description + "Number of consecutive misses before declaring failure (default 3)"; + } + } + description + "Number of consecutive misses before declaring failure "; + } + } + container path-protection { + presence "Indicates a path-protection node is configured."; + description + "Enable the path protection feature on this named tunnel"; + container srlg-diverse { + presence "Indicates a srlg-diverse node is configured."; + description + "Enforce SRLG diversity for protecting LSP"; + } + } + container path-options { + description + "Primary or fallback path setup option"; + list path-option { + key "path-setup-name"; + description + "Primary or fallback path setup option"; + leaf path-setup-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path setup name"; + } + } + description + "Primary or fallback path setup option"; + } + leaf preference { + type uint32 { + range "0..255" { + description + "Lower value is more preferred path option"; + } + } + description + "Specify the preference of the path-option."; + } + container computation { + description + "Specify the computation method for the path"; + container dynamic { + presence "Indicates a dynamic node is configured."; + description + "Dyanmic path computation"; + } + leaf explicit { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the explicit path"; + } + } + description + "Computation based on the preconfigured path"; + } + } + } + } + leaf load-interval { + type uint32 { + range "0|30|60|90|120|150|180|210|240|270|300|330|360|390|420|450|480|510|540|570|600" { + description + "Number of seconds: 0 disables load calculation"; + } + } + description + "Specify interval for load calculation for the named tunnel"; + } + container self-ping { + presence "Indicates a self-ping node is configured."; + description + "Enable self-ping and enter its submode"; + leaf max-count { + type uint32 { + range "1..180" { + description + "Range of maximum number of self-ping probes (default 60)"; + } + } + description + "Number of self-ping probes <1-180> (default 60)"; + } + } + } + } + } + container affinity-maps { + description + "Affinity Map Configuration"; + list affinity-map { + key "attribute-name"; + description + "Affinity Map Configuration"; + leaf attribute-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the explicit path"; + } + } + must "(../attribute-value and not(../bit-position)) or (../bit-position and not(../attribute-value))"; + description + "Affinity attribute name"; + } + leaf attribute-value { + type uint32 { + range "1..2147483648" { + description + "Affinity attribute value"; + } + } + description + "Affinity Map Configuration"; + } + leaf bit-position { + type uint32 { + range "0..255" { + description + "Bit Position"; + } + } + description + "Bit Position for Affinity attribute value"; + } + } + } + container signalling { + description + "Signalling options"; + container advertise { + description + "Label advertising options"; + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Enable explicit-null advertising to PHOP"; + } + } + } + container router-id { + description + "Router ID"; + list secondary { + key "router-id"; + description + "Configure secondary TE Router ID to be used locally (not advertised)"; + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Configure secondary TE Router ID to be used locally (not advertised)"; + } + } + } + container fast-reroute { + description + "Fast-reroute config parameters"; + container timers { + description + "Configure fast-reroute timer"; + leaf hold-backup { + type uint32 { + range "0..604800" { + description + "Seconds before backup declared UP (0 disables hold-timer)"; + } + } + description + "Hold timer for backup UP event"; + } + leaf promotion { + type uint32 { + range "0..604800" { + description + "Seconds between promotions (0 disables promotion)"; + } + } + description + "Configure how often we scan for LSP backup promotion"; + } + } + } + container gmpls { + description + "GMPLS submode"; + container optical-uni { + description + "GMPLS-UNI submode"; + container controllers { + description + "Configure GMPLS-UNI on a link"; + list controller { + key "controller-name"; + description + "Configure GMPLS-UNI on a link"; + leaf controller-name { + type xr:Interface-name; + description + "Configure GMPLS-UNI on a link"; + } + container switching-type { + description + "Specify switching type"; + container dcsc { + presence "Indicates a dcsc node is configured."; + description + "Data channel switch capable"; + } + container lsc { + presence "Indicates a lsc node is configured."; + description + "Lambda switch capable"; + } + container fsc { + presence "Indicates a fsc node is configured."; + description + "Fiber switch capable"; + } + } + leaf mtu { + type uint32 { + range "64..65535" { + description + "MTU size in bytes"; + } + } + description + "Set the MTU on a controller"; + } + container logging { + description + "Per-controller logging configuration"; + container discovered-srlgs { + presence "Indicates a discovered-srlgs node is configured."; + description + "Enable logging for discovered SRLGs on this link"; + } + } + container announce { + description + "Announce discovered tunnel properties to system"; + container srlgs { + presence "Indicates a srlgs node is configured."; + description + "Announce discovered SRLGs to system"; + } + } + container tunnel-properties { + presence "Indicates a tunnel-properties node is configured."; + description + "Configure GMPLS-UNI tunnel head properties"; + container destination { + description + "Specify tunnel destination"; + container ipv4 { + description + "Specify an IPv4 destination"; + leaf unicast { + type inet:ipv4-address-no-zone; + description + "Specify an IPv4 unicast destination"; + } + } + } + leaf g-pid { + type uint32 { + range "0..255" { + description + "GPID value"; + } + } + description + "Specify generalized payload type"; + } + container encoding-type { + description + "Specify LSP encoding type"; + container ethernet-type1 { + presence "Indicates a ethernet-type1 node is configured."; + description + "Ethernet Private Line Type 1"; + } + container ethernet-type2 { + presence "Indicates a ethernet-type2 node is configured."; + description + "Ethernet Private Line Type 1"; + } + container lambda { + presence "Indicates a lambda node is configured."; + description + "Lambda Photonic"; + } + container fiber { + presence "Indicates a fiber node is configured."; + description + "Fiber"; + } + } + container path-options { + description + "Configure a GMPLS-UNI path-option"; + list path-option { + must "no-ero or explicit"; + key "preference"; + description + "Configure a GMPLS-UNI path-option"; + leaf preference { + type uint32 { + range "1..1000" { + description + "Preference for this path option"; + } + } + description + "Configure a GMPLS-UNI path-option"; + } + container no-ero { + must "../lockdown"; + presence "Indicates a no-ero node is configured."; + description + "No path configuration"; + } + container explicit { + description + "Setup based on preconfigured path"; + container identifier { + must "not(../name) and ../../lockdown and ../../verbatim"; + presence "Indicates a identifier node is configured."; + description + "Specify an explicit path by number"; + leaf explicit-path-number { + type uint32 { + range "1..65535" { + description + "Explicit path number"; + } + } + mandatory true; + description + "Specify an explicit path by number"; + } + } + container name { + must "not(../identifier) and ../../lockdown and ../../verbatim"; + presence "Indicates a name node is configured."; + description + "Specify an explicit path by name"; + leaf explicit-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Explicit path name"; + } + } + mandatory true; + description + "Specify an explicit path by name"; + } + } + } + leaf xro-attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 64 char)"; + } + } + description + "Attribute-set containing path exclusions"; + } + container signaled-label { + description + "Specify a fixed upstream label to be used"; + container dwdm { + description + "DWDM label (RFC 6205), 50GHz channel-spacing"; + leaf wavelength { + type uint32 { + range "1..89" { + description + "DWDM channel number (ITU), 50GHz channel-spacing"; + } + } + description + "DWDM wavelength"; + } + } + } + container lockdown { + presence "Indicates a lockdown node is configured."; + description + "Not a candidate for reoptimization"; + } + container verbatim { + presence "Indicates a verbatim node is configured."; + description + "Use explicit path to construct ERO directly"; + } + } + } + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel priority"; + leaf setup-priority { + type uint32 { + range "0..7" { + description + "Setup Priority"; + } + } + mandatory true; + description + "Tunnel priority"; + } + leaf hold-priority { + type uint32 { + range "0..7" { + description + "Hold Priority"; + } + } + mandatory true; + description + "Hold Priority"; + } + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Record the route used by the tunnel"; + } + leaf signalled-name { + type xr:Cisco-ios-xr-string { + length "1..254" { + description + "The name to be included in signaling (max 254 characters)"; + } + } + description + "The signaling name to assign to the tunnel"; + } + container record { + description + "Request recording of tunnel properties during signaling"; + container srlg { + presence "Indicates a srlg node is configured."; + description + "SRLG recording"; + } + } + leaf tunnel-id { + type uint32 { + range "0..65535" { + description + "Tunnel ID"; + } + } + description + "GMPLS-UNI tunnel id"; + } + container logging { + description + "Per-tunnel logging configuration"; + container events { + description + "Per-tunnel logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + } + } + } + container protection { + description + "Protection"; + leaf attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 32 characters)"; + } + } + description + "Protection attribute set"; + } + } + } + } + } + container timers { + description + "Configure GMPLS-UNI timers"; + container path-option { + description + "Path-option timers"; + container holddown { + presence "Indicates a holddown node is configured."; + description + "Path-option holddown timer limits"; + leaf minimum { + type uint32 { + range "5..3600" { + description + "Minimum path-option holddown time (seconds)"; + } + } + mandatory true; + description + "Path-option holddown timer limits"; + } + leaf maximum { + type uint32 { + range "5..3600" { + description + "Maximum path-option holddown time (seconds)"; + } + } + mandatory true; + description + "Maximum path-option holddown time (seconds)"; + } + } + } + } + } + container optical-nni { + presence "Indicates a optical-nni node is configured."; + description + "GMPLS-NNI submode"; + container path-selection { + description + "Path Selection Configuration"; + container metric { + description + "Metric Type Configuration"; + container te-metric { + presence "Indicates a te-metric node is configured."; + description + "Use TE metric"; + } + container delay { + presence "Indicates a delay node is configured."; + description + "Use delay metric"; + } + } + } + container controller { + description + "Configure GMPLS-NNI tunnel"; + list odu-group-te { + key "tunnel-id"; + description + "Odu-Group-Te controller(s)"; + leaf tunnel-id { + type uint32 { + range "0..64535" { + description + "Enter the Tunnel ID"; + } + } + description + "Enter the Tunnel ID"; + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable tunnel oper-state change notification"; + } + container signalling-state { + presence "Indicates a signalling-state node is configured."; + description + "Enable all sub-LSP state change notification"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup failure due to bandwidth"; + } + container cross-connect { + presence "Indicates a cross-connect node is configured."; + description + "Enable Static X-connects change notification"; + } + container switch-over { + presence "Indicates a switch-over node is configured."; + description + "Enable Active LSP change notification"; + } + container path-change { + presence "Indicates a path-change node is configured."; + description + "Enable Path-change notification"; + } + container homepath-state { + presence "Indicates a homepath-state node is configured."; + description + "Enable Homepath state change notification"; + } + } + } + } + container path-selection { + description + "Path Selection Configuration"; + container metric { + description + "Metric Type Configuration"; + container te-metric { + presence "Indicates a te-metric node is configured."; + description + "Use TE metric"; + } + container delay { + presence "Indicates a delay node is configured."; + description + "Use delay metric"; + } + } + } + container destination { + description + "Specify tunnel destination"; + container ipv4 { + description + "Specify an IPv4 destination"; + leaf unicast { + type inet:ipv4-address-no-zone; + description + "Specify an IPv4 unicast destination"; + } + container unnumbered { + presence "Indicates a unnumbered node is configured."; + description + "Enter Router-id (A.B.C.D)"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Enter Router-id (A.B.C.D)"; + } + leaf interface-ifindex { + type uint32 { + range "0..4294967295" { + description + "Enter the destination IF-index"; + } + } + description + "Specify terminated interface index assigned by destination node"; + } + } + } + } + leaf signalled-name { + type xr:Cisco-ios-xr-string { + length "1..254" { + description + "The name to be included in signaling (max 254 characters)"; + } + } + description + "The signaling name to assign to the tunnel"; + } + container protection-switching { + description + "Protection-switching specific commands"; + container lockout { + description + "Lockout tunnel controller to prevent switch over"; + container working { + presence "Indicates a working node is configured."; + description + "Lockout working path"; + } + } + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Records the route used by the tunnel"; + } + container announce-srlg { + presence "Indicates a announce-srlg node is configured."; + description + "Announce the srlg on termination interface"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shuts down LSP/Tunnel"; + container lsp-type { + description + "Lists the Lsp Types"; + container current { + presence "Indicates a current node is configured."; + description + "Shuts down the Current/Working LSP"; + } + container standby { + presence "Indicates a standby node is configured."; + description + "Shuts down the Protect/Standby LSP"; + } + container restore { + presence "Indicates a restore node is configured."; + description + "Shuts down the Restore LSP"; + } + } + } + container signalled-bandwidth { + description + "Set the signaled B/W of the tunnel"; + container odu0 { + presence "Indicates a odu0 node is configured."; + description + "Signalled Bandwidth for ODU0"; + } + container odu1 { + presence "Indicates a odu1 node is configured."; + description + "Signalled Bandwidth for ODU1"; + } + container odu1e { + presence "Indicates a odu1e node is configured."; + description + "Signalled Bandwidth for ODU1e"; + } + container odu1f { + presence "Indicates a odu1f node is configured."; + description + "Signalled Bandwidth for ODU1f"; + } + container odu2 { + presence "Indicates a odu2 node is configured."; + description + "Signalled Bandwidth for ODU2"; + } + container odu2e { + presence "Indicates a odu2e node is configured."; + description + "Signalled Bandwidth for ODU2e"; + } + container odu2f { + presence "Indicates a odu2f node is configured."; + description + "Signalled Bandwidth for ODU2f"; + } + container odu3 { + presence "Indicates a odu3 node is configured."; + description + "Signalled Bandwidth for ODU3"; + } + container odu3e1 { + presence "Indicates a odu3e1 node is configured."; + description + "Signalled Bandwidth for ODU3e1"; + } + container odu3e2 { + presence "Indicates a odu3e2 node is configured."; + description + "Signalled Bandwidth for ODU3e2"; + } + container odu4 { + presence "Indicates a odu4 node is configured."; + description + "Signalled Bandwidth for ODU4"; + } + container oduflex { + description + "Signalled Bandwidth for ODUFlex"; + leaf bitrate { + type uint32 { + range "1..104136740" { + description + "Enter the bitrate for ODUFlex in kbps"; + } + } + description + "Set bit-rate for ODUFlex in kbps"; + } + container framing-type { + description + "Set the framing type for ODUFlex"; + container cbr { + presence "Indicates a cbr node is configured."; + description + "Set framing type as CBR for ODU Flex"; + } + container gfp-f-fixed { + presence "Indicates a gfp-f-fixed node is configured."; + description + "Set framing type as GFP-F-Fixed for ODU Flex"; + } + } + } + } + container path-options { + description + "Path setup option"; + list path-option { + must "dynamic or explicit"; + key "preference"; + description + "Path setup option"; + leaf preference { + type uint32 { + range "1..1000" { + description + "Preference for this path option"; + } + } + description + "Path setup option"; + } + container dynamic { + must "../lockdown"; + presence "Indicates a dynamic node is configured."; + description + "Setup based on dynamically allocated path"; + } + container explicit { + description + "Setup based on preconfigured path"; + container identifier { + must "not(../name) and ../../lockdown"; + presence "Indicates a identifier node is configured."; + description + "Specify an IP explicit path by number"; + leaf explicit-path-number { + type uint32 { + range "1..65535" { + description + "Specify an IP explicit path by number"; + } + } + mandatory true; + description + "Specify an IP explicit path by number"; + } + } + container name { + must "not(../identifier) and ../../lockdown"; + presence "Indicates a name node is configured."; + description + "Specify an IP explicit path by name"; + leaf explicit-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an IP explicit path by name"; + } + } + mandatory true; + description + "Specify an IP explicit path by name"; + } + } + } + leaf attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 64 char)"; + } + } + description + "Attribute set for this LSP"; + } + leaf xro-attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 64 char)"; + } + } + description + "Attribute-set containing path exclusions"; + } + container lockdown { + presence "Indicates a lockdown node is configured."; + description + "Path-option is not a candidate for reoptimization"; + } + container protected-by { + description + "Path protection using explicit protecting path"; + container none { + must "not(../explicit-protecting-path)"; + presence "Indicates a none node is configured."; + description + "No path protection"; + } + leaf explicit-protecting-path { + type uint32 { + range "1..1000" { + description + "Explicit protecting path option preference level (index)"; + } + } + must "not(../none)"; + description + "Explicit protecting path option preference level (index)"; + } + } + leaf restored-from { + type uint32 { + range "1..1000" { + description + "Restore path option preference level (index)"; + } + } + description + "Path restoration option"; + } + } + } + container static-uni { + description + "Set the static UNI endpoints of the NNI Tunnel"; + container ingress-port { + description + "Specify an ingress-port"; + container controller { + must "not(../../local-termination)"; + presence "Indicates a controller node is configured."; + description + "Specify an ingress-port controller"; + leaf controller-name { + type xr:Interface-name; + mandatory true; + description + "Ingress-port controller name"; + } + container egress-port { + presence "Indicates a egress-port node is configured."; + description + "Specify an egress-port"; + leaf unnumbered { + type uint32 { + range "0..4294967295" { + description + "Enter the tail-end customer port IF index"; + } + } + mandatory true; + description + "Specify tail-end customer port IF index"; + } + } + container remote-termination { + presence "Indicates a remote-termination node is configured."; + description + "Remote termination for egress"; + leaf unnumbered { + type uint32 { + range "0..4294967295" { + description + "Enter the tail-end customer port IF index"; + } + } + mandatory true; + description + "Specify tail-end customer port IF index"; + } + } + } + } + container local-termination { + must "not(../ingress-port/controller)"; + presence "Indicates a local-termination node is configured."; + description + "Local termination for ingress"; + leaf interface-name { + type xr:Interface-name; + mandatory true; + description + "Ingress Interface"; + } + container egress-port { + presence "Indicates a egress-port node is configured."; + description + "Specify an egress-port"; + leaf unnumbered { + type uint32 { + range "0..4294967295" { + description + "Enter the tail-end customer port IF index"; + } + } + mandatory true; + description + "Specify tail-end customer port IF index"; + } + } + container remote-termination { + presence "Indicates a remote-termination node is configured."; + description + "Remote termination for egress"; + leaf unnumbered { + type uint32 { + range "0..4294967295" { + description + "Enter the tail-end customer port IF index"; + } + } + mandatory true; + description + "Specify tail-end customer port IF index"; + } + } + } + } + container path-protection { + description + "Path protection"; + leaf attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 32 characters)"; + } + } + description + "Path protection attribute set"; + } + } + leaf payload { + type enumeration { + enum "Unkonwn" { + value 0; + description + "Payload is unknown"; + } + enum "bmp" { + value 50; + description + "bmp for payload"; + } + enum "gfp-f" { + value 54; + description + "gfp-f for payload"; + } + enum "gmp" { + value 55; + description + "gmp for payload"; + } + enum "gfp-f-ext" { + value 70; + description + "gfp-f-extended for payload"; + } + } + description + "gpid as mapping"; + } + } + } + container topology { + description + "GMPLS NNI topology instance"; + container instance { + description + "GMPLS NNI topology instance"; + list ospf { + must "areas"; + key "instance-name"; + description + "OSPF instance"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..40" { + description + "Name for this OSPF instance"; + } + } + description + "OSPF instance"; + } + container areas { + description + "Specify the OSPF area to flood link into"; + list area-decimal { + key "area-id"; + description + "Specify the OSPF area to flood link into"; + leaf area-id { + type uint32 { + range "0..4294967295"; + } + description + "Specify the OSPF area ID as a decimal value"; + } + container controllers { + description + "Configure GMPLS-NNI on a link"; + list controller { + key "controller-id"; + description + "Configure GMPLS-NNI on a link"; + leaf controller-id { + type xr:Interface-name; + description + "Configure GMPLS-NNI on a link"; + } + leaf admin-weight { + type uint32 { + range "0..65535" { + description + "Admin weight value"; + } + } + description + "Contoller admin weight"; + } + container affinity-names { + description + "Specify one or more color for the Contoller"; + leaf-list affinity-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "User defined affinity-name"; + } + } + max-elements "32"; + description + "Specify one or more color for the Contoller"; + } + } + leaf delay { + type uint32 { + range "1..16777215" { + description + "TE link delay value in micro-sec"; + } + } + description + "TE link delay"; + } + container tti-mode { + description + "TTI Mode to carry TE Link Id,default is otu_sm"; + container otu-sm { + presence "Indicates a otu-sm node is configured."; + description + "Section Monitoring for OTU"; + } + container odu-pm { + presence "Indicates a odu-pm node is configured."; + description + "Path Monitoring for ODU"; + } + leaf odu-tcm { + type uint32 { + range "1..6" { + description + "Enter the Tandem Connection Monitoring ID"; + } + } + description + "Tandem Connection Monitoring for ODU"; + } + } + } + } + } + list area-address { + key "area-id"; + description + "Specify the OSPF area to flood link into"; + leaf area-id { + type inet:ipv4-address-no-zone; + description + "Specify the OSPF area ID in IP address format"; + } + container controllers { + description + "Configure GMPLS-NNI on a link"; + list controller { + key "controller-id"; + description + "Configure GMPLS-NNI on a link"; + leaf controller-id { + type xr:Interface-name; + description + "Configure GMPLS-NNI on a link"; + } + leaf admin-weight { + type uint32 { + range "0..65535" { + description + "Admin weight value"; + } + } + description + "Contoller admin weight"; + } + container affinity-names { + description + "Specify one or more color for the Contoller"; + leaf-list affinity-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "User defined affinity-name"; + } + } + max-elements "32"; + description + "Specify one or more color for the Contoller"; + } + } + leaf delay { + type uint32 { + range "1..16777215" { + description + "TE link delay value in micro-sec"; + } + } + description + "TE link delay"; + } + container tti-mode { + description + "TTI Mode to carry TE Link Id,default is otu_sm"; + container otu-sm { + presence "Indicates a otu-sm node is configured."; + description + "Section Monitoring for OTU"; + } + container odu-pm { + presence "Indicates a odu-pm node is configured."; + description + "Path Monitoring for ODU"; + } + leaf odu-tcm { + type uint32 { + range "1..6" { + description + "Enter the Tandem Connection Monitoring ID"; + } + } + description + "Tandem Connection Monitoring for ODU"; + } + } + } + } + } + } + } + } + } + } + } + container maxabs { + must "(tunnels and not(destinations or p2mp-tunnels)) or (destinations and not(tunnels or p2mp-tunnels)) or (p2mp-tunnels and not(tunnels or destinations))"; + presence "Indicates a maxabs node is configured."; + description + "Maximum number of Traffic engineering attribute"; + leaf tunnels { + type uint32 { + range "1..65536" { + description + "Desired Maximum Number"; + } + } + description + "All MPLS Traffic Engineering Tunnels"; + } + leaf destinations { + type uint32 { + range "1..65536" { + description + "Desired Maximum Number"; + } + } + description + "All MPLS Traffic Engineering Destinations"; + } + leaf p2mp-tunnels { + type uint32 { + range "1..65536" { + description + "Desired Maximum Number"; + } + } + description + "P2MP MPLS Traffic Engineering Tunnels"; + } + } + container route-priority { + description + "Set route-priorities for tunnel labels"; + container role { + description + "Set route-priorities for tunnel roles"; + container head { + description + "Set route-priorities for tunnel heads"; + container primary { + description + "Set route-priorities for non-backup tunnels"; + leaf queue { + type uint32 { + range "0..12" { + description + "LSD queue value (the lower value is the higher priority queue)"; + } + } + description + "Set route-priority queue value"; + } + } + container backup { + description + "Set route-priorities for backup tunnels"; + leaf queue { + type uint32 { + range "0..12" { + description + "LSD queue value (the lower value is the higher priority queue)"; + } + } + description + "Set route-priority queue value"; + } + } + } + container middle { + description + "Set route-priorities for tunnel midpoints"; + leaf queue { + type uint32 { + range "0..12" { + description + "LSD queue value (the lower value is the higher priority queue)"; + } + } + description + "Set route-priority queue value"; + } + } + } + } + container load-share { + description + "Load-share configuration"; + container unequal { + presence "Indicates a unequal node is configured."; + description + "Enable unequal load-sharing across TE tunnels to the same destination"; + } + } + container auto-bw { + description + "Auto-bandwidth configuration"; + container collect { + description + "Auto-bandwidth collection parameters"; + leaf frequency { + type uint32 { + range "1..10080" { + description + "Auto-bandwidth collection frequency in minutes"; + } + } + description + "Auto-bandwidth collection frequency parameter"; + } + } + } + container soft-preemption { + presence "Indicates a soft-preemption node is configured."; + description + "Enable soft-preemption"; + leaf timeout { + type uint32 { + range "1..300" { + description + "Timeout for soft-preempted LSP in seconds: default 60"; + } + } + description + "Specify a timeout for soft-preempted LSP"; + } + container frr-rewrite { + presence "Indicates a frr-rewrite node is configured."; + description + "Move the traffic on the FRR backup tunnel"; + } + } + container preemption-graceful { + description + "Enable graceful preemption"; + container bw-reduction { + presence "Indicates a bw-reduction node is configured."; + description + "Enable graceful preemption when there is a bandwidth reduction"; + } + } + container srlg { + presence "Indicates a srlg node is configured."; + description + "Traffic Engineering SRLG submode"; + leaf admin-weight { + type uint32 { + range "0..4294967295" { + description + "Value added to link admin-weight during SRLG-aware path computation"; + } + } + description + "Default administrative weight for all SRLGs, default is 1"; + } + container names { + description + "SRLG Name"; + list name { + key "srlg-name"; + description + "SRLG Name"; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "SRLG Name"; + } + } + description + "SRLG Name"; + } + leaf admin-weight { + type uint32 { + range "0..4294967295" { + description + "Value added to link admin-weight during SRLG-aware path computation"; + } + } + description + "Administrative weight: default inherited from the global admin-weight"; + } + container static { + description + "Configure static SRLG under name"; + container ipv4 { + description + "IPv4 address"; + list address { + key "local-address"; + description + "IPv4 address of local end-point of the link"; + leaf local-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of local end-point of the link"; + } + container next-hop { + description + "Next hop of the link"; + container ipv4 { + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of remote end-point of the link"; + } + } + } + } + } + } + } + } + } + container mib { + description + "MPLS-TE MIB properties"; + container midstats { + description + "Midpoint LSP traffic stats collection"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disables MIB midpoint LSP traffic stats collection"; + } + } + } + container fault-oam { + presence "Indicates a fault-oam node is configured."; + description + "Enable fault OAM functionality for bi-directional tunnels"; + } + container hw-oor { + description + "Config submode for NPU OOR handling in MPLS-TE"; + container green { + description + "Config submode for handling NPU OOR in normal/green state"; + container action { + description + "Action to take in the HW-OOR state"; + container flood { + description + "Flooding parameters in the HW-OOR state"; + container te-metric { + description + "Change the TE metric for the link in HW-OOR state"; + leaf penalty { + type uint32 { + range "0..16777215" { + description + "Value added to link metric when in HW-OOR state"; + } + } + description + "Add a penalty to the TE metric of the link in HW-OOR state. Default is 0"; + } + } + leaf available-bw { + type uint32 { + range "0..100" { + description + "Percentage of available BW when the link is in HW-OOR state"; + } + } + description + "Specify the percentage of available BW for the link in HW-OOR state. Default is to flood 100% of the available bandwidth"; + } + } + container node-protection { + description + "Configure the FRR node-protection action in this HW-OOR state"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable FRR node-protection backups for the LSPs that use the interface in HW-OOR"; + } + } + container accept { + description + "Configure the accepted operations in this HW-OOR state"; + container reopt-lsp { + presence "Indicates a reopt-lsp node is configured."; + description + "Accept the reopt LSP sharing the same link in HW-OOR state as the current LSP"; + } + } + container admit { + description + "Configure the admission operations in this HW-OOR state"; + leaf lsp-min-bw { + type uint32 { + range "0..4294967295" { + description + "Minimim bandwidth (in kbps) of accepted LSPs, default is 0"; + } + } + description + "Accept LSPs that are at least equal to the specified bandwidth"; + } + } + } + leaf recovery-duration { + type uint32 { + range "0..10080" { + description + "Number of minutes for the recovery in Green state, default is 0"; + } + } + description + "Configure how long the actions are taken in HW-OOR Green state after recovery"; + } + } + container yellow { + description + "Config submode for handling NPU OOR in minor/yellow state"; + container action { + description + "Action to take in the HW-OOR state"; + container flood { + description + "Flooding parameters in the HW-OOR state"; + container te-metric { + description + "Change the TE metric for the link in HW-OOR state"; + leaf penalty { + type uint32 { + range "0..16777215" { + description + "Value added to link metric when in HW-OOR state"; + } + } + description + "Add a penalty to the TE metric of the link in HW-OOR state. Default is 0"; + } + } + leaf available-bw { + type uint32 { + range "0..100" { + description + "Percentage of available BW when the link is in HW-OOR state"; + } + } + description + "Specify the percentage of available BW for the link in HW-OOR state. Default is to flood 100% of the available bandwidth"; + } + } + container node-protection { + description + "Configure the FRR node-protection action in this HW-OOR state"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable FRR node-protection backups for the LSPs that use the interface in HW-OOR"; + } + } + container accept { + description + "Configure the accepted operations in this HW-OOR state"; + container reopt-lsp { + presence "Indicates a reopt-lsp node is configured."; + description + "Accept the reopt LSP sharing the same link in HW-OOR state as the current LSP"; + } + } + container admit { + description + "Configure the admission operations in this HW-OOR state"; + leaf lsp-min-bw { + type uint32 { + range "0..4294967295" { + description + "Minimim bandwidth (in kbps) of accepted LSPs, default is 0"; + } + } + description + "Accept LSPs that are at least equal to the specified bandwidth"; + } + } + } + leaf recovery-duration { + type uint32 { + range "0..10080" { + description + "Number of minutes for the recovery in Green state, default is 0"; + } + } + description + "Configure how long the actions are taken in HW-OOR Green state after recovery"; + } + } + container red { + description + "Config submode for handling NPU OOR in major/red state"; + container action { + description + "Action to take in the HW-OOR state"; + container flood { + description + "Flooding parameters in the HW-OOR state"; + container te-metric { + description + "Change the TE metric for the link in HW-OOR state"; + leaf penalty { + type uint32 { + range "0..16777215" { + description + "Value added to link metric when in HW-OOR state"; + } + } + description + "Add a penalty to the TE metric of the link in HW-OOR state. Default is 0"; + } + } + leaf available-bw { + type uint32 { + range "0..100" { + description + "Percentage of available BW when the link is in HW-OOR state"; + } + } + description + "Specify the percentage of available BW for the link in HW-OOR state. Default is to flood 100% of the available bandwidth"; + } + } + container node-protection { + description + "Configure the FRR node-protection action in this HW-OOR state"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable FRR node-protection backups for the LSPs that use the interface in HW-OOR"; + } + } + container accept { + description + "Configure the accepted operations in this HW-OOR state"; + container reopt-lsp { + presence "Indicates a reopt-lsp node is configured."; + description + "Accept the reopt LSP sharing the same link in HW-OOR state as the current LSP"; + } + } + container admit { + description + "Configure the admission operations in this HW-OOR state"; + leaf lsp-min-bw { + type uint32 { + range "0..4294967295" { + description + "Minimim bandwidth (in kbps) of accepted LSPs, default is 0"; + } + } + description + "Accept LSPs that are at least equal to the specified bandwidth"; + } + } + } + leaf recovery-duration { + type uint32 { + range "0..10080" { + description + "Number of minutes for the recovery in Green state, default is 0"; + } + } + description + "Configure how long the actions are taken in HW-OOR Green state after recovery"; + } + } + } + container lsp-oor { + description + "Config submode for LSP OOR handling in MPLS-TE"; + container yellow { + description + "Config submode for LSP OOR in minor/yellow state"; + container transit-all { + description + "Limit for all transit or midpoint LSPs"; + leaf threshold { + type uint32 { + range "0..4294967295" { + description + "Threshold for all transit LSPs. Default is unlimited"; + } + } + description + "Threshold for all transit LSPs"; + } + } + container transit-unprotected { + description + "Limit for unprotected transit or midpoint LSPs"; + leaf threshold { + type uint32 { + range "0..4294967295" { + description + "Threshold for unprotected transit LSPs; Default is unlimited"; + } + } + description + "Threshold for unprotected transit LSPs"; + } + } + } + container red { + description + "Config submode for LSP OOR in major/red state"; + container transit-all { + description + "Limit for all transit or midpoint LSPs"; + leaf threshold { + type uint32 { + range "0..4294967295" { + description + "Threshold for all transit LSPs. Default is unlimited"; + } + } + description + "Threshold for all transit LSPs"; + } + } + container transit-unprotected { + description + "Limit for unprotected transit or midpoint LSPs"; + leaf threshold { + type uint32 { + range "0..4294967295" { + description + "Threshold for unprotected transit LSPs; Default is unlimited"; + } + } + description + "Threshold for unprotected transit LSPs"; + } + } + } + } + container pce { + description + "MPLS Traffic Engineering PCE functionality"; + leaf keepalive { + type uint32 { + range "0..255" { + description + "Keepalive interval in sec"; + } + } + description + "Keepalive interval in sec"; + } + leaf deadtimer { + type uint32 { + range "0..255" { + description + "Keepalive dead interval in sec"; + } + } + description + "Keepalive dead in sec"; + } + container tolerance { + description + "Tolerance for session parameters proposed by peers"; + leaf keepalive { + type uint32 { + range "0..255" { + description + "Keepalive interval in sec"; + } + } + description + "Minimum acceptable peer proposed keepalive"; + } + } + leaf request-timeout { + type uint32 { + range "5..100" { + description + "Request timeout in seconds"; + } + } + description + "Timeout period for pending request"; + } + leaf reoptimize { + type uint32 { + range "60..604800" { + description + "Reoptimization period in seconds"; + } + } + description + "Reoptimization period for PCE-based paths"; + } + leaf speaker-entity-id { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Identifying name for the speaker with max 256 characters"; + } + } + description + "PCE speaker entity identifier"; + } + container logging { + description + "Log PCE info"; + container events { + description + "Log events info"; + container peer-status { + presence "Indicates a peer-status node is configured."; + description + "Log peer status changes"; + } + } + } + container password { + description + "Configure global password for MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + } + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Configure keychain based authentication for PCE"; + } + container stateful-client { + presence "Indicates a stateful-client node is configured."; + description + "Enter the stateful PCE client configuration submode"; + container instantiation { + presence "Indicates a instantiation node is configured."; + description + "Enable stateful instantiate capability"; + } + container report { + presence "Indicates a report node is configured."; + description + "Report all statically configured tunnels"; + } + container fast-repair { + presence "Indicates a fast-repair node is configured."; + description + "Enable head-end to react to path failures"; + } + container cisco-extension { + presence "Indicates a cisco-extension node is configured."; + description + "Enable processing of PCEP Cisco extension"; + } + container autoroute-announce { + presence "Indicates a autoroute-announce node is configured."; + description + "Enable autoroute announce for PCE tunnels"; + } + container timers { + description + "Stateful client timers"; + leaf state-timeout { + type uint32 { + range "0..3600" { + description + "Cleanup time in seconds"; + } + } + description + "State timeout for LSPs without delegation in seconds, zero means immediate removal, default is 180 seconds"; + } + leaf redelegation-timeout { + type uint32 { + range "0..3600" { + description + "Time in seconds"; + } + } + description + "Redelegation timeout for LSPs after session failure in seconds, zero means immediate drop delegation, default is 180seconds"; + } + container redundancy { + description + "PCE Redundancy configuration"; + container pcc-centric { + presence "Indicates a pcc-centric node is configured."; + description + "Enable PCC centric model"; + } + } + } + } + container peer { + description + "PCE peer related configuration"; + container source { + description + "Peer source"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + container ipv4s { + description + "IPv4 address"; + list ipv4 { + key "address"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + container password { + description + "Configure password for MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + } + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Configure keychain based authentication for PCC"; + } + leaf precedence { + type uint32 { + range "0..255" { + description + "PCE server precedence order (low precedence corresponds to high priority)"; + } + } + description + "PCE Peer Precedence"; + } + } + } + } + } + container auto-tunnel { + description + "Automatically created tunnel configuration"; + container backup { + description + "Enter the auto-tunnel backup configuration submode"; + container affinity { + description + "Affinity for auto-tunnel backup tunnels"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore link affinites for PCALC for auto-backup tunnels"; + } + } + container tunnel-id { + description + "Specify Tunnel ID range (modify may result auto-tunnel delete)"; + leaf min { + type uint32 { + range "0..65535" { + description + "Minimum value of tunnel ID for auto-tunnel backups"; + } + } + description + "Minimum tunnel ID for auto-tunnel backups"; + } + leaf max { + type uint32 { + range "0..65535" { + description + "Maximum value of tunnel ID for auto-tunnel backups"; + } + } + description + "Maximum tunnel ID for auto-tunnel backups"; + } + } + container timers { + description + "Auto-tunnel backups related timers"; + container removal { + description + "Auto-tunnel backups removal timers"; + leaf unused { + type uint32 { + range "0..10080" { + description + "Auto-tunnel backup unused timeout in minutes (0=never timeout)"; + } + } + description + "Auto-tunnel backups unused removal timer"; + } + } + } + } + container mesh { + description + "Enter the auto-tunnel mesh configuration submode"; + container tunnel-id { + description + "Specify Tunnel ID range (modify may result auto-tunnel delete)"; + leaf min { + type uint32 { + range "0..65535" { + description + "Minimum value of tunnel ID for auto-tunnel mesh"; + } + } + description + "Minimum tunnel ID for auto-tunnel mesh"; + } + leaf max { + type uint32 { + range "0..65535" { + description + "Maximum value of tunnel ID for auto-tunnel mesh"; + } + } + description + "Maximum tunnel ID for auto-tunnel mesh"; + } + } + container timers { + description + "Auto-tunnel mesh related timers"; + container removal { + description + "Auto-tunnel mesh removal timers"; + leaf unused { + type uint32 { + range "0..10080" { + description + "Auto-tunnel mesh unused timeout in minutes (0=never timeout)"; + } + } + description + "Auto-tunnel mesh unused removal timer"; + } + } + } + container groups { + description + "Enter the auto-tunnel mesh group configuration submode"; + list group { + key "group-id"; + description + "Enter the auto-tunnel mesh group configuration submode"; + leaf group-id { + type uint32 { + range "0..4294967295" { + description + "Auto-tunnel mesh group ID"; + } + } + description + "Enter the auto-tunnel mesh group configuration submode"; + } + leaf attribute-set { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (max 64 char)"; + } + } + description + "Attribute-set name of type auto-mesh"; + } + leaf destination-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify destination-list (prefix-list) (max 32 char)"; + } + } + description + "Destination-list (prefix-list) name"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the mesh group"; + } + container onehop { + presence "Indicates a onehop node is configured."; + description + "Automatically create tunnel to all next-hops"; + } + } + } + } + container p2mp { + description + "Enter the auto-tunnel P2MP configuration submode"; + container tunnel-id { + description + "Specify Tunnel ID range (modify may result auto-tunnel delete)"; + leaf min { + type uint32 { + range "0..65535" { + description + "Minimum value of tunnel ID for auto-tunnel P2MP"; + } + } + description + "Minimum tunnel ID for auto-tunnel P2MP"; + } + leaf max { + type uint32 { + range "0..65535" { + description + "Maximum value of tunnel ID for auto-tunnel P2MP"; + } + } + description + "Maximum tunnel ID for auto-tunnel P2MP"; + } + } + } + container p2p { + description + "Enter the auto-tunnel p2p configuration submode"; + container tunnel-id { + description + "Specify Tunnel ID range (modify may result auto-tunnel delete)"; + leaf min-id { + type uint32 { + range "0..65535" { + description + "Minimum value of tunnel ID for auto-tunnel p2p"; + } + } + description + "Minimum tunnel ID for auto-tunnel p2p"; + } + leaf max { + type uint32 { + range "0..65535" { + description + "Maximum value of tunnel ID for auto-tunnel p2p"; + } + } + description + "Maximum tunnel ID for auto-tunnel p2p"; + } + } + } + container pcc { + description + "Enter the auto-tunnel stateful PCE client configuration submode"; + container tunnel-id { + description + "Specify Tunnel ID range (modify may result auto-tunnel delete)"; + leaf min { + type uint32 { + range "0..65535" { + description + "Minimum tunnel ID value for stateful PCE client auto-tunnels"; + } + } + description + "Minimum tunnel ID for stateful PCE client auto-tunnels"; + } + leaf max { + type uint32 { + range "0..65535" { + description + "Maximum tunnel ID value for stateful PCE client auto-tunnels"; + } + } + description + "Maximum tunnel ID for stateful PCE client auto-tunnels"; + } + } + } + } + container attribute-set { + description + "Specify attribute set"; + container auto-meshes { + description + "Attribute-set of auto mesh type"; + list auto-mesh { + key "attribute-set-name"; + description + "Attribute-set of auto mesh type"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 64 characters)"; + } + } + description + "Attribute-set of auto mesh type"; + } + container policy-class { + description + "Specify class for policy-based tunnel selection"; + container tunnel-policy-classes { + description + "Tunnel policy class"; + leaf-list tunnel-policy-class { + type policy-class-type; + max-elements "7"; + description + "Tunnel policy class"; + } + } + } + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel priority"; + leaf setup-priority { + type uint32 { + range "0..7" { + description + "Setup Priority"; + } + } + mandatory true; + description + "Tunnel priority"; + } + leaf hold-priority { + type uint32 { + range "0..7" { + description + "Hold Priority"; + } + } + mandatory true; + description + "Hold Priority"; + } + } + container signalled-bandwidth { + presence "Indicates a signalled-bandwidth node is configured."; + description + "Tunnel bandwidth requirement to be signalled"; + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + mandatory true; + description + "Tunnel bandwidth requirement to be signalled"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the bandwidth class type"; + } + } + container affinity { + description + "Link attributes for links traversed by tunnel"; + leaf affinity-attribute { + type uint32 { + range "0..4294967295" { + description + "Affinity value"; + } + } + description + "Link attributes for links traversed by tunnel"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity mask value"; + } + } + description + "Affinity mask value"; + } + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + } + container auto-bw { + description + "Enable tunnel auto-bandwidth"; + container collect-bw-only { + presence "Indicates a collect-bw-only node is configured."; + description + "Enable bandwidth collection only, no auto-bw adjustment"; + } + } + container fast-reroute { + presence "Indicates a fast-reroute node is configured."; + description + "Specify MPLS tunnel can be fast-rerouted"; + container protect { + description + "Enable protection request"; + container node { + presence "Indicates a node node is configured."; + description + "Enable node protection request"; + } + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Enable bandwidth protection request"; + } + } + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Record the route used by the tunnel"; + } + container autoroute { + description + "Parameters for IGP routing over tunnel"; + container announce { + presence "Indicates a announce node is configured."; + description + "Announce tunnel to IGP"; + } + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable interface LSP REOPT change alarms"; + } + container reoptimize-attempts { + presence "Indicates a reoptimize-attempts node is configured."; + description + "Enable interface LSP REOPT attempts change alarms"; + } + container bw-change { + presence "Indicates a bw-change node is configured."; + description + "Enable interface LSP BANDWIDTH change alarms"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable interface LSP REROUTE change alarms"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup/reopt failure due to bandwidth"; + } + } + container pcalc-failure { + presence "Indicates a pcalc-failure node is configured."; + description + "Enable logging for path calculation failures"; + } + } + } + container soft-preemption { + presence "Indicates a soft-preemption node is configured."; + description + "Enable the soft-preemption feature on this tunnel"; + } + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "bandwidth in kbps"; + } + } + description + "Set the bandwidth of an interface"; + } + leaf forward-class { + type uint32 { + range "0..7" { + description + "Forward class for the tunnel. Default: feature not enabled"; + } + } + description + "Forward class for the tunnel. Default: feature not enabled"; + } + leaf load-share { + type uint32 { + range "1..4294967295" { + description + "Loadshare value. Scale is the same as bandwidths."; + } + } + description + "Specify tunnel load-sharing metric"; + } + container path-selection { + presence "Indicates a path-selection node is configured."; + description + "Specify path selection"; + } + } + } + container auto-backups { + description + "Attribute-set of auto-backup type"; + list auto-backup { + key "attribute-set-name"; + description + "Attribute-set of auto-backup type"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 64 characters)"; + } + } + description + "Attribute-set of auto-backup type"; + } + container policy-class { + description + "Specify class for policy-based tunnel selection"; + container tunnel-policy-classes { + description + "Tunnel policy class"; + leaf-list tunnel-policy-class { + type policy-class-type; + max-elements "7"; + description + "Tunnel policy class"; + } + } + } + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel priority"; + leaf setup-priority { + type uint32 { + range "0..7" { + description + "Setup Priority"; + } + } + mandatory true; + description + "Tunnel priority"; + } + leaf hold-priority { + type uint32 { + range "0..7" { + description + "Hold Priority"; + } + } + mandatory true; + description + "Hold Priority"; + } + } + container signalled-bandwidth { + presence "Indicates a signalled-bandwidth node is configured."; + description + "Tunnel bandwidth requirement to be signalled"; + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + mandatory true; + description + "Tunnel bandwidth requirement to be signalled"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the bandwidth class type"; + } + } + container affinity { + description + "Link attributes for links traversed by tunnel"; + leaf affinity-attribute { + type uint32 { + range "0..4294967295" { + description + "Affinity value"; + } + } + description + "Link attributes for links traversed by tunnel"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity mask value"; + } + } + description + "Affinity mask value"; + } + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Record the route used by the tunnel"; + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable interface LSP REOPT change alarms"; + } + container reoptimize-attempts { + presence "Indicates a reoptimize-attempts node is configured."; + description + "Enable interface LSP REOPT attempts change alarms"; + } + container bw-change { + presence "Indicates a bw-change node is configured."; + description + "Enable interface LSP BANDWIDTH change alarms"; + } + } + } + } + container soft-preemption { + presence "Indicates a soft-preemption node is configured."; + description + "Enable the soft-preemption feature on this tunnel"; + } + container signalled-name { + presence "Indicates a signalled-name node is configured."; + description + "The signaling name to assign to tunnel"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Signalled name (max 64 characters)"; + } + } + mandatory true; + description + "The signaling name to assign to tunnel"; + } + container append { + description + "Append other parameters to signalled name"; + container source { + must "address or name"; + presence "Indicates a source node is configured."; + description + "Append source to signalled name"; + container address { + presence "Indicates a address node is configured."; + description + "Append source address to signalled name"; + } + container name { + presence "Indicates a name node is configured."; + description + "Append source name to signalled name"; + } + } + container protected-link { + must "address or name"; + presence "Indicates a protected-link node is configured."; + description + "Append protected-link to signalled name"; + container address { + presence "Indicates a address node is configured."; + description + "Append protected-link address to signalled name"; + } + container name { + presence "Indicates a name node is configured."; + description + "Append protected-link name to signalled name"; + } + } + container merge-point-address { + presence "Indicates a merge-point-address node is configured."; + description + "Append merge-point address to signalled name"; + } + } + } + container path-selection { + presence "Indicates a path-selection node is configured."; + description + "Specify path selection"; + } + } + } + container path-options { + description + "Attribute-set of a path option"; + list path-option { + key "attribute-set-name"; + description + "Attribute-set of a path option"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 64 characters)"; + } + } + description + "Attribute-set of a path option"; + } + container signalled-bandwidth { + presence "Indicates a signalled-bandwidth node is configured."; + description + "Tunnel bandwidth requirement to be signalled"; + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + mandatory true; + description + "Tunnel bandwidth requirement to be signalled"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the bandwidth class type"; + } + } + container affinity { + description + "Link attributes for links traversed by tunnel"; + leaf affinity-attribute { + type uint32 { + range "0..4294967295" { + description + "Affinity value"; + } + } + description + "Link attributes for links traversed by tunnel"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity mask value"; + } + } + description + "Affinity mask value"; + } + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + } + container path-selection { + presence "Indicates a path-selection node is configured."; + description + "Specify path selection"; + leaf cost-limit { + type uint32 { + range "1..4294967295" { + description + "Cost limit"; + } + } + description + "Cost limit configuration"; + } + leaf exclude { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Exclude address list name"; + } + } + description + "Path Exclusion Configuration"; + } + leaf delay-limit { + type uint32 { + range "1..4294967295" { + description + "Delay limit in usec"; + } + } + description + "Delay limit configuration"; + } + } + container pce { + presence "Indicates a pce node is configured."; + description + "Specify PCE Configuration"; + container disjoint-path { + description + "Disjoint Path Configuration"; + leaf source { + type inet:ipv4-address-no-zone; + description + "Source address"; + } + container type { + must "link or node or srlg"; + presence "Indicates a type node is configured."; + description + "Disjointness type"; + container link { + presence "Indicates a link node is configured."; + description + "Link Disjointness"; + } + container node { + presence "Indicates a node node is configured."; + description + "Node Disjointness"; + } + container srlg { + presence "Indicates a srlg node is configured."; + description + "SRLG Disjointness"; + } + } + leaf group-id { + type uint32 { + range "1..4294967295" { + description + "Enter group-id"; + } + } + description + "Enter group-id"; + } + } + } + container bfd-reverse-path { + description + "Specify bfd reverse path"; + leaf binding-label { + type uint32 { + range "0..1048575" { + description + "MPLS binding-label value"; + } + } + description + "Specify reverse path binding-label"; + } + } + } + } + container xros { + description + "An XRO attribute-set"; + list xro { + key "attribute-set-name"; + description + "An XRO attribute-set"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 64 characters)"; + } + } + description + "An XRO attribute-set"; + } + container exclude { + description + "Specify exclusions for path diversity"; + container strict { + description + "Specified condition must be met"; + container lsps { + description + "Specify path-diversity from another LSP"; + list lsp-no-lsp-id { + key "source destination tunnel-id extended-tunnel-id"; + leaf source { + type inet:ipv4-address-no-zone; + description + "The source of the LSP from which a diverse path is required"; + } + leaf destination { + type inet:ipv4-address-no-zone; + description + "The destination of the LSP from which a diverse path is required"; + } + leaf tunnel-id { + type uint32 { + range "0..65535" { + description + "The LSP's tunnel-id"; + } + } + description + "The tunnel-id of the LSP from which a diverse path is required"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "The extended tunnel-id of the LSP from which a diverse path is required"; + } + } + list lsp { + key "source destination tunnel-id extended-tunnel-id lsp-id"; + leaf source { + type inet:ipv4-address-no-zone; + description + "The source of the LSP from which a diverse path is required"; + } + leaf destination { + type inet:ipv4-address-no-zone; + description + "The destination of the LSP from which a diverse path is required"; + } + leaf tunnel-id { + type uint32 { + range "0..65535" { + description + "The LSP's tunnel-id"; + } + } + description + "The tunnel-id of the LSP from which a diverse path is required"; + } + leaf extended-tunnel-id { + type inet:ipv4-address-no-zone; + description + "The extended tunnel-id of the LSP from which a diverse path is required"; + } + leaf lsp-id { + type uint32 { + range "0..65535" { + description + "The LSP's lsp-id"; + } + } + description + "The lsp-id of the LSP from which a diverse path is required"; + } + } + } + container srlgs { + description + "Specify path-diversity based on SRLGs"; + list srlg { + key "value"; + description + "Specify SRLG value"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "The SRLG from which diversity is required"; + } + } + description + "Specify SRLG value"; + } + } + } + } + } + container path-selection { + presence "Indicates a path-selection node is configured."; + description + "Specify path selection"; + } + } + } + container p2mp-tes { + description + "Attribute-set of p2mp-te type"; + list p2mp-te { + key "attribute-set-name"; + description + "Attribute-set of p2mp-te type"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 64 characters)"; + } + } + description + "Attribute-set of p2mp-te type"; + } + container priority { + presence "Indicates a priority node is configured."; + description + "Tunnel priority"; + leaf setup-priority { + type uint32 { + range "0..7" { + description + "Setup Priority"; + } + } + mandatory true; + description + "Tunnel priority"; + } + leaf hold-priority { + type uint32 { + range "0..7" { + description + "Hold Priority"; + } + } + mandatory true; + description + "Hold Priority"; + } + } + container signalled-bandwidth { + presence "Indicates a signalled-bandwidth node is configured."; + description + "Tunnel bandwidth requirement to be signalled"; + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "Bandwidth requirement in kbps"; + } + } + mandatory true; + description + "Tunnel bandwidth requirement to be signalled"; + } + leaf class-type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the bandwidth class type"; + } + } + container affinity { + description + "Link attributes for links traversed by tunnel"; + leaf affinity-attribute { + type uint32 { + range "0..4294967295" { + description + "Affinity value"; + } + } + description + "Link attributes for links traversed by tunnel"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity mask value"; + } + } + description + "Affinity mask value"; + } + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + } + container fast-reroute { + presence "Indicates a fast-reroute node is configured."; + description + "Specify MPLS tunnel can be fast-rerouted"; + container protect { + description + "Enable protection request"; + container node { + presence "Indicates a node node is configured."; + description + "Enable node protection request"; + } + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Enable bandwidth protection request"; + } + } + } + container record-route { + presence "Indicates a record-route node is configured."; + description + "Record the route used by the tunnel"; + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable interface LSP REOPT change alarms"; + } + container reoptimize-attempts { + presence "Indicates a reoptimize-attempts node is configured."; + description + "Enable interface LSP REOPT attempts change alarms"; + } + container bw-change { + presence "Indicates a bw-change node is configured."; + description + "Enable interface LSP BANDWIDTH change alarms"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable interface LSP REROUTE change alarms"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup/reopt failure due to bandwidth"; + } + } + container pcalc-failure { + presence "Indicates a pcalc-failure node is configured."; + description + "Enable logging for path calculation failures"; + } + container sub-lsp-status { + description + "Enable all sub-LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + } + } + } + leaf bandwidth { + type uint32 { + range "0..4294967295" { + description + "bandwidth in kbps"; + } + } + description + "Set the bandwidth of an interface"; + } + container path-selection { + presence "Indicates a path-selection node is configured."; + description + "Specify path selection"; + } + } + } + container path-protection-apses { + description + "Attribute-set of path protection"; + list path-protection-aps { + key "attribute-set-name"; + description + "Attribute-set of path protection"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 32 characters)"; + } + } + description + "Attribute-set of path protection"; + } + container sub-network { + description + "Specify sub-network connection mode"; + container connection-mode { + description + "Specify sub-network connection mode"; + container snc-n { + presence "Indicates a snc-n node is configured."; + description + "Sub-network connection mode N"; + } + container snc-i { + presence "Indicates a snc-i node is configured."; + description + "Sub-network connection mode I"; + } + container snc-s { + presence "Indicates a snc-s node is configured."; + description + "Sub-network connection mode S"; + leaf tcm-id { + type uint32 { + range "1..6" { + description + "Enter the Tandem Connection Monitoring ID"; + } + } + description + "Optional, for SNC-S mode only: Tandem Connection Monitoring ID"; + } + } + } + } + container protection-type { + description + "Specify APS protection type"; + container bidir-aps { + presence "Indicates a bidir-aps node is configured."; + description + "Protection type bi-directional APS"; + } + container unidir-aps { + presence "Indicates a unidir-aps node is configured."; + description + "Protection type uni-directional APS"; + } + container unidir-no-aps { + presence "Indicates a unidir-no-aps node is configured."; + description + "Protection type uni-directional no APS"; + } + } + container protection-mode { + description + "Specify APS protection mode"; + container revertive { + presence "Indicates a revertive node is configured."; + description + "APS protection mode revertive"; + } + } + container timers { + description + "Specify APS protection timers"; + leaf wait-to-restore { + type uint32 { + range "0..720" { + description + "G.709 path protection wait to restore timer in seconds"; + } + } + description + "APS wait to restore timer"; + } + leaf hold-off { + type uint32 { + range "100..10000" { + description + "G.709 PP hold-off timer in milliseconds"; + } + } + description + "APS hold-off timer"; + } + } + container revert-schedules { + description + "Specify APS revert schedule"; + list revert-schedule { + key "schedule-name"; + leaf schedule-name { + type xr:Cisco-ios-xr-string { + length "1..254" { + description + "Name this revert schedule configuration (MAX 64 CHARACTERS)"; + } + } + description + "Name Identifier for revert schedule"; + } + container date { + presence "Indicates a date node is configured."; + description + "Set the time and date in format hh:mm MMM DD YYYY"; + leaf hour { + type uint32 { + range "0..23" { + description + "Enter (hh) of schedule time (hh:mm) in 24hr format. Eg. 2:15PM as 14:15"; + } + } + mandatory true; + description + "Set the time and date in format hh:mm MMM DD YYYY"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Enter (mm) of schedule time (hh:mm) in 24hr format. Eg. 2:15PM as 14:15"; + } + } + mandatory true; + description + "Enter (mm) of schedule time (hh:mm) in 24hr format. Eg. 2:15PM as 14:15"; + } + leaf month { + type enumeration { + enum "JAN" { + value 0; + description + "January"; + } + enum "FEB" { + value 1; + description + "February"; + } + enum "MAR" { + value 2; + description + "March"; + } + enum "APR" { + value 3; + description + "April"; + } + enum "MAY" { + value 4; + description + "May"; + } + enum "JUN" { + value 5; + description + "Jun"; + } + enum "JUL" { + value 6; + description + "July"; + } + enum "AUG" { + value 7; + description + "August"; + } + enum "SEP" { + value 8; + description + "September"; + } + enum "OCT" { + value 9; + description + "October"; + } + enum "NOV" { + value 10; + description + "November"; + } + enum "DEC" { + value 11; + description + "December"; + } + } + mandatory true; + description + "configure month"; + } + leaf day { + type uint32 { + range "1..31" { + description + "Enter day of month (DD) of schedule date MMM DD YYYY"; + } + } + mandatory true; + description + "Enter day of month (DD) of schedule date MMM DD YYYY"; + } + leaf year { + type uint32 { + range "2015..2035" { + description + "Enter year (YYYY) of schedule date MMM DD YYYY"; + } + } + mandatory true; + description + "Enter year (YYYY) of schedule date MMM DD YYYY"; + } + } + container duration { + presence "Indicates a duration node is configured."; + description + "Enter duration for reversion schedule in hh:mm format"; + leaf hour { + type uint32 { + range "0..167" { + description + "Enter (hh) of duration (hh:mm). Eg. Duration of 15hour and 20min is 15:20 "; + } + } + mandatory true; + description + "Enter duration for reversion schedule in hh:mm format"; + } + leaf minute { + type uint32 { + range "0..59" { + description + "Enter (mm) of duration (hh:mm). Eg. Duration of 15hour and 20min is 15:20 "; + } + } + mandatory true; + description + "Enter (mm) of duration (hh:mm). Eg. Duration of 15hour and 20min is 15:20 "; + } + } + leaf frequency { + type enumeration { + enum "once" { + value 1; + description + "Execute only ONCE on scheduled date and time"; + } + enum "daily" { + value 2; + description + "Execute DAILY at scheduled time starting from scheduled date"; + } + enum "weekly" { + value 3; + description + "Execute WEEKLY at scheduled time starting from scheduled date"; + } + } + description + "Frequency to execute the scheduled reversion"; + } + leaf max-tries { + type uint32 { + range "1..2016" { + description + "Number of retries. Eg : If three tries to be done for reversion, enter 3"; + } + } + description + "Maximum number of retries for scheduled reversion"; + } + } + } + container path-selection { + presence "Indicates a path-selection node is configured."; + description + "Specify path selection"; + } + } + } + container p2p-tes { + description + "Attribute-set of p2p-te type"; + list p2p-te { + key "attribute-set-name"; + description + "Attribute-set of p2p-te type"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 64 characters)"; + } + } + description + "Attribute-set of p2p-te type"; + } + container affinity { + description + "Link attributes for links traversed by tunnel"; + leaf affinity-attribute { + type uint32 { + range "0..4294967295" { + description + "Affinity value"; + } + } + description + "Link attributes for links traversed by tunnel"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity mask value"; + } + } + description + "Affinity mask value"; + } + container includes { + description + "Links with all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container include-stricts { + description + "Links with exactly all these attributes are included in path calculation"; + list include1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list include10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container excludes { + description + "Links with all these attributes are excluded from path calculation"; + list exclude1 { + key "name1"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude2 { + key "name1 name2"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude3 { + key "name1 name2 name3"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude4 { + key "name1 name2 name3 name4"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude5 { + key "name1 name2 name3 name4 name5"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude6 { + key "name1 name2 name3 name4 name5 name6"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude7 { + key "name1 name2 name3 name4 name5 name6 name7"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude8 { + key "name1 name2 name3 name4 name5 name6 name7 name8"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude9 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + list exclude10 { + key "name1 name2 name3 name4 name5 name6 name7 name8 name9 name10"; + description + "Links with all these attributes are included in path calculation"; + leaf name1 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name2 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name3 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name5 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name7 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name8 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name9 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + leaf name10 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Attribute or affinity name"; + } + } + description + "Attribute or affinity name"; + } + } + } + container ignore { + presence "Indicates a ignore node is configured."; + description + "All links are included in path calculation regardless of attributes"; + } + container exclude-all { + presence "Indicates a exclude-all node is configured."; + description + "Links with any attribute are excluded from path calculation"; + } + } + container logging { + description + "Per-interface logging configuration"; + container events { + description + "Per-interface logging events"; + container lsp-status { + description + "Enable interface LSP state change alarms"; + container state { + presence "Indicates a state node is configured."; + description + "Enable interface LSP UP/DOWN change alarms"; + } + container reoptimize { + presence "Indicates a reoptimize node is configured."; + description + "Enable interface LSP REOPT change alarms"; + } + container reoptimize-attempts { + presence "Indicates a reoptimize-attempts node is configured."; + description + "Enable interface LSP REOPT attempts change alarms"; + } + container bw-change { + presence "Indicates a bw-change node is configured."; + description + "Enable interface LSP BANDWIDTH change alarms"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "Enable interface LSP REROUTE change alarms"; + } + container insufficient-bandwidth { + presence "Indicates a insufficient-bandwidth node is configured."; + description + "Enable Syslog for setup/reopt failure due to bandwidth"; + } + } + container pcalc-failure { + presence "Indicates a pcalc-failure node is configured."; + description + "Enable logging for path calculation failures"; + } + container all { + presence "Indicates a all node is configured."; + description + "Enable logging for all events"; + } + } + } + container path-selection { + presence "Indicates a path-selection node is configured."; + description + "Specify path selection"; + container metric { + description + "Metric type for path calculation"; + container igp { + presence "Indicates a igp node is configured."; + description + "Use IGP metric"; + } + container te { + presence "Indicates a te node is configured."; + description + "Use TE metric"; + } + } + } + container pce { + presence "Indicates a pce node is configured."; + description + "Specify PCE Configuration"; + container disjoint-path { + description + "Disjoint Path Configuration"; + leaf source { + type inet:ipv4-address-no-zone; + description + "Source address"; + } + container type { + must "link or node or srlg"; + presence "Indicates a type node is configured."; + description + "Disjointness type"; + container link { + presence "Indicates a link node is configured."; + description + "Link Disjointness"; + } + container node { + presence "Indicates a node node is configured."; + description + "Node Disjointness"; + } + container srlg { + presence "Indicates a srlg node is configured."; + description + "SRLG Disjointness"; + } + } + leaf group-id { + type uint32 { + range "1..4294967295" { + description + "Enter group-id"; + } + } + description + "Enter group-id"; + } + } + } + } + } + container uni-protections { + description + "Attribute-set to specify uni-protection type"; + list uni-protection { + key "attribute-set-name"; + description + "Attribute-set to specify uni-protection type"; + leaf attribute-set-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify attribute-set name (maximum 32 characters)"; + } + } + description + "Attribute-set to specify uni-protection type"; + } + container lsp-flags { + must "unprotected or reroute or reroute-no-et or oneton-et or onepluse1-uni or onepluse1-bi"; + presence "Indicates a lsp-flags node is configured."; + description + "End-to-end LSP recovery type"; + container unprotected { + presence "Indicates a unprotected node is configured."; + description + "end-to-end unprotected"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "end-to-end rerouting"; + } + container reroute-no-et { + presence "Indicates a reroute-no-et node is configured."; + description + "end-to-end rerouting without extra traffic"; + } + container oneton-et { + presence "Indicates a oneton-et node is configured."; + description + "1:N Protection with extra traffic"; + } + container onepluse1-uni { + presence "Indicates a onepluse1-uni node is configured."; + description + "1+1 unidirectional protection"; + } + container onepluse1-bi { + presence "Indicates a onepluse1-bi node is configured."; + description + "1+1 bidirectional protection"; + } + } + container seg-flags { + must "unprotected or reroute or reroute-no-et or oneton-et or onepluse1-uni or onepluse1-bi"; + presence "Indicates a seg-flags node is configured."; + description + "Specify APS protection type"; + container unprotected { + presence "Indicates a unprotected node is configured."; + description + "end-to-end unprotected"; + } + container reroute { + presence "Indicates a reroute node is configured."; + description + "end-to-end rerouting"; + } + container reroute-no-et { + presence "Indicates a reroute-no-et node is configured."; + description + "end-to-end rerouting without extra traffic"; + } + container oneton-et { + presence "Indicates a oneton-et node is configured."; + description + "1:N Protection with extra traffic"; + } + container onepluse1-uni { + presence "Indicates a onepluse1-uni node is configured."; + description + "1+1 unidirectional protection"; + } + container onepluse1-bi { + presence "Indicates a onepluse1-bi node is configured."; + description + "1+1 bidirectional protection"; + } + } + container set-in-place-bit { + presence "Indicates a set-in-place-bit node is configured."; + description + "Set the inplace bit"; + } + container set-required-bit { + presence "Indicates a set-required-bit node is configured."; + description + "Set Required bit"; + } + } + } + } + container ltrace-buffer { + description + "MPLS Traffic Engineering LTrace buffer files"; + container multiplier { + presence "Indicates a multiplier node is configured."; + description + "Ltrace buffer file size multiplier"; + leaf multiplier-factor { + type uint32 { + range "2..6" { + description + "Multiplier factor"; + } + } + mandatory true; + description + "Ltrace buffer file size multiplier"; + } + container event { + presence "Indicates a event node is configured."; + description + "Event (Init, FO, Conn/Disc, Timer, etc.) trace buffer"; + } + container sig { + presence "Indicates a sig node is configured."; + description + "Signaling trace buffer"; + } + container head-end { + presence "Indicates a head-end node is configured."; + description + "Head-end (Path, PCALC, Tunnel config etc.) trace buffer"; + } + container generic { + presence "Indicates a generic node is configured."; + description + "Generic (Admit, FRR, Rewrite, Label, DB etc.) trace buffer"; + } + container fsm { + presence "Indicates a fsm node is configured."; + description + "Finite State Machine trace buffer"; + } + container destroy { + presence "Indicates a destroy node is configured."; + description + "Delete trace buffer"; + } + container chkpt { + presence "Indicates a chkpt node is configured."; + description + "Check Point (HA, Chkpt etc.) trace buffer"; + } + container topology { + presence "Indicates a topology node is configured."; + description + "Topology (Flooding, Adjacency etc.) trace buffer"; + } + container link { + presence "Indicates a link node is configured."; + description + "Link (Interface, IM, DS-TE, BW config etc.) trace buffer"; + } + container error { + presence "Indicates a error node is configured."; + description + "Error trace buffer"; + } + container auto-bw { + presence "Indicates a auto-bw node is configured."; + description + "Auto Bandwidth trace buffer"; + } + container default { + presence "Indicates a default node is configured."; + description + "Default trace buffer"; + } + container bselect { + presence "Indicates a bselect node is configured."; + description + "Backup Selection Buffer trace"; + } + container instrument { + presence "Indicates a instrument node is configured."; + description + "Trace buffer used for code instrumentation"; + } + container automesh { + presence "Indicates a automesh node is configured."; + description + "Trace buffer used for auto-tunnel mesh"; + } + container async-server { + presence "Indicates a async-server node is configured."; + description + "Trace buffer used for TE async server"; + } + container auto-onehop { + presence "Indicates a auto-onehop node is configured."; + description + "Trace buffer used for auto-tunnel mesh onehop"; + } + container bandwidth-accounting { + presence "Indicates a bandwidth-accounting node is configured."; + description + "Trace buffer used for bandwidth-accounting"; + } + container config { + presence "Indicates a bandwidth-accounting node is configured."; + description + "Trace buffer used for config events"; + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Trace buffer used for BFD events"; + } + container all { + presence "Indicates a all node is configured."; + description + "All trace buffers"; + } + } + } + container path-selection { + description + "MPLS Traffic Engineering Path-Selection submode"; + container loose-expansion { + description + "Loose ERO Hop Expansion Configuration"; + container affinity { + description + "Desired link attributes for links comprising tunnel"; + list class-type { + key "type"; + description + "Specify the class type"; + leaf type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the class type"; + } + leaf affinity-attribute { + type uint32 { + range "0..4294967295" { + description + "Affinity value"; + } + } + description + "Desired link attributes for links comprising tunnel"; + } + leaf mask { + type uint32 { + range "0..4294967295" { + description + "Affinity mask value"; + } + } + description + "Affinity mask value"; + } + } + } + container metric { + description + "Metric Type for path calculation"; + list class-type { + key "type"; + description + "Specify the class type"; + leaf type { + type uint32 { + range "0..1" { + description + "Class type number"; + } + } + description + "Specify the class type"; + } + container igp { + presence "Indicates a igp node is configured."; + description + "Use IGP metric"; + } + container te { + presence "Indicates a te node is configured."; + description + "Use TE metric"; + } + container delay { + presence "Indicates a delay node is configured."; + description + "Use delay metric"; + } + } + } + container domain-match { + presence "Indicates a domain-match node is configured."; + description + "Use only the IGP instance of the incoming interface"; + } + } + container metric { + description + "Metric Type Configuration"; + container igp { + presence "Indicates a igp node is configured."; + description + "Use IGP metric"; + } + container te { + presence "Indicates a te node is configured."; + description + "Use TE metric"; + } + container delay { + presence "Indicates a delay node is configured."; + description + "Use delay metric"; + } + } + leaf cost-limit { + type uint32 { + range "1..4294967295" { + description + "Cost limit"; + } + } + description + "Cost limit configuration"; + } + leaf delay-limit { + type uint32 { + range "1..4294967295" { + description + "Delay limit in usec"; + } + } + description + "Delay limit configuration"; + } + container ignore { + description + "Ignore specified condition during CSPF"; + container overload { + presence "Indicates a overload node is configured."; + description + "Ignore overload node during CSPF"; + container head { + presence "Indicates a head node is configured."; + description + "Ignore overload node during CSPF for role head"; + } + container mid { + presence "Indicates a mid node is configured."; + description + "Ignore overload node during CSPF for role mid"; + } + container tail { + presence "Indicates a tail node is configured."; + description + "Ignore overload node during CSPF for role tail"; + } + } + } + container tiebreaker { + description + "Equal cost multipath tiebreaker for path calculation (default: min-fill)."; + container min-fill { + presence "Indicates a min-fill node is configured."; + description + "Prefer the path with the least-utilized links"; + } + container max-fill { + presence "Indicates a max-fill node is configured."; + description + "Prefer the path with the most-utilized links"; + } + container random { + presence "Indicates a random node is configured."; + description + "Prefer a path with links utilized randomly"; + } + } + } + container bandwidth-accounting { + presence "Indicates a bandwidth-accounting node is configured."; + description + "MPLS Traffic Engineering Bandwidth Accounting submode"; + leaf sampling-interval { + type uint32 { + range "10..600" { + description + "Set the frequency of collecting bandwidth rate samples in seconds (default 60 sec)"; + } + } + description + "Configure bandwidth accounting sampling interval"; + } + leaf adjustment-factor { + type uint32 { + range "0..200" { + description + "Set the percentage adjustment of bandwidth (default 100%)"; + } + } + description + "Configure bandwidth accounting adjustment factor"; + } + container flooding { + description + "Configure bandwidth accounting flooding"; + container threshold { + description + "Configure bandwidth accounting flooding thresholds"; + leaf up { + type uint32 { + range "0..100" { + description + "Upward flooding threshold as percentage of maximum reservable bandwidth change (default 10%)"; + } + } + description + "Upward flooding threshold for maximum reservable bandwidth"; + } + leaf down { + type uint32 { + range "0..100" { + description + "Downward flooding threshold as percentage of maximum reservable bandwidth change (default 10%)"; + } + } + description + "Downward flooding threshold for maximum reservable bandwidth"; + } + } + } + container collection { + description + "Configure bandwidth accounting traffic sample collection type"; + container rsvp-te { + presence "Indicates a rsvp-te node is configured."; + description + "Collect RSVP-TE traffic samples (default Segment-Routing)"; + } + } + container application { + description + "Configure bandwidth accounting application"; + container enforced { + presence "Indicates a enforced node is configured."; + description + "Enforce application of bandwidth accounting"; + } + leaf interval { + type uint32 { + range "30..1800" { + description + "Set the frequency of application in seconds (default 180 sec)"; + } + } + description + "Configure application interval"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-multicast-routing-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-multicast-routing-cfg.yang new file mode 100644 index 000000000..40306f45f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-multicast-routing-cfg.yang @@ -0,0 +1,4130 @@ +module Cisco-IOS-XR-um-multicast-routing-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-multicast-routing-cfg"; + prefix um-multicast-routing-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR multicast-routing package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-08 { + description + "Added flex-algo under default/mlpd"; + semver:module-version "2.1.1m"; + } + revision 2021-02-17 { + description + "Added strict-rpf node under static segment-routing container + 2021-01-28 + Added cisco-support task yang nodes + 2021-01-27 + Modified must constraints under p2mp-te container + 2020-12-11 + Renamed improper node name 'inerface' to 'interface'. Changed max string length from 1024 to 800. + 2020-12-04 + Removed container maximum and its child node as these are used + internally with cisco-support task. + 2020-04-06 + Added segment-routing container under mdt and bgp"; + semver:module-version "2.0.0"; + } + revision 2019-08-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container multicast-routing { + presence "Indicates a multicast-routing node is configured."; + description + "Enable IP multicast forwarding"; + container vrfs { + description + "VRF configs"; + list vrf { + key "vrf-name"; + description + "VRF configs"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Enter VRF name"; + } + } + description + "VRF configs"; + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Enter ipv4 Address Family command mode"; + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container mdt { + description + "MVPN configuration"; + container data { + description + "Data MDT configuration"; + container maximum-data-mdts { + presence "Indicates a maximum-data-mdts node is configured."; + description + "Maximum number of data-mdts to be triggered"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container data-mdt-group { + presence "Indicates a data-mdt-group node is configured."; + description + "Data MDT group IP address/prefix length"; + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Data MDT group IP address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + mandatory true; + description + "Data MDT group IP prefix length"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Ingress Replication Data MDT"; + leaf number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container mldp { + presence "Indicates a mldp node is configured."; + description + "MLDP Data MDT"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + container p2mp-te { + must "(maximum-number or route-policy) and not(maximum-number and route-policy)"; + presence "Indicates a p2mp-te node is configured."; + description + "P2MPTE Data MDT core"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf attribute-set { + type xr:Cisco-ios-xr-string; + description + "The Attribute Set template to be used with the TE tunnel request"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container segment-routing { + description + "Tree-SID Data MDT"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "Use SR-MPLS Tree-SID policy"; + leaf maximum-number { + type uint32 { + range "1..4294967295" { + description + "Maximum number of data-mdts to be triggered"; + } + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf color { + type uint32 { + range "1..4294967295" { + description + "color value"; + } + } + description + "On-demand color template to be used with the Tree-SID policy"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for this Tree-SID"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + leaf route-policy { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Route policy name"; + } + } + description + "Route policy to select data mdt core"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates a immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + } + } + } + container default { + description + "MDT Default distribution tree"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4 encapsulated MDT"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 encapsulated MDT"; + } + container partitioned { + description + "GRE Partitioned MDT"; + leaf bidir { + type inet:ipv4-address-no-zone; + description + "GRE Partitioned MDT for Bidir"; + } + } + } + container mldp { + description + "mLDP default distribution tree"; + container ipv4s { + description + "MP2MP core-tree with IPv4 Root Address"; + list ipv4 { + key "address"; + description + "MP2MP core-tree with IPv4 Root Address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "MP2MP core-tree with IPv4 Root Address"; + } + container partitioned { + description + "mLDP Partitioned MDT"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + } + container p2mp { + presence "Indicates a p2mp node is configured."; + description + "P2MP core-tree"; + container partitioned { + description + "mLDP Partitioned MDT"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + } + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + must + "not(../../mldp/ipv4s/ipv4 or ../../mldp/p2mp or + ../../ipv4 or ../../ingress-replication)"; + description + "The Attribute Set template to be used with the TE tunnel request"; + } + leaf static { + type xr:Interface-name { + pattern "tunnel-mte[0-9]+"; + } + must + "not(../../mldp/ipv4s/ipv4 or ../../mldp/p2mp or + ../../ipv4 or ../../ingress-replication)"; + description + "Static P2MP-TE Tunnel"; + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable default ingress-replication"; + } + container segment-routing { + description + "Tree-SID distribution tree"; + container mpls { + must "not(../../../partitioned/segment-routing/mpls)"; + presence "Indicates a mpls node is configured."; + description + "Use SR-MPLS Tree-SID policy"; + leaf color { + type union { + type enumeration { + enum "not-used" { + value 0; + description + "color template is not used"; + } + } + type uint32 { + range "1..4294967295" { + description + "color value"; + } + } + } + mandatory true; + description + "On-demand color template to be used with the Tree-SID policy"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for this Tree-SID"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + } + } + } + container partitioned { + description + "MDT Partitioned distribution tree"; + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + description + "The Attribute Set template to be used with the TE tunnel request"; + } + } + container mldp { + description + "mLDP signaled distribution tree"; + container ipv4 { + description + "IPv4 core"; + container mp2mp { + must "not(../p2mp)"; + presence "Indicates a mp2mp node is configured."; + description + "Enable mLDP MP2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + container p2mp { + must "not(../mp2mp)"; + presence "Indicates a p2mp node is configured."; + description + "Enable mLDP P2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + must "../mp2mp or ../p2mp"; + description + "Configure MLDP Flex-algo"; + } + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable partitioned ingress-replication"; + } + container segment-routing { + description + "Tree-SID distribution tree"; + container mpls { + must "not(../../../default/segment-routing/mpls)"; + presence "Indicates a mpls node is configured."; + description + "Use SR-MPLS Tree-SID policy"; + leaf color { + type union { + type enumeration { + enum "not-used" { + value 0; + description + "color template is not used"; + } + } + type uint32 { + range "1..4294967295" { + description + "color value"; + } + } + } + mandatory true; + description + "On-demand color template to be used with the Tree-SID policy"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for this Tree-SID"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + } + } + } + container mldp { + description + "mLDP distribution tree"; + container in-band-signaling { + description + "Enable mLDP in-band-signalling"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Enable IPv4-core tree"; + } + } + } + container static { + description + "Interface used to set MDT source address"; + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Set MDT core as tree-sid"; + container strict-rpf { + presence "Indicates a strict-rpf node is configured."; + description + "Enable strict RPF check"; + } + } + container p2mp-te { + description + "static p2mp-te"; + container interfaces { + description + "p2mp-te interface"; + list interface { + key "interface-name"; + description + "p2mp-te interface"; + leaf interface-name { + type xr:Interface-name { + pattern "tunnel-mte[0-9]+"; + } + description + "p2mp-te interface"; + } + } + } + } + } + leaf source { + type xr:Interface-name; + description + "Interface used to set MDT source address"; + } + leaf mtu { + type uint32 { + range "1401..65535" { + description + "MTU value"; + } + } + description + "MDT mtu configuration"; + } + } + container rate-per-route { + presence "Indicates a rate-per-route node is configured."; + description + "Enable/disable per (S,G) rate calculation"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + description + "Enter a hashing algorithm"; + container source { + must "not(../source-nexthop or ../source-group)"; + presence "Indicates a source node is configured."; + description + "Enable source based multipath hashing + (Compatible with IOS versions)"; + } + container source-nexthop { + must "not(../source or ../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with next-hop multipath hashing + (better distribution)"; + } + container source-group { + must "not(../source or ../source-nexthop)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing"; + } + } + } + container accounting { + description + "Enable/disable Accounting"; + container per-prefix { + presence "Indicates a per-prefix node is configured."; + description + "Enable per (S,G) accounting."; + container forward-only { + presence "Indicates a forward-only node is configured."; + description + "Enable per (S,G) forward-only accounting."; + } + } + } + container log-traps { + presence "Indicates a log-traps node is configured."; + description + "Enable logging trap events"; + } + container export-rt { + description + "Configure Export Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container import-rt { + description + "Configure Import Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + description + "Two Byte AS Number route-target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + description + "Four Byte AS Number route-target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + description + "IP address route-target"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container interface { + description + "Multicast interface configuration subcommands"; + container all { + description + "Inherited by all interfaces"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable IP Multicast"; + } + } + container interfaces { + description + "select an interface to configure"; + list interface { + key "interface-name"; + description + "select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "select an interface to configure"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable IP multicast"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable IP multicast"; + } + leaf boundary { + type string { + length "1..32" { + description + "Access list specifying scoped multicast groups"; + } + } + description + "Boundary for administratively scoped multicast addresses"; + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL threshold value"; + } + } + description + "TTL threshold for IPv4 multicast packets"; + } + } + } + } + container bgp { + description + "Enable BGP MVPN Discovery"; + container auto-discovery { + presence "Indicates an auto-discovery node is configured."; + description + "Enable BGP Auto-Discovery"; + leaf core-tree { + type enumeration { + enum "pim" { + value 1; + description + "PIM core tree"; + } + enum "mldp" { + value 2; + description + "mLDP core tree"; + } + enum "p2mp-te" { + value 3; + description + "RSVP P2MP-TE core tree"; + } + enum "ingress-replication" { + value 4; + description + "IR core tree"; + } + enum "segment-routing" { + value 5; + description + "Tree-SID core tree"; + } + } + mandatory true; + description + "Enable BGP Auto-Discovery"; + } + container leaf-info-required { + presence "Indicates a leaf-info-required node is configured."; + description + "Explicit tracking of S-PMSI core trees"; + } + container inter-as { + presence "Indicates a inter-as node is configured."; + description + "Inter-AS MVPN"; + } + container receiver-site { + presence "Indicates a receiver-site node is configured."; + description + "Receiver-only site"; + } + container anycast-rp { + presence "Indicates a anycast-rp node is configured."; + description + "Enable Anycast RP using MVPN SAFI"; + leaf route-policy { + type xr:Route-policy-name; + description + "Policy for filtering routes"; + } + } + container pmsi-timer { + when "../core-tree != 'pim'"; + description + "Set PMSI Tunnel timers"; + leaf change-delay { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Change Delay timer"; + } + leaf stop-forwarding { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Stop Forwarding timer"; + } + } + container segmented { + must "../core-tree != 'pim'"; + presence "Indicates a segmented node is configured."; + description + "Enable Segmented Multicast/MVPN"; + leaf bandwidth-threshold { + type uint32 { + range "0..1000000000" { + description + "Threshold in Kbps"; + } + } + description + "Set Bandwidth threshold for Ingress Replication core-tree"; + } + leaf color { + type uint32 { + range "0..4294967295" { + description + "Color value"; + } + } + description + "Enable Color Opaque Extended Community"; + } + } + container inherit-vrf-ri { + description + "Inherit VRF Route-Import EC"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + description + "VRF to inherit from"; + } + } + } + } + container static-rpf { + description + "Configure a static RPF rule for a given prefix/mask"; + list address-range { + key "prefix-address prefix-length"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Prefix for address range"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Prefix mask for address range"; + } + leaf interface { + type xr:Interface-name; + mandatory true; + description + "Static route interface"; + } + leaf next-hop-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Static route next-hop"; + } + } + } + container core-tree-protocol { + description + "Configure Core-tree-protocol"; + container rsvp-te { + presence "Indicates a rsvp-te node is configured."; + description + "Configure P2MP-TE as the Core-tree-protocol"; + leaf group-list { + type xr:Cisco-ios-xr-string; + description + "ACL for group-list"; + } + } + } + container static { + description + "Configure a static Policy"; + list sr-policy { + key "sr-policy-name"; + description + "SR P2MP Policy for Multicast"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the SR P2MP Policy"; + } + leaf ingress { + type string; + description + "Ingress Node address of traffic (for strict-rpf)"; + } + } + } + } + container ipv6 { + presence "Indicates a ipv4 node is configured."; + description + "Enter ipv6 Address Family command mode"; + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container mdt { + description + "MVPN configuration"; + container data { + description + "Data MDT configuration"; + container maximum-data-mdts { + presence "Indicates a maximum-data-mdts node is configured."; + description + "Maximum number of data-mdts to be triggered"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container data-mdt-group { + presence "Indicates a data-mdt-group node is configured."; + description + "Data MDT group IP address/prefix length"; + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Data MDT group IP address"; + } + leaf prefix-length { + type xr:Ipv4-prefix-length; + mandatory true; + description + "Data MDT group IP prefix length"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Ingress Replication Data MDT"; + leaf number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container mldp { + presence "Indicates a mldp node is configured."; + description + "MLDP Data MDT"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + container p2mp-te { + must "(maximum-number or route-policy) and not(maximum-number and route-policy)"; + presence "Indicates a p2mp-te node is configured."; + description + "P2MPTE Data MDT core"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf attribute-set { + type xr:Cisco-ios-xr-string; + description + "The Attribute Set template to be used with the TE tunnel request"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + } + container default { + description + "MDT Default distribution tree"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4 encapsulated MDT"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 encapsulated MDT"; + } + container partitioned { + description + "GRE Partitioned MDT"; + leaf bidir { + type inet:ipv4-address-no-zone; + description + "GRE Partitioned MDT for Bidir"; + } + } + } + container mldp { + description + "mLDP default distribution tree"; + container ipv4s { + description + "MP2MP core-tree with IPv4 Root Address"; + list ipv4 { + key "address"; + description + "MP2MP core-tree with IPv4 Root Address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "MP2MP core-tree with IPv4 Root Address"; + } + container partitioned { + description + "mLDP Partitioned MDT"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + } + container p2mp { + presence "Indicates a p2mp node is configured."; + description + "P2MP core-tree"; + container partitioned { + description + "mLDP Partitioned MDT"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + } + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + must + "not(../../mldp/ipv4s/ipv4 or ../../mldp/p2mp or + ../../ipv4 or ../../ingress-replication)"; + description + "The Attribute Set template to be used with the TE tunnel request"; + } + leaf static { + type xr:Interface-name { + pattern "tunnel-mte[0-9]+"; + } + must + "not(../../mldp/ipv4s/ipv4 or ../../mldp/p2mp or + ../../ipv4 or ../../ingress-replication)"; + description + "Static P2MP-TE Tunnel"; + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable default ingress-replication"; + } + } + container partitioned { + description + "MDT Partitioned distribution tree"; + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + description + "The Attribute Set template to be used with the TE tunnel request"; + } + } + container mldp { + description + "mLDP signaled distribution tree"; + container ipv4 { + description + "IPv4 core"; + container mp2mp { + must "not(../p2mp)"; + presence "Indicates a mp2mp node is configured."; + description + "Enable mLDP MP2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + container p2mp { + must "not(../mp2mp)"; + presence "Indicates a p2mp node is configured."; + description + "Enable mLDP P2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + must "../mp2mp or ../p2mp"; + description + "Configure MLDP Flex-algo"; + } + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable partitioned ingress-replication"; + } + } + container mldp { + description + "mLDP distribution tree"; + container in-band-signaling { + description + "Enable mLDP in-band-signalling"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Enable IPv4-core tree"; + } + } + } + container static { + description + "Interface used to set MDT source address"; + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Set MDT core as tree-sid"; + container strict-rpf { + presence "Indicates a strict-rpf node is configured."; + description + "Enable strict RPF check"; + } + } + } + leaf source { + type xr:Interface-name; + description + "Interface used to set MDT source address"; + } + leaf mtu { + type uint32 { + range "1401..65535" { + description + "MTU value"; + } + } + description + "MDT mtu configuration"; + } + } + container rate-per-route { + presence "Indicates a rate-per-route node is configured."; + description + "Enable/disable per (S,G) rate calculation"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + description + "Enter a hashing algorithm"; + container source-nexthop { + must "not(../interface-extended or ../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with nexthop multipath hashing + (better distribution)"; + } + container interface-extended { + must "not(../source-nexthop or ../source-group)"; + presence "Indicates a interface-extended node is configured."; + description + "Enable interface extensions for non-unique next-hop addrs"; + } + container source-group { + must "not(../source-nexthop or ../interface-extended)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing"; + } + } + } + container accounting { + description + "Enable/disable Accounting"; + container per-prefix { + presence "Indicates a per-prefix node is configured."; + description + "Enable per (S,G) accounting."; + container forward-only { + presence "Indicates a forward-only node is configured."; + description + "Enable per (S,G) forward-only accounting."; + } + } + } + container log-traps { + presence "Indicates a log-traps node is configured."; + description + "Enable logging trap events"; + } + container export-rt { + description + "Configure Export Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container import-rt { + description + "Configure Import Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + description + "Two Byte AS Number route-target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + description + "Four Byte AS Number route-target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + description + "IP address route-target"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container interface { + description + "Multicast interface configuration subcommands"; + container all { + description + "Inherited by all interfaces"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable IP Multicast"; + } + } + container interfaces { + description + "select an interface to configure"; + list interface { + key "interface-name"; + description + "select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "select an interface to configure"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable IP multicast"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable IP multicast"; + } + leaf boundary { + type string { + length "1..32" { + description + "Access list specifying scoped multicast groups"; + } + } + description + "Boundary for administratively scoped multicast addresses"; + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL threshold value"; + } + } + description + "TTL threshold for IPv4 multicast packets"; + } + } + } + } + container bgp { + description + "Enable BGP MVPN Discovery"; + container auto-discovery { + presence "Indicates an auto-discovery node is configured."; + description + "Enable BGP Auto-Discovery"; + leaf core-tree { + type enumeration { + enum "pim" { + value 1; + description + "PIM core tree"; + } + enum "mldp" { + value 2; + description + "mLDP core tree"; + } + enum "p2mp-te" { + value 3; + description + "RSVP P2MP-TE core tree"; + } + enum "ingress-replication" { + value 4; + description + "IR core tree"; + } + } + mandatory true; + description + "Enable BGP Auto-Discovery"; + } + container leaf-info-required { + presence "Indicates a leaf-info-required node is configured."; + description + "Explicit tracking of S-PMSI core trees"; + } + container inter-as { + presence "Indicates a inter-as node is configured."; + description + "Inter-AS MVPN"; + } + container receiver-site { + presence "Indicates a receiver-site node is configured."; + description + "Receiver-only site"; + } + container anycast-rp { + presence "Indicates a anycast-rp node is configured."; + description + "Enable Anycast RP using MVPN SAFI"; + leaf route-policy { + type xr:Route-policy-name; + description + "Policy for filtering routes"; + } + } + container pmsi-timer { + when "../core-tree != 'pim'"; + description + "Set PMSI Tunnel timers"; + leaf change-delay { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Change Delay timer"; + } + leaf stop-forwarding { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Stop Forwarding timer"; + } + } + container segmented { + must "../core-tree != 'pim'"; + presence "Indicates a segmented node is configured."; + description + "Enable Segmented Multicast/MVPN"; + leaf bandwidth-threshold { + type uint32 { + range "0..1000000000" { + description + "Threshold in Kbps"; + } + } + description + "Set Bandwidth threshold for Ingress Replication core-tree"; + } + leaf color { + type uint32 { + range "0..4294967295" { + description + "Color value"; + } + } + description + "Enable Color Opaque Extended Community"; + } + } + container inherit-vrf-ri { + description + "Inherit VRF Route-Import EC"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + description + "VRF to inherit from"; + } + } + } + } + container static-rpf { + description + "Configure a static RPF rule for a given prefix/mask"; + list address-range { + key "prefix-address prefix-length"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "Prefix for address range"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Prefix mask for address range"; + } + leaf interface { + type xr:Interface-name; + mandatory true; + description + "Static route interface"; + } + leaf next-hop-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Static route next-hop"; + } + } + } + container core-tree-protocol { + description + "Configure Core-tree-protocol"; + container rsvp-te { + presence "Indicates a rsvp-te node is configured."; + description + "Configure P2MP-TE as the Core-tree-protocol"; + leaf group-list { + type xr:Cisco-ios-xr-string; + description + "ACL for group-list"; + } + } + } + container static { + description + "Configure a static Policy"; + list sr-policy { + key "sr-policy-name"; + description + "SR P2MP Policy for Multicast"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the SR P2MP Policy"; + } + leaf ingress { + type string; + description + "Ingress Node address of traffic (for strict-rpf)"; + } + } + } + } + } + } + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Enter ipv4 Address Family command mode"; + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container mdt { + description + "MVPN configuration"; + container data { + description + "Data MDT configuration"; + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Ingress Replication Data MDT"; + leaf number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container mldp { + presence "Indicates a mldp node is configured."; + description + "MLDP Data MDT"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + container p2mp-te { + must "(maximum-number or route-policy) and not(maximum-number and route-policy)"; + presence "Indicates a p2mp-te node is configured."; + description + "P2MPTE Data MDT core"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf attribute-set { + type xr:Cisco-ios-xr-string; + description + "The Attribute Set template to be used with the TE tunnel request"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container segment-routing { + description + "Tree-SID Data MDT"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "Use SR-MPLS Tree-SID policy"; + leaf maximum-number { + type uint32 { + range "1..4294967295" { + description + "Maximum number of data-mdts to be triggered"; + } + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf color { + type uint32 { + range "1..4294967295" { + description + "color value"; + } + } + description + "On-demand color template to be used with the Tree-SID policy"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for this Tree-SID"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + leaf route-policy { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Route policy name"; + } + } + description + "Route policy to select data mdt core"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates a immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + } + } + } + container default { + description + "MDT Default distribution tree"; + container mldp { + description + "mLDP default distribution tree"; + container p2mp { + must "not(../../p2mp-te)"; + presence "Indicates a p2mp node is configured."; + description + "P2MP core-tree"; + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + } + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + must "not(../../mldp/p2mp)"; + description + "The Attribute Set template to be used with the TE tunnel request"; + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable default ingress-replication"; + } + container segment-routing { + description + "Tree-SID distribution tree"; + container mpls { + must "not(../../../partitioned/segment-routing/mpls)"; + presence "Indicates a mpls node is configured."; + description + "Use SR-MPLS Tree-SID policy"; + leaf color { + type union { + type enumeration { + enum "not-used" { + value 0; + description + "color template is not used"; + } + } + type uint32 { + range "1..4294967295" { + description + "color value"; + } + } + } + mandatory true; + description + "On-demand color template to be used with the Tree-SID policy"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for this Tree-SID"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + } + } + } + leaf source { + type xr:Interface-name; + description + "Interface used to set MDT source address"; + } + leaf mtu { + type uint32 { + range "1401..65535" { + description + "MTU value"; + } + } + description + "MDT mtu configuration"; + } + container segment-border { + presence "Indicates a segment-border node is configured."; + description + "Border router for segmented multicast"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route-policy to select segmented core type"; + } + } + container segmented-inband { + presence "Indicates a segmented-inband node is configured."; + description + "MDT Segmented Inband distribution tree"; + leaf core-tree { + type enumeration { + enum "mldp" { + value 2; + description + "mLDP core tree"; + } + enum "p2mp-te" { + value 3; + description + "RSVP P2MP-TE core tree"; + } + enum "ingress-replication" { + value 4; + description + "IR core tree"; + } + } + mandatory true; + description + "MDT Segmented Inband distribution tree"; + } + leaf color { + type uint32 { + range "0..4294967295" { + description + "Color Opaque EC value"; + } + } + description + "Enable Color Opaque extended community"; + } + } + container partitioned { + description + "MDT Partitioned distribution tree"; + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + description + "The Attribute Set template to be used with the TE tunnel request"; + } + } + container mldp { + description + "mLDP signaled distribution tree"; + container ipv4 { + description + "IPv4 core"; + container mp2mp { + must "not(../p2mp)"; + presence "Indicates a mp2mp node is configured."; + description + "Enable mLDP MP2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + container p2mp { + must "not(../mp2mp)"; + presence "Indicates a p2mp node is configured."; + description + "Enable mLDP P2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + must "../mp2mp or ../p2mp"; + description + "Configure MLDP Flex-algo"; + } + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable partitioned ingress-replication"; + } + container segment-routing { + description + "Tree-SID distribution tree"; + container mpls { + must "not(../../../default/segment-routing/mpls)"; + presence "Indicates a mpls node is configured."; + description + "Use SR-MPLS Tree-SID policy"; + leaf color { + type union { + type enumeration { + enum "not-used" { + value 0; + description + "color template is not used"; + } + } + type uint32 { + range "1..4294967295" { + description + "color value"; + } + } + } + mandatory true; + description + "On-demand color template to be used with the Tree-SID policy"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for this Tree-SID"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + } + } + } + container mldp { + description + "mLDP distribution tree"; + container in-band-signaling { + description + "Enable mLDP in-band-signalling"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Enable IPv4-core tree"; + } + } + } + container static { + description + "Interface used to set MDT source address"; + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Set MDT core as tree-sid"; + container strict-rpf { + presence "Indicates a strict-rpf node is configured."; + description + "Enable strict RPF check"; + } + } + container p2mp-te { + description + "static p2mp-te"; + container interfaces { + description + "p2mp-te interface"; + list interface { + key "interface-name"; + description + "p2mp-te interface"; + leaf interface-name { + type xr:Interface-name { + pattern "tunnel-mte[0-9]+"; + } + description + "p2mp-te interface"; + } + } + } + } + } + } + container rate-per-route { + presence "Indicates a rate-per-route node is configured."; + description + "Enable/disable per (S,G) rate calculation"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + description + "Enter a hashing algorithm"; + container source { + must "not(../source-nexthop or ../source-group)"; + presence "Indicates a source node is configured."; + description + "Enable source based multipath hashing + (Compatible with IOS versions)"; + } + container source-nexthop { + must "not(../source or ../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with next-hop multipath hashing + (better distribution)"; + } + container source-group { + must "not(../source or ../source-nexthop)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing"; + } + } + } + container accounting { + description + "Enable/disable Accounting"; + container per-prefix { + presence "Indicates a per-prefix node is configured."; + description + "Enable per (S,G) accounting."; + container forward-only { + presence "Indicates a forward-only node is configured."; + description + "Enable per (S,G) forward-only accounting."; + } + } + } + container log-traps { + presence "Indicates a log-traps node is configured."; + description + "Enable logging trap events"; + } + container interface-inheritance { + description + "Knob to separate enabling/disabling multicast routing & forwarding"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inheriting En/Dis config "; + } + } + leaf mofrr-lockout-timer { + type uint32 { + range "1..3600" { + description + "Mofrr Lockout timer value"; + } + } + description + "Lockout timer for mofrr"; + } + leaf mofrr-loss-detection-timer { + type uint32 { + range "1..3600" { + description + "Mofrr Loss Detection timer value"; + } + } + description + "Loss Detection timer for mofrr"; + } + container forwarding-latency { + description + "Knob to delay traffic being forwarded on a route"; + leaf delay { + type uint32 { + range "5..500" { + description + "Delay time in msecs"; + } + } + description + "Delay time in msecs"; + } + } + container route-rate { + description + "Parameters for route-rate calculation"; + leaf routes { + type uint32 { + range "100..500000" { + description + "Number of routes"; + } + } + description + "Number of routes to walk"; + } + leaf interval { + type uint32 { + range "50..60000" { + description + "Interval in milliseconds"; + } + } + description + "Interval to wait before continuing route walk"; + } + leaf freshwalk-interval { + type uint32 { + range "5..60" { + description + "Time interval in seconds"; + } + } + description + "Time to wait before a fresh route walk"; + } + } + container export-rt { + description + "Configure Export Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container import-rt { + description + "Configure Import Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + description + "Two Byte AS Number route-target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + description + "Four Byte AS Number route-target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + description + "IP address route-target"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container interface { + description + "Multicast interface configuration subcommands"; + container all { + description + "Inherited by all interfaces"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable IP Multicast"; + } + } + container interfaces { + description + "select an interface to configure"; + list interface { + key "interface-name"; + description + "select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "select an interface to configure"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable IP multicast"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable IP multicast"; + } + leaf boundary { + type string { + length "1..32" { + description + "Access list specifying scoped multicast groups"; + } + } + description + "Boundary for administratively scoped multicast addresses"; + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL threshold value"; + } + } + description + "TTL threshold for IPv4 multicast packets"; + } + } + } + } + container maximum { + description + "Maximum state limits"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable all multicast state limit checks"; + } + } + container oom-handling { + presence "Indicates a oom-handling node is configured."; + description + "Enable out-of-memory handling"; + } + container bgp { + description + "Enable BGP MVPN Discovery"; + container auto-discovery { + presence "Indicates a auto-discovery node is configured."; + description + "Enable BGP Auto-Discovery"; + leaf core-tree { + type enumeration { + enum "pim" { + value 1; + description + "PIM core tree"; + } + enum "mldp" { + value 2; + description + "mLDP core tree"; + } + enum "p2mp-te" { + value 3; + description + "RSVP P2MP-TE core tree"; + } + enum "ingress-replication" { + value 4; + description + "IR core tree"; + } + enum "segment-routing" { + value 5; + description + "Tree-SID core tree"; + } + } + mandatory true; + description + "Enable BGP Auto-Discovery"; + } + container leaf-info-required { + presence "Indicates a leaf-info-required node is configured."; + description + "Explicit tracking of S-PMSI core trees"; + } + container inter-as { + presence "Indicates a inter-as node is configured."; + description + "Inter-AS MVPN"; + } + container receiver-site { + presence "Indicates a receiver-site node is configured."; + description + "Receiver-only site"; + } + container anycast-rp { + presence "Indicates a anycast-rp node is configured."; + description + "Enable Anycast RP using MVPN SAFI"; + leaf route-policy { + type xr:Route-policy-name; + description + "Policy for filtering routes"; + } + } + container pmsi-timer { + when "../core-tree != 'pim'"; + description + "Set PMSI Tunnel timers"; + leaf change-delay { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Change Delay timer"; + } + leaf stop-forwarding { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Stop Forwarding timer"; + } + } + container segmented { + must "../core-tree != 'pim'"; + presence "Indicates a segmented node is configured."; + description + "Enable Segmented Multicast/MVPN"; + leaf bandwidth-threshold { + type uint32 { + range "0..1000000000" { + description + "Threshold in Kbps"; + } + } + must "../../core-tree = 'ingress-replication'"; + description + "Set Bandwidth threshold for Ingress Replication core-tree"; + } + leaf color { + type uint32 { + range "0..4294967295" { + description + "Color value"; + } + } + description + "Enable Color Opaque Extended Community"; + } + } + container inherit-vrf-ri { + description + "Inherit VRF Route-Import EC"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + description + "VRF to inherit from"; + } + } + } + } + container static-rpf { + description + "Configure a static RPF rule for a given prefix/mask"; + list address-range { + key "prefix-address prefix-length"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Prefix for address range"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Prefix mask for address range"; + } + leaf interface { + type xr:Interface-name; + mandatory true; + description + "Static route interface"; + } + leaf next-hop-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Static route next-hop"; + } + } + } + container core-tree-protocol { + description + "Configure Core-tree-protocol"; + container rsvp-te { + presence "Indicates a rsvp-te node is configured."; + description + "Configure P2MP-TE as the Core-tree-protocol"; + leaf group-list { + type xr:Cisco-ios-xr-string; + description + "ACL for group-list"; + } + } + } + container static { + description + "Configure a static Policy"; + list sr-policy { + key "sr-policy-name"; + description + "SR P2MP Policy for Multicast"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the SR P2MP Policy"; + } + leaf ingress { + type string; + description + "Ingress Node address of traffic (for strict-rpf)"; + } + } + } + } + container ipv6 { + presence "Indicates a ipv4 node is configured."; + description + "Enter ipv6 Address Family command mode"; + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container mdt { + description + "MVPN configuration"; + container data { + description + "Data MDT configuration"; + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Ingress Replication Data MDT"; + leaf number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + container mldp { + presence "Indicates a mldp node is configured."; + description + "MLDP Data MDT"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + mandatory true; + description + "Maximum number of data-mdts to be triggered"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + container p2mp-te { + must "(maximum-number or route-policy) and not(maximum-number and route-policy)"; + presence "Indicates a p2mp-te node is configured."; + description + "P2MPTE Data MDT core"; + leaf maximum-number { + type uint32 { + range "1..4294967295"; + } + description + "Maximum number of data-mdts to be triggered"; + } + leaf attribute-set { + type xr:Cisco-ios-xr-string; + description + "The Attribute Set template to be used with the TE tunnel request"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string; + description + "ACL for Customer VRF groups allowed to do Data MDT"; + } + container immediate-switch { + presence "Indicates an immediate-switch node is configured."; + description + "Switch to Data MDT immediately"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "DATA MDT Route policy"; + } + leaf threshold { + type uint32 { + range "0..4294967" { + description + "Threshold value (kbps). Default 1kbps"; + } + } + description + "Traffic rate threshold in Kbps to trigger Data MDT"; + } + } + } + container default { + description + "MDT Default distribution tree"; + container mldp { + description + "mLDP default distribution tree"; + container ipv4s { + description + "MP2MP core-tree with IPv4 Root Address"; + list ipv4 { + key "address"; + description + "MP2MP core-tree with IPv4 Root Address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "MP2MP core-tree with IPv4 Root Address"; + } + container partitioned { + description + "mLDP Partitioned MDT"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + } + container p2mp { + presence "Indicates a p2mp node is configured."; + description + "P2MP core-tree"; + container partitioned { + description + "mLDP Partitioned MDT"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + description + "Configure MLDP Flex-algo"; + } + } + } + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + description + "The Attribute Set template to be used with the TE tunnel request"; + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable default ingress-replication"; + } + } + container segment-border { + presence "Indicates a segment-border node is configured."; + description + "Border router for segmented multicast"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route-policy to select segmented core type"; + } + } + container segmented-inband { + presence "Indicates a segmented-inband node is configured."; + description + "MDT Segmented Inband distribution tree"; + leaf core-tree { + type enumeration { + enum "mldp" { + value 2; + description + "mLDP core tree"; + } + enum "p2mp-te" { + value 3; + description + "RSVP P2MP-TE core tree"; + } + enum "ingress-replication" { + value 4; + description + "IR core tree"; + } + } + mandatory true; + description + "MDT Segmented Inband distribution tree"; + } + leaf color { + type uint32 { + range "0..4294967295" { + description + "Color Opaque EC value"; + } + } + description + "Enable Color Opaque extended community"; + } + } + container partitioned { + description + "MDT Partitioned distribution tree"; + container p2mp-te { + description + "P2MP-TE default distribution tree"; + leaf attribute-set { + type union { + type string { + pattern "default" { + description + "Use default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of template describing the Attribute Set"; + } + } + } + description + "The Attribute Set template to be used with the TE tunnel request"; + } + } + container mldp { + description + "mLDP signaled distribution tree"; + container ipv4 { + description + "IPv4 core"; + container mp2mp { + must "not(../p2mp)"; + presence "Indicates a mp2mp node is configured."; + description + "Enable mLDP MP2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + container p2mp { + must "not(../mp2mp)"; + presence "Indicates a p2mp node is configured."; + description + "Enable mLDP P2MP core tree"; + container bidir { + presence "Indicates a bidir node is configured."; + description + "Enable Exclusive Partitioned MDT for Bidir"; + } + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "MLDP Flex-algo value"; + } + } + must "../mp2mp or ../p2mp"; + description + "Configure MLDP Flex-algo"; + } + } + } + container ingress-replication { + presence "Indicates a ingress-replication node is configured."; + description + "Enable partitioned ingress-replication"; + } + } + container mldp { + description + "mLDP distribution tree"; + container in-band-signaling { + description + "Enable mLDP in-band-signalling"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Enable IPv4-core tree"; + } + } + } + container static { + description + "Interface used to set MDT source address"; + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Set MDT core as tree-sid"; + container strict-rpf { + presence "Indicates a strict-rpf node is configured."; + description + "Enable strict RPF check"; + } + } + } + leaf source { + type xr:Interface-name; + description + "Interface used to set MDT source address"; + } + leaf mtu { + type uint32 { + range "1401..65535" { + description + "MTU value"; + } + } + description + "MDT mtu configuration"; + } + } + container rate-per-route { + presence "Indicates a rate-per-route node is configured."; + description + "Enable/disable per (S,G) rate calculation"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + description + "Enter a hashing algorithm"; + container source-nexthop { + must "not(../interface-extended or ../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with nexthop multipath hashing + (better distribution)"; + } + container interface-extended { + must "not(../source-nexthop or ../source-group)"; + presence "Indicates a interface-extended node is configured."; + description + "Enable interface extensions for non-unique next-hop addrs"; + } + container source-group { + must "not(../source-nexthop or ../interface-extended)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing"; + } + } + } + container accounting { + description + "Enable/disable Accounting"; + container per-prefix { + presence "Indicates a per-prefix node is configured."; + description + "Enable per (S,G) accounting."; + container forward-only { + presence "Indicates a forward-only node is configured."; + description + "Enable per (S,G) forward-only accounting."; + } + } + } + container log-traps { + presence "Indicates a log-traps node is configured."; + description + "Enable logging trap events"; + } + container interface-inheritance { + description + "Knob to separate enabling/disabling multicast routing & forwarding"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inheriting En/Dis config "; + } + } + leaf mofrr-lockout-timer { + type uint32 { + range "1..3600" { + description + "Mofrr Lockout timer value"; + } + } + description + "Lockout timer for mofrr"; + } + leaf mofrr-loss-detection-timer { + type uint32 { + range "1..3600" { + description + "Mofrr Loss Detection timer value"; + } + } + description + "Loss Detection timer for mofrr"; + } + container forwarding-latency { + description + "Knob to delay traffic being forwarded on a route"; + leaf delay { + type uint32 { + range "5..500" { + description + "Delay time in msecs"; + } + } + description + "Delay time in msecs"; + } + } + container export-rt { + description + "Configure Export Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route distinguisher"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container import-rt { + description + "Configure Import Route-Target"; + list two-byte-as-rt { + key "two-byte-as-number index-number"; + description + "Two Byte AS Number route-target"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "Two Byte AS number"; + } + } + description + "Two Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..4294967295" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list four-byte-as-rt { + key "four-byte-as-number index-number"; + description + "Four Byte AS Number route-target"; + leaf four-byte-as-number { + type uint32 { + range "65536..4294967295" { + description + "Four Byte AS number"; + } + } + description + "Four Byte AS Number route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + list ip-address-rt { + key "ip-address index-number"; + description + "IP address route-target"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address route-target"; + } + leaf index-number { + type uint32 { + range "0..65535" { + description + "AS:nn (hex or decimal format)"; + } + } + description + "AS:nn (hex or decimal format)"; + } + } + } + container interface { + description + "Multicast interface configuration subcommands"; + container all { + description + "Inherited by all interfaces"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable IP Multicast"; + } + } + container interfaces { + description + "select an interface to configure"; + list interface { + key "interface-name"; + description + "select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "select an interface to configure"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable IP multicast"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable IP multicast"; + } + leaf boundary { + type string { + length "1..32" { + description + "Access list specifying scoped multicast groups"; + } + } + description + "Boundary for administratively scoped multicast addresses"; + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL threshold value"; + } + } + description + "TTL threshold for IPv4 multicast packets"; + } + } + } + } + container maximum { + description + "Maximum state limits"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable all multicast state limit checks"; + } + } + container bgp { + description + "Enable BGP MVPN Discovery"; + container auto-discovery { + presence "Indicates a auto-discovery node is configured."; + description + "Enable BGP Auto-Discovery"; + leaf core-tree { + type enumeration { + enum "pim" { + value 1; + description + "PIM core tree"; + } + enum "mldp" { + value 2; + description + "mLDP core tree"; + } + enum "p2mp-te" { + value 3; + description + "RSVP P2MP-TE core tree"; + } + enum "ingress-replication" { + value 4; + description + "IR core tree"; + } + } + mandatory true; + description + "Enable BGP Auto-Discovery"; + } + container leaf-info-required { + presence "Indicates a leaf-info-required node is configured."; + description + "Explicit tracking of S-PMSI core trees"; + } + container inter-as { + presence "Indicates a inter-as node is configured."; + description + "Inter-AS MVPN"; + } + container receiver-site { + presence "Indicates a receiver-site node is configured."; + description + "Receiver-only site"; + } + container anycast-rp { + presence "Indicates a anycast-rp node is configured."; + description + "Enable Anycast RP using MVPN SAFI"; + leaf route-policy { + type xr:Route-policy-name; + description + "Policy for filtering routes"; + } + } + container pmsi-timer { + when "../core-tree != 'pim'"; + description + "Set PMSI Tunnel timers"; + leaf change-delay { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Change Delay timer"; + } + leaf stop-forwarding { + type uint32 { + range "0..4294967295" { + description + "Time in seconds"; + } + } + description + "Set Stop Forwarding timer"; + } + } + container segmented { + must "../core-tree != 'pim'"; + presence "Indicates a segmented node is configured."; + description + "Enable Segmented Multicast/MVPN"; + leaf bandwidth-threshold { + type uint32 { + range "0..1000000000" { + description + "Threshold in Kbps"; + } + } + description + "Set Bandwidth threshold for Ingress Replication core-tree"; + } + leaf color { + type uint32 { + range "0..4294967295" { + description + "Color value"; + } + } + description + "Enable Color Opaque Extended Community"; + } + } + container inherit-vrf-ri { + description + "Inherit VRF Route-Import EC"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + description + "VRF to inherit from"; + } + } + } + } + container static-rpf { + description + "Configure a static RPF rule for a given prefix/mask"; + list address-range { + key "prefix-address prefix-length"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "Prefix for address range"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Prefix mask for address range"; + } + leaf interface { + type xr:Interface-name; + mandatory true; + description + "Static route interface"; + } + leaf next-hop-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Static route next-hop"; + } + } + } + container core-tree-protocol { + description + "Configure Core-tree-protocol"; + container rsvp-te { + presence "Indicates a rsvp-te node is configured."; + description + "Configure P2MP-TE as the Core-tree-protocol"; + leaf group-list { + type xr:Cisco-ios-xr-string; + description + "ACL for group-list"; + } + } + } + container static { + description + "Configure a static Policy"; + list sr-policy { + key "sr-policy-name"; + description + "SR P2MP Policy for Multicast"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string; + description + "Name of the SR P2MP Policy"; + } + leaf ingress { + type string; + description + "Ingress Node address of traffic (for strict-rpf)"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-netconf-yang-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-netconf-yang-cfg.yang new file mode 100644 index 000000000..366a535ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-netconf-yang-cfg.yang @@ -0,0 +1,113 @@ +module Cisco-IOS-XR-um-netconf-yang-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-netconf-yang-cfg"; + prefix um-netconf-yang-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR netconf-yang package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-06 { + description + "- Removed models/openconfig/disable as the config has been deprecated. + - Added a new container to enable with-defaults support."; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + container netconf-yang { + description + "NETCONF YANG configuration commands"; + container agent { + description + "NETCONF YANG agent configuration commands"; + container ssh { + presence "Indicates a ssh node is configured."; + description + "Enable NETCONF-YANG agent over SSH connection"; + } + container with-defaults-support { + description + "with-defaults support enabled"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable with-defaults support"; + } + } + leaf rate-limit { + type uint32 { + range "4096..4294967295" { + description + "Number of bytes to process per sec"; + } + } + description + "Rate limit"; + } + container session { + description + "Session settings"; + leaf limit { + type uint32 { + range "1..50" { + description + "Count of allowable concurrent netconf-yang sessions (default = 50)"; + } + } + description + "Maximum count of concurrent sessions (default = 50)"; + } + leaf idle-timeout { + type uint32 { + range "1..1440" { + description + "Idle timeout in minutes"; + } + } + description + "Non-active session lifetime"; + } + leaf absolute-timeout { + type uint32 { + range "1..1440" { + description + "Absolute timeout in minutes"; + } + } + description + "Absolute session lifetime"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-nsr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-nsr-cfg.yang new file mode 100644 index 000000000..dd8485ab7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-nsr-cfg.yang @@ -0,0 +1,50 @@ +module Cisco-IOS-XR-um-nsr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-nsr-cfg"; + prefix um-nsr-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR nsr package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container nsr { + description + "Global NSR configuration commands"; + container process-failures { + description + "Recovery action for Process failures on active RP/DRP"; + container switchover { + presence "Indicates a switchover node is configured."; + description + "Switch over to standby RP/DRP to maintain NSR"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ntp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ntp-cfg.yang new file mode 100644 index 000000000..bbf30de56 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ntp-cfg.yang @@ -0,0 +1,1925 @@ +module Cisco-IOS-XR-um-ntp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ntp-cfg"; + prefix um-ntp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ntp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-10 { + description + "Added new cmac, hmac-sha1, hmac-sha2 support for authentication-key"; + semver:module-version "1.0.1m"; + } + revision 2021-03-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + revision 2021-03-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature harddisk_is_present { + description + "harddisk is present"; + } + + feature harddiska_is_present { + description + "harddiska is present"; + } + + feature harddiskb_is_present { + description + "harddiskb is present"; + } + + feature a9ksys_is_present { + description + "a9ksys is present"; + } + + feature config_is_present { + description + "config is present"; + } + + feature log_is_present { + description + "log is present"; + } + + feature rootfs_is_present { + description + "rootfs is present"; + } + + feature disk1_is_present { + description + "disk1 is present"; + } + + feature usb_is_present { + description + "usb is present"; + } + + feature usb2_is_present { + description + "usb2 is present"; + } + + feature app_host_is_present { + description + "app host is present"; + } + + feature cflash_fs_supp_check { + description + "cflash fs supp check"; + } + + feature usb_fs_supp_check { + description + "usb fs supp check"; + } + + feature disk2_fs_supp_check { + description + "disk2 fs supp check"; + } + + feature harddisk_fs_supp_check { + description + "harddisk fs supp check"; + } + + feature lcdisk_fs_supp_check { + description + "lcdisk fs supp check"; + } + + augment "/a1:snmp-server/a1:traps" { + container ntp { + presence "Indicates a ntp node is configured."; + description + "Enable SNMP Cisco Ntp traps"; + } + } + container ntp { + description + "Go into NTP submode"; + container ipv4 { + description + "Mark the dscp/precedence bit for ipv4 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "not(../precedence)"; + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Match packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Match packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence (7)"; + } + } + must "not(../dscp)"; + description + "Set precedence"; + } + } + container ipv6 { + description + "Mark the dscp/precedence bit for ipv6 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "not(../precedence)"; + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Match packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Match packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence (7)"; + } + } + must "not(../dscp)"; + description + "Set precedence"; + } + } + container access-group { + description + "Control NTP access"; + container ipv6 { + description + "Configure IPv6 access"; + leaf peer { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Provide full access"; + } + leaf query-only { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Allow only control queries"; + } + leaf serve { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Provide server and query access"; + } + leaf serve-only { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Provide only server access"; + } + } + container ipv4 { + description + "Configure IPv4 access"; + leaf peer { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Provide full access"; + } + leaf query-only { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Allow only control queries"; + } + leaf serve { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Provide server and query access"; + } + leaf serve-only { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access list name - maximum 64 characters"; + } + } + description + "Provide only server access"; + } + } + container vrfs { + description + "Specify non-default VRF"; + list vrf { + key "vrf-name"; + description + "Specify non-default VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Non-default VRF to configure"; + } + } + description + "Specify non-default VRF"; + } + container ipv6 { + description + "Configure IPv6 access"; + leaf peer { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Provide full access"; + } + leaf query-only { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Allow only control queries"; + } + leaf serve { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Provide server and query access"; + } + leaf serve-only { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Provide only server access"; + } + } + container ipv4 { + description + "Configure IPv4 access"; + leaf peer { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Provide full access"; + } + leaf query-only { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Allow only control queries"; + } + leaf serve { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Provide server and query access"; + } + leaf serve-only { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Provide only server access"; + } + } + } + } + } + container authenticate { + presence "Indicates a authenticate node is configured."; + description + "Authenticate time sources"; + } + container authentication-keys { + description + "Authentication key for trusted time sources"; + list authentication-key { + key "key-number"; + description + "Authentication key for trusted time sources"; + leaf key-number { + type uint32 { + range "1..65535" { + description + "Key number"; + } + } + description + "Authentication key for trusted time sources"; + } + container md5 { + description + "MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specify an encrypted key"; + } + } + } + } + container cmac-authentication-keys { + description + "CMAC Authentication key for trusted time sources"; + list cmac-authentication-key { + key "key-number"; + description + "CMAC Authentication key for trusted time sources"; + leaf key-number { + type uint32 { + range "1..65535" { + description + "Key number"; + } + } + description + "Authentication key for trusted time sources"; + } + container cmac { + description + "CMAC authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specify an encrypted key"; + } + } + } + } + container hmac-sha1-authentication-keys { + description + "HMA-SHA1 Authentication key for trusted time sources"; + list hmac-sha1-authentication-key { + key "key-number"; + description + "HMA-SHA1 Authentication key for trusted time sources"; + leaf key-number { + type uint32 { + range "1..65535" { + description + "Key number"; + } + } + description + "Authentication key for trusted time sources"; + } + container hmac-sha1 { + description + "HMAC-SHA1 authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specify an encrypted key"; + } + } + } + } + container hmac-sha2-authentication-keys { + description + "HMA-SHA2 Authentication key for trusted time sources"; + list hmac-sha2-authentication-key { + key "key-number"; + description + "HMA-SHA2 Authentication key for trusted time sources"; + leaf key-number { + type uint32 { + range "1..65535" { + description + "Key number"; + } + } + description + "Authentication key for trusted time sources"; + } + container hmac-sha2 { + description + "HMAC-SHA2 authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specify an encrypted key"; + } + } + } + } + leaf broadcastdelay { + type uint32 { + range "1..999999" { + description + "Round-trip delay in microseconds"; + } + } + description + "Estimated round-trip delay"; + } + container drift { + description + "Drift"; + container aging { + description + "Aging"; + leaf time { + type uint32 { + range "0..65535" { + description + "Aging time in hours"; + } + } + description + "Aging time"; + } + } + container file { + presence "Indicates a file node is configured."; + description + "File for drift values"; + container bootflash { + must + "not(../compactflash or ../compactflasha or ../usb or ../disk0 + or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a bootflash node is configured."; + description + "drift in bootflash: file system"; + } + container compactflash { + if-feature "cflash_fs_supp_check"; + must + "not(../bootflash or ../compactflasha or ../usb or ../disk0 + or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a compactflash node is configured."; + description + "drift in compactflash: file system"; + } + container compactflasha { + if-feature "cflash_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../usb or ../disk0 + or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a compactflasha node is configured."; + description + "drift in compactflasha: file system"; + } + container usb { + if-feature "usb_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../compactflasha or ../disk0 + or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a usb node is configured."; + description + "drift in usb: file system"; + } + container disk0 { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0a or ../disk1 or ../disk1a or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a disk0 node is configured."; + description + "drift in disk0: file system"; + } + container disk0a { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk1 or ../disk1a or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a disk0a node is configured."; + description + "drift in disk0a: file system"; + } + container disk1 { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1a or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a disk1 node is configured."; + description + "drift in disk1: file system"; + } + container disk1a { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk2 or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a disk1a node is configured."; + description + "drift in disk1a: file system"; + } + container disk2 { + if-feature "disk2_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../harddisk + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a disk2 node is configured."; + description + "drift in disk2: file system"; + } + container harddisk { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddiska or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a harddisk node is configured."; + description + "drift in harddisk: file system"; + } + container harddiska { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiskb or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a harddiska node is configured."; + description + "drift in harddiska: file system"; + } + container harddiskb { + if-feature "harddisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiska or ../nvram or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a hardiskb node is configured."; + description + "drift in harddiskb: file system"; + } + container nvram { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiska or ../harddiskb or ../lcdisk0 + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a nvram node is configured."; + description + "drift in nvram: file system"; + } + container lcdisk0 { + if-feature "lcdisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiska or ../harddiskb or ../nvram + or ../lcdisk0a or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a lcdisk0 node is configured."; + description + "drift in lcdisk0: file system"; + } + container lcdisk0a { + if-feature "lcdisk_fs_supp_check"; + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiska or ../harddiskb or ../nvram + or ../lcdisk0 or ../tftp or ../ftp or ../rcp)"; + presence "Indicates a lcdisk0a node is configured."; + description + "drift in lcdisk0a: file system"; + } + container tftp { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiska or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a or ../ftp or ../rcp)"; + presence "Indicates a tftp node is configured."; + description + "drift in tftp: file system"; + } + container ftp { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiska or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a or ../tftp or ../rcp)"; + presence "Indicates a ftp node is configured."; + description + "drift in ftp: file system"; + } + container rcp { + must + "not(../bootflash or ../compactflash or ../compactflasha or ../usb + or ../disk0 or ../disk0a or ../disk1 or ../disk1a or ../disk2 + or ../harddisk or ../harddiska or ../harddiskb or ../nvram + or ../lcdisk0 or ../lcdisk0a or ../tftp or ../ftp)"; + presence "Indicates a rcp node is configured."; + description + "drift in rcp: file system"; + } + leaf file-name { + type string { + length "1..800" { + description + "drift in file"; + } + } + mandatory true; + description + "drift in file"; + } + } + } + container interfaces { + description + "Configure NTP on an interface"; + list interface { + key "interface-name"; + description + "Configure NTP on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Configure NTP on an interface"; + } + container broadcast-client { + presence "Indicates a client node is configured."; + description + "Listen to NTP broadcasts"; + } + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Configure NTP broadcast service"; + leaf destination { + type inet:ipv4-address-no-zone; + description + "Configure broadcast destination address"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Broadcast key number"; + } + } + description + "Configure broadcast authentication key"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NTP"; + } + container multicast { + description + "Configure NTP multicast service"; + container client { + description + "Listen to NTP multicasts"; + container no-group { + presence "Indicates a no-group node is configured."; + description + "Listen to NTP multicasts"; + } + list ip-address { + key "address"; + description + "Addess of multicast group to join"; + leaf address { + type inet:ip-address-no-zone; + description + "Addess of multicast group to join"; + } + } + } + container no-destination { + presence "Indicates a no-destination node is configured."; + description + "Configure multicast without destination"; + leaf key { + type uint32 { + range "1..65535" { + description + "Multicast key number"; + } + } + description + "Configure multicast authentication key"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf ttl { + type uint32 { + range "1..255" { + description + "TTL value to use"; + } + } + description + "Configure TTL to use"; + } + } + container destinations { + description + "Configure multicast destination address"; + list destination { + key "address"; + description + "Configure multicast destination address"; + leaf address { + type inet:ip-address-no-zone; + description + "Configure multicast destination address"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Multicast key number"; + } + } + description + "Configure multicast authentication key"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf ttl { + type uint32 { + range "1..255" { + description + "TTL value to use"; + } + } + description + "Configure TTL to use"; + } + } + } + } + } + container vrfs { + description + "Specify non-default VRF"; + list vrf { + key "vrf-name"; + description + "Specify non-default VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Non-default VRF for the interface"; + } + } + description + "Specify non-default VRF"; + } + list interface { + key "interface-name"; + description + "Configure NTP on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Configure NTP on an interface"; + } + container broadcast-client { + presence "Indicates a client node is configured."; + description + "Listen to NTP broadcasts"; + } + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Configure NTP broadcast service"; + leaf destination { + type inet:ipv4-address-no-zone; + description + "Configure broadcast destination address"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Broadcast key number"; + } + } + description + "Configure broadcast authentication key"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NTP"; + } + container multicast { + description + "Configure NTP multicast service"; + container client { + description + "Listen to NTP multicasts"; + container no-group { + presence "Indicates a no-group node is configured."; + description + "Listen to NTP multicasts"; + } + list ip-address { + key "address"; + description + "Addess of multicast group to join"; + leaf address { + type inet:ip-address-no-zone; + description + "Addess of multicast group to join"; + } + } + } + container no-destination { + presence "Indicates a no-destination node is configured."; + description + "Configure multicast without destination"; + leaf key { + type uint32 { + range "1..65535" { + description + "Multicast key number"; + } + } + description + "Configure multicast authentication key"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf ttl { + type uint32 { + range "1..255" { + description + "TTL value to use"; + } + } + description + "Configure TTL to use"; + } + } + container destinations { + description + "Configure multicast destination address"; + list destination { + key "address"; + description + "Configure multicast destination address"; + leaf address { + type inet:ip-address-no-zone; + description + "Configure multicast destination address"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Multicast key number"; + } + } + description + "Configure multicast authentication key"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf ttl { + type uint32 { + range "1..255" { + description + "TTL value to use"; + } + } + description + "Configure TTL to use"; + } + } + } + } + } + } + } + } + container primary { + description + "Choose a refclock as primary clock for NTP"; + leaf stratum-number { + type uint32 { + range "1..15" { + description + "Use NTP as clock source with stratum number "; + } + } + must "not(../primary-reference-clock)"; + description + "Use NTP as clock source with stratum number "; + } + container primary-reference-clock { + must "not(../stratum-number)"; + presence "Indicates a primary-reference-clock node is configured."; + description + "Use a primary reference clock as clock source"; + } + } + leaf max-associations { + type uint32 { + range "0..4294967295" { + description + "Number of associations"; + } + } + description + "Set maximum number of associations"; + } + container peer-server { + description + "configure ntp peer or server"; + container ipv4 { + description + "Specify IPv4 address"; + list ipv4-peer-server { + key "address type"; + description + "Specify IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Peer/server address"; + } + leaf type { + type enumeration { + enum "peer" { + value 0; + description + "Configure peer address"; + } + enum "server" { + value 1; + description + "Configure server address"; + } + } + description + "Specify peer/server"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Peer key number"; + } + } + description + "Configure peer authentication key"; + } + leaf minpoll { + type uint32 { + range "4..5|7..17" { + description + "Minimum poll rate, default 6, less than maxpoll"; + } + } + description + "Configure minimum polling rate"; + } + leaf maxpoll { + type uint32 { + range "4..9|11..17" { + description + "Maximum poll rate, default 10, greater than minpoll"; + } + } + description + "Configure maximum polling rate"; + } + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer this peer when possible"; + } + container burst { + presence "Indicates a burst node is configured."; + description + "Use burst mode"; + } + container iburst { + presence "Indicates a iburst node is configured."; + description + "Use initial burst mode"; + } + leaf source { + type xr:Interface-name; + description + "Interface for source address"; + } + } + } + container ipv6 { + description + "Specify IPv6 address"; + list ipv6-peer-server { + must "address = ipv6-address"; + key "address type"; + description + "Specify IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Peer/server address"; + } + leaf type { + type enumeration { + enum "peer" { + value 0; + description + "Configure peer address"; + } + enum "server" { + value 1; + description + "Configure server address"; + } + } + description + "Specify peer/server"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Peer key number"; + } + } + description + "Configure peer authentication key"; + } + leaf minpoll { + type uint32 { + range "4..5|7..17" { + description + "Minimum poll rate, default 6, less than maxpoll"; + } + } + description + "Configure minimum polling rate"; + } + leaf maxpoll { + type uint32 { + range "4..9|11..17" { + description + "Maximum poll rate, default 10, greater than minpoll"; + } + } + description + "Configure maximum polling rate"; + } + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer this peer when possible"; + } + container burst { + presence "Indicates a burst node is configured."; + description + "Use burst mode"; + } + container iburst { + presence "Indicates a iburst node is configured."; + description + "Use initial burst mode"; + } + leaf source { + type xr:Interface-name; + description + "Interface for source address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IPv6 address (must be same as key node 'address')"; + } + } + } + container vrfs { + description + "Specify non-default VRF"; + list vrf { + key "vrf-name"; + description + "Specify non-default VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Non-default VRF of peer"; + } + } + description + "Specify non-default VRF"; + } + container ipv4 { + description + "Specify IPv4 address"; + list ipv4-peer-server { + key "address type"; + description + "Specify IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Peer/server address"; + } + leaf type { + type enumeration { + enum "peer" { + value 0; + description + "Configure peer address"; + } + enum "server" { + value 1; + description + "Configure server address"; + } + } + description + "Specify peer/server"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Peer key number"; + } + } + description + "Configure peer authentication key"; + } + leaf minpoll { + type uint32 { + range "4..5|7..17" { + description + "Minimum poll rate, default 6, less than maxpoll"; + } + } + description + "Configure minimum polling rate"; + } + leaf maxpoll { + type uint32 { + range "4..9|11..17" { + description + "Maximum poll rate, default 10, greater than minpoll"; + } + } + description + "Configure maximum polling rate"; + } + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer this peer when possible"; + } + container burst { + presence "Indicates a burst node is configured."; + description + "Use burst mode"; + } + container iburst { + presence "Indicates a iburst node is configured."; + description + "Use initial burst mode"; + } + leaf source { + type xr:Interface-name; + description + "Interface for source address"; + } + } + } + container ipv6 { + description + "Specify IPv6 address"; + list ipv6-peer-server { + must "address = ipv6-address"; + key "address type"; + description + "Specify IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Peer/server address"; + } + leaf type { + type enumeration { + enum "peer" { + value 0; + description + "Configure peer address"; + } + enum "server" { + value 1; + description + "Configure server address"; + } + } + description + "Specify peer/server"; + } + leaf version { + type uint32 { + range "2..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Peer key number"; + } + } + description + "Configure peer authentication key"; + } + leaf minpoll { + type uint32 { + range "4..5|7..17" { + description + "Minimum poll rate, default 6, less than maxpoll"; + } + } + description + "Configure minimum polling rate"; + } + leaf maxpoll { + type uint32 { + range "4..9|11..17" { + description + "Maximum poll rate, default 10, greater than minpoll"; + } + } + description + "Configure maximum polling rate"; + } + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer this peer when possible"; + } + container burst { + presence "Indicates a burst node is configured."; + description + "Use burst mode"; + } + container iburst { + presence "Indicates a iburst node is configured."; + description + "Use initial burst mode"; + } + leaf source { + type xr:Interface-name; + description + "Interface for source address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IPv6 address (must be same as key node 'address')"; + } + } + } + } + } + } + container trusted-keys { + description + "Key numbers for trusted time sources"; + list trusted-key { + key "key-number"; + description + "Key numbers for trusted time sources"; + leaf key-number { + type uint32 { + range "1..65535" { + description + "Key number"; + } + } + description + "Key numbers for trusted time sources"; + } + } + } + container update-calendar { + presence "Indicates a update-calendar node is configured."; + description + "Periodically update calendar with NTP time"; + } + container log-internal-sync { + presence "Indicates a log-internal-sync node is configured."; + description + "Logs internal synchronization changes"; + } + container passive { + presence "Indicates a passive node is configured."; + description + "Enable the passive associations"; + } + container source { + description + "Configure default interface"; + leaf interface-name { + type xr:Interface-name; + description + "default interface"; + } + container vrfs { + description + "Specify non-default VRF"; + list vrf { + key "vrf-name"; + description + "Specify non-default VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Non-default VRF for the interface"; + } + } + description + "Specify non-default VRF"; + } + leaf interface-name { + type xr:Interface-name; + mandatory true; + description + "default interface for the VRF"; + } + } + } + } + container admin-plane { + presence "Indicates a admin-plane node is configured."; + description + "Configure admin plane as peer/server"; + leaf version { + type uint32 { + range "1..4" { + description + "NTP version number"; + } + } + description + "Configure NTP version"; + } + leaf key { + type uint32 { + range "1..65535" { + description + "Peer key number"; + } + } + description + "Configure peer authentication key"; + } + leaf minpoll { + type uint32 { + range "4..17" { + description + "Minimum poll rate, default 6, less than maxpoll"; + } + } + description + "Configure minimum polling rate"; + } + leaf maxpoll { + type uint32 { + range "4..17" { + description + "Maximum poll rate, default 10, greater than minpoll"; + } + } + description + "Configure maximum polling rate"; + } + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer this peer when possible"; + } + container burst { + presence "Indicates a burst node is configured."; + description + "Use burst mode"; + } + container iburst { + presence "Indicates a iburst node is configured."; + description + "Use initial burst mode"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-object-group-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-object-group-cfg.yang new file mode 100644 index 000000000..3d972d968 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-object-group-cfg.yang @@ -0,0 +1,671 @@ +module Cisco-IOS-XR-um-object-group-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-object-group-cfg"; + prefix um-object-group-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR object-group package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-07 { + description + "Changed type of starting-port and ending-port to allow port number range"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-02 { + description + "Initial version"; + } + + feature object-group-udf-supported { + description + "UDF configuration supported within this model"; + } + + typedef port-numbers { + type enumeration { + enum "echo" { + value 7; + description + "Echo (7)"; + } + enum "discard" { + value 9; + description + "Discard (9)"; + } + enum "daytime" { + value 13; + description + "Daytime (13)"; + } + enum "chargen" { + value 19; + description + "Character generator (19)"; + } + enum "ftp-data" { + value 20; + description + "FTP data connections (used infrequently, 20)"; + } + enum "ftp" { + value 21; + description + "File Transfer Protocol (21)"; + } + enum "ssh" { + value 22; + description + "Secure Shell (22)"; + } + enum "telnet" { + value 23; + description + "Telnet (23)"; + } + enum "smtp" { + value 25; + description + "Simple Mail Transport Protocol (25)"; + } + enum "time" { + value 37; + description + "Time (37)"; + } + enum "whois" { + value 43; + description + "Nicname (43)"; + } + enum "tacacs" { + value 49; + description + "TAC Access Control System (49)"; + } + enum "domain" { + value 53; + description + "Domain Name Service (53)"; + } + enum "gopher" { + value 70; + description + "Gopher (70)"; + } + enum "finger" { + value 79; + description + "Finger (79)"; + } + enum "www" { + value 80; + description + "World Wide Web (HTTP, 80)"; + } + enum "hostname" { + value 101; + description + "NIC hostname server (101)"; + } + enum "pop2" { + value 109; + description + "Post Office Protocol v2 (109)"; + } + enum "pop3" { + value 110; + description + "Post Office Protocol v3 (110)"; + } + enum "sunrpc" { + value 111; + description + "Sun Remote Procedure Call (111)"; + } + enum "ident" { + value 113; + description + "Ident Protocol (113)"; + } + enum "nntp" { + value 119; + description + "Network News Transport Protocol (119)"; + } + enum "bgp" { + value 179; + description + "Border Gateway Protocol (179)"; + } + enum "irc" { + value 194; + description + "Internet Relay Chat (194)"; + } + enum "pim-auto-rp" { + value 496; + description + "PIM Auto-RP (496)"; + } + enum "exec" { + value 512; + description + "Exec (rsh, 512)"; + } + enum "login" { + value 513; + description + "Login (rlogin, 513)"; + } + enum "cmd" { + value 514; + description + "Remote commands (rcmd, 514)"; + } + enum "lpd" { + value 515; + description + "Printer service (515)"; + } + enum "talk" { + value 517; + description + "Talk (517)"; + } + enum "uucp" { + value 540; + description + "Unix-to-Unix Copy Program (540)"; + } + enum "klogin" { + value 543; + description + "Kerberos login (543)"; + } + enum "kshell" { + value 544; + description + "Kerberos shell (544)"; + } + enum "ldp" { + value 646; + description + "LDP session connection attempts (MPLS, 646)"; + } + } + } + + typedef Port-operator { + type enumeration { + enum "eq" { + value 0; + description + "Match packets on ports equal to entered port + number"; + } + enum "neq" { + value 1; + description + "Match packets on ports not equal to entered + port number"; + } + enum "gt" { + value 2; + description + "Match packets on ports greater than entered + port number"; + } + enum "lt" { + value 3; + description + "Match packets on ports less than entered port + number"; + } + } + description + "Port operator"; + } + + typedef Port { + type union { + type port-numbers; + type uint32 { + range "0..65535"; + } + } + description + "Port"; + } + + container object-group { + description + "Object-group configuration"; + container network { + description + "Network object group"; + container ipv4s { + description + "IPv4 object group"; + list ipv4 { + key "ipv4-object-group-name"; + description + "IPv4 object group"; + leaf ipv4-object-group-name { + type string { + length "1..64" { + description + "IPv4 object group name - maximum 64 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "IPv4 object group"; + } + leaf description { + type string { + length "1..100" { + description + "Up to 100 characters describing this object"; + } + } + description + "Description for the object group"; + } + container hosts { + description + "A single host address"; + list host { + key "host-address"; + description + "A single host address"; + leaf host-address { + type inet:ipv4-address-no-zone; + description + "A single host address"; + } + } + } + container object-groups { + description + "Nested object group"; + list object-group { + key "object-group-name"; + description + "Nested object group"; + leaf object-group-name { + type string { + length "1..64" { + description + "Nested object group"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "Nested object group"; + } + } + } + container ranges { + description + "Range of host addresses"; + list range { + key "starting-address ending-address"; + description + "Range of host addresses"; + leaf starting-address { + type inet:ipv4-address-no-zone; + description + "Range of host addresses - start address"; + } + leaf ending-address { + type inet:ipv4-address-no-zone; + description + "Range of host addresses - end address"; + } + } + } + container ip-addresses { + description + "IPv4 address/prefix"; + list ip-address { + key "address length"; + description + "IPv4 address/prefix"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv4 address/prefix"; + } + leaf length { + type xr:Ipv4-prefix-length; + description + "IPv4 address/prefix length"; + } + } + } + } + } + container ipv6s { + description + "IPv6 object group"; + list ipv6 { + key "ipv6-object-group-name"; + description + "IPv6 object group"; + leaf ipv6-object-group-name { + type string { + length "1..64" { + description + "IPv6 object group name - maximum 64 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "IPv6 object group"; + } + leaf description { + type string { + length "1..100" { + description + "Up to 100 characters describing this object"; + } + } + description + "Description for the object group"; + } + container hosts { + description + "A single host address"; + list host { + key "host-address"; + description + "A single host address"; + leaf host-address { + type inet:ipv6-address-no-zone; + description + "A single host address"; + } + } + } + container object-groups { + description + "nested object group"; + list object-group { + key "object-group-name"; + description + "nested object group"; + leaf object-group-name { + type string { + length "1..64" { + description + "Enter the name of a nested object group"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "nested object group"; + } + } + } + container ranges { + description + "Range of host addresses"; + list range { + key "starting-address ending-address"; + description + "Range of host addresses"; + leaf starting-address { + type inet:ipv6-address-no-zone; + description + "Range of host addresses - Starting Address"; + } + leaf ending-address { + type inet:ipv6-address-no-zone; + description + "Range of host addresses - Ending Address"; + } + } + } + container ip-addresses { + description + "IPv6 prefix x:x::x/y"; + list ip-address { + key "address length"; + description + "IPv6 prefix x:x::x/y"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 prefix x:x::x/y"; + } + leaf length { + type xr:Ipv6-prefix-length; + description + "IPv6 prefix length"; + } + } + } + } + } + } + container ports { + description + "Port object group"; + list port { + key "port-object-group-name"; + description + "Port object group"; + leaf port-object-group-name { + type string { + length "1..64" { + description + "Port object group name - maximum 64 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "Port object group"; + } + leaf description { + type string { + length "1..100" { + description + "Up to 100 characters describing this object"; + } + } + description + "description for the object group"; + } + container object-groups { + description + "nested object group"; + list object-group { + key "object-group-name"; + description + "nested object group"; + leaf object-group-name { + type string { + length "1..64" { + description + "Name of a nested object group"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "nested object group"; + } + } + } + container ranges { + description + "Match only packets on a given port range"; + list range { + key "starting-port ending-port"; + description + "Match only packets on a given port range"; + leaf starting-port { + type Port; + description + "Match only packets on a given port range"; + } + leaf ending-port { + type Port; + description + "Match only packets on a given port range"; + } + } + } + container match-criterias { + description + "Match packets on ports according to match criteria"; + list match-criteria { + key "match-criteria-type port"; + description + "Match packets on ports according to match criteria"; + leaf match-criteria-type { + type Port-operator; + description + "Match packets on ports according to match criteria"; + } + leaf port { + type Port; + description + "port number for the match criteria"; + } + } + } + } + } + } + container udfs { + if-feature "object-group-udf-supported"; + description + "UDF configuration"; + list udf { + key "udf-name"; + description + "UDF configuration"; + leaf udf-name { + type string { + length "1..16" { + description + "UDF name - maximum 16 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "UDF configuration"; + } + container header { + presence "Indicates a header node is configured."; + description + "Header for UDF"; + leaf header-type { + type enumeration { + enum "inner" { + value 0; + description + "Inner header for UDF"; + } + enum "outer" { + value 1; + description + "Outer header for UDF"; + } + } + mandatory true; + description + "Header for UDF"; + } + container udf-layer { + presence "Indicates a udf-layer node is configured."; + description + "configure the udf-layer"; + leaf udf-layer-type { + type enumeration { + enum "l2" { + value 0; + description + "L2 layer for UDF"; + } + enum "l3" { + value 1; + description + "L3 layer for UDF"; + } + enum "l4" { + value 2; + description + "L4 layer for UDF"; + } + } + mandatory true; + description + "configure the udf-layer"; + } + container offset { + presence "Indicates a offset node is configured."; + description + "Configure the offset (bytes) in the header"; + leaf offset-value { + type uint32 { + range "0..65535" { + description + "Configure the offset value (bytes)"; + } + } + mandatory true; + description + "Configure the offset (bytes) in the header"; + } + leaf length { + type uint32 { + range "0..65535" { + description + "Configure the length (bytes)"; + } + } + mandatory true; + description + "Configure the length (bytes) in the header"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-password6-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-password6-cfg.yang new file mode 100644 index 000000000..7dc769a73 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-password6-cfg.yang @@ -0,0 +1,56 @@ +module Cisco-IOS-XR-um-password6-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-password6-cfg"; + prefix um-password6-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR password6 package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature type6_parser_check_input_type_with_platform_aes_msg { + description + "type6 parser check input type with platform aes msg"; + } + + container password6 { + description + "Configure a key password"; + container encryption { + description + "Configure a key encryption"; + container aes { + if-feature "type6_parser_check_input_type_with_platform_aes_msg"; + presence "Indicates a aes node is configured."; + description + "Configure a key type aes"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-cfg.yang new file mode 100644 index 000000000..b889019a0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-cfg.yang @@ -0,0 +1,114 @@ +module Cisco-IOS-XR-um-pbr-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-pbr-cfg"; + prefix um-pbr-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-subscriber-cfg { + prefix a2; + } + import Cisco-IOS-XR-um-dynamic-template-cfg { + prefix a3; + } + import Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg { + prefix a4; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pbr package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping TEMPLATE-BODY { + container type { + description + "Configure PBR Service policy"; + leaf pbr { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "PBR Service policy"; + } + } + } + + augment "/a2:subscriber" { + container http-enrichment { + description + "Enable http-enrichment"; + leaf-list parameter-list { + type enumeration { + enum "subscriber-mac" { + value 1; + description + "BNG identifier interface"; + } + enum "subscriber-ip" { + value 2; + description + "Subscriber ipv4 and ipv6 address"; + } + enum "hostname" { + value 4; + description + "BNG hostname"; + } + enum "bng-interface" { + value 8; + description + "BNG identifier interface"; + } + } + max-elements "4"; + description + "http-enrichment parameter list"; + } + } + leaf bng-interface { + type xr:Interface-name; + description + "BNG identifier interface"; + } + } + augment "/a3:dynamic-template/a3:type/a3:ppp/a3:template/a4:service-policy" { + uses TEMPLATE-BODY; + } + augment "/a3:dynamic-template/a3:type/a3:ipsubscriber/a3:template/a4:service-policy" { + uses TEMPLATE-BODY; + } + augment "/a3:dynamic-template/a3:type/a3:service/a3:template/a4:service-policy" { + uses TEMPLATE-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-policy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-policy-cfg.yang new file mode 100644 index 000000000..e9634e264 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pbr-policy-cfg.yang @@ -0,0 +1,735 @@ +module Cisco-IOS-XR-um-pbr-policy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-pbr-policy-cfg"; + prefix um-pbr-policy-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pbr package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container service-policy { + description + "Configure a service policy"; + container type { + description + "service policy type"; + container pbr { + description + "Policy based routing Service policy"; + container inputs { + description + "Configure a policy in the input direction"; + list input { + key "service-policy-name"; + description + "Configure a policy in the input direction"; + leaf service-policy-name { + type string { + length "1..800" { + description + "Name of the service policy"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "Configure a policy in the input direction"; + } + } + } + } + } + } + container ipv4 { + description + "IPv4 interface subcommands"; + container vrf-policy { + description + "vrf policy"; + container type { + description + "type of policy"; + container pbr { + description + "Policy based routing"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable ipv4 vrf-policy type pbr. "; + } + } + } + } + } + container ipv6 { + description + "IPv6 interface subcommands"; + container vrf-policy { + description + "vrf policy"; + container type { + description + "type of policy"; + container pbr { + description + "Policy based routing Service policy"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable ipv6 vrf-policy type pbr. "; + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container service-policy { + description + "Configure global service policy"; + container apply-order { + description + "Configure service policy ordering"; + container pbr { + description + "Policy based routing"; + container qos { + must "not(../../qos/pbr)"; + presence "Indicates a qos node is configured."; + description + "Quality of service"; + } + } + container qos { + description + "Quality of service"; + container pbr { + must "not(../../pbr/qos)"; + presence "Indicates a pbr node is configured."; + description + "Policy based routing"; + } + } + } + } + container vrf-policy { + presence "Indicates a vrf-policy node is configured."; + description + "vrf policy configuration"; + container vrfs { + description + "associated vrf of the policy"; + list vrf { + must "address-family/ipv4/policy/type/pbr/input or address-family/ipv6/policy/type/pbr/input"; + key "vrf-name"; + description + "associated vrf of the policy"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF Name"; + } + } + description + "associated vrf of the policy"; + } + container address-family { + description + "Address Family Identifier Type (IPv4/IPv6)"; + container ipv4 { + description + "IPv4 Policy"; + container policy { + description + "Policy Name"; + container type { + description + "Type of the policy"; + container pbr { + description + "policy type pbr"; + leaf input { + type string { + length "1..800" { + description + "Policy map name"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "direction of the policy applied"; + } + } + } + } + } + container ipv6 { + description + "IPv6 Policy"; + container policy { + description + "Policy Name"; + container type { + description + "Type of the policy"; + container pbr { + description + "policy type pbr"; + leaf input { + type string { + length "1..800" { + description + "Policy map name"; + } + pattern "[a-zA-Z0-9][a-zA-Z0-9._@$%+#:=<>-]{0,62}"; + } + description + "direction of the policy applied"; + } + } + } + } + } + } + } + } + } + container service-node { + description + "configure service node"; + container type { + description + "type of service node"; + container vpath { + presence "Indicates a vpath node is configured."; + description + "Specify service node type as vpath"; + container indexes { + description + "Specify index of service node"; + list index { + key "service-node-index"; + description + "Specify index of service node"; + leaf service-node-index { + type uint32 { + range "1..65535" { + description + "Specify the index of service node"; + } + } + description + "Specify index of service node"; + } + } + } + } + container output { + presence "Indicates a output node is configured."; + description + "Specify service node type as output"; + container indexes { + description + "Specify index of service node"; + list index { + key "service-node-index"; + description + "Specify index of service node"; + leaf service-node-index { + type uint32 { + range "1..65535" { + description + "Specify the index of service node"; + } + } + description + "Specify index of service node"; + } + } + } + } + } + } + container service-function-chaining { + presence "Indicates a service-function-chaining node is configured."; + description + "configure service function chaining"; + container paths { + description + "Configure service function path"; + list path { + key "service-function-path-id"; + description + "Specify the service function path id"; + leaf service-function-path-id { + type uint32 { + range "1..16777215" { + description + "Specify the service function path id"; + } + } + description + "Specify the service function path id"; + } + container functions { + description + "Specify the id of service function"; + list function { + must "sf/service-functions/service-function or sff/service-functions/service-function or terminate/default-action/redirect"; + key "service-function-id"; + description + "Specify the id of service function"; + leaf service-function-id { + type uint32 { + range "1..255" { + description + "Specify the id of service function"; + } + } + description + "Specify the id of service function"; + } + container sf { + description + "service function"; + container service-functions { + description + "service function name"; + list service-function { + key "service-function-name"; + description + "service function name"; + leaf service-function-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "service function name"; + } + } + description + "service function name"; + } + } + } + } + container sff { + description + "service function forwarder"; + container service-functions { + description + "service function name"; + list service-function { + key "service-function-name"; + description + "service function name"; + leaf service-function-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "service function name"; + } + } + description + "service function name"; + } + } + } + } + container terminate { + description + "Configure terminate"; + leaf metadata-disposition { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "metadata-disposition name"; + } + } + must "../default-action/redirect"; + description + "Specify metadata-disposition name"; + } + container default-action { + description + "Configure the default action for service function path"; + container redirect { + must "ipv4/nexthop or ipv4/vrf"; + presence "Indicates a redirect node is configured."; + description + "Configure redirect action"; + container ipv4 { + description + "Enter ipv4 configuration"; + leaf nexthop { + type inet:ipv4-address-no-zone; + description + "Configure the nexthop action"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Redirect to default vrf"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Enter VRF name"; + } + } + } + description + "Enter vrf name for the nexthop"; + } + } + } + } + } + } + } + } + } + container sfs { + description + "service function"; + list sf { + key "sf-name"; + description + "service function"; + leaf sf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "service function name"; + } + } + description + "service function"; + } + container locators { + description + "Specify service function locator id"; + list locator { + key "locator-id"; + description + "Specify service function locator id"; + leaf locator-id { + type uint32 { + range "1..255" { + description + "Specify locator id"; + } + } + description + "Specify service function locator id"; + } + container transport { + description + "Choose SFL transport"; + container vxlan-gpe { + description + "transport vxlan-gpe"; + container source-address { + description + "Local IP address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "setup IPv4 path"; + } + } + container destination-address { + description + "Remote IP address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "setup IPv4 path"; + } + } + leaf vni { + type uint32 { + range "1..65535" { + description + "Enter vni value"; + } + } + description + "vni value"; + } + } + } + } + } + } + } + container sffs { + description + "service function forwarder"; + list sff { + key "sff-name"; + description + "service function forwarder"; + leaf sff-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "service function name"; + } + } + description + "service function forwarder"; + } + container locators { + description + "Specify service function locator id"; + list locator { + key "locator-id"; + description + "Specify service function locator id"; + leaf locator-id { + type uint32 { + range "1..255" { + description + "Specify locator id"; + } + } + description + "Specify service function locator id"; + } + container transport { + description + "Choose SFL transport"; + container vxlan-gpe { + description + "transport vxlan-gpe"; + container source-address { + description + "Local IP address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "setup IPv4 path"; + } + } + container destination-address { + description + "Remote IP address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "setup IPv4 path"; + } + } + leaf vni { + type uint32 { + range "1..65535" { + description + "Enter vni value"; + } + } + description + "vni value"; + } + } + } + } + } + } + } + container metadata-impositions { + description + "metadata imposition"; + list metadata-imposition { + key "metadata-profile-name"; + description + "metadata imposition"; + leaf metadata-profile-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "metadata profile name"; + } + } + description + "metadata imposition"; + } + container type { + description + "Specify metadata type"; + container one { + description + "Type 1 metadata"; + container format { + description + "Specify metadata format"; + container dc-allocation { + description + "format dc-allocation"; + leaf tenant-id { + type uint32 { + range "1..16777215" { + description + "Enter 24-bit tenant id"; + } + } + description + "Specify tenant id"; + } + } + } + } + } + } + } + container metadata-dispositions { + description + "metadata disposition"; + list metadata-disposition { + key "service-disposition-name"; + description + "metadata disposition"; + leaf service-disposition-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "specify service disposition name"; + } + } + description + "metadata disposition"; + } + container type { + description + "Specify disposition allocation type"; + container one { + description + "Allocation format Type 1 "; + container format { + description + "Specify allocation format"; + container dc-allocation { + description + "data center allocation"; + container match-entries { + description + "Specify the match entry name"; + list match-entry { + key "match-entry-name"; + description + "Specify the match entry name"; + leaf match-entry-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "match-entry name"; + } + } + description + "Specify the match entry name"; + } + container tenant { + description + "Specify the tenant-ids"; + leaf tenant-id { + type uint32 { + range "0..4294967295" { + description + "tenant id"; + } + } + description + "tenant id"; + } + container redirect { + must "ipv4/nexthop/ipv4-address or ipv4/nexthop/vrf"; + description + "Configure redirect action"; + container ipv4 { + description + "Enter ipv4 configuration"; + container nexthop { + description + "Enter nexthop configuration"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Configure the nexthop action"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Redirect to default vrf"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Enter VRF name"; + } + } + } + description + "Enter vrf name for the nexthop"; + } + } + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-pce-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pce-cfg.yang new file mode 100644 index 000000000..7abf6cb48 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pce-cfg.yang @@ -0,0 +1,2889 @@ +module Cisco-IOS-XR-um-pce-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-pce-cfg"; + prefix um-pce-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pce package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-12 { + description + "Added must statement under the list index"; + semver:module-version "2.0.0"; + } + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container pce { + presence "Indicates a pce node is configured."; + description + "Path Computation Server configurations"; + container constraints { + description + "Assign constraints for the computed paths"; + container bounds { + description + "Assign bounds for the path"; + container cumulative { + description + "Cumulative metric bound"; + container type { + description + "The metric type for the bound"; + leaf latency { + type uint32 { + range "1..4294967295" { + description + "Bound metric value in microseconds"; + } + } + description + "Bound metric type latency"; + } + } + } + } + } + container address { + description + "Address of PCE server"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + } + container state-sync { + description + "Forward received reports to other PCE"; + container ipv4s { + description + "IPv4 address"; + list ipv4 { + key "address"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + } + container ipv6s { + description + "IPv6 address"; + list ipv6 { + key "address"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + } + } + } + container tcp-buffer { + description + "TCP buffer configuration"; + leaf size { + type uint32 { + range "204800..1024000" { + description + "Maximum size of event-buffer, default is 256000"; + } + } + description + "Size of buffer in bytes"; + } + } + container password { + description + "Configure global password for MD5 authentication"; + leaf encrypted { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Encrypted password string"; + } + } + description + "Specify unencrypted password"; + } + } + container tcp-ao { + presence "Indicates a tcp-ao node is configured."; + description + "Configure global AO keychain based authentication"; + leaf key-chain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + mandatory true; + description + "Configure global AO keychain based authentication"; + } + container include-tcp-options { + presence "Indicates a include-tcp-options node is configured."; + description + "Include other TCP options in the header"; + } + container accept-ao-mismatch-connection { + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if Authentication Option mismatched"; + } + } + container trace { + description + "Configure PCE trace options"; + container buffer { + description + "PCE Trace buffers"; + container all { + description + "All buffers control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container common { + description + "Common buffer control"; + container gen-error { + description + "Common generic error buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container lslib { + description + "lslib trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container cspf { + description + "cspf trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container topo { + description + "topo trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container mempool { + description + "mempool trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container pcep { + description + "pcep trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container timing { + description + "timing trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + } + container error { + description + "Error buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container gen-error { + description + "Generic error buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container cfg { + description + "Configuration buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container rest { + description + "Rest buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container treesid { + description + "Treesid buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container pcep-lsp { + description + "PCEP lsp buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container pcep-peer { + description + "PCEP peer buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container policy { + description + "Policy buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container cmn-codeflow { + description + "code flow buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + } + } + container disjoint-path { + presence "Indicates a disjoint-path node is configured."; + description + "Disjoint Path Configuration"; + container group-ids { + description + "Group ID"; + list group-id { + key "group-id"; + description + "Group ID"; + leaf group-id { + type uint32 { + range "1..65535" { + description + "Group ID"; + } + } + description + "Group ID"; + } + container type { + description + "Disjointness type"; + container link { + description + "Link Disjointness"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable Link Disjointness"; + } + container sub-ids { + description + "Sub ID"; + list sub-id { + key "sub-id"; + description + "Sub ID"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Sub ID"; + } + } + description + "Sub ID"; + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + container node { + description + "Node Disjointness"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable Node Disjointness"; + } + container sub-ids { + description + "Sub ID"; + list sub-id { + key "sub-id"; + description + "Sub ID"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Sub ID"; + } + } + description + "Sub ID"; + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + container srlg { + description + "SRLG Disjointness"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable SRLG Disjointness"; + } + container sub-ids { + description + "Sub ID"; + list sub-id { + key "sub-id"; + description + "Sub ID"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Sub ID"; + } + } + description + "Sub ID"; + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + container srlg-node { + description + "SRLG Node Disjointness"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable SRLG Node Disjointness"; + } + container sub-ids { + description + "Sub ID"; + list sub-id { + key "sub-id"; + description + "Sub ID"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Sub ID"; + } + } + description + "Sub ID"; + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + } + container lsp { + description + "Configure lsps in the association"; + container one { + description + "Configure first lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + container two { + description + "Configure second lsp in the association"; + container pcc { + presence "Indicates a pcc node is configured."; + description + "PCC address"; + leaf address-type { + type enumeration { + enum "ipv4" { + value 1; + description + "IPV4 address"; + } + enum "ipv6" { + value 2; + description + "IPV6 address"; + } + } + mandatory true; + description + "Address type"; + } + leaf ip-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IP address of PCC"; + } + leaf lsp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Identifying name for LSP"; + } + } + mandatory true; + description + "Name of label switched path"; + } + container shortest-path { + presence "Indicates a shortest-path node is configured."; + description + "Set LSP to follow shortest-path"; + } + leaf exclude-srlg { + type uint32 { + range "1..4294967295" { + description + "SRLG value to be excluded from LSP"; + } + } + description + "Exclude SRLG"; + } + } + } + } + container strict { + presence "Indicates a strict node is configured."; + description + "Disable Fallback"; + } + } + } + } + } + leaf maximum-attempts { + type uint32 { + range "1..100000" { + description + "Maximum number of attempts"; + } + } + description + "Maximum number of attempts during disjoint path computation (default: 1000)"; + } + } + container peer { + description + "Peer Configuration"; + container ipv4s { + description + "IPv4 address family"; + list ipv4 { + key "address"; + description + "IPv4 address family"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address family"; + } + container password { + description + "Configure peer password for MD5 authentication"; + leaf encrypted { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Encrypted password string"; + } + } + description + "Specify unencrypted password"; + } + } + container tcp-ao { + presence "Indicates a tcp-ao node is configured."; + description + "Configure AO keychain based authentication"; + leaf key-chain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + mandatory true; + description + "Configure AO keychain based authentication"; + } + container include-tcp-options { + presence "Indicates a include-tcp-options node is configured."; + description + "Include other TCP options in the header"; + } + container accept-ao-mismatch-connection { + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if Authentication Option mismatched"; + } + } + } + } + container ipv6s { + description + "IPv6 address family"; + list ipv6 { + key "address"; + description + "IPv6 address family"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address family"; + } + container password { + description + "Configure peer password for MD5 authentication"; + leaf encrypted { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Encrypted password string"; + } + } + description + "Specify unencrypted password"; + } + } + container tcp-ao { + presence "Indicates a tcp-ao node is configured."; + description + "Configure AO keychain based authentication"; + leaf key-chain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + mandatory true; + description + "Configure AO keychain based authentication"; + } + container include-tcp-options { + presence "Indicates a include-tcp-options node is configured."; + description + "Include other TCP options in the header"; + } + container accept-ao-mismatch-connection { + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if Authentication Option mismatched"; + } + } + } + } + } + container netconf { + presence "Indicates a netconf node is configured."; + description + "NETCONF Configuration"; + container ssh { + description + "SSH configuration used by Netconf"; + leaf user { + type string { + length "1..800" { + description + "SSH username"; + } + } + description + "Specify SSH username that will be used to log on to routers"; + } + container password { + description + "Configure password for Netconf SSH"; + leaf encrypted { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Encrypted password string"; + } + } + description + "Specify unencrypted password"; + } + } + } + } + container api { + presence "Indicates a api node is configured."; + description + "Northbound API Configuration"; + container authentication { + description + "Configure desired REST authentication"; + container digest { + presence "Indicates a digest node is configured."; + description + "Use HTTP Digest authentication (MD5)"; + } + } + container sibling { + description + "Sibling PCE"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the PCE sibling"; + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..33" { + description + "VRF name"; + } + } + description + "VRF for northbound API and PCE sibling connections."; + } + container users { + description + "Northbound API username"; + list user { + key "user-name"; + description + "Northbound API username"; + leaf user-name { + type string { + length "1..800" { + description + "Username for the northbound API"; + } + } + description + "Northbound API username"; + } + container password { + description + "Configure password for API username"; + leaf encrypted { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Encrypted password string"; + } + } + description + "Specify unencrypted password"; + } + } + } + } + container ipv4 { + description + "IPv4 specific configuration"; + leaf address { + type inet:ipv4-address-no-zone; + description + "NB-API server IPv4 address"; + } + } + container ipv6 { + description + "IPv6 specific configuration"; + leaf address { + type inet:ipv6-address-no-zone; + description + "NB-API server IPv6 address"; + } + } + } + container timers { + description + "PCE timers configuration"; + leaf reoptimization { + type uint32 { + range "600..86400" { + description + "Timer value in seconds; default is 1800"; + } + } + description + "Topology reoptimization interval"; + } + leaf keepalive { + type uint32 { + range "0..255" { + description + "Time value in seconds. Use zero to disable; default is 30"; + } + } + description + "Keepalive interval"; + } + leaf minimum-peer-keepalive { + type uint32 { + range "0..255" { + description + "Time value in seconds. Use zero to disable; default is 20"; + } + } + description + "Minimum acceptable peer proposed keepalive interval"; + } + leaf peer-zombie { + type uint32 { + range "0..3600" { + description + "Timer value in seconds 0-3600. Use 0 to disable. Default is 60."; + } + } + description + "Keep LSP peer in zombie state after disconnect"; + } + leaf init-verify-restart { + type uint32 { + range "10..10000" { + description + "Time value in seconds. Default is 40"; + } + } + description + "Timer to wait for topology convergence after topology starts populating for restart case"; + } + leaf init-verify-switchover { + type uint32 { + range "10..10000" { + description + "Time value in seconds. Default is 60"; + } + } + description + "Timer to wait for topology convergence after topology starts populating for switchover case"; + } + leaf init-verify-startup { + type uint32 { + range "10..10000" { + description + "Time value in seconds. Default is 120"; + } + } + description + "Timer to wait for topology convergence after topology starts populating for startup case"; + } + } + container backoff { + description + "PCE backoff configuration"; + leaf ratio { + type uint32 { + range "0..255" { + description + "Backoff common ratio; default is 2"; + } + } + description + "Backoff common ratio"; + } + leaf difference { + type uint32 { + range "0..255" { + description + "Backoff common difference; default is 2"; + } + } + description + "Backoff common difference"; + } + leaf threshold { + type uint32 { + range "0..3600" { + description + "Threshold value in seconds. Use zero to disable; default is 0"; + } + } + description + "Backoff threshold"; + } + } + container logging { + description + "PCE logging configuration"; + container no-path { + presence "Indicates a no-path node is configured."; + description + "logging no-path messages"; + } + container fallback { + presence "Indicates a fallback node is configured."; + description + "logging fallback messages"; + } + container pcep { + description + "Path Computation Element Protocol (PCEP) logging"; + container pcerr-received { + presence "Indicates a pcerr-received node is configured."; + description + "logging of received PCErr messages"; + } + container api { + description + "API logging configuration"; + container send-queue-congestion { + description + "logging of peer send queue related messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable messages"; + } + } + } + container disjointness-status { + presence "Indicates a disjointness-status node is configured."; + description + "logging of disjointness status related messages"; + } + } + } + container segment-routing { + description + "PCE segment-routing configuration"; + container strict-sid-only { + presence "Indicates a strict-sid-only node is configured."; + description + "Use strict sids only"; + } + container traffic-eng { + presence "Indicates a traffic-eng node is configured."; + description + "Segment Routing Traffic Engineering"; + container affinity { + description + "Affinity configuration"; + container bit-map { + description + "Affinity attribute value to color mapping"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + leaf affinity-attribute-bit { + type uint32 { + range "0..255" { + description + "Affinity attribute bit position"; + } + } + mandatory true; + description + "Affinity attribute bit position"; + } + } + } + } + } + container segment-lists { + description + "Segment-list configuration"; + list segment-list { + key "segment-list-name"; + description + "Segment-list name"; + leaf segment-list-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Identifying name for segment-list with max 128 characters"; + } + } + description + "Segment-list name"; + } + container indexes { + description + "Next entry index"; + list index { + must "mpls/label or mpls/adjacency"; + key "index-number"; + description + "Next entry index"; + leaf index-number { + type uint32 { + range "1..65535" { + description + "Index number"; + } + } + description + "Next entry index"; + } + container mpls { + description + "MPLS configuration"; + leaf label { + type uint32 { + range "0..1048575" { + description + "MPLS label value"; + } + } + must "not(../adjacency)"; + description + "MPLS label configuration"; + } + leaf adjacency { + type inet:ip-address-no-zone; + must "not(../label)"; + description + "Specify hop address"; + } + } + } + } + } + } + container peer { + description + "PCEP peer to configure"; + container ipv4s { + description + "IPv4 address of the PCEP peer"; + list ipv4 { + key "address"; + description + "IPv4 address of the PCEP peer"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of the PCEP peer"; + } + container policies { + description + "Name of SR-TE Policy"; + list policy { + key "policy-name"; + description + "Name of SR-TE Policy"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Identifying name for policy with max 128 characters"; + } + } + description + "Name of SR-TE Policy"; + } + container candidate-paths { + presence "Indicates a candidate-paths node is configured."; + description + "Candidate-paths configuration"; + container append-sid { + description + "Append specified SID to the currently used path"; + leaf mpls { + type uint32 { + range "1..1048575" { + description + "MPLS label"; + } + } + description + "MPLS label"; + } + } + container preferences { + description + "Policy path-option preference entry"; + list preference { + key "preference-id"; + description + "Policy path-option preference entry"; + leaf preference-id { + type uint32 { + range "1..65535" { + description + "Path-option preference"; + } + } + description + "Policy path-option preference entry"; + } + container dynamic { + description + "Dynamically allocated path"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "MPLS path type"; + container metric { + presence "Indicates a metric node is configured."; + description + "Path metric configuration"; + container type { + description + "Metric type configuration"; + container te { + must + "not(../igp or ../hopcount + or ../latency)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container igp { + must + "not(../te or ../hopcount + or ../latency)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container hopcount { + must + "not(../te or ../igp + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "Hopcount metric type"; + } + container latency { + must + "not(../te or ../igp + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "Latency metric type"; + } + } + leaf sid-limit { + type uint32 { + range "1..255" { + description + "SID limit value"; + } + } + description + "SID limit"; + } + } + } + } + container explicit { + description + "Preconfigured path"; + container segment-list { + description + "Specify Segment-list"; + } + container segment-list-names { + description + "Identifying name for Segment-list"; + list segment-list-name { + key "segment-list-name"; + description + "Identifying name for Segment-list"; + leaf segment-list-name { + type string { + length "1..128" { + description + "Identifying name for Segment-list"; + } + } + description + "Identifying name for Segment-list"; + } + container metric { + presence "Indicates a metric node is configured."; + description + "Path metric configuration"; + container type { + description + "Metric type configuration"; + container te { + must + "not(../igp or ../hopcount + or ../latency)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container igp { + must + "not(../te or ../hopcount + or ../latency)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container hopcount { + must + "not(../te or ../igp + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "Hopcount metric type"; + } + container latency { + must + "not(../te or ../igp + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "Latency metric type"; + } + } + leaf sid-limit { + type uint32 { + range "1..255" { + description + "SID limit value"; + } + } + description + "SID limit"; + } + } + } + } + } + container constraints { + description + "Candidate path constraints"; + container segments { + description + "Path segments constraints"; + leaf sid-algorithm { + type uint32 { + range "128..255" { + description + "Prefix-SID algorithm"; + } + } + description + "Prefix-SID algorithm"; + } + container protection { + description + "Protection type"; + container protected-preferred { + must + "not(../protected-only or ../unprotected-only + or ../unprotected-preferred)"; + presence "Indicates a protected-preferred node is configured."; + description + "Protected adj-SID preferred (default)"; + } + container protected-only { + must + "not(../protected-preferred or ../unprotected-only + or ../unprotected-preferred)"; + presence "Indicates a protected-only node is configured."; + description + "Protected adj-SID only"; + } + container unprotected-only { + must + "not(../protected-preferred or ../protected-only + or ../unprotected-preferred)"; + presence "Indicates a unprotected-only node is configured."; + description + "Unprotected adj-SID only"; + } + container unprotected-preferred { + must + "not(../protected-preferred or ../protected-only + or ../unprotected-only)"; + presence "Indicates a unprotected-preferred node is configured."; + description + "Unprotected adj-SID preferred"; + } + } + } + } + } + } + container affinity { + description + "Assign affinities to path"; + container include-any { + description + "Affinity attributes - at least one must be included"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + container include-all { + description + "Affinity attributes - all must be included"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + container exclude { + description + "Affinity attributes to exclude"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + } + leaf color { + type uint32 { + range "1..4294967295" { + description + "Color value"; + } + } + description + "Specify color for policy"; + } + container end-point { + description + "Policy endpoint"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + container binding-sid { + description + "Bnding Segment Identifier"; + leaf mpls { + type uint32 { + range "16..1048575" { + description + "MPLS label"; + } + } + description + "MPLS label"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Policy admin-shutdown"; + } + leaf profile-id { + type uint32 { + range "1..65535" { + description + "Numeric profile identifer that the PCC will use"; + } + } + description + "Policy configuration profile that the PCC should apply to this policy"; + } + container path-selection { + description + "Options for path-selection"; + container protected { + must "not(../unprotected)"; + presence "Indicates a protected node is configured."; + description + "Use local protected if possible"; + } + container unprotected { + must "not(../protected)"; + presence "Indicates a unprotected node is configured."; + description + "Force use of unprotected adjacency SIDs"; + } + } + } + } + } + } + } + container cspf { + description + "Path computation configuration"; + container anycast-sid-inclusion { + presence "Indicates a anycast-sid-inclusion node is configured."; + description + "Enable Anycast SID Inclusion for all policies"; + } + container sr-native { + presence "Indicates a sr-native node is configured."; + description + "Enable SR native algorithm"; + container force { + presence "Indicates a force node is configured."; + description + "Must use this algorithm for all path computations"; + } + } + } + container p2mp { + description + "P2MP configuration"; + container endpoint-sets { + description + "Endpoint-set configuration"; + list endpoint-set { + key "endpoint-set-name"; + description + "Endpoint-set configuration"; + leaf endpoint-set-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Identifying name for endpoint-set with max 128 characters"; + } + } + description + "Endpoint-set configuration"; + } + container ipv4s { + description + "Specify the address AFI"; + list ipv4 { + key "address"; + description + "Specify the address AFI"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify the address AFI"; + } + } + } + } + } + container policies { + description + "Policy configuration"; + list policy { + key "policy-name"; + description + "Policy configuration"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Identifying name for policy with max 128 characters"; + } + } + description + "Policy configuration"; + } + container candidate-paths { + description + "Candidate-paths configuration"; + container constraints { + description + "Candidate path constraints"; + container affinity { + description + "Assign affinities to path"; + container include-any { + description + "Affinity attributes - at least one must be included"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + container include-all { + description + "Affinity attributes - all must be included"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + container exclude { + description + "Affinity attributes to exclude"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + } + container preferences { + description + "Policy path preference entry"; + list preference { + key "preference-id"; + description + "Policy path preference entry"; + leaf preference-id { + type uint32 { + range "100" { + description + "Path preference"; + } + } + description + "Policy path preference entry"; + } + container dynamic { + presence "Indicates a dynamic node is configured."; + description + "Dynamically computed path"; + container metric { + description + "Path metric configuration"; + container type { + description + "Metric type configuration"; + container te { + must + "not(../igp or ../latency + or ../hopcount)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container igp { + must + "not(../te or ../latency + or ../hopcount)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container latency { + must + "not(../te or ../igp + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "Latency metric type"; + } + container hopcount { + must + "not(../te or ../igp + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "Use the least number of hops for path computation"; + } + } + } + } + } + } + } + leaf color { + type uint32 { + range "1..4294967295" { + description + "Color value"; + } + } + description + "Specify color for policy"; + } + leaf endpoint-set { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Identifying name of the endpoint-set with max 128 characters"; + } + } + description + "Policy endpoint-set"; + } + container source { + description + "Specify source IP address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Policy admin-shutdown"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for this tree"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + container treesid { + description + "Specify the TreeSID"; + leaf mpls { + type uint32 { + range "16..1048575" { + description + "Label value"; + } + } + description + "MPLS label"; + } + } + } + } + container timers { + description + "Timers configuration"; + leaf reoptimization { + type uint32 { + range "60..3600" { + description + "Timer value in seconds; default is 600"; + } + } + description + "How often to reoptimize all P2MP paths."; + } + leaf cleanup { + type uint32 { + range "1..86400" { + description + "Timer value in seconds; default is 60"; + } + } + description + "Delay before node is excluded from P2MP path computation after PCEP connection with it goes away"; + } + } + container label-range { + description + "Label range for dynamic p2mp SR policies"; + leaf min { + type uint32 { + range "16..1048575" { + description + "Lower bound of the label range"; + } + } + must "../max"; + description + "Minimum value of label range"; + } + leaf max { + type uint32 { + range "16..1048575" { + description + "Upper bound of the label range"; + } + } + must "../min"; + description + "Maximum value of label range"; + } + } + container multipath-disable { + presence "Indicates a multipath-disable node is configured."; + description + "Disable load balancing of SR P2MP across ECMP paths"; + } + container fast-reroute { + description + "Enable Fast Re-route protection for all trees"; + container lfa { + presence "Indicates a lfa node is configured."; + description + "LFA Fast Re-route"; + } + } + container frr-node-set { + description + "Node set needing Fast Re-route Protection"; + container from { + presence "Indicates a from node is configured."; + description + "Nodes from which adjacencies are to be protected"; + container ipv4s { + description + "Specify the address AFI"; + list ipv4 { + key "address"; + description + "Specify the address AFI"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify the address AFI"; + } + } + } + } + container to { + presence "Indicates a to node is configured."; + description + "Nodes to which adjacencies are to be protected"; + container ipv4s { + description + "Specify the address AFI"; + list ipv4 { + key "address"; + description + "Specify the address AFI"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify the address AFI"; + } + } + } + } + } + } + } + } + container peer-filter { + description + "Configure PCE peer filtering"; + container ipv4 { + description + "IPv4 peer filtering"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Access-list name"; + } + } + description + "Access-list for IPv4 peer filtering"; + } + } + } + container hierarchical { + presence "Indicates a hierarchical node is configured."; + description + "Configure hierarchical policy computation"; + container underlay { + presence "Indicates a underlay node is configured."; + description + "Configure underlay tunnels"; + container enable-all { + presence "Indicates a enable-all node is configured."; + description + "Use all available tunnels as underlay"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-measurement-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-measurement-cfg.yang new file mode 100644 index 000000000..ba041b346 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-measurement-cfg.yang @@ -0,0 +1,2685 @@ +module Cisco-IOS-XR-um-performance-measurement-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-performance-measurement-cfg"; + prefix um-performance-measurement-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR performance-measurement package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-08 { + description + "Added name and tx-interval nodes support under delay-profile and liveness-profile"; + semver:module-version "1.0.1m"; + } + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container performance-measurement { + presence "Indicates a performance-measurement node is configured."; + description + "Enter the Performance Measurement submode"; + container interfaces { + description + "Enable Performance Measurement on an interface"; + list interface { + key "interface-name"; + description + "Enable Performance Measurement on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Enable Performance Measurement on an interface"; + } + container delay-measurement { + presence "Indicates a delay-measurement node is configured."; + description + "Enable delay-measurement on the interface"; + leaf advertise-delay { + type uint32 { + range "1..16777215" { + description + "Advertisement delay (uSec)"; + } + } + description + "Advertisement delay"; + } + container delay-profile { + description + "Interface delay profile"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + } + container next-hop { + description + "next-hop address"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + } + } + container endpoint { + description + "Enable Performance Measurement for an endpoint"; + container ipv4s { + description + "IPv4 endpoint"; + list ipv4 { + must "vrf"; + key "address"; + description + "IPv4 endpoint"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 endpoint"; + } + list vrf { + key "vrf-name"; + description + "Endpoint vrf table"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "endpoint vrf table"; + } + container source-address { + description + "Source address of the endpoint"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + leaf description { + type string { + length "1..255" { + description + "Description of the endpoint"; + } + } + description + "Description of the endpoint"; + } + container delay-measurement { + presence "Indicates a delay-measurement node is configured."; + description + "Enable delay-measurement on the endpoint"; + container delay-profile { + description + "Endpoint delay profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + } + container segment-list { + description + "Enable segment list on the endpoint"; + container names { + description + "Segment-list name"; + list name { + key "list-name"; + description + "Segment-list name"; + leaf list-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Identifying name for segment-list"; + } + } + description + "Segment-list name"; + } + } + } + } + container liveness-detection { + presence "Indicates a liveness-detection node is configured."; + description + "Enable liveness-detection on the endpoint"; + container liveness-profile { + description + "Endpoint liveness profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + } + } + } + } + container ipv6s { + description + "IPv6 endpoint"; + list ipv6 { + must "vrf"; + key "address"; + description + "IPv6 endpoint"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 endpoint"; + } + list vrf { + key "vrf-name"; + description + "Endpoint vrf table"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + } + description + "endpoint vrf table"; + } + container source-address { + description + "Source address of the endpoint"; + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + } + leaf description { + type string { + length "1..255" { + description + "Description of the endpoint"; + } + } + description + "Description of the endpoint"; + } + container delay-measurement { + presence "Indicates a delay-measurement node is configured."; + description + "Enable delay-measurement on the endpoint"; + container delay-profile { + description + "Endpoint delay profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + } + container segment-list { + description + "Enable segment list on the endpoint"; + container names { + description + "Segment-list name"; + list name { + key "list-name"; + description + "Segment-list name"; + leaf list-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Identifying name for segment-list"; + } + } + description + "Segment-list name"; + } + } + } + } + container liveness-detection { + presence "Indicates a liveness-detection node is configured."; + description + "Enable liveness-detection on the endpoint"; + container liveness-profile { + description + "Endpoint liveness profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + } + } + } + } + } + container delay-profile { + description + "Delay profile"; + container interfaces { + description + "Enter interface delay profile submode"; + container names { + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + list name { + key "profile-name"; + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + leaf profile-name { + type string { + length "1..256" { + description + "Profile name"; + } + } + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + } + container probe { + description + "Enter interface delay probe submode"; + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container protocol { + description + "Configure protocol type for delay measurement probe messages"; + container pm-mpls { + must "not(../twamp-light)"; + presence "Indicates a pm-mpls node is configured."; + description + "Interface delay measurement using RFC6374 with MPLS encap"; + } + container twamp-light { + must "not(../pm-mpls)"; + presence "Indicates a twamp-light node is configured."; + description + "Interface delay measurement using RFC5357"; + } + } + container tos { + description + "Enter interface delay probe type of service submode"; + leaf traffic-class { + type uint32 { + range "0..7" { + description + "Traffic Class value"; + } + } + description + "Traffic Class value indicating TOS level used by protocol pm-mpls"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../two-way)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container two-way { + must "not(../one-way)"; + presence "Indicates a two-way node is configured."; + description + "Measure one way delay with timestamp 1, 2, 3 and 4 without clock synchronization"; + } + } + } + container advertisement { + description + "Enter interface delay profile advertisement submode"; + container periodic { + description + "Go into interface delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container logging { + description + "Enter interface delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter interface delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + container anomaly-check { + presence "Indicates a anomaly-check node is configured."; + description + "Enter interface delay profile advertisement anomaly submode"; + leaf upper-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement upper-bound (uSec)"; + } + } + must "../lower-bound"; + must "../lower-bound"; + description + "Anomaly Check advertisement upper-bound"; + } + leaf lower-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement lower-bound (uSec)"; + } + } + must "../upper-bound"; + must "../upper-bound"; + description + "Anomaly Check advertisement lower-bound"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default profile"; + container probe { + description + "Enter interface delay probe submode"; + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container protocol { + description + "Configure protocol type for delay measurement probe messages"; + container pm-mpls { + must "not(../twamp-light)"; + presence "Indicates a pm-mpls node is configured."; + description + "Interface delay measurement using RFC6374 with MPLS encap"; + } + container twamp-light { + must "not(../pm-mpls)"; + presence "Indicates a twamp-light node is configured."; + description + "Interface delay measurement using RFC5357"; + } + } + container tos { + description + "Enter interface delay probe type of service submode"; + leaf traffic-class { + type uint32 { + range "0..7" { + description + "Traffic Class value"; + } + } + description + "Traffic Class value indicating TOS level used by protocol pm-mpls"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../two-way)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container two-way { + must "not(../one-way)"; + presence "Indicates a two-way node is configured."; + description + "Measure one way delay with timestamp 1, 2, 3 and 4 without clock synchronization"; + } + } + } + container advertisement { + description + "Enter interface delay profile advertisement submode"; + container periodic { + description + "Go into interface delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container logging { + description + "Enter interface delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter interface delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + container anomaly-check { + presence "Indicates a anomaly-check node is configured."; + description + "Enter interface delay profile advertisement anomaly submode"; + leaf upper-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement upper-bound (uSec)"; + } + } + must "../lower-bound"; + must "../lower-bound"; + description + "Anomaly Check advertisement upper-bound"; + } + leaf lower-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement lower-bound (uSec)"; + } + } + must "../upper-bound"; + must "../upper-bound"; + description + "Anomaly Check advertisement lower-bound"; + } + } + } + } + } + container rsvp-te { + description + "Enter RSVP-TE delay profile submode"; + container default { + presence "Indicates a default node is configured."; + description + "Default profile"; + container probe { + description + "Enter RSVP-TE delay probe submode"; + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container protocol { + description + "Configure protocol type for delay measurement probe messages"; + container pm-mpls { + must "not(../twamp-light)"; + presence "Indicates a pm-mpls node is configured."; + description + "RSVP-TE tunnel delay measurement using RFC6374 with MPLS encap"; + } + container twamp-light { + must "not(../pm-mpls)"; + presence "Indicates a twamp-light node is configured."; + description + "RSVP-TE tunnel delay measurement using RFC5357"; + } + } + container tos { + description + "Enter RSVP-TE delay probe type of service submode"; + leaf traffic-class { + type uint32 { + range "0..7" { + description + "Traffic Class value"; + } + } + description + "Traffic Class value indicating TOS level used by protocol pm-mpls"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../loopback)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container loopback { + must "not(../one-way)"; + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4"; + } + } + } + container advertisement { + description + "Enter RSVP-TE delay profile advertisement submode"; + container periodic { + description + "Go into RSVP-TE delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container logging { + description + "Enter RSVP-TE delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter RSVP-TE delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + container threshold-check { + description + "Configure threshold-check for delay measurement advertisement (default: maximum-delay)"; + container average-delay { + presence "Indicates a average-delay node is configured."; + description + "Enable average-delay threshold-check"; + } + container minimum-delay { + presence "Indicates a minimum-delay node is configured."; + description + "Enable minimum-delay threshold-check"; + } + container maximum-delay { + presence "Indicates a maximum-delay node is configured."; + description + "Enable maximum-delay threshold-check"; + } + } + } + } + } + container sr-policy { + description + "Enter SR Policy delay profile submode"; + container names { + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + list name { + key "profile-name"; + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + leaf profile-name { + type string { + length "1..256" { + description + "Profile name"; + } + } + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + } + container probe { + description + "Enter SR Policy delay probe submode"; + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the probe packet"; + container destination { + description + "Sweep a range of IP destination addresses"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "../range"; + description + "Start of the IPv4 address range, used by IPv4, IPv6 and NULL endpoint SR Policy"; + } + leaf range { + type uint32 { + range "0..128" { + description + "Sweeping range (Should fully be in the 127.0.0.0/8 space)"; + } + } + must "../ipv4"; + description + "Number of IP addresses to sweep "; + } + } + } + container protocol { + description + "Configure protocol type for delay measurement probe messages"; + container pm-mpls { + must "not(../twamp-light)"; + presence "Indicates a pm-mpls node is configured."; + description + "SR Policy delay measurement using RFC6374 with MPLS encap"; + } + container twamp-light { + must "not(../pm-mpls)"; + presence "Indicates a twamp-light node is configured."; + description + "SR Policy delay measurement using RFC5357"; + } + } + container tos { + description + "Enter SR Policy delay probe type of service submode"; + leaf traffic-class { + type uint32 { + range "0..7" { + description + "Traffic Class value"; + } + } + description + "Traffic Class value indicating TOS level used by protocol pm-mpls"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../two-way or ../loopback)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container two-way { + must "not(../one-way or ../loopback)"; + presence "Indicates a two-way node is configured."; + description + "Measure one way delay with timestamp 1, 2, 3 and 4 without clock synchronization"; + } + container loopback { + must "not(../one-way or ../two-way)"; + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4 (reverse-path must be configured for SR Policy with RFC6374 MPLS encap)"; + } + } + } + container advertisement { + description + "Enter SR Policy delay profile advertisement submode"; + container logging { + description + "Enter SR Policy delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container threshold-check { + description + "Configure threshold-check for delay measurement advertisement (default: maximum-delay)"; + container average-delay { + presence "Indicates a average-delay node is configured."; + description + "Enable average-delay threshold-check"; + } + container minimum-delay { + presence "Indicates a minimum-delay node is configured."; + description + "Enable minimum-delay threshold-check"; + } + container maximum-delay { + presence "Indicates a maximum-delay node is configured."; + description + "Enable maximum-delay threshold-check"; + } + } + container periodic { + description + "Go into SR Policy delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter SR Policy delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + container anomaly-check { + presence "Indicates a anomaly-check node is configured."; + description + "Enter SR Policy delay profile advertisement anomaly submode"; + leaf upper-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement upper-bound (uSec)"; + } + } + must "../lower-bound"; + must "../lower-bound"; + description + "Anomaly Check advertisement upper-bound"; + } + leaf lower-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement lower-bound (uSec)"; + } + } + must "../upper-bound"; + must "../upper-bound"; + description + "Anomaly Check advertisement lower-bound"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default profile"; + container probe { + description + "Enter SR Policy delay probe submode"; + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the probe packet"; + container destination { + description + "Sweep a range of IP destination addresses"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "../range"; + description + "Start of the IPv4 address range, used by IPv4, IPv6 and NULL endpoint SR Policy"; + } + leaf range { + type uint32 { + range "0..128" { + description + "Sweeping range (Should fully be in the 127.0.0.0/8 space)"; + } + } + must "../ipv4"; + description + "Number of IP addresses to sweep "; + } + } + } + container protocol { + description + "Configure protocol type for delay measurement probe messages"; + container pm-mpls { + must "not(../twamp-light)"; + presence "Indicates a pm-mpls node is configured."; + description + "SR Policy delay measurement using RFC6374 with MPLS encap"; + } + container twamp-light { + must "not(../pm-mpls)"; + presence "Indicates a twamp-light node is configured."; + description + "SR Policy delay measurement using RFC5357"; + } + } + container tos { + description + "Enter SR Policy delay probe type of service submode"; + leaf traffic-class { + type uint32 { + range "0..7" { + description + "Traffic Class value"; + } + } + description + "Traffic Class value indicating TOS level used by protocol pm-mpls"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../two-way or ../loopback)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container two-way { + must "not(../one-way or ../loopback)"; + presence "Indicates a two-way node is configured."; + description + "Measure one way delay with timestamp 1, 2, 3 and 4 without clock synchronization"; + } + container loopback { + must "not(../one-way or ../two-way)"; + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4 (reverse-path must be configured for SR Policy with RFC6374 MPLS encap)"; + } + } + } + container advertisement { + description + "Enter SR Policy delay profile advertisement submode"; + container logging { + description + "Enter SR Policy delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container threshold-check { + description + "Configure threshold-check for delay measurement advertisement (default: maximum-delay)"; + container average-delay { + presence "Indicates a average-delay node is configured."; + description + "Enable average-delay threshold-check"; + } + container minimum-delay { + presence "Indicates a minimum-delay node is configured."; + description + "Enable minimum-delay threshold-check"; + } + container maximum-delay { + presence "Indicates a maximum-delay node is configured."; + description + "Enable maximum-delay threshold-check"; + } + } + container periodic { + description + "Go into SR Policy delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter SR Policy delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + container anomaly-check { + presence "Indicates a anomaly-check node is configured."; + description + "Enter SR Policy delay profile advertisement anomaly submode"; + leaf upper-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement upper-bound (uSec)"; + } + } + must "../lower-bound"; + must "../lower-bound"; + description + "Anomaly Check advertisement upper-bound"; + } + leaf lower-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement lower-bound (uSec)"; + } + } + must "../upper-bound"; + must "../upper-bound"; + description + "Anomaly Check advertisement lower-bound"; + } + } + } + } + } + container endpoint { + description + "Enter endpoint delay profile submode"; + container names { + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + list name { + key "profile-name"; + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + leaf profile-name { + type string { + length "1..256" { + description + "Profile name"; + } + } + description + "Deprecated in IOS-XR 7.6.1. Please use 'delay-profile name' instead"; + } + container probe { + description + "Enter endpoint delay probe submode"; + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../two-way or ../loopback)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container two-way { + must "not(../one-way or ../loopback)"; + presence "Indicates a two-way node is configured."; + description + "Measure one way delay with timestamp 1, 2, 3 and 4 without clock synchronization"; + } + container loopback { + must "not(../one-way or ../two-way)"; + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4"; + } + } + container tos { + description + "Enter endpoint delay probe type of service submode"; + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + } + container advertisement { + description + "Enter endpoint delay profile advertisement submode"; + container logging { + description + "Enter Endpoint delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container threshold-check { + description + "Configure threshold-check for delay measurement advertisement (default: maximum-delay)"; + container average-delay { + presence "Indicates a average-delay node is configured."; + description + "Enable average-delay threshold-check"; + } + container minimum-delay { + presence "Indicates a minimum-delay node is configured."; + description + "Enable minimum-delay threshold-check"; + } + container maximum-delay { + presence "Indicates a maximum-delay node is configured."; + description + "Enable maximum-delay threshold-check"; + } + } + container periodic { + description + "Enter endpoint delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter endpoint delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default profile"; + container probe { + description + "Enter endpoint delay probe submode"; + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../two-way or ../loopback)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container two-way { + must "not(../one-way or ../loopback)"; + presence "Indicates a two-way node is configured."; + description + "Measure one way delay with timestamp 1, 2, 3 and 4 without clock synchronization"; + } + container loopback { + must "not(../one-way or ../two-way)"; + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4"; + } + } + container tos { + description + "Enter endpoint delay probe type of service submode"; + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + } + container advertisement { + description + "Enter endpoint delay profile advertisement submode"; + container logging { + description + "Enter Endpoint delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container threshold-check { + description + "Configure threshold-check for delay measurement advertisement (default: maximum-delay)"; + container average-delay { + presence "Indicates a average-delay node is configured."; + description + "Enable average-delay threshold-check"; + } + container minimum-delay { + presence "Indicates a minimum-delay node is configured."; + description + "Enable minimum-delay threshold-check"; + } + container maximum-delay { + presence "Indicates a maximum-delay node is configured."; + description + "Enable maximum-delay threshold-check"; + } + } + container periodic { + description + "Enter endpoint delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter endpoint delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + } + } + } + container names { + description + "Delay profile name"; + list name { + key "profile-name"; + description + "delay-profile name"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + container probe { + description + "Enter delay probe submode"; + leaf computation-interval { + type uint32 { + range "1..3600" { + description + "Computation interval (seconds)"; + } + } + description + "Interval for metric computation"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the probe packet"; + container destination { + description + "Sweep a range of IP destination addresses"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "../range"; + description + "Start of the IPv4 address range, used by IPv4, IPv6 and NULL endpoint"; + } + leaf range { + type uint32 { + range "0..128" { + description + "Sweeping range (Should fully be in the 127.0.0.0/8 space)"; + } + } + must "../ipv4"; + description + "Number of IP addresses to sweep "; + } + } + } + container protocol { + description + "Configure protocol type for delay measurement probe messages"; + container pm-mpls { + must "not(../twamp-light)"; + presence "Indicates a pm-mpls node is configured."; + description + "Delay measurement using RFC6374 with MPLS encap. Only applicable for interface and SR policy delay measurement"; + } + container twamp-light { + must "not(../pm-mpls)"; + presence "Indicates a twamp-light node is configured."; + description + "Delay measurement using RFC5357"; + } + } + container tos { + description + "Enter delay probe type of service submode"; + leaf traffic-class { + type uint32 { + range "0..7" { + description + "Traffic Class value"; + } + } + description + "Traffic Class value indicating TOS level used by protocol pm-mpls"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + container measurement-mode { + description + "Delay measurement mode"; + container one-way { + must "not(../two-way)"; + presence "Indicates a one-way node is configured."; + description + "Measure one way delay with timestamp 1 and 2"; + } + container two-way { + must "not(../one-way)"; + presence "Indicates a two-way node is configured."; + description + "Measure one way delay with timestamp 1, 2, 3 and 4 without clock synchronization"; + } + } + } + container advertisement { + description + "Enter delay profile advertisement submode"; + container logging { + description + "Enter delay profile advertisement logging submode"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + container threshold-check { + description + "Configure threshold-check for delay measurement advertisement"; + container average-delay { + presence "Indicates a average-delay node is configured."; + description + "Enable average-delay threshold-check"; + } + container minimum-delay { + presence "Indicates a minimum-delay node is configured."; + description + "Enable minimum-delay threshold-check"; + } + container maximum-delay { + presence "Indicates a maximum-delay node is configured."; + description + "Enable maximum-delay threshold-check"; + } + } + container periodic { + description + "Delay periodic advertisement submode"; + container disabled { + presence "Indicates a disabled node is configured."; + description + "Periodic advertisement disabled"; + } + leaf interval { + type uint32 { + range "30..3600" { + description + "Periodic advertisement and metric aggregation interval (seconds)"; + } + } + description + "Periodic advertisement and metric aggregation interval"; + } + leaf threshold { + type uint32 { + range "0..100" { + description + "Periodic advertisement threshold percentage change (compared to last advertisement)"; + } + } + description + "Periodic advertisement threshold (compared to last advertisement)"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Periodic advertisement minimum change in uSec (compared to last advertisement)"; + } + } + description + "Periodic advertisement minimum change (compared to last advertisement)"; + } + } + container accelerated { + presence "Indicates a accelerated node is configured."; + description + "Enter delay profile advertisement accelerated submode"; + leaf threshold { + type uint32 { + range "0..100" { + description + "Accelerated advertisement threshold percentage change"; + } + } + description + "Accelerated advertisement threshold"; + } + leaf minimum-change { + type uint32 { + range "0..100000" { + description + "Accelerated advertisement minimum change (uSec)"; + } + } + description + "Accelerated advertisement minimum change"; + } + } + container anomaly-check { + presence "Indicates a anomaly-check node is configured."; + description + "Enter delay profile advertisement anomaly submode"; + leaf upper-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement upper-bound (uSec)"; + } + } + must "../lower-bound"; + description + "Anomaly Check advertisement upper-bound"; + } + leaf lower-bound { + type uint32 { + range "0..200000" { + description + "Anomaly Check advertisement lower-bound (uSec)"; + } + } + must "../upper-bound"; + description + "Anomaly Check advertisement lower-bound"; + } + } + } + } + } + } + container liveness-profile { + description + "Liveness profile"; + container sr-policy { + description + "Enter SR Policy delay profile submode"; + container names { + description + "Deprecated in IOS-XR 7.6.1. Please use 'liveness-profile name' instead"; + list name { + key "profile-name"; + description + "Deprecated in IOS-XR 7.6.1. Please use 'liveness-profile name' instead"; + leaf profile-name { + type string { + length "1..256" { + description + "Profile name"; + } + } + description + "Deprecated in IOS-XR 7.6.1. Please use 'liveness-profile name' instead"; + } + container liveness-detection { + description + "Enter SR Policy liveness detection submode"; + leaf multiplier { + type uint32 { + range "2..10" { + description + "Detect multiplier"; + } + } + description + "Configure detect multiplier"; + } + } + container probe { + description + "Enter SR Policy liveness detection probe submode"; + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container measurement-mode { + description + "Deprecated in release 7.6.1"; + container loopback { + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4 (reverse-path must be configured for SR Policy with RFC6374 MPLS encap)"; + } + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the probe packet"; + container destination { + description + "Sweep a range of IP destination addresses"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "../range"; + description + "Start of the IPv4 address range, used by IPv4, IPv6 and NULL endpoint SR Policy"; + } + leaf range { + type uint32 { + range "0..128" { + description + "Sweeping range (Should fully be in the 127.0.0.0/8 space)"; + } + } + must "../ipv4"; + description + "Number of IP addresses to sweep "; + } + } + } + container tos { + description + "SR Policy liveness probe type of service"; + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default profile"; + container liveness-detection { + description + "Enter SR Policy liveness detection submode"; + leaf multiplier { + type uint32 { + range "2..10" { + description + "Detect multiplier"; + } + } + description + "Configure detect multiplier"; + } + } + container probe { + description + "Enter SR Policy liveness detection probe submode"; + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container measurement-mode { + description + "Deprecated in release 7.6.1"; + container loopback { + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4 (reverse-path must be configured for SR Policy with RFC6374 MPLS encap)"; + } + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the probe packet"; + container destination { + description + "Sweep a range of IP destination addresses"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "../range"; + description + "Start of the IPv4 address range, used by IPv4, IPv6 and NULL endpoint SR Policy"; + } + leaf range { + type uint32 { + range "0..128" { + description + "Sweeping range (Should fully be in the 127.0.0.0/8 space)"; + } + } + must "../ipv4"; + description + "Number of IP addresses to sweep "; + } + } + } + container tos { + description + "SR Policy liveness probe type of service"; + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + } + } + } + container endpoint { + description + "Enter endpoint liveness profile submode"; + container names { + description + "Deprecated in IOS-XR 7.6.1. Please use 'liveness-profile name' instead"; + list name { + key "profile-name"; + description + "Deprecated in IOS-XR 7.6.1. Please use 'liveness-profile name' instead"; + leaf profile-name { + type string { + length "1..256" { + description + "Profile name"; + } + } + description + "Deprecated in IOS-XR 7.6.1. Please use 'liveness-profile name' instead"; + } + container probe { + description + "Enter endpoint liveness detection probe submode"; + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container measurement-mode { + description + "Deprecated in release 7.6.1"; + container loopback { + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4"; + } + } + container tos { + description + "Endpoint liveness probe type of service"; + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + } + container liveness-detection { + description + "Enter endpoint liveness detection submode"; + leaf multiplier { + type uint32 { + range "2..10" { + description + "Detect multiplier"; + } + } + description + "Configure detect multiplier"; + } + container logging { + description + "Endpoint liveness logging"; + container state-change { + presence "Indicates a state-change node is configured."; + description + "Emit syslog when the liveness state change detected"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default profile"; + container probe { + description + "Enter endpoint liveness detection probe submode"; + leaf burst-interval { + type uint32 { + range "30..15000" { + description + "Burst interval (msec) (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + } + description + "Burst interval (Deprecated in IOS-XR 7.6.1. Please use tx-interval.)"; + } + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container measurement-mode { + description + "Deprecated in release 7.6.1"; + container loopback { + presence "Indicates a loopback node is configured."; + description + "Loopback the probe packet collecting only timestamp 1 and 4"; + } + } + container tos { + description + "Endpoint liveness probe type of service"; + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + } + container liveness-detection { + description + "Enter endpoint liveness detection submode"; + leaf multiplier { + type uint32 { + range "2..10" { + description + "Detect multiplier"; + } + } + description + "Configure detect multiplier"; + } + container logging { + description + "Endpoint liveness logging"; + container state-change { + presence "Indicates a state-change node is configured."; + description + "Emit syslog when the liveness state change detected"; + } + } + } + } + } + container names { + description + "Liveness profile name"; + list name { + key "profile-name"; + description + "liveness-profile name"; + leaf profile-name { + type string { + length "1..256" { + description + "Profile name"; + } + } + description + "liveness-profile name"; + } + container liveness-detection { + description + "Enter liveness detection submode"; + leaf multiplier { + type uint32 { + range "2..10" { + description + "Detect multiplier"; + } + } + description + "Configure detect multiplier"; + } + container logging { + description + "Liveness logging"; + container state-change { + presence "Indicates a state-change node is configured."; + description + "Emit syslog when the liveness state change detected"; + } + } + } + container probe { + description + "Enter liveness detection probe submode"; + leaf tx-interval { + type uint32 { + range "30000..15000000" { + description + "TX interval (usec)"; + } + } + description + "TX interval"; + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the probe packet"; + container destination { + description + "Sweep a range of destination IP addresses"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "../range"; + description + "Start of the IPv4 address range, used by IPv4, IPv6 and NULL endpoint"; + } + leaf range { + type uint32 { + range "0..128" { + description + "Sweeping range (Should fully be in the 127.0.0.0/8 space)"; + } + } + must "../ipv4"; + description + "Number of IP addresses to sweep "; + } + } + } + container tos { + description + "Liveness probe type of service"; + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value"; + } + } + description + "DSCP value indicating TOS level used by protocol twamp-light"; + } + } + } + } + } + } + container protocol { + description + "Supported protocols"; + 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 submode"; + leaf querier-dst-port { + type uint32 { + range "862|1024..14999" { + description + "Port number. 862 is default TWAMP reserved UDP destination port"; + } + } + description + "Port number"; + } + leaf querier-src-port { + type uint32 { + range "1024..14999" { + description + "Port number"; + } + } + description + "UDP port opened on Route Processor to be used as source port in queries"; + } + container ipv4 { + description + "timestamp for ipv4 packet"; + container timestamp1 { + description + "timestamp 1"; + leaf label { + type uint32 { + range "256..23999" { + description + "label"; + } + } + description + "label"; + } + } + container timestamp2 { + description + "timestamp 2"; + leaf label { + type uint32 { + range "256..23999" { + description + "label"; + } + } + description + "label"; + } + } + } + container ipv6 { + description + "timestamp for ipv6 packet"; + container timestamp1 { + description + "timestamp 1"; + leaf label { + type uint32 { + range "256..23999" { + description + "label"; + } + } + description + "label"; + } + } + container timestamp2 { + description + "timestamp 2"; + leaf label { + type uint32 { + range "256..23999" { + description + "label"; + } + } + description + "label"; + } + } + } + } + } + } + } + } + container distribute-sessions { + description + "Distribute SR Policy DM sessions to linecards"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable distribute SR Policy DM sessions to linecards"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable distribute SR Policy DM sessions to linecards (default)"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-mgmt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-mgmt-cfg.yang new file mode 100644 index 000000000..9bec39d14 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-performance-mgmt-cfg.yang @@ -0,0 +1,37392 @@ +module Cisco-IOS-XR-um-performance-mgmt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-performance-mgmt-cfg"; + prefix um-performance-mgmt-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR performance-mgmt package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-21 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container performance-mgmt { + description + "Performance Management configuration & operation subcommands"; + container statistics { + description + "Configure statistics for data collection"; + container interface { + description + "Configure statistics collection for interfaces"; + container basic-counters { + description + "Configure data collection for basic counters"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + } + } + container generic-counters { + description + "Configure data collection for generic counters"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + } + } + container data-rates { + description + "Configure data collection for data rates"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistenly"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistenly"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + } + } + } + container node { + description + "Configure statistics collection for node"; + container memory { + description + "Configure data collection for memory"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container default { + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container cpu { + description + "Configure data collection for cpu"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container process { + description + "Configure data collection for process"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + } + container bgp { + description + "Configure statistics collection for bgp"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container mpls { + description + "Configure statistics collection for mpls "; + container ldp { + description + "Configure data collection for a mpls label distribution protocol"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Specify VRF name"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of each sample in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Specify VRF name"; + } + } + } + } + container ospf { + description + "Configure statistics collection for OSPF"; + container v2protocol { + description + "Configure data collection for v2 protocol"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container v3protocol { + description + "Configure data collection for v3 protocol"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-size { + type uint32 { + range "1..60" { + description + "Number of samples"; + } + } + description + "Number of samples to be taken"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container history-persistent { + presence "Indicates a history-persistent node is configured."; + description + "Keep history statistics persistently"; + } + } + } + } + } + container thresholds { + description + "Configure thresholds for collected data"; + container interface { + description + "Configure thresholds for interfaces"; + container basic-counters { + description + "Configure threshold attributes for basic counters"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + container in-packets { + description + "Number of inbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-octets { + description + "Number of inbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-packets { + description + "Number of outbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-octets { + description + "Number of outbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-drops { + description + "Number of inbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-queue-drops { + description + "Number of input queue drops"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-errors { + description + "Number of inbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-drops { + description + "Number of outbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-queue-drops { + description + "Number of input queue drops"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-errors { + description + "Number of outbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + container in-packets { + description + "Number of inbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-octets { + description + "Number of inbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-packets { + description + "Number of outbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-octets { + description + "Number of outbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-drops { + description + "Number of inbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-queue-drops { + description + "Number of input queue drops"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-errors { + description + "Number of inbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-drops { + description + "Number of outbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-queue-drops { + description + "Number of input queue drops"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-errors { + description + "Number of outbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container generic-counters { + description + "Configure threshold attributes for generic counters"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + container in-packets { + description + "Number of inbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-octets { + description + "Number of inbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-packets { + description + "Number of outbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-octets { + description + "Number of outbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-ucast-pkts { + description + "Number of inbound unicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-multicast-pkts { + description + "Number of inbound multicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-broadcast-pkts { + description + "Number of inbound broadcast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-ucast-pkts { + description + "Number of outbound unicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-multicast-pkts { + description + "Number of outbound multicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-broadcast-pkts { + description + "Number of outbound broadcast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-drops { + description + "Number of outbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-drops { + description + "Number of inbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-queue-drops { + description + "Number of input queue drops"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-unknown-proto { + description + "Number of inbound packets discarded with unknown protocol"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-errors { + description + "Number of outbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-under-run { + description + "Number of outbound packets with underrun errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-errors { + description + "Number of inbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-crc { + description + "Number of inbound packets discarded with incorrect CRC"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-over-run { + description + "Number of inbound packets with overrun errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-frame { + description + "Number of inbound packets with framing errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + container in-packets { + description + "Number of inbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-octets { + description + "Number of inbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-packets { + description + "Number of outbound packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-octets { + description + "Number of outbound octets/bytes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-ucast-pkts { + description + "Number of inbound unicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-multicast-pkts { + description + "Number of inbound multicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container in-broadcast-pkts { + description + "Number of inbound broadcast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-ucast-pkts { + description + "Number of outbound unicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-multicast-pkts { + description + "Number of outbound multicast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container out-broadcast-pkts { + description + "Number of outbound broadcast packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-drops { + description + "Number of outbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-drops { + description + "Number of inbound correct packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-queue-drops { + description + "Number of input queue drops"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-unknown-proto { + description + "Number of inbound packets discarded with unknown protocol"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-total-errors { + description + "Number of outbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-under-run { + description + "Number of outbound packets with underrun errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-total-errors { + description + "Number of inbound incorrect packets discarded"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-crc { + description + "Number of inbound packets discarded with incorrect CRC"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-over-run { + description + "Number of inbound packets with overrun errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-frame { + description + "Number of inbound packets with framing errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container data-rates { + description + "Configure threshold attributes for data rates"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + container input-data-rate { + description + "Input data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-data-rate { + description + "Output data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-packet-rate { + description + "Number of input packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-packet-rate { + description + "Number of Output packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-peak-rate { + description + "Peak input data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-peak-rate { + description + "Peak output data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-peak-pkts { + description + "Maximum number of input packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-peak-pkts { + description + "Maximum number of output packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container bandwidth { + description + "Bandwidth in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + leaf regular-expression { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by regular expression"; + } + leaf vrf-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name to be applied"; + } + } + description + "Instance filtering by VRF name regular expression"; + } + container input-data-rate { + description + "Input data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-data-rate { + description + "Output data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-packet-rate { + description + "Number of input packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-packet-rate { + description + "Number of Output packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-peak-rate { + description + "Peak input data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-peak-rate { + description + "Peak output data rate in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-peak-pkts { + description + "Maximum number of input packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-peak-pkts { + description + "Maximum number of output packets per second"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container bandwidth { + description + "Bandwidth in kbps"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + } + container node { + description + "Configure thresholds for node"; + container memory { + description + "Configure thresholds for memory"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container curr-memory { + description + "Current memory (Bytes) in use"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container peak-memory { + description + "Maximum memory (KBytes) used"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container curr-memory { + description + "Current memory (Bytes) in use"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container peak-memory { + description + "Maximum memory (KBytes) used"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container cpu { + description + "Configure thresholds for cpu"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container no-processes { + description + "Number of processes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container average-cpu-used { + description + "Average %CPU utilization"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container no-processes { + description + "Number of processes"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container average-cpu-used { + description + "Average %CPU utilization"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container process { + description + "Configure thresholds for process"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container average-cpuused { + description + "Average %CPU utilization"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container peak-memory { + description + "Max. memory (KBytes) used since startup time"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container num-threads { + description + "Number of threads"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container average-cpuused { + description + "Average %CPU utilization"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container peak-memory { + description + "Max. memory (KBytes) used since startup time"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container num-threads { + description + "Number of threads"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + } + container bgp { + description + "Configure thresholds for bgp"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container input-messages { + description + "Number of messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-messages { + description + "Number of messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-update-messages { + description + "Number of update messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-update-messages { + description + "Number of update messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container conn-established { + description + "Number of times the connection was established"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container errors-received { + description + "Number of error notifications received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container errors-sent { + description + "Number of error notifications sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container connection-drops { + description + "Number of times the connection was dropped"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container input-messages { + description + "Number of messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-messages { + description + "Number of messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-update-messages { + description + "Number of update messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-update-messages { + description + "Number of update messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container conn-established { + description + "Number of times the connection was established"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container errors-received { + description + "Number of error notifications received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container errors-sent { + description + "Number of error notifications sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container connection-drops { + description + "Number of times the connection was dropped"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container mpls { + description + "Configure thresholds for MPLS"; + container ldp { + description + "Configure thresholds for mpls label distribution protocol"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container total-msgs-sent { + description + "Total number of messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container total-msgs-rcvd { + description + "Total number of messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container init-msgs-sent { + description + "Number of Init messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container init-msgs-rcvd { + description + "Number of Init messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-msgs-sent { + description + "Number of Address messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-msgs-rcvd { + description + "Number of Address messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-withdraw-msgs-sent { + description + "Number of Address Withdraw messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-withdraw-msgs-rcvd { + description + "Number of Address Withdraw messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-mapping-msgs-sent { + description + "Number of Label Mapping messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-mapping-msgs-rcvd { + description + "Number of Label Mapping messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-withdraw-msgs-sent { + description + "Number of Label Withdraw messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-withdraw-msgs-rcvd { + description + "Number of Label Withdraw messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-release-msgs-sent { + description + "Number of Label Release messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-release-msgs-rcvd { + description + "Number of LAbel Release messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container notification-msgs-sent { + description + "Number of Notification messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container notification-msgs-rcvd { + description + "Number of Notification messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container keepalive-msgs-sent { + description + "Number of Keepalive messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container keepalive-msgs-rcvd { + description + "Number of Keepalive messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container total-msgs-sent { + description + "Total number of messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container total-msgs-rcvd { + description + "Total number of messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container init-msgs-sent { + description + "Number of Init messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container init-msgs-rcvd { + description + "Number of Init messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-msgs-sent { + description + "Number of Address messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-msgs-rcvd { + description + "Number of Address messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-withdraw-msgs-sent { + description + "Number of Address Withdraw messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container address-withdraw-msgs-rcvd { + description + "Number of Address Withdraw messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-mapping-msgs-sent { + description + "Number of Label Mapping messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-mapping-msgs-rcvd { + description + "Number of Label Mapping messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-withdraw-msgs-sent { + description + "Number of Label Withdraw messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-withdraw-msgs-rcvd { + description + "Number of Label Withdraw messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-release-msgs-sent { + description + "Number of Label Release messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container label-release-msgs-rcvd { + description + "Number of LAbel Release messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container notification-msgs-sent { + description + "Number of Notification messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container notification-msgs-rcvd { + description + "Number of Notification messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container keepalive-msgs-sent { + description + "Number of Keepalive messages sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container keepalive-msgs-rcvd { + description + "Number of Keepalive messages received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + } + container ospf { + description + "Configure thresholds for OSPF"; + container v2protocol { + description + "Configure threshold attributes for OSPF v2 Protocol"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container input-packets { + description + "Total number of packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-packets { + description + "Total number of packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-hello-packets { + description + "Number of Hello packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-hello-packets { + description + "Number of Hello packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds { + description + "Number of DBD packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds-lsa { + description + "Number of LSA received in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds { + description + "Number of DBD packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds-lsa { + description + "Number of LSA sent in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests { + description + "Number of LS Requests received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests-lsa { + description + "Number of LSA received in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests { + description + "Number of LS Requests sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests-lsa { + description + "Number of LSA sent in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates { + description + "Number of LSA Updates received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates-lsa { + description + "Number of LSA received in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates { + description + "Number of LSA Updates sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates-lsa { + description + "Number of LSA sent in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks { + description + "Number of LSA Acknowledgements received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks-lsa { + description + "Number of LSA received in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks { + description + "Number of LSA Acknowledgements sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks-lsa { + description + "Number of LSA sent in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container checksum-errors { + description + "Number of packets received with checksum errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container input-packets { + description + "Total number of packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-packets { + description + "Total number of packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-hello-packets { + description + "Number of Hello packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-hello-packets { + description + "Number of Hello packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds { + description + "Number of DBD packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds-lsa { + description + "Number of LSA received in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds { + description + "Number of DBD packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds-lsa { + description + "Number of LSA sent in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests { + description + "Number of LS Requests received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests-lsa { + description + "Number of LSA received in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests { + description + "Number of LS Requests sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests-lsa { + description + "Number of LSA sent in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates { + description + "Number of LSA Updates received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates-lsa { + description + "Number of LSA received in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates { + description + "Number of LSA Updates sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates-lsa { + description + "Number of LSA sent in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks { + description + "Number of LSA Acknowledgements received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks-lsa { + description + "Number of LSA received in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks { + description + "Number of LSA Acknowledgements sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks-lsa { + description + "Number of LSA sent in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container checksum-errors { + description + "Number of packets received with checksum errors"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container v3protocol { + description + "Configure threshold attributes for OSPF v3 Protocol"; + container templates { + description + "Specify template"; + list template { + key "template-name"; + description + "Specify template"; + leaf template-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Template name"; + } + } + description + "Specify template"; + } + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container input-packets { + description + "Total number of packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-packets { + description + "Total number of packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-hello-packets { + description + "Number of Hello packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-hello-packets { + description + "Number of Hello packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds { + description + "Number of DBD packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds-lsa { + description + "Number of LSA received in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds { + description + "Number of DBD packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds-lsa { + description + "Number of LSA sent in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests { + description + "Number of LS Requests received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests-lsa { + description + "Number of LSA received in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests { + description + "Number of LS Requests sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests-lsa { + description + "Number of LSA sent in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates { + description + "Number of LSA Updates received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates-lsa { + description + "Number of LSA received in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates { + description + "Number of LSA Updates sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates-lsa { + description + "Number of LSA sent in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks { + description + "Number of LSA Acknowledgements received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks-lsa { + description + "Number of LSA received in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks { + description + "Number of LSA Acknowledgements sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks-lsa { + description + "Number of LSA sent in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + container default { + presence "Indicates a default node is configured."; + description + "Default template"; + leaf sample-interval { + type uint32 { + range "1..60" { + description + "Frequency of samples"; + } + } + description + "Frequency of sampling in minutes"; + } + container input-packets { + description + "Total number of packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-packets { + description + "Total number of packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-hello-packets { + description + "Number of Hello packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-hello-packets { + description + "Number of Hello packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds { + description + "Number of DBD packets received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-dbds-lsa { + description + "Number of LSA received in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds { + description + "Number of DBD packets sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-dbds-lsa { + description + "Number of LSA sent in DBD packets"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests { + description + "Number of LS Requests received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsrequests-lsa { + description + "Number of LSA received in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests { + description + "Number of LS Requests sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsrequests-lsa { + description + "Number of LSA sent in LS Requests"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates { + description + "Number of LSA Updates received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaupdates-lsa { + description + "Number of LSA received in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates { + description + "Number of LSA Updates sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaupdates-lsa { + description + "Number of LSA sent in LSA Updates"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks { + description + "Number of LSA Acknowledgements received"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container input-lsaacks-lsa { + description + "Number of LSA received in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks { + description + "Number of LSA Acknowledgements sent"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + container output-lsaacks-lsa { + description + "Number of LSA sent in LSA Acknowledgements"; + container percent { + presence "Indicates a percent node is configured."; + description + "Specify that threshold value is percent of previous sample"; + } + container rearm { + description + "Specify Rearm parameters (default - always)"; + container toggle { + must "not(../window)"; + presence "Indicates a toggle node is configured."; + description + "Rearm after the first period when condition is not met"; + } + leaf window { + type uint32 { + range "1..100" { + description + "Rearm window size"; + } + } + must "not(../toggle)"; + description + "Rearm after the window of sampling periods"; + } + } + container eq { + presence "Indicates the node is configured."; + description + "Equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ne { + presence "Indicates the node is configured."; + description + "Not equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container lt { + presence "Indicates the node is configured."; + description + "Less than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container le { + presence "Indicates the node is configured."; + description + "Less than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container gt { + presence "Indicates the node is configured."; + description + "Greater than"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container ge { + presence "Indicates the node is configured."; + description + "Greater than or equal to"; + leaf threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + container rg { + presence "Indicates the node is configured."; + description + "Not in range"; + leaf start-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + leaf end-threshold-value { + type uint32 { + range "0..4294967295" { + description + "Threshold value"; + } + } + mandatory true; + description + "Threshold value"; + } + } + } + } + } + } + } + container apply { + description + "Start data collection and/or threshold monitoring"; + container monitor { + description + "Start data collection for a monitored instance"; + container interface { + description + "Perform monitoring for an interface"; + container basic-counters { + description + "Perform monitoring for basic-counters"; + list interface { + key "interface-name"; + description + "Perform monitoring for basic-counters"; + leaf interface-name { + type xr:Interface-name; + description + "Perform monitoring for basic-counters"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + container generic-counters { + description + "Perform monitoring for generic-counters"; + list interface { + key "interface-name"; + description + "Perform monitoring for generic-counters"; + leaf interface-name { + type xr:Interface-name; + description + "Perform monitoring for generic-counters"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + container data-rates { + description + "Perform monitoring for data-rates"; + list interface { + key "interface-name"; + description + "Perform monitoring for data-rates"; + leaf interface-name { + type xr:Interface-name; + description + "Perform monitoring for data-rates"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container node { + description + "Perform monitoring for node"; + container cpu { + description + "Perform collection for CPU"; + container locations { + description + "Specify the location to collect from"; + list location { + key "location-name"; + description + "Specify the location to collect from"; + leaf location-name { + type xr:Node-id; + description + "Specify the location to collect from"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container memory { + description + "Perform collection for memory"; + container locations { + description + "Specify the location to collect from"; + list location { + key "location-name"; + description + "Specify the location to collect from"; + leaf location-name { + type xr:Node-id; + description + "Specify the location to collect from"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container process { + description + "Perform collection for process"; + container locations { + description + "Specify the location to collect from"; + list location { + key "location-name"; + description + "Specify the location to collect from"; + leaf location-name { + type xr:Node-id; + description + "Specify the location to collect from"; + } + list process { + key "process-id"; + description + "Specify a process"; + leaf process-id { + type uint32 { + range "0..4294967295" { + description + "Enter the process id"; + } + } + description + "Specify a process"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + } + } + list bgp { + key "address"; + description + "Monitor bgp protocol"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Monitor bgp protocol"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + container mpls { + description + "Perform monitoring for mpls"; + container te-tunnels { + description + "Perform monitoring for traffic engineering tunnels"; + list te-tunnel { + key "interface-name"; + description + "Perform monitoring for traffic engineering tunnels"; + leaf interface-name { + type xr:Interface-name; + description + "Perform monitoring for traffic engineering tunnels"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + container ldps { + description + "Perform monitoring for ldp"; + list ldp { + key "address"; + description + "Perform monitoring for ldp"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Perform monitoring for ldp"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container ospf { + description + "Perform monitoring for OSPF"; + container v2protocols { + description + "Perform monitoring for OSPF v2 Protocol"; + list v2protocol { + key "instance-name"; + description + "Perform monitoring for OSPF v2 Protocol"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Select an instance"; + } + } + description + "Perform monitoring for OSPF v2 Protocol"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + container v3protocols { + description + "Perform monitoring for OSPF v3 Protocol"; + list v3protocol { + key "instance-name"; + description + "Perform monitoring for OSPF v3 Protocol"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Select an instance"; + } + } + description + "Perform monitoring for OSPF v3 Protocol"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + } + container statistics { + description + "Start periodic collection using a defined a template"; + container interface { + description + "Perform data collection for interfaces"; + container basic-counters { + description + "Perform statistics collection for basic-counters"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container generic-counters { + description + "Perform statistics collection for generic-counters"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container data-rates { + description + "Perform statistics collection for data-rates"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + } + container node { + description + "Perform collection for node"; + container cpu { + description + "Perform collection for CPU"; + container location { + description + "Specify the location to collect from"; + container all { + description + "For all nodes in the LR"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + list location { + key "location-id"; + description + "Specify the location to collect from"; + leaf location-id { + type xr:Node-id; + description + "Fully qualified location specification"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container memory { + description + "Perform collection for memory"; + container location { + description + "Specify the location to collect from"; + container all { + description + "For all nodes in the LR"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + list location { + key "location-id"; + description + "Specify the location to collect from"; + leaf location-id { + type xr:Node-id; + description + "Fully qualified location specification"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container process { + description + "Perform collection for process"; + container location { + description + "Specify the location to collect from"; + container all { + description + "For all nodes in the LR"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + list location { + key "location-id"; + description + "Specify the location to collect from"; + leaf location-id { + type xr:Node-id; + description + "Fully qualified location specification"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + } + container bgp { + description + "Perform data collection for bgp"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container mpls { + description + "Perform statistics collection for mpls"; + container ldp { + description + "Perform collection for labels distribution protocol"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + } + container ospf { + description + "Perform data collection for OSPF"; + container v2protocol { + description + "Perform statistics collection for OSPF v2 protocol data"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container v3protocol { + description + "Perform statistics collection for OSPF v3 protocol data"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container thresholds { + description + "Start threshold monitoring using a defined template"; + container interface { + description + "Perform threshold monitoring for interface"; + container basic-counters { + description + "Perform threshold checking for basic-counters"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container generic-counters { + description + "Perform threshold checking for generic-counters"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container data-rates { + description + "Perform threshold checking for data-rates"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + } + container node { + description + "Perform threshold monitoring for node"; + container cpu { + description + "Perform threshold checking for CPU"; + container location { + description + "Specify the location to collect from"; + container all { + description + "For all nodes in the LR"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + list location { + key "location-id"; + description + "Specify the location to collect from"; + leaf location-id { + type xr:Node-id; + description + "Fully qualified location specification"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container memory { + description + "Perform threshold checking for memory"; + container location { + description + "Specify the location to collect from"; + container all { + description + "For all nodes in the LR"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + list location { + key "location-id"; + description + "Specify the location to collect from"; + leaf location-id { + type xr:Node-id; + description + "Fully qualified location specification"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + container process { + description + "Perform threshold checking for process"; + container location { + description + "Specify the location to collect from"; + container all { + description + "For all nodes in the LR"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + list location { + key "location-id"; + description + "Specify the location to collect from"; + leaf location-id { + type xr:Node-id; + description + "Fully qualified location specification"; + } + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + mandatory true; + description + "Specify an existing template or default template for data collection"; + } + } + } + } + } + container bgp { + description + "Perform threshold monitoring for bgp"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container mpls { + description + "Perform threshold monitoring for mpls"; + container ldp { + description + "Perform threshold checking for ldp counters"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + } + container ospf { + description + "Perform threshold monitoring for OSPF"; + container v2protocol { + description + "Perform threshold checking for OSPF v2 Protocol"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + container v3protocol { + description + "Perform threshold checking for OSPF v3 Protocol"; + leaf template-name { + type union { + type string { + pattern "default" { + description + "Apply the default template"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Specify an existing template for data collection"; + } + } + } + description + "Specify an existing template or default template for data collection"; + } + } + } + } + } + container resources { + description + "Resources configuration"; + container tftp-server { + presence "Indicates a tftp-server node is configured."; + description + "Configure tftp server parameters"; + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Tftp server IP address"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of VRF"; + } + } + } + description + "VRF name for TFTP service"; + } + leaf directory { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Enter the directory name"; + } + } + description + "Directory Name"; + } + } + container dump { + description + "Configure data dump parameters"; + container local { + presence "Indicates a local node is configured."; + description + "Dump onto local filesystem"; + } + } + container memory { + description + "Configure memory usage limits"; + leaf max-limit { + type uint32 { + range "0..4294967295" { + description + "Specify maximum memory limit in Kbytes"; + } + } + must "../min-reserved"; + description + "Maximum limit for memory usage for data buffers"; + } + leaf min-reserved { + type uint32 { + range "0..4294967295" { + description + "Specify free memory amount in Kbytes"; + } + } + must "../max-limit"; + description + "Ensure a minimum free memory before allowing a collection request"; + } + } + } + container regular-expressions { + description + "Configure regular expression"; + list regular-expression { + key "regular-expression-name"; + description + "Configure regular expression"; + leaf regular-expression-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Regular expression name"; + } + } + description + "Configure regular expression"; + } + container indexes { + description + "Specify a regular expression index"; + list index { + key "index-number"; + description + "Specify a regular expression index"; + leaf index-number { + type uint32 { + range "1..100" { + description + "Index number"; + } + } + description + "Specify a regular expression index"; + } + leaf regular-expression-string { + type string { + length "1..128" { + description + "Regular expression string to match"; + } + } + mandatory true; + description + "Regular expression string to match"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-policymap-classmap-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-policymap-classmap-cfg.yang new file mode 100644 index 000000000..aa44ea6a2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-policymap-classmap-cfg.yang @@ -0,0 +1,5030 @@ +module Cisco-IOS-XR-um-policymap-classmap-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-policymap-classmap-cfg"; + prefix um-policymap-classmap-cfg; + + import cisco-semver { + prefix semver; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-types { + prefix xr2; + } + + organization + "Cisco Systems, Inc."; + contact + " + Cisco Systems, Inc. + Customer Service + + 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 IOS-XR YANG model derived from CLI. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved. + "; + + revision 2022-03-31 { + description + "Including 0 value in the range for the police rate and peak-rate configs"; + semver:module-version "2.1.0"; + } + revision 2021-05-11 { + description + "Removed MUST check under policy-map/qos/class for + not(random-detect-default and random-detect)"; + semver:module-version "2.0.0"; + } + revision 2020-01-27 { + description + "Added discard-class node under queue-limit"; + semver:module-version "1.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-04-01 { + description + "Initial version"; + } + + feature pmap-type-qos { + description + "QoS policy-map"; + } + + feature pmap-type-pbr { + description + "PBR policy-map"; + } + + feature pmap-type-accounting { + description + "Accounting policy-map"; + } + + feature pmap-type-redirect { + description + "Redirect policy-map"; + } + + feature pmap-type-traffic { + description + "Traffic policy-map"; + } + + feature pmap-type-control { + description + "Subscriber control policy-map"; + } + + feature pmap-type-afmon { + description + "Peformance traffic policy-map"; + } + + feature cmap-type-qos { + description + "QOS class-map"; + } + + feature cmap-type-traffic { + description + "Traffic class-map"; + } + + feature match-ipv4-acl { + description + "Match based on ipv4 ACL"; + } + + feature match-ipv6-acl { + description + "Match based on ipv6 ACL"; + } + + feature match-ethernet-services-acl { + description + "Match based on Ethernet Services"; + } + + feature match-ipv4-dscp { + description + "Match based on ipv4 DSCP"; + } + + feature match-ipv4-prec { + description + "Match based on ipv4 precedence"; + } + + feature match-ipv6-dscp { + description + "Match based on ipv6 DSCP"; + } + + feature match-ipv6-prec { + description + "Match based on ipv6 precedence"; + } + + feature match-dscp { + description + "Match based on DSCP"; + } + + feature match-prec { + description + "Match based on precedence"; + } + + feature match-proto { + description + "Match based on protocol"; + } + + feature match-mpls-exp-top { + description + "Match based on mpls experimental topmost"; + } + + feature match-cos { + description + "Match based on COS"; + } + + feature match-cos-inner { + description + "Match inner based on COS"; + } + + feature match-vlan { + description + "Match based on Vlan Ids"; + } + + feature match-vlan-inner { + description + "Match based on inner Vlan Ids"; + } + + feature match-source-port { + description + "Match based on source port"; + } + + feature match-destination-port { + description + "Match based on destination port"; + } + + feature match-src-mac { + description + "Match based on MAC source address"; + } + + feature match-dst-mac { + description + "Match based on MAC destination address"; + } + + feature match-src-addr-ipv4 { + description + "Match based on ipv4 source address"; + } + + feature match-dst-addr-ipv4 { + description + "Match based on ipv4 destination address"; + } + + feature match-src-addr-ipv6 { + description + "Match based on ipv6 source address"; + } + + feature match-dst-addr-ipv6 { + description + "Match based on ipv6 destination address"; + } + + feature match-atm { + description + "Match based on ATM specific criteria"; + } + + feature match-cac { + description + "Match based on CAC fields"; + } + + feature match-dei { + description + "Match based on DEI bit"; + } + + feature match-dei-inner { + description + "Match inner based on DEI bit"; + } + + feature match-discard-class { + description + "Match based on discard class"; + } + + feature match-ethertype { + description + "Match based on ethertype"; + } + + feature match-flow-key { + description + "Match based on flow keys"; + } + + feature match-fragment-type { + description + "Match based on fragment type"; + } + + feature match-fr-de { + description + "Match based on FrameRelay DE bit"; + } + + feature match-fr { + description + "Match based on frame-relay specific criteria"; + } + + feature match-mpls-disp-ipv4-acl { + description + "Match based on MPLS Label Disposition IPv4 access list"; + } + + feature match-mpls-disp-ipv6-acl { + description + "Match based on MPLS Label Disposition IPv6 access list"; + } + + feature match-mpls-disp-cmap { + description + "Match based on MPLS Label Disposition class-map"; + } + + feature match-mpls-exp-imposition { + description + "Match based on MPLS experimental imposition label"; + } + + feature match-ipv4-packet-length { + description + "Match based on IPV4 packet length"; + } + + feature match-ipv6-packet-length { + description + "Match based on IPV6 packet length"; + } + + feature match-authen-status { + description + "Match based on authentication status"; + } + + feature match-timer { + description + "Match based on timer"; + } + + feature match-username { + description + "Match based on user name"; + } + + feature match-vpls-known { + description + "Match based on VPLS field known"; + } + + feature match-vpls-unknown { + description + "Match based on VPLS field unknown"; + } + + feature match-vpls-control { + description + "Match based on VPLS field control"; + } + + feature matchnot-ipv4-acl { + description + "Not match based on IPV4 access-list"; + } + + feature matchnot-ipv6-acl { + description + "Not match based on IPV6 access-list"; + } + + feature matchnot-es-acl { + description + "Not match based on ethernet services access-list"; + } + + feature matchnot-cac-local { + description + "Not match based on CAC"; + } + + feature matchnot-dei { + description + "Not match based on DEI bit"; + } + + feature matchnot-authen-status { + description + "Not match based on authentication status"; + } + + feature matchnot-protocol { + description + "Not match based on protocol"; + } + + feature matchnot-timer { + description + "Not match based on timer"; + } + + feature matchnot-username { + description + "Not match based on user name"; + } + + feature matchnot-ethertype { + description + "Not match based on ethertype"; + } + + feature matchnot-fr-de { + description + "Not match based on FR DE"; + } + + feature matchnot-fr { + description + "Not match based on FrameRelay"; + } + + feature matchnot-ipv4-packet-length { + description + "Not match based on IPV4 packet length"; + } + + feature matchnot-ipv6-packet-length { + description + "Not match based on IPV6 packet length"; + } + + feature matchnot-vlan { + description + "Not match based on Vlan Ids"; + } + + feature matchnot-vlan-inner { + description + "Not match based on inner Vlan Ids"; + } + + feature matchnot-vpls-known { + description + "Not match based on VPLS field known"; + } + + feature matchnot-vpls-unknown { + description + "Not match based on VPLS field unknown"; + } + + feature matchnot-vpls-bcast { + description + "Not match based on VPLS field broadcast"; + } + + feature matchnot-vpls-control { + description + "Not match based on VPLS field control"; + } + + feature matchnot-vpls-mcast { + description + "Not match based on VPLS field multicast"; + } + + feature matchnot-flow-tag { + description + "Not match based on flow-tag"; + } + + feature matchnot-mac-address { + description + "Not match based on MAC address"; + } + + feature matchnot-mpls-disp-ipv4-acl { + description + "Not match based on MPLS Label Disposition IPv4 access list"; + } + + feature matchnot-mpls-disp-ipv6-acl { + description + "Not match based on MPLS Label Disposition IPv6 access list"; + } + + feature action-compress-header-ip { + description + "IP header compression action"; + } + + feature action-encap-sequence { + description + "Encapsulation sequence action"; + } + + feature action-authenticate { + description + "Authentication related action"; + } + + feature action-authorize { + description + "Authorization related action"; + } + + feature action-disconnect { + description + "Disconnect session"; + } + + feature action-monitor { + description + "Monitor session"; + } + + feature action-set-timer { + description + "Set a timer to execute a rule on its expiry"; + } + + feature action-stop-timer { + description + "Disable timer before it expires"; + } + + feature action-http-redirect { + description + "HTTP redirect action"; + } + + feature action-http-enrichment { + description + "HTTP enrichment action"; + } + + feature action-redirect-nexthop { + description + "PBF redirect nexthop action"; + } + + feature action-redirect-rt { + description + "Forward to specific route-target"; + } + + feature action-service-function { + description + "NSH service function action"; + } + + feature action-set-dst-address { + description + "Set destination address"; + } + + feature action-set-df { + description + "Set DF bit"; + } + + feature action-set-fwd-class { + description + "Set forward class"; + } + + feature action-set-src-address { + description + "Set source address"; + } + + feature action-transmit { + description + "Forward packet to the original destination"; + } + + feature action-decap-gre { + description + "Decapsulate GRE packet"; + } + + feature action-react { + description + "Generate alert on specific event"; + } + + feature action-react-snmp { + description + "Report via snmp"; + } + + feature action-react-alarm { + description + "Alarms"; + } + + feature action-react-grouped-alarm { + description + "Grouped alarms"; + } + + feature action-cac { + description + "Call admission control action"; + } + + feature action-bandwidth { + description + "Bandwidth"; + } + + feature action-service-fragment { + description + "Refer to an existing service fragment"; + } + + feature action-pfc { + description + "PFC feature"; + } + + feature action-police-peak-burst { + description + "Excess burst size"; + } + + feature action-police-conform-color { + description + "Conform color class for color aware policing"; + } + + feature action-police-exceed-color { + description + "Exceed color class for color aware policing"; + } + + feature action-police-coupled { + description + "Coupled policing"; + } + + feature action-police-set-fr-de { + description + "Set frame relay discard-eligible bit"; + } + + feature action-set-atm-clp { + description + "Set atm cell-loss-priority bit"; + } + + feature action-set-traffic-class { + description + "Set the Traffic Class identifiers on IPv4 or MPLS packets"; + } + + feature action-shape-burst { + description + "Excess burst size"; + } + + typedef trigger-value { + type string { + pattern "-{0,1}[0-9]+(\\\\.[0-9]+){0,1}"; + } + description + "Limit as a number"; + } + + typedef event-type { + type enumeration { + enum "account-logoff" { + description + "Account logoff event"; + } + enum "account-logon" { + description + "Account logon event"; + } + enum "authentication-failure" { + description + "Authentication failure event"; + } + enum "authentication-no-response" { + description + "Authentication no response event"; + } + enum "authorization-failure" { + description + "Authorization failure event"; + } + enum "authorization-no-response" { + description + "Authorization no response event"; + } + enum "authorize-dhcp-renew" { + description + "Authorize dhcp renew packet event"; + } + enum "credit-exhausted" { + description + "Credit exhaustion event"; + } + enum "exception" { + description + "Exception event"; + } + enum "idle-timeout" { + description + "Idle timeout event"; + } + enum "quota-depleted" { + description + "Quota depletion event"; + } + enum "service-start" { + description + "Service start event"; + } + enum "service-stop" { + description + "Service stop event"; + } + enum "session-activate" { + description + "Session activate event"; + } + enum "session-established" { + description + "session is in activated state (address is assigned to session)"; + } + enum "session-identity-change" { + description + "session identity change event"; + } + enum "session-start" { + description + "Session start event"; + } + enum "session-stop" { + description + "Session stop event"; + } + enum "session-umi-report" { + description + "session umi report event"; + } + enum "timer-expiry" { + description + "Timer expiry event"; + } + } + } + + typedef dscp-value { + type union { + type uint8 { + range "0..63"; + } + type string { + pattern "([0-9]{1,2})-([0-9]{1,2})" { + description + "<0-63>-<0-63>"; + } + } + type enumeration { + enum "af11" { + 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)"; + } + } + } + description + "Differentiated services codepoint value"; + } + + typedef protocol-type { + type union { + type uint8 { + range "0..255" { + description + "An IP Protocol Number"; + } + } + type string { + pattern "([0-9]{1,3})-([0-9]{1,3})" { + description + "Lower/upper limit of protocol range (<0-255>-<0-255>)"; + } + } + type enumeration { + enum "ahp" { + description + "Authentication Header Protocol"; + } + enum "eigrp" { + description + "Cisco's EIGRP Routing Protocol"; + } + enum "esp" { + description + "Encapsulation Security Payload"; + } + enum "gre" { + description + "Cisco's GRE Tunneling"; + } + enum "icmp" { + description + "Internet Control Message Protocol"; + } + enum "igmp" { + description + "Internet Gateway Message Protocol"; + } + enum "igrp" { + description + "Cisco's IGRP Routing Protocol"; + } + enum "ipinip" { + description + "IP in IP tunneling"; + } + enum "ipv4" { + description + "Any IPv4 Protocol"; + } + enum "ipv6" { + description + "Any IPv6 Protocol"; + } + enum "ipv6icmp" { + description + "IPV6Internet Control Message Protocol"; + } + enum "mpls" { + description + "Any MPLS Packet"; + } + enum "nos" { + description + "KA9Q NOS Compatible IP over IP Tunneling"; + } + enum "ospf" { + description + "OSPF Routing Protocol"; + } + enum "pcp" { + description + "Payload Compression Protocol"; + } + enum "pim" { + description + "Protocol Independent Multicast"; + } + enum "sctp" { + description + "Stream Control Transmission Protocol"; + } + enum "tcp" { + description + "Transport Control Protocol"; + } + enum "udp" { + description + "User Datagram Protocol"; + } + } + } + } + + typedef acl-list-name-type { + type string { + length "1..64"; + } + description + "Access list name"; + } + + typedef packet-length-type { + type union { + type uint16 { + range "0..65535"; + } + type string { + pattern "([0-9]{1,5})-([0-9]{1,5})" { + description + "Lower/upper limit of packet length to match (<0-65535>-<0-65535>)"; + } + } + } + description + "IP packet length"; + } + + typedef precedence-type { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum "critical" { + description + "Critical precedence (5)"; + } + enum "flash" { + description + "Flash precedence (3)"; + } + enum "flash-override" { + description + "Flash override precedence (4)"; + } + enum "immediate" { + description + "Immediate precedence (2)"; + } + enum "internet" { + description + "Internetwork control precedence (6)"; + } + enum "network" { + description + "Network control precedence (7)"; + } + enum "priority" { + description + "Priority precedence (1)"; + } + enum "routine" { + description + "Routine precedence (0)"; + } + } + } + description + "Precedence value"; + } + + typedef port-number-type { + type union { + type uint16 { + range "0..65535" { + description + "A Port Number"; + } + } + type string { + pattern "([0-9]+)-([0-9]+)" { + description + "Lower/upper imit of the Port range"; + } + } + } + } + + typedef vlan-id-type { + type union { + type uint16 { + range "1..4094" { + description + "Vlan Id"; + } + } + type string { + pattern "([1-9][0-9]{0,3})-([1-9][0-9]{0,3})" { + description + "Lower/upper limit of the Vlan Id range (<1-4094>-<1-4094>)"; + } + } + } + } + + typedef clear-text-password-type { + type string; + description + "Clear text password"; + } + + typedef flow-monitor-map-name-type { + type string { + length "1..32"; + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}"; + } + description + "Name of the flow monitor map"; + } + + typedef clone-interface-type { + type xr2:Interface-name { + pattern "^(Loopback)"; + } + description + "Specify an interface"; + } + + typedef rate-unit-type { + type enumeration { + enum "bps" { + description + "Bits per second (default)"; + } + enum "gbps" { + description + "Gigabits per second"; + } + enum "kbps" { + description + "Kilobits per second"; + } + enum "mbps" { + description + "Megabits per second"; + } + enum "cellsps" { + description + "Cells per second"; + } + enum "pps" { + description + "Packets per second"; + } + } + } + + typedef burst-unit-type { + type enumeration { + enum "bytes" { + description + "Bytes (default)"; + } + enum "gbytes" { + description + "Gigabytes"; + } + enum "kbytes" { + description + "Kilobytes"; + } + enum "mbytes" { + description + "Megabytes"; + } + enum "ms" { + description + "Milliseconds"; + } + enum "us" { + description + "Microseconds"; + } + enum "packets" { + description + "Packets"; + } + } + } + + typedef wred-unit-type { + type enumeration { + enum "bytes" { + description + "Bytes"; + } + enum "gbytes" { + description + "Gigabytes"; + } + enum "kbytes" { + description + "Kilobytes"; + } + enum "mbytes" { + description + "Megabytes"; + } + enum "ms" { + description + "Milliseconds"; + } + enum "us" { + description + "Microseconds"; + } + enum "packets" { + description + "Packets (default)"; + } + } + } + + typedef cac-unit-type { + type enumeration { + enum "bps" { + description + "Bits per second"; + } + enum "gbps" { + description + "Gigabits per second"; + } + enum "kbps" { + description + "Kilobits per second (default)"; + } + enum "mbps" { + description + "Megabits per second"; + } + enum "cellsps" { + description + "Cells per second"; + } + } + } + + typedef pfc-unit-type { + type enumeration { + enum "bytes" { + description + "Bytes"; + } + enum "gbytes" { + description + "Gigabytes"; + } + enum "kbytes" { + description + "Kilobytes"; + } + enum "mbytes" { + description + "Megabytes"; + } + enum "ms" { + description + "Milliseconds"; + } + enum "us" { + description + "Microseconds"; + } + enum "cells" { + description + "Cells"; + } + enum "packets" { + description + "Packets"; + } + } + } + + typedef service-policy-name-type { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}"; + } + } + + grouping class-map-common { + leaf class-map-name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + container match-all { + presence "Match all match criteria"; + description + "Match all match criteria"; + } + container match-any { + presence "Match any match criteria (default)"; + description + "Match any match criteria (default)"; + } + leaf description { + type string; + description + "Set description for this class-map"; + } + } + + grouping match-access-group { + container access-group { + description + "Match access group"; + leaf-list ipv4 { + if-feature "match-ipv4-acl"; + type acl-list-name-type; + description + "IPv4 access list"; + } + leaf-list ipv6 { + if-feature "match-ipv6-acl"; + type acl-list-name-type; + description + "IPv6 access list"; + } + leaf-list ethernet-services { + if-feature "match-ethernet-services-acl"; + type acl-list-name-type; + description + "Ethernet-Services"; + } + } + } + + grouping match-atm { + container atm { + if-feature "match-atm"; + description + "Match based on ATM specific criteria"; + leaf-list clp { + type uint8 { + range "0..1"; + } + max-elements "2"; + ordered-by user; + description + "Match ATM CLP bit"; + } + container oam { + presence "Match ATM OAM"; + description + "Match ATM OAM"; + } + } + } + + grouping match-cac { + container cac { + if-feature "match-cac"; + description + "Match based on CAC fields"; + container admitted { + presence "Match packets admitted by CAC action"; + description + "Match packets admitted by CAC action"; + } + container unadmitted { + presence "Match packets unadmitted by CAC action"; + description + "Match packets unadmitted by CAC action"; + } + } + } + + grouping match-cos { + container cos { + if-feature "match-cos"; + description + "Match based on IEEE 802.1Q/ISL Class Of Service value"; + leaf-list value { + type uint8 { + range "0..7"; + } + max-elements "8"; + description + "COS value"; + } + } + container cos-inner { + if-feature "match-cos-inner"; + description + "Match inner cos values"; + leaf-list value { + type uint8 { + range "0..7"; + } + max-elements "8"; + description + "inner cos value (Upto 8 values)"; + } + } + } + + grouping match-dei { + leaf dei { + if-feature "match-dei"; + type uint8 { + range "0..1" { + description + "DEI value"; + } + } + must "not(../dei-inner)"; + description + "Match based on DEI bit (0/1)"; + } + leaf dei-inner { + if-feature "match-dei-inner"; + type uint8 { + range "0..1" { + description + "DEI value"; + } + } + must "not(../dei)"; + description + "Match inner based on DEI bit (0/1)"; + } + } + + grouping match-destination-address { + container destination-address { + description + "Match based on destination address"; + container ipv4 { + if-feature "match-dst-addr-ipv4"; + description + "Match based on destination IPv4 address"; + list address-prefix { + key "address netmask"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IPv4 netmask."; + } + } + } + container ipv6 { + if-feature "match-dst-addr-ipv6"; + description + "Match based on destination IPv6 address"; + list address-prefix { + key "address prefix-length"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address."; + } + leaf prefix-length { + type uint8 { + range "0..128"; + } + description + "Length of the IPv6 Prefix."; + } + } + } + leaf mac { + if-feature "match-dst-mac"; + type yang:mac-address; + description + "MAC Address"; + } + } + } + + grouping matchnot-destination-address { + container destination-address { + description + "Match based on destination address"; + container ipv4 { + description + "Match based on destination IPv4 address"; + list address-prefix { + key "address netmask"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IPv4 netmask."; + } + } + } + container ipv6 { + description + "Match based on destination IPv6 address"; + list address-prefix { + key "address prefix-length"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address."; + } + leaf prefix-length { + type uint8 { + range "0..128"; + } + description + "Length of the IPv6 Prefix."; + } + } + } + leaf mac { + if-feature "matchnot-mac-address"; + type yang:mac-address; + description + "MAC Address"; + } + } + } + + grouping match-destination-port { + container destination-port { + if-feature "match-destination-port"; + description + "Match based on destination port"; + leaf-list port-number { + type port-number-type; + max-elements "5"; + description + "destination port"; + } + } + } + + grouping match-discard-class { + container discard-class { + if-feature "match-discard-class"; + description + "Match based on discard class"; + leaf-list id { + type uint8 { + range "0..7"; + } + max-elements "8"; + description + "Discard CLass Id"; + } + } + } + + grouping match-dscp { + container dscp { + if-feature "match-dscp"; + description + "Match based on IP DSCP value"; + leaf-list value { + type dscp-value; + description + "DSCP value"; + } + } + container dscp-ipv4 { + if-feature "match-ipv4-dscp"; + description + "Match based on IPv4 DSCP value"; + leaf-list value { + type dscp-value; + description + "DSCP value"; + } + } + container dscp-ipv6 { + if-feature "match-ipv6-dscp"; + description + "Match based on IPv6 DSCP value"; + leaf-list value { + type dscp-value; + description + "DSCP value"; + } + } + } + + grouping match-ethertype { + container ethertype { + if-feature "match-ethertype"; + description + "Match based on ethertype"; + leaf-list value { + type union { + type uint16 { + range "1536..65535"; + } + type enumeration { + enum "arp" { + value 0; + description + "Any ARP Ethertype"; + } + enum "ipv4" { + value 1; + description + "Any IPv4 Ethertype"; + } + enum "ipv6" { + value 2; + description + "Any IPv6 Ethertype"; + } + } + } + max-elements "8"; + description + "Ethertype Value"; + } + } + } + + grouping match-flow-key { + container flow-key { + if-feature "match-flow-key"; + description + "Match based on flow keys"; + container five-tuple { + must "not(../dst-ip or ../src-ip)"; + presence "Five tuples to identify a flow"; + description + "Five tuples to identify a flow"; + } + container dst-ip { + must "not(../five-tuple)"; + presence "Destination IP address"; + description + "Destination IP address"; + } + container src-ip { + must "not(../five-tuple)"; + presence "Source IP address"; + description + "Source IP address"; + } + container flow-cache { + description + "Configure the flow-cache parameters"; + leaf idle-timeout { + type union { + type uint16 { + range "1..65534" { + description + "The idle timeout period (in seconds)"; + } + } + type enumeration { + enum "None" { + value 0; + description + "The flow does not expire"; + } + } + } + description + "Maximum time of inactivity for a flow."; + } + } + } + } + + grouping match-flow-tag { + container flow-tag { + if-feature "matchnot-flow-tag"; + description + "Match based on flow-tag"; + leaf-list tag-number { + type union { + type uint8 { + range "1..63"; + } + type string { + pattern "([1-9][0-9]{0,1})-([1-9][0-9]{0,1})" { + description + "<1-63>-<1-63>"; + } + } + } + max-elements "5"; + description + "flow-tag number"; + } + } + } + + grouping match-fr-de { + leaf fr-de { + if-feature "match-fr-de"; + type union { + type string { + pattern "1"; + } + type uint8 { + range "0..1"; + } + } + description + "Match based on FrameRelay DE bit"; + } + } + + grouping match-fragment-type { + container fragment-type { + if-feature "match-fragment-type"; + description + "Fragment type for a packet"; + container dont-fragment { + presence "Match don't-Fragment bit"; + description + "Match don't-Fragment bit"; + } + container first-fragment { + presence "Match first fragment bit"; + description + "Match first fragment bit"; + } + container is-fragment { + presence "Match is-fragment bit"; + description + "Match is-fragment bit"; + } + container last-fragment { + presence "Match last fragment bit"; + description + "Match last fragment bit"; + } + } + } + + grouping match-frame-relay { + container frame-relay { + if-feature "match-fr"; + description + "Match based on frame-relay specific criteria"; + leaf-list dlci { + type union { + type uint16 { + range "16..1007"; + } + type string { + pattern "([1-9][0-9]{1,3})-([1-9][0-9]{1,3})" { + description + "<16-1007>-<16-1007>"; + } + } + } + max-elements "8"; + description + "Match frame-relay dlci value(s)"; + } + } + } + + grouping match-ipv4 { + container ipv4 { + description + "Match based on ipv4 icmp"; + container icmp-code { + description + "Match based on ipv4 icmp code"; + leaf-list value { + type union { + type uint8 { + range "0..255"; + } + type string { + pattern "([0-9]{1,3})-([0-9]{1,3})" { + description + "<0-255>-<0-255>"; + } + } + } + max-elements "5"; + description + "IPv4 ICMP code"; + } + } + container icmp-type { + description + "Match based on ipv4 icmp type"; + leaf-list value { + type union { + type uint8 { + range "0..255"; + } + type string { + pattern "([0-9]{1,3})-([0-9]{1,3})" { + description + "<0-255>-<0-255>"; + } + } + } + max-elements "5"; + description + "IPv4 ICMP type"; + } + } + } + } + + grouping match-ipv6 { + container ipv6 { + description + "Match based on IPv6"; + container icmp-code { + description + "IPv6 ICMP code"; + leaf-list value { + type union { + type uint8 { + range "0..255"; + } + type string { + pattern "([0-9]{1,3})-([0-9]{1,3})" { + description + "<0-255>-<0-255>"; + } + } + } + max-elements "5"; + description + "ICMP code"; + } + } + container icmp-type { + description + "IPv6 ICMP type"; + leaf-list value { + type union { + type uint8 { + range "0..255"; + } + type string { + pattern "([0-9]{1,3})-([0-9]{1,3})" { + description + "<0-255>-<0-255>"; + } + } + } + max-elements "5"; + description + "ICMP type"; + } + } + } + } + + grouping match-mpls { + container mpls { + description + "Match based on MPLS specific values"; + container disposition { + description + "Match MPLS Label Disposition"; + container access-group { + description + "access group"; + leaf ipv4 { + if-feature "match-mpls-disp-ipv4-acl"; + type string { + length "1..64"; + } + description + "IPv4 access list"; + } + leaf ipv6 { + if-feature "match-mpls-disp-ipv6-acl"; + type string { + length "1..64"; + } + description + "IPv6 access list"; + } + } + leaf class-map { + if-feature "match-mpls-disp-cmap"; + type string { + length "1..32"; + } + description + "class-map name"; + } + } + container experimental { + description + "Match MPLS experimental values"; + container imposition { + if-feature "match-mpls-exp-imposition"; + description + "Match imposition label"; + leaf-list label { + type uint8 { + range "0..7"; + } + max-elements "8"; + description + "MPLS experimental label"; + } + } + container topmost { + if-feature "match-mpls-exp-top"; + description + "Match topmost label"; + leaf-list label { + type uint8 { + range "0..7"; + } + max-elements "8"; + description + "MPLS experimental label"; + } + } + } + } + } + + grouping matchnot-mpls { + container mpls { + description + "Match based on MPLS specific values"; + container disposition { + description + "Match MPLS Label Disposition"; + container access-group { + description + "access group"; + leaf ipv4 { + if-feature "matchnot-mpls-disp-ipv4-acl"; + type string { + length "1..64"; + } + description + "IPv4 access list"; + } + leaf ipv6 { + if-feature "matchnot-mpls-disp-ipv6-acl"; + type string { + length "1..64"; + } + description + "IPv6 access list"; + } + } + } + container experimental { + description + "Match MPLS experimental values"; + container topmost { + description + "Match topmost label"; + leaf-list label { + type uint8 { + range "0..7"; + } + max-elements "8"; + description + "MPLS experimental label"; + } + } + } + } + } + + grouping match-packet { + container packet { + description + "Match based on packet length"; + container length { + description + "Packet length"; + leaf-list value { + type packet-length-type; + max-elements "5"; + description + "IP Packet Length"; + } + } + container length-ipv4 { + if-feature "match-ipv4-packet-length"; + description + "IPV4 Packet Length"; + leaf-list value { + type packet-length-type; + max-elements "5"; + } + } + container length-ipv6 { + if-feature "match-ipv6-packet-length"; + description + "IPV6 Packet Length"; + leaf-list value { + type packet-length-type; + max-elements "5"; + } + } + } + } + + grouping matchnot-packet { + container packet { + description + "Match based on packet length"; + container length { + description + "Packet length"; + leaf-list value { + type packet-length-type; + max-elements "5"; + description + "IP Packet Length"; + } + } + container length-ipv4 { + if-feature "matchnot-ipv4-packet-length"; + description + "IPV4 Packet Length"; + leaf-list value { + type packet-length-type; + max-elements "5"; + } + } + container length-ipv6 { + if-feature "matchnot-ipv6-packet-length"; + description + "IPV6 Packet Length"; + leaf-list value { + type packet-length-type; + max-elements "5"; + } + } + } + } + + grouping match-precedence { + container precedence { + if-feature "match-prec"; + description + "Match based on IP precedence values"; + leaf-list value { + type precedence-type; + max-elements "8"; + description + "IP precedence"; + } + } + container precedence-ipv4 { + if-feature "match-ipv4-prec"; + description + "Match based on IPV4 precedence"; + leaf-list value { + type precedence-type; + max-elements "8"; + description + "IPV4 precedence"; + } + } + container precedence-ipv6 { + if-feature "match-ipv6-prec"; + description + "Match based on IPV6 precedence"; + leaf-list value { + type precedence-type; + max-elements "8"; + description + "IPV6 precedence"; + } + } + } + + grouping match-protocol { + container protocol { + description + "Match based on L3 protocol (Upto 8 values or ranges)"; + leaf-list number { + type protocol-type; + max-elements "8"; + description + "Protocol Number"; + } + } + } + + grouping match-qos-group { + container qos-group { + description + "Match based on QoS Group"; + leaf-list id { + type union { + type uint16 { + range "0..512"; + } + type string { + pattern "([0-9]{1,3})-([0-9]{1,3})" { + description + "Lower and upper limit of QoS Group range (<0-512>-<0-512>)"; + } + } + } + max-elements "8"; + description + "QoS Group Id"; + } + } + } + + grouping match-traffic-class { + container traffic-class { + description + "Match based on Traffic Class"; + leaf-list id { + type union { + type uint8 { + range "0..63"; + } + type string { + pattern "([0-9]{1,2})-([0-9]{1,2})" { + description + "Lower and upper limit of Traffic Class range (<0-63>-<0-63>)"; + } + } + } + max-elements "8"; + description + "Traffic Class Id"; + } + } + } + + grouping match-source-address { + container source-address { + description + "Match based on source address"; + container ipv4 { + if-feature "match-src-addr-ipv4"; + description + "Match based on source IPv4 address"; + list address-prefix { + key "address netmask"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IPv4 netmask."; + } + } + } + container ipv6 { + if-feature "match-src-addr-ipv6"; + description + "Match based on source IPv6 address"; + list address-prefix { + key "address prefix-length"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address."; + } + leaf prefix-length { + type uint8 { + range "0..128"; + } + description + "Length of the IPv6 Prefix."; + } + } + } + leaf mac { + if-feature "match-src-mac"; + type yang:mac-address; + description + "MAC Address"; + } + } + } + + grouping matchnot-source-address { + container source-address { + description + "Match based on source address"; + container ipv4 { + description + "Match based on source IPv4 address"; + list address-prefix { + key "address netmask"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf netmask { + type inet:ipv4-address-no-zone; + description + "IPv4 netmask."; + } + } + } + container ipv6 { + description + "Match based on source IPv6 address"; + list address-prefix { + key "address prefix-length"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address."; + } + leaf prefix-length { + type uint8 { + range "0..128"; + } + description + "Length of the IPv6 Prefix."; + } + } + } + leaf mac { + if-feature "matchnot-mac-address"; + type yang:mac-address; + description + "MAC Address"; + } + } + } + + grouping match-source-port { + container source-port { + if-feature "match-source-port"; + description + "Match based on source port"; + leaf-list number { + type port-number-type; + max-elements "5"; + description + "source port"; + } + } + } + + grouping match-tcp-flag { + container tcp-flag { + description + "Match based on TCP flags"; + leaf value { + type uint16 { + range "0..4095"; + } + description + "TCP flags value"; + } + container any { + presence "Match based on any bit set"; + description + "Match based on any bit set"; + } + } + } + + grouping match-vlan { + container vlan { + if-feature "match-vlan"; + description + "Match based on Vlan Ids"; + leaf-list vlan-id { + type vlan-id-type; + max-elements "8"; + description + "Vlan Id"; + } + } + container vlan-inner { + if-feature "match-vlan-inner"; + description + "Match based on inner Vlan Ids"; + leaf-list vlan-id { + type vlan-id-type; + max-elements "8"; + description + "inner Vlan Id"; + } + } + } + + grouping matchnot-vlan { + container vlan { + if-feature "matchnot-vlan"; + description + "Match based on Vlan Ids"; + leaf-list vlan-id { + type vlan-id-type; + max-elements "8"; + description + "Vlan Id"; + } + } + container vlan-inner { + if-feature "matchnot-vlan-inner"; + description + "Match based on inner Vlan Ids"; + leaf-list vlan-id { + type vlan-id-type; + max-elements "8"; + description + "inner Vlan Id"; + } + } + } + + grouping match-vpls { + container vpls { + description + "Match based on VPLS fields"; + container known { + if-feature "match-vpls-known"; + presence "VPLS Known"; + description + "VPLS Known"; + } + container unknown { + if-feature "match-vpls-unknown"; + presence "VPLS Unknown"; + description + "VPLS Unknown"; + } + container broadcast { + presence "VPLS Broadcast"; + description + "VPLS Broadcast"; + } + container control { + if-feature "match-vpls-control"; + presence "VPLS Control"; + description + "VPLS Control"; + } + container multicast { + presence "VPLS Multicast"; + description + "VPLS Multicast"; + } + } + } + + grouping matchnot-vpls { + container vpls { + description + "Match based on VPLS fields"; + container known { + if-feature "matchnot-vpls-known"; + presence "VPLS Known"; + description + "VPLS Known"; + } + container unknown { + if-feature "matchnot-vpls-unknown"; + presence "VPLS Unknown"; + description + "VPLS Unknown"; + } + container broadcast { + if-feature "matchnot-vpls-bcast"; + presence "VPLS Broadcast"; + description + "VPLS Broadcast"; + } + container control { + if-feature "matchnot-vpls-control"; + presence "VPLS Control"; + description + "VPLS Control"; + } + container multicast { + if-feature "matchnot-vpls-mcast"; + presence "VPLS Multicast"; + description + "VPLS Multicast"; + } + } + } + + grouping match-authen-status { + leaf authen-status { + if-feature "match-authen-status"; + type enumeration { + enum "authenticated" { + value 0; + description + "Authenticated"; + } + enum "unauthenticated" { + value 1; + description + "Unauthenticated"; + } + } + description + "Authentication Status"; + } + } + + grouping match-circuit-id { + container circuit-id { + description + "Match based on circuit ID"; + leaf-list value { + type string { + length "1..32" { + description + "Any string except 'regexp'"; + } + } + description + "circuit ID"; + } + } + container circuit-id-regexp { + description + "Match based on circuit ID regular expression"; + leaf-list value { + type string { + length "1..32"; + } + description + "Circuit ID regular expression"; + } + } + } + + grouping match-dhcp-client-id { + container dhcp-client-id { + description + "Match based on dhcp client id"; + list client-id { + key "id flag"; + description + "client id"; + leaf id { + type string { + length "1..32"; + } + description + "client id"; + } + leaf flag { + type enumeration { + enum "ascii" { + value 0; + description + "Ascii value"; + } + enum "hex" { + value 1; + description + "Hex value"; + } + enum "none" { + value 2; + description + "No flag set"; + } + } + description + "client id flag"; + } + } + } + container dhcp-client-id-regexp { + description + "Match based on dhcp client id regular expression"; + list client-id { + key "id flag"; + description + "client id with regular expression"; + leaf id { + type string { + length "1..32"; + } + description + "client id with regular expression"; + } + leaf flag { + type enumeration { + enum "ascii" { + value 0; + description + "Ascii value"; + } + enum "hex" { + value 1; + description + "Hex value"; + } + enum "none" { + value 2; + description + "No flag set"; + } + } + description + "client id flag"; + } + } + } + } + + grouping match-domain { + container domain { + description + "Match base on domain name"; + list domain-name { + key "name format"; + description + "Domain name"; + leaf name { + type string { + length "1..32"; + } + description + "Domain name"; + } + leaf format { + type string { + length "1..32"; + } + description + "Domain format name"; + } + } + } + container domain-regexp { + description + "Match base on domain name with regular expression"; + list domain-name { + key "regexp format"; + description + "Domain name"; + leaf regexp { + type string { + length "1..32"; + } + description + "Domain name with regular expression"; + } + leaf format { + type string { + length "1..32"; + } + description + "Domain format name"; + } + } + } + } + + grouping match-control-protocol { + container protocol { + description + "Match based on protocol"; + leaf-list name { + if-feature "match-proto"; + type enumeration { + enum "dhcpv4" { + value 0; + description + "dhcpv4"; + } + enum "dhcpv6" { + value 1; + description + "dhcpv6"; + } + enum "ppp" { + value 2; + description + "ppp"; + } + } + max-elements "3"; + description + "protocol name"; + } + } + } + + grouping match-remote-id { + container remote-id { + description + "Match based on remote ID"; + leaf-list id { + type string { + length "1..32"; + } + description + "remote-id"; + } + } + container remote-id-regexp { + description + "Remote ID with regular expression"; + leaf-list id { + type string { + length "1..32"; + } + description + "remote-id with regular expression"; + } + } + } + + grouping match-service-name { + container service-name { + description + "Match based on service name"; + leaf-list name { + type string { + length "1..32"; + } + description + "Service name"; + } + } + container service-name-regexp { + description + "Match based on service name with regular expression"; + leaf-list name { + type string { + length "1..32"; + } + description + "Service name with regular expression"; + } + } + } + + grouping match-timer { + container timer { + if-feature "match-timer"; + description + "Match based on timer"; + leaf-list name { + type string { + length "1..32"; + } + description + "Timer name"; + } + } + container timer-regexp { + description + "Timer with regular expression"; + leaf-list name { + type string { + length "1..32"; + } + description + "Timer name with regular expression"; + } + } + } + + grouping match-username { + container username { + if-feature "match-username"; + description + "Match based on user name"; + leaf-list name { + type string { + length "1..32"; + } + description + "User name"; + } + } + container username-regexp { + if-feature "match-username"; + description + "Match based on user name with regular expression"; + leaf-list name { + type string { + length "1..32"; + } + description + "User name with regular expression"; + } + } + } + + grouping policy-map-common { + leaf policy-map-name { + type string; + description + "Name of the policymap"; + } + leaf description { + type string; + description + "Set description for this policy-map"; + } + } + + grouping policy-action-compress { + container compress { + if-feature "action-compress-header-ip"; + description + "Configure compress action"; + container header { + description + "Configure header compression"; + container ip { + presence "Configure IP header compression"; + description + "Configure IP header compression"; + } + } + } + } + + grouping policy-action-encap-sequence { + leaf encap-sequence { + if-feature "action-encap-sequence"; + type union { + type uint8 { + range "1..15" { + description + "Encapsulation sequence number"; + } + } + type enumeration { + enum "none" { + value 0; + description + "Encapsulation sequence none"; + } + } + } + description + "Configure encapsulation sequence"; + } + } + + grouping aaa-method { + container aaa { + description + "AAA specification"; + leaf list { + type union { + type string; + type enumeration { + enum "default" { + value 0; + description + "default AAA method list"; + } + } + } + description + "Specify AAA method list that authentication should be made with"; + } + } + } + + grouping subscriber-actions { + container activate { + description + "Activate"; + container dynamic-template { + description + "actions related to dynamic templates"; + leaf template-name { + type string; + description + "Dynamic template name"; + } + uses aaa-method; + } + } + container deactivate { + description + "Deactivate"; + container dynamic-template { + description + "actions related to dynamic templates"; + leaf template-name { + type string; + description + "Dynamic template name"; + } + uses aaa-method; + } + } + container authenticate { + if-feature "action-authenticate"; + description + "Authentication related configuration"; + uses aaa-method; + } + container authorize { + if-feature "action-authorize"; + description + "Authorize"; + uses aaa-method; + leaf format { + type string; + description + "Specify an Authorize format name"; + } + leaf identifier { + type enumeration { + enum "circuit-id" { + value 0; + description + "Authorize circuit ID"; + } + enum "dhcp-client-id" { + value 1; + description + "Authorize dhcp client ID"; + } + enum "remote-id" { + value 2; + description + "Authorize remote ID"; + } + enum "service-name" { + value 3; + description + "Authorize Service Name"; + } + enum "source-address-ipv4" { + value 4; + description + "Authorize source IPv4 address"; + } + enum "source-address-ipv6" { + value 5; + description + "Authorize source IPv6 address"; + } + enum "source-address-mac" { + value 6; + description + "Authorize source MAC address"; + } + enum "username" { + value 7; + description + "Authorize username"; + } + } + description + "Specify an Authorize identifier"; + } + leaf password { + type union { + type clear-text-password-type; + type enumeration { + enum "blank" { + value 0; + description + "use blank password"; + } + enum "use-from-line" { + value 1; + description + "use from line"; + } + } + } + description + "Specify a password to be used for AAA request"; + } + } + container disconnect { + if-feature "action-disconnect"; + presence "Disconnect session"; + description + "Disconnect session"; + } + container monitor { + if-feature "action-monitor"; + presence "Monitor session"; + description + "Monitor session"; + } + container set-timer { + if-feature "action-set-timer"; + must "name and value"; + presence "indicates set-timer is configured"; + description + "Set a timer to execute a rule on its expiry"; + leaf name { + type string; + description + "Name of the timer"; + } + leaf value { + type uint32 { + range "1..4294967295" { + description + "Timer value in minutes"; + } + } + units "minutes"; + } + } + container stop-timer { + if-feature "action-stop-timer"; + description + "Disable timer before it expires"; + leaf name { + type string; + description + "Name of the timer"; + } + } + } + + grouping pbr-actions { + container drop { + presence "Drop the packet"; + description + "Drop the packet"; + } + leaf http-redirect { + if-feature "action-http-redirect"; + type string; + description + "Configure HTTP redirect. Specify the URL HTTP requests should be redirected to"; + } + container http-enrichment { + if-feature "action-http-enrichment"; + description + "Configure HTTP enrichment"; + container subscriber-mac { + presence "Subscriber MAC address"; + description + "Subscriber MAC address"; + } + container subscriber-ip { + presence "Subscriber ipv4/ipv6 address"; + description + "Subscriber ipv4/ipv6 address"; + } + container hostname { + presence "Hostname"; + description + "Hostname"; + } + container bng-interface { + presence "BNG identifier interface"; + description + "BNG identifier interface"; + } + } + container police { + description + "Police traffic"; + container rate { + must "value and unit"; + presence "indicates rate is configured"; + description + "Committed Information Rate"; + leaf value { + type uint32 { + range "1..4294967295" { + description + "Committed Information Rate"; + } + } + } + leaf unit { + type rate-unit-type; + } + } + } + container redirect-ipv4 { + if-feature "action-redirect-nexthop"; + description + "Configure PBF redirect feature with IPv4 configurations"; + container default-route { + presence "Forward to the default nexthop"; + description + "Forward to the default nexthop"; + } + container nexthop1 { + description + "Forward to specified nexthop"; + leaf address { + type inet:ipv4-address; + description + "IPv4 Nexthop address"; + } + leaf vrf { + type union { + type string; + type enumeration { + enum "default" { + value 0; + description + "Redirect to the default vrf"; + } + } + } + description + "Enter specific VRF Name for this nexthop"; + } + } + container nexthop2 { + description + "Forward to specified nexthop"; + leaf address { + type inet:ipv4-address; + description + "IPv4 Nexthop address"; + } + leaf vrf { + type union { + type string; + type enumeration { + enum "default" { + value 0; + description + "Redirect to the default vrf"; + } + } + } + description + "Enter specific VRF Name for this nexthop"; + } + } + container nexthop3 { + description + "Forward to specified nexthop"; + leaf address { + type inet:ipv4-address; + description + "IPv4 Nexthop address"; + } + leaf vrf { + type union { + type string; + type enumeration { + enum "default" { + value 0; + description + "Redirect to the default vrf"; + } + } + } + description + "Enter specific VRF Name for this nexthop"; + } + } + } + container redirect-ipv6 { + if-feature "action-redirect-nexthop"; + description + "Configure PBF redirect feature with IPv6 configurations"; + container default-route { + presence "Forward to the default nexthop"; + description + "Forward to the default nexthop"; + } + container nexthop1 { + description + "Forward to specified nexthop"; + leaf address { + type inet:ipv6-address; + description + "IPv6 Nexthop address"; + } + leaf vrf { + type union { + type string; + type enumeration { + enum "default" { + value 0; + description + "Redirect to the default vrf"; + } + } + } + description + "Enter specific VRF Name for this nexthop"; + } + } + container nexthop2 { + description + "Forward to specified nexthop"; + leaf address { + type inet:ipv6-address; + description + "IPv6 Nexthop address"; + } + leaf vrf { + type union { + type string; + type enumeration { + enum "default" { + value 0; + description + "Redirect to the default vrf"; + } + } + } + description + "Enter specific VRF Name for this nexthop"; + } + } + container nexthop3 { + description + "Forward to specified nexthop"; + leaf address { + type inet:ipv6-address; + description + "IPv6 Nexthop address"; + } + leaf vrf { + type union { + type string; + type enumeration { + enum "default" { + value 0; + description + "Redirect to the default vrf"; + } + } + } + description + "Enter specific VRF Name for this nexthop"; + } + } + } + container redirect-nexthop { + if-feature "action-redirect-rt"; + description + "Configure PBF redirect feature with forwarding to specified nexthop"; + container route-target { + must "(address and index) or as-number"; + presence "indicates route-target is configured"; + description + "Enter specific route-target string"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address."; + } + leaf index { + type uint16 { + range "0..65535" { + description + "IPv4 Address:index"; + } + } + description + "IPv4 Address:index"; + } + leaf as-number { + type union { + type string { + pattern "([1-9][0-9]{0,4}):(0|[1-9][0-9]{0,4})" { + description + "<1-65535>:<0-65535> 2-byte AS number"; + } + } + type string { + pattern "(65536:|[1-9][0-9]{0,10}:)(0|[1-9][0-9]{0,4})" { + description + "<65536-4294967295>:<0-65535> 4-byte AS number in asplain format"; + } + } + } + description + "AS number"; + } + } + } + container service-function-path { + if-feature "action-service-function"; + description + "Configure NSH service function action"; + leaf path-id { + type uint32 { + range "1..16777215"; + } + must "../index"; + description + "Service function path id"; + } + leaf index { + type uint8 { + range "1..255" { + description + "Service function path index"; + } + } + must "../path-id"; + description + "Specify service path index"; + } + leaf metadata { + type string; + must "../index and ../path-id"; + description + "service-function metadata"; + } + } + container set { + description + "Configure marking for this class"; + container destination-address { + if-feature "action-set-dst-address"; + description + "Set Destination address"; + leaf ipv4 { + type inet:ipv4-address; + description + "IPv4 address"; + } + } + leaf df { + if-feature "action-set-df"; + type uint8 { + range "0..1" { + description + "DF bit"; + } + } + description + "Set DF bit"; + } + leaf dscp { + type dscp-value; + description + "Set DSCP"; + } + leaf forward-class { + if-feature "action-set-fwd-class"; + type uint8 { + range "1..7" { + description + "Forward class value"; + } + } + description + "Set forward class"; + } + container source-address { + if-feature "action-set-src-address"; + description + "Set Source address"; + leaf ipv4 { + type inet:ipv4-address; + description + "IPv4 address"; + } + } + } + container transmit { + if-feature "action-transmit"; + presence "Forward packet to the original destination"; + description + "Forward packet to the original destination"; + } + container decapsulate { + if-feature "action-decap-gre"; + description + "Decapsulate GRE packet"; + container gre { + presence "Decapsulate GRE packet"; + description + "Decapsulate GRE packet"; + } + } + } + + grouping performance-traffic-actions { + uses policy-action-compress; + uses policy-action-encap-sequence; + list react { + if-feature "action-react"; + key "operation-id"; + description + "Generate alert on the specified event"; + leaf operation-id { + type uint32 { + range "1..4294967294"; + } + description + "Specify an operation id (num)"; + } + container delay-factor { + presence "React criterion delay factor of policy-map action."; + description + "React criterion delay factor of policy-map action."; + } + container media-stop { + presence "React criterion media stop of policy-map action."; + description + "React criterion media stop of policy-map action."; + } + container mrv { + presence "React criterion mrv of policy-map action."; + description + "React criterion mrv of policy-map action."; + } + container flow-count { + presence "React criterion flow count of policy-map action."; + description + "React criterion flow count of policy-map action."; + } + container packet-rate { + presence "React criterion packet rate of the policy-map action."; + description + "React criterion packet rate of the policy-map action."; + } + leaf description { + type string; + description + "Set Description for this alert action"; + } + container trigger { + description + "Set the event trigger"; + container value { + must "lt or le or gt or ge or range"; + presence "indicates value is configured"; + description + "Set the trigger criterion"; + leaf lt { + type trigger-value; + description + "trigger only if metric is less than the given value"; + } + leaf le { + type trigger-value; + description + "trigger only if metric is less than or equal to the given value"; + } + leaf gt { + type trigger-value; + description + "trigger only if metric is greater than the given value"; + } + leaf ge { + type trigger-value; + description + "trigger only if metric is greater than or equal to the given value"; + } + leaf range { + type trigger-value; + description + "trigger only if metric is in the inclusive range"; + } + } + container type { + must "immediate or average"; + presence "indicates type is configured"; + description + "Set the trigger type"; + container immediate { + presence "Immediate trigger"; + description + "Immediate trigger"; + } + leaf average { + type uint32 { + range "1..60"; + } + description + "Trigger averaged over N intervals."; + } + } + } + container action { + description + "Set the event action"; + container syslog { + presence "Report via syslog"; + description + "Report via syslog"; + } + container snmp { + if-feature "action-react-snmp"; + presence "Report via syslog"; + description + "Report via syslog"; + } + } + container alarm { + if-feature "action-react-alarm"; + description + "Configure alarms"; + container type { + must "discrete or grouped"; + presence "indicates type is configured"; + description + "Set the alarm type"; + container discrete { + presence "Discrete alarms"; + description + "Discrete alarms"; + } + container grouped { + if-feature "action-react-grouped-alarm"; + description + "Grouped alarms"; + leaf count { + type uint16 { + range "1..65535" { + description + "Number of flows with alarm"; + } + } + units "number of flows"; + must "not(../percent)"; + description + "Grouped on num-flows"; + } + leaf percent { + type uint8 { + range "1..100" { + description + "Percentage of flows with alarm"; + } + } + units "percentage"; + must "not(../count)"; + description + "Grouped on percentage of flows"; + } + } + } + leaf severity { + type enumeration { + enum "error" { + value 0; + description + "Error level alarm"; + } + enum "critical" { + value 1; + description + "Critical level alarm"; + } + enum "alert" { + value 2; + description + "Alert level alarm"; + } + enum "emergency" { + value 3; + description + "Emergency level alarm"; + } + } + description + "Set the alarm severity"; + } + } + } + } + + grouping action-common { + leaf cos { + type uint8 { + range "0..7"; + } + description + "Sets the specific IEEE 802.1Q Layer 2 CoS value of an + outgoing packet. + This command should be used by a router if a user wants + to mark a packet that is being sent to a switch. + Switches can leverage Layer 2 header information, + including a CoS value marking. Packets entering an + interface cannot be set with a CoS value."; + } + leaf cos-inner { + type uint8 { + range "0..7"; + } + description + "Set inner COS"; + } + leaf dei { + type uint8 { + range "0..1"; + } + description + "Set DEI"; + } + leaf dei-imposition { + type uint8 { + range "0..1"; + } + description + "Set DEI imposition bit."; + } + leaf discard-class { + type uint8 { + range "0..7" { + description + "discard-class value"; + } + } + description + "Sets the discard class on IPv4 or MPLS packets. + The discard-class can be used only in service policies + that are attached in the ingress policy."; + } + leaf dscp { + type dscp-value; + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf dscp-tunnel { + type dscp-value; + description + "Set DSCP Tunnel(for ipsec tunnels)"; + } + leaf fr-de { + if-feature "action-police-set-fr-de"; + type uint8 { + range "0..1"; + } + description + "Set frame relay discard-eligible bit"; + } + container mpls { + description + "Set MPLS specific values"; + container experimental { + description + "Set experimental"; + leaf imposition { + type uint8 { + range "0..7"; + } + description + "Sets the experimental value of the MPLS packet + imposition labels. + Imposition can be used only in service policies that + are attached in the ingress policy"; + } + leaf topmost { + type uint8 { + range "0..7"; + } + description + "Sets the experimental value of the MPLS packet top-most + labels."; + } + } + } + leaf precedence { + type precedence-type; + description + "Set IP Precedence"; + } + leaf precedence-tunnel { + type precedence-type; + description + "Set Precedence tunnel(for ipsec tunnels)"; + } + leaf qos-group { + type uint16 { + range "0..512" { + description + "QoS group value"; + } + } + description + "Sets the QoS group identifiers on IPv4 or MPLS packets. + The set qos-group is supported only on an ingress policy."; + } + } + + grouping police-actions { + container transmit { + presence "Transmit packet"; + description + "Transmit packet"; + } + container drop { + presence "Drop packet"; + description + "Drop packet"; + } + container set { + description + "Conditional marking"; + uses action-common; + } + } + + grouping qos-actions { + container admit { + if-feature "action-cac"; + description + "Call admission control"; + container cac { + description + "Call admission control (CAC) functionality"; + container local { + must "rate and flow/rate"; + presence "indicates local is configured"; + description + "CAC local flow type (default type)"; + container flow { + description + "Flow attributes"; + leaf idle-timeout { + type union { + type uint16 { + range "10..2550" { + description + "The idle timeout period (in seconds)"; + } + } + type enumeration { + enum "None" { + value 0; + description + "The flow does not expire"; + } + } + } + description + "Maximum time of inactivity for a flow"; + } + container rate { + must "value and unit"; + presence "indicates rate is configured"; + description + "Per flow rate"; + leaf value { + type uint32 { + range "1..4294967294" { + description + "Committed per flow rate"; + } + } + } + leaf unit { + type cac-unit-type; + } + } + } + container rate { + must "value and unit"; + presence "indicates rate is configured"; + description + "Maximum rate for all flows"; + leaf value { + type uint32 { + range "1..4294967294" { + description + "Committed aggregate rate for all flows"; + } + } + } + leaf unit { + type cac-unit-type; + } + } + } + } + } + container bandwidth { + if-feature "action-bandwidth"; + must "value and unit"; + presence "indicates bandwidth is configured"; + description + "Configure bandwidth for this class"; + leaf value { + type union { + type uint32 { + range "1..4294967295" { + description + "Bandwidth value"; + } + } + type uint16 { + range "1..1000" { + description + "Parts per-thousand bandwidth value"; + } + } + type uint32 { + range "1..1000000" { + description + "Parts per-million bandwidth value"; + } + } + type uint32 { + range "1..100" { + description + "Percentage bandwidth value"; + } + } + } + } + leaf unit { + type enumeration { + enum "bps" { + value 0; + description + "Bits per second"; + } + enum "gbps" { + value 1; + description + "Gigabits per second"; + } + enum "kbps" { + value 2; + description + "Kilobits per second"; + } + enum "mbps" { + value 3; + description + "Megabits per second"; + } + enum "cellsps" { + value 4; + description + "Cells per second"; + } + enum "per-thousand" { + value 5; + description + "configure parts per-thousand bandwidth"; + } + enum "per-million" { + value 6; + description + "configure parts per-million bandwidth"; + } + enum "percent" { + value 7; + description + "configure a percentage bandwidth"; + } + } + } + } + container bandwidth-remaining { + if-feature "action-bandwidth"; + must "unit and value"; + presence "indicates bandwidth-remaining is configured"; + description + "Allocate left over bandwidth"; + leaf unit { + type enumeration { + enum "percent" { + value 0; + description + "Allocate remaining bandwidth as percentage"; + } + enum "ratio" { + value 1; + description + "Allocate remaining bandwidth as a ratio"; + } + } + description + "Bandwidth value unit"; + } + leaf value { + type union { + type uint8 { + range "1..100" { + description + "Percentage bandwidth value"; + } + } + type uint32 { + range "1..4294967295" { + description + "Bandwidth ratio"; + } + } + } + description + "Bandwidth value"; + } + } + uses policy-action-compress; + uses policy-action-encap-sequence; + leaf fragment { + if-feature "action-service-fragment"; + type string { + length "1..64" { + description + "Reference to a Service fragment"; + } + } + description + "Refer to an existing service fragment. Reference to a Service fragment."; + } + container pause { + if-feature "action-pfc"; + presence "Configure PFC feature"; + description + "Configure PFC feature"; + container buffer-size { + must "value and unit"; + presence "indicates buffer-size is configured"; + description + "Configure buffer size"; + leaf value { + type uint32 { + range "1..4294967295"; + } + description + "Range of buffer size"; + } + leaf unit { + type pfc-unit-type; + } + } + container pause-threshold { + must "value and unit"; + presence "indicates pause-threshold is configured"; + description + "Configure pasue threshold"; + leaf value { + type uint32 { + range "1..4294967295"; + } + description + "Range of pause threshold"; + } + leaf unit { + type pfc-unit-type; + } + } + container resume-threshold { + must "value and unit"; + presence "indicates resume-threshold is configured"; + description + "Configure resume threshold"; + leaf value { + type uint32 { + range "1..4294967295"; + } + description + "Range of resume threshold"; + } + leaf unit { + type pfc-unit-type; + } + } + } + container police { + description + "Police traffic"; + container conditional { + presence "Conditional policer for priority traffic"; + description + "Conditional policer for priority traffic"; + } + container rate { + must "value and unit"; + presence "indicates rate is configured"; + description + "Committed Information Rate"; + leaf value { + type union { + type uint32 { + range "0..4294967295"; + } + type uint8 { + range "0..100" { + description + "Committed Information Rate in percentage of link bandwidth"; + } + } + type uint16 { + range "1..1000" { + description + "Committed Information Rate in per-thousand of link bandwidth"; + } + } + type uint32 { + range "1..1000000" { + description + "Committed Information Rate in per-million of link bandwidth"; + } + } + } + description + "Committed Information Rate"; + } + leaf unit { + type enumeration { + enum "bps" { + value 0; + description + "Bits per second (default)"; + } + enum "gbps" { + value 1; + description + "Gigabits per second"; + } + enum "kbps" { + value 2; + description + "Kilobits per second"; + } + enum "mbps" { + value 3; + description + "Megabits per second"; + } + enum "cellsps" { + value 4; + description + "Cells per second"; + } + enum "pps" { + value 5; + description + "Packets per second"; + } + enum "percent" { + value 6; + description + "Percent of the link bandwidth"; + } + enum "per-thousand" { + value 7; + description + "Parts per-thousand of the link bandwidth"; + } + enum "per-million" { + value 8; + description + "Parts per-million of the link bandwidth"; + } + } + description + "Rate unit"; + } + } + container burst { + description + "Burst size (BC)"; + leaf value { + type uint32 { + range "1..4294967295"; + } + description + "Burst size (BC)"; + } + leaf unit { + type burst-unit-type; + description + "Burst size unit"; + } + } + container peak-burst { + if-feature "action-police-peak-burst"; + description + "Excess Burst size (BE)"; + leaf value { + type uint32 { + range "1..4294967295"; + } + description + "Exess burst size (BC)"; + } + leaf unit { + type burst-unit-type; + description + "Burst size unit"; + } + } + container peak-rate { + must "value and unit"; + presence "indicates peak-rate is configured"; + description + "Peak Information Rate"; + leaf value { + type union { + type uint32 { + range "1..4294967295"; + } + type uint8 { + range "0..100" { + description + "Committed Information Rate in percentage of link bandwidth"; + } + } + } + description + "Peak Information Rate"; + } + leaf unit { + type enumeration { + enum "bps" { + value 0; + description + "Bits per second (default)"; + } + enum "gbps" { + value 1; + description + "Gigabits per second"; + } + enum "kbps" { + value 2; + description + "Kilobits per second"; + } + enum "mbps" { + value 3; + description + "Megabits per second"; + } + enum "cellsps" { + value 4; + description + "Cells per second"; + } + enum "pps" { + value 5; + description + "Packets per second"; + } + enum "percent" { + value 6; + description + "Percent of the link bandwidth"; + } + } + } + } + container conform-action { + description + "Action for conforming traffic"; + uses police-actions; + } + container exceed-action { + description + "Action for exceeding traffic"; + uses police-actions; + } + container violate-action { + description + "Action for violating traffic"; + uses police-actions; + } + leaf conform-color { + if-feature "action-police-conform-color"; + type string; + description + "Configure conform color class for color aware policing. Conform color class name."; + } + leaf exceed-color { + if-feature "action-police-exceed-color"; + type string; + description + "Configure exceed color class for color aware policing. Exceed color class name."; + } + container child-conform-aware { + if-feature "action-police-coupled"; + presence "Enable coupled policing"; + description + "Enable coupled policing"; + } + } + container priority { + description + "Assign priority to this class"; + leaf level { + type uint8 { + range "1..7" { + description + "Priority level"; + } + } + description + "Configure a priority level"; + } + } + container queue-limits { + description + "Queue Limit Node"; + list queue-limit { + key "value unit"; + description + "Configure queue-limit (taildrop threshold) for this class"; + leaf value { + type union { + type uint32 { + range "1..4294967295" { + description + "Max Threshold for tail drop"; + } + } + type uint8 { + range "1..100" { + description + "Percentage value"; + } + } + } + description + "queue-limit value"; + } + leaf unit { + type enumeration { + enum "bytes" { + value 0; + description + "Bytes"; + } + enum "kbytes" { + value 1; + description + "Kilobytes"; + } + enum "mbytes" { + value 2; + description + "Megabytes"; + } + enum "ms" { + value 3; + description + "Milliseconds"; + } + enum "packets" { + value 4; + description + "Packets (default)"; + } + enum "us" { + value 5; + description + "Microseconds"; + } + enum "percent" { + value 6; + description + "Configure queue limit value in percentage"; + } + } + description + "queue-limit unit"; + } + container discard-classes { + description + "discard class container"; + leaf-list discard-class { + type uint8 { + range "0..7"; + } + description + "Remaining bandwidth value."; + } + } + } + } + container random-detect-default { + presence "Enable RED with default min and max thresholds"; + description + "Enable RED with default min and max thresholds"; + } + container random-detect-ecn { + presence "Enable ECN based WRED"; + description + "ECN based WRED"; + } + list random-detect { + key "minimum-threshold-value minimum-threshold-unit maximum-threshold-value maximum-threshold-unit"; + description + "Enable Random Early Detection. + All RED profiles in a class must be based + on the same field."; + leaf minimum-threshold-value { + type uint32 { + range "0..1073741823"; + } + description + "Minimum threshold"; + } + leaf minimum-threshold-unit { + type wred-unit-type; + description + "threshold unit"; + } + leaf maximum-threshold-value { + type uint32 { + range "0..1073741823"; + } + description + "Maximum threshold"; + } + leaf maximum-threshold-unit { + type wred-unit-type; + description + "threshold unit"; + } + leaf-list cos { + type uint8 { + range "0..7" { + description + "COS value"; + } + } + max-elements "8"; + description + "COS based WRED (upto 8 values)"; + } + leaf-list dei { + type uint8 { + range "0..1" { + description + "DEI value"; + } + } + max-elements "8"; + description + "DEI based WRED"; + } + leaf-list discard-class { + type uint8 { + range "0..7" { + description + "Discard Class value"; + } + } + max-elements "8"; + description + "Discard Class based WRED"; + } + leaf-list dscp { + type dscp-value; + max-elements "8"; + description + "DSCP based WRED"; + } + leaf-list exp { + type uint8 { + range "0..7" { + description + "MPLS Experimental value"; + } + } + max-elements "8"; + description + "MPLS Experimental value based WRED"; + } + leaf-list precedence { + type union { + type uint8 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "critical" { + value 0; + description + "Critical precedence (5)"; + } + enum "flash" { + value 1; + description + "Flash precedence (3)"; + } + enum "flash-override" { + value 2; + description + "Flash override precedence (4)"; + } + enum "immediate" { + value 3; + description + "Immediate precedence (2)"; + } + enum "internet" { + value 4; + description + "Internetwork control precedence (6)"; + } + enum "network" { + value 5; + description + "Network control precedence (7)"; + } + enum "priority" { + value 6; + description + "Priority precedence (1)"; + } + enum "routine" { + value 7; + description + "Routine precedence (0)"; + } + } + } + max-elements "8"; + description + "Precedence based WRED"; + } + } + leaf service-fragment { + if-feature "action-service-fragment"; + type string { + length "1..64" { + description + "Name of Service fragment"; + } + } + description + "Define a service fragment. Name of Service fragment"; + } + container service-policy { + description + "Configure a child service policy"; + leaf name { + type service-policy-name-type; + description + "Name of the child service policy"; + } + leaf type { + type enumeration { + enum "pbr" { + value 0; + description + "PBR policy-map"; + } + enum "performance-traffic" { + value 1; + description + "Performance traffic policy-map"; + } + enum "qos" { + value 2; + description + "QoS policy-map (default)"; + } + enum "redirect" { + value 3; + description + "Redirect policy-map"; + } + enum "traffic" { + value 4; + description + "Traffic policy-map"; + } + } + description + "The type of policy-map"; + } + } + container set { + description + "Configure marking for this class"; + container atm-clp { + if-feature "action-set-atm-clp"; + presence "Set atm cell-loss-priority bit"; + description + "Set atm cell-loss-priority bit"; + } + leaf traffic-class { + if-feature "action-set-traffic-class"; + type uint8 { + range "0..8" { + description + "Traffic class value"; + } + } + description + "Sets the Traffic Class identifiers on IPv4 or MPLS packets. + The set traffic-class is supported only on an ingress policy."; + } + leaf forward-class { + if-feature "action-set-fwd-class"; + type uint8 { + range "1..7" { + description + "Forward class value"; + } + } + description + "Set forward class"; + } + uses action-common; + } + container shape { + description + "Configure shaping for this class"; + container average { + description + "Average rate shaping"; + container rate { + must "value and unit"; + presence "indicates rate is configured"; + description + "Shape rate"; + leaf value { + type union { + type uint32 { + range "1..4294967295" { + description + "Shape rate"; + } + } + type uint16 { + range "1..1000" { + description + "Shape rate as parts per-thousand of available bandwidth"; + } + } + type uint32 { + range "1..1000000" { + description + "Shape rate as parts per-million of available bandwidth"; + } + } + type uint8 { + range "1..100" { + description + "Shape rate as percentage of available bandwidth"; + } + } + type string { + pattern "[$][a-zA-Z0-9][a-zA-Z0-9\\._@%+:\\-]{0,32}[ ][=][ ]\\d{1,10}"; + } + } + } + leaf unit { + type enumeration { + enum "bps" { + value 0; + description + "Bits per second"; + } + enum "cellsps" { + value 1; + description + "Cells per second"; + } + enum "gbps" { + value 2; + description + "Gigabits per second"; + } + enum "kbps" { + value 3; + description + "Kilobits per second"; + } + enum "mbps" { + value 4; + description + "Megabits per second"; + } + enum "per-thousand" { + value 5; + description + "Configure shape rate in per-thousand"; + } + enum "per-million" { + value 6; + description + "Configure shape rate in per-million"; + } + enum "percent" { + value 7; + description + "Configure shape rate in percentage"; + } + } + description + "Shape rate unit"; + } + } + container excess-burst { + if-feature "action-shape-burst"; + must "size and unit"; + presence "indicates excess-burst is configured"; + description + "Excess burst size"; + leaf size { + type uint32 { + range "1..4294967295" { + description + "Excess burst size"; + } + } + } + leaf unit { + type enumeration { + enum "bytes" { + value 0; + description + "Bytes"; + } + enum "cells" { + value 1; + description + "Cells"; + } + enum "gbytes" { + value 2; + description + "Gigabytes"; + } + enum "kbytes" { + value 3; + description + "Kilobytes"; + } + enum "mbytes" { + value 4; + description + "Megabytes"; + } + enum "ms" { + value 5; + description + "Milliseconds"; + } + enum "packets" { + value 6; + description + "Packets"; + } + enum "us" { + value 7; + description + "Microseconds"; + } + } + } + } + } + } + } + + grouping redirect-actions { + uses policy-action-compress; + uses policy-action-encap-sequence; + container priority { + presence "Test command"; + description + "Test command"; + } + } + + container class-map { + description + "Configure a class-map"; + container type { + description + "class-map type"; + list qos { + if-feature "cmap-type-qos"; + must "not(match-all and match-any)"; + key "class-map-name"; + description + "QoS class-map"; + uses class-map-common; + container match { + description + "Configure match criteria for this class."; + uses match-access-group; + uses match-atm; + uses match-cac; + uses match-cos; + uses match-dei; + uses match-destination-address; + uses match-destination-port; + uses match-discard-class; + uses match-dscp; + uses match-ethertype; + uses match-flow-key; + uses match-fr-de; + uses match-fragment-type; + uses match-frame-relay; + uses match-ipv4; + uses match-ipv6; + uses match-mpls; + uses match-packet; + uses match-precedence; + uses match-protocol; + uses match-qos-group; + uses match-source-address; + uses match-source-port; + uses match-tcp-flag; + uses match-traffic-class; + uses match-vlan; + uses match-vpls; + } + container match-not { + description + "Negate match criteria"; + uses match-access-group { + if-feature "matchnot-ipv4-acl"; + if-feature "matchnot-ipv6-acl"; + if-feature "matchnot-es-acl"; + } + uses match-cac { + if-feature "matchnot-cac-local"; + } + uses match-cos; + uses match-dei { + if-feature "matchnot-dei"; + } + uses matchnot-destination-address; + uses match-destination-port; + uses match-discard-class; + uses match-dscp; + uses match-ethertype; + uses match-fragment-type; + uses match-frame-relay; + uses match-ipv4; + uses match-ipv6; + uses matchnot-mpls; + uses matchnot-packet; + uses match-precedence; + uses match-protocol; + uses match-qos-group; + uses matchnot-source-address; + uses match-source-port; + uses match-tcp-flag; + uses match-traffic-class; + uses matchnot-vlan; + uses matchnot-vpls; + } + } + list subscriber-control { + must "(not(match-all) and not(match-any)) or match-all or match-any"; + key "class-map-name"; + description + "Subscriber control class-map"; + uses class-map-common; + container match { + description + "Configure match criteria for this class."; + uses match-authen-status; + uses match-circuit-id; + uses match-dhcp-client-id; + uses match-domain; + uses match-control-protocol; + uses match-remote-id; + uses match-service-name; + uses match-source-address; + uses match-timer; + uses match-username; + } + container match-not { + description + "Negate match criteria"; + uses match-authen-status { + if-feature "matchnot-authen-status"; + } + uses match-circuit-id; + uses match-dhcp-client-id; + uses match-domain; + uses match-control-protocol { + if-feature "matchnot-protocol"; + } + uses match-remote-id; + uses match-service-name; + uses match-source-address; + uses match-timer { + if-feature "matchnot-timer"; + } + uses match-username { + if-feature "matchnot-username"; + } + } + } + list traffic { + if-feature "cmap-type-traffic"; + must "not(match-all and match-any)"; + key "class-map-name"; + description + "Traffic class-map"; + uses class-map-common; + container match { + description + "Configure match criteria for this class."; + uses match-access-group; + uses match-atm; + uses match-cos; + uses match-dei; + uses match-destination-address; + uses match-destination-port; + uses match-dscp; + uses match-ethertype; + uses match-flow-key; + uses match-flow-tag; + uses match-fr-de; + uses match-fragment-type; + uses match-frame-relay; + uses match-ipv4 { + when "boolean(../match-all)"; + } + uses match-ipv6 { + when "boolean(../match-all)"; + } + uses match-mpls; + uses match-packet; + uses match-precedence; + uses match-protocol; + uses match-source-address; + uses match-source-port; + uses match-tcp-flag; + uses match-vlan; + uses match-vpls; + } + container match-not { + description + "Negate match criteria"; + uses match-access-group; + uses match-atm; + uses match-cos; + uses match-dei; + uses matchnot-destination-address; + uses match-destination-port; + uses match-dscp; + uses match-ethertype { + if-feature "matchnot-ethertype"; + } + uses match-flow-tag { + if-feature "matchnot-flow-tag"; + } + uses match-fr-de { + if-feature "matchnot-fr-de"; + } + uses match-fragment-type; + uses match-frame-relay { + if-feature "matchnot-fr"; + } + uses match-ipv4 { + when "boolean(../match-all)"; + } + uses match-ipv6 { + when "boolean(../match-all)"; + } + uses matchnot-mpls; + uses matchnot-packet; + uses match-precedence; + uses match-protocol; + uses matchnot-source-address; + uses match-source-port; + uses match-tcp-flag; + uses matchnot-vlan; + uses matchnot-vpls; + } + } + } + } + container policy-map { + description + "Configure a policy-map"; + container type { + description + "policy-map type"; + list accounting { + if-feature "pmap-type-accounting"; + key "policy-map-name"; + description + "Accounting policy-map"; + uses policy-map-common; + list class { + key "name type"; + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + leaf type { + type enumeration { + enum "traffic" { + value 3; + description + "Traffic Classmap."; + } + } + description + "The type of classmap"; + } + } + } + list subscriber-control { + if-feature "pmap-type-control"; + key "policy-map-name"; + description + "Subscriber control policy-map"; + uses policy-map-common; + list event { + must "not(match-all and match-first)"; + key "type"; + description + "Policy event"; + leaf type { + type event-type; + description + "Policy event type"; + } + container match-all { + presence "Execute all the matched classes"; + description + "Execute all the matched classes"; + } + container match-first { + presence "Execute only the first matched class"; + description + "Execute only the first matched class"; + } + list class { + key "name type"; + description + "Class-map"; + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + leaf type { + type enumeration { + enum "subscriber-control" { + value 4; + description + "Control Subscriber Classmap."; + } + } + description + "The type of classmap"; + } + leaf action-strategy { + type enumeration { + enum "do-all" { + value 0; + description + "Do all actions"; + } + enum "do-until-failure" { + value 1; + description + "Do all actions until failure"; + } + enum "do-until-success" { + value 2; + description + "Do all actions until success"; + } + } + description + "Strategy to execute class-map actions"; + } + list action { + key "sequence-number"; + leaf sequence-number { + type uint16 { + range "1..65535"; + } + description + "Sequence number for this action"; + } + uses subscriber-actions; + } + } + } + } + list pbr { + if-feature "pmap-type-pbr"; + key "policy-map-name"; + description + "PBR policy-map"; + uses policy-map-common; + list class { + key "name type"; + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + leaf type { + type enumeration { + enum "traffic" { + value 3; + description + "Traffic class-map."; + } + } + description + "The type of class-map"; + } + uses pbr-actions; + } + } + list performance-traffic { + if-feature "pmap-type-afmon"; + key "policy-map-name"; + description + "Performance traffic policy-map"; + uses policy-map-common; + list class { + key "name type"; + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + leaf type { + type enumeration { + enum "traffic" { + value 3; + description + "Traffic class-map."; + } + } + description + "The type of class-map"; + } + uses performance-traffic-actions; + } + } + list qos { + if-feature "pmap-type-qos"; + key "policy-map-name"; + description + "QoS policy-map"; + uses policy-map-common; + list class { + must + "admit or + bandwidth or bandwidth-remaining or fragment or pause or police or + priority or queue-limits or random-detect-ecn or service-fragment or + service-policy or set or shape or random-detect-default or + random-detect or compress or encap-sequence"; + key "name type"; + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + leaf type { + type enumeration { + enum "qos" { + value 1; + description + "QoS class-map."; + } + enum "traffic" { + value 3; + description + "Traffic class-map."; + } + } + description + "The type of class-map"; + } + uses qos-actions; + } + } + list redirect { + if-feature "pmap-type-redirect"; + key "policy-map-name"; + description + "Redirect policy-map"; + uses policy-map-common; + list class { + key "name type"; + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + leaf type { + type enumeration { + enum "traffic" { + value 3; + description + "Traffic class-map."; + } + } + description + "The type of class-map"; + } + uses redirect-actions; + } + } + list traffic { + if-feature "pmap-type-traffic"; + key "policy-map-name"; + description + "Traffic policy-map"; + uses policy-map-common; + list class { + key "name type"; + leaf name { + type string { + pattern "[a-zA-Z0-9][a-zA-Z0-9\\._@$%+#:=<>\\-]{0,62}" { + description + "Any string except 'type'"; + } + } + description + "Name of the class-map"; + } + leaf type { + type enumeration { + enum "traffic" { + value 3; + description + "Traffic class-map."; + } + } + description + "The type of class-map"; + } + uses policy-action-compress; + uses policy-action-encap-sequence; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-pool-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pool-cfg.yang new file mode 100644 index 000000000..1b6178e5d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-pool-cfg.yang @@ -0,0 +1,390 @@ +module Cisco-IOS-XR-um-pool-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-pool-cfg"; + prefix um-pool-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR pool package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container addrpool { + description + "Enable SNMP Address Pool traps"; + container high { + presence "Indicates a high node is configured."; + description + "Enable SNMP Address Pool High Threshold trap"; + } + container low { + presence "Indicates a low node is configured."; + description + "Enable SNMP Address Pool Low Threshold trap"; + } + } + } + container pool { + description + "Distributed Address Pool Service"; + container vrfs { + description + "Specify VRF name"; + list vrf { + key "vrf-name"; + description + "Enter the VRF name"; + leaf vrf-name { + type union { + type string { + pattern "all" { + description + "Global Pool"; + } + } + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Enter the VRF name"; + } + } + } + description + "Enter the VRF name"; + } + container ipv6s { + description + "Specify IPv6 Pool name"; + list ipv6 { + key "pool-name"; + description + "Enter the IPv6 Pool name"; + leaf pool-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Enter the IPv6 Pool name"; + } + } + description + "Enter the IPv6 Pool name"; + } + container address-ranges { + description + "Specify address range for allocation"; + list address-range { + must "last-address-in-range"; + key "first-address-in-range"; + description + "Specify address range for allocation"; + leaf first-address-in-range { + type inet:ipv6-address-no-zone; + description + "Specify address range for allocation"; + } + leaf last-address-in-range { + type inet:ipv6-address-no-zone; + description + "Enter the last IPv6 address in range"; + } + container block { + must "../last-address-in-range"; + presence "Indicates a block node is configured."; + description + "block address-range"; + } + } + } + container prefix-ranges { + description + "Specify prefix range for allocation"; + list prefix-range { + must "last-prefix-in-range"; + key "first-prefix-in-range"; + description + "Specify prefix range for allocation"; + leaf first-prefix-in-range { + type inet:ipv6-address-no-zone; + description + "Specify prefix range for allocation"; + } + leaf last-prefix-in-range { + type inet:ipv6-address-no-zone; + description + "Enter the last IPv6 prefix in range"; + } + container block { + must "../last-prefix-in-range"; + presence "Indicates a block node is configured."; + description + "block address-range"; + } + } + } + container networks { + description + "Specify network for allocation"; + list network { + key "address"; + description + "Specify network for allocation"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Specify network for allocation"; + } + leaf length { + type uint32 { + range "0..128" { + description + "Network address mask length"; + } + } + mandatory true; + description + "Specify network address mask length"; + } + container block { + presence "Indicates a block node is configured."; + description + "block address-range"; + } + } + } + leaf prefix-length { + type uint32 { + range "1..128" { + description + "Enter the prefix-length"; + } + } + description + "Specify prefix-length to be used"; + } + container excludes { + description + "Exclude IPv6 addresses / prefixes"; + list exclude { + key "first-address-in-range"; + description + "Exclude IPv6 addresses / prefixes"; + leaf first-address-in-range { + type inet:ipv6-address-no-zone; + description + "Exclude IPv6 addresses / prefixes"; + } + leaf last-address-in-range { + type inet:ipv6-address-no-zone; + description + "Last IPv6 address / prefix in range"; + } + } + } + container utilization-mark { + description + "Specify utilization mark"; + leaf high { + type uint32 { + range "0..100" { + description + "Specify numerical value as percentage"; + } + } + must "../low"; + description + "Specify high mark"; + } + leaf low { + type uint32 { + range "0..100" { + description + "Specify numerical value as percentage"; + } + } + must "../high"; + description + "Specify low mark"; + } + } + } + } + container ipv4s { + description + "Specify IPv4 Pool name"; + list ipv4 { + when "../../vrf-name != 'all'"; + key "ipv4-name"; + description + "Specify IPv4 Pool name"; + leaf ipv4-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Enter the IPv4 Pool name"; + } + } + description + "Specify IPv4 Pool name"; + } + container networks { + description + "Specify network for allocation"; + list network { + key "address"; + description + "Specify network for allocation"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify network for allocation"; + } + leaf length { + type uint32 { + range "0..32" { + description + "Network address mask length"; + } + } + mandatory true; + description + "Specify network address mask length"; + } + leaf default-router { + type inet:ipv4-address-no-zone; + description + "Default Gateway for subnet"; + } + container block { + presence "Indicates a block node is configured."; + description + "block subnet test"; + } + } + } + container excludes { + description + "Exclude addresses"; + list exclude { + key "first-address-in-range"; + description + "Exclude addresses"; + leaf first-address-in-range { + type inet:ipv4-address-no-zone; + description + "Exclude addresses"; + } + leaf last-address-in-range { + type inet:ipv4-address-no-zone; + description + "Last exclude address in range"; + } + } + } + container utilization-mark { + description + "Specify utilization mark"; + leaf high { + type uint32 { + range "0..100" { + description + "Specify numerical value as percentage"; + } + } + must "../low"; + description + "Specify high mark"; + } + leaf low { + type uint32 { + range "0..100" { + description + "Specify numerical value as percentage"; + } + } + must "../high"; + description + "Specify low mark"; + } + } + container address-ranges { + description + "Specify address range for allocation"; + list address-range { + must "last-address-in-range"; + key "first-address-in-range"; + description + "Specify address range for allocation"; + leaf first-address-in-range { + type inet:ipv4-address-no-zone; + description + "Specify address range for allocation"; + } + leaf last-address-in-range { + type inet:ipv4-address-no-zone; + description + "Enter the last address in range"; + } + container block { + must "../last-address-in-range"; + presence "Indicates a block node is configured."; + description + "block address-range"; + } + } + } + } + } + } + } + container onfly { + description + "Allow to delete/edit pool and release subscriber IP for ipv4"; + container pppoe { + presence "Indicates a pppoe node is configured."; + description + "Enable onfly feature for pppoe subscriber"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-power-mgmt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-power-mgmt-cfg.yang new file mode 100644 index 000000000..4e08c0b8a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-power-mgmt-cfg.yang @@ -0,0 +1,83 @@ +module Cisco-IOS-XR-um-power-mgmt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-power-mgmt-cfg"; + prefix um-power-mgmt-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR power-mgmt package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-02-17 { + description + "Added new container action under container power-mgmt"; + semver:module-version "1.0.1m"; + } + revision 2020-12-04 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container power-mgmt { + description + "global power management commands"; + container extended-temp { + description + "action for setting power budget for extended temp mode"; + container enable { + presence "Indicates a enable node is configured."; + description + "enable extended temp mode"; + } + } + container action { + description + "action for controlling power budget to not exceed power capacity"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable power budgeting"; + } + } + container single-feed-mode { + description + "action for suppressing alarms for missing feed (only for dual feed) supplies"; + container enable { + presence "Indicates a enable node is configured."; + description + "enable single feed"; + } + } + leaf redundancy-num-pms { + type uint32 { + range "0..23" { + description + "Number of redundant PEMS"; + } + } + description + "disable power tray level redundancy and convert to power module redundancy"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-process-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-process-cfg.yang new file mode 100644 index 000000000..a9481874e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-process-cfg.yang @@ -0,0 +1,290 @@ +module Cisco-IOS-XR-um-process-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-process-cfg"; + prefix um-process-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR process package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-31 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature classic-admin-config { + description + "Classic admin configuration supported"; + } + + feature isolation { + description + "Isolation configuration supported"; + } + + container admin { + if-feature "classic-admin-config"; + description + "Admin configuration"; + container process { + description + "Admin process config commands"; + container mandatory { + description + "Set the process mandatory"; + container locations { + description + "Location on which this config applies"; + container all { + description + "All locations"; + list executable { + key "executable-name"; + description + "Name of the executable"; + leaf executable-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the executable"; + } + } + description + "Name of the executable"; + } + } + } + list location { + must "executable"; + key "location-name"; + description + "location specification"; + leaf location-name { + type xr:Node-id; + description + "Fully qualified location specification"; + } + list executable { + key "executable-name"; + description + "Name of the executable"; + leaf executable-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the executable"; + } + } + description + "Name of the executable"; + } + } + } + } + } + container single-crash { + description + "Reboot condition for single mandatory process that crashes"; + leaf min-uptime { + type uint32 { + range "1..4294967295" { + description + "Up time in seconds"; + } + } + must "../process"; + description + "Minimum process up time to reset crash count"; + } + leaf process { + type uint32 { + range "1..500" { + description + "Number of crashes for a process to trigger reboot"; + } + } + must "../min-uptime"; + description + "Number of crashes for a process to trigger reboot"; + } + } + container multiple-crash { + presence "Indicates a multiple-crash node is configured."; + description + "Reboot condition for multiple mandatory processes that crash"; + leaf number-of-crashes { + type uint32 { + range "1..500" { + description + "Number of combined process crashes to trigger reboot"; + } + } + mandatory true; + description + "Reboot condition for multiple mandatory processes that crash"; + } + leaf time-interval { + type uint32 { + range "1..4294967295" { + description + "Time interval in seconds"; + } + } + mandatory true; + description + "Time interval in seconds"; + } + } + } + } + container process { + description + "Process config commands"; + container mandatory { + description + "Set the process mandatory"; + container locations { + description + "Location on which this config applies"; + container all { + description + "All locations"; + list executable { + key "executable-name"; + description + "Name of the executable"; + leaf executable-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the executable"; + } + } + description + "Name of the executable"; + } + } + } + list location { + must "executable"; + key "location-name"; + description + "location specification"; + leaf location-name { + type xr:Node-id; + description + "Fully qualified location specification"; + } + list executable { + key "executable-name"; + description + "Name of the executable"; + leaf executable-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the executable"; + } + } + description + "Name of the executable"; + } + } + } + } + } + container single-crash { + description + "Reboot condition for single mandatory process that crashes"; + leaf process { + type uint32 { + range "1..500" { + description + "Number of crashes for a process to trigger reboot"; + } + } + must "../min-uptime"; + description + "Number of crashes for a process to trigger reboot"; + } + leaf min-uptime { + type uint32 { + range "1..4294967295" { + description + "Up time in seconds"; + } + } + must "../process"; + description + "Minimum process up time to reset crash count"; + } + } + container multiple-crash { + presence "Indicates a multiple-crash node is configured."; + description + "Reboot condition for multiple mandatory processes that crash"; + leaf number-of-crashes { + type uint32 { + range "1..500" { + description + "Number of combined process crashes to trigger reboot"; + } + } + mandatory true; + description + "Reboot condition for multiple mandatory processes that crash"; + } + leaf time-interval { + type uint32 { + range "1..4294967295" { + description + "Time interval in seconds"; + } + } + mandatory true; + description + "Time interval in seconds"; + } + } + } + container isolation { + if-feature "isolation"; + description + "Configure Isolation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable isolation for RP/DRP nodes"; + } + container multiple { + presence "Indicates a multiple node is configured."; + description + "Allow the rp isolation feature to handle multiple requests"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-cfg.yang new file mode 100644 index 000000000..9df4918c0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-cfg.yang @@ -0,0 +1,3202 @@ +module Cisco-IOS-XR-um-ptp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ptp-cfg"; + prefix um-ptp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ptp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-12-23 { + description + "Added leaf double-failure-clock-class"; + semver:module-version "1.0.1m"; + } + revision 2020-12-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container ptp { + presence "Indicates a ptp node is configured."; + description + "Precision Time Protocol config"; + leaf profile { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of Profile"; + } + } + description + "PTP Profile to use on this interface"; + } + container transport { + description + "PTP transport type to use on this interface"; + container ipv4 { + must "not(../ethernet or ../ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "IPv4 transport"; + } + container ethernet { + must "not(../ipv4 or ../ipv6)"; + presence "Indicates a ethernet node is configured."; + description + "Ethernet transport"; + } + container ipv6 { + must "not(../ipv4 or ../ethernet)"; + presence "Indicates a ipv6 node is configured."; + description + "IPv6 transport"; + } + } + container clock { + description + "PTP clock-operation to use"; + container operation { + description + "PTP clock-operation to use"; + container one-step { + must "not(../two-step)"; + presence "Indicates a one-step node is configured."; + description + "One-step clock-operation"; + } + container two-step { + must "not(../one-step)"; + presence "Indicates a two-step node is configured."; + description + "Two-step clock-operation"; + } + } + } + container announce { + description + "Announce message options"; + leaf interval { + type enumeration { + enum "1" { + value 0; + description + "One second interval"; + } + enum "2" { + value 1; + description + "Two second interval"; + } + enum "4" { + value 2; + description + "Four second interval"; + } + enum "8" { + value 3; + description + "Eight second interval"; + } + enum "16" { + value 4; + description + "Sixteen second interval"; + } + enum "32" { + value 5; + description + "Thirty Two second interval"; + } + enum "64" { + value 6; + description + "Sixty Four second interval"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second interval"; + } + } + must "not(../frequency)"; + description + "Send Announce messages once every one or more seconds"; + } + leaf frequency { + type enumeration { + enum "1" { + value 0; + description + "One per second frequency"; + } + enum "2" { + value 1; + description + "Two per second frequency"; + } + enum "4" { + value 2; + description + "Four per second frequency"; + } + enum "8" { + value 3; + description + "Eight per second frequency"; + } + enum "16" { + value 4; + description + "Sixteen per second frequency"; + } + enum "32" { + value 5; + description + "Thirty Two per second frequency"; + } + enum "64" { + value 6; + description + "Sixty Four second frequency"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second frequency"; + } + } + must "not(../interval)"; + description + "Send Announce messages one or more times a second"; + } + leaf timeout { + type uint32 { + range "2..10" { + description + "The number of announce intervals before timeout"; + } + } + description + "Configure the announce timeout value"; + } + leaf grant-duration { + type uint32 { + range "60..1000" { + description + "The grant duration, in seconds"; + } + } + description + "Configure the announce unicast grant duration value"; + } + } + container sync { + description + "Sync message options"; + leaf interval { + type enumeration { + enum "1" { + value 0; + description + "One second interval"; + } + enum "2" { + value 1; + description + "Two second interval"; + } + enum "4" { + value 2; + description + "Four second interval"; + } + enum "8" { + value 3; + description + "Eight second interval"; + } + enum "16" { + value 4; + description + "Sixteen second interval"; + } + enum "32" { + value 5; + description + "Thirty Two second interval"; + } + enum "64" { + value 6; + description + "Sixty Four second interval"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second interval"; + } + } + must "not(../frequency)"; + description + "Send Announce messages once every one or more seconds"; + } + leaf frequency { + type enumeration { + enum "1" { + value 0; + description + "One per second frequency"; + } + enum "2" { + value 1; + description + "Two per second frequency"; + } + enum "4" { + value 2; + description + "Four per second frequency"; + } + enum "8" { + value 3; + description + "Eight per second frequency"; + } + enum "16" { + value 4; + description + "Sixteen per second frequency"; + } + enum "32" { + value 5; + description + "Thirty Two per second frequency"; + } + enum "64" { + value 6; + description + "Sixty Four second frequency"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second frequency"; + } + } + must "not(../interval)"; + description + "Send Announce messages one or more times a second"; + } + leaf grant-duration { + type uint32 { + range "60..1000" { + description + "The grant duration, in seconds"; + } + } + description + "Configure the sync unicast grant duration value"; + } + leaf timeout { + type uint32 { + range "100..100000" { + description + "The timeout value, in milliseconds"; + } + } + description + "Configure the sync timeout value"; + } + } + container delay-request { + description + "Configure the sending of delay-request messages"; + leaf interval { + type enumeration { + enum "1" { + value 0; + description + "One second interval"; + } + enum "2" { + value 1; + description + "Two second interval"; + } + enum "4" { + value 2; + description + "Four second interval"; + } + enum "8" { + value 3; + description + "Eight second interval"; + } + enum "16" { + value 4; + description + "Sixteen second interval"; + } + enum "32" { + value 5; + description + "Thirty Two second interval"; + } + enum "64" { + value 6; + description + "Sixty Four second interval"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second interval"; + } + } + must "not(../frequency)"; + description + "Send Announce messages once every one or more seconds"; + } + leaf frequency { + type enumeration { + enum "1" { + value 0; + description + "One per second frequency"; + } + enum "2" { + value 1; + description + "Two per second frequency"; + } + enum "4" { + value 2; + description + "Four per second frequency"; + } + enum "8" { + value 3; + description + "Eight per second frequency"; + } + enum "16" { + value 4; + description + "Sixteen per second frequency"; + } + enum "32" { + value 5; + description + "Thirty Two per second frequency"; + } + enum "64" { + value 6; + description + "Sixty Four second frequency"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second frequency"; + } + } + must "not(../interval)"; + description + "Send Announce messages one or more times a second"; + } + } + leaf cos { + type uint32 { + range "0..7" { + description + "The COS value to use"; + } + } + description + "Specify the COS value to use"; + } + leaf event-cos { + type uint32 { + range "0..7" { + description + "The COS value to use"; + } + } + description + "Specify the COS value to use"; + } + leaf general-cos { + type uint32 { + range "0..7" { + description + "The COS value to use"; + } + } + description + "Specify the COS value to use"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "The DSCP value to use"; + } + } + description + "Specify the DSCP value to use"; + } + leaf event-dscp { + type uint32 { + range "0..63" { + description + "The DSCP value to use"; + } + } + description + "Specify the DSCP value to use"; + } + leaf general-dscp { + type uint32 { + range "0..63" { + description + "The DSCP value to use"; + } + } + description + "Specify the DSCP value to use"; + } + leaf ipv4-ttl { + type uint32 { + range "1..255" { + description + "The IPv4 TTL value to use"; + } + } + description + "Specify the IPv4 TTL value to use"; + } + leaf ipv6-hop-limit { + type uint32 { + range "1..255" { + description + "The IPv6 hop limit value to use"; + } + } + description + "Specify the IPv6 hop limit value to use"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "Delay asymmetry to apply to all primarys on the interface"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + container delay-response { + description + "Delay-Response message options"; + leaf grant-duration { + type uint32 { + range "60..1000" { + description + "The grant duration, in seconds"; + } + } + description + "Configure the delay-response unicast grant duration value"; + } + leaf timeout { + type uint32 { + range "100..100000" { + description + "The timeout value, in milliseconds"; + } + } + description + "Configure the delay-response timeout value"; + } + } + container unicast-grant { + description + "Unicast grant options"; + container invalid-request { + description + "Configure the response to invalid unicast requests"; + container reduce { + must "not(../deny)"; + presence "Indicates a reduce node is configured."; + description + "Reduce grant parameters"; + } + container deny { + must "not(../reduce)"; + presence "Indicates a deny node is configured."; + description + "Deny grant"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Allow multicast messages to be sent"; + container mixed { + must "not(../disable)"; + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + container disable { + must "not(../mixed)"; + presence "Indicates a disable node is configured."; + description + "Disable multicast transport"; + } + container target-address { + must "ethernet/mac-address-01-1b-19-00-00-00 or ethernet/mac-address-01-80-c2-00-00-0e"; + presence "Indicates a target-address node is configured."; + description + "Configure a target address"; + container ethernet { + description + "Configure ethernet target address"; + container mac-address-01-1b-19-00-00-00 { + must "not(../mac-address-01-80-c2-00-00-0e)"; + presence "Indicates a mac-address-01-1b-19-00-00-00 node is configured."; + description + "Forwardable mac-address"; + } + container mac-address-01-80-c2-00-00-0e { + must "not(../mac-address-01-1b-19-00-00-00)"; + presence "Indicates a mac-address-01-80-c2-00-00-0e node is configured."; + description + "Non-forwardable mac-address"; + } + } + } + } + container port { + description + "PTP port options"; + container state { + description + "Restrict the port state of this interface"; + container subordinate-only { + must "not(../primary-only or ../any)"; + presence "Indicates a subordinate-only node is configured."; + description + "Restrict the port state to subordinate"; + } + container primary-only { + must "not(../subordinate-only or ../any)"; + presence "Indicates a primary-only node is configured."; + description + "Restrict the port state to primary"; + } + container any { + must "not(../subordinate-only or ../primary-only)"; + presence "Indicates a any node is configured."; + description + "Unrestrict the port state on this interface"; + } + } + } + container source { + description + "PTP source address options"; + container ipv4 { + description + "PTP source IPv4 address options"; + container address { + description + "Set the IPv4 address to use when sending IPv4 packets"; + container disable { + must "not(../ipv4-address)"; + presence "Indicates a disable node is configured."; + description + "Use the interface IPv4 address"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../disable)"; + description + "Specify the IPv4 address to use"; + } + } + } + container ipv6 { + description + "PTP source IPv6 address options"; + container address { + description + "Set the IPv6 address to use when sending IPv6 packets"; + container disable { + must "not(../ipv6-address)"; + presence "Indicates a disable node is configured."; + description + "Use the interface IPv6 address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../disable)"; + description + "Set the IPv6 address to use when sending IPv6 packets"; + } + } + } + } + leaf local-priority { + type uint32 { + range "1..255" { + description + "The local priority value to use"; + } + } + description + "Configure a local priority"; + } + container subordinate { + description + "Add a subordinate to announce to on this interface"; + container ipv4s { + description + "IPv4 address"; + list ipv4-non-negotiated { + key "address"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + } + container ipv6s { + description + "IPv6 address"; + list ipv6 { + key "address"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + } + } + container ethernets { + description + "Ethernet address"; + list ethernet { + must "non-negotiated"; + key "address"; + description + "Ethernet address"; + leaf address { + type yang:mac-address; + description + "Ethernet address"; + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + } + } + } + container primary { + description + "Add a primary to listen to on this interface"; + container ipv4s { + description + "IPv4 address"; + list ipv4 { + key "address"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "The local priority value to use for this primary"; + } + } + description + "Specify the priority of this primary"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use for this primary"; + } + } + description + "Override the clock-class of this primary"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Whether this primary sends messages multicast"; + container mixed { + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "The expected delay asymmetry for this primary"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + } + } + container ipv6s { + description + "IPv6 address"; + list ipv6 { + key "address"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "The local priority value to use for this primary"; + } + } + description + "Specify the priority of this primary"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use for this primary"; + } + } + description + "Override the clock-class of this primary"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Whether this primary sends messages multicast"; + container mixed { + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "The expected delay asymmetry for this primary"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + } + } + container ethernets { + description + "Ethernet address"; + list ethernet { + key "address"; + description + "Ethernet address"; + leaf address { + type yang:mac-address; + description + "Ethernet address"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "The local priority value to use for this primary"; + } + } + description + "Specify the priority of this primary"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use for this primary"; + } + } + description + "Override the clock-class of this primary"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Whether this primary sends messages multicast"; + container mixed { + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "The expected delay asymmetry for this primary"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + } + } + } + container interop { + description + "This interface should interoperate with a peer clock running a different profile"; + container profile { + description + "Specify the profile to interoperate with"; + container default { + must + "not(../g-8265-1 or ../g-8275-1 + or ../g-8275-2)"; + presence "Indicates a default node is configured."; + description + "Default profile"; + } + container g-8265-1 { + must + "not(../default or ../g-8275-1 + or ../g-8275-2)"; + presence "Indicates a g-8265-1 node is configured."; + description + "G.8265.1 telecom profile"; + } + container g-8275-1 { + must + "not(../default or ../g-8265-1 + or ../g-8275-2)"; + presence "Indicates a g-8275-1 node is configured."; + description + "G.8275.1 telecom profile"; + } + container g-8275-2 { + must + "not(../default or ../g-8265-1 + or ../g-8275-1)"; + presence "Indicates a g-8275-2 node is configured."; + description + "G.8275.2 telecom profile"; + } + } + leaf domain { + type uint32 { + range "0..255" { + description + "Domain of the peer clock"; + } + } + description + "Domain of the peer clock"; + } + container egress-conversion { + description + "Conversion rules to apply on egress"; + leaf priority1 { + type uint32 { + range "0..255" { + description + "The priority1 value to use for the peer clock"; + } + } + description + "The priority1 value to use for the peer clock"; + } + leaf priority2 { + type uint32 { + range "0..255" { + description + "The priority2 value to use for the peer clock"; + } + } + description + "The priority2 value to use for the peer clock"; + } + leaf clock-accuracy { + type uint32 { + range "0..254" { + description + "The clock-accuracy value to use for the peer clock"; + } + } + description + "The clock-accuracy value to use for the peer clock"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535" { + description + "The OSLV value to use for the peer clock"; + } + } + description + "The OSLV value to use for the peer clock"; + } + container clock-class { + description + "The clock class mapping to use"; + leaf default { + type uint32 { + range "0..255" { + description + "Default clock class to use when a more specific mapping is not available"; + } + } + description + "Default clock class to use when a more specific mapping is not available"; + } + container mappings { + description + "Specific mapping for a given clock class value"; + list mapping { + key "clock-class-to-map-from"; + description + "Specific mapping for a given clock class value"; + leaf clock-class-to-map-from { + type uint32 { + range "0..255" { + description + "Clock class to map from"; + } + } + description + "Specific mapping for a given clock class value"; + } + leaf clock-class-to-map-to { + type uint32 { + range "0..255" { + description + "Clock class to map to"; + } + } + mandatory true; + description + "Clock class to map to"; + } + } + } + } + } + container ingress-conversion { + description + "Conversion rules to apply on ingress"; + leaf priority1 { + type uint32 { + range "0..255" { + description + "The priority1 value to use for the peer clock"; + } + } + description + "The priority1 value to use for the peer clock"; + } + leaf priority2 { + type uint32 { + range "0..255" { + description + "The priority2 value to use for the peer clock"; + } + } + description + "The priority2 value to use for the peer clock"; + } + leaf clock-accuracy { + type uint32 { + range "0..254" { + description + "The clock-accuracy value to use for the peer clock"; + } + } + description + "The clock-accuracy value to use for the peer clock"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535" { + description + "The OSLV value to use for the peer clock"; + } + } + description + "The OSLV value to use for the peer clock"; + } + container clock-class { + description + "The clock class mapping to use"; + leaf default { + type uint32 { + range "0..255" { + description + "Default clock class to use when a more specific mapping is not available"; + } + } + description + "Default clock class to use when a more specific mapping is not available"; + } + container mappings { + description + "Specific mapping for a given clock class value"; + list mapping { + key "clock-class-to-map-from"; + description + "Specific mapping for a given clock class value"; + leaf clock-class-to-map-from { + type uint32 { + range "0..255" { + description + "Clock class to map from"; + } + } + description + "Specific mapping for a given clock class value"; + } + leaf clock-class-to-map-to { + type uint32 { + range "0..255" { + description + "Clock class to map to"; + } + } + mandatory true; + description + "Clock class to map to"; + } + } + } + } + } + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + augment "/a2:snmp-server/a2:traps" { + container ptp { + description + "Enable PTP traps"; + leaf clock-class-change { + type uint32 { + range "0..255" { + description + "Expected clock class"; + } + } + description + "Notifications of change to the clock class"; + } + container clock-state-change { + description + "Notification of change to the clock state"; + container freerun { + must + "not(../acquiring or ../freq-locked + or ../phase-aligned or ../holdover)"; + presence "Indicates a freerun node is configured."; + description + "Freerun state"; + } + container acquiring { + must + "not(../freerun or ../freq-locked + or ../phase-aligned or ../holdover)"; + presence "Indicates a acquiring node is configured."; + description + "Acquiring state"; + } + container freq-locked { + must + "not(../freerun or ../acquiring + or ../phase-aligned or ../holdover)"; + presence "Indicates a freq-locked node is configured."; + description + "Frequency locked state"; + } + container phase-aligned { + must + "not(../freerun or ../acquiring + or ../freq-locked or ../holdover)"; + presence "Indicates a phase-aligned node is configured."; + description + "Phase aligned state"; + } + container holdover { + must + "not(../freerun or ../acquiring + or ../freq-locked or ../phase-aligned)"; + presence "Indicates a holdover node is configured."; + description + "Holdover state"; + } + } + container time-source { + description + "Notification of change to the time source"; + container atomic-clock { + must + "not(../gps or ../terrestrial-radio + or ../ptp or ../ntp + or ../handset or ../other + or ../internal)"; + presence "Indicates a atomic-clock node is configured."; + description + "Atomic Clock"; + } + container gps { + must + "not(../atomic-clock or ../terrestrial-radio + or ../ptp or ../ntp + or ../handset or ../other + or ../internal)"; + presence "Indicates a gps node is configured."; + description + "GPS"; + } + container terrestrial-radio { + must + "not(../atomic-clock or ../gps + or ../ptp or ../ntp + or ../handset or ../other + or ../internal)"; + presence "Indicates a terrestrial-radio node is configured."; + description + "Terrestrial Radio"; + } + container ptp { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ntp + or ../handset or ../other + or ../internal)"; + presence "Indicates a ptp node is configured."; + description + "PTP"; + } + container ntp { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../handset or ../other + or ../internal)"; + presence "Indicates a ntp node is configured."; + description + "NTP"; + } + container handset { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../ntp or ../other + or ../internal)"; + presence "Indicates a handset node is configured."; + description + "Handset"; + } + container other { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../ntp or ../handset + or ../internal)"; + presence "Indicates a other node is configured."; + description + "Other"; + } + container internal { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../ntp or ../handset + or ../other)"; + presence "Indicates a internal node is configured."; + description + "Internal Oscillator"; + } + } + container utc-offset-change { + presence "Indicates a utc-offset-change node is configured."; + description + "Notification of change to the UTC offset"; + leaf expected-utc-offset { + type uint32 { + range "0..65535" { + description + "Expected UTC offset. Defaults to 37"; + } + } + description + "Expected UTC offset. Defaults to 37"; + } + } + container offset-threshold-breach { + description + "Notification of changes to the offset from primary"; + leaf warning { + type uint32 { + range "0..4294967295" { + description + "Warning threshold in nsecs"; + } + } + must "../critical"; + description + "Warning threshold"; + } + leaf critical { + type uint32 { + range "0..4294967295" { + description + "Critical threshold in nsecs"; + } + } + must "../warning"; + description + "Critical threshold"; + } + } + container primary-lost { + presence "Indicates a primary-lost node is configured."; + description + "Notification of lost primarys"; + } + container subordinate-lost { + presence "Indicates a subordinate-lost node is configured."; + description + "Notification of last subordinates"; + } + container all-subordinates-lost { + presence "Indicates a all-subordinates-lost node is configured."; + description + "Notification of if all subordinates are lost"; + } + } + } + container ptp { + presence "Indicates a ptp node is configured."; + description + "Precision Time Protocol config"; + container frequency { + description + "Precision Time Protocol frequency configuration"; + leaf priority { + type uint32 { + range "1..254" { + description + "Enter the frequency priority"; + } + } + description + "Frequency priority"; + } + } + container time-of-day { + description + "Precision Time Protocol time-of-day configuration"; + leaf priority { + type uint32 { + range "1..254" { + description + "Enter the time-of-day priority"; + } + } + description + "Time-of-day priority"; + } + } + container ipv6-verify-checksum { + presence "Indicates a ipv6-verify-checksum node is configured."; + description + "Verify UDP checksum for IPv6 packets"; + } + leaf min-clock-class { + type uint32 { + range "0..255" { + description + "Enter the minimum clock class"; + } + } + description + "Clocks with a clock-class higher than minimum clock class will not be considered for selection as a parent clock."; + } + container utc-offset { + description + "Configure the UTC offset"; + leaf baseline { + type uint32 { + range "0..32767" { + description + "The UTC offset, in seconds"; + } + } + description + "Configure the baseline UTC offset"; + } + leaf leap-second-file { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "URL of the leap second source file"; + } + } + description + "Configure a file containing leap second information to poll"; + } + leaf poll-frequency { + type uint32 { + range "1..365" { + description + "Polling frequency"; + } + } + must "../leap-second-file"; + description + "Frequency at which the URL should be polled, in days"; + } + container offsets { + description + "Configure the UTC offset"; + list offset { + key "date"; + description + "Configure the UTC offset"; + leaf date { + type string { + pattern "[0-9]{4}-[0-9]{2}-[0-9]{2}" { + description + "in ISO 8601 format (YYYY-MM-DD)"; + } + } + description + "Date to apply the UTC offset, in ISO 8601 format (YYYY-MM-DD)"; + } + leaf offset-value { + type uint32 { + range "0..32767" { + description + "The UTC offset, in seconds"; + } + } + mandatory true; + description + "The UTC offset, in seconds"; + } + } + } + } + container uncalibrated-clock-class { + presence "Indicates a uncalibrated-clock-class node is configured."; + description + "Clock class to be used while acquiring phase-lock to a parent clock"; + leaf clock-class { + type uint32 { + range "0..255" { + description + "Enter the uncalibrated clock class"; + } + } + mandatory true; + description + "Clock class to be used while acquiring phase-lock to a parent clock"; + } + container unless-from-holdover { + presence "Indicates a unless-from-holdover node is configured."; + description + "Don't use this clock class if previously in holdover."; + } + } + container uncalibrated-traceable-override { + presence "Indicates a uncalibrated-traceable-override node is configured."; + description + "Override time-traceability to true while acquiring phase lock to a parent clock"; + } + leaf startup-clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use"; + } + } + description + "The clock class to use when PTP starts up"; + } + leaf freerun-clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use"; + } + } + description + "The clock class to use when the PTP servo is freerunning"; + } + leaf double-failure-clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use"; + } + } + description + "The clock class to use when both PTP and syncE are lost"; + } + container transparent-clock { + description + "Configure transparent clock"; + container domain { + description + "Domain within which to run as a transparent clock"; + container all { + presence "Indicates a all node is configured."; + description + "All domains"; + } + } + } + container physical-layer-frequency { + presence "Indicates a physical-layer-frequency node is configured."; + description + "Disable PTP as a source for frequency as only physical layer frequency sources are used"; + } + container network-type { + description + "The type of network"; + container high-pdv { + presence "Indicates a high-pdv node is configured."; + description + "The network has high packet delay variation"; + } + } + leaf servo-slow-tracking { + type uint32 { + range "8..984" { + description + "The rate, in nanoseconds per second, to limit tracking to. Must be a multiple of 8."; + } + } + description + "Restrict the rate, in ns per second, at which the servo may track to update the time and attain sync"; + } + leaf holdover-spec-clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use"; + } + } + description + "The clock class to use while in holdover-spec"; + } + leaf holdover-spec-duration { + type uint32 { + range "0..4294967295" { + description + "Time (in seconds) holdover-spec will last after sync lost"; + } + } + description + "Specify duration of holdover-spec"; + } + container holdover-spec-traceable-override { + presence "Indicates a holdover-spec-traceable-override node is configured."; + description + "Override time-traceability to true while in holdover-spec"; + } + container apts { + presence "Indicates a apts node is configured."; + description + "Enable assisted partial timing support"; + } + container log { + description + "Precision Time Protocol logging configuration"; + container best-primary-clock { + description + "Best primary clock logging options"; + container changes { + presence "Indicates a changes node is configured."; + description + "Log best primary clock changes"; + } + } + } + container profiles { + description + "PTP Profile Configuration"; + list profile { + key "profile-name"; + description + "PTP Profile Configuration"; + leaf profile-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of Profile"; + } + } + description + "PTP Profile Configuration"; + } + container port { + description + "PTP port options"; + container state { + description + "Restrict the port state of this interface"; + container subordinate-only { + must "not(../primary-only or ../any)"; + presence "Indicates a subordinate-only node is configured."; + description + "Restrict the port state to subordinate"; + } + container primary-only { + must "not(../subordinate-only or ../any)"; + presence "Indicates a primary-only node is configured."; + description + "Restrict the port state to primary"; + } + container any { + must "not(../subordinate-only or ../primary-only)"; + presence "Indicates a any node is configured."; + description + "Allow any port state"; + } + } + } + container source { + description + "PTP source address options"; + container ipv4 { + description + "PTP source IPv4 address options"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Set the IPv4 address to use when sending IPv4 packets"; + } + } + container ipv6 { + description + "PTP source IPv6 address options"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Set the IPv6 address to use when sending IPv6 packets"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Allow multicast messages to be sent"; + container mixed { + must "not(../disable)"; + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + container disable { + must "not(../mixed)"; + presence "Indicates a disable node is configured."; + description + "Disable multicast transport"; + } + container target-address { + must "ethernet/mac-address-01-1b-19-00-00-00 or ethernet/mac-address-01-80-c2-00-00-0e"; + presence "Indicates a target-address node is configured."; + description + "Configure a target address"; + container ethernet { + description + "Configure ethernet target address"; + container mac-address-01-1b-19-00-00-00 { + must "not(../mac-address-01-80-c2-00-00-0e)"; + presence "Indicates a mac-address-01-1b-19-00-00-00 node is configured."; + description + "Forwardable mac-address"; + } + container mac-address-01-80-c2-00-00-0e { + must "not(../mac-address-01-1b-19-00-00-00)"; + presence "Indicates a mac-address-01-80-c2-00-00-0e node is configured."; + description + "Non-forwardable mac-address"; + } + } + } + } + container transport { + description + "PTP transport type to use on this interface"; + container ipv4 { + must "not(../ethernet or ../ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "IPv4 transport"; + } + container ethernet { + must "not(../ipv4 or ../ipv6)"; + presence "Indicates a ethernet node is configured."; + description + "Ethernet transport"; + } + container ipv6 { + must "not(../ipv4 or ../ethernet)"; + presence "Indicates a ipv6 node is configured."; + description + "IPv6 transport"; + } + } + container clock { + description + "PTP clock-operation to use"; + container operation { + description + "PTP clock-operation to use"; + container one-step { + must "not(../two-step)"; + presence "Indicates a one-step node is configured."; + description + "One-step clock-operation"; + } + container two-step { + must "not(../one-step)"; + presence "Indicates a two-step node is configured."; + description + "Two-step clock-operation"; + } + } + } + container announce { + description + "Announce message options"; + leaf interval { + type enumeration { + enum "1" { + value 0; + description + "One second interval"; + } + enum "2" { + value 1; + description + "Two second interval"; + } + enum "4" { + value 2; + description + "Four second interval"; + } + enum "8" { + value 3; + description + "Eight second interval"; + } + enum "16" { + value 4; + description + "Sixteen second interval"; + } + enum "32" { + value 5; + description + "Thirty Two second interval"; + } + enum "64" { + value 6; + description + "Sixty Four second interval"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second interval"; + } + } + must "not(../frequency)"; + description + "Send Announce messages once every one or more seconds"; + } + leaf frequency { + type enumeration { + enum "1" { + value 0; + description + "One per second frequency"; + } + enum "2" { + value 1; + description + "Two per second frequency"; + } + enum "4" { + value 2; + description + "Four per second frequency"; + } + enum "8" { + value 3; + description + "Eight per second frequency"; + } + enum "16" { + value 4; + description + "Sixteen per second frequency"; + } + enum "32" { + value 5; + description + "Thirty Two per second frequency"; + } + enum "64" { + value 6; + description + "Sixty Four second frequency"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second frequency"; + } + } + must "not(../interval)"; + description + "Send Announce messages one or more times a second"; + } + leaf timeout { + type uint32 { + range "2..10" { + description + "The number of announce intervals before timeout"; + } + } + description + "Configure the announce timeout value"; + } + leaf grant-duration { + type uint32 { + range "60..1000" { + description + "The grant duration, in seconds"; + } + } + description + "Configure the announce unicast grant duration value"; + } + } + container sync { + description + "Sync message options"; + leaf interval { + type enumeration { + enum "1" { + value 0; + description + "One second interval"; + } + enum "2" { + value 1; + description + "Two second interval"; + } + enum "4" { + value 2; + description + "Four second interval"; + } + enum "8" { + value 3; + description + "Eight second interval"; + } + enum "16" { + value 4; + description + "Sixteen second interval"; + } + enum "32" { + value 5; + description + "Thirty Two second interval"; + } + enum "64" { + value 6; + description + "Sixty Four second interval"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second interval"; + } + } + must "not(../frequency)"; + description + "Send Announce messages once every one or more seconds"; + } + leaf frequency { + type enumeration { + enum "1" { + value 0; + description + "One per second frequency"; + } + enum "2" { + value 1; + description + "Two per second frequency"; + } + enum "4" { + value 2; + description + "Four per second frequency"; + } + enum "8" { + value 3; + description + "Eight per second frequency"; + } + enum "16" { + value 4; + description + "Sixteen per second frequency"; + } + enum "32" { + value 5; + description + "Thirty Two per second frequency"; + } + enum "64" { + value 6; + description + "Sixty Four second frequency"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second frequency"; + } + } + must "not(../interval)"; + description + "Send Announce messages one or more times a second"; + } + leaf grant-duration { + type uint32 { + range "60..1000" { + description + "The grant duration, in seconds"; + } + } + description + "Configure the sync unicast grant duration value"; + } + leaf timeout { + type uint32 { + range "100..100000" { + description + "The timeout value, in milliseconds"; + } + } + description + "Configure the sync timeout value"; + } + } + container delay-request { + description + "Configure the sending of delay-request messages"; + leaf interval { + type enumeration { + enum "1" { + value 0; + description + "One second interval"; + } + enum "2" { + value 1; + description + "Two second interval"; + } + enum "4" { + value 2; + description + "Four second interval"; + } + enum "8" { + value 3; + description + "Eight second interval"; + } + enum "16" { + value 4; + description + "Sixteen second interval"; + } + enum "32" { + value 5; + description + "Thirty Two second interval"; + } + enum "64" { + value 6; + description + "Sixty Four second interval"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second interval"; + } + } + must "not(../frequency)"; + description + "Send Announce messages once every one or more seconds"; + } + leaf frequency { + type enumeration { + enum "1" { + value 0; + description + "One per second frequency"; + } + enum "2" { + value 1; + description + "Two per second frequency"; + } + enum "4" { + value 2; + description + "Four per second frequency"; + } + enum "8" { + value 3; + description + "Eight per second frequency"; + } + enum "16" { + value 4; + description + "Sixteen per second frequency"; + } + enum "32" { + value 5; + description + "Thirty Two per second frequency"; + } + enum "64" { + value 6; + description + "Sixty Four second frequency"; + } + enum "128" { + value 7; + description + "One Hundred and Twenty Eight second frequency"; + } + } + must "not(../interval)"; + description + "Send Announce messages one or more times a second"; + } + } + leaf cos { + type uint32 { + range "0..7" { + description + "The COS value to use"; + } + } + description + "Specify the COS value to use"; + } + leaf event-cos { + type uint32 { + range "0..7" { + description + "The COS value to use"; + } + } + description + "Specify the COS value to use"; + } + leaf general-cos { + type uint32 { + range "0..7" { + description + "The COS value to use"; + } + } + description + "Specify the COS value to use"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "The DSCP value to use"; + } + } + description + "Specify the DSCP value to use"; + } + leaf event-dscp { + type uint32 { + range "0..63" { + description + "The DSCP value to use"; + } + } + description + "Specify the DSCP value to use"; + } + leaf general-dscp { + type uint32 { + range "0..63" { + description + "The DSCP value to use"; + } + } + description + "Specify the DSCP value to use"; + } + leaf ipv4-ttl { + type uint32 { + range "1..255" { + description + "The IPv4 TTL value to use"; + } + } + description + "Specify the IPv4 TTL value to use"; + } + leaf ipv6-hop-limit { + type uint32 { + range "1..255" { + description + "The IPv6 hop limit value to use"; + } + } + description + "Specify the IPv6 hop limit value to use"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "Delay asymmetry to apply to all primarys on an interface"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + container delay-response { + description + "Delay-Response message options"; + leaf grant-duration { + type uint32 { + range "60..1000" { + description + "The grant duration, in seconds"; + } + } + description + "Configure the delay-response unicast grant duration value"; + } + leaf timeout { + type uint32 { + range "100..100000" { + description + "The timeout value, in milliseconds"; + } + } + description + "Configure the delay-response timeout value"; + } + } + container unicast-grant { + description + "Unicast grant options"; + container invalid-request { + description + "Configure the response to invalid unicast requests"; + container reduce { + must "not(../deny)"; + presence "Indicates a reduce node is configured."; + description + "Reduce grant parameters"; + } + container deny { + must "not(../reduce)"; + presence "Indicates a deny node is configured."; + description + "Deny grant"; + } + } + } + container subordinate { + description + "Add a subordinate to announce to on this interface"; + container ipv4s { + description + "IPv4 address"; + list ipv4-non-negotiated { + key "address"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + } + } + container ipv6s { + description + "IPv6 address"; + list ipv6 { + key "address"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + } + } + container ethernets { + description + "Ethernet address"; + list ethernet { + must "non-negotiated"; + key "address"; + description + "Ethernet address"; + leaf address { + type yang:mac-address; + description + "Ethernet address"; + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + } + } + } + container primary { + description + "Add a primary to listen to on interfaces using this profile"; + container ipv4s { + description + "IPv4 address"; + list ipv4 { + key "address"; + description + "IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "The priority value to use for this primary"; + } + } + description + "Specify the priority of this primary"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use for this primary"; + } + } + description + "Override the clock-class of this primary"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Whether this primary sends messages multicast"; + container mixed { + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "The expected delay asymmetry for this primary"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + } + } + container ipv6s { + description + "IPv6 address"; + list ipv6 { + key "address"; + description + "IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "The priority value to use for this primary"; + } + } + description + "Specify the priority of this primary"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use for this primary"; + } + } + description + "Override the clock-class of this primary"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Whether this primary sends messages multicast"; + container mixed { + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "The expected delay asymmetry for this primary"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + } + } + container ethernets { + description + "Ethernet address"; + list ethernet { + key "address"; + description + "Ethernet address"; + leaf address { + type yang:mac-address; + description + "Ethernet address"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "The priority value to use for this primary"; + } + } + description + "Specify the priority of this primary"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use for this primary"; + } + } + description + "Override the clock-class of this primary"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Whether this primary sends messages multicast"; + container mixed { + presence "Indicates a mixed node is configured."; + description + "Mixed-mode multicast"; + } + } + container non-negotiated { + presence "Indicates a non-negotiated node is configured."; + description + "Use non-negotiated unicast"; + } + leaf delay-asymmetry { + type int32 { + range "-500000000..500000000" { + description + "How much longer the primary to subordinate path takes than the reverse"; + } + } + description + "The expected delay asymmetry for this primary"; + } + container nanoseconds { + must "not(../microseconds or ../milliseconds)"; + presence "Indicates a nanoseconds node is configured."; + description + "Use nanoseconds as the delay asymmetry units"; + } + container microseconds { + must "not(../nanoseconds or ../milliseconds)"; + presence "Indicates a microseconds node is configured."; + description + "Use microseconds as the delay asymmetry units"; + } + container milliseconds { + must "not(../nanoseconds or ../microseconds)"; + presence "Indicates a milliseconds node is configured."; + description + "Use milliseconds as the delay asymmetry units"; + } + } + } + } + container interop { + description + "Interfaces using this profile should interoperate with a peer clock running a different profile"; + container profile { + description + "Specify the profile to interoperate with"; + container default { + must + "not(../g-8265-1 or ../g-8275-1 + or ../g-8275-2)"; + presence "Indicates a default node is configured."; + description + "Default profile"; + } + container g-8265-1 { + must + "not(../default or ../g-8275-1 + or ../g-8275-2)"; + presence "Indicates a g-8265-1 node is configured."; + description + "G.8265.1 telecom profile"; + } + container g-8275-1 { + must + "not(../default or ../g-8265-1 + or ../g-8275-2)"; + presence "Indicates a g-8275-1 node is configured."; + description + "G.8275.1 telecom profile"; + } + container g-8275-2 { + must + "not(../default or ../g-8265-1 + or ../g-8275-1)"; + presence "Indicates a g-8275-2 node is configured."; + description + "G.8275.2 telecom profile"; + } + } + leaf domain { + type uint32 { + range "0..255" { + description + "Domain of the peer clock"; + } + } + description + "Domain of the peer clock"; + } + container egress-conversion { + description + "Conversion rules to apply on egress"; + leaf priority1 { + type uint32 { + range "0..255" { + description + "The priority1 value to use for the peer clock"; + } + } + description + "The priority1 value to use for the peer clock"; + } + leaf priority2 { + type uint32 { + range "0..255" { + description + "The priority2 value to use for the peer clock"; + } + } + description + "The priority2 value to use for the peer clock"; + } + leaf clock-accuracy { + type uint32 { + range "0..254" { + description + "The clock-accuracy value to use for the peer clock"; + } + } + description + "The clock-accuracy value to use for the peer clock"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535" { + description + "The OSLV value to use for the peer clock"; + } + } + description + "The OSLV value to use for the peer clock"; + } + container clock-class { + description + "The clock class mapping to use"; + leaf default { + type uint32 { + range "0..255" { + description + "Default clock class to use when a more specific mapping is not available"; + } + } + description + "Default clock class to use when a more specific mapping is not available"; + } + container mappings { + description + "Specific mapping for a given clock class value"; + list mapping { + key "clock-class-to-map-from"; + description + "Specific mapping for a given clock class value"; + leaf clock-class-to-map-from { + type uint32 { + range "0..255" { + description + "Clock class to map from"; + } + } + description + "Specific mapping for a given clock class value"; + } + leaf clock-class-to-map-to { + type uint32 { + range "0..255" { + description + "Clock class to map to"; + } + } + mandatory true; + description + "Clock class to map to"; + } + } + } + } + } + container ingress-conversion { + description + "Conversion rules to apply on ingress"; + leaf priority1 { + type uint32 { + range "0..255" { + description + "The priority1 value to use for the peer clock"; + } + } + description + "The priority1 value to use for the peer clock"; + } + leaf priority2 { + type uint32 { + range "0..255" { + description + "The priority2 value to use for the peer clock"; + } + } + description + "The priority2 value to use for the peer clock"; + } + leaf clock-accuracy { + type uint32 { + range "0..254" { + description + "The clock-accuracy value to use for the peer clock"; + } + } + description + "The clock-accuracy value to use for the peer clock"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535" { + description + "The OSLV value to use for the peer clock"; + } + } + description + "The OSLV value to use for the peer clock"; + } + container clock-class { + description + "The clock class mapping to use"; + leaf default { + type uint32 { + range "0..255" { + description + "Default clock class to use when a more specific mapping is not available"; + } + } + description + "Default clock class to use when a more specific mapping is not available"; + } + container mappings { + description + "Specific mapping for a given clock class value"; + list mapping { + key "clock-class-to-map-from"; + description + "Specific mapping for a given clock class value"; + leaf clock-class-to-map-from { + type uint32 { + range "0..255" { + description + "Clock class to map from"; + } + } + description + "Specific mapping for a given clock class value"; + } + leaf clock-class-to-map-to { + type uint32 { + range "0..255" { + description + "Clock class to map to"; + } + } + mandatory true; + description + "Clock class to map to"; + } + } + } + } + } + } + } + } + container virtual-port { + presence "Indicates a virtual-port node is configured."; + description + "PTP Virtual Port Configuration"; + leaf priority1 { + type uint32 { + range "0..255" { + description + "The priority1 value to use"; + } + } + description + "The priority1 value to use when advertising this clock"; + } + leaf priority2 { + type uint32 { + range "0..255" { + description + "The priority2 value to use"; + } + } + description + "The priority2 value to use when advertising this clock"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use"; + } + } + description + "The clock class to use when advertising this clock"; + } + leaf clock-accuracy { + type uint32 { + range "0..254" { + description + "The clock accuracy to use"; + } + } + description + "The clock accuracy to use when advertising this clock"; + } + leaf offset-scaled-log-variance { + type uint32 { + range "0..65535" { + description + "The OSLV value to use for the virtual port"; + } + } + description + "The OSLV value to use for the virtual port"; + } + leaf local-priority { + type uint32 { + range "1..255" { + description + "The local priority value to use"; + } + } + description + "Configure a local priority"; + } + } + container clock { + description + "PTP Clock Configuration"; + container identity { + description + "PTP clock-id options"; + container mac-address { + description + "Use a mac-address to determine the clock-id"; + leaf custom { + type yang:mac-address; + must "not(../router)"; + description + "configure this node"; + } + container router { + must "not(../custom)"; + presence "Indicates a router node is configured."; + description + "Use the router's mac-address"; + } + } + leaf eui-64 { + type xr:Cisco-ios-xr-string { + length "16" { + description + "Enter the EUI-64 number (hex value w/o leading 0x)"; + } + pattern "[0-9a-fA-F]{16}"; + } + must "not(../mac-address/router or ../mac-address/custom)"; + description + "Use the full EUI-64 number to determine"; + } + } + leaf domain { + type uint32 { + range "0..255" { + description + "The domain number to use"; + } + } + description + "The domain number to use for this clock"; + } + leaf priority1 { + type uint32 { + range "0..255" { + description + "The priority1 value to use"; + } + } + description + "The priority1 value to use when advertising this clock"; + } + leaf priority2 { + type uint32 { + range "0..255" { + description + "The priority2 value to use"; + } + } + description + "The priority2 value to use when advertising this clock"; + } + leaf clock-class { + type uint32 { + range "0..255" { + description + "The clock class to use"; + } + } + description + "The clock class to use when advertising this clock"; + } + container timescale { + description + "The timescale to use when advertising this clock"; + container ptp { + must "not(../arb)"; + presence "Indicates a ptp node is configured."; + description + "PTP timescale"; + } + container arb { + must "not(../ptp)"; + presence "Indicates a arb node is configured."; + description + "ARB timescale"; + } + } + container time-source { + description + "The time source to use when advertising this clock"; + container atomic-clock { + must + "not(../gps or ../terrestrial-radio + or ../ptp or ../ntp + or ../hand-set or ../other + or ../internal-oscillator)"; + presence "Indicates a atomic-clock node is configured."; + description + "Atomic clock"; + } + container gps { + must + "not(../atomic-clock or ../terrestrial-radio + or ../ptp or ../ntp + or ../hand-set or ../other + or ../internal-oscillator)"; + presence "Indicates a gps node is configured."; + description + "GPS"; + } + container terrestrial-radio { + must + "not(../atomic-clock or ../gps + or ../ptp or ../ntp + or ../hand-set or ../other + or ../internal-oscillator)"; + presence "Indicates a terrestrial-radio node is configured."; + description + "Terrestrial radio"; + } + container ptp { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ntp + or ../hand-set or ../other + or ../internal-oscillator)"; + presence "Indicates a ptp node is configured."; + description + "PTP"; + } + container ntp { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../hand-set or ../other + or ../internal-oscillator)"; + presence "Indicates a ntp node is configured."; + description + "NTP"; + } + container hand-set { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../ntp or ../other + or ../internal-oscillator)"; + presence "Indicates a hand-set node is configured."; + description + "Hand-set"; + } + container other { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../ntp or ../hand-set + or ../internal-oscillator)"; + presence "Indicates a other node is configured."; + description + "Other source"; + } + container internal-oscillator { + must + "not(../atomic-clock or ../gps + or ../terrestrial-radio or ../ptp + or ../ntp or ../hand-set + or ../other)"; + presence "Indicates a internal-oscillator node is configured."; + description + "Internal oscillator"; + } + } + container profile { + description + "PTP profile configuration"; + container g-8265-1 { + must + "not(../g-8275-1/clock-type/t-bc or + ../g-8275-1/clock-type/t-gm or + ../g-8275-1/clock-type/t-tsc or + ../g-8275-2/clock-type/t-bc or + ../g-8275-2/clock-type/t-gm or + ../g-8275-2/clock-type/t-tsc)"; + presence "Indicates a g-8265-1 node is configured."; + description + "G.8265.1 telecom profile"; + container clock-type { + description + "Clock type for G.8265 profiles"; + container primary { + must "not(../subordinate)"; + presence "Indicates a primary node is configured."; + description + "Configure primary clock"; + } + container subordinate { + must "not(../primary)"; + presence "Indicates a subordinate node is configured."; + description + "Configure telecom subordinate clock"; + } + } + } + container g-8275-1 { + description + "G.8275.1 telecom profile"; + container clock-type { + description + "Clock type for G.8275 profiles"; + container t-bc { + must + "not(../t-gm or ../t-tsc or + ../../../g-8265-1 or + ../../../g-8275-2/clock-type/t-bc or + ../../../g-8275-2/clock-type/t-gm or + ../../../g-8275-2/clock-type/t-tsc)"; + presence "Indicates a t-bc node is configured."; + description + "Configure telecom boundary clock"; + } + container t-gm { + must + "not(../t-bc or ../t-tsc or + ../../../g-8265-1 or + ../../../g-8275-2/clock-type/t-bc or + ../../../g-8275-2/clock-type/t-gm or + ../../../g-8275-2/clock-type/t-tsc)"; + presence "Indicates a t-gm node is configured."; + description + "Configure telecom grand primary clock"; + } + container t-tsc { + must + "not(../t-bc or ../t-gm or + ../../../g-8265-1 or + ../../../g-8275-2/clock-type/t-bc or + ../../../g-8275-2/clock-type/t-gm or + ../../../g-8275-2/clock-type/t-tsc)"; + presence "Indicates a t-tsc node is configured."; + description + "Configure telecom subordinate clock"; + } + } + } + container g-8275-2 { + description + "G.8275.2 telecom profile"; + container clock-type { + description + "Clock type for G.8275 profiles"; + container t-bc { + must + "not(../t-gm or ../t-tsc or + ../../../g-8265-1 or + ../../../g-8275-1/clock-type/t-bc or + ../../../g-8275-1/clock-type/t-gm or + ../../../g-8275-1/clock-type/t-tsc)"; + presence "Indicates a t-bc node is configured."; + description + "Configure telecom boundary clock"; + } + container t-gm { + must + "not(../t-bc or ../t-tsc or + ../../../g-8265-1 or + ../../../g-8275-1/clock-type/t-bc or + ../../../g-8275-1/clock-type/t-gm or + ../../../g-8275-1/clock-type/t-tsc)"; + presence "Indicates a t-gm node is configured."; + description + "Configure telecom grand primary clock"; + } + container t-tsc { + must + "not(../t-bc or ../t-gm or + ../../../g-8265-1 or + ../../../g-8275-1/clock-type/t-bc or + ../../../g-8275-1/clock-type/t-gm or + ../../../g-8275-1/clock-type/t-tsc)"; + presence "Indicates a t-tsc node is configured."; + description + "Configure telecom subordinate clock"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-log-servo-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-log-servo-cfg.yang new file mode 100644 index 000000000..f78d12ec7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ptp-log-servo-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-um-ptp-log-servo-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ptp-log-servo-cfg"; + prefix um-ptp-log-servo-cfg; + + import Cisco-IOS-XR-um-ptp-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ptp-log-servo package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:ptp/a1:log" { + container servo { + description + "Servo logging options"; + container events { + presence "Indicates a events node is configured."; + description + "Log servo events"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-raw-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-raw-cfg.yang new file mode 100644 index 000000000..8157c53b0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-raw-cfg.yang @@ -0,0 +1,121 @@ +module Cisco-IOS-XR-um-raw-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-raw-cfg"; + prefix um-raw-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR raw package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-08 { + description + "Removed Cisco-IOS-XR-types import"; + semver:module-version "1.0.1m"; + } + revision 2020-12-16 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container raw { + description + "Global RAW configuration command"; + container debug-file { + presence "Indicates a debug-file node is configured."; + description + "Configure debug file attributes"; + leaf directory { + type string { + length "1..800" { + description + "Place debug files in this directory"; + } + } + mandatory true; + description + "Specify RAW debug directory location"; + } + leaf files { + type uint32 { + range "1..18000" { + description + "Maximum debug files (default: 256)"; + } + } + mandatory true; + description + "Set maximum debug files"; + } + leaf size { + type uint32 { + range "1024..4294967295" { + description + "Maximum file size in bytes"; + } + } + mandatory true; + description + "Set maximum file size"; + } + } + leaf receive-queue { + type uint32 { + range "40..800" { + description + "Number of packets in receive queue"; + } + } + description + "RAW receive packet queue size"; + } + container num-thread { + presence "Indicates a num-thread node is configured."; + description + "Set number of threads (takes effect only on process restart)"; + leaf threads { + type uint32 { + range "1..16" { + description + "Ingress threads created by RAW (default: 8)"; + } + } + mandatory true; + description + "Set number of threads (takes effect only on process restart)"; + } + leaf max-threads { + type uint32 { + range "1..16" { + description + "max threads in thread pool created by RAW (default: 8)"; + } + } + mandatory true; + description + "max threads in thread pool created by RAW (default: 8)"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-rcc-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-rcc-cfg.yang new file mode 100644 index 000000000..683761960 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-rcc-cfg.yang @@ -0,0 +1,137 @@ +module Cisco-IOS-XR-um-rcc-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-rcc-cfg"; + prefix um-rcc-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR rcc package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-09 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container lcc { + description + "Label Consistency Checker"; + container ipv6 { + description + "IPv6 Configuration"; + container unicast { + description + "Unicast table"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable background scan"; + } + leaf period { + type uint32 { + range "100..600000" { + description + "Period between buffers in scans in milliseconds"; + } + } + description + "Period of checks in milliseconds"; + } + } + } + container ipv4 { + description + "IPv4 Configuration"; + container unicast { + description + "Unicast table"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable background scan"; + } + leaf period { + type uint32 { + range "100..600000" { + description + "Period between buffers in scans in milliseconds"; + } + } + description + "Period of checks in milliseconds"; + } + } + } + } + container rcc { + description + "Route Consistency Checker"; + container ipv6 { + description + "IPv6 Configuration"; + container unicast { + description + "Unicast tables"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable background scan"; + } + leaf period { + type uint32 { + range "100..600000" { + description + "Period between buffers in scans in milliseconds"; + } + } + description + "Period of checks in milliseconds"; + } + } + } + container ipv4 { + description + "IPv4 Configuration"; + container unicast { + description + "Unicast tables"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable background scan"; + } + leaf period { + type uint32 { + range "100..600000" { + description + "Period between buffers in scans in milliseconds"; + } + } + description + "Period of checks in milliseconds"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-redundancy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-redundancy-cfg.yang new file mode 100644 index 000000000..b3482cd79 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-redundancy-cfg.yang @@ -0,0 +1,261 @@ +module Cisco-IOS-XR-um-redundancy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-redundancy-cfg"; + prefix um-redundancy-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR redundancy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container redundancy { + presence "Indicates a redundancy node is configured."; + description + "Interchassis redundancy configuration"; + container iccp { + description + "configure iccp parameter"; + container groups { + description + "group configuration"; + list group { + key "group-number"; + description + "group configuration"; + leaf group-number { + type uint32 { + range "1..4294967295" { + description + "Enter group number"; + } + } + description + "group configuration"; + } + container mlacp { + description + "Multi-chassis Link Aggregation Control Protocol commands"; + leaf node { + type uint32 { + range "0..7" { + description + "Unique node ID in the ICCP Group for this system."; + } + } + description + "Set mLACP node ID to use in this ICCP Group"; + } + container system { + description + "Set the default system parameters for LACP bundles"; + leaf priority { + type uint32 { + range "1..65535" { + description + "Priority for this system. Lower value is higher priority."; + } + } + description + "Set the LACP system priority to be used in this ICCP Group."; + } + leaf mac { + type yang:mac-address; + description + "The LACP System ID to be used in this ICCP Group."; + } + } + container connect { + description + "Specify configuration options for connecting to mLACP peers."; + leaf timeout { + type uint32 { + range "0..65534" { + description + "Number of seconds to wait before assuming mLACP peer is down."; + } + } + description + "Specify time to wait before assuming mLACP peer is down."; + } + } + } + container member { + description + "configure ICCP members"; + container neighbors { + description + "configure interchassis group ICCP members"; + list neighbor { + key "address"; + description + "configure interchassis group ICCP members"; + leaf address { + type inet:ipv4-address-no-zone; + description + "configure interchassis group ICCP members"; + } + } + } + } + container backbone { + description + "configure ICCP backbone interfaces"; + container interfaces { + description + "configure interchasis group ICCP backbone interface"; + list interface { + key "interface-name"; + description + "configure interchasis group ICCP backbone interface"; + leaf interface-name { + type xr:Interface-name; + description + "configure interchasis group ICCP backbone interface"; + } + } + } + } + container isolation { + description + "Set the isolation parameters"; + leaf recovery-delay { + type uint32 { + range "30..600" { + description + "Recovery delay in seconds."; + } + } + description + "Specify delay before clearing isolation condition after recovery from failure"; + } + } + container mode { + description + "Set the group mode"; + container singleton { + presence "Indicates a singleton node is configured."; + description + "Run the group in singleton mode"; + } + } + } + } + } + container multi-router { + description + "multi-router redundancy configuration"; + container aps { + description + "multi-route aps redundancy configuration"; + container groups { + description + "group configuration"; + list group { + key "group-number"; + description + "group configuration"; + leaf group-number { + type uint32 { + range "1..32" { + description + "Enter group number"; + } + } + description + "group configuration"; + } + container controllers { + description + "Sonet controller backup configuration"; + list controller { + key "controller-name"; + description + "Sonet controller backup configuration"; + leaf controller-name { + type xr:Interface-name { + pattern "SONET.*"; + } + description + "Sonet controller name"; + } + container member { + description + "Interchassis redundancy group member"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Group member next hop IPv4 address"; + } + leaf backup-interface { + type xr:Interface-name { + pattern "(Bundle-Ether.*|GigabitEther.*|TenGigE.*)"; + } + mandatory true; + description + "Group member backup interface"; + } + } + } + } + } + } + container default-group { + description + "default configuration"; + container member { + description + "default aps group member"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "../backup-interface"; + description + "Group member next hop IPv4 address"; + } + leaf backup-interface { + type xr:Interface-name; + must "../ipv4"; + description + "Group member backup interface"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-amt-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-amt-cfg.yang new file mode 100644 index 000000000..dfb46c920 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-amt-cfg.yang @@ -0,0 +1,180 @@ +module Cisco-IOS-XR-um-router-amt-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-amt-cfg"; + prefix um-router-amt-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router amt configuration. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-08-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container router { + description + "Enable a routing process"; + container amt { + presence "Indicates a amt node is configured."; + description + "Automatic Multicast Tunneling (AMT)"; + container relay { + presence "Indicates a relay node is configured."; + description + "AMT Relay Submode"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "AMT Relay IPv4 Tunnel Submode"; + container anycast-prefix { + description + "AMT Relay IPv4 Anycast-Prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "anycast prefix address"; + } + leaf prefix-length { + type uint32 { + range "0..32"; + } + description + "Prefix mask for anycast prefix"; + } + } + container advertisement-address { + presence "Indicates a advertisement-address node is configured."; + description + "AMT Relay IPv4 Advertisement Address"; + leaf relay-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "AMT Relay IPv4 Advertisement Address"; + } + leaf interface { + type xr:Interface-name; + mandatory true; + description + "Source Interface"; + } + } + leaf gateway-filter { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Filter ACL name"; + } + } + description + "AMT Gateway Filter ACL"; + } + leaf mtu { + type uint32 { + range "100..65535" { + description + "MTU value"; + } + } + description + "AMT Relay MTU configuration"; + } + leaf tos { + type uint32 { + range "1..255" { + description + "TOS value"; + } + } + description + "AMT Relay TOS configuration"; + } + leaf ttl { + type uint32 { + range "1..255" { + description + "TTL value"; + } + } + description + "AMT Relay TTL configuration"; + } + leaf qqic { + type uint32 { + range "0..4294967295" { + description + "QQIC value in seconds"; + } + } + description + "AMT Relay QQIC configuration"; + } + container maximum { + description + "Maximum limits"; + leaf gateway { + type uint32 { + range "0..4294967295" { + description + "Maximum number of Gateways"; + } + } + description + "Maximum number of Gateways"; + } + container route-gateway { + description + "Maximum number of route-gateways (Tunnels)"; + leaf ipv4 { + type uint32 { + range "0..4294967295" { + description + "Maximum number of IPv4 route-gateways (Tunnels)"; + } + } + description + "Maximum number of IPv4 route-gateways (Tunnels)"; + } + leaf ipv6 { + type uint32 { + range "0..4294967295" { + description + "Maximum number of IPv6 route-gateways (Tunnels)"; + } + } + description + "Maximum number of IPv6 route-gateways (Tunnels)"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-bgp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-bgp-cfg.yang new file mode 100644 index 000000000..172820e81 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-bgp-cfg.yang @@ -0,0 +1,18065 @@ +module Cisco-IOS-XR-um-router-bgp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-bgp-cfg"; + prefix um-router-bgp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-vrf-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-bgp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-09-27 { + description + "Added missing description statement to nodes + 2022-09-05 + Added container bmp-modes under route-monitoring for inbound post-policy + and local-rib support, + Deprecated container policy under route-monitoring + 2022-07-06 + Added openconfig rib-telemetry + 2022-06-20 + Added delay/startup support under wait-install + 2022-03-03 + Added leaf percentage-threshold-high under bandwidth-aware + 2022-02-18 + Added leaf percentage-threshold-high under bandwidth-aware + 2021-10-20 + Added force node under sr-policy"; + semver:module-version "4.1.0"; + } + revision 2021-10-19 { + description + "Added leaf flex-algo under container optimal-route-reflection + 2021-09-21 + Added retention under route-policy + 2021-08-27 + Increase maximum-paths ebgp range to 1024, + Added preference under rpki/server, + Added datafile under rpki, + Added unique-nexthop-check-disable under maximum-paths, + Added table-version under address-family + 2021-08-23 + Added epe-bgp/labeled-unicast under advertise and epe/backup/enable + Added deterministic under unequal-cost of maximum-paths + Added container export under address family + Added leaf route-policy under srv6/alloc + Added container bandwidth-aware + Added leaf route-policy under srv6/alloc of vrfs + Added node deterministic under unequal-cost of maximum-paths/address family + 2021-07-29 + Removed duplicate enforce-first-as-disable which serve same as enforce-first-as/disable"; + semver:module-version "4.0.0"; + } + revision 2021-05-31 { + description + "Added must statement under list instances router->bgp + 2021-03-15 + Added sr-policy under router-bgp->bgp->bestpath and + router-bgp->vrf->bgp->bestpath + 2021-02-25 + Added multipath container under vrf->neighbors->address-family + 2021-02-17 + Added must constraints in af-group list + 2021-02-11 + Removed presence statement from match node under eigrp container + 2021-02-10 + Added labeled-unicast under best-external + 2021-02-04 + Added sr-policy under nexthop & igp-metric + 2021-02-03 + Added container option-b-asbr-only + 2020-11-16 + Added srte-metric and validation under nexthop + 2020-11-10 + Added mask-length under local-address-subnet as needed + 2020-10-22 + Added rpki-dropped-only/rpki-tested-only under + soft-reconfiguration/inbound. Updated must statements accordingly + to define proper constraints with new nodes. + 2020-09-30 + Added multipath under neighbor address-family + 2020-08-12 + Added route-target container under retain. + Added per-nexthop-received-label under mode. + Added appropriate when statements under retain/mode containers. + Removed per-prefix under vrf as it's not supported. + 2020-08-05 + Added some must statements as needed + 2020-07-30 + Added when statement to local-labeled-route under address-family + hierarchy and removed one presence statement as needed"; + semver:module-version "3.0.0"; + } + revision 2020-07-24 { + description + "Added internal under remove-private-as. Also added must statements + under remove-private-as as appropriate. + 2020-06-05 + Removed unused nodes from vrf address-family + Added constraint to nodes under as-format + 2020-05-17 + (1) Added enable/label-mode under as + (2) Added srv6 under encapsulation-type + (3) Added vpnv4/vpnv6/l2vpn nodes under advertise + (4) Added segment-routing node under neighbors/neighbor/address-family + (5) Changed integer range of multipath, message-log-buffer-size, purge-time + (6) Added minimum-ipv6 node under nexthop/resolution/prefix-length + (7) Changed sysdb path of log node and its chilren + (8) Changed sysdb path of suppress node and its children + (9) Added extended-nexthop-encoding node under suppress + (10) Added update node under neighbor-group/address-families/address-family + (11) Added retain-nbr-routes under graceful-restart + + 2020-04-14 + Added rd augment to vrf model + 2020-03-13 + Added corresponding nodes for peer-set-id, adjacencies, + peer-set and peer-node-sid"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + typedef Bgp-address-family { + type enumeration { + enum "ipv4-unicast" { + value 0; + description + "IPv4 unicast"; + } + enum "ipv4-multicast" { + value 1; + description + "IPv4 multicast"; + } + enum "ipv4-labeled-unicast" { + value 2; + description + "IPv4 labeled-unicast"; + } + enum "ipv4-tunnel" { + value 3; + description + "IPv4 tunnel"; + } + enum "vpnv4-unicast" { + value 4; + description + "VPNv4 unicast"; + } + enum "ipv6-unicast" { + value 5; + description + "IPv6 unicast"; + } + enum "ipv6-multicast" { + value 6; + description + "IPv6 multicast"; + } + enum "ipv6-labeled-unicast" { + value 7; + description + "IPv6 labeled-unicast"; + } + enum "vpnv6-unicast" { + value 8; + description + "VPNv6 unicast"; + } + enum "ipv4-mdt" { + value 9; + description + "IPv4 MDT"; + } + enum "l2vpn-vpls-vpws" { + value 10; + description + "L2VPN VPLS-VPWS"; + } + enum "ipv4-rt-filter" { + value 11; + description + "IPv4 rt-filter"; + } + enum "ipv4-mvpn" { + value 12; + description + "IPv4 MVPN"; + } + enum "ipv6-mvpn" { + value 13; + description + "IPv6 MVPN"; + } + enum "l2vpn-evpn" { + value 14; + description + "L2VPN EVPN"; + } + enum "link-state-link-state" { + value 15; + description + "Link-state link-state"; + } + enum "vpnv4-multicast" { + value 16; + description + "VPNv4 Multicast"; + } + enum "vpnv6-multicast" { + value 17; + description + "VPNv6 Multicast"; + } + enum "ipv4-flowspec" { + value 18; + description + "IPv4 flowspec"; + } + enum "ipv6-flowspec" { + value 19; + description + "IPv6 flowspec"; + } + enum "vpnv4-flowspec" { + value 20; + description + "VPNv4 flowspec"; + } + enum "vpnv6-flowspec" { + value 21; + description + "VPNv6 flowspec"; + } + enum "l2vpn-mspw" { + value 22; + description + "L2VPN MSPW"; + } + enum "ipv4-sr-policy" { + value 23; + description + "IPv4 SRPolicy"; + } + enum "ipv6-sr-policy" { + value 24; + description + "IPv6 SRPolicy"; + } + enum "all-address-family" { + value 25; + description + "All Address Families"; + } + } + description + "Bgp address family"; + } + + typedef Bgp-attribute-code { + type union { + type uint32 { + range "0 | 4..14"; + } + type uint32 { + range "6..255"; + } + type enumeration { + enum "AGGREGATOR" { + value 7; + description + "Aggregator attribute (7)"; + } + enum "AIGP" { + value 26; + description + "AIGP attribute (26)"; + } + enum "AS4-AGGREGATOR" { + value 18; + description + "AS4_AGGREGATOR attribute (18)"; + } + enum "AS4-PATH" { + value 17; + description + "AS4_PATH attribute (17)"; + } + enum "ATOMIC-AGGREGATE" { + value 6; + description + "Atomic aggrgate attribute (6)"; + } + enum "ATTRSET" { + value 128; + description + "ATTR_SET attribute (128)"; + } + enum "CLUSTER-LIST" { + value 10; + description + "Cluster List attribute (10)"; + } + enum "COMMUNITY" { + value 8; + description + "Community attribute (8)"; + } + enum "CONNECTOR" { + value 20; + description + "Connector attribute (20)"; + } + enum "EXTENDED-COMMUNITIES" { + value 16; + description + "Extended community attribute (16)"; + } + enum "LARGE-COMMUNITY" { + value 32; + description + "Large Community attribute (32)"; + } + enum "LOCAL-PREF" { + value 5; + description + "Local Preference attribute (5)"; + } + enum "LSATTR" { + value 29; + description + "Link-state attribute (29)"; + } + enum "MULTI-EXIT-DISC" { + value 4; + description + "MED attribute (4)"; + } + enum "ORIGINATOR-ID" { + value 9; + description + "Originator attribute (9)"; + } + enum "PMSI-TUNNEL" { + value 22; + description + "PMSI Tunnel attribute (22)"; + } + enum "PPMP" { + value 70; + description + "PPMP attribute (70)"; + } + enum "PREFIX-SID" { + value 40; + description + "Prefix-SID attribute (40)"; + } + enum "SSA" { + value 19; + description + "SAFI specific attribute (19)"; + } + enum "TUNNEL-ENCAP" { + value 23; + description + "Tunnel-Encapsulation attribute (23)"; + } + } + } + description + "BGP attribute code"; + } + + typedef Bmp-mode { + type enumeration { + enum "inbound-pre-policy" { + value 0; + description + "Pickup routes at inbound direction from peer + before application of route-policy"; + } + enum "inbound-post-policy" { + value 1; + description + "Pickup routes at inbound direction from peer + after application of route-policy"; + } + enum "local-rib" { + value 4; + description + "Pickup routes that have been selected by the + local BGP speaker's decision process"; + } + } + description + "Bmp route monitor mode"; + } + + grouping VRF-COMMON { + description + "Grouping for vrf"; + container import { + description + "VRF import"; + leaf route-policy { + type xr:Route-policy-name; + description + "Use route-policy for import filtering"; + } + container from { + description + "Import routes from a VRF"; + container default-vrf { + description + "Import routes from the default VRF"; + leaf route-policy { + type xr:Route-policy-name; + description + "Use route-policy for import filtering"; + } + container advertise-as-vpn { + must "../route-policy"; + presence "Indicates a advertise-as-vpn node is configured."; + description + "Advertise imported routes to PEs"; + } + } + container vrf { + description + "VRF import"; + container advertise-as-vpn { + presence "Indicates a advertise-as-vpn node is configured."; + description + "Advertise imported routes to PEs"; + } + } + container bridge-domain { + description + "VRF import"; + container advertise-as-vpn { + presence "Indicates a advertise-as-vpn node is configured."; + description + "Advertise local EVPN imported routes to PEs"; + } + } + } + container route-target { + description + "Specify import route target extended communities"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "as-number index stitching"; + description + "Two Byte AS Number Route Target"; + leaf as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + description + "ASN2:index (hex or decimal format)"; + } + leaf stitching { + type boolean; + description + "These are stitching RTs"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "as-number index stitching"; + description + "Four Byte AS number Route Target"; + leaf as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "ASN2:index (hex or decimal format)"; + } + } + description + "ASN2:index (hex or decimal format)"; + } + leaf stitching { + type boolean; + description + "These are stitching RTs"; + } + } + } + container ip-addresse-rts { + description + "IP address Route Target"; + list ip-address-rt { + key "ip-address index stitching"; + description + "IP address"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + description + "IPv4Address:index (hex or decimal format)"; + } + leaf stitching { + type boolean; + description + "These are stitching RTs"; + } + } + } + } + } + container export { + description + "VRF export"; + leaf route-policy { + type xr:Route-policy-name; + description + "Use route-policy for export"; + } + container to { + description + "Export routes to a VRF"; + container default-vrf { + description + "Export routes to the default VRF"; + leaf route-policy { + type xr:Route-policy-name; + description + "Use route-policy for export"; + } + container allow-imported-vpn { + presence "Indicates a allow-imported-vpn node is configured."; + description + "Allow export of imported VPN routes to default VRF"; + } + } + container vrf { + description + "VRF export"; + container allow-imported-vpn { + presence "Indicates a allow-imported-vpn node is configured."; + description + "Allow export of imported VPN routes to non-default VRF"; + container disable-adv-source-vrf-vni { + presence "Indicates a disable-adv-source-vrf-vni node is configured."; + description + "Disable advertisement of source vrf vni for leaked route"; + } + } + } + } + container route-target { + description + "Specify export route target extended communities"; + container two-byte-as-rts { + description + "Two Byte AS Number Route Target"; + list two-byte-as-rt { + key "as-number index stitching"; + description + "Two Byte AS Number Route Target"; + leaf as-number { + type uint32 { + range "1..65535"; + } + description + "Two Byte AS Number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + description + "ASN2:index (hex or decimal format)"; + } + leaf stitching { + type boolean; + description + "These are stitching RTs"; + } + } + } + container four-byte-as-rts { + description + "Four Byte AS number Route Target"; + list four-byte-as-rt { + key "as-number index stitching"; + description + "Four Byte AS number Route Target"; + leaf as-number { + type uint32 { + range "65536..4294967295"; + } + description + "Four Byte AS number"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "ASN2:index (hex or decimal format)"; + } + } + description + "ASN2:index (hex or decimal format)"; + } + leaf stitching { + type boolean; + description + "These are stitching RTs"; + } + } + } + container ip-addresse-rts { + description + "IP address Route Target"; + list ip-address-rt { + key "ip-address index stitching"; + description + "IP address"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "IP address"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + description + "IPv4Address:index (hex or decimal format)"; + } + leaf stitching { + type boolean; + description + "These are stitching RTs"; + } + } + } + } + } + } + + grouping VRF-RD { + description + "Grouping for vrf-rd"; + container rd { + description + "route distinguisher"; + container two-byte-as { + must "not(../four-byte-as or ../ip-address)"; + presence "Indicates a two-byte-as node is configured."; + description + "two-byte-as route distinguisher"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "bgp as-number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container four-byte-as { + must "not(../two-byte-as or ../ip-address)"; + presence "Indicates a four-byte-as node is configured."; + description + "four-byte-as route distinguisher"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "4-byte AS number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container ip-address { + must "not(../two-byte-as or ../four-byte-as)"; + presence "Indicates a ip-address node is configured."; + description + "configure this node"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "configure this node"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + mandatory true; + description + "IPv4Address:index (hex or decimal format)"; + } + } + } + } + + grouping AS-COMMON { + description + "Grouping for as-common"; + container rpki { + description + "Configure RPKI"; + container servers { + description + "Configure RPKI cache-servers"; + list server { + key "server-id"; + description + "Configure RPKI cache-servers"; + leaf server-id { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Hostname or IP address"; + } + } + description + "Configure RPKI cache-servers"; + } + container bind-source { + description + "Specify a bind source for RPKI cache-server"; + container interface { + description + "Specify a source interface to bind the cache-server transport"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Name"; + } + } + } + leaf preference { + type uint32 { + range "1..10" { + description + "(Deprecated from 7.4.1) RPKI cache-server preference value (lower is better)"; + } + } + description + "(Deprecated from 7.4.1) Specify a preference value for the RPKI cache"; + } + container refresh-time { + description + "Time between sending serial-queries for the RPKI cache-server"; + leaf refresh-time-value { + type uint32 { + range "15..3600" { + description + "Refresh time (in seconds)"; + } + } + description + "Refresh time (in seconds)"; + } + container off { + presence "Indicates a off node is configured."; + description + "Do not send serial-queries periodically"; + } + } + container response-time { + description + "Time to wait for a response from the RPKI cache-server"; + leaf response-time-value { + type uint32 { + range "15..3600" { + description + "Response time (in seconds)"; + } + } + description + "Response time (in seconds)"; + } + container off { + presence "Indicates a off node is configured."; + description + "Wait indefinitely for a response"; + } + } + leaf purge-time { + type uint32 { + range "30..65535" { + description + "Purge time (in seconds)"; + } + } + description + "Purge time (in seconds)"; + } + leaf username { + type string { + length "1..1024" { + description + "RPKI cache (SSH) username"; + } + } + description + "Specify a (SSH) username for the RPKI cache-server"; + } + leaf password { + type string { + length "1..1024" { + description + "RPKI cache (SSH) password"; + } + } + description + "Specify a (SSH) password for the RPKI cache-server"; + } + container transport { + description + "Specify a transport method for the RPKI cache-server"; + container tcp { + description + "Connect to the RPKI cache-server using TCP (unencrypted)"; + leaf port { + type uint32 { + range "1..65535" { + description + "Specify a port number for the RPKI cache-server transport"; + } + } + must "not(../../ssh/port)"; + description + "Specify a port number for the RPKI cache-server transport"; + } + } + container ssh { + description + "Connect to the RPKI cache-server using SSH"; + leaf port { + type uint32 { + range "1..65535" { + description + "Specify a port number for the RPKI cache-server transport"; + } + } + must "not(../../tcp/port)"; + description + "Specify a port number for the RPKI cache-server transport"; + } + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shutdown the RPKI cache-server"; + } + } + } + container routes { + description + "Configure an RPKI route"; + list route { + key "address minimum-prefix-length maximum-prefix-length origin-as-number"; + description + "Configure an RPKI route"; + leaf address { + type inet:ip-address-no-zone; + description + "Configure an RPKI route"; + } + leaf minimum-prefix-length { + type union { + type uint32 { + range "0..32" { + description + "Minimum prefix length for ipv4 address"; + } + } + type uint32 { + range "0..128" { + description + "Minimum prefix length for ipv6 address"; + } + } + } + description + "Minimum prefix length"; + } + leaf maximum-prefix-length { + type union { + type uint32 { + range "1..32" { + description + "Maximum prefix length for ipv4 address"; + } + } + type uint32 { + range "1..128" { + description + "Maximum prefix length for ipv6 addess"; + } + } + } + description + "Maximum prefix length (Default 32/128 for IPv4/IPv6)"; + } + leaf origin-as-number { + type uint32 { + range "1..4294967295" { + description + "Origin Autonomous System number (in asplain format)"; + } + } + description + "Origin Autonomous System number"; + } + } + } + leaf datafile { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "(Deprecated from 7.4.1) File name containing RPKI data entries"; + } + } + description + "(Deprecated from 7.4.1) Configure an RPKI data file"; + } + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container vrf { + when "../af-name = 'vpnv4-unicast' or ../af-name = 'vpnv6-unicast'"; + description + "Specify configurations to be inherited to all vrfs"; + container all { + presence "Indicates a all node is configured."; + description + "Specify configurations to be inherited to all vrfs"; + container source { + description + "Source import route-targets from import-policy"; + container rt { + description + "Source import route-targets from import-policy"; + container import-policy { + presence "Indicates a import-policy node is configured."; + description + "Source import route-targets from import-policy"; + } + } + } + container label { + description + "Label-related configuration"; + container mode { + description + "Select label mode"; + container per-ce { + must "not(../per-vrf or ../route-policy)"; + presence "Indicates a per-ce node is configured."; + description + "Set per CE label mode"; + } + container per-vrf { + must "not(../per-ce or ../route-policy)"; + presence "Indicates a per-vrf node is configured."; + description + "Set per VRF label mode"; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../per-ce or ../per-vrf)"; + description + "Use a route policy to select prefixes for label allocation mode"; + } + } + } + container rnh { + description + "Remote nexthop"; + container install { + description + "Install remote nexthop"; + container extcomm { + presence "Indicates a extcomm node is configured."; + description + "Install remote nexthop in extended community and opaque format"; + container only { + presence "Indicates a only node is configured."; + description + "Install remote nexthop in extended community format only"; + } + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of routes to RIB"; + } + container segment-routing { + description + "Segment Routing"; + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Specify SRv6 configurations"; + container alloc { + description + "SID Allocation"; + container mode { + description + "SID Allocation mode"; + container per-ce { + must "not(../per-vrf)"; + presence "Indicates a per-ce node is configured."; + description + "Set per CE label mode"; + } + container per-vrf { + must "not(../per-ce)"; + presence "Indicates a per-vrf node is configured."; + description + "Set per VRF label mode"; + } + } + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "locator name"; + } + } + description + "Specify locator"; + } + } + } + } + } + container domain-distinguisher { + when "../af-name = 'link-state-link-state'"; + presence "Indicates a domain-distinguisher node is configured."; + description + "Globally unique identifier for IGP domain"; + leaf domain-distinguisher-id { + type uint32 { + range "1..4294967295" { + description + "4 octet ASN"; + } + } + mandatory true; + description + "Globally unique identifier for IGP domain"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "configure this node"; + } + } + container distance { + when "../af-name != 'vpn4-unicast' and ../af-name != 'vpnv4-multicast' and ../af-name != 'vpnv6-unicast' and ../af-name != 'vpnv6-multicast' and ../af-name != 'vpnv4-mdt' and ../af-name != 'l2vpn-vpls-vpws' and ../af-name != 'l2vpn-evpn' and ../af-name != 'l2vpn-mspw' and ../af-name != 'ipv4-mvpn' and ../af-name != 'ipv6-mvpn' and ../af-name != 'ipv4-tunnel' and ../af-name != 'ipv4-rt-filter' and ../af-name != 'link-state-link-state' and ../af-name != 'ipv4-flowspec' and ../af-name != 'ipv6-flowspec' and ../af-name != 'vpnv4-flowspec' and ../af-name != 'vpnv6-flowspec' and ../af-name != 'ipv4-sr-policy' and ../af-name != 'ipv6-sr-policy'"; + description + "Define an administrative distance"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "BGP distance"; + leaf external-routes { + type uint32 { + range "1..255" { + description + "Distance for routes external to the AS"; + } + } + mandatory true; + description + "BGP distance"; + } + leaf internal-routes { + type uint32 { + range "1..255" { + description + "Distance for routes internal to the AS"; + } + } + mandatory true; + description + "Distance for routes internal to the AS"; + } + leaf local-routes { + type uint32 { + range "1..255" { + description + "Distance for local routes"; + } + } + mandatory true; + description + "Distance for local routes"; + } + } + } + container optimal-route-reflection { + when "../af-name != 'vpn4-unicast' and ../af-name != 'vpnv4-multicast' and ../af-name != 'vpnv6-unicast' and ../af-name != 'vpnv6-multicast' and ../af-name != 'vpnv4-mdt' and ../af-name != 'l2vpn-vpls-vpws' and ../af-name != 'l2vpn-evpn' and ../af-name != 'l2vpn-mspw' and ../af-name != 'ipv4-mvpn' and ../af-name != 'ipv6-mvpn' and ../af-name != 'ipv4-tunnel' and ../af-name != 'ipv4-rt-filter' and ../af-name != 'link-state-link-state' and ../af-name != 'ipv4-flowspec' and ../af-name != 'ipv6-flowspec' and ../af-name != 'vpnv4-flowspec' and ../af-name != 'vpnv6-flowspec' and ../af-name != 'ipv4-sr-policy' and ../af-name != 'ipv6-sr-policy'"; + description + "Configure optimal-route-reflection group"; + list orr-group { + key "orr-group-name"; + description + "ORR group name - maximum 32 characters"; + leaf orr-group-name { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + leaf primary-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IPv4 primary address"; + } + leaf secondary-address { + type inet:ip-address-no-zone; + description + "IPv4 secondary address"; + } + leaf tertiary-address { + type inet:ip-address-no-zone; + must "../secondary-address"; + description + "IPv4 tertiary address"; + } + } + list apply { + key "orr-group-name"; + description + "Apply optimal-route-reflection group"; + leaf orr-group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + } + container fallback-default-bestpath { + presence "Indicates an ebgp node is configured."; + description + "In case none of the paths are accessible in + an ORR table, fallback to default table bestpath + as ORR bestpath"; + } + } + container maximum-paths { + when "../af-name != 'vpn4-unicast' and ../af-name != 'vpnv4-multicast' and ../af-name != 'vpnv6-unicast' and ../af-name != 'vpnv6-multicast' and ../af-name != 'vpnv4-mdt' and ../af-name != 'l2vpn-vpls-vpws' and ../af-name != 'l2vpn-evpn' and ../af-name != 'l2vpn-mspw' and ../af-name != 'ipv4-mvpn' and ../af-name != 'ipv6-mvpn' and ../af-name != 'ipv4-tunnel' and ../af-name != 'ipv4-rt-filter' and ../af-name != 'link-state-link-state' and ../af-name != 'ipv4-flowspec' and ../af-name != 'ipv6-flowspec' and ../af-name != 'vpnv4-flowspec' and ../af-name != 'vpnv6-flowspec' and ../af-name != 'ipv4-sr-policy' and ../af-name != 'ipv6-sr-policy'"; + description + "Forward packets over multiple paths"; + container ebgp { + presence "Indicates an ebgp node is configured."; + description + "eBGP-multipath"; + leaf multipath { + type uint32 { + range "2..1024" { + description + "Number of paths (limit includes backup path)"; + } + } + mandatory true; + description + "eBGP-multipath"; + } + container selective { + presence "Indicates a selective node is configured."; + description + "Allow multipaths only from marked neighbors"; + } + container order { + description + "Order candidate multipaths for selection as per configured number"; + container igp-metric { + presence "Indicates an igp-metric node is configured."; + description + "Order by IGP metric "; + } + } + } + container eibgp { + presence "Indicates an eibgp node is configured."; + description + "eiBGP-multipath"; + leaf multipath { + type uint32 { + range "2..1024" { + description + "Number of paths (limit includes backup path)"; + } + } + mandatory true; + description + "eiBGP-multipath"; + } + container selective { + presence "Indicates a selective node is configured."; + description + "Allow multipaths only from marked neighbors"; + } + container order { + description + "Order candidate multipaths for selection as per configured number"; + container igp-metric { + presence "Indicates an igp-metric node is configured."; + description + "Order by IGP metric "; + } + } + } + container ibgp { + presence "Indicates an ibgp node is configured."; + description + "iBGP-multipath"; + leaf multipath { + type uint32 { + range "2..1024" { + description + "Number of paths (limit includes backup path)"; + } + } + mandatory true; + description + "iBGP-multipath"; + } + container selective { + presence "Indicates a selective node is configured."; + description + "Allow multipaths only from marked neighbors"; + } + container unequal-cost { + presence "Indicates an unequal-cost node is configured."; + description + "Allow multipaths to have different BGP nexthop IGP metrics "; + container deterministic { + presence "Indicates a deterministic node is configured."; + description + "Deterministic Multipath selection primarily on IGP metric order"; + } + } + container order { + description + "Order candidate multipaths for selection as per configured number"; + container igp-metric { + presence "Indicates an igp-metric node is configured."; + description + "Order by IGP metric "; + } + } + } + container unique-nexthop-check-disable { + presence "Indicates a unique-nexthop-check-disable node is configured."; + description + "Disable multipath unique nexthop check"; + } + } + container additional-paths { + when "../af-name != 'ipv4-multicast' and ../af-name != 'ipv6-multicast' and ../af-name != 'ipv4-mdt' and ../af-name != 'l2vpn-vpls-vpws' and ../af-name != 'ipv4-tunnel'"; + description + "Additional paths configuration"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + } + container selection { + description + "Additional paths selection"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route-policy for additional paths selection"; + } + } + } + container permanent-network { + description + "Permanent network configuration"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to read the prefixes from"; + } + } + container advertise { + description + "Advertise BGP path"; + container best-external { + presence "Indicates a best-external node is configured."; + description + "Advertise best-external path"; + container labeled-unicast { + must "not(../disable)"; + presence "Indicates a labeled-unicast node is configured."; + description + "Limit best-external to Labeled-Unicast address family"; + } + container disable { + must "not(../labeled-unicast)"; + presence "Indicates a disable node is configured."; + description + "Do not advertise best-external path"; + } + } + container local-labeled-route { + when "../../af-name = 'ipv4-unicast' or ../../af-name = 'ipv6-unicast'"; + description + "Advertisement of routes with local-label"; + container safi-unicast { + description + "Advertisement of routes with local-label via Unicast SAFI"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + } + container epe-bgp { + description + "Advertisement of bgp epe via as label Unicast"; + container labeled-unicast { + presence "Indicates a disable node is configured."; + description + "Limit epe-bgplu to Labeled-Unicast address family"; + } + } + } + container nexthop { + description + "Nexthop"; + container resolution { + description + "Nexthop resolution"; + container prefix-length { + description + "Nexthop resolution prefix-length"; + leaf minimum { + type union { + type uint32 { + range "0..32" { + description + "Prefix-length value"; + } + } + type uint32 { + range "0..128" { + description + "Prefix-length value"; + } + } + } + description + "Set minimum prefix-length for nexthop resolution"; + } + leaf ipv6 { + type uint32 { + range "0..128" { + description + "IPv6 Prefix-length value"; + } + } + description + "IPv6 Prefix-length value"; + } + } + } + container trigger-delay { + description + "Processing trigger delay"; + leaf critical { + type uint32 { + range "0..4294967295" { + description + "Delay in milliseconds"; + } + } + description + "For critical notification"; + } + leaf non-critical { + type uint32 { + range "0..4294967295" { + description + "Delay in milliseconds"; + } + } + description + "For non-critical notification"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Policy to filter out nexthop notification"; + } + } + container networks { + description + "Specify a network to announce via BGP"; + list network { + key "address masklength"; + description + "IPv6 network and mask or masklength"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 network and mask or masklength"; + } + leaf masklength { + type uint16 { + range "0..128"; + } + description + "Network in prefix/length format (prefix part)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route-policy to modify the attributes"; + } + container backdoor { + presence "Indicates a backdoor node is configured."; + description + "Specify a BGP backdoor route"; + } + container multipath { + presence "Indicates a backdoor node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + } + container aggregate-addresses { + description + "Configure BGP aggregate entries"; + list aggregate-address { + key "address masklength"; + description + "IPv6 Aggregate address and mask or masklength"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 Aggregate address and mask or masklength"; + } + leaf masklength { + type uint16 { + range "0..128"; + } + description + "Network in prefix/length format (prefix part)"; + } + container as-set { + presence "Indicates a as-set node is configured."; + description + "Generate AS set path information"; + } + container as-confed-set { + presence "Indicates a as-confed-set node is configured."; + description + "Generate AS confed set path information"; + } + container summary-only { + presence "Indicates a summary-only node is configured."; + description + "Filter more specific routes from updates"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Policy to condition advertisement, suppression, and attributes"; + } + } + } + container redistribute { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv6-multicast'"; + description + "Redistribute information from another routing protocol"; + list ospf { + key "router-tag"; + description + "Open Shortest Path First (OSPF or OSPFv3)"; + leaf router-tag { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "OSPF router tag"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + container match { + presence "Indicates a match node is configured."; + description + "Redistribution of OSPF routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list eigrp { + key "instance-name"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "EIGRP instance name"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + container match { + description + "EIGRP route type for redistribution"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list isis { + key "instance-name"; + description + "ISO IS-IS"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "IS-IS instance name"; + } + } + description + "ISO IS-IS"; + } + container level { + description + "Redistribute routes from the specified ISIS levels"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute ISIS level 1 routes"; + container two { + presence "Indicates a two node is configured."; + description + "Redistribute ISIS level 2 ISIS routes"; + container one-inter-area { + presence "Indicates a one-inter-area node is configured."; + description + "Redistribute ISIS level 1 inter-area routes"; + } + } + container one-inter-area { + presence "Indicates a one-inter-area node is configured."; + description + "Redistribute ISIS level 1 inter-area routes"; + } + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute ISIS level 2 ISIS routes"; + container one-inter-area { + presence "Indicates a one-inter-area node is configured."; + description + "Redistribute ISIS level 1 inter-area routes"; + } + } + container one-inter-area { + presence "Indicates a one-inter-area node is configured."; + description + "Redistribute ISIS level 1 inter-area routes"; + } + } + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + list application { + key "application-name"; + description + "OnePK application routes"; + leaf application-name { + type string { + length "1..1024" { + description + "OnePK application name"; + } + } + description + "OnePK application name"; + } + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container lisp { + presence "Indicates a lisp node is configured."; + description + "Locator/ID Separation Protocol (LISP)"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container rip { + when "../../af-name = 'ipv4-unicast' or ../../af-name = 'ipv4-multicast'"; + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol (RIP)"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container subscriber { + presence "Indicates a lisp node is configured."; + description + "subscriber routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of routes to RIB"; + } + container retain { + description + "Accept/Retain specified bgp parameters"; + leaf local-label { + when "../../af-name = 'ipv4-unicast' or ../../af-name = 'vpnv4-unicast' or ../../af-name = 'vpnv4-multicast' or ../../af-name = 'vpnv6-unicast' or ../../af-name = 'vpnv6-multicast' or ../../af-name = 'ipv6-unicast'"; + type uint32 { + range "3..60" { + description + "Label retention time in minutes"; + } + } + description + "Delay the release of the local label as configured"; + } + container route-target { + when "../../af-name = 'vpnv4-unicast' or ../../af-name = 'vpnv4-multicast' or ../../af-name = 'vpnv4-flowspec' or ../../af-name = 'vpnv6-unicast' or ../../af-name = 'vpnv6-multicast' or ../../af-name = 'vpnv6-flowspec' or ../../af-name = 'l2vpn-evpn' or ../../af-name = 'l2vpn-vpls-vpws' or ../../af-name = 'ipv4-mvpn' or ../../af-name = 'ipv6-mvpn'"; + description + "Accept received updates with the specified route targets"; + container all { + must "not(../route-policy)"; + presence "Indicates a all node is configured."; + description + "Accept received updates containing at least one route target"; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../all)"; + description + "Accept received updates accepted by the specified policy"; + } + } + } + container allocate-label { + description + "Allocate label for selected prefixes"; + container all { + presence "Indicates a all node is configured."; + description + "Allocate labels for all prefixes"; + container unlabeled-path { + presence "Indicates a unlabeled-path node is configured."; + description + "Allocate label for unlabeled paths too"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Use a route policy to select prefixes for label allocation"; + } + } + container label { + description + "Label-related configuration"; + container mode { + description + "Select label mode"; + container per-ce { + when "../../../af-name = 'ipv4-unicast' or ../../../af-name = 'ipv6-unicast'"; + must "not(../per-vrf or ../route-policy)"; + presence "Indicates a per-ce node is configured."; + description + "Set per CE label mode"; + } + container per-vrf { + when "../../../af-name = 'ipv4-unicast' or ../../../af-name = 'ipv6-unicast'"; + must "not(../per-ce or ../route-policy)"; + presence "Indicates a per-vrf node is configured."; + description + "Set per VRF label mode"; + } + leaf route-policy { + when "../../../af-name = 'ipv4-unicast' or ../../../af-name = 'ipv6-unicast'"; + type xr:Route-policy-name; + must "not(../per-ce or ../per-vrf)"; + description + "Use a route policy to select prefixes for label allocation mode"; + } + container per-nexthop-received-label { + when "../../../af-name = 'vpnv4-unicast' or ../../../af-name = 'vpnv6-unicast'"; + presence "Indicates a per-nexthop-received-label node is configured."; + description + "Set label mode per nexthop and received label"; + } + } + } + leaf table-version { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Version number to be set (0 - 4611686018427387903)"; + } + } + description + "Set BGP table version"; + } + container rnh { + description + "Remote nexthop"; + container install { + description + "Install remote nexthop"; + container extcomm { + presence "Indicates a extcomm node is configured."; + description + "Install remote nexthop in extended community and opaque format"; + container only { + presence "Indicates a only node is configured."; + description + "Install remote nexthop in extended community format only"; + } + } + } + } + container bgp { + description + "BGP Commands"; + container client-to-client { + description + "Configure client to client route reflection"; + container reflection { + description + "Reflection"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + container cluster-id { + description + "ID of Cluster for which reflection is to be disabled"; + container cluster-id-32bits { + description + "Route-Reflector Cluster-id as 32 bit quantity"; + list cluster-id-32bit { + key "cluster-id"; + description + "Route-Reflector Cluster-id as 32 bit quantity"; + leaf cluster-id { + type uint32 { + range "1..4294967295" { + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + } + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + container cluster-id-ip-addresses { + description + "Route-Reflector Cluster-id in IP address format"; + list cluster-id-ip-address { + key "ip-address"; + description + "Route-Reflector Cluster-id in IP address format"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "Route-Reflector Cluster-id in IP address format"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + } + } + } + container dampening { + presence "Indicates a dampening node is configured."; + description + "Enable route-flap dampening"; + leaf half-life-time { + type uint32 { + range "1..45" { + description + "Half-life time for the penalty"; + } + } + must "not(../route-policy)"; + description + "Half-life time for the penalty"; + } + leaf start-reusing-route { + type uint32 { + range "1..20000" { + description + "Value to start reusing a route"; + } + } + must "../half-life-time and ../start-suppressing-route"; + description + "Value to start reusing a route"; + } + leaf start-suppressing-route { + type uint32 { + range "1..20000" { + description + "Value to start suppressing a route"; + } + } + must "../start-reusing-route and ../maximum-duration"; + description + "Value to start suppressing a route"; + } + leaf maximum-duration { + type uint32 { + range "1..255" { + description + "Maximum duration to suppress a stable route"; + } + } + must "../start-suppressing-route"; + description + "Maximum duration to suppress a stable route"; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../half-life-time)"; + description + "Route policy to specify criteria for dampening"; + } + } + container attribute-download { + presence "Indicates a attribute-download node is configured."; + description + "Configure attribute download for this address-family"; + } + container implicit-import { + presence "Indicates a implicit-import node is configured."; + description + "Configure implicit import for this address-family"; + } + container import-delay { + presence "Indicates a import-delay node is configured."; + description + "Specify delay for batching import processing"; + leaf delay-seconds { + type uint32 { + range "0..10" { + description + "Delay, seconds part"; + } + } + mandatory true; + description + "Specify delay for batching import processing"; + } + leaf delay-milliseconds { + type uint32 { + range "0..999" { + description + "Delay, milliseconds part"; + } + } + mandatory true; + description + "Delay, milliseconds part"; + } + } + container label-delay { + presence "Indicates a label-delay node is configured."; + description + "Specify delay for batching label processing"; + leaf delay-seconds { + type uint32 { + range "0..10" { + description + "Delay, seconds part"; + } + } + mandatory true; + description + "Specify delay for batching label processing"; + } + leaf delay-milliseconds { + type uint32 { + range "0..999" { + description + "Delay, milliseconds part"; + } + } + mandatory true; + description + "Delay, milliseconds part"; + } + } + leaf scan-time { + type uint32 { + range "5..3600" { + description + "Scanner interval (seconds)"; + } + } + description + "Configure background scanner interval for this address-family"; + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + container enable { + presence "Indicates a enable node is configured."; + description + "Enable RPKI origin-AS validation"; + } + container signal { + description + "Signal origin-AS validity towards peers"; + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Signal origin-AS validity towards iBGP peers"; + } + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container use { + description + "BGP origin-AS knobs"; + container validity { + presence "Indicates a validity node is configured."; + description + "BGP bestpath selection will use origin-AS validity"; + } + } + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + } + container event { + description + "Policy for per-prefix tracing"; + container prefix { + description + "Policy for per-prefix tracing"; + leaf route-policy { + type xr:Route-policy-name; + description + "Policy for per-prefix tracing"; + } + } + } + container dynamic-med { + description + "Dynamic MED Interval"; + leaf interval { + type uint32 { + range "0..10" { + description + "Update generation delay in minutes"; + } + } + description + "Update generation delay (in minutes) after a MED change"; + } + } + container weight { + description + "Define or modify weight"; + container reset-on-import { + presence "Indicates a reset-on-import node is configured."; + description + "Reset weight of paths on import"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not reset weight of paths on import"; + } + } + } + container update { + description + "BGP Update generation configuration"; + container limit { + description + "Upper bound on transient memory usage for update generation"; + leaf address-family { + type uint32 { + range "4..2048" { + description + "Update limit in MegaBytes(MB); default is 256 MB"; + } + } + description + "Update limit for address-family"; + } + container sub-group { + description + "Update limit for sub-groups"; + leaf ebgp { + type uint32 { + range "1..512" { + description + "Update limit in MegaBytes(MB); default is 32 MB"; + } + } + description + "Update limit for eBGP sub-groups"; + } + leaf ibgp { + type uint32 { + range "1..512" { + description + "Update limit in MegaBytes(MB); default is 32 MB"; + } + } + description + "Update limit for iBGP sub-groups"; + } + } + } + container wait-install { + presence "Indicates a wait-install node is configured."; + description + "Wait for route install"; + container delay { + description + "Configure a delay"; + leaf startup { + type uint32 { + range "1..600" { + description + "Delay in seconds"; + } + } + description + "Configure a delay for the startup phase"; + } + } + } + } + container as-path-loopcheck { + description + "Configure AS Path loop checking"; + container out { + description + "For outbound updates"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + container inter-as { + description + "Inter AS"; + container install { + presence "Indicates a install node is configured."; + description + "Install remote mvpn routes in default vrf"; + } + } + container global-table-multicast { + presence "Indicates a global-table-multicast node is configured."; + description + "Enable global table multicast"; + } + container segmented-multicast { + presence "Indicates a segmented-multicast node is configured."; + description + "Enable segmented multicast"; + } + container label-security { + description + "BGP Label Security"; + container asbr { + description + "Label Security for ASBR peers"; + container rpf { + presence "Indicates a rpf node is configured."; + description + "RPF Label Security for Option-B"; + } + } + } + container epe { + description + "EPE related Global AFI knobs"; + container backup { + description + "Install a Backup path for the EPE labels"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable the EPE backup under current AFI"; + } + } + } + container default-martian-check { + description + "Martian check default"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + container export { + description + "Enable allowing leak/export of non-bestpaths"; + container to { + description + "Leak to Destination Vrf"; + container vrf { + description + "Enable leak to a destination vrf"; + container allow { + presence "Indicates a allow node is configured."; + description + "Allow leak of path-type"; + container backup { + presence "Indicates a backup node is configured."; + description + "Allow Export of backup path"; + container best-external { + presence "Indicates a best-external node is configured."; + description + "Allow Export of best-external"; + } + } + container best-external { + presence "Indicates a best-external node is configured."; + description + "Allow Export of best-external"; + } + } + } + } + } + container peer-set-ids { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast'"; + description + "configuration for a single EPE Peer Set"; + list peer-set-id { + key "peer-set-id"; + description + "configuration for a single EPE Peer Set"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identifier for Each Peer-set SID we are going to create"; + } + } + description + "configuration for a single EPE Peer Set"; + } + container peer-set-sid { + description + "configure a SID for peer-set EPE object"; + leaf index { + type uint32 { + range "0..1033575" { + description + "Segment Index to be assigned to this peer-set. The index will be off SRLB + Note: The maximum index configurable in dynaminc SRLB range. + Since SRe a dynamic range, actual maximum index can vary. + So pleast the currently configured SRLB range"; + } + } + description + "Segment Index value to assign. This will be off SRLB range"; + } + } + } + } + container segment-routing { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast'"; + description + "Segment Routing"; + container prefix-sid-map { + when "../../af-name = 'ipv4-unicast'"; + presence "Indicates a prefix-sid-map node is configured."; + description + "Retrieve prefix id mapping from SRMS"; + } + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Specify SRv6 configurations"; + container alloc { + description + "SID Allocation"; + container mode { + description + "SID Allocation mode"; + container per-ce { + must "not(../per-vrf or ../route-policy)"; + presence "Indicates a per-ce node is configured."; + description + "Set per CE label mode"; + } + container per-vrf { + must "not(../per-ce or ../route-policy)"; + presence "Indicates a per-vrf node is configured."; + description + "Set per VRF label mode"; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../per-ce or ../per-vrf)"; + description + "Use a route policy to determine the SID allocation mode and locator (if provided) for given prefix"; + } + } + } + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "locator name"; + } + } + description + "Specify locator"; + } + } + } + container option-b-asbr-only { + when "../af-name = 'l2vpn-evpn'"; + presence "Indicates a prefix-sid-map node is configured."; + description + "Enable the ASBR router for option-B label exchange.This option makes the router an Option B ASBR for EVPN.Its assumed no DCI configs are present"; + } + } + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "neighbor-address"; + description + "Neighbor address"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container use { + description + "Inherit configuration for this address-family from a group"; + leaf af-group { + type string { + length "1..1024" { + description + "AF group name"; + } + } + description + "Inherit configuration for this address-family from an af-group"; + } + } + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + container prefix { + description + "Advertise address prefix ORF capability to this neighbor"; + container receive { + must "not(../send or ../both or ../none)"; + presence "Indicates a receive node is configured."; + description + "Capability to RECEIVE the ORF from this neighbor"; + } + container send { + must "not(../receive or ../both or ../none)"; + presence "Indicates a send node is configured."; + description + "Capability to SEND the ORF to this neighbor"; + } + container both { + must "not(../receive or ../send or ../none)"; + presence "Indicates a both node is configured."; + description + "Capability to RECEIVE and SEND the ORF from/to this neighbor"; + } + container none { + must "not(../receive or ../send or ../both)"; + presence "Indicates a none node is configured."; + description + "No capability to RECEIVE or SEND the ORF from/to this neighbor"; + } + } + } + } + container default-originate { + presence "Indicates a default-originate node is configured."; + description + "Originate default route to this neighbor"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + container inheritance-disable { + must "not(../route-policy)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent default-originate being inherited from a parent group"; + } + } + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + description + "Maximum number of prefixes to accept from this peer"; + leaf prefix-limit { + type uint32 { + range "1..4294967295" { + description + "maximum no. of prefix limit"; + } + } + mandatory true; + description + "Maximum number of prefixes to accept from this peer"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Threshold value (%) at which to generate a warning msg"; + } + } + mandatory true; + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf restart { + type uint32 { + range "1..65535" { + description + "Time interval (min) after which peering session will be reestablished"; + } + } + description + "Restart time interval"; + } + container discard-extra-paths { + presence "Indicates a discard-extra-paths node is configured."; + description + "Discard extra paths when limit is exceeded"; + } + } + leaf optimal-route-reflection { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "Configure optiomal-route-reflection for this neighbor"; + } + container next-hop-self { + presence "Indicates a next-hop-self node is configured."; + description + "Disable the next hop calculation for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-self from being inherited from the parent"; + } + } + container next-hop-unchanged { + presence "Indicates a next-hop-unchanged node is configured."; + description + "Do not overwrite next hop before advertising to eBGP peers"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-unchanged from being inherited from the parent"; + } + } + container next-hop-unchanged-multipath { + presence "Indicates a next-hop-unchanged-multipath node is configured."; + description + "Do not overwrite nexthop before advertising multipaths"; + } + container slow-peer { + description + "configuration commands for slow-peer"; + container detection { + description + "Enable or disable slow peer detection."; + container enable { + must + "not(../disable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a enable node is configured."; + description + "Enable slow peer detection"; + } + container disable { + must + "not(../enable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + container split-update-group { + description + "Options to split update group"; + container static { + must "not(../dynamic) and (../../enable or ../../disable)"; + presence "Indicates a static node is configured."; + description + "Manually move this peer to slow update group"; + } + container dynamic { + must "not(../static) and (../../enable or ../../disable)"; + presence "Indicates a dynamic node is configured."; + description + "Move peer to slow update group on detection"; + container permanent { + must "not(../disable)"; + presence "Indicates a permanent node is configured."; + description + "Do not revert back peer on recovery"; + } + container disable { + must "not(../permanent)"; + presence "Indicates a disable node is configured."; + description + "Disable moving slow peer to updgrp"; + } + } + } + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + container route-policy { + description + "Apply route policy"; + leaf in { + type xr:Route-policy-name; + description + "Apply route policy to inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routes"; + } + container retention { + description + "Apply retention policy to inbound routes"; + leaf route-policy-name { + type xr:Route-policy-name; + must "../retention-time"; + description + "Apply retention policy to inbound routes"; + } + leaf retention-time { + type uint32 { + range "0..4294967295" { + description + "Max time (seconds)"; + } + } + must "../route-policy-name"; + description + "Retention-time for this neighbor"; + } + } + } + container orf { + description + "Specify ORF and inbound filtering criteria"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify ORF and inbound filter"; + } + } + container remove-private-as { + presence "Indicates a entire-aspath node is configured."; + description + "Remove private AS number from outbound updates"; + container entire-aspath { + must "not(../inheritance-disable or ../internal)"; + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + must "not(../entire-aspath or ../internal)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + container internal { + must "not(../entire-aspath or ../inheritance-disable)"; + presence "Indicates a inheritance-disable node is configured."; + description + "remove only if all ASes in the path are private"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + } + container remove-private-as-inbound { + must "not(entire-aspath and inheritance-disable)"; + presence "Indicates a remove-private-as-inbound node is configured."; + description + "Remove private AS number from inbound updates"; + container entire-aspath { + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + container enforce-multiple-labels { + presence "Indicates a enforce-multiple-labels node is configured."; + description + "Enforce support for multiple labels (requires manual session flap)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent enforce-multiple-labels from being inherited from the parent"; + } + } + container route-reflector-client { + presence "Indicates a route-reflector-client node is configured."; + description + "Configure a neighbor as Route Reflector client"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent route-reflector-client from being inherited from the parent"; + } + } + container accept-route-legacy-rt { + presence "Indicates a accept-route-legacy-rt node is configured."; + description + "Configure a neighbor to support legacy PE for RT-Constraint AF"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent accept-route-legacy-RT from being inherited from the parent"; + } + } + container send-community-ebgp { + presence "Indicates a send-community-ebgp node is configured."; + description + "Send community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-ebgp from being inherited from the parent"; + } + } + container send-community-gshut-ebgp { + presence "Indicates a send-community-gshut-ebgp node is configured."; + description + "Allow the g-shut community to be sent to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-gshut-ebgp from being inherited from the parent"; + } + } + container send-extended-community-ebgp { + presence "Indicates a send-extended-community-ebgp node is configured."; + description + "Send extended community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-extended-community-ebgp from being inherited from parent"; + } + } + container soft-reconfiguration { + description + "Per neighbor soft reconfiguration"; + container inbound { + presence "Indicates a inbound node is configured."; + description + "Allow inbound soft reconfiguration for this neighbor"; + container rpki-dropped-only { + must "not(../rpki-tested-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-dropped-only node is configured."; + description + "Use soft-reconfig, for paths dropped by route-policy which have RPKI validity state check"; + } + container rpki-tested-only { + must "not(../rpki-dropped-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-tested-only node is configured."; + description + "Use soft-reconfig for paths tested or dropped by route-policy which have RPKI validity state check"; + } + container always { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../inheritance-disable)"; + presence "Indicates a always node is configured."; + description + "Always use soft reconfig, even if route refresh is supported"; + } + container inheritance-disable { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../always)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent soft-reconfiguration from being inherited from the parent"; + } + } + } + container update { + description + "BGP out bound message"; + container out { + description + "BGP out bound message handling"; + container originator-loopcheck { + presence "Indicates a originator-loopcheck node is configured."; + description + "Loop check for same originator which sent the route"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable originator loop check"; + } + } + } + } + container advertise { + description + "Per neighbor advertisement options"; + container permanent-network { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a permanent-network node is configured."; + description + "Allow permanent networks for this neighbor"; + } + container local-labeled-route { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a local-labeled-route node is configured."; + description + "Advertisement of routes with local-label"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + container vpnv4 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv4 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpnv4 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise re-orignated and local routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated and local routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container vpnv6 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv6 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpnv6 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container l2vpn { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "L2VPN Address Family"; + container evpn { + when "../../../af-name = 'l2vpn-evpn'"; + presence "Indicates a evpn node is configured."; + description + "Address Family modifier"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container evpn-disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + container vpls-vpws { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + container mspw { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + } + } + container encapsulation-type { + when + "../af-name = 'ipv4-unicast' or + ../af-name = 'ipv6-unicast' or + ../af-name = 'vpnv4-unicast' or + ../af-name = 'vpnv6-unicast' or + ../af-name = 'l2vpn-evpn'"; + description + "Specify encapsulation type"; + container vxlan { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + must "not(../srv6)"; + presence "Indicates a vxlan node is configured."; + description + "VxLAN encapsulation"; + } + container srv6 { + when "../../af-name != 'l2vpn-evpn'"; + must "not(../vxlan)"; + presence "Indicates a srv6 node is configured."; + description + "SRv6 encapsulation"; + } + } + container segment-routing { + when "../af-name = 'vpnv4-unicast'"; + description + "enable segment-routing srv6 version 4"; + container srv6 { + description + "srv6 version 4"; + container prefix-sid-type4 { + presence "Indicates a prefix-sid-type4 node is configured."; + description + "Enable prefix sid version 4 encoding"; + } + } + } + container import { + when "../af-name = 'vpnv4-unicast' or ../af-name = 'vpnv6-unicast' or ../af-name = 'l2vpn-evpn'"; + description + "Import options for neighbor address-family routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Import routes using stitching RTs"; + container re-originate { + presence "Indicates a re-originate node is configured."; + description + "Re-originate imported routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Reoriginate imported routes by attaching stitching RTs"; + } + } + } + } + leaf weight { + type uint32 { + range "0..65535" { + description + "default weight"; + } + } + description + "Set default weight for routes from this neighbor"; + } + container allowas-in { + presence "Indicates a allowas-in node is configured."; + description + "Allow as-path with my AS present in it"; + leaf number-of-occurences { + type uint32 { + range "1..10" { + description + "Number of occurences of AS number"; + } + } + description + "Number of occurences of AS number"; + } + } + container long-lived-graceful-restart { + description + "Enable long lived graceful restart support"; + container stale-time { + description + "Maximum time to wait before purging long-lived stale routes"; + leaf send { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Stale-time sent in LLGR Capability"; + } + leaf accept { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Maximum stale-time acceptable from neighbor"; + } + } + container capable { + presence "Indicates a capable node is configured."; + description + "Treat neighbor as LLGR capable"; + } + } + container as-override { + presence "Indicates a as-override node is configured."; + description + "Override matching AS-number while sending update"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent as-override from being inherited from the parent"; + } + } + container aigp { + presence "Indicates a aigp node is configured."; + description + "Enable AIGP for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable AIGP"; + } + } + container aigp-send { + description + "Copy AIGP"; + container cost-community { + must "(cost-community-id and poi) or disable"; + presence "Indicates a cost-community node is configured."; + description + "Send AIGP value in Cost Community"; + leaf cost-community-id { + type uint32 { + range "0..255" { + description + "Cost community ID"; + } + } + must "not(../disable)"; + description + "Cost community ID"; + } + container poi { + must "(igp-cost or pre-bestpath) and not(igp-cost and pre-bestpath)"; + presence "Indicates a poi node is configured."; + description + "Point of insertion for bestpath calculation"; + container igp-cost { + presence "Indicates a igp-cost node is configured."; + description + "Cost community is used after IGP distance to next hop"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + container pre-bestpath { + presence "Indicates a pre-bestpath node is configured."; + description + "Cost community is first step in best path calculation"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + } + container disable { + must "not(../cost-community-id)"; + presence "Indicates a disable node is configured."; + description + "Disable aigp send cost-community"; + } + } + container med { + presence "Indicates a med node is configured."; + description + "Send AIGP value in MED"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable aigp send med"; + } + } + } + container validation { + when "../af-name = 'ipv4-flowspec' or ../af-name = 'ipv6-flowspec'"; + presence "Indicates a validation node is configured."; + description + "Flowspec Validation for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Validation"; + } + container redirect { + description + "Flowspec Redirect nexthop Validation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Redirect nexthop Validation"; + } + } + } + container send-multicast-attributes { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv4-labeled-unicast' or ../af-name = 'ipv6-labeled-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-multicast' or ../af-name = 'ipv4-mvpn' or ../af-name = 'ipv6-mvpn'"; + presence "Indicates a send-multicast-attributes node is configured."; + description + "Send multicast attributes to this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable send multicast attribute"; + } + } + container signalling { + description + "Signalling protocols to disable, BGP or LDP"; + container bgp { + description + "Select BGP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + container ldp { + description + "Select LDP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + } + container accept-own { + presence "Indicates a accept-own node is configured."; + description + "Handle self-originated routes with Accept-Own community"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent item being inherited from a parent group"; + } + } + container cluster-id { + description + "Allow routes with first cluster-id in list is same as the router's cluster id"; + container allow-equal { + presence "Indicates a allow-equal node is configured."; + description + "Accept routes with first cluster-id in list is same as the router's cluster id"; + container disable { + presence "Indicates a allow-equal node is configured."; + description + "Prevent the configuration from being inherited."; + } + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Paths from this neighbor is eligible for multipath"; + } + } + } + container update { + description + "BGP Update configuration"; + container in { + description + "Inbound update message handling"; + container filtering { + presence "Indicates a filtering node is configured."; + description + "Inbound update message filtering"; + container message { + description + "Filtered update messages"; + container buffers { + presence "Indicates a buffers node is configured."; + description + "Filtered update message buffers"; + leaf number-of-buffers { + type uint32 { + range "0..25" { + description + "Number of buffers to store filtered update messages (resizing does not take effect after filtering action has started)"; + } + } + mandatory true; + description + "Filtered update message buffers"; + } + container non-circular { + presence "Indicates a non-circular node is configured."; + description + "Message buffer list is not circular"; + } + } + } + container logging { + description + "Update filtering syslog message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable update filtering syslog message"; + } + } + container attribute-filter { + description + "Attribute-filter configuration"; + leaf group { + type string { + length "1..1024" { + description + "Attribute-filter group name"; + } + } + description + "Attribute-filter group configuration"; + } + } + } + container merge { + description + "Merge incoming updates"; + container safi { + description + "SAFI of the NLRIs to merge"; + container unicast { + description + "IPv4/IPv6 unicast paths"; + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "IPv4/IPv6 labeled-unicast paths"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + } + } + } + } + container graceful-maintenance { + presence "Indicates a graceful-maintenance node is configured."; + description + "Attributes for Graceful Maintenance. This will cause neig dprefer routes from this router and choonas. This allows the router to be brourt of service gracefully."; + container local-preference { + must "local-preference-value or inheritance-disable"; + presence "Indicates a local-preference node is configured."; + description + "local preference with which to advertise routes to ibgps. Default=No Touch"; + leaf local-preference-value { + type uint32 { + range "0..4294967295" { + description + "Range of values for Local Preference"; + } + } + description + "Range of values for Local Preference"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local preference from being inherited from the parent"; + } + } + container as-prepends { + must "number-of-as-prepends or inheritance-disable"; + presence "Indicates a as-prepends node is configured."; + description + "Number of times to prepend the local AS number to the AS pous. Default=0"; + leaf number-of-as-prepends { + type uint32 { + range "0..6" { + description + "Range of number of AS prepends"; + } + } + description + "Range of number of AS prepends"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent AS prepends from being inherited from the parent"; + } + } + container activate { + presence "Indicates a activate node is configured."; + description + "Routes will be announced with the graceful maintenance + attrhi activated either here or under router + bgp atn. While activated, all routes to this + neigl announced with the attributes + conferand all routes from this neighbor will + be a tother neighbors with the graceful + mainatibutes configured under those + neighe-shut community will be announced + regaf e other attributes configured here. To + allosh community to be announced to ebgp + neigheend-community-gshut-ebgp configuration + is air. Note: changes to the attributes will + not ecwhile activated."; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent activate from being inherited from the parent"; + } + } + container bandwidth-aware { + description + "Session interface Bandwidth based Graceful-Maintenance + Only restricted to eBGP directly connected, this will + enable Graceful maintenance whenever the link effective + bandwidth goes below a configurable low-threshold and deactivates + based on effective bandwidth reaches the high-threshold + or low-threshold if high-threshold is not configured"; + leaf bandwidth-threshold { + type uint32 { + range "1..4294967295" { + description + "Low threshold of effective bandwidth (in kbps) to enter/exit graceful-maintenance"; + } + } + must "not(../percentage-threshold)"; + description + "Bandwidth based threshold detection in kbps"; + } + leaf optional-high-threshold-of { + type uint32 { + range "1..4294967295" { + description + "Optional High threshold of effective bandwidth (in kbps) to exit graceful-maintenance"; + } + } + must "../bandwidth-threshold"; + description + "Optional High threshold of effective bandwidth (in kbps) to exit graceful-maintenance"; + } + leaf percentage-threshold { + type uint32 { + range "1..100" { + description + "Low threshold of effective bandwidth (in percentage of max bandwidth) to enter/exit graceful-maintenance"; + } + } + must "not(../bandwidth-threshold)"; + description + "Threshold in Percentage of Effective Bandwidth over Maximum Banwidth"; + } + leaf percentage-threshold-high { + type uint32 { + range "1..100" { + description + "Optional High threshold of effective bandwidth (in percentage of max bandwidth) to exit graceful-maintenance"; + } + } + must "../percentage-threshold"; + description + "Optional High threshold of effective bandwidth (in percentage of max bandwidth) to exit graceful-maintenance"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent bandwidth-aware from being inherited from the parent"; + } + } + } + leaf remote-as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf remote-as-list { + type string { + length "1..1024" { + description + "as-list name"; + } + } + description + "Remote as-list configuration"; + } + container use { + description + "Inherit configuration from a group"; + leaf session-group { + type string { + length "1..1024" { + description + "Session group name"; + } + } + description + "Inherit address-family independent config from a session-group"; + } + leaf neighbor-group { + type string { + length "1..1024" { + description + "Neighbor-group name"; + } + } + description + "Inherit configuration from a neighbor-group"; + } + } + container advertisement-interval { + presence "Indicates a advertisement-interval node is configured."; + description + "Minimum interval between sending BGP routing updates"; + leaf time-in-seconds { + type uint32 { + range "0..600" { + description + "time in seconds"; + } + } + mandatory true; + description + "Minimum interval between sending BGP routing updates"; + } + leaf time-in-milliseconds { + type uint32 { + range "0..999" { + description + "time in milliseconds"; + } + } + description + "time in milliseconds"; + } + } + leaf description { + type string { + length "1..1024" { + description + "Up to 80 characters describing this neighbor"; + } + } + description + "Neighbor specific description"; + } + container ignore-connected-check { + presence "Indicates a ignore-connected-check node is configured."; + description + "Bypass the directly connected nexthop check for single-hop eBGP peering"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ignore-connected-check from being inherited from the parent"; + } + } + container ebgp-multihop { + presence "Indicates a ebgp-multihop node is configured."; + description + "Allow EBGP neighbors not on directly connected networks"; + leaf maximum-hop-count { + type uint32 { + range "1..255" { + description + "maximum hop count"; + } + } + mandatory true; + description + "maximum hop count"; + } + container mpls { + presence "Indicates a mpls node is configured."; + description + "Disable BGP MPLS forwarding"; + } + } + container tcp { + description + "TCP session configuration commands"; + container mss { + must "initial-mss or inheritance-disable"; + presence "Indicates a mss node is configured."; + description + "Maximum Segment Size"; + leaf initial-mss { + type uint32 { + range "68..10000" { + description + "TCP initial maximum segment size"; + } + } + description + "TCP initial maximum segment size"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent tcp mss from being inherited from the parent"; + } + } + } + container bmp-activate { + description + "Enable BMP logging for this neighbor"; + container servers { + description + "Enable BMP connection to particular server"; + list server { + key "server-id"; + description + "Enable BMP connection to particular server"; + leaf server-id { + type uint32 { + range "1..8" { + description + "Enable BMP connection to particular server"; + } + } + description + "Enable BMP connection to particular server"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and inheritance-disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container inheritance-disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container keychain { + must "name or inheritance-disable"; + presence "Indicates a keychain node is configured."; + description + "Set keychain based authentication"; + leaf name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Name of the key chain - maximum 32 characters"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container local-as { + must "as-number or inheritance-disable"; + presence "Indicates a local-as node is configured."; + description + "Specify local AS number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container no-prepend { + presence "Indicates a no-prepend node is configured."; + description + "Do not prepend local AS to announcements from this neighbor"; + container replace-as { + presence "Indicates a replace-as node is configured."; + description + "Prepend only local AS to announcements to this neighbor"; + container dual-as { + presence "Indicates a dual-as node is configured."; + description + "Dual-AS mode"; + } + } + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local AS from being inherited from parent"; + } + } + container password { + must "encrypted or inheritance-disable"; + presence "Indicates a password node is configured."; + description + "Set a password"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent password from being inherited from parent"; + } + } + container receive-buffer-size { + presence "Indicates a receive-buffer-size node is configured."; + description + "Set socket and BGP receive buffer size"; + leaf receive-socket-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + description + "BGP Read buffer size in bytes"; + } + } + container send-buffer-size { + presence "Indicates a send-buffer-size node is configured."; + description + "Set socket and BGP send buffer size"; + leaf send-socket-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + description + "BGP Write buffer size in bytes"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Administratively shut down this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent this neighbor being shutdown, even if its parent is"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "BGP per neighbor timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + container local { + description + "Configure local parameter"; + container address { + must "ip-address or inheritance-disable"; + presence "Indicates a address node is configured."; + description + "use configured local address for bgp peering"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv4 address"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local address from being inherited from parent"; + } + } + } + container log { + description + "Logging update messages per neighbor"; + container message { + description + "Logging update/notification messages per neighbor"; + container in { + description + "Inbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + container out { + description + "Outbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable outbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + } + } + leaf update-source { + type xr:Interface-name; + description + "Source of routing updates"; + } + container local-address-subnet { + description + "Local address subnet of routing updates"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address and mask length"; + } + leaf mask-length { + type uint32 { + range "0..128" { + description + "IP address mask length"; + } + } + description + "IP address and mask length"; + } + } + container dmz-link-bandwidth { + presence "Indicates a dmz-link-bandwidth node is configured."; + description + "Propagate the DMZ link bandwidth"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent dmz-link-bandwidth from being inherited from the parent"; + } + } + container ebgp-recv-extcommunity-dmz { + presence "Indicates a ebgp-recv-extcommunity-dmz node is configured."; + description + "Receive extcommunity dmz link bandwidth from ebgp neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-community-dmz from being inherited from parent"; + } + } + container ebgp-send-extcommunity-dmz { + must "not(cumulative and inheritance-disable)"; + presence "Indicates a ebgp-send-extcommunity-dmz node is configured."; + description + "Send extended community dmz link bandwidth to ebgp neighbor"; + container cumulative { + presence "Indicates a cumulative node is configured."; + description + "Send cumulative community dmz link bandwidth of all multipaths to ebgp neighbor"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-extcommunity-dmz from being inherited from parent"; + } + } + container ttl-security { + presence "Indicates a ttl-security node is configured."; + description + "Enable EBGP TTL security"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ttl-security from being inherited from the parent"; + } + } + container session-open-mode { + description + "Establish BGP session using this TCP open mode"; + container active-only { + must "not(../passive-only or ../both)"; + presence "Indicates a active-only node is configured."; + description + "Active only"; + } + container passive-only { + must "not(../active-only or ../both)"; + presence "Indicates a passive-only node is configured."; + description + "Passive only"; + } + container both { + must "not(../active-only or ../passive-only)"; + presence "Indicates a both node is configured."; + description + "Prevent session-open-mode being inherited from the parent"; + } + } + leaf dscp { + type enumeration { + enum "default" { + value 0; + description + "Set packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Set packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Set packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Set packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Set packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Set packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Set packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Set packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Set packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Set packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Set packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Set packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Set packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Set packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Set packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Set packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Set packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Set packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Set packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Set packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Set packets with CS7(precedence 7) dscp (111000)"; + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Set packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Set packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Set packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Set packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Set packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Set packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Set packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Set packets with network control precedence (7)"; + } + } + description + "Set precedence"; + } + container capability { + description + "Advertise capability to the peer"; + container suppress { + description + "Suppress advertising capability to the peer "; + container four-byte-as { + presence "Indicates a four-byte-as node is configured."; + description + "4-byte-as capability"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent capability suppress 4-type-as being inherited from the parent"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "All capabilities"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + container extended-nexthop-encoding { + presence "Indicates a extended-nexthop-encoding node is configured."; + description + "Extended-nexthop-encoding capabilities (IETF RFC 5549)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + container additional-paths { + description + "Additional paths capability"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Send capability"; + } + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Receive capability"; + } + } + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Enable graceful restart support for this neighbor"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable graceful restart support for this neighbor"; + } + leaf restart-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Restart time advertised to the neighbor"; + } + leaf stalepath-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for restart of GR capable peer"; + } + } + container enforce-first-as { + presence "Indicates a enforce-first-as node is configured."; + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not enforce the first AS for EBGP routes"; + } + } + container cluster-id { + description + "Enter cluster id for this neighbor"; + leaf route-reflector-cluster-id { + type uint32 { + range "1..4294967295" { + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + } + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "Route-Reflector Cluster-id in IP address format"; + } + } + leaf maximum-peers { + type uint32 { + range "1..4095" { + description + "Maximum number of peers"; + } + } + description + "Maximum dynamic neighbors"; + } + leaf idle-watch-time { + type uint32 { + range "30..1800" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for deletion of IDLE state dynamic peer"; + } + container egress-engineering { + presence "Indicates a egress-engineering node is configured."; + description + "Enable egress peer engineering for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit egress-engineering from the parent"; + } + } + container peer-sets { + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + list peer-set { + key "peer-set-id"; + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identity value of peer-set"; + } + } + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + } + } + } + container peer-node-sid { + description + "Assign this neighbor a manual SID for egress peer engineering"; + leaf index { + type uint32 { + range "0..1033575" { + description + "Segment Index to be assigned to this peer. The index will be off SRLB + Note: Thmaximum index configurable in dynaminc SRLB range. + Since SRa dynamic range, actual maximum index can vary. + So pleasthe currently configured SRLB range"; + } + } + description + "Segment Index value which is offset of SRLB"; + } + } + container ao { + description + "Enable Authentiation Option"; + leaf key-chain-name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + must "not(../inheritance-disable) and (../include-tcp-options/enable or ../include-tcp-options/disable)"; + description + "Name of the key chain - maximum 32 characters"; + } + container include-tcp-options { + description + "Include/Exclude other TCP options in the header"; + container enable { + must "not(../disable or ../../inheritance-disable)"; + presence "Indicates a enable node is configured."; + description + "Include other TCP options in the header"; + } + container disable { + must "not(../enable or ../../inheritance-disable)"; + presence "Indicates a disable node is configured."; + description + "Exclude other TCP options in the header"; + } + container accept-ao-mismatch-connection { + must "../enable or ../disable"; + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if AO mismatched"; + } + } + container inheritance-disable { + must "not(../key-chain-name)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + } + list neighbor-range { + key "neighbor-address prefix-length"; + description + "Neighbor address"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + leaf prefix-length { + type uint32 { + range "0..127"; + } + description + "Prefix length"; + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container use { + description + "Inherit configuration for this address-family from a group"; + leaf af-group { + type string { + length "1..1024" { + description + "AF group name"; + } + } + description + "Inherit configuration for this address-family from an af-group"; + } + } + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + container prefix { + description + "Advertise address prefix ORF capability to this neighbor"; + container receive { + must "not(../send or ../both or ../none)"; + presence "Indicates a receive node is configured."; + description + "Capability to RECEIVE the ORF from this neighbor"; + } + container send { + must "not(../receive or ../both or ../none)"; + presence "Indicates a send node is configured."; + description + "Capability to SEND the ORF to this neighbor"; + } + container both { + must "not(../receive or ../send or ../none)"; + presence "Indicates a both node is configured."; + description + "Capability to RECEIVE and SEND the ORF from/to this neighbor"; + } + container none { + must "not(../receive or ../send or ../both)"; + presence "Indicates a none node is configured."; + description + "No capability to RECEIVE or SEND the ORF from/to this neighbor"; + } + } + } + } + container default-originate { + presence "Indicates a default-originate node is configured."; + description + "Originate default route to this neighbor"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + container inheritance-disable { + must "not(../route-policy)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent default-originate being inherited from a parent group"; + } + } + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + description + "Maximum number of prefixes to accept from this peer"; + leaf prefix-limit { + type uint32 { + range "1..4294967295" { + description + "maximum no. of prefix limit"; + } + } + mandatory true; + description + "Maximum number of prefixes to accept from this peer"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Threshold value (%) at which to generate a warning msg"; + } + } + mandatory true; + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf restart { + type uint32 { + range "1..65535" { + description + "Time interval (min) after which peering session will be reestablished"; + } + } + description + "Restart time interval"; + } + container discard-extra-paths { + presence "Indicates a discard-extra-paths node is configured."; + description + "Discard extra paths when limit is exceeded"; + } + } + leaf optimal-route-reflection { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "Configure optiomal-route-reflection for this neighbor"; + } + container next-hop-self { + presence "Indicates a next-hop-self node is configured."; + description + "Disable the next hop calculation for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-self from being inherited from the parent"; + } + } + container next-hop-unchanged { + presence "Indicates a next-hop-unchanged node is configured."; + description + "Do not overwrite next hop before advertising to eBGP peers"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-unchanged from being inherited from the parent"; + } + } + container next-hop-unchanged-multipath { + presence "Indicates a next-hop-unchanged-multipath node is configured."; + description + "Do not overwrite nexthop before advertising multipaths"; + } + container slow-peer { + description + "configuration commands for slow-peer"; + container detection { + description + "Enable or disable slow peer detection."; + container enable { + must + "not(../disable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a enable node is configured."; + description + "Enable slow peer detection"; + } + container disable { + must + "not(../enable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + container split-update-group { + description + "Options to split update group"; + container static { + must "not(../dynamic) and (../../enable or ../../disable)"; + presence "Indicates a static node is configured."; + description + "Manually move this peer to slow update group"; + } + container dynamic { + must "not(../static) and (../../enable or ../../disable)"; + presence "Indicates a dynamic node is configured."; + description + "Move peer to slow update group on detection"; + container permanent { + must "not(../disable)"; + presence "Indicates a permanent node is configured."; + description + "Do not revert back peer on recovery"; + } + container disable { + must "not(../permanent)"; + presence "Indicates a disable node is configured."; + description + "Disable moving slow peer to updgrp"; + } + } + } + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + container route-policy { + description + "Apply route policy"; + leaf in { + type xr:Route-policy-name; + description + "Apply route policy to inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routes"; + } + container retention { + description + "Apply retention policy to inbound routes"; + leaf route-policy-name { + type xr:Route-policy-name; + must "../retention-time"; + description + "Apply retention policy to inbound routes"; + } + leaf retention-time { + type uint32 { + range "0..4294967295" { + description + "Max time (seconds)"; + } + } + must "../route-policy-name"; + description + "Retention-time for this neighbor"; + } + } + } + container orf { + description + "Specify ORF and inbound filtering criteria"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify ORF and inbound filter"; + } + } + container remove-private-as { + presence "Indicates a remove-private-as node is configured."; + description + "Remove private AS number from outbound updates"; + container entire-aspath { + must "not(../inheritance-disable or ../internal)"; + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + must "not(../entire-aspath or ../internal)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + container internal { + must "not(../entire-aspath or ../inheritance-disable)"; + presence "Indicates a inheritance-disable node is configured."; + description + "remove only if all ASes in the path are private"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + } + container remove-private-as-inbound { + must "not(entire-aspath and inheritance-disable)"; + presence "Indicates a inbound node is configured."; + description + "Remove private AS number from inbound updates"; + container entire-aspath { + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + container enforce-multiple-labels { + presence "Indicates a enforce-multiple-labels node is configured."; + description + "Enforce support for multiple labels (requires manual session flap)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent enforce-multiple-labels from being inherited from the parent"; + } + } + container route-reflector-client { + presence "Indicates a route-reflector-client node is configured."; + description + "Configure a neighbor as Route Reflector client"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent route-reflector-client from being inherited from the parent"; + } + } + container accept-route-legacy-rt { + presence "Indicates a accept-route-legacy-rt node is configured."; + description + "Configure a neighbor to support legacy PE for RT-Constraint AF"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent accept-route-legacy-RT from being inherited from the parent"; + } + } + container send-community-ebgp { + presence "Indicates a send-community-ebgp node is configured."; + description + "Send community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-ebgp from being inherited from the parent"; + } + } + container send-community-gshut-ebgp { + presence "Indicates a send-community-gshut-ebgp node is configured."; + description + "Allow the g-shut community to be sent to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-gshut-ebgp from being inherited from the parent"; + } + } + container send-extended-community-ebgp { + presence "Indicates a send-extended-community-ebgp node is configured."; + description + "Send extended community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-extended-community-ebgp from being inherited from parent"; + } + } + container soft-reconfiguration { + description + "Per neighbor soft reconfiguration"; + container inbound { + presence "Indicates a inbound node is configured."; + description + "Allow inbound soft reconfiguration for this neighbor"; + container rpki-dropped-only { + must "not(../rpki-tested-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-dropped-only node is configured."; + description + "Use soft-reconfig, for paths dropped by route-policy which have RPKI validity state check"; + } + container rpki-tested-only { + must "not(../rpki-dropped-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-tested-only node is configured."; + description + "Use soft-reconfig for paths tested or dropped by route-policy which have RPKI validity state check"; + } + container always { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../inheritance-disable)"; + presence "Indicates a always node is configured."; + description + "Always use soft reconfig, even if route refresh is supported"; + } + container inheritance-disable { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../always)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent soft-reconfiguration from being inherited from the parent"; + } + } + } + container update { + description + "BGP out bound message"; + container out { + description + "BGP out bound message handling"; + container originator-loopcheck { + presence "Indicates a originator-loopcheck node is configured."; + description + "Loop check for same originator which sent the route"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable originator loop check"; + } + } + } + } + container advertise { + description + "Per neighbor advertisement options"; + container permanent-network { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a permanent-network node is configured."; + description + "Allow permanent networks for this neighbor"; + } + container local-labeled-route { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a local-labeled-route node is configured."; + description + "Advertisement of routes with local-label"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + container vpnv4 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv4 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpnv4 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise re-orignated and local routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated and local routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container vpnv6 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv6 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpnv6 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container l2vpn { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "L2VPN Address Family"; + container evpn { + when "../../../af-name = 'l2vpn-evpn'"; + presence "Indicates a evpn node is configured."; + description + "Address Family modifier"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container evpn-disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + container vpls-vpws { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + container mspw { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + } + } + container encapsulation-type { + when + "../af-name = 'ipv4-unicast' or + ../af-name = 'ipv6-unicast' or + ../af-name = 'vpnv4-unicast' or + ../af-name = 'vpnv6-unicast' or + ../af-name = 'l2vpn-evpn'"; + description + "Specify encapsulation type"; + container vxlan { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + must "not(../srv6)"; + presence "Indicates a vxlan node is configured."; + description + "VxLAN encapsulation"; + } + container srv6 { + when "../../af-name != 'l2vpn-evpn'"; + must "not(../vxlan)"; + presence "Indicates a srv6 node is configured."; + description + "SRv6 encapsulation"; + } + } + container segment-routing { + when "../af-name = 'vpnv4-unicast'"; + description + "enable segment-routing srv6 version 4"; + container srv6 { + description + "srv6 version 4"; + container prefix-sid-type4 { + presence "Indicates a prefix-sid-type4 node is configured."; + description + "Enable prefix sid version 4 encoding"; + } + } + } + container import { + when "../af-name = 'vpnv4-unicast' or ../af-name = 'vpnv6-unicast' or ../af-name = 'l2vpn-evpn'"; + description + "Import options for neighbor address-family routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Import routes using stitching RTs"; + container re-originate { + presence "Indicates a re-originate node is configured."; + description + "Re-originate imported routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Reoriginate imported routes by attaching stitching RTs"; + } + } + } + } + leaf weight { + type uint32 { + range "0..65535" { + description + "default weight"; + } + } + description + "Set default weight for routes from this neighbor"; + } + container allowas-in { + presence "Indicates a allowas-in node is configured."; + description + "Allow as-path with my AS present in it"; + leaf number-of-occurences { + type uint32 { + range "1..10" { + description + "Number of occurences of AS number"; + } + } + description + "Number of occurences of AS number"; + } + } + container long-lived-graceful-restart { + description + "Enable long lived graceful restart support"; + container stale-time { + description + "Maximum time to wait before purging long-lived stale routes"; + leaf send { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Stale-time sent in LLGR Capability"; + } + leaf accept { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Maximum stale-time acceptable from neighbor"; + } + } + container capable { + presence "Indicates a capable node is configured."; + description + "Treat neighbor as LLGR capable"; + } + } + container as-override { + presence "Indicates a as-override node is configured."; + description + "Override matching AS-number while sending update"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent as-override from being inherited from the parent"; + } + } + container aigp { + presence "Indicates a aigp node is configured."; + description + "Enable AIGP for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable AIGP"; + } + } + container aigp-send { + description + "Copy AIGP"; + container cost-community { + must "(cost-community-id and poi) or disable"; + presence "Indicates a cost-community node is configured."; + description + "Send AIGP value in Cost Community"; + leaf cost-community-id { + type uint32 { + range "0..255" { + description + "Cost community ID"; + } + } + must "not(../disable)"; + description + "Cost community ID"; + } + container poi { + must "(igp-cost or pre-bestpath) and not(igp-cost and pre-bestpath)"; + presence "Indicates a poi node is configured."; + description + "Point of insertion for bestpath calculation"; + container igp-cost { + presence "Indicates a igp-cost node is configured."; + description + "Cost community is used after IGP distance to next hop"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + container pre-bestpath { + presence "Indicates a pre-bestpath node is configured."; + description + "Cost community is first step in best path calculation"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + } + container disable { + must "not(../cost-community-id)"; + presence "Indicates a disable node is configured."; + description + "Disable aigp send cost-community"; + } + } + container med { + presence "Indicates a med node is configured."; + description + "Send AIGP value in MED"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable aigp send med"; + } + } + } + container validation { + when "../af-name = 'ipv4-flowspec' or ../af-name = 'ipv6-flowspec'"; + presence "Indicates a validation node is configured."; + description + "Flowspec Validation for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Validation"; + } + container redirect { + description + "Flowspec Redirect nexthop Validation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Redirect nexthop Validation"; + } + } + } + container send-multicast-attributes { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv4-labeled-unicast' or ../af-name = 'ipv6-labeled-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-multicast' or ../af-name = 'ipv4-mvpn' or ../af-name = 'ipv6-mvpn'"; + presence "Indicates a send-multicast-attributes node is configured."; + description + "Send multicast attributes to this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable send multicast attribute"; + } + } + container signalling { + description + "Signalling protocols to disable, BGP or LDP"; + container bgp { + description + "Select BGP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + container ldp { + description + "Select LDP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + } + container accept-own { + presence "Indicates a accept-own node is configured."; + description + "Handle self-originated routes with Accept-Own community"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent item being inherited from a parent group"; + } + } + } + } + container update { + description + "BGP Update configuration"; + container in { + description + "Inbound update message handling"; + container filtering { + presence "Indicates a filtering node is configured."; + description + "Inbound update message filtering"; + container message { + description + "Filtered update messages"; + container buffers { + presence "Indicates a buffers node is configured."; + description + "Filtered update message buffers"; + leaf number-of-buffers { + type uint32 { + range "0..25" { + description + "Number of buffers to store filtered update messages (resizing does not take effect after filtering action has started)"; + } + } + mandatory true; + description + "Filtered update message buffers"; + } + container non-circular { + presence "Indicates a non-circular node is configured."; + description + "Message buffer list is not circular"; + } + } + } + container logging { + description + "Update filtering syslog message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable update filtering syslog message"; + } + } + container attribute-filter { + description + "Attribute-filter configuration"; + leaf group { + type string { + length "1..1024" { + description + "Attribute-filter group name"; + } + } + description + "Attribute-filter group configuration"; + } + } + } + container merge { + description + "Merge incoming updates"; + container safi { + description + "SAFI of the NLRIs to merge"; + container unicast { + description + "IPv4/IPv6 unicast paths"; + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "IPv4/IPv6 labeled-unicast paths"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + } + } + } + } + container graceful-maintenance { + presence "Indicates a graceful-maintenance node is configured."; + description + "Attributes for Graceful Maintenance. This will cause neig dprefer routes from this router and choonas. This allows the router to be brourt of service gracefully."; + container local-preference { + must "local-preference-value or inheritance-disable"; + presence "Indicates a local-preference node is configured."; + description + "local preference with which to advertise routes to ibgps. Default=No Touch"; + leaf local-preference-value { + type uint32 { + range "0..4294967295" { + description + "Range of values for Local Preference"; + } + } + description + "Range of values for Local Preference"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local preference from being inherited from the parent"; + } + } + container as-prepends { + must "number-of-as-prepends or inheritance-disable"; + presence "Indicates a as-prepends node is configured."; + description + "Number of times to prepend the local AS number to the AS pous. Default=0"; + leaf number-of-as-prepends { + type uint32 { + range "0..6" { + description + "Range of number of AS prepends"; + } + } + description + "Range of number of AS prepends"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent AS prepends from being inherited from the parent"; + } + } + container activate { + presence "Indicates a activate node is configured."; + description + "Routes will be announced with the graceful maintenance + attrhi activated either here or under router + bgp atn. While activated, all routes to this + neigl announced with the attributes + conferand all routes from this neighbor will + be a tother neighbors with the graceful + mainatibutes configured under those + neighe-shut community will be announced + regaf e other attributes configured here. To + allosh community to be announced to ebgp + neigheend-community-gshut-ebgp configuration + is air. Note: changes to the attributes will + not ecwhile activated."; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent activate from being inherited from the parent"; + } + } + } + leaf remote-as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf remote-as-list { + type string { + length "1..1024" { + description + "as-list name"; + } + } + description + "Remote as-list configuration"; + } + container use { + description + "Inherit configuration from a group"; + leaf session-group { + type string { + length "1..1024" { + description + "Session group name"; + } + } + description + "Inherit address-family independent config from a session-group"; + } + leaf neighbor-group { + type string { + length "1..1024" { + description + "Neighbor-group name"; + } + } + description + "Inherit configuration from a neighbor-group"; + } + } + container advertisement-interval { + presence "Indicates a advertisement-interval node is configured."; + description + "Minimum interval between sending BGP routing updates"; + leaf time-in-seconds { + type uint32 { + range "0..600" { + description + "time in seconds"; + } + } + mandatory true; + description + "Minimum interval between sending BGP routing updates"; + } + leaf time-in-milliseconds { + type uint32 { + range "0..999" { + description + "time in milliseconds"; + } + } + description + "time in milliseconds"; + } + } + leaf description { + type string { + length "1..1024" { + description + "Up to 80 characters describing this neighbor"; + } + } + description + "Neighbor specific description"; + } + container ignore-connected-check { + presence "Indicates a ignore-connected-check node is configured."; + description + "Bypass the directly connected nexthop check for single-hop eBGP peering"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ignore-connected-check from being inherited from the parent"; + } + } + container ebgp-multihop { + presence "Indicates a ebgp-multihop node is configured."; + description + "Allow EBGP neighbors not on directly connected networks"; + leaf maximum-hop-count { + type uint32 { + range "1..255" { + description + "maximum hop count"; + } + } + mandatory true; + description + "maximum hop count"; + } + container mpls { + presence "Indicates a mpls node is configured."; + description + "Disable BGP MPLS forwarding"; + } + } + container tcp { + description + "TCP session configuration commands"; + container mss { + must "initial-mss or inheritance-disable"; + presence "Indicates a mss node is configured."; + description + "Maximum Segment Size"; + leaf initial-mss { + type uint32 { + range "68..10000" { + description + "TCP initial maximum segment size"; + } + } + description + "TCP initial maximum segment size"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent tcp mss from being inherited from the parent"; + } + } + } + container bmp-activate { + description + "Enable BMP logging for this neighbor"; + container servers { + description + "Enable BMP connection to particular server"; + list server { + key "server-id"; + description + "Enable BMP connection to particular server"; + leaf server-id { + type uint32 { + range "1..8" { + description + "Enable BMP connection to particular server"; + } + } + description + "Enable BMP connection to particular server"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and inheritance-disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container inheritance-disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container keychain { + must "name or inheritance-disable"; + presence "Indicates a keychain node is configured."; + description + "Set keychain based authentication"; + leaf name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Name of the key chain - maximum 32 characters"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container local-as { + must "as-number or inheritance-disable"; + presence "Indicates a local-as node is configured."; + description + "Specify local AS number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container no-prepend { + presence "Indicates a no-prepend node is configured."; + description + "Do not prepend local AS to announcements from this neighbor"; + container replace-as { + presence "Indicates a replace-as node is configured."; + description + "Prepend only local AS to announcements to this neighbor"; + container dual-as { + presence "Indicates a dual-as node is configured."; + description + "Dual-AS mode"; + } + } + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local AS from being inherited from parent"; + } + } + container password { + must "encrypted or inheritance-disable"; + presence "Indicates a password node is configured."; + description + "Set a password"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent password from being inherited from parent"; + } + } + container receive-buffer-size { + presence "Indicates a receive-buffer-size node is configured."; + description + "Set socket and BGP receive buffer size"; + leaf receive-socket-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + description + "BGP Read buffer size in bytes"; + } + } + container send-buffer-size { + presence "Indicates a send-buffer-size node is configured."; + description + "Set socket and BGP send buffer size"; + leaf send-socket-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + description + "BGP Write buffer size in bytes"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Administratively shut down this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent this neighbor being shutdown, even if its parent is"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "BGP per neighbor timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + container local { + description + "Configure local parameter"; + container address { + must "ip-address or inheritance-disable"; + presence "Indicates a address node is configured."; + description + "use configured local address for bgp peering"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv4 address"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local address from being inherited from parent"; + } + } + } + container log { + description + "Logging update messages per neighbor"; + container message { + description + "Logging update/notification messages per neighbor"; + container in { + description + "Inbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + container out { + description + "Outbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable outbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + } + } + leaf update-source { + type xr:Interface-name; + description + "Source of routing updates"; + } + container local-address-subnet { + description + "Local address subnet of routing updates"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address and mask length"; + } + leaf mask-length { + type uint32 { + range "0..128" { + description + "IP address mask length"; + } + } + description + "IP address and mask length"; + } + } + container dmz-link-bandwidth { + presence "Indicates a dmz-link-bandwidth node is configured."; + description + "Propagate the DMZ link bandwidth"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent dmz-link-bandwidth from being inherited from the parent"; + } + } + container ebgp-recv-extcommunity-dmz { + presence "Indicates a ebgp-recv-extcommunity-dmz node is configured."; + description + "Receive extcommunity dmz link bandwidth from ebgp neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-community-dmz from being inherited from parent"; + } + } + container ebgp-send-extcommunity-dmz { + must "not(cumulative and inheritance-disable)"; + presence "Indicates a ebgp-send-extcommunity-dmz node is configured."; + description + "Send extended community dmz link bandwidth to ebgp neighbor"; + container cumulative { + presence "Indicates a cumulative node is configured."; + description + "Send cumulative community dmz link bandwidth of all multipaths to ebgp neighbor"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-extcommunity-dmz from being inherited from parent"; + } + } + container ttl-security { + presence "Indicates a ttl-security node is configured."; + description + "Enable EBGP TTL security"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ttl-security from being inherited from the parent"; + } + } + container session-open-mode { + description + "Establish BGP session using this TCP open mode"; + container active-only { + must "not(../passive-only or ../both)"; + presence "Indicates a active-only node is configured."; + description + "Active only"; + } + container passive-only { + must "not(../active-only or ../both)"; + presence "Indicates a passive-only node is configured."; + description + "Passive only"; + } + container both { + must "not(../active-only or ../passive-only)"; + presence "Indicates a both node is configured."; + description + "Prevent session-open-mode being inherited from the parent"; + } + } + leaf dscp { + type enumeration { + enum "default" { + value 0; + description + "Set packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Set packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Set packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Set packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Set packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Set packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Set packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Set packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Set packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Set packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Set packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Set packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Set packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Set packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Set packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Set packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Set packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Set packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Set packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Set packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Set packets with CS7(precedence 7) dscp (111000)"; + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Set packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Set packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Set packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Set packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Set packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Set packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Set packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Set packets with network control precedence (7)"; + } + } + description + "Set precedence"; + } + container capability { + description + "Advertise capability to the peer"; + container suppress { + description + "Suppress advertising capability to the peer "; + container four-byte-as { + presence "Indicates a four-byte-as node is configured."; + description + "4-byte-as capability"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent capability suppress 4-type-as being inherited from the parent"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "All capabilities"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + container extended-nexthop-encoding { + presence "Indicates a extended-nexthop-encoding node is configured."; + description + "Extended-nexthop-encoding capabilities (IETF RFC 5549)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + container additional-paths { + description + "Additional paths capability"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Send capability"; + } + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Receive capability"; + } + } + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Enable graceful restart support for this neighbor"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable graceful restart support for this neighbor"; + } + leaf restart-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Restart time advertised to the neighbor"; + } + leaf stalepath-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for restart of GR capable peer"; + } + } + container enforce-first-as { + presence "Indicates a enforce-first-as node is configured."; + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not enforce the first AS for EBGP routes"; + } + } + container cluster-id { + description + "Enter cluster id for this neighbor"; + leaf route-reflector-cluster-id { + type uint32 { + range "1..4294967295" { + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + } + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "Route-Reflector Cluster-id in IP address format"; + } + } + leaf maximum-peers { + type uint32 { + range "1..4095" { + description + "Maximum number of peers"; + } + } + description + "Maximum dynamic neighbors"; + } + leaf idle-watch-time { + type uint32 { + range "30..1800" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for deletion of IDLE state dynamic peer"; + } + container egress-engineering { + presence "Indicates a egress-engineering node is configured."; + description + "Enable egress peer engineering for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit egress-engineering from the parent"; + } + } + container peer-sets { + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + list peer-set { + key "peer-set-id"; + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identity value of peer-set"; + } + } + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + } + } + } + container peer-node-sid { + description + "Assign this neighbor a manual SID for egress peer engineering"; + leaf index { + type uint32 { + range "0..1033575" { + description + "Segment Index to be assigned to this peer. The index will be off SRLB + Note: Thmaximum index configurable in dynaminc SRLB range. + Since SRa dynamic range, actual maximum index can vary. + So pleasthe currently configured SRLB range"; + } + } + description + "Segment Index value which is offset of SRLB"; + } + } + container ao { + description + "Enable Authentiation Option"; + leaf key-chain-name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + must "not(../inheritance-disable) and (../include-tcp-options/enable or ../include-tcp-options/disable)"; + description + "Name of the key chain - maximum 32 characters"; + } + container include-tcp-options { + description + "Include/Exclude other TCP options in the header"; + container enable { + must "not(../disable or ../../inheritance-disable)"; + presence "Indicates a enable node is configured."; + description + "Include other TCP options in the header"; + } + container disable { + must "not(../enable or ../../inheritance-disable)"; + presence "Indicates a disable node is configured."; + description + "Exclude other TCP options in the header"; + } + container accept-ao-mismatch-connection { + must "../enable or ../disable"; + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if AO mismatched"; + } + } + container inheritance-disable { + must "not(../key-chain-name)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + } + } + container af-groups { + description + "Specify a AF group"; + list af-group { + must "address-families/address-family"; + key "af-group-name"; + description + "Specify a AF group"; + leaf af-group-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "AF group name"; + } + } + description + "Specify a AF group"; + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container use { + description + "Inherit configuration for this address-family from a group"; + leaf af-group { + type string { + length "1..1024" { + description + "AF group name"; + } + } + description + "Inherit configuration for this address-family from an af-group"; + } + } + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + container prefix { + description + "Advertise address prefix ORF capability to this neighbor"; + container receive { + must "not(../send or ../both or ../none)"; + presence "Indicates a receive node is configured."; + description + "Capability to RECEIVE the ORF from this neighbor"; + } + container send { + must "not(../receive or ../both or ../none)"; + presence "Indicates a send node is configured."; + description + "Capability to SEND the ORF to this neighbor"; + } + container both { + must "not(../receive or ../send or ../none)"; + presence "Indicates a both node is configured."; + description + "Capability to RECEIVE and SEND the ORF from/to this neighbor"; + } + container none { + must "not(../receive or ../send or ../both)"; + presence "Indicates a none node is configured."; + description + "No capability to RECEIVE or SEND the ORF from/to this neighbor"; + } + } + } + } + container default-originate { + presence "Indicates a default-originate node is configured."; + description + "Originate default route to this neighbor"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + container inheritance-disable { + must "not(../route-policy)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent default-originate being inherited from a parent group"; + } + } + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + description + "Maximum number of prefixes to accept from this peer"; + leaf prefix-limit { + type uint32 { + range "1..4294967295" { + description + "maximum no. of prefix limit"; + } + } + mandatory true; + description + "Maximum number of prefixes to accept from this peer"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Threshold value (%) at which to generate a warning msg"; + } + } + mandatory true; + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf restart { + type uint32 { + range "1..65535" { + description + "Time interval (min) after which peering session will be reestablished"; + } + } + description + "Restart time interval"; + } + container discard-extra-paths { + presence "Indicates a discard-extra-paths node is configured."; + description + "Discard extra paths when limit is exceeded"; + } + } + leaf optimal-route-reflection { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + container next-hop-self { + presence "Indicates a next-hop-self node is configured."; + description + "Disable the next hop calculation for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-self from being inherited from the parent"; + } + } + container next-hop-unchanged { + presence "Indicates a next-hop-unchanged node is configured."; + description + "Do not overwrite next hop before advertising to eBGP peers"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-unchanged from being inherited from the parent"; + } + } + container next-hop-unchanged-multipath { + presence "Indicates a next-hop-unchanged-multipath node is configured."; + description + "Do not overwrite nexthop before advertising multipaths"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Paths from this neighbor is eligible for multipath"; + } + container slow-peer { + description + "configuration commands for slow-peer"; + container detection { + description + "Enable or disable slow peer detection."; + container enable { + must + "not(../disable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a enable node is configured."; + description + "Enable slow peer detection"; + } + container disable { + must + "not(../enable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + container split-update-group { + description + "Options to split update group"; + container static { + must "not(../dynamic) and (../../enable or ../../disable)"; + presence "Indicates a static node is configured."; + description + "Manually move this peer to slow update group"; + } + container dynamic { + must "not(../static) and (../../enable or ../../disable)"; + presence "Indicates a dynamic node is configured."; + description + "Move peer to slow update group on detection"; + container permanent { + must "not(../disable)"; + presence "Indicates a permanent node is configured."; + description + "Do not revert back peer on recovery"; + } + container disable { + must "not(../permanent)"; + presence "Indicates a disable node is configured."; + description + "Disable moving slow peer to updgrp"; + } + } + } + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + container route-policy { + description + "Apply route policy"; + leaf in { + type xr:Route-policy-name; + description + "Apply route policy to inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routes"; + } + container retention { + description + "Apply retention policy to inbound routes"; + leaf route-policy-name { + type xr:Route-policy-name; + must "../retention-time"; + description + "Apply retention policy to inbound routes"; + } + leaf retention-time { + type uint32 { + range "0..4294967295" { + description + "Max time (seconds)"; + } + } + must "../route-policy-name"; + description + "Retention-time for this neighbor"; + } + } + } + container orf { + description + "Specify ORF and inbound filtering criteria"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify ORF and inbound filter"; + } + } + container remove-private-as { + presence "Indicates a remove-private-as node is configured."; + description + "Remove private AS number from outbound updates"; + container entire-aspath { + must "not(../inheritance-disable or ../internal)"; + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + must "not(../entire-aspath or ../internal)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + container internal { + must "not(../entire-aspath or ../inheritance-disable)"; + presence "Indicates a inheritance-disable node is configured."; + description + "remove only if all ASes in the path are private"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + } + container remove-private-as-inbound { + must "not(entire-aspath and inheritance-disable)"; + presence "Indicates a inbound node is configured."; + description + "Remove private AS number from inbound updates"; + container entire-aspath { + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + container enforce-multiple-labels { + presence "Indicates a enforce-multiple-labels node is configured."; + description + "Enforce support for multiple labels (requires manual session flap)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent enforce-multiple-labels from being inherited from the parent"; + } + } + container route-reflector-client { + presence "Indicates a route-reflector-client node is configured."; + description + "Configure a neighbor as Route Reflector client"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent route-reflector-client from being inherited from the parent"; + } + } + container accept-route-legacy-rt { + presence "Indicates a accept-route-legacy-rt node is configured."; + description + "Configure a neighbor to support legacy PE for RT-Constraint AF"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent accept-route-legacy-RT from being inherited from the parent"; + } + } + container send-community-ebgp { + presence "Indicates a send-community-ebgp node is configured."; + description + "Send community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-ebgp from being inherited from the parent"; + } + } + container send-community-gshut-ebgp { + presence "Indicates a send-community-gshut-ebgp node is configured."; + description + "Allow the g-shut community to be sent to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-gshut-ebgp from being inherited from the parent"; + } + } + container send-extended-community-ebgp { + presence "Indicates a send-extended-community-ebgp node is configured."; + description + "Send extended community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-extended-community-ebgp from being inherited from parent"; + } + } + container soft-reconfiguration { + description + "Per neighbor soft reconfiguration"; + container inbound { + presence "Indicates a inbound node is configured."; + description + "Allow inbound soft reconfiguration for this neighbor"; + container rpki-dropped-only { + must "not(../rpki-tested-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-dropped-only node is configured."; + description + "Use soft-reconfig, for paths dropped by route-policy which have RPKI validity state check"; + } + container rpki-tested-only { + must "not(../rpki-dropped-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-tested-only node is configured."; + description + "Use soft-reconfig for paths tested or dropped by route-policy which have RPKI validity state check"; + } + container always { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../inheritance-disable)"; + presence "Indicates a always node is configured."; + description + "Always use soft reconfig, even if route refresh is supported"; + } + container inheritance-disable { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../always)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent soft-reconfiguration from being inherited from the parent"; + } + } + } + container update { + description + "BGP out bound message"; + container out { + description + "BGP out bound message handling"; + container originator-loopcheck { + presence "Indicates a originator-loopcheck node is configured."; + description + "Loop check for same originator which sent the route"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable originator loop check"; + } + } + } + } + container advertise { + description + "Per neighbor advertisement options"; + container permanent-network { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a permanent-network node is configured."; + description + "Allow permanent networks for this neighbor"; + } + container local-labeled-route { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a local-labeled-route node is configured."; + description + "Advertisement of routes with local-label"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + container vpnv4 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv4 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpnv4 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise re-orignated and local routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated and local routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container vpnv6 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv6 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpnv6 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container l2vpn { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "L2VPN Address Family"; + container evpn { + when "../../../af-name = 'l2vpn-evpn'"; + presence "Indicates a evpn node is configured."; + description + "Address Family modifier"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container evpn-disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + container vpls-vpws { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + container mspw { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + } + } + container encapsulation-type { + when + "../af-name = 'ipv4-unicast' or + ../af-name = 'ipv6-unicast' or + ../af-name = 'vpnv4-unicast' or + ../af-name = 'vpnv6-unicast' or + ../af-name = 'l2vpn-evpn'"; + description + "Specify encapsulation type"; + container vxlan { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + must "not(../srv6)"; + presence "Indicates a vxlan node is configured."; + description + "VxLAN encapsulation"; + } + container srv6 { + when "../../af-name != 'l2vpn-evpn'"; + must "not(../vxlan)"; + presence "Indicates a srv6 node is configured."; + description + "SRv6 encapsulation"; + } + } + container segment-routing { + when "../af-name = 'vpnv4-unicast'"; + description + "enable segment-routing srv6 version 4"; + container srv6 { + description + "srv6 version 4"; + container prefix-sid-type4 { + presence "Indicates a prefix-sid-type4 node is configured."; + description + "Enable prefix sid version 4 encoding"; + } + } + } + container import { + when "../af-name = 'vpnv4-unicast' or ../af-name = 'vpnv6-unicast' or ../af-name = 'l2vpn-evpn'"; + description + "Import options for neighbor address-family routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Import routes using stitching RTs"; + container re-originate { + presence "Indicates a re-originate node is configured."; + description + "Re-originate imported routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Reoriginate imported routes by attaching stitching RTs"; + } + } + } + } + leaf weight { + type uint32 { + range "0..65535" { + description + "default weight"; + } + } + description + "Set default weight for routes from this neighbor"; + } + container allowas-in { + presence "Indicates a allowas-in node is configured."; + description + "Allow as-path with my AS present in it"; + leaf number-of-occurences { + type uint32 { + range "1..10" { + description + "Number of occurences of AS number"; + } + } + description + "Number of occurences of AS number"; + } + } + container long-lived-graceful-restart { + description + "Enable long lived graceful restart support"; + container stale-time { + description + "Maximum time to wait before purging long-lived stale routes"; + leaf send { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Stale-time sent in LLGR Capability"; + } + leaf accept { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Maximum stale-time acceptable from neighbor"; + } + } + container capable { + presence "Indicates a capable node is configured."; + description + "Treat neighbor as LLGR capable"; + } + } + container as-override { + presence "Indicates a as-override node is configured."; + description + "Override matching AS-number while sending update"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent as-override from being inherited from the parent"; + } + } + container aigp { + presence "Indicates a aigp node is configured."; + description + "Enable AIGP for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable AIGP"; + } + } + container aigp-send { + description + "Copy AIGP"; + container cost-community { + must "(cost-community-id and poi) or disable"; + presence "Indicates a cost-community node is configured."; + description + "Send AIGP value in Cost Community"; + leaf cost-community-id { + type uint32 { + range "0..255" { + description + "Cost community ID"; + } + } + must "not(../disable)"; + description + "Cost community ID"; + } + container poi { + must "(igp-cost or pre-bestpath) and not(igp-cost and pre-bestpath)"; + presence "Indicates a poi node is configured."; + description + "Point of insertion for bestpath calculation"; + container igp-cost { + presence "Indicates a igp-cost node is configured."; + description + "Cost community is used after IGP distance to next hop"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + container pre-bestpath { + presence "Indicates a pre-bestpath node is configured."; + description + "Cost community is first step in best path calculation"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + } + container disable { + must "not(../cost-community-id)"; + presence "Indicates a disable node is configured."; + description + "Disable aigp send cost-community"; + } + } + container med { + presence "Indicates a med node is configured."; + description + "Send AIGP value in MED"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable aigp send med"; + } + } + } + container validation { + when "../af-name = 'ipv4-flowspec' or ../af-name = 'ipv6-flowspec'"; + presence "Indicates a validation node is configured."; + description + "Flowspec Validation for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Validation"; + } + container redirect { + description + "Flowspec Redirect nexthop Validation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Redirect nexthop Validation"; + } + } + } + container send-multicast-attributes { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv4-labeled-unicast' or ../af-name = 'ipv6-labeled-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-multicast' or ../af-name = 'ipv4-mvpn' or ../af-name = 'ipv6-mvpn'"; + presence "Indicates a send-multicast-attributes node is configured."; + description + "Send multicast attributes to this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable send multicast attribute"; + } + } + container signalling { + description + "Signalling protocols to disable, BGP or LDP"; + container bgp { + description + "Select BGP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + container ldp { + description + "Select LDP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + } + container accept-own { + presence "Indicates a accept-own node is configured."; + description + "Handle self-originated routes with Accept-Own community"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent item being inherited from a parent group"; + } + } + container cluster-id { + description + "Allow routes with first cluster-id in list is same as the router's cluster id"; + container allow-equal { + presence "Indicates a allow-equal node is configured."; + description + "Accept routes with first cluster-id in list is same as the router's cluster id"; + container disable { + presence "Indicates a allow-equal node is configured."; + description + "Prevent the configuration from being inherited."; + } + } + } + container site-of-origin { + description + "Site-of-Origin extended community associated with the neighbor"; + container two-byte-as { + must "not(../four-byte-as or ../ip-address)"; + presence "Indicates a two-byte-as node is configured."; + description + "two-byte-as Site-of-Origin"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "bgp as-number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container four-byte-as { + must "not(../two-byte-as or ../ip-address)"; + presence "Indicates a four-byte-as node is configured."; + description + "four-byte-as Site-of-Origin"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "4-byte AS number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container ip-address { + must "not(../two-byte-as or ../four-byte-as)"; + presence "Indicates a ip-address node is configured."; + description + "configure this node"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "configure this node"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + mandatory true; + description + "IPv4Address:index (hex or decimal format)"; + } + } + } + } + } + } + } + container session-groups { + description + "Specify a Session group"; + list session-group { + key "session-group-name"; + description + "Specify a Session group"; + leaf session-group-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Session group name"; + } + } + description + "Specify a Session group"; + } + leaf remote-as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf remote-as-list { + type string { + length "1..1024" { + description + "as-list name"; + } + } + description + "Remote as-list configuration"; + } + container use { + description + "Inherit configuration from a group"; + leaf session-group { + type string { + length "1..1024" { + description + "Session group name"; + } + } + description + "Inherit address-family independent config from a session-group"; + } + } + container advertisement-interval { + presence "Indicates a advertisement-interval node is configured."; + description + "Minimum interval between sending BGP routing updates"; + leaf time-in-seconds { + type uint32 { + range "0..600" { + description + "time in seconds"; + } + } + mandatory true; + description + "Minimum interval between sending BGP routing updates"; + } + leaf time-in-milliseconds { + type uint32 { + range "0..999" { + description + "time in milliseconds"; + } + } + description + "time in milliseconds"; + } + } + leaf description { + type string { + length "1..1024" { + description + "Up to 80 characters describing this neighbor"; + } + } + description + "Neighbor specific description"; + } + container ignore-connected-check { + presence "Indicates a ignore-connected-check node is configured."; + description + "Bypass the directly connected nexthop check for single-hop eBGP peering"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ignore-connected-check from being inherited from the parent"; + } + } + container internal-vpn-client { + presence "Indicates a internal-vpn-client node is configured."; + description + "Preserve iBGP CE neighbor path in ATTR_SET across VPN core"; + } + container ebgp-multihop { + presence "Indicates a ebgp-multihop node is configured."; + description + "Allow EBGP neighbors not on directly connected networks"; + leaf maximum-hop-count { + type uint32 { + range "1..255" { + description + "maximum hop count"; + } + } + mandatory true; + description + "maximum hop count"; + } + container mpls { + presence "Indicates a mpls node is configured."; + description + "Disable BGP MPLS forwarding"; + } + } + container tcp { + description + "TCP session configuration commands"; + container mss { + must "initial-mss or inheritance-disable"; + presence "Indicates a mss node is configured."; + description + "Maximum Segment Size"; + leaf initial-mss { + type uint32 { + range "68..10000" { + description + "TCP initial maximum segment size"; + } + } + description + "TCP initial maximum segment size"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent tcp mss from being inherited from the parent"; + } + } + } + container bmp-activate { + description + "Enable BMP logging for this neighbor"; + container servers { + description + "Enable BMP connection to particular server"; + list server { + key "server-id"; + description + "Enable BMP connection to particular server"; + leaf server-id { + type uint32 { + range "1..8" { + description + "Enable BMP connection to particular server"; + } + } + description + "Enable BMP connection to particular server"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container keychain { + must "name or inheritance-disable"; + presence "Indicates a keychain node is configured."; + description + "Set keychain based authentication"; + leaf name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Name of the key chain - maximum 32 characters"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container local-as { + must "as-number or inheritance-disable"; + presence "Indicates a local-as node is configured."; + description + "Specify local AS number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container no-prepend { + presence "Indicates a no-prepend node is configured."; + description + "Do not prepend local AS to announcements from this neighbor"; + container replace-as { + presence "Indicates a replace-as node is configured."; + description + "Prepend only local AS to announcements to this neighbor"; + container dual-as { + presence "Indicates a dual-as node is configured."; + description + "Dual-AS mode"; + } + } + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local AS from being inherited from parent"; + } + } + container password { + must "encrypted or inheritance-disable"; + presence "Indicates a password node is configured."; + description + "Set a password"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent password from being inherited from parent"; + } + } + container receive-buffer-size { + presence "Indicates a receive-buffer-size node is configured."; + description + "Set socket and BGP receive buffer size"; + leaf receive-socket-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + description + "BGP Read buffer size in bytes"; + } + } + container send-buffer-size { + presence "Indicates a send-buffer-size node is configured."; + description + "Set socket and BGP send buffer size"; + leaf send-socket-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + description + "BGP Write buffer size in bytes"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Administratively shut down this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent this neighbor being shutdown, even if its parent is"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "BGP per neighbor timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + container local { + description + "Configure local parameter"; + container address { + must "ip-address or inheritance-disable"; + presence "Indicates a address node is configured."; + description + "use configured local address for bgp peering"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv4 address"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local address from being inherited from parent"; + } + } + } + container log { + description + "Logging update messages per neighbor"; + container message { + description + "Logging update/notification messages per neighbor"; + container in { + description + "Inbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + container out { + description + "Outbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable outbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + } + } + leaf update-source { + type xr:Interface-name; + description + "Source of routing updates"; + } + container local-address-subnet { + description + "Local address subnet of routing updates"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv6 address and mask or masklength"; + } + leaf mask-length { + type uint32 { + range "0..128" { + description + "IP address mask length"; + } + } + description + "IP address and mask length"; + } + } + container dmz-link-bandwidth { + presence "Indicates a dmz-link-bandwidth node is configured."; + description + "Propagate the DMZ link bandwidth"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent dmz-link-bandwidth from being inherited from the parent"; + } + } + container ebgp-recv-extcommunity-dmz { + presence "Indicates a ebgp-recv-extcommunity-dmz node is configured."; + description + "Receive extcommunity dmz link bandwidth from ebgp neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-community-dmz from being inherited from parent"; + } + } + container ebgp-send-extcommunity-dmz { + must "not(cumulative and inheritance-disable)"; + presence "Indicates a ebgp-send-extcommunity-dmz node is configured."; + description + "Send extended community dmz link bandwidth to ebgp neighbor"; + container cumulative { + presence "Indicates a cumulative node is configured."; + description + "Send cumulative community dmz link bandwidth of all multipaths to ebgp neighbor"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-extcommunity-dmz from being inherited from parent"; + } + } + container ttl-security { + presence "Indicates a ttl-security node is configured."; + description + "Enable EBGP TTL security"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ttl-security from being inherited from the parent"; + } + } + container session-open-mode { + description + "Establish BGP session using this TCP open mode"; + container active-only { + must "not(../passive-only or ../both)"; + presence "Indicates a active-only node is configured."; + description + "Active only"; + } + container passive-only { + must "not(../active-only or ../both)"; + presence "Indicates a passive-only node is configured."; + description + "Passive only"; + } + container both { + must "not(../active-only or ../passive-only)"; + presence "Indicates a both node is configured."; + description + "Prevent session-open-mode being inherited from the parent"; + } + } + leaf dscp { + type enumeration { + enum "default" { + value 0; + description + "Set packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Set packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Set packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Set packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Set packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Set packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Set packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Set packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Set packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Set packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Set packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Set packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Set packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Set packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Set packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Set packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Set packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Set packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Set packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Set packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Set packets with CS7(precedence 7) dscp (111000)"; + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Set packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Set packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Set packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Set packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Set packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Set packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Set packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Set packets with network control precedence (7)"; + } + } + description + "Set precedence"; + } + container capability { + description + "Advertise capability to the peer"; + container suppress { + description + "Suppress advertising capability to the peer "; + container four-byte-as { + presence "Indicates a four-byte-as node is configured."; + description + "4-byte-as capability"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent capability suppress 4-type-as being inherited from the parent"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "All capabilities"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + container extended-nexthop-encoding { + presence "Indicates a extended-nexthop-encoding node is configured."; + description + "Extended-nexthop-encoding capabilities (IETF RFC 5549)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + container additional-paths { + description + "Additional paths capability"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Send capability"; + } + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Receive capability"; + } + } + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Enable graceful restart support for this neighbor"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable graceful restart support for this neighbor"; + } + leaf restart-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Restart time advertised to the neighbor"; + } + leaf stalepath-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for restart of GR capable peer"; + } + } + container enforce-first-as { + presence "Indicates a enforce-first-as node is configured."; + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not enforce the first AS for EBGP routes"; + } + } + container cluster-id { + description + "Enter cluster id for this neighbor"; + leaf route-reflector-cluster-id { + type uint32 { + range "1..4294967295" { + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + } + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "Route-Reflector Cluster-id in IP address format"; + } + } + leaf maximum-peers { + type uint32 { + range "1..4095" { + description + "Maximum number of peers"; + } + } + description + "Maximum dynamic neighbors"; + } + leaf idle-watch-time { + type uint32 { + range "30..1800" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for deletion of IDLE state dynamic peer"; + } + container egress-engineering { + presence "Indicates a egress-engineering node is configured."; + description + "Enable egress peer engineering for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit egress-engineering from the parent"; + } + } + container peer-sets { + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + list peer-set { + key "peer-set-id"; + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identity value of peer-set"; + } + } + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + } + } + } + container ao { + description + "Enable Authentiation Option"; + leaf key-chain-name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + must "not(../inheritance-disable) and (../include-tcp-options/enable or ../include-tcp-options/disable)"; + description + "Name of the key chain - maximum 32 characters"; + } + container include-tcp-options { + description + "Include/Exclude other TCP options in the header"; + container enable { + must "not(../disable or ../../inheritance-disable)"; + presence "Indicates a enable node is configured."; + description + "Include other TCP options in the header"; + } + container disable { + must "not(../enable or ../../inheritance-disable)"; + presence "Indicates a disable node is configured."; + description + "Exclude other TCP options in the header"; + } + container accept-ao-mismatch-connection { + must "../enable or ../disable"; + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if AO mismatched"; + } + } + container inheritance-disable { + must "not(../key-chain-name)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + } + } + container neighbor-groups { + description + "Specify a Neighbor-group"; + list neighbor-group { + key "neighbor-group-name"; + description + "Specify a Neighbor-group"; + leaf neighbor-group-name { + type xr:Cisco-ios-xr-string { + length "1..900" { + description + "Neighbor-group name"; + } + } + description + "Specify a Neighbor-group"; + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Paths from this neighbor is eligible for multipath"; + } + container use { + description + "Inherit configuration for this address-family from a group"; + leaf af-group { + type string { + length "1..1024" { + description + "AF group name"; + } + } + description + "Inherit configuration for this address-family from an af-group"; + } + } + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + container prefix { + description + "Advertise address prefix ORF capability to this neighbor"; + container receive { + must "not(../send or ../both or ../none)"; + presence "Indicates a receive node is configured."; + description + "Capability to RECEIVE the ORF from this neighbor"; + } + container send { + must "not(../receive or ../both or ../none)"; + presence "Indicates a send node is configured."; + description + "Capability to SEND the ORF to this neighbor"; + } + container both { + must "not(../receive or ../send or ../none)"; + presence "Indicates a both node is configured."; + description + "Capability to RECEIVE and SEND the ORF from/to this neighbor"; + } + container none { + must "not(../receive or ../send or ../both)"; + presence "Indicates a none node is configured."; + description + "No capability to RECEIVE or SEND the ORF from/to this neighbor"; + } + } + } + } + container default-originate { + presence "Indicates a default-originate node is configured."; + description + "Originate default route to this neighbor"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + container inheritance-disable { + must "not(../route-policy)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent default-originate being inherited from a parent group"; + } + } + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + description + "Maximum number of prefixes to accept from this peer"; + leaf prefix-limit { + type uint32 { + range "1..4294967295" { + description + "maximum no. of prefix limit"; + } + } + mandatory true; + description + "Maximum number of prefixes to accept from this peer"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Threshold value (%) at which to generate a warning msg"; + } + } + mandatory true; + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf restart { + type uint32 { + range "1..65535" { + description + "Time interval (min) after which peering session will be reestablished"; + } + } + description + "Restart time interval"; + } + container discard-extra-paths { + presence "Indicates a discard-extra-paths node is configured."; + description + "Discard extra paths when limit is exceeded"; + } + } + leaf optimal-route-reflection { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "Configure optiomal-route-reflection for this neighbor"; + } + container next-hop-self { + presence "Indicates a next-hop-self node is configured."; + description + "Disable the next hop calculation for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-self from being inherited from the parent"; + } + } + container next-hop-unchanged { + presence "Indicates a next-hop-unchanged node is configured."; + description + "Do not overwrite next hop before advertising to eBGP peers"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-unchanged from being inherited from the parent"; + } + } + container next-hop-unchanged-multipath { + presence "Indicates a next-hop-unchanged-multipath node is configured."; + description + "Do not overwrite nexthop before advertising multipaths"; + } + container slow-peer { + description + "configuration commands for slow-peer"; + container detection { + description + "Enable or disable slow peer detection."; + container enable { + must + "not(../disable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a enable node is configured."; + description + "Enable slow peer detection"; + } + container disable { + must + "not(../enable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + container split-update-group { + description + "Options to split update group"; + container static { + must "not(../dynamic) and (../../enable or ../../disable)"; + presence "Indicates a static node is configured."; + description + "Manually move this peer to slow update group"; + } + container dynamic { + must "not(../static) and (../../enable or ../../disable)"; + presence "Indicates a dynamic node is configured."; + description + "Move peer to slow update group on detection"; + container permanent { + must "not(../disable)"; + presence "Indicates a permanent node is configured."; + description + "Do not revert back peer on recovery"; + } + container disable { + must "not(../permanent)"; + presence "Indicates a disable node is configured."; + description + "Disable moving slow peer to updgrp"; + } + } + } + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + container route-policy { + description + "Apply route policy to neighbor"; + leaf in { + type xr:Route-policy-name; + description + "Apply route policy to inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routes"; + } + container retention { + description + "Apply retention policy to inbound routes"; + leaf route-policy-name { + type xr:Route-policy-name; + must "../retention-time"; + description + "Apply retention policy to inbound routes"; + } + leaf retention-time { + type uint32 { + range "0..4294967295" { + description + "Max time (seconds)"; + } + } + must "../route-policy-name"; + description + "Retention-time for this neighbor"; + } + } + } + container orf { + description + "Specify ORF and inbound filtering criteria"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify ORF and inbound filter"; + } + } + container remove-private-as { + presence "Indicates a remove-private-as node is configured."; + description + "Remove private AS number from outbound updates"; + container entire-aspath { + must "not(../inheritance-disable or ../internal)"; + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + must "not(../entire-aspath or ../internal)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + container internal { + must "not(../entire-aspath or ../inheritance-disable)"; + presence "Indicates a inheritance-disable node is configured."; + description + "remove only if all ASes in the path are private"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + } + container remove-private-as-inbound { + must "not(entire-aspath and inheritance-disable)"; + presence "Indicates a inbound node is configured."; + description + "Remove private AS number from inbound updates"; + container entire-aspath { + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + container enforce-multiple-labels { + presence "Indicates a enforce-multiple-labels node is configured."; + description + "Enforce support for multiple labels (requires manual session flap)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent enforce-multiple-labels from being inherited from the parent"; + } + } + container route-reflector-client { + presence "Indicates a route-reflector-client node is configured."; + description + "Configure a neighbor as Route Reflector client"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent route-reflector-client from being inherited from the parent"; + } + } + container accept-route-legacy-rt { + presence "Indicates a accept-route-legacy-rt node is configured."; + description + "Configure a neighbor to support legacy PE for RT-Constraint AF"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent accept-route-legacy-RT from being inherited from the parent"; + } + } + container send-community-ebgp { + presence "Indicates a send-community-ebgp node is configured."; + description + "Send community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-ebgp from being inherited from the parent"; + } + } + container send-community-gshut-ebgp { + presence "Indicates a send-community-gshut-ebgp node is configured."; + description + "Allow the g-shut community to be sent to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-gshut-ebgp from being inherited from the parent"; + } + } + container send-extended-community-ebgp { + presence "Indicates a send-extended-community-ebgp node is configured."; + description + "Send extended community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-extended-community-ebgp from being inherited from parent"; + } + } + container soft-reconfiguration { + description + "Per neighbor soft reconfiguration"; + container inbound { + presence "Indicates a inbound node is configured."; + description + "Allow inbound soft reconfiguration for this neighbor"; + container rpki-dropped-only { + must "not(../rpki-tested-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-dropped-only node is configured."; + description + "Use soft-reconfig, for paths dropped by route-policy which have RPKI validity state check"; + } + container rpki-tested-only { + must "not(../rpki-dropped-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-tested-only node is configured."; + description + "Use soft-reconfig for paths tested or dropped by route-policy which have RPKI validity state check"; + } + container always { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../inheritance-disable)"; + presence "Indicates a always node is configured."; + description + "Always use soft reconfig, even if route refresh is supported"; + } + container inheritance-disable { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../always)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent soft-reconfiguration from being inherited from the parent"; + } + } + } + container update { + description + "BGP out bound message"; + container out { + description + "BGP out bound message handling"; + container originator-loopcheck { + presence "Indicates a originator-loopcheck node is configured."; + description + "Loop check for same originator which sent the route"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable originator loop check"; + } + } + } + } + container advertise { + description + "Per neighbor advertisement options"; + container permanent-network { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a permanent-network node is configured."; + description + "Allow permanent networks for this neighbor"; + } + container local-labeled-route { + when + "../../af-name != 'vpnv4-unicast' and + ../../af-name != 'vpnv4-multicast' and + ../../af-name != 'vpnv4-flowspec' and + ../../af-name != 'vpnv6-flowspec' and + ../../af-name != 'vpnv6-multicast' and + ../../af-name != 'vpnv6-unicast' and + ../../af-name != 'l2vpn-evpn' and + ../../af-name != 'l2vpn-mspw' and + ../../af-name != 'l2vpn-vpls-vpws'"; + presence "Indicates a local-labeled-route node is configured."; + description + "Advertisement of routes with local-label"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + container vpnv4 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv4 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpn4 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise re-orignated and local routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated and local routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container vpnv6 { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "VPNv6 Address Family"; + container unicast { + description + "Address Family modifier"; + container enable { + presence "Indicates an enable node is configured."; + description + "Enable advertise vpnv6 unicast"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container imported-from-default-vrf { + description + "Default VRF imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of default VRF imported routes"; + } + } + container imported-from-vrf { + description + "VRF extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF extranet imported routes"; + } + } + container imported-from-bridgedomain { + description + "VRF EVPN extranet imported routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable advertisement of VRF EVPN extranet imported routes"; + } + } + } + } + container l2vpn { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + description + "L2VPN Address Family"; + container evpn { + when "../../../af-name = 'l2vpn-evpn'"; + presence "Indicates a evpn node is configured."; + description + "Address Family modifier"; + container re-originated { + presence "Indicates a re-originated node is configured."; + description + "Advertise Re-orignated routes only"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Advertise re-originated routes with stitching Route-Targets"; + } + } + } + container evpn-disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + container vpls-vpws { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + container mspw { + description + "Address Family modifier"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Advertisement of selected SAFI"; + } + } + } + } + container encapsulation-type { + when + "../af-name = 'ipv4-unicast' or + ../af-name = 'ipv6-unicast' or + ../af-name = 'vpnv4-unicast' or + ../af-name = 'vpnv6-unicast' or + ../af-name = 'l2vpn-evpn'"; + description + "Specify encapsulation type"; + container vxlan { + when + "../../af-name = 'vpnv4-unicast' or + ../../af-name = 'vpnv6-unicast' or + ../../af-name = 'l2vpn-evpn'"; + must "not(../srv6)"; + presence "Indicates a vxlan node is configured."; + description + "VxLAN encapsulation"; + } + container srv6 { + when "../../af-name != 'l2vpn-evpn'"; + must "not(../vxlan)"; + presence "Indicates a srv6 node is configured."; + description + "SRv6 encapsulation"; + } + } + container segment-routing { + when "../af-name = 'vpnv4-unicast'"; + description + "enable segment-routing srv6 version 4"; + container srv6 { + description + "srv6 version 4"; + container prefix-sid-type4 { + presence "Indicates a prefix-sid-type4 node is configured."; + description + "Enable prefix sid version 4 encoding"; + } + } + } + container import { + description + "Import options for neighbor address-family routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Import routes using stitching RTs"; + container re-originate { + presence "Indicates a re-originate node is configured."; + description + "Re-originate imported routes"; + container stitching-rt { + presence "Indicates a stitching-rt node is configured."; + description + "Reoriginate imported routes by attaching stitching RTs"; + } + } + } + } + leaf weight { + type uint32 { + range "0..65535" { + description + "default weight"; + } + } + description + "Set default weight for routes from this neighbor"; + } + container allowas-in { + presence "Indicates a allowas-in node is configured."; + description + "Allow as-path with my AS present in it"; + leaf number-of-occurences { + type uint32 { + range "1..10" { + description + "Number of occurences of AS number"; + } + } + description + "Number of occurences of AS number"; + } + } + container long-lived-graceful-restart { + description + "Enable long lived graceful restart support"; + container stale-time { + description + "Maximum time to wait before purging long-lived stale routes"; + leaf send { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Stale-time sent in LLGR Capability"; + } + leaf accept { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Maximum stale-time acceptable from neighbor"; + } + } + container capable { + presence "Indicates a capable node is configured."; + description + "Treat neighbor as LLGR capable"; + } + } + container as-override { + presence "Indicates a as-override node is configured."; + description + "Override matching AS-number while sending update"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent as-override from being inherited from the parent"; + } + } + container aigp { + presence "Indicates a aigp node is configured."; + description + "Enable AIGP for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable AIGP"; + } + } + container aigp-send { + description + "Copy AIGP"; + container cost-community { + must "(cost-community-id and poi) or disable"; + presence "Indicates a cost-community node is configured."; + description + "Send AIGP value in Cost Community"; + leaf cost-community-id { + type uint32 { + range "0..255" { + description + "Cost community ID"; + } + } + must "not(../disable)"; + description + "Cost community ID"; + } + container poi { + must "(igp-cost or pre-bestpath) and not(igp-cost and pre-bestpath)"; + presence "Indicates a poi node is configured."; + description + "Point of insertion for bestpath calculation"; + container igp-cost { + presence "Indicates a igp-cost node is configured."; + description + "Cost community is used after IGP distance to next hop"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + container pre-bestpath { + presence "Indicates a pre-bestpath node is configured."; + description + "Cost community is first step in best path calculation"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + } + container disable { + must "not(../cost-community-id)"; + presence "Indicates a disable node is configured."; + description + "Disable aigp send cost-community"; + } + } + container med { + presence "Indicates a med node is configured."; + description + "Send AIGP value in MED"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable aigp send med"; + } + } + } + container validation { + when "../af-name = 'ipv4-flowspec' or ../af-name = 'ipv6-flowspec'"; + presence "Indicates a validation node is configured."; + description + "Flowspec Validation for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Validation"; + } + container redirect { + description + "Flowspec Redirect nexthop Validation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Redirect nexthop Validation"; + } + } + } + container send-multicast-attributes { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv4-labeled-unicast' or ../af-name = 'ipv6-labeled-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-multicast' or ../af-name = 'ipv4-mvpn' or ../af-name = 'ipv6-mvpn'"; + presence "Indicates a send-multicast-attributes node is configured."; + description + "Send multicast attributes to this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable send multicast attribute"; + } + } + container signalling { + description + "Signalling protocols to disable, BGP or LDP"; + container bgp { + description + "Select BGP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + container ldp { + description + "Select LDP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + } + container accept-own { + presence "Indicates a accept-own node is configured."; + description + "Handle self-originated routes with Accept-Own community"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent item being inherited from a parent group"; + } + } + container cluster-id { + description + "Allow routes with first cluster-id in list is same as the router's cluster id"; + container allow-equal { + presence "Indicates a allow-equal node is configured."; + description + "Accept routes with first cluster-id in list is same as the router's cluster id"; + container disable { + presence "Indicates a allow-equal node is configured."; + description + "Prevent the configuration from being inherited."; + } + } + } + container site-of-origin { + description + "Site-of-Origin extended community associated with the neighbor"; + container two-byte-as { + must "not(../four-byte-as or ../ip-address)"; + presence "Indicates a two-byte-as node is configured."; + description + "two-byte-as Site-of-Origin"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "bgp as-number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container four-byte-as { + must "not(../two-byte-as or ../ip-address)"; + presence "Indicates a four-byte-as node is configured."; + description + "four-byte-as Site-of-Origin"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "4-byte AS number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container ip-address { + must "not(../two-byte-as or ../four-byte-as)"; + presence "Indicates a ip-address node is configured."; + description + "configure this node"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "configure this node"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + mandatory true; + description + "IPv4Address:index (hex or decimal format)"; + } + } + } + } + } + container graceful-maintenance { + presence "Indicates a graceful-maintenance node is configured."; + description + "BGP Graceful Maintenance mode configuration."; + container local-preference { + must "local-preference-value or inheritance-disable"; + presence "Indicates a local-preference node is configured."; + description + "local preference with which to advertise routes to ibgps. Default=No Touch"; + leaf local-preference-value { + type uint32 { + range "0..4294967295" { + description + "Range of values for Local Preference"; + } + } + description + "Range of values for Local Preference"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local preference from being inherited from the parent"; + } + } + container as-prepends { + must "number-of-as-prepends or inheritance-disable"; + presence "Indicates a as-prepends node is configured."; + description + "Number of times to prepend the local AS number to the AS poutes. Default=0"; + leaf number-of-as-prepends { + type uint32 { + range "0..6" { + description + "Range of number of AS prepends"; + } + } + description + "Range of number of AS prepends"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent AS prepends from being inherited from the parent"; + } + } + container activate { + presence "Indicates a activate node is configured."; + description + "Routes will be announced with the graceful maintenance + attrhile activated either here or under router + bgp ation. While activated, all routes to this + neigl be announced with the attributes + confere and all routes from this neighbor will + be a to other neighbors with the graceful + mainattributes configured under those + neighe g-shut community will be announced + regaf the other attributes configured here. To + alloshut community to be announced to ebgp + neighe send-community-gshut-ebgp configuration + is aired. Note: changes to the attributes will + not ect while activated."; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent activate from being inherited from the parent"; + } + } + } + container update { + description + "BGP Update configuration"; + container in { + description + "Inbound update message handling"; + container filtering { + presence "Indicates a filtering node is configured."; + description + "Inbound update message filtering"; + container message { + description + "Filtered update messages"; + leaf buffers { + type uint32 { + range "0..25" { + description + "Number of buffers to store filtered update messages (resizing does not take effect after filtering action has started)"; + } + } + must "not(../non-circular)"; + description + "Filtered update message buffers"; + } + container non-circular { + must "not(../buffers)"; + presence "Indicates a non-circular node is configured."; + description + "Message buffer list is not circular"; + } + } + container logging { + description + "Update filtering syslog message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable update filtering syslog message"; + } + } + container attribute-filter { + description + "Attribute-filter configuration"; + leaf group { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Attribute-filter group name"; + } + } + description + "Attribute-filter group configuration"; + } + } + } + } + } + leaf remote-as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf remote-as-list { + type string { + length "1..1024" { + description + "as-list name"; + } + } + description + "Remote as-list configuration"; + } + container use { + description + "Inherit configuration from a group"; + leaf session-group { + type string { + length "1..1024" { + description + "Session group name"; + } + } + description + "Inherit address-family independent config from a session-group"; + } + leaf neighbor-group { + type string { + length "1..1024" { + description + "Neighbor-group name"; + } + } + description + "Inherit configuration from a neighbor-group"; + } + } + container advertisement-interval { + presence "Indicates a advertisement-interval node is configured."; + description + "Minimum interval between sending BGP routing updates"; + leaf time-in-seconds { + type uint32 { + range "0..600" { + description + "time in seconds"; + } + } + mandatory true; + description + "Minimum interval between sending BGP routing updates"; + } + leaf time-in-milliseconds { + type uint32 { + range "0..999" { + description + "time in milliseconds"; + } + } + description + "time in milliseconds"; + } + } + leaf description { + type string { + length "1..1024" { + description + "Up to 80 characters describing this neighbor"; + } + } + description + "Neighbor specific description"; + } + container ignore-connected-check { + presence "Indicates a ignore-connected-check node is configured."; + description + "Bypass the directly connected nexthop check for single-hop eBGP peering"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ignore-connected-check from being inherited from the parent"; + } + } + container internal-vpn-client { + presence "Indicates a internal-vpn-client node is configured."; + description + "Preserve iBGP CE neighbor path in ATTR_SET across VPN core"; + } + container ebgp-multihop { + presence "Indicates a ebgp-multihop node is configured."; + description + "Allow EBGP neighbors not on directly connected networks"; + leaf maximum-hop-count { + type uint32 { + range "1..255" { + description + "maximum hop count"; + } + } + mandatory true; + description + "maximum hop count"; + } + container mpls { + presence "Indicates a mpls node is configured."; + description + "Disable BGP MPLS forwarding"; + } + } + container tcp { + description + "TCP session configuration commands"; + container mss { + must "initial-mss or inheritance-disable"; + presence "Indicates a mss node is configured."; + description + "Maximum Segment Size"; + leaf initial-mss { + type uint32 { + range "68..10000" { + description + "TCP initial maximum segment size"; + } + } + description + "TCP initial maximum segment size"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent tcp mss from being inherited from the parent"; + } + } + } + container bmp-activate { + description + "Enable BMP logging for this neighbor"; + container servers { + description + "Enable BMP connection to particular server"; + list server { + key "server-id"; + description + "Enable BMP connection to particular server"; + leaf server-id { + type uint32 { + range "1..8" { + description + "Enable BMP connection to particular server"; + } + } + description + "Enable BMP connection to particular server"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and inheritance-disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container inheritance-disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container keychain { + must "name or inheritance-disable"; + presence "Indicates a keychain node is configured."; + description + "Set keychain based authentication"; + leaf name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Name of the key chain - maximum 32 characters"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container local-as { + must "as-number or inheritance-disable"; + presence "Indicates a local-as node is configured."; + description + "Specify local AS number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container no-prepend { + presence "Indicates a no-prepend node is configured."; + description + "Do not prepend local AS to announcements from this neighbor"; + container replace-as { + presence "Indicates a replace-as node is configured."; + description + "Prepend only local AS to announcements to this neighbor"; + container dual-as { + presence "Indicates a dual-as node is configured."; + description + "Dual-AS mode"; + } + } + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local AS from being inherited from parent"; + } + } + container password { + must "encrypted or inheritance-disable"; + presence "Indicates a password node is configured."; + description + "Set a password"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent password from being inherited from parent"; + } + } + container receive-buffer-size { + presence "Indicates a receive-buffer-size node is configured."; + description + "Set socket and BGP receive buffer size"; + leaf receive-socket-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + description + "BGP Read buffer size in bytes"; + } + } + container send-buffer-size { + presence "Indicates a send-buffer-size node is configured."; + description + "Set socket and BGP send buffer size"; + leaf send-socket-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + description + "BGP Write buffer size in bytes"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Administratively shut down this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent this neighbor being shutdown, even if its parent is"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "BGP per neighbor timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + container local { + description + "Configure local parameter"; + container address { + must "ip-address or inheritance-disable"; + presence "Indicates a address node is configured."; + description + "use configured local address for bgp peering"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv4 address"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local address from being inherited from parent"; + } + } + } + container log { + description + "Logging update messages per neighbor"; + container message { + description + "Logging update/notification messages per neighbor"; + container in { + description + "Inbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + container out { + description + "Outbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable outbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + } + } + leaf update-source { + type xr:Interface-name; + description + "Source of routing updates"; + } + container local-address-subnet { + description + "Local address subnet of routing updates"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address and mask length"; + } + leaf mask-length { + type uint32 { + range "0..128" { + description + "IP address mask length"; + } + } + description + "IP address and mask length"; + } + } + container dmz-link-bandwidth { + presence "Indicates a dmz-link-bandwidth node is configured."; + description + "Propagate the DMZ link bandwidth"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent dmz-link-bandwidth from being inherited from the parent"; + } + } + container ebgp-recv-extcommunity-dmz { + presence "Indicates a ebgp-recv-extcommunity-dmz node is configured."; + description + "Receive extcommunity dmz link bandwidth from ebgp neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-community-dmz from being inherited from parent"; + } + } + container ebgp-send-extcommunity-dmz { + must "not(cumulative and inheritance-disable)"; + presence "Indicates a ebgp-send-extcommunity-dmz node is configured."; + description + "Send extended community dmz link bandwidth to ebgp neighbor"; + container cumulative { + presence "Indicates a cumulative node is configured."; + description + "Send cumulative community dmz link bandwidth of all multipaths to ebgp neighbor"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-extcommunity-dmz from being inherited from parent"; + } + } + container ttl-security { + presence "Indicates a ttl-security node is configured."; + description + "Enable EBGP TTL security"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ttl-security from being inherited from the parent"; + } + } + container session-open-mode { + description + "Establish BGP session using this TCP open mode"; + container active-only { + must "not(../passive-only or ../both)"; + presence "Indicates a active-only node is configured."; + description + "Active only"; + } + container passive-only { + must "not(../active-only or ../both)"; + presence "Indicates a passive-only node is configured."; + description + "Passive only"; + } + container both { + must "not(../active-only or ../passive-only)"; + presence "Indicates a both node is configured."; + description + "Prevent session-open-mode being inherited from the parent"; + } + } + leaf dscp { + type enumeration { + enum "default" { + value 0; + description + "Set packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Set packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Set packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Set packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Set packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Set packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Set packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Set packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Set packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Set packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Set packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Set packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Set packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Set packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Set packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Set packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Set packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Set packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Set packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Set packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Set packets with CS7(precedence 7) dscp (111000)"; + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Set packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Set packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Set packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Set packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Set packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Set packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Set packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Set packets with network control precedence (7)"; + } + } + description + "Set precedence"; + } + container capability { + description + "Advertise capability to the peer"; + container suppress { + description + "Suppress advertising capability to the peer "; + container four-byte-as { + presence "Indicates a four-byte-as node is configured."; + description + "4-byte-as capability"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent capability suppress 4-type-as being inherited from the parent"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "All capabilities"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + container extended-nexthop-encoding { + presence "Indicates a extended-nexthop-encoding node is configured."; + description + "Extended-nexthop-encoding capabilities (IETF RFC 5549)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + container additional-paths { + description + "Additional paths capability"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Send capability"; + } + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Receive capability"; + } + } + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Enable graceful restart support for this neighbor"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable graceful restart support for this neighbor"; + } + leaf restart-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Restart time advertised to the neighbor"; + } + leaf stalepath-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for restart of GR capable peer"; + } + } + container enforce-first-as { + presence "Indicates a enforce-first-as node is configured."; + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not enforce the first AS for EBGP routes"; + } + } + container cluster-id { + description + "Enter cluster id for this neighbor"; + leaf route-reflector-cluster-id { + type uint32 { + range "1..4294967295" { + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + } + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + } + leaf maximum-peers { + type uint32 { + range "1..4095" { + description + "Maximum number of peers"; + } + } + description + "Maximum dynamic neighbors"; + } + leaf idle-watch-time { + type uint32 { + range "30..1800" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for deletion of IDLE state dynamic peer"; + } + container egress-engineering { + presence "Indicates a egress-engineering node is configured."; + description + "Enable egress peer engineering for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit egress-engineering from the parent"; + } + } + container peer-sets { + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + list peer-set { + key "peer-set-id"; + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identity value of peer-set"; + } + } + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + } + } + } + container ao { + description + "Enable Authentiation Option"; + leaf key-chain-name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + must "not(../inheritance-disable) and (../include-tcp-options/enable or ../include-tcp-options/disable)"; + description + "Name of the key chain - maximum 32 characters"; + } + container include-tcp-options { + description + "Include/Exclude other TCP options in the header"; + container enable { + must "not(../disable or ../../inheritance-disable)"; + presence "Indicates a enable node is configured."; + description + "Include other TCP options in the header"; + } + container disable { + must "not(../enable or ../../inheritance-disable)"; + presence "Indicates a disable node is configured."; + description + "Exclude other TCP options in the header"; + } + container accept-ao-mismatch-connection { + must "../enable or ../disable"; + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if AO mismatched"; + } + } + container inheritance-disable { + must "not(../key-chain-name)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + } + } + container mpls { + description + "Enable mpls parameters"; + container activate { + description + "Enter mpls interfaces in BGP mpls activate mode"; + container interfaces { + description + "Interface to enable mpls"; + list interface { + key "interface-name"; + description + "Interface to enable mpls"; + leaf interface-name { + type xr:Interface-name; + description + "Interface to enable mpls"; + } + } + } + } + } + container as-league { + presence "Indicates a as-league node is configured."; + description + "AS League command mode"; + container peers { + description + "AS League peers mode"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + } + } + } + container attribute-filter { + description + "Attribute-filter configuration"; + container groups { + description + "Attribute-filter group command mode"; + list group { + key "group-name"; + description + "Attribute-filter group command mode"; + leaf group-name { + type string { + length "1..1024" { + description + "Attribute-filter group name"; + } + } + description + "Attribute-filter group command mode"; + } + container attributes { + description + "Attribute code"; + container ranges { + description + "Attribute code in range"; + list range { + must "discard or treat-as-withdraw"; + key "start end"; + description + "Attribute code in range"; + leaf start { + type uint32 { + range "4..13 | 16..255"; + } + description + "Attribute code range start"; + } + leaf end { + type uint32 { + range "5..13 | 17..255"; + } + description + "Attribute code range end"; + } + container discard { + presence "Indicates a discard node is configured."; + description + "Discard this attribute"; + } + container treat-as-withdraw { + presence "Indicates a treat-as-withdraw node is configured."; + description + "Treat the update message as a Withdraw"; + } + } + } + list attribute { + must "discard or treat-as-withdraw"; + key "attribute-code"; + description + "Attribute code"; + leaf attribute-code { + type Bgp-attribute-code; + description + "Attribute code. Also to be set as range start"; + } + container discard { + presence "Indicates a discard node is configured."; + description + "Discard this attribute"; + } + container treat-as-withdraw { + presence "Indicates a treat-as-withdraw node is configured."; + description + "Treat the update message as a Withdraw"; + } + } + container unrecognized { + must "discard or treat-as-withdraw"; + presence "Indicates a unrecognized node is configured."; + description + "All unrecognized attributes"; + container discard { + presence "Indicates a discard node is configured."; + description + "Discard this attribute"; + } + container treat-as-withdraw { + presence "Indicates a treat-as-withdraw node is configured."; + description + "Treat the update message as a Withdraw"; + } + } + } + } + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + } + } + leaf default-metric { + type uint32 { + range "1..4294967295" { + description + "Default metric"; + } + } + description + "default redistributed metric"; + } + container socket { + description + "set socket parameters"; + leaf send-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + description + "socket send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + must "../send-buffer-size"; + description + "BGP Write buffer size in bytes"; + } + leaf receive-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + description + "socket receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + must "../receive-buffer-size"; + description + "BGP Read buffer size in bytes"; + } + } + container nexthop { + description + "Configure next-hop related items"; + container mpls { + description + "Configure next-hop related items for mpls"; + container forwarding { + description + "Enable next hop mpls forwarding path"; + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Enable mpls forwarding path for ibgp learnt nexthops"; + } + } + } + container resolution { + description + "Configure next-hop related items for resolution"; + container allow-default { + presence "Indicates a allow-default node is configured."; + description + "Enable nexthops resolution using default route"; + } + } + container validation { + description + "Configure next-hop reachability validation"; + container color-extcomm { + description + "Configure next-hop reachability validation for color-extcomm path"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable next-hop reachability validation for color-extcomm path"; + } + container sr-policy { + presence "Indicates a sr-policy node is configured."; + description + "Enable BGP next-hop reachability validation by SR Policy for color-extcomm paths"; + } + } + } + container srte-metric { + description + "Configure BGP next-hop metric inheritance from SR policy"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable BGP next-hop metric inheritance from SR policy"; + } + } + } + container slow-peer { + description + "Disable slow peer detection"; + container detection { + description + "Disable slow peer detection"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + } + } + container timers { + description + "Adjust routing timers"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "BGP timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "Enable non-stop-routing support for all neighbors"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable non-stop-routing support for all neighbors"; + } + } + container ibgp { + description + "Set options for iBGP peers"; + container policy { + description + "Set options for route-policy"; + container out { + description + "Set options for outbound policy"; + container enforce-modifications { + presence "Indicates a enforce-modifications node is configured."; + description + "Allow policy to modify all attributes"; + } + } + } + } + container mvpn { + presence "Indicates a mvpn node is configured."; + description + "Connect to PIM/PIM6"; + } + container openconfig { + description + "OpenConfig network-instance model related knob"; + container rib-telemetry { + presence "Indicates a rib-telemetry node is configured."; + description + "Telemetry streaming enabled for OC RIB model. Also, triggers the setting up of new data structures per latest OCNI model"; + } + } + container graceful-maintenance { + description + "Announce routes with the g-shut community and other + attrs configured under the neighbors. This + willeighbors to de-prefer routes from this + routhoose alternates. This allows the router + to bt in or out of service gracefully."; + container activate { + presence "Indicates a activate node is configured."; + description + "All neighbors with graceful-maintenance config"; + container all-neighbors { + presence "Indicates a all-neighbors node is configured."; + description + "Also neighbors without graceful-maintenance config"; + } + container retain-routes { + presence "Indicates a retain-routes node is configured."; + description + "Keep BGP routes in RIB once BGP process stops"; + } + container interfaces { + description + "Enable graceful-maintenance on all directly connected ebgp neighbors whose session is going over this interface"; + list interface { + key "interface-name"; + description + "Enable graceful-maintenance on all directly connected ebgp neighbors whose session is going over this interface"; + leaf interface-name { + type xr:Interface-name; + description + "Interface to enable graceful-maintenance"; + } + } + } + container locations { + description + "Enable graceful-maintenance on all directly connected ebgp neighbors whose session is going over this line card location"; + list location { + key "location-name"; + description + "Enable graceful-maintenance on all directly connected ebgp neighbors whose session is going over this line card location"; + leaf location-name { + type xr:Node-id; + description + "Line card location to enable graceful-maintenance"; + } + } + } + } + } + container optimal-route-reflection { + description + "Configure optimal-route-reflection group"; + container ipv4 { + description + "IPv4 ORR group"; + list orr-group { + key "orr-group-name"; + description + "ORR group name - maximum 32 characters"; + leaf orr-group-name { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + leaf primary-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 primary address"; + } + leaf secondary-address { + type inet:ipv4-address-no-zone; + description + "IPv4 secondary address"; + } + leaf tertiary-address { + type inet:ipv4-address-no-zone; + must "../secondary-address"; + description + "IPv4 tertiary address"; + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "Flexiable Algorithm value"; + } + } + description + "Flexible Algorithm"; + } + } + } + container ipv6 { + description + "IPv6 ORR group"; + list orr-group { + key "orr-group-name"; + description + "ORR group name - maximum 32 characters"; + leaf orr-group-name { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + leaf primary-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IPv6 primary address"; + } + leaf secondary-address { + type inet:ipv6-address-no-zone; + description + "IPv6 secondary address"; + } + leaf tertiary-address { + type inet:ipv6-address-no-zone; + must "../secondary-address"; + description + "IPv6 tertiary address"; + } + } + } + } + container bgp { + description + "BGP commands"; + container as-path-loopcheck { + presence "Indicates a as-path-loopcheck node is configured."; + description + "Enable AS-path loop checking for iBGP peers"; + } + container auto-policy-soft-reset { + description + "Enable automatic soft peer reset on policy reconfiguration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable automatic soft peer reset on policy reconfiguration"; + } + } + container bestpath { + description + "Change default route selection criteria"; + container as-path { + description + "AS path length"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore as-path length"; + } + container multipath-relax { + presence "Indicates a multipath-relax node is configured."; + description + "Relax as-path check for multipath selection"; + } + } + container cost-community { + description + "Cost community"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore cost-community comparison"; + } + } + container compare-routerid { + presence "Indicates a compare-routerid node is configured."; + description + "Compare router-id for identical EBGP paths"; + } + container aigp { + description + "AIGP attribute"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore AIGP attribute"; + } + } + container igp-metric { + description + "IGP metric values"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore IGP metric during path comparison"; + } + container sr-policy { + presence "Indicates a sr-policy node is configured."; + description + "Use next-hop admin/metric from SR policy at Next Hop metric comparison stage"; + } + } + container med { + description + "MED related"; + container always { + presence "Indicates a always node is configured."; + description + "Allow comparing MED from different neighbors"; + } + container confed { + presence "Indicates a confed node is configured."; + description + "Compare MED among confederation paths"; + } + container missing-as-worst { + presence "Indicates a missing-as-worst node is configured."; + description + "Treat missing MED as the least preferred one"; + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container use { + description + "BGP origin-AS knobs"; + container validity { + presence "Indicates a validity node is configured."; + description + "BGP bestpath selection will use origin-AS validity"; + } + } + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + container sr-policy { + description + "Paths over SR-policy"; + container prefer { + presence "Indicates a prefer node is configured."; + description + "Consider only paths over SR Policy for bestpath selection, eBGP no-color eligible"; + } + container force { + must "not(../prefer)"; + presence "Indicates a force node is configured."; + description + "Consider only paths over SR Policy for bestpath selection, eBGP no-color ineligible"; + } + } + } + container cluster-id { + description + "Configure Route-Reflector Cluster-id"; + leaf route-reflector-cluster-id { + type uint32 { + range "1..4294967295" { + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + } + description + "Route-Reflector Cluster-id as 32 bit quantity"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + } + container confederation { + description + "AS confederation parameters"; + container identifier { + description + "Set routing domain confederation AS"; + leaf as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + } + list peers { + key "peer-as-number"; + description + "Enter peer ASs in BGP confederation mode"; + leaf peer-as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + } + } + container default { + description + "Configure default value"; + leaf local-preference { + type uint32 { + range "0..4294967295" { + description + "Higher = more preferred"; + } + } + description + "Local preference"; + } + } + container enforce-first-as { + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + container fast-external-fallover { + description + "Immediately reset session if a link to a directly connected external peer goes down"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Enable Graceful Restart support"; + leaf purge-time { + type uint32 { + range "0..6000" { + description + "Max time (seconds)"; + } + } + description + "Time before stale routes are purged."; + } + leaf restart-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Restart time advertised to neighbors"; + } + leaf stalepath-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for restart of GR capable peers"; + } + container graceful-reset { + presence "Indicates a graceful-reset node is configured."; + description + "Reset gracefully if configuration change forces a peer reset"; + } + container retain-nbr-routes { + description + "Retain neighbor routes when neighbor session resets if neighbor also has graceful restart disabled"; + container disable { + presence "Indicates a disable node is configured."; + description + "do not retain neighbor routes"; + } + } + } + container read-only { + presence "Indicates a read-only node is configured."; + description + "Allow duplicate table config and disable update generation"; + } + container install { + description + "Install diversion path to RIB/CEF"; + container diversion { + presence "Indicates a diversion node is configured."; + description + "Install diversion path to RIB/CEF"; + } + } + container log { + description + "Log bgp info"; + container neighbor { + description + "Log neighbor state info"; + container changes { + description + "Log neighbor up/down and reset reason"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable logging"; + } + container detail { + presence "Indicates a detail node is configured."; + description + "Include extra detail in change messages"; + } + } + } + container message { + description + "Log neighbor inbound/outbound message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound and outbound message logging for all neighbors under the vrf"; + } + } + } + container multipath { + description + "Change multipath selection criteria"; + container as-path { + description + "AS path"; + container ignore { + description + "Ignore as-path related check for multipath selection"; + container exact-match { + presence "Indicates a exact-match node is configured."; + description + "Ignore as-path for multipath selection"; + } + container onwards { + presence "Indicates a onwards node is configured."; + description + "Ignore everything onwards as-path for multipath selection"; + } + } + } + } + container redistribute-internal { + presence "Indicates a redistribute-internal node is configured."; + description + "Allow redistribution of iBGP into IGPs (dangerous)"; + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Configure Router-id"; + } + container unsafe-ebgp-policy { + presence "Indicates a unsafe-ebgp-policy node is configured."; + description + "Make eBGP neighbors with no policy pass all routes"; + } + container update-delay { + presence "Indicates a update-delay node is configured."; + description + "Set the max initial delay for sending updates"; + leaf delay { + type uint32 { + range "0..3600" { + description + "Delay value (seconds)"; + } + } + mandatory true; + description + "Set the max initial delay for sending updates"; + } + container always { + presence "Indicates a always node is configured."; + description + "Keepalive trigger bestpath is disabled and delay is enforced"; + } + } + leaf scan-time { + type uint32 { + range "5..3600" { + description + "Scanner interval (seconds)"; + } + } + description + "Configure background scanner interval for generic scanner"; + } + container maximum { + description + "Maximum number that can be configured"; + leaf neighbor { + type uint32 { + range "1..15000" { + description + "Maximum number of neighbors"; + } + } + description + "Maximum number of neighbors that can be configured"; + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container signal { + description + "Signal origin-AS validity towards peers"; + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Signal origin-AS validity towards iBGP peers"; + } + } + container time { + description + "Time to wait between an RPKI update and a BGP table walk"; + container off { + presence "Indicates a off node is configured."; + description + "No automatic prefix validation after an RPKI update"; + } + leaf prefix-validation-time { + type uint32 { + range "5..60" { + description + "Prefix validation time (in seconds)"; + } + } + description + "Prefix validation time (in seconds)"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + } + container update { + description + "BGP Update configuration"; + container out { + description + "BGP Update generation configuration"; + container logging { + presence "Indicates a logging node is configured."; + description + "Enable logging of update generation events"; + } + } + leaf limit { + type uint32 { + range "16..2048" { + description + "Update limit in MegaBytes(MB); default is 512 MB"; + } + } + description + "Upper bound on transient memory usage for update generation"; + } + container in { + description + "Inbound update message handling"; + container error-handling { + description + "Inbound update message error handling"; + container basic { + description + "Inbound update message basic error handling"; + container ebgp { + description + "Inbound update message basic error handling for EBGP neighbors"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound update message basic error handling for EBGP neighbors"; + } + } + container ibgp { + description + "Inbound update message basic error handling for IBGP neighbors"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound update message basic error handling for IBGP neighbors"; + } + } + } + container extended { + description + "Inbound update message extended error handling"; + container ebgp { + presence "Indicates a ebgp node is configured."; + description + "Inbound update message extended error handling for EBGP neighbors"; + } + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Inbound update message extended error handling for IBGP neighbors"; + } + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container as-lists { + description + "List of AS numbers"; + list as-list { + key "as-list-name"; + description + "List of AS numbers"; + leaf as-list-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "as-list name"; + } + } + description + "List of AS numbers"; + } + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + } + } + } + container adjacencies { + description + "Submode to configure adjacencies in an EPE set"; + container ip-addresses { + description + "Firsthop address of the adjacency"; + list ip-address { + key "address"; + description + "Firsthop address of the adjacency"; + leaf address { + type inet:ip-address-no-zone; + description + "Firsthop address of the adjacency"; + } + container peer-sets { + description + "Assign this adjacency to a peer-set used for egress peer engineering"; + list peer-set { + key "peer-set-id"; + description + "Assign this adjacency to a peer-set used for egress peer engineering"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identity value of peer-set"; + } + } + description + "Assign this adjacency to a peer-set used for egress peer engineering"; + } + } + } + container adjacency-sid { + description + "Configure SID value for this Adjacency EPE object"; + leaf index { + type uint32 { + range "0..1033575" { + description + "Segment Index to be assigned to this adjacency. The index will be off SRLB + Notes the maximum index configurable in dynaminc SRLB range. + Sincan be a dynamic range, actual maximum index can vary. + So pok at the currently configured SRLB range"; + } + } + description + "Segment Index value to assign. This will be off SRLB range"; + } + } + } + } + } + container segment-routing { + description + "Enter Segment-Routing Mode"; + container srv6 { + presence "Indicates srv6 node is configured"; + description + "Configure srv6"; + leaf locator { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "locator name"; + } + } + description + "Configure locator name"; + } + } + } + container vrfs { + description + "Specify a vrf name"; + list vrf { + key "vrf-name"; + description + "Specify a vrf name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name - maximum length 32 characters"; + } + } + description + "Specify a vrf name"; + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container distance { + description + "Define an administrative distance"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "BGP distance"; + leaf external-routes { + type uint32 { + range "1..255" { + description + "Distance for routes external to the AS"; + } + } + mandatory true; + description + "BGP distance"; + } + leaf internal-routes { + type uint32 { + range "1..255" { + description + "Distance for routes internal to the AS"; + } + } + mandatory true; + description + "Distance for routes internal to the AS"; + } + leaf local-routes { + type uint32 { + range "1..255" { + description + "Distance for local routes"; + } + } + mandatory true; + description + "Distance for local routes"; + } + } + } + container allow { + description + "Allow sending default originate route to VPN neighbor"; + container vpn { + description + "Originate default route to VPN neighbor"; + container default-originate { + presence "Indicates a default-originate node is configured."; + description + "Originate default route to VPN neighbor"; + } + } + } + container optimal-route-reflection { + when "../af-name != 'ipv4-mvpn' and ../af-name != 'ipv6-mvpn' and ../af-name != 'ipv4-flowspec' and ../af-name != 'ipv6-flowspec' and ../af-name != 'ipv4-sr-policy' and ../af-name != 'ipv6-sr-policy'"; + description + "Configure optimal-route-reflection group"; + list orr-group { + key "orr-group-name"; + description + "ORR group name - maximum 32 characters"; + leaf orr-group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + leaf primary-address { + type inet:ip-address-no-zone; + mandatory true; + description + "IPv4 primary address"; + } + leaf secondary-address { + type inet:ip-address-no-zone; + description + "IPv4 secondary address"; + } + leaf tertiary-address { + type inet:ip-address-no-zone; + must "../secondary-address"; + description + "IPv4 tertiary address"; + } + } + list apply { + key "orr-group-name"; + description + "Apply optimal-route-reflection group"; + leaf orr-group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + } + container fallback-default-bestpath { + presence "Indicates an ebgp node is configured."; + description + "In case none of the paths are accessible in + an ORR table, fallback to default table bestpath + as ORR bestpath"; + } + } + container maximum-paths { + when "../af-name != 'vpn4-unicast' and ../af-name != 'vpnv4-multicast' and ../af-name != 'vpnv6-unicast' and ../af-name != 'vpnv6-multicast' and ../af-name != 'vpnv4-mdt' and ../af-name != 'l2vpn-vpls-vpws' and ../af-name != 'l2vpn-evpn' and ../af-name != 'l2vpn-mspw' and ../af-name != 'ipv4-mvpn' and ../af-name != 'ipv6-mvpn' and ../af-name != 'ipv4-tunnel' and ../af-name != 'ipv4-rt-filter' and ../af-name != 'link-state-link-state' and ../af-name != 'ipv4-flowspec' and ../af-name != 'ipv6-flowspec' and ../af-name != 'vpnv4-flowspec' and ../af-name != 'vpnv6-flowspec' and ../af-name != 'ipv4-sr-policy' and ../af-name != 'ipv6-sr-policy'"; + description + "Forward packets over multiple paths"; + container ebgp { + presence "Indicates an ebgp node is configured."; + description + "eBGP-multipath"; + leaf multipath { + type uint32 { + range "2..128" { + description + "Number of paths (limit includes backup path)"; + } + } + mandatory true; + description + "eBGP-multipath"; + } + container selective { + presence "Indicates a selective node is configured."; + description + "Allow multipaths only from marked neighbors"; + } + container order { + description + "Order candidate multipaths for selection as per configured number"; + container igp-metric { + presence "Indicates an igp-metric node is configured."; + description + "Order by IGP metric "; + } + } + } + container eibgp { + presence "Indicates an eibgp node is configured."; + description + "eiBGP-multipath"; + leaf multipath { + type uint32 { + range "2..128" { + description + "Number of paths (limit includes backup path)"; + } + } + mandatory true; + description + "eiBGP-multipath"; + } + container selective { + presence "Indicates a selective node is configured."; + description + "Allow multipaths only from marked neighbors"; + } + container order { + description + "Order candidate multipaths for selection as per configured number"; + container igp-metric { + presence "Indicates an igp-metric node is configured."; + description + "Order by IGP metric "; + } + } + } + container ibgp { + presence "Indicates an ibgp node is configured."; + description + "iBGP-multipath"; + leaf multipath { + type uint32 { + range "2..128" { + description + "Number of paths (limit includes backup path)"; + } + } + mandatory true; + description + "iBGP-multipath"; + } + container selective { + presence "Indicates a selective node is configured."; + description + "Allow multipaths only from marked neighbors"; + } + container unequal-cost { + presence "Indicates an unequal-cost node is configured."; + description + "Allow multipaths to have different BGP nexthop IGP metrics "; + container deterministic { + presence "Indicates a deterministic node is configured."; + description + "Deterministic Multipath selection primarily on IGP metric order"; + } + } + container order { + description + "Order candidate multipaths for selection as per configured number"; + container igp-metric { + presence "Indicates an igp-metric node is configured."; + description + "Order by IGP metric "; + } + } + } + } + container additional-paths { + when "../af-name != 'ipv4-multicast' and ../af-name != 'ipv6-multicast' and ../af-name != 'ipv4-mdt' and ../af-name != 'l2vpn-vpls-vpws' and ../af-name != 'ipv4-tunnel'"; + description + "Additional paths configuration"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Send capability"; + } + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Receive capability"; + } + } + container selection { + description + "Additional paths selection"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable additional paths selection"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route-policy for additional paths selection"; + } + } + } + container route-target { + description + "Route target RIB installation"; + container download { + presence "Indicates a download node is configured."; + description + "Install route-targets in RIB"; + } + } + container enable { + description + "Enable commands for address-family"; + container label-mode { + presence "Indicates a label-mode node is configured."; + description + "enable label allocation for address-family. + Use only if dual mode srv6 and mpls is needed. + This will result in allocation of both, + label and sid for prefixes in the vrf."; + } + } + container advertise { + description + "Advertise BGP path"; + container best-external { + presence "Indicates a best-external node is configured."; + description + "Advertise best-external path"; + container labeled-unicast { + must "not(../disable)"; + presence "Indicates a labeled-unicast node is configured."; + description + "Limit best-external to Labeled-Unicast address family"; + } + container disable { + must "not(../labeled-unicast)"; + presence "Indicates a disable node is configured."; + description + "Do not advertise best-external path"; + } + } + container local-labeled-route { + when "../../af-name = 'ipv4-unicast' or ../../af-name = 'ipv6-unicast'"; + description + "Advertisement of routes with local-label"; + container safi-unicast { + presence "Indicates a safi-unicast node is configured."; + description + "Advertisement of routes with local-label via Unicast SAFI"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + } + } + container nexthop { + description + "Nexthop"; + container resolution { + description + "Nexthop resolution"; + container prefix-length { + description + "Nexthop resolution prefix-length"; + leaf minimum { + type union { + type uint32 { + range "0..32" { + description + "Prefix-length value"; + } + } + type uint32 { + range "0..128" { + description + "Prefix-length value"; + } + } + } + description + "Set minimum prefix-length for nexthop resolution"; + } + leaf minimum-ipv6 { + type uint32 { + range "0..128" { + description + "IPv6 Prefix-length value"; + } + } + description + "IPv6 Prefix-length value"; + } + } + } + } + container networks { + description + "Specify a network to announce via BGP"; + list network { + key "address masklength"; + description + "IPv6 network and mask or masklength"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 network and mask or masklength"; + } + leaf masklength { + type uint16 { + range "0..128"; + } + description + "Network in prefix/length format (prefix part)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route-policy to modify the attributes"; + } + container backdoor { + presence "Indicates a backdoor node is configured."; + description + "Specify a BGP backdoor route"; + } + container multipath { + presence "Indicates a backdoor node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + } + container aggregate-addresses { + description + "Configure BGP aggregate entries"; + list aggregate-address { + key "address masklength"; + description + "IPv6 Aggregate address and mask or masklength"; + leaf address { + type inet:ip-address-no-zone; + description + "IPv6 Aggregate address and mask or masklength"; + } + leaf masklength { + type uint16 { + range "0..128"; + } + description + "Network in prefix/length format (prefix part)"; + } + container as-set { + presence "Indicates a as-set node is configured."; + description + "Generate AS set path information"; + } + container as-confed-set { + presence "Indicates a as-confed-set node is configured."; + description + "Generate AS confed set path information"; + } + container summary-only { + presence "Indicates a summary-only node is configured."; + description + "Filter more specific routes from updates"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Policy to condition advertisement, suppression, and attributes"; + } + } + } + container redistribute { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv6-multicast'"; + description + "Redistribute information from another routing protocol"; + list ospf { + key "router-tag"; + description + "Open Shortest Path First (OSPF/OSPFv3)"; + leaf router-tag { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "OSPF router tag"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + container match { + presence "Indicates a match node is configured."; + description + "Redistribution of OSPF routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list eigrp { + key "instance-name"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "EIGRP instance name"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + container match { + description + "EIGRP route type for redistribution"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list application { + key "application-name"; + description + "OnePK application routes"; + leaf application-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "OnePK application name"; + } + } + description + "OnePK application name"; + } + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container lisp { + presence "Indicates a lisp node is configured."; + description + "Locator/ID Separation Protocol (LISP)"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container rip { + when "../../af-name = 'ipv4-unicast' or ../../af-name = 'ipv4-multicast'"; + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol (RIP)"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + container subscriber { + presence "Indicates a lisp node is configured."; + description + "subscriber routes"; + leaf metric { + type uint32 { + range "0..4294967295" { + description + "Default metric"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable installation of multiple paths from RIB"; + } + } + } + leaf table-policy { + type xr:Route-policy-name; + description + "Configure policy for installation of routes to RIB"; + } + container allocate-label { + description + "Allocate label for selected prefixes"; + container all { + presence "Indicates a all node is configured."; + description + "Allocate labels for all prefixes"; + container unlabeled-path { + presence "Indicates a unlabeled-path node is configured."; + description + "Allocate label for unlabeled paths too"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Use a route policy to select prefixes for label allocation"; + } + } + container label { + description + "Label-related configuration"; + container mode { + description + "Select label mode"; + container per-prefix { + when "../../../af-name = 'ipv4-unicast' or ../../../af-name = 'ipv6-unicast'"; + must "not(../per-ce or ../per-vrf or ../route-policy)"; + presence "Indicates a per-prefix node is configured."; + description + "Set per perfix label mode"; + } + container per-ce { + when "../../../af-name = 'ipv4-unicast' or ../../../af-name = 'ipv6-unicast'"; + must "not(../per-prefix or ../per-vrf or ../route-policy)"; + presence "Indicates a per-ce node is configured."; + description + "Set per CE label mode"; + } + container per-vrf { + when "../../../af-name = 'ipv4-unicast' or ../../../af-name = 'ipv6-unicast'"; + must "not(../per-prefix or ../per-ce or ../route-policy)"; + presence "Indicates a per-vrf node is configured."; + description + "Set per VRF label mode"; + } + leaf route-policy { + when "../../../af-name = 'ipv4-unicast' or ../../../af-name = 'ipv6-unicast'"; + type xr:Route-policy-name; + must "not(../per-prefix or ../per-ce or ../per-vrf)"; + description + "Use a route policy to select prefixes for label allocation mode"; + } + } + } + container bgp { + description + "BGP Commands"; + container dampening { + presence "Indicates a dampening node is configured."; + description + "Enable route-flap dampening"; + leaf half-life-time { + type uint32 { + range "1..45" { + description + "Half-life time for the penalty"; + } + } + must "not(../route-policy)"; + description + "Half-life time for the penalty"; + } + leaf start-reusing-route { + type uint32 { + range "1..20000" { + description + "Value to start reusing a route"; + } + } + must "../half-life-time and ../start-suppressing-route"; + description + "Value to start reusing a route"; + } + leaf start-suppressing-route { + type uint32 { + range "1..20000" { + description + "Value to start suppressing a route"; + } + } + must "../start-reusing-route and ../maximum-duration"; + description + "Value to start suppressing a route"; + } + leaf maximum-duration { + type uint32 { + range "1..255" { + description + "Maximum duration to suppress a stable route"; + } + } + must "../start-suppressing-route"; + description + "Maximum duration to suppress a stable route"; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../half-life-time)"; + description + "Route policy to specify criteria for dampening"; + } + } + container attribute-download { + presence "Indicates a attribute-download node is configured."; + description + "Configure attribute download for this address-family"; + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + container enable { + presence "Indicates a enable node is configured."; + description + "Enable RPKI origin-AS validation"; + } + container signal { + description + "Signal origin-AS validity towards peers"; + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Signal origin-AS validity towards iBGP peers"; + } + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container use { + description + "BGP origin-AS knobs"; + container validity { + presence "Indicates a validity node is configured."; + description + "BGP bestpath selection will use origin-AS validity"; + } + } + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + } + container event { + description + "Policy for per-prefix tracing"; + container prefix { + description + "Policy for per-prefix tracing"; + leaf route-policy { + type xr:Route-policy-name; + description + "Policy for per-prefix tracing"; + } + } + } + container dynamic-med { + description + "Dynamic MED Interval"; + leaf interval { + type uint32 { + range "0..10" { + description + "Update generation delay in minutes"; + } + } + description + "Update generation delay (in minutes) after a MED change"; + } + } + container weight { + description + "Define or modify weight"; + container reset-on-import { + presence "Indicates a reset-on-import node is configured."; + description + "Reset weight of paths on import"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not reset weight of paths on import"; + } + } + } + container as-path-loopcheck { + description + "Configure AS Path loop checking"; + container out { + description + "For outbound updates"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + container global-table-multicast { + presence "Indicates a global-table-multicast node is configured."; + description + "Enable global table multicast"; + } + container segmented-multicast { + presence "Indicates a segmented-multicast node is configured."; + description + "Enable segmented multicast"; + } + container label-security { + description + "BGP Label Security"; + container asbr { + description + "Label Security for ASBR peers"; + container rpf { + presence "Indicates a rpf node is configured."; + description + "RPF Label Security for Option-B"; + } + } + } + container segment-routing { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast'"; + description + "Segment Routing"; + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Specify SRv6 configurations"; + container alloc { + description + "SID Allocation"; + container mode { + description + "SID Allocation mode"; + container per-ce { + must "not(../per-vrf or ../route-policy)"; + presence "Indicates a per-ce node is configured."; + description + "Set per CE label mode"; + } + container per-vrf { + must "not(../per-ce or ../route-policy)"; + presence "Indicates a per-vrf node is configured."; + description + "Set per VRF label mode"; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../per-ce or ../per-vrf)"; + description + "Use a route policy to determine the SID allocation mode and locator (if provided) for given prefix"; + } + } + } + leaf locator { + type string { + length "1..1024" { + description + "locator name"; + } + } + description + "Specify locator"; + } + } + } + } + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "neighbor-address"; + description + "Neighbor address"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container use { + description + "Inherit configuration for this address-family from a group"; + leaf af-group { + type string { + length "1..1024" { + description + "AF group name"; + } + } + description + "Inherit configuration for this address-family from an af-group"; + } + } + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + container prefix { + description + "Advertise address prefix ORF capability to this neighbor"; + container receive { + must "not(../send or ../both or ../none)"; + presence "Indicates a receive node is configured."; + description + "Capability to RECEIVE the ORF from this neighbor"; + } + container send { + must "not(../receive or ../both or ../none)"; + presence "Indicates a send node is configured."; + description + "Capability to SEND the ORF to this neighbor"; + } + container both { + must "not(../receive or ../send or ../none)"; + presence "Indicates a both node is configured."; + description + "Capability to RECEIVE and SEND the ORF from/to this neighbor"; + } + container none { + must "not(../receive or ../send or ../both)"; + presence "Indicates a none node is configured."; + description + "No capability to RECEIVE or SEND the ORF from/to this neighbor"; + } + } + } + } + container default-originate { + presence "Indicates a default-originate node is configured."; + description + "Originate default route to this neighbor"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + container inheritance-disable { + must "not(../route-policy)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent default-originate being inherited from a parent group"; + } + } + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + description + "Maximum number of prefixes to accept from this peer"; + leaf prefix-limit { + type uint32 { + range "1..4294967295" { + description + "maximum no. of prefix limit"; + } + } + mandatory true; + description + "Maximum number of prefixes to accept from this peer"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Threshold value (%) at which to generate a warning msg"; + } + } + mandatory true; + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf restart { + type uint32 { + range "1..65535" { + description + "Time interval (min) after which peering session will be reestablished"; + } + } + description + "Restart time interval"; + } + container discard-extra-paths { + presence "Indicates a discard-extra-paths node is configured."; + description + "Discard extra paths when limit is exceeded"; + } + } + leaf optimal-route-reflection { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "Configure optiomal-route-reflection for this neighbor"; + } + container next-hop-self { + presence "Indicates a next-hop-self node is configured."; + description + "Disable the next hop calculation for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-self from being inherited from the parent"; + } + } + container next-hop-unchanged { + presence "Indicates a next-hop-unchanged node is configured."; + description + "Do not overwrite next hop before advertising to eBGP peers"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-unchanged from being inherited from the parent"; + } + } + container slow-peer { + description + "configuration commands for slow-peer"; + container detection { + description + "Enable or disable slow peer detection."; + container enable { + must + "not(../disable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a enable node is configured."; + description + "Enable slow peer detection"; + } + container disable { + must + "not(../enable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + container split-update-group { + description + "Options to split update group"; + container static { + must "not(../dynamic) and (../../enable or ../../disable)"; + presence "Indicates a static node is configured."; + description + "Manually move this peer to slow update group"; + } + container dynamic { + must "not(../static) and (../../enable or ../../disable)"; + presence "Indicates a dynamic node is configured."; + description + "Move peer to slow update group on detection"; + container permanent { + must "not(../disable)"; + presence "Indicates a permanent node is configured."; + description + "Do not revert back peer on recovery"; + } + container disable { + must "not(../permanent)"; + presence "Indicates a disable node is configured."; + description + "Disable moving slow peer to updgrp"; + } + } + } + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + container route-policy { + description + "Apply route policy to neighbor"; + leaf in { + type xr:Route-policy-name; + description + "Apply route policy to inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routes"; + } + container retention { + description + "Apply retention policy to inbound routes"; + leaf route-policy-name { + type xr:Route-policy-name; + must "../retention-time"; + description + "Apply retention policy to inbound routes"; + } + leaf retention-time { + type uint32 { + range "0..4294967295" { + description + "Max time (seconds)"; + } + } + must "../route-policy-name"; + description + "Retention-time for this neighbor"; + } + } + } + container orf { + description + "Specify ORF and inbound filtering criteria"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify ORF and inbound filter"; + } + } + container remove-private-as { + presence "Indicates a remove-private-as node is configured."; + description + "Remove private AS number from outbound updates"; + container entire-aspath { + must "not(../inheritance-disable or ../internal)"; + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + must "not(../entire-aspath or ../internal)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + container internal { + must "not(../entire-aspath or ../inheritance-disable)"; + presence "Indicates a inheritance-disable node is configured."; + description + "remove only if all ASes in the path are private"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + } + container remove-private-as-inbound { + must "not(entire-aspath and inheritance-disable)"; + presence "Indicates a inbound node is configured."; + description + "Remove private AS number from inbound updates"; + container entire-aspath { + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + container enforce-multiple-labels { + presence "Indicates a enforce-multiple-labels node is configured."; + description + "Enforce support for multiple labels (requires manual session flap)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent enforce-multiple-labels from being inherited from the parent"; + } + } + container route-reflector-client { + presence "Indicates a route-reflector-client node is configured."; + description + "Configure a neighbor as Route Reflector client"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent route-reflector-client from being inherited from the parent"; + } + } + container accept-route-legacy-rt { + presence "Indicates a accept-route-legacy-rt node is configured."; + description + "Configure a neighbor to support legacy PE for RT-Constraint AF"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent accept-route-legacy-RT from being inherited from the parent"; + } + } + container send-community-ebgp { + presence "Indicates a send-community-ebgp node is configured."; + description + "Send community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-ebgp from being inherited from the parent"; + } + } + container send-community-gshut-ebgp { + presence "Indicates a send-community-gshut-ebgp node is configured."; + description + "Allow the g-shut community to be sent to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-gshut-ebgp from being inherited from the parent"; + } + } + container send-extended-community-ebgp { + presence "Indicates a send-extended-community-ebgp node is configured."; + description + "Send extended community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-extended-community-ebgp from being inherited from parent"; + } + } + container soft-reconfiguration { + description + "Per neighbor soft reconfiguration"; + container inbound { + presence "Indicates a inbound node is configured."; + description + "Allow inbound soft reconfiguration for this neighbor"; + container rpki-dropped-only { + must "not(../rpki-tested-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-dropped-only node is configured."; + description + "Use soft-reconfig, for paths dropped by route-policy which have RPKI validity state check"; + } + container rpki-tested-only { + must "not(../rpki-dropped-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-tested-only node is configured."; + description + "Use soft-reconfig for paths tested or dropped by route-policy which have RPKI validity state check"; + } + container always { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../inheritance-disable)"; + presence "Indicates a always node is configured."; + description + "Always use soft reconfig, even if route refresh is supported"; + } + container inheritance-disable { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../always)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent soft-reconfiguration from being inherited from the parent"; + } + } + } + container update { + description + "BGP out bound message"; + container out { + description + "BGP out bound message handling"; + container originator-loopcheck { + presence "Indicates a originator-loopcheck node is configured."; + description + "Loop check for same originator which sent the route"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable originator loop check"; + } + } + } + } + container advertise { + description + "Per neighbor advertisement options"; + container permanent-network { + presence "Indicates a permanent-network node is configured."; + description + "Allow permanent networks for this neighbor"; + } + container local-labeled-route { + presence "Indicates a local-labeled-route node is configured."; + description + "Advertisement of routes with local-label"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + } + leaf weight { + type uint32 { + range "0..65535" { + description + "default weight"; + } + } + description + "Set default weight for routes from this neighbor"; + } + container allowas-in { + presence "Indicates a allowas-in node is configured."; + description + "Allow as-path with my AS present in it"; + leaf number-of-occurences { + type uint32 { + range "1..10" { + description + "Number of occurences of AS number"; + } + } + description + "Number of occurences of AS number"; + } + } + container long-lived-graceful-restart { + description + "Enable long lived graceful restart support"; + container stale-time { + description + "Maximum time to wait before purging long-lived stale routes"; + leaf send { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Stale-time sent in LLGR Capability"; + } + leaf accept { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Maximum stale-time acceptable from neighbor"; + } + } + container capable { + presence "Indicates a capable node is configured."; + description + "Treat neighbor as LLGR capable"; + } + } + container as-override { + presence "Indicates a as-override node is configured."; + description + "Override matching AS-number while sending update"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent as-override from being inherited from the parent"; + } + } + container aigp { + presence "Indicates a aigp node is configured."; + description + "Enable AIGP for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable AIGP"; + } + } + container aigp-send { + description + "Copy AIGP"; + container cost-community { + description + "Send AIGP value in Cost Community"; + leaf cost-community-id { + type uint32 { + range "0..255" { + description + "Cost community ID"; + } + } + must "not(../disable)"; + description + "Cost community ID"; + } + container poi { + must "(igp-cost or pre-bestpath) and not(igp-cost and pre-bestpath)"; + presence "Indicates a poi node is configured."; + description + "Point of insertion for bestpath calculation"; + container igp-cost { + presence "Indicates a igp-cost node is configured."; + description + "Cost community is used after IGP distance to next hop"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + container pre-bestpath { + presence "Indicates a pre-bestpath node is configured."; + description + "Cost community is first step in best path calculation"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + } + container disable { + must "not(../cost-community-id)"; + presence "Indicates a disable node is configured."; + description + "Disable aigp send cost-community"; + } + } + container med { + presence "Indicates a med node is configured."; + description + "Send AIGP value in MED"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable aigp send med"; + } + } + } + container validation { + when "../af-name = 'ipv4-flowspec' or ../af-name = 'ipv6-flowspec'"; + presence "Indicates a validation node is configured."; + description + "Flowspec Validation for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Validation"; + } + container redirect { + description + "Flowspec Redirect nexthop Validation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Redirect nexthop Validation"; + } + } + } + container send-multicast-attributes { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv4-labeled-unicast' or ../af-name = 'ipv6-labeled-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-multicast' or ../af-name = 'ipv4-mvpn' or ../af-name = 'ipv6-mvpn'"; + presence "Indicates a send-multicast-attributes node is configured."; + description + "Send multicast attributes to this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable send multicast attribute"; + } + } + container signalling { + description + "Signalling protocols to disable, BGP or LDP"; + container bgp { + description + "Select BGP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + container ldp { + description + "Select LDP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + } + container accept-own { + presence "Indicates a accept-own node is configured."; + description + "Handle self-originated routes with Accept-Own community"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent item being inherited from a parent group"; + } + } + container cluster-id { + description + "Allow routes with first cluster-id in list is same as the router's cluster id"; + container allow-equal { + presence "Indicates a allow-equal node is configured."; + description + "Accept routes with first cluster-id in list is same as the router's cluster id"; + container disable { + presence "Indicates a allow-equal node is configured."; + description + "Prevent the configuration from being inherited."; + } + } + } + container site-of-origin { + description + "Site-of-Origin extended community associated with the neighbor"; + container two-byte-as { + must "not(../four-byte-as or ../ip-address)"; + presence "Indicates a two-byte-as node is configured."; + description + "two-byte-as Site-of-Origin"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "bgp as-number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container four-byte-as { + must "not(../two-byte-as or ../ip-address)"; + presence "Indicates a four-byte-as node is configured."; + description + "four-byte-as site-of-Origin"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "4-byte AS number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container ip-address { + must "not(../two-byte-as or ../four-byte-as)"; + presence "Indicates a ip-address node is configured."; + description + "configure this node"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "configure this node"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + mandatory true; + description + "IPv4Address:index (hex or decimal format)"; + } + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Paths from this neighbor is eligible for multipath"; + } + } + } + container update { + description + "BGP Update configuration"; + container in { + description + "Inbound update message handling"; + container filtering { + presence "Indicates a filtering node is configured."; + description + "Inbound update message filtering"; + container message { + description + "Filtered update messages"; + container buffers { + presence "Indicates a buffers node is configured."; + description + "Filtered update message buffers"; + leaf number-of-buffers { + type uint32 { + range "0..25" { + description + "Number of buffers to store filtered update messages (resizing does not take effect after filtering action has started)"; + } + } + mandatory true; + description + "Filtered update message buffers"; + } + container non-circular { + presence "Indicates a non-circular node is configured."; + description + "Message buffer list is not circular"; + } + } + } + container logging { + description + "Update filtering syslog message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable update filtering syslog message"; + } + } + container attribute-filter { + description + "Attribute-filter configuration"; + leaf group { + type string { + length "1..1024" { + description + "Attribute-filter group name"; + } + } + description + "Attribute-filter group configuration"; + } + } + } + container merge { + description + "Merge incoming updates"; + container safi { + description + "SAFI of the NLRIs to merge"; + container unicast { + description + "IPv4/IPv6 unicast paths"; + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "IPv4/IPv6 labeled-unicast paths"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + } + } + } + } + container graceful-maintenance { + presence "Indicates a graceful-maintenance node is configured."; + description + "Attributes for Graceful Maintenance. This will cause + neig de-prer routes from this router and + choonates.his allows the router to be + brour out service gracefully."; + container local-preference { + must "local-preference-value or inheritance-disable"; + presence "Indicates a local-preference node is configured."; + description + "local preference with which to advertise routes to ibgps. Deflt=No Touch"; + leaf local-preference-value { + type uint32 { + range "0..4294967295" { + description + "Range of values for Local Preference"; + } + } + description + "Range of values for Local Preference"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local preference from being inherited from the parent"; + } + } + container as-prepends { + must "number-of-as-prepends or inheritance-disable"; + presence "Indicates a as-prepends node is configured."; + description + "Number of times to prepend the local AS number to the + AS poutes.efault=0"; + leaf number-of-as-prepends { + type uint32 { + range "0..6" { + description + "Range of number of AS prepends"; + } + } + description + "Range of number of AS prepends"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent AS prepends from being inherited from the parent"; + } + } + container activate { + presence "Indicates a activate node is configured."; + description + "Routes will be announced with the graceful maintenance + attrhile aivated either here or under router + bgp ation.hile activated, all routes to this + neigl be aounced with the attributes + confere anall routes from this neighbor will + be a to otr neighbors with the graceful + mainattribes configured under those + neighe g-st community will be announced + regaf the her attributes configured here. To + alloshut cmunity to be announced to ebgp + neighe sencommunity-gshut-ebgp configuration + is aired. te: changes to the attributes will + not ect whe activated."; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent activate from being inherited from the parent"; + } + } + } + leaf remote-as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf remote-as-list { + type string { + length "1..1024" { + description + "as-list name"; + } + } + description + "Remote as-list configuration"; + } + container use { + description + "Inherit configuration from a group"; + leaf session-group { + type string { + length "1..1024" { + description + "Session group name"; + } + } + description + "Inherit address-family independent config from a session-group"; + } + leaf neighbor-group { + type string { + length "1..1024" { + description + "Neighbor-group name"; + } + } + description + "Inherit configuration from a neighbor-group"; + } + } + container advertisement-interval { + presence "Indicates a advertisement-interval node is configured."; + description + "Minimum interval between sending BGP routing updates"; + leaf time-in-seconds { + type uint32 { + range "0..600" { + description + "time in seconds"; + } + } + mandatory true; + description + "Minimum interval between sending BGP routing updates"; + } + leaf time-in-milliseconds { + type uint32 { + range "0..999" { + description + "time in milliseconds"; + } + } + description + "time in milliseconds"; + } + } + leaf description { + type string { + length "1..1024" { + description + "Up to 80 characters describing this neighbor"; + } + } + description + "Neighbor specific description"; + } + container ignore-connected-check { + presence "Indicates a ignore-connected-check node is configured."; + description + "Bypass the directly connected nexthop check for single-hop eBGP peering"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ignore-connected-check from being inherited from the parent"; + } + } + container internal-vpn-client { + presence "Indicates a internal-vpn-client node is configured."; + description + "Preserve iBGP CE neighbor path in ATTR_SET across VPN core"; + } + container ebgp-multihop { + presence "Indicates a ebgp-multihop node is configured."; + description + "Allow EBGP neighbors not on directly connected networks"; + leaf maximum-hop-count { + type uint32 { + range "1..255" { + description + "maximum hop count"; + } + } + mandatory true; + description + "maximum hop count"; + } + container mpls { + presence "Indicates a mpls node is configured."; + description + "Disable BGP MPLS forwarding"; + } + } + container tcp { + description + "TCP session configuration commands"; + container mss { + must "initial-mss or inheritance-disable"; + presence "Indicates a mss node is configured."; + description + "Maximum Segment Size"; + leaf initial-mss { + type uint32 { + range "68..10000" { + description + "TCP initial maximum segment size"; + } + } + description + "TCP initial maximum segment size"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent tcp mss from being inherited from the parent"; + } + } + } + container bmp-activate { + description + "Enable BMP logging for this neighbor"; + container servers { + description + "Enable BMP connection to particular server"; + list server { + key "server-id"; + description + "Enable BMP connection to particular server"; + leaf server-id { + type uint32 { + range "1..8" { + description + "Enable BMP connection to particular server"; + } + } + description + "Enable BMP connection to particular server"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container keychain { + must "name or inheritance-disable"; + presence "Indicates a keychain node is configured."; + description + "Set keychain based authentication"; + leaf name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Name of the key chain - maximum 32 characters"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container local-as { + must "as-number or inheritance-disable"; + presence "Indicates a local-as node is configured."; + description + "Specify local AS number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container no-prepend { + presence "Indicates a no-prepend node is configured."; + description + "Do not prepend local AS to announcements from this neighbor"; + container replace-as { + presence "Indicates a replace-as node is configured."; + description + "Prepend only local AS to announcements to this neighbor"; + container dual-as { + presence "Indicates a dual-as node is configured."; + description + "Dual-AS mode"; + } + } + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local AS from being inherited from parent"; + } + } + container password { + must "encrypted or inheritance-disable"; + presence "Indicates a password node is configured."; + description + "Set a password"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent password from being inherited from parent"; + } + } + container receive-buffer-size { + presence "Indicates a receive-buffer-size node is configured."; + description + "Set socket and BGP receive buffer size"; + leaf receive-socket-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + description + "BGP Read buffer size in bytes"; + } + } + container send-buffer-size { + presence "Indicates a send-buffer-size node is configured."; + description + "Set socket and BGP send buffer size"; + leaf send-socket-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + description + "BGP Write buffer size in bytes"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Administratively shut down this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent this neighbor being shutdown, even if its parent is"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "BGP per neighbor timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + container local { + description + "Configure local parameter"; + container address { + must "ip-address or inheritance-disable"; + presence "Indicates a address node is configured."; + description + "use configured local address for bgp peering"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv4 address"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local address from being inherited from parent"; + } + } + } + container log { + description + "Logging update messages per neighbor"; + container message { + description + "Logging update/notification messages per neighbor"; + container in { + description + "Inbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + container out { + description + "Outbound log messages"; + leaf range-for-message-log-buffer { + type uint32 { + range "1..100" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable outbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + } + } + leaf update-source { + type xr:Interface-name; + description + "Source of routing updates"; + } + container local-address-subnet { + description + "Local address subnet of routing updates"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address and mask or masklength"; + } + leaf mask-length { + type uint32 { + range "0..128" { + description + "IP address mask length"; + } + } + description + "IP address and mask length"; + } + } + container dmz-link-bandwidth { + presence "Indicates a dmz-link-bandwidth node is configured."; + description + "Propagate the DMZ link bandwidth"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent dmz-link-bandwidth from being inherited from the parent"; + } + } + container ebgp-recv-extcommunity-dmz { + presence "Indicates a ebgp-recv-extcommunity-dmz node is configured."; + description + "Receive extcommunity dmz link bandwidth from ebgp neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-community-dmz from being inherited from parent"; + } + } + container ebgp-send-extcommunity-dmz { + must "not(cumulative and inheritance-disable)"; + presence "Indicates a ebgp-send-extcommunity-dmz node is configured."; + description + "Send extended community dmz link bandwidth to ebgp neighbor"; + container cumulative { + presence "Indicates a cumulative node is configured."; + description + "Send cumulative community dmz link bandwidth of all multipaths to ebgp neighbor"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-extcommunity-dmz from being inherited from parent"; + } + } + container ttl-security { + presence "Indicates a ttl-security node is configured."; + description + "Enable EBGP TTL security"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ttl-security from being inherited from the parent"; + } + } + container session-open-mode { + description + "Establish BGP session using this TCP open mode"; + container active-only { + must "not(../passive-only or ../both)"; + presence "Indicates a active-only node is configured."; + description + "Active only"; + } + container passive-only { + must "not(../active-only or ../both)"; + presence "Indicates a passive-only node is configured."; + description + "Passive only"; + } + container both { + must "not(../active-only or ../passive-only)"; + presence "Indicates a both node is configured."; + description + "Prevent session-open-mode being inherited from the parent"; + } + } + leaf dscp { + type enumeration { + enum "default" { + value 0; + description + "Set packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Set packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Set packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Set packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Set packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Set packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Set packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Set packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Set packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Set packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Set packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Set packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Set packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Set packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Set packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Set packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Set packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Set packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Set packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Set packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Set packets with CS7(precedence 7) dscp (111000)"; + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Set packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Set packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Set packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Set packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Set packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Set packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Set packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Set packets with network control precedence (7)"; + } + } + description + "Set precedence"; + } + container capability { + description + "Advertise capability to the peer"; + container suppress { + description + "Suppress advertising capability to the peer "; + container four-byte-as { + presence "Indicates a four-byte-as node is configured."; + description + "4-byte-as capability"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent capability suppress 4-type-as being inherited from the parent"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "All capabilities"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + container extended-nexthop-encoding { + presence "Indicates a extended-nexthop-encoding node is configured."; + description + "Extended-nexthop-encoding capabilities (IETF RFC 5549)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + container additional-paths { + description + "Additional paths capability"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Send capability"; + } + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Receive capability"; + } + } + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Enable graceful restart support for this neighbor"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable graceful restart support for this neighbor"; + } + leaf restart-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Restart time advertised to the neighbor"; + } + leaf stalepath-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for restart of GR capable peer"; + } + } + container enforce-first-as { + presence "Indicates a enforce-first-as node is configured."; + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not enforce the first AS for EBGP routes"; + } + } + leaf maximum-peers { + type uint32 { + range "1..4095" { + description + "Maximum number of peers"; + } + } + description + "Maximum dynamic neighbors"; + } + leaf idle-watch-time { + type uint32 { + range "30..1800" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for deletion of IDLE state dynamic peer"; + } + container egress-engineering { + presence "Indicates a egress-engineering node is configured."; + description + "Enable egress peer engineering for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit egress-engineering from the parent"; + } + } + container peer-sets { + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + list peer-set { + key "peer-set-id"; + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identity value of peer-set"; + } + } + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + } + } + } + container peer-node-sid { + description + "Assign this neighbor a manual SID for egress peer engineering"; + leaf index { + type uint32 { + range "0..1033575" { + description + "Segment Index to be assigned to this peer. The index will be off SRLB + Note: This imaximum index configurable in dynaminc SRLB range. + Since SRLB ca dynamic range, actual maximum index can vary. + So please lothe currently configured SRLB range"; + } + } + description + "Segment Index value which is offset of SRLB"; + } + } + container ao { + description + "Enable Authentiation Option"; + leaf key-chain-name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + must "not(../inheritance-disable) and (../include-tcp-options/enable or ../include-tcp-options/disable)"; + description + "Name of the key chain - maximum 32 characters"; + } + container include-tcp-options { + description + "Include/Exclude other TCP options in the header"; + container enable { + must "not(../disable or ../../inheritance-disable)"; + presence "Indicates a enable node is configured."; + description + "Include other TCP options in the header"; + } + container disable { + must "not(../enable or ../../inheritance-disable)"; + presence "Indicates a disable node is configured."; + description + "Exclude other TCP options in the header"; + } + container accept-ao-mismatch-connection { + must "../enable or ../disable"; + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if AO mismatched"; + } + } + container inheritance-disable { + must "not(../key-chain-name)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + } + list neighbor-range { + key "neighbor-address prefix-length"; + description + "Neighbor address"; + leaf neighbor-address { + type inet:ip-address-no-zone; + description + "Neighbor address"; + } + leaf prefix-length { + type uint32 { + range "0..127"; + } + description + "Prefix length"; + } + container address-families { + description + "Enter Address Family command mode"; + list address-family { + key "af-name"; + description + "Enter Address Family command mode"; + leaf af-name { + type Bgp-address-family; + description + "Enter Address Family command mode"; + } + container use { + description + "Inherit configuration for this address-family from a group"; + leaf af-group { + type string { + length "1..1024" { + description + "AF group name"; + } + } + description + "Inherit configuration for this address-family from an af-group"; + } + } + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + container prefix { + description + "Advertise address prefix ORF capability to this neighbor"; + container receive { + must "not(../send or ../both or ../none)"; + presence "Indicates a receive node is configured."; + description + "Capability to RECEIVE the ORF from this neighbor"; + } + container send { + must "not(../receive or ../both or ../none)"; + presence "Indicates a send node is configured."; + description + "Capability to SEND the ORF to this neighbor"; + } + container both { + must "not(../receive or ../send or ../none)"; + presence "Indicates a both node is configured."; + description + "Capability to RECEIVE and SEND the ORF from/to this neighbor"; + } + container none { + must "not(../receive or ../send or ../both)"; + presence "Indicates a none node is configured."; + description + "No capability to RECEIVE or SEND the ORF from/to this neighbor"; + } + } + } + } + container default-originate { + presence "Indicates a default-originate node is configured."; + description + "Originate default route to this neighbor"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + container inheritance-disable { + must "not(../route-policy)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent default-originate being inherited from a parent group"; + } + } + container maximum-prefix { + presence "Indicates a maximum-prefix node is configured."; + description + "Maximum number of prefixes to accept from this peer"; + leaf prefix-limit { + type uint32 { + range "1..4294967295" { + description + "maximum no. of prefix limit"; + } + } + mandatory true; + description + "Maximum number of prefixes to accept from this peer"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Threshold value (%) at which to generate a warning msg"; + } + } + mandatory true; + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf restart { + type uint32 { + range "1..65535" { + description + "Time interval (min) after which peering session will be reestablished"; + } + } + description + "Restart time interval"; + } + container discard-extra-paths { + presence "Indicates a discard-extra-paths node is configured."; + description + "Discard extra paths when limit is exceeded"; + } + } + leaf optimal-route-reflection { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "Configure optiomal-route-reflection for this neighbor"; + } + container next-hop-self { + presence "Indicates a next-hop-self node is configured."; + description + "Disable the next hop calculation for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-self from being inherited from the parent"; + } + } + container next-hop-unchanged { + presence "Indicates a next-hop-unchanged node is configured."; + description + "Do not overwrite next hop before advertising to eBGP peers"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent next-hop-unchanged from being inherited from the parent"; + } + } + container slow-peer { + description + "configuration commands for slow-peer"; + container detection { + description + "Enable or disable slow peer detection."; + container enable { + must + "not(../disable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a enable node is configured."; + description + "Enable slow peer detection"; + } + container disable { + must + "not(../enable) and + (../split-update-group/static or + ../split-update-group/dynamic)"; + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + container split-update-group { + description + "Options to split update group"; + container static { + must "not(../dynamic) and (../../enable or ../../disable)"; + presence "Indicates a static node is configured."; + description + "Manually move this peer to slow update group"; + } + container dynamic { + must "not(../static) and (../../enable or ../../disable)"; + presence "Indicates a dynamic node is configured."; + description + "Move peer to slow update group on detection"; + container permanent { + must "not(../disable)"; + presence "Indicates a permanent node is configured."; + description + "Do not revert back peer on recovery"; + } + container disable { + must "not(../permanent)"; + presence "Indicates a disable node is configured."; + description + "Disable moving slow peer to updgrp"; + } + } + } + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + container route-policy { + description + "Apply route policy to neighbor"; + leaf in { + type xr:Route-policy-name; + description + "Apply route policy to inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routes"; + } + container retention { + description + "Apply retention policy to inbound routes"; + leaf route-policy-name { + type xr:Route-policy-name; + must "../retention-time"; + description + "Apply retention policy to inbound routes"; + } + leaf retention-time { + type uint32 { + range "0..4294967295" { + description + "Max time (seconds)"; + } + } + must "../route-policy-name"; + description + "Retention-time for this neighbor"; + } + } + } + container orf { + description + "Specify ORF and inbound filtering criteria"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify ORF and inbound filter"; + } + } + container remove-private-as { + presence "Indicates a remove-private-as node is configured."; + description + "Remove private AS number from outbound updates"; + container entire-aspath { + must "not(../inheritance-disable or ../internal)"; + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + must "not(../entire-aspath or ../internal)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + container internal { + must "not(../entire-aspath or ../inheritance-disable)"; + presence "Indicates a inheritance-disable node is configured."; + description + "remove only if all ASes in the path are private"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + } + container remove-private-as-inbound { + must "not(entire-aspath and inheritance-disable)"; + presence "Indicates a inbound node is configured."; + description + "Remove private AS number from inbound updates"; + container entire-aspath { + presence "Indicates a entire-aspath node is configured."; + description + "remove only if all ASes in the path are private"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent remove-private-AS from being inherited from the parent"; + } + } + container enforce-multiple-labels { + presence "Indicates a enforce-multiple-labels node is configured."; + description + "Enforce support for multiple labels (requires manual session flap)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent enforce-multiple-labels from being inherited from the parent"; + } + } + container route-reflector-client { + presence "Indicates a route-reflector-client node is configured."; + description + "Configure a neighbor as Route Reflector client"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent route-reflector-client from being inherited from the parent"; + } + } + container accept-route-legacy-rt { + presence "Indicates a accept-route-legacy-rt node is configured."; + description + "Configure a neighbor to support legacy PE for RT-Constraint AF"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent accept-route-legacy-RT from being inherited from the parent"; + } + } + container send-community-ebgp { + presence "Indicates a send-community-ebgp node is configured."; + description + "Send community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-ebgp from being inherited from the parent"; + } + } + container send-community-gshut-ebgp { + presence "Indicates a send-community-gshut-ebgp node is configured."; + description + "Allow the g-shut community to be sent to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-community-gshut-ebgp from being inherited from the parent"; + } + } + container send-extended-community-ebgp { + presence "Indicates a send-extended-community-ebgp node is configured."; + description + "Send extended community attribute to this external neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent send-extended-community-ebgp from being inherited from parent"; + } + } + container soft-reconfiguration { + description + "Per neighbor soft reconfiguration"; + container inbound { + presence "Indicates a inbound node is configured."; + description + "Allow inbound soft reconfiguration for this neighbor"; + container rpki-dropped-only { + must "not(../rpki-tested-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-dropped-only node is configured."; + description + "Use soft-reconfig, for paths dropped by route-policy which have RPKI validity state check"; + } + container rpki-tested-only { + must "not(../rpki-dropped-only or ../always or ../inheritance-disable)"; + presence "Indicates a rpki-tested-only node is configured."; + description + "Use soft-reconfig for paths tested or dropped by route-policy which have RPKI validity state check"; + } + container always { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../inheritance-disable)"; + presence "Indicates a always node is configured."; + description + "Always use soft reconfig, even if route refresh is supported"; + } + container inheritance-disable { + must "not(../rpki-dropped-only or ../rpki-tested-only or ../always)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent soft-reconfiguration from being inherited from the parent"; + } + } + } + container update { + description + "BGP out bound message"; + container out { + description + "BGP out bound message handling"; + container originator-loopcheck { + presence "Indicates a originator-loopcheck node is configured."; + description + "Loop check for same originator which sent the route"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable originator loop check"; + } + } + } + } + container advertise { + description + "Per neighbor advertisement options"; + container permanent-network { + presence "Indicates a permanent-network node is configured."; + description + "Allow permanent networks for this neighbor"; + } + container local-labeled-route { + presence "Indicates a local-labeled-route node is configured."; + description + "Advertisement of routes with local-label"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise routes with local-label via Unicast SAFI"; + } + } + } + leaf weight { + type uint32 { + range "0..65535" { + description + "default weight"; + } + } + description + "Set default weight for routes from this neighbor"; + } + container allowas-in { + presence "Indicates a allowas-in node is configured."; + description + "Allow as-path with my AS present in it"; + leaf number-of-occurences { + type uint32 { + range "1..10" { + description + "Number of occurences of AS number"; + } + } + description + "Number of occurences of AS number"; + } + } + container long-lived-graceful-restart { + description + "Enable long lived graceful restart support"; + container stale-time { + description + "Maximum time to wait before purging long-lived stale routes"; + leaf send { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Stale-time sent in LLGR Capability"; + } + leaf accept { + type uint32 { + range "0..16777215" { + description + "Max time (seconds)"; + } + } + description + "Maximum stale-time acceptable from neighbor"; + } + } + container capable { + presence "Indicates a capable node is configured."; + description + "Treat neighbor as LLGR capable"; + } + } + container as-override { + presence "Indicates a as-override node is configured."; + description + "Override matching AS-number while sending update"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent as-override from being inherited from the parent"; + } + } + container aigp { + presence "Indicates a aigp node is configured."; + description + "Enable AIGP for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable AIGP"; + } + } + container aigp-send { + description + "Copy AIGP"; + container cost-community { + description + "Send AIGP value in Cost Community"; + leaf cost-community-id { + type uint32 { + range "0..255" { + description + "Cost community ID"; + } + } + must "not(../disable)"; + description + "Cost community ID"; + } + container poi { + must "(igp-cost or pre-bestpath) and not(igp-cost and pre-bestpath)"; + presence "Indicates a poi node is configured."; + description + "Point of insertion for bestpath calculation"; + container igp-cost { + presence "Indicates a igp-cost node is configured."; + description + "Cost community is used after IGP distance to next hop"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + container pre-bestpath { + presence "Indicates a pre-bestpath node is configured."; + description + "Cost community is first step in best path calculation"; + container transitive { + presence "Indicates a transitive node is configured."; + description + "Enable transitive cost community"; + } + } + } + container disable { + must "not(../cost-community-id)"; + presence "Indicates a disable node is configured."; + description + "Disable aigp send cost-community"; + } + } + container med { + presence "Indicates a med node is configured."; + description + "Send AIGP value in MED"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable aigp send med"; + } + } + } + container validation { + when "../af-name = 'ipv4-flowspec' or ../af-name = 'ipv6-flowspec'"; + presence "Indicates a validation node is configured."; + description + "Flowspec Validation for this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Validation"; + } + container redirect { + description + "Flowspec Redirect nexthop Validation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Flowspec Redirect nexthop Validation"; + } + } + } + container send-multicast-attributes { + when "../af-name = 'ipv4-unicast' or ../af-name = 'ipv6-unicast' or ../af-name = 'ipv4-labeled-unicast' or ../af-name = 'ipv6-labeled-unicast' or ../af-name = 'ipv4-multicast' or ../af-name = 'ipv6-multicast' or ../af-name = 'ipv4-mvpn' or ../af-name = 'ipv6-mvpn'"; + presence "Indicates a send-multicast-attributes node is configured."; + description + "Send multicast attributes to this neighbor "; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable send multicast attribute"; + } + } + container signalling { + description + "Signalling protocols to disable, BGP or LDP"; + container bgp { + description + "Select BGP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + container ldp { + description + "Select LDP to disable"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Signalling type"; + } + } + } + container accept-own { + presence "Indicates a accept-own node is configured."; + description + "Handle self-originated routes with Accept-Own community"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent item being inherited from a parent group"; + } + } + } + } + container update { + description + "BGP Update configuration"; + container in { + description + "Inbound update message handling"; + container filtering { + presence "Indicates a filtering node is configured."; + description + "Inbound update message filtering"; + container message { + description + "Filtered update messages"; + container buffers { + presence "Indicates a buffers node is configured."; + description + "Filtered update message buffers"; + leaf number-of-buffers { + type uint32 { + range "0..25" { + description + "Number of buffers to store filtered update messages (resizing does not take effect after filtering action has started)"; + } + } + mandatory true; + description + "Filtered update message buffers"; + } + container non-circular { + presence "Indicates a non-circular node is configured."; + description + "Message buffer list is not circular"; + } + } + } + container logging { + description + "Update filtering syslog message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable update filtering syslog message"; + } + } + container attribute-filter { + description + "Attribute-filter configuration"; + leaf group { + type string { + length "1..1024" { + description + "Attribute-filter group name"; + } + } + description + "Attribute-filter group configuration"; + } + } + } + container merge { + description + "Merge incoming updates"; + container safi { + description + "SAFI of the NLRIs to merge"; + container unicast { + description + "IPv4/IPv6 unicast paths"; + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "IPv4/IPv6 labeled-unicast paths"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + } + } + } + } + container graceful-maintenance { + presence "Indicates a graceful-maintenance node is configured."; + description + "Attributes for Graceful Maintenance. This will cause + neig de-prer routes from this router and + choonates.his allows the router to be + brour out service gracefully."; + container local-preference { + must "local-preference-value or inheritance-disable"; + presence "Indicates a local-preference node is configured."; + description + "local preference with which to advertise routes to ibgps. Deflt=No Touch"; + leaf local-preference-value { + type uint32 { + range "0..4294967295" { + description + "Range of values for Local Preference"; + } + } + description + "Range of values for Local Preference"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local preference from being inherited from the parent"; + } + } + container as-prepends { + must "number-of-as-prepends or inheritance-disable"; + presence "Indicates a as-prepends node is configured."; + description + "Number of times to prepend the local AS number to the + AS poutes.efault=0"; + leaf number-of-as-prepends { + type uint32 { + range "0..6" { + description + "Range of number of AS prepends"; + } + } + description + "Range of number of AS prepends"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent AS prepends from being inherited from the parent"; + } + } + container activate { + presence "Indicates a activate node is configured."; + description + "Routes will be announced with the graceful maintenance + attrhile aivated either here or under router + bgp ation.hile activated, all routes to this + neigl be aounced with the attributes + confere anall routes from this neighbor will + be a to otr neighbors with the graceful + mainattribes configured under those + neighe g-st community will be announced + regaf the her attributes configured here. To + alloshut cmunity to be announced to ebgp + neighe sencommunity-gshut-ebgp configuration + is aired. te: changes to the attributes will + not ect whe activated."; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent activate from being inherited from the parent"; + } + } + } + leaf remote-as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf remote-as-list { + type string { + length "1..1024" { + description + "as-list name"; + } + } + description + "Remote as-list configuration"; + } + container use { + description + "Inherit configuration from a group"; + leaf session-group { + type string { + length "1..1024" { + description + "Session group name"; + } + } + description + "Inherit address-family independent config from a session-group"; + } + leaf neighbor-group { + type string { + length "1..1024" { + description + "Neighbor-group name"; + } + } + description + "Inherit configuration from a neighbor-group"; + } + } + container advertisement-interval { + presence "Indicates a advertisement-interval node is configured."; + description + "Minimum interval between sending BGP routing updates"; + leaf time-in-seconds { + type uint32 { + range "0..600" { + description + "time in seconds"; + } + } + mandatory true; + description + "Minimum interval between sending BGP routing updates"; + } + leaf time-in-milliseconds { + type uint32 { + range "0..999" { + description + "time in milliseconds"; + } + } + description + "time in milliseconds"; + } + } + leaf description { + type string { + length "1..1024" { + description + "Up to 80 characters describing this neighbor"; + } + } + description + "Neighbor specific description"; + } + container ignore-connected-check { + presence "Indicates a ignore-connected-check node is configured."; + description + "Bypass the directly connected nexthop check for single-hop eBGP peering"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ignore-connected-check from being inherited from the parent"; + } + } + container internal-vpn-client { + presence "Indicates a internal-vpn-client node is configured."; + description + "Preserve iBGP CE neighbor path in ATTR_SET across VPN core"; + } + container ebgp-multihop { + presence "Indicates a ebgp-multihop node is configured."; + description + "Allow EBGP neighbors not on directly connected networks"; + leaf maximum-hop-count { + type uint32 { + range "1..255" { + description + "maximum hop count"; + } + } + mandatory true; + description + "maximum hop count"; + } + container mpls { + presence "Indicates a mpls node is configured."; + description + "Disable BGP MPLS forwarding"; + } + } + container tcp { + description + "TCP session configuration commands"; + container mss { + must "initial-mss or inheritance-disable"; + presence "Indicates a mss node is configured."; + description + "Maximum Segment Size"; + leaf initial-mss { + type uint32 { + range "68..10000" { + description + "TCP initial maximum segment size"; + } + } + description + "TCP initial maximum segment size"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent tcp mss from being inherited from the parent"; + } + } + } + container bmp-activate { + description + "Enable BMP logging for this neighbor"; + container servers { + description + "Enable BMP connection to particular server"; + list server { + key "server-id"; + description + "Enable BMP connection to particular server"; + leaf server-id { + type uint32 { + range "1..8" { + description + "Enable BMP connection to particular server"; + } + } + description + "Enable BMP connection to particular server"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container keychain { + must "name or inheritance-disable"; + presence "Indicates a keychain node is configured."; + description + "Set keychain based authentication"; + leaf name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Name of the key chain - maximum 32 characters"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container local-as { + must "as-number or inheritance-disable"; + presence "Indicates a local-as node is configured."; + description + "Specify local AS number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container no-prepend { + presence "Indicates a no-prepend node is configured."; + description + "Do not prepend local AS to announcements from this neighbor"; + container replace-as { + presence "Indicates a replace-as node is configured."; + description + "Prepend only local AS to announcements to this neighbor"; + container dual-as { + presence "Indicates a dual-as node is configured."; + description + "Dual-AS mode"; + } + } + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local AS from being inherited from parent"; + } + } + container password { + must "encrypted or inheritance-disable"; + presence "Indicates a password node is configured."; + description + "Set a password"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent password from being inherited from parent"; + } + } + container receive-buffer-size { + presence "Indicates a receive-buffer-size node is configured."; + description + "Set socket and BGP receive buffer size"; + leaf receive-socket-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + description + "BGP Read buffer size in bytes"; + } + } + container send-buffer-size { + presence "Indicates a send-buffer-size node is configured."; + description + "Set socket and BGP send buffer size"; + leaf send-socket-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + mandatory true; + description + "Set socket and BGP send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + description + "BGP Write buffer size in bytes"; + } + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Administratively shut down this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent this neighbor being shutdown, even if its parent is"; + } + } + container timers { + presence "Indicates a timers node is configured."; + description + "BGP per neighbor timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + container local { + description + "Configure local parameter"; + container address { + must "ip-address or inheritance-disable"; + presence "Indicates a address node is configured."; + description + "use configured local address for bgp peering"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IPv4 address"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent local address from being inherited from parent"; + } + } + } + container log { + description + "Logging update messages per neighbor"; + container message { + description + "Logging update/notification messages per neighbor"; + container in { + description + "Inbound log messages"; + leaf message-log-buffer-size { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + container out { + description + "Outbound log messages"; + leaf range-for-message-log-buffer { + type uint32 { + range "1..500" { + description + "Range for message log buffer size"; + } + } + description + "Range for message log buffer size"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable outbound message logging"; + } + container inheritance-diable { + presence "Indicates a inheritance-diable node is configured."; + description + "Prevents the msg log from being inherited from the parent"; + } + } + } + } + leaf update-source { + type xr:Interface-name; + description + "Source of routing updates"; + } + container local-address-subnet { + description + "Local address subnet of routing updates"; + leaf ip-address { + type inet:ip-address-no-zone; + description + "IP address and mask or masklength"; + } + leaf mask-length { + type uint32 { + range "0..128" { + description + "IP address mask length"; + } + } + description + "IP address and mask length"; + } + } + container dmz-link-bandwidth { + presence "Indicates a dmz-link-bandwidth node is configured."; + description + "Propagate the DMZ link bandwidth"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent dmz-link-bandwidth from being inherited from the parent"; + } + } + container ebgp-recv-extcommunity-dmz { + presence "Indicates a ebgp-recv-extcommunity-dmz node is configured."; + description + "Receive extcommunity dmz link bandwidth from ebgp neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-community-dmz from being inherited from parent"; + } + } + container ebgp-send-extcommunity-dmz { + must "not(cumulative and inheritance-disable)"; + presence "Indicates a ebgp-send-extcommunity-dmz node is configured."; + description + "Send extended community dmz link bandwidth to ebgp neighbor"; + container cumulative { + presence "Indicates a cumulative node is configured."; + description + "Send cumulative community dmz link bandwidth of all multipaths to ebgp neighbor"; + } + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ebgp-send-extcommunity-dmz from being inherited from parent"; + } + } + container ttl-security { + presence "Indicates a ttl-security node is configured."; + description + "Enable EBGP TTL security"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent ttl-security from being inherited from the parent"; + } + } + container session-open-mode { + description + "Establish BGP session using this TCP open mode"; + container active-only { + must "not(../passive-only or ../both)"; + presence "Indicates a active-only node is configured."; + description + "Active only"; + } + container passive-only { + must "not(../active-only or ../both)"; + presence "Indicates a passive-only node is configured."; + description + "Passive only"; + } + container both { + must "not(../active-only or ../passive-only)"; + presence "Indicates a both node is configured."; + description + "Prevent session-open-mode being inherited from the parent"; + } + } + leaf dscp { + type enumeration { + enum "default" { + value 0; + description + "Set packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Set packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Set packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Set packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Set packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Set packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Set packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Set packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Set packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Set packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Set packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Set packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Set packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Set packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Set packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Set packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Set packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Set packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Set packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Set packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Set packets with CS7(precedence 7) dscp (111000)"; + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Set packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Set packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Set packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Set packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Set packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Set packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Set packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Set packets with network control precedence (7)"; + } + } + description + "Set precedence"; + } + container capability { + description + "Advertise capability to the peer"; + container suppress { + description + "Suppress advertising capability to the peer "; + container four-byte-as { + presence "Indicates a four-byte-as node is configured."; + description + "4-byte-as capability"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent capability suppress 4-type-as being inherited from the parent"; + } + } + container all { + presence "Indicates a all node is configured."; + description + "All capabilities"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + container extended-nexthop-encoding { + presence "Indicates a extended-nexthop-encoding node is configured."; + description + "Extended-nexthop-encoding capabilities (IETF RFC 5549)"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit this configuration from parent group"; + } + } + } + container additional-paths { + description + "Additional paths capability"; + container send { + presence "Indicates a send node is configured."; + description + "Additional paths Send capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Send capability"; + } + } + container receive { + presence "Indicates a receive node is configured."; + description + "Additional paths Receive capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not advertise additional paths Receive capability"; + } + } + } + } + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Enable graceful restart support for this neighbor"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable graceful restart support for this neighbor"; + } + leaf restart-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Restart time advertised to the neighbor"; + } + leaf stalepath-time { + type uint32 { + range "1..4095" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for restart of GR capable peer"; + } + } + container enforce-first-as { + presence "Indicates a enforce-first-as node is configured."; + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not enforce the first AS for EBGP routes"; + } + } + leaf maximum-peers { + type uint32 { + range "1..4095" { + description + "Maximum number of peers"; + } + } + description + "Maximum dynamic neighbors"; + } + leaf idle-watch-time { + type uint32 { + range "30..1800" { + description + "Max time (seconds)"; + } + } + description + "Maximum time to wait for deletion of IDLE state dynamic peer"; + } + container egress-engineering { + presence "Indicates a egress-engineering node is configured."; + description + "Enable egress peer engineering for this neighbor"; + container inheritance-disable { + presence "Indicates a inheritance-disable node is configured."; + description + "Do not inherit egress-engineering from the parent"; + } + } + container peer-sets { + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + list peer-set { + key "peer-set-id"; + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + leaf peer-set-id { + type uint32 { + range "1..255" { + description + "Identity value of peer-set"; + } + } + description + "Assign this neighbor to a peer-set used for egress peer engineering"; + } + } + } + container peer-node-sid { + description + "Assign this neighbor a manual SID for egress peer engineering"; + leaf index { + type uint32 { + range "0..1033575" { + description + "Segment Index to be assigned to this peer. The index will be off SRLB + Note: This imum index configurable in dynaminc SRLB range. + Since SRLB cnamic range, actual maximum index can vary. + So please locurrently configured SRLB range"; + } + } + description + "Segment Index value which is offset of SRLB"; + } + } + container ao { + description + "Enable Authentiation Option"; + leaf key-chain-name { + type string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + must "not(../inheritance-disable) and (../include-tcp-options/enable or ../include-tcp-options/disable)"; + description + "Name of the key chain - maximum 32 characters"; + } + container include-tcp-options { + description + "Include/Exclude other TCP options in the header"; + container enable { + must "not(../disable or ../../inheritance-disable)"; + presence "Indicates a enable node is configured."; + description + "Include other TCP options in the header"; + } + container disable { + must "not(../enable or ../../inheritance-disable)"; + presence "Indicates a disable node is configured."; + description + "Exclude other TCP options in the header"; + } + container accept-ao-mismatch-connection { + must "../enable or ../disable"; + presence "Indicates a accept-ao-mismatch-connection node is configured."; + description + "Accept new connection even if AO mismatched"; + } + } + container inheritance-disable { + must "not(../key-chain-name)"; + presence "Indicates a inheritance-disable node is configured."; + description + "Prevent keychain from being inherited from parent"; + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + container bestpath { + description + "Change default route selection criteria"; + container origin-as { + description + "BGP origin-AS knobs"; + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + } + } + } + container mpls { + description + "Enable mpls parameters"; + container activate { + description + "Enter mpls interfaces in BGP vrf mpls activation mode"; + container interfaces { + description + "Interface to enable mpls"; + list interface { + key "interface-name"; + description + "Interface to enable mpls"; + leaf interface-name { + type xr:Interface-name; + description + "Interface to enable mpls"; + } + } + } + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + } + } + leaf default-metric { + type uint32 { + range "1..4294967295" { + description + "Default metric"; + } + } + description + "default redistributed metric"; + } + container socket { + description + "set socket parameters"; + leaf send-buffer-size { + type uint32 { + range "4096..131072" { + description + "Send socket buffer size in bytes"; + } + } + description + "socket send buffer size"; + } + leaf bgp-write-buffer-size { + type uint32 { + range "4096..131072" { + description + "BGP Write buffer size in bytes"; + } + } + must "../send-buffer-size"; + description + "BGP Write buffer size in bytes"; + } + leaf receive-buffer-size { + type uint32 { + range "512..131072" { + description + "Receive socket buffer size in bytes"; + } + } + description + "socket receive buffer size"; + } + leaf bgp-read-buffer-size { + type uint32 { + range "512..131072" { + description + "BGP Read buffer size in bytes"; + } + } + must "../receive-buffer-size"; + description + "BGP Read buffer size in bytes"; + } + } + container nexthop { + description + "Configure next-hop related items"; + container mpls { + description + "Configure next-hop related items for mpls"; + container forwarding { + description + "Enable next hop mpls forwarding path"; + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Enable mpls forwarding path for ibgp learnt nexthops"; + } + } + } + container resolution { + description + "Configure next-hop related items for resolution"; + container allow-default { + presence "Indicates a allow-default node is configured."; + description + "Enable nexthops resolution using default route"; + } + } + } + container slow-peer { + description + "Disable slow peer detection"; + container detection { + description + "Disable slow peer detection"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable slow peer detection"; + } + } + } + container timers { + description + "Adjust routing timers"; + container bgp { + presence "Indicates a bgp node is configured."; + description + "BGP timers"; + leaf keepalive-interval { + type uint32 { + range "0..65535" { + description + "Keepalive interval"; + } + } + mandatory true; + description + "BGP timers"; + } + leaf holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Holdtime."; + } + } + } + mandatory true; + description + "Holdtime. Set 0 to disable keepalives/hold time."; + } + leaf minimum-acceptable-holdtime { + type union { + type uint32 { + range "0" { + description + "0 to disable keepalives/hold time."; + } + } + type uint32 { + range "3..65535" { + description + "Minimum acceptable holdtime from neighbor."; + } + } + } + description + "Minimum acceptable holdtime from neighbor. Set 0 to disable keepalives/hold time."; + } + } + } + container optimal-route-reflection { + description + "Configure optimal-route-reflection group"; + container ipv4 { + description + "IPv4 ORR group"; + list orr-group { + key "orr-group-name"; + description + "ORR group name - maximum 32 characters"; + leaf orr-group-name { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + leaf primary-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 primary address"; + } + leaf secondary-address { + type inet:ipv4-address-no-zone; + description + "IPv4 secondary address"; + } + leaf tertiary-address { + type inet:ipv4-address-no-zone; + must "../secondary-address"; + description + "IPv4 tertiary address"; + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "Flexiable Algorithm value"; + } + } + description + "Flexible Algorithm"; + } + } + } + container ipv6 { + description + "IPv6 ORR group"; + list orr-group { + key "orr-group-name"; + description + "ORR group name - maximum 32 characters"; + leaf orr-group-name { + type string { + length "1..32" { + description + "ORR group name - maximum 32 characters"; + } + } + description + "ORR group name - maximum 32 characters"; + } + leaf primary-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IPv6 primary address"; + } + leaf secondary-address { + type inet:ipv6-address-no-zone; + description + "IPv6 secondary address"; + } + leaf tertiary-address { + type inet:ipv6-address-no-zone; + must "../secondary-address"; + description + "IPv6 tertiary address"; + } + } + } + } + container bgp { + description + "BGP commands"; + container auto-policy-soft-reset { + description + "Enable automatic soft peer reset on policy reconfiguration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable automatic soft peer reset on policy reconfiguration"; + } + } + container bestpath { + description + "Change default route selection criteria"; + container as-path { + description + "AS path length"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore as-path length"; + } + container multipath-relax { + presence "Indicates a multipath-relax node is configured."; + description + "Relax as-path check for multipath selection"; + } + } + container cost-community { + description + "Cost community"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore cost-community comparison"; + } + } + container compare-routerid { + presence "Indicates a compare-routerid node is configured."; + description + "Compare router-id for identical EBGP paths"; + } + container aigp { + description + "AIGP attribute"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore AIGP attribute"; + } + } + container igp-metric { + description + "IGP metric values"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore IGP metric during path comparison"; + } + } + container med { + description + "MED related"; + container always { + presence "Indicates a always node is configured."; + description + "Allow comparing MED from different neighbors"; + } + container missing-as-worst { + presence "Indicates a missing-as-worst node is configured."; + description + "Treat missing MED as the least preferred one"; + } + } + container origin-as { + description + "BGP origin-AS knobs"; + container use { + description + "BGP origin-AS knobs"; + container validity { + presence "Indicates a validity node is configured."; + description + "BGP bestpath selection will use origin-AS validity"; + } + } + container allow { + description + "BGP origin-AS knobs"; + container invalid { + presence "Indicates a invalid node is configured."; + description + "BGP bestpath selection will allow 'invalid' origin-AS"; + } + } + } + container sr-policy { + description + "Paths over SR-policy"; + container prefer { + presence "Indicates a prefer node is configured."; + description + "Consider only paths over SR Policy for bestpath selection, eBGP no-color eligible"; + } + container force { + must "not(../prefer)"; + presence "Indicates a force node is configured."; + description + "Consider only paths over SR Policy for bestpath selection, eBGP no-color ineligible"; + } + } + } + container default { + description + "Configure default value"; + leaf local-preference { + type uint32 { + range "0..4294967295" { + description + "Higher = more preferred"; + } + } + description + "Local preference"; + } + } + container enforce-first-as { + description + "Enforce the first AS for EBGP routes"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + container fast-external-fallover { + description + "Immediately reset session if a link to a directly connected external peer goes down"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + container log { + description + "Log bgp info"; + container neighbor { + description + "Log neighbor state info"; + container changes { + description + "Log neighbor up/down and reset reason"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable logging"; + } + } + } + container message { + description + "Log neighbor inbound/outbound message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable inbound and outbound message logging for all neighbors under the vrf"; + } + } + } + container multipath { + description + "Change multipath selection criteria"; + container as-path { + description + "AS path"; + container ignore { + description + "Ignore as-path related check for multipath selection"; + container exact-match { + presence "Indicates a exact-match node is configured."; + description + "Ignore as-path for multipath selection"; + } + container onwards { + presence "Indicates a onwards node is configured."; + description + "Ignore everything onwards as-path for multipath selection"; + } + } + } + } + container redistribute-internal { + presence "Indicates a redistribute-internal node is configured."; + description + "Allow redistribution of iBGP into IGPs (dangerous)"; + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Configure Router-id"; + } + container unsafe-ebgp-policy { + presence "Indicates a unsafe-ebgp-policy node is configured."; + description + "Make eBGP neighbors with no policy pass all routes"; + } + container origin-as { + description + "BGP origin-AS knobs"; + container validation { + description + "BGP origin-AS validation knobs"; + container signal { + description + "Signal origin-AS validity towards peers"; + container ibgp { + presence "Indicates a ibgp node is configured."; + description + "Signal origin-AS validity towards iBGP peers"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RPKI origin-AS validation"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..16" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container rd { + must "auto or two-byte-as or four-byte-as or ip-address"; + presence "Indicates a rd node is configured."; + description + "route distinguisher"; + container auto { + must "not(../two-byte-as or ../four-byte-as or ../ip-address)"; + presence "Indicates a auto node is configured."; + description + "Automatic route distinguisher"; + } + container two-byte-as { + must "not(../auto or ../four-byte-as or ../ip-address)"; + presence "Indicates a two-byte-as node is configured."; + description + "two-byte-as route distinguisher"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "bgp as-number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container four-byte-as { + must "not(../auto or ../two-byte-as or ../ip-address)"; + presence "Indicates a four-byte-as node is configured."; + description + "four-byte-as route distinguisher"; + leaf as-number { + type xr:Bgp-as-number; + mandatory true; + description + "4-byte AS number"; + } + leaf index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + mandatory true; + description + "ASN2:index (hex or decimal format)"; + } + } + container ip-address { + must "not(../auto or ../two-byte-as or ../four-byte-as)"; + presence "Indicates a ip-address node is configured."; + description + "configure this node"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "configure this node"; + } + leaf index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + mandatory true; + description + "IPv4Address:index (hex or decimal format)"; + } + } + } + } + } + } + + augment "/a1:snmp-server/a1:traps" { + description + "This augment extends snmp-server traps nodes + configuration"; + container bgp { + description + "Enable BGP traps"; + container bgp4-mib { + presence "Indicates a bgp4-mib node is configured."; + description + "Enable BGP4-MIB and CISCO-BGP4-MIB traps"; + } + container bgp4-mib-updown { + presence "Indicates a updown node is configured."; + description + "Enable CISCO-BGP4-MIB v2 up/down traps"; + } + container cbgp2 { + presence "Indicates a cbgp2 node is configured."; + description + "Enable CISCO-BGP4-MIB v2 traps"; + } + container cbgp2-updown { + presence "Indicates a updown node is configured."; + description + "Enable CISCO-BGP4-MIB v2 up/down traps"; + } + } + } + augment "/a2:vrfs/a2:vrf/a2:address-family/a2:ipv4/a2:unicast" { + description + "This augment extends vrf ipv4 unicast nodes + configuration"; + uses VRF-COMMON; + } + augment "/a2:vrfs/a2:vrf/a2:address-family/a2:ipv4/a2:multicast" { + description + "This augment extends vrf ipv4 multicast nodes + configuration"; + uses VRF-COMMON; + } + augment "/a2:vrfs/a2:vrf/a2:address-family/a2:ipv4/a2:flowspec" { + description + "This augment extends vrf ipv4 flowspec nodes + configuration"; + uses VRF-COMMON; + } + augment "/a2:vrfs/a2:vrf/a2:address-family/a2:ipv6/a2:unicast" { + description + "This augment extends vrf ipv6 unicast nodes + configuration"; + uses VRF-COMMON; + } + augment "/a2:vrfs/a2:vrf/a2:address-family/a2:ipv6/a2:multicast" { + description + "This augment extends vrf ipv6 multicast nodes + configuration"; + uses VRF-COMMON; + } + augment "/a2:vrfs/a2:vrf/a2:address-family/a2:ipv6/a2:flowspec" { + description + "This augment extends vrf ipv6 flowspec nodes + configuration"; + uses VRF-COMMON; + } + augment "/a2:vrfs/a2:vrf" { + description + "This augment extends vrf nodes + configuration"; + uses VRF-RD; + } + container as-format { + description + "Autonomous system number format"; + container asdot { + must "not(../asplain)"; + presence "Indicates a asdot node is configured."; + description + "AS Dot format"; + } + container asplain { + must "not(../asdot)"; + presence "Indicates a asplain node is configured."; + description + "AS Plain format"; + } + } + container bmp { + description + "BGP Monitoring Protocol commands"; + container servers { + description + "BMP server configuration"; + list server { + key "bmp-server-id"; + description + "BMP server ID to configure"; + leaf bmp-server-id { + type uint32 { + range "1..8" { + description + "BMP server ID to configure"; + } + } + description + "BMP server ID to configure"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shutdown connection to BMP server"; + } + container host { + presence "Indicates a host node is configured."; + description + "Hostname of BMP Server"; + leaf host-name { + type string { + length "1..1024" { + description + "Name of the BMP server(accepts IP Address format too)"; + } + } + mandatory true; + description + "Hostname of BMP Server"; + } + leaf port { + type uint32 { + range "1..65535" { + description + "Port Number of listening BMP server"; + } + } + description + "BMP Server Listen Port"; + } + } + leaf initial-delay { + type uint32 { + range "1..3600" { + description + "Initial connect delay in sending BMP server updates"; + } + } + description + "Initial connect delay in sending BMP server updates. Default=0"; + } + leaf flapping-delay { + type uint32 { + range "60..3600" { + description + "Range in seconds for the connection delay after flap"; + } + } + description + "delay in connecting to BMP Server after a flap had been detected. Default=300"; + } + leaf max-buffer-size { + type uint32 { + range "1..4294967295" { + description + "Range in MegaBytes for the maximum buffer size of BMP message queue."; + } + } + description + "Set BMP message buffer size"; + } + container initial-refresh { + description + "Initial refresh to generate BGP updates. DEfault=1"; + container delay { + presence "Indicates a delay node is configured."; + description + "Initial delay before sending route refresh request"; + leaf initial-delay { + type uint32 { + range "1..3600" { + description + "Delay in sending Refresh request to Peers (default : 30 secs)"; + } + } + mandatory true; + description + "Initial delay before sending route refresh request"; + } + leaf spread { + type uint32 { + range "1..3600" { + description + "Maximum additional random delay (in secs)"; + } + } + description + "Maximum additional random delay for initial Refresh Request"; + } + } + container skip { + presence "Indicates a skip node is configured."; + description + "Skip sending Refresh request to Peers"; + } + } + leaf stats-reporting-period { + type uint32 { + range "1..3600" { + description + "Stats-report-period in seconds"; + } + } + description + "Stats reporting period for BMP server. Default=0"; + } + leaf description { + type string { + length "1..1024" { + description + "Up to 250 characters describing this BMP server"; + } + } + description + "BMP server specific description"; + } + leaf dscp { + type enumeration { + enum "default" { + value 0; + description + "Set packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Set packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Set packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Set packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Set packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Set packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Set packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Set packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Set packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Set packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Set packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Set packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Set packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Set packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Set packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Set packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Set packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Set packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Set packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Set packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Set packets with CS7(precedence 7) dscp (111000)"; + } + } + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type enumeration { + enum "routine" { + value 0; + description + "Set packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Set packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Set packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Set packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Set packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Set packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Set packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Set packets with network control precedence (7)"; + } + } + description + "Set precedence"; + } + leaf update-source { + type xr:Interface-name; + description + "Source to reach BMP server"; + } + leaf vrf { + type string { + length "1..1024" { + description + "VRF Name"; + } + } + description + "VRF for the BMP server"; + } + container tcp { + description + "Configure TCP related parameters"; + leaf keep-alive { + type uint32 { + range "0..7200" { + description + "Keep Alive interval in seconds"; + } + } + description + "configure TCP keep alives to be exchanged between client and server"; + } + leaf mss { + type uint32 { + range "68..10000" { + description + "TCP segment size in bytes"; + } + } + description + "configure TCP maximum segment size"; + } + } + } + container all { + description + "Common commands for all BMP servers"; + leaf max-buffer-size { + type uint32 { + range "1..4294967295" { + description + "Range in MegaBytes for the maximum buffer size of BMP message queue."; + } + } + description + "Maximum buffer limit upto which BMP messages will be queued to TCP sockets. + If total size of BMP messages queued up for BMP sockets exceeds this set limit, + messages will be dropped. The maximum buf-size is 20% and default buf-size is 15% + of the platform virtual memory max-limit (aka rlimit). Please run + show bgp process performance-statistics + to see the individual values. Unit is in MegaBytes."; + } + container route-monitoring { + description + "Enable Route Monitoring capability for the BMP servers. + BGP update messages will be regenerated with a table walk + "; + container policy { + status deprecated; + description + "Specify if the routes packed in update messages should + be before or after the application of route-policy. + NOTE: This is deprecated and will be removed in + release 7.12.1. Use the following command instead. + route-monitoring inbound post-policy"; + container post { + description + "pick up the routes after application of route-policy(post-policy)"; + container inbound { + presence "Indicates a inbound node is configured."; + description + "pick up the routes at inbound direction(peer router to self)"; + } + } + } + container bmp-modes { + description + "Enter BMP route monitoring command mode"; + list bmp-mode { + key "mode-name"; + description + "Enter BMP route monitoring command mode"; + leaf mode-name { + type Bmp-mode; + description + "Enter BMP route monitoring command mode"; + } + leaf advertisement-interval { + when "../mode-name = 'inbound-post-policy' or ../mode-name = 'local-rib'"; + type uint32 { + range "2..600" { + description + "Time in seconds"; + } + } + description + "Minimum interval between updates sent to BMP servers"; + } + leaf scan-time { + when "../mode-name = 'inbound-post-policy'"; + type uint32 { + range "5..3600" { + description + "Time in seconds"; + } + } + description + "Configure scanner interval"; + } + } + } + } + } + } + } + container router { + description + "Enable a routing process"; + container bgp { + description + "BGP configuration subcommands"; + container instances { + description + "Specify a instance name"; + list instance { + must "as"; + key "instance-name"; + description + "Specify a instance name"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "instance name (maximum length 32 characters)"; + } + } + description + "Specify a instance name"; + } + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + uses AS-COMMON; + } + } + } + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + uses AS-COMMON; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-convergence-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-convergence-cfg.yang new file mode 100644 index 000000000..8e9d24582 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-convergence-cfg.yang @@ -0,0 +1,283 @@ +module Cisco-IOS-XR-um-router-convergence-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-convergence-cfg"; + prefix um-router-convergence-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-convergence package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container router-convergence { + presence "Indicates a router-convergence node is configured."; + description + "Configure Router Convergence Monitoring"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the monitoring of route convergence on the entire router"; + } + leaf prefix-monitoring-limit { + type uint32 { + range "0..100" { + description + "Specify the number of events"; + } + } + description + "Limits Individual Prefix Monitoring"; + } + leaf monitoring-interval { + type uint32 { + range "5..120" { + description + "Specify the interval (in mins)"; + } + } + description + "Interval in which to collect logs (in mins)"; + } + leaf max-events-stored { + type uint32 { + range "10..500" { + description + "Specify the maximum number of events stored"; + } + } + description + "Maximum number of events stored in the server"; + } + leaf event-buffer-size { + type uint32 { + range "100..500" { + description + "Specify the number of events"; + } + } + description + "Event buffer size for storing event traces (as number of events)"; + } + container collect-diagnosticses { + description + "Collect diagnostics on specified node"; + list collect-diagnostics { + key "collect-diagnostics-name"; + description + "Collect diagnostics on specified node"; + leaf collect-diagnostics-name { + type xr:Node-id; + description + "Collect diagnostics on specified node"; + } + } + } + container protocols { + description + "Protocol for which to configure RCMD parameters"; + list protocol { + key "protocol-id"; + description + "Protocol for which to configure RCMD parameters"; + leaf protocol-id { + type enumeration { + enum "OSPF" { + value 0; + description + "Configure parameters related to OSPF"; + } + enum "ISIS" { + value 1; + description + "Configure parameters related to ISIS"; + } + } + description + "Protocol for which to configure RCMD parameters"; + } + container priorities { + description + "Priority"; + list priority { + key "priority-id"; + description + "Priority"; + leaf priority-id { + type enumeration { + enum "Critical" { + value 0; + description + "Critical routes"; + } + enum "High" { + value 1; + description + "High priority routes"; + } + enum "Medium" { + value 2; + description + "Medium priority routes"; + } + enum "Low" { + value 3; + description + "Low priority routes"; + } + } + description + "Priority"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the monitoring of route convergence for specified priority"; + } + leaf threshold { + type uint32 { + range "0..4294967295" { + description + "Specify the threshold value (in msec)"; + } + } + description + "Threshold value for convergence (in msec)"; + } + leaf leaf-network { + type uint32 { + range "10..100" { + description + "Specify the maximum number of leaf networks monitored"; + } + } + description + "Leaf Network monitoring"; + } + leaf frr-threshold { + type uint32 { + range "1..100" { + description + "Specify the threshold value (in percentage)"; + } + } + description + "Threshold value for Fast ReRoute Coverage (in percentage)"; + } + } + } + } + } + container nodes { + description + "Configure parameters for the specified node (Partially qualified location allowed)"; + list node { + key "node-id"; + description + "Configure parameters for the specified node (Partially qualified location allowed)"; + leaf node-id { + type xr:Pq-node-id; + description + "Configure parameters for the specified node (Partially qualified location allowed)"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the monitoring of route convergence on specified location"; + } + } + } + container storage-location { + presence "Indicates a storage-location node is configured."; + description + "Absolute directory path for saving the archive files. Example /disk0:/rcmd/ or /rcmd/"; + leaf reports { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Specify the directory path. Example /disk0:/rcmd/ or /rcmd/"; + } + } + description + "Absolute directory path for storing reports. Example /disk0:/rcmd/ or /rcmd/"; + } + leaf reports-size { + type uint32 { + range "5..80" { + description + "Specify the maximum directory size(in %)"; + } + } + description + "Maximum size of reports dir (5% - 80%) for local storage."; + } + leaf diagnostics { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Specify the directory path. Example /disk0:/rcmd/ or /rcmd/"; + } + } + description + "Absolute directory path for storing diagnostic reports. Example /disk0:/rcmd/ or /rcmd/"; + } + leaf diagnostics-size { + type uint32 { + range "5..80" { + description + "Specify the maximum directory size(in %)"; + } + } + description + "Maximum size of diagnostics dir (5% - 80%) for local storage."; + } + } + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + description + "RCMD related configuration for MPLS-LDP"; + container remote-lfa { + presence "Indicates a remote-lfa node is configured."; + description + "Monitoring configuration for Remote LFA"; + leaf label-coverage-threshold { + type uint32 { + range "1..100" { + description + "Specify the threshold value (in percentage)"; + } + } + description + "Threshold value for label coverage (in percentage)"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-eigrp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-eigrp-cfg.yang new file mode 100644 index 000000000..045c5dcb2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-eigrp-cfg.yang @@ -0,0 +1,4214 @@ +module Cisco-IOS-XR-um-router-eigrp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-eigrp-cfg"; + prefix um-router-eigrp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-eigrp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container router { + description + "Enable a routing process"; + container eigrp { + description + "EIGRP configuration subcommands"; + container processes { + description + "AS number (1 - 65535) or Virtual instance name of the EIGRP process"; + list process { + key "process-name"; + description + "AS number (1 - 65535) or Virtual instance name of the EIGRP process"; + leaf process-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "AS number (1 - 65535) or Virtual instance name of the EIGRP process"; + } + } + description + "AS number (1 - 65535) or Virtual instance name of the EIGRP process"; + } + container nsf { + description + "Global NSF related configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NSF for all address families under all VRF's"; + } + } + container address-family { + description + "EIGRP address-family configuration submode"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4 Address Family"; + container auto-summary { + presence "Indicates a auto-summary node is configured."; + description + "Auto summarisation"; + } + leaf autonomous-system { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Set the autonomous system of VRF"; + } + container default-information { + description + "Handling of default route"; + container allowed { + description + "Accept/Advertise a candidate default route"; + container in { + presence "Indicates a in node is configured."; + description + "Accept candidate default information inbound"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter with an RPL policy"; + } + } + container out { + presence "Indicates a out node is configured."; + description + "Advertise candidate default information outbound"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter with an RPL policy"; + } + } + } + } + leaf default-metric { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + must "../delay-metric-in-10-microsecond"; + description + "Set metric of redistributed routes"; + } + leaf delay-metric-in-10-microsecond { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + must "../default-metric"; + must "../reliability-metric"; + description + "Delay metric, in 10 microsecond units"; + } + leaf reliability-metric { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + must "../delay-metric-in-10-microsecond"; + must "../effective-bandwidth-metric"; + description + "Reliability metric where 255 is 100% reliable"; + } + leaf effective-bandwidth-metric { + type uint32 { + range "1..255" { + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + } + must "../reliability-metric"; + must "../maximum-transmission-unit"; + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + leaf maximum-transmission-unit { + type uint32 { + range "1..65535" { + description + "Maximum Transmission Unit metric of the path"; + } + } + must "../effective-bandwidth-metric"; + description + "Maximum Transmission Unit metric of the path"; + } + leaf distance { + type uint32 { + range "1..255" { + description + "Internal routes' distance"; + } + } + must "../external-routes-distance"; + description + "Set distance for EIGRP routes"; + } + leaf external-routes-distance { + type uint32 { + range "1..255" { + description + "External routes' distance"; + } + } + must "../distance"; + description + "External routes' distance"; + } + container log-neighbor-changes { + presence "Indicates a log-neighbor-changes node is configured."; + description + "Enable/Disable EIGRP neighbor logging"; + } + container log-neighbor-warnings { + presence "Indicates a log-neighbor-warnings node is configured."; + description + "Enable/Disable EIGRP neighbor warnings"; + } + leaf maximum-paths { + type uint32 { + range "1..32" { + description + "number of paths"; + } + } + description + "Maximum paths"; + } + container metric { + description + "Modify EIGRP routing metrics and parameters"; + leaf maximum-hops { + type uint32 { + range "1..255" { + description + "Hop count"; + } + } + description + "Advertise EIGRP routes greater than as unreachable"; + } + leaf rib-scale { + type uint32 { + range "1..255" { + description + "RIB metric scale-down value "; + } + } + description + "Change the value by which the RIB metric is to be scaled down"; + } + leaf weights { + type uint32 { + range "0" { + description + "Type of Service (Only TOS 0 supported)"; + } + } + description + "EIGRP metric coefficients"; + } + leaf k1 { + type uint32 { + range "0..255" { + description + "K1"; + } + } + must "../weights"; + description + "K1"; + } + leaf k2 { + type uint32 { + range "0..255" { + description + "K2"; + } + } + must "../k1"; + description + "K2"; + } + leaf k3 { + type uint32 { + range "0..255" { + description + "K3"; + } + } + must "../k2"; + description + "K3"; + } + leaf k4 { + type uint32 { + range "0..255" { + description + "K4"; + } + } + must "../k3"; + description + "K4"; + } + leaf k5 { + type uint32 { + range "0..255" { + description + "K5"; + } + } + must "../k4"; + description + "K5"; + } + leaf k6 { + type uint32 { + range "0..255" { + description + "K6"; + } + } + must "../k5"; + description + "K6"; + } + container version { + description + "Change the EIGRP metric version"; + container thirty-two-bit { + presence "Indicates a thirty-two-bit node is configured."; + description + "Change to 32-bit metric version"; + } + } + } + container nsf { + description + "Address family specific NSF related configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NSF for this address family under this VRF"; + } + } + container redistribute { + description + "Redistribute another protocol"; + container bgp { + description + "Border Gateway Protocol (BGP) routes"; + container ases { + description + "bgp as-number"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container eigrps { + description + "EIGRP routes"; + list eigrp { + key "as-number"; + description + "EIGRP routes"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "AS number of the redistributed EIGRP process"; + } + } + description + "EIGRP routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container isises { + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + list isis { + key "instance-name"; + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ISIS instance name"; + } + } + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container applications { + description + "OnePK application routes"; + list application { + key "application-name"; + description + "OnePK application routes"; + leaf application-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OnePK application name"; + } + } + description + "OnePK application routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container ospfs { + description + "Open Shortest Path First (OSPF) routes"; + list ospf { + key "ospf-name"; + description + "Open Shortest Path First (OSPF) routes"; + leaf ospf-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OSPF instance name"; + } + } + description + "Open Shortest Path First (OSPF) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol (RIP) routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container passive-interface { + description + "Suppress routing updates on all interfaces"; + container default { + presence "Indicates a default node is configured."; + description + "Interfaces passive by default"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Set router ID"; + } + container stub { + presence "Indicates a stub node is configured."; + description + "EIGRP stub"; + container receive-only { + presence "Indicates a receive-only node is configured."; + description + "Set EIGRP as receive only neighbor"; + } + container connected { + presence "Indicates a connected node is configured."; + description + "Do advertise connected routes"; + } + container redistributed { + presence "Indicates a redistributed node is configured."; + description + "Do advertise redistributed routes"; + } + container static { + presence "Indicates a static node is configured."; + description + "Do advertise static routes"; + } + container summary { + presence "Indicates a summary node is configured."; + description + "Do advertise summary routes"; + } + } + container timers { + description + "Configure EIGRP timers"; + container active-time { + description + "Configure active time"; + leaf active-time-limit { + type uint32 { + range "1..4294967295" { + description + "Active time limit (in seconds)"; + } + } + must "not(../disabled)"; + description + "Active time limit (in seconds)"; + } + container disabled { + must "not(../active-time-limit)"; + presence "Indicates a disabled node is configured."; + description + "Disable active timer"; + } + } + container nsf { + description + "Configure NSF timers"; + leaf route-hold { + type uint32 { + range "20..6000" { + description + "Hold time (in seconds)"; + } + } + description + "Route hold time for inactive peer"; + } + leaf signal { + type uint32 { + range "10..30" { + description + "Signal time (in seconds)"; + } + } + description + "Route signal time"; + } + leaf converge { + type uint32 { + range "60..5000" { + description + "Converge time (in seconds)"; + } + } + description + "Route converge time"; + } + } + } + leaf variance { + type uint32 { + range "1..128" { + description + "Metric variance multiplier"; + } + } + description + "Control load balancing variance"; + } + container interfaces { + description + "EIGRP interface configuration submode"; + list interface { + key "interface-name"; + description + "EIGRP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "EIGRP interface configuration submode"; + } + container authentication { + description + "Authentication configuration"; + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Authentication keychain name"; + } + pattern "[a-zA-Z0-9@#;:$._-]*"; + } + description + "Authentication keychain configuration"; + } + } + leaf bandwidth-percent { + type uint32 { + range "1..999999" { + description + "Percent"; + } + } + description + "Bandwidth limit"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable BFD fast detection"; + } + leaf minimum-interval { + type uint32 { + range "15..3000" { + description + "BFD interval (in milliseconds)"; + } + } + description + "BFD minimum-interval configuration"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "BFD multiplier"; + } + } + description + "BFD multiplier configuration"; + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Interval (in seconds)"; + } + } + description + "Hello interval"; + } + leaf hold-time { + type uint32 { + range "1..65535" { + description + "Neighbor hold time (in seconds)"; + } + } + description + "Hold Time"; + } + container metric { + description + "Metric"; + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + description + "Interface bandwidth"; + } + leaf delay { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + description + "Interface delay"; + } + container picoseconds { + must "../delay"; + presence "Indicates a picoseconds node is configured."; + description + "Interpret configured delay to be in picosecond units"; + } + leaf reliability { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + description + "Interface reliability"; + } + leaf load { + type uint32 { + range "1..255" { + description + "Load metric where 255 is 100% loaded"; + } + } + description + "Interface load"; + } + } + container neighbors { + description + "Configure Neighbor"; + list neighbor { + key "address"; + description + "Neighbor IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Neighbor IPv4 address"; + } + leaf remote { + type uint32 { + range "2..99" { + description + "Maxhops range"; + } + } + description + "Configure max-hop count"; + } + } + } + container remote-neighbor { + description + "Configure Remote-Neighbor"; + container unicast-listen { + presence "Indicates a unicast-listen node is configured."; + description + "Configure unicast-listen"; + leaf allow-list { + type xr:Route-policy-name; + description + "Policy list for allowing neighbors"; + } + leaf max-neighbors { + type uint32 { + range "1..65535" { + description + "Max number of neighbors"; + } + } + description + "Max count of the neighbors allowed"; + } + } + } + container next-hop-self { + description + "Configure next-hop-self"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable next-hop-self"; + } + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + container site-of-origin { + description + "Configure Site-of-origin"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "2-byte AS number"; + } + } + must + "../two-byte-as-index and + not(../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "2-byte AS number"; + } + leaf two-byte-as-index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "ASN2:index (hex or decimal format)"; + } + leaf four-byte-as-number-asplain { + type uint32 { + range "65536..4294967295" { + description + "4-byte AS number"; + } + } + must + "../four-byte-as-index and + not(../two-byte-as-number or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "4-byte AS number in asplain format"; + } + leaf four-byte-as-number-asdot-x { + type uint32 { + range "1..65535" { + description + "4-byte AS number in asdot x"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-y and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-number-asdot-y { + type uint32 { + range "0..65535" { + description + "4-byte AS number in asdot y"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-x and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-index { + type uint32 { + range "0..65535" { + description + "ASN4:index (hex or decimal format)"; + } + } + must + "../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x"; + description + "ASN4:index (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must + "../ipv4-address-index and + not(../two-byte-as-number or + ../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x)"; + description + "IPv4 address"; + } + leaf ipv4-address-index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IPv4Address:index (hex or decimal format)"; + } + } + container split-horizon { + description + "Configure split horizon behaviour"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horizon"; + } + } + container summary-address { + description + "Summary address"; + list ip-address { + key "address length"; + description + "IPv4 Prefix/length or Prefix and Mask"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix/length or Prefix and Mask"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "IPv4 Prefix/length or Prefix and Mask"; + } + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + mandatory true; + description + "Administrative distance"; + } + } + } + } + } + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6 Address Family"; + leaf autonomous-system { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Set the autonomous system of VRF"; + } + leaf default-metric { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + must "../delay-metric-in-10-microsecond"; + description + "Set metric of redistributed routes"; + } + leaf delay-metric-in-10-microsecond { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + must "../default-metric"; + must "../reliability-metric"; + description + "Delay metric, in 10 microsecond units"; + } + leaf reliability-metric { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + must "../delay-metric-in-10-microsecond"; + must "../effective-bandwidth-metric"; + description + "Reliability metric where 255 is 100% reliable"; + } + leaf effective-bandwidth-metric { + type uint32 { + range "1..255" { + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + } + must "../reliability-metric"; + must "../maximum-transmission-unit"; + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + leaf maximum-transmission-unit { + type uint32 { + range "1..65535" { + description + "Maximum Transmission Unit metric of the path"; + } + } + must "../effective-bandwidth-metric"; + description + "Maximum Transmission Unit metric of the path"; + } + leaf distance { + type uint32 { + range "1..255" { + description + "Internal routes' distance"; + } + } + must "../external-routes-distance"; + description + "Set distance for EIGRP routes"; + } + leaf external-routes-distance { + type uint32 { + range "1..255" { + description + "External routes' distance"; + } + } + must "../distance"; + description + "External routes' distance"; + } + container log-neighbor-changes { + presence "Indicates a log-neighbor-changes node is configured."; + description + "Enable/Disable EIGRP neighbor logging"; + } + container log-neighbor-warnings { + presence "Indicates a log-neighbor-warnings node is configured."; + description + "Enable/Disable EIGRP neighbor warnings"; + } + leaf maximum-paths { + type uint32 { + range "1..32" { + description + "number of paths"; + } + } + description + "Maximum paths"; + } + container metric { + description + "Modify EIGRP routing metrics and parameters"; + leaf maximum-hops { + type uint32 { + range "1..255" { + description + "Hop count"; + } + } + description + "Advertise EIGRP routes greater than as unreachable"; + } + leaf rib-scale { + type uint32 { + range "1..255" { + description + "RIB metric scale-down value "; + } + } + description + "Change the value by which the RIB metric is to be scaled down"; + } + leaf weights { + type uint32 { + range "0" { + description + "Type of Service (Only TOS 0 supported)"; + } + } + description + "EIGRP metric coefficients"; + } + leaf k1 { + type uint32 { + range "0..255" { + description + "K1"; + } + } + must "../weights"; + description + "K1"; + } + leaf k2 { + type uint32 { + range "0..255" { + description + "K2"; + } + } + must "../k1"; + description + "K2"; + } + leaf k3 { + type uint32 { + range "0..255" { + description + "K3"; + } + } + must "../k2"; + description + "K3"; + } + leaf k4 { + type uint32 { + range "0..255" { + description + "K4"; + } + } + must "../k3"; + description + "K4"; + } + leaf k5 { + type uint32 { + range "0..255" { + description + "K5"; + } + } + must "../k4"; + description + "K5"; + } + leaf k6 { + type uint32 { + range "0..255" { + description + "K6"; + } + } + must "../k5"; + description + "K6"; + } + container version { + description + "Change the EIGRP metric version"; + container thirty-two-bit { + presence "Indicates a thirty-two-bit node is configured."; + description + "Change to 32-bit metric version"; + } + } + } + container nsf { + description + "Address family specific NSF related configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NSF for this address family under this VRF"; + } + } + container redistribute { + description + "Redistribute another protocol"; + container bgp { + description + "Border Gateway Protocol (BGP) routes"; + container ases { + description + "bgp as-number"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container eigrps { + description + "EIGRP routes"; + list eigrp { + key "as-number"; + description + "EIGRP routes"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "AS number of the redistributed EIGRP process"; + } + } + description + "EIGRP routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container isises { + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + list isis { + key "instance-name"; + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ISIS instance name"; + } + } + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container applications { + description + "OnePK application routes"; + list application { + key "application-name"; + description + "OnePK application routes"; + leaf application-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OnePK application name"; + } + } + description + "OnePK application routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container ospfv3s { + description + "IPv6 Open Shortest Path First (OSPFv3) routes"; + list ospfv3 { + key "ospfv3-name"; + description + "IPv6 Open Shortest Path First (OSPFv3) routes"; + leaf ospfv3-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OSPFv3 instance name"; + } + } + description + "IPv6 Open Shortest Path First (OSPFv3) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + } + container passive-interface { + description + "Suppress routing updates on all interfaces"; + container default { + presence "Indicates a default node is configured."; + description + "Interfaces passive by default"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Set router ID"; + } + container stub { + presence "Indicates a stub node is configured."; + description + "EIGRP stub"; + container receive-only { + presence "Indicates a receive-only node is configured."; + description + "Set EIGRP as receive only neighbor"; + } + container connected { + presence "Indicates a connected node is configured."; + description + "Do advertise connected routes"; + } + container redistributed { + presence "Indicates a redistributed node is configured."; + description + "Do advertise redistributed routes"; + } + container static { + presence "Indicates a static node is configured."; + description + "Do advertise static routes"; + } + container summary { + presence "Indicates a summary node is configured."; + description + "Do advertise summary routes"; + } + } + container timers { + description + "Configure EIGRP timers"; + container active-time { + description + "Configure active time"; + leaf active-time-limit { + type uint32 { + range "1..4294967295" { + description + "Active time limit (in seconds)"; + } + } + must "not(../disabled)"; + description + "Active time limit (in seconds)"; + } + container disabled { + must "not(../active-time-limit)"; + presence "Indicates a disabled node is configured."; + description + "Disable active timer"; + } + } + container nsf { + description + "Configure NSF timers"; + leaf route-hold { + type uint32 { + range "20..6000" { + description + "Hold time (in seconds)"; + } + } + description + "Route hold time for inactive peer"; + } + leaf signal { + type uint32 { + range "10..30" { + description + "Signal time (in seconds)"; + } + } + description + "Route signal time"; + } + leaf converge { + type uint32 { + range "60..5000" { + description + "Converge time (in seconds)"; + } + } + description + "Route converge time"; + } + } + } + leaf variance { + type uint32 { + range "1..128" { + description + "Metric variance multiplier"; + } + } + description + "Control load balancing variance"; + } + container interfaces { + description + "EIGRP interface configuration submode"; + list interface { + key "interface-name"; + description + "EIGRP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "EIGRP interface configuration submode"; + } + container authentication { + description + "Authentication configuration"; + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Authentication keychain name"; + } + pattern "[a-zA-Z0-9@#;:$._-]*"; + } + description + "Authentication keychain configuration"; + } + } + leaf bandwidth-percent { + type uint32 { + range "1..999999" { + description + "Percent"; + } + } + description + "Bandwidth limit"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable BFD fast detection"; + } + leaf minimum-interval { + type uint32 { + range "15..3000" { + description + "BFD interval (in milliseconds)"; + } + } + description + "BFD minimum-interval configuration"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "BFD multiplier"; + } + } + description + "BFD multiplier configuration"; + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Interval (in seconds)"; + } + } + description + "Hello interval"; + } + leaf hold-time { + type uint32 { + range "1..65535" { + description + "Neighbor hold time (in seconds)"; + } + } + description + "Hold Time"; + } + container metric { + description + "Metric"; + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + description + "Interface bandwidth"; + } + leaf delay { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + description + "Interface delay"; + } + container picoseconds { + must "../delay"; + presence "Indicates a picoseconds node is configured."; + description + "Interpret configured delay to be in picosecond units"; + } + leaf reliability { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + description + "Interface reliability"; + } + leaf load { + type uint32 { + range "1..255" { + description + "Load metric where 255 is 100% loaded"; + } + } + description + "Interface load"; + } + } + container neighbors { + description + "Configure Neighbor"; + list neighbor { + key "address"; + description + "Neighbor IPv4 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Neighbor IPv6 address"; + } + leaf remote { + type uint32 { + range "2..99" { + description + "Maxhops range"; + } + } + description + "Configure max-hop count"; + } + } + } + container remote-neighbor { + description + "Configure Remote-Neighbor"; + container unicast-listen { + presence "Indicates a unicast-listen node is configured."; + description + "Configure unicast-listen"; + leaf allow-list { + type xr:Route-policy-name; + description + "Policy list for allowing neighbors"; + } + leaf max-neighbors { + type uint32 { + range "1..65535" { + description + "Max number of neighbors"; + } + } + description + "Max count of the neighbors allowed"; + } + } + } + container next-hop-self { + description + "Configure next-hop-self"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable next-hop-self"; + } + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + container site-of-origin { + description + "Configure Site-of-origin"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "2-byte AS number"; + } + } + must + "../two-byte-as-index and + not(../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "2-byte AS number"; + } + leaf two-byte-as-index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "ASN2:index (hex or decimal format)"; + } + leaf four-byte-as-number-asplain { + type uint32 { + range "65536..4294967295" { + description + "4-byte AS number"; + } + } + must + "../four-byte-as-index and + not(../two-byte-as-number or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "4-byte AS number in asplain format"; + } + leaf four-byte-as-number-asdot-x { + type uint32 { + range "1..65535" { + description + "4-byte AS number in asdot x"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-y and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-number-asdot-y { + type uint32 { + range "0..65535" { + description + "4-byte AS number in asdot y"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-x and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-index { + type uint32 { + range "0..65535" { + description + "ASN4:index (hex or decimal format)"; + } + } + must + "../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x"; + description + "ASN4:index (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must + "../ipv4-address-index and + not(../two-byte-as-number or + ../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x)"; + description + "IPv4 address"; + } + leaf ipv4-address-index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IPv4Address:index (hex or decimal format)"; + } + } + container split-horizon { + description + "Configure split horizon behaviour"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horizon"; + } + } + container summary-address { + description + "Summary address"; + list ip-address { + key "address length"; + description + "IPv6 Prefix/length or Prefix and Mask"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 Prefix/length or Prefix and Mask"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "IPv4 Prefix/length or Prefix and Mask"; + } + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + mandatory true; + description + "Administrative distance"; + } + } + } + } + } + } + } + container vrfs { + description + "EIGRP VRF configuration submode"; + list vrf { + key "vrf-name"; + description + "EIGRP VRF configuration submode"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + description + "EIGRP VRF configuration submode"; + } + container address-family { + description + "EIGRP VRF address-family configuration submode"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPv4 Address Family"; + container auto-summary { + presence "Indicates a auto-summary node is configured."; + description + "Auto summarisation"; + } + leaf autonomous-system { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Set the autonomous system of VRF"; + } + container default-information { + description + "Handling of default route"; + container allowed { + description + "Accept/Advertise a candidate default route"; + container in { + presence "Indicates a in node is configured."; + description + "Accept candidate default information inbound"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter with an RPL policy"; + } + } + container out { + presence "Indicates a out node is configured."; + description + "Advertise candidate default information outbound"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter with an RPL policy"; + } + } + } + } + leaf default-metric { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + must "../delay-metric-in-10-microsecond"; + description + "Set metric of redistributed routes"; + } + leaf delay-metric-in-10-microsecond { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + must "../default-metric"; + must "../reliability-metric"; + description + "Delay metric, in 10 microsecond units"; + } + leaf reliability-metric { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + must "../delay-metric-in-10-microsecond"; + must "../effective-bandwidth-metric"; + description + "Reliability metric where 255 is 100% reliable"; + } + leaf effective-bandwidth-metric { + type uint32 { + range "1..255" { + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + } + must "../reliability-metric"; + must "../maximum-transmission-unit"; + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + leaf maximum-transmission-unit { + type uint32 { + range "1..65535" { + description + "Maximum Transmission Unit metric of the path"; + } + } + must "../effective-bandwidth-metric"; + description + "Maximum Transmission Unit metric of the path"; + } + leaf distance { + type uint32 { + range "1..255" { + description + "Internal routes' distance"; + } + } + must "../external-routes-distance"; + description + "Set distance for EIGRP routes"; + } + leaf external-routes-distance { + type uint32 { + range "1..255" { + description + "External routes' distance"; + } + } + must "../distance"; + description + "External routes' distance"; + } + container log-neighbor-changes { + presence "Indicates a log-neighbor-changes node is configured."; + description + "Enable/Disable EIGRP neighbor logging"; + } + container log-neighbor-warnings { + presence "Indicates a log-neighbor-warnings node is configured."; + description + "Enable/Disable EIGRP neighbor warnings"; + } + leaf maximum-paths { + type uint32 { + range "1..32" { + description + "number of paths"; + } + } + description + "Maximum paths"; + } + container metric { + description + "Modify EIGRP routing metrics and parameters"; + leaf maximum-hops { + type uint32 { + range "1..255" { + description + "Hop count"; + } + } + description + "Advertise EIGRP routes greater than as unreachable"; + } + leaf rib-scale { + type uint32 { + range "1..255" { + description + "RIB metric scale-down value "; + } + } + description + "Change the value by which the RIB metric is to be scaled down"; + } + leaf weights { + type uint32 { + range "0" { + description + "Type of Service (Only TOS 0 supported)"; + } + } + description + "EIGRP metric coefficients"; + } + leaf k1 { + type uint32 { + range "0..255" { + description + "K1"; + } + } + must "../weights"; + description + "K1"; + } + leaf k2 { + type uint32 { + range "0..255" { + description + "K2"; + } + } + must "../k1"; + description + "K2"; + } + leaf k3 { + type uint32 { + range "0..255" { + description + "K3"; + } + } + must "../k2"; + description + "K3"; + } + leaf k4 { + type uint32 { + range "0..255" { + description + "K4"; + } + } + must "../k3"; + description + "K4"; + } + leaf k5 { + type uint32 { + range "0..255" { + description + "K5"; + } + } + must "../k4"; + description + "K5"; + } + leaf k6 { + type uint32 { + range "0..255" { + description + "K6"; + } + } + must "../k5"; + description + "K6"; + } + container version { + description + "Change the EIGRP metric version"; + container thirty-two-bit { + presence "Indicates a thirty-two-bit node is configured."; + description + "Change to 32-bit metric version"; + } + } + } + container nsf { + description + "Address family specific NSF related configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NSF for this address family under this VRF"; + } + } + container redistribute { + description + "Redistribute another protocol"; + container bgp { + description + "Border Gateway Protocol (BGP) routes"; + container ases { + description + "bgp as-number"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container eigrps { + description + "EIGRP routes"; + list eigrp { + key "as-number"; + description + "EIGRP routes"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "AS number of the redistributed EIGRP process"; + } + } + description + "EIGRP routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container isises { + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + list isis { + key "instance-name"; + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ISIS instance name"; + } + } + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container applications { + description + "OnePK application routes"; + list application { + key "application-name"; + description + "OnePK application routes"; + leaf application-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OnePK application name"; + } + } + description + "OnePK application routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container ospfs { + description + "Open Shortest Path First (OSPF) routes"; + list ospf { + key "ospf-name"; + description + "Open Shortest Path First (OSPF) routes"; + leaf ospf-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OSPF instance name"; + } + } + description + "Open Shortest Path First (OSPF) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol (RIP) routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + leaf maximum-prefix { + type uint32 { + range "1..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + description + "Maximum number of prefixes redistributed to protocol"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + must "../threshold-percentage"; + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + container dampened { + presence "Indicates a dampened node is configured."; + description + "Enable decay penalty to be applied to time period"; + } + leaf reset-time { + type uint32 { + range "0..4294967295" { + description + "Reset period (in minutes)"; + } + } + description + "Time to reset restart count"; + } + leaf restart { + type uint32 { + range "0..4294967295" { + description + "Restart period (in minutes)"; + } + } + description + "Shutdown time after hitting max-prefix limit"; + } + leaf restart-count { + type uint32 { + range "0..4294967295" { + description + "Restart count"; + } + } + description + "Restart count after hitting max-prefix limit"; + } + } + } + container passive-interface { + description + "Suppress routing updates on all interfaces"; + container default { + presence "Indicates a default node is configured."; + description + "Interfaces passive by default"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Set router ID"; + } + container stub { + presence "Indicates a stub node is configured."; + description + "EIGRP stub"; + container receive-only { + presence "Indicates a receive-only node is configured."; + description + "Set EIGRP as receive only neighbor"; + } + container connected { + presence "Indicates a connected node is configured."; + description + "Do advertise connected routes"; + } + container redistributed { + presence "Indicates a redistributed node is configured."; + description + "Do advertise redistributed routes"; + } + container static { + presence "Indicates a static node is configured."; + description + "Do advertise static routes"; + } + container summary { + presence "Indicates a summary node is configured."; + description + "Do advertise summary routes"; + } + } + container timers { + description + "Configure EIGRP timers"; + container active-time { + description + "Configure active time"; + leaf active-time-limit { + type uint32 { + range "1..4294967295" { + description + "Active time limit (in seconds)"; + } + } + must "not(../disabled)"; + description + "Active time limit (in seconds)"; + } + container disabled { + must "not(../active-time-limit)"; + presence "Indicates a disabled node is configured."; + description + "Disable active timer"; + } + } + container nsf { + description + "Configure NSF timers"; + leaf route-hold { + type uint32 { + range "20..6000" { + description + "Hold time (in seconds)"; + } + } + description + "Route hold time for inactive peer"; + } + leaf signal { + type uint32 { + range "10..30" { + description + "Signal time (in seconds)"; + } + } + description + "Route signal time"; + } + leaf converge { + type uint32 { + range "60..5000" { + description + "Converge time (in seconds)"; + } + } + description + "Route converge time"; + } + } + } + leaf variance { + type uint32 { + range "1..128" { + description + "Metric variance multiplier"; + } + } + description + "Control load balancing variance"; + } + leaf maximum-prefix { + type uint32 { + range "1..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + description + "Maximum number of IP prefixes acceptable in aggregate"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + must "../threshold-percentage"; + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + container dampened { + presence "Indicates a dampened node is configured."; + description + "Enable decay penalty to be applied to time period"; + } + leaf reset-time { + type uint32 { + range "0..4294967295" { + description + "Reset period (in minutes)"; + } + } + description + "Time to reset restart count"; + } + leaf restart { + type uint32 { + range "0..4294967295" { + description + "Restart period (in minutes)"; + } + } + description + "Shutdown time after hitting max-prefix limit"; + } + leaf restart-count { + type uint32 { + range "0..4294967295" { + description + "Restart count"; + } + } + description + "Restart count after hitting max-prefix limit"; + } + } + container neighbors { + description + "Neighbor prefix limits configuration"; + list neighbor { + key "address"; + description + "Neighbor IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Neighbor IPv4 address"; + } + leaf maximum-prefix { + type uint32 { + range "0..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + mandatory true; + description + "Maximum prefixes from this neighbor"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + } + } + leaf maximum-prefix { + type uint32 { + range "1..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + description + "Configure maximum prefixes for all neighbors in VRF"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + must "../threshold-percentage"; + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + container dampened { + presence "Indicates a dampened node is configured."; + description + "Enable decay penalty to be applied to time period"; + } + leaf reset-time { + type uint32 { + range "0..4294967295" { + description + "Reset period (in minutes)"; + } + } + description + "Time to reset restart count"; + } + leaf restart { + type uint32 { + range "0..4294967295" { + description + "Restart period (in minutes)"; + } + } + description + "Shutdown time after hitting max-prefix limit"; + } + leaf restart-count { + type uint32 { + range "0..4294967295" { + description + "Restart count"; + } + } + description + "Restart count after hitting max-prefix limit"; + } + } + } + container interfaces { + description + "EIGRP interface configuration submode"; + list interface { + key "interface-name"; + description + "EIGRP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "EIGRP interface configuration submode"; + } + container authentication { + description + "Authentication configuration"; + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Authentication keychain name"; + } + pattern "[a-zA-Z0-9@#;:$._-]*"; + } + description + "Authentication keychain configuration"; + } + } + leaf bandwidth-percent { + type uint32 { + range "1..999999" { + description + "Percent"; + } + } + description + "Bandwidth limit"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable BFD fast detection"; + } + leaf minimum-interval { + type uint32 { + range "15..3000" { + description + "BFD interval (in milliseconds)"; + } + } + description + "BFD minimum-interval configuration"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "BFD multiplier"; + } + } + description + "BFD multiplier configuration"; + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Interval (in seconds)"; + } + } + description + "Hello interval"; + } + leaf hold-time { + type uint32 { + range "1..65535" { + description + "Neighbor hold time (in seconds)"; + } + } + description + "Hold Time"; + } + container metric { + description + "Metric"; + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + description + "Interface bandwidth"; + } + leaf delay { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + description + "Interface delay"; + } + container picoseconds { + must "../delay"; + presence "Indicates a picoseconds node is configured."; + description + "Interpret configured delay to be in picosecond units"; + } + leaf reliability { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + description + "Interface reliability"; + } + leaf load { + type uint32 { + range "1..255" { + description + "Load metric where 255 is 100% loaded"; + } + } + description + "Interface load"; + } + } + container neighbors { + description + "Configure Neighbor"; + list neighbor { + key "address"; + description + "Neighbor IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Neighbor IPv4 address"; + } + leaf remote { + type uint32 { + range "2..99" { + description + "Maxhops range"; + } + } + description + "Configure max-hop count"; + } + } + } + container remote-neighbor { + description + "Configure Remote-Neighbor"; + container unicast-listen { + presence "Indicates a unicast-listen node is configured."; + description + "Configure unicast-listen"; + leaf allow-list { + type xr:Route-policy-name; + description + "Policy list for allowing neighbors"; + } + leaf max-neighbors { + type uint32 { + range "1..65535" { + description + "Max number of neighbors"; + } + } + description + "Max count of the neighbors allowed"; + } + } + } + container next-hop-self { + description + "Configure next-hop-self"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable next-hop-self"; + } + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + container site-of-origin { + description + "Configure Site-of-origin"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "2-byte AS number"; + } + } + must + "../two-byte-as-index and + not(../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "2-byte AS number"; + } + leaf two-byte-as-index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "ASN2:index (hex or decimal format)"; + } + leaf four-byte-as-number-asplain { + type uint32 { + range "65536..4294967295" { + description + "4-byte AS number"; + } + } + must + "../four-byte-as-index and + not(../two-byte-as-number or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "4-byte AS number in asplain format"; + } + leaf four-byte-as-number-asdot-x { + type uint32 { + range "1..65535" { + description + "4-byte AS number in asdot x"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-y and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-number-asdot-y { + type uint32 { + range "0..65535" { + description + "4-byte AS number in asdot y"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-x and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-index { + type uint32 { + range "0..65535" { + description + "ASN4:index (hex or decimal format)"; + } + } + must + "../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x"; + description + "ASN4:index (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must + "../ipv4-address-index and + not(../two-byte-as-number or + ../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x)"; + description + "IPv4 address"; + } + leaf ipv4-address-index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IPv4Address:index (hex or decimal format)"; + } + } + container split-horizon { + description + "Configure split horizon behaviour"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horizon"; + } + } + container summary-address { + description + "Summary address"; + list ip-address { + key "address length"; + description + "IPv4 Prefix/length or Prefix and Mask"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 Prefix/length or Prefix and Mask"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "IPv4 Prefix/length or Prefix and Mask"; + } + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + mandatory true; + description + "Administrative distance"; + } + } + } + } + } + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6 Address Family"; + leaf autonomous-system { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Set the autonomous system of VRF"; + } + leaf default-metric { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + must "../delay-metric-in-10-microsecond"; + description + "Set metric of redistributed routes"; + } + leaf delay-metric-in-10-microsecond { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + must "../default-metric"; + must "../reliability-metric"; + description + "Delay metric, in 10 microsecond units"; + } + leaf reliability-metric { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + must "../delay-metric-in-10-microsecond"; + must "../effective-bandwidth-metric"; + description + "Reliability metric where 255 is 100% reliable"; + } + leaf effective-bandwidth-metric { + type uint32 { + range "1..255" { + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + } + must "../reliability-metric"; + must "../maximum-transmission-unit"; + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + } + leaf maximum-transmission-unit { + type uint32 { + range "1..65535" { + description + "Maximum Transmission Unit metric of the path"; + } + } + must "../effective-bandwidth-metric"; + description + "Maximum Transmission Unit metric of the path"; + } + leaf distance { + type uint32 { + range "1..255" { + description + "Internal routes' distance"; + } + } + must "../external-routes-distance"; + description + "Set distance for EIGRP routes"; + } + leaf external-routes-distance { + type uint32 { + range "1..255" { + description + "External routes' distance"; + } + } + must "../distance"; + description + "External routes' distance"; + } + container log-neighbor-changes { + presence "Indicates a log-neighbor-changes node is configured."; + description + "Enable/Disable EIGRP neighbor logging"; + } + container log-neighbor-warnings { + presence "Indicates a log-neighbor-warnings node is configured."; + description + "Enable/Disable EIGRP neighbor warnings"; + } + leaf maximum-paths { + type uint32 { + range "1..32" { + description + "number of paths"; + } + } + description + "Maximum paths"; + } + container metric { + description + "Modify EIGRP routing metrics and parameters"; + leaf maximum-hops { + type uint32 { + range "1..255" { + description + "Hop count"; + } + } + description + "Advertise EIGRP routes greater than as unreachable"; + } + leaf rib-scale { + type uint32 { + range "1..255" { + description + "RIB metric scale-down value "; + } + } + description + "Change the value by which the RIB metric is to be scaled down"; + } + leaf weights { + type uint32 { + range "0" { + description + "Type of Service (Only TOS 0 supported)"; + } + } + description + "EIGRP metric coefficients"; + } + leaf k1 { + type uint32 { + range "0..255" { + description + "K1"; + } + } + must "../weights"; + description + "K1"; + } + leaf k2 { + type uint32 { + range "0..255" { + description + "K2"; + } + } + must "../k1"; + description + "K2"; + } + leaf k3 { + type uint32 { + range "0..255" { + description + "K3"; + } + } + must "../k2"; + description + "K3"; + } + leaf k4 { + type uint32 { + range "0..255" { + description + "K4"; + } + } + must "../k3"; + description + "K4"; + } + leaf k5 { + type uint32 { + range "0..255" { + description + "K5"; + } + } + must "../k4"; + description + "K5"; + } + leaf k6 { + type uint32 { + range "0..255" { + description + "K6"; + } + } + must "../k5"; + description + "K6"; + } + container version { + description + "Change the EIGRP metric version"; + container thirty-two-bit { + presence "Indicates a thirty-two-bit node is configured."; + description + "Change to 32-bit metric version"; + } + } + } + container nsf { + description + "Address family specific NSF related configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NSF for this address family under this VRF"; + } + } + container redistribute { + description + "Redistribute another protocol"; + container bgp { + description + "Border Gateway Protocol (BGP) routes"; + container ases { + description + "bgp as-number"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container eigrps { + description + "EIGRP routes"; + list eigrp { + key "as-number"; + description + "EIGRP routes"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "AS number of the redistributed EIGRP process"; + } + } + description + "EIGRP routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container isises { + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + list isis { + key "instance-name"; + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "ISIS instance name"; + } + } + description + "Intermediate System-to-Intermediate System (IS-IS) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + container applications { + description + "OnePK application routes"; + list application { + key "application-name"; + description + "OnePK application routes"; + leaf application-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OnePK application name"; + } + } + description + "OnePK application routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + container ospfv3s { + description + "IPv6 Open Shortest Path First (OSPFv3) routes"; + list ospfv3 { + key "ospfv3-name"; + description + "IPv6 Open Shortest Path First (OSPFv3) routes"; + leaf ospfv3-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "OSPFv3 instance name"; + } + } + description + "IPv6 Open Shortest Path First (OSPFv3) routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter using an RPL policy"; + } + } + } + leaf maximum-prefix { + type uint32 { + range "1..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + description + "Maximum number of prefixes redistributed to protocol"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + must "../threshold-percentage"; + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + container dampened { + presence "Indicates a dampened node is configured."; + description + "Enable decay penalty to be applied to time period"; + } + leaf reset-time { + type uint32 { + range "0..4294967295" { + description + "Reset period (in minutes)"; + } + } + description + "Time to reset restart count"; + } + leaf restart { + type uint32 { + range "0..4294967295" { + description + "Restart period (in minutes)"; + } + } + description + "Shutdown time after hitting max-prefix limit"; + } + leaf restart-count { + type uint32 { + range "0..4294967295" { + description + "Restart count"; + } + } + description + "Restart count after hitting max-prefix limit"; + } + } + } + container passive-interface { + description + "Suppress routing updates on all interfaces"; + container default { + presence "Indicates a default node is configured."; + description + "Interfaces passive by default"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Set router ID"; + } + container stub { + presence "Indicates a stub node is configured."; + description + "EIGRP stub"; + container receive-only { + presence "Indicates a receive-only node is configured."; + description + "Set EIGRP as receive only neighbor"; + } + container connected { + presence "Indicates a connected node is configured."; + description + "Do advertise connected routes"; + } + container redistributed { + presence "Indicates a redistributed node is configured."; + description + "Do advertise redistributed routes"; + } + container static { + presence "Indicates a static node is configured."; + description + "Do advertise static routes"; + } + container summary { + presence "Indicates a summary node is configured."; + description + "Do advertise summary routes"; + } + } + container timers { + description + "Configure EIGRP timers"; + container active-time { + description + "Configure active time"; + leaf active-time-limit { + type uint32 { + range "1..4294967295" { + description + "Active time limit (in seconds)"; + } + } + must "not(../disabled)"; + description + "Active time limit (in seconds)"; + } + container disabled { + must "not(../active-time-limit)"; + presence "Indicates a disabled node is configured."; + description + "Disable active timer"; + } + } + container nsf { + description + "Configure NSF timers"; + leaf route-hold { + type uint32 { + range "20..6000" { + description + "Hold time (in seconds)"; + } + } + description + "Route hold time for inactive peer"; + } + leaf signal { + type uint32 { + range "10..30" { + description + "Signal time (in seconds)"; + } + } + description + "Route signal time"; + } + leaf converge { + type uint32 { + range "60..5000" { + description + "Converge time (in seconds)"; + } + } + description + "Route converge time"; + } + } + } + leaf variance { + type uint32 { + range "1..128" { + description + "Metric variance multiplier"; + } + } + description + "Control load balancing variance"; + } + leaf maximum-prefix { + type uint32 { + range "1..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + description + "Maximum number of IP prefixes acceptable in aggregate"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + must "../threshold-percentage"; + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + container dampened { + presence "Indicates a dampened node is configured."; + description + "Enable decay penalty to be applied to time period"; + } + leaf reset-time { + type uint32 { + range "0..4294967295" { + description + "Reset period (in minutes)"; + } + } + description + "Time to reset restart count"; + } + leaf restart { + type uint32 { + range "0..4294967295" { + description + "Restart period (in minutes)"; + } + } + description + "Shutdown time after hitting max-prefix limit"; + } + leaf restart-count { + type uint32 { + range "0..4294967295" { + description + "Restart count"; + } + } + description + "Restart count after hitting max-prefix limit"; + } + } + container neighbors { + description + "Neighbor prefix limits configuration"; + list neighbor { + key "address"; + description + "Neighbor IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Neighbor IPv6 address"; + } + leaf maximum-prefix { + type uint32 { + range "0..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + mandatory true; + description + "Maximum prefixes from this neighbor"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + } + } + leaf maximum-prefix { + type uint32 { + range "1..4294967295" { + description + "Number of IP prefixes for maximum-prefix limit"; + } + } + description + "Configure maximum prefixes for all neighbors in VRF"; + } + leaf threshold-percentage { + type uint32 { + range "1..100" { + description + "Configure threshold percentage for warnings"; + } + } + description + "Configure threshold percentage for warnings"; + } + container warning-only { + must "../threshold-percentage"; + presence "Indicates a warning-only node is configured."; + description + "Only a warning is logged when prefix limit is reached"; + container dampened { + presence "Indicates a dampened node is configured."; + description + "Enable decay penalty to be applied to time period"; + } + leaf reset-time { + type uint32 { + range "0..4294967295" { + description + "Reset period (in minutes)"; + } + } + description + "Time to reset restart count"; + } + leaf restart { + type uint32 { + range "0..4294967295" { + description + "Restart period (in minutes)"; + } + } + description + "Shutdown time after hitting max-prefix limit"; + } + leaf restart-count { + type uint32 { + range "0..4294967295" { + description + "Restart count"; + } + } + description + "Restart count after hitting max-prefix limit"; + } + } + } + container interfaces { + description + "EIGRP interface configuration submode"; + list interface { + key "interface-name"; + description + "EIGRP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "EIGRP interface configuration submode"; + } + container authentication { + description + "Authentication configuration"; + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Authentication keychain name"; + } + pattern "[a-zA-Z0-9@#;:$._-]*"; + } + description + "Authentication keychain configuration"; + } + } + leaf bandwidth-percent { + type uint32 { + range "1..999999" { + description + "Percent"; + } + } + description + "Bandwidth limit"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable BFD fast detection"; + } + leaf minimum-interval { + type uint32 { + range "15..3000" { + description + "BFD interval (in milliseconds)"; + } + } + description + "BFD minimum-interval configuration"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "BFD multiplier"; + } + } + description + "BFD multiplier configuration"; + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Interval (in seconds)"; + } + } + description + "Hello interval"; + } + leaf hold-time { + type uint32 { + range "1..65535" { + description + "Neighbor hold time (in seconds)"; + } + } + description + "Hold Time"; + } + container metric { + description + "Metric"; + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth in Kbits per second"; + } + } + description + "Interface bandwidth"; + } + leaf delay { + type uint32 { + range "1..4294967295" { + description + "Delay metric, in 10 microsecond units"; + } + } + description + "Interface delay"; + } + container picoseconds { + must "../delay"; + presence "Indicates a picoseconds node is configured."; + description + "Interpret configured delay to be in picosecond units"; + } + leaf reliability { + type uint32 { + range "0..255" { + description + "Reliability metric where 255 is 100% reliable"; + } + } + description + "Interface reliability"; + } + leaf load { + type uint32 { + range "1..255" { + description + "Load metric where 255 is 100% loaded"; + } + } + description + "Interface load"; + } + } + container neighbors { + description + "Configure Neighbor"; + list neighbor { + key "address"; + description + "Neighbor IPv4 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Neighbor IPv6 address"; + } + leaf remote { + type uint32 { + range "2..99" { + description + "Maxhops range"; + } + } + description + "Configure max-hop count"; + } + } + } + container remote-neighbor { + description + "Configure Remote-Neighbor"; + container unicast-listen { + presence "Indicates a unicast-listen node is configured."; + description + "Configure unicast-listen"; + leaf allow-list { + type xr:Route-policy-name; + description + "Policy list for allowing neighbors"; + } + leaf max-neighbors { + type uint32 { + range "1..65535" { + description + "Max number of neighbors"; + } + } + description + "Max count of the neighbors allowed"; + } + } + } + container next-hop-self { + description + "Configure next-hop-self"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable next-hop-self"; + } + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "disable"; + } + } + container route-policy { + description + "Configure inbound/outbound policies"; + leaf in { + type xr:Route-policy-name; + description + "Filter inbound routes"; + } + leaf out { + type xr:Route-policy-name; + description + "Filter outbound routes"; + } + } + container site-of-origin { + description + "Configure Site-of-origin"; + leaf two-byte-as-number { + type uint32 { + range "1..65535" { + description + "2-byte AS number"; + } + } + must + "../two-byte-as-index and + not(../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "2-byte AS number"; + } + leaf two-byte-as-index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + must "../two-byte-as-number"; + description + "ASN2:index (hex or decimal format)"; + } + leaf four-byte-as-number-asplain { + type uint32 { + range "65536..4294967295" { + description + "4-byte AS number"; + } + } + must + "../four-byte-as-index and + not(../two-byte-as-number or + ../four-byte-as-number-asdot-x or + ../ipv4-address)"; + description + "4-byte AS number in asplain format"; + } + leaf four-byte-as-number-asdot-x { + type uint32 { + range "1..65535" { + description + "4-byte AS number in asdot x"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-y and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-number-asdot-y { + type uint32 { + range "0..65535" { + description + "4-byte AS number in asdot y"; + } + } + must + "../four-byte-as-index and + ../four-byte-as-number-asdot-x and + not(../four-byte-as-number-asplain or + ../two-byte-as-number or + ../ipv4-address)"; + description + "4-byte AS number in asdot (X.Y) format"; + } + leaf four-byte-as-index { + type uint32 { + range "0..65535" { + description + "ASN4:index (hex or decimal format)"; + } + } + must + "../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x"; + description + "ASN4:index (hex or decimal format)"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must + "../ipv4-address-index and + not(../two-byte-as-number or + ../four-byte-as-number-asplain or + ../four-byte-as-number-asdot-x)"; + description + "IPv4 address"; + } + leaf ipv4-address-index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + must "../ipv4-address"; + description + "IPv4Address:index (hex or decimal format)"; + } + } + container split-horizon { + description + "Configure split horizon behaviour"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horizon"; + } + } + container summary-address { + description + "Summary address"; + list ip-address { + key "address length"; + description + "IPv6 Prefix/length or Prefix and Mask"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 Prefix/length or Prefix and Mask"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "IPv4 Prefix/length or Prefix and Mask"; + } + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + mandatory true; + description + "Administrative distance"; + } + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-hsrp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-hsrp-cfg.yang new file mode 100644 index 000000000..70e1644ca --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-hsrp-cfg.yang @@ -0,0 +1,1180 @@ +module Cisco-IOS-XR-um-router-hsrp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-hsrp-cfg"; + prefix um-router-hsrp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-hsrp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-04 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container hsrp { + presence "Indicates a hsrp node is configured."; + description + "Enable SNMP hsrp traps"; + } + } + container router { + description + "Enable a routing process"; + container hsrp { + description + "HSRP configuration subcommands"; + container interfaces { + description + "HSRP interface configuration subcommands"; + list interface { + key "interface-name"; + description + "HSRP interface configuration subcommands"; + leaf interface-name { + type xr:Interface-name; + description + "HSRP interface configuration subcommands"; + } + container hsrp { + description + "HSRP configuration"; + container use-bia { + presence "Indicates a use-bia node is configured."; + description + "Use burned-in address"; + } + container redirects { + description + "Enable/Disable HSRP filtered ICMP redirects"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable HSRP filtered ICMP redirects"; + } + } + container delay { + description + "Set activation delay for hsrp"; + leaf minimum { + type uint32 { + range "0..10000" { + description + "Minimum delay in seconds"; + } + } + must "../reload"; + description + "Set minimum delay on every interface up event"; + } + leaf reload { + type uint32 { + range "0..10000" { + description + "Reload delay in seconds"; + } + } + must "../minimum"; + description + "Set reload delay for first interface up event"; + } + } + container bfd { + description + "Configure BFD parameters"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + leaf mac-refresh { + type uint32 { + range "0..10000" { + description + "MAC refresh rate (sec)"; + } + } + description + "HSRP MGO subordinate MAC refresh rate"; + } + } + container address-family { + description + "HSRP address family"; + container ipv4 { + description + "IPv4 address family"; + container hsrp { + description + "HSRP group configuration"; + container group-number-version-1s { + description + "group number version 1"; + list group-number-version-1 { + key "group-number-version-1-id"; + description + "group number version 1"; + leaf group-number-version-1-id { + type uint32 { + range "0..255" { + description + "group number version 1"; + } + } + description + "group number version 1"; + } + container address { + description + "Enable hot standby protocol for IP"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Hot standby IP address"; + } + container learn { + must "not(../ipv4-address)"; + presence "Indicates a learn node is configured."; + description + "Learn virtual IP address from peer"; + } + container secondary-ipv4-addresses { + description + "Set secondary hot standby IP addresses"; + list secondary-ipv4-address { + key "address"; + description + "Set secondary hot standby IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Set secondary hot standby IP address"; + } + } + } + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority value"; + } + } + description + "Priority level"; + } + container preempt { + description + "Force active if higher priority"; + leaf delay { + type uint32 { + range "0..3600" { + description + "Number of seconds to delay"; + } + } + description + "Wait before preempting"; + } + } + container track-interfaces { + description + "Configure tracking"; + list track-interface { + key "track-name"; + description + "Configure tracking"; + leaf track-name { + type xr:Interface-name; + description + "Configure tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container track-objects { + description + "Object tracking"; + list track-object { + key "object-name"; + description + "Object tracking"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Object to track"; + } + } + description + "Object tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container timers { + description + "Set hello and hold timers"; + leaf msec { + type uint32 { + range "100..3000"; + } + must "(../msec2 or ../hold-time2) and not(../hold-time)"; + description + "Specify hellotime in milliseconds"; + } + leaf msec2 { + type uint32 { + range "100..3000" { + description + "Hold time in msecs"; + } + } + must "(../msec or ../hold-time) and not(../hold-time2)"; + description + "Specify hold time in milliseconds"; + } + leaf hold-time { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec2 or ../hold-time2) and not(../msec)"; + description + "Hold time in seconds"; + } + leaf hold-time2 { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec or ../hold-time) and not(../msec2)"; + description + "Hold time in seconds"; + } + } + leaf mac-address { + type yang:mac-address; + description + "Use specified mac address for the virtual router"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session name"; + } + } + description + "MGO session name"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "indicates a fast-detect node is configured"; + description + "Enable Fast detection"; + container peer { + description + "Information about HSRP peer for BFD monitoring"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "BFD peer interface IPv4 address"; + } + leaf interface { + type xr:Interface-name; + must "../ipv4"; + description + "Select an interface over which to run BFD"; + } + } + } + } + } + } + container group-number-version-2s { + description + "group number version 2"; + list group-number-version-2 { + key "group-number-version-2-id"; + description + "group number version 2"; + leaf group-number-version-2-id { + type uint32 { + range "0..4095" { + description + "group number version 2"; + } + } + description + "group number version 2"; + } + container address { + description + "Enable hot standby protocol for IP"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Hot standby IP address"; + } + container learn { + must "not(../ipv4-address)"; + presence "Indicates a learn node is configured."; + description + "Learn virtual IP address from peer"; + } + container secondary-ipv4-addresses { + description + "Set secondary hot standby IP addresses"; + list secondary-ipv4-address { + key "address"; + description + "Set secondary hot standby IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Set secondary hot standby IP address"; + } + } + } + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority value"; + } + } + description + "Priority level"; + } + container preempt { + description + "Force active if higher priority"; + leaf delay { + type uint32 { + range "0..3600" { + description + "Number of seconds to delay"; + } + } + description + "Wait before preempting"; + } + } + container track-interfaces { + description + "Configure tracking"; + list track-interface { + key "track-name"; + description + "Configure tracking"; + leaf track-name { + type xr:Interface-name; + description + "Configure tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container track-objects { + description + "Object tracking"; + list track-object { + key "object-name"; + description + "Object tracking"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Object to track"; + } + } + description + "Object tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container timers { + description + "Set hello and hold timers"; + leaf msec { + type uint32 { + range "100..3000"; + } + must "(../msec2 or ../hold-time2) and not(../hold-time)"; + description + "Specify hellotime in milliseconds"; + } + leaf msec2 { + type uint32 { + range "100..3000" { + description + "Hold time in msecs"; + } + } + must "(../msec or ../hold-time) and not(../hold-time2)"; + description + "Specify hold time in milliseconds"; + } + leaf hold-time { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec2 or ../hold-time2) and not(../msec)"; + description + "Hold time in seconds"; + } + leaf hold-time2 { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec or ../hold-time) and not(../msec2)"; + description + "Hold time in seconds"; + } + } + leaf mac-address { + type yang:mac-address; + description + "Use specified mac address for the virtual router"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session name"; + } + } + description + "MGO session name"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "indicates a fast-detect node is configured"; + description + "Enable Fast detection"; + container peer { + description + "Information about HSRP peer for BFD monitoring"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "BFD peer interface IPv4 address"; + } + leaf interface { + type xr:Interface-name; + must "../ipv4"; + description + "Select an interface over which to run BFD"; + } + } + } + } + } + } + container subordinate-group-numbers { + description + "subordinate group number"; + list subordinate-group-number { + key "subordinate-group-number-id"; + description + "subordinate group number"; + leaf subordinate-group-number-id { + type uint32 { + range "0..4095" { + description + "subordinate group number"; + } + } + description + "subordinate group number"; + } + container address { + description + "Enable hot standby protocol for IP"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + description + "Hot standby IP address"; + } + container secondary-ipv4-addresses { + description + "Set secondary hot standby IP addresses"; + list secondary-ipv4-address { + key "address"; + description + "Set secondary hot standby IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Set secondary hot standby IP address"; + } + } + } + } + leaf mac-address { + type yang:mac-address; + description + "Use specified mac address for the virtual router"; + } + leaf follow { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session"; + } + } + description + "Follow specified MGO session"; + } + } + } + } + } + container ipv6 { + description + "IPv6 address family"; + container hsrp { + description + "HSRP group configuration"; + container group-number-version-1s { + description + "group number version 1"; + list group-number-version-1 { + key "group-number-version-1-id"; + description + "group number version 1"; + leaf group-number-version-1-id { + type uint32 { + range "0..255" { + description + "group number version 1"; + } + } + description + "group number version 1"; + } + container address { + description + "Enable hot standby protocol for IP"; + container link-local { + description + "HSRP IPv6 linklocal address"; + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "HSRP IPv6 linklocal address"; + } + container autoconfig { + must "not(../ipv6-address)"; + presence "Indicates a autoconfig node is configured."; + description + "Autoconfigure the HSRP IPv6 linklocal address"; + container legacy-compatible { + presence "Indicates a legacy-compatible node is configured."; + description + "Autoconfigure for Legacy compatibility (with IOS/NX-OS)"; + } + } + } + container globals { + description + "Global HSRP IPv6 address"; + list global { + key "address"; + description + "Global HSRP IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Set Global HSRP IPv6 address"; + } + } + } + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority value"; + } + } + description + "Priority level"; + } + container preempt { + description + "Force active if higher priority"; + leaf delay { + type uint32 { + range "0..3600" { + description + "Number of seconds to delay"; + } + } + description + "Wait before preempting"; + } + } + container track-interfaces { + description + "Configure tracking"; + list track-interface { + key "track-name"; + description + "Configure tracking"; + leaf track-name { + type xr:Interface-name; + description + "Configure tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container track-objects { + description + "Object tracking"; + list track-object { + key "object-name"; + description + "Object tracking"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Object to track"; + } + } + description + "Object tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container timers { + description + "Set hello and hold timers"; + leaf msec { + type uint32 { + range "100..3000"; + } + must "(../msec2 or ../hold-time2) and not(../hold-time)"; + description + "Specify hellotime in milliseconds"; + } + leaf msec2 { + type uint32 { + range "100..3000" { + description + "Hold time in msecs"; + } + } + must "(../msec or ../hold-time) and not(../hold-time2)"; + description + "Specify hold time in milliseconds"; + } + leaf hold-time { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec2 or ../hold-time2) and not(../msec)"; + description + "Hold time in seconds"; + } + leaf hold-time2 { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec or ../hold-time) and not(../msec2)"; + description + "Hold time in seconds"; + } + } + leaf mac-address { + type yang:mac-address; + description + "Use specified mac address for the virtual router"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session name"; + } + } + description + "MGO session name"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "indicates a fast-detect node is configured"; + description + "Enable Fast detection"; + container peer { + description + "Information about HSRP peer for BFD monitoring"; + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "BFD peer interface IPv6 address"; + } + leaf interface { + type xr:Interface-name; + must "../ipv6"; + description + "Select an interface over which to run BFD"; + } + } + } + } + } + } + container group-number-version-2s { + description + "group number version 2"; + list group-number-version-2 { + key "group-number-version-2-id"; + description + "group number version 2"; + leaf group-number-version-2-id { + type uint32 { + range "0..4095" { + description + "group number version 2"; + } + } + description + "group number version 2"; + } + container address { + description + "Enable hot standby protocol for IP"; + container link-local { + description + "HSRP IPv6 linklocal address"; + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "HSRP IPv6 linklocal address"; + } + container autoconfig { + must "not(../ipv6-address)"; + presence "Indicates a autoconfig node is configured."; + description + "Autoconfigure the HSRP IPv6 linklocal address"; + container legacy-compatible { + presence "Indicates a legacy-compatible node is configured."; + description + "Autoconfigure for Legacy compatibility (with IOS/NX-OS)"; + } + } + } + container globals { + description + "Global HSRP IPv6 address"; + list global { + key "address"; + description + "Global HSRP IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Set Global HSRP IPv6 address"; + } + } + } + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority value"; + } + } + description + "Priority level"; + } + container preempt { + description + "Force active if higher priority"; + leaf delay { + type uint32 { + range "0..3600" { + description + "Number of seconds to delay"; + } + } + description + "Wait before preempting"; + } + } + container track-interfaces { + description + "Configure tracking"; + list track-interface { + key "track-name"; + description + "Configure tracking"; + leaf track-name { + type xr:Interface-name; + description + "Configure tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container track-objects { + description + "Object tracking"; + list track-object { + key "object-name"; + description + "Object tracking"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Object to track"; + } + } + description + "Object tracking"; + } + leaf priority-decrement { + type uint32 { + range "1..255" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + container timers { + description + "Set hello and hold timers"; + leaf msec { + type uint32 { + range "100..3000"; + } + must "(../msec2 or ../hold-time2) and not(../hold-time)"; + description + "Specify hellotime in milliseconds"; + } + leaf msec2 { + type uint32 { + range "100..3000" { + description + "Hold time in msecs"; + } + } + must "(../msec or ../hold-time) and not(../hold-time2)"; + description + "Specify hold time in milliseconds"; + } + leaf hold-time { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec2 or ../hold-time2) and not(../msec)"; + description + "Hold time in seconds"; + } + leaf hold-time2 { + type uint32 { + range "1..255" { + description + "Hold time in seconds"; + } + } + must "(../msec or ../hold-time) and not(../msec2)"; + description + "Hold time in seconds"; + } + } + leaf mac-address { + type yang:mac-address; + description + "Use specified mac address for the virtual router"; + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session name"; + } + } + description + "MGO session name"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "indicates a fast-detect node is configured"; + description + "Enable Fast detection"; + container peer { + description + "Information about HSRP peer for BFD monitoring"; + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "BFD peer interface IPv6 address"; + } + leaf interface { + type xr:Interface-name; + must "../ipv6"; + description + "Select an interface over which to run BFD"; + } + } + } + } + } + } + container subordinate-group-numbers { + description + "subordinate group number"; + list subordinate-group-number { + key "subordinate-group-number-id"; + description + "subordinate group number"; + leaf subordinate-group-number-id { + type uint32 { + range "0..4095" { + description + "subordinate group number"; + } + } + description + "subordinate group number"; + } + container address { + description + "Enable hot standby protocol for IP"; + container link-local { + description + "HSRP IPv6 linklocal address"; + leaf ipv6-address { + type inet:ipv6-address-no-zone; + description + "HSRP IPv6 linklocal address"; + } + container autoconfig { + must "not(../ipv6-address)"; + presence "Indicates a autoconfig node is configured."; + description + "Autoconfigure the HSRP IPv6 linklocal address"; + container legacy-compatible { + presence "Indicates a legacy-compatible node is configured."; + description + "Autoconfigure for Legacy compatibility (with IOS/NX-OS)"; + } + } + } + container globals { + description + "Global HSRP IPv6 address"; + list global { + key "address"; + description + "Global HSRP IPv6 address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Set Global HSRP IPv6 address"; + } + } + } + } + leaf mac-address { + type yang:mac-address; + description + "Use specified mac address for the virtual router"; + } + leaf follow { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session"; + } + } + description + "Follow specified MGO session"; + } + } + } + } + } + } + } + } + container message { + description + "HSRP IOS messages"; + container state { + description + "HSRP state change messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-igmp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-igmp-cfg.yang new file mode 100644 index 000000000..51cb645e9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-igmp-cfg.yang @@ -0,0 +1,1291 @@ +module Cisco-IOS-XR-um-router-igmp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-igmp-cfg"; + prefix um-router-igmp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router igmp/amt/mld configuration. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-28 { + description + "Merged Container include & exclude into single list source-addresses"; + semver:module-version "2.0.0"; + } + revision 2021-01-28 { + description + "Added cisco-support task yang nodes + 2021-01-11 + Added support for specific platforms + 2021-01-07 + Added dvmrp-enable + 2020-12-07 + Removed un-supported nodes"; + semver:module-version "1.1.0"; + } + revision 2019-08-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature igmp-plat-depend { + description + "Platform dependent configuration"; + } + + container router { + description + "Enable a routing process"; + container igmp { + presence "Indicates a igmp node is configured."; + description + "IPv4 Address Family"; + container vrfs { + description + "VRF configs"; + list vrf { + key "vrf-name"; + description + "VRF configs"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Enter VRF name"; + } + } + description + "VRF configs"; + } + container dvmrp-enable { + presence "Indicates a dvmrp-enable node is configured."; + description + "Configure dvmrp to allow dvmrp processing on all interfaces"; + } + leaf robustness-count { + type uint32 { + range "2..10" { + description + "Robustness variable count"; + } + } + description + "IGMP robustness variable"; + } + container maximum { + description + "Maximum resource enforced by this router"; + leaf groups { + type uint32 { + range "1..75000" { + description + "Maximum number of groups accepted by this router"; + } + } + description + "Maximum number of groups accepted by this router"; + } + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + description + "Maximum number of groups accepted per interface by this router"; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maximum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + leaf version { + type uint32 { + range "1..3" { + description + "version number"; + } + } + description + "IGMP version"; + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "IGMP host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "IGMP previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "IGMP max query response value"; + } + container explicit-tracking { + presence "Indicates a explicit-tracking node is configured."; + description + "IGMPv3 explicit host tracking"; + leaf access-list { + type xr:Cisco-ios-xr-string; + must "not(../disable)"; + description + "Access list specifying tracking group range"; + } + container disable { + must "not(../access-list)"; + presence "Indicates a disable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + } + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "IGMP group access group"; + } + container ssm { + description + "Configure SSM specific options"; + container map { + description + "Configure mappings of SSM group membership to sources"; + container statics { + description + "Configure a static mapping of a source to a set of SSM groups"; + list static { + key "address"; + description + "Configure a static mapping of a source to a set of SSM groups"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source address"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of ssm groups that should map to the given source"; + } + } + mandatory true; + description + "Access list of ssm groups that should map to the given source"; + } + } + } + container query { + description + "Configure a mapping of sources to groups quering external database"; + container dns { + presence "Indicates a dns node is configured."; + description + "Configure a dns mapping for sources to a set of SSM groups"; + } + } + } + } + container traffic { + description + "IGMP traffic variables"; + leaf profile { + type xr:Route-policy-name; + description + "Configure route-policy to be used to map the bandwidth profile"; + } + } + container interfaces { + description + "IGMP interface configuration subcommands"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf version { + type uint32 { + range "1..3" { + description + "version number"; + } + } + description + "IGMP version"; + } + container router { + description + "Enable/Disable Router side functionality in IGMP"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Router side functionality in IGMP"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Router side functionality in IGMP"; + } + } + container dvmrp-enable { + presence "Indicates a dvmrp-enable node is configured."; + description + "Configure dvmrp to allow dvmrp processing on all interfaces"; + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "IGMP host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "IGMP previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "IGMP max query response value"; + } + container explicit-tracking { + description + "IGMPv3 explicit host tracking"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + leaf access-list { + type xr:Cisco-ios-xr-string; + must "../enable"; + description + "Access list specifying tracking group range"; + } + } + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "IGMP group access group"; + } + container maximum { + description + "Maximum resource per interface enforced by this router"; + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + description + "Maxinum number of groups accepted per interface by this router"; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maxinum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + container static-group { + description + "IGMP static multicast group"; + list group-address { + must "group-address-only or group-address-inc-mask or group-address-inc-mask-source-address or group-address-source-address or group-address-source-address-inc-mask or group-inc-mask-source-inc-mask"; + key "group-address"; + description + "IGMP static multicast group"; + leaf group-address { + type inet:ipv4-address-no-zone; + description + "IP group address"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + container group-address-inc-mask { + description + "Group-address with increment-mask"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "IGMP static multicast group"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for source address"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + description + "Increment mask for source address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + } + } + container join-groups { + description + "IGMP join multicast group"; + list join-group { + must "group-address-only or source-addresses"; + key "group-address"; + description + "IGMP join multicast group"; + leaf group-address { + type inet:ipv4-address-no-zone; + description + "IP group address"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Join multicast group without source address"; + } + list source-addresses { + must "include or exclude"; + key "source-address"; + description + "Source address to include or exclude"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to include"; + } + container include { + must "not (../exclude)"; + presence "Indicates a include node is configured."; + description + "Source address to include"; + } + container exclude { + must "not (../include)"; + presence "Indicates a exclude node is configured."; + description + "Exclude the only following source address"; + } + } + } + } + } + } + } + } + container accounting { + description + "Configure IGMP accounting"; + leaf max-history { + type uint32 { + range "0..365" { + description + "Number of days history to keep"; + } + } + description + "Set the maximum history for the accounting in days"; + } + } + container nsf { + description + "Configure NSF specific options"; + leaf lifetime { + type uint32 { + range "10..3600" { + description + "Maximum time for IGMP NSF mode in seconds"; + } + } + description + "Configure maximum time for IGMP NSF mode"; + } + } + container dvmrp-enable { + presence "Indicates a dvmrp-enable node is configured."; + description + "Configure dvmrp to allow dvmrp processing on all interfaces"; + } + leaf robustness-count { + type uint32 { + range "2..10" { + description + "Robustness variable count"; + } + } + description + "IGMP robustness variable"; + } + container maximum { + description + "Maximum resource enforced by this router"; + leaf groups { + type uint32 { + range "1..75000" { + description + "Maximum number of groups accepted by this router"; + } + } + description + "Maximum number of groups accepted by this router"; + } + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + description + "Maximum number of groups accepted per interface by this router"; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maximum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + leaf version { + type uint32 { + range "1..3" { + description + "version number"; + } + } + description + "IGMP version"; + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "IGMP host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "IGMP previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "IGMP max query response value"; + } + container explicit-tracking { + presence "Indicates a explicit-tracking node is configured."; + description + "IGMPv3 explicit host tracking"; + leaf access-list { + type xr:Cisco-ios-xr-string; + must "not(../disable)"; + description + "Access list specifying tracking group range"; + } + container disable { + must "not(../access-list)"; + presence "Indicates a disable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + } + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "IGMP group access group"; + } + container ssm { + description + "Configure SSM specific options"; + container map { + description + "Configure mappings of SSM group membership to sources"; + container statics { + description + "Configure a static mapping of a source to a set of SSM groups"; + list static { + key "address"; + description + "Configure a static mapping of a source to a set of SSM groups"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source address"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of ssm groups that should map to the given source"; + } + } + mandatory true; + description + "Configure a static mapping of a source to a set of SSM groups"; + } + } + } + container query { + description + "Configure a mapping of sources to groups quering external database"; + container dns { + presence "Indicates a dns node is configured."; + description + "Configure a dns mapping for sources to a set of SSM groups"; + } + } + } + } + container traffic { + if-feature "igmp-plat-depend"; + description + "IGMP traffic variables"; + leaf profile { + type xr:Route-policy-name; + description + "Configure route-policy to be used to map the bandwidth profile"; + } + } + container unicast-qos-adjust { + if-feature "igmp-plat-depend"; + description + "IGMP QOS shaper for subscriber unicast traffic"; + leaf holdoff { + type uint32 { + range "5..1800" { + description + "Time in seconds"; + } + } + description + "Configure the hold-off time before QOS clears the stale entries"; + } + leaf adjusment-delay { + type uint32 { + range "0..10" { + description + "Time in seconds"; + } + } + description + "Configure the time to wait before programming rate in QOS"; + } + leaf download-interval { + type uint32 { + range "10..500" { + description + "Time in miliseconds"; + } + } + description + "Configure the time before downloading a batch of interfaces to QOS"; + } + } + container interfaces { + description + "IGMP interface configuration subcommands"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf version { + type uint32 { + range "1..3" { + description + "version number"; + } + } + description + "IGMP version"; + } + container router { + description + "Enable/Disable Router side functionality in IGMP"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Router side functionality in IGMP"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Router side functionality in IGMP"; + } + } + container dvmrp-enable { + presence "Indicates a dvmrp-enable node is configured."; + description + "Configure dvmrp to allow dvmrp processing on all interfaces"; + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "IGMP host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "IGMP previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "IGMP max query response value"; + } + container explicit-tracking { + description + "IGMPv3 explicit host tracking"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + leaf access-list { + type xr:Cisco-ios-xr-string; + must "../enable"; + description + "Access list specifying tracking group range"; + } + } + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "IGMP group access group"; + } + container maximum { + description + "Maximum resource per interface enforced by this router"; + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maxinum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + container static-groups { + description + "IGMP static multicast group"; + list group-address { + must "group-address-only or group-address-inc-mask or group-address-inc-mask-source-address or group-address-source-address or group-address-source-address-inc-mask or group-inc-mask-source-inc-mask"; + key "group-address"; + description + "IGMP static multicast group"; + leaf group-address { + type inet:ipv4-address-no-zone; + description + "IP group address"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + container group-address-inc-mask { + description + "Group-address with increment-mask"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "IGMP static multicast group"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for source address"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + description + "Increment mask for source address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + } + } + container join-groups { + description + "IGMP join multicast group"; + list join-group { + must "group-address-only or source-addresses"; + key "group-address"; + description + "IGMP join multicast group"; + leaf group-address { + type inet:ipv4-address-no-zone; + description + "IP group address"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Join multicast group without source address"; + } + list source-addresses { + must "include or exclude"; + key "source-address"; + description + "Source address to include or exclude"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to include"; + } + container include { + must "not (../exclude)"; + presence "Indicates a include node is configured."; + description + "Source address to include"; + } + container exclude { + must "not (../include)"; + presence "Indicates a exclude node is configured."; + description + "Exclude the only following source address"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-isis-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-isis-cfg.yang new file mode 100644 index 000000000..e1ac5da36 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-isis-cfg.yang @@ -0,0 +1,9438 @@ +module Cisco-IOS-XR-um-router-isis-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-isis-cfg"; + prefix um-router-isis-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-isis package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-04 { + description + "Added support for ISIS prefix-SID UHP + 2022-01-04 + Added support for unhidden CLI commands + 2021-12-14 + Added authentication-check feature"; + semver:module-version "4.0.1m"; + } + revision 2021-09-23 { + description + "Merged container levels under disable|interval/periodic/address-family-topology, + Merged container levels under disable|interval/periodic/address-family, + Merged disable & interval-time into one leaf interval + 2021-07-27 + Re-ordered maximum-wait, initial-wait and secondary-wait nodes under + level container/spf-interval + 2021-06-15 + Added when statement to container prefix-attributes"; + semver:module-version "4.0.0"; + } + revision 2021-05-18 { + description + "Added features, 1. flex-algo srlg exclude + 2. advertise application flex-algo link-attributes srlg + 2021-04-22 + Added te-metric flex-algo feature + 2021-03-02 + Re-ordered maximum-wait, initial-wait and secondary-wait nodes under + level container + 2021-02-11 + Re-ordered per-link, per-prefix nodes under interface fast-reroute container + 2021-01-28 + Added cisco-support task yang nodes + 2021-01-27 + Re-ordered nodes under lsp-gen-interval, min-lsp-arrivaltime container + 2021-01-20 + Moved presence containers as leafs under snmp-server traps + 2021-01-18 + Added presence statement and re-ordered few nodes under container max-metric + 2021-01-11 + Add support to metric and preferred container under tunnel + 2021-01-07 + Updated range value in leaf multiplier under fallback container + 2021-01-06 + Added presence statement under link-state container + 2020-12-09 + Removed cisco-support yang nodes + 2020-12-01 + Added container anomaly under metric/fallback + 2020-11-20 + Added metric type te + 2020-11-19 + Fixed a must statement under absolute, added presence statement to text + 2020-11-13 + Added container receive and attestation under list process. + 2020-11-02 + Moved levels container under lsp-password out of it and renamed as + lsp-password-levels. + 2020-08-20 + Added level option under srv6/locator + 2020-08-13 + Remove presence container and constraints on the match container + 2020-08-10 + Updated the fallback topology + 2020-07-21 + Slight changes to prefix-priority nodes + 2020-07-17 + Added must statements and moved rib-update-delay up one node + 2020-07-15 + Added down-flag-clear node under redistribute isis + 2020-07-14 + Added mandatory node to bit-position under affinity-map"; + semver:module-version "3.0.0"; + } + revision 2020-05-19 { + description + "Added nodes for new ISIS features + 2020-05-07 + Added a container anycast and its child nodes + 2020-04-14 + Updated the constraints in the nodes under stagger to be less strict + 2020-03-09 + Updated lsp-password and summary-prefix trees with proper constaraint + statements"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial draft"; + } + + typedef Isis-af-name { + type enumeration { + enum "ipv4" { + value 0; + description + "IPv4"; + } + enum "ipv6" { + value 1; + description + "IPv6"; + } + } + description + "Address-family names"; + } + + typedef Isis-saf-name { + type enumeration { + enum "unicast" { + value 0; + description + "unicast"; + } + enum "multicast" { + value 1; + description + "multicast"; + } + } + description + "Sub address-family names"; + } + + typedef Isis-saf-multicast { + type enumeration { + enum "multicast" { + value 1; + description + "multicast"; + } + } + description + "Sub address-family names (only multicast)"; + } + + augment "/a1:snmp-server/a1:traps" { + description + "This augment extends snmp-server traps nodes + configuration"; + container isis { + must + "not(all = 'enable' and + (database-overload = 'enable' or + manual-address-drops = 'enable' or + corrupted-lsp-detected = 'enable' or + attempt-to-exceed-max-sequence = 'enable' or + id-len-mismatch = 'enable' or + max-area-addresses-mismatch = 'enable' or + own-lsp-purge = 'enable' or + sequence-number-skip = 'enable' or + authentication-type-failure = 'enable' or + authentication-failure = 'enable' or + version-skew = 'enable' or + area-mismatch = 'enable' or + rejected-adjacency = 'enable' or + lsp-too-large-to-propagate = 'enable' or + orig-lsp-buff-size-mismatch = 'enable' or + protocols-supported-mismatch = 'enable' or + adjacency-change = 'enable' or + lsp-error-detected = 'enable'))"; + presence "Indicates a isis node is configured."; + description + "Enable IS-IS traps"; + leaf all { + type enumeration { + enum "enable" { + value 19; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "Enable all IS-IS traps"; + } + leaf database-overload { + type enumeration { + enum "enable" { + value 1; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisDatabaseOverload"; + } + leaf manual-address-drops { + type enumeration { + enum "enable" { + value 2; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisManualAddressDrops"; + } + leaf corrupted-lsp-detected { + type enumeration { + enum "enable" { + value 3; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisCorruptedLSPDetected"; + } + leaf attempt-to-exceed-max-sequence { + type enumeration { + enum "enable" { + value 4; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisAttemptToExceedMaxSequence"; + } + leaf id-len-mismatch { + type enumeration { + enum "enable" { + value 5; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisIDLenMismatch"; + } + leaf max-area-addresses-mismatch { + type enumeration { + enum "enable" { + value 6; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisMaxAreaAddressesMismatch"; + } + leaf own-lsp-purge { + type enumeration { + enum "enable" { + value 7; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisOwnLSPPurge"; + } + leaf sequence-number-skip { + type enumeration { + enum "enable" { + value 8; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisSequenceNumberSkip"; + } + leaf authentication-type-failure { + type enumeration { + enum "enable" { + value 9; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisAuthenticationTypeFailure"; + } + leaf authentication-failure { + type enumeration { + enum "enable" { + value 10; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisAuthenticationFailure"; + } + leaf version-skew { + type enumeration { + enum "enable" { + value 11; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisVersionSkew"; + } + leaf area-mismatch { + type enumeration { + enum "enable" { + value 12; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisAreaMismatch"; + } + leaf rejected-adjacency { + type enumeration { + enum "enable" { + value 13; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisRejectedAdjacency"; + } + leaf lsp-too-large-to-propagate { + type enumeration { + enum "enable" { + value 14; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisLSPTooLargeToPropagate"; + } + leaf orig-lsp-buff-size-mismatch { + type enumeration { + enum "enable" { + value 15; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisOrigLSPBuffSizeMismatch"; + } + leaf protocols-supported-mismatch { + type enumeration { + enum "enable" { + value 16; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisProtocolsSupportedMismatch"; + } + leaf adjacency-change { + type enumeration { + enum "enable" { + value 17; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisAdjacencyChange"; + } + leaf lsp-error-detected { + type enumeration { + enum "enable" { + value 18; + description + "Enable the trap"; + } + enum "disable" { + value 0; + description + "Disable the trap"; + } + } + mandatory true; + description + "isisLSPErrorDetected"; + } + } + } + container router { + description + "Enable a routing process"; + container isis { + description + "ISO IS-IS"; + container processes { + description + "Process ID"; + list process { + key "process-id"; + description + "Process ID"; + leaf process-id { + type string { + length "1..36" { + description + "Process ID"; + } + } + description + "Process ID"; + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "Enable NSR"; + } + container ignore-lsp-errors { + description + "Ignore LSPs with bad checksums instead of purging the LSP"; + container disable { + presence "Indicates a disable node is configured."; + description + "Purge LSPs with failed checksums"; + } + } + leaf instance-id { + type uint32 { + range "1..65535" { + description + "Instance id"; + } + } + description + "ISIS-MI instance id"; + } + leaf is-type { + type enumeration { + enum "level-1" { + value 1; + description + "Act as a station router only"; + } + enum "level-2-only" { + value 2; + description + "Act as an area router only"; + } + enum "level-1-2" { + value 3; + description + "Act as both a station router and an area router"; + } + } + description + "Area type (level)"; + } + container log { + description + "Enable logging"; + container adjacency { + description + "Enable logging of adjacency state"; + container changes { + presence "Indicates a changes node is configured."; + description + "Enable logging adjacency state changes"; + } + } + container pdu { + description + "Enable PDU logging"; + container drops { + presence "Indicates a drops node is configured."; + description + "Enable logging PDU drops"; + } + } + } + container lsp-password { + must "text or hmac-md5 or keychain"; + presence "Indicates a lsp-password node is configured."; + description + "Configure the area password"; + container text { + must "not(../hmac-md5 or ../keychain)"; + presence "Indicates a text node is configured."; + description + "Use cleartext password authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container hmac-md5 { + must "not(../text or ../keychain)"; + presence "Indicates a hmac-md5 node is configured."; + description + "Use HMAC-MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container keychain { + must "not(../hmac-md5 or ../text)"; + presence "Indicates a keychain node is configured."; + description + "Specifies a Key Chain name will follow"; + leaf keychain-name { + type string { + length "1..1024" { + description + "The Key Chain name"; + } + } + mandatory true; + description + "Specifies a Key Chain name will follow"; + } + } + container send-only { + must "../text or ../hmac-md5 or ../keychain"; + presence "Indicates a send-only node is configured."; + description + "Authenticate outgoing LSPs/SNPs only"; + } + container snp { + description + "Specify SNP packets authentication mode"; + container send-only { + must "../../text"; + presence "Indicates a send-only node is configured."; + description + "Authenticate outgoing SNPs, no check on incoming SNPs"; + } + } + container enable-poi { + must "../hmac-md5 or ../keychain"; + presence "Indicates a enable-poi node is configured."; + description + "Enable purge originator identification"; + } + } + container lsp-password-levels { + description + "Set lsp-password for one level only"; + list level { + must "text or hmac-md5 or keychain"; + key "level-id"; + description + "Set lsp-password for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set lsp-password for LSPs/SNPs at this level only"; + } + } + description + "Set lsp-password for one level only"; + } + container text { + must "not(../hmac-md5 or ../keychain)"; + presence "Indicates a hmac-md5 node is configured."; + description + "Use cleartext password authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container hmac-md5 { + must "not(../text or ../keychain)"; + presence "Indicates a hmac-md5 node is configured."; + description + "Use HMAC-MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container keychain { + must "not(../text or ../hmac-md5)"; + presence "Indicates a keychain node is configured."; + description + "Specifies a Key Chain name will follow"; + leaf keychain-name { + type string { + length "1..1024" { + description + "The Key Chain name"; + } + } + mandatory true; + description + "Specifies a Key Chain name will follow"; + } + } + container send-only { + must "../text or ../hmac-md5 or ../keychain"; + presence "Indicates a send-only node is configured."; + description + "Authenticate outgoing LSPs/SNPs only"; + } + container snp { + description + "Specify SNP packets authentication mode"; + container send-only { + must "../../text"; + presence "Indicates a send-only node is configured."; + description + "Authenticate outgoing SNPs, no check on incoming SNPs"; + } + } + container enable-poi { + must "../hmac-md5 or ../keychain"; + presence "Indicates a enable-poi node is configured."; + description + "Enable purge originator identification"; + } + } + container accept { + description + "Use password for incoming authentication only"; + leaf encrypted { + type xr:Proprietary-password; + description + "The encrypted LSP/SNP password"; + } + container levels { + description + "Set lsp-password for one level only"; + list level { + key "level-id"; + description + "Set lsp-password for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set lsp-password for LSPs/SNPs at this level only"; + } + } + description + "Set lsp-password for one level only"; + } + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + } + } + } + container authentication-check { + description + "Check authentication type and key of isis PDUs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable authentication check"; + } + } + leaf vrf-context { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name (must not be 'default')"; + } + } + description + "VRF context for this ISIS process"; + } + container hostname { + description + "Dynamic hostname resolution for show/debug output"; + container dynamic { + description + "Dynamic hostname resolution"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable dynamic hostname resolution"; + } + } + } + container lsp-check-interval { + description + "Set LSP checksum check interval"; + leaf lsp-check-interval-time { + type uint32 { + range "10..65535" { + description + "LSP checksum check interval time in seconds"; + } + } + description + "Set LSP checksum check interval"; + } + container levels { + description + "Set LSP check interval for one level only"; + list level { + key "level-id"; + description + "Set LSP check interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set LSP check interval for one level only"; + } + leaf lsp-check-interval-time { + type uint32 { + range "10..65535" { + description + "LSP checksum check interval time in seconds"; + } + } + mandatory true; + description + "Set LSP checksum check interval"; + } + } + } + } + container lsp-gen-interval { + must "maximum-wait or initial-wait or secondary-wait"; + presence "Indicates a lsp-gen-interval node is configured."; + description + "System and Pseudonode LSP generation scheduling parameters"; + leaf maximum-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay before generating an LSP"; + } + leaf initial-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay before generating an LSP"; + } + leaf secondary-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay before generating an LSP"; + } + } + container lsp-gen-interval-levels { + description + "Set LSP generation interval for one level only"; + list level { + must "maximum-wait or initial-wait or secondary-wait"; + key "level-id"; + description + "Set LSP generation interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set LSP generation interval for one level only"; + } + leaf maximum-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay before generating an LSP"; + } + leaf initial-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay before generating an LSP"; + } + leaf secondary-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay before generating an LSP"; + } + } + } + container max-lsp-lifetime { + description + "Set maximum LSP lifetime"; + leaf max-lsp-lifetime { + type uint32 { + range "1..65535" { + description + "Maximum LSP lifetime in seconds"; + } + } + description + "Set maximum LSP lifetime"; + } + container levels { + description + "Set LSP regeneration interval for one level only"; + list level { + key "level-id"; + description + "Set LSP regeneration interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set LSP regeneration interval for one level only"; + } + leaf max-lsp-lifetime { + type uint32 { + range "1..65535" { + description + "Maximum LSP lifetime in seconds"; + } + } + mandatory true; + description + "Set maximum LSP lifetime"; + } + } + } + } + container min-lsp-arrivaltime { + must "maximum-wait or initial-wait or secondary-wait"; + presence "Indicates a min-lsp-arrivaltime node is configured."; + description + "Set minimum arrival time of incoming LSPs"; + leaf maximum-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay expected to take since last LSP"; + } + leaf initial-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay expected to take since last LSP"; + } + leaf secondary-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay expected to take since last LSP"; + } + } + container min-lsp-arrivaltime-levels { + description + "Set LSP arrival time for one level only"; + list level { + must "maximum-wait or initial-wait or secondary-wait"; + key "level-id"; + description + "Set LSP arrival time for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set LSP arrival time for one level only"; + } + leaf maximum-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay expected to take since last LSP"; + } + leaf initial-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay expected to take since last LSP"; + } + leaf secondary-wait { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay expected to take since last LSP"; + } + } + } + container lsp-mtu { + description + "Set maximum LSP size"; + leaf lsp-mtu-size { + type uint32 { + range "128..8979" { + description + "Max LSP size in bytes"; + } + } + description + "Set maximum LSP size"; + } + container levels { + description + "Set LSP size for one level only"; + list level { + key "level-id"; + description + "Set LSP size for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set LSP size for one level only"; + } + leaf lsp-mtu-size { + type uint32 { + range "128..8979" { + description + "Max LSP size in bytes"; + } + } + mandatory true; + description + "Set maximum LSP size"; + } + } + } + } + container lsp-refresh-interval { + description + "Set LSP refresh interval"; + leaf lsp-refresh-interval-time { + type uint32 { + range "1..65535" { + description + "LSP refresh time in seconds"; + } + } + description + "Set LSP refresh interval"; + } + container levels { + description + "Set LSP refresh interval for one level only"; + list level { + key "level-id"; + description + "Set LSP refresh interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set LSP refresh interval for one level only"; + } + leaf lsp-refresh-interval-time { + type uint32 { + range "1..65535" { + description + "LSP refresh time in seconds"; + } + } + mandatory true; + description + "Set LSP refresh interval"; + } + } + } + } + container max-metric { + presence "Indicates a no-options node is configured."; + description + "Signal other routers to use us as transit option of last resort"; + container on-startup { + description + "Set maximum metric temporarily after reboot"; + container advertise-maximum-metric { + must "not(../wait-for-bgp)"; + presence "Indicates a advertise-maximum-metric node is configured."; + description + "Time in seconds to advertise maximum metric after reboot"; + leaf time-to-advertise { + type uint32 { + range "5..86400" { + description + "Time in seconds to advertise maximum metric after reboot"; + } + } + mandatory true; + description + "Time in seconds to advertise maximum metric after reboot"; + } + } + container wait-for-bgp { + must "not(../advertise-maximum-metric)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Set maximum metric on startup until BGP signalsconvergence, or timeout"; + } + container external { + presence "Indicates a external node is configured."; + description + "Override metric of prefixes learned from another protocol with maximum metric"; + } + container interlevel { + presence "Indicates a interlevel node is configured."; + description + "Override metric of prefixes learned from another ISIS level with maximum metric"; + } + container default-route { + presence "Indicates a default-route node is configured."; + description + "Override default route metric with maximum metric"; + } + container srv6-locator { + presence "Indicates a srv6-locator node is configured."; + description + "Override segment routing ipv6 metric with maximum metric"; + } + } + } + container max-metric-levels { + description + "Set maximum metric for one level only"; + list level { + key "level-id"; + description + "Set maximum metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set maximum metric for one level only"; + } + container advertise-maximum-metric { + must "not(../wait-for-bgp)"; + presence "Indicates a advertise-maximum-metric node is configured."; + description + "Time in seconds to advertise maximum metric after reboot"; + leaf time-to-advertise { + type uint32 { + range "5..86400" { + description + "Time in seconds to advertise maximum metric after reboot"; + } + } + mandatory true; + description + "Time in seconds to advertise maximum metric after reboot"; + } + } + container wait-for-bgp { + must "not(../advertise-maximum-metric)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Set maximum metric on startup until BGP signalsconvergence, or timeout"; + } + container external { + presence "Indicates a external node is configured."; + description + "Override metric of prefixes learned from another protocol with maximum metric"; + } + container interlevel { + presence "Indicates a interlevel node is configured."; + description + "Override metric of prefixes learned from another ISIS level with maximum metric"; + } + container default-route { + presence "Indicates a default-route node is configured."; + description + "Override default route metric with maximum metric"; + } + container srv6-locator { + presence "Indicates a srv6-locator node is configured."; + description + "Override segment routing ipv6 metric with maximum metric"; + } + } + } + container set-overload-bit { + presence "Indicates a set-overloaded-bit node is configured."; + description + "Signal other routers not to use us in SPF"; + container on-startup { + description + "Set overload-bit temporarily after reboot"; + container advertise-as-overloaded { + must "not(../wait-for-bgp)"; + presence "Indicates a advertise-as-overloaded node is configured."; + description + "Time in seconds to advertise ourself as overloaded after reboot"; + leaf time-to-advertise { + type uint32 { + range "5..86400" { + description + "Time in seconds to advertise ourself as overloaded after reboot"; + } + } + mandatory true; + description + "Time in seconds to advertise ourself as overloaded after reboot"; + } + } + container wait-for-bgp { + must "not(../advertise-as-overloaded)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Set overload bit on startup until BGP signals convergence, or timeout"; + } + } + container advertise { + description + "If overload-bit set advertise the following types of IP prefixes"; + container external { + presence "Indicates a external node is configured."; + description + "If overload-bit set advertise IP prefixes learned from other protocols"; + } + container interlevel { + presence "Indicates a interlevel node is configured."; + description + "If overload-bit set advertise IP prefixes learned from another ISIS level"; + } + } + } + container set-overload-bit-levels { + description + "Set overload-bit for one level only"; + list level { + key "level-id"; + description + "Set overload-bit for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set overload-bit for one level only"; + } + container on-startup { + description + "Set overload-bit temporarily after reboot"; + container advertise-as-overloaded { + must "not(../wait-for-bgp)"; + presence "Indicates a advertise-as-overloaded node is configured."; + description + "Time in seconds to advertise ourself as overloaded after reboot"; + leaf time-to-advertise { + type uint32 { + range "5..86400" { + description + "Time in seconds to advertise ourself as overloaded after reboot"; + } + } + mandatory true; + description + "Time in seconds to advertise ourself as overloaded after reboot"; + } + } + container wait-for-bgp { + must "not(../advertise-as-overloaded)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Set overload bit on startup until BGP signals convergence, or timeout"; + } + } + container advertise { + description + "If overload-bit set advertise the following types of IP prefixes"; + container external { + presence "Indicates a external node is configured."; + description + "If overload-bit set advertise IP prefixes learned from other protocols"; + } + container interlevel { + presence "Indicates a interlevel node is configured."; + description + "If overload-bit set advertise IP prefixes learned from another ISIS level"; + } + } + } + } + container nets { + description + "A Network Entity Title (NET) for this process"; + list net { + key "net-id"; + description + "A Network Entity Title (NET) for this process"; + leaf net-id { + type string { + length "1..1024" { + description + "NET (XX.XXXX. ... .XXXX.XX)"; + } + } + description + "A Network Entity Title (NET) for this process"; + } + } + } + container link-groups { + description + "Link Group"; + list link-group { + key "link-group-name"; + description + "Link Group"; + leaf link-group-name { + type string { + length "1..1024" { + description + "link group name"; + } + } + description + "Link Group"; + } + leaf minimum-members { + type uint32 { + range "2..64" { + description + "count"; + } + } + description + "Minimum number of members in the link group"; + } + leaf revert-members { + type uint32 { + range "2..64" { + description + "count"; + } + } + description + "Number of members after which to revert in the link group"; + } + container metric-offset { + description + "Configure the metric offset for link group"; + container maximum { + presence "Indicates a maximum node is configured."; + description + "Maximum wide metric offset. All routers will exclude this link from their SPF"; + } + leaf default-metric-offset { + type uint32 { + range "1..16777214" { + description + "Default metric offset: <1-63> for narrow, <1-16777214> for wide"; + } + } + description + "Default metric offset: <1-63> for narrow, <1-16777214> for wide"; + } + } + } + } + container nsf { + description + "Allow non-stop forwarding (NSF) on next restart"; + leaf lifetime { + type uint32 { + range "5..300" { + description + "seconds"; + } + } + description + "Maximum route lifetime following restart (seconds)"; + } + leaf interface-timer { + type uint32 { + range "1..20" { + description + "seconds"; + } + } + description + "Timer used to wait for a restart ACK (seconds)"; + } + leaf interface-expires { + type uint32 { + range "1..10" { + description + "expiry count"; + } + } + description + "# of times T1 can expire waiting for the restart ACK"; + } + container cisco { + must "not(../ietf)"; + presence "Indicates a cisco node is configured."; + description + "Cisco Proprietary NSF restart"; + } + container ietf { + must "not(../cisco)"; + presence "Indicates a ietf node is configured."; + description + "IETF NSF restar"; + } + } + container trace { + description + "Set trace buffer parameters"; + leaf mode { + type enumeration { + enum "off" { + value 0; + description + "No tracing"; + } + enum "basic" { + value 1; + description + "Basic tracing (less overhead)"; + } + enum "enhanced" { + value 2; + description + "Enhanced tracing (more overhead)"; + } + } + description + "Set tracing type"; + } + leaf detailed { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for detailed traces"; + } + leaf standard { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for standard traces"; + } + leaf severe { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for severe traces"; + } + leaf hello { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for hello traces"; + } + leaf startup { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for startup traces"; + } + leaf config { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for config traces"; + } + leaf lspgen { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for lspgen traces"; + } + leaf adj { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for adj traces"; + } + leaf spf { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for spf traces"; + } + leaf sr { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for sr traces"; + } + leaf rib { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for rib traces"; + } + leaf te { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for te traces"; + } + leaf update { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for update traces"; + } + leaf pkt { + type uint32 { + range "1..1000000" { + description + "Maximum number of trace entries"; + } + } + description + "Buffer size for pkt traces"; + } + } + leaf triggers { + type string { + length "1..1024" { + description + "//"; + } + } + description + "Set logging triggers for performance testing"; + } + container address-families { + description + "Enter the IS-IS address-family configuration submode"; + list address-family { + key "af-name saf-name"; + description + "IS-IS address family"; + leaf af-name { + type Isis-af-name; + description + "Address family name"; + } + leaf saf-name { + type Isis-saf-name; + description + "Sub address family name"; + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + container external { + presence "Indicates a external node is configured."; + description + "Originate default prefix as an external route"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + } + container segment-routing { + description + "Enable Segment Routing"; + container mpls { + description + "Enable Segment Routing using MPLS encapsulation"; + leaf sr-prefer { + when "../../../saf-name = 'unicast'"; + type boolean; + description + "Prefer segment routing labels over LDP labels"; + } + container unlabeled { + when "../../../af-name = 'ipv6' and ../../../saf-name = 'unicast'"; + description + "Options for prefixes without a segment-routing label"; + container protection { + description + "TI-LFA and microloop protection"; + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Prefix-list name"; + } + } + must "not(../route-policy or ../disable)"; + description + "Enable TI-LFA and microloop protection based on a prefix list"; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../prefix-list or ../disable)"; + description + "Enable TI-LFA and microloop protection based on a route policy"; + } + container disable { + must "not(../prefix-list or ../route-policy)"; + presence "Indicates a disable node is configured."; + description + "Disable TI-LFA and microloop protection"; + } + } + } + container connected-prefix-sid-map { + presence "Indicates a connected-prefix-sid-map node is configured."; + description + "Enter connected prefix sid map submode"; + container prefixes { + when "../../../../saf-name = 'unicast'"; + description + "Specify prefix associated with this Prefix Segement ID"; + list prefix { + must "index or absolute"; + key "address-prefix"; + description + "Specify prefix associated with this Prefix Segement ID"; + leaf address-prefix { + type inet:ip-prefix; + description + "Specify prefix associated with this Prefix Segement ID"; + } + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "Specify the index of Prefix Segement ID"; + leaf index-id { + type uint32 { + range "0..1048575" { + description + "The Prefix Segment ID index value"; + } + } + mandatory true; + description + "Specify the index of Prefix Segement ID"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "Specify the absolute value of Prefix Segement ID"; + leaf absolute-value { + type uint32 { + range "16000..1048575" { + description + "The Prefix Segment ID absolute value"; + } + } + mandatory true; + description + "Specify the absolute value of Prefix Segement ID"; + } + } + leaf interface { + type xr:Interface-name; + description + "Specify the interface associated with the prefix sid"; + } + container php-disable { + presence "Indicates a php-disable node is configured."; + description + "Disable Penultimate Hop Popping"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Upstream neighbor must replace prefix-sid with explicit null label"; + } + } + } + container flex-algo { + when "../../../../saf-name = 'unicast'"; + description + "Specify the custom flex-algo algorithm to use"; + list prefix { + must "index or absolute"; + key "address-prefix flex-algo"; + description + "Specify prefix associated with this Prefix Segement ID"; + leaf address-prefix { + type inet:ip-prefix; + description + "Specify prefix associated with this Prefix Segement ID"; + } + leaf flex-algo { + type uint32 { + range "128..255" { + description + "Algo number"; + } + } + description + "Specify the custom flex-algo algorithm to use"; + } + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "Specify the index of Prefix Segement ID"; + leaf index-id { + type uint32 { + range "0..1048575" { + description + "The Prefix Segment ID index value"; + } + } + mandatory true; + description + "Specify the index of Prefix Segement ID"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "Specify the absolute value of Prefix Segement ID"; + leaf absolute-value { + type uint32 { + range "16000..1048575" { + description + "The Prefix Segment ID absolute value"; + } + } + mandatory true; + description + "Specify the absolute value of Prefix Segement ID"; + } + } + leaf interface { + type xr:Interface-name; + description + "Specify the interface associated with the prefix sid"; + } + container php-disable { + presence "Indicates a php-disable node is configured."; + description + "Disable Penultimate Hop Popping"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Upstream neighbor must replace prefix-sid with explicit null label"; + } + } + } + container strict-spf { + when "../../../../saf-name = 'unicast'"; + description + "Use strict-spf"; + list prefix { + must "index or absolute"; + key "address-prefix"; + description + "Specify prefix associated with this Prefix Segement ID"; + leaf address-prefix { + type inet:ip-prefix; + description + "Specify prefix associated with this Prefix Segement ID"; + } + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "Specify the index of Prefix Segement ID"; + leaf index-id { + type uint32 { + range "0..1048575" { + description + "The Prefix Segment ID index value"; + } + } + mandatory true; + description + "Specify the index of Prefix Segement ID"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "Specify the absolute value of Prefix Segement ID"; + leaf absolute-value { + type uint32 { + range "16000..1048575" { + description + "The Prefix Segment ID absolute value"; + } + } + mandatory true; + description + "Specify the absolute value of Prefix Segement ID"; + } + } + leaf interface { + type xr:Interface-name; + description + "Specify the interface associated with the prefix sid"; + } + container php-disable { + presence "Indicates a php-disable node is configured."; + description + "Disable Penultimate Hop Popping"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Upstream neighbor must replace prefix-sid with explicit null label"; + } + } + } + } + } + container prefix-sid-map { + when "../../saf-name = 'unicast'"; + description + "Enable prefix-sid-map"; + container receive { + presence "Indicates a receive node is configured."; + description + "Use remote mapping server advertisements"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the usage of remote mapping server advertisements"; + } + } + container advertise-local { + presence "Indicates a advertise-local node is configured."; + description + "Advertise active local prefix-SID mappings"; + container domain-wide { + presence "Indicates a domain-wide node is configured."; + description + "Domain wide prefix-SID mappings"; + } + } + } + container bundle-member-adj-sid { + when "../../saf-name = 'unicast'"; + presence "Indicates a bundle-member-adj-sid node is configured."; + description + "Enable per bundle member adjacency SID"; + } + container labeled-only { + when "../../saf-name = 'unicast'"; + presence "Indicates a labeled-only node is configured."; + description + "Only install SR labeled paths"; + } + leaf protected-adjacency-sid-delay { + when "../../saf-name = 'unicast'"; + type uint32 { + range "30..3600" { + description + "seconds"; + } + } + description + "Protected Adjacency SID deletion delay (seconds)"; + } + container srv6 { + when "../../af-name = 'ipv6' and ../../saf-name = 'unicast'"; + presence "Indicates a srv6 node is configured."; + description + "Enable SRv6"; + container locators { + description + "Enter SRv6 Locator submode"; + list locator { + key "locator-name"; + description + "Enter SRv6 Locator submode"; + leaf locator-name { + type xr:Cisco-ios-xr-string { + length "1..59" { + description + "Locator name"; + } + } + description + "Enter SRv6 Locator submode"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Advertise the locator only in the specified level"; + } + } + } + } + } + container distance { + description + "Configure IS-IS administrative distances"; + leaf global-administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + description + "Configure IS-IS administrative distances"; + } + container route-sources { + description + "Route source for this distance"; + list route-source { + key "address-prefix"; + description + "Route source for this distance"; + leaf address-prefix { + type inet:ip-prefix; + description + "Route source for this distance"; + } + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + description + "Configure IS-IS administrative distances"; + } + leaf prefix-access-list { + type string { + length "1..1024" { + description + "Prefix-list or access-list to filter routes for this distance"; + } + } + description + "Prefix-list or access-list to filter routes for this distance"; + } + } + } + } + container distribute-list { + description + "Filter routes sent to the RIB"; + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter routes based on a prefix list"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter routes based on a route policy"; + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + container level-1-2 { + must "not(../level-1) and not(../level-2)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + list ospf { + when "../../af-name = 'ipv4'"; + key "process-id"; + description + "Open Shortest Path First (OSPF)"; + leaf process-id { + type string { + length "1..1024" { + description + "OSPF process ID"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + must "not(../external or ../nssa-external)"; + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + must "not(../internal or ../nssa-external)"; + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + } + container nssa-external { + must "not(../internal or ../external)"; + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + } + } + container level-1-2 { + must "not(../level-1) and not(../level-2)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + list ospfv3 { + when "../../af-name = 'ipv6'"; + key "process-id"; + description + "Open Shortest Path First (OSPFv3)"; + leaf process-id { + type string { + length "1..1024" { + description + "OSPF process ID"; + } + } + description + "Open Shortest Path First (OSPFv3)"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + must "not(../external or ../nssa-external)"; + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + must "not(../internal or ../nssa-external)"; + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + } + container nssa-external { + must "not(../internal or ../external)"; + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + } + } + container level-1-2 { + must "not(../level-1) and not(../level-2)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container rip { + presence "Indicates a rip node is configured."; + description + "RIP routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container applications { + description + "Application routes"; + list application { + key "application-name"; + description + "Application routes"; + leaf application-name { + type string { + length "1..1024" { + description + "OnePK application name"; + } + } + description + "Application routes"; + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + } + list isis { + key "instance-id"; + description + "IS-IS"; + leaf instance-id { + type string { + length "1..1024" { + description + "IS-IS instance identifier"; + } + } + description + "IS-IS"; + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + container down-flag-clear { + presence "Indicates a down-flag-clear node is configured."; + description + "Set the up/down bit to 0 in prefix advertisements"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + } + list eigrp { + key "as-number"; + description + "EIGRP Protocol"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "EIGRP Protocol"; + } + container match { + description + "Redistribution of EIGRP routes"; + container internal { + must "not(../external)"; + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + } + container external { + must "not(../internal)"; + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + } + leaf maximum-paths { + type uint32 { + range "1..64" { + description + "Number of paths"; + } + } + description + "Maximum number of active parallel paths per route"; + } + container router-id { + description + "Stable IP address for system"; + leaf interface-name { + type xr:Interface-name; + description + "Router ID Interface"; + } + leaf ip-address { + type string; + description + "Router ID address"; + } + } + container advertise { + description + "Control what we advertise in our LSP"; + container passive-only { + presence "Indicates a passive-only node is configured."; + description + "Advertise prefixes of passive interfaces only"; + } + container link { + description + "IS Neighbor attributes"; + container attributes { + presence "Indicates a attributes node is configured."; + description + "Advertise additional link attributes"; + } + } + container application { + description + "Application Specific Data"; + container lfa { + description + "LFA Application"; + container link-attributes { + description + "Application Specific Link Attributes"; + container srlg { + presence "Indicates a srlg node is configured."; + description + "Shared Risk Ling Group"; + } + } + } + container flex-algo { + description + "Flex-Algo Application"; + container link-attributes { + description + "Application Specific Link Attributes"; + container srlg { + presence "Indicates a srlg node is configured."; + description + "Shared Risk Ling Group"; + } + } + } + } + } + container ucmp { + description + "UnEqual Cost Multipath feature"; + container variance { + presence "Indicates a variance node is configured."; + description + "Specify Variance parameter to filter UCMP paths based on cost"; + leaf variance-value { + type uint32 { + range "101..10000" { + description + "Variance value"; + } + } + mandatory true; + description + "Specify Variance parameter to filter UCMP paths based on cost"; + } + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the prefix-list"; + } + } + description + "Specify prefix-list name to filter UCMP paths based on prefixes"; + } + } + container exclude { + description + "UCMP interface exclusion information"; + container interfaces { + description + "Exclude an interface from UCMP computation"; + list interface { + key "interface-name"; + description + "Exclude an interface from UCMP computation"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from UCMP computation"; + } + } + } + } + leaf delay-interval { + type uint32 { + range "100..65535" { + description + "Delay interval value in milliseconds"; + } + } + description + "UCMP delay interval"; + } + } + container microloop { + description + "Enable microloop protection feature"; + container avoidance { + presence "Indicates a avoidance node is configured."; + description + "Enable local microloop avoidance"; + container protected { + must "not(../segment-routing)"; + presence "Indicates a protected node is configured."; + description + "Enable microloop avoidance for only protected prefixes"; + } + container segment-routing { + must "not(../protected)"; + presence "Indicates a segment-routing node is configured."; + description + "Enable segment routing microloop avoidance "; + } + } + leaf avoidance-rib-update-delay { + type uint32 { + range "1000..65535" { + description + "Set value of delay"; + } + } + description + "Delay in milliseconds"; + } + } + container apply-weight { + description + "Apply weight"; + container ecmp-only { + must "not(../ucmp-only)"; + presence "Indicates a ecmp-only node is configured."; + description + "Apply weights to ecmp paths only"; + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Apply weight calculated based on interface bandwidth"; + } + } + container ucmp-only { + must "not(../ecmp-only)"; + presence "Indicates a ucmp-only node is configured."; + description + "Apply weights to ucmp paths only"; + } + } + container summary-prefixes { + presence "Indicates a summary-prefix node is configured."; + description + "Configure IP address prefixes"; + list summary-prefix { + key "address-prefix"; + description + "Summary prefix"; + leaf address-prefix { + type inet:ip-prefix; + description + "Specify prefix associated with this Prefix Segement ID"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "The tag value"; + } + } + description + "Set a tag"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Summarize routes in one level only"; + } + leaf algorithm { + when "../../../af-name = 'ipv6' and ../../../saf-name = 'unicast'"; + type uint32 { + range "128..255"; + } + description + "Flexible Algorithm number"; + } + container explicit { + when "../../../af-name = 'ipv6' and ../../../saf-name = 'unicast'"; + presence "Indicates a explicit node is configured."; + description + "Strict flex-algo locator summarization mode"; + } + } + } + container metric { + description + "Configure default metric"; + container default-metric { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + leaf default-metric-value { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + container levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf default-metric-value { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + mandatory true; + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + } + } + } + container metric-style { + description + "Use old-style (ISO 10589) or new-style packet formats"; + container narrow { + must "not(../wide or ../transition)"; + presence "Indicates a narrow node is configured."; + description + "Use old style of TLVs with narrow metric"; + } + container wide { + must "not(../narrow or ../transition)"; + presence "Indicates a wide node is configured."; + description + "Use new style of TLVs to carry wider metric"; + } + container transition { + must "not(../narrow or ../wide)"; + presence "Indicates a transition node is configured."; + description + "Send and accept both styles of TLVs during transition"; + } + container levels { + description + "Set metric-style for one level only"; + list level { + key "level-id"; + description + "Set metric-style for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set metric-style for one level only"; + } + container narrow { + must "not(../wide or ../transition)"; + presence "Indicates a narrow node is configured."; + description + "Use old style of TLVs with narrow metric"; + } + container wide { + must "not(../narrow or ../transition)"; + presence "Indicates a wide node is configured."; + description + "Use new style of TLVs to carry wider metric"; + } + container transition { + must "not(../narrow or ../wide)"; + presence "Indicates a transition node is configured."; + description + "Send and accept both styles of TLVs during transition"; + } + } + } + } + container spf-interval { + description + "Route calculation scheduling parameters (FSPF, ISPF, PRC)"; + container maximum-wait { + description + "Maximum delay before running a route calculation"; + leaf maximum-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay before running a route calculation"; + } + } + container initial-wait { + description + "Initial delay before running a route calculation"; + leaf initial-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay before running a route calculation"; + } + } + container secondary-wait { + description + "Secondary delay before running a route calculation"; + leaf secondary-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay before running a route calculation"; + } + } + container levels { + description + "Set SPF interval for one level only"; + list level { + must "maximum-wait-time or initial-wait-time or secondary-wait-time"; + key "level-id"; + description + "Set SPF interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set SPF interval for one level only"; + } + leaf maximum-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay before running a route calculation"; + } + leaf initial-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay before running a route calculation"; + } + leaf secondary-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay before running a route calculation"; + } + } + } + } + container spf { + description + "SPF configuration"; + container periodic { + description + "Configure the periodic SPF"; + leaf interval { + type union { + type enumeration { + enum "disable-periodic-spf" { + value 0; + description + "Disable the periodic SPF (spf periodic disable)"; + } + } + type uint32 { + range "1..3600" { + description + "Maximum interval in between SPF runs in seconds(spf periodic interval )"; + } + } + } + description + "Set the maximum interval in between SPF runs"; + } + container levels { + description + "Configure periodic SPF interval for for one level only"; + list level { + key "level-id"; + description + "Configure periodic SPF interval for for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure periodic SPF interval for for one level only"; + } + leaf interval { + type union { + type enumeration { + enum "disable-periodic-spf" { + value 0; + description + "Disable the periodic SPF (spf periodic disable)"; + } + } + type uint32 { + range "1..3600" { + description + "Maximum interval in between SPF runs in seconds(spf periodic interval )"; + } + } + } + mandatory true; + description + "Set the maximum interval in between SPF runs"; + } + } + } + } + container prefix-priority { + description + "Configure a prefix priority list"; + list prefix-priority { + must "tag or access-list-name"; + key "priority"; + description + "Configure a prefix priority list"; + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Specify critical priority prefixes"; + } + enum "high" { + value 1; + description + "Specify high priority prefixes"; + } + enum "medium" { + value 2; + description + "Specify medium priority prefixes"; + } + } + description + "prefix priority"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "The tag to indicate priority"; + } + } + must "not(../access-list-name)"; + description + "Specify a tag to indicate priority"; + } + leaf access-list-name { + type string { + length "1..1024" { + description + "Access-list name"; + } + } + must "not(../tag)"; + description + "Access-list name"; + } + } + container levels { + description + "Configure SPF prefix priority list for one level only"; + list level { + must "tag or access-list-name"; + key "level-id priority"; + description + "Configure SPF prefix priority list for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure SPF prefix priority list for one level only"; + } + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Specify critical priority prefixes"; + } + enum "high" { + value 1; + description + "Specify high priority prefixes"; + } + enum "medium" { + value 2; + description + "Specify medium priority prefixes"; + } + } + description + "prefix priority"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "The tag to indicate priority"; + } + } + must "not(../access-list-name)"; + description + "Specify a tag to indicate priority"; + } + leaf access-list-name { + type string { + length "1..1024" { + description + "Access-list name"; + } + } + must "not(../tag)"; + description + "Access-list name"; + } + } + } + } + } + container maximum-redistributed-prefixes { + description + "Maximum number of redistributed prefixes"; + leaf maximum-prefixes { + type uint32 { + range "1..28000" { + description + "maximum limit on number of redistributed prefixes"; + } + } + description + "Maximum number of redistributed prefixes"; + } + container levels { + description + "Set maximum redistributed prefixes for one level only"; + list level { + key "level-id"; + description + "Set maximum redistributed prefixes for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set maximum redistributed prefixes for one level only"; + } + leaf maximum-prefixes { + type uint32 { + range "1..28000" { + description + "maximum limit on number of redistributed prefixes"; + } + } + mandatory true; + description + "Maximum number of redistributed prefixes"; + } + } + } + } + container propagates { + description + "Propagate routes between IS-IS levels"; + list propagate { + key "level into-level"; + description + "Source level"; + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "level"; + } + leaf into-level { + type uint32 { + range "1..2" { + description + "Destination level"; + } + } + description + "into"; + } + leaf route-policy { + type xr:Route-policy-name; + mandatory true; + description + "Propagate only specified routes"; + } + } + } + container adjacency-check { + description + "Suppress checking of consistent AF support on received IIHs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable adjacency-checking"; + } + } + container route { + description + "Control the advertisement of routes in the RIB"; + container source { + description + "Control the path source value"; + container first-hop { + presence "Indicates a first-hop node is configured."; + description + "Use the IP address of the first-hop"; + } + } + } + container attached-bit { + description + "Modify behavior of the attached-bit"; + container send { + description + "Modify how we set the attached bit"; + container always-set { + must "not(../never-set)"; + presence "Indicates a always-set node is configured."; + description + "Always set the attached bit in our LSP"; + } + container never-set { + must "not(../always-set)"; + presence "Indicates a never-set node is configured."; + description + "Never set the attached bit our LSP"; + } + } + container receive { + description + "Modify how we treat received attached bits"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore the attached bit in received LSPs"; + } + } + } + container fast-reroute { + description + "Configure Fast ReRoute"; + leaf delay-interval { + type uint32 { + range "100..60000" { + description + "Delay before running FRR (milliseconds)"; + } + } + description + "Delay before running FRR computation"; + } + container per-link { + when "../../saf-name = 'unicast'"; + description + "Prefix independent per-link computation"; + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + must "not(../high or ../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical or ../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes"; + } + container medium { + must "not(../critical or ../high)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes"; + } + container levels { + description + "Set priority-limit for one level only"; + list level { + must "critical or high or medium"; + key "level-id"; + description + "Set priority-limit for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set priority-limit for one level only"; + } + container critical { + must "not(../high or ../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical or ../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes"; + } + container medium { + must "not(../critical or ../high)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes"; + } + } + } + } + container use-candidate-only { + description + "Exclude all interfaces from computation"; + container candidate-only { + presence "Indicates a use-candidate-only node is configured."; + description + "Exclude all interfaces from computation"; + } + container levels { + description + "Exclude all interfaces for one level only"; + list level { + must "candidate-only"; + key "level-id"; + description + "Exclude all interfaces for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Exclude all interfaces for one level only"; + } + container candidate-only { + presence "Indicates a use-candidate-only node is configured."; + description + "Exclude all interfaces from computation"; + } + } + } + } + } + container per-prefix { + when "../../saf-name = 'unicast'"; + description + "Prefix dependent computation"; + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + must "not(../high or ../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical or ../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes"; + } + container medium { + must "not(../critical or ../high)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes"; + } + container levels { + description + "Set priority-limit for one level only"; + list level { + must "critical or high or medium"; + key "level-id"; + description + "Set priority-limit for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set priority-limit for one level only"; + } + container critical { + must "not(../high or ../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical or ../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes"; + } + container medium { + must "not(../critical or ../high)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes"; + } + } + } + } + container use-candidate-only { + description + "Exclude all interfaces from computation"; + container candidate-only { + presence "Indicates a use-candidate-only node is configured."; + description + "Exclude all interfaces from computation"; + } + container levels { + description + "Exclude all interfaces for one level only"; + list level { + must "candidate-only"; + key "level-id"; + description + "Exclude all interfaces for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Exclude all interfaces for one level only"; + } + container candidate-only { + presence "Indicates a use-candidate-only node is configured."; + description + "Exclude all interfaces from computation"; + } + } + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + } + container load-sharing { + description + "Load share prefixes across multiple backups"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable load sharing"; + } + container levels { + description + "Disable load sharing for one level only"; + list level { + must "disable"; + key "level-id"; + description + "Disable load sharing for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Disable load sharing for one level only"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable load sharing"; + } + } + } + } + container remote-lfa { + description + "Enable remote LFA related configuration"; + container prefix-list { + description + "Filter PQ node router ID based on prefix list"; + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter PQ node router ID based on prefix list"; + } + container levels { + description + "Enable router ID filtering for one level only"; + list level { + key "level-id"; + description + "Enable router ID filtering for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Enable router ID filtering for one level only"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Filter PQ node router ID based on prefix list"; + } + } + } + } + } + container srlg-protection { + description + "Type of SRLG protection"; + container weighted-global { + presence "Indicates a weighted-global node is configured."; + description + "Weighted global SRLG protection"; + } + container levels { + description + "Set SRLG protection type for one level only"; + list level { + must "weighted-global"; + key "level-id"; + description + "Set SRLG protection type for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set SRLG protection type for one level only"; + } + container weighted-global { + presence "Indicates a weighted-global node is configured."; + description + "Weighted global SRLG protection"; + } + } + } + } + } + } + container monitor-convergence { + presence "Indicates a monitor-convergence node is configured."; + description + "Enables convergence monitoring"; + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Prefix List Name"; + } + } + description + "Enables Individual Prefix Monitoring"; + } + container track-ip-frr { + presence "Indicates a track-ip-frr node is configured."; + description + "Enables Tracking IP-Frr Convergence"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container auto-config { + presence "Indicates a auto-config node is configured."; + description + "Enable LDP IGP interface auto-configuration"; + } + } + container traffic-eng { + description + "Routing protocol commands for MPLS Traffic Engineering"; + container router-id { + description + "Traffic Engineering stable IP address for system"; + leaf ip-address { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + leaf interface { + type xr:Interface-name; + description + ""; + } + } + container igp-intact { + presence "Indicates a igp-intact node is configured."; + description + "Install both TE and non-TE nexthops in the RIB."; + } + container multicast-intact { + presence "Indicates a multicast-intact node is configured."; + description + "Install non-TE nexthops in the RIB for use by multicast"; + } + container level-1-2 { + presence "Indicates a level-1-2 node is configured."; + description + "Enable mpls traffic-eng at both level 1 and 2"; + } + container level-1 { + presence "Indicates a level-1 node is configured."; + description + "Enable mpls traffic-eng at level 1"; + } + container level-2-only { + presence "Indicates a level-2-only node is configured."; + description + "Enable mpls traffic-eng at level 2"; + } + container tunnel { + description + "Tunnel selection"; + container restricted { + presence "Indicates a restricted node is configured."; + description + "Use only primary tunnel for destination IP address"; + } + container preferred { + presence "Indicates a preferred node is configured."; + description + "Prefer TE tunnels over equal-cost physical paths"; + } + container metric { + description + "Default metric for forwarding-adjacency tunnels"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric for forwarding-adjacency tunnels"; + } + } + description + "Default metric for forwarding-adjacency tunnels"; + } + container levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric for forwarding-adjacency tunnels"; + } + } + mandatory true; + description + "Default metric for forwarding-adjacency tunnels"; + } + } + } + } + } + } + } + container single-topology { + when "../af-name = 'ipv6' and ../saf-name = 'unicast'"; + presence "Indicates a single-topology node is configured."; + description + "Run IPv6 Unicast using the standard (IPv4 Unicast) topology"; + } + } + list address-family-topology { + key "af-name saf-name topology-name"; + description + "IS-IS address family with a non-default topology"; + leaf af-name { + type Isis-af-name; + description + "Address family name"; + } + leaf saf-name { + type Isis-saf-multicast; + description + "Sub address family name"; + } + leaf topology-name { + type string { + length "1..32" { + description + "Topology name"; + } + } + description + "Specify a non-default topology"; + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + container external { + presence "Indicates a external node is configured."; + description + "Originate default prefix as an external route"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + } + container segment-routing { + description + "Enable Segment Routing"; + container mpls { + description + "Enable Segment Routing using MPLS encapsulation"; + container connected-prefix-sid-map { + presence "Indicates a connected-prefix-sid-map node is configured."; + description + "Enter connected prefix sid map submode"; + } + } + } + container distance { + description + "Configure IS-IS administrative distances"; + leaf global-administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + description + "Configure IS-IS administrative distances"; + } + container route-sources { + description + "Route source for this distance"; + list route-source { + key "address-prefix"; + description + "Route source for this distance"; + leaf address-prefix { + type inet:ip-prefix; + description + "Route source for this distance"; + } + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + description + "Configure IS-IS administrative distances"; + } + leaf prefix-access-list { + type string { + length "1..1024" { + description + "Prefix-list or access-list to filter routes for this distance"; + } + } + description + "Prefix-list or access-list to filter routes for this distance"; + } + } + } + } + container distribute-list { + description + "Filter routes sent to the RIB"; + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter routes based on a prefix list"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter routes based on a route policy"; + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + container level-1-2 { + must "not(../level-1) and not(../level-2)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + list ospf { + when "../../af-name = 'ipv4'"; + key "process-id"; + description + "Open Shortest Path First (OSPF)"; + leaf process-id { + type string { + length "1..1024" { + description + "OSPF process ID"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + must "not(../external or ../nssa-external)"; + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + must "not(../internal or ../nssa-external)"; + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + } + container nssa-external { + must "not(../internal or ../external)"; + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + } + } + container level-1-2 { + must "not(../level-1) and not(../level-2)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + list ospfv3 { + when "../../af-name = 'ipv6'"; + key "process-id"; + description + "Open Shortest Path First (OSPFv3)"; + leaf process-id { + type string { + length "1..1024" { + description + "OSPF process ID"; + } + } + description + "Open Shortest Path First (OSPFv3)"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + must "not(../external or ../nssa-external)"; + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + must "not(../internal or ../nssa-external)"; + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + } + container nssa-external { + must "not(../internal or ../external)"; + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + } + } + container level-1-2 { + must "not(../level-1) and not(../level-2)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container rip { + presence "Indicates a rip node is configured."; + description + "RIP routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + container applications { + description + "Application routes"; + list application { + key "application-name"; + description + "Application routes"; + leaf application-name { + type string { + length "1..1024" { + description + "OnePK application name"; + } + } + description + "Application routes"; + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + } + list isis { + key "instance-id"; + description + "IS-IS"; + leaf instance-id { + type string { + length "1..1024" { + description + "IS-IS instance identifier"; + } + } + description + "IS-IS"; + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + container down-flag-clear { + presence "Indicates a down-flag-clear node is configured."; + description + "Set the up/down bit to 0 in prefix advertisements"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + } + list eigrp { + key "as-number"; + description + "EIGRP Protocol"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "EIGRP Protocol"; + } + container match { + description + "Redistribution of EIGRP routes"; + container internal { + must "not(../external)"; + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + } + container external { + must "not(../internal)"; + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container level-1-2 { + must "not(../level-2) and not(../level-1)"; + presence "Indicates a level-1-2 node is configured."; + description + "Redistribute routes into both levels"; + } + container level-2 { + must "not(../level-1-2) and not(../level-1)"; + presence "Indicates a level-2 node is configured."; + description + "Redistribute routes into level 2 only (the default)"; + } + container level-1 { + must "not(../level-1-2) and not(../level-2)"; + presence "Indicates a level-1 node is configured."; + description + "Redistribute routes into level 1 only"; + } + leaf metric { + type uint32 { + range "0..16777215" { + description + "Default metric: <0-63> for narrow, <0-16777215> for wide"; + } + } + description + "Metric for redistributed routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf metric-type { + type enumeration { + enum "internal" { + value 0; + description + "Set IS-IS Internal metric type"; + } + enum "external" { + value 1; + description + "Set IS-IS External metric type"; + } + enum "rib-metric-as-internal" { + value 2; + description + "Set IS-IS Internal metric type and use RIB metric"; + } + enum "rib-metric-as-external" { + value 3; + description + "Set IS-IS External metric type and use RIB metric"; + } + } + description + "IS-IS metric type for redistributed routes"; + } + } + } + leaf maximum-paths { + type uint32 { + range "1..64" { + description + "Number of paths"; + } + } + description + "Maximum number of active parallel paths per route"; + } + container advertise { + description + "Control what we advertise in our LSP"; + container passive-only { + presence "Indicates a passive-only node is configured."; + description + "Advertise prefixes of passive interfaces only"; + } + container link { + description + "IS Neighbor attributes"; + container attributes { + presence "Indicates a attributes node is configured."; + description + "Advertise additional link attributes"; + } + } + container application { + description + "Application Specific Data"; + container lfa { + description + "LFA Application"; + container link-attributes { + description + "Application Specific Link Attributes"; + container srlg { + presence "Indicates a srlg node is configured."; + description + "Shared Risk Ling Group"; + } + } + } + container flex-algo { + description + "Flex-Algo Application"; + container link-attributes { + description + "Application Specific Link Attributes"; + container srlg { + presence "Indicates a srlg node is configured."; + description + "Shared Risk Ling Group"; + } + } + } + } + } + container ucmp { + description + "UnEqual Cost Multipath feature"; + container variance { + presence "Indicates a variance node is configured."; + description + "Specify Variance parameter to filter UCMP paths based on cost"; + leaf variance-value { + type uint32 { + range "101..10000" { + description + "Variance value"; + } + } + mandatory true; + description + "Specify Variance parameter to filter UCMP paths based on cost"; + } + leaf prefix-list { + type string { + length "1..1024" { + description + "Name of the prefix-list"; + } + } + description + "Specify prefix-list name to filter UCMP paths based on prefixes"; + } + } + container exclude { + description + "UCMP interface exclusion information"; + container interfaces { + description + "Exclude an interface from UCMP computation"; + list interface { + key "interface-name"; + description + "Exclude an interface from UCMP computation"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from UCMP computation"; + } + } + } + } + leaf delay-interval { + type uint32 { + range "100..65535" { + description + "Delay interval value in milliseconds"; + } + } + description + "UCMP delay interval"; + } + } + container microloop { + description + "Enable microloop protection feature"; + container avoidance { + presence "Indicates a avoidance node is configured."; + description + "Enable local microloop avoidance"; + container protected { + must "not(../segment-routing)"; + presence "Indicates a protected node is configured."; + description + "Enable microloop avoidance for only protected prefixes"; + } + container segment-routing { + must "not(../protected)"; + presence "Indicates a segment-routing node is configured."; + description + "Enable segment routing microloop avoidance "; + } + } + leaf avoidance-rib-update-delay { + type uint32 { + range "1000..65535" { + description + "Set value of delay"; + } + } + description + "Delay in milliseconds"; + } + } + container apply-weight { + description + "Apply weight"; + container ecmp-only { + must "not(../ucmp-only)"; + presence "Indicates a ecmp-only node is configured."; + description + "Apply weights to ecmp paths only"; + container bandwidth { + presence "Indicates a bandwidth node is configured."; + description + "Apply weight calculated based on interface bandwidth"; + } + } + container ucmp-only { + must "not(../ecmp-only)"; + presence "Indicates a ucmp-only node is configured."; + description + "Apply weights to ucmp paths only"; + } + } + container summary-prefixes { + description + "Configure IP address prefixes"; + list summary-prefix { + key "address-prefix"; + description + "Summary prefix"; + leaf address-prefix { + type inet:ip-prefix; + description + "Specify prefix associated with this Prefix Segement ID"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "The tag value"; + } + } + description + "Set a tag"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Summarize routes in one level only"; + } + leaf algorithm { + when "../../../af-name = 'ipv6' and ../../../saf-name = 'unicast'"; + type uint32 { + range "128..255"; + } + description + "Flexible Algorithm number"; + } + container explicit { + when "../../../af-name = 'ipv6' and ../../../saf-name = 'unicast'"; + presence "Indicates a explicit node is configured."; + description + "Strict flex-algo locator summarization mode"; + } + } + } + container metric { + description + "Configure default metric"; + container default-metric { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + leaf default-metric-value { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + container levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf default-metric-value { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + mandatory true; + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + } + } + } + container metric-style { + description + "Use old-style (ISO 10589) or new-style packet formats"; + container narrow { + must "not(../wide or ../transition)"; + presence "Indicates a narrow node is configured."; + description + "Use old style of TLVs with narrow metric"; + } + container wide { + must "not(../narrow or ../transition)"; + presence "Indicates a wide node is configured."; + description + "Use new style of TLVs to carry wider metric"; + } + container transition { + must "not(../narrow or ../wide)"; + presence "Indicates a transition node is configured."; + description + "Send and accept both styles of TLVs during transition"; + } + container levels { + description + "Set metric-style for one level only"; + list level { + key "level-id"; + description + "Set metric-style for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set metric-style for one level only"; + } + container narrow { + must "not(../wide or ../transition)"; + presence "Indicates a narrow node is configured."; + description + "Use old style of TLVs with narrow metric"; + } + container wide { + must "not(../narrow or ../transition)"; + presence "Indicates a wide node is configured."; + description + "Use new style of TLVs to carry wider metric"; + } + container transition { + must "not(../narrow or ../wide)"; + presence "Indicates a transition node is configured."; + description + "Send and accept both styles of TLVs during transition"; + } + } + } + } + container spf-interval { + description + "Route calculation scheduling parameters (FSPF, ISPF, PRC)"; + container maximum-wait { + description + "Maximum delay before running a route calculation"; + leaf maximum-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay before running a route calculation"; + } + } + container initial-wait { + description + "Initial delay before running a route calculation"; + leaf initial-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay before running a route calculation"; + } + } + container secondary-wait { + description + "Secondary delay before running a route calculation"; + leaf secondary-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay before running a route calculation"; + } + } + container levels { + description + "Set SPF interval for one level only"; + list level { + key "level-id"; + description + "Set SPF interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set SPF interval for one level only"; + } + leaf maximum-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Maximum delay before running a route calculation"; + } + leaf secondary-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Secondary delay before running a route calculation"; + } + leaf initial-wait-time { + type uint32 { + range "0..120000" { + description + "Delay in milliseconds"; + } + } + description + "Initial delay before running a route calculation"; + } + } + } + } + container spf { + description + "SPF configuration"; + container periodic { + description + "Configure the periodic SPF"; + leaf interval { + type union { + type enumeration { + enum "disable-periodic-spf" { + value 0; + description + "Disable the periodic SPF (spf periodic disable)"; + } + } + type uint32 { + range "1..3600" { + description + "Maximum interval in between SPF runs in seconds(spf periodic interval )"; + } + } + } + description + "Set the maximum interval in between SPF runs"; + } + container levels { + description + "Configure periodic SPF interval for for one level only"; + list level { + key "level-id"; + description + "Configure periodic SPF interval for for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure periodic SPF interval for for one level only"; + } + leaf interval { + type union { + type enumeration { + enum "disable-periodic-spf" { + value 0; + description + "Disable the periodic SPF (spf periodic disable)"; + } + } + type uint32 { + range "1..3600" { + description + "Maximum interval in between SPF runs in seconds(spf periodic interval )"; + } + } + } + mandatory true; + description + "Set the maximum interval in between SPF runs"; + } + } + } + } + container prefix-priority { + description + "Configure a prefix priority list"; + list prefix-priority { + must "tag or access-list-name"; + key "priority"; + description + "Configure a prefix priority list"; + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Specify critical priority prefixes"; + } + enum "high" { + value 1; + description + "Specify high priority prefixes"; + } + enum "medium" { + value 2; + description + "Specify medium priority prefixes"; + } + } + description + "prefix priority"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "The tag to indicate priority"; + } + } + must "not(../access-list-name)"; + description + "Specify a tag to indicate priority"; + } + leaf access-list-name { + type string { + length "1..1024" { + description + "Access-list name"; + } + } + must "not(../tag)"; + description + "Access-list name"; + } + } + container levels { + description + "Configure SPF prefix priority list for one level only"; + list level { + must "tag or access-list-name"; + key "level-id priority"; + description + "Configure SPF prefix priority list for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure SPF prefix priority list for one level only"; + } + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Specify critical priority prefixes"; + } + enum "high" { + value 1; + description + "Specify high priority prefixes"; + } + enum "medium" { + value 2; + description + "Specify medium priority prefixes"; + } + } + description + "prefix priority"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "The tag to indicate priority"; + } + } + must "not(../access-list-name)"; + description + "Specify a tag to indicate priority"; + } + leaf access-list-name { + type string { + length "1..1024" { + description + "Access-list name"; + } + } + must "not(../tag)"; + description + "Access-list name"; + } + } + } + } + } + container maximum-redistributed-prefixes { + description + "Maximum number of redistributed prefixes"; + leaf maximum-prefixes { + type uint32 { + range "1..28000" { + description + "maximum limit on number of redistributed prefixes"; + } + } + description + "Maximum number of redistributed prefixes"; + } + container levels { + description + "Set maximum redistributed prefixes for one level only"; + list level { + key "level-id"; + description + "Set maximum redistributed prefixes for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set maximum redistributed prefixes for one level only"; + } + leaf maximum-prefixes { + type uint32 { + range "1..28000" { + description + "maximum limit on number of redistributed prefixes"; + } + } + mandatory true; + description + "Maximum number of redistributed prefixes"; + } + } + } + } + container propagates { + description + "Propagate routes between IS-IS levels"; + list propagate { + key "level into-level"; + description + "Source level"; + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "level"; + } + leaf into-level { + type uint32 { + range "1..2" { + description + "Destination level"; + } + } + description + "into"; + } + leaf route-policy { + type xr:Route-policy-name; + mandatory true; + description + "Propagate only specified routes"; + } + } + } + container adjacency-check { + description + "Suppress checking of consistent AF support on received IIHs"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable adjacency-checking"; + } + } + container route { + description + "Control the advertisement of routes in the RIB"; + container source { + description + "Control the path source value"; + container first-hop { + presence "Indicates a first-hop node is configured."; + description + "Use the IP address of the first-hop"; + } + } + } + container attached-bit { + description + "Modify behavior of the attached-bit"; + container send { + description + "Modify how we set the attached bit"; + container always-set { + must "not(../never-set)"; + presence "Indicates a always-set node is configured."; + description + "Always set the attached bit in our LSP"; + } + container never-set { + must "not(../always-set)"; + presence "Indicates a never-set node is configured."; + description + "Never set the attached bit our LSP"; + } + } + container receive { + description + "Modify how we treat received attached bits"; + container ignore { + presence "Indicates a ignore node is configured."; + description + "Ignore the attached bit in received LSPs"; + } + } + } + leaf topology-id { + type uint32 { + range "6..4095" { + description + "The IS-IS MT ID to identify the topology"; + } + } + description + "Specify the IS-IS MT ID for this topology"; + } + container fast-reroute { + description + "Configure Fast ReRoute"; + leaf delay-interval { + type uint32 { + range "100..60000" { + description + "Delay before running FRR (milliseconds)"; + } + } + description + "Delay before running FRR computation"; + } + } + container monitor-convergence { + presence "Indicates a monitor-convergence node is configured."; + description + "Enables convergence monitoring"; + leaf prefix-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Prefix List Name"; + } + } + description + "Enables Individual Prefix Monitoring"; + } + container track-ip-frr { + presence "Indicates a track-ip-frr node is configured."; + description + "Enables Tracking IP-Frr Convergence"; + } + } + } + } + container interfaces { + description + "Enter the IS-IS interface configuration submode"; + list interface { + key "interface-name"; + description + "Enter the IS-IS interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "Enter the IS-IS interface configuration submode"; + } + leaf circuit-type { + type enumeration { + enum "level-1" { + value 1; + description + "Form level-1 adjacencies only"; + } + enum "level-2-only" { + value 2; + description + "Form level-2 adjacencies only"; + } + enum "level-1-2" { + value 3; + description + "Form level-1 and level-2 adjacencies"; + } + } + description + "Configure circuit type for interface"; + } + container csnp-interval { + description + "Set CSNP interval"; + leaf csnp-interval-time { + type uint32 { + range "0..65535" { + description + "CSNP interval value (seconds)"; + } + } + description + "Set CSNP interval"; + } + container levels { + description + "Set the CSNP interval only at the supplied level"; + list level { + key "level-id"; + description + "Set the CSNP interval only at the supplied level"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set the CSNP interval only at this level"; + } + } + description + "Set the CSNP interval only at the supplied level"; + } + leaf csnp-interval-time { + type uint32 { + range "0..65535" { + description + "CSNP interval value (seconds)"; + } + } + mandatory true; + description + "Set CSNP interval"; + } + } + } + } + container hello-padding { + description + "Add padding to IS-IS hello packets"; + container disable { + must "not(../sometimes)"; + presence "Indicates a disable node is configured."; + description + "Disable hello-padding"; + } + container sometimes { + must "not(../disable)"; + presence "Indicates a sometimes node is configured."; + description + "Enable hello-padding during adjacency formation only"; + } + container levels { + description + "Set hello-interval for one level only"; + list level { + key "level-id"; + description + "Set hello-interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set hello-interval for IIHs at this level only"; + } + } + description + "Set hello-interval for one level only"; + } + container disable { + must "not(../sometimes)"; + presence "Indicates a disable node is configured."; + description + "Disable hello-padding"; + } + container sometimes { + must "not(../disable)"; + presence "Indicates a sometimes node is configured."; + description + "Enable hello-padding during adjacency formation only"; + } + } + } + } + container hello-interval { + description + "Set Hello interval in seconds"; + leaf hello-interval-time { + type uint32 { + range "1..65535" { + description + "Hello interval value"; + } + } + description + "Set Hello interval in seconds"; + } + container levels { + description + "Set hello-interval for one level only"; + list level { + key "level-id"; + description + "Set hello-interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set hello-interval for IIHs at this level only"; + } + } + description + "Set hello-interval for one level only"; + } + leaf hello-interval-time { + type uint32 { + range "1..65535" { + description + "Hello interval value"; + } + } + mandatory true; + description + "Set Hello interval in seconds"; + } + } + } + } + container hello-multiplier { + description + "Set multiplier for Hello holding time"; + leaf hello-multiplier-value { + type uint32 { + range "3..1000" { + description + "Hello multiplier value"; + } + } + description + "Set multiplier for Hello holding time"; + } + container levels { + description + "Set hello-multiplier for one level only"; + list level { + key "level-id"; + description + "Set hello-multiplier for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set hello-multiplier for IIHs at this level only"; + } + } + description + "Set hello-multiplier for one level only"; + } + leaf hello-multiplier-value { + type uint32 { + range "3..1000" { + description + "Hello multiplier value"; + } + } + mandatory true; + description + "Set multiplier for Hello holding time"; + } + } + } + } + container lsp-interval { + description + "Set LSP transmission interval"; + leaf lsp-interval-time { + type uint32 { + range "1..4294967295" { + description + "LSP transmission interval (milliseconds)"; + } + } + description + "Set LSP transmission interval"; + } + container levels { + description + "set lsp-interval for this level"; + list level { + key "level-id"; + description + "set lsp-interval for this level"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set lsp-interval at this level only"; + } + } + description + "set lsp-interval for this level"; + } + leaf lsp-interval-time { + type uint32 { + range "1..4294967295" { + description + "LSP transmission interval (milliseconds)"; + } + } + mandatory true; + description + "Set LSP transmission interval"; + } + } + } + } + container hello-password { + must "text or hmac-md5 or keychain"; + presence "Indicates a hello-password node is configured."; + description + "Configure the IIH password"; + container text { + must "not(../hmac-md5 or ../keychain)"; + presence "Indicates a text node is configured."; + description + "Use cleartext password authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container hmac-md5 { + must "not(../text or ../keychain)"; + presence "Indicates a hmac-md5 node is configured."; + description + "Use HMAC-MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container keychain { + must "not(../text or ../hmac-md5)"; + presence "Indicates a keychain node is configured."; + description + "Specifies a Key Chain name will follow"; + leaf keychain-name { + type string { + length "1..1024" { + description + "The Key Chain name"; + } + } + mandatory true; + description + "Specifies a Key Chain name will follow"; + } + } + container send-only { + presence "Indicates a send-only node is configured."; + description + "Do not require authentication of incoming IIHs"; + } + } + container hello-password-levels { + description + "Set hello-password for one level only"; + list level { + must "text or hmac-md5 or keychain"; + key "level-id"; + description + "Set hello-password for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set hello-password for IIHs at this level only"; + } + } + description + "Set hello-password for one level only"; + } + container text { + must "not(../hmac-md5 or ../keychain)"; + presence "Indicates a text node is configured."; + description + "Use cleartext password authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container hmac-md5 { + must "not(../text or ../keychain)"; + presence "Indicates a hmac-md5 node is configured."; + description + "Use HMAC-MD5 authentication"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted LSP/SNP password"; + } + } + container keychain { + must "not(../text or ../hmac-md5)"; + presence "Indicates a keychain node is configured."; + description + "Specifies a Key Chain name will follow"; + leaf keychain-name { + type string { + length "1..1024" { + description + "The Key Chain name"; + } + } + mandatory true; + description + "Specifies a Key Chain name will follow"; + } + } + container send-only { + presence "Indicates a send-only node is configured."; + description + "Do not require authentication of incoming IIHs"; + } + } + } + container hello-password-accept { + description + "Use password for incoming authentication only"; + leaf encrypted { + type xr:Proprietary-password; + description + "The encrypted hello password"; + } + container levels { + description + "Set hello-password for one level only"; + list level { + key "level-id"; + description + "Set hello-password for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set hello-password for IIHs at this level only"; + } + } + description + "Set hello-password for one level only"; + } + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "The encrypted hello password"; + } + } + } + } + container lsp { + description + "LSP configuration"; + container fast-flood { + description + "LSP fast flood configuration"; + container threshold { + description + "Set LSP transmission fast flood threshold"; + leaf number-of-lsps { + type uint32 { + range "1..4294967295" { + description + "Number of LSPs to send back to back"; + } + } + description + "Set LSP transmission fast flood threshold"; + } + container levels { + description + "Set lsp fast-flood threshold for this level"; + list level { + key "level-id"; + description + "Set lsp fast-flood threshold for this level"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set lsp fast-flood threshold at this level only"; + } + } + description + "Set lsp fast-flood threshold for this level"; + } + leaf number-of-lsps { + type uint32 { + range "1..4294967295" { + description + "Number of LSPs to send back to back"; + } + } + mandatory true; + description + "Set LSP transmission fast flood threshold"; + } + } + } + } + } + } + container priority { + description + "Set priority for Designated Router election"; + leaf priority-value { + type uint32 { + range "0..127" { + description + "Priority value"; + } + } + description + "Set priority for Designated Router election"; + } + container levels { + description + "Set priority for one level only"; + list level { + key "level-id"; + description + "Set priority for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set priority for this level only"; + } + } + description + "Set priority for one level only"; + } + leaf priority-value { + type uint32 { + range "0..127" { + description + "Priority value"; + } + } + mandatory true; + description + "Set priority for Designated Router election"; + } + } + } + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Treat active LAN interface as point-to-point"; + } + container retransmit-interval { + description + "Interval between retransmissions of the same LSP"; + leaf retransmit-interval-time { + type uint32 { + range "0..65535" { + description + "(seconds)"; + } + } + description + "Interval between retransmissions of the same LSP"; + } + container levels { + description + "Set retransmit-interval for one level only"; + list level { + key "level-id"; + description + "Set retransmit-interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set retransmit-interval for LSPs at this level only"; + } + } + description + "Set retransmit-interval for one level only"; + } + leaf retransmit-interval-time { + type uint32 { + range "0..65535" { + description + "(seconds)"; + } + } + mandatory true; + description + "Interval between retransmissions of the same LSP"; + } + } + } + } + container retransmit-throttle-interval { + description + "Minimum interval betwen retransissions of different LSPs"; + leaf retransmit-throttle-interval-time { + type uint32 { + range "0..65535" { + description + "(milliseconds)"; + } + } + description + "Minimum interval betwen retransissions of different LSPs"; + } + container levels { + description + "Set retransmit-throttle-interval for one level only"; + list level { + key "level-id"; + description + "Set retransmit-throttle-interval for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set retransmit-throttle-interval at this level only"; + } + } + description + "Set retransmit-throttle-interval for one level only"; + } + leaf retransmit-throttle-interval-time { + type uint32 { + range "0..65535" { + description + "(milliseconds)"; + } + } + mandatory true; + description + "Minimum interval betwen retransissions of different LSPs"; + } + } + } + } + container link-down { + description + "Configure interface down event parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable high priority detection"; + } + } + container prefix-attributes { + when "../interface-name[starts-with(text(),'Loopback')]" { + tailf:dependency "../interface-name"; + } + description + "Set Prefix Attributes"; + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Clear N-flag"; + } + container levels { + description + "Clear N-flag for this level"; + list level { + must "n-flag-clear"; + key "level-id"; + description + "Clear N-flag for this level"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Clear N-flag at this level only"; + } + } + description + "Clear N-flag for this level"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Clear N-flag"; + } + } + } + container anycast { + presence "Indicates a anycast node is configured."; + description + "Prefix has anycast semantics"; + } + container anycast-levels { + description + "Set anycast for this level"; + list level { + key "level-id"; + description + "Set anycast for this level"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set anycast at this level only"; + } + } + description + "Set anycast for this level"; + } + } + } + } + container affinity { + description + "Application specific interface affinities"; + container flex-algos { + description + "Affinities for Flexible Algorithm application"; + leaf-list affinity-names { + type string { + length "1..32" { + description + "Affinity names"; + } + } + max-elements "32"; + description + "Affinities for Flexible Algorithm application"; + } + } + } + container override { + description + "Override a configuration setting"; + container metrics { + description + "Override the configured link metrics"; + container maximum { + must "not(../high or ../disabled)"; + presence "Indicates a maximum node is configured."; + description + "Set metric to unreachable value (wide metrics only)"; + } + container high { + must "not(../maximum or ../disabled)"; + presence "Indicates a high node is configured."; + description + "Set metric to highest reachable value"; + } + container disabled { + must "not(../maximum or ../high)"; + presence "Indicates a disabled node is configured."; + description + "Ignore reverse-metric requests from neighbors"; + } + } + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + description + "Enable Fast detection"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "Address Family"; + } + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "Address Family"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container passive { + must "not(../suppressed or ../shutdown)"; + presence "Indicates a passive node is configured."; + description + "Do not establish adjacencies over this interface"; + } + container suppressed { + must "not(../passive or ../shutdown)"; + presence "Indicates a suppressed node is configured."; + description + "Do not advertise connected prefixes of this interface"; + } + container shutdown { + must "not(../passive or ../suppressed)"; + presence "Indicates a shutdown node is configured."; + description + "Shutdown IS-IS on this interface"; + } + container mesh-group { + description + "Set IS-IS mesh group"; + leaf mesh-group-number { + type uint32 { + range "1..4294967295" { + description + "Mesh group number"; + } + } + description + "Mesh group number"; + } + container blocked { + presence "Indicates a blocked node is configured."; + description + "Block LSPs on this interface"; + } + } + container address-families { + description + "Enter the IS-IS interface address-family configuration submode"; + list address-family { + key "af-name saf-name"; + description + "Address family"; + leaf af-name { + type Isis-af-name; + description + "Address family name"; + } + leaf saf-name { + type Isis-saf-name; + description + "Sub address family name"; + } + container metric { + description + "Configure the metric for interface"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + must "not(../maximum)"; + description + "Default metric"; + } + container maximum { + must "not(../default-metric)"; + presence "Indicates a maximum node is configured."; + description + "Maximum wide metric. All routers will exclude this link from their SPF"; + } + container levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + must "not(../maximum)"; + description + "Default metric"; + } + container maximum { + must "not(../default-metric)"; + presence "Indicates a maximum node is configured."; + description + "Maximum wide metric. All routers will exclude this link from their SPF"; + } + } + } + container fallback { + description + "Configure the metric fallback for interface"; + container bandwidth { + description + "fallback based on bandwidth change"; + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Set Multiplier of interface metric"; + } + } + must "../threshold"; + description + "fallback based on bandwidth change"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Set metric fallback at this threshold only"; + } + } + must "../multiplier"; + description + "Threshold interms of percentage of bandwidth"; + } + } + container anomaly { + description + "Increase the link metric when a delay/loss anomaly occurs"; + container te-metric { + description + "Modify the TE metric"; + container delay { + must + "not(../loss or ../increment or ../multiplier + or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a delay node is configured."; + description + "Only increase the link metric when a delay anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + container loss { + must + "not(../delay or ../increment or ../multiplier + or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a loss node is configured."; + description + "Only increase the link metric when a loss anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must + "not(../delay or ../loss or ../multiplier or + ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must + "not(../delay or ../loss or ../increment or + ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must + "not(../delay or ../loss or ../increment or + ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + container te-metric-levels { + description + "Increase metric for one level only"; + list level { + must + "delay or loss or increment or multiplier + or maximum"; + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + container delay { + must + "not(../loss or ../increment or ../multiplier + or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a delay node is configured."; + description + "Only increase the link metric when a delay anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + container loss { + must + "not(../delay or ../increment or + ../multiplier or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a loss node is configured."; + description + "Only increase the link metric when a loss anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must + "not(../delay or ../loss or ../multiplier + or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must + "not(../delay or ../loss or ../increment + or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must + "not(../delay or ../loss or ../increment + or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + } + container delay { + must + "not(../loss or ../increment or ../multiplier + or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a delay node is configured."; + description + "Only increase the link metric when a delay anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + container loss { + must + "not(../loss or ../increment or ../multiplier + or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a loss node is configured."; + description + "Only increase the link metric when a loss anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must + "not(../delay or ../loss or ../multiplier + or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must + "not(../delay or ../loss or ../increment + or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must + "not(../delay or ../loss or ../increment + or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + container levels { + description + "Increase metric for one level only"; + list level { + must + "delay or loss or increment or multiplier + or maximum"; + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + container delay { + must + "not(../loss or ../increment or + ../multiplier or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a delay node is configured."; + description + "Only increase the link metric when a delay anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + container loss { + must + "not(../delay or ../increment or + ../multiplier or ../maximum) and + (increment or multiplier or maximum)"; + presence "Indicates a loss node is configured."; + description + "Only increase the link metric when a loss anomaly occurs"; + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must "not(../multiplier or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must "not(../increment or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must "not(../increment or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + leaf increment { + type uint32 { + range "1..16777213" { + description + "Metric increment"; + } + } + must + "not(../delay or ../loss or ../multiplier + or ../maximum)"; + description + "Increment the link metric by the following amount"; + } + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Metric multiplier"; + } + } + must + "not(../delay or ../loss or ../increment + or ../maximum)"; + description + "Multiply the link metric by the following amount"; + } + container maximum { + must + "not(../delay or ../loss or ../increment + or ../multiplier)"; + presence "Indicates a maximum node is configured."; + description + "Set the maximum wide metric. All routers will exclude this link from their SPF"; + } + } + } + } + } + } + container te-metric { + description + "Configure an application specific TE metric for the interface"; + leaf flex-algo { + type uint32 { + range "1..16777214" { + description + "Flex-algo traffic-engineering metric"; + } + } + description + "Configure a Flex-algo TE metric for the interface"; + } + } + container te-metric-levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf flex-algo { + type uint32 { + range "1..16777214" { + description + "Flex-algo traffic-engineering metric"; + } + } + mandatory true; + description + "Configure a Flex-algo TE metric for the interface"; + } + } + } + container mpls { + when "../saf-name = 'unicast'"; + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Configure LDP ISIS synchronization"; + leaf level { + type uint32 { + range "1..2" { + description + "Set LDP synchronization at this level only"; + } + } + description + "Set LDP synchronization for one level only"; + } + } + } + } + container tag { + description + "Set interface tag"; + leaf interface-tag { + type uint32 { + range "1..4294967295" { + description + "Interface tag"; + } + } + description + "Set interface tag"; + } + container levels { + description + "Set the tag only at supplied level"; + list level { + key "level-id"; + description + "Set the tag only at supplied level"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set the tag only at this level"; + } + } + description + "Set the tag only at supplied level"; + } + leaf interface-tag { + type uint32 { + range "1..4294967295" { + description + "Interface tag"; + } + } + mandatory true; + description + "Set interface tag"; + } + } + } + } + container prefix-sid { + when "../saf-name = 'unicast' and ../../../interface-name[starts-with(text(),'Loopback')]" { + tailf:dependency "../../../interface-name"; + } + description + "Specify the Prefix Segment ID"; + container sid { + must "index or absolute"; + presence "Indicates a sid node is configured."; + description + "Specify the Prefix Segment ID"; + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "Specify the index of Prefix Segement ID"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "The Prefix Segment ID index"; + } + } + mandatory true; + description + "Specify the index of Prefix Segement ID"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "Specify the absolute value of Prefix Segement ID"; + leaf sid-value { + type uint32 { + range "16000..1048575" { + description + "The Prefix Segment ID value"; + } + } + mandatory true; + description + "Specify the absolute value of Prefix Segement ID"; + } + } + container php-disable { + presence "Indicates a php-disable node is configured."; + description + "Disable Penultimate Hop Popping"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Upstream neighbor must replace prefix-sid with explicit null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Clear N-flag for the prefix-SID "; + } + } + container strict-spf { + must "index or absolute"; + presence "Indicates a strict-spf node is configured."; + description + "Strict-SPF Prefix SID Configuration"; + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "Specify the index of Prefix Segement ID"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "The Prefix Segment ID index"; + } + } + mandatory true; + description + "Specify the index of Prefix Segement ID"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "Specify the absolute value of Prefix Segement ID"; + leaf sid-value { + type uint32 { + range "16000..1048575" { + description + "The Prefix Segment ID value"; + } + } + mandatory true; + description + "Specify the absolute value of Prefix Segement ID"; + } + } + container php-disable { + presence "Indicates a php-disable node is configured."; + description + "Disable Penultimate Hop Popping"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Upstream neighbor must replace prefix-sid with explicit null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Clear N-flag for the prefix-SID "; + } + } + container algorithms { + description + "Algorithm Specific Prefix SID Configuration"; + list algorithm { + key "algorithm-number"; + description + "Algorithm Specific Prefix SID Configuration"; + leaf algorithm-number { + type uint32 { + range "128..255" { + description + "Algorithm number"; + } + } + description + "Algorithm Specific Prefix SID Configuration"; + } + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "Specify the index of Prefix Segement ID"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "The Prefix Segment ID index"; + } + } + mandatory true; + description + "Specify the index of Prefix Segement ID"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "Specify the absolute value of Prefix Segement ID"; + leaf sid-value { + type uint32 { + range "16000..1048575" { + description + "The Prefix Segment ID value"; + } + } + mandatory true; + description + "Specify the absolute value of Prefix Segement ID"; + } + } + container php-disable { + presence "Indicates a php-disable node is configured."; + description + "Disable Penultimate Hop Popping"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Upstream neighbor must replace prefix-sid with explicit null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Clear N-flag for the prefix-SID "; + } + } + } + } + container adjacency-sid { + when "../saf-name = 'unicast'"; + description + "Specify the Adjacency Segment ID"; + container indexes { + description + "Specify the index of Adjacency Segement ID"; + list index { + key "sid-index"; + description + "Specify the index of Adjacency Segement ID"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "The Adjacency Segment ID index"; + } + } + description + "Specify the index of Adjacency Segement ID"; + } + container protected { + presence "Indicates a protected node is configured."; + description + "Protect Adjacency SID"; + } + } + } + container absolutes { + description + "Specify the absolute value of Adjacency Segement ID"; + list absolute { + key "sid-value"; + description + "Specify the absolute value of Adjacency Segement ID"; + leaf sid-value { + type uint32 { + range "0..1048575" { + description + "The Adjacency Segment ID value"; + } + } + description + "Specify the absolute value of Adjacency Segement ID"; + } + container protected { + presence "Indicates a protected node is configured."; + description + "Protect Adjacency SID"; + } + } + } + } + container fast-reroute { + when "../saf-name = 'unicast'"; + description + "Configure Fast ReRoute"; + container computation { + description + "Computation Fast ReRoute"; + container per-link-computation { + must "not(../per-prefix-computation)"; + presence "Indicates a per-link-computation node is configured."; + description + "Prefix independent per-link computation"; + } + container per-prefix-computation { + must "not(../per-link-computation)"; + presence "Indicates a per-prefix-computation node is configured."; + description + "Prefix dependent computation"; + } + container levels { + description + "Configure FRR for one level only"; + list level { + must "per-link-computation or per-prefix-computation"; + key "level-id"; + description + "Configure FRR for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure FRR for one level only"; + } + container per-link-computation { + must "not(../per-prefix-computation)"; + presence "Indicates a per-link node is configured."; + description + "Prefix independent per-link computation"; + } + container per-prefix-computation { + must "not(../per-link-computation)"; + presence "Indicates a per-prefix node is configured."; + description + "Prefix dependent computation"; + } + } + } + } + container per-link { + description + "Prefix independent per-link computation"; + container exclude { + description + "FRR exclusion information"; + container interfaces { + description + "Exclude an interface from computation"; + list interface { + key "interface-name"; + description + "Exclude an interface from computation"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from computation"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Exclude interface for one level only"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Include interface for one level only"; + } + } + } + } + } + container per-prefix { + description + "Prefix dependent computation"; + container remote-lfa { + description + "Enable remote LFA computation"; + container tunnel { + description + "Enable remote LFA computation using tunnels"; + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + description + "Use MPLS LDP tunnel to reach the remote LFA node"; + } + container levels { + description + "Enable remote LFA for one level only"; + list level { + must "mpls-ldp"; + key "level-id"; + description + "Enable remote LFA for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set remote LFA for this level"; + } + } + description + "Enable remote LFA for one level only"; + } + container mpls-ldp { + presence "Indicates a mpls-ldp node is configured."; + description + "Use MPLS LDP tunnel to reach the remote LFA node"; + } + } + } + } + container maximum-metric { + description + "Limit remote LFA node selection within the metric"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Value of the metric"; + } + } + description + "Value of the metric"; + } + container levels { + description + "Enable remote LFA max metric for one level only"; + list level { + key "level-id"; + description + "Enable remote LFA max metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set remote LFA max metric value for this level"; + } + } + description + "Enable remote LFA max metric for one level only"; + } + leaf metric { + type uint32 { + range "1..16777215" { + description + "Value of the metric"; + } + } + mandatory true; + description + "Value of the metric"; + } + } + } + } + } + container per-prefix { + description + "Prefix dependent computation"; + container ti-lfa { + presence "Indicates a ti-lfa node is configured."; + description + "Enable TI LFA computation"; + } + container levels { + description + "Enable EPCFRR LFA for one level only"; + list level { + must "ti-lfa"; + key "level-id"; + description + "Enable EPCFRR LFA for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set EPCFRR LFA for this level"; + } + } + description + "Enable EPCFRR LFA for one level only"; + } + container ti-lfa { + presence "Indicates a ti-lfa node is configured."; + description + "Enable TI LFA computation"; + } + } + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container node-protecting { + description + "Prefer node protecting backup path"; + container index { + description + "Set preference order among tiebreakers"; + leaf preference-order { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf preference-order { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + container index { + description + "Set preference order among tiebreakers"; + leaf preference-order { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + leaf preference-order { + type uint32 { + range "1..255" { + description + "Index"; + } + } + mandatory true; + description + "Set preference order among tiebreakers"; + } + } + } + } + } + container default { + description + "Prefer default (link protecting) backup path"; + container default-backup-path { + presence "Indicates a default node is configured."; + description + "Prefer default (link protecting) backup path"; + } + container levels { + description + "Configure tiebreaker for one level only"; + list level { + must "default-backup-path"; + key "level-id"; + description + "Configure tiebreaker for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Configure tiebreaker for one level only"; + } + container default-backup-path { + presence "Indicates a default node is configured."; + description + "Prefer default (link protecting) backup path"; + } + } + } + } + } + container exclude { + description + "FRR exclusion information"; + container interfaces { + description + "Exclude an interface from computation"; + list interface { + key "interface-name"; + description + "Exclude an interface from computation"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from computation"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Exclude interface for one level only"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Include interface for one level only"; + } + } + } + } + } + } + container link-group { + presence "Indicates a link-group node is configured."; + description + "Set interface link group"; + leaf link-group-name { + type string { + length "1..40" { + description + "Interface link group"; + } + } + mandatory true; + description + "Set interface link group"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Set the tag only at this level"; + } + } + description + "Set the tag only at supplied level"; + } + } + container weight { + description + "Configure weight for the interface"; + leaf weight-value { + type uint32 { + range "1..16777214" { + description + "Configure weight for unequal load balancing"; + } + } + description + "Configure weight for the interface"; + } + container levels { + description + "Set weight for one level only"; + list level { + key "level-id"; + description + "Set weight for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set weight at this level only"; + } + } + description + "Set weight for one level only"; + } + leaf weight-value { + type uint32 { + range "1..16777214" { + description + "Configure weight for unequal load balancing"; + } + } + mandatory true; + description + "Configure weight for the interface"; + } + } + } + } + container auto-metric { + description + "Configure the auto-metric for interface"; + container proactive-protect { + description + "set auto-metric proactive-protect mode"; + leaf absolute-metric { + type uint32 { + range "1..16777214" { + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + container levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf absolute-metric { + type uint32 { + range "1..16777214" { + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + mandatory true; + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + } + } + } + container advertise { + when "../saf-name = 'unicast'"; + description + "Configure the AF specific advertisement"; + container prefix { + description + "Configure the prefix advertisement"; + leaf route-policy { + type xr:Route-policy-name; + description + "Filter routes based on a route policy"; + } + container levels { + description + "Set advertisement for one level only"; + list level { + key "level-id"; + description + "Set advertisement for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set advertisement at this level only"; + } + } + description + "Set advertisement for one level only"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Filter routes based on a route policy"; + } + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IS-IS for this topology on this interface"; + } + } + list address-family-topology { + key "af-name saf-name topology-name"; + description + "Address family with a non-default topology"; + leaf af-name { + type Isis-af-name; + description + "Address family name"; + } + leaf saf-name { + type Isis-saf-name; + description + "Sub address family name"; + } + leaf topology-name { + type string { + length "1..32" { + description + "Topology name"; + } + } + description + "Specify a non-default topology"; + } + container metric { + description + "Configure the metric for interface"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + must "not(../maximum)"; + description + "Default metric"; + } + container maximum { + must "not(../default-metric)"; + presence "Indicates a maximum node is configured."; + description + "Maximum wide metric. All routers will exclude this link from their SPF"; + } + container levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + must "not(../maximum)"; + description + "Default metric"; + } + container maximum { + must "not(../default-metric)"; + presence "Indicates a maximum node is configured."; + description + "Maximum wide metric. All routers will exclude this link from their SPF"; + } + } + } + container fallback { + description + "Configure the metric fallback for interface"; + container bandwidth { + description + "fallback based on bandwidth change"; + leaf multiplier { + type uint32 { + range "2..100000" { + description + "Set Multiplier of interface metric"; + } + } + must "../threshold"; + description + "fallback based on bandwidth change"; + } + leaf threshold { + type uint32 { + range "1..100" { + description + "Set metric fallback at this threshold only"; + } + } + must "../multiplier"; + description + "Threshold interms of percentage of bandwidth"; + } + } + } + } + container te-metric { + description + "Configure an application specific TE metric for the interface"; + leaf flex-algo { + type uint32 { + range "1..16777214" { + description + "Flex-algo traffic-engineering metric"; + } + } + description + "Configure a Flex-algo TE metric for the interface"; + } + } + container te-metric-levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf flex-algo { + type uint32 { + range "1..16777214" { + description + "Flex-algo traffic-engineering metric"; + } + } + mandatory true; + description + "Configure a Flex-algo TE metric for the interface"; + } + } + } + container tag { + description + "Set interface tag"; + leaf interface-tag { + type uint32 { + range "1..4294967295" { + description + "Interface tag"; + } + } + description + "Set interface tag"; + } + container levels { + description + "Set the tag only at supplied level"; + list level { + key "level-id"; + description + "Set the tag only at supplied level"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set the tag only at this level"; + } + } + description + "Set the tag only at supplied level"; + } + leaf interface-tag { + type uint32 { + range "1..4294967295" { + description + "Interface tag"; + } + } + mandatory true; + description + "Set interface tag"; + } + } + } + } + container link-group { + presence "Indicates a link-group node is configured."; + description + "Set interface link group"; + leaf link-group-name { + type string { + length "1..40" { + description + "Interface link group"; + } + } + mandatory true; + description + "Set interface link group"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Set the tag only at this level"; + } + } + description + "Set the tag only at supplied level"; + } + } + container weight { + description + "Configure weight for the interface"; + leaf weight-value { + type uint32 { + range "1..16777214" { + description + "Configure weight for unequal load balancing"; + } + } + description + "Configure weight for the interface"; + } + container levels { + description + "Set weight for one level only"; + list level { + key "level-id"; + description + "Set weight for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set weight at this level only"; + } + } + description + "Set weight for one level only"; + } + leaf weight-value { + type uint32 { + range "1..16777214" { + description + "Configure weight for unequal load balancing"; + } + } + mandatory true; + description + "Configure weight for the interface"; + } + } + } + } + container auto-metric { + description + "Configure the auto-metric for interface"; + container proactive-protect { + description + "set auto-metric proactive-protect mode"; + leaf absolute-metric { + type uint32 { + range "1..16777214" { + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + container levels { + description + "Set metric for one level only"; + list level { + key "level-id"; + description + "Set metric for one level only"; + leaf level-id { + type uint32 { + range "1..2" { + description + "Set metric at this level only"; + } + } + description + "Set metric for one level only"; + } + leaf absolute-metric { + type uint32 { + range "1..16777214" { + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + mandatory true; + description + "Absolute metric: <1-63> for narrow, <1-16777214> for wide"; + } + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IS-IS for this topology on this interface"; + } + } + } + } + } + container distribute { + description + "Distribute routing information to external services"; + container link-state { + presence "Indicates a link-state node is configured"; + description + "Distribute the link-state database to external services"; + leaf instance-id { + type uint32 { + range "32..4294967295" { + description + "Instance ID"; + } + } + description + "Set distribution process instance identifier"; + } + leaf throttle { + type uint32 { + range "1..20" { + description + "Seconds"; + } + } + description + "Set throttle update in seconds"; + } + leaf level { + type uint32 { + range "1..2" { + description + "Level"; + } + } + description + "Set distribution for one level only"; + } + } + } + container segment-routing { + description + "IS-IS segment-routing configuration"; + container global-block { + presence "Indicates a global-block node is configured."; + description + "Prefix-SID Global label Block (SRGB)"; + leaf lower-bound { + type uint32 { + range "16000..1048575" { + description + "The lower bound of the SRGB"; + } + } + mandatory true; + description + "Prefix-SID Global label Block (SRGB)"; + } + leaf upper-bound { + type uint32 { + range "1..1048575" { + description + "The upper bound SRGB"; + } + } + mandatory true; + description + "The upper bound SRGB"; + } + } + } + container adjacency { + description + "ISIS adjacency bring up"; + container stagger { + presence "Indicates a stagger node is configured."; + description + "Stagger ISIS adjacency bring up"; + leaf initial-number-of-neighbors { + type uint32 { + range "2..65000" { + description + "Initial number of neighbors to bring up (default 2)"; + } + } + must "../maximum-simultaneous-neighbors"; + description + "Initial number of neighbors to bring up (default 2)"; + } + leaf maximum-simultaneous-neighbors { + type uint32 { + range "2..65000" { + description + "Maximum simultaneous neighbors to bring up (default 64)"; + } + } + must "../initial-number-of-neighbors"; + description + "Maximum simultaneous neighbors to bring up (default 64)"; + } + } + } + container flex-algos { + description + "Flex Algorithm definition"; + list flex-algo { + key "algorithm-number"; + description + "Flex Algorithm definition"; + leaf algorithm-number { + type uint32 { + range "128..255" { + description + "Algorithm number"; + } + } + description + "Flex Algorithm definition"; + } + container affinity { + description + "Specify affinity names to exclude"; + container exclude-anies { + description + "Exclude objects in flex-algo calculation"; + leaf-list exclude-any { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Affinity to exclude"; + } + } + max-elements "32"; + description + "Exclude objects in flex-algo calculation"; + } + } + container include-anies { + description + "Include objects in flex-algo calculation"; + leaf-list include-any { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Affinity to include"; + } + } + max-elements "32"; + description + "Include objects in flex-algo calculation"; + } + } + container include-alls { + description + "Include objects in flex-algo calculation"; + leaf-list include-all { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Affinity to include"; + } + } + max-elements "32"; + description + "Include objects in flex-algo calculation"; + } + } + } + container srlg { + description + "Specify SRLG names"; + container exclude-anies { + description + "Exclude objects in flex-algo calculation"; + leaf-list exclude-any { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "SRLG to exclude"; + } + } + max-elements "32"; + description + "Exclude objects in flex-algo calculation"; + } + } + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority value"; + } + } + description + "Flex-Algo definition priority"; + } + container metric-type { + description + "Metric-type used by flex-algo calculation"; + container delay { + must "not(../te)"; + presence "Indicates a delay node is configured."; + description + "Use delay as metric"; + } + container te { + must "not(../delay)"; + presence "Indicates a te node is configured."; + description + "Use Traffic Engineering metric"; + } + } + container fast-reroute { + description + "Configure Fast ReRoute"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Fast ReRoute for Flex-Algo"; + } + } + container microloop { + description + "Configure Microloop"; + container avoidance { + description + "Configure Microloop Avoidance"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Microloop Avoidance for Flex-Algo"; + } + } + } + container advertise-definition { + presence "Indicates a advertise-definition node is configured."; + description + "Advertise the Flex-Algo Definition"; + } + container prefix-metric { + presence "Indicates a prefix-metric node is configured."; + description + "Use Flex-Algo Prefix Metric"; + } + } + } + container affinity-maps { + description + "Affinity map configuration"; + list affinity-map { + key "affinity-map-name"; + description + "Affinity map configuration"; + leaf affinity-map-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Affinity attribute name"; + } + } + description + "Affinity map configuration"; + } + leaf bit-position { + type uint32 { + range "0..255" { + description + "Bit position"; + } + } + mandatory true; + description + "Bit position for affinity attribute value"; + } + } + } + container srlg { + presence "Indicates a srlg node is configured."; + description + "ISIS SRLG submode"; + container names { + description + "SRLG Name"; + list name { + key "srlg-name"; + description + "SRLG Name"; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "SRLG Name"; + } + } + description + "SRLG Name"; + } + leaf admin-weight { + type uint32 { + range "0..16777215" { + description + "Value added to link admin-weight during SRLG-aware path computation"; + } + } + description + "Administrative weight: default inherited from the global admin-weight"; + } + container static { + description + "Configure static SRLG under name"; + container ipv4 { + description + "IPv4 address"; + list address { + must "next-hop"; + key "local-address"; + description + "IPv4 address of local end-point of the link"; + leaf local-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of local end-point of the link"; + } + container next-hop { + description + "Next hop of the link"; + list address { + key "remote-address"; + description + "IPv4 address of local end-point of the link"; + leaf remote-address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of remote end-point of the link"; + } + } + } + } + } + } + } + } + leaf admin-weight { + type uint32 { + range "0..16777215" { + description + "Value added to link admin-weight during SRLG-aware path computation"; + } + } + description + "Default administrative weight for all SRLGs, default is 1"; + } + } + container purge-transmit { + description + "Control TLVs permitted in purge LSP"; + container strict { + presence "Indicates a strict node is configured."; + description + "Only authentication TLV is allowed"; + leaf apply-for-level-only { + type enumeration { + enum "level-1" { + value 1; + description + "Apply for Level-1 only"; + } + enum "level-2" { + value 2; + description + "Apply for Level-2 only"; + } + } + description + "configure this node"; + } + } + } + container receive { + description + "Control if ASLA takes precedence over Legacy"; + container application { + description + "Select Application"; + container flex-algo { + description + "Flex-Algo Applciation"; + container delay { + description + "Unidirectionial Min Delay metric"; + container app-only { + presence "Indicates a app-only node is configured."; + description + "ASLA to take precedence"; + } + } + } + } + } + container attestation { + presence "Indicates a attestation node is configured."; + description + "ISIS Attestation submode"; + container application { + description + "Application"; + container flex-algo { + presence "Indicates a flex-algo node is configured."; + description + "Flexible Algorithm application"; + container trust-vector { + presence "Indicates a trust-vector node is configured."; + description + "Trust Vector Configuration"; + container boot-integrity-passed { + description + "Boot Integrity Passed"; + leaf affinity { + type string { + length "1..32" { + description + "Affinity name"; + } + } + description + "Affinity configuration"; + } + } + container boot-integrity-failed { + description + "Boot Integrity Failed"; + leaf affinity { + type string { + length "1..32" { + description + "Affinity name"; + } + } + description + "Affinity configuration"; + } + } + container failures-found { + description + "Failures Found"; + leaf affinity { + type string { + length "1..32" { + description + "Affinity name"; + } + } + description + "Affinity configuration"; + } + } + } + } + container traffic-engineering { + presence "Indicates a traffic-engineering node is configured."; + description + "Traffic-engineering application"; + container trust-vector { + presence "Indicates a trust-vector node is configured."; + description + "Trust Vector Configuration"; + container boot-integrity-passed { + description + "Boot Integrity Passed"; + leaf affinity { + type string { + length "1..32" { + description + "Affinity name"; + } + } + description + "Affinity configuration"; + } + } + container boot-integrity-failed { + description + "Boot Integrity Failed"; + leaf affinity { + type string { + length "1..32" { + description + "Affinity name"; + } + } + description + "Affinity configuration"; + } + } + container failures-found { + description + "Failures Found"; + leaf affinity { + type string { + length "1..32" { + description + "Affinity name"; + } + } + description + "Affinity configuration"; + } + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-mld-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-mld-cfg.yang new file mode 100644 index 000000000..761e586e3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-mld-cfg.yang @@ -0,0 +1,1202 @@ +module Cisco-IOS-XR-um-router-mld-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-mld-cfg"; + prefix um-router-mld-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router mld configuration. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-04 { + description + "Added missing disable node under explicit-tracking"; + semver:module-version "2.0.0"; + } + revision 2021-02-09 { + description + "Added dvmrp-enable node under vrf and default container + 2021-01-28 + Added cisco-support task yang nodes + 2020-12-07 + Removed un-supported nodes"; + semver:module-version "1.1.0"; + } + revision 2019-08-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container router { + description + "Enable a routing process"; + container mld { + presence "Indicates a mld node is configured."; + description + "IPv6 address family"; + container vrfs { + description + "VRF configs"; + list vrf { + key "vrf-name"; + description + "VRF configs"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Enter VRF name"; + } + } + description + "VRF configs"; + } + leaf robustness-variable { + type uint32 { + range "2..10" { + description + "Robustness variable count"; + } + } + description + "MLD robustness variable"; + } + container maximum { + description + "Maximum resource enforced by this router"; + leaf groups { + type uint32 { + range "1..75000" { + description + "Maximum number of groups accepted by this router"; + } + } + description + "Maximum number of groups accepted by this router"; + } + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + description + "Maximum number of groups accepted per interface by this router"; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maximum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + leaf version { + type uint32 { + range "1..2" { + description + "version number"; + } + } + description + "MLD version"; + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "MLD host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "MLD previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "MLD max query response value"; + } + container explicit-tracking { + presence "Indicates a explicit-tracking node is configured."; + description + "MLD explicit host tracking"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + leaf access-list { + type xr:Cisco-ios-xr-string; + description + "Access list specifying tracking group range"; + } + } + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "MLD group access group"; + } + container ssm { + description + "Configure SSM specific options"; + container map { + description + "Configure mappings of SSM group membership to sources"; + container statics { + description + "Configure a static mapping of a source to a set of SSM groups"; + list static { + key "address"; + description + "Configure a static mapping of a source to a set of SSM groups"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Source address"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of ssm groups that should map to the given source"; + } + } + mandatory true; + description + "Access list of ssm groups that should map to the given source"; + } + } + } + container query { + description + "Configure a mapping of sources to groups quering external database"; + container dns { + presence "Indicates a dns node is configured."; + description + "Configure a dns mapping for sources to a set of SSM groups"; + } + } + } + } + container interfaces { + description + "MLD interface configuration subcommands"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf version { + type uint32 { + range "1..2" { + description + "version number"; + } + } + description + "MLD version"; + } + container router { + description + "Enable/Disable Router side functionality in MLD"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Router side functionality in MLD"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Router side functionality in MLD"; + } + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "MLD host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "MLD previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "MLD max query response value"; + } + container explicit-tracking { + description + "MLD explicit host tracking"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable IGMPv3 explicit host tracking"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable IGMPv3 explicit host tracking"; + } + leaf access-list { + type xr:Cisco-ios-xr-string; + must "../enable"; + description + "Access list specifying tracking group range"; + } + } + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "MLD group access group"; + } + container maximum { + description + "Maximum resource per interface enforced by this router"; + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + description + "Maxinum number of groups accepted per interface by this router"; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maxinum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + container static-group { + description + "MLD static multicast group"; + list group-address { + must "group-address-only or group-address-inc-mask or group-address-inc-mask-source-address or group-address-source-address or group-address-source-address-inc-mask or group-inc-mask-source-inc-mask"; + key "group-address"; + description + "MLD static multicast group"; + leaf group-address { + type inet:ipv6-address-no-zone; + description + "IP group address"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + container group-address-inc-mask { + description + "Group-address with increment-mask"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "IGMP static multicast group"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for source address"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + description + "Increment mask for source address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + } + } + container join-groups { + description + "MLD join multicast group"; + list join-group { + must "group-address-only or source-addresses"; + key "group-address"; + description + "MLD join multicast group"; + leaf group-address { + type inet:ipv6-address-no-zone; + description + "MLD join multicast group"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Join multicast group without source address"; + } + list source-addresses { + must "include or exclude"; + key "source-address"; + description + "Source address to include or exclude"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to include"; + } + container include { + must "not (../exclude)"; + presence "Indicates a include node is configured."; + description + "Source address to include"; + } + container exclude { + must "not (../include)"; + presence "Indicates a exclude node is configured."; + description + "Exclude the only following source address"; + } + } + } + } + container dvmrp-enable { + presence "Indicates a dvmrp-enable node is configured."; + description + "MLD Enable dvmrp on specific interface"; + } + } + } + } + } + container nsf { + description + "Configure NSF specific options"; + leaf lifetime { + type uint32 { + range "10..3600" { + description + "Maximum time for MLD NSF mode in seconds"; + } + } + description + "Configure maximum time for MLD NSF mode"; + } + } + leaf robustness-variable { + type uint32 { + range "2..10" { + description + "Robustness variable count"; + } + } + description + "MLD robustness variable"; + } + container maximum { + description + "Maximum resource enforced by this router"; + leaf groups { + type uint32 { + range "1..75000" { + description + "Maximum number of groups accepted by this router"; + } + } + description + "Maximum number of groups accepted by this router"; + } + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + description + "Maximum number of groups accepted per interface by this router"; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maximum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + leaf version { + type uint32 { + range "1..2" { + description + "version number"; + } + } + description + "MLD version"; + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "MLD host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "MLD previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "MLD max query response value"; + } + container explicit-tracking { + presence "Indicates a explicit-tracking node is configured."; + description + "MLD explicit host tracking"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MLD explicit host tracking"; + } + leaf access-list { + type xr:Cisco-ios-xr-string; + description + "Access list specifying tracking group range"; + } + } + leaf access-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "MLD group access group"; + } + container ssm { + description + "Configure SSM specific options"; + container map { + description + "Configure mappings of SSM group membership to sources"; + container statics { + description + "Configure a static mapping of a source to a set of SSM groups"; + list static { + key "address"; + description + "Configure a static mapping of a source to a set of SSM groups"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Source address"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of ssm groups that should map to the given source"; + } + } + mandatory true; + description + "Configure a static mapping of a source to a set of SSM groups"; + } + } + } + container query { + description + "Configure a mapping of sources to groups quering external database"; + container dns { + presence "Indicates a dns node is configured."; + description + "Configure a dns mapping for sources to a set of SSM groups"; + } + } + } + } + container interfaces { + description + "MLD interface configuration subcommands"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf version { + type uint32 { + range "1..2" { + description + "version number"; + } + } + description + "MLD version"; + } + container router { + description + "Enable/Disable Router side functionality in MLD"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Router side functionality in MLD"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Router side functionality in MLD"; + } + } + leaf query-interval { + type uint32 { + range "1..3600" { + description + "Query interval in seconds"; + } + } + description + "MLD host query interval"; + } + leaf query-timeout { + type uint32 { + range "60..300" { + description + "timeout value in seconds"; + } + } + description + "MLD previous querier timeout"; + } + leaf query-max-response-time { + type uint32 { + range "1..25" { + description + "query response value in seconds"; + } + } + description + "MLD max query response value"; + } + container explicit-tracking { + description + "MLD explicit host tracking"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable MLD explicit host tracking"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable MLD explicit host tracking"; + } + leaf access-list { + type xr:Cisco-ios-xr-string; + must "../enable"; + description + "Access list specifying tracking group range"; + } + } + leaf access-group { + type string { + length "1..32" { + description + "IP Named Standard Access list"; + } + } + description + "MLD group access group"; + } + container maximum { + description + "Maximum resource per interface enforced by this router"; + container groups-per-interface { + presence "Indicates a groups-per-interface node is configured."; + leaf maximum-number { + type uint32 { + range "1..40000" { + description + "Maximum number of groups accepted per interface by this router"; + } + } + mandatory true; + description + "Maxinum number of groups accepted per interface by this router"; + } + leaf threshold { + type uint32 { + range "1..40000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-number"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of ACL"; + } + } + description + "Name of ACL"; + } + } + } + container static-group { + description + "MLD static multicast group"; + list group-address { + must "group-address-only or group-address-inc-mask or group-address-inc-mask-source-address or group-address-source-address or group-address-source-address-inc-mask or group-inc-mask-source-inc-mask"; + key "group-address"; + description + "MLD static multicast group"; + leaf group-address { + type inet:ipv6-address-no-zone; + description + "IP group address"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + container group-address-inc-mask { + description + "Group-address with increment-mask"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "IGMP static multicast group"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for source address"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + description + "Increment mask for source address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + container suppress-reports { + presence "Indicates a suppress-reports node is configured."; + description + "Suppress IGMP reports"; + } + } + } + } + } + container join-groups { + description + "MLD join multicast group"; + list join-group { + must "group-address-only or source-addresses"; + key "group-address"; + description + "MLD join multicast group"; + leaf group-address { + type inet:ipv6-address-no-zone; + description + "IP group address"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Join multicast group without source address"; + } + list source-addresses { + must "include or exclude"; + key "source-address"; + description + "Source address to include or exclude"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to include"; + } + container include { + must "not (../exclude)"; + presence "Indicates a include node is configured."; + description + "Source address to include"; + } + container exclude { + must "not (../include)"; + presence "Indicates a exclude node is configured."; + description + "Exclude the only following source address"; + } + } + } + } + container dvmrp-enable { + presence "Indicates a dvmrp-enable node is configured."; + description + "MLD Enable dvmrp on specific interface"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-msdp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-msdp-cfg.yang new file mode 100644 index 000000000..a23d63147 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-msdp-cfg.yang @@ -0,0 +1,752 @@ +module Cisco-IOS-XR-um-router-msdp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-msdp-cfg"; + prefix um-router-msdp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router msdp configuration. + + Copyright (c) 2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-08 { + description + "Updated peer descrption range"; + semver:module-version "2.0.0"; + } + revision 2019-08-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container router { + description + "Enable a routing process"; + container msdp { + description + "MSDP configuration subcommands"; + leaf connect-source { + type xr:Interface-name; + description + "Configure source address used for MSDP connection"; + } + leaf originator-id { + type xr:Interface-name; + description + "Configure MSDP Originator ID"; + } + leaf nsr-delay { + type uint32 { + range "5..90" { + description + "NSR-Ready wait period in seconds"; + } + } + description + "Configure NSR-Ready delay period for MSDP Peer"; + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL Threshold Value"; + } + } + description + "Configure TTL Thresold for MSDP Peer"; + } + container cache-sa-state { + description + "Configure this systems SA cache access-lists"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + leaf cache-sa-holdtime { + type uint32 { + range "150..3600" { + description + "Holdtime period in secs"; + } + } + description + "Configure Cache SA State holdtime period"; + } + container sa-filter { + description + "Filter SA messages from peer"; + container in { + description + "Enable incoming SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + container out { + description + "Enable outgoing SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + } + leaf default-peer { + type inet:ipv4-address-no-zone; + description + "Default MSDP peer to accept SA messages from"; + } + container maximum { + description + "Maximum state limits"; + leaf external-sa { + type uint32 { + range "1..75000" { + description + "Maximum number of SA accepted by this router"; + } + } + description + "Maximum number of SA accepted by this router in this context"; + } + leaf peer-external-sa { + type uint32 { + range "1..75000" { + description + "Maximum number of SA accepted by this peer"; + } + } + description + "Maximum number of SA accepted by this peer"; + } + } + container keepalive { + presence "Indicates a keepalive node is configured."; + description + "Configure global KeepAlive period for MSDP Peer"; + leaf keepalive-period { + type uint32 { + range "1..60" { + description + "KeepAlive Period in seconds"; + } + } + mandatory true; + description + "Configure global KeepAlive period for MSDP Peer"; + } + leaf peer-timeout-period { + type uint32 { + range "1..75" { + description + "Peer Timeout Period in seconds"; + } + } + mandatory true; + description + "Peer Timeout Period in seconds"; + } + } + container global { + description + "Global MSDP configuration"; + container maximum { + description + "Maximum state limits"; + leaf external-sa { + type uint32 { + range "1..75000" { + description + "Maximum number of external SA accepted by this router"; + } + } + description + "Externally learned active source limits"; + } + } + } + container peers { + description + "MSDP Peer configuration subcommands"; + list peer { + key "peer-address"; + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "Peer name or address"; + } + leaf connect-source { + type xr:Interface-name; + description + "Configure source address used for MSDP connection"; + } + leaf remote-as { + type xr:Bgp-as-number; + description + "Configure the remote AS of this peer"; + } + leaf description { + type string { + length "1..80" { + description + "Up to 80 characters describing this peer"; + } + } + description + "Peer specific description"; + } + leaf mesh-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of mesh-group"; + } + } + description + "Configure an MSDP mesh-group"; + } + container sa-filter { + description + "Filter SA messages from peer"; + container in { + description + "Enable incoming SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + container out { + description + "Enable outgoing SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL Threshold Value"; + } + } + description + "Configure TTL Thresold for MSDP Peer"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "MSDP Peer Shutdown"; + } + container maximum { + description + "maximum number of SA accepted by this peer"; + leaf external-sa { + type uint32 { + range "1..75000" { + description + "maximum number of SA accepted by this peer"; + } + } + description + "maximum number of SA accepted by this peer"; + } + } + container password { + description + "Configure password used for MSDP connection"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + } + container keepalive { + presence "Indicates a keepalive node is configured."; + description + "Configure KeepAlive period for MSDP Peer"; + leaf keepalive-period { + type uint32 { + range "1..60" { + description + "KeepAlive Period in seconds"; + } + } + mandatory true; + description + "Configure KeepAlive period for MSDP Peer"; + } + leaf peer-timeout-period { + type uint32 { + range "1..75" { + description + "Peer Timeout Period in seconds"; + } + } + mandatory true; + description + "Peer Timeout Period in seconds"; + } + } + container nsr-down { + presence "Indicates a nsr-down node is configured."; + description + "Disable NSR for the peer"; + } + } + } + container vrfs { + description + "VRF configs"; + list vrf { + key "vrf-name"; + description + "VRF configs"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF configs"; + } + container peers { + description + "MSDP Peer configuration subcommands"; + list peer { + key "peer-address"; + leaf peer-address { + type inet:ipv4-address-no-zone; + description + "Peer name or address"; + } + leaf connect-source { + type xr:Interface-name; + description + "Configure source address used for MSDP connection"; + } + leaf remote-as { + type xr:Bgp-as-number; + description + "Configure the remote AS of this peer"; + } + leaf description { + type string { + length "1..80" { + description + "Up to 80 characters describing this peer"; + } + } + description + "Peer specific description"; + } + leaf mesh-group { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of mesh-group"; + } + } + description + "Configure an MSDP mesh-group"; + } + container sa-filter { + description + "Filter SA messages from peer"; + container in { + description + "Enable incoming SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + container out { + description + "Enable outgoing SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL Threshold Value"; + } + } + description + "Configure TTL Thresold for MSDP Peer"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "MSDP Peer Shutdown"; + } + container maximum { + description + "maximum number of SA accepted by this peer"; + leaf external-sa { + type uint32 { + range "1..75000" { + description + "maximum number of SA accepted by this peer"; + } + } + description + "maximum number of SA accepted by this peer"; + } + } + container password { + description + "Configure password used for MSDP connection"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password will follow"; + } + } + container keepalive { + presence "Indicates a keepalive node is configured."; + description + "Configure KeepAlive period for MSDP Peer"; + leaf keepalive-period { + type uint32 { + range "1..60" { + description + "KeepAlive Period in seconds"; + } + } + mandatory true; + description + "Configure KeepAlive period for MSDP Peer"; + } + leaf peer-timeout-period { + type uint32 { + range "1..75" { + description + "Peer Timeout Period in seconds"; + } + } + mandatory true; + description + "Peer Timeout Period in seconds"; + } + } + container nsr-down { + presence "Indicates a nsr-down node is configured."; + description + "Disable NSR for the peer"; + } + } + } + leaf connect-source { + type xr:Interface-name; + description + "Configure source address used for MSDP connection"; + } + leaf originator-id { + type xr:Interface-name; + description + "Configure MSDP Originator ID"; + } + leaf ttl-threshold { + type uint32 { + range "1..255" { + description + "TTL Threshold Value"; + } + } + description + "Configure TTL Thresold for MSDP Peer"; + } + container cache-sa-state { + description + "Configure this systems SA cache access-lists"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + leaf cache-sa-holdtime { + type uint32 { + range "150..3600" { + description + "Holdtime period in secs"; + } + } + description + "Configure Cache SA State holdtime period"; + } + container sa-filter { + description + "Filter SA messages from peer"; + container in { + description + "Enable incoming SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + container out { + description + "Enable outgoing SA filtering"; + leaf list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list"; + } + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list name"; + } + } + description + "Access-list for originating RP"; + } + } + } + leaf default-peer { + type inet:ipv4-address-no-zone; + description + "Default MSDP peer to accept SA messages from"; + } + container maximum { + description + "Maximum state limits"; + leaf external-sa { + type uint32 { + range "1..75000" { + description + "Maximum number of SA accepted by this router"; + } + } + description + "Maximum number of SA accepted by this router in this context"; + } + leaf peer-external-sa { + type uint32 { + range "1..75000" { + description + "Maximum number of SA accepted by this peer"; + } + } + description + "Maximum number of SA accepted by this peer"; + } + } + container keepalive { + presence "Indicates a keepalive node is configured."; + description + "Configure global KeepAlive period for MSDP Peer"; + leaf keepalive-period { + type uint32 { + range "1..60" { + description + "KeepAlive Period in seconds"; + } + } + mandatory true; + description + "Configure global KeepAlive period for MSDP Peer"; + } + leaf peer-timeout-period { + type uint32 { + range "1..75" { + description + "Peer Timeout Period in seconds"; + } + } + mandatory true; + description + "Peer Timeout Period in seconds"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospf-cfg.yang new file mode 100644 index 000000000..835cc6d09 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospf-cfg.yang @@ -0,0 +1,13023 @@ +module Cisco-IOS-XR-um-router-ospf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospf-cfg"; + prefix um-router-ospf-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import tailf-common { + prefix tailf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-ospf package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-07-12 { + description + "Added container srlg under flex-algo + 2021-12-29 + Added ietf-strict-lsa-checking next to container ietf, + Added container neighbors under multi-area-interface"; + semver:module-version "4.0.1m"; + } + revision 2021-10-04 { + description + "Updated apply-weight container + 2021-09-15 + Added prefix-metric under flex-alogo + and added container lls/disable under capability + 2021-06-15 + Added leaf use-interface-bandwidth, modified leaf bandwidth name to leaf reference + and added mandatory for all the three leafs under container apply-weight "; + semver:module-version "4.0.0"; + } + revision 2021-03-26 { + description + "Added leaf dead-interval-minimal-hello-multiplier + 2021-02-10 + Added disable container in area_scope link-down fast-detect container + 2021-01-08 + Added microloop avoidance disable in flex-algos container + 2020-12-24 + Added cost-fallback anomaly container + 2020-09-28 + - Changed log/adjacency/changes container as presence + 2020-05-22 + - Added container fast-reroute and its child nodes"; + semver:module-version "3.0.0"; + } + revision 2020-05-21 { + description + "- Added container srlg-protection and its child nodes + 2020-05-06 + - Added container srlg and delay and its child nodes + - Added container advertise to its child nodes + 2020-03-10 + Made separate nodes for avoidance-rib-update-delay and ietf-helper"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + augment "/a1:snmp-server/a1:traps" { + container ospf { + description + "Enable SNMP ospf traps"; + container errors { + description + "Enable SNMP traps for ospf errors"; + container authentication-failure { + presence "Indicates a authentication-failure node is configured."; + description + "Enable SNMP traps for authentication failure errors on non-virtual interfaces"; + } + container bad-packet { + presence "Indicates a bad-packet node is configured."; + description + "Enable SNMP traps for bad packet errors on non-virtual interfaces"; + } + container config-error { + presence "Indicates a config-error node is configured."; + description + "Enable SNMP traps for config errors on non-virtual interfaces"; + } + container virt-authentication-failure { + presence "Indicates a virt-authentication-failure node is configured."; + description + "Enable SNMP traps for authentication failure errors on virtual interfaces"; + } + container virt-bad-packet { + presence "Indicates a virt-bad-packet node is configured."; + description + "Enable SNMP traps for bad packet errors on virtual interfaces"; + } + container virt-config-error { + presence "Indicates a virt-config-error node is configured."; + description + "Enable SNMP traps for config errors on virtual interfaces"; + } + } + container lsa { + description + "Enable SNMP traps related to lsas"; + container lsa-maxage { + presence "Indicates a lsa-maxage node is configured."; + description + "Enable SNMP traps for lsa maxage"; + } + container lsa-originate { + presence "Indicates a lsa-originate node is configured."; + description + "Enable SNMP traps for new lsa origination"; + } + } + container retransmit { + description + "Enable SNMP traps for packet retransmissions"; + container packets { + presence "Indicates a packets node is configured."; + description + "Enable SNMP traps for packet retransmissions on non-virtual interfaces"; + } + container virt-packets { + presence "Indicates a virt-packets node is configured."; + description + "Enable SNMP traps for packet retransmissions on virtual interfaces"; + } + } + container state-change { + description + "Enable SNMP traps for ospf state change"; + container if-state-change { + presence "Indicates a if-state-change node is configured."; + description + "Enable SNMP traps for ospf non-virtual interface state change"; + } + container neighbor-state-change { + presence "Indicates a neighbor-state-change node is configured."; + description + "Enable SNMP traps for ospf neighbor state change"; + } + container virtif-state-change { + presence "Indicates a virtif-state-change node is configured."; + description + "Enable SNMP traps for ospf virtual interface state change"; + } + container virtneighbor-state-change { + presence "Indicates a virtneighbor-state-change node is configured."; + description + "Enable SNMP traps for ospf virtual neighbor state change"; + } + } + } + } + container ospf { + description + "Global OSPF configuration commands"; + container name-lookup { + presence "Indicates a name-lookup node is configured."; + description + "Display OSPF router ids as DNS names"; + } + } + container router { + description + "Enable a routing process"; + container ospf { + description + "OSPF configuration subcommands"; + container processes { + description + "Name for this OSPF process"; + list process { + key "process-name"; + description + "Name for this OSPF process"; + leaf process-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name for this OSPF process"; + } + } + description + "Name for this OSPF process"; + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container traffic-eng { + description + "Routing protocol commands for MPLS Traffic Engineering"; + container router-id { + description + "Traffic Engineering stable IP address for system"; + leaf ip-address { + type inet:ipv4-address-no-zone; + must "not(../interface)"; + description + "configure this node"; + } + leaf interface { + type xr:Interface-name; + must "not(../ip-address)"; + description + "MPLS TE interface configuration for this OSPF process"; + } + } + container multicast-intact { + presence "Indicates a multicast-intact node is configured."; + description + "Publish multicast-intact paths to RIB"; + } + container autoroute-exclude { + description + "Exclude IP address destinations from using TE tunnels"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route Policy to exclude TE paths from routes"; + } + } + container igp-intact { + presence "Indicates a igp-intact node is configured."; + description + "Retain one or more IPv4 nexthops with tunnel nexthops"; + } + container ldp-sync-update { + presence "Indicates a ldp-sync-update node is configured."; + description + "Enable LDP sync induced metric propagation"; + } + } + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization"; + } + container sync-igp-shortcuts { + presence "Indicates a sync-igp-shortcuts node is configured."; + description + "LDP sync for igp-shortcut tunnels"; + } + container auto-config { + presence "Indicates a auto-config node is configured."; + description + "Enable LDP IGP interface auto-configuration"; + } + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + container cost-fallback { + description + "Cost fallback when anomaly is detected"; + container anomaly { + description + "Penalty when a delay or loss is notified"; + container delay { + description + "Penalty when a delay is notified"; + container igp-metric { + description + "Penalty on IGP metric"; + leaf increment { + type uint32 { + range "1..65534" { + description + "Increment by this value"; + } + } + must "not(../multiplier or ../value)"; + description + "Increment the IGP cost by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must "not(../increment or ../value)"; + description + "Multiply the IGP cost by the specified value"; + } + leaf value { + type uint32 { + range "1..65535" { + description + "Set to this value"; + } + } + must "not(../increment or ../multiplier)"; + description + "Set the IGP cost to the specified value"; + } + } + container te-metric { + description + "Penalty on TE metric"; + leaf increment { + type uint32 { + range "1..4294967294" { + description + "Increment by this value"; + } + } + must "not(../multiplier or ../value)"; + description + "Increment the TE metric by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must "not(../increment or ../value)"; + description + "Multiply the TE metric by the specified value"; + } + leaf value { + type uint32 { + range "1..4294967295" { + description + "Set to this value"; + } + } + must "not(../increment or ../multiplier)"; + description + "Set the TE cost to the specified value"; + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Interval after which a neighbor is declared dead"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between retransmitting lost link state advertisements"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Estimated time needed to send link-state update packet"; + } + container flood-reduction { + description + "Enable/Disable OSPF Flood Reduction"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable OSPF Flood Reduction"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable OSPF Flood Reduction"; + } + } + container demand-circuit { + description + "Enable/Disable OSPF demand circuit"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable OSPF demand circuit"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable OSPF demand circuit"; + } + } + container mtu-ignore { + description + "Enable/Disable ignoring of MTU in DBD packets"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Ignores the MTU in DBD packets"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable ignoring the MTU in DBD packets"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable filtering"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + description + "Enable/Disable passive"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable passive"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable passive"; + } + } + container log { + description + "Log ospf info"; + container adjacency { + description + "Log adjacency state info"; + container changes { + presence "Indicates a detail node is configured."; + description + "Log changes"; + container detail { + must "not(../disable)"; + presence "Indicates a detail node is configured."; + description + "Log all state changes"; + } + container disable { + must "not(../detail)"; + presence "Indicates a disable node is configured."; + description + "Disable logging"; + } + } + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container dagr { + presence "Indicates a dagr node is configured."; + description + "Directed-attached gateway redundancy (DAGR)"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + container match { + description + "Redistribution of EIGRP routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol (RIP)"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container preserve-med { + presence "Indicates a preserve-med node is configured."; + description + "Preserve med of BGP routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + } + list isis { + key "instance-name"; + description + "ISO IS-IS"; + leaf instance-name { + type string { + length "1..1024" { + description + "IS-IS instance name"; + } + } + description + "ISO IS-IS"; + } + container level-1 { + presence "Indicates a level-1 node is configured."; + description + "IS-IS level-1 routes only"; + } + container level-2 { + presence "Indicates a level-2 node is configured."; + description + "IS-IS level-2 routes only"; + } + container level-1-2 { + presence "Indicates a level-1-2 node is configured."; + description + "IS-IS level-1 and level-2 routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + list ospf { + key "instance-name"; + description + "Open Shortest Path First (OSPF)"; + leaf instance-name { + type string { + length "1..1024" { + description + "OSPF instance name"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container applications { + description + "OnePK Application routes"; + list application { + key "application-name"; + description + "OnePK Application routes"; + leaf application-name { + type string { + length "1..1024" { + description + "OnePK Application name"; + } + } + description + "OnePK Application routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + } + } + container distribute-list { + description + "Filter networks in routing updates"; + container in { + description + "Filter incoming routing updates"; + leaf access-list { + type string { + length "1..1024" { + description + "In-bound access-list name"; + } + } + description + "In-bound access-list name"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route Policy to filter OSPF prefixes"; + } + } + container out { + description + "Filter outgoing routing updates"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + container connected { + description + "Connected"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container static { + description + "Static routes"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container dagr { + description + "Directed-attached gateway redundancy (DAGR)"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + leaf as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container ospf { + description + "Open Shortest Path First (OSPF)"; + leaf instance-name { + type string { + length "1..1024" { + description + "OSPF instance name"; + } + } + } + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + } + } + leaf packet-size { + type uint32 { + range "576..10000" { + description + "Size of OSPF packets to use Min: 576 Max: MTU bytes"; + } + } + description + "Customize size of OSPF packets upto MTU"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container security { + description + "Enable security"; + container ttl { + presence "Indicates a ttl node is configured."; + description + "Enable ttl security"; + leaf hops { + type uint32 { + range "1..254" { + description + "maximum number of hops allowed"; + } + } + description + "IP hops"; + } + } + } + container prefix-suppression { + description + "Suppress advertisement of the prefixes"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable primary address suppression"; + } + container secondary-address { + description + "Enable/Disable secondary address suppression"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable secondary address suppression"; + } + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + container always { + presence "Indicates a always node is configured."; + description + "Always advertise default route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "OSPF metric"; + } + } + description + "OSPF default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "OSPF Link State type"; + } + } + description + "OSPF metric type for default routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to default-information origination"; + } + } + } + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric"; + } + } + description + "Default metric"; + } + container distance { + description + "Define an administrative distance"; + container administrative-distance { + description + "Administrative distance"; + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + default "110"; + description + "Administrative distance"; + } + container source-addresses { + description + "configure this node"; + list source-address { + key "address wildcard"; + description + "source address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP Source address"; + } + leaf wildcard { + type inet:ipv4-address-no-zone; + description + "IP wild card bits -- inverted mask"; + } + leaf distance { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Administrative distance"; + } + leaf access-list-name { + type string; + description + "Access Control List name"; + } + } + } + } + container ospf { + description + "OSPF distance"; + leaf intra-area { + type uint32 { + range "1..255" { + description + "Distance for intra-area routes"; + } + } + description + "Intra-area routes"; + } + leaf inter-area { + type uint32 { + range "1..255" { + description + "Distance for inter-area routes"; + } + } + description + "Inter-area routes"; + } + leaf external { + type uint32 { + range "1..255" { + description + "Distance for external type 5 and type 7 routes"; + } + } + description + "External type 5 and type 7 routes"; + } + } + } + container auto-cost { + description + "Calculate OSPF interface cost according to bandwidth"; + leaf reference-bandwidth { + type uint32 { + range "1..4294967" { + description + "The reference bandwidth in terms of Mbits per second"; + } + } + description + "Specify reference bandwidth for OSPF cost computations"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Assign OSPF cost based on interface type"; + } + } + container ignore { + description + "Do not complain about specific event"; + container lsa { + description + "Do not complain upon receiving LSA of the specified type"; + container mospf { + presence "Indicates a mospf node is configured."; + description + "MOSPF Type 6 LSA"; + } + } + } + container capability { + description + "Enable specific OSPF feature"; + container opaque { + description + "Opaque LSA"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Opaque LSA capability"; + } + } + container lls { + presence "Indicates a lls node is configured."; + description + "Link Local Signalling"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Link Local Signalling capability"; + } + } + container type7 { + description + "NSSA capability"; + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer type7 externals over type5"; + } + } + } + container max-metric { + description + "Set maximum metric"; + container router-lsa { + presence "Indicates a router-lsa node is configured."; + description + "Maximum metric in self-originated router-LSAs"; + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Override summary-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Override summary-lsa metric with max-metric value"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-no-abr-off { + presence "Indicates a no-abr-off node is configured."; + description + "Do not temporarily suspend ABR duties in max-metric mode"; + } + container router-lsa-on-startup { + description + "On startup"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-on-switchover { + description + "On switchover"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-on-proc-restart { + description + "On process restart"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-on-proc-migration { + description + "On process migration"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + } + container max-lsa { + presence "Indicates a max-lsa node is configured."; + description + "Maximum number of LSAs OSPF process will receive"; + leaf max-lsa { + type uint32 { + range "1..4294967294" { + description + "Maximum number of non self-generated LSAs this process can receive"; + } + } + mandatory true; + description + "Maximum number of LSAs OSPF process will receive"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf ignore-time { + type uint32 { + range "1..35791394" { + description + "number of minutes during which all adjacencies are suppressed"; + } + } + must "not(../warning-only)"; + description + "time during which all adjacencies are suppressed"; + } + leaf ignore-count { + type uint32 { + range "1..4294967294" { + description + "count on how many times adjacencies can be suppressed"; + } + } + must "not(../warning-only)"; + description + "maximum number of times adjacencies can be suppressed"; + } + leaf reset-time { + type uint32 { + range "2..71582788" { + description + "number of minutes after which ignore-count is reset to zero"; + } + } + must "not(../warning-only)"; + description + "time after which ignore-count is reset to zero"; + } + } + container timers { + description + "Adjust routing timers"; + container throttle { + description + "OSPF throttle timers"; + container spf { + presence "Indicates a spf node is configured."; + description + "OSPF SPF throttle timers"; + leaf initial-delay { + type uint32 { + range "1..600000" { + description + "Delay between receiving a change to SPF calculation in milliseconds"; + } + } + mandatory true; + description + "OSPF SPF throttle timers"; + } + leaf second-delay { + type uint32 { + range "1..600000" { + description + "Delay between first and second SPF calculation in milliseconds"; + } + } + mandatory true; + description + "Delay between first and second SPF calculation in milliseconds"; + } + leaf maximum-delay { + type uint32 { + range "1..600000" { + description + "Maximum wait time in milliseconds for SPF calculations"; + } + } + mandatory true; + description + "Maximum wait time in milliseconds for SPF calculations"; + } + } + container lsa { + description + "LSA throttle timers"; + container all { + presence "Indicates a all node is configured."; + description + "For all types of OSPF LSAs"; + leaf initial-delay { + type uint32 { + range "0..600000" { + description + "Delay to generate first occurance of LSA in milliseconds"; + } + } + mandatory true; + description + "For all types of OSPF LSAs"; + } + leaf minimum-delay { + type uint32 { + range "1..600000" { + description + "Minimum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Minimum delay between originating the same LSA in milliseconds"; + } + leaf maximum-delay { + type uint32 { + range "1..600000" { + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + } + leaf fast-reroute { + type uint32 { + range "50..600000" { + description + "Delay between end of SPF and start of the fast-reroute computation in milliseconds"; + } + } + description + "Fast-reroute throttle timer"; + } + } + container lsa { + description + "OSPF global LSA timers"; + leaf group-pacing { + type uint32 { + range "10..1800" { + description + "Interval between group of LSA being refreshed or maxaged"; + } + } + description + "OSPF LSA group pacing timer"; + } + leaf min-arrival { + type uint32 { + range "0..600000" { + description + "The minimum interval in millisec between accepting the same LSA"; + } + } + description + "OSPF MinLSArrival timer"; + } + leaf refresh { + type uint32 { + range "1800..2700" { + description + "How often self-originated LSAs should be refreshed, in seconds"; + } + } + description + "OSPF LSA refresh interval"; + } + } + container pacing { + description + "OSPF pacing timers"; + leaf flood { + type uint32 { + range "5..100" { + description + "Interval in msec to pace flooding on all interfaces"; + } + } + description + "OSPF flood pacing timer"; + } + } + container graceful-shutdown { + description + "Timers for graceful shutdown"; + container retain { + description + "Time to keep routes active after graceful shutdown"; + leaf routes { + type uint32 { + range "0..90" { + description + "Seconds to keep routes active after graceful shutdown"; + } + } + description + "Time to keep routes active after graceful shutdown"; + } + } + container initial { + description + "Delay before starting graceful shutdown"; + leaf delay { + type uint32 { + range "0..90" { + description + "Seconds to delay before beginning graceful shutdown"; + } + } + description + "Delay before starting graceful shutdown"; + } + } + } + } + container nsf { + description + "Enable Cisco Non Stop Forwarding"; + container cisco { + presence "Indicates a cisco node is configured."; + description + "Enable Cisco Non Stop Forwarding"; + container enforce { + description + "Cancel NSF restart when non-NSF-aware neighbors detected"; + container global { + presence "Indicates a global node is configured."; + description + "For the whole OSPF process"; + } + } + } + leaf interval { + type uint32 { + range "90..3600" { + description + "seconds"; + } + } + description + "Minimum interval between NSF restarts (seconds)"; + } + container ietf { + presence "Indicates a ietf node is configured."; + description + "Enable ietf graceful restart"; + } + container ietf-strict-lsa-checking { + presence "Indicates a strict-lsa-checking node is configured."; + description + "terminate graceful restart helper mode if lsa changed"; + } + container ietf-helper { + description + "router's helper support level"; + container disable { + presence "Indicates a disable node is configured."; + description + "router's helper support disabled"; + } + } + leaf lifetime { + type uint32 { + range "90..1800" { + description + "seconds"; + } + } + description + "Maximum route lifetime following restart (seconds)"; + } + leaf flush-delay-time { + type uint32 { + range "1..3600" { + description + "seconds"; + } + } + description + "Maximum time allowed for external route learning (seconds)"; + } + } + container address-family { + description + "OSPF address family"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPV4 address family"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "unicast topology"; + } + } + } + container maximum { + description + "Set OSPF limits"; + leaf interfaces { + type uint32 { + range "1..4294967295" { + description + "Maximum number of interfaces"; + } + } + description + "Limit number of interfaces"; + } + leaf paths { + type uint32 { + range "1..64" { + description + "Maximum number of paths per route"; + } + } + description + "Limit number of paths"; + } + container redistributed-prefixes { + presence "Indicates a redistributed-prefixes node is configured."; + description + "Limit number of redistributed prefixes"; + leaf prefixes { + type uint32 { + range "1..4294967295" { + description + "Maximum number of prefixes redistributed into OSPF"; + } + } + mandatory true; + description + "Limit number of redistributed prefixes"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning messsage when limit is exceeded"; + } + } + } + container queue { + description + "Adjust OSPF input queue"; + container limit { + description + "High watermark for incoming priority events"; + leaf high { + type uint32 { + range "1000..30000" { + description + "Hello events are dropped when incoming event queue exceeds this value"; + } + } + description + "High watermark for incoming high priority events (hello)"; + } + leaf medium { + type uint32 { + range "1000..30000" { + description + "LSA ACKs are dropped when incoming event queue exceeds this value"; + } + } + description + "High watermark for incoming medium priority events (LSA ACK)"; + } + leaf low { + type uint32 { + range "1000..30000" { + description + "DBD/LS Update/Req packets are dropped when incoming event queue exceeds this value"; + } + } + description + "High watermark for incoming low priority events (DBD/LSUpd/Req)"; + } + } + container dispatch { + description + "Number of continuous events processed by type"; + leaf incoming { + type uint32 { + range "30..3000" { + description + "Maximum number of continuous events processed"; + } + } + description + "Number of continuous incoming events processed"; + } + leaf rate-limited-lsa { + type uint32 { + range "30..3000" { + description + "Maximum number of rate-limited LSAs processed per run"; + } + } + description + "Number of rate-limited LSAs processed"; + } + leaf flush-lsa { + type uint32 { + range "30..3000" { + description + "Maximum number of LSAs flushed per run"; + } + } + description + "Number of LSAs flushed"; + } + leaf spf-lsa-limit { + type uint32 { + range "30..3000" { + description + "Maximum number of Type 3-7 LSAs processed per SPF run"; + } + } + description + "Number of summary or external LSAs processed per run"; + } + } + } + container summary-prefixes { + description + "Configure IP address summaries"; + list summary-prefix { + key "address mask"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP summary prefix address"; + } + leaf mask { + type inet:ipv4-address-no-zone; + description + "IP smmary address mask"; + } + container not-advertise { + presence "Indicates a not-advertise node is configured."; + description + "Suppress routes that match the specified prefix/mask pair"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag"; + } + } + } + container spf { + description + "SPF configuration"; + container prefix-priority { + description + "Configure SPF prefix priority route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy to prioritize route install"; + } + } + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-prefix { + description + "Per-prefix Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-prefix Computation"; + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + must "not(../high) and not(../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical) and not(../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + must "not(../high) and not(../critical)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container interface-disjoint { + description + "Prefer Interface disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + } + container load-sharing { + description + "Load share prefixes across multiple backups"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable load sharing"; + } + } + container srlg-protection { + description + "select SRLG protection mode (default: local)"; + container weighted-global { + presence "Indicates a weighted-global node is configured."; + description + "weighted global srlg protection"; + } + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container remote-lfa { + description + "Remote LFA computation"; + container tunnel { + description + "Enable remote LFA computation using tunnels"; + container mpls-ldp { + must "not(../../disable)"; + presence "Indicates a mpls-ldp node is configured."; + description + "MPLS LDP tunnel"; + } + } + container disable { + must "not(../tunnel/mpls-ldp)"; + presence "Indicates a disable node is configured."; + description + "Disable remote LFA computation"; + } + leaf maximum-cost { + type uint32 { + range "1..4294967295" { + description + "Path cost"; + } + } + description + "Maximum path cost to remote LFA"; + } + } + container ti-lfa { + description + "Topology Independent LFA computation"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable TI LFA computation"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable TI LFA computation"; + } + } + } + container per-link { + description + "Per-link Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-link Computation"; + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + must "not(../high) and not(../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical) and not(../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + must "not(../high) and not(../critical)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container loopback { + description + "OSPF loopback configuration"; + container stub-network { + description + "Advertise loopback as a stub network"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertising loopback as a stub network"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertising loopback as a stub network"; + } + } + } + container link-down { + description + "Configure interface down parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast or early detection of link-down events"; + } + } + leaf weight { + type uint32 { + range "1..16777214" { + description + "Weight value"; + } + } + description + "Interface weight"; + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + must "../offset"; + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + container microloop { + description + "Microloop configuration"; + container avoidance { + must "not(protected and segment-routing)"; + presence "Indicates a avoidance node is configured."; + description + "Avoid microloops"; + container protected { + presence "Indicates a protected node is configured."; + description + "Avoid microloops for protected prefixes only"; + } + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Enable segment routing microloop avoidance"; + } + } + leaf avoidance-rib-update-delay { + type uint32 { + range "1..600000" { + description + "Delay in milliseconds"; + } + } + description + "Delay to introduce between SPF and RIB update"; + } + } + container areas { + description + "Enter the OSPF area configuration submode"; + list area { + key "area-id"; + description + "Enter the OSPF area configuration submode"; + leaf area-id { + type xr:Ospf-area-id; + description + "Enter the OSPF area configuration submode"; + } + container ranges { + description + "Summarize routes matching address/mask (border routers only)"; + list range { + key "address mask"; + description + "Summarize routes matching address/mask (border routers only)"; + leaf address { + type inet:ipv4-address-no-zone; + must "(../advertise and not(../not-advertise)) or (../not-advertise and not(../advertise))"; + description + "IP address"; + } + leaf mask { + type inet:ipv4-address-no-zone; + description + "IP address mask"; + } + container advertise { + presence "Indicates a advertise node is configured."; + description + "Advertise this range (default)"; + } + container not-advertise { + presence "Indicates a not-advertise node is configured."; + description + "DoNotAdvertise this range"; + } + } + } + leaf default-cost { + type uint32 { + range "1..16777215" { + description + "Stub's advertised external route metric"; + } + } + description + "Set the summary default-cost of a NSSA/stub area"; + } + container stub { + presence "Indicates a stub node is configured."; + description + "Specify the area as a stub area"; + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSA into stub area"; + } + } + container nssa { + presence "Indicates a nssa node is configured."; + description + "Specify area as a NSSA area"; + container no-redistribution { + presence "Indicates a no-redistribution node is configured."; + description + "No redistribution into this NSSA area"; + } + container default-information-originate { + presence "Indicates a default-information-originate node is configured."; + description + "Originate Type 7 default into NSSA area"; + leaf metric { + type uint32 { + range "1..16777214" { + description + "OSPF metric"; + } + } + description + "OSPF default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "Link State metric type"; + } + } + description + "OSPF metric type for default routes"; + } + } + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSA into NSSA"; + } + } + container nssa-translate { + description + "Translate NSSA LSA"; + container type7 { + description + "Translate type 7 to type 5"; + container always { + presence "Indicates a always node is configured."; + description + "Always translate NSSA LSAs on this ABR"; + } + } + } + container multi-area-interfaces { + description + "Enable multi-area adjacency on this interface"; + list multi-area-interface { + key "multi-area-interface-name"; + description + "Enable multi-area adjacency on this interface"; + leaf multi-area-interface-name { + type xr:Interface-name; + description + "Enable multi-area adjacency on this interface"; + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "address"; + description + "Specify a neighbor router"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify a neighbor router"; + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + } + } + } + leaf poll-interval { + type uint32 { + range "0..4294967295" { + description + "Seconds"; + } + } + description + "OSPF dead-router polling interval"; + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Metric"; + } + } + description + "OSPF cost for point-to-multipoint neighbor"; + } + } + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + container cost-fallback { + presence "Indicates a cost-fallback node is configured."; + description + "Cost when cumulative bandwidth goes below the theshold"; + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + mandatory true; + description + "Cost when cumulative bandwidth goes below the theshold"; + } + leaf threshold { + type uint32 { + range "1..4294967" { + description + "Threshold bandwidth in Mbits per second"; + } + } + description + "Threshold bandwidth when cost-fallback is applied"; + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between retransmitting lost link state advertisements"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Estimated time needed to send link-state update packet"; + } + container mtu-ignore { + description + "Enable/Disable ignoring of MTU in DBD packets"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Ignores the MTU in DBD packets"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable ignoring of MTU in DBD packets"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + description + "Outgoing LSA"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable filtering"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container distribute-list { + description + "Filter networks in routing updates"; + leaf access-list { + type string; + must "not(../route-policy)"; + description + "In-bound access-list name."; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../access-list)"; + description + "Route Policy to filter OSPF prefixes"; + } + } + leaf packet-size { + type uint32 { + range "576..10000" { + description + "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; + } + } + description + "Customize size of OSPF packets upto MTU"; + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container remote-lfa { + description + "Remote LFA computation"; + container tunnel { + description + "Enable remote LFA computation using tunnels"; + container mpls-ldp { + must "not(../../disable)"; + presence "Indicates a mpls-ldp node is configured."; + description + "MPLS LDP tunnel"; + } + } + container disable { + must "not(../tunnel/mpls-ldp)"; + presence "Indicates a disable node is configured."; + description + "Disable remote LFA computation"; + } + leaf maximum-cost { + type uint32 { + range "1..4294967295" { + description + "Path cost"; + } + } + description + "Maximum path cost to remote LFA"; + } + } + container ti-lfa { + description + "Topology Independent LFA computation"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable TI LFA computation"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable TI LFA computation"; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container interface-disjoint { + description + "Prefer Interface disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container passive { + description + "Enable/Disable passive"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable passive"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable passive"; + } + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + must "../offset"; + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container traffic-eng { + presence "Indicates a traffic-eng node is configured."; + description + "Configure an ospf area to run MPLS Traffic Engineering"; + } + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync"; + } + } + container sync-igp-shortcuts { + presence "Indicates a sync-igp-shortcuts node is configured."; + description + "LDP sync for igp-shortcut tunnels"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync igp-shortcuts"; + } + } + container auto-config { + presence "Indicates a auto-config node is configured."; + description + "Enable LDP IGP interface auto-configuration"; + } + } + } + container route-policy { + description + "Specify the route-policy to filter type 3 LSAs"; + leaf in { + type xr:Route-policy-name; + description + "route-policy to filter inbound"; + } + leaf out { + type xr:Route-policy-name; + description + "route-policy to filter outbound"; + } + } + container external-out { + description + "Enable/Disable advertisement of intra-area prefixes as external"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of intra-area routes as external"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of intra-area routes as external"; + } + } + container summary-in { + description + "Enable/Disable advertisement of external prefixes as inter-area"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of external prefixes as inter-area"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of external prefixes as inter-area"; + } + } + container segment-routing { + description + "Segment Routing configuration"; + container mpls { + must "not(../disable)"; + presence "Indicates a mpls node is configured."; + description + "SR using MPLS dataplane"; + } + container disable { + must "not(../mpls)"; + presence "Indicates a disable node is configured."; + description + "Disable Segment Routing "; + } + container forwarding { + description + "Enable Segment-routing forwarding on interfaces"; + container mpls { + must "not(../disable)"; + presence "Indicates a mpls node is configured."; + description + "Use MPLS for Segment-routing forwarding"; + } + container disable { + must "not(../mpls)"; + presence "Indicates a disable node is configured."; + description + "Disable Segment-routing on Area interfaces"; + } + } + } + container interfaces { + description + "Enable routing on an interface "; + list interface { + key "interface-name"; + description + "Enable routing on an interface "; + leaf interface-name { + type xr:Interface-name; + description + "Enable routing on an interface "; + } + container affinity { + description + "Interface affinity configuration"; + container flex-algo { + description + "Flexible Algorithm"; + container affinity-attributes { + description + "Affinity attribute name"; + list affinity-attribute { + key "affinity-attribute-name"; + description + "Affinity attribute name"; + leaf affinity-attribute-name { + type string { + length "1..32" { + description + "Affinity attribute name"; + } + } + description + "Affinity attribute name"; + } + } + } + } + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "neighbor-address"; + description + "Specify a neighbor router"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Specify a neighbor router"; + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + } + } + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "OSPF priority of non-broadcast neighbor"; + } + leaf poll-interval { + type uint32 { + range "0..65535" { + description + "Seconds"; + } + } + description + "OSPF dead-router polling interval"; + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Metric"; + } + } + description + "OSPF cost for point-to-multipoint neighbor"; + } + } + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPF broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPF NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPF point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPF point-to-multipoint network"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + when "(../../../interface-name[not(starts-with(text(),'tunnel-te'))])" { + tailf:dependency "../../../interface-name"; + } + presence "Indicates a sync node is configured."; + description + "LDP IGP synchronization for interfaces"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync on interfaces"; + } + } + container sync-igp-shortcuts { + when "../../../interface-name[starts-with(text(),'tunnel-te')]" { + tailf:dependency "../../../interface-name"; + } + presence "Indicates a sync-igp-shortcuts node is configured."; + description + "LDP sync for igp-shortcuts on tunnel interfaces"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync igp-shortcuts"; + } + } + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + container cost-fallback { + presence "Indicates a cost-fallback node is configured."; + description + "Cost when cumulative bandwidth goes below the theshold"; + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + must "../threshold"; + description + "Cost when cumulative bandwidth goes below the theshold"; + } + leaf threshold { + type uint32 { + range "1..4294967" { + description + "Threshold bandwidth in Mbits per second"; + } + } + must "../cost"; + description + "Threshold bandwidth when cost-fallback is applied"; + } + container anomaly { + description + "Penalty when a delay or loss is notified"; + container delay { + description + "Penalty when a delay is notified"; + container igp-metric { + description + "Penalty on IGP metric"; + leaf increment { + type uint32 { + range "1..65534" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the IGP cost by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the IGP cost by the specified value"; + } + leaf value { + type uint32 { + range "1..65535" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the IGP cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable igp-metric"; + } + } + container te-metric { + description + "Penalty on TE metric"; + leaf increment { + type uint32 { + range "1..4294967294" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the TE metric by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the TE metric by the specified value"; + } + leaf value { + type uint32 { + range "1..4294967295" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the TE cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable te-metric"; + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between retransmitting lost link state advertisements"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Estimated time needed to send link-state update packet"; + } + container flood-reduction { + description + "OSPF Flood Reduction"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable flooding reduction"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable flooding reduction"; + } + } + container demand-circuit { + description + "Enable/Disable demand circuits"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable demand circuits"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable demand circuits"; + } + } + container mtu-ignore { + description + "Enable/Disable ignoring of MTU in DBD packets"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Ignores the MTU in DBD packets"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable ignoring of MTU in DBD packets"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + description + "Outgoing LSA"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable filtering"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + description + "Enable/Disable passive"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable passive"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable passive"; + } + } + container distribute-list { + description + "Filter networks in routing updates"; + leaf access-list { + type string; + must "not(../route-policy)"; + description + "In-bound access-list name."; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../access-list)"; + description + "Route Policy to filter OSPF prefixes"; + } + } + leaf packet-size { + type uint32 { + range "576..10000" { + description + "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; + } + } + description + "Customize size of OSPF packets upto MTU"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container security { + description + "Enable security"; + container ttl { + must "not(hops and disable)"; + presence "Indicates a ttl node is configured."; + description + "Enable ttl security"; + leaf hops { + type uint32 { + range "1..254" { + description + "maximum number of hops allowed"; + } + } + description + "IP hops"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TTL security"; + } + } + } + container prefix-suppression { + description + "Suppress advertisement of the prefixes"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable primary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable primary address suppression"; + } + container secondary-address { + description + "Enable/Disable secondary address suppression"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable secondary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable secondary address suppression"; + } + } + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container remote-lfa { + description + "Remote LFA computation"; + container tunnel { + description + "Enable remote LFA computation using tunnels"; + container mpls-ldp { + must "not(../../disable)"; + presence "Indicates a mpls-ldp node is configured."; + description + "MPLS LDP tunnel"; + } + } + container disable { + must "not(../tunnel/mpls-ldp)"; + presence "Indicates a disable node is configured."; + description + "Disable remote LFA computation"; + } + leaf maximum-cost { + type uint32 { + range "1..4294967295" { + description + "Path cost"; + } + } + description + "Maximum path cost to remote LFA"; + } + } + container ti-lfa { + description + "Topology Independent LFA computation"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable TI LFA computation"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable TI LFA computation"; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container interface-disjoint { + description + "Prefer Interface disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container loopback { + description + "OSPF loopback configuration"; + container stub-network { + description + "Advertise loopback as a stub network"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertising loopback as a stub network"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertising loopback as a stub network"; + } + } + } + container link-down { + description + "Configure interface down parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast or early detection of link-down events"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable fast or early detection of link-down events"; + } + } + } + container prefix-sid { + when "../interface-name[starts-with(text(),'Loopback')]" { + tailf:dependency "../interface-name"; + } + description + "Prefix SID Configuration"; + container index { + presence "Indicates a index node is configured."; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + mandatory true; + description + "SID Index"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container absolute { + presence "Indicates a absolute node is configured."; + description + "SID value"; + leaf sid-label { + type uint32 { + range "16000..1048575" { + description + "SID label"; + } + } + mandatory true; + description + "SID value"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container strict-spf { + description + "Strict-SPF Prefix SID Configuration"; + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + mandatory true; + description + "SID Index"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "SID value"; + leaf sid-label { + type uint32 { + range "16000..1048575" { + description + "SID label"; + } + } + mandatory true; + description + "SID value"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + } + container algorithms { + description + "Algorithm Specific Prefix SID Configuration"; + list algorithm { + must "index or absolute"; + key "algorithm-number"; + description + "Algorithm Specific Prefix SID Configuration"; + leaf algorithm-number { + type uint32 { + range "128..255" { + description + "Algorithm number"; + } + } + description + "Algorithm Specific Prefix SID Configuration"; + } + container index { + presence "Indicates a index node is configured."; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + mandatory true; + description + "SID Index"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container absolute { + presence "Indicates a absolute node is configured."; + description + "SID value"; + leaf sid-label { + type uint32 { + range "16000..1048575" { + description + "SID label"; + } + } + mandatory true; + description + "SID value"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + } + } + } + container segment-routing { + description + "Configure Segment-routing interface parameters"; + container forwarding { + description + "Enable Segment-routing forwarding on interfaces"; + container mpls { + must "not(../disable)"; + presence "Indicates a mpls node is configured."; + description + "Use MPLS for Segment-routing forwarding"; + } + container disable { + must "not(../mpls)"; + presence "Indicates a disable node is configured."; + description + "Disable Segment-routing on interface"; + } + } + } + container adjacency-sid { + description + "Adjacency SID Configuration"; + container indexes { + description + "SID Index"; + list index { + key "sid-index"; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + description + "SID Index"; + } + container protected { + presence "Indicates a protected node is configured."; + description + "Protect the static adjacency SID"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Provide Neighbor IP address associated with this SID"; + } + } + } + container absolutes { + description + "SID value"; + list absolute { + key "sid-value"; + description + "SID value"; + leaf sid-value { + type uint32 { + range "15000..1048575" { + description + "SID label"; + } + } + description + "SID value"; + } + container protected { + presence "Indicates a protected node is configured."; + description + "Protect the static adjacency SID"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Provide Neighbor IP address associated with this SID"; + } + } + } + } + leaf weight { + type uint32 { + range "1..16777214" { + description + "Weight value"; + } + } + description + "Interface weight"; + } + container advertise { + when "../interface-name[starts-with(text(),'Loopback')]" { + tailf:dependency "../interface-name"; + } + description + "Conditionally advertise"; + container prefix { + description + "Conditionally advertise this prefix"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy for conditional advertising"; + } + } + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + must "../offset"; + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + } + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPF broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPF NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPF point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPF point-to-multipoint network"; + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + container cost-fallback { + description + "Cost fallback when anomaly is detected"; + container anomaly { + description + "Penalty when a delay or loss is notified"; + container delay { + description + "Penalty when a delay is notified"; + container igp-metric { + description + "Penalty on IGP metric"; + leaf increment { + type uint32 { + range "1..65534" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the IGP cost by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the IGP cost by the specified value"; + } + leaf value { + type uint32 { + range "1..65535" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the IGP cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable igp-metric"; + } + } + container te-metric { + description + "Penalty on TE metric"; + leaf increment { + type uint32 { + range "1..4294967294" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the TE metric by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the TE metric by the specified value"; + } + leaf value { + type uint32 { + range "1..4294967295" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the TE cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable te-metric"; + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between retransmitting lost link state advertisements"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Estimated time needed to send link-state update packet"; + } + container flood-reduction { + description + "OSPF Flood Reduction"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable flooding reduction"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable flooding reduction"; + } + } + container demand-circuit { + description + "Enable/Disable demand circuits"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable demand circuits"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable demand circuits"; + } + } + container mtu-ignore { + description + "Enable/Disable ignoring of MTU in DBD packets"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Ignores the MTU in DBD packets"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable ignoring of MTU in DBD packets"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + description + "Outgoing LSA"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable filtering"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + description + "Enable/Disable passive"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable passive"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable passive"; + } + } + container distribute-list { + description + "Filter networks in routing updates"; + leaf access-list { + type string; + must "not(../route-policy)"; + description + "In-bound access-list name."; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../access-list)"; + description + "Route Policy to filter OSPF prefixes"; + } + } + leaf packet-size { + type uint32 { + range "576..10000" { + description + "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; + } + } + description + "Customize size of OSPF packets upto MTU"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container security { + description + "Enable/Disable security"; + container ttl { + must "not(hops and disable)"; + presence "Indicates a ttl node is configured."; + description + "TTL security"; + leaf hops { + type uint32 { + range "1..254" { + description + "maximum number of hops allowed"; + } + } + description + "IP hops"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TTL security"; + } + } + } + container prefix-suppression { + description + "Suppress advertisement of the prefixes"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable primary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable primary address suppression"; + } + container secondary-address { + description + "Enable/Disable secondary address suppression"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable secondary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable secondary address suppression"; + } + } + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container remote-lfa { + description + "Remote LFA computation"; + container tunnel { + description + "Enable remote LFA computation using tunnels"; + container mpls-ldp { + must "not(../../disable)"; + presence "Indicates a mpls-ldp node is configured."; + description + "MPLS LDP tunnel"; + } + } + container disable { + must "not(../tunnel/mpls-ldp)"; + presence "Indicates a disable node is configured."; + description + "Disable remote LFA computation"; + } + leaf maximum-cost { + type uint32 { + range "1..4294967295" { + description + "Path cost"; + } + } + description + "Maximum path cost to remote LFA"; + } + } + container ti-lfa { + description + "Topology Independent LFA computation"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable TI LFA computation"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable TI LFA computation"; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container interface-disjoint { + description + "Prefer Interface disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container loopback { + description + "OSPF loopback configuration"; + container stub-network { + description + "Advertise loopback as a stub network"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertising loopback as a stub network"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertising loopback as a stub network"; + } + } + } + container link-down { + description + "Configure interface down parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast or early detection of link-down events"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable fast or early detection of link-down events"; + } + } + } + leaf weight { + type uint32 { + range "1..16777214" { + description + "Weight value"; + } + } + description + "Interface weight"; + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + must "../offset"; + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + container virtual-links { + description + "Define a virtual link"; + list virtual-link { + key "virtual-link-address"; + description + "Define a virtual link"; + leaf virtual-link-address { + type inet:ipv4-address-no-zone; + description + "Define a virtual link"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + } + } + } + } + container segment-routing { + description + "Segment Routing configuration"; + container global-block { + presence "Indicates a global-block node is configured."; + description + "MPLS label range for SID allocation"; + leaf minimum-mpls-label { + type uint32 { + range "16000..1048575" { + description + "Minimum MPLS label value for Segment Routing"; + } + } + mandatory true; + description + "MPLS label range for SID allocation"; + } + leaf maximum-mpls-label { + type uint32 { + range "1..1048575" { + description + "Maximum MPLS label value for Segment Routing"; + } + } + mandatory true; + description + "Maximum MPLS label value for Segment Routing"; + } + } + container prefix-sid-map { + description + "Configuring segment routing mapping server"; + container advertise-local { + presence "Indicates a advertise-local node is configured."; + description + "Advertise and use local mapping server entries"; + } + container receive { + description + "Control the usage of remote mapping server advertisements"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable the usage of remote mapping server advertisements"; + } + } + } + container sr-prefer { + presence "Indicates a sr-prefer node is configured."; + description + "Prefer segment routing labels over LDP labels"; + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter prefixes for which SR preference is applied"; + } + } + container forwarding { + must "mpls or disable"; + presence "Indicates a forwarding node is configured."; + description + "Enable Segment-routing forwarding on interfaces"; + container mpls { + presence "Indicates a mpls node is configured."; + description + "Use MPLS for Segment-routing forwarding"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Segment-routing on process interfaces"; + } + } + container mpls { + must "not(../disable)"; + presence "Indicates a mpls node is configured."; + description + "SR using MPLS dataplane"; + } + container disable { + must "not(../mpls)"; + presence "Indicates a disable node is configured."; + description + "Disable Segment Routing "; + } + } + container affinity-map { + description + "Affinity map configuration"; + container affinity-attributes { + description + "Affinity attribute name"; + list affinity-attribute { + key "affinity-attribute-name"; + description + "Affinity attribute name"; + leaf affinity-attribute-name { + type string { + length "1..32" { + description + "Affinity attribute name"; + } + } + description + "Affinity attribute name"; + } + leaf bit-position { + type uint32 { + range "0..255" { + description + "Bit position"; + } + } + description + "Bit position for affinity attribute value"; + } + } + } + } + container flex-algos { + description + "Flex Algorithm definition"; + list flex-algo { + key "algorithm-number"; + description + "Flex Algorithm definition"; + leaf algorithm-number { + type uint32 { + range "128..255" { + description + "Algorithm number"; + } + } + description + "Flex Algorithm definition"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority value"; + } + } + description + "Flex-Algo definition priority"; + } + container microloop { + description + "Microloop configuration"; + container avoidance { + presence "Indicates a avoidance node is configured."; + description + "Microloop avoidance state"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable microloop avoidance for Flex-Algo"; + } + } + } + container prefix-metric { + presence "Indicates a prefix-metric node is configured."; + description + "Advertise the Flex-Algo Definition"; + } + container metric-type { + description + "Metric-type used by flex-algo calculation"; + container delay { + presence "Indicates a delay node is configured."; + description + "Use delay as metric"; + } + container te-metric { + presence "Indicates a te-metric node is configured."; + description + "Use te-metric"; + } + } + container advertise-definition { + presence "Indicates a advertise-definition node is configured."; + description + "Advertise the Flex-Algo Definition"; + } + container fast-reroute { + description + "Configure Fast ReRoute"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Fast ReRoute for Flex-Algo"; + } + } + container affinity { + description + "Specify affinity name"; + container exclude-any { + description + "Exclude objects in flex-algo calculation"; + container affinity-attributes { + description + "Affinity attribute name"; + list affinity-attribute { + key "affinity-attribute-name"; + description + "Affinity attribute name"; + leaf affinity-attribute-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Affinity attribute name"; + } + } + description + "Affinity attribute name"; + } + } + } + } + container include-any { + description + "Include any objects in flex-algo calculation"; + container affinity-attributes { + description + "Affinity attribute name"; + list affinity-attribute { + key "affinity-attribute-name"; + description + "Affinity attribute name"; + leaf affinity-attribute-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Affinity attribute name"; + } + } + description + "Affinity attribute name"; + } + } + } + } + container include-all { + description + "Include all objects in flex-algo calculation"; + container affinity-attributes { + description + "Affinity attribute name"; + list affinity-attribute { + key "affinity-attribute-name"; + description + "Affinity attribute name"; + leaf affinity-attribute-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Affinity attribute name"; + } + } + description + "Affinity attribute name"; + } + } + } + } + } + container srlg { + description + "Specify srlg name"; + container exclude-any { + description + "Exclude objects in flex-algo calculation"; + container srlgs { + description + "srlg name"; + list srlg { + key "srlg-name"; + description + "srlg name"; + leaf srlg-name { + type string { + length "1..64" { + description + "srlg name"; + } + } + description + "srlg name"; + } + } + } + } + } + } + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPF broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPF NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPF point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPF point-to-multipoint network"; + } + } + container external-out { + description + "Enable/Disable advertisement of intra-area prefixes as external"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of intra-area routes as external"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of intra-area routes as external"; + } + } + container summary-in { + description + "Enable/Disable advertisement of external prefixes as inter-area"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of external prefixes as inter-area"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of external prefixes as inter-area"; + } + } + container adjacency { + description + "OSPF adjacency bring up"; + container stagger { + description + "Stagger OSPF adjacency bring up"; + container disable { + must "not(../initial-number-of-neighbors)"; + presence "Indicates a disable node is configured."; + description + "Disable stagger OSPF adjacency bring up"; + } + leaf initial-number-of-neighbors { + type uint32 { + range "1..65535" { + description + "Initial number of neighbors to bring up per area (default 2)"; + } + } + must "not(../disable)"; + description + "Initial number of neighbors to bring up per area (default 2)"; + } + leaf maximum-simultaneous-neighbors { + type uint32 { + range "1..65535" { + description + "Maximum simultaneous neighbors to bring up (default 64)"; + } + } + must "../initial-number-of-neighbors"; + description + "Maximum simultaneous neighbors to bring up (default 64)"; + } + } + } + container snmp { + description + "SNMP configuration"; + leaf context { + type string { + length "1..32" { + description + "SNMP context name"; + } + pattern "[a-zA-Z0-9*/_]+"; + } + description + "Specified SNMP context for OSPF instance"; + } + container trap { + description + "Adjust snmp trap parameters"; + leaf rate-limit { + type uint32 { + range "2..60" { + description + "Trap rate limit sliding window size"; + } + } + description + "Adjust trap rate-limit parameters"; + } + leaf max-number-of-traps { + type uint32 { + range "0..300" { + description + "Max number of traps sent in window time"; + } + } + description + "Max number of traps sent in window time"; + } + } + } + container monitor-convergence { + presence "Indicates a monitor-convergence node is configured."; + description + "Enables OSPF route convergence monitoring"; + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix List Name"; + } + } + description + "Enables Individual Prefix Monitoring"; + } + container track-summary-routes { + presence "Indicates a track-summary-routes node is configured."; + description + "Enables Tracking Summary(Inter-Area) Prefix Monitoring"; + } + container track-external-routes { + presence "Indicates a track-external-routes node is configured."; + description + "Enables Tracking External(Type-5/7) Prefix Monitoring"; + } + container track-ip-frr { + presence "Indicates a track-ip-frr node is configured."; + description + "Enables Tracking IP-Frr Convergence"; + } + } + container ucmp { + description + "Unequal Cost Load Balancing"; + container enable { + presence "Indicates a ucmp node is configured."; + description + "Enable ucmp"; + leaf variance { + type uint32 { + range "101..10000" { + description + "Percentage of the primary path metric"; + } + } + default "200"; + description + "Set the Variance for UCMP path metric"; + } + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter prefixes for which UCMP path are calculated"; + } + } + container exclude { + description + "UCMP exclusion information"; + container interfaces { + description + "Exclude an interface during UCMP computation"; + list interface { + key "interface-name"; + description + "Exclude an interface during UCMP computation"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface during UCMP computation"; + } + } + } + } + leaf delay-interval { + type uint32 { + range "1..5000" { + description + "ms"; + } + } + description + "Interval between SPF and start of the UCMP calculation"; + } + } + container apply-weight { + presence "Indicates a apply-weight node is configured."; + description + "Enable weights configured under interfaces for load sharing"; + leaf use-interface-bandwidth { + type boolean; + mandatory true; + description + "Use interface bandwidth when calculating weights"; + } + leaf bandwidth { + type uint32 { + range "1..4294967" { + description + "Reference bandwidth to use for calculation + (Mbits/sec). + Value must be 100 when use-interface-bandwidth = false"; + } + } + mandatory true; + description + "Reference bandwidth to use for calculation + (Mbits/sec). + Value must be 100 when use-interface-bandwidth = false"; + } + leaf default-weight { + type uint32 { + range "1..16777214" { + description + "Specify default weight value. Value must be 1 when use-interface-bandwidth = true"; + } + } + mandatory true; + description + "Specify default weight value.Value must be 1 when use-interface-bandwidth = true"; + } + } + container srlg { + description + "Weighted SRLG configurations"; + leaf admin-weight { + type uint32 { + range "0..65535" { + description + "Default weight"; + } + } + description + "Default admin weight for all SRLG values"; + } + container names { + description + "Weighted SRLG name configuration"; + list name { + key "srlg-name"; + description + "Weighted SRLG name configuration"; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "SRLG name"; + } + } + description + "Weighted SRLG name configuration"; + } + leaf admin-weight { + type uint32 { + range "0..65535" { + description + "Default weight"; + } + } + description + "Default admin weight for all SRLG values"; + } + } + } + } + container distribute { + description + "Enable Distribution of LSAs to external services"; + container link-state { + presence "Indicates a link-state node is configured."; + description + "Distribute the link-state database to external services"; + leaf instance-id { + type uint32 { + range "0..4294967295" { + description + "Instance ID"; + } + } + description + "Set distribution process instance identifier"; + } + leaf throttle { + type uint32 { + range "1..3600" { + description + "Seconds"; + } + } + description + "Throttle time between successive LSA updates"; + } + } + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "Enable NSR for all VRFs in this process"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NSR for all VRFs in this process"; + } + } + container trace { + description + "OSPF tracing options"; + list size { + key "trace-buffer-name"; + description + "Delete existing buffer and create one with N entries"; + leaf trace-buffer-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of trace buffer"; + } + } + description + "Delete existing buffer and create one with N entries"; + } + leaf trace-entry-size { + type enumeration { + enum "0" { + value 0; + description + "disable trace"; + } + enum "256" { + value 256; + description + "trace entries"; + } + enum "512" { + value 512; + description + "trace entries"; + } + enum "1024" { + value 1024; + description + "trace entries"; + } + enum "2048" { + value 2048; + description + "trace entries"; + } + enum "4096" { + value 4096; + description + "trace entries"; + } + enum "8192" { + value 8192; + description + "trace entries"; + } + enum "16384" { + value 16384; + description + "trace entries"; + } + enum "32768" { + value 32768; + description + "trace entries"; + } + enum "65536" { + value 65536; + description + "trace entries"; + } + } + description + "Number of trece entries"; + } + } + } + container protocol { + description + "Protocol specific configuration"; + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shutdown the OSPF protocol"; + container host-mode { + presence "Indicates a host-mode node is configured."; + description + "Only traffic destined for this box allowed"; + } + container on-reload { + presence "Indicates a on-reload node is configured."; + description + "Shutdown post reload only"; + } + } + } + container vrfs { + description + "Enter the OSPF vrf configuration submode"; + list vrf { + key "vrf-name"; + description + "Name for this OSPF vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name for this OSPF vrf (must not be 'default')"; + } + } + description + "Name for this OSPF vrf"; + } + container domain-id { + description + "Specify domain id"; + leaf type { + type enumeration { + enum "0005" { + value 5; + description + " Type 0x0005"; + } + enum "0105" { + value 261; + description + " Type 0x0105"; + } + enum "0205" { + value 517; + description + " Type 0x0205"; + } + enum "8005" { + value 32773; + description + " Type 0x8005"; + } + } + description + "Primary OSPF domain ID type in Hex format"; + } + leaf value { + type string { + length "1..1024" { + description + "OSPF domain ID ext. community value in Hex (6 octets)"; + } + } + description + "OSPF domain ID value in Hex format"; + } + container secondaries { + description + "OSPF secondary domain-id"; + list secondary { + key "type value"; + description + "OSPF domain ID type in Hex format"; + leaf type { + type enumeration { + enum "0005" { + value 5; + description + " Type 0x0005"; + } + enum "0105" { + value 261; + description + " Type 0x0105"; + } + enum "0205" { + value 517; + description + " Type 0x0205"; + } + enum "8005" { + value 32773; + description + " Type 0x8005"; + } + } + description + "OSPF domain ID type in Hex format"; + } + leaf value { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "OSPF domain ID ext. community value in Hex (6 octets)"; + } + } + description + "OSPF domain ID value in Hex format"; + } + } + } + } + leaf domain-tag { + type uint32 { + range "1..4294967295" { + description + "OSPF domain tag - 32-bit value"; + } + } + description + "OSPF domain tag"; + } + container disable-dn-bit-check { + presence "Indicates a disable-dn-bit-check node is configured."; + description + "Disable DN bit check"; + } + container log { + description + "Log ospf info"; + container adjacency { + description + "Log adjacency state info"; + container changes { + description + "Log changes"; + container detail { + must "not(../disable)"; + presence "Indicates a detail node is configured."; + description + "Log all state changes"; + } + container disable { + must "not(../detail)"; + presence "Indicates a disable node is configured."; + description + "Disable logging"; + } + } + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "configure this node"; + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container dagr { + presence "Indicates a dagr node is configured."; + description + "Directed-attached gateway redundancy (DAGR)"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container applications { + description + "OnePK application routes"; + list application { + key "application-name"; + description + "OnePK application routes"; + leaf application-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "OnePK Application name"; + } + } + description + "OnePK application routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + container match { + description + "Redistribution of EIGRP routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container rip { + presence "Indicates a rip node is configured."; + description + "Routing Information Protocol (RIP)"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container preserve-med { + presence "Indicates a preserve-med node is configured."; + description + "Preserve med of BGP routes"; + } + container preserve-bgp-default-info { + presence "Indicates a preserve-bgp-default-info node is configured."; + description + "Preserve metric and metric-type of BGP default route"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + } + list isis { + key "instance-name"; + description + "ISO IS-IS"; + leaf instance-name { + type string { + length "1..1024" { + description + "IS-IS instance name"; + } + } + description + "ISO IS-IS"; + } + container level-1 { + presence "Indicates a level-1 node is configured."; + description + "IS-IS level-1 routes only"; + } + container level-2 { + presence "Indicates a level-2 node is configured."; + description + "IS-IS level-2 routes only"; + } + container level-1-2 { + presence "Indicates a level-1-2 node is configured."; + description + "IS-IS level-1 and level-2 routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + list ospf { + key "instance-name"; + description + "Open Shortest Path First (OSPF)"; + leaf instance-name { + type string { + length "1..1024" { + description + "OSPF instance name"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "OSPF default metric"; + } + } + description + "OSPF default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPF"; + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPF External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPF External Type 2 metrics"; + } + } + description + "OSPF exterior metric type for redistributed routes"; + } + container lsa-type { + description + "LSA type for redistributed routes"; + container summary { + presence "Indicates a summary node is configured."; + description + "LSA type 3"; + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + container nssa-only { + presence "Indicates a nssa-only node is configured."; + description + "Redistribute to NSSA areas only"; + } + } + } + container distribute-list { + presence "Indicates a distribute-list node is configured."; + description + "Filter networks in routing updates"; + container in { + description + "Filter incoming routing updates"; + leaf access-list { + type string { + length "1..1024" { + description + "In-bound access-list name"; + } + } + description + "In-bound access-list name"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route Policy to filter OSPF prefixes"; + } + } + container out { + description + "Filter outgoing routing updates"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + container connected { + description + "Connected"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container static { + description + "Static routes"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container dagr { + description + "Directed-attached gateway redundancy (DAGR)"; + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + leaf as { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + container ospf { + description + "Open Shortest Path First (OSPF)"; + leaf instance-name { + type string { + length "1..1024" { + description + "OSPF instance name"; + } + } + } + leaf access-list { + type string { + length "1..1024" { + description + "access-list name"; + } + } + description + "access-list name"; + } + } + } + } + leaf packet-size { + type uint32 { + range "576..10000" { + description + "Size of OSPF packets to use Min: 576 Max: MTU bytes"; + } + } + description + "Customize size of OSPF packets upto MTU"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container security { + description + "Enable security"; + container ttl { + presence "Indicates a ttl node is configured."; + description + "Enable ttl security"; + leaf hops { + type uint32 { + range "1..254" { + description + "maximum number of hops allowed"; + } + } + description + "IP hops"; + } + } + } + container prefix-suppression { + description + "Suppress advertisement of the prefixes"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable primary address suppression"; + } + container secondary-address { + description + "Enable/Disable secondary address suppression"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable secondary address suppression"; + } + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + container always { + presence "Indicates a always node is configured."; + description + "Always advertise default route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "OSPF metric"; + } + } + description + "OSPF default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "OSPF Link State type"; + } + } + description + "OSPF metric type for default routes"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to default-information origination"; + } + } + } + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric"; + } + } + description + "Default metric"; + } + container distance { + description + "Define an administrative distance"; + container administrative-distance { + description + "Administrative distance"; + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + default "110"; + description + "Administrative distance"; + } + container source-addresses { + description + "Administrative distance source address"; + list source-address { + key "address wildcard"; + description + "source address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP Source address"; + } + leaf wildcard { + type inet:ipv4-address-no-zone; + description + "IP wild card bits -- inverted mask"; + } + leaf distance { + type uint32 { + range "1..255"; + } + mandatory true; + description + "Administrative distance"; + } + leaf access-list-name { + type string; + description + "Access Control List name"; + } + } + } + } + container ospf { + description + "OSPF distance"; + leaf intra-area { + type uint32 { + range "1..255" { + description + "Distance for intra-area routes"; + } + } + description + "Intra-area routes"; + } + leaf inter-area { + type uint32 { + range "1..255" { + description + "Distance for inter-area routes"; + } + } + description + "Inter-area routes"; + } + leaf external { + type uint32 { + range "1..255" { + description + "Distance for external type 5 and type 7 routes"; + } + } + description + "External type 5 and type 7 routes"; + } + } + } + container auto-cost { + description + "Calculate OSPF interface cost according to bandwidth"; + leaf reference-bandwidth { + type uint32 { + range "1..4294967" { + description + "The reference bandwidth in terms of Mbits per second"; + } + } + description + "Specify reference bandwidth for OSPF cost computations"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Assign OSPF cost based on interface type"; + } + } + container ignore { + description + "Do not complain about specific event"; + container lsa { + description + "Do not complain upon receiving LSA of the specified type"; + container mospf { + presence "Indicates a mospf node is configured."; + description + "MOSPF Type 6 LSA"; + } + } + } + container capability { + description + "Enable specific OSPF feature"; + container opaque { + description + "Opaque LSA"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Opaque LSA capability"; + } + } + container lls { + presence "Indicates a lls node is configured."; + description + "Link Local Signalling"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Link Local Signalling capability"; + } + } + container type7 { + description + "NSSA capability"; + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer type7 externals over type5"; + } + } + container vrf-lite { + presence "Indicates a vrf-lite node is configured."; + description + "Enable VRF-lite support"; + } + } + container max-metric { + description + "Set maximum metric"; + container router-lsa { + presence "Indicates a router-lsa node is configured."; + description + "Maximum metric in self-originated router-LSAs"; + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-no-abr-off { + presence "Indicates a no-abr-off node is configured."; + description + "Do not temporarily suspend ABR duties in max-metric mode"; + } + container router-lsa-on-startup { + description + "On startup"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-on-switchover { + description + "On switchover"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-on-proc-restart { + description + "On process restart"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + container router-lsa-on-proc-migration { + description + "On process migration"; + leaf originate-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to originate router-LSA with max-metric"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to originate router-LSA with max-metric"; + } + container wait-for-bgp { + must "not(../originate-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Let BGP decide when to originate router-LSA with normal metric"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in router-LSAs"; + } + container summary-lsa { + presence "Indicates a summary-lsa node is configured."; + description + "Overriding metric in summary-LSAs (default 16711680)"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + } + container external-lsa { + presence "Indicates a external-lsa node is configured."; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + type uint32 { + range "1..16777215" { + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + description + "Override external-lsa metric with max-metric value"; + } + } + } + } + container max-lsa { + presence "Indicates a max-lsa node is configured."; + description + "Maximum number of LSAs OSPF process will receive"; + leaf max-lsa { + type uint32 { + range "1..4294967294" { + description + "Maximum number of non self-generated LSAs this process can receive"; + } + } + mandatory true; + description + "Maximum number of LSAs OSPF process will receive"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + leaf ignore-time { + type uint32 { + range "1..35791394" { + description + "number of minutes during which all adjacencies are suppressed"; + } + } + must "not(../warning-only)"; + description + "time during which all adjacencies are suppressed"; + } + leaf ignore-count { + type uint32 { + range "1..4294967294" { + description + "count on how many times adjacencies can be suppressed"; + } + } + must "not(../warning-only)"; + description + "maximum number of times adjacencies can be suppressed"; + } + leaf reset-time { + type uint32 { + range "2..71582788" { + description + "number of minutes after which ignore-count is reset to zero"; + } + } + must "not(../warning-only)"; + description + "time after which ignore-count is reset to zero"; + } + } + container timers { + description + "Adjust routing timers"; + container throttle { + description + "OSPF throttle timers"; + container spf { + presence "Indicates a spf node is configured."; + description + "OSPF SPF throttle timers"; + leaf initial-delay { + type uint32 { + range "1..600000" { + description + "Delay between receiving a change to SPF calculation in milliseconds"; + } + } + mandatory true; + description + "OSPF SPF throttle timers"; + } + leaf second-delay { + type uint32 { + range "1..600000" { + description + "Delay between first and second SPF calculation in milliseconds"; + } + } + mandatory true; + description + "Delay between first and second SPF calculation in milliseconds"; + } + leaf maximum-delay { + type uint32 { + range "1..600000" { + description + "Maximum wait time in milliseconds for SPF calculations"; + } + } + mandatory true; + description + "Maximum wait time in milliseconds for SPF calculations"; + } + } + container lsa { + description + "LSA throttle timers"; + container all { + presence "Indicates a all node is configured."; + description + "For all types of OSPF LSAs"; + leaf initial-delay { + type uint32 { + range "0..600000" { + description + "Delay to generate first occurance of LSA in milliseconds"; + } + } + mandatory true; + description + "For all types of OSPF LSAs"; + } + leaf minimum-delay { + type uint32 { + range "1..600000" { + description + "Minimum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Minimum delay between originating the same LSA in milliseconds"; + } + leaf maximum-delay { + type uint32 { + range "1..600000" { + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + } + leaf fast-reroute { + type uint32 { + range "50..600000" { + description + "Delay between end of SPF and start of the fast-reroute computation in milliseconds"; + } + } + description + "Fast-reroute throttle timer"; + } + } + container lsa { + description + "OSPF global LSA timers"; + leaf group-pacing { + type uint32 { + range "10..1800" { + description + "Interval between group of LSA being refreshed or maxaged"; + } + } + description + "OSPF LSA group pacing timer"; + } + leaf min-arrival { + type uint32 { + range "0..600000" { + description + "The minimum interval in millisec between accepting the same LSA"; + } + } + description + "OSPF MinLSArrival timer"; + } + leaf refresh { + type uint32 { + range "1800..2700" { + description + "How often self-originated LSAs should be refreshed, in seconds"; + } + } + description + "OSPF LSA refresh interval"; + } + } + container pacing { + description + "OSPF pacing timers"; + leaf flood { + type uint32 { + range "5..100" { + description + "Interval in msec to pace flooding on all interfaces"; + } + } + description + "OSPF flood pacing timer"; + } + } + } + container nsf { + description + "Enable Cisco Non Stop Forwarding"; + container cisco { + presence "Indicates a cisco node is configured."; + description + "Enable Cisco Non Stop Forwarding"; + container enforce { + description + "Cancel NSF restart when non-NSF-aware neighbors detected"; + container global { + presence "Indicates a global node is configured."; + description + "For the whole OSPF process"; + } + } + } + leaf interval { + type uint32 { + range "90..3600" { + description + "seconds"; + } + } + description + "Minimum interval between NSF restarts (seconds)"; + } + container ietf { + presence "Indicates a ietf node is configured."; + description + "Enable ietf graceful restart"; + } + container ietf-strict-lsa-checking { + presence "Indicates a strict-lsa-checking node is configured."; + description + "terminate graceful restart helper mode if lsa changed"; + } + container ietf-helper { + description + "router's helper support level"; + container disable { + presence "Indicates a disable node is configured."; + description + "router's helper support disabled"; + } + } + leaf lifetime { + type uint32 { + range "90..1800" { + description + "seconds"; + } + } + description + "Maximum route lifetime following restart (seconds)"; + } + leaf flush-delay-time { + type uint32 { + range "1..3600" { + description + "seconds"; + } + } + description + "Maximum time allowed for external route learning (seconds)"; + } + } + container address-family { + description + "OSPF address family"; + container ipv4 { + presence "Indicates a ipv4 node is configured."; + description + "IPV4 address family"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "unicast topology"; + } + } + } + container maximum { + description + "Set OSPF limits"; + leaf interfaces { + type uint32 { + range "1..4294967295" { + description + "Maximum number of interfaces"; + } + } + description + "Limit number of interfaces"; + } + leaf paths { + type uint32 { + range "1..64" { + description + "Maximum number of paths per route"; + } + } + description + "Limit number of paths"; + } + container redistributed-prefixes { + presence "Indicates a redistributed-prefixes node is configured."; + description + "Limit number of redistributed prefixes"; + leaf prefixes { + type uint32 { + range "1..4294967295" { + description + "Maximum number of prefixes redistributed into OSPF"; + } + } + mandatory true; + description + "Limit number of redistributed prefixes"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning messsage when limit is exceeded"; + } + } + } + container queue { + description + "Adjust OSPF input queue"; + container limit { + description + "High watermark for incoming priority events"; + leaf high { + type uint32 { + range "1000..30000" { + description + "Hello events are dropped when incoming event queue exceeds this value"; + } + } + description + "High watermark for incoming high priority events (hello)"; + } + leaf medium { + type uint32 { + range "1000..30000" { + description + "LSA ACKs are dropped when incoming event queue exceeds this value"; + } + } + description + "High watermark for incoming medium priority events (LSA ACK)"; + } + leaf low { + type uint32 { + range "1000..30000" { + description + "DBD/LS Update/Req packets are dropped when incoming event queue exceeds this value"; + } + } + description + "High watermark for incoming low priority events (DBD/LSUpd/Req)"; + } + } + container dispatch { + description + "Number of continuous events processed by type"; + leaf incoming { + type uint32 { + range "30..3000" { + description + "Maximum number of continuous events processed"; + } + } + description + "Number of continuous incoming events processed"; + } + leaf rate-limited-lsa { + type uint32 { + range "30..3000" { + description + "Maximum number of rate-limited LSAs processed per run"; + } + } + description + "Number of rate-limited LSAs processed"; + } + leaf flush-lsa { + type uint32 { + range "30..3000" { + description + "Maximum number of LSAs flushed per run"; + } + } + description + "Number of LSAs flushed"; + } + leaf spf-lsa-limit { + type uint32 { + range "30..3000" { + description + "Maximum number of Type 3-7 LSAs processed per SPF run"; + } + } + description + "Number of summary or external LSAs processed per run"; + } + } + } + container summary-prefixes { + description + "Configure IP address summaries"; + list summary-prefix { + key "address mask"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IP summary prefix address"; + } + leaf mask { + type inet:ipv4-address-no-zone; + description + "IP smmary address mask"; + } + container not-advertise { + must "not(../tag)"; + presence "Indicates a not-advertise node is configured."; + description + "Suppress routes that match the specified prefix/mask pair"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + must "not(../not-advertise)"; + description + "Set tag"; + } + } + } + container spf { + description + "SPF configuration"; + container prefix-priority { + description + "Configure SPF prefix priority route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy to prioritize route install"; + } + } + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-prefix { + description + "Per-prefix Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-prefix Computation"; + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + must "not(../high) and not(../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical) and not(../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + must "not(../high) and not(../critical)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container interface-disjoint { + description + "Prefer Interface disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + } + container load-sharing { + description + "Load share prefixes across multiple backups"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable load sharing"; + } + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-link { + description + "Per-link Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-link Computation"; + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + must "not(../high) and not(../medium)"; + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + must "not(../critical) and not(../medium)"; + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + must "not(../high) and not(../critical)"; + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container loopback { + description + "OSPF loopback configuration"; + container stub-network { + description + "Advertise loopback as a stub network"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertising loopback as a stub network"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertising loopback as a stub network"; + } + } + } + container link-down { + description + "Configure interface down parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast or early detection of link-down events"; + } + } + leaf weight { + type uint32 { + range "1..16777214" { + description + "Weight value"; + } + } + description + "Interface weight"; + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + must "../offset"; + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + container microloop { + description + "Microloop configuration"; + container avoidance { + presence "Indicates a avoidance node is configured."; + description + "Avoid microloops"; + container protected { + presence "Indicates a protected node is configured."; + description + "Avoid microloops for protected prefixes only"; + } + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Enable segment routing microloop avoidance"; + } + } + leaf avoidance-rib-update-delay { + type uint32 { + range "1..600000" { + description + "Delay in milliseconds"; + } + } + description + "Delay to introduce between SPF and RIB update"; + } + } + container areas { + description + "Enter the OSPF area configuration submode"; + list area { + key "area-id"; + description + "Enter the OSPF area configuration submode"; + leaf area-id { + type xr:Ospf-area-id; + description + "Enter the OSPF area configuration submode"; + } + container ranges { + description + "Summarize routes matching address/mask (border routers only)"; + list range { + key "address mask"; + description + "Summarize routes matching address/mask (border routers only)"; + leaf address { + type inet:ipv4-address-no-zone; + must "(../advertise and not(../not-advertise)) or (../not-advertise and not(../advertise))"; + description + "IP address"; + } + leaf mask { + type inet:ipv4-address-no-zone; + description + "IP address mask"; + } + container advertise { + presence "Indicates a advertise node is configured."; + description + "Advertise this range (default)"; + } + container not-advertise { + presence "Indicates a not-advertise node is configured."; + description + "DoNotAdvertise this range"; + } + } + } + leaf default-cost { + type uint32 { + range "1..16777215" { + description + "Stub's advertised external route metric"; + } + } + description + "Set the summary default-cost of a NSSA/stub area"; + } + container stub { + presence "Indicates a stub node is configured."; + description + "Specify the area as a stub area"; + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSA into stub area"; + } + } + container nssa { + presence "Indicates a nssa node is configured."; + description + "Specify area as a NSSA area"; + container no-redistribution { + presence "Indicates a no-redistribution node is configured."; + description + "No redistribution into this NSSA area"; + } + container default-information-originate { + presence "Indicates a default-information-originate node is configured."; + description + "Originate Type 7 default into NSSA area"; + leaf metric { + type uint32 { + range "1..16777214" { + description + "OSPF metric"; + } + } + description + "OSPF default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "Link State metric type"; + } + } + description + "OSPF metric type for default routes"; + } + } + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSA into NSSA"; + } + } + container nssa-translate { + description + "Translate NSSA LSA"; + container type7 { + description + "Translate type 7 to type 5"; + container always { + presence "Indicates a always node is configured."; + description + "Always translate NSSA LSAs on this ABR"; + } + } + } + container route-policy { + description + "Specify the route-policy to filter type 3 LSAs"; + leaf in { + type xr:Route-policy-name; + description + "route-policy to filter inbound"; + } + leaf out { + type xr:Route-policy-name; + description + "route-policy to filter outbound"; + } + } + container external-out { + description + "Enable/Disable advertisement of intra-area prefixes as external"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of intra-area routes as external"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of intra-area routes as external"; + } + } + container summary-in { + description + "Enable/Disable advertisement of external prefixes as inter-area"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of external prefixes as inter-area"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of external prefixes as inter-area"; + } + } + container interfaces { + description + "Enable routing on an interface "; + list interface { + key "interface-name"; + description + "Enable routing on an interface "; + leaf interface-name { + type xr:Interface-name; + description + "Enable routing on an interface "; + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "neighbor-address"; + description + "Specify a neighbor router"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Specify a neighbor router"; + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + } + } + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "OSPF priority of non-broadcast neighbor"; + } + leaf poll-interval { + type uint32 { + range "0..65535" { + description + "Seconds"; + } + } + description + "OSPF dead-router polling interval"; + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Metric"; + } + } + description + "OSPF cost for point-to-multipoint neighbor"; + } + } + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPF broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPF NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPF point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPF point-to-multipoint network"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization on interfaces"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync"; + } + } + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + container cost-fallback { + presence "Indicates a cost-fallback node is configured."; + description + "Cost when cumulative bandwidth goes below the theshold"; + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + must "(../threshold)"; + description + "Cost when cumulative bandwidth goes below the theshold"; + } + leaf threshold { + type uint32 { + range "1..4294967" { + description + "Threshold bandwidth in Mbits per second"; + } + } + must "(../cost)"; + description + "Threshold bandwidth when cost-fallback is applied"; + } + container anomaly { + description + "Penalty when a delay or loss is notified"; + container delay { + description + "Penalty when a delay is notified"; + container igp-metric { + description + "Penalty on IGP metric"; + leaf increment { + type uint32 { + range "1..65534" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the IGP cost by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the IGP cost by the specified value"; + } + leaf value { + type uint32 { + range "1..65535" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the IGP cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable igp-metric"; + } + } + container te-metric { + description + "Penalty on TE metric"; + leaf increment { + type uint32 { + range "1..4294967294" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the TE metric by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the TE metric by the specified value"; + } + leaf value { + type uint32 { + range "1..4294967295" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the TE cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable te-metric"; + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between retransmitting lost link state advertisements"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Estimated time needed to send link-state update packet"; + } + container flood-reduction { + description + "OSPF Flood Reduction"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable flooding reduction"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable flooding reduction"; + } + } + container demand-circuit { + description + "Enable/Disable demand circuits"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable demand circuits"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable demand circuits"; + } + } + container mtu-ignore { + description + "Enable/Disable ignoring of MTU in DBD packets"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Ignores the MTU in DBD packets"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable ignoring of MTU in DBD packets"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + description + "Outgoing LSA"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable filtering"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + description + "Enable/Disable passive"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable passive"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable passive"; + } + } + container distribute-list { + description + "Filter networks in routing updates"; + leaf access-list { + type string; + must "not(../route-policy)"; + description + "In-bound access-list name."; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../access-list)"; + description + "Route Policy to filter OSPF prefixes"; + } + } + leaf packet-size { + type uint32 { + range "576..10000" { + description + "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; + } + } + description + "Customize size of OSPF packets upto MTU"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container security { + description + "Enable security"; + container ttl { + must "not(hops and disable)"; + presence "Indicates a ttl node is configured."; + description + "Enable ttl security"; + leaf hops { + type uint32 { + range "1..254" { + description + "maximum number of hops allowed"; + } + } + description + "IP hops"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TTL security"; + } + } + } + container prefix-suppression { + description + "Suppress advertisement of the prefixes"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable primary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable primary address suppression"; + } + container secondary-address { + description + "Enable/Disable secondary address suppression"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable secondary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable secondary address suppression"; + } + } + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container interface-disjoint { + description + "Prefer Interface disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container loopback { + description + "OSPF loopback configuration"; + container stub-network { + description + "Advertise loopback as a stub network"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertising loopback as a stub network"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertising loopback as a stub network"; + } + } + } + container link-down { + description + "Configure interface down parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast or early detection of link-down events"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable fast or early detection of link-down events"; + } + } + } + container prefix-sid { + when "../interface-name[starts-with(text(),'Loopback')]" { + tailf:dependency "../interface-name"; + } + description + "Prefix SID Configuration"; + container index { + presence "Indicates a index node is configured."; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + mandatory true; + description + "SID Index"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container absolute { + presence "Indicates a absolute node is configured."; + description + "SID value"; + leaf sid-label { + type uint32 { + range "16000..1048575" { + description + "SID label"; + } + } + mandatory true; + description + "SID value"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container strict-spf { + description + "Strict-SPF Prefix SID Configuration"; + container index { + must "not(../absolute)"; + presence "Indicates a index node is configured."; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + mandatory true; + description + "SID Index"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container absolute { + must "not(../index)"; + presence "Indicates a absolute node is configured."; + description + "SID value"; + leaf sid-label { + type uint32 { + range "16000..1048575" { + description + "SID label"; + } + } + mandatory true; + description + "SID value"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + } + container algorithms { + description + "Algorithm Specific Prefix SID Configuration"; + list algorithm { + must "index or absolute"; + key "algorithm-number"; + description + "Algorithm Specific Prefix SID Configuration"; + leaf algorithm-number { + type uint32 { + range "128..255" { + description + "Algorithm number"; + } + } + description + "Algorithm Specific Prefix SID Configuration"; + } + container index { + presence "Indicates a index node is configured."; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + mandatory true; + description + "SID Index"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + container absolute { + presence "Indicates a absolute node is configured."; + description + "SID value"; + leaf sid-label { + type uint32 { + range "16000..1048575" { + description + "SID label"; + } + } + mandatory true; + description + "SID value"; + } + container explicit-null { + presence "Indicates a explicit-null node is configured."; + description + "Force penultimate hop to send explicit-null label"; + } + container n-flag-clear { + presence "Indicates a n-flag-clear node is configured."; + description + "Not a node SID (e.g. for anycast SID use)"; + } + } + } + } + } + container adjacency-sid { + description + "Adjacency SID Configuration"; + container indexes { + description + "SID Index"; + list index { + key "sid-index"; + description + "SID Index"; + leaf sid-index { + type uint32 { + range "0..1048575" { + description + "SID Index"; + } + } + description + "SID Index"; + } + container protected { + presence "Indicates a protected node is configured."; + description + "Protect the static adjacency SID"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Provide Neighbor IP address associated with this SID"; + } + } + } + container absolutes { + description + "SID value"; + list absolute { + key "sid-label"; + description + "SID value"; + leaf sid-label { + type uint32 { + range "15000..1048575" { + description + "SID label"; + } + } + description + "SID value"; + } + container protected { + presence "Indicates a protected node is configured."; + description + "Protect the static adjacency SID"; + } + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Provide Neighbor IP address associated with this SID"; + } + } + } + } + leaf weight { + type uint32 { + range "1..16777214" { + description + "Weight value"; + } + } + description + "Interface weight"; + } + container advertise { + when "../interface-name[starts-with(text(),'Loopback')]" { + tailf:dependency "../interface-name"; + } + description + "Conditionally advertise"; + container prefix { + description + "Conditionally advertise this prefix"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy for conditional advertising"; + } + } + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + must "../offset"; + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + } + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPF broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPF NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPF point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPF point-to-multipoint network"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync"; + } + } + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + container cost-fallback { + description + "Cost fallback when anomaly is detected"; + container anomaly { + description + "Penalty when a delay or loss is notified"; + container delay { + description + "Penalty when a delay is notified"; + container igp-metric { + description + "Penalty on IGP metric"; + leaf increment { + type uint32 { + range "1..65534" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the IGP cost by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the IGP cost by the specified value"; + } + leaf value { + type uint32 { + range "1..65535" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the IGP cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable igp-metric"; + } + } + container te-metric { + description + "Penalty on TE metric"; + leaf increment { + type uint32 { + range "1..4294967294" { + description + "Increment by this value"; + } + } + must + "not(../multiplier or ../value + or ../disable)"; + description + "Increment the TE metric by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must + "not(../increment or ../value + or ../disable)"; + description + "Multiply the TE metric by the specified value"; + } + leaf value { + type uint32 { + range "1..4294967295" { + description + "Set to this value"; + } + } + must + "not(../increment or ../multiplier + or ../disable)"; + description + "Set the TE cost to the specified value"; + } + container disable { + must + "not(../increment or ../multiplier + or ../value)"; + presence "Indicates a disable node is configured."; + description + "Disable te-metric"; + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between retransmitting lost link state advertisements"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Estimated time needed to send link-state update packet"; + } + container flood-reduction { + description + "OSPF Flood Reduction"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable flooding reduction"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable flooding reduction"; + } + } + container demand-circuit { + description + "Enable/Disable demand circuits"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable demand circuits"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable demand circuits"; + } + } + container mtu-ignore { + description + "Enable/Disable ignoring of MTU in DBD packets"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Ignores the MTU in DBD packets"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable ignoring of MTU in DBD packets"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + description + "Outgoing LSA"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable filtering"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + description + "Enable/Disable passive"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable passive"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable passive"; + } + } + container distribute-list { + description + "Filter networks in routing updates"; + leaf access-list { + type string; + must "not(../route-policy)"; + description + "In-bound access-list name."; + } + leaf route-policy { + type xr:Route-policy-name; + must "not(../access-list)"; + description + "Route Policy to filter OSPF prefixes"; + } + } + leaf packet-size { + type uint32 { + range "576..10000" { + description + "Size of OSPF packets to use. Min: 576 Max: MTU bytes"; + } + } + description + "Customize size of OSPF packets upto MTU"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + must "not(strict-mode and disable)"; + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container security { + description + "Enable/Disable security"; + container ttl { + must "not(hops and disable)"; + presence "Indicates a ttl node is configured."; + description + "TTL security"; + leaf hops { + type uint32 { + range "1..254" { + description + "maximum number of hops allowed"; + } + } + description + "IP hops"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable TTL security"; + } + } + } + container prefix-suppression { + description + "Suppress advertisement of the prefixes"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable primary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable primary address suppression"; + } + container secondary-address { + description + "Enable/Disable secondary address suppression"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable secondary address suppression"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable secondary address suppression"; + } + } + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container interface-disjoint { + description + "Prefer Interface disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + must "not(../disable)"; + description + "Set preference order among tiebreakers"; + } + container disable { + must "not(../index)"; + presence "Indicates a disable node is configured."; + description + "Disable tiebreaker"; + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container loopback { + description + "OSPF loopback configuration"; + container stub-network { + description + "Advertise loopback as a stub network"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertising loopback as a stub network"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertising loopback as a stub network"; + } + } + } + container link-down { + description + "Configure interface down parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable fast or early detection of link-down events"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable fast or early detection of link-down events"; + } + } + } + leaf weight { + type uint32 { + range "1..16777214" { + description + "Weight value"; + } + } + description + "Interface weight"; + } + container delay { + description + "Delay configuration setting"; + container normalize { + description + "Delay normalization setting"; + leaf interval { + type uint32 { + range "1..16777215" { + description + "Value in microseconds"; + } + } + must "../offset"; + description + "Normalization interval"; + } + leaf offset { + type uint32 { + range "0..16777215" { + description + "Value in microseconds"; + } + } + must "../interval"; + description + "Normalization offset"; + } + } + } + container virtual-links { + description + "Define a virtual link"; + list virtual-link { + key "virtual-link-id"; + description + "Define a virtual link"; + leaf virtual-link-id { + type inet:ipv4-address-no-zone; + description + "Define a virtual link"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + } + } + container sham-links { + description + "Define a sham link"; + list sham-link { + key "local-address remote-address"; + description + "Define a sham link"; + leaf local-address { + type inet:ipv4-address-no-zone; + description + "Address of the local sham-link endpoint"; + } + leaf remote-address { + type inet:ipv4-address-no-zone; + description + "Address of the remote sham-link endpoint"; + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Sham-link cost"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + } + } + } + } + container authentication-key { + description + "Authentication password (key)"; + leaf encrypted { + type xr:Proprietary-password; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + container message-digest-keys { + description + "Message digest authentication password (key)"; + list message-digest-key { + key "message-digest-key-id"; + description + "Message digest authentication password (key)"; + leaf message-digest-key-id { + type uint32 { + range "1..255" { + description + "Key ID"; + } + } + description + "Message digest authentication password (key)"; + } + container md5 { + description + "Use MD5 algorithm"; + leaf encrypted { + type xr:Proprietary-password; + mandatory true; + description + "Specifies an ENCRYPTED password (key) will follow"; + } + } + } + } + container authentication { + presence "Indicates a authentication node is configured."; + description + "Enable authentication"; + container message-digest { + must "not(../null or ../keychain)"; + presence "Indicates a message-digest node is configured."; + description + "Use message-digest authentication"; + } + container keychain { + must "../keychain-name"; + presence "Indicates a keychain node is configured."; + description + "Use keychain"; + } + leaf keychain-name { + type string { + length "1..32" { + description + "The keychain name"; + } + } + must "(../message-digest or ../keychain) and not(../null)"; + description + "Specify keychain name"; + } + container null { + must "not(../message-digest or ../keychain)"; + presence "Indicates a null node is configured."; + description + "Use no authentication"; + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPF broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPF NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPF point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPF point-to-multipoint network"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization"; + } + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + container cost-fallback { + description + "Cost fallback when anomaly is detected"; + container anomaly { + description + "Penalty when a delay or loss is notified"; + container delay { + description + "Penalty when a delay is notified"; + container igp-metric { + description + "Penalty on IGP metric"; + leaf increment { + type uint32 { + range "1..65534" { + description + "Increment by this value"; + } + } + must "not(../multiplier or ../value)"; + description + "Increment the IGP cost by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must "not(../increment or ../value)"; + description + "Multiply the IGP cost by the specified value"; + } + leaf value { + type uint32 { + range "1..65535" { + description + "Set to this value"; + } + } + must "not(../increment or ../multiplier)"; + description + "Set the IGP cost to the specified value"; + } + } + container te-metric { + description + "Penalty on TE metric"; + leaf increment { + type uint32 { + range "1..4294967294" { + description + "Increment by this value"; + } + } + must "not(../multiplier or ../value)"; + description + "Increment the TE metric by the specified value"; + } + leaf multiplier { + type uint32 { + range "1..255" { + description + "Multiply by this value"; + } + } + must "not(../increment or ../value)"; + description + "Multiply the TE metric by the specified value"; + } + leaf value { + type uint32 { + range "1..4294967295" { + description + "Set to this value"; + } + } + must "not(../increment or ../multiplier)"; + description + "Set the TE cost to the specified value"; + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + must "not(../dead-interval-minimal-hello-multiplier)"; + description + "Seconds"; + } + leaf dead-interval-minimal-hello-multiplier { + type uint32 { + range "3..20" { + description + "Multiplier"; + } + } + must "not(../dead-interval)"; + description + "Set multiplier for Hellos"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between retransmitting lost link state advertisements"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Estimated time needed to send link-state update packet"; + } + container flood-reduction { + description + "Enable/Disable OSPF Flood Reduction"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable OSPF Flood Reduction"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable OSPF Flood Reduction"; + } + } + container demand-circuit { + description + "Enable/Disable OSPF demand circuit"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable OSPF demand circuit"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable OSPF demand circuit"; + } + } + container mtu-ignore { + description + "Enable/Disable ignoring of MTU in DBD packets"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Ignores the MTU in DBD packets"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable ignoring the MTU in DBD packets"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + description + "Outgoing LSA"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable filtering"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + description + "Enable/Disable passive"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable passive"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable passive"; + } + } + container external-out { + description + "Enable/Disable advertisement of intra-area prefixes as external"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of intra-area routes as external"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of intra-area routes as external"; + } + } + container summary-in { + description + "Enable/Disable advertisement of external prefixes as inter-area"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable advertisement of external prefixes as inter-area"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable advertisement of external prefixes as inter-area"; + } + } + container adjacency { + description + "OSPF adjacency bring up"; + container stagger { + description + "Stagger OSPF adjacency bring up"; + container disable { + must "not(../initial-number-of-neighbors)"; + presence "Indicates a disable node is configured."; + description + "Disable stagger OSPF adjacency bring up"; + } + leaf initial-number-of-neighbors { + type uint32 { + range "1..65535" { + description + "Initial number of neighbors to bring up per area (default 2)"; + } + } + must "not(../disable)"; + description + "Initial number of neighbors to bring up per area (default 2)"; + } + leaf maximum-simultaneous-neighbors { + type uint32 { + range "1..65535" { + description + "Maximum simultaneous neighbors to bring up (default 64)"; + } + } + must "../initial-number-of-neighbors"; + description + "Maximum simultaneous neighbors to bring up (default 64)"; + } + } + } + container snmp { + description + "SNMP configuration"; + leaf context { + type string { + length "1..32" { + description + "SNMP context name"; + } + pattern "[a-zA-Z0-9*/_]+"; + } + description + "Specified SNMP context for OSPF instance"; + } + container trap { + presence "Indicates a trap node is configured."; + description + "Enable SNMP trap for OSPF instance"; + } + } + container ucmp { + description + "Unequal Cost Load Balancing"; + container enable { + presence "Indicates a ucmp node is configured."; + description + "Enable ucmp"; + leaf variance { + type uint32 { + range "101..10000" { + description + "Percentage of the primary path metric"; + } + } + default "200"; + description + "Set the Variance for UCMP path metric"; + } + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter prefixes for which UCMP path are calculated"; + } + } + container exclude { + description + "UCMP exclusion information"; + container interfaces { + description + "Exclude an interface during UCMP computation"; + list interface { + key "interface-name"; + description + "Exclude an interface during UCMP computation"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface during UCMP computation"; + } + } + } + } + leaf delay-interval { + type uint32 { + range "1..5000" { + description + "ms"; + } + } + description + "Interval between SPF and start of the UCMP calculation"; + } + } + container apply-weight { + description + "Enable weights configured under interfaces for load sharing"; + leaf bandwidth { + type uint32 { + range "1..4294967" { + description + "Reference bandwidth to use for calculation (Mbits/sec)"; + } + } + description + "Use interface bandwidth when calculating weights"; + } + leaf default-weight { + type uint32 { + range "1..16777214" { + description + "Weight to use when it is not configured under interface"; + } + } + description + "Specify default weight value"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospfv3-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospfv3-cfg.yang new file mode 100644 index 000000000..5b2b700fa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-ospfv3-cfg.yang @@ -0,0 +1,8304 @@ +module Cisco-IOS-XR-um-router-ospfv3-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospfv3-cfg"; + prefix um-router-ospfv3-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-ospfv3 package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-15 { + description + "Added container lls/disable under capability"; + semver:module-version "2.2.0"; + } + revision 2021-03-11 { + description + "Added container strict-lsa-checking under graceful-restart + 2021-02-12 + Added leaf disable under + (1) area/database-filter, + (2) area/interface/database-filter + (3) vrf/area/database-filter + (4) vrf/area/interface/database-filter + 2021-01-20 + Added leaf route-policy under default-information"; + semver:module-version "2.1.0"; + } + revision 2020-05-26 { + description + "(1) Added container advertise and its child nodes under area/interface + (2) Removed container include-stub from stub-router/router-lsa/r-bit|v6-bit + 2020-04-14 + Moved translate out of nssa into the new node nssa-translate"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + augment "/a1:snmp-server/a1:traps" { + container ospfv3 { + description + "Enable SNMP ospfv3 traps"; + container errors { + description + "Enable SNMP traps for ospfv3 errors"; + container config-error { + presence "Indicates a config-error node is configured."; + description + "Enable SNMP traps for interface configuration errors"; + } + container virt-config-error { + presence "Indicates a virt-config-error node is configured."; + description + "Enable SNMP traps for config errors on virtual interfaces"; + } + container bad-packet { + presence "Indicates a bad-packet node is configured."; + description + "Enable SNMP traps for bad packet errors received on interfaces"; + } + container virt-bad-packet { + presence "Indicates a virt-bad-packet node is configured."; + description + "Enable SNMP traps for bad packet errors on virtual interfaces"; + } + } + container state-change { + description + "Enable SNMP traps for ospfv3 state change"; + container if-state-change { + presence "Indicates a if-state-change node is configured."; + description + "Enable SNMP traps for ospfv3 interface state change"; + } + container neighbor-state-change { + presence "Indicates a neighbor-state-change node is configured."; + description + "Enable SNMP traps for ospfv3 neighbor state change"; + } + container virtif-state-change { + presence "Indicates a virtif-state-change node is configured."; + description + "Enable SNMP traps for ospfv3 virtual interface state change"; + } + container virtneighbor-state-change { + presence "Indicates a virtneighbor-state-change node is configured."; + description + "Enable SNMP traps for ospfv3 virtual neighbor state change"; + } + container restart-status-change { + presence "Indicates a restart-status-change node is configured."; + description + "Enable SNMP traps for ospfv3 restart status change"; + } + container restart-helper-status-change { + presence "Indicates a restart-helper-status-change node is configured."; + description + "Enable SNMP traps for ospfv3 restart helper status change"; + } + container restart-virtual-helper-status-change { + presence "Indicates a restart-virtual-helper-status-change node is configured."; + description + "Enable SNMP traps for ospfv3 virtual helper restart status change"; + } + container nssa-state-change { + presence "Indicates a nssa-state-change node is configured."; + description + "Enable SNMP traps for ospfv3 NSSA status change"; + } + } + } + } + container router { + description + "Enable a routing process"; + container ospfv3 { + description + "IPv6 Open Shortest Path First protocol (OSPFv3)"; + container processes { + description + "IPv6 Open Shortest Path First protocol (OSPFv3)"; + list process { + key "process-name"; + description + "IPv6 Open Shortest Path First protocol (OSPFv3)"; + leaf process-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name for this OSPFv3 process"; + } + } + description + "IPv6 Open Shortest Path First protocol (OSPFv3)"; + } + container capability { + description + "Enable specific OSPFv3 feature"; + container type7 { + description + "NSSA capability"; + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer type7 externals over type5"; + } + container translate { + description + "Translate type7 to type5"; + container zero-forward-addr { + presence "Indicates a zero-forward-addr node is configured."; + description + "Translate Type 7 LSAs without forwarding address"; + } + } + } + container lls { + description + "LLS capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable LLS capability"; + } + } + } + container areas { + description + "Enter the OSPFv3 area configuration submode"; + list area { + key "area-id"; + description + "Enter the OSPFv3 area configuration submode"; + leaf area-id { + type xr:Ospf-area-id; + description + "Enter the OSPFv3 area configuration submode"; + } + leaf default-cost { + type uint32 { + range "0..16777215" { + description + "Stub's advertised external route metric"; + } + } + description + "Set the summary default-cost of a NSSA/stub area"; + } + container nssa { + presence "Indicates a nssa node is configured."; + description + "Specify area as an NSSA area"; + container no-redistribution { + presence "Indicates a no-redistribution node is configured."; + description + "No redistribution into this NSSA area"; + } + container default-information-originate { + presence "Indicates a default-information-originate node is configured."; + description + "Originate Type 7 default into NSSA area"; + leaf metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 metric"; + } + } + description + "OSPFv3 default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "OSPFv3 Link State type"; + } + } + description + "OSPFv3 metric type for default routes"; + } + } + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSA into NSSA"; + } + } + container nssa-translate { + description + "Translate NSSA LSA"; + container type7 { + description + "Translate type 7 to type 5"; + container always { + presence "Indicates a always node is configured."; + description + "Always translate NSSA LSAs on this ABR"; + } + } + } + container ranges { + description + "Summarize inter-area routes matching prefix/length"; + list range { + must "advertise or not-advertise"; + key "prefix prefix-length"; + description + "Summarize inter-area routes matching prefix/length"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Summarize inter-area routes matching prefix/length"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Summarize inter-area routes matching prefix/length"; + } + leaf cost { + type uint32 { + range "1..16777214" { + description + "Advertised metric for this range"; + } + } + description + "User specified metric for this range"; + } + container advertise { + presence "Indicates a advertise node is configured."; + description + "Advertise this range (default)"; + } + container not-advertise { + presence "Indicates a not-advertise node is configured."; + description + "Do not advertise this range"; + } + } + } + container stub { + presence "Indicates a stub node is configured."; + description + "Specify area as a stub area"; + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSAs into stub area"; + } + } + container interfaces { + description + "Enable OSPFv3 on an interface"; + list interface { + key "interface-name"; + description + "Enable OSPFv3 on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Enable OSPFv3 on an interface"; + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPFv3 broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPFv3 NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPFv3 point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPFv3 point-to-multipoint network"; + } + } + container cost { + description + "Interface cost"; + leaf cost { + type uint32 { + range "0..65535" { + description + "Cost"; + } + } + description + "Cost"; + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container flood-reduction { + presence "Indicates a flood-reduction node is configured."; + description + "Enable/Disable flood reduction"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flood reduction"; + } + } + container demand-circuit { + presence "Indicates a demand-circuit node is configured."; + description + "Enable/Disable demand circuit operation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable demand circuit operation"; + } + } + container mtu-ignore { + presence "Indicates a mtu-ignore node is configured."; + description + "Enable/Disable ignoring of MTU in DBD packets"; + container disable { + presence "Indicates a disable node is configured."; + description + "Validate the MTU in DBD packets"; + } + } + leaf instance { + type uint32 { + range "0..255" { + description + "Instance ID"; + } + } + description + "Instance ID"; + } + container database-filter { + description + "Filter LSAs during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + presence "Indicates a passive node is configured."; + description + "Enable/Disable routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable routing updates on an interface"; + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter prefixes based on an IPv6 prefix-list"; + } + } + leaf packet-size { + type uint32 { + range "256..10000" { + description + "OSPFv3 packet size limit"; + } + } + description + "Limit size of OSPFv3 packets"; + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + must "not(../../per-prefix/enable)"; + presence "Indicates a per-link node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + must "not(../../per-link/enable)"; + presence "Indicates a per-prefix node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization on interfaces"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync"; + } + } + } + } + container prefix-suppression { + presence "Indicates a prefix-suppression node is configured."; + description + "Hide all transit addresses on this interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable prefix suppression on this interface"; + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container advertise { + description + "Conditionally advertise"; + container prefix { + description + "Conditionally advertise this prefix"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy for conditional advertising"; + } + } + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "neighbor-address"; + description + "Specify a neighbor router"; + leaf neighbor-address { + type inet:ipv6-address-no-zone; + description + "Specify a neighbor router"; + } + leaf zone { + type string; + default "0"; + description + "IPv6 address zone"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "OSPFv3 priority of non-broadcast neighbor"; + } + leaf poll-interval { + type uint32 { + range "0..65535" { + description + "Seconds"; + } + } + description + "OSPFv3 dead-router polling interval"; + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Metric"; + } + } + description + "OSPFv3 cost for point-to-multipoint neighbor"; + } + container database-filter { + description + "Filter OSPFv3 LSA during synchronization and flooding for point-to-multipoint neighbor"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + } + } + } + } + } + } + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPFv3 broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPFv3 NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPFv3 point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPFv3 point-to-multipoint network"; + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container flood-reduction { + presence "Indicates a flood-reduction node is configured."; + description + "Enable/Disable flood reduction"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flood reduction"; + } + } + container demand-circuit { + presence "Indicates a demand-circuit node is configured."; + description + "Enable/Disable demand circuit operation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable demand circuit operation"; + } + } + container mtu-ignore { + presence "Indicates a mtu-ignore node is configured."; + description + "Enable/Disable ignoring of MTU in DBD packets"; + container disable { + presence "Indicates a disable node is configured."; + description + "Validate the MTU in DBD packets"; + } + } + leaf instance { + type uint32 { + range "0..255" { + description + "Instance ID"; + } + } + description + "Instance ID"; + } + container database-filter { + description + "Filter LSAs during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + presence "Indicates a passive node is configured."; + description + "Enable/Disable routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable routing updates on an interface"; + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Filter prefixes based on an IPv6 prefix-list"; + } + } + leaf packet-size { + type uint32 { + range "256..10000" { + description + "OSPFv3 packet size limit"; + } + } + description + "Limit size of OSPFv3 packets"; + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + must "not(../../per-prefix/enable)"; + presence "Indicates a per-link node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + must "not(../../per-link/enable)"; + presence "Indicates a per-prefix node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container prefix-suppression { + presence "Indicates a prefix-suppression node is configured."; + description + "Hide all transit addresses on this interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable prefix suppression on this interface"; + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable MPLS LDP sync"; + } + } + } + } + container virtual-links { + description + "Define a virtual link"; + list virtual-link { + key "virtual-link-address"; + description + "Define a virtual link"; + leaf virtual-link-address { + type inet:ipv4-address-no-zone; + description + "Define a virtual link"; + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + } + } + } + } + container auto-cost { + presence "Indicates a auto-cost node is configured."; + description + "Calculate interface cost according to bandwidth"; + leaf reference-bandwidth { + type uint32 { + range "1..4294967" { + description + "The reference bandwidth in terms of Mbits per second"; + } + } + description + "Specify reference bandwidth for cost computations"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Assign cost based on interface type"; + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + container always { + presence "Indicates a always node is configured."; + description + "Always advertise default route"; + } + leaf metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 metric"; + } + } + description + "OSPFv3 default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "OSPFv3 Link State type"; + } + } + description + "OSPFv3 metric type for default routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for default route"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to default-information origination"; + } + } + } + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric"; + } + } + description + "Set metric of redistributed routes"; + } + container distance { + description + "Define an administrative distance"; + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + container ospfv3 { + description + "OSPFv3 administrative distance"; + leaf intra-area { + type uint32 { + range "1..255" { + description + "Distance for intra-area routes"; + } + } + description + "Intra-area routes"; + } + leaf inter-area { + type uint32 { + range "1..255" { + description + "Distance for inter-area routes"; + } + } + description + "Inter-area routes"; + } + leaf external { + type uint32 { + range "1..255" { + description + "Distance for external type 5 and type 7 routes"; + } + } + description + "External type 5 and type 7 routes"; + } + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + container prefix-list { + description + "Filter prefixes based on an IPv6 prefix-list"; + container in { + presence "Indicates a prefix-list-name node is configured."; + description + "Filter prefixes installed to RIB"; + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + container out { + description + "Filter prefixes redistributed from RIB "; + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Prefix-list name"; + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + container bgp { + description + "BGP routes"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + } + list ospfv3 { + key "instance-name"; + description + "OSPFv3 routes"; + leaf instance-name { + type string { + length "1..1024" { + description + "OSPFv3 instance name"; + } + } + description + "OSPFv3 routes"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + list isis { + key "instance-name"; + description + "IS-IS routes"; + leaf instance-name { + type string { + length "1..1024" { + description + "IS-IS instance name"; + } + } + description + "IS-IS routes"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + list eigrp { + key "as-number"; + description + "EIGRP routes"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "EIGRP AS number"; + } + } + description + "EIGRP routes"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + } + } + } + leaf packet-size { + type uint32 { + range "256..10000" { + description + "OSPFv3 packet size limit"; + } + } + description + "Limit size of OSPFv3 packets"; + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + must "not(../../per-prefix/enable)"; + presence "Indicates a per-link node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + must "not(../../per-link/enable)"; + presence "Indicates a per-prefix node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + } + container load-sharing { + description + "Load share prefixes across multiple backups"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable load sharing"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container prefix-suppression { + presence "Indicates a prefix-suppression node is configured."; + description + "Hide all transit addresses on this interface"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "Configure LDP parameters"; + container sync { + presence "Indicates a sync node is configured."; + description + "Enable LDP IGP synchronization"; + } + } + } + container graceful-restart { + description + "Enable Graceful-Restart"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable Graceful-Restart"; + } + leaf interval { + type uint32 { + range "90..3600" { + description + "seconds"; + } + } + description + "Minimum interval between Graceful Restarts (seconds)"; + } + leaf lifetime { + type uint32 { + range "90..1800" { + description + "seconds"; + } + } + description + "Maximum route lifetime following restart (seconds)"; + } + container helper { + description + "router's helper support level"; + container disable { + presence "Indicates a disable node is configured."; + description + "router's helper support disabled"; + } + } + container strict-lsa-checking { + presence "Indicates a strict-lsa-checking node is configured."; + description + "terminate graceful restart helper mode if lsa changed"; + } + } + container ignore { + description + "Do not complain about a specified event"; + container lsa { + description + "Do not complain upon receiving LSA of the specified type"; + container mospf { + presence "Indicates a mospf node is configured."; + description + "MOSPF Type 6 LSA"; + } + } + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPFv3 broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPFv3 NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPFv3 point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPFv3 point-to-multipoint network"; + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container flood-reduction { + presence "Indicates a flood-reduction node is configured."; + description + "Enable/Disable flood reduction"; + } + container demand-circuit { + presence "Indicates a demand-circuit node is configured."; + description + "Enable/Disable demand circuit operation"; + } + container mtu-ignore { + presence "Indicates a mtu-ignore node is configured."; + description + "Enable/Disable ignoring of MTU in DBD packets"; + } + leaf instance { + type uint32 { + range "0..255" { + description + "Instance ID"; + } + } + description + "Instance ID"; + } + container database-filter { + description + "Filter LSAs during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + } + } + } + container passive { + presence "Indicates a passive node is configured."; + description + "Enable/Disable routing updates on an interface"; + } + container log { + description + "Control OSPFv3 console logging"; + container adjacency { + description + "Log adjacency state changes"; + container changes { + description + "Log changes"; + container detail { + presence "Indicates a detail node is configured."; + description + "Log all state changes"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable logging"; + } + } + } + } + container maximum { + description + "Set OSPFv3 limits"; + leaf interfaces { + type uint32 { + range "1..4294967295" { + description + "Maximum number of interfaces"; + } + } + description + "Limit number of interfaces"; + } + leaf paths { + type uint32 { + range "1..64" { + description + "Maximum number of paths per route"; + } + } + description + "Limit number of paths"; + } + container redistributed-prefixes { + presence "Indicates a redistributed-prefixes node is configured."; + description + "Limit number of redistributed prefixes"; + leaf prefixes { + type uint32 { + range "1..4294967295" { + description + "Maximum number of prefixes redistributed into OSPFv3"; + } + } + mandatory true; + description + "Limit number of redistributed prefixes"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container bgp { + description + "BGP routes"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container preserve-med { + presence "Indicates a preserve-med node is configured."; + description + "Preserve med of BGP routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + container match { + description + "Redistribution of EIGRP routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + list isis { + key "instance-name"; + description + "IS-IS routes"; + leaf instance-name { + type string { + length "1..1024" { + description + "IS-IS instance name"; + } + } + description + "IS-IS routes"; + } + container level-1 { + presence "Indicates a level-1 node is configured."; + description + "IS-IS level-1 routes only"; + } + container level-1-2 { + presence "Indicates a level-1-2 node is configured."; + description + "IS-IS level-1 and level-2 routes"; + } + container level-2 { + presence "Indicates a level-2 node is configured."; + description + "IS-IS level-2 routes only"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container applications { + description + "Application routes"; + list application { + key "application-name"; + description + "Application routes"; + leaf application-name { + type string { + length "1..1024" { + description + "OnePK Application name"; + } + } + description + "Application routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + } + list ospfv3 { + key "process-name"; + description + "OSPFv3 routes"; + leaf process-name { + type string { + length "1..1024" { + description + "OSPFv3 process name"; + } + } + description + "OSPFv3 routes"; + } + container match { + description + "Redistribution of OSPFv3 routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPFv3 internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPFv3 external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPFv3 NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Specify the router-id for this OSPFv3 process"; + } + container spf { + description + "SPF configuration"; + container prefix-priority { + description + "Configure SPF prefix priority route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy to prioritize route install"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable SPF prefix priority"; + } + } + } + container stub-router { + description + "Enter stub router configuration submode"; + container router-lsa { + description + "Modify self originated router LSAs"; + container r-bit { + presence "Indicates a r-bit node is configured."; + description + "advertise LSAs with R-bit cleared"; + container always { + presence "Indicates a always node is configured."; + description + "Force ospfv3 stub router mode unconditionally"; + } + leaf on-proc-restart { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process restart"; + } + leaf on-proc-migration { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process migration"; + } + container on-startup { + description + "Enter stub router mode on startup"; + container wait-for-bgp { + must "not(../stay-in-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Exit stub router mode when BGP converges"; + } + leaf stay-in-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to stay in stub router mode"; + } + } + leaf on-switchover { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on RP switchover"; + } + } + container v6-bit { + presence "Indicates a v6-bit node is configured."; + description + "advertise LSAs with V6-bit cleared"; + container always { + presence "Indicates a always node is configured."; + description + "Force ospfv3 stub router mode unconditionally"; + } + leaf on-proc-restart { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process restart"; + } + leaf on-proc-migration { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process migration"; + } + container on-startup { + description + "Enter stub router mode on startup"; + container wait-for-bgp { + must "not(../stay-in-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Exit stub router mode when BGP converges"; + } + leaf stay-in-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to stay in stub router mode"; + } + } + leaf on-switchover { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on RP switchover"; + } + } + container max-metric { + presence "Indicates a max-metric node is configured."; + description + "advertise LSAs with maximum metric"; + container always { + presence "Indicates a always node is configured."; + description + "Force ospfv3 stub router mode unconditionally"; + } + leaf on-proc-restart { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process restart"; + } + leaf on-proc-migration { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process migration"; + } + container on-startup { + description + "Enter stub router mode on startup"; + container wait-for-bgp { + must "not(../stay-in-time)"; + presence "Indicates a wait-for-bgp node is configured."; + description + "Exit stub router mode when BGP converges"; + } + leaf stay-in-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + must "not(../wait-for-bgp)"; + description + "Time in seconds to stay in stub router mode"; + } + } + leaf on-switchover { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on RP switchover"; + } + leaf external-lsa { + type union { + type uint32 { + range "16711680" { + description + "Use default metric"; + } + } + type uint32 { + range "1..16777214" { + description + "Metric to use while in stub router mode"; + } + } + } + description + "Override External LSA metric in stub router mode"; + } + leaf summary-lsa { + type union { + type uint32 { + range "16711680" { + description + "Use default metric"; + } + } + type uint32 { + range "1..16777214" { + description + "Metric to use while in stub router mode"; + } + } + } + description + "Override Summary LSA metric in stub router mode"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in stub router mode"; + } + } + } + } + container summary-prefixes { + description + "Summarize redistributed routes matching prefix/length"; + list summary-prefix { + key "prefix prefix-length"; + description + "Summarize redistributed routes matching prefix/length"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Summarize redistributed routes matching prefix/length"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Summarize redistributed routes matching prefix/length"; + } + container not-advertise { + presence "Indicates a not-advertise node is configured."; + description + "Suppress routes matching prefix/length"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "32-bit tag value"; + } + } + description + "32-bit tag value"; + } + } + } + container timers { + description + "Adjust routing timers"; + container lsa { + description + "LSA timers"; + leaf arrival { + type uint32 { + range "0..60000" { + description + "The minimum interval in milliseconds between accepting the same LSA"; + } + } + description + "LSA arrival timer"; + } + } + container pacing { + description + "Pacing timers"; + leaf flood { + type uint32 { + range "5..100" { + description + "The minimum interval in msec to pace limit flooding on interface"; + } + } + description + "Flood pacing timer"; + } + leaf lsa-group { + type uint32 { + range "10..1800" { + description + "Interval in seconds at which LSAs are grouped and refreshed, checksummed, or aged"; + } + } + description + "LSA group pacing timer"; + } + leaf retransmission { + type uint32 { + range "5..100" { + description + "The minimum interval in msec between neighbor retransmissions"; + } + } + description + "Retransmission pacing timer"; + } + } + container throttle { + description + "Throttle timers"; + container lsa { + description + "LSA throttle timers"; + container all { + presence "Indicates a all node is configured."; + description + "For all types of OSPF LSAs"; + leaf initial-delay { + type uint32 { + range "0..600000" { + description + "Delay to generate first occurrence of LSA in milliseconds"; + } + } + mandatory true; + description + "For all types of OSPF LSAs"; + } + leaf minimum-delay { + type uint32 { + range "1..600000" { + description + "Minimum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Minimum delay between originating the same LSA in milliseconds"; + } + leaf maximum-delay { + type uint32 { + range "1..600000" { + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + } + container spf { + presence "Indicates a spf node is configured."; + description + "SPF throttle timers"; + leaf initial-delay { + type uint32 { + range "1..600000" { + description + "Initial delay between receiving a change and starting SPF in ms"; + } + } + mandatory true; + description + "SPF throttle timers"; + } + leaf minimum-hold-time { + type uint32 { + range "1..600000" { + description + "Minimum hold time between consecutive SPF calculations in ms"; + } + } + mandatory true; + description + "Minimum hold time between consecutive SPF calculations in ms"; + } + leaf maximum-wait-time { + type uint32 { + range "1..600000" { + description + "Maximum wait time between consecutive SPF calculations in ms"; + } + } + mandatory true; + description + "Maximum wait time between consecutive SPF calculations in ms"; + } + } + } + } + container snmp { + description + "SNMP configuration"; + leaf context { + type string { + length "1..32" { + description + "SNMP context name"; + } + } + description + "Specified SNMP context for OSPFv3 instance"; + } + container trap { + presence "Indicates a trap node is configured."; + description + "Enable SNMP trap for OSPFv3 instance"; + leaf rate-limit { + type uint32 { + range "2..60" { + description + "Trap rate limit sliding window size"; + } + } + mandatory true; + description + "Adjust trap rate-limit parameters"; + } + leaf max-traps { + type uint32 { + range "0..300" { + description + "Max number of traps sent in window time"; + } + } + mandatory true; + description + "Max number of traps sent in window time"; + } + } + } + container vrfs { + description + "Enter the OSPFv3 vrf configuration submode"; + list vrf { + key "vrf-name"; + description + "Name for this OSPFV3 vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name for this OSPFV3 vrf (must not be 'default')"; + } + } + description + "Name for this OSPFV3 vrf"; + } + container domain-id { + description + "Specify domain id"; + leaf type { + type enumeration { + enum "0005" { + value 5; + description + " Type 0x0005"; + } + enum "0105" { + value 261; + description + " Type 0x0105"; + } + enum "0205" { + value 517; + description + " Type 0x0205"; + } + } + description + "Primary OSPF domain ID type in Hex format"; + } + leaf value { + type string { + length "1..1024" { + description + "OSPF domain ID ext. community value in Hex (6 octets)"; + } + } + description + "OSPF domain ID value in Hex format"; + } + container secondaries { + description + "OSPF secondary domain-id"; + list secondary { + key "type value"; + description + "OSPF secondary domain-id"; + leaf type { + type enumeration { + enum "0005" { + value 5; + description + " Type 0x0005"; + } + enum "0105" { + value 261; + description + " Type 0x0105"; + } + enum "0205" { + value 517; + description + " Type 0x0205"; + } + } + description + "OSPF domain ID type in Hex format"; + } + leaf value { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "OSPF domain ID ext. community value in Hex (6 octets)"; + } + } + description + "OSPF domain ID value in Hex format"; + } + } + } + } + container capability { + description + "Enable specific OSPFv3 feature"; + container vrf-lite { + presence "Indicates a vrf-lite node is configured."; + description + "Enable VRF-lite support"; + } + container type7 { + description + "NSSA capability"; + container prefer { + presence "Indicates a prefer node is configured."; + description + "Prefer type7 externals over type5"; + } + container translate { + description + "Translate type7 to type5"; + container zero-forward-addr { + presence "Indicates a zero-forward-addr node is configured."; + description + "Translate Type 7 LSAs without forwarding address"; + } + } + } + container lls { + description + "LLS capability"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable LLS capability"; + } + } + } + container areas { + description + "Enter the OSPFv3 area configuration submode"; + list area { + key "area-id"; + description + "Enter the OSPFv3 area configuration submode"; + leaf area-id { + type xr:Ospf-area-id; + description + "Enter the OSPFv3 area configuration submode"; + } + leaf default-cost { + type uint32 { + range "0..16777215" { + description + "Stub's advertised external route metric"; + } + } + description + "Set the summary default-cost of a NSSA/stub area"; + } + container nssa { + presence "Indicates a nssa node is configured."; + description + "Specify area as an NSSA area"; + container no-redistribution { + presence "Indicates a no-redistribution node is configured."; + description + "No redistribution into this NSSA area"; + } + container default-information-originate { + presence "Indicates a default-information-originate node is configured."; + description + "Originate Type 7 default into NSSA area"; + leaf metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 metric"; + } + } + description + "OSPFv3 default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "OSPFv3 Link State type"; + } + } + description + "OSPFv3 metric type for default routes"; + } + } + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSA into NSSA"; + } + } + container nssa-translate { + description + "Translate NSSA LSA"; + container type7 { + description + "Translate type 7 to type 5"; + container always { + presence "Indicates a always node is configured."; + description + "Always translate NSSA LSAs on this ABR"; + } + } + } + container ranges { + description + "Summarize inter-area routes matching prefix/length"; + list range { + must "advertise or not-advertise"; + key "prefix prefix-length"; + description + "Summarize inter-area routes matching prefix/length"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Summarize inter-area routes matching prefix/length"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Summarize inter-area routes matching prefix/length"; + } + leaf cost { + type uint32 { + range "1..16777214" { + description + "Advertised metric for this range"; + } + } + description + "User specified metric for this range"; + } + container advertise { + presence "Indicates a advertise node is configured."; + description + "Advertise this range (default)"; + } + container not-advertise { + presence "Indicates a not-advertise node is configured."; + description + "Do not advertise this range"; + } + } + } + container stub { + presence "Indicates a stub node is configured."; + description + "Specify area as a stub area"; + container no-summary { + presence "Indicates a no-summary node is configured."; + description + "Do not send summary LSAs into stub area"; + } + } + container interfaces { + description + "Enable OSPFv3 on an interface"; + list interface { + key "interface-name"; + description + "Enable OSPFv3 on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Enable OSPFv3 on an interface"; + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPFv3 broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPFv3 NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPFv3 point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPFv3 point-to-multipoint network"; + } + } + container cost { + description + "Interface cost"; + leaf cost { + type uint32 { + range "0..65535" { + description + "Cost"; + } + } + description + "Cost"; + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container flood-reduction { + presence "Indicates a flood-reduction node is configured."; + description + "Enable/Disable flood reduction"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flood reduction"; + } + } + container demand-circuit { + presence "Indicates a demand-circuit node is configured."; + description + "Enable/Disable demand circuit operation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable demand circuit operation"; + } + } + container mtu-ignore { + presence "Indicates a mtu-ignore node is configured."; + description + "Enable/Disable ignoring of MTU in DBD packets"; + container disable { + presence "Indicates a disable node is configured."; + description + "Validate the MTU in DBD packets"; + } + } + leaf instance { + type uint32 { + range "0..255" { + description + "Instance ID"; + } + } + description + "Instance ID"; + } + container database-filter { + description + "Filter LSAs during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + presence "Indicates a passive node is configured."; + description + "Enable/Disable routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable routing updates on an interface"; + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Prefix-list name"; + } + } + leaf packet-size { + type uint32 { + range "256..10000" { + description + "OSPFv3 packet size limit"; + } + } + description + "Limit size of OSPFv3 packets"; + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + must "not(../../per-prefix/enable)"; + presence "Indicates a per-link node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + must "not(../../per-link/enable)"; + presence "Indicates a per-prefix node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container prefix-suppression { + presence "Indicates a prefix-suppression node is configured."; + description + "Hide all transit addresses on this interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable prefix suppression on this interface"; + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container advertise { + description + "Conditionally advertise"; + container prefix { + description + "Conditionally advertise this prefix"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy for conditional advertising"; + } + } + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "neighbor-address"; + description + "Specify a neighbor router"; + leaf neighbor-address { + type inet:ipv6-address-no-zone; + description + "Specify a neighbor router"; + } + leaf zone { + type string; + default "0"; + description + "IPv6 address zone"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "OSPFv3 priority of non-broadcast neighbor"; + } + leaf poll-interval { + type uint32 { + range "0..65535" { + description + "Seconds"; + } + } + description + "OSPFv3 dead-router polling interval"; + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Metric"; + } + } + description + "OSPFv3 cost for point-to-multipoint neighbor"; + } + container database-filter { + description + "Filter OSPFv3 LSA during synchronization and flooding for point-to-multipoint neighbor"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + } + } + } + } + } + } + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPFv3 broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPFv3 NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPFv3 point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPFv3 point-to-multipoint network"; + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container flood-reduction { + presence "Indicates a flood-reduction node is configured."; + description + "Enable/Disable flood reduction"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable flood reduction"; + } + } + container demand-circuit { + presence "Indicates a demand-circuit node is configured."; + description + "Enable/Disable demand circuit operation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable demand circuit operation"; + } + } + container mtu-ignore { + presence "Indicates a mtu-ignore node is configured."; + description + "Enable/Disable ignoring of MTU in DBD packets"; + container disable { + presence "Indicates a disable node is configured."; + description + "Validate the MTU in DBD packets"; + } + } + leaf instance { + type uint32 { + range "0..255" { + description + "Instance ID"; + } + } + description + "Instance ID"; + } + container database-filter { + description + "Filter LSAs during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable filtering"; + } + } + } + } + container passive { + presence "Indicates a passive node is configured."; + description + "Enable/Disable routing updates on an interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable routing updates on an interface"; + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + leaf prefix-list { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Prefix-list name"; + } + } + leaf packet-size { + type uint32 { + range "256..10000" { + description + "OSPFv3 packet size limit"; + } + } + description + "Limit size of OSPFv3 packets"; + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + must "not(../../per-prefix/enable)"; + presence "Indicates a per-link node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + must "not(../../per-link/enable)"; + presence "Indicates a per-prefix node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container prefix-suppression { + presence "Indicates a prefix-suppression node is configured."; + description + "Hide all transit addresses on this interface"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable prefix suppression on this interface"; + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Prevent bfd settings from being inherited from the parent"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container virtual-links { + description + "Define a virtual link"; + list virtual-link { + key "virtual-link-address"; + description + "Define a virtual link"; + leaf virtual-link-address { + type inet:ipv4-address-no-zone; + description + "Define a virtual link"; + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + } + } + container sham-links { + description + "Define a sham link"; + list sham-link { + key "local-address remote-address"; + description + "Define a sham link"; + leaf local-address { + type inet:ipv6-address-no-zone; + description + "Address of the local sham-link end-point"; + } + leaf remote-address { + type inet:ipv6-address-no-zone; + description + "Address of the remote sham-link endpoint"; + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Sham-link cost"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + } + } + } + } + container auto-cost { + presence "Indicates a auto-cost node is configured."; + description + "Calculate interface cost according to bandwidth"; + leaf reference-bandwidth { + type uint32 { + range "1..4294967" { + description + "The reference bandwidth in terms of Mbits per second"; + } + } + description + "Specify reference bandwidth for cost computations"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Assign cost based on interface type"; + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + container always { + presence "Indicates a always node is configured."; + description + "Always advertise default route"; + } + leaf metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 metric"; + } + } + description + "OSPFv3 default metric"; + } + leaf metric-type { + type uint32 { + range "1..2" { + description + "OSPFv3 Link State type"; + } + } + description + "OSPFv3 metric type for default routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for default route"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to default-information origination"; + } + } + } + leaf default-metric { + type uint32 { + range "1..16777214" { + description + "Default metric"; + } + } + description + "Set metric of redistributed routes"; + } + container distance { + description + "Define an administrative distance"; + leaf administrative-distance { + type uint32 { + range "1..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + container ospfv3 { + description + "OSPFv3 administrative distance"; + leaf intra-area { + type uint32 { + range "1..255" { + description + "Distance for intra-area routes"; + } + } + description + "Intra-area routes"; + } + leaf inter-area { + type uint32 { + range "1..255" { + description + "Distance for inter-area routes"; + } + } + description + "Inter-area routes"; + } + leaf external { + type uint32 { + range "1..255" { + description + "Distance for external type 5 and type 7 routes"; + } + } + description + "External type 5 and type 7 routes"; + } + } + } + container distribute-list { + description + "Filter prefixes to/from RIB"; + container prefix-list { + description + "Filter prefixes based on an IPv6 prefix-list"; + container in { + presence "Indicates a prefix-list-name node is configured."; + description + "Filter prefixes installed to RIB"; + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + container out { + description + "Filter prefixes redistributed from RIB "; + leaf prefix-list-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Prefix-list name"; + } + } + description + "Prefix-list name"; + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + container bgp { + description + "BGP routes"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + } + list ospfv3 { + key "instance-name"; + description + "OSPFv3 routes"; + leaf instance-name { + type string { + length "1..1024" { + description + "OSPFv3 instance name"; + } + } + description + "OSPFv3 routes"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + list isis { + key "instance-name"; + description + "IS-IS routes"; + leaf instance-name { + type string { + length "1..1024" { + description + "IS-IS instance name"; + } + } + description + "IS-IS routes"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + list eigrp { + key "as-number"; + description + "EIGRP routes"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "EIGRP AS number"; + } + } + description + "EIGRP routes"; + } + leaf prefix-list-name { + type string { + length "1..1024" { + description + "Prefix-list name"; + } + } + mandatory true; + description + "Prefix-list name"; + } + } + } + } + } + leaf packet-size { + type uint32 { + range "256..10000" { + description + "OSPFv3 packet size limit"; + } + } + description + "Limit size of OSPFv3 packets"; + } + container fast-reroute { + description + "IP Fast Reroute"; + container per-link { + description + "Per-link Computation"; + container enable { + must "not(../../per-prefix/enable)"; + presence "Indicates a per-link node is configured."; + description + "Enable per-link Computation"; + } + container exclude { + description + "Per-link LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-link LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-link LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-link LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + } + container per-prefix { + description + "Per-prefix Computation"; + container enable { + must "not(../../per-link/enable)"; + presence "Indicates a per-prefix node is configured."; + description + "Enable per-prefix Computation"; + } + container exclude { + description + "Per-prefix LFA exclusion information"; + container interfaces { + description + "Exclude an interface from Per-prefix LFA"; + list interface { + key "interface-name"; + description + "Exclude an interface from Per-prefix LFA"; + leaf interface-name { + type xr:Interface-name; + description + "Exclude an interface from Per-prefix LFA"; + } + } + } + } + container lfa-candidate { + description + "FRR LFA candidate information"; + container interfaces { + description + "Include an interface to LFA candidate in computation"; + list interface { + key "interface-name"; + description + "Include an interface to LFA candidate in computation"; + leaf interface-name { + type xr:Interface-name; + description + "Include an interface to LFA candidate in computation"; + } + } + } + } + container use-candidate-only { + description + "Enable/Disable backup selection from candidate-list only"; + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable backup selection from candidate-list only"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable backup selection from candidate-list only"; + } + } + container priority-limit { + description + "Limit backup computation upto the prefix priority"; + container critical { + presence "Indicates a critical node is configured."; + description + "Compute for critical priority prefixes only"; + } + container high { + presence "Indicates a high node is configured."; + description + "Compute for critical & high priority prefixes "; + } + container medium { + presence "Indicates a medium node is configured."; + description + "Compute for critical, high & medium priority prefixes "; + } + } + container tiebreaker { + description + "Configure tiebreaker for multiple backups"; + container downstream { + description + "Prefer backup path via downstream node"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container lc-disjoint { + description + "Prefer line card disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container lowest-backup-metric { + description + "Prefer backup path with lowest total metric"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container node-protecting { + description + "Prefer node protecting backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container primary-path { + description + "Prefer backup path from ECMP set"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container secondary-path { + description + "Prefer non-ECMP backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + container srlg-disjoint { + description + "Prefer SRLG disjoint backup path"; + leaf index { + type uint32 { + range "1..255" { + description + "Index"; + } + } + description + "Set preference order among tiebreakers"; + } + } + } + container load-sharing { + description + "Load share prefixes across multiple backups"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable load sharing"; + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Fast Reroute"; + } + } + container prefix-suppression { + presence "Indicates a prefix-suppression node is configured."; + description + "Hide all transit addresses on this interface"; + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + container strict-mode { + presence "Indicates a strict-mode node is configured."; + description + "Hold down neighbor session until BFD session is up"; + } + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "minimum interval in milli-seconds"; + } + } + description + "Minimum interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container graceful-restart { + description + "Enable Graceful-Restart"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable Graceful-Restart"; + } + leaf interval { + type uint32 { + range "90..3600" { + description + "seconds"; + } + } + description + "Minimum interval between Graceful Restarts (seconds)"; + } + leaf lifetime { + type uint32 { + range "90..1800" { + description + "seconds"; + } + } + description + "Maximum route lifetime following restart (seconds)"; + } + container helper { + description + "router's helper support level"; + container disable { + presence "Indicates a disable node is configured."; + description + "router's helper support disabled"; + } + } + container strict-lsa-checking { + presence "Indicates a strict-lsa-checking node is configured."; + description + "terminate graceful restart helper mode if lsa changed"; + } + } + container ignore { + description + "Do not complain about a specified event"; + container lsa { + description + "Do not complain upon receiving LSA of the specified type"; + container mospf { + presence "Indicates a mospf node is configured."; + description + "MOSPF Type 6 LSA"; + } + } + } + container authentication { + must "disable or ipsec/spi"; + presence "Indicates a authentication node is configured."; + description + "Authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not authenticate OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec AH authentication"; + container spi { + must "not(../../disable) and ((md5/password/encrypted and not(sha1/password/encrypted)) or (sha1/password/encrypted and not(md5/password/encrypted)))"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container md5 { + description + "Use the MD5 algorithim"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Encrypted key"; + } + } + } + } + } + } + container encryption { + must "disable or ipsec/spi"; + presence "Indicates a encryption node is configured."; + description + "Encrypt and authenticate OSPFv3 packets"; + container disable { + must "not(../ipsec/spi)"; + presence "Indicates a disable node is configured."; + description + "Do not encrypt OSPFv3 packets"; + } + container ipsec { + description + "Use IPSec ESP encryption and authentication"; + container spi { + must "not(../../disable) and (esp/null or esp/des/password/encrypted or esp/triple-des/password/encrypted or esp/aes/password/encrypted or esp/aes/aes-192/password/encrypted or esp/aes/aes-256/password/encrypted)"; + presence "Indicates a spi node is configured."; + description + "Specify the Security Parameter Index value"; + leaf spi-index { + type uint32 { + range "256..4294967295" { + description + "Security Parameter Index value"; + } + } + mandatory true; + description + "Specify the Security Parameter Index value"; + } + container esp { + description + "Specify encryption parameters"; + container null { + must "../authentication and not(../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted)"; + presence "Indicates a null node is configured."; + description + "Use NULL encryption"; + } + container des { + description + "Use the DES algorithim. Encrypted DES key (34 hex digits)"; + container password { + description + "Enter DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../triple-des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container triple-des { + description + "Use the triple DES algorithim. Encrypted 3DES key (48 hex digits)"; + container password { + description + "Enter 3DES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../aes/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes { + description + "Use the AES algorithim. Encrypted AES key (32 hex digits)"; + container password { + description + "Enter AES key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../null or ../../../des/password/encrypted or ../../../triple-des/password/encrypted or ../../../aes/aes-192/password/encrypted or ../../../aes/aes-256/password/encrypted)"; + } + } + container aes-192 { + description + "Use the 192-bit AES algorithim. Encrypted AES-192 key (48 hex digits)"; + container password { + description + "Enter AES-192 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-256/password/encrypted)"; + } + } + } + container aes-256 { + description + "Use the 256-bit AES algorithim. Encrypted AES-256 key (64 hex digits)"; + container password { + description + "Enter AES-256 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + must "not(../../../../null or ../../../../des/password/encrypted or ../../../../triple-des/password/encrypted or ../../../../aes/password/encrypted or ../../../../aes/aes-192/password/encrypted)"; + } + } + } + } + container authentication { + must "(../null or ../des/password/encrypted or ../triple-des/password/encrypted or ../aes/password/encrypted or ../aes/aes-192/password/encrypted or ../aes/aes-256/password/encrypted) and ((md5/password/encrypted and not(sha1/password/encrypted or null)) or (sha1/password/encrypted and not(md5/password/encrypted or null)) or (null and not(md5/password/encrypted or sha1/password/encrypted)))"; + presence "Indicates a authentication node is configured."; + description + "Specify authentication parameters"; + container md5 { + description + "Use the MD5 algorithim. Encrypted MD5 key (32 hex digits)"; + container password { + description + "Enter MD5 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container sha1 { + description + "Use the SHA1 algorithim. Encrypted SHA1 key (40 hex digits)"; + container password { + description + "Enter SHA1 key in encrypted form"; + leaf encrypted { + type xr:Proprietary-password; + description + "Enter key in encrypted form"; + } + } + } + container null { + must "not(../../null)"; + presence "Indicates a null node is configured."; + description + "Use NULL authentication"; + } + } + } + } + } + } + container network { + description + "Network type"; + container broadcast { + presence "Indicates a broadcast node is configured."; + description + "Specify OSPFv3 broadcast multi-access network"; + } + container non-broadcast { + presence "Indicates a non-broadcast node is configured."; + description + "Specify OSPFv3 NBMA network"; + } + container point-to-point { + presence "Indicates a point-to-point node is configured."; + description + "Specify OSPFv3 point-to-point network"; + } + container point-to-multipoint { + presence "Indicates a point-to-multipoint node is configured."; + description + "Specify OSPFv3 point-to-multipoint network"; + } + } + leaf cost { + type uint32 { + range "1..65535" { + description + "Cost"; + } + } + description + "Interface cost"; + } + leaf hello-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Time between HELLO packets"; + } + leaf dead-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Interval after which a neighbor is declared dead"; + } + leaf priority { + type uint32 { + range "0..255" { + description + "Priority"; + } + } + description + "Router priority"; + } + leaf retransmit-interval { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Delay between LSA retransmissions"; + } + leaf transmit-delay { + type uint32 { + range "1..65535" { + description + "Seconds"; + } + } + description + "Link state transmit delay"; + } + container flood-reduction { + presence "Indicates a flood-reduction node is configured."; + description + "Enable/Disable flood reduction"; + } + container demand-circuit { + presence "Indicates a demand-circuit node is configured."; + description + "Enable/Disable demand circuit operation"; + } + container mtu-ignore { + presence "Indicates a mtu-ignore node is configured."; + description + "Enable/Disable ignoring of MTU in DBD packets"; + } + leaf instance { + type uint32 { + range "0..255" { + description + "Instance ID"; + } + } + description + "Instance ID"; + } + container database-filter { + description + "Filter LSAs during synchronization and flooding"; + container all { + description + "Filter all LSA"; + container out { + presence "Indicates a out node is configured."; + description + "Outgoing LSA"; + } + } + } + container passive { + presence "Indicates a passive node is configured."; + description + "Enable/Disable routing updates on an interface"; + } + container log { + description + "Control OSPFv3 console logging"; + container adjacency { + description + "Log adjacency state changes"; + container changes { + description + "Log changes"; + container detail { + presence "Indicates a detail node is configured."; + description + "Log all state changes"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable logging"; + } + } + } + } + container maximum { + description + "Set OSPFv3 limits"; + leaf interfaces { + type uint32 { + range "1..4294967295" { + description + "Maximum number of interfaces"; + } + } + description + "Limit number of interfaces"; + } + leaf paths { + type uint32 { + range "1..64" { + description + "Maximum number of paths per route"; + } + } + description + "Limit number of paths"; + } + container redistributed-prefixes { + presence "Indicates a redistributed-prefixes node is configured."; + description + "Limit number of redistributed prefixes"; + leaf prefixes { + type uint32 { + range "1..4294967295" { + description + "Maximum number of prefixes redistributed into OSPFv3"; + } + } + mandatory true; + description + "Limit number of redistributed prefixes"; + } + leaf threshold { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which to generate a warning msg"; + } + container warning-only { + presence "Indicates a warning-only node is configured."; + description + "Only give warning message when limit is exceeded"; + } + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container connected { + presence "Indicates a connected node is configured."; + description + "Connected routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container subscriber { + presence "Indicates a subscriber node is configured."; + description + "Subscriber routes"; + container metric { + description + "Metric for redistributed routes"; + leaf ospfv3-default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container mobile { + presence "Indicates a mobile node is configured."; + description + "Mobile routes"; + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + container applications { + description + "Application routes"; + list application { + key "application-name"; + description + "Application routes"; + leaf application-name { + type string { + length "1..1024" { + description + "OnePK Application name"; + } + } + description + "Application routes"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + } + container bgp { + description + "BGP routes"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + container preserve-med { + presence "Indicates a preserve-med node is configured."; + description + "Preserve med of BGP routes"; + } + container preserve-bgp-default-info { + presence "Indicates a preserve-bgp-default-info node is configured."; + description + "Preserve metric and metric-type of BGP default route"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + container match { + description + "Redistribution of EIGRP routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute EIGRP internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute EIGRP external routes"; + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + list isis { + key "instance-name"; + description + "IS-IS routes"; + leaf instance-name { + type string { + length "1..1024" { + description + "IS-IS instance name"; + } + } + description + "IS-IS routes"; + } + container level-1 { + presence "Indicates a level-1 node is configured."; + description + "IS-IS level-1 routes only"; + } + container level-1-2 { + presence "Indicates a level-1-2 node is configured."; + description + "IS-IS level-1 and level-2 routes"; + } + container level-2 { + presence "Indicates a level-2 node is configured."; + description + "IS-IS level-2 routes only"; + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + list ospfv3 { + key "process-name"; + description + "OSPFv3 routes"; + leaf process-name { + type string { + length "1..1024" { + description + "OSPFv3 process name"; + } + } + description + "OSPFv3 routes"; + } + container match { + description + "Redistribution of OSPFv3 routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPFv3 internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPFv3 external routes"; + container one { + presence "Indicates a two node is configured."; + description + "Redistribute external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPFv3 NSSA external routes"; + container one { + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + container metric { + description + "Metric for redistributed routes"; + leaf default-metric { + type uint32 { + range "0..16777214" { + description + "OSPFv3 default metric"; + } + } + description + "OSPFv3 default metric"; + } + container use-rib-metric { + presence "Indicates a use-rib-metric node is configured."; + description + "Use metric from RIB"; + } + } + leaf metric-type { + type enumeration { + enum "1" { + value 1; + description + "Set OSPFv3 External Type 1 metrics"; + } + enum "2" { + value 2; + description + "Set OSPFv3 External Type 2 metrics"; + } + } + description + "OSPFv3 exterior metric type for redistributed routes"; + } + leaf tag { + type uint32 { + range "0..4294967295" { + description + "32-bit tag value"; + } + } + description + "Set tag for routes redistributed into OSPFv3"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route-policy to redistribution"; + } + } + } + leaf router-id { + type inet:ipv4-address-no-zone; + description + "Specify the router-id for this OSPFv3 process"; + } + container spf { + description + "SPF configuration"; + container prefix-priority { + description + "Configure SPF prefix priority route policy"; + leaf route-policy { + type xr:Route-policy-name; + description + "Specify the route-policy to prioritize route install"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable SPF prefix priority"; + } + } + } + container stub-router { + description + "Enter stub router configuration submode"; + container router-lsa { + description + "Modify self originated router LSAs"; + container r-bit { + presence "Indicates a r-bit node is configured."; + description + "advertise LSAs with R-bit cleared"; + container always { + presence "Indicates a always node is configured."; + description + "Force ospfv3 stub router mode unconditionally"; + } + leaf on-proc-restart { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process restart"; + } + leaf on-proc-migration { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process migration"; + } + container on-startup { + description + "Enter stub router mode on startup"; + leaf stay-in-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Time in seconds to stay in stub router mode"; + } + } + leaf on-switchover { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on RP switchover"; + } + } + container v6-bit { + presence "Indicates a v6-bit node is configured."; + description + "advertise LSAs with V6-bit cleared"; + container always { + presence "Indicates a always node is configured."; + description + "Force ospfv3 stub router mode unconditionally"; + } + leaf on-proc-restart { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process restart"; + } + leaf on-proc-migration { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process migration"; + } + container on-startup { + description + "Enter stub router mode on startup"; + leaf stay-in-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Time in seconds to stay in stub router mode"; + } + } + leaf on-switchover { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on RP switchover"; + } + } + container max-metric { + presence "Indicates a max-metric node is configured."; + description + "advertise LSAs with maximum metric"; + container always { + presence "Indicates a always node is configured."; + description + "Force ospfv3 stub router mode unconditionally"; + } + leaf on-proc-restart { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process restart"; + } + leaf on-proc-migration { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on ospfv3 process migration"; + } + container on-startup { + description + "Enter stub router mode on startup"; + leaf stay-in-time { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Time in seconds to stay in stub router mode"; + } + } + leaf on-switchover { + type uint32 { + range "5..86400" { + description + "Time in seconds to stay in stub router mode"; + } + } + description + "Enter stub router mode on RP switchover"; + } + leaf external-lsa { + type union { + type uint32 { + range "16711680" { + description + "Use default metric"; + } + } + type uint32 { + range "1..16777214" { + description + "Metric to use while in stub router mode"; + } + } + } + description + "Override External LSA metric in stub router mode"; + } + leaf summary-lsa { + type union { + type uint32 { + range "16711680" { + description + "Use default metric"; + } + } + type uint32 { + range "1..16777214" { + description + "Metric to use while in stub router mode"; + } + } + } + description + "Override Summary LSA metric in stub router mode"; + } + container include-stub { + presence "Indicates a include-stub node is configured."; + description + "Set maximum metric for stub links in stub router mode"; + } + } + } + } + container summary-prefixes { + description + "Summarize redistributed routes matching prefix/length"; + list summary-prefix { + key "prefix prefix-length"; + description + "Summarize redistributed routes matching prefix/length"; + leaf prefix { + type inet:ipv6-address-no-zone; + description + "Summarize redistributed routes matching prefix/length"; + } + leaf prefix-length { + type xr:Ipv6-prefix-length; + description + "Summarize redistributed routes matching prefix/length"; + } + container not-advertise { + presence "Indicates a not-advertise node is configured."; + description + "Suppress routes matching prefix/length"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "32-bit tag value"; + } + } + description + "32-bit tag value"; + } + } + } + container timers { + description + "Adjust routing timers"; + container lsa { + description + "LSA timers"; + leaf arrival { + type uint32 { + range "0..60000" { + description + "The minimum interval in milliseconds between accepting the same LSA"; + } + } + description + "LSA arrival timer"; + } + } + container pacing { + description + "Pacing timers"; + leaf flood { + type uint32 { + range "5..100" { + description + "The minimum interval in msec to pace limit flooding on interface"; + } + } + description + "Flood pacing timer"; + } + leaf lsa-group { + type uint32 { + range "10..1800" { + description + "Interval in seconds at which LSAs are grouped and refreshed, checksummed, or aged"; + } + } + description + "LSA group pacing timer"; + } + leaf retransmission { + type uint32 { + range "5..100" { + description + "The minimum interval in msec between neighbor retransmissions"; + } + } + description + "Retransmission pacing timer"; + } + } + container throttle { + description + "Throttle timers"; + container lsa { + description + "LSA throttle timers"; + container all { + presence "Indicates a all node is configured."; + description + "For all types of OSPF LSAs"; + leaf initial-delay { + type uint32 { + range "0..600000" { + description + "Delay to generate first occurrence of LSA in milliseconds"; + } + } + mandatory true; + description + "For all types of OSPF LSAs"; + } + leaf minimum-delay { + type uint32 { + range "1..600000" { + description + "Minimum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Minimum delay between originating the same LSA in milliseconds"; + } + leaf maximum-delay { + type uint32 { + range "1..600000" { + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + mandatory true; + description + "Maximum delay between originating the same LSA in milliseconds"; + } + } + } + container spf { + presence "Indicates a spf node is configured."; + description + "SPF throttle timers"; + leaf initial-delay { + type uint32 { + range "1..600000" { + description + "Initial delay between receiving a change and starting SPF in ms"; + } + } + mandatory true; + description + "SPF throttle timers"; + } + leaf minimum-hold-time { + type uint32 { + range "1..600000" { + description + "Minimum hold time between consecutive SPF calculations in ms"; + } + } + mandatory true; + description + "Minimum hold time between consecutive SPF calculations in ms"; + } + leaf maximum-wait-time { + type uint32 { + range "1..600000" { + description + "Maximum wait time between consecutive SPF calculations in ms"; + } + } + mandatory true; + description + "Maximum wait time between consecutive SPF calculations in ms"; + } + } + } + } + container snmp { + description + "SNMP configuration"; + leaf context { + type string { + length "1..32" { + description + "SNMP context name"; + } + } + description + "Specified SNMP context for OSPFv3 instance"; + } + container trap-enable { + presence "Indicates a trap-enable node is configured."; + description + "Enable SNMP trap for OSPFv3 instance"; + } + container trap { + presence "Indicates a trap node is configured."; + leaf rate-limit { + type uint32 { + range "2..60" { + description + "Trap rate limit sliding window size"; + } + } + mandatory true; + description + "Adjust trap rate-limit parameters"; + } + leaf max-traps { + type uint32 { + range "0..300" { + description + "Max number of traps sent in window time"; + } + } + mandatory true; + description + "Max number of traps sent in window time"; + } + } + } + } + } + container nsr { + presence "Indicates a nsr node is configured."; + description + "Enable NSR for all VRFs in this process"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable NSR for all VRFs in this process"; + } + } + container address-family { + description + "OSPFv3 address family"; + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPV6 address family"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "unicast topology"; + } + } + } + container protocol { + description + "Protocol specific configuration"; + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Gracefully shutdown the OSPFv3 protocol"; + } + } + container trace { + description + "OSPF tracing options"; + container sizes { + description + "Delete existing buffer and create one with N entries"; + list size { + key "trace-buffer-name"; + description + "Delete existing buffer and create one with N entries"; + leaf trace-buffer-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of trace buffer"; + } + } + description + "Delete existing buffer and create one with N entries"; + } + leaf trace-entry-size { + type enumeration { + enum "0" { + value 0; + description + "disable trace"; + } + enum "256" { + value 256; + description + "trace entries"; + } + enum "512" { + value 512; + description + "trace entries"; + } + enum "1024" { + value 1024; + description + "trace entries"; + } + enum "2048" { + value 2048; + description + "trace entries"; + } + enum "4096" { + value 4096; + description + "trace entries"; + } + enum "8192" { + value 8192; + description + "trace entries"; + } + enum "16384" { + value 16384; + description + "trace entries"; + } + enum "32768" { + value 32768; + description + "trace entries"; + } + enum "65536" { + value 65536; + description + "trace entries"; + } + } + description + "Number of trece entries"; + } + } + } + } + } + } + } + } + container ospfv3 { + description + "Global OSPFv3 configuration commands"; + container name-lookup { + presence "Indicates a name-lookup node is configured."; + description + "Display OSPFv3 router ids as DNS names"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-pim-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-pim-cfg.yang new file mode 100644 index 000000000..b719c1b73 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-pim-cfg.yang @@ -0,0 +1,6154 @@ +module Cisco-IOS-XR-um-router-pim-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-pim-cfg"; + prefix um-router-pim-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router pim configuration. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-10 { + description + "Added new yang nodes in order to support sticky-dr feature"; + semver:module-version "2.0.0"; + } + revision 2019-08-20 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container router { + description + "Enable a routing process"; + container pim { + presence "Indicates a pim node is configured."; + description + "PIM configuration subcommands"; + container vrfs { + description + "VRF configs"; + list vrf { + key "vrf-name"; + description + "VRF configs"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Enter VRF name"; + } + } + description + "VRF configs"; + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "IPv4 Address Family"; + container rp-addresses { + description + "Configure Rendezvous Point"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + container bidir { + description + "Specify keyword bidir to configure a bidir RP"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + } + } + leaf rp-static-deny { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Configure static RP deny range"; + } + leaf accept-register { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Registers accept filter"; + } + container suppress-data-registers { + presence "Indicates a suppress-data-registers node is configured."; + description + "Suppress data registers after initial state setup"; + } + leaf register-source { + type xr:Interface-name; + description + "Source address to use for register messages"; + } + container suppress-rpf-change-prunes { + presence "Indicates a suppress-rpf-change-prunes node is configured."; + description + "Suppress prunes triggered as a result of RPF changes"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container convergence { + description + "Convergence related parameters"; + leaf rpf-conflict-join-delay { + type uint32 { + range "0..15" { + description + "Delay in seconds"; + } + } + description + "Delay in sending first join if RPF points to any downstream neighbor"; + } + leaf link-down-prune-delay { + type uint32 { + range "0..60" { + description + "Delay in seconds"; + } + } + description + "Delay prunes if route join state transitions to not-joined on link down"; + } + } + container spt-threshold { + description + "Configure threshold for switching to SPT on last-hop"; + container infinity { + presence "Indicates a infinity node is configured."; + description + "Always stay on shared-tree"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access-list of threshold limited groups"; + } + } + description + "Only stay on the shared-tree for specified groups"; + } + } + } + container old-register-checksum { + presence "Indicates a old-register-checksum node is configured."; + description + "Generate registers compatible with older IOS versions"; + } + container neighbor-check-on-send { + description + "Check for PIM neighbor before sending control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + container neighbor-check-on-recv { + description + "Check for PIM neighbor before rcv'ing control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "Inherited by all interfaces : Hello interval in seconds"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "Inherited by all interfaces : PIM Hello DR priority"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "Inherited by all interfaces : Join-Prune interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "Join-Prune MTU in bytes"; + } + } + description + "Inherited by all interfaces : Join-Prune MTU"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello Propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello override interval"; + } + container maximum { + description + "Maximum state limits"; + container routes { + presence "Indicates a routes node is configured."; + description + "PIM routes"; + leaf maximum-routes { + type uint32 { + range "1..200000" { + description + "Maximum PIM routes"; + } + } + mandatory true; + description + "PIM routes"; + } + leaf threshold { + type uint32 { + range "1..200000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-routes"; + description + "Set threshold to print warning"; + } + } + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM total number of interfaces on all routes"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum PIM route-interfaces"; + } + } + mandatory true; + description + "PIM total number of interfaces on all routes"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Set threshold to print warning"; + } + } + container register-states { + presence "Indicates a register-states node is configured."; + description + "PIM source register states"; + leaf maximum-register-states { + type uint32 { + range "0..75000" { + description + "Maximum PIM sparse-mode source register states"; + } + } + mandatory true; + description + "PIM source register states"; + } + leaf threshold { + type uint32 { + range "0..75000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-register-states"; + description + "Set threshold to print warning"; + } + } + container group-mappings { + description + "PIM group-to-RP mapping ranges"; + container bsr { + presence "Indicates a group-mappings node is configured."; + description + "Learned through the BSR distribution mechanism"; + leaf maximum-bsr { + type uint32 { + range "1..10000" { + description + "Maximum PIM group mappings from elected BSR"; + } + } + mandatory true; + description + "Learned through the BSR distribution mechanism"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-bsr"; + description + "Set threshold to print warning"; + } + } + container autorp { + presence "Indicates a autorp node is configured."; + description + "Learned through the Auto-RP distribution mechanism"; + leaf maximum-autorp { + type uint32 { + range "1..10000" { + description + "Maximum PIM group mappings from Auto-RP mapping agent"; + } + } + mandatory true; + description + "Learned through the Auto-RP distribution mechanism"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-autorp"; + description + "Set threshold to print warning"; + } + } + } + container bsr { + description + "BSR maximum C-RP cache setting"; + container crp-cache { + presence "Indicates a crp-cache node is configured."; + description + "Set maximum number of C-RP cache in BSR"; + leaf maximum-crp-cache { + type uint32 { + range "1..10000" { + description + "Maximum number of C-RP cache"; + } + } + mandatory true; + description + "Set maximum number of C-RP cache in BSR"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-crp-cache"; + description + "Set threshold to print warning"; + } + } + } + } + leaf convergence-timeout { + type uint32 { + range "1800..2400" { + description + "Unicast convergence fallback timer in seconds"; + } + } + description + "Timeout value for the RIB convergence notification"; + } + container log { + description + "Enable PIM logging"; + container neighbor { + description + "Enable PIM neighbor logging"; + container changes { + presence "Indicates a changes node is configured."; + description + "Enable PIM neighbor state logging"; + } + } + } + container rpf-vector { + presence "Indicates a rpf-vector node is configured."; + description + "Enable PIM RPF Vector"; + container allow-ebgp { + presence "Indicates a allow-ebgp node is configured."; + description + "Allow origination of RPF vector over an eBGP session"; + } + container disable-ibgp { + presence "Indicates a disable-ibgp node is configured."; + description + "Disable origination of RPF vector over an iBGP session"; + } + container use-standard-encoding { + presence "Indicates a use-standard-encoding node is configured."; + description + "Use RFC standard encode type"; + } + } + container rpf-vector-injects { + description + "inject RPF vector"; + list inject { + must "rpf-vector"; + key "source-address masklen"; + description + "inject RPF vector"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "inject RPF vector"; + } + leaf masklen { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + leaf-list rpf-vector { + type inet:ipv4-address-no-zone; + max-elements "22"; + description + "configure this node"; + } + } + } + container explicit-rpf-vector { + description + "Enable Explicit PIM RPF Vector"; + container injects { + description + "inject Explicit RPF vector"; + list inject { + must "rpf-vector"; + key "source-address masklen"; + description + "inject Explicit RPF vector"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "inject Explicit RPF vector"; + } + leaf masklen { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + leaf-list rpf-vector { + type inet:ipv4-address-no-zone; + max-elements "22"; + description + "configure this node"; + } + } + } + } + container rpf { + description + "RPF commands"; + container topology { + description + "Select RPF topology"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select RPF topology"; + } + } + } + container mdt { + description + "Multicast Distribution Tree commands"; + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container data { + description + "Data MDT Options"; + leaf switchover-interval { + type uint32 { + range "3..60" { + description + "Interval value in seconds"; + } + } + description + "Data MDT switchover interval"; + } + leaf announce-interval { + type uint32 { + range "3..120" { + description + "Interval value in seconds"; + } + } + description + "Periodic Data MDT Join TLV interval"; + } + leaf max-aggregation { + type uint32 { + range "1..16777215" { + description + "Aggregation value"; + } + } + description + "Data MDT max-aggregation"; + } + } + container c-multicast-routing { + presence "Indicates a c-multicast-routing node is configured."; + description + "MVPN customer routing commands"; + leaf type { + type enumeration { + enum "pim" { + value 1; + description + "PIM customer multicast routing"; + } + enum "bgp" { + value 2; + description + "BGP customer multicast routing"; + } + } + mandatory true; + description + "MVPN customer routing commands"; + } + container announce-pim-join-tlv { + presence "Indicates a announce-pim-join-tlv node is configured."; + description + "Announce PIM MDT Join TLVs"; + } + container suppress-shared-tree-join { + presence "Indicates a suppress-shared-tree-join node is configured."; + description + "Suppress shared tree joins"; + } + container suppress-pim-data-signaling { + presence "Indicates a suppress-pim-data-signaling node is configured."; + description + "Suppress PIM data signaling"; + } + container mdt-hello { + when "../type != 'pim'"; + description + "PIM Hellos over MDT"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable PIM Hellos over MDT"; + } + } + leaf shared-tree-prune-delay { + type uint32 { + range "0..1800" { + description + "Delay in seconds."; + } + } + description + "Delay before pruning I-S PMSI from S,G when SA received"; + } + leaf source-tree-prune-delay { + type uint32 { + range "0..300" { + description + "Delay in seconds."; + } + } + description + "Delay before removing PMSI from olist after BGP withdrawal"; + } + container migration { + presence "Indicates a migration node is configured."; + description + "customer routing migration"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select customer routing"; + } + } + container unicast-reachability { + description + "Control addition of Extended Communities to Unicast VPN-IP routes"; + container connector { + description + "Enable/Disable Connector"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Connector Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Connector Attribute"; + } + } + container source-as { + description + "Enable/Disable Source AS"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Source-AS Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Source-AS Attribute"; + } + } + container vrf-route-import { + description + "Enable/Disable VRF Route Import"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable VRF Route Import Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable VRF Route Import Attribute"; + } + } + } + } + } + container allow-rp { + presence "Indicates a allow-rp node is configured."; + description + "Sparse-Mode RP addresses to be allowed"; + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ACL Name for rp-list"; + } + } + description + "Access-list for allowed RP addresses"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access name for group-list"; + } + } + description + "Access-list for allowed group ranges"; + } + } + container sg-expiry-timer { + presence "Indicates a sg-expiry-timer node is configured."; + description + "Configure SG expiry timer"; + leaf sg-expiry-timer-value { + type uint32 { + range "40..57600" { + description + "Duration of the expiry timer interval, in seconds"; + } + } + mandatory true; + description + "Configure SG expiry timer"; + } + leaf sg-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Access-list of (S,G) routes for which expiry timer is applicable"; + } + } + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + must "source or source-nexthop or source-group"; + presence "Indicates a hash node is configured."; + description + "Enter a hashing algorithm"; + container source { + must "not(../source-nexthop) and not(../source-group)"; + presence "Indicates a source node is configured."; + description + "Enable source based multipath hashing (Compatible with IOS versions)"; + } + container source-nexthop { + must "not(../source) and not(../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with next-hop multipath hashing (better distribution)"; + } + container source-group { + must "not(../source-nexthop) and not(../source)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing (Compatible with IOS versions)"; + } + } + } + container auto-rp { + description + "Auto-RP Commands"; + container listen { + description + "RP discovery through AUTORP protocol"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RP discovery through the AUTORP protocol"; + } + } + container relay { + description + "relay"; + container vrfs { + description + "vrf"; + list vrf { + key "vrf-name"; + description + "vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "vrf-name"; + } + } + description + "vrf"; + } + container listen { + presence "Indicates a listen node is configured."; + description + "Enable RP relay in listen mode"; + } + } + } + } + } + container interfaces { + description + "PIM interface configuration subcommands"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "PIM Hello DR priority"; + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "PIM neighbor Hello announcement interval"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "PIM periodic Join-Prune announcement interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "MTU to use in bytes"; + } + } + description + "MTU to use when sending PIM J/P packets"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "PIM Hello propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "PIM Hello override interval"; + } + container bsr-border { + presence "Indicates a bsr-border node is configured."; + description + "Do not fwd BSR messages on this interface"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable PIM processing on this interface"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable PIM processing on this interface"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list specifying neighbor address"; + } + } + description + "PIM Neighbor filter on this interface"; + } + container maximum { + description + "Per interface maximum state limits"; + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM downstream joined interfaces"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum number of allowed routes for this interface"; + } + } + mandatory true; + description + "PIM downstream joined interfaces"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container sticky-dr { + presence "Indicates a sticky-dr node is configured."; + description + "Enable sticky DR on this interface"; + } + } + } + container bsr { + description + "BSR Configurations"; + container candidate-bsr { + presence "Indicates a candidate-bsr node is configured."; + description + "configure candidate BSR"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address of configured BSR"; + } + leaf hash-mask-len { + type uint32 { + range "0..32" { + description + "mask length"; + } + } + mandatory true; + description + "BSR Hash Mask Length"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + mandatory true; + description + "BSR Priority"; + } + } + container candidate-rps { + description + "BSR Candidate RP Configurations"; + list candidate-rp { + must "(priority and interval) or (bidir/priority and bidir/interval)"; + key "address"; + description + "BSR Candidate RP Configurations"; + leaf address { + type inet:ipv4-address-no-zone; + description + "BSR Candidate RP Configurations"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + container bidir { + description + "To specify group ranges as Bidir"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + } + } + } + container relay { + description + "BSR RP relay config"; + container vrfs { + description + "vrf"; + list vrf { + key "vrf-name"; + description + "vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "vrf-name"; + } + } + description + "vrf"; + } + container listen { + presence "Indicates a listen node is configured."; + description + "Enable RP relay in listen mode"; + } + } + } + } + } + container mofrr { + presence "Indicates a mofrr node is configured."; + description + "PIM Mofrr"; + leaf flow { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list specifying SGs that should do MOFRR with hardware switchover triggers"; + } + } + description + "Multicast Only FRR"; + } + leaf rib { + type string { + length "1..1024" { + description + "Access list specifying SGs that should do MOFRR with RIB events as switchover triggers"; + } + } + description + "Use the rib keyword to restrict switchover triggers to RIB events"; + } + container non-revertive { + presence "Indicates a non-revertive node is configured."; + description + "Non-revertive MoFRR"; + } + container clone { + description + "Use the clone keyword to clone"; + container joins { + description + "Use the join keyword to clone S,G as S1,G joins as S2,G joins"; + list join { + must "to"; + key "address"; + description + "Use the join keyword to clone S,G as S1,G joins as S2,G joins"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S"; + } + list to { + must "and"; + key "address"; + description + "to"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S1"; + } + list and { + must "masklen"; + key "address"; + description + "and"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S2"; + } + list masklen { + key "mask-length"; + description + "masklen"; + leaf mask-length { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + } + } + } + } + } + container sources { + description + "Use the source keyword to clone S,G as S1,G traffic and S2,G traffic"; + list source { + must "to"; + key "address"; + description + "Use the source keyword to clone S,G as S1,G traffic and S2,G traffic"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S"; + } + list to { + must "and"; + key "address"; + description + "to"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S1"; + } + list and { + must "masklen"; + key "address"; + description + "and"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S2"; + } + list masklen { + key "mask-length"; + description + "masklen"; + leaf mask-length { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + } + } + } + } + } + } + } + container sr-p2mp-policies { + description + "Segment-routing P2MP policy"; + list sr-p2mp-policy { + key "policy-name"; + description + "Segment-routing P2MP policy"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the P2MP policy"; + } + } + description + "Segment-routing P2MP policy"; + } + container static-group { + description + "ipv4 static multicast group"; + list group-address { + key "group-address"; + description + "ipv4 static multicast group"; + leaf group-address { + type inet:ipv4-address-no-zone; + description + "ipv4 static multicast group"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + } + container group-address-inc-masks { + description + "Group-address with increment mask for group address"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "Source address to join"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for group address"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + } + } + } + } + } + container ipv6 { + description + "IPv6 Address Family"; + container rp-addresses { + description + "Configure Rendezvous Point"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + container bidir { + description + "Specify keyword bidir to configure a bidir RP"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + } + } + leaf rp-static-deny { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Configure static RP deny range"; + } + leaf accept-register { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Registers accept filter"; + } + container suppress-data-registers { + presence "Indicates a suppress-data-registers node is configured."; + description + "Suppress data registers after initial state setup"; + } + leaf register-source { + type xr:Interface-name; + description + "Source address to use for register messages"; + } + container suppress-rpf-change-prunes { + presence "Indicates a suppress-rpf-change-prunes node is configured."; + description + "Suppress prunes triggered as a result of RPF changes"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container convergence { + description + "Convergence related parameters"; + leaf rpf-conflict-join-delay { + type uint32 { + range "0..15" { + description + "Delay in seconds"; + } + } + description + "Delay in sending first join if RPF points to any downstream neighbor"; + } + leaf link-down-prune-delay { + type uint32 { + range "0..60" { + description + "Delay in seconds"; + } + } + description + "Delay prunes if route join state transitions to not-joined on link down"; + } + } + container spt-threshold { + description + "Configure threshold for switching to SPT on last-hop"; + container infinity { + presence "Indicates a infinity node is configured."; + description + "Always stay on shared-tree"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access-list of threshold limited groups"; + } + } + description + "Only stay on the shared-tree for specified groups"; + } + } + } + container old-register-checksum { + presence "Indicates a old-register-checksum node is configured."; + description + "Generate registers compatible with older IOS versions"; + } + container neighbor-check-on-send { + description + "Check for PIM neighbor before sending control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + container neighbor-check-on-recv { + description + "Check for PIM neighbor before rcv'ing control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "Inherited by all interfaces : Hello interval in seconds"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "Inherited by all interfaces : PIM Hello DR priority"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "Inherited by all interfaces : Join-Prune interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "Join-Prune MTU in bytes"; + } + } + description + "Inherited by all interfaces : Join-Prune MTU"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello Propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello override interval"; + } + container maximum { + description + "Maximum state limits"; + container routes { + presence "Indicates a routes node is configured."; + description + "PIM routes"; + leaf maximum-routes { + type uint32 { + range "1..200000" { + description + "Maximum PIM routes"; + } + } + mandatory true; + description + "PIM routes"; + } + leaf threshold { + type uint32 { + range "1..200000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-routes"; + description + "Set threshold to print warning"; + } + } + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM total number of interfaces on all routes"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum PIM route-interfaces"; + } + } + mandatory true; + description + "PIM total number of interfaces on all routes"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Set threshold to print warning"; + } + } + container register-states { + presence "Indicates a register-states node is configured."; + description + "PIM source register states"; + leaf maximum-register-states { + type uint32 { + range "0..75000" { + description + "Maximum PIM sparse-mode source register states"; + } + } + mandatory true; + description + "PIM source register states"; + } + leaf threshold { + type uint32 { + range "0..75000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-register-states"; + description + "Set threshold to print warning"; + } + } + container group-mappings { + description + "PIM group-to-RP mapping ranges"; + container bsr { + presence "Indicates a group-mappings node is configured."; + description + "Learned through the BSR distribution mechanism"; + leaf maximum-bsr { + type uint32 { + range "1..10000" { + description + "Maximum PIM group mappings from elected BSR"; + } + } + mandatory true; + description + "Learned through the BSR distribution mechanism"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-bsr"; + description + "Set threshold to print warning"; + } + } + } + container bsr { + description + "BSR maximum C-RP cache setting"; + container crp-cache { + presence "Indicates a crp-cache node is configured."; + description + "Set maximum number of C-RP cache in BSR"; + leaf maximum-crp-cache { + type uint32 { + range "1..10000" { + description + "Maximum number of C-RP cache"; + } + } + mandatory true; + description + "Set maximum number of C-RP cache in BSR"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-crp-cache"; + description + "Set threshold to print warning"; + } + } + } + } + leaf convergence-timeout { + type uint32 { + range "1800..2400" { + description + "Unicast convergence fallback timer in seconds"; + } + } + description + "Timeout value for the RIB convergence notification"; + } + container log { + description + "Enable PIM logging"; + container neighbor { + description + "Enable PIM neighbor logging"; + container changes { + presence "Indicates a changes node is configured."; + description + "Enable PIM neighbor state logging"; + } + } + } + container rpf-vector { + presence "Indicates a rpf-vector node is configured."; + description + "Enable PIM RPF Vector"; + container allow-ebgp { + presence "Indicates a allow-ebgp node is configured."; + description + "Allow origination of RPF vector over an eBGP session"; + } + container disable-ibgp { + presence "Indicates a disable-ibgp node is configured."; + description + "Disable origination of RPF vector over an iBGP session"; + } + container use-standard-encoding { + presence "Indicates a use-standard-encoding node is configured."; + description + "Use RFC standard encode type"; + } + } + container rpf { + description + "RPF commands"; + container topology { + description + "Select RPF topology"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select RPF topology"; + } + } + } + container mdt { + description + "Multicast Distribution Tree commands"; + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container data { + description + "Data MDT Options"; + leaf switchover-interval { + type uint32 { + range "3..60" { + description + "Interval value in seconds"; + } + } + description + "Data MDT switchover interval"; + } + leaf announce-interval { + type uint32 { + range "3..120" { + description + "Interval value in seconds"; + } + } + description + "Periodic Data MDT Join TLV interval"; + } + leaf max-aggregation { + type uint32 { + range "1..16777215" { + description + "Aggregation value"; + } + } + description + "Data MDT max-aggregation"; + } + } + container c-multicast-routing { + presence "Indicates a c-multicast-routing node is configured."; + description + "MVPN customer routing commands"; + leaf type { + type enumeration { + enum "pim" { + value 1; + description + "PIM customer multicast routing"; + } + enum "bgp" { + value 2; + description + "BGP customer multicast routing"; + } + } + mandatory true; + description + "MVPN customer routing commands"; + } + container announce-pim-join-tlv { + presence "Indicates a announce-pim-join-tlv node is configured."; + description + "Announce PIM MDT Join TLVs"; + } + container suppress-shared-tree-join { + presence "Indicates a suppress-shared-tree-join node is configured."; + description + "Suppress shared tree joins"; + } + container suppress-pim-data-signaling { + presence "Indicates a suppress-pim-data-signaling node is configured."; + description + "Suppress PIM data signaling"; + } + container mdt-hello { + when "../type != 'pim'"; + description + "PIM Hellos over MDT"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable PIM Hellos over MDT"; + } + } + leaf shared-tree-prune-delay { + type uint32 { + range "0..1800" { + description + "Delay in seconds."; + } + } + description + "Delay before pruning I-S PMSI from S,G when SA received"; + } + leaf source-tree-prune-delay { + type uint32 { + range "0..300" { + description + "Delay in seconds."; + } + } + description + "Delay before removing PMSI from olist after BGP withdrawal"; + } + container migration { + presence "Indicates a migration node is configured."; + description + "customer routing migration"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select customer routing"; + } + } + container unicast-reachability { + description + "Control addition of Extended Communities to Unicast VPN-IP routes"; + container connector { + description + "Enable/Disable Connector"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Connector Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Connector Attribute"; + } + } + container source-as { + description + "Enable/Disable Source AS"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Source-AS Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Source-AS Attribute"; + } + } + container vrf-route-import { + description + "Enable/Disable VRF Route Import"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable VRF Route Import Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable VRF Route Import Attribute"; + } + } + } + } + } + container allow-rp { + presence "Indicates a allow-rp node is configured."; + description + "Sparse-Mode RP addresses to be allowed"; + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ACL Name for rp-list"; + } + } + description + "Access-list for allowed RP addresses"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access name for group-list"; + } + } + description + "Access-list for allowed group ranges"; + } + } + container sg-expiry-timer { + presence "Indicates a sg-expiry-timer node is configured."; + description + "Configure SG expiry timer"; + leaf sg-expiry-timer-value { + type uint32 { + range "40..57600" { + description + "Duration of the expiry timer interval, in seconds"; + } + } + mandatory true; + description + "Configure SG expiry timer"; + } + leaf sg-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Access-list of (S,G) routes for which expiry timer is applicable"; + } + } + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + must "interface-extended or source-nexthop or source-group"; + presence "Indicates a hash node is configured."; + description + "Enter a hashing algorithm"; + container interface-extended { + must "not(../source-nexthop) and not(../source-group)"; + presence "Indicates a interface-extended node is configured."; + description + "Enable interface extensions for non-unique next-hop addrs"; + } + container source-nexthop { + must "not(../interface-extended) and not(../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with next-hop multipath hashing (better distribution)"; + } + container source-group { + must "not(../source-nexthop) and not(../interface-extended)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing (Compatible with IOS versions)"; + } + } + } + container interfaces { + description + "PIM interface configuration subcommands"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "PIM Hello DR priority"; + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "PIM neighbor Hello announcement interval"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "PIM periodic Join-Prune announcement interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "MTU to use in bytes"; + } + } + description + "MTU to use when sending PIM J/P packets"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "PIM Hello propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "PIM Hello override interval"; + } + container bsr-border { + presence "Indicates a bsr-border node is configured."; + description + "Do not fwd BSR messages on this interface"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable PIM processing on this interface"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable PIM processing on this interface"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list specifying neighbor address"; + } + } + description + "PIM Neighbor filter on this interface"; + } + container maximum { + description + "Per interface maximum state limits"; + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM downstream joined interfaces"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum number of allowed routes for this interface"; + } + } + mandatory true; + description + "PIM downstream joined interfaces"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container sticky-dr { + presence "Indicates a sticky-dr node is configured."; + description + "Enable sticky DR on this interface"; + } + } + } + container bsr { + description + "BSR Configurations"; + container candidate-bsr { + presence "Indicates a candidate-bsr node is configured."; + description + "configure candidate BSR"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IP address of configured BSR"; + } + leaf hash-mask-len { + type uint32 { + range "0..128" { + description + "mask length"; + } + } + mandatory true; + description + "BSR Hash Mask Length"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + mandatory true; + description + "BSR Priority"; + } + } + container candidate-rps { + description + "BSR Candidate RP Configurations"; + list candidate-rp { + must "(priority and interval) or (bidir/priority and bidir/interval)"; + key "address"; + description + "BSR Candidate RP Configurations"; + leaf address { + type inet:ipv6-address-no-zone; + description + "BSR Candidate RP Configurations"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + container bidir { + description + "To specify group ranges as Bidir"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + } + } + } + container relay { + description + "BSR RP relay config"; + container vrfs { + description + "vrf"; + list vrf { + key "vrf-name"; + description + "vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "vrf-name"; + } + } + description + "vrf"; + } + container listen { + presence "Indicates a listen node is configured."; + description + "Enable RP relay in listen mode"; + } + } + } + } + } + container sr-p2mp-policies { + description + "Segment-routing P2MP policy"; + list sr-p2mp-policy { + key "policy-name"; + description + "Segment-routing P2MP policy"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the P2MP policy"; + } + } + description + "Segment-routing P2MP policy"; + } + container static-group { + description + "ipv6 static multicast group"; + list group-address { + key "group-address"; + description + "ipv6 static multicast group"; + leaf group-address { + type inet:ipv6-address-no-zone; + description + "ipv6 static multicast group"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + } + container group-address-inc-masks { + description + "Group-address with increment mask for group address"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "Source address to join"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for group address"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + } + } + } + } + container embedded-rp { + description + "Set Embedded RP processing support"; + list ip-addresses { + key "ip-address"; + description + "IP name or address of Rendezvous Point"; + leaf ip-address { + type inet:ipv6-address-no-zone; + description + "IP name or address of Rendezvous Point"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list of groups that should map to given RP"; + } + } + mandatory true; + description + "Access list of groups that should map to given RP"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Embedded RP processing"; + } + } + } + } + } + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "IPv4 Address Family"; + container rp-addresses { + description + "Configure Rendezvous Point"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + container bidir { + description + "Specify keyword bidir to configure a bidir RP"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + } + } + leaf rp-static-deny { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Configure static RP deny range"; + } + leaf accept-register { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Registers accept filter"; + } + container suppress-data-registers { + presence "Indicates a suppress-data-registers node is configured."; + description + "Suppress data registers after initial state setup"; + } + leaf register-source { + type xr:Interface-name; + description + "Source address to use for register messages"; + } + container suppress-rpf-change-prunes { + presence "Indicates a suppress-rpf-change-prunes node is configured."; + description + "Suppress prunes triggered as a result of RPF changes"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container convergence { + description + "Convergence related parameters"; + leaf rpf-conflict-join-delay { + type uint32 { + range "0..15" { + description + "Delay in seconds"; + } + } + description + "Delay in sending first join if RPF points to any downstream neighbor"; + } + leaf link-down-prune-delay { + type uint32 { + range "0..60" { + description + "Delay in seconds"; + } + } + description + "Delay prunes if route join state transitions to not-joined on link down"; + } + } + container spt-threshold { + description + "Configure threshold for switching to SPT on last-hop"; + container infinity { + presence "Indicates a infinity node is configured."; + description + "Always stay on shared-tree"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access-list of threshold limited groups"; + } + } + description + "Only stay on the shared-tree for specified groups"; + } + } + } + container old-register-checksum { + presence "Indicates a old-register-checksum node is configured."; + description + "Generate registers compatible with older IOS versions"; + } + container nsf { + description + "Configure Non-stop forwarding (NSF) options"; + leaf lifetime { + type uint32 { + range "10..600" { + description + "Maximum time for PIM NSF mode in seconds"; + } + } + description + "Override default maximum lifetime for PIM NSF mode"; + } + } + container neighbor-check-on-send { + description + "Check for PIM neighbor before sending control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + container neighbor-check-on-recv { + description + "Check for PIM neighbor before rcv'ing control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "Inherited by all interfaces : Hello interval in seconds"; + } + leaf mdt-hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "Hello interval for all MDT interfaces (seconds)"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "Inherited by all interfaces : PIM Hello DR priority"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "Inherited by all interfaces : Join-Prune interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "Join-Prune MTU in bytes"; + } + } + description + "Inherited by all interfaces : Join-Prune MTU"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello Propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello override interval"; + } + container global { + description + "Global maximum limits"; + container maximum { + description + "Maximum state limits"; + container routes { + presence "Indicates a routes node is configured."; + description + "PIM routes for all VRFs"; + leaf maximum-routes { + type uint32 { + range "1..200000" { + description + "Maximum PIM routes"; + } + } + mandatory true; + description + "PIM routes for all VRFs"; + } + leaf threshold { + type uint32 { + range "1..200000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-routes"; + description + "Set threshold to print warning"; + } + } + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM total interfaces on routes for all VRFs"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum PIM route-interfaces"; + } + } + mandatory true; + description + "PIM total interfaces on routes for all VRFs"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Set threshold to print warning"; + } + } + container register-states { + presence "Indicates a register-states node is configured."; + description + "PIM source register states for all VRFs"; + leaf maximum-register-states { + type uint32 { + range "0..75000" { + description + "Maximum PIM sparse-mode source register states"; + } + } + mandatory true; + description + "PIM source register states for all VRFs"; + } + leaf threshold { + type uint32 { + range "0..75000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-register-states"; + description + "Set threshold to print warning"; + } + } + container packet-queue { + description + "PIM Packet queue size in bytes"; + leaf high-priority { + type uint32 { + range "0..2147483648" { + description + "Maximum PIM routes"; + } + } + description + "PIM high priority packet queue size in bytes"; + } + leaf low-priority { + type uint32 { + range "0..2147483648" { + description + "Maximum PIM routes"; + } + } + description + "PIM low priority packet queue size in bytes"; + } + } + container group-mappings { + description + "PIM group-to-RP mapping ranges"; + container bsr { + presence "Indicates a bsr node is configured."; + description + "Learned through the BSR distribution mechanism"; + leaf maximum-bsr { + type uint32 { + range "1..10000" { + description + "Maximum PIM group-mapping learnt from BSR"; + } + } + mandatory true; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-bsr"; + description + "Set threshold to print warning"; + } + } + container autorp { + presence "Indicates a autorp node is configured."; + description + "Learned through the Auto-RP distribution mechanism"; + leaf maximum-autorp { + type uint32 { + range "1..10000" { + description + "Maximum PIM group mappings from Auto-RP mapping agent"; + } + } + mandatory true; + description + "Learned through the Auto-RP distribution mechanism"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-autorp"; + description + "Set threshold to print warning"; + } + } + } + container bsr { + description + "BSR maximum C-RP cache setting"; + container crp-cache { + presence "Indicates a crp-cache node is configured."; + description + "Set maximum number of C-RP cache in BSR"; + leaf maximum-crp-cache { + type uint32 { + range "1..10000" { + description + "Maximum PIM BSR C-RP cache"; + } + } + mandatory true; + description + "Set maximum number of C-RP cache in BSR"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-crp-cache"; + description + "Set threshold to print warning"; + } + } + } + } + } + container maximum { + description + "Maximum state limits"; + container routes { + presence "Indicates a routes node is configured."; + description + "PIM routes"; + leaf maximum-routes { + type uint32 { + range "1..200000" { + description + "Maximum PIM routes"; + } + } + mandatory true; + description + "PIM routes"; + } + leaf threshold { + type uint32 { + range "1..200000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-routes"; + description + "Set threshold to print warning"; + } + } + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM total number of interfaces on all routes"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum PIM route-interfaces"; + } + } + mandatory true; + description + "PIM total number of interfaces on all routes"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Set threshold to print warning"; + } + } + container register-states { + presence "Indicates a register-states node is configured."; + description + "PIM source register states"; + leaf maximum-register-states { + type uint32 { + range "0..75000" { + description + "Maximum PIM sparse-mode source register states"; + } + } + mandatory true; + description + "PIM source register states"; + } + leaf threshold { + type uint32 { + range "0..75000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-register-states"; + description + "Set threshold to print warning"; + } + } + container group-mappings { + description + "PIM group-to-RP mapping ranges"; + container bsr { + presence "Indicates a group-mappings node is configured."; + description + "Learned through the BSR distribution mechanism"; + leaf maximum-bsr { + type uint32 { + range "1..10000" { + description + "Maximum PIM group mappings from elected BSR"; + } + } + mandatory true; + description + "Learned through the BSR distribution mechanism"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-bsr"; + description + "Set threshold to print warning"; + } + } + container autorp { + presence "Indicates a autorp node is configured."; + description + "Learned through the Auto-RP distribution mechanism"; + leaf maximum-autorp { + type uint32 { + range "1..10000" { + description + "Maximum PIM group mappings from Auto-RP mapping agent"; + } + } + mandatory true; + description + "Learned through the Auto-RP distribution mechanism"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-autorp"; + description + "Set threshold to print warning"; + } + } + } + container bsr { + description + "BSR maximum C-RP cache setting"; + container crp-cache { + presence "Indicates a crp-cache node is configured."; + description + "Set maximum number of C-RP cache in BSR"; + leaf maximum-crp-cache { + type uint32 { + range "1..10000" { + description + "Maximum number of C-RP cache"; + } + } + mandatory true; + description + "Set maximum number of C-RP cache in BSR"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-crp-cache"; + description + "Set threshold to print warning"; + } + } + } + } + leaf convergence-timeout { + type uint32 { + range "1800..2400" { + description + "Unicast convergence fallback timer in seconds"; + } + } + description + "Timeout value for the RIB convergence notification"; + } + container log { + description + "Enable PIM logging"; + container neighbor { + description + "Enable PIM neighbor logging"; + container changes { + presence "Indicates a changes node is configured."; + description + "Enable PIM neighbor state logging"; + } + } + } + container rpf-vector { + presence "Indicates a rpf-vector node is configured."; + description + "Enable PIM RPF Vector"; + container allow-ebgp { + presence "Indicates a allow-ebgp node is configured."; + description + "Allow origination of RPF vector over an eBGP session"; + } + container disable-ibgp { + presence "Indicates a disable-ibgp node is configured."; + description + "Disable origination of RPF vector over an iBGP session"; + } + container use-standard-encoding { + presence "Indicates a use-standard-encoding node is configured."; + description + "Use RFC standard encode type"; + } + } + container rpf-vector-injects { + description + "inject RPF vector"; + list inject { + must "rpf-vector"; + key "source-address masklen"; + description + "inject RPF vector"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "inject RPF vector"; + } + leaf masklen { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + leaf-list rpf-vector { + type inet:ipv4-address-no-zone; + max-elements "22"; + description + "configure this node"; + } + } + } + container explicit-rpf-vector { + description + "Enable Explicit PIM RPF Vector"; + container injects { + description + "inject Explicit RPF vector"; + list inject { + must "rpf-vector"; + key "source-address masklen"; + description + "inject Explicit RPF vector"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "inject Explicit RPF vector"; + } + leaf masklen { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + leaf-list rpf-vector { + type inet:ipv4-address-no-zone; + max-elements "22"; + description + "configure this node"; + } + } + } + } + container rpf { + description + "RPF commands"; + container topology { + description + "Select RPF topology"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select RPF topology"; + } + } + } + container mdt { + description + "Multicast Distribution Tree commands"; + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container data { + description + "Data MDT Options"; + leaf switchover-interval { + type uint32 { + range "3..60" { + description + "Interval value in seconds"; + } + } + description + "Data MDT switchover interval"; + } + leaf announce-interval { + type uint32 { + range "3..120" { + description + "Interval value in seconds"; + } + } + description + "Periodic Data MDT Join TLV interval"; + } + leaf max-aggregation { + type uint32 { + range "1..16777215" { + description + "Aggregation value"; + } + } + description + "Data MDT max-aggregation"; + } + } + container c-multicast-routing { + presence "Indicates a c-multicast-routing node is configured."; + description + "MVPN customer routing commands"; + leaf type { + type enumeration { + enum "pim" { + value 1; + description + "PIM customer multicast routing"; + } + enum "bgp" { + value 2; + description + "BGP customer multicast routing"; + } + } + mandatory true; + description + "MVPN customer routing commands"; + } + container announce-pim-join-tlv { + presence "Indicates a announce-pim-join-tlv node is configured."; + description + "Announce PIM MDT Join TLVs"; + } + container suppress-shared-tree-join { + presence "Indicates a suppress-shared-tree-join node is configured."; + description + "Suppress shared tree joins"; + } + container suppress-pim-data-signaling { + presence "Indicates a suppress-pim-data-signaling node is configured."; + description + "Suppress PIM data signaling"; + } + container mdt-hello { + when "../type != 'pim'"; + description + "PIM Hellos over MDT"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable PIM Hellos over MDT"; + } + } + leaf shared-tree-prune-delay { + type uint32 { + range "0..1800" { + description + "Delay in seconds."; + } + } + description + "Delay before pruning I-S PMSI from S,G when SA received"; + } + leaf source-tree-prune-delay { + type uint32 { + range "0..300" { + description + "Delay in seconds."; + } + } + description + "Delay before removing PMSI from olist after BGP withdrawal"; + } + container migration { + presence "Indicates a migration node is configured."; + description + "customer routing migration"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select customer routing"; + } + } + container unicast-reachability { + description + "Control addition of Extended Communities to Unicast VPN-IP routes"; + container connector { + description + "Enable/Disable Connector"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Connector Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Connector Attribute"; + } + } + container source-as { + description + "Enable/Disable Source AS"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Source-AS Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Source-AS Attribute"; + } + } + container vrf-route-import { + description + "Enable/Disable VRF Route Import"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable VRF Route Import Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable VRF Route Import Attribute"; + } + } + } + } + } + container allow-rp { + presence "Indicates a allow-rp node is configured."; + description + "Sparse-Mode RP addresses to be allowed"; + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ACL Name for rp-list"; + } + } + description + "Access-list for allowed RP addresses"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access name for group-list"; + } + } + description + "Access-list for allowed group ranges"; + } + } + container sg-expiry-timer { + presence "Indicates a sg-expiry-timer node is configured."; + description + "Configure SG expiry timer"; + leaf sg-expiry-timer-value { + type uint32 { + range "40..57600" { + description + "Duration of the expiry timer interval, in seconds"; + } + } + mandatory true; + description + "Configure SG expiry timer"; + } + leaf sg-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Access-list of (S,G) routes for which expiry timer is applicable"; + } + } + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container rpf-redirect { + description + "Route policy for rpf-redirect bundles"; + leaf route-policy { + type xr:Route-policy-name; + description + "Bandwidth assigment (kbps) for SG routes"; + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + must "source or source-nexthop or source-group"; + presence "Indicates a hash node is configured."; + description + "Enter a hashing algorithm"; + container source { + must "not(../source-nexthop) and not(../source-group)"; + presence "Indicates a source node is configured."; + description + "Enable source based multipath hashing (Compatible with IOS versions)"; + } + container source-nexthop { + must "not(../source) and not(../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with next-hop multipath hashing (better distribution)"; + } + container source-group { + must "not(../source-nexthop) and not(../source)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing (Compatible with IOS versions)"; + } + } + } + container auto-rp { + description + "Auto-RP Commands"; + container candidate-rps { + description + "Configure as a Candidate RP"; + list candidate-rp { + must "scope or bidir/scope"; + key "interface-name"; + description + "Candidate RP Configurations"; + leaf interface-name { + type xr:Interface-name; + description + "Candidate RP Configurations"; + } + leaf scope { + type uint32 { + range "1..255" { + description + "TTL in hops"; + } + } + must "../group-list and ../interval"; + description + "TTL for the announcement"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access-list of groups to be RP for"; + } + } + description + "Be a candidate RP for groups specified by the acl"; + } + leaf interval { + type uint32 { + range "1..600" { + description + "interval in second"; + } + } + description + "time between announcements "; + } + container bidir { + description + "to specify group ranges as bidir, default is pim-sm"; + leaf scope { + type uint32 { + range "1..255" { + description + "TTL in hops"; + } + } + must "../group-list and ../interval"; + description + "TTL for the announcement"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access-list of groups to be RP for"; + } + } + description + "Be a candidate RP for groups specified by the acl"; + } + leaf interval { + type uint32 { + range "1..600" { + description + "interval in second"; + } + } + description + "time between announcements "; + } + } + } + } + container mapping-agent { + presence "Indicates a mapping-agent node is configured."; + description + "Configure as a Mapping Agent"; + leaf interface-name { + type xr:Interface-name; + mandatory true; + description + "Candidate RP Configurations"; + } + leaf scope { + type uint32 { + range "1..255" { + description + "TTL in hops"; + } + } + mandatory true; + description + "TTL for the announcement"; + } + leaf interval { + type uint32 { + range "1..600" { + description + "interval in second"; + } + } + mandatory true; + description + "number of seconds between discovery messages"; + } + } + container listen { + description + "RP discovery through AUTORP protocol"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RP discovery through the AUTORP protocol"; + } + } + container relay { + description + "relay"; + container vrfs { + description + "vrf"; + list vrf { + key "vrf-name"; + description + "vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "vrf-name"; + } + } + description + "vrf"; + } + container listen { + presence "Indicates a listen node is configured."; + description + "Enable RP relay in listen mode"; + } + } + } + } + } + container interface { + description + "PIM interface configuration subcommands"; + container interfaces { + description + "Select an interface to configure"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "PIM Hello DR priority"; + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "PIM neighbor Hello announcement interval"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "PIM periodic Join-Prune announcement interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "MTU to use in bytes"; + } + } + description + "MTU to use when sending PIM J/P packets"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "PIM Hello propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "PIM Hello override interval"; + } + container bsr-border { + presence "Indicates a bsr-border node is configured."; + description + "Do not fwd BSR messages on this interface"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable PIM processing on this interface"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable PIM processing on this interface"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list specifying neighbor address"; + } + } + description + "PIM Neighbor filter on this interface"; + } + container maximum { + description + "Per interface maximum state limits"; + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM downstream joined interfaces"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum number of allowed routes for this interface"; + } + } + mandatory true; + description + "PIM downstream joined interfaces"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container rpf-redirect { + presence "Indicates a rpf-redirect node is configured."; + description + "RPF redirect bundle configuration"; + leaf bundle { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Bundle name"; + } + } + mandatory true; + description + "Bundle name"; + } + leaf bandwidth { + type uint32 { + range "0..100000000" { + description + "Interface bandwidth in Kbps"; + } + } + description + "Interface bandwidth in Kbps"; + } + leaf threshold { + type uint32 { + range "0..100000000" { + description + "Bandwidth threshold in Kbps"; + } + } + must "../bandwidth"; + description + "Bandwidth threshold in Kbps"; + } + } + container sticky-dr { + presence "Indicates a sticky-dr node is configured."; + description + "Enable sticky DR on this interface"; + } + } + } + } + container bsr { + description + "BSR Configurations"; + container candidate-bsr { + presence "Indicates a candidate-bsr node is configured."; + description + "configure candidate BSR"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IP address of configured BSR"; + } + leaf hash-mask-len { + type uint32 { + range "0..32" { + description + "mask length"; + } + } + mandatory true; + description + "BSR Hash Mask Length"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + mandatory true; + description + "BSR Priority"; + } + } + container candidate-rps { + description + "BSR Candidate RP Configurations"; + list candidate-rp { + must "(priority and interval) or (bidir/priority and bidir/interval)"; + key "address"; + description + "BSR Candidate RP Configurations"; + leaf address { + type inet:ipv4-address-no-zone; + description + "BSR Candidate RP Configurations"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + container bidir { + description + "To specify group ranges as Bidir"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + } + } + } + container relay { + description + "BSR RP relay config"; + container vrfs { + description + "vrf"; + list vrf { + key "vrf-name"; + description + "vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "vrf-name"; + } + } + description + "vrf"; + } + container listen { + presence "Indicates a listen node is configured."; + description + "Enable RP relay in listen mode"; + } + } + } + } + } + container mofrr { + presence "Indicates a mofrr node is configured."; + description + "PIM Mofrr"; + leaf flow { + type string { + length "1..1024" { + description + "Access list specifying SGs that should do MOFRR with hardware switchover triggers"; + } + } + description + "Multicast Only FRR"; + } + leaf rib { + type string { + length "1..1024" { + description + "Access list specifying SGs that should do MOFRR with RIB events as switchover triggers"; + } + } + description + "Use the rib keyword to restrict switchover triggers to RIB events"; + } + container non-revertive { + presence "Indicates a non-revertive node is configured."; + description + "Non-revertive MoFRR"; + } + container clone { + description + "Use the clone keyword to clone"; + container joins { + description + "Use the join keyword to clone S,G as S1,G joins and S2,G joins"; + list join { + must "to"; + key "address"; + description + "Use the join keyword to clone S,G as S1,G joins as S2,G joins"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S"; + } + list to { + must "and"; + key "address"; + description + "to"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S1"; + } + list and { + must "masklen"; + key "address"; + description + "and"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S2"; + } + list masklen { + key "mask-length"; + description + "masklen"; + leaf mask-length { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + } + } + } + } + } + container sources { + description + "Use the source keyword to clone S,G as S1,G traffic and S2,G traffic"; + list source { + must "to"; + key "address"; + description + "Use the source keyword to clone S,G as S1,G traffic and S2,G traffic"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S"; + } + list to { + must "and"; + key "address"; + description + "to"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S1"; + } + list and { + must "masklen"; + key "address"; + description + "and"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Source S2"; + } + list masklen { + key "mask-length"; + description + "masklen"; + leaf mask-length { + type uint32 { + range "0..32" { + description + "masklen"; + } + } + description + "masklen"; + } + } + } + } + } + } + } + } + container sr-p2mp-policies { + description + "Segment-routing P2MP policy"; + list sr-p2mp-policy { + key "sr-p2mp-policy-id"; + description + "Segment-routing P2MP policy"; + leaf sr-p2mp-policy-id { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the P2MP policy"; + } + } + description + "Segment-routing P2MP policy"; + } + container static-group { + description + "ipv4 static multicast group"; + list group-address { + key "group-address"; + description + "ipv4 static multicast group"; + leaf group-address { + type inet:ipv4-address-no-zone; + description + "ipv4 static multicast group"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + } + container group-address-inc-masks { + description + "Group-address with increment mask for group address"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "Source address to join"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for group address"; + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + leaf group-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv4-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv4-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + } + } + } + } + } + container ipv6 { + description + "IPv6 Address Family"; + container rp-addresses { + description + "Configure Rendezvous Point"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + container bidir { + description + "Specify keyword bidir to configure a bidir RP"; + list rp-address { + key "address"; + description + "Configure Rendezvous Point"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Configure Rendezvous Point"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list of groups that should map to given RP"; + } + } + description + "Access list of groups that should map to given RP"; + } + container override { + presence "Indicates a override node is configured."; + description + "Static RP config overrides auto-rp and BSR"; + } + } + } + } + leaf rp-static-deny { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Configure static RP deny range"; + } + leaf accept-register { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Registers accept filter"; + } + container suppress-data-registers { + presence "Indicates a suppress-data-registers node is configured."; + description + "Suppress data registers after initial state setup"; + } + leaf register-source { + type xr:Interface-name; + description + "Source address to use for register messages"; + } + container suppress-rpf-change-prunes { + presence "Indicates a suppress-rpf-change-prunes node is configured."; + description + "Suppress prunes triggered as a result of RPF changes"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container convergence { + description + "Convergence related parameters"; + leaf rpf-conflict-join-delay { + type uint32 { + range "0..15" { + description + "Delay in seconds"; + } + } + description + "Delay in sending first join if RPF points to any downstream neighbor"; + } + leaf link-down-prune-delay { + type uint32 { + range "0..60" { + description + "Delay in seconds"; + } + } + description + "Delay prunes if route join state transitions to not-joined on link down"; + } + } + container spt-threshold { + description + "Configure threshold for switching to SPT on last-hop"; + container infinity { + presence "Indicates a infinity node is configured."; + description + "Always stay on shared-tree"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access-list of threshold limited groups"; + } + } + description + "Only stay on the shared-tree for specified groups"; + } + } + } + container old-register-checksum { + presence "Indicates a old-register-checksum node is configured."; + description + "Generate registers compatible with older IOS versions"; + } + container nsf { + description + "Configure Non-stop forwarding (NSF) options"; + leaf lifetime { + type uint32 { + range "10..600" { + description + "Maximum time for PIM NSF mode in seconds"; + } + } + description + "Override default maximum lifetime for PIM NSF mode"; + } + } + container neighbor-check-on-send { + description + "Check for PIM neighbor before sending control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + container neighbor-check-on-recv { + description + "Check for PIM neighbor before rcv'ing control messages"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable this feature"; + } + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "Inherited by all interfaces : Hello interval in seconds"; + } + leaf mdt-hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "Hello interval for all MDT interfaces (seconds)"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "Inherited by all interfaces : PIM Hello DR priority"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "Inherited by all interfaces : Join-Prune interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "Join-Prune MTU in bytes"; + } + } + description + "Inherited by all interfaces : Join-Prune MTU"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello Propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "Inherited by all interfaces : PIM Hello override interval"; + } + container global { + description + "Global maximum limits"; + container maximum { + description + "Maximum state limits"; + container routes { + presence "Indicates a routes node is configured."; + description + "PIM routes for all VRFs"; + leaf maximum-routes { + type uint32 { + range "1..200000" { + description + "Maximum PIM routes"; + } + } + mandatory true; + description + "PIM routes for all VRFs"; + } + leaf threshold { + type uint32 { + range "1..200000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-routes"; + description + "Set threshold to print warning"; + } + } + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM total interfaces on routes for all VRFs"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum PIM route-interfaces"; + } + } + mandatory true; + description + "PIM total interfaces on routes for all VRFs"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Set threshold to print warning"; + } + } + container register-states { + presence "Indicates a register-states node is configured."; + description + "PIM source register states for all VRFs"; + leaf maximum-register-states { + type uint32 { + range "0..75000" { + description + "Maximum PIM sparse-mode source register states"; + } + } + mandatory true; + description + "PIM source register states for all VRFs"; + } + leaf threshold { + type uint32 { + range "0..75000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-register-states"; + description + "Set threshold to print warning"; + } + } + container packet-queue { + description + "PIM Packet queue size in bytes"; + leaf high-priority { + type uint32 { + range "0..2147483648" { + description + "Maximum PIM routes"; + } + } + description + "PIM high priority packet queue size in bytes"; + } + leaf low-priority { + type uint32 { + range "0..2147483648" { + description + "Maximum PIM routes"; + } + } + description + "PIM low priority packet queue size in bytes"; + } + } + container group-mappings { + description + "PIM group-to-RP mapping ranges"; + container bsr { + presence "Indicates a bsr node is configured."; + description + "Learned through the BSR distribution mechanism"; + leaf maximum-bsr { + type uint32 { + range "1..10000" { + description + "Maximum PIM group-mapping learnt from BSR"; + } + } + mandatory true; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-bsr"; + description + "Set threshold to print warning"; + } + } + } + container bsr { + description + "BSR maximum C-RP cache setting"; + container crp-cache { + presence "Indicates a crp-cache node is configured."; + description + "Set maximum number of C-RP cache in BSR"; + leaf maximum-crp-cache { + type uint32 { + range "1..10000" { + description + "Maximum PIM BSR C-RP cache"; + } + } + mandatory true; + description + "Set maximum number of C-RP cache in BSR"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-crp-cache"; + description + "Set threshold to print warning"; + } + } + } + } + } + container maximum { + description + "Maximum state limits"; + container routes { + presence "Indicates a routes node is configured."; + description + "PIM routes"; + leaf maximum-routes { + type uint32 { + range "1..200000" { + description + "Maximum PIM routes"; + } + } + mandatory true; + description + "PIM routes"; + } + leaf threshold { + type uint32 { + range "1..200000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-routes"; + description + "Set threshold to print warning"; + } + } + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM total number of interfaces on all routes"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum PIM route-interfaces"; + } + } + mandatory true; + description + "PIM total number of interfaces on all routes"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Set threshold to print warning"; + } + } + container register-states { + presence "Indicates a register-states node is configured."; + description + "PIM source register states"; + leaf maximum-register-states { + type uint32 { + range "0..75000" { + description + "Maximum PIM sparse-mode source register states"; + } + } + mandatory true; + description + "PIM source register states"; + } + leaf threshold { + type uint32 { + range "0..75000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-register-states"; + description + "Set threshold to print warning"; + } + } + container group-mappings { + description + "PIM group-to-RP mapping ranges"; + container bsr { + presence "Indicates a group-mappings node is configured."; + description + "Learned through the BSR distribution mechanism"; + leaf maximum-bsr { + type uint32 { + range "1..10000" { + description + "Maximum PIM group mappings from elected BSR"; + } + } + mandatory true; + description + "Learned through the BSR distribution mechanism"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-bsr"; + description + "Set threshold to print warning"; + } + } + } + container bsr { + description + "BSR maximum C-RP cache setting"; + container crp-cache { + presence "Indicates a crp-cache node is configured."; + description + "Set maximum number of C-RP cache in BSR"; + leaf maximum-crp-cache { + type uint32 { + range "1..10000" { + description + "Maximum number of C-RP cache"; + } + } + mandatory true; + description + "Set maximum number of C-RP cache in BSR"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Threshold value"; + } + } + must ". <= ../maximum-crp-cache"; + description + "Set threshold to print warning"; + } + } + } + } + leaf convergence-timeout { + type uint32 { + range "1800..2400" { + description + "Unicast convergence fallback timer in seconds"; + } + } + description + "Timeout value for the RIB convergence notification"; + } + container log { + description + "Enable PIM logging"; + container neighbor { + description + "Enable PIM neighbor logging"; + container changes { + presence "Indicates a changes node is configured."; + description + "Enable PIM neighbor state logging"; + } + } + } + container rpf-vector { + presence "Indicates a rpf-vector node is configured."; + description + "Enable PIM RPF Vector"; + container allow-ebgp { + presence "Indicates a allow-ebgp node is configured."; + description + "Allow origination of RPF vector over an eBGP session"; + } + container disable-ibgp { + presence "Indicates a disable-ibgp node is configured."; + description + "Disable origination of RPF vector over an iBGP session"; + } + container use-standard-encoding { + presence "Indicates a use-standard-encoding node is configured."; + description + "Use RFC standard encode type"; + } + } + container rpf { + description + "RPF commands"; + container topology { + description + "Select RPF topology"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select RPF topology"; + } + } + } + container mdt { + description + "Multicast Distribution Tree commands"; + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Neighbor filter"; + } + container data { + description + "Data MDT Options"; + leaf switchover-interval { + type uint32 { + range "3..60" { + description + "Interval value in seconds"; + } + } + description + "Data MDT switchover interval"; + } + leaf announce-interval { + type uint32 { + range "3..120" { + description + "Interval value in seconds"; + } + } + description + "Periodic Data MDT Join TLV interval"; + } + leaf max-aggregation { + type uint32 { + range "1..16777215" { + description + "Aggregation value"; + } + } + description + "Data MDT max-aggregation"; + } + } + container c-multicast-routing { + presence "Indicates a c-multicast-routing node is configured."; + description + "MVPN customer routing commands"; + leaf type { + type enumeration { + enum "pim" { + value 1; + description + "PIM customer multicast routing"; + } + enum "bgp" { + value 2; + description + "BGP customer multicast routing"; + } + } + mandatory true; + description + "MVPN customer routing commands"; + } + container announce-pim-join-tlv { + presence "Indicates a announce-pim-join-tlv node is configured."; + description + "Announce PIM MDT Join TLVs"; + } + container suppress-shared-tree-join { + presence "Indicates a suppress-shared-tree-join node is configured."; + description + "Suppress shared tree joins"; + } + container suppress-pim-data-signaling { + presence "Indicates a suppress-pim-data-signaling node is configured."; + description + "Suppress PIM data signaling"; + } + container mdt-hello { + when "../type != 'pim'"; + description + "PIM Hellos over MDT"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable PIM Hellos over MDT"; + } + } + leaf shared-tree-prune-delay { + type uint32 { + range "0..1800" { + description + "Delay in seconds."; + } + } + description + "Delay before pruning I-S PMSI from S,G when SA received"; + } + leaf source-tree-prune-delay { + type uint32 { + range "0..300" { + description + "Delay in seconds."; + } + } + description + "Delay before removing PMSI from olist after BGP withdrawal"; + } + container migration { + presence "Indicates a migration node is configured."; + description + "customer routing migration"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to select customer routing"; + } + } + container unicast-reachability { + description + "Control addition of Extended Communities to Unicast VPN-IP routes"; + container connector { + description + "Enable/Disable Connector"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Connector Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Connector Attribute"; + } + } + container source-as { + description + "Enable/Disable Source AS"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable Source-AS Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable Source-AS Attribute"; + } + } + container vrf-route-import { + description + "Enable/Disable VRF Route Import"; + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable VRF Route Import Attribute"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable VRF Route Import Attribute"; + } + } + } + } + } + container allow-rp { + presence "Indicates a allow-rp node is configured."; + description + "Sparse-Mode RP addresses to be allowed"; + leaf rp-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "ACL Name for rp-list"; + } + } + description + "Access-list for allowed RP addresses"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access name for group-list"; + } + } + description + "Access-list for allowed group ranges"; + } + } + container sg-expiry-timer { + presence "Indicates a sg-expiry-timer node is configured."; + description + "Configure SG expiry timer"; + leaf sg-expiry-timer-value { + type uint32 { + range "40..57600" { + description + "Duration of the expiry timer interval, in seconds"; + } + } + mandatory true; + description + "Configure SG expiry timer"; + } + leaf sg-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IP named access list"; + } + } + description + "Access-list of (S,G) routes for which expiry timer is applicable"; + } + } + container ssm { + description + "Configure a group range for Source-Specific use"; + leaf range { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Access list specifying SSM group range"; + } + } + must "not(../disable)"; + description + "Provide ACL that specifies non-standard SSM range"; + } + container disable { + must "not(../range)"; + presence "Indicates a disable node is configured."; + description + "Disable use of all SSM group ranges"; + } + container allow-override { + presence "Indicates a allow-override node is configured."; + description + "Allow SSM ranges to be overridden by more specific ranges"; + } + } + container multipath { + presence "Indicates a multipath node is configured."; + description + "Enable equal-cost multipath routing"; + container hash { + must "interface-extended or source-nexthop or source-group"; + presence "Indicates a hash node is configured."; + description + "Enter a hashing algorithm"; + container interface-extended { + must "not(../source-nexthop) and not(../source-group)"; + presence "Indicates a interface-extended node is configured."; + description + "Enable interface extensions for non-unique next-hop addrs"; + } + container source-nexthop { + must "not(../interface-extended) and not(../source-group)"; + presence "Indicates a source-nexthop node is configured."; + description + "Enable source with next-hop multipath hashing (better distribution)"; + } + container source-group { + must "not(../source-nexthop) and not(../interface-extended)"; + presence "Indicates a source-group node is configured."; + description + "Enable source, group based multipath hashing (Compatible with IOS versions)"; + } + } + } + container interface { + description + "PIM interface configuration subcommands"; + container interfaces { + description + "Select an interface to configure"; + list interface { + key "interface-name"; + description + "Select an interface to configure"; + leaf interface-name { + type xr:Interface-name; + description + "Select an interface to configure"; + } + leaf dr-priority { + type uint32 { + range "0..4294967295" { + description + "Hello DR priority, preference given to larger value"; + } + } + description + "PIM Hello DR priority"; + } + leaf hello-interval { + type uint32 { + range "1..3600" { + description + "Hello interval in seconds"; + } + } + description + "PIM neighbor Hello announcement interval"; + } + leaf join-prune-interval { + type uint32 { + range "10..600" { + description + "Join-Prune interval in seconds"; + } + } + description + "PIM periodic Join-Prune announcement interval"; + } + leaf join-prune-mtu { + type uint32 { + range "576..65535" { + description + "MTU to use in bytes"; + } + } + description + "MTU to use when sending PIM J/P packets"; + } + leaf propagation-delay { + type uint32 { + range "100..32767" { + description + "Propagatoin delay in milliseconds"; + } + } + description + "PIM Hello propagation delay"; + } + leaf override-interval { + type uint32 { + range "400..65535" { + description + "Override interval in milliseconds"; + } + } + description + "PIM Hello override interval"; + } + container bsr-border { + presence "Indicates a bsr-border node is configured."; + description + "Do not fwd BSR messages on this interface"; + } + container enable { + must "not(../disable)"; + presence "Indicates a enable node is configured."; + description + "Enable PIM processing on this interface"; + } + container disable { + must "not(../enable)"; + presence "Indicates a disable node is configured."; + description + "Disable PIM processing on this interface"; + } + leaf neighbor-filter { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list specifying neighbor address"; + } + } + description + "PIM Neighbor filter on this interface"; + } + container maximum { + description + "Per interface maximum state limits"; + container route-interfaces { + presence "Indicates a route-interfaces node is configured."; + description + "PIM downstream joined interfaces"; + leaf maximum-route-interfaces { + type uint32 { + range "1..1100000" { + description + "Maximum number of allowed routes for this interface"; + } + } + mandatory true; + description + "PIM downstream joined interfaces"; + } + leaf threshold { + type uint32 { + range "1..1100000" { + description + "Threshold warning"; + } + } + must ". <= ../maximum-route-interfaces"; + description + "Threshold warning"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + description + "Name of ACL that specifies to which routes to apply the maximum limit"; + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + } + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + container sticky-dr { + presence "Indicates a sticky-dr node is configured."; + description + "Enable sticky DR on this interface"; + } + } + } + } + container bsr { + description + "BSR Configurations"; + container candidate-bsr { + presence "Indicates a candidate-bsr node is configured."; + description + "configure candidate BSR"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IP address of configured BSR"; + } + leaf hash-mask-len { + type uint32 { + range "0..128" { + description + "mask length"; + } + } + mandatory true; + description + "BSR Hash Mask Length"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + mandatory true; + description + "BSR Priority"; + } + } + container candidate-rps { + description + "BSR Candidate RP Configurations"; + list candidate-rp { + must "(priority and interval) or (bidir/priority and bidir/interval)"; + key "address"; + description + "BSR Candidate RP Configurations"; + leaf address { + type inet:ipv6-address-no-zone; + description + "BSR Candidate RP Configurations"; + } + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + container bidir { + description + "To specify group ranges as Bidir"; + leaf group-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "access-list"; + } + } + description + "Group List access-list"; + } + leaf priority { + type uint32 { + range "1..255" { + description + "priority"; + } + } + description + "C-RP Priority"; + } + leaf interval { + type uint32 { + range "30..600" { + description + "interval in second"; + } + } + description + "C-RP Advertisement interval"; + } + } + } + } + container relay { + description + "BSR RP relay config"; + container vrfs { + description + "vrf"; + list vrf { + key "vrf-name"; + description + "vrf"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "vrf-name"; + } + } + description + "vrf"; + } + container listen { + presence "Indicates a listen node is configured."; + description + "Enable RP relay in listen mode"; + } + } + } + } + } + container sr-p2mp-policies { + description + "Segment-routing P2MP policy"; + list sr-p2mp-policy { + key "sr-p2mp-policy-id"; + description + "Segment-routing P2MP policy"; + leaf sr-p2mp-policy-id { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of the P2MP policy"; + } + } + description + "Segment-routing P2MP policy"; + } + container static-group { + description + "ipv6 static multicast group"; + list group-address { + key "group-address"; + description + "ipv6 static multicast group"; + leaf group-address { + type inet:ipv6-address-no-zone; + description + "ipv6 static multicast group"; + } + container group-address-only { + presence "Indicates a group-address-only node is configured."; + description + "Group-address without increment mask/source-address"; + } + container group-address-inc-masks { + description + "Group-address with increment mask for group address"; + list inc-mask { + key "group-mask-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address { + description + "Group-address with source-address"; + list source-address { + key "source-address"; + description + "Source address to join"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + } + } + container group-address-inc-mask-source-address { + description + "Group-address with increment-mask and source-address"; + list inc-mask { + key "group-mask-address source-address"; + description + "Increment mask for group address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + } + } + container group-address-source-address-inc-mask { + description + "Group-address and source-address with increment-mask"; + list inc-mask { + key "source-address source-mask-address"; + description + "Increment mask for group address"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + container group-inc-mask-source-inc-mask { + description + "Group-address with increment-mask and source-address with increment-mask"; + list inc-mask { + key "group-mask-address source-address source-mask-address"; + leaf group-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for group address"; + } + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Source address to join"; + } + leaf source-mask-address { + type inet:ipv6-address-no-zone; + description + "Increment mask for source address"; + } + leaf group-address-count { + type uint32 { + range "1..512" { + description + "No. of group addresses to join"; + } + } + mandatory true; + description + "No. of group addresses to join"; + } + leaf source-address-count { + type uint32 { + range "1..512" { + description + "No. of source addresses to join"; + } + } + mandatory true; + description + "No. of source addresses to join"; + } + } + } + } + } + } + } + container embedded-rp { + description + "Set Embedded RP processing support"; + list ip-addresses { + key "ip-address"; + description + "IP name or address of Rendezvous Point"; + leaf ip-address { + type inet:ipv6-address-no-zone; + description + "IP name or address of Rendezvous Point"; + } + leaf access-list-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Access list of groups that should map to given RP"; + } + } + mandatory true; + description + "Access list of groups that should map to given RP"; + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Embedded RP processing"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rib-cfg.yang new file mode 100644 index 000000000..4157a9bef --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rib-cfg.yang @@ -0,0 +1,468 @@ +module Cisco-IOS-XR-um-router-rib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-rib-cfg"; + prefix um-router-rib-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-vrf-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-rib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-10 { + description + "Added container rump under container address-famility/ipv4 and ipv6."; + semver:module-version "1.1.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + augment "/a1:address-family/a1:ipv4/a1:unicast" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + augment "/a1:address-family/a1:ipv4/a1:multicast/a1:topologies/a1:topology" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + augment "/a1:address-family/a1:ipv6/a1:unicast" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + augment "/a1:address-family/a1:ipv6/a1:multicast/a1:topologies/a1:topology" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + augment "/a1:vrfs/a1:vrf/a1:address-family/a1:ipv4/a1:unicast" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + augment "/a1:vrfs/a1:vrf/a1:address-family/a1:ipv4/a1:multicast" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + augment "/a1:vrfs/a1:vrf/a1:address-family/a1:ipv6/a1:unicast" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + augment "/a1:vrfs/a1:vrf/a1:address-family/a1:ipv6/a1:multicast" { + container maximum { + description + "Set maximum prefix limit"; + container prefix { + presence "Indicates a prefix node is configured."; + description + "Set table's maximum prefix limit"; + leaf prefix-limit { + type uint32 { + range "32..10000000" { + description + "Maximum table's prefix limit"; + } + } + mandatory true; + description + "Set table's maximum prefix limit"; + } + leaf mid-thresh { + type uint32 { + range "1..100" { + description + "mid-thresh (% of max)"; + } + } + description + "mid-thresh (% of max)"; + } + } + } + } + container router { + description + "Enable a routing process"; + container rib { + description + "RIB configuration subcommands"; + container address-family { + description + "RIB address family configuration subcommands"; + container ipv4 { + description + "IPv4 commands"; + container next-hop { + description + "Set next-hop configuration"; + container dampening { + description + "Set next-hop dampening"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable next-hop dampening"; + } + } + } + container redistribution-history { + description + "Redistribution history related commands."; + container size { + description + "Number of routes to store in history."; + leaf bcdl { + type uint32 { + range "10..2000000" { + description + "Maximum BCDL redistribution history size."; + } + } + description + "BCDL clients only"; + } + leaf protocols { + type uint32 { + range "10..250000" { + description + "Maximum protocol redistribution history size."; + } + } + description + "Protocol clients only"; + } + } + container keep { + description + "Retain redistribution history after disconnect."; + container bcdl { + presence "Indicates a bcdl node is configured."; + description + "Retain BCDL history."; + } + } + } + container rump { + description + "RUMP related commands."; + leaf always-replicate { + type string { + length "0..800" { + description + "Access list"; + } + } + description + "Replicate routes from uRIB to muRIB always."; + } + } + } + container ipv6 { + description + "IPv6 commands"; + container next-hop { + description + "Set next-hop configuration"; + container dampening { + description + "Set next-hop dampening"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable next-hop dampening"; + } + } + } + container redistribution-history { + description + "Redistribution history related commands."; + container size { + description + "Number of routes to store in history."; + leaf bcdl { + type uint32 { + range "10..2000000" { + description + "Maximum BCDL redistribution history size."; + } + } + description + "BCDL clients only"; + } + leaf protocols { + type uint32 { + range "10..250000" { + description + "Maximum protocol redistribution history size."; + } + } + description + "Protocol clients only"; + } + } + container keep { + description + "Retain redistribution history after disconnect."; + container bcdl { + presence "Indicates a bcdl node is configured."; + description + "Retain BCDL history."; + } + } + } + container rump { + description + "RUMP related commands."; + leaf always-replicate { + type string { + length "0..800" { + description + "Access list"; + } + } + description + "Replicate routes from uRIB to muRIB always."; + } + } + } + } + leaf recursion-depth-max { + type uint32 { + range "5..16" { + description + "Maximum depth for route recursion check."; + } + } + description + "Set maximum depth for route recursion check."; + } + container instrument-flag { + presence "Indicates a instrument-flag node is configured."; + description + "instrumentation flag"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rip-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rip-cfg.yang new file mode 100644 index 000000000..4df24799f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-rip-cfg.yang @@ -0,0 +1,1814 @@ +module Cisco-IOS-XR-um-router-rip-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-rip-cfg"; + prefix um-router-rip-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-rip package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-11 { + description + "Added route-policy-out support + 2021-11-30 + Initial release"; + semver:module-version "1.1.0"; + } + revision 2021-05-02 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container router { + description + "Enable a routing process"; + container rip { + presence "Indicates a rip node is configured."; + description + "RIP configuration subcommands"; + container vrfs { + description + "Enter the RIP vrf configuration submode"; + list vrf { + key "vrf-name"; + description + "Enter the RIP vrf configuration submode"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "VRF name"; + } + } + description + "Enter the RIP vrf configuration submode"; + } + container broadcast-for-v2 { + presence "Indicates a broadcast-for-v2 node is configured."; + description + "Send RIP v2 output packets to broadcast address"; + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + } + } + leaf default-metric { + type uint32 { + range "1..15" { + description + "Default metric"; + } + } + description + "Set metric of redistributed routes"; + } + leaf maximum-paths { + type uint32 { + range "1..128" { + description + "Number of paths"; + } + } + description + "Maximum number of paths allowed per route"; + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "address"; + description + "Specify a neighbor router"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify a neighbor router"; + } + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + container nsf { + presence "Indicates a nsf node is configured."; + description + "Enable Cisco Non Stop Forwarding"; + } + leaf output-delay { + type uint32 { + range "8..50" { + description + "Delay in milliseconds"; + } + } + description + "Interpacket delay for RIP updates"; + } + container timers { + description + "Adjust routing timers"; + leaf basic { + type uint32 { + range "5..50000" { + description + "Interval between updates"; + } + } + must "../invalid and ../holddown and ../flush"; + description + "Basic routing protocol update timers"; + } + leaf invalid { + type uint32 { + range "15..200000" { + description + "Invalid"; + } + } + must "../basic and ../holddown and ../flush"; + description + "Invalid"; + } + leaf holddown { + type uint32 { + range "15..200000" { + description + "Holddown"; + } + } + must "../invalid and ../basic and ../flush"; + description + "Holddown"; + } + leaf flush { + type uint32 { + range "16..250000" { + description + "Flush"; + } + } + must "../invalid and ../holddown and ../basic"; + description + "Flush"; + } + } + leaf distance { + type uint32 { + range "0..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + container validate-update-source { + description + "Validate source address of routing updates"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not validate source address of routing updates"; + } + } + container auto-summary { + presence "Indicates a auto-summary node is configured."; + description + "Enable automatic network number summarization"; + } + container redistribute { + description + "Redistribute information from another routing protocol"; + list ospf { + key "instance-name"; + description + "Open Shortest Path First (OSPF)"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Process ID for the OSPF instance"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes only"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes only"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list isis { + key "instance-name"; + description + "ISO IS-IS"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IS-IS instance name"; + } + } + description + "ISO IS-IS"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf level { + type enumeration { + enum "level-1" { + value 1; + description + "IS-IS level-1 routes only"; + } + enum "level-2" { + value 2; + description + "IS-IS level-2 routes only"; + } + enum "level-1-2" { + value 3; + description + "IS-IS level-1 and level-2 routes"; + } + } + description + "configure this node"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf bgp-routes-only { + type enumeration { + enum "internal" { + value 512; + description + "BGP internal routes only"; + } + enum "external" { + value 1024; + description + "BGP external routes only"; + } + enum "local" { + value 2048; + description + "BGP local routes only"; + } + } + description + "configure this node"; + } + } + } + } + container interfaces { + description + "Enter the RIP interface configuration submode"; + list interface { + key "interface-name"; + description + "Enter the RIP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "Enter the RIP interface configuration submode"; + } + container send { + description + "Advertisement transmission"; + container version { + description + "Version control"; + container one { + presence "Indicates a one node is configured."; + description + "RIP version 1"; + } + container two { + presence "Indicates a two node is configured."; + description + "RIP version 2"; + } + } + } + container receive { + description + "Advertisement reception"; + container version { + description + "Version control"; + container one { + presence "Indicates a one node is configured."; + description + "RIP version 1"; + } + container two { + presence "Indicates a two node is configured."; + description + "RIP version 2"; + } + } + } + container site-of-origin { + presence "Indicates a site-of-origin node is configured."; + description + "SOO community for prefixes learned over this interface"; + leaf node-type { + type enumeration { + enum "2-byte-as" { + value 0; + description + "2-byte AS format"; + } + enum "4-byte-as" { + value 2; + description + "4-byte AS format"; + } + enum "ipv4-address" { + value 1; + description + "ipv4 address"; + } + } + must "../as or ../ip-address"; + mandatory true; + description + "site of origin"; + } + leaf as { + type xr:Bgp-as-number; + must "../asn2-index"; + description + "bgp as-number"; + } + leaf asn2-index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + must "../as"; + description + "ASN2:index (hex or decimal format)"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + must "../ipv4address-index"; + description + "IPv4 address"; + } + leaf ipv4address-index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + must "../ip-address"; + description + "IPv4Address:index (hex or decimal format)"; + } + } + container authentication { + description + "Authentication control"; + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain"; + } + } + description + "Configure an authentication key chain"; + } + leaf mode { + type enumeration { + enum "text" { + value 2; + description + "Clear text authentication"; + } + enum "md5" { + value 3; + description + "Keyed message digest"; + } + } + description + "Authentication mode"; + } + } + container broadcast-for-v2 { + presence "Indicates a broadcast-for-v2 node is configured."; + description + "Specify broadcast address for RIP v2 output packet"; + } + container metric-zero-accept { + presence "Indicates a metric-zero-accept node is configured."; + description + "Accept rip update with metric 0"; + } + container split-horizon { + description + "Disable split horizon"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horzon"; + } + } + container poison-reverse { + presence "Indicates a poison-reverse node is configured."; + description + "Enable poison reverse"; + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on this interface"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + } + } + container address-family { + description + "RIP VRF address-family configuration submode"; + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6 Address Family"; + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + } + } + leaf default-metric { + type uint32 { + range "1..15" { + description + "Default metric"; + } + } + description + "Set metric of redistributed routes"; + } + leaf maximum-paths { + type uint32 { + range "1..128" { + description + "Number of paths"; + } + } + description + "Maximum number of paths allowed per route"; + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "address"; + description + "Specify a neighbor router"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Specify a neighbor router"; + } + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + leaf distance { + type uint32 { + range "0..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + container ipv6-addresses { + description + "IPv6 prefix/length"; + list ipv6-address { + must "distance"; + key "address length"; + description + "IPv6 prefix/length"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 prefix/length"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "IPv6 prefix/length"; + } + leaf distance { + type uint32 { + range "0..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container ospfv3s { + description + "Open Shortest Path First (OSPFv3)"; + list ospfv3 { + key "instance-name"; + description + "Open Shortest Path First (OSPFv3)"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Process ID for the OSPFv3 instance"; + } + } + description + "Open Shortest Path First (OSPFv3)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container match { + description + "Redistribution of OSPFv3 routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPFv3 internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPFv3 external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes only"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes only"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPFv3 NSSA external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list isis { + key "instance-name"; + description + "ISO IS-IS"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IS-IS instance name"; + } + } + description + "ISO IS-IS"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf level { + type enumeration { + enum "level-1" { + value 1; + description + "IS-IS level-1 routes only"; + } + enum "level-2" { + value 2; + description + "IS-IS level-2 routes only"; + } + enum "level-1-2" { + value 3; + description + "IS-IS level-1 and level-2 routes"; + } + } + description + "configure this node"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf bgp-routes-only { + type enumeration { + enum "internal" { + value 512; + description + "BGP internal routes only"; + } + enum "external" { + value 1024; + description + "BGP external routes only"; + } + enum "local" { + value 2048; + description + "BGP local routes only"; + } + } + description + "configure this node"; + } + } + } + } + container interfaces { + description + "Enter the RIP interface configuration submode"; + list interface { + key "interface-name"; + description + "Enter the RIP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "Enter the RIP interface configuration submode"; + } + container metric-zero-accept { + presence "Indicates a metric-zero-accept node is configured."; + description + "Accept rip update with metric 0"; + } + container split-horizon { + description + "Disable split horizon"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horzon"; + } + } + container poison-reverse { + presence "Indicates a poison-reverse node is configured."; + description + "Enable poison reverse"; + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on this interface"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + } + } + } + } + } + } + container broadcast-for-v2 { + presence "Indicates a broadcast-for-v2 node is configured."; + description + "Send RIP v2 output packets to broadcast address"; + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + } + } + leaf default-metric { + type uint32 { + range "1..15" { + description + "Default metric"; + } + } + description + "Set metric of redistributed routes"; + } + leaf maximum-paths { + type uint32 { + range "1..128" { + description + "Number of paths"; + } + } + description + "Maximum number of paths allowed per route"; + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "address"; + description + "Specify a neighbor router"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify a neighbor router"; + } + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + container nsf { + presence "Indicates a nsf node is configured."; + description + "Enable Cisco Non Stop Forwarding"; + } + leaf output-delay { + type uint32 { + range "8..50" { + description + "Delay in milliseconds"; + } + } + description + "Interpacket delay for RIP updates"; + } + container timers { + description + "Adjust routing timers"; + leaf basic { + type uint32 { + range "5..50000" { + description + "Interval between updates"; + } + } + must "../invalid and ../holddown and ../flush"; + description + "Basic routing protocol update timers"; + } + leaf invalid { + type uint32 { + range "15..200000" { + description + "Invalid"; + } + } + must "../basic and ../holddown and ../flush"; + description + "Invalid"; + } + leaf holddown { + type uint32 { + range "15..200000" { + description + "Holddown"; + } + } + must "../invalid and ../basic and ../flush"; + description + "Holddown"; + } + leaf flush { + type uint32 { + range "16..250000" { + description + "Flush"; + } + } + must "../invalid and ../holddown and ../basic"; + description + "Flush"; + } + } + leaf distance { + type uint32 { + range "0..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + container validate-update-source { + description + "Validate source address of routing updates"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not validate source address of routing updates"; + } + } + container auto-summary { + presence "Indicates a auto-summary node is configured."; + description + "Enable automatic network number summarization"; + } + container redistribute { + description + "Redistribute information from another routing protocol"; + list ospf { + key "instance-name"; + description + "Open Shortest Path First (OSPF)"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Process ID for the OSPF instance"; + } + } + description + "Open Shortest Path First (OSPF)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container match { + description + "Redistribution of OSPF routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPF internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPF external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes only"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes only"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPF NSSA external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list isis { + key "instance-name"; + description + "ISO IS-IS"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IS-IS instance name"; + } + } + description + "ISO IS-IS"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf level { + type enumeration { + enum "level-1" { + value 1; + description + "IS-IS level-1 routes only"; + } + enum "level-2" { + value 2; + description + "IS-IS level-2 routes only"; + } + enum "level-1-2" { + value 3; + description + "IS-IS level-1 and level-2 routes"; + } + } + description + "configure this node"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf bgp-routes-only { + type enumeration { + enum "internal" { + value 512; + description + "BGP internal routes only"; + } + enum "external" { + value 1024; + description + "BGP external routes only"; + } + enum "local" { + value 2048; + description + "BGP local routes only"; + } + } + description + "configure this node"; + } + } + } + } + container interfaces { + description + "Enter the RIP interface configuration submode"; + list interface { + key "interface-name"; + description + "Enter the RIP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "Enter the RIP interface configuration submode"; + } + container send { + description + "Advertisement transmission"; + container version { + description + "Version control"; + container one { + presence "Indicates a one node is configured."; + description + "RIP version 1"; + } + container two { + presence "Indicates a two node is configured."; + description + "RIP version 2"; + } + } + } + container receive { + description + "Advertisement reception"; + container version { + description + "Version control"; + container one { + presence "Indicates a one node is configured."; + description + "RIP version 1"; + } + container two { + presence "Indicates a two node is configured."; + description + "RIP version 2"; + } + } + } + container site-of-origin { + presence "Indicates a site-of-origin node is configured."; + description + "SOO community for prefixes learned over this interface"; + leaf node-type { + type enumeration { + enum "2-byte-as" { + value 0; + description + "2-byte AS format"; + } + enum "4-byte-as" { + value 2; + description + "4-byte AS format"; + } + enum "ipv4-address" { + value 1; + description + "ipv4 address"; + } + } + must "../as or ../ip-address"; + mandatory true; + description + "site of origin"; + } + leaf as { + type xr:Bgp-as-number; + must "../asn2-index"; + description + "bgp as-number"; + } + leaf asn2-index { + type uint32 { + range "0..4294967295" { + description + "ASN2:index (hex or decimal format)"; + } + } + must "../as"; + description + "ASN2:index (hex or decimal format)"; + } + leaf ip-address { + type inet:ipv4-address-no-zone; + must "../ipv4address-index"; + description + "IPv4 address"; + } + leaf ipv4address-index { + type uint32 { + range "0..65535" { + description + "IPv4Address:index (hex or decimal format)"; + } + } + must "../ip-address"; + description + "IPv4Address:index (hex or decimal format)"; + } + } + container authentication { + description + "Authentication control"; + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain"; + } + } + description + "Configure an authentication key chain"; + } + leaf mode { + type enumeration { + enum "text" { + value 2; + description + "Clear text authentication"; + } + enum "md5" { + value 3; + description + "Keyed message digest"; + } + } + description + "Authentication mode"; + } + } + container broadcast-for-v2 { + presence "Indicates a broadcast-for-v2 node is configured."; + description + "Specify broadcast address for RIP v2 output packet"; + } + container metric-zero-accept { + presence "Indicates a metric-zero-accept node is configured."; + description + "Accept rip update with metric 0"; + } + container split-horizon { + description + "Disable split horizon"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horzon"; + } + } + container poison-reverse { + presence "Indicates a poison-reverse node is configured."; + description + "Enable poison reverse"; + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on this interface"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + } + } + container address-family { + description + "RIP address-family configuration submode"; + container ipv6 { + presence "Indicates a ipv6 node is configured."; + description + "IPv6 Address Family"; + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Indicates a originate node is configured."; + description + "Distribute a default route"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy to specify criteria to originate default"; + } + } + } + leaf default-metric { + type uint32 { + range "1..15" { + description + "Default metric"; + } + } + description + "Set metric of redistributed routes"; + } + leaf maximum-paths { + type uint32 { + range "1..128" { + description + "Number of paths"; + } + } + description + "Maximum number of paths allowed per route"; + } + container neighbors { + description + "Specify a neighbor router"; + list neighbor { + key "address"; + description + "Specify a neighbor router"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Specify a neighbor router"; + } + } + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + leaf distance { + type uint32 { + range "0..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + container ipv6-addresses { + description + "IPv6 prefix/length"; + list ipv6-address { + must "distance"; + key "address length"; + description + "IPv6 prefix/length"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 prefix/length"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "IPv6 prefix/length"; + } + leaf distance { + type uint32 { + range "0..255" { + description + "Administrative distance"; + } + } + description + "Define an administrative distance"; + } + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + container ospfv3s { + description + "Open Shortest Path First (OSPFv3)"; + list ospfv3 { + key "instance-name"; + description + "Open Shortest Path First (OSPFv3)"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Process ID for the OSPFv3 instance"; + } + } + description + "Open Shortest Path First (OSPFv3)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + container match { + description + "Redistribution of OSPFv3 routes"; + container internal { + presence "Indicates a internal node is configured."; + description + "Redistribute OSPFv3 internal routes"; + } + container external { + presence "Indicates a external node is configured."; + description + "Redistribute OSPFv3 external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute external type 1 routes only"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute external type 2 routes only"; + } + } + container nssa-external { + presence "Indicates a nssa-external node is configured."; + description + "Redistribute OSPFv3 NSSA external routes"; + container one { + must "not(../two)"; + presence "Indicates a one node is configured."; + description + "Redistribute NSSA external type 1 routes"; + } + container two { + must "not(../one)"; + presence "Indicates a two node is configured."; + description + "Redistribute NSSA external type 2 routes"; + } + } + } + } + } + container connected { + presence "Indicates a connected node is configured."; + description + "Connected"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + container static { + presence "Indicates a static node is configured."; + description + "Static"; + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list eigrp { + key "as-number"; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + leaf as-number { + type uint32 { + range "1..65535" { + description + "Autonomous system number"; + } + } + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + } + list isis { + key "instance-name"; + description + "ISO IS-IS"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "IS-IS instance name"; + } + } + description + "ISO IS-IS"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf level { + type enumeration { + enum "level-1" { + value 1; + description + "IS-IS level-1 routes only"; + } + enum "level-2" { + value 2; + description + "IS-IS level-2 routes only"; + } + enum "level-1-2" { + value 3; + description + "IS-IS level-1 and level-2 routes"; + } + } + description + "configure this node"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list as { + key "as-number"; + description + "bgp as-number"; + leaf as-number { + type xr:Bgp-as-number; + description + "bgp as-number"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Route policy reference"; + } + leaf bgp-routes-only { + type enumeration { + enum "internal" { + value 512; + description + "BGP internal routes only"; + } + enum "external" { + value 1024; + description + "BGP external routes only"; + } + enum "local" { + value 2048; + description + "BGP local routes only"; + } + } + description + "configure this node"; + } + } + } + } + container interfaces { + description + "Enter the RIP interface configuration submode"; + list interface { + key "interface-name"; + description + "Enter the RIP interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "Enter the RIP interface configuration submode"; + } + container metric-zero-accept { + presence "Indicates a metric-zero-accept node is configured."; + description + "Accept rip update with metric 0"; + } + container split-horizon { + description + "Disable split horizon"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable split horzon"; + } + } + container poison-reverse { + presence "Indicates a poison-reverse node is configured."; + description + "Enable poison reverse"; + } + container passive-interface { + presence "Indicates a passive-interface node is configured."; + description + "Suppress routing updates on this interface"; + } + leaf route-policy { + type xr:Route-policy-name; + description + "Apply route policy to routing updates"; + } + leaf route-policy-out { + type xr:Route-policy-name; + description + "Apply route policy to outbound routing updates"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-static-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-static-cfg.yang new file mode 100644 index 000000000..4642d774f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-static-cfg.yang @@ -0,0 +1,11819 @@ +module Cisco-IOS-XR-um-router-static-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-static-cfg"; + prefix um-router-static-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-static package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-18 { + description + "Added algorithm node support under ipv6 hierarchy. + 2022-01-25 + Added container srv6 under segment-routing ipv6 unicast."; + semver:module-version "2.0.1m"; + } + revision 2021-01-19 { + description + "Added must constraints under list node prefix and vrf."; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.1.0"; + } + revision 2019-04-04 { + description + "Initial version"; + } + + container router { + description + "Enable a routing process"; + container static { + description + "Static route configuration subcommands"; + container address-family { + description + "Static route address family configuration subcommands"; + container ipv4 { + description + "IPv4 commands"; + container unicast { + description + "Unicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type xr:Cisco-ios-xr-string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + container topologies { + description + "Topology static route configuration subcommands"; + list topology { + key "topology-name"; + description + "Topology static route configuration subcommands"; + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Topology name"; + } + } + description + "Topology static route configuration subcommands"; + } + } + } + } + container multicast { + description + "Multicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + container topologies { + description + "Topology static route configuration subcommands"; + list topology { + key "topology-name"; + description + "Topology static route configuration subcommands"; + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Topology name"; + } + } + description + "Topology static route configuration subcommands"; + } + container prefixes { + description + "Destination prefix"; + list prefix { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + } + } + } + } + container ipv6 { + description + "IPv6 commands"; + container unicast { + description + "Unicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + segment-routing/srv6/endpoint/behavior/vrf or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + } + } + container srv6 { + description + "srv6 specific commands"; + container endpoint { + description + "srv6 endpoint for this prefix"; + container behavior { + description + "endpoint behaviour dx4, dt4 etc."; + list vrf { + must "udt46 or dt46"; + key "vrf-name"; + description + "vrf"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Use the default vrf"; + } + } + type string { + length "1..32" { + description + "vrf name"; + } + } + } + description + "vrf"; + } + container udt46 { + must "not(../dt46)"; + presence "Indicates a u-dt46 node is configured."; + description + "udt46 behavior"; + } + container dt46 { + must "not(../dt46)"; + presence "Indicates a dt46 node is configured."; + description + "dt46 behavior"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + container topologies { + description + "Topology static route configuration subcommands"; + list topology { + key "topology-name"; + description + "Topology static route configuration subcommands"; + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Topology name"; + } + } + description + "Topology static route configuration subcommands"; + } + } + } + } + container multicast { + description + "Multicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + container topologies { + description + "Topology static route configuration subcommands"; + list topology { + key "topology-name"; + description + "Topology static route configuration subcommands"; + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..63" { + description + "Topology name"; + } + } + description + "Topology static route configuration subcommands"; + } + container prefixes { + description + "Destination prefix"; + list prefix { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + } + } + } + } + } + container vrfs { + description + "VRF Static route configuration subcommands"; + list vrf { + key "vrf-name"; + description + "VRF Static route configuration subcommands"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF Static route configuration subcommands"; + } + container address-family { + description + "Static route address family configuration subcommands"; + container ipv4 { + description + "IPv4 commands"; + container unicast { + description + "Unicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + } + container multicast { + description + "Multicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv4-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + } + } + container ipv6 { + description + "IPv6 commands"; + container unicast { + description + "Unicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + } + container multicast { + description + "Multicast commands"; + container prefixes { + description + "Destination prefix"; + list prefix { + must + "segment-routing/mpls/path/names/name or + sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address or + nexthop-addresses/nexthop-address-segment-routing or + vrfs/vrf-only or vrfs/vrf/sr-policies/sr-policy or + vrfs/vrf/nexthop-interfaces/nexthop-interface or + vrfs/vrf/nexthop-interface-addresses/nexthop-interface-address or + vrfs/vrf/nexthop-addresses/nexthop-address"; + key "prefix-address prefix-length"; + description + "Destination prefix"; + leaf prefix-address { + type inet:ipv6-address-no-zone; + description + "Destination prefix"; + } + leaf prefix-length { + type uint32 { + range "0..128"; + } + description + "Destination prefix length"; + } + container segment-routing { + description + "Configure Static Segment Routing"; + container mpls { + description + "Configure mpls path name"; + container path { + description + "Configure path name"; + container names { + description + "Configure path name"; + list name { + key "path-name"; + description + "Configure path name"; + leaf path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + } + } + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + list nexthop-address-segment-routing { + key "address mpls-path-name"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + leaf mpls-path-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Path name"; + } + } + description + "Configure path name"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + } + container vrfs { + description + "Destination VRF"; + list vrf-only { + key "vrf-name"; + description + "Destination only VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + } + list vrf { + must + "sr-policies/sr-policy or + nexthop-interfaces/nexthop-interface or + nexthop-interface-addresses/nexthop-interface-address or + nexthop-addresses/nexthop-address"; + key "vrf-name"; + description + "Destination VRF"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "Destination VRF"; + } + container sr-policies { + description + "segment routing policy"; + list sr-policy { + key "sr-policy-name"; + description + "segment routing policy"; + leaf sr-policy-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SR policy name"; + } + } + description + "segment routing policy"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interfaces { + description + "Forwarding interface"; + list nexthop-interface { + key "interface-name"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-interface-addresses { + description + "Forwarding interface"; + list nexthop-interface-address { + key "interface-name address"; + description + "Forwarding interface"; + leaf interface-name { + type xr:Interface-name; + description + "Forwarding interface"; + } + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + container nexthop-addresses { + description + "Forwarding router's address"; + list nexthop-address { + key "address"; + description + "Forwarding router's address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Forwarding router's address"; + } + container bfd { + description + "Configure BFD paramenters"; + container fast-detect { + presence "Indicates a fast-detect node is configured."; + description + "Enable Fast detection"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + container multihop { + presence "Indicates a multihop node is configured."; + description + "Enable BFD Multihop"; + leaf address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "Source address"; + } + } + } + } + leaf distance-metric { + type uint32 { + range "1..254" { + description + "Distance metric for this route"; + } + } + description + "Distance metric for this route"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Set tag for this route"; + } + } + description + "Set tag for this route"; + } + container permanent { + presence "Indicates a permanent node is configured."; + description + "Permanent route"; + } + leaf vrflabel { + type uint32 { + range "0..4294967295" { + description + "VRF label"; + } + } + description + "VRF label"; + } + leaf tunnel-id { + type uint32 { + range "0..4294967295" { + description + "Tunnel ID"; + } + } + description + "Tunnel ID"; + } + leaf description { + type string { + length "1..30" { + description + "short description of static route"; + } + } + description + "description of the static route"; + } + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Object to be tracked"; + } + } + description + "Enable object tracking for static route"; + } + leaf metric { + type uint32 { + range "1..16777214" { + description + "Set metric for this route"; + } + } + description + "Set metric for this route"; + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Set algorithm value for this route"; + } + } + description + "Set algorithm value for this route"; + } + container prefer-rib-over-ldp { + presence "Indicates a prefer-rib-over-ldp node is configured."; + description + "Flag passed to rib to prefer rib over ldp"; + } + } + } + } + } + } + } + } + } + } + } + } + container maximum { + description + "Limit the number of static paths which may be configured"; + container path { + description + "Limit the number of static paths which may be configured"; + container ipv4 { + description + "IPv4 commands"; + leaf maximum-number { + type uint32 { + range "1..140000" { + description + "The maximum number of static paths which can be configured"; + } + } + description + "The maximum number of static paths which can be configured"; + } + } + container ipv6 { + description + "IPv6 commands"; + leaf maximum-number { + type uint32 { + range "1..140000" { + description + "The maximum number of static paths which can be configured"; + } + } + description + "The maximum number of static paths which can be configured"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-vrrp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-vrrp-cfg.yang new file mode 100644 index 000000000..bc132ccf4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-router-vrrp-cfg.yang @@ -0,0 +1,713 @@ +module Cisco-IOS-XR-um-router-vrrp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-vrrp-cfg"; + prefix um-router-vrrp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR router-vrrp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container vrrp { + description + "Enable VRRP traps"; + container events { + presence "Indicates a events node is configured."; + description + "Enable all VRRP event traps"; + } + } + } + container router { + description + "Enable a routing process"; + container vrrp { + presence "Indicates a vrrp node is configured."; + description + "VRRP configuration subcommands"; + container interfaces { + description + "VRRP interface configuration subcommands"; + list interface { + key "interface-name"; + description + "VRRP interface configuration subcommands"; + leaf interface-name { + type xr:Interface-name; + description + "VRRP interface configuration subcommands"; + } + container address-family { + description + "VRRP address family"; + container ipv4 { + description + "IPv4 address family"; + container vrrps { + description + "VRRP configuration"; + list vrrp { + key "vrrp-id version"; + description + "VRRP configuration"; + leaf vrrp-id { + type uint32 { + range "1..255" { + description + "Virtual Router Identifier"; + } + } + description + "VRRP configuration"; + } + leaf version { + type uint32 { + range "2..3" { + description + "VRID version"; + } + } + description + "VRRP version"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Enable VRRP and specify IP address(es)"; + } + container secondary-addresses { + description + "VRRP IPv4 address"; + list secondary-address { + key "address"; + description + "VRRP IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "VRRP IPv4 address"; + } + } + } + leaf priority { + type uint32 { + range "1..254" { + description + "Priority value"; + } + } + description + "Set priority level"; + } + container timer { + description + "Set advertisement timer"; + leaf advertisement-time-in-seconds { + type uint32 { + range "1..255" { + description + "Advertisement time in seconds"; + } + } + must "not(../advertisement-time-in-milliseconds)"; + description + "Advertisement time in seconds"; + } + leaf advertisement-time-in-milliseconds { + type uint32 { + range "100..40950" { + description + "Advertisement time in milliseconds (100-40950)"; + } + } + must "../force and not(../advertisement-time-in-seconds)"; + description + "Configure in milliseconds"; + } + container force { + presence "Indicates a force node is configured."; + description + "Force the configured values to be used"; + } + } + container preempt { + description + "Preempt Primary router if higher priority"; + container disable { + must "not(../delay)"; + presence "Indicates a disable node is configured."; + description + "Disable preemption"; + } + leaf delay { + type uint32 { + range "1..3600" { + description + "Number of seconds to delay"; + } + } + must "not(../disable)"; + description + "Wait before preempting"; + } + } + container accept-mode { + description + "Accept mode status for this IP"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable accept mode"; + } + } + container track { + description + "Track an item, reducing priority if it goes down"; + container interfaces { + description + "Track an interface"; + list interface { + key "interface-name"; + description + "Track an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Track an interface"; + } + leaf priority-decrement { + type uint32 { + range "1..254" { + description + "Priority decrement"; + } + } + description + "Priority decrement"; + } + } + } + container objects { + description + "Object Tracking"; + list object { + key "object-name"; + description + "Object Tracking"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Object to be tracked"; + } + } + description + "Object to be tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..254" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + description + "Enable Fast detection"; + container peer { + description + "Information about VRRP peer for BFD monitoring"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "BFD peer interface IPv4 address"; + } + } + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRRP Session name, 15 chars max"; + } + } + description + "Configure VRRP Session name"; + } + leaf text-authentication { + type xr:Cisco-ios-xr-string { + length "1..8" { + description + "Authentication password, 8 chars max"; + } + } + description + "Set plain text authentication string"; + } + } + } + container vrrp-subordinates { + description + "VRRP configuration"; + list vrrp-subordinate { + key "vrrp-id"; + description + "VRRP configuration"; + leaf vrrp-id { + type uint32 { + range "1..255" { + description + "Virtual Router Identifier"; + } + } + description + "VRRP configuration"; + } + leaf address { + type inet:ipv4-address-no-zone; + description + "Specify Virtual IP address(es)"; + } + container secondary-addresses { + description + "VRRP IPv4 address"; + list secondary-address { + key "address"; + description + "VRRP IPv4 address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "VRRP IPv4 address"; + } + } + } + container accept-mode { + description + "Accept mode status for this IP"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable accept mode"; + } + } + leaf follow { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session"; + } + } + description + "Follow specified MGO session"; + } + } + } + } + container ipv6 { + description + "IPv6 address family"; + container vrrps { + description + "VRRP configuration"; + list vrrp { + key "vrrp-id"; + description + "VRRP configuration"; + leaf vrrp-id { + type uint32 { + range "1..255" { + description + "Virtual Router Identifier"; + } + } + description + "VRRP configuration"; + } + container address { + description + "Enable VRRP and specify IP address(es)"; + container global { + description + "Global VRRP IPv6 address"; + list global-address { + key "address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Set Global VRRP IPv6 address"; + } + } + } + container lonklocal { + description + "VRRP IPv6 linklocal address"; + leaf linklocal-address { + type inet:ipv6-address-no-zone; + must "not(../autoconfig)"; + description + "VRRP IPv6 linklocal address"; + } + container autoconfig { + must "not(../linklocal-address)"; + presence "Indicates a autoconfig node is configured."; + description + "Autoconfigure the VRRP IPv6 linklocal address"; + } + } + } + leaf priority { + type uint32 { + range "1..254" { + description + "Priority value"; + } + } + description + "Set priority level"; + } + container timer { + description + "Set advertisement timer"; + leaf advertisement-time-in-seconds { + type uint32 { + range "1..255" { + description + "Advertisement time in seconds"; + } + } + must "not(../advertisement-time-in-milliseconds)"; + description + "Advertisement time in seconds"; + } + leaf advertisement-time-in-milliseconds { + type uint32 { + range "100..40950" { + description + "Advertisement time in milliseconds (100-40950)"; + } + } + must "../force and not(../advertisement-time-in-seconds)"; + description + "Configure in milliseconds"; + } + container force { + presence "Indicates a force node is configured."; + description + "Force the configured values to be used"; + } + } + container preempt { + description + "Preempt Primary router if higher priority"; + container disable { + must "not(../delay)"; + presence "Indicates a disable node is configured."; + description + "Disable preemption"; + } + leaf delay { + type uint32 { + range "1..3600" { + description + "Number of seconds to delay"; + } + } + must "not(../disable)"; + description + "Wait before preempting"; + } + } + container accept-mode { + description + "Accept mode status for this IP"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable accept mode"; + } + } + container track { + description + "Track an item, reducing priority if it goes down"; + container interfaces { + description + "Track an interface"; + list interface { + key "interface-name"; + description + "Track an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Track an interface"; + } + leaf priority-decrement { + type uint32 { + range "1..254" { + description + "Priority decrement"; + } + } + description + "Priority decrement"; + } + } + } + container objects { + description + "Object Tracking"; + list object { + key "object-name"; + description + "Object Tracking"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Object to be tracked"; + } + } + description + "Object to be tracked"; + } + leaf priority-decrement { + type uint32 { + range "1..254" { + description + "Priority decrement"; + } + } + mandatory true; + description + "Priority decrement"; + } + } + } + } + container bfd { + description + "Configure BFD parameters"; + container fast-detect { + description + "Enable Fast detection"; + container peer { + description + "Information about VRRP peer for BFD monitoring"; + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "VRRP BFD remote interface IP address"; + } + } + } + } + leaf name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRRP Session name, 15 chars max"; + } + } + description + "Configure VRRP Session name"; + } + } + } + container vrrp-subordinates { + description + "VRRP configuration"; + list vrrp-subordinate { + key "vrrp-id"; + description + "VRRP configuration"; + leaf vrrp-id { + type uint32 { + range "1..255" { + description + "Virtual Router Identifier"; + } + } + description + "VRRP configuration"; + } + container address { + description + "Enable VRRP and specify IP address(es)"; + container global { + description + "Global VRRP IPv6 address"; + list global-address { + key "address"; + leaf address { + type inet:ipv6-address-no-zone; + description + "Set Global VRRP IPv6 address"; + } + } + } + container lonklocal { + description + "VRRP IPv6 linklocal address"; + leaf linklocal-address { + type inet:ipv6-address-no-zone; + must "not(../autoconfig)"; + description + "VRRP IPv6 linklocal address"; + } + container autoconfig { + must "not(../linklocal-address)"; + presence "Indicates a autoconfig node is configured."; + description + "Autoconfigure the VRRP IPv6 linklocal address"; + } + } + } + container accept-mode { + description + "Accept mode status for this IP"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable accept mode"; + } + } + leaf follow { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "MGO session"; + } + } + description + "Follow specified MGO session"; + } + } + } + } + } + container delay { + description + "Set activation delay for vrrp"; + leaf minimum { + type uint32 { + range "0..10000" { + description + "Minimum delay in seconds"; + } + } + must "../reload"; + description + "Set minimum delay on every interface up event"; + } + leaf reload { + type uint32 { + range "0..10000" { + description + "Reload delay in seconds"; + } + } + must "../minimum"; + description + "Set reload delay for first interface up event"; + } + } + container bfd { + description + "Configure BFD parameters"; + leaf minimum-interval { + type uint32 { + range "3..30000" { + description + "hello interval in milli-seconds"; + } + } + description + "Hello interval"; + } + leaf multiplier { + type uint32 { + range "2..50" { + description + "Detect multiplier"; + } + } + description + "Detect multiplier"; + } + } + leaf mac-refresh { + type uint32 { + range "0..10000" { + description + "MAC-refresh rate in seconds"; + } + } + description + "Set the Subordinate MAC-refresh rate for this interface"; + } + } + } + container message { + description + "VRRP IOS messages"; + container state { + description + "VRRP state change messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-rsvp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-rsvp-cfg.yang new file mode 100644 index 000000000..dfbd607a8 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-rsvp-cfg.yang @@ -0,0 +1,1317 @@ +module Cisco-IOS-XR-um-rsvp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-rsvp-cfg"; + prefix um-rsvp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR rsvp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-08-10 { + description + "Added missing CLI config for CLI keyword retransmit-queue-depth to nodes"; + semver:module-version "2.0.1m"; + } + revision 2021-01-28 { + description + "Added cisco-support task yang nodes"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "- Added 'default' container under bandwidth which corredsponds to + empty CLI keyword 'bandwidth' + - Added necessary 'must' statement within bandwidth block + - Established semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + container rsvp { + description + "Global RSVP configuration commands"; + container interfaces { + description + "Enable RSVP on an interface"; + list interface { + key "interface-name"; + description + "Enable RSVP on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Enable RSVP on an interface"; + } + container bandwidth { + description + "Configure RSVP bandwidth parameters"; + container default { + must "not(../rdm or ../percentage or ../global-pool or ../bc0 or ../total-reservable-bandwidth)"; + presence "Indicates a default node is configured."; + description + "Configure RSVP default bandwidth"; + } + container rdm { + must "not(../default or ../percentage or ../global-pool or ../bc0 or ../total-reservable-bandwidth) and ((percentage and not(total-reservable-bandwidth or global-pool or bc0)) or (total-reservable-bandwidth and not(percentage or global-pool or bc0)) or (global-pool and not(percentage or total-reservable-bandwidth or bc0)) or (bc0 and not(percentage or total-reservable-bandwidth or global-pool)))"; + presence "Indicates a rdm node is configured."; + description + "Configure bandwidth as Russian Doll Model"; + container percentage { + must "((total-reservable-bandwidth and not(global-pool or bc0)) or (global-pool and not(total-reservable-bandwidth or bc0)) or (bc0 and not(total-reservable-bandwidth or global-pool)))"; + presence "Indicates a percentage node is configured."; + description + "Supply bandwidths as percentages of physical link bandwidth"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + } + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..10000" { + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + must "../total-reservable-bandwidth"; + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container global-pool { + presence "Indicates a global-pool node is configured."; + description + "Configure bandwidth in global pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..10000" { + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + container sub-pool { + must "../total-reservable-bandwidth or ../global-pool"; + presence "Indicates a sub-pool node is configured."; + description + "Configure bandwidth in sub-pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Reservable bandwidth in sub-pool as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + container bc0 { + presence "Indicates a bc0 node is configured."; + description + "Configure bandwidth in BC0 pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..10000" { + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container bc1 { + presence "Indicates a bc1 node is configured."; + description + "Configure bandwidth in BC1 pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Reservable bandwidth in sub-pool as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + } + } + leaf total-reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Total reservable bandwidth (in Kbps)"; + } + } + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..4294967295" { + description + "Largest reservable flow (in Kbps)"; + } + } + must "../total-reservable-bandwidth"; + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container global-pool { + presence "Indicates a global-pool node is configured."; + description + "Configure bandwidth in global pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Total reservable bandwidth (in Kbps)"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..4294967295" { + description + "Largest reservable flow (in Kbps)"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + container sub-pool { + must "../total-reservable-bandwidth or ../global-pool"; + presence "Indicates a sub-pool node is configured."; + description + "Configure bandwidth in sub-pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Reservable bandwidth in sub-pool (in Kbps)"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + container bc0 { + presence "Indicates a bc0 node is configured."; + description + "Configure bandwidth in BC0 pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Total reservable bandwidth (in Kbps)"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..4294967295" { + description + "Largest reservable flow (in Kbps)"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container bc1 { + presence "Indicates a bc1 node is configured."; + description + "COnfigure bandwidth in BC1 pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Reservable bandwidth in sub-pool (in Kbps)"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + } + } + container percentage { + must "not(../default or ../rdm or ../global-pool or ../bc0 or ../total-reservable-bandwidth) and ((total-reservable-bandwidth and not(global-pool or bc0)) or (global-pool and not(total-reservable-bandwidth or bc0)) or (bc0 and not(total-reservable-bandwidth or global-pool)))"; + presence "Indicates a percentage node is configured."; + description + "Supply bandwidths as percentages of physical link bandwidth"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + } + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..10000" { + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + must "../total-reservable-bandwidth"; + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container global-pool { + presence "Indicates a global-pool node is configured."; + description + "Configure bandwidth in global pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..10000" { + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + container sub-pool { + must "../total-reservable-bandwidth or ../global-pool"; + presence "Indicates a sub-pool node is configured."; + description + "Configure bandwidth in sub-pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Reservable bandwidth in sub-pool as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + container bc0 { + presence "Indicates a bc0 node is configured."; + description + "Configure bandwidth in BC0 pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..10000" { + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container bc1 { + presence "Indicates a bc1 node is configured."; + description + "Configure bandwidth in BC1 pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Reservable bandwidth in sub-pool as percentage of physical link bandwidth"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + } + } + container global-pool { + must "not(../default or ../rdm or ../percentage or ../bc0 or ../total-reservable-bandwidth)"; + presence "Indicates a global-pool node is configured."; + description + "Configure bandwidth in global pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Total reservable bandwidth (in Kbps)"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..4294967295" { + description + "Largest reservable flow (in Kbps)"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + container sub-pool { + must "../total-reservable-bandwidth or ../global-pool"; + presence "Indicates a sub-pool node is configured."; + description + "Configure bandwidth in sub-pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Reservable bandwidth in sub-pool (in Kbps)"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + container bc0 { + must "not(../default or ../rdm or ../percentage or ../global-pool or ../total-reservable-bandwidth)"; + presence "Indicates a bc0 node is configured."; + description + "Configure bandwidth in BC0 pool"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Total reservable bandwidth (in Kbps)"; + } + } + mandatory true; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..4294967295" { + description + "Largest reservable flow (in Kbps)"; + } + } + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container bc1 { + presence "Indicates a bc1 node is configured."; + description + "Configure bandwidth in BC1 pool"; + leaf reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Reservable bandwidth in sub-pool (in Kbps)"; + } + } + mandatory true; + description + "Reservable bandwidth in sub-pool"; + } + } + } + leaf total-reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Total reservable bandwidth (in Kbps)"; + } + } + must "not(../default or ../rdm or ../percentage or ../global-pool or ../bc0)"; + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..4294967295" { + description + "Largest reservable flow (in Kbps)"; + } + } + must "../total-reservable-bandwidth"; + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + container mam { + description + "Maximum Allocation Model"; + container percentage { + description + "Supply bandwidths as percentages of physical link bandwidth"; + container max-reservable-bw { + presence "Indicates a max-reservable-bw node is configured."; + description + "Maximum reservable bandwidth"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + } + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..10000" { + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + } + must "../total-reservable-bandwidth"; + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + leaf bc0 { + type uint32 { + range "0..10000" { + description + "Reservable bandwidth in bc0 as percentage of physical link bandwidth"; + } + } + description + "Reservable bandwidth in bc0"; + } + leaf bc1 { + type uint32 { + range "0..10000" { + description + "Reservable bandwidth in bc1 as percentage of physical link bandwidth"; + } + } + must "../bc0"; + description + "Reservable bandwidth in bc1"; + } + } + } + container max-reservable-bw { + presence "Indicates a max-reservable-bw node is configured."; + description + "Maximum reservable bandwidth"; + leaf total-reservable-bandwidth { + type uint32 { + range "0..4294967295" { + description + "Total reservable bandwidth (in Kbps)"; + } + } + description + "Total reservable bandwidth as percentage of physical link bandwidth"; + } + leaf largest-reservable-flow { + type uint32 { + range "0..4294967295" { + description + "Largest reservable flow (in Kbps)"; + } + } + must "../total-reservable-bandwidth"; + description + "Largest reservable flow as percentage of physical link bandwidth"; + } + leaf bc0 { + type uint32 { + range "0..4294967295" { + description + "Reservable bandwidth in bc0 (in Kbps)"; + } + } + description + "Reservable bandwidth in bc0"; + } + leaf bc1 { + type uint32 { + range "0..4294967295" { + description + "Reservable bandwidth in bc1 (in Kbps, Mbps or Gbps)"; + } + } + must "../bc0"; + description + "Reservable bandwidth in bc1"; + } + } + } + } + container signalling { + description + "Configure RSVP signalling parameters"; + leaf dscp { + type uint32 { + range "0..63" { + description + "Differentiated Services Code Point (DSCP)"; + } + } + description + "Set DSCP for RSVP signalling messages"; + } + container rate-limit { + description + "Configure message rate limit (pacing) options"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable message rate limit"; + } + leaf rate { + type uint32 { + range "1..500" { + description + "Number of messages to be sent per interval"; + } + } + must "../interval"; + description + "Set message rate"; + } + leaf interval { + type uint32 { + range "250..2000" { + description + "Size of an interval (milliseconds)"; + } + } + description + "Set scheduling interval"; + } + } + container refresh { + description + "Configure refresh options"; + leaf interval { + type uint32 { + range "10..180" { + description + "Refresh interval (seconds)"; + } + } + description + "Set interval between successive refreshes"; + } + leaf missed { + type uint32 { + range "1..8" { + description + "Number of Messages"; + } + } + description + "Set max number of consecutive missed messages for state expiry"; + } + container out-of-band { + description + "Configure refresh options for out-of-band tunnels"; + leaf interval { + type uint32 { + range "180..86400" { + description + "Refresh interval (seconds)"; + } + } + description + "Set interval between successive refreshes"; + } + leaf missed { + type uint32 { + range "1..110000" { + description + "Number of Messages"; + } + } + description + "Set max number of consecutive missed messages for state expiry"; + } + } + container reduction { + description + "Configure refresh reduction options"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable refresh reduction"; + } + container reliable { + description + "Configure refresh reduction reliability options"; + leaf ack-hold-time { + type uint32 { + range "100..5000" { + description + "ACK message hold time (milliseconds)"; + } + } + description + "Set hold time for sending RSVP ACK message(s)"; + } + leaf ack-max-size { + type uint32 { + range "20..65000" { + description + "Max size of an ACK message (bytes)"; + } + } + description + "Set max size of a single RSVP ACK message"; + } + leaf retransmit-time { + type uint32 { + range "100..10000" { + description + "Min time before RSVP messages retransmit (milliseconds)"; + } + } + description + "Set min delay to wait for an ACK before a retransmit"; + } + leaf retransmit-queue-depth { + type uint32 { + range "0..100000" { + description + "Number of sub-msgs queued for Rapid Retransmit"; + } + } + description + "Set rapid retransmit queue depth"; + } + container summary-refresh { + presence "Indicates a summary-refresh node is configured."; + description + "Configure use of reliable messaging for summary refresh"; + } + } + container summary { + description + "Configure refresh reduction summary options"; + leaf max-size { + type uint32 { + range "20..65000" { + description + "Max size (bytes)"; + } + } + description + "Set max size of a single RSVP summary refresh message"; + } + } + leaf bundle-max-size { + type uint32 { + range "512..65000" { + description + "Max size (bytes)"; + } + } + description + "Set max size of a single RSVP bundle message"; + } + } + } + container hello { + description + "Configure Hello parameters"; + container graceful-restart { + description + "Configure Graceful-Restart Hello parameters"; + container interface-based { + presence "Indicates a interface-based node is configured."; + description + "Configure Interface-based Hello"; + } + } + } + } + container authentication { + description + "Configure RSVP authentication parameters"; + container key-source { + description + "Specify key-source for authenticating RSVP signalling messages"; + leaf key-chain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of key-chain"; + } + } + description + "Use key-chain to authenticate RSVP signalling messages"; + } + } + leaf window-size { + type uint32 { + range "1..64" { + description + "Window-size to restrict out of order messages"; + } + } + description + "Use window-size to limit number of out-of-order messages"; + } + leaf life-time { + type uint32 { + range "30..86400" { + description + "Life-time (in seconds) for each security association"; + } + } + description + "Use to associate life-time for each security association"; + } + } + } + } + container controllers { + description + "Enable RSVP on controller"; + list controller { + key "controller-name"; + description + "Enable RSVP on controller"; + leaf controller-name { + type xr:Interface-name; + description + "Name of controller"; + } + container signalling { + description + "Configure RSVP signalling parameters"; + container refresh { + description + "Configure refresh options"; + container out-of-band { + description + "Configure refresh options for out-of-band tunnels"; + leaf interval { + type uint32 { + range "180..86400" { + description + "Refresh interval (seconds)"; + } + } + description + "Set interval between successive refreshes"; + } + leaf missed { + type uint32 { + range "1..110000" { + description + "Number of Messages"; + } + } + description + "Set max number of consecutive missed messages for state expiry"; + } + } + } + } + } + } + container signalling { + description + "Configure global RSVP signalling parameters"; + container graceful-restart { + presence "Indicates a graceful-restart node is configured."; + description + "Configure RSVP Graceful-Restart parameters"; + } + container graceful-restart-lsp-type { + presence "Indicates a graceful-restart-lsp-type node is configured."; + description + "Configure to send LSP's ctype for Recovery and Suggested label"; + } + leaf graceful-restart-recovery-time { + type uint32 { + range "0..3600" { + description + "Recovery time (seconds)"; + } + } + } + leaf graceful-restart-restart-time { + type uint32 { + range "60..3600" { + description + "Restart time (seconds)"; + } + } + description + "Configure the restart-time"; + } + container hello { + description + "Configure Hello parameters"; + container graceful-restart { + description + "Configure Graceful-Restart Hello parameters"; + container refresh { + description + "Configure Graceful-Restart Hello refresh parameters"; + leaf interval { + type uint32 { + range "3000..30000" { + description + "Hello interval (milliseconds)"; + } + } + description + "Set interval between successive Hello messages"; + } + leaf misses { + type uint32 { + range "1..10" { + description + "Number of messages"; + } + } + description + "Set max number of consecutive missed Hello messages"; + } + } + } + } + leaf event-per-pulse { + type uint32 { + range "0..1600" { + description + "Max event per Pulse"; + } + } + description + "Set Max event sent per pulse"; + } + container prefix-filtering { + description + "Enable prefix-filtering for an access-list"; + leaf access-list { + type string { + length "1..32" { + description + "Access list name - maximum 32 characters"; + } + } + description + "Specify access-list name"; + } + container default-deny-action { + description + "Action to take when ACL match returns default deny"; + container drop { + presence "Indicates a drop node is configured."; + description + "Drop the packet"; + } + } + } + container message-bundle { + description + "Sending bundled messages"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable bundling of outgoing RSVP messages"; + } + } + container patherr { + description + "Path Error message"; + container state-removal { + description + "State-Removal flag in Path Error message"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable State-Removal flag for Path Error"; + } + } + } + container checksum { + description + "RSVP message checksum computation"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable RSVP message checksum computation/validation"; + } + } + container out-of-band { + description + "Configure out-of-band signalling parameters"; + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF used for out-of-band control signalling"; + } + } + } + container authentication { + description + "Configure RSVP authentication parameters"; + container key-source { + description + "Specify key-source for authenticating RSVP signalling messages"; + leaf key-chain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of key-chain"; + } + } + description + "Use key-chain to authenticate RSVP signalling messages"; + } + } + leaf window-size { + type uint32 { + range "1..64" { + description + "Window-size to restrict out of order messages"; + } + } + description + "Use window-size to limit number of out-of-order messages"; + } + leaf life-time { + type uint32 { + range "30..86400" { + description + "Life-time (in seconds) for each security association"; + } + } + description + "Use to associate life-time for each security association"; + } + leaf retransmit { + type uint32 { + range "0..10000" { + description + "Number of states to retransmit when messages are dropped to prevent OOS."; + } + } + description + "Configure retransmit options"; + } + } + container neighbors { + description + "Configure RSVP neighbors for RSVP authentication"; + list neighbor { + key "neighbor-address"; + description + "Configure RSVP neighbors for RSVP authentication"; + leaf neighbor-address { + type inet:ipv4-address-no-zone; + description + "Configure RSVP neighbors for RSVP authentication"; + } + container authentication { + description + "Configure RSVP authentication parameters"; + container key-source { + description + "Specify key-source for authenticating RSVP signalling messages"; + leaf key-chain { + type string { + length "1..32" { + description + "Name of key-chain"; + } + } + description + "Use key-chain to authenticate RSVP signalling messages"; + } + } + leaf window-size { + type uint32 { + range "1..64" { + description + "Window-size to restrict out of order messages"; + } + } + description + "Use window-size to limit number of out-of-order messages"; + } + leaf life-time { + type uint32 { + range "30..86400" { + description + "Life-time (in seconds) for each security association"; + } + } + description + "Use to associate life-time for each security association"; + } + } + } + } + container bandwidth { + description + "Configure RSVP default I/F bandwidth parameters"; + container mam { + description + "Maximum Allocation Model"; + container percentage { + description + "Supply bandwidths as percentages of physical link bandwidth"; + container max-reservable { + presence "Indicates a max-reservable node is configured."; + description + "Maximum reservable bandwidth"; + leaf max-reservable-bandwidth { + type uint32 { + range "0..10000" { + description + "B/W I/F percentage"; + } + } + mandatory true; + description + "Maximum reservable bandwidth"; + } + leaf bc0 { + type uint32 { + range "0..10000" { + description + "B/W I/F percentage"; + } + } + description + "BC0 pool"; + } + leaf bc1 { + type uint32 { + range "0..10000" { + description + "B/W I/F percentage"; + } + } + description + "BC1 pool"; + } + } + } + } + container rdm { + description + "Russian Doll Model"; + container percentage { + description + "Supply bandwidths as percentages of physical link bandwidth"; + container max-reservable-bc0 { + presence "Indicates a max-reservable-bc0 node is configured."; + description + "Maximum reservable/BC0"; + leaf bc0 { + type uint32 { + range "0..10000" { + description + "B/W I/F percentage"; + } + } + mandatory true; + description + "Maximum reservable/BC0"; + } + leaf bc1 { + type uint32 { + range "0..10000" { + description + "B/W I/F percentage"; + } + } + description + "BC1 pool"; + } + } + } + } + } + container latency { + description + "Set the latency attributes"; + leaf threshold { + type uint32 { + range "0..180" { + description + "Set the latency threshold to a time in seconds"; + } + } + description + "Set the latency threshold to a value in seconds (default 60)"; + } + } + container logging { + description + "RSVP logging configuration"; + container events { + description + "Global logging events"; + container nsr { + presence "Indicates a nsr node is configured."; + description + "Enable NSR Status Logging"; + } + container issu { + presence "Indicates a issu node is configured."; + description + "Enable ISSU Status Logging"; + } + } + } + container ltrace-buffer { + description + "RSVP trace buffer files"; + container multiplier { + presence "Indicates a multiplier node is configured."; + description + "trace buffer file size multiplier"; + leaf multiplier-factor { + type uint32 { + range "2..6" { + description + "Multiplier factor"; + } + } + mandatory true; + description + "trace buffer file size multiplier"; + } + container rare { + presence "Indicates a rare node is configured."; + description + "Rare trace buffer"; + } + container common { + presence "Indicates a common node is configured."; + description + "Common trace buffer"; + } + container sig { + presence "Indicates a sig node is configured."; + description + "Signalling trace buffer"; + } + container sig-err { + presence "Indicates a sig-err node is configured."; + description + "Signalling errors trace buffer"; + } + container intf { + presence "Indicates a intf node is configured."; + description + "Interface trace buffer"; + } + container dbg-err { + presence "Indicates a dbg-err node is configured."; + description + "Debug errors trace buffer"; + } + container sync { + presence "Indicates a sync node is configured."; + description + "Sync trace buffer"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-sap-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-sap-cfg.yang new file mode 100644 index 000000000..76ce0383f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-sap-cfg.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-um-sap-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-sap-cfg"; + prefix um-sap-cfg; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR sap package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container sap { + description + "SAP Commands"; + container listens { + description + "Listen to the session announcements via SAP"; + list listen { + key "group-address"; + description + "Listen to the session announcements via SAP"; + leaf group-address { + type inet:ipv4-address-no-zone; + description + "Group to listen to for announcements"; + } + } + } + leaf cache-timeout { + type uint32 { + range "1..1440" { + description + "Time (in minutes)"; + } + } + description + "Define time period for which SAP entry will remain active"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-script-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-script-cfg.yang new file mode 100644 index 000000000..5efc3141c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-script-cfg.yang @@ -0,0 +1,248 @@ +module Cisco-IOS-XR-um-script-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-script-cfg"; + prefix um-script-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR script package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-18 { + description + "Added Activate node + 2022-09-06 + Added precommit support + 2022-02-17 + Added snmp support"; + semver:module-version "1.0.1m"; + } + revision 2021-04-19 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature exec-supported { + description + "Exec supported"; + } + + feature process-supported { + description + "Process supported"; + } + + feature snmp-supported { + description + "Snmp supported"; + } + + container script { + description + "Commands for activating on-box scripts"; + container execs { + description + "Configure exec script"; + list exec { + if-feature "exec-supported"; + must "checksum/disable-checksum-security or checksum/sha256"; + key "exec-name"; + description + "Configure exec script"; + leaf exec-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "specify the filename of the script"; + } + } + description + "Configure exec script"; + } + container checksum { + description + "Specify a checksum for the script, or disable checksum enforcement"; + container disable-checksum-security { + must "not(../sha256)"; + presence "Indicates a disable-checksum-security node is configured."; + description + "Disable checksum enforcement for this script"; + } + leaf sha256 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "The SHA256 hash (64 hex characters) "; + } + } + must "not(../disable-checksum-security)"; + description + "Specify an SHA256 checksum"; + } + } + } + } + container processes { + description + "Configure Process script"; + list process { + if-feature "process-supported"; + must "checksum/disable-checksum-security or checksum/sha256"; + key "process-name"; + description + "Configure Process script"; + leaf process-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "specify the filename of the script"; + } + } + description + "Configure Process script"; + } + container checksum { + description + "Specify a checksum for the script, or disable checksum enforcement"; + container disable-checksum-security { + must "not(../sha256)"; + presence "Indicates a disable-checksum-security node is configured."; + description + "Disable checksum enforcement for this script"; + } + leaf sha256 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "The SHA256 hash (64 hex characters) "; + } + } + must "not(../disable-checksum-security)"; + description + "Specify an SHA256 checksum"; + } + } + } + } + container snmps { + description + "Configure snmp script"; + list snmp { + if-feature "snmp-supported"; + must "checksum/disable-checksum-security or checksum/sha256"; + key "snmp-name"; + description + "Configure snmp script"; + leaf snmp-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "specify the filename of the script"; + } + } + description + "Configure snmp script"; + } + container checksum { + description + "Specify a checksum for the script, or disable checksum enforcement"; + container disable-checksum-security { + must "not(../sha256)"; + presence "Indicates a disable-checksum-security node is configured."; + description + "Disable checksum enforcement for this script"; + } + leaf sha256 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "The SHA256 hash (64 hex characters) "; + } + } + must "not(../disable-checksum-security)"; + description + "Specify an SHA256 checksum"; + } + } + } + } + container precommit { + description + "Configure Precommit script"; + container script-names { + description + "Specify the filename of the script (must end in .py)"; + list script-name { + key "script-name"; + description + "Specify the filename of the script (must end in .py)"; + leaf script-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Specify the filename of the script (must end in .py)"; + } + pattern "[a-zA-Z0-9_.-]+"; + } + description + "Specify the filename of the script (must end in .py)"; + } + container checksum { + description + "Specify a checksum for the script"; + leaf sha256 { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "The SHA256 hash (64 hex characters) "; + } + pattern "[A-Fa-f0-9]{64}"; + } + description + "Specify an SHA256 checksum"; + } + leaf priority { + type uint32 { + range "1..100" { + description + "priority of script"; + } + } + description + "priority"; + } + } + container activate { + presence "Indicates a activate node is configured."; + description + "Activate precommit script"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-cfg.yang new file mode 100644 index 000000000..caf898b5a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-cfg.yang @@ -0,0 +1,258 @@ +module Cisco-IOS-XR-um-segment-routing-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-segment-routing-cfg"; + prefix um-segment-routing-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container segment-routing { + presence "Indicates a segment-routing node is configured."; + description + "Segment Routing"; + container mapping-server { + description + "Segment Routing Mapping Server (SRMS)"; + container prefix-sid-map { + description + "Prefix SID Map"; + container address-families { + description + "Address Family"; + list address-family { + key "af-name"; + description + "Address Family"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 1; + description + "IP version 4"; + } + enum "ipv6" { + value 2; + description + "IP version 6"; + } + } + description + "Address Family"; + } + list prefix-address { + key "address length"; + description + "SID index range"; + leaf address { + type inet:ip-address-no-zone; + description + "IP address with prefix"; + } + leaf length { + type union { + type uint32 { + range "0..32"; + } + type uint32 { + range "0..128"; + } + } + description + "Prefix length"; + } + leaf sid-index { + type uint32 { + range "0..1048575"; + } + mandatory true; + description + "Start of SID index range"; + } + leaf range { + type uint32 { + range "0..65535" { + description + "Number of allocated SIDs"; + } + } + description + "Number of allocated SIDs"; + } + container attached { + presence "Indicates a attached node is configured."; + description + "Attached entry advertised via the A-flag"; + } + } + } + } + } + } + container global-block { + presence "Indicates a global-block node is configured."; + description + "Prefix-SID Global label Block (SRGB)"; + leaf lower-bound { + type uint32 { + range "16000..1048575" { + description + "The lower bound of SRGB"; + } + } + mandatory true; + description + "Prefix-SID Global label Block (SRGB)"; + } + leaf upper-bound { + type uint32 { + range "16000..1048575" { + description + "The upper bound of SRGB"; + } + } + mandatory true; + description + "The upper bound of SRGB"; + } + } + container local-block { + presence "Indicates a local-block node is configured."; + description + "Local Block (SRLB) of labels"; + leaf lower-bound { + type uint32 { + range "15000..1048575" { + description + "The lower bound of SRLB"; + } + } + mandatory true; + description + "Local Block (SRLB) of labels"; + } + leaf upper-bound { + type uint32 { + range "15000..1048575" { + description + "The upper bound of SRLB (block size may not exceed 262143)"; + } + } + mandatory true; + description + "The upper bound of SRLB (block size may not exceed 262143)"; + } + } + container adjacency-sid { + description + "Segment Routing (MPLS) Adjacency SID"; + container interfaces { + description + "Interface Instance"; + list interface { + must "address-families/address-family"; + key "interface-name"; + description + "Interface Instance"; + leaf interface-name { + type xr:Interface-name; + description + "Interface Instance"; + } + container address-families { + description + "Address Family"; + list address-family { + must "unicast/l2-adjacency-sid-next-hop/next-hop"; + key "af-name"; + description + "Address Family"; + leaf af-name { + type enumeration { + enum "ipv4" { + value 1; + description + "IP version 4"; + } + enum "ipv6" { + value 2; + description + "IP version 6 link-local address"; + } + } + description + "Address Family"; + } + container unicast { + description + "Unicast Address Family"; + container l2-adjacency-sid-next-hop { + description + "L2 Adjacency SID"; + list next-hop { + must "(absolute or index) and not(absolute and index)"; + key "address"; + description + "Neighbor Address"; + leaf address { + type inet:ip-address-no-zone; + description + "IP address"; + } + leaf absolute { + type uint32 { + range "15000..1048575"; + } + description + "L2 Adjacency SID value"; + } + leaf index { + type uint32 { + range "0..1048575"; + } + description + "L2 Adjacency SID value"; + } + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-srv6-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-srv6-cfg.yang new file mode 100644 index 000000000..98538560b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-srv6-cfg.yang @@ -0,0 +1,224 @@ +module Cisco-IOS-XR-um-segment-routing-srv6-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-segment-routing-srv6-cfg"; + prefix um-segment-routing-srv6-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-segment-routing-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-srv6 package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-25 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:segment-routing" { + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Segment Routing with IPv6 dataplane"; + container logging { + description + "Enable logging"; + container locator { + description + "Configure logging for locator events"; + container status { + presence "Indicates a status node is configured."; + description + "Enable logging for locator status changes"; + } + } + } + container sid { + description + "Configure SID parameters"; + leaf holdtime { + type uint32 { + range "0..60" { + description + "Time (in minutes)"; + } + } + description + "Configure SID holdtime for a stale/freed SID"; + } + } + container encapsulation { + description + "Configure encapsulation parameters"; + leaf source-address { + type inet:ipv6-address-no-zone; + description + "Specify Source address"; + } + leaf hop-limit { + type uint32 { + range "1..255" { + description + "Specify the count for hop-limit"; + } + } + must "not(../propagate-hop-limit)"; + description + "Control Hop-limit field setting on IPv6 header"; + } + container propagate-hop-limit { + must "not(../hop-limit)"; + presence "Indicates a propagate-hop-limit node is configured."; + description + "Propagate IP TTL/Hop-limit"; + } + leaf traffic-class { + type uint32 { + range "0..255" { + description + "Specify the value (as 2 hexadecimal nibbbles) for traffic class"; + } + } + must "not(../propagate-traffic-class)"; + description + "Control traffic-class field setting on IPv6 header"; + } + container propagate-traffic-class { + must "not(../traffic-class)"; + presence "Indicates a propagate-traffic-class node is configured."; + description + "Set traffic class value by propagation (from incoming packet/frame)"; + } + container evpn { + description + "Control EVPN related SRv6 encapsulation parameters"; + leaf next-header { + type enumeration { + enum "59" { + value 59; + description + "Protocol number 59 (deprecated)"; + } + } + description + "Specify protocol number to use in the Next-header field of IPv6 or SRH header"; + } + } + } + container locators { + description + "Configure Locators"; + list locator { + key "locator-name"; + description + "Configure a Locator"; + leaf locator-name { + type xr:Cisco-ios-xr-string { + length "1..58" { + description + "Specify locator name"; + } + pattern "[a-z0-9A-Z][a-z0-9A-Z_.:]*"; + } + description + "Configure a Locator"; + } + container micro-segment { + description + "Configure micro-segments (uSID) related parameters"; + container behavior { + description + "Specify Locator's behavior"; + container unode { + description + "uNode type"; + container shift-only { + must "not(../psp-usd)"; + presence "Indicates a shift-only node is configured."; + description + "uNode (shift only)"; + } + container psp-usd { + must "not(../shift-only)"; + presence "Indicates a psp-usd node is configured."; + description + "uNode PSP/USD variant"; + } + } + } + } + container prefix { + description + "Configure locator's prefix value"; + leaf address { + type inet:ipv6-address-no-zone; + must "../length"; + description + "Configure locator's prefix value"; + } + leaf length { + type uint32 { + range "32..112"; + } + must "../address"; + description + "Configure locator's prefix value"; + } + } + leaf algorithm { + type uint32 { + range "128..255" { + description + "Algorithm ID"; + } + } + description + "Algorithm associated with the locator"; + } + container anycast { + presence "Indicates a anycast node is configured."; + description + "Specify locator as an anycast type"; + } + } + } + container micro-segment { + description + "Configure micro-segment parameters"; + container merge-overlay-underlay-sids { + presence "Indicates a merge-overlay-underlay-sids node is configured."; + description + "Enable merge mode for SIDs from overlay and underlay"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg.yang new file mode 100644 index 000000000..3da9e983e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg.yang @@ -0,0 +1,3396 @@ +module Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg"; + prefix um-segment-routing-traffic-eng-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-segment-routing-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR segment-routing-traffic-eng package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-03 { + description + "Added support for Circuit Style SRTE"; + semver:module-version "1.0.1M"; + } + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:segment-routing" { + container traffic-eng { + presence "Indicates a traffic-eng node is configured."; + description + "Segment Routing Traffic Engineering"; + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Segment Routing IPv6"; + container locator { + description + "Configure locator"; + leaf locator-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify locator name with max 64 characters"; + } + } + must "../binding-sid/dynamic/behavior/ub6-insert-reduced"; + description + "Specify locator name with max 64 characters"; + } + container binding-sid { + description + "Binding-SID allocation options"; + container dynamic { + description + "Dynamic based option"; + container behavior { + description + "Binding-SID behavior options"; + container ub6-insert-reduced { + must "../../../../locator-name"; + presence "Indicates a ub6-insert-reduced node is configured."; + description + "Binding-SID insert reduced behavior"; + } + } + } + } + } + leaf maximum-sid-depth { + type uint32 { + range "1..255" { + description + "Maximum SID Depth"; + } + } + description + "Maximum number of SIDs for SRv6 that the PCC can impose on a packet"; + } + } + container candidate-paths { + presence "Indicates a candidate-paths node is configured."; + description + "Configurations for candidate paths."; + container all { + presence "Indicates a all node is configured."; + description + "Configurations for all candidate paths."; + container source-address { + description + "Source address for candidate-path"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + } + container local { + presence "Indicates a local node is configured."; + description + "Configurations for locally instantiated candidate paths."; + container source-address { + description + "Source address for candidate-path"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + } + container on-demand { + presence "Indicates a on-demand node is configured."; + description + "Configurations for BGP-ODN candidate paths."; + container source-address { + description + "Source address for candidate-path"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + } + container bgp-srte { + presence "Indicates a bgp-srte node is configured."; + description + "Configurations for BGP-SRTE instantiated candidate paths."; + container source-address { + description + "Source address for candidate-path"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + } + container pcep { + presence "Indicates a pcep node is configured."; + description + "Configurations for PCE instantiated candidate paths."; + container source-address { + description + "Source address for candidate-path"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + } + } + container steering { + presence "Indicates a steering node is configured."; + description + "Global Steering options"; + container labeled-services { + presence "Indicates a labeled-services node is configured."; + description + "steering options for labeled services"; + container disable { + description + "Disable steering for labeled-services for policies"; + container all { + presence "Indicates a all node is configured."; + description + "All policies"; + } + container local { + presence "Indicates a local node is configured."; + description + "All local policies"; + } + container on-demand { + presence "Indicates a on-demand node is configured."; + description + "All on-demand color policies"; + } + container bgp-srte { + presence "Indicates a bgp-srte node is configured."; + description + "All BGP-SRTE policies"; + } + container pcep { + presence "Indicates a pcep node is configured."; + description + "All PCE policies"; + } + } + } + } + container logging { + description + "Logging configuration"; + container policy { + description + "Configure policy logging parameters"; + container status { + presence "Indicates a status node is configured."; + description + "Enable policy status logging"; + } + } + container pcep { + description + "Enable pcep peer-status logging"; + container peer-status { + presence "Indicates a peer-status node is configured."; + description + "Enable pcep peer-status logging"; + } + } + } + container trace { + description + "Configure SR-TE trace options"; + container buffer { + description + "SR-TE Trace buffers"; + container all { + description + "All buffers control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container common { + description + "Common buffer control"; + container gen-error { + description + "Generic error buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container lslib { + description + "lslib trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container cspf { + description + "cspf trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container topo { + description + "topo trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container mempool { + description + "mempool trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container pcep { + description + "pcep trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container timing { + description + "timing trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container cmn-codeflow { + description + "code-flow trace buffer"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + } + container error { + description + "Error buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container fib { + description + "FIB buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container im { + description + "IM buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container igp { + description + "IGP buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container lm { + description + "LM buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container lsd { + description + "LSD buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container mgmt { + description + "Management buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container policy { + description + "Policy buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container service-api { + description + "Service API buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container agent { + description + "Agent buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container bsid { + description + "BSID buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container policy-lsp { + description + "Policy LSP buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container policy-cpath { + description + "Policy candidate path buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container generic-error { + description + "Generic errors buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container chkpt { + description + "Checkpoint buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container policy-state { + description + "Policy state buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container init { + description + "Initialization buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container lmrib { + description + "LMRIB buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container pfp { + description + "PFP buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + container rib { + description + "IPv6 RIB buffer control"; + leaf trace-count { + type uint32 { + range "0..1000000" { + description + "count"; + } + } + description + "Trace count"; + } + } + } + } + container policies { + description + "Name of SR-TE Policy"; + list policy { + key "policy-name"; + description + "Name of SR-TE Policy"; + leaf policy-name { + type xr:Cisco-ios-xr-string { + length "1..59" { + description + "Identifying name for policy with max 59 characters"; + } + } + description + "Name of SR-TE Policy"; + } + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Segment Routing IPv6"; + container locator { + description + "Configure locator"; + leaf locator-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify locator name with max 64 characters"; + } + } + must "../binding-sid/dynamic/behavior/ub6-insert-reduced"; + description + "Specify locator name with max 64 characters"; + } + container binding-sid { + description + "Binding-SID allocation options"; + container dynamic { + description + "Dynamic based option"; + container behavior { + description + "Binding-SID behavior options"; + container ub6-insert-reduced { + must "../../../../locator-name"; + presence "Indicates a ub6-insert-reduced node is configured."; + description + "Binding-SID insert reduced behavior"; + } + } + } + } + } + } + container autoroute { + presence "Indicates a autoroute node is configured."; + description + "Autoroute configuration"; + container include { + description + "Prefixes for which IGP routes will be installed"; + container all { + presence "Indicates a all node is configured."; + description + "Include all eligible prefixes"; + } + container ipv4s { + description + "IPv4 address family"; + list ipv4 { + key "address length"; + description + "IPv4 address family"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address family"; + } + leaf length { + type uint32 { + range "0..32"; + } + description + "IPv4 address family"; + } + } + } + container ipv6 { + description + "IPv6 address family"; + container all { + presence "Indicates a all node is configured."; + description + "Include all eligible IPv6 prefixes"; + } + } + } + leaf forward-class { + type uint32 { + range "0..7" { + description + "Forward class value"; + } + } + description + "Specify forward class for policy based routing"; + } + container metric { + description + "Autoroute metric"; + leaf constant { + type uint32 { + range "1..2147483647" { + description + "Constant metric"; + } + } + must "not(../relative)"; + description + "Set metric mode constant"; + } + leaf relative { + type int32 { + range "-10..10" { + description + "Relative metric"; + } + } + must "not(../constant)"; + description + "Set metric mode relative"; + } + } + container force-sr-include { + presence "Indicates a force-sr-include node is configured."; + description + "Force autoroute Policy to be safe for carrying SR Labelled traffic"; + } + } + container candidate-paths { + presence "Indicates a candidate-paths node is configured."; + description + "Candidate-paths configuration"; + container preferences { + description + "Policy path-option preference entry"; + list preference { + key "preference-id"; + description + "Policy path-option preference entry"; + leaf preference-id { + type uint32 { + range "1..65535" { + description + "Path-option preference"; + } + } + description + "Policy path-option preference entry"; + } + container per-flow { + presence "Indicates a per-flow node is configured."; + description + "Per-flow configuration"; + container forward-classes { + description + "Specify forward class for per-flow based routing"; + list forward-class { + key "forward-class-value"; + description + "Forward class value"; + leaf forward-class-value { + type uint32 { + range "0..7" { + description + "Forward class value"; + } + } + description + "Forward class value"; + } + leaf color { + type uint32 { + range "1..4294967295" { + description + "Color value"; + } + } + mandatory true; + description + "Specify corresponding policy color for the forwarding class"; + } + } + leaf default { + type uint32 { + range "0..7" { + description + "Forward-class value"; + } + } + description + "Configure default forward-class"; + } + } + } + container dynamic { + presence "Indicates a dynamic node is configured."; + description + "Dynamically allocated path"; + leaf weight { + type uint32 { + range "1..4294967295" { + description + "Weight"; + } + } + description + "Path option weight"; + } + container reverse-path { + description + "reverse-path"; + leaf segment-list { + type string { + length "1..128" { + description + "Identifying name for segment-list"; + } + } + description + "segment-list"; + } + } + container pcep { + presence "Indicates a pcep node is configured."; + description + "Path Computation Element Protocol related configuration"; + } + container metric { + presence "Indicates a metric node is configured."; + description + "Path metric configuration"; + container type { + description + "Metric type configuration"; + container te { + must + "not(../igp or ../hopcount + or ../latency)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container igp { + must + "not(../te or ../hopcount + or ../latency)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container hopcount { + must + "not(../te or ../igp + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "Hopcount metric type"; + } + container latency { + must + "not(../te or ../igp + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "Latency metric type"; + } + } + leaf sid-limit { + type uint32 { + range "1..255" { + description + "SID limit value"; + } + } + description + "SID limit"; + } + container margin { + description + "Metric margin"; + leaf absolute { + type uint32 { + range "0..2147483647" { + description + "Absolute metric margin value"; + } + } + must "not(../relative)"; + description + "Absolute metric margin"; + } + leaf relative { + type uint32 { + range "0..2147483647" { + description + "Relative metric margin value"; + } + } + must "not(../absolute)"; + description + "Relative metric margin"; + } + } + } + container anycast-sid-inclusion { + presence "Indicates a anycast-sid-inclusion node is configured."; + description + "Path Anycast SID Inclusion configuration"; + } + } + container explicit { + description + "Preconfigured path"; + container segment-lists { + description + "Identifying name for segment-list"; + list segment-list { + key "segment-list-name"; + description + "Identifying name for segment-list"; + leaf segment-list-name { + type string { + length "1..128" { + description + "Identifying name for segment-list"; + } + } + description + "Identifying name for segment-list"; + } + leaf weight { + type uint32 { + range "1..4294967295" { + description + "Weight"; + } + } + description + "Path option weight"; + } + container reverse-path { + description + "reverse-path"; + leaf segment-list { + type string { + length "1..128" { + description + "Identifying name for segment-list"; + } + } + description + "segment-list"; + } + } + container pcep { + presence "Indicates a pcep node is configured."; + description + "Path Computation Element Protocol related configuration"; + } + container metric { + presence "Indicates a metric node is configured."; + description + "Path metric configuration"; + container type { + description + "Metric type configuration"; + container te { + must + "not(../igp or ../hopcount + or ../latency)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container igp { + must + "not(../te or ../hopcount + or ../latency)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container hopcount { + must + "not(../te or ../igp + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "Hopcount metric type"; + } + container latency { + must + "not(../te or ../igp + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "Latency metric type"; + } + } + leaf sid-limit { + type uint32 { + range "1..255" { + description + "SID limit value"; + } + } + description + "SID limit"; + } + container margin { + description + "Metric margin"; + leaf absolute { + type uint32 { + range "0..2147483647" { + description + "Absolute metric margin value"; + } + } + must "not(../relative)"; + description + "Absolute metric margin"; + } + leaf relative { + type uint32 { + range "0..2147483647" { + description + "Relative metric margin value"; + } + } + must "not(../absolute)"; + description + "Relative metric margin"; + } + } + } + container anycast-sid-inclusion { + presence "Indicates a anycast-sid-inclusion node is configured."; + description + "Path Anycast SID Inclusion configuration"; + } + } + } + } + container constraints { + description + "Candidate path constraints"; + container bounds { + description + "Assign anycast metric bounds to path"; + container cumulative { + description + "Cumulative metric bound"; + container type { + description + "The metric type for the bound"; + leaf te { + type uint32 { + range "1..4294967295" { + description + "Bound metric value"; + } + } + description + "Bound metric type TE"; + } + leaf igp { + type uint32 { + range "1..4294967295" { + description + "Bound metric value"; + } + } + description + "Bound metric type IGP"; + } + leaf latency { + type uint32 { + range "1..4294967295" { + description + "Bound metric value in microseconds"; + } + } + description + "Bound metric type latency"; + } + leaf hopcount { + type uint32 { + range "1..4294967295" { + description + "Bound metric value"; + } + } + description + "Bound metric type hopcount"; + } + } + } + } + container affinity { + description + "Assign affinities to path"; + container include-any { + description + "Affinity attributes - at least one must be included"; + container name { + description + "Affinity name"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + container include-all { + description + "Affinity attributes - all must be included"; + container name { + description + "Affinity name"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + container exclude-any { + description + "Affinity attributes to exclude - presence of at least one excludes link"; + container name { + description + "Affinity name"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + } + container segments { + description + "Path segments constraints"; + leaf sid-algorithm { + type uint32 { + range "0..255" { + description + "'0' for regular SIDs, '1' for strict-spf SIDs, '128' - '255' for algorithm SIDs"; + } + } + description + "Prefix-SID algorithm"; + } + container protection { + description + "Protection type"; + container protected-preferred { + must + "not(../protected-only or ../unprotected-only + or ../unprotected-preferred)"; + presence "Indicates a protected-preferred node is configured."; + description + "Protected adj-SID preferred (default)"; + } + container protected-only { + must + "not(../protected-preferred or ../unprotected-only + or ../unprotected-preferred)"; + presence "Indicates a protected-only node is configured."; + description + "Protected adj-SID only"; + } + container unprotected-only { + must + "not(../protected-preferred or ../protected-only + or ../unprotected-preferred)"; + presence "Indicates a unprotected-only node is configured."; + description + "Unprotected adj-SID only"; + } + container unprotected-preferred { + must + "not(../protected-preferred or ../protected-only + or ../unprotected-only)"; + presence "Indicates a unprotected-preferred node is configured."; + description + "Unprotected adj-SID preferred"; + } + } + } + container disjoint-path { + description + "Request disjoint path computation"; + leaf group-id { + type uint32 { + range "1..65535" { + description + "Group ID"; + } + } + description + "Group ID"; + } + container type { + description + "Disjointness type"; + container link { + must + "not(../node or ../srlg + or ../srlg-node)"; + presence "Indicates a link node is configured."; + description + "Link Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + container node { + must + "not(../link or ../srlg + or ../srlg-node)"; + presence "Indicates a node node is configured."; + description + "Node Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + container srlg { + must + "not(../link or ../node + or ../srlg-node)"; + presence "Indicates a srlg node is configured."; + description + "SRLG Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + container srlg-node { + must + "not(../link or ../node + or ../srlg)"; + presence "Indicates a srlg-node node is configured."; + description + "SRLG Node Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + } + } + } + container lock { + presence "Indicates a lock node is configured."; + description + "Candidate path protection locks on protect lsp"; + leaf duration { + type uint32 { + range "0..3000" { + description + "Duration in seconds 0-3000. Use 0 to disable. Default is 300."; + } + } + description + "Keep protect cpath locked as active lsp after higher preference cpath lsp is made standby"; + } + } + container effective-metric { + presence "Indicates a effective-metric node is configured."; + description + "Effective metric configuration submode"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Integer value of metric"; + } + } + description + "Metric value, advertised to other protocols"; + } + container type { + description + "Metric type, advertised to other protocols"; + container igp { + must + "not(../te or ../latency + or ../hopcount)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container te { + must + "not(../igp or ../latency + or ../hopcount)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container latency { + must + "not(../igp or ../te + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "LATENCY metric type"; + } + container hopcount { + must + "not(../igp or ../te + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "HOPCOUNT metric type"; + } + } + } + leaf pce-group { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Name of the PCE group - maximum 16 characters"; + } + } + description + "PCE group configuration"; + } + } + } + } + leaf color { + type uint32 { + range "1..4294967295" { + description + "Color value"; + } + } + description + "Specify color for policy"; + } + container end-point { + description + "Policy endpoint"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + container source-address { + description + "Source address of policy"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + leaf max-install-standby-cpaths { + type uint32 { + range "0..3" { + description + "Number of standby candidate path LSPs to allow"; + } + } + description + "Allow additional candidate paths to warm up non forwarding LSPs"; + } + container binding-sid { + description + "Binding Segment Identifier"; + leaf mpls { + type uint32 { + range "16..1048575" { + description + "MPLS label"; + } + } + description + "MPLS label"; + } + } + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth value in kbps"; + } + } + description + "Requested Bandwidth"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Policy admin-shutdown"; + } + container ipv6 { + description + "IPv6 configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IPv6 caps (applicable to only policies with NULL end-point)"; + } + } + container steering { + description + "Steering options configuration"; + container labeled-services { + description + "Options for steering of labeled services"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable steering for labeled services"; + } + } + container path-invalidation { + description + "Path invalidation action, default is to fall back to unconstrained IGP path"; + container drop { + presence "Indicates a drop node is configured."; + description + "If path became invalid, keep policy up, but drop all traffic sent on the policy"; + } + } + container bgp { + description + "BGP client"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable all services"; + } + } + } + container performance-measurement { + presence "Indicates a performance-measurement node is configured."; + description + "Performance Measurement configuration submode"; + container delay-measurement { + presence "Indicates a delay-measurement node is configured."; + description + "Delay-measurement configuration submode"; + container delay-profile { + description + "SR Policy delay profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + container logging { + presence "Indicates a logging node is configured."; + description + "Syslog configuration options"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + } + container reverse-path { + description + "Specify parameters about the reverse path back to the head-end"; + leaf label { + type uint32 { + range "16..1048575" { + description + "Reverse path label"; + } + } + description + "PM packets return to head-end using a label"; + } + } + container liveness-detection { + presence "Indicates a liveness-detection node is configured."; + description + "Liveness detection configuration submode"; + container invalidation-action { + description + "Action to be taken when PM liveness session is invalidated"; + container none { + must "not(../down)"; + presence "Indicates a none node is configured."; + description + "PM liveness session state does not affect LSP state, use for diagnostic purposes"; + } + container down { + must "not(../none)"; + presence "Indicates a down node is configured."; + description + "LSP can only be operationally up if the PM liveness session is up"; + } + } + container liveness-profile { + description + "SR Policy liveness profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + container backup { + description + "SR Policy liveness backup profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + } + container logging { + presence "Indicates a logging node is configured."; + description + "Syslog configuration options"; + container session-state-change { + presence "Indicates a session-state-change node is configured."; + description + "Emit syslog when the state of the session changes"; + } + } + } + } + container path-protection { + presence "Indicates a path-protection node is configured."; + description + "Candidate path protection"; + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Bidirectional Forwarding Detection (BFD)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not create BFD sessions"; + } + container invalidation-action { + description + "Action to be taken when BFD session is invalidated"; + container none { + must "not(../down)"; + presence "Indicates a none node is configured."; + description + "BFD session state does not affect LSP state, use for diagnostic purposes"; + } + container down { + must "not(../none)"; + presence "Indicates a down node is configured."; + description + "LSP can only be operationally up if the BFD session is up"; + } + } + leaf minimum-interval { + type uint32 { + range "50..30000" { + description + "Hello interval in milliseconds (default 150)"; + } + } + description + "Hello interval (default 150)"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Number of missed BFD packets to declare session down (default 3)"; + } + } + description + "Number of missed BFD packets to declare session down"; + } + container reverse-path { + presence "Indicates a reverse-path node is configured."; + description + "Specify parameters about the reverse path back to the head-end"; + leaf binding-label { + type uint32 { + range "16..1048575" { + description + "Binding label of a policy/tunnel from destination to head-end"; + } + } + description + "BFD packets return to head-end by using a binding label"; + } + } + container logging { + presence "Indicates a logging node is configured."; + description + "Syslog configuration options"; + container session-state-change { + presence "Indicates a session-state-change node is configured."; + description + "Emit syslog when the state of the session changes"; + } + } + } + container effective-metric { + presence "Indicates a effective-metric node is configured."; + description + "Effective metric configuration submode"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Integer value of metric"; + } + } + description + "Metric value, advertised to other protocols"; + } + container type { + description + "Metric type, advertised to other protocols"; + container igp { + must + "not(../te or ../latency + or ../hopcount)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container te { + must + "not(../igp or ../latency + or ../hopcount)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container latency { + must + "not(../igp or ../te + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "LATENCY metric type"; + } + container hopcount { + must + "not(../igp or ../te + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "HOPCOUNT metric type"; + } + } + } + leaf pce-group { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Name of the PCE group - maximum 16 characters"; + } + } + description + "PCE group configuration"; + } + } + } + container interfaces { + description + "Enable SR-TE on an interface"; + list interface { + key "interface-name"; + description + "Enable SR-TE on an interface"; + leaf interface-name { + type xr:Interface-name; + description + "Enable SR-TE on an interface"; + } + container affinity { + description + "Interface affinity configuration"; + list names { + key "name"; + description + "Affinity name"; + leaf name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + leaf metric { + type uint32 { + range "0..2147483647" { + description + "TE metric value"; + } + } + description + "Interface TE metric configuration"; + } + } + } + container affinity-map { + description + "Affinity map configuration"; + list names { + key "name"; + description + "Affinity name"; + leaf name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity name"; + } + leaf bit-position { + type uint32 { + range "0..255" { + description + "Affinity attribute bit position"; + } + } + mandatory true; + description + "Bit Position for the mapped affinity"; + } + } + } + container segment-lists { + description + "Identifying name for segment-list"; + list segment-list { + key "segment-list-name"; + description + "Identifying name for segment-list"; + leaf segment-list-name { + type string { + length "1..128" { + description + "Identifying name for segment-list"; + } + } + description + "Identifying name for segment-list"; + } + container indexes { + description + "Next entry index"; + list index { + must "mpls/label or mpls/adjacency"; + key "index-number"; + description + "Next entry index"; + leaf index-number { + type uint32 { + range "1..65535" { + description + "Index number"; + } + } + description + "Next entry index"; + } + container mpls { + description + "MPLS configuration"; + leaf label { + type uint32 { + range "0..1048575" { + description + "MPLS label value"; + } + } + description + "MPLS label configuration"; + } + leaf adjacency { + type inet:ip-address-no-zone; + description + "Specify hop address"; + } + } + } + } + } + } + container timers { + description + "SR-TE timers configuration"; + leaf install-delay { + type uint32 { + range "0..300" { + description + "Install timer value in seconds (0 for immediate installation)"; + } + } + description + "Delay before switching to a reoptimized path (default: 10 seconds)"; + } + leaf cleanup-delay { + type uint32 { + range "0..300" { + description + "Cleanup timer value in seconds (0 for immediate cleanup)"; + } + } + description + "Delay before cleaning up previous path (default: 10 seconds)"; + } + leaf periodic-reoptimization { + type uint32 { + range "0..86400" { + description + "Reoptimization timer value in seconds (0 to disable periodic reoptimization)"; + } + } + description + "How often to perform periodic reoptimization of policies (default: 600 seconds)"; + } + container candidate-path { + description + "Candidate path related timers"; + leaf cleanup-delay { + type uint32 { + range "0..86400" { + description + "Cleanup timer value in seconds (0 for immediate cleanup)"; + } + } + description + "Delay before cleaning up candidate paths (default: 120 seconds)"; + } + } + leaf init-verify-restart { + type uint32 { + range "10..10000" { + description + "Time value in seconds. Default is 40"; + } + } + description + "Timer to wait for topology convergence after topology starts populating for restart case"; + } + leaf init-verify-switchover { + type uint32 { + range "10..10000" { + description + "Time value in seconds. Default is 60"; + } + } + description + "Timer to wait for topology convergence after topology starts populating for switchover case"; + } + leaf init-verify-startup { + type uint32 { + range "10..10000" { + description + "Time value in seconds. Default is 120"; + } + } + description + "Timer to wait for topology convergence after topology starts populating for startup case"; + } + } + container pcc { + presence "Indicates a pcc node is configured."; + description + "Path Computation Client configurations"; + container source-address { + description + "Source address of PCEP sessions"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + description + "IPv6 address"; + } + } + container pce { + description + "Path Computation Element (PCE) server"; + container address { + description + "Address of PCE server"; + container ipv4s { + description + "IPv4 address of PCE server"; + list ipv4 { + key "address"; + description + "IPv4 address of PCE server"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 address of PCE server"; + } + leaf precedence { + type uint32 { + range "0..255" { + description + "Precedence value (0 is most preferred, 255 is least preferred)"; + } + } + description + "Precedence of PCE peer, default is 255"; + } + container password { + description + "Configure password for MD5 authentication"; + leaf encrypted { + type string { + length "1..800" { + description + "The ENCRYPTED password string"; + } + } + description + "Specifies an ENCRYPTED password will follow"; + } + } + leaf keychain { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain - maximum 32 characters"; + } + } + description + "Configure keychain based authentication for PCC"; + } + leaf tcp-ao { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the TCP AO keychain - maximum 32 characters"; + } + } + description + "Configure AO keychain based authentication"; + } + container include-tcp-options { + presence "Indicates a include-tcp-options node is configured."; + description + "Include other TCP options in the header"; + } + leaf pce-group { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Name of the PCE group - maximum 16 characters"; + } + } + description + "Make this PCE part of a PCE group"; + } + } + } + container ipv6s { + description + "IPv6 address of PCE server"; + list ipv6 { + key "address"; + description + "IPv6 address of PCE server"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IPv6 address of PCE server"; + } + leaf precedence { + type uint32 { + range "0..255" { + description + "Precedence value (0 is most preferred, 255 is least preferred)"; + } + } + description + "Precedence of PCE peer, default is 255"; + } + container password { + description + "Configure password for MD5 authentication"; + leaf encrypted { + type string { + length "1..800" { + description + "The ENCRYPTED password string"; + } + } + description + "Specifies an ENCRYPTED password will follow"; + } + } + leaf tcp-ao { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the TCP AO keychain - maximum 32 characters"; + } + } + description + "Configure AO keychain based authentication"; + } + container include-tcp-options { + presence "Indicates a include-tcp-options node is configured."; + description + "Include other TCP options in the header"; + } + leaf pce-group { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Name of the PCE group - maximum 16 characters"; + } + } + description + "Make this PCE part of a PCE group"; + } + } + } + } + } + container report-all { + presence "Indicates a report-all node is configured."; + description + "Report all local SR policies to connected PCEP peers"; + } + container timers { + description + "Configure various timer values"; + leaf delegation-timeout { + type uint32 { + range "0..1576800000" { + description + "Timer value in seconds, 0 to disable the delegation timeout (default 300)"; + } + } + description + "Maximum time delegated SR-TE policies can remain up without an active connection to a PCE"; + } + leaf keepalive { + type uint32 { + range "0..255" { + description + "Timer value in seconds, 0 means we do not send keepalives, (default 30)"; + } + } + description + "Maximum time between two consecutive PCEP messages sent by this node"; + } + leaf deadtimer { + type uint32 { + range "1..255" { + description + "Timer value in seconds (default 120)"; + } + } + description + "Amount of time after which the peer can declare this session down, if no PCEP message has been received"; + } + container initiated { + description + "Configure timers related to PCE Initiated policies"; + leaf state { + type uint32 { + range "0..86400" { + description + "Timer value in seconds (default 600)"; + } + } + description + "Amount of time that PCE initiated policy can exist as an orphan before it is cleaned up"; + } + leaf orphan { + type uint32 { + range "0..180" { + description + "Timer value in seconds (default 180)"; + } + } + description + "Amount of time that PCE initiated policy remains delegated to a peer that has gone down"; + } + } + } + container profiles { + description + "Configuration template that can be specified via PCEP"; + list profile { + key "profile-id"; + description + "Configuration template that can be specified via PCEP"; + leaf profile-id { + type uint32 { + range "1..65534" { + description + "numeric identifier for the profile"; + } + } + description + "Configuration template that can be specified via PCEP"; + } + container steering { + presence "Indicates a steering node is configured."; + description + "Steering options for PCC profile"; + container path-invalidation { + description + "Path invalidation action, default is to fall back to unconstrained IGP path"; + container drop { + presence "Indicates a drop node is configured."; + description + "If path became invalid, keep policy up, but drop all traffic sent on the policy"; + } + } + } + container autoroute { + description + "Autoroute configuration"; + container include { + description + "Prefixes for which IGP routes will be installed"; + container ipv4 { + description + "IPv4 address family"; + container all { + presence "Indicates a all node is configured."; + description + "Include all eligible prefixes"; + } + } + container ipv6 { + description + "IPv6 address family"; + container all { + presence "Indicates a all node is configured."; + description + "Include all eligible IPv6 prefixes"; + } + } + } + leaf forward-class { + type uint32 { + range "0..7" { + description + "Forward class value, default value is 8"; + } + } + description + "Specify forward class for policy based routing"; + } + container force-sr-include { + presence "Indicates a force-sr-include node is configured."; + description + "Force policy to carry SR MPLS traffic as well"; + } + container metric { + description + "Autoroute metric"; + leaf constant { + type uint32 { + range "1..2147483647" { + description + "Absolute metric"; + } + } + must "not(../relative)"; + description + "Set metric mode constant"; + } + leaf relative { + type int32 { + range "-10..10" { + description + "Relative metric"; + } + } + must "not(../constant)"; + description + "Set metric mode relative"; + } + } + } + } + } + container redundancy { + description + "PCC redundancy configuration"; + container pcc-centric { + presence "Indicates a pcc-centric node is configured."; + description + "Enable PCC centric model, where PCC only allows the lowest precedence PCE to initiate policies"; + } + } + container srpag { + presence "Indicates a srpag node is configured."; + description + "Enable signaling of SR Policy Association Group"; + } + } + container on-demand { + description + "On-Demand configuration"; + container colors { + description + "On-Demand color configuration"; + list color { + key "color-value"; + description + "On-Demand color configuration"; + leaf color-value { + type uint32 { + range "1..4294967295" { + description + "color value"; + } + } + description + "On-Demand color configuration"; + } + container srv6 { + presence "Indicates a srv6 node is configured."; + description + "Segment Routing IPv6"; + container locator { + description + "Configure locator"; + leaf locator-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Specify locator name with max 64 characters"; + } + } + must "../binding-sid/dynamic/behavior/ub6-insert-reduced"; + description + "Specify locator name with max 64 characters"; + } + container binding-sid { + description + "Binding-SID allocation options"; + container dynamic { + description + "Dynamic based option"; + container behavior { + description + "Binding-SID behavior options"; + container ub6-insert-reduced { + must "../../../../locator-name"; + presence "Indicates a ub6-insert-reduced node is configured."; + description + "Binding-SID insert reduced behavior"; + } + } + } + } + } + } + container per-flow { + presence "Indicates a per-flow node is configured."; + description + "Per-flow configuration"; + container forward-classes { + description + "Specify forward class for per-flow based routing"; + list forward-class { + key "forward-class-value"; + description + "Forward class value"; + leaf forward-class-value { + type uint32 { + range "0..7" { + description + "Forward class value"; + } + } + description + "Forward class value"; + } + leaf color { + type uint32 { + range "1..4294967295" { + description + "Color value"; + } + } + mandatory true; + description + "Specify corresponding policy color for the forwarding class"; + } + } + leaf default { + type uint32 { + range "0..7" { + description + "Forward-class value"; + } + } + description + "Configure default forward-class"; + } + } + } + container dynamic { + presence "Indicates a dynamic node is configured."; + description + "Dynamically computed path"; + container pcep { + presence "Indicates a pcep node is configured."; + description + "Path Computation Element Protocol related configuration"; + } + container anycast-sid-inclusion { + presence "Indicates a anycast-sid-inclusion node is configured."; + description + "Anycast SID Inclusion"; + } + container metric { + presence "Indicates a metric node is configured."; + description + "Specify the path computation metric options"; + container type { + description + "Specify the path computation metric type to be used"; + container igp { + must + "not(../te or ../hopcount + or ../latency)"; + presence "Indicates a igp node is configured."; + description + "Use the IGP metric for path computation"; + } + container te { + must + "not(../igp or ../hopcount + or ../latency)"; + presence "Indicates a te node is configured."; + description + "Use the TE metric for path computation"; + } + container hopcount { + must + "not(../igp or ../te + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "Use the least number of hops for path computation"; + } + container latency { + must + "not(../igp or ../te + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "Use the measured latency metric for path computation"; + } + } + container margin { + description + "Metric margin"; + leaf absolute { + type uint32 { + range "0..2147483647" { + description + "Absolute metric margin value"; + } + } + must "not(../relative)"; + description + "Absolute metric margin"; + } + leaf relative { + type uint32 { + range "0..2147483647" { + description + "Relative metric margin value"; + } + } + must "not(../absolute)"; + description + "Relative metric margin"; + } + } + } + container disjoint-path { + description + "Request disjoint path computation"; + leaf group-id { + type uint32 { + range "1..65535" { + description + "Group ID"; + } + } + description + "Group ID"; + } + container type { + description + "Disjointness type"; + container link { + must + "not(../node or ../srlg + or ../srlg-node)"; + presence "Indicates a link node is configured."; + description + "Link Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + container node { + must + "not(../link or ../srlg + or ../srlg-node)"; + presence "Indicates a node node is configured."; + description + "Node Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + container srlg { + must + "not(../link or ../node + or ../srlg-node)"; + presence "Indicates a srlg node is configured."; + description + "SRLG Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + container srlg-node { + must + "not(../link or ../node + or ../srlg)"; + presence "Indicates a srlg-node node is configured."; + description + "SRLG Node Disjointness"; + leaf sub-id { + type uint32 { + range "1..65535" { + description + "Subgroup ID number"; + } + } + description + "Subgroup ID"; + } + } + } + } + leaf sid-algorithm { + type uint32 { + range "128..255" { + description + "The Prefix-SID algorithm value"; + } + } + description + "DEPRECATED in IOS-XR 7.5.1. Please use command segment-routing traffic-eng on-demand color constraints segments sid-algorithm . Specify the Prefix-SID aglorithm"; + } + container bounds { + description + "Assign anycast metric bounds to path"; + container cumulative { + description + "Cumulative metric bound"; + container type { + description + "The metric type for the bound"; + leaf te { + type uint32 { + range "1..4294967295" { + description + "Bound metric value"; + } + } + description + "Bound metric type TE"; + } + leaf igp { + type uint32 { + range "1..4294967295" { + description + "Bound metric value"; + } + } + description + "Bound metric type IGP"; + } + leaf latency { + type uint32 { + range "1..4294967295" { + description + "Bound metric value in microseconds"; + } + } + description + "Bound metric type latency"; + } + leaf hopcount { + type uint32 { + range "1..4294967295" { + description + "Bound metric value"; + } + } + description + "Bound metric type hopcount"; + } + } + } + } + container affinity { + description + "Assign affinities to path"; + container include-any { + description + "Affinity attributes - at least one must be included"; + container name { + description + "Affinity name"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + container include-all { + description + "Affinity attributes - all must be included"; + container name { + description + "Affinity name"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + container exclude-any { + description + "Affinity attributes to exclude - presence of at least one excludes link"; + container name { + description + "Affinity name"; + container affinity-colors { + description + "Affinity color name"; + list affinity-color { + key "affinity-color-name"; + description + "Affinity color name"; + leaf affinity-color-name { + type string { + length "1..32" { + description + "Affinity color name"; + } + } + description + "Affinity color name"; + } + } + } + } + } + } + } + leaf bandwidth { + type uint32 { + range "1..4294967295" { + description + "Bandwidth value in kbps"; + } + } + description + "Requested Bandwidth"; + } + leaf maximum-sid-depth { + type uint32 { + range "1..255" { + description + "Maximum SID Depth"; + } + } + description + "Maximum SID Depth"; + } + leaf max-install-standby-cpaths { + type uint32 { + range "0..3" { + description + "Number of standby candidate path LSPs to allow"; + } + } + description + "Allow additional candidate paths to warm up non forwarding LSPs"; + } + container steering { + presence "Indicates a steering node is configured."; + description + "Steering options for on-demand color"; + container labeled-services { + description + "Steering options for labeled services"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable traffic steering for labeled services"; + } + } + container path-invalidation { + description + "Path invalidation action, default is to fall back to unconstrained IGP path"; + container drop { + presence "Indicates a drop node is configured."; + description + "If path became invalid, keep policy up, but drop all traffic sent on the policy"; + } + } + } + container performance-measurement { + presence "Indicates a performance-measurement node is configured."; + description + "Performance Measurement configuration submode"; + container reverse-path { + description + "Specify parameters about the reverse path back to the head-end"; + leaf label { + type uint32 { + range "16..1048575" { + description + "Reverse path label"; + } + } + description + "PM packets return to head-end using a label"; + } + } + container liveness-detection { + presence "Indicates a liveness-detection node is configured."; + description + "Liveness detection configuration submode"; + container invalidation-action { + description + "Action to be taken when PM liveness session is invalidated"; + container none { + must "not(../down)"; + presence "Indicates a none node is configured."; + description + "PM liveness session state does not affect LSP state, use for diagnostic purposes"; + } + container down { + must "not(../none)"; + presence "Indicates a down node is configured."; + description + "LSP can only be operationally up if the PM liveness session is up"; + } + } + container liveness-profile { + description + "SR Policy liveness profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + container backup { + description + "SR Policy liveness backup profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + } + container logging { + presence "Indicates a logging node is configured."; + description + "Syslog configuration options"; + container session-state-change { + presence "Indicates a session-state-change node is configured."; + description + "Emit syslog when the state of the session changes"; + } + } + } + container delay-measurement { + presence "Indicates a delay-measurement node is configured."; + description + "Delay-measurement configuration submode"; + container delay-profile { + description + "SR Policy delay profile name"; + leaf name { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Profile name"; + } + } + description + "Profile name"; + } + } + container logging { + presence "Indicates a logging node is configured."; + description + "Syslog configuration options"; + container delay-exceeded { + presence "Indicates a delay-exceeded node is configured."; + description + "Emit syslog when the delay exceeds the threshold"; + } + } + } + } + container source-address { + description + "Source address of ODN policies"; + leaf ipv4 { + type inet:ipv4-address-no-zone; + must "not(../ipv6)"; + description + "IPv4 address"; + } + leaf ipv6 { + type inet:ipv6-address-no-zone; + must "not(../ipv4)"; + description + "IPv6 address"; + } + } + container constraints { + description + "Candidate path constraints"; + container segments { + description + "Path segments constraints"; + leaf sid-algorithm { + type uint32 { + range "0..255" { + description + "'0' for regular SIDs, '1' for strict-spf SIDs, '128' - '255' for algorithm SIDs"; + } + } + description + "Specify the Prefix-SID algorithm"; + } + container protection { + description + "Protection type"; + container protected-preferred { + must + "not(../protected-only or ../unprotected-only + or ../unprotected-preferred)"; + presence "Indicates a protected-preferred node is configured."; + description + "Protected adj-SID preferred (default)"; + } + container protected-only { + must + "not(../protected-preferred or ../unprotected-only + or ../unprotected-preferred)"; + presence "Indicates a protected-only node is configured."; + description + "Protected adj-SID only"; + } + container unprotected-only { + must + "not(../protected-preferred or ../protected-only + or ../unprotected-preferred)"; + presence "Indicates a unprotected-only node is configured."; + description + "Unprotected adj-SID only"; + } + container unprotected-preferred { + must + "not(../protected-preferred or ../protected-only + or ../unprotected-only)"; + presence "Indicates a unprotected-preferred node is configured."; + description + "Unprotected adj-SID preferred"; + } + } + } + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Bidirectional Forwarding Detection (BFD)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Do not create BFD sessions"; + } + container invalidation-action { + description + "Action to be taken when BFD session is invalidated"; + container none { + must "not(../down)"; + presence "Indicates a none node is configured."; + description + "BFD session state does not affect LSP state, use for diagnostic purposes"; + } + container down { + must "not(../none)"; + presence "Indicates a down node is configured."; + description + "LSP can only be operationally up if the BFD session is up"; + } + } + leaf minimum-interval { + type uint32 { + range "50..30000" { + description + "Hello interval in milliseconds (default 150)"; + } + } + description + "Hello interval (default 150)"; + } + leaf multiplier { + type uint32 { + range "1..10" { + description + "Number of missed BFD packets to declare session down (default 3)"; + } + } + description + "Number of missed BFD packets to declare session down"; + } + container logging { + presence "Indicates a logging node is configured."; + description + "Syslog configuration options"; + container session-state-change { + presence "Indicates a session-state-change node is configured."; + description + "Emit syslog when the state of the session changes"; + } + } + } + container effective-metric { + presence "Indicates a effective-metric node is configured."; + description + "Effective metric configuration submode"; + leaf value { + type uint32 { + range "0..4294967295" { + description + "Integer value of metric"; + } + } + description + "Metric value, advertised to other protocols"; + } + container type { + description + "Metric type, advertised to other protocols"; + container igp { + must + "not(../te or ../latency + or ../hopcount)"; + presence "Indicates a igp node is configured."; + description + "IGP metric type"; + } + container te { + must + "not(../igp or ../latency + or ../hopcount)"; + presence "Indicates a te node is configured."; + description + "TE metric type"; + } + container latency { + must + "not(../igp or ../te + or ../hopcount)"; + presence "Indicates a latency node is configured."; + description + "LATENCY metric type"; + } + container hopcount { + must + "not(../igp or ../te + or ../latency)"; + presence "Indicates a hopcount node is configured."; + description + "HOPCOUNT metric type"; + } + } + } + leaf pce-group { + type xr:Cisco-ios-xr-string { + length "1..16" { + description + "Name of the PCE group - maximum 16 characters"; + } + } + description + "PCE group configuration"; + } + } + } + } + container binding-sid { + description + "Binding SID allocation options"; + container explicit { + description + "Explicit based options"; + container fallback-dynamic { + must "not(../enforce-srlb)"; + presence "Indicates a fallback-dynamic node is configured."; + description + "Fallback to dynamic allocation if explicit binding SID is not available"; + } + container enforce-srlb { + must "not(../fallback-dynamic)"; + presence "Indicates a enforce-srlb node is configured."; + description + "Enforce explicit binding SID to be within SRLB range; explicit binding SIDs outside the range will be considered invalid"; + } + } + container dynamic { + description + "Dynamic based options"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable dynamic binding SID allocation; candidate paths without an explicit binding SID will be considered invalid"; + } + } + } + container te-latency { + presence "Indicates a te-latency node is configured."; + description + "Use TE-latency algorithm"; + } + leaf maximum-sid-depth { + type uint32 { + range "1..255" { + description + "Maximum SID Depth"; + } + } + description + "Maximum number of SIDs that the PCC can impose on a packet"; + } + leaf kshortest-paths { + type uint32 { + range "1..200" { + description + "Maximum number of attempted paths for cumulative bounds (default 100)"; + } + } + description + "Maximum number of path attempts when applying Yen's algorithm"; + } + container oor { + description + "Out-of-resources handling configuration"; + leaf maximum-paths { + type uint32 { + range "0..4294967295" { + description + "Number of paths (0 for no limit; default is 0)"; + } + } + description + "Maximum number of LSP paths that can be created"; + } + leaf maximum-paths-batch { + type uint32 { + range "0..4294967295" { + description + "Number of path operations (0 for no limit; default is 0)"; + } + } + description + "Maximum total number of LSP path operations in a single batch"; + } + } + leaf max-install-standby-cpaths { + type uint32 { + range "1..3" { + description + "Number of standby candidate path LSPs to allow"; + } + } + description + "Global Policy limit on installed standby cpaths"; + } + container bfd { + presence "Indicates a bfd node is configured."; + description + "Bidirectional Forwarding Detection (BFD)"; + container timers { + presence "Indicates a timers node is configured."; + description + "BFD specific timers"; + leaf session-bringup { + type uint32 { + range "10..3600" { + description + "Session bringup timer in seconds (default 60)"; + } + } + description + "How long to wait for new BFD session to come up"; + } + } + } + container separate-next-hop { + presence "Indicates a separate-next-hop node is configured."; + description + "Next-hop seperation feature"; + } + container effective-metric { + presence "Indicates a effective-metric node is configured."; + description + "Effective metric configuration submode"; + container admin-distance { + presence "Indicates a admin-distance node is configured."; + description + "Administrative distance"; + container metric-type { + description + "Metric type, advertised to other protocols"; + container igp { + description + "IGP metric type"; + leaf admin-distance { + type uint32 { + range "1..4294967295" { + description + "AD for the IGP metric, default (30)"; + } + } + description + "Administrative distance advertised for this metric type"; + } + } + container te { + description + "TE metric type"; + leaf admin-distance { + type uint32 { + range "1..4294967295" { + description + "AD for the TE metric, default (20)"; + } + } + description + "Administrative distance advertised for this metric type"; + } + } + container latency { + description + "LATENCY metric type"; + leaf admin-distance { + type uint32 { + range "1..4294967295" { + description + "AD for the LATENCY metric, default (10)"; + } + } + description + "Administrative distance advertised for this metric type"; + } + } + container hopcount { + description + "HOPCOUNT metric type"; + leaf admin-distance { + type uint32 { + range "1..4294967295" { + description + "AD for the HOPCOUNT metric, default (40)"; + } + } + description + "Administrative distance advertised for this metric type"; + } + } + container unknown { + description + "Unknown metric type"; + leaf admin-distance { + type uint32 { + range "1..4294967295" { + description + "AD for the unknown metric type (used for explicit segment-lists), default (100)"; + } + } + description + "Administrative distance advertised for this metric type"; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg.yang new file mode 100644 index 000000000..7d63cecd6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg.yang @@ -0,0 +1,50 @@ +module Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg"; + prefix um-service-sysadmin-login-banner-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR service-sysadmin-login-banner package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-07 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container service { + description + "Modify use of network based services"; + container sysadmin-login-banner { + description + "Configuration to disable sysadmin login banner"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable sysadmin login banner"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-service-timestamps-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-service-timestamps-cfg.yang new file mode 100644 index 000000000..7d3496c2a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-service-timestamps-cfg.yang @@ -0,0 +1,132 @@ +module Cisco-IOS-XR-um-service-timestamps-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-service-timestamps-cfg"; + prefix um-service-timestamps-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR service-timestamps package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-10-06 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container service { + description + "Modify use of network based services"; + container timestamps { + description + "Timestamp debug/log messages"; + container debug { + description + "Timestamp debug messages"; + container datetime { + description + "Timestamp with date and time"; + container localtime-only { + must "not(../localtime or ../msec or ../show-timezone or ../year)"; + presence "Indicates a localtime-only node is configured."; + description + "Timestamp with date and time"; + } + container localtime { + presence "Indicates a localtime node is configured."; + description + "Use local time zone for timestamps"; + } + container msec { + presence "Indicates a msec node is configured."; + description + "Include milliseconds in timestamp"; + } + container show-timezone { + presence "Indicates a show-timezone node is configured."; + description + "Add time zone information to timestamp"; + } + container year { + presence "Indicates a year node is configured."; + description + "Add year to timestamp"; + } + } + container uptime { + presence "Indicates a uptime node is configured."; + description + "Timestamp with systime uptime"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable timestamp debug messages"; + } + } + container log { + description + "Timestamp log messages"; + container datetime { + description + "Timestamp with date and time"; + container localtime-only { + presence "Indicates a localtime-only node is configured."; + description + "Timestamp with date and time"; + } + container localtime { + presence "Indicates a localtime node is configured."; + description + "Use local time zone for timestamps"; + } + container msec { + presence "Indicates a msec node is configured."; + description + "Include milliseconds in timestamp"; + } + container show-timezone { + presence "Indicates a show-timezone node is configured."; + description + "Add time zone information to timestamp"; + } + container year { + presence "Indicates a year node is configured."; + description + "Add Year to timestamp"; + } + } + container uptime { + presence "Indicates a uptime node is configured."; + description + "Timestamp with systime uptime"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable timestamp log messages"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-session-redundancy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-session-redundancy-cfg.yang new file mode 100644 index 000000000..31f047209 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-session-redundancy-cfg.yang @@ -0,0 +1,341 @@ +module Cisco-IOS-XR-um-session-redundancy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-session-redundancy-cfg"; + prefix um-session-redundancy-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR session-redundancy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container session-redundancy { + presence "Indicates a session-redundancy node is configured."; + description + "Session Redundancy configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Session Redundancy for all Groups"; + } + container preferred-role { + description + "Preferred Role for all Groups"; + container primary { + must "not(../subordinate)"; + presence "Indicates a primary node is configured."; + description + "Primary Role"; + } + container subordinate { + must "not(../primary)"; + presence "Indicates a subordinate node is configured."; + description + "Subordinate Role"; + } + } + leaf source-interface { + type xr:Interface-name; + description + "Source Interface for Redundancy Peer Communication"; + } + leaf hold-timer { + type uint32 { + range "1..65535" { + description + "Value of hold time in minutes"; + } + } + description + "Hold Timer for all Groups"; + } + leaf revertive-timer { + type uint32 { + range "1..65535" { + description + "Value of revertive time in minutes"; + } + } + must "../maximum"; + description + "Revertive Timer for all groups"; + } + leaf maximum { + type uint32 { + range "1..65535" { + description + "Value of MAX Revertive Timer"; + } + } + must "../revertive-timer"; + description + "Max Revertive Timer for all group"; + } + container groups { + description + "Redundancy Group configuration"; + list group { + key "group-id"; + description + "Redundancy Group configuration"; + leaf group-id { + type uint32 { + range "1..500" { + description + "Group ID"; + } + } + description + "Redundancy Group configuration"; + } + container interface-list { + presence "Indicates a interface-list node is configured."; + description + "List of Interfaces for this Group"; + container interfaces { + description + "Interface for this Group"; + list interface { + key "interface-name"; + description + "Interface for this Group"; + leaf interface-name { + type xr:Interface-name; + description + "Interface for this Group"; + } + leaf id { + type uint32 { + range "1..65535" { + description + "ID for the interface to be mapped on to subordinate"; + } + } + mandatory true; + description + "Map Identifier"; + } + } + } + container interface-sub-if-ranges { + description + "Interface with sub-interface range for this Group"; + list interface { + must "sub-if-range"; + key "interface-name"; + description + "Interface for this Group"; + leaf interface-name { + type xr:Interface-name; + description + "Interface for this Group"; + } + list sub-if-range { + key "start-range end-range"; + description + "Sub Interface Range"; + leaf start-range { + type uint32 { + range "0..2147483647" { + description + "Sub Interface Start Range"; + } + } + description + "Sub Interface Range"; + } + leaf end-range { + type uint32 { + range "0..2147483647" { + description + "Sub Interface End Range"; + } + } + description + "Sub Interface End Range"; + } + leaf id-range { + type uint32 { + range "1..65535" { + description + "Starting Map Identifier for the Sub Interface Range"; + } + } + must "../end-id-range"; + mandatory true; + description + "Identifier"; + } + leaf end-id-range { + type uint32 { + range "1..65535" { + description + "Ending Map Identifier for the Sub Interface Range"; + } + } + must "../id-range"; + mandatory true; + description + "Ending Map Identifier for the Sub Interface Range"; + } + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable this Group"; + } + container preferred-role { + description + "Preferred Role for this Group"; + container primary { + must "not(../subordinate)"; + presence "Indicates a primary node is configured."; + description + "Primary Role"; + } + container subordinate { + must "not(../primary)"; + presence "Indicates a subordinate node is configured."; + description + "Subordinate Role"; + } + } + leaf peer { + type inet:ip-address-no-zone; + description + "Peer config for this Group"; + } + leaf hold-timer { + type uint32 { + range "1..65535" { + description + "Value of hold time in minutes"; + } + } + description + "Hold Timer for this Group"; + } + leaf description { + type string { + length "1..800" { + description + "Description for this Group"; + } + } + description + "Description for this Group"; + } + leaf core-tracking { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Tracking Object Name"; + } + } + description + "Core Tracking Object for this Group"; + } + leaf access-tracking { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Tracking Object Name"; + } + } + description + "Access Tracking Object for this Group"; + } + container tracking-disable { + presence "Indicates a tracking-disable node is configured."; + description + "Disable Tracking Object for this Group"; + } + leaf revertive-timer { + type uint32 { + range "1..65535" { + description + "Value of revertive time in minutes"; + } + } + must "../maximum"; + description + "Revertive Timer for this group"; + } + leaf maximum { + type uint32 { + range "1..65535" { + description + "Value of MAX Revertive Timer"; + } + } + must "../revertive-timer"; + description + "Max Revertive Timer for this group"; + } + container mode { + description + "Mode of operation for current group"; + container active-active { + presence "Indicates a active-active node is configured."; + description + "Active-Active mode"; + } + } + container pool-list { + presence "Indicates a pool-list node is configured."; + description + "List of Pool-names for this Group"; + list pool { + key "pool-name"; + description + "Address Pool Name"; + leaf pool-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Pool name"; + } + } + description + "Address Pool Name"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-cfg.yang new file mode 100644 index 000000000..0fb409fff --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-cfg.yang @@ -0,0 +1,4044 @@ +module Cisco-IOS-XR-um-snmp-server-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-cfg"; + prefix um-snmp-server-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-server package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-06-16 { + description + "Added sha-224, sha-256, sha-384, sha-512 support + 2022-02-18 + Added container script"; + semver:module-version "1.2.0"; + } + revision 2020-04-14 { + description + "Added snmp agent configuration nodes."; + semver:module-version "1.1.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-04-12 { + description + "Initial version"; + } + + feature is_dying_gasp_supported { + description + "is dying gasp supported"; + } + + container snmp-server-mibs { + description + "MIB for configurations"; + } + container snmp-server { + description + "SNMP configuration subcommands"; + container community { + description + "Enable SNMP; set community string and access privileges"; + container unencrypted { + description + "The UNENCRYPTED (cleartext) community string"; + list unencrypted-string { + key "community-string"; + description + "The UNENCRYPTED (cleartext) community string"; + leaf community-string { + type string { + length "1..32" { + description + "The UNENCRYPTED community string"; + } + } + description + "The UNENCRYPTED (cleartext) community string"; + } + leaf view { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "MIB view to which the community has access"; + } + } + description + "Restrict this community to a named view"; + } + container ro { + must "not(../rw)"; + presence "Indicates a ro node is configured."; + description + "Read-only community"; + } + container rw { + must "not(../ro)"; + presence "Indicates a rw node is configured."; + description + "Read-write community"; + } + container sdrowner { + must "not(../systemowner)"; + presence "Indicates a sdrowner node is configured."; + description + "SDR Owner permissions for MIB Objects"; + } + container systemowner { + must "not(../sdrowner)"; + presence "Indicates a systemowner node is configured."; + description + "System Owner permissions for MIB objects"; + } + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + } + } + container encrypted { + presence "Indicates a encrypted node is configured."; + description + "Specifies an ENCRYPTED community string"; + container encryption-defaults { + description + "Specifies an ENCRYPTED community string in default method"; + list encryption-default { + key "community-string"; + description + "Specifies an ENCRYPTED community string in default method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in default method"; + } + } + description + "Specifies an ENCRYPTED community string in default method"; + } + leaf view { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "MIB view to which the community has access"; + } + } + description + "Restrict this community to a named view"; + } + container ro { + must "not(../rw)"; + presence "Indicates a ro node is configured."; + description + "Read-only community"; + } + container rw { + must "not(../ro)"; + presence "Indicates a rw node is configured."; + description + "Read-write community"; + } + container sdrowner { + must "not(../systemowner)"; + presence "Indicates a sdrowner node is configured."; + description + "SDR Owner permissions for MIB Objects"; + } + container systemowner { + must "not(../sdrowner)"; + presence "Indicates a systemowner node is configured."; + description + "System Owner permissions for MIB objects"; + } + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + } + } + container encryption-aeses { + description + "Specifies an ENCRYPTED community string in aes-128 method"; + list encryption-aes { + key "community-string"; + description + "Specifies an ENCRYPTED community string in aes-128 method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in aes-128 method"; + } + pattern "[0-9a-zA-Z]+"; + } + description + "Specifies an ENCRYPTED community string in aes-128 method"; + } + leaf view { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "MIB view to which the community has access"; + } + } + description + "Restrict this community to a named view"; + } + container ro { + must "not(../rw)"; + presence "Indicates a ro node is configured."; + description + "Read-only community"; + } + container rw { + must "not(../ro)"; + presence "Indicates a rw node is configured."; + description + "Read-write community"; + } + container sdrowner { + must "not(../systemowner)"; + presence "Indicates a sdrowner node is configured."; + description + "SDR Owner permissions for MIB Objects"; + } + container systemowner { + must "not(../sdrowner)"; + presence "Indicates a systemowner node is configured."; + description + "System Owner permissions for MIB objects"; + } + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + } + } + } + } + container community-map { + description + "Community Mapping as per RFC-2576"; + container unencrypted { + description + "The UNENCRYPTED (cleartext) community string"; + list unencrypted-string { + must "context or security-name or target-list"; + key "community-string"; + description + "The UNENCRYPTED (cleartext) community string"; + leaf community-string { + type string { + length "1..32" { + description + "The UNENCRYPTED community string"; + } + } + description + "The UNENCRYPTED (cleartext) community string"; + } + leaf context { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "SNMP Context Name "; + } + } + description + "Context Name for the community mapping "; + } + leaf security-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SNMP Security Name "; + } + } + description + "Security Name for the community mapping "; + } + leaf target-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "target list name "; + } + } + description + "list of targets valid with this community "; + } + } + } + container encrypted { + presence "Indicates a encrypted node is configured."; + description + "Specifies an ENCRYPTED community string"; + container encryption-defaults { + description + "Specifies an ENCRYPTED community string in default method"; + list encryption-default { + must "context or security-name or target-list"; + key "community-string"; + description + "Specifies an ENCRYPTED community string in default method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in default method"; + } + } + description + "Specifies an ENCRYPTED community string in default method"; + } + leaf context { + type string { + length "1..32" { + description + "SNMP Context Name "; + } + } + description + "Context Name for the community mapping "; + } + leaf security-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SNMP Security Name "; + } + } + description + "Security Name for the community mapping "; + } + leaf target-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "target list name "; + } + } + description + "list of targets valid with this community "; + } + } + } + container encryption-aeses { + description + "Specifies an ENCRYPTED community string in aes-128 method"; + list encryption-aes { + must "context or security-name or target-list"; + key "community-string"; + description + "Specifies an ENCRYPTED community string in aes-128 method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in aes-128 method"; + } + } + description + "Specifies an ENCRYPTED community string in aes-128 method"; + } + leaf context { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "SNMP Context Name "; + } + } + description + "Context Name for the community mapping "; + } + leaf security-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "SNMP Security Name "; + } + } + description + "Security Name for the community mapping "; + } + leaf target-list { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "target list name "; + } + } + description + "list of targets valid with this community "; + } + } + } + } + } + container traps { + description + "Enable SNMP traps"; + container snmp { + description + "Enable SNMPv2-MIB traps"; + container authentication { + presence "Indicates an authentication node is configured."; + description + "Enable SNMPv2-MIB authenticationFailure trap"; + } + container coldstart { + presence "Indicates a coldstart node is configured."; + description + "Enable SNMPv2-MIB coldStart trap"; + } + container linkdown { + presence "Indicates a linkdown node is configured."; + description + "Enable SNMPv2-MIB linDownp traps"; + } + container linkup { + presence "Indicates a authentication node is configured."; + description + "Enable SNMPv2-MIB linkUp traps"; + } + container warmstart { + presence "Indicates a authentication node is configured."; + description + "Enable SNMPv2-MIB warmStart trap"; + } + container all { + presence "Indicates an all node is configured."; + description + "Enable all traps"; + } + } + } + container hosts { + description + "Specify hosts to receive SNMP notifications"; + list host { + key "address"; + description + "Specify hosts to receive SNMP notifications"; + leaf address { + type inet:ip-address-no-zone; + description + "Specify hosts to receive SNMP notifications"; + } + container traps { + description + "Send Trap messages to this host"; + container encrypted { + description + "Specifies an ENCRYPTED community string"; + container encryption-defaults { + description + "Specifies an ENCRYPTED community string in default method"; + list encryption-default { + key "community-string"; + description + "Specifies an ENCRYPTED community string in default method"; + leaf community-string { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "The ENCRYPTED community string in default method"; + } + } + description + "Specifies an ENCRYPTED community string in default method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + container encryption-aeses { + description + "Specifies an ENCRYPTED community string in aes-128 method"; + list encryption-aes { + key "community-string"; + description + "Specifies an ENCRYPTED community string in aes-128 method"; + leaf community-string { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "The ENCRYPTED community string in aes-128 method"; + } + pattern "[0-9a-zA-Z]+"; + } + description + "Specifies an ENCRYPTED community string in aes-128 method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + container unencrypted { + description + "The UNENCRYPTED (cleartext) community string"; + list unencrypted-string { + key "community-string"; + description + "The UNENCRYPTED (cleartext) community string"; + leaf community-string { + type string { + length "1..32" { + description + "The UNENCRYPTED (cleartext) community string"; + } + } + description + "The UNENCRYPTED (cleartext) community string"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + container informs { + description + "Send Inform messages to this host"; + container encrypted { + description + "Specifies an ENCRYPTED community string"; + container encryption-defaults { + description + "Specifies an ENCRYPTED community string in default method"; + list encryption-default { + must "version/v2c or version/v3"; + key "community-string"; + description + "Specifies an ENCRYPTED community string in default method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in default method"; + } + } + description + "Specifies an ENCRYPTED community string in default method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + container encryption-aeses { + description + "Specifies an ENCRYPTED community string in aes-128 method"; + list encryption-aes { + must "version/v2c or version/v3"; + key "community-string"; + description + "Specifies an ENCRYPTED community string in aes-128 method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in aes-128 method"; + } + } + description + "Specifies an ENCRYPTED community string in aes-128 method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + container unencrypted { + description + "The UNENCRYPTED (cleartext) community string"; + list unencrypted-string { + must "version/v2c or version/v3"; + key "community-string"; + description + "The UNENCRYPTED (cleartext) community string"; + leaf community-string { + type string { + length "1..32" { + description + "The UNENCRYPTED (cleartext) community string"; + } + } + description + "The UNENCRYPTED (cleartext) community string"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + } + } + leaf location { + type string { + length "1..255" { + description + "The physical location of this node"; + } + } + description + "Text for mib Object sysLocation"; + } + leaf contact { + type string { + length "1..255" { + description + "identification of the contact person for this managed node"; + } + } + description + "Text for mib Object sysContact"; + } + container views { + description + "Define an SNMPv2 MIB view"; + list view { + must "mib-view-families/mib-view-family"; + key "view-name"; + description + "Name of the view"; + leaf view-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the view"; + } + } + description + "Name of the view"; + } + container mib-view-families { + description + "MIB view family"; + list mib-view-family { + must "included or excluded"; + key "mib-view-family-name"; + leaf mib-view-family-name { + type string { + length "1..1024" { + description + "MIB view family name"; + } + } + description + "MIB view family name"; + } + container included { + must "not(../excluded)"; + presence "Indicates a included node is configured."; + description + "MIB family is included in the view"; + } + container excluded { + must "not(../included)"; + presence "Indicates a excluded node is configured."; + description + "MIB family is excluded from the view"; + } + } + } + } + } + leaf chassis-id { + type string { + length "1..255" { + description + "Unique ID string"; + } + } + description + "String to uniquely identify this chassis"; + } + leaf packetsize { + type uint32 { + range "484..65500" { + description + "Packet size"; + } + } + description + "Largest SNMP packet size"; + } + container trap-source { + description + "Assign an interface for the source address of all traps"; + leaf both { + type xr:Interface-name; + description + "Assign an interface for the source address of all traps"; + } + leaf ipv4 { + type xr:Interface-name; + description + "IPv4 address of the interface"; + } + leaf ipv6 { + type xr:Interface-name; + description + "IPv6 address of the interface"; + } + leaf port { + type uint32 { + range "1024..65535" { + description + "UDP port number"; + } + } + description + "Change the source port of all traps (default 161)."; + } + } + container trap { + description + "MIB trap configurations"; + leaf throttle-time { + type uint32 { + range "10..500" { + description + "Time in msec (default 250 msecs)"; + } + } + description + "Set throttle time for handling more traps"; + } + container authentication { + description + "Configure authentication trap"; + container vrf { + description + "VRF configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable authentication traps for packets on a vrf"; + } + } + } + leaf delay-timer { + type uint32 { + range "30..240" { + description + "Time in minutes"; + } + } + description + "Set time to delay traps on init"; + } + } + leaf trap-timeout { + type uint32 { + range "1..1000" { + description + "Timeout (default 30 seconds)"; + } + } + description + "Set timeout for TRAP message retransmissions"; + } + leaf queue-length { + type uint32 { + range "1..5000" { + description + "Queue length (default 100)"; + } + } + description + "Message queue length for each TRAP host"; + } + leaf throttle-time { + type uint32 { + range "50..1000" { + description + "Throttle Time for incoming queue (default 0 msec)"; + } + } + description + "Set throttle time for handling incoming messages"; + } + leaf overload-control { + type uint32 { + range "0..300" { + description + "Overload drop time (in seconds) for incoming queue (default 1 sec)"; + } + } + must "../overload-throttle-rate"; + description + "Set overload-control params for handling incoming messages in critical processing mode"; + } + leaf overload-throttle-rate { + type uint32 { + range "0..1000" { + description + "Overload throttle rate for incoming queue (default 500 msec)"; + } + } + must "../overload-control"; + description + "Overload throttle rate for incoming queue (default 500 msec)"; + } + container ipv4 { + description + "Mark the dscp/precedence bit for ipv4 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "not(../precedence)"; + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "routine" { + value 0; + description + "Match packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Match packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence (7)"; + } + } + } + must "not(../dscp)"; + description + "Set precedence"; + } + } + container ipv6 { + description + "Mark the dscp/precedence bit for ipv6 packets"; + leaf dscp { + type union { + type uint32 { + range "0..63" { + description + "Differentiated services codepoint value"; + } + } + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + } + } + must "not(../precedence)"; + description + "Set IP DSCP (DiffServ CodePoint)"; + } + leaf precedence { + type union { + type uint32 { + range "0..7" { + description + "Precedence value"; + } + } + type enumeration { + enum "routine" { + value 0; + description + "Match packets with routine precedence (0)"; + } + enum "priority" { + value 1; + description + "Match packets with priority precedence (1)"; + } + enum "immediate" { + value 2; + description + "Match packets with immediate precedence (2)"; + } + enum "flash" { + value 3; + description + "Match packets with flash precedence (3)"; + } + enum "flash-override" { + value 4; + description + "Match packets with flash override precedence (4)"; + } + enum "critical" { + value 5; + description + "Match packets with critical precedence (5)"; + } + enum "internet" { + value 6; + description + "Match packets with internetwork control precedence (6)"; + } + enum "network" { + value 7; + description + "Match packets with network control precedence (7)"; + } + } + } + must "not(../dscp)"; + description + "Set precedence"; + } + } + container drop { + description + "Drop packets"; + container unknown-user { + presence "Indicates a unknown-user node is configured."; + description + "Silently drop unknown v3 user packets"; + } + container report { + description + "Config to drop snmpv3 error reports"; + container acl { + description + "Config to drop snmpv3 error reports matching ACL"; + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + } + } + } + container groups { + description + "Define a User Security Model group"; + list group { + key "group-name"; + description + "Name of the group"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "Name of the group"; + } + } + description + "Name of the group"; + } + container v1 { + must "not(../v2c or ../v3)"; + presence "Indicates a v1 node is configured."; + description + "group using the v1 security model"; + leaf read { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "read view name"; + } + } + description + "specify a read view for this group"; + } + leaf write { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "write view name"; + } + } + description + "specify a write view for this group"; + } + leaf context { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context name"; + } + } + description + "Attach a SNMP context"; + } + leaf notify { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "notify view name"; + } + } + description + "specify a notify view for the group"; + } + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + } + container v2c { + must "not(../v1 or ../v3)"; + presence "Indicates a v2c node is configured."; + description + "group using the v2c security model"; + leaf read { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "read view name"; + } + } + description + "specify a read view for this group"; + } + leaf write { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "write view name"; + } + } + description + "specify a write view for this group"; + } + leaf context { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context name"; + } + } + description + "Attach a SNMP context"; + } + leaf notify { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "notify view name"; + } + } + description + "specify a notify view for the group"; + } + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + } + container v3 { + must "not(../v1 or ../v2c) and (priv or auth or noauth)"; + presence "Indicates a v3 node is configured."; + description + "group using the User Security Model (SNMPv3)"; + leaf read { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "read view name"; + } + } + description + "specify a read view for this group"; + } + leaf write { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "write view name"; + } + } + description + "specify a write view for this group"; + } + leaf context { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context name"; + } + } + description + "Attach a SNMP context"; + } + leaf notify { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "notify view name"; + } + } + description + "specify a notify view for the group"; + } + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + container priv { + must "not(../auth or ../noauth)"; + presence "Indicates a priv node is configured."; + description + "group using authPriv Security Level"; + } + container auth { + must "not(../priv or ../noauth)"; + presence "Indicates an auth node is configured."; + description + "group using the authNoPriv Security Level"; + } + container noauth { + must "not(../auth or ../priv)"; + presence "Indicates an noauth node is configured."; + description + "group using the noAuthNoPriv Security Level"; + } + } + } + } + container engine-id { + description + "Configure a local or remote SNMPv3 engineID"; + leaf local { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "engine ID octet string"; + } + } + description + "engineID of the local agent"; + } + container remotes { + description + "engineID of the remote agent"; + list remote { + key "address"; + description + "engineID of the remote agent"; + leaf address { + type inet:ip-address-no-zone; + description + "engineID of the remote agent"; + } + leaf engine-id { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "engine ID octet string"; + } + } + mandatory true; + description + "engine ID octet string"; + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "UDP port number"; + } + } + mandatory true; + description + "The remote notification host's UDP port number"; + } + } + } + } + container users { + description + "Define a user who can access the SNMP engine"; + list user { + key "user-name"; + description + "Name of the user"; + leaf user-name { + type string { + length "1..32" { + description + "Name of the user"; + } + } + description + "Name of the user"; + } + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Group to which the user belongs"; + } + } + mandatory true; + description + "Group to which the user belongs"; + } + leaf remote { + type inet:ip-address-no-zone; + description + "Specify a remote SNMP entity to which the user belongs"; + } + leaf udp-port { + type uint32 { + range "1..65535" { + description + "The remote SNMP entity's UDP port number"; + } + } + must "../remote"; + description + "The remote SNMP entity's UDP port number"; + } + container v1 { + must "not(../v2c or ../v3)"; + presence "Indicates a v1 node is configured."; + description + "user using the v1 security model"; + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + container sdrowner { + must "not(../systemowner)"; + presence "Indicates a sdrowner node is configured."; + description + "SDR Owner permissions for MIB Objects"; + } + container systemowner { + must "not(../sdrowner)"; + presence "Indicates a systemowner node is configured."; + description + "System Owner permissions for MIB objects"; + } + } + container v2c { + must "not(../v1 or ../v3)"; + presence "Indicates a v2c node is configured."; + description + "user using the v2c security model"; + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + container sdrowner { + must "not(../systemowner)"; + presence "Indicates a sdrowner node is configured."; + description + "SDR Owner permissions for MIB Objects"; + } + container systemowner { + must "not(../sdrowner)"; + presence "Indicates a systemowner node is configured."; + description + "System Owner permissions for MIB objects"; + } + } + container v3 { + presence "Indicates a v3 node is configured."; + description + "user using the v3 security model"; + container auth { + must + "(md5/encryption-default or + md5/encryption-aes or + sha/encryption-default or + sha/encryption-aes or + sha-224/encryption-default or + sha-224/encryption-aes or + sha-256/encryption-default or + sha-256/encryption-aes or + sha-384/encryption-default or + sha-384/encryption-aes or + sha-512/encryption-default or + sha-512/encryption-aes)"; + presence "Indicates a auth node is configured."; + description + "authentication parameters for the user"; + container md5 { + description + "Use HMAC MD5 algorithm for authentication"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container sha { + description + "Use HMAC SHA algorithm for authentication"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container sha-224 { + description + "Use HMAC SHA-224 algorithm for authentication"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container sha-256 { + description + "Use HMAC SHA-256 algorithm for authentication"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container sha-384 { + description + "Use HMAC SHA-384 algorithm for authentication"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-512/encryption-default or + ../../sha-512/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container sha-512 { + description + "Use HMAC SHA-512 algorithm for authentication"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../md5/encryption-default or + ../../md5/encryption-aes or + ../../sha/encryption-default or + ../../sha/encryption-aes or + ../../sha-224/encryption-default or + ../../sha-224/encryption-aes or + ../../sha-256/encryption-default or + ../../sha-256/encryption-aes or + ../../sha-384/encryption-default or + ../../sha-384/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + } + container priv { + must + "../auth and (three-des/encryption-default or + three-des/encryption-aes or + des56/encryption-default or + des56/encryption-aes or + aes/aes-128/encryption-default or + aes/aes-128/encryption-aes or + aes/aes-192/encryption-default or + aes/aes-192/encryption-aes or + aes/aes-256/encryption-default or + aes/aes-256/encryption-aes)"; + presence "Indicates a priv node is configured."; + description + "encryption parameters for the user"; + container three-des { + description + " Use 168 bit 3DES algorithm for encryption"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../des56/encryption-default or + ../../des56/encryption-aes or + ../../aes/aes-128/encryption-default or + ../../aes/aes-128/encryption-aes or + ../../aes/aes-192/encryption-default or + ../../aes/aes-192/encryption-aes or + ../../aes/aes-256/encryption-default or + ../../aes/aes-256/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../des56/encryption-default or + ../../des56/encryption-aes or + ../../aes/aes-128/encryption-default or + ../../aes/aes-128/encryption-aes or + ../../aes/aes-192/encryption-default or + ../../aes/aes-192/encryption-aes or + ../../aes/aes-256/encryption-default or + ../../aes/aes-256/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container des56 { + description + " Use 56 bit DES algorithm for encryption"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../encryption-aes or + ../../three-des/encryption-default or + ../../three-des/encryption-aes or + ../../aes/aes-128/encryption-default or + ../../aes/aes-128/encryption-aes or + ../../aes/aes-192/encryption-default or + ../../aes/aes-192/encryption-aes or + ../../aes/aes-256/encryption-default or + ../../aes/aes-256/encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../encryption-default or + ../../three-des/encryption-default or + ../../three-des/encryption-aes or + ../../aes/aes-128/encryption-default or + ../../aes/aes-128/encryption-aes or + ../../aes/aes-192/encryption-default or + ../../aes/aes-192/encryption-aes or + ../../aes/aes-256/encryption-default or + ../../aes/aes-256/encryption-aes)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container aes { + description + " Use 128 bit AES algorithm for encryption"; + container aes-128 { + description + " Use AES 128 bit encryption"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../../../des56/encryption-default or + ../../../des56/encryption-aes or + ../../../three-des/encryption-default or + ../../../three-des/encryption-aes or + ../../aes-192/encryption-default or + ../../aes-192/encryption-aes or + ../../aes-256/encryption-default or + ../../aes-256/encryption-aes or + ../encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../../../des56/encryption-default or + ../../../des56/encryption-aes or + ../../../three-des/encryption-default or + ../../../three-des/encryption-aes or + ../../aes-192/encryption-default or + ../../aes-192/encryption-aes or + ../../aes-256/encryption-default or + ../../aes-256/encryption-aes or + ../encryption-default)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container aes-192 { + description + " Use AES 256 bit encryption"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../../../des56/encryption-default or + ../../../des56/encryption-aes or + ../../../three-des/encryption-default or + ../../../three-des/encryption-aes or + ../../aes-128/encryption-default or + ../../aes-128/encryption-aes or + ../../aes-256/encryption-default or + ../../aes-256/encryption-aes or + ../encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../../../des56/encryption-default or + ../../../des56/encryption-aes or + ../../../three-des/encryption-default or + ../../../three-des/encryption-aes or + ../../aes-128/encryption-default or + ../../aes-128/encryption-aes or + ../../aes-256/encryption-default or + ../../aes-256/encryption-aes or + ../encryption-default)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + container aes-256 { + description + " Use AES 256 bit encryption"; + leaf encryption-default { + type xr:Proprietary-password; + must + "not(../../../des56/encryption-default or + ../../../des56/encryption-aes or + ../../../three-des/encryption-default or + ../../../three-des/encryption-aes or + ../../aes-128/encryption-default or + ../../aes-128/encryption-aes or + ../../aes-192/encryption-default or + ../../aes-192/encryption-aes or + ../encryption-aes)"; + description + "Specifies an default ENCRYPTED authentication password"; + } + leaf encryption-aes { + type string { + length "1..1024" { + description + "The aes-128 ENCRYPTED authentication password"; + } + pattern "[0-9a-zA-Z]+"; + } + must + "not(../../../des56/encryption-default or + ../../../des56/encryption-aes or + ../../../three-des/encryption-default or + ../../../three-des/encryption-aes or + ../../aes-128/encryption-default or + ../../aes-128/encryption-aes or + ../../aes-192/encryption-default or + ../../aes-192/encryption-aes or + ../encryption-default)"; + description + "Specifies an aes-128 ENCRYPTED authentication password"; + } + } + } + } + leaf ipv4 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V4 Access-list name"; + } + } + description + "Type of Access-list"; + } + leaf ipv6 { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "V6 Access-list name"; + } + } + description + "Type of Access-list"; + } + container sdrowner { + must "not(../systemowner)"; + presence "Indicates a sdrowner node is configured."; + description + "SDR Owner permissions for MIB Objects"; + } + container systemowner { + must "not(../sdrowner)"; + presence "Indicates a systemowner node is configured."; + description + "System Owner permissions for MIB objects"; + } + } + } + } + container target { + description + "SNMP target subcommands"; + container lists { + description + "Specify list of targets"; + list list { + key "list-name"; + description + "Specify list of targets"; + leaf list-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of the target list"; + } + } + description + "Specify list of targets"; + } + list vrf { + key "vrf-name"; + description + "Specify VRF name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF Name"; + } + } + description + "Specify VRF name"; + } + } + container hosts { + description + "Specify host name"; + list host { + key "address"; + description + "Specify host name"; + leaf address { + type inet:ip-address-no-zone; + description + "Specify host name"; + } + } + } + } + } + } + container context { + description + "Configure SNMP context "; + container contexts { + description + "Context Name"; + list context { + key "context-name"; + description + "Context Name"; + leaf context-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context Name"; + } + } + description + "Context Name"; + } + } + } + container mappings { + description + "context mapping"; + list mapping { + must "instance or topology or vrf"; + key "context-name"; + description + "context mapping"; + leaf context-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context Name"; + } + } + description + "context mapping"; + } + leaf feature { + type enumeration { + enum "vrf" { + value 1; + description + "Vrf feature"; + } + enum "bridge" { + value 4; + description + "L2vpn bridge feature"; + } + enum "ospf" { + value 5; + description + "Ospf feature"; + } + enum "ospfv3" { + value 6; + description + "Ospfv3 feature"; + } + } + mandatory true; + description + "Configure feature "; + } + leaf instance { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Protocol Instance Name"; + } + } + description + "Protocol instance associated with the context"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + description + "Vrf associated with the context"; + } + leaf topology { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Topology Name"; + } + } + description + "Topology name associated with the context"; + } + } + } + } + container vrfs { + description + "SNMP VRF configuration commands"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF name"; + } + container hosts { + description + "Specify hosts to receive SNMP notifications"; + list host { + key "address"; + description + "Specify hosts to receive SNMP notifications"; + leaf address { + type inet:ip-address-no-zone; + description + "Specify hosts to receive SNMP notifications"; + } + container traps { + description + "Send Trap messages to this host"; + container encrypted { + description + "Specifies an ENCRYPTED community string"; + container encryption-defaults { + description + "Specifies an ENCRYPTED community string in default method"; + list encryption-default { + key "community-string"; + description + "Specifies an ENCRYPTED community string in default method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in default method"; + } + } + description + "Specifies an ENCRYPTED community string in default method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + } + mandatory true; + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + container encryption-aeses { + description + "Specifies an ENCRYPTED community string in aes-128 method"; + list encryption-aes { + key "community-string"; + description + "Specifies an ENCRYPTED community string in aes-128 method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in aes-128 method"; + } + pattern "[0-9a-zA-Z]+"; + } + description + "Specifies an ENCRYPTED community string in aes-128 method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + } + mandatory true; + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + container unencrypted { + description + "The UNENCRYPTED (cleartext) community string"; + list unencrypted-string { + key "community-string"; + description + "The UNENCRYPTED (cleartext) community string"; + leaf community-string { + type string { + length "1..32" { + description + "The UNENCRYPTED (cleartext) community string"; + } + } + description + "The UNENCRYPTED (cleartext) community string"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + } + mandatory true; + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + container informs { + description + "Send Inform messages to this host"; + container encrypted { + description + "Specifies an ENCRYPTED community string"; + container encryption-defaults { + description + "Specifies an ENCRYPTED community string in default method"; + list encryption-default { + must "version/v2c or version/v3"; + key "community-string"; + description + "Specifies an ENCRYPTED community string in default method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in default method"; + } + } + description + "Specifies an ENCRYPTED community string in default method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + } + mandatory true; + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + container encryption-aeses { + description + "Specifies an ENCRYPTED community string in aes-128 method"; + list encryption-aes { + must "version/v2c or version/v3"; + key "community-string"; + description + "Specifies an ENCRYPTED community string in aes-128 method"; + leaf community-string { + type string { + length "1..1024" { + description + "The ENCRYPTED community string in aes-128 method"; + } + pattern "[0-9a-zA-Z]+"; + } + description + "Specifies an ENCRYPTED community string in aes-128 method"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + } + mandatory true; + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + container unencrypted { + description + "The UNENCRYPTED (cleartext) community string"; + list unencrypted-string { + must "version/v2c or version/v3"; + key "community-string"; + description + "The UNENCRYPTED (cleartext) community string"; + leaf community-string { + type string { + length "1..32" { + description + "The UNENCRYPTED (cleartext) community string"; + } + } + description + "The UNENCRYPTED (cleartext) community string"; + } + container version { + description + "SNMP version to use for notification messages"; + container v2c { + must "not(../v3)"; + presence "Indicates a v2c node is configured."; + description + "Use 2c for SNMPv2c"; + } + container v3 { + must "not(../v2c)"; + presence "Indicates a v3 node is configured."; + description + "Use 3 for SNMPv3"; + leaf security-level { + type enumeration { + enum "auth" { + value 1; + description + "Using authNoPriv Security Level"; + } + enum "noauth" { + value 0; + description + "Using noAuthNoPriv Security Level"; + } + enum "priv" { + value 2; + description + "Using authPriv Security Level"; + } + } + mandatory true; + } + } + } + leaf udp-port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "udp port number"; + } + } + } + mandatory true; + description + "udp port to which notifications should be sent"; + } + container dying-gasp { + if-feature "is_dying_gasp_supported"; + presence "Indicates a dying-gasp node is configured."; + description + "This host will receive dying gasp trap"; + } + } + } + } + } + } + container contexts { + description + "SNMP Context Name"; + list context { + key "context-name"; + description + "SNMP Context Name"; + leaf context-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Context Name"; + } + } + description + "SNMP Context Name"; + } + } + } + } + } + container oid-poll-stats { + presence "Indicates a oid-poll-stats node is configured."; + description + "Enable OID poll stats oper CLI"; + } + container timeouts { + description + "SNMP timeouts"; + leaf subagent { + type uint32 { + range "1..20" { + description + "timeout in secs (default 10)"; + } + } + description + "Sub-Agent Request timeout"; + } + leaf duplicate { + type uint32 { + range "0..20" { + description + "timeout in secs (default 1)"; + } + } + description + "Duplicate request feature timeout"; + } + leaf in-qdrop { + type uint32 { + range "0..20" { + description + "timeout in secs (default 10)"; + } + } + description + "incoming queue drop feature"; + } + leaf threshold { + type uint32 { + range "0..100000" { + description + "Max number of packets in Pre processing Q(default 50000)"; + } + } + description + "threshold incoming queue drop feature"; + } + container pdu { + description + "SNMP pdu statistics end to end"; + leaf stats { + type uint32 { + range "1..10" { + description + "timeout in secs (default 2)"; + } + } + description + "SNMP pdu statistics timeout"; + } + } + } + container correlator { + description + "Configure properties of the event correlator"; + container rules { + description + "Configure a specified correlation rule"; + list rule { + key "rule-name"; + description + "Configure a specified correlation rule"; + leaf rule-name { + type string { + length "1..32" { + description + "Rule name"; + } + } + description + "Configure a specified correlation rule"; + } + leaf timeout { + type uint32 { + range "1..600000" { + description + "Timeout (time the rule is to be active) in milliseconds"; + } + } + description + "Specify timeout"; + } + container rootcauses { + description + "Specify root cause trap"; + list rootcause { + key "rootcause-name"; + description + "Specify root cause trap"; + leaf rootcause-name { + type string { + length "1..256" { + description + "OID of the root message"; + } + } + description + "Specify root cause trap"; + } + container varbinds { + description + "Specify varbind (optional)"; + list varbind { + must "index/regex or value/regex"; + key "varbind-name"; + description + "Specify varbind (optional)"; + leaf varbind-name { + type string { + length "1..256" { + description + "OID of the varbind"; + } + } + description + "Specify varbind (optional)"; + } + container index { + description + "Match the varbind index"; + leaf regex { + type string { + length "1..512" { + description + "Regular expression to match for the varbind"; + } + } + description + "Regular expression to match"; + } + } + container value { + description + "Match the varbind value"; + leaf regex { + type string { + length "1..512" { + description + "Regular expression to match for the varbind"; + } + } + description + "Regular expression to match"; + } + } + } + } + } + } + container nonrootcause { + description + "nonrootcause trap"; + container traps { + description + "Specify non-root cause trap"; + list trap { + key "trap-name"; + description + "Specify non-root cause trap"; + leaf trap-name { + type string { + length "1..256" { + description + "OID of the correlated message"; + } + } + description + "Specify non-root cause trap"; + } + container varbinds { + description + "Specify varbind (optional)"; + list varbind { + must "index/regex or value/regex"; + key "varbind-name"; + description + "Specify varbind (optional)"; + leaf varbind-name { + type string { + length "1..256" { + description + "OID of the varbind"; + } + } + description + "Specify varbind (optional)"; + } + container index { + description + "Match the varbind index"; + leaf regex { + type string { + length "1..512" { + description + "Regular expression to match for the varbind"; + } + } + description + "Regular expression to match"; + } + } + container value { + description + "Match the varbind value"; + leaf regex { + type string { + length "1..512" { + description + "Regular expression to match for the varbind"; + } + } + description + "Regular expression to match"; + } + } + } + } + } + } + } + } + } + container rulesets { + description + "Configure a specified correlation ruleset"; + list ruleset { + key "ruleset-name"; + description + "Configure a specified correlation ruleset"; + leaf ruleset-name { + type string { + length "1..32" { + description + "Ruleset name"; + } + } + description + "Configure a specified correlation ruleset"; + } + container rulenames { + description + "Specify rule name"; + list rulename { + key "rule-name"; + description + "Specify rule name"; + leaf rule-name { + type string { + length "1..32" { + description + "Rule name"; + } + } + description + "Specify rule name"; + } + } + } + } + } + container apply { + description + "Apply rule or ruleset"; + container rules { + description + "Apply rule"; + list rule { + key "rule-name"; + description + "Apply rule"; + leaf rule-name { + type string { + length "1..32" { + description + "Rule name"; + } + } + description + "Apply rule"; + } + container all-hosts { + presence "Indicates a all-hosts node is configured."; + description + "Apply the rule to all hosts"; + } + container host { + description + "Apply rule to traps destined for specified host"; + container ipv4 { + description + "Host IPv4 address"; + list address { + key "address port"; + description + "Host IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Host IP address"; + } + leaf port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "Host UDP port"; + } + } + } + description + "Host Port number"; + } + } + } + } + } + } + container rulesets { + description + "Apply Ruleset"; + list ruleset { + key "ruleset-name"; + description + "Apply Ruleset"; + leaf ruleset-name { + type string { + length "1..32" { + description + "Ruleset name"; + } + } + description + "Apply Ruleset"; + } + container all-hosts { + presence "Indicates a all-hosts node is configured."; + description + "Apply the rule to all hosts"; + } + container host { + description + "Apply rule to traps destined for specified host"; + container ipv4 { + description + "Host IPv4 address"; + list address { + key "address port"; + description + "Host IP address"; + leaf address { + type inet:ipv4-address-no-zone; + description + "Host IP address"; + } + leaf port { + type union { + type enumeration { + enum "default" { + value 162; + description + "Default UDP port (162)"; + } + } + type uint32 { + range "1..65535" { + description + "Host UDP port"; + } + } + } + description + "Host Port number"; + } + } + } + } + } + } + } + leaf buffer-size { + type uint32 { + range "1024..52428800" { + description + "Size of the correlator buffer"; + } + } + description + "Configure size of the correlator buffer"; + } + } + container logging { + description + "Configuration for logging operations"; + container threshold { + description + "Configure thresholds for SNMP data logging"; + leaf oid-processing { + type uint32 { + range "0..20000" { + description + "Threshold in ms (default 500). Set 0 to log every transaction"; + } + } + description + "Configure threshold to start logging slow OID requests processing"; + } + leaf pdu-processing { + type uint32 { + range "0..20000" { + description + "Threshold in ms (default 20000). Set 0 to log every transaction, set to 20000 to disable logging PDU processing time"; + } + } + description + "Configure threshold to start logging slow PDU requests processing"; + } + } + } + container inform { + description + "Configure SNMP Informs options"; + leaf retries { + type uint32 { + range "0..100" { + description + "Number of times to retry an Inform request, default #3"; + } + } + description + "Set retry count for informs"; + } + leaf timeout { + type uint32 { + range "1..42949671" { + description + "Timeout value, in seconds, default #15"; + } + } + description + "Set timeout for informs"; + } + leaf pending { + type uint32 { + range "1..4294967295" { + description + "Max nmber of informs to hold in queue, default #25"; + } + } + description + "Set max number of informs to hold in queue"; + } + } + container mib { + description + "SNMP bulk stats configuration commands"; + container bulkstat { + description + "SNMP bulk stats configuration commands"; + leaf max-procmem-size { + type uint32 { + range "100..200000" { + description + "per process memory limit in kilo bytes (default 200000)"; + } + } + description + "per process memory limit in kilo bytes"; + } + container object-lists { + description + "Configure an Object List "; + list object-list { + key "object-list-name"; + description + "Configure an Object List "; + leaf object-list-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the object List"; + } + } + description + "Configure an Object List "; + } + container adds { + description + "Object name or OID "; + list add { + key "object-name"; + description + "Object name or OID "; + leaf object-name { + type string { + length "1..800" { + description + "Object name or OID "; + } + } + description + "Object name or OID "; + } + } + } + } + } + container schemas { + description + "Configure schema definition"; + list schema { + key "schema-name"; + description + "Configure schema definition"; + leaf schema-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the schema"; + } + } + description + "Configure schema definition"; + } + leaf object-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of an object List"; + } + } + description + "Name of an object List"; + } + leaf poll-interval { + type uint32 { + range "1..20000" { + description + "Periodicity for polling of objects in this schema in Min (default 5)"; + } + } + description + "Periodicity for polling of objects in this schema in Min"; + } + container instance { + description + "Object instance information"; + container exact { + must "not(../wild or ../range or ../repetition) and (interface or oid)"; + presence "Indicates an exact node is configured."; + description + "Instance when appended with object gives complete oid"; + leaf interface { + type xr:Interface-name; + must "not(../oid)"; + description + "Specify instance as interface"; + } + container sub-if { + must "../interface"; + presence "Indicates a sub-if node is configured."; + description + "Includes all the sub interfaces"; + } + leaf oid { + type string { + length "1..1024" { + description + "Instance oid for objects in this schema"; + } + } + must "not(../interface)"; + description + "Specify instance as oid"; + } + } + container wild { + must "not(../exact or ../range or ../repetition) and (interface or oid)"; + presence "Indicates an exact node is configured."; + description + "Remaining indices after appending this instance to objects will be treated as being wild carded"; + leaf interface { + type xr:Interface-name; + must "not(../oid)"; + description + "Specify instance as interface"; + } + container sub-if { + presence "Indicates a sub-if node is configured."; + description + "Includes all the sub interfaces"; + } + leaf oid { + type string { + length "1..1024" { + description + "Instance oid for objects in this schema"; + } + } + must "not(../interface)"; + description + "Specify instance as oid"; + } + } + container range { + must "not(../exact or ../wild or ../repetition)"; + presence "Indicates a range node is configured."; + description + "SNMP OID ranges are generated when objects get appended with these oids"; + leaf start { + type string { + length "1..1024" { + description + "Starting OID of instance range"; + } + } + mandatory true; + description + "Keyword specify as start of OID range"; + } + leaf end { + type string { + length "1..1024" { + description + "End OID of instance range"; + } + } + mandatory true; + description + "Keyword specify as end of OID range"; + } + } + leaf repetition { + type string { + length "1..1024" { + description + "Instance OID for repetition"; + } + } + must "../max"; + description + "Collect a sequence of instances starting with a specified instance"; + } + leaf max { + type uint32 { + range "1..4294967295" { + description + "Repetition number"; + } + } + must "../repetition"; + description + "Keyword specify maximum repetition count"; + } + } + } + } + container transfer-ids { + description + "Configure transfer parameters"; + list transfer-id { + key "transfer-name"; + description + "Configure transfer parameters"; + leaf transfer-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of bulk transfer"; + } + } + description + "Configure transfer parameters"; + } + leaf buffer-size { + type uint32 { + range "1024..2147483647" { + description + "Bulkstat data file maximum size in bytes (default 2048)"; + } + } + description + "Bulkstat data file maximum size"; + } + container schemas { + description + "Schema that contains objects to be collected"; + list schema { + key "schema-name"; + description + "Schema that contains objects to be collected"; + leaf schema-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Schema that contains objects to be collected"; + } + } + description + "Schema that contains objects to be collected"; + } + } + } + container format { + description + "Format of the bulk data file"; + container schema-ascii { + presence "Indicates a schema-ascii node is configured."; + description + "Schema ASCII format (default)"; + } + } + leaf transfer-interval { + type uint32 { + range "0..4294967295" { + description + "Periodicity for transfer of bulk data in minutes (default 30)"; + } + } + description + "Periodicity for the transfer of bulk data in Minutes"; + } + leaf retry { + type uint32 { + range "1..100" { + description + "Number of transmission retries (default 0)"; + } + } + description + "Number of Retries"; + } + leaf retain { + type uint32 { + range "1..20000" { + description + "Bulk file retention time in minutes (default 0)"; + } + } + description + "Retention period in Min"; + } + container enable { + presence "Indicates a enable node is configured."; + description + "Start Data Collection for this Configuration"; + } + container url { + description + "Configure destination address as URL"; + leaf primary { + type string { + length "1..800" { + description + "FTP or rcp or TFTP can be used for file transfer"; + } + } + description + "URL of primary destination"; + } + leaf secondary { + type string { + length "1..800" { + description + "FTP or rcp or TFTP can be used for file transfer"; + } + } + description + "URL of secondary destination"; + } + } + } + } + } + } + container script { + description + "SNMP script OID config"; + container script-oids { + description + "Configure SNMP Script OID in integer form"; + list script-oid { + key "script-oid-name"; + description + "Configure SNMP Script OID in integer form"; + leaf script-oid-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "SNMP Script OID in integer form"; + } + } + description + "Configure SNMP Script OID in integer form"; + } + leaf script-filename { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "script file name"; + } + } + mandatory true; + description + "Configure python script file name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-mroutemib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-mroutemib-cfg.yang new file mode 100644 index 000000000..4078c067f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-mroutemib-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-um-snmp-server-mroutemib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-mroutemib-cfg"; + prefix um-snmp-server-mroutemib-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-server-mroutemib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server-mibs" { + container mroutemib { + description + "Configurations related to IPMROUTE-MIB"; + container send-all-vrf { + presence "Indicates a send-all-vrf node is configured."; + description + "enable sending all vrf interface info for cIpMRouteInterfaceTable"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg.yang new file mode 100644 index 000000000..de1cb98f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg.yang @@ -0,0 +1,86 @@ +module Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg"; + prefix um-snmp-server-notification-log-mib-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR snmp-server-notification-log-mib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-14 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server-mibs" { + container notification-log-mib { + description + "Configuare the notification-log-mib"; + container default { + presence "Indicates a default node is configured."; + description + "To create a default log"; + } + leaf global-age-out { + type uint32 { + range "1..4294967295" { + description + "Time for GlobalAgeOut in min, must be greater then 0"; + } + } + description + "GlobalAgeOut is the minutes associated with the mib"; + } + leaf global-size { + type uint32 { + range "1..15000" { + description + "How many notifications should be logged in all logs"; + } + } + description + "GlobalSize, max number of notifications that can be logged in all logs"; + } + container disable { + presence "Indicates a disable node is configured."; + description + "disable, to disable the logging in default log"; + } + leaf size { + type uint32 { + range "1..15000" { + description + "How many notifications should be logged in this log"; + } + } + description + "size, The max number of notifications that this log (default) can hold"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ssh-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ssh-cfg.yang new file mode 100644 index 000000000..f66ba1936 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ssh-cfg.yang @@ -0,0 +1,760 @@ +module Cisco-IOS-XR-um-ssh-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ssh-cfg"; + prefix um-ssh-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ssh package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-20 { + description + "New rsa feartures"; + semver:module-version "2.0.0"; + } + revision 2021-02-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container ssh { + description + "Secure Shell configuration"; + leaf timeout { + type uint32 { + range "5..120" { + description + "Timeout value between 5-120 seconds"; + } + } + description + "Set timeout value for SSH"; + } + container server { + description + "Provide SSH server service"; + container vrfs { + description + "Cisco sshd VRF name"; + list vrf { + key "vrf-name"; + description + "Cisco sshd VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default vrf name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Enter vrf name"; + } + } + } + description + "Cisco sshd VRF name"; + } + container ipv4 { + description + "IPv4 access list for ssh server"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of IPv4 access list - Max 64 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "Configure IPv4 access-list"; + } + } + container ipv6 { + description + "IPv6 access list for ssh server"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of IPv6 access list - Max 64 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "Configure IPv6 access-list"; + } + } + } + } + container v1 { + presence "Indicates a v1 node is configured."; + description + "Cisco sshd protocol version 1 "; + } + container v2 { + presence "Indicates a v2 node is configured."; + description + "Cisco sshd protocol version 2 "; + } + container backup { + description + "Cisco sshd backup server"; + leaf port { + type uint32 { + range "11000..15000" { + description + "port number on which backup ssh service runs"; + } + } + must "../vrf"; + description + "port on which backup ssh server listens"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of vrf for backup ssh server"; + } + } + must "../port"; + must "../port"; + description + "vrf in which backup ssh server runs"; + } + } + leaf rate-limit { + type uint32 { + range "1..600" { + description + "Limit in term of number of request per minute (default 60)"; + } + } + description + "Cisco sshd rate-limit of service requests"; + } + container disable { + description + "Disable sshd algorithms"; + container hmac { + description + "Disable sshd hmac algorithms"; + container hmac-sha2-512 { + presence "Indicates a hmac-sha2-512 node is configured."; + description + "Disable sshd hmac-sha2-512-algorithm"; + } + container hmac-sha1 { + presence "Indicates a hmac-sha1 node is configured."; + description + "Disable sshd hmac-sha1-algorithm"; + } + container hmac-sha2-256 { + presence "Indicates a hmac-sha2-256 node is configured."; + description + "Disable sshd hmac-sha2-256-algorithm"; + } + } + } + container enable { + description + "Enable AES-CBC and 3DES-CBC algorithms"; + container cipher { + description + "Enable ssh server ciphers"; + container aes-cbc { + presence "Indicates a aes-cbc node is configured."; + description + "Enable ssh server aes-cbc algorithms"; + } + container threedes-cbc { + presence "Indicates a threedes-cbc node is configured."; + description + "Enable ssh server 3des-cbc algorithm"; + } + } + } + leaf session-limit { + type uint32 { + range "1..110" { + description + "Number of allowable concurrent incoming ssh sessions"; + } + } + description + "Cisco sshd session-limit of service requests"; + } + container logging { + presence "Indicates a logging node is configured."; + description + "Enable ssh server logging"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value range"; + } + } + description + "Cisco ssh server DSCP"; + } + container netconf { + description + "start ssh service for netconf subsystem"; + container vrfs { + description + "Cisco netconf VRF name"; + list vrf { + key "vrf-name"; + description + "Cisco netconf VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default vrf name"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Enter vrf name"; + } + } + } + description + "Cisco netconf VRF name"; + } + container ipv4 { + description + "IPv4 access list for netconf ssh server"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of IPv4 access list - Max 32 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "Configure IPv4 access-list"; + } + } + container ipv6 { + description + "IPv6 access list for netconf ssh server"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of IPv6 access list - Max 32 characters"; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "Configure IPv6 access-list"; + } + } + } + } + leaf port { + type uint32 { + range "1..65535" { + description + "port number on which ssh service to be started for netconf"; + } + } + description + "Port to start ssh netconf subsystem service (Default 830)"; + } + } + container capability { + description + "Turn on Capability"; + container netconf-xml { + presence "Indicates a netconf-xml node is configured."; + description + "Use Netconf XML stack"; + } + } + leaf rekey-time { + type uint32 { + range "30..1440" { + description + "Time Period in minutes"; + } + } + description + "Configures time-based rekey (default 60 minutes)"; + } + leaf rekey-volume { + type uint32 { + range "1024..4095" { + description + "Data in MB"; + } + } + description + "Configures volume-based rekey (default 1024MB)"; + } + container algorithms { + description + "server algorithms"; + container key-exchanges { + description + "Key exchange algorithms"; + leaf-list key-exchange { + type union { + type string { + pattern "ecdh-sha2-nistp521"; + } + type string { + pattern "ecdh-sha2-nistp384"; + } + type string { + pattern "ecdh-sha2-nistp256"; + } + type string { + pattern "diffie-hellman-group14-sha1"; + } + type string { + pattern "diffie-hellman-group1-sha1"; + } + } + max-elements "5"; + description + "Key exchange algorithms"; + } + } + container host-key { + must "ecdsa-nistp256 or ecdsa-nistp384 or ecdsa-nistp521 or rsa or dsa or x509v3-ssh-rsa or ed25519 or rsa-sha512 or rsa-sha256 or ssh-rsa"; + presence "Indicates a ca-certificate node is configured."; + description + "Host key algorithms to be used"; + container ecdsa-nistp256 { + presence "Indicates a ecdsa-nistp256 node is configured."; + description + "ecdsa-nistp256"; + } + container ecdsa-nistp384 { + presence "Indicates a ecdsa-nistp384 node is configured."; + description + "ecdsa-nistp384"; + } + container ecdsa-nistp521 { + presence "Indicates a ecdsa-nistp521 node is configured."; + description + "ecdsa-nistp521"; + } + container rsa { + presence "Indicates a rsa node is configured."; + description + "rsa"; + } + container dsa { + presence "Indicates a dsa node is configured."; + description + "dsa"; + } + container x509v3-ssh-rsa { + presence "Indicates a x509v3-ssh-rsa node is configured."; + description + "x509v3-ssh-rsa"; + } + container ed25519 { + presence "Indicates a ed25519 node is configured."; + description + "ed25519"; + } + container rsa-sha512 { + presence "Indicates a rsa-sha512 node is configured."; + description + "rsa-sha512"; + } + container rsa-sha256 { + presence "Indicates a rsa-sha256 node is configured."; + description + "rsa-sha256"; + } + container ssh-rsa { + presence "Indicates a ssh-rsa node is configured."; + description + "ssh-rsa"; + } + } + container ciphers { + description + "cipher algorithms"; + leaf-list cipher { + type union { + type string { + pattern "aes128-ctr"; + } + type string { + pattern "aes192-ctr"; + } + type string { + pattern "aes256-ctr"; + } + type string { + pattern "aes128-gcm@openssh.com"; + } + type string { + pattern "aes256-gcm@openssh.com"; + } + type string { + pattern "aes128-cbc"; + } + type string { + pattern "aes192-cbc"; + } + type string { + pattern "aes256-cbc"; + } + type string { + pattern "3des-cbc"; + } + } + max-elements "9"; + description + "cipher algorithms"; + } + } + } + leaf tcp-window-scale { + type uint32 { + range "1..14" { + description + "Window scale factor"; + } + } + description + "Set tcp window-scale factor for High Latency links"; + } + container trustpoint { + description + "trustpoints for server certificates"; + leaf host { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "trustpoint name"; + } + } + description + "trustpoint from where server will take its certificate"; + } + container user { + description + "trustpoints used for user certificate validation"; + container trustpoints { + description + "trustpoint name"; + list trustpoint { + key "trustpoint-name"; + description + "trustpoint name"; + leaf trustpoint-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "trustpoint name"; + } + } + description + "trustpoint name"; + } + } + } + } + } + container certificate { + description + "certificate related parameters"; + container username { + must "common-name or user-principle-name"; + presence "Indicates a username node is configured."; + description + "certificate field to be used as username"; + container common-name { + presence "Indicates a common-name node is configured."; + description + "user common name(CN) from subject name field"; + } + container user-principle-name { + presence "Indicates a user-principle-name node is configured."; + description + "user principle name(UPN) from subject alternate name"; + } + } + } + leaf max-auth-limit { + type uint32 { + range "3..20" { + description + "Number of allowable authentication attempts"; + } + } + description + "User Configurable max authentication attempts"; + } + container port-forwarding { + description + "Enable port forwarding for ssh server"; + container local { + presence "Indicates a local node is configured."; + description + "Enable local port forwarding for ssh server"; + } + } + container usernames { + description + "ssh user"; + list username { + key "username-name"; + description + "ssh user"; + leaf username-name { + type string { + length "1..800" { + description + "User name"; + } + } + description + "ssh user"; + } + leaf keystring { + type string { + length "1..800" { + description + "Public key"; + } + } + description + "Enter public key in ssh format"; + } + } + } + } + container client { + description + "Provide SSH client service"; + leaf knownhost { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Filename - where to store known_host file"; + } + } + description + "Enable the host pubkey check by local database"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface for ssh client sessions"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name (max:32 chars)"; + } + } + description + "Source interface VRF for ssh client sessions"; + } + leaf dscp { + type uint32 { + range "0..63" { + description + "DSCP value range"; + } + } + description + "DSCP value for ssh client sessions"; + } + leaf rekey-time { + type uint32 { + range "30..1440" { + description + "Time Period in minutes"; + } + } + description + "Configures time-based rekey (default 60 minutes)"; + } + leaf rekey-volume { + type uint32 { + range "1024..4095" { + description + "Data in MB"; + } + } + description + "Configures volume-based rekey (default 1024MB)"; + } + container disable { + description + "Disable sshd algorithms"; + container hmac { + description + "Disable sshd hmac algorithms"; + container hmac-sha1 { + presence "Indicates a hmac-sha1 node is configured."; + description + "Disable sshd hmac-sha1-algorithm"; + } + container hmac-sha2-512 { + presence "Indicates a hmac-sha2-512 node is configured."; + description + "Disable ssh hmac-sha2-512-algorithm"; + } + container hmac-sha2-256 { + presence "Indicates a hmac-sha2-256 node is configured."; + description + "Disable ssh hmac-sha2-256-algorithm"; + } + } + } + container enable { + description + "Enable AES-CBC and 3DES-CBC algorithms"; + container cipher { + description + "Enable ssh client ciphers"; + container aes-cbc { + presence "Indicates a aes-cbc node is configured."; + description + "Enable ssh client aes-cbc algorithms"; + } + container threedes-cbc { + presence "Indicates a threedes-cbc node is configured."; + description + "Enable ssh client 3des-cbc algorithm"; + } + } + } + container algorithms { + description + "client algorithms"; + container key-exchanges { + description + "Key exchange algorithms"; + leaf-list key-exchange { + type union { + type string { + pattern "ecdh-sha2-nistp521"; + } + type string { + pattern "ecdh-sha2-nistp384"; + } + type string { + pattern "ecdh-sha2-nistp256"; + } + type string { + pattern "diffie-hellman-group14-sha1"; + } + type string { + pattern "diffie-hellman-group1-sha1"; + } + } + max-elements "5"; + description + "Key exchange algorithms"; + } + } + container ciphers { + description + "Cipher algorithms"; + leaf-list cipher { + type union { + type string { + pattern "aes128-ctr"; + } + type string { + pattern "aes192-ctr"; + } + type string { + pattern "aes256-ctr"; + } + type string { + pattern "aes128-gcm@openssh.com"; + } + type string { + pattern "aes256-gcm@openssh.com"; + } + type string { + pattern "aes128-cbc"; + } + type string { + pattern "aes192-cbc"; + } + type string { + pattern "aes256-cbc"; + } + type string { + pattern "3des-cbc"; + } + } + max-elements "9"; + description + "Cipher algorithms"; + } + } + } + leaf tcp-window-scale { + type uint32 { + range "1..14" { + description + "Window scale factor"; + } + } + description + "Set tcp window-scale factor for High Latency links"; + } + container v2 { + presence "Indicates a v2 node is configured."; + description + "Set ssh client to use version 2 "; + } + container v1 { + presence "Indicates a v1 node is configured."; + description + "Set ssh client to use version 1 "; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-ssm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ssm-cfg.yang new file mode 100644 index 000000000..dae0dc64e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-ssm-cfg.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XR-um-ssm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-ssm-cfg"; + prefix um-ssm-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ssm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-18 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container ssm { + description + "service availability specific commands"; + container monitor { + description + "enabling/disabling monitoring at a SDR scope"; + container service { + description + "service availability"; + container disable { + presence "Indicates a disable node is configured."; + description + "stop"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-statistics-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-statistics-cfg.yang new file mode 100644 index 000000000..6089602d5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-statistics-cfg.yang @@ -0,0 +1,89 @@ +module Cisco-IOS-XR-um-statistics-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-statistics-cfg"; + prefix um-statistics-cfg; + + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR statistics package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-02-20 { + description + "Initial draft"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + leaf load-interval { + type uint32 { + range "0|30|60|90|120|150|180|210|240|270|300|330|360|390|420|450|480|510|540|570|600" { + description + "Number of seconds. 0 disables load calculation."; + } + } + default "300"; + description + "Specify interval for load calculation for an interface"; + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container statistics { + description + "Statistics configuration commands"; + container period { + description + "Set collection period for statistics collectors"; + container service-accounting { + description + "Collectors for the service accounting feature"; + leaf collection-period { + type uint32 { + range "30..3600" { + description + "Collection period in seconds"; + } + } + must "not(../disable)"; + description + "Collection period in seconds"; + } + container disable { + must "not(../collection-period)"; + presence "Indicates a disable node is configured."; + description + "Disable periodic statistics collection"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-accounting-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-accounting-cfg.yang new file mode 100644 index 000000000..f995ded37 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-accounting-cfg.yang @@ -0,0 +1,350 @@ +module Cisco-IOS-XR-um-subscriber-accounting-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-accounting-cfg"; + prefix um-subscriber-accounting-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-subscriber-cfg { + prefix a1; + } + import Cisco-IOS-XR-um-dynamic-template-cfg { + prefix a2; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR subscriber-accounting package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-02-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping TEMPLATE-BODY { + container accounting { + description + "Accounting Feature Config"; + container aaa { + description + "Accounting Feature AAA Config"; + container list { + description + "Accounting Method-list"; + container type { + description + "Type of accounting performed"; + container session { + presence "Indicates a session node is configured."; + description + "Apply accounting to a session"; + leaf method-list-name { + type union { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Preconfigured method-list name"; + } + } + type xr:Cisco-ios-xr-string { + pattern "default" { + description + "default method-list"; + } + } + } + description + "Preconfigured method-list name"; + } + leaf periodic-interval { + type uint32 { + range "1..65535" { + description + "Enter value in minutes"; + } + } + description + "Periodic accounting interval in minutes"; + } + leaf dual-stack-delay { + type uint32 { + range "1..30" { + description + "Enter value in seconds"; + } + } + description + "Dual stack set delay wait"; + } + leaf hold { + type enumeration { + enum "ipv6-prefix-delegation" { + value 3; + description + "Based on IA_PD"; + } + } + must "../dual-stack-delay"; + description + "Hold Accounting Start "; + } + } + container service { + when "boolean(../../../../../../../a2:service/a2:template)"; + presence "Indicates a service node is configured."; + description + "Apply accounting to a service"; + leaf method-list-name { + type union { + type xr:Cisco-ios-xr-string { + length "1..256" { + description + "Preconfigured method-list name"; + } + } + type xr:Cisco-ios-xr-string { + pattern "default" { + description + "default method-list"; + } + } + type xr:Cisco-ios-xr-string { + pattern "use-session-mlist" { + description + "picks up the session accounting method list for service accounting"; + } + } + } + mandatory true; + description + "Preconfigured method-list name"; + } + leaf periodic-interval { + type uint32 { + range "1..65535" { + description + "Enter value in minutes"; + } + } + description + "Periodic accounting interval in minutes"; + } + } + } + } + } + } + leaf prepaid-config { + when "boolean(../../../a2:service/a2:template)"; + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Preconfigured prepaid feature name"; + } + } + description + "Accounting Feature Config"; + } + container timeout { + description + "Subscriber Accounting Idle Timer Config"; + leaf idle { + type uint32 { + range "60..4320000" { + description + "Idle timeout duration in seconds"; + } + } + description + "Subscriber Accounting Idle Timer Config"; + } + leaf threshold { + type uint32 { + range "1..10000" { + description + "Duration of threshold in minute(s) per packet - should be less than idle duration"; + } + } + description + "Configure threshold duration for idleness tracking"; + } + container traffic { + description + "Traffic direction to consider while deriving idleness"; + container inbound { + must "not(../outbound or ../both)"; + presence "Indicates a inbound node is configured."; + description + "Consider Inbound traffic while deriving idleness(Default)"; + } + container outbound { + must "not(../inbound or ../both)"; + presence "Indicates a outbound node is configured."; + description + "Consider outbound traffic while deriving idleness"; + } + container both { + must "not(../inbound or ../outbound)"; + presence "Indicates a both node is configured."; + description + "Consider both inbound and outbound traffic while deriving idleness"; + } + } + } + } + + augment "/a1:subscriber" { + container accounting { + description + "Subscriber Accounting Feature Configuration"; + container prepaids { + description + "Subscriber Prepaid Feature Configuration"; + list prepaid { + key "prepaid-name"; + description + "Subscriber Prepaid Feature Configuration"; + leaf prepaid-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Prepaid configuration name or default"; + } + } + description + "Subscriber Prepaid Feature Configuration"; + } + container method-list { + description + "Method list config"; + leaf authorization { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Method list name"; + } + } + description + "Author method list; 'aaa accounting network ' must also be created"; + } + } + container quota-validity { + description + "Quota-validity"; + leaf time { + type uint32 { + range "0..99000" { + description + "duration in seconds"; + } + } + description + "time"; + } + } + container quota-holding { + description + "Quota-Holding"; + leaf time { + type uint32 { + range "0..99000" { + description + "duration in seconds"; + } + } + description + "time"; + } + } + container traffic { + description + "Traffic direction to consider while deriving volume"; + container inbound { + must "not(../outbound or ../both)"; + presence "Indicates a inbound node is configured."; + description + "Consider Inbound traffic while deriving volume(Default)"; + } + container outbound { + must "not(../inbound or ../both)"; + presence "Indicates a outbound node is configured."; + description + "Consider outbound traffic while deriving volume"; + } + container both { + must "not(../inbound or ../outbound)"; + presence "Indicates a both node is configured."; + description + "Consider both inbound and outbound traffic while deriving volume"; + } + } + leaf password { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Password to be used when placing prepaid (re)author requests"; + } + } + description + "Password config"; + } + container threshold { + description + "Threshold config"; + leaf time { + type uint32 { + range "0..4294967295" { + description + "Time threshold in seconds"; + } + } + description + "Time threshold"; + } + leaf volume { + type uint32 { + range "1..100" { + description + "Volume threshold in %(percentage)"; + } + } + description + "Volume threshold"; + } + } + } + } + } + } + augment "/a2:dynamic-template/a2:type/a2:ppp/a2:template" { + uses TEMPLATE-BODY; + } + augment "/a2:dynamic-template/a2:type/a2:ipsubscriber/a2:template" { + uses TEMPLATE-BODY; + } + augment "/a2:dynamic-template/a2:type/a2:service/a2:template" { + uses TEMPLATE-BODY; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-cfg.yang new file mode 100644 index 000000000..8be397832 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-cfg.yang @@ -0,0 +1,65 @@ +module Cisco-IOS-XR-um-subscriber-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-cfg"; + prefix um-subscriber-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR subscriber package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-08-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container subscriber { + description + "Subscriber Configuration"; + container database { + description + "subdb batching configuration"; + leaf batch-control { + type uint32 { + range "0..4" { + description + "higher level, better batching, more delay. <0 - disable>"; + } + } + description + "batching performance control"; + } + leaf backpressure-level { + type uint32 { + range "0..3" { + description + "0 - disable, 1 - gentle, 3 - aggressive"; + } + } + description + "backpressure level"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-redundancy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-redundancy-cfg.yang new file mode 100644 index 000000000..49464404e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-subscriber-redundancy-cfg.yang @@ -0,0 +1,715 @@ +module Cisco-IOS-XR-um-subscriber-redundancy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-redundancy-cfg"; + prefix um-subscriber-redundancy-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XR-um-subscriber-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR subscriber-redundancy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:subscriber" { + container redundancy { + presence "Indicates a redundancy node is configured."; + description + "Subscriber Redundancy configuration"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Subscriber Redundancy for all Groups"; + } + container cpe-tracking { + presence "Indicates a cpe-tracking node is configured."; + description + "Enable CPE tracking for SRG"; + } + container preferred-role { + description + "Preferred Role for all Groups"; + container primary { + must "not(../subordinate)"; + presence "Indicates a primary node is configured."; + description + "Primary Role"; + } + container subordinate { + must "not(../primary)"; + presence "Indicates a subordinate node is configured."; + description + "Subordinate Role"; + } + } + leaf source-interface { + type xr:Interface-name; + description + "Source Interface for Redundancy Peer Communication"; + } + container subordinate-mode { + description + "Subordinate Mode for all Groups"; + container warm { + must "not(../hot)"; + presence "Indicates a warm node is configured."; + description + "Warm Standby"; + } + container hot { + must "not(../warm)"; + presence "Indicates a hot node is configured."; + description + "Hot Standby (Default)"; + } + } + leaf hold-timer { + type uint32 { + range "1..65535" { + description + "Value of hold time in minutes"; + } + } + description + "Hold Timer for all Groups"; + } + container holdtimer-default-disable { + presence "Indicates a holdtimer-default-disable node is configured."; + description + "Disable Default Hold timer for this Group"; + } + leaf virtual-mac-prefix { + type yang:mac-address; + description + "Virtual MAC Prefix for Subscriber Redundancy"; + } + leaf revertive-timer { + type uint32 { + range "1..65535" { + description + "Value of revertive time in minutes"; + } + } + must "../maximum"; + description + "Revertive Timer for all groups"; + } + leaf maximum { + type uint32 { + range "1..65535" { + description + "Value of MAX Revertive Timer"; + } + } + must "../revertive-timer"; + description + "Max Revertive Timer for all group"; + } + leaf sync-timer { + type uint32 { + range "1..255" { + description + "Value of sync time in minutes"; + } + } + description + "Sync Timer for all Groups"; + } + container peers { + description + "Redundancy Peer configuration"; + list peer { + must "ipv4-address or ipv6-address"; + key "peer-name"; + description + "Redundancy Peer configuration"; + leaf peer-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Peer Name"; + } + } + description + "Peer Name"; + } + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "IPv4 peer address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "IPv6 peer address"; + } + leaf tcp-port { + type uint32 { + range "2001..4000" { + description + "TCP port"; + } + } + mandatory true; + description + "TCP port"; + } + } + } + leaf keepalive { + type uint32 { + range "3..300" { + description + "Keepalive interval in seconds"; + } + } + must "../keepalive-retry-count"; + description + "Keepalive configuration for all peers"; + } + leaf keepalive-retry-count { + type uint32 { + range "1..100" { + description + "Keepalive retry count"; + } + } + must "../keepalive"; + description + "Keepalive retry count"; + } + leaf dscp { + type enumeration { + enum "0" { + value 0; + description + "SRG DSCP Value DSCP_CS0"; + } + enum "32" { + value 32; + description + "SRG DSCP Value DSCP_CS1"; + } + enum "64" { + value 64; + description + "SRG DSCP Value DSCP_CS2"; + } + enum "96" { + value 96; + description + "SRG DSCP Value DSCP_CS3"; + } + enum "128" { + value 128; + description + "SRG DSCP Value DSCP_CS4"; + } + enum "160" { + value 160; + description + "SRG DSCP Value DSCP_CS5"; + } + enum "192" { + value 192; + description + "SRG DSCP Value DSCP_CS6"; + } + } + description + "dscp value"; + } + container groups { + description + "Redundancy Group configuration"; + list group { + key "group-id"; + description + "Redundancy Group configuration"; + leaf group-id { + type uint32 { + range "1..4000" { + description + "Group ID"; + } + } + description + "Redundancy Group configuration"; + } + container interface-list { + presence "Indicates a interface-list node is configured."; + description + "List of Interfaces for this Group"; + list interface-id { + key "interface-name"; + description + "Interface for this Group"; + leaf interface-name { + type xr:Interface-name; + description + "Interface for this Group"; + } + leaf id { + type uint32 { + range "1..65535" { + description + "ID for the interface to be mapped on to subordinate"; + } + } + description + "Map Identifier"; + } + } + list interface-sub-if-range { + must "sub-if-ranges/sub-if-range"; + key "interface-name"; + description + "Interface for this Group"; + leaf interface-name { + type xr:Interface-name; + description + "Interface for this Group"; + } + container sub-if-ranges { + description + "Sub Interface Range"; + list sub-if-range { + key "sub-if-start sub-if-end"; + description + "Sub Interface Range"; + leaf sub-if-start { + type uint32 { + range "0..2147483647" { + description + "Sub Interface Start Range"; + } + } + description + "Sub Interface Range"; + } + leaf sub-if-end { + type uint32 { + range "0..2147483647" { + description + "Sub Interface End Range"; + } + } + description + "Sub Interface End Range"; + } + leaf map-id-start { + type uint32 { + range "1..65535" { + description + "Starting Map Identifier for the Sub Interface Range"; + } + } + mandatory true; + description + "Identifier"; + } + leaf map-id-end { + type uint32 { + range "1..65535" { + description + "Ending Map Identifier for the Sub Interface Range"; + } + } + mandatory true; + description + "Ending Map Identifier for the Sub Interface Range"; + } + } + } + } + } + container disable { + presence "Indicates a disable node is configured."; + description + "Disable this Group"; + } + container preferred-role { + description + "Preferred Role for this Group"; + container primary { + must "not(../subordinate)"; + presence "Indicates a primary node is configured."; + description + "Primary Role"; + } + container subordinate { + must "not(../primary)"; + presence "Indicates a subordinate node is configured."; + description + "Subordinate Role"; + } + } + leaf virtual-mac { + type yang:mac-address; + description + "Virtual MAC Address for this Group"; + } + container virtual-mac-disable { + presence "Indicates a virtual-mac-disable node is configured."; + description + "Disable Virtual MAC Address for this Group"; + } + container peer { + description + "Peer config for this Group"; + leaf ipv4-address { + type inet:ipv4-address-no-zone; + must "not(../ipv6-address)"; + description + "IPv4 peer address"; + } + leaf ipv6-address { + type inet:ipv6-address-no-zone; + must "not(../ipv4-address)"; + description + "IPv6 peer address"; + } + container route-disable { + presence "Indicates a route-disable node is configured."; + description + "Disable route addition on SRG Subordinate"; + } + leaf peer-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Peer to use for this group"; + } + } + description + "Peer to use for this group"; + } + } + container enable-fast-switchover { + presence "Indicates a enable-fast-switchover node is configured."; + description + "Enable fast switchover for this Group"; + } + container state-control-route { + description + "state control route config for this Group"; + container ipv4 { + description + "IPv4 route"; + container ipv4-routes { + description + "IPv4 route with named vrf"; + list ipv4-route { + key "address length vrf"; + description + "IPv4 route"; + leaf address { + type inet:ipv4-address-no-zone; + description + "IPv4 route"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "IPv4 route"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + } + description + "Set vrf for the route"; + } + leaf interface { + type xr:Interface-name { + pattern "Null0"; + } + description + "Outgoing Interface"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Tag value"; + } + } + description + "Set a tag value for the route"; + } + } + } + } + container ipv6 { + description + "IPv6 route"; + container iana { + description + "IANA route"; + container iana-routes { + description + "IANA route with default vrf"; + list iana-route { + key "address length vrf"; + description + "IANA route"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IANA route"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "IANA route"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + } + description + "Set vrf for the route"; + } + leaf interface { + type xr:Interface-name { + pattern "Null0"; + } + description + "Outgoing Interface"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Tag value"; + } + } + description + "Set a tag value for the route"; + } + } + } + } + container iapd { + description + "IAPD route"; + container iapd-routes { + description + "IAPD route"; + list iapd-route { + key "address length vrf"; + description + "IAPD route"; + leaf address { + type inet:ipv6-address-no-zone; + description + "IAPD route"; + } + leaf length { + type uint32 { + range "0..128"; + } + description + "IAPD route"; + } + leaf vrf { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "VRF name"; + } + } + } + description + "Set vrf for the route"; + } + leaf interface { + type xr:Interface-name { + pattern "Null0"; + } + description + "Outgoing Interface"; + } + leaf tag { + type uint32 { + range "1..4294967295" { + description + "Tag value"; + } + } + description + "Set a tag value for the route"; + } + } + } + } + } + } + leaf l2tp-source-ip { + type inet:ipv4-address-no-zone; + description + "L2TP Tunnel Source IP Address for this Group"; + } + container subordinate-mode { + description + "Subordinate Mode for this Group"; + container warm { + must "not(../hot)"; + presence "Indicates a warm node is configured."; + description + "Warm Standby"; + } + container hot { + must "not(../warm)"; + presence "Indicates a hot node is configured."; + description + "Hot Standby (Default)"; + } + } + leaf hold-timer { + type uint32 { + range "1..65535" { + description + "Value of hold time in minutes"; + } + } + description + "Hold Timer for this Group"; + } + container holdtimer-default-disable { + presence "Indicates a holdtimer-default-disable node is configured."; + description + "Disable Default Hold timer for this Group"; + } + leaf description { + type string { + length "1..800" { + description + "Description for this Group"; + } + } + description + "Description for this Group"; + } + leaf core-tracking { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Tracking Object Name"; + } + } + description + "Core Tracking Object for this Group"; + } + leaf access-tracking { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Tracking Object Name"; + } + } + description + "Access Tracking Object for this Group"; + } + container tracking-disable { + presence "Indicates a tracking-disable node is configured."; + description + "Disable Tracking Object for this Group"; + } + leaf revertive-timer { + type uint32 { + range "1..65535" { + description + "Value of revertive time in minutes"; + } + } + must "../maximum"; + description + "Revertive Timer for this group"; + } + leaf maximum { + type uint32 { + range "1..65535" { + description + "Value of MAX Revertive Timer"; + } + } + must "../revertive-timer"; + description + "Max Revertive Timer for this group"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-tcp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-tcp-cfg.yang new file mode 100644 index 000000000..7cafb2cf7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-tcp-cfg.yang @@ -0,0 +1,400 @@ +module Cisco-IOS-XR-um-tcp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-tcp-cfg"; + prefix um-tcp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR tcp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + feature tcpao_keychain_key_parse_verify { + description + "tcpao keychain key parse verify"; + } + + container service { + description + "Modify use of network based services"; + container ipv4 { + description + "Ipv4 small servers"; + container tcp-small-servers { + description + "Enable small TCP servers (e.g., ECHO)"; + leaf max-servers { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "No limit to number of allowable TCP small servers"; + } + } + type uint32 { + range "1..2147483647"; + } + } + description + "Set number of allowable TCP small servers"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + must "../max-servers"; + description + "Access list"; + } + } + } + container ipv6 { + description + "Ipv6 small servers"; + container tcp-small-servers { + description + "Enable small TCP servers (e.g., ECHO)"; + leaf max-servers { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "No limit to number of allowable TCP small servers"; + } + } + type uint32 { + range "1..2147483647"; + } + } + description + "Set number of allowable TCP small servers"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + must "../max-servers"; + description + "Access list"; + } + } + } + } + container tcp { + description + "Global TCP configuration commands"; + leaf window-size { + type uint32 { + range "2048..65535" { + description + "Window size (bytes)"; + } + } + description + "TCP receive window size"; + } + leaf synwait-time { + type uint32 { + range "5..30" { + description + "Wait time in seconds"; + } + } + description + "Set time to wait on new TCP connections"; + } + container directory { + description + "Specify debug directory location"; + leaf location { + type string { + length "1..256" { + description + "Place debug files in this directory"; + } + } + must "../files and ../size"; + description + "Place debug files in this directory"; + } + leaf files { + type uint32 { + range "1..10000" { + description + "Maximum debug files (default: 256)"; + } + } + must "../location and ../size"; + description + "Set maximum debug files"; + } + leaf size { + type uint32 { + range "1024..4294967295" { + description + "Maximum file size in bytes"; + } + } + must "../location and ../files"; + description + "Set maximum file size"; + } + } + container path-mtu-discovery { + presence "Indicates a path-mtu-discovery node is configured."; + description + "Enable Path MTU Discovery on new TCP connections"; + leaf age-timer { + type union { + type uint32 { + range "10..30" { + description + "Aging time (in minutes)"; + } + } + type enumeration { + enum "infinite" { + value 0; + description + "Disable Path MTU aging timer"; + } + } + } + description + "Set Path MTU aging timer"; + } + } + leaf receive-queue { + type uint32 { + range "40..800" { + description + "Number of packets in receive queue"; + } + } + description + "TCP receive packet queue size"; + } + container timestamp { + presence "Indicates a timestamp node is configured."; + description + "Enable TCP timestamp option"; + } + leaf throttle { + type uint32 { + range "0..100" { + description + "Low water mark throttling (default 40 percent)"; + } + } + must "../high-water-mark-throttling"; + description + "Throttle receive buffer (in percentage)"; + } + leaf high-water-mark-throttling { + type uint32 { + range "0..100" { + description + "High water mark throttling (default 70 percent)"; + } + } + must "../throttle"; + description + "High water mark throttling (default 70 percent)"; + } + container selective-ack { + presence "Indicates a selective-ack node is configured."; + description + "Enable TCP selective-ACK"; + } + leaf mss { + type uint32 { + range "68..10000" { + description + "TCP initial maximum segment size"; + } + } + description + "Set the TCP initial maximum segment size"; + } + leaf accept-rate { + type uint32 { + range "1..1000" { + description + "Connections accepted per second per listen socket (default: 500)"; + } + } + description + "Set the maximum TCP connection accept rate"; + } + leaf num-thread { + type uint32 { + range "1..16" { + description + "Ingress threads created by TCP (default: 8)"; + } + } + must "../max-threads-in-thread-pool"; + description + "Set number of threads (takes effect only on process restart)"; + } + leaf max-threads-in-thread-pool { + type uint32 { + range "1..16" { + description + "max threads in thread pool created by TCP (default: 8)"; + } + } + must "../num-thread"; + description + "max threads in thread pool created by TCP (default: 8)"; + } + container ao { + presence "Indicates a ao node is configured."; + description + "Enter into TCP authentication option configuration mode"; + container keychains { + description + "TCP AO keychain mode"; + list keychain { + key "keychain-name"; + description + "TCP AO keychain mode"; + leaf keychain-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of the key chain"; + } + } + description + "TCP AO keychain mode"; + } + container keys { + description + "Configure TCP-AO IDs for a Key"; + list key { + if-feature "tcpao_keychain_key_parse_verify"; + key "key-name"; + description + "Configure TCP-AO IDs for a Key"; + leaf key-name { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Enter 48-bit integer [0 - 281474976710655]"; + } + pattern "[0-9]{1,15}"; + } + description + "Configure TCP-AO IDs for a Key"; + } + leaf send-id { + type uint32 { + range "0..255" { + description + "Value of SendID"; + } + } + mandatory true; + description + "Configure SendID to be used for this key"; + } + leaf receive-id { + type uint32 { + range "0..255" { + description + "Value of ReceiveID"; + } + } + mandatory true; + description + "Configure ReceiveID to be used for this key"; + } + } + } + } + } + } + } + container pak-rate { + description + "packet rate of the process"; + container tcp { + description + "input pak-rate of tcp protocol"; + container stats-start { + presence "Indicates a stats-start node is configured."; + description + "packet rate stats collection start/stop"; + leaf rate-limit { + type uint32 { + range "3000..65535" { + description + "packet rate"; + } + } + description + "Specify the expected packet rate in 30 secs/session"; + } + leaf max-pkt-size { + type uint32 { + range "1000..9000" { + description + "maximum size of the packet"; + } + } + must "../max-pkt-rate"; + description + "Specify the expected packet maximum size of the packet"; + } + leaf max-pkt-rate { + type uint32 { + range "2000..65535" { + description + "maximum size packet rate"; + } + } + must "../max-pkt-size"; + description + "Specify the expected maximum size packets in 30 secs/session"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang new file mode 100644 index 000000000..d7ab6dd04 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-telemetry-model-driven-cfg.yang @@ -0,0 +1,782 @@ +module Cisco-IOS-XR-um-telemetry-model-driven-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-telemetry-model-driven-cfg"; + prefix um-telemetry-model-driven-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR telemetry-model-driven package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-28 { + description + "added new leaf node mode"; + semver:module-version "3.1.0"; + } + revision 2021-05-12 { + description + "added a must statement under sensor-group + 2020-12-10 + Changed string length of leaf nodes that set maximum as 1024 + 2020-10-02 + Added heartbeat containers"; + semver:module-version "3.0.0"; + } + revision 2020-05-08 { + description + "Added new containers, destinations under destination-group and + tcp-send-timeout/gnmi-target-defined under top node + 2020-03-13 + Added new gzip option for grpc protocol"; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2019-03-30 { + description + "Initial version"; + } + + feature grpc { + description + "grpc"; + } + + container telemetry { + description + "Telemetry configuration"; + container model-driven { + presence "Indicates a model-driven node is configured."; + description + "Model Driven Telemetry configuration commands"; + container sensor-groups { + description + "Sensor group configuration"; + list sensor-group { + key "sensor-group-id"; + description + "Sensor group configuration"; + leaf sensor-group-id { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Sensor Group Id"; + } + } + description + "Sensor group configuration"; + } + container sensor-paths { + description + "Sensor Path"; + list sensor-path { + key "sensor-path-id"; + description + "Sensor Path"; + leaf sensor-path-id { + type string { + length "1..800" { + description + "Sensor Path"; + } + } + description + "Sensor Path"; + } + } + } + } + } + container destination-groups { + description + "Destination Group Id"; + list destination-group { + key "destination-group-id"; + description + "Destination Group Id"; + leaf destination-group-id { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Destination Group Id string"; + } + } + description + "Destination Group Id"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "vrf-name for the dest grp"; + } + } + description + "vrf for the dest grp"; + } + container address-family { + description + "Destination address of the recepient of the telemetry information"; + container ipv4 { + description + "ipv4 address family"; + list address { + key "address port-number"; + description + "ipv4 address family"; + leaf address { + type inet:ipv4-address-no-zone; + description + "ipv4 address family"; + } + leaf port-number { + type uint32 { + range "1..65535" { + description + "Port Number"; + } + } + description + "Destination Port configuration"; + } + container protocol { + description + "Transport protocol"; + container grpc { + if-feature "grpc"; + must "not(../tcp or ../udp)"; + presence "Indicates a grpc node is configured."; + description + "gRPC"; + container no-tls { + presence "Indicates a no-tls node is configured."; + description + "No TLS"; + } + leaf tls-hostname { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "hostname"; + } + } + description + "TLS hostname"; + } + container gzip { + presence "Indicates a gzip node is configured."; + description + "gRPC gzip message compression"; + } + } + container tcp { + must "not(../grpc or ../udp)"; + presence "Indicates a tcp node is configured."; + description + "TCP"; + } + container udp { + must "not(../grpc or ../tcp)"; + presence "Indicates a udp node is configured."; + description + "UDP"; + leaf packetsize { + type uint32 { + range "484..65507" { + description + "UDP packet size"; + } + } + description + "UDP packet size"; + } + } + } + container encoding { + description + "Transport protocol encoding"; + container gpb { + must "not(../self-describing-gpb or ../json)"; + presence "Indicates a gpb node is configured."; + description + "GPB encoding"; + } + container self-describing-gpb { + must "not(../gpb or ../json)"; + presence "Indicates a self-describing-gpb node is configured."; + description + "Self describing GPB encoding"; + } + container json { + must "not(../gpb or ../self-describing-gpb)"; + presence "Indicates a json node is configured."; + description + "JSON encoding"; + } + } + } + } + container ipv6 { + description + "ipv6 address family"; + list address { + key "address port-number"; + description + "ipv6 address family"; + leaf address { + type inet:ipv6-address-no-zone; + description + "ipv6 address family"; + } + leaf port-number { + type uint32 { + range "1..65535" { + description + "Port Number"; + } + } + description + "Destination Port configuration"; + } + container protocol { + description + "Transport protocol"; + container grpc { + if-feature "grpc"; + must "not(../tcp or ../udp)"; + presence "Indicates a grpc node is configured."; + description + "gRPC"; + container no-tls { + presence "Indicates a no-tls node is configured."; + description + "No TLS"; + } + leaf tls-hostname { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "hostname"; + } + } + description + "TLS hostname"; + } + container gzip { + presence "Indicates a gzip node is configured."; + description + "gRPC gzip message compression"; + } + } + container tcp { + must "not(../grpc or ../udp)"; + presence "Indicates a tcp node is configured."; + description + "TCP"; + } + container udp { + must "not(../grpc or ../tcp)"; + presence "Indicates a udp node is configured."; + description + "UDP"; + leaf packetsize { + type uint32 { + range "484..65507" { + description + "UDP packet size"; + } + } + description + "UDP packet size"; + } + } + } + container encoding { + description + "Transport protocol encoding"; + container gpb { + must "not(../self-describing-gpb or ../json)"; + presence "Indicates a gpb node is configured."; + description + "GPB encoding"; + } + container self-describing-gpb { + must "not(../gpb or ../json)"; + presence "Indicates a self-describing-gpb node is configured."; + description + "Self describing GPB encoding"; + } + container json { + must "not(../gpb or ../self-describing-gpb)"; + presence "Indicates a json node is configured."; + description + "JSON encoding"; + } + } + } + } + } + container destinations { + description + "Destination IP address or fully qualified domain name"; + list destination { + key "destination-name port-number"; + description + "Destination IP address or fully qualified domain name"; + leaf destination-name { + type xr:Cisco-ios-xr-string { + length "1..128" { + description + "IPv4/IPv6 address or domain name"; + } + } + description + "Destination IP address or fully qualified domain name"; + } + leaf port-number { + type uint32 { + range "1..65535" { + description + "Port number"; + } + } + description + "Destination port"; + } + container address-family { + description + "Specify the desired address family for the returned addresses from DNS. Only applicable to FQDN"; + container ipv4 { + must "not(../ipv6)"; + presence "Indicates a ipv4 node is configured."; + description + "IPv4 address family"; + } + container ipv6 { + must "not(../ipv4)"; + presence "Indicates a ipv6 node is configured."; + description + "IPv6 address family"; + } + } + container protocol { + description + "Transport protocol"; + container grpc { + if-feature "grpc"; + must "not(../tcp or ../udp)"; + presence "Indicates a grpc node is configured."; + description + "gRPC"; + container no-tls { + presence "Indicates a no-tls node is configured."; + description + "No TLS"; + } + leaf tls-hostname { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "hostname"; + } + } + description + "TLS hostname"; + } + container gzip { + must "../tls-hostname"; + presence "Indicates a gzip node is configured."; + description + "gRPC gzip message compression"; + } + } + container tcp { + must "not(../grpc or ../udp)"; + presence "Indicates a tcp node is configured."; + description + "TCP"; + } + container udp { + must "not(../grpc or ../tcp)"; + presence "Indicates a udp node is configured."; + description + "UDP"; + leaf packetsize { + type uint32 { + range "484..65507" { + description + "UDP packet size"; + } + } + description + "UDP packet size"; + } + } + } + container encoding { + description + "Transport protocol encoding"; + container gpb { + must "not(../self-describing-gpb or ../json)"; + presence "Indicates a gpb node is configured."; + description + "GPB encoding"; + } + container self-describing-gpb { + must "not(../gpb or ../json)"; + presence "Indicates a self-describing-gpb node is configured."; + description + "Self describing GPB encoding"; + } + container json { + must "not(../gpb or ../self-describing-gpb)"; + presence "Indicates a json node is configured."; + description + "JSON encoding"; + } + } + } + } + } + } + container subscriptions { + description + "Subscription Id"; + list subscription { + key "subscription-id"; + description + "Subscription Id"; + leaf subscription-id { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Subscription Id string"; + } + } + description + "Subscription Id"; + } + leaf source-qos-marking { + type enumeration { + enum "default" { + value 0; + description + "Match packets with default dscp (000000)"; + } + enum "cs1" { + value 8; + description + "Match packets with CS1 dscp (001000)"; + } + enum "af11" { + value 10; + description + "Match packets with AF11 dscp (001010)"; + } + enum "af12" { + value 12; + description + "Match packets with AF12 dscp (001100)"; + } + enum "af13" { + value 14; + description + "Match packets with AF13 dscp (001110)"; + } + enum "cs2" { + value 16; + description + "Match packets with CS2 dscp (010000)"; + } + enum "af21" { + value 18; + description + "Match packets with AF21 dscp (010010)"; + } + enum "af22" { + value 20; + description + "Match packets with AF22 dscp (010100)"; + } + enum "af23" { + value 22; + description + "Match packets with AF23 dscp (010110)"; + } + enum "cs3" { + value 24; + description + "Match packets with CS3 dscp (011000)"; + } + enum "af31" { + value 26; + description + "Match packets with AF31 dscp (011010)"; + } + enum "af32" { + value 28; + description + "Match packets with AF32 dscp (011100)"; + } + enum "af33" { + value 30; + description + "Match packets with AF33 dscp (011110)"; + } + enum "cs4" { + value 32; + description + "Match packets with CS4 dscp (100000)"; + } + enum "af41" { + value 34; + description + "Match packets with AF41 dscp (100010)"; + } + enum "af42" { + value 36; + description + "Match packets with AF42 dscp (100100)"; + } + enum "af43" { + value 38; + description + "Match packets with AF43 dscp (100110)"; + } + enum "cs5" { + value 40; + description + "Match packets with CS5 dscp (101000)"; + } + enum "ef" { + value 46; + description + "Match packets with EF dscp (101110)"; + } + enum "cs6" { + value 48; + description + "Match packets with CS6 dscp (110000)"; + } + enum "cs7" { + value 56; + description + "Match packets with CS7 dscp (111000)"; + } + } + description + "Outgoing DSCP value"; + } + leaf source-interface { + type xr:Interface-name; + description + "Source interface to use in the outgoing IP packets"; + } + container sensor-groups { + description + "Association of one or more Sensor Groups with a Subscription Id"; + list sensor-group { + must "sample-interval or strict-timer or heartbeat/interval or heartbeat/always"; + key "sensor-group-id"; + description + "Association of one or more Sensor Groups with a Subscription Id"; + leaf sensor-group-id { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Available Sensor Groups"; + } + } + description + "Association of one or more Sensor Groups with a Subscription Id"; + } + leaf sample-interval { + type uint32 { + range "0..4294967295" { + description + "Sample interval in milliseconds"; + } + } + description + "Sample interval"; + } + container strict-timer { + presence "Indicates a strict-timer node is configured."; + description + "use strict timer, default is relative timer"; + } + container heartbeat { + description + "Heartbeat"; + leaf interval { + type uint32 { + range "1..4294967295" { + description + "Heartbeat interval in milliseconds"; + } + } + description + "Send subscription data per heartbeat interval when no events have occurred within interval"; + } + container always { + presence "Indicates a always node is configured."; + description + "Send heartbeat even if events have occurred within interval"; + } + } + leaf mode { + type enumeration { + enum "target-defined" { + value 0; + description + "Device selects one of sample/on-change for leaves to stream data"; + } + } + description + "Subscription mode"; + } + } + } + container destinations { + description + "Destination Group Id to associate with the current subscription id"; + list destination { + key "destination-id"; + description + "Destination Group Id to associate with the current subscription id"; + leaf destination-id { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Available Destination Group Ids"; + } + } + description + "Destination Group Id to associate with the current subscription id"; + } + } + } + } + } + leaf max-containers-per-path { + type uint32 { + range "0..1024" { + description + "Maximum containers allowed per path, 0 disables the check"; + } + } + description + "Maximum containers allowed per sensor path (default: 16)"; + } + leaf max-sensor-paths { + type uint32 { + range "0..4000" { + description + "Maximum sensor paths, 0 disables the check"; + } + } + description + "Maximum allowed sensor paths (default: 1000)"; + } + leaf tcp-send-timeout { + type uint32 { + range "0..30" { + description + "TCP send timeout value, 0 disables the timeout"; + } + } + description + "TCP send timeout value in seconds (default: 30)"; + } + container strict-timer { + presence "Indicates a strict-timer node is configured."; + description + "use strict timer for all subscriptions, default is relative timer"; + } + container gnmi-target-defined { + description + "GNMI target defined to select minimum cadence and cadence factor"; + leaf minimum-cadence { + type uint32 { + range "1..65535" { + description + "Minimum cadence for target defined subscriptions in seconds"; + } + } + description + "Minimum cadence for target defined subscriptions in secs"; + } + leaf cadence-factor { + type uint32 { + range "1..10" { + description + "Multiplier factor of collection time for cadence for tgtdef mode"; + } + } + description + "Multiplier factor for cadence of target defined subscriptions"; + } + } + container include { + description + "Include fields with empty values in output"; + container empty { + description + "Include fields with empty values in output"; + container values { + presence "Indicates a values node is configured."; + description + "Include fields with empty values in output"; + } + } + container select-leaves-on-events { + presence "Indicates a select-leaves-on-events node is configured."; + description + "Include only configured leafs on on-change event for the sensor-path"; + } + } + container gnmi { + description + "GNMI subscribe"; + container heartbeat { + description + "GNMI heartbeat"; + container always { + presence "Indicates a always node is configured."; + description + "Send heartbeat even if events have occurred within interval"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-telnet-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-telnet-cfg.yang new file mode 100644 index 000000000..0486b7c12 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-telnet-cfg.yang @@ -0,0 +1,230 @@ +module Cisco-IOS-XR-um-telnet-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-telnet-cfg"; + prefix um-telnet-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-line-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR telnet package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-16 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:line/a1:console" { + container telnet { + description + "Telnet protocol-specific configuration"; + container transparent { + presence "Indicates a transparent node is configured."; + description + "Send a CR as a CR followed by a NULL instead of a CR followed by a LF"; + } + } + } + augment "/a1:line/a1:default" { + container telnet { + description + "Telnet protocol-specific configuration"; + container transparent { + presence "Indicates a transparent node is configured."; + description + "Send a CR as a CR followed by a NULL instead of a CR followed by a LF"; + } + } + } + augment "/a1:line/a1:templates/a1:template" { + container telnet { + description + "Telnet protocol-specific configuration"; + container transparent { + presence "Indicates a transparent node is configured."; + description + "Send a CR as a CR followed by a NULL instead of a CR followed by a LF"; + } + } + } + container telnet { + description + "Global Telnet configuration commands"; + container ipv4 { + description + "IPv4 configuration"; + container client { + description + "Telnet client configuration commands"; + leaf source-interface { + type xr:Interface-name; + description + "Source interface for telnet sessions"; + } + } + } + container ipv6 { + description + "IPv6 configuration"; + container client { + description + "Telnet client configuration commands"; + leaf source-interface { + type xr:Interface-name; + description + "Source interface for telnet sessions"; + } + } + } + container vrfs { + description + "VRF name for telnet server"; + list vrf { + must "ipv4/server/max-servers or ipv6/server/max-servers"; + key "vrf-name"; + description + "Name of VRF"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of VRF"; + } + } + } + description + "Name of VRF"; + } + container ipv4 { + description + "IPv4 configuration"; + container server { + description + "Telnet server configuration commands"; + leaf max-servers { + type uint32 { + range "1..100" { + description + "Set number of allowable telnet sessions"; + } + } + description + "Set number of allowable telnet sessions"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of access list"; + } + } + must "../max-servers"; + description + "Access list for telnet server"; + } + } + } + container ipv6 { + description + "IPv6 configuration"; + container server { + description + "Telnet server configuration commands"; + leaf max-servers { + type uint32 { + range "1..100" { + description + "Set number of allowable telnet sessions"; + } + } + description + "Set number of allowable telnet sessions"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Name of access list"; + } + } + must "../max-servers"; + description + "Access list for telnet server"; + } + } + } + } + list vrf-dscp { + key "vrf-name"; + description + "Name of VRF"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "Default VRF"; + } + } + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of VRF"; + } + } + } + description + "Name of VRF"; + } + container ipv4 { + description + "IPv4 configuration"; + leaf dscp { + type uint32 { + range "0..63" { + description + "dscp value"; + } + } + mandatory true; + description + "dscp"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-track-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-track-cfg.yang new file mode 100644 index 000000000..a4c5637c6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-track-cfg.yang @@ -0,0 +1,2007 @@ +module Cisco-IOS-XR-um-track-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-track-cfg"; + prefix um-track-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XR-um-interface-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR track package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-25 { + description + "Added track-name leaf under tracks container"; + semver:module-version "1.0.0"; + } + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + grouping IF-BODY { + container line-protocol { + description + "Line-protocol state tracks another object"; + leaf track { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Track name"; + } + } + description + "Object track"; + } + } + } + + augment "/a1:interfaces/a1:interface" { + uses IF-BODY; + } + augment "/a1:interfaces/a1:interface-preconfigure" { + uses IF-BODY; + } + container tracks { + description + "Configure Track"; + list track { + key "track-name"; + description + "track name"; + leaf track-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "track name"; + } + } + description + "track name"; + } + container delay { + description + "Set track notification delay"; + leaf up { + type uint32 { + range "1..3600" { + description + "Up time delay in seconds"; + } + } + description + "Up time"; + } + leaf down { + type uint32 { + range "1..3600" { + description + "Down time delay in seconds"; + } + } + description + "Down time"; + } + } + container type { + description + "Set track type"; + container route { + description + "track type ipv4 route"; + container reachability { + presence "Indicates a reachability node is configured."; + description + "track type ipv4 route reachability"; + container route { + description + "Set track route"; + container ipv4 { + must "not(../address-prefix)"; + presence "Indicates a ipv4 node is configured."; + description + "IP Address"; + leaf address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Network address"; + } + leaf mask { + type inet:ipv4-address-no-zone; + mandatory true; + description + "Network mask"; + } + } + leaf address-prefix { + type inet:ip-address-no-zone; + must "not(../ipv4)"; + description + "Network address"; + } + leaf address-prefix-length { + type uint32 { + range "1..128"; + } + must "../address-prefix"; + description + "Masklength"; + } + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF tag"; + } + } + description + "specify vrf"; + } + } + } + container line-protocol { + description + "track type line-protocol"; + container state { + presence "Indicates a state node is configured."; + description + "track type line-protocol state"; + leaf interface { + type xr:Interface-name; + description + "Set track interface"; + } + } + } + container boolean { + description + "track type boolean expression"; + container expression { + presence "Indicates a expression node is configured."; + description + "track type boolean expression"; + leaf string { + type xr:Cisco-ios-xr-string { + length "1..127" { + description + "defines boolean relationship among objects"; + } + } + description + "defines boolean relationship among objects"; + } + } + } + leaf rtr { + type uint32 { + range "1..2048" { + description + " ipsla operation number"; + } + } + description + "track type ipsla"; + } + container list { + description + "track type list"; + container boolean { + description + "List of tracks (of any type) with boolean logic"; + container and { + presence "Indicates a and node is configured."; + description + "track type list boolean and"; + container objects { + description + "Set track object"; + list object { + key "object-name"; + description + "Set track object"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..127" { + description + "object name"; + } + } + description + "Set track object"; + } + container not { + presence "Indicates a not node is configured."; + description + "boolean not"; + } + } + } + } + container or { + presence "Indicates a or node is configured."; + description + "track type list boolean or"; + container objects { + description + "Set track object"; + list object { + key "object-name"; + description + "Set track object"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..127" { + description + "object name"; + } + } + description + "Set track object"; + } + container not { + presence "Indicates a not node is configured."; + description + "boolean not"; + } + } + } + } + } + container threshold { + description + "List of tracks (of any type) with threshold logic"; + container weight { + presence "Indicates a weight node is configured."; + description + "threshold based on weighted sum."; + container objects { + description + "Set track object"; + list object { + key "object-name"; + description + "Set track object"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..127" { + description + "object name"; + } + } + description + "Set track object"; + } + leaf weight { + type uint32 { + range "0..4294967295" { + description + "weight "; + } + } + description + "Weight to be assigned for this object"; + } + } + } + container threshold { + description + "Threshold value"; + container weight { + description + "Threshold values based on weight"; + leaf up { + type uint32 { + range "0..4294967295" { + description + "weight "; + } + } + must "../down"; + description + "Threshold limit at which track is set to UP state"; + } + leaf down { + type uint32 { + range "0..4294967295" { + description + "weight "; + } + } + must "../up"; + description + "Threshold limit at which track is set to DOWN state"; + } + } + } + } + container percentage { + presence "Indicates a percentage node is configured."; + description + "threshold based on percentage of objects."; + container objects { + description + "Set track object"; + list object { + key "object-name"; + description + "Set track object"; + leaf object-name { + type xr:Cisco-ios-xr-string { + length "1..127" { + description + "object name"; + } + } + description + "Set track object"; + } + leaf weight { + type uint32 { + range "0..4294967295" { + description + "weight "; + } + } + description + "Weight to be assigned for this object"; + } + } + } + container threshold { + description + "Threshold value"; + container percentage { + description + "Threshold values based on percentage"; + leaf up { + type uint32 { + range "1..100" { + description + "percentage <1 - 100>"; + } + } + must "../down"; + description + "Threshold limit at which track is set to UP state"; + } + leaf down { + type uint32 { + range "1..100" { + description + "percentage <1 - 100>"; + } + } + must "../up"; + description + "Threshold limit at which track is set to DOWN state"; + } + } + } + } + } + container line-protocol { + description + "List of line-protocol tracks"; + container state { + description + "List of line-protocol state tracks"; + container threshold { + description + "List of tracks (of any type) with threshold logic"; + container weight { + presence "Indicates a weight node is configured."; + description + "threshold based on weighted sum."; + container threshold { + description + "Threshold value"; + container weight { + description + "Threshold values based on weight"; + leaf up { + type uint32 { + range "0..4294967295" { + description + "weight "; + } + } + must "../down"; + description + "Threshold limit at which track is set to UP state"; + } + leaf down { + type uint32 { + range "0..4294967295" { + description + "weight "; + } + } + must "../up"; + description + "Threshold limit at which track is set to DOWN state"; + } + } + } + container interfaces { + description + "List member interface"; + list interface { + key "interface-name"; + description + "List member interface"; + leaf interface-name { + type xr:Interface-name; + description + "interface name"; + } + leaf weight { + type uint32 { + range "0..4294967295" { + description + "weight "; + } + } + description + "Weight to be assigned for this object"; + } + } + } + } + container percentage { + presence "Indicates a percentage node is configured."; + description + "threshold based on percentage of objects."; + container interfaces { + description + "List member interface"; + list interface { + key "interface-name"; + description + "List member interface"; + leaf interface-name { + type xr:Interface-name; + description + "interface name"; + } + } + } + container threshold { + description + "Threshold value"; + container percentage { + description + "Threshold values based on percentage"; + leaf up { + type uint32 { + range "1..100" { + description + "percentage <1 - 100>"; + } + } + must "../down"; + description + "Threshold limit at which track is set to UP state"; + } + leaf down { + type uint32 { + range "1..100" { + description + "percentage <1 - 100>"; + } + } + must "../up"; + description + "Threshold limit at which track is set to DOWN state"; + } + } + } + } + } + container boolean { + description + "Track state based on boolean logic"; + container and { + presence "Indicates a and node is configured."; + description + "Boolean and logic"; + container interfaces { + description + "List member interface"; + list interface { + key "interface-name"; + description + "List member interface"; + leaf interface-name { + type xr:Interface-name; + description + "interface name"; + } + } + } + } + container or { + presence "Indicates a or node is configured."; + description + "Boolean or logic"; + container interfaces { + description + "List member interface"; + list interface { + key "interface-name"; + description + "List member interface"; + leaf interface-name { + type xr:Interface-name; + description + "interface name"; + } + } + } + } + } + } + } + } + container bfdrtr { + presence "Indicates a bfdrtr node is configured."; + description + "track type bfd rtr"; + leaf rate { + type uint32 { + range "1..5000" { + description + "time interval ms"; + } + } + must "../debounce"; + mandatory true; + description + "Tx interval in ms"; + } + leaf debounce { + type uint32 { + range "1..10" { + description + "numeric counter"; + } + } + must "../rate and ../interface"; + mandatory true; + description + "Debounce count"; + } + leaf interface { + type xr:Interface-name; + must "../debounce and ../destaddress"; + mandatory true; + description + "The link on rc to be used to track"; + } + leaf destaddress { + type inet:ipv4-address-no-zone; + must "../interface"; + mandatory true; + description + "Destination Ip Address to track via bfd"; + } + } + container bgp { + description + "track type bgp"; + container instances { + description + "Instance name"; + list instance { + key "instance-name"; + description + "Instance name"; + leaf instance-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Instance name"; + } + } + description + "Instance name"; + } + container neighbor { + description + "track type bgp neighbor"; + container address-family { + description + "track type bgp neighbor address-family"; + container state { + presence "Indicates a state node is configured."; + description + "track type bgp neighbor address-family state"; + container address-family { + description + "Address Family"; + container ipv4 { + description + "IPv4 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mdt { + presence "Indicates a mdt node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mvpn { + presence "Indicates a mvpn node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container rt-filter { + presence "Indicates a rt-filter node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container sr-policy { + presence "Indicates a sr-policy node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container tunnel { + presence "Indicates a tunnel node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container ipv6 { + description + "IPv6 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mvpn { + presence "Indicates a mvpn node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container sr-policy { + presence "Indicates a sr-policy node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container l2vpn { + description + "L2vpn Address Family"; + container evpn { + presence "Indicates a evpn node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mspw { + presence "Indicates a mspw node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container vpls-vpws { + presence "Indicates a vpls-vpws node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container link-state { + description + "Link-state Address Family"; + container link-state { + presence "Indicates a link-state node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container vpnv4 { + description + "Vpnv4 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container vpnv6 { + description + "Vpnv6 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + } + } + } + } + } + } + container neighbor { + description + "track type bgp neighbor"; + container address-family { + description + "track type bgp neighbor address-family"; + container state { + presence "Indicates a state node is configured."; + description + "track type bgp neighbor address-family state"; + container address-family { + description + "Address Family"; + container ipv4 { + description + "IPv4 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mdt { + presence "Indicates a mdt node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mvpn { + presence "Indicates a mvpn node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container rt-filter { + presence "Indicates a rt-filter node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container sr-policy { + presence "Indicates a sr-policy node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container tunnel { + presence "Indicates a tunnel node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container ipv6 { + description + "IPv6 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container labeled-unicast { + presence "Indicates a labeled-unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mvpn { + presence "Indicates a mvpn node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container sr-policy { + presence "Indicates a sr-policy node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + leaf vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Vrf name"; + } + } + must "../neighbor"; + description + "Vrf name"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container l2vpn { + description + "L2vpn Address Family"; + container evpn { + presence "Indicates a evpn node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container mspw { + presence "Indicates a mspw node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container vpls-vpws { + presence "Indicates a vpls-vpws node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container link-state { + description + "Link-state Address Family"; + container link-state { + presence "Indicates a link-state node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container vpnv4 { + description + "Vpnv4 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + container vpnv6 { + description + "Vpnv6 Address Family"; + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + container unicast { + presence "Indicates a unicast node is configured."; + description + "Address Family modifier"; + leaf neighbor { + type inet:ip-address-no-zone; + mandatory true; + description + "Neighbor address"; + } + container disable { + description + "Disable fib check"; + container fib-check { + presence "Indicates a fib-check node is configured."; + description + "Disable Fib chcking"; + } + } + } + } + } + } + } + } + } + } + container action { + description + "Actions to be taken when the state of the track changes"; + container track-down { + description + "Action will be performed when track goes Down"; + container error-disable { + description + "Disable specified interface when track state changes"; + container interfaces { + description + "Interface to be disabled"; + list interface { + key "interface-name"; + description + "Interface to be disabled"; + leaf interface-name { + type xr:Interface-name; + description + "Interface to be disabled"; + } + leaf auto-recover { + type enumeration { + enum "enable" { + value 1; + description + "Enable auto-recover"; + } + enum "disable" { + value 0; + description + "Disable auto-recover"; + } + } + mandatory true; + description + "Auto-recover the interface state when the track returns to pre-error-disable state"; + } + } + } + } + } + container track-up { + description + "Action will be performed when track goes Up"; + container error-disable { + description + "Disable specified interface when track state changes"; + container interfaces { + description + "Interface to be disabled"; + list interface { + key "interface-name"; + description + "Interface to be disabled"; + leaf interface-name { + type xr:Interface-name; + description + "Interface to be disabled"; + } + leaf auto-recover { + type enumeration { + enum "enable" { + value 1; + description + "Enable auto-recover"; + } + enum "disable" { + value 0; + description + "Disable auto-recover"; + } + } + mandatory true; + description + "Auto-recover the interface state when the track returns to pre-error-disable state"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traffic-collector-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traffic-collector-cfg.yang new file mode 100644 index 000000000..122480953 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traffic-collector-cfg.yang @@ -0,0 +1,235 @@ +module Cisco-IOS-XR-um-traffic-collector-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traffic-collector-cfg"; + prefix um-traffic-collector-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traffic-collector package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-18 { + description + "Config to disable tc oc-aft stats"; + semver:module-version "1.0.1m"; + } + revision 2021-06-29 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container traffic-collector { + presence "Indicates a traffic-collector node is configured."; + description + "Traffic Collector"; + container interfaces { + description + "Configure an External interface"; + list interface { + key "interface-name"; + description + "Configure an External interface"; + leaf interface-name { + type xr:Interface-name; + description + "Configure an External interface"; + } + } + } + container statistics { + presence "Indicates a statistics node is configured."; + description + "Configure statistics related parameters"; + leaf collection-interval { + type enumeration { + enum "1" { + value 1; + description + "1 minute (default)"; + } + enum "2" { + value 2; + description + "2 minutes"; + } + enum "3" { + value 3; + description + "3 minutes"; + } + enum "4" { + value 4; + description + "4 minutes"; + } + enum "5" { + value 5; + description + "5 minutes"; + } + enum "6" { + value 6; + description + "6 minutes"; + } + enum "10" { + value 10; + description + "10 minutes"; + } + enum "12" { + value 12; + description + "12 minutes"; + } + enum "15" { + value 15; + description + "15 minutes"; + } + enum "20" { + value 20; + description + "20 minutes"; + } + enum "30" { + value 30; + description + "30 minutes"; + } + enum "60" { + value 60; + description + "60 minutes"; + } + } + description + "Configure statistics collection interval"; + } + container history-minute-timeout { + presence "Indicates a history-minute-timeout node is configured."; + description + "Change history-timeout to represent minutes instead of hours"; + } + leaf history-timeout { + type uint32 { + range "0..720" { + description + "Timeout interval (hours, 0 to specify immediate timeout. default is 48)"; + } + } + description + "Configure statistics history timeout interval"; + } + leaf history-size { + type uint32 { + range "1..10" { + description + "History size (default is 5)"; + } + } + description + "Configure statistics history size"; + } + } + container oc-aft { + description + "Configure OC-AFT stats related parameters"; + leaf collection-interval { + type enumeration { + enum "1" { + value 1; + description + "1 minute (default)"; + } + enum "2" { + value 2; + description + "2 minutes"; + } + enum "3" { + value 3; + description + "3 minutes"; + } + enum "4" { + value 4; + description + "4 minutes"; + } + enum "5" { + value 5; + description + "5 minutes"; + } + enum "6" { + value 6; + description + "6 minutes"; + } + enum "10" { + value 10; + description + "10 minutes"; + } + enum "12" { + value 12; + description + "12 minutes"; + } + enum "15" { + value 15; + description + "15 minutes"; + } + enum "20" { + value 20; + description + "20 minutes"; + } + enum "30" { + value 30; + description + "30 minutes"; + } + enum "60" { + value 60; + description + "60 minutes"; + } + } + description + "Configure statistics collection interval"; + } + container stats-disable { + presence "Indicates a stats-disable node is configured."; + description + "Disable periodic streaming/collection of AFT label stats"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-alarm-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-alarm-cfg.yang new file mode 100644 index 000000000..8a607d257 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-alarm-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-alarm-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-alarm-cfg"; + prefix um-traps-alarm-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-alarm package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-13 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container alarm { + presence "Indicates a alarm node is configured."; + description + "Enable SNMP Cisco alarm traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bridgemib-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bridgemib-cfg.yang new file mode 100644 index 000000000..e2a27b9a2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bridgemib-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-bridgemib-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-bridgemib-cfg"; + prefix um-traps-bridgemib-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-bridgemib package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container bridgemib { + presence "Indicates a bridgemib node is configured."; + description + "Enable SNMP Trap for Bridge MIB"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bulkstat-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bulkstat-cfg.yang new file mode 100644 index 000000000..06415040a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-bulkstat-cfg.yang @@ -0,0 +1,56 @@ +module Cisco-IOS-XR-um-traps-bulkstat-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-bulkstat-cfg"; + prefix um-traps-bulkstat-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-bulkstat package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-01 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container bulkstat { + description + "Enable Data-Collection-MIB Collection notifications"; + container collection { + presence "Indicates a collection node is configured."; + description + "Enable Data-Collection-MIB Collection notifications"; + } + container transfer { + presence "Indicates a transfer node is configured."; + description + "Enable Data-Collection-MIB Transfer notifications"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-config-copy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-config-copy-cfg.yang new file mode 100644 index 000000000..635525451 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-config-copy-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-config-copy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-config-copy-cfg"; + prefix um-traps-config-copy-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-config-copy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container copy-complete { + presence "Indicates a copy-complete node is configured."; + description + "Enable CISCO-CONFIG-COPY-MIB ccCopyCompletion traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-cfg.yang new file mode 100644 index 000000000..73ba6c5cc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-cfg.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XR-um-traps-entity-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-cfg"; + prefix um-traps-entity-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-entity package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-10-12 { + description + "Changed the augment of entityindex node to snmp-server-mibs instead of snmp-server"; + semver:module-version "1.0.0"; + } + revision 2021-03-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container entity { + presence "Indicates a entity node is configured."; + description + "Enable SNMP entity traps"; + } + container cisco-entity-ext { + presence "Indicates a cisco-entity-ext node is configured."; + description + "Enable SNMP entity traps"; + } + } + augment "/a1:snmp-server-mibs" { + container entityindex { + description + "Configuration pertaining to entity indices"; + container persist { + presence "Indicates a persist node is configured."; + description + "Persist indices"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-redundancy-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-redundancy-cfg.yang new file mode 100644 index 000000000..59ad86bde --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-redundancy-cfg.yang @@ -0,0 +1,61 @@ +module Cisco-IOS-XR-um-traps-entity-redundancy-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-redundancy-cfg"; + prefix um-traps-entity-redundancy-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-entity-redundancy package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container entity-redundancy { + description + "Enable SNMP CISCO-ENTITY-REDUNDANCY-MIB traps"; + container all { + presence "Indicates a all node is configured."; + description + "Enable all CISCO-ENTITY-REDUNDANCY-MIB traps"; + } + container switchover { + presence "Indicates a switchover node is configured."; + description + "Enable switchover traps"; + } + container status { + presence "Indicates a status node is configured."; + description + "Enable status change traps"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-state-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-state-cfg.yang new file mode 100644 index 000000000..59327113d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-entity-state-cfg.yang @@ -0,0 +1,56 @@ +module Cisco-IOS-XR-um-traps-entity-state-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-state-cfg"; + prefix um-traps-entity-state-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-entity-state package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container entity-state { + description + "Enable SNMP entity-state traps"; + container switchover { + presence "Indicates a switchover node is configured."; + description + "Enable entity state switchover notifications"; + } + container operstatus { + presence "Indicates a operstatus node is configured."; + description + "Enable entity oper status enable notification"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-flash-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-flash-cfg.yang new file mode 100644 index 000000000..855a1218d --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-flash-cfg.yang @@ -0,0 +1,56 @@ +module Cisco-IOS-XR-um-traps-flash-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-flash-cfg"; + prefix um-traps-flash-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-flash package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container flash { + description + "Enable flash-mib traps"; + container insertion { + presence "Indicates a insertion node is configured."; + description + "Enable ciscoFlashDeviceInsertedNotif"; + } + container removal { + presence "Indicates a removal node is configured."; + description + "Enable ciscoFlashDeviceRemovedNotif"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-fru-ctrl-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-fru-ctrl-cfg.yang new file mode 100644 index 000000000..324c07cf7 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-fru-ctrl-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-fru-ctrl-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-fru-ctrl-cfg"; + prefix um-traps-fru-ctrl-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-fru-ctrl package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container fru-ctrl { + presence "Indicates a fru-ctrl node is configured."; + description + "Enable SNMP entity FRU control traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsec-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsec-cfg.yang new file mode 100644 index 000000000..a6f549e7a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsec-cfg.yang @@ -0,0 +1,78 @@ +module Cisco-IOS-XR-um-traps-ipsec-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-ipsec-cfg"; + prefix um-traps-ipsec-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-ipsec package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-17 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container ipsec { + description + "Enable SNMP IPSec traps"; + container tunnel { + description + "Enable SNMP IPsec Tunnel traps"; + container start { + presence "Indicates a start node is configured."; + description + "Enable SNMP IPsec Tunnel Start trap"; + } + container stop { + presence "Indicates a stop node is configured."; + description + "Enable SNMP IPsec Tunnel Stop trap"; + } + } + } + container isakmp { + description + "Enable SNMP ISAKMP traps"; + container tunnel { + description + "Enable SNMP ISAKMP Tunnel traps"; + container start { + presence "Indicates a start node is configured."; + description + "Enable SNMP ISAKMP Tunnel Start trap"; + } + container stop { + presence "Indicates a stop node is configured."; + description + "Enable SNMP ISAKMP Tunnel Stop trap"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsla-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsla-cfg.yang new file mode 100644 index 000000000..ccdfb670b --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-ipsla-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-ipsla-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-ipsla-cfg"; + prefix um-traps-ipsla-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-ipsla package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-31 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container ipsla { + presence "Indicates a ipsla node is configured."; + description + "Enable SNMP RTTMON-MIB IPSLA traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-l2tun-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-l2tun-cfg.yang new file mode 100644 index 000000000..cdc0a1551 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-l2tun-cfg.yang @@ -0,0 +1,70 @@ +module Cisco-IOS-XR-um-traps-l2tun-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-l2tun-cfg"; + prefix um-traps-l2tun-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-l2tun package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container l2tun { + description + "Enable L2TUN traps"; + container sessions { + presence "Indicates a sessions node is configured."; + description + "Enable L2TUN sessions traps"; + } + container pseudowire { + description + "Enable L2TUN pseudowire status traps"; + container status { + presence "Indicates a status node is configured."; + description + "Enable traps for L2TPv3 PW status"; + } + } + container tunnel-up { + presence "Indicates a tunnel-up node is configured."; + description + "Enable L2TUN tunnel UP traps"; + } + container tunnel-down { + presence "Indicates a tunnel-down node is configured."; + description + "Enable L2TUN tunnel DOWN traps"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-mpls-ldp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-mpls-ldp-cfg.yang new file mode 100644 index 000000000..6f5f2c69a --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-mpls-ldp-cfg.yang @@ -0,0 +1,65 @@ +module Cisco-IOS-XR-um-traps-mpls-ldp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-mpls-ldp-cfg"; + prefix um-traps-mpls-ldp-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps mpls-ldp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-10 { + description + "Initial version"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container mpls { + description + "Enable SNMP MPLS traps"; + container ldp { + description + "Enable MPLS LDP traps"; + container down { + presence "Indicates a down node is configured."; + description + "Enable MPLS LDP session down traps"; + } + container up { + presence "Indicates a up node is configured."; + description + "Enable MPLS LDP session up traps"; + } + container threshold { + presence "Indicates a threshold node is configured."; + description + "Enable MPLS LDP threshold traps"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-msdp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-msdp-cfg.yang new file mode 100644 index 000000000..28ff3edf4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-msdp-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-um-traps-msdp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-msdp-cfg"; + prefix um-traps-msdp-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-msdp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-27 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container msdp { + description + "Enable SNMP MSDP traps"; + container peer-state-change { + presence "Indicates a peer-state-change node is configured."; + description + "Enable Peer state change trap"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-otn-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-otn-cfg.yang new file mode 100644 index 000000000..78749d3c9 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-otn-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-otn-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-otn-cfg"; + prefix um-traps-otn-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-otn package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container otn { + presence "Indicates a otn node is configured."; + description + "Enable SNMP Cisco otn traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-pim-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-pim-cfg.yang new file mode 100644 index 000000000..4a9968183 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-pim-cfg.yang @@ -0,0 +1,66 @@ +module Cisco-IOS-XR-um-traps-pim-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-pim-cfg"; + prefix um-traps-pim-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-pim package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-12-03 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container pim { + description + "Enable SNMP PIM traps"; + container neighbor-change { + presence "Indicates a neighbor-change node is configured."; + description + "Enable neighbor change trap"; + } + container interface-state-change { + presence "Indicates a interface-state-change node is configured."; + description + "Enable interface state change trap"; + } + container invalid-message-received { + presence "Indicates a invalid-message-received node is configured."; + description + "Enable invalid message received trap"; + } + container rp-mapping-change { + presence "Indicates a rp-mapping-change node is configured."; + description + "Enable rp mapping change trap"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-power-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-power-cfg.yang new file mode 100644 index 000000000..1d1e32b39 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-power-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-power-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-power-cfg"; + prefix um-traps-power-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-power package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-08 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container power { + presence "Indicates a power node is configured."; + description + "Enable SNMP entity power traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-rsvp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-rsvp-cfg.yang new file mode 100644 index 000000000..51f4d29f3 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-rsvp-cfg.yang @@ -0,0 +1,61 @@ +module Cisco-IOS-XR-um-traps-rsvp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-rsvp-cfg"; + prefix um-traps-rsvp-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-rsvp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-17 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container rsvp { + description + "Enable RSVP MIB traps"; + container all { + presence "Indicates a all node is configured."; + description + "Enable all RSVP MIB traps"; + } + container new-flow { + presence "Indicates a new-flow node is configured."; + description + "Enable RSVP new_flow traps"; + } + container lost-flow { + presence "Indicates a lost-flow node is configured."; + description + "Enable RSVP lost_flow traps"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-selective-vrf-download-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-selective-vrf-download-cfg.yang new file mode 100644 index 000000000..5f4af4d15 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-selective-vrf-download-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-um-traps-selective-vrf-download-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-selective-vrf-download-cfg"; + prefix um-traps-selective-vrf-download-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-selective-vrf-download package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-17 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container selective-vrf-download { + description + "Enable selective VRF download traps"; + container role-change { + presence "Indicates a role-change node is configured."; + description + "Enable selective VRF download role change traps"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-syslog-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-syslog-cfg.yang new file mode 100644 index 000000000..2e428fd16 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-syslog-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-syslog-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-syslog-cfg"; + prefix um-traps-syslog-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-syslog package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-03-23 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container syslog { + presence "Indicates a syslog node is configured."; + description + "Enable SNMP syslog traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-system-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-system-cfg.yang new file mode 100644 index 000000000..12b55a373 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-traps-system-cfg.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XR-um-traps-system-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-system-cfg"; + prefix um-traps-system-cfg; + + import Cisco-IOS-XR-um-snmp-server-cfg { + prefix a1; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR traps-system package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-24 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + augment "/a1:snmp-server/a1:traps" { + container system { + presence "Indicates a system node is configured."; + description + "Enable SNMP SYSTEMMIB-MIB traps"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-udp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-udp-cfg.yang new file mode 100644 index 000000000..2d7633166 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-udp-cfg.yang @@ -0,0 +1,270 @@ +module Cisco-IOS-XR-um-udp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-udp-cfg"; + prefix um-udp-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR udp package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-01-11 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container service { + description + "Modify use of network based services"; + container ipv4 { + description + "Ipv4 small servers"; + container udp-small-servers { + description + "Enable small UDP servers (e.g., ECHO)"; + leaf max-servers { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "No limit to number of allowable UDP small servers"; + } + } + type uint32 { + range "1..2147483647"; + } + } + description + "Set number of allowable UDP small servers"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + must "../max-servers"; + description + "Access list"; + } + } + } + container ipv6 { + description + "Ipv6 small servers"; + container udp-small-servers { + description + "Enable small UDP servers (e.g., ECHO)"; + leaf max-servers { + type union { + type enumeration { + enum "no-limit" { + value 0; + description + "No limit to number of allowable UDP small servers"; + } + } + type uint32 { + range "1..2147483647"; + } + } + description + "Set number of allowable UDP small servers"; + } + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "Access list - Maximum 64 characters"; + } + } + must "../max-servers"; + description + "Access list"; + } + } + } + } + container udp { + description + "Global UDP configuration command"; + container directory { + description + "Specify debug directory location"; + leaf location { + type string { + length "1..256" { + description + "Place debug files in this directory"; + } + } + must "../files and ../size"; + description + "Place debug files in this directory"; + } + leaf files { + type uint32 { + range "1..5000" { + description + "Maximum debug files (default: 256)"; + } + } + must "../location and ../size"; + description + "Set maximum debug files"; + } + leaf size { + type uint32 { + range "1024..4294967295" { + description + "Maximum file size in bytes"; + } + } + must "../location and ../files"; + description + "Set maximum file size"; + } + } + leaf receive-queue { + type uint32 { + range "40..800" { + description + "Number of packets in receive queue"; + } + } + description + "UDP receive packet queue size"; + } + leaf num-thread { + type uint32 { + range "1..16" { + description + "Ingress threads created by UDP (default: 8)"; + } + } + must "../max-threads"; + description + "Set number of threads (takes effect only on process restart)"; + } + leaf max-threads { + type uint32 { + range "1..16" { + description + "max threads in thread pool created by UDP (default: 8)"; + } + } + must "../num-thread"; + description + "max threads in thread pool created by UDP (default: 8)"; + } + } + container forward-protocol { + description + "Controls forwarding of physical and directed IP broadcasts"; + container udp { + description + "Packets to a specific UDP port"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Forward Protocol UDP"; + } + container domain { + description + "Domain Name Service (DNS, 53)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Forward Protocol UDP for a specific port"; + } + } + container nameserver { + description + "IEN116 name service (obsolete, 42)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Forward Protocol UDP for a specific port"; + } + } + container netbios-dgm { + description + "NetBios datagram service (138)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Forward Protocol UDP for a specific port"; + } + } + container netbios-ns { + description + "NetBios name service (137)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Forward Protocol UDP for a specific port"; + } + } + container tacacs { + description + "TAC Access Control System (49)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Forward Protocol UDP for a specific port"; + } + } + container tftp { + description + "Trivial File Transfer Protocol (69)"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IP Forward Protocol UDP for a specific port"; + } + } + container ports { + description + "Packets to a specific UDP port"; + list port { + key "port-number"; + description + "Packets to a specific UDP port"; + leaf port-number { + type uint32 { + range "1..65535"; + } + description + "Port number"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-vrf-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-vrf-cfg.yang new file mode 100644 index 000000000..823cf359f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-vrf-cfg.yang @@ -0,0 +1,780 @@ +module Cisco-IOS-XR-um-vrf-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-vrf-cfg"; + prefix um-vrf-cfg; + + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-types { + prefix xr; + } + import Cisco-IOS-XR-um-location-cfg { + prefix location; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR vrf package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-07-13 { + description + "Removed imported native model Cisco-IOS-XR-config-mda-cfg and imported + model Cisco-IOS-XR-um-location-cfg"; + semver:module-version "4.1.0"; + } + revision 2021-01-11 { + description + "Added new leaf description under srlg->names->name + 2020-07-23 + Removed unused tailf import"; + semver:module-version "4.0.0"; + } + revision 2019-10-31 { + description + "Added mandatory nodes"; + semver:module-version "3.0.0"; + } + revision 2019-10-10 { + description + "Moved interface augments into Cisco-IOS-XR-um-if-vrf-cfg + 2019-09-23 + Moved 'selective-vrf-download-locations' and its child nodes to module 'Cisco-IOS-XR-config-mda-cfg' to resolve an issue with duplicated list entries being created between the two models."; + semver:module-version "2.0.0"; + } + revision 2019-06-10 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2019-03-29 { + description + "Initial version"; + } + + feature svd-location { + description + "selective-vrf-download location feature"; + } + + grouping GROUP-SVD-LOCATION { + container selective-vrf-download { + if-feature "svd-location"; + must "role or vrf-groups/vrf-group"; + presence "Indicates a selective-vrf-download node is configured."; + description + "Location for Selective VRF Download configuration"; + container role { + presence "Indicates a role node is configured."; + description + "Card Role configuration"; + container address-family { + description + "AFI/SAFI configuration"; + container ipv4 { + description + "IPv4 AFI SVD configuration"; + leaf unicast { + type enumeration { + enum "standard" { + value 1; + description + "Standard Role"; + } + enum "core-facing" { + value 2; + description + "Core Facing Role"; + } + enum "customer-facing" { + value 3; + description + "Customer Facing Role"; + } + enum "not-interested" { + value 4; + description + "Not-Interested"; + } + enum "vpnonly-customer-facing" { + value 5; + description + "L3VPN Only Cutomer Facing Role"; + } + } + mandatory true; + description + "IPv4 Unicast AFI-SAFI SVD configuration"; + } + } + container ipv6 { + description + "IPv6 AFI SVD configuration"; + leaf unicast { + type enumeration { + enum "standard" { + value 1; + description + "Standard Role"; + } + enum "core-facing" { + value 2; + description + "Core Facing Role"; + } + enum "customer-facing" { + value 3; + description + "Customer Facing Role"; + } + enum "not-interested" { + value 4; + description + "Not-Interested"; + } + enum "vpnonly-customer-facing" { + value 5; + description + "L3VPN Only Cutomer Facing Role"; + } + } + mandatory true; + description + "IPv6 Unicast AFI-SAFI SVD configuration"; + } + } + } + } + container vrf-groups { + description + "Enable this VRF-GROUP on this location"; + list vrf-group { + key "vrf-group-name"; + description + "Enable this VRF-GROUP on this location"; + leaf vrf-group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Group name"; + } + } + description + "Enable this VRF-GROUP on this location"; + } + } + } + } + } + + augment "/location:locations/location:location" { + description + "This augment extends active nodes configuration"; + uses GROUP-SVD-LOCATION; + } + augment "/location:locations/location:preconfigured-location" { + description + "This augment extends preconfigured nodes + configuration"; + uses GROUP-SVD-LOCATION; + } + container address-family { + description + "AFI/SAFI configuration"; + container ipv4 { + description + "IPv4 address family"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "Unicast topology"; + } + container multicast { + description + "Multicast topology"; + container topologies { + description + "Specify a non-default topology"; + list topology { + key "topology-name"; + description + "Specify a non-default topology"; + leaf topology-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Topology name"; + } + } + description + "Specify a non-default topology"; + } + } + } + } + } + container ipv6 { + description + "IPv6 address family"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "Unicast topology"; + } + container multicast { + description + "Multicast topology"; + container topologies { + description + "Specify a non-default topology"; + list topology { + key "topology-name"; + description + "Specify a non-default topology"; + leaf topology-name { + type string { + length "1..32" { + description + "Topology name"; + } + } + description + "Specify a non-default topology"; + } + } + } + } + } + } + container vrfs { + description + "VRF configuration commands"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF name"; + } + container address-family { + description + "AFI/SAFI configuration"; + container ipv4 { + description + "IPv4 address family"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "Unicast sub address family"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast topology"; + } + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Flowspec sub address family"; + } + } + container ipv6 { + description + "IPv6 address family"; + container unicast { + presence "Indicates a unicast node is configured."; + description + "Unicast sub address family"; + } + container multicast { + presence "Indicates a multicast node is configured."; + description + "Multicast topology"; + } + container flowspec { + presence "Indicates a flowspec node is configured."; + description + "Flowspec sub address family"; + } + } + } + container mode { + description + "VRF mode which determines the max prefix scale"; + container big { + presence "Indicates a big node is configured."; + description + "big to set max prefix scale more than 64 K"; + } + } + container vpn { + description + "VPN ID for the VRF"; + leaf id { + type xr:Vpn-id; + description + "VPN ID, (OUI:VPN-Index) format(hex), 4 bytes VPN_Index Part"; + } + } + leaf description { + type string { + length "1..1024" { + description + "Description for this VRF"; + } + } + description + "A description for the VRF"; + } + container remote-route-filtering { + description + "Enable/Disable remote route filtering per VRF"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable remote route filtering per VRF"; + } + } + leaf fallback-vrf { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Fallback VRF name"; + } + } + description + "Fallback vrf for this VRF"; + } + } + } + container selective-vrf-download { + description + "Selective VRF Download config commands"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable Selective VRF Download"; + } + } + container srlg { + presence "Indicates a srlg node is configured."; + description + "SRLG configuration commands"; + container names { + description + "SRLG name to value mapping"; + list name { + must "value or description"; + key "srlg-name"; + description + "SRLG name to value mapping"; + leaf srlg-name { + type xr:Cisco-ios-xr-string { + length "1..64" { + description + "SRLG Name"; + } + } + description + "SRLG name to value mapping"; + } + leaf value { + type uint32 { + range "0..4294967295" { + description + "Network SRLG value"; + } + } + description + "Configure SRLG network value"; + } + leaf description { + type string { + length "1..800" { + description + "SRLG description"; + } + } + description + "Configure SRLG network value"; + } + } + } + container interfaces { + description + "SRLG interface configuration submode"; + list interface { + key "interface-name"; + description + "SRLG interface configuration submode"; + leaf interface-name { + type xr:Interface-name; + description + "SRLG interface configuration submode"; + } + container include-optical { + presence "Indicates a include-optical node is configured."; + description + "Include srlg values from optical layer"; + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical priority"; + } + enum "high" { + value 1; + description + "High priority"; + } + enum "low" { + value 3; + description + "Low priority"; + } + enum "verylow" { + value 4; + description + "Very low priority"; + } + } + description + "Set prority for the value"; + } + } + container indexes { + description + "Index number for this value"; + list index { + key "index-number"; + description + "Index number for this value"; + leaf index-number { + type uint32 { + range "1..65535" { + description + "Index number for this value"; + } + } + description + "Index number for this value"; + } + leaf value { + type uint32 { + range "0..4294967295" { + description + "Network SRLG value"; + } + } + mandatory true; + description + "Configure SRLG network value"; + } + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical priority"; + } + enum "high" { + value 1; + description + "High priority"; + } + enum "default" { + value 2; + description + "Default priority"; + } + enum "low" { + value 3; + description + "Low priority"; + } + enum "verylow" { + value 4; + description + "Very low priority"; + } + } + mandatory true; + description + "Set prority for the value"; + } + } + } + container names { + description + "Bind this SRLG name to the interface"; + list name { + key "srlg-name"; + description + "Bind this SRLG name to the interface"; + leaf srlg-name { + type string { + length "1..64" { + description + "SRLG Name"; + } + } + description + "Bind this SRLG name to the interface"; + } + } + } + container groups { + presence "Indicates a groups node is configured."; + description + "Configure group srlg values"; + list group { + key "index-number"; + description + "Group index number for this entry"; + leaf index-number { + type uint32 { + range "1" { + description + "Group index number for this entry"; + } + } + description + "Group index number for this entry"; + } + leaf group-name { + type string { + length "1..32" { + description + "Group name"; + } + } + mandatory true; + description + "Group name"; + } + } + } + } + } + container groups { + description + "SRLG group configuration submode"; + list group { + key "group-name"; + description + "SRLG group configuration submode"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Group name"; + } + } + description + "SRLG group configuration submode"; + } + container indexes { + description + "Index number for this value"; + list index { + key "index-number"; + description + "Index number for this value"; + leaf index-number { + type uint32 { + range "1..65535" { + description + "Index number for this value"; + } + } + description + "Index number for this value"; + } + leaf value { + type uint32 { + range "0..4294967295" { + description + "Network SRLG value"; + } + } + mandatory true; + description + "Configure SRLG network value"; + } + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical priority"; + } + enum "high" { + value 1; + description + "High priority"; + } + enum "default" { + value 2; + description + "Default priority"; + } + enum "low" { + value 3; + description + "Low priority"; + } + enum "verylow" { + value 4; + description + "Very low priority"; + } + } + mandatory true; + description + "Set prority for the value"; + } + } + } + } + } + container inherit-locations { + description + "SRLG inherit-location configuration submode"; + list inherit-location { + key "location-name"; + description + "SRLG inherit-location configuration submode"; + leaf location-name { + type xr:Pq-node-id; + description + "The inherit location name"; + } + container indexes { + description + "Index number for this value"; + list index { + key "index-number"; + description + "Index number for this value"; + leaf index-number { + type uint32 { + range "1..65535" { + description + "Index number for this value"; + } + } + description + "Index number for this value"; + } + leaf value { + type uint32 { + range "0..4294967295" { + description + "Network SRLG value"; + } + } + mandatory true; + description + "Configure SRLG network value"; + } + leaf priority { + type enumeration { + enum "critical" { + value 0; + description + "Critical priority"; + } + enum "high" { + value 1; + description + "High priority"; + } + enum "default" { + value 2; + description + "Default priority"; + } + enum "low" { + value 3; + description + "Low priority"; + } + enum "verylow" { + value 4; + description + "Very low priority"; + } + } + mandatory true; + description + "Set prority for the value"; + } + } + } + } + } + } + container vrf-groups { + description + "VRFGROUP configuration commands"; + list vrf-group { + key "group-name"; + description + "Group name"; + leaf group-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Group name"; + } + } + description + "Group name"; + } + container vrfs { + description + "Enable the vrf on this vrf-group"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF name"; + } + } + description + "VRF name"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-vty-pool-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-vty-pool-cfg.yang new file mode 100644 index 000000000..ba845da02 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-vty-pool-cfg.yang @@ -0,0 +1,174 @@ +module Cisco-IOS-XR-um-vty-pool-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-vty-pool-cfg"; + prefix um-vty-pool-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR vty-pool package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-10-12 { + description + "increased vty sessions"; + semver:module-version "1.0.1M"; + } + revision 2020-12-15 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container vty-pool { + description + "VTY Pools"; + container default { + presence "Indicates a default node is configured."; + description + "Default VTY Pool."; + leaf first-vty-number { + type uint32 { + range "0" { + description + "First VTY number"; + } + } + mandatory true; + description + "Default VTY Pool."; + } + leaf last-vty-number { + type uint32 { + range "4..109" { + description + "Last VTY number"; + } + } + mandatory true; + description + "Last VTY number"; + } + leaf line-template { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of line template"; + } + } + description + "Name of line template"; + } + } + container eem { + presence "Indicates a eem node is configured."; + description + "Event Manager VTY Pool."; + leaf first-vty-number { + type uint32 { + range "110" { + description + "First VTY number"; + } + } + mandatory true; + description + "eem VTY Pool."; + } + leaf last-vty-number { + type uint32 { + range "115" { + description + "Last VTY number"; + } + } + mandatory true; + description + "Last VTY number"; + } + leaf line-template { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of line template"; + } + } + description + "Name of line template"; + } + } + container pools { + description + "User defined VTY Pool"; + list pool { + key "pool-name"; + description + "First VTY number"; + leaf pool-name { + type xr:Cisco-ios-xr-string { + length "1..1024" { + description + "Name of user defined VTY Pool"; + } + } + description + "Name of user defined VTY Pool"; + } + leaf first-vty-number { + type uint32 { + range "5..109" { + description + "First VTY number"; + } + } + mandatory true; + description + "First VTY number"; + } + leaf last-vty-number { + type uint32 { + range "5..109" { + description + "Last VTY number"; + } + } + mandatory true; + description + "Last VTY number"; + } + leaf line-template { + type xr:Cisco-ios-xr-string { + length "1..800" { + description + "Name of line template"; + } + } + description + "Name of line template"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-watchd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-watchd-cfg.yang new file mode 100644 index 000000000..d98a177d4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-watchd-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-um-watchd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-watchd-cfg"; + prefix um-watchd-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR watchd package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-06-15 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container watchd { + description + "Watchdog configuration commands"; + leaf timeout { + type uint32 { + range "1..10" { + description + "Length of timeout in seconds"; + } + } + description + "Timeout"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-xml-agent-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-xml-agent-cfg.yang new file mode 100644 index 000000000..136a507c4 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-xml-agent-cfg.yang @@ -0,0 +1,508 @@ +module Cisco-IOS-XR-um-xml-agent-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-xml-agent-cfg"; + prefix um-xml-agent-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR xml-agent package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-05-10 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container xr-xml { + description + "Configuration for XML related services"; + container agent { + description + "Enable agent for XML requests"; + container enable { + presence "Indicates a agent node is configured."; + description + "Enable default agent for XML requests"; + } + container tty { + presence "Indicates a tty node is configured."; + description + "Enable tty agent for XML requests"; + container ipv4 { + description + "IPv4 Transport"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IPv4 Transport"; + } + } + container streaming { + description + "Streaming of the xml response"; + container on { + description + "Turn on the xml response streaming"; + leaf size { + type uint32 { + range "1..100000" { + description + "Size of the Streaming in Kbytes"; + } + } + description + "Streaming size of the xml response"; + } + } + } + container iteration { + description + "Iterator of the xml response"; + leaf size { + type union { + type uint32 { + range "1..100000" { + description + "Size of the Iteration in Kbytes (default 48 Kbytes)"; + } + } + type enumeration { + enum "off" { + value 0; + description + "Turn off the xml response iterator"; + } + } + } + description + "Iterator size of the xml response"; + } + } + container throttle { + description + "Configuration for throttling XML agent"; + leaf process-rate { + type uint32 { + range "1000..30000" { + description + "Number of tags to process per sec"; + } + } + description + "Process rate"; + } + leaf memory { + type uint32 { + range "100..1024" { + description + "Size of the memory usage in Mbytes per session (default 300 Mbytes)"; + } + } + description + "Memory usage"; + } + } + container session { + description + "session timeout for transport agents"; + leaf timeout { + type uint32 { + range "1..1440" { + description + "Timeout in minutes"; + } + } + description + "session timeout for agents"; + } + } + } + container ssl { + presence "Indicates a ssl node is configured."; + description + "Enable ssl agent for XML requests"; + container ipv4 { + description + "IPv4 Transport"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IPv4 Transport"; + } + } + container streaming { + description + "Streaming of the xml response"; + container on { + description + "Turn on the xml response streaming"; + leaf size { + type uint32 { + range "1..100000" { + description + "Size of the Streaming in Kbytes"; + } + } + description + "Streaming size of the xml response"; + } + } + } + container iteration { + description + "Iterator of the xml response"; + leaf size { + type union { + type uint32 { + range "1..100000" { + description + "Size of the Iteration in Kbytes (default 48 Kbytes)"; + } + } + type enumeration { + enum "off" { + value 0; + description + "Turn off the xml response iterator"; + } + } + } + description + "Iterator size of the xml response"; + } + } + container throttle { + description + "Configuration for throttling XML agent"; + leaf process-rate { + type uint32 { + range "1000..30000" { + description + "Number of tags to process per sec"; + } + } + description + "Process rate"; + } + leaf memory { + type uint32 { + range "100..1024" { + description + "Size of the memory usage in Mbytes per session (default 300 Mbytes)"; + } + } + description + "Memory usage"; + } + } + container session { + description + "session timeout for transport agents"; + leaf timeout { + type uint32 { + range "1..1440" { + description + "Timeout in minutes"; + } + } + description + "session timeout for agents"; + } + } + container vrfs { + description + "VRF configuration commands"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "VRF default"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF Name"; + } + pattern "[a-zA-Z0-9._-]+"; + } + } + description + "VRF name"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shutdown VRF default configuration"; + } + container ipv4 { + description + "IPv4 transport"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of access-list for IPv4 transport for xml agent."; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "IPv4 access list name"; + } + } + } + } + } + container ipv6 { + description + "IPv6 Transport"; + container enable { + presence "Indicates a enable node is configured."; + description + "Enable IPv6 Transport"; + } + } + container ipv4 { + description + "IPv4 Transport"; + container disable { + presence "Indicates a disable node is configured."; + description + "Disable IPv4 Transport"; + } + } + container streaming { + description + "Streaming of the xml response"; + container on { + description + "Turn on the xml response streaming"; + leaf size { + type uint32 { + range "1..100000" { + description + "Size of the Streaming in Kbytes"; + } + } + description + "Streaming size of the xml response"; + } + } + } + container iteration { + description + "Iterator of the xml response"; + leaf size { + type union { + type uint32 { + range "1..100000" { + description + "Size of the Iteration in Kbytes (default 48 Kbytes)"; + } + } + type enumeration { + enum "off" { + value 0; + description + "Turn off the xml response iterator"; + } + } + } + description + "Iterator size of the xml response"; + } + } + container throttle { + description + "Configuration for throttling XML agent"; + leaf process-rate { + type uint32 { + range "1000..30000" { + description + "Number of tags to process per sec"; + } + } + description + "Process rate"; + } + leaf memory { + type uint32 { + range "100..1024" { + description + "Size of the memory usage in Mbytes per session (default 300 Mbytes)"; + } + } + description + "Memory usage"; + } + } + container session { + description + "session timeout for transport agents"; + leaf timeout { + type uint32 { + range "1..1440" { + description + "Timeout in minutes"; + } + } + description + "session timeout for agents"; + } + } + container vrfs { + description + "VRF configuration commands"; + list vrf { + key "vrf-name"; + description + "VRF name"; + leaf vrf-name { + type union { + type string { + pattern "default" { + description + "VRF default"; + } + } + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "VRF Name"; + } + pattern "[a-zA-Z0-9._-]+"; + } + } + description + "VRF name"; + } + container shutdown { + presence "Indicates a shutdown node is configured."; + description + "Shutdown VRF default configuration"; + } + container ipv6 { + description + "IPv6 transport"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of access-list for IPv6 transport for xml agent."; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "IPv6 access list name"; + } + } + container ipv4 { + description + "IPv4 transport"; + leaf access-list { + type xr:Cisco-ios-xr-string { + length "1..32" { + description + "Name of access-list for IPv4 transport for xml agent."; + } + pattern "[a-z0-9A-Z][-_.:a-z0-9A-Z]*"; + } + description + "IPv4 access list name"; + } + } + } + } + } + } + container netconf { + description + "NETCONF configuration commands"; + container agent { + description + "NETCONF agent configuration commands"; + container tty { + presence "Indicates a tty node is configured."; + description + "Enable NETCONF agent over TTY"; + container throttle { + description + "Configuration for throttling NETCONF agent"; + leaf process-rate { + type uint32 { + range "1000..30000" { + description + "Number of tags to process per sec"; + } + } + description + "Process rate"; + } + leaf memory { + type uint32 { + range "100..1024" { + description + "Size of the memory usage in Mbytes per session (default 300 Mbytes)"; + } + } + description + "Memory usage"; + } + leaf offload-memory { + type uint32 { + range "0..12000" { + description + "Size of the memory that can be offloaded to clients(default 0 Mbytes)"; + } + } + description + "Memory offload to clients"; + } + } + container session { + description + "Session timeout for transport agents"; + leaf timeout { + type uint32 { + range "1..1440" { + description + "Timeout in minutes"; + } + } + description + "Session timeout for agents"; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-um-yang-server-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-um-yang-server-cfg.yang new file mode 100644 index 000000000..3f165be59 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-um-yang-server-cfg.yang @@ -0,0 +1,57 @@ +module Cisco-IOS-XR-um-yang-server-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-um-yang-server-cfg"; + prefix um-yang-server-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR yang-server package configuration. + + This YANG module augments the + modules with configuration data. + + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-04-28 { + description + "Initial release"; + semver:module-version "1.0.0"; + } + + container yang-server { + description + "yang-server configuration commands"; + leaf module-set { + type enumeration { + enum "UM-preferred" { + value 1; + description + "This set use as many unified native models as applicable"; + } + enum "XR-only" { + value 2; + description + "This set uses only old native models"; + } + } + description + "Use only the yang modules listed in a module-set."; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-upgrade-fpd-ng-act.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-upgrade-fpd-ng-act.yang new file mode 100644 index 000000000..1ddf1e8aa --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-upgrade-fpd-ng-act.yang @@ -0,0 +1,70 @@ +module Cisco-IOS-XR-upgrade-fpd-ng-act { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-upgrade-fpd-ng-act"; + prefix upgrade-fpd-act; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR upgrade-fpd package action data. + + This module contains definitions + for the following management objects: + fpd: Field programmable device (FPD) operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-10-01 { + description + "Made changes to be RFC6087 compliant"; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2017-04-04 { + description + "IOS XR 6.3.1 revision."; + } + + rpc upgrade-fpd { + description + "Execute FPD upgrade"; + input { + leaf location { + type string; + mandatory true; + description + "Location of the FPD to be upgraded"; + } + leaf fpd { + type string; + mandatory true; + description + "name of the fpd to be upgraded"; + } + leaf force { + type empty; + description + "Force the upgrade process"; + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-vether-mode-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-vether-mode-cfg.yang new file mode 100644 index 000000000..9300be05c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-vether-mode-cfg.yang @@ -0,0 +1,37 @@ +module Cisco-IOS-XR-vether-mode-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-vether-mode-cfg"; + prefix vether-mode-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR vether-mode package configuration. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-watchd-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-watchd-cfg.yang new file mode 100644 index 000000000..2891ef2c5 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-watchd-cfg.yang @@ -0,0 +1,213 @@ +module Cisco-IOS-XR-watchd-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-watchd-cfg"; + prefix watchd-cfg; + + import Cisco-IOS-XR-config-mda-cfg { + prefix node; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR watchd package configuration. + + This module contains definitions + for the following management objects: + watchdog: Watchdog configuration commands + watchd: Watchdog configuration commands + + This YANG module augments the + Cisco-IOS-XR-config-mda-cfg + module with configuration data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-10-12 { + description + "Descriptions updated."; + } + + grouping NODE-CFG { + description + "active/preconfigured nodes configuration"; + container watchdog-node-threshold { + description + "Watchdog threshold configuration"; + container disk-threshold { + description + "Disk thresholds"; + leaf minor { + type uint32 { + range "5..40"; + } + description + "Threshold, Range(5, 40)"; + } + leaf severe { + type uint32 { + range "4..40"; + } + description + "Threshold, Range(4, minor)"; + } + leaf critical { + type uint32 { + range "3..40"; + } + description + "Threshold, Range(3, severe)"; + } + } + container memory-threshold { + description + "Memory thresholds"; + leaf minor { + type uint32 { + range "5..40"; + } + description + "Threshold, Range(5, 40)"; + } + leaf severe { + type uint32 { + range "4..40"; + } + description + "Threshold, Range(4, minor)"; + } + leaf critical { + type uint32 { + range "3..40"; + } + description + "Threshold, Range(3, severe)"; + } + } + } + } + + augment "/node:active-nodes/node:active-node" { + description + "This augment extends active nodes configuration"; + uses NODE-CFG; + } + augment "/node:preconfigured-nodes/node:preconfigured-node" { + description + "This augment extends preconfigured nodes + configuration"; + uses NODE-CFG; + } + container watchdog { + description + "Watchdog configuration commands"; + container threshold-memory { + description + "Memory thresholds"; + leaf minor { + type uint32 { + range "5..40"; + } + description + "Threshold, Range (5, 40)"; + } + leaf severe { + type uint32 { + range "4..40"; + } + description + "Threshold, Range (4, minor)"; + } + leaf critical { + type uint32 { + range "3..40"; + } + description + "Threshold, Range (3, severe)"; + } + } + container disk-limit { + description + "Disk thresholds"; + leaf minor { + type uint32 { + range "5..40"; + } + description + "Threshold, Range (5, 40)"; + } + leaf severe { + type uint32 { + range "4..40"; + } + description + "Threshold, Range (4, minor)"; + } + leaf critical { + type uint32 { + range "3..40"; + } + description + "Threshold, Range (3, severe)"; + } + } + leaf overload-notification { + type empty; + description + "Disable critical event notification"; + } + leaf restart-deadlock-disable { + type empty; + description + "Disable watchdog restart deadlock"; + } + leaf restart-memoryhog-disable { + type empty; + description + "Disable watchdog restart memory-hog"; + } + leaf overload-throttle-timeout { + type uint32 { + range "5..120"; + } + units "second"; + description + "Watchdog overload throttle timeout configuration"; + } + } + container watchd { + description + "Watchdog configuration commands"; + leaf timeout { + type uint32 { + range "1..10"; + } + units "second"; + description + "Length of timeout in seconds"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1.yang new file mode 100644 index 000000000..5e7df4605 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1.yang @@ -0,0 +1,70 @@ +submodule Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1 { + belongs-to Cisco-IOS-XR-wd-death-notif-configured-proc-oper { + prefix Cisco-IOS-XR-wd-death-notif-configured-proc-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR wd-death-notif-configured-proc package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef String1 { + type string; + description + "String1"; + } + + grouping PROCESS-LIST { + description + "list of processes"; + leaf-list process-name { + type String1; + description + "process name"; + } + } + + grouping CONFIGURED-PROC-INFO-BAG { + description + "Count of the processes configured for death + notification"; + container processes { + description + "List of processes"; + uses PROCESS-LIST; + } + leaf count { + type uint32; + description + "Configured Process Count"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper.yang new file mode 100644 index 000000000..9161b518c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-death-notif-configured-proc-oper.yang @@ -0,0 +1,73 @@ +module Cisco-IOS-XR-wd-death-notif-configured-proc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-wd-death-notif-configured-proc-oper"; + prefix wd-death-notif-configured-proc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR wd-death-notif-configured-proc package operational data. + + This module contains definitions + for the following management objects: + process-death-notification: Process death notification + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container process-death-notification { + config false; + description + "Process death notification"; + container processes-configured { + description + "Processes configured to receive death + notification"; + container nodes { + description + "Table for per-node configured process data"; + list node { + key "node"; + description + "Per node configured process data"; + leaf node { + type xr:Node-id; + description + "Node location"; + } + uses CONFIGURED-PROC-INFO-BAG; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper-sub1.yang new file mode 100644 index 000000000..acc9983a2 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper-sub1.yang @@ -0,0 +1,225 @@ +submodule Cisco-IOS-XR-wd-oper-sub1 { + belongs-to Cisco-IOS-XR-wd-oper { + prefix Cisco-IOS-XR-wd-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR wd package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Overload-ctrl-notif { + type enumeration { + enum "disabled" { + description + "Diabled"; + } + enum "enabled" { + description + "Enabled"; + } + } + description + "Overload control notification"; + } + + typedef Memory-state { + type enumeration { + enum "unknown" { + value 0; + description + "Memory state unknown"; + } + enum "normal" { + value 1; + description + "Memory state normal"; + } + enum "minor" { + value 2; + description + "Memory state minor"; + } + enum "severe" { + value 3; + description + "Memory state severe"; + } + enum "critical" { + value 4; + description + "Memory state critical"; + } + } + description + "Memory state options"; + } + + grouping LAST-THR-INFO { + description + "Last throttle details"; + leaf throttle-duration { + type uint32; + units "second"; + description + "Last throttle duration in seconds"; + } + leaf start-time { + type string { + length "0..25"; + } + description + "Last throttle start time in format :day-of-week + month date-of-month HH:MM:SS year eg: Thu Feb 1 + 18:32:14 2011"; + } + leaf stop-time { + type string { + length "0..25"; + } + description + "Last throttle stop time in format :day-of-week + month date-of-month HH:MM:SS year eg: Thu Feb 1 + 18:32:14 2011"; + } + } + + grouping CUR-THR-INFO { + description + "Current throttle details"; + leaf throttle-duration { + type uint32; + units "second"; + description + "Current throttle duration in seconds"; + } + leaf start-time { + type string { + length "0..25"; + } + description + "Current throttle start time in format + :day-of-week month date-of-month HH:MM:SS year + eg: Thu Feb 1 18:32:14 2011"; + } + } + + grouping OVERLOAD-CONTROL { + description + "Overload control state information"; + container current-throttle { + description + "Current throttle information"; + uses CUR-THR-INFO; + } + leaf overload-control-notification { + type Overload-ctrl-notif; + description + "State of overload control notification"; + } + leaf default-wdsysmon-throttle { + type uint32; + description + "Default resmon throttle"; + } + leaf configured-wdsysmon-throttle { + type uint32; + description + "Configured resmon throttle"; + } + list last-throttle { + max-elements "20"; + description + "Last throttle information"; + uses LAST-THR-INFO; + } + } + + grouping MEMORY-DETAILS { + description + "Memory information"; + leaf physical-memory { + type uint32; + units "byte"; + description + "Physical memory in bytes"; + } + leaf free-memory { + type uint64; + units "byte"; + description + "Free memory in bytes"; + } + leaf memory-state { + type Memory-state; + description + "State of memory"; + } + } + + grouping CONF-MEM-THRESHOLD { + description + "Configured memory threshold"; + leaf minor { + type uint32; + units "byte"; + description + "Minor memory threshold in bytes"; + } + leaf severe { + type uint32; + units "byte"; + description + "Severe memory threshold in bytes"; + } + leaf critical { + type uint64; + units "byte"; + description + "Critical memory in bytes"; + } + } + + grouping MEMORY-THRESHOLD { + description + "Memory threshold"; + container configured-memory { + description + "Configured memory"; + uses CONF-MEM-THRESHOLD; + } + container memory { + description + "Memory Information"; + uses MEMORY-DETAILS; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper.yang new file mode 100644 index 000000000..36c3aac9c --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-oper.yang @@ -0,0 +1,91 @@ +module Cisco-IOS-XR-wd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-wd-oper"; + prefix wd-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-wd-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR wd package operational data. + + This module contains definitions + for the following management objects: + watchdog: Watchdog information + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.1"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container watchdog { + config false; + description + "Watchdog information"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Node ID"; + container threshold-memory { + description + "Threshold memory"; + container default { + description + "System default memory"; + uses MEMORY-THRESHOLD; + } + container configured { + description + "Memory configured by user"; + uses CONF-MEM-THRESHOLD; + } + } + container memory-state { + description + "Memory state"; + uses MEMORY-DETAILS; + } + container overload-state { + description + "Display overload control state"; + uses OVERLOAD-CONTROL; + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-cfg.yang new file mode 100644 index 000000000..49de92bf6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-cfg.yang @@ -0,0 +1,106 @@ +module Cisco-IOS-XR-wd-proc-state-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-wd-proc-state-cfg"; + prefix wd-proc-state-cfg; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + import Cisco-IOS-XR-config-mda-cfg { + prefix a1; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR wd-proc-state package configuration. + + This module contains definitions + for the following management objects: + process-state-monitor: Watchdog Root + + This YANG module augments the + Cisco-IOS-XR-config-mda-cfg + module with configuration data. + + Copyright (c) 2013-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-01-24 { + description + "Using common class to link to /cfg/node/act/"; + semver:module-version "1.0.1M"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + augment "/a1:active-nodes/a1:active-node" { + description + "This augment extends the configuration data of + 'Cisco-IOS-XR-config-mda-cfg'"; + container process-state-monitor { + description + "Monitor process for death notification"; + container process-names { + description + "Process Names"; + list process-name { + key "process-name"; + description + "Process Name"; + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Name of the process"; + } + } + } + } + } + container process-state-monitor { + description + "Watchdog Root"; + container location { + description + "Location where the process is monitored"; + container all { + description + "Processes configured under all"; + container process-names { + description + "Process Names"; + list process-name { + key "process-name"; + description + "Process Name"; + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Name of the process"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper-sub1.yang new file mode 100644 index 000000000..93da4c7f0 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper-sub1.yang @@ -0,0 +1,70 @@ +submodule Cisco-IOS-XR-wd-proc-state-oper-sub1 { + belongs-to Cisco-IOS-XR-wd-proc-state-oper { + prefix Cisco-IOS-XR-wd-proc-state-oper; + } + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR wd-proc-state package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping PROCESS-DEATH-INFO-BAG { + description + "Detail of process death event"; + leaf location { + type string; + description + "Location where process death occured"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf process-name { + type string; + description + "Process Name"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf pid { + type uint32; + description + "Process PID"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + leaf jid { + type uint32; + description + "Process JobID"; + xr:event-telemetry "Subscribe Telemetry Event"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper.yang new file mode 100644 index 000000000..8860eb9ba --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wd-proc-state-oper.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XR-wd-proc-state-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-wd-proc-state-oper"; + prefix wd-proc-state-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-wd-proc-state-oper-sub1 { + revision-date 2019-04-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR wd-proc-state package operational data. + + This module contains definitions + for the following management objects: + process-death-notification: Process death notification + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container process-death-notification { + config false; + description + "Process death notification"; + container process-death-info { + description + "Details of process death event"; + uses PROCESS-DEATH-INFO-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper-sub1.yang new file mode 100644 index 000000000..38be6f1b6 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper-sub1.yang @@ -0,0 +1,153 @@ +submodule Cisco-IOS-XR-wdsysmon-fd-oper-sub1 { + belongs-to Cisco-IOS-XR-wdsysmon-fd-oper { + prefix Cisco-IOS-XR-wdsysmon-fd-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR wdsysmon-fd package operational data. + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-07-05 { + description + "IOS XR 7.0.1 revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-08-15 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-08-15 { + description + "IOS XR 5.3.2 revision."; + } + + grouping THREAD-CPU-UTIL { + description + "Thread CPU utilization information"; + leaf thread-name { + type string; + description + "Thread name"; + } + leaf thread-id { + type uint32; + description + "Thread ID"; + } + leaf process-cpu-one-minute { + type uint32; + units "percentage"; + description + "Thread CPU utilization in percent for past 1 + minute"; + } + leaf process-cpu-five-minute { + type uint32; + units "percentage"; + description + "Thread CPU utilization in percent for past 5 + minute"; + } + leaf process-cpu-fifteen-minute { + type uint32; + units "percentage"; + description + "Thread CPU utilization in percent for past 15 + minute"; + } + } + + grouping PROCESS-CPU-UTIL { + description + "Process CPU utilization information"; + leaf process-name { + type string; + description + "Process name"; + } + leaf process-id { + type uint32; + description + "Process ID"; + } + leaf process-cpu-one-minute { + type uint32; + units "percentage"; + description + "Process CPU utilization in percent for past 1 + minute"; + } + leaf process-cpu-five-minute { + type uint32; + units "percentage"; + description + "Process CPU utilization in percent for past 5 + minute"; + } + leaf process-cpu-fifteen-minute { + type uint32; + units "percentage"; + description + "Process CPU utilization in percent for past 15 + minute"; + } + list thread-cpu { + description + "Threads Per process CPU utilization"; + uses THREAD-CPU-UTIL; + } + } + + grouping NODE-CPU-UTIL { + description + "Node CPU utilization information"; + leaf total-cpu-one-minute { + type uint32; + description + "Total CPU utilization in past 1 minute"; + } + leaf total-cpu-five-minute { + type uint32; + description + "Total CPU utilization in past 5 minute"; + } + leaf total-cpu-fifteen-minute { + type uint32; + description + "Total CPU utilization in past 15 minute"; + } + list process-cpu { + description + "Per process CPU utilization"; + uses PROCESS-CPU-UTIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper.yang new file mode 100644 index 000000000..f17e5e9fc --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-oper.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XR-wdsysmon-fd-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-oper"; + prefix wdsysmon-fd-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-wdsysmon-fd-oper-sub1 { + revision-date 2019-07-05; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR wdsysmon-fd package operational data. + + This module contains definitions + for the following management objects: + system-monitoring: Processes operational data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-07-05 { + description + "IOS XR 7.0.1 revision."; + semver:module-version "1.1.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + revision 2015-08-15 { + description + "IOS XR 5.3.2 revision."; + } + revision 2015-08-15 { + description + "IOS XR 5.3.2 revision."; + } + + container system-monitoring { + config false; + description + "Processes operational data"; + list cpu-utilization { + key "node-name"; + description + "Processes CPU utilization information"; + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + uses NODE-CPU-UTIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1.yang new file mode 100644 index 000000000..c29813bee --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1.yang @@ -0,0 +1,144 @@ +submodule Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1 { + belongs-to Cisco-IOS-XR-wdsysmon-fd-proc-oper { + prefix Cisco-IOS-XR-wdsysmon-fd-proc-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR wdsysmon-fd-proc package operational data. + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-19 { + description + "Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + grouping THREAD-CPU-UTIL { + description + "Thread CPU utilization information"; + leaf thread-name { + type string; + description + "Thread name"; + } + leaf thread-id { + type uint32; + description + "Thread ID"; + } + leaf process-cpu-one-minute { + type uint32; + units "percentage"; + description + "Thread CPU utilization in percent for past 1 + minute"; + } + leaf process-cpu-five-minute { + type uint32; + units "percentage"; + description + "Thread CPU utilization in percent for past 5 + minute"; + } + leaf process-cpu-fifteen-minute { + type uint32; + units "percentage"; + description + "Thread CPU utilization in percent for past 15 + minute"; + } + } + + grouping PROCESS-CPU-UTIL { + description + "Process CPU utilization information"; + leaf process-name { + type string; + description + "Process name"; + } + leaf process-id { + type uint32; + description + "Process ID"; + } + leaf process-cpu-one-minute { + type uint32; + units "percentage"; + description + "Process CPU utilization in percent for past 1 + minute"; + } + leaf process-cpu-five-minute { + type uint32; + units "percentage"; + description + "Process CPU utilization in percent for past 5 + minute"; + } + leaf process-cpu-fifteen-minute { + type uint32; + units "percentage"; + description + "Process CPU utilization in percent for past 15 + minute"; + } + list thread-cpu { + description + "Threads Per process CPU utilization"; + uses THREAD-CPU-UTIL; + } + } + + grouping NODE-CPU-UTIL { + description + "Node CPU utilization information"; + leaf total-cpu-one-minute { + type uint32; + description + "Total CPU utilization in past 1 minute"; + } + leaf total-cpu-five-minute { + type uint32; + description + "Total CPU utilization in past 5 minute"; + } + leaf total-cpu-fifteen-minute { + type uint32; + description + "Total CPU utilization in past 15 minute"; + } + list process-cpu { + description + "Per process CPU utilization"; + uses PROCESS-CPU-UTIL; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang new file mode 100644 index 000000000..575cce38e --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-wdsysmon-fd-proc-oper.yang @@ -0,0 +1,90 @@ +module Cisco-IOS-XR-wdsysmon-fd-proc-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-proc-oper"; + prefix wdsysmon-fd-proc-oper; + + import Cisco-IOS-XR-types { + prefix xr; + } + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1 { + revision-date 2020-04-19; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR wdsysmon-fd-proc package operational data. + + This module contains definitions + for the following management objects: + process-monitoring: Processes operational data + + Copyright (c) 2013-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-04-19 { + description + "Initial version."; + semver:module-version "1.0.0"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container process-monitoring { + config false; + description + "Processes operational data"; + container nodes { + description + "List of nodes"; + list node { + key "node-name"; + description + "Node ID"; + container process-name { + description + "Process information"; + container proc-cpu-utilizations { + description + "Process information"; + list proc-cpu-utilization { + key "process-name"; + description + "Process CPU utilization information"; + leaf process-name { + type xr:Cisco-ios-xr-string; + description + "Process name"; + } + uses NODE-CPU-UTIL; + } + } + } + leaf node-name { + type xr:Node-id; + description + "Node name"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-cfg.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-cfg.yang new file mode 100644 index 000000000..6c98c3cae --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-cfg.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XR-ztp-cfg { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ztp-cfg"; + prefix ztp-cfg; + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ztp package configuration. + + This module contains definitions + for the following management objects: + ztp: ZTP configuration data + + Copyright (c) 2013-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ztp { + description + "ZTP configuration data"; + leaf usb-boot { + type empty; + description + "Enable ZTP USB boot"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper-sub1.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper-sub1.yang new file mode 100644 index 000000000..f719c0418 --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper-sub1.yang @@ -0,0 +1,159 @@ +submodule Cisco-IOS-XR-ztp-oper-sub1 { + belongs-to Cisco-IOS-XR-ztp-oper { + prefix Cisco-IOS-XR-ztp-oper; + } + + import cisco-semver { + prefix semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This submodule contains a collection of YANG definitions + for Cisco IOS-XR ztp package operational data. + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-02 { + description + "Added breakout mode information."; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + typedef Ztp-state { + type enumeration { + enum "success" { + value 0; + description + "ZTP was successful"; + } + enum "failure" { + value 1; + description + "ZTP has failed due to internal error"; + } + enum "terminated" { + value 2; + description + "ZTP has terminated"; + } + enum "initializing" { + value 3; + description + "ZTP has started and currently in-progress"; + } + enum "discovery" { + value 4; + description + "ZTP is trying to discover the provisioning file + source"; + } + enum "fetching" { + value 5; + description + "ZTP is fetching the provisioning data"; + } + enum "provisioning" { + value 6; + description + "ZTP is provisioning the device"; + } + } + description + "ZTP state type"; + } + + typedef Ztp-vlan-discovery { + type enumeration { + enum "dynamic" { + value 0; + description + "ZTP will snoop VLAN IDs in the network"; + } + enum "static" { + value 1; + description + "ZTP will use VLAN IDs configured in ztp.ini"; + } + enum "disabled" { + value 2; + description + "Vlan discovery is disabled"; + } + } + description + "ZTP vlan discovery type"; + } + + grouping ZTP-STATUS-BAG { + description + "ZTP status"; + leaf state { + type Ztp-state; + description + "ZTP state"; + } + leaf fetcher { + type string; + description + "Current fetcher name"; + } + } + + grouping ZTP-INFO-BAG { + description + "ZTP information"; + leaf is-enabled { + type boolean; + description + "Is ZTP enabled"; + } + leaf is-secure { + type boolean; + description + "Is ZTP secure mode enabled"; + } + leaf vlan-discovery { + type Ztp-vlan-discovery; + description + "ZTP Vlan discovery mode - static, dynamic or + disabled"; + } + leaf is-breakout-enabled { + type boolean; + description + "Will ZTP breakout down interfaces"; + } + leaf is-retry-enabled { + type boolean; + description + "Will ZTP keep retrying"; + } + leaf fetchers { + type string; + description + "ZTP fetchers ordered based on priority"; + } + } +} diff --git a/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper.yang b/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper.yang new file mode 100644 index 000000000..96b9dc66f --- /dev/null +++ b/vendor/cisco/xr/755/Cisco-IOS-XR-ztp-oper.yang @@ -0,0 +1,65 @@ +module Cisco-IOS-XR-ztp-oper { + namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ztp-oper"; + prefix ztp-oper; + + import cisco-semver { + prefix semver; + } + include Cisco-IOS-XR-ztp-oper-sub1 { + revision-date 2021-09-02; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS-XR ztp package operational data. + + This module contains definitions + for the following management objects: + ztp: ZTP operational data + + Copyright (c) 2013-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-09-02 { + description + "Added breakout mode information."; + semver:module-version "1.0.1m"; + } + revision 2019-04-05 { + description + "Establish semantic version baseline."; + semver:module-version "1.0.0"; + } + revision 2015-11-09 { + description + "IOS XR 6.0 revision."; + } + + container ztp { + config false; + description + "ZTP operational data"; + container information { + description + "ZTP information"; + uses ZTP-INFO-BAG; + } + container status { + description + "ZTP Status"; + uses ZTP-STATUS-BAG; + } + } +} diff --git a/vendor/cisco/xr/755/README.md b/vendor/cisco/xr/755/README.md new file mode 100644 index 000000000..5fb0ac3bc --- /dev/null +++ b/vendor/cisco/xr/755/README.md @@ -0,0 +1,49 @@ +## YANG Models for Cisco IOS-XR 7.5.5 + +The YANG files in this directory detail the YANG models and deviations supported by IOS-XR 7.5.5 releases. The schemas here may also be retrieved from devices running IOS-XR 7.5.5 by using the NETCONF "get-schema" RPC as detailed in Section 3.1 of RFC 6022. + +## Cisco NSO Cisco IOS XR NETCONF NED +Release 7.5.5 NSO NETCONF NED for IOS-XR can be downloaded from the [XR NETCONF NED](https://software.cisco.com/download/redirect?config=d92586785e0ce5e7910f96ea1339da1c) site. + +### OpenConfig and IETF Model Inclusion + +For ease of reference, the IOS-XR 7.5.5 models in this directory also include copies of the revisions of OpenConfig and IETF model files used by IOS-XR 7.5.5. It should be noted that compilation of the OpenConfig models using the [check-models.sh](check-models.sh) script will result in errors being listed. Cisco has chosen **not** to modify these models to allow error-free compilation. + +### Compliance With "pyang --lint" + +The native YANG 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. + +### Revision Statements + +From IOS-XR 5.3.2 and onwards, the revision statements embedded in the YANG files **should** accurately reflect whether or not a new revision has been introduced. However, there are some bugs. These will be noted by running the ```check-models.sh``` script with the ```-b``` option. + +### Backwards Compatibility Issues + +It should be noted that some of the modules released in IOS-XR 7.5.5 may break the backwards compatibility guidelines defined in RFC 6020 when compared to the same modules released in IOS-XR 7.5.4. This is because the "native" YANG modules for IOS-XR are generated from internal schema files that are an integral part of the implementation, and, as such, these can change in ways that break backwards compatibility per RFC 6020 guidelines when new features are introduced or when bugs are fixed. Thus, while we rigorously review the changes that impact the external YANG schema, Cisco cannot guarantee full backwards compatibility of these modules across releases. + +However, when new versions of the native models are released, the [```check-models.sh```](check-models.sh) script, in conjunction with pyang, can be used to determine what technically incompatible changes may have occurred. Please run ```check.sh``` from this directory with pyang 2.1.1 or greater on your path thus: + +``` +$ ./check-models.sh -b 754 +``` + +The script will check basic compilation using pyang (some open modules will be reported missing unless you include them on your pyang module path) and then run backwards compatibility checks against the model in the `../754` directory. Directories other than 754 may be specified. + +#### The BIC subdirectory + +All the model specific backward incompatible changes have been documented in [Backward Incompatible Changes](BIC). + +### Unified Models + +CLI-based YANG models are generated from the Cisco XR CLI and refined manually. We continue our journey replacing native device models. In 7.5.5, 245 UM models are released. Unified Models have the naming convention with the '-um-' designation: 'Cisco-IOS-XR-um-<feature>.yang'. + +### Semantic Version + +In the 7.0.1 release, semantic version is included in each model. +Semantic version updates can be found in the release 7.5.5. This is in final development stage. Methodology and workflow are still undergoing much refinements. We are expecting consolidation in the release 7.11.1 timeframe. + +Semantic version update method can be found in the following general references: + +https://datatracker.ietf.org/doc/draft-verdt-netmod-yang-semver +https://semver.org + diff --git a/vendor/cisco/xr/755/capabilities-8000.xml b/vendor/cisco/xr/755/capabilities-8000.xml new file mode 100644 index 000000000..de67d2f98 --- /dev/null +++ b/vendor/cisco/xr/755/capabilities-8000.xml @@ -0,0 +1,877 @@ + + + + http://cisco.com/ns/yang/Cisco-IOS-XR-custom-showtech-profile-cfg?module=Cisco-IOS-XR-custom-showtech-profile-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-oam-cfg?module=Cisco-IOS-XR-um-mpls-oam-cfg&revision=2022-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-pwrmgmt-action-cfg?module=Cisco-IOS-XR-pwrmgmt-action-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-cfg?module=Cisco-IOS-XR-ip-iarm-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iep-oper?module=Cisco-IOS-XR-ip-iep-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-te-cfg?module=Cisco-IOS-XR-um-mpls-te-cfg&revision=2022-10-21 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-01-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-redundancy-cfg?module=Cisco-IOS-XR-um-traps-entity-redundancy-cfg&revision=2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-pbr-policy-cfg?module=Cisco-IOS-XR-um-pbr-policy-cfg&revision=2021-05-10 + http://openconfig.net/yang/platform/psu?module=openconfig-platform-psu&revision=2018-11-21&deviations=cisco-xr-openconfig-platform-psu-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2-ethernet-cfg?module=Cisco-IOS-XR-um-l2-ethernet-cfg&revision=2022-03-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-oper?module=Cisco-IOS-XR-manageability-perfmgmt-oper&revision=2020-11-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-pbr-cfg?module=Cisco-IOS-XR-um-pbr-cfg&revision=2021-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-clear-inconsistency-act?module=Cisco-IOS-XR-cfgmgr-clear-inconsistency-act&revision=2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg?module=Cisco-IOS-XR-aaa-lib-cfg&revision=2020-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-admin-oper?module=Cisco-IOS-XR-ip-ntp-admin-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-oper?module=Cisco-IOS-XR-pmengine-oper&revision=2021-12-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-hostname-cfg?module=Cisco-IOS-XR-um-hostname-cfg&revision=2021-04-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-v4-oper?module=Cisco-IOS-XR-ip-iarm-v4-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-act?module=Cisco-IOS-XR-ipv4-ospf-act&revision=2020-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-ssh-cfg?module=Cisco-IOS-XR-crypto-ssh-cfg&revision=2022-09-26 + http://openconfig.net/yang/macsec?module=openconfig-macsec&revision=2020-05-01&deviations=cisco-xr-openconfig-macsec-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-cfg?module=Cisco-IOS-XR-perf-meas-cfg&revision=2021-11-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-tunnel-cfg?module=Cisco-IOS-XR-um-if-tunnel-cfg&revision=2022-08-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-telemetry-model-driven-cfg?module=Cisco-IOS-XR-telemetry-model-driven-cfg&revision=2021-04-11 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-cfg?module=Cisco-IOS-XR-infra-statsd-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-host-loopback-cfg?module=Cisco-IOS-XR-um-cont-optics-host-loopback-cfg&revision=2023-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-clock-cfg?module=Cisco-IOS-XR-um-clock-cfg&revision=2020-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg?module=Cisco-IOS-XR-crypto-mibs-ipsecflowmon-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-ipsla-cfg?module=Cisco-IOS-XR-um-traps-ipsla-cfg&revision=2021-05-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-script-cfg?module=Cisco-IOS-XR-um-script-cfg&revision=2022-10-18 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2020-03-24 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-06-16&deviations=cisco-xr-openconfig-bfd-deviations + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2020-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-correlator-oper?module=Cisco-IOS-XR-infra-correlator-oper&revision=2019-04-05 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2019-10-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-oper?module=Cisco-IOS-XR-lib-keychain-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mab-oper?module=Cisco-IOS-XR-mab-oper&revision=2022-03-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-fib-common-cfg?module=Cisco-IOS-XR-fib-common-cfg&revision=2021-12-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-bng-cfg?module=Cisco-IOS-XR-pbr-bng-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-act?module=Cisco-IOS-XR-infra-script-mgmt-act&revision=2021-10-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-mediasvr-linux-oper?module=Cisco-IOS-XR-mediasvr-linux-oper&revision=2020-07-11 + http://openconfig.net/yang/platform/transceiver?module=openconfig-platform-transceiver&revision=2018-11-25&deviations=cisco-xr-openconfig-platform-transceiver-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-um-multicast-routing-cfg?module=Cisco-IOS-XR-um-multicast-routing-cfg&revision=2021-09-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg?module=Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg&revision=2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-ceredundancymib-cfg?module=Cisco-IOS-XR-infra-ceredundancymib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-mka-if-cfg?module=Cisco-IOS-XR-crypto-macsec-mka-if-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dhcp-ipv4-cfg?module=Cisco-IOS-XR-um-dhcp-ipv4-cfg&revision=2021-01-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-otu-cfg?module=Cisco-IOS-XR-controller-otu-cfg&revision=2020-07-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-rsvp-cfg?module=Cisco-IOS-XR-um-rsvp-cfg&revision=2022-08-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-sandbox-oper?module=Cisco-IOS-XR-sandbox-oper&revision=2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-cfg?module=Cisco-IOS-XR-infra-xtc-cfg&revision=2021-09-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-datatypes?module=Cisco-IOS-XR-mpls-te-datatypes&revision=2022-08-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-act?module=Cisco-IOS-XR-ethernet-cfm-act&revision=2020-11-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rsi-cfg?module=Cisco-IOS-XR-infra-rsi-cfg&revision=2020-08-12 + urn:ietf:params:xml:ns:yang:ietf-netconf-acm?module=ietf-netconf-acm&revision=2018-02-14&deviations=cisco-xr-ietf-netconf-acm-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-bundlemgr-cfg?module=Cisco-IOS-XR-bundlemgr-cfg&revision=2021-03-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-icmp-cfg?module=Cisco-IOS-XR-ip-icmp-cfg&revision=2020-08-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-oper?module=Cisco-IOS-XR-wdsysmon-fd-oper&revision=2019-07-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-telemetry-model-driven-oper?module=Cisco-IOS-XR-telemetry-model-driven-oper&revision=2021-09-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-proc-oper?module=Cisco-IOS-XR-wdsysmon-fd-proc-oper&revision=2020-04-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-otu-cfg?module=Cisco-IOS-XR-um-cont-otu-cfg&revision=2021-05-07 + http://openconfig.net/yang/rsvp-sr-ext?module=openconfig-rsvp-sr-ext&revision=2017-03-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entitymib-oper?module=Cisco-IOS-XR-snmp-entitymib-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-fsdb-server-oper?module=Cisco-IOS-XR-fabric-fsdb-server-oper&revision=2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cdp-cfg?module=Cisco-IOS-XR-um-cdp-cfg&revision=2020-09-03 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2021-07-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-cfg?module=Cisco-IOS-XR-es-acl-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-oam-cfg?module=Cisco-IOS-XR-mpls-oam-cfg&revision=2019-05-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-rsvp-cfg?module=Cisco-IOS-XR-um-traps-rsvp-cfg&revision=2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-fsdbagg-cfg?module=Cisco-IOS-XR-fsdbagg-cfg&revision=2021-09-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-arp-cfg?module=Cisco-IOS-XR-um-arp-cfg&revision=2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-cfg?module=Cisco-IOS-XR-um-cont-optics-cfg&revision=2021-12-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-oper?module=Cisco-IOS-XR-aaa-locald-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-cfm-cfg?module=Cisco-IOS-XR-um-ethernet-cfm-cfg&revision=2021-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-bulkstat-cfg?module=Cisco-IOS-XR-um-traps-bulkstat-cfg&revision=2021-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-rip-cfg?module=Cisco-IOS-XR-um-router-rip-cfg&revision=2022-01-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-dhcpd-cfg?module=Cisco-IOS-XR-ipv4-dhcpd-cfg&revision=2021-06-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-cfg?module=Cisco-IOS-XR-lib-keychain-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-bridgemib-cfg?module=Cisco-IOS-XR-um-traps-bridgemib-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-sandbox-cfg?module=Cisco-IOS-XR-sandbox-cfg&revision=2023-01-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-cfg?module=Cisco-IOS-XR-tty-management-cfg&revision=2020-10-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-system-reboot-act?module=Cisco-IOS-XR-system-reboot-act&revision=2020-07-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-stm-cfg?module=Cisco-IOS-XR-um-cont-stm-cfg&revision=2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-iidmgr-cfg?module=Cisco-IOS-XR-um-iidmgr-cfg&revision=2021-06-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-mld-oper?module=Cisco-IOS-XR-mld-oper&revision=2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-cnbng-nal-act?module=Cisco-IOS-XR-cnbng-nal-act&revision=2021-08-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg?module=Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg&revision=2021-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-hsrp-cfg?module=Cisco-IOS-XR-um-router-hsrp-cfg&revision=2021-03-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-healthcheck-cfg?module=Cisco-IOS-XR-healthcheck-cfg&revision=2023-01-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-telnet-cfg?module=Cisco-IOS-XR-um-telnet-cfg&revision=2020-09-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-cfg?module=Cisco-IOS-XR-ip-ntp-cfg&revision=2021-09-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-syslogmib-cfg?module=Cisco-IOS-XR-snmp-syslogmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-gre-datatypes?module=Cisco-IOS-XR-tunnel-gre-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2rib-cfg?module=Cisco-IOS-XR-l2rib-cfg&revision=2019-09-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-wd-proc-state-cfg?module=Cisco-IOS-XR-wd-proc-state-cfg&revision=2022-01-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-frequency-synchronization-cfg?module=Cisco-IOS-XR-um-frequency-synchronization-cfg&revision=2021-08-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-bgp-cfg?module=Cisco-IOS-XR-um-router-bgp-cfg&revision=2022-09-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-cfg?module=Cisco-IOS-XR-sysmgr-cfg&revision=2019-10-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-ipv6-oper?module=Cisco-IOS-XR-ip-static-ipv6-oper&revision=2023-06-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-restconf-cfg?module=Cisco-IOS-XR-man-restconf-cfg&revision=2019-04-05 + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2020-11-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-oper?module=Cisco-IOS-XR-lmp-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-platform-oper?module=Cisco-IOS-XR-platform-oper&revision=2020-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-cfg?module=Cisco-IOS-XR-ip-static-cfg&revision=2022-10-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-vty-pool-cfg?module=Cisco-IOS-XR-um-vty-pool-cfg&revision=2022-10-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-oper?module=Cisco-IOS-XR-tty-management-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-vpn-cfg?module=Cisco-IOS-XR-mpls-vpn-cfg&revision=2019-05-12 + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2021-07-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-ether-cfg?module=Cisco-IOS-XR-um-cont-ether-cfg&revision=2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-vrf-cfg?module=Cisco-IOS-XR-um-vrf-cfg&revision=2021-07-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-appmgr-cfg?module=Cisco-IOS-XR-um-appmgr-cfg&revision=2021-06-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rsvp-oper?module=Cisco-IOS-XR-ip-rsvp-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-oper?module=Cisco-IOS-XR-ipv6-acl-oper&revision=2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipv4-cfg?module=Cisco-IOS-XR-um-if-ipv4-cfg&revision=2020-10-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-exec-timeout-cfg?module=Cisco-IOS-XR-um-line-exec-timeout-cfg&revision=2020-09-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-cfg?module=Cisco-IOS-XR-infra-policymgr-cfg&revision=2021-12-02 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2020-01-09 + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-mibs-cfg?module=Cisco-IOS-XR-config-mibs-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-netflow-oper?module=Cisco-IOS-XR-ofa-netflow-oper&revision=2019-08-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oper?module=Cisco-IOS-XR-ipv4-bgp-oper&revision=2023-07-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg?module=Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg&revision=2022-08-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-linux-networking-cfg?module=Cisco-IOS-XR-um-linux-networking-cfg&revision=2020-10-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-show-line-oper?module=Cisco-IOS-XR-tty-show-line-oper&revision=2021-08-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-pfilter-cfg?module=Cisco-IOS-XR-ip-pfilter-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-sensormib-cfg?module=Cisco-IOS-XR-um-mibs-sensormib-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-oper?module=Cisco-IOS-XR-mpls-ldp-oper&revision=2023-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-fan-control-cfg?module=Cisco-IOS-XR-optics-fan-control-cfg&revision=2021-07-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-qos-mibs-cfg?module=Cisco-IOS-XR-qos-mibs-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-ltrace-cfg?module=Cisco-IOS-XR-infra-ltrace-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-datatypes?module=Cisco-IOS-XR-ipv4-acl-datatypes&revision=2021-09-20 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-media-type-cfg?module=Cisco-IOS-XR-optics-media-type-cfg&revision=2021-04-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-datatypes?module=Cisco-IOS-XR-manageability-perfmgmt-datatypes&revision=2019-04-05 + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-session-redundancy-cfg?module=Cisco-IOS-XR-um-session-redundancy-cfg&revision=2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-optics-cfg?module=Cisco-IOS-XR-controller-optics-cfg&revision=2023-02-24 + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01 + http://openconfig.net/yang/platform/cpu?module=openconfig-platform-cpu&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-isis-cfg?module=Cisco-IOS-XR-um-router-isis-cfg&revision=2022-10-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-hw-module-port-range-cfg?module=Cisco-IOS-XR-um-hw-module-port-range-cfg&revision=2022-03-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-spirit-corehelper-context-oper?module=Cisco-IOS-XR-spirit-corehelper-context-oper&revision=2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-secy-oper?module=Cisco-IOS-XR-crypto-macsec-secy-oper&revision=2022-02-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-xml-agent-cfg?module=Cisco-IOS-XR-um-xml-agent-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-general-cfg?module=Cisco-IOS-XR-um-line-general-cfg&revision=2020-08-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-validation-cfg?module=Cisco-IOS-XR-um-config-validation-cfg&revision=2021-06-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-cfg?module=Cisco-IOS-XR-infra-alarm-logger-cfg&revision=2019-04-05 + http://openconfig.net/yang/macsec/types?module=openconfig-macsec-types&revision=2019-07-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ztp-cfg?module=Cisco-IOS-XR-ztp-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-l2tun-cfg?module=Cisco-IOS-XR-um-traps-l2tun-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-tmgctrl-tmg-oper?module=Cisco-IOS-XR-tmgctrl-tmg-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-fib-common-oper?module=Cisco-IOS-XR-fib-common-oper&revision=2023-02-06 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-delete-act?module=Cisco-IOS-XR-shellutil-delete-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-igmp-cfg?module=Cisco-IOS-XR-um-router-igmp-cfg&revision=2021-09-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-pim-cfg?module=Cisco-IOS-XR-ipv4-pim-cfg&revision=2020-01-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-qos-oper?module=Cisco-IOS-XR-ofa-npu-qos-oper&revision=2022-09-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-act?module=Cisco-IOS-XR-smart-license-act&revision=2020-07-09 + urn:ietf:params:xml:ns:yang:ietf-yang-library?module=ietf-yang-library&revision=2019-01-04 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2019-04-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-syncc-controller-cfg?module=Cisco-IOS-XR-syncc-controller-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ncs-grid-svr-oper?module=Cisco-IOS-XR-ncs-grid-svr-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-datatypes?module=Cisco-IOS-XR-ipv6-acl-datatypes&revision=2021-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-oper?module=Cisco-IOS-XR-l2vpn-oper&revision=2022-03-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ltrace-cfg?module=Cisco-IOS-XR-um-ltrace-cfg&revision=2020-09-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-msdp-cfg?module=Cisco-IOS-XR-ipv4-msdp-cfg&revision=2019-10-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-openconfig-system-terminal-ext?module=Cisco-IOS-XR-openconfig-system-terminal-ext&revision=2021-09-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-monitor-session-cfg?module=Cisco-IOS-XR-um-monitor-session-cfg&revision=2022-10-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-icmp-cfg?module=Cisco-IOS-XR-um-icmp-cfg&revision=2020-09-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ip-address-cfg?module=Cisco-IOS-XR-um-if-ip-address-cfg&revision=2020-05-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg?module=Cisco-IOS-XR-um-segment-routing-traffic-eng-cfg&revision=2022-01-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-exec-oper?module=Cisco-IOS-XR-config-cfgmgr-exec-oper&revision=2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ssm-cfg?module=Cisco-IOS-XR-um-ssm-cfg&revision=2021-01-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-rfmib-cfg?module=Cisco-IOS-XR-um-mibs-rfmib-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-cfg?module=Cisco-IOS-XR-config-cfgmgr-cfg&revision=2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traffic-collector-cfg?module=Cisco-IOS-XR-um-traffic-collector-cfg&revision=2022-11-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-segment-routing-srv6-cfg?module=Cisco-IOS-XR-um-segment-routing-srv6-cfg&revision=2021-01-25 + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-11-21&deviations=cisco-xr-openconfig-if-ip-ext-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-vether-mode-cfg?module=Cisco-IOS-XR-vether-mode-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-tc-cfg?module=Cisco-IOS-XR-infra-tc-cfg&revision=2022-11-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-envmon-alt-cfg?module=Cisco-IOS-XR-envmon-alt-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-envmon-cfg?module=Cisco-IOS-XR-envmon-cfg&revision=2020-09-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-fpd-infra-cfg?module=Cisco-IOS-XR-fpd-infra-cfg&revision=2022-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-cfg?module=Cisco-IOS-XR-freqsync-cfg&revision=2020-04-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-datatypes?module=Cisco-IOS-XR-manageability-object-tracking-datatypes&revision=2019-11-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-diameter-cfg?module=Cisco-IOS-XR-um-aaa-diameter-cfg&revision=2023-02-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-mvpn-oper?module=Cisco-IOS-XR-mvpn-oper&revision=2021-12-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-oper?module=Cisco-IOS-XR-infra-alarm-logger-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-ipv4-oper?module=Cisco-IOS-XR-ip-static-ipv4-oper&revision=2023-06-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-oper?module=Cisco-IOS-XR-invmgr-oper&revision=2020-11-09 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2021-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-cinetd-cfg?module=Cisco-IOS-XR-ipv4-cinetd-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-icpe-ethernet-cfg?module=Cisco-IOS-XR-drivers-icpe-ethernet-cfg&revision=2021-10-07 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-datatypes?module=Cisco-IOS-XR-lmp-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-datatypes?module=Cisco-IOS-XR-infra-sla-datatypes&revision=2020-01-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-oper?module=Cisco-IOS-XR-infra-sla-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-ofa-oper?module=Cisco-IOS-XR-platforms-ofa-oper&revision=2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-odu-clear-prbs-act?module=Cisco-IOS-XR-controller-odu-clear-prbs-act&revision=2021-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-oper?module=Cisco-IOS-XR-eigrp-oper&revision=2020-09-14 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2020-02-04 + http://openconfig.net/yang/system/management?module=openconfig-system-management&revision=2018-08-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-smartlicense-oper?module=Cisco-IOS-XR-infra-smartlicense-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-ldp-cfg?module=Cisco-IOS-XR-um-mpls-ldp-cfg&revision=2022-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-oper?module=Cisco-IOS-XR-install-oper&revision=2021-08-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg?module=Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg&revision=2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-pfi-im-cmd-oper?module=Cisco-IOS-XR-pfi-im-cmd-oper&revision=2022-03-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-ha-eem-cfg?module=Cisco-IOS-XR-ha-eem-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-oam-oper?module=Cisco-IOS-XR-mpls-oam-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-igmp-cfg?module=Cisco-IOS-XR-ipv4-igmp-cfg&revision=2019-10-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-policymap-classmap-cfg?module=Cisco-IOS-XR-um-policymap-classmap-cfg&revision=2022-03-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-subscriber-cfg?module=Cisco-IOS-XR-um-mibs-subscriber-cfg&revision=2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-fabhfr-mib-cfg?module=Cisco-IOS-XR-fabhfr-mib-cfg&revision=2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-csd-oper?module=Cisco-IOS-XR-csd-oper&revision=2021-07-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-filesysinv-cfg?module=Cisco-IOS-XR-filesysinv-cfg&revision=2021-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-power-mgmt-cfg?module=Cisco-IOS-XR-um-power-mgmt-cfg&revision=2022-02-17 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2020-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-act?module=Cisco-IOS-XR-mpls-te-act&revision=2022-02-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-system-cfg?module=Cisco-IOS-XR-um-traps-system-cfg&revision=2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-cbqosmib-cfg?module=Cisco-IOS-XR-um-mibs-cbqosmib-cfg&revision=2020-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-l2tun-oper?module=Cisco-IOS-XR-tunnel-l2tun-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-datatypes?module=Cisco-IOS-XR-eigrp-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-valid-ccv-oper?module=Cisco-IOS-XR-config-valid-ccv-oper&revision=2021-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-placed-act?module=Cisco-IOS-XR-infra-placed-act&revision=2020-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-oper?module=Cisco-IOS-XR-es-acl-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-cfg?module=Cisco-IOS-XR-lmp-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cli-alias-cfg?module=Cisco-IOS-XR-um-cli-alias-cfg&revision=2021-02-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-common-acl-datatypes?module=Cisco-IOS-XR-common-acl-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-procfind-oper?module=Cisco-IOS-XR-procfind-oper&revision=2020-02-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ma-oper?module=Cisco-IOS-XR-ipv6-ma-oper&revision=2020-09-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-procmem-oper?module=Cisco-IOS-XR-procmem-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-event-manager-policy-map-oper?module=Cisco-IOS-XR-event-manager-policy-map-oper&revision=2022-01-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-cfg?module=Cisco-IOS-XR-ipv4-bgp-cfg&revision=2022-08-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-cfg?module=Cisco-IOS-XR-segment-routing-ms-cfg&revision=2019-06-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-nsr-cfg?module=Cisco-IOS-XR-um-nsr-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/cisco-xr-types?module=Cisco-IOS-XR-types&revision=2022-03-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-oper?module=Cisco-IOS-XR-infra-xtc-agent-oper&revision=2021-08-31 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-04-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-udf-cfg?module=Cisco-IOS-XR-um-8000-udf-cfg&revision=2020-12-07 + http://openconfig.net/yang/telemetry?module=openconfig-telemetry&revision=2018-11-21&deviations=cisco-xr-openconfig-telemetry-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-mldp-oper?module=Cisco-IOS-XR-mpls-ldp-mldp-oper&revision=2022-01-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-oper?module=Cisco-IOS-XR-ptp-oper&revision=2020-09-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-npu-power-profile-sf-d-cfg?module=Cisco-IOS-XR-npu-power-profile-sf-d-cfg&revision=2021-01-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-act?module=Cisco-IOS-XR-infra-statsd-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-tcp-cfg?module=Cisco-IOS-XR-ip-tcp-cfg&revision=2020-05-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-act?module=Cisco-IOS-XR-sysmgr-act&revision=2020-01-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-hw-module-quad-cfg?module=Cisco-IOS-XR-um-hw-module-quad-cfg&revision=2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-filesystem-inventory-cfg?module=Cisco-IOS-XR-um-filesystem-inventory-cfg&revision=2021-11-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-protocol-radius-oper?module=Cisco-IOS-XR-aaa-protocol-radius-oper&revision=2021-02-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-ip-ma-oper?module=Cisco-IOS-XR-tunnel-ip-ma-oper&revision=2022-08-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-redundancy-cfg?module=Cisco-IOS-XR-um-subscriber-redundancy-cfg&revision=2021-06-29 + http://openconfig.net/yang/telemetry-types?module=openconfig-telemetry-types&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-act?module=Cisco-IOS-XR-install-act&revision=2022-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-test-ocni-isis-oper?module=Cisco-IOS-XR-test-ocni-isis-oper&revision=2019-04-05 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-dhcpd-oper?module=Cisco-IOS-XR-ipv4-dhcpd-oper&revision=2022-02-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospfv3-cfg?module=Cisco-IOS-XR-um-router-ospfv3-cfg&revision=2021-09-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-mka-oper?module=Cisco-IOS-XR-crypto-macsec-mka-oper&revision=2022-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-filesystem-oper?module=Cisco-IOS-XR-shellutil-filesystem-oper&revision=2021-03-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-oper?module=Cisco-IOS-XR-ipv4-arp-oper&revision=2022-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iep-cfg?module=Cisco-IOS-XR-ip-iep-cfg&revision=2019-10-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-link-oam-oper?module=Cisco-IOS-XR-ethernet-link-oam-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-datatypes?module=Cisco-IOS-XR-ipv4-bgp-datatypes&revision=2022-09-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mdrv-lib-cfg?module=Cisco-IOS-XR-mdrv-lib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-cfg?module=Cisco-IOS-XR-mpls-ldp-cfg&revision=2023-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-cfg?module=Cisco-IOS-XR-um-traps-entity-cfg&revision=2021-10-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-mode-cfg?module=Cisco-IOS-XR-um-cont-optics-mode-cfg&revision=2021-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-os-reboot-history-oper?module=Cisco-IOS-XR-linux-os-reboot-history-oper&revision=2023-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-fault-profile-cfg?module=Cisco-IOS-XR-um-fault-profile-cfg&revision=2021-12-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ptp-log-servo-cfg?module=Cisco-IOS-XR-um-ptp-log-servo-cfg&revision=2020-10-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-notification-log-mib-cfg?module=Cisco-IOS-XR-infra-notification-log-mib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-act?module=Cisco-IOS-XR-appmgr-act&revision=2021-09-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-wd-oper?module=Cisco-IOS-XR-wd-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-datatypes?module=Cisco-IOS-XR-tty-management-datatypes&revision=2019-04-05 + http://openconfig.net/yang/system?module=openconfig-system&revision=2019-01-29&deviations=cisco-xr-openconfig-system-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-syslog-act?module=Cisco-IOS-XR-syslog-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-odu-cfg?module=Cisco-IOS-XR-um-cont-odu-cfg&revision=2022-09-05 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rsi-oper?module=Cisco-IOS-XR-infra-rsi-oper&revision=2020-09-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-lldp-oper?module=Cisco-IOS-XR-ethernet-lldp-oper&revision=2022-11-08 + http://openconfig.net/yang/lacp?module=openconfig-lacp&revision=2021-07-20&deviations=cisco-xr-openconfig-lacp-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-cdp-oper?module=Cisco-IOS-XR-cdp-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-cfg?module=Cisco-IOS-XR-um-aaa-cfg&revision=2022-07-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rip-oper?module=Cisco-IOS-XR-ip-rip-oper&revision=2022-03-31 + http://openconfig.net/yang/platform/port?module=openconfig-platform-port&revision=2018-01-20 + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2019-01-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-mode-cfg?module=Cisco-IOS-XR-um-config-mode-cfg&revision=2021-02-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-lsd-cfg?module=Cisco-IOS-XR-um-mpls-lsd-cfg&revision=2021-01-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-oper?module=Cisco-IOS-XR-drivers-media-eth-oper&revision=2021-12-14 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-v6-oper?module=Cisco-IOS-XR-ip-iarm-v6-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-clear-counters-act?module=Cisco-IOS-XR-clear-counters-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-state-cfg?module=Cisco-IOS-XR-um-traps-entity-state-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-ains-act?module=Cisco-IOS-XR-controller-ains-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-oam-cfg?module=Cisco-IOS-XR-um-ethernet-oam-cfg&revision=2021-02-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-msdp-cfg?module=Cisco-IOS-XR-um-traps-msdp-cfg&revision=2020-11-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-power-cfg?module=Cisco-IOS-XR-um-traps-power-cfg&revision=2020-09-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-augmented-act?module=Cisco-IOS-XR-install-augmented-act&revision=2022-06-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-msdp-cfg?module=Cisco-IOS-XR-um-router-msdp-cfg&revision=2021-01-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-datatypes?module=Cisco-IOS-XR-ip-iarm-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-dwdm-ui-oper?module=Cisco-IOS-XR-dwdm-ui-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-cfg?module=Cisco-IOS-XR-pbr-cfg&revision=2020-11-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-otu-oper?module=Cisco-IOS-XR-controller-otu-oper&revision=2020-05-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-prefix-list-cfg?module=Cisco-IOS-XR-um-ipv6-prefix-list-cfg&revision=2020-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-plane-health-oper?module=Cisco-IOS-XR-fabric-plane-health-oper&revision=2020-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-lpts-oper?module=Cisco-IOS-XR-8000-lpts-oper&revision=2021-03-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-xml-ttyagent-cfg?module=Cisco-IOS-XR-man-xml-ttyagent-cfg&revision=2019-04-05 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rmf-oper?module=Cisco-IOS-XR-infra-rmf-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper?module=Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper&revision=2019-04-05 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04&deviations=cisco-xr-ietf-netconf-monitoring-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-telnet-cfg?module=Cisco-IOS-XR-ipv4-telnet-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-xlnc-cfg?module=Cisco-IOS-XR-linux-xlnc-cfg&revision=2019-04-05 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2022-05-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-static-cfg?module=Cisco-IOS-XR-um-mpls-static-cfg&revision=2021-08-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-oper?module=Cisco-IOS-XR-lpts-pre-ifib-oper&revision=2021-10-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-mroutemib-cfg?module=Cisco-IOS-XR-um-snmp-server-mroutemib-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-cfg?module=Cisco-IOS-XR-ptp-cfg&revision=2021-02-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-igp-topodb-oper?module=Cisco-IOS-XR-igp-topodb-oper&revision=2021-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-vc-pm-cfg?module=Cisco-IOS-XR-um-cont-vc-pm-cfg&revision=2021-02-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-driver-xponder-cfg?module=Cisco-IOS-XR-optics-driver-xponder-cfg&revision=2022-05-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-act?module=Cisco-IOS-XR-ipv4-bgp-act&revision=2020-06-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-rcc-cfg?module=Cisco-IOS-XR-um-rcc-cfg&revision=2020-09-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-cfg?module=Cisco-IOS-XR-smart-license-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ntp-cfg?module=Cisco-IOS-XR-um-ntp-cfg&revision=2022-01-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-services-access-list-cfg?module=Cisco-IOS-XR-um-ethernet-services-access-list-cfg&revision=2020-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-syncc-oper?module=Cisco-IOS-XR-syncc-oper&revision=2020-06-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-flash-cfg?module=Cisco-IOS-XR-um-traps-flash-cfg&revision=2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-emon-oper?module=Cisco-IOS-XR-emon-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-envmon-oper?module=Cisco-IOS-XR-envmon-oper&revision=2023-06-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-lsd-cfg?module=Cisco-IOS-XR-mpls-lsd-cfg&revision=2020-11-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-filesysinv-show-oper?module=Cisco-IOS-XR-filesysinv-show-oper&revision=2019-04-05&deviations=Cisco-IOS-XR-filesysinv-show-oper-deviations + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2020-03-24 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lldp-cfg?module=Cisco-IOS-XR-um-lldp-cfg&revision=2022-11-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-access-group-cfg?module=Cisco-IOS-XR-um-if-access-group-cfg&revision=2019-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-call-home-cfg?module=Cisco-IOS-XR-call-home-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-gl-cfg?module=Cisco-IOS-XR-pmengine-gl-cfg&revision=2020-08-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lacp-cfg?module=Cisco-IOS-XR-um-lacp-cfg&revision=2019-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-eapol-if-cfg?module=Cisco-IOS-XR-eapol-if-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-rib-cfg?module=Cisco-IOS-XR-um-router-rib-cfg&revision=2021-03-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-rgmgr-oper?module=Cisco-IOS-XR-rgmgr-oper&revision=2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-nvgen-cfg?module=Cisco-IOS-XR-nvgen-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-qos-ma-oper?module=Cisco-IOS-XR-qos-ma-oper&revision=2020-07-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-lldp-clear-act?module=Cisco-IOS-XR-lldp-clear-act&revision=2021-10-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entityextmib-cfg?module=Cisco-IOS-XR-snmp-entityextmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-clear-act?module=Cisco-IOS-XR-pmengine-clear-act&revision=2020-09-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-cfg?module=Cisco-IOS-XR-ipv4-ospf-cfg&revision=2021-10-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-oper?module=Cisco-IOS-XR-ethernet-cfm-oper&revision=2022-01-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-amt-cfg?module=Cisco-IOS-XR-um-router-amt-cfg&revision=2019-08-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dot1x-cfg?module=Cisco-IOS-XR-um-dot1x-cfg&revision=2022-03-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-ssh-oper?module=Cisco-IOS-XR-crypto-ssh-oper&revision=2022-11-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-ifib-oper?module=Cisco-IOS-XR-lpts-ifib-oper&revision=2020-06-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dhcp-ipv6-cfg?module=Cisco-IOS-XR-um-dhcp-ipv6-cfg&revision=2021-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-plat-chas-invmgr-ng-oper?module=Cisco-IOS-XR-plat-chas-invmgr-ng-oper&revision=2020-05-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-pim-oper?module=Cisco-IOS-XR-ipv4-pim-oper&revision=2021-01-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-daps-oper?module=Cisco-IOS-XR-ip-daps-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-port-mode-cfg?module=Cisco-IOS-XR-optics-port-mode-cfg&revision=2021-02-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-prefix-list-cfg?module=Cisco-IOS-XR-um-ipv4-prefix-list-cfg&revision=2020-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-sks-server-cfg?module=Cisco-IOS-XR-sks-server-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-smiap-oper?module=Cisco-IOS-XR-ipv6-smiap-oper&revision=2022-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-infra-locale-cfg?module=Cisco-IOS-XR-infra-infra-locale-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-cli-cfg?module=Cisco-IOS-XR-cli-cfg&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-cfg?module=Cisco-IOS-XR-l2-eth-infra-cfg&revision=2020-04-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-lldp-cfg?module=Cisco-IOS-XR-ethernet-lldp-cfg&revision=2022-04-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-cfg?module=Cisco-IOS-XR-infra-sla-cfg&revision=2019-10-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-datatypes?module=Cisco-IOS-XR-aaa-lib-datatypes&revision=2020-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-raw-cfg?module=Cisco-IOS-XR-um-raw-cfg&revision=2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rip-cfg?module=Cisco-IOS-XR-ip-rip-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-speed-cfg?module=Cisco-IOS-XR-optics-speed-cfg&revision=2022-01-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ifmib-oper?module=Cisco-IOS-XR-snmp-ifmib-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-infra-cfg?module=Cisco-IOS-XR-infra-infra-cfg&revision=2019-04-05 + http://openconfig.net/yang/platform/fan?module=openconfig-platform-fan&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-asic-error-oper?module=Cisco-IOS-XR-asic-error-oper&revision=2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-pool-cfg?module=Cisco-IOS-XR-um-pool-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ethernet-cfg?module=Cisco-IOS-XR-um-if-ethernet-cfg&revision=2021-03-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-cfg?module=Cisco-IOS-XR-infra-xtc-agent-cfg&revision=2021-08-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-flowspec-cfg?module=Cisco-IOS-XR-um-flowspec-cfg&revision=2021-07-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-pfc-oper?module=Cisco-IOS-XR-ofa-npu-pfc-oper&revision=2021-08-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-cli-diff-act?module=Cisco-IOS-XR-cli-diff-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-dc-cfg?module=Cisco-IOS-XR-ipv4-dc-cfg&revision=2019-05-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sonet-pm-cfg?module=Cisco-IOS-XR-um-cont-sonet-pm-cfg&revision=2020-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-act?module=Cisco-IOS-XR-lib-keychain-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-cmd-oper?module=Cisco-IOS-XR-tty-management-cmd-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-spirit-corehelper-cfg?module=Cisco-IOS-XR-spirit-corehelper-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-xml-ttyagent-oper?module=Cisco-IOS-XR-man-xml-ttyagent-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-cfg?module=Cisco-IOS-XR-ifmgr-cfg&revision=2020-10-01 + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-conflict-policy-cfg?module=Cisco-IOS-XR-um-conflict-policy-cfg&revision=2021-05-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-fabric-cfg?module=Cisco-IOS-XR-um-mibs-fabric-cfg&revision=2020-06-26 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-16 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2021-06-16 + urn:ietf:params:xml:ns:yang:ietf-syslog-types?module=ietf-syslog-types&revision=2015-11-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-infra-clock-linux-cfg?module=Cisco-IOS-XR-infra-infra-clock-linux-cfg&revision=2021-11-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-cfs-check-act?module=Cisco-IOS-XR-cfgmgr-cfs-check-act&revision=2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-key-chain-cfg?module=Cisco-IOS-XR-um-key-chain-cfg&revision=2021-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-gnss-oper?module=Cisco-IOS-XR-gnss-oper&revision=2020-10-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-objmgr-oper?module=Cisco-IOS-XR-infra-objmgr-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-cpri-cfg?module=Cisco-IOS-XR-um-cont-cpri-cfg&revision=2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-cfg?module=Cisco-IOS-XR-pmengine-cfg&revision=2021-12-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-cfg-datatypes?module=Cisco-IOS-XR-mpls-ldp-cfg-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-static-cfg?module=Cisco-IOS-XR-mpls-static-cfg&revision=2021-10-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-npu-fsdb-stats-oper?module=Cisco-IOS-XR-npu-fsdb-stats-oper&revision=2022-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-flashmib-cfg?module=Cisco-IOS-XR-flashmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-feature-agent-oper?module=Cisco-IOS-XR-feature-agent-oper&revision=2021-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-io-oper?module=Cisco-IOS-XR-ipv6-io-oper&revision=2019-10-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-syslog-oper?module=Cisco-IOS-XR-infra-syslog-oper&revision=2020-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-fpmgr-cfg?module=Cisco-IOS-XR-fpmgr-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-odu-datatypes?module=Cisco-IOS-XR-controller-odu-datatypes&revision=2020-10-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-cfg?module=Cisco-IOS-XR-um-lpts-pifib-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-cfg?module=Cisco-IOS-XR-aaa-locald-cfg&revision=2022-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-tmgctrl-dti-oper?module=Cisco-IOS-XR-tmgctrl-dti-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-location-cfg?module=Cisco-IOS-XR-um-location-cfg&revision=2020-01-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-track-cfg?module=Cisco-IOS-XR-um-track-cfg&revision=2022-01-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg?module=Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg&revision=2021-05-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-domain-cfg?module=Cisco-IOS-XR-um-domain-cfg&revision=2021-02-04 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2019-11-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-ssh-act?module=Cisco-IOS-XR-ssh-act&revision=2021-09-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-cfg?module=Cisco-IOS-XR-manageability-object-tracking-cfg&revision=2021-07-15 + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-01-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dynamic-template-cfg?module=Cisco-IOS-XR-um-dynamic-template-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-segment-routing-cfg?module=Cisco-IOS-XR-um-segment-routing-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-oper?module=Cisco-IOS-XR-perf-meas-oper&revision=2021-11-18 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-parser-cfg?module=Cisco-IOS-XR-parser-cfg&revision=2019-11-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-sbfd-cfg?module=Cisco-IOS-XR-ip-sbfd-cfg&revision=2019-10-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-vrf-policy-cfg?module=Cisco-IOS-XR-pbr-vrf-policy-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-spp-policer-cfg?module=Cisco-IOS-XR-um-8000-spp-policer-cfg&revision=2022-12-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg?module=Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg&revision=2022-01-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-traffmon-netflow-cfg?module=Cisco-IOS-XR-traffmon-netflow-cfg&revision=2022-02-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-oper?module=Cisco-IOS-XR-config-cfgmgr-oper&revision=2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-bfd-oper?module=Cisco-IOS-XR-ip-bfd-oper&revision=2022-07-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-test-trap-act?module=Cisco-IOS-XR-snmp-test-trap-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-domain-cfg?module=Cisco-IOS-XR-um-lpts-pifib-domain-cfg&revision=2021-07-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-fpd-cfg?module=Cisco-IOS-XR-um-8000-fpd-cfg&revision=2022-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-otnifmib-cfg?module=Cisco-IOS-XR-otnifmib-cfg&revision=2019-04-05 + http://openconfig.net/yang/segment-routing/srte-policy?module=openconfig-srte-policy&revision=2021-07-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-netconf-yang-cfg?module=Cisco-IOS-XR-um-netconf-yang-cfg&revision=2020-03-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-vrf-cfg?module=Cisco-IOS-XR-ip-iarm-vrf-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-nacm-cfg?module=Cisco-IOS-XR-um-aaa-nacm-cfg&revision=2021-11-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-pim-cfg?module=Cisco-IOS-XR-um-traps-pim-cfg&revision=2020-12-03 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2021-12-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-policy-repository-cfg?module=Cisco-IOS-XR-policy-repository-cfg&revision=2019-04-05 + http://openconfig.net/yang/interfaces/tunnel?module=openconfig-if-tunnel&revision=2018-11-21&deviations=cisco-xr-openconfig-if-tunnel-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-objmgr-cfg?module=Cisco-IOS-XR-infra-objmgr-cfg&revision=2019-10-16 + http://openconfig.net/yang/platform/linecard?module=openconfig-platform-linecard&revision=2020-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-hwmod-mpa-reload-act?module=Cisco-IOS-XR-hwmod-mpa-reload-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-common-cfg?module=Cisco-IOS-XR-segment-routing-ms-common-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-mfwd-cfg?module=Cisco-IOS-XR-ipv4-mfwd-cfg&revision=2020-04-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-cfg?module=Cisco-IOS-XR-um-ipv6-cfg&revision=2021-05-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-nd-cfg?module=Cisco-IOS-XR-ipv6-nd-cfg&revision=2021-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-traceroute-act?module=Cisco-IOS-XR-mpls-traceroute-act&revision=2021-07-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-pd-cfg?module=Cisco-IOS-XR-ptp-pd-cfg&revision=2021-01-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ssh-cfg?module=Cisco-IOS-XR-um-ssh-cfg&revision=2021-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-l2trans-service-policy-cfg?module=Cisco-IOS-XR-um-if-l2trans-service-policy-cfg&revision=2021-10-08 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xr-openconfig-bgp-policy-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-display-cfg?module=Cisco-IOS-XR-um-config-display-cfg&revision=2021-04-14 + http://tail-f.com/yang/common?module=tailf-common&revision=2018-09-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-dir-oper?module=Cisco-IOS-XR-shellutil-dir-oper&revision=2020-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pa-oper?module=Cisco-IOS-XR-lpts-pa-oper&revision=2021-11-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-daps-mib-cfg?module=Cisco-IOS-XR-ip-daps-mib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-cfg?module=Cisco-IOS-XR-appmgr-cfg&revision=2022-03-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-common-tams-act?module=Cisco-IOS-XR-platforms-common-tams-act&revision=2010-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-watchd-cfg?module=Cisco-IOS-XR-watchd-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-commit-cfg?module=Cisco-IOS-XR-um-config-commit-cfg&revision=2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-nd-cfg?module=Cisco-IOS-XR-um-ipv6-nd-cfg&revision=2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ma-cfg?module=Cisco-IOS-XR-ipv6-ma-cfg&revision=2021-09-15 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2021-07-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-augmented-oper?module=Cisco-IOS-XR-install-augmented-oper&revision=2021-08-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-eigrp-cfg?module=Cisco-IOS-XR-um-router-eigrp-cfg&revision=2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-oper?module=Cisco-IOS-XR-crypto-cepki-oper&revision=2022-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-statistics-cfg?module=Cisco-IOS-XR-um-statistics-cfg&revision=2020-02-20 + http://openconfig.net/yang/sampling/sflow?module=openconfig-sampling-sflow&revision=2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-breakout-cfg?module=Cisco-IOS-XR-um-cont-breakout-cfg&revision=2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ping-act?module=Cisco-IOS-XR-mpls-ping-act&revision=2021-04-27 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-08-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-hsrp-oper?module=Cisco-IOS-XR-ipv4-hsrp-oper&revision=2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sts-pm-cfg?module=Cisco-IOS-XR-um-cont-sts-pm-cfg&revision=2020-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-l2tun-cfg?module=Cisco-IOS-XR-tunnel-l2tun-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ma-cfg?module=Cisco-IOS-XR-ipv4-ma-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-datatypes?module=Cisco-IOS-XR-ethernet-cfm-datatypes&revision=2020-01-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-oper?module=Cisco-IOS-XR-infra-policymgr-oper&revision=2020-09-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-dac-cfg?module=Cisco-IOS-XR-optics-dac-cfg&revision=2022-05-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-correlator-cfg?module=Cisco-IOS-XR-infra-correlator-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-autorp-datatypes?module=Cisco-IOS-XR-ipv4-autorp-datatypes&revision=2019-04-05 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-mld-cfg?module=Cisco-IOS-XR-um-router-mld-cfg&revision=2021-10-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-confcopymib-cfg?module=Cisco-IOS-XR-infra-confcopymib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-oper?module=Cisco-IOS-XR-ip-ntp-oper&revision=2021-08-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg?module=Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg&revision=2022-01-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-access-list-datatypes?module=Cisco-IOS-XR-um-access-list-datatypes&revision=2022-07-08 + http://openconfig.net/yang/terminal-device?module=openconfig-terminal-device&revision=2019-11-28&deviations=cisco-xr-openconfig-terminal-device-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-um-gnss-receiver-cfg?module=Cisco-IOS-XR-um-gnss-receiver-cfg&revision=2021-10-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-attestation-cfg?module=Cisco-IOS-XR-um-attestation-cfg&revision=2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-cfg?module=Cisco-IOS-XR-lpts-pre-ifib-cfg&revision=2021-06-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-cfg?module=Cisco-IOS-XR-um-snmp-server-cfg&revision=2022-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ma-oper?module=Cisco-IOS-XR-ipv4-ma-oper&revision=2021-03-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-ifmib-cfg?module=Cisco-IOS-XR-um-mibs-ifmib-cfg&revision=2021-02-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-evpn-host-cfg?module=Cisco-IOS-XR-um-evpn-host-cfg&revision=2021-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-npu-hw-profile-cfg?module=Cisco-IOS-XR-npu-hw-profile-cfg&revision=2022-09-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-oper?module=Cisco-IOS-XR-pbr-oper&revision=2020-02-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-qos-ma-cfg?module=Cisco-IOS-XR-qos-ma-cfg&revision=2020-03-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-service-policy-qos-cfg?module=Cisco-IOS-XR-um-if-service-policy-qos-cfg&revision=2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg?module=Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg&revision=2021-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-fgid-mgr-cfg?module=Cisco-IOS-XR-fgid-mgr-cfg&revision=2021-12-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-io-cfg?module=Cisco-IOS-XR-mpls-io-cfg&revision=2019-05-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg?module=Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg&revision=2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-frucontrolmib-cfg?module=Cisco-IOS-XR-snmp-frucontrolmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-cfg?module=Cisco-IOS-XR-clns-isis-cfg&revision=2022-10-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-telemetry-model-driven-cfg?module=Cisco-IOS-XR-um-telemetry-model-driven-cfg&revision=2021-06-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-cfg?module=Cisco-IOS-XR-Ethernet-SPAN-cfg&revision=2022-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dac-rate-cfg?module=Cisco-IOS-XR-um-dac-rate-cfg&revision=2020-08-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-bundle-cfg?module=Cisco-IOS-XR-um-if-bundle-cfg&revision=2021-03-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ethernet-lmi-cfg?module=Cisco-IOS-XR-um-if-ethernet-lmi-cfg&revision=2021-06-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-banner-cfg?module=Cisco-IOS-XR-um-banner-cfg&revision=2021-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-cfg?module=Cisco-IOS-XR-infra-script-mgmt-cfg&revision=2022-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-oper?module=Cisco-IOS-XR-ipv6-ospfv3-oper&revision=2022-09-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper?module=Cisco-IOS-XR-ipv6-new-dhcpv6d-oper&revision=2022-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-wd-proc-state-oper?module=Cisco-IOS-XR-wd-proc-state-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-attestation-agent-ima-oper?module=Cisco-IOS-XR-attestation-agent-ima-oper&revision=2022-07-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-eventmib-cfg?module=Cisco-IOS-XR-um-mibs-eventmib-cfg&revision=2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-sks-act?module=Cisco-IOS-XR-sks-act&revision=2020-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-mpls-cfg?module=Cisco-IOS-XR-um-if-mpls-cfg&revision=2019-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-config-copy-cfg?module=Cisco-IOS-XR-um-traps-config-copy-cfg&revision=2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-dot1x-oper?module=Cisco-IOS-XR-dot1x-oper&revision=2021-03-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-cfg?module=Cisco-IOS-XR-ethernet-cfm-cfg&revision=2021-09-03 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-pim-oper?module=Cisco-IOS-XR-pim-oper&revision=2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sts-cfg?module=Cisco-IOS-XR-um-cont-sts-cfg&revision=2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-profile-cfg?module=Cisco-IOS-XR-um-8000-hw-module-profile-cfg&revision=2023-07-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-datatypes?module=Cisco-IOS-XR-clns-isis-datatypes&revision=2022-01-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-udp-cfg?module=Cisco-IOS-XR-ip-udp-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-oper?module=Cisco-IOS-XR-appmgr-oper&revision=2021-09-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-flow-oper?module=Cisco-IOS-XR-flow-oper&revision=2022-09-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-service-timestamps-cfg?module=Cisco-IOS-XR-um-service-timestamps-cfg&revision=2020-10-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-adt-oper?module=Cisco-IOS-XR-adt-oper&revision=2020-05-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-oper?module=Cisco-IOS-XR-infra-statsd-oper&revision=2022-09-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-platform-oir-history-oper?module=Cisco-IOS-XR-platform-oir-history-oper&revision=2020-05-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-igmp-oper?module=Cisco-IOS-XR-igmp-oper&revision=2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-mirror-cfg?module=Cisco-IOS-XR-mirror-cfg&revision=2019-11-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-tacacs-oper?module=Cisco-IOS-XR-aaa-tacacs-oper&revision=2022-11-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2snoop-cfg?module=Cisco-IOS-XR-um-l2snoop-cfg&revision=2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-oper?module=Cisco-IOS-XR-infra-xtc-oper&revision=2021-09-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-pwrmgmt-cfg?module=Cisco-IOS-XR-pwrmgmt-cfg&revision=2020-04-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-show-fpd-loc-ng-oper?module=Cisco-IOS-XR-show-fpd-loc-ng-oper&revision=2020-09-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-upgrade-fpd-ng-act?module=Cisco-IOS-XR-upgrade-fpd-ng-act&revision=2019-10-01 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2020-11-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-ipv6-oper?module=Cisco-IOS-XR-ip-rib-ipv6-oper&revision=2022-02-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ftp-tftp-cfg?module=Cisco-IOS-XR-um-ftp-tftp-cfg&revision=2021-05-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-terminal-device-oper?module=Cisco-IOS-XR-terminal-device-oper&revision=2020-05-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2vpn-cfg?module=Cisco-IOS-XR-um-l2vpn-cfg&revision=2022-03-08 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2021-04-06&deviations=cisco-xr-openconfig-interfaces-deviations + http://cisco.com/ns/yang/Cisco-IOS-XR-terminal-device-cfg?module=Cisco-IOS-XR-terminal-device-cfg&revision=2021-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-correlator-cfg?module=Cisco-IOS-XR-um-logging-correlator-cfg&revision=2020-09-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-nve-cfg?module=Cisco-IOS-XR-tunnel-nve-cfg&revision=2022-04-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-dot1x-cfg?module=Cisco-IOS-XR-dot1x-cfg&revision=2022-03-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-raw-cfg?module=Cisco-IOS-XR-ip-raw-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-ems-oper?module=Cisco-IOS-XR-man-ems-oper&revision=2021-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-environment-cfg?module=Cisco-IOS-XR-um-environment-cfg&revision=2022-02-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-procthreadname-oper?module=Cisco-IOS-XR-procthreadname-oper&revision=2022-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-police-np-cfg?module=Cisco-IOS-XR-um-lpts-pifib-police-np-cfg&revision=2021-07-05 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-npu-power-profile-sf-f-cfg?module=Cisco-IOS-XR-npu-power-profile-sf-f-cfg&revision=2021-03-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-domain-cfg?module=Cisco-IOS-XR-ip-domain-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-hsrp-cfg?module=Cisco-IOS-XR-ipv4-hsrp-cfg&revision=2019-10-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-event-manager-cfg?module=Cisco-IOS-XR-um-event-manager-cfg&revision=2022-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-nve-oper?module=Cisco-IOS-XR-tunnel-nve-oper&revision=2022-02-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-vty-cfg?module=Cisco-IOS-XR-tty-vty-cfg&revision=2021-01-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-mac-address-cfg?module=Cisco-IOS-XR-um-if-mac-address-cfg&revision=2021-02-26 + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2020-05-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-yang-server-cfg?module=Cisco-IOS-XR-um-yang-server-cfg&revision=2021-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-healthcheck-oper?module=Cisco-IOS-XR-healthcheck-oper&revision=2021-10-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-msdp-oper?module=Cisco-IOS-XR-msdp-oper&revision=2021-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2rib-oper?module=Cisco-IOS-XR-l2rib-oper&revision=2021-07-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-hostname-cfg?module=Cisco-IOS-XR-um-config-hostname-cfg&revision=2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-oper?module=Cisco-IOS-XR-ifmgr-oper&revision=2020-10-01 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-lsd-oper?module=Cisco-IOS-XR-mpls-lsd-oper&revision=2021-04-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-platform-event-history-oper?module=Cisco-IOS-XR-platform-event-history-oper&revision=2020-04-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-smiap-cfg?module=Cisco-IOS-XR-ipv4-smiap-cfg&revision=2019-04-05 + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-performance-mgmt-cfg?module=Cisco-IOS-XR-um-performance-mgmt-cfg&revision=2021-07-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-server-cfg?module=Cisco-IOS-XR-tty-server-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-io-oper?module=Cisco-IOS-XR-ipv4-io-oper&revision=2021-03-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-flow-cfg?module=Cisco-IOS-XR-um-flow-cfg&revision=2022-09-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oc-oper?module=Cisco-IOS-XR-ipv4-bgp-oc-oper&revision=2020-01-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rsvp-cfg?module=Cisco-IOS-XR-ip-rsvp-cfg&revision=2019-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-cfg?module=Cisco-IOS-XR-um-subscriber-cfg&revision=2020-08-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-datatypes?module=Cisco-IOS-XR-freqsync-datatypes&revision=2021-01-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-redundancy-cfg?module=Cisco-IOS-XR-um-redundancy-cfg&revision=2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-oper?module=Cisco-IOS-XR-segment-routing-ms-oper&revision=2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg?module=Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg&revision=2020-09-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-flowspec-cfg?module=Cisco-IOS-XR-flowspec-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-mpp-oper?module=Cisco-IOS-XR-lib-mpp-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-oper?module=Cisco-IOS-XR-infra-script-mgmt-oper&revision=2022-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-dpa-port-mapper-oper?module=Cisco-IOS-XR-dpa-port-mapper-oper&revision=2021-06-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-control-plane-local-cfg?module=Cisco-IOS-XR-um-control-plane-local-cfg&revision=2020-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-fgid-stats-8000-oper?module=Cisco-IOS-XR-fabric-fgid-stats-8000-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-dot1x-if-cfg?module=Cisco-IOS-XR-dot1x-if-cfg&revision=2020-05-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-cfg?module=Cisco-IOS-XR-ipv4-arp-cfg&revision=2022-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-ip-ea-oper?module=Cisco-IOS-XR-tunnel-ip-ea-oper&revision=2022-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-systemmib-cfg?module=Cisco-IOS-XR-infra-systemmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-act?module=Cisco-IOS-XR-Ethernet-SPAN-act&revision=2021-03-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-mka-cfg?module=Cisco-IOS-XR-crypto-macsec-mka-cfg&revision=2021-05-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-cfg?module=Cisco-IOS-XR-invmgr-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sonet-cfg?module=Cisco-IOS-XR-um-cont-sonet-cfg&revision=2021-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-static-oper?module=Cisco-IOS-XR-mpls-static-oper&revision=2022-03-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-mrib-oper?module=Cisco-IOS-XR-mrib-oper&revision=2022-03-24 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2021-07-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-vrrp-cfg?module=Cisco-IOS-XR-um-router-vrrp-cfg&revision=2020-12-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-oper?module=Cisco-IOS-XR-Ethernet-SPAN-oper&revision=2022-09-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-grpc-cfg?module=Cisco-IOS-XR-um-grpc-cfg&revision=2022-09-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-oper?module=Cisco-IOS-XR-manageability-object-tracking-oper&revision=2021-04-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-new-oper?module=Cisco-IOS-XR-crypto-cepki-new-oper&revision=2022-06-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-bridgemib-cfg?module=Cisco-IOS-XR-snmp-bridgemib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-syslog-cfg?module=Cisco-IOS-XR-infra-syslog-cfg&revision=2023-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-cfg?module=Cisco-IOS-XR-segment-routing-srv6-cfg&revision=2022-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-adt-cfg?module=Cisco-IOS-XR-um-adt-cfg&revision=2021-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-act?module=Cisco-IOS-XR-drivers-media-eth-act&revision=2021-12-14 + http://openconfig.net/yang/interfaces/ethernet-ext?module=openconfig-if-ethernet-ext&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-selective-vrf-download-cfg?module=Cisco-IOS-XR-um-traps-selective-vrf-download-cfg&revision=2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-controller-fabric-cfg?module=Cisco-IOS-XR-um-8000-controller-fabric-cfg&revision=2021-08-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rt-check-cfg?module=Cisco-IOS-XR-infra-rt-check-cfg&revision=2020-07-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-alarm-cfg?module=Cisco-IOS-XR-um-traps-alarm-cfg&revision=2020-12-13 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2021-01-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-task-user-cfg?module=Cisco-IOS-XR-um-aaa-task-user-cfg&revision=2022-09-06 + http://openconfig.net/yang/platform/software-module?module=openconfig-platform-software&revision=2021-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-vrrp-cfg?module=Cisco-IOS-XR-ipv4-vrrp-cfg&revision=2019-11-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pa-act?module=Cisco-IOS-XR-lpts-pa-act&revision=2020-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-flowspec-oper?module=Cisco-IOS-XR-flowspec-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-smiap-oper?module=Cisco-IOS-XR-ipv4-smiap-oper&revision=2022-01-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cef-accounting-cfg?module=Cisco-IOS-XR-um-cef-accounting-cfg&revision=2022-06-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-oper-datatypes?module=Cisco-IOS-XR-mpls-ldp-oper-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-rsi-agent-oper?module=Cisco-IOS-XR-rsi-agent-oper&revision=2020-12-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-agent-oper?module=Cisco-IOS-XR-snmp-agent-oper&revision=2020-09-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-iid-cfg?module=Cisco-IOS-XR-ip-rib-iid-cfg&revision=2019-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-lib-cfg?module=Cisco-IOS-XR-lpts-lib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-oper?module=Cisco-IOS-XR-shellutil-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-telnet-mgmt-cfg?module=Cisco-IOS-XR-ipv4-telnet-mgmt-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-os-heap-summary-oper?module=Cisco-IOS-XR-linux-os-heap-summary-oper&revision=2021-04-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-install-cfg?module=Cisco-IOS-XR-um-install-cfg&revision=2021-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-accounting-cfg?module=Cisco-IOS-XR-accounting-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-syslog-cfg?module=Cisco-IOS-XR-um-traps-syslog-cfg&revision=2020-03-23 + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-opticalotsmib-cfg?module=Cisco-IOS-XR-opticalotsmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mirror-cfg?module=Cisco-IOS-XR-um-mirror-cfg&revision=2021-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-ipsla-oper?module=Cisco-IOS-XR-man-ipsla-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-tacacs-cfg?module=Cisco-IOS-XR-aaa-tacacs-cfg&revision=2021-06-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-process-cfg?module=Cisco-IOS-XR-um-process-cfg&revision=2021-03-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg?module=Cisco-IOS-XR-ipv6-new-dhcpv6d-client-cfg&revision=2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-datatypes?module=Cisco-IOS-XR-segment-routing-srv6-datatypes&revision=2022-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-pfilter-oper?module=Cisco-IOS-XR-ip-pfilter-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cinetd-cfg?module=Cisco-IOS-XR-um-cinetd-cfg&revision=2020-03-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-rollback-act?module=Cisco-IOS-XR-cfgmgr-rollback-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-xlnc-oper?module=Cisco-IOS-XR-linux-xlnc-oper&revision=2021-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-cfg?module=Cisco-IOS-XR-l2vpn-cfg&revision=2021-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ownership-oper?module=Cisco-IOS-XR-ownership-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-object-group-cfg?module=Cisco-IOS-XR-um-object-group-cfg&revision=2020-10-07 + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-domain-oper?module=Cisco-IOS-XR-ip-domain-oper&revision=2019-04-05 + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-netconf-cfg?module=Cisco-IOS-XR-man-netconf-cfg&revision=2019-12-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-platforms-npu-resources-oper?module=Cisco-IOS-XR-8000-platforms-npu-resources-oper&revision=2022-09-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-vrrp-oper?module=Cisco-IOS-XR-ipv4-vrrp-oper&revision=2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-evpn-oper?module=Cisco-IOS-XR-evpn-oper&revision=2022-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ip-virtual-cfg?module=Cisco-IOS-XR-um-ip-virtual-cfg&revision=2020-04-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-gre-cfg?module=Cisco-IOS-XR-tunnel-gre-cfg&revision=2022-08-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-policy-repository-oper?module=Cisco-IOS-XR-policy-repository-oper&revision=2021-02-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-sks-server-oper?module=Cisco-IOS-XR-sks-server-oper&revision=2021-08-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-watchd-cfg?module=Cisco-IOS-XR-um-watchd-cfg&revision=2021-06-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-l3vpn-cfg?module=Cisco-IOS-XR-um-mpls-l3vpn-cfg&revision=2019-06-10 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ha-eem-policy-oper?module=Cisco-IOS-XR-ha-eem-policy-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ciscosensormib-cfg?module=Cisco-IOS-XR-snmp-ciscosensormib-cfg&revision=2021-01-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-mda-cfg?module=Cisco-IOS-XR-config-mda-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg?module=Cisco-IOS-XR-tunnel-l2tun-proto-mibs-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-events-cfg?module=Cisco-IOS-XR-um-logging-events-cfg&revision=2020-10-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipsla-cfg?module=Cisco-IOS-XR-um-ipsla-cfg&revision=2021-12-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-control-plane-cfg?module=Cisco-IOS-XR-um-control-plane-cfg&revision=2021-03-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-act?module=Cisco-IOS-XR-ipv4-arp-act&revision=2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entitymib-cfg?module=Cisco-IOS-XR-snmp-entitymib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-copy-act?module=Cisco-IOS-XR-shellutil-copy-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-auto-ip-ring-cfg?module=Cisco-IOS-XR-um-auto-ip-ring-cfg&revision=2020-12-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-udp-cfg?module=Cisco-IOS-XR-um-udp-cfg&revision=2021-01-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-driver-quad-cfg?module=Cisco-IOS-XR-optics-driver-quad-cfg&revision=2021-03-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-ledmgr-oper?module=Cisco-IOS-XR-ledmgr-oper&revision=2019-10-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-rgmgr-cfg?module=Cisco-IOS-XR-rgmgr-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-oper?module=Cisco-IOS-XR-l2-eth-infra-oper&revision=2022-07-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-security-showenc-oper?module=Cisco-IOS-XR-linux-security-showenc-oper&revision=2021-07-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-datatypes?module=Cisco-IOS-XR-ptp-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tamsvcs-oper?module=Cisco-IOS-XR-tamsvcs-oper&revision=2021-06-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-io-oper?module=Cisco-IOS-XR-mpls-io-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-cfg?module=Cisco-IOS-XR-um-ipv4-cfg&revision=2021-02-19 + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2022-05-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-static-cfg?module=Cisco-IOS-XR-um-router-static-cfg&revision=2022-08-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-oper?module=Cisco-IOS-XR-ipv4-acl-oper&revision=2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-aaacore-cfg?module=Cisco-IOS-XR-aaa-aaacore-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-valid-ccv-cfg?module=Cisco-IOS-XR-config-valid-ccv-cfg&revision=2021-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-sensormib-oper?module=Cisco-IOS-XR-snmp-sensormib-oper&revision=2020-05-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-exception-cfg?module=Cisco-IOS-XR-um-exception-cfg&revision=2020-09-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-ipv4-oper?module=Cisco-IOS-XR-ip-rib-ipv4-oper&revision=2021-12-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-mpls-ldp-cfg?module=Cisco-IOS-XR-um-traps-mpls-ldp-cfg&revision=2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-error-disable-cfg?module=Cisco-IOS-XR-um-error-disable-cfg&revision=2022-08-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-cdp-cfg?module=Cisco-IOS-XR-cdp-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-cfg?module=Cisco-IOS-XR-crypto-cepki-cfg&revision=2022-09-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-cfg?module=Cisco-IOS-XR-shellutil-cfg&revision=2019-04-05 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2021-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-cfg?module=Cisco-IOS-XR-install-cfg&revision=2019-12-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-cfg?module=Cisco-IOS-XR-mpls-te-cfg&revision=2022-11-17 + http://openconfig.net/yang/transport-types?module=openconfig-transport-types&revision=2019-06-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-datatypes?module=Cisco-IOS-XR-es-acl-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-agent-cfg?module=Cisco-IOS-XR-snmp-agent-cfg&revision=2022-01-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-authenticated-variable-act?module=Cisco-IOS-XR-authenticated-variable-act&revision=2020-07-10 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-oper?module=Cisco-IOS-XR-clns-isis-oper&revision=2022-07-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-act?module=Cisco-IOS-XR-crypto-act&revision=2022-03-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-tcp-cfg?module=Cisco-IOS-XR-um-tcp-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ptp-cfg?module=Cisco-IOS-XR-um-ptp-cfg&revision=2021-12-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-search-act?module=Cisco-IOS-XR-install-search-act&revision=2020-08-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-cfg?module=Cisco-IOS-XR-eigrp-cfg&revision=2019-04-05 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2021-07-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-attestation-agent-cfg?module=Cisco-IOS-XR-attestation-agent-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-otn-cfg?module=Cisco-IOS-XR-um-traps-otn-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-ping-act?module=Cisco-IOS-XR-ping-act&revision=2021-03-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-isis-act?module=Cisco-IOS-XR-isis-act&revision=2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-event-manager-policy-map-cfg?module=Cisco-IOS-XR-um-event-manager-policy-map-cfg&revision=2021-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-access-list-cfg?module=Cisco-IOS-XR-um-ipv6-access-list-cfg&revision=2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-netconf-oper?module=Cisco-IOS-XR-man-netconf-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-l2transport-cfg?module=Cisco-IOS-XR-um-if-l2transport-cfg&revision=2020-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-stm-pm-cfg?module=Cisco-IOS-XR-um-cont-stm-pm-cfg&revision=2020-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-dwdm-ui-cfg?module=Cisco-IOS-XR-dwdm-ui-cfg&revision=2020-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-gnss-cfg?module=Cisco-IOS-XR-gnss-cfg&revision=2020-04-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-fru-ctrl-cfg?module=Cisco-IOS-XR-um-traps-fru-ctrl-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-cfg?module=Cisco-IOS-XR-ip-rib-cfg&revision=2019-05-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-alarmgr-server-oper?module=Cisco-IOS-XR-alarmgr-server-oper&revision=2021-09-27 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2021-07-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-nto-misc-oper?module=Cisco-IOS-XR-nto-misc-oper&revision=2022-01-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-igmp-oper?module=Cisco-IOS-XR-ipv4-igmp-oper&revision=2021-05-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-sap-cfg?module=Cisco-IOS-XR-um-sap-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cfg-mibs-cfg?module=Cisco-IOS-XR-um-cfg-mibs-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-vpn-oper?module=Cisco-IOS-XR-mpls-vpn-oper&revision=2019-04-05 + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-act?module=Cisco-IOS-XR-lpts-pre-ifib-act&revision=2020-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-show-terminal-oper?module=Cisco-IOS-XR-tty-show-terminal-oper&revision=2021-08-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-platforms-npu-memory-oper?module=Cisco-IOS-XR-8000-platforms-npu-memory-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-udp-oper?module=Cisco-IOS-XR-ip-udp-oper&revision=2020-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-oper?module=Cisco-IOS-XR-mpls-te-oper&revision=2022-08-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-optics-driver-cfg?module=Cisco-IOS-XR-optics-driver-cfg&revision=2022-05-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-remote-attestation-act?module=Cisco-IOS-XR-remote-attestation-act&revision=2021-03-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-nacm-oper?module=Cisco-IOS-XR-aaa-nacm-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-oper?module=Cisco-IOS-XR-segment-routing-srv6-oper&revision=2022-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-cfg?module=Cisco-IOS-XR-um-line-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-cfg?module=Cisco-IOS-XR-manageability-perfmgmt-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-asic-errors-oper?module=Cisco-IOS-XR-asic-errors-oper&revision=2020-11-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-orrspf-oper?module=Cisco-IOS-XR-orrspf-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-bfd-sbfd-cfg?module=Cisco-IOS-XR-um-bfd-sbfd-cfg&revision=2020-12-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-act?module=Cisco-IOS-XR-ipv6-ospfv3-act&revision=2020-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-wd-death-notif-configured-proc-oper?module=Cisco-IOS-XR-wd-death-notif-configured-proc-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-datatypes?module=Cisco-IOS-XR-infra-alarm-logger-datatypes&revision=2019-04-05 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2019-07-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-timestamp-cfg?module=Cisco-IOS-XR-um-line-timestamp-cfg&revision=2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-daps-cfg?module=Cisco-IOS-XR-ip-daps-cfg&revision=2020-10-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg?module=Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg&revision=2021-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-opticalmib-cfg?module=Cisco-IOS-XR-opticalmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-fpmgr-oper?module=Cisco-IOS-XR-fpmgr-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-datatypes?module=Cisco-IOS-XR-Ethernet-SPAN-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-oper?module=Cisco-IOS-XR-sysmgr-oper&revision=2021-04-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-ems-cfg?module=Cisco-IOS-XR-man-ems-cfg&revision=2022-09-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipsubscriber-cfg?module=Cisco-IOS-XR-um-if-ipsubscriber-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-traceroute-act?module=Cisco-IOS-XR-traceroute-act&revision=2021-03-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-crypto-cfg?module=Cisco-IOS-XR-um-crypto-cfg&revision=2022-05-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-http-lighttpd-yang-cfg?module=Cisco-IOS-XR-man-http-lighttpd-yang-cfg&revision=2019-04-05 + http://openconfig.net/yang/policy-forwarding/sr-te?module=openconfig-pf-srte&revision=2019-10-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-ofa-table-stats-oper?module=Cisco-IOS-XR-platforms-ofa-table-stats-oper&revision=2022-10-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-oper?module=Cisco-IOS-XR-ipv4-ospf-oper&revision=2021-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-accounting-cfg?module=Cisco-IOS-XR-um-subscriber-accounting-cfg&revision=2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-password6-cfg?module=Cisco-IOS-XR-um-password6-cfg&revision=2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-speed-cfg?module=Cisco-IOS-XR-um-cont-optics-speed-cfg&revision=2022-02-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-ascii-ltrace-oper?module=Cisco-IOS-XR-ascii-ltrace-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-datatypes?module=Cisco-IOS-XR-l2-eth-infra-datatypes&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-http-client-cfg?module=Cisco-IOS-XR-um-http-client-cfg&revision=2022-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-io-cfg?module=Cisco-IOS-XR-ipv4-io-cfg&revision=2020-02-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg?module=Cisco-IOS-XR-drivers-media-eth-gl-pfc-wd-cfg&revision=2022-02-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-qos-oper?module=Cisco-IOS-XR-8000-qos-oper&revision=2021-06-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-pce-cfg?module=Cisco-IOS-XR-um-pce-cfg&revision=2021-07-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-vrf-cfg?module=Cisco-IOS-XR-um-if-vrf-cfg&revision=2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-convergence-cfg?module=Cisco-IOS-XR-um-router-convergence-cfg&revision=2020-12-14 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-hw-module-cfg?module=Cisco-IOS-XR-hw-module-cfg&revision=2020-05-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-mirror-oper?module=Cisco-IOS-XR-mirror-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-tcp-oper?module=Cisco-IOS-XR-ip-tcp-oper&revision=2021-05-21 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2021-03-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-mib-rfmib-cfg?module=Cisco-IOS-XR-snmp-mib-rfmib-cfg&revision=2019-04-05 + http://tail-f.com/ns/netconf/actions/1.0?module=tailf-actions&revision=2017-02-28 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-protocol-radius-cfg?module=Cisco-IOS-XR-aaa-protocol-radius-cfg&revision=2021-06-21 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2019-03-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-nsr-cfg?module=Cisco-IOS-XR-infra-nsr-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-cfg?module=Cisco-IOS-XR-um-logging-cfg&revision=2023-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-server-oper?module=Cisco-IOS-XR-tty-server-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-tacacs-server-cfg?module=Cisco-IOS-XR-um-aaa-tacacs-server-cfg&revision=2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-ifib-act?module=Cisco-IOS-XR-lpts-ifib-act&revision=2020-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-switch-act?module=Cisco-IOS-XR-switch-act&revision=2020-03-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-radius-server-cfg?module=Cisco-IOS-XR-um-aaa-radius-server-cfg&revision=2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-pim-cfg?module=Cisco-IOS-XR-um-router-pim-cfg&revision=2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-call-home-cfg?module=Cisco-IOS-XR-um-call-home-cfg&revision=2022-02-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-explicit-paths-cfg?module=Cisco-IOS-XR-um-explicit-paths-cfg&revision=2021-01-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-oper?module=Cisco-IOS-XR-freqsync-oper&revision=2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipv6-cfg?module=Cisco-IOS-XR-um-if-ipv6-cfg&revision=2020-10-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-bundlemgr-oper?module=Cisco-IOS-XR-bundlemgr-oper&revision=2022-02-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-filesystems-cfg?module=Cisco-IOS-XR-ipv4-filesystems-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ifmib-cfg?module=Cisco-IOS-XR-snmp-ifmib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-tc-oper?module=Cisco-IOS-XR-infra-tc-oper&revision=2020-07-26 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2018-04-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-link-oam-cfg?module=Cisco-IOS-XR-ethernet-link-oam-cfg&revision=2020-04-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-access-list-cfg?module=Cisco-IOS-XR-um-ipv4-access-list-cfg&revision=2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-optics-oper?module=Cisco-IOS-XR-controller-optics-oper&revision=2023-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-io-cfg?module=Cisco-IOS-XR-ipv6-io-cfg&revision=2019-10-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-nve-cfg?module=Cisco-IOS-XR-um-if-nve-cfg&revision=2022-03-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-ipsec-cfg?module=Cisco-IOS-XR-um-traps-ipsec-cfg&revision=2020-04-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-dhcp-client-options-cfg?module=Cisco-IOS-XR-um-if-dhcp-client-options-cfg&revision=2020-04-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-nd-oper?module=Cisco-IOS-XR-ipv6-nd-oper&revision=2019-11-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-mfwd-oper?module=Cisco-IOS-XR-mfwd-oper&revision=2020-10-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-nacm-cfg?module=Cisco-IOS-XR-aaa-nacm-cfg&revision=2020-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-bfd-cfg?module=Cisco-IOS-XR-ip-bfd-cfg&revision=2019-10-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-pd-oper?module=Cisco-IOS-XR-ptp-pd-oper&revision=2021-08-04 + http://openconfig.net/yang/platform/extension?module=openconfig-platform-ext&revision=2018-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-sysdb-oper?module=Cisco-IOS-XR-sysdb-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-encap-ambiguous-cfg?module=Cisco-IOS-XR-um-if-encap-ambiguous-cfg&revision=2021-12-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-display-qos-cfg?module=Cisco-IOS-XR-um-display-qos-cfg&revision=2020-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-cfg?module=Cisco-IOS-XR-lib-type6-cfg&revision=2019-04-05 + urn:ietf:params:xml:ns:yang:ietf-datastores?module=ietf-datastores&revision=2018-02-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-performance-measurement-cfg?module=Cisco-IOS-XR-um-performance-measurement-cfg&revision=2021-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-dwdm-cfg?module=Cisco-IOS-XR-um-cont-dwdm-cfg&revision=2021-02-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper?module=Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper&revision=2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-smiap-cfg?module=Cisco-IOS-XR-ipv6-smiap-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-license-smart-cfg?module=Cisco-IOS-XR-um-license-smart-cfg&revision=2021-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-adt-config-cfg?module=Cisco-IOS-XR-adt-config-cfg&revision=2020-10-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-security-diskenc-act?module=Cisco-IOS-XR-linux-security-diskenc-act&revision=2021-12-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-cfg?module=Cisco-IOS-XR-ipv6-acl-cfg&revision=2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-cfg?module=Cisco-IOS-XR-ipv4-acl-cfg&revision=2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg?module=Cisco-IOS-XR-snmp-ciscopkimib-traps-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-autorp-oper?module=Cisco-IOS-XR-ipv4-autorp-oper&revision=2019-08-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-interface-cfg?module=Cisco-IOS-XR-um-interface-cfg&revision=2021-05-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-invproxy-hwmodule-cfg?module=Cisco-IOS-XR-invproxy-hwmodule-cfg&revision=2020-12-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-profiling-cfg?module=Cisco-IOS-XR-um-lpts-profiling-cfg&revision=2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-cfg?module=Cisco-IOS-XR-ipv6-ospfv3-cfg&revision=2021-06-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-oc-pm-cfg?module=Cisco-IOS-XR-um-cont-oc-pm-cfg&revision=2020-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-diag-oper?module=Cisco-IOS-XR-invmgr-diag-oper&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-switch-oper?module=Cisco-IOS-XR-switch-oper&revision=2020-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-ztp-oper?module=Cisco-IOS-XR-ztp-oper&revision=2021-09-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-server-oper?module=Cisco-IOS-XR-lib-type6-server-oper&revision=2019-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-stats-oper?module=Cisco-IOS-XR-ofa-npu-stats-oper&revision=2023-07-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-openconfig-mpls-static-ext?module=Cisco-IOS-XR-openconfig-mpls-static-ext&revision=2022-05-12 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2021-08-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-platform-oper?module=Cisco-IOS-XR-smart-license-platform-oper&revision=2021-06-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-arp-cfg?module=Cisco-IOS-XR-um-if-arp-cfg&revision=2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-mpp-cfg?module=Cisco-IOS-XR-lib-mpp-cfg&revision=2021-08-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-ipsla-cfg?module=Cisco-IOS-XR-man-ipsla-cfg&revision=2019-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-fib-platform-cfg?module=Cisco-IOS-XR-8000-fib-platform-cfg&revision=2022-06-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entstatemib-cfg?module=Cisco-IOS-XR-snmp-entstatemib-cfg&revision=2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-act?module=Cisco-IOS-XR-lib-type6-act&revision=2021-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-cfg?module=Cisco-IOS-XR-drivers-media-eth-cfg&revision=2022-04-04 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-system-recovery-cfg?module=Cisco-IOS-XR-system-recovery-cfg&revision=2021-05-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-macsec-cfg?module=Cisco-IOS-XR-um-macsec-cfg&revision=2021-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospf-cfg?module=Cisco-IOS-XR-um-router-ospf-cfg&revision=2022-07-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-sbfd-oper?module=Cisco-IOS-XR-ip-sbfd-oper&revision=2020-07-01 + + diff --git a/vendor/cisco/xr/755/check-models.sh b/vendor/cisco/xr/755/check-models.sh new file mode 100755 index 000000000..719677aad --- /dev/null +++ b/vendor/cisco/xr/755/check-models.sh @@ -0,0 +1,117 @@ +#!/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.7.4. 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. +# +EGREP=`command -v egrep` +GREP=`command -v grep` +PYANG=`command -v pyang` +CHECK_BC="" +PYANG_FLAGS="-p ../../../../standard/ietf/DRAFT" + +# +# 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 " -b Check backwards compatibility\n" + printf "\n" +} + +OPTIND=1 +while getopts "hb:" opt; do + case "$opt" in + h|\?) + show_help + exit 0 + ;; + b) CHECK_BC="$OPTARG" + ;; + esac +done + +# +# Run pyang over all the yang modules, ignoring certain errors and +# warnings. +# +echo Checking all models with "--lint" flag +for m in *.yang +do + pyang $PYANG_FLAGS --lint $m 2>&1 | \ + grep -v "warning: RFC 8407" | \ + grep -v "error: RFC 8407: 4.3" | \ + grep -v "error: RFC 8407: 4.8" | \ + grep -v "error: RFC 8407: 4.13,4.14" | \ + grep -v "error: RFC 8407: 4.14" | \ + grep -v "not in canonical order" | \ + grep -v "warning: locally scoped grouping" | \ + egrep -v "warning: imported module\s[a-zA-Z0-9\-]+\snot used" +done + +# +# Check if we're doing a BC check, if not, exit status 0 +# +if [ -z "$CHECK_BC" ]; then + exit 0 +fi + +# +# Run pyang over all the models in the 711 directory that also exist +# in the 721 peer directory, using the --check-update-from option. +# This requires pyang 1.7.4 or better, so we check this first. +# +version=`pyang --version | awk '{print $NF}'` +if ! awk -v ver="$version" 'BEGIN { if (ver < 1.7.4) exit 1; }'; then + printf 'ERROR: pyang version 1.7.4 or higher required\n' + exit 1 +fi +UPDATE_FROM_PATH=../../../../standard/ietf/RFC +echo Comparing all models that also exist in ../$CHECK_BC AND that have +echo changed since version that version with "--check-update-from" flag: +echo +for m in *.yang +do + VER_FROM="../$CHECK_BC/$m" + if [ -e "$VER_FROM" ] + then + DIFF=`diff $VER_FROM $m` + if [ ! -z "$DIFF" ] + then + pyang \ + --check-update-from $VER_FROM \ + --check-update-from-path $UPDATE_FROM_PATH \ + $m + fi + fi +done diff --git a/vendor/cisco/xr/755/cisco-semver.yang b/vendor/cisco/xr/755/cisco-semver.yang new file mode 100644 index 000000000..bfc4c30ff --- /dev/null +++ b/vendor/cisco/xr/755/cisco-semver.yang @@ -0,0 +1,87 @@ +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-13 { + 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/xr/755/cisco-xr-ietf-netconf-acm-deviations.yang b/vendor/cisco/xr/755/cisco-xr-ietf-netconf-acm-deviations.yang new file mode 100644 index 000000000..6aa09b848 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-ietf-netconf-acm-deviations.yang @@ -0,0 +1,60 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-ietf-netconf-acm-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-ietf-netconf-acm-deviations"; + prefix "nacmdevs"; + + import ietf-netconf-acm { prefix nacm; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + ietf-netconf-acm.yang@2012-02-22 + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2017-08-02" { + description + "Initial revision applicable to IOS-XR 6.2.1"; + } + + + deviation /nacm:nacm/nacm:enable-nacm { + deviate not-supported; + } + + deviation /nacm:nacm/nacm:denied-notifications { + deviate not-supported; + } + + /* Commenting below deviation, as it is throwing error in pyang 1.6 */ + /* NACM team to take a look */ + /* + deviation /nacm:nacm/nacm:rule-list/nacm:rule/nacm:notification-name { + deviate not-supported; + } + */ + + +} +//total deviations:3 + diff --git a/vendor/cisco/xr/755/cisco-xr-ietf-netconf-monitoring-deviations.yang b/vendor/cisco/xr/755/cisco-xr-ietf-netconf-monitoring-deviations.yang new file mode 100644 index 000000000..84875f579 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-ietf-netconf-monitoring-deviations.yang @@ -0,0 +1,52 @@ +module cisco-xr-ietf-netconf-monitoring-deviations { + + /*** NAMESPACE / PREFIX DEFINITION ***/ + + namespace "http://cisco.com/ns/yang/cisco-xr-ietf-netconf-monitoring-deviations"; + + prefix "cisco-xr-ietf-ncm-devs"; + + /*** LINKAGE (IMPORTS / INCLUDES) ***/ + import ietf-netconf-monitoring { prefix ncm; } + + /*** META INFORMATION ***/ + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations of IETF netconf monitoring data + model set for Cisco IOS-XR. + + Copyright (c) 2016, 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision "2018-04-09" { + description + "We now support sessions and statistics and these have been removed + from the deviations"; + } + + revision "2016-02-16" { + description + "Initial revision applicable to IOS-XR 6.0.1 and older releases"; + } + + deviation /ncm:netconf-state/ncm:capabilities { + deviate not-supported; + } + + deviation /ncm:netconf-state/ncm:datastores { + deviate not-supported; + } + +} diff --git a/vendor/cisco/xr/755/cisco-xr-ietf-yang-library-deviations.yang b/vendor/cisco/xr/755/cisco-xr-ietf-yang-library-deviations.yang new file mode 100644 index 000000000..7edf37c10 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-ietf-yang-library-deviations.yang @@ -0,0 +1,49 @@ +module cisco-xr-ietf-yang-library-deviations { + + /*** NAMESPACE / PREFIX DEFINITION ***/ + + namespace "http://cisco.com/ns/yang/cisco-xr-ietf-yang-library-deviations"; + + prefix "cisco-xr-ietf-yanglib-devs"; + + /*** LINKAGE (IMPORTS / INCLUDES) ***/ + import ietf-yang-library { prefix yanglib; } + + /*** META INFORMATION ***/ + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations of IETF YANG Library data + model set for Cisco IOS-XR. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-10-21" { + description + "Initial revision applicable to IOS-XR 7.2.1 and older releases"; + } + + deviation /yanglib:modules-state { + deviate not-supported; + } + + deviation /yanglib:yang-library-update { + deviate not-supported; + } + + deviation /yanglib:yang-library-change { + deviate not-supported; + } +} diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-acl-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-acl-deviations.yang new file mode 100644 index 000000000..24263bc04 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-acl-deviations.yang @@ -0,0 +1,181 @@ +module cisco-xr-openconfig-acl-deviations { + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-acl-deviations"; + prefix oc-acldevs; + + import openconfig-acl { + prefix oc-acl; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a set of deviations for + + openconfig-acl.yang@2017-05-26 + + on Cisco IOS-XR devices. + + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision "2021-12-17" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + deviation "/oc-acl:acl/oc-acl:state/oc-acl:counter-capability" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:config/oc-acl:description" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:state/oc-acl:name" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:state/oc-acl:type" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:state/oc-acl:description" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:config/oc-acl:description" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:state/oc-acl:sequence-id" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:state/oc-acl:description" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:state/oc-acl:matched-packets" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:state/oc-acl:matched-octets" { + deviate not-supported; + } + 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:state/oc-acl:source-mac" { + deviate not-supported; + } + 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:state/oc-acl:source-mac-mask" { + deviate not-supported; + } + 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:state/oc-acl:destination-mac" { + deviate not-supported; + } + 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:state/oc-acl:destination-mac-mask" { + deviate not-supported; + } + 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:state/oc-acl:ethertype" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv4/oc-acl:state/oc-acl:source-address" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv4/oc-acl:state/oc-acl:destination-address" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv4/oc-acl:state/oc-acl:dscp" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv4/oc-acl:config/oc-acl:dscp-set" { + deviate add { + max-elements "2"; + } + } + deviation /oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv4/oc-acl:state/oc-acl:dscp-set { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv4/oc-acl:state/oc-acl:protocol" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv4/oc-acl:state/oc-acl:hop-limit" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:config/oc-acl:source-flow-label" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:config/oc-acl:destination-flow-label" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:source-address" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:source-flow-label" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:destination-address" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:destination-flow-label" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:dscp" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:config/oc-acl:dscp-set" { + deviate add { + max-elements "2"; + } + } + deviation /oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:dscp-set { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:protocol" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:ipv6/oc-acl:state/oc-acl:hop-limit" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:mpls/oc-acl:config" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:mpls/oc-acl:state" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:transport/oc-acl:state/oc-acl:source-port" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:transport/oc-acl:state/oc-acl:destination-port" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:transport/oc-acl:state/oc-acl:tcp-flags" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:input-interface/oc-acl:interface-ref" { + deviate not-supported; + } + 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:state/oc-acl:forwarding-action" { + deviate not-supported; + } + 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:state/oc-acl:log-action" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:state/oc-acl:id" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:interface-ref/oc-acl:state" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:ingress-acl-sets/oc-acl:ingress-acl-set/oc-acl:state" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:ingress-acl-sets/oc-acl:ingress-acl-set/oc-acl:acl-entries/oc-acl:acl-entry" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:egress-acl-sets/oc-acl:egress-acl-set/oc-acl:state" { + deviate not-supported; + } + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:egress-acl-sets/oc-acl:egress-acl-set/oc-acl:acl-entries/oc-acl:acl-entry" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-alarms-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-alarms-deviations.yang new file mode 100644 index 000000000..630618feb --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-alarms-deviations.yang @@ -0,0 +1,52 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-alarms-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-alarms-deviations"; + prefix "oc-alarmsdevs"; + + import openconfig-alarms { prefix oc-alarms; } + import openconfig-platform { prefix oc-platform; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-alarms.yang@2018-01-16 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-11-14" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-alarms:equipment-failure { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-alarms:equipment-mismatch { + deviate not-supported; + } + + +} +//total deviations:2 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-bfd-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-bfd-deviations.yang new file mode 100644 index 000000000..c9775a362 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-bfd-deviations.yang @@ -0,0 +1,154 @@ + module cisco-xr-openconfig-bfd-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-bfd-deviations"; + prefix "bfddevs"; + + // import some basic types + import openconfig-bfd { prefix "oc-bfd"; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-bfdp.yang@2019-05-06 + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-05-06" { + description + "Initial revision applicable to IOS-XR 7.1.1"; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:config/oc-bfd:enable-per-member-link { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:state/oc-bfd:enable-per-member-link { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:interface-ref/oc-bfd:config/oc-bfd:interface { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:interface-ref/oc-bfd:config/oc-bfd:subinterface { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:interface-ref/oc-bfd:state/oc-bfd:interface { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:interface-ref/oc-bfd:state/oc-bfd:subinterface { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:config/oc-bfd:local-address { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:config/oc-bfd:remote-address { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:config/oc-bfd:member-interface { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:local-address { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:remote-address { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:member-interface { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:session-state { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:remote-session-state { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:last-failure-time { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:failure-transitions { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:local-discriminator { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:remote-discriminator { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:local-diagnostic-code { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:remote-diagnostic-code { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:remote-minimum-receive-interval { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:demand-mode-requested { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:remote-authentication-enabled { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:remote-control-plane-independent { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:async/oc-bfd:last-packet-transmitted { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:async/oc-bfd:last-packet-received { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:async/oc-bfd:transmitted-packets { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:async/oc-bfd:received-packets { + deviate not-supported; + } + + deviation /oc-bfd:bfd/oc-bfd:interfaces/oc-bfd:interface/oc-bfd:micro-bfd-sessions/oc-bfd:micro-bfd-session/oc-bfd:state/oc-bfd:async/oc-bfd:up-transitions { + deviate not-supported; + } +} +//total deviations:29 diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-bgp-policy-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-bgp-policy-deviations.yang new file mode 100644 index 000000000..b2c578849 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-bgp-policy-deviations.yang @@ -0,0 +1,48 @@ +module cisco-xr-openconfig-bgp-policy-deviations { + + /*** NAMESPACE / PREFIX DEFINITION ***/ + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-bgp-policy-deviations"; + + + prefix "cisco-xr-oc-bgp-pol-devs"; + + /*** LINKAGE (IMPORTS / INCLUDES) ***/ + import openconfig-routing-policy { prefix rpol; } + import openconfig-bgp-policy { prefix bgp-pol; } + + /*** META INFORMATION ***/ + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains the deviations of Open Config BGP Policy YANG + set for Cisco IOS-XR. + + Copyright (c) 2015-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-08-31" { + description + "Updated revision applicable to IOS-XR 7.1.1"; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:conditions/bgp-pol:bgp-conditions/bgp-pol:config/bgp-pol:afi-safi-in { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:conditions/bgp-pol:bgp-conditions/bgp-pol:state/bgp-pol:afi-safi-in { + deviate not-supported; + } + +} diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-if-ethernet-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-if-ethernet-deviations.yang new file mode 100644 index 000000000..5ab24eff9 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-if-ethernet-deviations.yang @@ -0,0 +1,66 @@ + module cisco-xr-openconfig-if-ethernet-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-if-ethernet-deviations"; + prefix "ethdevs"; + + import openconfig-interfaces { prefix oc-if; } + import openconfig-if-ethernet { prefix eth; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-if-ethernet.yang@2015-11-20 + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2022-06-06" { + description + "Config and state standalone-link-training leaf nodes + marked unsupported as these are not supported in IOS-XR"; + } + + revision "2016-05-16" { + description + "Initial revision applicable to IOS-XR 6.1.1"; + } + + + deviation /oc-if:interfaces/oc-if:interface/eth:ethernet/eth:state/eth:counters/eth:in-mac-control-frames { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/eth:ethernet/eth:state/eth:counters/eth:out-mac-control-frames { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/eth:ethernet/eth:state/eth:counters/eth:in-block-errors { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/eth:ethernet/eth:config/eth:standalone-link-training { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/eth:ethernet/eth:state/eth:standalone-link-training { + deviate not-supported; + } + +} +//total deviations:5 diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-deviations.yang new file mode 100644 index 000000000..f84c388f9 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-deviations.yang @@ -0,0 +1,462 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-if-ip-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-if-ip-deviations"; + prefix "oc-ipdevs"; + + import openconfig-if-ip { prefix oc-ip; } + import openconfig-vlan { prefix oc-vlan; } + import openconfig-interfaces { prefix oc-if; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-if-ip.yang@2016-05-26 + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2017-02-07" { + description + "Initial revision applicable to IOS-XR 6.2.1"; + } + + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:config/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:state/oc-ip:enabled { + deviate not-supported; + } + + /* + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:subinterface { + deviate not-supported; + } + */ + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:config/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:config/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:state/oc-ip:enabled { + deviate not-supported; + } + + /* + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:subinterface { + deviate not-supported; + } + */ + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state { + deviate not-supported; + } + + 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; + } + + 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; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:addresses/oc-ip:address { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:proxy-arp/oc-ip:config/oc-ip:mode { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:proxy-arp/oc-ip:state/oc-ip:mode { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:neighbors/oc-ip:neighbor { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:config/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:state/oc-ip:enabled { + deviate not-supported; + } + + /* + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:subinterface { + deviate not-supported; + } + */ + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:config/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:config/oc-ip:mtu { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:config/oc-ip:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:mtu { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:in-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:state/oc-ip:counters/oc-ip:out-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:addresses/oc-ip:address { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:router-advertisement/oc-ip:config/oc-ip:interval { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:router-advertisement/oc-ip:config/oc-ip:lifetime { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:router-advertisement/oc-ip:config/oc-ip:suppress { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:router-advertisement/oc-ip:state/oc-ip:interval { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:router-advertisement/oc-ip:state/oc-ip:lifetime { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:router-advertisement/oc-ip:state/oc-ip:suppress { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:neighbors/oc-ip:neighbor { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:config/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:state/oc-ip:enabled { + deviate not-supported; + } + + /* + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config/oc-ip:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state/oc-ip:subinterface { + deviate not-supported; + } + */ + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:config { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:unnumbered/oc-ip:interface-ref/oc-ip:state { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:config/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:config/oc-ip:mtu { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:config/oc-ip:dup-addr-detect-transmits { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:config/oc-ip:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:mtu { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:dup-addr-detect-transmits { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:in-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:state/oc-ip:counters/oc-ip:out-discarded-pkts { + deviate not-supported; + } + + +} +//total deviations:102 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-ext-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-ext-deviations.yang new file mode 100644 index 000000000..f985949fe --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-if-ip-ext-deviations.yang @@ -0,0 +1,69 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-if-ip-ext-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-if-ip-ext-deviations"; + prefix "oc-ip-extdevs"; + + import openconfig-if-ip { prefix oc-ip; } + import openconfig-if-ip-ext { prefix oc-ip-ext; } + import openconfig-interfaces { prefix oc-if; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-if-ip-ext.yang@2018-11-21 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-09-13" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip-ext:autoconf/oc-ip-ext:config/oc-ip-ext:create-temporary-addresses { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip-ext:autoconf/oc-ip-ext:config/oc-ip-ext:temporary-valid-lifetime { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip-ext:autoconf/oc-ip-ext:config/oc-ip-ext:temporary-preferred-lifetime { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip-ext:autoconf/oc-ip-ext:state/oc-ip-ext:create-temporary-addresses { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip-ext:autoconf/oc-ip-ext:state/oc-ip-ext:temporary-valid-lifetime { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip-ext:autoconf/oc-ip-ext:state/oc-ip-ext:temporary-preferred-lifetime { + deviate not-supported; + } + + +} +//total deviations:6 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-if-tunnel-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-if-tunnel-deviations.yang new file mode 100644 index 000000000..ebf0c4883 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-if-tunnel-deviations.yang @@ -0,0 +1,302 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-if-tunnel-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-if-tunnel-deviations"; + prefix "oc-tundevs"; + + import openconfig-if-tunnel { prefix oc-tun; } + import openconfig-interfaces { prefix oc-if; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-if-tunnel.yang@2018-11-21 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision "2022-04-22" { + description + "Removed duplicate entries"; + } + + revision "2022-03-08" { + description + "Disabled unsupported nodes"; + } + + revision "2020-03-20" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:addresses/oc-tun:address { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:proxy-arp/oc-tun:config/oc-tun:mode { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:proxy-arp/oc-tun:state/oc-tun:mode { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:neighbors/oc-tun:neighbor { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:unnumbered/oc-tun:config/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:unnumbered/oc-tun:state/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:config/oc-tun:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:config/oc-tun:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:state/oc-tun:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:state/oc-tun:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:config/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:config/oc-tun:mtu { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:config/oc-tun:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:mtu { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:in-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:in-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:in-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:in-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:in-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:in-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:out-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:out-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:out-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:out-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:out-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv4/oc-tun:state/oc-tun:counters/oc-tun:out-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:addresses/oc-tun:address/oc-tun:state/oc-tun:origin { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:router-advertisement/oc-tun:config/oc-tun:interval { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:router-advertisement/oc-tun:config/oc-tun:lifetime { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:router-advertisement/oc-tun:config/oc-tun:suppress { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:router-advertisement/oc-tun:state/oc-tun:interval { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:router-advertisement/oc-tun:state/oc-tun:lifetime { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:router-advertisement/oc-tun:state/oc-tun:suppress { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:neighbors/oc-tun:neighbor { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:unnumbered/oc-tun:config/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:unnumbered/oc-tun:state/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:config/oc-tun:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:config/oc-tun:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:state/oc-tun:interface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:unnumbered/oc-tun:interface-ref/oc-tun:state/oc-tun:subinterface { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:config/oc-tun:dup-addr-detect-transmits { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:config/oc-tun:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:dup-addr-detect-transmits { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:dhcp-client { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:in-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:in-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:in-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:in-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:in-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:out-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:out-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:out-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:out-forwarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:out-forwarded-octets { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:out-discarded-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:counters/oc-tun:in-error-pkts { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:addresses/oc-tun:address/oc-tun:state/oc-tun:status { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:config/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:enabled { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-tun:tunnel/oc-tun:ipv6/oc-tun:state/oc-tun:mtu { + deviate not-supported; + } + + +} +//total deviations:57 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-interfaces-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-interfaces-deviations.yang new file mode 100644 index 000000000..3ae2be01d --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-interfaces-deviations.yang @@ -0,0 +1,50 @@ + module cisco-xr-openconfig-interfaces-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-interfaces-deviations"; + prefix "ocifdevs"; + + import openconfig-interfaces { prefix oc-if; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-interfaces.yang@2015-11-20 + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2016-05-16" { + description + "Initial revision applicable to IOS-XR 6.1.1"; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:config/oc-if:enabled { + deviate delete { + default true; + } + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:state/oc-if:enabled { + deviate delete { + default true; + } + } + +} +//total deviations:2 diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-isis-policy-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-isis-policy-deviations.yang new file mode 100644 index 000000000..da74f123b --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-isis-policy-deviations.yang @@ -0,0 +1,71 @@ +module cisco-xr-openconfig-isis-policy-deviations { + + /*** NAMESPACE / PREFIX DEFINITION ***/ + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-isis-policy-deviations"; + + + prefix "cisco-xr-oc-isis-pol-devs"; + + /*** LINKAGE (IMPORTS / INCLUDES) ***/ + import openconfig-routing-policy { prefix rpol; } + import openconfig-isis-policy { prefix isis-pol; } + + /*** META INFORMATION ***/ + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains the deviations of Open Config ISIS Policy YANG + set for Cisco IOS-XR. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-06-10" { + description + "Updated revision applicable to IOS-XR 7.1.1"; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:conditions/isis-pol:isis-conditions/isis-pol:config/isis-pol:level-eq { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:conditions/isis-pol:isis-conditions/isis-pol:state/isis-pol:level-eq { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:actions/isis-pol:isis-actions/isis-pol:config/isis-pol:set-level { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:actions/isis-pol:isis-actions/isis-pol:state/isis-pol:set-level { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:actions/isis-pol:isis-actions/isis-pol:config/isis-pol:set-metric-type { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:actions/isis-pol:isis-actions/isis-pol:state/isis-pol:set-metric-type { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:actions/isis-pol:isis-actions/isis-pol:config/isis-pol:set-metric { + deviate not-supported; + } + + deviation /rpol:routing-policy/rpol:policy-definitions/rpol:policy-definition/rpol:statements/rpol:statement/rpol:actions/isis-pol:isis-actions/isis-pol:state/isis-pol:set-metric { + deviate not-supported; + } +} diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-lacp-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-lacp-deviations.yang new file mode 100644 index 000000000..b2d117148 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-lacp-deviations.yang @@ -0,0 +1,55 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-lacp-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-lacp-deviations"; + prefix "oc-lacpdevs"; + + import openconfig-lacp { prefix oc-lacp; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-lacp.yang@2017-05-05 + + on Cisco IOS-XR devices. + + Copyright (c) 2017-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-09-10" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:config/oc-lacp:name { + deviate not-supported; + } + + deviation /oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:state/oc-lacp:interval { + 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/oc-lacp:lacp-tx-errors { + deviate not-supported; + } + + +} +//total deviations:3 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-local-routing-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-local-routing-deviations.yang new file mode 100644 index 000000000..7a49039d0 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-local-routing-deviations.yang @@ -0,0 +1,56 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-local-routing-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-local-routing-deviations"; + prefix "oc-loc-rtdevs"; + + import openconfig-local-routing { prefix oc-loc-rt; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-local-routing.yang@2017-05-15 + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2017-06-28" { + description + "Initial revision applicable to IOS-XR 6.2.1"; + } + + + deviation /oc-loc-rt:local-routes/oc-loc-rt:static-routes/oc-loc-rt:static/oc-loc-rt:next-hops/oc-loc-rt:next-hop/oc-loc-rt:config/oc-loc-rt:recurse { + deviate not-supported; + } + + deviation /oc-loc-rt:local-routes/oc-loc-rt:static-routes/oc-loc-rt:static/oc-loc-rt:next-hops/oc-loc-rt:next-hop/oc-loc-rt:state/oc-loc-rt:recurse { + deviate not-supported; + } + + deviation /oc-loc-rt:local-routes/oc-loc-rt:local-aggregates/oc-loc-rt:aggregate { + deviate not-supported; + } + + +} +//total deviations:3 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-macsec-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-macsec-deviations.yang new file mode 100644 index 000000000..274711ae0 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-macsec-deviations.yang @@ -0,0 +1,95 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-macsec-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-macsec-deviations"; + prefix "oc-macsecdevs"; + + import openconfig-macsec { prefix oc-macsec; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-macsec.yang@2020-05-01 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision "2022-05-04" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-macsec:macsec/oc-macsec:mka/oc-macsec:policies/oc-macsec:policy/oc-macsec:config/oc-macsec:sak-rekey-on-live-peer-loss { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:mka/oc-macsec:policies/oc-macsec:policy/oc-macsec:config/oc-macsec:use-updated-eth-header { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:mka/oc-macsec:policies/oc-macsec:policy/oc-macsec:state/oc-macsec:sak-rekey-on-live-peer-loss { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:mka/oc-macsec:policies/oc-macsec:policy/oc-macsec:state/oc-macsec:use-updated-eth-header { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:mka/oc-macsec:key-chains/oc-macsec:key-chain/oc-macsec:mka-keys/oc-macsec:mka-key/oc-macsec:state/oc-macsec:key-clear-text { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:config/oc-macsec:enable { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:config/oc-macsec:replay-protection { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:state/oc-macsec:enable { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:state/oc-macsec:replay-protection { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:scsa-tx/oc-macsec:scsa-tx/oc-macsec:state/oc-macsec:counters/oc-macsec:sc-auth-only { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:scsa-tx/oc-macsec:scsa-tx/oc-macsec:state/oc-macsec:counters/oc-macsec:sa-auth-only { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:mka/oc-macsec:state/oc-macsec:counters/oc-macsec:in-cak-mkpdu { + deviate not-supported; + } + + deviation /oc-macsec:macsec/oc-macsec:interfaces/oc-macsec:interface/oc-macsec:mka/oc-macsec:state/oc-macsec:counters/oc-macsec:out-cak-mkpdu { + deviate not-supported; + } + + +} +//total deviations:13 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-network-instance-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-network-instance-deviations.yang new file mode 100644 index 000000000..636a0ad63 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-network-instance-deviations.yang @@ -0,0 +1,2689 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-network-instance-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-network-instance-deviations"; + prefix "oc-netinstdevs"; + + import openconfig-network-instance { prefix oc-netinst; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-network-instance.yang@2017-01-13 + + on Cisco IOS-XR devices. + + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision "2021-08-20" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:config/oc-netinst:mac-learning { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:config/oc-netinst:mac-aging-time { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:config/oc-netinst:maximum-entries { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:state/oc-netinst:mac-learning { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:state/oc-netinst:mac-aging-time { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:state/oc-netinst:maximum-entries { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:mac-table/oc-netinst:entries/oc-netinst:entry { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:config/oc-netinst:type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:config/oc-netinst:router-id { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:config/oc-netinst:mtu { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:state/oc-netinst:router-id { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:state/oc-netinst:mtu { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:encapsulation/oc-netinst:config/oc-netinst:encapsulation-type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:encapsulation/oc-netinst:config/oc-netinst:label-allocation-mode { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:encapsulation/oc-netinst:config/oc-netinst:control-word { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:encapsulation/oc-netinst:state/oc-netinst:encapsulation-type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:encapsulation/oc-netinst:state/oc-netinst:label-allocation-mode { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:encapsulation/oc-netinst:state/oc-netinst:control-word { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:export-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-export-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:export-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-export-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:table-connections/oc-netinst:table-connection/oc-netinst:config/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:table-connections/oc-netinst:table-connection/oc-netinst:config/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:table-connections/oc-netinst:table-connection/oc-netinst:state/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:table-connections/oc-netinst:table-connection/oc-netinst:state/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:config/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:config/oc-netinst:subinterface { + deviate not-supported; + } + + 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; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:state/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:state/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:tables/oc-netinst:table/oc-netinst:config/oc-netinst:protocol { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:tables/oc-netinst:table/oc-netinst:config/oc-netinst:address-family { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:connection-points/oc-netinst:connection-point { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:config/oc-netinst:ttl-propagation { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:config/oc-netinst:pw-encapsulation { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:state/oc-netinst:ttl-propagation { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:state/oc-netinst:pw-encapsulation { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:config/oc-netinst:interface-id { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:config/oc-netinst:mpls-enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:state/oc-netinst:interface-id { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:state/oc-netinst:mpls-enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:global/oc-netinst:interface-attributes/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-global-attributes/oc-netinst:srlgs/oc-netinst:srlg/oc-netinst:config/oc-netinst:flooding-type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:igp-flooding-bandwidth/oc-netinst:config/oc-netinst:threshold-type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:igp-flooding-bandwidth/oc-netinst:config/oc-netinst:delta-percentage { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:igp-flooding-bandwidth/oc-netinst:config/oc-netinst:threshold-specification { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:igp-flooding-bandwidth/oc-netinst:config/oc-netinst:up-down-thresholds { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:te-interface-attributes/oc-netinst:interface/oc-netinst:igp-flooding-bandwidth/oc-netinst:state/oc-netinst:up-down-thresholds { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:global/oc-netinst:hellos/oc-netinst:config/oc-netinst:refresh-reduction { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:state/oc-netinst:counters/oc-netinst:rate-limited-messages { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:hellos/oc-netinst:config/oc-netinst:hello-interval { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:authentication/oc-netinst:config/oc-netinst:enable { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:protection/oc-netinst:config/oc-netinst:bypass-optimize-interval { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:rsvp-te/oc-netinst:interface-attributes/oc-netinst:interface/oc-netinst:protection/oc-netinst:state/oc-netinst:bypass-optimize-interval { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:segment-routing/oc-netinst:aggregate-sid-counters/oc-netinst:aggregate-sid-counter { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:signaling-protocols/oc-netinst:segment-routing/oc-netinst:interfaces/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:named-explicit-paths/oc-netinst:named-explicit-path/oc-netinst:config/oc-netinst:sid-selection-mode { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:named-explicit-paths/oc-netinst:named-explicit-path/oc-netinst:config/oc-netinst:sid-protection-required { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:named-explicit-paths/oc-netinst:named-explicit-path/oc-netinst:state/oc-netinst:sid-selection-mode { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:named-explicit-paths/oc-netinst:named-explicit-path/oc-netinst:state/oc-netinst:sid-protection-required { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:config/oc-netinst:signaling-protocol { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:config/oc-netinst:description { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:config/oc-netinst:preference { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:config/oc-netinst:reoptimize-timer { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:config/oc-netinst:source { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:state/oc-netinst:preference { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:bandwidth/oc-netinst:config/oc-netinst:specification-type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:bandwidth/oc-netinst:auto-bandwidth/oc-netinst:overflow/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:bandwidth/oc-netinst:auto-bandwidth/oc-netinst:underflow/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:config/oc-netinst:use-cspf { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:config/oc-netinst:cspf-tiebreaker { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:config/oc-netinst:path-computation-server { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:config/oc-netinst:setup-priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:config/oc-netinst:hold-priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:config/oc-netinst:retry-timer { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:state/oc-netinst:path-computation-server { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:state/oc-netinst:retry-timer { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:state/oc-netinst:spf-metric { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:state/oc-netinst:cspf-metric { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:candidate-secondary-paths/oc-netinst:candidate-secondary-path/oc-netinst:config/oc-netinst:secondary-path { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:candidate-secondary-paths/oc-netinst:candidate-secondary-path/oc-netinst:config/oc-netinst:priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:candidate-secondary-paths/oc-netinst:candidate-secondary-path/oc-netinst:state/oc-netinst:secondary-path { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:candidate-secondary-paths/oc-netinst:candidate-secondary-path/oc-netinst:state/oc-netinst:priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:candidate-secondary-paths/oc-netinst:candidate-secondary-path/oc-netinst:state/oc-netinst:active { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:candidate-secondary-paths/oc-netinst:candidate-secondary-path { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:admin-groups/oc-netinst:config/oc-netinst:include-all-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-primary-path/oc-netinst:p2p-primary-path/oc-netinst:admin-groups/oc-netinst:state/oc-netinst:include-all-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:name { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:path-computation-method { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:use-cspf { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:cspf-tiebreaker { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:path-computation-server { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:explicit-path-name { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:preference { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:setup-priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:hold-priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:config/oc-netinst:retry-timer { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:name { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:path-computation-method { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:use-cspf { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:cspf-tiebreaker { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:path-computation-server { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:explicit-path-name { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:preference { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:setup-priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:hold-priority { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:retry-timer { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:spf-metric { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:state/oc-netinst:cspf-metric { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:admin-groups/oc-netinst:config/oc-netinst:exclude-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:admin-groups/oc-netinst:config/oc-netinst:include-all-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:admin-groups/oc-netinst:config/oc-netinst:include-any-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:admin-groups/oc-netinst:state/oc-netinst:exclude-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:admin-groups/oc-netinst:state/oc-netinst:include-all-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path/oc-netinst:admin-groups/oc-netinst:state/oc-netinst:include-any-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls/oc-netinst:lsps/oc-netinst:constrained-path/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:p2p-tunnel-attributes/oc-netinst:p2p-secondary-paths/oc-netinst:p2p-secondary-path { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:segment-routing/oc-netinst:srgbs/oc-netinst:srgb/oc-netinst:config/oc-netinst:ipv6-prefixes { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:segment-routing/oc-netinst:srgbs/oc-netinst:srgb/oc-netinst:state/oc-netinst:ipv6-prefixes { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:segment-routing/oc-netinst:srgbs/oc-netinst:srgb/oc-netinst:state/oc-netinst:used { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:segment-routing/oc-netinst:srlbs/oc-netinst:srlb/oc-netinst:config/oc-netinst:ipv6-prefix { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:segment-routing/oc-netinst:srlbs/oc-netinst:srlb/oc-netinst:state/oc-netinst:ipv6-prefix { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:vlans/oc-netinst:vlan { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts/oc-netinst:ipv4-unicast/oc-netinst:ipv4-entry { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts/oc-netinst:ipv6-unicast/oc-netinst:ipv6-entry { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts/oc-netinst:policy-forwarding/oc-netinst:policy-forwarding-entry { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts/oc-netinst:mpls/oc-netinst:label-entry { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts/oc-netinst:ethernet/oc-netinst:mac-entry { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts/oc-netinst:next-hop-groups/oc-netinst:next-hop-group { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts/oc-netinst:next-hops/oc-netinst:next-hop { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:config/oc-netinst:default-metric { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:state/oc-netinst:default-metric { + deviate not-supported; + } + + 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; + } + + 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:state/oc-netinst:recurse { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:local-aggregates/oc-netinst:aggregate { + deviate not-supported; + } + + 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 not-supported; + } + + 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 not-supported; + } + + 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:state/oc-netinst:external-route-distance { + deviate not-supported; + } + + 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:state/oc-netinst:internal-route-distance { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ibgp/oc-netinst:config/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ibgp/oc-netinst:state/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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; + } + + 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 replace { + default true; + } + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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:state/oc-netinst:enabled { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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; + } + + 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 not-supported; + } + + 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; + } + + 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-next-hop-igp-metric { + deviate not-supported; + } + + 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:advertise-inactive-routes { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:config/oc-netinst:send-default-route { + deviate not-supported; + } + + 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/oc-netinst:state/oc-netinst:send-default-route { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:config/oc-netinst:send-default-route { + deviate not-supported; + } + + 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/oc-netinst:state/oc-netinst:send-default-route { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:max-prefixes { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:prevent-teardown { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:warning-threshold-pct { + deviate not-supported; + } + + 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/oc-netinst:prefix-limit/oc-netinst:state/oc-netinst:restart-timer { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:dynamic-neighbor-prefixes/oc-netinst:dynamic-neighbor-prefix { + deviate not-supported; + } + + 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; + } + + 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:remove-private-as { + deviate not-supported; + } + + 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; + } + + 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:send-community { + deviate not-supported; + } + + 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:remove-private-as { + deviate not-supported; + } + + 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:route-flap-damping { + deviate not-supported; + } + + 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:send-community { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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:hold-time { + deviate add { + must "../keepalive-interval"; + } + } + + 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:keepalive-interval { + deviate add { + must "../hold-time"; + } + } + + 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:mtu-discovery { + deviate not-supported; + } + + 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:mtu-discovery { + deviate not-supported; + } + + 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/oc-netinst:treat-as-withdraw { + deviate not-supported; + } + + 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:treat-as-withdraw { + deviate not-supported; + } + + 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; + } + + 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:enabled { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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:logging-options/oc-netinst:config/oc-netinst:log-neighbor-state-changes { + deviate not-supported; + } + + 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:logging-options/oc-netinst:state/oc-netinst:log-neighbor-state-changes { + deviate not-supported; + } + + 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:ebgp-multihop/oc-netinst:config/oc-netinst:multihop-ttl { + deviate add { + must "../enabled"; + } + } + + 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:route-reflector/oc-netinst:config/oc-netinst:route-reflector-client { + deviate not-supported; + } + + 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:route-reflector/oc-netinst:state/oc-netinst:route-reflector-client { + deviate not-supported; + } + + 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:allow-own-as { + deviate not-supported; + } + + 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; + } + + 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:replace-peer-as { + deviate not-supported; + } + + 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:allow-own-as { + deviate not-supported; + } + + 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; + } + + 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:replace-peer-as { + deviate not-supported; + } + + 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/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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:config/oc-netinst:enabled { + deviate not-supported; + } + + 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:receive { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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:receive { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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:import-policy { + deviate not-supported; + } + + 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; + } + + 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:export-policy { + deviate not-supported; + } + + 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; + } + + 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:import-policy { + deviate not-supported; + } + + 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; + } + + 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:export-policy { + deviate not-supported; + } + + 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; + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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; + } + + 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:remove-private-as { + deviate not-supported; + } + + 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; + } + + 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:send-community { + deviate not-supported; + } + + 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; + } + + 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:remove-private-as { + deviate not-supported; + } + + 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:route-flap-damping { + deviate not-supported; + } + + 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:send-community { + deviate not-supported; + } + + 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; + } + + 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:hold-time { + deviate add { + must "../keepalive-interval"; + } + } + + 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:keepalive-interval { + deviate add { + must "../hold-time"; + } + } + + 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; + } + + 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:mtu-discovery { + deviate not-supported; + } + + 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:mtu-discovery { + deviate not-supported; + } + + 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/oc-netinst:treat-as-withdraw { + deviate not-supported; + } + + 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:state/oc-netinst:treat-as-withdraw { + deviate not-supported; + } + + 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:enabled { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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:logging-options/oc-netinst:config/oc-netinst:log-neighbor-state-changes { + deviate not-supported; + } + + 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:logging-options/oc-netinst:state/oc-netinst:log-neighbor-state-changes { + deviate not-supported; + } + + 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:ebgp-multihop/oc-netinst:config/oc-netinst:multihop-ttl { + deviate add { + must "../enabled"; + } + } + + 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:route-reflector/oc-netinst:config/oc-netinst:route-reflector-client { + deviate not-supported; + } + + 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:route-reflector/oc-netinst:state/oc-netinst:route-reflector-client { + deviate not-supported; + } + + 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:allow-own-as { + deviate not-supported; + } + + 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; + } + + 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:replace-peer-as { + deviate not-supported; + } + + 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:allow-own-as { + deviate not-supported; + } + + 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:replace-peer-as { + deviate not-supported; + } + + 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; + } + + 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/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ibgp/oc-netinst:config/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ibgp/oc-netinst:state/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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:graceful-restart/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + 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:graceful-restart/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + 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:receive { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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:receive { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:config/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:allow-multiple-as { + deviate not-supported; + } + + 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/oc-netinst:ebgp/oc-netinst:state/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ibgp/oc-netinst:config/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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/oc-netinst:ibgp/oc-netinst:state/oc-netinst:maximum-paths { + deviate not-supported; + } + + 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:import-policy { + deviate not-supported; + } + + 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; + } + + 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:export-policy { + deviate not-supported; + } + + 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; + } + + 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:import-policy { + deviate not-supported; + } + + 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; + } + + 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:export-policy { + deviate not-supported; + } + + 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; + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:prevent-teardown { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:warning-threshold-pct { + deviate add { + must "../max-prefixes"; + } + } + + 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/oc-netinst:prefix-limit/oc-netinst:config/oc-netinst:restart-timer { + deviate add { + must "../max-prefixes"; + } + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:attr-sets/oc-netinst:attr-set/oc-netinst:tunnel-encapsulation/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:state/oc-netinst:colors { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:attr-sets/oc-netinst:attr-set/oc-netinst:tunnel-encapsulation/oc-netinst:tunnels/oc-netinst:tunnel/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:remote-endpoints { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:loc-rib/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:loc-rib/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-srte-policy/oc-netinst:loc-rib/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-srte-policy/oc-netinst:loc-rib/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-in-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-pre/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-srte-policy/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:adj-rib-out-post/oc-netinst:routes/oc-netinst:route/oc-netinst:state/oc-netinst:invalid-reason { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:config/oc-netinst:maximum-area-addresses { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:config/oc-netinst:poi-tlv { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:config/oc-netinst:iid-tlv { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:reference-bandwidth/oc-netinst:config/oc-netinst:reference-bandwidth { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:reference-bandwidth/oc-netinst:state/oc-netinst:reference-bandwidth { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:helper-only { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:mpls/oc-netinst:igp-ldp-sync/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:mpls/oc-netinst:igp-ldp-sync/oc-netinst:config/oc-netinst:post-session-up-delay { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:mpls/oc-netinst:igp-ldp-sync/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:mpls/oc-netinst:igp-ldp-sync/oc-netinst:state/oc-netinst:post-session-up-delay { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:igp-shortcuts/oc-netinst:afi { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:afi-safi/oc-netinst:af/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:segment-routing/oc-netinst:config/oc-netinst:srgb { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:segment-routing/oc-netinst:config/oc-netinst:srlb { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:segment-routing/oc-netinst:state/oc-netinst:srgb { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:segment-routing/oc-netinst:state/oc-netinst:srlb { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level1-to-level2/oc-netinst:config/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level1-to-level2/oc-netinst:config/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level1-to-level2/oc-netinst:state/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level1-to-level2/oc-netinst:state/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level2-to-level1/oc-netinst:config/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level2-to-level1/oc-netinst:config/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level2-to-level1/oc-netinst:state/oc-netinst:import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:global/oc-netinst:inter-level-propagation-policies/oc-netinst:level2-to-level1/oc-netinst:state/oc-netinst:default-import-policy { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:lsp-buffer-size/oc-netinst:state/oc-netinst:size { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:instance-ids/oc-netinst:instance-id { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:extended-is-reachability/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-attributes/oc-netinst:state/oc-netinst:local-protection { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:extended-is-reachability/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-protection-type/oc-netinst:state/oc-netinst:type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:extended-is-reachability/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:unconstrained-lsp/oc-netinst:state/oc-netinst:type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:extended-is-reachability/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:unconstrained-lsp/oc-netinst:state/oc-netinst:count { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:isis-neighbor-attribute/oc-netinst:neighbors/oc-netinst:neighbor { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:is-alias-id/oc-netinst:state/oc-netinst:alias-id { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-attributes/oc-netinst:state/oc-netinst:local-protection { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-protection-type/oc-netinst:state/oc-netinst:type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:unconstrained-lsp/oc-netinst:state/oc-netinst:type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:unconstrained-lsp/oc-netinst:state/oc-netinst:count { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-delay/oc-netinst:state/oc-netinst:a-bit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-delay/oc-netinst:state/oc-netinst:delay { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:min-max-link-delay/oc-netinst:state/oc-netinst:a-bit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:min-max-link-delay/oc-netinst:state/oc-netinst:min-delay { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:min-max-link-delay/oc-netinst:state/oc-netinst:max-delay { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-delay-variation/oc-netinst:state/oc-netinst:delay { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-loss/oc-netinst:state/oc-netinst:a-bit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:link-loss/oc-netinst:state/oc-netinst:link-loss { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:residual-bandwidth/oc-netinst:state/oc-netinst:bandwidth { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:available-bandwidth/oc-netinst:state/oc-netinst:type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:available-bandwidth/oc-netinst:state/oc-netinst:bandwidth { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:utilized-bandwidth/oc-netinst:state/oc-netinst:type { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isn/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:instances/oc-netinst:instance/oc-netinst:subtlvs/oc-netinst:subtlv/oc-netinst:utilized-bandwidth/oc-netinst:state/oc-netinst:bandwidth { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:link-state-database/oc-netinst:lsp/oc-netinst:tlvs/oc-netinst:tlv/oc-netinst:mt-isis-neighbor-attribute/oc-netinst:neighbors/oc-netinst:neighbor { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:authentication/oc-netinst:config/oc-netinst:csnp-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:authentication/oc-netinst:config/oc-netinst:psnp-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:authentication/oc-netinst:config/oc-netinst:lsp-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:authentication/oc-netinst:state/oc-netinst:csnp-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:authentication/oc-netinst:state/oc-netinst:psnp-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:levels/oc-netinst:level/oc-netinst:authentication/oc-netinst:state/oc-netinst:lsp-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:circuit-counters/oc-netinst:state/oc-netinst:init-fails { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:circuit-counters/oc-netinst:state/oc-netinst:auth-type-fails { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:circuit-counters/oc-netinst:state/oc-netinst:adj-number { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:authentication/oc-netinst:config/oc-netinst:hello-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:authentication/oc-netinst:state/oc-netinst:hello-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:config/oc-netinst:passive { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:state/oc-netinst:passive { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:lsp/oc-netinst:state/oc-netinst:dropped { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:lsp/oc-netinst:state/oc-netinst:retransmit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:iih/oc-netinst:state/oc-netinst:dropped { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:iih/oc-netinst:state/oc-netinst:retransmit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:ish/oc-netinst:state/oc-netinst:received { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:ish/oc-netinst:state/oc-netinst:processed { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:ish/oc-netinst:state/oc-netinst:dropped { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:ish/oc-netinst:state/oc-netinst:sent { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:ish/oc-netinst:state/oc-netinst:retransmit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:esh/oc-netinst:state/oc-netinst:received { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:esh/oc-netinst:state/oc-netinst:processed { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:esh/oc-netinst:state/oc-netinst:dropped { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:esh/oc-netinst:state/oc-netinst:sent { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:esh/oc-netinst:state/oc-netinst:retransmit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:psnp/oc-netinst:state/oc-netinst:dropped { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:psnp/oc-netinst:state/oc-netinst:retransmit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:csnp/oc-netinst:state/oc-netinst:dropped { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:csnp/oc-netinst:state/oc-netinst:retransmit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:unknown/oc-netinst:state/oc-netinst:received { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:unknown/oc-netinst:state/oc-netinst:processed { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:unknown/oc-netinst:state/oc-netinst:dropped { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:unknown/oc-netinst:state/oc-netinst:sent { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:packet-counters/oc-netinst:unknown/oc-netinst:state/oc-netinst:retransmit { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:adjacencies/oc-netinst:adjacency/oc-netinst:state/oc-netinst:multi-topology { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:afi-safi/oc-netinst:af/oc-netinst:config/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:afi-safi/oc-netinst:af/oc-netinst:state/oc-netinst:enabled { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:afi-safi/oc-netinst:af/oc-netinst:segment-routing/oc-netinst:prefix-sids/oc-netinst:prefix-sid { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:afi-safi/oc-netinst:af/oc-netinst:segment-routing/oc-netinst:adjacency-sids/oc-netinst:adjacency-sid { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:hello-authentication/oc-netinst:config/oc-netinst:hello-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:levels/oc-netinst:level/oc-netinst:hello-authentication/oc-netinst:state/oc-netinst:hello-authentication { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:bfd/oc-netinst:config/oc-netinst:bfd-tlv { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:bfd/oc-netinst:state/oc-netinst:bfd-tlv { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:subinterface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:interface { + deviate not-supported; + } + + deviation /oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:subinterface { + deviate not-supported; + } + + +} +//total deviations:650 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-platform-deviations-spi.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-deviations-spi.yang new file mode 100644 index 000000000..385fcfa94 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-deviations-spi.yang @@ -0,0 +1,255 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-platform-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-platform-deviations"; + prefix "oc-platformdevs"; + + import openconfig-platform { prefix oc-platform; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-platform.yang@2021-08-13 + + on Cisco IOS-XR devices. + + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision "2022-03-24" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:mfg-date { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:temperature/oc-platform:avg { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:temperature/oc-platform:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:temperature/oc-platform:max { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:temperature/oc-platform:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:temperature/oc-platform:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:temperature/oc-platform:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:total-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:undefined-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:data-link-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:surprise-down-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:poisoned-tlp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:flow-control-protocol-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:completion-timeout-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:completion-abort-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:unexpected-completion-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:receiver-overflow-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:malformed-tlp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:ecrc-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:unsupported-request-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:acs-violation-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:internal-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:blocked-tlp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:atomic-op-blocked-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:fatal-errors/oc-platform:tlp-prefix-blocked-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:total-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:undefined-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:data-link-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:surprise-down-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:poisoned-tlp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:flow-control-protocol-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:completion-timeout-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:completion-abort-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:unexpected-completion-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:receiver-overflow-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:malformed-tlp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:ecrc-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:unsupported-request-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:acs-violation-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:internal-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:blocked-tlp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:atomic-op-blocked-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:non-fatal-errors/oc-platform:tlp-prefix-blocked-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:total-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:receiver-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:bad-tlp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:bad-dllp-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:relay-rollover-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:replay-timeout-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:advisory-non-fatal-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:internal-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:pcie/oc-platform:correctable-errors/oc-platform:hdr-log-overflow-errors { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:properties/oc-platform:property { + deviate not-supported; + } + + +} +//total deviations:53 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-platform-port-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-port-deviations.yang new file mode 100644 index 000000000..4ebe8f2aa --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-port-deviations.yang @@ -0,0 +1,66 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-platform-port-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-platform-port-deviations"; + prefix "oc-portdevs"; + + import openconfig-platform-port { prefix oc-port; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-platform { prefix oc-platform; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-platform-port.yang@2018-01-20 + + on Cisco IOS-XR devices. + + Copyright (c) 2017-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2018-12-10" { + description + "Initial revision applicable to IOS-XR 6.6.1"; + } + + + deviation /oc-platform:components/oc-platform:component/oc-platform:port/oc-port:breakout-mode/oc-port:config/oc-port:num-channels { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:port/oc-port:breakout-mode/oc-port:config/oc-port:channel-speed { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:port/oc-port:breakout-mode/oc-port:state/oc-port:num-channels { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-platform:port/oc-port:breakout-mode/oc-port:state/oc-port:channel-speed { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:state/oc-port:hardware-port { + deviate not-supported; + } + + +} +//total deviations:5 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-platform-psu-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-psu-deviations.yang new file mode 100644 index 000000000..d2e0760cf --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-psu-deviations.yang @@ -0,0 +1,49 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-platform-psu-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-platform-psu-deviations"; + prefix "oc-platform-psudevs"; + + import openconfig-platform-psu { prefix oc-platform-psu; } + import openconfig-platform { prefix oc-platform; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-platform-psu.yang@2018-01-16 + + on Cisco IOS-XR devices. + + Copyright (c) 2017-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2018-12-10" { + description + "Initial revision applicable to IOS-XR 6.6.1"; + } + + + deviation /oc-platform:components/oc-platform:component/oc-platform:power-supply/oc-platform:config/oc-platform-psu:enabled { + deviate not-supported; + } + + +} +//total deviations:1 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-platform-transceiver-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-transceiver-deviations.yang new file mode 100644 index 000000000..8762a0f6f --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-platform-transceiver-deviations.yang @@ -0,0 +1,245 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-platform-transceiver-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-platform-transceiver-deviations"; + prefix "oc-transceiverdevs"; + + import openconfig-interfaces { prefix oc-if; } + import openconfig-platform-transceiver { prefix oc-transceiver; } + import openconfig-platform { prefix oc-platform; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-platform-transceiver.yang@2018-11-25 + + on Cisco IOS-XR devices. + + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-09-05" { + description + "Initial revision applicable to IOS-XR 7.1.1"; + } + + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:config/oc-transceiver:enabled { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:config/oc-transceiver:form-factor-preconf { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:config/oc-transceiver:ethernet-pmd-preconf { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:enabled { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:form-factor-preconf { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:ethernet-pmd-preconf { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:ethernet-pmd { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:fec-status { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:fec-uncorrectable-blocks { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:fec-corrected-bytes { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:fec-corrected-bits { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:pre-fec-ber/oc-transceiver:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:pre-fec-ber/oc-transceiver:avg { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:pre-fec-ber/oc-transceiver:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:pre-fec-ber/oc-transceiver:max { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:pre-fec-ber/oc-transceiver:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:pre-fec-ber/oc-transceiver:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:pre-fec-ber/oc-transceiver:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:post-fec-ber/oc-transceiver:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:post-fec-ber/oc-transceiver:avg { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:post-fec-ber/oc-transceiver:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:post-fec-ber/oc-transceiver:max { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:post-fec-ber/oc-transceiver:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:post-fec-ber/oc-transceiver:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:post-fec-ber/oc-transceiver:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:output-power/oc-transceiver:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/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:state/oc-transceiver:output-power/oc-transceiver:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/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:state/oc-transceiver:output-power/oc-transceiver:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:output-power/oc-transceiver:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:output-power/oc-transceiver:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:input-power/oc-transceiver:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/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:state/oc-transceiver:input-power/oc-transceiver:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/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:state/oc-transceiver:input-power/oc-transceiver:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:input-power/oc-transceiver:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:input-power/oc-transceiver:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/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:state/oc-transceiver:laser-bias-current/oc-transceiver:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:max { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:config/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:config/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:target-output-power { + deviate not-supported; + } + +} +//total deviations:52 +// note that manual callback leaves may show up as deviation here if the pyang deviation option is used to generate this, need to remove them manually + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-routing-policy-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-routing-policy-deviations.yang new file mode 100644 index 000000000..77c32350f --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-routing-policy-deviations.yang @@ -0,0 +1,87 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-routing-policy-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-routing-policy-deviations"; + prefix "oc-rpoldevs"; + + import openconfig-routing-policy { prefix oc-rpol; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-routing-policy.yang@2020-08-18 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision "2022-02-07" { + description + "Updated revision applicable to IOS-XR 7.7.1"; + } + + + deviation /oc-rpol:routing-policy/oc-rpol:defined-sets/oc-rpol:neighbor-sets/oc-rpol:neighbor-set { + deviate not-supported; + } + + 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/oc-rpol:config/oc-rpol:interface { + deviate not-supported; + } + + 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/oc-rpol:config/oc-rpol:subinterface { + deviate not-supported; + } + + 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/oc-rpol:state/oc-rpol:interface { + deviate not-supported; + } + + 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/oc-rpol:state/oc-rpol:subinterface { + deviate not-supported; + } + + 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/oc-rpol:config/oc-rpol:neighbor-set { + deviate not-supported; + } + + 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/oc-rpol:config/oc-rpol:match-set-options { + deviate not-supported; + } + + 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/oc-rpol:state/oc-rpol:neighbor-set { + deviate not-supported; + } + + 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/oc-rpol:state/oc-rpol:match-set-options { + deviate not-supported; + } + + deviation /oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-rpol:set-tag/oc-rpol:reference/oc-rpol:config/oc-rpol:tag-set { + deviate not-supported; + } + + deviation /oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-rpol:set-tag/oc-rpol:reference/oc-rpol:state/oc-rpol:tag-set { + deviate not-supported; + } + + +} +//total deviations:11 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-rsvp-sr-ext-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-rsvp-sr-ext-deviations.yang new file mode 100644 index 000000000..e6ff42bd6 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-rsvp-sr-ext-deviations.yang @@ -0,0 +1,57 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-rsvp-sr-ext-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-rsvp-sr-ext-deviations"; + prefix "oc-sr-rsvp-extdevs"; + + import openconfig-rsvp-sr-ext { prefix oc-sr-rsvp-ext; } + import openconfig-network-instance { prefix oc-ni; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-rsvp-sr-ext.yang@2017-03-06 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision "2019-05-30" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:te-global-attributes/oc-sr-rsvp-ext:bandwidth-measurement/oc-sr-rsvp-ext:update-trigger/oc-sr-rsvp-ext:config/oc-sr-rsvp-ext:update-trigger { + deviate not-supported; + } + + deviation /oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:te-global-attributes/oc-sr-rsvp-ext:bandwidth-measurement/oc-sr-rsvp-ext:update-trigger/oc-sr-rsvp-ext:config/oc-sr-rsvp-ext:sr-traffic-pct { + deviate not-supported; + } + + deviation /oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls/oc-ni:te-global-attributes/oc-sr-rsvp-ext:bandwidth-measurement/oc-sr-rsvp-ext:update-trigger/oc-sr-rsvp-ext:state/oc-sr-rsvp-ext:sr-traffic-pct { + deviate not-supported; + } + + +} +//total deviations:3 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-system-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-system-deviations.yang new file mode 100644 index 000000000..d2eb7bf44 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-system-deviations.yang @@ -0,0 +1,266 @@ + module cisco-xr-openconfig-system-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-system-deviations"; + prefix "oc-sysdevs"; + + import openconfig-system { prefix oc-sys; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-system.yang + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision "2018-12-12" { + description + "Initial revision applicable to IOS-XR 7.0.1"; + } + + deviation /oc-sys:system/oc-sys:logging/oc-sys:console/oc-sys:selectors/oc-sys:selector/oc-sys:facility { + deviate replace { + type string; + } + } + + deviation /oc-sys:system/oc-sys:logging/oc-sys:console/oc-sys:selectors/oc-sys:selector/oc-sys:config/oc-sys:facility { + deviate not-supported; + } + + deviation + /oc-sys:system/oc-sys:logging/oc-sys:console/oc-sys:selectors/oc-sys:selector/oc-sys:state/oc-sys:facility { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:config/oc-sys:source-address { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:state/oc-sys:source-address { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:selectors/oc-sys:selector/oc-sys:facility { + deviate replace { + type string; + } + } + + deviation /oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:selectors/oc-sys:selector/oc-sys:config/oc-sys:facility { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:selectors/oc-sys:selector/oc-sys:state/oc-sys:facility { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:ntp/oc-sys:config/oc-sys:ntp-source-address { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:ntp/oc-sys:state/oc-sys:ntp-source-address { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:ntp/oc-sys:state/oc-sys:auth-mismatch { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:grpc-server/oc-sys:config/oc-sys:listen-addresses { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:grpc-server/oc-sys:state/oc-sys:enable { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:grpc-server/oc-sys:state/oc-sys:port { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:grpc-server/oc-sys:state/oc-sys:transport-security { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:grpc-server/oc-sys:state/oc-sys:certificate-id { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:grpc-server/oc-sys:state/oc-sys:listen-addresses { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:aaa/oc-sys:authentication/oc-sys:admin-user/oc-sys:config/oc-sys:admin-password { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:aaa/oc-sys:authentication/oc-sys:admin-user/oc-sys:config/oc-sys:admin-password-hashed { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:aaa/oc-sys:authentication/oc-sys:admin-user/oc-sys:state/oc-sys:admin-password { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:aaa/oc-sys:authentication/oc-sys:admin-user/oc-sys:state/oc-sys:admin-password-hashed { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:aaa/oc-sys:authentication/oc-sys:admin-user/oc-sys:state/oc-sys:admin-username { + deviate not-supported; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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:connection-timeouts { + deviate not-supported; + } + + 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:errors-received { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:aaa/oc-sys:server-groups/oc-sys:server-group/oc-sys:servers/oc-sys:server/oc-sys:tacacs/oc-sys:config/oc-sys:source-address { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:aaa/oc-sys:server-groups/oc-sys:server-group/oc-sys:servers/oc-sys:server/oc-sys:tacacs/oc-sys:state/oc-sys:source-address { + deviate not-supported; + } + + 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 not-supported; + } + + 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 not-supported; + } + + 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:secret-key { + deviate not-supported; + } + + 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:source-address { + deviate not-supported; + } + + 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:retransmit-attempts { + deviate not-supported; + } + + 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:state/oc-sys:auth-port { + deviate not-supported; + } + + 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:state/oc-sys:acct-port { + deviate not-supported; + } + + 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:state/oc-sys:secret-key { + deviate not-supported; + } + + 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:state/oc-sys:source-address { + deviate not-supported; + } + + 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:state/oc-sys:retransmit-attempts { + deviate not-supported; + } + + 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:state/oc-sys:counters/oc-sys:retried-access-requests { + deviate not-supported; + } + + 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:state/oc-sys:counters/oc-sys:access-accepts { + deviate not-supported; + } + + 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:state/oc-sys:counters/oc-sys:access-rejects { + deviate not-supported; + } + + 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:state/oc-sys:counters/oc-sys:timeout-access-requests { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:config/oc-sys:enable { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:config/oc-sys:timeout { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:config/oc-sys:rate-limit { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:config/oc-sys:session-limit { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:state/oc-sys:enable { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:state/oc-sys:timeout { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:state/oc-sys:rate-limit { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:telnet-server/oc-sys:state/oc-sys:session-limit { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:processes/oc-sys:process { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:config/oc-sys:domain-name { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:state/oc-sys:domain-name { + deviate not-supported; + } + + deviation /oc-sys:system/oc-sys:messages/oc-sys:debug-entries/oc-sys:debug-service { + deviate not-supported; + } +} +//total deviations:62 diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-telemetry-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-telemetry-deviations.yang new file mode 100644 index 000000000..2ebe029d4 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-telemetry-deviations.yang @@ -0,0 +1,144 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-telemetry-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-telemetry-deviations"; + prefix "oc-telemetrydevs"; + + import openconfig-telemetry { prefix oc-telemetry; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-telemetry.yang@2018-11-21 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision "2022-01-22" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-telemetry:telemetry-system/oc-telemetry:sensor-groups/oc-telemetry:sensor-group/oc-telemetry:sensor-paths/oc-telemetry:sensor-path/oc-telemetry:config/oc-telemetry:exclude-filter { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:sensor-groups/oc-telemetry:sensor-group/oc-telemetry:sensor-paths/oc-telemetry:sensor-path/oc-telemetry:state/oc-telemetry:exclude-filter { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:config/oc-telemetry:protocol { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:config/oc-telemetry:encoding { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:config/oc-telemetry:local-source-address { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:state/oc-telemetry:id { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:state/oc-telemetry:protocol { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:state/oc-telemetry:encoding { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:state/oc-telemetry:local-source-address { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:sensor-profiles/oc-telemetry:sensor-profile/oc-telemetry:config/oc-telemetry:suppress-redundant { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:sensor-profiles/oc-telemetry:sensor-profile/oc-telemetry:state/oc-telemetry:suppress-redundant { + deviate not-supported; + } + deviation /oc-telemetry:telemetry-system/oc-telemetry:destination-groups/oc-telemetry:destination-group/oc-telemetry:destinations/oc-telemetry:destination/oc-telemetry:config/oc-telemetry:destination-port { + deviate replace { + type uint16 { + range 1..65535; + } + } + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:sensor-profiles/oc-telemetry:sensor-profile/oc-telemetry:config/oc-telemetry:sample-interval { + deviate replace { + type uint64 { + range 0..4294967295; + } + } + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:persistent-subscriptions/oc-telemetry:persistent-subscription/oc-telemetry:sensor-profiles/oc-telemetry:sensor-profile/oc-telemetry:config/oc-telemetry:heartbeat-interval { + deviate replace { + type uint64 { + range 0..4294967; + } + } + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:state/oc-telemetry:suppress-redundant { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:state/oc-telemetry:id { + deviate replace { + type string; + } + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:state/oc-telemetry:protocol { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:state/oc-telemetry:encoding { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:state/oc-telemetry:sample-interval { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:state/oc-telemetry:heartbeat-interval { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:state/oc-telemetry:originated-qos-marking { + deviate not-supported; + } + + deviation /oc-telemetry:telemetry-system/oc-telemetry:subscriptions/oc-telemetry:dynamic-subscriptions/oc-telemetry:dynamic-subscription/oc-telemetry:sensor-paths/oc-telemetry:sensor-path/oc-telemetry:state/oc-telemetry:exclude-filter { + deviate not-supported; + } + + +} +//total deviations:13 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-terminal-device-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-terminal-device-deviations.yang new file mode 100644 index 000000000..0f4e9f0f7 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-terminal-device-deviations.yang @@ -0,0 +1,276 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-terminal-device-deviations { + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-terminal-device-deviations"; + prefix "oc-opt-termdevs"; + + import openconfig-terminal-device { prefix oc-opt-term; } + import openconfig-platform { prefix oc-platform; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-terminal-device.yang@2019-11-28 + + on Cisco IOS-XR devices. + + Copyright (c) 2017, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision "2020-08-26" { + description + "Initial revision applicable to IOS-XR 6.4.1"; + } + + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:config/oc-opt-term:test-signal { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:state/oc-opt-term:test-signal { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:config/oc-opt-term:tti-msg-auto { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:config/oc-opt-term:tributary-slot-granularity { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:state/oc-opt-term:tti-msg-auto { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:state/oc-opt-term:tributary-slot-granularity { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:state/oc-opt-term:rdi-msg { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:state/oc-opt-term:code-violations { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:state/oc-opt-term:errored-blocks { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:state/oc-opt-term:fec-uncorrectable-blocks { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:otn/oc-opt-term:state/oc-opt-term:fec-corrected-bytes { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:in-mac-control-frames { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:in-undersize-frames { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:in-8021q-frames { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:in-block-errors { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:out-mac-control-frames { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:out-8021q-frames { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:out-pcs-bip-errors { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:out-crc-errors { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:state/oc-opt-term:out-block-errors { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:config/oc-opt-term:enabled { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:config/oc-opt-term:snooping { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:frame-in { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:frame-out { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:frame-error-in { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:frame-discard { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:tlv-discard { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:tlv-unknown { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:last-clear { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:state/oc-opt-term:counters/oc-opt-term:frame-error-out { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:neighbors/oc-opt-term:neighbor/oc-opt-term:state/oc-opt-term:age { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:ethernet/oc-opt-term:lldp/oc-opt-term:neighbors/oc-opt-term:neighbor/oc-opt-term:state/oc-opt-term:last-update { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:logical-channel-assignments/oc-opt-term:assignment/oc-opt-term:config/oc-opt-term:tributary-slot-index { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:logical-channel-assignments/oc-opt-term:assignment/oc-opt-term:config/oc-opt-term:mapping { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:logical-channel-assignments/oc-opt-term:assignment/oc-opt-term:state/oc-opt-term:tributary-slot-index { + deviate not-supported; + } + + deviation /oc-opt-term:terminal-device/oc-opt-term:logical-channels/oc-opt-term:channel/oc-opt-term:logical-channel-assignments/oc-opt-term:assignment/oc-opt-term:state/oc-opt-term:mapping { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:group-id { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:output-power/oc-opt-term:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:output-power/oc-opt-term:avg { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:output-power/oc-opt-term:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:output-power/oc-opt-term:max { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:output-power/oc-opt-term:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:output-power/oc-opt-term:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:output-power/oc-opt-term:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:laser-bias-current/oc-opt-term:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:laser-bias-current/oc-opt-term:avg { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:laser-bias-current/oc-opt-term:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:laser-bias-current/oc-opt-term:max { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:laser-bias-current/oc-opt-term:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:laser-bias-current/oc-opt-term:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:laser-bias-current/oc-opt-term:max-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:polarization-mode-dispersion/oc-opt-term:instant { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:polarization-mode-dispersion/oc-opt-term:avg { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:polarization-mode-dispersion/oc-opt-term:min { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:polarization-mode-dispersion/oc-opt-term:max { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:polarization-mode-dispersion/oc-opt-term:interval { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:polarization-mode-dispersion/oc-opt-term:min-time { + deviate not-supported; + } + + deviation /oc-platform:components/oc-platform:component/oc-opt-term:optical-channel/oc-opt-term:state/oc-opt-term:polarization-mode-dispersion/oc-opt-term:max-time { + deviate not-supported; + } + + +} +//total deviations:66 + diff --git a/vendor/cisco/xr/755/cisco-xr-openconfig-vlan-deviations.yang b/vendor/cisco/xr/755/cisco-xr-openconfig-vlan-deviations.yang new file mode 100644 index 000000000..851d40935 --- /dev/null +++ b/vendor/cisco/xr/755/cisco-xr-openconfig-vlan-deviations.yang @@ -0,0 +1,133 @@ +//************* DO-NOT EDIT ************** +//*********** Auto-generated file ********** + + module cisco-xr-openconfig-vlan-deviations { + + + namespace "http://cisco.com/ns/yang/cisco-xr-openconfig-vlan-deviations"; + prefix "vlandevs"; + + import openconfig-vlan { prefix oc-vlan; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-if-ethernet { prefix oc-eth; } + import openconfig-if-aggregate { prefix oc-lag; } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "This module contains a set of deviations for + + openconfig-vlan.yang@2015-10-09 + + on Cisco IOS-XR devices. + + Copyright (c) 2016-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision "2022-08-25" { + description + "Added support for switched-vlan and removed the related deviations."; + } + + revision "2019-04-18" { + description + "vlan-id tag is supported for the state + (previously only marked as supported for config)"; + } + + revision "2018-07-04" { + description + "Revision applicable to IOS-XR 6.5.1"; + } + + revision "2016-07-08" { + description + "Initial revision applicable to IOS-XR 6.1.1"; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-vlan:config/oc-vlan:vlan { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-vlan:state/oc-vlan:vlan { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:config/oc-vlan:inner-low-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:config/oc-vlan:inner-high-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:config/oc-vlan:outer-low-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:config/oc-vlan:outer-high-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:state/oc-vlan:inner-low-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:state/oc-vlan:inner-high-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:state/oc-vlan:outer-low-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:match/oc-vlan:double-tagged-inner-outer-range/oc-vlan:state/oc-vlan:outer-high-vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:egress-mapping/oc-vlan:config/oc-vlan:vlan-stack-action { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:egress-mapping/oc-vlan:config/oc-vlan:tpid { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:egress-mapping/oc-vlan:config/oc-vlan:vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:egress-mapping/oc-vlan:state/oc-vlan:vlan-stack-action { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:egress-mapping/oc-vlan:state/oc-vlan:tpid { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan/oc-vlan:egress-mapping/oc-vlan:state/oc-vlan:vlan-id { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:config/oc-vlan:tpid { + deviate not-supported; + } + + deviation /oc-if:interfaces/oc-if:interface/oc-if:state/oc-vlan:tpid { + deviate not-supported; + } + + +} +//total deviations:28 diff --git a/vendor/cisco/xr/755/iana-if-type.yang b/vendor/cisco/xr/755/iana-if-type.yang new file mode 100644 index 000000000..5dd821950 --- /dev/null +++ b/vendor/cisco/xr/755/iana-if-type.yang @@ -0,0 +1,1547 @@ +module iana-if-type { + namespace "urn:ietf:params:xml:ns:yang:iana-if-type"; + prefix ianaift; + + import ietf-interfaces { + prefix if; + } + + organization "IANA"; + contact + " Internet Assigned Numbers Authority + + Postal: ICANN + 4676 Admiralty Way, Suite 330 + Marina del Rey, CA 90292 + + Tel: +1 310 823 9358 + "; + description + "This YANG module defines YANG identities for IANA-registered + interface types. + + This YANG module is maintained by IANA and reflects the + 'ifType definitions' registry. + + The latest revision of this YANG module can be obtained from + the IANA web site. + + Requests for new values should be made to IANA via + email (iana@iana.org). + + Copyright (c) 2014 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + The initial version of this YANG module is part of RFC 7224; + see the RFC itself for full legal notices."; + reference + "IANA 'ifType definitions' registry. + "; + + revision 2014-05-08 { + description + "Initial revision."; + reference + "RFC 7224: IANA Interface Type YANG Module"; + } + + identity iana-interface-type { + base if:interface-type; + description + "This identity is used as a base for all interface types + defined in the 'ifType definitions' registry."; + } + + + + + + + identity other { + base iana-interface-type; + } + identity regular1822 { + base iana-interface-type; + } + identity hdh1822 { + base iana-interface-type; + } + identity ddnX25 { + base iana-interface-type; + } + identity rfc877x25 { + base iana-interface-type; + reference + "RFC 1382 - SNMP MIB Extension for the X.25 Packet Layer"; + } + identity ethernetCsmacd { + base iana-interface-type; + description + "For all Ethernet-like interfaces, regardless of speed, + as per RFC 3635."; + reference + "RFC 3635 - Definitions of Managed Objects for the + Ethernet-like Interface Types"; + } + identity iso88023Csmacd { + base iana-interface-type; + status deprecated; + description + "Deprecated via RFC 3635. + Use ethernetCsmacd(6) instead."; + reference + "RFC 3635 - Definitions of Managed Objects for the + Ethernet-like Interface Types"; + } + identity iso88024TokenBus { + base iana-interface-type; + } + identity iso88025TokenRing { + base iana-interface-type; + } + identity iso88026Man { + base iana-interface-type; + } + identity starLan { + base iana-interface-type; + status deprecated; + description + "Deprecated via RFC 3635. + Use ethernetCsmacd(6) instead."; + reference + "RFC 3635 - Definitions of Managed Objects for the + Ethernet-like Interface Types"; + } + identity proteon10Mbit { + base iana-interface-type; + } + identity proteon80Mbit { + base iana-interface-type; + } + identity hyperchannel { + base iana-interface-type; + } + identity fddi { + base iana-interface-type; + reference + "RFC 1512 - FDDI Management Information Base"; + } + identity lapb { + base iana-interface-type; + reference + "RFC 1381 - SNMP MIB Extension for X.25 LAPB"; + } + identity sdlc { + base iana-interface-type; + } + identity ds1 { + base iana-interface-type; + description + "DS1-MIB."; + reference + "RFC 4805 - Definitions of Managed Objects for the + DS1, J1, E1, DS2, and E2 Interface Types"; + } + identity e1 { + base iana-interface-type; + status obsolete; + description + "Obsolete; see DS1-MIB."; + reference + "RFC 4805 - Definitions of Managed Objects for the + DS1, J1, E1, DS2, and E2 Interface Types"; + } + + + identity basicISDN { + base iana-interface-type; + description + "No longer used. See also RFC 2127."; + } + identity primaryISDN { + base iana-interface-type; + description + "No longer used. See also RFC 2127."; + } + identity propPointToPointSerial { + base iana-interface-type; + description + "Proprietary serial."; + } + identity ppp { + base iana-interface-type; + } + identity softwareLoopback { + base iana-interface-type; + } + identity eon { + base iana-interface-type; + description + "CLNP over IP."; + } + identity ethernet3Mbit { + base iana-interface-type; + } + identity nsip { + base iana-interface-type; + description + "XNS over IP."; + } + identity slip { + base iana-interface-type; + description + "Generic SLIP."; + } + identity ultra { + base iana-interface-type; + description + "Ultra Technologies."; + } + identity ds3 { + base iana-interface-type; + description + "DS3-MIB."; + reference + "RFC 3896 - Definitions of Managed Objects for the + DS3/E3 Interface Type"; + } + identity sip { + base iana-interface-type; + description + "SMDS, coffee."; + reference + "RFC 1694 - Definitions of Managed Objects for SMDS + Interfaces using SMIv2"; + } + identity frameRelay { + base iana-interface-type; + description + "DTE only."; + reference + "RFC 2115 - Management Information Base for Frame Relay + DTEs Using SMIv2"; + } + identity rs232 { + base iana-interface-type; + reference + "RFC 1659 - Definitions of Managed Objects for RS-232-like + Hardware Devices using SMIv2"; + } + identity para { + base iana-interface-type; + description + "Parallel-port."; + reference + "RFC 1660 - Definitions of Managed Objects for + Parallel-printer-like Hardware Devices using + SMIv2"; + } + identity arcnet { + base iana-interface-type; + description + "ARCnet."; + } + identity arcnetPlus { + base iana-interface-type; + description + "ARCnet Plus."; + } + + + + identity atm { + base iana-interface-type; + description + "ATM cells."; + } + identity miox25 { + base iana-interface-type; + reference + "RFC 1461 - SNMP MIB extension for Multiprotocol + Interconnect over X.25"; + } + identity sonet { + base iana-interface-type; + description + "SONET or SDH."; + } + identity x25ple { + base iana-interface-type; + reference + "RFC 2127 - ISDN Management Information Base using SMIv2"; + } + identity iso88022llc { + base iana-interface-type; + } + identity localTalk { + base iana-interface-type; + } + identity smdsDxi { + base iana-interface-type; + } + identity frameRelayService { + base iana-interface-type; + description + "FRNETSERV-MIB."; + reference + "RFC 2954 - Definitions of Managed Objects for Frame + Relay Service"; + } + identity v35 { + base iana-interface-type; + } + identity hssi { + base iana-interface-type; + } + identity hippi { + base iana-interface-type; + } + + identity modem { + base iana-interface-type; + description + "Generic modem."; + } + identity aal5 { + base iana-interface-type; + description + "AAL5 over ATM."; + } + identity sonetPath { + base iana-interface-type; + } + identity sonetVT { + base iana-interface-type; + } + identity smdsIcip { + base iana-interface-type; + description + "SMDS InterCarrier Interface."; + } + identity propVirtual { + base iana-interface-type; + description + "Proprietary virtual/internal."; + reference + "RFC 2863 - The Interfaces Group MIB"; + } + identity propMultiplexor { + base iana-interface-type; + description + "Proprietary multiplexing."; + reference + "RFC 2863 - The Interfaces Group MIB"; + } + identity ieee80212 { + base iana-interface-type; + description + "100BaseVG."; + } + identity fibreChannel { + base iana-interface-type; + description + "Fibre Channel."; + } + + + + identity hippiInterface { + base iana-interface-type; + description + "HIPPI interfaces."; + } + identity frameRelayInterconnect { + base iana-interface-type; + status obsolete; + description + "Obsolete; use either + frameRelay(32) or frameRelayService(44)."; + } + identity aflane8023 { + base iana-interface-type; + description + "ATM Emulated LAN for 802.3."; + } + identity aflane8025 { + base iana-interface-type; + description + "ATM Emulated LAN for 802.5."; + } + identity cctEmul { + base iana-interface-type; + description + "ATM Emulated circuit."; + } + identity fastEther { + base iana-interface-type; + status deprecated; + description + "Obsoleted via RFC 3635. + ethernetCsmacd(6) should be used instead."; + reference + "RFC 3635 - Definitions of Managed Objects for the + Ethernet-like Interface Types"; + } + identity isdn { + base iana-interface-type; + description + "ISDN and X.25."; + reference + "RFC 1356 - Multiprotocol Interconnect on X.25 and ISDN + in the Packet Mode"; + } + + + + identity v11 { + base iana-interface-type; + description + "CCITT V.11/X.21."; + } + identity v36 { + base iana-interface-type; + description + "CCITT V.36."; + } + identity g703at64k { + base iana-interface-type; + description + "CCITT G703 at 64Kbps."; + } + identity g703at2mb { + base iana-interface-type; + status obsolete; + description + "Obsolete; see DS1-MIB."; + } + identity qllc { + base iana-interface-type; + description + "SNA QLLC."; + } + identity fastEtherFX { + base iana-interface-type; + status deprecated; + description + "Obsoleted via RFC 3635. + ethernetCsmacd(6) should be used instead."; + reference + "RFC 3635 - Definitions of Managed Objects for the + Ethernet-like Interface Types"; + } + identity channel { + base iana-interface-type; + description + "Channel."; + } + identity ieee80211 { + base iana-interface-type; + description + "Radio spread spectrum."; + } + identity ibm370parChan { + base iana-interface-type; + description + "IBM System 360/370 OEMI Channel."; + } + identity escon { + base iana-interface-type; + description + "IBM Enterprise Systems Connection."; + } + identity dlsw { + base iana-interface-type; + description + "Data Link Switching."; + } + identity isdns { + base iana-interface-type; + description + "ISDN S/T interface."; + } + identity isdnu { + base iana-interface-type; + description + "ISDN U interface."; + } + identity lapd { + base iana-interface-type; + description + "Link Access Protocol D."; + } + identity ipSwitch { + base iana-interface-type; + description + "IP Switching Objects."; + } + identity rsrb { + base iana-interface-type; + description + "Remote Source Route Bridging."; + } + identity atmLogical { + base iana-interface-type; + description + "ATM Logical Port."; + reference + "RFC 3606 - Definitions of Supplemental Managed Objects + for ATM Interface"; + } + identity ds0 { + base iana-interface-type; + description + "Digital Signal Level 0."; + reference + "RFC 2494 - Definitions of Managed Objects for the DS0 + and DS0 Bundle Interface Type"; + } + identity ds0Bundle { + base iana-interface-type; + description + "Group of ds0s on the same ds1."; + reference + "RFC 2494 - Definitions of Managed Objects for the DS0 + and DS0 Bundle Interface Type"; + } + identity bsc { + base iana-interface-type; + description + "Bisynchronous Protocol."; + } + identity async { + base iana-interface-type; + description + "Asynchronous Protocol."; + } + identity cnr { + base iana-interface-type; + description + "Combat Net Radio."; + } + identity iso88025Dtr { + base iana-interface-type; + description + "ISO 802.5r DTR."; + } + identity eplrs { + base iana-interface-type; + description + "Ext Pos Loc Report Sys."; + } + identity arap { + base iana-interface-type; + description + "Appletalk Remote Access Protocol."; + } + identity propCnls { + base iana-interface-type; + description + "Proprietary Connectionless Protocol."; + } + identity hostPad { + base iana-interface-type; + description + "CCITT-ITU X.29 PAD Protocol."; + } + identity termPad { + base iana-interface-type; + description + "CCITT-ITU X.3 PAD Facility."; + } + identity frameRelayMPI { + base iana-interface-type; + description + "Multiproto Interconnect over FR."; + } + identity x213 { + base iana-interface-type; + description + "CCITT-ITU X213."; + } + identity adsl { + base iana-interface-type; + description + "Asymmetric Digital Subscriber Loop."; + } + identity radsl { + base iana-interface-type; + description + "Rate-Adapt. Digital Subscriber Loop."; + } + identity sdsl { + base iana-interface-type; + description + "Symmetric Digital Subscriber Loop."; + } + identity vdsl { + base iana-interface-type; + description + "Very H-Speed Digital Subscrib. Loop."; + } + identity iso88025CRFPInt { + base iana-interface-type; + description + "ISO 802.5 CRFP."; + } + identity myrinet { + base iana-interface-type; + description + "Myricom Myrinet."; + } + identity voiceEM { + base iana-interface-type; + description + "Voice recEive and transMit."; + } + identity voiceFXO { + base iana-interface-type; + description + "Voice Foreign Exchange Office."; + } + identity voiceFXS { + base iana-interface-type; + description + "Voice Foreign Exchange Station."; + } + identity voiceEncap { + base iana-interface-type; + description + "Voice encapsulation."; + } + identity voiceOverIp { + base iana-interface-type; + description + "Voice over IP encapsulation."; + } + identity atmDxi { + base iana-interface-type; + description + "ATM DXI."; + } + identity atmFuni { + base iana-interface-type; + description + "ATM FUNI."; + } + identity atmIma { + base iana-interface-type; + description + "ATM IMA."; + } + identity pppMultilinkBundle { + base iana-interface-type; + description + "PPP Multilink Bundle."; + } + identity ipOverCdlc { + base iana-interface-type; + description + "IBM ipOverCdlc."; + } + identity ipOverClaw { + base iana-interface-type; + description + "IBM Common Link Access to Workstn."; + } + identity stackToStack { + base iana-interface-type; + description + "IBM stackToStack."; + } + identity virtualIpAddress { + base iana-interface-type; + description + "IBM VIPA."; + } + identity mpc { + base iana-interface-type; + description + "IBM multi-protocol channel support."; + } + identity ipOverAtm { + base iana-interface-type; + description + "IBM ipOverAtm."; + reference + "RFC 2320 - Definitions of Managed Objects for Classical IP + and ARP Over ATM Using SMIv2 (IPOA-MIB)"; + } + identity iso88025Fiber { + base iana-interface-type; + description + "ISO 802.5j Fiber Token Ring."; + } + identity tdlc { + base iana-interface-type; + description + "IBM twinaxial data link control."; + } + identity gigabitEthernet { + base iana-interface-type; + status deprecated; + + + description + "Obsoleted via RFC 3635. + ethernetCsmacd(6) should be used instead."; + reference + "RFC 3635 - Definitions of Managed Objects for the + Ethernet-like Interface Types"; + } + identity hdlc { + base iana-interface-type; + description + "HDLC."; + } + identity lapf { + base iana-interface-type; + description + "LAP F."; + } + identity v37 { + base iana-interface-type; + description + "V.37."; + } + identity x25mlp { + base iana-interface-type; + description + "Multi-Link Protocol."; + } + identity x25huntGroup { + base iana-interface-type; + description + "X25 Hunt Group."; + } + identity transpHdlc { + base iana-interface-type; + description + "Transp HDLC."; + } + identity interleave { + base iana-interface-type; + description + "Interleave channel."; + } + identity fast { + base iana-interface-type; + description + "Fast channel."; + } + + identity ip { + base iana-interface-type; + description + "IP (for APPN HPR in IP networks)."; + } + identity docsCableMaclayer { + base iana-interface-type; + description + "CATV Mac Layer."; + } + identity docsCableDownstream { + base iana-interface-type; + description + "CATV Downstream interface."; + } + identity docsCableUpstream { + base iana-interface-type; + description + "CATV Upstream interface."; + } + identity a12MppSwitch { + base iana-interface-type; + description + "Avalon Parallel Processor."; + } + identity tunnel { + base iana-interface-type; + description + "Encapsulation interface."; + } + identity coffee { + base iana-interface-type; + description + "Coffee pot."; + reference + "RFC 2325 - Coffee MIB"; + } + identity ces { + base iana-interface-type; + description + "Circuit Emulation Service."; + } + identity atmSubInterface { + base iana-interface-type; + description + "ATM Sub Interface."; + } + + identity l2vlan { + base iana-interface-type; + description + "Layer 2 Virtual LAN using 802.1Q."; + } + identity l3ipvlan { + base iana-interface-type; + description + "Layer 3 Virtual LAN using IP."; + } + identity l3ipxvlan { + base iana-interface-type; + description + "Layer 3 Virtual LAN using IPX."; + } + identity digitalPowerline { + base iana-interface-type; + description + "IP over Power Lines."; + } + identity mediaMailOverIp { + base iana-interface-type; + description + "Multimedia Mail over IP."; + } + identity dtm { + base iana-interface-type; + description + "Dynamic synchronous Transfer Mode."; + } + identity dcn { + base iana-interface-type; + description + "Data Communications Network."; + } + identity ipForward { + base iana-interface-type; + description + "IP Forwarding Interface."; + } + identity msdsl { + base iana-interface-type; + description + "Multi-rate Symmetric DSL."; + } + identity ieee1394 { + base iana-interface-type; + + description + "IEEE1394 High Performance Serial Bus."; + } + identity if-gsn { + base iana-interface-type; + description + "HIPPI-6400."; + } + identity dvbRccMacLayer { + base iana-interface-type; + description + "DVB-RCC MAC Layer."; + } + identity dvbRccDownstream { + base iana-interface-type; + description + "DVB-RCC Downstream Channel."; + } + identity dvbRccUpstream { + base iana-interface-type; + description + "DVB-RCC Upstream Channel."; + } + identity atmVirtual { + base iana-interface-type; + description + "ATM Virtual Interface."; + } + identity mplsTunnel { + base iana-interface-type; + description + "MPLS Tunnel Virtual Interface."; + } + identity srp { + base iana-interface-type; + description + "Spatial Reuse Protocol."; + } + identity voiceOverAtm { + base iana-interface-type; + description + "Voice over ATM."; + } + identity voiceOverFrameRelay { + base iana-interface-type; + description + "Voice Over Frame Relay."; + } + identity idsl { + base iana-interface-type; + description + "Digital Subscriber Loop over ISDN."; + } + identity compositeLink { + base iana-interface-type; + description + "Avici Composite Link Interface."; + } + identity ss7SigLink { + base iana-interface-type; + description + "SS7 Signaling Link."; + } + identity propWirelessP2P { + base iana-interface-type; + description + "Prop. P2P wireless interface."; + } + identity frForward { + base iana-interface-type; + description + "Frame Forward Interface."; + } + identity rfc1483 { + base iana-interface-type; + description + "Multiprotocol over ATM AAL5."; + reference + "RFC 1483 - Multiprotocol Encapsulation over ATM + Adaptation Layer 5"; + } + identity usb { + base iana-interface-type; + description + "USB Interface."; + } + identity ieee8023adLag { + base iana-interface-type; + description + "IEEE 802.3ad Link Aggregate."; + } + identity bgppolicyaccounting { + base iana-interface-type; + description + "BGP Policy Accounting."; + } + identity frf16MfrBundle { + base iana-interface-type; + description + "FRF.16 Multilink Frame Relay."; + } + identity h323Gatekeeper { + base iana-interface-type; + description + "H323 Gatekeeper."; + } + identity h323Proxy { + base iana-interface-type; + description + "H323 Voice and Video Proxy."; + } + identity mpls { + base iana-interface-type; + description + "MPLS."; + } + identity mfSigLink { + base iana-interface-type; + description + "Multi-frequency signaling link."; + } + identity hdsl2 { + base iana-interface-type; + description + "High Bit-Rate DSL - 2nd generation."; + } + identity shdsl { + base iana-interface-type; + description + "Multirate HDSL2."; + } + identity ds1FDL { + base iana-interface-type; + description + "Facility Data Link (4Kbps) on a DS1."; + } + identity pos { + base iana-interface-type; + description + "Packet over SONET/SDH Interface."; + } + + + + identity dvbAsiIn { + base iana-interface-type; + description + "DVB-ASI Input."; + } + identity dvbAsiOut { + base iana-interface-type; + description + "DVB-ASI Output."; + } + identity plc { + base iana-interface-type; + description + "Power Line Communications."; + } + identity nfas { + base iana-interface-type; + description + "Non-Facility Associated Signaling."; + } + identity tr008 { + base iana-interface-type; + description + "TR008."; + } + identity gr303RDT { + base iana-interface-type; + description + "Remote Digital Terminal."; + } + identity gr303IDT { + base iana-interface-type; + description + "Integrated Digital Terminal."; + } + identity isup { + base iana-interface-type; + description + "ISUP."; + } + identity propDocsWirelessMaclayer { + base iana-interface-type; + description + "Cisco proprietary Maclayer."; + } + + + + identity propDocsWirelessDownstream { + base iana-interface-type; + description + "Cisco proprietary Downstream."; + } + identity propDocsWirelessUpstream { + base iana-interface-type; + description + "Cisco proprietary Upstream."; + } + identity hiperlan2 { + base iana-interface-type; + description + "HIPERLAN Type 2 Radio Interface."; + } + identity propBWAp2Mp { + base iana-interface-type; + description + "PropBroadbandWirelessAccesspt2Multipt (use of this value + for IEEE 802.16 WMAN interfaces as per IEEE Std 802.16f + is deprecated, and ieee80216WMAN(237) should be used + instead)."; + } + identity sonetOverheadChannel { + base iana-interface-type; + description + "SONET Overhead Channel."; + } + identity digitalWrapperOverheadChannel { + base iana-interface-type; + description + "Digital Wrapper."; + } + identity aal2 { + base iana-interface-type; + description + "ATM adaptation layer 2."; + } + identity radioMAC { + base iana-interface-type; + description + "MAC layer over radio links."; + } + identity atmRadio { + base iana-interface-type; + description + "ATM over radio links."; + } + identity imt { + base iana-interface-type; + description + "Inter-Machine Trunks."; + } + identity mvl { + base iana-interface-type; + description + "Multiple Virtual Lines DSL."; + } + identity reachDSL { + base iana-interface-type; + description + "Long Reach DSL."; + } + identity frDlciEndPt { + base iana-interface-type; + description + "Frame Relay DLCI End Point."; + } + identity atmVciEndPt { + base iana-interface-type; + description + "ATM VCI End Point."; + } + identity opticalChannel { + base iana-interface-type; + description + "Optical Channel."; + } + identity opticalTransport { + base iana-interface-type; + description + "Optical Transport."; + } + identity propAtm { + base iana-interface-type; + description + "Proprietary ATM."; + } + identity voiceOverCable { + base iana-interface-type; + description + "Voice Over Cable Interface."; + } + + + + identity infiniband { + base iana-interface-type; + description + "Infiniband."; + } + identity teLink { + base iana-interface-type; + description + "TE Link."; + } + identity q2931 { + base iana-interface-type; + description + "Q.2931."; + } + identity virtualTg { + base iana-interface-type; + description + "Virtual Trunk Group."; + } + identity sipTg { + base iana-interface-type; + description + "SIP Trunk Group."; + } + identity sipSig { + base iana-interface-type; + description + "SIP Signaling."; + } + identity docsCableUpstreamChannel { + base iana-interface-type; + description + "CATV Upstream Channel."; + } + identity econet { + base iana-interface-type; + description + "Acorn Econet."; + } + identity pon155 { + base iana-interface-type; + description + "FSAN 155Mb Symetrical PON interface."; + } + + + + identity pon622 { + base iana-interface-type; + description + "FSAN 622Mb Symetrical PON interface."; + } + identity bridge { + base iana-interface-type; + description + "Transparent bridge interface."; + } + identity linegroup { + base iana-interface-type; + description + "Interface common to multiple lines."; + } + identity voiceEMFGD { + base iana-interface-type; + description + "Voice E&M Feature Group D."; + } + identity voiceFGDEANA { + base iana-interface-type; + description + "Voice FGD Exchange Access North American."; + } + identity voiceDID { + base iana-interface-type; + description + "Voice Direct Inward Dialing."; + } + identity mpegTransport { + base iana-interface-type; + description + "MPEG transport interface."; + } + identity sixToFour { + base iana-interface-type; + status deprecated; + description + "6to4 interface (DEPRECATED)."; + reference + "RFC 4087 - IP Tunnel MIB"; + } + identity gtp { + base iana-interface-type; + description + "GTP (GPRS Tunneling Protocol)."; + } + identity pdnEtherLoop1 { + base iana-interface-type; + description + "Paradyne EtherLoop 1."; + } + identity pdnEtherLoop2 { + base iana-interface-type; + description + "Paradyne EtherLoop 2."; + } + identity opticalChannelGroup { + base iana-interface-type; + description + "Optical Channel Group."; + } + identity homepna { + base iana-interface-type; + description + "HomePNA ITU-T G.989."; + } + identity gfp { + base iana-interface-type; + description + "Generic Framing Procedure (GFP)."; + } + identity ciscoISLvlan { + base iana-interface-type; + description + "Layer 2 Virtual LAN using Cisco ISL."; + } + identity actelisMetaLOOP { + base iana-interface-type; + description + "Acteleis proprietary MetaLOOP High Speed Link."; + } + identity fcipLink { + base iana-interface-type; + description + "FCIP Link."; + } + identity rpr { + base iana-interface-type; + description + "Resilient Packet Ring Interface Type."; + } + + + + identity qam { + base iana-interface-type; + description + "RF Qam Interface."; + } + identity lmp { + base iana-interface-type; + description + "Link Management Protocol."; + reference + "RFC 4327 - Link Management Protocol (LMP) Management + Information Base (MIB)"; + } + identity cblVectaStar { + base iana-interface-type; + description + "Cambridge Broadband Networks Limited VectaStar."; + } + identity docsCableMCmtsDownstream { + base iana-interface-type; + description + "CATV Modular CMTS Downstream Interface."; + } + identity adsl2 { + base iana-interface-type; + status deprecated; + description + "Asymmetric Digital Subscriber Loop Version 2 + (DEPRECATED/OBSOLETED - please use adsl2plus(238) + instead)."; + reference + "RFC 4706 - Definitions of Managed Objects for Asymmetric + Digital Subscriber Line 2 (ADSL2)"; + } + identity macSecControlledIF { + base iana-interface-type; + description + "MACSecControlled."; + } + identity macSecUncontrolledIF { + base iana-interface-type; + description + "MACSecUncontrolled."; + } + identity aviciOpticalEther { + base iana-interface-type; + description + "Avici Optical Ethernet Aggregate."; + } + identity atmbond { + base iana-interface-type; + description + "atmbond."; + } + identity voiceFGDOS { + base iana-interface-type; + description + "Voice FGD Operator Services."; + } + identity mocaVersion1 { + base iana-interface-type; + description + "MultiMedia over Coax Alliance (MoCA) Interface + as documented in information provided privately to IANA."; + } + identity ieee80216WMAN { + base iana-interface-type; + description + "IEEE 802.16 WMAN interface."; + } + identity adsl2plus { + base iana-interface-type; + description + "Asymmetric Digital Subscriber Loop Version 2 - + Version 2 Plus and all variants."; + } + identity dvbRcsMacLayer { + base iana-interface-type; + description + "DVB-RCS MAC Layer."; + reference + "RFC 5728 - The SatLabs Group DVB-RCS MIB"; + } + identity dvbTdm { + base iana-interface-type; + description + "DVB Satellite TDM."; + reference + "RFC 5728 - The SatLabs Group DVB-RCS MIB"; + } + identity dvbRcsTdma { + base iana-interface-type; + description + "DVB-RCS TDMA."; + reference + "RFC 5728 - The SatLabs Group DVB-RCS MIB"; + } + identity x86Laps { + base iana-interface-type; + description + "LAPS based on ITU-T X.86/Y.1323."; + } + identity wwanPP { + base iana-interface-type; + description + "3GPP WWAN."; + } + identity wwanPP2 { + base iana-interface-type; + description + "3GPP2 WWAN."; + } + identity voiceEBS { + base iana-interface-type; + description + "Voice P-phone EBS physical interface."; + } + identity ifPwType { + base iana-interface-type; + description + "Pseudowire interface type."; + reference + "RFC 5601 - Pseudowire (PW) Management Information Base (MIB)"; + } + identity ilan { + base iana-interface-type; + description + "Internal LAN on a bridge per IEEE 802.1ap."; + } + identity pip { + base iana-interface-type; + description + "Provider Instance Port on a bridge per IEEE 802.1ah PBB."; + } + identity aluELP { + base iana-interface-type; + description + "Alcatel-Lucent Ethernet Link Protection."; + } + identity gpon { + base iana-interface-type; + description + "Gigabit-capable passive optical networks (G-PON) as per + ITU-T G.948."; + } + identity vdsl2 { + base iana-interface-type; + description + "Very high speed digital subscriber line Version 2 + (as per ITU-T Recommendation G.993.2)."; + reference + "RFC 5650 - Definitions of Managed Objects for Very High + Speed Digital Subscriber Line 2 (VDSL2)"; + } + identity capwapDot11Profile { + base iana-interface-type; + description + "WLAN Profile Interface."; + reference + "RFC 5834 - Control and Provisioning of Wireless Access + Points (CAPWAP) Protocol Binding MIB for + IEEE 802.11"; + } + identity capwapDot11Bss { + base iana-interface-type; + description + "WLAN BSS Interface."; + reference + "RFC 5834 - Control and Provisioning of Wireless Access + Points (CAPWAP) Protocol Binding MIB for + IEEE 802.11"; + } + identity capwapWtpVirtualRadio { + base iana-interface-type; + description + "WTP Virtual Radio Interface."; + reference + "RFC 5833 - Control and Provisioning of Wireless Access + Points (CAPWAP) Protocol Base MIB"; + } + identity bits { + base iana-interface-type; + description + "bitsport."; + } + identity docsCableUpstreamRfPort { + base iana-interface-type; + description + "DOCSIS CATV Upstream RF Port."; + } + + + identity cableDownstreamRfPort { + base iana-interface-type; + description + "CATV downstream RF Port."; + } + identity vmwareVirtualNic { + base iana-interface-type; + description + "VMware Virtual Network Interface."; + } + identity ieee802154 { + base iana-interface-type; + description + "IEEE 802.15.4 WPAN interface."; + reference + "IEEE 802.15.4-2006"; + } + identity otnOdu { + base iana-interface-type; + description + "OTN Optical Data Unit."; + } + identity otnOtu { + base iana-interface-type; + description + "OTN Optical channel Transport Unit."; + } + identity ifVfiType { + base iana-interface-type; + description + "VPLS Forwarding Instance Interface Type."; + } + identity g9981 { + base iana-interface-type; + description + "G.998.1 bonded interface."; + } + identity g9982 { + base iana-interface-type; + description + "G.998.2 bonded interface."; + } + identity g9983 { + base iana-interface-type; + description + "G.998.3 bonded interface."; + } + + identity aluEpon { + base iana-interface-type; + description + "Ethernet Passive Optical Networks (E-PON)."; + } + identity aluEponOnu { + base iana-interface-type; + description + "EPON Optical Network Unit."; + } + identity aluEponPhysicalUni { + base iana-interface-type; + description + "EPON physical User to Network interface."; + } + identity aluEponLogicalLink { + base iana-interface-type; + description + "The emulation of a point-to-point link over the EPON + layer."; + } + identity aluGponOnu { + base iana-interface-type; + description + "GPON Optical Network Unit."; + reference + "ITU-T G.984.2"; + } + identity aluGponPhysicalUni { + base iana-interface-type; + description + "GPON physical User to Network interface."; + reference + "ITU-T G.984.2"; + } + identity vmwareNicTeam { + base iana-interface-type; + description + "VMware NIC Team."; + } +} diff --git a/vendor/cisco/xr/755/ietf-datastores.yang b/vendor/cisco/xr/755/ietf-datastores.yang new file mode 100644 index 000000000..9e875ab6a --- /dev/null +++ b/vendor/cisco/xr/755/ietf-datastores.yang @@ -0,0 +1,117 @@ +module ietf-datastores { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-datastores"; + prefix ds; + + organization + "IETF Network Modeling (NETMOD) Working Group"; + + contact + "WG Web: + + WG List: + + Author: Martin Bjorklund + + + Author: Juergen Schoenwaelder + + + Author: Phil Shafer + + + Author: Kent Watsen + + + Author: Rob Wilton + "; + + description + "This YANG module defines a set of identities for identifying + datastores. + + Copyright (c) 2018 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject to + the license terms contained in, the Simplified BSD License set + forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (https://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 8342 + (https://www.rfc-editor.org/info/rfc8342); see the RFC itself + for full legal notices."; + + revision 2018-02-14 { + description + "Initial revision."; + reference + "RFC 8342: Network Management Datastore Architecture (NMDA)"; + } + + /* + * Identities + */ + + identity datastore { + description + "Abstract base identity for datastore identities."; + } + + identity conventional { + base datastore; + description + "Abstract base identity for conventional configuration + datastores."; + } + + identity running { + base conventional; + description + "The running configuration datastore."; + } + + identity candidate { + base conventional; + description + "The candidate configuration datastore."; + } + + identity startup { + base conventional; + description + "The startup configuration datastore."; + } + + identity intended { + base conventional; + description + "The intended configuration datastore."; + } + + identity dynamic { + base datastore; + description + "Abstract base identity for dynamic configuration datastores."; + } + + identity operational { + base datastore; + description + "The operational state datastore."; + } + + /* + * Type definitions + */ + + typedef datastore-ref { + type identityref { + base datastore; + } + description + "A datastore identity reference."; + } +} diff --git a/vendor/cisco/xr/755/ietf-inet-types.yang b/vendor/cisco/xr/755/ietf-inet-types.yang new file mode 100644 index 000000000..2f14270de --- /dev/null +++ b/vendor/cisco/xr/755/ietf-inet-types.yang @@ -0,0 +1,457 @@ +module ietf-inet-types { + + namespace "urn:ietf:params:xml:ns:yang:ietf-inet-types"; + prefix "inet"; + + organization + "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; + + contact + "WG Web: + WG List: + + WG Chair: David Kessens + + + WG Chair: Juergen Schoenwaelder + + + Editor: Juergen Schoenwaelder + "; + + description + "This module contains a collection of generally useful derived + YANG data types for Internet addresses and related things. + + Copyright (c) 2013 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 6991; see + the RFC itself for full legal notices."; + + revision 2013-07-15 { + description + "This revision adds the following new data types: + - ip-address-no-zone + - ipv4-address-no-zone + - ipv6-address-no-zone"; + reference + "RFC 6991: Common YANG Data Types"; + } + + revision 2010-09-24 { + description + "Initial revision."; + reference + "RFC 6021: Common YANG Data Types"; + } + + /*** collection of types related to protocol fields ***/ + + typedef ip-version { + type enumeration { + enum unknown { + value "0"; + description + "An unknown or unspecified version of the Internet + protocol."; + } + enum ipv4 { + value "1"; + description + "The IPv4 protocol as defined in RFC 791."; + } + enum ipv6 { + value "2"; + description + "The IPv6 protocol as defined in RFC 2460."; + } + } + description + "This value represents the version of the IP protocol. + + In the value set and its semantics, this type is equivalent + to the InetVersion textual convention of the SMIv2."; + reference + "RFC 791: Internet Protocol + RFC 2460: Internet Protocol, Version 6 (IPv6) Specification + RFC 4001: Textual Conventions for Internet Network Addresses"; + } + + typedef dscp { + type uint8 { + range "0..63"; + } + description + "The dscp type represents a Differentiated Services Code Point + that may be used for marking packets in a traffic stream. + In the value set and its semantics, this type is equivalent + to the Dscp textual convention of the SMIv2."; + reference + "RFC 3289: Management Information Base for the Differentiated + Services Architecture + RFC 2474: Definition of the Differentiated Services Field + (DS Field) in the IPv4 and IPv6 Headers + RFC 2780: IANA Allocation Guidelines For Values In + the Internet Protocol and Related Headers"; + } + + typedef ipv6-flow-label { + type uint32 { + range "0..1048575"; + } + description + "The ipv6-flow-label type represents the flow identifier or Flow + Label in an IPv6 packet header that may be used to + discriminate traffic flows. + + In the value set and its semantics, this type is equivalent + to the IPv6FlowLabel textual convention of the SMIv2."; + reference + "RFC 3595: Textual Conventions for IPv6 Flow Label + RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"; + } + + typedef port-number { + type uint16 { + range "0..65535"; + } + description + "The port-number type represents a 16-bit port number of an + Internet transport-layer protocol such as UDP, TCP, DCCP, or + SCTP. Port numbers are assigned by IANA. A current list of + all assignments is available from . + + Note that the port number value zero is reserved by IANA. In + situations where the value zero does not make sense, it can + be excluded by subtyping the port-number type. + In the value set and its semantics, this type is equivalent + to the InetPortNumber textual convention of the SMIv2."; + reference + "RFC 768: User Datagram Protocol + RFC 793: Transmission Control Protocol + RFC 4960: Stream Control Transmission Protocol + RFC 4340: Datagram Congestion Control Protocol (DCCP) + RFC 4001: Textual Conventions for Internet Network Addresses"; + } + + /*** collection of types related to autonomous systems ***/ + + typedef as-number { + type uint32; + description + "The as-number type represents autonomous system numbers + which identify 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 were originally limited to 16 + bits. BGP extensions have enlarged the autonomous system + number space to 32 bits. This type therefore uses an uint32 + base type without a range restriction in order to support + a larger autonomous system number space. + + In the value set and its semantics, this type is equivalent + to the InetAutonomousSystemNumber textual convention of + the SMIv2."; + reference + "RFC 1930: Guidelines for creation, selection, and registration + of an Autonomous System (AS) + RFC 4271: A Border Gateway Protocol 4 (BGP-4) + RFC 4001: Textual Conventions for Internet Network Addresses + RFC 6793: BGP Support for Four-Octet Autonomous System (AS) + Number Space"; + } + + /*** collection of types related to IP addresses and hostnames ***/ + + typedef ip-address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + description + "The ip-address type represents an IP address and is IP + version neutral. The format of the textual representation + implies the IP version. This type supports scoped addresses + by allowing zone identifiers in the address format."; + reference + "RFC 4007: IPv6 Scoped Address Architecture"; + } + + typedef ipv4-address { + 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])' + + '(%[\p{N}\p{L}]+)?'; + } + description + "The ipv4-address type represents an IPv4 address in + dotted-quad notation. The IPv4 address may include a zone + index, separated by a % sign. + + The zone index is used to disambiguate identical address + values. For link-local addresses, the zone index will + typically be the interface index number or the name of an + interface. If the zone index is not present, the default + zone of the device will be used. + + The canonical format for the zone index is the numerical + format"; + } + + typedef ipv6-address { + 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])))' + + '(%[\p{N}\p{L}]+)?'; + pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|' + + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' + + '(%.+)?'; + } + description + "The ipv6-address type represents an IPv6 address in full, + mixed, shortened, and shortened-mixed notation. The IPv6 + address may include a zone index, separated by a % sign. + + The zone index is used to disambiguate identical address + values. For link-local addresses, the zone index will + typically be the interface index number or the name of an + interface. If the zone index is not present, the default + zone of the device will be used. + + The canonical format of IPv6 addresses uses the textual + representation defined in Section 4 of RFC 5952. The + canonical format for the zone index is the numerical + format as described in Section 11.2 of RFC 4007."; + reference + "RFC 4291: IP Version 6 Addressing Architecture + RFC 4007: IPv6 Scoped Address Architecture + RFC 5952: A Recommendation for IPv6 Address Text + Representation"; + } + + typedef ip-address-no-zone { + type union { + type inet:ipv4-address-no-zone; + type inet:ipv6-address-no-zone; + } + description + "The ip-address-no-zone type represents an IP address and is + IP version neutral. The format of the textual representation + implies the IP version. This type does not support scoped + addresses since it does not allow zone identifiers in the + address format."; + reference + "RFC 4007: IPv6 Scoped Address Architecture"; + } + + typedef ipv4-address-no-zone { + type inet:ipv4-address { + pattern '[0-9\.]*'; + } + description + "An IPv4 address without a zone index. This type, derived from + ipv4-address, may be used in situations where the zone is + known from the context and hence no zone index is needed."; + } + + typedef ipv6-address-no-zone { + type inet:ipv6-address { + pattern '[0-9a-fA-F:\.]*'; + } + description + "An IPv6 address without a zone index. This type, derived from + ipv6-address, may be used in situations where the zone is + known from the context and hence no zone index is needed."; + reference + "RFC 4291: IP Version 6 Addressing Architecture + RFC 4007: IPv6 Scoped Address Architecture + RFC 5952: A Recommendation for IPv6 Address Text + Representation"; + } + + typedef ip-prefix { + type union { + type inet:ipv4-prefix; + type inet:ipv6-prefix; + } + description + "The ip-prefix type represents an IP prefix and is IP + version neutral. The format of the textual representations + implies the IP version."; + } + + typedef ipv4-prefix { + 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]))'; + } + description + "The ipv4-prefix type represents an IPv4 address prefix. + The prefix length is given by the number following the + slash character and must be less than or equal to 32. + + A prefix length value of n corresponds to an IP address + mask that has n contiguous 1-bits from the most + significant bit (MSB) and all other bits set to 0. + + The canonical format of an IPv4 prefix has all bits of + the IPv4 address set to zero that are not part of the + IPv4 prefix."; + } + + 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}(([^:]+:[^:]+)|(.*\..*)))|' + + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' + + '(/.+)'; + } + description + "The ipv6-prefix type represents an IPv6 address prefix. + The prefix length is given by the number following the + slash character and must be less than or equal to 128. + + A prefix length value of n corresponds to an IP address + mask that has n contiguous 1-bits from the most + significant bit (MSB) and all other bits set to 0. + + The IPv6 address should have all bits that do not belong + to the prefix set to zero. + + The canonical format of an IPv6 prefix has all bits of + the IPv6 address set to zero that are not part of the + IPv6 prefix. Furthermore, the IPv6 address is represented + as defined in Section 4 of RFC 5952."; + reference + "RFC 5952: A Recommendation for IPv6 Address Text + Representation"; + } + + /*** collection of domain name and URI types ***/ + + typedef domain-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 + "The domain-name type represents a DNS domain name. The + name SHOULD be fully qualified whenever possible. + + Internet domain names are only loosely specified. Section + 3.5 of RFC 1034 recommends a syntax (modified in Section + 2.1 of RFC 1123). The pattern above is intended to allow + for current practice in domain name use, and some possible + future expansion. It is designed to hold various types of + domain names, including names used for A or AAAA records + (host names) and other records, such as SRV records. Note + that Internet host names have a stricter syntax (described + in RFC 952) than the DNS recommendations in RFCs 1034 and + 1123, and that systems that want to store host names in + schema nodes using the domain-name type are recommended to + adhere to this stricter standard to ensure interoperability. + + The encoding of DNS names in the DNS protocol is limited + to 255 characters. Since the encoding consists of labels + prefixed by a length bytes and there is a trailing NULL + byte, only 253 characters can appear in the textual dotted + notation. + + The description clause of schema nodes using the domain-name + type MUST describe when and how these names are resolved to + IP addresses. Note that the resolution of a domain-name 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 can either be defined + explicitly or may depend on the configuration of the + resolver. + + Domain-name values use the US-ASCII encoding. Their canonical + format uses lowercase US-ASCII characters. Internationalized + domain names MUST be A-labels as per RFC 5890."; + reference + "RFC 952: DoD Internet Host Table Specification + RFC 1034: Domain Names - Concepts and Facilities + RFC 1123: Requirements for Internet Hosts -- Application + and Support + RFC 2782: A DNS RR for specifying the location of services + (DNS SRV) + RFC 5890: Internationalized Domain Names in Applications + (IDNA): Definitions and Document Framework"; + } + + typedef host { + type union { + type inet:ip-address; + type inet:domain-name; + } + description + "The host type represents either an IP address or a DNS + domain name."; + } + + typedef uri { + type string; + description + "The uri type represents a Uniform Resource Identifier + (URI) as defined by STD 66. + + Objects using the uri type MUST be in US-ASCII encoding, + and MUST be normalized as described by RFC 3986 Sections + 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary + percent-encoding is removed, and all case-insensitive + characters are set to lowercase except for hexadecimal + digits, which are normalized to uppercase as described in + Section 6.2.2.1. + + The purpose of this normalization is to help provide + unique URIs. Note that this normalization is not + sufficient to provide uniqueness. Two URIs that are + textually distinct after this normalization may still be + equivalent. + + Objects using the uri type may restrict the schemes that + they permit. For example, 'data:' and 'urn:' schemes + might not be appropriate. + + A zero-length URI is not a valid URI. This can be used to + express 'URI absent' where required. + + In the value set and its semantics, this type is equivalent + to the Uri SMIv2 textual convention defined in RFC 5017."; + reference + "RFC 3986: Uniform Resource Identifier (URI): Generic Syntax + RFC 3305: Report from the Joint W3C/IETF URI Planning Interest + Group: Uniform Resource Identifiers (URIs), URLs, + and Uniform Resource Names (URNs): Clarifications + and Recommendations + RFC 5017: MIB Textual Conventions for Uniform Resource + Identifiers (URIs)"; + } + +} diff --git a/vendor/cisco/xr/755/ietf-interfaces.yang b/vendor/cisco/xr/755/ietf-interfaces.yang new file mode 100644 index 000000000..ad64425f7 --- /dev/null +++ b/vendor/cisco/xr/755/ietf-interfaces.yang @@ -0,0 +1,725 @@ +module ietf-interfaces { + + namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces"; + prefix if; + + import ietf-yang-types { + prefix yang; + } + + organization + "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; + + contact + "WG Web: + WG List: + + WG Chair: Thomas Nadeau + + + WG Chair: Juergen Schoenwaelder + + + Editor: Martin Bjorklund + "; + + description + "This module contains a collection of YANG definitions for + managing network interfaces. + + Copyright (c) 2014 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 7223; see + the RFC itself for full legal notices."; + + revision 2014-05-08 { + description + "Initial revision."; + reference + "RFC 7223: A YANG Data Model for Interface Management"; + } + + /* + * Typedefs + */ + + typedef interface-ref { + type leafref { + path "/if:interfaces/if:interface/if:name"; + } + description + "This type is used by data models that need to reference + configured interfaces."; + } + + typedef interface-state-ref { + type leafref { + path "/if:interfaces-state/if:interface/if:name"; + } + description + "This type is used by data models that need to reference + the operationally present interfaces."; + } + + /* + * Identities + */ + + identity interface-type { + description + "Base identity from which specific interface types are + derived."; + } + + /* + * Features + */ + + feature arbitrary-names { + description + "This feature indicates that the device allows user-controlled + interfaces to be named arbitrarily."; + } + feature pre-provisioning { + description + "This feature indicates that the device supports + pre-provisioning of interface configuration, i.e., it is + possible to configure an interface whose physical interface + hardware is not present on the device."; + } + + feature if-mib { + description + "This feature indicates that the device implements + the IF-MIB."; + reference + "RFC 2863: The Interfaces Group MIB"; + } + + /* + * Configuration data nodes + */ + + container interfaces { + description + "Interface configuration parameters."; + + list interface { + key "name"; + + description + "The list of configured interfaces on the device. + + The operational state of an interface is available in the + /interfaces-state/interface list. If the configuration of a + system-controlled interface cannot be used by the system + (e.g., the interface hardware present does not match the + interface type), then the configuration is not applied to + the system-controlled interface shown in the + /interfaces-state/interface list. If the configuration + of a user-controlled interface cannot be used by the system, + the configured interface is not instantiated in the + /interfaces-state/interface list."; + + leaf name { + type string; + description + "The name of the interface. + + A device MAY restrict the allowed values for this leaf, + possibly depending on the type of the interface. + For system-controlled interfaces, this leaf is the + device-specific name of the interface. The 'config false' + list /interfaces-state/interface contains the currently + existing interfaces on the device. + + If a client tries to create configuration for a + system-controlled interface that is not present in the + /interfaces-state/interface list, the server MAY reject + the request if the implementation does not support + pre-provisioning of interfaces or if the name refers to + an interface that can never exist in the system. A + NETCONF server MUST reply with an rpc-error with the + error-tag 'invalid-value' in this case. + + If the device supports pre-provisioning of interface + configuration, the 'pre-provisioning' feature is + advertised. + + If the device allows arbitrarily named user-controlled + interfaces, the 'arbitrary-names' feature is advertised. + + When a configured user-controlled interface is created by + the system, it is instantiated with the same name in the + /interface-state/interface list."; + } + + leaf description { + type string; + description + "A textual description of the interface. + + A server implementation MAY map this leaf to the ifAlias + MIB object. Such an implementation needs to use some + mechanism to handle the differences in size and characters + allowed between this leaf and ifAlias. The definition of + such a mechanism is outside the scope of this document. + + Since ifAlias is defined to be stored in non-volatile + storage, the MIB implementation MUST map ifAlias to the + value of 'description' in the persistently stored + datastore. + + Specifically, if the device supports ':startup', when + ifAlias is read the device MUST return the value of + 'description' in the 'startup' datastore, and when it is + written, it MUST be written to the 'running' and 'startup' + datastores. Note that it is up to the implementation to + + decide whether to modify this single leaf in 'startup' or + perform an implicit copy-config from 'running' to + 'startup'. + + If the device does not support ':startup', ifAlias MUST + be mapped to the 'description' leaf in the 'running' + datastore."; + reference + "RFC 2863: The Interfaces Group MIB - ifAlias"; + } + + leaf type { + type identityref { + base interface-type; + } + mandatory true; + description + "The type of the interface. + + 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."; + reference + "RFC 2863: The Interfaces Group MIB - ifType"; + } + + leaf enabled { + type boolean; + default "true"; + description + "This leaf contains the configured, desired state of the + interface. + + Systems that implement the IF-MIB use the value of this + leaf in the 'running' datastore to set + IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry + has been initialized, as described in RFC 2863. + + + + Changes in this leaf in the 'running' datastore are + reflected in ifAdminStatus, but if ifAdminStatus is + changed over SNMP, this leaf is not affected."; + reference + "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; + } + + leaf link-up-down-trap-enable { + if-feature if-mib; + type enumeration { + enum enabled { + value 1; + } + enum disabled { + value 2; + } + } + description + "Controls whether linkUp/linkDown SNMP notifications + should be generated for this interface. + + If this node is not configured, the value 'enabled' is + operationally used by the server for interfaces that do + not operate on top of any other interface (i.e., there are + no 'lower-layer-if' entries), and 'disabled' otherwise."; + reference + "RFC 2863: The Interfaces Group MIB - + ifLinkUpDownTrapEnable"; + } + } + } + + /* + * Operational state data nodes + */ + + container interfaces-state { + config false; + description + "Data nodes for the operational state of interfaces."; + + list interface { + key "name"; + + + + + + description + "The list of interfaces on the device. + + System-controlled interfaces created by the system are + always present in this list, whether they are configured or + not."; + + 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."; + reference + "RFC 2863: The Interfaces Group MIB - ifName"; + } + + leaf type { + type identityref { + base interface-type; + } + mandatory true; + description + "The type of the interface."; + reference + "RFC 2863: The Interfaces Group MIB - ifType"; + } + + leaf admin-status { + if-feature if-mib; + type enumeration { + enum up { + value 1; + description + "Ready to pass packets."; + } + enum down { + value 2; + description + "Not ready to pass packets and not in some test mode."; + } + + + + enum testing { + value 3; + description + "In some test mode."; + } + } + mandatory true; + description + "The desired state of the interface. + + This leaf has the same read semantics as ifAdminStatus."; + reference + "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; + } + + leaf oper-status { + type enumeration { + enum up { + value 1; + description + "Ready to pass packets."; + } + enum down { + value 2; + description + "The interface does not pass any packets."; + } + enum testing { + value 3; + description + "In some test mode. No operational packets can + be passed."; + } + enum unknown { + value 4; + description + "Status cannot be determined for some reason."; + } + enum dormant { + value 5; + description + "Waiting for some external event."; + } + enum not-present { + value 6; + description + "Some component (typically hardware) is missing."; + } + enum lower-layer-down { + value 7; + description + "Down due to state of lower-layer interface(s)."; + } + } + mandatory true; + description + "The current operational state of the interface. + + This leaf has the same semantics as ifOperStatus."; + reference + "RFC 2863: The Interfaces Group MIB - 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."; + reference + "RFC 2863: The Interfaces Group MIB - ifLastChange"; + } + + leaf if-index { + if-feature if-mib; + type int32 { + range "1..2147483647"; + } + mandatory true; + description + "The ifIndex value for the ifEntry represented by this + interface."; + reference + "RFC 2863: The Interfaces Group MIB - ifIndex"; + } + + leaf phys-address { + 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 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."; + reference + "RFC 2863: The Interfaces Group MIB - ifPhysAddress"; + } + + leaf-list higher-layer-if { + type interface-state-ref; + description + "A list of references to interfaces layered on top of this + interface."; + reference + "RFC 2863: The Interfaces Group MIB - ifStackTable"; + } + + leaf-list lower-layer-if { + type interface-state-ref; + description + "A list of references to interfaces layered underneath this + interface."; + reference + "RFC 2863: The Interfaces Group MIB - ifStackTable"; + } + + leaf speed { + type yang:gauge64; + units "bits/second"; + 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."; + reference + "RFC 2863: The Interfaces Group MIB - + ifSpeed, ifHighSpeed"; + } + + + + + + + + + + container statistics { + description + "A collection of interface-related statistics objects."; + + leaf discontinuity-time { + type yang:date-and-time; + mandatory true; + 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 yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCInOctets"; + } + + leaf in-unicast-pkts { + type yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts"; + } + + + + + leaf in-broadcast-pkts { + type yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCInBroadcastPkts"; + } + + leaf in-multicast-pkts { + type yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCInMulticastPkts"; + } + + leaf in-discards { + type yang:counter32; + 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'."; + + + reference + "RFC 2863: The Interfaces Group MIB - ifInDiscards"; + } + + leaf in-errors { + 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 + 'discontinuity-time'."; + reference + "RFC 2863: The Interfaces Group MIB - ifInErrors"; + } + + leaf in-unknown-protos { + type yang:counter32; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos"; + } + + + + + + leaf out-octets { + type yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCOutOctets"; + } + + leaf out-unicast-pkts { + type yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts"; + } + + leaf out-broadcast-pkts { + type yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCOutBroadcastPkts"; + } + + + leaf out-multicast-pkts { + type yang:counter64; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCOutMulticastPkts"; + } + + leaf out-discards { + type yang:counter32; + 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'."; + reference + "RFC 2863: The Interfaces Group MIB - ifOutDiscards"; + } + + leaf out-errors { + 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 + 'discontinuity-time'."; + reference + "RFC 2863: The Interfaces Group MIB - ifOutErrors"; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/ietf-netconf-acm.yang b/vendor/cisco/xr/755/ietf-netconf-acm.yang new file mode 100644 index 000000000..bf4855faf --- /dev/null +++ b/vendor/cisco/xr/755/ietf-netconf-acm.yang @@ -0,0 +1,464 @@ +module ietf-netconf-acm { + + namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-acm"; + + prefix nacm; + + import ietf-yang-types { + prefix yang; + } + + organization + "IETF NETCONF (Network Configuration) Working Group"; + + contact + "WG Web: + WG List: + + Author: Andy Bierman + + + Author: Martin Bjorklund + "; + + description + "Network Configuration Access Control Model. + + Copyright (c) 2012 - 2018 IETF Trust and the persons + identified as authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD + License set forth in Section 4.c of the IETF Trust's + Legal Provisions Relating to IETF Documents + (https://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 8341; see + the RFC itself for full legal notices."; + + revision "2018-02-14" { + description + "Added support for YANG 1.1 actions and notifications tied to + data nodes. Clarified how NACM extensions can be used by + other data models."; + reference + "RFC 8341: Network Configuration Access Control Model"; + } + + revision "2012-02-22" { + description + "Initial version."; + reference + "RFC 6536: Network Configuration Protocol (NETCONF) + Access Control Model"; + } + + /* + * Extension statements + */ + + extension default-deny-write { + description + "Used to indicate that the data model node + represents a sensitive security system parameter. + + If present, the NETCONF server will only allow the designated + 'recovery session' to have write access to the node. An + explicit access control rule is required for all other users. + + If the NACM module is used, then it must be enabled (i.e., + /nacm/enable-nacm object equals 'true'), or this extension + is ignored. + + The 'default-deny-write' extension MAY appear within a data + definition statement. It is ignored otherwise."; + } + + extension default-deny-all { + description + "Used to indicate that the data model node + controls a very sensitive security system parameter. + + If present, the NETCONF server will only allow the designated + 'recovery session' to have read, write, or execute access to + the node. An explicit access control rule is required for all + other users. + + If the NACM module is used, then it must be enabled (i.e., + /nacm/enable-nacm object equals 'true'), or this extension + is ignored. + + The 'default-deny-all' extension MAY appear within a data + definition statement, 'rpc' statement, or 'notification' + statement. It is ignored otherwise."; + } + + /* + * Derived types + */ + + typedef user-name-type { + type string { + length "1..max"; + } + description + "General-purpose username string."; + } + + typedef matchall-string-type { + type string { + pattern '\*'; + } + description + "The string containing a single asterisk '*' is used + to conceptually represent all possible values + for the particular leaf using this data type."; + } + + typedef access-operations-type { + type bits { + bit create { + description + "Any protocol operation that creates a + new data node."; + } + bit read { + description + "Any protocol operation or notification that + returns the value of a data node."; + } + bit update { + description + "Any protocol operation that alters an existing + data node."; + } + bit delete { + description + "Any protocol operation that removes a data node."; + } + bit exec { + description + "Execution access to the specified protocol operation."; + } + } + description + "Access operation."; + } + + typedef group-name-type { + type string { + length "1..max"; + pattern '[^\*].*'; + } + description + "Name of administrative group to which + users can be assigned."; + } + + typedef action-type { + type enumeration { + enum permit { + description + "Requested action is permitted."; + } + enum deny { + description + "Requested action is denied."; + } + } + description + "Action taken by the server when a particular + rule matches."; + } + + typedef node-instance-identifier { + type yang:xpath1.0; + description + "Path expression used to represent a special + data node, action, or notification instance-identifier + string. + + A node-instance-identifier value is an + unrestricted YANG instance-identifier expression. + All the same rules as an instance-identifier apply, + except that predicates for keys are optional. If a key + predicate is missing, then the node-instance-identifier + represents all possible server instances for that key. + + This XML Path Language (XPath) expression is evaluated in the + following context: + + o The set of namespace declarations are those in scope on + the leaf element where this type is used. + + o The set of variable bindings contains one variable, + 'USER', which contains the name of the user of the + current session. + + o The function library is the core function library, but + note that due to the syntax restrictions of an + instance-identifier, no functions are allowed. + + o The context node is the root node in the data tree. + + The accessible tree includes actions and notifications tied + to data nodes."; + } + + /* + * Data definition statements + */ + + container nacm { + nacm:default-deny-all; + + description + "Parameters for NETCONF access control model."; + + leaf enable-nacm { + type boolean; + default "true"; + description + "Enables or disables all NETCONF access control + enforcement. If 'true', then enforcement + is enabled. If 'false', then enforcement + is disabled."; + } + + leaf read-default { + type action-type; + default "permit"; + description + "Controls whether read access is granted if + no appropriate rule is found for a + particular read request."; + } + + leaf write-default { + type action-type; + default "deny"; + description + "Controls whether create, update, or delete access + is granted if no appropriate rule is found for a + particular write request."; + } + + leaf exec-default { + type action-type; + default "permit"; + description + "Controls whether exec access is granted if no appropriate + rule is found for a particular protocol operation request."; + } + + leaf enable-external-groups { + type boolean; + default "true"; + description + "Controls whether the server uses the groups reported by the + NETCONF transport layer when it assigns the user to a set of + NACM groups. If this leaf has the value 'false', any group + names reported by the transport layer are ignored by the + server."; + } + + leaf denied-operations { + type yang:zero-based-counter32; + config false; + mandatory true; + description + "Number of times since the server last restarted that a + protocol operation request was denied."; + } + + leaf denied-data-writes { + type yang:zero-based-counter32; + config false; + mandatory true; + description + "Number of times since the server last restarted that a + protocol operation request to alter + a configuration datastore was denied."; + } + + leaf denied-notifications { + type yang:zero-based-counter32; + config false; + mandatory true; + description + "Number of times since the server last restarted that + a notification was dropped for a subscription because + access to the event type was denied."; + } + + container groups { + description + "NETCONF access control groups."; + + list group { + key name; + + description + "One NACM group entry. This list will only contain + configured entries, not any entries learned from + any transport protocols."; + + leaf name { + type group-name-type; + description + "Group name associated with this entry."; + } + + leaf-list user-name { + type user-name-type; + description + "Each entry identifies the username of + a member of the group associated with + this entry."; + } + } + } + + list rule-list { + key name; + ordered-by user; + description + "An ordered collection of access control rules."; + + leaf name { + type string { + length "1..max"; + } + description + "Arbitrary name assigned to the rule-list."; + } + leaf-list group { + type union { + type matchall-string-type; + type group-name-type; + } + description + "List of administrative groups that will be + assigned the associated access rights + defined by the 'rule' list. + + The string '*' indicates that all groups apply to the + entry."; + } + + list rule { + key name; + ordered-by user; + description + "One access control rule. + + Rules are processed in user-defined order until a match is + found. A rule matches if 'module-name', 'rule-type', and + 'access-operations' match the request. If a rule + matches, the 'action' leaf determines whether or not + access is granted."; + + leaf name { + type string { + length "1..max"; + } + description + "Arbitrary name assigned to the rule."; + } + + leaf module-name { + type union { + type matchall-string-type; + type string; + } + default "*"; + description + "Name of the module associated with this rule. + + This leaf matches if it has the value '*' or if the + object being accessed is defined in the module with the + specified module name."; + } + choice rule-type { + description + "This choice matches if all leafs present in the rule + match the request. If no leafs are present, the + choice matches all requests."; + case protocol-operation { + leaf rpc-name { + type union { + type matchall-string-type; + type string; + } + description + "This leaf matches if it has the value '*' or if + its value equals the requested protocol operation + name."; + } + } + case notification { + leaf notification-name { + type union { + type matchall-string-type; + type string; + } + description + "This leaf matches if it has the value '*' or if its + value equals the requested notification name."; + } + } + + case data-node { + leaf path { + type node-instance-identifier; + mandatory true; + description + "Data node instance-identifier associated with the + data node, action, or notification controlled by + this rule. + + Configuration data or state data + instance-identifiers start with a top-level + data node. A complete instance-identifier is + required for this type of path value. + + The special value '/' refers to all possible + datastore contents."; + } + } + } + + leaf access-operations { + type union { + type matchall-string-type; + type access-operations-type; + } + default "*"; + description + "Access operations associated with this rule. + + This leaf matches if it has the value '*' or if the + bit corresponding to the requested operation is set."; + } + + leaf action { + type action-type; + mandatory true; + description + "The access control action associated with the + rule. If a rule has been determined to match a + particular request, then this object is used + to determine whether to permit or deny the + request."; + } + + leaf comment { + type string; + description + "A textual description of the access rule."; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/ietf-netconf-monitoring.yang b/vendor/cisco/xr/755/ietf-netconf-monitoring.yang new file mode 100644 index 000000000..8d2380e72 --- /dev/null +++ b/vendor/cisco/xr/755/ietf-netconf-monitoring.yang @@ -0,0 +1,558 @@ +module ietf-netconf-monitoring { + + namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"; + prefix "ncm"; + + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } + + organization + "IETF NETCONF (Network Configuration) Working Group"; + + contact + "WG Web: + WG List: + + WG Chair: Mehmet Ersue + + + WG Chair: Bert Wijnen + + + Editor: Mark Scott + + + Editor: Martin Bjorklund + "; + + description + "NETCONF Monitoring Module. + All elements in this module are read-only. + + Copyright (c) 2010 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD + License set forth in Section 4.c of the IETF Trust's + Legal Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 6022; see + the RFC itself for full legal notices."; + + revision 2010-10-04 { + description + "Initial revision."; + reference + "RFC 6022: YANG Module for NETCONF Monitoring"; + } + + typedef netconf-datastore-type { + type enumeration { + enum running; + enum candidate; + enum startup; + } + description + "Enumeration of possible NETCONF datastore types."; + reference + "RFC 4741: NETCONF Configuration Protocol"; + } + + identity transport { + description + "Base identity for NETCONF transport types."; + } + + identity netconf-ssh { + base transport; + description + "NETCONF over Secure Shell (SSH)."; + reference + "RFC 4742: Using the NETCONF Configuration Protocol + over Secure SHell (SSH)"; + } + + identity netconf-soap-over-beep { + base transport; + description + "NETCONF over Simple Object Access Protocol (SOAP) over + Blocks Extensible Exchange Protocol (BEEP)."; + reference + "RFC 4743: Using NETCONF over the Simple Object + Access Protocol (SOAP)"; + } + + identity netconf-soap-over-https { + base transport; + description + "NETCONF over Simple Object Access Protocol (SOAP) + over Hypertext Transfer Protocol Secure (HTTPS)."; + reference + "RFC 4743: Using NETCONF over the Simple Object + Access Protocol (SOAP)"; + } + + identity netconf-beep { + base transport; + description + "NETCONF over Blocks Extensible Exchange Protocol (BEEP)."; + reference + "RFC 4744: Using the NETCONF Protocol over the + Blocks Extensible Exchange Protocol (BEEP)"; + } + + identity netconf-tls { + base transport; + description + "NETCONF over Transport Layer Security (TLS)."; + reference + "RFC 5539: NETCONF over Transport Layer Security (TLS)"; + } + + identity schema-format { + description + "Base identity for data model schema languages."; + } + + identity xsd { + base schema-format; + description + "W3C XML Schema Definition."; + reference + "W3C REC REC-xmlschema-1-20041028: + XML Schema Part 1: Structures"; + } + + identity yang { + base schema-format; + description + "The YANG data modeling language for NETCONF."; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + identity yin { + base schema-format; + description + "The YIN syntax for YANG."; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + identity rng { + base schema-format; + description + "Regular Language for XML Next Generation (RELAX NG)."; + reference + "ISO/IEC 19757-2:2008: RELAX NG"; + } + + identity rnc { + base schema-format; + description + "Relax NG Compact Syntax"; + reference + "ISO/IEC 19757-2:2008: RELAX NG"; + } + + grouping common-counters { + description + "Counters that exist both per session, and also globally, + accumulated from all sessions."; + + leaf in-rpcs { + type yang:zero-based-counter32; + description + "Number of correct messages received."; + } + leaf in-bad-rpcs { + type yang:zero-based-counter32; + description + "Number of messages received when an message was expected, + that were not correct messages. This includes XML parse + errors and errors on the rpc layer."; + } + leaf out-rpc-errors { + type yang:zero-based-counter32; + description + "Number of messages sent that contained an + element."; + } + leaf out-notifications { + type yang:zero-based-counter32; + description + "Number of messages sent."; + } + } + + container netconf-state { + config false; + description + "The netconf-state container is the root of the monitoring + data model."; + + container capabilities { + description + "Contains the list of NETCONF capabilities supported by the + server."; + + leaf-list capability { + type inet:uri; + description + "List of NETCONF capabilities supported by the server."; + } + } + + container datastores { + description + "Contains the list of NETCONF configuration datastores."; + + list datastore { + key name; + description + "List of NETCONF configuration datastores supported by + the NETCONF server and related information."; + + leaf name { + type netconf-datastore-type; + description + "Name of the datastore associated with this list entry."; + } + container locks { + presence + "This container is present only if the datastore + is locked."; + description + "The NETCONF and operations allow + a client to lock specific resources in a datastore. The + NETCONF server will prevent changes to the locked + resources by all sessions except the one that acquired + the lock(s). + + Monitoring information is provided for each datastore + entry including details such as the session that acquired + the lock, the type of lock (global or partial) and the + list of locked resources. Multiple locks per datastore + are supported."; + + grouping lock-info { + description + "Lock related parameters, common to both global and + partial locks."; + + leaf locked-by-session { + type uint32; + mandatory true; + description + "The session ID of the session that has locked + this resource. Both a global lock and a partial + lock MUST contain the NETCONF session-id. + + If the lock is held by a session that is not managed + by the NETCONF server (e.g., a CLI session), a session + id of 0 (zero) is reported."; + reference + "RFC 4741: NETCONF Configuration Protocol"; + } + leaf locked-time { + type yang:date-and-time; + mandatory true; + description + "The date and time of when the resource was + locked."; + } + } + + choice lock-type { + description + "Indicates if a global lock or a set of partial locks + are set."; + + container global-lock { + description + "Present if the global lock is set."; + uses lock-info; + } + + list partial-lock { + key lock-id; + description + "List of partial locks."; + reference + "RFC 5717: Partial Lock Remote Procedure Call (RPC) for + NETCONF"; + + leaf lock-id { + type uint32; + description + "This is the lock id returned in the + response."; + } + uses lock-info; + leaf-list select { + type yang:xpath1.0; + min-elements 1; + description + "The xpath expression that was used to request + the lock. The select expression indicates the + original intended scope of the lock."; + } + leaf-list locked-node { + type instance-identifier; + description + "The list of instance-identifiers (i.e., the + locked nodes). + + The scope of the partial lock is defined by the list + of locked nodes."; + } + } + } + } + } + } + + container schemas { + description + "Contains the list of data model schemas supported by the + server."; + + list schema { + key "identifier version format"; + + description + "List of data model schemas supported by the server."; + + leaf identifier { + type string; + description + "Identifier to uniquely reference the schema. The + identifier is used in the operation and may + be used for other purposes such as file retrieval. + + For modeling languages that support or require a data + model name (e.g., YANG module name) the identifier MUST + match that name. For YANG data models, the identifier is + the name of the module or submodule. In other cases, an + identifier such as a filename MAY be used instead."; + } + leaf version { + type string; + description + "Version of the schema supported. Multiple versions MAY be + supported simultaneously by a NETCONF server. Each + version MUST be reported individually in the schema list, + i.e., with same identifier, possibly different location, + but different version. + + For YANG data models, version is the value of the most + recent YANG 'revision' statement in the module or + submodule, or the empty string if no 'revision' statement + is present."; + } + leaf format { + type identityref { + base schema-format; + } + description + "The data modeling language the schema is written + in (currently xsd, yang, yin, rng, or rnc). + For YANG data models, 'yang' format MUST be supported and + 'yin' format MAY also be provided."; + } + leaf namespace { + type inet:uri; + mandatory true; + description + "The XML namespace defined by the data model. + + For YANG data models, this is the module's namespace. + If the list entry describes a submodule, this field + contains the namespace of the module to which the + submodule belongs."; + } + leaf-list location { + type union { + type enumeration { + enum "NETCONF"; + } + type inet:uri; + } + description + "One or more locations from which the schema can be + retrieved. This list SHOULD contain at least one + entry per schema. + + A schema entry may be located on a remote file system + (e.g., reference to file system for ftp retrieval) or + retrieved directly from a server supporting the + operation (denoted by the value 'NETCONF')."; + } + } + } + + container sessions { + description + "The sessions container includes session-specific data for + NETCONF management sessions. The session list MUST include + all currently active NETCONF sessions."; + + list session { + key session-id; + description + "All NETCONF sessions managed by the NETCONF server + MUST be reported in this list."; + + leaf session-id { + type uint32 { + range "1..max"; + } + description + "Unique identifier for the session. This value is the + NETCONF session identifier, as defined in RFC 4741."; + reference + "RFC 4741: NETCONF Configuration Protocol"; + } + leaf transport { + type identityref { + base transport; + } + mandatory true; + description + "Identifies the transport for each session, e.g., + 'netconf-ssh', 'netconf-soap', etc."; + } + leaf username { + type string; + mandatory true; + description + "The username is the client identity that was authenticated + by the NETCONF transport protocol. The algorithm used to + derive the username is NETCONF transport protocol specific + and in addition specific to the authentication mechanism + used by the NETCONF transport protocol."; + } + leaf source-host { + type inet:host; + description + "Host identifier of the NETCONF client. The value + returned is implementation specific (e.g., hostname, + IPv4 address, IPv6 address)"; + } + leaf login-time { + type yang:date-and-time; + mandatory true; + description + "Time at the server at which the session was established."; + } + uses common-counters { + description + "Per-session counters. Zero based with following reset + behaviour: + - at start of a session + - when max value is reached"; + } + } + } + + container statistics { + description + "Statistical data pertaining to the NETCONF server."; + + leaf netconf-start-time { + type yang:date-and-time; + description + "Date and time at which the management subsystem was + started."; + } + leaf in-bad-hellos { + type yang:zero-based-counter32; + description + "Number of sessions silently dropped because an + invalid message was received. This includes + messages with a 'session-id' attribute, bad namespace, and + bad capability declarations."; + } + leaf in-sessions { + type yang:zero-based-counter32; + description + "Number of sessions started. This counter is incremented + when a message with a is sent. + + 'in-sessions' - 'in-bad-hellos' = + 'number of correctly started netconf sessions'"; + } + leaf dropped-sessions { + type yang:zero-based-counter32; + description + "Number of sessions that were abnormally terminated, e.g., + due to idle timeout or transport close. This counter is not + incremented when a session is properly closed by a + operation, or killed by a + operation."; + } + uses common-counters { + description + "Global counters, accumulated from all sessions. + Zero based with following reset behaviour: + - re-initialization of NETCONF server + - when max value is reached"; + } + } + } + + rpc get-schema { + description + "This operation is used to retrieve a schema from the + NETCONF server. + + Positive Response: + The NETCONF server returns the requested schema. + + Negative Response: + If requested schema does not exist, the is + 'invalid-value'. + + If more than one schema matches the requested parameters, the + is 'operation-failed', and is + 'data-not-unique'."; + + input { + leaf identifier { + type string; + mandatory true; + description + "Identifier for the schema list entry."; + } + leaf version { + type string; + description + "Version of the schema requested. If this parameter is not + present, and more than one version of the schema exists on + the server, a 'data-not-unique' error is returned, as + described above."; + } + leaf format { + type identityref { + base schema-format; + } + description + "The data modeling language of the schema. If this + parameter is not present, and more than one formats of + the schema exists on the server, a 'data-not-unique' error + is returned, as described above."; + } + } + output { + anyxml data { + description + "Contains the schema content."; + } + } + } +} diff --git a/vendor/cisco/xr/755/ietf-netconf.yang b/vendor/cisco/xr/755/ietf-netconf.yang new file mode 100644 index 000000000..644942164 --- /dev/null +++ b/vendor/cisco/xr/755/ietf-netconf.yang @@ -0,0 +1,934 @@ +module ietf-netconf { + + // the namespace for NETCONF XML definitions is unchanged + // from RFC 4741, which this document replaces + namespace "urn:ietf:params:xml:ns:netconf:base:1.0"; + + prefix nc; + + import ietf-inet-types { + prefix inet; + } + + import ietf-netconf-acm { prefix nacm; } + + organization + "IETF NETCONF (Network Configuration) Working Group"; + + contact + "WG Web: + WG List: + + WG Chair: Bert Wijnen + + + WG Chair: Mehmet Ersue + + + Editor: Martin Bjorklund + + + Editor: Juergen Schoenwaelder + + + Editor: Andy Bierman + "; + description + "NETCONF Protocol Data Types and Protocol Operations. + + Copyright (c) 2011 IETF Trust and the persons identified as + the document authors. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 6241; see + the RFC itself for full legal notices."; + + revision 2011-06-01 { + description + "Initial revision; + 2013-09-29: Updated to include NACM attributes, + as specified in RFC 6536: sec 3.2.5 and 3.2.8"; + reference + "RFC 6241: Network Configuration Protocol"; + } + + extension get-filter-element-attributes { + description + "If this extension is present within an 'anyxml' + statement named 'filter', which must be conceptually + defined within the RPC input section for the + and protocol operations, then the + following unqualified XML attribute is supported + within the element, within a or + protocol operation: + + type : optional attribute with allowed + value strings 'subtree' and 'xpath'. + If missing, the default value is 'subtree'. + + If the 'xpath' feature is supported, then the + following unqualified XML attribute is + also supported: + + select: optional attribute containing a + string representing an XPath expression. + The 'type' attribute must be equal to 'xpath' + if this attribute is present."; + } + + // NETCONF capabilities defined as features + feature writable-running { + description + "NETCONF :writable-running capability; + If the server advertises the :writable-running + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + reference "RFC 6241, Section 8.2"; + } + + feature candidate { + description + "NETCONF :candidate capability; + If the server advertises the :candidate + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + reference "RFC 6241, Section 8.3"; + } + + feature confirmed-commit { + if-feature candidate; + description + "NETCONF :confirmed-commit:1.1 capability; + If the server advertises the :confirmed-commit:1.1 + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + + reference "RFC 6241, Section 8.4"; + } + + feature rollback-on-error { + description + "NETCONF :rollback-on-error capability; + If the server advertises the :rollback-on-error + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + reference "RFC 6241, Section 8.5"; + } + + feature validate { + description + "NETCONF :validate:1.1 capability; + If the server advertises the :validate:1.1 + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + reference "RFC 6241, Section 8.6"; + } + + feature startup { + description + "NETCONF :startup capability; + If the server advertises the :startup + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + reference "RFC 6241, Section 8.7"; + } + + feature url { + description + "NETCONF :url capability; + If the server advertises the :url + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + reference "RFC 6241, Section 8.8"; + } + + feature xpath { + description + "NETCONF :xpath capability; + If the server advertises the :xpath + capability for a session, then this feature must + also be enabled for that session. Otherwise, + this feature must not be enabled."; + reference "RFC 6241, Section 8.9"; + } + + // NETCONF Simple Types + + typedef session-id-type { + type uint32 { + range "1..max"; + } + description + "NETCONF Session Id"; + } + + typedef session-id-or-zero-type { + type uint32; + description + "NETCONF Session Id or Zero to indicate none"; + } + typedef error-tag-type { + type enumeration { + enum in-use { + description + "The request requires a resource that + already is in use."; + } + enum invalid-value { + description + "The request specifies an unacceptable value for one + or more parameters."; + } + enum too-big { + description + "The request or response (that would be generated) is + too large for the implementation to handle."; + } + enum missing-attribute { + description + "An expected attribute is missing."; + } + enum bad-attribute { + description + "An attribute value is not correct; e.g., wrong type, + out of range, pattern mismatch."; + } + enum unknown-attribute { + description + "An unexpected attribute is present."; + } + enum missing-element { + description + "An expected element is missing."; + } + enum bad-element { + description + "An element value is not correct; e.g., wrong type, + out of range, pattern mismatch."; + } + enum unknown-element { + description + "An unexpected element is present."; + } + enum unknown-namespace { + description + "An unexpected namespace is present."; + } + enum access-denied { + description + "Access to the requested protocol operation or + data model is denied because authorization failed."; + } + enum lock-denied { + description + "Access to the requested lock is denied because the + lock is currently held by another entity."; + } + enum resource-denied { + description + "Request could not be completed because of + insufficient resources."; + } + enum rollback-failed { + description + "Request to roll back some configuration change (via + rollback-on-error or operations) + was not completed for some reason."; + + } + enum data-exists { + description + "Request could not be completed because the relevant + data model content already exists. For example, + a 'create' operation was attempted on data that + already exists."; + } + enum data-missing { + description + "Request could not be completed because the relevant + data model content does not exist. For example, + a 'delete' operation was attempted on + data that does not exist."; + } + enum operation-not-supported { + description + "Request could not be completed because the requested + operation is not supported by this implementation."; + } + enum operation-failed { + description + "Request could not be completed because the requested + operation failed for some reason not covered by + any other error condition."; + } + enum partial-operation { + description + "This error-tag is obsolete, and SHOULD NOT be sent + by servers conforming to this document."; + } + enum malformed-message { + description + "A message could not be handled because it failed to + be parsed correctly. For example, the message is not + well-formed XML or it uses an invalid character set."; + } + } + description "NETCONF Error Tag"; + reference "RFC 6241, Appendix A"; + } + + typedef error-severity-type { + type enumeration { + enum error { + description "Error severity"; + } + enum warning { + description "Warning severity"; + } + } + description "NETCONF Error Severity"; + reference "RFC 6241, Section 4.3"; + } + + typedef edit-operation-type { + type enumeration { + enum merge { + description + "The configuration data identified by the + element containing this attribute is merged + with the configuration at the corresponding + level in the configuration datastore identified + by the target parameter."; + } + enum replace { + description + "The configuration data identified by the element + containing this attribute replaces any related + configuration in the configuration datastore + identified by the target parameter. If no such + configuration data exists in the configuration + datastore, it is created. Unlike a + operation, which replaces the + entire target configuration, only the configuration + actually present in the config parameter is affected."; + } + enum create { + description + "The configuration data identified by the element + containing this attribute is added to the + configuration if and only if the configuration + data does not already exist in the configuration + datastore. If the configuration data exists, an + element is returned with an + value of 'data-exists'."; + } + enum delete { + description + "The configuration data identified by the element + containing this attribute is deleted from the + configuration if and only if the configuration + data currently exists in the configuration + datastore. If the configuration data does not + exist, an element is returned with + an value of 'data-missing'."; + } + enum remove { + description + "The configuration data identified by the element + containing this attribute is deleted from the + configuration if the configuration + data currently exists in the configuration + datastore. If the configuration data does not + exist, the 'remove' operation is silently ignored + by the server."; + } + } + default "merge"; + description "NETCONF 'operation' attribute values"; + reference "RFC 6241, Section 7.2"; + } + + // NETCONF Standard Protocol Operations + + rpc get-config { + description + "Retrieve all or part of a specified configuration."; + + reference "RFC 6241, Section 7.1"; + + input { + container source { + description + "Particular configuration to retrieve."; + + choice config-source { + mandatory true; + description + "The configuration to retrieve."; + leaf candidate { + if-feature candidate; + type empty; + description + "The candidate configuration is the config source."; + } + leaf running { + type empty; + description + "The running configuration is the config source."; + } + leaf startup { + if-feature startup; + type empty; + description + "The startup configuration is the config source. + This is optional-to-implement on the server because + not all servers will support filtering for this + datastore."; + } + } + } + + anyxml filter { + description + "Subtree or XPath filter to use."; + nc:get-filter-element-attributes; + } + } + + output { + anyxml data { + description + "Copy of the source datastore subset that matched + the filter criteria (if any). An empty data container + indicates that the request did not produce any results."; + } + } + } + + rpc edit-config { + description + "The operation loads all or part of a specified + configuration to the specified target configuration."; + + reference "RFC 6241, Section 7.2"; + + input { + container target { + description + "Particular configuration to edit."; + + choice config-target { + mandatory true; + description + "The configuration target."; + + leaf candidate { + if-feature candidate; + type empty; + description + "The candidate configuration is the config target."; + } + leaf running { + if-feature writable-running; + type empty; + description + "The running configuration is the config source."; + } + } + } + + leaf default-operation { + type enumeration { + enum merge { + description + "The default operation is merge."; + } + enum replace { + description + "The default operation is replace."; + } + enum none { + description + "There is no default operation."; + } + } + default "merge"; + description + "The default operation to use."; + } + + leaf test-option { + if-feature validate; + type enumeration { + enum test-then-set { + description + "The server will test and then set if no errors."; + } + enum set { + description + "The server will set without a test first."; + } + + enum test-only { + description + "The server will only test and not set, even + if there are no errors."; + } + } + default "test-then-set"; + description + "The test option to use."; + } + + leaf error-option { + type enumeration { + enum stop-on-error { + description + "The server will stop on errors."; + } + enum continue-on-error { + description + "The server may continue on errors."; + } + enum rollback-on-error { + description + "The server will roll back on errors. + This value can only be used if the 'rollback-on-error' + feature is supported."; + } + } + default "stop-on-error"; + description + "The error option to use."; + } + + choice edit-content { + mandatory true; + description + "The content for the edit operation."; + + anyxml config { + description + "Inline Config content."; + } + leaf url { + if-feature url; + type inet:uri; + description + "URL-based config content."; + } + } + } + } + + rpc copy-config { + description + "Create or replace an entire configuration datastore with the + contents of another complete configuration datastore."; + + reference "RFC 6241, Section 7.3"; + + input { + container target { + description + "Particular configuration to copy to."; + + choice config-target { + mandatory true; + description + "The configuration target of the copy operation."; + + leaf candidate { + if-feature candidate; + type empty; + description + "The candidate configuration is the config target."; + } + leaf running { + if-feature writable-running; + type empty; + description + "The running configuration is the config target. + This is optional-to-implement on the server."; + } + leaf startup { + if-feature startup; + type empty; + description + "The startup configuration is the config target."; + } + leaf url { + if-feature url; + type inet:uri; + description + "The URL-based configuration is the config target."; + } + } + } + + container source { + description + "Particular configuration to copy from."; + + choice config-source { + mandatory true; + description + "The configuration source for the copy operation."; + + leaf candidate { + if-feature candidate; + type empty; + description + "The candidate configuration is the config source."; + } + leaf running { + type empty; + description + "The running configuration is the config source."; + } + leaf startup { + if-feature startup; + type empty; + description + "The startup configuration is the config source."; + } + leaf url { + if-feature url; + type inet:uri; + description + "The URL-based configuration is the config source."; + } + anyxml config { + description + "Inline Config content: element. Represents + an entire configuration datastore, not + a subset of the running datastore."; + } + } + } + } + } + + rpc delete-config { + nacm:default-deny-all; + description + "Delete a configuration datastore."; + + reference "RFC 6241, Section 7.4"; + + input { + container target { + description + "Particular configuration to delete."; + + choice config-target { + mandatory true; + description + "The configuration target to delete."; + + leaf startup { + if-feature startup; + type empty; + description + "The startup configuration is the config target."; + } + leaf url { + if-feature url; + type inet:uri; + description + "The URL-based configuration is the config target."; + } + } + } + } + } + + rpc lock { + description + "The lock operation allows the client to lock the configuration + system of a device."; + + reference "RFC 6241, Section 7.5"; + + input { + container target { + description + "Particular configuration to lock."; + + choice config-target { + mandatory true; + description + "The configuration target to lock."; + + leaf candidate { + if-feature candidate; + type empty; + description + "The candidate configuration is the config target."; + } + leaf running { + type empty; + description + "The running configuration is the config target."; + } + leaf startup { + if-feature startup; + type empty; + description + "The startup configuration is the config target."; + } + } + } + } + } + + rpc unlock { + description + "The unlock operation is used to release a configuration lock, + previously obtained with the 'lock' operation."; + + reference "RFC 6241, Section 7.6"; + + input { + container target { + description + "Particular configuration to unlock."; + + choice config-target { + mandatory true; + description + "The configuration target to unlock."; + + leaf candidate { + if-feature candidate; + type empty; + description + "The candidate configuration is the config target."; + } + leaf running { + type empty; + description + "The running configuration is the config target."; + } + leaf startup { + if-feature startup; + type empty; + description + "The startup configuration is the config target."; + } + } + } + } + } + + rpc get { + description + "Retrieve running configuration and device state information."; + + reference "RFC 6241, Section 7.7"; + + input { + anyxml filter { + description + "This parameter specifies the portion of the system + configuration and state data to retrieve."; + nc:get-filter-element-attributes; + } + } + + output { + anyxml data { + description + "Copy of the running datastore subset and/or state + data that matched the filter criteria (if any). + An empty data container indicates that the request did not + produce any results."; + } + } + } + + rpc close-session { + description + "Request graceful termination of a NETCONF session."; + + reference "RFC 6241, Section 7.8"; + } + + rpc kill-session { + nacm:default-deny-all; + description + "Force the termination of a NETCONF session."; + + reference "RFC 6241, Section 7.9"; + + input { + leaf session-id { + type session-id-type; + mandatory true; + description + "Particular session to kill."; + } + } + } + + rpc commit { + if-feature candidate; + + description + "Commit the candidate configuration as the device's new + current configuration."; + + reference "RFC 6241, Section 8.3.4.1"; + + input { + leaf confirmed { + if-feature confirmed-commit; + type empty; + description + "Requests a confirmed commit."; + reference "RFC 6241, Section 8.3.4.1"; + } + + leaf confirm-timeout { + if-feature confirmed-commit; + type uint32 { + range "1..max"; + } + units "seconds"; + default "600"; // 10 minutes + description + "The timeout interval for a confirmed commit."; + reference "RFC 6241, Section 8.3.4.1"; + } + + leaf persist { + if-feature confirmed-commit; + type string; + description + "This parameter is used to make a confirmed commit + persistent. A persistent confirmed commit is not aborted + if the NETCONF session terminates. The only way to abort + a persistent confirmed commit is to let the timer expire, + or to use the operation. + + The value of this parameter is a token that must be given + in the 'persist-id' parameter of or + operations in order to confirm or cancel + the persistent confirmed commit. + + The token should be a random string."; + reference "RFC 6241, Section 8.3.4.1"; + } + + leaf persist-id { + if-feature confirmed-commit; + type string; + description + "This parameter is given in order to commit a persistent + confirmed commit. The value must be equal to the value + given in the 'persist' parameter to the operation. + If it does not match, the operation fails with an + 'invalid-value' error."; + reference "RFC 6241, Section 8.3.4.1"; + } + + } + } + + rpc discard-changes { + if-feature candidate; + + description + "Revert the candidate configuration to the current + running configuration."; + reference "RFC 6241, Section 8.3.4.2"; + } + + rpc cancel-commit { + if-feature confirmed-commit; + description + "This operation is used to cancel an ongoing confirmed commit. + If the confirmed commit is persistent, the parameter + 'persist-id' must be given, and it must match the value of the + 'persist' parameter."; + reference "RFC 6241, Section 8.4.4.1"; + + input { + leaf persist-id { + type string; + description + "This parameter is given in order to cancel a persistent + confirmed commit. The value must be equal to the value + given in the 'persist' parameter to the operation. + If it does not match, the operation fails with an + 'invalid-value' error."; + } + } + } + + rpc validate { + if-feature validate; + + description + "Validates the contents of the specified configuration."; + + reference "RFC 6241, Section 8.6.4.1"; + + input { + container source { + description + "Particular configuration to validate."; + + choice config-source { + mandatory true; + description + "The configuration source to validate."; + + leaf candidate { + if-feature candidate; + type empty; + description + "The candidate configuration is the config source."; + } + leaf running { + type empty; + description + "The running configuration is the config source."; + } + leaf startup { + if-feature startup; + type empty; + description + "The startup configuration is the config source."; + } + leaf url { + if-feature url; + type inet:uri; + description + "The URL-based configuration is the config source."; + } + anyxml config { + description + "Inline Config content: element. Represents + an entire configuration datastore, not + a subset of the running datastore."; + } + } + } + } + } + +} diff --git a/vendor/cisco/xr/755/ietf-restconf-monitoring.yang b/vendor/cisco/xr/755/ietf-restconf-monitoring.yang new file mode 100644 index 000000000..e87b00baf --- /dev/null +++ b/vendor/cisco/xr/755/ietf-restconf-monitoring.yang @@ -0,0 +1,150 @@ +module ietf-restconf-monitoring { + namespace "urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring"; + prefix "rcmon"; + + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } + + organization + "IETF NETCONF (Network Configuration) Working Group"; + + contact + "WG Web: + WG List: + + Author: Andy Bierman + + + Author: Martin Bjorklund + + + Author: Kent Watsen + "; + + description + "This module contains monitoring information for the + RESTCONF protocol. + + Copyright (c) 2017 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 8040; see + the RFC itself for full legal notices."; + + revision 2017-01-26 { + description + "Initial revision."; + reference + "RFC 8040: RESTCONF Protocol."; + } + + container restconf-state { + config false; + description + "Contains RESTCONF protocol monitoring information."; + + container capabilities { + description + "Contains a list of protocol capability URIs."; + + leaf-list capability { + type inet:uri; + description + "A RESTCONF protocol capability URI."; + } + } + + container streams { + description + "Container representing the notification event streams + supported by the server."; + reference + "RFC 5277, Section 3.4, element."; + + list stream { + key name; + description + "Each entry describes an event stream supported by + the server."; + + leaf name { + type string; + description + "The stream name."; + reference + "RFC 5277, Section 3.4, element."; + } + + leaf description { + type string; + description + "Description of stream content."; + reference + "RFC 5277, Section 3.4, element."; + } + + leaf replay-support { + type boolean; + default false; + description + "Indicates if replay buffer is supported for this stream. + If 'true', then the server MUST support the 'start-time' + and 'stop-time' query parameters for this stream."; + reference + "RFC 5277, Section 3.4, element."; + } + + leaf replay-log-creation-time { + when "../replay-support" { + description + "Only present if notification replay is supported."; + } + type yang:date-and-time; + description + "Indicates the time the replay log for this stream + was created."; + reference + "RFC 5277, Section 3.4, + element."; + } + + list access { + key encoding; + min-elements 1; + description + "The server will create an entry in this list for each + encoding format that is supported for this stream. + The media type 'text/event-stream' is expected + for all event streams. This list identifies the + subtypes supported for this stream."; + + leaf encoding { + type string; + description + "This is the secondary encoding format within the + 'text/event-stream' encoding used by all streams. + The type 'xml' is supported for XML encoding. + The type 'json' is supported for JSON encoding."; + } + + leaf location { + type inet:uri; + mandatory true; + description + "Contains a URL that represents the entry point + for establishing notification delivery via + server-sent events."; + } + } + } + } + } + +} diff --git a/vendor/cisco/xr/755/ietf-syslog-types.yang b/vendor/cisco/xr/755/ietf-syslog-types.yang new file mode 100644 index 000000000..16cc3ed14 --- /dev/null +++ b/vendor/cisco/xr/755/ietf-syslog-types.yang @@ -0,0 +1,240 @@ +module ietf-syslog-types { + namespace "urn:ietf:params:xml:ns:yang:ietf-syslog-types"; + prefix syslogtypes; + + organization "IETF NETMOD (NETCONF Data Modeling Language) Working + Group"; + contact + "WG Web: + WG List: + + WG Chair: Tom Nadeau + + + WG Chair: Kent Watsen + + + Editor: Ladislav Lhotka + "; + description + "This module contains a collection of YANG type definitions for + SYSLOG."; + + revision 2015-11-09 { + description + "Initial Revision"; + reference + "This model references RFC 5424 - The Syslog Protocol, + and RFC 5848 - Signed Syslog Messages."; + } + + typedef severity { + type enumeration { + 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 + "The definitions for Syslog message severity as per RFC 5424."; + } + + identity syslog-facility { + description + "The base identity to represent syslog facilities"; + } + + identity kern { + base syslog-facility; + description + "The facility for kernel messages as defined in RFC 5424."; + } + + identity user { + base syslog-facility; + description + "The facility for user-level messages as defined in RFC 5424."; + } + + identity mail { + base syslog-facility; + description + "The facility for the mail system as defined in RFC 5424."; + } + + identity daemon { + base syslog-facility; + description + "The facility for the system daemons as defined in RFC 5424."; + } + + identity auth { + base syslog-facility; + description + "The facility for security/authorization messages as defined + in RFC 5424."; + } + + identity syslog { + base syslog-facility; + description + "The facility for messages generated internally by syslogd + facility as defined in RFC 5424."; + } + + identity lpr { + base syslog-facility; + description + "The facility for the line printer subsystem as defined in + RFC 5424."; + } + + identity news { + base syslog-facility; + description + "The facility for the network news subsystem as defined in + RFC 5424."; + } + + identity uucp { + base syslog-facility; + description + "The facility for the UUCP subsystem as defined in RFC 5424."; + } + + identity cron { + base syslog-facility; + description + "The facility for the clock daemon as defined in RFC 5424."; + } + + identity authpriv { + base syslog-facility; + description + "The facility for privileged security/authorization messages + as defined in RFC 5424."; + } + + identity ftp { + base syslog-facility; + description + "The facility for the FTP daemon as defined in RFC 5424."; + } + + identity ntp { + base syslog-facility; + description + "The facility for the NTP subsystem as defined in RFC 5424."; + } + + identity audit { + base syslog-facility; + description + "The facility for log audit messages as defined in RFC 5424."; + } + + identity console { + base syslog-facility; + description + "The facility for log alert messages as defined in RFC 5424."; + } + + identity cron2 { + base syslog-facility; + description + "The facility for the second clock daemon as defined in + RFC 5424."; + } + + identity local0 { + base syslog-facility; + description + "The facility for local use 0 messages as defined in + RFC 5424."; + } + + identity local1 { + base syslog-facility; + description + "The facility for local use 1 messages as defined in + RFC 5424."; + } + + identity local2 { + base syslog-facility; + description + "The facility for local use 2 messages as defined in + RFC 5424."; + } + + identity local3 { + base syslog-facility; + description + "The facility for local use 3 messages as defined in + RFC 5424."; + } + + identity local4 { + base syslog-facility; + description + "The facility for local use 4 messages as defined in + RFC 5424."; + } + + identity local5 { + base syslog-facility; + description + "The facility for local use 5 messages as defined in + RFC 5424."; + } + + identity local6 { + base syslog-facility; + description + "The facility for local use 6 messages as defined in + RFC 5424."; + } + + identity local7 { + base syslog-facility; + description + "The facility for local use 7 messages as defined in + RFC 5424."; + } +} diff --git a/vendor/cisco/xr/755/ietf-yang-library.yang b/vendor/cisco/xr/755/ietf-yang-library.yang new file mode 100644 index 000000000..dac53a1d0 --- /dev/null +++ b/vendor/cisco/xr/755/ietf-yang-library.yang @@ -0,0 +1,544 @@ +module ietf-yang-library { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:ietf-yang-library"; + prefix yanglib; + + import ietf-yang-types { + prefix yang; + reference + "RFC 6991: Common YANG Data Types"; + } + import ietf-inet-types { + prefix inet; + reference + "RFC 6991: Common YANG Data Types"; + } + import ietf-datastores { + prefix ds; + reference + "RFC 8342: Network Management Datastore Architecture + (NMDA)"; + } + + organization + "IETF NETCONF (Network Configuration) Working Group"; + contact + "WG Web: + WG List: + + Author: Andy Bierman + + + Author: Martin Bjorklund + + + Author: Juergen Schoenwaelder + + + Author: Kent Watsen + + + Author: Robert Wilton + "; + description + "This module provides information about the YANG modules, + datastores, and datastore schemas used by a network + management server. + The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL + NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', + 'MAY', and 'OPTIONAL' in this document are to be interpreted as + described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, + they appear in all capitals, as shown here. + + Copyright (c) 2019 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (https://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 8525; see + the RFC itself for full legal notices."; + + revision 2019-01-04 { + description + "Added support for multiple datastores according to the + Network Management Datastore Architecture (NMDA)."; + reference + "RFC 8525: YANG Library"; + } + revision 2016-04-09 { + description + "Initial revision."; + reference + "RFC 7895: YANG Module Library"; + } + + /* + * Typedefs + */ + + typedef revision-identifier { + type string { + pattern '\d{4}-\d{2}-\d{2}'; + } + description + "Represents a specific date in YYYY-MM-DD format."; + } + + /* + * Groupings + */ + grouping module-identification-leafs { + description + "Parameters for identifying YANG modules and submodules."; + leaf name { + type yang:yang-identifier; + mandatory true; + description + "The YANG module or submodule name."; + } + leaf revision { + type revision-identifier; + description + "The YANG module or submodule revision date. If no revision + statement is present in the YANG module or submodule, this + leaf is not instantiated."; + } + } + + grouping location-leaf-list { + description + "Common leaf-list parameter for the locations of modules and + submodules."; + leaf-list location { + type inet:uri; + description + "Contains a URL that represents the YANG schema + resource for this module or submodule. + + This leaf will only be present if there is a URL + available for retrieval of the schema for this entry."; + } + } + + grouping module-implementation-parameters { + description + "Parameters for describing the implementation of a module."; + leaf-list feature { + type yang:yang-identifier; + description + "List of all YANG feature names from this module that are + supported by the server, regardless whether they are defined + in the module or any included submodule."; + } + leaf-list deviation { + type leafref { + path "../../module/name"; + } + + description + "List of all YANG deviation modules used by this server to + modify the conformance of the module associated with this + entry. Note that the same module can be used for deviations + for multiple modules, so the same entry MAY appear within + multiple 'module' entries. + + This reference MUST NOT (directly or indirectly) + refer to the module being deviated. + + Robust clients may want to make sure that they handle a + situation where a module deviates itself (directly or + indirectly) gracefully."; + } + } + + grouping module-set-parameters { + description + "A set of parameters that describe a module set."; + leaf name { + type string; + description + "An arbitrary name of the module set."; + } + list module { + key "name"; + description + "An entry in this list represents a module implemented by the + server, as per Section 5.6.5 of RFC 7950, with a particular + set of supported features and deviations."; + reference + "RFC 7950: The YANG 1.1 Data Modeling Language"; + uses module-identification-leafs; + leaf namespace { + type inet:uri; + mandatory true; + description + "The XML namespace identifier for this module."; + } + uses location-leaf-list; + list submodule { + key "name"; + description + "Each entry represents one submodule within the + parent module."; + uses module-identification-leafs; + uses location-leaf-list; + } + uses module-implementation-parameters; + } + list import-only-module { + key "name revision"; + description + "An entry in this list indicates that the server imports + reusable definitions from the specified revision of the + module but does not implement any protocol-accessible + objects from this revision. + + Multiple entries for the same module name MAY exist. This + can occur if multiple modules import the same module but + specify different revision dates in the import statements."; + leaf name { + type yang:yang-identifier; + description + "The YANG module name."; + } + leaf revision { + type union { + type revision-identifier; + type string { + length "0"; + } + } + description + "The YANG module revision date. + A zero-length string is used if no revision statement + is present in the YANG module."; + } + leaf namespace { + type inet:uri; + mandatory true; + description + "The XML namespace identifier for this module."; + } + uses location-leaf-list; + list submodule { + key "name"; + description + "Each entry represents one submodule within the + parent module."; + uses module-identification-leafs; + uses location-leaf-list; + } + } + } + + grouping yang-library-parameters { + description + "The YANG library data structure is represented as a grouping + so it can be reused in configuration or another monitoring + data structure."; + list module-set { + key "name"; + description + "A set of modules that may be used by one or more schemas. + + A module set does not have to be referentially complete, + i.e., it may define modules that contain import statements + for other modules not included in the module set."; + uses module-set-parameters; + } + list schema { + key "name"; + description + "A datastore schema that may be used by one or more + datastores. + + The schema must be valid and referentially complete, i.e., + it must contain modules to satisfy all used import + statements for all modules specified in the schema."; + leaf name { + type string; + description + "An arbitrary name of the schema."; + } + leaf-list module-set { + type leafref { + path "../../module-set/name"; + } + description + "A set of module-sets that are included in this schema. + If a non-import-only module appears in multiple module + sets, then the module revision and the associated features + and deviations must be identical."; + } + } + list datastore { + key "name"; + description + "A datastore supported by this server. + + Each datastore indicates which schema it supports. + + The server MUST instantiate one entry in this list per + specific datastore it supports. + Each datastore entry with the same datastore schema SHOULD + reference the same schema."; + leaf name { + type ds:datastore-ref; + description + "The identity of the datastore."; + } + leaf schema { + type leafref { + path "../../schema/name"; + } + mandatory true; + description + "A reference to the schema supported by this datastore. + All non-import-only modules of the schema are implemented + with their associated features and deviations."; + } + } + } + + /* + * Top-level container + */ + + container yang-library { + config false; + description + "Container holding the entire YANG library of this server."; + uses yang-library-parameters; + leaf content-id { + type string; + mandatory true; + description + "A server-generated identifier of the contents of the + '/yang-library' tree. The server MUST change the value of + this leaf if the information represented by the + '/yang-library' tree, except '/yang-library/content-id', has + changed."; + } + } + + /* + * Notifications + */ + + notification yang-library-update { + description + "Generated when any YANG library information on the + server has changed."; + leaf content-id { + type leafref { + path "/yanglib:yang-library/yanglib:content-id"; + } + mandatory true; + description + "Contains the YANG library content identifier for the updated + YANG library at the time the notification is generated."; + } + } + + /* + * Legacy groupings + */ + + grouping module-list { + status deprecated; + description + "The module data structure is represented as a grouping + so it can be reused in configuration or another monitoring + data structure."; + + grouping common-leafs { + status deprecated; + description + "Common parameters for YANG modules and submodules."; + leaf name { + type yang:yang-identifier; + status deprecated; + description + "The YANG module or submodule name."; + } + leaf revision { + type union { + type revision-identifier; + type string { + length "0"; + } + } + status deprecated; + description + "The YANG module or submodule revision date. + A zero-length string is used if no revision statement + is present in the YANG module or submodule."; + } + } + + grouping schema-leaf { + status deprecated; + description + "Common schema leaf parameter for modules and submodules."; + leaf schema { + type inet:uri; + description + "Contains a URL that represents the YANG schema + resource for this module or submodule. + + This leaf will only be present if there is a URL + available for retrieval of the schema for this entry."; + } + } + list module { + key "name revision"; + status deprecated; + description + "Each entry represents one revision of one module + currently supported by the server."; + uses common-leafs { + status deprecated; + } + uses schema-leaf { + status deprecated; + } + leaf namespace { + type inet:uri; + mandatory true; + status deprecated; + description + "The XML namespace identifier for this module."; + } + leaf-list feature { + type yang:yang-identifier; + status deprecated; + description + "List of YANG feature names from this module that are + supported by the server, regardless of whether they are + defined in the module or any included submodule."; + } + list deviation { + key "name revision"; + status deprecated; + + description + "List of YANG deviation module names and revisions + used by this server to modify the conformance of + the module associated with this entry. Note that + the same module can be used for deviations for + multiple modules, so the same entry MAY appear + within multiple 'module' entries. + + The deviation module MUST be present in the 'module' + list, with the same name and revision values. + The 'conformance-type' value will be 'implement' for + the deviation module."; + uses common-leafs { + status deprecated; + } + } + leaf conformance-type { + type enumeration { + enum implement { + description + "Indicates that the server implements one or more + protocol-accessible objects defined in the YANG module + identified in this entry. This includes deviation + statements defined in the module. + + For YANG version 1.1 modules, there is at most one + 'module' entry with conformance type 'implement' for a + particular module name, since YANG 1.1 requires that + at most one revision of a module is implemented. + + For YANG version 1 modules, there SHOULD NOT be more + than one 'module' entry for a particular module + name."; + } + enum import { + description + "Indicates that the server imports reusable definitions + from the specified revision of the module but does + not implement any protocol-accessible objects from + this revision. + + Multiple 'module' entries for the same module name MAY + exist. This can occur if multiple modules import the + same module but specify different revision dates in + the import statements."; + } + } + mandatory true; + status deprecated; + description + "Indicates the type of conformance the server is claiming + for the YANG module identified by this entry."; + } + list submodule { + key "name revision"; + status deprecated; + description + "Each entry represents one submodule within the + parent module."; + uses common-leafs { + status deprecated; + } + uses schema-leaf { + status deprecated; + } + } + } + } + + /* + * Legacy operational state data nodes + */ + + container modules-state { + config false; + status deprecated; + description + "Contains YANG module monitoring information."; + leaf module-set-id { + type string; + mandatory true; + status deprecated; + description + "Contains a server-specific identifier representing + the current set of modules and submodules. The + server MUST change the value of this leaf if the + information represented by the 'module' list instances + has changed."; + } + uses module-list { + status deprecated; + } + } + + /* + * Legacy notifications + */ + + notification yang-library-change { + status deprecated; + description + "Generated when the set of modules and submodules supported + by the server has changed."; + leaf module-set-id { + type leafref { + path "/yanglib:modules-state/yanglib:module-set-id"; + } + mandatory true; + status deprecated; + description + "Contains the module-set-id value representing the + set of modules and submodules supported at the server + at the time the notification is generated."; + } + } +} diff --git a/vendor/cisco/xr/755/ietf-yang-types.yang b/vendor/cisco/xr/755/ietf-yang-types.yang new file mode 100644 index 000000000..ee58fa3ab --- /dev/null +++ b/vendor/cisco/xr/755/ietf-yang-types.yang @@ -0,0 +1,474 @@ +module ietf-yang-types { + + namespace "urn:ietf:params:xml:ns:yang:ietf-yang-types"; + prefix "yang"; + + organization + "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; + + contact + "WG Web: + WG List: + + WG Chair: David Kessens + + + WG Chair: Juergen Schoenwaelder + + + Editor: Juergen Schoenwaelder + "; + + description + "This module contains a collection of generally useful derived + YANG data types. + + Copyright (c) 2013 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (http://trustee.ietf.org/license-info). + + This version of this YANG module is part of RFC 6991; see + the RFC itself for full legal notices."; + + revision 2013-07-15 { + description + "This revision adds the following new data types: + - yang-identifier + - hex-string + - uuid + - dotted-quad"; + reference + "RFC 6991: Common YANG Data Types"; + } + + revision 2010-09-24 { + description + "Initial revision."; + reference + "RFC 6021: Common YANG Data Types"; + } + + /*** collection of counter and gauge types ***/ + + typedef counter32 { + type uint32; + description + "The counter32 type represents a non-negative integer + that monotonically increases until it reaches a + maximum value of 2^32-1 (4294967295 decimal), when it + wraps around and starts increasing again from zero. + + Counters have no defined 'initial' value, and thus, a + single value of a counter has (in general) no information + content. Discontinuities in the monotonically increasing + value normally occur at re-initialization of the + management system, and at other times as specified in the + description of a schema node using this type. If such + other times can occur, for example, the creation of + a schema node of type counter32 at times other than + re-initialization, then a corresponding schema node + should be defined, with an appropriate type, to indicate + the last discontinuity. + + The counter32 type should not be used for configuration + schema nodes. A default statement SHOULD NOT be used in + combination with the type counter32. + + In the value set and its semantics, this type is equivalent + to the Counter32 type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef zero-based-counter32 { + type yang:counter32; + default "0"; + description + "The zero-based-counter32 type represents a counter32 + that has the defined 'initial' value zero. + + A schema node of this type will be set to zero (0) on creation + and will thereafter increase monotonically until it reaches + a maximum value of 2^32-1 (4294967295 decimal), when it + wraps around and starts increasing again from zero. + + Provided that an application discovers a new schema node + of this type within the minimum time to wrap, it can use the + 'initial' value as a delta. 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. + + In the value set and its semantics, this type is equivalent + to the ZeroBasedCounter32 textual convention of the SMIv2."; + reference + "RFC 4502: Remote Network Monitoring Management Information + Base Version 2"; + } + + typedef counter64 { + type uint64; + description + "The counter64 type represents a non-negative integer + that monotonically increases until it reaches a + maximum value of 2^64-1 (18446744073709551615 decimal), + when it wraps around and starts increasing again from zero. + + Counters have no defined 'initial' value, and thus, a + single value of a counter has (in general) no information + content. Discontinuities in the monotonically increasing + value normally occur at re-initialization of the + management system, and at other times as specified in the + description of a schema node using this type. If such + other times can occur, for example, the creation of + a schema node of type counter64 at times other than + re-initialization, then a corresponding schema node + should be defined, with an appropriate type, to indicate + the last discontinuity. + + The counter64 type should not be used for configuration + schema nodes. A default statement SHOULD NOT be used in + combination with the type counter64. + + In the value set and its semantics, this type is equivalent + to the Counter64 type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef zero-based-counter64 { + type yang:counter64; + default "0"; + description + "The zero-based-counter64 type represents a counter64 that + has the defined 'initial' value zero. + + A schema node of this type will be set to zero (0) on creation + and will thereafter increase monotonically until it reaches + a maximum value of 2^64-1 (18446744073709551615 decimal), + when it wraps around and starts increasing again from zero. + + Provided that an application discovers a new schema node + of this type within the minimum time to wrap, it can use the + 'initial' value as a delta. 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. + + In the value set and its semantics, this type is equivalent + to the ZeroBasedCounter64 textual convention of the SMIv2."; + reference + "RFC 2856: Textual Conventions for Additional High Capacity + Data Types"; + } + + typedef gauge32 { + type uint32; + description + "The gauge32 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 + cannot be greater than 2^32-1 (4294967295 decimal), and + the minimum value cannot be smaller than 0. The value of + a gauge32 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 + gauge32 also decreases (increases). + + In the value set and its semantics, this type is equivalent + to the Gauge32 type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef gauge64 { + type uint64; + description + "The gauge64 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 + cannot be greater than 2^64-1 (18446744073709551615), and + the minimum value cannot be smaller than 0. The value of + a gauge64 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 + gauge64 also decreases (increases). + + In the value set and its semantics, this type is equivalent + to the CounterBasedGauge64 SMIv2 textual convention defined + in RFC 2856"; + reference + "RFC 2856: Textual Conventions for Additional High Capacity + Data Types"; + } + + /*** collection of identifier-related types ***/ + + typedef object-identifier { + type string { + pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))' + + '(\.(0|([1-9]\d*)))*'; + } + description + "The object-identifier type represents administratively + assigned names in a registration-hierarchical-name tree. + + Values of this type are denoted as a sequence of numerical + non-negative sub-identifier values. Each sub-identifier + value MUST NOT exceed 2^32-1 (4294967295). Sub-identifiers + are separated by single dots and without any intermediate + whitespace. + + The ASN.1 standard restricts the value space of the first + sub-identifier to 0, 1, or 2. Furthermore, the value space + of the second sub-identifier is restricted to the range + 0 to 39 if the first sub-identifier is 0 or 1. Finally, + the ASN.1 standard requires that an object identifier + has always at least two sub-identifiers. The pattern + captures these restrictions. + + Although the number of sub-identifiers is not limited, + module designers should realize that there may be + implementations that stick with the SMIv2 limit of 128 + sub-identifiers. + + This type is a superset of the SMIv2 OBJECT IDENTIFIER type + since it is not restricted to 128 sub-identifiers. Hence, + this type SHOULD NOT be used to represent the SMIv2 OBJECT + IDENTIFIER type; the object-identifier-128 type SHOULD be + used instead."; + reference + "ISO9834-1: Information technology -- Open Systems + Interconnection -- Procedures for the operation of OSI + Registration Authorities: General procedures and top + arcs of the ASN.1 Object Identifier tree"; + } + + typedef object-identifier-128 { + type object-identifier { + pattern '\d*(\.\d*){1,127}'; + } + description + "This type represents object-identifiers restricted to 128 + sub-identifiers. + + In the value set and its semantics, this type is equivalent + to the OBJECT IDENTIFIER type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef yang-identifier { + type string { + length "1..max"; + pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; + pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*'; + } + description + "A YANG identifier string as defined by the 'identifier' + rule in Section 12 of RFC 6020. An identifier must + start with an alphabetic character or an underscore + followed by an arbitrary sequence of alphabetic or + numeric characters, underscores, hyphens, or dots. + + A YANG identifier MUST NOT start with any possible + combination of the lowercase or uppercase character + sequence 'xml'."; + reference + "RFC 6020: YANG - A Data Modeling Language for the Network + Configuration Protocol (NETCONF)"; + } + + /*** collection of types related to date and time***/ + + typedef date-and-time { + type string { + pattern '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?' + + '(Z|[\+\-]\d{2}:\d{2})'; + } + description + "The date-and-time type is a profile of the ISO 8601 + standard for representation of dates and times using the + Gregorian calendar. The profile is defined by the + date-time production in Section 5.6 of RFC 3339. + + The date-and-time type is compatible with the dateTime XML + schema type with the following notable exceptions: + + (a) The date-and-time type does not allow negative years. + + (b) The date-and-time time-offset -00:00 indicates an unknown + time zone (see RFC 3339) while -00:00 and +00:00 and Z + all represent the same time zone in dateTime. + + (c) The canonical format (see below) of data-and-time values + differs from the canonical format used by the dateTime XML + schema type, which requires all times to be in UTC using + the time-offset 'Z'. + + This type is not equivalent to the DateAndTime textual + convention of the SMIv2 since RFC 3339 uses a different + separator between full-date and full-time and provides + higher resolution of time-secfrac. + + The canonical format for date-and-time values with a known time + zone uses a numeric time zone offset that is calculated using + the device's configured known offset to UTC time. A change of + the device's offset to UTC time will cause date-and-time values + to change accordingly. Such changes might happen periodically + in case a server follows automatically daylight saving time + (DST) time zone offset changes. The canonical format for + date-and-time values with an unknown time zone (usually + referring to the notion of local time) uses the time-offset + -00:00."; + reference + "RFC 3339: Date and Time on the Internet: Timestamps + RFC 2579: Textual Conventions for SMIv2 + XSD-TYPES: XML Schema Part 2: Datatypes Second Edition"; + } + + typedef timeticks { + type uint32; + description + "The timeticks type represents a non-negative integer that + represents the time, modulo 2^32 (4294967296 decimal), in + hundredths of a second between two epochs. When a schema + node is defined that uses this type, the description of + the schema node identifies both of the reference epochs. + + In the value set and its semantics, this type is equivalent + to the TimeTicks type of the SMIv2."; + reference + "RFC 2578: Structure of Management Information Version 2 + (SMIv2)"; + } + + typedef timestamp { + type yang:timeticks; + description + "The timestamp type represents the value of an associated + timeticks schema node at which a specific occurrence + happened. The specific occurrence must be defined in the + description of any schema node defined using this type. When + the specific occurrence occurred prior to the last time the + associated timeticks attribute was zero, then the timestamp + value is zero. Note that this requires all timestamp values + to be reset to zero when the value of the associated timeticks + attribute reaches 497+ days and wraps around to zero. + + The associated timeticks schema node must be specified + in the description of any schema node using this type. + + In the value set and its semantics, this type is equivalent + to the TimeStamp textual convention of the SMIv2."; + reference + "RFC 2579: Textual Conventions for SMIv2"; + } + + /*** collection of generic address types ***/ + + typedef phys-address { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + + description + "Represents media- or physical-level addresses represented + as a sequence octets, each octet represented by two hexadecimal + numbers. Octets are separated by colons. The canonical + representation uses lowercase characters. + + In the value set and its semantics, this type is equivalent + to the PhysAddress textual convention of the SMIv2."; + reference + "RFC 2579: Textual Conventions for SMIv2"; + } + + typedef mac-address { + type string { + pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'; + } + description + "The mac-address type represents an IEEE 802 MAC address. + The canonical representation uses lowercase characters. + + In the value set and its semantics, this type is equivalent + to the MacAddress textual convention of the SMIv2."; + reference + "IEEE 802: IEEE Standard for Local and Metropolitan Area + Networks: Overview and Architecture + RFC 2579: Textual Conventions for SMIv2"; + } + + /*** collection of XML-specific types ***/ + + typedef xpath1.0 { + type string; + description + "This type represents an XPATH 1.0 expression. + + When a schema node is defined that uses this type, the + description of the schema node MUST specify the XPath + context in which the XPath expression is evaluated."; + reference + "XPATH: XML Path Language (XPath) Version 1.0"; + } + + /*** collection of string types ***/ + + typedef hex-string { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + description + "A hexadecimal string with octets represented as hex digits + separated by colons. The canonical representation uses + lowercase characters."; + } + + typedef 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}'; + } + description + "A Universally Unique IDentifier in the string representation + defined in RFC 4122. The canonical representation uses + lowercase characters. + + The following is an example of a UUID in string representation: + f81d4fae-7dec-11d0-a765-00a0c91e6bf6 + "; + reference + "RFC 4122: A Universally Unique IDentifier (UUID) URN + Namespace"; + } + + typedef dotted-quad { + 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])'; + } + description + "An unsigned 32-bit number expressed in the dotted-quad + notation, i.e., four octets written as decimal numbers + and separated with the '.' (full stop) character."; + } +} diff --git a/vendor/cisco/xr/755/openconfig-aaa-radius.yang b/vendor/cisco/xr/755/openconfig-aaa-radius.yang new file mode 100644 index 000000000..8f82bd4d9 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aaa-radius.yang @@ -0,0 +1,180 @@ +submodule openconfig-aaa-radius { + + yang-version "1"; + + belongs-to "openconfig-aaa" { + prefix "oc-aaa"; + } + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-aaa-types { prefix oc-aaa-types; } + import openconfig-types { prefix oc-types; } + import openconfig-yang-types { prefix oc-yang; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + related to the RADIUS protocol for authentication, + authorization, and accounting."; + + oc-ext:openconfig-version "0.3.0"; + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + // extension statements + + // feature statements + + // identity statements + + identity RADIUS { + base oc-aaa-types:AAA_SERVER_TYPE; + description + "Remote Authentication Dial In User Service (RADIUS) AAA + server"; + reference + "RFC 2865 - Remote Authentication Dial In User Service + (RADIUS)"; + } + + // typedef statements + + // grouping statements + + grouping aaa-radius-server-config { + description + "Configuration data for a RADIUS server"; + + leaf auth-port { + type oc-inet:port-number; + default 1812; + description + "Port number for authentication requests"; + } + + leaf acct-port { + type oc-inet:port-number; + default 1813; + description + "Port number for accounting requests"; + } + + leaf secret-key { + type oc-types:routing-password; + description + "The unencrypted shared key used between the authentication + server and the device."; + } + + leaf source-address { + type oc-inet:ip-address; + description + "Source IP address to use in messages to the RADIUS server"; + } + + leaf retransmit-attempts { + type uint8; + description + "Number of times the system may resend a request to the + RADIUS server when it is unresponsive"; + } + } + + grouping aaa-radius-server-state { + description + "Operational state data for a RADIUS server"; + + container counters { + description + "A collection of RADIUS related state objects."; + + leaf retried-access-requests { + type oc-yang:counter64; + description + "Retransmitted Access-Request messages."; + } + + leaf access-accepts { + type oc-yang:counter64; + description + "Received Access-Accept messages."; + } + + leaf access-rejects { + type oc-yang:counter64; + description + "Received Access-Reject messages."; + } + + leaf timeout-access-requests { + type oc-yang:counter64; + description + "Access-Request messages that have timed-out, + requiring retransmission."; + } + } + } + + grouping aaa-radius-server-top { + description + "Top-level grouping for RADIUS server data"; + + container radius { + description + "Top-level container for RADIUS server data"; + + container config { + description + "Configuration data for RADIUS servers"; + + uses aaa-radius-server-config; + } + + container state { + + config false; + + description + "Operational state data for RADIUS servers"; + + uses aaa-radius-server-config; + uses aaa-radius-server-state; + } + } + } + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-aaa-tacacs.yang b/vendor/cisco/xr/755/openconfig-aaa-tacacs.yang new file mode 100644 index 000000000..21d0f4a3a --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aaa-tacacs.yang @@ -0,0 +1,136 @@ +submodule openconfig-aaa-tacacs { + + yang-version "1"; + + belongs-to "openconfig-aaa" { + prefix "oc-aaa"; + } + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-aaa-types { prefix oc-aaa-types; } + import openconfig-types { prefix oc-types; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + related to the TACACS+ protocol for authentication, + authorization, and accounting."; + + oc-ext:openconfig-version "0.3.0"; + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + // extension statements + + // feature statements + + // identity statements + + identity TACACS { + base oc-aaa-types:AAA_SERVER_TYPE; + description + "Terminal Access Controller Access Control System (TACACS+) + AAA server"; + reference + "The TACACS+ Protocol (draft-ietf-opsawg-tacacs-05) + RFC 1492 - An Access Control Protocol, Sometimes Called + TACACS"; + } + + // typedef statements + + // grouping statements + + grouping aaa-tacacs-server-config { + description + "Configuration data for a TACACS+ server"; + + leaf port { + type oc-inet:port-number; + default 49; + description + "The port number on which to contact the TACACS server"; + } + + leaf secret-key { + type oc-types:routing-password; + description + "The unencrypted shared key used between the authentication + server and the device."; + } + + leaf source-address { + type oc-inet:ip-address; + description + "Source IP address to use in messages to the TACACS server"; + } + } + + grouping aaa-tacacs-server-state { + description + "Operational state data for a TACACS+ server"; + } + + grouping aaa-tacacs-server-top { + description + "Top-level grouping for TACACS+ sever data"; + + container tacacs { + description + "Top-level container for TACACS+ server data"; + + container config { + description + "Configuration data for TACACS+ server"; + + uses aaa-tacacs-server-config; + } + + container state { + + config false; + + description + "Operational state data for TACACS+ server"; + + uses aaa-tacacs-server-config; + uses aaa-tacacs-server-state; + } + } + } + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-aaa-types.yang b/vendor/cisco/xr/755/openconfig-aaa-types.yang new file mode 100644 index 000000000..41bd5d9b1 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aaa-types.yang @@ -0,0 +1,162 @@ +module openconfig-aaa-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/aaa/types"; + + prefix "oc-aaa-types"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines shared types for data related to AAA + (authentication, authorization, accounting)."; + + oc-ext:openconfig-version "0.4.0"; + + revision "2018-04-12" { + description + "Add when conditions, correct identities"; + reference "0.4.0"; + } + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + + // identity statements + + identity AAA_SERVER_TYPE { + description + "Base identity for types of AAA servers"; + } + + + identity SYSTEM_DEFINED_ROLES { + description + "Base identity for system_defined roles that can be assigned + to users."; + } + + identity SYSTEM_ROLE_ADMIN { + base SYSTEM_DEFINED_ROLES; + description + "Built-in role that allows the equivalent of superuser + permission for all configuration and operational commands + on the device."; + } + + identity AAA_ACCOUNTING_EVENT_TYPE { + description + "Base identity for specifying events types that should be + sent to AAA server for accounting"; + } + + identity AAA_ACCOUNTING_EVENT_COMMAND { + base AAA_ACCOUNTING_EVENT_TYPE; + description + "Specifies interactive command events for AAA accounting"; + } + + identity AAA_ACCOUNTING_EVENT_LOGIN { + base AAA_ACCOUNTING_EVENT_TYPE; + description + "Specifies login events for AAA accounting"; + } + + identity AAA_AUTHORIZATION_EVENT_TYPE { + description + "Base identity for specifying activities that should be + sent to AAA server for authorization"; + } + + identity AAA_AUTHORIZATION_EVENT_COMMAND { + base AAA_AUTHORIZATION_EVENT_TYPE; + description + "Specifies interactive command events for AAA authorization"; + } + + identity AAA_AUTHORIZATION_EVENT_CONFIG { + base AAA_AUTHORIZATION_EVENT_TYPE; + description + "Specifies configuration (e.g., EXEC) events for AAA + authorization"; + } + + identity AAA_METHOD_TYPE { + description + "Base identity to define well-known methods for AAA + operations"; + } + + identity TACACS_ALL { + base AAA_METHOD_TYPE; + description + "The group of all TACACS+ servers."; + } + + identity RADIUS_ALL { + base AAA_METHOD_TYPE; + description + "The group of all RADIUS servers."; + } + + identity LOCAL { + base AAA_METHOD_TYPE; + description + "Locally configured method for AAA operations."; + } + + + // typedef statements + + typedef crypt-password-type { + type string; + description + "A password that is hashed based on the hash algorithm + indicated by the prefix in the string. The string + takes the following form, based on the Unix crypt function: + + $[$=(,=)*][$[$]] + + Common hash functions include: + + id | hash function + ---+--------------- + 1 | MD5 + 2a| Blowfish + 2y| Blowfish (correct handling of 8-bit chars) + 5 | SHA-256 + 6 | SHA-512 + + These may not all be supported by a target device."; + } + + +} diff --git a/vendor/cisco/xr/755/openconfig-aaa.yang b/vendor/cisco/xr/755/openconfig-aaa.yang new file mode 100644 index 000000000..18a00c518 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aaa.yang @@ -0,0 +1,811 @@ +module openconfig-aaa { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/aaa"; + + prefix "oc-aaa"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-inet-types { prefix oc-inet; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-aaa-types { prefix oc-aaa-types; } + + include openconfig-aaa-tacacs; + include openconfig-aaa-radius; + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + related to authorization, authentication, and accounting (AAA) + management. + + Portions of this model reuse data definitions or structure from + RFC 7317 - A YANG Data Model for System Management"; + + oc-ext:openconfig-version "0.4.0"; + + revision "2018-04-12" { + description + "Add when conditions, correct identities"; + reference "0.4.0"; + } + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + // identity statements + + // grouping statements + grouping aaa-servergroup-common-config { + description + "Configuration data for AAA server groups"; + + leaf name { + type string; + description + "Name for the server group"; + } + + leaf type { + type identityref { + base oc-aaa-types:AAA_SERVER_TYPE; + } + description + "AAA server type -- all servers in the group must be of this + type"; + } + } + + grouping aaa-servergroup-common-state { + description + "Operational state data for AAA server groups"; + + //TODO: add list of group members as opstate + } + + grouping aaa-servergroup-common-top { + description + "Top-level grouping for AAA server groups"; + + container server-groups { + description + "Enclosing container for AAA server groups"; + + list server-group { + key "name"; + description + "List of AAA server groups. All servers in a group + must have the same type as indicated by the server + type."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to configured name of the server group"; + } + + container config { + description + "Configuration data for each server group"; + + uses aaa-servergroup-common-config; + } + + container state { + config false; + + description + "Operational state data for each server group"; + + uses aaa-servergroup-common-config; + uses aaa-servergroup-common-state; + } + + uses aaa-server-top; + } + } + } + + grouping aaa-server-config { + description + "Common configuration data for AAA servers"; + + leaf name { + type string; + description + "Name assigned to the server"; + } + + + leaf address { + type oc-inet:ip-address; + description "Address of the authentication server"; + } + + leaf timeout { + type uint16; + units seconds; + description + "Set the timeout in seconds on responses from the AAA + server"; + } + } + + grouping aaa-server-state { + description + "Common operational state data for AAA servers"; + + leaf connection-opens { + type oc-yang:counter64; + description + "Number of new connection requests sent to the server, e.g. + socket open"; + } + + leaf connection-closes { + type oc-yang:counter64; + description + "Number of connection close requests sent to the server, e.g. + socket close"; + } + + leaf connection-aborts { + type oc-yang:counter64; + description + "Number of aborted connections to the server. These do + not include connections that are close gracefully."; + } + + leaf connection-failures { + type oc-yang:counter64; + description + "Number of connection failures to the server"; + } + + leaf connection-timeouts { + type oc-yang:counter64; + description + "Number of connection timeouts to the server"; + } + + leaf messages-sent { + type oc-yang:counter64; + description + "Number of messages sent to the server"; + } + + leaf messages-received { + type oc-yang:counter64; + description + "Number of messages received by the server"; + } + + leaf errors-received { + type oc-yang:counter64; + description + "Number of error messages received from the server"; + } + + } + + grouping aaa-server-top { + description + "Top-level grouping for list of AAA servers"; + + container servers { + description + "Enclosing container the list of servers"; + + list server { + key "address"; + description + "List of AAA servers"; + + leaf address { + type leafref { + path "../config/address"; + } + description + "Reference to the configured address of the AAA server"; + } + + container config { + description + "Configuration data "; + + uses aaa-server-config; + } + + container state { + config false; + + description + "Operational state data "; + + uses aaa-server-config; + uses aaa-server-state; + } + + uses aaa-tacacs-server-top { + when "../../config/type = 'oc-aaa-types:TACACS'"; + } + + uses aaa-radius-server-top { + when "../../config/type = 'oc-aaa-types:RADIUS'"; + } + } + } + } + + grouping aaa-admin-config { + description + "Configuration data for the system built-in + administrator / root user account"; + + leaf admin-password { + type string; + oc-ext:openconfig-hashed-value; + description + "The admin/root password, supplied as a cleartext string. + The system should hash and only store the password as a + hashed value."; + } + + leaf admin-password-hashed { + type oc-aaa-types:crypt-password-type; + description + "The admin/root password, supplied as a hashed value + using the notation described in the definition of the + crypt-password-type."; + } + } + + grouping aaa-admin-state { + description + "Operational state data for the root user"; + + leaf admin-username { + type string; + description + "Name of the administrator user account, e.g., admin, root, + etc."; + } + } + + grouping aaa-authentication-admin-top { + description + "Top-level grouping for root user configuration and state + data"; + + container admin-user { + description + "Top-level container for the system root or admin user + configuration and operational state"; + + container config { + description + "Configuration data for the root user account"; + + uses aaa-admin-config; + } + + container state { + config false; + + description + "Operational state data for the root user account"; + + uses aaa-admin-config; + uses aaa-admin-state; + } + } + } + grouping aaa-authentication-user-config { + description + "Configuration data for local users"; + + leaf username { + type string; + description + "Assigned username for this user"; + } + + leaf password { + type string; + oc-ext:openconfig-hashed-value; + description + "The user password, supplied as cleartext. The system + must hash the value and only store the hashed value."; + } + + leaf password-hashed { + type oc-aaa-types:crypt-password-type; + description + "The user password, supplied as a hashed value + using the notation described in the definition of the + crypt-password-type."; + } + + leaf ssh-key { + type string; + description + "SSH public key for the user (RSA or DSA)"; + } + + leaf role { + type union { + type string; + type identityref { + base oc-aaa-types:SYSTEM_DEFINED_ROLES; + } + } + description + "Role assigned to the user. The role may be supplied + as a string or a role defined by the SYSTEM_DEFINED_ROLES + identity."; + } + } + + grouping aaa-authentication-user-state { + description + "Operational state data for local users"; + } + + grouping aaa-authentication-user-top { + description + "Top-level grouping for local users"; + + container users { + description + "Enclosing container list of local users"; + + list user { + key "username"; + description + "List of local users on the system"; + + leaf username { + type leafref { + path "../config/username"; + } + description + "References the configured username for the user"; + } + + container config { + description + "Configuration data for local users"; + + uses aaa-authentication-user-config; + } + + container state { + config false; + + description + "Operational state data for local users"; + + uses aaa-authentication-user-config; + uses aaa-authentication-user-state; + } + } + + } + } + + grouping aaa-accounting-methods-common { + description + "Common definitions for accounting methods"; + + leaf-list accounting-method { + type union { + type identityref { + base oc-aaa-types:AAA_METHOD_TYPE; + } + type string; + //TODO: in YANG 1.1 this should be converted to a leafref to + //point to the server group name. + } + ordered-by user; + description + "An ordered list of methods used for AAA accounting for this + event type. The method is defined by the destination for + accounting data, which may be specified as the group of + all TACACS+/RADIUS servers, a defined server group, or + the local system."; + } + } + + + grouping aaa-accounting-events-config { + description + "Configuration data for AAA accounting events"; + + leaf event-type { + type identityref { + base oc-aaa-types:AAA_ACCOUNTING_EVENT_TYPE; + } + description + "The type of activity to record at the AAA accounting + server"; + } + + leaf record { + type enumeration { + enum START_STOP { + description + "Send START record to the accounting server at the + beginning of the activity, and STOP record at the + end of the activity."; + } + enum STOP { + description + "Send STOP record to the accounting server when the + user activity completes"; + } + } + description + "Type of record to send to the accounting server for this + activity type"; + } + } + + grouping aaa-accounting-events-state { + description + "Operational state data for accounting events"; + } + + grouping aaa-accounting-events-top { + description + "Top-level grouping for accounting events"; + + container events { + description + "Enclosing container for defining handling of events + for accounting"; + + list event { + key "event-type"; + description + "List of events subject to accounting"; + + leaf event-type { + type leafref { + path "../config/event-type"; + } + description + "Reference to the event-type being logged at the + accounting server"; + } + + container config { + description + "Configuration data for accounting events"; + + uses aaa-accounting-events-config; + } + + container state { + config false; + + description + "Operational state data for accounting events"; + + uses aaa-accounting-events-config; + uses aaa-accounting-events-state; + } + } + } + } + + grouping aaa-accounting-config { + description + "Configuration data for event accounting"; + + uses aaa-accounting-methods-common; + + } + + grouping aaa-accounting-state { + description + "Operational state data for event accounting services"; + } + + grouping aaa-accounting-top { + description + "Top-level grouping for user activity accounting"; + + container accounting { + description + "Top-level container for AAA accounting"; + + container config { + description + "Configuration data for user activity accounting."; + + uses aaa-accounting-config; + } + + container state { + config false; + + description + "Operational state data for user accounting."; + + uses aaa-accounting-config; + uses aaa-accounting-state; + } + + uses aaa-accounting-events-top; + + } + } + + grouping aaa-authorization-methods-config { + description + "Common definitions for authorization methods for global + and per-event type"; + + leaf-list authorization-method { + type union { + type identityref { + base oc-aaa-types:AAA_METHOD_TYPE; + } + type string; + } + ordered-by user; + description + "Ordered list of methods for authorizing commands. The first + method that provides a response (positive or negative) should + be used. The list may contain a well-defined method such + as the set of all TACACS or RADIUS servers, or the name of + a defined AAA server group. The system must validate + that the named server group exists."; + } + } + + grouping aaa-authorization-events-config { + description + "Configuration data for AAA authorization events"; + + leaf event-type { + type identityref { + base oc-aaa-types:AAA_AUTHORIZATION_EVENT_TYPE; + } + description + "The type of event to record at the AAA authorization + server"; + } + } + + grouping aaa-authorization-events-state { + description + "Operational state data for AAA authorization events"; + } + + grouping aaa-authorization-events-top { + description + "Top-level grouping for authorization events"; + + container events { + description + "Enclosing container for the set of events subject + to authorization"; + + list event { + key "event-type"; + description + "List of events subject to AAA authorization"; + + leaf event-type { + type leafref { + path "../config/event-type"; + } + description + "Reference to the event-type list key"; + } + + container config { + description + "Configuration data for each authorized event"; + + uses aaa-authorization-events-config; + } + + container state { + config false; + + description + "Operational state data for each authorized activity"; + + uses aaa-authorization-events-config; + uses aaa-authorization-events-state; + } + } + } + } + + grouping aaa-authorization-config { + description + "Configuration data for AAA authorization"; + + uses aaa-authorization-methods-config; + } + + grouping aaa-authorization-state { + description + "Operational state data for AAA authorization"; + } + + grouping aaa-authorization-top { + description + "Top-level grouping for AAA authorization"; + + container authorization { + description + "Top-level container for AAA authorization configuration + and operational state data"; + + container config { + description + "Configuration data for authorization based on AAA + methods"; + + uses aaa-authorization-config; + } + + container state { + config false; + + description + "Operational state data for authorization based on AAA"; + + uses aaa-authorization-config; + uses aaa-authorization-state; + } + + uses aaa-authorization-events-top; + + } + } + + grouping aaa-authentication-config { + description + "Configuration data for global authentication"; + + leaf-list authentication-method { + type union { + type identityref { + base oc-aaa-types:AAA_METHOD_TYPE; + } + type string; + //TODO: string should be a leafref to a defined + //server group. this will be possible in YANG 1.1 + //type leafref { + //path "/aaa/server-groups/server-group/config/name"; + //} + } + ordered-by user; + description + "Ordered list of authentication methods for users. This + can be either a reference to a server group, or a well- + defined designation in the AAA_METHOD_TYPE identity. If + authentication fails with one method, the next defined + method is tried -- failure of all methods results in the + user being denied access."; + } + } + + grouping aaa-authentication-state { + description + "Operational state data for global authentication"; + } + + grouping aaa-authentication-top { + description + "Top-level grouping for top-level authentication"; + + container authentication { + description + "Top-level container for global authentication data"; + + container config { + description + "Configuration data for global authentication services"; + + uses aaa-authentication-config; + } + + container state { + config false; + + description + "Operational state data for global authentication + services"; + + uses aaa-authentication-config; + uses aaa-authentication-state; + } + + uses aaa-authentication-admin-top; + uses aaa-authentication-user-top; + } + } + + grouping aaa-config { + description + "Configuration data for top level AAA"; + } + + grouping aaa-state { + description + "Operational state data for top level AAA"; + } + + grouping aaa-top { + description + "Top-level grouping for AAA services"; + + container aaa { + description + "Top-level container for AAA services"; + + container config { + description + "Configuration data for top level AAA services"; + + uses aaa-config; + } + + container state { + config false; + + description + "Operational state data for top level AAA services "; + + uses aaa-config; + uses aaa-state; + } + + uses aaa-authentication-top; + uses aaa-authorization-top; + uses aaa-accounting-top; + uses aaa-servergroup-common-top; + + } + } + + + + // data definition statements + + +} diff --git a/vendor/cisco/xr/755/openconfig-acl.yang b/vendor/cisco/xr/755/openconfig-acl.yang new file mode 100644 index 000000000..fe993dec1 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-acl.yang @@ -0,0 +1,882 @@ +module openconfig-acl { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/acl"; + + prefix "oc-acl"; + + import openconfig-packet-match { prefix oc-match; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state + data for network access control lists (i.e., filters, rules, + etc.). ACLs are organized into ACL sets, with each set + containing one or more ACL entries. ACL sets are identified + by a unique name, while each entry within a set is assigned + a sequence-id that determines the order in which the ACL + rules are applied to a packet. Note that ACLs are evaluated + in ascending order based on the sequence-id (low to high). + Individual ACL rules specify match criteria based on fields in + the packet, along with an action that defines how matching + packets should be handled. Entries have a type that indicates + the type of match criteria, e.g., MAC layer, IPv4, IPv6, etc."; + + oc-ext:openconfig-version "1.2.1"; + + revision "2021-06-16" { + description + "Remove trailing whitespace"; + reference "1.2.1"; + } + + revision "2021-03-17" { + description + "Add MPLS filter Support."; + reference "1.2.0"; + } + + revision "2019-11-27" { + description + "Fix xpaths in when statements."; + reference "1.1.1"; + } + + revision "2019-10-25" { + description + "Update when statements."; + reference "1.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "1.0.2"; + } + + revision "2018-04-24" { + description + "Clarified order of ACL evaluation"; + reference "1.0.1"; + } + + revision "2017-05-26" { + description + "Separated ACL entries by type"; + reference "1.0.0"; + } + + revision "2016-08-08" { + description + "OpenConfig public release"; + reference "0.2.0"; + } + + revision "2016-01-22" { + description + "Initial revision"; + reference "TBD"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + identity ACL_TYPE { + description + "Base identity for types of ACL sets"; + } + + identity ACL_IPV4 { + base ACL_TYPE; + description + "IP-layer ACLs with IPv4 addresses"; + } + + identity ACL_IPV6 { + base ACL_TYPE; + description + "IP-layer ACLs with IPv6 addresses"; + } + + identity ACL_L2 { + base ACL_TYPE; + description + "MAC-layer ACLs"; + } + + identity ACL_MIXED { + base ACL_TYPE; + description + "Mixed-mode ACL that specifies L2 and L3 protocol + fields. This ACL type is not implemented by many + routing/switching devices."; + } + + identity ACL_MPLS { + base ACL_TYPE; + description + "An ACL that matches on fields from the MPLS header."; + } + + // ACL action type + + identity FORWARDING_ACTION { + description + "Base identity for actions in the forwarding category"; + } + + identity ACCEPT { + base FORWARDING_ACTION; + description + "Accept the packet"; + } + + identity DROP { + base FORWARDING_ACTION; + description + "Drop packet without sending any ICMP error message"; + } + + identity REJECT { + base FORWARDING_ACTION; + description + "Drop the packet and send an ICMP error message to the source"; + } + + identity LOG_ACTION { + description + "Base identity for defining the destination for logging + actions"; + } + + identity LOG_SYSLOG { + base LOG_ACTION; + description + "Log the packet in Syslog"; + } + + identity LOG_NONE { + base LOG_ACTION; + description + "No logging"; + } + + identity ACL_COUNTER_CAPABILITY { + description + "Base identity for system to indicate how it is able to report + counters"; + } + + identity INTERFACE_ONLY { + base ACL_COUNTER_CAPABILITY; + description + "ACL counters are available and reported only per interface"; + } + + identity AGGREGATE_ONLY { + base ACL_COUNTER_CAPABILITY; + description + "ACL counters are aggregated over all interfaces, and reported + only per ACL entry"; + } + + identity INTERFACE_AGGREGATE { + base ACL_COUNTER_CAPABILITY; + description + "ACL counters are reported per interface, and also aggregated + and reported per ACL entry."; + } + + // grouping statements + + // input interface + grouping input-interface-config { + description + "Config of interface"; + + } + + grouping input-interface-state { + description + "State information of interface"; + } + + grouping input-interface-top { + description + "Input interface top level container"; + + container input-interface { + description + "Input interface container"; + + container config { + description + "Config data"; + uses input-interface-config; + } + + container state { + config false; + description + "State information"; + uses input-interface-config; + uses input-interface-state; + } + + uses oc-if:interface-ref; + + } + } + + // Action Type + grouping action-config { + description + "Config of action type"; + + + leaf forwarding-action { + type identityref { + base FORWARDING_ACTION; + } + mandatory true; + description + "Specifies the forwarding action. One forwarding action + must be specified for each ACL entry"; + } + + leaf log-action { + type identityref { + base LOG_ACTION; + } + default LOG_NONE; + description + "Specifies the log action and destination for + matched packets. The default is not to log the + packet."; + } + + + } + + grouping action-state { + description + "State information of action type"; + + } + + grouping action-top { + description + "ACL action type top level container"; + + container actions { + description + "Enclosing container for list of ACL actions associated + with an entry"; + + container config { + description + "Config data for ACL actions"; + uses action-config; + } + + container state { + config false; + description + "State information for ACL actions"; + uses action-config; + uses action-state; + } + } + } + + grouping acl-counters-state { + description + "Common grouping for ACL counters"; + + leaf matched-packets { + type oc-yang:counter64; + description + "Count of the number of packets matching the current ACL + entry. + An implementation should provide this counter on a + per-interface per-ACL-entry if possible. + If an implementation only supports ACL counters per entry + (i.e., not broken out per interface), then the value + should be equal to the aggregate count across all interfaces. + An implementation that provides counters per entry per + interface is not required to also provide an aggregate count, + e.g., per entry -- the user is expected to be able implement + the required aggregation if such a count is needed."; + } + + leaf matched-octets { + type oc-yang:counter64; + description + "Count of the number of octets (bytes) matching the current + ACL entry. + An implementation should provide this counter on a + per-interface per-ACL-entry if possible. + If an implementation only supports ACL counters per entry + (i.e., not broken out per interface), then the value + should be equal to the aggregate count across all interfaces. + An implementation that provides counters per entry per + interface is not required to also provide an aggregate count, + e.g., per entry -- the user is expected to be able implement + the required aggregation if such a count is needed."; + } + + } + + // Access List Entries + + grouping access-list-entries-config { + description + "Access List Entries (ACE) config."; + + leaf sequence-id { + type uint32; + description + "The sequence id determines the order in which ACL entries + are applied. The sequence id must be unique for each entry + in an ACL set. Target devices should apply the ACL entry + rules in ascending order determined by sequence id (low to + high), rather than the relying only on order in the list."; + } + + leaf description { + type string; + description + "A user-defined description, or comment, for this Access List + Entry."; + } + + } + + grouping access-list-entries-state { + description + "Access List Entries state."; + + uses acl-counters-state; + + } + + grouping access-list-entries-top { + description + "Access list entries to level container"; + + container acl-entries { + description + "Access list entries container"; + + list acl-entry { + key "sequence-id"; + description + "List of ACL entries comprising an ACL set"; + + leaf sequence-id { + type leafref { + path "../config/sequence-id"; + } + description + "references the list key"; + } + + container config { + description + "Access list entries config"; + uses access-list-entries-config; + } + + container state { + config false; + description + "State information for ACL entries"; + uses access-list-entries-config; + uses access-list-entries-state; + } + + uses oc-match:ethernet-header-top { + when "../../config/type='ACL_L2'" { + description + "MAC-layer fields are valid when the ACL type is L2"; + } + } + + uses oc-match:ipv4-protocol-fields-top { + when "../../config/type='ACL_IPV4'" { + description + "IPv4-layer fields are valid when the ACL type is + IPv4"; + } + } + + uses oc-match:mpls-header-top { + when "../../config/type='ACL_MPLS'" { + description + "MPLS-layer fields are valid when the ACL type is + MPLS"; + } + } + + uses oc-match:ipv6-protocol-fields-top { + when "../../config/type='ACL_IPV6'" { + description + "IPv6-layer fields are valid when the ACL type is + IPv6"; + } + } + + uses oc-match:transport-fields-top { + when "../../config/type='ACL_IPV6' or " + + "../../config/type='ACL_IPV4'" { + description + "Transport-layer fields are valid when specifying + L3 ACL types"; + } + } + + uses input-interface-top; + uses action-top; + } + } + } + + grouping acl-set-config { + description + "Access Control List config"; + + leaf name { + type string; + description + "The name of the access-list set"; + } + + leaf type { + type identityref { + base ACL_TYPE; + } + description + "The type determines the fields allowed in the ACL entries + belonging to the ACL set (e.g., IPv4, IPv6, etc.)"; + } + + leaf description { + type string; + description + "Description, or comment, for the ACL set"; + } + + } + + grouping acl-set-state { + description + "Access Control List state"; + } + + grouping acl-set-top { + description + "Access list entries variables top level container"; + + container acl-sets { + description + "Access list entries variables enclosing container"; + + list acl-set { + key "name type"; + description + "List of ACL sets, each comprising of a list of ACL + entries"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the name list key"; + } + + leaf type { + type leafref { + path "../config/type"; + } + description + "Reference to the type list key"; + } + + container config { + description + "Access list config"; + uses acl-set-config; + } + + container state { + config false; + description + "Access list state information"; + uses acl-set-config; + uses acl-set-state; + } + uses access-list-entries-top; + } + } + } + + grouping interface-acl-entries-config { + description + "Configuration data for per-interface ACLs"; + + } + + grouping interface-acl-entries-state { + description + "Operational state data for per-interface ACL entries"; + + leaf sequence-id { + type leafref { + path "/acl/acl-sets/" + + "acl-set[name=current()/../../../../set-name]" + + "[type=current()/../../../../type]/" + + "acl-entries/acl-entry/sequence-id"; + } + description + "Reference to an entry in the ACL set applied to an + interface"; + } + + uses acl-counters-state; + + } + + grouping interface-acl-entries-top { + description + "Top-level grouping for per-interface ACL entries"; + + container acl-entries { + config false; + description + "Enclosing container for list of references to ACLs"; + + list acl-entry { + key "sequence-id"; + description + "List of ACL entries assigned to an interface"; + + leaf sequence-id { + type leafref { + path "../state/sequence-id"; + } + description + "Reference to per-interface acl entry key"; + } + + // no config container since the enclosing container is + // read-only + + container state { + + config false; + + description + "Operational state data for per-interface ACL entries"; + + uses interface-acl-entries-config; + uses interface-acl-entries-state; + } + } + } + } + + grouping interface-ingress-acl-config { + description + "Configuration data for per-interface ingress ACLs"; + + leaf set-name { + type leafref { + path "../../../../../../acl-sets/acl-set/config/name"; + } + description + "Reference to the ACL set name applied on ingress"; + } + + leaf type { + type leafref { + path "../../../../../../acl-sets/acl-set[name=current()/../set-name]" + + "/config/type"; + } + description + "Reference to the ACL set type applied on ingress"; + } + } + + grouping interface-ingress-acl-state { + description + "Operational state data for the per-interface ingress ACL"; + } + + grouping interface-ingress-acl-top { + description + "Top-level grouping for per-interface ingress ACL data"; + + container ingress-acl-sets { + description + "Enclosing container the list of ingress ACLs on the + interface"; + + list ingress-acl-set { + key "set-name type"; + description + "List of ingress ACLs on the interface"; + + leaf set-name { + type leafref { + path "../config/set-name"; + } + description + "Reference to set name list key"; + } + + leaf type { + type leafref { + path "../config/type"; + } + description + "Reference to type list key"; + } + + container config { + description + "Configuration data "; + + uses interface-ingress-acl-config; + } + + container state { + + config false; + + description + "Operational state data for interface ingress ACLs"; + + uses interface-ingress-acl-config; + uses interface-ingress-acl-state; + } + + uses interface-acl-entries-top; + } + } + } + + grouping interface-egress-acl-config { + description + "Configuration data for per-interface egress ACLs"; + + leaf set-name { + type leafref { + path "../../../../../../acl-sets/acl-set/config/name"; + } + description + "Reference to the ACL set name applied on egress"; + } + + leaf type { + type leafref { + path "../../../../../../acl-sets/acl-set[name=current()/../set-name]" + + "/config/type"; + } + description + "Reference to the ACL set type applied on egress."; + } + } + + grouping interface-egress-acl-state { + description + "Operational state data for the per-interface egress ACL"; + } + + grouping interface-egress-acl-top { + description + "Top-level grouping for per-interface egress ACL data"; + + container egress-acl-sets { + description + "Enclosing container the list of egress ACLs on the + interface"; + + list egress-acl-set { + key "set-name type"; + description + "List of egress ACLs on the interface"; + + leaf set-name { + type leafref { + path "../config/set-name"; + } + description + "Reference to set name list key"; + } + + leaf type { + type leafref { + path "../config/type"; + } + description + "Reference to type list key"; + } + + container config { + description + "Configuration data "; + + uses interface-egress-acl-config; + } + + container state { + + config false; + + description + "Operational state data for interface egress ACLs"; + + uses interface-egress-acl-config; + uses interface-egress-acl-state; + } + + uses interface-acl-entries-top; + } + } + } + + grouping acl-interfaces-config { + description + "Configuration data for interface references"; + + leaf id { + type oc-if:interface-id; + description + "User-defined identifier for the interface -- a common + convention could be '.'"; + } + } + + grouping acl-interfaces-state { + description + "Operational state data for interface references"; + } + + grouping acl-interfaces-top { + description + "Top-level grouping for interface-specific ACL data"; + + container interfaces { + description + "Enclosing container for the list of interfaces on which + ACLs are set"; + + list interface { + key "id"; + description + "List of interfaces on which ACLs are set"; + + leaf id { + type leafref { + path "../config/id"; + } + description + "Reference to the interface id list key"; + } + + container config { + description + "Configuration for ACL per-interface data"; + + uses acl-interfaces-config; + } + + container state { + + config false; + + description + "Operational state for ACL per-interface data"; + + uses acl-interfaces-config; + uses acl-interfaces-state; + } + + uses oc-if:interface-ref; + uses interface-ingress-acl-top; + uses interface-egress-acl-top; + } + } + } + + grouping acl-config { + description + "Global configuration data for ACLs"; + } + + grouping acl-state { + description + "Global operational state data for ACLs"; + + leaf counter-capability { + type identityref { + base ACL_COUNTER_CAPABILITY; + } + description + "System reported indication of how ACL counters are reported + by the target"; + } + } + grouping acl-top { + description + "Top level grouping for ACL data and structure"; + + container acl { + description + "Top level enclosing container for ACL model config + and operational state data"; + + container config { + description + "Global config data for ACLs"; + + uses acl-config; + } + + container state { + + config false; + + description + "Global operational state data for ACLs"; + + uses acl-config; + uses acl-state; + } + + uses acl-set-top; + uses acl-interfaces-top; + } + } + + // data definition statements + uses acl-top; + + // augment statements + + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-aft-common.yang b/vendor/cisco/xr/755/openconfig-aft-common.yang new file mode 100644 index 000000000..a4840e010 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-common.yang @@ -0,0 +1,529 @@ +submodule openconfig-aft-common { + belongs-to "openconfig-aft" { + prefix "oc-aft"; + } + + import openconfig-interfaces { prefix "oc-if"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-yang-types { prefix "oc-yang"; } + import openconfig-inet-types { prefix "oc-inet"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + import openconfig-policy-types { prefix "oc-pol-types"; } + import openconfig-aft-types { prefix "oc-aftt"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Submodule containing definitions of groupings that are re-used + across multiple contexts within the AFT model."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-11-06" { + description + "Make AFT model read-only."; + reference "0.6.0"; + } + + revision "2020-09-09" { + description + "Remove leafs that are not used as keys from config containers as + AFT model is ready-only. + * next-hop/interface-ref/config. + * all leafs under policy-forwarding-entry/config except index."; + reference "0.5.0"; + } + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.4.1"; + } + + revision "2019-08-02" { + description + "Add installing protocol for IPv[46] unicast entries. + Add the ability to describe conditional next-hop groups + outside of the policy forwarding module to allow for efficient + handling of CBTS, where many prefixes may share the same next-hop + criteria."; + reference "0.4.0"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + grouping aft-nhop-structural { + description + "Structural grouping describing a next-hop entry."; + + container next-hops { + description + "The list of next-hops that are to be used for entry within + the AFT table. The structure of each next-hop is address + family independent, such that it is possible to resolve fully + how the next-hop is treated. For example: + + - Where ingress IPv4 unicast packets are to be forwarded via + an MPLS LSP, the next-hop list should indicate the MPLS + label stack that is used to the next-hop. + - Where ingress MPLS labelled packets are to be forwarded to + an IPv6 nexthop (for example, a CE within a VPN, then the + popped label stack, and IPv6 next-hop address should be + indicated)."; + + list next-hop { + key "index"; + + description + "A next-hop associated with the forwarding instance."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "A unique index identifying the next-hop entry for the + AFT entry"; + + } + + container state { + config false; + description + "Operational state parameters relating to the AFT + next-hop entry"; + + uses aft-common-entry-nexthop-state; + uses aft-labeled-entry-state; + } + + uses oc-if:interface-ref-state; + } + } + } + + grouping aft-common-entry-state { + description + "Operational state parameters relating to a forwarding entry"; + + leaf packets-forwarded { + type oc-yang:counter64; + description + "The number of packets which have matched, and been forwarded, + based on the AFT entry."; + } + + leaf octets-forwarded { + type oc-yang:counter64; + description + "The number of octets which have matched, and been forwarded, + based on the AFT entry"; + } + + // We are at $afi/$entry/state/next-hop-group + leaf next-hop-group { + type leafref { + path "../../../../next-hop-groups/next-hop-group/state/id"; + } + description + "A reference to the next-hop-group that is in use for the entry + within the AFT. Traffic is distributed across the set of next-hops + within the next-hop group according to the weight."; + } + } + + grouping aft-labeled-entry-state { + description + "Operational state for LSP name in forwarding entry"; + + leaf lsp-name { + type string; + description + "Where applicable, the protocol name for the next-hop labelled + forwarding entry. This leaf is applicable only to next-hops + which include MPLS label information, and its value typically + corresponds to the RSVP-TE LSP name."; + } + } + + grouping aft-common-entry-nexthop-state { + description + "Parameters relating to a next-hop."; + + leaf index { + type uint64; + description + "A unique entry for the next-hop."; + } + + leaf ip-address { + type oc-inet:ip-address; + description + "The IP address of the next-hop system."; + } + + leaf mac-address { + type oc-yang:mac-address; + description + "The MAC address of the next-hop if resolved by the local + network instance."; + } + + leaf-list pushed-mpls-label-stack { + type oc-mplst:mpls-label; + ordered-by user; + description + "The MPLS label stack imposed when forwarding packets to the + next-hop + - the stack is encoded as a leaf list whereby the order of the + entries is such that the first entry in the list is the + label at the bottom of the stack to be pushed. + + To this end, a packet which is to forwarded to a device using + a service label of 42, and a transport label of 8072 will be + represented with a label stack list of [42, 8072]. + + The MPLS label stack list is ordered by the user, such that no + system re-ordering of leaves is permitted by the system. + + A swap operation is reflected by entries in the + popped-mpls-label-stack and pushed-mpls-label-stack nodes."; + + } + + leaf encapsulate-header { + type oc-aftt:encapsulation-header-type; + description + "When forwarding a packet to the specified next-hop the local + system performs an encapsulation of the packet - adding the + specified header type."; + } + + uses aft-common-install-protocol; + } + + grouping aft-common-install-protocol { + description + "Grouping for a common reference to the protocol which + installed an entry."; + + leaf origin-protocol { + type identityref { + base "oc-pol-types:INSTALL_PROTOCOL_TYPE"; + } + description + "The protocol from which the AFT entry was learned."; + } + + } + + grouping aft-common-ip-state { + description + "Common parameters across IP address families"; + + uses aft-common-install-protocol; + + leaf decapsulate-header { + type oc-aftt:encapsulation-header-type; + description + "When forwarding a packet to the specified next-hop, the local + system performs a decapsulation of the packet - removing the + specified header type. In the case that no next-hop is + specified, the packet header is removed, and a subsequent + forwarding lookup is performed on the packet encapsulated + within the header, matched within the relevant AFT within the + specified network-instance."; + } + } + + grouping aft-next-hop-groups-structural { + description + "Logical grouping for groups of next-hops."; + + container next-hop-groups { + description + "Surrounding container for groups of next-hops."; + + list next-hop-group { + key "id"; + + description + "An individual set of next-hops grouped into a common group. + Each entry within an abstract forwarding table points to a + next-hop-group. Entries in the next-hop-group are forwarded to + according to the weights specified for each next-hop group. + + If an entry within the next-hop group becomes unusable, for + example due to an interface failure, the remaining entries + are used until all entries become unusable - at which point + the backup next-hop-group (if specified) is used."; + + leaf id { + type leafref { + path "../state/id"; + } + description + "A reference to a unique identifier for the next-hop-group."; + } + + container state { + config false; + description + "Operational state parameters relating to next-hop-groups."; + uses aft-nhg-state; + } + + container next-hops { + description + "Surrounding container for the list of next-hops within + the next-hop-group."; + + list next-hop { + key "index"; + + description + "An individual next-hop within the next-hop-group. Each + next-hop is a reference to an entry within the next-hop + list."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "A reference to the index for the next-hop within the + the next-hop-group."; + } + + container state { + config false; + description + "Operational state parameters related to a next-hop + within the next-hop-group."; + uses aft-nhg-nh-state; + } + } + } + + container conditional { + description + "When a system selects a next-hop-group based on conditions + in addition to those specified in the referencing table entries + (for example, DSCP is used in addition to the IPv4 destination + prefix), these conditions are specified in the conditions list. + Where such conditions exist, the next-hop-group MUST only + specify next-hop-groups under the conditional list, and therefore + MUST NOT specify any corresponding next-hops. The + next-hop-groups that are referenced by any conditions MUST + reference only next-hops and therefore MUST NOT be conditional + themselves."; + + list condition { + key "id"; + + description + "A conditional next-hop-group that is used by the AFT + entry. The conditions that are specified within the + group are logically ANDed together. If a condition + is a leaf-list field its contents are logically ORed."; + + leaf id { + type leafref { + path "../state/id"; + } + description + "A reference to the identifier for the condition."; + } + + container state { + config false; + description + "Operational state parameters related to the conditional + next-hop selection."; + uses aft-nhg-conditional-state; + } + + container input-interfaces { + description + "The set of input interfaces that are required to be matched for + the next-hop-group condition to be met. Each non-interface condition + is logically ANDed with each member of the list -- i.e., interfaces in + the list are logically ORed. + + If the input-interface list is empty, the condition applies to ALL input + interfaces."; + + list input-interface { + key "id"; + + description + "The input interface that must be matched for the condition to be met."; + + leaf id { + type leafref { + path "../state/id"; + } + description + "Reference to the unique ID assigned to the input interface within + the conditions list."; + } + + container state { + config false; + description + "Operational state parameters that relate to the input interface."; + uses aft-nhg-conditional-interface-state; + } + } + } + } + } + } + } + } + + grouping aft-nhg-state { + description + "Operational state parameters related to a next-hop-group."; + + leaf id { + type uint64; + description + "A unique identifier for the next-hop-group. This index + is not expected to be consistent across reboots, or + reprogramming of the next-hop-group. When updating + a next-hop-group, if the group is removed by the system + or assigned an alternate identifier, the system should + send telemetry notifications deleting the previous + identifier. If the identifier of the next-hop-group + is changed, all AFT entries that reference it must + also be updated."; + } + + leaf color { + type uint64; + description + "An arbitrary colour that is used as an identifier for the next-hop + group. Some next-hop resolutions may utilise the colour to select + the particular next-hop-group that a routing entry should be resolved + to. In this case, next-hop-group selection may be based on colour + matches rather than the protocol specified next-hop. + + Regardless of whether the next-hop-group's specified colour is + used to select an AFT's active forwarding entry, the next-hop-group + referenced by an entry should be the currently active value. + + Next-hop-groups that are installed on the system through a protocol + that allows injection of such entries (e.g., BGP using the SR-TE + Policy SAFI, or gRPC-based RIB programming) should have the colour + specified in the injecting protocol within this leaf."; + } + + leaf backup-next-hop-group { + // We are at afts/next-hop-groups/next-hop-group/state/backup-next-hop-group + type leafref { + path "../../../next-hop-group/state/id"; + } + description + "The backup next-hop-group for the current group. When all + entries within the next-hop group become unusable, the backup + next-hop group is used if specified."; + } + } + + grouping aft-nhg-nh-state { + description + "Operational state parameters relating to an individual next-hop + within the next-hop-group."; + + leaf index { + type leafref { + // We are at afts/next-hop-groups/next-hop-group/next-hops/next-hop/state/id + path "../../../../../../next-hops/next-hop/state/index"; + } + description + "A reference to the identifier for the next-hop to which + the entry in the next-hop group corresponds."; + } + + leaf weight { + type uint64; + description + "The weight applied to the next-hop within the group. Traffic + is balanced across the next-hops within the group in the + proportion of weight/(sum of weights of the next-hops within + the next-hop group)."; + } + } + + grouping aft-nhg-conditional-state { + description + "Operational state parameters relating to the conditional selection + of a next-hop group for an AFT entry."; + + leaf id { + type uint64; + description + "A unique identifier for the conditional criteria."; + } + + leaf-list dscp { + type oc-inet:dscp; + description + "A set of DSCP values that must be matched by an input packet for + the next-hop-group specified to be selected. A logical OR is applied + across the DSCP values."; + } + + leaf next-hop-group { + type leafref { + // we are at afts/next-hop-groups/next-hop-group/conditions/condition/state/next-hop-group + path "../../../../../next-hop-group/state/id"; + } + description + "The next-hop-group that is used by the system for packets that match + the criteria specified."; + } + } + + grouping aft-nhg-conditional-interface-state { + description + "Operational state parameters relating to the input-interface condition + for a next-hop-group."; + + leaf id { + type string; + description + "A unique reference for the input interface."; + } + + uses oc-if:interface-ref-common; + } +} diff --git a/vendor/cisco/xr/755/openconfig-aft-ethernet.yang b/vendor/cisco/xr/755/openconfig-aft-ethernet.yang new file mode 100644 index 000000000..3a1ef8e7f --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-ethernet.yang @@ -0,0 +1,125 @@ +submodule openconfig-aft-ethernet { + belongs-to "openconfig-aft" { + prefix "oc-aft"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-yang-types { prefix "oc-yang"; } + + // Include common cross-AFT groupings from the common submodule. + include openconfig-aft-common; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Submodule containing definitions of groupings for the abstract + forwarding tables for Ethernet."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-11-06" { + description + "Make AFT model read-only."; + reference "0.6.0"; + } + + revision "2020-09-09" { + description + "Remove leafs that are not used as keys from config containers as + AFT model is ready-only. + * next-hop/interface-ref/config. + * all leafs under policy-forwarding-entry/config except index."; + reference "0.5.0"; + } + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.4.1"; + } + + revision "2019-08-02" { + description + "Add installing protocol for IPv[46] unicast entries. + Add the ability to describe conditional next-hop groups + outside of the policy forwarding module to allow for efficient + handling of CBTS, where many prefixes may share the same next-hop + criteria."; + reference "0.4.0"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + grouping aft-ethernet-structural { + description + "Structural grouping defining the schema for the Ethernet + abstract forwarding table."; + + list mac-entry { + key "mac-address"; + + description + "List of the Ethernet entries within the abstract + forwarding table. This list is keyed by the outer MAC address + of the Ethernet frame."; + + leaf mac-address { + type leafref { + path "../state/mac-address"; + } + description + "Reference to the outer MAC address matched by the + entry."; + } + + container state { + config false; + description + "Operational state parameters for the Ethernet AFT + entry."; + uses aft-ethernet-entry-state; + } + } + } + + grouping aft-ethernet-entry-state { + description + "Operational state parameters for the Ethernet AFT entry."; + + leaf mac-address { + type oc-yang:mac-address; + description + "The outer MAC address of the Ethernet frame that must + be matched for the AFT entry to be utilised."; + } + + uses aft-common-entry-state; + } +} diff --git a/vendor/cisco/xr/755/openconfig-aft-ipv4.yang b/vendor/cisco/xr/755/openconfig-aft-ipv4.yang new file mode 100644 index 000000000..1474e4f50 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-ipv4.yang @@ -0,0 +1,124 @@ +submodule openconfig-aft-ipv4 { + belongs-to "openconfig-aft" { + prefix "oc-aft"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-inet-types { prefix "oc-inet"; } + + // Include common cross-AFT groupings from the common submodule. + include openconfig-aft-common; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Submodule containing definitions of groupings for the abstract + forwarding tables for IPv4."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-11-06" { + description + "Make AFT model read-only."; + reference "0.6.0"; + } + + revision "2020-09-09" { + description + "Remove leafs that are not used as keys from config containers as + AFT model is ready-only. + * next-hop/interface-ref/config. + * all leafs under policy-forwarding-entry/config except index."; + reference "0.5.0"; + } + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.4.1"; + } + + revision "2019-08-02" { + description + "Add installing protocol for IPv[46] unicast entries. + Add the ability to describe conditional next-hop groups + outside of the policy forwarding module to allow for efficient + handling of CBTS, where many prefixes may share the same next-hop + criteria."; + reference "0.4.0"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + grouping aft-ipv4-unicast-structural { + description + "Structural grouping defining the schema for the IPv4 unicast + abstract forwarding table."; + + list ipv4-entry { + key "prefix"; + + description + "List of the IPv4 unicast entries within the abstract + forwarding table. This list is keyed by the destination IPv4 + prefix."; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the IPv4 unicast destination prefix which + must be matched to utilise the AFT entry."; + } + + container state { + config false; + description + "Operational state parameters for the IPv4 unicast AFT + entry."; + uses aft-ipv4-unicast-entry-state; + } + } + } + + grouping aft-ipv4-unicast-entry-state { + description + "Operational state parameters for the IPv4 unicast entry."; + leaf prefix { + type oc-inet:ipv4-prefix; + description + "The IPv4 destination prefix that should be matched to + utilise the AFT entry."; + } + uses aft-common-entry-state; + uses aft-common-ip-state; + } +} diff --git a/vendor/cisco/xr/755/openconfig-aft-ipv6.yang b/vendor/cisco/xr/755/openconfig-aft-ipv6.yang new file mode 100644 index 000000000..9f071268a --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-ipv6.yang @@ -0,0 +1,124 @@ +submodule openconfig-aft-ipv6 { + belongs-to "openconfig-aft" { + prefix "oc-aft"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-inet-types { prefix "oc-inet"; } + + // Include common cross-AFT groupings from the common submodule. + include openconfig-aft-common; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Submodule containing definitions of groupings for the abstract + forwarding tables for IPv6."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-11-06" { + description + "Make AFT model read-only."; + reference "0.6.0"; + } + + revision "2020-09-09" { + description + "Remove leafs that are not used as keys from config containers as + AFT model is ready-only. + * next-hop/interface-ref/config. + * all leafs under policy-forwarding-entry/config except index."; + reference "0.5.0"; + } + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.4.1"; + } + + revision "2019-08-02" { + description + "Add installing protocol for IPv[46] unicast entries. + Add the ability to describe conditional next-hop groups + outside of the policy forwarding module to allow for efficient + handling of CBTS, where many prefixes may share the same next-hop + criteria."; + reference "0.4.0"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + grouping aft-ipv6-unicast-structural { + description + "Structural grouping defining the schema for the IPv6 unicast + abstract forwarding table."; + + list ipv6-entry { + key "prefix"; + + description + "List of the IPv6 unicast entries within the abstract + forwarding table. This list is keyed by the destination IPv6 + prefix."; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the IPv6 unicast destination prefix which + must be matched to utilise the AFT entry."; + } + + container state { + config false; + description + "Operational state parameters for the IPv6 unicast AFT + entry."; + uses aft-ipv6-unicast-entry-state; + } + } + } + + grouping aft-ipv6-unicast-entry-state { + description + "Operational state parameters for the IPv6 unicast entry."; + leaf prefix { + type oc-inet:ipv6-prefix; + description + "The IPv6 destination prefix that should be matched to + utilise the AFT entry."; + } + uses aft-common-entry-state; + uses aft-common-ip-state; + } +} diff --git a/vendor/cisco/xr/755/openconfig-aft-mpls.yang b/vendor/cisco/xr/755/openconfig-aft-mpls.yang new file mode 100644 index 000000000..ec9c6aded --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-mpls.yang @@ -0,0 +1,143 @@ +submodule openconfig-aft-mpls { + belongs-to "openconfig-aft" { + prefix "oc-aft"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + + // Include common cross-AFT groupings from the common submodule. + include openconfig-aft-common; + + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Submodule containing definitions of groupings for the abstract + forwarding table for MPLS label forwarding."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-11-06" { + description + "Make AFT model read-only."; + reference "0.6.0"; + } + + revision "2020-09-09" { + description + "Remove leafs that are not used as keys from config containers as + AFT model is ready-only. + * next-hop/interface-ref/config. + * all leafs under policy-forwarding-entry/config except index."; + reference "0.5.0"; + } + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.4.1"; + } + + revision "2019-08-02" { + description + "Add installing protocol for IPv[46] unicast entries. + Add the ability to describe conditional next-hop groups + outside of the policy forwarding module to allow for efficient + handling of CBTS, where many prefixes may share the same next-hop + criteria."; + reference "0.4.0"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + grouping aft-mpls-structural { + description + "Structural grouping defining the schema for the MPLS + abstract forwarding table."; + + list label-entry { + key "label"; + + description + "List of the MPLS entries within the abstract + forwarding table. This list is keyed by the top-most MPLS + label."; + + leaf label { + type leafref { + path "../state/label"; + } + description + "Reference to the top-most MPLS label matched by the + entry."; + } + + container state { + config false; + description + "Operational state parameters for the MPLS AFT + entry."; + uses aft-mpls-entry-state; + } + } + } + + grouping aft-mpls-entry-state { + description + "Operational state parameters for the MPLS entry."; + + leaf label { + type oc-mplst:mpls-label; + description + "The top-most MPLS label that should be matched to + utilise the AFT entry."; + } + + uses aft-common-entry-state; + + leaf-list popped-mpls-label-stack { + type oc-mplst:mpls-label; + description + "The MPLS label stack to be popped from the packet when + switched by the system. The stack is encoded as a leaf-list + such that the first entry is the label that is outer-most (i.e., + furthest from the bottom of the stack). + + If the local system pops the outer-most label 400, then the + value of this list is [400,]. If the local system removes two + labels, the outer-most being 500, and the second of which is + 400, then the value of the list is [500, 400]. + + A swap operation is reflected by entries in the + popped-mpls-label-stack and pushed-mpls-label-stack nodes."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-aft-network-instance.yang b/vendor/cisco/xr/755/openconfig-aft-network-instance.yang new file mode 100644 index 000000000..98d39eb30 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-network-instance.yang @@ -0,0 +1,108 @@ +module openconfig-aft-network-instance { + yang-version "1"; + + namespace "http://openconfig.net/yang/aft/ni"; + prefix "oc-aftni"; + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-network-instance { prefix "oc-ni"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module provides augmentations that are utilized + when building the OpenConfig network instance model to + add per-NI AFTs."; + + oc-ext:openconfig-version "0.2.3"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.2.3"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.2.2"; + } + + revision 2017-01-13 { + description + "Updated revision for external review"; + reference "0.2.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + augment "/oc-ni:network-instances/oc-ni:network-instance/" + + "oc-ni:afts/oc-ni:next-hops/oc-ni:next-hop/oc-ni:state" { + + description + "Add leaves that require referencing of a network instance to the + operational state parameters of a next-hop within the AFT for IPv4 + unicast."; + + uses aft-nexthop-ni-state; + } + + grouping aft-nexthop-ni-state { + description + "Operational state parameters relating to a next-hop which reference a + network instance."; + + leaf network-instance { + type oc-ni:network-instance-ref; + description + "The network-instance within which the next-hop should be resolved. + When this leaf is unspecified, the next-hop is resolved within + the local instance."; + } + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/" + + "oc-ni:afts/oc-ni:ipv4-unicast/oc-ni:ipv4-entry/oc-ni:state" { + description + "Add leaves that require referencing of a network instance to the + operational state parameters of an entry within the IPv4 unicast AFT."; + + uses aft-entry-ni-state; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/" + + "oc-ni:afts/oc-ni:ipv6-unicast/oc-ni:ipv6-entry/oc-ni:state" { + description + "Add leaves that require referencing of a network instance to the + operational state parameters of an entry within the IPv6 unicast AFT."; + + uses aft-entry-ni-state; + } + + grouping aft-entry-ni-state { + description + "Operational state parameters relating to an AFT entry which reference + a network instance."; + + leaf origin-network-instance { + type oc-ni:network-instance-ref; + description + "If the AFT entry was imported from another network instance (e.g., it + corresponds to a L3 forwarding entry which was learned within another + network-instance), the value of this leaf reflects the network-instance + from which it was learned. + For example, if the local network-instance corresponds to a L3VRF, and + routes are imported from the VPNv4 address-family of the BGP instance + in the DEFAULT_INSTANCE, then this value would reflect the + DEFAULT_INSTANCE as the origin-network-instance."; + } + } +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-aft-pf.yang b/vendor/cisco/xr/755/openconfig-aft-pf.yang new file mode 100644 index 000000000..1d8311080 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-pf.yang @@ -0,0 +1,202 @@ +submodule openconfig-aft-pf { + belongs-to "openconfig-aft" { + prefix "oc-aft"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-inet-types { prefix "oc-inet"; } + import openconfig-yang-types { prefix "oc-yang"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + import openconfig-packet-match-types { + prefix "oc-pkt-match-types"; + } + + // Include common cross-AFT groupings from the common submodule. + include openconfig-aft-common; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Submodule containing definitions of groupings for the abstract + forwarding table(s) for policy forwarding entries. These are + defined to be forwarding tables that allow matches on + fields other than the destination address that is used in + other forwarding tables."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-11-06" { + description + "Make AFT model read only."; + reference "0.6.0"; + } + + revision "2020-09-09" { + description + "Remove leafs that are not used as keys from config containers as + AFT model is ready-only. + * next-hop/interface-ref/config. + * all leafs under policy-forwarding-entry/config except index."; + reference "0.5.0"; + } + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.4.1"; + } + + revision "2019-08-02" { + description + "Add installing protocol for IPv[46] unicast entries. + Add the ability to describe conditional next-hop groups + outside of the policy forwarding module to allow for efficient + handling of CBTS, where many prefixes may share the same next-hop + criteria."; + reference "0.4.0"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + grouping aft-pf-structural { + description + "Structural grouping defining the schema for the policy + forwarding abstract forwarding table."; + + list policy-forwarding-entry { + key "index"; + + description + "List of the policy forwarding entries within the abstract + forwarding table. Each entry is uniquely identified by an + index on the system, due to the arbitrary match conditions + that may be implemented within the policy forwarding AFT. + The index may change upon changes of the entry if, and only + if, the device exporting the AFT replaces the entire entry + by removing the previous entry and replacing it with a + subsequent updated version."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to the arbitary index for the policy forwarding + AFT entry."; + } + + container state { + config false; + description + "Operational state parameters for the Policy Forwarding + AFT entry."; + uses aft-pf-entry-state; + } + } + } + + grouping aft-pf-entry-state { + description + "Operational state parameters for the Policy Forwarding + AFT entry."; + + leaf index { + type uint64; + description + "An arbitrary 64-bit index identifying the policy forwarding + AFT entry."; + } + + leaf ip-prefix { + type oc-inet:ip-prefix; + description + "The IP prefix that the forwarding entry matches."; + } + + leaf mac-address { + type oc-yang:mac-address; + description + "The MAC address that the forwarding entry matches. Used for + Layer 2 forwarding entries, e.g., within a VSI instance."; + } + + leaf mpls-label { + type oc-mplst:mpls-label; + description + "The MPLS label that the forwarding entry matches. Used for + MPLS forwarding entries, whereby the local device acts as an + LSR."; + } + + leaf mpls-tc { + type oc-mplst:mpls-tc; + description + "The value of the MPLS Traffic Class bits (formerly known as + the MPLS experimental bits) that are to be matched by the AFT + entry."; + reference + "RFC5462: Multiprotocol Label Switching (MPLS) Label Stack + Entry: 'EXP' Field Renamed to 'Traffic Class' Field"; } + + leaf ip-dscp { + type oc-inet:dscp; + description + "The value of the differentiated services code point (DSCP) to + be matched for the forwarding entry. The value is specified in + cases where specific class-based forwarding based on IP is + implemented by the device."; + } + + leaf ip-protocol { + type oc-pkt-match-types:ip-protocol-type; + description + "The value of the IP protocol field of an IPv4 packet, or the + next-header field of an IPv6 packet which is to be matched by + the AFT entry. This field is utilised where forwarding is + performed based on L4 information."; + } + + leaf l4-src-port { + type oc-inet:port-number; + description + "The value of the source port field of the transport header + that is to be matched by the AFT entry."; + } + + leaf l4-dst-port { + type oc-inet:port-number; + description + "The value of the destination port field of the transport + header that is to be matched by the AFT entry."; + } + + uses aft-common-entry-state; + } +} diff --git a/vendor/cisco/xr/755/openconfig-aft-types.yang b/vendor/cisco/xr/755/openconfig-aft-types.yang new file mode 100644 index 000000000..ade141f44 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft-types.yang @@ -0,0 +1,81 @@ +module openconfig-aft-types { + + namespace "http://openconfig.net/yang/fib-types"; + prefix "oc-aftt"; + + import openconfig-extensions { prefix "oc-ext"; } + + organization + "OpenConfig Working Group"; + + contact + "OpenConfig Working Group + www.openconfig.net"; + + description + "Types related to the OpenConfig Abstract Forwarding + Table (AFT) model"; + + oc-ext:openconfig-version "0.3.4"; + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.3.4"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + typedef encapsulation-header-type { + type enumeration { + enum GRE { + description + "The encapsulation header is a Generic Routing Encapsulation + header."; + } + enum IPV4 { + description + "The encapsulation header is an IPv4 packet header"; + } + enum IPV6 { + description + "The encapsulation header is an IPv6 packet header"; + } + enum MPLS { + description + "The encapsulation header is one or more MPLS labels indicated + by the pushed and popped label stack lists."; + } + } + description + "Types of tunnel encapsulation that are supported by systems as either + head- or tail-end."; + } +} diff --git a/vendor/cisco/xr/755/openconfig-aft.yang b/vendor/cisco/xr/755/openconfig-aft.yang new file mode 100644 index 000000000..23aed962d --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-aft.yang @@ -0,0 +1,193 @@ +module openconfig-aft { + + yang-version "1"; + + namespace "http://openconfig.net/yang/aft"; + + prefix "oc-aft"; + + import openconfig-extensions { prefix "oc-ext"; } + + // Include IPv4 AFT submodule. + include openconfig-aft-ipv4; + // Include IPv6 AFT submodule. + include openconfig-aft-ipv6; + // Include MPLS AFT submodule. + include openconfig-aft-mpls; + // Include policy forwarding AFT submodule. + include openconfig-aft-pf; + // Include the ethernet AFT submodule. + include openconfig-aft-ethernet; + // Include the common cross-AFT entities. + include openconfig-aft-common; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "A model describing the forwarding entries installed on a network + element. It should be noted that this model is not expected to + align 1:1 with the underlying structure used directly by a + forwarding element (e.g., linecard), but rather provide an + abstraction that can be consumed by an NMS to observe, and in some + cases manipulate, the internal forwarding database in a simplified + manner. Since the underlying model of the forwarding table is not + expected to align with this model, the structure described herein + is referred to as an Abstract Forwarding Table (AFT), rather than + the FIB."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-11-06" { + description + "Make AFT model read-only."; + reference "0.6.0"; + } + + revision "2020-09-09" { + description + "Remove leafs that are not used as keys from config containers as + AFT model is ready-only. + * next-hop/interface-ref/config. + * all leafs under policy-forwarding-entry/config except index."; + reference "0.5.0"; + } + + revision "2019-11-07" { + description + "Move lsp-name leaf out of aft-common-entry-nexthop-state group."; + reference "0.4.1"; + } + + revision "2019-08-02" { + description + "Add installing protocol for IPv[46] unicast entries. + Add the ability to describe conditional next-hop groups + outside of the policy forwarding module to allow for efficient + handling of CBTS, where many prefixes may share the same next-hop + criteria."; + reference "0.4.0"; + } + + revision "2019-08-01" { + description + "Add lsp-name leaf to AFT next-hop."; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Formatting fixes"; + reference "0.3.1"; + } + + revision 2017-05-10 { + description + "Refactor to provide concretised per-AF schemas per AFT."; + reference "0.3.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // config + state groupings + + // structural groupings + + grouping aft-top { + description + "Top-level grouping allowing per-protocol instantiation of the + AFT."; + + container afts { + config false; + description + "The abstract forwarding tables (AFTs) that are associated + with the network instance. An AFT is instantiated per-protocol + running within the network-instance - such that one exists for + IPv4 Unicast, IPv6 Unicast, MPLS, L2 forwarding entries, etc. + A forwarding entry within the FIB has a set of next-hops, + which may be a reference to an entry within another table - + e.g., where a Layer 3 next-hop has an associated Layer 2 + forwarding entry."; + + container ipv4-unicast { + description + "The abstract forwarding table for IPv4 unicast. Entries + within this table are uniquely keyed on the IPv4 unicast + destination prefix which is matched by ingress packets. + + The data set represented by the IPv4 Unicast AFT is the set + of entries from the IPv4 unicast RIB that have been selected + for installation into the FIB of the device exporting the + data structure."; + + uses aft-ipv4-unicast-structural; + } + + container ipv6-unicast { + description + "The abstract forwarding table for IPv6 unicast. Entries + within this table are uniquely keyed on the IPv6 unicast + destination prefix which is matched by ingress packets. + + The data set represented by the IPv6 Unicast AFTis the set + of entries within the IPv6 RIB that "; + + uses aft-ipv6-unicast-structural; + + } + + container policy-forwarding { + description + "The abstract forwarding table for policy-based forwarding + entries. Since multiple match criteria can be utilised + within a policy-based forwarding rule, this AFT provides a + flexible match criteria, and is indexed based on an + arbitrary 64-bit index. Entries within the AFT may match on + multiple field types (e.g., L4 header fields, as well as L2 + fields). + + Examples of entries within this table are: + - IPv4 policy-based routing based on DSCP. + - MPLS policy-based forwarding entries."; + + uses aft-pf-structural; + } + + container mpls { + description + "The abstract forwarding table for MPLS label based + forwarding entries. Entries within the table are keyed based + on the top-most MPLS label in the stack on the ingress + packet."; + + uses aft-mpls-structural; + } + + container ethernet { + description + "The abstract forwarding table for Ethernet based forwarding + entries. Entries within the table are keyed based on the + destination MAC address on the ingress packet."; + + uses aft-ethernet-structural; + } + + uses aft-next-hop-groups-structural; + uses aft-nhop-structural; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-alarm-types.yang b/vendor/cisco/xr/755/openconfig-alarm-types.yang new file mode 100644 index 000000000..7ec866527 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-alarm-types.yang @@ -0,0 +1,139 @@ +module openconfig-alarm-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/alarms/types"; + + prefix "oc-alarm-types"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines operational state data related to alarms + that the device is reporting. + + This model reuses some data items defined in the draft IETF + YANG Alarm Module: + https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02 + + Portions of this code were derived from the draft IETF YANG Alarm + Module. Please reproduce this note if possible. + + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "0.2.0"; + + revision "2018-01-16" { + description + "Moved alarm identities into separate types module"; + reference "0.2.0"; + } + + // identity statements + identity OPENCONFIG_ALARM_TYPE_ID { + description + "Base identity for alarm type ID profiles"; + } + + identity AIS { + base OPENCONFIG_ALARM_TYPE_ID; + description + "Defines an alarm indication signal type of alarm"; + } + + identity EQPT { + base OPENCONFIG_ALARM_TYPE_ID; + description + "Defines an equipment related type of alarm that is specific + to the physical hardware"; + } + + identity LOS { + base OPENCONFIG_ALARM_TYPE_ID; + description + "Defines a loss of signal type of alarm"; + } + + identity OTS { + base OPENCONFIG_ALARM_TYPE_ID; + description + "Defines a optical transport signal type of alarm"; + } + + identity OPENCONFIG_ALARM_SEVERITY { + description + "Base identity for alarm severity profiles. Derived + identities are based on contents of the draft + IETF YANG Alarm Module"; + reference + "IETF YANG Alarm Module: Draft - typedef severity + https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02"; + + } + + identity UNKNOWN { + base OPENCONFIG_ALARM_SEVERITY; + description + "Indicates that the severity level could not be determined. + This level SHOULD be avoided."; + } + + identity MINOR { + base OPENCONFIG_ALARM_SEVERITY; + description + "Indicates the existence of a non-service affecting fault + condition and that corrective action should be taken in + order to prevent a more serious (for example, service + affecting) fault. Such a severity can be reported, for + example, when the detected alarm condition is not currently + degrading the capacity of the resource"; + } + + identity WARNING { + base OPENCONFIG_ALARM_SEVERITY; + description + "Indicates the detection of a potential or impending service + affecting fault, before any significant effects have been felt. + Action should be taken to further diagnose (if necessary) and + correct the problem in order to prevent it from becoming a more + serious service affecting fault."; + } + + identity MAJOR { + base OPENCONFIG_ALARM_SEVERITY; + description + "Indicates that a service affecting condition has developed + and an urgent corrective action is required. Such a severity + can be reported, for example, when there is a severe + degradation in the capability of the resource and its full + capability must be restored."; + } + + identity CRITICAL { + base OPENCONFIG_ALARM_SEVERITY; + description + "Indicates that a service affecting condition has occurred + and an immediate corrective action is required. Such a + severity can be reported, for example, when a resource becomes + totally out of service and its capability must be restored."; + } + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-alarms.yang b/vendor/cisco/xr/755/openconfig-alarms.yang new file mode 100644 index 000000000..c7d71f195 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-alarms.yang @@ -0,0 +1,237 @@ +module openconfig-alarms { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/alarms"; + + prefix "oc-alarms"; + + // import some basic types + import openconfig-alarm-types { prefix oc-alarm-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-types { prefix oc-types; } + import openconfig-platform { prefix oc-platform; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines operational state data related to alarms + that the device is reporting. + + This model reuses some data items defined in the draft IETF + YANG Alarm Module: + https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02 + + Portions of this code were derived from the draft IETF YANG Alarm + Module. Please reproduce this note if possible. + + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "0.3.2"; + + revision "2019-07-09" { + description + "Clarify relative base for leaves using timeticks64."; + reference "0.3.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2018-01-16" { + description + "Moved alarm identities into separate types module"; + reference "0.3.0"; + } + + revision "2018-01-10" { + description + "Make alarms list read only"; + reference "0.2.0"; + } + + revision "2017-08-24" { + description + "Initial public release"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + + grouping alarm-state { + description + "Operational state data for device alarms"; + + leaf id { + type string; + description + "Unique ID for the alarm -- this will not be a + configurable parameter on many implementations"; + } + + leaf resource { + type string; + description + "The item that is under alarm within the device. The + resource may be a reference to an item which is + defined elsewhere in the model. For example, it + may be a platform/component, interfaces/interface, + terminal-device/logical-channels/channel, etc. In this + case the system should match the name of the referenced + item exactly. The referenced item could alternatively be + the path of the item within the model."; + reference + "IETF YANG Alarm Module: Draft - typedef resource + https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02"; + } + + leaf text { + type string; + description + "The string used to inform operators about the alarm. This + MUST contain enough information for an operator to be able + to understand the problem. If this string contains structure, + this format should be clearly documented for programs to be + able to parse that information"; + reference + "IETF YANG Alarm Module: Draft - typedef alarm-text + https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02"; + } + + leaf time-created { + type oc-types:timeticks64; + description + "The time at which the alarm was raised by the system. + This value is expressed relative to the Unix Epoch."; + } + + leaf severity { + type identityref { + base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY; + } + description + "The severity level indicating the criticality and impact + of the alarm"; + reference + "IETF YANG Alarm Module: Draft - typedef severity + https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02"; + } + + leaf type-id { + type union { + type string; + type identityref { + base oc-alarm-types:OPENCONFIG_ALARM_TYPE_ID; + } + } + description + "The abbreviated name of the alarm, for example LOS, + EQPT, or OTS. Also referred to in different systems as + condition type, alarm identifier, or alarm mnemonic. It + is recommended to use the OPENCONFIG_ALARM_TYPE_ID + identities where possible and only use the string type + when the desired identityref is not yet defined"; + reference + "IETF YANG Alarm Module: Draft - typedef alarm-type-id + https://tools.ietf.org/html/draft-vallin-netmod-alarm-module-02"; + } + } + + grouping alarm-config { + description + "Configuration data for device alarms"; + } + + grouping alarms-top { + description + "Top-level grouping for device alarms"; + + container alarms { + description + "Top-level container for device alarms"; + + config false; + + list alarm { + key "id"; + description + "List of alarms, keyed by a unique id"; + + leaf id { + type leafref { + path "../state/id"; + } + + description + "References the unique alarm id"; + } + + container config { + description + "Configuration data for each alarm"; + + uses alarm-config; + } + + container state { + config false; + + description + "Operational state data for a device alarm"; + + uses alarm-config; + uses alarm-state; + } + } + } + } + + + // augments + + augment "/oc-platform:components/oc-platform:component/oc-platform:state" { + description + "Adds specific alarms related to a component."; + + leaf equipment-failure { + type boolean; + default "false"; + description + "If true, the hardware indicates that the component's physical equipment + has failed"; + } + + leaf equipment-mismatch { + type boolean; + default "false"; + description + "If true, the hardware indicates that the component inserted into the + affected component's physical location is of a different type than what + is configured"; + } + } + +} diff --git a/vendor/cisco/xr/755/openconfig-bfd.yang b/vendor/cisco/xr/755/openconfig-bfd.yang new file mode 100644 index 000000000..8a0755bf8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bfd.yang @@ -0,0 +1,740 @@ +module openconfig-bfd { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/bfd"; + + prefix "oc-bfd"; + + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-types { prefix "oc-types"; } + import openconfig-interfaces { prefix "oc-if"; } + import openconfig-if-types { prefix "oc-ift"; } + import openconfig-inet-types { prefix "oc-inet"; } + import openconfig-policy-types { prefix "oc-pol-types"; } + import ietf-inet-types { prefix "ietf-if"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "An OpenConfig model of Bi-Directional Forwarding Detection (BFD) + configuration and operational state."; + + oc-ext:openconfig-version "0.2.3"; + + revision "2021-06-16" { + description + "Remove trailing whitespace"; + reference "0.2.3"; + } + + revision "2021-03-17" { + description + "Remove augments from bfd module. + Add bfd support directly on the protocols"; + reference "0.2.2"; + } + + revision "2020-05-08" { + description + "Ensure that when statements reference only read-write leaves + from read-write contexts. + Add ietf-inet-types LAG type to conditions for micro-bfd."; + reference "0.2.1"; + } + + revision "2019-10-25" { + description + "Correct when statements."; + reference "0.2.0"; + } + + revision "2019-06-02" { + description + "Fix detection multiplier to be 8-bit value"; + reference "0.1.1"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.0"; + } + + revision "2017-10-19" { + description + "Adopt OpenConfig types models, type corrections"; + reference "0.0.2"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + typedef bfd-session-state { + type enumeration { + enum UP { + description + "The BFD session is perceived to be up by the system."; + } + enum DOWN { + description + "The BFD session is perceived to be down by the system."; + } + enum ADMIN_DOWN { + description + "The BFD session is administratively disabled."; + } + enum INIT { + description + "The BFD session is perceived to be initialising by the + system."; + } + } + description + "The state of the BFD session according to the system referred + to by the context of the leaf."; + reference + "RFC5880 - Bidirectional Forwarding Detection, Section + 4.1"; + } + + typedef bfd-diagnostic-code { + type enumeration { + enum NO_DIAGNOSTIC { + value 0; + description + "No diagnostic code was specified, or the session has not + changed state."; + } + enum DETECTION_TIMEOUT { + value 1; + description + "The control detection time expired: no BFD packet was + received within the required period."; + } + enum ECHO_FAILED { + value 2; + description + "The BFD echo function failed - echo packets have not been + received for the required period of time."; + } + enum FORWARDING_RESET { + value 3; + description + "The forwarding plane in the local system was reset - such + that the remote system cannot rely on the forwarding state of + the device specifying this error code."; + } + enum PATH_DOWN { + value 4; + description + "Signalling outside of BFD specified that the path underlying + this session has failed."; + } + enum CONCATENATED_PATH_DOWN { + value 5; + description + "When a BFD session runs over a series of path segments, this + error code indicates that a subsequent path segment (i.e., + one in the transmit path between the source and destination + of the session) has failed."; + } + enum ADMIN_DOWN { + value 6; + description + "The BFD session has been administratively disabled by the + peer."; + } + enum REVERSE_CONCATENATED_PATH_DOWN { + value 7; + description + "In the case that a BFD session is running over a series of + path segments, this error code indicates that a path segment + on the reverse path (i.e., in the transmit direction from the + destination to the source of the session) has failed."; + } + } + description + "Diagnostic codes defined by BFD. These typically indicate the + reason for a change of session state."; + reference + "RFC5880 - Bidirectional Forwarding Detection, Section + 4.1"; + } + + + grouping bfd-interface-config { + description + "Top-level per-interface configuration parameters for BFD."; + + leaf id { + type string; + description + "A unique identifier for the interface."; + } + + leaf enabled { + type boolean; + description + "When this leaf is set to true then the BFD session is enabled + on the specified interface - if it is set to false, it is + administratively disabled."; + } + + leaf local-address { + type oc-inet:ip-address; + description + "The source IP address to be used for BFD sessions over this + interface."; + } + + leaf desired-minimum-tx-interval { + type uint32; + units microseconds; + description + "The minimum interval between transmission of BFD control + packets that the operator desires. This value is advertised to + the peer, however the actual interval used is specified by + taking the maximum of desired-minimum-tx-interval and the + value of the remote required-minimum-receive interval value. + + This value is specified as an integer number of microseconds."; + } + + leaf required-minimum-receive { + type uint32; + units microseconds; + description + "The minimum interval between received BFD control packets that + this system should support. This value is advertised to the + remote peer to indicate the maximum frequency (i.e., minimum + inter-packet interval) between BFD control packets that is + acceptable to the local system."; + } + + // rjs: Could have required-minimum-echo-receive here, but this is + // generally not configurable. + + leaf detection-multiplier { + type uint8 { + range "1..max"; + } + description + "The number of packets that must be missed to declare this + session as down. The detection interval for the BFD session + is calculated by multiplying the value of the negotiated + transmission interval by this value."; + } + + leaf enable-per-member-link { + type boolean; + default false; + description + "When this leaf is set to true - BFD will be enabled on + each member interface of the aggregated Ethernet bundle."; + } + } + + grouping bfd-interface-state { + // placeholder + description + "Operational state parameters relating to BFD running on an + interface."; + } + + grouping bfd-session-state-mode-timers-common { + description + "Common operational state parameters that are re-used across + both asynchronous and echo modes of BFD."; + + leaf last-packet-transmitted { + type uint64; + 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-packet-received { + type uint64; + 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 transmitted-packets { + // TODO: looks to be unsupported on JUNOS + type uint64; + description + "The number of packets that have been transmitted + by the local system."; + } + + leaf received-packets { + // TODO: looks to be unsupported on JUNOS + type uint64; + description + "The number of packets that have been received by the + local system from the remote neighbour."; + } + + leaf up-transitions { + // TODO: looks to only be supported in SROS + type uint64; + description + "The number of times that the adjacency with the neighbor + has transitioned into the up state."; + } + } + + grouping bfd-session-state-sessiondetails-common { + description + "Common session details for a BFD session."; + + leaf session-state { + type bfd-session-state; + description + "The state of the BFD session perceived by the local system."; + + } + + leaf remote-session-state { + type bfd-session-state; + description + "The reported state of the BFD session according to the remote + system. This state reflects the last state reported in a BFD + control packet."; + } + + leaf last-failure-time { + type oc-types:timeticks64; + 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."; + } + + leaf failure-transitions { + type uint64; + description + "The number of times that the BFD session has transitioned + out of the UP state."; + } + + leaf local-discriminator { + type string; + description + "A unique identifier used by the local system to identify this + BFD session."; + } + + leaf remote-discriminator { + type string; + description + "A unique identified used by the remote system to identify this + BFD session."; + } + + leaf local-diagnostic-code { + type bfd-diagnostic-code; + description + "The local BFD diagnostic code indicating the most recent + reason for failure of this BFD session."; + } + + leaf remote-diagnostic-code { + type bfd-diagnostic-code; + description + "The remote BFD diagnostic code indicating the remote system's + reason for failure of the BFD session"; + } + + leaf remote-minimum-receive-interval { + type uint32; + description + "The value of the minimum receive interval that was specified + in the most recent BFD control packet received from the peer."; + } + + leaf demand-mode-requested { + type boolean; + description + "This leaf is set to true when the remote system has requested + demand mode be run for this session."; + } + + leaf remote-authentication-enabled { + type boolean; + description + "This leaf is set to true when the remote system has specified + that authentication is present for the BFD session."; + } + + leaf remote-control-plane-independent { + type boolean; + description + "This leaf is set to true when the remote system has specified + that the hardware implementing this BFD session is independent + of the control plane's liveliness."; + } + } + + + grouping bfd-session-state-async-common { + description + "Common parameters for asynchronous BFD sessions"; + + container async { + description + "Operational state parameters specifically relating to + asynchronous mode of BFD."; + + uses bfd-session-state-mode-timers-common; + } + } + + grouping bfd-session-state-echo-common { + description + "Common parameters for echo-mode BFD sessions."; + + container echo { + description + "Operational state parameters specifically relating to the + echo mode of BFD."; + + leaf active { + type boolean; + description + "This leaf is set to true when echo mode is running between + the local and remote system. When it is set to false, solely + asynchronous mode is active."; + } + + uses bfd-session-state-mode-timers-common; + } + } + + + grouping bfd-session-state-common { + description + "Common operational state parameters that may be re-used across + multiple BFD session contexts."; + + leaf local-address { + type oc-inet:ip-address; + description + "The IP address used by the local system for this BFD session."; + } + + leaf remote-address { + type oc-inet:ip-address; + description + "The IP address used by the remote system for this BFD session."; + } + + leaf-list subscribed-protocols { + type identityref { + base "oc-pol-types:INSTALL_PROTOCOL_TYPE"; + } + description + "Indicates the set of protocols that currently use + this BFD session for liveliness detection."; + } + + uses bfd-session-state-sessiondetails-common; + uses bfd-session-state-echo-common; + uses bfd-session-state-async-common; + } + + grouping bfd-session-microbfd-common { + description + "BFD session parameters utilised only for micro-BFD sessions."; + + uses bfd-session-state-sessiondetails-common; + uses bfd-session-state-async-common; + } + + grouping bfd-interface-peer-state { + description + "Per-peer, per-interface operational state parameters for BFD."; + + uses bfd-session-state-common; + } + + grouping bfd-interface-microbfd-config { + description + "Configuration parameters for a microBFD session on an + interface."; + + leaf local-address { + type oc-inet:ip-address; + description + "The local IP address used by the system for the micro-BFD session + specified."; + } + + leaf remote-address { + type oc-inet:ip-address; + description + "The remote IP destination that should be used by the system for + the micro-BFD session specified."; + } + + leaf member-interface { + type leafref { + path "/oc-if:interfaces/" + + "oc-if:interface/oc-if:config/oc-if:name"; + } + // rjs: Note that this does not restrict to only interfaces that + // are part of the current LAG. An implementation should return + // NOK if such an interface is specified. + description + "Reference to a member link of the aggregate interface being + described."; + } + } + + grouping bfd-interface-microbfd-state { + description + "Operational state parameters relating to a micro-BFD session on + an interface."; + + uses bfd-session-microbfd-common; + } + + grouping bfd-interface-microbfd-structural { + description + "Structural grouping for micro-bfd configuration and state + parameters."; + + container micro-bfd-sessions { + when "/oc-if:interfaces/oc-if:interface" + + "[oc-if:name=current()/../interface-ref/config/interface]/" + + "oc-if:config/oc-if:type = 'oc-ift:IF_AGGREGATE' or " + + "/oc-if:interfaces/oc-if:interface" + + "[oc-if:name=current()/../interface-ref/config/interface]/" + + "oc-if:config/oc-if:type = 'ietf-if:ieee8023adLag'" { + description + "Include per-member link BFD only when the type of + interface is a link aggregate."; + } + + description + "Parameters relating to micro-BFD sessions associated + with the interface."; + + list micro-bfd-session { + key "member-interface"; + + description + "This list contains configuration and state parameters + relating to micro-BFD session."; + reference + "RFC7130 - Bidirectional Forwarding Detection (BFD) + on Link Aggregation Group (LAG) Interfaces."; + + + leaf member-interface { + type leafref { + path "../config/member-interface"; + } + description + "A reference to the member interface of the link + aggregate."; + } + + container config { + description + "Configuration parameters for the micro-BFD session."; + uses bfd-interface-microbfd-config; + } + + container state { + config false; + description + "Operational state parameters for the micro-BFD session."; + uses bfd-interface-microbfd-config; + uses bfd-interface-microbfd-state; + } + } + } + } + + grouping bfd-interface-peer-structural { + description + "Structural grouping for BFD peers (in the context of an interface)."; + + container peers { + description + "Parameters relating to the BFD peers which are seen + over this interface."; + + list peer { + key "local-discriminator"; + config false; + + description + "Parameters relating to the BFD peer specified by the + remote address."; + + leaf local-discriminator { + type leafref { + path "../state/local-discriminator"; + } + description + "The local discriminator, which is unique for the + session on the system."; + } + + container state { + config false; + description + "Operational state parameters for the BFD session."; + + uses bfd-interface-peer-state; + } + } + } + } + + grouping bfd-top { + description + "Structural grouping for Bidirectional Forwarding Detection (BFD)."; + + container bfd { + description + "Configuration and operational state parameters for BFD."; + reference "RFC5880, RFC5881"; + + container interfaces { + description + "Interfaces on which BFD sessions are to be enabled."; + + list interface { + key "id"; + + description + "Per-interface configuration and state parameters for BFD."; + + leaf id { + type leafref { + path "../config/id"; + } + description + "A reference to an identifier for the interface on which + BFD is enabled."; + } + + container config { + description + "Configuration parameters for BFD on the specified + interface."; + uses bfd-interface-config; + } + + container state { + config false; + description + "Operational state parameters for BFD on the specified + interface."; + uses bfd-interface-config; + uses bfd-interface-state; + } + + uses oc-if:interface-ref; + + uses bfd-interface-microbfd-structural; + uses bfd-interface-peer-structural; + } + } + } + } + + grouping enable-bfd-config { + description + "Configuration parameters relating to enabling BFD."; + + leaf enabled { + type boolean; + description + "When this leaf is set to true, BFD is used to detect the + liveliness of the remote peer or next-hop."; + } + } + + grouping enable-bfd-state { + description + "Operational state parameters relating to enabling BFD."; + + leaf associated-session { + // TODO: this is a leafref to something unique, but seems + // like it might be expensive for the NMS to find out since + // it will need to cycle through all interfaces looking for + // the associated local-discriminator. + type leafref { + path "/bfd/interfaces/interface/peers/peer/local-discriminator"; + } + description + "A reference to the BFD session that is tracking the liveliness + of the remote entity."; + } + + // + // A fix to the above is to have the following leaf to show which + // interface is associated. + // + // leaf associated-interface { + // type leafref { + // path "/bfd/interfaces/interface/config/id"; + // } + // } + } + + grouping bfd-enable { + description + "Grouping which can be included in a protocol wishing to enable + BFD."; + + container enable-bfd { + description + "Enable BFD for liveliness detection to the next-hop or + neighbour."; + + container config { + description + "Configuration parameters relating to enabling BFD."; + + uses enable-bfd-config; + } + + container state { + config false; + description + "Operational state parameters relating to enabing BFD."; + + uses enable-bfd-config; + //uses enable-bfd-state; + } + } + } + + uses bfd-top; +} diff --git a/vendor/cisco/xr/755/openconfig-bgp-common-multiprotocol.yang b/vendor/cisco/xr/755/openconfig-bgp-common-multiprotocol.yang new file mode 100644 index 000000000..e7e92bd9d --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-common-multiprotocol.yang @@ -0,0 +1,543 @@ +submodule openconfig-bgp-common-multiprotocol { + + belongs-to openconfig-bgp { + prefix "oc-bgp"; + } + + import openconfig-extensions { prefix oc-ext; } + import openconfig-bgp-types { prefix oc-bgp-types; } + import openconfig-routing-policy { prefix oc-rpol; } + import openconfig-types { prefix oc-types; } + + include openconfig-bgp-common; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This sub-module contains groupings that are related to support + for multiple protocols in BGP. The groupings are common across + multiple contexts."; + + oc-ext:openconfig-version "6.0.0"; + + revision "2019-07-10" { + description + "Normalise timestamp units to nanoseconds."; + reference "6.0.0"; + } + + revision "2019-05-28" { + description + "Clarify prefix counter descriptions, add received-pre-policy + counter."; + reference "5.2.0"; + } + + revision "2019-04-16" { + description + "Add BGP RIB to the top-level BGP container"; + reference "5.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-30" { + description + "Clarification of add-paths send-max leaf"; + reference "4.0.1"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + grouping bgp-common-mp-afi-safi-graceful-restart-config { + description + "BGP graceful restart parameters that apply on a per-AFI-SAFI + basis"; + + leaf enabled { + type boolean; + default false; + description + "This leaf indicates whether graceful-restart is enabled for + this AFI-SAFI"; + } + } + + grouping bgp-common-mp-afi-safi-config { + description + "Configuration parameters used for all BGP AFI-SAFIs"; + + leaf afi-safi-name { + type identityref { + base oc-bgp-types:AFI_SAFI_TYPE; + } + description "AFI,SAFI"; + } + + leaf enabled { + type boolean; + default false; + description + "This leaf indicates whether the AFI-SAFI is + enabled for the neighbour or group"; + } + } + + grouping bgp-common-mp-all-afi-safi-list-contents { + description + "A common grouping used for contents of the list that is used + for AFI-SAFI entries"; + + // import and export policy included for the afi/safi + uses oc-rpol:apply-policy-group; + + uses bgp-common-mp-ipv4-unicast-group; + uses bgp-common-mp-ipv6-unicast-group; + uses bgp-common-mp-ipv4-labeled-unicast-group; + uses bgp-common-mp-ipv6-labeled-unicast-group; + uses bgp-common-mp-l3vpn-ipv4-unicast-group; + uses bgp-common-mp-l3vpn-ipv6-unicast-group; + uses bgp-common-mp-l3vpn-ipv4-multicast-group; + uses bgp-common-mp-l3vpn-ipv6-multicast-group; + uses bgp-common-mp-l2vpn-vpls-group; + uses bgp-common-mp-l2vpn-evpn-group; + uses bgp-common-mp-srte-policy-ipv4-group; + uses bgp-common-mp-srte-policy-ipv6-group; + } + + // Groupings relating to each address family + grouping bgp-common-mp-ipv4-unicast-group { + description + "Group for IPv4 Unicast configuration options"; + + container ipv4-unicast { + when "../afi-safi-name = 'oc-bgp-types:IPV4_UNICAST'" { + description + "Include this container for IPv4 Unicast specific + configuration"; + } + + description "IPv4 unicast configuration options"; + + // include common IPv[46] unicast options + uses bgp-common-mp-ipv4-ipv6-unicast-common; + + // placeholder for IPv4 unicast specific configuration + } + } + + grouping bgp-common-mp-ipv6-unicast-group { + description + "Group for IPv6 Unicast configuration options"; + + container ipv6-unicast { + when "../afi-safi-name = 'oc-bgp-types:IPV6_UNICAST'" { + description + "Include this container for IPv6 Unicast specific + configuration"; + } + + description "IPv6 unicast configuration options"; + + // include common IPv[46] unicast options + uses bgp-common-mp-ipv4-ipv6-unicast-common; + + // placeholder for IPv6 unicast specific configuration + // options + } + } + + grouping bgp-common-mp-ipv4-labeled-unicast-group { + description + "Group for IPv4 Labeled Unicast configuration options"; + + container ipv4-labeled-unicast { + when "../afi-safi-name = 'oc-bgp-types:IPV4_LABELED_UNICAST'" { + description + "Include this container for IPv4 Labeled Unicast specific + configuration"; + } + + description "IPv4 Labeled Unicast configuration options"; + + uses bgp-common-mp-all-afi-safi-common; + + // placeholder for IPv4 Labeled Unicast specific config + // options + } + } + + grouping bgp-common-mp-ipv6-labeled-unicast-group { + description + "Group for IPv6 Labeled Unicast configuration options"; + + container ipv6-labeled-unicast { + when "../afi-safi-name = 'oc-bgp-types:IPV6_LABELED_UNICAST'" { + description + "Include this container for IPv6 Labeled Unicast specific + configuration"; + } + + description "IPv6 Labeled Unicast configuration options"; + + uses bgp-common-mp-all-afi-safi-common; + + // placeholder for IPv6 Labeled Unicast specific config + // options. + } + } + + grouping bgp-common-mp-l3vpn-ipv4-unicast-group { + description + "Group for IPv4 Unicast L3VPN configuration options"; + + container l3vpn-ipv4-unicast { + when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV4_UNICAST'" { + description + "Include this container for IPv4 Unicast L3VPN specific + configuration"; + } + + description "Unicast IPv4 L3VPN configuration options"; + + // include common L3VPN configuration options + uses bgp-common-mp-l3vpn-ipv4-ipv6-unicast-common; + + // placeholder for IPv4 Unicast L3VPN specific config options. + } + } + + grouping bgp-common-mp-l3vpn-ipv6-unicast-group { + description + "Group for IPv6 Unicast L3VPN configuration options"; + + container l3vpn-ipv6-unicast { + when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV6_UNICAST'" { + description + "Include this container for unicast IPv6 L3VPN specific + configuration"; + } + + description "Unicast IPv6 L3VPN configuration options"; + + // include common L3VPN configuration options + uses bgp-common-mp-l3vpn-ipv4-ipv6-unicast-common; + + // placeholder for IPv6 Unicast L3VPN specific configuration + // options + } + } + + grouping bgp-common-mp-l3vpn-ipv4-multicast-group { + description + "Group for IPv4 L3VPN multicast configuration options"; + + container l3vpn-ipv4-multicast { + when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV4_MULTICAST'" { + description + "Include this container for multicast IPv6 L3VPN specific + configuration"; + } + + description "Multicast IPv4 L3VPN configuration options"; + + // include common L3VPN multicast options + uses bgp-common-mp-l3vpn-ipv4-ipv6-multicast-common; + + // placeholder for IPv4 Multicast L3VPN specific configuration + // options + } + } + + grouping bgp-common-mp-l3vpn-ipv6-multicast-group { + description + "Group for IPv6 L3VPN multicast configuration options"; + + container l3vpn-ipv6-multicast { + when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV6_MULTICAST'" { + description + "Include this container for multicast IPv6 L3VPN specific + configuration"; + } + + description "Multicast IPv6 L3VPN configuration options"; + + // include common L3VPN multicast options + uses bgp-common-mp-l3vpn-ipv4-ipv6-multicast-common; + + // placeholder for IPv6 Multicast L3VPN specific configuration + // options + } + } + + grouping bgp-common-mp-l2vpn-vpls-group { + description + "Group for BGP-signalled VPLS configuration options"; + + container l2vpn-vpls { + when "../afi-safi-name = 'oc-bgp-types:L2VPN_VPLS'" { + description + "Include this container for BGP-signalled VPLS specific + configuration"; + } + + description "BGP-signalled VPLS configuration options"; + + // include common L2VPN options + uses bgp-common-mp-l2vpn-common; + + // placeholder for BGP-signalled VPLS specific configuration + // options + } + } + + grouping bgp-common-mp-l2vpn-evpn-group { + description + "Group for BGP EVPN configuration options"; + + container l2vpn-evpn { + when "../afi-safi-name = 'oc-bgp-types:L2VPN_EVPN'" { + description + "Include this container for BGP EVPN specific + configuration"; + } + + description "BGP EVPN configuration options"; + + // include common L2VPN options + uses bgp-common-mp-l2vpn-common; + + // placeholder for BGP EVPN specific configuration options + } + } + + // Common groupings across multiple AFI,SAFIs + grouping bgp-common-mp-all-afi-safi-common { + description + "Grouping for configuration common to all AFI,SAFI"; + + container prefix-limit { + description + "Configure the maximum number of prefixes that will be + accepted from a peer"; + + container config { + description + "Configuration parameters relating to the prefix + limit for the AFI-SAFI"; + uses bgp-common-mp-all-afi-safi-common-prefix-limit-config; + } + + container state { + config false; + description + "State information relating to the prefix-limit for the + AFI-SAFI"; + uses bgp-common-mp-all-afi-safi-common-prefix-limit-config; + } + } + } + + grouping bgp-common-mp-ipv4-ipv6-unicast-common { + description + "Common configuration that is applicable for IPv4 and IPv6 + unicast"; + + // include common afi-safi options. + uses bgp-common-mp-all-afi-safi-common; + + // configuration options that are specific to IPv[46] unicast + container config { + description + "Configuration parameters for common IPv4 and IPv6 unicast + AFI-SAFI options"; + uses bgp-common-mp-ipv4-ipv6-unicast-common-config; + } + container state { + config false; + description + "State information for common IPv4 and IPv6 unicast + parameters"; + uses bgp-common-mp-ipv4-ipv6-unicast-common-config; + } + } + + grouping bgp-common-mp-l3vpn-ipv4-ipv6-unicast-common { + description + "Common configuration applied across L3VPN for IPv4 + and IPv6"; + + // placeholder -- specific configuration options that are generic + // across IPv[46] unicast address families. + uses bgp-common-mp-all-afi-safi-common; + } + + grouping bgp-common-mp-l3vpn-ipv4-ipv6-multicast-common { + description + "Common configuration applied across L3VPN for IPv4 + and IPv6"; + + // placeholder -- specific configuration options that are + // generic across IPv[46] multicast address families. + uses bgp-common-mp-all-afi-safi-common; + } + + grouping bgp-common-mp-l2vpn-common { + description + "Common configuration applied across L2VPN address + families"; + + // placeholder -- specific configuration options that are + // generic across L2VPN address families + uses bgp-common-mp-all-afi-safi-common; + } + + grouping bgp-common-mp-srte-policy-ipv4-group { + description + "Grouping for SR-TE for AFI 1"; + + container srte-policy-ipv4 { + when "../afi-safi-name = 'oc-bgp-types:SRTE_POLICY_IPV4'" { + description + "Only include this container when the address family is + specified to be SR-TE Policy SAFI for the IPv4 unicast + address family."; + } + + description + "Configuration and operational state parameters relating to + the SR-TE Policy SAFI for IPv4 Unicast."; + + uses bgp-common-mp-all-afi-safi-common; + } + } + + grouping bgp-common-mp-srte-policy-ipv6-group { + description + "Grouping for SR-TE for AFI 2"; + + container srte-policy-ipv6 { + when "../afi-safi-name = 'oc-bgp-types:SRTE_POLICY_IPV6'" { + description + "Only include this container when the address family is + specified to be SR-TE Policy SAFI for the IPv6 unicast + address family."; + } + + description + "Configuration and operational state parameters relating to + the SR-TE Policy SAFI for IPv6 Unicast."; + + uses bgp-common-mp-all-afi-safi-common; + } + } + + // Config groupings for common groups + grouping bgp-common-mp-all-afi-safi-common-prefix-limit-config { + description + "Configuration parameters relating to prefix-limits for an + AFI-SAFI"; + + leaf max-prefixes { + type uint32; + description + "Maximum number of prefixes that will be accepted + from the neighbour"; + } + + leaf prevent-teardown { + type boolean; + default false; + description + "Do not tear down the BGP session when the maximum + prefix limit is exceeded, but rather only log a + warning. The default of this leaf is false, such + that when it is not specified, the session is torn + down."; + } + + leaf warning-threshold-pct { + type oc-types:percentage; + description + "Threshold on number of prefixes that can be received + from a neighbour before generation of warning messages + or log entries. Expressed as a percentage of + max-prefixes"; + } + + leaf restart-timer { + type decimal64 { + fraction-digits 2; + } + units "seconds"; + description + "Time interval in seconds after which the BGP session + is re-established after being torn down due to exceeding + the max-prefix limit."; + } + } + + grouping bgp-common-mp-ipv4-ipv6-unicast-common-config { + description + "Common configuration parameters for IPv4 and IPv6 Unicast + address families"; + + leaf send-default-route { + type boolean; + default "false"; + description + "If set to true, send the default-route to the neighbour(s)"; + } + } +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-bgp-common-structure.yang b/vendor/cisco/xr/755/openconfig-bgp-common-structure.yang new file mode 100644 index 000000000..89bf5ab71 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-common-structure.yang @@ -0,0 +1,222 @@ +submodule openconfig-bgp-common-structure { + + belongs-to openconfig-bgp { + prefix "oc-bgp"; + } + + import openconfig-extensions { prefix oc-ext; } + + include openconfig-bgp-common-multiprotocol; + include openconfig-bgp-common; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This sub-module contains groupings that are common across multiple BGP + contexts and provide structure around other primitive groupings."; + + oc-ext:openconfig-version "6.0.0"; + + revision "2019-07-10" { + description + "Normalise timestamp units to nanoseconds."; + reference "6.0.0"; + } + + + revision "2019-05-28" { + description + "Clarify prefix counter descriptions, add received-pre-policy + counter."; + reference "5.2.0"; + } + + revision "2019-04-16" { + description + "Add BGP RIB to the top-level BGP container"; + reference "5.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-30" { + description + "Clarification of add-paths send-max leaf"; + reference "4.0.1"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + grouping bgp-common-structure-neighbor-group-logging-options { + description + "Structural grouping used to include error handling configuration and + state for both BGP neighbors and groups"; + + container logging-options { + description + "Logging options for events related to the BGP neighbor or + group"; + container config { + description + "Configuration parameters enabling or modifying logging + for events relating to the BGPgroup"; + uses bgp-common-neighbor-group-logging-options-config; + } + container state { + config false; + description + "State information relating to logging for the BGP neighbor + or group"; + uses bgp-common-neighbor-group-logging-options-config; + } + } + } + + grouping bgp-common-structure-neighbor-group-ebgp-multihop { + description + "Structural grouping used to include eBGP multihop configuration and + state for both BGP neighbors and peer groups"; + + container ebgp-multihop { + description + "eBGP multi-hop parameters for the BGPgroup"; + container config { + description + "Configuration parameters relating to eBGP multihop for the + BGP group"; + uses bgp-common-neighbor-group-multihop-config; + } + container state { + config false; + description + "State information for eBGP multihop, for the BGP neighbor + or group"; + uses bgp-common-neighbor-group-multihop-config; + } + } + } + + grouping bgp-common-structure-neighbor-group-route-reflector { + description + "Structural grouping used to include route reflector configuration and + state for both BGP neighbors and peer groups"; + + container route-reflector { + description + "Route reflector parameters for the BGPgroup"; + container config { + description + "Configuraton parameters relating to route reflection + for the BGPgroup"; + uses bgp-common-neighbor-group-route-reflector-config; + } + container state { + config false; + description + "State information relating to route reflection for the + BGPgroup"; + uses bgp-common-neighbor-group-route-reflector-config; + } + } + } + + grouping bgp-common-structure-neighbor-group-as-path-options { + description + "Structural grouping used to include AS_PATH manipulation configuration + and state for both BGP neighbors and peer groups"; + + container as-path-options { + description + "AS_PATH manipulation parameters for the BGP neighbor or + group"; + container config { + description + "Configuration parameters relating to AS_PATH manipulation + for the BGP peer or group"; + uses bgp-common-neighbor-group-as-path-options-config; + } + container state { + config false; + description + "State information relating to the AS_PATH manipulation + mechanisms for the BGP peer or group"; + uses bgp-common-neighbor-group-as-path-options-config; + } + } + } + + grouping bgp-common-structure-neighbor-group-add-paths { + description + "Structural grouping used to include ADD-PATHs configuration and state + for both BGP neighbors and peer groups"; + + container add-paths { + description + "Parameters relating to the advertisement and receipt of + multiple paths for a single NLRI (add-paths)"; + container config { + description + "Configuration parameters relating to ADD_PATHS"; + uses bgp-common-neighbor-group-add-paths-config; + } + container state { + config false; + description + "State information associated with ADD_PATHS"; + uses bgp-common-neighbor-group-add-paths-config; + } + } + } + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-bgp-common.yang b/vendor/cisco/xr/755/openconfig-bgp-common.yang new file mode 100644 index 000000000..6ce9480f6 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-common.yang @@ -0,0 +1,690 @@ +submodule openconfig-bgp-common { + + belongs-to openconfig-bgp { + prefix "oc-bgp"; + } + + import openconfig-extensions { prefix oc-ext; } + import openconfig-bgp-types { prefix oc-bgp-types; } + import openconfig-routing-policy { prefix oc-rpol; } + import openconfig-types { prefix oc-types; } + import openconfig-inet-types { prefix oc-inet; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This sub-module contains common groupings that are common across + multiple contexts within the BGP module. That is to say that they + may be application to a subset of global, peer-group or neighbor + contexts."; + + oc-ext:openconfig-version "6.0.0"; + + revision "2019-07-10" { + description + "Normalise timestamp units to nanoseconds."; + reference "6.0.0"; + } + + revision "2019-05-28" { + description + "Clarify prefix counter descriptions, add received-pre-policy + counter."; + reference "5.2.0"; + } + + revision "2019-04-16" { + description + "Add BGP RIB to the top-level BGP container"; + reference "5.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-30" { + description + "Clarification of add-paths send-max leaf"; + reference "4.0.1"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + grouping bgp-common-neighbor-group-timers-config { + description + "Config parameters related to timers associated with the BGP + peer"; + + leaf connect-retry { + type decimal64 { + fraction-digits 2; + } + default 30; + description + "Time interval in seconds between attempts to establish a + session with the peer."; + } + + leaf hold-time { + type decimal64 { + fraction-digits 2; + } + default 90; + description + "Time interval in seconds that a BGP session will be + considered active in the absence of keepalive or other + messages from the peer. The hold-time is typically + set to 3x the keepalive-interval."; + reference + "RFC 4271 - A Border Gateway Protocol 4, Sec. 10"; + } + + leaf keepalive-interval { + type decimal64 { + fraction-digits 2; + } + default 30; + description + "Time interval in seconds between transmission of keepalive + messages to the neighbor. Typically set to 1/3 the + hold-time."; + } + + leaf minimum-advertisement-interval { + type decimal64 { + fraction-digits 2; + } + default 30; + description + "Minimum time which must elapse between subsequent UPDATE + messages relating to a common set of NLRI being transmitted + to a peer. This timer is referred to as + MinRouteAdvertisementIntervalTimer by RFC 4721 and serves to + reduce the number of UPDATE messages transmitted when a + particular set of NLRI exhibit instability."; + reference + "RFC 4271 - A Border Gateway Protocol 4, Sec 9.2.1.1"; + } + } + + grouping bgp-common-neighbor-group-config { + description + "Neighbor level configuration items."; + + leaf peer-as { + type oc-inet:as-number; + description + "AS number of the peer."; + } + + leaf local-as { + type oc-inet:as-number; + description + "The local autonomous system number that is to be used + when establishing sessions with the remote peer or peer + group, if this differs from the global BGP router + autonomous system number."; + } + + leaf peer-type { + type oc-bgp-types:peer-type; + description + "Explicitly designate the peer or peer group as internal + (iBGP) or external (eBGP)."; + } + + leaf auth-password { + type oc-types:routing-password; + description + "Configures an MD5 authentication password for use with + neighboring devices."; + } + + leaf remove-private-as { + // could also make this a container with a flag to enable + // remove-private and separate option. here, option implies + // remove-private is enabled. + type oc-bgp-types:remove-private-as-option; + description + "Remove private AS numbers from updates sent to peers - when + this leaf is not specified, the AS_PATH attribute should be + sent to the peer unchanged"; + } + + leaf route-flap-damping { + type boolean; + default false; + description + "Enable route flap damping."; + } + + leaf send-community { + type oc-bgp-types:community-type; + default "NONE"; + description + "Specify which types of community should be sent to the + neighbor or group. The default is to not send the + community attribute"; + } + + leaf description { + type string; + description + "An optional textual description (intended primarily for use + with a peer or group"; + } + } + + grouping bgp-common-neighbor-group-transport-config { + description + "Configuration parameters relating to the transport protocol + used by the BGP session to the peer"; + + leaf tcp-mss { + type uint16; + description + "Sets the max segment size for BGP TCP sessions."; + } + + leaf mtu-discovery { + type boolean; + default false; + description + "Turns path mtu discovery for BGP TCP sessions on (true) + or off (false)"; + } + + leaf passive-mode { + type boolean; + default false; + description + "Wait for peers to issue requests to open a BGP session, + rather than initiating sessions from the local router."; + } + + leaf local-address { + type union { + type oc-inet:ip-address; + type string; + } + //TODO: the string should be converted to a leafref type + //to point to an interface when YANG 1.1 is available with + //leafrefs in union types. + description + "Set the local IP (either IPv4 or IPv6) address to use + for the session when sending BGP update messages. This + may be expressed as either an IP address or reference + to the name of an interface."; + } + } + + grouping bgp-common-neighbor-group-error-handling-config { + description + "Configuration parameters relating to enhanced error handling + behaviours for BGP"; + + leaf treat-as-withdraw { + type boolean; + default "false"; + description + "Specify whether erroneous UPDATE messages for which the + NLRI can be extracted are reated as though the NLRI is + withdrawn - avoiding session reset"; + reference "draft-ietf-idr-error-handling-16"; + } + } + + grouping bgp-common-neighbor-group-logging-options-config { + description + "Configuration parameters specifying the logging behaviour for + BGP sessions to the peer"; + + leaf log-neighbor-state-changes { + type boolean; + default "true"; + description + "Configure logging of peer state changes. Default is + to enable logging of peer state changes."; + } + } + + grouping bgp-common-neighbor-group-multihop-config { + description + "Configuration parameters specifying the multihop behaviour for + BGP sessions to the peer"; + + leaf enabled { + type boolean; + default "false"; + description + "When enabled the referenced group or neighbors are permitted + to be indirectly connected - including cases where the TTL + can be decremented between the BGP peers"; + } + + leaf multihop-ttl { + type uint8; + description + "Time-to-live value to use when packets are sent to the + referenced group or neighbors and ebgp-multihop is enabled"; + } + } + + grouping bgp-common-neighbor-group-route-reflector-config { + description + "Configuration parameters determining whether the behaviour of + the local system when acting as a route-reflector"; + + leaf route-reflector-cluster-id { + type oc-bgp-types:rr-cluster-id-type; + description + "route-reflector cluster id to use when local router is + configured as a route reflector. Commonly set at the group + level, but allows a different cluster + id to be set for each neighbor."; + } + + leaf route-reflector-client { + type boolean; + default "false"; + description + "Configure the neighbor as a route reflector client."; + } + } + + grouping bgp-common-neighbor-group-as-path-options-config { + description + "Configuration parameters allowing manipulation of the AS_PATH + attribute"; + + leaf allow-own-as { + type uint8; + default 0; + description + "Specify the number of occurrences of the local BGP speaker's + AS that can occur within the AS_PATH before it is rejected."; + } + + leaf replace-peer-as { + type boolean; + default "false"; + description + "Replace occurrences of the peer's AS in the AS_PATH + with the local autonomous system number"; + } + + leaf disable-peer-as-filter { + type boolean; + default "false"; + description + "When set to true, the system advertises routes to a peer + even if the peer's AS was in the AS path. The default + behavior (false) suppresses advertisements to peers if + their AS number is in the AS path of the route."; + } + } + + grouping bgp-common-neighbor-group-add-paths-config { + description + "Configuration parameters specfying whether the local system + will send or receive multiple paths using ADD_PATHS"; + + leaf receive { + type boolean; + default false; + description + "Enable capability negotiation to receive multiple path + advertisements for an NLRI from the neighbor or group"; + reference + "RFC 7911 - Advertisement of Multiple Paths in BGP"; + } + + leaf send { + type boolean; + default false; + description + "Enable capability negotiation to send multiple path + advertisements for an NLRI from the neighbor or group"; + reference + "RFC 7911 - Advertisement of Multiple Paths in BGP"; + } + + leaf send-max { + type uint8; + description + "The maximum total number of paths to advertise to neighbors + for a single NLRI. This includes the single best path as + well as additional paths advertised when add-paths is + enabled."; + } + + leaf eligible-prefix-policy { + type leafref { + path "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:name"; + } + description + "A reference to a routing policy which can be used to + restrict the prefixes for which add-paths is enabled"; + } + } + + grouping bgp-common-graceful-restart-config { + description + "Configuration parameters relating to BGP graceful restart."; + + leaf enabled { + type boolean; + description + "Enable or disable the graceful-restart capability."; + } + + leaf restart-time { + type uint16 { + range 0..4096; + } + description + "Estimated time (in seconds) for the local BGP speaker to + restart a session. This value is advertise in the graceful + restart BGP capability. This is a 12-bit value, referred to + as Restart Time in RFC4724. Per RFC4724, the suggested + default value is <= the hold-time value."; + } + + leaf stale-routes-time { + type decimal64 { + fraction-digits 2; + } + description + "An upper-bound on the time thate stale routes will be + retained by a router after a session is restarted. If an + End-of-RIB (EOR) marker is received prior to this timer + expiring stale-routes will be flushed upon its receipt - if + no EOR is received, then when this timer expires stale paths + will be purged. This timer is referred to as the + Selection_Deferral_Timer in RFC4724"; + } + + leaf helper-only { + type boolean; + description + "Enable graceful-restart in helper mode only. When this + leaf is set, the local system does not retain forwarding + its own state during a restart, but supports procedures + for the receiving speaker, as defined in RFC4724."; + } + } + + grouping bgp-common-use-multiple-paths-config { + description + "Generic configuration options relating to use of multiple + paths for a referenced AFI-SAFI, group or neighbor"; + + leaf enabled { + type boolean; + default false; + description + "Whether the use of multiple paths for the same NLRI is + enabled for the neighbor. This value is overridden by + any more specific configuration value."; + } + } + + grouping bgp-common-use-multiple-paths-ebgp-as-options-config { + description + "Configuration parameters specific to eBGP multipath applicable + to all contexts"; + + leaf allow-multiple-as { + type boolean; + default "false"; + description + "Allow multipath to use paths from different neighbouring + ASes. The default is to only consider multiple paths from + the same neighbouring AS."; + } + } + + grouping bgp-common-global-group-use-multiple-paths { + description + "Common grouping used for both global and groups which provides + configuration and state parameters relating to use of multiple + paths"; + + container use-multiple-paths { + description + "Parameters related to the use of multiple paths for the + same NLRI"; + + container config { + description + "Configuration parameters relating to multipath"; + uses bgp-common-use-multiple-paths-config; + } + container state { + config false; + description + "State parameters relating to multipath"; + uses bgp-common-use-multiple-paths-config; + } + + container ebgp { + description + "Multipath parameters for eBGP"; + container config { + description + "Configuration parameters relating to eBGP multipath"; + uses bgp-common-use-multiple-paths-ebgp-config; + } + container state { + config false; + description + "State information relating to eBGP multipath"; + uses bgp-common-use-multiple-paths-ebgp-config; + } + } + + container ibgp { + description + "Multipath parameters for iBGP"; + container config { + description + "Configuration parameters relating to iBGP multipath"; + uses bgp-common-use-multiple-paths-ibgp-config; + } + container state { + config false; + description + "State information relating to iBGP multipath"; + uses bgp-common-use-multiple-paths-ibgp-config; + } + } + } + } + + grouping bgp-common-use-multiple-paths-ebgp-config { + description + "Configuration parameters relating to multipath for eBGP"; + + leaf allow-multiple-as { + type boolean; + default "false"; + description + "Allow multipath to use paths from different neighbouring + ASes. The default is to only consider multiple paths from + the same neighbouring AS."; + } + + leaf maximum-paths { + type uint32; + default 1; + description + "Maximum number of parallel paths to consider when using + BGP multipath. The default is use a single path."; + } + } + + grouping bgp-common-use-multiple-paths-ibgp-config { + description + "Configuration parmaeters relating to multipath for iBGP"; + + leaf maximum-paths { + type uint32; + default 1; + description + "Maximum number of parallel paths to consider when using + iBGP multipath. The default is to use a single path"; + } + } + + grouping bgp-common-route-selection-options-config { + description + "Set of configuration options that govern best + path selection."; + + leaf always-compare-med { + type boolean; + default "false"; + description + "Compare multi-exit discriminator (MED) value from + different ASes when selecting the best route. The + default behavior is to only compare MEDs for paths + received from the same AS."; + } + + leaf ignore-as-path-length { + type boolean; + default "false"; + description + "Ignore the AS path length when selecting the best path. + The default is to use the AS path length and prefer paths + with shorter length."; + } + + leaf external-compare-router-id { + type boolean; + default "true"; + description + "When comparing similar routes received from external + BGP peers, use the router-id as a criterion to select + the active path."; + } + + leaf advertise-inactive-routes { + type boolean; + default "false"; + description + "Advertise inactive routes to external peers. The + default is to only advertise active routes."; + } + + leaf enable-aigp { + type boolean; + default false; + description + "Flag to enable sending / receiving accumulated IGP + attribute in routing updates"; + } + + leaf ignore-next-hop-igp-metric { + type boolean; + default "false"; + description + "Ignore the IGP metric to the next-hop when calculating + BGP best-path. The default is to select the route for + which the metric to the next-hop is lowest"; + } + } + + grouping bgp-common-route-selection-options { + description + "Configuration and state relating to route selection options"; + + container route-selection-options { + description + "Parameters relating to options for route selection"; + container config { + description + "Configuration parameters relating to route selection + options"; + uses bgp-common-route-selection-options-config; + } + container state { + config false; + description + "State information for the route selection options"; + uses bgp-common-route-selection-options-config; + } + } + } + + grouping bgp-common-state { + description + "Grouping containing common counters relating to prefixes and + paths"; + + leaf total-paths { + type uint32; + description + "Total number of BGP paths within the context"; + } + + leaf total-prefixes { + type uint32; + description + "Total number of BGP prefixes received within the context"; + } + } + + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-bgp-errors.yang b/vendor/cisco/xr/755/openconfig-bgp-errors.yang new file mode 100644 index 000000000..86aad056e --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-errors.yang @@ -0,0 +1,427 @@ +submodule openconfig-bgp-errors { + + belongs-to openconfig-bgp-types { + prefix "oc-bgp-types"; + } + + import openconfig-extensions { prefix "oc-ext"; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module defines BGP NOTIFICATION message error codes + and subcodes"; + + oc-ext:openconfig-version "5.0.2"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-30" { + description + "Clarification of add-paths send-max leaf"; + reference "4.0.1"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + identity BGP_ERROR_CODE { + description + "Indicates the error type in a BGP NOTIFICATION message"; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + + identity BGP_ERROR_SUBCODE { + description + "Provides more specific information about the nature of the + error reported in a NOTIFICATION message. Each Error + Code may have one or more Error Subcodes associated with it."; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + + + identity UNSPECIFIC { + base BGP_ERROR_SUBCODE; + description + "The error subcode field is unspecific when the NOTIFICATION + message does not include any specific error subcode (i.e.., + value 0)."; + } + + identity MESSAGE_HEADER_ERROR { + base BGP_ERROR_CODE; + description + "Errors detected while processing the Message Header"; + } + + identity OPEN_MESSAGE_ERROR { + base BGP_ERROR_CODE; + description + "Errors detected while processing the OPEN message"; + } + + identity UPDATE_MESSAGE_ERROR { + base BGP_ERROR_CODE; + description + "Errors detected while processing the UPDATE message"; + } + + identity HOLD_TIMER_EXPIRED { + base BGP_ERROR_CODE; + description + "Indicates that the system did not receive successive + KEEPALIVE, UPDATE, and/or NOTIFICATION messages within the + period specified in the Hold Time field of the OPEN message"; + } + + identity FINITE_STATE_MACHINE_ERROR { + base BGP_ERROR_CODE; + description + "Error detected by the BGP Finite State Machine + (e.g., receipt of an unexpected event)"; + } + + identity CEASE { + base BGP_ERROR_CODE; + description + "Sent by a BGP peer to close its BGP connection in absence of + any fatal errors. If the BGP speaker terminates its + connection with a neihbor because the number of prefixes + received exceeds the configured upper bound, the speaker must + send the neighbor a NOTIFICATION message with the Cease + error code."; + } + + identity ROUTE_REFRESH_MESSAGE_ERROR { + base BGP_ERROR_CODE; + description + "The length, excluding the fixed-size message header, of the + received ROUTE-REFRESH message with Message Subtype 1 and 2 is + not 4. Applicable only when a BGP speaker has received the + 'Enhanced Route Refresh Capability' from a peer"; + reference + "RFC 7313 - Enhanced Route Refresh Capability for BGP-4"; + } + + identity MESSAGE_HEADER_SUBCODE { + base BGP_ERROR_SUBCODE; + description + "Error subcode definitions for Message Header error + notifications"; + } + + identity CONNECTION_NOT_SYNCHRONIZED { + base MESSAGE_HEADER_SUBCODE; + description + "Marker field of the message header is not all ones as + expected"; + } + + identity BAD_MESSAGE_LENGTH { + base MESSAGE_HEADER_SUBCODE; + description + "Indicates the message has an erroneous length with one + or more of the following: + + - the Length field of the message header is less than 19 or + greater than 4096 + + - the Length field of an OPEN message is less than the minimum + length of the OPEN message + + - the Length field of an UPDATE message is less than the + minimum length of the UPDATE message + + - the Length field of a KEEPALIVE message is not equal to 19 + + - the Length field of a NOTIFICATION message is less than the + minimum length of the NOTIFICATION message + + The erroneous Length field must be reported in the + NOTIFICATION data."; + } + + identity BAD_MESSAGE_TYPE { + base MESSAGE_HEADER_SUBCODE; + description + "Type field of the message header is not recognized. The + erroneous type field must be reported in the NOTIFICATION + data"; + } + + identity OPEN_MESSAGE_SUBCODE { + base BGP_ERROR_SUBCODE; + description + "Error subcode definitions for OPEN message error + notifications"; + } + + identity UNSUPPORTED_VERSION_NUMBER { + base OPEN_MESSAGE_SUBCODE; + description + "Version number in the Version field of the received OPEN + message is not supported"; + } + + identity BAD_PEER_AS { + base OPEN_MESSAGE_SUBCODE; + description + "Autonomous System field of the OPEN message is unacceptable"; + } + + identity BAD_BGP_IDENTIFIER { + base OPEN_MESSAGE_SUBCODE; + description + "BGP Identifier field of the OPEN message is syntactically + incorrect"; + } + + identity UNSUPPORTED_OPTIONAL_PARAMETER { + base OPEN_MESSAGE_SUBCODE; + description + "One of the Optional Parameters in the OPEN message is not + recognized"; + } + + identity UNACCEPTABLE_HOLD_TIME { + base OPEN_MESSAGE_SUBCODE; + description + "Hold Time field of the OPEN message is unacceptable"; + } + + identity UNSUPPORTED_CAPABILITY { + base OPEN_MESSAGE_SUBCODE; + description + "Inidicates that the peer does not support capabilities + advertisement -- the peer may send this subcode in response to + an OPEN message that carries the Capabilities Optional + Parameter"; + reference + "RFC 5492 - Capabilities Advertisement with BGP-4"; + } + + identity UPDATE_MESSAGE_SUBCODE { + base BGP_ERROR_SUBCODE; + description + "Error subcode definitions for UPDATE message error + notifications"; + } + + identity MALFORMED_ATTRIBUTE_LIST { + base UPDATE_MESSAGE_SUBCODE; + description + "Inidicates Withdrawn Routes Length or Total Attribute Length + is too large, or + + An attribute appears more than once in the UPDATE message"; + } + + identity UNRECOGNIZED_WELL_KNOWN_ATTRIBUTE { + base UPDATE_MESSAGE_SUBCODE; + description + "One or more of the well-known mandatory attributes are not + recognized"; + } + + identity MISSING_WELL_KNOWN_ATTRIBUTE { + base UPDATE_MESSAGE_SUBCODE; + description + "One or more of the well-known mandatory attributes are not + present"; + } + + identity ATTRIBUTE_FLAGS_ERROR { + base UPDATE_MESSAGE_SUBCODE; + description + "Attribute has Attribute Flags that conflict with the + Attribute Type Code"; + } + + identity ATTRIBUTE_LENGTH_ERROR { + base UPDATE_MESSAGE_SUBCODE; + description + "Attribute has an Attribute Length that conflicts with the + expected length (based on the attribute type code)"; + } + + identity INVALID_ORIGIN_ATTRIBUTE { + base UPDATE_MESSAGE_SUBCODE; + description + "ORIGIN attribute has an undefined value"; + } + + identity INVALID_NEXT_HOP_ATTRIBUTE { + base UPDATE_MESSAGE_SUBCODE; + description + "The NEXT_HOP attribute field is syntactically incorrect"; + } + + identity OPTIONAL_ATTRIBUTE_ERROR { + base UPDATE_MESSAGE_SUBCODE; + description + "An error is detected in the value of a recognized optional + attribute (such an attribute must be discarded)"; + } + + identity INVALID_NETWORK_FIELD { + base UPDATE_MESSAGE_SUBCODE; + description + "The NLRI field in the UPDATE message is syntactically + incorrect"; + } + + identity MALFORMED_AS_PATH { + base UPDATE_MESSAGE_SUBCODE; + description + "The AS_PATH attribute is syntactically incorrect"; + } + + identity FINITE_STATE_MACHINE_SUBCODE { + base BGP_ERROR_SUBCODE; + description + "Error subcode definitions for BGP finite state machine + errors."; + reference + "RFC 6608 - Subcodes for BGP Finite State Machine Error"; + } + + identity RECEIVE_UNEXPECTED_MESSAGE_OPENSENT { + base FINITE_STATE_MACHINE_SUBCODE; + description + "The peer BGP speaker received an unexpected message from + the local system while the peer speaker session was in the + OpenSent state"; + } + + identity RECEIVE_UNEXPECTED_MESSAGE_OPENCONFIRM { + base FINITE_STATE_MACHINE_SUBCODE; + description + "The peer BGP speaker received an unexpected message from + the local system while the peer speaker session was in the + OpenConfirm state"; + } + + identity RECEIVE_UNEXPECTED_MESSAGE_ESTABLISHED { + base FINITE_STATE_MACHINE_SUBCODE; + description + "The peer BGP speaker received an unexpected message from + the local system while the peer speaker session was in the + Established state"; + } + + identity CEASE_SUBCODE { + base BGP_ERROR_SUBCODE; + description + "Error subcode definitions for Cease notification messages"; + reference + "RFC 4486 - Subcodes for BGP Cease Notification Message"; + } + + identity MAX_NUM_PREFIXES_REACHED { + base CEASE_SUBCODE; + description + "The peer BGP speaker terminated its peering with the local + system because the number of address prefixes received + exceeds a locally configured upper bound"; + } + + identity ADMINISTRATIVE_SHUTDOWN { + base CEASE_SUBCODE; + description + "The peer BGP speaker administratively shut down its peering + with the local system"; + } + + identity PEER_DE_CONFIGURED { + base CEASE_SUBCODE; + description + "The peer BGP speaker de-configure the peering with the local + system"; + } + + identity ADMINISTRATIVE_RESET { + base CEASE_SUBCODE; + description + "The peer BGP speaker administratively reset the peering with + the local system"; + } + + identity CONNECTION_REJECTED { + base CEASE_SUBCODE; + description + "The peer BGP speaker disallowed the BGP connection to the + local system after the peer speaker accepted a transport + protocol connection"; + } + + identity OTHER_CONFIG_CHANGE { + base CEASE_SUBCODE; + description + "The peer BGP speaker administratively reset the peering with + the local sytem due to a configuration change that is not + covered by another subcode."; + } + + identity CONN_COLLISION_RESOLUTION { + base CEASE_SUBCODE; + description + "The peer BGP speaker sent a CEASE NOTIFICATION as a result of + the collision resolution procedure described in RFC 4271"; + } + + identity OUT_OF_RESOURCES { + base CEASE_SUBCODE; + description + "The peer BGP speaker ran out of resources (e.g., memory) and + reset the session with the local system"; + } + + identity ROUTE_REFRESH_SUBCODE { + base BGP_ERROR_SUBCODE; + description + "Error subcode definitions for the ROUTE-REFRESH message + error"; + } + + identity INVALID_MESSAGE_LENGTH { + base ROUTE_REFRESH_SUBCODE; + description + "The length, excluding the fixed-size message header, of the + received ROUTE-REFRESH message with Message Subtype 1 and 2 + is not 4"; + } +} diff --git a/vendor/cisco/xr/755/openconfig-bgp-global.yang b/vendor/cisco/xr/755/openconfig-bgp-global.yang new file mode 100644 index 000000000..acaa48d1e --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-global.yang @@ -0,0 +1,414 @@ +submodule openconfig-bgp-global { + + belongs-to openconfig-bgp { + prefix "oc-bgp"; + } + + import openconfig-extensions { prefix oc-ext; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-inet-types { prefix oc-inet; } + + // Include common submodules + include openconfig-bgp-common; + include openconfig-bgp-common-multiprotocol; + include openconfig-bgp-peer-group; + include openconfig-bgp-common-structure; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This sub-module contains groupings that are specific to the + global context of the OpenConfig BGP module"; + + oc-ext:openconfig-version "6.0.0"; + + revision "2019-07-10" { + description + "Normalise timestamp units to nanoseconds."; + reference "6.0.0"; + } + + revision "2019-05-28" { + description + "Clarify prefix counter descriptions, add received-pre-policy + counter."; + reference "5.2.0"; + } + + revision "2019-04-16" { + description + "Add BGP RIB to the top-level BGP container"; + reference "5.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + grouping bgp-global-config { + description + "Global configuration options for the BGP router."; + + leaf as { + type oc-inet:as-number; + mandatory true; + description + "Local autonomous system number of the router. Uses + the 32-bit as-number type from the model in RFC 6991."; + } + + leaf router-id { + type oc-yang:dotted-quad; + description + "Router id of the router - an unsigned 32-bit integer + expressed in dotted quad notation."; + reference + "RFC4271 - A Border Gateway Protocol 4 (BGP-4), + Section 4.2"; + } + } + + grouping bgp-global-state { + description + "Operational state parameters for the BGP neighbor"; + + uses bgp-common-state; + } + + grouping bgp-global-default-route-distance-config { + description + "Configuration options relating to the administrative distance + (or preference) assigned to routes received from different + sources (external, internal, and local)."; + + leaf external-route-distance { + type uint8 { + range "1..255"; + } + description + "Administrative distance for routes learned from external + BGP (eBGP)."; + } + leaf internal-route-distance { + type uint8 { + range "1..255"; + } + description + "Administrative distance for routes learned from internal + BGP (iBGP)."; + } + } + + grouping bgp-global-confederation-config { + description + "Configuration options specifying parameters when the local + router is within an autonomous system which is part of a BGP + confederation."; + + leaf identifier { + type oc-inet:as-number; + description + "Confederation identifier for the autonomous system. + Setting the identifier indicates that the local-AS is part + of a BGP confederation."; + } + + leaf-list member-as { + type oc-inet:as-number; + description + "Remote autonomous systems that are to be treated + as part of the local confederation."; + } + } + + grouping bgp-global-dynamic-neighbors { + description + "Grouping containing configuration relating to dynamic peers."; + + container dynamic-neighbor-prefixes { + description + "A list of IP prefixes from which the system should: + - Accept connections to the BGP daemon + - Dynamically configure a BGP neighbor corresponding to the + source address of the remote system, using the parameters + of the specified peer-group. + For such neighbors, an entry within the neighbor list should + be created, indicating that the peer was dynamically + configured, and referencing the peer-group from which the + configuration was derived."; + + list dynamic-neighbor-prefix { + key "prefix"; + description + "An individual prefix from which dynamic neighbor + connections are allowed."; + + leaf prefix { + type leafref { + path "../config/prefix"; + } + description + "Reference to the IP prefix from which source connections + are allowed for the dynamic neighbor group."; + } + + container config { + description + "Configuration parameters relating to the source prefix + for the dynamic BGP neighbor connections."; + + uses bgp-global-dynamic-neighbor-config; + } + + container state { + config false; + description + "Operational state parameters relating to the source + prefix for the dynamic BGP neighbor connections."; + + uses bgp-global-dynamic-neighbor-config; + } + } + } + } + + grouping bgp-global-dynamic-neighbor-config { + description + "Configuration parameters relating to an individual prefix from + which dynamic neighbors are accepted."; + + leaf prefix { + type oc-inet:ip-prefix; + description + "The IP prefix within which the source address of the remote + BGP speaker must fall to be considered eligible to the + dynamically configured."; } + + leaf peer-group { + type leafref { + // At bgp/global/dynamic-neighbor-prefixes/dynamic-neighbor + // prefix/config/peer-group + path "../../../../../peer-groups/peer-group/config/" + + "peer-group-name"; + } + description + "The peer-group within which the dynamic neighbor will be + configured. The configuration parameters used for the dynamic + neighbor are those specified within the referenced peer + group."; + } + } + + grouping bgp-global-mp-all-afi-safi-list-contents { + description + "A grouping used for contents of the list of AFI-SAFI + entries at the global BGP level."; + + // import and export policy included for the afi/safi + + uses bgp-common-mp-ipv4-unicast-group; + uses bgp-common-mp-ipv6-unicast-group; + uses bgp-common-mp-ipv4-labeled-unicast-group; + uses bgp-common-mp-ipv6-labeled-unicast-group; + uses bgp-common-mp-l3vpn-ipv4-unicast-group; + uses bgp-common-mp-l3vpn-ipv6-unicast-group; + uses bgp-common-mp-l3vpn-ipv4-multicast-group; + uses bgp-common-mp-l3vpn-ipv6-multicast-group; + uses bgp-common-mp-l2vpn-vpls-group; + uses bgp-common-mp-l2vpn-evpn-group; + uses bgp-common-mp-srte-policy-ipv4-group; + uses bgp-common-mp-srte-policy-ipv6-group; + } + + grouping bgp-global-afi-safi-list { + description + "List of address-families associated with the BGP instance"; + + list afi-safi { + key "afi-safi-name"; + + description + "AFI,SAFI configuration available for the + neighbour or group"; + + leaf afi-safi-name { + type leafref { + path "../config/afi-safi-name"; + } + description + "Reference to the AFI-SAFI name used as a key + for the AFI-SAFI list"; + } + + container config { + description + "Configuration parameters for the AFI-SAFI"; + uses bgp-common-mp-afi-safi-config; + } + container state { + config false; + description + "State information relating to the AFI-SAFI"; + uses bgp-common-mp-afi-safi-config; + uses bgp-common-state; + } + + container graceful-restart { + description + "Parameters relating to BGP graceful-restart"; + container config { + description + "Configuration options for BGP graceful-restart"; + uses bgp-common-mp-afi-safi-graceful-restart-config; + } + container state { + config false; + description + "State information for BGP graceful-restart"; + uses bgp-common-mp-afi-safi-graceful-restart-config; + } + } + + uses bgp-common-route-selection-options; + uses bgp-common-global-group-use-multiple-paths; + uses bgp-common-structure-neighbor-group-add-paths; + uses bgp-global-mp-all-afi-safi-list-contents; + } + } + + // Structural groupings + grouping bgp-global-base { + description + "Global configuration parameters for the BGP router"; + + container config { + description + "Configuration parameters relating to the global BGP router"; + uses bgp-global-config; + } + container state { + config false; + description + "State information relating to the global BGP router"; + uses bgp-global-config; + uses bgp-global-state; + } + + container default-route-distance { + description + "Administrative distance (or preference) assigned to + routes received from different sources + (external, internal, and local)."; + + container config { + description + "Configuration parameters relating to the default route + distance"; + uses bgp-global-default-route-distance-config; + } + container state { + config false; + description + "State information relating to the default route distance"; + uses bgp-global-default-route-distance-config; + } + } + + container confederation { + description + "Parameters indicating whether the local system acts as part + of a BGP confederation"; + + container config { + description + "Configuration parameters relating to BGP confederations"; + uses bgp-global-confederation-config; + } + container state { + config false; + description + "State information relating to the BGP confederations"; + uses bgp-global-confederation-config; + } + } + + container graceful-restart { + description + "Parameters relating the graceful restart mechanism for BGP"; + container config { + description + "Configuration parameters relating to graceful-restart"; + uses bgp-common-graceful-restart-config; + } + container state { + config false; + description + "State information associated with graceful-restart"; + uses bgp-common-graceful-restart-config; + } + } + + uses bgp-common-global-group-use-multiple-paths; + uses bgp-common-route-selection-options; + + container afi-safis { + description + "Address family specific configuration"; + uses bgp-global-afi-safi-list; + } + + uses bgp-global-dynamic-neighbors; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-bgp-neighbor.yang b/vendor/cisco/xr/755/openconfig-bgp-neighbor.yang new file mode 100644 index 000000000..d163114c8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-neighbor.yang @@ -0,0 +1,759 @@ +submodule openconfig-bgp-neighbor { + + belongs-to openconfig-bgp { + prefix "oc-bgp"; + } + + import openconfig-extensions { prefix oc-ext; } + import openconfig-routing-policy { prefix oc-rpol; } + import openconfig-types { prefix oc-types; } + import openconfig-bgp-types { prefix oc-bgp-types; } + import openconfig-inet-types { prefix oc-inet; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-bfd { prefix oc-bfd; } + + // Include the common submodule + include openconfig-bgp-common; + include openconfig-bgp-common-multiprotocol; + include openconfig-bgp-peer-group; + include openconfig-bgp-common-structure; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This sub-module contains groupings that are specific to the + neighbor context of the OpenConfig BGP module."; + + oc-ext:openconfig-version "6.1.0"; + + revision "2021-03-17" { + description + "Add bfd support without augmentation."; + reference "6.1.0"; + } + + revision "2019-07-10" { + description + "Normalise timestamp units to nanoseconds."; + reference "6.0.0"; + } + + revision "2019-05-28" { + description + "Clarify prefix counter descriptions, add received-pre-policy + counter."; + reference "5.2.0"; + } + + revision "2019-04-16" { + description + "Add BGP RIB to the top-level BGP container"; + reference "5.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-30" { + description + "Clarification of add-paths send-max leaf"; + reference "4.0.1"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + grouping bgp-neighbor-config { + description + "Configuration parameters relating to a base BGP neighbor that + are not also applicable to any other context + (e.g., peer group)"; + + leaf peer-group { + type leafref { + path "../../../../peer-groups/peer-group/peer-group-name"; + } + description + "The peer-group with which this neighbor is associated"; + } + + leaf neighbor-address { + type oc-inet:ip-address; + description + "Address of the BGP peer, either in IPv4 or IPv6"; + } + + leaf enabled { + type boolean; + default true; + description + "Whether the BGP peer is enabled. In cases where the + enabled leaf is set to false, the local system should not + initiate connections to the neighbor, and should not + respond to TCP connections attempts from the neighbor. If + the state of the BGP session is ESTABLISHED at the time + that this leaf is set to false, the BGP session should be + ceased."; + } + } + + grouping bgp-neighbor-use-multiple-paths { + description + "Multipath configuration and state applicable to a BGP + neighbor"; + + container use-multiple-paths { + description + "Parameters related to the use of multiple-paths for the same + NLRI when they are received only from this neighbor"; + + container config { + description + "Configuration parameters relating to multipath"; + uses bgp-common-use-multiple-paths-config; + } + container state { + config false; + description + "State parameters relating to multipath"; + uses bgp-common-use-multiple-paths-config; + } + + container ebgp { + description + "Multipath configuration for eBGP"; + container config { + description + "Configuration parameters relating to eBGP multipath"; + uses bgp-common-use-multiple-paths-ebgp-as-options-config; + } + container state { + config false; + description + "State information relating to eBGP multipath"; + uses bgp-common-use-multiple-paths-ebgp-as-options-config; + } + } + } + } + + grouping bgp-neighbor-state { + description + "Operational state parameters relating only to a BGP neighbor"; + + leaf session-state { + type enumeration { + enum IDLE { + description + "neighbor is down, and in the Idle state of the + FSM"; + } + enum CONNECT { + description + "neighbor is down, and the session is waiting for + the underlying transport session to be established"; + } + enum ACTIVE { + description + "neighbor is down, and the local system is awaiting + a conncetion from the remote peer"; + } + enum OPENSENT { + description + "neighbor is in the process of being established. + The local system has sent an OPEN message"; + } + enum OPENCONFIRM { + description + "neighbor is in the process of being established. + The local system is awaiting a NOTIFICATION or + KEEPALIVE message"; + } + enum ESTABLISHED { + description + "neighbor is up - the BGP session with the peer is + established"; + } + } + description + "Operational state of the BGP peer"; + } + + leaf last-established { + type oc-types:timeticks64; + description + "This timestamp indicates the time that the + BGP session last transitioned in or out of the Established + state. The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + The BGP session uptime can be computed by clients as the + difference between this value and the current time in UTC + (assuming the session is in the ESTABLISHED state, per the + session-state leaf)."; + } + + leaf established-transitions { + type oc-yang:counter64; + description + "Number of transitions to the Established state for + the neighbor session. This value is analogous to the + bgpPeerFsmEstablishedTransitions object from the standard + BGP-4 MIB"; + reference + "RFC 4273 - Definitions of Managed Objects for BGP-4"; + } + + leaf-list supported-capabilities { + type identityref { + base oc-bgp-types:BGP_CAPABILITY; + } + description + "BGP capabilities negotiated as supported with the peer"; + } + + container messages { + description + "Counters for BGP messages sent and received from the + neighbor"; + container sent { + description + "Counters relating to BGP messages sent to the neighbor"; + uses bgp-neighbor-counters-message-types-state; + } + + container received { + description + "Counters for BGP messages received from the neighbor"; + uses bgp-neighbor-counters-message-types-state; + } + } + + container queues { + description + "Counters related to queued messages associated with the + BGP neighbor"; + uses bgp-neighbor-queue-counters-state; + } + + leaf dynamically-configured { + type boolean; + default false; + description + "When this leaf is set to true, the peer was configured dynamically + due to an inbound connection request from a specified source prefix + within a dynamic-neighbor-prefix."; + } + } + + grouping bgp-neighbor-counters-message-types-state { + description + "Grouping of BGP message types, included for re-use + across counters"; + + leaf UPDATE { + type uint64; + description + "Number of BGP UPDATE messages announcing, withdrawing + or modifying paths exchanged."; + } + + leaf NOTIFICATION { + type uint64; + description + "Number of BGP NOTIFICATION messages indicating an + error condition has occurred exchanged."; + } + + leaf last-notification-time { + type oc-types:timeticks64; + description + "This timestamp indicates the time that a NOTIFICATION + message was sent or received on the peering session + (based on whether this leaf is associated with + sent or received messages). + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + + leaf last-notification-error-code { + type identityref { + base oc-bgp-types:BGP_ERROR_CODE; + } + description + "Indicates the last BGP error sent or received on the peering + session (based on whether this leaf is associated with + sent or received messages)."; + } + + leaf last-notification-error-subcode { + type identityref { + base oc-bgp-types:BGP_ERROR_SUBCODE; + } + description + "Indicates the last BGP error subcode sent or received on + the peering session (based on whether this leaf is associated + with sent or received messages)"; + } + } + + grouping bgp-neighbor-queue-counters-state { + description + "Counters relating to the message queues associated with the + BGP peer"; + + leaf input { + type uint32; + description + "The number of messages received from the peer currently + queued"; + } + + leaf output { + type uint32; + description + "The number of messages queued to be sent to the peer"; + } + } + + grouping bgp-neighbor-transport-state { + description + "Operational state parameters relating to the transport session + used for the BGP session"; + + leaf local-port { + type oc-inet:port-number; + description + "Local TCP port being used for the TCP session supporting + the BGP session"; + } + + leaf remote-address { + type oc-inet:ip-address; + description + "Remote address to which the BGP session has been + established"; + } + + leaf remote-port { + type oc-inet:port-number; + description + "Remote port being used by the peer for the TCP session + supporting the BGP session"; + } + } + + grouping bgp-neighbor-error-handling-state { + description + "Operational state parameters relating to enhanced error + error handling for BGP"; + + leaf erroneous-update-messages { + type uint32; + description + "The number of BGP UPDATE messages for which the + treat-as-withdraw mechanism has been applied based + on erroneous message contents"; + } + } + + grouping bgp-neighbor-timers-state { + description + "Operational state parameters relating to BGP timers associated + with the BGP session"; + + leaf negotiated-hold-time { + type decimal64 { + fraction-digits 2; + } + description + "The negotiated hold-time for the BGP session"; + } + } + + grouping bgp-neighbor-afi-safi-graceful-restart-state { + description + "Operational state variables relating to the graceful-restart + mechanism on a per-AFI-SAFI basis"; + + leaf received { + type boolean; + description + "This leaf indicates whether the neighbor advertised the + ability to support graceful-restart for this AFI-SAFI"; + } + + leaf advertised { + type boolean; + description + "This leaf indicates whether the ability to support + graceful-restart has been advertised to the peer"; + } + } + + grouping bgp-neighbor-graceful-restart-state { + description + "Operational state information relevant to graceful restart + for BGP"; + + leaf peer-restart-time { + type uint16 { + range 0..4096; + } + description + "The period of time (advertised by the peer) that + the peer expects a restart of a BGP session to + take"; + } + + leaf peer-restarting { + type boolean; + description + "This flag indicates whether the remote neighbor is currently + in the process of restarting, and hence received routes are + currently stale"; + } + + leaf local-restarting { + type boolean; + description + "This flag indicates whether the local neighbor is currently + restarting. The flag is unset after all NLRI have been + advertised to the peer, and the End-of-RIB (EOR) marker has + been unset"; + } + + leaf mode { + type enumeration { + enum HELPER_ONLY { + description + "The local router is operating in helper-only mode, and + hence will not retain forwarding state during a local + session restart, but will do so during a restart of the + remote peer"; + } + enum BILATERAL { + description + "The local router is operating in both helper mode, and + hence retains forwarding state during a remote restart, + and also maintains forwarding state during local session + restart"; + } + enum REMOTE_HELPER { + description + "The local system is able to retain routes during restart + but the remote system is only able to act as a helper"; + } + } + description + "Ths leaf indicates the mode of operation of BGP graceful + restart with the peer"; + } + } + + grouping bgp-neighbor-afi-safi-state { + description + "Operational state parameters relating to an individual AFI, + SAFI for a neighbor"; + + leaf active { + type boolean; + description + "This value indicates whether a particular AFI-SAFI has + been succesfully negotiated with the peer. An AFI-SAFI + may be enabled in the current running configuration, but a + session restart may be required in order to negotiate the new + capability."; + } + + container prefixes { + description "Prefix counters for the BGP session"; + leaf received { + type uint32; + description + "The number of prefixes that are received from the + neighbor after applying any policies. This count is the + number of prefixes present in the post-policy Adj-RIB-In + for the neighbor"; + } + + leaf received-pre-policy { + type uint32; + description + "The number of prefixes that are received from the + neighbor before applying any policies. This count is + the number of prefixes present in the pre-policy + Adj-RIB-In for the neighbor"; + } + + leaf sent { + type uint32; + description + "The number of prefixes that are advertised to the + neighbor after applying any policies. This count is + the number of prefixes present in the post-policy + Adj-RIB-Out for the neighbor"; + } + + leaf installed { + type uint32; + description + "The number of prefices received from the neighbor that + are installed in the network instance RIB and actively used + for forwarding. + Routes that are actively used for forwarding are + defined to be those that: + - are selected, after the application of policies, to be + included in the Adj-RIB-In-Post, AND + - are selected by best path selection and hence installed + in the Loc-RIB (either as the only route, or as part of + a multipath set, AND + - are selected, after the application of protocol + preferences (e.g., administrative distance) as the + route to be used by the system's RIB"; + } + } + } + + grouping bgp-neighbor-afi-safi-list { + description + "List of address-families associated with the BGP neighbor"; + + list afi-safi { + key "afi-safi-name"; + + description + "AFI,SAFI configuration available for the + neighbour or group"; + + + leaf afi-safi-name { + type leafref { + path "../config/afi-safi-name"; + } + description + "Reference to the AFI-SAFI name used as a key + for the AFI-SAFI list"; + } + + container config { + description + "Configuration parameters for the AFI-SAFI"; + uses bgp-common-mp-afi-safi-config; + } + container state { + config false; + description + "State information relating to the AFI-SAFI"; + uses bgp-common-mp-afi-safi-config; + uses bgp-neighbor-afi-safi-state; + } + + + container graceful-restart { + description + "Parameters relating to BGP graceful-restart"; + container config { + description + "Configuration options for BGP graceful-restart"; + uses bgp-common-mp-afi-safi-graceful-restart-config; + } + container state { + config false; + description + "State information for BGP graceful-restart"; + uses bgp-common-mp-afi-safi-graceful-restart-config; + uses bgp-neighbor-afi-safi-graceful-restart-state; + } + } + + uses bgp-common-structure-neighbor-group-add-paths; + uses bgp-common-mp-all-afi-safi-list-contents; + uses bgp-neighbor-use-multiple-paths; + } + } + + grouping bgp-neighbor-base { + description + "Parameters related to a BGP neighbor"; + + container config { + description + "Configuration parameters relating to the BGP neighbor or + group"; + uses bgp-neighbor-config; + uses bgp-common-neighbor-group-config; + } + container state { + config false; + description + "State information relating to the BGP neighbor"; + uses bgp-neighbor-config; + uses bgp-common-neighbor-group-config; + uses bgp-neighbor-state; + } + + container timers { + description + "Timers related to a BGP neighbor"; + container config { + description + "Configuration parameters relating to timers used for the + BGP neighbor"; + uses bgp-common-neighbor-group-timers-config; + } + container state { + config false; + description + "State information relating to the timers used for the BGP + neighbor"; + uses bgp-common-neighbor-group-timers-config; + uses bgp-neighbor-timers-state; + } + } + + container transport { + description + "Transport session parameters for the BGP neighbor"; + container config { + description + "Configuration parameters relating to the transport + session(s) used for the BGP neighbor"; + uses bgp-common-neighbor-group-transport-config; + } + container state { + config false; + description + "State information relating to the transport session(s) + used for the BGP neighbor"; + uses bgp-common-neighbor-group-transport-config; + uses bgp-neighbor-transport-state; + } + } + + container error-handling { + description + "Error handling parameters used for the BGP neighbor or + group"; + container config { + description + "Configuration parameters enabling or modifying the + behavior or enhanced error handling mechanisms for the BGP + neighbor"; + uses bgp-common-neighbor-group-error-handling-config; + } + container state { + config false; + description + "State information relating to enhanced error handling + mechanisms for the BGP neighbor"; + uses bgp-common-neighbor-group-error-handling-config; + uses bgp-neighbor-error-handling-state; + } + } + + container graceful-restart { + description + "Parameters relating the graceful restart mechanism for BGP"; + container config { + description + "Configuration parameters relating to graceful-restart"; + uses bgp-common-graceful-restart-config; + } + container state { + config false; + description + "State information associated with graceful-restart"; + uses bgp-common-graceful-restart-config; + uses bgp-neighbor-graceful-restart-state; + } + } + + uses bgp-common-structure-neighbor-group-logging-options; + uses bgp-common-structure-neighbor-group-ebgp-multihop; + uses bgp-common-structure-neighbor-group-route-reflector; + uses bgp-common-structure-neighbor-group-as-path-options; + uses bgp-neighbor-use-multiple-paths; + uses oc-rpol:apply-policy-group; + + container afi-safis { + description + "Per-address-family configuration parameters associated with + the neighbor"; + uses bgp-neighbor-afi-safi-list; + } + } + + grouping bgp-neighbor-list { + description + "The list of BGP neighbors"; + + list neighbor { + key "neighbor-address"; + description + "List of BGP neighbors configured on the local system, + uniquely identified by peer IPv[46] address"; + + leaf neighbor-address { + type leafref { + path "../config/neighbor-address"; + } + description + "Reference to the address of the BGP neighbor used as + a key in the neighbor list"; + } + + uses bgp-neighbor-base; + uses oc-bfd:bfd-enable; + } + + } +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-bgp-peer-group.yang b/vendor/cisco/xr/755/openconfig-bgp-peer-group.yang new file mode 100644 index 000000000..e8633659c --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-peer-group.yang @@ -0,0 +1,299 @@ +submodule openconfig-bgp-peer-group { + + belongs-to openconfig-bgp { + prefix "oc-bgp"; + } + + import openconfig-extensions { prefix oc-ext; } + import openconfig-routing-policy { prefix oc-rpol; } + import openconfig-bfd { prefix oc-bfd; } + + // Include the common submodule + include openconfig-bgp-common; + include openconfig-bgp-common-multiprotocol; + include openconfig-bgp-common-structure; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This sub-module contains groupings that are specific to the + peer-group context of the OpenConfig BGP module."; + + oc-ext:openconfig-version "6.1.0"; + + + revision "2021-03-17" { + description + "Add bfd support without augmentation."; + reference "6.1.0"; + } + + revision "2019-07-10" { + description + "Normalise timestamp units to nanoseconds."; + reference "6.0.0"; + } + + revision "2019-05-28" { + description + "Clarify prefix counter descriptions, add received-pre-policy + counter."; + reference "5.2.0"; + } + + revision "2019-04-16" { + description + "Add BGP RIB to the top-level BGP container"; + reference "5.1.0"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + grouping bgp-peer-group-config { + description + "Configuration parameters relating to a base BGP peer group that + are not also applicable to any other context (e.g., neighbor)"; + + leaf peer-group-name { + type string; + description + "Name of the BGP peer-group"; + } + + } + + grouping bgp-peer-group-afi-safi-list { + description + "List of address-families associated with the BGP peer-group"; + + list afi-safi { + key "afi-safi-name"; + + description + "AFI,SAFI configuration available for the + neighbour or group"; + + leaf afi-safi-name { + type leafref { + path "../config/afi-safi-name"; + } + description + "Reference to the AFI-SAFI name used as a key + for the AFI-SAFI list"; + } + + container config { + description + "Configuration parameters for the AFI-SAFI"; + uses bgp-common-mp-afi-safi-config; + } + container state { + config false; + description + "State information relating to the AFI-SAFI"; + uses bgp-common-mp-afi-safi-config; + } + + container graceful-restart { + description + "Parameters relating to BGP graceful-restart"; + container config { + description + "Configuration options for BGP graceful-restart"; + uses bgp-common-mp-afi-safi-graceful-restart-config; + } + container state { + config false; + description + "State information for BGP graceful-restart"; + uses bgp-common-mp-afi-safi-graceful-restart-config; + } + } + + uses bgp-common-structure-neighbor-group-add-paths; + uses bgp-common-global-group-use-multiple-paths; + uses bgp-common-mp-all-afi-safi-list-contents; + } + } + + grouping bgp-peer-group-base { + description + "Parameters related to a BGP group"; + + container config { + description + "Configuration parameters relating to the BGP neighbor or + group"; + uses bgp-peer-group-config; + uses bgp-common-neighbor-group-config; + } + container state { + config false; + description + "State information relating to the BGP peer-group"; + uses bgp-peer-group-config; + uses bgp-common-neighbor-group-config; + uses bgp-common-state; + } + + container timers { + description + "Timers related to a BGP peer-group"; + + container config { + description + "Configuration parameters relating to timers used for the + BGP neighbor or peer group"; + uses bgp-common-neighbor-group-timers-config; + } + container state { + config false; + description + "State information relating to the timers used for the BGP + group"; + uses bgp-common-neighbor-group-timers-config; + } + } + + container transport { + description + "Transport session parameters for the BGP peer-group"; + + container config { + description + "Configuration parameters relating to the transport + session(s) used for the BGP neighbor or group"; + uses bgp-common-neighbor-group-transport-config; + } + container state { + config false; + description + "State information relating to the transport session(s) + used for the BGP neighbor or group"; + uses bgp-common-neighbor-group-transport-config; + } + } + + container error-handling { + description + "Error handling parameters used for the BGP peer-group"; + + container config { + description + "Configuration parameters enabling or modifying the + behavior or enhanced error handling mechanisms for the BGP + group"; + uses bgp-common-neighbor-group-error-handling-config; + } + container state { + config false; + description + "State information relating to enhanced error handling + mechanisms for the BGP group"; + uses bgp-common-neighbor-group-error-handling-config; + } + } + + container graceful-restart { + description + "Parameters relating the graceful restart mechanism for BGP"; + container config { + description + "Configuration parameters relating to graceful-restart"; + uses bgp-common-graceful-restart-config; + } + container state { + config false; + description + "State information associated with graceful-restart"; + uses bgp-common-graceful-restart-config; + } + } + + uses bgp-common-structure-neighbor-group-logging-options; + uses bgp-common-structure-neighbor-group-ebgp-multihop; + uses bgp-common-structure-neighbor-group-route-reflector; + uses bgp-common-structure-neighbor-group-as-path-options; + uses bgp-common-global-group-use-multiple-paths; + uses oc-rpol:apply-policy-group; + + container afi-safis { + description + "Per-address-family configuration parameters associated with + thegroup"; + uses bgp-peer-group-afi-safi-list; + } + } + + grouping bgp-peer-group-list { + description + "The list of BGP peer groups"; + + list peer-group { + key "peer-group-name"; + description + "List of BGP peer-groups configured on the local system - + uniquely identified by peer-group name"; + + leaf peer-group-name { + type leafref { + path "../config/peer-group-name"; + } + description + "Reference to the name of the BGP peer-group used as a + key in the peer-group list"; + } + + uses bgp-peer-group-base; + uses oc-bfd:bfd-enable; + } + } + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-bgp-policy.yang b/vendor/cisco/xr/755/openconfig-bgp-policy.yang new file mode 100644 index 000000000..d2128c738 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-policy.yang @@ -0,0 +1,1178 @@ +module openconfig-bgp-policy { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/bgp-policy"; + + prefix "oc-bgp-pol"; + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-routing-policy {prefix oc-rpol; } + import openconfig-policy-types { prefix oc-pol-types; } + import openconfig-bgp-types { prefix oc-bgp-types; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module contains data definitions for BGP routing policy. + It augments the base routing-policy module with BGP-specific + options for conditions and actions."; + + oc-ext:openconfig-version "6.1.0"; + + revision "2022-05-24" { + description + "Remove module extension oc-ext:regexp-posix by making pattern regexes + conform to RFC6020/RFC7950. + Types impacted: + - bgp-set-med-type"; + reference "6.1.0"; + } + + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions."; + reference "6.0.2"; + } + + revision "2019-11-28" { + description + "Fix quotes on literals in when statements"; + reference "6.0.1"; + } + + revision "2019-02-01" { + description + "Move BGP community match-set-options from + policy-definitions/statements/.../bgp-conditions to + defined-sets/bgp-defined-sets/community-set for wider platform + support."; + reference "6.0.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef bgp-set-community-option-type { + type enumeration { + enum ADD { + description + "add the specified communities to the existing + community attribute"; + } + enum REMOVE { + description + "remove the specified communities from the + existing community attribute"; + } + enum REPLACE { + description + "replace the existing community attribute with + the specified communities. If an empty set is + specified, this removes the community attribute + from the route."; + } + } + description + "Type definition for options when setting the community + attribute in a policy action"; + } + + typedef bgp-next-hop-type { + type union { + type oc-inet:ip-address; + type enumeration { + enum SELF { + description "special designation for local router's own + address, i.e., next-hop-self"; + } + } + } + description + "type definition for specifying next-hop in policy actions"; + } + + typedef bgp-set-med-type { + type union { + type uint32; + type string { + pattern '[+-][0-9]+'; + oc-ext:posix-pattern '^[+-][0-9]+$'; + } + type enumeration { + enum IGP { + description "set the MED value to the IGP cost toward the + next hop for the route"; + } + } + } + description + "Type definition for specifying how the BGP MED can + be set in BGP policy actions. The three choices are to set + the MED directly, increment/decrement using +/- notation, + and setting it to the IGP cost (predefined value)."; + } + + // grouping statements + + grouping match-as-path-config { + description + "Configuration data for match conditions on AS path set"; + + leaf as-path-set { + type leafref { + path "/oc-rpol:routing-policy/oc-rpol:defined-sets/" + + "oc-bgp-pol:bgp-defined-sets/oc-bgp-pol:as-path-sets/" + + "oc-bgp-pol:as-path-set/oc-bgp-pol:as-path-set-name"; + } + description "References a defined AS path set"; + } + uses oc-rpol:match-set-options-group; + } + + grouping match-as-path-state { + description + "Operational state data for match conditions on AS path set"; + } + + grouping match-as-path-top { + description + "Top-level grouping for match conditions on AS path set"; + + container match-as-path-set { + description + "Match a referenced as-path set according to the logic + defined in the match-set-options leaf"; + + container config { + description + "Configuration data for match conditions on AS path set"; + + uses match-as-path-config; + } + + container state { + + config false; + + description + "Operational state data for match conditions on AS + path set"; + + uses match-as-path-config; + uses match-as-path-state; + } + } + } + + grouping bgp-match-set-conditions { + description + "Condition statement definitions for checking membership in a + defined set"; + + uses match-as-path-top; + } + + grouping community-count-config { + description + "Configuration data for community count condition"; + + uses oc-pol-types:attribute-compare-operators; + } + + grouping community-count-state { + description + "Operational state data for community count condition"; + } + + grouping community-count-top { + description + "Top-level grouping for community count condition"; + + container community-count { + description + "Value and comparison operations for conditions based on the + number of communities in the route update"; + + container config { + description + "Configuration data for community count condition"; + + uses community-count-config; + } + + container state { + + config false; + + description + "Operational state data for community count condition"; + + uses community-count-config; + uses community-count-state; + } + } + } + + grouping as-path-length-config { + description + "Configuration data for AS path length condition"; + + uses oc-pol-types:attribute-compare-operators; + } + + grouping as-path-length-state { + description + "Operational state data for AS path length condition"; + } + + grouping as-path-length-top { + description + "Top-level grouping for AS path length condition"; + + container as-path-length { + description + "Value and comparison operations for conditions based on the + length of the AS path in the route update"; + + container config { + description + "Configuration data for AS path length condition"; + + uses as-path-length-config; + } + + container state { + + config false; + + description + "Operational state data for AS path length condition"; + + uses as-path-length-config; + uses as-path-length-state; + } + } + } + + grouping bgp-conditions-config { + description + "Configuration data for BGP-specific policy conditions"; + + leaf med-eq { + type uint32; + description + "Condition to check if the received MED value is equal to + the specified value"; + } + + leaf origin-eq { + type oc-bgp-types:bgp-origin-attr-type; + description + "Condition to check if the route origin is equal to the + specified value"; + } + + leaf-list next-hop-in { + type oc-inet:ip-address; + description + "List of next hop addresses to check for in the route + update"; + } + + leaf-list afi-safi-in { + type identityref { + base oc-bgp-types:AFI_SAFI_TYPE; + } + description + "List of address families which the NLRI may be + within"; + } + + leaf local-pref-eq { + type uint32; + // TODO: add support for other comparisons if needed + description + "Condition to check if the local pref attribute is equal to + the specified value"; + } + + leaf route-type { + // TODO: verify extent of vendor support for this comparison + type enumeration { + enum INTERNAL { + description "route type is internal"; + } + enum EXTERNAL { + description "route type is external"; + } + } + description + "Condition to check the route type in the route update"; + } + + leaf community-set { + type leafref { + path "/oc-rpol:routing-policy/oc-rpol:defined-sets/" + + "oc-bgp-pol:bgp-defined-sets/oc-bgp-pol:community-sets/" + + "oc-bgp-pol:community-set/oc-bgp-pol:community-set-name"; + } + description + "References a defined community set"; + } + + leaf ext-community-set { + type leafref { + path "/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:ext-community-set-name"; + } + description "References a defined extended community set"; + } + } + + grouping bgp-conditions-state { + description + "Operational state data for BGP-specific policy conditions"; + } + + grouping bgp-conditions-top { + description + "Top-level grouping for BGP-specific policy conditions"; + + container bgp-conditions { + description + "Top-level container "; + + container config { + description + "Configuration data for BGP-specific policy conditions"; + + uses bgp-conditions-config; + } + + container state { + + config false; + + description + "Operational state data for BGP-specific policy + conditions"; + + uses bgp-conditions-config; + uses bgp-conditions-state; + } + + uses community-count-top; + uses as-path-length-top; + uses bgp-match-set-conditions; + } + } + + grouping community-set-config { + description + "Configuration data for BGP community sets"; + + leaf community-set-name { + type string; + mandatory true; + description + "name / label of the community set -- this is used to + reference the set in match conditions"; + } + + leaf-list community-member { + type union { + type oc-bgp-types:bgp-std-community-type; + type oc-bgp-types:bgp-community-regexp-type; + type oc-bgp-types:bgp-well-known-community-type; + } + description + "members of the community set. + For an ADD operation these are the communities that will be added; + the regexp type is not valid in this operation. + For REMOVE or REPLACE operations then matching communities will + be removed unless match-set-options is INVERT which will + reverse this to mean that anything that does not match will be + removed."; + } + + uses oc-rpol:match-set-options-group; + } + + grouping community-set-state { + description + "Operational state data for BGP community sets"; + } + + grouping community-set-top { + description + "Top-level grouping for BGP community sets"; + + container community-sets { + description + "Enclosing container for list of defined BGP community sets"; + + list community-set { + key "community-set-name"; + description + "List of defined BGP community sets"; + + leaf community-set-name { + type leafref { + path "../config/community-set-name"; + } + description + "Reference to list key"; + } + + container config { + description + "Configuration data for BGP community sets"; + + uses community-set-config; + } + + container state { + + config false; + + description + "Operational state data for BGP community sets"; + + uses community-set-config; + uses community-set-state; + } + } + } + } + + grouping ext-community-set-config { + description + "Configuration data for extended BGP community sets"; + + leaf ext-community-set-name { + type string; + description + "name / label of the extended community set -- this is + used to reference the set in match conditions"; + } + + leaf-list ext-community-member { + type union { + type oc-bgp-types:bgp-ext-community-type; + type oc-bgp-types:bgp-community-regexp-type; + } + description + "members of the extended community set + For an ADD operation these are the communities that will be added; + the regexp type is not valid in this operation. + For REMOVE or REPLACE operations then matching communities will + be removed unless match-set-options is INVERT which will + reverse this to mean that anything that does not match will be + removed."; + } + + uses oc-rpol:match-set-options-group; + } + + grouping ext-community-set-state { + description + "Operational state data for extended BGP community sets"; + } + + grouping ext-community-set-top { + description + "Top-level grouping for extended BGP community sets"; + + container ext-community-sets { + description + "Enclosing container for list of extended BGP community + sets"; + + list ext-community-set { + key "ext-community-set-name"; + description + "List of defined extended BGP community sets"; + + leaf ext-community-set-name { + type leafref { + path "../config/ext-community-set-name"; + } + description + "Reference to list key"; + } + + container config { + description + "Configuration data for extended BGP community sets"; + + uses ext-community-set-config; + } + + container state { + + config false; + + description + "Operational state data for extended BGP community sets"; + + uses ext-community-set-config; + uses ext-community-set-state; + } + } + } + } + + grouping as-path-set-config { + description + "Configuration data for AS path sets"; + + leaf as-path-set-name { + type string; + description + "name of the AS path set -- this is used to reference + the set in match conditions"; + } + + leaf-list as-path-set-member { + // TODO: need to refine typedef for AS path expressions + type string; + description + "AS path expression -- list of ASes in the set"; + } + } + + grouping as-path-set-state { + description + "Operational state data for AS path sets"; + } + + grouping as-path-set-top { + description + "Top-level grouping for AS path sets"; + + container as-path-sets { + description + "Enclosing container for list of define AS path sets"; + + list as-path-set { + key "as-path-set-name"; + description + "List of defined AS path sets"; + + leaf as-path-set-name { + type leafref { + path "../config/as-path-set-name"; + } + description + "Reference to list key"; + } + + container config { + description + "Configuration data for AS path sets"; + + uses as-path-set-config; + } + + container state { + + config false; + + description + "Operational state data for AS path sets"; + + uses as-path-set-config; + uses as-path-set-state; + } + } + } + } + + // augment statements + + augment "/oc-rpol:routing-policy/oc-rpol:defined-sets" { + description "adds BGP defined sets container to routing policy + model"; + + container bgp-defined-sets { + description + "BGP-related set definitions for policy match conditions"; + + uses community-set-top; + uses ext-community-set-top; + uses as-path-set-top; + } + } + + grouping as-path-prepend-config { + description + "Configuration data for the AS path prepend action"; + + leaf repeat-n { + type uint8 { + range 1..max; + } + description + "Number of times to prepend the value specified in the asn + leaf to the AS path. If no value is specified by the asn + leaf, the local AS number of the system is used. The value + should be between 1 and the maximum supported by the + implementation."; + } + + leaf asn { + type oc-inet:as-number; + description + "The AS number to prepend to the AS path. If this leaf is + not specified and repeat-n is set, then the local AS + number will be used for prepending."; + } + } + + grouping as-path-prepend-state { + description + "Operational state data for the AS path prepend action"; + } + + grouping as-path-prepend-top { + description + "Top-level grouping for the AS path prepend action"; + + container set-as-path-prepend { + description + "Action to prepend the specified AS number to the AS-path a + specified number of times"; + + container config { + description + "Configuration data for the AS path prepend action"; + + uses as-path-prepend-config; + } + + container state { + + config false; + + description + "Operational state data for the AS path prepend action"; + + uses as-path-prepend-config; + uses as-path-prepend-state; + } + } + } + + grouping set-community-action-common { + description + "Common leaves for set-community and set-ext-community + actions"; + + leaf method { + type enumeration { + enum INLINE { + description + "The extended communities are specified inline as a + list"; + } + enum REFERENCE { + description + "The extended communities are specified by referencing a + defined ext-community set"; + } + } + description + "Indicates the method used to specify the extended + communities for the set-ext-community action"; + } + + leaf options { + type bgp-set-community-option-type; + description + "Options for modifying the community attribute with + the specified values. These options apply to both + methods of setting the community attribute."; + } + } + + grouping set-community-inline-config { + description + "Configuration data for inline specification of set-community + action"; + + leaf-list communities { + type union { + type oc-bgp-types:bgp-std-community-type; + type oc-bgp-types:bgp-well-known-community-type; + } + description + "Set the community values for the update inline with + a list."; + } + } + + grouping set-community-inline-state { + description + "Operational state data or inline specification of + set-community action"; + } + + grouping set-community-inline-top { + description + "Top-level grouping or inline specification of set-community + action"; + + container inline { + when "../config/method='INLINE'" { + description + "Active only when the set-community method is INLINE"; + } + description + "Set the community values for the action inline with + a list."; + + container config { + description + "Configuration data or inline specification of set-community + action"; + + uses set-community-inline-config; + } + + container state { + + config false; + + description + "Operational state data or inline specification of + set-community action"; + + uses set-community-inline-config; + uses set-community-inline-state; + } + } + } + + grouping set-community-reference-config { + description + "Configuration data for referening a community-set in the + set-community action"; + + leaf community-set-ref { + type leafref { + path "/oc-rpol:routing-policy/oc-rpol:defined-sets/" + + "oc-bgp-pol:bgp-defined-sets/" + + "oc-bgp-pol:community-sets/oc-bgp-pol:community-set/" + + "oc-bgp-pol:community-set-name"; + } + description + "References a defined community set by name"; + } + } + + grouping set-community-reference-state { + description + "Operational state data for referening a community-set in the + set-community action"; + } + + grouping set-community-reference-top { + description + "Top-level grouping for referening a community-set in the + set-community action"; + + container reference { + when "../config/method='REFERENCE'" { + description + "Active only when the set-community method is REFERENCE"; + } + description + "Provide a reference to a defined community set for the + set-community action"; + + container config { + description + "Configuration data for referening a community-set in the + set-community action"; + + uses set-community-reference-config; + } + + container state { + + config false; + + description + "Operational state data for referening a community-set + in the set-community action"; + + uses set-community-reference-config; + uses set-community-reference-state; + } + } + } + + grouping set-community-action-config { + description + "Configuration data for the set-community action"; + + uses set-community-action-common; + } + + grouping set-community-action-state { + description + "Operational state data for the set-community action"; + } + + grouping set-community-action-top { + description + "Top-level grouping for the set-community action"; + + container set-community { + description + "Action to set the community attributes of the route, along + with options to modify how the community is modified. + Communities may be set using an inline list OR + reference to an existing defined set (not both)."; + + container config { + description + "Configuration data for the set-community action"; + + uses set-community-action-config; + } + + container state { + + config false; + + description + "Operational state data for the set-community action"; + + uses set-community-action-config; + uses set-community-action-state; + } + + uses set-community-inline-top; + uses set-community-reference-top; + } + } + + grouping set-ext-community-inline-config { + description + "Configuration data for inline specification of + set-ext-community action"; + + leaf-list communities { + type union { + type oc-bgp-types:bgp-ext-community-type; + type oc-bgp-types:bgp-well-known-community-type; + } + description + "Set the extended community values for the update inline + with a list."; + } + } + + grouping set-ext-community-inline-state { + description + "Operational state data or inline specification of + set-ext-community action"; + } + + grouping set-ext-community-inline-top { + description + "Top-level grouping or inline specification of set-ext-community + action"; + + container inline { + when "../config/method='INLINE'" { + description + "Active only when the set-community method is INLINE"; + } + description + "Set the extended community values for the action inline with + a list."; + + container config { + description + "Configuration data or inline specification of + set-ext-community action"; + + uses set-ext-community-inline-config; + } + + container state { + + config false; + + description + "Operational state data or inline specification of + set-ext-community action"; + + uses set-ext-community-inline-config; + uses set-ext-community-inline-state; + } + } + } + + grouping set-ext-community-reference-config { + description + "Configuration data for referening a extended community-set + in the set-ext-community action"; + + leaf ext-community-set-ref { + type leafref { + path "/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:ext-community-set-name"; + } + description + "References a defined extended community set by + name"; + } + } + + grouping set-ext-community-reference-state { + description + "Operational state data for referening an extended + community-set in the set-ext-community action"; + } + + grouping set-ext-community-reference-top { + description + "Top-level grouping for referening an extended community-set + in the set-community action"; + + container reference { + when "../config/method='REFERENCE'" { + description + "Active only when the set-community method is REFERENCE"; + } + description + "Provide a reference to an extended community set for the + set-ext-community action"; + + container config { + description + "Configuration data for referening an extended + community-set in the set-ext-community action"; + + uses set-ext-community-reference-config; + } + + container state { + + config false; + + description + "Operational state data for referening an extended + community-set in the set-ext-community action"; + + uses set-ext-community-reference-config; + uses set-ext-community-reference-state; + } + } + } + + grouping set-ext-community-action-config { + description + "Configuration data for the set-ext-community action"; + + uses set-community-action-common; + } + + grouping set-ext-community-action-state { + description + "Operational state data for the set-ext-community action"; + } + + grouping set-ext-community-action-top { + description + "Top-level grouping for the set-ext-community action"; + + container set-ext-community { + description + "Action to set the extended community attributes of the + route, along with options to modify how the community is + modified. Extended communities may be set using an inline + list OR a reference to an existing defined set (but not + both)."; + + container config { + description + "Configuration data for the set-ext-community action"; + + uses set-ext-community-action-config; + } + + container state { + + config false; + + description + "Operational state data for the set-ext-community action"; + + uses set-ext-community-action-config; + uses set-ext-community-action-state; + } + uses set-ext-community-inline-top; + uses set-ext-community-reference-top; + } + } + + grouping bgp-actions-config { + description + "Configuration data for BGP-specific actions"; + + leaf set-route-origin { + type oc-bgp-types:bgp-origin-attr-type; + description "set the origin attribute to the specified + value"; + } + + leaf set-local-pref { + type uint32; + description "set the local pref attribute on the route + update"; + } + + leaf set-next-hop { + type bgp-next-hop-type; + description "set the next-hop attribute in the route update"; + } + + leaf set-med { + type bgp-set-med-type; + description "set the med metric attribute in the route + update"; + } + } + + grouping bgp-actions-state { + description + "Operational state data for BGP-specific actions"; + } + + grouping bgp-actions-top { + description + "Top-level grouping for BGP-specific actions"; + + container bgp-actions { + description + "Top-level container for BGP-specific actions"; + + container config { + description + "Configuration data for BGP-specific actions"; + + uses bgp-actions-config; + } + + container state { + + config false; + + description + "Operational state data for BGP-specific actions"; + + uses bgp-actions-config; + uses bgp-actions-state; + } + uses as-path-prepend-top; + uses set-community-action-top; + uses set-ext-community-action-top; + } + } + + augment "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/" + + "oc-rpol:conditions" { + description + "BGP policy conditions added to routing policy module"; + + uses bgp-conditions-top; + } + + augment "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/" + + "oc-rpol:actions" { + description "BGP policy actions added to routing policy + module"; + + uses bgp-actions-top; + } + + // rpc statements + + // notification statements +} diff --git a/vendor/cisco/xr/755/openconfig-bgp-types.yang b/vendor/cisco/xr/755/openconfig-bgp-types.yang new file mode 100644 index 000000000..8b1d2b4ee --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp-types.yang @@ -0,0 +1,754 @@ +module openconfig-bgp-types { + yang-version "1"; + + namespace "http://openconfig.net/yang/bgp-types"; + + prefix "oc-bgp-types"; + + import openconfig-types { prefix "oc-types"; } + import openconfig-inet-types { prefix "oc-inet"; } + import openconfig-extensions { prefix "oc-ext"; } + + // Include definitions of BGP error notifications + include openconfig-bgp-errors; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module contains general data definitions for use in BGP + policy. It can be imported by modules that make use of BGP + attributes"; + + oc-ext:openconfig-version "5.3.0"; + + revision "2021-01-07" { + description + "Remove module extension oc-ext:regexp-posix by making pattern regexes + conform to RFC7950. + + Types impacted: + - bgp-std-community-type + - bgp-ext-community-type"; + reference "5.3.0"; + } + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions."; + reference "5.2.1"; + } + + revision "2020-06-17" { + description + "Add RFC5549 capability identity."; + reference "5.2.0"; + } + + revision "2020-03-24" { + description + "Add FlowSpec, BGP-LS and LSVR AFI-SAFI identities."; + reference "5.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2018-03-20" { + description + "Added color extended community"; + reference "4.0.2"; + } + + revision "2017-07-30" { + description + "Clarification of add-paths send-max leaf"; + reference "4.0.1"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + identity BGP_CAPABILITY { + description "Base identity for a BGP capability"; + } + + identity MPBGP { + base BGP_CAPABILITY; + description + "Multi-protocol extensions to BGP"; + reference "RFC2858"; + } + + identity ROUTE_REFRESH { + base BGP_CAPABILITY; + description + "The BGP route-refresh functionality"; + reference "RFC2918"; + } + + identity ASN32 { + base BGP_CAPABILITY; + description + "4-byte (32-bit) AS number functionality"; + reference "RFC6793"; + } + + identity GRACEFUL_RESTART { + base BGP_CAPABILITY; + description + "Graceful restart functionality"; + reference "RFC4724"; + } + + identity ADD_PATHS { + base BGP_CAPABILITY; + description + "BGP add-paths"; + reference "draft-ietf-idr-add-paths"; + } + + identity EXTENDED_NEXTHOP_ENCODING { + base BGP_CAPABILITY; + description + "BGP Extended Next Hop Encoding functionality"; + reference "RFC5549"; + } + + identity AFI_SAFI_TYPE { + description + "Base identity type for AFI,SAFI tuples for BGP-4"; + reference "RFC4760 - multiprotocol extensions for BGP-4"; + } + + identity IPV4_UNICAST { + base AFI_SAFI_TYPE; + description + "IPv4 unicast (AFI,SAFI = 1,1)"; + reference "RFC4760"; + } + + identity IPV6_UNICAST { + base AFI_SAFI_TYPE; + description + "IPv6 unicast (AFI,SAFI = 2,1)"; + reference "RFC4760"; + } + + identity IPV4_LABELED_UNICAST { + base AFI_SAFI_TYPE; + description + "Labeled IPv4 unicast (AFI,SAFI = 1,4)"; + reference "RFC3107"; + } + + identity IPV6_LABELED_UNICAST { + base AFI_SAFI_TYPE; + description + "Labeled IPv6 unicast (AFI,SAFI = 2,4)"; + reference "RFC3107"; + } + + identity L3VPN_IPV4_UNICAST { + base AFI_SAFI_TYPE; + description + "Unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128)"; + reference "RFC4364"; + } + + identity L3VPN_IPV6_UNICAST { + base AFI_SAFI_TYPE; + description + "Unicast IPv6 MPLS L3VPN (AFI,SAFI = 2,128)"; + reference "RFC4659"; + } + + identity L3VPN_IPV4_MULTICAST { + base AFI_SAFI_TYPE; + description + "Multicast IPv4 MPLS L3VPN (AFI,SAFI = 1,129)"; + reference "RFC6514"; + } + + identity L3VPN_IPV6_MULTICAST { + base AFI_SAFI_TYPE; + description + "Multicast IPv6 MPLS L3VPN (AFI,SAFI = 2,129)"; + reference "RFC6514"; + } + + identity L2VPN_VPLS { + base AFI_SAFI_TYPE; + description + "BGP-signalled VPLS (AFI,SAFI = 25,65)"; + reference "RFC4761"; + } + + identity L2VPN_EVPN { + base AFI_SAFI_TYPE; + description + "BGP MPLS Based Ethernet VPN (AFI,SAFI = 25,70)"; + } + + identity SRTE_POLICY_IPV4 { + base AFI_SAFI_TYPE; + description + "Segment Routing Traffic Engineering (SRTE) Policy + for IPv4 (AFI,SAFI = 1,73)"; + } + + identity SRTE_POLICY_IPV6 { + base AFI_SAFI_TYPE; + description + "Segment Routing Traffic Engineering (SRTE) Policy + for IPv6 (AFI,SAFI = 2,73)"; + } + + identity IPV4_FLOWSPEC { + base AFI_SAFI_TYPE; + description + "IPv4 dissemination of flow specification rules + (AFI,SAFI = 1,133)"; + reference "RFC5575"; + } + + identity VPNV4_FLOWSPEC { + base AFI_SAFI_TYPE; + description + "IPv4 dissemination of flow specification rules + (AFI,SAFI = 1,134)"; + reference "RFC5575"; + } + + identity LINKSTATE { + base AFI_SAFI_TYPE; + description + "BGP-LS (AFI,SAFI = 16388,71)"; + reference "RFC7752"; + } + + identity LINKSTATE_VPN { + base AFI_SAFI_TYPE; + description + "BGP-LS-VPN (AFI,SAFI = 16388,72)"; + reference "RFC7752"; + } + + identity LINKSTATE_SPF { + base AFI_SAFI_TYPE; + description + "BGP-LS SPF (AFI,SAFI = 16388,TBD)"; + reference "draft-ietf-lsvr-bgp-spf"; + } + + + identity BGP_WELL_KNOWN_STD_COMMUNITY { + description + "Reserved communities within the standard community space + defined by RFC1997. These communities must fall within the + range 0x00000000 to 0xFFFFFFFF"; + reference "RFC1997"; + } + + identity NO_EXPORT { + base BGP_WELL_KNOWN_STD_COMMUNITY; + description + "Do not export NLRI received carrying this community outside + the bounds of this autonomous system, or this confederation if + the local autonomous system is a confederation member AS. This + community has a value of 0xFFFFFF01."; + reference "RFC1997"; + } + + identity NO_ADVERTISE { + base BGP_WELL_KNOWN_STD_COMMUNITY; + description + "All NLRI received carrying this community must not be + advertised to other BGP peers. This community has a value of + 0xFFFFFF02."; + reference "RFC1997"; + } + + identity NO_EXPORT_SUBCONFED { + base BGP_WELL_KNOWN_STD_COMMUNITY; + description + "All NLRI received carrying this community must not be + advertised to external BGP peers - including over confederation + sub-AS boundaries. This community has a value of 0xFFFFFF03."; + reference "RFC1997"; + } + + identity NOPEER { + base BGP_WELL_KNOWN_STD_COMMUNITY; + description + "An autonomous system receiving NLRI tagged with this community + is advised not to readvertise the NLRI to external bi-lateral + peer autonomous systems. An AS may also filter received NLRI + from bilateral peer sessions when they are tagged with this + community value"; + reference "RFC3765"; + } + + typedef bgp-session-direction { + type enumeration { + enum INBOUND { + description + "Refers to all NLRI received from the BGP peer"; + } + enum OUTBOUND { + description + "Refers to all NLRI advertised to the BGP peer"; + } + } + description + "Type to describe the direction of NLRI transmission"; + } + + typedef bgp-well-known-community-type { + type identityref { + base BGP_WELL_KNOWN_STD_COMMUNITY; + } + description + "Type definition for well-known IETF community attribute + values"; + reference + "IANA Border Gateway Protocol (BGP) Well Known Communities"; + } + + + typedef bgp-std-community-type { + // TODO: further refine restrictions and allowed patterns + // 4-octet value: + // 2 octets + // 2 octets + type union { + type uint32 { + // per RFC 1997, 0x00000000 - 0x0000FFFF and 0xFFFF0000 - + // 0xFFFFFFFF are reserved + } + type string { + pattern '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])'; + oc-ext:posix-pattern '^(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$'; + } + } + description + "Type definition for standard commmunity attributes represented as + a integer value, or a string of the form N:M where N and M are + integers between 0 and 65535."; + reference "RFC 1997 - BGP Communities Attribute"; + } + + typedef bgp-ext-community-type { + type union { + type string { + // Type 1: 2-octet global and 4-octet local + // (AS number) (Integer) + pattern '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])'; + oc-ext:posix-pattern '^(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])$'; + } + type string { + // Type 2: 4-octet global and 2-octet local + // (ipv4-address) (integer) + 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]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])'; + oc-ext:posix-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]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$'; + } + type string { + // RFC5668: 4-octet global and 2-octet local + // (AS number) (integer) + pattern '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])'; + oc-ext:posix-pattern '^(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$'; + } + type string { + // route-target with Type 1 + // route-target:(ASN):(local-part) + pattern 'route\-target:' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])'; + oc-ext:posix-pattern '^route\-target:' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])$'; + } + type string { + // route-target with Type 2 + // route-target:(IPv4):(local-part) + pattern 'route\-target:' + + '(([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]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])'; + oc-ext:posix-pattern '^route\-target:' + + '(([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]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$'; + } + type string { + // 4-byte AS Type 1 route-target + pattern 'route\-target:' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])'; + oc-ext:posix-pattern '^route\-target:' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$'; + } + type string { + // route-origin with Type 1 + pattern 'route\-origin:' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])'; + oc-ext:posix-pattern '^route\-origin:' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])$'; + } + type string { + // route-origin with Type 2 + pattern 'route\-origin:' + + '(([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]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])'; + oc-ext:posix-pattern '^route\-origin:' + + '(([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]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$'; + } + type string { + // 4-byte AS Type 1 route-origin + pattern 'route\-origin:' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])'; + oc-ext:posix-pattern '^route\-origin:' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9]):' + + '(6553[0-5]|655[0-2][0-9]|654[0-9]{2}|65[0-4][0-9]{2}' + + '|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$'; + } + type string { + // Extended Color Community + pattern 'color:' + + '[0-1]{2}:' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])'; + oc-ext:posix-pattern '^color:' + + '[0-1]{2}:' + + '(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}' + + '|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|4[0-1][0-9]{7}|[1-3][0-9]{9}|' + + '[1-9][0-9]{1,8}|[0-9])$'; + } + } + description + "Type definition for extended community attributes. In the case that + common communities are utilised, they are represented as a string + of the form: + - <2b AS>:<4b value> per RFC4360 section 3.1 + - <4b IPv4>:<2b value> per RFC4360 section 3.2 + - <4b AS>:<2b value> per RFC5668 section 2. + - route-target:<2b AS>:<4b value> per RFC4360 section 4 + - route-target:<4b IPv4>:<2b value> per RFC4360 section 4 + - route-origin:<2b ASN>:<4b value> per RFC4360 section 5 + - route-origin:<4b IPv4>:<2b value> per RFC4360 section 5 + - color::<4b value> per draft-ietf-idr-segment-routing-te-policy + section 3"; + reference + "RFC 4360 - BGP Extended Communities Attribute + RFC 5668 - 4-Octet AS Specific BGP Extended Community + draft-ietf-idr-segment-routing-te-policy"; + } + + typedef bgp-ext-community-recv-type { + type union { + type bgp-ext-community-type; + type binary { + length 8; + } + } + description + "A type definition utilised to define the extended community + in a context where the system is receiving the extended + community from an external source, such that the value may be + unknown. In the case that the received extended community is + unknown it is defined to be a 8-octet quantity formatted + according to RFC4360: + + Type Field: 1 or 2 octets. + Value Field: Remaining octets. + + The high-order octet of the type field is encoded such that + bit 0 indicates whether the extended community type is IANA + assigned; and bit 1 indicates whether the extended community + is transitive. The remaining bits of the high-order type + field must be interpreted to determine whether the low-order + type field should be parsed, or whether the entire remainder + of the extended community is a value."; + reference + "RFC 4360 - BGP Extended Communities Attribute + RFC 5668 - 4-Octet AS Specific BGP Extended Community"; + } + + typedef bgp-community-regexp-type { + // TODO: needs more work to decide what format these regexps can + // take. + type oc-types:std-regexp; + description + "Type definition for communities specified as regular + expression patterns"; + } + + typedef bgp-origin-attr-type { + type enumeration { + enum IGP { + description + "Origin of the NLRI is internal"; + } + enum EGP { + description + "Origin of the NLRI is EGP"; + } + enum INCOMPLETE { + description + "Origin of the NLRI is neither IGP or EGP"; + } + } + description + "Type definition for standard BGP origin attribute"; + reference "RFC 4271 - A Border Gateway Protocol 4 (BGP-4), + Sec 4.3"; + } + + typedef peer-type { + type enumeration { + enum INTERNAL { + description + "Internal (iBGP) peer"; + } + enum EXTERNAL { + description + "External (eBGP) peer"; + } + } + description + "Labels a peer or peer group as explicitly internal or + external"; + } + + identity REMOVE_PRIVATE_AS_OPTION { + description + "Base identity for options for removing private autonomous + system numbers from the AS_PATH attribute"; + } + + identity PRIVATE_AS_REMOVE_ALL { + base REMOVE_PRIVATE_AS_OPTION; + description + "Strip all private autonmous system numbers from the AS_PATH. + This action is performed regardless of the other content of the + AS_PATH attribute, and for all instances of private AS numbers + within that attribute."; + } + + identity PRIVATE_AS_REPLACE_ALL { + base REMOVE_PRIVATE_AS_OPTION; + description + "Replace all instances of private autonomous system numbers in + the AS_PATH with the local BGP speaker's autonomous system + number. This action is performed regardless of the other + content of the AS_PATH attribute, and for all instances of + private AS number within that attribute."; + } + + typedef remove-private-as-option { + type identityref { + base REMOVE_PRIVATE_AS_OPTION; + } + description + "Set of options for configuring how private AS path numbers + are removed from advertisements"; + } + + typedef rr-cluster-id-type { + type union { + type uint32; + type oc-inet:ipv4-address; + } + description + "Union type for route reflector cluster ids: + option 1: 4-byte number + option 2: IP address"; + } + + typedef community-type { + type enumeration { + enum STANDARD { + description "Send only standard communities"; + } + enum EXTENDED { + description "Send only extended communities"; + } + enum BOTH { + description "Send both standard and extended communities"; + } + enum NONE { + description "Do not send any community attribute"; + } + } + description + "type describing variations of community attributes: + STANDARD: standard BGP community [rfc1997] + EXTENDED: extended BGP community [rfc4360] + BOTH: both standard and extended community"; + } + + + typedef as-path-segment-type { + type enumeration { + enum AS_SEQ { + description + "Ordered set of autonomous systems that a route in + the UPDATE message has traversed"; + } + enum AS_SET { + description + "Unordered set of autonomous systems that a route in + the UPDATE message has traversed"; + } + enum AS_CONFED_SEQUENCE { + description + "Ordered set of Member Autonomous + Systems in the local confederation that the UPDATE message + has traversed"; + } + enum AS_CONFED_SET { + description + "Unordered set of Member Autonomous Systems + in the local confederation that the UPDATE message has + traversed"; + } + } + description + "Defines the types of BGP AS path segments."; + } +} diff --git a/vendor/cisco/xr/755/openconfig-bgp.yang b/vendor/cisco/xr/755/openconfig-bgp.yang new file mode 100644 index 000000000..62e460537 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-bgp.yang @@ -0,0 +1,192 @@ +module openconfig-bgp { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/bgp"; + + prefix "oc-bgp"; + + // import some basic inet types + import openconfig-extensions { prefix oc-ext; } + import openconfig-rib-bgp { prefix oc-bgprib; } + + // Include the OpenConfig BGP submodules + // Common: defines the groupings that are common across more than + // one context (where contexts are neighbor, group, global) + include openconfig-bgp-common; + // Multiprotocol: defines the groupings that are common across more + // than one context, and relate to Multiprotocol + include openconfig-bgp-common-multiprotocol; + // Structure: defines groupings that are shared but are solely used for + // structural reasons. + include openconfig-bgp-common-structure; + // Include peer-group/neighbor/global - these define the groupings + // that are specific to one context + include openconfig-bgp-peer-group; + include openconfig-bgp-neighbor; + include openconfig-bgp-global; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module describes a YANG model for BGP protocol + configuration.It is a limited subset of all of the configuration + parameters available in the variety of vendor implementations, + hence it is expected that it would be augmented with vendor- + specific configuration data as needed. Additional modules or + submodules to handle other aspects of BGP configuration, + including policy, VRFs, VPNs, and additional address families + are also expected. + This model supports the following BGP configuration level + hierarchy: + BGP + | + +-> [ global BGP configuration ] + +-> AFI / SAFI global + +-> peer group + +-> [ peer group config ] + +-> AFI / SAFI [ per-AFI overrides ] + +-> neighbor + +-> [ neighbor config ] + +-> [ optional pointer to peer-group ] + +-> AFI / SAFI [ per-AFI overrides ]"; + + oc-ext:openconfig-version "6.1.0"; + + revision "2021-03-17" { + description + "Add bfd support without augmentation."; + reference "6.1.0"; + } + + revision "2019-07-10" { + description + "Normalise timestamp units to nanoseconds."; + reference "6.0.0"; + } + + revision "2019-05-28" { + description + "Clarify prefix counter descriptions, add received-pre-policy + counter."; + reference "5.2.0"; + } + + revision "2019-04-16" { + description + "Add BGP RIB to the top-level BGP container"; + reference "5.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "5.0.2"; + } + + revision "2018-08-20" { + description + "Correct description of AFI-SAFI enabled leaf."; + reference "5.0.1"; + } + + revision "2018-04-11" { + description + "Correct naming of BGP maximum prefix warning percentage leaf."; + reference "5.0.0"; + } + + revision "2018-03-20" { + description + "Added SR-TE policy SAFI"; + reference "4.1.0"; + } + + revision "2017-07-30" { + description + "Clarification of add-paths send-max leaf"; + reference "4.0.1"; + } + + revision "2017-07-10" { + description + "Add error notifications; moved add-paths config; add AS + prepend policy features; removed unneeded config leaves"; + reference "4.0.0"; + } + + revision "2017-02-02" { + description + "Bugfix to remove remaining global-level policy data"; + reference "3.0.1"; + } + + revision "2017-01-26" { + description + "Add dynamic neighbor support, migrate to OpenConfig types"; + reference "3.0.0"; + } + + revision "2016-06-21" { + description + "OpenConfig BGP refactor"; + reference "2.1.1"; + } + + revision "2016-06-06" { + description + "OpenConfig public release"; + reference "2.1.0"; + } + + revision "2016-03-31" { + description + "OpenConfig public release"; + reference "2.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping bgp-top { + description + "Top-level grouping for the BGP model data"; + + container bgp { + description + "Top-level configuration and state for the BGP router"; + + container global { + description + "Global configuration for the BGP router"; + uses bgp-global-base; + } + + container neighbors { + description + "Configuration for BGP neighbors"; + uses bgp-neighbor-list; + } + + container peer-groups { + description + "Configuration for BGP peer-groups"; + uses bgp-peer-group-list; + } + + uses oc-bgprib:bgp-rib-top; + } + } + + uses bgp-top; + +} diff --git a/vendor/cisco/xr/755/openconfig-evpn-types.yang b/vendor/cisco/xr/755/openconfig-evpn-types.yang new file mode 100644 index 000000000..2d95214b4 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-evpn-types.yang @@ -0,0 +1,290 @@ +module openconfig-evpn-types { + yang-version "1"; + + namespace "http://openconfig.net/yang/evpn-types"; + + prefix "oc-evpn-types"; + + import openconfig-extensions { prefix oc-ext; } + import openconfig-yang-types { prefix oc-yang; } + + // TODO: + // Include definitions of EVPN error notifications + // include openconfig-bgp-errors; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module contains general data definitions for use in EVPN + policy. It can be imported by modules that make use of EVPN + attributes"; + + oc-ext:openconfig-version "0.1.1"; + + revision "2021-06-16" { + description + "Remove trailing whitespace"; + reference "0.1.1"; + } + + revision "2020-10-08" { + description + "Initial Revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + /* Identities */ + + identity EVPN_TYPE { + description "Base identity for a EVPN type"; + } + + identity VLAN_BASED { + base EVPN_TYPE; + description + "With this EVPN Type, an EVPN instance + consists of only a single broadcast domain."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 6.1"; + } + + identity VLAN_BUNDLE { + base EVPN_TYPE; + description + "With this EVPN Type, an EVPN instance + corresponds to multiple broadcast domains."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 6.2"; + } + + identity VLAN_AWARE { + base EVPN_TYPE; + description + "With this EVPN Type, an EVPN instance consists of multiple + broadcast domains (e.g., multiple VLANs) with each VLAN having its + own bridge table ."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 6.3"; + } + + identity EVPN_REDUNDANCY_MODE { + description + "Base identity for a EVPN capability"; + } + + identity SINGLE_ACTIVE { + base EVPN_REDUNDANCY_MODE; + description + "Indicates Single-Active redundancy mode for + a given Ethernet Segment (ES)."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 14.1.1"; + } + + identity ALL_ACTIVE { + base EVPN_REDUNDANCY_MODE; + description + "Indicates All-Active redundancy mode for + a given Ethernet Segment (ES)."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN, Section 14.1.2"; + } + + identity EVPN_CAPABILITY { + description "Base identity for a EVPN capability"; + } + + identity NVE { + base EVPN_CAPABILITY; + description + "An EVPN instance with the Network Virtualization Edge + the PE"; + reference "draft-ietf-bess-evpn-inter-subnet-forwarding-10"; + } + + identity EVI { + base EVPN_CAPABILITY; + description + "An EVPN instance spanning the Provider Edge Devices + participating in that EVPN"; + reference "RFC7432"; + } + + identity MAC_VRF { + base EVPN_CAPABILITY; + description + "A Virtual Routing and Forwarding table for Media Access + Control MAC addresses on a PE"; + reference "RFC7432"; + } + + identity IP_VRF { + base EVPN_CAPABILITY; + description + "A VPN Routing and Forwarding table for IP routes on an NVE/ + PE. The IP routes could be populated by EVPN and IP-VPN address + families. An IP-VRF is also an instantiation of a layer 3 VPN + in an NVE/PE"; + reference "draft-ietf-bess-evpn-inter-subnet-forwarding-10"; + } + + identity IRB { + base EVPN_CAPABILITY; + description + "Integrated Routing and Bridging interface. It connects an IP- + VRF to a BD or subnet"; + reference "draft-ietf-bess-evpn-inter-subnet-forwarding-10"; + } + + typedef evi-id { + type uint32 { + range 1..16777215; + } + description + "Type definition representing a EVPN Instance Identifier"; + } + + typedef vni-id { + type uint32 { + range 1..16777215; + } + description + "Type definition representing a virtual network identifier"; + } + + typedef esi { + type oc-yang:hex-string { + length "20"; + } + description + "10-octet Ethernet segment identifier (ESI)"; + } + + typedef esi-type { + type enumeration { + enum TYPE_0_OPERATOR_CONFIGURED { + value 0; + description + "Type 0 indicates the value must be provided."; + } + enum TYPE_1_LACP_BASED { + value 1; + description + "Type 1 when IEEE 802.1AX LACP is used between the PEs and CEs, + this ESI type indicates an auto-generated ESI value + determined from LACP."; + } + enum TYPE_2_BRIDGE_PROTOCOL_BASED { + value 2; + description + "Type 2 the ESI Value is auto-generated and determined based + on the Layer 2 bridge protocol"; + } + enum TYPE_3_MAC_BASED { + value 3; + description + "Type 3 this type indicates a MAC-based ESI Value that can be auto-generated + or configured by the operator."; + } + enum TYPE_4_ROUTER_ID_BASED { + value 4; + description + "Type 4 this type indicates a router-ID ESI Value that can be auto-generated + or configured by the operator."; + } + enum TYPE_5_AS_BASED { + value 5; + description + "Type 5 this type indicates an Autonomous System (AS)-based ESI Value that can + be auto-generated or configured by the operator."; + } + } + description + "T-(ESI Type) is a 1-octet field (most significant octet) that + specifies the format of the remaining 9 octets (ESI Value)."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN page-16"; + } + + typedef mac-type { + type enumeration { + enum STATIC { + value 0; + description "Static MAC"; + } + enum DYNAMIC { + value 1; + description "Dynamically learned MAC"; + } + enum CONNECTED { + value 2; + description "Connected MAC"; + } + } + description "Type of MAC, if it is static or has been learned"; + } + + // Mac origin type + typedef origin-type { + type enumeration { + enum LOCAL { + value 0; + description "Local MAC Address"; + } + enum REMOTE { + value 1; + description "Remote MAC Address"; + } + enum ALL { + value 2; + description "All MAC Address"; + } + } + description "Origin of the MAC address"; + } + + typedef urib-nexthop-encap { + type enumeration { + enum NONE { + value 0; + description "Encapsulation not set"; + } + enum VXLAN { + value 1; + description "VXLAN encapsulation"; + } + enum INVALID { + value 2; + description "Encapsulation Invalid"; + } + } + description "Type of encapsulation of the next hop"; + } + + typedef learning-mode { + type enumeration { + enum CONTROL_PLANE { + value 0; + description "Control Plane Learning"; + } + enum DATA_PLANE { + value 1; + description "Data Plane Learning"; + } + } + description + "Type of MAC address learning procedure"; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-evpn.yang b/vendor/cisco/xr/755/openconfig-evpn.yang new file mode 100644 index 000000000..1ccdee33e --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-evpn.yang @@ -0,0 +1,858 @@ +module openconfig-evpn { + // namespace + namespace "http://openconfig.net/yang/evpn"; + prefix "oc-evpn"; + import openconfig-yang-types { prefix oc-yang; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-network-instance-types { prefix oc-ni-types; } + import openconfig-evpn-types { prefix oc-evpn-types; } + import openconfig-inet-types { prefix oc-inet; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-bgp-types { prefix oc-bgp-types; } + // meta + organization + "OpenConfig working group"; + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + description + "This module contains general data definitions for use in EVPN. + The model contains the configuration and state attributes + imported by the OpenConfig network instance module that is + the primary holder of these properties. + + The module describes the configuration and state parameters + to support the instantiation of the MAC-VRF concept defined + in the RFC 7432: BGP MPLS-Based Ethernet VPN. + The EVPN concept allows the Media Access Control (MAC) addresses + forwarding through the control plane on a PE. + + Within the OpenConfig model, a single network instance represents + an individual MAC VRF. Whilst it is possible that there may be + cases where a single MAC VRF may support multiple broadcast + domains, this is not currently supported and requires an extension + of the model."; + oc-ext:openconfig-version "0.1.0"; + revision "2020-11-24" { + description + "Initial revision"; + reference "0.1.0"; + } + /* Groupings */ + /* Groupings related to Ethernet-Segment Configuration*/ + grouping evpn-config-top { + description + "Configuration attributes of the EVPN Instance"; + container evpn-instances { + description + "Configuration attributes of the EVPN Instance"; + list evpn-instance { + key "evi"; + description + "An EVPN instance (EVI) comprises Customer Edge devices + (CEs) that are connected to Provider Edge devices (PEs). One + network instance (representing a single MAC VRF) can + participate in one or more EVPN Instances. For each EVPN instance + in which the forwarding instance participates an + EVPN instance needs to be created. + + The model supports BGP MPLS-Based Ethernet VPNs + (RFC 7432) and Network Virtualization Overlay Solution + Using Ethernet VPN (RFC 8365). The use of MPLS or VXLAN + is selected via the encapsulation container within + EVPN instance. One use case requiring participating in + two EVIs is the Interconnect Solution for EVPN Overlay + networks (see draft-ietf-bess-dci-evpn-overlay-10)"; + leaf evi { + type leafref { + path "../config/evi"; + } + description "EVPN Intance (EVI) identifier"; + } + + container config { + description + "EVPN Configuration parameters for + the participation in an EVPN Intance."; + + uses evpn-evi-common-config; + } + + container state { + config false; + description + "EVPN State parameters for + the participation in an EVPN Intance."; + uses evpn-evi-common-config; + } + uses evpn-import-export-policy-top; + uses evpn-evi-overlay-top; + uses evpn-evi-pbb-top; + } + } + } + grouping evpn-import-export-policy-top { + description + "Top Level grouping for the import and export + route targets in a EVPN Instance."; + + container import-export-policy { + description + "Top container to set the import and export policies + associated with a EVI"; + + container config { + description + "Configuration parameters to set the import and export policies + associated with a EVI"; + uses evpn-import-export-config; + } + + container state { + config false; + description + "State parameters of the import and export policies + associated with a EVI"; + uses evpn-import-export-config; + } + } + } + grouping evpn-ethernet-segment-df-config { + description + "Configuration parameters for the Designated forwarding + Election"; + leaf df-election-method { + type enumeration { + enum DEFAULT { + value 0; + description + "The default Designated Forwarder Election election method"; + } + enum HIGHEST_RANDOM_WEIGHT { + value 1; + description + "The highest random weight (HRW) method"; + reference + "RFC8584: Framework for Ethernet VPN Designated Forwarder + Election Extensibility"; + } + enum PREFERENCE { + value 2; + description + "The preference based method"; + reference + "RFC8584: Framework for Ethernet VPN Designated Forwarder + Election Extensibility"; + } + } + description + "Select the Designated Forwarder Election (DF) election method"; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN. + RFC 8584:Framework for Ethernet VPN Designated Forwarder + Election Extensibility"; + } + leaf preference { + when "../df-election-method = 'PREFERENCE'" { + description + "The preference value is only applicable + to the preference based method"; + } + type uint16; + description + "Defines a 2-octet value that indicates the PE + preference to become the DF in the Ethernet-Segment."; + reference + "RFC8584: Framework for Ethernet VPN Designated Forwarder + Election Extensibility"; + } + leaf revertive { + when "../df-election-method = 'PREFERENCE'" { + description + "The revertive value is only applicable + to the preference method"; + } + type boolean; + default true; + description + "The 'preempt' or 'revertive' behavior. This option will allow a + non-revertive behavior in the DF election."; + reference + "RFC8584: Framework for Ethernet VPN Designated Forwarder + Election Extensibility"; + } + leaf election-wait-time { + when "../df-election-method = 'PREFERENCE'" { + description + "The Designated Forwarder Election wait-time is only applicable + to the preference method"; + } + type uint32; + description + "Designated Forwarder Election wait-time. When the DF timer expires, + the PE device selects the DF based on the highest preference value"; + reference + "RFC8584: Framework for Ethernet VPN Designated Forwarder + Election Extensibility"; + } + } + grouping evpn-ethernet-segment-df-top { + description + "Top grouping for the configuration and state parameters + for the Designated forwarding Election"; + + container df-election { + description + "Top container for the configuration and state parameters + for the Designated forwarding Election"; + container config { + description + "Configuration parameters for the Designated forwarding Election"; + uses evpn-ethernet-segment-df-config; + } + + container state { + description + "Configuration parameters for the Designated forwarding Election"; + config false; + uses evpn-ethernet-segment-df-config; + } + } + } + grouping evpn-ethernet-segment-config { + description + "Configuration attributes for the Ethernet + Segment."; + + leaf name { + type string; + description + "Ethernet Segment name"; + } + leaf esi-type { + type oc-evpn-types:esi-type; + default "TYPE_0_OPERATOR_CONFIGURED"; + description + "ESI Type is a 1-octet field (most significant octet) that + specifies the format of the remaining 9 octets (ESI Value)."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN page-16"; + } + leaf esi { + type union { + type oc-evpn-types:esi; + type enumeration { + enum AUTO { + description + "This ESI type indicates an auto-generated ESI value."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN"; + } + } + } + description + "Ethernet Segment Identifier (ESI) value. + For ESI Type 0: The esi leaf value is directly configured by the operator. + For ESI Type 1: The AUTO enum must be used. + For ESI Type 2: The AUTO enum must be used. + For ESI Type 3: The directly configured or AUTO enum must be used. + For ESI Type 4: The directly configured or AUTO enum must be used. + For ESI Type 5: The directly configured or AUTO enum must be used."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN."; + } + + leaf redundancy-mode { + type identityref { + base oc-evpn-types:EVPN_REDUNDANCY_MODE; + } + description + "Multihoming options for load balancing of + traffic in the Ethernet Segment."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN"; + } + + uses oc-if:interface-ref-common; + } + grouping evpn-ethernet-segment-top { + description + "Top-level grouping for ethernet segments. An Ethernet Segment + is referenced by a name and an ESI"; + + container ethernet-segments { + description + "Top-level container for ethernet segments. An Ethernet Segment + is referenced by a name and an ESI"; + + list ethernet-segment { + key "name"; + description + "List of Ethernet Segments."; + leaf name { + type leafref { + path '../config/name'; + } + description + "Ethernet Segment Name "; + } + container config { + description + "Configuration data for the Ethernet Segments."; + uses evpn-ethernet-segment-config; + } + container state { + config false; + description + "Operational state data for the Ethernet Segments."; + uses evpn-ethernet-segment-config; + } + uses evpn-ethernet-segment-df-top; + } + } + } + /* Groupings related to the Layer 2 forwarding (aka MAC-VRF)*/ + grouping evpn-mac-vrf-config { + description + "Configuration data related to mac-vrf"; + + leaf anycast-gateway-mac { + type oc-yang:mac-address; + description + "Configure the anycast gateway MAC address that all VTEPs + use for the network instance. When a VM sends an Address + Resolution Protocol (ARP) request for the anycast gateway + IP address in a VXLAN virtual network, the VTEP responds + with the configured anycast MAC address."; + } + leaf arp-proxy { + type boolean; + default false; + description + "Enable (TRUE) or disable (FALSE) ARP proxy. If true + a proxy server on the network answers the + Address Resolution Protocol (ARP) queries for an + IP address that is not on that network."; + } + leaf arp-suppression { + type boolean; + default false; + description + "Enable (TRUE) or disable (FALSE) ARP suppression. If true + the Address Resolution Protocol (ARP) queries for an + IP address that is not on that network are suppressed. + Address Resolution Protocol (ARP) suppression is a + technique used to reduce the amount of ARP broadcast + flooding within individual VXLAN segments, that is between + VMs connected to the same logical switch."; + reference + "draft-ietf-bess-evpn-proxy-arp-nd-13 + RFC 7432: BGP MPLS-Based Ethernet VPN"; + } + leaf nd-proxy { + type boolean; + default false; + description + "Enable (TRUE) or disable (FALSE) Neighbor Discovery (ND) + proxy. If true a proxy server on the network answers the + NDP packets for an IP address that is not on that network."; + reference + "draft-ietf-bess-evpn-proxy-arp-nd-13 + RFC 7432: BGP MPLS-Based Ethernet VPN"; + } + + leaf nd-suppression { + type boolean; + default false; + description + "Enable (TRUE) or disable (FALSE) Neighbor Discovery suppression. + If true the NDP queries for an IP address that is not on that + network are suppressed. NDP suppression is a + technique used to reduce the amount of NDP Packets + flooding within individual VXLAN segments, that is between + VMs connected to the same logical switch."; + } + + leaf flood-unknown-unicast-supression { + type boolean; + default false; + description + "Enable (TRUE) or disable (FALSE) the Unknown Unicast Flooding + Suppression. If the Unknown Unicast Flooding Suppression is on, + the unicast traffic towards an unknown host will be dropped."; + } + } + grouping evpn-mac-mobility-config { + description + "Configuration data related to mac-vrf"; + leaf mac-mobility { + type boolean; + description + "Enable (TRUE) or disable (FALSE). It is possible for a given host + or end-station (as defined by its MAC address) to move from one + Ethernet segment to another; this is referred to as 'MAC Mobility' + or 'MAC move. The configuration attributes includes: mac-mobility-window + and mac-mobility-threshold"; + } + leaf mac-mobility-window { + type uint16 { + range "0..600"; + } + default 180; + description + "The time interval used in detecting a duplicate MAC address. + The value can be from 5 through 600 seconds. + The default is 180 seconds"; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN section-15"; + } + leaf mac-mobility-threshold { + type uint8 { + range "0..50"; + } + default 5; + description + "The number of MAC mobility events that are detected for a + given MAC address within the detection-window before it is identified + as a duplicate MAC address. Once the detection threshold is reached, + updates for the MAC address are suppressed."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN section-15"; + } + + leaf ip-mobility-threshold { + type uint16; + description + "Enable (TRUE) or disable (FALSE). It is possible for a given host + or end-station (as defined by its IP address) to move from one + Ethernet segment to another. The number of IP mobility events that + are detected for a given IP address within the detection-threshold + before it is identified as a duplicate IP address. + Once the detection threshold is reached, updates for the IP address + are suppressed."; + } + + leaf duplicate-ip-detection-interval { + type uint16; + description + "The time interval used in detecting a duplicate IP address. + Duplicate ip detection number of host moves + allowed within interval period"; + } + } + grouping evpn-mac-mobility-top { + description + "Top grouping the configuration and state data related to mac + mobility."; + container mac-mobility { + description + "Top grouping the configuration and state data related to mac + mobility."; + container config { + description + "Configuration data related to mac mobility."; + uses evpn-mac-mobility-config; + } + container state { + config false; + description + "State data related to mac mobility."; + uses evpn-mac-mobility-config; + } + } + } + /* Groupings related to the participation in an EVPN Instance*/ + grouping evpn-evi-common-config { + description + "Top-Level parameters related the configuration of + EVPN to partipate in one EVPN instance"; + leaf evi { + type string; + description + "EVPN Instance (EVI) identifier"; + } + leaf encapsulation-type { + type identityref { + base oc-ni-types:ENCAPSULATION; + } + description + "The on-the-wire encapsulation that should be used when + exchanging traffic from this network instance to/from + destinations belonging to the EVI. The use of MPLS or + VXLAN is selected using this container."; + } + + leaf service-type { + type identityref { + base oc-evpn-types:EVPN_TYPE; + } + description + "Specifies the type of EVPN that is being created according + to the values in the EVPN_TYPES identity. + The options are VLAN-based, VLAN-Bundle or VLAN-aware. + VLAN-Based services consists of an EVPN instance of only a + single broadcast domain, the proper network-instance type used + for this kind of services is L2VSI."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN"; + } + + leaf multicast-group { + type oc-inet:ip-address; + description + "Multicast group address for BUM traffic"; + } + + leaf multicast-mask { + type oc-inet:ip-address; + description + "Multicast group address mask"; + } + + leaf replication-mode { + type enumeration { + enum STATIC_INGRESS_REPLICATION { + description + "Static ingress replication mode."; + } + enum BGP { + description + "BGP EVPN ingress replication mode. It includes the ability to + signal a P2MP LSP for the EVPN Inclusive Provider Tunnel + for BUM traffic"; + } + enum MULTICAST { + description + "Multicast enabled in the underlay for BUM traffic"; + } + } + description + "Replication mode to handle BUM traffic"; + } + + leaf route-distinguisher { + type union { + type oc-ni-types:route-distinguisher; + type enumeration { + enum AUTO { + description + "Enable auto route-distinguisher generation. + When used for evpn and if not configured, the + RD is auto-derived with the format : where + ip-address is the ipv4 address associated to the + system loopback or sub-interface."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN page-18"; + } + } + } + description + "Route Distinguisher (RD) associated to the EVPN-instance. + An RD MUST be assigned for a given EVPN-instance on a PE. + This RD MUST be unique across all EVPN-instances on a PE. + The route-distinguisher at this level overrides + the route-distinguisher value defined under + network-instance/config."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN page-18"; + } + } + grouping evpn-import-export-config { + description + "Parameters for import and export policy"; + + leaf-list export-route-target { + type union { + type oc-bgp-types:bgp-ext-community-type; + type enumeration { + enum AUTO { + description + "Enable auto route-target generation. + When used for EVPN and if not configured, the RT is auto-derived + with the format : where 'asn' is the autonomous-system + configured in the network-instance default. + Auto-derived route targets simplify the configuration of + VLAN services for EVPN, especially in VLAN-aware bundle + services where you can have multiple VLANs, multiple + bridge domains and the VLANS for a given service are + not present on all PE devices."; + } + } + } + description + "Export Route Target (RT) in the network-instance on a PE."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN page-19"; + } + leaf-list import-route-target { + type union { + type oc-bgp-types:bgp-ext-community-type; + type enumeration { + enum AUTO { + description + "Enable auto route-target generation. + When used for EVPN and if not configured, the RT is auto-derived + with the format : where 'asn' is the autonomous-system + configured in the network-instance default. + Auto-derived route targets simplify the configuration of + VLAN services for EVPN, especially in VLAN aware bundle + services where you can have multiple VLANs, multiple + bridge domains and the VLANS for a given service are + not present on all PE devices."; + } + } + } + description + "Import Route Target (RT) in the network-instance on a PE."; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN page-19"; + } + } + grouping evpn-evi-overlay-top { + description + "Top grouping related the configuration of + Network Virtualization Overlay Solution + Using Ethernet VPN"; + container vxlan { + description + "Top container related to Overlay Solution in EVPN."; + container config { + description + "Configuration data related to Overlay Solution in EVPN."; + uses evpn-evi-overlay-config; + } + container state { + config false; + description + "State data related to Overlay Solution in EVPN."; + uses evpn-evi-overlay-config; + } + uses evpn-vxlan-anycast-config; + } + } + grouping evpn-evi-overlay-config { + description + "Parameters related the configuration of Network Virtualization Overlay Solution + Using Ethernet VPN"; + + leaf vni { + type oc-evpn-types:vni-id; + description + "Virtual Network Identifier (VNI) + associated to the EVI"; + } + + leaf overlay-endpoint-network-instance { + type leafref { + path "/network-instances/network-instance/name"; + } + description + "The network instance to resolve the overlay-endpoint within."; + } + leaf overlay-endpoint { + type leafref { + path "/network-instances" + + "/network-instance[name=current()/../overlay-endpoint-network-instance]" + + "/connection-points/connection-point/endpoints/endpoint/config/endpoint-id"; + } + description + "Associate the EVI with an VXLAN Endpoint defined under connection + points. The network instance to resolve the overlay-endpoint within."; + } + + leaf host-reachability-bgp { + type boolean; + description + "Enable or Disable the BGP control plane to be + used to exchange updates from the NVE interface"; + } + } + grouping evpn-vxlan-anycast-config { + description + "Anycast source interface top grouping"; + container anycast-source-interface { + description + "Anycast source interface references"; + + container config { + description + "Anycast source interface configuration references"; + uses oc-if:interface-ref-common; + } + + container state { + config false; + description + "Anycast source interface state references"; + uses oc-if:interface-ref-common; + } + } + } + grouping evpn-parameters-pbb-isid-config { + description + "I-component identifier configuration parameters. + In PBB-EVPN [RFC7623] the use of GWs where I-components and + associated B-components are part of EVI instances is required."; + + leaf i-sid { + type uint32 { + range "0..16777215"; + } + description + "Service Instance Identifier 24 bits and global within a PBB + network. I-SID defines the service instance that the frame should be + mapped to."; + reference + "RFC 7080: Virtual Private LAN Service (VPLS) Interoperability + with Provider Backbone Bridges."; + } + } + grouping evpn-parameters-pbb-config { + description + "I-component identifier configuration parameters. + In PBB-EVPN [RFC7623] the use of GWs where I-components and + associated B-components are part of EVI instances is required. + These parameters includes the association between I and B + components."; + + leaf b-component-name { + type string; + description + "Type of the associated b-component"; + } + + leaf backbone-src-mac { + type oc-yang:mac-address; + description + "EVPN will run independently in both components, + the I-component MAC-VRF and B-component MAC-VRF. + The backbone-src-mac assigns the b-component MAC."; + } + } + grouping evpn-parameters-pbb-icomponent-config { + description + "Parameters to configure components contained + in a backbone edge bridge that containes the customer + space (customer MAC addresses,S-VLAN)."; + container i-components { + description + "i-components container definition."; + + list i-component { + key "i-sid"; + description + "list of i-components"; + leaf i-sid { + type leafref { + path '../config/i-sid'; + } + description + "I-SID represents a unique service identifier associated with + service instances"; + } + + container config { + description + "Configuration variables for the i-sid"; + uses evpn-parameters-pbb-isid-config; + } + + container state { + config false; + description + "State variables for the i-sid"; + uses evpn-parameters-pbb-isid-config; + } + } + } + } + grouping evpn-evi-pbb-config { + description + "Provider Backbone Bridging (PBB) parameters grouping"; + reference + "IEEE 802.1ah Provider Backbone Bridge"; + list b-component { + key "b-component-name"; + description + "List of B-components. The b-component learns and forwards + traffic on the backbone in order to reduce the number of + BGP MAC Advertisement routes by aggregating Customer/Client + MAC (C-MAC) addresses via Provider Backbone MAC (B-MAC) address."; + reference + "RFC 7623: Provider Backbone Bridging Combined + with Ethernet VPN (PBB-EVPN)."; + leaf b-component-name { + type leafref { + path '../config/b-component-name'; + } + description + "Provider Backbone Bridging component name."; + } + container config { + description "Configuration variables for the b-components."; + uses evpn-parameters-pbb-config; + } + + container state { + config false; + description "State variables for the b-components."; + uses evpn-parameters-pbb-config; + } + + uses evpn-parameters-pbb-icomponent-config; + } + } + grouping evpn-evi-pbb-top { + description "Grouping for pbb configuration parameters"; + + container pbb { + uses evpn-evi-pbb-config; + description + "Container for EVPN with PBB PE functionality + for scaling over MPLS,"; + } + } + /* Groupings related to the configuration of the Overlay + Endpoint when VXLAN is used*/ + grouping evpn-vxlan-parameters-config { + description + "Type agnostic configuration parameters relating to the + overlay of the network instance"; + leaf description { + type string; + description + "Description to identify the VXLAN tunnel endpoint It + is a unique name identifying the overlay endpoint"; + } + + leaf enabled { + type boolean; + description + "VXLAN tunnel endpoint administrative state."; + } + + leaf source-interface { + type string; + description + "Source loopback interface name"; + } + } + grouping evpn-overlays-grp-top { + description + "Parameters relating to the overlay tunnel endpoints"; + + container config { + description + "Configuration parameters relating to the overlay tunnel + endpoints of the network instance"; + uses evpn-vxlan-parameters-config; + } + container state { + config false; + description + "State parameters relating to the overlay tunnel endpoints of + the network instance"; + uses evpn-vxlan-parameters-config; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-extensions.yang b/vendor/cisco/xr/755/openconfig-extensions.yang new file mode 100644 index 000000000..c5e24ba22 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-extensions.yang @@ -0,0 +1,198 @@ +module openconfig-extensions { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/openconfig-ext"; + + prefix "oc-ext"; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module provides extensions to the YANG language to allow + OpenConfig specific functionality and meta-data to be defined."; + + revision "2020-06-16" { + description + "Add extension for POSIX pattern statements."; + reference "0.5.0"; + } + + revision "2018-10-17" { + description + "Add extension for regular expression type."; + reference "0.4.0"; + } + + revision "2017-04-11" { + description + "rename password type to 'hashed' and clarify description"; + reference "0.3.0"; + } + + revision "2017-01-29" { + description + "Added extension for annotating encrypted values."; + reference "0.2.0"; + } + + revision "2015-10-09" { + description + "Initial OpenConfig public release"; + reference "0.1.0"; + } + + + // extension statements + extension openconfig-version { + argument "semver" { + yin-element false; + } + description + "The OpenConfig version number for the module. This is + expressed as a semantic version number of the form: + x.y.z + where: + * x corresponds to the major version, + * y corresponds to a minor version, + * z corresponds to a patch version. + This version corresponds to the model file within which it is + defined, and does not cover the whole set of OpenConfig models. + + Individual YANG modules are versioned independently -- the + semantic version is generally incremented only when there is a + change in the corresponding file. Submodules should always + have the same semantic version as their parent modules. + + A major version number of 0 indicates that this model is still + in development (whether within OpenConfig or with industry + partners), and is potentially subject to change. + + Following a release of major version 1, all modules will + increment major revision number where backwards incompatible + changes to the model are made. + + The minor version is changed when features are added to the + model that do not impact current clients use of the model. + + The patch-level version is incremented when non-feature changes + (such as bugfixes or clarifications to human-readable + descriptions that do not impact model functionality) are made + that maintain backwards compatibility. + + The version number is stored in the module meta-data."; + } + + extension openconfig-hashed-value { + description + "This extension provides an annotation on schema nodes to + indicate that the corresponding value should be stored and + reported in hashed form. + + Hash algorithms are by definition not reversible. Clients + reading the configuration or applied configuration for the node + should expect to receive only the hashed value. Values written + in cleartext will be hashed. This annotation may be used on + nodes such as secure passwords in which the device never reports + a cleartext value, even if the input is provided as cleartext."; + } + + extension regexp-posix { + description + "This extension indicates that the regular expressions included + within the YANG module specified are conformant with the POSIX + regular expression format rather than the W3C standard that is + specified by RFC6020 and RFC7950."; + } + + extension posix-pattern { + argument "pattern" { + yin-element false; + } + description + "Provides a POSIX ERE regular expression pattern statement as an + alternative to YANG regular expresssions based on XML Schema Datatypes. + It is used the same way as the standard YANG pattern statement defined in + RFC6020 and RFC7950, but takes an argument that is a POSIX ERE regular + expression string."; + reference + "POSIX Extended Regular Expressions (ERE) Specification: + https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04"; + } + + extension telemetry-on-change { + description + "The telemetry-on-change annotation is specified in the context + of a particular subtree (container, or list) or leaf within the + YANG schema. Where specified, it indicates that the value stored + by the nodes within the context change their value only in response + to an event occurring. The event may be local to the target, for + example - a configuration change, or external - such as the failure + of a link. + + When a telemetry subscription allows the target to determine whether + to export the value of a leaf in a periodic or event-based fashion + (e.g., TARGET_DEFINED mode in gNMI), leaves marked as + telemetry-on-change should only be exported when they change, + i.e., event-based."; + } + + extension telemetry-atomic { + description + "The telemetry-atomic annotation is specified in the context of + a subtree (containre, or list), and indicates that all nodes + within the subtree are always updated together within the data + model. For example, all elements under the subtree may be updated + as a result of a new alarm being raised, or the arrival of a new + protocol message. + + Transport protocols may use the atomic specification to determine + optimisations for sending or storing the corresponding data."; + } + + extension operational { + description + "The operational annotation is specified in the context of a + grouping, leaf, or leaf-list within a YANG module. It indicates + that the nodes within the context are derived state on the device. + + OpenConfig data models divide nodes into the following three categories: + + - intended configuration - these are leaves within a container named + 'config', and are the writable configuration of a target. + - applied configuration - these are leaves within a container named + 'state' and are the currently running value of the intended configuration. + - derived state - these are the values within the 'state' container which + are not part of the applied configuration of the device. Typically, they + represent state values reflecting underlying operational counters, or + protocol statuses."; + } + + extension catalog-organization { + argument "org" { + yin-element false; + } + description + "This extension specifies the organization name that should be used within + the module catalogue on the device for the specified YANG module. It stores + a pithy string where the YANG organization statement may contain more + details."; + } + + extension origin { + argument "origin" { + yin-element false; + } + description + "This extension specifies the name of the origin that the YANG module + falls within. This allows multiple overlapping schema trees to be used + on a single network element without requiring module based prefixing + of paths."; + } +} diff --git a/vendor/cisco/xr/755/openconfig-if-aggregate.yang b/vendor/cisco/xr/755/openconfig-if-aggregate.yang new file mode 100644 index 000000000..996a8c599 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-if-aggregate.yang @@ -0,0 +1,245 @@ +module openconfig-if-aggregate { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/interfaces/aggregate"; + + prefix "oc-lag"; + + // import some basic types + import openconfig-interfaces { prefix oc-if; } + import openconfig-if-ethernet { prefix oc-eth; } + import iana-if-type { prefix ianaift; } + import openconfig-if-types { prefix oc-ift; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Model for managing aggregated (aka bundle, LAG) interfaces."; + + oc-ext:openconfig-version "2.4.3"; + + revision "2020-05-01" { + description + "Update when statements to reference config nodes + from config true elements."; + reference "2.4.3"; + } + + revision "2019-04-16" { + description + "Update import prefix for iana-if-type module"; + reference "2.4.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "2.3.2"; + } + + revision "2018-03-23" { + description + "Fix/cleanup when statements in aggregates model."; + reference "2.3.1"; + } + + revision "2018-01-05" { + description + "Add logical loopback to interface."; + reference "2.3.0"; + } + + revision "2017-12-22" { + description + "Add IPv4 proxy ARP configuration."; + reference "2.2.0"; + } + + revision "2017-12-21" { + description + "Added IPv6 router advertisement configuration."; + reference "2.1.0"; + } + + revision "2017-07-14" { + description + "Added Ethernet/IP state data; Add dhcp-client; + migrate to OpenConfig types modules; Removed or + renamed opstate values"; + reference "2.0.0"; + } + + revision "2016-12-22" { + description + "Fixes to Ethernet interfaces model"; + reference "1.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + + // feature statements + + // identity statements + + // typedef statements + + typedef aggregation-type { + type enumeration { + enum LACP { + description "LAG managed by LACP"; + } + enum STATIC { + description "Statically configured bundle / LAG"; + } + } + description + "Type to define the lag-type, i.e., how the LAG is + defined and managed"; + } + + // grouping statements + + + grouping aggregation-logical-config { + description + "Configuration data for aggregate interfaces"; + + + leaf lag-type { + type aggregation-type; + description + "Sets the type of LAG, i.e., how it is + configured / maintained"; + } + + leaf min-links { + type uint16; + description + "Specifies the mininum number of member + interfaces that must be active for the aggregate interface + to be available"; + } + } + + grouping aggregation-logical-state { + description + "Operational state data for aggregate interfaces"; + + leaf lag-speed { + type uint32; + units Mbps; + description + "Reports effective speed of the aggregate interface, + based on speed of active member interfaces"; + } + + leaf-list member { + when "../../config/lag-type = 'STATIC'" { + description + "The simple list of member interfaces is active + when the aggregate is statically configured"; + } + type oc-if:base-interface-ref; + description + "List of current member interfaces for the aggregate, + expressed as references to existing interfaces"; + } + } + + grouping aggregation-logical-top { + description "Top-level data definitions for LAGs"; + + container aggregation { + + description + "Options for logical interfaces representing + aggregates"; + + container config { + description + "Configuration variables for logical aggregate / + LAG interfaces"; + + uses aggregation-logical-config; + } + + container state { + + config false; + description + "Operational state variables for logical + aggregate / LAG interfaces"; + + uses aggregation-logical-config; + uses aggregation-logical-state; + + } + } + } + + grouping ethernet-if-aggregation-config { + description + "Adds configuration items for Ethernet interfaces + belonging to a logical aggregate / LAG"; + + leaf aggregate-id { + type leafref { + path "/oc-if:interfaces/oc-if:interface/oc-if:name"; + } + description + "Specify the logical aggregate interface to which + this interface belongs"; + } + } + + // data definition statements + + // augment statements + + augment "/oc-if:interfaces/oc-if:interface" { + + description "Adds LAG configuration to the interface module"; + + uses aggregation-logical-top { + when "oc-if:config/oc-if:type = 'ianaift:ieee8023adLag' or " + + "oc-if:config/oc-if:type = 'oc-ift:IF_AGGREGATE'" { + description + "active when the interface is set to type LAG"; + } + } + } + + augment "/oc-if:interfaces/oc-if:interface/oc-eth:ethernet/" + + "oc-eth:config" { + description + "Adds LAG settings to individual Ethernet interfaces"; + + uses ethernet-if-aggregation-config; + } + + augment "/oc-if:interfaces/oc-if:interface/oc-eth:ethernet/" + + "oc-eth:state" { + description + "Adds LAG settings to individual Ethernet interfaces"; + + uses ethernet-if-aggregation-config; + } + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-if-ethernet-ext.yang b/vendor/cisco/xr/755/openconfig-if-ethernet-ext.yang new file mode 100644 index 000000000..450e2bfd4 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-if-ethernet-ext.yang @@ -0,0 +1,117 @@ +module openconfig-if-ethernet-ext { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/interfaces/ethernet-ext"; + + prefix "oc-eth-ext"; + + // import some basic types + import openconfig-interfaces { prefix oc-if; } + import openconfig-if-ethernet { prefix oc-eth; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module adds extensions to the base ethernet configuration + and operational state model to support additional use cases."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2018-07-10" { + description + "Initial version of Ethernet extensions module to add frame + size distribution stats"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping ethernet-in-frames-size-dist { + description + "Grouping for defining the size distribution of the frames + received"; + + container in-distribution { + description + "The size distribution of the received frames."; + + leaf in-frames-64-octets { + type oc-yang:counter64; + description + "Number of packets (including bad packets) received that + were 64 bytes in length (excluding framing bits but + including FCS bytes)."; + } + + leaf in-frames-65-127-octets { + type oc-yang:counter64; + description + "Number of good and bad packets received that were + between 65 and 127 bytes in length (excluding framing bits + but including FCS bytes)."; + } + + leaf in-frames-128-255-octets { + type oc-yang:counter64; + description + "Number of good and bad packets received that were + between 128 and 255 bytes in length inclusive + (excluding framing bits but including FCS bytes)."; + } + + leaf in-frames-256-511-octets { + type oc-yang:counter64; + description + "Number of good and bad packets received that were + between 256 and 511 bytes in length inclusive + (excluding framing bits but including FCS bytes)."; + } + + leaf in-frames-512-1023-octets { + type oc-yang:counter64; + description + "Number of good and bad packets received that were + between 512 and 1023 bytes in length inclusive + (excluding framing bits but including FCS bytes)."; + } + + leaf in-frames-1024-1518-octets { + type oc-yang:counter64; + description + "Number of good and bad packets received that were + between 1024 and 1518 bytes in length inclusive + (excluding framing bits but including FCS bytes)."; + } + } + } + + // augment statements + + augment "/oc-if:interfaces/oc-if:interface/oc-eth:ethernet/" + + "oc-eth:state/oc-eth:counters" { + description + "Adds size distribution to the ethernet counters"; + + uses ethernet-in-frames-size-dist; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-if-ethernet.yang b/vendor/cisco/xr/755/openconfig-if-ethernet.yang new file mode 100644 index 000000000..d0ff5a2c8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-if-ethernet.yang @@ -0,0 +1,678 @@ +module openconfig-if-ethernet { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/interfaces/ethernet"; + + prefix "oc-eth"; + + // import some basic types + import openconfig-interfaces { prefix oc-if; } + import iana-if-type { prefix ianaift; } + import openconfig-platform-types { prefix oc-platform-types; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Model for managing Ethernet interfaces -- augments the OpenConfig + model for interface configuration and state."; + + oc-ext:openconfig-version "2.12.1"; + + revision "2021-07-20" { + description + "Fix typo in hardware MAC address description."; + reference "2.12.1"; + } + + revision "2021-07-07" { + description + "Add support for configuring fec-mode per interface."; + reference "2.12.0"; + } + + revision "2021-06-16" { + description + "Remove trailing whitespace."; + reference "2.11.1"; + } + + revision "2021-06-09" { + description + "Add support for standalone link training."; + reference "2.11.0"; + } + + revision "2021-05-17" { + description + "Add ethernet counters: in-carrier-errors, + in-interrupted-tx, in-late-collision, in-mac-errors-rx, + in-single-collision, in-symbol-error and out-mac-errors-tx"; + reference "2.10.0"; + } + + revision "2021-03-30" { + description + "Add counter for drops due to oversized frames."; + reference "2.9.0"; + } + + revision "2020-05-06" { + description + "Minor formatting fix."; + reference "2.8.1"; + } + + revision "2020-05-06" { + description + "Add 200G, 400G, 600G and 800G Ethernet speeds."; + reference "2.8.0"; + } + + revision "2020-05-05" { + description + "Fix when statement checks to use rw paths when + from a rw context."; + reference "2.7.3"; + } + + revision "2019-04-16" { + description + "Update import prefix for iana-if-type module"; + reference "2.7.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "2.6.2"; + } + + revision "2018-09-04" { + description + "Remove in-crc-align-errors as it is a duplicate of + in-crc-errors"; + reference "2.6.1"; + } + + revision "2018-08-28" { + description + "Add Ethernet counter in-block-errors"; + reference "2.6.0"; + } + + revision "2018-07-02" { + description + "Add new ethernet counters of in-undersize-frames, + in-crc-align-errors and the distribution container"; + reference "2.5.0"; + } + + revision "2018-04-10" { + description + "Add identities for 2.5 and 5 Gbps."; + reference "2.4.0"; + } + + revision "2018-01-05" { + description + "Add logical loopback to interface."; + reference "2.3.0"; + } + + revision "2017-12-21" { + description + "Added IPv6 router advertisement configuration."; + reference "2.1.0"; + } + + revision "2017-07-14" { + description + "Added Ethernet/IP state data; Add dhcp-client; + migrate to OpenConfig types modules; Removed or + renamed opstate values"; + reference "2.0.0"; + } + + revision "2016-12-22" { + description + "Fixes to Ethernet interfaces model"; + reference "1.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + identity INTERFACE_FEC { + description + "Base type to specify FEC modes that can be configured on the interface. + These are FEC modes defined for applying to logical interfaces and their + underlying electrical channels."; + } + + identity FEC_FC { + base INTERFACE_FEC; + description + "Firecode is used for channels with NRZ modulation and speeds less than 100G. + This FEC is designed to comply with the IEEE 802.3, Clause 74."; + } + + identity FEC_RS528 { + base INTERFACE_FEC; + description + "RS528 is used for channels with NRZ modulation. This FEC is designed to + comply with IEEE 802.3, Clause 91."; + } + + identity FEC_RS544 { + base INTERFACE_FEC; + description + "RS544 is used for channels with PAM4 modulation."; + } + + identity FEC_RS544_2X_INTERLEAVE { + base INTERFACE_FEC; + description + "RS544-2x-interleave is used for channels with PAM4 modulation."; + } + + identity FEC_DISABLED { + base INTERFACE_FEC; + description + "FEC is administratively disabled."; + } + + identity ETHERNET_SPEED { + description "base type to specify available Ethernet link + speeds"; + } + + identity SPEED_10MB { + base ETHERNET_SPEED; + description "10 Mbps Ethernet"; + } + + identity SPEED_100MB { + base ETHERNET_SPEED; + description "100 Mbps Ethernet"; + } + + identity SPEED_1GB { + base ETHERNET_SPEED; + description "1 Gbps Ethernet"; + } + + identity SPEED_2500MB { + base ETHERNET_SPEED; + description "2.5 Gbps Ethernet"; + } + + identity SPEED_5GB { + base ETHERNET_SPEED; + description "5 Gbps Ethernet"; + } + + identity SPEED_10GB { + base ETHERNET_SPEED; + description "10 Gbps Ethernet"; + } + + identity SPEED_25GB { + base ETHERNET_SPEED; + description "25 Gbps Ethernet"; + } + + identity SPEED_40GB { + base ETHERNET_SPEED; + description "40 Gbps Ethernet"; + } + + identity SPEED_50GB { + base ETHERNET_SPEED; + description "50 Gbps Ethernet"; + } + + identity SPEED_100GB { + base ETHERNET_SPEED; + description "100 Gbps Ethernet"; + } + + identity SPEED_200GB { + base ETHERNET_SPEED; + description "200 Gbps Ethernet"; + } + + identity SPEED_400GB { + base ETHERNET_SPEED; + description "400 Gbps Ethernet"; + } + + identity SPEED_600GB { + base ETHERNET_SPEED; + description "600 Gbps Ethernet"; + } + + identity SPEED_800GB { + base ETHERNET_SPEED; + description "800 Gbps Ethernet"; + } + + identity SPEED_UNKNOWN { + base ETHERNET_SPEED; + description + "Interface speed is unknown. Systems may report + speed UNKNOWN when an interface is down or unpopuplated (e.g., + pluggable not present)."; + } + + // typedef statements + + + // grouping statements + + grouping ethernet-interface-config { + description "Configuration items for Ethernet interfaces"; + + leaf mac-address { + type oc-yang:mac-address; + description + "Assigns a MAC address to the Ethernet interface. If not + specified, the corresponding operational state leaf is + expected to show the system-assigned MAC address."; + } + + leaf auto-negotiate { + type boolean; + default true; + 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."; + reference + "IEEE 802.3-2012 auto-negotiation transmission parameters"; + } + + leaf standalone-link-training { + type boolean; + default false; + description + "Link training is automatic tuning of the SerDes transmit and + receive parameters to ensure an optimal connection over copper + links. It is normally run as part of the auto negotiation + sequence as specified in IEEE 802.3 Clause 73. + + Standalone link training is used when full auto negotiation is + not desired on an Ethernet link but link training is needed. + It is configured by setting the standalone-link-training leaf + to TRUE and augo-negotiate leaf to FALSE. + + Note: If auto-negotiate is true, then the value of standalone + link training leaf will be ignored."; + } + + leaf duplex-mode { + type enumeration { + enum FULL { + description "Full duplex mode"; + } + enum HALF { + description "Half duplex mode"; + } + } + description + "When auto-negotiate is TRUE, this optionally sets the + duplex mode that will be advertised to the peer. If + unspecified, the interface should negotiate the duplex mode + directly (typically full-duplex). When auto-negotiate is + FALSE, this sets the duplex mode on the interface directly."; + } + + leaf port-speed { + type identityref { + base ETHERNET_SPEED; + } + description + "When auto-negotiate is TRUE, this optionally sets the + port-speed mode that will be advertised to the peer for + negotiation. If unspecified, it is expected that the + interface will select the highest speed available based on + negotiation. When auto-negotiate is set to FALSE, sets the + link speed to a fixed value -- supported values are defined + by ETHERNET_SPEED identities"; + } + + leaf enable-flow-control { + type boolean; + default false; + 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."; + reference + "IEEE 802.3x"; + } + + leaf fec-mode { + type identityref { + base INTERFACE_FEC; + } + description + "The FEC mode applied to the physical channels associated with + the interface."; + } + } + + grouping ethernet-interface-state-counters { + description + "Ethernet-specific counters and statistics"; + + // ingress counters + + leaf in-mac-control-frames { + type oc-yang:counter64; + description + "MAC layer control frames received on the interface"; + } + + leaf in-mac-pause-frames { + type oc-yang:counter64; + description + "MAC layer PAUSE frames received on the interface"; + } + + leaf in-oversize-frames { + type oc-yang:counter64; + description + "The total number of frames received that were + longer than 1518 octets (excluding framing bits, + but including FCS octets) and were otherwise + well formed."; + } + + leaf in-undersize-frames { + type oc-yang:counter64; + description + "The total number of frames received that were + less than 64 octets long (excluding framing bits, + but including FCS octets) and were otherwise well + formed."; + reference + "RFC 2819: Remote Network Monitoring MIB - + etherStatsUndersizePkts"; + } + + leaf in-jabber-frames { + type oc-yang:counter64; + 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 oc-yang:counter64; + description + "The total number of frames 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)."; + } + + leaf in-8021q-frames { + type oc-yang:counter64; + description + "Number of 802.1q tagged frames received on the interface"; + } + + leaf in-crc-errors { + type oc-yang:counter64; + description + "The total number of frames 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)"; + reference + "RFC 2819: Remote Network Monitoring MIB - + etherStatsCRCAlignErrors"; + } + + leaf in-block-errors { + type oc-yang:counter64; + description + "The number of received errored blocks. Error detection codes + are capable of detecting whether one or more errors have + occurred in a given sequence of bits the block. It is + normally not possible to determine the exact number of errored + bits within the block"; + } + + leaf in-carrier-errors { + type oc-yang:counter64; + description + "The number of received errored frames due to a carrier issue. + The value refers to MIB counter for + dot3StatsCarrierSenseErrors + oid=1.3.6.1.2.1.10.7.2.1.11"; + reference + "RFC 1643 Definitions of Managed + Objects for the Ethernet-like Interface Types."; + } + + leaf in-interrupted-tx { + type oc-yang:counter64; + description + "The number of received errored frames due to interrupted + transmission issue. The value refers to MIB counter for + dot3StatsDeferredTransmissions + oid=1.3.6.1.2.1.10.7.2.1.7"; + reference + "RFC 1643 Definitions of Managed + Objects for the Ethernet-like Interface Types."; + } + + leaf in-late-collision { + type oc-yang:counter64; + description + "The number of received errored frames due to late collision + issue. The value refers to MIB counter for + dot3StatsLateCollisions + oid=1.3.6.1.2.1.10.7.2.1.8"; + reference + "RFC 1643 Definitions of Managed + Objects for the Ethernet-like Interface Types."; + } + + leaf in-mac-errors-rx { + type oc-yang:counter64; + description + "The number of received errored frames due to MAC errors + received. The value refers to MIB counter for + dot3StatsInternalMacReceiveErrors + oid=1.3.6.1.2.1.10.7.2.1.16"; + reference + "RFC 1643 Definitions of Managed + Objects for the Ethernet-like Interface Types."; + } + + leaf in-single-collision { + type oc-yang:counter64; + description + "The number of received errored frames due to single collision + issue. The value refers to MIB counter for + dot3StatsSingleCollisionFrames + oid=1.3.6.1.2.1.10.7.2.1.4"; + reference + "RFC 1643 Definitions of Managed + Objects for the Ethernet-like Interface Types."; + } + + leaf in-symbol-error { + type oc-yang:counter64; + description + "The number of received errored frames due to symbol error. + The value refers to MIB counter for + in-symbol-error + oid=1.3.6.1.2.1.10.7.2.1.18"; + reference + "RFC 1643 Definitions of Managed + Objects for the Ethernet-like Interface Types."; + } + + leaf in-maxsize-exceeded { + type oc-yang:counter64; + description + "The total number frames received that are well-formed but + dropped due to exceeding the maximum frame size on the interface + (e.g., MTU or MRU)"; + } + + // egress counters + + leaf out-mac-control-frames { + type oc-yang:counter64; + description + "MAC layer control frames sent on the interface"; + } + + leaf out-mac-pause-frames { + type oc-yang:counter64; + description + "MAC layer PAUSE frames sent on the interface"; + } + + leaf out-8021q-frames { + type oc-yang:counter64; + description + "Number of 802.1q tagged frames sent on the interface"; + } + + leaf out-mac-errors-tx { + type oc-yang:counter64; + description + "The number of sent errored frames due to MAC errors + transmitted. The value refers to MIB counter for + dot3StatsInternalMacTransmitErrors + oid=1.3.6.1.2.1.10.7.2.1.10"; + reference + "RFC 1643 Definitions of Managed + Objects for the Ethernet-like Interface Types."; + } + + } + + grouping ethernet-interface-state { + description + "Grouping for defining Ethernet-specific operational state"; + + leaf hw-mac-address { + type oc-yang:mac-address; + description + "Represents the 'burned-in', or system-assigned, MAC + address for the Ethernet interface."; + } + + leaf negotiated-duplex-mode { + type enumeration { + enum FULL { + description "Full duplex mode"; + } + enum HALF { + description "Half duplex mode"; + } + } + 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 identityref { + base ETHERNET_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."; + } + + container counters { + description "Ethernet interface counters"; + + uses ethernet-interface-state-counters; + } + } + + // data definition statements + + grouping ethernet-top { + description "top-level Ethernet config and state containers"; + + container ethernet { + description + "Top-level container for ethernet configuration + and state"; + + container config { + description "Configuration data for ethernet interfaces"; + + uses ethernet-interface-config; + + } + + container state { + + config false; + description "State variables for Ethernet interfaces"; + + uses ethernet-interface-config; + uses ethernet-interface-state; + + } + + } + } + + // augment statements + + augment "/oc-if:interfaces/oc-if:interface" { + description "Adds addtional Ethernet-specific configuration to + interfaces model"; + + uses ethernet-top { + when "oc-if:config/oc-if:type = 'ianaift:ethernetCsmacd'" { + description "Additional interface configuration parameters when + the interface type is Ethernet"; + } + } + } + + // rpc statements + + // notification statements + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-if-ip-ext.yang b/vendor/cisco/xr/755/openconfig-if-ip-ext.yang new file mode 100644 index 000000000..2a8d5c1ea --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-if-ip-ext.yang @@ -0,0 +1,179 @@ +module openconfig-if-ip-ext { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/interfaces/ip-ext"; + + prefix "oc-ip-ext"; + + import openconfig-interfaces { prefix oc-if; } + import openconfig-if-ip { prefix oc-ip; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module adds extensions to the base IP configuration and + operational state model to support additional use cases."; + + oc-ext:openconfig-version "2.3.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "2.3.1"; + } + + revision "2018-01-05" { + description + "Add logical loopback to interface."; + reference "2.3.0"; + } + + revision "2017-12-21" { + description + "Added IPv6 router advertisement configuration."; + reference "2.1.0"; + } + + revision "2017-07-14" { + description + "Added Ethernet/IP state data; Add dhcp-client; + migrate to OpenConfig types modules; Removed or + renamed opstate values"; + reference "2.0.0"; + } + + revision "2016-12-22" { + description + "Fixes to Ethernet interfaces model"; + reference "1.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + + grouping ipv6-autoconf-config { + description + "Configuration data for IPv6 address autoconfiguration"; + + leaf create-global-addresses { + type boolean; + default true; + description + "[adapted from IETF IP model RFC 7277] + + If enabled, the host creates global addresses as + described in RFC 4862."; + reference + "RFC 4862: IPv6 Stateless Address Autoconfiguration + Section 5.5"; + } + leaf create-temporary-addresses { + type boolean; + default false; + description + "[adapted from IETF IP model RFC 7277] + + If enabled, the host creates temporary addresses as + described in RFC 4941."; + reference + "RFC 4941: Privacy Extensions for Stateless Address + Autoconfiguration in IPv6"; + } + + leaf temporary-valid-lifetime { + type uint32; + units "seconds"; + default 604800; + description + "[adapted from IETF IP model RFC 7277] + + The time period during which the temporary address + is valid."; + reference + "RFC 4941: Privacy Extensions for Stateless Address + Autoconfiguration in IPv6 + - TEMP_VALID_LIFETIME"; + } + + leaf temporary-preferred-lifetime { + type uint32; + units "seconds"; + default 86400; + description + "[adapted from IETF IP model RFC 7277] + + The time period during which the temporary address is + preferred."; + reference + "RFC 4941: Privacy Extensions for Stateless Address + Autoconfiguration in IPv6 + - TEMP_PREFERRED_LIFETIME"; + } + } + + grouping ipv6-autoconf-state { + description + "Operational state data for IPv6 address autoconfiguration"; + + //TODO: placeholder for additional opstate for IPv6 autoconf + } + + grouping ipv6-autoconf-top { + description + "Top-level grouping for IPv6 address autoconfiguration"; + + container autoconf { + description + "Top-level container for IPv6 autoconf"; + + container config { + description + "[adapted from IETF IP model RFC 7277] + + Parameters to control the autoconfiguration of IPv6 + addresses, as described in RFC 4862."; + reference + "RFC 4862: IPv6 Stateless Address Autoconfiguration"; + + uses ipv6-autoconf-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses ipv6-autoconf-config; + uses ipv6-autoconf-state; + } + } + } + + // data definition statements + + // augment statements + + augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + + "oc-if:subinterface/oc-ip:ipv6" { + description + "Adds address autoconfiguration to the base IP model"; + + uses ipv6-autoconf-top; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-if-ip.yang b/vendor/cisco/xr/755/openconfig-if-ip.yang new file mode 100644 index 000000000..580b98046 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-if-ip.yang @@ -0,0 +1,1328 @@ +module openconfig-if-ip { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/interfaces/ip"; + + prefix "oc-ip"; + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-vlan { prefix oc-vlan; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This model defines data for managing configuration and + operational state on IP (IPv4 and IPv6) interfaces. + + This model reuses data items defined in the IETF YANG model for + interfaces described by RFC 7277 with an alternate structure + (particularly for operational state data) and with + additional configuration items. + + Portions of this code were derived from IETF RFC 7277. + Please reproduce this note if possible. + + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "3.0.0"; + + revision "2019-01-08" { + description + "Eliminate use of the 'empty' type."; + reference "3.0.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "2.3.1"; + } + + revision "2018-01-05" { + description + "Add logical loopback to interface."; + reference "2.3.0"; + } + + revision "2017-12-21" { + description + "Added IPv6 router advertisement configuration."; + reference "2.1.0"; + } + + revision "2017-07-14" { + description + "Added Ethernet/IP state data; Add dhcp-client; + migrate to OpenConfig types modules; Removed or + renamed opstate values"; + reference "2.0.0"; + } + + revision "2017-04-03"{ + description + "Update copyright notice."; + reference "1.1.1"; + } + + revision "2016-12-22" { + description + "Fixes to Ethernet interfaces model"; + reference "1.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef ip-address-origin { + type enumeration { + enum OTHER { + description + "None of the following."; + } + enum STATIC { + description + "Indicates that the address has been statically + configured - for example, using NETCONF or a Command Line + Interface."; + } + enum DHCP { + description + "Indicates an address that has been assigned to this + system by a DHCP server."; + } + enum LINK_LAYER { + description + "Indicates an address created by IPv6 stateless + autoconfiguration that embeds a link-layer address in its + interface identifier."; + } + enum RANDOM { + description + "Indicates an address chosen by the system at + random, e.g., an IPv4 address within 169.254/16, an + RFC 4941 temporary address, or an RFC 7217 semantically + opaque address."; + reference + "RFC 4941: Privacy Extensions for Stateless Address + Autoconfiguration in IPv6 + RFC 7217: A Method for Generating Semantically Opaque + Interface Identifiers with IPv6 Stateless + Address Autoconfiguration (SLAAC)"; + } + } + description + "The origin of an address."; + } + + typedef neighbor-origin { + type enumeration { + enum OTHER { + description + "None of the following."; + } + enum STATIC { + description + "Indicates that the mapping has been statically + configured - for example, using NETCONF or a Command Line + Interface."; + } + enum DYNAMIC { + description + "Indicates that the mapping has been dynamically resolved + using, e.g., IPv4 ARP or the IPv6 Neighbor Discovery + protocol."; + } + } + description + "The origin of a neighbor entry."; + } + + // grouping statements + + grouping ip-common-global-config { + description + "Shared configuration data for IPv4 or IPv6 assigned + globally on an interface."; + + leaf dhcp-client { + type boolean; + default false; + description + "Enables a DHCP client on the interface in order to request + an address"; + } + } + + grouping ip-common-counters-state { + description + "Operational state for IP traffic statistics for IPv4 and + IPv6"; + + container counters { + description + "Packet and byte counters for IP transmission and + reception for the address family."; + + + leaf in-pkts { + type oc-yang:counter64; + description + "The total number of IP packets received for the specified + address family, including those received in error"; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf in-octets { + type oc-yang:counter64; + description + "The total number of octets received in input IP packets + for the specified address family, including those received + in error."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf in-error-pkts { + // TODO: this counter combines several error conditions -- + // could consider breaking them out to separate leaf nodes + type oc-yang:counter64; + description + "Number of IP packets discarded due to errors for the + specified address family, including errors in the IP + header, no route found to the IP destination, invalid + address, unknown protocol, etc."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf in-forwarded-pkts { + type oc-yang:counter64; + description + "The number of input packets for which the device was not + their final IP destination and for which the device + attempted to find a route to forward them to that final + destination."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf in-forwarded-octets { + type oc-yang:counter64; + description + "The number of octets received in input IP packets + for the specified address family for which the device was + not their final IP destination and for which the + device attempted to find a route to forward them to that + final destination."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf in-discarded-pkts { + type oc-yang:counter64; + 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)."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf out-pkts { + type oc-yang:counter64; + 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."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf out-octets { + type oc-yang:counter64; + 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."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf out-error-pkts { + // TODO: this counter combines several error conditions -- + // could consider breaking them out to separate leaf nodes + type oc-yang:counter64; + 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."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf out-forwarded-pkts { + type oc-yang:counter64; + 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."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf out-forwarded-octets { + type oc-yang:counter64; + 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."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + + leaf out-discarded-pkts { + type oc-yang:counter64; + 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)."; + reference + "RFC 4293 - Management Information Base for the + Internet Protocol (IP)"; + } + } + + } + + + + grouping ipv4-global-config { + description + "Configuration data for IPv4 interfaces across + all addresses assigned to the interface"; + + leaf enabled { + type boolean; + default true; + description + "Controls whether IPv4 is enabled or disabled on this + interface. When IPv4 is enabled, this interface is + connected to an IPv4 stack, and the interface can send + and receive IPv4 packets."; + } + + leaf mtu { + type uint16 { + range "68..max"; + } + units octets; + description + "The size, in octets, of the largest IPv4 packet that the + interface will send and receive. + + The server may restrict the allowed values for this leaf, + depending on the interface's type. + + If this leaf is not configured, the operationally used MTU + depends on the interface's type."; + reference + "RFC 791: Internet Protocol"; + } + + uses ip-common-global-config; + + + } + + grouping ipv4-address-config { + + description + "Per IPv4 adresss configuration data for the + interface."; + + leaf ip { + type oc-inet:ipv4-address; + description + "The IPv4 address on the interface."; + } + + leaf prefix-length { + type uint8 { + range "0..32"; + } + description + "The length of the subnet prefix."; + } + } + + grouping ipv4-neighbor-config { + description + "Per IPv4 neighbor configuration data. Neighbor + entries are analagous to static ARP entries, i.e., they + create a correspondence between IP and link-layer addresses"; + + leaf ip { + type oc-inet:ipv4-address; + description + "The IPv4 address of the neighbor node."; + } + leaf link-layer-address { + type oc-yang:phys-address; + mandatory true; + description + "The link-layer address of the neighbor node."; + } + } + + grouping ipv4-address-state { + description + "State variables for IPv4 addresses on the interface"; + + leaf origin { + type ip-address-origin; + description + "The origin of this address, e.g., statically configured, + assigned by DHCP, etc.."; + } + } + + grouping ipv4-neighbor-state { + description + "State variables for IPv4 neighbor entries on the interface."; + + leaf origin { + type neighbor-origin; + description + "The origin of this neighbor entry, static or dynamic."; + } + } + + grouping ipv6-global-config { + description + "Configuration data at the global level for each + IPv6 interface"; + + leaf enabled { + type boolean; + default true; + description + "Controls whether IPv6 is enabled or disabled on this + interface. When IPv6 is enabled, this interface is + connected to an IPv6 stack, and the interface can send + and receive IPv6 packets."; + } + + leaf mtu { + type uint32 { + range "1280..max"; + } + units octets; + description + "The size, in octets, of the largest IPv6 packet that the + interface will send and receive. + + The server may restrict the allowed values for this leaf, + depending on the interface's type. + + If this leaf is not configured, the operationally used MTU + depends on the interface's type."; + reference + "RFC 2460: Internet Protocol, Version 6 (IPv6) Specification + Section 5"; + } + + leaf dup-addr-detect-transmits { + type uint32; + default 1; + description + "The number of consecutive Neighbor Solicitation messages + sent while performing Duplicate Address Detection on a + tentative address. A value of zero indicates that + Duplicate Address Detection is not performed on + tentative addresses. A value of one indicates a single + transmission with no follow-up retransmissions."; + reference + "RFC 4862: IPv6 Stateless Address Autoconfiguration"; + } + + uses ip-common-global-config; + } + + grouping ipv6-address-config { + description "Per-address configuration data for IPv6 interfaces"; + + leaf ip { + type oc-inet:ipv6-address; + description + "The IPv6 address on the interface."; + } + + leaf prefix-length { + type uint8 { + range "0..128"; + } + mandatory true; + description + "The length of the subnet prefix."; + } + } + + grouping ipv6-address-state { + description + "Per-address operational state data for IPv6 interfaces"; + + leaf origin { + type ip-address-origin; + description + "The origin of this address, e.g., static, dhcp, etc."; + } + + leaf status { + type enumeration { + enum PREFERRED { + description + "This is a valid address that can appear as the + destination or source address of a packet."; + } + enum DEPRECATED { + description + "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."; + } + enum INVALID { + description + "This isn't a valid address, and it shouldn't appear + as the destination or source address of a packet."; + } + enum INACCESSIBLE { + description + "The address is not accessible because the interface + to which this address is assigned is not + operational."; + } + enum UNKNOWN { + description + "The status cannot be determined for some reason."; + } + enum TENTATIVE { + description + "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."; + } + enum DUPLICATE { + description + "The address has been determined to be non-unique on + the link and so must not be used."; + } + enum OPTIMISTIC { + description + "The address is available for use, subject to + restrictions, while its uniqueness on a link is + being verified."; + } + } + description + "The status of an address. Most of the states correspond + to states from the IPv6 Stateless Address + Autoconfiguration protocol."; + reference + "RFC 4293: Management Information Base for the + Internet Protocol (IP) + - IpAddressStatusTC + RFC 4862: IPv6 Stateless Address Autoconfiguration"; + } + } + + grouping ipv6-neighbor-config { + description + "Per-neighbor configuration data for IPv6 interfaces"; + + leaf ip { + type oc-inet:ipv6-address; + description + "The IPv6 address of the neighbor node."; + } + + leaf link-layer-address { + type oc-yang:phys-address; + mandatory true; + description + "The link-layer address of the neighbor node."; + } + } + + grouping ipv6-neighbor-state { + description "Per-neighbor state variables for IPv6 interfaces"; + + leaf origin { + type neighbor-origin; + description + "The origin of this neighbor entry."; + } + leaf is-router { + type boolean; + description + "Indicates that the neighbor node acts as a router."; + } + leaf neighbor-state { + type enumeration { + enum INCOMPLETE { + description + "Address resolution is in progress, and the link-layer + address of the neighbor has not yet been + determined."; + } + enum REACHABLE { + description + "Roughly speaking, the neighbor is known to have been + reachable recently (within tens of seconds ago)."; + } + enum STALE { + 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 DELAY { + 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 PROBE { + description + "The neighbor is no longer known to be reachable, and + unicast Neighbor Solicitation probes are being sent + to verify reachability."; + } + } + description + "The Neighbor Unreachability Detection state of this + entry."; + reference + "RFC 4861: Neighbor Discovery for IP version 6 (IPv6) + Section 7.3.2"; + } + } + + grouping ip-vrrp-ipv6-config { + description + "IPv6-specific configuration data for VRRP on IPv6 + interfaces"; + + leaf virtual-link-local { + type oc-inet:ip-address; + description + "For VRRP on IPv6 interfaces, sets the virtual link local + address"; + } + } + + grouping ip-vrrp-ipv6-state { + description + "IPv6-specific operational state for VRRP on IPv6 interfaces"; + + uses ip-vrrp-ipv6-config; + } + + grouping ip-vrrp-tracking-config { + description + "Configuration data for tracking interfaces + in a VRRP group"; + + leaf-list track-interface { + type leafref { + path "/oc-if:interfaces/oc-if:interface/oc-if:name"; + } + // TODO: we may need to add some restriction to ethernet + // or IP interfaces. + description + "Sets a list of one or more interfaces that should + be tracked for up/down events to dynamically change the + priority state of the VRRP group, and potentially + change the mastership if the tracked interface going + down lowers the priority sufficiently. Any of the tracked + interfaces going down will cause the priority to be lowered. + Some implementations may only support a single + tracked interface."; + } + + leaf priority-decrement { + type uint8 { + range 0..254; + } + default 0; + description "Set the value to subtract from priority when + the tracked interface goes down"; + } + } + + grouping ip-vrrp-tracking-state { + description + "Operational state data for tracking interfaces in a VRRP + group"; + } + + grouping ip-vrrp-tracking-top { + description + "Top-level grouping for VRRP interface tracking"; + + container interface-tracking { + description + "Top-level container for VRRP interface tracking"; + + container config { + description + "Configuration data for VRRP interface tracking"; + + uses ip-vrrp-tracking-config; + } + + container state { + + config false; + + description + "Operational state data for VRRP interface tracking"; + + uses ip-vrrp-tracking-config; + uses ip-vrrp-tracking-state; + } + } + } + + grouping ip-vrrp-config { + description + "Configuration data for VRRP on IP interfaces"; + + leaf virtual-router-id { + type uint8 { + range 1..255; + } + description + "Set the virtual router id for use by the VRRP group. This + usually also determines the virtual MAC address that is + generated for the VRRP group"; + } + + leaf-list virtual-address { + type oc-inet:ip-address; + description + "Configure one or more virtual addresses for the + VRRP group"; + } + + leaf priority { + type uint8 { + range 1..254; + } + default 100; + description + "Specifies the sending VRRP interface's priority + for the virtual router. Higher values equal higher + priority"; + } + + leaf preempt { + type boolean; + default true; + description + "When set to true, enables preemption by a higher + priority backup router of a lower priority master router"; + } + + leaf preempt-delay { + type uint16 { + range 0..3600; + } + default 0; + description + "Set the delay the higher priority router waits + before preempting"; + } + + leaf accept-mode { + type boolean; + // TODO: should we adopt the RFC default given the common + // operational practice of setting to true? + default false; + description + "Configure whether packets destined for + virtual addresses are accepted even when the virtual + address is not owned by the router interface"; + } + + leaf advertisement-interval { + type uint16 { + range 1..4095; + } + // TODO this range is theoretical -- needs to be validated + // against major implementations. + units "centiseconds"; + default 100; + description + "Sets the interval between successive VRRP + advertisements -- RFC 5798 defines this as a 12-bit + value expressed as 0.1 seconds, with default 100, i.e., + 1 second. Several implementation express this in units of + seconds"; + } + } + + grouping ip-vrrp-state { + description + "Operational state data for VRRP on IP interfaces"; + + leaf current-priority { + type uint8; + description "Operational value of the priority for the + interface in the VRRP group"; + } + } + + grouping ip-vrrp-top { + description + "Top-level grouping for Virtual Router Redundancy Protocol"; + + container vrrp { + description + "Enclosing container for VRRP groups handled by this + IP interface"; + + reference "RFC 5798 - Virtual Router Redundancy Protocol + (VRRP) Version 3 for IPv4 and IPv6"; + + list vrrp-group { + key "virtual-router-id"; + description + "List of VRRP groups, keyed by virtual router id"; + + leaf virtual-router-id { + type leafref { + path "../config/virtual-router-id"; + } + description + "References the configured virtual router id for this + VRRP group"; + } + + container config { + description + "Configuration data for the VRRP group"; + + uses ip-vrrp-config; + } + + container state { + + config false; + + description + "Operational state data for the VRRP group"; + + uses ip-vrrp-config; + uses ip-vrrp-state; + } + + uses ip-vrrp-tracking-top; + } + } + } + + grouping ipv6-ra-config { + description + "Configuration parameters for IPv6 router advertisements."; + + leaf interval { + type uint32; + units seconds; + description + "The interval between periodic router advertisement neighbor + discovery messages sent on this interface expressed in + seconds."; + } + + leaf lifetime { + type uint32; + units seconds; + description + "The lifetime advertised in the router advertisement neighbor + discovery message on this interface."; + } + + leaf suppress { + type boolean; + default false; + description + "When set to true, router advertisement neighbor discovery + messages are not transmitted on this interface."; + } + } + + grouping ipv4-proxy-arp-config { + description + "Configuration parameters for IPv4 proxy ARP"; + + leaf mode { + type enumeration { + enum DISABLE { + description + "The system should not respond to ARP requests that + do not specify an IP address configured on the local + subinterface as the target address."; + } + enum REMOTE_ONLY { + description + "The system responds to ARP requests only when the + sender and target IP addresses are in different + subnets."; + } + enum ALL { + description + "The system responds to ARP requests where the sender + and target IP addresses are in different subnets, as well + as those where they are in the same subnet."; + } + } + default "DISABLE"; + description + "When set to a value other than DISABLE, the local system should + respond to ARP requests that are for target addresses other than + those that are configured on the local subinterface using its own + MAC address as the target hardware address. If the REMOTE_ONLY + value is specified, replies are only sent when the target address + falls outside the locally configured subnets on the interface, + whereas with the ALL value, all requests, regardless of their + target address are replied to."; + reference "RFC1027: Using ARP to Implement Transparent Subnet Gateways"; + } + } + + grouping ipv4-top { + description "Top-level configuration and state for IPv4 + interfaces"; + + container ipv4 { + description + "Parameters for the IPv4 address family."; + + container addresses { + description + "Enclosing container for address list"; + + list address { + key "ip"; + description + "The list of configured IPv4 addresses on the interface."; + + leaf ip { + type leafref { + path "../config/ip"; + } + description "References the configured IP address"; + } + + container config { + description "Configuration data for each configured IPv4 + address on the interface"; + + uses ipv4-address-config; + + } + + container state { + + config false; + description "Operational state data for each IPv4 address + configured on the interface"; + + uses ipv4-address-config; + uses ipv4-address-state; + } + + } + } + + container proxy-arp { + description + "Configuration and operational state parameters + relating to proxy ARP. This functionality allows a + system to respond to ARP requests that are not + explicitly destined to the local system."; + + container config { + description + "Configuration parameters for proxy ARP"; + uses ipv4-proxy-arp-config; + } + + container state { + config false; + description + "Operational state parameters for proxy ARP"; + uses ipv4-proxy-arp-config; + } + } + + container neighbors { + description + "Enclosing container for neighbor list"; + + list neighbor { + key "ip"; + description + "A list of mappings from IPv4 addresses to + link-layer addresses. + + Entries in this list are used as static entries in the + ARP Cache."; + reference + "RFC 826: An Ethernet Address Resolution Protocol"; + + leaf ip { + type leafref { + path "../config/ip"; + } + description "References the configured IP address"; + } + + container config { + description "Configuration data for each configured IPv4 + address on the interface"; + + uses ipv4-neighbor-config; + + } + + container state { + + config false; + description "Operational state data for each IPv4 address + configured on the interface"; + + uses ipv4-neighbor-config; + uses ipv4-neighbor-state; + } + } + } + + uses oc-if:sub-unnumbered-top; + + container config { + description + "Top-level IPv4 configuration data for the interface"; + + uses ipv4-global-config; + } + + container state { + + config false; + description + "Top level IPv4 operational state data"; + + uses ipv4-global-config; + uses ip-common-counters-state; + } + } + } + + grouping ipv6-top { + description + "Top-level configuration and state for IPv6 interfaces"; + + container ipv6 { + description + "Parameters for the IPv6 address family."; + + container addresses { + description + "Enclosing container for address list"; + + list address { + key "ip"; + description + "The list of configured IPv6 addresses on the interface."; + + leaf ip { + type leafref { + path "../config/ip"; + } + description "References the configured IP address"; + } + + container config { + description + "Configuration data for each IPv6 address on + the interface"; + + uses ipv6-address-config; + + } + + container state { + + config false; + description + "State data for each IPv6 address on the + interface"; + + uses ipv6-address-config; + uses ipv6-address-state; + } + } + } + + container router-advertisement { + description + "Configuration and operational state parameters relating to + router advertisements."; + + container config { + description + "Configuration parameters relating to router advertisements + for IPv6."; + uses ipv6-ra-config; + } + + container state { + config false; + description + "Operational state parameters relating to router + advertisements for IPv6."; + uses ipv6-ra-config; + } + } + + container neighbors { + description + "Enclosing container for list of IPv6 neighbors"; + + list neighbor { + key "ip"; + description + "List of IPv6 neighbors"; + + leaf ip { + type leafref { + path "../config/ip"; + } + description + "References the configured IP neighbor address"; + } + + container config { + description "Configuration data for each IPv6 address on + the interface"; + + uses ipv6-neighbor-config; + + } + + container state { + + config false; + description "State data for each IPv6 address on the + interface"; + + uses ipv6-neighbor-config; + uses ipv6-neighbor-state; + } + } + } + uses oc-if:sub-unnumbered-top; + + container config { + description "Top-level config data for the IPv6 interface"; + + uses ipv6-global-config; + } + + container state { + config false; + description + "Top-level operational state data for the IPv6 interface"; + + uses ipv6-global-config; + uses ip-common-counters-state; + + } + } + } + + // augment statements + + augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + + "oc-if:subinterface" { + description + "IPv4 address family configuration for + interfaces"; + + uses ipv4-top; + + } + + augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + + "oc-if:subinterface" { + description + "IPv6 address family configuration for + interfaces"; + + uses ipv6-top; + + } + + // VRRP for IPv4 interfaces + + augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + + "oc-if:subinterface/oc-ip:ipv4/oc-ip:addresses/oc-ip:address" { + + description + "Additional IP addr family configuration for + interfaces"; + + uses ip-vrrp-top; + + } + + // VRRP for IPv6 interfaces + + augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + + "oc-if:subinterface/oc-ip:ipv6/oc-ip:addresses/oc-ip:address" { + description + "Additional IP addr family configuration for + interfaces"; + + uses ip-vrrp-top; + + } + + augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + + "oc-if:subinterface/oc-ip:ipv6/oc-ip:addresses/oc-ip:address/" + + "vrrp/vrrp-group/config" { + description + "Additional VRRP data for IPv6 interfaces"; + + uses ip-vrrp-ipv6-config; + } + + augment "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/" + + "oc-if:subinterface/oc-ip:ipv6/oc-ip:addresses/oc-ip:address/vrrp/" + + "vrrp-group/state" { + description + "Additional VRRP data for IPv6 interfaces"; + + uses ip-vrrp-ipv6-state; + } + + // Augments for for routed VLANs + + augment "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan" { + description + "IPv4 address family configuration for + interfaces"; + + uses ipv4-top; + } + + augment "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan" { + description + "IPv6 address family configuration for + interfaces"; + + uses ipv6-top; + } + + // VRRP for routed VLAN interfaces + + augment "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/" + + "oc-ip:ipv4/oc-ip:addresses/oc-ip:address" { + description + "Additional IP addr family configuration for + interfaces"; + + uses ip-vrrp-top; + + } + + augment "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/" + + "oc-ip:ipv6/oc-ip:addresses/oc-ip:address" { + description + "Additional IP addr family configuration for + interfaces"; + + uses ip-vrrp-top; + + } + + augment "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/" + + "oc-ip:ipv6/oc-ip:addresses/oc-ip:address/vrrp/vrrp-group/config" { + description + "Additional VRRP data for IPv6 interfaces"; + + uses ip-vrrp-ipv6-config; + } + + + augment "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/" + + "oc-ip:ipv6/oc-ip:addresses/oc-ip:address/vrrp/vrrp-group/state" { + description + "Additional VRRP data for IPv6 interfaces"; + + uses ip-vrrp-ipv6-state; + } + + // rpc statements + + // notification statements +} diff --git a/vendor/cisco/xr/755/openconfig-if-tunnel.yang b/vendor/cisco/xr/755/openconfig-if-tunnel.yang new file mode 100644 index 000000000..3003699d5 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-if-tunnel.yang @@ -0,0 +1,120 @@ +module openconfig-if-tunnel { + yang-version "1"; + + namespace "http://openconfig.net/yang/interfaces/tunnel"; + + prefix "oc-tun"; + + import openconfig-interfaces { prefix oc-if; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-inet-types { prefix oc-inet; } + import openconfig-if-ip { prefix oc-ip; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This model adds extensions to the OpenConfig interfaces + model to configure tunnel interfaces on a network + device."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2018-01-05" { + description + "Initial tunnel model"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping tunnel-top { + description + "Top-level grouping for parameters related to + a tunnel interface."; + + container tunnel { + description + "In the case that the interface is logical tunnel + interface, the parameters for the tunnel are + specified within this subtree. Tunnel interfaces + have only a single logical subinterface associated + with them."; + + container config { + description + "Configuration parameters associated with the + tunnel interface"; + uses tunnel-config; + } + + container state { + config false; + description + "Operational state parameters associated with + the tunnel interface."; + uses tunnel-config; + } + + uses oc-ip:ipv4-top; + uses oc-ip:ipv6-top; + } + } + + grouping tunnel-config { + description + "Configuraton parameters relating to a tunnel + interface."; + + leaf src { + type oc-inet:ip-address; + description + "The source address that should be used for the + tunnel."; + } + + leaf dst { + type oc-inet:ip-address; + description + "The destination address for the tunnel."; + } + + leaf ttl { + type uint8 { + range "1..255"; + } + description + "The time-to-live (or hop limit) that should be utilised + for the IP packets used for the tunnel transport."; + } + + leaf gre-key { + type uint32; + description + "The GRE key to be specified for the tunnel. The + key is used to identify a traffic flow within + a tunnel."; + reference + "RFC2890: Key and Sequence Number Extensions to GRE"; + } + } + + augment "/oc-if:interfaces/oc-if:interface" { + description + "Augment to add tunnel configuration to interfaces"; + uses tunnel-top; + } +} diff --git a/vendor/cisco/xr/755/openconfig-if-types.yang b/vendor/cisco/xr/755/openconfig-if-types.yang new file mode 100644 index 000000000..37438785b --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-if-types.yang @@ -0,0 +1,98 @@ +module openconfig-if-types { + yang-version "1"; + + namespace "http://openconfig.net/yang/openconfig-if-types"; + + prefix "oc-ift"; + + // import statements + import openconfig-extensions { prefix oc-ext; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module contains a set of interface type definitions that + are used across OpenConfig models. These are generally physical + or logical interfaces, distinct from hardware ports (which are + described by the OpenConfig platform model)."; + + oc-ext:openconfig-version "0.2.0"; + + revision "2018-01-05" { + description + "Add tunnel types into the INTERFACE_TYPE identity."; + reference "0.2.0"; + } + + revision "2016-11-14" { + description + "Initial version"; + reference "0.1.0"; + } + + + identity INTERFACE_TYPE { + description + "Base identity from which interface types are derived."; + } + + identity IF_ETHERNET { + base INTERFACE_TYPE; + description + "Ethernet interfaces based on IEEE 802.3 standards, as well + as FlexEthernet"; + reference + "IEEE 802.3-2015 - IEEE Standard for Ethernet + OIF Flex Ethernet Implementation Agreement 1.0"; + } + + identity IF_AGGREGATE { + base INTERFACE_TYPE; + description + "An aggregated, or bonded, interface forming a + Link Aggregation Group (LAG), or bundle, most often based on + the IEEE 802.1AX (or 802.3ad) standard."; + reference + "IEEE 802.1AX-2008"; + } + + identity IF_LOOPBACK { + base INTERFACE_TYPE; + description + "A virtual interface designated as a loopback used for + various management and operations tasks."; + } + + identity IF_ROUTED_VLAN { + base INTERFACE_TYPE; + description + "A logical interface used for routing services on a VLAN. + Such interfaces are also known as switch virtual interfaces + (SVI) or integrated routing and bridging interfaces (IRBs)."; + } + + identity IF_SONET { + base INTERFACE_TYPE; + description + "SONET/SDH interface"; + } + + identity IF_TUNNEL_GRE4 { + base INTERFACE_TYPE; + description + "A GRE tunnel over IPv4 transport."; + } + + identity IF_TUNNEL_GRE6 { + base INTERFACE_TYPE; + description + "A GRE tunnel over IPv6 transport."; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-igmp-types.yang b/vendor/cisco/xr/755/openconfig-igmp-types.yang new file mode 100644 index 000000000..b459a4c58 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-igmp-types.yang @@ -0,0 +1,50 @@ +module openconfig-igmp-types { + yang-version "1"; + // namespace + namespace "http://openconfig.net/yang/igmp/types"; + prefix "oc-igmp-types"; + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + // meta + organization + "OpenConfig working group"; + contact + "OpenConfig working group + www.openconfig.net"; + description + "This module defines types related to the IGMP protocol model."; + oc-ext:openconfig-version "0.1.1"; + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + revision "2018-02-19" { + description + "Initial revision."; + reference "0.1.0"; + } + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + // typedef statements + typedef igmp-version { + type uint8 { + range 1..3; + } + description + "IGMP Version."; + reference "v1 = RFC1112, v2 = RFC2236, v3 = RFC3376"; + } + typedef igmp-interval-type { + type uint16 { + range 1..1024; + } + units "seconds"; + description + "Interval at which the router sends the IGMP query message toward + the upstream neighbor."; + reference "RFC3376 8.2 Page 40"; + } +} diff --git a/vendor/cisco/xr/755/openconfig-igmp.yang b/vendor/cisco/xr/755/openconfig-igmp.yang new file mode 100644 index 000000000..c22f6d61a --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-igmp.yang @@ -0,0 +1,306 @@ +module openconfig-igmp { + yang-version "1"; + // namespace + namespace "http://openconfig.net/yang/igmp"; + prefix "oc-igmp"; + // import some basic types/interfaces + import openconfig-igmp-types { prefix oc-igmp-types; } + import openconfig-types { prefix "oc-types"; } + import openconfig-acl { prefix "oc-acl"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-interfaces { prefix oc-if; } + import ietf-inet-types { prefix "inet"; } + // meta + organization + "OpenConfig working group"; + contact + "OpenConfig working group + www.openconfig.net"; + description + "An OpenConfig model for Internet Group Management Protocol (IGMP)."; + oc-ext:openconfig-version "0.2.0"; + revision "2019-07-09" { + description + "Re-indent module to two spaces. + Normalise timeticks64 usage to nanoseconds."; + reference "0.2.0"; + } + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + revision "2018-02-19" { + description + "Initial revision."; + reference "0.1.0"; + } + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + grouping admin-config { + description + "Re-usable grouping to enable or disable a particular feature."; + leaf enabled { + type boolean; + default false; + description + "When set to true, the functionality within which this + leaf is defined is enabled, when set to false it is + explicitly disabled."; + } + } + grouping igmp-interface-config { + description + "Configuration data for IGMP on each interface."; + leaf interface-id { + type oc-if:interface-id; + description + "Reference to an interface on which IGMP is enabled."; + } + uses admin-config; + leaf version { + type oc-igmp-types:igmp-version; + description + "IGMP Version."; + } + leaf query-interval { + type oc-igmp-types:igmp-interval-type; + description + "Interval at which the router sends the IGMP membership + queries."; + } + leaf filter-prefixes { + type string; + // TODO work out what this should be. + // On Juniper it's a "policy" and on Cisco a sort of "class map" + description + "List used to filter joins."; + } + } + grouping igmp-counters-per-version { + description + "Counters for each IGMP protocol version."; + container state { + config false; + description + "Counters for each IGMP protocol version."; + leaf v1 { + type uint32; + description + "IGMP v1."; + } + leaf v2 { + type uint32; + description + "IGMP v2."; + } + leaf v3 { + type uint32; + description + "IGMP v3."; + } + } + } + grouping igmp-interface-counters { + description + "State and session data for IGMP on each interface."; + container counters { + description + "Counters avaiable on a per interface bases for IGMP."; + container queries { + description + "IGMP membership queries."; + container sent { + description + "Number of IGMP membership queries sent."; + uses igmp-counters-per-version; + } + container received { + description + "Number of IGMP membership queries received."; + uses igmp-counters-per-version; + } + } + container reports { + description + "Number of IGMP membership reports received."; + uses igmp-counters-per-version; + } + } + } + grouping igmp-snooping-state { + description + "IGMP membership snooping state."; + leaf group { + type inet:ipv4-address; + description + "Multicast address."; + } + leaf source { + type inet:ipv4-address; + description + "Source address of multicast."; + } + leaf reporter { + type inet:ipv4-address; + description + "Address of the last reporter."; + } + } + grouping igmp-snooping-structural { + description + "IGMP membership information determined through snooping."; + container membership-groups { + description + "List of IGMP Membership information."; + list group { + key "group"; + config false; + description + "Multicast group membership."; + leaf group { + type leafref { + path "../state/group"; + } + description + "Multicast address."; + } + container state { + config false; + description + "Multicast group membership."; + uses igmp-snooping-state; + } + } + } + } + grouping igmp-interface-state { + description + "IGMP interface state."; + leaf query-expires { + type oc-types:timeticks64; + description + "This timestamp indicates the time that the next query is sent + expressed relative to the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + } + grouping igmp-interface-top { + description + "Configuration and state data for IGMP on each interface."; + container interfaces { + description + "The interfaces on which IGMP is configured."; + list interface { + key "interface-id"; + description + "This container defines interface IGMP configuration and + state information."; + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "Reference to an interface on which IGMP is enabled."; + } + container config { + description + "IGMP interface configuration."; + uses igmp-interface-config; + } + container state { + config false; + description + "This container defines state information for IGMP + interfaces."; + uses igmp-interface-state; + uses igmp-interface-config; + } + uses igmp-interface-counters; + uses igmp-snooping-structural; + uses oc-if:interface-ref; + } + } + } + grouping igmp-ssm-maps-config { + description + "A Source Specific Multicast (SSM) mapping. This allows + IGMP v2 hosts to be able to join in SSM environments + by translating IGMP v2 reports into IGMP v3 reports. + The request in an IGMP v2 join is sent toward the source + address found by matching the multicast address."; + leaf source { + type inet:ipv4-address; + description + "Multicast source address."; + } + leaf ssm-ranges { + type leafref { + path "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/" + + "oc-acl:config/oc-acl:name"; + } + description + "List of accepted source specific multicast (SSM) address + ranges."; + } + } + grouping igmp-global-config { + description + "This grouping defines global config options for IGMP."; + } + grouping igmp-global-top { + description + "Top level grouping for global IGMP configuration."; + container ssm { + description + "Source specific multicast (SSM)."; + container mappings { + description + "A list of source specific multicast (SSM) mappings."; + list mapping { + key "source"; + description + "A Source Specific Multicast (SSM) mapping. This allows + IGMP v2 hosts to be able to join in SSM environments + by translating IGMP v2 reports into IGMP v3 reports. + The request in an IGMP v2 join is sent toward the source + address found by matching the multicast address."; + leaf source { + type leafref { + path "../config/source"; + } + description + "Multicast source address."; + } + container config { + description + "Configuration for SSM maps."; + uses igmp-ssm-maps-config; + } + container state { + config false; + description + "State for SSM maps."; + uses igmp-ssm-maps-config; + } + } + } + } + } + grouping igmp-top { + description + "Top-level grouping for IGMP."; + container igmp { + description + "Top-level IGMP configuration and operational state."; + container global { + description + "Global IGMP configuration and operational state."; + uses igmp-global-top; + } + uses igmp-interface-top; + } + } + // data definition statements +} diff --git a/vendor/cisco/xr/755/openconfig-inet-types.yang b/vendor/cisco/xr/755/openconfig-inet-types.yang new file mode 100644 index 000000000..40ffd16f8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-inet-types.yang @@ -0,0 +1,435 @@ +module openconfig-inet-types { + + yang-version "1"; + namespace "http://openconfig.net/yang/types/inet"; + prefix "oc-inet"; + + import openconfig-extensions { prefix "oc-ext"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module contains a set of Internet address related + types for use in OpenConfig modules. + + Portions of this code were derived from IETF RFC 6021. + Please reproduce this note if possible. + + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "0.4.1"; + + revision "2021-07-14" { + description + "Use auto-generated regex for ipv4 pattern statements: + - ipv4-address + - ipv4-address-zoned + - ipv4-prefix"; + reference "0.4.1"; + } + + revision "2021-01-07" { + description + "Remove module extension oc-ext:regexp-posix by making pattern regexes + conform to RFC7950. + + Types impacted: + - ipv4-address + - ipv4-address-zoned + - ipv6-address + - domain-name"; + reference "0.4.0"; + } + + revision "2020-10-12" { + description + "Fix anchors for domain-name pattern."; + reference "0.3.5"; + } + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions and add anchors for domain-name + pattern."; + reference "0.3.4"; + } + + revision "2019-04-25" { + description + "Fix regex bug for ipv6-prefix type"; + reference "0.3.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.2"; + } + + revision 2017-08-24 { + description + "Minor formatting fixes."; + reference "0.3.1"; + } + + revision 2017-07-06 { + description + "Add domain-name and host typedefs"; + reference "0.3.0"; + } + + revision 2017-04-03 { + description + "Add ip-version typedef."; + reference "0.2.0"; + } + + revision 2017-04-03 { + description + "Update copyright notice."; + reference "0.1.1"; + } + + revision 2017-01-26 { + description + "Initial module for inet types"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // IPv4 and IPv6 types. + + typedef ipv4-address { + type string { + pattern + '([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|' + + '[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}'; + oc-ext:posix-pattern + '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|' + + '[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3})$'; + } + description + "An IPv4 address in dotted quad notation using the default + zone."; + } + + typedef ipv4-address-zoned { + type string { + pattern + '([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|' + + '[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(%[a-zA-Z0-9_]+)'; + oc-ext:posix-pattern + '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|' + + '[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(%[a-zA-Z0-9_]+))$'; + } + description + "An IPv4 address in dotted quad notation. This type allows + specification of a zone index to disambiguate identical + address values. For link-local addresses, the index is + typically the interface index or interface name."; + } + + typedef ipv6-address { + type string { + pattern + // Must support compression through different lengths + // therefore this regexp is complex. + '(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')'; + oc-ext:posix-pattern + // Must support compression through different lengths + // therefore this regexp is complex. + '^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')$'; + } + description + "An IPv6 address represented as either a full address; shortened + or mixed-shortened formats, using the default zone."; + } + + typedef ipv6-address-zoned { + type string { + pattern + // Must support compression through different lengths + // therefore this regexp is complex. + '^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')(%[a-zA-Z0-9_]+)$'; + oc-ext:posix-pattern + // Must support compression through different lengths + // therefore this regexp is complex. + '^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')(%[a-zA-Z0-9_]+)$'; + } + description + "An IPv6 address represented as either a full address; shortened + or mixed-shortened formats. This type allows specification of + a zone index to disambiguate identical address values. For + link-local addresses, the index is typically the interface + index or interface name."; + } + + typedef ipv4-prefix { + type string { + pattern + '([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|' + + '[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}/([0-9]|[12][0-9]|' + + '3[0-2])'; + oc-ext:posix-pattern + '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|' + + '[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}/([0-9]|[12][0-9]|' + + '3[0-2]))$'; + } + description + "An IPv4 prefix represented in dotted quad notation followed by + a slash and a CIDR mask (0 <= mask <= 32)."; + } + + typedef ipv6-prefix { + type string { + pattern + '(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9])'; + oc-ext:posix-pattern + '^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9])$'; + } + description + "An IPv6 prefix represented in full, shortened, or mixed + shortened format followed by a slash and CIDR mask + (0 <= mask <= 128)."; + } + + typedef ip-address { + type union { + type ipv4-address; + type ipv6-address; + } + description + "An IPv4 or IPv6 address with no prefix specified."; + } + + typedef ip-prefix { + type union { + type ipv4-prefix; + type ipv6-prefix; + } + description + "An IPv4 or IPv6 prefix."; + } + + typedef ip-version { + type enumeration { + enum UNKNOWN { + value 0; + description + "An unknown or unspecified version of the Internet + protocol."; + } + enum IPV4 { + value 4; + description + "The IPv4 protocol as defined in RFC 791."; + } + enum IPV6 { + value 6; + description + "The IPv6 protocol as defined in RFC 2460."; + } + } + description + "This value represents the version of the IP protocol. + Note that integer representation of the enumerated values + are not specified, and are not required to follow the + InetVersion textual convention in SMIv2."; + reference + "RFC 791: Internet Protocol + RFC 2460: Internet Protocol, Version 6 (IPv6) Specification + RFC 4001: Textual Conventions for Internet Network Addresses"; + } + + typedef domain-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]\.?)' + + '|\.)'; + oc-ext:posix-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 + "The domain-name type represents a DNS domain name. + Fully quallified left to the models which utilize this type. + + Internet domain names are only loosely specified. Section + 3.5 of RFC 1034 recommends a syntax (modified in Section + 2.1 of RFC 1123). The pattern above is intended to allow + for current practice in domain name use, and some possible + future expansion. It is designed to hold various types of + domain names, including names used for A or AAAA records + (host names) and other records, such as SRV records. Note + that Internet host names have a stricter syntax (described + in RFC 952) than the DNS recommendations in RFCs 1034 and + 1123, and that systems that want to store host names in + schema nodes using the domain-name type are recommended to + adhere to this stricter standard to ensure interoperability. + + The encoding of DNS names in the DNS protocol is limited + to 255 characters. Since the encoding consists of labels + prefixed by a length bytes and there is a trailing NULL + byte, only 253 characters can appear in the textual dotted + notation. + + Domain-name values use the US-ASCII encoding. Their canonical + format uses lowercase US-ASCII characters. Internationalized + domain names MUST be encoded in punycode as described in RFC + 3492"; + } + + typedef host { + type union { + type ip-address; + type domain-name; + } + description + "The host type represents either an unzoned IP address or a DNS + domain name."; + } + + typedef as-number { + type uint32; + description + "A numeric identifier for an autonomous system (AS). An AS is a + single domain, under common administrative control, which forms + a unit of routing policy. Autonomous systems can be assigned a + 2-byte identifier, or a 4-byte identifier which may have public + or private scope. Private ASNs are assigned from dedicated + ranges. Public ASNs are assigned from ranges allocated by IANA + to the regional internet registries (RIRs)."; + reference + "RFC 1930 Guidelines for creation, selection, and registration + of an Autonomous System (AS) + RFC 4271 A Border Gateway Protocol 4 (BGP-4)"; + } + + typedef dscp { + type uint8 { + range "0..63"; + } + description + "A differentiated services code point (DSCP) marking within the + IP header."; + reference + "RFC 2474 Definition of the Differentiated Services Field + (DS Field) in the IPv4 and IPv6 Headers"; + } + + typedef ipv6-flow-label { + type uint32 { + range "0..1048575"; + } + description + "The IPv6 flow-label is a 20-bit value within the IPv6 header + which is optionally used by the source of the IPv6 packet to + label sets of packets for which special handling may be + required."; + reference + "RFC 2460 Internet Protocol, Version 6 (IPv6) Specification"; + } + + typedef port-number { + type uint16; + description + "A 16-bit port number used by a transport protocol such as TCP + or UDP."; + reference + "RFC 768 User Datagram Protocol + RFC 793 Transmission Control Protocol"; + } + + typedef uri { + type string; + description + "An ASCII-encoded Uniform Resource Identifier (URI) as defined + in RFC 3986."; + reference + "RFC 3986 Uniform Resource Identifier (URI): Generic Syntax"; + } + + typedef url { + type string; + description + "An ASCII-encoded Uniform Resource Locator (URL) as defined + in RFC 3986, section 1.1.3"; + reference + "RFC 3986, paragraph 1.1.3"; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-interfaces.yang b/vendor/cisco/xr/755/openconfig-interfaces.yang new file mode 100644 index 000000000..a91d43980 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-interfaces.yang @@ -0,0 +1,1106 @@ +module openconfig-interfaces { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/interfaces"; + + prefix "oc-if"; + + // import some basic types + import ietf-interfaces { prefix ietf-if; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-types { prefix oc-types; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Model for managing network interfaces and subinterfaces. This + module also defines convenience types / groupings for other + models to create references to interfaces: + + base-interface-ref (type) - reference to a base interface + interface-ref (grouping) - container for reference to a + interface + subinterface + interface-ref-state (grouping) - container for read-only + (opstate) reference to interface + subinterface + + This model reuses data items defined in the IETF YANG model for + interfaces described by RFC 7223 with an alternate structure + (particularly for operational state data) and with + additional configuration items. + + Portions of this code were derived from IETF RFC 7223. + Please reproduce this note if possible. + + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "2.5.0"; + + revision "2021-04-06" { + description + "Add leaves for management and cpu interfaces"; + reference "2.5.0"; + } + + revision "2019-11-19" { + description + "Update description of interface name."; + reference "2.4.3"; + } + + revision "2019-07-10" { + description + "Remove redundant nanosecond units statements to reflect + universal definition of timeticks64 type."; + reference "2.4.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "2.4.1"; + } + + revision "2018-08-07" { + description + "Add leaf to indicate whether an interface is physical or + logical."; + reference "2.4.0"; + } + + revision "2018-07-02" { + description + "Add in-pkts and out-pkts in counters"; + reference "2.3.2"; + } + + revision "2018-04-24" { + description + "Clarified behavior of last-change state leaf"; + reference "2.3.1"; + } + + revision "2018-01-05" { + description + "Add logical loopback to interface."; + reference "2.3.0"; + } + + revision "2017-12-22" { + description + "Add IPv4 proxy ARP configuration."; + reference "2.2.0"; + } + + revision "2017-12-21" { + description + "Added IPv6 router advertisement configuration."; + reference "2.1.0"; + } + + revision "2017-07-14" { + description + "Added Ethernet/IP state data; Add dhcp-client; + migrate to OpenConfig types modules; Removed or + renamed opstate values"; + reference "2.0.0"; + } + + revision "2017-04-03" { + description + "Update copyright notice."; + reference "1.1.1"; + } + + revision "2016-12-22" { + description + "Fixes to Ethernet interfaces model"; + reference "1.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef base-interface-ref { + type leafref { + path "/oc-if:interfaces/oc-if:interface/oc-if:name"; + } + description + "Reusable type for by-name reference to a base interface. + This type may be used in cases where ability to reference + a subinterface is not required."; + } + + typedef interface-id { + type string; + description + "User-defined identifier for an interface, generally used to + name a interface reference. The id can be arbitrary but a + useful convention is to use a combination of base interface + name and subinterface index."; + } + + // grouping statements + + grouping interface-ref-common { + description + "Reference leafrefs to interface / subinterface"; + + leaf interface { + type leafref { + path "/oc-if:interfaces/oc-if:interface/oc-if:name"; + } + 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 leafref { + path "/oc-if:interfaces/" + + "oc-if:interface[oc-if:name=current()/../interface]/" + + "oc-if:subinterfaces/oc-if:subinterface/oc-if:index"; + } + 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."; + } + } + + grouping interface-ref-state-container { + description + "Reusable opstate w/container for a reference to an + interface or subinterface"; + + container state { + config false; + description + "Operational state for interface-ref"; + + uses interface-ref-common; + } + } + + grouping interface-ref { + description + "Reusable definition for a reference to an interface or + subinterface"; + + container interface-ref { + description + "Reference to an interface or subinterface"; + + container config { + description + "Configured reference to interface / subinterface"; + oc-ext:telemetry-on-change; + + uses interface-ref-common; + } + + uses interface-ref-state-container; + } + } + + grouping interface-ref-state { + description + "Reusable opstate w/container for a reference to an + interface or subinterface"; + + container interface-ref { + description + "Reference to an interface or subinterface"; + + uses interface-ref-state-container; + } + } + + grouping base-interface-ref-state { + description + "Reusable opstate w/container for a reference to a + base interface (no subinterface)."; + + container state { + config false; + description + "Operational state for base interface reference"; + + leaf interface { + type base-interface-ref; + description + "Reference to a base interface."; + } + } + } + + + grouping interface-common-config { + description + "Configuration data data nodes common to physical interfaces + and subinterfaces"; + + leaf description { + type string; + description + "A textual description of the interface. + + A server implementation MAY map this leaf to the ifAlias + MIB object. Such an implementation needs to use some + mechanism to handle the differences in size and characters + allowed between this leaf and ifAlias. The definition of + such a mechanism is outside the scope of this document. + + Since ifAlias is defined to be stored in non-volatile + storage, the MIB implementation MUST map ifAlias to the + value of 'description' in the persistently stored + datastore. + + Specifically, if the device supports ':startup', when + ifAlias is read the device MUST return the value of + 'description' in the 'startup' datastore, and when it is + written, it MUST be written to the 'running' and 'startup' + datastores. Note that it is up to the implementation to + + decide whether to modify this single leaf in 'startup' or + perform an implicit copy-config from 'running' to + 'startup'. + + If the device does not support ':startup', ifAlias MUST + be mapped to the 'description' leaf in the 'running' + datastore."; + reference + "RFC 2863: The Interfaces Group MIB - ifAlias"; + } + + leaf enabled { + type boolean; + default "true"; + description + "This leaf contains the configured, desired state of the + interface. + + Systems that implement the IF-MIB use the value of this + leaf in the 'running' datastore to set + IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry + has been initialized, as described in RFC 2863. + + Changes in this leaf in the 'running' datastore are + reflected in ifAdminStatus, but if ifAdminStatus is + changed over SNMP, this leaf is not affected."; + reference + "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; + } + + } + + grouping interface-phys-config { + description + "Configuration data for physical interfaces"; + + leaf name { + type string; + description + "The name of the interface. + + A device MAY restrict the allowed values for this leaf, + possibly depending on the type of the interface. + For system-controlled interfaces, this leaf is the + device-specific name of the interface. The 'config false' + list interfaces/interface[name]/state contains the currently + existing interfaces on the device. + + If a client tries to create configuration for a + system-controlled interface that is not present in the + corresponding state list, the server MAY reject + the request if the implementation does not support + pre-provisioning of interfaces or if the name refers to + an interface that can never exist in the system. A + NETCONF server MUST reply with an rpc-error with the + error-tag 'invalid-value' in this case. + + The IETF model in RFC 7223 provides YANG features for the + following (i.e., pre-provisioning and arbitrary-names), + however they are omitted here: + + If the device supports pre-provisioning of interface + configuration, the 'pre-provisioning' feature is + advertised. + + If the device allows arbitrarily named user-controlled + interfaces, the 'arbitrary-names' feature is advertised. + + When a configured user-controlled interface is created by + the system, it is instantiated with the same name in the + /interfaces/interface[name]/state list."; + } + + leaf type { + type identityref { + base ietf-if:interface-type; + } + mandatory true; + description + "The type of the interface. + + 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."; + reference + "RFC 2863: The Interfaces Group MIB - ifType"; + } + + leaf mtu { + type uint16; + description + "Set the max transmission unit size in octets + for the physical interface. If this is not set, the mtu is + set to the operational default -- e.g., 1514 bytes on an + Ethernet interface."; + } + + leaf loopback-mode { + type boolean; + default false; + description + "When set to true, the interface is logically looped back, + such that packets that are forwarded via the interface + are received on the same interface."; + } + + uses interface-common-config; + } + + grouping interface-phys-holdtime-config { + description + "Configuration data for interface hold-time settings -- + applies to physical interfaces."; + + leaf up { + type uint32; + units milliseconds; + default 0; + description + "Dampens advertisement when the interface + transitions from down to up. A zero value means dampening + is turned off, i.e., immediate notification."; + } + + leaf down { + type uint32; + units milliseconds; + default 0; + description + "Dampens advertisement when the interface transitions from + up to down. A zero value means dampening is turned off, + i.e., immediate notification."; + } + } + + grouping interface-phys-holdtime-state { + description + "Operational state data for interface hold-time."; + } + + grouping interface-phys-holdtime-top { + description + "Top-level grouping for setting link transition + dampening on physical and other types of interfaces."; + + container hold-time { + description + "Top-level container for hold-time settings to enable + dampening advertisements of interface transitions."; + + container config { + description + "Configuration data for interface hold-time settings."; + oc-ext:telemetry-on-change; + + uses interface-phys-holdtime-config; + } + + container state { + + config false; + + description + "Operational state data for interface hold-time."; + + uses interface-phys-holdtime-config; + uses interface-phys-holdtime-state; + } + } + } + + grouping interface-common-state { + description + "Operational state data (in addition to intended configuration) + at the global level for this interface"; + + oc-ext:operational; + + leaf ifindex { + type uint32; + description + "System assigned number for each interface. Corresponds to + ifIndex object in SNMP Interface MIB"; + reference + "RFC 2863 - The Interfaces Group MIB"; + oc-ext:telemetry-on-change; + } + + leaf admin-status { + type enumeration { + enum UP { + description + "Ready to pass packets."; + } + enum DOWN { + description + "Not ready to pass packets and not in some test mode."; + } + enum TESTING { + //TODO: This is generally not supported as a configured + //admin state, though it's in the standard interfaces MIB. + //Consider removing it. + description + "In some test mode."; + } + } + //TODO:consider converting to an identity to have the + //flexibility to remove some values defined by RFC 7223 that + //are not used or not implemented consistently. + mandatory true; + description + "The desired state of the interface. In RFC 7223 this leaf + has the same read semantics as ifAdminStatus. Here, it + reflects the administrative state as set by enabling or + disabling the interface."; + reference + "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; + oc-ext:telemetry-on-change; + } + + leaf oper-status { + type enumeration { + enum UP { + value 1; + description + "Ready to pass packets."; + } + enum DOWN { + value 2; + description + "The interface does not pass any packets."; + } + enum TESTING { + value 3; + description + "In some test mode. No operational packets can + be passed."; + } + enum UNKNOWN { + value 4; + description + "Status cannot be determined for some reason."; + } + enum DORMANT { + value 5; + description + "Waiting for some external event."; + } + enum NOT_PRESENT { + value 6; + description + "Some component (typically hardware) is missing."; + } + enum LOWER_LAYER_DOWN { + value 7; + description + "Down due to state of lower-layer interface(s)."; + } + } + //TODO:consider converting to an identity to have the + //flexibility to remove some values defined by RFC 7223 that + //are not used or not implemented consistently. + mandatory true; + description + "The current operational state of the interface. + + This leaf has the same semantics as ifOperStatus."; + reference + "RFC 2863: The Interfaces Group MIB - ifOperStatus"; + oc-ext:telemetry-on-change; + } + + leaf last-change { + type oc-types:timeticks64; + description + "This timestamp indicates the absolute time of the last + state change of the interface (e.g., up-to-down transition). + This is different than the SNMP ifLastChange object in the + standard interface MIB in that it is not relative to the + system boot time (i.e,. sysUpTime). + + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + oc-ext:telemetry-on-change; + } + + leaf logical { + type boolean; + description + "When set to true, the interface is a logical interface + which does not have an associated physical port or + channel on the system."; + oc-ext:telemetry-on-change; + } + + leaf management { + type boolean; + description + "When set to true, the interface is a dedicated + management interface that is not connected to dataplane + interfaces. It may be used to connect the system to an + out-of-band management network, for example."; + oc-ext:telemetry-on-change; + } + + leaf cpu { + type boolean; + description + "When set to true, the interface is for traffic + that is handled by the system CPU, sometimes also called the + control plane interface. On systems that represent the CPU + interface as an Ethernet interface, for example, this leaf + should be used to distinguish the CPU interface from dataplane + interfaces."; + oc-ext:telemetry-on-change; + } + } + + + grouping interface-counters-state { + description + "Operational state representing interface counters + and statistics."; + + //TODO: we may need to break this list of counters into those + //that would appear for physical vs. subinterface or logical + //interfaces. For now, just replicating the full stats + //grouping to both interface and subinterface. + + oc-ext:operational; + + container counters { + description + "A collection of interface-related statistics objects."; + + leaf in-octets { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCInOctets"; + } + + leaf in-pkts { + type oc-yang:counter64; + description + "The total number of packets received on the interface, + including all unicast, multicast, broadcast and bad packets + etc."; + reference + "RFC 2819: Remote Network Monitoring Management Information + Base"; + } + + leaf in-unicast-pkts { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts"; + } + + leaf in-broadcast-pkts { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCInBroadcastPkts"; + } + + leaf in-multicast-pkts { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCInMulticastPkts"; + } + + leaf in-discards { + type oc-yang:counter64; + 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 + 'last-clear'."; + + + reference + "RFC 2863: The Interfaces Group MIB - ifInDiscards"; + } + + leaf in-errors { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifInErrors"; + } + + leaf in-unknown-protos { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos"; + } + + leaf in-fcs-errors { + type oc-yang:counter64; + description + "Number of received packets which had errors in the + frame check sequence (FCS), i.e., framing errors. + + Discontinuities in the value of this counter can occur + when the device is re-initialization as indicated by the + value of 'last-clear'."; + } + + leaf out-octets { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCOutOctets"; + } + + leaf out-pkts { + type oc-yang:counter64; + description + "The total number of packets transmitted out of the + interface, including all unicast, multicast, broadcast, + and bad packets etc."; + reference + "RFC 2819: Remote Network Monitoring Management Information + Base"; + } + + leaf out-unicast-pkts { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts"; + } + + leaf out-broadcast-pkts { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCOutBroadcastPkts"; + } + + + leaf out-multicast-pkts { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - + ifHCOutMulticastPkts"; + } + + leaf out-discards { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifOutDiscards"; + } + + leaf out-errors { + type oc-yang:counter64; + 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 + 'last-clear'."; + reference + "RFC 2863: The Interfaces Group MIB - ifOutErrors"; + } + + leaf carrier-transitions { + type oc-yang:counter64; + description + "Number of times the interface state has transitioned + between up and down since the time the device restarted + or the last-clear time, whichever is most recent."; + oc-ext:telemetry-on-change; + } + + leaf last-clear { + type oc-types:timeticks64; + description + "Timestamp of the last time the interface counters were + cleared. + + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + oc-ext:telemetry-on-change; + } + } + } + + // data definition statements + + grouping sub-unnumbered-config { + description + "Configuration data for unnumbered subinterfaces"; + + leaf enabled { + type boolean; + default false; + description + "Indicates that the subinterface is unnumbered. By default + the subinterface is numbered, i.e., expected to have an + IP address configuration."; + } + } + + grouping sub-unnumbered-state { + description + "Operational state data unnumbered subinterfaces"; + } + + grouping sub-unnumbered-top { + description + "Top-level grouping unnumbered subinterfaces"; + + container unnumbered { + description + "Top-level container for setting unnumbered interfaces. + Includes reference the interface that provides the + address information"; + + container config { + description + "Configuration data for unnumbered interface"; + oc-ext:telemetry-on-change; + + uses sub-unnumbered-config; + } + + container state { + + config false; + + description + "Operational state data for unnumbered interfaces"; + + uses sub-unnumbered-config; + uses sub-unnumbered-state; + } + + uses oc-if:interface-ref; + } + } + + grouping subinterfaces-config { + description + "Configuration data for subinterfaces"; + + leaf index { + type uint32; + default 0; + description + "The index of the subinterface, or logical interface number. + On systems with no support for subinterfaces, or not using + subinterfaces, this value should default to 0, i.e., the + default subinterface."; + } + + uses interface-common-config; + + } + + grouping subinterfaces-state { + description + "Operational state data for subinterfaces"; + + oc-ext:operational; + + leaf name { + type string; + description + "The system-assigned name for the sub-interface. This MAY + be a combination of the base interface name and the + subinterface index, or some other convention used by the + system."; + oc-ext:telemetry-on-change; + } + + uses interface-common-state; + uses interface-counters-state; + } + + grouping subinterfaces-top { + description + "Subinterface data for logical interfaces associated with a + given interface"; + + container subinterfaces { + description + "Enclosing container for the list of subinterfaces associated + with a physical interface"; + + list subinterface { + key "index"; + + description + "The list of subinterfaces (logical interfaces) associated + with a physical interface"; + + leaf index { + type leafref { + path "../config/index"; + } + description + "The index number of the subinterface -- used to address + the logical interface"; + } + + container config { + description + "Configurable items at the subinterface level"; + oc-ext:telemetry-on-change; + + uses subinterfaces-config; + } + + container state { + + config false; + description + "Operational state data for logical interfaces"; + + uses subinterfaces-config; + uses subinterfaces-state; + } + } + } + } + + grouping interfaces-top { + description + "Top-level grouping for interface configuration and + operational state data"; + + container interfaces { + description + "Top level container for interfaces, including configuration + and state data."; + + + list interface { + key "name"; + + description + "The list of named interfaces on the device."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "References the name of the interface"; + //TODO: need to consider whether this should actually + //reference the name in the state subtree, which + //presumably would be the system-assigned name, or the + //configured name. Points to the config/name now + //because of YANG 1.0 limitation that the list + //key must have the same "config" as the list, and + //also can't point to a non-config node. + } + + container config { + description + "Configurable items at the global, physical interface + level"; + oc-ext:telemetry-on-change; + + uses interface-phys-config; + } + + container state { + + config false; + description + "Operational state data at the global interface level"; + + uses interface-phys-config; + uses interface-common-state; + uses interface-counters-state; + } + + uses interface-phys-holdtime-top; + uses subinterfaces-top; + } + } + } + + uses interfaces-top; + +} diff --git a/vendor/cisco/xr/755/openconfig-isis-lsdb-types.yang b/vendor/cisco/xr/755/openconfig-isis-lsdb-types.yang new file mode 100644 index 000000000..db6e5f783 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-isis-lsdb-types.yang @@ -0,0 +1,703 @@ +module openconfig-isis-lsdb-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/isis-lsdb-types"; + + prefix "oc-isis-lsdb-types"; + + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module contains general LSDB type definitions for use in + ISIS YANG model. "; + + oc-ext:openconfig-version "0.4.2"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.2"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements."; + reference "0.4.1"; + } + + revision "2018-05-14" { + description + "Update LSDB model to correct Extended IS reach TLV + bug. This change is backwards incompatible due to + adding an additional level of hierarchy to support + multiple instances of the TLV."; + reference "0.4.0"; + } + + revision "2017-07-26" { + description + "Update LSDB and fix bugs."; + reference "0.3.2"; + } + + revision "2017-05-15" { + description + "Refactor LSDB."; + reference "0.3.0"; + } + + revision "2017-01-13" { + description + "Remove top-level /isis container"; + reference "0.2.1"; + } + + revision "2016-12-15" { + description + "Add segment routing to IS-IS module"; + reference "0.2.0"; + } + + revision "2016-10-18" { + description + "Initial revision of IS-IS models."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + identity ISIS_TLV_TYPE { + description + "Base identity for an ISIS TLV type."; + } + + identity ISIS_SUBTLV_TYPE { + description + "Base identity for an ISIS SUB-TLV type."; + } + + identity IS_REACHABILITY_SUBTLVS_TYPE { + base "ISIS_SUBTLV_TYPE"; + description + "Base identity for an ISIS TLV 22, 23, 222, 223, 141 SUB-TLV + type."; + } + + identity IP_REACHABILITY_SUBTLVS_TYPE { + base "ISIS_SUBTLV_TYPE"; + description + "Base identity for an ISIS TLV 135, 235, 236, 237 SUB-TLV + type."; + } + + identity ROUTER_CAPABILITY_SUBTLVS_TYPE { + base "ISIS_SUBTLV_TYPE"; + description + "Base identity for an ISIS TLV 242 SUB-TLV type."; + } + + identity AREA_ADDRESSES { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 1. Intermediate System to Intermediate System Intra- + Domain Routeing Exchange Protocol for use in Conjunction with + the Protocol for Providing the Connectionless-mode Network + Service (ISO 8473), International Standard 10589: 2002, Second + Edition, 2002."; + reference + "ISO 10589"; + } + + identity IIS_NEIGHBORS { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 2. Intermediate System to Intermediate System Intra- + Domain Routeing Exchange Protocol for use in Conjunction with + the Protocol for Providing the Connectionless-mode Network + Service (ISO 8473), International Standard 10589: 2002, Second + Edition, 2002."; + reference + "ISO 10589"; + } + + identity INSTANCE_ID { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 7. An Instance Identifier (IID) to uniquely + identify an IS-IS instance. When the IID = 0, the list of + supported ITIDs MUST NOT be present. An IID-TLV with IID = 0 + MUST NOT appear in an SNP or LSP. When the TLV appears (with a + non-zero IID) in an SNP or LSP, exactly one ITID. MUST be + present indicating the topology with which the PDU is + associated. If no ITIDs or multiple ITIDs are present or the + IID is zero, then the PDU MUST be ignored"; + reference + "RFC6822: IS-IS Multi-Instance"; + } + + identity AUTHENTICATION { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 10.Intermediate System to Intermediate System Intra- + Domain Routeing Exchange Protocol for use in Conjunction with + the Protocol for Providing the Connectionless-mode Network + Service (ISO 8473) International Standard 10589: 2002, Second + Edition, 2002."; + reference + "ISO 10589"; + } + + identity PURGE_OI { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 13. If an IS generates a purge, it SHOULD include + this TLV in the purge with its own system ID. If an IS + receives a purge that does not include this TLV, then it SHOULD + add this TLV with both its own system ID and the system ID of + the IS from which it received the purge. This allows ISs + receiving purges to log the system ID of the originator, or the + upstream source of the purge."; + reference + "RFC6232: Purge Originator Identification TLV"; + } + + identity LSP_BUFFER_SIZE { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 14. The maximum MTU that the advertising system can + receive, expressed in bytes."; + reference + "ISO 10589: LSP Buffer Size TLV"; + } + + identity EXTENDED_IS_REACHABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 22. An extended IS reachability TLV that has a + different data structure to TLV 2 that introduces the use of + sub-TLV object-group."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering"; + } + + identity IS_NEIGHBOR_ATTRIBUTE { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 23. Identical in format to TLV 22 and included in + Original LSPs or Extended LSPs. Regardless of the type of LSP + in which the TLVs appear, the information pertains to the + neighbor relationship between the Originating System and the IS + identified in the TLV"; + reference + "RFC5311: Simplified Extension of Link State PDU (LSP) Space + for IS-IS"; + } + + identity ISIS_ALIAS_ID { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 24. IS-Alias TLV which extension-capable ISs to + recognize the Originating System of an Extended LSP set. It + identifies the Normal system-id of the Originating System"; + reference + "RFC5311: Simplified Extension of Link State PDU (LSP) Space + for IS-IS"; + } + + identity IPV4_INTERNAL_REACHABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 128. TLV defines IP addresses within the routing + domain reachable directly via one or more interfaces on this + Intermediate system"; + reference + "RFC1195: OSI ISIS for IP and Dual Environments. RFC5302: + Domain-Wide Prefix Distribution with Two-Level IS-IS"; + } + + identity NLPID { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 129. TLV defines the set Network Layer Protocol + Identifiers for Network Layer protocols that this Intermediate + System is capable of relaying"; + reference + "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and + Dual Environments"; + } + + identity IPV4_EXTERNAL_REACHABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 130. TLV defines IP addresses outside the routing + domain reachable via interfaces on this Intermediate system. + This is permitted to appear multiple times, and in an LSP with + any LSP number. However, this field must not appear in + pseudonode LSPs"; + reference " + RFC1195: OSI ISIS for IP and Dual Environments. RFC5302: + Domain-Wide Prefix Distribution with Two-Level IS-IS"; + } + + identity IPV4_INTERFACE_ADDRESSES { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 132. The IP address of one or more interfaces + corresponding to the SNPAs enabled on this Intermediate system + (i.e., one or more IP addresses of this router). This is + permitted to appear multiple times, and in an LSP with any LSP + number."; + reference + "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual + Environments"; + } + + identity IPV4_TE_ROUTER_ID { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 134. Traffic Engineering router ID TLV that contains + the 4-octet router ID of the router originating the LSP"; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering"; + } + + identity EXTENDED_IPV4_REACHABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 135. Extended IP reachability TLV that provides for a + 32-bit metric and adds one bit to indicate that a prefix has + been redistributed _down_ in the hierarchy"; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering"; + } + + identity DYNAMIC_NAME { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 137. The Dynamic hostname TLV is optional. This TLV + may be present in any fragment of a non-pseudonode LSP. The + value field identifies the symbolic name of the router + originating the LSP. This symbolic name can be the FQDN for the + router, it can be a subset of the FQDN, or it can be any string + operators want to use for the router."; + reference + "RFC6233: IS-IS Registry Extension for Purges, RFC 5301: Dynamic + Hostname Exchange Mechanism for IS-IS."; + } + + identity IPV4_SRLG { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 138. IPv4 Shared Risk Link Group TLV"; + reference + "RFC5307: IS-IS Extensions in Support of Generalized + Multi-Protocol Label Switching (GMPLS)"; + } + + identity IPV6_SRLG { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 139. IPv6 Shared Risk Link Group"; + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS"; + } + + identity IPV6_TE_ROUTER_ID { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 140. The IPv6 TE Router ID TLV contains a 16-octet + IPv6 address. A stable global IPv6 address MUST be used, so that + the router ID provides a routable address, regardless of the + state of a node's interfaces. If a router does not implement + traffic engineering, it MAY include or omit the IPv6 TE Router + ID TLV. If a router implements traffic engineering for IPv6, it + MUST include this TLV in its LSP. This TLV MUST NOT be included + more than once in an LSP."; + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS."; + } + + identity MT_ISN { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 222. TLV is aligned with extended IS reachability TLV + type 22 beside an additional two bytes in front at the beginning + of the TLV that. indicate MT membership."; + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate + System to Intermediate Systems (IS-ISs)"; + } + + identity MT_IS_NEIGHBOR_ATTRIBUTE { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 223. Is is identical in format to TLV 222. In the + event that there is a need to advertise in Extended LSPs such + information associated with neighbors of the Originating System, + it is necessary to define new TLVs to carry the sub-TLV + information."; + reference + "RFC5311: Simplified Extension of Link State PDU (LSP) Space for + IS-IS"; + } + + identity MULTI_TOPOLOGY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 229. This MT TLV can advertise up to 127 MTs. It is + announced in IIHs and LSP fragment 0, and can occur multiple + times. The resulting MT set SHOULD be the union of all the MT + TLV occurrences in the packet. Any other IS-IS PDU occurrence of + this TLV MUST be ignored. Lack of MT TLV in hellos and fragment + zero LSPs MUST be interpreted as participation of the + advertising interface or router in MT ID #0 only. If a router + advertises MT TLV, it has to advertise all the MTs it + participates in, specifically including topology ID #0 also."; + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate + System to Intermediate Systems (IS-ISs)"; + } + + identity IPV6_INTERFACE_ADDRESSES { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 232. IPv6 Interface Address TLV that maps directly to + the IP Interface Address TLV in [RFC1195]. We necessarily modify + the contents to be 0-15 16-octet IPv6 interface addresses + instead of 0-63 4-octet IPv4 interface addresses"; + reference "RFC5308: Routing IPv6 with IS-IS."; + } + + identity MT_IPV4_REACHABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 235. TLV is aligned with extended IP reachability TLV + type 135 beside an additional two bytes in front to indicate MT + membership"; + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate + System to Intermediate Systems (IS-ISs)"; + } + + identity IPV6_REACHABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 236. The IPv6 Reachability TLV describes network + reachability through the specification of a routing prefix, + metric information, a bit to indicate if the prefix is being + advertised down from a higher level, a bit to indicate if the + prefix is being distributed from another routing protocol, and + OPTIONALLY the existence of Sub-TLVs to allow for later + extension."; + reference + "RFC5308: Routing IPv6 with IS-IS"; + } + + identity MT_IPV6_REACHABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 237. TLV is aligned with IPv6 Reachability TLV type + 236 beside an additional two bytes in front to indicate MT + membership."; + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate + System to Intermediate Systems (IS-ISs)."; + } + + identity ROUTER_CAPABILITY { + base "ISIS_TLV_TYPE"; + description + "ISIS TLV 242. IS-IS TLV named CAPABILITY, formed of multiple + sub-TLVs, which allows a router to announce its capabilities + within an IS-IS level or the entire routing domain."; + reference + "RFC4971: Intermediate System to Intermediate System (IS-IS) + Extensions for Advertising Router Information."; + } + + //sub-TLVs for TLVs 22, 23, 141, 222, 223 + + identity IS_REACHABILITY_ADMIN_GROUP { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 3. Administrative group(color)."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering"; + } + + identity IS_REACHABILITY_LINK_ID { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 4. Link Local/Remote Identifiers."; + reference + "RFC5307: IS-IS Extensions in Support of Generalized + Multi-Protocol Label Switching (GMPLS)"; + } + + identity IS_REACHABILITY_IPV4_INTERFACE_ADDRESS { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 6. IPv4 Interface Address."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering."; + } + + identity IS_REACHABILITY_IPV4_NEIGHBOR_ADDRESS { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 8. IPv4 Neighbor Address."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering."; + } + + identity IS_REACHABILITY_MAX_LINK_BANDWIDTH { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 9. Maximum Link Bandwidth."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering."; + } + + identity IS_REACHABILITY_MAX_RESERVABLE_BANDWIDTH { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 10. Maximum Reservable Bandwidth."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering."; + } + + identity IS_REACHABILITY_UNRESERVED_BANDWIDTH { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 11. Unreserved bandwidth."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering."; + } + + identity IS_REACHABILITY_IPV6_INTERFACE_ADDRESS { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 12. IPv6 Interface Address."; + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS."; + } + + identity IS_REACHABILITY_IPV6_NEIGHBOR_ADDRESS { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 13. IPv6 Neighbor Address."; + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS."; + } + + identity IS_REACHABILITY_EXTENDED_ADMIN_GROUP { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 14. Extended Administrative Group."; + reference + "RFC7308: Extended Administrative Groups in MPLS Traffic + Engineering (MPLS-TE)."; + } + + identity IS_REACHABILITY_TE_DEFAULT_METRIC { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 18. TE Default Metric."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering."; + } + + identity IS_REACHABILITY_LINK_ATTRIBUTES { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 19. Link Attributes."; + reference + "RFC5209: Definition of an IS-IS Link Attribute Sub-TLV."; + } + + identity IS_REACHABILITY_LINK_PROTECTION_TYPE { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 20. Link Protection Type."; + reference + "RFC5307: IS-IS Extensions in Support of Generalized + Multi-Protocol Label Switching (GMPLS)"; + } + + identity IS_REACHABILITY_BANDWIDTH_CONSTRAINTS { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 22. Bandwidth Constraints."; + reference + "RFC4124: Protocol Extensions for Support of Diffserv-aware MPLS + Traffic Engineering."; + } + + identity IS_REACHABILITY_UNCONSTRAINED_LSP { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 23. Unconstrained LSP."; + reference + "RFC5330: A Link-Type sub-TLV to Convey the Number of Traffic + Engineering Label Switched Paths Signalled with Zero + Reserved Bandwidth across a Link."; + } + + identity IS_REACHABILITY_ADJ_SID { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 31. Adjacency Segment Identifier."; + reference + "draft-ietf-isis-segment-routing-extensions."; + } + + identity IS_REACHABILITY_ADJ_LAN_SID { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 32. Adjacency LAN Segment Identifier."; + reference + "draft-ietf-isis-segment-routing-extensions."; + } + + identity IS_REACHABILITY_LINK_DELAY { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 33. Unidirectional Link Delay."; + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; + } + + identity IS_REACHABILITY_MIN_MAX_LINK_DELAY { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 34. Min/Max Unidirectional Link Delay."; + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; + } + + identity IS_REACHABILITY_LINK_DELAY_VARIATION { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 35. Unidirectional Link Delay Variation."; + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; + } + + identity IS_REACHABILITY_LINK_LOSS { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 36. Unidirectional Link Loss Delay."; + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; + } + + identity IS_REACHABILITY_RESIDUAL_BANDWIDTH { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 37. Unidirectional Residual Bandwidth."; + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; + } + + identity IS_REACHABILITY_AVAILABLE_BANDWIDTH { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 38. Unidirectional Available Bandwidth."; + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; + } + + identity IS_REACHABILITY_UTILIZED_BANDWIDTH { + base "IS_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 39. Unidirectional Utilized Bandwidth."; + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; + } + + //sub-TLVs for TLVs 135, 235, 236, 237 + identity IP_REACHABILITY_TAG { + base "IP_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 1. 32-bit Administrative Tag."; + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 + Reachability."; + } + + identity IP_REACHABILITY_TAG64 { + base "IP_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 2. 64-bit Administrative Tag."; + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 + Reachability."; + } + + identity IP_REACHABILITY_PREFIX_SID { + base "IP_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 3. Prefix Segment Identifier."; + reference + "draft-ietf-isis-segment-routing-extension."; + } + + identity IP_REACHABILITY_PREFIX_FLAGS { + base "IP_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 4. Prefix Attribute Flags."; + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 + Reachability."; + } + + identity IP_REACHABILITY_IPV4_ROUTER_ID { + base "IP_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 11. IPv4 Source Router ID."; + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 + Reachability."; + } + + identity IP_REACHABILITY_IPV6_ROUTER_ID { + base "IP_REACHABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 12. IPv6 Source Router ID."; + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 + Reachability."; + } + + + //sub-TLVs for TLVs 242 + + identity ROUTER_CAPABILITY_SR_CAPABILITY { + base "ROUTER_CAPABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 2. Segment Routing Capability."; + reference + "draft-ietf-isis-segment-routing-extensions."; + } + + identity ROUTER_CAPABILITY_SR_ALGORITHM { + base "ROUTER_CAPABILITY_SUBTLVS_TYPE"; + description + "sub-TLV 19. Segment Routing Algorithm."; + reference + "draft-ietf-isis-segment-routing-extensions."; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-isis-lsp.yang b/vendor/cisco/xr/755/openconfig-isis-lsp.yang new file mode 100644 index 000000000..f8349e112 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-isis-lsp.yang @@ -0,0 +1,3615 @@ +submodule openconfig-isis-lsp { + + belongs-to openconfig-isis { + prefix oc-isis; + } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-inet-types { prefix "inet"; } + import openconfig-isis-types { prefix "oc-isis-types"; } + import openconfig-isis-lsdb-types { prefix "oc-isis-lsdb-types"; } + import openconfig-types { prefix "oc-types"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net "; + + description + "This sub-module describes a YANG model for the IS-IS Link State + Database (LSDB). + + Portions of this code were derived from IETF RFCs relating to the + IS-IS protocol. + Please reproduce this note if possible. + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-03-24" { + description + "Support IGP-LDP sync per interface."; + reference "0.6.0"; + } + revision "2020-02-04" { + description + "Consistent prefix for openconfig-mpls-types."; + reference "0.5.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.2"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements."; + reference "0.4.1"; + } + + revision "2018-05-14" { + description + "Update LSDB model to correct Extended IS reach TLV + bug. This change is backwards incompatible due to + adding an additional level of hierarchy to support + multiple instances of the TLV."; + reference "0.4.0"; + } + + revision "2017-07-26" { + description + "Update LSDB and fix bugs."; + reference "0.3.2"; + } + + revision "2017-05-15" { + description + "Refactor LSDB."; + reference "0.3.0"; + } + + revision "2017-01-13" { + description + "Remove top-level /isis container"; + reference "0.2.1"; + } + + revision "2016-12-15" { + description + "Add segment routing to IS-IS module"; + reference "0.2.0"; + } + + revision "2016-10-18" { + description + "Initial revision of IS-IS models."; + reference "0.1.0"; + } + + typedef isis-metric-flags { + type enumeration { + enum INTERNAL { + description + "When this flag is not set, internal metrics are in use."; + } + enum UNSUPPORTED { + description + "When this flag (referred to as the S-bit) is set, then + the metric is unsupported."; + } + } + description + "Type definition for flags used in IS-IS metrics"; + } + + grouping isis-lsdb-link-characteristics-a-bit { + description + "Definition of the A bit, as used in IS-IS link delay TLVs."; + + leaf a-bit { + type boolean; + description + "The A bit is set when the measured value of this parameter + exceeds its configured maximum threshold. The A bit is cleared + when the measured value falls below its configured reuse + threshold."; + } + } + + grouping isis-lsdb-tlv-nlpid-state { + description + "NLP ID parameters for IS-IS."; + + leaf-list nlpid { + type enumeration { + enum IPV4 { + description "IPv4 Address family."; + } + enum IPV6 { + description "IPv6 Address family."; + } + } + description + "Protocol supported. IPv4 is defined as (0xcc) and IPv6 - + (0x8e)"; + reference + "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and + Dual Environments. TLV 129. "; + } + } + + grouping isis-lsdb-subtlv-type-state { + description + "Per-subTLV type operational state parameters for ISIS."; + + leaf type { + type identityref { + base oc-isis-lsdb-types:ISIS_SUBTLV_TYPE; + } + description + "The type of subTLV being described. The type of subTLV is + expressed as a canonical name."; + } + } + + grouping isis-lsdb-tlv-type-state { + description + "Per-subTLV type operational state parameters for ISIS."; + + leaf type { + type identityref { + base oc-isis-lsdb-types:ISIS_TLV_TYPE; + } + description + "The type of TLV being described. The type of TLV is + expressed as a canonical name."; + } + } + + grouping is-reachability-neighbor-state { + description + "This grouping defines is-reachability neighbor."; + + container subtlvs { + description + "This container describes IS Neighbor sub-TLVs."; + + list subtlv { + key "type"; + + description + "List of subTLV types in the LSDB for the specified TLV."; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the sub-TLV type."; + } + + container state { + description + "State parameters of IS neighbor state"; + + uses isis-lsdb-subtlv-type-state; + } + + container admin-group { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_ADMIN_GROUP'" { + description + "Only include the administrative group container when + the sub-TLV is type 3"; + } + description + "This container defines sub-TLV 3."; + + container state { + description + "State parameters of sub-TLV 3."; + + leaf-list admin-group { + type uint32; + description + "The administrative group sub-TLV contains a 4-octet + bit mask assigned by the network administrator. Each + set bit corresponds to one administrative group + assigned to the interface. By convention, the least + significant bit is referred to as group 0, and the + most significant bit is referred to as group 31."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. + sub-TLV 3: TLV 22,23,141,222, 223."; + } + } + } + + container link-id { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_ID'" { + description + "Only include the link identifier container when the + sub-TLV is type 4"; + } + description + "This container defines sub-TLV 4."; + + container state { + description + "State parameters of sub-TLV 4."; + + leaf local { + type uint32; + description + "The value field of this sub-TLV contains 4 octets of + Link Local Identifier followed by 4 octets of Link + Remote Identifier."; + reference + "RFC5307: IS-IS Extensions in Support of Generalized + Multi-Protocol Label Switching (GMPLS). sub-TLV 3: TLV + 22,23,141,222, 223."; + } + + leaf remote { + type uint32; + description + "If the Link Remote Identifier is unknown, it is set + to 0."; + reference + "RFC5307: IS-IS Extensions in Support of Generalized + Multi-Protocol Label Switching (GMPLS). sub-TLV 3: TLV + 22,23,141,222, 223."; + } + } + } + + container ipv4-interface-address { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_IPV4_INTERFACE_ADDRESS'" { + description + "Only include the IPv4 interface address group container + when the sub-TLV is type 6"; + } + description + "This container defines sub-TLV 6."; + + container state { + description + "State parameters of sub-TLV 6."; + + leaf-list address { + type inet:ipv4-address; + description + "A 4-octet IPv4 address for the interface described by + the (main) TLV. This sub-TLV can occur multiple + times."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. + sub-TLV 6: TLV 22,23,41,222,223."; + } + } + } + + container ipv4-neighbor-address { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_IPV4_NEIGHBOR_ADDRESS'" { + description + "Only include the IPv4 neighbor address container when + the sub-TLV is type 8."; + } + description + "This container defines sub-TLV 8."; + + container state { + description + "State parameters of sub-TLV 8."; + + leaf-list address { + type inet:ipv4-address; + description + "A single IPv4 address for a neighboring router on + this link. This sub-TLV can occur multiple times."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. + sub-TLV 8: TLV 22,23, 141,222,223."; + } + } + } + + container max-link-bandwidth { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_MAX_LINK_BANDWIDTH'" { + description + "Only include the maximum link bandwidth container when + the sub-TLV is type 9."; + } + description + "This container defines sub-TLV 9."; + + container state { + description + "State parameters of sub-TLV 9."; + + leaf bandwidth { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The maximum bandwidth that can be used on this link + in this direction (from the system originating the LSP + to its neighbors). It is encoded in 32 bits in IEEE + floating point format. The units are bytes (not + bits!) per second."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. + sub-TLV 9: TLV 22,23,141,222,223."; + } + } + } + + container max-reservable-link-bandwidth { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_MAX_RESERVABLE_BANDWIDTH'" { + description + "Only include the maximum reservable link bandwidth + container when the sub-TLV type is 10."; + } + description + "This container defines sub-TLV 10."; + + container state { + description + "State parameters of sub-TLV 10."; + + leaf bandwidth { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The maximum amount of bandwidth that can be reserved + in this direction on this link. Note that for + oversubscription purposes, this can be greater than + the bandwidth of the link. It is encoded in 32 bits + in IEEE floating point format. The units are bytes + (not bits!) per second."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. + Sub-TLV 10: TLV 22,23,141,222,223."; + } + } + } + + container unreserved-bandwidth { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_UNRESERVED_BANDWIDTH'" { + description + "Only include the unreserved bandwidth container when + the sub-TLV type is 11."; + } + description + "This container defines unreserved-bandwidth. The units + are bytes per second."; + + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. sub- + TLV 11: TLV 22,23,141,222,223"; + + list setup-priority { + key "priority"; + + leaf priority { + type leafref { + path "../state/priority"; + } + description + "Reference to the setup priority to which the + unreserved bandwidth corresponds."; + } + + description + "Setup priority (0 through 7) for unreserved + bandwidth."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 11."; + + leaf priority { + type uint8 { + range "0..7"; + } + description + "Setup priority level of 0 through 7 to be used by + Unreserved Bandwidth sub-TLV 11."; + } + + leaf bandwidth { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The amount of bandwidth reservable in this + direction on this link. Note that for + oversubscription purposes, this can be greater than + the bandwidth of the link. It contains eight 32-bit + IEEE floating point numbers(one for each priority). + The units are bytes (not bits!) per second. The + values correspond to the bandwidth that can be + reserved with a setup priority of 0 through 7, + arranged in increasing order with priority 0 + occurring at the start of the sub-TLV, and priority + 7 at the end of the sub-TLV."; + } + } + } + } + + container ipv6-interface-address { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_IPV6_INTERFACE_ADDRESS'" { + description + "Only include the IPv6 interface address when the + sub-TLV type is 12."; + } + description + "This container defines sub-TLV 12."; + + container state { + description + "State parameters of sub-TLV 12."; + + leaf-list address { + type inet:ipv6-address; + description + "Contains a 16-octet IPv6 address for the interface + described by the containing Extended IS Reachability + TLV. This sub-TLV can occur multiple times."; + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS. sub-TLV + 12: TLV 22,23,141,222,223."; + } + } + } + + container ipv6-neighbor-address { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_IPV6_NEIGHBOR_ADDRESS'" { + description + "Only include the IPv6 neighbor address when the + sub-TLV type is 13."; + } + description + "This container defines sub-TLV 13."; + + container state { + description + "State parameters of sub-TLV 13."; + + leaf-list address { + type inet:ipv6-address; + description + "Contains a 16-octet IPv6 address for a neighboring + router on the link described by the (main) TLV. This + sub-TLV can occur multiple times."; + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS. sub-TLV + 13: ISIS TLV 22,23,141,222,223."; + } + } + } + + container extended-admin-group { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_EXTENDED_ADMIN_GROUP'" { + description + "Only include the extended admin group when the + sub-TLV type is 14."; + } + description + "This container defines sub-TLV 14."; + container state { + description + "State parameters of sub-TLV 14."; + + leaf-list extended-admin-group { + type uint32; + description + "The extended-admin-group sub-TLV is used in addition + to the Administrative Groups when it is desirable to + make more than 32 colors available for advertisement + in a network."; + reference + "RFC7308: Extended Administrative Groups in MPLS + Traffic Engineering (MPLS-TE). sub-TLV 14: TLV + 22,23,141,222,223."; + } + } + } + + container te-default-metric { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_TE_DEFAULT_METRIC'" { + description + "Only include the default traffic engineering metric + container when the sub-TLV type is 18."; + } + description + "This container defines sub-TLV 18."; + container state { + description + "State parameters of sub-TLV 18."; + + leaf metric { + type uint32; + description + "This metric is administratively assigned and can be + used to present a differently weighted topology to + traffic engineering SPF calculations. To preclude + overflow within a traffic engineering SPF + implementation, all metrics greater than or equal to + MAX_PATH_METRIC SHALL be considered to have a metric + of MAX_PATH_METRIC."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. + sub-TLV 18: TLV 22,23,141,222,223."; + } + } + } + + container link-attributes { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_ATTRIBUTES'" { + description + "Only include the link attributes container when the + sub-TLV is type 19."; + } + description + "This container defines link-attributes."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 19."; + + leaf-list local-protection { + type enumeration { + enum LOCAL_PROTECTION { + description + "If set, local protection is available for the + link."; + } + enum LINK_EXCLUDED { + description + "If set, the link is excluded from local + protection."; + } + } + description + "Link local-protection attributes."; + + reference + "RFC5029: Definition of an IS-IS Link Attribute Sub- + TLV. TLV 22, sub-TLV 19."; + } + } + } + + container link-protection-type { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_PROTECTION_TYPE'" { + description + "Only include the link protection type container when + the sub-TLV type 20."; + } + description + "ISIS LSDB parameters relating to the type of link + protection offered."; + + container state { + description + "State parameters of sub-TLV 20."; + + leaf-list type { + type enumeration { + enum EXTRA_TRAFFIC { + description + "If set the link has extra traffic protection. If + the link is of type Extra Traffic, it means that + the link is protecting another link or links. The + LSPs on a link of this type will be lost if any of + the links it is protecting fail."; + } + enum UNPROTECTED { + description + "If set, the link is unprotected. If the link is + of type Unprotected, it means that there is no + other link protecting this link. The LSPs on a + link of this type will be lost if the link + fails."; + } + enum SHARED { + description + "If set, the link has shared protection. If the + link is of type Shared, it means that there are + one or more disjoint links of type Extra Traffic + that are protecting this link. These Extra + Traffic links are shared between one or more links + of type Shared."; + } + enum ONE_ONE { + description + "If set, the link has dedicated 1:1 protection. If + the link is of type Dedicated 1:1, it means that + there is one dedicated disjoint link of type Extra + Traffic that is protecting this link."; + } + enum PLUS_ONE { + description + "If set, the link has dedicated 1+1 protection. If + the link is of type Dedicated 1+1, it means that a + dedicated disjoint link is protecting this link. + However, the protecting link is not advertised in + the link state database and is therefore not + available for the routing of LSPs."; + } + enum ENHANCED { + description + "If set the link has enhanced protection. If the + link is of type Enhanced, it means that a + protection scheme that is more reliable than + Dedicated 1+1, e.g., 4 fiber BLSR/MS-SPRING, is + being used to protect this link."; + } + } + description + "Link protection capabilities."; + reference + "RFC5307: IS-IS Extensions in Support of Generalized + Multi-Protocol Label Switching (GMPLS). sub-TLV 20: + TLV 22,23,141,222,223."; + } + } + } + + container bandwidth-constraints { + when "../state/type =" + + "'oc-isis-lsdb-types:IS_REACHABILITY_BANDWIDTH_CONSTRAINTS'" { + description + "Only include the bandwidth constraints container when + the sub-TLV is type 22."; + } + description + "This container defines bandwidth-constraints. For DS-TE, + the existing Maximum Reservable link bandwidth parameter + is retained, but its semantics is generalized and + interpreted as the aggregate bandwidth constraint across + all Class-Types"; + + reference + "RFC4124: Protocol Extensions for Support of Diffserv- + aware MPLS Traffic Engineering. sub-TLV 22: TLV 22, 23, + 141, 222,223"; + + list bandwidth-constraint { + key "model-id"; + + description + "List of the Bandwidth Constraints sub-TLV instances + present in the TLV."; + + leaf model-id { + type leafref { + path "../state/model-id"; + } + description + "Reference to the model ID associated with the + instance of the Bandwidth Constraints sub-TLV."; + } + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 22."; + + leaf model-id { + type uint8; + description + "Identifier for the Bandwidth Constraints Model + currently in use by the LSR initiating the IGP + advertisement."; + } + } + + container constraints { + description + "Constraints contained within the Bandwidth + Constraints sub-TLV"; + + list constraint { + key "constraint-id"; + + description + "List of the constraints within the Bandwidth + Constraints sub-TLV. The BC0 level is indicated by + the constraint-id leaf being set to 0, with BCN + being indicated by constraint-id N."; + + leaf constraint-id { + type leafref { + path "../state/constraint-id"; + } + description + "Reference to the unique ID for the BCN level."; + } + + container state { + description + "Operational state parameters of the BCN level"; + + leaf constraint-id { + type uint32; + description + "Unique reference for the bandwidth constraint level. BC0 + is indicated by this leaf being set to zero, with BCN + represented by this leaf being set to N."; + } + + leaf bandwidth { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The bandwidth constraint, expressed as a 32-bit IEEE + floating point number expressed in bytes per second."; + } + } + } + } + } + } + + container unconstrained-lsp { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_UNCONSTRAINED_LSP'" { + description + "Only include the unconstrained LSP container when the + sub-TLV is type 23."; + } + description + "This container defines sub-TLV 23."; + container state { + description + "State parameters of sub-TLV 23."; + + uses isis-lsdb-subtlv-type-state; + + leaf count { + type uint16; + description + "Unconstrained TE LSP count(TE Label Switched Paths + (LSPs) signalled with zero bandwidth)."; + reference + "RFC5330: A Link-Type sub-TLV to Convey the Number of + Traffic Engineering Label Switched Paths Signalled + with Zero Reserved Bandwidth across a Link. sub-TLV + 23: TLV 22,23,141,222,223"; + } + } + } + + container adjacency-sids { + when "../state/type = 'oc-isis-lsdb-types:IS_REACHABILITY_ADJ_SID'" { + description + "Only include the adjacency SIDs container when the + sub-TLV type is 31"; + } + + description + "This container defines segment routing adjacency SIDs."; + + list adjacency-sid { + key "value"; + + description + "Adjacency Segment-IDs List. An IGP-Adjacency Segment is + an IGP segment attached to a unidirectional adjacency or + a set of unidirectional adjacencies. By default, an IGP- + Adjacency Segment is local to the node which advertises + it."; + + leaf value { + type leafref { + path "../state/value"; + } + description + "Reference to the value of the Adjacency-SID."; + } + + container state { + description + "State parameters of Adjacency-SID."; + + leaf value { + type uint32; + description + "Adjacency-SID value."; + } + + leaf-list flags { + type enumeration { + enum ADDRESS_FAMILY { + description + "Address-family flag. When unset, the Adj-SID + refers to an adjacency with outgoing IPv4 + encapsulation. If set then the Adj-SID refers to + an adjacency with outgoing IPv6 encapsulation."; + } + enum BACKUP { + description + "Backup flag. When set, the Adj-SID refers to an + adjacency being protected (e.g.: using IPFRR or + MPLS-FRR)."; + } + enum VALUE { + description + "Value flag. When set, the SID carries a value + (instead of an index). By default the flag is + SET."; + } + enum LOCAL { + description + "Local flag. When set, the value/index carried + by the SID has local significance. By default + the flag is SET."; + } + enum SET { + description + "Set flag. When set, the S-Flag indicates that + the Adj-SID refers to a set of adjacencies."; + } + } + description + "Flags associated with Adj-Segment-ID."; + } + + leaf weight { + type uint8; + description + "Value that represents the weight of the Adj-SID for + the purpose of load balancing."; + } + } + } + + reference + "draft-ietf-isis-segment-routing-extensions. sub-TLV 31: + TLV 22, 222, 223, 141. "; + } + + container lan-adjacency-sids { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_ADJ_LAN_SID'" { + description + "Only include the LAN adjacency SID container when + the sub-TLV is type 32."; + } + description + "This container defines segment routing LAN adjacency + SIDs"; + + list lan-adjacency-sid { + key "value"; + + description + "Adjacency Segment-IDs List. An IGP-Adjacency Segment is + an IGP segment attached to a unidirectional adjacency or + a set of unidirectional adjacencies. By default, an IGP- + Adjacency Segment is local to the node which advertises + it."; + + leaf value { + type leafref { + path "../state/value"; + } + description + "Reference to the value of the LAN Adjacency-SID."; + } + + container state { + description + "State parameters of LAN Adjacency-SID."; + + leaf value { + type uint32; + description + "LAN Adjacency-SID value."; + } + + leaf-list flags { + type enumeration { + enum ADDRESS_FAMILY { + description + "Address-family flag. When unset, the Adj-SID + refers to an adjacency with outgoing IPv4 + encapsulation. If set then the Adj-SID refers to + an adjacency with outgoing IPv6 encapsulation."; + } + enum BACKUP { + description + "Backup flag. When set, the Adj-SID refers to an + adjacency being protected (e.g.: using IPFRR or + MPLS-FRR)."; + } + enum VALUE { + description + "Value flag. When set, the SID carries a value + (instead of an index). By default the flag is + SET."; + } + enum LOCAL { + description + "Local flag. When set, the value/index carried + by the SID has local significance. By default + the flag is SET."; + } + enum SET { + description + "Set flag. When set, the S-Flag indicates that + the Adj-SID refers to a set of adjacencies."; + } + } + description + "Flags associated with LAN-Adj-Segment-ID."; + } + + leaf weight { + type uint8; + description + "Value that represents the weight of the Adj-SID + for the purpose of load balancing."; + } + + leaf neighbor-id { + type oc-isis-types:system-id; + description + "System ID of the neighbor associated with the LAN- + Adj-Segment-ID value."; + } + } + } + + reference + "draft-ietf-isis-segment-routing-extensions. sub-TLV 32: + TLV 22, 222, 223, 141."; + } + + container link-delay { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_DELAY'" { + description + "Include the link delay container only when the sub-TLV + type is type 33."; + } + description + "This container defines unidirectional link delay."; + + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric + Extensions. sub-TLV 33: TLV 22, 23, 141, 222, 223."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 33."; + + uses isis-lsdb-link-characteristics-a-bit; + + leaf delay { + type uint32; + units microseconds; + description + "Average link delay value (in microseconds) between + two directly connected IS-IS neighbors over a + configurable interval."; + } + } + } + + container min-max-link-delay { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_MIN_MAX_LINK_DELAY'" { + description + "Only include the min/max link delay container when the + sub-TLV is type 34."; + } + description + "This container defines min/max link delay."; + + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric + Extensions. sub-TLV 34: TLV 22, 23, 141, 222, 223."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 34."; + + uses isis-lsdb-link-characteristics-a-bit; + + leaf min-delay { + type uint32; + units microseconds; + description + "Minimum measured link delay value(in microseconds) + between two directly connected IS-IS neighbors over a + configurable interval."; + } + + leaf max-delay { + type uint32; + units microseconds; + description + "Maximum measured link delay value(in microseconds) + between two directly connected IS-IS neighbors over a + configurable interval."; + } + } + } + + container link-delay-variation { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_DELAY_VARIATION'" { + description + "Only include the link delay variation container when + the sub-TLV is type 35."; + } + description + "This container defines unidirectional link delay + variation."; + + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric + Extensions. sub-TLV 35: TLV 22,23,141,222,223."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 35."; + + leaf delay { + type uint32; + units microseconds; + description + "Average link delay between two directly connected IS- + IS neighbors over a configurable interval."; + } + } + } + + container link-loss { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_LOSS'" { + description + "Only include the link loss container when the sub-TLV + is type 36."; + } + description + "This container defines unidirectional link loss delay."; + + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric + Extensions. sub-TLV 36: TLV 22, 23, 141, 222, 223."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 36."; + + uses isis-lsdb-link-characteristics-a-bit; + + leaf link-loss { + type uint32; + description + "Link packet loss as a percentage of the total traffic + sent over a configurable interval. The basic unit is + 0.000003%, where (2^24 - 2) is 50.331642%. This value + is the highest packet-loss percentage that can be + expressed (the assumption being that precision is more + important on high-speed links than the ability to + advertise loss rates greater than this, and that high- + speed links with over 50% loss are unusable). + Therefore, measured values that are larger than the + field maximum SHOULD be encoded as the maximum + value."; + } + } + } + + container residual-bandwidth { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_RESIDUAL_BANDWIDTH'" { + description + "Only include the resdiual bandwidth container when the + sub-TLV is type 37."; + } + description + "This container defines unidirectional residual + bandwidth."; + + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric + Extensions. sub-TLV 37: TLV 22, 23, 141, 222, 223."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 37."; + + leaf bandwidth { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "Residual bandwidth on a link,forwarding adjacency + [RFC4206], or bundled link in IEEE floating-point + format with units of bytes per second. For a link or + forwarding adjacency, residual bandwidth is defined to + be the Maximum Bandwidth [RFC5305] minus the bandwidth + currently allocated to RSVP-TE label switched paths. + For a bundled link, residual bandwidth is defined to + be the sum of the component link residual + bandwidths."; + } + } + } + + container available-bandwidth { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_AVAILABLE_BANDWIDTH'" { + description + "Only include the available bandwdith container when the + sub-TLV is type 38."; + } + description + "This container defines unidirectional lavailable + bandwidth."; + + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric + Extensions. sub-TLV 38: TLV 22, 23, 141, 222, 223."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 38."; + + uses isis-lsdb-subtlv-type-state; + + leaf bandwidth { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The available bandwidth on a link, forwarding + adjacency, or bundled link in IEEE floating-point + format with units of bytes per second. For a link or + forwarding adjacency, available bandwidth is defined + to be residual bandwidth minus the measured bandwidth + used for the actual forwarding of non-RSVP-TE label + switched path packets. For a bundled link, available + bandwidth is defined to be the sum of the component + link available bandwidths minus the measured bandwidth + used for the actual forwarding of non-RSVP-TE label + switched path packets. For a bundled link, available + bandwidth is defined to be the sum of the component + link available bandwidths."; + } + } + } + + container utilized-bandwidth { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_REACHABILITY_UTILIZED_BANDWIDTH'" { + description + "Only include the utilized bandwidth container when the + TLV is type 39."; + } + description + "This container defines unidirectional utilized + bandwidth."; + + reference + "RFC7810: IS-IS Traffic Engineering (TE) Metric + Extensions. sub-TLV 39: TLV 22, 23, 141, 222, 223."; + + container state { + description + "State parameters of IS Extended Reachability sub-TLV + 39."; + + uses isis-lsdb-subtlv-type-state; + + leaf bandwidth { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The bandwidth utilization on a link, forwarding + adjacency, or bundled link in IEEE floating-point + format with units of bytes per second. For a link or + forwarding adjacency, bandwidth utilization represents + the actual utilization of the link (i.e., as measured + by the advertising node). For a bundled link, + bandwidth utilization is defined to be the sum of the + component link bandwidth utilizations."; + } + } + } + } + } + + uses isis-lsdb-undefined-subtlv; + } + + grouping isis-lsdb-undefined-tlv { + description + "Grouping for unknown TLVs in the IS-IS LSDB"; + + container undefined-tlvs { + description + "Surrounding container for a list of unknown TLVs."; + + list undefined-tlv { + key "type"; + description + "List of TLVs that are not defined within the model, or are + not recognised by the system."; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the undefined TLV's type"; + } + + container state { + description + "State parameters of the undefined TLV."; + + uses undefined-tlv-state; + } + } + } + } + + grouping isis-lsdb-undefined-subtlv { + description + "Grouping for unknown Sub-TLVs in the IS-IS LSDB."; + + container undefined-subtlvs { + description + "This container describes undefined ISIS TLVs."; + + list undefined-subtlv { + key "type"; + + description + "Sub-TLVs that are not defined in the model or not + recognised by system."; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the type of the undefined sub-TLV"; + } + + container state { + description + "State parameters of the undefined sub-TLV."; + + uses undefined-subtlv-state; + } + } + } + } + + grouping isis-lsdb-prefix-state { + description + "This grouping defines prefix reachability."; + + container subtlvs { + description + "This container describes IS prefix sub-TLVs."; + + list subtlv { + key "type"; + + description + "List of subTLV types in the LSDB for the specified TLV."; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the sub-TLV type"; + } + + container state { + description + "State parameters for a prefix."; + + uses isis-lsdb-subtlv-type-state; + } + + container tag { + when "../state/type = " + + "'oc-isis-lsdb-types:IP_REACHABILITY_TAG'" { + description + "Only include the tag container when the sub-TLV is type + 1."; + } + description + "This container defines sub-TLV 1."; + + container state { + description + "State parameters of sub-TLV 1."; + + leaf-list tag32 { + type uint32; + description + "List of 32-bit tags associated with the prefix. Example + uses of these tags include carrying BGP standard (or + extended) communities and controlling redistribution + between levels and areas, different routing protocols, + or multiple instances of IS-IS running on the same + router."; + reference + "RFC5130: A Policy Control Mechanism in IS-IS Using + Administrative Tags. sub-TLV 1."; + } + } + } + + container tag64 { + when "../state/type = " + + "'oc-isis-lsdb-types:IP_REACHABILITY_TAG64'" { + description + "Only include the tag64 container when the sub-TLV is type + 2."; + } + description + "This container defines sub-TLV 2."; + + container state { + description + "State parameters of sub-TLV 2."; + + leaf-list tag64 { + type uint64; + description + "List of 64-bit tags associated with the prefix. Example + uses of these tags include carrying BGP standard (or + extended) communities and controlling redistribution + between levels and areas, different routing protocols, + or multiple instances of IS-IS running on the same + router."; + reference + "RFC5130: A Policy Control Mechanism in IS-IS Using + Administrative Tags. sub-TLV 2."; + } + } + } + + container flags { + when "../state/type = " + + "'oc-isis-lsdb-types:IP_REACHABILITY_PREFIX_FLAGS'" { + description + "Only include the flags container when the sub-TLV is type + 4."; + } + description + "This container defines sub-TLV 4."; + + container state { + description + "State parameters of sub-TLV 4."; + + uses isis-lsdb-subtlv-type-state; + + leaf-list flags { + type enumeration { + enum EXTERNAL_FLAG { + description + "External prefix flag. Set if the prefix has been + redistributed from another protocol. This includes + the case where multiple virtual routers are + supported and the source of the redistributed prefix + is another IS-IS instance."; + } + enum READVERTISEMENT_FLAG { + description + "Readvertisement flag. Set when the prefix has been + leaked from one level to another (upwards or + downwards)."; + } + enum NODE_FLAG { + description + "Node flag. Set when the prefix identifies the + advertising router, i.e., the prefix is a host + prefix advertising a globally reachable address + typically associated with a loopback address."; + } + } + description + "Additional prefix reachability flags."; + + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and + IPv6 Reachability. sub-TLV 4."; + } + } + } + + container ipv4-source-router-id { + when "../state/type = " + + "'oc-isis-lsdb-types:IP_REACHABILITY_IPV4_ROUTER_ID'" { + description + "Only include the IPv4 Source Router ID container when + the sub-TLV is type 11."; + } + description + "This container defines sub-TLV 11."; + + container state { + description + "State parameters of sub-TLV 11."; + + uses isis-lsdb-subtlv-type-state; + + leaf router-id { + type inet:ipv4-address; + description + "IPv4 Source router ID address. In cases where the + advertisement is an identifier for the advertising + router (e.g., with the N-flag set in the Prefix + Attribute Flags sub-TLV), it may be useful for other + routers to know the source of the advertisement. When + reachability advertisement is leaked from one level to + another, Router ID advertised is always the Router ID + of the IS-IS instance that originated the + advertisement. This would be true even if the prefix + had been learned from another protocol."; + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 + and IPv6 Reachability. sub-TLV 11"; + } + } + } + + container ipv6-source-router-id { + when "../state/type = " + + "'oc-isis-lsdb-types:IP_REACHABILITY_IPV6_ROUTER_ID'" { + description + "Only include the IPv6 Source Router ID container when + the sub-TLV is type 12."; + } + description + "This container defines sub-TLV 12."; + + container state { + description + "State parameters of sub-TLV 12."; + + uses isis-lsdb-subtlv-type-state; + + leaf router-id { + type inet:ipv6-address; + description + "IPv6 Source router ID address. In cases where the + advertisement is an identifier for the advertising + router (e.g., with the N-flag set in the Prefix + Attribute Flags sub-TLV), it may be useful for other + routers to know the source of the advertisement. When + reachability advertisement is leaked from one level to + another, Router ID advertised is always the Router ID + of the IS-IS instance that originated the + advertisement. This would be true even if the prefix + had been learned from another protocol."; + reference + "RFC7794: IS-IS Prefix Attributes for Extended IPv4 + and IPv6 Reachability. sub-TLV 12."; + } + } + } + + uses isis-lsdb-prefix-sid-state; + } + } + + uses isis-lsdb-undefined-subtlv; + } + + grouping isis-lsdb-prefix-sid-state { + description + "This grouping defines ISIS Prefix SID."; + + container prefix-sids { + when "../state/type = " + + "'oc-isis-lsdb-types:IP_REACHABILITY_PREFIX_SID'" { + description + "Only include the Prefix SID container when + the sub-TLV is type 3."; + } + description + "This container defines segment routing extensions for + prefixes."; + + reference + "draft-ietf-isis-segment-routing-extensions. sub-TLV 3: TLV + 135, 235, 236, 237."; + + list prefix-sid { + key "value"; + + description + "Prefix Segment-ID list. IGP-Prefix Segment is an IGP segment + attached to an IGP prefix. An IGP-Prefix Segment is global + (unless explicitly advertised otherwise) within the SR/IGP + domain."; + + leaf value { + type leafref { + path "../state/value"; + } + description + "Reference to the value of the prefix SID."; + } + + container state { + description + "State parameters for Prefix-SID."; + + leaf value { + type uint32; + description + "IGP Prefix-SID value."; + } + + leaf-list flags { + type enumeration { + enum READVERTISEMENT { + description + "Readvertisment flag. When set, the prefix to which + this Prefix-SID is attached, has been propagated by + the router either from another level or from + redistribution."; + } + enum NODE { + description + "Node flag. When set, the Prefix-SID refers to the + router identified by the prefix. Typically, the + N-Flag is set on Prefix-SIDs attached to a router + loopback address."; + } + enum NO_PHP { + description + "Penultimate-Hop-Popping flag. When set, then the + penultimate hop MUST NOT pop the Prefix-SID before + delivering the packet to the node that advertised + the Prefix-SID."; + } + enum EXPLICIT_NULL { + description + "Explicit-Null flag. When set, any upstream neighbor + of the Prefix-SID originator MUST replace the + Prefix-SID with a Prefix-SID having an Explicit-NULL + value (0 for IPv4 and 2 for IPv6) before forwarding + the packet."; + } + enum VALUE { + description + "Value flag. When set, the Prefix-SID carries a + value (instead of an index). By default the flag is + UNSET."; + } + enum LOCAL { + description + "Local flag. When set, the value/index carried by + the Prefix-SID has local significance. By default + the flag is UNSET."; + } + } + description + "Flags associated with Prefix Segment-ID."; + } + + leaf algorithm { + type uint8; + description + "Prefix-SID algorithm to be used for path computation."; + } + } + } + } + } + + grouping isis-lsdb-common-metric-specification { + description + "Common definitions of the metric in IS-IS."; + + container default-metric { + description + "This container defines ISIS Default Metric."; + + container state { + description + "State parameters for default-metric."; + + leaf flags { + type enumeration { + enum INTERNAL { + description + "When set to zero, indicates internal metrics."; + } + } + description + "ISIS Default-Metric Flags."; + } + + leaf metric { + type oc-isis-types:narrow-metric; + description + "ISIS default metric value. This is a metric understood by + every Intermediate system in the domain. Each circuit + shall have a positive integral value assigned for this + metric. The value may be associated with any objective + function of the circuit, but by convention is intended to + measure the capacity of the circuit for handling traffic, + for example, its throughput in bits-per-second. Higher + values indicate a lower capacity."; + } + } + } + + container delay-metric { + description + "This container defines the ISIS delay metric."; + + container state { + description + "State parameters of delay-metric."; + + leaf metric { + type oc-isis-types:narrow-metric; + description + "ISIS delay metric value. This metric measures the transit + delay of the associated circuit. It is an optional metric, + which if assigned to a circuit shall have a positive + integral value. Higher values indicate a longer transit + delay."; + } + + leaf-list flags { + type isis-metric-flags; + description + "ISIS Delay Metric Flags."; + } + } + } + + container expense-metric { + description + "This container defines the ISIS expense metric."; + + container state { + description + "State parameters of expense-metric."; + + leaf metric { + type oc-isis-types:narrow-metric; + description + "ISIS expense metric value. This metric measures the + monetary cost of utilising the associated circuit. It is + an optional metric, which if assigned to a circuit shall + have a positive integral value1). Higher values indicate a + larger monetary expense."; + } + + leaf-list flags { + type isis-metric-flags; + description + "ISIS Expense Metric Flags."; + } + } + } + + container error-metric { + description + "This container defines the ISIS error metric."; + + container state { + description + "State parameters of error-metric."; + + leaf metric { + type oc-isis-types:narrow-metric; + description + "ISIS error metric value. This metric measures the + residual error probability of the associated circuit. It + is an optional metric, which if assigned to a circuit + shall have a non-zero value. Higher values indicate a + larger probability of undetected errors on the circuit."; + } + + leaf-list flags { + type isis-metric-flags; + description + "IS-IS error metric flags."; + } + } + } + } + + grouping isis-lsdb-neighbor { + description + "This grouping defines attributes of an ISIS standard + neighbor."; + + container state { + description + "State parameters of IS standard neighbor."; + + leaf system-id { + type oc-isis-types:system-id; + description + "System-ID of IS neighbor."; + } + } + + uses isis-lsdb-common-metric-specification; + + } + + grouping ipv4-prefix-attributes-state { + description + "This group defines attributes of an IPv4 standard prefix."; + + container state { + description + "State parameters of IPv4 standard prefix."; + + leaf up-down { + type boolean; + description + "The up/down bit. Set if a prefix is advertised from a + higher level to a lower level (e.g., level 2 to level 1), + indicating that the prefix has traveled down the hierarchy. + Prefixes that have the up/down bit set may only be + advertised down the hierarchy, i.e., to lower levels. When a + prefix is first injected into IS-IS, the bit is UNSET."; + } + + leaf prefix { + type inet:ipv4-prefix; + description + "IPv4 prefix contained within reachability TLVs."; + } + } + + uses isis-lsdb-common-metric-specification; + } + + grouping isis-lsdb-common-mt-id { + description + "Common definition of the multi-topology ID"; + + leaf mt-id { + type uint16 { + range "0..4095"; + } + description + "Multi-topology ID"; + } + } + + grouping ipv4-prefix-extended-state { + description + "This grouping defines attributes of an IPv4 extended prefix."; + + container state { + description + "State parameters of an IPv4 extended prefix."; + uses ipv4-prefix-extended-params-state; + } + + uses isis-lsdb-prefix-state; + } + + grouping ipv4-mt-prefix-extended-state { + description + "State parameters that relate to an IPv4 prefix in a + multi-topology context."; + + container state { + description + "State parameters of an IPv4 extended prefix."; + uses ipv4-prefix-extended-params-state; + uses isis-lsdb-common-mt-id; + } + + uses isis-lsdb-prefix-state; + } + + grouping ipv4-prefix-extended-params-state { + description + "State parameters that relate to an IPv4 prefix"; + + leaf up-down { + type boolean; + description + "The up/down bit. Set if a prefix is advertised from a + higher level to a lower level (e.g., level 2 to level 1), + indicating that the prefix has traveled down the hierarchy. + Prefixes that have the up/down bit set may only be + advertised down the hierarchy, i.e., to lower levels. When a + prefix is first injected into IS-IS, the bit is UNSET."; + } + + leaf s-bit { + type boolean; + description + "The Sub-TLV present bit. If UNSET, the octets of Sub-TLVs + are not present. Otherwise, the bit is set and the octet + following the prefix will contain the length of the Sub-TLV + portion of the structure."; + } + + leaf prefix { + type inet:ipv4-prefix; + description + "IPv4 prefix contained within extended reachability TLVs."; + } + + leaf metric { + type oc-isis-types:wide-metric; + description + "ISIS metric value."; + } + } + + grouping ipv6-prefix-extended-state { + description + "State parameters relating to an IPv6 prefix."; + + container state { + description + "State parameters of IPv6 prefix attributes"; + + uses ipv6-prefix-extended-params-state; + } + + uses isis-lsdb-prefix-state; + } + + grouping ipv6-mt-prefix-extended-state { + description + "State parameters relating to a multi-topology IPv6 + prefix."; + + container state { + description + "State parameters relating an IPv6 prefix attribute"; + uses ipv6-prefix-extended-params-state; + uses isis-lsdb-common-mt-id; + } + + uses isis-lsdb-prefix-state; + } + + grouping ipv6-prefix-extended-params-state { + description + "Common parameters of an IPv6 extended prefix."; + + leaf up-down { + type boolean; + description + "The up/down bit. Set if a prefix is advertised from a + higher level to a lower level (e.g., level 2 to level 1), + indicating that the prefix has traveled down the hierarchy. + Prefixes that have the up/down bit set may only be + advertised down the hierarchy, i.e., to lower levels. When a + prefix is first injected into IS-IS, the bit is UNSET."; + } + + leaf x-bit { + type boolean; + description + "The external bit. Set when the prefix was distributed into + IS-IS from another routing protocol."; + } + + leaf s-bit { + type boolean; + description + "The sub-tlv present bit. If UNSET, the octets of Sub-TLVs + are not present. Otherwise, the bit is set and the octet + following the prefix will contain the length of the Sub-TLV + portion of the structure."; + } + + leaf prefix { + type inet:ipv6-prefix; + description + "IPv6 prefix contained within extended reachability TLVs."; + } + + leaf metric { + type oc-isis-types:wide-metric; + description + "ISIS metric value."; + } + } + + grouping isis-lsdb-common-extisreach-neighbors { + description + "Common structure for the Extended IS Reachability and IS + Reachability Neighbour attributes."; + + container neighbors { + description + "This container describes IS neighbors."; + + list neighbor { + key "system-id"; + description + "This list describes ISIS extended neighbors and + reachability attributes."; + + leaf system-id { + type leafref { + path "../state/system-id"; + } + description + "Reference to the neighboring system's system ID."; + } + + container state { + description + "State parameters corresponding to the extended + neighbour."; + + leaf system-id { + type oc-isis-types:system-id; + description + "System-id of the neighbor."; + } + } + + container instances { + description + "This list contains all instances of an adjacency + between the originating IS and the remote IS. + Multiple instances are used where there are + parallel adjacencies between two systems."; + + list instance { + key "id"; + + description + "Instance of the TLV to the remote IS neighbor."; + + leaf id { + type leafref { + path "../state/id"; + } + description + "Reference to the unique identifier for + the instance of the extended IS + reachability sub-TLV."; + } + + container state { + description + "State parameters of extended neighbor"; + + leaf id { + type uint64; + description + "Unique identifier for the instance of the + TLV for the IS neighbor. The instance + ID is not required to be consistent across + across readvertisements of the LSP."; + } + + leaf metric { + type oc-isis-types:wide-metric; + description + "Metric value."; + } + } + uses is-reachability-neighbor-state; + } + } + } + } + } + + grouping isis-lsdb-mtis-common { + description + "Common grouping for structure used within the multi-topology IS + neighbour and multi-topology IS neighbour attribute TLVs."; + + container neighbors { + description + "MT-IS neigbor attributes."; + + list neighbor { + key "mt-id system-id"; + description + "This container describes IS neighbors."; + + leaf mt-id { + type leafref { + path "../state/mt-id"; + } + description + "Reference to the topology that the neighbor is + within."; + } + + leaf system-id { + type leafref { + path "../state/system-id"; + } + description + "Reference to the System ID of the neighbor."; + } + + container state { + description + "Operational state parameters related to the + MT ISN TLV."; + + uses mt-isis-neighbor-state; + } + + container instances { + description + "This list contains all instances of an adjacency + between the originating and remote IS. Multiple + instances are used to indicate where there are + parallel adjacencies between systems."; + + list instance { + key "id"; + + description + "Instance of TLV-222 between the originating + and remote IS."; + + leaf id { + type leafref { + path "../state/id"; + } + description + "Reference to the unique identifier for the + instance of the multi-topology IS neighbor + TLV instance."; + } + + uses mt-isis-neighbor-instance; + } + } + } + } + } + + grouping mt-isis-neighbor-state { + description + "This grouping defines state parameters that are related to + each neighbour entry for the MT ISN TLV."; + + leaf mt-id { + type uint16 { + range "0..4095"; + } + description + "Identifier of a topology being announced."; + } + + leaf system-id { + type oc-isis-types:system-id; + description + "System-id of the IS neighbor."; + } + } + + grouping mt-isis-neighbor-instance { + description + "This grouping defines list of ISIS multi-topology neighbors for + extended ISIS LSP (multiple system IDs)."; + + container state { + description + "State parameters of MT neighbor."; + + leaf metric { + type oc-isis-types:wide-metric; + description + "ISIS metric value."; + } + + leaf id { + type uint64; + description + "Unique identifier for the TLV instance for the + neighbor. The ID is not required to be consistent + across readvertisements of the LSP."; + } + } + uses is-reachability-neighbor-state; + } + + grouping isis-lsdb-generic-tlv { + description + "Generic TLV encoding grouping."; + + leaf type { + type uint8; + description + "TLV Type."; + } + + leaf length { + type uint8; + description + "TLV length."; + } + + leaf value { + type binary; + description + "TLV value."; + } + } + + grouping undefined-tlv-state { + description + "Generic grouping defining an unknown TLV."; + + uses isis-lsdb-generic-tlv; + } + + grouping undefined-subtlv-state { + description + "Generic grouping defining an unknown sub-TLV."; + + uses isis-lsdb-generic-tlv; + } + + grouping lsp-state { + description + "This grouping defines ISIS LSP state information."; + + leaf lsp-id { + type leafref { + path "../state/lsp-id"; + } + + description + "A reference to the Link State PDU ID."; + } + + container state { + description + "State parameters of Link State PDU."; + + leaf lsp-id { + type oc-isis-types:lsp-id; + description + "LSP ID of the LSP."; + } + + leaf maximum-area-addresses { + type uint8; + description + "Number of area addresses permitted for this ISs area. 0 + indicates the IS only supports three area addresses (by + default). Any number inclusive of 1 and 254 indicates the + number of areas allowed."; + } + + leaf version { + type uint8; + default 1; + description + "PDU version. This is set to 1."; + } + + leaf version2 { + type uint8; + default 1; + description + "PDU version2. This is set to 1"; + } + + leaf id-length { + type uint8; + description + "Length of the ID field of NSAP addresses and NETs used in + this routing domain."; + } + + leaf pdu-type { + type enumeration { + enum LEVEL_1 { + description "This enum describes ISIS level 1 PDU."; + } + enum LEVEL_2 { + description "This enum describes ISIS level 2 PDU."; + } + } + description + "Link State PDU type."; + } + + leaf remaining-lifetime { + type uint16; + units "seconds"; + description + "Remaining lifetime in seconds before the LSP expiration."; + } + + leaf sequence-number { + type uint32; + description + "Sequence number of the LSP."; + } + + leaf checksum { + type uint16; + description + "Checksum of the LSP."; + } + + leaf pdu-length { + type uint16; + description + "Total length of the LSP."; + } + + leaf-list flags { + type enumeration { + enum PARTITION_REPAIR { + description + "When set, the originator supports partition + repair."; + } + enum ATTACHED_ERROR { + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum ATTACHED_EXPENSE { + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum ATTACHED_DELAY { + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum ATTACHED_DEFAULT { + description + "When set, the originator is attached to another + area using the referred metric."; + } + enum OVERLOAD { + description + "When set, the originator is overloaded, and must + be avoided in path calculation."; + } + } + description + "LSP Type-Block flags."; + } + + leaf is-type { + type oc-isis-types:level-number; + description + "Type of neighboring system."; + } + } + + container tlvs { + description + "This container defines Link State PDU State TLVs."; + + list tlv { + key "type"; + + description + "List of TLV types in the LSDB for the specified LSP."; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the TLV's type."; + } + + container state { + config false; + description + "Operational state parameters relating to the specified + LSP"; + + uses isis-lsdb-tlv-type-state; + } + + container area-address { + when "../state/type = 'oc-isis-lsdb-types:AREA_ADDRESSES'" { + description + "Include area address parameters only when the TLV type + is TLV 1."; + } + + description + "This container defines TLV 1."; + + container state { + description + "State parameters of ISIS TLV 1."; + + leaf-list address { + type oc-isis-types:area-address; + description + "Area adress(es) of the IS. Set of manual area + addresses of this IS."; + reference + "ISO 10589 Intermediate System to Intermediate System + Intra- Domain Routeing Exchange Protocol for use in + Conjunction with the Protocol for Providing the + Connectionless-mode Network Service (ISO 8473 ) + International Standard 10589: 2002, Second Edition, + 2002. TLV 1."; + } + } + } + + container lsp-buffer-size { + when "../state/type = " + + "'oc-isis-lsdb-types:LSP_BUFFER_SIZE'" { + description + "Include the LSP buffer size parameters only when the + TLV type is TLV 14."; + } + + description + "This container defines TLV 14 - the LSP Buffer Size + TLV."; + + container state { + description + "State parameters of TLV 14."; + + leaf size { + type uint16; + units "bytes"; + description + "The maximum MTU that the advertising system can + receive, expressed in bytes."; + reference + "ISO 10589 Intermediate System to Intermediate System + Intra- Domain Routeing Exchange Protocol for use in + Conjunction with the Protocol for Providing the + Connectionless-mode Network Service (ISO 8473 ) + International Standard 10589: 2002, Second Edition, + 2002. TLV 14."; + } + } + } + + container nlpid { + when "../state/type = 'oc-isis-lsdb-types:NLPID'" { + description + "Include NLPID specification only when the TLV type is + TLV 129."; + } + + description + "This container defines TLV 129."; + + container state { + description + "State parameters of ISIS TLV 129."; + + uses isis-lsdb-tlv-nlpid-state; + } + } + + container hostname { + when "../state/type = 'oc-isis-lsdb-types:DYNAMIC_NAME'" { + description + "Include the dynamic hostname TLV only when the TLV is + type 137."; + } + description + "This container defines TLV 137."; + + container state { + description + "State parameters of ISIS TLV 137."; + + leaf-list hostname { + type string; + description + "Name of the node."; + + reference + "RFC6233: IS-IS Registry Extension for Purges, RFC + 5301: Dynamic Hostname Exchange Mechanism for IS-IS. + TLV 137"; + } + } + } + + container ipv4-interface-addresses { + when "../state/type = " + + "'oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES'" { + description + "Include the IPv4 interface addresses TLV only when the + TLV is type 132."; + } + description + "This container defines TLV 132."; + + container state { + description + "State parameters of ISIS TLV 132."; + + leaf-list address { + type inet:ipv4-address; + description + "IPv4 address(es) of the interface corresponding to + the SNPA over which this PDU is to be transmitted."; + reference + "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and + Dual Environments. TLV 132."; + } + } + } + + container ipv6-interface-addresses { + when "../state/type = " + + "'oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES'" { + description + "Include the IPv6 interface addresses TLV only when the + TLV is type 232."; + } + description + "This container defines TLV 232."; + + container state { + description + "State parameters of ISIS TLV 232."; + + leaf-list address { + type inet:ipv6-address; + description + "IPv6 interface addresses of the node. MUST contain + only the non-link-local IPv6 addresses assigned to the + IS."; + reference + "RFC5308: Routing IPv6 with IS-IS. TLV 232."; + } + } + } + + container ipv4-te-router-id { + when "../state/type = " + + "'oc-isis-lsdb-types:IPV4_TE_ROUTER_ID'" { + description + "Include the IPv4 traffic engineering router ID TLV only + when the TLV is type 134."; + } + description + "This container defines TLV 134."; + + container state { + description + "State parameters of ISIS TLV 134."; + + leaf-list router-id { + type inet:ipv4-address; + description + "IPv4 Traffic Engineering router ID of the node. For + traffic engineering, it guarantees that we have a + single stable address that can always be referenced in + a path that will be reachable from multiple hops away, + regardless of the state of the node's interfaces."; + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. TLV + 134."; + } + } + } + + container ipv6-te-router-id { + when "../state/type = " + + "'oc-isis-lsdb-types:IPV6_TE_ROUTER_ID'" { + description + "Include the IPv6 traffic engineering router ID TLV only + when the TLV is type 140."; + } + description + "This container defines TLV 140."; + + container state { + description + "State parameters of ISIS TLV 140."; + + leaf-list router-id { + type inet:ipv6-address; + description + "IPv6 Traffic Engineering router ID of the node. For + traffic engineering, it guarantees that we have a + single stable address that can always be referenced in + a path that will be reachable from multiple hops away, + regardless of the state of the node's interfaces."; + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS. TLV + 140."; + } + } + } + + container instance-ids { + when "../state/type = 'oc-isis-lsdb-types:INSTANCE_ID'" { + description + "Include the ISIS Instance Identifier TLV only when the + TLV is type 7."; + } + description + "This container defines ISIS Instance Identifier TLV."; + reference "RFC6822: IS-IS Multi-Instance. TLV 7."; + + list instance-id { + key "instance-id"; + + description + "A list of instance IDs received within TLV 7 within an + IS-IS LSP. In the case that more than one instance of + TLV 7 is included in the LSP, the instance IDs specified + within the instances are concatenated within this + list."; + + leaf instance-id { + type leafref { + path "../state/instance-id"; + } + description + "Reference to the unique instance ID."; + } + container state { + description + "State parameters of ISIS TLV 7."; + + leaf instance-id { + type uint16; + description + "An Instance Identifier (IID) to uniquely identify + an IS-IS instance. When the IID = 0, the list of + supported ITIDs MUST NOT be present. An IID-TLV with + IID = 0 MUST NOT appear in an SNP or LSP. When the + TLV appears (with a non-zero IID) in an SNP or LSP, + exactly one ITID. MUST be present indicating the + topology with which the PDU is associated. If no + ITIDs or multiple ITIDs are present or the IID is + zero, then the PDU MUST be ignored."; + } + + leaf-list topology-id { + type uint16; + description + "Instance-Specific Topology Identifiers (ITIDs)."; + } + } + } + } + + container ipv4-srlgs { + when "../state/type = 'oc-isis-lsdb-types:IPV4_SRLG'" { + description + "Include the IPv4 SRLG TLV only when the TLV is type + 138."; + } + description + "This container defines ISIS SRLG TLV 138."; + + reference + "RFC5307: IS-IS Extensions in Support of Generalized + Multi-Protocol Label Switching (GMPLS). TLV 138."; + + list ipv4-srlg { + key "instance-number"; + + description + "Instance of the IPv4 SRLG TLV"; + + leaf instance-number { + type leafref { + path "../state/instance-number"; + } + description + "Reference to the instance number of TLV 138."; + } + + container state { + description + "State parameters of TLV 138."; + + leaf instance-number { + type uint32; + description + "An arbitrary unsigned 32-bit integer used to + disambiguate the instance of TLV 138. The instance + identifier is synthesised by the system + and may be renumbered for the same SRLG definition + in subsequent advertised LSPs if (and only if) the + entire list of SRLGs is replaced."; + } + + leaf system-id { + type oc-isis-types:system-id; + description + "Neighbor system ID."; + } + + leaf psn-number { + type uint8; + description + "Pseudonode number if the neighbor is on a LAN + interface."; + } + + leaf-list flags { + type enumeration { + enum NUMBERED { + description + "When set, the interface is numbered, whereas if + unset indicates that the interface is + unnumbered."; + } + } + description + "SRLG flags."; + } + + leaf ipv4-interface-address { + type inet:ipv4-address; + description + "IPv4 interface address."; + } + + leaf ipv4-neighbor-address { + type inet:ipv4-address; + description + "IPv4 neighbor address."; + } + + leaf-list srlg-value { + type uint32; + description + "List of SRLG values."; + } + } + } + } + + container ipv6-srlgs { + when "../state/type = 'oc-isis-lsdb-types:IPV6_SRLG'" { + description + "Include the IPv6 SRLG TLV only when the TLV is type + 139."; + } + description + "This container defines ISIS SRLG TLV."; + + reference + "RFC6119: IPv6 Traffic Engineering in IS-IS. TLV 139."; + + list ipv6-srlg { + key "instance-number"; + + description + "Instance of the IPv6 SRLG TLV."; + + leaf instance-number { + type leafref { + path "../state/instance-number"; + } + description + "Reference to the instance number of the IPv6 Shared + Risk Link Group (SRLG) TLV."; + } + + container state { + description + "State parameters of TLV 139."; + + leaf instance-number { + type uint32; + description + "An arbitrary unsigned 32-bit integer used to + disambiguate the instance of TLV 138. The instance + identifier is synthesised by the system + and may be renumbered for the same SRLG definition + in subsequent advertised LSPs if (and only if) the + entire list of SRLGs is replaced."; + } + + leaf system-id { + type oc-isis-types:system-id; + description + "Neighbor system ID."; + } + + leaf psn-number { + type uint8; + description + "Pseudonode number if the neighbor is on a LAN + interface."; + } + + leaf-list flags { + type enumeration { + enum NA { + description + "When set, the IPv6 neighbour address is + included, whereas if unset, it is omitted"; + } + } + description + "IPv6 SRLG flags."; + } + + leaf ipv6-interface-address { + type inet:ipv6-address; + description + "IPv6 interface address or Link Local Identifier."; + } + + leaf ipv6-neighbor-address { + type inet:ipv6-address; + description + "IPv6 neighbor address or Link Remote Identifier."; + } + + leaf-list srlg-value { + type uint32; + description + "SRLG values."; + } + } + } + } + + container purge-oi { + when "../state/type = 'oc-isis-lsdb-types:PURGE_OI'" { + description + "Only include the purge originator identitication TLV + when the TLV type is 13."; + } + description + "This container defines ISIS purge TLV."; + + reference + "RFC6232: Purge Originator Identification TLV for IS-IS. + TLV 13."; + + container state { + description + "State parameters of TLV 13."; + + leaf system-id-count { + type uint8; + description + "Number of system IDs carried in this TLV."; + } + + leaf source-system-id { + type oc-isis-types:system-id; + description + "System ID of the Intermediate System that inserted + this TLV."; + } + + leaf received-system-id { + type oc-isis-types:system-id; + description + "System ID of the Intermediate System from which the + purge was received."; + } + } + } + + container router-capabilities { + when "../state/type = " + + "'oc-isis-lsdb-types:ROUTER_CAPABILITY'" { + description + "Only include the router capability TLV when the TLV is + type 242."; + } + description + "This container defines router capabilities."; + + list capability { + key "instance-number"; + + description + "This list describes IS Router capabilities."; + + reference + "RFC4971: Intermediate System to Intermediate System + (IS-IS) Extensions for Advertising Router Information. + TLV 242."; + + leaf instance-number { + type leafref { + path "../state/instance-number"; + } + description + "Reference to the instance number of the router + capability TLV."; + } + + container state { + description + "State parameters of TLV 242."; + + leaf instance-number { + type uint32; + description + "A unique instance number for the instance of the + router capabilities TLV. The instance number should + be autogenerated by the producer of the data and may + be renumbered if the entire LSP contents are + replaced in subsequent advertisements."; + } + + leaf router-id { + type inet:ipv4-address; + description + "IPv4 router-id."; + } + + leaf-list flags { + type enumeration { + enum FLOOD { + description + "When the S bit is set(1), the IS - IS Router + CAPABILITY TLV MUST be flooded across the entire + routing domain. When the S bit is not set(0), + the TLV MUST NOT be leaked between levels . This + bit MUST NOT be altered during the TLV + leaking."; + } + enum DOWN { + description + "When the IS-IS Router CAPABILITY TLV is leaked + from level - 2 to level-1, the Down bit MUST be + set. Otherwise, this bit MUST be clear. IS - IS + Router capability TLVs with the Down bit set + MUST NOT be leaked from level - 1 to level-2. + This is to prevent TLV looping."; + } + } + description + "Router capability flags."; + } + } + + container subtlvs { + description + "This container describes router capability TLV + sub-TLVs"; + + list subtlv { + key "type"; + description + "List of subTLV types in the LSDB for the specified + TLV"; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the sub-TLV type"; + } + + container state { + description + "State parameters of IS Router Capabilities"; + + uses isis-lsdb-subtlv-type-state; + } + + container segment-routing-algorithms { + when "../state/type = " + + "'oc-isis-lsdb-types:ROUTER_CAPABILITY_SR_ALGORITHM'" { + description + "Only include segment routing algorithm when the + sub-TLV is type 19."; + } + description + "This container defines SR algorithm sub-TLV 19."; + + reference + "draft-ietf-isis-segment-routing-extensions. + TLV 242, sub-TLV 19"; + + container state { + description + "State parameters of sub-TLV 19 - Segment + Routing Algorithm."; + + leaf-list algorithm { + type enumeration { + enum SPF { + value 0; + description + "Shortest Path First (SPF) algorithm + based on link metric. This is the + well-known shortest path algorithm as + computed by the IS-IS Decision process. + Consistent with the deployed practice + for link-state protocols, algorithm 0 + permits any node to overwrite the SPF + path with a different path based on + local policy."; + } + enum STRICT_SPF { + value 1; + description + "Strict Shortest Path First (SPF) + algorithm based on link metric. The + algorithm is identical to algorithm 0 + but algorithm 1 requires that all nodes + along the path will honor the SPF + routing decision. Local policy MUST NOT + alter the forwarding decision computed + by algorithm 1 at the node claiming to + support algorithm 1."; + } + } + description + "The Segment Routing algorithm that is + described by the TLV."; + } + } + } + + container segment-routing-capability { + when "../state/type = " + + "'oc-isis-lsdb-types:ROUTER_CAPABILITY_SR_CAPABILITY'" { + description + "Only include the SR capability sub-TLV when + the sub-TLV type is 2."; + } + description + "This container defines SR Capability sub-TLV 2."; + + reference + "draft-ietf-isis-segment-routing-extensions. TLV + 242, sub-TLV 2."; + + container state { + description + "State parameters of IS SR Router Capability"; + + leaf-list flags { + type enumeration { + enum IPV4_MPLS { + description + "When set, the router is capable of + processing SR MPLS encapsulated IPv4 + packets on all interfaces."; + } + enum IPV6_MPLS { + description + "When set, the router is capable of + processing SR MPLS encapsulated IPv6 + packets on all interfaces."; + } + enum IPV6_SR { + description + "When set, the router is capable of + processing the IPv6 Segment Routing Header + on all interfaces."; + } + } + description + "Segment Routing Capability Flags."; + } + } + + container srgb-descriptors { + description + "SRGB Descriptors included within the SR + capability sub-TLV"; + + list srgb-descriptor { + key "range"; + description + "Descriptor entry within the SR capabilty + sub-TLV"; + + leaf range { + type leafref { + path "../state/range"; + } + description + "Reference to unique SRGB Descriptor."; + } + + container state { + description + "State parameters of the SR range"; + + leaf range { + type uint32; + description + "Number of SRGB elements. The range + value MUST be greater than 0."; + } + + leaf label { + type oc-mplst:mpls-label; + description + "The first value of the SRGB when + expressed as an MPLS label."; + } + } + } + } + } + } + } + uses isis-lsdb-undefined-subtlv; + } + } + + container is-reachability { + when "../state/type = 'oc-isis-lsdb-types:IIS_NEIGHBORS'" { + description + "Include IIS_NEIGHBORS sub-TLV when the TLV type is 2."; + } + description + "This container describes list of ISIS neighbors and + attributes."; + + reference + "ISO 10589, Intermediate System to Intermediate System + Intra- Domain Routeing Exchange Protocol for use in + Conjunction with the Protocol for Providing the + Connectionless-mode Network Service (ISO 8473), + International Standard 10589: 2002, Second Edition, + 2002. TLV 2."; + + container neighbors { + description + "This container describes IS neighbors."; + + list neighbor { + key "system-id"; + description + "IS reachability neighbor attributes."; + + leaf system-id { + type leafref { + path "../state/system-id"; + } + description + "Reference to the system ID of the neighbor."; + } + + uses isis-lsdb-neighbor; + } + } + } + + container ipv4-internal-reachability { + when "../state/type = " + + "'oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY'" { + description + "Include IPv4 internal reachability TLV when the TLV + type is specified as 128."; + } + description + "This container defines list of IPv4 internal reachability + information."; + + reference + "RFC1195: OSI ISIS for IP and Dual Environments. RFC5302: + Domain-Wide Prefix Distribution with Two-Level IS-IS. TLV + 128"; + + container prefixes { + description + "This container describes IS prefixes."; + + list prefix { + key "prefix"; + + description + "IPv4 prefixes and internal reachability attributes."; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the IPv4 prefix"; + } + + uses ipv4-prefix-attributes-state; + } + } + } + + container ipv4-external-reachability { + when "../state/type = " + + "'oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY'" { + description + "Include IPv4 external reachability when the TLV type + is set to 130."; + } + description + "This container defines list of IPv4 external reachability + information."; + + reference + "RFC1195: OSI ISIS for IP and Dual Environments. RFC5302: + Domain-Wide Prefix Distribution with Two-Level IS-IS. TLV + 130"; + + container prefixes { + description + "This container describes IS neighbors."; + + list prefix { + key "prefix"; + + description + "IPv4 external prefixes and reachability attributes."; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the IPv4 prefix."; + } + + uses ipv4-prefix-attributes-state; + } + } + } + + container authentication { + when "../state/type = 'oc-isis-lsdb-types:AUTHENTICATION'" { + description + "Only include the authentication TLV when the TLV is + type 10."; + } + description + "This container defines authentication information of the + node."; + + reference + "ISO 10589 Intermediate System to Intermediate System + Intra- Domain Routeing Exchange Protocol for use in + Conjunction with the Protocol for Providing the + Connectionless-mode Network Service (ISO 8473) + International Standard 10589: 2002, Second Edition, 2002. + TLV 10."; + + container state { + description + "State parameters of TLV 10."; + + leaf crypto-type { + type enumeration { + enum HMAC_MD5 { + description + "HMAC-MD5 Authentication type."; + } + enum CLEARTEXT { + description + "Cleartext Authentication type."; + } + } + description + "Authentication type to be used."; + } + + leaf authentication-key { + type string; + description + "Authentication key to be used."; + } + } + } + + container extended-is-reachability { + when "../state/type = " + + "'oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY'" { + description + "Only included the extended IS reachability TLV when the + TLV is type 22."; + } + + description + "This container defines list of ISIS extended reachability + neighbors."; + + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. TLV + 22."; + + uses isis-lsdb-common-extisreach-neighbors; + } + + container extended-ipv4-reachability { + when "../state/type = " + + "'oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY'" { + description + "Only include the extended IPv4 reachability container + when the TLV type is 135."; + } + description + "This container defines list of IPv4 extended reachability + information."; + + reference + "RFC5305: IS-IS Extensions for Traffic Engineering. TLV + 135"; + + container prefixes { + description + "This container describes IS prefixes."; + + list prefix { + key "prefix"; + + description + "This list describes IPv4 extended prefixes and + attributes."; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the IPv4 prefix that the TLV describes + the attributes of."; + } + + uses ipv4-prefix-extended-state; + } + } + } + + container ipv6-reachability { + when "../state/type = " + + "'oc-isis-lsdb-types:IPV6_REACHABILITY'" { + description + "Only include the IPv6 reachability container when the + TLV type is 236."; + } + description + "This container defines list of IPv6 reachability + information."; + + reference + "RFC5308: Routing IPv6 with IS-IS. TLV 236"; + + container prefixes { + description + "This container describes IS prefixes."; + + list prefix { + key "prefix"; + + description + "This list defines IPv6 extended prefix attributes."; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the IPv6 prefix that the TLV + corresponds to."; + } + + uses ipv6-prefix-extended-state; + } + } + } + + container multi-topology { + when "../state/type = 'oc-isis-lsdb-types:MULTI_TOPOLOGY'" { + description + "Only include the multi-topology container when the TLV + is type 229."; + } + + description + "This container defines the topology supported."; + + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in + Intermediate System to Intermediate Systems (IS-ISs). TLV + 229"; + + container topologies { + description + "This container describes IS topologies."; + + list topology { + key "mt-id"; + + description + "This list describes a topology."; + + leaf mt-id { + type leafref { + path "../state/mt-id"; + } + description + "Reference to the multi-topology ID being described + by the list entry."; + } + + container state { + description + "State parameters of IS multi-topology TLV 229."; + + leaf mt-id { + type uint16 { + range "0 .. 4095"; + } + description + "Multi-topology ID."; + } + + leaf attributes { + type enumeration { + enum OVERLOAD { + description + "When set, node is overloaded, still part of + the topology but cannot be used for transit."; + } + enum ATTACHED { + description + "When set, node is attached to another area + using the referred metric and can be used as + default gateway."; + } + } + description + "Attributes of the LSP for the associated + topology."; + } + } + } + } + } + + container isis-neighbor-attribute { + when "../state/type = " + + "'oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE'" { + description + "Only include the neighbor attribute container when the + TLV is type 23."; + } + description + "This container defines list of ISIS topology neighbors + for extended ISIS LSP (multiple system IDs). "; + + reference + "RFC5311: Simplified Extension of Link State PDU (LSP) + Space for IS-IS. TLV 23. It is identical in format to the + extended IS reachability TLV 22."; + + uses isis-lsdb-common-extisreach-neighbors; + } + + container is-alias-id { + when "../state/type = 'oc-isis-lsdb-types:ISIS_ALIAS_ID'" { + description + "Only include the ISIS alias ID container when the TLV + is type 24."; + } + + description + "This container defines the IS-Alias TLV which allows + extension-capable ISs to recognize the Originating System + of an Extended LSP set. It identifies the Normal system- + id of the Originating System."; + + reference + "RFC5311: Simplified Extension of Link State PDU (LSP) + Space for IS-IS TLV 24."; + + container state { + config false; + description + "State parameters of alias ID."; + + leaf alias-id { + type oc-isis-types:system-id; + description + "List of alias ID(s)."; + } + } + } + + container mt-isn { + when "../state/type = 'oc-isis-lsdb-types:MT_ISN'" { + description + "Only include the MT ISN container when the TLV is type + 222."; + } + description + "This container defines list of ISIS multi-topology + neighbors."; + + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in + Intermediate System to Intermediate Systems (IS-ISs). TLV + 222."; + + uses isis-lsdb-mtis-common; + } + + container mt-isis-neighbor-attribute { + when "../state/type = " + + "'oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE'" { + description + "Only include the MT ISIS neighbor attribute container + when the TLV is type 223."; + } + + description + "This container defines list of ISIS multi-topology + neighbors."; + + reference + "RFC5311: Simplified Extension of Link State PDU (LSP) + Space for IS-IS. TLV 223. It is identical in format to the + MT-ISN TLV 222."; + + uses isis-lsdb-mtis-common; + } + + container mt-ipv4-reachability { + when "../state/type = " + + "'oc-isis-lsdb-types:MT_IPV4_REACHABILITY'" { + description + "Only include the multi-topology IPv4 reachability + container when the TLV is type 235."; + } + description + "This container defines list of IPv4 reachability + Information in multi-topology environment."; + + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in + Intermediate System to Intermediate Systems (IS-ISs). TLV + 235."; + + container prefixes { + description + "This container describes IS prefixes."; + + list prefix { + key "mt-id prefix"; + + leaf mt-id { + type leafref { + path "../state/mt-id"; + } + description + "Reference to the topology ID of the topology that + the prefix is within."; + } + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the prefix to which reachability is + being advertised."; + } + + description + "IPv4 prefixes that are contained within MT + reachability TLV."; + + uses ipv4-mt-prefix-extended-state; + } + } + } + + container mt-ipv6-reachability { + when "../state/type = " + + "'oc-isis-lsdb-types:MT_IPV6_REACHABILITY'" { + description + "Only include the multi-topology IPv6 reachability + container when the TLV is type 237."; + } + description + "This container defines list of IPv6 reachability + information in multi - topology environment."; + + reference + "RFC5120: M-ISIS: Multi Topology (MT) Routing in + Intermediate System to Intermediate Systems (IS-ISs). TLV + 237."; + + container prefixes { + description + "This container describes IS prefixes."; + + list prefix { + key "prefix mt-id"; + description + "List of IPv6 prefixes contained within MT + reachability TLV."; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the IPv6 prefix described by the + TLV."; + } + + leaf mt-id { + type leafref { + path "../state/mt-id"; + } + description + "Reference to the multi-topology ID."; + } + + uses ipv6-mt-prefix-extended-state; + } + } + } + } + } + + uses isis-lsdb-undefined-tlv; + } +} diff --git a/vendor/cisco/xr/755/openconfig-isis-policy.yang b/vendor/cisco/xr/755/openconfig-isis-policy.yang new file mode 100644 index 000000000..c9ef83ab8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-isis-policy.yang @@ -0,0 +1,212 @@ +module openconfig-isis-policy { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/openconfig-isis-policy"; + + prefix "oc-isis-pol"; + + // import some basic types + import openconfig-routing-policy {prefix rpol; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-isis-types { prefix isis-types; } + + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net "; + + description + "This module contains data definitions for ISIS routing policy. + It augments the base routing-policy module with BGP-specific + options for conditions and actions."; + + oc-ext:openconfig-version "0.5.0"; + + revision "2020-02-04" { + description + "Consistent prefix for openconfig-mpls-types."; + reference "0.5.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.2"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements."; + reference "0.4.1"; + } + + revision "2018-05-14" { + description + "Update LSDB model to correct Extended IS reach TLV + bug. This change is backwards incompatible due to + adding an additional level of hierarchy to support + multiple instances of the TLV."; + reference "0.4.0"; + } + + revision "2017-07-26" { + description + "Update LSDB and fix bugs."; + reference "0.3.2"; + } + + revision "2017-05-15" { + description + "Refactor LSDB."; + reference "0.3.0"; + } + + revision "2017-01-13" { + description + "Remove top-level /isis container"; + reference "0.2.1"; + } + + revision "2016-12-15" { + description + "Add segment routing to IS-IS module"; + reference "0.2.0"; + } + + revision "2016-10-18" { + description + "Initial revision of IS-IS models."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + + // feature statements + + // identity statements + + // typedef statements + + // grouping statements + + grouping isis-match-conditions { + description + "Criteria used to match IS-IS routes within the policy"; + + container isis-conditions { + description + "Match conditions relating to the IS-IS protocol"; + + container config { + description + "Configuration parameters relating to IS-IS match + conditions"; + + uses isis-match-conditions-config; + } + + container state { + config false; + description + "Operational state parameters relating to IS-IS match + conditions"; + uses isis-match-conditions-config; + } + } + } + + grouping isis-match-conditions-config { + description + "Match conditions for IS-IS"; + + leaf level-eq { + type isis-types:level-number; + description + "Match the level that the IS-IS prefix is within. This can + be used in the case that import or export policies refer + to an IS-IS instance that has multiple levels configured + within it"; + } + } + + grouping isis-actions { + description + "Actions supplied by the IS-IS protocol to be set on a + route within the policy"; + + container isis-actions { + description + "Actions that can be performed by IS-IS within a policy"; + + container config { + description + "Configuration parameters relating to IS-IS actions"; + + uses isis-actions-config; + } + + container state { + config false; + description + "Operational state associated with IS-IS actions"; + + uses isis-actions-config; + } + } + } + + grouping isis-actions-config { + description + "Actions for IS-IS"; + + leaf set-level { + type isis-types:level-number; + description + "Set the level that a prefix is to be imported into."; + } + + leaf set-metric-type { + type isis-types:level-number; + description + "Set the type of metric that is to be specified when the + set metric leaf is specified"; + } + + leaf set-metric { + type isis-types:wide-metric; + description + "Set the metric of the IS-IS prefix"; + } + } + + // augment statements + augment "/rpol:routing-policy/rpol:policy-definitions/" + + "rpol:policy-definition/rpol:statements/rpol:statement/" + + "rpol:actions" { + description "This augments igp-actions with ISIS conditions"; + uses isis-actions; + + } + + augment "/rpol:routing-policy/rpol:policy-definitions/" + + "rpol:policy-definition/rpol:statements/rpol:statement/" + + "rpol:conditions" { + description "This augments igp-conditions with ISIS conditions"; + uses isis-match-conditions; + } + + // rpc statements + + // notification statements +} diff --git a/vendor/cisco/xr/755/openconfig-isis-routing.yang b/vendor/cisco/xr/755/openconfig-isis-routing.yang new file mode 100644 index 000000000..aab25d9ad --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-isis-routing.yang @@ -0,0 +1,408 @@ +submodule openconfig-isis-routing { + + belongs-to openconfig-isis { + prefix "oc-isis"; + } + + // import some basic types + import openconfig-isis-types { prefix oc-isis-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-mpls-types { prefix oc-mplst; } + import openconfig-segment-routing { prefix oc-sr; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module describes YANG model for ISIS Routing"; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-03-24" { + description + "Support IGP-LDP sync per interface."; + reference "0.6.0"; + } + + revision "2020-02-04" { + description + "Consistent prefix for openconfig-mpls-types."; + reference "0.5.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.2"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements."; + reference "0.4.1"; + } + + revision "2018-05-14" { + description + "Update LSDB model to correct Extended IS reach TLV + bug. This change is backwards incompatible due to + adding an additional level of hierarchy to support + multiple instances of the TLV."; + reference "0.4.0"; + } + + revision "2017-07-26" { + description + "Update LSDB and fix bugs."; + reference "0.3.2"; + } + + revision "2017-05-15" { + description + "Refactor LSDB."; + reference "0.3.0"; + } + + revision "2017-01-13" { + description + "Remove top-level /isis container"; + reference "0.2.1"; + } + + revision "2016-12-15" { + description + "Add segment routing to IS-IS module"; + reference "0.2.0"; + } + + revision "2016-10-18" { + description + "Initial revision of IS-IS models."; + reference "0.1.0"; + } + + // extension statements + + // feature statements + + // identity statements + + // typedef statements + + // grouping statements + + grouping rt-admin-config { + description + "Re-usable grouping to enable or disable a particular IS-IS feature."; + + leaf enabled { + type boolean; + description + "When set to true, the functionality within which this leaf is + defined is enabled, when set to false it is explicitly disabled."; + } + } + + grouping isis-afi-safi-config { + description + "This grouping defines Address-Family configuration parameters"; + + leaf afi-name { + type identityref { + base oc-isis-types:AFI_TYPE; + } + description + "Address-family type."; + } + + leaf safi-name { + type identityref { + base oc-isis-types:SAFI_TYPE; + } + description + "Subsequent address-family type."; + } + } + + grouping isis-shortcuts-afi-config { + description + "This grouping defines ISIS Shortcuts configuration parameters"; + + leaf afi-name { + type identityref { + base oc-isis-types:AFI_TYPE; + } + description "Address-family type."; + } + + leaf-list nh-type { + type identityref { + base oc-mplst:PATH_SETUP_PROTOCOL; + } + description "Tunnel NH Type(RSVP,SR). When present it implies + that nh-type shortcut is enabled for a specified AFI."; + } + } + + grouping isis-shortcuts-config { + description + "This grouping defines ISIS Shortcuts consfiguration parameters"; + + container config { + description "This container defines ISIS shortcuts configuration."; + uses rt-admin-config; + } + + container state { + config false; + description "This container defines state for ISIS shortcuts."; + uses rt-admin-config; + } + } + + grouping isis-mt-config { + description + "This grouping defines ISIS multi-topology configuration parameters"; + + leaf afi-name { + type identityref { + base oc-isis-types:AFI_TYPE; + } + description + "Address-family type."; + } + leaf safi-name { + type identityref { + base oc-isis-types:SAFI_TYPE; + } + description + "Subsequent address-family type."; + } + //prefer single topology + } + + + + // *********** STRUCTURE GROUPINGS ********************** + + grouping isis-metric-config { + description + "This grouping defines ISIS metric configuration"; + + leaf metric { + type uint32; + default 10; + description "ISIS metric value(default=10)."; + } + } + + grouping isis-afi-safi-list { + description + "This grouping defines address-family configuration and state + information"; + + list af { + key "afi-name safi-name"; + + description + "Address-family/Subsequent Address-family list."; + + leaf afi-name { + type leafref { + path "../config/afi-name"; + } + description + "Reference to address-family type"; + } + + leaf safi-name { + type leafref { + path "../config/safi-name"; + } + description + "Reference to subsequent address-family type"; + } + + container config { + description + "This container defines AFI-SAFI configuration parameters"; + + uses isis-afi-safi-config; + uses isis-metric-config; + uses rt-admin-config; + } + + container state { + config false; + description + "This container defines AFI-SAFI State information"; + + uses isis-afi-safi-config; + uses isis-metric-config; + uses rt-admin-config; + } + + uses isis-mt-list; + } + } + + grouping isis-if-afi-safi-list { + description + "This grouping defines address-family configuration and state + information"; + + list af { + key "afi-name safi-name"; + + description + "Address-family/Subsequent Address-family list."; + + leaf afi-name { + type leafref { + path "../config/afi-name"; + } + description + "Reference to address-family type"; + } + + leaf safi-name { + type leafref { + path "../config/safi-name"; + } + description + "Reference to subsequent address-family type"; + } + + container config { + description + "This container defines AFI-SAFI configuration parameters. Single + topology is the default setting."; + uses isis-afi-safi-config; + uses isis-metric-config; + uses rt-admin-config; + } + + container state { + config false; + description + "This container defines AFI-SAFI State information"; + uses isis-afi-safi-config; + uses isis-metric-config; + uses rt-admin-config; + } + + uses oc-sr:sr-igp-interface-top; + } + } + + grouping isis-if-global-afi-safi-list { + description + "This grouping defines address-family configuration and state + information"; + + list af { + key "afi-name safi-name"; + + description + "Address-family/Subsequent Address-family list."; + + leaf afi-name { + type leafref { + path "../config/afi-name"; + } + description + "Reference to address-family type"; + } + + leaf safi-name { + type leafref { + path "../config/safi-name"; + } + description + "Reference to subsequent address-family type"; + } + + container config { + description + "This container defines AFI-SAFI configuration parameters. Single + topology is the default setting."; + uses isis-afi-safi-config; + uses rt-admin-config; + } + + container state { + config false; + description + "This container defines AFI-SAFI State information"; + uses isis-afi-safi-config; + uses rt-admin-config; + } + } + } + + grouping isis-shortcuts-afi-list { + description + "This grouping defines ISIS Shorcuts configuration and + state information"; + + list afi { + key "afi-name"; + + description + "Address-family list."; + + leaf afi-name { + type leafref { + path "../config/afi-name"; + } + description + "Reference to address-family type."; + } + + container config { + description + "This container defines ISIS Shortcuts configuration parameters"; + uses isis-shortcuts-afi-config; + } + + container state { + config false; + description + "This container defines ISIS Shortcuts state information"; + uses isis-shortcuts-afi-config; + } + } + } + + grouping isis-mt-list { + description + "This grouping defines multi-topology address-family configuration and + state information. MT0 - IPv4 Unicast, MT2 - IPv6 Unicast, MT3 - + IPv4 Multicast, MT4 - IPv6 Multicast"; + + container multi-topology { + description + "This container defines multi-topology address-family configuration + and state information. ISIS TLV 235, 237."; + + container config { + description + "This container defines AFI-SAFI multi-topology configuration + parameters"; + uses isis-mt-config; + } + + container state { + config false; + description + "This container defines AFI-SAFI multi-topology state information"; + uses isis-mt-config; + uses rt-admin-config; + } + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-isis-types.yang b/vendor/cisco/xr/755/openconfig-isis-types.yang new file mode 100644 index 000000000..b46551306 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-isis-types.yang @@ -0,0 +1,377 @@ +module openconfig-isis-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/isis-types"; + + prefix "oc-isis-types"; + + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module contains general data definitions for use in ISIS YANG + model."; + + oc-ext:openconfig-version "0.5.0"; + + revision "2021-08-12" { + description + "Make pattern regexes conform to RFC7950, remove + oc-ext:regexp-posix, and fix broken regex for area + address. This change is backwards incompatible + because it changes the area address regex."; + reference "0.5.0"; + } + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions."; + reference "0.4.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.1"; + } + + revision "2018-05-14" { + description + "Update LSDB model to correct Extended IS reach TLV + bug. This change is backwards incompatible due to + adding an additional level of hierarchy to support + multiple instances of the TLV."; + reference "0.4.0"; + } + + revision "2017-07-26" { + description + "Update LSDB and fix bugs."; + reference "0.3.2"; + } + + revision "2017-05-15" { + description + "Refactor LSDB."; + reference "0.3.0"; + } + + revision "2017-01-13" { + description + "Remove top-level /isis container"; + reference "0.2.1"; + } + + revision "2016-12-15" { + description + "Add segment routing to IS-IS module"; + reference "0.2.0"; + } + + revision "2016-10-18" { + description + "Initial revision of IS-IS models."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + identity OVERLOAD_RESET_TRIGGER_TYPE { + description + "Base identify type for triggers that reset Overload Bit"; + } + + identity WAIT_FOR_BGP { + base OVERLOAD_RESET_TRIGGER_TYPE; + description + "Base identity type for resetting Overload Bit when BGP has converged. "; + } + + identity WAIT_FOR_SYSTEM { + base OVERLOAD_RESET_TRIGGER_TYPE; + description + "Base identity type for resetting Overload Bit when system resources have + been restored. "; + } + + identity MT_TYPE { + description + "Base identify type for multi-topology"; + } + + identity SAFI_TYPE { + description + "Base identify type for SAFI"; + } + + identity AFI_TYPE { + description + "Base identify type for AFI"; + } + + identity AFI_SAFI_TYPE { + description + "Base identify type for AFI/SAFI"; + } + + identity IPV4_UNICAST { + base AFI_SAFI_TYPE; + description + "Base identify type for IPv4 Unicast address family"; + } + + identity IPV6_MULTICAST { + base AFI_SAFI_TYPE; + description + "Base identify type for IPv6 multicast address family"; + } + + identity IPV4_MULTICAST { + base AFI_SAFI_TYPE; + description + "Base identify type for IPv4 multicast address family"; + } + + identity IPV6_UNICAST { + base AFI_SAFI_TYPE; + description + "Base identify type for IPv6 unicast address family"; + } + + identity UNICAST { + base SAFI_TYPE; + description + "Base identify type for IPv4 Unicast address family"; + } + + identity MULTICAST { + base SAFI_TYPE; + description + "Base identify type for IPv6 multicast address family"; + } + + identity IPV4 { + base AFI_TYPE; + description + "Base identify type for IPv4 address family"; + } + + identity IPV6 { + base AFI_TYPE; + description + "Base identify type for IPv6 address family"; + } + + // typedef statements + typedef level-type { + type enumeration { + enum LEVEL_1 { + description "This enum describes ISIS level 1"; + } + enum LEVEL_2 { + description "This enum describes ISIS level 2"; + } + enum LEVEL_1_2 { + description "This enum describes ISIS level 1-2"; + } + } + description + "This type defines ISIS level types"; + } + + typedef level-number { + type uint8 { + range "1..2"; + } + description + "This type defines ISIS level."; + } + + typedef adaptive-timer-type { + type enumeration { + enum LINEAR { + description "This enum describes linear algorithm timer"; + } + enum EXPONENTIAL { + description "This enum describes exponential algorithm timer"; + } + } + description + "This type defines ISIS adaptive timer types"; + } + + typedef hello-padding-type { + type enumeration { + enum STRICT { + description "This enum describes strict padding"; + } + enum LOOSE { + description "This enum describes loose padding"; + } + enum ADAPTIVE { + description "This enum describes adaptive padding"; + } + enum DISABLE { + description "This enum disables padding"; + } + } + description + "This type defines ISIS hello padding type"; + } + + typedef circuit-type { + type enumeration { + enum POINT_TO_POINT { + description "This enum describes a point-to-point interface"; + } + enum BROADCAST { + description "This enum describes a broadcast interface"; + } + } + description + "This type defines ISIS interface types "; + } + + typedef metric-type { + type enumeration { + enum INTERNAL { + description "This enum describes internal route type"; + } + enum EXTERNAL { + description "This enum describes external route type"; + } + } + description + "This type defines ISIS metric type"; + } + + typedef wide-metric { + type uint32 { + range "1..16777215"; + } + description + "This type defines ISIS wide metric."; + } + + typedef narrow-metric { + type uint8 { + range "1..63"; + } + description + "This type defines ISIS narrow metric."; + } + + typedef metric-style { + type enumeration { + enum NARROW_METRIC { + description + "This enum describes narrow metric style"; + reference "RFC1195"; + } + enum WIDE_METRIC { + description + "This enum describes wide metric style"; + reference "RFC5305"; + } + } + description + "This type defines ISIS metric styles"; + } + + typedef isis-interface-adj-state { + type enumeration { + enum UP { + description + "This state describes that adjacency is established."; + } + enum DOWN { + description + "This state describes that adjacency is NOT established."; + } + enum INIT { + description + "This state describes that adjacency is establishing."; + } + enum FAILED { + description + "This state describes that adjacency is failed."; + } + } + description + "This type defines the state of the interface."; + } + + typedef net { + type string { + pattern '[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}'; + oc-ext:posix-pattern '^[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}$'; + } + description + "This type defines OSI NET address. A NET should should be in + the form xx.yyyy.yyyy.yyyy.00 with up to 9 sets of yyyy."; + } + + typedef area-address { + type string { + pattern '[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}'; + oc-ext:posix-pattern '^[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}$'; + } + description + "This type defines the ISIS area address."; + } + + typedef system-id { + type string { + pattern '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}'; + oc-ext:posix-pattern '^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}$'; + } + description + "This type defines ISIS system id using pattern, system id looks + like : 0143.0438.AeF0"; + } + + typedef extended-circuit-id { + type uint32; + description + "This type defines interface circuit ID."; + } + + typedef lsp-id { + type string { + pattern + '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]' + + '{4}\.[0-9][0-9]-[0-9][0-9]'; + oc-ext:posix-pattern + '^[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]' + + '{4}\.[0-9][0-9]-[0-9][0-9]$'; + } + description + "This type defines ISIS LSP ID. ISIS LSP ID type should be in + the form of xxxx.xxxx.xxxx.xx-xx"; + } + typedef snpa { + type string { + length "0 .. 20"; + } + description + "This type defines Subnetwork Point of Attachment format."; + } +} diff --git a/vendor/cisco/xr/755/openconfig-isis.yang b/vendor/cisco/xr/755/openconfig-isis.yang new file mode 100644 index 000000000..51a42cf2a --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-isis.yang @@ -0,0 +1,2096 @@ +module openconfig-isis { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/openconfig-isis"; + + prefix "oc-isis"; + + // import some basic types + import ietf-inet-types { prefix "inet"; } + import ietf-yang-types { prefix "yang"; } + import openconfig-types { prefix "oc-types"; } + import openconfig-isis-types { prefix "oc-isis-types"; } + import openconfig-routing-policy { prefix "oc-rpol"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-interfaces { prefix "oc-if"; } + import openconfig-segment-routing { prefix "oc-sr"; } + // TODO(robjs): Import authentication and keychain following merge of these + // modules. + //import openconfig-authentication-types { prefix "oc-auth-types"; } + //import openconfig-keychain { prefix "oc-keychain"; } + + // Include submodules: + // IS-IS LSP is the LSDB for IS-IS. + include openconfig-isis-lsp; + // IS-IS RT is routing-related features for IS-IS + include openconfig-isis-routing; + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net "; + + description + "This module describes a YANG model for ISIS protocol configuration. + It is a limited subset of all of the configuration parameters + available in the variety of vendor implementations, hence it is + expected that it would be augmented with vendor - specific configuration + data as needed. Additional modules or submodules to handle other + aspects of ISIS configuration, including policy, routing, types, + LSDB and additional address families are also expected. This model + supports the following ISIS configuration level hierarchy: + + ISIS + +-> { global ISIS configuration} + +-> levels +-> { level config} + +-> { system-level-counters } + +-> { level link-state-database} + +-> interface +-> { interface config } + +-> { circuit-counters } + +-> { levels config } + +-> { level adjacencies }"; + + oc-ext:openconfig-version "0.6.0"; + + revision "2020-03-24" { + description + "Support IGP-LDP sync per interface."; + reference "0.6.0"; + } + + revision "2020-02-04" { + description + "Consistent prefix for openconfig-mpls-types."; + reference "0.5.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.2"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements."; + reference "0.4.1"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements."; + reference "0.4.1"; + } + + revision "2018-05-14" { + description + "Update LSDB model to correct Extended IS reach TLV + bug. This change is backwards incompatible due to + adding an additional level of hierarchy to support + multiple instances of the TLV."; + reference "0.4.0"; + } + + revision "2017-07-26" { + description + "Update LSDB and fix bugs."; + reference "0.3.2"; + } + + revision "2017-05-15" { + description + "Refactor LSDB."; + reference "0.3.0"; + } + + revision "2017-01-13" { + description + "Remove top-level /isis container"; + reference "0.2.1"; + } + + revision "2016-12-15" { + description + "Add segment routing to IS-IS module"; + reference "0.2.0"; + } + + revision "2016-10-18" { + description + "Initial revision of IS-IS models."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + + // feature statements + + // identity statements + + // typedef statements + + // grouping statements + + grouping isis-global-config { + description + "This grouping defines lobal configuration options for ISIS router."; + + // multi-instance + leaf instance { + type string; + default 0; + description + "ISIS Instance."; + } + + leaf-list net { + type oc-isis-types:net; + description + "ISIS network entity title (NET). The first 8 bits are usually + 49 (private AFI), next 16 bits represent area, next 48 bits represent + system id and final 8 bits are set to 0."; + reference + "International Organization for Standardization, Information + technology - Open Systems Interconnection-Network service + Definition - ISO/ IEC 8348:2002."; + } + + leaf maximum-area-addresses { + type uint8; + default 3; + description + "Maximum areas supported."; + } + + leaf level-capability { + type oc-isis-types:level-type; + default "LEVEL_1_2"; + description + "ISIS level capability(level-1, level-2, level-1-2)."; + } + + leaf max-ecmp-paths { + type uint8; + description + "ISIS max-paths count."; + } + + leaf poi-tlv { + type boolean; + default false; + description + "ISIS purge TLV. When set to true, a TLV is added to purges to record + the system ID of the IS generating the purge."; + reference "RFC6232: Purge Originator Identification TLV for IS-IS. TLV 13."; + } + + leaf iid-tlv { + type boolean; + default false; + description + "ISIS Instance Identifier TLV. When set to trues, the IID-TLV identifies + the unique instance as well as the topology/topologies to which the + PDU applies."; + reference "RFC6822: IS-IS Multi-Instance. TLV 7"; + } + + leaf fast-flooding { + type boolean; + default true; + description + "When set to true, IS will always flood the LSP that triggered an SPF + before the router actually runs the SPF computation."; + } + } + + grouping admin-config { + description + "Re-usable grouping to enable or disable a particular IS-IS feature."; + + leaf enabled { + type boolean; + default false; + description + "When set to true, the functionality within which this leaf is + defined is enabled, when set to false it is explicitly disabled."; + } + } + + grouping isis-bfd-config { + description + "This grouping defines Bidirectionl-Forwarding-Detection + configuration."; + + //There is also BFD state under adjacency + leaf bfd-tlv { + type boolean; + description + "When set to true, BFD TLV is used. This enables support for the IS-IS + BFD TLV options, which specify that a BFD session must be established + before an IS-IS adjacency can transition to the established state. + This option should be enabled on all IS-IS neighbors on a shared + interface."; + reference "RFC6213. TLV 148"; + } + reference "RFC5880: Bidirectional Forwarding Detection (BFD)."; + } + + grouping isis-authentication-check-config { + description + "This grouping defines ISIS authentication check."; + + leaf authentication-check { + type boolean; + default true; + description + "When set to true, reject all ISIS protocol PDUs that either have a mismatch + in authentication-type or authentication-key."; + } + } + + grouping isis-metric-style-config { + description + "This grouping defines ISIS metric style."; + + leaf metric-style { + type oc-isis-types:metric-style; + description + "ISIS metric style types(narrow, wide)."; + } + } + + grouping authentication-key-config { + description + "This grouping defines authentication key configuration."; + + leaf auth-password { + type oc-types:routing-password; + description + "Authentication key string."; + } + } + + grouping keychain-base-group { + description + "This grouping defines keychain configuration."; + + container keychain { + description + "This container defines keychain parameters."; + + // TODO(robjs): Import keychain parameters following merge of the auth + // models. + //uses oc-keychain:keychain-common-base; + //uses oc-keychain:tolerance-base; + //uses oc-keychain:keychain-key-base; + } + } + + grouping isis-authentication-config { + description + "This grouping defines ISIS authentication configuration."; + + // TODO(robjs): Add authentication following merge of auth modules. + //leaf auth-type { + // type oc-auth-types:auth-type; + // description + // "ISIS authentication type (key, key-chain)."; + //} + + leaf csnp-authentication { + type boolean; + default false; + description + "Enable or disable for IS-IS CSNPs."; + } + + leaf psnp-authentication { + type boolean; + default false; + description + "Enable or disable authentication for IS-IS PSNPs."; + } + + leaf lsp-authentication { + type boolean; + default false; + description + "Enable or disable authentication for IS-IS LSPs."; + } + } + + grouping isis-authentication-group { + description + "This grouping defines ISIS authentication."; + + container config { + description + "This container defines ISIS authentication configuration."; + + uses isis-authentication-config; + } + + container state { + config false; + description + "This container defines ISIS authentication state."; + + uses isis-authentication-config; + } + + container key { + description + "This container defines ISIS authentication key"; + container config { + description + "This container defines ISIS authentication key configuration."; + + uses authentication-key-group-config { + // TODO(aashaikh): Add auth-type conditions after merge of + // auth models. + // when "../auth-type = 'KEY'"; + } + } + + container state { + config false; + description + "This container defines ISIS authentication key state."; + + uses authentication-key-group-config { + // TODO(aashaikh): Add auth-type conditions after merge of + // auth models. + // when "../auth-type = 'KEY'"; + } + } + } + + uses keychain-base-group { + // TODO(aashaikh): Add auth-type conditions after merge of + // auth models. + // when "../auth-type = 'KEY_CHAIN'"; + } + } + + grouping isis-hello-authentication-config { + description + "Configuration options for IS-IS hello authentication."; + + leaf hello-authentication { + type boolean; + default false; + description + "Enabled or disable ISIS Hello authentication."; + } + + // TODO(robjs): Add hello-auth-type following merge of auth models. + //leaf hello-auth-type { + // type oc-auth-types:auth-type; + // description + // "ISIS authentication type (key, key-chain)."; + //} + } + + grouping isis-hello-authentication-group { + description + "This grouping defines ISIS hello-authentication."; + + container config { + description + "This container defines ISIS authentication configuration."; + + uses isis-hello-authentication-config; + } + + container state { + config false; + description + "This container defines ISIS authentication state."; + + uses isis-hello-authentication-config; + } + + container key { + description + "This container defines ISIS authentication key"; + + container config { + description + "This container defines ISIS authentication key configuration."; + + uses authentication-key-group-config { + // TODO(aashaikh): Add auth-type conditions after merge of + // auth models. + // when "../auth-type = 'KEY'"; + } + } + + container state { + config false; + description + "This container defines ISIS authentication key state."; + + uses authentication-key-group-config { + // TODO(aashaikh): Add auth-type conditions after merge of + // auth models. + // when "../auth-type = 'KEY'"; + } + } + } + + uses keychain-base-group { + // TODO(aashaikh): Add auth-type conditions after merge of + // auth models. + // when "../auth-type = 'KEY_CHAIN'"; + } + } + + grouping isis-ldp-igp-config { + description + "This grouping defines ISIS/LDP Synchronization configuration."; + + leaf enabled { + type boolean; + default true; + description + "When set to true, rely on IGP/LDP synchronization. IGP cost for + link is maintained at max until LDP adjacencies are established "; + reference "RFC5443: LDP IGP Synchronization."; + } + + leaf post-session-up-delay { + type uint16; + units seconds; + description + "Specifies a delay, expressed in units of seconds, + between the LDP session to the IGP neighbor being established, and + it being considered synchronized by the IGP."; + } + } + + grouping isis-te-config { + description + "This grouping defines ISIS Traffic Engineering configuration."; + + leaf ipv4-router-id { + type inet:ipv4-address-no-zone; + description + "IPv4 MPLS Traffic Engineering Router-ID."; + } + + leaf ipv6-router-id { + type inet:ipv6-address-no-zone; + description + "IPv6 MPLS Traffic Engineering Router-ID."; + } + } + + grouping isis-reference-bandwidth-config { + description + "This grouping defines ISIS Reference Bandwidth Configuration."; + + leaf reference-bandwidth { + type uint32; + description + "ISIS Reference Bandwidth value"; + } + } + + grouping isis-overload-bit-set-config { + description + "This grouping defines ISIS Overload Bit."; + + leaf set-bit { + type boolean; + default false; + description + "When set to true, IS-IS overload bit is set."; + } + + leaf set-bit-on-boot { + type boolean; + default false; + description + "When set to true, the IS-IS overload bit is set on system boot."; + } + + leaf advertise-high-metric { + type boolean; + default false; + description + "When set to true, the local IS advertises links with the highest + available metric regardless of their configured metric. The metric + value is based on the metric style - if wide metrics are utilised + the metric is advertised as 16777214, otherwise they are advertised + with a value of 63."; + } + } + + grouping isis-overload-bit-reset-config { + description + "This grouping defines ISIS Overload Bit Reset Triggers"; + + leaf reset-trigger { + type identityref { + base oc-isis-types:OVERLOAD_RESET_TRIGGER_TYPE; + } + description + "In the case that the system sets the overload bit on start, the + system should reset the bit (i.e., clear the overload bit) upon + the specified trigger."; + } + + leaf delay { + type uint16; + units seconds; + description + "If a reset trigger is specified, the system should delay resetting + the overload bit for the specified number of seconds after the + trigger occurs."; + } + } + + grouping isis-attached-bit-config { + description + "This grouping defines ISIS Attached Bit"; + + leaf ignore-bit { + type boolean; + default false; + description + "When set to true, if the attached bit is set on an incoming Level 1 + IS-IS, the local system ignores it. In this case the local system + does not set a default route to the L1L2 router advertising the PDU + with the attached bit set."; + } + + leaf suppress-bit { + type boolean; + default false; + description + "When set to true, if the local IS acts as a L1L2 router, then the + attached bit is not advertised in locally generated PDUs."; + } + } + + grouping overload-bit-group { + description + "This grouping defines ISIS Overload Bit."; + + container config { + description + "This container defines ISIS Overload Bit configuration."; + + uses isis-overload-bit-set-config; + } + + container state { + config false; + description + "This container defines state for ISIS Overload Bit."; + + uses isis-overload-bit-set-config; + } + + container reset-triggers { + description + "This container defines state for ISIS Overload Bit reset triggers"; + + list reset-trigger { + key "reset-trigger"; + + description + "This list describes ISIS Overload reset trigger reasons."; + + leaf reset-trigger { + type leafref { + path "../config/reset-trigger"; + } + description + "Reference to the reset trigger reason"; + } + + container config { + description + "This container defines ISIS Overload Bit reset trigger + configuration."; + + uses isis-overload-bit-reset-config; + } + + container state { + config false; + description + "This container defines state for ISIS Overload Bit reset + triggers."; + + uses isis-overload-bit-reset-config; + } + } + } + } + + + grouping isis-base-level-config { + description + "This grouping defines ISIS Level configuration."; + + leaf level-number { + type oc-isis-types:level-number; + description + "ISIS level number (level-1, level-2)."; + } + } + + grouping isis-interface-level-config { + description + "This grouping defines ISIS Interface Level configuration."; + + leaf level-number { + type oc-isis-types:level-number; + description + "ISIS level number(level-1, level-2)."; + } + + leaf passive { + type boolean; + default false; + description + "ISIS passive interface admin enable/disable function."; + } + + leaf priority { + type uint8 { + range "0 .. 127"; + } + description + "ISIS neighbor priority(LAN hello PDU only)."; + } + } + + grouping isis-hello-timers-config { + description + "This grouping defines ISIS hello timers configuration."; + + leaf hello-interval { + type uint32; + description + "ISIS hello-interval value."; + } + + leaf hello-multiplier { + type uint8; + description + "ISIS hello-multiplier value."; + } + } + + grouping isis-interface-config { + description + "This grouping defines ISIS interface configuration."; + + leaf interface-id { + type oc-if:interface-id; + description + "Interface for which ISIS configuration is to be applied."; + } + + leaf passive { + type boolean; + default false; + description + "When set to true, the referenced interface is a passive interface + such that it is not eligible to establish adjacencies with other + systems, but is advertised into the IS-IS topology."; + } + + leaf hello-padding { + type oc-isis-types:hello-padding-type; + description + "This leaf controls padding type for IS-IS Hello PDUs."; + } + + leaf circuit-type { + type oc-isis-types:circuit-type; + description + "ISIS circuit type (p2p, broadcast)."; + } + } + + grouping isis-adaptive-timers-state { + description + "This grouping defines ISIS adaptive timers state"; + + leaf adaptive-timer { + type oc-isis-types:adaptive-timer-type; + description + "ISIS adaptive timer types (linear, exponential)."; + } + } + + grouping isis-lsp-generation-timers-config { + description + "This grouping defines ISIS LSP Generation timers configuration"; + + leaf lsp-max-wait-interval { + type uint64; + units milliseconds; + description + "Time interval in milliseconds that specifies max interval between + two consecutive occurrences of an LSP being generated."; + } + + leaf lsp-first-wait-interval { + type uint64; + units milliseconds; + description + "Time interval in milliseconds that specifies the first LSP generation + delay."; + } + + leaf lsp-second-wait-interval { + type uint64; + units milliseconds; + description + "Time interval in milliseconds that specifies the millisecond LSP + generation delay."; + } + } + + grouping isis-lsp-timers-config { + description + "This grouping defines ISIS LSP timers configuration"; + + leaf lsp-lifetime-interval { + type uint16; + units seconds; + default 1200; + description + "Time interval in seconds that specifies how long an LSP remains in + LSDB without being refreshed."; + } + + leaf lsp-refresh-interval { + type uint16; + units seconds; + description + "Time interval in seconds that specifies how often route topology + that a device originates is transmitted in LSPs."; + } + } + + grouping isis-spf-timers-config { + description + "This grouping defines ISIS SPF timers configuration."; + + leaf spf-hold-interval { + type uint64; + units milliseconds; + default 5000; + description + "SPF Hold Down time interval in milliseconds."; + } + + leaf spf-first-interval { + type uint64; + units milliseconds; + description + "Time interval in milliseconds between the + detection of topology change and when the SPF algorithm runs."; + } + leaf spf-second-interval { + type uint64; + units milliseconds; + description + "Time interval in milliseconds between the first and second + SPF calculation."; + } + } + + grouping isis-interface-timers-config { + description + "This grouping defines ISIS interface timers configuration."; + + leaf csnp-interval { + type uint16; + units seconds; + description + "The interval, specified in seconds, at which periodic CSNP packets + should be transmitted by the local IS."; + } + + leaf lsp-pacing-interval { + type uint64; + units milliseconds; + description + "The interval interval in milliseconds between the + detection of topology change and when the SPF algorithm runs."; + } + } + + grouping isis-transport-config { + description + "This grouping defines configuration parameters relating to the + transport protocol used by the ISIS."; + + leaf lsp-mtu-size { + type uint16; + description + "The maximum size in bytes of an IS-IS Link state PDU."; + } + } + + grouping isis-graceful-restart-config { + description + "This grouping defines ISIS graceful restart configuration."; + + leaf helper-only { + type boolean; + description + "Enable or disable the IS-IS graceful restart helper function. When + this leaf is set, the local system does not utilise the IS-IS + graceful restart procedures during its own restart, but supports + retaining forwarding information during a remote speaker's restart."; + } + reference "RFC 5306: Restart Signaling for IS-IS."; + } + + // configuration context containers + grouping inter-level-propagation-policies-structural { + description + "Propagate prefixes between IS-IS levels."; + + container inter-level-propagation-policies { + description + "Policies to propagate prefixes between IS-IS levels."; + + container level1-to-level2 { + description + "Policies relating to prefixes to be propagated from + Level 1 to Level 2."; + + container config { + description + "Configuration parameters relating to the propagation + of prefixes from IS-IS Level 1 to Level 2."; + + uses inter-level-propagation-policy-config; + } + + container state { + config false; + description + "Operational state parameters relating to the + propagation of prefixes from IS-IS Level 1 to Level 2."; + + uses inter-level-propagation-policy-config; + } + + } + + container level2-to-level1 { + description + "Policies relating to prefixes to be propagated from + Level2 to Level 1."; + + container config { + description + "Configuration parameters relating to the propagation + of prefixes from IS-IS Level 2 to Level 1."; + + uses inter-level-propagation-policy-config; + } + + container state { + config false; + description + "Operational state parameters relating to the propagation + of prefixes from IS-IS Level 2 to Level 1."; + + uses inter-level-propagation-policy-config; + } + } + } + } + + grouping inter-level-propagation-policy-config { + description + "Policy governing the propagation of prefixes between levels."; + + uses oc-rpol:apply-policy-import-config; + } + + grouping authentication-key-group-config { + description + "This grouping defines ISIS authentication key configuration."; + + uses authentication-key-config; + + // TODO(robjs): Add crypto-algorithm after merge of authentication modules. + //leaf crypto-algorithm { + // type identityref { + // base oc-auth-types:CRYPTO_TYPE; + // } + // description + // "Authentication key cryptographic algorithm to be used for key encryption."; + //} + } + + grouping isis-mpls-config { + description + "This grouping defines MPLS-related features in IS-IS"; + + container mpls { + description + "Configuration and operational state relating to MPLS-related + features in IS-IS"; + + container igp-ldp-sync { + description + "Configuration and operational state relating to synchronisation + between the LDP and IS-IS"; + + container config { + description + "This container defines ISIS/IGP configuration."; + + uses isis-ldp-igp-config; + } + + container state { + config false; + description + "This container defines state information for ISIS/LDP Sync."; + + uses isis-ldp-igp-config; + } + } + } + } + + grouping isis-global-base { + description + "This grouping describes ISIS Global router."; + + container config { + description + "This container defines ISIS global configuration router."; + + uses isis-authentication-check-config; + uses isis-global-config; + } + + container state { + config false; + description + "This container defines state for ISIS global router."; + + uses isis-authentication-check-config; + uses isis-global-config; + } + + container lsp-bit { + description + "This container defines ISIS LSP Operational Bits."; + + container overload-bit { + description + "This container defines Overload Bit configuration."; + uses overload-bit-group; + } + + container attached-bit { + description + "This container defines Attached Bit."; + + container config { + description + "This container defines Attached Bit configuration."; + + uses isis-attached-bit-config; + } + + container state { + config false; + description + "This container defines state for Link State PDU Bit."; + + uses isis-attached-bit-config; + } + } + } + + container reference-bandwidth { + description + "This container defines ISIS Reference Bandwidth."; + + container config { + description + "This container defines Reference Bandwidth configuration"; + uses isis-reference-bandwidth-config; + } + + container state { + config false; + description + "This container defines state for Reference Bandwidth."; + + uses isis-reference-bandwidth-config; + } + } + + container nsr { + description + "This container defines ISIS Non-Stop Routing."; + + container config { + description + "This container defines Non-Stop-Routing configuration."; + + uses admin-config; + } + + container state { + config false; + description + "This container defines state for Non-Stop-Routing"; + + uses admin-config; + } + } + + container graceful-restart { + description + "This container defines ISIS Graceful Restart."; + + container config { + description + "This container defines ISIS graceful-restart configuration."; + + uses admin-config; + uses isis-graceful-restart-config; + } + + container state { + config false; + description + "This container defines state information for ISIS graceful-restart."; + + uses admin-config; + uses isis-graceful-restart-config; + } + } + + container timers { + description + "This container defines ISIS timers."; + + container config { + description + "This container defines ISIS global timers configuration."; + + uses isis-lsp-timers-config; + } + + container state { + config false; + description + "This container defines state information for ISIS global timers."; + + uses isis-lsp-timers-config; + } + + container spf { + description + "This container defines ISIS SPF timer settings."; + + container config { + description + "This container defines ISIS SPF timers configuration."; + + uses isis-spf-timers-config; + } + + container state { + config false; + description + "This container defines state information for ISIS SPF timers."; + + uses isis-spf-timers-config; + uses isis-adaptive-timers-state; + } + } + + container lsp-generation { + description + "This container defines ISIS LSP Generation."; + + container config { + description + "This container defines ISIS LSP Generation timers + configuration."; + + uses isis-lsp-generation-timers-config; + } + + container state { + config false; + description + "This container defines state information for ISIS LSP Generation + timers."; + + uses isis-lsp-generation-timers-config; + uses isis-adaptive-timers-state; + } + } + } + + container transport { + description + "This container defines ISIS transport."; + + container config { + description + "This container defines ISIS transport related configuration."; + + uses isis-transport-config; + } + + container state { + config false; + description + "This container defines state information for ISIS transport + parameters."; + + uses isis-transport-config; + } + } + + uses isis-mpls-config; + + container igp-shortcuts { + description + "This container defines IGP shortcuts configuration and state + information."; + + uses isis-shortcuts-afi-list; + } + + container afi-safi { + description + "This container defines address-family specific configuration + and state information."; + + uses isis-afi-safi-list; + } + + uses oc-sr:sr-igp-top; + } + + grouping isis-route-preference-config { + description + "This grouping defines ISIS route preference configuration"; + + leaf external-route-preference { + type uint8 { + range "1..max"; + } + description + "Administrative Distance(preference) for external ISIS routes."; + } + + leaf internal-route-preference { + type uint8 { + range "1..max"; + } + description + "Administrative Distance(preference) for internal ISIS routes."; + } + } + + grouping isis-interfaces { + description + "This grouping defines ISIS interfaces configured on local system."; + + list interface { + key "interface-id"; + + description + "This list contains ISIS interfaces."; + + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "Reference to interface-id"; + } + + uses isis-interface-group; + uses isis-mpls-config; + uses oc-if:interface-ref; + } + } + + grouping isis-interface-group { + description + "This grouping defines ISIS interfaces configured on local system."; + + container config { + description + "This container defines ISIS interface configuration."; + + uses admin-config; + uses isis-interface-config; + } + + container state { + config false; + description + "This container defines state information for ISIS interfaces."; + + uses admin-config; + uses isis-interface-config; + } + + container circuit-counters { + description + "This container defines state information for ISIS circuit counters."; + + uses circuit-counters-structural; + } + + container authentication { + description + "This container defines ISIS authentication."; + + uses isis-hello-authentication-group; + } + + container afi-safi { + description + "This container defines address-family specific configuration + and state information."; + + uses isis-if-global-afi-safi-list; + } + + container levels { + description + "This container defines ISIS level specific configuration and + state information."; + + uses isis-interface-levels; + } + + container timers { + description + "This container describes ISIS interface timers configuration"; + + container config { + description + "Configuration parameters relating to interface + timers for IS-IS"; + + uses isis-interface-timers-config; + } + + container state { + config false; + description + "This container defines state information for ISIS interface timers."; + + uses isis-interface-timers-config; + } + } + + container bfd { + //TODO(bogdanov): Integrate BFD model/module + description + "This container defines BFD."; + + container config { + description + "This container defines BFD configuration parameters."; + + uses isis-bfd-config; + } + + container state { + config false; + description + "This container defines BFD state information."; + + uses isis-bfd-config; + } + } + } + + grouping isis-levels { + description + "This grouping defines global ISIS Levels."; + + list level { + key "level-number"; + + description + "Configuration and operational state parameters related to a + particular level within the IS-IS protocol instance"; + + leaf level-number { + type leafref { + path "../config/level-number"; + } + description + "Reference to ISIS level-number."; + } + + uses isis-level-group; + } + } + + grouping isis-interface-levels { + description + "This grouping defines ISIS interface Levels."; + + list level { + key "level-number"; + description + "Configuration and operational state parameters related to a + particular level on an IS-IS enabled interface."; + + leaf level-number { + type leafref { + path "../config/level-number"; + } + description + "Reference to ISIS level-number."; + } + + uses isis-interface-level-group; + } + } + + grouping isis-level-group { + description + "This grouping defines ISIS level configuration and state + information."; + + container config { + description + "This container defines ISIS level based configuration."; + + uses admin-config; + uses isis-base-level-config; + uses isis-metric-style-config; + uses isis-authentication-check-config; + } + + container state { + config false; + description + "This container defines ISIS level state information."; + + uses admin-config; + uses isis-base-level-config; + uses isis-metric-style-config; + uses isis-authentication-check-config; + } + + container system-level-counters { + description + "This container defines ISIS system level counters."; + + uses system-level-counters-structural; + } + + container link-state-database { + config false; + description + "This container defines ISIS LSDB."; + + list lsp { + key "lsp-id"; + description + "This list describes LSPs in the LSDB."; + uses lsp-state; + } + } + + container traffic-engineering { + description + "This container defines ISIS TE."; + + container config { + description + "This container defines ISIS TE configuration."; + + uses admin-config; + uses isis-te-config; + } + + container state { + config false; + description + "This container defines ISIS TE state information."; + + uses admin-config; + uses isis-te-config; + } + } + + container route-preference { + description + "This container defines Administrative Distance (or preference) + assigned to ISIS routes (level1 internal, level2 internal, level1 + external, level2 external)."; + + container config { + description + "This container defines route preference configuration."; + uses isis-route-preference-config; + } + + container state { + config false; + description + "This container defines ISIS route preference state information."; + uses isis-route-preference-config; + } + } + + container authentication { + description + "This container defines ISIS authentication."; + uses isis-authentication-group; + } + + } + + grouping isis-interface-level-group { + description + "This grouping defines ISIS interface level."; + + container config { + description + "This container defines interface ISIS level configuration."; + + uses isis-interface-level-config; + uses admin-config; + } + + container state { + config false; + description + "This container defines interface ISIS level state information."; + + uses isis-interface-level-config; + uses admin-config; + } + + container packet-counters { + description + "This container defines ISIS interface packet counters."; + + uses packet-counters-structural; + } + + container adjacencies { + config false; + description + "This container defines ISIS adjacencies."; + + list adjacency { + key "system-id"; + + description + "List of the local system's IS-IS adjacencies."; + + leaf system-id { + type leafref { + path "../state/system-id"; + } + description + "Reference to the IS neighbor."; + } + + container state { + description + "Operational state relating to the IS-IS adjacency with the + remote system"; + + uses adjacency-state; + } + } + } + + container timers { + description + "This container defines ISIS timers."; + + container config { + description + "This container defines ISIS interface hello-timers configuration."; + + uses isis-hello-timers-config; + } + + container state { + config false; + description + "This container defines ISIS interface hello-timers state."; + + uses isis-hello-timers-config; + } + } + + container afi-safi { + description + "This container defines address-family specific configuration + and state information."; + + uses isis-if-afi-safi-list; + } + + container hello-authentication { + description + "This container defines ISIS authentication."; + + uses isis-hello-authentication-group; + } + } + + + grouping isis-top { + description + "This grouping define top-level ISIS model data."; + + container isis { + description + "This container defines top-level ISIS configuration and state + information."; + + container global { + description + "This container defines global ISIS configuration and state + information."; + + uses isis-global-base; + uses inter-level-propagation-policies-structural; + } + + container levels { + description + "This container defines ISIS level configuration and state + information."; + uses isis-levels; + } + + container interfaces { + description + "This container defines global ISIS interface configuration and + state information."; + uses isis-interfaces; + } + } + } + + grouping adjacency-state { + description + "This grouping defines ISIS adjacency."; + + leaf system-id { + type oc-isis-types:system-id; + description + "ISIS neighbor system-id."; + } + + leaf neighbor-ipv4-address { + type inet:ipv4-address-no-zone; + description + "ISIS Neighbor IPv4 address."; + } + + leaf neighbor-ipv6-address { + type inet:ipv6-address-no-zone; + description + "ISIS Neighbor IPv6 address."; + } + + leaf neighbor-snpa { + type oc-isis-types:snpa; + description + "ISIS neighbor SNPA."; + } + + leaf local-extended-circuit-id { + type oc-isis-types:extended-circuit-id; + description + "Local extended circuit ID."; + } + leaf neighbor-extended-circuit-id { + type oc-isis-types:extended-circuit-id; + description + "ISIS neighbor extended circuit ID."; + } + + leaf priority { + type uint8 { + range "0..127"; + } + description + "Priority of the neighboring IS(LAN Hello only)."; + } + + leaf dis-system-id { + type oc-isis-types:system-id; + description + "DIS System ID(LAN hello only)."; + } + + leaf neighbor-circuit-type { + type oc-isis-types:level-type; + description + "Received ISIS circuit type (level-1, level-2, level-1-2)."; + } + + leaf adjacency-type { + type oc-isis-types:level-type; + description + "Formed ISIS adjacency type(level-1, level-2, level-1-2)."; + } + + leaf adjacency-state { + type oc-isis-types:isis-interface-adj-state; + description + "P2P 3-way ISIS adjacency state(up, down, init, failed)."; + reference "RFC4303. TLV 240."; + } + + leaf remaining-hold-time { + type uint16; + units seconds; + description + "Holding time in seconds for adjacency. This value is based on received + hello PDUs and the elapsed time since receipt."; + } + + leaf up-time { + type yang:timestamp; + description + "Adjacency up time."; + } + + leaf multi-topology { + type boolean; + description + "When set to true, ISIS multi-topology is supported."; + reference "RFC5129. TLV 229."; + } + + leaf-list topology { + type identityref { + base oc-isis-types:AFI_SAFI_TYPE; + } + description + "ISIS topology type support(ipv4-unicast, ipv6-unicast, + ipv4-multicast, ipv6-multicast)."; + } + + leaf restart-support { + type boolean; + description + "When set to true, Graceful-restart signaling is supported."; + } + + leaf restart-suppress { + type boolean; + description + "When set to true, adjacency is not advertised. The SA bit is used by a + starting router to request that its neighbor suppress advertisement of + the adjacency to the starting router in the neighbor's LSPs."; + } + + leaf restart-status { + type boolean; + description + "When set to true, neighbor is being helped. The RR bit is used by a + (re)starting router to signal to its neighbors that a (re)start is in + progress."; + } + + leaf-list area-address { + type oc-isis-types:area-address; + description + "List of ISIS area-address(es)."; + } + + leaf-list nlpid { + type enumeration { + enum IPV4 { + description + "IPv4 Address family."; + } + enum IPV6 { + description + "IPv6 Address family."; + } + } + description + "Supported Protocol. IPv4 is defined as (0xcc) + and IPv6 - (0x8e). ISIS reference is TLV 129."; + } + + // TODO(bogdanov): update when BFD model is integrated. + //leaf ipv4-bfd-status { + //type oc-isis-types:bfd-state; + //description + // "IPv4 BFD session status."; + //} + //leaf ipv6-bfd-status { + //type oc-isis-types:bfd-state; + //description + // "IPv4 BFD session status. "; + //} + + } + + grouping packet-counters-generic-state { + description + "Operational state parameters relating to LSP packet counters."; + + leaf received { + type yang:counter32; + description + "The number of the specified type of PDU received on the interface."; + } + leaf processed { + type yang:counter32; + description + "The number of the specified type of PDU received on the interface + that have been processed by the local system."; + } + leaf dropped { + type yang:counter32; + description + "The number of the specified type of PDU received on the interface + that have been dropped."; + } + + leaf sent { + type yang:counter32; + description + "The number of the specified type of PDU that have been sent by the + local system on the interface."; + } + + leaf retransmit { + type yang:counter32; + description + "The number of the specified type of PDU that that have been + retransmitted by the local system on the interface."; + } + } + + grouping packet-counters-structural { + description + "This grouping defines ISIS packet counter state."; + + container lsp { + description + "This container defines LSP packet counters."; + + container state { + config false; + description + "This container defines LSP PDU counters."; + + uses packet-counters-generic-state; + } + } + + container iih { + description + "This container defines IIH packet counters."; + + container state { + config false; + description + "Operational counters relating to IIH PDUs"; + + uses packet-counters-generic-state; + } + } + + container ish { + description + "This container defines ISH packet counters."; + + container state { + config false; + description + "Operational state relating to ISH PDUs."; + + uses packet-counters-generic-state; + } + } + + container esh { + description + "This container defines ESH packet counters."; + container state { + config false; + description + "Operational state relating to ESH PDUs"; + + uses packet-counters-generic-state; + } + } + + container psnp { + description + "This container defines PSNP packet counters."; + + container state { + config false; + description + "Packet counters relating to PSNPs."; + + uses packet-counters-generic-state; + } + } + + container csnp { + description + "Operational state parameters relating to CSNPs."; + + container state { + config false; + description + "Packet counters relating to CSNPs."; + + uses packet-counters-generic-state; + } + } + + container unknown { + description + "Operational state parameters relating to IS-IS PDUs that are not + otherwise classified - referred to as Unknown PDUs."; + + container state { + config false; + description + "Packet counters relating to unknown PDUs."; + + uses packet-counters-generic-state; + } + } + } + + grouping system-level-counters-state { + description + "IS-IS counters that are relevant to the system IS-IS context."; + + leaf corrupted-lsps { + type yang:counter32; + description + "Number of corrupted in-memory LSPs 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 lsp-errors. MIB + Entry: SysCorrLSPs."; + } + + leaf database-overloads { + type yang:counter32; + description + "Number of times the database has become + overloaded. + MIB entry: SysLSPL(Level)DbaseOloads."; + } + + leaf manual-address-drop-from-areas { + type yang:counter32; + description + "Number of times a manual address has been dropped from area. + MIB Entry: SysManAddrDropFromAreas."; + } + + leaf exceed-max-seq-nums { + type yang:counter32; + description + "The number of times the system has attempted to exceed the maximum + sequence number. MIB Entry: SysAttmptToExMaxSeqNums."; + } + leaf seq-num-skips { + type yang:counter32; + description + "Number of times a sequence number skip has occurred. MIB Entry: + SysSeqNumSkips."; + } + + leaf own-lsp-purges { + type yang:counter32; + description + "Number of times a zero-aged copy of the system's + own LSP is received from some other node. + MIB Entry: isisSysOwnLSPPurges."; + } + + leaf id-len-mismatch { + type yang:counter32; + description + "Number of times a PDU is received with a different value for ID field + length from that of the receiving system. MIB Entry: + isisSysIDFieldLenMismatches."; + } + + leaf part-changes { + type yang:counter32; + description + "The number of partition changes detected. MIB Entry: SysPartChanges."; + } + + leaf max-area-address-mismatches { + type yang:counter32; + description + "Number of times a PDU is received with a different value for + MaximumAreaAddresses from that of the receiving system. MIB Entry: + SysMaxAreaAddrMismatches."; + } + + leaf auth-fails { + type yang:counter32; + description + "The number of authentication key failures. + MIB Entry: SysAuthFails."; + } + + leaf spf-runs { + type yang:counter32; + description + "The number of times SPF was ran at this level."; + } + + leaf auth-type-fails { + type yang:counter32; + description + "The number of authentication type mismatches."; + } + + leaf lsp-errors { + type yang:counter32; + description + "The number of received LSPs with errors."; + } + } + + grouping system-level-counters-structural { + description + "This grouping defines system level counters."; + + container state { + config false; + description + "The container defines a list of system counters for the IS."; + + uses system-level-counters-state; + } + } + + grouping circuit-counters-state { + description + "Operational state parameters relating to counters specific to one + interface or circuit."; + + leaf adj-changes { + type yang:counter32; + description + "Number of times an adjacency state change has occurred on this circuit. + MIB Entry: CircAdjChanges."; + } + + leaf init-fails { + type yang:counter32; + description + "Number of times initialization of this circuit has failed. This counts + events such as PPP NCP failures. MIB Entry: CircInitFails."; + } + + leaf rejected-adj { + type yang:counter32; + description + "Number of times an adjacency has been rejected on this circuit. MIB + Entry: CircRejAdjs."; + } + + leaf id-field-len-mismatches { + type yang:counter32; + description + "Number of times an IS-IS control PDU with an ID field length different + from that for this system has been received. + MIB Entry: CircIDFieldLenMismatches."; + } + + leaf max-area-address-mismatches { + type yang:counter32; + description + "Number of times an IS-IS control PDU with a max area address field + different from that for this system has been received. MIB Entry: + CircMaxAreaAddrMismatches."; + } + + leaf auth-type-fails { + type yang:counter32; + description + "Number of times an IS-IS control PDU with an auth type field different + from that for this system has been received. MIB Entry: + CircAuthTypeFails."; + } + + leaf auth-fails { + type yang:counter32; + description + "Number of times an IS-IS control PDU with the correct auth type has + failed to pass authentication validation. MIB Entry: CircAuthFails."; + } + + leaf lan-dis-changes { + type yang:counter32; + description + "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. MIB Entry: + CircLANDesISChanges."; + } + + leaf adj-number { + type uint32; + description + "Number of adjacencies on this circuit. + MIB Entry: CircNumAdj."; + } + } + + grouping circuit-counters-structural { + description + "This grouping defines circuit counters."; + + container state { + config false; + description + "The container defines a list of counters for IS circuit."; + + uses circuit-counters-state; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-lacp.yang b/vendor/cisco/xr/755/openconfig-lacp.yang new file mode 100644 index 000000000..078a6ef3b --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-lacp.yang @@ -0,0 +1,500 @@ +module openconfig-lacp { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/lacp"; + + prefix "oc-lacp"; + + // import some basic types + import openconfig-interfaces { prefix oc-if; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-types { prefix oc-types; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module describes configuration and operational state + data for Link Aggregation Control Protocol (LACP) for + managing aggregate interfaces. It works in conjunction with + the OpenConfig interfaces and aggregate interfaces models."; + + oc-ext:openconfig-version "1.2.0"; + + revision "2021-07-20" { + description + "Add count of number of timeouts and time of the last timeout."; + reference "1.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "1.1.1"; + } + + revision "2017-05-05" { + description + "Add member local and remote port num"; + reference "1.1.0"; + } + + revision "2016-05-26" { + description + "OpenConfig public release"; + reference "1.0.2"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef lacp-activity-type { + type enumeration { + enum ACTIVE { + description + "Interface is an active member, i.e., will detect and + maintain aggregates"; + } + enum PASSIVE { + description + "Interface is a passive member, i.e., it participates + with an active partner"; + } + } + description + "Describes the LACP membership type, active or passive, of the + interface in the aggregate"; + reference "IEEE 802.1AX-2008"; + } + + typedef lacp-timeout-type { + type enumeration { + enum LONG { + description + "Participant wishes to use long timeouts to detect + status of the aggregate, i.e., will expect less frequent + transmissions. Long timeout is 90 seconds."; + } + enum SHORT { + description + "Participant wishes to use short timeouts, i.e., expects + frequent transmissions to aggressively detect status + changes. Short timeout is 3 seconds."; + } + } + description + "Type of timeout used, short or long, by LACP participants"; + reference "IEEE 802.1AX-2008"; + } + + typedef lacp-synchronization-type { + type enumeration { + enum IN_SYNC { + description + "Participant is in sync with the system id and key + transmitted"; + } + enum OUT_SYNC { + description + "Participant is not in sync with the system id and key + transmitted"; + } + } + description + "Indicates LACP synchronization state of participant"; + reference "IEEE 802.1AX-2008"; + } + + typedef lacp-period-type { + type enumeration { + enum FAST { + description "Send LACP packets every second"; + } + enum SLOW { + description "Send LACP packets every 30 seconds"; + } + } + description + "Defines the period options for the time between sending + LACP messages"; + reference "IEEE 802.3ad"; + } + + // grouping statements + + + grouping aggregation-lacp-members-config { + description + "Configuration data for lacp member interfaces"; + + //currently a placeholder -- the list of member interfaces + //and their status is considered opstate only + } + + grouping aggregation-lacp-members-state { + description + "Operational status data for the member interfaces"; + + leaf interface { + type oc-if:base-interface-ref; + description + "Reference to interface member of the LACP aggregate"; + } + + leaf activity { + type lacp-activity-type; + description "Indicates participant is active or passive"; + } + + leaf timeout { + type lacp-timeout-type; + description + "The timeout type (short or long) used by the + participant"; + } + + leaf synchronization { + type lacp-synchronization-type; + description + "Indicates whether the participant is in-sync or + out-of-sync"; + } + + leaf aggregatable { + type boolean; + description + "A true value indicates that the participant will allow + the link to be used as part of the aggregate. A false + value indicates the link should be used as an individual + link"; + } + + leaf collecting { + type boolean; + description + "If true, the participant is collecting incoming frames + on the link, otherwise false"; + } + + leaf distributing { + type boolean; + description + "When true, the participant is distributing outgoing + frames; when false, distribution is disabled"; + } + + leaf system-id { + type oc-yang:mac-address; + description + "MAC address that defines the local system ID for the + aggregate interface"; + } + + leaf oper-key { + type uint16; + description + "Current operational value of the key for the aggregate + interface"; + } + + leaf partner-id { + type oc-yang:mac-address; + description + "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 port-num { + type uint16; + description + "Port number of the local (actor) aggregation member"; + } + + leaf partner-port-num { + type uint16; + description + "Port number of the partner (remote) port for this member + port"; + } + + leaf last-change { + type oc-types:timeticks64; + description + "The timestamp indicates the absolute time of the last state + change of a LACP timeout. The last state change of the LACP + timeout is defined as what is reported as the operating state + to the system. The state change is both a timeout event and + when the timeout event is no longer active. The value is the + timestamp in nanoseconds relative to the Unix Epoch + (Jan 1, 1970 00:00:00 UTC)."; + } + } + +grouping aggregation-lacp-members-statistics { + description + "LACP packet statistics for the member interfaces"; + + container counters { + description + "LACP protocol counters"; + + leaf lacp-in-pkts { + type oc-yang:counter64; + description + "Number of LACPDUs received"; + } + + leaf lacp-out-pkts { + type oc-yang:counter64; + description + "Number of LACPDUs transmitted"; + } + + leaf lacp-rx-errors { + type oc-yang:counter64; + description + "Number of LACPDU receive packet errors"; + } + + leaf lacp-tx-errors { + type oc-yang:counter64; + description + "Number of LACPDU transmit packet errors"; + } + + leaf lacp-unknown-errors { + type oc-yang:counter64; + description + "Number of LACPDU unknown packet errors"; + } + + leaf lacp-errors { + type oc-yang:counter64; + description + "Number of LACPDU illegal packet errors"; + } + + leaf lacp-timeout-transitions { + type oc-yang:counter64; + description + "Number of times the LACP state has transitioned + with a timeout since the time the device restarted + or the interface was brought up, whichever is most + recent. The last state change of the LACP timeout + is defined as what is reported as the operating state + to the system. The state change is both a timeout + event and when the timeout event is no longer active."; + } + } + } + + grouping aggregation-lacp-members-top { + description + "Top-level grouping for aggregate members list"; + + container members { + config false; + description + "Enclosing container for the list of members interfaces of + the aggregate. This list is considered operational state + only so is labeled config false and has no config container"; + + list member { + key "interface"; + description + "List of member interfaces and their associated status for + a LACP-controlled aggregate interface. Member list is not + configurable here -- each interface indicates items + its participation in the LAG."; + + leaf interface { + type leafref { + path "../state/interface"; + } + description + "Reference to aggregate member interface"; + } + + + container state { + + config false; + + description + "Operational state data for aggregate members"; + + uses aggregation-lacp-members-state; + uses aggregation-lacp-members-statistics; + } + } + } + } + + grouping lacp-interfaces-config { + description + "Configuration data for each LACP-enabled interface"; + + leaf name { + type oc-if:base-interface-ref; + description + "Reference to the interface on which LACP should be + configured. The type of the target interface must be + ieee8023adLag"; + } + + leaf interval { + type lacp-period-type; + default SLOW; + description + "Set the period between LACP messages -- uses + the lacp-period-type enumeration."; + } + + leaf lacp-mode { + type lacp-activity-type; + default ACTIVE; + description + "ACTIVE is to initiate the transmission of LACP packets. + PASSIVE is to wait for peer to initiate the transmission of + LACP packets."; + //TODO:some implementations configure the LACP mode on each + //member interface rather than on the LAG interface. There + //may be use cases for this identified at a later time. + } + + leaf system-id-mac { + type oc-yang:mac-address; + description + "The MAC address portion of the node's System ID. This is + combined with the system priority to construct the 8-octet + system-id"; + } + + uses aggregation-lacp-global-config; + } + + grouping lacp-interfaces-state { + description + "Operational state data for each LACP-enabled interface"; + } + + grouping lacp-interfaces-top { + description + "Top-level grouping for LACP-enabled interfaces"; + + container interfaces { + description + "Enclosing container for the list of LACP-enabled + interfaces"; + + list interface { + key "name"; + description + "List of aggregate interfaces managed by LACP"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the list key"; + } + + container config { + description + "Configuration data for each LACP aggregate interface"; + + uses lacp-interfaces-config; + } + + container state { + + config false; + + description + "Operational state data for each LACP aggregate + interface"; + + uses lacp-interfaces-config; + uses lacp-interfaces-state; + } + + uses aggregation-lacp-members-top; + } + } + } + + grouping aggregation-lacp-global-config { + description + "Configuration data for LACP aggregate interfaces"; + + + leaf system-priority { + type uint16; + description + "Sytem priority used by the node on this LAG interface. + Lower value is higher priority for determining which node + is the controlling system."; + } + } + + grouping aggregation-lacp-global-state { + description + "Operational data for LACP aggregate interfaces"; + + } + + grouping aggregation-lacp-top { + description + "Top level configuration and state variable containers for + LACP data"; + + container lacp { + description + "Configuration and operational state data for LACP protocol + operation on the aggregate interface"; + + container config { + description + "Configuration data for LACP"; + + uses aggregation-lacp-global-config; + } + + container state { + + config false; + description + "Operational state data for LACP"; + + uses aggregation-lacp-global-config; + uses aggregation-lacp-global-state; + } + uses lacp-interfaces-top; + } + } + + // data definition statements + uses aggregation-lacp-top; + + // augment statements + + +} diff --git a/vendor/cisco/xr/755/openconfig-lldp-types.yang b/vendor/cisco/xr/755/openconfig-lldp-types.yang new file mode 100644 index 000000000..f32223392 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-lldp-types.yang @@ -0,0 +1,306 @@ +module openconfig-lldp-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/lldp/types"; + + prefix "oc-lldp-types"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines types related to the LLDP protocol model."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2016-05-16" { + description + "Initial public revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + identity LLDP_SYSTEM_CAPABILITY { + description + "Base identity for standard LLDP system capabilities. + The system capabilities field contains a bit-map of the + capabilities that define the primary function(s) of + the system. A system may advertise more than one capability."; + reference + "Table 8-4 System Capabilities, IEEE 802.1AB-2009"; + } + + identity OTHER { + base LLDP_SYSTEM_CAPABILITY; + description + "Other capability not specified; bit position 1"; + } + + identity REPEATER { + base LLDP_SYSTEM_CAPABILITY; + description + "Repeater capability; bit position 2"; + reference + "IETF RFC 2108"; + } + + identity MAC_BRIDGE { + base LLDP_SYSTEM_CAPABILITY; + description + "MAC bridge capability; bit position 3"; + reference + "IEEE Std 802.1D"; + } + + identity WLAN_ACCESS_POINT { + base LLDP_SYSTEM_CAPABILITY; + description + "WLAN access point capability; bit position 4"; + reference + "IEEE Std 802.11 MIB"; + } + + identity ROUTER { + base LLDP_SYSTEM_CAPABILITY; + description + "Router; bit position 5"; + reference + "IETF RFC 1812"; + } + + identity TELEPHONE { + base LLDP_SYSTEM_CAPABILITY; + description + "Telephone capability; bit position 6"; + reference + "IETF RFC 4293"; + } + + identity DOCSIS_CABLE_DEVICE { + base LLDP_SYSTEM_CAPABILITY; + description + "DOCSIS cable device; bit position 7"; + reference + "IETF RFC 4639 and IETF RFC 4546"; + } + + identity STATION_ONLY { + base LLDP_SYSTEM_CAPABILITY; + description + "Station only capability, for devices that implement only an + end station capability, and for which none of the other + capabilities apply; bit position 8"; + reference + "IETF RFC 4293"; + } + + identity C_VLAN { + base LLDP_SYSTEM_CAPABILITY; + description + "C-VLAN component of a VLAN Bridge; bit position 9"; + reference + "IEEE Std 802.1Q"; + } + + identity S_VLAN { + base LLDP_SYSTEM_CAPABILITY; + description + "S-VLAN component of a VLAN Bridge; bit position 10"; + reference + "IEEE Std 802.1Q"; + } + + identity TWO_PORT_MAC_RELAY { + base LLDP_SYSTEM_CAPABILITY; + description + "Two-port MAC Relay (TPMR) capability; bit position 11"; + reference + "IEEE Std 802.1Q"; + } + + identity LLDP_TLV { + description + "A base identity which describes the TLVs in LLDP"; + } + + identity CHASSIS_ID { + base LLDP_TLV; + description + "The chassis identifier of the device associated with + the transmitting LLDP agent"; + reference "IEEE Std 802.1AB"; + } + + identity PORT_ID { + base LLDP_TLV; + description + "The port identifier associated with the interface + on with the LLDP agent is transmitting"; + reference "IEEE Std 802.1AB"; + } + + identity PORT_DESCRIPTION { + base LLDP_TLV; + description + "The description of the port that is associated with + the interface on which the LLDP agent is transmitting"; + reference "IEEE Std 802.1AB"; + } + + identity SYSTEM_NAME { + base LLDP_TLV; + description + "The assigned name (sysName or hostname) of the device + which is transmitting the LLDP PDU"; + reference "IEEE Std 802.1AB"; + } + + identity SYSTEM_DESCRIPTION { + base LLDP_TLV; + description + "The description (sysDescr) of the device which is + transmitting the LLDP PDU"; + reference "IEEE Std 802.1AB"; + } + + identity SYSTEM_CAPABILITIES { + base LLDP_TLV; + description + "The primary functions of the device transmitting the + LLDP PDU and their administrative status"; + reference "IEEE Std 802.1AB"; + } + + identity MANAGEMENT_ADDRESS { + base LLDP_TLV; + description + "The address associated with the device transmitting the + LLDP PDU which can be used for higher-layer network + management"; + reference "IEEE Std 802.1AB"; + } + + // typedef statements + + typedef chassis-id-type { + type enumeration { + enum CHASSIS_COMPONENT { + description + "Chassis identifier based on the value of entPhysicalAlias + object defined in IETF RFC 2737"; + } + enum INTERFACE_ALIAS { + description + "Chassis identifier based on the value of ifAlias object + defined in IETF RFC 2863"; + } + enum PORT_COMPONENT { + description + "Chassis identifier based on the value of entPhysicalAlias + object defined in IETF RFC 2737 for a port or backplane + component"; + } + enum MAC_ADDRESS { + description + "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"; + } + enum NETWORK_ADDRESS { + description + "Chassis identifier based on a network address, + associated with a particular chassis. The encoded address + is 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"; + } + enum INTERFACE_NAME { + description + "Chassis identifier based on the name of the interface, + e.g., the value of ifName object defined in IETF RFC 2863"; + } + enum LOCAL { + description + "Chassis identifier based on a locally defined value"; + } + } + description + "Type definition with enumerations describing the source of + the chassis identifier"; + reference + "IEEE 802.1AB LLDP MIB"; + } + + typedef port-id-type { + type enumeration { + enum INTERFACE_ALIAS { + description + "Chassis identifier based on the value of ifAlias object + defined in IETF RFC 2863"; + } + enum PORT_COMPONENT { + description + "Port identifier based on the value of entPhysicalAlias + object defined in IETF RFC 2737 for a port component"; + } + enum MAC_ADDRESS { + description + "Port identifier based on the value of a unicast source + address (encoded in network byte order and IEEE 802.3 + canonical bit order) associated with a port"; + } + enum NETWORK_ADDRESS { + description + "Port identifier based on a network address, + associated with a particular port"; + } + enum INTERFACE_NAME { + description + "Port identifier based on the name of the interface, + e.g., the value of ifName object defined in IETF RFC 2863"; + } + enum AGENT_CIRCUIT_ID { + description + "Port identifer based on the circuit id in the DHCP + relay agent information option as defined in IETF + RFC 3046"; + } + enum LOCAL { + description + "Port identifier based on a locally defined alphanumeric + string"; + } + } + description + "Type definition with enumerations describing the basis of + the port identifier"; + reference + "IEEE 802.1AB LLDP MIB"; + } + + +} diff --git a/vendor/cisco/xr/755/openconfig-lldp.yang b/vendor/cisco/xr/755/openconfig-lldp.yang new file mode 100644 index 000000000..e687b7c61 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-lldp.yang @@ -0,0 +1,660 @@ +module openconfig-lldp { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/lldp"; + + prefix "oc-lldp"; + + import openconfig-lldp-types { prefix oc-lldp-types; } + import openconfig-interfaces { prefix oc-if; } + import ietf-yang-types { prefix yang; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + for the LLDP protocol."; + + oc-ext:openconfig-version "0.2.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.2.1"; + } + + revision "2018-07-17" { + description + "Adds ttl to lldp-neighbor-state"; + reference "0.2.0"; + } + + revision "2016-05-16" { + description + "Initial public revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + + // grouping statements + + grouping lldp-common-counters { + description + "Definition of global and per-interface counters"; + + leaf frame-in { + type yang:counter64; + description + "The number of lldp frames received."; + } + + leaf frame-out { + type yang:counter64; + description + "The number of frames transmitted out."; + } + + leaf frame-error-in { + type yang:counter64; + description + "The number of LLDP frames received with errors."; + } + + leaf frame-discard { + type yang:counter64; + description + "The number of LLDP frames received and discarded."; + } + + leaf tlv-discard { + type yang:counter64; + description + "The number of TLV frames received and discarded."; + } + + leaf tlv-unknown { + type yang:counter64; + description + "The number of frames received with unknown TLV."; + } + + leaf last-clear { + type yang:date-and-time; + description + "Indicates the last time the counters were + cleared."; + } + } + + grouping lldp-global-counters { + description + "Definition of global LLDP counters"; + + uses lldp-common-counters; + + leaf tlv-accepted { + type yang:counter64; + description + "The number of valid TLVs received."; + } + + leaf entries-aged-out { + type yang:counter64; + description + "The number of entries aged out due to timeout."; + } + + } + + grouping lldp-interface-counters { + description + "Definition of per-interface LLDP counters"; + + uses lldp-common-counters; + + leaf frame-error-out { + type yang:counter64; + description + "The number of frame transmit errors on the + interface."; + } + } + + grouping lldp-system-info-config { + description + "Configuration data for system-level local and remote + LLDP information"; + + leaf system-name { + type string { + length 0..255; + } + description + "The system name field shall contain an alpha-numeric string + that indicates the system's administratively assigned name. + The system name should be the system's fully qualified domain + name. If implementations support IETF RFC 3418, the sysName + object should be used for this field."; + } + + leaf system-description { + type string { + length 0..255; + } + description + "The system description field shall contain an alpha-numeric + string that is the textual description of the network entity. + The system description should include the full name and + version identification of the system's hardware type, + software operating system, and networking software. If + implementations support IETF RFC 3418, the sysDescr object + should be used for this field."; + } + + leaf chassis-id { + type string; + description + "The Chassis ID is a mandatory TLV which identifies the + chassis component of the endpoint identifier associated with + the transmitting LLDP agent"; + } + + leaf chassis-id-type { + type oc-lldp-types:chassis-id-type; + description + "This field identifies the format and source of the chassis + identifier string. It is an enumerator defined by the + LldpChassisIdSubtype object from IEEE 802.1AB MIB."; + } + } + + grouping lldp-system-info-state { + description + "Operational state data reported for the local and remote + systems"; + + } + + grouping lldp-neighbor-config { + description + "Configuration data for LLDP neighbors"; + + } + + grouping lldp-neighbor-state { + description + "Operational state data for LLDP neighbors"; + + leaf id { + type string; + description + "System generated identifier for the neighbor on the + interface."; + } + + leaf age { + type uint64; + units "seconds"; + description + "Age since discovery"; + } + + leaf last-update { + type int64; + description + "Seconds since last update received."; + } + + leaf ttl { + type uint16; + units "seconds"; + description + "The time-to-live (TTL) is a mandatory TLV which indicates + how long information from the neighbor should be considered + valid."; + } + + leaf port-id { + type string; + description + "The Port ID is a mandatory TLV which identifies the port + component of the endpoint identifier associated with the + transmitting LLDP agent. If the specified port is an IEEE + 802.3 Repeater port, then this TLV is optional."; + } + + leaf port-id-type { + type oc-lldp-types:port-id-type; + description + "This field identifies the format and source of the port + identifier string. It is an enumerator defined by the + PtopoPortIdType object from RFC2922."; + } + + leaf port-description { + type string; + description + "The binary string containing the actual port identifier for + the port which this LLDP PDU was transmitted. The source and + format of this field is defined by PtopoPortId from + RFC2922."; + } + + leaf management-address { + type string; + description + "The Management Address is a mandatory TLV which identifies a + network address associated with the local LLDP agent, which + can be used to reach the agent on the port identified in the + Port ID TLV."; + } + + leaf management-address-type { + type string; + description + "The enumerated value for the network address type + identified in this TLV. This enumeration is defined in the + 'Assigned Numbers' RFC [RFC3232] and the + ianaAddressFamilyNumbers object."; + } + } + + grouping lldp-capabilities-config { + description + "Configuration data for LLDP capabilities"; + } + + grouping lldp-capabilities-state { + description + "Operational state data for LLDP capabilities"; + + leaf name { + type identityref { + base oc-lldp-types:LLDP_SYSTEM_CAPABILITY; + } + description + "Name of the system capability advertised by the neighbor. + Capabilities are represented in a bitmap that defines the + primary functions of the system. The capabilities are + defined in IEEE 802.1AB."; + } + + leaf enabled { + type boolean; + description + "Indicates whether the corresponding system capability is + enabled on the neighbor."; + reference + "Sec 8.5.8.2 of IEEE 802.1AB-2009"; + } + } + + grouping lldp-capabilities-top { + description + "Top-level grouping for LLDP capabilities"; + + container capabilities { + config false; + description + "Enclosing container for list of LLDP capabilities"; + + list capability { + key "name"; + description + "List of LLDP system capabilities advertised by the + neighbor"; + + leaf name { + type leafref { + path "../state/name"; + } + description + "Reference to capabilities list key"; + } + + container config { + description + "Configuration data for LLDP capabilities"; + + uses lldp-capabilities-config; + } + + container state { + + config false; + + description + "Operational state data for LLDP capabilities"; + + uses lldp-capabilities-config; + uses lldp-capabilities-state; + } + } + } + } + + grouping lldp-custom-tlv-config { + description + "Configuration data for custom LLDP TLVs"; + } + + grouping lldp-custom-tlv-state { + description + "Operational state data for custom LLDP TLVs"; + + leaf type { + type int32; + description + "The integer value identifying the type of information + contained in the value field."; + } + + leaf oui { + type string; + description + "The organizationally unique identifier field shall contain + the organization's OUI as defined in Clause 9 of IEEE Std + 802. The high-order octet is 0 and the low-order 3 octets + are the SMI Network Management Private Enterprise Code of + the Vendor in network byte order, as defined in the + 'Assigned Numbers' RFC [RFC3232]."; + } + + leaf oui-subtype { + type string; + description + "The organizationally defined subtype field shall contain a + unique subtype value assigned by the defining organization."; + } + + // TODO: consider making this string type + leaf value { + type binary; + description + "A variable-length octet-string containing the + instance-specific information for this TLV."; + } + } + + grouping lldp-custom-tlv-top { + description + "Top-level grouping for custom LLDP TLVs"; + + container custom-tlvs { + config false; + description + "Enclosing container for list of custom TLVs from a + neighbor"; + + list tlv { + key "type oui oui-subtype"; + description + "List of custom LLDP TLVs from a neighbor"; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to type list key"; + } + + leaf oui { + type leafref { + path "../state/oui"; + } + description + "Reference to oui list key"; + } + + leaf oui-subtype { + type leafref { + path "../state/oui-subtype"; + } + description + "Reference to oui-subtype list key"; + } + + container config { + description + "Configuration data "; + + uses lldp-custom-tlv-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses lldp-custom-tlv-config; + uses lldp-custom-tlv-state; + } + } + } + } + + grouping lldp-neighbor-top { + description + "Top-level grouping for the LLDP neighbor list"; + + container neighbors { + config false; + description + "Enclosing container for list of LLDP neighbors on an + interface"; + + list neighbor { + key "id"; + description + "List of LLDP neighbors"; + + leaf id { + type leafref { + path "../state/id"; + } + description + " "; + } + + container config { + description + "Configuration data "; + + uses lldp-neighbor-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses lldp-system-info-config; + uses lldp-system-info-state; + uses lldp-neighbor-config; + uses lldp-neighbor-state; + } + + uses lldp-custom-tlv-top; + uses lldp-capabilities-top; + } + } + } + + grouping lldp-interface-config { + description + "Configuration data for LLDP on each interface"; + + leaf name { + type oc-if:base-interface-ref; + description + "Reference to the LLDP Ethernet interface"; + } + + leaf enabled { + type boolean; + default "true"; + description + "Enable or disable the LLDP protocol on the interface."; + } + } + + grouping lldp-interface-state { + description + "Operational state data for LLDP on each interface"; + + container counters { + description + "LLDP counters on each interface"; + + uses lldp-interface-counters; + } + } + + grouping lldp-interface-top { + description + "Top-level grouping "; + + container interfaces { + description + "Enclosing container "; + + list interface { + key "name"; + description + "List of interfaces on which LLDP is enabled / available"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the list key"; + } + + container config { + description + "Configuration data for LLDP on each interface"; + + uses lldp-interface-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses lldp-interface-config; + uses lldp-interface-state; + } + + uses lldp-neighbor-top; + } + } + } + + + grouping lldp-config { + description + "Configuration data for global LLDP parameters"; + + leaf enabled { + type boolean; + default "true"; + description + "System level state of the LLDP protocol."; + } + + leaf hello-timer { + type uint64; + units "seconds"; + description + "System level hello timer for the LLDP protocol."; + } + + leaf-list suppress-tlv-advertisement { + type identityref { + base oc-lldp-types:LLDP_TLV; + } + description + "Indicates whether the local system should suppress the + advertisement of particular TLVs with the LLDP PDUs that it + transmits. Where a TLV type is specified within this list, it + should not be included in any LLDP PDU transmitted by the + local agent."; + } + } + + grouping lldp-state { + description + "Operational state data for global LLDP parameters"; + + container counters { + description + "Global LLDP counters"; + + uses lldp-global-counters; + } + } + + grouping lldp-top { + description + "Top-level grouping for LLDP model"; + + container lldp { + description + "Top-level container for LLDP configuration and state data"; + + container config { + description + "Configuration data "; + + uses lldp-config; + uses lldp-system-info-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses lldp-config; + uses lldp-system-info-config; + uses lldp-system-info-state; + uses lldp-state; + } + + uses lldp-interface-top; + } + } + + // data definition statements + + uses lldp-top; + + +} diff --git a/vendor/cisco/xr/755/openconfig-local-routing.yang b/vendor/cisco/xr/755/openconfig-local-routing.yang new file mode 100644 index 000000000..37a653881 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-local-routing.yang @@ -0,0 +1,438 @@ +module openconfig-local-routing { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/local-routing"; + + prefix "oc-loc-rt"; + + // import some basic types + import openconfig-inet-types { prefix inet; } + import openconfig-policy-types { prefix oc-pt; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-bfd { prefix oc-bfd; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module describes configuration and operational state data + for routes that are locally generated, i.e., not created by + dynamic routing protocols. These include static routes, locally + created aggregate routes for reducing the number of constituent + routes that must be advertised, summary routes for IGPs, etc. + + This model expresses locally generated routes as generically as + possible, avoiding configuration of protocol-specific attributes + at the time of route creation. This is primarily to avoid + assumptions about how underlying router implementations handle + route attributes in various routing table data structures they + maintain. Hence, the definition of locally generated routes + essentially creates 'bare' routes that do not have any protocol- + specific attributes. + + When protocol-specific attributes must be attached to a route + (e.g., communities on a locally defined route meant to be + advertised via BGP), the attributes should be attached via a + protocol-specific policy after importing the route into the + protocol for distribution (again via routing policy)."; + + oc-ext:openconfig-version "1.2.0"; + + revision "2020-03-24" { + description + "Add bfd support without augmentation."; + reference "1.2.0"; + } + + revision "2020-03-24" { + description + "Add a description statement to static routes."; + reference "1.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "1.0.2"; + } + + revision "2017-05-15" { + description + "Update to resolve style guide non-compliance."; + reference "1.0.1"; + } + + revision "2016-05-11" { + description + "OpenConfig public release"; + reference "1.0.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + identity LOCAL_DEFINED_NEXT_HOP { + description + "A base identity type of local defined next-hops"; + } + + identity DROP { + base LOCAL_DEFINED_NEXT_HOP; + description + "Discard traffic for the corresponding destination"; + } + + identity LOCAL_LINK { + base LOCAL_DEFINED_NEXT_HOP; + description + "Treat traffic towards addresses within the specified + next-hop prefix as though they are connected to a local + link. When the LOCAL_LINK next-hop type is specified, + an interface must also be specified such that + the local system can determine which link to trigger + link-layer address discovery against"; + } + + // typedef statements + + typedef local-defined-next-hop { + type identityref { + base LOCAL_DEFINED_NEXT_HOP; + } + description + "Pre-defined next-hop designation for locally generated + routes"; + } + + // grouping statements + + grouping local-generic-settings { + description + "Generic options that can be set on local routes When + they are defined"; + + leaf set-tag { + type oc-pt:tag-type; + description + "Set a generic tag value on the route. This tag can be + used for filtering routes that are distributed to other + routing protocols."; + } + + leaf description { + type string; + description + "An optional textual description for the route."; + } + } + + grouping local-static-config { + description + "Configuration data for static routes."; + + leaf prefix { + type inet:ip-prefix; + description + "Destination prefix for the static route, either IPv4 or + IPv6."; + } + + uses local-generic-settings; + } + + grouping local-static-state { + description + "Operational state data for static routes"; + } + + + grouping local-static-nexthop-config { + description + "Configuration parameters related to each next-hop entry + specified for a static route"; + + leaf index { + type string; + description + "An user-specified identifier utilised 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."; + } + + leaf next-hop { + type union { + type inet:ip-address; + type local-defined-next-hop; + } + description + "The next-hop that is to be used for the static route + - this may be specified as an IP address, an interface + or a pre-defined next-hop type - for instance, DROP or + LOCAL_LINK. When this leaf is not set, and the interface-ref + value is specified for the next-hop, then the system should + treat the prefix as though it is directly connected to the + interface."; + } + + leaf metric { + type uint32; + description + "A metric which is utilised to specify the preference of + the next-hop entry when it is injected into the RIB. The + lower the metric, the more preferable the prefix is. When + this value is not specified the metric is inherited from + the default metric utilised for static routes within the + network instance that the static routes are being + instantiated. When multiple next-hops are specified for a + static route, the metric is utilised to determine which of + the next-hops is to be installed in the RIB. When multiple + next-hops have the same metric (be it specified, or simply + the default) then these next-hops should all be installed + in the RIB"; + } + + leaf recurse { + type boolean; + default false; + description + "Determines whether the next-hop should be allowed to + be looked up recursively - i.e., via a RIB entry which has + been installed by a routing protocol, or another static route + - rather than needing to be connected directly to an + interface of the local system within the current network + instance. When the interface reference specified within the + next-hop entry is set (i.e., is not null) then forwarding is + restricted to being via the interface specified - and + recursion is hence disabled."; + } + } + + grouping local-static-nexthop-state { + description + "Operational state parameters relating to a next-hop entry + for a static route"; + } + + + grouping local-static-top { + description + "Top-level grouping for the list of static route definitions"; + + container static-routes { + description + "Enclosing container for the list of static routes"; + + list static { + key "prefix"; + description + "List of locally configured static routes"; + + leaf prefix { + type leafref { + path "../config/prefix"; + } + description + "Reference to the destination prefix list key."; + } + + container config { + description + "Configuration data for static routes"; + + uses local-static-config; + } + + container state { + + config false; + + description + "Operational state data for static routes"; + + uses local-static-config; + uses local-static-state; + } + + container next-hops { + description + "Configuration and state parameters relating to the + next-hops that are to be utilised for the static + route being specified"; + + list next-hop { + key "index"; + + description + "A list of next-hops to be utilised for the static + route being specified."; + + leaf index { + type leafref { + path "../config/index"; + } + description + "A reference to the index of the current next-hop. + The index is intended to be a user-specified value + which can be used to reference the next-hop in + question, without any other semantics being + assigned to it."; + } + + container config { + description + "Configuration parameters relating to the next-hop + entry"; + + uses local-static-nexthop-config; + } + + container state { + config false; + description + "Operational state parameters relating to the + next-hop entry"; + + uses local-static-nexthop-config; + uses local-static-nexthop-state; + } + + uses oc-bfd:bfd-enable; + uses oc-if:interface-ref; + } + } + } + } + } + + grouping local-aggregate-config { + description + "Configuration data for aggregate routes"; + + leaf prefix { + type inet:ip-prefix; + description + "Aggregate prefix to be advertised"; + } + + leaf discard { + type boolean; + default false; + description + "When true, install the aggregate route with a discard + next-hop -- traffic destined to the aggregate will be + discarded with no ICMP message generated. When false, + traffic destined to an aggregate address when no + constituent routes are present will generate an ICMP + unreachable message."; + } + + uses local-generic-settings; + + } + + grouping local-aggregate-state { + description + "Operational state data for local aggregate advertisement + definitions"; + } + + grouping local-aggregate-top { + description + "Top-level grouping for local aggregates"; + + container local-aggregates { + description + "Enclosing container for locally-defined aggregate + routes"; + + list aggregate { + key "prefix"; + description + "List of aggregates"; + + leaf prefix { + type leafref { + path "../config/prefix"; + } + description + "Reference to the configured prefix for this aggregate"; + } + + container config { + description + "Configuration data for aggregate advertisements"; + + uses local-aggregate-config; + } + + container state { + + config false; + + description + "Operational state data for aggregate + advertisements"; + + uses local-aggregate-config; + uses local-aggregate-state; + } + } + } + } + + grouping local-routes-config { + description + "Configuration data for locally defined routes"; + } + + grouping local-routes-state { + description + "Operational state data for locally defined routes"; + } + + grouping local-routes-top { + description + "Top-level grouping for local routes"; + + container local-routes { + description + "Top-level container for local routes"; + + container config { + description + "Configuration data for locally defined routes"; + + uses local-routes-config; + } + + container state { + + config false; + + description + "Operational state data for locally defined routes"; + + uses local-routes-config; + uses local-routes-state; + } + + uses local-static-top; + uses local-aggregate-top; + } + } + + uses local-routes-top; + +} diff --git a/vendor/cisco/xr/755/openconfig-macsec-types.yang b/vendor/cisco/xr/755/openconfig-macsec-types.yang new file mode 100644 index 000000000..3651ddcdf --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-macsec-types.yang @@ -0,0 +1,50 @@ +module openconfig-macsec-types { + yang-version "1"; + namespace "http://openconfig.net/yang/macsec/types"; + prefix "oc-macsect"; + + import openconfig-extensions { prefix oc-ext; } + + organization "OpenConfig working group"; + contact + "OpenConfig working group + www.openconfig.net"; + description + "This module defines types related to the MACsec configuration + and operational state model."; + + oc-ext:openconfig-version "0.1.0"; + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + revision 2019-07-01 { + description + "Initial public revision"; + reference + "0.1.0"; + } + + typedef macsec-cipher-suite { + type enumeration { + enum GCM_AES_128 { description "GCM-AES-128 Cipher Suite"; } + enum GCM_AES_256 { description "GCM-AES-256 Cipher Suite"; } + enum GCM_AES_XPN_128 { description "GCM-AES-XPN-128 Cipher Suite"; } + enum GCM_AES_XPN_256 { description "GCM-AES-XPN-256 Cipher Suite"; } + } + description + "Set Cipher suite(s) for SAK derivation"; + } + + typedef confidentiality-offset { + type enumeration { + enum "0_BYTES" { description "No octets are sent unencrypted"; } + enum "30_BYTES" { description "30 octects are sent unencrypted"; } + enum "50_BYTES" { description "50 octects are sent unencrypted"; } + } + description + "The confidentiality offset specifies a number of octets in an Ethernet + frame that are sent in unencrypted plain-text"; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-macsec.yang b/vendor/cisco/xr/755/openconfig-macsec.yang new file mode 100644 index 000000000..039565bfa --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-macsec.yang @@ -0,0 +1,834 @@ +module openconfig-macsec { + yang-version 1; + namespace "http://openconfig.net/yang/macsec"; + prefix "oc-macsec"; + + import openconfig-extensions { prefix oc-ext; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-macsec-types { prefix macsec-types; } + import openconfig-yang-types { prefix oc-yang; } + + organization + "OpenConfig working group"; + contact + "Openconfig working group + www.openconfig.net"; + description + "This module defines configuration and state data for + MACsec IEEE Std 802.1AE-2018."; + + oc-ext:openconfig-version "0.2.0"; + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + revision "2020-05-01" { + description + "Move identifiers for scsa-[tr]x out of + counters container."; + reference "0.2.0"; + } + + revision "2019-07-01" { + description + "Initial public revision"; + reference + "0.1.0"; + } + + grouping macsec-mka-key-config { + description + "MKA Key config grouping"; + + leaf id { + type oc-yang:hex-string { + length "1..64"; + } + description + "Key identifier is used as the + Connectivity Association Key name (CKN)"; + } + + leaf key-clear-text { + type string; + description + "The key, used for signing and encrypting. Supplied as a clear text + string. When read, also returned as clear text string."; + } + + leaf cryptographic-algorithm { + type enumeration { + enum AES_128_CMAC; + enum AES_256_CMAC; + } + description + "MKA Cryptographic authentication algorithm to use"; + } + + leaf valid-date-time { + type union { + type oc-yang:date-and-time; + type enumeration { + enum VALID_IMMEDIATELY { + description "Key is valid immediately"; + } + } + } + default VALID_IMMEDIATELY; + description + "Date and time the key starts being valid according to local date and + time configuration."; + } + + leaf expiration-date-time { + type union { + type oc-yang:date-and-time; + type enumeration { + enum NO_EXPIRATION { + description "Key does not expire"; + } + } + } + default NO_EXPIRATION; + description + "Key date and time expiration according to local date and time + configuration."; + } + } + + grouping macsec-mka-key-top { + description + "MKA Key top level grouping"; + + container mka-keys { + description + "Enclosing container for the list of MKA keys"; + + list mka-key { + key "id"; + + description + "List of MKA keys"; + + leaf id { + type leafref { + path "../config/id"; + } + description + "Reference to the MKA key id"; + } + + container config { + description + "Configuration of MKA key"; + + uses macsec-mka-key-config; + } + + container state { + config false; + description + "Operational state data for MKA key"; + + uses macsec-mka-key-config; + } + } + } + } + + grouping macsec-mka-key-chain-config { + description + "MKA Key chain config grouping"; + + leaf name { + type string; + description + "MKA Key-chain name"; + } + } + + grouping macsec-mka-key-chain-top { + description + "MKA key chain top level grouping"; + + container key-chains { + description + "Enclosing container for the MKA key chains"; + + list key-chain { + key "name"; + + description + "MKA Key chain name"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the MKA Key chain name"; + } + + container config { + description + "Configuration of the MKA key chain"; + + uses macsec-mka-key-chain-config; + } + + container state { + config false; + description + "Operational state data for MKA key chain"; + + uses macsec-mka-key-chain-config; + } + + uses macsec-mka-key-top; + } + } + } + + grouping macsec-mka-interface-config { + description + "MKA interface config grouping"; + + leaf mka-policy { + type leafref { + path "/macsec/mka/policies/policy/name"; + } + description + "Apply MKA policy on the interface"; + } + + leaf key-chain { + type leafref { + path "/macsec/mka/key-chains/key-chain/name"; + } + description + "Configure Key Chain name"; + } + } + + grouping macsec-mka-interface-counters { + description + "MKA interface state grouping"; + + leaf in-mkpdu { + type oc-yang:counter64; + description + "Validated MKPDU received count"; + } + + leaf in-sak-mkpdu { + type oc-yang:counter64; + description + "Validated MKPDU received SAK count"; + } + + leaf in-cak-mkpdu { + type oc-yang:counter64; + description + "Validated MKPDU received CAK count"; + } + + leaf out-mkpdu { + type oc-yang:counter64; + description + "MKPDU sent count"; + } + + leaf out-sak-mkpdu { + type oc-yang:counter64; + description + "MKPDU SAK sent count"; + } + + leaf out-cak-mkpdu { + type oc-yang:counter64; + description + "MKPDU CAK sent count"; + } + } + + grouping macsec-mka-interface-state { + description + "MKA interface state grouping"; + + container counters { + description + "MKA interface counters"; + + uses macsec-mka-interface-counters; + } + } + + grouping macsec-mka-interface-top { + description + "MKA interface top level grouping"; + + container mka { + description + "Enclosing container for the MKA interface"; + + container config { + description + "Configuration data for MKA interface"; + + uses macsec-mka-interface-config; + } + + container state { + config false; + description + "Operational state data for MKA interface"; + + uses macsec-mka-interface-config; + uses macsec-mka-interface-state; + } + } + } + + grouping macsec-interface-config { + description + "Media Access Control Security (MACsec) config grouping"; + + leaf name { + type oc-if:base-interface-ref; + description + "Reference to the MACsec Ethernet interface"; + } + + leaf enable { + type boolean; + default "false"; + description + "Enable MACsec on an interface"; + } + + leaf replay-protection { + type uint16; + default "0"; + description + "MACsec window size, as defined by the number of out-of-order frames + that are accepted. A value of 0 means that frames are accepted only in + the correct order."; + } + } + + grouping macsec-scsa-tx-interface-state { + description + "State leaves assigned with the TX Secure Channel and Secure + Association"; + + leaf sci-tx { + type oc-yang:hex-string { + length 16; + } + description + "Secure Channel Identifier. + Every Transmit Channel is uniquely identified using this field."; + } + } + + grouping macsec-scsa-tx-interface-stats { + description + "TX Secure Channel and Secure Association Information"; + + leaf sc-auth-only { + type oc-yang:counter64; + description + "Secure Channel Authenticated only TX Packets counter. + This counter reflects the number of authenticated only transmitted + packets in a secure channel."; + } + + leaf sc-encrypted { + type oc-yang:counter64; + description + "Secure Channel Encrypted TX Packets counter. + This counter reflects the number of encrypted and authenticated + transmitted packets in a secure channel."; + } + + leaf sa-auth-only { + type oc-yang:counter64; + description + "Secure Association Authenticated only TX Packets counter. + This counter reflects the number of authenticated only, transmitted + packets in a secure association."; + } + + leaf sa-encrypted { + type oc-yang:counter64; + description + "Secure Association Encrypted TX Packets counter. + This counter reflects the number of encrypted and authenticated + transmitted packets in a secure association."; + } + } + + grouping macsec-scsa-rx-interface-state { + description + "State associated nwith RX Secure Channel and Secure Association + Information."; + + leaf sci-rx { + type oc-yang:hex-string { + length 16; + } + description + "Secure Channel Identifier. + Every Receive Channel is uniquely identified using this field."; + } + } + + grouping macsec-scsa-rx-interface-stats { + description + "RX Secure Channel and Secure Association Information"; + + leaf sc-invalid { + type oc-yang:counter64; + description + "Invalid Secure Channel RX Packets counter. + This counter reflects the number of invalid received packets in a + secure channel."; + } + + leaf sc-valid { + type oc-yang:counter64; + description + "Valid Secure Channel RX Packets counter. + This counter reflects the number of valid received packets in a + secure channel."; + } + + leaf sa-invalid { + type oc-yang:counter64; + description + "Invalid Secure Association RX Packets counter. + This counter reflects the number of integrity check fails for received + packets in a secure association."; + } + + leaf sa-valid { + type oc-yang:counter64; + description + "Secure Association Valid RX Packets counter. + This counter reflects the number of packets in a secure association + that passed integrity check."; + } + } + + grouping macsec-interface-counters { + description + "MACsec interface state grouping"; + + leaf tx-untagged-pkts { + type oc-yang:counter64; + description + "MACsec interface level Transmit untagged Packets counter. + This counter will increment if MACsec is enabled on interface and the + outgoing packet is not tagged with MACsec header."; + } + + leaf rx-untagged-pkts { + type oc-yang:counter64; + description + "MACsec interface level Receive untagged Packets counter. + This counter will increment if MACsec is enabled on interface and the + incoming packet does not have MACsec tag."; + } + + leaf rx-badtag-pkts { + type oc-yang:counter64; + 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 oc-yang:counter64; + description + "MACsec interface level Receive Unknown SCI Packets counter. + This counter will increment if MACsec is enabled on the interface and + SCI present in the MACsec tag of the incoming packet does not match any + SCI present in ingress SCI table."; + } + + leaf rx-nosci-pkts { + type oc-yang:counter64; + 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."; + } + } + + grouping macsec-scsa-interface-top { + description + "Secure channel and Secure Association Statistics"; + + container scsa-tx { + config false; + description + "Enclosing container for transmitted packets for Secure Channel and + Secure Association"; + + list scsa-tx { + key "sci-tx"; + + description + "TX Secure Channel and Secure Association Statistics"; + + leaf sci-tx { + type leafref { + path "../state/sci-tx"; + } + description + "TX Secure Channel and Secure Association Statistics"; + } + + container state { + description + "State container for macsec-scsa-tx-interface-stats"; + + uses macsec-scsa-tx-interface-state; + + container counters { + description + "Counters container for macsec-scsa-tx-interface-stats"; + + uses macsec-scsa-tx-interface-stats; + } + } + } + } + + container scsa-rx { + config false; + description + "Enclosing container for received packets for Secure Channel and + Secure Association"; + + list scsa-rx { + key "sci-rx"; + + description + "RX Secure Channel and Secure Association Statistics"; + + leaf sci-rx { + type leafref { + path "../state/sci-rx"; + } + description + "RX Secure Channel and Secure Association Statistics"; + } + + container state { + description + "State container for macsec-scsa-rx-interface-stats"; + + uses macsec-scsa-rx-interface-state; + + container counters { + description + "Counters container for macsec-scsa-rx-interface-stats"; + + uses macsec-scsa-rx-interface-stats; + } + } + } + } + } + + grouping macsec-interface-top { + description + "Top-level grouping "; + + container interfaces { + description + "Enclosing container for the MACsec interfaces list"; + + list interface { + key "name"; + description + "List of interfaces on which MACsec is enabled / available"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the list key"; + } + + container config { + description + "Configuration data for MACsec on each interface"; + + uses macsec-interface-config; + } + + container state { + config false; + description + "Operational state data "; + + uses macsec-interface-config; + + container counters { + description + "MACsec interface counters"; + + uses macsec-interface-counters; + } + } + + uses macsec-scsa-interface-top; + + uses macsec-mka-interface-top; + } + } + } + + grouping macsec-mka-policy-config { + description + "MKA policy config grouping"; + + leaf name { + type string; + description + "Name of the MKA policy."; + } + + leaf key-server-priority { + type uint8; + default "16"; + description + "Specifies the key server priority used by the MACsec Key Agreement + (MKA) protocol to select the key server when MACsec is enabled using + static connectivity association key (CAK) security mode. The switch with + the lower priority-number is selected as the key server. If the + priority-number is identical on both sides of a point-to-point link, the + MKA protocol selects the device with the lower MAC address as the key + server"; + } + + leaf-list macsec-cipher-suite { + type macsec-types:macsec-cipher-suite; + description + "Set Cipher suite(s) for SAK derivation"; + } + + leaf confidentiality-offset { + type macsec-types:confidentiality-offset; + default "0_BYTES"; + description + "The confidentiality offset specifies a number of octets in an Ethernet + frame that are sent in unencrypted plain-text"; + } + + leaf delay-protection { + type boolean; + default "false"; + description + "Traffic delayed longer than 2 seconds is rejected by the interfaces + enabled with delay protection."; + } + + leaf include-icv-indicator { + type boolean; + default "true"; + description + "Generate and include an Integrity Check Value (ICV) field in the MKPDU. + For compatibility with previous MACsec implementation that do not + require an ICV"; + } + + leaf sak-rekey-interval { + type uint32 { + range "0 | 30..65535"; + } + default "0"; + description + "SAK Rekey interval in seconds. The default value is 0 where no rekey is + performed."; + } + + leaf sak-rekey-on-live-peer-loss { + type boolean; + default "false"; + description + "Rekey on peer loss"; + } + + leaf use-updated-eth-header { + type boolean; + default "false"; + description + "Use updated ethernet header for ICV calculation. In case the Ethernet + frame headers change, use the updated headers to calculate the ICV."; + } + } + + grouping macsec-mka-global-counters { + description + "MKA global counters grouping"; + + leaf out-mkpdu-errors { + type oc-yang:counter64; + description + "MKPDU TX error count"; + } + + leaf in-mkpdu-icv-verification-errors { + type oc-yang:counter64; + description + "MKPDU RX ICV verification error count"; + } + + leaf in-mkpdu-validation-errors { + type oc-yang:counter64; + description + "MKPDU RX validation error count"; + } + + leaf in-mkpdu-bad-peer-errors { + type oc-yang:counter64; + description + "MKPDU RX bad peer message number error count"; + } + + leaf in-mkpdu-peer-list-errors { + type oc-yang:counter64; + description + "MKPDU RX non-recent peer list Message Number error count"; + } + + leaf sak-generation-errors { + type oc-yang:counter64; + description + "MKA error SAK generation count"; + } + + leaf sak-hash-errors { + type oc-yang:counter64; + description + "MKA error Hash Key generation count"; + } + + leaf sak-encryption-errors { + type oc-yang:counter64; + description + "MKA error SAK encryption/wrap count"; + } + + leaf sak-decryption-errors { + type oc-yang:counter64; + description + "MKA error SAK decryption/unwrap count"; + } + + leaf sak-cipher-mismatch-errors { + type oc-yang:counter64; + description + "MKA error SAK cipher mismatch count"; + } + } + + grouping macsec-mka-global-state { + description + "MKA global state grouping"; + + container counters { + description + "MKA global counters"; + + uses macsec-mka-global-counters; + } + } + + grouping macsec-mka-global-top { + description + "MKA global top level grouping"; + + container state { + config false; + description + "Operational state data for MKA"; + + uses macsec-mka-global-state; + } + } + + grouping macsec-mka-policy-top { + description + "MKA policy top level grouping"; + + container policies { + description + "Enclosing container for the list of MKA policies"; + + list policy { + key "name"; + + description + "List of MKA policies"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to MKA policy name"; + } + + container config { + description + "Configuration of the MKA policy"; + + uses macsec-mka-policy-config; + } + + container state { + config false; + description + "Operational state data for MKA policy"; + + uses macsec-mka-policy-config; + } + } + } + } + + grouping macsec-mka-top { + description + "MKA top level grouping"; + + container mka { + description + "The MKA"; + + uses macsec-mka-policy-top; + uses macsec-mka-key-chain-top; + uses macsec-mka-global-top; + } + } + + grouping macsec-top { + description + "MACsec top level grouping"; + + container macsec { + description + "The MACsec"; + + uses macsec-mka-top; + uses macsec-interface-top; + } + } + + uses macsec-top; +} diff --git a/vendor/cisco/xr/755/openconfig-messages.yang b/vendor/cisco/xr/755/openconfig-messages.yang new file mode 100644 index 000000000..894704479 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-messages.yang @@ -0,0 +1,221 @@ +module openconfig-messages { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/messages"; + + prefix "oc-messages"; + + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-system-logging { prefix "oc-log"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + related to Syslog messages that a device may generate. + + These messages are historically obtained through the Syslog + transport, however this module allows for obtaining them through + an alternative transport, such as a Subscribe operation over an + RPC. + + This module does not usurp traditional syslog servers, which may + still be configured through the + /yang/system/openconfig-system.yang model, rather it provies the + Operator with an alternative method of consuming messages."; + + oc-ext:openconfig-version "0.0.1"; + + revision "2018-08-13" { + description + "Initial draft."; + reference "0.0.1"; + } + + // identity statements + + identity DEBUG_SERVICE { + description + "Base identity for debug services. Identities within this base + identity are to be augmented in by vendors."; + } + + // grouping statements + + grouping messages-config { + description + "Configuration data for defining Syslog message severity."; + + leaf severity { + type oc-log:syslog-severity; + description + "Specifies that only messages of the given severity (or + greater severity) are sent over the RPC. + + This is analogous to differentiating which severity is to be + sent to legacy Syslog servers, as opposed to local buffer or + files."; + } + } + + grouping messages-state { + description + "Operational state data for Syslog messages."; + + container message { + oc-ext:telemetry-atomic; + config false; + description + "Syslog messages the client is Subscribing to. This is all + messages currently configured to be sent according to + syslog-severity."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + + // Decide if it is OK to include ALL in this leaf. + leaf msg { + type string; + description + "Message payload. If other leafs within this container not + supported, this leaf MAY include the entire message, + inclding pri, procid, app-name etc.."; + } + + leaf priority { + type uint8; + description + "The Priority value (PRIVAL) represents both the + Facility and Severity."; + reference + "IETF RFC 5424, Section 6.2.1"; + } + + leaf app-name { + type string; + description + "The APP-NAME field SHOULD identify the device or + application that originated the message."; + reference + "IETF RFC 5424, Section 6.2.5."; + } + + leaf procid { + type string; + description + "PROCID is a value that is included in the message, having + no interoperable meaning, except that a change in the value + indicates there has been a discontinuity in syslog + reporting."; + reference + "IETF RFC 5424, Section 6.2.6."; + } + + leaf msgid { + type string; + description + "The MSGID SHOULD identify the type of message. For + example, a firewall might use the MSGID 'TCPIN' for + incoming TCP traffic and the MSGID 'TCPOUT' for outgoing + TCP traffic."; + reference + "IETF RFC 5424, Section 6.2.7."; + } + } + } + + grouping debug-messages-config { + description + "Configuration data for enabling debug messages."; + + leaf service { + type identityref { + base DEBUG_SERVICE; + } + description + "Enumeration of all services which can have debugging enabled. + Vendors are to augment this base identity with their platform + or OS specific debug options."; + } + + leaf enabled { + type boolean; + default false; + description + "Enable and disable debugging."; + } + } + + grouping debug-messages-top { + description + "Configuration data for enabling Syslog debug messages."; + + container debug-entries { + description + "Enclosing container for list of debugs to enable."; + + list debug-service { + key "service"; + description + "List of debugging entries."; + + leaf service { + type leafref { + path "../config/service"; + } + description + "Reference to the debug-enable service key."; + } + + container config { + description + "Configuration data for debug service entries."; + + uses debug-messages-config; + } + + container state { + config false; + description + "Operational state data for enabled debugs."; + uses debug-messages-config; + } + } + } + } + + grouping messages-top { + description + "Top-level grouping for Syslog messages."; + + container messages { + description + "Top-level container for Syslog messages."; + + container config { + description + "Configuration data for Syslog messages."; + + uses messages-config; + } + + container state { + config false; + description + "Operational state data for a Syslog messages."; + + uses messages-config; + uses messages-state; + } + uses debug-messages-top; + } + } + uses messages-top; +} diff --git a/vendor/cisco/xr/755/openconfig-mpls-igp.yang b/vendor/cisco/xr/755/openconfig-mpls-igp.yang new file mode 100644 index 000000000..4caa5f43c --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls-igp.yang @@ -0,0 +1,92 @@ +submodule openconfig-mpls-igp { + + yang-version "1"; + + belongs-to "openconfig-mpls" { + prefix "oc-mpls"; + } + + + // import some basic types + import openconfig-mpls-ldp { prefix oc-ldp; } + import openconfig-extensions { prefix oc-ext; } + + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Configuration generic configuration parameters for IGP-congruent + LSPs"; + + oc-ext:openconfig-version "2.3.0"; + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // grouping statements + + + grouping igp-lsp-common { + description + "common definitions for IGP-congruent LSPs"; + + } + + + grouping igp-lsp-setup { + description + "signaling protocol definitions for IGP-based LSPs"; + + container path-setup-protocol { + description + "select and configure the signaling method for + the LSP"; + + // uses path-setup-common; + uses oc-ldp:igp-lsp-ldp-setup; + } + } + + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-mpls-ldp.yang b/vendor/cisco/xr/755/openconfig-mpls-ldp.yang new file mode 100644 index 000000000..4810fafe8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls-ldp.yang @@ -0,0 +1,929 @@ +module openconfig-mpls-ldp { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/ldp"; + + prefix "oc-ldp"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-inet-types { prefix oc-inet; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-types { prefix oc-types; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Configuration of Label Distribution Protocol global and LSP- + specific parameters for IGP-congruent LSPs. + + This model reuses data items defined in the IETF YANG model for + LDP described by draft-ietf-mpls-ldp-yang-04, YANG Data Model for + MPLS LDP, following an alternate structure. + + Portions of this code were derived from draft-ietf-mpls-ldp-yang-04. + Please reproduce this note if possible. + + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "3.1.0"; + + revision "2020-01-09" { + description + "Added session-state leaf"; + reference "3.1.0"; + } + + revision "2019-07-09" { + description + "Remove units for timeticks64 leaves, since the type + specifies the units."; + reference "3.0.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-07-02" { + description + "Add new RSVP-TE statistics, remove associated-rsvp-session + leaf. Remove use of date-and-time."; + reference "3.0.0"; + } + + revision "2018-06-16" { + description + "Included attributes for base LDP configuration."; + reference "2.6.0"; + } + + revision "2018-06-13" { + description + "Add ttl-propagation to global MPLS config"; + reference "2.5.0"; + } + + revision "2018-06-05" { + description + "Fixed bugs in when statements on RSVP-TE attributes"; + reference "2.4.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "2.4.1"; + } + + revision "2017-06-21" { + description + "Add TC bits typedef."; + reference "2.4.0"; + } + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef mpls-ldp-adjacency-type { + type enumeration { + enum LINK { + description + "Link LDP adjacency"; + } + enum TARGETED { + description + "Targeted LDP adjacency"; + } + } + description + "enumerated type for specifying LDP adjacencies"; + } + + typedef mpls-ldp-afi { + type enumeration { + enum IPV4 { + description + "IPv4 AFI for LDP adjancencies"; + } + enum IPV6 { + description + "IPv6 AFI for LDP adjancencies"; + } + } + description + "enumerated type for specifying LDP AFIs"; + } + + // grouping statements + + grouping ldp-global { + description + "Global LDP signaling configuration"; + + container ldp { + description + "LDP global signaling configuration"; + + container global { + description + "Platform wide LDP configuration and state"; + + uses mpls-ldp-global; + uses mpls-ldp-graceful-restart; + uses mpls-ldp-authentication-top; + } + + uses mpls-ldp-interface-attributes-top; + uses mpls-ldp-targeted-top; + uses mpls-ldp-neighbors-top; + + } + } + + grouping mpls-ldp-authentication-top { + description + "Grouping containing LDP authentication attributes"; + + container authentication { + description + "Global LDP authentication"; + + container config { + description + "Configuration of LDP authentication attributes"; + uses mpls-ldp-authentication-config; + } + + container state { + config false; + description + "LDP authentication state."; + uses mpls-ldp-authentication-config; + } + } + } + + grouping mpls-ldp-neighbors-top { + description + "Global LDP neighbor attributes"; + + container neighbors { + description + "State and configuration LDP neighbors attributes"; + + list neighbor { + key "lsr-id label-space-id"; + + description + "List of LDP neighbors and their attributes."; + + leaf lsr-id { + type leafref { + path "../config/lsr-id"; + } + description + "Neighbor label switch router identifier."; + } + + leaf label-space-id { + type leafref { + path "../config/label-space-id"; + } + description + "Label space ID of the neighbor."; + } + + container config { + description + "Neighbor configuration attributes."; + uses mpls-ldp-neighbor-config; + } + + container state { + config false; + description + "Neighbor state attributes."; + uses mpls-ldp-neighbor-config; + uses mpls-ldp-neighbor-state; + } + + container hello-adjacencies { + config false; + description "Top container for hello adjacencies + for a given LDP neighbor."; + + list hello-adjacency { + key "remote-address local-address"; + config false; + description + "List of hello adjacencies for a given LDP + neighbor."; + + leaf remote-address { + config false; + description + "Within the LDP adjacency, this attribute + shows the neighbor address."; + type leafref { + path "../state/remote-address"; + } + } + + leaf local-address { + config false; + description + "Within the LDP adjacency, this attribute + shows the local address."; + type leafref { + path "../state/local-address"; + } + } + + container state { + description + "State information for a particular LDP + hello adjacency."; + uses mpls-ldp-adjacency-state; + } + + uses oc-if:interface-ref-state; + + container hello-holdtime { + + description + "Specifies the time the sending LSR will + maintain its record of Hellos from the + receiving LSR"; + + container state { + description + "State attributes related to the + hello-holdtime."; + config false; + uses mpls-ldp-hello-holdtime-state; + } + } + + } + } + + uses mpls-ldp-authentication-top; + + } + } + } + + grouping mpls-ldp-neighbor-config { + description + "Global configuration for LDP neighbors."; + + leaf lsr-id { + type oc-inet:ip-address; + description + "Neighbor label switch router identifier."; + } + + leaf label-space-id { + type uint16; + description + "Label space ID of the neighbor."; + } + + } + + grouping mpls-ldp-neighbor-state { + description + "Grouping containing operational attributes for LDP neighbors."; + + leaf session-state { + type enumeration { + enum NON_EXISTENT { + description "LDP session state: NON EXISTENT."; + } + enum INITIALIZED { + description "LDP session state: INITIALIZED."; + } + enum OPENREC { + description "LDP session state: OPENREC."; + } + enum OPENSENT { + description "LDP session state: OPENSENT."; + } + enum OPERATIONAL { + description "LDP session state: OPERATIONAL."; + } + } + description + "Operational status of the LDP session, + based on the state machine for session + negotiation behavior."; + reference + "RFC5036, Sec. 2.5.4."; + } + + } + + grouping mpls-ldp-adjacency-state { + + description + "Set of LDP neighbor related state attributes."; + + leaf remote-address { + description + "Within the LDP adjacency, this attribute + shows the neighbor address."; + type oc-inet:ip-address; + } + + leaf local-address { + description + "Within the LDP adjacency, this attribute + shows the local address."; + type oc-inet:ip-address; + } + + leaf adjacency-type { + description + "This attributes defines if the LDP + adjacency is from a direct link or from + targeted discovery."; + type oc-ldp:mpls-ldp-adjacency-type; + } + + leaf last-clear { + type oc-types:timeticks64; + description + "Timestamp of the last time the interface counters + were cleared expressed relative to the Unix Epoch + (January 1, 1970 00:00:00 UTC)."; + } + + leaf hello-received { + type oc-yang:counter64; + description + "Number of Hello messaged received by the device"; + } + + leaf hello-dropped { + type oc-yang:counter64; + description + "Number of Hello messaged dropped by the device"; + } + + } + + grouping mpls-ldp-hello-holdtime-state { + description + "Grouping containing the state attributes + for hello holdtime."; + + leaf adjacent { + description + "Hello holdtime attribute learned from the + LDP neighbor"; + type uint16; + } + + leaf negotiated { + description + "Hello holdtime attribute negotiated between + the LDP neighbor and the local router."; + type uint16; + } + + leaf hello-expiration { + description + "Expiration time for the hello holdtime."; + type oc-types:timeticks64; + } + + leaf next-hello { + description + "Time when the next LDP hello will be sent to + the adjacent neighbor."; + type oc-types:timeticks64; + } + + } + + grouping mpls-ldp-global { + description + "Global LDP attributes"; + + container config { + description + "Global LDP configuration attributes."; + uses mpls-ldp-global-config; + } + + container state { + config false; + description + "Global LDP state information."; + uses mpls-ldp-global-config; + } + } + + grouping mpls-ldp-global-config { + description + "Grouping containing platform wide LDP information"; + + leaf lsr-id { + type oc-inet:ip-address; + description + "Global label switch router identifier + configuration."; + reference "RFC5036 LDP Specification"; + } + + } + + grouping mpls-ldp-interface-attributes-top { + description + "Top-level structure grouping for interface + attributes"; + + container interface-attributes { + description + "Container including attributes for LDP-enabled + interfaces"; + + container config { + description + "Configuration of per-interface LDP parameters"; + uses mpls-ldp-hello-timers-top-config; + } + + container state { + config false; + description + "Per-interface LDP protocol and state information"; + uses mpls-ldp-hello-timers-top-config; + } + + container interfaces { + description + "Container aggregating all interfaces and their + LDP-specific attributes."; + + list interface { + key "interface-id"; + description + "list of per-interface LDP configurations"; + + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "reference to the interface-id data"; + } + + container config { + description + "Configuration of per-interface LDP parameters"; + uses mpls-ldp-interfaces-config; + uses mpls-ldp-hello-timers-top-config; + } + + container state { + config false; + description + "Per-interface LDP protocol and state information"; + + uses mpls-ldp-interfaces-config; + uses mpls-ldp-hello-timers-top-config; + + container counters { + config false; + description + "Interface specific LDP statistics and counters"; + } + } + + uses oc-if:interface-ref; + uses mpls-ldp-address-families-ldp-top; + + } + } + } + } + + grouping mpls-ldp-address-families-ldp-top { + description + "Grouping containing the state and configuration + attributes for adress families."; + + container address-families { + description + "Top container comprising the adress families + attributes"; + list address-family { + key "afi-name"; + description + "List for attributes related to address-families for LDP."; + + leaf afi-name { + type leafref { + path "../config/afi-name"; + } + description + "Adress-family name atttibute (IPv4, IPv6)."; + } + + container config { + description + "Configuration attributes related to address-families + for LDP."; + uses mpls-ldp-address-family-config; + uses admin-config; + } + + container state { + description + "State attributes related to address-families for LDP."; + config false; + uses mpls-ldp-address-family-config; + uses admin-config; + } + } + } + } + + grouping mpls-ldp-hello-timers-top-config { + + description + "Grouping containing interface-related attributes + that can be configured for LDP."; + + leaf hello-holdtime { + type uint16; + description + "Defines the time for which a neighbor adjacency will + be kept by the router while it waits for a new link + Hello message."; + reference "RFC5036 LDP Specification"; + } + + leaf hello-interval { + type uint16; + description + "Defines the interval for sending Hello messages on + each link LDP adjacency."; + } + + } + + grouping mpls-ldp-targeted-top { + + description + "Grouping containing attributes for targeted LDP"; + + container targeted { + description + "Top container for targeted LDP state and configuration + attributes."; + + container config { + description + "Configuration attributes related to targeted LDP."; + uses mpls-ldp-targeted-attributes-top-config; + } + + container state { + config false; + description + "State attributes related to targeted LDP."; + uses mpls-ldp-targeted-attributes-top-config; + } + + uses mpls-ldp-address-targeted-ldp-top; + } + } + + grouping mpls-ldp-address-targeted-ldp-top { + description + "Grouping containing address attributes for targeted LDP."; + + container address-families { + description + "Global container for IPv4 and IPv6 attributes for LDP."; + + list address-family { + key "afi-name"; + description + "List of address families for targeted LDP + configuration"; + + leaf afi-name { + type leafref { + path "../config/afi-name"; + } + description + "Adress-family name atttibute (IPv4, IPv6)."; + } + + container config { + description + "Address-family configuration for targeted LDP"; + uses mpls-ldp-address-family-config; + } + + container state { + config false; + description + "Address-family state for targeted LDP"; + uses mpls-ldp-address-family-config; + } + + container targets { + description + "Container aggregating all targeted sessions and + their LDP-specific attributes."; + + list target { + key "remote-address"; + + description + "List of LDP targets configuration"; + + leaf remote-address { + type leafref { + path "../config/remote-address"; + } + description + "Neighbor address of the targeted LDP session"; + } + + container config { + + description + "Configuration parameters of a targeted LDP + adjacency"; + + leaf remote-address { + type oc-inet:ip-address; + description + "Configuration of neighbor address of the + targeted LDP adjacency"; + } + + leaf local-address { + type oc-inet:ip-address; + description + "Local IP address of the LDP adjacency"; + } + + uses admin-config; + uses mpls-ldp-hello-timers-top-config; + } + + container state { + config false; + description + "State attributes of a targeted LDP adjacency"; + + leaf remote-address { + config false; + type oc-inet:ip-address; + description + "Neighbor address of the targeted LDP adjacency"; + } + + leaf local-address { + config false; + type oc-inet:ip-address; + description + "Local IP address of the LDP adjacency"; + } + + uses admin-config; + uses mpls-ldp-hello-timers-top-config; + } + } + } + } + } + } + + grouping mpls-ldp-address-family-config { + description + "Grouping containing adress-family name atttibute"; + + leaf afi-name { + description + "Adress-family name atttibute (IPv4, IPv6)."; + type oc-ldp:mpls-ldp-afi; + } + + } + + grouping mpls-ldp-targeted-attributes-top-config { + + description + "Grouping containing targeted LDP configuration + attributes."; + + uses mpls-ldp-hello-timers-top-config; + + leaf hello-accept { + type boolean; + description + "Enables or disables the acceptance of targeted LDP + hello messages."; + reference "RFC5036 LDP Specification"; + } + + } + + grouping mpls-ldp-interfaces-config { + description + "LDP configuration information relevant to an interface"; + + leaf interface-id { + type oc-if:interface-id; + description + "Identifier for the interface"; + } + } + + grouping mpls-ldp-graceful-restart { + description + "Attributes relating to LDP Graceful-Restart"; + + container graceful-restart { + description + "Top container for LDP graceful-restart attributes"; + + container config { + description + "LDP graceful-restart configuration attributes."; + uses mpls-ldp-graceful-restart-config; + } + + container state { + config false; + description + "LDP graceful-restart state attributes."; + uses mpls-ldp-graceful-restart-config; + } + } + } + + grouping mpls-ldp-graceful-restart-config { + description + "Configuration parameters relating to LDP Graceful-Restart"; + + uses admin-config; + + leaf reconnect-time { + type uint16; + description + "Interval for which the remote LDP peers + will wait for the local node to reconnect after a + failure"; + reference "RFC3478 Graceful Restart Mechanism for Label + Distribution Protocol"; + } + + leaf recovery-time { + type uint16; + description + "Interval used to specify the time for the remote + peer to maintain the MPLS forwarding state after + the local node has succesfully reconnected"; + reference "RFC3478 Graceful Restart Mechanism for Label + Distribution Protocol"; + } + + leaf forwarding-holdtime { + type uint16; + description + "Time that defines the interval for keeping the + node in recovery mode."; + reference "RFC3478 Graceful Restart Mechanism for Label + Distribution Protocol"; + } + + leaf helper-enable { + type boolean; + description + "Enables the graceful restart helper for LDP."; + } + } + + grouping igp-tunnel-ldp { + description + "common defintiions for LDP-signaled LSP tunnel + types"; + } + + grouping igp-lsp-ldp-setup { + description + "grouping for LDP setup attributes"; + + container ldp { + description + "LDP signaling setup for IGP-congruent LSPs"; + uses igp-tunnel-ldp; + } + } + + grouping mpls-ldp-authentication-config { + description + "LDP authentication parameters container."; + + leaf enable { + type boolean; + default false; + description + "Enables LDP authentication on the node."; + } + + leaf authentication-key { + type oc-types:routing-password; + description + "authenticate LDP signaling + messages"; + reference + "RFC1321 The MD5 Message-Digest Algorithm + RFC5036 LDP Specification"; + } + } + + grouping admin-config { + description + "Re-usable grouping to enable or disable a particular LDP feature."; + + leaf enabled { + type boolean; + default false; + description + "When set to true, the functionality within which this leaf is + defined is enabled, when set to false it is explicitly disabled."; + } + } + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-mpls-rsvp.yang b/vendor/cisco/xr/755/openconfig-mpls-rsvp.yang new file mode 100644 index 000000000..fdbbd0aef --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls-rsvp.yang @@ -0,0 +1,1455 @@ +module openconfig-mpls-rsvp { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/rsvp"; + + prefix "oc-rsvp"; + + // import some basic types + import openconfig-inet-types { prefix inet; } + import openconfig-mpls-types { prefix oc-mplst; } + import openconfig-yang-types { prefix yang; } + import openconfig-types { prefix oc-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-interfaces { prefix oc-if; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Configuration for RSVP-TE signaling, including global protocol + parameters and LSP-specific configuration for constrained-path + LSPs"; + + oc-ext:openconfig-version "3.0.2"; + + revision "2020-02-04" { + description + "Changed peak-data-rate leaf type to ieeefloat32 only."; + reference "3.0.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-07-02" { + description + "Add new RSVP-TE statistics, remove associated-rsvp-session + leaf. Remove use of date-and-time."; + reference "3.0.0"; + } + + revision "2018-06-16" { + description + "Included attributes for base LDP configuration."; + reference "2.6.0"; + } + + revision "2018-06-13" { + description + "Add ttl-propagation to global MPLS config"; + reference "2.5.0"; + } + + revision "2018-06-05" { + description + "Fixed bugs in when statements on RSVP-TE attributes"; + reference "2.4.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "2.4.1"; + } + + revision "2017-06-21" { + description + "Add TC bits typedef."; + reference "2.4.0"; + } + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + + grouping mpls-rsvp-soft-preemption-config { + description + "Configuration for MPLS soft preemption"; + leaf enable { + type boolean; + default false; + description + "Enables soft preemption on a node."; + } + + leaf soft-preemption-timeout { + type uint16 { + range 0..max; + } + default 30; + description + "Timeout value for soft preemption to revert + to hard preemption. The default timeout for + soft-preemption is 30 seconds - after which + the local system reverts to hard pre-emption."; + reference "RFC5712 MPLS-TE soft preemption"; + } + } + + grouping mpls-rsvp-soft-preemption { + description + "Top level group for MPLS soft preemption"; + container soft-preemption { + description + "Protocol options relating to RSVP + soft preemption"; + container config { + description + "Configuration parameters relating to RSVP + soft preemption support"; + uses mpls-rsvp-soft-preemption-config; + } + container state { + config false; + description + "State parameters relating to RSVP + soft preemption support"; + uses mpls-rsvp-soft-preemption-config; + } + } + } + + grouping mpls-rsvp-hellos-config { + description + "RSVP protocol options configuration."; + + leaf hello-interval { + type uint16 { + range 1000..60000; + } + units milliseconds; + default 9000; + description + "set the interval in ms between RSVP hello + messages"; + reference + "RFC 3209: RSVP-TE: Extensions to RSVP for + LSP Tunnels. + RFC 5495: Description of the Resource + Reservation Protocol - Traffic-Engineered + (RSVP-TE) Graceful Restart Procedures"; + } + + leaf refresh-reduction { + type boolean; + default true; + description + "enables all RSVP refresh reduction message + bundling, RSVP message ID, reliable message delivery + and summary refresh"; + reference + "RFC 2961 RSVP Refresh Overhead Reduction + Extensions"; + } + } + + grouping mpls-rsvp-hellos { + description + "Top level grouping for RSVP hellos parameters"; + // TODO: confirm that the described semantics are supported + // on various implementations. Finer grain configuration + // will be vendor-specific + + container hellos { + description + "Top level container for RSVP hello parameters"; + + container config { + description + "Configuration parameters relating to RSVP + hellos"; + uses mpls-rsvp-hellos-config; + } + container state { + config false; + description + "State information associated with RSVP hellos"; + uses mpls-rsvp-hellos-config; + } + } + } + + grouping mpls-rsvp-subscription-config { + description + "RSVP subscription configuration"; + + leaf subscription { + type oc-types:percentage; + description + "percentage of the interface bandwidth that + RSVP can reserve"; + } + } + + grouping mpls-rsvp-subscription-state { + description + "Operational state parameters relating to the + bandwidth subscription on an interface"; + + leaf calculated-absolute-subscription-bw { + type uint64; + units "kbps"; + description + "The calculated absolute value of the bandwidth + which is reservable to RSVP-TE on the interface + prior to any adjustments that may be made from + external sources."; + } + } + + grouping mpls-rsvp-subscription { + description + "Top level group for RSVP subscription options"; + + container subscription { + description + "Bandwidth percentage reservable by RSVP + on an interface"; + + container config { + description + "Configuration parameters relating to RSVP + subscription options"; + uses mpls-rsvp-subscription-config; + } + + container state { + config false; + description + "State parameters relating to RSVP + subscription options"; + uses mpls-rsvp-subscription-config; + uses mpls-rsvp-subscription-state; + } + } + } + + grouping mpls-rsvp-graceful-restart-config { + description + "Configuration parameters relating to RSVP Graceful-Restart"; + + leaf enable { + type boolean; + default false; + description + "Enables graceful restart on the node."; + } + + leaf restart-time { + type uint32; + description + "Graceful restart time (seconds)."; + reference + "RFC 5495: Description of the Resource + Reservation Protocol - Traffic-Engineered + (RSVP-TE) Graceful Restart Procedures"; + } + leaf recovery-time { + type uint32; + description + "RSVP state recovery time"; + } + } + + grouping mpls-rsvp-graceful-restart { + description + "Top level group for RSVP graceful-restart + parameters"; + + container graceful-restart { + description + "Operational state and configuration parameters relating to + graceful-restart for RSVP"; + + container config { + description + "Configuration parameters relating to + graceful-restart"; + uses mpls-rsvp-graceful-restart-config; + } + + container state { + config false; + description + "State information associated with + RSVP graceful-restart"; + uses mpls-rsvp-graceful-restart-config; + } + } + } + + grouping mpls-rsvp-authentication-config { + description + "RSVP authentication parameters container."; + + leaf enable { + type boolean; + default false; + description + "Enables RSVP authentication on the node."; + } + + leaf authentication-key { + type string { + // Juniper supports 1..16 while + // Cisco has a much bigger range, up to 60. + length "1..32"; + } + description + "authenticate RSVP signaling + messages"; + reference + "RFC 2747: RSVP Cryptographic Authentication"; + } + } + + grouping mpls-rsvp-authentication { + description + "Top level group for RSVP authentication, + as per RFC2747"; + + container authentication { + description + "Configuration and state parameters relating to RSVP + authentication as per RFC2747"; + + container config { + description + "Configuration parameters relating + to authentication"; + uses mpls-rsvp-authentication-config; + } + + container state { + config false; + description + "State information associated + with authentication"; + uses mpls-rsvp-authentication-config; + } + } + } + + grouping mpls-rsvp-protection-config { + description + "RSVP facility (link/node) protection configuration"; + + leaf link-protection-style-requested { + type identityref { + base oc-mplst:PROTECTION_TYPE; + } + default oc-mplst:LINK_NODE_PROTECTION_REQUESTED; + description + "Style of mpls frr protection desired: + link, link-node, or unprotected"; + } + + leaf bypass-optimize-interval { + type uint16; + units seconds; + description + "interval between periodic optimization + of the bypass LSPs"; + // note: this is interface specific on juniper + // on iox, this is global. need to resolve. + } + // to be completed, things like enabling link protection, + // optimization times, etc. + } + + grouping mpls-rsvp-link-protection { + description + "Top level group for RSVP protection"; + container protection { + description + "link-protection (NHOP) related configuration"; + + container config { + description + "Configuration for link-protection"; + uses mpls-rsvp-protection-config; + } + + container state { + config false; + description + "State for link-protection"; + uses mpls-rsvp-protection-config; + } + } + } + + grouping mpls-rsvp-statistics { + description + "Top level grouping for RSVP protocol state"; + + uses mpls-rsvp-protocol-state; + } + + grouping rsvp-global { + description + "Global RSVP protocol configuration"; + container rsvp-te { + description + "RSVP-TE global signaling protocol configuration"; + + uses mpls-rsvp-session-state; + + container neighbors { + description + "Configuration and state for RSVP neighbors connecting + to the device"; + + list neighbor { + key "address"; + + config false; + + description + "List of RSVP neighbors of the local system"; + + leaf address { + type leafref { + path "../state/address"; + } + description + "Reference to the address of the RSVP neighbor"; + } + + container state { + config false; + description + "Operational state parameters relating to the + RSVP neighbor"; + uses mpls-rsvp-neighbor-state; + } + } + } + + container global { + description + "Platform wide RSVP configuration and state"; + uses mpls-rsvp-graceful-restart; + uses mpls-rsvp-soft-preemption; + uses mpls-rsvp-hellos; + + container state { + config false; + description + "Platform wide RSVP state, including counters"; + // TODO - reconcile global and per-interface + // protocol-related statistics + + container counters { + config false; + description + "Platform wide RSVP statistics and counters"; + uses mpls-rsvp-global-protocol-state; + uses mpls-rsvp-statistics; + + container errors { + description + "Error counters associated with the global RSVP-TE + instance."; + uses mpls-rsvp-error-counters; + } + } + } + } + + container interface-attributes { + description + "Attributes relating to RSVP-TE enabled interfaces"; + + list interface { + key "interface-id"; + description + "list of per-interface RSVP configurations"; + + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "reference to the interface-id data"; + } + + + container config { + description + "Configuration of per-interface RSVP parameters"; + uses mpls-rsvp-interfaces-config; + } + + container state { + config false; + description + "Per-interface RSVP protocol and state information"; + + uses mpls-rsvp-interfaces-state; + uses mpls-rsvp-interfaces-config; + + container counters { + config false; + description + "Interface specific RSVP statistics and counters"; + uses mpls-rsvp-protocol-state; + uses mpls-rsvp-rate-limited-messages-state; + + container errors { + description + "Interface specific RSVP error counters"; + uses mpls-rsvp-error-counters; + } + } + } + + uses oc-if:interface-ref; + uses mpls-rsvp-interface-reservations; + uses mpls-rsvp-hellos; + uses mpls-rsvp-authentication; + uses mpls-rsvp-subscription; + uses mpls-rsvp-link-protection; + } + } + } + } + + grouping rsvp-p2p-tunnel-attributes-config { + description + "properties of RSVP point-to-point paths"; + + leaf source { + when "../signaling-protocol = 'PATH_SETUP_RSVP'" { + description + "When the signaling protocol is RSVP-TE "; + } + type inet:ip-address; + description + "RSVP-TE tunnel source address"; + } + + leaf soft-preemption { + when "../signaling-protocol = 'PATH_SETUP_RSVP'" { + description + "When the signaling protocol is RSVP-TE "; + } + type boolean; + default false; + description + "Enables RSVP soft-preemption on this LSP"; + } + + uses rsvp-priorities-tunnel-config; + } + + grouping rsvp-priorities-tunnel-config { + description + "Configuration paramters related to RSVP-TE priorities for + an LSP tunnel"; + + leaf setup-priority { + when "../signaling-protocol = 'PATH_SETUP_RSVP'" { + description + "When the signaling protocol is RSVP-TE "; + } + type uint8 { + range 0..7; + } + default 7; + description + "RSVP-TE preemption priority during LSP setup, lower is + higher priority; default 7 indicates that LSP will not + preempt established LSPs during setup"; + reference "RFC 3209 - RSVP-TE: Extensions to RSVP for + LSP Tunnels"; + } + + leaf hold-priority { + when "../signaling-protocol = 'PATH_SETUP_RSVP'" { + description + "When the signaling protocol is RSVP-TE "; + } + type uint8 { + range 0..7; + } + default 0; + description + "preemption priority once the LSP is established, + lower is higher priority; default 0 indicates other LSPs + will not preempt the LSPs once established"; + reference "RFC 3209 - RSVP-TE: Extensions to RSVP for + LSP Tunnels"; + } + } + + grouping rsvp-priorities-path-config { + description + "Configuration paramters related to RSVP-TE priorities on + a primary/secondary path associated with an LSP."; + + leaf setup-priority { + when "../../../../../" + + "config/signaling-protocol = 'PATH_SETUP_RSVP'" { + description + "When the signaling protocol is RSVP-TE "; + } + type uint8 { + range 0..7; + } + default 7; + description + "RSVP-TE preemption priority during LSP setup, lower is + higher priority; default 7 indicates that LSP will not + preempt established LSPs during setup"; + reference "RFC 3209 - RSVP-TE: Extensions to RSVP for + LSP Tunnels"; + } + + leaf hold-priority { + when "../../../../../" + + "config/signaling-protocol = 'PATH_SETUP_RSVP'" { + description + "When the signaling protocol is RSVP-TE "; + } + type uint8 { + range 0..7; + } + default 0; + description + "preemption priority once the LSP is established, + lower is higher priority; default 0 indicates other LSPs + will not preempt the LSPs once established"; + reference "RFC 3209 - RSVP-TE: Extensions to RSVP for + LSP Tunnels"; + } + } + + grouping rsvp-p2p-path-attributes-config { + description + "properties of RSPP point-to-point paths"; + + uses rsvp-priorities-path-config; + + leaf retry-timer { + when "../../../../../" + + "config/signaling-protocol = 'PATH_SETUP_RSVP'" { + description + "When the signaling protocol is RSVP-TE "; + } + type uint16 { + range 1..600; + } + units seconds; + description + "sets the time between attempts to establish the + LSP"; + } + } + + grouping mpls-rsvp-neighbor-state { + description + "State information for RSVP neighbors"; + + leaf address { + type inet:ip-address; + description + "Address of RSVP neighbor"; + } + + leaf detected-interface { + type string; + description + "Interface where RSVP neighbor was detected"; + } + + leaf neighbor-status { + type enumeration { + enum UP { + description + "RSVP hello messages are detected from the neighbor"; + } + enum DOWN { + description + "RSVP neighbor not detected as up, due to a + communication failure or IGP notification + the neighbor is unavailable"; + } + } + description + "Enumuration of possible RSVP neighbor states"; + } + + leaf refresh-reduction { + type boolean; + description + "Suppport of neighbor for RSVP refresh reduction"; + reference + "RFC 2961 RSVP Refresh Overhead Reduction + Extensions"; + } + + } + + grouping mpls-rsvp-session-state { + description + "State information for RSVP TE sessions"; + + container sessions { + description + "Enclosing container for sessions"; + + list session { + key "local-index"; + config false; + + description + "List of RSVP sessions"; + + leaf local-index { + type leafref { + path "../state/local-index"; + } + description + "Reference to the local index for the RSVP + session"; + } + + uses mpls-rsvp-record-route-object-top; + uses mpls-rsvp-explicit-route-object-top; + + container state { + description + "Operational state parameters relating to the + RSVP session"; + + leaf local-index { + type uint64; + description + "The index used to identify the RSVP session + on the local network element. This index is + generated by the device and is unique only + to the local network element."; + } + + leaf source-address { + type inet:ip-address; + description + "Origin address of RSVP session"; + } + + leaf destination-address { + type inet:ip-address; + description + "Destination address of RSVP session"; + } + + leaf tunnel-id { + type uint16; + description + "The tunnel ID is an identifier used in the + RSVP session, which remains constant over + the life of the tunnel."; + reference "RFC 3209"; + } + + leaf lsp-id { + type uint16; + description + "The LSP ID distinguishes between two LSPs + originated from the same headend, and is + commonly used to distinguish RSVP sessions + during make before break operations."; + reference "RFC 3209"; + } + + leaf session-name { + type string; + description + "The signaled name of this RSVP session."; + } + + leaf status { + type enumeration { + enum UP { + description + "RSVP session is up"; + } + enum DOWN { + description + "RSVP session is down"; + } + } + description + "Enumeration of RSVP session states"; + } + + leaf type { + type identityref { + base oc-mplst:LSP_ROLE; + } + description + "The type/role of the RSVP session, signifing + the session's role on the current device, such as + a transit session vs. an ingress session."; + } + + leaf protection-requested { + type identityref { + base oc-mplst:PROTECTION_TYPE; + } + description + "The type of protection requested for the RSVP session"; + } + + leaf label-in { + type oc-mplst:mpls-label; + description + "Incoming MPLS label associated with this RSVP session"; + } + + leaf label-out { + type oc-mplst:mpls-label; + description + "Outgoing MPLS label associated with this RSVP session"; + } + + container sender-tspec { + description + "Operational state statistics relating to the SENDER_TSPEC + received for the RSVP session"; + + leaf rate { + type oc-types:ieeefloat32; + units "Bps"; + description + "The rate at which the head-end device generates traffic, + expressed in bytes per second."; + reference + "RFC2210: RSVP with INTSERV"; + } + + leaf size { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The size of the token bucket that is used to determine + the rate at which the head-end device generates traffic, + expressed in bytes per second."; + reference + "RFC2210: RSVP with INTSERV"; + } + + leaf peak-data-rate { + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The maximum traffic generation rate that the head-end + device sends traffic at."; + reference + "RFC2210: RSVP with INTSERV"; + } + } + } + } + } + } //rsvp-session-state + + grouping mpls-rsvp-interfaces-config { + description + "RSVP configuration information relevant to an interface"; + + leaf interface-id { + type oc-if:interface-id; + description + "Identifier for the interface"; + } + } + + grouping mpls-rsvp-interfaces-state { + description + "RSVP state information relevant to an interface"; + + leaf max-link-bandwidth { + type oc-mplst:bandwidth-kbps; + description + "The maximum link bandwidth expressed in kilobits + per second. This value should be the same (other than + the units) as the value that is advertised into the + IGP traffic engineering database."; + } + } + + grouping mpls-rsvp-interface-reservations { + description + "Operational state related to interface bandwidth + reservations"; + + container bandwidth-reservations { + description + "Enclosing container for bandwidth reservation"; + list bandwidth-reservation { + key "priority"; + config false; + description + "Available and reserved bandwidth by priority on + the interface."; + + leaf priority { + type leafref { + path "../state/priority"; + } + description "Reference to the RSVP priority level"; + } + + container state { + description + "Operational state parameters relating to a + bandwidth reservation at a certain priority"; + + leaf priority { + type union { + type uint8 { + range 0..7; + } + type enumeration { + enum ALL { + description + "The ALL keyword represents the overall + state of the interface - i.e., the union + of all of the priority levels"; + } + } + } + description + "RSVP priority level for LSPs traversing the interface"; + } + + leaf available-bandwidth { + type oc-mplst:bandwidth-mbps; + description + "Bandwidth currently available with the priority level, + or for the entire interface when the priority is set to + ALL"; + } + + leaf reserved-bandwidth { + type oc-mplst:bandwidth-mbps; + description + "Bandwidth currently reserved within the priority level, + or the sum of all priority levels when the keyword is set + to ALL"; + } + + leaf active-reservations-count { + type yang:gauge64; + description + "Number of active RSVP reservations in the associated + priority, or the sum of all reservations when the priority + level is set to ALL"; + } + + leaf highwater-mark { + type oc-mplst:bandwidth-mbps; + description + "Maximum bandwidth reserved on the interface within the + priority, or across all priorities in the case that the + priority level is set to ALL"; + } + } + } + } + } + + grouping mpls-rsvp-global-protocol-state { + description + "RSVP protocol statistics which may not apply + on an interface, but are significant globally."; + + leaf path-timeouts { + type yang:counter64; + description + "The number of Path State Blocks (PSBs) that + have been timed out by the local system."; + } + + leaf reservation-timeouts { + type yang:counter64; + description + "The number of Reservation State Blocks (RSBs) that + have been timed out by the local system."; + } + + uses mpls-rsvp-rate-limited-messages-state; + } + + grouping mpls-rsvp-rate-limited-messages-state { + description + "Common grouping for rate limit messages"; + + leaf rate-limited-messages { + type yang:counter64; + description + "RSVP messages dropped due to rate limiting"; + } + } + + grouping mpls-rsvp-protocol-state { + description + "RSVP protocol statistics and message counters"; + + leaf in-path-messages { + type yang:counter64; + description + "Number of received RSVP Path messages"; + } + + leaf in-path-error-messages { + type yang:counter64; + description + "Number of received RSVP Path Error messages"; + } + + leaf in-path-tear-messages { + type yang:counter64; + description + "Number of received RSVP Path Tear messages"; + } + + leaf in-reservation-messages { + type yang:counter64; + description + "Number of received RSVP Resv messages"; + } + + leaf in-reservation-error-messages { + type yang:counter64; + description + "Number of received RSVP Resv Error messages"; + } + + leaf in-reservation-tear-messages { + type yang:counter64; + description + "Number of received RSVP Resv Tear messages"; + } + + leaf in-hello-messages { + type yang:counter64; + description + "Number of received RSVP hello messages"; + } + + leaf in-srefresh-messages { + type yang:counter64; + description + "Number of received RSVP summary refresh messages"; + } + + leaf in-ack-messages { + type yang:counter64; + description + "Number of received RSVP refresh reduction ack + messages"; + } + + leaf out-path-messages { + type yang:counter64; + description + "Number of sent RSVP PATH messages"; + } + + leaf out-path-error-messages { + type yang:counter64; + description + "Number of sent RSVP Path Error messages"; + } + + leaf out-path-tear-messages { + type yang:counter64; + description + "Number of sent RSVP Path Tear messages"; + } + + leaf out-reservation-messages { + type yang:counter64; + description + "Number of sent RSVP Resv messages"; + } + + leaf out-reservation-error-messages { + type yang:counter64; + description + "Number of sent RSVP Resv Error messages"; + } + + leaf out-reservation-tear-messages { + type yang:counter64; + description + "Number of sent RSVP Resv Tear messages"; + } + + leaf out-hello-messages { + type yang:counter64; + description + "Number of sent RSVP hello messages"; + } + + leaf out-srefresh-messages { + type yang:counter64; + description + "Number of sent RSVP summary refresh messages"; + } + + leaf out-ack-messages { + type yang:counter64; + description + "Number of sent RSVP refresh reduction ack messages"; + } + } + + grouping mpls-rsvp-record-route-object-top { + description + "Top-level structure grouping for list of record route + objects."; + + container record-route-objects { + description + "Enclosing container for MPLS RRO objects associated with the + traffic engineered tunnel."; + + list record-route-object { + key "index"; + config false; + + description + "Read-only list of record route objects associated with the + traffic engineered tunnel. Each entry in the list + may contain a hop IP address, MPLS label allocated + at the hop, and the flags associated with the entry."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to the index of the record route object. + The index is used to indicate the ordering of hops in + the path."; + } + + container state { + config false; + + description + "Information related to RRO objects. The hop, label, and + optional flags are present for each entry in the list."; + + uses mpls-rsvp-record-route-object-state; + } + } + } + } + + grouping mpls-rsvp-record-route-object-state { + description + "Grouping to hold information relating to record route + objects relevant to a traffic engineering LSP."; + + leaf index { + type uint8; + description + "Index of object in the list. Used for ordering."; + } + + leaf address { + type inet:ip-address; + description + "IP router hop for RRO entry"; + } + + leaf reported-label { + type oc-mplst:mpls-label; + description + "Label reported for RRO hop"; + } + + leaf reported-flags { + type uint8; + description + "Subobject flags for MPLS label"; + } + } + + grouping mpls-rsvp-explicit-route-object-top { + description + "Top-level structure for explicit-route objects."; + + container explicit-route-objects { + description + "Enclosing container for MPLS ERO objects associated + with the traffic engineered tunnel."; + + list explicit-route-object { + key "index"; + + config false; + + description + "Read-only list of explicit route objects associated with the + traffic-engineered tunnel. Each entry in the list contains + a hop IP address, and the MPLS label allocated at the hop."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to the index of the entry in the explicit route + object. The index is used to indicate the ordering of hops + in the path."; + } + + container state { + config false; + description + "Information related to the ERO index."; + uses mpls-rsvp-explicit-route-object-state; + } + } + } + } + + grouping mpls-rsvp-explicit-route-object-state { + description + "Grouping defining information related to an individual hop + of an ERO."; + + leaf index { + type uint64; + description + "Index of the entry in the ERO. Entries are ordered in + ascending order from the source to destination of the + LSP."; + } + + leaf loose { + type boolean; + description + "When set to true, indicates that the hop of the ERO is + a loose hop within the explicit route. If unset, indicates + that the hop must explicitly traverse the entity specified + in the ERO hop as the next-entity."; + } + + leaf type { + type enumeration { + enum IPV4 { + description + "The hop represents an IPv4 prefix."; + reference "RFC3209"; + } + enum IPV6 { + description + "The hop represents an IPv6 prefix."; + reference "RFC3209"; + } + enum ASN { + description + "The hop represents an autonomous system number."; + reference "RFC3209"; + } + enum ASN4 { + description + "The hop represents a 4-byte autonomous system number."; + } + enum LABEL { + description + "The hop represents an MPLS label."; + reference "RFC3473"; + } + enum UNNUMBERED_INTERFACE { + description + "The hop represents an unnumbered interface."; + reference "RFC3477"; + } + } + description + "The type of hop indicated by the ERO entry."; + } + + leaf ip-prefix { + type inet:ip-prefix; + description + "The IPv4 or IPv6 prefix indicated by the ERO. Specified + only when the ERO hop is an IPv4 or IPv6 prefix."; + } + + leaf asn { + type inet:as-number; + description + "The autonomous system number indicated by the ERO. Specified + only when the ERO hop is an 2 or 4-byte AS number."; + } + + leaf label { + type oc-mplst:mpls-label; + description + "The MPLS label specified in the ERO hop. Specified only when + the hop is an MPLS label."; + } + + leaf interface-id { + type uint32; + description + "The interface ID for an unnumbered interface. Specified only + when the ERO hop is a unnumbered interface."; + } + reference + "RFC3477 - Signalling Unnumbered Links in Resource + ReSerVation Protocol - Traffic Engineering (RSVP-TE)"; + + } + + grouping mpls-rsvp-error-counters { + description + "Grouping containing definitions of leaves relating to + errors in RSVP-TE. This grouping can be used in different + contexts - e.g., per-RSVP-TE protocol instance, or per- + interface such that the errors represented should + correspond to the number of errors that have occurred for + the context in which the grouping is used."; + + leaf authentication-fail { + type yang:counter64; + description + "The number of packets received that have failed RSVP-TE + authentication checks in the specified context."; + } + + leaf bad-checksum { + type yang:counter64; + description + "The number of packets received that have an incorrect RSVP-TE + checksum in the context."; + } + + leaf bad-packet-format { + type yang:counter64; + description + "The number of packets received that were dropped due to being + badly formed in the context."; + } + + leaf bad-packet-length { + type yang:counter64; + description + "The number of packets received that were dropped due to having + an invalid length specified in the context."; + } + + leaf out-of-order { + type yang:counter64; + description + "The number of messages received out of order in the context."; + } + + leaf received-nack { + type yang:counter64; + description + "The number of NACK RESV messages received in the context."; + } + + leaf transmit-failure { + type yang:counter64; + description + "The total number of packets dropped on transmit in the context."; + } + + leaf transmit-queue-full { + type yang:counter64; + description + "The number of packets dropped due to the transmit queue being + full in the context."; + } + + leaf unknown-ack { + type yang:counter64; + description + "The number of packets received containing an ACK for an unknown + message ID in the context."; + } + + leaf unknown-nack { + type yang:counter64; + description + "The number of packets received containing a NACK for an unknown + message ID in the context."; + } + } + + + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-mpls-sr.yang b/vendor/cisco/xr/755/openconfig-mpls-sr.yang new file mode 100644 index 000000000..71c944154 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls-sr.yang @@ -0,0 +1,149 @@ +module openconfig-mpls-sr { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/mpls-sr"; + + prefix "oc-mpls-sr"; + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Configuration for MPLS with segment routing-based LSPs, + including global parameters, and LSP-specific configuration for + both constrained-path and IGP-congruent LSPs"; + + oc-ext:openconfig-version "3.0.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-07-02" { + description + "Add new RSVP-TE statistics, remove associated-rsvp-session + leaf. Remove use of date-and-time."; + reference "3.0.0"; + } + + revision "2018-06-16" { + description + "Included attributes for base LDP configuration."; + reference "2.6.0"; + } + + revision "2018-06-13" { + description + "Add ttl-propagation to global MPLS config"; + reference "2.5.0"; + } + + revision "2018-06-05" { + description + "Fixed bugs in when statements on RSVP-TE attributes"; + reference "2.4.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "2.4.1"; + } + + revision "2017-06-21" { + description + "Add TC bits typedef."; + reference "2.4.0"; + } + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping sr-path-attributes-config { + description + "Configuration parameters relating to SR-TE LSPs"; + + leaf sid-selection-mode { + type enumeration { + enum ADJ_SID_ONLY { + description + "The SR-TE tunnel should only use adjacency SIDs + to build the SID stack to be pushed for the LSP"; + } + enum MIXED_MODE { + description + "The SR-TE tunnel can use a mix of adjacency + and prefix SIDs to build the SID stack to be pushed + to the LSP"; + } + } + default MIXED_MODE; + description + "The restrictions placed on the SIDs to be selected by the + calculation method for the explicit path when it is + instantiated for a SR-TE LSP"; + } + + leaf sid-protection-required { + type boolean; + default "false"; + description + "When this value is set to true, only SIDs that are + protected are to be selected by the calculating method + when the explicit path is instantiated by a SR-TE LSP."; + } + } + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-mpls-static.yang b/vendor/cisco/xr/755/openconfig-mpls-static.yang new file mode 100644 index 000000000..3e3afe4b5 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls-static.yang @@ -0,0 +1,342 @@ +submodule openconfig-mpls-static { + + yang-version "1"; + + belongs-to "openconfig-mpls" { + prefix "mpls"; + } + + // import some basic types + import openconfig-mpls-types {prefix oc-mplst; } + import openconfig-inet-types { prefix inet; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Defines static LSP configuration"; + + + oc-ext:openconfig-version "3.2.2"; + + revision "2021-07-28" { + description + "Add prefix to qualify when statements."; + reference "3.2.2"; + } + + revision "2021-06-16" { + description + "Remove trailing whitespace"; + reference "3.2.1"; + } + + revision "2021-03-24" { + description + "Add Metric bounds constraints for LSPs."; + reference "3.2.0"; + } + + revision "2019-03-26" { + description + "Add Pseudowire encapsulation."; + reference "3.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-07-02" { + description + "Add new RSVP-TE statistics, remove associated-rsvp-session + leaf. Remove use of date-and-time."; + reference "3.0.0"; + } + + revision "2018-06-16" { + description + "Included attributes for base LDP configuration."; + reference "2.6.0"; + } + + revision "2018-06-13" { + description + "Add ttl-propagation to global MPLS config"; + reference "2.5.0"; + } + + revision "2018-06-05" { + description + "Fixed bugs in when statements on RSVP-TE attributes"; + reference "2.4.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "2.4.1"; + } + + revision "2017-06-21" { + description + "Add TC bits typedef."; + reference "2.4.0"; + } + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // grouping statements + + grouping static-lsp-common-config { + description + "common definitions for static LSPs"; + + leaf next-hop { + type inet:ip-address; + description + "next hop IP address for the LSP"; + } + + leaf incoming-label { + type oc-mplst:mpls-label; + description + "label value on the incoming packet"; + } + + leaf push-label { + type oc-mplst:mpls-label; + description + "label value to push at the current hop for the + LSP"; + } + } + + grouping static-lsp-ingress-config { + description + "Configuration data for ingress LSPs"; + + uses static-lsp-common-config; + } + + grouping static-lsp-ingress-state { + description + "Operational state data for ingress LSPs"; + } + + grouping static-lsp-ingress-top { + description + "Top-level grouping for ingress LSP data"; + + container ingress { + description + "Static LSPs for which the router is an + ingress node"; + + container config { + description + "Configuration data for ingress LSPs"; + + uses static-lsp-ingress-config; + } + + container state { + + config false; + + description + "Operational state data for ingress LSPs"; + + uses static-lsp-ingress-config; + uses static-lsp-ingress-state; + } + } + } + + grouping static-lsp-transit-config { + description + "Configuration data for transit LSPs"; + + uses static-lsp-common-config; + } + + grouping static-lsp-transit-state { + description + "Operational state data for transit LSPs"; + } + + grouping static-lsp-transit-top { + description + "Top-level grouping for transit LSP data"; + + container transit { + description + "Static LSPs for which the router is an + transit node"; + + container config { + description + "Configuration data for transit LSPs"; + + uses static-lsp-transit-config; + } + + container state { + + config false; + + description + "Operational state data for transit LSPs"; + + uses static-lsp-transit-config; + uses static-lsp-transit-state; + } + } + } + + grouping static-lsp-egress-config { + description + "Configuration data for egress LSPs"; + + uses static-lsp-common-config; + } + + grouping static-lsp-egress-state { + description + "Operational state data for egress LSPs"; + } + + grouping static-lsp-egress-top { + description + "Top-level grouping for egress LSP data"; + + container egress { + description + "Static LSPs for which the router is an + egress node"; + + container config { + description + "Configuration data for egress LSPs"; + + uses static-lsp-egress-config; + } + + container state { + + config false; + + description + "Operational state data for egress LSPs"; + + uses static-lsp-egress-config; + uses static-lsp-egress-state; + } + } + } + + grouping static-lsp-config { + description + "Configuration data for static LSPs"; + + leaf name { + type string; + description + "name to identify the LSP"; + } + } + + grouping static-lsp-state { + description + "Operational state data for static LSPs"; + + } + + grouping static-lsp-top { + description + "grouping for top level list of static LSPs"; + + + list static-lsp { + key "name"; + description + "list of defined static LSPs"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference the name list key"; + } + + container config { + description + "Configuration data for the static lsp"; + + uses static-lsp-config; + } + + container state { + config false; + + description + "Operational state data for the static lsp"; + + uses static-lsp-config; + uses static-lsp-state; + + } + + // TODO: separation into ingress, transit, egress may help + // to figure out what exactly is configured, but need to + // consider whether implementations can support the + // separation + uses static-lsp-ingress-top; + uses static-lsp-transit-top; + uses static-lsp-egress-top; + } + } + + // data definition statements + + // augment statements + + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-mpls-te.yang b/vendor/cisco/xr/755/openconfig-mpls-te.yang new file mode 100644 index 000000000..cf37aeda2 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls-te.yang @@ -0,0 +1,1386 @@ +submodule openconfig-mpls-te { + + yang-version "1"; + + belongs-to "openconfig-mpls" { + prefix "oc-mpls"; + } + + + // import some basic types + import openconfig-inet-types { prefix inet; } + import openconfig-mpls-rsvp { prefix oc-rsvp; } + import openconfig-mpls-sr { prefix oc-sr; } + import openconfig-mpls-types {prefix oc-mplst; } + import openconfig-types { prefix oc-types; } + import openconfig-yang-types { prefix yang; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Configuration related to constrained-path LSPs and traffic + engineering. These definitions are not specific to a particular + signaling protocol or mechanism (see related submodules for + signaling protocol-specific configuration)."; + + oc-ext:openconfig-version "3.0.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-07-02" { + description + "Add new RSVP-TE statistics, remove associated-rsvp-session + leaf. Remove use of date-and-time."; + reference "3.0.0"; + } + + revision "2018-06-16" { + description + "Included attributes for base LDP configuration."; + reference "2.6.0"; + } + + revision "2018-06-13" { + description + "Add ttl-propagation to global MPLS config"; + reference "2.5.0"; + } + + revision "2018-06-05" { + description + "Fixed bugs in when statements on RSVP-TE attributes"; + reference "2.4.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "2.4.1"; + } + + revision "2017-06-21" { + description + "Add TC bits typedef."; + reference "2.4.0"; + } + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // typedef statements + + typedef te-bandwidth-type { + type enumeration { + enum SPECIFIED { + description + "Bandwidth is explicitly specified"; + } + enum AUTO { + description + "Bandwidth is automatically computed"; + } + } + description + "enumerated type for specifying whether bandwidth is + explicitly specified or automatically computed"; + } + + typedef mpls-srlg-flooding-type { + type enumeration { + enum FLOODED_SRLG { + description + "SRLG is flooded in the IGP"; + } + enum STATIC_SRLG { + description + "SRLG is not flooded, the members are + statically configured"; + } + } + description + "Enumerated bype for specifying how the SRLG is flooded"; + } + + typedef mpls-hop-type { + type enumeration { + enum LOOSE { + description + "loose hop in an explicit path"; + } + enum STRICT { + description + "strict hop in an explicit path"; + } + } + description + "enumerated type for specifying loose or strict + paths"; + } + + typedef te-metric-type { + type union { + type enumeration { + enum IGP { + description + "set the LSP metric to track the underlying + IGP metric"; + } + } + type uint32; + } + description + "union type for setting the LSP TE metric to a + static value, or to track the IGP metric"; + } + + typedef cspf-tie-breaking { + type enumeration { + enum RANDOM { + description + "CSPF calculation selects a random path among + multiple equal-cost paths to the destination"; + } + enum LEAST_FILL { + description + "CSPF calculation selects the path with greatest + available bandwidth"; + } + enum MOST_FILL { + description + "CSPF calculation selects the path with the least + available bandwidth"; + } + } + default RANDOM; + description + "type to indicate the CSPF selection policy when + multiple equal cost paths are available"; + } + + + // grouping statements + + grouping te-tunnel-reoptimize-config { + description + "Definition for reoptimize timer configuration"; + + leaf reoptimize-timer { + type uint16; + units seconds; + description + "frequency of reoptimization of + a traffic engineered LSP"; + } + } + + grouping te-lsp-auto-bandwidth-config { + description + "Configuration parameters related to autobandwidth"; + + leaf enabled { + type boolean; + default false; + description + "enables mpls auto-bandwidth on the + lsp"; + } + + leaf min-bw { + type oc-mplst:bandwidth-kbps; + description + "set the minimum bandwidth in Kbps for an + auto-bandwidth LSP"; + } + + leaf max-bw { + type oc-mplst:bandwidth-kbps; + description + "set the maximum bandwidth in Kbps for an + auto-bandwidth LSP"; + } + + leaf adjust-interval { + type uint32; + description + "time in seconds between adjustments to + LSP bandwidth"; + } + + leaf adjust-threshold { + type oc-types:percentage; + description + "percentage difference between the LSP's + specified bandwidth and its current bandwidth + allocation -- if the difference is greater than the + specified percentage, auto-bandwidth adjustment is + triggered"; + } + } + + grouping te-lsp-auto-bandwidth-state { + description + "Operational state parameters relating to auto-bandwidth"; + + leaf interval-high-bw { + type oc-mplst:bandwidth-kbps; + description + "The maximum measured bandwidth during the current + auto-bandwidth adjust interval expressed in kilobits + per second."; + } + } + + grouping te-lsp-overflow-config { + description + "configuration for mpls lsp bandwidth + overflow adjustment"; + + leaf enabled { + type boolean; + default false; + description + "enables mpls lsp bandwidth overflow + adjustment on the lsp"; + } + + leaf overflow-threshold { + type oc-types:percentage; + description + "bandwidth percentage change to trigger + an overflow event"; + + } + + leaf trigger-event-count { + type uint16; + description + "number of consecutive overflow sample + events needed to trigger an overflow adjustment"; + } + } + + grouping te-lsp-underflow-config { + description + "configuration for mpls lsp bandwidth + underflow adjustment"; + + leaf enabled { + type boolean; + default false; + description + "enables bandwidth underflow + adjustment on the lsp"; + } + + leaf underflow-threshold { + type oc-types:percentage; + description + "bandwidth percentage change to trigger + and underflow event"; + } + + leaf trigger-event-count { + type uint16; + description + "number of consecutive underflow sample + events needed to trigger an underflow adjustment"; + } + } + + grouping te-path-placement-constraints-config { + description + "Configuration data for link affinities"; + + leaf-list exclude-group { + type leafref { + path "../../../../../../../../../../te-global-attributes" + + "/mpls-admin-groups/admin-group/admin-group-name"; + } + description + "list of references to named admin-groups to exclude in + path calculation."; + } + + leaf-list include-all-group { + type leafref { + path "../../../../../../../../../../te-global-attributes" + + "/mpls-admin-groups/admin-group/admin-group-name"; + } + description + "list of references to named admin-groups of which all must + be included"; + } + + leaf-list include-any-group { + type leafref { + path "../../../../../../../../../../te-global-attributes" + + "/mpls-admin-groups/admin-group/admin-group-name"; + } + description + "list of references to named admin-groups of which one must + be included"; + } + } + + grouping te-path-placement-constraints-state { + description + "Operational state data for link affinities"; + //TODO: currently a placeholder + } + + grouping te-path-placement-constraints-top { + description + "Top-level grouping "; + + container admin-groups { + description + "Top-level container for include/exclude constraints for + link affinities"; + + container config { + description + "Configuration data "; + + uses te-path-placement-constraints-config; + } + + container state { + config false; + + description + "Operational state data "; + + uses te-path-placement-constraints-config; + uses te-path-placement-constraints-state; + } + } + } + + grouping te-tunnel-protection-config { + description + "Configuration parameters related to LSP + protection"; + leaf protection-style-requested { + type identityref { + base oc-mplst:PROTECTION_TYPE; + } + default oc-mplst:UNPROTECTED; + description + "style of mpls frr protection desired: can be + link, link-node or unprotected."; + } + } + + grouping explicit-route-subobject-config { + description + "The explicit route subobject grouping"; + + leaf address { + type inet:ip-address; + description + "router hop for the LSP path"; + } + + leaf hop-type { + type mpls-hop-type; + description + "strict or loose hop"; + } + + leaf index { + type uint8 { + range "0..255"; + } + description + "Index of this explicit route object to express + the order of hops in the path"; + } + + } + + grouping named-explicit-path-config { + description + "Configuration parameters relating to a named + explicit path"; + + leaf name { + type string; + description + "A string name that uniquely identifies an explicit + path"; + } + } + + // Explicit paths config somewhat following the IETF model + grouping explicit-paths-top { + description + "Top level global explicit path configuration + grouping"; + + container named-explicit-paths { + description + "Enclosing container for the named explicit paths"; + list named-explicit-path { + key "name"; + description + "A list of explicit paths"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "A string name that uniquely identifies + an explicit path"; + } + + container config { + description + "Configuration parameters relating to named explicit + paths"; + uses named-explicit-path-config; + uses oc-sr:sr-path-attributes-config; + } + + container state { + config false; + description + "Operational state parameters relating to the named + explicit paths"; + uses named-explicit-path-config; + uses oc-sr:sr-path-attributes-config; + } + + container explicit-route-objects { + description + "Enclosing container for EROs"; + + list explicit-route-object { + key "index"; + description + "List of explicit route objects"; + + leaf index { + type leafref { + path "../config/index"; + } + + description + "Index of this explicit route object, + to express the order of hops in path"; + } + + container config { + description + "Configuration parameters relating to an explicit + route"; + uses explicit-route-subobject-config; + } + + + container state { + config false; + description + "State parameters relating to an explicit route"; + uses explicit-route-subobject-config; + } + } + } + } + } + } + + grouping mpls-te-srlg-config { + description + "Configuration of various attributes associated + with the SRLG"; + + leaf name { + type string; + description + "SRLG group identifier"; + } + + leaf value { + type uint32; + description + "group ID for the SRLG"; + } + + leaf cost { + type uint32; + description + "The cost of the SRLG to the computation + algorithm"; + } + + leaf flooding-type { + type mpls-srlg-flooding-type; + default FLOODED_SRLG; + description + "The type of SRLG, either flooded in the IGP or + statically configured"; + } + } + + grouping mpls-te-srlg-members-config { + description + "Configuration of the membership of the SRLG"; + + leaf from-address { + type inet:ip-address; + description + "IP address of the a-side of the SRLG link"; + } + + leaf to-address { + type inet:ip-address; + description + "IP address of the z-side of the SRLG link"; + } + } + + grouping mpls-te-srlg-top { + description + "Top level grouping for MPLS shared + risk link groups."; + + container srlgs { + description + "Shared risk link groups attributes"; + list srlg { + key "name"; + description + "List of shared risk link groups"; + + leaf name { + type leafref { + path "../config/name"; + // Requires YANG 1.1 + //require-instance true; + } + description + "The SRLG group identifier"; + } + + container config { + description + "Configuration parameters related to the SRLG"; + uses mpls-te-srlg-config; + } + + container state { + config false; + description + "State parameters related to the SRLG"; + uses mpls-te-srlg-config; + } + + container static-srlg-members { + when "../config/flooding-type = 'STATIC_SRLG'" { + description + "Include this container for static + SRLG specific configuration"; + } + description + "SRLG members for static (not flooded) SRLGs "; + + list members-list { + key "from-address"; + description + "List of SRLG members, which are expressed + as IP address endpoints of links contained in the + SRLG"; + + leaf from-address { + type leafref { + path "../config/from-address"; + // Requires YANG 1.1 + //require-instance true; + } + description + "The from address of the link in the SRLG"; + } + + container config { + description + "Configuration parameters relating to the + SRLG members"; + uses mpls-te-srlg-members-config; + } + + container state { + config false; + description + "State parameters relating to the SRLG + members"; + uses mpls-te-srlg-members-config; + } + } + } + } + } + } + + grouping te-global-tunnel-config { + description + "Configuration parameters relevant to a single + traffic engineered tunnel."; + + leaf name { + type string; + description + "The tunnel name"; + } + + leaf type { + type identityref { + base oc-mplst:TUNNEL_TYPE; + } + description + "Tunnel type, p2p or p2mp"; + } + + leaf signaling-protocol { + type identityref { + base oc-mplst:PATH_SETUP_PROTOCOL; + } + description + "Signaling protocol used to set up this tunnel"; + } + + leaf description { + type string; + description + "optional text description for the tunnel"; + } + + leaf admin-status { + type identityref { + base oc-mplst:TUNNEL_ADMIN_STATUS; + } + default oc-mplst:ADMIN_UP; + description + "TE tunnel administrative state."; + } + + leaf preference { + type uint8 { + range "1..255"; + } + description + "Specifies a preference for this tunnel. + A lower number signifies a better preference"; + } + + leaf metric-type { + type identityref { + base oc-mplst:LSP_METRIC_TYPE; + } + default oc-mplst:LSP_METRIC_INHERITED; + description + "The type of metric specification that should be used to set + the LSP(s) metric"; + } + + leaf metric { + type int32; + description + "The value of the metric that should be specified. The value + supplied in this leaf is used in conjunction with the metric + type to determine the value of the metric used by the system. + Where the metric-type is set to LSP_METRIC_ABSOLUTE - the + value of this leaf is used directly; where it is set to + LSP_METRIC_RELATIVE, the relevant (positive or negative) + offset is used to formulate the metric; where metric-type + is LSP_METRIC_INHERITED, the value of this leaf is not + utilised"; + } + + leaf shortcut-eligible { + type boolean; + default "true"; + description + "Whether this LSP is considered to be eligible for us as a + shortcut in the IGP. In the case that this leaf is set to + true, the IGP SPF calculation uses the metric specified to + determine whether traffic should be carried over this LSP"; + } + + leaf protection-style-requested { + type identityref { + base oc-mplst:PROTECTION_TYPE; + } + default oc-mplst:UNPROTECTED; + description + "style of mpls frr protection desired: can be + link, link-node or unprotected."; + } + + uses te-tunnel-reoptimize-config; + uses oc-rsvp:rsvp-p2p-tunnel-attributes-config; + + } + + grouping tunnel-p2p-attributes-config { + description + "Configuration related to p2p LSPs"; + leaf destination { + type inet:ip-address; + description + "P2P tunnel destination address"; + } + } + + grouping p2p-path-state { + description + "Operational state parameters for p2p paths"; + + leaf-list associated-rsvp-sessions { + type leafref { + path "../../../../../../../../../signaling-protocols/" + + "rsvp-te/sessions/session/local-index"; + } + description + "If the signalling protocol specified for this path is + RSVP-TE, this leaf-list provides a reference to the associated + sessions within the RSVP-TE protocol sessions list, such + that details of the signaling can be retrieved. More than + one session may exist during re-signalling such as + make-before-break."; + } + + leaf spf-metric { + type uint64; + description + "The IGP metric of the shortest path to the LSP destination. + This value is used to compare the current metric of the + constrained path to the shortest path that is available in + the network topology."; + } + + leaf cspf-metric { + type uint64; + description + "The IGP metric of the path currently used by the LSP. + This value is used to represent the metric of the path + used by the LSP following the execution of the CSPF + algorithm and signalling of the LSP."; + } + } + + grouping p2p-path-config { + description + "Configuration parameters for p2p paths"; + + leaf name { + type string; + description + "Path name"; + } + + leaf path-computation-method { + type identityref { + base oc-mplst:PATH_COMPUTATION_METHOD; + } + default oc-mplst:LOCALLY_COMPUTED; + description + "The method used for computing the path, either + locally computed, queried from a server or not + computed at all (explicitly configured)."; + } + + leaf use-cspf { + when "../path-computation-method = 'LOCALLY_COMPUTED'" { + description + "The use of cspf when the path-computation method is + local computation"; + } + type boolean; + description + "Flag to enable CSPF for locally computed LSPs"; + } + + leaf cspf-tiebreaker { + when "../path-computation-method = 'LOCALLY_COMPUTED'" { + description + "The cspf tiebreaking method when the path is + locally computed"; + } + type cspf-tie-breaking; + description + "Determine the tie-breaking method to choose between + equally desirable paths during CSFP computation"; + } + + + leaf path-computation-server { + when "../path-computation-method = 'EXTERNALLY_QUERIED'" { + description + "The path-computation server when the path is + externally queried"; + } + type inet:ip-address; + description + "Address of the external path computation + server"; + } + + leaf explicit-path-name { + when "../path-computation-method = 'EXPLICITLY_DEFINED'" { + description + "The name of the explicitly defined path used"; + } + + type leafref { + path "../../../../../../../" + + "named-explicit-paths/named-explicit-path/" + + "config/name"; + // Requires YANG 1.1 + //require-instance true; + } + description + "reference to a defined path"; + } + + leaf preference { + type uint8 { + range "1..255"; + } + description + "Specifies a preference for this path. The lower the + number higher the preference"; + } + + uses oc-rsvp:rsvp-p2p-path-attributes-config; + } + + + grouping te-tunnel-p2p-top { + description + "Top level grouping for p2p configuration"; + + container p2p-tunnel-attributes { + when "../config/type = 'P2P'" { + description + "Include this container for LSPs of type P2P"; + } + description + "Parameters related to LSPs of type P2P"; + + container config { + description + "Configuration parameters for P2P LSPs"; + uses tunnel-p2p-attributes-config; + } + + container state { + config false; + description + "State parameters for P2P LSPs"; + uses tunnel-p2p-attributes-config; + } + + uses p2p-primary-paths-top; + uses p2p-secondary-paths-top; + } + } + + + grouping te-tunnel-state { + description + "Counters and statistical data relevent to a single + tunnel."; + + leaf oper-status { + type identityref { + base oc-mplst:LSP_OPER_STATUS; + } + description + "The operational status of the TE tunnel"; + } + + leaf role { + type identityref { + base oc-mplst:LSP_ROLE; + } + description + "The lsp role at the current node, whether it is headend, + transit or tailend."; + } + + leaf auto-generated { + type boolean; + description + "If the LSP was auto-generated by the system this leaf + should be set to true. Examples of auto-generated LSPs + are dynamically created backup LSPs to meet a FRR + policy."; + } + + container counters { + description + "State data for MPLS label switched paths. This state + data is specific to a single label switched path."; + + leaf bytes { + type yang:counter64; + description + "Number of bytes that have been forwarded over the + label switched path."; + } + + leaf packets { + type yang:counter64; + description + "Number of pacets that have been forwarded over the + label switched path."; + } + + leaf path-changes { + type yang:counter64; + description + "Number of path changes for the label switched path"; + } + + leaf state-changes { + type yang:counter64; + description + "Number of state changes for the label switched path"; + } + + leaf online-time { + type oc-types:timeticks64; + description + "Indication of the time the label switched path + transitioned to an Oper Up or in-service state. + + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + + leaf current-path-time { + type oc-types:timeticks64; + description + "Indicates the time the LSP switched onto its + current path. The value is reset upon a LSP path + change. + + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + + } + + leaf next-reoptimization-time { + type oc-types:timeticks64; + description + "Indicates the next scheduled time the LSP + will be reoptimized. + + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + + } + } + } + + grouping te-tunnel-bandwidth-config { + description + "Configuration parameters related to bandwidth for a tunnel"; + + leaf specification-type { + type te-bandwidth-type; + default SPECIFIED; + description + "The method used for settign the bandwidth, either explicitly + specified or configured"; + } + + leaf set-bandwidth { + when "../specification-type = 'SPECIFIED'" { + description + "The bandwidth value when bandwidth is explicitly + specified"; + } + type oc-mplst:bandwidth-kbps; + description + "set bandwidth explicitly, e.g., using + offline calculation"; + } + } + + grouping te-tunnel-bandwidth-state { + description + "Operational state parameters relating to bandwidth for a tunnel"; + + leaf signaled-bandwidth { + type oc-mplst:bandwidth-kbps; + description + "The currently signaled bandwidth of the LSP. In the case where + the bandwidth is specified explicitly, then this will match the + value of the set-bandwidth leaf; in cases where the bandwidth is + dynamically computed by the system, the current value of the + bandwidth should be reflected."; + } + } + + grouping te-tunnel-bandwidth-top { + description + "Top level grouping for specifying bandwidth for a tunnel"; + + container bandwidth { + description + "Bandwidth configuration for TE LSPs"; + + container config { + description + "Configuration parameters related to bandwidth on TE + tunnels:"; + uses te-tunnel-bandwidth-config; + } + + container state { + config false; + description + "State parameters related to bandwidth + configuration of TE tunnels"; + uses te-tunnel-bandwidth-config; + uses te-tunnel-bandwidth-state; + } + + container auto-bandwidth { + when "../config/specification-type = 'AUTO'" { + description + "Include this container for auto bandwidth + specific configuration"; + } + description + "Parameters related to auto-bandwidth"; + + container config { + description + "Configuration parameters relating to MPLS + auto-bandwidth on the tunnel."; + uses te-lsp-auto-bandwidth-config; + } + + container state { + config false; + description + "State parameters relating to MPLS + auto-bandwidth on the tunnel."; + uses te-lsp-auto-bandwidth-config; + uses te-lsp-auto-bandwidth-state; + } + + container overflow { + description + "configuration of MPLS overflow bandwidth + adjustement for the LSP"; + + container config { + description + "Config information for MPLS overflow bandwidth + adjustment"; + uses te-lsp-overflow-config; + } + + container state { + config false; + description + "Config information for MPLS overflow bandwidth + adjustment"; + uses te-lsp-overflow-config; + } + } + + container underflow { + description + "configuration of MPLS underflow bandwidth + adjustement for the LSP"; + + container config { + description + "Config information for MPLS underflow bandwidth + adjustment"; + uses te-lsp-underflow-config; + } + + container state { + config false; + description + "State information for MPLS underflow bandwidth + adjustment"; + uses te-lsp-underflow-config; + } + } + } + } + } + + grouping p2p-path-candidate-secondary-path-config { + description + "Configuration parameters relating to a secondary path which + is a candidate for a particular primary path"; + + leaf secondary-path { + type leafref { + path "../../../../../../p2p-secondary-paths/" + + "p2p-secondary-path/config/name"; + } + description + "A reference to the secondary path that should be utilised + when the containing primary path option is in use"; + } + + leaf priority { + type uint16; + description + "The priority of the specified secondary path option. Higher + priority options are less preferable - such that a secondary + path reference with a priority of 0 is the most preferred"; + } + } + + grouping p2p-path-candidate-secondary-path-state { + description + "Operational state parameters relating to a secondary path + which is a candidate for a particular primary path"; + + leaf active { + type boolean; + description + "Indicates the current active path option that has + been selected of the candidate secondary paths"; + } + } + + grouping p2p-primary-paths-top { + description + "Top level grouping for p2p primary paths"; + + container p2p-primary-path { + description + "Primary paths associated with the LSP"; + + list p2p-primary-path { + key "name"; + description + "List of p2p primary paths for a tunnel"; + + leaf name { + type leafref { + path "../config/name"; + // Requires YANG 1.1 + //require-instance true; + } + description + "Path name"; + } + + container config { + description + "Configuration parameters related to paths"; + uses p2p-path-config; + } + + container state { + config false; + description + "State parameters related to paths"; + uses p2p-path-config; + uses p2p-path-state; + } + + container candidate-secondary-paths { + description + "The set of candidate secondary paths which may be used + for this primary path. When secondary paths are specified + in the list the path of the secondary LSP in use must be + restricted to those path options referenced. The + priority of the secondary paths is specified within the + list. Higher priority values are less preferred - that is + to say that a path with priority 0 is the most preferred + path. In the case that the list is empty, any secondary + path option may be utilised when the current primary path + is in use."; + + list candidate-secondary-path { + key "secondary-path"; + + description + "List of secondary paths which may be utilised when the + current primary path is in use"; + + leaf secondary-path { + type leafref { + path "../config/secondary-path"; + } + description + "A reference to the secondary path option reference + which acts as the key of the candidate-secondary-path + list"; + } + + container config { + description + "Configuration parameters relating to the candidate + secondary path"; + + uses p2p-path-candidate-secondary-path-config; + } + + container state { + config false; + description + "Operational state parameters relating to the candidate + secondary path"; + + uses p2p-path-candidate-secondary-path-config; + uses p2p-path-candidate-secondary-path-state; + } + } + } + + uses te-path-placement-constraints-top; + + } + } + } + + grouping p2p-secondary-paths-top { + description + "Top level grouping for p2p secondary paths"; + + container p2p-secondary-paths { + description + "Secondary paths for the LSP"; + + list p2p-secondary-path { + key "name"; + description + "List of p2p primary paths for a tunnel"; + + leaf name { + type leafref { + path "../config/name"; + // Requires YANG 1.1 + //require-instance true; + } + description + "Path name"; + } + + container config { + description + "Configuration parameters related to paths"; + uses p2p-path-config; + } + + container state { + config false; + description + "State parameters related to paths"; + uses p2p-path-config; + uses p2p-path-state; + } + + uses te-path-placement-constraints-top; + } + } + } + + grouping te-tunnels-top { + description + "Top level grouping for TE tunnels"; + + container tunnels { + description + "Enclosing container for tunnels"; + list tunnel { + key "name"; + description + "List of TE tunnels. This list contains only the LSPs that the + current device originates (i.e., for which it is the head-end). + Where the signaling protocol utilised for an LSP allows a mid-point + or tail device to be aware of the LSP (e.g., RSVP-TE), then the + associated sessions are maintained per protocol"; + + leaf name { + type leafref { + path "../config/name"; + // Requires YANG 1.1 + //require-instance true; + } + description + "The tunnel name"; + } + + container config { + description + "Configuration parameters related to TE tunnels:"; + uses te-global-tunnel-config; + } + + container state { + config false; + description + "State parameters related to TE tunnels"; + uses te-global-tunnel-config; + uses te-tunnel-state; + + } + + uses te-tunnel-bandwidth-top; + uses te-tunnel-p2p-top; + // TODO - add the p2mp configuration + } + } + } + +// data definition statements + +// augment statements + +// rpc statements + +// notification statements + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-mpls-types.yang b/vendor/cisco/xr/755/openconfig-mpls-types.yang new file mode 100644 index 000000000..6696afaeb --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls-types.yang @@ -0,0 +1,465 @@ +module openconfig-mpls-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/mpls-types"; + + prefix "oc-mplst"; + + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "General types for MPLS / TE data model"; + + oc-ext:openconfig-version "3.2.0"; + + revision "2020-02-04" { + description + "Consistent prefix for openconfig-mpls-types."; + reference "3.2.0"; + } + + revision "2019-03-26" { + description + "Add Pseudowire encapsulation."; + reference "3.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-07-02" { + description + "Add new RSVP-TE statistics, remove associated-rsvp-session + leaf. Remove use of date-and-time."; + reference "3.0.0"; + } + + revision "2018-06-16" { + description + "Included attributes for base LDP configuration."; + reference "2.6.0"; + } + + revision "2018-06-13" { + description + "Add ttl-propagation to global MPLS config"; + reference "2.5.0"; + } + + revision "2018-06-05" { + description + "Fixed bugs in when statements on RSVP-TE attributes"; + reference "2.4.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "2.4.1"; + } + + revision "2017-06-21" { + description + "Add TC bits typedef."; + reference "2.4.0"; + } + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // identity statements + + identity PATH_COMPUTATION_METHOD { + description + "base identity for supported path computation + mechanisms"; + } + + identity LOCALLY_COMPUTED { + base PATH_COMPUTATION_METHOD; + description + "indicates a constrained-path LSP in which the + path is computed by the local LER"; + } + + identity EXTERNALLY_QUERIED { + base PATH_COMPUTATION_METHOD; + description + "Constrained-path LSP in which the path is + obtained by querying an external source, such as a PCE server. + In the case that an LSP is defined to be externally queried, it may + also have associated explicit definitions (which are provided to the + external source to aid computation); and the path that is returned by + the external source is not required to provide a wholly resolved + path back to the originating system - that is to say, some local + computation may also be required"; + } + + identity EXPLICITLY_DEFINED { + base PATH_COMPUTATION_METHOD; + description + "constrained-path LSP in which the path is + explicitly specified as a collection of strict or/and loose + hops"; + } + + + // using identities rather than enum types to simplify adding new + // signaling protocols as they are introduced and supported + identity PATH_SETUP_PROTOCOL { + description + "base identity for supported MPLS signaling + protocols"; + } + + identity PATH_SETUP_RSVP { + base PATH_SETUP_PROTOCOL; + description + "RSVP-TE signaling protocol"; + } + + identity PATH_SETUP_SR { + base PATH_SETUP_PROTOCOL; + description + "Segment routing"; + } + + identity PATH_SETUP_LDP { + base PATH_SETUP_PROTOCOL; + description + "LDP - RFC 5036"; + } + + + identity PROTECTION_TYPE { + description + "base identity for protection type"; + } + + identity UNPROTECTED { + base PROTECTION_TYPE; + description + "no protection is desired"; + } + + identity LINK_PROTECTION_REQUIRED { + base PROTECTION_TYPE; + description + "link protection is desired"; + } + + identity LINK_NODE_PROTECTION_REQUESTED { + base PROTECTION_TYPE; + description + "node and link protection are both desired"; + } + + identity LSP_ROLE { + description + "Base identity for describing the role of + label switched path at the current node"; + } + + identity INGRESS { + base LSP_ROLE; + description + "Label switched path is an ingress (headend) + LSP"; + } + + identity EGRESS { + base LSP_ROLE; + description + "Label switched path is an egress (tailend) + LSP"; + } + + identity TRANSIT { + base LSP_ROLE; + description + "Label switched path is a transit LSP"; + } + + + identity TUNNEL_TYPE { + description + "Base identity from which specific tunnel types are + derived."; + } + + identity P2P { + base TUNNEL_TYPE; + description + "TE point-to-point tunnel type."; + } + + identity P2MP { + base TUNNEL_TYPE; + description + "TE point-to-multipoint tunnel type."; + } + + + identity LSP_OPER_STATUS { + description + "Base identity for LSP operational status"; + } + + identity DOWN { + base LSP_OPER_STATUS; + description + "LSP is operationally down or out of service"; + } + + identity UP { + base LSP_OPER_STATUS; + description + "LSP is operationally active and available + for traffic."; + } + + identity TUNNEL_ADMIN_STATUS { + description + "Base identity for tunnel administrative status"; + } + + identity ADMIN_DOWN { + base TUNNEL_ADMIN_STATUS; + description + "LSP is administratively down"; + } + + identity ADMIN_UP { + base TUNNEL_ADMIN_STATUS; + description + "LSP is administratively up"; + } + + identity NULL_LABEL_TYPE { + description + "Base identity from which specific null-label types are + derived."; + } + + identity EXPLICIT { + base NULL_LABEL_TYPE; + description + "Explicit null label is used."; + } + + identity IMPLICIT { + base NULL_LABEL_TYPE; + description + "Implicit null label is used."; + } + + identity LSP_METRIC_TYPE { + description + "Base identity for types of LSP metric specification"; + } + + identity LSP_METRIC_RELATIVE { + base LSP_METRIC_TYPE; + description + "The metric specified for the LSPs to which this identity refers + is specified as a relative value to the IGP metric cost to the + LSP's tail-end."; + } + + identity LSP_METRIC_ABSOLUTE { + base LSP_METRIC_TYPE; + description + "The metric specified for the LSPs to which this identity refers + is specified as an absolute value"; + } + + identity LSP_METRIC_INHERITED { + base LSP_METRIC_TYPE; + description + "The metric for for the LSPs to which this identity refers is + not specified explicitly - but rather inherited from the IGP + cost directly"; + } + + // Note: The IANA PWE3 Types Registry has several more values than these + identity PSEUDOWIRE_ENCAPSULATION { + description + "Sets the PDU type of the PSEUDOWIRE Example in RFC4448. This value + should be enumerated from the IANA Pseudowire types registry"; + } + + identity PWE_ETHERNET_TAGGED_MODE { + base PSEUDOWIRE_ENCAPSULATION; + description + "Ethernet Tagged Mode RFC4448"; + reference "IANA PWE3 0x0004"; + } + + identity PWE_ETHERNET_RAW_MODE { + base PSEUDOWIRE_ENCAPSULATION; + description + "Ethernet Raw Mode RFC4448"; + reference "IANA PWE3 0x0005"; + } + + // typedef statements + typedef mpls-label { + type union { + type uint32 { + range 16..1048575; + } + type enumeration { + enum IPV4_EXPLICIT_NULL { + value 0; + description + "valid at the bottom of the label stack, + indicates that stack must be popped and packet forwarded + based on IPv4 header"; + } + enum ROUTER_ALERT { + value 1; + description + "allowed anywhere in the label stack except + the bottom, local router delivers packet to the local CPU + when this label is at the top of the stack"; + } + enum IPV6_EXPLICIT_NULL { + value 2; + description + "valid at the bottom of the label stack, + indicates that stack must be popped and packet forwarded + based on IPv6 header"; + } + enum IMPLICIT_NULL { + value 3; + description + "assigned by local LSR but not carried in + packets"; + } + enum ENTROPY_LABEL_INDICATOR { + value 7; + description + "Entropy label indicator, to allow an LSR + to distinguish between entropy label and applicaiton + labels RFC 6790"; + } + enum NO_LABEL { + description + "This value is utilised to indicate that the packet that + is forwarded by the local system does not have an MPLS + header applied to it. Typically, this is used at the + egress of an LSP"; + } + } + } + description + "type for MPLS label value encoding"; + reference "RFC 3032 - MPLS Label Stack Encoding"; + } + + typedef tunnel-type { + type enumeration { + enum P2P { + description + "point-to-point label-switched-path"; + } + enum P2MP { + description + "point-to-multipoint label-switched-path"; + } + enum MP2MP { + description + "multipoint-to-multipoint label-switched-path"; + } + } + description + "defines the tunnel type for the LSP"; + reference + "RFC 6388 - Label Distribution Protocol Extensions for + Point-to-Multipoint and Multipoint-to-Multipoint Label Switched + Paths + RFC 4875 - Extensions to Resource Reservation Protocol + - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE + Label Switched Paths (LSPs)"; + } + + typedef bandwidth-kbps { + type uint64; + units "Kbps"; + description + "Bandwidth values expressed in kilobits per second"; + } + + typedef bandwidth-mbps { + type uint64; + units "Mbps"; + description + "Bandwidth values expressed in megabits per second"; + } + + typedef bandwidth-gbps { + type uint64; + units "Gbps"; + description + "Bandwidth values expressed in gigabits per second"; + } + + typedef mpls-tc { + type uint8 { + range "0..7"; + } + description + "Values of the MPLS Traffic Class (formerly known as + Experimental, EXP) bits"; + } + + // grouping statements + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-mpls.yang b/vendor/cisco/xr/755/openconfig-mpls.yang new file mode 100644 index 000000000..5a3f23d31 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-mpls.yang @@ -0,0 +1,769 @@ +module openconfig-mpls { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/mpls"; + + prefix "oc-mpls"; + + + // import some basic types + import openconfig-mpls-types { prefix oc-mplst; } + import openconfig-mpls-rsvp { prefix oc-rsvp; } + import openconfig-mpls-ldp { prefix oc-ldp; } + import openconfig-types { prefix oc-types; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-segment-routing { prefix oc-sr; } + + // include submodules + include openconfig-mpls-te; + include openconfig-mpls-igp; + include openconfig-mpls-static; + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module provides data definitions for configuration of + Multiprotocol Label Switching (MPLS) and associated protocols for + signaling and traffic engineering. + + RFC 3031: Multiprotocol Label Switching Architecture + + The MPLS / TE data model consists of several modules and + submodules as shown below. The top-level MPLS module describes + the overall framework. Three types of LSPs are supported: + + i) traffic-engineered (or constrained-path) + + ii) IGP-congruent (LSPs that follow the IGP path) + + iii) static LSPs which are not signaled + + The structure of each of these LSP configurations is defined in + corresponding submodules. Companion modules define the relevant + configuration and operational data specific to key signaling + protocols used in operational practice. + + + +-------+ + +---------------->| MPLS |<--------------+ + | +-------+ | + | ^ | + | | | + +----+-----+ +--------+-------+ +-----+-----+ + | TE LSPs | | IGP-based LSPs | |static LSPs| + | | | | | | + +----------+ +----------------+ +-----------+ + ^ ^ ^ ^ + | +----------------+ | +--------+ + | | | | + | +------+ +-+---+-+ +--+--+ + +---+ RSVP | |SEGMENT| | LDP | + +------+ |ROUTING| +-----+ + +-------+ + "; + + oc-ext:openconfig-version "3.1.0"; + + revision "2019-03-26" { + description + "Add Pseudowire encapsulation."; + reference "3.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-07-02" { + description + "Add new RSVP-TE statistics, remove associated-rsvp-session + leaf. Remove use of date-and-time."; + reference "3.0.0"; + } + + revision "2018-06-16" { + description + "Included attributes for base LDP configuration."; + reference "2.6.0"; + } + + revision "2018-06-13" { + description + "Add ttl-propagation to global MPLS config"; + reference "2.5.0"; + } + + revision "2018-06-05" { + description + "Fixed bugs in when statements on RSVP-TE attributes"; + reference "2.4.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "2.4.1"; + } + + revision "2017-06-21" { + description + "Add TC bits typedef."; + reference "2.4.0"; + } + + revision "2017-03-22" { + description + "Add RSVP calculated-absolute-subscription-bw"; + reference "2.3.0"; + } + + revision "2017-01-26" { + description + "Add RSVP Tspec, clarify units for RSVP, remove unused LDP"; + reference "2.2.0"; + } + + revision "2016-12-15" { + description + "Add additional MPLS parameters"; + reference "2.1.0"; + } + + revision "2016-09-01" { + description + "Revisions based on implementation feedback"; + reference "2.0.0"; + } + + revision "2016-08-08" { + description + "Public release of MPLS models"; + reference "1.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + + grouping mpls-admin-group-config { + description + "configuration data for MPLS link admin groups"; + + leaf admin-group-name { + type string; + description + "name for mpls admin-group"; + } + + leaf bit-position { + type uint32; + description + "bit-position value for mpls admin-group. The value + for the admin group is an integer that represents one + of the bit positions in the admin-group bitmask. Values + between 0 and 31 are interpreted as the original limit + of 32 admin groups. Values >=32 are interpreted as + extended admin group values as per RFC7308."; + } + + } + + grouping mpls-admin-groups-top { + + description + "top-level mpls admin-groups config + and state containers"; + + container mpls-admin-groups { + description + "Top-level container for admin-groups configuration + and state"; + + list admin-group { + key "admin-group-name"; + description + "configuration of value to name mapping + for mpls affinities/admin-groups"; + + leaf admin-group-name { + type leafref { + path "../config/admin-group-name"; + } + description + "name for mpls admin-group"; + } + container config { + description + "Configurable items for admin-groups"; + uses mpls-admin-group-config; + } + + container state { + config false; + description + "Operational state for admin-groups"; + uses mpls-admin-group-config; + } + } + } + } + + grouping mpls-te-igp-flooding-bandwidth-config { + description + "Configurable items for igp flooding bandwidth + threshold configuration."; + leaf threshold-type { + type enumeration { + enum DELTA { + description + "DELTA indicates that the local + system should flood IGP updates when a + change in reserved bandwidth >= the specified + delta occurs on the interface."; + } + enum THRESHOLD_CROSSED { + description + "THRESHOLD-CROSSED indicates that + the local system should trigger an update (and + hence flood) the reserved bandwidth when the + reserved bandwidth changes such that it crosses, + or becomes equal to one of the threshold values."; + } + } + description + "The type of threshold that should be used to specify the + values at which bandwidth is flooded. DELTA indicates that + the local system should flood IGP updates when a change in + reserved bandwidth >= the specified delta occurs on the + interface. Where THRESHOLD_CROSSED is specified, the local + system should trigger an update (and hence flood) the + reserved bandwidth when the reserved bandwidth changes such + that it crosses, or becomes equal to one of the threshold + values"; + } + + leaf delta-percentage { + when "../threshold-type = 'DELTA'" { + description + "The percentage delta can only be specified when the + threshold type is specified to be a percentage delta of + the reserved bandwidth"; + } + type oc-types:percentage; + description + "The percentage of the maximum-reservable-bandwidth + considered as the delta that results in an IGP update + being flooded"; + } + + leaf threshold-specification { + when "../threshold-type = 'THRESHOLD_CROSSED'" { + description + "The selection of whether mirrored or separate threshold + values are to be used requires user specified thresholds to + be set"; + } + type enumeration { + enum MIRRORED_UP_DOWN { + description + "MIRRORED_UP_DOWN indicates that a single set of + threshold values should be used for both increasing + and decreasing bandwidth when determining whether + to trigger updated bandwidth values to be flooded + in the IGP TE extensions."; + } + enum SEPARATE_UP_DOWN { + description + "SEPARATE_UP_DOWN indicates that a separate + threshold values should be used for the increasing + and decreasing bandwidth when determining whether + to trigger updated bandwidth values to be flooded + in the IGP TE extensions."; + } + } + description + "This value specifies whether a single set of threshold + values should be used for both increasing and decreasing + bandwidth when determining whether to trigger updated + bandwidth values to be flooded in the IGP TE extensions. + MIRRORED-UP-DOWN indicates that a single value (or set of + values) should be used for both increasing and decreasing + values, where SEPARATE-UP-DOWN specifies that the increasing + and decreasing values will be separately specified"; + } + + leaf-list up-thresholds { + when "../threshold-type = 'THRESHOLD_CROSSED'" + + "and ../threshold-specification = 'SEPARATE_UP_DOWN'" { + description + "A list of up-thresholds can only be specified when the + bandwidth update is triggered based on crossing a + threshold and separate up and down thresholds are + required"; + } + type oc-types:percentage; + description + "The thresholds (expressed as a percentage of the maximum + reservable bandwidth) at which bandwidth updates are to be + triggered when the bandwidth is increasing."; + } + + leaf-list down-thresholds { + when "../threshold-type = 'THRESHOLD_CROSSED'" + + "and ../threshold-specification = 'SEPARATE_UP_DOWN'" { + description + "A list of down-thresholds can only be specified when the + bandwidth update is triggered based on crossing a + threshold and separate up and down thresholds are + required"; + } + type oc-types:percentage; + description + "The thresholds (expressed as a percentage of the maximum + reservable bandwidth) at which bandwidth updates are to be + triggered when the bandwidth is decreasing."; + } + + leaf-list up-down-thresholds { + when "../threshold-type = 'THRESHOLD_CROSSED'" + + "and ../threshold-specification = 'MIRRORED_UP_DOWN'" { + description + "A list of thresholds corresponding to both increasing + and decreasing bandwidths can be specified only when an + update is triggered based on crossing a threshold, and + the same up and down thresholds are required."; + } + type oc-types:percentage; + description + "The thresholds (expressed as a percentage of the maximum + reservable bandwidth of the interface) at which bandwidth + updates are flooded - used both when the bandwidth is + increasing and decreasing"; + } + } + + + grouping mpls-te-igp-flooding-bandwidth { + description + "Top level group for traffic engineering + database flooding options"; + container igp-flooding-bandwidth { + description + "Interface bandwidth change percentages + that trigger update events into the IGP traffic + engineering database (TED)"; + container config { + description + "Configuration parameters for TED + update threshold "; + uses mpls-te-igp-flooding-bandwidth-config; + } + container state { + config false; + description + "State parameters for TED update threshold "; + uses mpls-te-igp-flooding-bandwidth-config; + } + } + } + + + grouping te-lsp-delay-config { + description + "Group for the timers goerning the delay + in installation and cleanup of TE LSPs"; + + leaf install-delay { + type uint16 { + range 0..3600; + } + units seconds; + description + "delay the use of newly installed te lsp for a + specified amount of time."; + } + + leaf cleanup-delay { + type uint16; + units seconds; + description + "delay the removal of old te lsp for a specified + amount of time"; + } + } + + grouping te-interface-attributes-top { + description + "Top level grouping for attributes + for TE interfaces."; + + list interface { + key "interface-id"; + description + "List of TE interfaces"; + + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "Reference to the interface id list key"; + } + + container config { + description + "Configuration parameters related to TE interfaces:"; + uses te-interface-attributes-config; + } + + container state { + config false; + description + "State parameters related to TE interfaces"; + uses te-interface-attributes-config; + } + + uses oc-if:interface-ref; + + uses mpls-te-igp-flooding-bandwidth; + } + } + + grouping te-interface-attributes-config { + description + "global level definitions for interfaces + on which TE is run"; + + leaf interface-id { + type oc-if:interface-id; + description + "Id of the interface"; + } + + leaf te-metric { + type uint32; + description + "TE specific metric for the link"; + } + + leaf-list srlg-membership { + type leafref { + path "../../../../te-global-attributes/srlgs/srlg/name"; + } + description + "list of references to named shared risk link groups that the + interface belongs to."; + } + + leaf-list admin-group { + type string; + description + "list of admin groups (by name) on the interface"; + } + } + + grouping mpls-te-lsp-timers { + description + "Grouping for traffic engineering timers"; + container te-lsp-timers { + description + "Definition for delays associated with setup + and cleanup of TE LSPs"; + + container config { + description + "Configuration parameters related + to timers for TE LSPs"; + + uses te-lsp-delay-config; + uses te-tunnel-reoptimize-config; + } + + container state { + config false; + description + "State related to timers for TE LSPs"; + + uses te-lsp-delay-config; + uses te-tunnel-reoptimize-config; + } + } + } + + grouping mpls-global-config { + description + "Definition of global MPLS configuration parameters"; + + leaf null-label { + type identityref { + base oc-mplst:NULL_LABEL_TYPE; + } + default oc-mplst:IMPLICIT; + description + "The null-label type used, implicit or explicit"; + } + + leaf ttl-propagation { + type boolean; + default true; + description + "Enables TTL propagation across the MPLS domain. + When ttl-propagation is set to true, the IP TTL + is copied into the MPLS header TTL when pushing + a label to an IP packet. If false, the IP TTL is + not copied into the MPLS header TTL and, therefore, + the IP TTL is not updated in the MPLS domain."; + } + + leaf pw-encapsulation { + type identityref { + base oc-mplst:PSEUDOWIRE_ENCAPSULATION; + } + description + "The PDU type to use with pseudowires."; + } + + } + + grouping mpls-global-top { + description + "Top level grouping for global MPLS configuration "; + + container config { + description + "Top level global MPLS configuration"; + uses mpls-global-config; + } + + container state { + config false; + description + "Top level global MPLS state"; + uses mpls-global-config; + } + } + + grouping mpls-interfaces-top { + description + "Top level grouping for attributes + for MPLS-enabled interfaces."; + container interface-attributes { + description + "Parameters related to MPLS interfaces"; + list interface { + key "interface-id"; + description + "List of TE interfaces"; + + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "Reference to the interface id list key"; + } + + container config { + description + "Configuration parameters related to MPLS interfaces:"; + uses mpls-interface-attributes-config; + } + + container state { + config false; + description + "State parameters related to TE interfaces"; + uses mpls-interface-attributes-config; + } + + uses oc-if:interface-ref; + } + } + } + + grouping mpls-interface-attributes-config { + description + "global level definitions for interfaces + on which MPLS is run"; + + leaf interface-id { + type oc-if:interface-id; + description + "Indentifier for the MPLS interface"; + } + + leaf mpls-enabled { + type boolean; + default false; + description + "Enable MPLS forwarding on this interface"; + } + } + + grouping mpls-label-block-config { + description + "Configuration parameters relating to an MPLS label block."; + + leaf local-id { + type string; + description + "A local identifier for the global label block allocation."; + } + + leaf lower-bound { + type oc-mplst:mpls-label; + description + "Lower bound of the global label block. The block is defined to include + this label."; + } + + leaf upper-bound { + type oc-mplst:mpls-label; + description + "Upper bound for the global label block. The block is defined to include + this label."; + } + } + + grouping mpls-label-blocks-top { + description + "Top-level configuration and operational state parameters corresponding + to reserved label blocks."; + + container reserved-label-blocks { + description + "A range of labels starting with the start-label and up-to and including + the end label that should be allocated as reserved. These labels should + not be utilised by any dynamic label allocation on the local system unless + the allocating protocol is explicitly configured to specify that + allocation of labels should be out of the label block specified."; + + list reserved-label-block { + key "local-id"; + + description + "A range of labels starting with the start-label up to and including + the end label that should be allocated for use by a specific protocol."; + + leaf local-id { + type leafref { + path "../config/local-id"; + } + description + "A reference to a unique local identifier for this label block."; + } + + container config { + description + "Configuration parameters relating to the label block."; + + uses mpls-label-block-config; + } + + container state { + config false; + description + "State parameters relating to the label block."; + + uses mpls-label-block-config; + } + } + } + } + + grouping mpls-top { + description + "Top level grouping for MPLS configuration and state"; + + container mpls { + description + "Anchor point for mpls configuration and operational + data"; + + container global { + // entropy label support, label ranges will be added here. + description + "general mpls configuration applicable to any + type of LSP and signaling protocol - label ranges, + entropy label supportmay be added here"; + uses mpls-global-top; + uses mpls-interfaces-top; + uses mpls-label-blocks-top; + } + + container te-global-attributes { + description + "traffic-engineering global attributes"; + uses mpls-te-srlg-top; + uses mpls-admin-groups-top; + uses mpls-te-lsp-timers; + } + + container te-interface-attributes { + description + "traffic engineering attributes specific + for interfaces"; + uses te-interface-attributes-top; + } + + container signaling-protocols { + description + "top-level signaling protocol configuration"; + + uses oc-rsvp:rsvp-global; + uses oc-ldp:ldp-global; + uses oc-sr:sr-mpls-top; + } + + container lsps { + description + "LSP definitions and configuration"; + + container constrained-path { + description + "traffic-engineered LSPs supporting different + path computation and signaling methods"; + uses explicit-paths-top; + uses te-tunnels-top; + } + + container unconstrained-path { + description + "LSPs that use the IGP-determined path, i.e., non + traffic-engineered, or non constrained-path"; + + uses igp-lsp-common; + uses igp-lsp-setup; + } + + container static-lsps { + description + "statically configured LSPs, without dynamic + signaling"; + + uses static-lsp-top; + } + } + } + } + + // augment statements + + // rpc statements + + // notification statements +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-network-instance-l2.yang b/vendor/cisco/xr/755/openconfig-network-instance-l2.yang new file mode 100644 index 000000000..23b0691b8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-network-instance-l2.yang @@ -0,0 +1,284 @@ +submodule openconfig-network-instance-l2 { + + belongs-to openconfig-network-instance { + prefix "oc-netinst"; + } + + + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-interfaces { prefix "oc-if"; } + import ietf-yang-types { prefix "yang"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module contains groupings which specifically relate to + Layer 2 network instance configuration and operational state + parameters."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2017-01-13" { + description + "Add AFT to the network instance"; + reference "0.6.0"; + } + + revision "2016-12-15" { + description + "Add segment routing to network instance"; + reference "0.5.0"; + } + + revision "2016-11-10" { + description + "Update model to include IS-IS."; + reference "0.4.1"; + } + + revision "2016-10-12" { + description + "Update table connections"; + reference "0.4.0"; + } + + revision "2016-09-28" { + description + "Change L2 instance to submodule; add MAC table"; + reference "0.3.0"; + } + + revision "2016-08-11" { + description + "Resolve repeated container names in routing protocols"; + reference "0.2.3"; + } + + revision "2016-07-08" { + description + "Updated with refactored routing protocol models"; + reference "0.2.1"; + } + + revision "2016-03-29" { + description + "Initial revision"; + reference "0.2.0"; + } + + revision "2015-11-20" { + description + "Initial revision"; + reference "0.1.0"; + } + + grouping l2ni-instance { + description + "Configuration and operational state parameters relating + to a Layer 2 network instance"; + + container fdb { + description + "Operational state and configuration parameters relating to + the forwarding database of the network instance"; + + container config { + description + "Configuration parameters relating to the FDB"; + uses l2ni-fdb-mac-config; + } + container state { + config false; + description + "Operational state parameters relating to the FDB"; + uses l2ni-fdb-mac-config; + } + + uses l2ni-mac-table-top; + } + } + + grouping l2ni-instance-common-config { + description + "Common configuration options which are specific to Layer 2 + network instances"; + + leaf mtu { + type uint16; + description + "The maximum frame size which should be supported for this + instance for Layer 2 frames"; + } + + } + + grouping l2ni-fdb-mac-config { + description + "Parameters relating to FDB behaviour relating to MAC + addresses"; + + leaf mac-learning { + type boolean; + description + "When this leaf is set to true, MAC learning is enabled for + the network instance, such that MAC addresses are learned + from ingress frames and added to the FDB."; + } + + leaf mac-aging-time { + // Cisco supports one aging time for local and remote, but + // can specify this time is absolute or against inactivity. + // ALU SROS supports different aging times for local and remote + // but does not allow absolute/inactivity specification. + // JNPR supports only a single aging time, and no specification + // of whether inactivity/absolute is used. + // It is easy to augment new options in here for local remote + // and an extra leaf to allow specification of the type of aging + // so this is left as a single value. + type uint16; + units seconds; + description + "The number of seconds of inactivity after which the entry + in the local FDB is timed out."; + } + + leaf maximum-entries { + type uint16; + description + "The maximum number of MAC address entries that should be + accepted into the FDB"; + } + } + + grouping l2ni-encapsulation-config { + description + "Encapsulation related configuration parameters for a L2 + network instance"; + + leaf control-word { + type boolean; + description + "Whether the control-word should be used for the network + instance"; + reference "RFC3985"; + } + } + + grouping l2ni-mac-table-config { + description + "Configuration data for MAC table entries"; + + leaf mac-address { + type yang:mac-address; + description + "MAC address for the dynamic or static MAC table + entry"; + } + + leaf vlan { + //TODO(aashaikh): Consider whether this should just reflect the + //VLAN id or be a union type to also support displaying/setting + //the VLAN by name (i.e., global VLAN configured in the VLAN + // model). + type leafref { + path "../../../../../../vlans/vlan/config/vlan-id"; + } + description + "VLAN from which this MAC address was received"; + } + } + + grouping l2ni-mac-table-state { + description + "Operational state data for MAC table entries"; + + leaf age { + type uint64; + units seconds; + description + "The time in seconds since the MAC address has been in the + table"; + } + + leaf entry-type { + type enumeration { + enum STATIC { + description + "Statically programmed MAC table entry"; + } + enum DYNAMIC { + description + "Dynamically learned MAC table entry"; + } + } + description + "Indicates whether the entry was statically configured, or + dynamically learned."; + } + + } + + grouping l2ni-mac-table-top { + description + "Top-level grouping for MAC table list"; + + + container mac-table { + description + "Table of learned or statically configured MAC addresses and + corresponding VLANs in the bridge domain"; + + container entries { + description + "Enclosing container for list of MAC table entries"; + + list entry { + key "mac-address"; + description + "List of learned MAC addresses"; + + leaf mac-address { + type leafref { + path "../config/mac-address"; + } + description + "Reference to mac-address list key"; + } + + container config { + description + "Configuration data for MAC table entries"; + + uses l2ni-mac-table-config; + } + + container state { + + config false; + + description + "Operational state data for MAC table entries"; + + uses l2ni-mac-table-config; + uses l2ni-mac-table-state; + } + + container interface { + description + "Reference to the base and/or subinterface for the + MAC table entry"; + + uses oc-if:interface-ref; + } + } + } + } + } +} + diff --git a/vendor/cisco/xr/755/openconfig-network-instance-l3.yang b/vendor/cisco/xr/755/openconfig-network-instance-l3.yang new file mode 100644 index 000000000..742f9002f --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-network-instance-l3.yang @@ -0,0 +1,245 @@ +module openconfig-network-instance-l3 { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/network-instance-l3"; + + prefix "oc-ni-l3"; + + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-types { prefix "octypes"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module contains groupings which specifically relate to + Layer 3 network instance configuration and operational state + parameters."; + + oc-ext:openconfig-version "0.11.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.11.1"; + } + + revision "2018-08-17" { + description + "Add a route limit for L3 network instances."; + reference "0.11.0"; + } + + revision "2017-12-13" { + description + "Fix incorrect constraint on SR and MPLS containers"; + reference "0.9.0"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes"; + reference "0.8.1"; + } + + revision "2017-02-28" { + description + "Add OSPFv2 to network instance"; + reference "0.8.0"; + } + + revision "2017-01-26" { + description + "Add policy forwarding to network instance"; + reference "0.7.0"; + } + + revision "2017-01-13" { + description + "Add AFT to the network instance"; + reference "0.6.0"; + } + + revision "2016-12-15" { + description + "Add segment routing to network instance"; + reference "0.5.0"; + } + + revision "2016-11-10" { + description + "Update model to include IS-IS."; + reference "0.4.1"; + } + + revision "2016-09-28" { + description + "Change L2 instance to submodule; add MAC table"; + reference "0.3.0"; + } + + revision "2016-08-11" { + description + "Resolve repeated container names in routing protocols"; + reference "0.2.3"; + } + + revision "2016-07-08" { + description + "Updated with refactored routing protocol models"; + reference "0.2.1"; + } + + revision "2016-03-29" { + description + "Initial revision"; + reference "0.2.0"; + } + + revision "2016-03-14" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping l3ni-instance { + description + "Configuration and operational state parameters relevant + to network instances that include a Layer 3 type"; + + } + + grouping l3ni-instance-common-config { + description + "Configuration parameters that are common to L3 network + instances other than the default instance"; + + leaf-list enabled-address-families { + type identityref { + base octypes:ADDRESS_FAMILY; + } + description + "The address families that are to be enabled for this + network instance."; + } + } + + grouping l3ni-route-limit-structural { + description + "Configuration and state for the maximum number of routes + that should be used by routing instance."; + + container route-limits { + description + "Configuration and operational state relating to the + maximum number of routes for the address family that + should be allowed within the Layer 3 network instance. + + When the specified value is reached, no further prefixes + should be installed into the system's RIB from this network + instance unless the warning only leaf is set. In this case, + new routes should still be installed. If a alarm threshold + is specified, then this should be used to generate + alarms via telemetry for the network instance."; + + list route-limit { + key "afi"; + + description + "A route limit applying to a particular address family."; + + leaf afi { + type leafref { + path "../config/afi"; + } + description + "Reference to the address family for which the route + limit is being applied."; + } + + container config { + description + "Configuration options relating to the route limit."; + uses l3ni-route-limit-config; + } + + container state { + config false; + description + "Operational state parameters relating to the route limit."; + uses l3ni-route-limit-config; + uses l3ni-route-limit-state; + } + } + } + } + + grouping l3ni-route-limit-config { + description + "Configuration options relating to the route limit for a network + instance."; + + leaf afi { + type identityref { + base octypes:ADDRESS_FAMILY; + } + description + "The address family for which the route limit applies."; + } + + leaf maximum { + type uint32; + description + "The maximum number of routes for the address family. The + system should not install more than maximum number of + prefixes into the RIB unless the warning-only leaf is specified."; + } + + leaf warning-only { + type boolean; + default false; + description + "When specified, the route limit specified is considered only as + a warning - and routes should continue to be installed into the + RIB over the limit specified in the maximum leaf."; + } + + leaf alarm-threshold { + type uint32; + description + "When specified, an alarm should be generated when the threshold + number of installed routes is reached."; + } + } + + grouping l3ni-route-limit-state { + description + "Operational state relating to the route limit for a network + instance."; + + leaf threshold-exceeded { + type boolean; + description + "This leaf should be set to true in the case that the threshold + number of routes has been exceeded."; + } + + leaf installed-routes { + type uint32; + description + "The current number of routes installed for the address family."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-network-instance-types.yang b/vendor/cisco/xr/755/openconfig-network-instance-types.yang new file mode 100644 index 000000000..e5edba599 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-network-instance-types.yang @@ -0,0 +1,323 @@ +module openconfig-network-instance-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/network-instance-types"; + + prefix "oc-ni-types"; + + import openconfig-extensions { prefix "oc-ext"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Types associated with a network instance"; + + oc-ext:openconfig-version "0.9.1"; + + revision "2021-05-21" { + description + "Add support for evpn"; + reference "0.9.1"; + } + + revision "2021-03-03" { + description + "Fix route-distinguisher's pattern statement, and remove the regexp-posix + extension, which makes pattern statements conform to the YANG standard."; + reference "0.9.0"; + } + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions."; + reference "0.8.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.8.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes"; + reference "0.8.1"; + } + + revision "2017-02-28" { + description + "Add OSPFv2 to network instance"; + reference "0.8.0"; + } + + revision "2017-01-26" { + description + "Add policy forwarding to network instance"; + reference "0.7.0"; + } + + revision "2017-01-13" { + description + "Add AFT to the network instance"; + reference "0.6.0"; + } + + revision "2016-12-15" { + description + "Add segment routing to network instance"; + reference "0.5.0"; + } + + revision "2016-11-10" { + description + "Update model to include IS-IS."; + reference "0.4.1"; + } + + revision "2016-10-12" { + description + "Update table connections"; + reference "0.4.0"; + } + + revision "2016-09-28" { + description + "Change L2 instance to submodule; add MAC table"; + reference "0.3.0"; + } + + revision "2016-08-11" { + description + "Resolve repeated container names in routing protocols"; + reference "0.2.3"; + } + + revision "2016-07-08" { + description + "Updated with refactored routing protocol models"; + reference "0.2.1"; + } + + revision "2016-03-29" { + description + "Initial revision"; + reference "0.2.0"; + } + + revision "2015-10-18" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + identity NETWORK_INSTANCE_TYPE { + description + "A base identity which can be extended to indicate different + types of network instance supported by a device."; + } + + identity DEFAULT_INSTANCE { + base NETWORK_INSTANCE_TYPE; + description + "A special routing instance which acts as the 'default' or + 'global' routing instance for a network device."; + } + + identity L3VRF { + base NETWORK_INSTANCE_TYPE; + description + "A private Layer 3 only routing instance which is formed of + one or more RIBs"; + } + + identity L2VSI { + base NETWORK_INSTANCE_TYPE; + description + "A private Layer 2 only switch instance which is formed of + one or more L2 forwarding tables"; + } + + identity L2P2P { + base NETWORK_INSTANCE_TYPE; + description + "A private Layer 2 only forwarding instance which acts as + a point to point connection between two endpoints"; + } + + identity L2L3 { + base NETWORK_INSTANCE_TYPE; + description + "A private Layer 2 and Layer 3 forwarding instance"; + } + + identity ENDPOINT_TYPE { + description + "Specification of the type of endpoint that is being associated + with a network instance"; + } + + identity LOCAL { + base ENDPOINT_TYPE; + description + "A local interface which is being associated with the endpoint. + In addition, the LOCAL endpoint can be used with the VXLAN + attributes to define a VXLAN tunnel end-point interface."; + } + + identity REMOTE { + base ENDPOINT_TYPE; + description + "A remote interface which is being associated with the + endpoint"; + } + + identity LABEL_ALLOCATION_MODE { + description + "Base identity to be used to express types of label allocation + strategies to be used within a network instance"; + } + + identity PER_PREFIX { + base LABEL_ALLOCATION_MODE; + description + "A label is to be allocated per prefix entry in the RIB for the + network instance"; + } + + identity PER_NEXTHOP { + base LABEL_ALLOCATION_MODE; + description + "A label is to be allocated per nexthop entry in the RIB for + the network instance"; + } + + identity INSTANCE_LABEL { + base LABEL_ALLOCATION_MODE; + description + "A single label is to be used for the instance"; + } + + identity ENCAPSULATION { + description + "On the wire encapsulations that can be used when + differentiating network instances"; + } + + identity MPLS { + base ENCAPSULATION; + description + "Use MPLS labels to distinguish network instances on the wire"; + } + + identity VXLAN { + base ENCAPSULATION; + description + "Use VXLAN (RFC7348) VNIs to distinguish network instances on + the wire"; + } + + identity SIGNALLING_PROTOCOL { + description + "The signalling protocol that should be used to diseminate + entries within a forwarding instance"; + } + + identity LDP { + base SIGNALLING_PROTOCOL; + description + "Use LDP-based setup for signalling. Where the instance is + a point-to-point service this refers to RFC4447 ('Martini') + setup. Where the service is an L2VSI, or L2L3 instance it + refers to RFC4762 LDP-signalled VPLS instances"; + } + + identity BGP_VPLS { + base SIGNALLING_PROTOCOL; + description + "Use BGP-based signalling and autodiscovery for VPLS instances + as per RFC4761"; + } + + identity BGP_EVPN { + base SIGNALLING_PROTOCOL; + description + "Use BGP-based Ethernet VPN (RFC7432) based signalling for + the network instance"; + } + + // rjs note: + // this should move to openconfig-types when merged + typedef route-distinguisher { + type union { + // type 0: <2-byte administrator>:<4-byte assigned number> + // <0-65535>:<0-4294967295> + type string { + pattern + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + + '6[0-4][0-9]{3}|[0-5][0-9]{4}|[1-9][0-9]{0,3}|0):' + + '(429496729[0-5]|42949672[0-8][0-9]|' + + '4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|' + + '42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|' + + '4[0-1][0-9]{8}|3[0-9]{9}|[1-9][0-9]{0,8}|0)'; + oc-ext:posix-pattern + '^((6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + + '6[0-4][0-9]{3}|[0-5][0-9]{4}|[1-9][0-9]{0,3}|0):' + + '(429496729[0-5]|42949672[0-8][0-9]|' + + '4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|' + + '42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|' + + '4[0-1][0-9]{8}|3[0-9]{9}|[1-9][0-9]{0,8}|0))$'; + } + // type 1: :<2-byte assigned number> + // :<0-65535> + 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]):' + + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + + '6[0-4][0-9]{3}|[0-5][0-9]{4}|[1-9][0-9]{0,3}|0)'; + oc-ext:posix-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]):' + + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + + '6[0-4][0-9]{3}|[0-5][0-9]{4}|[1-9][0-9]{0,3}|0))$'; + } + // type 2: <4-byte as-number>:<2-byte assigned number> + // <0-4294967295>:<0-65535> + type string { + pattern + '(429496729[0-5]|42949672[0-8][0-9]|' + + '4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|' + + '42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|' + + '4[0-1][0-9]{8}|3[0-9]{9}|[1-9][0-9]{0,8}|0):' + + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + + '6[0-4][0-9]{3}|[0-5][0-9]{4}|[1-9][0-9]{0,3}|0)'; + oc-ext:posix-pattern + '^((429496729[0-5]|42949672[0-8][0-9]|' + + '4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|' + + '42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|' + + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|' + + '4[0-1][0-9]{8}|3[0-9]{9}|[1-9][0-9]{0,8}|0):' + + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + + '6[0-4][0-9]{3}|[0-5][0-9]{4}|[1-9][0-9]{0,3}|0))$'; + } + } + description "A route distinguisher value"; + reference "RFC4364"; + } +} diff --git a/vendor/cisco/xr/755/openconfig-network-instance.yang b/vendor/cisco/xr/755/openconfig-network-instance.yang new file mode 100644 index 000000000..f827909cf --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-network-instance.yang @@ -0,0 +1,1260 @@ +module openconfig-network-instance { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/network-instance"; + + prefix "oc-netinst"; + + // import some basic types + import ietf-yang-types { prefix "yang"; } + import ietf-inet-types { prefix "inet"; } + import openconfig-network-instance-types { prefix "oc-ni-types"; } + import openconfig-policy-types { prefix "oc-pol-types"; } + import openconfig-routing-policy { prefix "oc-rpol"; } + import openconfig-local-routing { prefix "oc-loc-rt"; } + import openconfig-interfaces { prefix "oc-if"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-network-instance-l3 { prefix "oc-ni-l3"; } + import openconfig-types { prefix "oc-types"; } + import openconfig-bgp { prefix "oc-bgp"; } + import openconfig-mpls { prefix "oc-mpls"; } + import openconfig-vlan { prefix "oc-vlan"; } + import openconfig-ospfv2 { prefix "oc-ospfv2"; } + import openconfig-policy-forwarding { prefix "oc-pf"; } + import openconfig-segment-routing { prefix "oc-sr"; } + import openconfig-isis { prefix "oc-isis"; } + import openconfig-aft { prefix "oc-aft"; } + import openconfig-pim { prefix "oc-pim"; } + import openconfig-igmp { prefix "oc-igmp"; } + import openconfig-evpn { prefix "oc-evpn"; } + + // include submodules + include openconfig-network-instance-l2; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "An OpenConfig description of a network-instance. This may be + a Layer 3 forwarding construct such as a virtual routing and + forwarding (VRF) instance, or a Layer 2 instance such as a + virtual switch instance (VSI). Mixed Layer 2 and Layer 3 + instances are also supported."; + + oc-ext:openconfig-version "0.15.0"; + + revision "2021-01-25" { + description + "Add support for evpn"; + reference "0.15.0"; + } + + revision "2020-06-20" { + description + "Add support for toggling metric propagation + when using table-connections."; + reference "0.14.0"; + } + + revision "2019-11-28" { + description + "Revert fixes for paths in when statements"; + reference "0.13.2"; + } + + revision "2019-06-11" { + description + "Fixed paths in when statements"; + reference "0.13.1"; + } + + revision "2019-05-14" { + description + "Added support for BGP signalled VPWS and VPLS."; + reference "0.13.0"; + } + + revision "2019-04-16" { + description + "Move BGP RIB into the protocol/bgp container."; + reference "0.12.0"; + } + + revision "2019-02-03" { + description + "Extend netinst type description to link it to, for example, MPLS + service types."; + reference "0.11.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.11.1"; + } + + revision "2018-08-11" { + description + "Add vlan id as additional key in MAC table"; + reference "0.11.0"; + } + + revision "2018-06-22" { + description + "Fix typo in OSPF when statement"; + reference "0.10.2"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements"; + reference "0.10.1"; + } + + revision "2018-02-19" { + description + "Add PIM and IGMP to network instance"; + reference "0.10.0"; + } + + revision "2017-12-13" { + description + "Fix incorrect constraint on SR and MPLS containers"; + reference "0.9.0"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes"; + reference "0.8.1"; + } + + revision "2017-02-28" { + description + "Add OSPFv2 to network instance"; + reference "0.8.0"; + } + + revision "2017-01-26" { + description + "Add policy forwarding to network instance"; + reference "0.7.0"; + } + + revision "2017-01-13" { + description + "Add AFT to the network instance"; + reference "0.6.0"; + } + + revision "2016-12-15" { + description + "Add segment routing to network instance"; + reference "0.5.0"; + } + + revision "2016-11-10" { + description + "Add IS-IS to OpenConfig network instance"; + reference "0.4.1"; + } + + revision "2016-10-12" { + description + "Update table connections"; + reference "0.4.0"; + } + + revision "2016-09-28" { + description + "Change L2 instance to submodule; add MAC table"; + reference "0.3.0"; + } + + revision "2016-08-11" { + description + "Resolve repeated container names in routing protocols"; + reference "0.2.3"; + } + + revision "2016-07-08" { + description + "Updated with refactored routing protocol models"; + reference "0.2.1"; + } + + revision "2016-03-29" { + description + "Initial revision"; + reference "0.2.0"; + } + + revision "2015-10-18" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + typedef network-instance-ref { + type leafref { + path "/network-instances/network-instance/config/name"; + } + description + "A re-usable type that can be referenced within other + modules that references a network instance."; + } + + grouping network-instance-top { + description + "Top-level grouping containing a list of network instances."; + + container network-instances { + description + "The L2, L3, or L2+L3 forwarding instances that are + configured on the local system"; + + list network-instance { + key "name"; + + description + "Network instances configured on the local system"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "A unique name identifying the network instance"; + } + + uses l2ni-instance { + when "./config/type = 'L2VSI' + or ./config/type = 'L2P2P' + or ./config/type = 'L2L3' + or ./config/type = 'DEFAULT_INSTANCE'" { + description + "Layer 2 configuration parameters included when + a network instance is a Layer 2 instance or a + combined L2L3 instance"; + } + } + + container config { + description + "Configuration parameters relating to a network + instance"; + uses network-instance-config; + uses network-instance-type-dependent-config; + } + + + container state { + config false; + description + "Operational state parameters relating to a network + instance"; + uses network-instance-config; + uses network-instance-type-dependent-config; + uses network-instance-state; + } + + container evpn { + when "./config/type = 'L2VSI' + or ./config/type = 'L3VRF'" { + description + "EVPN container should be included for L2 and L3 NIs"; + } + description + "Configuration of parameters for EVPN related bridge domains + (MAC VRFs) and layer3 VRFs (IP VRFs)"; + uses oc-evpn:evpn-config-top; + uses oc-evpn:evpn-ethernet-segment-top; + } + + container encapsulation { + when "../config/type != 'DEFAULT_INSTANCE'" { + description + "Only allow the encapsulation of the instance to be + set when the instance is not the default instance"; + } + description + "Configuration parameters relating to the encapsulation + used for the network instance"; + + container config { + description + "Configuration parameters relating to the encapsulation + of the network instance"; + + uses encapsulation-config; + + uses l2ni-encapsulation-config { + when "./config/type = 'L2VSI' or ./config/type = 'L2P2P' + or ./config/type = 'L2L3'" { + description + "Only allow L2 encapsulations to be set + when the instance is of a type that supports + L2"; + } + } + } + + container state { + config false; + description + "State parameters relating to the encapsulation of + the network instance"; + uses encapsulation-config; + + uses l2ni-encapsulation-config { + when "./config/type = 'L2VSI' or ./config/type = 'L2P2P' + or ./config/type = 'L2L3'" { + description + "Only allow L2 encapsulations to be set + when the instance is of a type that supports + L2"; + } + } + } + } + + container inter-instance-policies { + description + "Policies dictating how RIB or FIB entries are imported + to and exported from this instance"; + + uses oc-rpol:apply-policy-group; + uses oc-evpn:evpn-import-export-policy-top; + } + + container table-connections { + description + "Policies dictating how RIB or FIB entries are propagated + between tables"; + + list table-connection { + key "src-protocol dst-protocol address-family"; + + description + "A list of connections between pairs of routing or + forwarding tables, the leaking of entries between + which is specified by the import policy. + + A connection connecting a source table to a destination + table implies that routes that match the policy specified + for the connection are available for the destination + protocol to advertise, or match within its policies."; + + leaf src-protocol { + type leafref { + path "../config/src-protocol"; + } + description + "The name of the protocol associated with the table + which should be utilised as the source of forwarding + or routing information"; + } + + leaf dst-protocol { + type leafref { + path "../config/dst-protocol"; + } + description + "The table to which routing entries should be + exported"; + } + + leaf address-family { + type leafref { + path "../config/address-family"; + } + description + "The address family associated with the connection"; + } + + container config { + description + "Configuration parameters relating to the connection + between tables"; + uses inter-table-policies-config; + } + container state { + config false; + description + "State parameters relating to the connection between + tables"; + uses inter-table-policies-config; + } + } + } + + container interfaces { + description + "The interfaces that are associated with this network + instance"; + + list interface { + key "id"; + unique "config/interface config/subinterface"; + + description + "An interface associated with the network instance"; + + leaf id { + type leafref { + path "../config/id"; + } + description + "A reference to an identifier for this interface which + acts as a key for this list"; + } + + container config { + description + "Configuration parameters relating to the associated + interface"; + uses instance-interfaces-config; + } + + container state { + config false; + description + "Operational state parameters relating to the + associated interface"; + + uses instance-interfaces-config; + uses instance-interfaces-state; + } + } + } + + uses oc-ni-l3:l3ni-route-limit-structural { + when "./config/type = 'L3VRF' or ./config/type = 'L2L3'" { + description + "Layer 3 VRF or L2/L3 instances can have route limits + applied. This is not supported for the default instance."; + } + } + + container tables { + description + "The routing tables that are managed by this network + instance"; + + list table { + key "protocol address-family"; + + description + "A network instance manages one or more forwarding or + routing tables. These may reflect a Layer 2 forwarding + information base, a Layer 3 routing table, or an MPLS + LFIB. + + The table populated by a protocol within an instance is + identified by the protocol identifier (e.g., BGP, IS-IS) + and the address family (e.g., IPv4, IPv6) supported by + that protocol. Multiple instances of the same protocol + populate a single table -- such that + a single IS-IS or OSPF IPv4 table exists per network + instance. + + An implementation is expected to create entries within + this list when the relevant protocol context is enabled. + i.e., when a BGP instance is created with IPv4 and IPv6 + address families enabled, the protocol=BGP, + address-family=IPv4 table is created by the system."; + + leaf protocol { + type leafref { + path "../config/protocol"; + } + description + "A reference to the protocol that populates + the table"; + } + + leaf address-family { + type leafref { + path "../config/address-family"; + } + description + "A reference to the address-family that the + table represents"; + } + + container config { + description + "Configuration parameters relating to the + table"; + uses table-config; + } + + container state { + config false; + description + "State parameters related to the table"; + uses table-config; + } + } + } + + container connection-points { + description + "The set of connection points within a forwarding + instance"; + + list connection-point { + key "connection-point-id"; + + description + "A connection point within a Layer 2 network instance. + Each connection-point consists of a set of interfaces + only one of which is active at any one time. Other than + the specification of whether an interface is local + (i.e., exists within this network-instance), or remote, + all configuration and state parameters are common"; + + leaf connection-point-id { + type leafref { + path "../config/connection-point-id"; + } + description + "A locally significant reference for the + connection-point"; + } + + container config { + description + "Configuration parameters relating to a Layer 2 + network instance connection point"; + uses instance-connection-point-config; + } + container state { + config false; + description + "Operational state parameters relating to a Layer 2 + network instance connection point"; + + uses instance-connection-point-config; + uses instance-connection-point-state; + } + + container endpoints { + when "../../../config/type = 'L2P2P' " + + "or ../../../config/type = 'L2VSI'" { + description + "Configuration parameters to associate interfaces + into a common group for use in Layer 2 network + instances"; + } + + description + "The set of endpoints which are grouped within the + connection point"; + + list endpoint { + key "endpoint-id"; + + description + "A list of the endpoints (interfaces or remote + connection points that can be used for this + connection point). The active endpoint is selected + based on the precedence that it is configured + with"; + + leaf endpoint-id { + type leafref { + path "../config/endpoint-id"; + } + description + "A pointer to the configured identifier for the + endpoint"; + } + + container config { + description + "Configuration parameters relating to the + endpoint"; + uses instance-endpoint-config; + } + container state { + config false; + description + "Operational state parameters relating to the + endpoint"; + uses instance-endpoint-config; + uses instance-endpoint-state; + } + + container local { + when "../config/type = 'LOCAL'" { + description + "Only include the local configuration when + the endpoint is specified to be local to + the network element"; + } + + description + "Configuration and operational state parameters + relating to a local interface"; + + container config { + description + "Configuration parameters relating to a local + endpoint"; + uses instance-endpoint-local-config; + } + + container state { + config false; + description + "Operational state parameters relating to a + local endpoint"; + uses instance-endpoint-local-config; + } + } + + container remote { + when "../config/type = 'REMOTE'" { + description + "Only include the remote configuration when + the endpoint is specified to be remote to + the network element"; + } + + description + "Configuration and operational state parameters + relating to a remote interface"; + + container config { + description + "Configuration parameters relating to a remote + endpoint"; + uses instance-endpoint-remote-config; + } + + container state { + config false; + description + "Operational state parameters relating to + a remote endpoint"; + uses instance-endpoint-remote-config; + } + } + container vxlan { + when "../config/type = 'VXLAN'" { + description + "Only include the vxlan configuration when + the endpoint is specified to be vxlan"; + } + description + "Configuration and operational state parameters + relating to a VXLAN tunnel end-point interface"; + uses oc-evpn:evpn-overlays-grp-top; + } + } + } + } + } + + uses oc-mpls:mpls-top { + when "./config/type = 'DEFAULT_INSTANCE'" { + description + "MPLS configuration is only valid within the default + network instance."; + } + } + + uses oc-sr:sr-top { + when "./config/type = 'DEFAULT_INSTANCE'" { + description + "Segment routing configuration is only valid with the default + network instance."; + } + } + + uses oc-vlan:vlan-top; + + uses oc-pf:policy-forwarding-top; + + uses oc-aft:aft-top; + + container protocols { + description + "The routing protocols that are enabled for this + network-instance."; + + list protocol { + key "identifier name"; + + description + "A process (instance) of a routing protocol. Some + systems may not support more than one instance of + a particular routing protocol"; + + leaf identifier { + type leafref { + path "../config/identifier"; + } + description + "The protocol name for the routing or forwarding + protocol to be instantiated"; + } + + leaf name { + type leafref { + path "../config/name"; + } + description + "An operator-assigned identifier for the routing + or forwarding protocol. For some processes this + leaf may be system defined."; + } + + container config { + description + "Configuration parameters relating to the routing + protocol instance"; + + uses protocols-config; + } + + container state { + config false; + description + "State parameters relating to the routing protocol + instance"; + + uses protocols-config; + uses protocols-state; + } + + uses oc-loc-rt:local-static-top { + when "./config/identifier = 'STATIC'" { + description + "Include static route parameters only when the + protocol is set to static"; + } + description + "Configuration and state parameters relating to + static routes"; + } + + uses oc-loc-rt:local-aggregate-top { + when "./config/identifier = 'LOCAL_AGGREGATE'" { + description + "Include aggregate route parameters only when the + protocol is set to aggregate"; + } + description + "Configuration and state parameters relating to + locally generated aggregate routes"; + } + + uses oc-bgp:bgp-top { + when "./config/identifier = 'BGP'" { + description + "Include BGP parameters only when the protocol + is of type BGP"; + } + description + "Configuration and state parameters relating to + Border Gateway Protocol (BGP)"; + } + + uses oc-ospfv2:ospfv2-top { + when "./config/identifier = 'OSPF'" { + description + "Include OSPFv2 parameters only when the protocol + is of type OSPFv2"; + } + } + + uses oc-isis:isis-top { + when "./config/identifier = 'ISIS'" { + description + "Include IS-IS configuration when the protocol is of type + IS-IS"; + } + description + "Configuration and state parameters relating to Intermediate + System to Intermediate System (IS-IS)."; + } + + uses oc-pim:pim-top { + when "./config/identifier = 'PIM'" { + description + "Include PIM configuration when the protocol is of type + PIM"; + } + description + "Configuration and state parameters relating to Protocol + Indepdendent Multicast (PIM)."; + } + + uses oc-igmp:igmp-top { + when "./config/identifier = 'IGMP'" { + description + "Include IGMP configuration when the protocol is of type + IGMP"; + } + description + "Configuration and state parameters relating to the Internet + Group Management Protocol (IGMP)."; + } + + } + } + } + } + } + + grouping network-instance-type-dependent-config { + description + "Type dependent network instance configuration"; + + uses oc-ni-l3:l3ni-instance-common-config { + when "./type = 'L3VRF' or ./type = 'L2L3'" { + description + "Layer 3 VRF configuration parameters included when a + network instance is a L3VRF or combined L2L3 instance"; + } + } + + uses l2ni-instance-common-config { + when "./type = 'L2VSI' or ./type = 'L2P2P'" + + " or ./type = 'L2L3'" { + description + "Layer 2 configuration parameters included when + a network instance is a Layer 2 instance or a + combined L2L3 instance"; + } + } + } + + grouping instance-endpoint-config { + description + "Configuration data relating to an forwarding-instance + endpoint"; + + leaf endpoint-id { + type string; + description + "An identifier for the endpoint"; + } + + leaf precedence { + type uint16; + description + "The precedence of the endpoint - the lowest precendence + viable endpoint will be utilised as the active endpoint + within a connection"; + } + + leaf type { + type identityref { + base "oc-ni-types:ENDPOINT_TYPE"; + } + description + "The type of endpoint that is referred to by the current + endpoint"; + } + + } + + grouping instance-endpoint-local-config { + description + "Configuration parameters relating to an endpoint that is local + to the current system"; + + uses oc-if:interface-ref-common; + + leaf site-id { + type uint16; + description + "The VE ID as defined in RFC4761 (VPLS) or CE ID as defined in + RFC6624 (l2vpn) to uniquely identify this endpoint (site) as part + of the BGP discovery of remote endpoints for layer 2 services."; + reference "RFC6624 Section 2.2.1, RFC4761 Section 3.2.2"; + } + + // TODO not seen this in configuration yet; is it managed by the + // PE router code? + leaf site-label-block-offset { + type uint16; + description + "The VPLS label block offset that is signaled with the 'site-id'."; + reference "RFC4761 Section 3.2.1 'VBO'"; + } + + leaf site-label-block-size { + type uint16; + description + "The VPLS label block size that is signaled with the 'site-id'."; + reference "RFC4761 Section 3.2.1 'VBS'"; + } + } + + grouping instance-endpoint-remote-config { + description + "Configuration parameters relating to an endpoint that is + remote from the local system"; + leaf remote-system { + type inet:ip-address; + description + "The IP address of the device which hosts the + remote end-point"; + } + + leaf virtual-circuit-identifier { + type uint32; + description + "The virtual-circuit identifier that identifies the + connection at the remote end-point"; + } + + leaf site-id { + type uint16; + description + "Identifies remote sites. When BGP discovery is used this + is the customer edge identifier"; + reference "RFC6624 Section 2.2.1"; + } + } + + grouping instance-endpoint-state { + description + "Operational state data relating to a forwarding-instance + endpoint"; + leaf active { + type boolean; + description + "When the backup endpoint is active, the value of this + parameter is set to true"; + } + } + + grouping instance-connection-point-config { + description + "Configuration data relating to a forwarding-instance + connection point"; + + leaf connection-point-id { + type string; + description + "An identifier for a connection point"; + } + } + + grouping instance-connection-point-state { + description + "Operational state data relating to a forwarding-instance + connection point"; + } + + grouping table-config { + description + "Config parameters relating to an L2/L2.5/L3 table that exists + within a network instance"; + + leaf protocol { + type leafref { + path "../../../../protocols/protocol/config/identifier"; + } + description + "Reference to the protocol that the table is associated with."; + } + + leaf address-family { + type identityref { + base oc-types:ADDRESS_FAMILY; + } + description + "The address family (IPv4, IPv6) of the table's entries"; + } + } + + grouping instance-interfaces-config { + description + "Configuration parameters related to an interface associated + with the network instance"; + + leaf id { + type string; + description + "A unique identifier for this interface - this is expressed + as a free-text string"; + } + + uses oc-if:interface-ref-common; + + leaf-list associated-address-families { + type identityref { + base oc-types:ADDRESS_FAMILY; + } + description + "The address families on the subinterface which are to be + associated with this network instance. When this leaf-list + is empty and the network instance requires Layer 3 information + the address families for which the network instance is + enabled should be imported. If the value of this leaf-list + is specified then the association MUST only be made for + those address families that are included in the list."; + } + + leaf mac-pinning { + type boolean; + description + "Enable (TRUE) or disable (FALSE). There are scenarios in which + it is desired to configure some MAC addresses as static so + that they are not subjected to MAC moves. If you enable MAC pinning + on a CE interface, that MAC address cannot be moved to any + other CE interface"; + reference + "RFC 7432: BGP MPLS-Based Ethernet VPN"; + } + + leaf irb-anycast-gateway { + type enumeration { + enum DISTRIBUTED_SYMETRIC { + description "Distributed anycast gateway"; + } + enum DISTRIBUTED_ASYMETRIC { + description "Distributed asymetric anycast gateway"; + } + enum HYBRID { + description "Hybrid anycast gateway"; + } + enum CENTRALIZED { + description "Centralized anycast gateway"; + } + } + description + "Associate VLAN SVI with anycast Gateway. + The SVI is the layer3 interface for the mac-vrf + when the SVI is being used as the first hop default gw."; + } + } + + grouping instance-interfaces-state { + description + "Operational state parameters relating to an interface + associated with this network instance"; + } + + grouping inter-table-policies-config { + description + "Configuration entries that relate to how RIB or FIB entries + are propagated between tables within the same network + instance"; + + leaf src-protocol { + type leafref { + // we are at table-connections/table-connection/config/. + path "../../../../tables/table/config/protocol"; + } + description + "The source protocol for the table connection"; + } + + leaf address-family { + type leafref { + // we are at table-connections/table-connection/config/. + path "../../../../tables/" + + "table[protocol=current()/../src-protocol]/" + + "config/address-family"; + } + description + "The address family associated with the connection. This + must be defined for the source protocol. The target + address family is implicitly defined by the address family + specified for the source protocol."; + } + + leaf dst-protocol { + type leafref { + path "../../../../tables/table/config/protocol"; + } + description + "The destination protocol for the table connection"; + } + + leaf disable-metric-propagation { + type boolean; + default false; + description + "By default a system may reflect the metric specified in + the destination protocol according to that which is set in + the source protocol. For example: + - IS-IS metric may be reflected in BGP MED (and vice versa) + - OSPF metric may be reflected in the BGP MED (and vice versa) + When this leaf is set to true, this reflection behaviour MUST be + disabled, and rather the metric must be set to the default value, + or explicitly set by policy."; + } + + uses oc-rpol:apply-policy-import-config; + } + + grouping network-instance-config { + description + "Configuration parameters relating to a top-level network + instance"; + + leaf name { + type string; + description + "An operator-assigned unique name for the forwarding + instance"; + } + + leaf type { + type identityref { + base "oc-ni-types:NETWORK_INSTANCE_TYPE"; + } + description + "The type of network instance. The value of this leaf + indicates the type of forwarding entries that should be + supported by this network instance. Signalling protocols + also use the network instance type to infer the type of + service they advertise; for example MPLS signalling + for an L2VSI network instance would infer a VPLS service + whereas a type of L2PTP would infer a VPWS (pseudo-wire) + service"; + } + + leaf enabled { + type boolean; + description + "Whether the network instance should be configured to be + active on the network element"; + } + + leaf description { + type string; + description + "A free-form string to be used by the network operator to + describe the function of this network instance"; + } + + leaf router-id { + type yang:dotted-quad; + description + "A identifier for the local network instance - typically + used within associated routing protocols or signalling + routing information in another network instance"; + } + + leaf route-distinguisher { + type oc-ni-types:route-distinguisher; + description + "The route distinguisher that should be used for the local + VRF or VSI instance when it is signalled via BGP."; + } + } + + grouping network-instance-state { + description + "Operational state parameters relating to a network instance"; + } + + grouping protocols-config { + description + "Configuration parameters relating to a generic protocol + instance within a network instance"; + + leaf identifier { + type identityref { + base "oc-pol-types:INSTALL_PROTOCOL_TYPE"; + } + description + "The protocol identifier for the instance"; + } + + leaf name { + type string; + description + "A unique name for the protocol instance"; + } + + leaf enabled { + type boolean; + description + "A boolean value indicating whether the local protocol + instance is enabled."; + } + + leaf default-metric { + type uint32; + description + "The default metric within the RIB for entries that are + installed by this protocol instance. This value may + be overridden by protocol specific configuration options. + The lower the metric specified the more preferable the RIB + entry is to be selected for use within the network instance. + Where multiple entries have the same metric value then these + equal cost paths should be treated according to the specified + ECMP path selection behaviour for the instance"; + } + } + + grouping protocols-state { + description + "Operational state parameters relating to a protocol instance"; + } + + grouping instance-interface-association-config { + description + "Grouping containing leaves that are to be augmented into an + interface or subinterface to include mapping to a network + instance"; + + leaf network-instance { + type leafref { + path "/network-instances/network-instance/name"; + } + description + "The network instance that this interface is associated + with"; + } + } + + grouping encapsulation-config { + description + "Type agnostic configuration parameters relating to the + encapsulation of the network instance"; + + leaf encapsulation-type { + type identityref { + base oc-ni-types:ENCAPSULATION; + } + description + "The on-the-wire encapsulation that should be used when + sending traffic from this network instance"; + } + + // rjs: This is left here as I suspect that this can + // be used in EVPN. Need to validate implementations, otherwise + // move to L3. (TODO) + leaf label-allocation-mode { + type identityref { + base oc-ni-types:LABEL_ALLOCATION_MODE; + } + description + "The label allocation mode to be used for L3 entries + in the network instance"; + } + } + uses network-instance-top; +} diff --git a/vendor/cisco/xr/755/openconfig-ospf-policy.yang b/vendor/cisco/xr/755/openconfig-ospf-policy.yang new file mode 100644 index 000000000..c93e578f9 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospf-policy.yang @@ -0,0 +1,199 @@ +module openconfig-ospf-policy { + yang-version "1"; + + namespace "http://openconfig.net/yang/ospf-policy"; + + prefix "oc-ospf-pol"; + + import openconfig-routing-policy { prefix "oc-rpol"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-ospf-types { prefix "oc-ospf-types"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines extensions to the OpenConfig policy + model to add extensions for OSPF. This module is intended + to be generic for both OSPFv2 and OSPFv3."; + + oc-ext:openconfig-version "0.1.3"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2016-08-22" { + description + "Initial revision"; + reference "0.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping ospf-match-config { + description + "Configuration parameters for OSPF match conditions"; + + leaf area-eq { + type oc-ospf-types:ospf-area-identifier; + description + "Match prefixes which are within a particular OSPF area"; + } + } + + grouping ospf-match-conditions { + description + "Match conditions that are added by OSPF"; + + container ospf-conditions { + description + "Match conditions specific to OSPF"; + + container config { + description + "Configuration parameters relating to OSPF match conditions"; + + uses ospf-match-config; + } + + container state { + config false; + description + "Operational state parameters relating to OSPF match conditions"; + + uses ospf-match-config; + } + } + } + + grouping ospf-actions-config { + description + "Configuration parameters for OSPF policy actions"; + + leaf set-area { + type oc-ospf-types:ospf-area-identifier; + description + "Set the area for the matched route. This action is typically + used when importing prefixes into OSPF, such that a route can + be imported into a specific area within the instance."; + } + } + + grouping ospf-actions-set-metric-config { + description + "Configuration parameters relating to setting the OSPF metric"; + + leaf metric-type { + type enumeration { + enum EXTERNAL_TYPE_1 { + description + "Set the external type 1 metric"; + } + enum EXTERNAL_TYPE_2 { + description + "Set the external type 2 metric"; + } + } + default "EXTERNAL_TYPE_2"; + description + "Specify the type of metric which is to be set by the policy"; + } + + leaf metric { + type oc-ospf-types:ospf-metric; + description + "Set the metric of the routes matching the policy to the value + specified by this leaf."; + } + } + + grouping ospf-actions { + description + "Actions that are added by OSPF to the action framework"; + + container ospf-actions { + description + "Actions specific to OSPF"; + + container config { + description + "Configuration parameters for OSPF actions"; + + uses ospf-actions-config; + } + + container state { + config false; + description + "Operational state parameters for OSPF actions"; + + uses ospf-actions-config; + } + + container set-metric { + description + "Configuration and state parameters relating to manipulating + the OSPF metric"; + + container config { + description + "Configuration parameters relating to setting the OSPF metric"; + uses ospf-actions-set-metric-config; + } + + container state { + config false; + description + "Operational state parameters relating to setting the OSPF + metric"; + + uses ospf-actions-set-metric-config; + } + } + } + } + + // augment the groupings into the routing policy model + + // TODO: discuss whether igp-actions should be used or whether this should + // be removed. + + augment "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/" + + "oc-rpol:conditions" { + description + "Add OSPF specific match conditions to the routing policy model"; + uses ospf-match-conditions; + } + + augment "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/" + + "oc-rpol:actions" { + description + "Add OSPF specific actions to the routing policy model"; + uses ospf-actions; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-ospf-types.yang b/vendor/cisco/xr/755/openconfig-ospf-types.yang new file mode 100644 index 000000000..4ab7256ea --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospf-types.yang @@ -0,0 +1,795 @@ +module openconfig-ospf-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/ospf-types"; + + prefix "oc-ospf-types"; + + // import some basic types + import ietf-yang-types { prefix "yang"; } + import openconfig-extensions { prefix "oc-ext"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Type definitions for OSPF"; + + oc-ext:openconfig-version "0.1.3"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2017-02-28"{ + description + "Initial public release of OSPFv2"; + reference "0.1.0"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedefs + typedef ospf-area-identifier { + type union { + type uint32; + type yang:dotted-quad; + } + description + "An identifier for an area with OSPF version 2 or 3. This value + is expressed as either a dotted-quad, or a unsigned 32-bit + number"; + } + + typedef ospf-metric { + type uint16; + description + "A common type that can be utilised to express an OSPF metric"; + } + + typedef sr-sid-type { + type enumeration { + enum LABEL { + description + "When the length of the SR/Label Sub-TLV is specified to be 3, then + the right-most 20-bits represent a label value within the SR/Label + Sub-TLV. When this leaf is set to a value of Label the first-entry + leaf should be interpreted to be an MPLS label."; + } + enum SID { + description + "When the length of the SR/Label Sub-TLV is specified to be 4, then + the value specified in the first-entry leaf should be specified to + be a segment identifier."; + } + } + description + "A common type used to express the type of segment identifier that is + used in LSDB entries relating to segment routing"; + } + + // identities + identity OSPF_LSA_TYPE { + description + "Base identity for an OSPF LSA type. This identity is intended + to be used across both OSPFv2 and OSPFv3. Identity values that + correspond to only one OSPF version are marked as such."; + } + + identity ROUTER_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 1 - ROUTER_LSA. An LSA originated by each router within + the area describing the state and cost of the router's links + in the area."; + reference "RFC2328"; + } + + identity NETWORK_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 2 - NETWORK_LSA. An LSA originated for each broadcast and + non-broadcast multiple access (NBMA) in the area. This LSA is + originated by the designated router."; + reference "RFC2328"; + } + + identity SUMMARY_IP_NETWORK_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 3 - SUMMARY_IP_NETWORK_LSA. An LSA originated by area + border routers describing inter-area destinations. This LSA type + is used when the destination is an IP network"; + reference "RFC2328"; + } + + identity SUMMARY_ASBR_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 4 - SUMMARY_ASBR_LSA. An LSA originated by an area border + router describing inter-area destinations. This LSA type is used + when the destination is an AS boundary router."; + reference "RFC2328"; + } + + identity AS_EXTERNAL_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 5 - AS_EXTERNAL_LSA. This LSA type is used to describe + destinations external to the autonomous system, and is + originated by an AS boundary router (ASBR)."; + reference "RFC2328"; + } + + identity NSSA_AS_EXTERNAL_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 7 - NSSA_AS_EXTERNAL_LSA. This LSA type is used by + systems within a not-so-stubby-area (NSSA) to inject external + prefixes into the LSDB. They are translated to Type 5 LSAs + at an ABR device."; + reference "RFC3101"; + } + + identity OSPFV2_LINK_SCOPE_OPAQUE_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 9 - OSPFV2_LINK_SCOPE_OPAQUE_LSA. This LSA type is used + in OSPFv2 to distribute arbitrary information via the OSPF + protocol. The contents is specific to the application defining + the Opaque Type specified within the LSDB. LSAs with Type 9 have + a scope of the link that they are being transmitted on (and the + associated network or subnetwork)."; + reference "RFC5250"; + } + + identity OSPFV2_AREA_SCOPE_OPAQUE_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 10 - OSPFV2_AREA_SCOPE_OPAQUE_LSA. This LSA type is used + in OSPFv2 to distribute arbitrary information via the OSPF + protocol. The contents is specific to the application defining + the Opaque Type specified within the LSDB. LSAs with Type 10 have + a scope of the area that they are transmitted within."; + reference "RFC5250"; + } + + identity OSPFV2_AS_SCOPE_OPAQUE_LSA { + base "OSPF_LSA_TYPE"; + description + "Type 11 - OSPFV2_AS_SCOPE_OPAQUE_LSA. This LSA type is used + in OSPFv2 to distribute arbitrary information via the OSPF + protocol. The contents is specific to the application defining + the Opaque Type specified within the LSDB. LSAs with Type 11 + have a scope of the autonomous system that they are transmitted + within."; + reference "RFC5250"; + } + + identity ROUTER_LSA_TYPES { + description + "Sub-types of the router LSA"; + } + + identity ROUTER_LSA_P2P { + base "ROUTER_LSA_TYPES"; + description + "The LSA represents a point-to-point connection to another + router"; + } + + identity ROUTER_LSA_TRANSIT_NETWORK { + base "ROUTER_LSA_TYPES"; + description + "The LSA represents a connection to a transit network"; + } + + identity ROUTER_LSA_STUB_NETWORK { + base "ROUTER_LSA_TYPES"; + description + "The LSA represents a connection to a stub network"; + } + + identity ROUTER_LSA_VIRTUAL_LINK { + base "ROUTER_LSA_TYPES"; + description + "The LSA represents a virtual link connection"; + } + + identity OSPF_NEIGHBOR_STATE { + description + "The state of an adjacency between the local system and a remote + device"; + } + + identity DOWN { + base "OSPF_NEIGHBOR_STATE"; + description + "The initial state of a neighbor, indicating that no recent + information has been received from the neighbor."; + reference "RFC2328"; + } + + identity ATTEMPT { + base "OSPF_NEIGHBOR_STATE"; + description + "Utilised for neighbors that are attached to NBMA networks, it + indicates that no information has been recently received from + the neighbor but that Hello packets should be directly sent + to that neighbor."; + reference "RFC2328"; + } + + identity INIT { + base "OSPF_NEIGHBOR_STATE"; + description + "Indicates that a Hello packet has been received from the + neighbor but bi-directional communication has not yet been + established. That is to say that the local Router ID does + not appear in the list of neighbors in the remote system's + Hello packet."; + reference "RFC2328"; + } + + identity TWO_WAY { + base "OSPF_NEIGHBOR_STATE"; + description + "Communication between the local and remote system is + bi-directional such that the local system's Router ID is listed + in the received remote system's Hello packet."; + reference "RFC2328"; + } + + identity EXSTART { + base "OSPF_NEIGHBOR_STATE"; + description + "An adjacency with the remote system is being formed. The local + system is currently transmitting empty database description + packets in order to establish the master/slave relationship for + the adjacency."; + reference "RFC2328"; + } + + identity EXCHANGE { + base "OSPF_NEIGHBOR_STATE"; + description + "The local and remote systems are currently exchanging database + description packets in order to determine which elements of + their local LSDBs are out of date."; + reference "RFC2328"; + } + + identity LOADING { + base "OSPF_NEIGHBOR_STATE"; + description + "The local system is sending Link State Request packets to the + remote system in order to receive the more recently LSAs that + were discovered during the Exchange phase of the procedure + establishing the adjacency."; + reference "RFC2328"; + } + + identity FULL { + base "OSPF_NEIGHBOR_STATE"; + description + "The neighboring routers are fully adjacent such that both + LSDBs are synchronized. The adjacency will appear in Router and + Network LSAs"; + reference "RFC2328"; + } + + identity OSPF_NETWORK_TYPE { + description + "Types of network that OSPF should consider attached to an + interface"; + } + + identity POINT_TO_POINT_NETWORK { + base "OSPF_NETWORK_TYPE"; + description + "A interface that connects two routers."; + reference "RFC2328"; + } + + identity BROADCAST_NETWORK { + base "OSPF_NETWORK_TYPE"; + description + "An interface that supports >2 attached routers which has the + ability to address all connected systems via a single + (broadcast) address."; + } + + identity NON_BROADCAST_NETWORK { + base "OSPF_NETWORK_TYPE"; + description + "An interface that supports >2 attached rotuers which does not + have the ability to address all connected systems with a + broadcast address."; + } + + // rjs TODO: Maybe need p2mp here. + + + identity OSPF_OPAQUE_LSA_TYPE { + description + "This identity is the base used for opaque LSA types. The values + that extend this base are those that are described in the IANA + OSPF Opaque Link-State Advertisements (LSA) Option Types registry"; + } + + identity TRAFFIC_ENGINEERING { + base "OSPF_OPAQUE_LSA_TYPE"; + description + "The Traffic Engineering LSA. This type is used only with area-scope + Opaque LSAs - and is used to describe routers, point-to-point links + and connections to multi-access networks for traffic engineering + purposes."; + reference "RFC3630"; + } + + identity GRACE_LSA { + base "OSPF_OPAQUE_LSA_TYPE"; + description + "Grace LSAs are announced by a system undergoing graceful-restart. + A system that is attempting an OSPF graceful restart announces + Grace-LSAs with a specified grace period, indicating the intention + to have completed an restart within the specified period."; + reference "RFC3623"; + } + + identity ROUTER_INFORMATION { + base "OSPF_OPAQUE_LSA_TYPE"; + description + "The Router Information LSA is used by an OSPFv2 system to announce + optional capabilities of the local system, over and above those that + are included within the OSPF hello message field. The flooding scope + of the LSA can be link-, area-, or AS-wide (i.e., the LSA type can + be 9, 10 or 11)."; + reference "RFC7770"; + } + + identity OSPFV2_EXTENDED_PREFIX { + base "OSPF_OPAQUE_LSA_TYPE"; + description + "The Extended Prefix LSA is used in OSPFv2 to carry a set of attributes + that are to be associated with a prefix that is advertised in OSPF. The + attributes are carried as one or more TLV tuples. The flooding scope + of the LSA can be link-, area-, or AS-wide as specified by the + advertising system. The flooding scope of the LSA may exceed the scope + of the corresponding prefix."; + reference "RFC7684"; + } + + identity OSPFV2_EXTENDED_LINK { + base "OSPF_OPAQUE_LSA_TYPE"; + description + "The Extended Link LSA is used in OSPFv2 to carry a set of attributes + that are to be associated with a link that is advertised in OSPF. The + link attributes are carried as one or more TLV tuples. The flooding + scope of the link LSA is area-local - i.e., it is carried in a Type 10 + opaque LSA."; + reference "RFC7684"; + } + + identity OSPF_TE_LSA_TLV_TYPE { + description + "This identity is the base used for the type field of TLVs that are + included within the Traffic Engineering Opaque LSA."; + } + + identity TE_ROUTER_ADDRESS { + base "OSPF_TE_LSA_TLV_TYPE"; + description + "A stable IP address of the advertising router that is always reachable + if the node has connectivity."; + } + + identity TE_LINK { + base "OSPF_TE_LSA_TLV_TYPE"; + description + "A single link within a traffic engineering topology. A set of sub-TLVs + are carried within this attribute to indicate traffic engineering + characteristics of the link."; + } + + identity TE_ROUTER_IPV6_ADDRESS { + base "OSPF_TE_LSA_TLV_TYPE"; + description + "A stable IPv6 address of the advertising router that is always + reachable if the node has connectivity. This TLV is used only with + OSPFv3"; + reference "RFC5329"; + } + + identity TE_LINK_LOCAL { + base "OSPF_TE_LSA_TLV_TYPE"; + description + "Attributes associated with the local link by the system."; + reference "RFC4203"; + } + + identity TE_NODE_ATTRIBUTE { + base "OSPF_TE_LSA_TLV_TYPE"; + description + "Attributes associted with the local system"; + reference "RFC5786"; + } + + identity TE_OPTICAL_NODE_PROPERTY { + base "OSPF_TE_LSA_TLV_TYPE"; + description + "Attributes associated with the local optical node. A set of sub-TLVs + are carried within this TLV which are used within the GMPLS control + plane when using OSPF"; + } + + identity OSPF_TE_LINK_TLV_TYPE { + description + "This identity is the based used for the type field for sub-TLVs of the + Link TLV of the OSPF Traffic Engineering Opaque LSA"; + } + + identity TE_LINK_TYPE { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE Link Type sub-TLV appears exactly once per OSPF-TE Link + and describes the type of the link"; + } + + identity TE_LINK_ID { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE Link ID sub-TLV appears exactly once per OSPF-TE link and + identifies the remote end of the link."; + } + + identity TE_LINK_LOCAL_IP { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE Local IP specifies a list of the interface addresses of the + local system corresponding to the traffic engineering link."; + } + + identity TE_LINK_REMOTE_IP { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE Remote IP specifies a list of IP addresses of the remote + neighbors associated with the traffic engineering link."; + } + + identity TE_LINK_METRIC { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE Metric specifies the link metric for traffic engineering + purposes"; + } + + identity TE_LINK_MAXIMUM_BANDWIDTH { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE Maximum Bandwidth specifies the maximum bandwidth of the + link that it is associated with."; + } + + identity TE_LINK_MAXIMUM_RESERVABLE_BANDWIDTH { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE Maximum Reservable Bandwidth specifies the maximum + bandwidth that may be reserved on the link in bytes per second"; + } + + identity TE_LINK_UNRESERVED_BANDWIDTH { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE unreserved bandwidth indicates the amount of bandwidth + at each priority level that is currently not reserved"; + } + + identity TE_LINK_ADMIN_GROUP { + base "OSPF_TE_LINK_TLV_TYPE"; + description + "The OSPF-TE administrative group indicates the administrative group + that the is assigned to the interface"; + } + + identity TE_NODE_ATTRIBUTE_TLV_TYPE { + description + "This identity forms the base for sub-TLVs of the Node Attribute TLV + of the Traffic Engineering LSA"; + } + + identity NODE_IPV4_LOCAL_ADDRESS { + base "TE_NODE_ATTRIBUTE_TLV_TYPE"; + description + "The Node Attribute Sub-TLV contains a list of the IPv4 addresses of + the local system"; + } + + identity NODE_IPV6_LOCAL_ADDRESS { + base "TE_NODE_ATTRIBUTE_TLV_TYPE"; + description + "The Node Attribute Sub-TLV contains a list of the IPv6 addresses of + the local system"; + } + + identity GRACE_LSA_TLV_TYPES { + description + "This identity is used as the base for TLVs within the Grace LSA"; + } + + identity GRACE_PERIOD { + base "GRACE_LSA_TLV_TYPES"; + description + "This sub-TLV describes the period for which adjacencies should be + maintained with the restarting system"; + } + + identity GRACE_RESTART_REASON { + base "GRACE_LSA_TLV_TYPES"; + description + "This sub-TLV describes the reason for the OSPF restart of the system + that is restarting"; + } + + identity GRACE_IP_INTERFACE_ADDRESS { + base "GRACE_LSA_TLV_TYPES"; + description + "This sub-TLV specifies the restarting system's IP address on the + interface via which it is advertising the Grace LSA"; + } + + identity RI_LSA_TLV_TYPES { + description + "This identity is used as the base for the TLVs within the Router + Information LSA"; + reference "RFC7770"; + } + + identity RI_INFORMATIONAL_CAPABILITIES { + base "RI_LSA_TLV_TYPES"; + description + "Informational capabilities of the advertising system"; + reference "RFC7770"; + } + + identity RI_FUNCTIONAL_CAPABILITIES { + base "RI_LSA_TLV_TYPES"; + description + "Functional capabilities of the advertising system"; + reference "RFC7770"; + } + + identity RI_NODE_ADMIN_TAG { + base "RI_LSA_TLV_TYPES"; + description + "Operator-defined administrative tags associated with the advertising + system"; + reference "RFC7777"; + } + + identity RI_SR_SID_LABEL_RANGE { + base "RI_LSA_TLV_TYPES"; + description + "SID or Label ranges for use with segment routing when forwarding to + the advertising system"; + reference "draft-ietf-ospf-segment-routing-extensions"; + } + + identity RI_SR_ALGORITHM { + base "RI_LSA_TLV_TYPES"; + description + "The algorithms that are supported for segment routing by the + advertising system"; + reference "draft-ietf-ospf-segment-routing-extensions"; + } + + // will be shared with IS-IS + identity SR_ALGORITHM { + description + "This identity is used as a base for the algorithms that can be + supported for segment routing and are advertised by a system in the RI + LSA"; + } + + identity SPF { + base "SR_ALGORITHM"; + description + "The standard shortest path algorithm based on link metric, + as used by the OSPF protocol"; + } + + identity STRICT_SPF { + base "SR_ALGORITHM"; + description + "The standard shortest path algorithm based on link metric, with the + requirement that all nodes along the path honor the SPF decision. That + is to say that the SPF decision cannot be altered by local policy at + the node"; + } + + identity OSPF_RI_SR_SID_LABEL_TLV_TYPES { + description + "This identity is used as a base for the sub-TLVs of the Segment + Routing SID/Label Range TLV"; + } + + identity SR_SID_LABEL_TLV { + base "OSPF_RI_SR_SID_LABEL_TLV_TYPES"; + description + "A range of SID/Label values used by the local system"; + reference "draft-ietf-ospf-segment-routing-extensions"; + } + + identity OSPFV2_ROUTER_LINK_TYPE { + description + "OSPFv2 Router Link Types as per the IANA registry defined in + RFC2740"; + } + + identity POINT_TO_POINT_LINK { + base "OSPFV2_ROUTER_LINK_TYPE"; + description + "The link is a point-to-point connection to another router"; + } + + identity TRANSIT_NETWORK_LINK { + base "OSPFV2_ROUTER_LINK_TYPE"; + description + "The link is a connection to a transit network"; + } + + identity STUB_NETWORK_LINK { + base "OSPFV2_ROUTER_LINK_TYPE"; + description + "The link is a connection to a stub network"; + } + + identity VIRTUAL_LINK { + base "OSPFV2_ROUTER_LINK_TYPE"; + description + "The link is a virtual connection to another router"; + } + + identity OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE { + description + "Sub-TLVs of the OSPFv2 Extended Prefix LSA as defined by + RFC7684"; + } + + identity EXTENDED_PREFIX_RANGE { + base "OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; + description + "The attributes being described relate to a range of prefixes"; + } + + identity PREFIX_SID { + base "OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; + description + "The TLV describes a Segment Routing Prefix Segment Identifier + associated with a prefix"; + } + + identity SID_LABEL_BINDING { + base "OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; + description + "The TLV describes a binding of a SID to a path to the prefix, + which may have associated path characteristics"; + } + + identity OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE { + description + "Sub-TLV types carried in the SID/Label Binding Sub-TLV of + the Extended Prefix Sub-TLV"; + } + + identity SID_MPLS_LABEL_BINDING { + base "OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; + description + "This sub-TLV indicates a binding between an SR SID and an + MPLS label and must be present in the sub-TLV"; + } + + identity ERO_METRIC { + base "OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; + description + "This sub-TLV indicates the cost of the ERO path being + advertised in the SID/Label TLV"; + } + + identity ERO_PATH { + base "OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; + description + "This sub-TLV indicates the path associated with an ERO + being advertised in the SID/Label TLV"; + } + + identity OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE { + description + "The types of segment included within an ERO Path described + within the SID/Label binding sub-TLV"; + } + + identity IPV4_SEGMENT { + base "OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE"; + description + "The segment is specified as an IPv4 address"; + } + + identity UNNUMBERED_INTERFACE_SEGMENT { + base "OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE"; + description + "The segment is specified as an unnumbered interface of + a remote system"; + } + + identity OSPFV2_EXTENDED_LINK_SUBTLV_TYPE { + description + "Sub-TLVs of the Extended Link TLV for OSPFv2"; + } + + identity ADJACENCY_SID { + base "OSPFV2_EXTENDED_LINK_SUBTLV_TYPE"; + description + "The extended link sub-TLV indicates an Adjacency SID"; + } + + identity MAX_METRIC_TRIGGER { + description + "Triggers which cause the maximum metric to be set for + entities advertised in OSPF"; + } + + identity MAX_METRIC_ON_SYSTEM_BOOT { + base "MAX_METRIC_TRIGGER"; + description + "Set the maximum metric when the system boots."; + } + + identity MAX_METRIC_INCLUDE { + description + "Entities that may optionally be included when advertising + the maximum metric."; + } + + identity MAX_METRIC_INCLUDE_STUB { + base "MAX_METRIC_INCLUDE"; + description + "Include stub networks when advertising the maximum metric."; + } + + identity MAX_METRIC_INCLUDE_TYPE2_EXTERNAL { + base "MAX_METRIC_INCLUDE"; + description + "Include OSPF Type 2 external routes when advertising + the maximum metric."; + } +} diff --git a/vendor/cisco/xr/755/openconfig-ospfv2-area-interface.yang b/vendor/cisco/xr/755/openconfig-ospfv2-area-interface.yang new file mode 100644 index 000000000..0c88d55a7 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospfv2-area-interface.yang @@ -0,0 +1,498 @@ +submodule openconfig-ospfv2-area-interface { + + belongs-to openconfig-ospfv2 { + prefix "oc-ospfv2"; + } + + import ietf-yang-types { prefix "yang"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-types { prefix "oc-types"; } + import openconfig-interfaces { prefix "oc-if"; } + import openconfig-ospf-types { prefix "oc-ospf-types"; } + import openconfig-bfd { prefix "oc-bfd"; } + + // include common submodule + include openconfig-ospfv2-common; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule provides OSPFv2 configuration and operational + state parameters that are specific to the area context"; + + oc-ext:openconfig-version "0.3.0"; + + revision "2021-03-17" { + description + "Add bfd support without augmentation."; + reference "0.3.0"; + } + + revision "2019-11-28" { + description + "Revert path changes in when statements in LSDB model"; + reference "0.2.2"; + } + + revision "2019-11-05" { + description + "Fix paths in when statements in LSDB model"; + reference "0.2.1"; + } + + revision "2019-07-09" { + description + "Normalise all timeticks64 to be expressed in nanoseconds."; + reference "0.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2017-02-28"{ + description + "Initial public release of OSPFv2"; + reference "0.1.0"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + grouping ospfv2-area-interface-config { + description + "Configuration parameters for an OSPF interface"; + + leaf id { + type string; + description + "An operator-specified string utilised to uniquely + reference this interface"; + } + + leaf network-type { + type identityref { + base "oc-ospf-types:OSPF_NETWORK_TYPE"; + } + description + "The type of network that OSPFv2 should use for the specified + interface."; + } + + leaf priority { + type uint8; + description + "The local system's priority to become the designated + router"; + } + + leaf multi-area-adjacency-primary { + type boolean; + default true; + description + "When the specified interface is included in more than one + area's configuration, this leaf marks whether the area should + be considered the primary (when the value is true). In the + case that this value is false, the area is considered a + secondary area."; + } + + leaf authentication-type { + type string; + // rjs TODO: discuss with bogdanov@ what the approach for auth + // links should be. + description + "The type of authentication that should be used on this + interface"; + } + + leaf metric { + type oc-ospf-types:ospf-metric; + description + "The metric for the interface"; + } + + leaf passive { + type boolean; + description + "When this leaf is set to true, the interface should be + advertised within the OSPF area but OSPF adjacencies should + not be established over the interface"; + } + + leaf hide-network { + type boolean; + description + "When this leaf is set to true, the network connected to + the interface should be hidden from OSPFv2 advertisements + per the procedure described in RFC6860."; + reference + "RFC6860 - Hiding Transit-Only Networks in OSFF"; + } + } + + grouping ospfv2-area-interface-timers-config { + description + "Configuration parameters relating to per-interface OSPFv2 + timers"; + + leaf dead-interval { + type uint32; + units seconds; + description + "The number of seconds that the local system should let + elapse before declaring a silent router down"; + reference "RFC2328"; + } + + leaf hello-interval { + type uint32; + units seconds; + description + "The number of seconds the local system waits between the + transmission of subsequent Hello packets"; + } + + leaf retransmission-interval { + type uint32; + units seconds; + description + "The number of seconds that the local system waits before + retransmitting an unacknowledged LSA."; + } + } + + grouping ospfv2-area-interface-mpls-config { + description + "Configuration parameters relating to MPLS extensions for OSPF"; + + leaf traffic-engineering-metric { + type uint32; + description + "A link metric that should only be considered for traffic + engineering purposes."; + reference "RFC3630, 2.5.5"; + } + } + + grouping ospfv2-area-interface-neighbor-config { + description + "Configuration parameters relating to an individual neighbor + system on an interface within an OSPF area"; + + leaf router-id { + type yang:dotted-quad; + description + "The router ID of the remote system."; + } + + leaf metric { + type oc-ospf-types:ospf-metric; + description + "The metric that should be considered to the remote neighbor + over this interface. This configuration is only applicable + for multiple-access networks"; + } + } + + grouping ospfv2-area-interface-neighbor-state { + description + "Operational state parameters relating an individual neighbor + system on an interface within an OSPF area"; + + leaf priority { + type uint8; + description + "The remote system's priority to become the designated + router"; + } + + leaf dead-time { + type oc-types:timeticks64; + description + "The time at which this neighbor's adjacency will be + considered dead. The value is expressed relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + + leaf designated-router { + type yang:dotted-quad; + description + "The designated router for the adjacency. This device + advertises the Network LSA for broadcast and NBMA networks."; + } + + leaf backup-designated-router { + type yang:dotted-quad; + description + "The backup designated router for the adjacency."; + } + + leaf optional-capabilities { + // rjs TODO: should this be anything more than the hex-string + // this is currently what is shown in IOS/JUNOS + type yang:hex-string; + description + "The optional capabilities field received in the Hello + message from the neighbor"; + } + + leaf last-established-time { + type oc-types:timeticks64; + // rjs TODO: check implementations - is FULL considered 'up' + // since the adjacency is probably up since ExStart + description + "The time at which the adjacency was last established with + the neighbor. That is to say the time at which the + adjacency last transitioned into the FULL state. The + value is expressed relative to the Unix Epoch (Jan 1 1970 + 00:00:00 UTC)."; + } + + leaf adjacency-state { + type identityref { + base "oc-ospf-types:OSPF_NEIGHBOR_STATE"; + } + description + "The state of the adjacency with the neighbor."; + } + + leaf state-changes { + type uint32; + description + "The number of transitions out of the FULL state that this + neighbor has been through"; + } + + leaf retranmission-queue-length { + type uint32; + description + "The number of LSAs that are currently in the queue to be + retransmitted to the neighbor"; + } + } + + grouping ospfv2-area-interface-lsa-filter-config { + description + "Configuration options relating to filtering LSAs + on an interface."; + + leaf all { + type boolean; + description + "When this leaf is set to true, all LSAs should be + filtered to the neighbours with whom adjacencies are + formed on the interface."; + } + + // NB: this container can be augmented to add additional + // filtering options which exist in some implementations. + } + + grouping ospfv2-area-interface-mpls-igp-ldp-sync-state { + description + "Operational state parameters relating to MPLS LDP/IGP + synchronization on a per-neighbor basis"; + + leaf synchronized { + type boolean; + description + "When the value of this leaf is set to true, the + LDP neighbors reachable via this interface are considered + to be synchronized, and hence the link is considered + usable by the IGP."; + } + } + + grouping ospfv2-area-interfaces-structure { + description + "Structural grouping for configuration and operational state + parameters that relate to an interface"; + + container interfaces { + description + "Enclosing container for a list of interfaces enabled within + this area"; + + list interface { + key "id"; + + description + "List of interfaces which are enabled within this area"; + + leaf id { + type leafref { + path "../config/id"; + } + description + "A pointer to the identifier for the interface."; + } + + container config { + description + "Configuration parameters for the interface on which + OSPFv2 is enabled"; + + uses ospfv2-area-interface-config; + } + + container state { + config false; + description + "Operational state parameters for the interface on which + OSPFv2 is enabled"; + uses ospfv2-area-interface-config; + } + + uses oc-if:interface-ref; + + container timers { + description + "Timers relating to OSPFv2 on the interface"; + + container config { + description + "Configuration parameters for OSPFv2 timers on the + interface"; + uses ospfv2-area-interface-timers-config; + } + + container state { + config false; + description + "Operational state parameters for OSPFv2 timers on + the interface"; + + uses ospfv2-area-interface-timers-config; + } + } + + container mpls { + description + "Configuration and operational state parameters for + OSPFv2 extensions related to MPLS on the interface."; + + container config { + description + "Configuration parameters for OSPFv2 extensions relating + to MPLS for the interface"; + uses ospfv2-area-interface-mpls-config; + } + + container state { + config false; + description + "Operational state for OSPFv2 extensions relating to + MPLS for the interface"; + uses ospfv2-area-interface-mpls-config; + } + + container igp-ldp-sync { + description + "OSPFv2 parameters relating to LDP/IGP synchronization"; + + container config { + description + "Configuration parameters relating to LDP/IG + synchronization."; + uses ospfv2-common-mpls-igp-ldp-sync-config; + } + + container state { + config false; + description + "Operational state variables relating to LDP/IGP + synchronization"; + uses ospfv2-common-mpls-igp-ldp-sync-config; + uses ospfv2-area-interface-mpls-igp-ldp-sync-state; + } + } + } + + container lsa-filter { + description + "OSPFv2 parameters relating to filtering of LSAs to + neighbors the specified interface."; + + container config { + description + "Configuration parameters relating to filtering LSAs + on the specified interface."; + uses ospfv2-area-interface-lsa-filter-config; + } + + container state { + config false; + description + "Operational state parameters relating to filtering + LSAs on the specified interface"; + uses ospfv2-area-interface-lsa-filter-config; + } + } + + container neighbors { + description + "Enclosing container for the list of neighbors that + an adjacency has been established with on the interface"; + + list neighbor { + key "router-id"; + + description + "A neighbor with which an OSPFv2 adjacency has been + established within this area"; + + leaf router-id { + type leafref { + path "../config/router-id"; + } + description + "Reference to the router ID of the adjacent system"; + } + + container config { + description + "Configuration parameters relating to the adjacent + system"; + uses ospfv2-area-interface-neighbor-config; + } + + container state { + config false; + description + "Operational state parameters relating to the adjacent + system"; + uses ospfv2-area-interface-neighbor-config; + uses ospfv2-area-interface-neighbor-state; + } + } + } + + uses oc-bfd:bfd-enable; + } + } + } + +} diff --git a/vendor/cisco/xr/755/openconfig-ospfv2-area.yang b/vendor/cisco/xr/755/openconfig-ospfv2-area.yang new file mode 100644 index 000000000..241cfd155 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospfv2-area.yang @@ -0,0 +1,193 @@ +submodule openconfig-ospfv2-area { + + belongs-to openconfig-ospfv2 { + prefix "oc-ospfv2"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-ospf-types { prefix "oc-ospf-types"; } + import ietf-inet-types { prefix "inet"; } + + // include other required submodules + include openconfig-ospfv2-area-interface; + include openconfig-ospfv2-lsdb; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule provides OSPFv2 configuration and operational + state parameters that are specific to the area context"; + + oc-ext:openconfig-version "0.2.2"; + + revision "2019-11-28" { + description + "Revert path changes in when statements in LSDB model"; + reference "0.2.2"; + } + + revision "2019-11-05" { + description + "Fix paths in when statements in LSDB model"; + reference "0.2.1"; + } + + revision "2019-07-09" { + description + "Normalise all timeticks64 to be expressed in nanoseconds."; + reference "0.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2017-02-28"{ + description + "Initial public release of OSPFv2"; + reference "0.1.0"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + grouping ospfv2-area-config { + description + "Configuration parameters relating to an OSPF area"; + + leaf identifier { + type oc-ospf-types:ospf-area-identifier; + description + "An identifier for the OSPFv2 area - described as either a + 32-bit unsigned integer, or a dotted-quad"; + } + } + + grouping ospfv2-area-mpls-config { + description + "Configuration parameters relating to OSPFv2 extensions for + MPLS"; + + leaf traffic-engineering-enabled { + type boolean; + description + "Specifies whether traffic engineering extensions should be + advertised within the area"; + } + } + + grouping ospfv2-area-virtual-link-config { + description + "Configuration parameters relating to a virtual-link within + the OSPF area"; + + leaf remote-router-id { + type inet:ipv4-address-no-zone; + description + "The router ID of the device which terminates the remote end + of the virtual link"; + } + } + + grouping ospfv2-area-structure { + description + "Structural grouping for configuration and operational state + parameters that relate to an individual area"; + + container config { + description + "Configuration parameters relating to an OSPFv2 area"; + + uses ospfv2-area-config; + } + + container state { + config false; + description + "Operational state parameters relating to an OSPFv2 area"; + uses ospfv2-area-config; + } + + container mpls { + description + "Configuration and operational state parameters for OSPFv2 + extensions relating to MPLS"; + + container config { + description + "Configuration parameters relating to MPLS extensions for + OSPFv2"; + uses ospfv2-area-mpls-config; + } + + container state { + config false; + description + "Operational state parameters relating to MPLS extensions + for OSPFv2"; + uses ospfv2-area-mpls-config; + } + } + + uses ospfv2-lsdb-structure; + uses ospfv2-area-interfaces-structure; + + container virtual-links { + description + "Configuration and state parameters relating to virtual + links from the source area to a remote router"; + + list virtual-link { + key "remote-router-id"; + + description + "Configuration and state parameters relating to a + virtual link"; + + leaf remote-router-id { + type leafref { + path "../config/remote-router-id"; + } + description + "Reference to the remote router ID"; + } + + container config { + description + "Configuration parameters relating to the OSPF virtual link"; + uses ospfv2-area-virtual-link-config; + } + + container state { + config false; + description + "State parameters relating to the OSPF virtual link"; + uses ospfv2-area-virtual-link-config; + uses ospfv2-area-interface-neighbor-state; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-ospfv2-common.yang b/vendor/cisco/xr/755/openconfig-ospfv2-common.yang new file mode 100644 index 000000000..e9a1e7e12 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospfv2-common.yang @@ -0,0 +1,115 @@ +submodule openconfig-ospfv2-common { + + belongs-to openconfig-ospfv2 { + prefix "oc-ospfv2"; + } + + import openconfig-extensions { prefix "oc-ext"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule provides OSPFv2 configuration and operational + state parameters that are shared across multiple contexts"; + + oc-ext:openconfig-version "0.2.2"; + + revision "2019-11-28" { + description + "Revert path changes in when statements in LSDB model"; + reference "0.2.2"; + } + + revision "2019-11-05" { + description + "Fix paths in when statements in LSDB model"; + reference "0.2.1"; + } + + revision "2019-07-09" { + description + "Normalise all timeticks64 to be expressed in nanoseconds."; + reference "0.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2017-02-28"{ + description + "Initial public release of OSPFv2"; + reference "0.1.0"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + grouping ospfv2-common-mpls-igp-ldp-sync-config { + description + "Configuration parameters used for OSPFv2 MPLS/IGP + synchronization"; + + leaf enabled { + type boolean; + description + "When this leaf is set to true, do not utilise this link for + forwarding via the IGP until such time as LDP adjacencies to + the neighbor(s) over the link are established."; + } + + leaf post-session-up-delay { + type uint32; + units milliseconds; + description + "This leaf specifies a delay, expressed in units of milliseconds, + between the LDP session to the IGP neighbor being established, and + it being considered synchronized by the IGP."; + } + } + + grouping ospfv2-common-timers { + description + "Common definition of the type of timers that the OSPFv2 implementation + uses"; + + leaf timer-type { + type enumeration { + enum LINEAR_BACKOFF { + description + "The backoff used by the OSPFv2 implementation is linear, such that + a common delay is added following each event."; + } + enum EXPONENTIAL_BACKOFF { + description + "The backoff used by the OSPFv2 implementation is exponential, such + that the delay added following each event increases."; + } + } + description + "The timer mode that is utilised by the implementation."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-ospfv2-global.yang b/vendor/cisco/xr/755/openconfig-ospfv2-global.yang new file mode 100644 index 000000000..660f4a31a --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospfv2-global.yang @@ -0,0 +1,533 @@ +submodule openconfig-ospfv2-global { + + belongs-to openconfig-ospfv2 { + prefix "oc-ospfv2"; + } + + import ietf-yang-types { prefix "yang"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-routing-policy { prefix "oc-rpol"; } + import openconfig-ospf-types { prefix "oc-ospft"; } + + // Include common submodule + include openconfig-ospfv2-common; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule provides OSPFv2 configuration and operational + state parameters that are global to a particular OSPF instance"; + + oc-ext:openconfig-version "0.2.2"; + + revision "2019-11-28" { + description + "Revert path changes in when statements in LSDB model"; + reference "0.2.2"; + } + + revision "2019-11-05" { + description + "Fix paths in when statements in LSDB model"; + reference "0.2.1"; + } + + revision "2019-07-09" { + description + "Normalise all timeticks64 to be expressed in nanoseconds."; + reference "0.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2017-02-28"{ + description + "Initial public release of OSPFv2"; + reference "0.1.0"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + grouping ospfv2-global-config { + description + "Global configuration for OSPFv2"; + + leaf router-id { + type yang:dotted-quad; + description + "A 32-bit number represented as a dotted quad assigned to + each router running the OSPFv2 protocol. This number should + be unique within the autonomous system"; + reference "rfc2828"; + } + + leaf summary-route-cost-mode { + type enumeration { + enum RFC1583_COMPATIBLE { + description + "Specify that summary routes should assume the cost of + the lowest-cost more-specific route as per the behaviour + specified in RFC1583"; + } + enum RFC2328_COMPATIBLE { + description + "Specify that summary routes should assume the cost of the + highest-cost more-specific route as per the revised + behaviour specified in RFC2328"; + } + } + default "RFC2328_COMPATIBLE"; + description + "Specify how costs for the summary routes should be specified + as per the behaviour in the original OSPF specification + RFC1583, or alternatively whether the revised behaviour + described in RFC2328 should be utilised"; + } + + leaf igp-shortcuts { + type boolean; + description + "When this leaf is set to true, OSPFv2 will route traffic to + a remote system via any LSP to the system that is marked as + shortcut eligible."; + } + + leaf log-adjacency-changes { + type boolean; + description + "When this leaf is set to true, a log message will be + generated when the state of an OSPFv2 neighbour changes."; + } + + leaf hide-transit-only-networks { + type boolean; + description + "When this leaf is set to true, do not advertise prefixes + into OSPFv2 that correspond to transit interfaces, as per + the behaviour discussed in RFC6860."; + reference + "RFC6860 - Hiding Transit-Only Networks in OSPF"; + } + } + + grouping ospfv2-global-spf-timers-config { + description + "Configuration parameters relating to global SPF timer + parameters for OSPFv2"; + + leaf initial-delay { + // rjs TODO: IS-IS model has this as decimal64 - should it be + // that or uint32 msec? + type uint32; + units msec; + description + "The value of this leaf specifies the time between a change + in topology being detected and the first run of the SPF + algorithm."; + } + + leaf maximum-delay { + // rjs TODO: same question as above + type uint32; + units msec; + description + "The value of this leaf specifies the maximum delay between + a topology change being detected and the SPF algorithm + running. This value is used for implementations that support + increasing the wait time between SPF runs."; + } + + // rjs TODO: some questions here around what we should specify: + // JUNOS has rapid-runs and holddown + // Cisco has maximum time between runs, and then a doubling of + // the wait interval up to that maximum. + // ALU has first-wait, second-wait, max-wait + } + + grouping ospfv2-global-lsa-generation-timers-config { + description + "Configuration parameters relating to global LSA generation + parameters for OSPFv2"; + + leaf initial-delay { + type uint32; + units msec; + description + "The value of this leaf specifies the time between the first + time an LSA is generated and advertised and the subsequent + generation of that LSA."; + } + + leaf maximum-delay { + type uint32; + units msec; + description + "The value of this leaf specifies the maximum time between the + generation of an LSA and the subsequent re-generation of that + LSA. This value is used in implementations that support + increasing delay between generation of an LSA"; + } + } + + grouping ospfv2-global-spf-timers-state { + description + "Operational state parameters relating to OSPFv2 global + timers"; + + uses ospfv2-common-timers; + } + + grouping ospfv2-global-lsa-generation-timers-state { + description + "Operational state parameters relating to OSPFv2 global + timers"; + + uses ospfv2-common-timers; + } + + grouping ospfv2-global-graceful-restart-config { + description + "Configuration parameters relating to graceful restart for + OSPFv2"; + + leaf enabled { + type boolean; + description + "When the value of this leaf is set to true, graceful restart + is enabled on the local system. In this case, the system will + use Grace-LSAs to signal that it is restarting to its + neighbors."; + } + + leaf helper-only { + type boolean; + description + "Operate graceful-restart only in helper mode. When this leaf + is set to true, the local system does not use Grace-LSAs to + indicate that it is restarting, but will accept Grace-LSAs + from remote systems, and suppress withdrawl of adjacencies + of the system for the grace period specified"; + } + } + + grouping ospfv2-global-mpls-config { + description + "Configuration parameters for OSPFv2 options which + relate to MPLS"; + + leaf traffic-engineering-extensions { + type boolean; + description + "When this leaf is set to true, use traffic engineering + extensions for OSPF to advertise TE parameters via type 10 + Opaque LSAs"; + } + } + + grouping ospfv2-global-inter-areapp-config { + description + "Configuration parameters for OSPFv2 policies which propagate + prefixes between areas"; + + leaf src-area { + type leafref { + // we are at ospf/global/inter-area-propagation-policies/... + // inter-area-propagation-policy/config/src-area + path "../../../../../areas/area/identifier"; + } + description + "The area from which prefixes are to be exported."; + } + + leaf dst-area { + type leafref { + // we are at ospf/global/inter-area-propagation-policies/... + // inter-area-propagation-policy/config/src-area + path "../../../../../areas/area/identifier"; + } + description + "The destination area to which prefixes are to be imported"; + } + + uses oc-rpol:apply-policy-import-config; + } + + grouping ospfv2-global-max-metric-config { + description + "Configuration paramters relating to setting the OSPFv2 + maximum metric."; + + leaf set { + type boolean; + description + "When this leaf is set to true, all non-stub interfaces of + the local system are advertised with the maximum metric, + such that the router does not act as a transit system, + (similarly to the IS-IS overload functionality)."; + reference + "RFC3137 - OSPF Stub Router Advertisement"; + } + + leaf timeout { + type uint64; + units "seconds"; + description + "The delay, in seconds, after which the advertisement of + entities with the maximum metric should be cleared, and + the system reverts to the default, or configured, metrics."; + } + + leaf-list include { + type identityref { + base "oc-ospft:MAX_METRIC_INCLUDE"; + } + description + "By default, the maximum metric is advertised for all + non-stub interfaces of a device. When identities are + specified within this leaf-list, additional entities + are also advertised with the maximum metric according + to the values within the list."; + } + + leaf-list trigger { + type identityref { + base "oc-ospft:MAX_METRIC_TRIGGER"; + } + description + "By default, the maximum metric is only advertised + when the max-metric/set leaf is specified as true. + In the case that identities are specified within this + list, they provide additional triggers (e.g., system + boot) that may cause the max-metric to be set. In this + case, the system should still honour the timeout specified + by the max-metric/timeout leaf, and clear the max-metric + advertisements after the expiration of this timer."; + } + } + + grouping ospfv2-global-structural { + description + "Top level structural grouping for OSPFv2 global parameters"; + + container global { + description + "Configuration and operational state parameters for settings + that are global to the OSPFv2 instance"; + + container config { + description + "Global configuration parameters for OSPFv2"; + uses ospfv2-global-config; + } + + container state { + config false; + description + "Operational state parameters for OSPFv2"; + uses ospfv2-global-config; + } + + container timers { + description + "Configuration and operational state parameters for OSPFv2 + timers"; + + container spf { + description + "Configuration and operational state parameters relating + to timers governing the operation of SPF runs"; + + container config { + description + "Configuration parameters relating to global OSPFv2 + SPF timers"; + uses ospfv2-global-spf-timers-config; + } + + container state { + config false; + description + "Operational state parameters relating to the global + OSPFv2 SPF timers"; + uses ospfv2-global-spf-timers-config; + uses ospfv2-global-spf-timers-state; + } + } + + container max-metric { + description + "Configuration and operational state parameters relating + to setting the OSPFv2 maximum metric."; + + container config { + description + "Configuration parameters relating to setting the OSPFv2 + maximum metric for a set of advertised entities."; + uses ospfv2-global-max-metric-config; + } + + container state { + config false; + description + "Operational state parameters relating to setting the + OSPFv2 maximum metric for a set of advertised entities."; + uses ospfv2-global-max-metric-config; + } + } + + container lsa-generation { + description + "Configuration and operational state parameters relating + to timers governing the generation of LSAs by the local + system"; + + container config { + description + "Configuration parameters relating to the generation of + LSAs by the local system"; + uses ospfv2-global-lsa-generation-timers-config; + } + + container state { + config false; + description + "Operational state parameters relating to the generation + of LSAs by the local system"; + uses ospfv2-global-lsa-generation-timers-config; + uses ospfv2-global-lsa-generation-timers-state; + } + } + } + + container graceful-restart { + description + "Configuration and operational state parameters for OSPFv2 + graceful restart"; + + container config { + description + "Configuration parameters relating to OSPFv2 graceful + restart"; + uses ospfv2-global-graceful-restart-config; + } + + container state { + config false; + description + "Operational state parameters relating to OSPFv2 graceful + restart"; + uses ospfv2-global-graceful-restart-config; + } + } + + container mpls { + description + "OSPFv2 parameters relating to MPLS"; + + container config { + description + "Configuration parameters relating to MPLS for OSPFv2"; + uses ospfv2-global-mpls-config; + } + + container state { + config false; + description + "Operational state parameters relating to MPLS for + OSPFv2"; + uses ospfv2-global-mpls-config; + } + + container igp-ldp-sync { + description + "OSPFv2 parameters relating to LDP/IGP synchronization"; + + container config { + description + "Configuration parameters relating to LDP/IG + synchronization."; + uses ospfv2-common-mpls-igp-ldp-sync-config; + } + + container state { + config false; + description + "Operational state variables relating to LDP/IGP + synchronization"; + uses ospfv2-common-mpls-igp-ldp-sync-config; + } + } + } + + container inter-area-propagation-policies { + description + "Policies defining how inter-area propagation should be performed + by the OSPF instance"; + + list inter-area-propagation-policy { + key "src-area dst-area"; + description + "A list of connections between pairs of areas - routes are + propagated from the source (src) area to the destination (dst) + area according to the policy specified"; + + leaf src-area { + type leafref { + path "../config/src-area"; + } + description + "Reference to the source area"; + } + + leaf dst-area { + type leafref { + path "../config/dst-area"; + } + description + "Reference to the destination area"; + } + + container config { + description + "Configuration parameters relating to the inter-area + propagation policy"; + uses ospfv2-global-inter-areapp-config; + } + + container state { + config false; + description + "Operational state parameters relating to the inter-area + propagation policy"; + uses ospfv2-global-inter-areapp-config; + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-ospfv2-lsdb.yang b/vendor/cisco/xr/755/openconfig-ospfv2-lsdb.yang new file mode 100644 index 000000000..c51de0665 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospfv2-lsdb.yang @@ -0,0 +1,2379 @@ +submodule openconfig-ospfv2-lsdb { + + belongs-to openconfig-ospfv2 { + prefix "oc-ospfv2"; + } + + // import some basic types + import ietf-yang-types { prefix "yang"; } + import ietf-inet-types { prefix "inet"; } + import openconfig-types { prefix "oc-types"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-ospf-types { prefix "oc-ospf-types"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "An OpenConfig model for the Open Shortest Path First (OSPF) + version 2 link-state database (LSDB)"; + + oc-ext:openconfig-version "0.2.2"; + + revision "2019-11-28" { + description + "Revert path changes in when statements in LSDB model"; + reference "0.2.2"; + } + + revision "2019-11-05" { + description + "Fix paths in when statements in LSDB model"; + reference "0.2.1"; + } + + revision "2019-07-09" { + description + "Normalise all timeticks64 to be expressed in nanoseconds."; + reference "0.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2017-02-28"{ + description + "Initial public release of OSPFv2"; + reference "0.1.0"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + grouping ospfv2-lsdb-common-prefix-properties { + description + "Common properties used in the LSDB that relate to IPv4 prefixes"; + + leaf prefix-length { + type uint8 { + range "0..32"; + } + description + "The length of the IPv4 prefix contained in the Extended Prefix LSA"; + } + + leaf address-family { + // TODO: should this be an identity? + type enumeration { + enum IPV4_UNICAST { + value 0; + description + "The prefix contained within the Extended Prefix LSA is an IPv4 + unicast prefix"; + } + } + description + "The address family of the prefix contained in the Extended Prefix + LSA"; + } + } + + grouping ospfv2-lsdb-common-link-specification { + description + "Generic attributes used to identify links within OSPFv2"; + + leaf link-id { + type yang:dotted-quad; + description + "The identifier for the link specified. The value of the link + identifier is dependent upon the type of the LSA. The value is + specified to be, per sub-type: + 1) Neighbouring router's router ID. + 2) IP address of DR. + 3) IP network address. + 4) Neighbouring router router's ID."; + } + + leaf link-data { + type union { + type yang:dotted-quad; + type uint32; + } + description + "The data associated with the link type. The value is + dependent upon the subtype of the LSA. When the connection is + to a stub network it represents the mask; for p2p connections + that are unnumbered it represents the ifIndex value of the + router's interface; for all other connections it represents + the local system's IP address"; + } + + } + + grouping ospfv2-lsdb-common-unknown-tlv { + description + "A generic specification of a TLV to be used when the + value cannot be decoded by the local system"; + + leaf type { + type uint16; + description + "The type value of the unknown TLV"; + } + + leaf length { + type uint16; + description + "The length value of the unknown TLV"; + } + + leaf value { + type binary; + description + "The value portion of the unknwon TLV"; + } + } + + grouping ospfv2-lsdb-common-unknown-tlv-structure { + description + "A generic specification of an unknown TLV"; + + container unknown-tlv { + description + "An unknown TLV within the context. Unknown TLVs are + defined to be the set of TLVs that are not modelled + within the OpenConfig model, or are unknown to the + local system such that it cannot decode their value."; + + container state { + description + "Contents of an unknown TLV within the LSA"; + uses ospfv2-lsdb-common-unknown-tlv; + } + } + } + + grouping ospfv2-lsdb-common-unknown-subtlv-structure { + description + "A generic specification of an unknown TLV"; + + container unknown-subtlv { + description + "An unknown SubTLV within the context. Unknown Sub-TLV + are defined to be the set of SubTLVs that are not modelled + by the OpenConfig schema, or are unknown to the local system + such that it cannot decode their value."; + + container state { + description + "Contents of an unknown TLV within the LSA"; + uses ospfv2-lsdb-common-unknown-tlv; + } + } + } + + grouping ospfv2-lsdb-common-tos-metric { + description + "Common LSDB LSA parameters for type of service and metric"; + + leaf tos { + type uint8; + description + "OSPF encoding of the type of service referred to by this + LSA. Encoding for OSPF TOS are described in RFC2328."; + } + + leaf metric { + type oc-ospf-types:ospf-metric; + description + "The metric value to be used for the TOS specified. This value + represents the cost of use of the link for the specific type + of service."; + } + } + + grouping ospfv2-lsdb-common-sr-sid-spec { + description + "Re-usable specification of a segment routing SID"; + + leaf sid-type { + type oc-ospf-types:sr-sid-type; + description + "The type of the value contained within the sub-TLV"; + } + + leaf sid-value { + type uint32; + description + "The value of the binding included within the sub-TLV. The type of + this binding is indicated by the type leaf."; + } + } + + grouping ospfv2-lsdb-area-state { + description + "Per-area operational state parameters for an OSPFv2 area"; + + leaf identifier { + type oc-ospf-types:ospf-area-identifier; + description + "An identifier for the area, expressed as a dotted quad or + an unsigned 32-bit integer"; + } + } + + grouping ospfv2-lsdb-area-lsa-type-state { + description + "Per-LSA type operational state parameters for an OSPFv2 area"; + + leaf type { + type identityref { + base "oc-ospf-types:OSPF_LSA_TYPE"; + } + description + "The type of LSA being described. The type of the LSA is + expressed as a canonical name."; + } + } + + grouping ospfv2-lsdb-area-lsa-state { + description + "Generic parameters of an OSPFv2 LSA"; + + leaf link-state-id { + type yang:dotted-quad; + description + "The Link State ID for the specified LSA type. The exact + defined value of the Link State ID is dependent on the LSA + type."; + } + + leaf advertising-router { + type yang:dotted-quad; + description + "The router ID of the router that originated the LSA"; + } + + leaf sequence-number { + type int32; + description + "A signed 32-bit integer used to detect old and duplicate + LSAs. The greater the sequence number the more recent the + LSA."; + } + + leaf checksum { + type uint16; + description + "The checksum of the complete contents of the LSA excluding + the age field."; + } + + leaf age { + type uint16; + units seconds; + description + "The time since the LSA's generation in seconds"; + } + } + + grouping ospfv2-lsdb-router-lsa-structure { + description + "Structural grouping for Router LSA contents within the LSDB"; + + container router-lsa { + description + "Contents of the router LSA"; + + container state { + description + "State parameters of the router LSA"; + uses ospfv2-lsdb-router-lsa-state; + } + + uses ospfv2-lsdb-generic-lsa-tos-metric-structure; + } + } + + grouping ospfv2-lsdb-generic-lsa-tos-metric-structure { + description + "Grouping including a generic TOS/metric structure for an + LSA"; + + container types-of-service { + description + "Breakdown of LSA contents specifying multiple + TOS values"; + + list type-of-service { + key "tos"; + description + "Per-type of service parameters for the LSA"; + + leaf tos { + type leafref { + path "../state/tos"; + } + description + "Reference to the type of service identifier which is + specified in the LSA"; + } + + container state { + description + "Per-TOS parameters for the LSA"; + + uses ospfv2-lsdb-generic-lsa-tos-metric-state; + } + } + } + } + + grouping ospfv2-lsdb-network-lsa-structure { + description + "Structural grouping for Network LSA contents within the LSDB"; + + container network-lsa { + description + "Contents of the network LSA"; + + container state { + description + "State parameters of the network LSA"; + uses ospfv2-lsdb-network-lsa-state; + } + } + } + + grouping ospfv2-lsdb-summary-lsa-structure { + description + "Structural grouping for the Summary LSA contents within the + LSDB"; + + container summary-lsa { + description + "Contents of the summary LSA"; + + container state { + description + "State parameters of the summary LSA"; + uses ospfv2-lsdb-summary-lsa-state; + } + + uses ospfv2-lsdb-generic-lsa-tos-metric-structure; + } + } + + grouping ospfv2-lsdb-asexternal-lsa-structure { + description + "Structural grouping for the AS External LSA contents within + the LSDB"; + + container as-external-lsa { + description + "Contents of the AS External LSA"; + + container state { + description + "State parameters for the AS external LSA"; + uses ospfv2-lsdb-asexternal-lsa-state; + } + + container types-of-service { + description + "Breakdown of External LSA contents specifying multiple + TOS values"; + + list type-of-service { + key "tos"; + description + "Per-type of service parameters for the AS External LSA"; + + leaf tos { + type leafref { + path "../state/tos"; + } + description + "Reference to the type of service identifier which is + specified in the AS External LSA"; + } + + container state { + description + "Per-TOS parameters for the LSA"; + + uses ospfv2-lsdb-asexternal-tos-state; + } + } + } + + } + } + + grouping ospfv2-lsdb-nssa-external-lsa-structure { + description + "Structural grouping for the NSSA External LSA contents within + the LSDB"; + + container nssa-external-lsa { + description + "Contents of the NSSA External LSA"; + + container state { + description + "State parameters for the AS external LSA"; + // Type 7 LSAs are are a super-set of Type 5 LSAs so we simply + // include the Type 5 + uses ospfv2-lsdb-asexternal-lsa-state; + uses ospfv2-lsdb-nssa-external-lsa-state; + } + + container types-of-service { + description + "Breakdown of the NSSA External LSA contents specifying multiple + TOS values"; + + list type-of-service { + key "tos"; + description + "Per-type of service parameters for the NSSA external LSA"; + + leaf tos { + type leafref { + path "../state/tos"; + } + description + "Reference to the type of services identifier which is specified + in the NSSA External LSA"; + } + + container state { + description + "Per-TOS parameters for the LSA"; + uses ospfv2-lsdb-asexternal-tos-state; + } + } + } + } + } + + grouping ospfv2-lsdb-opaque-lsa-structure { + description + "Structural grouping for Opaque LSA contents within the LSDB"; + + container opaque-lsa { + description + "Contents of the opaque LSA"; + + container state { + description + "State parameters for the opaque LSA"; + uses ospfv2-lsdb-opaque-lsa-state; + } + + container traffic-engineering { + when "../state/type = 'TRAFFIC_ENGINEERING'" { + description + "Include the traffic-engineering information when + the Opaque LSA being described is a Traffic Engineering + LSA"; + } + description + "Contents of the Traffic Engineering Opaque LSA"; + + container tlvs { + description + "The TLVs contained in the TE Opaque LSA"; + list tlv { + // this is an unkeyed list + description + "The Type-Length-Value tuples included in the TE LSA"; + + container state { + description + "The contents of the TLV tuple within the TE LSA"; + uses ospfv2-lsdb-opaque-lsa-te-tlv-state; + } + + uses ospfv2-lsdb-common-unknown-tlv-structure; + + container router-address { + when "../state/type = 'TE_ROUTER_ADDRESS'" { + description + "Include the router address container only when the type + of the TLV is Router Address"; + } + + description + "Parameters included in the Router Address TLV"; + + container state { + description + "State parameters of the router address TLV"; + uses ospfv2-lsdb-opaque-te-router-address-state; + } + } + + container link { + when "../state/type = 'TE_ROUTER_LINK'" { + description + "Include the link container only when the type of the + TLV describes a traffic engineering link"; + } + + description + "Parameters included in the Link TLV"; + container sub-tlvs { + description + "Sub-TLVs included in the Link TLV"; + + list sub-tlv { + // unkeyed list + description + "The Sub-TLVs included within the Traffic Engineering + LSA's sub-TLV"; + + container state { + description + "State parameters of the Link Sub-TLV"; + + uses ospfv2-lsdb-opaque-te-link-state; + } + + uses ospfv2-lsdb-common-unknown-subtlv-structure; + + container unreserved-bandwidths { + description + "The unreserved link bandwidths for the Traffic + Engineering LSA - utilised when the sub-TLV type + indicates that the sub-TLV describes unreserved + bandwidth"; + + list unreserved-bandwidth { + key "priority"; + + description + "The unreserved bandwidth at each priority level"; + + leaf priority { + type leafref { + path "../state/priority"; + } + description + "A reference to the priority level being described"; + } + + container state { + description + "State parameters relating to the unreserved + bandwidth of the link being described"; + uses ospfv2-lsdb-opaque-te-link-unreserved-bw-state; + } + } + } + + container administrative-groups { + description + "The administrative groups that are set for the + Traffic Engineering LSA - utilised when the sub-TLV type + indicates that the sub-TLV describes administrative + groups"; + + list admin-group { + key "bit-index"; + + description + "The administrative group described within the + sub-TLV"; + + leaf bit-index { + type leafref { + path "../state/bit-index"; + } + description + "A reference to the bit index being described"; + } + + container state { + description + "State parameters relating to the administrative + groups being described for the link"; + uses ospfv2-lsdb-opaque-te-link-admin-group-state; + } + } + } + } + } + } + + container node-attribute { + when "../state/type = 'TE_NODE_ATTRIBUTE'" { + description + "Include the node-attribute container only when the type of + the TLV describes a node attribute"; + } + + description + "Parameters included in the Node Attribute TLV"; + + container sub-tlvs { + description + "Sub-TLVs of the Node Attribute TLV of the Traffic + Engineering LSA"; + + list sub-tlv { + // unkeyed list + description + "List of the Sub-TLVs contained within the Node Attribute + TLV"; + + container state { + description + "State parameters of the Node Attribute TLV sub-TLV"; + uses ospfv2-lsdb-opaque-te-node-attribute-state; + } + + uses ospfv2-lsdb-common-unknown-subtlv-structure; + } + } + } + + // A set of TLVs are omitted here - based on operational + // requirements, these are: + // * link-local + // * ipv6-address (OSPFv3 only) + // * optical-node-property + } + } + } // traffic-engineering + + container grace-lsa { + when "../state/type = 'GRACE_LSA'" { + description + "Include the grace-lsa container when the opaque LSA is specified + to be of that type."; + } + + description + "The Grace LSA is utilised when a remote system is undergoing + graceful restart"; + + container tlvs { + description + "TLVs of the Grace LSA"; + + list tlv { + description + "TLV entry in the Grace LSA, advertised by a system undergoing + graceful restart"; + + // unkeyed list + container state { + description + "Per-TLV state parameters of the Grace LSA"; + uses ospfv2-lsdb-opaque-grace-state; + } + uses ospfv2-lsdb-common-unknown-tlv-structure; + } + } + } // grace LSA + + container router-information { + when "../state/type = 'ROUTER_INFORMATION_LSA'" { + description + "Include the router-information container when the opaque LSA + type is specified to be an RI LSA"; + } + + description + "The router information LSA is utilised to advertise capabilities + of a system to other systems who receive the LSA"; + + container tlvs { + description + "The TLVs included within the Router Information LSA."; + + list tlv { + description + "TLV entry in the Router Information LSA"; + + // unkeyed list + container state { + description + "Per-TLV state parameters of the RI LSA"; + uses ospfv2-lsdb-opaque-ri-state; + } + + uses ospfv2-lsdb-common-unknown-tlv-structure; + + container informational-capabilities { + when "../state/type = 'RI_INFORMATIONAL_CAPABILITIES'" { + description + "Include the informational capabilities specification when + the TLV of the RI LSA is specified to be of this type"; + } + + description + "Information related to the capabilities of the advertising + router within the scope that the opaque RI LSA is being + advertised"; + + container state { + description + "State parameters of the informational capabilitis of the + RI LSA"; + uses ospfv2-lsdb-opaque-ri-informational-state; + } + } + + container node-administrative-tags { + when "../state/type = 'RI_NODE_ADMIN_TAG'" { + description + "Include the node administrative tags specification when + the TLV of the RI LSA is specified to be of this type"; + } + + description + "Per-node administrative tags associated with the local system + specified by the operator"; + + container state { + description + "State parameters of the node administrative tags advertised + in the RI LSA"; + uses ospfv2-lsdb-opaque-ri-admintag-state; + } + } + + container segment-routing-algorithm { + when "../state/type = 'RI_SR_ALGORITHM'" { + description + "Include the segment routing algorithm specific parameters when + the TLV of the RI LSA is specified to be of this type"; + } + + description + "The algorithms supported for Segment Routing by the local system"; + + container state { + description + "State parameters of the Segment Routing algorithm advertised in + the RI LSA"; + uses ospfv2-lsdb-opaque-ri-sralgo-state; + } + } + + container segment-routing-sid-label-range { + when "../state/type = 'RI_SR_SID_LABEL_RANGE'" { + description + "Include the segment routing SID/Label range TLV specific state when + the TLV of the RI LSA is specified to be of this type"; + } + + description + "The Segment Identifier (SID) or label ranges that are supported by + the local system for Segment Routing"; + + container tlvs { + description + "Sub-TLVs of the SID/Label range TLV of the RI LSA"; + + list tlv { + // unkeyed list + description + "Sub-TLVs of the SID/Label range TLV"; + + uses ospfv2-lsdb-common-unknown-tlv-structure; + + container state { + description + "State parameters of the sub-TLVs of the SR/Label range TLV"; + uses ospfv2-lsdb-opaque-ri-srrange-tlv-state; + } + + container sid-label { + description + "Sub-TLV used to advertise the SID or label associated with the + subset of the SRGB being advertised"; + + container state { + description + "State parameters of the SID/Label sub-TLV of the SR/Label + range TLV of the RI LSA"; + uses ospfv2-lsdb-opaque-ri-srrange-sid-label-tlv-state; + } + } + } + } + } + } + } + } // router-information + + container extended-prefix { + when "../state/type = 'OSPFV2_EXTENDED_PREFIX'" { + description + "Include the extended-prefix container when the opaque LSA + type is specified to be an extended prefix LSA"; + } + + description + "An OSPFv2 Extended Prefix Opaque LSA, used to encapsulate + TLV attributes associated with a prefix advertised in OSPF."; + + reference "RFC7684 - OSPFv2 Prefix/Link Attribute Advertisement"; + + container state { + description + "State parameters of the Extended Prefix LSA"; + uses ospfv2-lsdb-extended-prefix-state; + } + + container tlvs { + description + "TLVs contained within the Extended Prefix LSA"; + + list tlv { + // unkeyed list + description + "A TLV contained within the extended prefix LSA"; + + container state { + description + "State parameters relating to the sub-TLV of the extended + prefix LSA"; + uses ospfv2-lsdb-extended-prefix-tlv-state; + } + + container extended-prefix-range { + when "../state/type = 'EXTENDED_PREFIX_RANGE'" { + description + "Include the prefix range sub-TLV when the type of the + sub-TLV is specified as such"; + } + + description + "State parameters relating to the extended prefix range + sub-TLV of the extended prefix LSA"; + + container state { + description + "State parameters relating to the Extended Prefix Range + sub-TLV of the Extended Prefix LSA"; + uses ospfv2-lsdb-extended-prefix-range-state; + } + } + + container prefix-sid { + when "../state/type = 'PREFIX_SID'" { + description + "Include parameters relating to the Prefix SID when the type + of the sub-TLV is indicated as such"; + } + + description + "State parameters relating to the Prefix SID sub-TLV of the + extended prefix LSA"; + + container state { + description + "State parameters relating to the Prefix SID sub-TLV of the + extended prefix LSA"; + uses ospfv2-lsdb-extended-prefix-prefix-sid-state; + } + } // prefix-sid + + container sid-label-binding { + when "../state/type = 'SID_LABEL_BINDING'" { + description + "Include parameters relating to the SID/Label binding sub-TLV + only when the type is indicated as such"; + } + + description + "State parameters relating to the SID/Label binding sub-TLV + of the extended prefix LSA"; + + container state { + description + "State parameters relating to the SID/Label binding sub-TLV + of the extended prefix LSA"; + uses ospfv2-lsdb-extended-prefix-sid-label-binding-state; + } + + container tlvs { + description + "TLVs contained within the SID/Label Binding sub-TLV of the + SID/Label Binding TLV"; + + list tlv { + description + "A TLV contained within the SID/Label Binding sub-TLV"; + + container state { + description + "State parameters relating to the SID/Label Binding + sub-TLV"; + uses ospfv2-lsdb-extended-prefix-sid-label-binding-tlv-state; + } + + container sid-label-binding { + when "../state/type = 'SID_LABEL_BINDING'" { + description + "Include the SID/Label Binding sub-TLV parameters only + when the type is indicated as such"; + } + + description + "Parameters for the SID/Label Binding sub-TLV of the + SID/Label binding TLV"; + + container state { + description + "State parameteres relating to the SID/Label Binding + sub-TLV"; + uses ospfv2-lsdb-extprefix-sid-label-binding-state; + } + } // sid-label-binding + + container ero-metric { + when "../state/type = 'ERO_METRIC'" { + description + "Include the ERO Metric sub-TLV parameters only when + the type is indicated as such"; + } + + description + "Parameters for the ERO Metric Sub-TLV of the SID/Label + binding TLV"; + + container state { + description + "State parameters relating to the ERO Metric Sub-TLV of + the SID/Label binding TLV"; + uses ospfv2-lsdb-extprefix-sid-label-ero-metric-state; + } + } // ero-metric + + container ero-path { + when "../state/type = 'ERO_PATH'" { + description + "Include the ERO Path sub-TLV parameters only when the + type is indicated as such"; + } + + description + "Parameters for the ERO Path Sub-TLV of the SID/Label + binding TLV"; + + container segments { + description + "Segments of the path described within the SID/Label + Binding sub-TLV"; + + list segment { + description + "A segment of the path described within the sub-TLV"; + + container state { + description + "State parameters relating to the path segment + contained within the sub-TLV"; + uses ospfv2-lsdb-extprefix-sid-lbl-ero-path-seg-state; + } + + container ipv4-segment { + when "../state/type = 'IPV4_SEGMENT'" { + description + "Include the IPv4 segment only when the type is + indicated as such"; + } + + description + "Details of the IPv4 segment interface of the ERO"; + + container state { + description + "State parameters of the IPv4 segment of the ERO"; + uses ospfv2-lsdb-extprefix-sid-lbl-ero-ipv4-state; + } + } // ipv4-segment + + container unnumbered-hop { + when "../state/type = 'UNNUMBERED_INTERFACE_SEGMENT'" { + description + "Include the unnumbered segment only when the + type is indicated as such"; + } + + description + "Details of the unnumbered interface segment of the + ERO"; + + container state { + description + "State parameters of the unnumbered interface + segment of the ERO"; + uses ospfv2-lsdb-extprefix-sid-lbl-ero-unnum-state; + } + } // unnumbered-hop + } // tlv + } // tlvs + } + } + } + } // sid-label-binding + + uses ospfv2-lsdb-common-unknown-tlv-structure; + } + } + } // extended-prefix + + container extended-link { + description + "The OSPFv2 Extended Link Opaque LSA, used to encapsulate TLV + attributes associated with a link advertised in OSPF."; + + reference "RFC7684 - OSPFv2 Prefix/Link Attribute Advertisement"; + + container state { + description + "State parameters of the Extended Link LSA"; + uses ospfv2-lsdb-extended-link-state; + } + + container tlvs { + description + "TLVs contained within the Extended Link LSA"; + + list tlv { + description + "List of TLVs within the Extended Link LSA"; + + container state { + description + "State parameters relating to the sub-TLV of the extended link + LSA"; + uses ospfv2-lsdb-extended-link-tlv-state; + } + + uses ospfv2-lsdb-common-unknown-tlv-structure; + + container adjacency-sid { + when "../state/type = 'ADJACENCY_SID'" { + description + "Include the Adjacency SID parameters only when the type of + the sub-TLV is indicated as such"; + } + + description + "Parameters relating to an Adjacency SID sub-TLV of the + extended link LSA"; + + container state { + description + "State parameters relating to an Adjacency SID"; + + uses ospfv2-lsdb-extended-link-adj-sid-state; + } + } + } + } + + } // extended-link + + uses ospfv2-lsdb-common-unknown-tlv-structure; + } + } + + grouping ospfv2-lsdb-generic-lsa-tos-metric-state { + description + "Per-TOS state parameters for the Router LSA"; + + uses ospfv2-lsdb-common-tos-metric; + } + + grouping ospfv2-lsdb-router-lsa-state { + description + "Parameters of the router LSA"; + + leaf type { + type identityref { + base "oc-ospf-types:ROUTER_LSA_TYPES"; + } + description + "The sub-type of the Router LSA."; + } + + uses ospfv2-lsdb-common-link-specification; + + leaf metric { + type oc-ospf-types:ospf-metric; + description + "The cost of utilising the link specified independent of TOS"; + } + + leaf number-links { + type uint16; + description + "The number of links that are described within the LSA"; + } + + leaf number-tos-metrics { + type uint16; + description + "The number of different TOS metrics given for this link, not + including the link metric (which is referred to as TOS 0)."; + } + } + + grouping ospfv2-lsdb-network-lsa-state { + description + "Parameters of the Network LSA"; + + leaf network-mask { + type uint8 { + range "0..32"; + } + description + "The mask of the network described by the Network LSA + represented as a CIDR mask."; + } + + leaf-list attached-router { + type yang:dotted-quad; + description + "A list of the router ID of the routers that are attached to + the network described by the Network LSA"; + } + } + + grouping ospfv2-lsdb-summary-lsa-state { + description + "Parameters of the Summary LSA"; + + leaf network-mask { + type uint8 { + range "0..32"; + } + description + "The mask of the network described by the Summary LSA + represented as a CIDR mask."; + } + } + + grouping ospfv2-lsdb-asexternal-lsa-common-parameters { + description + "Common parameters that are used for OSPFv2 AS External LSAs"; + + leaf forwarding-address { + type inet:ipv4-address-no-zone; + description + "The destination to which traffic for the external prefix + should be advertised. When this value is set to 0.0.0.0 then + traffic should be forwarded to the LSA's originator"; + } + + leaf external-route-tag { + type uint32; + description + "An opaque tag that set by the LSA originator to carry + information relating to the external route"; + } + } + + grouping ospfv2-lsdb-asexternal-lsa-state { + description + "Parameters for the AS External LSA"; + + leaf mask { + type uint8 { + range "0..32"; + } + description + "The subnet mask for the advertised destination"; + } + + leaf metric-type { + type enumeration { + enum "TYPE_1" { + description + "When the metric of a prefix is specified as Type 1 + then it is considered to be expressed in the same units as + the link-state metrics carried in OSPF. That is to say + that the metric advertised is directly compared to the + internal cost"; + } + enum "TYPE_2" { + description + "When the metric of a prefix is specified as Type 2 then + it is considered to be expressed as a cost in addition to + that of the link-state metric to the advertising router. + That is to say that the metric is considered to be the + cost to the advertising router plus the advertised metric + for the external entity"; + } + } + description + "The type of metric included within the AS External LSA."; + } + + leaf metric { + type oc-ospf-types:ospf-metric; + description + "The cost to reach the external network specified. The exact + interpretation of this cost is dependent on the type of + metric specified"; + } + + uses ospfv2-lsdb-asexternal-lsa-common-parameters; + } + + grouping ospfv2-lsdb-asexternal-tos-state { + description + "Per-TOS parameters for the AS External LSA"; + + uses ospfv2-lsdb-asexternal-lsa-common-parameters; + uses ospfv2-lsdb-common-tos-metric; + } + + grouping ospfv2-lsdb-nssa-external-lsa-state { + description + "Operational state parameters specific to the NSSA External + LSA"; + + leaf propagate { + type boolean; + description + "When this bit is set to true, an NSSA border router will + translate a Type 7 LSA (NSSA External) to a Type 5 LSA + (AS External)."; + reference "RFC3101, Section 2.3"; + } + } + + grouping ospfv2-lsdb-opaque-lsa-state { + description + "Operational state parameters specific to an Opaque LSA"; + + leaf scope { + type enumeration { + enum LINK { + description + "The scope of the LSA is the current link. The LSA + is not flooded beyond the local network. This + enumeration denotes a Type 9 LSA."; + } + enum AREA { + description + "The scope of the LSA is the local area. The LSA + is not flooded beyond the area of origin. This + enumeration denotes a Type 10 LSA."; + } + enum AS { + description + "The scope of the LSA is the local autonomous + system (AS). The flooding domain is the same + as a Type 5 LSA - it is not flooded into + stub areas or NSSAs. This enumeration denotes a + Type 11 LSA."; + } + } + description + "The scope of the opaque LSA. The type of the LSA + indicates its scope - the value of this leaf + determines both the flooding domain, and the type + of the LSA."; + } + + leaf type { + type identityref { + base "oc-ospf-types:OSPF_OPAQUE_LSA_TYPE"; + } + description + "The Opaque Type of the LSA. This value is used to + indicate the type of data carried by the opaque LSA"; + } + } + + grouping ospfv2-lsdb-opaque-lsa-te-tlv-state { + description + "The contents of the Traffic Engineering LSA"; + + leaf type { + type identityref { + base "oc-ospf-types:OSPF_TE_LSA_TLV_TYPE"; + } + description + "The type of TLV within the Traffic Engineering LSA"; + } + } + + grouping ospfv2-lsdb-opaque-te-unknown-state { + description + "The contents of the unknown TLV within the Traffic Engineering LSA"; + + uses ospfv2-lsdb-common-unknown-tlv; + } + + grouping ospfv2-lsdb-opaque-te-link-state { + description + "The contents of the sub-TLVs of a Traffic Engineering LSA Link TLV"; + + leaf type { + type union { + type identityref { + base "oc-ospf-types:OSPF_TE_LINK_TLV_TYPE"; + } + type enumeration { + enum UNKNOWN { + description + "The sub-TLV received in the LSA is unknown to the local + system"; + } + } + } + description + "The sub-TLV type specified in the Link TLV. When the value is + known by the local system, a canonical name of the sub-TLV is utilised + - the special UNKNOWN value indicates that the system did not + support the sub-TLV type received in the LSA."; + } + + leaf unknown-type { + when "../type = 'UNKNOWN'" { + description + "Include the unknown type field only when the sub-TLV was not + known to the local system"; + } + + type uint16; + description + "The value of the type field of an unknown sub-TLV"; + } + + leaf unknown-value { + when "../type = 'UNKNOWN'" { + description + "Include the unknown value field only when the sub-TLV was not + known to the local system"; + } + + type binary; + description + "The binary contents of the unknown TLV"; + } + + leaf link-type { + when "../type = 'TE_LINK_TYPE'" { + description + "Include the link-type field only when the sub-TLV type was a TE + link type"; + } + + type enumeration { + enum POINT_TO_POINT { + description + "The link being described by the TE LSA Link sub-TLV is a + point-to-point link to exactly one other system"; + } + enum MULTI_ACCESS { + description + "The link being described by the TE LSA Link sub-TLV is a + multi-access link that supports connectivity to multiple remote + systems"; + } + enum UNKNOWN { + description + "The link type received was unknown to the local system"; + } + } + description + "The type of the link that is being described by the TE LSA Link + sub-TLV"; + } + + leaf link-id { + when "../type = 'TE_LINK_ID'" { + description + "Include the link ID field only when the sub-TLV type was a TE + Link identifier"; + } + + type yang:dotted-quad; + description + "The ID of the remote system. For point-to-point links, this is the + router ID of the neighbor. For multi-access links it is the address + of the designated router."; + } + + leaf-list local-ip-address { + when "../type = 'TE_LINK_LOCAL_IP'" { + description + "Include the local IP address field only when the sub-TLV type was + a local IP address"; + } + + type inet:ipv4-address-no-zone; + description + "The IP address(es) of the local system that correspond to the + specified TE link"; + } + + leaf-list remote-ip-address { + when "../type = 'TE_LINK_REMOTE_IP'" { + description + "Include the remote IP address field only when the sub-TLV type was + a remote IP address"; + } + + type inet:ipv4-address-no-zone; + description + "The IP address(es) of the remote systems that are attached to the + specified TE link"; + } + + leaf metric { + when "../type = 'TE_LINK_METRIC'" { + description + "Include the traffic engineering metric only when the sub-TLV type + is a TE metric"; + } + + type uint32; + description + "The metric of the link that should be used for traffic engineering + purposes. This link may be different than the standard OSPF link + metric."; + } + + leaf maximum-bandwidth { + when "../type = 'TE_LINK_MAXIMUM_BANDWIDTH'" { + description + "Include the traffic engineering metric only when the sub-TLV type + is the maximum bandwidth"; + } + + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The maximum bandwidth of the link. This value reflects the actual + bandwidth of the link expressed asn IEEE 32-bit floating point + number"; + } + + leaf maximum-reservable-bandwidth { + when "../type = 'TE_LINK_MAXIUMUM_RESERVABLE_BANDWIDTH'" { + description + "Include the maximum reservable bandwidth field only when the + sub-TLV type is the maximum reservable bandwidth"; + } + + type oc-types:ieeefloat32; + units "bytes per second"; + description + "The maximum reservable bandwidth for the link. This value represents + the total bandwidth which may be used for traffic engineering + purposes. The value may exceed the maximum-bandwidth value + in cases where the link is oversubscribed. The value is reflected as + a 32-bit IEEE floating-point number"; + } + } + + grouping ospfv2-lsdb-opaque-te-link-unreserved-bw-state { + description + "The per-priority unreserved bandwidth described within the unreserved + bandwidth sub-TLV of the Link TLV of the Traffic Engineering LSA"; + + leaf priority { + type uint8 { + range "0..7"; + } + description + "The priority level being described"; + } + + leaf unreserved-bandwidth { + type oc-types:ieeefloat32; + description + "The unreserved bandwidth for at priority level P, where P is + equal to the priority of the current list entry. The reservable + bandwidth at priority P is equal to the sum of the reservable + bandwidth at all levels 0..P."; + } + } + + grouping ospfv2-lsdb-opaque-te-link-admin-group-state { + description + "Per bit administrative group status"; + + leaf bit-index { + type uint8 { + range "0..31"; + } + description + "The index of the bit within the 32-bit administrative group field + of the Administrative Group sub-TLV of the Traffic Engineering LSA"; + } + + leaf set { + type boolean; + default false; + description + "Whether the bit is set within the administrative group field"; + } + } + + grouping ospfv2-lsdb-opaque-te-node-attribute-state { + description + "State parameters relating to the Traffic Engineering Node Attribute + TLV of the Traffic Engineering LSA"; + + leaf type { + type union { + type identityref { + base "oc-ospf-types:TE_NODE_ATTRIBUTE_TLV_TYPE"; + } + type enumeration { + enum UNKNOWN { + description + "The sub-TLV type received within the TE LSA Node Attribute TLV + was unknown the the local system"; + } + } + } + description + "The type of the sub-TLV of the Node Attribute TLV contained within + the TE LSA. If the local system can interpret the value received the + canonical name of the type is utilised, otherwise the special UNKNOWN + value is used"; + } + + leaf-list local-ipv4-addresses { + when "../type = 'NODE_IPV4_LOCAL_ADDRESS'" { + description + "Include the local IPv4 addresses when the type of the sub-TLV + indicates that this is the contained data"; + } + + type inet:ipv4-prefix; + description + "The local IPv4 addresses of the node expressed in CIDR notation"; + } + + leaf-list local-ipv6-addresses { + when "../type = 'NODE_LOCAL_IPV6_ADDRESS'" { + description + "Include the local IPv6 addresses when the type of the sub-TLV + indicfates that this is the contained data"; + } + + type inet:ipv6-prefix; + description + "The local IPv6 addreses of the node"; + } + } + + grouping ospfv2-lsdb-opaque-te-router-address-state { + description + "The contents of the value field of the Router Address TLV of the + Traffic Engineering LSA."; + + leaf address { + type inet:ipv4-address-no-zone; + description + "A stable IP address of the advertising router, that is always + reachable when the router is connected to the network. Typically this + is a loopback address."; + } + } + + grouping ospfv2-lsdb-opaque-grace-state { + description + "State parameters on a per-TLV basis of the Grace LSA"; + + leaf type { + type identityref { + base "oc-ospf-types:GRACE_LSA_TLV_TYPES"; + } + description + "The type of the sub-TLV received within the Grace LSA"; + } + + leaf period { + when "../type = 'GRACE_PERIOD'" { + description + "Include the period specification when the sub-TLV type is indicated + to be of this type"; + } + + type uint32; + units seconds; + description + "The number of seconds that the router's neighbors should advertise + the local system as fully adjacent regardless of database + synchronization state"; + reference "RFC3623"; + } + + leaf reason { + when "../type = 'GRACE_RESTART_REASON'" { + description + "Include the restart reason when the sub-TLV type specifies this + is included"; + } + + type enumeration { + enum UNKNOWN { + value 0; + description + "The reason for the graceful restart is unknown"; + } + enum SOFTWARE_RESTART { + value 1; + description + "The local system is restarting due to a software component + restart"; + } + enum SOFTWARE_RELOAD_UPGRADE { + value 2; + description + "The local system is restarting due to a software reload or + upgrade"; + } + enum CONTROL_PROCESSOR_SWITCH { + value 3; + description + "The local system is restarting due to a switch to a redundant + control plane element"; + } + } + description + "The reason for the graceful restart event occurring, as advertised + by the restarting system"; + reference "RFC3623"; + } + + leaf ip-interface-address { + when "../type = 'GRACE_IP_INTERFACE_ADDRESS'" { + description + "Include the interface address when the sub-TLV type specifies that + it is included"; + } + + type inet:ipv4-address-no-zone; + description + "The restarting system's IP address on the interface via which the + Grace LSA is being advertised."; + } + } + + grouping ospfv2-lsdb-opaque-ri-state { + description + "State parameters of the Router Information Opaque LSA"; + + leaf type { + type union { + type identityref { + base "oc-ospf-types:RI_LSA_TLV_TYPES"; + } + type enumeration { + enum UNKNOWN { + description + "The TLV received within the RI LSA is unknown"; + } + } + } + description + "The type of sub-TLV of the Router Information opaque LSA"; + } + } + + grouping ospfv2-lsdb-opaque-ri-informational-state { + description + "State parmaeters of the Router Information Informational Capabilities + sub-TLV"; + + leaf graceful-restart-capable { + type boolean; + default false; + description + "When this leaf is set to true, the advertising system is capable of + OSPF graceful restart."; + } + + leaf graceful-restart-helper { + type boolean; + default false; + description + "When this leaf is set to true, the advertising system is capable of + being a helper for OSPF graceful restart"; + } + + leaf stub-router { + type boolean; + default false; + description + "When this leaf is set to true, the advertising system is able to + advertise its status as a stub router"; + reference "RFC6987"; + } + + leaf traffic-engineering { + type boolean; + default false; + description + "When this leaf is set to true, the advertising system supports OSPFv2 + traffic engineering capabilities"; + } + + leaf point-to-point-over-lan { + type boolean; + default false; + description + "When this leaf is set to true, the advertising system supports treating + LAN adjacencies as though they were point to point"; + reference "RFC5309"; + } + + leaf experimental-te { + type boolean; + default false; + description + "When this leaf is set to ture, the advertising system supports the + experimental extensions to OSPF for TE described in RFC4973"; + reference "RFC4973"; + } + } + + grouping ospfv2-lsdb-opaque-ri-admintag-state { + description + "State parameters relating to the administrative tags specified for + a node within the RI LSA"; + + leaf-list administrative-tags { + type uint32; + description + "The set of administrative tags assigned to the local system by + the network operator. The meaning of these tags is opaque to OSPF + - and their interpretation is per-domain specific"; + reference "RFC7777"; + } + } + + grouping ospfv2-lsdb-opaque-ri-unknown-state { + description + "State parameters relating to an unknown TLV within the RI LSA"; + uses ospfv2-lsdb-common-unknown-tlv; + } + + grouping ospfv2-lsdb-opaque-ri-sralgo-state { + description + "State parameters relating to the SR Algorithms TLV of the RI LSA"; + + leaf-list supported-algorithms { + type identityref { + base "oc-ospf-types:SR_ALGORITHM"; + } + description + "A list of the algorithms that are supported for segment routing + by the advertising system"; + } + } + + grouping ospfv2-lsdb-opaque-ri-srrange-tlv-state { + description + "State parameters relating to the SR SID/Label range TLV of the + RI LSA"; + + leaf type { + type union { + type identityref { + base "oc-ospf-types:OSPF_RI_SR_SID_LABEL_TLV_TYPES"; + } + type enumeration { + enum UNKNOWN { + description + "The type of the sub-TLV advertised with the SID/Label range + TLV of the RI LSA is unknown to the receiving system"; + } + } + } + description + "The type of the sub-TLV received by the local system within the + SR SID/Label Range TLV of the RI LSA"; + } + + leaf range-size { + type uint32 { + range "0..16777216"; + } + description + "The number of entries within the range being described within the + SID/Label range TLV"; + } + } + + grouping ospfv2-lsdb-opaque-ri-srrange-sid-label-tlv-state { + description + "State parameters relating to the SR SID/Label sub-TLV of the SR SID/Label + range TLV of the RI LSA"; + + leaf entry-type { + type oc-ospf-types:sr-sid-type; + description + "The type of entry that is contained within the sub-TLV. The range may + be represented as either a range of MPLS labels, or numeric segment + identifiers"; + } + + leaf first-value { + type uint32; + description + "The first value within the SRGB range being specified. The type of the + entry is determined based on the value of the entry type as this value + may represent either a segment identifier or an MPLS label."; + } + } + + grouping ospfv2-lsdb-extended-prefix-state { + description + "State parameters relating to an Extended Prefix LSA"; + + leaf route-type { + type enumeration { + enum UNSPECIFIED { + value 0; + description + "The prefix described in the extended prefix LSA is of an + unspecified type"; + } + enum INTRA_AREA { + value 1; + description + "The prefix described in the extended prefix LSA is an intra-area + prefix for the advertising system"; + } + enum INTER_AREA { + value 3; + description + "The prefix described in the extended prefix LSA is an inter-area + prefix for the advertising system"; + } + enum AS_EXTERNAL { + value 5; + description + "The prefix described in the extended prefix LSA is external to the + autonomous system of the advertising system"; + } + enum NSSA_EXTERNAL { + value 7; + description + "The prefix described in the extended prefix LSA externally + advertised from an NSSA area visibile to the advertising system"; + } + } + description + "The type of prefix that is contained within the Extended Prefix LSA. + The information contained in sub-TLVs of the attribute is applicable + regardless of this value."; + } + + uses ospfv2-lsdb-common-prefix-properties; + + leaf attached { + type boolean; + default false; + description + "If this value is set to true, the prefix being advertised was + generated by an ABR for an inter-area prefix. The value corresponds + to the A-flag of the flags field of the Extended Prefix LSA"; + } + + leaf node { + type boolean; + default false; + description + "If this value is set to true, the prefix being advertised represents + the advertising router. Typically, the prefix within the LSA is + expected to be globally-reachable prefix associated with a loopback + interface"; + } + + leaf prefix { + type inet:ipv4-address-no-zone; + description + "The IPv4 prefix contained within the extended prefix LSA"; + } + } + + grouping ospfv2-lsdb-extended-link-state { + description + "State parameters related to an extended link LSA"; + + leaf link-type { + type identityref { + base "oc-ospf-types:OSPFV2_ROUTER_LINK_TYPE"; + } + description + "The type of link with which extended attributes are associated"; + } + + uses ospfv2-lsdb-common-link-specification; + + } + + grouping ospfv2-lsdb-extended-link-tlv-state { + description + "State parameters relating to a sub-TLV of the extended link LSA"; + + leaf type { + type identityref { + base "oc-ospf-types:OSPFV2_EXTENDED_LINK_SUBTLV_TYPE"; + } + description + "The type of the sub-TLV contained within the extended link TLV"; + } + } + + grouping ospfv2-lsdb-extended-prefix-tlv-state { + description + "State parameters related to a sub-TLV of an Extended Prefix LSA"; + + leaf type { + type identityref { + base "oc-ospf-types:OSPFV2_EXTENDED_PREFIX_SUBTLV_TYPE"; + } + description + "The type of sub-TLV as indicated by the Extended Prefix LSA"; + } + } + + grouping ospfv2-lsdb-extended-prefix-range-state { + description + "Parameters of the Extended Prefix Range SubTLV"; + + uses ospfv2-lsdb-common-prefix-properties; + + leaf range-size { + type uint16; + description + "The number of prefixes that are covered by the advertisement."; + } + + leaf inter-area { + type boolean; + default false; + description + "When this leaf is set to true, then the prefix range is inter-area - + the flag is set by the ABR that advertises the Extended Prefix Range + TLV"; + } + + leaf prefix { + type inet:ipv4-prefix; + description + "The first prefix in the range of prefixes being described by the + extended prefix range sub-TLV"; + } + } + + grouping ospfv2-lsdb-extended-prefix-prefix-sid-state { + description + "Parameters of the Prefix-SID sub-TLV"; + + leaf no-php { + type boolean; + default false; + description + "If this leaf is set the advertising system has indicated that the + prefix SID must not be popped before delivering packets to it"; + } + + leaf mapping-server { + type boolean; + default false; + description + "If this leaf is set the SID was advertised by a Segment Routing + mapping server"; + } + + leaf explicit-null { + type boolean; + default false; + description + "If this leaf is set, the advertising system has requested that the + prefix SID value should be replaced with the explicit null label + value"; + } + + leaf sid-value-type { + type enumeration { + enum ABSOLUTE { + description + "The SID contained in the Prefix-SID sub-TLV is an absolute + value"; + } + enum INDEX { + description + "The SID contained in the Prefix-SID sub-TLV is an index to the + SRGB"; + } + } + description + "Specifies the type of the value specified within the Prefix SID + sub-TLV - in particular, whether the value is an index or an + absolute value. This value corresponds with the V-flag of the Prefix + SID sub-TLV"; + } + + leaf sid-scope { + type enumeration { + enum LOCAL { + description + "The value of the SID is + significant only to the advertising system"; + } + enum GLOBAL { + description + "The value of the SID is globally significant"; + } + } + description + "Specifies the scope of the SID advertisement within the Prefix SID + sub-TLV. The scope of the SID is independent of whether the SID + contained is an index, or an absolute value"; + } + + leaf multi-topology-identifier { + type uint8; + description + "The identifier for the topology to which the Prefix SID relates. The + value of this leaf is a MT-ID as defined in RFC4915"; + } + + leaf algorithm { + type uint8; + description + "The algorithm that computes the path associated with the Prefix SID"; + } + + leaf sid-value { + type uint32; + description + "The value of the Prefix SID. The meaning of this value is dependent + upon the type of SID, and its scope. The value contained is either a + 32-bit value indicating the index of the SID, or a 24-bit label where + the 20 right-most bits are used for encoding the label value"; + } + } + + grouping ospfv2-lsdb-extended-prefix-sid-label-binding-state { + description + "State parameters relating to the extended prefix SID SID/Label binding + sub-TLV"; + + leaf mirroring { + type boolean; + default false; + description + "When set to true, this indicates that the SID/Label Binding sub-TLV + entries contained within this TLV are indicative of a mirroring + context"; + } + + leaf multi-topology-identifier { + type uint8; + description + "The identifier for the topology to which the SID/Label Binding + sub-TLV is associated. The value of this leaf is a MT-ID as defined + in RFC4915"; + } + + leaf weight { + type uint8; + description + "The weight of the advertised binding when used for load-balancing + purposes"; + } + } + + grouping ospfv2-lsdb-extended-prefix-sid-label-binding-tlv-state { + description + "State parameters directly relating to the SID/Label Binding TLV"; + + leaf type { + type identityref { + base + "oc-ospf-types:OSPFV2_EXTENDED_PREFIX_SID_LABEL_BINDING_SUBTLV_TYPE"; + } + description + "The type of sub-TLV that is being contained within the SID/Label + sub-TLV"; + } + } + + grouping ospfv2-lsdb-extprefix-sid-label-binding-state { + description + "State parameters relating to the SID/Label binding sub-TLV of the + SID/Label/Binding TLV"; + + uses ospfv2-lsdb-common-sr-sid-spec; + } + + grouping ospfv2-lsdb-extprefix-sid-label-ero-metric-state { + description + "State parameters relating to the ERO Metric Sub-TLV of the SID/Label + Binding TLV"; + + leaf metric { + type uint32; + description + "The metric representing the aggregate IGP or TE path cost for the + binding included within the SID/Label Binding TLV"; + } + } + + grouping ospfv2-lsdb-extprefix-sid-lbl-ero-path-seg-state { + description + "State parameters relating to the a segment included within the + ERO Path Sub-TLV of the SID/Label Binding TLV"; + + leaf type { + type identityref { + base "oc-ospf-types:OSPFV2_EXTPREFIX_BINDING_ERO_PATH_SEGMENT_TYPE"; + } + description + "The type of the segment being specified as part of the ERO"; + } + + leaf loose { + type boolean; + default false; + description + "If this leaf is set the segment is identifier as a loose path + segment, otherwise the path strictly follows the path specified"; + } + } + + grouping ospfv2-lsdb-extprefix-sid-lbl-ero-ipv4-state { + description + "State parameters relating to an IPv4 address segment included within + the ERO path"; + + leaf address { + type inet:ipv4-address-no-zone; + description + "The IPv4 address of the hop within the ERO"; + } + } + + grouping ospfv2-lsdb-extprefix-sid-lbl-ero-unnum-state { + description + "State parameters relating to an unnumbered hop within the ERO path"; + + leaf router-id { + type inet:ipv4-address-no-zone; + description + "The IPv4 router identtifier of the remote system"; + } + + leaf interface-id { + type uint32; + description + "The identifier assigned to the link by the remote system"; + } + } + + grouping ospfv2-lsdb-extended-link-adj-sid-state { + description + "State parameters relating to the Adjacency SID sub-TLV of the + Extended Link LSA"; + + leaf backup { + type boolean; + default false; + description + "When this flag is set, it indicates that the adjacency SID refers to + an adjacency which is eligible for protection"; + } + + leaf group { + type boolean; + default false; + description + "When this flag is set it indicates that the adjacency SID refers to + a group of adjacencies that have a common value"; + } + + uses ospfv2-lsdb-common-sr-sid-spec; + + leaf weight { + type uint8; + description + "The weight of the Adjacency SID when used for load-balancing"; + } + + leaf multi-topology-identifier { + type uint8; + description + "The multi-topology identifier with which the adjacency SID is + associated"; + } + } + + grouping ospfv2-lsdb-structure { + description + "Structural grouping for per-area LSDB contents"; + + container lsdb { + // Top-level RO, if this were ever to become writeable then + // the state containers lower down need config false added + config false; + description + "The link-state database for the OSPFv2 area"; + + container state { + description + "Operational state parameters relating to the OSPFv2 + area"; + + uses ospfv2-lsdb-area-state; + } + + container lsa-types { + description + "Enclosing container for a list of LSA types that are + in the LSDB for the specified area"; + + list lsa-type { + key "type"; + + description + "List of LSA types in the LSDB for the specified + area"; + + leaf type { + type leafref { + path "../state/type"; + } + description + "A reference for the LSA type being described within + the LSDB"; + } + + container state { + description + "Top-level operational state parameters relating to + an LSA within the area"; + uses ospfv2-lsdb-area-lsa-type-state; + } + + container lsas { + description + "Enclosing container for a list of the LSAs of + the specified type received by the system"; + + list lsa { + key "link-state-id"; + + description + "List of the LSAs of a specified type in the + LSDB for the specified area"; + + leaf link-state-id { + type leafref { + path "../state/link-state-id"; + } + description + "Reference to the Link State ID of the LSA"; + } + + container state { + description + "Operational state parameters relating to all + LSA types"; + uses ospfv2-lsdb-area-lsa-state; + } + + uses ospfv2-lsdb-router-lsa-structure { + when "../../state/type = 'ROUTER_LSA'" { + description + "Include the router LSA hierarchy solely when + that LSA type is being described"; + } + } + + uses ospfv2-lsdb-network-lsa-structure { + when "../../state/type = 'NETWORK_LSA'" { + description + "Include the network LSA hierarchy solely when + that LSA type is being described"; + } + } + + uses ospfv2-lsdb-summary-lsa-structure { + // rjs TODO: check this syntax + when "../../state/type = " + + "'SUMMARY_IP_NETWORK_LSA' or " + + "../../state/type = 'SUMMARY_ASBR_LSA'" { + description + "Include the summary LSA hierarchy solely when + that LSA type is being described"; + } + } + + uses ospfv2-lsdb-asexternal-lsa-structure { + when "../../state/type = 'AS_EXTERNAL_LSA'" { + description + "Include the AS external LSA hierarchy solely when + that LSA type is being described"; + } + } + + uses ospfv2-lsdb-nssa-external-lsa-structure { + when "../../state/type = 'NSSA_AS_EXTERNAL_LSA'" { + description + "Include the NSSA External LSA hierarchy solely + when that LSA type is being described"; + } + } + + uses ospfv2-lsdb-opaque-lsa-structure { + when "../../state/type = 'OSPFV2_LINK_SCOPE_OPAQUE_LSA' + or ../../state/type = 'OSPFV2_AREA_SCOPE_OPAQUE_LSA' + or ../../state/type = 'OSPFV2_AS_SCOPE_OPAQUE_LSA'" { + description + "Include the Opaque LSA structure when type of entry + being described in an opaque LSA"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-ospfv2.yang b/vendor/cisco/xr/755/openconfig-ospfv2.yang new file mode 100644 index 000000000..e760e9958 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-ospfv2.yang @@ -0,0 +1,133 @@ +module openconfig-ospfv2 { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/ospfv2"; + + prefix "oc-ospfv2"; + + // import some basic types + //import ietf-inet-types { prefix inet; } + import openconfig-extensions { prefix "oc-ext"; } + + // Include submodules + // Global: All global context groupings; + include openconfig-ospfv2-global; + // Area: Config/opstate for an area + include openconfig-ospfv2-area; + // Area Interface: Config/opstate for an Interface + include openconfig-ospfv2-area-interface; + // LSDB: Operational state model covering the LSDB + include openconfig-ospfv2-lsdb; + // Common: Content included in >1 context + include openconfig-ospfv2-common; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "An OpenConfig model for Open Shortest Path First (OSPF) + version 2"; + + oc-ext:openconfig-version "0.2.3"; + + revision "2021-03-17" { + description + "Add bfd support without augmentation."; + reference "0.2.3"; + } + + revision "2019-11-28" { + description + "Revert path changes in when statements in LSDB model"; + reference "0.2.2"; + } + + revision "2019-11-05" { + description + "Fix paths in when statements in LSDB model"; + reference "0.2.1"; + } + + revision "2019-07-09" { + description + "Normalise all timeticks64 to be expressed in nanoseconds."; + reference "0.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.3"; + } + + revision "2018-06-05" { + description + "Bug fixes in when statements in lsdb"; + reference "0.1.2"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes."; + reference "0.1.1"; + } + + revision "2017-02-28"{ + description + "Initial public release of OSPFv2"; + reference "0.1.0"; + } + + revision "2016-06-24" { + description + "Initial revision"; + reference "0.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping ospfv2-top { + description + "Top-level OSPF configuration and operational state"; + + container ospfv2 { + description + "Top-level configuration and operational state for + Open Shortest Path First (OSPF) v2"; + + uses ospfv2-global-structural; + + container areas { + description + "Configuration and operational state relating to an + OSPFv2 area."; + + list area { + key "identifier"; + + description + "The OSPFv2 areas within which the local system exists"; + + leaf identifier { + type leafref { + path "../config/identifier"; + } + description + "A reference to the identifier for the area."; + } + + uses ospfv2-area-structure; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-packet-match-types.yang b/vendor/cisco/xr/755/openconfig-packet-match-types.yang new file mode 100644 index 000000000..fd091b03e --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-packet-match-types.yang @@ -0,0 +1,368 @@ +module openconfig-packet-match-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/packet-match-types"; + + prefix "oc-pkt-match-types"; + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines common types for use in models requiring + data definitions related to packet matches."; + + oc-ext:openconfig-version "1.3.2"; + + revision "2021-07-14" { + description + "Use auto-generated regex for port-num-range pattern statements"; + reference "1.3.2"; + } + + revision "2021-06-16" { + description + "Remove trailing whitespace."; + reference "1.3.1"; + } + + revision "2021-05-19" { + description + "Add IP-in-IP protocol."; + reference "1.3.0"; + } + + revision "2021-03-17" { + description + "Add MPLS filter Support."; + reference "1.2.0"; + } + + revision "2021-01-07" { + description + "Remove module extension oc-ext:regexp-posix by making pattern regexes + conform to RFC7950. + Types impacted: + - port-num-range"; + reference "1.1.0"; + } + + revision "2020-10-20" { + description + "Fix pattern regex for port-num-range."; + reference "1.0.4"; + } + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions."; + reference "1.0.3"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "1.0.2"; + } + + revision "2018-04-15" { + description + "Corrected description and range for ethertype typedef"; + reference "1.0.1"; + } + + revision "2017-05-26" { + description + "Separated IP matches into AFs"; + reference "1.0.0"; + } + + revision "2016-08-08" { + description + "OpenConfig public release"; + reference "0.2.0"; + } + + revision "2016-04-27" { + description + "Initial revision"; + reference "TBD"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + + // extension statements + + // feature statements + + // identity statements + + + //TODO: should replace this with an official IEEE module + // when available. Only a select number of types are + // defined in this identity. + identity ETHERTYPE { + description + "Base identity for commonly used Ethertype values used + in packet header matches on Ethernet frames. The Ethertype + indicates which protocol is encapsulated in the Ethernet + payload."; + reference + "IEEE 802.3"; + } + + identity ETHERTYPE_IPV4 { + base ETHERTYPE; + description + "IPv4 protocol (0x0800)"; + } + + identity ETHERTYPE_ARP { + base ETHERTYPE; + description + "Address resolution protocol (0x0806)"; + } + + identity ETHERTYPE_VLAN { + base ETHERTYPE; + description + "VLAN-tagged frame (as defined by IEEE 802.1q) (0x8100). Note + that this value is also used to represent Shortest Path + Bridging (IEEE 801.1aq) frames."; + } + + identity ETHERTYPE_IPV6 { + base ETHERTYPE; + description + "IPv6 protocol (0x86DD)"; + } + + identity ETHERTYPE_MPLS { + base ETHERTYPE; + description + "MPLS unicast (0x8847)"; + } + + identity ETHERTYPE_LLDP { + base ETHERTYPE; + description + "Link Layer Discovery Protocol (0x88CC)"; + } + + identity ETHERTYPE_ROCE { + base ETHERTYPE; + description + "RDMA over Converged Ethernet (0x8915)"; + } + + + //TODO: should replace this with an official IANA module when + //available. Only a select set of protocols are defined with + //this identity. + identity IP_PROTOCOL { + description + "Base identity for commonly used IP protocols used in + packet header matches"; + reference + "IANA Assigned Internet Protocol Numbers"; + } + + identity IP_TCP { + base IP_PROTOCOL; + description + "Transmission Control Protocol (6)"; + } + + identity IP_UDP { + base IP_PROTOCOL; + description + "User Datagram Protocol (17)"; + } + + identity IP_ICMP { + base IP_PROTOCOL; + description + "Internet Control Message Protocol (1)"; + } + + identity IP_IGMP { + base IP_PROTOCOL; + description + "Internet Group Membership Protocol (2)"; + } + + identity IP_PIM { + base IP_PROTOCOL; + description + "Protocol Independent Multicast (103)"; + } + + identity IP_RSVP { + base IP_PROTOCOL; + description + "Resource Reservation Protocol (46)"; + } + + identity IP_GRE { + base IP_PROTOCOL; + description + "Generic Routing Encapsulation (47)"; + } + + identity IP_AUTH { + base IP_PROTOCOL; + description + "Authentication header, e.g., for IPSEC (51)"; + } + + identity IP_L2TP { + base IP_PROTOCOL; + description + "Layer Two Tunneling Protocol v.3 (115)"; + } + + identity IP_IN_IP { + base IP_PROTOCOL; + description + "IP-in-IP tunneling (4)"; + reference + "RFC2003: IP Encapsulation within IP"; + } + + identity TCP_FLAGS { + description + "Common TCP flags used in packet header matches"; + reference + "IETF RFC 793 - Transmission Control Protocol + IETF RFC 3168 - The Addition of Explicit Congestion + Notification (ECN) to IP"; + } + + identity TCP_SYN { + base TCP_FLAGS; + description + "TCP SYN flag"; + } + + identity TCP_FIN { + base TCP_FLAGS; + description + "TCP FIN flag"; + } + + identity TCP_RST { + base TCP_FLAGS; + description + "TCP RST flag"; + } + + identity TCP_PSH { + base TCP_FLAGS; + description + "TCP push flag"; + } + + identity TCP_ACK { + base TCP_FLAGS; + description + "TCP ACK flag"; + } + + identity TCP_URG { + base TCP_FLAGS; + description + "TCP urgent flag"; + } + + identity TCP_ECE { + base TCP_FLAGS; + description + "TCP ECN-Echo flag. If the SYN flag is set, indicates that + the TCP peer is ECN-capable, otherwise indicates that a + packet with Congestion Experienced flag in the IP header + is set"; + } + + identity TCP_CWR { + base TCP_FLAGS; + description + "TCP Congestion Window Reduced flag"; + } + + // typedef statements + + typedef port-num-range { + type union { + type string { + pattern + '(0{0,4}[0-9]|0{0,3}[1-9][0-9]|0{0,2}[1-9][0-9]{2}|' + + '0?[1-9][0-9]{3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|' + + '655[0-2][0-9]|6553[0-5])\.\.(0{0,4}[0-9]|0{0,3}[1-9][0-9]|' + + '0{0,2}[1-9][0-9]{2}|0?[1-9][0-9]{3}|[1-5][0-9]{4}|' + + '6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])'; + oc-ext:posix-pattern + '^((0{0,4}[0-9]|0{0,3}[1-9][0-9]|0{0,2}[1-9][0-9]{2}|' + + '0?[1-9][0-9]{3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|' + + '655[0-2][0-9]|6553[0-5])\.\.(0{0,4}[0-9]|0{0,3}[1-9][0-9]|' + + '0{0,2}[1-9][0-9]{2}|0?[1-9][0-9]{3}|[1-5][0-9]{4}|' + + '6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))$'; + } + type oc-inet:port-number; + type enumeration { + enum ANY { + description + "Indicates any valid port number (e.g., wildcard)"; + } + } + } + description + "Port numbers may be represented as a single value, + an inclusive range as .., or as ANY to + indicate a wildcard."; + } + + typedef ip-protocol-type { + type union { + type uint8 { + range 0..254; + } + type identityref { + base IP_PROTOCOL; + } + } + description + "The IP protocol number may be expressed as a valid protocol + number (integer) or using a protocol type defined by the + IP_PROTOCOL identity"; + } + + typedef ethertype-type { + type union { + type uint16 { + range 1536..65535; + } + type identityref { + base ETHERTYPE; + } + } + description + "The Ethertype value may be expressed as a 16-bit number in + decimal notation, or using a type defined by the + ETHERTYPE identity"; + } + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-packet-match.yang b/vendor/cisco/xr/755/openconfig-packet-match.yang new file mode 100644 index 000000000..e319a46c0 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-packet-match.yang @@ -0,0 +1,435 @@ +module openconfig-packet-match { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/header-fields"; + + prefix "oc-pkt-match"; + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-packet-match-types { prefix oc-pkt-match-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-mpls-types { prefix oc-mpls; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines data related to packet header fields + used in matching operations, for example in ACLs. When a + field is omitted from a match expression, the effect is a + wildcard ('any') for that field."; + + oc-ext:openconfig-version "1.3.1"; + + revision "2021-06-16" { + description + "Remove trailing whitespace"; + reference "1.3.1"; + } + + revision "2021-05-19" { + description + "Add the ability to match multiple DSCPs in a rule."; + reference "1.3.0"; + } + + revision "2021-03-17" { + description + "Add MPLS filter Support."; + reference "1.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "1.1.1"; + } + + revision "2017-12-15" { + description + "Add MPLS packet field matches"; + reference "1.1.0"; + } + + revision "2017-05-26" { + description + "Separated IP matches into AFs"; + reference "1.0.0"; + } + + revision "2016-08-08" { + description + "OpenConfig public release"; + reference "0.2.0"; + } + + revision "2016-04-27" { + description + "Initial revision"; + reference "TBD"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + + // Physical Layer fields + // ethernet-header + grouping ethernet-header-config { + description + "Configuration data of fields in Ethernet header."; + + leaf source-mac { + type oc-yang:mac-address; + description + "Source IEEE 802 MAC address."; + } + + leaf source-mac-mask { + type oc-yang:mac-address; + description + "Source IEEE 802 MAC address mask."; + } + + leaf destination-mac { + type oc-yang:mac-address; + description + "Destination IEEE 802 MAC address."; + } + + leaf destination-mac-mask { + type oc-yang:mac-address; + description + "Destination IEEE 802 MAC address mask."; + } + + leaf ethertype { + type oc-pkt-match-types:ethertype-type; + description + "Ethertype field to match in Ethernet packets"; + } + } + + grouping ethernet-header-state { + description + "State information of fields in Ethernet header."; + } + + grouping ethernet-header-top { + description + "Top level container for fields in Ethernet header."; + + container l2 { + description + "Ethernet header fields"; + + container config { + description + "Configuration data"; + uses ethernet-header-config; + } + + container state { + config false; + description + "State Information."; + uses ethernet-header-config; + uses ethernet-header-state; + } + } + } + + grouping mpls-header-top { + description + "Top-level container for fields in an MPLS header."; + + container mpls { + description + "MPLS header fields"; + + container config { + description + "Configuration parameters relating to fields within + the MPLS header."; + uses mpls-header-config; + } + + container state { + config false; + description + "Operational state parameters relating to fields + within the MPLS header"; + uses mpls-header-config; + } + } + } + + grouping mpls-header-config { + description + "Configuration parameters relating to matches within + MPLS header fields."; + + leaf traffic-class { + type oc-mpls:mpls-tc; + description + "The value of the MPLS traffic class (TC) bits, + formerly known as the EXP bits."; + } + + leaf start-label-value { + type oc-mpls:mpls-label; + description + "Match MPLS label value on the MPLS header. + The usage of this field indicated the upper + range value in the top of the stack. + The range that is used is inclusive. The match that + is done for a particular received pkt_label is: + start-label-value <= pkt_label <= end-label-value. + The 20-bit label value in an MPLS label + stack as specified in RFC 3032. + This label value does not include the + encodings of Traffic Class and TTL."; + } + + leaf end-label-value { + type oc-mpls:mpls-label; + description + "Match MPLS label value on the MPLS header. + The usage of this field indicated the upper + range value in the top of the stack. + The range that is used is inclusive. The match that + is done for a particular received pkt_label is: + start-label-value <= pkt_label <= end-label-value. + The 20-bit label value in an MPLS label + stack as specified in RFC 3032. + This label value does not include the + encodings of Traffic Class and TTL."; + } + + leaf ttl-value { + type uint8; + description + "Time-to-live MPLS packet value match."; + reference + "RFC 3032: MPLS Label Stack Encoding."; + } + } + + grouping ip-protocol-fields-common-config { + description + "IP protocol fields common to IPv4 and IPv6"; + + leaf dscp { + type oc-inet:dscp; + description + "Value of diffserv codepoint."; + } + + leaf-list dscp-set { + type oc-inet:dscp; + description + "A list of DSCP values to be matched for incoming packets. AN OR match should + be performed, such that a packet must match one of the values defined in this + list. If the field is left empty then any DSCP value matches unless the 'dscp' + leaf is specified. It is not valid to specify both 'dscp' and 'dscp-set together.'"; + } + + leaf protocol { + type oc-pkt-match-types:ip-protocol-type; + description + "The protocol carried in the IP packet, expressed either + as its IP protocol number, or by a defined identity."; + } + + leaf hop-limit { + type uint8 { + range 0..255; + } + description + "The IP packet's hop limit -- known as TTL (in hops) in + IPv4 packets, and hop limit in IPv6"; + } + } + + // IP Layer + // ip-protocol-fields + grouping ipv4-protocol-fields-config { + description + "Configuration data of IP protocol fields + for IPv4"; + + leaf source-address { + type oc-inet:ipv4-prefix; + description + "Source IPv4 address prefix."; + } + + leaf destination-address { + type oc-inet:ipv4-prefix; + description + "Destination IPv4 address prefix."; + } + + uses ip-protocol-fields-common-config; + + } + + grouping ipv4-protocol-fields-state { + description + "State information of IP header fields for IPv4"; + } + + grouping ipv4-protocol-fields-top { + description + "IP header fields for IPv4"; + + container ipv4 { + description + "Top level container for IPv4 match field data"; + + container config { + description + "Configuration data for IPv4 match fields"; + uses ipv4-protocol-fields-config; + } + + container state { + config false; + description + "State information for IPv4 match fields"; + uses ipv4-protocol-fields-config; + uses ipv4-protocol-fields-state; + } + } + } + + grouping ipv6-protocol-fields-config { + description + "Configuration data for IPv6 match fields"; + + leaf source-address { + type oc-inet:ipv6-prefix; + description + "Source IPv6 address prefix."; + } + + leaf source-flow-label { + type oc-inet:ipv6-flow-label; + description + "Source IPv6 Flow label."; + } + + leaf destination-address { + type oc-inet:ipv6-prefix; + description + "Destination IPv6 address prefix."; + } + + leaf destination-flow-label { + type oc-inet:ipv6-flow-label; + description + "Destination IPv6 Flow label."; + } + + uses ip-protocol-fields-common-config; + } + + grouping ipv6-protocol-fields-state { + description + "Operational state data for IPv6 match fields"; + } + + grouping ipv6-protocol-fields-top { + description + "Top-level grouping for IPv6 match fields"; + + container ipv6 { + description + "Top-level container for IPv6 match field data"; + + container config { + description + "Configuration data for IPv6 match fields"; + + uses ipv6-protocol-fields-config; + } + + container state { + + config false; + + description + "Operational state data for IPv6 match fields"; + + uses ipv6-protocol-fields-config; + uses ipv6-protocol-fields-state; + } + } + } + + // Transport fields + grouping transport-fields-config { + description + "Configuration data of transport-layer packet fields"; + + leaf source-port { + type oc-pkt-match-types:port-num-range; + description + "Source port or range"; + } + + leaf destination-port { + type oc-pkt-match-types:port-num-range; + description + "Destination port or range"; + } + + leaf-list tcp-flags { + type identityref { + base oc-pkt-match-types:TCP_FLAGS; + } + description + "List of TCP flags to match"; + } + } + + grouping transport-fields-state { + description + "State data of transport-fields"; + } + + grouping transport-fields-top { + description + "Destination transport-fields top level grouping"; + + container transport { + description + "Transport fields container"; + + container config { + description + "Configuration data"; + uses transport-fields-config; + } + + container state { + config false; + description + "State data"; + uses transport-fields-config; + uses transport-fields-state; + } + } + } + +} diff --git a/vendor/cisco/xr/755/openconfig-pf-forwarding-policies.yang b/vendor/cisco/xr/755/openconfig-pf-forwarding-policies.yang new file mode 100644 index 000000000..54315ddb4 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-pf-forwarding-policies.yang @@ -0,0 +1,423 @@ +submodule openconfig-pf-forwarding-policies { + belongs-to openconfig-policy-forwarding { + prefix "oc-pf"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-packet-match { prefix "oc-pmatch"; } + import openconfig-yang-types { prefix "oc-yang"; } + import openconfig-inet-types { prefix "oc-inet"; } + + include openconfig-pf-path-groups; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule contains configuration and operational state + relating to the definition of policy-forwarding policies."; + + oc-ext:openconfig-version "0.4.0"; + + revision "2021-08-06" { + description + "Update path to the network instance action to allow references + to other NIs."; + reference "0.4.0"; + } + + revision "2021-05-19" { + description + "Add a VRF selection policy type, and means to apply the + policy."; + reference "0.3.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.2.1"; + } + + revision "2017-06-21" { + description + "Amend policy forwarding model based on ACL changes."; + reference "0.2.0"; + } + + revision "2017-02-28" { + description + "Initial public release of policy forwarding."; + reference "0.1.0"; + } + + revision "2016-11-08" { + description + "Initial revision"; + reference "0.0.1"; + } + + grouping pf-forwarding-policy-structural { + description + "Structural grouping defining forwarding policies under the + policy- forwarding module."; + + container policies { + description + "Forwarding policies defined to enact policy-based forwarding + on the local system."; + + list policy { + key "policy-id"; + + description + "A forwarding policy is defined to have a set of match + criteria, allowing particular fields of a packet's header to + be matched, and a set of forwarding actions which determines + how the local system should forward the packet."; + + leaf policy-id { + type leafref { + path "../config/policy-id"; + } + description + "Reference to the identifier for the forwarding-policy."; + } + + container config { + description + "Configuration options relating to the forwarding + policy."; + uses pf-forwarding-policy-config; + } + + container state { + config false; + description + "Operational state parameters relating to the forwarding + policy."; + uses pf-forwarding-policy-config; + } + + container rules { + description + "The criteria that should be matched for a packet to be + forwarded according to the policy action."; + + list rule { + key "sequence-id"; + + description + "A match rule for the policy. In the case that multiple + criteria are specified within a single rule, all criteria + must be met for the rule to be applied to a packet."; + + leaf sequence-id { + type leafref { + path "../config/sequence-id"; + } + description + "A unique sequence identifier for the match rule."; + } + + container config { + description + "Configuration parameters relating to the match + rule."; + uses pf-forwarding-policy-rule-config; + } + + container state { + config false; + description + "Operational state parameters relating to the match + rule."; + uses pf-forwarding-policy-rule-config; + uses pf-forwarding-policy-rule-state; + } + + uses oc-pmatch:ethernet-header-top; + uses oc-pmatch:ipv4-protocol-fields-top; + uses oc-pmatch:ipv6-protocol-fields-top; + uses oc-pmatch:transport-fields-top; + + container action { + description + "The forwarding policy action to be applied for + packets matching the rule."; + + container config { + description + "Configuration parameters relating to the forwarding + rule's action."; + uses pf-forwarding-policy-action-config; + } + + container state { + config false; + description + "Operational state parameters relating to the + forwarding rule's action."; + uses pf-forwarding-policy-action-config; + } + + uses pf-forwarding-policy-action-encapsulate-gre; + } + } + } + } + } + } + + grouping pf-forwarding-policy-config { + description + "Configuration parameters relating to the forwarding policy."; + + leaf policy-id { + type string; + description + "A unique name identifying the forwarding policy. This name is + used when applying the policy to a particular interface."; + } + + leaf type { + type enumeration { + enum PBR_POLICY { + description + "The policy reflects a policy-based routing policy that supports generic + PBR actions."; + } + enum VRF_SELECTION_POLICY { + description + "The policy is used only to classify incoming packets into corresponding + network instances."; + } + } + default PBR_POLICY; + description + "The type of the policy. By default policies are generally usable for policy-based + routing, and have no restrictions on their implementation. Where there are alternate + policy types, this leaf specifies that a policy is expected to conform with a subset + of the functionality as described in the specified type."; + } + } + + grouping pf-forwarding-policy-rule-config { + description + "Configuration parameters relating to a policy rule."; + + leaf sequence-id { + type uint32; + description + "Unique sequence number for the policy rule."; + } + } + + grouping pf-forwarding-policy-rule-state { + description + "Operational state parameters relating to a policy rule."; + + leaf matched-pkts { + type oc-yang:counter64; + description + "Number of packets matched by the rule."; + } + + leaf matched-octets { + type oc-yang:counter64; + description + "Bytes matched by the rule."; + } + } + + grouping pf-forwarding-policy-action-config { + description + "Forwarding policy action configuration parameters."; + + leaf discard { + type boolean; + default false; + description + "When this leaf is set to true, the local system should drop + packets that match the rule."; + } + + leaf decapsulate-gre { + type boolean; + default false; + description + "When this leaf is set to true, the local system should remove + the GRE header from the packet matching the rule. Following + the decapsulation it should subsequently forward the + encapsulated packet according to the relevant lookup (e.g., if + the encapsulated packet is IP, the packet should be routed + according to the IP destination)."; + } + + leaf network-instance { + type leafref { + // this must be an absolute reference to allow another NI to be + // referenced. + path "/network-instances/network-instance/config/name"; + } + description + "When this leaf is set, packets matching the match criteria + for the forwarding rule should be looked up in the + network-instance that is referenced rather than the + network-instance with which the interface is associated. + Such configuration allows policy-routing into multiple + sub-topologies from a single ingress access interface, or + different send and receive contexts for a particular + interface (sometimes referred to as half-duplex VRF)."; + } + + leaf path-selection-group { + type leafref { + // We are at: + // $NIROOT/policy-forwarding/policies/ + // policy/rules/rule/action/config/to-path-group + path "../../../../../../../path-selection-groups/" + + "path-selection-group/config/group-id"; + } + description + "When path-selection-group is set, packets matching the + match criteria for the forwarding rule should be forwarded + only via one of the paths that is specified within the + referenced path-selection-group. The next-hop of the packet + within the routing context should be used to determine between + multiple paths that are specified within the group."; + } + + leaf next-hop { + type oc-inet:ip-address; + description + "When an IP next-hop is specified in the next-hop field, + packets matching the match criteria for the forwarding rule + should be forwarded to the next-hop IP address, bypassing any + lookup on the local system."; + } + } + + grouping pf-forwarding-policy-action-encapsulate-gre { + description + "Structural grouping covering the encapsulate-gre action of the + policy forwarding rule."; + + container encapsulate-gre { + description + "Packets matching the policy rule should be GRE encapsulated + towards the set of targets defined within the target list. Where + more than one target is specified, or the target subnet expands + to more than one endpoint, packets should be load-balanced across + the destination addresses within the subnets."; + + container config { + description + "Configuration parameters for the GRE encapsulation rules action."; + uses pf-forwarding-policy-action-gre-config; + } + + container state { + description + "Operational state parameters for the GRE encapsulation rule + action."; + config false; + uses pf-forwarding-policy-action-gre-config; + } + + container targets { + description + "Surrounding container for the list of GRE tunnel targets that + should be encapsulated towards."; + + list target { + key "id"; + + leaf id { + type leafref { + path "../config/id"; + } + description + "Reference to the unique identifier for the target."; + } + + description + "Each target specified within this list should be treated as a + endpoint to which packets should be GRE encapsulated. Where the + set of destinations described within a single entry expands to + more than one destination IP address, packets should be load + shared across the destination using the local system's ECMP hashing + mechanisms."; + + container config { + description + "Configuration parameters for the GRE target."; + uses pf-forwarding-policy-action-gre-target-config; + } + + container state { + description + "Operational state parameters for the GRE target."; + config false; + uses pf-forwarding-policy-action-gre-target-config; + } + } + } + } + } + + grouping pf-forwarding-policy-action-gre-config { + description + "Configuration parameters for the encapsulate-gre forwarding + policy action."; + + leaf identifying-prefix { + type oc-inet:ip-prefix; + description + "An IP prefix that can be used to identify the group of + GRE endpoints that are being encapsulated towards. Systems + that require an IP identifier for the tunnel set + should use this prefix as the next-hop identifier."; + } + } + + grouping pf-forwarding-policy-action-gre-target-config { + description + "Configuration parameters for each target of a GRE Encapsulation + rule"; + + leaf id { + type string; + description + "A unique identifier for the target."; + } + + leaf source { + type oc-inet:ip-address; + description + "The source IP address that should be used when encapsulating + packets from the local system."; + } + + leaf destination { + type oc-inet:ip-prefix; + description + "The set of destination addresses that should be encapsulated towards. + Where a subnet is specified, each address within the subnet should be + treated as an independent destination for encapsulated traffic. Packets + should be distributed with ECMP across the set of tunnel destination + addresses."; + } + + leaf ip-ttl { + type uint8; + description + "The TTL that should be specified in the IP header of the GRE packet + encapsulating the packet matching the rule."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-pf-interfaces.yang b/vendor/cisco/xr/755/openconfig-pf-interfaces.yang new file mode 100644 index 000000000..0bd5aa2a1 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-pf-interfaces.yang @@ -0,0 +1,156 @@ +submodule openconfig-pf-interfaces { + belongs-to openconfig-policy-forwarding { + prefix "oc-pf"; + } + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-interfaces { prefix "oc-if"; } + + include openconfig-pf-forwarding-policies; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule contains groupings related to the association + between interfaces and policy forwarding rules."; + + oc-ext:openconfig-version "0.4.0"; + + revision "2021-08-06" { + description + "Update path to the network instance action to allow references + to other NIs."; + reference "0.4.0"; + } + + revision "2021-05-19" { + description + "Add a VRF selection policy type, and means to apply the + policy."; + reference "0.3.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.2.1"; + } + + revision "2017-06-21" { + description + "Amend policy forwarding model based on ACL changes."; + reference "0.2.0"; + } + + revision "2017-02-28" { + description + "Initial public release of policy forwarding."; + reference "0.1.0"; + } + + revision "2016-11-08" { + description + "Initial revision"; + reference "0.0.1"; + } + + + grouping pf-interfaces-structural { + description + "Structural grouping for interface to forwarding policy bindings + within the policy-forwarding model."; + + container interfaces { + description + "Configuration and operational state relating policy + forwarding on interfaces."; + + list interface { + key "interface-id"; + + description + "Configuration and operationals state relating to the + relationship between interfaces and policy-based forwarding + rules."; + + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "A reference to the unique identifier for the interface + being referenced by the policy."; + } + + container config { + description + "Configuration parameters relating to an interface to + policy forwarding rule binding."; + + uses pf-interface-config; + } + + container state { + config false; + description + "Operational state parameters relating to an interface to + policy forwarding rule binding."; + + uses pf-interface-config; + } + + uses oc-if:interface-ref; + } + } + } + + grouping pf-interface-config { + description + "Configuration parameters relating to an interface to policy + forwarding rule binding."; + + leaf interface-id { + type oc-if:interface-id; + description + "A unique identifier for the interface."; + } + + leaf apply-forwarding-policy { + type leafref { + // We are at /network-instances/network-instance/ + // policy-forwarding/interfaces/interface/config/ + // apply-forwarding-policy + path "../../../../policies/policy/config/policy-id"; + } + description + "The policy to be applied on the interface. Packets ingress on + the referenced interface should be compared to the match + criteria within the specified policy, and in the case that + these criteria are met, the forwarding actions specified + applied. These policies should be applied following quality of + service classification, and ACL actions if such entities are + referenced by the corresponding interface."; + } + + leaf apply-vrf-selection-policy { + type leafref { + // We are at /network-instances/network-instance/ + // policy-forwarding/interfaces/interface/config/ + // apply-vrf-selection-policy + path "../../../../policies/policy/config/policy-id"; + } + description + "Apply the specific VRF selection policy on the interface. The referenced policy + MUST be of type VRF_SELECTION_POLICY. The VRF selection policy may coexist with + a policy-forwarding policy. + + The policy specified in this leaf is used to specifically choose the L3VRF network + instance that is used for specific input criteria of packets."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-pf-path-groups.yang b/vendor/cisco/xr/755/openconfig-pf-path-groups.yang new file mode 100644 index 000000000..f8cad6029 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-pf-path-groups.yang @@ -0,0 +1,145 @@ +submodule openconfig-pf-path-groups { + belongs-to openconfig-policy-forwarding { + prefix "oc-pf"; + } + + import openconfig-extensions { prefix "oc-ext"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule contains configuration and operational state + relating to path-selection-groups which are used to group + forwarding entities together to be used as policy forwarding + targets."; + + oc-ext:openconfig-version "0.4.0"; + + revision "2021-08-06" { + description + "Update path to the network instance action to allow references + to other NIs."; + reference "0.4.0"; + } + + revision "2021-05-19" { + description + "Add a VRF selection policy type, and means to apply the + policy."; + reference "0.3.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.2.1"; + } + + revision "2017-06-21" { + description + "Amend policy forwarding model based on ACL changes."; + reference "0.2.0"; + } + + revision "2017-02-28" { + description + "Initial public release of policy forwarding."; + reference "0.1.0"; + } + + revision "2016-11-08" { + description + "Initial revision"; + reference "0.0.1"; + } + + grouping pf-path-groups-structural { + description + "Structural grouping containing the definition of path groups + within the context of policy-based forwarding."; + + container path-selection-groups { + description + "Surrounding container for the path selection groups defined + within the policy forwarding model."; + + list path-selection-group { + key "group-id"; + + leaf group-id { + type leafref { + path "../config/group-id"; + } + description + "Reference to a unique identifier for the path selection + group"; + + } + + description + "A path selection group is a set of forwarding resources, + which are grouped as eligible paths for a particular + policy-based forwarding rule. A policy rule may select a + path-selection-group as the egress for a particular type of + traffic (e.g., DSCP value). The system then utilises its + standard forwarding lookup mechanism to select from the + paths that are specified within the group - for IP packets, + the destination IP address is used such that the packet is + routed to the entity within the path-selection-group that + corresponds to the next-hop for the destination IP address + of the packet; for L2 packets, the selection is based on the + destination MAC address. If multiple paths within the + selection group are eligible to be used for forwarding, + the packets are load-balanced between them according to + the system's usual load balancing logic."; + + container config { + description + "Configuration parameters relating to the path selection + group."; + uses pf-path-selection-group-config; + } + + container state { + config false; + description + "Operational state parameters relating to the path + selection group."; + uses pf-path-selection-group-config; + } + } + } + } + + grouping pf-path-selection-group-config { + description + "Configuration parameters relating to a path selection group."; + + leaf group-id { + type string; + description + "A unique name for the path-selection-group"; + } + + leaf-list mpls-lsp { + type leafref { + // We are at /network-instances/network-instance/ + // policy-forwarding/path-selection-groups/ + // path-selection-group/config/mpls-lsp + path "../../../../../mpls/lsps/constrained-path/tunnels/" + + "tunnel/config/name"; + } + description + "A set of MPLS constrained-path LSPs which should be + considered for the policy forwarding next-hop. In order to + select between the LSPs within the path-selection-group, the + system should determine which LSP provides the best path to + the next-hop for the routed packet."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-pf-srte.yang b/vendor/cisco/xr/755/openconfig-pf-srte.yang new file mode 100644 index 000000000..7809e8243 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-pf-srte.yang @@ -0,0 +1,297 @@ +module openconfig-pf-srte { + yang-version "1"; + namespace "http://openconfig.net/yang/policy-forwarding/sr-te"; + prefix "oc-pf-srte"; + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-network-instance { prefix "oc-ni"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + import openconfig-inet-types { prefix "oc-inet"; } + import openconfig-segment-routing-types { prefix "oc-srt"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig Working group + www.openconfig.net"; + + description + "This module defines extensions to the OpenConfig policy forwarding + module to support static segment routing traffic engineering policy + definitions. Extensions are provided to match: + + - Ingress binding SIDs, such that traffic can be mapped based on + an ingress label. + - A colour community and endpoint combination, such that the + routes can be resolved according to the policy forwarding + entries that are to be installed. + + In addition, policy forwarding actions associated with next-hops are + added to the model. The next-hop set to be forwarded to is augmented + to cover a set of lists of segments. The most common application of + such segment lists is to express stacks of MPLS labels which are used + as SR segments. In addition, they may be used to expressed segments + in the form of IPv6 addresses."; + + oc-ext:openconfig-version "0.2.0"; + + revision "2019-10-15" { + description + "Change imported segment-routing module."; + reference "0.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision 2017-10-01 { + description + "Initial revision of the SR-TE policy SAFI model."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping oc-pf-srte-match-top { + description + "Top-level grouping used for SR-TE policy match criteria within + a policy forwarding rule."; + + container srte { + description + "Match criteria associated with Segment Routing Traffic Engineering + policies."; + + container config { + description + "Configuration parameters associated with SR-TE policies."; + uses oc-pf-srte-match-config; + } + + container state { + config false; + description + "Operational state parameters associated with SR-TE policies."; + uses oc-pf-srte-match-config; + } + } + } + + grouping oc-pf-srte-match-config { + description + "Configuration parameters specific to Segment Routing traffic + Engineering."; + + leaf mpls-bsid { + type oc-mplst:mpls-label; + description + "The Binding SID (BSID) to be matched expressed as an MPLS label. Packets + that are ingress to the system with the top-most label matching + the SID value specified in this leaf should be forwarded according + to the policy. The top-most label (the specified Binding SID) + must be popped from the label stack by the system."; + } + + leaf srte-endpoint { + type oc-inet:ip-address; + description + "When the policy forwarding rule is used for RIB resolution + to a Segment Routing Traffic Engineering path, the policy is used + when the required endpoint (which may be the protocol next-hop) + matches the endpoint address specified in this + leaf. When the leaf is set to all zeros (0.0.0.0 or ::), the endpoint + acts as a wildcard in the policy resolution."; + } + + leaf srte-color { + type uint32; + description + "When the policy forwarding rule is used for RIB resolution to a + specific Segment Routing Traffic Engineering path, the policy is + used when the colour required in the policy (which may be specified + based on the value of a BGP extended colour community) matches the + value of this leaf. The colour being set to 0 indicates that the + colour is a wildcard in the policy resolution."; + } + + leaf srte-preference { + type uint32; + description + "When there are multiple policy forwarding rules specified for + a particular SR-TE endpoint. The preference is used to resolve + between them. These rules may be learnt from a dynamic routing + protocol, or interface to the device, or from other static + entries configured on the system."; + } + } + + grouping oc-pf-srte-segment-list-top { + description + "Top-level grouping for specifying segment lists under a policy + forwarding action."; + + container segment-lists { + description + "A list of SR-TE segment lists that should be applied as an + action within this policy. Where a system selects the SR-TE + policy to be used, the list of segment lists that is specified + should be used as forwarding next-hops."; + + list segment-list { + key "index"; + description + "An individual segment list within the list of segment + lists used for SR-TE policies."; + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index leaf which act as a key to the + segment-list list."; + } + + container config { + description + "Configuration parameters for the SR-TE segment list."; + uses oc-pf-srte-segment-list-config; + } + + container state { + config false; + description + "Operational state parameters relating to the SR-TE + segment list."; + uses oc-pf-srte-segment-list-config; + } + + container sids { + description + "Surrounding container for the list of SIDs that makes up the + segment list."; + + list sid { + key "index"; + + description + "List of SIDs that make up the segment list. The segment list + is formed by ordering the set of SIDs that are specified by + their index in ascending numerical order."; + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the SID's index within the segment list which + acts as the key of the list."; + } + + container config { + description + "Configuration parameters relating to the SID within the + segment list."; + uses oc-pf-srte-segment-list-sid-config; + } + + container state { + config false; + description + "Operational state parameters relating to the SID within + the segment list."; + uses oc-pf-srte-segment-list-sid-config; + } + } + } + } + } + } + + grouping oc-pf-srte-segment-list-config { + description + "Configuration parameters relating to a segment list."; + + leaf index { + type uint64; + description + "Unique integer identifying the segment list within the set + of segment lists used for the SR-TE policy action."; + } + + leaf weight { + type uint32; + description + "The weight of the segment list within the set of segment lists + specified for the policy. The traffic that is forwarded according + to the policy is distributed across the set of paths such that + each list receives weight/(sum of all weights) traffic."; + } + } + + grouping oc-pf-srte-segment-list-sid-config { + description + "Configuration parameters relating to a SID within an SR-TE segment + list"; + + leaf index { + type uint64; + description + "The index of the SID within the segment list. The segment list is + applied by ordering the SID entries in ascending numerical order + beginning at 0."; + } + + leaf value { + type oc-srt:sr-sid-type; + description + "The value of the SID that is to be used. Specified as an MPLS + label or IPv6 address."; + } + + leaf mpls-ttl { + type uint8; + default 0; + description + "The TTL to be set if the type of the SID is an MPLS label. If the + value of the TTL is set to be 0, the value is picked by the local + implementation."; + } + + leaf mpls-tc { + type uint8 { + range "0..7"; + } + default 0; + description + "The value of the MPLS Traffic Class (TC) bits to be used if the + value of the SID is an MPLS label. In the case that the value is + set to 0, then the local implementation should choose the value."; + } + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:policy-forwarding/" + + "oc-ni:policies/oc-ni:policy/oc-ni:rules/oc-ni:rule" { + description + "Add the SR-TE specific policy forwarding match criteria to the + policy forwarding model."; + + uses oc-pf-srte-match-top; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:policy-forwarding/" + + "oc-ni:policies/oc-ni:policy/oc-ni:rules/oc-ni:rule/oc-ni:action" { + description + "Add the SR-TE specific policy forwarding actions to the + policy forwarding model."; + + uses oc-pf-srte-segment-list-top; + } +} diff --git a/vendor/cisco/xr/755/openconfig-pim-types.yang b/vendor/cisco/xr/755/openconfig-pim-types.yang new file mode 100644 index 000000000..a1fc515cf --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-pim-types.yang @@ -0,0 +1,85 @@ +module openconfig-pim-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/pim/types"; + + prefix "oc-pim-types"; + + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines types related to the PIM protocol model."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2018-02-19" { + description + "Initial revision."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + identity PIM_MODE { + description + "Base identity for the operating modes of Protocol-Independent + Multicast."; + } + + identity PIM_MODE_SPARSE { + base PIM_MODE; + description + "PIM sparse mode (PIM-SM)."; + reference "RFC7761"; + } + + identity PIM_MODE_DENSE { + base PIM_MODE; + description + "PIM dense mode (PIM-DM)."; + reference "RFC3973"; + } + + // typedef statements + + typedef dr-priority-type { + type uint32; + description + "The port's designated router priority. Larger always preferred. + DR Priority is a 32-bit unsigned number, ranges 0-4294967295."; + reference "RFC7761 4.3.1 page 33"; + } + + typedef pim-interval-type { + type uint8 { + range 1..255; + } + units "seconds"; + description + "Interval at which the router sends the PIM message toward the + upstream RPF neighbor."; + reference "RFC7761 4.5 page 44, 4.3.1 page 29"; + } +} diff --git a/vendor/cisco/xr/755/openconfig-pim.yang b/vendor/cisco/xr/755/openconfig-pim.yang new file mode 100644 index 000000000..da749ba15 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-pim.yang @@ -0,0 +1,445 @@ +module openconfig-pim { + yang-version "1"; + // namespace + namespace "http://openconfig.net/yang/pim"; + prefix "oc-pim"; + // import some basic types/interfaces + import openconfig-pim-types { prefix oc-pim-types; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-acl { prefix oc-acl; } + import openconfig-types { prefix "oc-types"; } + import openconfig-extensions { prefix "oc-ext"; } + import ietf-inet-types { prefix "inet"; } + import openconfig-bfd { prefix "oc-bfd"; } + // meta + organization + "OpenConfig working group"; + contact + "OpenConfig working group + www.openconfig.net"; + description + "An OpenConfig model for Protocol Independent Multicast (PIM)."; + oc-ext:openconfig-version "0.4.1"; + revision "2021-04-21" { + description + "Reindent to two spaces and remove trailing whitespace "; + reference "0.4.1"; + } + revision "2021-04-21" { + description + "Allow to limit the maximum number of groups to join + via PIM protocol. It can be configured at two levels, + depending on hardware implementation: + 1. Network-instance level, the limit will apply + to all PIM sessions/joins ending in that network-instance. + 2. Interface level, the limit would be discriminated per interface."; + reference "0.4.0"; + } + revision "2021-03-17" { + description + "Add bfd support without augmentation."; + reference "0.3.0"; + } + revision "2019-07-09" { + description + "Reindent to two spaces. + Ensure that timeticks64 is consistently expressed in nanoseconds."; + reference "0.2.0"; + } + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + revision "2018-02-09" { + description + "Initial revision."; + reference "0.1.0"; + } + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + grouping admin-config { + description + "Re-usable grouping to enable or disable a particular feature."; + leaf enabled { + type boolean; + default false; + description + "When set to true, the functionality within which this + leaf is defined is enabled, when set to false it is + explicitly disabled."; + } + } + grouping pim-counters-state { + description + "Counters related to PIM messages."; + leaf hello-messages { + type uint32; + description + "Number of hello messages received."; + reference "RFC7761 4.9.2 page 108"; + } + leaf join-prune-messages { + type uint32; + description + "Number of join/prune messages received."; + reference "RFC7761 4.5 page 44"; + } + leaf bootstrap-messages { + type uint32; + description + "Number of bootstrap router messages received."; + reference "RFC7761 3.7 page 12"; + } + } + grouping pim-interface-config { + description + "Configuration data for PIM on each interface."; + uses admin-config; + leaf interface-id { + type oc-if:interface-id; + description + "Reference to an interface on which PIM is enabled."; + } + leaf mode { + type identityref { + base oc-pim-types:PIM_MODE; + } + description + "PIM mode to use when delivering multicast traffic via this + interface."; + } + leaf bsr-border { + type boolean; + default false; + description + "When set to true the device will not send bootstrap router + messages over this interface. By default these are transmitted + over all PIM sparse mode (PIM-SM) enabled interfaces."; + } + leaf border-router { + type boolean; + default false; + description + "When set to true the interface is set as MBR (multicast border + router) and allows multicast traffic from sources that are + outside of the PIM domain."; + } + leaf dr-priority { + type oc-pim-types:dr-priority-type; + description + "The designated router priority of this interface. Larger always + preferred."; + } + leaf join-prune-interval { + type oc-pim-types:pim-interval-type; + description + "Interval at which the router sends the PIM join/prune messages + toward the upstream RPF neighbor."; + } + leaf hello-interval { + type oc-pim-types:pim-interval-type; + description + "Interval at which the router sends the PIM hello messages."; + } + leaf dead-timer { + type uint16 { + range 1..65535; + } + description + "Number of missed hello messages after which a neighbor is + expired."; + } + leaf maximum-groups { + type uint32; + description + "Limit the number of (S, G) and (*, G) PIM + entries accepted on the interface. + This feature depends on hardware implementation."; + } + } + grouping pim-neighbor-state { + description + "PIM neighbor state."; + leaf neighbor-address { + type inet:ipv4-address; + description + "IPv4 address of neighbor router."; + } + leaf dr-address { + type inet:ipv4-address; + description + "IPv4 address of designated router."; + } + leaf neighbor-established { + type oc-types:timeticks64; + description + "This timestamp indicates the time that the + PIM neighbor adjacency established. It is expressed + relative to the Unix Epoch (Jan 1, 1970 00:00:00 UTC). + The PIM session uptime can be computed by clients + as the difference between this value and the + current time in UTC."; + } + leaf neighbor-expires { + type oc-types:timeticks64; + description + "This timestamp indicates the time that the + PIM neighbor adjacency will expire should hello + messages fail to arrive from the neighbor. The value + is expressed relative to the Unix Epoch (Jan 1, 1970 + 00:00:00 UTC)."; + } + leaf mode { + type identityref { + base oc-pim-types:PIM_MODE; + } + description + "PIM mode in use when delivering multicast traffic + via this neighbor."; + } + } + grouping pim-neighbors-top { + description + "Details about PIM neighbors."; + container neighbors { + config false; + description + "Details about PIM neighbors."; + list neighbor { + key "neighbor-address"; + description + "Details about a specific PIM neighbor."; + leaf neighbor-address { + type leafref { + path "../state/neighbor-address"; + } + description + "IPv4 address of neighbor router."; + } + container state { + config false; + description + "Details about a specific PIM neighbor."; + uses pim-neighbor-state; + } + } + } + } + grouping pim-interfaces-top { + description + "Configuration and state data for PIM on each interface."; + container interfaces { + description + "Configuration and state data for PIM on each interface."; + list interface { + key "interface-id"; + description + "This container defines interface PIM configuration and + state information."; + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "Reference to an interface on which PIM is enabled."; + } + container config { + description + "PIM interface configuration."; + uses pim-interface-config; + } + container state { + config false; + description + "State information for PIM interfaces."; + uses pim-interface-config; + container counters { + description + "PIM counters for each interface."; + uses pim-counters-state; + } + } + uses pim-neighbors-top; + uses oc-if:interface-ref; + uses oc-bfd:bfd-enable; + } + } + } + + grouping pim-global-config { + description + "Configuration data for PIM."; + leaf maximum-groups { + type uint32; + description + "Limit the number of accepted (S, G) and (*, G) + PIM join states on the network-instance."; + } + } + grouping pim-global-state { + description + "State and session data for PIM on each interface."; + leaf neighbor-count { + type uint8; + description + "Number of adjacent PIM neighbors."; + } + container counters { + description + "Global PIM counters."; + uses pim-counters-state; + } + } + grouping pim-sources-joined-top { + description + "List of multicast sources joined."; + container sources-joined { + config false; + description + "List of multicast sources joined."; + list source { + key "address"; + description + "A multicast source that has been joined."; + leaf address { + type leafref { + path "../state/address"; + } + description + "Source address of multicast."; + } + container state { + config false; + description + "State for a multicast source that has been joined."; + leaf address { + type inet:ipv4-address; + description + "Source address of multicast."; + } + leaf group { + type inet:ipv4-address; + description + "Multicast address."; + } + leaf upstream-interface-id { + type oc-if:interface-id; + description + "The upstream interface for this multicast source."; + } + } + } + } + } + grouping pim-global-ssm-config { + description + "Source specific multicast (SSM) configuration."; + leaf ssm-ranges { + type leafref { + path "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/" + + "oc-acl:config/oc-acl:name"; + } + description + "List of accepted source specific multicast (SSM) address + ranges."; + } + } + grouping pim-global-rp-addresses-config { + description + "Defines rendezvous points for sparse mode multicast."; + leaf address { + type inet:ipv4-address; + description + "IPv4 address of rendezvous point."; + } + leaf multicast-groups { + type string; + // TODO should this be an ACL or prefix-list reference or prefix list? + // Cisco it's an ACL, Juniper it's an inline prefix list + description + "List of multicast groups (multicast IP address ranges) for which + this entry will be used as a rendezvous point. When not + present the default is equivalent to all valid IP multicast + addresses."; + } + } + grouping pim-global-top { + description + "Top level grouping for global PIM configuration."; + container config { + description + "Configuration for global PIM parameters"; + uses pim-global-config; + } + container state { + config false; + description + "Global PIM state."; + uses pim-global-config; + uses pim-global-state; + } + + container ssm { + description + "Source specific multicast (SSM)."; + container config { + description + "Configuration for source specific multicast (SSM)."; + uses pim-global-ssm-config; + } + container state { + config false; + description + "State for source specific multicast (SSM)."; + uses pim-global-ssm-config; + } + } + container rendezvous-points { + description + "Defines rendezvous points for sparse mode multicast."; + list rendezvous-point { + key "address"; + description + "Defines a rendezvous point (RP) for sparse mode multicast."; + leaf address { + type leafref { + path "../config/address"; + } + description + "IPv4 address of rendezvous point."; + } + container config { + description + "Rendezvous point configuration."; + uses pim-global-rp-addresses-config; + } + container state { + config false; + description + "Rendezvous point state."; + uses pim-global-rp-addresses-config; + } + } + } + uses pim-sources-joined-top; + } + grouping pim-top { + description + "Top-level grouping for PIM."; + container pim { + description + "Top-level PIM configuration and operational state."; + container global { + description + "This container defines global PIM configuration and state + information."; + uses pim-global-top; + } + uses pim-interfaces-top; + } + } + // data definition statements +} diff --git a/vendor/cisco/xr/755/openconfig-platform-cpu.yang b/vendor/cisco/xr/755/openconfig-platform-cpu.yang new file mode 100644 index 000000000..4182c77a9 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-cpu.yang @@ -0,0 +1,72 @@ +module openconfig-platform-cpu { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/cpu"; + + prefix "oc-cpu"; + + import openconfig-platform { prefix oc-platform; } + import openconfig-types { prefix oc-types; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines data related to FAN components in the + OpenConfig platform model."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2018-01-30" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping component-cpu-utilization { + description + "Per-component CPU statistics"; + + container utilization { + description + "Statistics representing CPU utilization of the + component."; + + container state { + config false; + description + "Operational state variables relating to the utilization + of the CPU."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + } + } + + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:cpu" { + description + "Adding CPU utilization data to component model"; + + uses component-cpu-utilization; + } +} diff --git a/vendor/cisco/xr/755/openconfig-platform-ext.yang b/vendor/cisco/xr/755/openconfig-platform-ext.yang new file mode 100644 index 000000000..6889f6cd4 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-ext.yang @@ -0,0 +1,83 @@ +module openconfig-platform-ext { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/extension"; + + prefix "oc-platform-ext"; + + import openconfig-platform { prefix oc-platform; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines optional extensions to the OpenConfig + platform model."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2018-01-18" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + // typedef statements + + // grouping statements + + + grouping platform-component-ext-state { + description + "Operational state data for platform components"; + + leaf entity-id { + type uint32; + description + "A unique numeric identifier assigned by the system to the + component. This identifier may be used to represent the + corresponding SNMP Entity MIB identifier."; + } + } + + + // data definition statements + + // augment statements + + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:state" { + description + "Adding extension state data to components"; + + uses platform-component-ext-state; + } + + // rpc statements + + // notification statements + +} + + diff --git a/vendor/cisco/xr/755/openconfig-platform-fan.yang b/vendor/cisco/xr/755/openconfig-platform-fan.yang new file mode 100644 index 000000000..e9e44137f --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-fan.yang @@ -0,0 +1,77 @@ +module openconfig-platform-fan { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/fan"; + + prefix "oc-fan"; + + import openconfig-platform { prefix oc-platform; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines data related to FAN components in the + OpenConfig platform model."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2018-01-18" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + // typedef statements + + // grouping statements + + grouping fan-state { + description + "Operational state data for fan components"; + + leaf speed { + type uint32; + units rpm; + description + "Current (instantaneous) fan speed"; + } + } + + + // data definition statements + + // augment statements + + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:fan/oc-platform:state" { + description + "Adding fan data to component model"; + + uses fan-state; + } + +} + + diff --git a/vendor/cisco/xr/755/openconfig-platform-linecard.yang b/vendor/cisco/xr/755/openconfig-platform-linecard.yang new file mode 100644 index 000000000..8a4e9b3c8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-linecard.yang @@ -0,0 +1,131 @@ +module openconfig-platform-linecard { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/linecard"; + + prefix "oc-linecard"; + + import openconfig-platform { prefix oc-platform; } + import openconfig-platform-types { prefix oc-platform-types; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines data related to LINECARD components in + the openconfig-platform model"; + + oc-ext:openconfig-version "0.1.2"; + + revision "2020-05-10" { + description + "Remove when statement that references read-only entity from + a read-write context."; + reference "0.1.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.1.1"; + } + + revision "2017-08-03" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + + // feature statements + + // identity statements + + // typedef statements + + // grouping statements + + grouping linecard-config { + description + "Configuration data for linecard components"; + + leaf power-admin-state { + type oc-platform-types:component-power-type; + default POWER_ENABLED; + description + "Enable or disable power to the linecard"; + } + } + + grouping linecard-state { + description + "Operational state data for linecard components"; + + leaf slot-id { + type string; + description + "Identifier for the slot or chassis position in which the + linecard is installed"; + } + } + + grouping linecard-top { + description + "Top-level grouping for linecard data"; + + container linecard { + description + "Top-level container for linecard data"; + + container config { + description + "Configuration data for linecards"; + + uses linecard-config; + } + + container state { + + config false; + + description + "Operational state data for linecards"; + + uses linecard-config; + uses linecard-state; + } + } + } + + // data definition statements + + // augment statements + + augment "/oc-platform:components/oc-platform:component" { + description + "Adding linecard data to physical inventory. This subtree + is only valid when the type of the component is LINECARD."; + + uses linecard-top; + } + + // rpc statements + + // notification statements + +} + diff --git a/vendor/cisco/xr/755/openconfig-platform-port.yang b/vendor/cisco/xr/755/openconfig-platform-port.yang new file mode 100644 index 000000000..1a869ff9b --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-port.yang @@ -0,0 +1,112 @@ +module openconfig-platform-port { + yang-version 1; + namespace "http://openconfig.net/yang/platform/port"; + prefix oc-port; + + import openconfig-platform { + prefix oc-platform; + } + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-if-ethernet { + prefix oc-eth; + } + import openconfig-extensions { + prefix oc-ext; + } + + organization "OpenConfig working group"; + contact + "OpenConfig working group + www.openconfig.net"; + description + "This module defines data related to PORT components in the openconfig-platform model"; + oc-ext:openconfig-version "0.3.0"; + + revision 2018-01-20 { + description + "Added augmentation for interface-to-port reference"; + reference "0.3.0"; + } + revision 2017-11-17 { + description + "Corrected augmentation path for port data"; + reference "0.2.0"; + } + revision 2016-10-24 { + description + "Initial revision"; + reference "0.1.0"; + } + + grouping port-breakout-config { + description + "Configuration data for the port breakout mode"; + leaf num-channels { + type uint8; + description + "Sets the number of channels to 'breakout' on a port + capable of channelization"; + } + leaf channel-speed { + type identityref { + base oc-eth:ETHERNET_SPEED; + } + description + "Sets the channel speed on each channel -- the + supported values are defined by the + ETHERNET_SPEED identity"; + } + } + + grouping port-breakout-state { + description + "Operational state data for the port breakout mode "; + } + + grouping port-breakout-top { + description + "Top-level grouping for port breakout data"; + container breakout-mode { + description + "Top-level container for port breakout data"; + container config { + description + "Configuration data for port breakout"; + uses port-breakout-config; + } + container state { + config false; + description + "Operational state data for port breakout"; + uses port-breakout-config; + uses port-breakout-state; + } + } + } + + augment "/oc-platform:components/oc-platform:component/oc-platform:port" { + description + "Adding port breakout data to physical platform data"; + uses port-breakout-top { + when "./state/type = 'PORT'" { + description + "This data is valid only for PORT components"; + } + } + } + augment "/oc-if:interfaces/oc-if:interface/oc-if:state" { + description + "Adds a reference from the base interface to the corresponding + port component in the device inventory."; + leaf hardware-port { + type leafref { + path "/oc-platform:components/oc-platform:component/oc-platform:name"; + } + description + "For non-channelized interfaces, references the hardware port + corresponding to the base interface."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-platform-psu.yang b/vendor/cisco/xr/755/openconfig-platform-psu.yang new file mode 100644 index 000000000..ae5019ec8 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-psu.yang @@ -0,0 +1,146 @@ +module openconfig-platform-psu { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/psu"; + + prefix "oc-platform-psu"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-types { prefix oc-types; } + import openconfig-platform { prefix oc-platform; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines a schema for power supply components in + the OpenConfig platform model."; + + oc-ext:openconfig-version "0.2.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.2.1"; + } + + revision "2018-01-16" { + description + "Changed admin state leaf name"; + reference "0.2.0"; + } + + revision "2017-12-21" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + // typedef statements + + // grouping statements + + grouping psu-config { + description + "Configuration data for power supply components"; + + leaf enabled { + type boolean; + default true; + description + "Adminsitrative control on the on/off state of the power + supply unit."; + } + } + + grouping psu-state { + description + "Operational state data for power supply components"; + + + // TODO(aashaikh): May need to convert some of these to + // interval statistics once decided on which leaves to include. + leaf capacity { + type oc-types:ieeefloat32; + units watts; + description + "Maximum power capacity of the power supply."; + } + + leaf input-current { + type oc-types:ieeefloat32; + units amps; + description + "The input current draw of the power supply."; + } + + leaf input-voltage { + type oc-types:ieeefloat32; + units volts; + description + "Input voltage to the power supply."; + } + + leaf output-current { + type oc-types:ieeefloat32; + units amps; + description + "The output current supplied by the power supply."; + } + + leaf output-voltage { + type oc-types:ieeefloat32; + units volts; + description + "Output voltage supplied by the power supply."; + } + + leaf output-power { + type oc-types:ieeefloat32; + units watts; + description + "Output power supplied by the power supply."; + } + } + + // data definition statements + + // augment statements + + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:power-supply/oc-platform:config" { + description + "Adds power supply data to component operational state."; + + uses psu-config; + } + + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:power-supply/oc-platform:state" { + description + "Adds power supply data to component operational state."; + + uses psu-config; + uses psu-state; + } + + + // rpc statements + + // notification statements +} diff --git a/vendor/cisco/xr/755/openconfig-platform-software.yang b/vendor/cisco/xr/755/openconfig-platform-software.yang new file mode 100644 index 000000000..12ee5405a --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-software.yang @@ -0,0 +1,101 @@ +module openconfig-platform-software { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/software-module"; + + prefix "oc-sw-module"; + + import openconfig-platform { + prefix oc-platform; + } + + import openconfig-extensions { + prefix oc-ext; + } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines data related to software components in + the openconfig-platform model"; + + oc-ext:openconfig-version "0.1.1"; + + revision "2021-06-16" { + description + "Remove trailing whitespace"; + reference "0.1.1"; + } + + revision "2021-01-18" { + description + "Initial revision."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + // feature statements + // identity statements + identity SOFTWARE_MODULE_TYPE { + description + "Base identity for defining various types of software + modules."; + } + + identity USERSPACE_PACKAGE_BUNDLE { + base SOFTWARE_MODULE_TYPE; + description + "A collection of userspace software modules that are grouped, and + possibly versioned, together. A package bundle may have + subcomponents that represent individual elements in the bundle + and their properties."; + } + + identity USERSPACE_PACKAGE { + base SOFTWARE_MODULE_TYPE; + description + "An individual software package that runs in user space. The + package may be part of a package bundle."; + } + + // typedef statements + // grouping statements + grouping sw-module-state { + description + "Operational state data for software module components"; + + leaf module-type { + type identityref { + base SOFTWARE_MODULE_TYPE; + } + description + "Type of the software module"; + } + } + + // data definition statements + // augment statements + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:software-module/oc-platform:state" { + description + "Adding software module operational data to physical inventory. + This subtree is only valid when the type of the component is + SOFTWARE_MODULE."; + + uses sw-module-state; + } +} + + diff --git a/vendor/cisco/xr/755/openconfig-platform-transceiver.yang b/vendor/cisco/xr/755/openconfig-platform-transceiver.yang new file mode 100644 index 000000000..349ba2270 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-transceiver.yang @@ -0,0 +1,610 @@ +module openconfig-platform-transceiver { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/transceiver"; + + prefix "oc-transceiver"; + + // import some basic types + import ietf-yang-types { prefix yang; } + import openconfig-platform { prefix oc-platform; } + import openconfig-platform-types { prefix oc-platform-types; } + import openconfig-platform-port { prefix oc-port; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-transport-types { prefix oc-opt-types; } + import openconfig-types { prefix oc-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-yang-types { prefix oc-yang; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + for transceivers (i.e., pluggable optics). The module should be + used in conjunction with the platform model where other + physical entity data are represented. + + In the platform model, a component of type=TRANSCEIVER is + expected to be a subcomponent of a PORT component. This + module defines a concrete schema for the associated data for + components with type=TRANSCEIVER."; + + oc-ext:openconfig-version "0.7.0"; + + + revision "2018-11-25" { + description + "Add augment for leafref to transceiver component; + Correct paths in physical channels leafref."; + reference "0.7.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.6.1"; + } + + revision "2018-11-16" { + description + "Added transceiver FEC configuration and state"; + reference "0.6.0"; + } + + revision "2018-05-15" { + description + "Remove internal-temp state leaf, since we prefer + the generic /components/component/state/temperature + container for temperature information."; + reference "0.5.0"; + } + + revision "2018-01-22" { + description + "Fixed physical-channel path reference"; + reference "0.4.1"; + } + + revision "2017-09-18" { + description + "Use openconfig-yang-types module"; + reference "0.4.0"; + } + + revision "2017-07-08" { + description + "Adds clarification on aggregate power measurement data"; + reference "0.3.0"; + } + + revision "2016-12-22" { + description + "Adds preconfiguration data and clarified units"; + reference "0.2.0"; + } + + // OpenConfig specific extensions for module metadata. + //oc-ext:regexp-posix; + //oc-ext:catalog-organization "openconfig"; + //oc-ext:origin "openconfig"; + + // identity statements + + // typedef statements + + // grouping statements + + grouping optical-power-state { + description + "Reusable leaves related to optical power state -- these + are read-only state values. If avg/min/max statistics are + not supported, the target is expected to just supply the + instant value"; + + container output-power { + description + "The output optical power of a physical channel in units + of 0.01dBm, which may be associated with individual + physical channels, or an aggregate of multiple physical + channels (i.e., for the overall transceiver). For an + aggregate, this may be a measurement from a photodetector + or a a calculation performed on the device by summing up + all of the related individual physical channels. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dBm; + } + + container input-power { + description + "The input optical power of a physical channel in units + of 0.01dBm, which may be associated with individual + physical channels, or an aggregate of multiple physical + channels (i.e., for the overall transceiver). For an + aggregate, this may be a measurement from a photodetector + or a a calculation performed on the device by summing up + all of the related individual physical channels. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dBm; + } + + container laser-bias-current { + description + "The current applied by the system to the transmit laser to + achieve the output power. The current is expressed in mA + with up to two decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics. + If avg/min/max statistics are not supported, the target is + expected to just supply the instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-mA; + } + } + + grouping output-optical-frequency { + description + "Reusable leaves related to optical output power -- this is + typically configurable on line side and read-only on the + client-side"; + + leaf output-frequency { + type oc-opt-types:frequency-type; + description + "The frequency in MHz of the individual physical channel + (e.g. ITU C50 - 195.0THz and would be reported as + 195,000,000 MHz in this model). This attribute is not + configurable on most client ports."; + } + } + + + grouping physical-channel-config { + description + "Configuration data for physical client channels"; + + leaf index { + type uint16 { + range 0..max; + } + description + "Index of the physical channnel or lane within a physical + client port"; + } + + 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; + } + units dBm; + description + "Target output optical power level of the optical channel, + expressed in increments of 0.01 dBm (decibel-milliwats)"; + } + } + + grouping physical-channel-state { + description + "Operational state data for client channels."; + + uses output-optical-frequency; + uses optical-power-state; + } + + grouping physical-channel-top { + description + "Top-level grouping for physical client channels"; + + container physical-channels { + description + "Enclosing container for client channels"; + + list channel { + key "index"; + description + "List of client channels, keyed by index within a physical + client port. A physical port with a single channel would + have a single zero-indexed element"; + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index number of the channel"; + } + + container config { + description + "Configuration data for physical channels"; + + uses physical-channel-config; + } + + container state { + + config false; + + description + "Operational state data for channels"; + + uses physical-channel-config; + uses physical-channel-state; + } + } + } + } + + + grouping port-transceiver-config { + description + "Configuration data for client port transceivers"; + + leaf enabled { + type boolean; + description + "Turns power on / off to the transceiver -- provides a means + to power on/off the transceiver (in the case of SFP, SFP+, + QSFP,...) or enable high-power mode (in the case of CFP, + CFP2, CFP4) and is optionally supported (device can choose to + always enable). True = power on / high power, False = + powered off"; + } + + leaf form-factor-preconf { + type identityref { + base oc-opt-types:TRANSCEIVER_FORM_FACTOR_TYPE; + } + description + "Indicates the type of optical transceiver used on this + port. If the client port is built into the device and not + pluggable, then non-pluggable is the corresponding state. If + a device port supports multiple form factors (e.g. QSFP28 + and QSFP+, then the value of the transceiver installed shall + be reported. If no transceiver is present, then the value of + the highest rate form factor shall be reported + (QSFP28, for example). + + The form factor is included in configuration data to allow + pre-configuring a device with the expected type of + transceiver ahead of deployment. The corresponding state + leaf should reflect the actual transceiver type plugged into + the system."; + } + + leaf ethernet-pmd-preconf { + type identityref { + base oc-opt-types:ETHERNET_PMD_TYPE; + } + description + "The Ethernet PMD is a property of the optical transceiver + used on the port, indicating the type of physical connection. + It is included in configuration data to allow pre-configuring + a port/transceiver with the expected PMD. The actual PMD is + indicated by the ethernet-pmd state leaf."; + } + + leaf fec-mode { + type identityref { + base oc-platform-types:FEC_MODE_TYPE; + } + description + "The FEC mode indicates the mode of operation for the + transceiver's FEC. This defines typical operational modes + and does not aim to specify more granular FEC capabilities."; + } + } + + grouping port-transceiver-state { + description + "Operational state data for client port transceivers"; + + leaf present { + type enumeration { + enum PRESENT { + description + "Transceiver is present on the port"; + } + enum NOT_PRESENT { + description + "Transceiver is not present on the port"; + } + } + description + "Indicates whether a transceiver is present in + the specified client port."; + } + + leaf form-factor { + type identityref { + base oc-opt-types:TRANSCEIVER_FORM_FACTOR_TYPE; + } + description + "Indicates the type of optical transceiver used on this + port. If the client port is built into the device and not + pluggable, then non-pluggable is the corresponding state. If + a device port supports multiple form factors (e.g. QSFP28 + and QSFP+, then the value of the transceiver installed shall + be reported. If no transceiver is present, then the value of + the highest rate form factor shall be reported + (QSFP28, for example)."; + } + + leaf connector-type { + type identityref { + base oc-opt-types:FIBER_CONNECTOR_TYPE; + } + description + "Connector type used on this port"; + } + + leaf vendor { + type string { + length 1..16; + } + description + "Full name of transceiver vendor. 16-octet field that + contains ASCII characters, left-aligned and padded on the + right with ASCII spaces (20h)"; + } + + leaf vendor-part { + type string { + length 1..16; + } + description + "Transceiver vendor's part number. 16-octet field that + contains ASCII characters, left-aligned and padded on the + right with ASCII spaces (20h). If part number is undefined, + all 16 octets = 0h"; + } + + leaf vendor-rev { + type string { + length 1..2; + } + description + "Transceiver vendor's revision number. 2-octet field that + contains ASCII characters, left-aligned and padded on the + right with ASCII spaces (20h)"; + } + + //TODO: these compliance code leaves should be active based on + //the type of port + leaf ethernet-pmd { + type identityref { + base oc-opt-types:ETHERNET_PMD_TYPE; + } + description + "Ethernet PMD (physical medium dependent sublayer) that the + transceiver supports. The SFF/QSFP MSAs have registers for + this and CFP MSA has similar."; + } + + leaf sonet-sdh-compliance-code { + type identityref { + base oc-opt-types:SONET_APPLICATION_CODE; + } + description + "SONET/SDH application code supported by the port"; + } + + leaf otn-compliance-code { + type identityref { + base oc-opt-types:OTN_APPLICATION_CODE; + } + description + "OTN application code supported by the port"; + } + + leaf serial-no { + type string { + length 1..16; + } + description + "Transceiver serial number. 16-octet field that contains + ASCII characters, left-aligned and padded on the right with + ASCII spaces (20h). If part serial number is undefined, all + 16 octets = 0h"; + } + + leaf date-code { + type oc-yang:date-and-time; + description + "Representation of the transceiver date code, typically + stored as YYMMDD. The time portion of the value is + undefined and not intended to be read."; + } + + leaf fault-condition { + type boolean; + description + "Indicates if a fault condition exists in the transceiver"; + } + + leaf fec-status { + type identityref { + base oc-platform-types:FEC_STATUS_TYPE; + } + description + "Operational status of FEC"; + } + + leaf fec-uncorrectable-blocks { + type yang:counter64; + description + "The number of blocks that were uncorrectable by the FEC"; + } + + leaf fec-uncorrectable-words { + type yang:counter64; + description + "The number of words that were uncorrectable by the FEC"; + } + + leaf fec-corrected-bytes { + type yang:counter64; + description + "The number of bytes that were corrected by the FEC"; + } + + leaf fec-corrected-bits { + type yang:counter64; + description + "The number of bits that were corrected by the FEC"; + } + + container pre-fec-ber { + description + "Bit error rate before forward error correction -- computed + value with 18 decimal precision. Note that decimal64 + supports values as small as i x 10^-18 where i is an + integer. Values smaller than this should be reported as 0 + to inidicate error free or near error free performance. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision18-ber; + } + + container post-fec-ber { + description + "Bit error rate after forward error correction -- computed + value with 18 decimal precision. Note that decimal64 + supports values as small as i x 10^-18 where i is an + integer. Values smaller than this should be reported as 0 + to inidicate error free or near error free performance. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision18-ber; + } + + uses optical-power-state; + } + + grouping port-transceiver-top { + description + "Top-level grouping for client port transceiver data"; + + container transceiver { + description + "Top-level container for client port transceiver data"; + + container config { + description + "Configuration data for client port transceivers"; + + uses port-transceiver-config; + } + + container state { + + config false; + + description + "Operational state data for client port transceivers"; + + uses port-transceiver-config; + uses port-transceiver-state; + } + // physical channels are associated with a transceiver + // component + uses physical-channel-top; + } + } + + // data definition statements + + // augment statements + + augment "/oc-platform:components/oc-platform:component" { + description + "Adding transceiver data to physical inventory"; + + uses port-transceiver-top { + when "current()/oc-platform:state/" + + "oc-platform:type = 'TRANSCEIVER'" { + description + "Augment is active when component is of type TRANSCEIVER"; + } + } + } + + augment "/oc-if:interfaces/oc-if:interface/oc-if:state" { + description + "Adds a reference from an interface to the corresponding + transceiver component."; + + leaf transceiver { + type leafref { + path "/oc-platform:components/" + + "oc-platform:component[oc-platform:name=current()/../oc-port:hardware-port]/" + + "oc-platform:subcomponents/oc-platform:subcomponent/" + + "oc-platform:name"; + } + description + "Provides a reference to the transceiver subcomponent that + corresponds to the physical port component for this interface. + The device must only populate this leaf with a reference to + a component of type TRANSCEIVER."; + } + } + + augment "/oc-if:interfaces/oc-if:interface/oc-if:state" { + description + "Adds a reference from the base interface to its corresponding + physical channels."; + + leaf-list physical-channel { + type leafref { + path "/oc-platform:components/" + + "oc-platform:component[oc-platform:name=current()/../oc-transceiver:transceiver]/" + + "oc-transceiver:transceiver/" + + "oc-transceiver:physical-channels/oc-transceiver:channel/" + + "oc-transceiver:index"; + } + description + "For a channelized interface, list of references to the + physical channels (lanes) corresponding to the interface. + The physical channels are elements of a transceiver component + in the platform model."; + } + } + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-platform-types.yang b/vendor/cisco/xr/755/openconfig-platform-types.yang new file mode 100644 index 000000000..6887cf328 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform-types.yang @@ -0,0 +1,422 @@ +module openconfig-platform-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform-types"; + + prefix "oc-platform-types"; + + import openconfig-types { prefix oc-types; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines data types (e.g., YANG identities) + to support the OpenConfig component inventory model."; + + oc-ext:openconfig-version "1.2.0"; + + revision "2021-07-29" { + description + "Add several avg-min-max-instant-stats groupings"; + reference "1.2.0"; + } + + revision "2021-01-18" { + description + "Add identity for software modules"; + reference "1.1.0"; + } + + revision "2019-06-03" { + description + "Add OpenConfig component operating system patch type."; + reference "1.0.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.10.1"; + } + + revision "2018-11-16" { + description + "Added FEC_MODE_TYPE and FEC_STATUS_TYPE"; + reference "0.10.0"; + } + + revision "2018-05-05" { + description + "Added min-max-time to + avg-min-max-instant-stats-precision1-celsius, + added new CONTROLLER_CARD identity"; + reference "0.9.0"; + } + + revision "2018-01-16" { + description + "Added new per-component common data; add temp alarm"; + reference "0.8.0"; + } + + revision "2017-12-14" { + description + "Added anchor containers for component data, added new + component types"; + reference "0.7.0"; + } + + revision "2017-08-16" { + description + "Added power state enumerated type"; + reference "0.6.0"; + } + + revision "2016-12-22" { + description + "Added temperature state variable to component"; + reference "0.5.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + grouping avg-min-max-instant-stats-precision1-celsius { + description + "Common grouping for recording temperature values in + Celsius with 1 decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics"; + + leaf instant { + type decimal64 { + fraction-digits 1; + } + units celsius; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 1; + } + units celsius; + description + "The arithmetic mean value of the statistic over the + sampling period."; + } + + leaf min { + type decimal64 { + fraction-digits 1; + } + units celsius; + description + "The minimum value of the statistic over the sampling + period"; + } + + leaf max { + type decimal64 { + fraction-digits 1; + } + units celsius; + description + "The maximum value of the statistic over the sampling + period"; + } + + uses oc-types:stat-interval-state; + uses oc-types:min-max-time; + } + +grouping avg-min-max-instant-stats-precision2-volts { + description + "Common grouping for recording voltage values in + volts with 2 decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics. + If supported by the device, the time interval over which + the statistics are computed, and the times at which the + minimum and maximum values occurred, are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 2; + } + units volts; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 2; + } + units volts; + description + "The arithmetic mean value of the statistic over the + sampling period."; + } + + leaf min { + type decimal64 { + fraction-digits 2; + } + units volts; + description + "The minimum value of the statistic over the sampling + period"; + } + + leaf max { + type decimal64 { + fraction-digits 2; + } + units volts; + description + "The maximum value of the statistic over the sampling + period"; + } + + uses oc-types:stat-interval-state; + uses oc-types:min-max-time; + } + + // identity statements + identity OPENCONFIG_HARDWARE_COMPONENT { + description + "Base identity for hardware related components in a managed + device. Derived identities are partially based on contents + of the IANA Entity MIB."; + reference + "IANA Entity MIB and RFC 6933"; + } + + identity OPENCONFIG_SOFTWARE_COMPONENT { + description + "Base identity for software-related components in a managed + device"; + } + + // hardware types + identity CHASSIS { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Chassis component, typically with multiple slots / shelves"; + } + + identity BACKPLANE { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Backplane component for aggregating traffic, typically + contained in a chassis component"; + } + + identity FABRIC { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Interconnect between ingress and egress ports on the + device (e.g., a crossbar switch)."; + } + + identity POWER_SUPPLY { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Component that is supplying power to the device"; + } + + identity FAN { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Cooling fan, or could be some other heat-reduction component"; + } + + identity SENSOR { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Physical sensor, e.g., a temperature sensor in a chassis"; + } + + identity FRU { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Replaceable hardware component that does not have a more + specific defined schema."; + } + + identity LINECARD { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Linecard component, typically inserted into a chassis slot"; + } + + identity CONTROLLER_CARD { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "A type of linecard whose primary role is management or control + rather than data forwarding."; + } + + identity PORT { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Physical port, e.g., for attaching pluggables and networking + cables"; + } + + identity TRANSCEIVER { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Pluggable module present in a port"; + } + + identity CPU { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Processing unit, e.g., a management processor"; + } + + identity STORAGE { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "A storage subsystem on the device (disk, SSD, etc.)"; + } + + identity INTEGRATED_CIRCUIT { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "A special purpose processing unit, typically for traffic + switching/forwarding (e.g., switching ASIC, NPU, forwarding + chip, etc.)"; + } + + identity OPERATING_SYSTEM { + base OPENCONFIG_SOFTWARE_COMPONENT; + description + "Operating system running on a component"; + } + + identity OPERATING_SYSTEM_UPDATE { + base OPENCONFIG_SOFTWARE_COMPONENT; + description + "An operating system update - which should be a subcomponent + of the `OPERATING_SYSTEM` running on a component. An update is + defined to be a set of software changes that are atomically + installed (and uninstalled) together. Multiple updates may be + present for the Operating System. A system should not list all + installed software packages using this type -- but rather + updates that are bundled together as a single installable + item"; + } + + identity BOOT_LOADER { + base OPENCONFIG_SOFTWARE_COMPONENT; + description + "Software layer responsible for loading and booting the + device OS or network OS."; + } + + identity SOFTWARE_MODULE { + base OPENCONFIG_SOFTWARE_COMPONENT; + description + "A base identity for software modules installed and/or + running on the device. Modules include user-space programs + and kernel modules that provide specific functionality. + A component with type SOFTWARE_MODULE should also have a + module type that indicates the specific type of software module"; + } + + identity COMPONENT_OPER_STATUS { + description + "Current operational status of a platform component"; + } + + identity ACTIVE { + base COMPONENT_OPER_STATUS; + description + "Component is enabled and active (i.e., up)"; + } + + identity INACTIVE { + base COMPONENT_OPER_STATUS; + description + "Component is enabled but inactive (i.e., down)"; + } + + identity DISABLED { + base COMPONENT_OPER_STATUS; + description + "Component is administratively disabled."; + } + + identity FEC_MODE_TYPE { + description + "Base identity for FEC operational modes."; + } + + identity FEC_ENABLED { + base FEC_MODE_TYPE; + description + "FEC is administratively enabled."; + } + + identity FEC_DISABLED { + base FEC_MODE_TYPE; + description + "FEC is administratively disabled."; + } + + identity FEC_AUTO { + base FEC_MODE_TYPE; + description + "System will determine whether to enable or disable + FEC on a transceiver."; + } + + identity FEC_STATUS_TYPE { + description + "Base identity for FEC operational statuses."; + } + + identity FEC_STATUS_LOCKED { + base FEC_STATUS_TYPE; + description + "FEC is operationally locked."; + } + + identity FEC_STATUS_UNLOCKED { + base FEC_STATUS_TYPE; + description + "FEC is operationally unlocked."; + } + + // typedef statements + typedef component-power-type { + type enumeration { + enum POWER_ENABLED { + description + "Enable power on the component"; + } + enum POWER_DISABLED { + description + "Disable power on the component"; + } + } + description + "A generic type reflecting whether a hardware component + is powered on or off"; + } +} + diff --git a/vendor/cisco/xr/755/openconfig-platform.yang b/vendor/cisco/xr/755/openconfig-platform.yang new file mode 100644 index 000000000..f2c574d0e --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-platform.yang @@ -0,0 +1,1043 @@ +module openconfig-platform { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform"; + + prefix "oc-platform"; + + import openconfig-platform-types { prefix oc-platform-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-alarm-types { prefix oc-alarm-types; } + import openconfig-yang-types { prefix oc-yang; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines a data model for representing a system + component inventory, which can include hardware or software + elements arranged in an arbitrary structure. The primary + relationship supported by the model is containment, e.g., + components containing subcomponents. + + It is expected that this model reflects every field replacable + unit on the device at a minimum (i.e., additional information + may be supplied about non-replacable components). + + Every element in the inventory is termed a 'component' with each + component expected to have a unique name and type, and optionally + a unique system-assigned identifier and FRU number. The + uniqueness is guaranteed by the system within the device. + + Components may have properties defined by the system that are + modeled as a list of key-value pairs. These may or may not be + user-configurable. The model provides a flag for the system + to optionally indicate which properties are user configurable. + + Each component also has a list of 'subcomponents' which are + references to other components. Appearance in a list of + subcomponents indicates a containment relationship as described + above. For example, a linecard component may have a list of + references to port components that reside on the linecard. + + This schema is generic to allow devices to express their own + platform-specific structure. It may be augmented by additional + component type-specific schemas that provide a common structure + for well-known component types. In these cases, the system is + expected to populate the common component schema, and may + optionally also represent the component and its properties in the + generic structure. + + The properties for each component may include dynamic values, + e.g., in the 'state' part of the schema. For example, a CPU + component may report its utilization, temperature, or other + physical properties. The intent is to capture all platform- + specific physical data in one location, including inventory + (presence or absence of a component) and state (physical + attributes or status)."; + + oc-ext:openconfig-version "0.14.0"; + + revision "2021-08-13" { + description + "Add container for PCIe error statistics"; + reference "0.14.0"; + } + + revision "2021-01-18" { + description + "Add container for software module component"; + reference "0.13.0"; + } + + revision "2019-04-16" { + description + "Fix bug in parent path reference"; + reference "0.12.2"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.12.1"; + } + + revision "2018-06-29" { + description + "Added location description for components"; + reference "0.12.0"; + } + + revision "2018-06-03" { + description + "Added parent reference, empty flag and preconfiguration + for components"; + reference "0.11.0"; + } + + revision "2018-04-20" { + description + "Added new per-component state data: mfg-date and removable"; + reference "0.10.0"; + } + + revision "2018-01-30" { + description + "Amended approach for modelling CPU - rather than having + a local CPU utilisation state variable, a component with + a CPU should create a subcomponent of type CPU to report + statistics."; + reference "0.9.0"; + } + + revision "2018-01-16" { + description + "Added new per-component common data; add temp alarm; + moved hardware-port reference to port model"; + reference "0.8.0"; + } + + revision "2017-12-14" { + description + "Added anchor containers for component data, added new + component types"; + reference "0.7.0"; + } + + revision "2017-08-16" { + description + "Added power state enumerated type"; + reference "0.6.0"; + } + + revision "2016-12-22" { + description + "Added temperature state variable to component"; + reference "0.5.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + + + grouping platform-component-properties-config { + description + "System-defined configuration data for component properties"; + + leaf name { + type string; + description + "System-supplied name of the property -- this is typically + non-configurable"; + } + + leaf value { + type union { + type string; + type boolean; + type int64; + type uint64; + type decimal64 { + fraction-digits 2; + } + } + 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."; + } + } + + grouping platform-component-properties-state { + description + "Operational state data for component properties"; + + leaf configurable { + type boolean; + description + "Indication whether the property is user-configurable"; + } + } + + grouping platform-component-properties-top { + description + "Top-level grouping "; + + container properties { + description + "Enclosing container "; + + list property { + key "name"; + description + "List of system properties for the component"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the property name."; + } + + container config { + description + "Configuration data for each property"; + + uses platform-component-properties-config; + } + + container state { + + config false; + + description + "Operational state data for each property"; + + uses platform-component-properties-config; + uses platform-component-properties-state; + } + } + } + } + + grouping platform-subcomponent-ref-config { + description + "Configuration data for subcomponent references"; + + leaf name { + type leafref { + path "../../../../../component/config/name"; + } + description + "Reference to the name of the subcomponent"; + } + } + + grouping platform-subcomponent-ref-state { + description + "Operational state data for subcomponent references"; + + } + + grouping platform-subcomponent-ref-top { + description + "Top-level grouping for list of subcomponent references"; + + container subcomponents { + description + "Enclosing container for subcomponent references"; + + list subcomponent { + key "name"; + description + "List of subcomponent references"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the name list key"; + } + + container config { + description + "Configuration data for the subcomponent"; + + uses platform-subcomponent-ref-config; + } + + container state { + + config false; + + description + "Operational state data for the subcomponent"; + + uses platform-subcomponent-ref-config; + uses platform-subcomponent-ref-state; + } + } + } + } + + grouping platform-component-config { + description + "Configuration data for components"; + + leaf name { + type string; + description + "Device name for the component -- this may not be a + configurable parameter on many implementations. Where + component preconfiguration is supported, for example, + the component name may be configurable."; + } + } + + grouping platform-component-state { + description + "Operational state data for device components."; + + leaf type { + type union { + type identityref { + base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT; + } + type identityref { + base oc-platform-types:OPENCONFIG_SOFTWARE_COMPONENT; + } + } + description + "Type of component as identified by the system"; + } + + leaf id { + type string; + description + "Unique identifier assigned by the system for the + component"; + } + + leaf location { + type string; + description + "System-supplied description of the location of the + component within the system. This could be a bay position, + slot number, socket location, etc. For component types that + have an explicit slot-id attribute, such as linecards, the + system should populate the more specific slot-id."; + } + + 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 mfg-date { + type oc-yang:date; + description + "System-supplied representation of the component's + manufacturing date."; + } + + leaf hardware-version { + type string; + description + "For hardware components, this is the hardware revision of + the component."; + } + + leaf firmware-version { + type string; + description + "For hardware components, this is the version of associated + firmware that is running on the component, if applicable."; + } + + leaf software-version { + type string; + description + "For software components such as operating system or other + software module, this is the version of the currently + running software."; + } + + 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)"; + } + + leaf removable { + type boolean; + description + "If true, this component is removable or is a field + replaceable unit"; + } + + leaf oper-status { + type identityref { + base oc-platform-types:COMPONENT_OPER_STATUS; + } + description + "If applicable, this reports the current operational status + of the component."; + } + + leaf empty { + type boolean; + default false; + description + "The empty leaf may be used by the device to indicate that a + component position exists but is not populated. Using this + flag, it is possible for the management system to learn how + many positions are available (e.g., occupied vs. empty + linecard slots in a chassis)."; + } + + leaf parent { + type leafref { + path "../../../component/config/name"; + } + description + "Reference to the name of the parent component. Note that + this reference must be kept synchronized with the + corresponding subcomponent reference from the parent + component."; + } + } + + grouping platform-component-temp-alarm-state { + description + "Temperature alarm data for platform components"; + + // TODO(aashaikh): consider if these leaves could be in a + // reusable grouping (not temperature-specific); threshold + // may always need to be units specific. + + leaf alarm-status { + type boolean; + description + "A value of true indicates the alarm has been raised or + asserted. The value should be false when the alarm is + cleared."; + } + + leaf alarm-threshold { + type uint32; + description + "The threshold value that was crossed for this alarm."; + } + + leaf alarm-severity { + type identityref { + base oc-alarm-types:OPENCONFIG_ALARM_SEVERITY; + } + description + "The severity of the current alarm."; + } + } + + grouping platform-component-power-state { + description + "Power-related operational state for device components."; + + leaf allocated-power { + type uint32; + units watts; + description + "Power allocated by the system for the component."; + } + + leaf used-power { + type uint32; + units watts; + description + "Actual power used by the component."; + } + } + + grouping platform-component-temp-state { + description + "Temperature state data for device components"; + + container temperature { + description + "Temperature in degrees Celsius of the component. Values include + the instantaneous, average, minimum, and maximum statistics. If + avg/min/max statistics are not supported, the target is expected + to just supply the instant value"; + + uses oc-platform-types:avg-min-max-instant-stats-precision1-celsius; + uses platform-component-temp-alarm-state; + } + } + + grouping platform-component-memory-state { + description + "Per-component memory statistics"; + + container memory { + description + "For components that have associated memory, these values + report information about available and utilized memory."; + + leaf available { + type uint64; + units bytes; + description + "The available memory physically installed, or logically + allocated to the component."; + } + + // TODO(aashaikh): consider if this needs to be a + // min/max/avg statistic + leaf utilized { + type uint64; + units bytes; + description + "The memory currently in use by processes running on + the component, not considering reserved memory that is + not available for use."; + } + } + } + + grouping pcie-uncorrectable-errors { + description + "PCIe uncorrectable error statistics."; + + leaf total-errors { + type oc-yang:counter64; + description + "Total number of uncorrectable errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf undefined-errors { + type oc-yang:counter64; + description + "Number of undefined errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf data-link-errors { + type oc-yang:counter64; + description + "Number of data-link errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf surprise-down-errors { + type oc-yang:counter64; + description + "Number of unexpected link down errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf poisoned-tlp-errors { + type oc-yang:counter64; + description + "Number of poisoned TLP errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf flow-control-protocol-errors { + type oc-yang:counter64; + description + "Number of flow control protocol errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf completion-timeout-errors { + type oc-yang:counter64; + description + "Number of completion timeout errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf completion-abort-errors { + type oc-yang:counter64; + description + "Number of completion abort errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf unexpected-completion-errors { + type oc-yang:counter64; + description + "Number of unexpected completion errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf receiver-overflow-errors { + type oc-yang:counter64; + description + "Number of receiver overflow errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf malformed-tlp-errors { + type oc-yang:counter64; + description + "Number of malformed TLP errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf ecrc-errors { + type oc-yang:counter64; + description + "Number of ECRC errors detected by PCIe device since the system + booted, according to PCIe AER driver."; + } + + leaf unsupported-request-errors { + type oc-yang:counter64; + description + "Number of unsupported request errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf acs-violation-errors { + type oc-yang:counter64; + description + "Number of access control errors detected by PCIe device since + the system booted, according to PCIe AER driver."; + } + + leaf internal-errors { + type oc-yang:counter64; + description + "Number of internal errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf blocked-tlp-errors { + type oc-yang:counter64; + description + "Number of blocked TLP errors detected by PCIe device since + the system booted, according to PCIe AER driver."; + } + + leaf atomic-op-blocked-errors { + type oc-yang:counter64; + description + "Number of atomic operation blocked errors detected by PCIe + device since the system booted, according to PCIe AER driver."; + } + + leaf tlp-prefix-blocked-errors { + type oc-yang:counter64; + description + "Number of TLP prefix blocked errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + } + + grouping pcie-correctable-errors { + description + "PCIe correctable error statistics."; + + leaf total-errors { + type oc-yang:counter64; + description + "Total number of correctable errors detected by PCIe device + since the system booted, according to PCIe AER driver."; + } + + leaf receiver-errors { + type oc-yang:counter64; + description + "Number of receiver errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf bad-tlp-errors { + type oc-yang:counter64; + description + "Number of TLPs with bad LCRC detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf bad-dllp-errors { + type oc-yang:counter64; + description + "Number of DLLPs with bad LCRC detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf relay-rollover-errors { + type oc-yang:counter64; + description + "Number of relay rollover errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf replay-timeout-errors { + type oc-yang:counter64; + description + "Number of replay timeout errors detected by PCIe device since the + system booted, according to PCIe AER driver."; + } + + leaf advisory-non-fatal-errors { + type oc-yang:counter64; + description + "Number of advisory non fatal errors detected by PCIe device since + the system booted, according to PCIe AER driver."; + } + + leaf internal-errors { + type oc-yang:counter64; + description + "Number of internal errors detected by PCIe device since the system + booted, according to PCIe AER driver."; + } + + leaf hdr-log-overflow-errors { + type oc-yang:counter64; + description + "Number of header log overflow errors detected by PCIe device since + the system booted, according to PCIe AER driver."; + } + } + + grouping platform-component-pcie-state { + description + "Per-component PCIe error statistics"; + + container pcie { + description + "Components that are connected to the system over the Peripheral + Component Interconnect Express (PCIe), report the fatal, non-fatal + and correctable PCIe error counts."; + + container fatal-errors { + description + "The count of the fatal PCIe errors."; + uses pcie-uncorrectable-errors; + } + + container non-fatal-errors { + description + "The count of the non-fatal PCIe errors."; + uses pcie-uncorrectable-errors; + } + + container correctable-errors { + description + "The count of the correctable PCIe errors."; + uses pcie-correctable-errors; + } + } + } + + grouping platform-anchors-top { + description + "This grouping is used to add containers for components that + are common across systems, but do not have a defined schema + within the openconfig-platform module. Containers should be + added to this grouping for components that are expected to + exist in multiple systems, with corresponding modules + augmenting the config/state containers directly."; + + container chassis { + description + "Data for chassis components"; + + container config { + description + "Configuration data for chassis components"; + } + + container state { + config false; + description + "Operational state data for chassis components"; + } + } + +// TODO(aashaikh): linecard container is already defined in +// openconfig-platform-linecard; will move to this module +// in future. + /* + container linecard { + description + "Data for linecard components"; + + container config { + description + "Configuration data for linecard components"; + } + + container state { + config false; + description + "Operational state data for linecard components"; + } + } + */ + + container port { + description + "Data for physical port components"; + + container config { + description + "Configuration data for physical port components"; + } + + container state { + config false; + description + "Operational state data for physical port components"; + } + } + +// TODO(aashaikh): transceiver container is already defined in +// openconfig-platform-transceiver; will move to this module +// in future. + /* + container transceiver { + description + "Data for transceiver components"; + + container config { + description + "Configuration data for transceiver components"; + } + + container state { + config false; + description + "Operational state data for transceiver components"; + } + } + */ + + container power-supply { + description + "Data for power supply components"; + + container config { + description + "Configuration data for power supply components"; + } + + container state { + config false; + description + "Operational state data for power supply components"; + } + } + + container fan { + description + "Data for fan components"; + + container config { + description + "Configuration data for fan components"; + } + + container state { + config false; + description + "Operational state data for fan components"; + } + } + + container fabric { + description + "Data for fabric components"; + + container config { + description + "Configuration data for fabric components"; + } + + container state { + config false; + description + "Operational state data for fabric components"; + } + } + + container storage { + description + "Data for storage components"; + + container config { + description + "Configuration data for storage components"; + } + + container state { + config false; + description + "Operational state data for storage components"; + } + } + + container cpu { + description + "Data for cpu components"; + + container config { + description + "Configuration data for cpu components"; + } + + container state { + config false; + description + "Operational state data for cpu components"; + } + } + + container integrated-circuit { + description + "Data for chip components, such as ASIC, NPUs, etc."; + + container config { + description + "Configuration data for chip components"; + } + + container state { + config false; + description + "Operational state data for chip components"; + } + } + + container backplane { + description + "Data for backplane components"; + + container config { + description + "Configuration data for backplane components"; + } + + container state { + config false; + description + "Operational state data for backplane components"; + } + } + + container software-module { + description + "Data for software module components, i.e., for components + with type=SOFTWARE_MODULE"; + + container config { + description + "Configuration data for software module components"; + } + + container state { + config false; + description + "Operational state data for software module components"; + } + } + } + + grouping platform-component-top { + description + "Top-level grouping for components in the device inventory"; + + container components { + description + "Enclosing container for the components in the system."; + + list component { + key "name"; + description + "List of components, keyed by component name."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "References the component name"; + } + + container config { + description + "Configuration data for each component"; + + uses platform-component-config; + } + + container state { + + config false; + + description + "Operational state data for each component"; + + uses platform-component-config; + uses platform-component-state; + uses platform-component-temp-state; + uses platform-component-memory-state; + uses platform-component-power-state; + uses platform-component-pcie-state { + when "./type = 'oc-platform-types:STORAGE' or " + + "'oc-platform-types:INTEGRATED_CIRCUIT' or " + + "'oc-platform-types:FRU'"; + } + } + + uses platform-component-properties-top; + uses platform-subcomponent-ref-top; + uses platform-anchors-top; + } + } + } + + + // data definition statements + + uses platform-component-top; + + + // augments + + +} + diff --git a/vendor/cisco/xr/755/openconfig-policy-forwarding.yang b/vendor/cisco/xr/755/openconfig-policy-forwarding.yang new file mode 100644 index 000000000..476387502 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-policy-forwarding.yang @@ -0,0 +1,143 @@ +module openconfig-policy-forwarding { + yang-version "1"; + + namespace "http://openconfig.net/yang/policy-forwarding"; + + prefix "oc-pf"; + + import openconfig-extensions { prefix "oc-ext"; } + + // Include submodules. + include openconfig-pf-forwarding-policies; + include openconfig-pf-path-groups; + include openconfig-pf-interfaces; + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + relating to policy-based forwarding. Policy-based forwarding is + utilised when a system chooses how to forward packets (including + applying data-plane operations such as encapsulation or + decapsulation) based on policies other than destination L2 or L3 + header. Typically, systems may implement: + + - IP policy-based routing, where routing may be done based on the + source plus destination of an IP packet; information within the + L4 header; or some combination of both. + - Encapsulation or decapsulation based on certain policy + information - for example, matching particular IP destinations + and decapsulating GRE headers. + - Class-based selection of egress routes - such as class-based + selection of an egress MPLS path. + + The policies that are defined in this model are applied to a + particular ingress context of a network element (e.g., interface) + and are defined to apply following other interface policy such as + QoS classification and access control lists. + + This module defines: + + - policy-forwarding + | + |--- policies + | |-- policy + | |-- [match criteria] How packets are defined to + | | match policy. + | |-- [forwarding-action] How packets matching should + | be forwarded. + |--- interfaces + | |-- interfaces + | | -- apply-forwarding-policy Forwarding policy to + | used on the interface. + |--- path-selection-groups + |-- path-selection-group A group of forwarding resources + that are grouped for purposes + of next-hop selection. + + A forwarding-policy specifies the match criteria that it intends + to use to determine the packets that it reroutes - this may + consist of a number of criteria, such as DSCP. The action of the + policy results in a forwarding action being applied to matching + packets. For example, decapsulating the packet from a GRE header. + In order to enact the policy based on particular interfaces - the + forwarding-policy is applied to an interface via referencing it + within an 'apply-forwarding-policy' statement associated with an + interface. + + In some cases (e.g., Class-Based Tunnel Selection) the forwarding + action does not resolve to a single egress action, and rather + normal forwarding rules are to be applied but considering a subset + of forwarding resources. In these cases, a path-selection-group + can be created, referencing the subset of forwarding paths that + should be used for the egress selection. In the case that a subset + of MPLS LSPs are eligible for, say, DSCP 46 marked packets, a + path-selection-group is created, referencing the subset of LSPs. + The forwarding action of the corresponding policy is set to + PATH_GROUP and references the configured group of LSPs."; + + oc-ext:openconfig-version "0.4.0"; + + revision "2021-08-06" { + description + "Update path to the network instance action to allow references + to other NIs."; + reference "0.4.0"; + } + + revision "2021-05-19" { + description + "Add a VRF selection policy type, and means to apply the + policy."; + reference "0.3.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.2.1"; + } + + revision "2017-06-21" { + description + "Amend policy forwarding model based on ACL changes."; + reference "0.2.0"; + } + + revision "2017-02-28" { + description + "Initial public release of policy forwarding."; + reference "0.1.0"; + } + + revision "2016-11-08" { + description + "Initial revision."; + reference "0.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping policy-forwarding-top { + description + "Top-level grouping for Policy Forwarding"; + + container policy-forwarding { + description + "Configuration and operational state relating to policy-forwarding within + a network instance."; + + uses pf-forwarding-policy-structural; + uses pf-interfaces-structural; + uses pf-path-groups-structural; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-policy-types.yang b/vendor/cisco/xr/755/openconfig-policy-types.yang new file mode 100644 index 000000000..48646bd93 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-policy-types.yang @@ -0,0 +1,242 @@ +module openconfig-policy-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/policy-types"; + + prefix "oc-pol-types"; + + // import some basic types + import ietf-yang-types { prefix yang; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module contains general data definitions for use in routing + policy. It can be imported by modules that contain protocol- + specific policy conditions and actions."; + + oc-ext:openconfig-version "3.2.1"; + + revision "2021-12-10" { + description + "Add INSTALL_PROTOCOL_TYPE gRIBI."; + reference "3.2.1"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.1.1"; + } + + revision "2018-06-05" { + description + "Add PIM, IGMP to INSTALL_PROTOCOL_TYPES identity"; + reference "3.1.0"; + } + + revision "2017-07-14" { + description + "Replace policy choice node/type with policy-result + enumeration;simplified defined set naming;removed generic + IGP actions; migrate to OpenConfig types; added mode for + prefix sets"; + reference "3.0.0"; + } + + revision "2016-05-12" { + description + "OpenConfig public release"; + reference "2.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + identity ATTRIBUTE_COMPARISON { + description + "base type for supported comparison operators on route + attributes"; + } + + identity ATTRIBUTE_EQ { + base ATTRIBUTE_COMPARISON; + description "== comparison"; + } + + identity ATTRIBUTE_GE { + base ATTRIBUTE_COMPARISON; + description ">= comparison"; + } + + identity ATTRIBUTE_LE { + base ATTRIBUTE_COMPARISON; + description "<= comparison"; + } + + typedef match-set-options-type { + type enumeration { + enum ANY { + description "match is true if given value matches any member + of the defined set"; + } + enum ALL { + description "match is true if given value matches all + members of the defined set"; + } + enum INVERT { + description "match is true if given value does not match any + member of the defined set"; + } + } + default ANY; + description + "Options that govern the behavior of a match statement. The + default behavior is ANY, i.e., the given value matches any + of the members of the defined set"; + } + + typedef match-set-options-restricted-type { + type enumeration { + enum ANY { + description "match is true if given value matches any member + of the defined set"; + } + enum INVERT { + description "match is true if given value does not match any + member of the defined set"; + } + } + default ANY; + description + "Options that govern the behavior of a match statement. The + default behavior is ANY, i.e., the given value matches any + of the members of the defined set. Note this type is a + restricted version of the match-set-options-type."; + //TODO: restriction on enumerated types is only allowed in + //YANG 1.1. Until then, we will require this additional type + } + + grouping attribute-compare-operators { + description "common definitions for comparison operations in + condition statements"; + + leaf operator { + type identityref { + base ATTRIBUTE_COMPARISON; + } + description + "type of comparison to be performed"; + } + + leaf value { + type uint32; + description + "value to compare with the community count"; + } + } + + typedef tag-type { + type union { + type uint32; + type yang:hex-string; + } + description "type for expressing route tags on a local system, + including IS-IS and OSPF; may be expressed as either decimal or + hexidecimal integer"; + reference + "RFC 2178 OSPF Version 2 + RFC 5130 A Policy Control Mechanism in IS-IS Using + Administrative Tags"; + } + + identity INSTALL_PROTOCOL_TYPE { + description + "Base type for routing protocols, including those which may + install prefixes into the RIB"; + } + + identity BGP { + base INSTALL_PROTOCOL_TYPE; + description + "BGP"; + reference + "RFC 4271"; + } + + identity ISIS { + base INSTALL_PROTOCOL_TYPE; + description + "IS-IS"; + reference + "ISO/IEC 10589"; + } + + identity OSPF { + base INSTALL_PROTOCOL_TYPE; + description + "OSPFv2"; + reference + "RFC 2328"; + } + + identity OSPF3 { + base INSTALL_PROTOCOL_TYPE; + description + "OSPFv3"; + reference + "RFC 5340"; + } + + identity STATIC { + base INSTALL_PROTOCOL_TYPE; + description + "Locally-installed static route"; + } + + identity DIRECTLY_CONNECTED { + base INSTALL_PROTOCOL_TYPE; + description + "A directly connected route"; + } + + identity LOCAL_AGGREGATE { + base INSTALL_PROTOCOL_TYPE; + description + "Locally defined aggregate route"; + } + + identity PIM { + base INSTALL_PROTOCOL_TYPE; + description + "Protocol Independent Multicast"; + reference + "RFC 7761"; + } + + identity IGMP { + base INSTALL_PROTOCOL_TYPE; + description + "Internet Group Management Protocol"; + reference + "RFC 3376"; + } + + identity GRIBI { + base INSTALL_PROTOCOL_TYPE; + description "gRPC Routing Information Base Interface"; + } +} diff --git a/vendor/cisco/xr/755/openconfig-procmon.yang b/vendor/cisco/xr/755/openconfig-procmon.yang new file mode 100644 index 000000000..fa3bbde03 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-procmon.yang @@ -0,0 +1,165 @@ +module openconfig-procmon { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/system/procmon"; + + prefix "oc-proc"; + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-types { prefix oc-types; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module provides data definitions for process health + monitoring of one or more processes running on the system."; + + oc-ext:openconfig-version "0.3.0"; + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + + // grouping statements + + grouping procmon-processes-top { + description + "Top level grouping for attributes for processes."; + + container processes { + description + "Parameters related to all monitored processes"; + + list process { + key "pid"; + config false; + description + "List of monitored processes"; + + leaf pid { + type leafref { + path "../state/pid"; + } + description + "Reference to the process pid key"; + } + + container state { + config false; + description + "State parameters related to monitored processes"; + + uses procmon-process-attributes-state; + } + } + } + } + + grouping procmon-process-attributes-state { + description + "Attributes state definitions for a process"; + + leaf pid { + type uint64; + description + "The process pid"; + } + + leaf name { + type string; + description + "The process name"; + } + + leaf-list args { + type string; + description + "Current process command line arguments. Arguments with + a parameter (e.g., --option 10 or -option=10) should be + represented as a single element of the list with the + argument name and parameter together. Flag arguments, i.e., + those without a parameter should also be in their own list + element."; + } + + leaf start-time { + type uint64; + units "ns"; + description + "The time at which this process started, + reported as nanoseconds since the UNIX epoch. The + system must be synchronized such that the start-time + can be reported accurately, otherwise it should not be + reported."; + } + + leaf uptime { + type oc-types:timeticks64; + description + "Amount of time elapsed since this process started."; + } + + leaf cpu-usage-user { + type oc-types:timeticks64; + description + "CPU time consumed by this process in user mode."; + } + + leaf cpu-usage-system { + type oc-types:timeticks64; + description + "CPU time consumed by this process in kernel mode."; + } + + leaf cpu-utilization { + type oc-types:percentage; + description + "The percentage of CPU that is being used by the process."; + } + + leaf memory-usage { + type uint64; + units "bytes"; + description + "Bytes allocated and still in use by the process"; + } + + leaf memory-utilization { + type oc-types:percentage; + description + "The percentage of RAM that is being used by the process."; + } + } + + // augment statements + + // rpc statements + + // notification statements +} diff --git a/vendor/cisco/xr/755/openconfig-rib-bgp-attributes.yang b/vendor/cisco/xr/755/openconfig-rib-bgp-attributes.yang new file mode 100644 index 000000000..e0be6cf64 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-rib-bgp-attributes.yang @@ -0,0 +1,939 @@ +submodule openconfig-rib-bgp-attributes { + + belongs-to openconfig-rib-bgp { + prefix "oc-rib-bgp"; + } + + + // import some basic types + import openconfig-bgp-types { prefix oc-bgpt; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-rib-bgp-types { prefix oc-bgprt; } + import openconfig-segment-routing-types { prefix oc-srt; } + import openconfig-inet-types { prefix oc-inet; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule contains common data definitions for BGP + attributes for use in BGP RIB tables."; + + + oc-ext:openconfig-version "0.7.0"; + + revision "2019-10-15" { + description + "Change imported segment-routing module."; + reference "0.7.0"; + } + + revision "2019-04-25" { + description + "Update last-modified timestamp to be expressed as nanoseconds + since the Unix epoch."; + reference "0.6.0"; + } + + revision "2019-04-16" { + description + "Rename the top-level BGP RIB container's name + to RIB."; + reference "0.5.0"; + } + + revision "2019-02-27" { + description + "Remove top-level BGP RIB container, and update list + names to be compatible with path compression."; + reference "0.4.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2016-10-17" { + description + "OpenConfig BGP RIB refactor"; + reference "0.3.0"; + } + + grouping bgp-as-path-attr-state { + description + "Data for representing BGP AS-PATH attribute"; + + leaf type { + type oc-bgpt:as-path-segment-type; + description + "The type of AS-PATH segment"; + } + + leaf-list member { + type oc-inet:as-number; + description + "List of the AS numbers in the AS-PATH segment"; + } + } + + grouping bgp-as-path-attr-top { + description + "Top-level grouping for AS-PATH attribute data"; + + container as-path { + description + "Enclosing container for the list of AS path segments. + + In the Adj-RIB-In or Adj-RIB-Out, this list should show + the received or sent AS_PATH, 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 list 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"; + + list as-segment { + description + "Unkeyed list of AS PATH segments"; + + container state { + config false; + description + "Opstate data for AS-PATH segments"; + + uses bgp-as-path-attr-state; + } + } + } + } + + grouping bgp-as4-path-attr-top { + description + "Top-level grouping for AS4-PATH attribute data"; + + container as4-path { + description + "This is the 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"; + + list as4-segment { + description + "Unkeyed list of AS PATH segments"; + + container state { + config false; + description + "Opstate data for AS-PATH segments"; + + uses bgp-as-path-attr-state; + } + } + } + } + + grouping bgp-community-attr-state { + description + "Common definition of BGP community attributes"; + + leaf-list community { + type union { + type oc-bgpt:bgp-well-known-community-type; + type oc-bgpt:bgp-std-community-type; + } + description + "List of standard or well-known BGP community + attributes."; + } + } + + grouping bgp-extended-community-attr-state { + description + "Common definition of BGP extended community attribute"; + + leaf-list ext-community { + type oc-bgpt:bgp-ext-community-recv-type; + description + "List of BGP extended community attributes. The received + extended community may be an explicitly modeled + type or unknown, represented by an 8-octet value + formatted according to RFC 4360."; + reference + "RFC 4360 - BGP Extended Communities Attribute"; + } + + } + + grouping bgp-aggregator-attr-state { + description + "Operational state data for the BGP aggregator + attribute"; + + leaf as { + type oc-inet:as-number; + description + "AS number of the autnonomous system that performed the + aggregation."; + } + + leaf as4 { + type oc-inet:as-number; + 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 oc-inet:ipv4-address; + description + "IP address of the router that performed the + aggregation."; + } + } + + + grouping bgp-aggregator-attr-top { + description + "Common definition of the BGP aggregator attribute"; + + container aggregator { + description + "BGP attribute indicating the prefix has been aggregated by + the specified AS and router."; + + container state { + config false; + description + "Operational state data for BGP aggregator attribute"; + + uses bgp-aggregator-attr-state; + } + } + } + + grouping bgp-shared-common-attr-state { + description + "Route attributes shared across route table entries, + common to both LOC-Rib and Adj-RIB"; + + + leaf origin { + type oc-bgpt:bgp-origin-attr-type; + description + "BGP attribute defining the origin of the path information."; + } + + leaf atomic-aggregate { + 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."; + } + + leaf next-hop { + type oc-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 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 the degree of preference for externally learned + routes. The route with the highest local preference value + is preferred."; + } + + leaf originator-id { + type oc-inet:ipv4-address; + description + "BGP attribute that provides the id as an IPv4 address + of the originator of the announcement."; + reference + "RFC 4456 - BGP Route Reflection: An Alternative to Full + Mesh Internal BGP (IBGP)"; + } + + leaf-list cluster-list { + type oc-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 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"; + } + } + + grouping bgp-unknown-attr-flags-state { + description + "Operational state data for path attribute flags"; + + leaf optional { + type boolean; + description + "Defines whether the attribute is optional (if + set to true) or well-known (if set to false). + Set in the high-order bit of the BGP attribute + flags octet."; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + + leaf transitive { + type boolean; + description + "Defines whether an optional attribute is transitive + (if set to true) or non-transitive (if set to false). For + well-known attributes, the transitive flag MUST be set to + true. Set in the second high-order bit of the BGP attribute + flags octet."; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + + leaf partial { + type boolean; + description + "Defines whether the information contained in the optional + transitive attribute is partial (if set to true) or complete + (if set to false). For well-known attributes and for + optional non-transitive attributes, the partial flag + must be set to false. Set in the third high-order bit of + the BGP attribute flags octet."; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + + leaf extended { + type boolean; + description + "Defines whether the attribute length is one octet + (if set to false) or two octets (if set to true). Set in + the fourth high-order bit of the BGP attribute flags + octet."; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + } + + grouping bgp-unknown-attr-state { + description + "Operational state data for path attributes not shared + across route entries, common to LOC-RIB and Adj-RIB"; + + leaf attr-type { + type uint8; + description + "1-octet value encoding 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 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, not including the attribute + flags, type, or length. The maximum length + of the attribute value 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)"; + } + } + + grouping bgp-unknown-attr-top { + description + "Unknown path attributes that are not expected to be shared + across route entries, common to LOC-RIB and Adj-RIB"; + + container unknown-attributes { + description + "Unknown path attributes that were received in the UPDATE + message which contained the prefix."; + + 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 leafref { + path "../state/attr-type"; + } + description + "Reference to the list key"; + } + + container state { + description + "Operational state for unknown route attributes"; + + uses bgp-unknown-attr-flags-state; + uses bgp-unknown-attr-state; + } + } + } + } + + grouping bgp-loc-rib-attr-state { + description + "Path attributes that are not expected to be shared across + route entries, specific to LOC-RIB"; + + } + + grouping bgp-adj-rib-attr-state { + description + "Path attributes that are not expected to be shared across + route entries, specific to Adj-RIB"; + + 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"; + } + } + + grouping bgp-tunnel-encapsulation-attr-top { + description + "Top-level definition of the BGP Tunnel encapsulation + attribute."; + + container tunnel-encapsulation { + config false; + description + "The Tunnel Encapsulation attribute specifies a set of + tunnels to a remote destination. The attribute is TLV + based and allows description of a tunnel type, and the + relevant information to create the tunnel to the remote + destination."; + + reference "RFC5512, draft-ietf-idr-tunnel-encaps"; + + container tunnels { + description + "Surrounding container for the set of tunnels included + within the tunnel encapsulation attribute."; + + list tunnel { + key "type"; + description + "List of the tunnels that are specified within the + attribute. Keyed on the type of tunnel that the + TLV describes."; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the tunnel type specified within the + TLV's type field."; + } + + container state { + config false; + description + "State parameters of the tunnel attribute"; + + uses bgp-tunnel-encapsulation-attr-tunnel-state; + } + + container subtlvs { + description + "Surrounding container for the list of sub-TLVs within + the tunnel encapsulation attribute."; + + list subtlv { + key "type"; + description + "List of the subTLVs that are specified within the + TLV instance inside the tunnel encapsulation attribute."; + + leaf type { + type leafref { + path "../state/type"; + } + description + "Reference to the sub-TLV type that is included within + the subTLV."; + } + + container state { + config false; + description + "State parameters of the subTLV of the tunnel attribute"; + + uses bgp-tunnel-encapsulation-attr-tunnel-subtlv-state; + } + + container remote-endpoints { + when "../state/type = 'oc-bgprt:TUNNEL_REMOTE_ENDPOINT'" { + description + "Only allow the remote endpoint to be specified when the + subTLV is specified to describe remote endpoints."; + } + + description + "The remote endpoints associated with the tunnel + described by the attribute."; + + list remote-endpoint { + key "endpoint"; + description + "List of the remote endpoints described within the TLV."; + + leaf endpoint { + type leafref { + path "../state/endpoint"; + } + description + "Reference to the IP address of the endpoint."; + } + + container state { + config false; + description + "State parameters of the remote endpoints described + by the attribute."; + + uses bgp-tunnel-encapsulation-attr-tunnel-subtlv-endpoint-state; + } + } + } + + container segment-lists { + when "../state/type = 'oc-bgprt:SRTE_SEGMENT_LIST'" { + description + "Only allow the segment lists to be specified when the sub-TLV + is of the relevant type."; + } + + description + "Surrounding container for the list of segment lists that are + associated with a SR-TE Policy tunnel."; + + list segment-list { + key "instance-id"; + + description + "List of segment lists that are specified within the + tunnel encapsulation attribute."; + + leaf instance-id { + type leafref { + path "../state/instance-id"; + } + description + "Reference to the instance identifier of the Segment List + that is included within the tunnel encapsulation + attribute."; + } + + container state { + config false; + description + "State parameters relating to the Segment List within the + Tunnel Encapsulation attribute."; + + uses bgp-tunnel-encapsulation-attr-tunnel-subtlv-segment-list-state; + } + + container segments { + description + "Surrounding container for the list of segments within the + SR-TE segment list."; + + list segment { + key "index"; + + description + "List of segments within the SR-TE segment list."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to the index of the segment within the + segment list."; + } + + container state { + config false; + description + "State parameters relating to the segment within + the segment list."; + + uses bgp-tunnel-encapsulation-attr-tunnel-subtlv-segment-state; + } + } + } + } + } + } + } + } + } + } + } + + grouping bgp-tunnel-encapsulation-attr-tunnel-state { + description + "State parameters of the tunnel encapsulation attribute"; + + leaf type { + type identityref { + base "oc-bgprt:TUNNEL_ENCAPSULATION_TYPE"; + } + description + "Type of the tunnel described within the tunnel encapsulation + attribute."; + } + } + + grouping bgp-tunnel-encapsulation-attr-tunnel-subtlv-state { + description + "State parameters relating to subTLVs of the tunnel encapsulation + attribute."; + + leaf type { + type identityref { + base "oc-bgprt:TUNNEL_ENCAPSULATION_SUBTLV_TYPE"; + } + description + "Type of the sub-TLV within the tunnel encapsulation attribute"; + } + + leaf-list colors { + when "../type = 'oc-bgprt:TUNNEL_COLOR'" { + description + "Only allow list of colours to be specified when the sub-TLV + specifies colours associated with the tunnel encapsulation + attribute."; + } + type uint32; + description + "The colours associated with the tunnel encapsulation attribute, + as described by RFC5512."; + } + + leaf preference { + when "../type = 'oc-bgprt:SRTE_PREFERENCE'" { + description + "Only allow the preference to be specified when the sub-TLV + specifies the preference associated with the tunnel encapsulation + attribute."; + } + type uint32; + default 100; + description + "The preference of the SR-TE policy described by the tunnel + encapsulation attribute. If unspecified, the preference + defaults to 100."; + } + + leaf binding-sid { + when "../type = 'oc-bgprt:SRTE_BINDING_SID'" { + description + "Only allow the binding SID to be specified when the sub-TLV + is specified to be the of the relevant type."; + } + type oc-srt:sr-sid-type; + description + "Binding SID associated with the SR-TE policy"; + } + } + + grouping bgp-tunnel-encapsulation-attr-tunnel-subtlv-endpoint-state { + description + "State parameters relating to the remote endpoint described by a + tunnel encapsulation attribute."; + + leaf as { + type oc-inet:as-number; + description + "The remote AS to which the IP address of the remote endpoint + belongs."; + } + + leaf endpoint { + type oc-inet:ip-address; + description + "IP address of the remote endpoint."; + } + } + + grouping bgp-tunnel-encapsulation-attr-tunnel-subtlv-segment-list-state { + description + "State parameters relating to an entry within a segment list within + a SR-TE policy segment list."; + + leaf instance-id { + type uint64; + description + "Instance of the segment list within the sub-TLV"; + } + + leaf weight { + type uint32; + description + "The weight given to the path within the set of segment + lists that are included in the tunnel attribute sub-TLV."; + } + } + + grouping bgp-tunnel-encapsulation-attr-tunnel-subtlv-segment-state { + description + "State parameters relating to a segment within the segment list."; + + leaf index { + type uint64; + description + "Index of the segment within the segment list. The segments are + ordered in ascending order, beginning at 0."; + } + + leaf type { + type enumeration { + enum MPLS_SID { + description + "The segment is specified as an MPLS label."; + value 1; + } + enum IPV6_SID { + description + "The segment is specified as an IPv6 address."; + value 2; + } + enum IPV4_NODE_ADDRESS { + description + "The segment is specified as an IPv4 node address with + optional SID."; + value 3; + } + enum IPV6_NODE_ADDRESS { + description + "The segment is specified as an IPv6 node address with + optional SID."; + value 4; + } + enum IPV4_LOCAL_INTF_ID { + description + "The segment is specified as an IPv4 address with a + local interface identifier along with an ."; + value 5; + } + enum IPV4_LOCAL_REMOTE_ADDR { + description + "The segment is specified as an IPv4 local and remote + address with an optional SID."; + value 6; + } + enum IPV6_LOCAL_INTF_ID { + description + "The segment is specified as an IPv6 address with an + index, along with an optional SID."; + value 7; + } + enum IPV6_LOCAL_REMOTE_ADDR { + description + "The segmetn is specified as an IPv6 local and remote + address with an optional SID."; + value 8; + } + } + description + "The type of segment specified within the segment entry."; + } + + leaf sid { + type oc-srt:sr-sid-type; + description + "SID value for the segment entry, specified as an MPLS label + or IPv6 address."; + } + + leaf mpls-tc { + when "../type = 'MPLS_SID'" { + description + "The MPLS TC bits can only be specified when the segment + time is an MPLS label."; + } + type uint8 { + range "0..7"; + } + description + "The MPLS TC bits used when the SID is specified as an MPLS + label. If set to zero, the receiving system specifies the + value of the TC bits."; + } + + leaf mpls-bos { + when "../type = 'MPLS_SID'" { + description + "The MPLS BoS bit can only be specified when the segment + type is an MPLS label."; + } + type boolean; + description + "When this leaf is set to true the MPLS bottom-of-stack + (BoS) bit is set in the MPLS segment. The BoS bit should + always be set to zero by the sender."; + } + + leaf mpls-ttl { + when "../type = 'MPLS_SID'" { + description + "The MPLS TTL can only be set when the segment type is + an MPLS label."; + } + type uint8; + description + "The MPLS time to live (TTL) to be set for the MPLS + segment. If set to 255, the receiver specifies the + TTL value that is used for packets sent with this + segment in the stack."; + } + + leaf remote-ipv4-address { + when "../type = 'IPV4_NODE_ADDRESS' or ../type='../IPV4_ADDRESS_INDEX'" + + "or ../type='IPV4_LOCAL_INTF_ID' or " + + "../type='IPV4_LOCAL_REMOTE_ADDR'" { + description + "An IPv4 address can only be associated with the segment entry + when the type of the SID is a node address, or an IPv6 address + with an index."; + } + type oc-inet:ipv4-address; + description + "An IPv4 address specified as the remote node address. When the type + of the segment specifies only the remote address, no other addresses + are specified. When the type of the segment requires a local address, + this leaf specifies the remote IPv4 address."; + } + + leaf local-ipv4-address { + when "../type = 'IPV4_LOCAL_REMOTE_ADDR'" { + description + "A local IPv4 address can only be specified when the segment is + specified by the local and remote IPv4 interface addresses."; + } + type oc-inet:ipv4-address; + description + "An IPv4 address of a local adjacency that is used to identify + the segment."; + } + + leaf remote-ipv6-address { + when "../type = 'IPV6_NODE_ADDRESS' or ../type='IPV6_ADDRESS_INDEX'" + + "or ../type='IPV6_LOCAL_INTF_ID' or " + + "../type='IPV6_LOCAL_REMOTE_ADDR'" { + description + "An IPv6 address can only be specified with a segment entry + when the type of the SID is a node address, or an IPv6 address + with an index."; + } + type oc-inet:ipv6-address; + description + "An IPv6 address specified as the remote node address. When the type + of the segment specifies only the remote address, no other addresses + are specified. When the type of the segment requires a local address, + this leaf specifies the remote IPv6 address."; + } + + leaf local-ipv6-address { + when "../type = 'IPV6_LOCAL_REMOTE_ADDR'" { + description + "A local IPv6 address can only be speciifed when the segment + is specified by the local and remote IPv6 interface addresses."; + } + type oc-inet:ipv6-address; + description + "An IPv6 address of a local adjacency that is used to identify the + segment."; + } + + leaf local-interface-id { + when "../type = 'IPV4_LOCAL_INTF_ID' or ../type='IPV6_LOCAL_INTF_ID'" { + description + "A local interface identifier can only be specified when the + type of the segment is an IPv4 address with local interface ID, + or IPv6 address with local interface ID."; + } + type uint32; + description + "The local interface identifier to be utilised for the segment."; + reference + "draft-ietf-pce-segment-routing"; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-rib-bgp-shared-attributes.yang b/vendor/cisco/xr/755/openconfig-rib-bgp-shared-attributes.yang new file mode 100644 index 000000000..27df103ff --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-rib-bgp-shared-attributes.yang @@ -0,0 +1,203 @@ +submodule openconfig-rib-bgp-shared-attributes { + + belongs-to openconfig-rib-bgp { + prefix "oc-rib-bgp"; + } + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + include openconfig-rib-bgp-attributes; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule contains structural data definitions for + attribute sets shared across routes."; + + oc-ext:openconfig-version "0.7.0"; + + revision "2019-10-15" { + description + "Change imported segment-routing module."; + reference "0.7.0"; + } + + revision "2019-04-25" { + description + "Update last-modified timestamp to be expressed as nanoseconds + since the Unix epoch."; + reference "0.6.0"; + } + + revision "2019-04-16" { + description + "Rename the top-level BGP RIB container's name + to RIB."; + reference "0.5.0"; + } + + revision "2019-02-27" { + description + "Remove top-level BGP RIB container, and update list + names to be compatible with path compression."; + reference "0.4.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2016-10-17" { + description + "OpenConfig BGP RIB refactor"; + reference "0.3.0"; + } + + + grouping attribute-sets-top { + description + "Top level grouping for list of common attribute sets"; + + container attr-sets { + description + "Enclosing container for the list of path attribute sets"; + + list attr-set { + key "index"; + + description + "List of path attributes that may be in use by multiple + routes in the table"; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to list key"; + } + + container state { + config false; + description + "Operational state for common path attributes"; + + leaf index { + type uint64; + description + "System generated index for each attribute set. The + index is used to reference an attribute set from a + specific path. Multiple paths may reference the same + attribute set."; + } + + uses bgp-shared-common-attr-state; + } + uses bgp-aggregator-attr-top; + uses bgp-as-path-attr-top; + uses bgp-as4-path-attr-top; + uses bgp-tunnel-encapsulation-attr-top; + } + } + } + + grouping community-sets-top { + description + "Top level grouping for list of shared community attribute + sets"; + + container communities { + description + "Enclosing container for the list of community attribute + sets"; + + list community { + key "index"; + + description + "List of path attributes that may be in use by multiple + routes in the table"; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to the list key"; + } + + container state { + config false; + description + "Operational state for shared BGP community attribute"; + + leaf index { + type uint64; + description + "System generated index for each attribute set. The + index is used to reference an attribute set from a + specific path. Multiple paths may reference the same + attribute set."; + } + + uses bgp-community-attr-state; + } + } + } + } + + grouping ext-community-sets-top { + description + "Top level grouping for list of extended community attribute + sets"; + + container ext-communities { + description + "Enclosing container for the list of extended community + attribute sets"; + + list ext-community { + key "index"; + + description + "List of path attributes that may be in use by multiple + routes in the table"; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to the list key"; + } + + container state { + config false; + description + "Operational state for shared BGP extended community + attribute"; + + leaf index { + type uint64; + description + "System generated index for each attribute set. The + index is used to reference an attribute set from a + specific path. Multiple paths may reference the same + attribute set."; + } + + uses bgp-extended-community-attr-state; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-rib-bgp-table-attributes.yang b/vendor/cisco/xr/755/openconfig-rib-bgp-table-attributes.yang new file mode 100644 index 000000000..429827ca7 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-rib-bgp-table-attributes.yang @@ -0,0 +1,137 @@ +submodule openconfig-rib-bgp-table-attributes { + + belongs-to openconfig-rib-bgp { + prefix "oc-rib-bgp"; + } + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-types { prefix oc-types; } + import openconfig-rib-bgp-types { prefix oc-bgpribt; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule contains common data definitions for data + related to a RIB entry, or RIB table."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2019-04-25" { + description + "Update last-modified timestamp to be expressed as nanoseconds + since the Unix epoch."; + reference "0.6.0"; + } + + revision "2019-04-16" { + description + "Rename the top-level BGP RIB container's name + to RIB."; + reference "0.5.0"; + } + + revision "2019-02-27" { + description + "Remove top-level BGP RIB container, and update list + names to be compatible with path compression."; + reference "0.4.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2016-10-17" { + description + "OpenConfig BGP RIB refactor"; + reference "0.3.0"; + } + + grouping bgp-common-route-annotations-state { + description + "Data definitions for flags and other information attached + to routes in both LOC-RIB and Adj-RIB"; + + leaf last-modified { + type oc-types:timeticks64; + description + "Timestamp when this path was last modified. + + The value is the timestamp relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + + 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."; + } + + } + + grouping bgp-loc-rib-route-annotations-state { + description + "Data definitions for information attached to routes in the + LOC-RIB"; + + // placeholder for route metadata specific to the LOC-RIB + + } + + grouping bgp-adj-rib-in-post-route-annotations-state { + description + "Data definitions for information attached to routes in the + Adj-RIB-in post-policy table"; + + leaf best-path { + type boolean; + description + "Current path was selected as the best path."; + } + } + + grouping bgp-common-table-attrs-state { + description + "Common attributes attached to all routing tables"; + + // placeholder for metadata associated with all tables + } + + grouping bgp-common-table-attrs-top { + description + "Operational state data for common attributes attached to + all routing tables"; + // no enclosing container as this data will fit under an + // existing LOC-RIB container + + container state { + config false; + description + "Operational state data for data related to the entire + LOC-RIB"; + + uses bgp-common-table-attrs-state; + } + } + + +} diff --git a/vendor/cisco/xr/755/openconfig-rib-bgp-tables.yang b/vendor/cisco/xr/755/openconfig-rib-bgp-tables.yang new file mode 100644 index 000000000..4d9875b67 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-rib-bgp-tables.yang @@ -0,0 +1,916 @@ +submodule openconfig-rib-bgp-tables { + + belongs-to openconfig-rib-bgp { + prefix "oc-rib-bgp"; + } + + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-policy-types { prefix oc-pol-types; } + + include openconfig-rib-bgp-attributes; + include openconfig-rib-bgp-shared-attributes; + include openconfig-rib-bgp-table-attributes; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This submodule contains structural data definitions for + BGP routing tables."; + + oc-ext:openconfig-version "0.7.0"; + + revision "2019-10-15" { + description + "Change imported segment-routing module."; + reference "0.7.0"; + } + + revision "2019-04-25" { + description + "Update last-modified timestamp to be expressed as nanoseconds + since the Unix epoch."; + reference "0.6.0"; + } + + revision "2019-04-16" { + description + "Rename the top-level BGP RIB container's name + to RIB."; + reference "0.5.0"; + } + + revision "2019-02-27" { + description + "Remove top-level BGP RIB container, and update list + names to be compatible with path compression."; + reference "0.4.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2016-10-17" { + description + "OpenConfig BGP RIB refactor"; + reference "0.3.0"; + } + + + grouping bgp-adj-rib-common-attr-refs { + description + "Definitions of common references to attribute sets for + multiple AFI-SAFIs for Adj-RIB tables"; + + leaf attr-index { + type leafref { + path "../../../../../../../../../../attr-sets/attr-set/" + + "state/index"; + } + description + "Reference to the common attribute group for the + route"; + } + + leaf community-index { + type leafref { + path "../../../../../../../../../../communities/community/" + + "state/index"; + } + description + "Reference to the community attribute for the route"; + } + + leaf ext-community-index { + type leafref { + path "../../../../../../../../../../ext-communities/" + + "ext-community/state/index"; + } + description + "Reference to the extended community attribute for the + route"; + } + } + + grouping bgp-loc-rib-common-attr-refs { + description + "Definitions of common references to attribute sets for + multiple AFI-SAFIs for LOC-RIB tables"; + + leaf attr-index { + type leafref { + path "../../../../../../../../attr-sets/attr-set/" + + "state/index"; + } + description + "Reference to the common attribute group for the + route"; + } + + leaf community-index { + type leafref { + path "../../../../../../../../communities/community/" + + "state/index"; + } + description + "Reference to the community attribute for the route"; + } + + leaf ext-community-index { + type leafref { + path "../../../../../../../../ext-communities/" + + "ext-community/state/index"; + } + description + "Reference to the extended community attribute for the + route"; + } + } + + grouping bgp-loc-rib-common-keys { + description + "Common references used in keys for IPv4 and IPv6 + LOC-RIB entries"; + + leaf origin { + type union { + type oc-inet:ip-address; + type identityref { + base oc-pol-types:INSTALL_PROTOCOL_TYPE; + } + } + description + "Indicates the origin of the route. If the route is learned + from a neighbor, this value is the neighbor address. If + the route was injected or redistributed from another + protocol, the origin indicates the source protocol for the + route."; + } + + leaf path-id { + type uint32; + default 0; + description + "If the route is learned from a neighbor, the path-id + corresponds to the path-id for the route in the + corresponding adj-rib-in-post table. If the route is + injected from another protocol, or the neighbor does not + support BGP add-paths, the path-id should be set + to zero, also the default value."; + } + } + + grouping bgp-loc-rib-key-refs { + description + "Key references to support operational state structure for + the BGP LOC-RIB table"; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the prefix list key"; + } + + leaf origin { + type leafref { + path "../state/origin"; + } + description + "Reference to the origin list key"; + } + + leaf path-id { + type leafref { + path "../state/path-id"; + } + description + "Reference to the path-id list key"; + } + } + + grouping ipv4-loc-rib-top { + description + "Top-level grouping for IPv4 routing tables"; + + container loc-rib { + config false; + description + "Container for the IPv4 BGP LOC-RIB data"; + + uses bgp-common-table-attrs-top; + + container routes { + description + "Enclosing container for list of routes in the routing + table."; + + list route { + key "prefix origin path-id"; + + description + "List of routes in the table, keyed by the route + prefix, the route origin, and path-id. The route + origin can be either the neighbor address from which + the route was learned, or the source protocol that + injected the route. The path-id distinguishes routes + for the same prefix received from a neighbor (e.g., + if add-paths is eanbled)."; + + uses bgp-loc-rib-key-refs; + + container state { + description + "Operational state data for route entries in the + BGP LOC-RIB"; + + leaf prefix { + type oc-inet:ipv4-prefix; + description + "The IPv4 prefix corresponding to the route"; + } + + uses bgp-loc-rib-common-keys; + uses bgp-loc-rib-common-attr-refs; + uses bgp-loc-rib-attr-state; + uses bgp-common-route-annotations-state; + uses bgp-loc-rib-route-annotations-state; + + } + + uses bgp-unknown-attr-top; + + } + } + } + } + + grouping ipv6-loc-rib-top { + description + "Top-level grouping for IPv6 routing tables"; + + container loc-rib { + config false; + description + "Container for the IPv6 BGP LOC-RIB data"; + + uses bgp-common-table-attrs-top; + + container routes { + description + "Enclosing container for list of routes in the routing + table."; + + list route { + key "prefix origin path-id"; + + description + "List of routes in the table, keyed by the route + prefix, the route origin, and path-id. The route + origin can be either the neighbor address from which + the route was learned, or the source protocol that + injected the route. The path-id distinguishes routes + for the same prefix received from a neighbor (e.g., + if add-paths is eanbled)."; + + uses bgp-loc-rib-key-refs; + + container state { + description + "Operational state data for route entries in the + BGP LOC-RIB"; + + leaf prefix { + type oc-inet:ipv6-prefix; + description + "The IPv6 prefix corresponding to the route"; + } + + uses bgp-loc-rib-common-keys; + uses bgp-loc-rib-common-attr-refs; + uses bgp-loc-rib-attr-state; + uses bgp-common-route-annotations-state; + uses bgp-loc-rib-route-annotations-state; + + } + + uses bgp-unknown-attr-top; + } + } + } + } + + grouping bgp-adj-rib-key-refs { + description + "Key references to support operational state structure for + the BGP Adj-RIB tables"; + + leaf prefix { + type leafref { + path "../state/prefix"; + } + description + "Reference to the prefix list key"; + } + + leaf path-id { + type leafref { + path "../state/path-id"; + } + description + "Reference to the path-id list key"; + } + } + + grouping ipv4-adj-rib-common { + description + "Common structural grouping for each IPv4 adj-RIB table"; + + uses bgp-common-table-attrs-top; + + container routes { + config false; + description + "Enclosing container for list of routes in the routing + table."; + + list route { + key "prefix path-id"; + + description + "List of routes in the table, keyed by a combination of + the route prefix and path-id to distinguish multiple + routes received from a neighbor for the same prefix, + e.g., when BGP add-paths is enabled."; + + uses bgp-adj-rib-key-refs; + + container state { + description + "Operational state data for BGP Adj-RIB entries"; + + leaf prefix { + type oc-inet:ipv4-prefix; + description + "Prefix for the route"; + } + + uses bgp-adj-rib-attr-state; + uses bgp-adj-rib-common-attr-refs; + uses bgp-common-route-annotations-state; + } + + uses bgp-unknown-attr-top; + + } + } + } + + grouping ipv4-adj-rib-in-post { + description + "Common structural grouping for the IPv4 adj-rib-in + post-policy table"; + + uses bgp-common-table-attrs-top; + + container routes { + config false; + description + "Enclosing container for list of routes in the routing + table."; + + list route { + key "prefix path-id"; + + description + "List of routes in the table, keyed by a combination of + the route prefix and path-id to distinguish multiple + routes received from a neighbor for the same prefix, + e.g., when BGP add-paths is enabled."; + + uses bgp-adj-rib-key-refs; + + container state { + description + "Operational state data for BGP Adj-RIB entries"; + + leaf prefix { + type oc-inet:ipv4-prefix; + description + "Prefix for the route"; + } + + uses bgp-adj-rib-attr-state; + uses bgp-adj-rib-common-attr-refs; + uses bgp-common-route-annotations-state; + uses bgp-adj-rib-in-post-route-annotations-state; + } + + uses bgp-unknown-attr-top; + } + } + } + + + grouping ipv4-adj-rib-top { + description + "Top-level grouping for Adj-RIB table"; + + 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 leafref { + path "../state/neighbor-address"; + } + description + "Reference to the list key"; + } + + container state { + description + "Operational state for each neighbor BGP Adj-RIB"; + + leaf neighbor-address { + type oc-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 ipv4-adj-rib-common; + + } + + 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 ipv4-adj-rib-in-post; + } + + 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 ipv4-adj-rib-common; + + } + + 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 ipv4-adj-rib-common; + + } + } + } + } + + grouping ipv6-adj-rib-common { + description + "Common structural grouping for each IPv6 adj-RIB table"; + + uses bgp-common-table-attrs-state; + + container routes { + config false; + description + "Enclosing container for list of routes in the routing + table."; + + list route { + key "prefix path-id"; + + description + "List of routes in the table"; + + uses bgp-adj-rib-key-refs; + + container state { + description + "Operational state data for BGP Adj-RIB entries"; + + leaf prefix { + type oc-inet:ipv6-prefix; + description + "Prefix for the route"; + } + + uses bgp-adj-rib-attr-state; + uses bgp-adj-rib-common-attr-refs; + uses bgp-common-route-annotations-state; + } + + uses bgp-unknown-attr-top; + } + } + } + + grouping ipv6-adj-rib-in-post { + description + "Common structural grouping for the IPv6 adj-rib-in + post-policy table"; + + uses bgp-common-table-attrs-state; + + container routes { + config false; + description + "Enclosing container for list of routes in the routing + table."; + + list route { + key "prefix path-id"; + + description + "List of routes in the table"; + + uses bgp-adj-rib-key-refs; + + container state { + description + "Operational state data for BGP Adj-RIB entries"; + + leaf prefix { + type oc-inet:ipv6-prefix; + description + "Prefix for the route"; + } + + uses bgp-adj-rib-attr-state; + uses bgp-adj-rib-common-attr-refs; + uses bgp-common-route-annotations-state; + uses bgp-adj-rib-in-post-route-annotations-state; + } + + uses bgp-unknown-attr-top; + } + } + } + + grouping ipv6-adj-rib-top { + description + "Top-level grouping for Adj-RIB table"; + + 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 leafref { + path "../state/neighbor-address"; + } + description + "Reference to the list key"; + } + + container state { + description + "Operational state for each neighbor BGP Adj-RIB"; + + leaf neighbor-address { + type oc-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 ipv6-adj-rib-common; + + } + + 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 ipv6-adj-rib-in-post; + } + + 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 ipv6-adj-rib-common; + + } + + 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 ipv6-adj-rib-common; + + } + } + } + } + + grouping ipvX-srte-policy-adjrib-top { + description + "Top-level grouping for the IPv4 and IPv6 AFI, SR-TE Policy SAFI + Adj-RIBs."; + + container neighbors { + description + "Surrounding container for the list of neighbours that are + enabled for the IPv4 and IPv6 AFI, SR-TE Policy SAFI address + family."; + + list neighbor { + key "neighbor-address"; + + description + "An individual neighbour that is enabled for the SR-TE + Policy SAFI."; + + leaf neighbor-address { + type leafref { + path "../state/neighbor-address"; + } + description + "Reference to the address of the neighbour for which the + Adj-RIBs specified are maintained."; + } + + container state { + description + "Operational state parameters of the BGP neighbour for + which the SR-TE Policy SAFI is enabled."; + uses ipvX-srte-policy-adjrib-neighbor-state; + } + + container adj-rib-in-pre { + description + "The Adj-RIB-In for the SR-TE Policy SAFI for the neighbour, + prior to any inbound policy constraints or modifications + having been applied."; + uses ipvX-srte-policy-adjrib-common; + } + + container adj-rib-in-post { + description + "The Adj-RIB-In for the SR-TE Policy SAFI for the neighbour, + following any inbound policy constraints or modifications + being made."; + uses ipvX-srte-policy-adjrib-in-post; + } + + container adj-rib-out-pre { + description + "The Adj-RIB-Out for the SR-TE Policy SAFI for the neighbour, + prior to any outgoing policy modifications or constraints + having been applied."; + uses ipvX-srte-policy-adjrib-common; + } + + container adj-rib-out-post { + description + "The Adj-RIB-Out for the SR-TE Policy SAFI for the neighbour, + follow any outbound policy constraints or modifications being + made."; + uses ipvX-srte-policy-adjrib-common; + } + } + } + } + + grouping ipvX-srte-policy-adjrib-neighbor-state { + description + "Common attributes for each neighbour for which the SR-TE + Policy SAFI RIBs are being maintained."; + + leaf neighbor-address { + description + "The address of the neighbour for which the SR-TE policy + SAFI has been negotiated."; + type oc-inet:ip-address; + } + } + + grouping ipvX-srte-policy-adjrib-common { + description + "Common structure containing the routes that are learnt via + the IPv4 or IPv6 SR-TE Policy SAFI."; + + container routes { + description + "Surrounding container for the list of routes within the + SR-TE Policy SAFI."; + + list route { + key "path-id endpoint color"; + + description + "The routes within the SR-TE Policy SAFI Adj-RIB. The + routes are keyed on the path-id - set to a non-zero + value only if ADD-PATHS is being used; the color; and + the endpoint. The colour and endpoint are extracted from + the NLRI."; + + uses ipvX-srte-policy-common-keys; + + container state { + description + "State parameters for entries within the Adj-RIB used + to store SR-TE Policy SAFI routes."; + + uses ipvX-srte-policy-common-route-state; + uses bgp-adj-rib-common-attr-refs; + uses bgp-common-route-annotations-state; + } + + uses bgp-unknown-attr-top; + } + } + } + + grouping ipvX-srte-policy-common-route-state { + description + "Common attributes used SR-TE Policy SAFI routes."; + + leaf path-id { + type uint32; + default 0; + description + "Identifier for the path when using BGP ADD-PATHS for the SR-TE + policy SAFI."; + } + + leaf endpoint { + type oc-inet:ip-address; + description + "A unique identifier for the remote set of nodes. When the address + family is IPv4, the value is a 4-octet IPv4 address. When the + address family is IPv6, the value is a 16-octet IPv6 address."; + } + + leaf color { + type uint32; + description + "A 4-octet value identifying the policy. Combined with the endpoint + the endpoint and colour represent the unique policy."; + } + } + + grouping ipvX-srte-policy-common-keys { + description + "Common grouping of the keys used for lists of SR-TE policy + SAFI routes."; + + leaf path-id { + type leafref { + path "../state/path-id"; + } + description + "Reference to the path identifier for the SR-TE Policy SAFI + route. The value is only non-zero if ADD-PATHS is not being + used."; + } + + leaf endpoint { + type leafref { + path "../state/endpoint"; + } + description + "Reference to the endpoint used for the SR-TE Policy SAFI + route within the NLRI."; + } + + leaf color { + type leafref { + path "../state/color"; + } + description + "Reference to the colour used for the SR-TE policy SAFI + route within the NLRI."; + } + } + + grouping ipvX-srte-policy-adjrib-in-post { + description + "Grouping for the post-policy Adj-RIB-In for SR-TE Policy SAFI routes"; + + container routes { + description + "The set of routes that are within the Adj-RIB-Out for the + neighbour."; + + list route { + key "path-id endpoint color"; + + description + "The routes that are in the Adj-RIB-In-Post for the specified + BGP neighbour within the SR-TE Policy SAFI for the specified + address family."; + + uses ipvX-srte-policy-common-keys; + + container state { + description + "Operational state attributes related to the route within + the SR-TE Policy SAFI Adj-RIB-In-Post for the specified + neighbour."; + + uses ipvX-srte-policy-common-route-state; + uses bgp-adj-rib-common-attr-refs; + uses bgp-common-route-annotations-state; + uses bgp-adj-rib-in-post-route-annotations-state; + } + + uses bgp-unknown-attr-top; + } + } + } + + grouping ipvX-srte-policy-locrib-top { + description + "Top-level grouping for the Loc-RIB for IPv4 or IPv6 Adj-RIB + for SR-TE Policy SAFI."; + + container loc-rib { + description + "The Loc-RIB for the SR-TE Policy SAFI for IPv4 or IPv6 Unicast + AFIs."; + + container routes { + description + "List of routes within the SR-TE Policy SAFI, for the IPv4 or + IPv6 AFI."; + + list route { + key "path-id endpoint color"; + + description + "Route within the specified address family for the SR-TE + Policy SAFI."; + + uses ipvX-srte-policy-common-keys; + + container state { + description + "Operational state attributes for each route within the + IPv4 or IPv6 Unicast SR-TE Policy SAFI."; + + uses ipvX-srte-policy-common-route-state; + uses bgp-loc-rib-common-attr-refs; + uses bgp-common-route-annotations-state; + } + + uses bgp-unknown-attr-top; + } + } + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-rib-bgp-types.yang b/vendor/cisco/xr/755/openconfig-rib-bgp-types.yang new file mode 100644 index 000000000..e5031c719 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-rib-bgp-types.yang @@ -0,0 +1,269 @@ +module openconfig-rib-bgp-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/rib/bgp-types"; + + prefix "oc-bgprib-types"; + + import openconfig-extensions { prefix oc-ext; } + + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Defines identity and type defintions associated with + the OpenConfig BGP RIB modules"; + + oc-ext:openconfig-version "0.5.0"; + + revision "2019-03-14" { + description + "Update last-modified timestamp to be expressed as nanoseconds + since the Unix epoch."; + reference "0.5.0"; + } + + revision "2019-02-27" { + description + "Remove top-level BGP RIB container, and update list + names to be compatible with path compression."; + reference "0.4.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2016-10-17" { + description + "OpenConfig BGP RIB refactor"; + reference "0.3.0"; + } + + revision "2016-04-11" { + description + "OpenConfig public release"; + reference "0.2.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + identity INVALID_ROUTE_REASON { + description + "Base identity for reason code for routes that are rejected as + invalid. Some derived entities are based on BMP v3"; + reference "BGP Monitoring Protocol (draft-ietf-grow-bmp-07)"; + } + + identity INVALID_CLUSTER_LOOP { + base INVALID_ROUTE_REASON; + description + "Route was invalid due to CLUSTER_LIST loop"; + } + + identity INVALID_AS_LOOP { + base INVALID_ROUTE_REASON; + description + "Route was invalid due to AS_PATH loop"; + } + + identity INVALID_ORIGINATOR { + base INVALID_ROUTE_REASON; + description + "Route was invalid due to ORIGINATOR_ID, e.g., update has + local router as originator"; + } + + identity INVALID_CONFED { + base INVALID_ROUTE_REASON; + description + "Route was invalid due to a loop in the AS_CONFED_SEQUENCE or + AS_CONFED_SET attributes"; + } + + identity BGP_NOT_SELECTED_BESTPATH { + description + "Base identity for indicating reason a route was was not + selected by BGP route selection algorithm"; + reference + "RFC 4271 - Section 9.1"; + } + + identity LOCAL_PREF_LOWER { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route has a lower localpref attribute than current best path"; + reference + "RFC 4271 - Section 9.1.2"; + } + + identity AS_PATH_LONGER { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route has a longer AS path attribute than current best path"; + reference + "RFC 4271 - Section 9.1.2.2 (a)"; + } + + identity ORIGIN_TYPE_HIGHER { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route has a higher origin type, i.e., IGP origin is preferred + over EGP or incomplete"; + reference + "RFC 4271 - Section 9.1.2.2 (b)"; + } + + identity MED_HIGHER { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route has a higher MED, or metric, attribute than the current + best path"; + reference + "RFC 4271 - Section 9.1.2.2 (c)"; + } + + identity PREFER_EXTERNAL { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route source is via IGP, rather than EGP."; + reference + "RFC 4271 - Section 9.1.2.2 (d)"; + } + + identity NEXTHOP_COST_HIGHER { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route has a higher interior cost to the next hop."; + reference + "RFC 4271 - Section 9.1.2.2 (e)"; + } + + identity HIGHER_ROUTER_ID { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route was sent by a peer with a higher BGP Identifier value, + or router id"; + reference + "RFC 4271 - Section 9.1.2.2 (f)"; + } + + identity HIGHER_PEER_ADDRESS { + base BGP_NOT_SELECTED_BESTPATH; + description + "Route was sent by a peer with a higher IP address"; + reference + "RFC 4271 - Section 9.1.2.2 (g)"; + } + + identity BGP_NOT_SELECTED_POLICY { + description + "Base identity for reason code for routes that are rejected + due to policy"; + } + + identity REJECTED_IMPORT_POLICY { + base BGP_NOT_SELECTED_POLICY; + description + "Route was rejected after apply import policies"; + } + + identity TUNNEL_ENCAPSULATION_TYPE { + description + "Types of tunnel encapsulation, as described by the Tunnel + Encapsulation attribute"; + reference + "RFC5512"; + } + + identity SRTE_POLICY_TUNNEL { + base TUNNEL_ENCAPSULATION_TYPE; + description + "Segment Routing Traffic Engineering Policy tunnel."; + reference + "draft-previdi-idr-segment-routing-te-policy"; + } + + identity TUNNEL_ENCAPSULATION_SUBTLV_TYPE { + description + "SubTLVs of the Tunnel Encapsulation attribute"; + reference + "RFC5512"; + } + + identity TUNNEL_REMOTE_ENDPOINT { + base TUNNEL_ENCAPSULATION_SUBTLV_TYPE; + description + "Remote endpoint of the tunnel."; + reference + "RFC5512"; + } + + identity TUNNEL_COLOR { + base TUNNEL_ENCAPSULATION_SUBTLV_TYPE; + description + "Colour of the tunnel"; + reference + "RFC5512"; + } + + identity SRTE_PREFERENCE { + base TUNNEL_ENCAPSULATION_SUBTLV_TYPE; + description + "Preference of the SR-TE policy entry described by + the tunnel encapsulation attribute."; + reference + "draft-previdi-idr-segment-routing-te-policy"; + } + + identity SRTE_BINDING_SID { + base TUNNEL_ENCAPSULATION_SUBTLV_TYPE; + description + "Binding SID to be used by the SR-TE policy described + by the tunnel encapsulation attribute."; + reference + "draft-previdi-idr-segment-routing-te-policy"; + } + + identity SRTE_SEGMENT_LIST { + base TUNNEL_ENCAPSULATION_SUBTLV_TYPE; + description + "Segment lists to be used by the SR-TE policy described + by the tunnel encapsulation attribute."; + reference + "draft-previdi-idr-segment-routing-te-policy"; + } + + identity SRTE_SEGMENT_LIST_SUBTLV { + description + "SubTLVs of the SR-TE Policy Segment List sub-TLV of the + Tunnel Encapsulation attribute."; + reference + "draft-previdi-idr-segment-routing-te-policy"; + } + + identity SRTE_SEGMENT_LIST_WEIGHT { + base SRTE_SEGMENT_LIST_SUBTLV; + description + "Weight of the segment list within the SR-TE policy"; + reference + "draft-previdi-idr-segment-routing-te-policy"; + } + + identity SRTE_SEGMENT_LIST_SEGMENT { + base SRTE_SEGMENT_LIST_SUBTLV; + description + "An individual element within the SR-TE Policy Segment + List."; + } +} diff --git a/vendor/cisco/xr/755/openconfig-rib-bgp.yang b/vendor/cisco/xr/755/openconfig-rib-bgp.yang new file mode 100644 index 000000000..8920fcf18 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-rib-bgp.yang @@ -0,0 +1,239 @@ +module openconfig-rib-bgp { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/rib/bgp"; + + prefix "oc-rib-bgp"; + + // import some basic types + import openconfig-bgp-types { prefix oc-bgpt; } + import openconfig-extensions { prefix oc-ext; } + + // include RIB submodules + + // structure for LOC-RIB and Adj-RIB tables + include openconfig-rib-bgp-tables; + + // structure of shared attribute groups + include openconfig-rib-bgp-shared-attributes; + + // groupings of attributes in three categories: + // - shared across multiple routes + // - common to LOC-RIB and Adj-RIB, but not shared across routes + // - specific to LOC-RIB or Adj-RIB + include openconfig-rib-bgp-attributes; + + // groupings of annotations for each route or table + include openconfig-rib-bgp-table-attributes; + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Defines a data model for representing BGP routing table (RIB) + contents. The model supports 5 logical RIBs per address family: + + loc-rib: This is the main BGP routing table for the local routing + instance, containing best-path selections for each prefix. The + loc-rib table may contain multiple routes for a given prefix, + with an attribute to indicate which was selected as the best + path. 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. + + adj-rib-in-pre: This is a 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 a given neighbor. + + adj-rib-in-post: This is a per-neighbor table containing the + routes received from the neighbor that are eligible for + best-path selection after local input policy rules have been + applied. + + adj-rib-out-pre: This is a per-neighbor table containing routes + eligible for sending (advertising) to the neighbor before output + policy rules have been applied. + + adj-rib-out-post: This is a per-neighbor table containing routes + eligible for sending (advertising) to the neighbor after output + policy rules have been applied."; + + oc-ext:openconfig-version "0.7.0"; + + revision "2019-10-15" { + description + "Change imported segment-routing module."; + reference "0.7.0"; + } + + revision "2019-04-25" { + description + "Update last-modified timestamp to be expressed as nanoseconds + since the Unix epoch."; + reference "0.6.0"; + } + + revision "2019-04-16" { + description + "Rename the top-level BGP RIB container's name + to RIB."; + reference "0.5.0"; + } + + revision "2019-02-27" { + description + "Remove top-level BGP RIB container, and update list + names to be compatible with path compression."; + reference "0.4.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2016-10-17" { + description + "OpenConfig BGP RIB refactor"; + reference "0.3.0"; + } + + revision "2016-04-11" { + description + "OpenConfig public release"; + reference "0.2.0"; + } + + + + // grouping statements + + + + grouping bgp-rib-state { + description + "Operational state data for the top level BGP RIB"; + + leaf afi-safi-name { + type identityref { + base oc-bgpt:AFI_SAFI_TYPE; + } + description "AFI,SAFI"; + } + } + + grouping bgp-rib-top { + description + "Top-level grouping for the BGP RIB"; + + container rib { + config false; + description + "Top level container for BGP RIBs"; + + uses attribute-sets-top; + uses community-sets-top; + uses ext-community-sets-top; + + 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 leafref { + path "../state/afi-safi-name"; + } + description + "Reference to the list key"; + } + + container state { + config false; + description + "Operational state data for the BGP list"; + + uses bgp-rib-state; + } + + 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 ipv4-loc-rib-top; + uses ipv4-adj-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 ipv6-loc-rib-top; + uses ipv6-adj-rib-top; + } + + container ipv4-srte-policy { + when "../afi-safi-name = 'oc-bgpt:SRTE_POLICY_IPV4'" { + description + "Include this container only for the IPv4 AFI, SR-TE Policy + SAFI."; + } + description + "Routing tables for the IPv4 Unicast, SR-TE Policy SAFI."; + + uses ipvX-srte-policy-locrib-top; + uses ipvX-srte-policy-adjrib-top; + } + + container ipv6-srte-policy { + when "../afi-safi-name = 'oc-bgpt:SRTE_POLICY_IPV6'" { + description + "Include this container only for the IPv6 AFI, SR-TE Policy + SAFI."; + } + description + "Routing tables for the IPv6 Unicast, SR-TE Policy SAFI."; + + uses ipvX-srte-policy-locrib-top; + uses ipvX-srte-policy-adjrib-top; + } + } + } + } + } + + + // data definition statements + // augment statements + + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-routing-policy.yang b/vendor/cisco/xr/755/openconfig-routing-policy.yang new file mode 100644 index 000000000..651f7e3b2 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-routing-policy.yang @@ -0,0 +1,1278 @@ +module openconfig-routing-policy { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/routing-policy"; + + prefix "oc-rpol"; + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-policy-types { prefix oc-pol-types; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module describes a YANG model for routing policy + configuration. It is a limited subset of all of the policy + configuration parameters available in the variety of vendor + implementations, but supports widely used constructs for managing + how routes are imported, exported, and modified across different + routing protocols. This module is intended to be used in + conjunction with routing protocol configuration models (e.g., + BGP) defined in other modules. + + Route policy expression: + + Policies are expressed as a set of top-level policy definitions, + each of which consists of a sequence of policy statements. Policy + statements consist of simple condition-action tuples. Conditions + may include mutiple match or comparison operations, and similarly + actions may be multitude of changes to route attributes or a + final disposition of accepting or rejecting the route. + + Route policy evaluation: + + Policy definitions are referenced in routing protocol + configurations using import and export configuration statements. + The arguments are members of an ordered list of named policy + definitions which comprise a policy chain, and optionally, an + explicit default policy action (i.e., reject or accept). + + Evaluation of each policy definition proceeds by evaluating its + corresponding individual policy statements in order. When a + condition statement in a policy statement is satisfied, the + corresponding action statement is executed. If the action + statement has either accept-route or reject-route actions, policy + evaluation of the current policy definition stops, and no further + policy definitions in the chain are evaluated. + + If the condition is not satisfied, then evaluation proceeds to + the next policy statement. If none of the policy statement + conditions are satisfied, then evaluation of the current policy + definition stops, and the next policy definition in the chain is + evaluated. When the end of the policy chain is reached, the + default route disposition action is performed (i.e., reject-route + unless an an alternate default action is specified for the + chain). + + Policy 'subroutines' (or nested policies) are supported by + allowing policy statement conditions to reference another policy + definition which applies conditions and actions from the + referenced policy before returning to the calling policy + statement and resuming evaluation. If the called policy + results in an accept-route (either explicit or by default), then + the subroutine returns an effective true value to the calling + policy. Similarly, a reject-route action returns false. If the + subroutine returns true, the calling policy continues to evaluate + the remaining conditions (using a modified route if the + subroutine performed any changes to the route)."; + + oc-ext:openconfig-version "3.3.0"; + + revision "2022-05-24" { + description + "Remove module extension oc-ext:regexp-posix by making pattern regexes + conform to RFC6020/7950. + Types impacted: + - masklength-range"; + reference "3.3.0"; + } + + revision "2020-08-18" { + description + "Fix regex anchors for masklength-range's pattern statement."; + reference "3.2.2"; + } + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions."; + reference "3.2.1"; + } + + revision "2020-04-02" { + description + "Add generic set-tag operation back to support local and IGP + tagged routes."; + reference "3.2.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.1.1"; + } + + revision "2018-06-05" { + description + "Add PIM, IGMP to INSTALL_PROTOCOL_TYPES identity"; + reference "3.1.0"; + } + + revision "2017-07-14" { + description + "Replace policy choice node/type with policy-result + enumeration;simplified defined set naming;removed generic + IGP actions; migrate to OpenConfig types; added mode for + prefix sets"; + reference "3.0.0"; + } + + revision "2016-05-12" { + description + "OpenConfig public release"; + reference "2.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef default-policy-type { + // this typedef retained for name compatibiity with default + // import and export policy + type enumeration { + enum ACCEPT_ROUTE { + description + "Default policy to accept the route"; + } + enum REJECT_ROUTE { + description + "Default policy to reject the route"; + } + } + description + "Type used to specify route disposition in + a policy chain"; + } + + typedef policy-result-type { + type enumeration { + enum ACCEPT_ROUTE { + description "Policy accepts the route"; + } + enum REJECT_ROUTE { + description "Policy rejects the route"; + } + } + description + "Type used to specify route disposition in + a policy chain"; + } + + + // grouping statements + + grouping prefix-set-config { + description + "Configuration data for prefix sets used in policy + definitions."; + + leaf name { + type string; + description + "name / label of the prefix set -- this is used to + reference the set in match conditions"; + } + + leaf mode { + type enumeration { + enum IPV4 { + description + "Prefix set contains IPv4 prefixes only"; + } + enum IPV6 { + description + "Prefix set contains IPv6 prefixes only"; + } + enum MIXED { + description + "Prefix set contains mixed IPv4 and IPv6 prefixes"; + } + } + description + "Indicates the mode of the prefix set, in terms of which + address families (IPv4, IPv6, or both) are present. The + mode provides a hint, but the device must validate that all + prefixes are of the indicated type, and is expected to + reject the configuration if there is a discrepancy. The + MIXED mode may not be supported on devices that require + prefix sets to be of only one address family."; + } + + } + + grouping prefix-set-state { + description + "Operational state data for prefix sets"; + } + + grouping prefix-set-top { + description + "Top-level data definitions for a list of IPv4 or IPv6 + prefixes which are matched as part of a policy"; + + container prefix-sets { + description + "Enclosing container "; + + list prefix-set { + key "name"; + description + "List of the defined prefix sets"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to prefix name list key"; + } + + container config { + description + "Configuration data for prefix sets"; + + uses prefix-set-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses prefix-set-config; + uses prefix-set-state; + } + + uses prefix-top; + } + } + } + + grouping prefix-config { + description + "Configuration data for a prefix definition"; + + leaf ip-prefix { + type oc-inet:ip-prefix; + mandatory true; + description + "The prefix member in CIDR notation -- while the + prefix may be either IPv4 or IPv6, most + implementations require all members of the prefix set + to be the same address family. Mixing address types in + the same prefix set is likely to cause an error."; + } + + leaf masklength-range { + type string { + pattern '(([0-9]+\.\.[0-9]+)|exact)'; + oc-ext:posix-pattern '^(([0-9]+\.\.[0-9]+)|exact)$'; + } + description + "Defines a range for the masklength, or 'exact' if + the prefix has an exact length. + + Example: 10.3.192.0/21 through 10.3.192.0/24 would be + expressed as prefix: 10.3.192.0/21, + masklength-range: 21..24. + + Example: 10.3.192.0/21 would be expressed as + prefix: 10.3.192.0/21, + masklength-range: exact"; + } + } + + grouping prefix-state { + description + "Operational state data for prefix definitions"; + } + + grouping prefix-top { + description + "Top-level grouping for prefixes in a prefix list"; + + container prefixes { + description + "Enclosing container for the list of prefixes in a policy + prefix list"; + + list prefix { + key "ip-prefix masklength-range"; + description + "List of prefixes in the prefix set"; + + leaf ip-prefix { + type leafref { + path "../config/ip-prefix"; + } + description + "Reference to the ip-prefix list key."; + } + + leaf masklength-range { + type leafref { + path "../config/masklength-range"; + } + description + "Reference to the masklength-range list key"; + } + + container config { + description + "Configuration data for prefix definition"; + + uses prefix-config; + } + + container state { + + config false; + + description + "Operational state data for prefix definition"; + + uses prefix-config; + uses prefix-state; + } + } + } + } + + grouping neighbor-set-config { + description + "Configuration data for neighbor set definitions"; + + leaf name { + type string; + description + "name / label of the neighbor set -- this is used to + reference the set in match conditions"; + } + + leaf-list address { + type oc-inet:ip-address; + description + "List of IP addresses in the neighbor set"; + } + } + + grouping neighbor-set-state { + description + "Operational state data for neighbor set definitions"; + } + + grouping neighbor-set-top { + description + "Top-level data definition for a list of IPv4 or IPv6 + neighbors which can be matched in a routing policy"; + + container neighbor-sets { + description + "Enclosing container for the list of neighbor set + definitions"; + + list neighbor-set { + key "name"; + description + "List of defined neighbor sets for use in policies."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the neighbor set name list key."; + } + + container config { + description + "Configuration data for neighbor sets."; + + uses neighbor-set-config; + } + + container state { + + config false; + + description + "Operational state data for neighbor sets."; + + uses neighbor-set-config; + uses neighbor-set-state; + } + } + } + } + + grouping tag-set-config { + description + "Configuration data for tag set definitions."; + + leaf name { + type string; + description + "name / label of the tag set -- this is used to reference + the set in match conditions"; + } + + leaf-list tag-value { + type oc-pol-types:tag-type; + description + "Value of the tag set member"; + } + } + + grouping tag-set-state { + description + "Operational state data for tag set definitions."; + } + + grouping tag-set-top { + description + "Top-level data definitions for a list of tags which can + be matched in policies"; + + container tag-sets { + description + "Enclosing container for the list of tag sets."; + + list tag-set { + key "name"; + description + "List of tag set definitions."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the tag set name list key"; + } + + container config { + description + "Configuration data for tag sets"; + + uses tag-set-config; + } + + container state { + + config false; + + description + "Operational state data for tag sets"; + + uses tag-set-config; + uses tag-set-state; + } + } + } + } + + grouping generic-defined-sets { + description + "Data definitions for pre-defined sets of attributes used in + policy match conditions. These sets are generic and can + be used in matching conditions in different routing + protocols."; + + uses prefix-set-top; + uses neighbor-set-top; + uses tag-set-top; + } + + grouping match-set-options-group { + description + "Grouping containing options relating to how a particular set + should be matched"; + + leaf match-set-options { + type oc-pol-types:match-set-options-type; + description + "Optional parameter that governs the behaviour of the + match operation"; + } + } + + grouping match-set-options-restricted-group { + description + "Grouping for a restricted set of match operation modifiers"; + + leaf match-set-options { + type oc-pol-types:match-set-options-restricted-type; + description + "Optional parameter that governs the behaviour of the + match operation. This leaf only supports matching on ANY + member of the set or inverting the match. Matching on ALL is + not supported"; + } + } + + grouping match-interface-condition-config { + description + "Configuration data for interface match condition"; + + uses oc-if:interface-ref-common; + } + + grouping match-interface-condition-state { + description + "Operational state data for interface match condition"; + } + + grouping match-interface-condition-top { + description + "Top-level grouping for the interface match condition"; + + container match-interface { + description + "Top-level container for interface match conditions"; + + container config { + description + "Configuration data for interface match conditions"; + + uses match-interface-condition-config; + } + + container state { + + config false; + + description + "Operational state data for interface match conditions"; + + uses match-interface-condition-config; + uses match-interface-condition-state; + } + + } + } + + grouping prefix-set-condition-config { + description + "Configuration data for prefix-set conditions"; + + leaf prefix-set { + type leafref { + path "../../../../../../../../defined-sets/" + + "prefix-sets/prefix-set/config/name"; + } + description "References a defined prefix set"; + } + uses match-set-options-restricted-group; + } + + + grouping prefix-set-condition-state { + description + "Operational state data for prefix-set conditions"; + } + + grouping prefix-set-condition-top { + description + "Top-level grouping for prefix-set conditions"; + + container match-prefix-set { + description + "Match a referenced prefix-set according to the logic + defined in the match-set-options leaf"; + + container config { + description + "Configuration data for a prefix-set condition"; + + uses prefix-set-condition-config; + } + + container state { + + config false; + + description + "Operational state data for a prefix-set condition"; + + uses prefix-set-condition-config; + uses prefix-set-condition-state; + } + } + } + + grouping neighbor-set-condition-config { + description + "Configuration data for neighbor-set conditions"; + + leaf neighbor-set { + type leafref { + path "../../../../../../../../defined-sets/neighbor-sets/" + + "neighbor-set/name"; + //TODO: require-instance should be added when it's + //supported in YANG 1.1 + //require-instance true; + } + description "References a defined neighbor set"; + } + + uses match-set-options-restricted-group; + } + + grouping neighbor-set-condition-state { + description + "Operational state data for neighbor-set conditions"; + } + + grouping neighbor-set-condition-top { + description + "Top-level grouping for neighbor-set conditions"; + + container match-neighbor-set { + description + "Match a referenced neighbor set according to the logic + defined in the match-set-options-leaf"; + + container config { + description + "Configuration data "; + + uses neighbor-set-condition-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses neighbor-set-condition-config; + uses neighbor-set-condition-state; + } + } + } + + grouping tag-set-condition-config { + description + "Configuration data for tag-set condition statements"; + + leaf tag-set { + type leafref { + path "../../../../../../../../defined-sets/tag-sets/tag-set" + + "/name"; + //TODO: require-instance should be added when it's + //supported in YANG 1.1 + //require-instance true; + } + description "References a defined tag set"; + } + uses match-set-options-restricted-group; + } + + grouping tag-set-condition-state { + description + "Operational state data for tag-set condition statements"; + } + + grouping tag-set-condition-top { + description + "Top-level grouping for tag-set conditions"; + + container match-tag-set { + description + "Match a referenced tag set according to the logic defined + in the match-options-set leaf"; + + container config { + description + "Configuration data for tag-set conditions"; + + uses tag-set-condition-config; + } + + container state { + + config false; + + description + "Operational state data tag-set conditions"; + + uses tag-set-condition-config; + uses tag-set-condition-state; + } + } + } + + grouping generic-conditions { + description "Condition statement definitions for checking + membership in a generic defined set"; + + uses match-interface-condition-top; + uses prefix-set-condition-top; + uses neighbor-set-condition-top; + uses tag-set-condition-top; + + } + + grouping generic-actions { + description + "Definitions for common set of policy action statements that + manage the disposition or control flow of the policy"; + + leaf policy-result { + type policy-result-type; + description + "Select the final disposition for the route, either + accept or reject."; + } + } + + + grouping policy-conditions-config { + description + "Configuration data for general policy conditions, i.e., those + not related to match-sets"; + + leaf call-policy { + type leafref { + path "../../../../../../../" + + "oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:name"; + //TODO: require-instance should be added when + //it is supported in YANG 1.1 + //require-instance true; + } + description + "Applies the statements from the specified policy + definition and then returns control the current + policy statement. Note that the called policy may + itself call other policies (subject to + implementation limitations). This is intended to + provide a policy 'subroutine' capability. The + called policy should contain an explicit or a + default route disposition that returns an + effective true (accept-route) or false + (reject-route), otherwise the behavior may be + ambiguous and implementation dependent"; + } + + leaf install-protocol-eq { + type identityref { + base oc-pol-types:INSTALL_PROTOCOL_TYPE; + } + description + "Condition to check the protocol / method used to install + the route into the local routing table"; + } + } + + grouping policy-conditions-state { + description + "Operational state data for policy conditions"; + } + + grouping policy-conditions-top { + description + "Top-level grouping for policy conditions"; + + container conditions { + description + "Condition statements for the current policy statement"; + + container config { + description + "Configuration data for policy conditions"; + + uses policy-conditions-config; + } + + container state { + + config false; + + description + "Operational state data for policy conditions"; + + uses policy-conditions-config; + uses policy-conditions-state; + } + uses generic-conditions; + } + } + + grouping policy-statements-config { + description + "Configuration data for policy statements"; + + leaf name { + type string; + description + "name of the policy statement"; + } + } + + grouping policy-statements-state { + description + "Operational state data for policy statements"; + } + + grouping policy-actions-config { + description + "Configuration data for policy actions"; + + uses generic-actions; + } + + grouping policy-actions-state { + description + "Operational state data for policy actions"; + } + + grouping policy-actions-tag-set { + description + "Protocol agnostic tag specification."; + + container set-tag { + description + "Policy actions associated with setting tags for a particular + route. A tag is an abstract entity which can be mapped to underlying + protocol attributes where applicable."; + + container config { + description + "Configuration of tag application"; + uses action-tag-set-config; + } + + container state { + description + "Operational state related to tag application."; + config false; + uses action-tag-set-config; + } + + container inline { + description + "The tags specified in this container are set on a route using + the values directly. It is applicable when the mode of application + is explicitly specified as INLINE."; + + when "../config/mode = 'INLINE'" { + description + "In-line configuration is only relevant when the action's set-tag + mode is specified explicitly to be INLINE."; + } + + container config { + description + "Configuration values related to in-line tag specification."; + uses action-tag-set-inline-config; + } + + container state { + description + "Operational state related to in-line tag specification."; + config false; + uses action-tag-set-inline-config; + } + } + + container reference { + description + "This container is applicable when the mode of application is explicitly + specified to as REFERENCE. The tags set on a route are those that are + specified within the tag-set"; + + when "../config/mode = 'REFERENCE'" { + description + "Reference configuration is only relevant when the action's set-tag + mode is specified explicitly to be REFERENCE."; + } + + container config { + description + "Configuration values related to specifying a tag-set to be applied to + a route."; + uses action-tag-set-reference-config; + } + + container state { + description + "Operational state related to specifying a tag-set to be applied to a + route."; + config false; + uses action-tag-set-reference-config; + } + } + } + } + + grouping action-tag-set-config { + description + "Configuration leaves for setting a tag applicable to both inline and + reference modes."; + + leaf mode { + type enumeration { + enum INLINE { + description + "Use an in-line specified list of tags"; + } + enum REFERENCE { + description + "Use a reference to a defined tag-set."; + } + } + description + "This leaf controls the source of the tags that are set as a result + of the action. In the case that the INLINE value is specified, the + list of tags specified within the action is applied to matching prefixes. + In the case that the REFERENCE value is specified, a pre-defined set of + tags is utilised."; + } + } + + grouping action-tag-set-inline-config { + description + "Configuration leaves for setting a tag within an action using an in-line + specified set of tags."; + + leaf-list tag { + type oc-pol-types:tag-type; + description + "Set one or more tags for prefixes that match the specified condition(s) + using the specified tag values. When a tag is set it MUST be possible to + match the value set in subsequent policies on the local device. Where the + protocol that is carrying the prefix has a tag field (OSPF, and IS-IS in + particular) the tag MUST be set in the corresponding protocol advertisements + of the prefix."; + } + } + + grouping action-tag-set-reference-config { + description + "Configuration leaves for setting a tag within an action using a set of + tags that is specified in a defined-set."; + + leaf tag-set { + type leafref { + // we are at + // /routing-policy/policy-definitions/policy-definition/statements/statements/statement/action/set-tag/reference/config/tag-set + path "../../../../../../../../../defined-sets/tag-sets/tag-set/config/name"; + } + description + "Use the referenced tag-set to set tags on the prefixes that match the + specified conditions. When a tag is set it MUST be possible to match the + value set in subsequent policies on the local device. where the protocol that + is carrying the prefix has a tag field (OSPF, and IS-IS for in particular) + the tag MUST be set in the corresponding protocol advertisements of the + prefix."; + } + } + + grouping policy-actions-top { + description + "Top-level grouping for policy actions"; + + container actions { + description + "Top-level container for policy action statements"; + + container config { + description + "Configuration data for policy actions"; + + uses policy-actions-config; + } + + container state { + + config false; + + description + "Operational state data for policy actions"; + + uses policy-actions-config; + uses policy-actions-state; + } + + uses policy-actions-tag-set; + } + } + + grouping policy-statements-top { + description + "Top-level grouping for the policy statements list"; + + container statements { + description + "Enclosing container for policy statements"; + + list statement { + key "name"; + // TODO: names of policy statements within a policy + // definition should probably be optional, however, YANG + // requires a unique id for lists + ordered-by user; + description + "Policy statements group conditions and actions + within a policy definition. They are evaluated in + the order specified (see the description of policy + evaluation at the top of this module."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to list key"; + } + + container config { + description + "Configuration data for policy statements"; + + uses policy-statements-config; + } + + container state { + + config false; + + description + "Operational state data for policy statements"; + + uses policy-statements-config; + uses policy-statements-state; + } + + uses policy-conditions-top; + uses policy-actions-top; + } + } + } + + grouping defined-sets-top { + description + "Top-level grouping for defined set definitions"; + + container defined-sets { + description + "Predefined sets of attributes used in policy match + statements"; + + uses generic-defined-sets; + } + } + + grouping policy-definitions-config { + description + "Configuration data for policy definitions"; + + leaf name { + type string; + description + "Name of the top-level policy definition -- this name + is used in references to the current policy"; + } + } + + grouping policy-definitions-state { + description + "Operational state data for policy definitions"; + } + + grouping policy-definitions-top { + description + "Top-level grouping for the policy definition list"; + + container policy-definitions { + description + "Enclosing container for the list of top-level policy + definitions"; + + list policy-definition { + key "name"; + description + "List of top-level policy definitions, keyed by unique + name. These policy definitions are expected to be + referenced (by name) in policy chains specified in import + or export configuration statements."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the list key"; + } + + container config { + description + "Configuration data for policy defintions"; + + uses policy-definitions-config; + } + + container state { + + config false; + + description + "Operational state data for policy definitions"; + + uses policy-definitions-config; + uses policy-definitions-state; + } + + uses policy-statements-top; + } + } + } + + grouping routing-policy-top { + description + "Top level container for OpenConfig routing policy"; + + container routing-policy { + description + "Top-level container for all routing policy configuration"; + + + uses defined-sets-top; + + uses policy-definitions-top; + } + } + + grouping apply-policy-import-config { + description + "Configuration data for applying import policies"; + + leaf-list import-policy { + type leafref { + path "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:name"; + //TODO: require-instance should be added when it's + //supported in YANG 1.1 + //require-instance true; + } + ordered-by user; + description + "list of policy names in sequence to be applied on + receiving a routing update in the current context, e.g., + for the current peer group, neighbor, address family, + etc."; + } + + leaf default-import-policy { + type default-policy-type; + default REJECT_ROUTE; + description + "explicitly set a default policy if no policy definition + in the import policy chain is satisfied."; + } + + } + + grouping apply-policy-export-config { + description + "Configuration data for applying export policies"; + + leaf-list export-policy { + type leafref { + path "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + + "oc-rpol:policy-definition/oc-rpol:name"; + //TODO: require-instance should be added when it's + //supported in YANG 1.1 + //require-instance true; + } + ordered-by user; + description + "list of policy names in sequence to be applied on + sending a routing update in the current context, e.g., + for the current peer group, neighbor, address family, + etc."; + } + + leaf default-export-policy { + type default-policy-type; + default REJECT_ROUTE; + description + "explicitly set a default policy if no policy definition + in the export policy chain is satisfied."; + } + } + + + grouping apply-policy-config { + description + "Configuration data for routing policies"; + + uses apply-policy-import-config; + uses apply-policy-export-config; + + } + + + + grouping apply-policy-state { + description + "Operational state associated with routing policy"; + + //TODO: identify additional state data beyond the intended + //policy configuration. + } + + grouping apply-policy-group { + description + "Top level container for routing policy applications. This + grouping is intended to be used in routing models where + needed."; + + container apply-policy { + description + "Anchor point for routing policies in the model. + Import and export policies are with respect to the local + routing table, i.e., export (send) and import (receive), + depending on the context."; + + container config { + description + "Policy configuration data."; + + uses apply-policy-config; + } + + container state { + + config false; + description + "Operational state for routing policy"; + + uses apply-policy-config; + uses apply-policy-state; + } + } + } + + uses routing-policy-top; + +} diff --git a/vendor/cisco/xr/755/openconfig-rsvp-sr-ext.yang b/vendor/cisco/xr/755/openconfig-rsvp-sr-ext.yang new file mode 100644 index 000000000..d63f22496 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-rsvp-sr-ext.yang @@ -0,0 +1,390 @@ +module openconfig-rsvp-sr-ext { + yang-version "1"; + + namespace "http://openconfig.net/yang/rsvp-sr-ext"; + prefix "oc-sr-rsvp-ext"; + + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-types { prefix "oc-types"; } + import openconfig-network-instance { prefix "oc-ni"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module adds extensions to the OpenConfig MPLS models to + provide extensions which allow the coexistence of RSVP-TE and + Segment Routing (SR) within the same network. It augments the + existing OpenConfig segment routing (SR) and RSVP-TE models + where required."; + + oc-ext:openconfig-version "0.1.0"; + + revision 2017-03-06 { + description + "Initial revision."; + reference "0.1.0"; + } + + grouping bandwidth-measurement-global-state { + description + "Operational state parameters for bandwidth measurement which + apply globally to the device."; + + leaf effective-adjustment-interval { + type uint32; + units "seconds"; + description + "The effective adjustment interval that is being used by + the system. In the case that the adjustment-interval leaf + is set to a non-integer multiple of the collection-interval, + and the system does not support this, the value of this leaf + should reflect the effective value of the adjustment interval + that it has selected. In the case where no rounding of the + adjustment interval has occurred, this value should have the + same value as the adjustment-inerval leaf."; + } + } + + grouping bandwidth-measurement-global-config { + description + "Configuration parameters for bandwidth measurement which apply + globally to the device."; + + leaf measure-sr-traffic { + type boolean; + description + "When this leaf is set to true, the local system should + measure the bandwidth utilisation of SR traffic on interfaces + for which TED entries are being generated. + + In the case that this functionality is enabled, traffic + forwarded using LFIB entries that correspond to MPLS + labels which correspond to SR SIDs should be accounted + for."; + reference + "draft-sitaraman-sr-rsvp-coexistence-rec-01"; + } + + // TODO(robjs): For future extension, traffic accounting for + // non-SR, non-RSVP traffic could be added here. e.g., LDP, + // BGP-LU etc. + + leaf collection-interval { + type uint32; + units "seconds"; + description + "The interval at which the collection of interface + statistics relating to non-RSVP-TE traffic should be + performed"; + reference + "draft-sitaraman-sr-rsvp-coexistence-rec-01"; + } + + leaf adjustment-interval { + type uint32; + units "seconds"; + description + "The interval after which an adjustment to the utilised + bandwidth on the interface is made. This value must be + greater than, or equal to, the collection interval for + statistics. This value is referred to as N in + draft-sitaraman-sr-rsvp-coexistence-rec-01. + + After N seconds have expired, the + arithmetic mean of the samples is taken, and this is + considered as the non-RSVP-TE utilisation of the + interface. In the case that the adjustment interval is + an integer >1 multiple of the collection interval, this + serves to provide smoothing of the collected bandwidth + statistics."; + reference + "draft-sitaraman-sr-rsvp-coexistence-rec-01"; + } + + leaf bandwidth-multiplier { + type decimal64 { + fraction-digits 4; + } + default 1.0000; + description + "A multiplier applied to the sampled bandwidth which + determines the value that is propagated to the IGP TED. + By default this value is 1.0000, and hence the actual + sampled value is flooded."; + } + } + + grouping bandwidth-measurement-update-config { + description + "Configuration parameters related to when the bandwidth + measurement information is used to update the IGP TED."; + + leaf update-trigger { + type enumeration { + enum ADJUSTED_MAX_RESERVABLE_PCT { + description + "Update of a new maximum reservable bandwidth IGP + TLV is based on the value changing >= X% of + the currently flooded adjusted-absolute-subscription-bw. + The percentage of this value that is used is specified + by the adjusted-max-reservable-bw-pct leaf."; + } + enum SR_TRAFFIC_PCT { + description + "Update of the new maximum reservable bandwidth IGP + TLV is based on the value changing >= X% of the last + calculated segment routing traffic utilisation for the + interface. The percentage delta of this value is + specified by the sr-traffic-pct leaf."; + } + } + description + "The trigger that should be used to determine when the IGP + TED is updated with new information as to the effective + maximum reservable bandwidth + (adjusted-absolute-subscription-bw)"; + } + + leaf adjusted-max-reservable-bw-pct { + when "../update-trigger = 'ADJUSTED_MAX_RESERVABLE_PCT'" { + description + "Only allow the adjusted-max-reservable-bw update trigger + to be specified when the update-trigger mode is specified + to be a percentage of the currently flooded value."; + } + type oc-types:percentage; + description + "The delta in the adjusted-max-reservable-bandwidth that + should trigger an update in the value which is flooded + through the IGP TED. + The delta is measured as a percentage of the + current adjusted value of the maximum reservable bandwidth + of the interface, as specified by the + adjusted-absolute-subscription-bw RSVP-TE leaf."; + reference + "draft-sitaraman-sr-rsvp-coexistence-rec-01"; + } + + leaf sr-traffic-pct { + when "../update-trigger = 'SR_TRAFFIC_PCT'" { + description + "Only allow the SR traffic percentage trigger to be + specified when the update trigger is defined to be a + percentage of the last calculated SR traffic value."; + } + type oc-types:percentage; + description + "The change in the calculated SR traffic on the interface + that should trigger an update in the value of the + maximum reservable bandwidth flooded through the IGP TED. + The value is specified as a percentage of the + last-calculated-sr-traffic state leaf."; + } + } + + grouping bandwidth-measurement-global-structural { + description + "Structural grouping for the measurement of segment routing + traffic, and its advertisement into the IGP TED."; + + container bandwidth-measurement { + description + "Configuration and operational state parameters related to + how bandwidth utilisation is measured and flooded into the + IGP."; + + container config { + description + "Configuration parameters relating to bandwidth + measurement."; + + uses bandwidth-measurement-global-config; + } + + container state { + config false; + description + "Operational state parameters relating to bandwidth + measurement"; + + uses bandwidth-measurement-global-config; + uses bandwidth-measurement-global-state; + } + + container update-trigger { + description + "Configuration and operational state parameters related + to the update trigger for flooding new bandwidth + information into the IGP."; + + container config { + description + "Configuration parameters related to the bandwidth + measurement update trigger."; + + uses bandwidth-measurement-update-config; + } + + container state { + config false; + description + "Operational state parameters related to the bandwidth + measurement update trigger."; + + uses bandwidth-measurement-update-config; + } + } + } + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/" + + "oc-ni:mpls/oc-ni:te-global-attributes" { + description + "Add the bandwidth measurement parameters to MPLS global + traffic engineering hierarchy."; + + uses bandwidth-measurement-global-structural; + } + + grouping bandwidth-measurement-rsvp-te-adjusted-state { + description + "Logical grouping augmented into the RSVP-TE hierarchy to + provide an operational state value which reflects the + adjusted RSVP-TE available bandwidth."; + + leaf adjusted-absolute-subscription-bw { + type uint64; + units "kbps"; + description + "The adjusted absolute value (in kbps) of the + bandwidth which is reservable to RSVP-TE on the + local system. In the case that the bandwidth-measurement + configuration does not account for non-RSVP-TE traffic + then this value is equal to the + calculated-absolute-subscription-bw, in the case that + non-RSVP-TE traffic is being accounted for, it is lower + such that calculated-absolute-subscription-bw - + adjusted-absolute-subscription-bw = the current calculated + non-RSVP-TE traffic. + + This value reflects the last flooded value of the maximum + reservable bandwidth, or subscription."; + } + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/" + + "oc-ni:mpls/oc-ni:signaling-protocols/oc-ni:rsvp-te/" + + "oc-ni:interface-attributes/oc-ni:interface/" + + "oc-ni:subscription/oc-ni:state" { + + description + "Augmentation to add the adjusted RSVP-TE available bandwidth + state to the RSVP-TE signaling protocol."; + + uses bandwidth-measurement-rsvp-te-adjusted-state; + } + + grouping bandwidth-measurement-intf-structural { + description + "Structural grouping containing interface bandwidth + measurement configuration and operational state + parameters."; + + container bandwidth-measurement { + description + "Configuration and operational state parameters relating to + per-interface bandwidth measurement. These parameters are + used in the case that RSVP-TE coexists with other MPLS + signaling protocols on an interface."; + + container state { + config false; + description + "Operational state parameters relating to the containing + interface's bandwidth measurement."; + + uses bandwidth-measurement-intf-state; + } + } + } + + grouping bandwidth-measurement-intf-state { + description + "Operational state parameters per-interface for the measured + bandwidth on an interface"; + + leaf last-sample-time { + type oc-types:timeticks64; + description + "The time at which the last sample of bandwidth utilisation + for both RSVP-TE and non-RSVP-TE traffic was taken. This value + is represented in nanoseconds since the Unix epoch."; + } + + leaf last-sample-measured-rsvp-util { + type uint64; + units "kbps"; + description + "The measured RSVP-TE bandwidth utilisation at the last sample + (whose time is indicated in last-sample-time). This value is + expressed as a 64-bit unsigned integer representing the number + of kilobits per second that RSVP-TE traffic is consuming on + the interface."; + } + + leaf last-sample-measured-sr-util { + type uint64; + units "kbps"; + description + "The measured Segment Routing bandwidth utilisation at the + last sample (whose time is indicated in last-sample-time). + This value is expressed as a 64-bit unsigned integer + representing the number of kilobits per second that Segment + Routing traffic is consuming on the interface."; + } + + leaf last-calculated-time { + type oc-types:timeticks64; + description + "The time at which the last calculated value for bandwidth + utilisation was performed."; + } + + leaf last-calculated-sr-utilisation { + type uint64; + description + "The last calculated value of the Segment Routing utilisation + (taken post any averaging or adjustment that occurs). This + value is updated regardless of whether the value was flooded + or not."; + } + + leaf last-flooded-time { + type oc-types:timeticks64; + description + "The time, expressed in nanoseconds since the epoch, at which + the bandwidth utilisation of non-RSVP-TE traffic resulted in + the value being flooded in the IGP. If the configuration of the + local system specifies a 0% change requires flooding, this leaf + will always reflect the value of the last-calculated-time. In + systems that have suppression due to a >0% delta being required + then it indicates the last time that the percentage threshold + was exceeded."; + } + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:mpls" + + "/oc-ni:te-interface-attributes/oc-ni:interface" { + description + "Augment the per-interface bandwidth measurement parameters into the + MPLS hierarchy of network instance."; + + uses bandwidth-measurement-intf-structural; + } +} + diff --git a/vendor/cisco/xr/755/openconfig-sampling-sflow.yang b/vendor/cisco/xr/755/openconfig-sampling-sflow.yang new file mode 100644 index 000000000..d7f48446d --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-sampling-sflow.yang @@ -0,0 +1,310 @@ +module openconfig-sampling-sflow { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/sampling/sflow"; + + prefix "oc-sflow"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-inet-types { prefix oc-inet; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-network-instance { prefix oc-netinst; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + related to data plane traffic sampling based on sFlow. + + RFC 3176 - InMon Corporation's sFlow: A Method for + Monitoring Traffic in Switched and Routed Networks"; + + oc-ext:openconfig-version "0.1.0"; + + revision "2020-06-26" { + description + "Initial revision"; + reference "0.1.0"; + } + + grouping sflow-interfaces-config { + description + "Configuration data for sFlow data on interfaces."; + + leaf name { + type oc-if:base-interface-ref; + description + "Reference to the interface for sFlow configuration and + state."; + } + + leaf enabled { + type boolean; + description + "Enables or disables sFlow on the interface. If sFlow is + globally disabled, this leaf is ignored. If sFlow + is globally enabled, this leaf may be used to disable it + for a specific interface."; + } + + leaf sampling-rate { + type uint32; + description + "If sFlow is enabled on the interface, this leaf may be + used to override the global sampling rate for a specific + interface. The sampling rate semantics are the same as the + system-wide leaf."; + } + + } + + grouping sflow-interfaces-state { + description + "Operational state data for sFlow data on interfaces"; + + leaf packets-sampled { + type oc-yang:counter64; + description + "Total number of packets sampled from the interface."; + } + } + + grouping sflow-interfaces-top { + description + "Top-level grouping for sFlow data on an interface."; + + container interfaces { + description + "Enclosing container for list of sFlow interfaces."; + + list interface { + key "name"; + description + "List of interfaces with sFlow data."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to list key."; + } + + container config { + description + "Configuration data for sFlow data on interfaces."; + + uses sflow-interfaces-config; + } + + container state { + + config false; + + description + "Operational state data for sFlow data on interfaces."; + + uses sflow-interfaces-config; + uses sflow-interfaces-state; + } + } + } + } + + grouping sflow-collectors-config { + description + "Configuration data for sFlow collectors."; + + leaf address { + type oc-inet:ip-address; + description + "IP address of the sFlow collector."; + } + + leaf port { + type oc-inet:port-number; + default 6343; + description + "UDP port number for the sFlow collector."; + } + + leaf network-instance { + type oc-netinst:network-instance-ref; + description + "Reference to the network instance used to reach the + sFlow collector. If uspecified, the collector destination + is reachable in the default network instance."; + } + } + + grouping sflow-collectors-state { + description + "Operational state data for sFlow collectors."; + + leaf packets-sent { + type oc-yang:counter64; + description + "The total number of packets sampled and sent to the + collector."; + } + } + + grouping sflow-collectors-top { + description + "Top-level grouping for data related to sFlow collectors."; + + container collectors { + description + "Enclosing container for list of sFlow collectors."; + + list collector { + key "address port"; + description + "List of sFlow collectors to send sampling data. Packet + samples are sent to all collectors specified."; + + leaf address { + type leafref { + path "../config/address"; + } + description + "Reference to address list key."; + } + + leaf port { + type leafref { + path "../config/port"; + } + description + "Reference to port list key."; + } + + container config { + description + "Configuration data for sFlow collectors."; + + uses sflow-collectors-config; + } + + container state { + + config false; + + description + "Operational state data for sFlow collectors."; + + uses sflow-collectors-config; + uses sflow-collectors-state; + } + } + } + } + + grouping sflow-global-config { + description + "Configuration data for global sflow"; + + leaf enabled { + type boolean; + default false; + description + "Enables or disables sFlow sampling for the device."; + } + + leaf source-address { + type oc-inet:ip-address; + description + "Sets the source IP address for sFlow datagrams sent to + sFlow collectors."; + } + + leaf sampling-rate { + type uint32; + description + "Sets the global packet sampling rate. The rate is + is expressed as an integer N, where the intended sampling + rate is 1/N packets. An implementation may implement the + sampling rate as a statistical average, rather than a strict + periodic sampling. + + The allowable sampling rate range is generally a + property of the system, e.g., determined by the + capability of the hardware."; + } + + leaf sample-size { + type uint16; + units bytes; + default 128; + description + "Sets the maximum number of bytes to be copied from a + sampled packet."; + reference + "RFC 3176 - InMon Corporation's sFlow: A Method for + Monitoring Traffic in Switched and Routed Networks"; + } + } + + grouping sflow-global-state { + description + "Operational state data for global sFlow."; + } + + grouping sflow-global-top { + description + "Top-level grouping for global sFlow"; + + container sflow { + description + "Top-level container for sFlow data."; + + container config { + description + "Configuration data for global sFlow."; + + uses sflow-global-config; + } + + container state { + + config false; + + description + "Operational state data for global sFlow."; + + uses sflow-global-config; + uses sflow-global-state; + } + + uses sflow-collectors-top; + uses sflow-interfaces-top; + } + } + + grouping sampling-top { + description + "Top-level grouping for traffic sampling data."; + + container sampling { + description + "Top-level container for data related to traffic sampling + protocols."; + + uses sflow-global-top; + } + } + + // data definition statements + + uses sampling-top; + +} diff --git a/vendor/cisco/xr/755/openconfig-segment-routing-types.yang b/vendor/cisco/xr/755/openconfig-segment-routing-types.yang new file mode 100644 index 000000000..f092d5435 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-segment-routing-types.yang @@ -0,0 +1,158 @@ +module openconfig-segment-routing-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/segment-routing-types"; + + prefix "oc-srt"; + + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + import openconfig-inet-types { prefix "oc-inet"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "Types associated with a network instance"; + + oc-ext:openconfig-version "0.2.0"; + + revision "2020-02-04" { + description + "Consistent prefix for openconfig-mpls-types."; + reference "0.2.0"; + } + + revision "2019-09-24" { + description + "Initial revision of the SR types."; + reference "0.1.0"; + } + + typedef sr-dataplane-type { + type enumeration { + enum MPLS { + description + "The entity uses MPLS labels as Segment Identifiers."; + } + enum IPV6 { + description + "The entity uses IPv6 prefixes as Segment Identifiers."; + } + } + description + "Types of data plane that can be used to instantiate a Segment + Routing block of SIDs."; + } + + typedef sr-sid-type { + type union { + type oc-mplst:mpls-label; + type oc-inet:ipv6-address; + } + description + "The defined value of a segment identifier."; + } + + typedef srte-protocol-type { + type enumeration { + enum PCEP { + value 10; + description + "Path Computation Element Protocol."; + } + enum BGP { + value 20; + description + "BGP SR policy."; + } + enum CONFIG { + value 30; + description + "Local configuration."; + } + } + description + "The component or protocol that originates or signals the + candidate path."; + reference + "Section 2.3 of draft-ietf-spring-segment-routing-policy."; + } + + typedef srte-endpoint-type { + type oc-inet:ip-address; + description + "SR-TE endpoint is the policy destination which can be either an + IPv4 or IPv6 address."; + reference + "draft-ietf-spring-segment-routing-policy"; + } + + typedef srte-invalid-sl-reason { + type enumeration { + enum EMPTY_SL { + description + "Segment-list is empty."; + } + enum ZERO_WEIGHT { + description + "Segment-list weight is 0."; + } + enum FIRST_SID_UNRESOLVABLE { + description + "The headend is unable to perform path resolution for the + first SID into one or more outgoing interface(s) and + next-hop(s)."; + } + enum OTHER_SID_UNRESOLVABLE { + description + "The headend is unable to perform SID resolution for any + non-first SID of type 3-through-11 into an MPLS label or + an SRv6 SID."; + } + enum VERIFICATION_FAIL { + description + "The headend verification fails for any SID for which + verification has been explicitly requested."; + } + } + description + "The list of segment-list invalid reasons."; + reference "draft-ietf-spring-segment-routing-policy"; + } + + typedef enlp-type { + type enumeration { + enum PUSH_IPV4_EXPLICIT_NULL { + description + "Push an IPv4 Explicit NULL label on an unlabeled IPv4 + packet but not IPv6 one."; + } + enum PUSH_IPV6_EXPLICIT_NULL { + description + "Push an IPv6 Explicit NULL label on an unlabeled IPv4 + packet but not IPv4 one."; + } + enum PUSH_IPV46_EXPLICIT_NULL { + description + "Push an IPv4 Explicit NULL label on both unlabeled IPv4 + packet and IPv6 packet."; + } + enum NO_EXPLICIT_NULL { + description + "Do not push an Explicit NULL label."; + } + } + description + "The list of possible ENLP(Explicit NULL Label Policy) values."; + reference "draft-ietf-idr-segment-routing-te-policy"; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-segment-routing.yang b/vendor/cisco/xr/755/openconfig-segment-routing.yang new file mode 100644 index 000000000..ebb931048 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-segment-routing.yang @@ -0,0 +1,793 @@ +module openconfig-segment-routing { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/sr"; + prefix "oc-sr"; + + // import some basic types + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-mpls-types { prefix "oc-mplst"; } + import openconfig-interfaces { prefix "oc-if"; } + import ietf-inet-types { prefix "inet"; } + import ietf-yang-types { prefix "yang"; } + import openconfig-segment-routing-types { prefix "oc-srt"; } + import openconfig-srte-policy { prefix "oc-srte"; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Configuration and operational state parameters relating to the + segment routing. This module defines a number of elements which are + instantiated in multiple places throughout the OpenConfig collection + of models. + + Particularly: + - SRGB+LB dataplane instances - directly instantied by SR. + - SRGB+LB dataplane reservations - instantiated within MPLS and future SR + dataplanes. + - SR SID advertisements - instantiated within the relevant IGP. + - SR-specific counters - instantied within the relevant dataplane."; + + oc-ext:openconfig-version "0.3.1"; + + revision "2021-07-28" { + description + "Add qualify to when statements."; + reference "0.3.1"; + } + + revision "2020-03-31" { + description + "Move segment-list to the te-policies container."; + reference "0.3.0"; + } + + revision "2020-02-04" { + description + "Consistent prefix for openconfig-mpls-types."; + reference "0.2.0"; + } + + revision "2019-09-24" { + description + "Move SR types to a separate module and add a SR-TE policy module."; + reference "0.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.0.4"; + } + + revision "2017-01-12" { + description + "Minor compliance fixes."; + reference "0.0.3"; + } + + revision "2016-12-15" { + description + "Updated revision of SR module."; + reference "0.0.2"; + } + + revision "2016-07-28" { + description + "Initial revision of SR module."; + reference "0.0.1"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping srgb-config { + description + "Configuration parameters relating to the SRGB."; + + leaf local-id { + type string; + description + "Unique identifier for the segment routing global block on + the local system."; + } + + leaf dataplane-type { + type oc-srt:sr-dataplane-type; + description + "The dataplane being used to instantiate the SRGB. When MPLS is specified + the set of MPLS label blocks that are defined in the mpls-label-blocks + list are used to make up the SRGB. When IPv6 is specified, the set of IPv6 + prefixes specified in the ipv6-prefixes list are used."; + } + + leaf-list mpls-label-blocks { + when "../dataplane-type = 'oc-srt:MPLS'" { + description + "Allow the MPLS label block to be specified only for SRGBs that are + using the MPLS dataplane."; + } + type leafref { + // We are at /network-instances/network-instance/segment-routing/ + // srgbs/srgb/config/mpls-label-blocks + path "../../../../../mpls/global/reserved-label-blocks/" + + "reserved-label-block/config/local-id"; + } + description + "A list of refences to the label blocks that are used to make + up the SRGB."; + } + + leaf-list ipv6-prefixes { + when "../dataplane-type = 'oc-srt:IPV6'" { + description + "Allow IPv6 prefixes to be specified only when the dataplane + realisation of the SRGB is IPv6."; + } + type inet:ipv6-prefix; + description + "A list of IPv6 prefixes which are to be used for segment routing using + the IPv6 dataplane."; + } + } + + grouping srgb-state { + description + "Operational state parameters relating to the SRGB."; + + leaf size { + type uint32; + description + "The total number of SRGB entries that are available within the SRGB."; + } + + leaf used { + type uint32; + description + "The total number of SRGB entries that have already been alocated by + protocols referencing the SRGB."; + } + } + + grouping srlb-config { + description + "Configuration parameters relating to an SRLB."; + + leaf local-id { + type string; + description + "A unique local identifier used for the Segment Routing Local Block. + The identifier is used when referencing the SRLB within other + contexts."; + } + + leaf dataplane-type { + type oc-srt:sr-dataplane-type; + description + "The dataplane that is to be used for the Segment Routing Local Block. + When MPLS is specified, the local block corresponds to a block of MPLS + labels; when IPv6 is specified it corresponds to an IPv6 prefix."; + } + + leaf mpls-label-block { + when "../dataplane-type = 'oc-srt:MPLS'" { + description + "Allow the MPLS label block to be specified only for SRLBs that are + using the MPLS dataplane."; + } + type leafref { + path "../../../../../mpls/global/reserved-label-blocks/" + + "reserved-label-block/config/local-id"; + } + description + "A reference to the MPLS label block that is used to contain the + SIDs of the SRLB."; + } + + leaf ipv6-prefix { + when "../dataplane-type = 'oc-srt:IPV6'" { + description + "Allow IPv6 prefixes to be specified only when the dataplane + realisation of the SRGB is IPv6."; + } + type inet:ipv6-prefix; + description + "The IPv6 prefix that is used for the SRLB."; + } + } + + grouping sr-structural { + description + "Top-level structural grouping defining Segment Routing Global Blocks."; + + container srgbs { + description + "Configuration and operational state parameters relating to the + SRGBs defined for the system."; + + list srgb { + key "local-id"; + + description + "A single definition of an SRGB which may comprise of multiple + sets of dataplane addresses (IPv6 addresses, or MPLS labels)."; + + leaf local-id { + type leafref { + path "../config/local-id"; + } + description + "A reference to the identifier for the SRGB."; + } + + container config { + description + "Configuration parameters relating to the SRGB."; + uses srgb-config; + } + + container state { + config false; + description + "State parameters relating to the SRGB."; + uses srgb-config; + uses srgb-state; + } + } + } + + container srlbs { + description + "Configuration and operational state parameters relating to the + Segment Routing Local Blocks (SRLBs) defined for the system."; + + list srlb { + key "local-id"; + + description + "A definition of a Segment Routing Local Block, defined to be + a set of Segment Identifiers (specified as MPLS labels or + IPv6 addreses) that are defined for local allocation by the + system. A block may optionally be advertised into an IGP."; + + leaf local-id { + type leafref { + path "../config/local-id"; + } + description + "Reference to the local identifier used for the SRLB."; + } + + container config { + description + "Configuration parameters relating to the SRLB."; + uses srlb-config; + } + + container state { + config false; + description + "Operational state parmeters relating to the SRLB."; + uses srlb-config; + } + } + } + } + + grouping sr-mpls-top { + description + "Structural grouping defining SR definition within MPLS."; + + container segment-routing { + description + "MPLS-specific Segment Routing configuration and operational state + parameters"; + + container aggregate-sid-counters { + description + "Per-SID counters aggregated across all interfaces on the local system"; + + list aggregate-sid-counter { + key "mpls-label"; + config false; + + description + "Counters aggregated across all of the interfaces of the local + system corresponding to traffic received or forwarded with a + particular SID"; + + leaf mpls-label { + type leafref { + path "../state/mpls-label"; + } + description + "The MPLS label representing the segment identifier"; + } + + container state { + config false; + description + "State parameters for per-SID statistics"; + uses sr-mpls-sid-counters-state; + uses sr-mpls-common-counters; + } + } + } + + container interfaces { + description + "Interface related Segment Routing parameters."; + + list interface { + key "interface-id"; + + description + "Parameters and MPLS-specific configuration relating to Segment + Routing on an interface."; + + leaf interface-id { + type leafref { + path "../config/interface-id"; + } + description + "A reference to the ID for the interface for which SR is + configured"; + } + + container config { + description + "MPLS-specific Segment Routing configuration parameters + related to an interface."; + uses sr-mpls-interface-config; + } + + container state { + config false; + description + "MPLS-specific Segment Routing operational state parameters + related to an interface."; + uses sr-mpls-interface-config; + uses sr-mpls-interface-state; + } + + container sid-counters { + description + "Per-SID statistics for MPLS"; + + list sid-counter { + key "mpls-label"; + config false; + + description + "Per segment identifier counters for the MPLS dataplane."; + + leaf mpls-label { + type leafref { + path "../state/mpls-label"; + } + description + "The MPLS label representing the segment identifier"; + } + + container state { + config false; + description + "State parameters for per-SID statistics"; + uses sr-mpls-sid-counters-state; + uses sr-mpls-common-counters; + } + + container forwarding-classes { + description + "Per-SID per-forwarding class counters for Segment Routing."; + + list forwarding-class { + key "exp"; + config false; + + description + "SID entries for the forwarding class associated with the + referenced MPLS EXP."; + + leaf exp { + type leafref { + path "../state/exp"; + } + description + "Reference to the value of the EXP bits of the segment + identifier."; + } + + container state { + config false; + description + "Per-SID, per forwarding class counters for Segment Routing + with the MPLS dataplane"; + + uses sr-mpls-interface-sid-fc-state; + uses sr-mpls-common-counters; + } + } + } + } + } + uses oc-if:interface-ref; + } + } + } + } + + grouping sr-mpls-interface-config { + description + "MPLS-specific Segment Routing configuration for an interface"; + + leaf interface-id { + type string; + description + "A unique identifier for the interface."; + } + } + + grouping sr-mpls-interface-state { + description + "MPLS-specific Segment Routing operational state parameters for an + interface"; + + uses sr-mpls-common-counters; + } + + grouping sr-mpls-interface-sid-fc-state { + description + "Per-SID per forwarding class statistics for SR with the MPLS dataplane"; + + leaf exp { + type uint8 { + range "0..7"; + } + description + "The value of the MPLS EXP (experimental) or Traffic Class bits that the + SID statistics relate to. Packets received with a MPLS label value + equal to the SID's MPLS label and EXP bits equal to the this value + should be counted towards the associated ingress statistics. Packets + that are forwarded to the destination MPLS label corresponding to the + SID should be counted towards this value. In the egress direction, where + forwarding follows a SID value that requires PHP at the local node, + packets should still be counted towards the egress counters."; + } + } + + grouping sr-mpls-sid-counters-state { + description + "Per-SID statistics leaves"; + + leaf mpls-label { + type oc-mplst:mpls-label; + description + "The MPLS label used for the segment identifier"; + } + } + + grouping sr-mpls-common-counters { + description + "Per segment identifier counters used in the model"; + + leaf in-pkts { + type yang:counter64; + description + "A cumulative counter of the packets received within the context + which have matched a label corresponding to an SR Segment Identifier."; + } + + leaf in-octets { + type yang:counter64; + description + "The cumulative counter of the total bytes received within the context + which have matched a label corresponding to an SR Segment Identifier"; + } + + leaf out-pkts { + type yang:counter64; + description + "A cumulative counter of the total number of packets transmitted by + the local system within the context which have a label imposed that + corresponds to an Segment Identifier."; + } + + leaf out-octets { + type yang:counter64; + description + "A cumulative counter of the total bytes transmitted by the local + system within the context which have a label imported that + corresponds to an SR Segment Identifier."; + } + } + + grouping sr-igp-config { + description + "Configuration parameters relating to segment routing within an + IGP."; + + leaf enabled { + type boolean; + description + "When this leaf is set to true, the segment routing extensions are + utilised within the IGP."; + } + + leaf srgb { + type leafref { + path "../../../../../../../segment-routing/srgbs/srgb/config/local-id"; + } + description + "A reference to the Segment Routing Global Block (SRGB) that is + to be used by this IGP instance."; + } + + leaf srlb { + // Leaf is defined at + // /network-instances/network-instance/protocols/protocol//global/ + // segment-routing/config + type leafref { + path "../../../../../../../segment-routing/srlbs/srlb/config/local-id"; + } + description + "A reference to the Segment Routing Local Block (SRLB) that is to + be advertised by the IGP instance."; + } + } + + grouping sr-igp-top { + description + "Per-instance configuration and state parameters for Segment Routing + in an IGP."; + + container segment-routing { + description + "Configuration and operational state relating to segment routing."; + + container config { + description + "Configuration parameters relating to the configuration of segment + routing for the IGP instance."; + uses sr-igp-config; + } + + container state { + config false; + description + "Operational state parameters relating to segment routing for the + IGP instance."; + uses sr-igp-config; + } + } + } + + grouping sr-igp-interface-prefix-sid-config { + description + "Configuration parameters relating to an IGP prefix SID advertisement"; + + leaf prefix { + type inet:ip-prefix; + description + "The IP prefix for which the IGP prefix SID should be advertised. The + value specified is a local prefix on the interface which is advertised + into the IGP."; + } + + leaf sid-id { + type oc-srt:sr-sid-type; + description + "The Segment Identifier to be used when advertising the IGP Prefix SID."; + } + + leaf label-options { + type enumeration { + enum NO_PHP { + description + "When this value is specified, the penultimate hop must not pop + the Prefix-SID label before forwarding it to the local system."; + } + enum EXPLICIT_NULL { + description + "When set, the penultimate hop must swap the prefix SID for the + relevant explicit null label before forwarding the packet."; + } + } + description + "The options associated with the IGP prefix SID for MPLS. The value + of this leaf specifies the option that the SID should be advertised + into the IGP with."; + } + } + + grouping sr-igp-interface-adjsid-config { + description + "Configuration parameters relating to an Adj-SID on an interface"; + + leaf sid-id { + type union { + type oc-srt:sr-sid-type; + type enumeration { + enum DYNAMIC { + description + "The SID chosen for the Adjacency SID should be dynamically + allocated from the system's dynamic range of Segment + Identifiers. For MPLS, this range should be considered to be + those labels that do not fall within a reserved label block."; + } + } + } + description + "The value of the Adj-SID to be advertised. Where a static SID + identifier is specified, this should be advertised directly by the + system. Where the DYNAMIC value is specified, this should be treated + as a dynamically allocated value. When the MPLS data plane is in use + the dynamic value should not fall within a reserved-label-block."; + } + + leaf protection-eligible { + type boolean; + default true; + description + "Whether the Adj-SID should be considered to be eligible for protection + using IP or MPLS FRR during a network failure. When this value is set to + true, the B-flag of the Adj-SID is set to 1, and the local system should + provide FRR paths for the associated label forwarding entry. When it is + set to false, the local system must not provide FRR for the specified + LFIB entry."; + } + + leaf group { + type boolean; + default false; + description + "When set to true, the Adj-SID is indicated to be part of a group, and + the G flag is set to 1 in the corresponding advertisement in the IGP."; + } + + leaf neighbor { + type inet:ip-address; + description + "The remote system on the interface with which the Adj-SID is + associated."; + } + } + + grouping sr-igp-interface-adjsid-state { + description + "Operational state parameters relating to the adjacency SID for an + interface"; + + leaf allocated-dynamic-local { + type oc-srt:sr-sid-type; + description + "Where an Adjacency SID with a dynamic value is to be allocated by + the system, this leaf reports to the value of the Adj-SID allocated + to this interface."; + } + } + + grouping sr-igp-interface-top { + description + "Per-interface configuration and operational state relating to an + interface within the IGP."; + + container segment-routing { + description + "Configuration and operatioanl state parameters relating to segment + routing for an interface within the IGP."; + + container prefix-sids { + description + "Configuration and operational state parameters relating to + the advertisement of a segment routing IGP-Prefix SID for this + interface."; + + list prefix-sid { + key "prefix"; + + description + "An IGP prefix that should have a segment routing IGP-Prefix SID + allocated to it. The value of the SID is specified by the SID ID, + as an absolute value. If the absolute value falls within the SRGB, + the Global flag should be advertised by the system."; + + leaf prefix { + type leafref { + path "../config/prefix"; + } + description + "Reference to the prefix for which the IGP-Prefix SID is to be + advertised"; + } + + container config { + description + "Configuration parameters for the IGP Prefix SID."; + uses sr-igp-interface-prefix-sid-config; + } + + container state { + config false; + description + "Operational state parameters for the IGP-Prefix SID."; + uses sr-igp-interface-prefix-sid-config; + } + } + } + + container adjacency-sids { + description + "Configuration and operational state parameters relating to + the advertisement of a segment routing adjacency SID for this + interface."; + + list adjacency-sid { + key "neighbor sid-id"; + + description + "An Adjacency SID to be advertised for the specified interface. + The Adj-SID's identifier (the SID ID) must be unique, with flags + specified indicating the parameters that should be set for the SID. + Where a SID value is specified that is allocated from the SRGB, the + global flag must be set by the system."; + + leaf sid-id { + type leafref { + path "../config/sid-id"; + } + description + "Reference to the segment identifier to be used by the local + system."; + } + + leaf neighbor { + type leafref { + path "../config/neighbor"; + } + description + "Reference to the neighbor with which the Adjacency SID is + associated."; + } + + container config { + description + "Configuraton parameters relating to the AdjSID."; + uses sr-igp-interface-adjsid-config; + } + + container state { + config false; + description + "Operational state parameters relating to the AdjSID."; + uses sr-igp-interface-adjsid-config; + uses sr-igp-interface-adjsid-state; + } + } + } + } + } + + grouping sr-top { + description + "Top level grouping for Segment Routing"; + + container segment-routing { + description + "Configuration and operational state parameters relating to + segment routing."; + + uses sr-structural; + uses oc-srte:oc-srte-policy-top; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-srte-policy.yang b/vendor/cisco/xr/755/openconfig-srte-policy.yang new file mode 100644 index 000000000..a7b8f9c0e --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-srte-policy.yang @@ -0,0 +1,675 @@ +module openconfig-srte-policy { + yang-version "1"; + namespace "http://openconfig.net/yang/segment-routing/srte-policy"; + prefix "oc-srte"; + + import openconfig-types { prefix "oc-types"; } + import openconfig-extensions { prefix "oc-ext"; } + import openconfig-interfaces { prefix "oc-if"; } + import openconfig-inet-types { prefix "oc-inet"; } + import openconfig-yang-types { prefix "oc-yang"; } + import openconfig-aft { prefix "oc-aft"; } + import openconfig-segment-routing-types { prefix "oc-srt"; } + + organization + "OpenConfig working group"; + + contact + "OpenConfig Working group + www.openconfig.net"; + + description + "This module defines a collection of segment routing traffic + engineering policy operational states. + + Each policy, identified by a combination of color and endpoint, + has one or more candidate paths learned from one or more sources. + The best valid/usable path is marked as active and programmed in + forwarding plane. + + A candidate path, identified by protocol-origin, originator and + discriminator, can have one and more segment-list defining the + path traffic should take. Each segment-list is associated with a + weight for weighted load balancing. + + Traffic counters related to SR policies are also defined in this + module."; + + reference + "draft-ietf-spring-segment-routing-policy"; + + oc-ext:openconfig-version "0.2.3"; + + revision "2021-07-28" { + description + "Add qualify to when statements."; + reference "0.2.3"; + } + + revision "2020-11-06" { + description + "Update segment-lists nexthop state container to use index leaf + from aft-common-entry-nexthop-state."; + reference "0.2.2"; + } + + revision "2020-05-01" { + description + "Fix consistency of per-policy counters."; + reference "0.2.1"; + } + + revision "2020-03-31" { + description + "Updated traffic counters on policy and segment-list levels."; + reference "0.2.0"; + } + + revision "2019-09-24" { + description + "Initial revision of the SR-TE policy model."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping oc-srte-policy-top { + description + "Top-level grouping used for SR-TE policy operational states."; + + container te-policies { + config false; + description + "A collection of SR-TE policies in the system."; + + list te-policy { + key "color endpoint"; + description + "An individual SR-TE policy is identified by a combination + of color and endpoint."; + + leaf color { + type leafref { + path "../state/color"; + } + description + "A reference to the srte color in the state."; + } + + leaf endpoint { + type leafref { + path "../state/endpoint"; + } + description + "A reference to the srte endpoint in the state."; + } + + container state { + config false; + description + "The operational state of parameters associated with + SR-TE policies."; + + uses oc-srte-policy-state; + + container counters { + description + "A collection of counters on the policy level. They + count the total traffic forwarded by the policy, + regardless of its installation source. The counters + should be persistent across policy state changes and + switches between active protocols."; + + uses oc-srte-policy-counters; + } + } + + uses oc-srte-candidate-path; + } + } + } + + grouping oc-srte-policy-keys { + description + "Keys to identify a SR-TE policy."; + + leaf color { + type uint32; + description + "When the policy is used for RIB resolution to a specific + Segment Routing Traffic Engineering path, the policy is used + when the color required in the policy (which may be specified + based on the value of a BGP extended colour community) matches + the value of this leaf. The color being set to 0 indicates + that the colour is a wildcard in the policy resolution."; + } + + leaf endpoint { + type oc-srt:srte-endpoint-type; + description + "When the policy is used for RIB resolution to a Segment + Routing Traffic Engineering path, the policy is used when the + required endpoint (which may be the protocol next-hop) matches + the endpoint address specified in this leaf. When the leaf is + set to all zeros (0.0.0.0 or ::), the endpoint acts as a + wildcard in the policy resolution."; + } + } + + grouping oc-srte-policy-state { + description + "Operational states specific to a SR-TE policy."; + + uses oc-srte-policy-keys; + + leaf name { + type string; + description + "The user friendly SR-TE policy name."; + } + + leaf bsid { + type oc-srt:sr-sid-type; + description + "The Binding SID (BSID) assigned to the SR-TE policy, + expressed as an MPLS label or IPv6 address. Packets that are + ingress to the system with active segment matching the SID + value specified in this leaf should be forwarded according + to the policy. The specified Binding SID must be removed + from the segment list by the system."; + } + + leaf active { + type boolean; + description + "A SR-TE policy is marked as active when at least one of its + candidate paths is valid/active and the policy has been + instantiated in the forwarding plane."; + } + + leaf active-since { + type oc-types:timeticks64; + description + "Indication of the time the policy transitioned to the active + state. + + The value is the timestamp in nanoseconds relative to the Unix + Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + + leaf active-transitions { + type oc-yang:counter64; + description + "The number of transitions to active state for the policy."; + } + + } + + grouping oc-srte-policy-counters { + description + "A collection of traffic counters on the SR-TE policy level."; + + leaf in-pkts { + type oc-yang:counter64; + description + "A cumulative counter of the incoming packets steered to + the SR-TE policy. It includes both labeled and unlabeled + steered traffic."; + } + + leaf in-octets { + type oc-yang:counter64; + description + "The cumulative counter of the total incoming bytes steered + to the SR-TE policy. It includes both labeled and unlabeled + steered traffic."; + } + + leaf in-labeled-pkts { + type oc-yang:counter64; + description + "A cumulative counter of the incoming labeled packets steered + to the SR-TE policy. Labeled packets carries an active SID + (top-most SID in the stack) that matches the BSID associated + to this policy."; + } + + leaf in-labeled-octets { + type oc-yang:counter64; + description + "A cumulative counter of the total bytes of incoming labeled + traffic steered to the SR-TE policy. Labeled traffic carries + an active SID (top-most SID in the stack) that matches the + BSID associated to this policy."; + } + + leaf out-pkts { + type oc-yang:counter64; + description + "A cumulative counter of the outgoing packets after being + steered to the SR-TE policy. It includes both labeled and + unlabeled steered traffic."; + } + + leaf out-octets { + type oc-yang:counter64; + description + "The cumulative counter of the total outgoing bytes after + being steered to the SR-TE policy. It includes both labeled + and unlabeled steered traffic. The counter should include the + segments pushed to packets."; + } + + leaf out-labeled-pkts { + type oc-yang:counter64; + description + "A cumulative counter of the outgoing labeled packets after + being steered to the SR-TE policy. Labeled packets carries + an active SID (top-most SID in the stack) that matches the + BSID associated to this policy."; + } + + leaf out-labeled-octets { + type oc-yang:counter64; + description + "A cumulative counter of the total bytes of outgoing labeled + traffic after being steered to the SR-TE policy. Labeled + traffic carries an active SID (top-most SID in the stack) that + matches the BSID associated to this policy. The counter should + include the segments pushed to packets."; + } + } + + grouping oc-srte-candidate-path { + description + "A collection of candidate paths associated with the SR-TE + policy."; + + container candidate-paths { + description + "One or more candidate paths may be associated to a SR-TE + policy. The best and usable one should be used as forwarding + next-hops."; + + list candidate-path { + key "protocol-origin originator-asn originator-addr discriminator"; + description + "An individual candidate path within the list of candidate + paths associated with this SR-TE policy. It is uniquely + identified by the combination of protocol-origin, + originator and discriminator"; + + leaf protocol-origin { + type leafref { + path "../state/protocol-origin"; + } + description + "A reference to the component or protocol that originates + or signals the candidate path"; + } + + leaf originator-asn { + type leafref { + path "../state/originator-asn"; + } + description + "A reference to the autonomous system that the node + originating the candidate path locates."; + } + + leaf originator-addr { + type leafref { + path "../state/originator-addr"; + } + description + "A reference to the address of the node originating the + candidate path."; + } + + leaf discriminator { + type leafref { + path "../state/discriminator"; + } + description + "A reference to the ID uniquely identifying the path + within the context of a policy learnt from a protocol."; + } + + container state { + config false; + description + "Operational state parameters associated with SR-TE + candidate paths."; + + uses oc-srte-candidate-path-state; + } + + container segment-lists { + description + "A collection of segment lists associated with the policy + candidate path."; + + list segment-list { + key "id"; + description + "An individual segment list within the list of segment + lists associated with this candidate path."; + + leaf id { + type leafref { + path "../state/id"; + } + description + "A reference to the segment-list that in use for the + candidate path."; + } + + container state { + config false; + description + "Operational state parameters associated with a + segment-list in a SR-TE candidate paths."; + + uses oc-srte-segment-list-state; + + container counters { + description + "The counters of traffic steered to the segment-list."; + + uses oc-srte-segment-list-common-counters; + } + } + + container sids { + description + "The list of SIDs that make up the segment list. The + order of the SIDs is specified by ordering the list + according to index, in ascending order. The network + device should consider the top-most SID the entry with + the lowest index."; + + list sid { + key "index"; + + description + "List of SIDs that make up the segment list. The segment + list is formed by ordering the set of SIDs that are + specified by their index in ascending numerical order."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to the SID's index within the segment list + which acts as the key of the list."; + } + + container state { + config false; + description + "Operational state parameters relating to the SID within + the segment list."; + uses oc-srte-segment-list-sids-state; + } + } + } + + container next-hops { + description + "The set of next-hops which the segment-list is resolved to. + Traffic steered to the segment-list should be forwarded over + them."; + + list next-hop { + key "index"; + description + "A next-hop the segment list is resolved to."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "A reference to the nexthop index in the state."; + } + + container state { + config false; + description "State parameters for the nexthop."; + + uses oc-aft:aft-common-entry-nexthop-state; + + container counters { + description + "The counters of traffic steered to the segment-list on + per next-hop basis."; + uses oc-srte-segment-list-common-counters; + } + } + + uses oc-if:interface-ref-state; + } + } + } + } + } + } + } + + grouping oc-srte-segment-list-state { + description + "Operational state specific to a segment-list in a + candidate-path."; + + leaf id { + type uint32; + description + "A unique id identifying the segment-list."; + } + + leaf valid { + type boolean; + description + "The validity of a segment-list should marked as true + when it is usable."; + reference + "draft-ietf-spring-segment-routing-policy."; + } + + leaf invalid-reason { + type oc-srt:srte-invalid-sl-reason; + description + "If a segment-list is marked as invalid, this leaf should + indicate the reason."; + } + + leaf weight { + type uint32; + description + "The weight of the segment list within the set of + segment lists specified for the candidate path. The + traffic that is forwarded according to the policy is + distributed across the set of segment-lists such that + each list receives weight/(sum of all weights) traffic."; + } + + } + + grouping oc-srte-candidate-path-state { + description + "Operational state specific to a SR-TE policy candidate path."; + + leaf name { + type string; + description + "The user friendly SR-TE candidate path name."; + } + + leaf protocol-origin { + type oc-srt:srte-protocol-type; + description + "The component or protocol that originates or signals the + candidate path."; + } + + leaf originator-asn { + type uint32; + description + "The autonomous system that node originating the candidate + path locates."; + reference + "Section 2.4 of draft-ietf-spring-segment-routing-policy."; + } + + leaf originator-addr { + type oc-inet:ipv6-address; + description + "The address of the node originating the candidate path. + Address in IPv4 can be represented as IPv6-encoded-IPv4 e.g. + ::FFFF:192.168.1.2 or a normal IPv6 address with the lowest + 32 bits carrying the actual IPv4 address."; + reference + "Section 2.4 of draft-ietf-spring-segment-routing-policy."; + } + + leaf discriminator { + type uint32; + description + "A 32 bit value uniquely identifying the path within the + context of a policy learnt from a protocol."; + } + + leaf preference { + type uint32; + description + "When there are multiple candidate paths specified a + particular SR-TE policy. The preference is used to resolve + between them. And the one with higher preference is + preferred. + These paths may be learnt from a dynamic routing protocol, + or interface to the device, or from other static entries + configured on the system."; + } + + leaf enlp { + type oc-srt:enlp-type; + description + "ENLP (Explicit NULL Label Policy) indicates whether Explicit + NULL labels are to be pushed on unlabeled IP packets that are + being steered into a given SR policy."; + reference "draft-ietf-idr-segment-routing-te-policy"; + } + + leaf valid { + type boolean; + description + "A path should be marked as valid when it is usable e.g. the + at least one segment-list is valid even though the path may + not be the best."; + } + + leaf active { + type boolean; + description + "A candidate path is active when it is valid and it is + determined to be the best path of the SR-TE Policy."; + } + + leaf active-since { + type oc-types:timeticks64; + description + "Indication of the time the path transitioned to the active + state. + + The value is the timestamp in nanoseconds relative to the + Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + + leaf active-transitions { + type oc-yang:counter64; + description + "The number of transitions to active state for the candidate + path."; + } + } + + grouping oc-srte-segment-list-common-counters { + description + "A collection of traffic counters on the segment-list level."; + + leaf out-pkts { + type oc-yang:counter64; + description + "A cumulative counter of the outgoing packets steered to the + segment list. The counter includes both labeled and unlabeled + steered traffic."; + } + + leaf out-octets { + type oc-yang:counter64; + description + "The cumulative counter of the total outgoing bytes steered + to the segment list. The counter includes both labeled and + unlabeled steerted traffic."; + } + + leaf out-labeled-pkts { + type oc-yang:counter64; + description + "A cumulative counter of the incoming labeled packets steered + to the segment list."; + } + + leaf out-labeled-octets { + type oc-yang:counter64; + description + "A cumulative counter of the total bytes of incoming labeled + traffic steered to the segment list."; + } + } + + grouping oc-srte-segment-list-sids-state { + description + "Operational state relating to a SID within an SR-TE segment + list"; + + leaf index { + type uint64; + description + "The index of the SID within the segment list. The segment list is + applied by ordering the SID entries in ascending numerical order + beginning at 0."; + } + + leaf value { + type oc-srt:sr-sid-type; + description + "The value of the SID that is to be used. Specified as an MPLS + label or IPv6 address."; + } + + leaf mpls-ttl { + type uint8; + default 0; + description + "The TTL to be set if the type of the SID is an MPLS label. If the + value of the TTL is set to be 0, the value is picked by the local + implementation."; + } + + leaf mpls-tc { + type uint8 { + range "0..7"; + } + default 0; + description + "The value of the MPLS Traffic Class (TC) bits to be used if the + value of the SID is an MPLS label. In the case that the value is + set to 0, then the local implementation should choose the value."; + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-system-logging.yang b/vendor/cisco/xr/755/openconfig-system-logging.yang new file mode 100644 index 000000000..1602cb1c6 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-system-logging.yang @@ -0,0 +1,503 @@ +module openconfig-system-logging { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/system/logging"; + + prefix "oc-log"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-inet-types { prefix oc-inet; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + for common logging facilities on network systems."; + + oc-ext:openconfig-version "0.3.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + + // feature statements + + // identity statements + + identity SYSLOG_FACILITY { + description + "Base identity for Syslog message facilities."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity ALL { + base SYSLOG_FACILITY; + description + "All supported facilities"; + } + + identity KERNEL { + base SYSLOG_FACILITY; + description + "The facility for kernel messages"; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity USER { + base SYSLOG_FACILITY; + description + "The facility for user-level messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity MAIL { + base SYSLOG_FACILITY; + description + "The facility for the mail system."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity SYSTEM_DAEMON { + base SYSLOG_FACILITY; + description + "The facility for the system daemons."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity AUTH { + base SYSLOG_FACILITY; + description + "The facility for security/authorization messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity SYSLOG { + base SYSLOG_FACILITY; + description + "The facility for messages generated internally by syslogd + facility."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity AUTHPRIV { + base SYSLOG_FACILITY; + description + "The facility for privileged security/authorization messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + + identity NTP { + base SYSLOG_FACILITY; + description + "The facility for the NTP subsystem."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity AUDIT { + base SYSLOG_FACILITY; + description + "The facility for log audit messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity CONSOLE { + base SYSLOG_FACILITY; + description + "The facility for log alert messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL0 { + base SYSLOG_FACILITY; + description + "The facility for local use 0 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL1 { + base SYSLOG_FACILITY; + description + "The facility for local use 1 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL2 { + base SYSLOG_FACILITY; + description + "The facility for local use 2 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL3 { + base SYSLOG_FACILITY; + description + "The facility for local use 3 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL4 { + base SYSLOG_FACILITY; + description + "The facility for local use 4 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL5 { + base SYSLOG_FACILITY; + description + "The facility for local use 5 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL6 { + base SYSLOG_FACILITY; + description + "The facility for local use 6 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOCAL7 { + base SYSLOG_FACILITY; + description + "The facility for local use 7 messages."; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + identity LOG_DESTINATION_TYPE { + description + "Base identity for destination for logging messages"; + } + + identity DEST_CONSOLE { + base LOG_DESTINATION_TYPE; + description + "Directs log messages to the console"; + } + + identity DEST_BUFFER { + base LOG_DESTINATION_TYPE; + description + "Directs log messages to and in-memory circular buffer"; + } + + identity DEST_FILE { + base LOG_DESTINATION_TYPE; + description + "Directs log messages to a local file"; + } + + identity DEST_REMOTE { + base LOG_DESTINATION_TYPE; + description + "Directs log messages to a remote syslog server"; + } + + // typedef statements + + typedef syslog-severity { + type enumeration { + enum EMERGENCY { + description + "Emergency: system is unusable (0)"; + } + enum ALERT { + description + "Alert: action must be taken immediately (1)"; + } + enum CRITICAL { + description + "Critical: critical conditions (2)"; + } + enum ERROR { + description + "Error: error conditions (3)"; + } + enum WARNING { + description + "Warning: warning conditions (4)"; + } + enum NOTICE { + description + "Notice: normal but significant condition(5)"; + } + enum INFORMATIONAL { + description + "Informational: informational messages (6)"; + } + enum DEBUG { + description + "Debug: debug-level messages (7)"; + } + } + description + "Syslog message severities"; + reference + "IETF RFC 5424 - The Syslog Protocol"; + } + + // grouping statements + + grouping logging-selectors-config { + description + "Configuration data for logging selectors"; + + leaf facility { + type identityref { + base SYSLOG_FACILITY; + } + description + "Specifies the facility, or class of messages to log"; + } + + leaf severity { + type syslog-severity; + description + "Specifies that only messages of the given severity (or + greater severity) for the corresonding facility are logged"; + } + } + + grouping logging-selectors-state { + description + "Operational state data for logging selectors"; + } + + grouping logging-selectors-top { + description + "Top-level grouping for the logging selector list"; + + container selectors { + description + "Enclosing container "; + + list selector { + key "facility severity"; + description + "List of selectors for log messages"; + + leaf facility { + type leafref { + path "../config/facility"; + } + description + "Reference to facility list key"; + } + + leaf severity { + type leafref { + path "../config/severity"; + } + description + "Reference to severity list key"; + } + + container config { + description + "Configuration data "; + + uses logging-selectors-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses logging-selectors-config; + uses logging-selectors-state; + } + } + } + } + + grouping logging-console-config { + description + "Configuration data for console logging"; + } + + grouping logging-console-state { + description + "Operational state data for console logging"; + } + + grouping logging-console-top { + description + "Top-level grouping for console logging data"; + + container console { + description + "Top-level container for data related to console-based + logging"; + + container config { + description + "Configuration data for console logging"; + + uses logging-console-config; + } + + container state { + + config false; + + description + "Operational state data for console logging"; + + uses logging-console-config; + uses logging-console-state; + } + + uses logging-selectors-top; + } + } + + grouping logging-remote-config { + description + "Configuration data for remote log servers"; + + leaf host { + type oc-inet:host; + description + "IP address or hostname of the remote log server"; + } + + leaf source-address { + type oc-inet:ip-address; + description + "Source IP address for packets to the log server"; + } + + leaf remote-port { + type oc-inet:port-number; + default 514; + description + "Sets the destination port number for syslog UDP messages to + the server. The default for syslog is 514."; + } + } + + grouping logging-remote-state { + description + "Operational state data for remote log servers"; + } + + grouping logging-remote-top { + description + "Top-level grouping for remote log servers"; + + container remote-servers { + description + "Enclosing container for the list of remote log servers"; + + list remote-server { + key "host"; + description + "List of remote log servers"; + + leaf host { + type leafref { + path "../config/host"; + } + description + "Reference to the host list key"; + } + + container config { + description + "Configuration data for remote log servers"; + + uses logging-remote-config; + } + + container state { + + config false; + + description + "Operational state data for remote log servers"; + + uses logging-remote-config; + uses logging-remote-state; + } + uses logging-selectors-top; + } + } + } + + grouping logging-top { + description + "Top-level grouping for logging data"; + + container logging { + description + "Top-level container for data related to logging / syslog"; + + uses logging-console-top; + uses logging-remote-top; + } + } + // data definition statements + + // augment statements + + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-system-management.yang b/vendor/cisco/xr/755/openconfig-system-management.yang new file mode 100644 index 000000000..67f8aab1a --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-system-management.yang @@ -0,0 +1,126 @@ +module openconfig-system-management { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/system/management"; + + prefix "oc-sys-mgmt"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + import openconfig-inet-types { prefix oc-inet; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + related to management services."; + + oc-ext:openconfig-version "0.1.1"; + + revision "2018-08-28" { + description + "Update description of the ANY enum."; + reference "0.1.1"; + } + + revision "2018-07-26" { + description + "Initial public release"; + reference "0.1.0"; + } + + // identity statements + + // typedef statements + + // grouping statements + + grouping system-grpc-server-config { + description + "Configuration data for the gRPC server"; + + leaf enable { + type boolean; + default true; + description + "Enables the gRPC server. The gRPC server is enabled by + default"; + } + + leaf port { + type oc-inet:port-number; + description + "TCP port on which the gRPC server should listen"; + } + + leaf transport-security { + type boolean; + description + "Enables gRPC transport security (e.g., TLS or SSL)"; + } + + leaf certificate-id { + type string; + description + "The certificate ID to be used for authentication"; + } + + leaf-list listen-addresses { + type union { + type oc-inet:ip-address; + type enumeration { + enum ANY { + description + "The gRPC daemon should listen on any address + bound to an interface on the system."; + } + } + } + description + "The IP addresses that the gRPC server should listen + on. This may be an IPv4 or an IPv6 address"; + } + } + + grouping system-grpc-server-top { + description + "Top-level grouping for system gRPC server data"; + + container grpc-server { + description + "Top-level container for the gRPC server"; + + container config { + description + "Configuration data for the system gRPC server"; + + uses system-grpc-server-config; + } + + container state { + config false; + + description + "Operational state data for the system gRPC server"; + + uses system-grpc-server-config; + } + } + } + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-system-terminal.yang b/vendor/cisco/xr/755/openconfig-system-terminal.yang new file mode 100644 index 000000000..b34811c99 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-system-terminal.yang @@ -0,0 +1,249 @@ +module openconfig-system-terminal { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/system/terminal"; + + prefix "oc-sys-term"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines configuration and operational state data + related to remote terminal services such as ssh and telnet."; + + oc-ext:openconfig-version "0.3.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.3.1"; + } + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + // typedef statements + + // grouping statements + + grouping system-terminal-common-config { + description + "Common configuration data for terminal services"; + + leaf timeout { + type uint16; + units seconds; + description + "Set the idle timeout in seconds on terminal connections to + the system for the protocol."; + } + + leaf rate-limit { + type uint16; + units "conn/min"; + description + "Set a limit on the number of connection attempts per + minute to the system for the protocol."; + } + + leaf session-limit { + type uint16; + description + "Set a limit on the number of simultaneous active terminal + sessions to the system for the protocol (e.g., ssh, + telnet, ...) "; + } + } + + grouping system-terminal-common-state { + description + "Common operational state data for terminal services"; + } + + grouping system-terminal-common-top { + description + "Top-level grouping for common terminal service data"; + + container terminal-servers { + description + "Top-level container for terminal services"; + + container config { + description + "Configuration data for terminal services"; + + uses system-terminal-common-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses system-terminal-common-config; + uses system-terminal-common-state; + } + } + } + + grouping system-ssh-server-config { + description + "Configuration data for system ssh configuration"; + + leaf enable { + type boolean; + default true; + description + "Enables the ssh server. The ssh server is enabled by + default."; + } + + leaf protocol-version { + type enumeration { + enum V2 { + description + "Use SSH v2 only"; + } + enum V1 { + description + "Use SSH v1 only"; + } + enum V1_V2 { + description + "Use either SSH v1 or v2"; + } + } + default V2; + description + "Set the protocol version for SSH connections to the system"; + } + + uses system-terminal-common-config; + } + + grouping system-ssh-server-state { + description + "Operational state data for ssh server"; + } + + grouping system-ssh-server-top { + description + "Top-level grouping for ssh server data"; + + container ssh-server { + description + "Top-level container for ssh server"; + + container config { + description + "Configuration data for the system ssh server"; + + uses system-ssh-server-config; + } + + container state { + + config false; + + description + "Operational state data for the system ssh server"; + + uses system-ssh-server-config; + uses system-ssh-server-state; + } + } + } + + grouping system-telnet-server-config { + description + "Configuration data for telnet server"; + + leaf enable { + type boolean; + default false; + description + "Enables the telnet server. Telnet is disabled by + default"; + } + uses system-terminal-common-config; + + } + + grouping system-telnet-server-state { + description + "Operational state data for telnet server"; + } + + grouping system-telnet-server-top { + description + "Top-level grouping for telnet server "; + + container telnet-server { + description + "Top-level container for telnet terminal servers"; + + container config { + description + "Configuration data for telnet"; + + uses system-telnet-server-config; + } + + container state { + + config false; + + description + "Operational state data for telnet"; + + uses system-telnet-server-config; + uses system-telnet-server-state; + } + } + } + + // data definition statements + + // augment statements + + // rpc statements + + // notification statements + +} \ No newline at end of file diff --git a/vendor/cisco/xr/755/openconfig-system.yang b/vendor/cisco/xr/755/openconfig-system.yang new file mode 100644 index 000000000..fd05a3f77 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-system.yang @@ -0,0 +1,997 @@ +module openconfig-system { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/system"; + + prefix "oc-sys"; + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-yang-types { prefix oc-yang; } + import openconfig-types { prefix oc-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-aaa { prefix oc-aaa; } + import openconfig-system-logging { prefix oc-log; } + import openconfig-system-management { prefix oc-sys-mgmt; } + import openconfig-system-terminal { prefix oc-sys-term; } + import openconfig-procmon { prefix oc-proc; } + import openconfig-alarms { prefix oc-alarms; } + import openconfig-messages { prefix oc-messages; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "Model for managing system-wide services and functions on + network devices. + + Portions of this code were derived from IETF RFC 7317. + Please reproduce this note if possible. + + IETF code is subject to the following copyright and license: + Copyright (c) IETF Trust and the persons identified as authors of + the code. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, is permitted pursuant to, and subject to the license + terms contained in, the Simplified BSD License set forth in + Section 4.c of the IETF Trust's Legal Provisions Relating + to IETF Documents (http://trustee.ietf.org/license-info)."; + + oc-ext:openconfig-version "0.7.0"; + + revision "2019-01-29" { + description + "Add messages module to the system model"; + reference "0.7.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.6.1"; + } + + revision "2018-07-17" { + description + "Add gRPC server data"; + reference "0.6.0"; + } + + revision "2018-01-21" { + description + "Add cpu utilization data"; + reference "0.5.0"; + } + + revision "2017-12-15" { + description + "Add alarms to the system model"; + reference "0.4.0"; + } + + revision "2017-09-18" { + description + "Updated to use OpenConfig types modules"; + reference "0.3.0"; + } + + revision "2017-07-06" { + description + "Move to oc-inet types, add IETF attribution, add RADIUS + counters, changed password leaf names to indicate hashed"; + reference "0.2.0"; + } + + revision "2017-01-29" { + description + "Initial public release"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + + // feature statements + + // identity statements + + identity NTP_AUTH_TYPE { + description + "Base identity for encryption schemes supported for NTP + authentication keys"; + } + + identity NTP_AUTH_MD5 { + base NTP_AUTH_TYPE; + description + "MD5 encryption method"; + } + + // typedef statements + + typedef timezone-name-type { + type string; + description + "A time zone name as used by the Time Zone Database, + sometimes referred to as the 'Olson Database'. + + The exact set of valid values is an implementation-specific + matter. Client discovery of the exact set of time zone names + for a particular server is out of scope."; + reference + "BCP 175: Procedures for Maintaining the Time Zone Database"; + } + + // grouping statements + + grouping system-clock-config { + description + "Configuration data for system-wide clock configuration"; + + leaf timezone-name { + type timezone-name-type; + description + "The TZ database name to use for the system, such + as 'Europe/Stockholm'."; + reference "IANA Time Zone Database + http://www.iana.org/time-zones"; + } + } + + grouping system-clock-state { + description + "Operational state data for system-wide clock configuration"; + } + + grouping system-clock-top { + description + "Top-level grouping for system-wide clock configuration"; + + container clock { + description + "Top-level container for clock configuration data"; + + container config { + description + "Configuration data for system clock"; + + uses system-clock-config; + } + + container state { + + config false; + + description + "Operational state data for system clock"; + + uses system-clock-config; + uses system-clock-state; + } + } + } + + grouping system-global-config { + description "system-wide configuration parameters"; + + leaf hostname { + type oc-inet:domain-name; + description + "The hostname of the device -- should be a single domain + label, without the domain."; + } + + leaf domain-name { + type oc-inet:domain-name; + description + "Specifies the domain name used to form fully qualified name + for unqualified hostnames."; + } + + leaf login-banner { + type string; + description + "The console login message displayed before the login prompt, + i.e., before a user logs into the system."; + } + + leaf motd-banner { + type string; + description + "The console message displayed after a user logs into the + system. They system may append additional standard + information such as the current system date and time, uptime, + last login timestamp, etc."; + } + } + + grouping system-global-state { + description + "Global operational state data for the system"; + + leaf current-datetime { + type oc-yang:date-and-time; + description + "The current system date and time."; + } + + leaf boot-time { + type oc-types:timeticks64; + 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)."; + } + + } + + grouping system-dns-config { + description "DNS / resolver related configuration data"; + + leaf-list search { + type oc-inet:domain-name; + ordered-by user; + description + "An ordered list of domains to search when resolving + a host name."; + } + } + + grouping system-dns-state { + description + "Operational state data for system DNS resolver"; + + } + + grouping system-dns-servers-config { + description + "Configuration data for DNS resolvers"; + + //RFC 7317 includes a single-value choice statement to for + //TCP and UDP transport. This has been removed since it the + //transport protocol is not generally available as an options + //on target devices. It may be added back if and when needed. + + leaf address { + type oc-inet:ip-address; + description + "The address of the DNS server, can be either IPv4 + or IPv6."; + } + + leaf port { + type oc-inet:port-number; + default 53; + description + "The port number of the DNS server."; + } + + //RFC 7317 includes resolver timeout and attempts options. These + //have been omitted as they are not available on many targets. If + //and when they are required, they may be added back in. + } + + grouping system-dns-static-config { + description + "Configuration data for static host entries"; + + leaf hostname { + type string; + description + "Hostname for the static DNS entry"; + } + + leaf-list alias { + type string; + description + "Additional aliases for the hostname"; + } + + leaf-list ipv4-address { + type oc-inet:ipv4-address; + description + "List of IPv4 addressses for the host entry"; + } + + leaf-list ipv6-address { + type oc-inet:ipv6-address; + description + "List of IPv6 addresses for the host entry"; + } + } + + grouping system-dns-static-state { + description + "Operational state data for static host entries"; + } + + grouping system-dns-static-top { + description + "Top-level grouping for static DNS host entries"; + + container host-entries { + description + "Enclosing container for list of static host entries"; + + list host-entry { + key "hostname"; + description + "List of static host entries"; + + leaf hostname { + type leafref { + path "../config/hostname"; + } + description + "Reference to the hostname list key"; + } + + container config { + description + "Configuration data for static host entries"; + + uses system-dns-static-config; + } + + container state { + + config false; + + description + "Operational state data for static host entries"; + + uses system-dns-static-config; + uses system-dns-static-state; + } + } + } + } + + grouping system-dns-servers-state { + description + "Operational state data for DNS resolvers"; + + } + + grouping system-dns-servers-top { + description + "Top-level grouping for the list of DNS resolvers."; + + container servers { + description + "Enclosing container for DNS resolver list"; + + list server { + key "address"; + ordered-by user; + description + "List of the DNS servers that the resolver should query. + + When the resolver is invoked by a calling application, it + sends the query to the first name server in this list. If + no response has been received within 'timeout' seconds, + the resolver continues with the next server in the list. + If no response is received from any server, the resolver + continues with the first server again. When the resolver + has traversed the list 'attempts' times without receiving + any response, it gives up and returns an error to the + calling application. + + Implementations MAY limit the number of entries in this + list."; + + leaf address { + type leafref { + path "../config/address"; + } + description + "References the configured address of the DNS server"; + } + + container config { + description + "Configuration data for each DNS resolver"; + + uses system-dns-servers-config; + } + + container state { + + config false; + + description + "Operational state data for each DNS resolver"; + + uses system-dns-servers-config; + uses system-dns-servers-state; + } + + } + } + } + + grouping system-dns-top { + description + "Top-level grouping for DNS / resolver config and operational + state data"; + + container dns { + description + "Enclosing container for DNS resolver data"; + + container config { + description + "Configuration data for the DNS resolver"; + + uses system-dns-config; + + } + + container state { + + config false; + + description + "Operational state data for the DNS resolver"; + + uses system-dns-config; + uses system-dns-state; + + } + + uses system-dns-servers-top; + uses system-dns-static-top; + } + } + + grouping system-ntp-server-config { + description + "Configuration data for NTP servers"; + + leaf address { + type oc-inet:host; + description + "The address or hostname of the NTP server."; + } + + leaf port { + type oc-inet:port-number; + default 123; + description + "The port number of the NTP server."; + } + + leaf version { + type uint8 { + range 1..4; + } + default 4; + description + "Version number to put in outgoing NTP packets"; + } + + leaf association-type { + type enumeration { + enum SERVER { + description + "Use client association mode. This device + will not provide synchronization to the + configured NTP server."; + } + enum PEER { + description + "Use symmetric active association mode. + This device may provide synchronization + to the configured NTP server."; + } + enum POOL { + description + "Use client association mode with one or + more of the NTP servers found by DNS + resolution of the domain name given by + the 'address' leaf. This device will not + provide synchronization to the servers."; + } + } + default SERVER; + description + "The desired association type for this NTP server."; + } + leaf iburst { + type boolean; + default false; + description + "Indicates whether this server should enable burst + synchronization or not."; + } + leaf prefer { + type boolean; + default false; + description + "Indicates whether this server should be preferred + or not."; + } + } + + grouping system-ntp-server-state { + description + "Operational state data for NTP servers"; + + leaf stratum { + type uint8; + description + "Indicates the level of the server in the NTP hierarchy. As + stratum number increases, the accuracy is degraded. Primary + servers are stratum while a maximum value of 16 indicates + unsynchronized. The values have the following specific + semantics: + + | 0 | unspecified or invalid + | 1 | primary server (e.g., equipped with a GPS receiver) + | 2-15 | secondary server (via NTP) + | 16 | unsynchronized + | 17-255 | reserved"; + reference + "RFC 5905 - Network Time Protocol Version 4: Protocol and + Algorithms Specification"; + } + + leaf root-delay { + type uint32; + // TODO: reconsider units for these values -- the spec defines + // rootdelay and rootdisperson as 2 16-bit integers for seconds + // and fractional seconds, respectively. This gives a + // precision of ~15 us (2^-16). Using milliseconds here based + // on what implementations typically provide and likely lack + // of utility for less than millisecond precision with NTP + // time sync. + units "milliseconds"; + description + "The round-trip delay to the server, in milliseconds."; + reference + "RFC 5905 - Network Time Protocol Version 4: Protocol and + Algorithms Specification"; + } + + leaf root-dispersion { + type uint64; + units "milliseconds"; + description + "Dispersion (epsilon) represents the maximum error inherent + in the measurement"; + reference + "RFC 5905 - Network Time Protocol Version 4: Protocol and + Algorithms Specification"; + } + + leaf offset { + type uint64; + units "milliseconds"; + description + "Estimate of the current time offset from the peer. This is + the time difference between the local and reference clock."; + } + + leaf poll-interval { + type uint32; + units "seconds"; + description + "Polling interval of the peer"; + } + } + + grouping system-ntp-server-top { + description + "Top-level grouping for the list of NTP servers"; + + container servers { + description + "Enclosing container for the list of NTP servers"; + + list server { + key "address"; + description + "List of NTP servers to use for system clock + synchronization. If '/system/ntp/enabled' + is 'true', then the system will attempt to + contact and utilize the specified NTP servers."; + + leaf address { + type leafref { + path "../config/address"; + } + description + "References the configured address or hostname of the + NTP server."; + } + + container config { + description + "Configuration data for an NTP server."; + + uses system-ntp-server-config; + } + + container state { + + config false; + + description + "Operational state data for an NTP server."; + + uses system-ntp-server-config; + uses system-ntp-server-state; + } + + } + } + } + + grouping system-ntp-auth-keys-config { + description + "Configuration data "; + + leaf key-id { + type uint16; + description + "Integer identifier used by the client and server to + designate a secret key. The client and server must use + the same key id."; + } + + leaf key-type { + type identityref { + base NTP_AUTH_TYPE; + } + description + "Encryption type used for the NTP authentication key"; + } + + leaf key-value { + type string; + description + "NTP authentication key value"; + } + } + + grouping system-ntp-auth-keys-state { + description + "Operational state data for NTP auth key data"; + } + + grouping system-ntp-auth-keys-top { + description + "Top-level grouping for NTP auth key data"; + + container ntp-keys { + description + "Enclosing container for list of NTP authentication keys"; + + list ntp-key { + key "key-id"; + description + "List of NTP authentication keys"; + + leaf key-id { + type leafref { + path "../config/key-id"; + } + description + "Reference to auth key-id list key"; + } + + container config { + description + "Configuration data for NTP auth keys"; + + uses system-ntp-auth-keys-config; + } + + container state { + + config false; + + description + "Operational state data for NTP auth keys"; + + uses system-ntp-auth-keys-config; + uses system-ntp-auth-keys-state; + } + } + } + } + + grouping system-ntp-config { + description + "Configuration data for system-wide NTP operation."; + + leaf enabled { + type boolean; + default false; + description + "Enables the NTP protocol and indicates that the system should + attempt to synchronize the system clock with an NTP server + from the servers defined in the 'ntp/server' list."; + } + + leaf ntp-source-address { + type oc-inet:ip-address; + description + "Source address to use on outgoing NTP packets"; + } + + leaf enable-ntp-auth { + type boolean; + default false; + description + "Enable or disable NTP authentication -- when enabled, the + system will only use packets containing a trusted + authentication key to synchronize the time."; + } + } + + grouping system-ntp-state { + description + "Operational state data for system-wide NTP operation."; + + leaf auth-mismatch { + type oc-yang:counter64; + description + "Count of the number of NTP packets received that were not + processed due to authentication mismatch."; + } + } + + grouping system-ntp-top { + description + "Top-level grouping for configuration and state data for NTP"; + + container ntp { + description + "Top-level container for NTP configuration and state"; + + container config { + description + "Configuration data for NTP client."; + + uses system-ntp-config; + } + + container state { + config false; + description + "Operational state data for NTP services."; + + uses system-ntp-config; + uses system-ntp-state; + } + uses system-ntp-auth-keys-top; + uses system-ntp-server-top; + } + } + + grouping system-memory-config { + description + "Configuration data for system memory"; + } + + grouping system-memory-state { + description + "Operational state data for system memory"; + + leaf physical { + type uint64; + units bytes; + // TODO: consider making units in megabytes + description + "Reports the total physical memory available on the + system."; + } + + leaf reserved { + type uint64; + units bytes; + description + "Memory reserved for system use"; + } + } + + grouping system-memory-top { + description + "Top-level grouping for system memory data definitions"; + + container memory { + description + "Top-level container for system memory data"; + + container config { + description + "Configuration data for system memory"; + + uses system-memory-config; + } + + container state { + config false; + description + "Operational state data for system memory"; + + uses system-memory-config; + uses system-memory-state; + } + } + } + + grouping system-cpu-state { + description + "Operational state data for the system CPU(s)"; + + leaf index { + type union { + type enumeration { + enum ALL { + description + "Index value indicating all CPUs in the system"; + } + } + type uint32; + } + description + "The CPU index for each processor core on the system. On a + single-core system, the index should be zero. The ALL + index signifies an aggregation of the CPU utilization + statistics over all cores in the system."; + } + + container total { + description + "Total CPU utilization."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + + container user { + description + "Percentage of CPU time spent running in user space."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + + container kernel { + description + "Percentage of CPU time spent running in kernel space."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + + container nice { + description + "Percentage of CPU time spent running low-priority (niced) + user processes."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + + container idle { + description + "Percentage of CPU time spent idle."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + + container wait { + description + "Percentage of CPU time spent waiting for I/O."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + + container hardware-interrupt { + description + "Percentage of CPU time spent servicing hardware interrupts."; + + uses oc-types:avg-min-max-instant-stats-pct; + } + + container software-interrupt { + description + "Percentage of CPU time spent servicing software interrupts"; + + uses oc-types:avg-min-max-instant-stats-pct; + } + } + + grouping system-cpu-top { + description + "Top-level grouping for system CPU data"; + + container cpus { + config false; + description + "Enclosing container for the list of CPU cores on the + system"; + + list cpu { + key "index"; + description + "List of CPU cores on the system (including logical CPUs + on hyperthreaded systems), keyed by either a numerical + index, or the ALL value for an entry representing the + aggregation across all CPUs."; + + leaf index { + type leafref { + path "../state/index"; + } + description + "Reference to list key"; + } + + container state { + + description + "Operational state data for the system CPU(s)"; + + uses system-cpu-state; + } + } + } + } + + grouping system-top { + description + "Top level system data containers"; + + container system { + description + "Enclosing container for system-related configuration and + operational state data"; + + container config { + description "Global configuration data for the system"; + + uses system-global-config; + + } + + container state { + config false; + description "Global operational state data for the system"; + + uses system-global-config; + uses system-global-state; + } + + uses system-clock-top; + uses system-dns-top; + uses system-ntp-top; + uses oc-sys-mgmt:system-grpc-server-top; + uses oc-sys-term:system-ssh-server-top; + uses oc-sys-term:system-telnet-server-top; + uses oc-log:logging-top; + uses oc-aaa:aaa-top; + uses system-memory-top; + uses system-cpu-top; + uses oc-proc:procmon-processes-top; + uses oc-alarms:alarms-top; + uses oc-messages:messages-top; + } + } + + // data definition statements + + uses system-top; + +} diff --git a/vendor/cisco/xr/755/openconfig-telemetry-types.yang b/vendor/cisco/xr/755/openconfig-telemetry-types.yang new file mode 100644 index 000000000..c06a0529b --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-telemetry-types.yang @@ -0,0 +1,124 @@ +module openconfig-telemetry-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/telemetry-types"; + + prefix "oc-telemetry-types"; + + import openconfig-extensions { prefix oc-ext; } + + + // meta + import cisco-semver { prefix "semver"; } + + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines type and identities used by the OpenConfig + telemetry model."; + + oc-ext:openconfig-version "0.4.2"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.4.2"; + semver:module-version "1.0.0"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes"; + } + + revision "2017-02-20" { + description + "Fixes for YANG 1.0 compliance, add types module"; + } + + revision "2016-04-05" { + description + "OpenConfig public release"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // identity statements + + identity DATA_ENCODING_METHOD { + description + "Base identity for supported encoding for configuration and + operational state data"; + } + + identity ENC_XML { + base DATA_ENCODING_METHOD; + description + "XML encoding"; + } + + identity ENC_JSON_IETF { + base DATA_ENCODING_METHOD; + description + "JSON encoded based on IETF draft standard"; + reference + "draft-ietf-netmod-yang-json"; + } + + identity ENC_PROTO3 { + base DATA_ENCODING_METHOD; + description + "Protocol buffers v3"; + reference + "https://developers.google.com/protocol-buffers/docs/overview"; + } + + identity STREAM_PROTOCOL { + description "Base identity for a telemetry stream protocol"; + } + + identity STREAM_SSH { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried over a SSH connection"; + } + + identity STREAM_GRPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried over via the gRPC framework"; + } + + identity STREAM_JSON_RPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried via the JSON-RPC framework"; + } + + identity STREAM_THRIFT_RPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried via the Apache Thrift framework"; + } + + identity STREAM_WEBSOCKET_RPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried by the WebSocket framework"; + } + + + // typedef statements + + + +} diff --git a/vendor/cisco/xr/755/openconfig-telemetry.yang b/vendor/cisco/xr/755/openconfig-telemetry.yang new file mode 100644 index 000000000..54ebb989f --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-telemetry.yang @@ -0,0 +1,782 @@ +module openconfig-telemetry { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/telemetry"; + + prefix "oc-telemetry"; + + // import some basic types + import openconfig-inet-types { prefix oc-inet; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-telemetry-types { prefix oc-telemetry-types; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group www.openconfig.net"; + + description + "Data model which creates the configuration for the telemetry + systems and functions on the device."; + + oc-ext:openconfig-version "0.5.1"; + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.5.1"; + } + + revision "2018-08-17" { + description + "Update telemetry model to comply with the OpenConfig + style for lists and their containers. Remove subscription + exclusions."; + reference "0.5.0"; + } + + revision "2017-08-24" { + description + "Minor formatting fixes"; + reference "0.4.1"; + } + + revision "2017-02-20" { + description + "Fixes for YANG 1.0 compliance, add types module"; + reference "0.4.0"; + } + + revision "2016-04-05" { + description + "OpenConfig public release"; + reference "0.2.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping telemetry-top { + description + "Top level grouping for telemetry configuration and operational + state data"; + + container telemetry-system { + description + "Top level configuration and state for the + device's telemetry system."; + + container sensor-groups { + description + "Top level container for sensor-groups."; + + list sensor-group { + key "sensor-group-id"; + description + "List of telemetry sensory groups on the local + system, where a sensor grouping represents a resuable + grouping of multiple paths and exclude filters."; + + leaf sensor-group-id { + type leafref { + path "../config/sensor-group-id"; + } + description + "Reference to the name or identifier of the + sensor grouping"; + } + + container config { + description + "Configuration parameters relating to the + telemetry sensor grouping"; + uses telemetry-sensor-group-config; + } + + container state { + config false; + description + "State information relating to the telemetry + sensor group"; + uses telemetry-sensor-group-config; + } + + container sensor-paths { + description + "Top level container to hold a set of sensor + paths grouped together"; + + list sensor-path { + key "path"; + description + "List of paths in the model which together + comprise a sensor grouping. Filters for each path + to exclude items are also provided."; + + leaf path { + type leafref { + path "../config/path"; + } + description + "Reference to the path of interest"; + } + + container config { + description + "Configuration parameters to configure a set + of data model paths as a sensor grouping"; + uses telemetry-sensor-path-config; + } + + container state { + config false; + description + "Configuration parameters to configure a set + of data model paths as a sensor grouping"; + uses telemetry-sensor-path-config; + } + } + } + } + } + + container destination-groups { + description + "Top level container for destination group configuration + and state."; + + list destination-group { + key "group-id"; + description + "List of destination-groups. Destination groups allow the + reuse of common telemetry destinations across the + telemetry configuration. An operator references a + set of destinations via the configurable + destination-group-identifier. + + A destination group may contain one or more telemetry + destinations"; + + leaf group-id { + type leafref { + path "../config/group-id"; + } + description + "Unique identifier for the destination group"; + } + + container config { + description + "Top level config container for destination groups"; + leaf group-id { + type string; + description + "Unique identifier for the destination group"; + } + } + + container state { + config false; + description + "Top level state container for destination groups"; + + leaf group-id { + type string; + description + "Unique identifier for destination group"; + } + } + + container destinations { + description + "The destination container lists the destination + information such as IP address and port of the + telemetry messages from the network element."; + list destination { + key "destination-address destination-port"; + description + "List of telemetry stream destinations"; + + leaf destination-address { + type leafref { + path "../config/destination-address"; + } + description + "Reference to the destination address of the + telemetry stream"; + } + + leaf destination-port { + type leafref { + path "../config/destination-port"; + } + description + "Reference to the port number of the stream + destination"; + } + + container config { + description + "Configuration parameters relating to + telemetry destinations"; + uses telemetry-stream-destination-config; + } + + container state { + config false; + description + "State information associated with + telemetry destinations"; + uses telemetry-stream-destination-config; + } + } + } + } + } + + container subscriptions { + description + "This container holds information for both persistent + and dynamic telemetry subscriptions."; + + container persistent-subscriptions { + description + "This container holds information relating to persistent + telemetry subscriptions. A persistent telemetry + subscription is configued locally on the device through + configuration, and is persistent across device restarts or + other redundancy changes."; + + list persistent-subscription { + key "name"; + + description + "List of telemetry subscriptions. A telemetry + subscription consists of a set of collection + destinations, stream attributes, and associated paths to + state information in the model (sensor data)"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the identifier of the subscription + itself. The id will be the handle to refer to the + subscription once created"; + } + + container config { + description + "Config parameters relating to the telemetry + subscriptions on the local device"; + + uses telemetry-subscription-name-config; + uses telemetry-local-source-address-config; + uses telemetry-qos-marking-config; + uses telemetry-stream-protocol-config; + uses telemetry-stream-encoding-config; + } + + container state { + config false; + description + "State parameters relating to the telemetry + subscriptions on the local device"; + + uses telemetry-subscription-name-config; + uses telemetry-subscription-config; + uses telemetry-subscription-state; + uses telemetry-local-source-address-config; + uses telemetry-qos-marking-config; + uses telemetry-stream-protocol-config; + uses telemetry-stream-encoding-config; + } + + container sensor-profiles { + description + "A sensor profile is a set of sensor groups or + individual sensor paths which are associated with a + telemetry subscription. This is the source of the + telemetry data for the subscription to send to the + defined collectors."; + list sensor-profile { + key "sensor-group"; + description + "List of telemetry sensor groups used + in the subscription"; + + leaf sensor-group { + type leafref { + path "../config/sensor-group"; + } + description + "Reference to the telemetry sensor group name"; + } + + container config { + description + "Configuration parameters related to the sensor + profile for a subscription"; + uses telemetry-sensor-profile-config; + } + + container state { + config false; + description + "State information relating to the sensor profile + for a subscription"; + uses telemetry-sensor-profile-config; + } + } + } + + container destination-groups { + description + "A subscription may specify destination addresses. + If the subscription supplies destination addresses, + the network element will be the initiator of the + telemetry streaming, sending it to the destination(s) + specified. + + If the destination set is omitted, the subscription + preconfigures certain elements such as paths and + sample intervals under a specified subscription ID. + In this case, the network element will NOT initiate an + outbound connection for telemetry, but will wait for + an inbound connection from a network management + system. + + It is expected that the network management system + connecting to the network element will reference + the preconfigured subscription ID when initiating + a subscription."; + + list destination-group { + key "group-id"; + description + "Identifier of the previously defined destination + group"; + + leaf group-id { + type leafref { + path "../config/group-id"; + } + description + "The destination group id references a configured + group of destinations for the telemetry stream."; + } + + container config { + description + "Configuration parameters related to telemetry + destinations."; + + leaf group-id { + type leafref { + path "../../../../../../../destination-groups" + + "/destination-group/group-id"; + } + description + "The destination group id references a reusable + group of destination addresses and ports for + the telemetry stream."; + } + } + + container state { + config false; + description + "State information related to telemetry + destinations"; + + leaf group-id { + type leafref { + path "../../../../../../../destination-groups" + + "/destination-group/group-id"; + } + description + "The destination group id references a reusable + group of destination addresses and ports for + the telemetry stream."; + } + } + } + } + } + } + + container dynamic-subscriptions { + description + "This container holds information relating to dynamic + telemetry subscriptions. A dynamic subscription is + typically configured through an RPC channel, and does not + persist across device restarts, or if the RPC channel is + reset or otherwise torn down."; + + + list dynamic-subscription { + key "id"; + + config false; + description + "List representation of telemetry subscriptions that + are configured via an inline RPC, otherwise known + as dynamic telemetry subscriptions."; + + leaf id { + type leafref { + path "../state/id"; + } + + description + "Reference to the identifier of the subscription + itself. The id will be the handle to refer to the + subscription once created"; + } + + container state { + config false; + description + "State information relating to dynamic telemetry + subscriptions."; + + uses telemetry-subscription-config; + uses telemetry-stream-destination-config; + uses telemetry-stream-frequency-config; + uses telemetry-heartbeat-config; + uses telemetry-suppress-redundant-config; + uses telemetry-qos-marking-config; + uses telemetry-stream-protocol-config; + uses telemetry-stream-encoding-config; + } + + container sensor-paths { + description + "Top level container to hold a set of sensor + paths grouped together"; + + list sensor-path { + key "path"; + description + "List of paths in the model which together + comprise a sensor grouping. Filters for each path + to exclude items are also provided."; + + leaf path { + type leafref { + path "../state/path"; + } + description + "Reference to the path of interest"; + } + + container state { + config false; + description + "State information for a dynamic subscription's + paths of interest"; + uses telemetry-sensor-path-config; + } + } + } + } + } + } + } + } + + // identity statements + + // typedef statements + + // grouping statements + + grouping telemetry-sensor-path-config { + description + "Configuration parameters relating to the + grouping of data model paths comprising a + sensor grouping"; + leaf path { + type string; + description + "Path to a section of operational state of interest + (the sensor)."; + } + + leaf exclude-filter { + type string; + description + "Filter to exclude certain values out of the state + values"; + //May not be necessary. Could remove. + } + } + + grouping telemetry-heartbeat-config { + description + "Configuration parameters relating to the + heartbeat of the telemetry subscription"; + leaf heartbeat-interval { + type uint64; + description + "Maximum time interval in seconds that may pass + between updates from a device to a telemetry collector. + If this interval expires, but there is no updated data to + send (such as if suppress_updates has been configured), the + device must send a telemetry message to the collector."; + } + } + + grouping telemetry-suppress-redundant-config { + description + "Configuration parameters relating to suppression of + redundant upstream updates"; + leaf suppress-redundant { + type boolean; + description + "Boolean flag to control suppression of redundant + telemetry updates to the collector platform. If this flag is + set to TRUE, then the collector will only send an update at + the configured interval if a subscribed data value has + changed. Otherwise, the device will not send an update to + the collector until expiration of the heartbeat interval."; + } + } + + grouping telemetry-sensor-profile-config { + description + "Configuration parameters relating to the sensor groups + used in the sensor profile"; + leaf sensor-group { + type leafref { + path "../../../../../../../sensor-groups/sensor-group" + + "/config/sensor-group-id"; + } + description + "Reference to the sensor group which is used in the profile"; + } + uses telemetry-stream-subscription-config; + } + + grouping telemetry-stream-subscription-config { + description + "Configuration used when the sensor is a stream based sensor."; + + uses telemetry-stream-frequency-config; + uses telemetry-heartbeat-config; + uses telemetry-suppress-redundant-config; + + } + + grouping telemetry-qos-marking-config { + description + "Config parameters relating to the quality of service + marking on device generated telemetry packets"; + + leaf originated-qos-marking { + type oc-inet:dscp; + description + "DSCP marking of packets generated by the telemetry + subsystem on the network device."; + } + } + + + grouping telemetry-sensor-group-config { + description + "Config parameters related to the sensor groups + on the device"; + leaf sensor-group-id { + type string; + description + "Name or identifier for the sensor group itself. + Will be referenced by other configuration specifying a + sensor group"; + } + } + + grouping telemetry-subscription-config { + description + "Configuration parameters relating to the telemetry + subscription"; + + leaf id { + type uint64; + description + "System generated identifer of the telemetry + subscription."; + } + } + + grouping telemetry-subscription-name-config { + description + "Configuration parameters relating to the configured + name of the telemetry subscription. The name is a user + configured string value which uniquely identifies the + subscription in the configuration database."; + + leaf name { + type string; + description + "User configured identifier of the telemetry + subscription. This value is used primarily for + subscriptions configured locally on the network + element."; + } + } + + grouping telemetry-subscription-state { + description + "State values for the telemetry subscription"; + //TODO add values + } + + grouping telemetry-stream-protocol-config { + description + "Configuration parameters relating to the + transport protocol carrying telemetry + data."; + + leaf protocol { + type identityref { + base oc-telemetry-types:STREAM_PROTOCOL; + } + description + "Selection of the transport protocol for the telemetry + stream."; + } + } + + grouping telemetry-stream-encoding-config { + description + "Configuration parameters relating to the + encoding of telemetry data to and from the + network element. The encoding method controls + specifically the wire format of the telemetry + data, and also controls which RPC framework + may be in use to exchange telemetry data."; + + leaf encoding { + type identityref { + base oc-telemetry-types:DATA_ENCODING_METHOD; + } + description + "Selection of the specific encoding or RPC framework + for telemetry messages to and from the network element."; + } + } + + grouping telemetry-stream-destination-config { + description + "Configuration parameters for the stream destinations"; + leaf destination-address { + type oc-inet:ip-address; + description + "IP address of the telemetry stream destination"; + } + leaf destination-port { + type uint16; + description + "Protocol (udp or tcp) port number for the telemetry + stream destination"; + } + } + + grouping telemetry-stream-frequency-config { + description + "Config parameters for the frequency of updates to + the collector"; + leaf sample-interval { + type uint64; + description + "Time in milliseconds between the device's sample of a + telemetry data source. For example, setting this to 100 + would require the local device to collect the telemetry + data every 100 milliseconds. There can be latency or jitter + in transmitting the data, but the sample must occur at + the specified interval. + + The timestamp must reflect the actual time when the data + was sampled, not simply the previous sample timestamp + + sample-interval. + + If sample-interval is set to 0, the telemetry sensor + becomes event based. The sensor must then emit data upon + every change of the underlying data source."; + } + } + + grouping telemetry-sensor-specification { + description + "Config related to creating telemetry sensor groups. A sensor + group is a related set of sensor paths and/or filters to + exclude items. A group is assigned a reusable identifer, so + it can be used in multiple telemetry subscriptions."; + list telemetry-sensor-group { + key "telemetry-sensor-group-id"; + description + "List of telemetry sensor groups"; + + leaf telemetry-sensor-group-id { + type string; + description + "The sensor group identifer is a reusable handle which + identifies a single sensor group. It is referenced from + the subscription configuration."; + } + uses telemetry-sensor-paths; + } + } + + grouping telemetry-sensor-paths { + description + "This grouping contains these paths to leaves or containers + in the data model which are the sources of telemetry + information."; + + list telemetry-sensor-paths { + key "telemetry-sensor-path"; + description + "A list of sensor paths and exclude filters which comprise + a sensor grouping"; + + leaf telemetry-sensor-path { + type string; + description + "The sensor path is a path to a portion of operational + state of interest in the data model"; + } + } + } + + + grouping telemetry-local-source-address-config { + description + "Config relating to the local source address for telemetry + messages"; + // TODO: Make this a reference to an interface. + leaf local-source-address { + type oc-inet:ip-address; + description + "The IP address which will be the source of packets from + the device to a telemetry collector destination."; + } + } + + // data definition statements + + uses telemetry-top; + + // augment statements + + // rpc statements + + // notification statements + +} diff --git a/vendor/cisco/xr/755/openconfig-terminal-device.yang b/vendor/cisco/xr/755/openconfig-terminal-device.yang new file mode 100644 index 000000000..b34847255 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-terminal-device.yang @@ -0,0 +1,1489 @@ +module openconfig-terminal-device { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/terminal-device"; + + prefix "oc-opt-term"; + + import openconfig-types { prefix oc-types; } + import openconfig-transport-types { prefix oc-opt-types; } + import openconfig-if-ethernet { prefix oc-eth; } + import openconfig-platform { prefix oc-platform; } + import openconfig-platform-transceiver { prefix oc-transceiver; } + import openconfig-lldp { prefix oc-lldp; } + import openconfig-extensions { prefix oc-ext; } + import ietf-yang-types { prefix yang; } + import openconfig-yang-types { prefix oc-yang; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module describes a terminal optics device model for + managing the terminal systems (client and line side) in a + DWDM transport network. + + Elements of the model: + + physical port: corresponds to a physical, pluggable client + port on the terminal device. Examples includes 10G, 40G, 100G + (e.g., 10x10G, 4x25G or 1x100G) and 400G/1T in the future. + Physical client ports will have associated operational state or + PMs. + + physical channel: a physical lane or channel in the + physical client port. Each physical client port has 1 or more + channels. An example is 100GBASE-LR4 client physical port having + 4x25G channels. Channels have their own optical PMs and can be + monitored independently within a client physical port (e.g., + channel power). Physical client channels are defined in the + model as part of a physical client port, and are modeled + primarily for reading their PMs. + + logical channel: a logical grouping of logical grooming elements + that may be assigned to subsequent grooming stages for + multiplexing / de-multiplexing, or to an optical channel for + line side transmission. The logical channels can represent, for + example, an ODU/OTU logical packing of the client + data onto the line side. Tributaries are similarly logical + groupings of demand that can be represented in this structure and + assigned to an optical channel. Note that different types of + logical channels may be present, each with their corresponding + PMs. + + optical channel: corresponds to an optical carrier and is + assigned a wavelength/frequency. Optical channels have PMs + such as power, BER, and operational mode. + + Directionality: + + To maintain simplicity in the model, the configuration is + described from client-to-line direction. The assumption is that + equivalent reverse configuration is implicit, resulting in + the same line-to-client configuration. + + Physical layout: + + The model does not assume a particular physical layout of client + and line ports on the terminal device (e.g., such as number of + ports per linecard, separate linecards for client and line ports, + etc.)."; + + oc-ext:openconfig-version "1.7.2"; + + revision "2019-11-28" { + description + "Additional xpath fixes in when statement"; + reference "1.7.2"; + } + + revision "2019-10-12" { + description + "Fix when statement paths"; + reference "1.7.1"; + } + + revision "2019-08-08" { + description + "Add ALS config to logical-channel/ethernet/config and remove + legacy interfaces augment for this config. Client FEC was + previosuly migrated to the components model and should not + be here anymore."; + reference "1.7.0"; + } + + revision "2019-07-26" { + description + "Add support for LLDP natively on logical-channels."; + reference "1.6.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "1.5.1"; + } + + revision "2018-10-23" { + description + "Adds support of logical-channel tributary slot allocation to + logical-channel-assignments with different channel speeds. + Enables logical channel mapping procedure specification."; + reference "1.5.0"; + } + + revision "2018-08-28" { + description + "Adds terminal device related Ethernet counters"; + reference "1.4.0"; + } + + revision "2018-07-30" { + description + "Adds lldp snooping config leaf and augmented it to oc-lldp"; + reference "1.3.0"; + } + + revision "2018-07-26" { + description + "Adds OTN protocol counter stats of errored-blocks and + fec-uncorrectable-blocks, adds ethernet-config-ext grouping + and uses it to augment oc-eth"; + reference "1.2.0"; + } + + revision "2018-07-17" { + description + "Adds testing enum to link-state"; + reference "1.1.0"; + } + + revision "2017-07-08" { + description + "Adds test-signal"; + reference "1.0.0"; + } + + revision "2016-12-22" { + description + "Fixes and additions to terminal optics model"; + reference "0.4.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + grouping terminal-input-optical-power { + description + "Reusable leaves related to input optical power"; + + leaf input-power { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "The input optical power of this port in units of 0.01dBm. + If the port is an aggregate of multiple physical channels, + this attribute is the total power or sum of all channels."; + } + } + + grouping terminal-ethernet-protocol-config { + description + "Configuration data for logical channels with Ethernet + framing"; + + leaf client-als { + type enumeration { + enum NONE { + description + "The client port will do nothing when a failure is + detected on the line port or the remote client port"; + } + enum LASER_SHUTDOWN { + description + "The client port will shut down the laser to notify the + subtending Ethernet equipment of the failure detected on + the line port or the remote client port."; + } + enum ETHERNET { + description + "The client port will propagate the local fault or remote + fault signal to the subtending Ethernet equipment."; + } + } + default ETHERNET; + description + "Sets the client port behavior that defines if the actions + of automatic laser shutdown (als), ethernet fault + propagation, or nothing will be done upon the detection + of a failure on the line port or the upstream remote + client port."; + } + + leaf als-delay { + type uint32; + units milliseconds; + default 0; + description + "The timer to delay the client-als actions on the client + port when a local or remote fault is detected on the line + port. The delay will only be valid when the client-als is + set to LASER_SHUTDOWN"; + } + } + + grouping terminal-ethernet-protocol-state { + description + "Ethernet-specific counters when logical channel + is using Ethernet protocol framing, e.g., 10GE, 100GE"; + + uses oc-eth:ethernet-interface-state-counters; + uses terminal-ethernet-protocol-state-counters; + } + + grouping terminal-ethernet-protocol-state-counters { + description + "Ethernet-specific counters for terminal devices when + logical channel is using Ethernet protocol framing, + e.g., 10GE, 100GE"; + + // ingress counters + + leaf in-pcs-bip-errors { + type oc-yang:counter64; + description + "The number of received bit interleaved parity (BIP) errors + at the physical coding sublayer (PCS). If the interface + consists of multiple lanes, this will be the sum of all + errors on the lane"; + } + + leaf in-pcs-errored-seconds { + type oc-yang:counter64; + description + "The number of seconds that physical coding sublayer (PCS) + errors have crossed a sytem defined threshold indicating the + link is erroring"; + } + + leaf in-pcs-severely-errored-seconds { + type oc-yang:counter64; + description + "The number of seconds that physical coding sublayer (PCS) + errors have crossed a system defined threshold indicating the + link is severely erroring"; + } + + leaf in-pcs-unavailable-seconds { + type oc-yang:counter64; + description + "The number of seconds that physical coding sublayer (PCS) + errors have crossed a system defined threshold indicating the + link is unavailable"; + } + + // egress counters + + leaf out-pcs-bip-errors { + type oc-yang:counter64; + description + "The number of transmitted bit interleaved parity (BIP) errors + at the physical coding sublayer (PCS). If the interface + consists of multiple lanes, this will be the sum of all + errors on the lane"; + } + + leaf out-crc-errors { + type oc-yang:counter64; + description + "Number of FCS/CRC error check failures sent on the interface"; + } + + leaf out-block-errors { + type oc-yang:counter64; + description + "The number of transmitted errored blocks. Error detection + codes are capable of detecting whether one or more errors have + occurred in a given sequence of bits the block. It is + normally not possible to determine the exact number of errored + bits within the block"; + } + } + + grouping terminal-ethernet-protocol-top { + description + "Top-level grouping for data related to Ethernet protocol + framing on logical channels"; + + container ethernet { + description + "Top level container for data related to Ethernet framing + for the logical channel"; + + container config { + description + "Configuration data for Ethernet protocol framing on + logical channels"; + + uses terminal-ethernet-protocol-config; + } + + container state { + config false; + description + "Operational state data for Ethernet protocol framing + on logical channels"; + + uses terminal-ethernet-protocol-config; + uses terminal-ethernet-protocol-state; + } + + uses lldp-logical-channel-top; + } + } + + grouping lldp-logical-channel-top { + description + "Top-level grouping for LLDP data for a logical channel"; + + container lldp { + description + "LLDP data for logical channels"; + + container config { + description + "LLDP configuration data for logical channels"; + + uses lldp-logical-channel-config; + } + + container state { + config false; + description + "LLDP operational state data for logical channels"; + + uses lldp-logical-channel-config; + uses oc-lldp:lldp-interface-state; + } + + uses lldp-logical-channel-neighbor-top; + } + } + + grouping lldp-logical-channel-config { + description + "Configuration data for LLDP for logical-channels"; + + leaf enabled { + type boolean; + default "false"; + description + "Enable or disable the LLDP protocol on the logical channel."; + } + + leaf snooping { + type boolean; + default "false"; + description + "If true, LLDP PDUs are only received and processed on + the logical-channel, but are not originated by the local + agent. The PDUs are not dropped by the logical channel after + processing, but relayed to the downstream link layer + neighbors. The snooping mode is valid only when LLDP is + enabled on the logical channel. The snooping mode is useful + when a logical channel does not want its link layer neighbors + to discover itself since, for example, it is a lower-layer + logical channel."; + } + } + + grouping lldp-logical-channel-neighbor-top { + description + "Top-level grouping for the LLDP neighbor list"; + + container neighbors { + config false; + description + "Enclosing container for list of LLDP neighbors on + a logical channel"; + + list neighbor { + key "id"; + description + "List of LLDP neighbors. If the implementation only + supports one neighbor, this would always be a list with + one item. If the device and neighbor supported multiple + neighbors, which can be achieved via LLDP forwarding, then + this would be supported"; + reference + "IEEE Std 802.1AB-2016, section 7.1, Destination address"; + + leaf id { + type leafref { + path "../state/id"; + } + description + "System generated identifier for the neighbor on + the logical channel."; + } + + container config { + description + "Configuration data "; + + uses lldp-logical-channel-neighbor-config; + } + + container state { + + config false; + + description + "Operational state data "; + + uses oc-lldp:lldp-system-info-config; + uses oc-lldp:lldp-system-info-state; + uses oc-lldp:lldp-neighbor-config; + uses oc-lldp:lldp-neighbor-state; + } + + uses oc-lldp:lldp-custom-tlv-top; + } + } + } + + grouping lldp-logical-channel-neighbor-config { + description + "Configuration data for LLDP neighbors"; + } + + grouping terminal-otn-protocol-config { + description + "OTU configuration when logical channel + framing is using an OTU protocol, e.g., OTU1, OTU3, etc."; + + leaf tti-msg-transmit { + type string; + description + "Trail trace identifier (TTI) message transmitted"; + } + + leaf tti-msg-expected { + type string; + description + "Trail trace identifier (TTI) message expected"; + } + + leaf tti-msg-auto { + type boolean; + description + "Trail trace identifier (TTI) transmit message automatically + created. If true, then setting a custom transmit message + would be invalid."; + } + + leaf tributary-slot-granularity { + type identityref { + base oc-opt-types:TRIBUTARY_SLOT_GRANULARITY; + } + description + "Granularity value of OPUk or OPUCn tributary slots for OTN + signal allocation. The currently defined values follow the + existing ITU-T G.709 standard, which can be extended as + needed in future."; + } + } + + grouping terminal-otn-protocol-counter-stats { + description + "Counter based statistics containers for logical channels + using OTN framing"; + + leaf errored-seconds { + type yang:counter64; + description + "The number of seconds that at least one errored blocks + occurs, at least one code violation occurs, loss of sync is + detected or loss of signal is detected"; + } + + leaf severely-errored-seconds { + type yang:counter64; + description + "The number of seconds that loss of frame is detected OR + the number of errored blocks, code violations, loss of sync + or loss of signal is detected exceeds a predefined + threshold"; + } + + leaf unavailable-seconds { + type yang:counter64; + description + "The number of seconds during which the link is unavailable"; + } + + leaf code-violations { + type yang:counter64; + description + "For ethernet or fiberchannel links, the number of 8b/10b + coding violations. For SONET/SDH, the number of BIP (bit + interleaved parity) errors"; + } + + leaf errored-blocks { + type yang:counter64; + description + "The number of errored blocks. Error detection codes are + capable to detect whether one or more errors have occurred + in a given sequence of bits the block. It is normally not + possible to determine the exact number of errored bits within + the block."; + reference "ITU-T Rec. G.826"; + } + + leaf fec-uncorrectable-blocks { + type yang:counter64; + description + "The number of blocks that were uncorrectable by the FEC"; + } + + leaf fec-uncorrectable-words { + type yang:counter64; + description + "The number of words that were uncorrectable by the FEC"; + } + + leaf fec-corrected-bytes { + type yang:counter64; + description + "The number of bytes that were corrected by the FEC"; + } + + leaf fec-corrected-bits { + type yang:counter64; + description + "The number of bits that were corrected by the FEC"; + } + + leaf background-block-errors { + type yang:counter64; + description + "The number of background block errors"; + } + } + + grouping terminal-otn-protocol-multi-stats { + description + "Multi-value statistics containers for logical channels using + OTN framing (e.g., max, min, avg, instant)"; + + container pre-fec-ber { + description + "Bit error rate before forward error correction -- computed + value with 18 decimal precision. Note that decimal64 + supports values as small as i x 10^-18 where i is an + integer. Values smaller than this should be reported as 0 + to inidicate error free or near error free performance. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision18-ber; + } + + container post-fec-ber { + description + "Bit error rate after forward error correction -- computed + value with 18 decimal precision. Note that decimal64 + supports values as small as i x 10^-18 where i is an + integer. Values smaller than this should be reported as 0 + to inidicate error free or near error free performance. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision18-ber; + } + + container q-value { + description + "Quality value (factor) in dB of a channel with two + decimal precision. Values include the instantaneous, + average, minimum, and maximum statistics. If avg/min/max + statistics are not supported, the target is expected + to just supply the instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dB; + } + + container esnr { + description + "Electrical signal to noise ratio. Baud rate + normalized signal to noise ratio based on + error vector magnitude in dB with two decimal + precision. Values include the instantaneous, average, + minimum, and maximum statistics. If avg/min/max + statistics are not supported, the target is expected + to just supply the instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dB; + } + } + + grouping terminal-otn-protocol-state { + description + "OTU operational state when logical channel + framing is using an OTU protocol, e.g., OTU1, OTU3, etc."; + + + leaf tti-msg-recv { + type string; + description + "Trail trace identifier (TTI) message received"; + } + + leaf rdi-msg { + type string; + description + "Remote defect indication (RDI) message received"; + } + uses terminal-otn-protocol-counter-stats; + uses terminal-otn-protocol-multi-stats; + } + + grouping terminal-otn-protocol-top { + description + "Top-level grouping for data related to OTN protocol framing"; + + container otn { + description + "Top level container for OTU configuration when logical + channel framing is using an OTU protocol, e.g., OTU1, OTU3, + etc."; + + container config { + description + "Configuration data for OTN protocol framing"; + + uses terminal-otn-protocol-config; + } + + container state { + + config false; + + description + "Operational state data for OTN protocol PMs, statistics, + etc."; + + uses terminal-otn-protocol-config; + uses terminal-otn-protocol-state; + } + } + } + + grouping terminal-client-port-assignment-config { + description + "Configuration data for assigning physical client ports to + logical channels"; + + leaf index { + type uint32; + description + "Index of the client port assignment"; + } + + leaf description { + type string; + description + "Descriptive name for the client port-to-logical channel + mapping"; + } + + leaf logical-channel { + type leafref { + path "/oc-opt-term:terminal-device/oc-opt-term:logical-channels" + + "/oc-opt-term:channel/oc-opt-term:index"; + } + description + "Reference to the logical channel for this + assignment"; + } + + leaf allocation { + type decimal64 { + fraction-digits 3; + } + units Gbps; + description + "Allocation of the client physical port to the assigned + logical channel expressed in Gbps. In most cases, + the full client physical port rate is assigned to a single + logical channel."; + } + + } + + grouping terminal-client-port-assignment-state { + description + "Operational state data for assigning physical client ports + to logical channels"; + } + + grouping terminal-client-port-assignment-top { + description + "Top-level grouping for the assigment of client physical ports + to logical channels"; + //TODO: this grouping could be removed, instead reusing a common + //grouping for logical client assignment pointers + + container logical-channel-assignments { + description + "Enclosing container for client port to logical client + mappings"; + + list assignment { + key "index"; + description + "List of assignments to logical clients"; + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index of this logical client + assignment"; + } + + container config { + description + "Configuration data for the logical client assignment"; + + uses terminal-client-port-assignment-config; + } + + container state { + + config false; + + description + "Operational state data for the logical client + assignment"; + + uses terminal-client-port-assignment-config; + uses terminal-client-port-assignment-state; + } + } + } + } + + + grouping terminal-logical-chan-assignment-config { + description + "Configuration data for assigning client logical channels + to line-side tributaries"; + + leaf index { + type uint32; + description + "Index of the current logical client channel to tributary + mapping"; + } + + leaf description { + type string; + description + "Name assigned to the logical client channel"; + } + + leaf assignment-type { + type enumeration { + enum LOGICAL_CHANNEL { + description + "Subsequent channel is a logical channel"; + } + enum OPTICAL_CHANNEL { + description + "Subsequent channel is a optical channel / carrier"; + } + } + description + "Each logical channel element may be assigned to subsequent + stages of logical elements to implement further grooming, or + can be assigned to a line-side optical channel for + transmission. Each assignment also has an associated + bandwidth allocation."; + } + + leaf logical-channel { + type leafref { + path "/oc-opt-term:terminal-device/" + + "oc-opt-term:logical-channels/oc-opt-term:channel/" + + "oc-opt-term:index"; + } + must "../assignment-type = 'LOGICAL_CHANNEL'" { + description + "The assignment-type must be set to LOGICAL_CHANNEL for + this leaf to be valid"; + } + description + "Reference to another stage of logical channel elements."; + } + + leaf optical-channel { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-platform:name"; + } + must "../assignment-type = 'OPTICAL_CHANNEL'" { + description + "The assignment-type must be set to OPTICAL_CHANNEL for + this leaf to be valid"; + } + description + "Reference to the line-side optical channel that should + carry the current logical channel element. Use this + reference to exit the logical element stage."; + } + + leaf allocation { + type decimal64 { + fraction-digits 3; + } + units Gbps; + description + "Allocation of the logical client channel to the tributary + or sub-channel, expressed in Gbps. Please note that if the + assignment is to an OTN logical channel, the allocation must + be an integer multiplication to tributary-slot-granularity + of the OTN logical channel."; + } + + leaf tributary-slot-index { + type int32; + description + "Indicates the first tributary slot index allocated to the + client signal or logical channel in the assignment. Valid + only when the assignment is to an OTN logical channel."; + } + + leaf mapping { + type identityref { + base oc-opt-types:FRAME_MAPPING_PROTOCOL; + } + description + "Logical channel mapping procedure. Valid only when the + assignment is to an OTN logical channel."; + } + } + + grouping terminal-logical-chan-assignment-state { + description + "Operational state data for the assignment of logical client + channel to line-side tributary"; + } + + grouping terminal-logical-chan-assignment-top { + description + "Top-level grouping for the list of logical client channel-to- + tributary assignments"; + + container logical-channel-assignments { + //TODO: we need a commonly understood name for this logical + //channel structure + description + "Enclosing container for tributary assignments"; + + list assignment { + key "index"; + description + "Logical channel elements may be assigned directly to + optical channels for line-side transmission, or can be + further groomed into additional stages of logical channel + elements. The grooming can multiplex (i.e., split the + current element into multiple elements in the subsequent + stage) or de-multiplex (i.e., combine the current element + with other elements into the same element in the subsequent + stage) logical elements in each stage. + + Note that to support the ability to groom the logical + elements, the list of logical channel elements should be + populated with an entry for the logical elements at + each stage, starting with the initial assignment from the + respective client physical port. + + Each logical element assignment consists of a pointer to + an element in the next stage, or to an optical channel, + along with a bandwidth allocation for the corresponding + assignment (e.g., to split or combine signal)."; + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index for the current tributary + assignment"; + } + + container config { + description + "Configuration data for tributary assignments"; + + uses terminal-logical-chan-assignment-config; + } + + container state { + + config false; + + description + "Operational state data for tributary assignments"; + + uses terminal-logical-chan-assignment-config; + uses terminal-logical-chan-assignment-state; + } + } + } + } + + grouping terminal-logical-channel-ingress-config { + description + "Configuration data for ingress signal to logical channel"; + + leaf transceiver { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-platform:name"; + } + description + "Reference to the transceiver carrying the input signal + for the logical channel. If specific physical channels + are mapped to the logical channel (as opposed to all + physical channels carried by the transceiver), they can be + specified in the list of physical channel references."; + } + + leaf-list physical-channel { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-transceiver:transceiver/" + + "oc-transceiver:physical-channels/" + + "oc-transceiver:channel/oc-transceiver:index"; + } + description + "This list should be populated with references + to the client physical channels that feed this logical + channel from the transceiver specified in the 'transceiver' + leaf, which must be specified. If this leaf-list is empty, + all physical channels in the transceiver are assumed to be + mapped to the logical channel."; + } + } + + grouping terminal-logical-channel-ingress-state { + description + "Operational state data for ingress signal to logical channel"; + } + + grouping terminal-logical-channel-ingress-top { + description + "Top-level grouping for ingress signal to logical channel"; + + container ingress { + description + "Top-level container for specifying references to the + source of signal for the logical channel, either a + transceiver or individual physical channels"; + + container config { + description + "Configuration data for the signal source for the + logical channel"; + + uses terminal-logical-channel-ingress-config; + } + + container state { + + config false; + + description + "Operational state data for the signal source for the + logical channel"; + + uses terminal-logical-channel-ingress-config; + uses terminal-logical-channel-ingress-state; + } + } + } + + grouping terminal-logical-channel-config { + description + "Configuration data for logical channels"; + + leaf index { + type uint32; + description + "Index of the current logical channel"; + } + + leaf description { + type string; + description + "Description of the logical channel"; + } + + leaf admin-state { + type oc-opt-types:admin-state-type; + description + "Sets the admin state of the logical channel"; + } + + leaf rate-class { + type identityref { + base oc-opt-types:TRIBUTARY_RATE_CLASS_TYPE; + } + description + "Rounded bit rate of the tributary signal. Exact bit rate + will be refined by protocol selection."; + } + + leaf trib-protocol { + type identityref { + base oc-opt-types:TRIBUTARY_PROTOCOL_TYPE; + } + description + "Protocol framing of the tributary signal. If this + LogicalChannel is directly connected to a Client-Port or + Optical-Channel, this is the protocol of the associated port. + If the LogicalChannel is connected to other LogicalChannels, + the TributaryProtocol of the LogicalChannels will define a + specific mapping/demapping or multiplexing/demultiplexing + function. + + Not all protocols are valid, depending on the value + of trib-rate-class. The expectation is that the NMS + will validate that a correct combination of rate class + and protocol are specfied. Basic combinations are: + + rate class: 1G + protocols: 1GE + + rate class: 2.5G + protocols: OC48, STM16 + + rate class: 10G + protocols: 10GE LAN, 10GE WAN, OC192, STM64, OTU2, OTU2e, + OTU1e, ODU2, ODU2e, ODU1e + + rate class: 40G + protocols: 40GE, OC768, STM256, OTU3, ODU3 + + rate class: 100G + protocols: 100GE, 100G MLG, OTU4, OTUCn, ODU4"; + } + + leaf logical-channel-type { + type identityref { + base oc-opt-types:LOGICAL_ELEMENT_PROTOCOL_TYPE; + } + description + "The type / stage of the logical element determines the + configuration and operational state parameters (PMs) + available for the logical element"; + } + + leaf loopback-mode { + type oc-opt-types:loopback-mode-type; + description + "Sets the loopback type on the logical channel. Setting the + mode to something besides NONE activates the loopback in + the specified mode."; + } + + leaf test-signal { + type boolean; + description + "When enabled the logical channel's DSP will generate a pseudo + randmon bit stream (PRBS) which can be used during testing."; + } + } + + + grouping terminal-logical-channel-state { + description + "Operational state data for logical client channels"; + + leaf link-state { + type enumeration { + enum UP { + description + "Logical channel is operationally up"; + } + enum DOWN { + description + "Logical channel is operationally down"; + } + enum TESTING { + description + "Logical channel is under test as a result of + enabling test-signal"; + } + } + description + "Link-state of the Ethernet protocol on the logical channel, + SONET / SDH framed signal, etc."; + } + + } + + grouping terminal-logical-channel-top { + description + "Top-level grouping for logical channels"; + + container logical-channels { + description + "Enclosing container the list of logical channels"; + + list channel { + key "index"; + description + "List of logical channels"; + //TODO: naming for this list of logical elements should be + //revisited. + + leaf index { + type leafref { + path "../config/index"; + } + description + "Reference to the index of the logical channel"; + } + + container config { + description + "Configuration data for logical channels"; + + uses terminal-logical-channel-config; + + } + + container state { + + config false; + + description + "Operational state data for logical channels"; + + uses terminal-logical-channel-config; + uses terminal-logical-channel-state; + } + + uses terminal-otn-protocol-top { + when "./config/logical-channel-type = 'PROT_OTN'" { + description + "Include the OTN protocol data only when the + channel is using OTN framing."; + } + } + uses terminal-ethernet-protocol-top { + when "./config/logical-channel-type = 'PROT_ETHERNET'" { + description + "Include the Ethernet protocol statistics only when the + protocol used by the link is Ethernet."; + } + } + uses terminal-logical-channel-ingress-top; + uses terminal-logical-chan-assignment-top; + } + } + } + + + grouping terminal-optical-channel-config { + description + "Configuration data for describing optical channels"; + + leaf frequency { + type oc-opt-types:frequency-type; + description + "Frequency of the optical channel, expressed in MHz"; + } + + leaf target-output-power { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "Target output optical power level of the optical channel, + expressed in increments of 0.01 dBm (decibel-milliwats)"; + } + + leaf operational-mode { + type uint16; + description + "Vendor-specific mode identifier -- sets the operational + mode for the channel. The specified operational mode must + exist in the list of supported operational modes supplied + by the device"; + // + // Ideally, this leaf should be a leafref to the supported + // operational modes, but YANG 1.0 does not allow a r/w + // leaf to be a leafref to a r/o leaf. + } + + + leaf line-port { + type leafref { + path "/oc-platform:components/oc-platform:component/" + + "oc-platform:name"; + } + description + "Reference to the line-side physical port that carries + this optical channel. The target port should be + a component in the physical inventory data model."; + } + } + + grouping terminal-optical-channel-state { + description + "Operational state data for optical channels"; + + leaf group-id { + type uint32; + description + "If the device places constraints on which optical + channels must be managed together (e.g., transmitted on the + same line port), it can indicate that by setting the group-id + to the same value across related optical channels."; + } + + uses oc-transceiver:optical-power-state; + + container chromatic-dispersion { + description + "Chromatic Dispersion of an optical channel in + picoseconds / nanometer (ps/nm) as reported by receiver + with two decimal precision. Values include the instantaneous, + average, minimum, and maximum statistics. If avg/min/max + statistics are not supported, the target is expected to just + supply the instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision2-ps-nm; + } + + container polarization-mode-dispersion { + description + "Polarization Mode Dispersion of an optical channel + in picosends (ps) as reported by receiver with two decimal + precision. Values include the instantaneous, average, + minimum, and maximum statistics. If avg/min/max statistics + are not supported, the target is expected to just supply the + instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision2-ps; + } + + container second-order-polarization-mode-dispersion { + description + "Second Order Polarization Mode Dispersion of an optical + channel in picoseconds squared (ps2) as reported by + receiver with two decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics. + If avg/min/max statistics are not supported, the target + is expected to just supply the instant value"; + + uses oc-opt-types:avg-min-max-instant-stats-precision2-ps2; + } + + container polarization-dependent-loss { + description + "Polarization Dependent Loss of an optical channel + in dB as reported by receiver with two decimal precision. + Values include the instantaneous, average, minimum, and + maximum statistics. If avg/min/max statistics are not + supported, the target is expected to just supply the + instant value"; + + uses oc-types:avg-min-max-instant-stats-precision2-dB; + } + } + + grouping terminal-optical-channel-top { + description + "Top-level grouping for optical channel data"; + + container optical-channel { + description + "Enclosing container for the list of optical channels"; + + container config { + description + "Configuration data for optical channels"; + + uses terminal-optical-channel-config; + } + + container state { + + config false; + + description + "Operational state data for optical channels"; + + uses terminal-optical-channel-config; + uses terminal-optical-channel-state; + } + } + } + + grouping terminal-operational-mode-config { + description + "Configuration data for vendor-supported operational modes"; + } + + grouping terminal-operational-mode-state { + description + "Operational state data for vendor-supported operational + modes"; + + leaf mode-id { + type uint16; + description + "Two-octet encoding of the vendor-defined operational + mode"; + } + + leaf description { + type string; + description + "Vendor-supplied textual description of the characteristics + of this operational mode to enable operators to select the + appropriate mode for the application."; + } + + //TODO: examples of the kind of info that would be useful to + //report in the operational mode: + //Symbol rate (32G, 40G, 43G, 64G, etc.) + //Modulation (QPSK, 8-QAM, 16-QAM, etc.) + //Differential encoding (on, off/pilot symbol, etc) + //State of polarization tracking mode (default, med. + //high-speed, etc.) + //Pulse shaping (RRC, RC, roll-off factor) + //FEC mode (SD, HD, % OH) + + leaf vendor-id { + type string; + description + "Identifier to represent the vendor / supplier of the + platform and the associated operational mode information"; + } + } + + grouping terminal-operational-mode-top { + description + "Top-level grouping for vendor-supported operational modes"; + + container operational-modes { + description + "Enclosing container for list of operational modes"; + + list mode { + key "mode-id"; + config false; + description + "List of operational modes supported by the platform. + The operational mode provides a platform-defined summary + of information such as symbol rate, modulation, pulse + shaping, etc."; + + leaf mode-id { + type leafref { + path "../state/mode-id"; + } + description + "Reference to mode-id"; + } + + container config { + description + "Configuration data for operational mode"; + + uses terminal-operational-mode-config; + } + + container state { + + config false; + + description + "Operational state data for the platform-defined + operational mode"; + + uses terminal-operational-mode-config; + uses terminal-operational-mode-state; + } + } + } + } + + grouping terminal-device-config { + description + "Configuration data for transport terminal devices at a + device-wide level"; + } + + grouping terminal-device-state { + description + "Operational state data for transport terminal devices at a + device-wide level"; + } + + grouping terminal-device-top { + description + "Top-level grouping for data for terminal devices"; + + container terminal-device { + description + "Top-level container for the terminal device"; + + container config { + description + "Configuration data for global terminal-device"; + + uses terminal-device-config; + } + + container state { + + config false; + + description + "Operational state data for global terminal device"; + + uses terminal-device-config; + uses terminal-device-state; + } + + uses terminal-logical-channel-top; + uses terminal-operational-mode-top; + + } + } + + // data definition statements + + uses terminal-device-top; + + // augment statements + + augment "/oc-platform:components/oc-platform:component" { + when "/oc-platform:components/oc-platform:component/" + + "oc-platform:state/oc-platform:type = 'OPTICAL_CHANNEL'" { + description + "Augment is active when component is of type + OPTICAL_CHANNEL"; + } + description + "Adding optical channel data to physical inventory"; + + uses terminal-optical-channel-top { + } + } +} diff --git a/vendor/cisco/xr/755/openconfig-transport-types.yang b/vendor/cisco/xr/755/openconfig-transport-types.yang new file mode 100644 index 000000000..2486cb462 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-transport-types.yang @@ -0,0 +1,1047 @@ +module openconfig-transport-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/transport-types"; + + prefix "oc-opt-types"; + + import openconfig-platform-types { prefix oc-platform-types; } + import openconfig-extensions { prefix oc-ext; } + import openconfig-types { prefix oc-types; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module contains general type definitions and identities + for optical transport models."; + + oc-ext:openconfig-version "0.9.0"; + + revision "2019-06-27" { + description + "Add FIBER_JUMPER_TYPE identityref."; + reference "0.9.0"; + } + + revision "2019-06-21" { + description + "Generalize and rename optical port type identity"; + reference "0.8.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.7.1"; + } + + revision "2018-10-23" { + description + "Added frame mapping protocols for logical channels assignments + and tributary slot granularity for OTN logical channels"; + reference "0.7.0"; + } + + revision "2018-05-16" { + description + "Added interval,min,max time to interval stats."; + reference "0.6.0"; + } + + revision "2017-08-16" { + description + "Added ODU Cn protocol type"; + reference "0.5.0"; + } + + revision "2016-12-22" { + description + "Fixes and additions for terminal optics model"; + reference "0.4.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef frequency-type { + type uint64; + units "MHz"; + description + "Type for optical spectrum frequency values"; + } + + typedef admin-state-type { + type enumeration { + enum ENABLED { + description + "Sets the channel admin state to enabled"; + } + enum DISABLED { + description + "Sets the channel admin state to disabled"; + } + enum MAINT { + description + "Sets the channel to maintenance / diagnostic mode"; + } + } + description "Administrative state modes for + logical channels in the transponder model."; + } + + typedef loopback-mode-type { + type enumeration { + enum NONE { + description + "No loopback is applied"; + } + enum FACILITY { + description + "A loopback which directs traffic normally transmitted + on the port back to the device as if received on the same + port from an external source."; + } + enum TERMINAL { + description + "A loopback which directs traffic received from an external + source on the port back out the transmit side of the same + port."; + } + } + default NONE; + description + "Loopback modes for transponder logical channels"; + } + + identity FRAME_MAPPING_PROTOCOL { + description + "Base identity for frame mapping protocols that can be used + when mapping Ethernet, OTN or other client signals to OTN + logical channels."; + } + + identity AMP { + base FRAME_MAPPING_PROTOCOL; + description "Asynchronous Mapping Procedure"; + } + + identity GMP { + base FRAME_MAPPING_PROTOCOL; + description "Generic Mapping Procedure"; + } + + identity BMP { + base FRAME_MAPPING_PROTOCOL; + description "Bit-synchronous Mapping Procedure"; + } + + identity CBR { + base FRAME_MAPPING_PROTOCOL; + description "Constant Bit Rate Mapping Procedure"; + } + + identity GFP_T { + base FRAME_MAPPING_PROTOCOL; + description "Transparent Generic Framing Protocol"; + } + + identity GFP_F { + base FRAME_MAPPING_PROTOCOL; + description "Framed-Mapped Generic Framing Protocol"; + } + + identity TRIBUTARY_SLOT_GRANULARITY { + description + "Base identity for tributary slot granularity for OTN + logical channels."; + } + + identity TRIB_SLOT_1.25G { + base TRIBUTARY_SLOT_GRANULARITY; + description + "The tributary slot with a bandwidth of approximately 1.25 Gb/s + as defined in ITU-T G.709 standard."; + } + + identity TRIB_SLOT_2.5G { + base TRIBUTARY_SLOT_GRANULARITY; + description + "The tributary slot with a bandwidth of approximately 2.5 Gb/s + as defined in ITU-T G.709 standard."; + } + + identity TRIB_SLOT_5G { + base TRIBUTARY_SLOT_GRANULARITY; + description + "The tributary slot with a bandwidth of approximately 5 Gb/s + as defined in ITU-T G.709 standard."; + } + + // grouping statements + + grouping avg-min-max-instant-stats-precision2-ps-nm { + description + "Common grouping for recording picosecond per nanometer + values with 2 decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics. + Statistics are computed and reported based on a moving time + interval (e.g., the last 30s). If supported by the device, + the time interval over which the statistics are computed, and + the times at which the minimum and maximum values occurred, + are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 2; + } + units ps-nm; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 2; + } + units ps-nm; + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 2; + } + units ps-nm; + description + "The minimum value of the statistic over the time interval."; + } + + leaf max { + type decimal64 { + fraction-digits 2; + } + units ps-nm; + description + "The maximum value of the statistic over the time interval."; + } + + uses oc-types:stat-interval-state; + uses oc-types:min-max-time; + } + + grouping avg-min-max-instant-stats-precision2-ps { + description + "Common grouping for recording picosecond values with + 2 decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics. + Statistics are computed and reported based on a moving time + interval (e.g., the last 30s). If supported by the device, + the time interval over which the statistics are computed, and + the times at which the minimum and maximum values occurred, + are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 2; + } + units ps; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 2; + } + units ps; + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 2; + } + units ps; + description + "The minimum value of the statistic over the time interval."; + } + + leaf max { + type decimal64 { + fraction-digits 2; + } + units ps; + description + "The maximum value of the statistic over the time interval."; + } + + uses oc-types:stat-interval-state; + uses oc-types:min-max-time; + } + + grouping avg-min-max-instant-stats-precision2-ps2 { + description + "Common grouping for recording picosecond^2 values with + 2 decimal precision. Values include the + instantaneous, average, minimum, and maximum statistics. + Statistics are computed and reported based on a moving time + interval (e.g., the last 30s). If supported by the device, + the time interval over which the statistics are computed, and + the times at which the minimum and maximum values occurred, + are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 2; + } + units ps^2; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 2; + } + units ps^2; + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 2; + } + units ps^2; + description + "The minimum value of the statistic over the time interval."; + } + + leaf max { + type decimal64 { + fraction-digits 2; + } + units ps^2; + description + "The maximum value of the statistic over the time + interval."; + } + + uses oc-types:stat-interval-state; + uses oc-types:min-max-time; + } + + grouping avg-min-max-instant-stats-precision18-ber { + description + "Common grouping for recording bit error rate (BER) values + with 18 decimal precision. Note that decimal64 supports + values as small as i x 10^-18 where i is an integer. Values + smaller than this should be reported as 0 to inidicate error + free or near error free performance. Values include the + instantaneous, average, minimum, and maximum statistics. + Statistics are computed and reported based on a moving time + interval (e.g., the last 30s). If supported by the device, + the time interval over which the statistics are computed, and + the times at which the minimum and maximum values occurred, + are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 18; + } + units bit-errors-per-second; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 18; + } + units bit-errors-per-second; + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 18; + } + units bit-errors-per-second; + description + "The minimum value of the statistic over the time + interval."; + } + + leaf max { + type decimal64 { + fraction-digits 18; + } + units bit-errors-per-second; + description + "The maximum value of the statistic over the time + interval."; + } + + uses oc-types:stat-interval-state; + uses oc-types:min-max-time; + } + + // identity statements + + identity TRIBUTARY_PROTOCOL_TYPE { + description + "Base identity for protocol framing used by tributary + signals."; + } + + identity PROT_1GE { + base TRIBUTARY_PROTOCOL_TYPE; + description "1G Ethernet protocol"; + } + + identity PROT_OC48 { + base TRIBUTARY_PROTOCOL_TYPE; + description "OC48 protocol"; + } + + identity PROT_STM16 { + base TRIBUTARY_PROTOCOL_TYPE; + description "STM 16 protocol"; + } + + identity PROT_10GE_LAN { + base TRIBUTARY_PROTOCOL_TYPE; + description "10G Ethernet LAN protocol"; + } + + identity PROT_10GE_WAN { + base TRIBUTARY_PROTOCOL_TYPE; + description "10G Ethernet WAN protocol"; + } + + identity PROT_OC192 { + base TRIBUTARY_PROTOCOL_TYPE; + description "OC 192 (9.6GB) port protocol"; + } + + identity PROT_STM64 { + base TRIBUTARY_PROTOCOL_TYPE; + description "STM 64 protocol"; + } + + identity PROT_OTU2 { + base TRIBUTARY_PROTOCOL_TYPE; + description "OTU 2 protocol"; + } + + identity PROT_OTU2E { + base TRIBUTARY_PROTOCOL_TYPE; + description "OTU 2e protocol"; + } + + identity PROT_OTU1E { + base TRIBUTARY_PROTOCOL_TYPE; + description "OTU 1e protocol"; + } + + identity PROT_ODU2 { + base TRIBUTARY_PROTOCOL_TYPE; + description "ODU 2 protocol"; + } + + identity PROT_ODU2E { + base TRIBUTARY_PROTOCOL_TYPE; + description "ODU 2e protocol"; + } + + identity PROT_40GE { + base TRIBUTARY_PROTOCOL_TYPE; + description "40G Ethernet port protocol"; + } + + identity PROT_OC768 { + base TRIBUTARY_PROTOCOL_TYPE; + description "OC 768 protocol"; + } + + identity PROT_STM256 { + base TRIBUTARY_PROTOCOL_TYPE; + description "STM 256 protocol"; + } + + identity PROT_OTU3 { + base TRIBUTARY_PROTOCOL_TYPE; + description "OTU 3 protocol"; + } + + identity PROT_ODU3 { + base TRIBUTARY_PROTOCOL_TYPE; + description "ODU 3 protocol"; + } + + identity PROT_100GE { + base TRIBUTARY_PROTOCOL_TYPE; + description "100G Ethernet protocol"; + } + + identity PROT_100G_MLG { + base TRIBUTARY_PROTOCOL_TYPE; + description "100G MLG protocol"; + } + + identity PROT_OTU4 { + base TRIBUTARY_PROTOCOL_TYPE; + description "OTU4 signal protocol (112G) for transporting + 100GE signal"; + } + + identity PROT_OTUCN { + base TRIBUTARY_PROTOCOL_TYPE; + description "OTU Cn protocol"; + } + + identity PROT_ODUCN { + base TRIBUTARY_PROTOCOL_TYPE; + description "ODU Cn protocol"; + } + + identity PROT_ODU4 { + base TRIBUTARY_PROTOCOL_TYPE; + description "ODU 4 protocol"; + } + + identity TRANSCEIVER_FORM_FACTOR_TYPE { + description + "Base identity for identifying the type of pluggable optic + transceiver (i.e,. form factor) used in a port."; + } + + identity CFP { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "C form-factor pluggable, that can support up to a + 100 Gb/s signal with 10x10G or 4x25G physical channels"; + } + + identity CFP2 { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "1/2 C form-factor pluggable, that can support up to a + 200 Gb/s signal with 10x10G, 4x25G, or 8x25G physical + channels"; + } + + identity CFP2_ACO { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "CFP2 analog coherent optics transceiver, supporting + 100 Gb, 200Gb, and 250 Gb/s signal."; + } + + identity CFP4 { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "1/4 C form-factor pluggable, that can support up to a + 100 Gb/s signal with 10x10G or 4x25G physical channels"; + } + + identity QSFP { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "OriginalQuad Small Form-factor Pluggable transceiver that can + support 4x1G physical channels. Not commonly used."; + } + + identity QSFP_PLUS { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "Quad Small Form-factor Pluggable transceiver that can support + up to 4x10G physical channels."; + } + + identity QSFP28 { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "QSFP pluggable optic with support for up to 4x28G physical + channels"; + } + + identity CPAK { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "Cisco CPAK transceiver supporting 100 Gb/s."; + } + + identity SFP { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "Small form-factor pluggable transceiver supporting up to + 10 Gb/s signal"; + } + + identity SFP_PLUS { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "Enhanced small form-factor pluggable transceiver supporting + up to 16 Gb/s signals, including 10 GbE and OTU2"; + } + + identity XFP { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "10 Gigabit small form factor pluggable transceiver supporting + 10 GbE and OTU2"; + } + + identity X2 { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "10 Gigabit small form factor pluggable transceiver supporting + 10 GbE using a XAUI inerface and 4 data channels."; + } + + identity NON_PLUGGABLE { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "Represents a port that does not require a pluggable optic, + e.g., with on-board optics like COBO"; + } + + identity OTHER { + base TRANSCEIVER_FORM_FACTOR_TYPE; + description + "Represents a transceiver form factor not otherwise listed"; + } + + identity FIBER_CONNECTOR_TYPE { + description + "Type of optical fiber connector"; + } + + identity SC_CONNECTOR { + base FIBER_CONNECTOR_TYPE; + description + "SC type fiber connector"; + } + + identity LC_CONNECTOR { + base FIBER_CONNECTOR_TYPE; + description + "LC type fiber connector"; + } + + identity MPO_CONNECTOR { + base FIBER_CONNECTOR_TYPE; + description + "MPO (multi-fiber push-on/pull-off) type fiber connector + 1x12 fibers"; + } + + identity ETHERNET_PMD_TYPE { + description + "Ethernet compliance codes (PMD) supported by transceivers"; + } + + identity ETH_10GBASE_LRM { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 10GBASE_LRM"; + } + + identity ETH_10GBASE_LR { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 10GBASE_LR"; + } + + identity ETH_10GBASE_ZR { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 10GBASE_ZR"; + } + + identity ETH_10GBASE_ER { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 10GBASE_ER"; + } + + identity ETH_10GBASE_SR { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 10GBASE_SR"; + } + + identity ETH_40GBASE_CR4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 40GBASE_CR4"; + } + + identity ETH_40GBASE_SR4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 40GBASE_SR4"; + } + + identity ETH_40GBASE_LR4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 40GBASE_LR4"; + } + + identity ETH_40GBASE_ER4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 40GBASE_ER4"; + } + + identity ETH_40GBASE_PSM4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 40GBASE_PSM4"; + } + + identity ETH_4X10GBASE_LR { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 4x10GBASE_LR"; + } + + identity ETH_4X10GBASE_SR { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 4x10GBASE_SR"; + } + + identity ETH_100G_AOC { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100G_AOC"; + } + + identity ETH_100G_ACC { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100G_ACC"; + } + + identity ETH_100GBASE_SR10 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_SR10"; + } + + identity ETH_100GBASE_SR4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_SR4"; + } + + identity ETH_100GBASE_LR4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_LR4"; + } + + identity ETH_100GBASE_ER4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_ER4"; + } + + identity ETH_100GBASE_CWDM4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_CWDM4"; + } + + identity ETH_100GBASE_CLR4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_CLR4"; + } + + identity ETH_100GBASE_PSM4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_PSM4"; + } + + identity ETH_100GBASE_CR4 { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: 100GBASE_CR4"; + } + + identity ETH_UNDEFINED { + base ETHERNET_PMD_TYPE; + description "Ethernet compliance code: undefined"; + } + + identity SONET_APPLICATION_CODE { + description + "Supported SONET/SDH application codes"; + } + + identity VSR2000_3R2 { + base SONET_APPLICATION_CODE; + description + "SONET/SDH application code: VSR2000_3R2"; + } + + identity VSR2000_3R3 { + base SONET_APPLICATION_CODE; + description + "SONET/SDH application code: VSR2000_3R3"; + } + + identity VSR2000_3R5 { + base SONET_APPLICATION_CODE; + description + "SONET/SDH application code: VSR2000_3R5"; + } + + identity SONET_UNDEFINED { + base SONET_APPLICATION_CODE; + description + "SONET/SDH application code: undefined"; + } + + identity OTN_APPLICATION_CODE { + description + "Supported OTN application codes"; + } + + identity P1L1_2D1 { + base OTN_APPLICATION_CODE; + description + "OTN application code: P1L1_2D1"; + } + + identity P1S1_2D2 { + base OTN_APPLICATION_CODE; + description + "OTN application code: P1S1_2D2"; + } + + identity P1L1_2D2 { + base OTN_APPLICATION_CODE; + description + "OTN application code: P1L1_2D2"; + } + + identity OTN_UNDEFINED { + base OTN_APPLICATION_CODE; + description + "OTN application code: undefined"; + } + + identity TRIBUTARY_RATE_CLASS_TYPE { + description + "Rate of tributary signal _- identities will typically reflect + rounded bit rate."; + } + + identity TRIB_RATE_1G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "1G tributary signal rate"; + } + + identity TRIB_RATE_2.5G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "2.5G tributary signal rate"; + } + + identity TRIB_RATE_10G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "10G tributary signal rate"; + } + + identity TRIB_RATE_40G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "40G tributary signal rate"; + } + + identity TRIB_RATE_100G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "100G tributary signal rate"; + } + + identity TRIB_RATE_150G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "150G tributary signal rate"; + } + + identity TRIB_RATE_200G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "200G tributary signal rate"; + } + + identity TRIB_RATE_250G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "250G tributary signal rate"; + } + + identity TRIB_RATE_300G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "300G tributary signal rate"; + } + + identity TRIB_RATE_400G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "400G tributary signal rate"; + } + + identity TRIB_RATE_500G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "500G tributary signal rate"; + } + + identity TRIB_RATE_600G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "600G tributary signal rate"; + } + + identity TRIB_RATE_700G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "700G tributary signal rate"; + } + + identity TRIB_RATE_800G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "800G tributary signal rate"; + } + + identity TRIB_RATE_900G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "900G tributary signal rate"; + } + + identity TRIB_RATE_1000G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "1000G tributary signal rate"; + } + + identity TRIB_RATE_1100G { + base TRIBUTARY_RATE_CLASS_TYPE; + description + "1100G tributary signal rate"; + } + + identity LOGICAL_ELEMENT_PROTOCOL_TYPE { + description + "Type of protocol framing used on the logical channel or + tributary"; + } + + identity PROT_ETHERNET { + base LOGICAL_ELEMENT_PROTOCOL_TYPE; + description + "Ethernet protocol framing"; + } + + identity PROT_OTN { + base LOGICAL_ELEMENT_PROTOCOL_TYPE; + description + "OTN protocol framing"; + } + + identity OPTICAL_CHANNEL { + base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT; + description + "Optical channels act as carriers for transport traffic + directed over a line system. They are represented as + physical components in the physical inventory model."; + } + + identity FIBER_JUMPER_TYPE { + description + "Types of fiber jumpers used for connecting device ports"; + } + + identity FIBER_JUMPER_SIMPLEX { + base FIBER_JUMPER_TYPE; + description + "Simplex fiber jumper"; + } + + identity FIBER_JUMPER_MULTI_FIBER_STRAND { + base FIBER_JUMPER_TYPE; + description + "One strand of a fiber jumper which contains multiple fibers + within it, such as an MPO based fiber jumper"; + } + + identity OPTICAL_PORT_TYPE { + description + "Type definition for optical transport port types"; + } + + identity INGRESS { + base OPTICAL_PORT_TYPE; + description + "Ingress port, corresponding to a signal entering + a line system device such as an amplifier or wavelength + router."; + } + + identity EGRESS { + base OPTICAL_PORT_TYPE; + description + "Egress port, corresponding to a signal exiting + a line system device such as an amplifier or wavelength + router."; + } + + identity ADD { + base OPTICAL_PORT_TYPE; + description + "Add port, corresponding to a signal injected + at a wavelength router."; + } + + identity DROP { + base OPTICAL_PORT_TYPE; + description + "Drop port, corresponding to a signal dropped + at a wavelength router."; + } + + identity MONITOR { + base OPTICAL_PORT_TYPE; + description + "Monitor port, corresponding to a signal used by an optical + channel monitor. This is used to represent the connection + that a channel monitor port is connected to, typically on a + line system device. This connection may be via physical cable + and faceplate ports or internal to the device"; + } + + identity TERMINAL_CLIENT { + base OPTICAL_PORT_TYPE; + description + "Client-facing port on a terminal optics device (e.g., + transponder or muxponder)."; + } + + identity TERMINAL_LINE { + base OPTICAL_PORT_TYPE; + description + "Line-facing port on a terminal optics device (e.g., + transponder or muxponder)."; + } + +} diff --git a/vendor/cisco/xr/755/openconfig-types.yang b/vendor/cisco/xr/755/openconfig-types.yang new file mode 100644 index 000000000..0bc78aff4 --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-types.yang @@ -0,0 +1,472 @@ +module openconfig-types { + yang-version "1"; + + namespace "http://openconfig.net/yang/openconfig-types"; + + prefix "oc-types"; + + // import statements + import openconfig-extensions { prefix oc-ext; } + + // meta + organization + "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module contains a set of general type definitions that + are used across OpenConfig models. It can be imported by modules + that make use of these types."; + + oc-ext:openconfig-version "0.6.0"; + + revision "2019-04-16" { + description + "Clarify definition of timeticks64."; + reference "0.6.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "0.5.1"; + } + + revision "2018-05-05" { + description + "Add grouping of min-max-time and + included them to all stats with min/max/avg"; + reference "0.5.0"; + } + + revision "2018-01-16" { + description + "Add interval to min/max/avg stats; add percentage stat"; + reference "0.4.0"; + } + + revision "2017-08-16" { + description + "Apply fix for ieetfloat32 length parameter"; + reference "0.3.3"; + } + + revision "2017-01-13" { + description + "Add ADDRESS_FAMILY identity"; + reference "0.3.2"; + } + + revision "2016-11-14" { + description + "Correct length of ieeefloat32"; + reference "0.3.1"; + } + + revision "2016-11-11" { + description + "Additional types - ieeefloat32 and routing-password"; + reference "0.3.0"; + } + + revision "2016-05-31" { + description + "OpenConfig public release"; + reference "0.2.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + typedef percentage { + type uint8 { + range "0..100"; + } + description + "Integer indicating a percentage value"; + } + + typedef std-regexp { + type string; + description + "This type definition is a placeholder for a standard + definition of a regular expression that can be utilised in + OpenConfig models. Further discussion is required to + consider the type of regular expressions that are to be + supported. An initial proposal is POSIX compatible."; + } + + typedef timeticks64 { + type uint64; + units "nanoseconds"; + description + "The timeticks64 represents the time, modulo 2^64 in + nanoseconds between two epochs. The leaf using this + type must define the epochs that tests are relative to."; + } + + typedef ieeefloat32 { + type binary { + length "4"; + } + description + "An IEEE 32-bit floating point number. The format of this number + is of the form: + 1-bit sign + 8-bit exponent + 23-bit fraction + The floating point value is calculated using: + (-1)**S * 2**(Exponent-127) * (1+Fraction)"; + } + + typedef routing-password { + type string; + description + "This type is indicative of a password that is used within + a routing protocol which can be returned in plain text to the + NMS by the local system. Such passwords are typically stored + as encrypted strings. Since the encryption used is generally + well known, it is possible to extract the original value from + the string - and hence this format is not considered secure. + Leaves specified with this type should not be modified by + the system, and should be returned to the end-user in plain + text. This type exists to differentiate passwords, which + may be sensitive, from other string leaves. It could, for + example, be used by the NMS to censor this data when + viewed by particular users."; + } + + typedef stat-interval { + type uint64; + units nanoseconds; + description + "A time interval over which a set of statistics is computed. + A common usage is to report the interval over which + avg/min/max stats are computed and reported."; + } + + grouping stat-interval-state { + description + "Reusable leaf definition for stats computation interval"; + + leaf interval { + type oc-types:stat-interval; + description + "If supported by the system, this reports the time interval + over which the min/max/average statistics are computed by + the system."; + } + } + + grouping min-max-time { + description + "Common grouping for recording the absolute time at which + the minimum and maximum values occurred in the statistics"; + + leaf min-time { + type oc-types:timeticks64; + description + "The absolute time at which the minimum value occurred. + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + + leaf max-time { + type oc-types:timeticks64; + description + "The absolute time at which the maximum value occurred. + The value is the timestamp in nanoseconds relative to + the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + } + + grouping avg-min-max-stats-precision1 { + description + "Common nodes for recording average, minimum, and + maximum values for a statistic. These values all have + fraction-digits set to 1. Statistics are computed + and reported based on a moving time interval (e.g., the last + 30s). If supported by the device, the time interval over which + the statistics are computed is also reported."; + + leaf avg { + type decimal64 { + fraction-digits 1; + } + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 1; + } + description + "The minimum value of the statistic over the time + interval."; + } + + leaf max { + type decimal64 { + fraction-digits 1; + } + description + "The maximum value of the statitic over the time + interval."; + } + + uses stat-interval-state; + uses min-max-time; + } + + grouping avg-min-max-instant-stats-precision1 { + description + "Common grouping for recording an instantaneous statistic value + in addition to avg-min-max stats"; + + leaf instant { + type decimal64 { + fraction-digits 1; + } + description + "The instantaneous value of the statistic."; + } + + uses avg-min-max-stats-precision1; + } + + grouping avg-min-max-instant-stats-precision2-dB { + description + "Common grouping for recording dB values with 2 decimal + precision. Values include the instantaneous, average, + minimum, and maximum statistics. Statistics are computed + and reported based on a moving time interval (e.g., the last + 30s). If supported by the device, the time interval over which + the statistics are computed, and the times at which the minimum + and maximum values occurred, are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 2; + } + units dB; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 2; + } + units dB; + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 2; + } + units dB; + description + "The minimum value of the statistic over the time interval."; + } + + leaf max { + type decimal64 { + fraction-digits 2; + } + units dB; + description + "The maximum value of the statistic over the time + interval."; + } + + uses stat-interval-state; + uses min-max-time; + } + + grouping avg-min-max-instant-stats-precision2-dBm { + description + "Common grouping for recording dBm values with 2 decimal + precision. Values include the instantaneous, average, + minimum, and maximum statistics. Statistics are computed + and reported based on a moving time interval (e.g., the last + 30s). If supported by the device, the time interval over which + the statistics are computed, and the times at which the minimum + and maximum values occurred, are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "The minimum value of the statistic over the time + interval."; + } + + leaf max { + type decimal64 { + fraction-digits 2; + } + units dBm; + description + "The maximum value of the statistic over the time interval."; + } + + uses stat-interval-state; + uses min-max-time; + } + + grouping avg-min-max-instant-stats-precision2-mA { + description + "Common grouping for recording mA values with 2 decimal + precision. Values include the instantaneous, average, + minimum, and maximum statistics. Statistics are computed + and reported based on a moving time interval (e.g., the last + 30s). If supported by the device, the time interval over which + the statistics are computed, and the times at which the minimum + and maximum values occurred, are also reported."; + + leaf instant { + type decimal64 { + fraction-digits 2; + } + units mA; + description + "The instantaneous value of the statistic."; + } + + leaf avg { + type decimal64 { + fraction-digits 2; + } + units mA; + description + "The arithmetic mean value of the statistic over the + time interval."; + } + + leaf min { + type decimal64 { + fraction-digits 2; + } + units mA; + description + "The minimum value of the statistic over the time + interval."; + } + + leaf max { + type decimal64 { + fraction-digits 2; + } + units mA; + description + "The maximum value of the statistic over the time + interval."; + } + + uses stat-interval-state; + uses min-max-time; + } + + grouping avg-min-max-instant-stats-pct { + description + "Common grouping for percentage statistics. + Values include the instantaneous, average, + minimum, and maximum statistics. Statistics are computed + and reported based on a moving time interval (e.g., the last + 30s). If supported by the device, the time interval over which + the statistics are computed, and the times at which the minimum + and maximum values occurred, are also reported."; + + leaf instant { + type oc-types:percentage; + description + "The instantaneous percentage value."; + } + + leaf avg { + type oc-types:percentage; + description + "The arithmetic mean value of the percentage measure of the + statistic over the time interval."; + } + + leaf min { + type oc-types:percentage; + description + "The minimum value of the percentage measure of the + statistic over the time interval."; + } + + leaf max { + type oc-types:percentage; + description + "The maximum value of the percentage measure of the + statistic over the time interval."; + } + + uses stat-interval-state; + uses min-max-time; + } + + identity ADDRESS_FAMILY { + description + "A base identity for all address families"; + } + + identity IPV4 { + base ADDRESS_FAMILY; + description + "The IPv4 address family"; + } + + identity IPV6 { + base ADDRESS_FAMILY; + description + "The IPv6 address family"; + } + + identity MPLS { + base ADDRESS_FAMILY; + description + "The MPLS address family"; + } + + identity L2_ETHERNET { + base ADDRESS_FAMILY; + description + "The 802.3 Ethernet address family"; + } + +} + diff --git a/vendor/cisco/xr/755/openconfig-vlan-types.yang b/vendor/cisco/xr/755/openconfig-vlan-types.yang new file mode 100644 index 000000000..673461d7c --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-vlan-types.yang @@ -0,0 +1,283 @@ +module openconfig-vlan-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/vlan-types"; + + prefix "oc-vlan-types"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module defines configuration and state variables for VLANs, + in addition to VLAN parameters associated with interfaces"; + + oc-ext:openconfig-version "3.2.0"; + + revision "2022-05-24" { + description + "Remove module extension oc-ext:regexp-posix by making pattern regexes + conform to RFC6020/7950. + Types impacted: + - vlan-range + - qinq-id + - qinq-id-range"; + reference "3.2.0"; + } + + revision "2020-06-30" { + description + "Add OpenConfig POSIX pattern extensions."; + reference "3.1.1"; + } + + revision "2019-01-31" { + description + "Add TPID_ANY wildcard match and a QinQ list type."; + reference "3.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.1"; + } + + revision "2018-02-14" { + description + "Fix bug with name of 802.1ad identity."; + reference "3.0.0"; + } + + revision "2017-07-14" { + description + "Move top-level vlan data to network-instance; Update + identities to comply to style guide; fixed pattern + quoting; corrected trunk vlan types; added TPID config to + base interface."; + reference "2.0.0"; + } + + revision "2016-05-26" { + description + "OpenConfig public release"; + reference "1.0.2"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // extension statements + + // feature statements + + // identity statements + + identity TPID_TYPES { + description + "Base identity for TPID values that can be matched or that override + the VLAN ethertype value"; + } + + identity TPID_0X8100 { + base TPID_TYPES; + description + "Default TPID value for 802.1q single-tagged VLANs."; + } + + identity TPID_0X88A8 { + base TPID_TYPES; + description + "TPID value for 802.1ad provider bridging, QinQ or + stacked VLANs."; + } + + identity TPID_0X9100 { + base TPID_TYPES; + description + "Alternate TPID value."; + } + + identity TPID_0X9200 { + base TPID_TYPES; + description + "Alternate TPID value."; + } + + identity TPID_ANY { + base TPID_TYPES; + description + "A wildcard that matches any of the generally used TPID values + for singly- or multiply-tagged VLANs. Equivalent to matching + any of TPID_0X8100, TPID_0X88A8, TPID_0X9100 and TPID_0x9200. + This value is only applicable where the TPID of a packet is + being matched."; + } + + // typedef statements + + // TODO: typedefs should be defined in a vlan-types.yang file. + typedef vlan-id { + type uint16 { + range 1..4094; + } + description + "Type definition representing a single-tagged VLAN"; + } + + typedef vlan-range { + type string { + // range specified as [lower]..[upper] + 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])'; + oc-ext:posix-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])$'; + } + description + "Type definition representing a range of single-tagged + VLANs. A range is specified as x..y where x and y are + valid VLAN IDs (1 <= vlan-id <= 4094). The range is + assumed to be inclusive, such that any VLAN-ID matching + x <= VLAN-ID <= y falls within the range."; + } + + typedef qinq-id { + 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])|\*)'; + oc-ext:posix-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])|\*)$'; + } + description + "Type definition representing a single double-tagged/QinQ VLAN + identifier. The format of a QinQ VLAN-ID is x.y where X is the + 'outer' VLAN identifier, and y is the 'inner' VLAN identifier. + Both x and y must be valid VLAN IDs (1 <= vlan-id <= 4094) + with the exception that y may be equal to a wildcard (*). In + cases where y is set to the wildcard, this represents all inner + VLAN identifiers where the outer VLAN identifier is equal to + x."; + } + + typedef qinq-id-range { + type union { + type string { + // match cases where the range is specified as x..y.z + 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])|\*)'; + oc-ext:posix-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])|\*)$'; + } + type string { + // match cases where the range is specified as x.y..z + 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])'; + oc-ext:posix-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])$'; + } + } + description + "A type definition representing a range of double-tagged/QinQ + VLAN identifiers. The format of a QinQ VLAN-ID range can be + specified in two formats. Where the range is outer VLAN IDs + the range is specified as x..y.z. In this case outer VLAN + identifiers meeting the criteria x <= outer-vlan-id <= y are + accepted if and only if the inner VLAN-ID is equal to y - or + any inner-tag if the wildcard is specified. Alternatively the + ange can be specified as x.y..z. In this case only VLANs with an + outer-vlan-id qual to x are accepted (x may again be the + wildcard). Inner VLANs are accepted if they meet the inequality + y <= inner-vlan-id <= z."; + } + + typedef vlan-mode-type { + type enumeration { + enum ACCESS { + description "Access mode VLAN interface (No 802.1q header)"; + } + enum TRUNK { + description "Trunk mode VLAN interface"; + } + } + description + "VLAN interface mode (trunk or access)"; + } + + typedef vlan-ref { + type union { + type vlan-id; + type string; + // TODO: string should be changed to leafref to reference + // an existing VLAN. this is not allowed in YANG 1.0 but + // is expected to be in YANG 1.1. + // type leafref { + // path "vlan:vlans/vlan:vlan/vlan:config/vlan:name"; + // } + } + description + "Reference to a VLAN by name or id"; + } + + typedef vlan-stack-action { + type enumeration { + enum PUSH { + description + "Push a VLAN onto the VLAN stack."; + } + enum POP { + description + "Pop a VLAN from the VLAN stack."; + } + enum SWAP { + description + "Swap the VLAN at the top of the VLAN stack."; + } + // TODO: add push-push, pop-pop, push-swap etc + } + description + "Operations that can be performed on a VLAN stack."; + } + + +} diff --git a/vendor/cisco/xr/755/openconfig-vlan.yang b/vendor/cisco/xr/755/openconfig-vlan.yang new file mode 100644 index 000000000..6d1594c7b --- /dev/null +++ b/vendor/cisco/xr/755/openconfig-vlan.yang @@ -0,0 +1,989 @@ +module openconfig-vlan { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/vlan"; + + prefix "oc-vlan"; + + // import some basic types + import openconfig-vlan-types { prefix oc-vlan-types; } + import openconfig-interfaces { prefix oc-if; } + import openconfig-if-ethernet { prefix oc-eth; } + import openconfig-if-aggregate { prefix oc-lag; } + import iana-if-type { prefix ianaift; } + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + "This module defines configuration and state variables for VLANs, + in addition to VLAN parameters associated with interfaces"; + + oc-ext:openconfig-version "3.2.0"; + + revision "2019-04-16" { + description + "Update import prefix for iana-if-type module"; + reference "3.2.0"; + } + + revision "2019-01-31" { + description + "Revise QinQ matching and add input/output VLAN stack operations."; + reference "3.1.0"; + } + + revision "2018-11-21" { + description + "Add OpenConfig module metadata extensions."; + reference "3.0.2"; + } + + revision "2018-06-05" { + description + "Fix bugs in when statements."; + reference "3.0.1"; + } + + revision "2018-02-14" { + description + "Fix bug with name of 802.1ad identity."; + reference "3.0.0"; + } + + revision "2017-07-14" { + description + "Move top-level vlan data to network-instance; Update + identities to comply to style guide; fixed pattern + quoting; corrected trunk vlan types; added TPID config to + base interface."; + reference "2.0.0"; + } + + revision "2016-05-26" { + description + "OpenConfig public release"; + reference "1.0.2"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + + grouping vlan-config { + description "VLAN configuration container."; + + leaf vlan-id { + type oc-vlan-types:vlan-id; + description "Interface VLAN id."; + } + + leaf name { + type string; + description "Interface 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"; + } + + } + + grouping vlan-state { + description "State variables for VLANs"; + + // placeholder + + } + + grouping vlan-tpid-config { + description + "TPID configuration for dot1q-enabled interfaces"; + + leaf tpid { + type identityref { + base oc-vlan-types:TPID_TYPES; + } + default oc-vlan-types:TPID_0X8100; + description + "Optionally set the tag protocol identifier field (TPID) that + is accepted on the VLAN"; + } + } + + grouping vlan-tpid-state { + description + "TPID opstate for dot1q-enabled interfaces"; + + // placeholder + + } + + grouping vlan-members-state { + description + "List of interfaces / subinterfaces belonging to the VLAN."; + + container members { + description + "Enclosing container for list of member interfaces"; + + list member { + config false; + description + "List of references to interfaces / subinterfaces + associated with the VLAN."; + + uses oc-if:base-interface-ref-state; + } + } + } + + grouping vlan-switched-config { + description + "VLAN related configuration that is part of the physical + Ethernet interface."; + + leaf interface-mode { + type oc-vlan-types:vlan-mode-type; + description + "Set the interface to access or trunk mode for + VLANs"; + } + + leaf native-vlan { + when "../interface-mode = 'TRUNK'" { + description + "Native VLAN is valid for trunk mode interfaces"; + } + type oc-vlan-types:vlan-id; + description + "Set the native VLAN id for untagged frames arriving on + a trunk interface. Tagged frames sent on an interface + configured with a native VLAN should have their tags + stripped prior to transmission. This configuration is only + valid on a trunk interface."; + } + + leaf access-vlan { + when "../interface-mode = 'ACCESS'" { + description + "Access VLAN assigned to the interfaces"; + } + type oc-vlan-types:vlan-id; + description + "Assign the access vlan to the access port."; + } + + leaf-list trunk-vlans { + when "../interface-mode = 'TRUNK'" { + description + "Allowed VLANs may be specified for trunk mode + interfaces."; + } + type union { + type oc-vlan-types:vlan-id; + type oc-vlan-types:vlan-range; + } + description + "Specify VLANs, or ranges thereof, that the interface may + carry when in trunk mode. If not specified, all VLANs are + allowed on the interface. Ranges are specified in the form + x..y, where x' filter in + cli-template-string. + + Removed deprecated tailf:cli-default-order."; + } + + revision 2010-12-02 { + description + "Released as part of ConfD-3.4.1. + + Added cli-flatten-container."; + } + + revision 2010-11-04 { + description + "Released as part of ConfD-3.4. + + Added cli-key-format. + Added cli-list-syntax. + Added cli-flat-list-syntax. + + The following statements were added in ConfD-3.3.3: + + Added cli-suppress-list-no. + Added cli-suppress-no. + Added cli-full-no. + Added cli-incomplete-no."; + } + + revision 2010-09-16 { + description + "Released as part of ConfD-3.3.2. + + Added cli-autowizard. + Added cli-multi-word-key. + Added cli-no-match-completion."; + } + + revision 2010-08-19 { + description + "Released as part of ConfD-3.3.1. + + Added cli-show-template-footer. + Added cli-run-template-footer. + Added cli-table-footer. + Changed cli-table-legend to be a template."; + } + + revision 2010-06-17 { + description + "Released as part of ConfD-3.3. + + Added cli-display-empty-config. + + Added cli-expose-key-name. + + Added cli-value-display-template. + + Added cli-run-template. + Added cli-run-template-legend. + Added cli-run-template-enter. + + Added cli-suppress-key-sort. + + Added cli-suppress-validation-warning-prompt. + + Added 'hex' and 'hexlist' as display parameters in the + type cli-template-string. + + Deprecated tailf:cli-default-order."; + } + + revision 2010-03-18 { + description + "Released as part of ConfD-3.2."; + } + + extension cli-suppress-quotes { + tailf:use-in "leaf"; + description + "Specifies that configuration data for a leaf should never be wrapped + with quotes. All internal data will be escaped to make sure it + can be presented correctly. + + Can't be used for keys. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-show-no { + tailf:use-in "leaf"; + tailf:use-in "list"; + tailf:use-in "leaf-list"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that an optional leaf node or presence container + should be displayed as 'no ' when it does not exist. + For example, if a leaf 'shutdown' has this property and + does not exist, 'no shutdown' is displayed. + + Used in I- and C-style CLIs."; + } + + extension cli-disallow-value { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + description + "Specifies that a pattern for invalid values. + + Used in I- and C-style CLIs."; + } + + extension cli-boolean-no { + tailf:use-in "typedef"; + tailf:use-in "leaf"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + tailf:substatement "tailf:cli-reversed"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that a leaf of type boolean should be displayed as + '' if set to true, and 'no ' if set to + false. + + Cannot be used in conjunction with tailf:cli-hide-in-submode + or tailf:cli-compact-syntax. + + Used in I- and C-style CLIs."; + } + + extension cli-reversed { + tailf:use-in "tailf:cli-boolean-no"; + description + "Specified that true should be displayed as 'no ' and + false as 'name'. + + Used in I- and C-style CLIs."; + } + + extension cli-autowizard { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the autowizard should include this leaf even + if the leaf is optional. + + One use case is when implementing pre-configuration of devices. + A config false node can be defined for showing if the + configuration is active or not (preconfigured). + + Used in J-, I- and C-style CLIs."; + } + + extension cli-show-config { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + description + "Specifies that the node will be included when doing a 'show + running-configuration', even if it is a non-config node. + + Used in I- and C-style CLIs."; + } + + + extension cli-display-empty-config { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the node will be included when doing a 'show + stats', even if it is a non-config node, provided + that the list contains at least one non-config node. + + Used in J-style CLI."; + } + + extension cli-mode-name { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies a custom mode name, instead of the default which is the + name of the list or container node. + + Can be used in config nodes only. If used in a container, the + container must also have a tailf:cli-add-mode statement, and if + used in a list, the list must not also have a + tailf:cli-suppress-mode statement. + + Variables for the list keys in the current mode are available. + For examples, 'config-foo-xx$(name)' (provided the key leaf + is called 'name'). + + Used in I- and C-style CLIs."; + } + + extension cli-show-order-taglist { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies a custom display order for nodes with the + tailf:cli-show-order-tag attribute. Nodes will be displayed + in the order indicated in the list. Nodes without a tag will + be displayed after all nodes with a tag have been displayed. + + The scope of a taglist is until a new taglist is encountered. + + Used in I- and C-style CLIs."; + } + + extension cli-show-order-tag { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies a custom display order for nodes with the + tailf:cli-show-order-tag attribute. Nodes will be displayed + in the order indicated by a cli-show-order-taglist attribute in + a parent node. + + The scope of a tag reaches until a new taglist is encountered. + + Used in I- and C-style CLIs."; + } + + extension cli-mode-name-actionpoint { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that a custom function will be invoked to find out the mode + name, instead of using the default with is the name of the list + or container node. + + The argument is the name of an actionpoint, which must be + implemented by custom code. In the actionpoint, the command() + callback function will be invoked, and it must return a string + with the mode name. See confd_lib_dp(3) for details. + + Can be used in config nodes only. If used in a container, the + container must also have a tailf:cli-add-mode statement, and if + used in a list, the list must not also have a + tailf:cli-suppress-mode statement. + + Used in I- and C-style CLIs."; + } + + extension cli-add-mode { + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Creates a mode of the container. + + Can be used in config nodes only. + + Used in I- and C-style CLIs."; + } + + extension cli-flatten-container { + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Allows the CLI to exit the container and continue to input + from the parent container when all leaves in the current + container has been set. + + Can be used in config nodes only. + + Used in I- and C-style CLIs."; + } + + extension cli-suppress-mode { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Instructs the CLI engine to not make a mode of the list node. + + Can be used in config nodes only. + + Used in I- and C-style CLIs."; + } + + extension cli-delete-when-empty { + tailf:use-in "list"; + tailf:use-in "container"; + description + "Instructs the CLI engine to delete the list when the last list + instance is deleted'. Requires that cli-suppress-mode is set. + + The behavior is recursive. If all optional leafs in a list + instance are deleted the list instance itself is deleted. If + that list instance happens to be the last list instance in a + list it is also deleted. And so on. Used in I- and C-style + CLIs."; + } + + extension cli-remove-before-change { + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Instructs the CLI engine to generate a no-command before + modifying an existing instance. It only applies when + generating diffs, eg 'show configuration' in C-style."; + } + + extension cli-no-value-on-delete { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "When displaying the deleted version of this leaf do not + include the old value. + + Applies to C-style"; + } + + extension cli-no-name-on-delete { + tailf:use-in "leaf"; + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "When displaying the deleted version of this element do not + include the name. + + Applies to C-style"; + } + + extension cli-embed-no-on-delete { + tailf:use-in "leaf"; + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Embed no in front of the element name instead of at the + beginning of the line. + + Applies to C-style"; + } + + extension cli-recursive-delete { + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "When generating configuration diffs delete all contents + of a container or list before deleting the node. + + Applies to C-style"; + } + + extension cli-diff-before { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any changes made to this node + before any changes made to the target node(s). + + Thus, the dependency will trigger when any changes + (created, modified or deleted) has been made to this node + while any changes (created, modified or deleted) has been made + to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-delete-before { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any delete operations made on this node + before any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been deleted + while any changes (created, modified or deleted) has been made + to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-set-before { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any set operations (created or modified) made on this node + before any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been set + (created or modified) while any changes (created, modified or deleted) + has been made to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-create-before { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any create operations made on this node + before any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been created + while any changes (created, modified or deleted) has been made + to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-modify-before { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any modify operations made on this node + before any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been modified + (not created or deleted) while any changes (created, modified or deleted) + has been made to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-after { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any changes made to this node + after any changes made to the target node(s). + + Thus, the dependency will trigger when any changes + (created, modified or deleted) has been made to this node + while any changes (created, modified or deleted) has been made + to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-delete-after { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any delete operations made on this node + after any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been deleted + while any changes (created, modified or deleted) has been made + to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-set-after { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any set operations (created or modified) made on this node + after any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been set + (created or modified) while any changes (created, modified or deleted) + has been made to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-create-after { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any create operations made on this node + after any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been created + while any changes (created, modified or deleted) has been made + to the target node(s). + + Applies to C-style"; + } + + extension cli-diff-modify-after { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-when-target-set"; + tailf:substatement "tailf:cli-when-target-create"; + tailf:substatement "tailf:cli-when-target-modify"; + tailf:substatement "tailf:cli-when-target-delete"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "When displaying C-style configuration diffs, + display any modify operations made on this node + after any changes made to the target node(s). + + Thus, the dependency will trigger when this node has been modified + (not created or deleted) while any changes (created, modified or deleted) + has been made to the target node(s). + + Applies to C-style"; + } + + extension cli-when-target-set { + tailf:use-in "tailf:cli-diff-before"; + tailf:use-in "tailf:cli-diff-delete-before"; + tailf:use-in "tailf:cli-diff-set-before"; + tailf:use-in "tailf:cli-diff-create-before"; + tailf:use-in "tailf:cli-diff-modify-before"; + tailf:use-in "tailf:cli-diff-after"; + tailf:use-in "tailf:cli-diff-delete-after"; + tailf:use-in "tailf:cli-diff-set-after"; + tailf:use-in "tailf:cli-diff-create-after"; + tailf:use-in "tailf:cli-diff-modify-after"; + description + "Specify that the dependency should trigger when the target node(s) + has been set (created or modified). + Note; using this sub-statement is equivalent with using + both tailf:cli-when-target-create and tailf:cli-when-target-modify"; + } + + extension cli-when-target-create { + tailf:use-in "tailf:cli-diff-before"; + tailf:use-in "tailf:cli-diff-delete-before"; + tailf:use-in "tailf:cli-diff-set-before"; + tailf:use-in "tailf:cli-diff-create-before"; + tailf:use-in "tailf:cli-diff-modify-before"; + tailf:use-in "tailf:cli-diff-after"; + tailf:use-in "tailf:cli-diff-delete-after"; + tailf:use-in "tailf:cli-diff-set-after"; + tailf:use-in "tailf:cli-diff-create-after"; + tailf:use-in "tailf:cli-diff-modify-after"; + description + "Specify that the dependency should trigger when the target node(s) + has been created"; + } + + extension cli-when-target-modify { + tailf:use-in "tailf:cli-diff-before"; + tailf:use-in "tailf:cli-diff-delete-before"; + tailf:use-in "tailf:cli-diff-set-before"; + tailf:use-in "tailf:cli-diff-create-before"; + tailf:use-in "tailf:cli-diff-modify-before"; + tailf:use-in "tailf:cli-diff-after"; + tailf:use-in "tailf:cli-diff-delete-after"; + tailf:use-in "tailf:cli-diff-set-after"; + tailf:use-in "tailf:cli-diff-create-after"; + tailf:use-in "tailf:cli-diff-modify-after"; + description + "Specify that the dependency should trigger when the target node(s) + has been modified (not created or deleted)"; + } + + extension cli-when-target-delete { + tailf:use-in "tailf:cli-diff-before"; + tailf:use-in "tailf:cli-diff-delete-before"; + tailf:use-in "tailf:cli-diff-set-before"; + tailf:use-in "tailf:cli-diff-create-before"; + tailf:use-in "tailf:cli-diff-modify-before"; + tailf:use-in "tailf:cli-diff-after"; + tailf:use-in "tailf:cli-diff-delete-after"; + tailf:use-in "tailf:cli-diff-set-after"; + tailf:use-in "tailf:cli-diff-create-after"; + tailf:use-in "tailf:cli-diff-modify-after"; + description + "Specify that the dependency should trigger when the target node(s) + has been deleted"; + } + + extension cli-diff-dependency { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:xpath-root"; + tailf:substatement "tailf:cli-trigger-on-set"; + tailf:substatement "tailf:cli-trigger-on-delete"; + tailf:substatement "tailf:cli-trigger-on-all"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:occurence "*"; + description + "Tells the 'show configuration' command, and the diff generator + that this node depends on another node. When removing the node + with this declaration, it should be removed before the node + it depends on is removed, ie the declaration controls the ordering + of the commands in the 'show configuration' output. + + Applies to C-style"; + } + + extension cli-trigger-on-set { + tailf:use-in "tailf:cli-diff-dependency"; + description + 'Specify that the dependency should trigger on set/modify of + the target path, but deletion of the target will trigger the + current node to be placed in front of the target. + + The annotation can be used to get the diff behavior where + one leaf is first deleted before the other leaf is set. + For example, having the data model below: + + container X { + leaf A { + tailf:cli-diff-dependency "../B" { + tailf:cli-trigger-on-set; + } + type empty; + } + leaf B { + tailf:cli-diff-dependency "../A" { + tailf:cli-trigger-on-set; + } + type empty; + } + } + + produces the following diffs when setting one leaf + and deleting the other + + no X A + X B + + and + + no X B + X A + + this can also be done with list instances, for example + + list a { + key id; + + leaf id { + tailf:cli-diff-dependency "/c[id=current()/../id]" { + tailf:cli-trigger-on-set; + } + type string; + } + } + + list c { + key id; + leaf id { + tailf:cli-diff-dependency "/a[id=current()/../id]" { + tailf:cli-trigger-on-set; + } + type string; + } + } + + we get + + no a foo + c foo + ! + + and + + no c foo + a foo + ! + + In the above case if we have the same id in list "a" and "c" + and we delete the instance in one list, and add it in the other, + then the deletion will always precede the create. + '; + } + + extension cli-trigger-on-delete { + tailf:use-in "tailf:cli-diff-dependency"; + description + "This annotation can be used together with tailf:cli-trigger-on-set + to also get the behavior that when deleting the target display + changes to this node first. For example: + + container settings { + tailf:cli-add-mode; + + leaf opmode { + tailf:cli-no-value-on-delete; + + type enumeration { + enum nat; + enum transparent; + } + } + + leaf manageip { + when \"../opmode = 'transparent'\"; + mandatory true; + tailf:cli-no-value-on-delete; + tailf:cli-diff-dependency '../opmode' { + tailf:cli-trigger-on-set; + tailf:cli-trigger-on-delete; + } + + type string; + } + } + + What we are trying to achieve here is that if manageip is + deleted, it should be displayed before opmode, but if we + configure both opmode and manageip, we should display opmode + first, ie get the diffs: + + settings + opmode transparent + manageip 1.1.1.1 + ! + + and + + settings + no manageip + opmode nat + ! + + and + + settings + no manageip + no opmode + ! + + The cli-trigger-on-set annotation will cause the 'no manageip' + command to be displayed before setting opmode. The + tailf:cli-trigger-on-delete will cause 'no manageip' to be + placed before 'no opmode' when both are deleted. + + In the first diff where both are created, opmode will come first + due to the diff-dependency setting, regardless of the + cli-trigger-on-delete and cli-trigger-on-set. + "; + + } + + + extension cli-trigger-on-all { + tailf:use-in "tailf:cli-diff-dependency"; + description + "Specify that the dependency should always trigger. It is the + same as placing one element before another in the data model. + For example, given the data model: + + container X { + leaf A { + tailf:cli-diff-dependency '../B' { + tailf:cli-trigger-on-all; + } + type empty; + } + leaf B { + type empty; + } + } + + We get the diffs + + X B + X A + + and + + no X B + no X A + "; + } + + + extension cli-ignore-modified { + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Tells the cdb_cli_diff_iterate system call to not generate + a CLI string when this container is modified. The string will + instead be generated for the modified sub-element. + + Applies to C-style and I-style"; + } + + extension cli-show-long-obu-diffs { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + tailf:substatement "tailf:cli-reset-full" { + tailf:occurence "?"; + } + description + "Instructs the CLI engine to not generate 'insert' comments + when displaying configuration changes of ordered-by user + lists, but instead explicitly remove old instances with 'no' + and then add the instances following a newly inserted instance. + Should not be used together with tailf:cli-show-obu-comments"; + } + + extension cli-reset-full { + tailf:use-in "tailf:cli-show-long-obu-diffs"; + description + "Indicates that the list should be fully printed out on change."; + } + + extension cli-show-obu-comments { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Enforces the CLI engine to generate 'insert' comments + when displaying configuration changes of ordered-by user + lists. Should not be used together with tailf:cli-show-long-obu-diffs"; + } + + extension cli-allow-join-with-key { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-display-joined"; + description + "Indicates that the list name may be written together + with the first key, without requiring a whitespace + in between, ie allowing both + interface ethernet1/1 + and + interface ethernet 1/1 + + Used in I- and C-style CLIs."; + } + + extension cli-allow-join-with-value { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-display-joined"; + description + "Indicates that the leaf name may be written together + with the value, without requiring a whitespace + in between, ie allowing both + interface ethernet1/1 + and + interface ethernet 1/1 + + Used in I- and C-style CLIs."; + } + + + extension cli-display-joined { + tailf:use-in "tailf:cli-allow-join-with-key"; + tailf:use-in "tailf:cli-allow-join-with-value"; + description + "Specifies that the joined version should be used when displaying + the configuration in C- and I- mode."; + } + + extension cli-exit-command { + argument value { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + tailf:substatement "tailf:info"; + description + "Tells the CLI to add an explicit exit-from-submode command. + The tailf:info substatement can be used for adding a custom + info text for the command. + + Used in I- and C-style CLIs."; + } + + extension cli-explicit-exit { + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + description + "Tells the CLI to add an explicit exit command when displaying + the configuration. It will not be added if cli-exit-command + is defined as well. The annotation is inherited by all + sub-modes. + + Used in I- and C-style CLIs."; + } + + + extension cli-key-format { + argument value { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "The format string is used when parsing a key value and when + generating a key value for an existing configuration. The key + items are numbered from 1-N and the format string should + indicate how they are related by using $(X) (where X is the + key number). For example: + + tailf:cli-key-format '$(1)-$(2)' means that the first key + item is concatenated with the second key item by a '-'. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-key-sort { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Instructs the CLI engine to not sort the keys in alphabetical order + when presenting them to the user during TAB completion. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-table { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Instructs the CLI engine to not print the list as a table in + the 'show' command. + + Can be used in non-config nodes only. + + Used in I- and C-style CLIs."; + } + + extension cli-suppress-validation-warning-prompt { + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "container"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Instructs the CLI engine to not prompt the user whether to proceed + or not if a warning is generated for this node. + + Used in I- and C-style CLIs."; + } + + + extension cli-suppress-key-abbreviation { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Key values cannot be abbreviated. The user must always give + complete values for keys. + + In the J-style CLI this is relevant when using the commands + 'delete' and 'edit'. + + In the I- and C-style CLIs this is relevant when using the + commands 'no', 'show configuration' and for commands to enter + submodes. + + See also /confdConfig/cli/allowAbbrevKeys in confd.conf(5)."; + } + + extension cli-allow-key-abbreviation { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Key values can be abbreviated. + + In the J-style CLI this is relevant when using the commands + 'delete' and 'edit'. + + In the I- and C-style CLIs this is relevant when using the + commands 'no', 'show configuration' and for commands to enter + submodes. + + See also /confdConfig/cli/allowAbbrevKeys in confd.conf(5)."; + } + + extension cli-table-legend { + argument value { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies a template string to be printed before all list entries are + printed. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-table-footer { + argument value { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies a template string to be printed after all list entries are + printed. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-completion-actionpoint { + argument value { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "leaf-list"; + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-completion-id"; + description + "Specifies that completion for the leaf values is done through a + callback function. + + The argument is the name of an actionpoint, which must be + implemented by custom code. In the actionpoint, the completion() + callback function will be invoked. See confd_lib_dp(3) for details. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-completion-id { + argument value { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "tailf:cli-completion-actionpoint"; + tailf:use-in "tailf:cli-custom-range-actionpoint"; + description + "Specifies a string which is passed to the callback when invoked. + This makes it possible to use the same callback at several + locations and still keep track of which point it is invoked + from."; + } + + extension cli-allow-caching { + tailf:use-in "tailf:cli-custom-range-actionpoint"; + tailf:use-in "tailf:cli-custom-range-enumerator"; + description + "Allow caching of the evaluation results between different parent paths."; + } + + extension cli-multi-line-prompt { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Tells the CLI to automatically enter multi-line mode when prompting + the user for a value to this leaf. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-multi-word-key { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-max-words"; + description + "Specifies that the key should allow multiple tokens for the + value. Proper type restrictions needs to be used to limit + the range of the leaf value. + + Can be used in key leafs only. + + Note: This extension isn't applicable in actions + + Used in J-, I- and C-style CLIs."; + } + + extension cli-max-words { + argument value { + tailf:arg-type { + type uint32; + } + } + tailf:use-in "tailf:cli-multi-word-key"; + tailf:use-in "tailf:cli-multi-word"; + tailf:use-in "tailf:cli-multi-value"; + description + "Specifies the maximum number of allowed words for the key or value."; + } + + extension cli-allow-range { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Means that the non-integer key should allow range expressions. + + Can be used in key leafs only. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-range-delimiters { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Allows for custom delimiters to be defined for range expressions. + By default only / is considered a delimiter, ie when processing + a key like 1/2/3 then each of 1, 2 and 3 will be matched separately + against range expressions, ie given the expression 1-3/5-6/7,8 + 1 will be matched with 1-3, 2 with 5-6, and 3 with 7,8. If, for + example, the delimiters value is set to '/.' then both '/' and + '.' will be considered delimiters and an key such as 1/2/3.4 will + consist of the entities 1,2,3,4, all matched separately. + + Used in J-, I- and C-style CLIs."; + } + + + extension cli-suppress-range { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Means that the integer key should not allow range expressions. + + Can be used in key leafs only. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-custom-range { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-range-type" { + tailf:occurence "1"; + } + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that the key should support ranges. A type matching the + range expression must be supplied. + + Can be used in key leafs only. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-custom-range-actionpoint { + argument value { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-completion-id"; + tailf:substatement "tailf:cli-allow-caching"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that the list supports range expressions and that a custom + function will be invoked to determine if an instance belong in + the range or not. At least one key element needs a + cli-custom-range statement. + + The argument is the name of an actionpoint, which must be + implemented by custom code. In the actionpoint, the + completion() callback function will be invoked. See + confd_lib_dp(3) for details. + + When a range expression value which matches the type is given in + the CLI, the CLI engine will invoke the callback with each + existing list entry instance. If the callback returns CONFD_OK, + it matches the range expression, and if it returns CONFD_ERR, it + doesn't match. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-custom-range-enumerator { + argument value { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-completion-id"; + tailf:substatement "tailf:cli-allow-caching"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies a callback to invoke to get an array of + instances matching a regular expression. This is used + when instances should be allowed to be created using + a range expression in set. + + The callback is not used for delete or show operations. + + The callback is allowed to return a superset of all matching + instances since the instances will be filtered using the + range expression afterwards. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-range-type { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:cli-custom-range"; + description + "This statement contains the name of a derived type, possibly + with a prefix. If no prefix is given, the type must be defined in + the local module. For example: + + cli-range-type p:my-range-type; + + All range expressions must match this type, and a valid key + value must not match this type."; + } + + extension cli-allow-wildcard { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Means that the list allows wildcard expressions in the 'show' pattern. + + See also /confdConfig/cli/allowWildcard in confd.conf(5). + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-wildcard { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Means that the list does not allow wildcard expressions in the 'show' + pattern. + + See also /confdConfig/cli/allowWildcard in confd.conf(5). + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-warning { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:cli-run-template-enter"; + tailf:use-in "tailf:cli-sequence-commands"; + tailf:use-in "tailf:cli-hide-in-submode"; + tailf:use-in "tailf:cli-boolean-no"; + tailf:use-in "tailf:cli-compact-syntax"; + tailf:use-in "tailf:cli-break-sequence-commands"; + tailf:use-in "tailf:cli-show-long-obu-diffs"; + tailf:use-in "tailf:cli-show-obu-comments"; + tailf:use-in "tailf:cli-suppress-range"; + tailf:use-in "tailf:cli-suppress-mode"; + tailf:use-in "tailf:cli-custom-range"; + tailf:use-in "tailf:cli-custom-range-actionpoint"; + tailf:use-in "tailf:cli-custom-range-enumerator"; + tailf:use-in "tailf:cli-drop-node-name"; + tailf:use-in "tailf:cli-add-mode"; + tailf:use-in "tailf:cli-mode-name"; + tailf:use-in "tailf:cli-incomplete-command"; + tailf:use-in "tailf:cli-full-command"; + tailf:use-in "tailf:cli-mode-name-actionpoint"; + tailf:use-in "tailf:cli-optional-in-sequence"; + tailf:use-in "tailf:cli-prefix-key"; + tailf:use-in "tailf:cli-show-no"; + tailf:use-in "tailf:cli-show-order-tag"; + tailf:use-in "tailf:cli-diff-dependency"; + tailf:use-in "container"; + description + "Avoid involving specific CLI-extension related YANG statements in + warnings related to certain yanger error codes. For a list of + yanger error codes do 'yanger -e'. + + Used in I- and C-style CLIs."; + } + + extension cli-configure-mode { + tailf:use-in "tailf:action"; + tailf:use-in "rpc"; + description + "An action or rpc with this attribute will be available in + configure mode, but not in operational mode. + + The default is that the action or rpc is available in both + configure and operational mode. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-operational-mode { + tailf:use-in "tailf:action"; + tailf:use-in "rpc"; + description + "An action or rpc with this attribute will be available in + operational mode, but not in configure mode. + + The default is that the action or rpc is available in both + configure and operational mode. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-mount-point { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:action"; + tailf:use-in "rpc"; + description + "By default actions are mounted under the 'request' + command in the J-style CLI and at the top-level in + the I- and C-style CLIs. This annotation allows + the action to be mounted under other top level commands"; + } + + extension cli-batch-confirm-default { + argument name { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "tailf:confirm-text"; + description + "Specifies if the default is to proceed or abort the action during batch + processing in the CLI (e.g. non-interactive mode) when a confirm-text is + set. If this value is not specified, the default value may instead be + provided by tailf:confirm-default or by the ConfD global default if + specified in a clispec(5)."; + } + + extension cli-delayed-auto-commit { + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Enables transactions while in a specific submode (or submode of that + mode). The modifications performed in that mode will not take effect + until the user exits that submode. + + Can be used in config nodes only. If used in a container, the + container must also have a tailf:cli-add-mode statement, and if + used in a list, the list must not also have a + tailf:cli-suppress-mode statement. + + Used in I- and C-style CLIs."; + } + + extension cli-preformatted { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Suppresses quoting of non-config elements when displaying them. + Newlines will be preserved in strings etc. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-disabled-info { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies an info string that will be used as a descriptive text for the + value 'disable' (false) of boolean-typed leafs when the confd.conf(5) + setting /confdConfig/cli/useShortEnabled is set to 'true'. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-shortenabled { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Suppresses the confd.conf(5) setting /confdConfig/cli/useShortEnabled. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-trim-default { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + status deprecated; + description + "Do not display value if it is same as default. + + Used in I- and C-style CLIs."; + } + + extension cli-expose-key-name { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Force the user to enter the name of the key and display the + key name when displaying the running-configuration. + + Used in J-, I- and C-style CLIs."; + } + + + extension cli-enforce-table { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Forces the generation of a table for a list element node regardless of + whether the table will be too wide or not. This applies to the + tables generated by the auto-rendred show commands for non-config data. + + Used in I- and C-style CLIs."; + } + + extension cli-drop-node-name { + tailf:use-in "leaf"; + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that the name of a node is not present in the CLI. + + If tailf:cli-drop-node-name is given on a child to a list node, + we recommend that you also use tailf:cli-suppress-mode on that + list node, otherwise the CLI will be very confusing. + + For example, consider this data model, from the tailf-aaa module: + + list alias { + key name; + leaf name { + type string; + } + leaf expansion { + type string; + mandatory true; + tailf:cli-drop-node-name; + } + } + + If you type 'alias foo' in the CLI, you would end up in the + 'alias' submode. But since the expansion is dropped, you would + end up specifying the expansion value without typing any command. + + If, on the other hand, the 'alias' list had a + tailf:cli-suppress-mode statement, you would set an expansion + 'bar' by typing 'alias foo bar'. + + tailf:cli-drop-node-name cannot be used inside tailf:action. + + Used in I- and C-style CLIs."; + } + + extension cli-no-keyword { + tailf:use-in "leaf"; + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the name of a node is not present in the CLI. + + + Note that is must be used with some care, just + like tailf:cli-drop-node-name. The resulting data model must still + be possible to parse deterministically. + For example, consider the data model + + container interfaces { + list traffic { + tailf:cli-no-keyword; + key id; + leaf id { type string; } + leaf mtu { type uint16; } + } + list management { + tailf:cli-no-keyword; + key id; + leaf id { type string; } + leaf mtu { type uint16; } + } + } + + In this case it is impossible to determine if the config + + interfaces { + eth0 { + mtu 1400; + } + } + + Means that there should be an traffic interface instance named + 'eth0' or a management interface instance maned 'eth0'. If, on + the other hand, a restriction on the type was used, for example + + container interfaces { + list traffic { + tailf:cli-no-keyword; + key id; + leaf id { type string; pattern 'eth.*'; } + leaf mtu { type uint16; } + } + list management { + tailf:cli-no-keyword; + key id; + leaf id { type string; pattern 'lo.*';} + leaf mtu { type uint16; } + } + } + + then the problem would disappear. + + Used in the J-style CLIs."; + } + + extension cli-compact-syntax { + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Instructs the CLI engine to use the compact representation for this + node in the 'show running-configuration' command. The compact + representation means that all leaf elements are shown on a + single line. + + Cannot be used in conjunction with tailf:cli-boolean-no. + + Used in I- and C-style CLIs."; + } + + extension cli-compact-stats { + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-wrap"; + tailf:substatement "tailf:cli-width"; + tailf:substatement "tailf:cli-delimiter"; + tailf:substatement "tailf:cli-prettify"; + tailf:substatement "tailf:cli-spacer"; + description + "Instructs the CLI engine to use the compact representation for this + node. The compact representation means that all leaf elements + are shown on a single line. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-wrap { + tailf:use-in "tailf:cli-compact-stats"; + description + "If present, the line will be wrapped at screen width."; + } + + extension cli-width { + argument value { + tailf:arg-type { + type uint32; + } + } + tailf:use-in "tailf:cli-compact-stats"; + description + "Specifies a fixed terminal width to use before wrapping line. It is + only used when tailf:cli-wrap is present. If a width is not + specified the line is wrapped when the terminal width is + reached."; + } + + extension cli-delimiter { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:cli-compact-stats"; + description + "Specifies a string to print between the leaf name and its value + when displaying leaf values."; + } + + extension cli-prettify { + tailf:use-in "tailf:cli-compact-stats"; + description + "If present, dashes (-) and underscores (_) in leaf names are replaced + with spaces."; + } + + extension cli-spacer { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:cli-compact-stats"; + description + "Specifies a string to print between the nodes."; + } + + + extension cli-column-stats { + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + description + "Display leafs in the container as columns, i.e., do not repeat + the name of the container on each line, but instead indent each + leaf under the container. + + Used in I- and C-style CLIs."; + } + + extension cli-column-width { + argument value { + tailf:arg-type { + type uint32; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Set a fixed width for the column in the auto-rendered tables. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-min-column-width { + argument value { + tailf:arg-type { + type uint32; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Set a minimum width for the column in the auto-rendered tables. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-column-align { + argument value { + tailf:arg-type { + type enumeration { + enum left; + enum center; + enum right; + } + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies the alignment of the data in the column in the + auto-rendered tables. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-list-syntax { + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-multi-word"; + description + "Specifies that each entry in a leaf-list should be displayed as + a separate element. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-multi-word { + tailf:use-in "tailf:cli-list-syntax"; + tailf:substatement "tailf:cli-max-words"; + description + "Specifies that a multi-word value may be entered without quotes."; + } + + extension cli-flat-list-syntax { + tailf:use-in "leaf-list"; + tailf:substatement "tailf:cli-replace-all"; + tailf:use-in "refine"; + description + "Specifies that elements in a leaf-list should be entered without + surrounding brackets. Also, multiple elements can be added to a list + or deleted from a list. + If this extension is set for a leaf-list and the parent node of the + leaf-list has cli-sequence-commands extension, then the leaf-list should + also have cli-disallow-value extension which should contain names of all + the sibling nodes of the leaf-list. This is to correctly recognize the end + of the leaf-list values among entered tokens. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-only-in-autowizard { + tailf:use-in "leaf"; + description + "Force leaf values to be entered in the autowizard. This + is intended to prevent users from entering passwords and + other sensitive information in plain text. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-replace-all { + tailf:use-in "leaf-list"; + tailf:use-in "tailf:cli-flat-list-syntax"; + tailf:use-in "refine"; + description + "Specifies that the new leaf-list value(s) should replace the old, + as opposed to be added to the old leaf-list."; + } + + extension cli-range-list-syntax { + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "refine"; + description + "Specifies that elements in a leaf-list or a list should be entered + without surrounding brackets and presented as ranges. The + element in the list should be separated by a comma. For + example: + + vlan 1,3,10-20,30,32,300-310 + + When this statement is used for lists, the list must have a + single key. The elements are be presented as ranges as above. + + The type of the list key, or the leaf-list, must be integer based. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-incomplete-command { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that an auto-rendered command should be considered + incomplete. Can be used to prevent from appearing in + the completion list for optional internal nodes, for example, or + to ensure that the user enters all leaf values in a container + (if used in combination with cli-sequence-commands). + + Used in I- and C-style CLIs."; + } + + extension cli-full-command { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that an auto-rendered command should be considered complete, + ie, no additional leaves or containers can be entered on the same + command line. + + Used in I- and C-style CLIs."; + } + + extension cli-sequence-commands { + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-reset-siblings"; + tailf:substatement "tailf:cli-reset-all-siblings"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that an auto-rendered command should only accept arguments + in the same order as they are specified in the YANG model. + This, in combination with tailf:cli-drop-node-name, can be used + to create CLI commands for setting multiple leafs in a container + without having to specify the leaf names. + + In almost all cases this annotation should be accompanied by the + tailf:cli-compact-syntax annotation. Otherwise the output from + 'show running-config' will not be correct, and the sequence + 'save xx' 'load override xx' will not work. + + Used in I- and C-style CLIs."; + } + + extension cli-reset-siblings { + tailf:use-in "tailf:cli-sequence-commands"; + description + "Specifies that all sibling leaves in the sequence should be reset + whenever the first leaf in the sequence is set."; + } + + extension cli-reset-all-siblings { + tailf:use-in "tailf:cli-sequence-commands"; + description + "Specifies that all sibling leaves in the container should be reset + whenever the first leaf in the sequence is set."; + } + + extension cli-reset-container { + tailf:use-in "leaf"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that all sibling leaves in the container should be + reset when this element is set. + + When used on a container its content is cleared when set."; + } + + extension cli-display-separated { + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Tells CLI engine to display this container as a separate + line item even when it has children. Only applies to + presence containers. + + Applicable for optional containers in the C- and I- style CLIs."; + } + + extension cli-delete-container-on-delete { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the parent container should be deleted when +. this leaf is deleted."; + } + + extension cli-break-sequence-commands { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that previous cli-sequence-command declaration should + stop at this point. Only applicable when a cli-sequence-command + declaration has been used in the parent container. + + Used in I- and C-style CLIs."; + } + + extension cli-strict-leafref { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the leaf should only be allowed to be assigned + references to existing instances when the command is executed. + Without this annotation the requirement is that the instance + exists on commit time. + + Used in I- and C-style CLIs."; + } + + extension cli-optional-in-sequence { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies that this element is optional in the sequence. If it + is set it must be set in the right sequence but may be skipped. + + Used in I- and C-style CLIs."; + } + + extension cli-incomplete-show-path { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-min-keys"; + description + "Specifies that a path to the show command is considered incomplete, + i.e., it needs more elements added to the path. It can also be used + to specify a minimum number of keys to be given for lists. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-min-keys { + argument value { + tailf:arg-type { + type uint32; + } + } + tailf:use-in "tailf:cli-incomplete-show-path"; + description + "Specifies the minimum number of required keys for the show command."; + } + + extension cli-hide-in-submode { + tailf:use-in "leaf"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Hide leaf when submode has been entered. Mostly useful when + leaf has to be entered in order to enter a submode. Also works + for flattened containers. + + Cannot be used in conjunction with tailf:cli-boolean-no. + + Used in I- and C-style CLIs."; + } + + extension cli-expose-ns-prefix { + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "When used force the CLI to display namespace prefix of all children."; + } + + extension cli-prefix-key { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:use-in "leaf-list"; + tailf:substatement "tailf:cli-before-key"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "This leaf has to be given as a prefix before entering the actual + list keys. Very backwards but a construct that exists in some + Cisco CLIs. + + The construct can be used also for leaf-lists but only when + then tailf:cli-range-list-syntax is also used. + + Used in I- and C-style CLIs."; + } + + extension cli-before-key { + argument value { + tailf:arg-type { + type uint32; + } + } + tailf:use-in "tailf:cli-prefix-key"; + description + "Specifies before which key the prefix element should be inserted. + The first key has number 1."; + } + + extension cli-show-with-default { + tailf:use-in "leaf"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + description + "This leaf will be displayed even when it has its default value. + Note that this will somewhat result in a slightly different behaviour + when you save a config and then load it again. With this setting + in place a leaf that has not been configured will be configured + after the load. + + Used in I- and C-style CLIs."; + } + + extension cli-oper-info { + argument text { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "rpc"; + tailf:use-in "identity"; + tailf:use-in "tailf:action"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "This statement works exactly as tailf:info, with the exception + that it is used when displaying the element info in the context + of stats. + + Both tailf:info and tailf:cli-oper-info can be present at the same + time."; + } + + extension cli-case-sensitive { + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + description + "Specifies that this node is case-sensitive. + If applied to a container or a list, any nodes below will + also be case-sensitive. + + This negates the cli-case-insensitive extension (see below). + + Note that this will override any case-sensitivity settings + configured in confd.conf"; + } + + extension cli-case-insensitive { + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + description + "Specifies that node is case-insensitive. If applied to a container or + a list, any nodes below will also be case-insensitive. + + Node names are discovered without care of the case. Also affect + matching of key values in lists. However it doesn't affect the + storing of a leaf value. E.g. a modification of a leaf value from + upper case to lower case is still considered a modification of + data. + + Note that this will override any case-insensitivity settings + configured in confd.conf"; + } + + extension cli-custom-error { + argument text { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "This statement specifies a custom error message to be displayed + when the user enters an invalid value."; + } + + extension cli-full-show-path { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-max-keys"; + description + "Specifies that a path to the show command is considered complete, i.e., + no more elements can be added to the path. It can also be used to + specify a maximum number of keys to be given for lists. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-max-keys { + argument value { + tailf:arg-type { + type uint32; + } + } + tailf:use-in "tailf:cli-full-show-path"; + description + "Specifies the maximum number of allowed keys for the show command."; + } + + extension cli-suppress-show-path { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "Specifies that the show command cannot be invoked with the path, + ie the path is suppressed when auto-rendering show commands for + config='false' data. + + Used in J-, I- and C-style CLIs."; + } + + + extension cli-suppress-show-match { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "Specifies that a specific completion match (i.e., a filter match that + appear at list nodes as an alternative to specifying a single + instance) to the show command should not be available. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-list-no { + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the CLI should not accept deletion of the entire list + or leaf-list. Only specific instances should be deletable not the + entire list in one command. ie, 'no foo ' should be allowed + but not 'no foo'. + + Used in I- and C-style CLIs."; + } + + extension cli-suppress-no { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "Specifies that the CLI should not auto-render 'no' commands for + this element. An element with this annotation will not appear in the + completion list to the 'no' command. + + Used in I- and C-style CLIs."; + } + + extension cli-suppress-silent-no { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "Specifies that the confd.cnof directive cSilentNo should be + suppressed for a leaf and that a custom error message should + be displayed when the user attempts to delete a non-existing + element. + + Used in I- and C-style CLIs."; + } + + + extension cli-full-no { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "Specifies that an auto-rendered 'no'-command should be considered + complete, ie, no additional leaves or containers can be entered on + the same command line. + + Used in I- and C-style CLIs."; + } + + extension cli-incomplete-no { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that an auto-rendered 'no'-command should not be considered + complete, ie, additional leaves or containers must be entered on the same + command line. + + Used in I- and C-style CLIs."; + } + + extension cli-no-match-completion { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the CLI engine should not provide match completion + for the key leafs in the list. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-show-conf-path { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the show running-config command cannot be invoked with + the path, ie the path is suppressed when auto-rendering show running- + config commands for config='true' data. + + Used in J-, I- and C-style CLIs."; + } + + + extension cli-no-key-completion { + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies that the CLI engine should not perform completion for key + leafs in the list. This is to avoid querying the data provider + for all existing keys. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-suppress-error-message-value { + tailf:use-in "list"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Allows you to suppress printing a value + in an error message. This extension can + be placed in a 'list' or a 'leaf-list'. + + The use-case in mind for this extension + is that you for instance require + that the last element in a 'list' + is the string 'router'. If the last element is *not* + 'router', you want to give an error message. + + Without this extension, the error message + would print the value of the *first* element + in the list, which would be confusing, + as you constrain the *last* element's value. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-instance-info-leafs { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "This statement is used to specify how list entries are displayed + when doing completion in the CLI. By default, a list entry is + displayed by listing its key values, and the value of a leaf + called 'description', if such a leaf exists in the list entry. + + The 'cli-instance-info-leafs' statement takes as its argument a + space separated string of leaf names. When a list entry is + displayed, the values of these leafs are concatenated with a + space character as separator and shown to the user. + + For example, when asked to specify an interface the CLI will + display a list of possible interface instances, say 1 2 3 4. If + the cli-instance-info-leafs property is set to 'description' then + the CLI might show: + + Possible completions: + 1 - internet + 2 - lab + 3 - dmz + 4 - wlan + + Used in J-, I- and C-style CLIs."; + } + + extension cli-multi-value { + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-max-words"; + description + "Specifies that all remaining tokens on the command line + should be considered a value for this leaf. This prevents + the need for quoting values containing spaces, but also + prevents multiple leaves from being set on the same command + line once a multi-value leaf has been given on a line. + + If the tailf:cli-max-words substatements is used then + additional leaves may be entered. + + Note: This extension isn't applicable in actions + + Used in I- and C-style CLIs."; + } + + extension cli-value-display-template { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "leaf"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies a template string to be used when formatting the + value of a leaf for display. Note that other leaves cannot + be referenced from a display template of one leaf. The only + value accessible is the leaf's own value, accessed through + $(.). + + See the definition of cli-template-string for more info. + + Used in J-, I- and C-style CLIs."; + } + + + extension cli-show-template { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-auto-legend"; + description + "Specifies a template string to be used by the 'show' command in + operational mode. It is primarily intended for displaying + non-config data but config data may be included in the template + as well. + + See the definition of cli-template-string for more info. + + Some restrictions includes not applying templates on a leaf that + is the key in a list. It is recommended to use the template + directly on the list to format the whole list instead. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-auto-legend { + tailf:use-in "tailf:cli-show-template"; + description + "Specifies that the legend should be automatically rendered if not " + +"already displayed. Useful when using templates for rendering " + +"tables."; + } + + extension cli-show-template-legend { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "list"; + tailf:use-in "refine"; + description + + "Specifies a template string to be printed before all list entries are + printed. + + See the definition of cli-template-string for more info. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-show-template-enter { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies a template string to be printed before each list entry is + printed. + + See the definition of cli-template-string for more info. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-show-template-footer { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + + "Specifies a template string to be printed after all list entries are + printed. + + See the definition of cli-template-string for more info. + + Used in J-, I- and C-style CLIs."; + } + + extension cli-run-template { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Specifies a template string to be used by the 'show running-config' + command in operational mode. It is primarily intended for displaying + config data but non-config data may be included in the template + as well. + + See the definition of cli-template-string for more info. + + Used in I- and C-style CLIs."; + } + + extension cli-run-template-legend { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + + "Specifies a template string to be printed before all list entries are + printed. + + See the definition of cli-template-string for more info. + + Used in I- and C-style CLIs."; + } + + extension cli-run-template-enter { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:cli-suppress-warning" { + tailf:occurence "*"; + } + description + "Specifies a template string to be printed before each list entry is + printed. + + When used on a container it only has effect when the container + also has a tailf:cli-add-mode, and when tailf:cli-show-no isn't + used on the container. + + See the definition of cli-template-string for more info. + + The variable .reenter is set to 'true' when the 'show configuration' + command is executed and the list or container isn't created. This + allow, for example, to display + + create foo + + when an instance is created + + edit foo + + when something inside the instance is modified. + + Used in I- and C-style CLIs."; + } + + extension cli-run-template-footer { + argument value { + yin-element true; + tailf:arg-type { + type tailf:cli-template-string; + } + } + tailf:use-in "list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + + "Specifies a template string to be printed after all list entries are + printed. + + See the definition of cli-template-string for more info. + + Used in I- and C-style CLIs."; + } + + typedef cli-template-string { + type string; + description + "A template is a text string which is expanded by the CLI engine, + and then displayed to the user. + + The template may contain a mix of text and expandable entries. + Expandable entries all start with $( and end with a matching ). + Parentheses and dollar signs need to be quoted in plain text. + + (Disclaimer: tailf:cli-template-string will not respect + all CLI YANG extensions existing from expandable entries. + For instance, tailf:cli-no-name-on-delete will have no + effect when the value of a node with this extension is + fetched as a result of expanding CLI templates.) + + The template is expanded as follows: + + A parameter is either a relative or absolute path to a leaf + element (eg /foo/bar, foo/bar), or one of the builtin variables: + .selected, .entered, .legend_shown, .user, .groups, .ip, + .display_groups, .path, .ipath or .licounter. In addition the + variables .spath and .ispath are available when a command + is executed from a show path. + + .selected + + The .selected variable contains the list of selected paths + to be shown. The show template can inspect this element to + determine if a given element should be displayed or + not. For example: + + $(.selected~=hwaddr?HW Address) + + .entered + + The .entered variable is true if the \"entered\" text has + been displayed (either the auto generated text or a + showTemplateEnter). This is useful when having a non-table + template where each instance should have a text. + + $(.entered?:host $(name)) + + .legend_shown + + The .legend_shown variable is true if the \"legend\" text has + been displayed (either the auto generated table header or + a showTemplateLegend). This is useful to inspect when + displaying a table row. If the user enters the path to a + specific instance the builtin table header will not be + displayed and the showTemplateLegend will not be invoked + and it may be useful to render the legend specifically + for this instance. + + $(.legend_shown!=true?Address Interface) + + .user + + The .user variable contains the name of the current + user. This can be used for differentiating the content + displayed for a specific user, or in paths. For example: + + $(user{$(.user)}/settings) + + .groups + + The .groups variable contains the a list of groups that the + user belongs to. + + .display_groups + + The .display_groups variable contains a list of selected + display groups. This can be used to display different + content depending on the selected display group. For + example: + + $(.display_groups~=details?details...) + + .ip + + The .ip variable contains the ip address that the user + connected from. + + .path + + The .path variable contains the path to the entry, + formatted in CLI style. + + .ipath + + The .ipath variable contains the path to the entry, + formatted in template style. + + .spath + + The .spath variable contains the show path, + formatted in CLI style. + + .ispath + + The .ispath variable contains the show path, + formatted in template style. + + .licounter + + The .licounter variable contains a counter that is + incremented for each instance in a list. This means that + it will be 0 in the legend, contain the total number of + list instances in the footer and something in between in + the basic show template. + + $(parameter) + + The value of 'parameter' is substituted. + + $(cond?word1:word2) + + The expansion of 'word1' is substituted if 'cond' + evaluates to true, otherwise the expansion of 'word2' is + substituted. + + 'cond' may be one of + + parameter + + Evaluates to true if the node exists. + + parameter == + + Evaluates to true if the value of the parameter equals + . + + parameter != + + Evaluates to true if the value of the parameter does not + equal + + parameter ~= + + Provided that the value of the parameter is a list + (i.e., the node that the parameter refers to is a + leaf-list), this expression evaluates to true if + is a member of the list. + + Note that it is also possible to omit ':word2' in + order to print the entire statement, or nothing. + As an example $(conf?word1) will print 'word1' if conf + exists, otherwise it will print nothing. + + $(cond??word1) + + Double question marks can be used to achieve the same effect + as above, but with the distinction that the 'cond' variable + needs to be explicitly configured, in order to be evaluated + as existing. This is needed in the case of evaluating leafs + with default values, where the single question mark operator + would evaluate to existing even if not explicitly configured. + + $(parameter|filter) + + The value of 'parameter' processed by 'filter' is + substituted. Filters may be either one of the + built-ins or a customized filter defined in a + callback. See /confdConfig/cli/templateFilter. + + A built-in 'filter' may be one of: + + capfirst + + Capitalizes the first character of the value. + + lower + + Converts the value into lowercase. + + upper + + Converts the value into uppercase. + + filesizeformat + + Formats the value in a human-readable format (e.g., + '13 KB', '4.10 MB', '102 bytes' etc), where K + means 1024, M means 1024*1024 etc. + + When used without argument the default number of + decimals displayed is 2. When used with a numeric + integer argument, filesizeformat will display the + given number of decimal places. + + humanreadable + + Similar to filesizeformat except no bytes suffix + is added (e.g., '13.00 k', '4.10 M' '102' etc), + where k means 1000, M means 1000*1000 etc. + + When used without argument the default number of + decimals displayed is 2. When used with a numeric + integer argument, humanreadable will display the + given number of decimal places. + + commasep + + Separate the numerical values into groups of three + digits using a comma (e.g., 1234567 -> 1,234,567) + + hex + + Display integer as hex number. An argument can be + used to indicate how many digits should be used in + the output. If the hex number is too long it will + be truncated at the front, if it is too short it will + be padded with zeros at the front. If the width is + a negative number then at most that number of digits + will be used, but short numbers will not be padded + with zeroes. Another argument can be given to indicate + if the hex numbers should be written with lower + or upper case. + + For example: + + value Template Output + 12345 {{ value|hex }} 3039 + 12345 {{ value|hex:2 }} 39 + 12345 {{ value|hex:8 }} 00003039 + 12345 {{ value|hex:-8 }} 3039 + 14911 {{ value|hex:-8:upper }} 3A3F + 14911 {{ value|hex:-8:lower }} 3a3f + + hexlist + + Display integer as hex number with : between pairs. An + argument can be used to indicate how many digits should + be used in the output. If the hex number is too long it + will be truncated at the front, if it is too short it will + be padded with zeros at the front. If the width is + a negative number then at most that number of digits + will be used, but short numbers will not be padded + with zeroes. Another argument can be given to indicate + if the hex numbers should be written with lower + or upper case. + + For example: + + value Template Output + 12345 {{ value|hexlist }} 30:39 + 12345 {{ value|hexlist:2 }} 39 + 12345 {{ value|hexlist:8 }} 00:00:30:39 + 12345 {{ value|hexlist:-8 }} 30:39 + 14911 {{ value|hexlist:-8:upper }} 3A:3F + 14911 {{ value|hexlist:-8:lower }} 3a:3f + + floatformat + + Used for type 'float' in tailf-xsd-types. We recommend + that the YANG built-in type 'decimal64' is used instead of + 'float'. + + When used without an argument, rounds a floating-point + number to one decimal place -- but only if there is a + decimal part to be displayed. + + For example: + + value Template Output + 34.23234 {{ value|floatformat }} 34.2 + 34.00000 {{ value|floatformat }} 34 + 34.26000 {{ value|floatformat }} 34.3 + + If used with a numeric integer argument, floatformat + rounds a number to that many decimal places. For example: + + value Template Output + 34.23234 {{ value|floatformat:3 }} 34.232 + 34.00000 {{ value|floatformat:3 }} 34.000 + 34.26000 {{ value|floatformat:3 }} 34.260 + + If the argument passed to floatformat is negative, it will + round a number to that many decimal places -- but only if + there's a decimal part to be displayed. For example: + + value Template Output + 34.23234 {{ value|floatformat:-3 }} 34.232 + 34.00000 {{ value|floatformat:-3 }} 34 + 34.26000 {{ value|floatformat:-3 }} 34.260 + + Using floatformat with no argument is equivalent to using + floatformat with an argument of -1. + + ljust:width + + Left-align the value given a width. + + rjust:width + + Right-align the value given a width. + + trunc:width + + Truncate value to a given width. + + lower + + Convert the value into lowercase. + + upper + + Convert the value into uppercase. + + show: + + Substitutes the result of invoking the default display + function for the parameter. The dictionary can be used + for introducing own variables that can be accessed in + the same manner as builtin variables. The user defined + variables overrides builtin variables. The dictionary + is specified as a string on the following form: + + (key=value)(:key=value)* + + For example, with the following expression: + + $(foo|show:myvar1=true:myvar2=Interface) + + the user defined variables can be accessed like this: + + $(.myvar1!=true?Address) $(.myvar2) + + A special case is the dict variable 'indent'. It + controls the indentation level of the displayed path. + The current indent level can be incremented and + decremented using =+ and =-. + + For example: + + $(foobar|show:indent=+2) + $(foobar|show:indent=-1) + $(foobar|show:indent=10) + + Another special case is he dict variable 'noalign'. + It may be used to suppress the default aligning that + may occur when displaying an element. + + For example: + + $(foobar|show:noalign) + + dict: + + Translates the value using the dictionary. Can for + example be used for displaying on/off instead of + true/false. The dictionary is specified as a string on + the following form: + + (key=value)(:key=value)* + + For example, with the following expression: + + $(foo|dict:true=on:false=off) + + if the leaf 'foo' has value 'true', it is displayed as 'on', and + if its value is 'false' it is displayed as 'off'. + + Nested invocations are allowed, ie it is possible to have expressions + like $((state|dict:yes=Yes:no=No)|rjust:14), or $(/foo{$(../bar)}) + + + For example: + + list interface { + key name; + leaf name { ... } + leaf status { ... } + container line { + leaf status { ... } + } + leaf mtu { ... } + leaf bw { ... } + leaf encapsulation { ... } + leaf loopback { ... } + tailf:cli-show-template + '$(name) is administratively $(status),' + + ' line protocol is $(line/status)\\n' + + 'MTU $(mtu) bytes, BW $(bw|humanreadable)bit, \\n' + + 'Encap $(encapsulation|upper), $(loopback?:loopback not set)\\n'; + }"; + } +} diff --git a/vendor/cisco/xr/755/tailf-common.yang b/vendor/cisco/xr/755/tailf-common.yang new file mode 100644 index 000000000..c309fe20a --- /dev/null +++ b/vendor/cisco/xr/755/tailf-common.yang @@ -0,0 +1,3514 @@ +module tailf-common { + namespace "http://tail-f.com/yang/common"; + prefix tailf; + + include tailf-meta-extensions { + revision-date 2017-03-08; + } + + include tailf-cli-extensions { + revision-date 2018-09-11; + } + + organization "Tail-f Systems"; + + description + "This module defines all Tail-f YANG extensions statements + and common YANG types."; + + revision 2018-09-11 { + description + "Released as part of ConfD-6.4.7 / NCS-4.4.7. + + Included latest revision of tailf-cli-extensions."; + } + + revision 2017-08-23 { + description + "Released as part of ConfD-6.4.3 / NCS-4.4.3. + + Included latest revision of tailf-cli-extensions."; + } + + revision 2017-03-08 { + description + "Released as part of ConfD-6.4 / NCS-4.4. + + Added tailf:ned-ignore-compare-config. + + Added tailf:ned-default-handling. + + Corrected the pattern for the tailf:size typedef. + + Updated the description for tailf:meta-data and tailf:meta-value. + + Included latest revision of tailf-cli-extensions and + tailf-meta-extensions submodules."; + } + + revision 2017-01-26 { + description + "Released as part of ConfD-6.3 / NCS-4.3. + + Included latest revision of tailf-cli-extensions."; + } + + revision 2016-11-24 { + description + "Released as part of ConfD-6.3 / NCS-4.3. + + Included latest revision of tailf-cli-extensions and + tailf-meta-extensions submodules."; + } + + revision 2016-11-17 { + description + "Released as part of ConfD-6.2.2 / NCS-4.2.2. + + Changed tailf:ned-data."; + } + + revision 2016-05-27 { + description + "Released as part of ConfD-6.2.1 / NCS-4.2.1. + + Added tailf:override-auto-dependencies. + + Added tailf:ned-data. + + Allow 'grouping', 'if-feature', and 'typedef' as substatements + to tailf:action."; + } + + revision 2016-05-04 { + description + "Released as part of ConfD-6.2 / NSO-4.2 + + Added tailf:meta-data. + Added tailf:meta-value. + + Added tailf:no-leafref-check. + + Allow tailf:ncs-device-type as substatement to 'module'. + + Allow multiple tailf:display-when statments. + + Updated the description of des3-cbc-encrypted-string and + aes-cfb-128-encrypted-string."; + } + + revision 2015-11-24 { + description + "Released as part of ConfD-6.1 / NCS-4.1. + + Allow reference as substatement to tailf:action."; + } + + revision 2015-05-22 { + description + "Released as part of ConfD-5.4.2 / NCS-3.4.2. + + Allow tailf:export and tailf:unique-selector in + tailf:annotate-module."; + } + + revision 2015-03-19 { + description + "Released as part of ConfD-5.4 / NCS-3.4. + + Added if-feature as substatement to tailf:annotate. + + Added tailf:no-dependency. + + Updated the description for tailf:dependency. + + Allow tailf:id-value as substatement to 'module', + tailf:annotate-module, 'choice', and 'case'."; + } + + revision 2014-11-13 { + description + "Released as part of ConfD-5.3 / NCS-3.3. + + Added tailf:export."; + } + + revision 2014-06-30 { + description + "Released as part of ConfD-5.2 / NCS-3.2. + + Added tailf:sha-256-digest-string and tailf:sha-512-digest-string."; + } + + revision 2014-03-27 { + description + "Released as part of ConfD-5.1 / NCS-3.1. + + Added tailf:actionpoint as substatement to refine. + Removed must as substatement to tailf:symlink."; + } + + revision 2014-02-20 { + description + "Released as part of ConfD-5.0.2 / NCS-3.0.2. + + Added tailf:snmp-ned-recreate-when-modified."; + } + + revision 2013-12-23 { + description + "Released as part of ConfD-5.0.1 / NCS-3.0.1. + + Allow 'unique' in tailf:annotate and tailf:annotate-statement. + + Added tailf:snmp-ned-delete-before-create."; + } + + revision 2013-11-07 { + description + "Released as part of ConfD-5.0 / NCS-3.0. + + Allow tailf:code-name as substatement to 'bit'. + + Disallow tailf:id-value as substatement to 'enum'. Use the + standard YANG 'value' statement instead. + + Deprecated tailf:hex-list. Use yang:hex-string instead. + There are no plans to remove tailf:hex-list. + + Added the types tailf:ipv4-address-and-prefix-length, + tailf:ipv6-address-and-prefix-length, and + tailf:ip-address-and-prefix-length,"; + } + + revision 2013-09-05 { + description + "Released as part of ConfD-4.3. + + Added tailf:auto-compact as substatement to tailf:indexed-view."; + } + + revision 2013-06-14 { + description + "Released as part of ConfD-4.3. + + Deprecated tailf:symlink. Use tailf:link instead. + + Allow tailf:alt-name as substatement to tailf:action and rpc. + + Allow status as substatement to tailf:action. + + Allow description in tailf:annotate and tailf:annotate-statement."; + } + + revision 2013-05-16 { + description + "Released as part of ConfD-4.2.2. + + Added tailf:link"; + } + + revision 2013-03-07 { + description + "Released as part of ConfD-4.2. + + Allow 'pattern' in tailf:annotate-statement."; + } + + revision 2012-11-08 { + description + "Released as part of ConfD-4.1. + + Added tailf:unique-selector and tailf:unique-leaf. + + Allow tailf:info in bit. + + Allow tailf:code-name as substatement to all statements that + define data nodes in the schema tree and the 'rpc', + 'notification', 'identity', and 'tailf:action' statements. + + Allow status in tailf:symlink"; + } + + revision 2012-08-23 { + description + "Released as part of ConfD-4.0.1. + + Allow tailf:cli-operational-mode and tailf:cli-configure-mode in + rpc."; + } + + revision 2012-06-14 { + description + "Released as part of ConfD-4.0. + + Added tailf:display-hint."; + } + + revision 2012-05-24 { + description + "Released as part of ConfD-3.9.2."; + } + + revision 2012-03-08 { + description + "Released as part of ConfD-3.9. + + Added tailf:timeout. + Added tailf:non-strict-leafref."; + } + + revision 2011-12-08 { + description + "Released as part of ConfD-3.8. + + Allow validation statements in tailf:annotate and + tailf:annotate-statement. + + Allow tailf:validate in must, in order to override the evaluation + of the must expression with a callback function. + + Disallow tailf:info in range, length and pattern. + + Added tailf:snmp-ned-* statements to control the SNMP NED + behavior in NCS."; + } + + revision 2011-10-20 { + description + "Released as part of ConfD-3.7.1. + + Added tailf:priority."; + } + + revision 2011-09-22 { + description + "Released as part of ConfD-3.7. + + Allow tailf:typepoint as substatement to leaf and leaf-list. + Allow tailf:id as substatement to tailf:annotate-module. + Allow tailf:sort-priority as substatement to tailf:symlink. + Added tailf:interruptibale. + Added tailf:error-info. + Added tailf:snmp-delete-value and tailf:snmp-send-delete-value. + Added tailf:step. + Added tailf:annotate-statement. + + Clarified how tailf:display-when is evaluated for lists."; + } + + revision 2011-08-25 { + description + "Released as part of ConfD-3.6.2. + + Included latest tailf-cli-extension submodule."; + } + + revision 2011-06-30 { + description + "Released as part of ConfD-3.6.1. + + Clarified what statements are allowed in tailf:annotate and + tailf:annotate-module. Specifically, that 'symlink' and 'action' + are not allowed."; + } + + revision 2011-05-26 { + description + "Released as part of ConfD-3.6. + + Allow multiple tailf:snmp-name on leafs that represent MIB scalars."; + } + + revision 2011-03-31 { + description + "Released as part of ConfD-3.5.1. + + Allow tailf:alt-name as substatement to tailf:symlink."; + } + + revision 2011-02-24 { + description + "Released as part of ConfD-3.5. + + Allow tailf:info as substatement to type. + Added tailf:writable. + Removed the deprecated tailf:cli-default-order statement. + Removed the deprecated tailf:instance-info-leafs statement."; + } + + revision 2010-11-04 { + description + "Released as part of ConfD-3.4. + + Added tailf:snmp-exclude-object. + Allow tailf:hidden as substatement to tailf:symlink. + Allow multiple tailf:hidden statements to be specified on a node. + Allow special value '*' ar argument to tailf:annotate."; + } + + + revision 2010-09-16 { + description + "Released as part of ConfD-3.3.2. + + Included latest tailf-cli-extension submodule."; + } + + revision 2010-08-19 { + description + "Released as part of ConfD-3.3.1. + + Allow multiple tailf:snmp-name statements, and expanded the + semantic meaning of this statement."; + } + + revision 2010-07-21 { + description + "Released as part of ConfD-3.3.0.3. + + Added tailf:sort-priority."; + } + + revision 2010-06-17 { + description + "Released as part of ConfD-3.3. + + Added tailf:value-length. + + Added tailf:info-html. + + Added tailf:display-default-order, and deprecated + tailf:cli-default-order. + + Added tailf:dependency as a substatement to when. + + Removed the deprecated statements tailf:constant-leaf and + tailf:constant-value."; + } + + revision 2010-04-22 { + description + "Released as part of ConfD-3.2.1. + + Added tailf:invocation-mode, + + Fixed bug in tailf:octet-list pattern."; + } + + revision 2010-03-18 { + description + "Released as part of ConfD-3.2. + + Split this module into the main module and two submodules, + tailf-meta-extensions, and tailf-cli-extensions. + + Added many tailf:cli- statements in the submodule + tailf-cli-extensions. + + Added tailf:info. + + Allow tailf:display-when in tailf:action. + + Added tailf:snmp-lax-type-check. + + Deprecated tailf:instance-info-leafs. Use + tailf:cli-instance-info-leafs instead. + + Removed the argument in tailf:cli-show-no to better match + all the other tailf:cli- statements."; + } + + revision 2010-01-28 { + description + "Released as part of ConfD-3.1.1. + + Allow tailf:snmp-oid and tailf:snmp-name in tailf:symlink. + + Added tailf:key-default. + + Allow tailf:suppress-echo in leaf and leaf-list."; + } + + revision 2009-12-17 { + description + "Released as part of ConfD-3.1. + + Added tailf:dependency as a substatement to must. + + Added must and tailf:display-when as children to tailf:symlink. + + Added tailf:interrupt to tailf:exec. + + Allow many tailf statement as substatements to 'refine'. + + Allow tailf:symlink statement in 'augment' and 'case'. + + Added tailf:internal to tailf:actionpoint. + + Deprecated tailf:constant-leaf and tailf:constant-value."; + } + + revision 2009-11-06 { + description + "Released as part of ConfD-3.0.1. + + Added tailf:annotate-module statement. + + Added tailf:code-name statement. + + Clarified the tailf:path-filters statement, and added + tailf:no-subtree-match."; + } + + revision 2009-10-01 { + description + "Released as part of ConfD-3.0. + + Clarified that tailf:annotate is applied on the expanded tree. + Bugfixes in some typedef patterns."; + } + + revision 2009-03-17 { + description + "Released as part of ConfD-2.8. + + Changed module name from tailf-extensions to reflect the content + better."; + } + + /* + * Common types, natively supported by ConfD. + */ + + typedef size { + type string { + pattern + 'S(\d+G)?(\d+M)?(\d+K)?(\d+B)?'; + } + description + "A value that represents a number of bytes. An example could be + S1G8M7K956B; meaning 1GB + 8MB + 7KB + 956B = 1082138556 bytes. + The value must start with an S. Any byte magnifier can be left + out, e.g. S1K1B equals 1025 bytes. The order is significant + though, i.e. S1B56G is not a valid byte size. + + In ConfD, a 'size' value is represented as an uint64."; + } + + typedef octet-list { + type string { + pattern '(\d*(.\d*)*)?'; + } + description + "A list of dot-separated octets e.g. '192.168.255.1.0'. + + The statement tailf:value-length can be used to restrict the number + of octets. Note that using the 'length' restriction limits the + number of characters in the lexical representation."; + } + + typedef md5-digest-string { + type string; + description + "The md5-digest-string type automatically computes a MD5 digest for + a value adhering to this type. + + This is best explained using an example. Suppose we have a + leaf: + + leaf key { + type tailf:md5-digest-string; + } + + A valid configuration is: + + $0$In god we trust. + + The '$0$' prefix signals that this is plain text. When a plain + text value is received by the server, an MD5 digest is + calculated, and the string '$1$$' is prepended to the + result, where is a random eight character salt used to + generate the digest. This value is stored in the configuration + data store. + + When a value of this type is read, the computed MD5 value is + always returned. In the example above, the following value + could be returned: + + $1$fB$ndk2z/PIS0S1SvzWLqTJb. + + If a value starting with '$1$' is received, the server + knows that the value already represents an MD5 digest, and + stores it as is in the data store. + + A value adhering to this type must have a '$0$' or a + '$1$$' prefix. + + If a default value is specified, it must have a '$1$$' prefix. + + The digest algorithm used is the same as the md5 crypt function + used for encrypting passwords for various UNIX systems, see e.g. + http://www.freebsd.org/cgi/cvsweb.cgi/~checkout/~/src/lib/libcrypt/crypt.c + "; + reference + "IEEE Std 1003.1-2008 - crypt() function + RFC 1321 - The MD5 Message-Digest Algorithm"; + } + + typedef sha-256-digest-string { + type string { + pattern + '$0$.*' + + '|$5$(rounds=\d+$)?[a-zA-Z0-9./]{1,16}$[a-zA-Z0-9./]{43}'; + } + description + "The sha-256-digest-string type automatically computes a SHA-256 + digest for a value adhering to this type. + + A value of this type matches one of the forms: + + $0$ + $5$$ + $5$rounds=$$ + + The '$0$' prefix signals that this is plain text. When a plain + text value is received by the server, a SHA-256 digest is + calculated, and the string '$5$$' is prepended to the + result, where is a random 16 character salt used to + generate the digest. This value is stored in the configuration + data store. The algorithm can be tuned via the + /confdConfig/cryptHash/rounds parameter, which if set to a number + other than the default will cause '$5$rounds=$$' to + be prepended instead of only '$5$$'. + + If a value starting with '$5$' is received, the server + knows that the value already represents a SHA-256 digest, and + stores it as is in the data store. + + If a default value is specified, it must have a '$5$' prefix. + + The digest algorithm used is the same as the SHA-256 crypt function + used for encrypting passwords for various UNIX systems, see e.g. + http://www.akkadia.org/drepper/SHA-crypt.txt"; + reference + "IEEE Std 1003.1-2008 - crypt() function + FIPS.180-3.2008: Secure Hash Standard"; + } + + typedef sha-512-digest-string { + type string { + pattern + '$0$.*' + + '|$6$(rounds=\d+$)?[a-zA-Z0-9./]{1,16}$[a-zA-Z0-9./]{86}'; + } + + description + "The sha-512-digest-string type automatically computes a SHA-512 + digest for a value adhering to this type. + + A value of this type matches one of the forms: + + $0$ + $6$$ + $6$rounds=$$ + + The '$0$' prefix signals that this is plain text. When a plain + text value is received by the server, a SHA-512 digest is + calculated, and the string '$6$$' is prepended to the + result, where is a random 16 character salt used to + generate the digest. This value is stored in the configuration + data store. The algorithm can be tuned via the + /confdConfig/cryptHash/rounds parameter, which if set to a number + other than the default will cause '$6$rounds=$$' to + be prepended instead of only '$6$$'. + + If a value starting with '$6$' is received, the server + knows that the value already represents a SHA-512 digest, and + stores it as is in the data store. + + If a default value is specified, it must have a '$6$' prefix. + + The digest algorithm used is the same as the SHA-512 crypt function + used for encrypting passwords for various UNIX systems, see e.g. + http://www.akkadia.org/drepper/SHA-crypt.txt"; + reference + "IEEE Std 1003.1-2008 - crypt() function + FIPS.180-3.2008: Secure Hash Standard"; + } + + typedef des3-cbc-encrypted-string { + type string; + description + "The des3-cbc-encrypted-string type automatically encrypts a value + adhering to this type using DES in CBC mode followed by a base64 + conversion. If the value isn't encrypted already, that is. + + This is best explained using an example. Suppose we have a leaf: + + leaf enc { + type tailf:des3-cbc-encrypted-string; + } + + A valid configuration is: + + $0$In god we trust. + + The '$0$' prefix signals that this is plain text. When a plain + text value is received by the server, the value is DES3/Base64 + encrypted, and the string '$7$' is prepended. The resulting + string is stored in the configuration data store. + + When a value of this type is read, the encrypted value is always + returned. In the example above, the following value could be + returned: + + $7$Qxxsn8BVzxphCdflqRwZm6noKKmt0QoSWnRnhcXqocg= + + If a value starting with '$7$' is received, the server knows + that the value is already encrypted, and stores it as is in the + data store. + + A value adhering to this type must have a '$0$' or a '$7$' prefix. + + ConfD uses a configurable set of encryption keys to encrypt the + string. For details, see 'encryptedStrings' in the + confd.conf(5) manual page."; + } + + typedef aes-cfb-128-encrypted-string { + type string; + description + "The aes-cfb-128-encrypted-string works exactly like + des3-cbc-encrypted-string but AES/128bits in CFB mode is used to + encrypt the string. The prefix for encrypted values is '$8$'."; + } + + typedef ipv4-address-and-prefix-length { + 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]))'; + } + description + "The ipv4-address-and-prefix-length type represents a combination + of an IPv4 address and a prefix length. The prefix length is given + by the number following the slash character and must be less than + or equal to 32."; + } + + typedef ipv6-address-and-prefix-length { + 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}(([^:]+:[^:]+)|(.*\..*)))|' + + '((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)' + + '(/.+)'; + } + description + "The ipv6-address-and-prefix-length type represents a combination + of an IPv6 address and a prefix length. The prefix length is given + by the number following the slash character and must be less than + or equal to 128."; + } + + typedef ip-address-and-prefix-length { + type union { + type tailf:ipv4-address-and-prefix-length; + type tailf:ipv6-address-and-prefix-length; + } + description + "The ip-address-and-prefix-length type represents a combination of + an IP address and a prefix length and is IP version neutral. The + format of the textual representations implies the IP version."; + } + + + /* + * Meta extensions + */ + + extension export { + argument agent { + tailf:arg-type { + type union { + type enumeration { + enum "none"; + enum "netconf"; + enum "rest"; + enum "cli"; + enum "snmp"; + enum "webui"; + } + type string; + } + } + } + tailf:use-in "module"; + tailf:occurence "*"; + + description + "Makes this data model visible in the northbound interface 'agent'. + + This statement makes it possible to have a data model visible + through some northbound interface but not others. For example, + if a MIB is used to generate a YANG module, the resulting YANG + module can be exposed through SNMP only. + + Use the special agent 'none' to make the data model completely + hidden to all notherbound interfaces. + + The agent can also be a free-form string. In this case, the data + model will be visible to maapi applications using this string as its + 'context'."; + } + + extension annotate { + argument target { + tailf:arg-type { + type string; + } + } + tailf:use-in "module"; + tailf:use-in "submodule"; + tailf:occurence "*"; + + tailf:substatement "tailf:annotate" { + tailf:occurence "*"; + } + tailf:substatement "if-feature" { + tailf:occurence "*"; + } + description + "Annotates an existing statement with a 'tailf' statement or a + validation statement. This is useful in order to add tailf + statements to a module without touching the module source. + Annotation statements can be put in a separate annotation + module, and then passed to 'confdc' (or 'pyang') when the + original module is compiled. + + Any 'tailf' statement, except 'symlink' and 'action' can be + annotated. The statements 'symlink' and 'action' modifies the + data model, and are thus not allowed. + + The validation statements 'must', 'min-elements', + 'max-elements', 'mandatory', 'unique', and 'when' can also be + annotated. + + A 'description' can also be annotated. + + 'tailf:annotate' can occur on the top-level in a module, or in + another 'tailf:annotate' statement. + + The argument is a 'schema-nodeid', i.e. the same as for + 'augment', or a '*'. It identifies a target node in the schema + tree to annotate with new statements. The special value '*' can + be used within another 'tailf:annotate' statetement, to select all + children for annotation. + + The target node is searched for after 'uses' and 'augment' + expansion. All substatements to 'tailf:annotate' are treated as + if they were written inline in the target node, with the + exception of any 'tailf:annotate' substatements. These are + treated recursively. For example, the following snippet adds + one callpoint to /x and one to /x/y: + + tailf:annotate /x { + tailf:callpoint xcp; + tailf:annotate y { + tailf:callpoint ycp; + } + } + "; + } + + extension annotate-module { + argument module-name { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "module"; + tailf:occurence "*"; + + tailf:substatement "tailf:snmp-oid"; + tailf:substatement "tailf:snmp-mib-module-name"; + tailf:substatement "tailf:id"; + tailf:substatement "tailf:id-value"; + tailf:substatement "tailf:export" { + tailf:occurence "*"; + } + tailf:substatement "tailf:unique-selector"; + tailf:substatement "tailf:annotate-statement" { + tailf:occurence "*"; + } + description + "Annotates an existing module or submodule statement with a 'tailf' + statement. This is useful in order to add tailf statements to a + module without touching the module source. Annotation + statements can be put in a separate annotation module, and then + passed to 'confdc' (or 'pyang') when the original module is + compiled. + + 'tailf:annotate-module' can occur on the top-level in a module, + and is used to add 'tailf' statements to the module statement + itself. + + The argument is a name of the module or submodule to annotate."; + } + + extension annotate-statement { + argument statement-path { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:annotate-module"; + tailf:use-in "tailf:annotate-statement"; + tailf:occurence "*"; + + tailf:substatement "tailf:annotate-statement" { + tailf:occurence "*"; + } + description + "Annotates an existing statement with a 'tailf' statement, a + validation statement, or a type restrcition statement. This is + useful in order to add tailf statements to a module without + touching the module source. Annotation statements can be put in + a separate annotation module, and then passed to 'confdc' (or + 'pyang') when the original module is compiled. + + Any 'tailf' statement, except 'symlink' and 'action' can be + annotated. The statements 'symlink' and 'action' modifies the + data model, and are thus not allowed. + + The validation statements 'must', 'min-elements', + 'max-elements', 'mandatory', 'unique', and 'when' can also be + annotated. + + The type restriction statement 'pattern' can also be annotated. + + A 'description' can also be annotated. + + The argument is an XPath-like expression that selects a + statement to annotate. The syntax is: + + ( '[' '=' ']' ) + + where is the name of the statement to annotate, + and if there are more than one such statement in the parent, + is the quoted value of the statement's argument. + + All substatements to 'tailf:annotate-statement' are treated as + if they were written inline in the target node, with the + exception of any 'tailf:annotate-statement' substatements. + These are treated recursively. + + For example, given the grouping: + + grouping foo { + leaf bar { + type string; + } + leaf baz { + type string; + } + } + + the following snippet adds a callpoint to the leaf 'baz': + + tailf:annotate-statement grouping[name='foo'] { + tailf:annotate-statement leaf[name='baz'] { + tailf:callpoint xcp; + } + } + "; + } + + /* + * Type restriction statements + */ + + extension value-length { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "type"; + tailf:substatement "error-message"; + tailf:substatement "error-app-tag"; + description + "Used only for the types: + yang:object-identifier + yang:object-identifier-128 + yang:phys-address + yang:hex-string + tailf:hex-list + tailf:octet-list + xs:hexBinary + + This type restriction is used to limit the length of the + value-space value of the type. Note that since all these types are + derived from 'string', the standard 'length' statement restricts the + lexical representation of the value. + + The argument is a length expression string, with the same syntax as + for the standard YANG 'length' statement."; + } + + extension path-filters { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "type"; + tailf:substatement "tailf:no-subtree-match"; + description + "Used for type 'instance-identifier' only. + + The argument is a space separated list of absolute or relative XPath + expressions. + + This statement declares that the instance-identifier value must match + one of the specified paths, according to the following rules: + + 1. each XPath expression is evaluated, and returns a node set. + + 2. if there is no 'tailf:no-subtree-match' statement, the + instance-identifier matches if it refers to a node in this + node set, or if it refers to any descendant node of this + node set. + + 3. if there is a 'tailf:no-subtree-match' statement, the + instance-identifier matches if it refers to a node in this + node set. + + For example: + + The value /a/b[key='k1']/c matches the XPath expression + /a/b[key='k1']/c. + + The value /a/b[key='k1']/c matches the XPath expression /a/b/c. + + The value /a/b[key='k1']/c matches the XPath expression /a/b, if + there is no 'tailf:no-subtree-match' statement. + + The value /a/b[key='k1'] matches the XPath expression /a/b, if + there is a 'tailf:no-subtree-match' statement. + "; + } + + extension step { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "range"; + description + "Used to further restrict the range of integer and decimal types. The + argument is a positive integer or decimal value greater than + zero. The allowed values for the type is further restricted to + only those values that matches the expression: + + 'low' + n * 'step' + + where 'low' is the lowest allowed value in the range, n is a + non-negative integer. + + For example, the following type: + + type int32 { + range '-2 .. 9' { + tailf:step 3; + } + } + + has the value space { -2, 1, 4, 7 }"; + } + + /* + * Data implementation statements + */ + + extension callpoint { + argument id { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:use-in "grouping"; + tailf:occurence "*"; + + tailf:substatement "description"; + tailf:substatement "tailf:config"; + tailf:substatement "tailf:transform"; + tailf:substatement "tailf:set-hook"; + tailf:substatement "tailf:transaction-hook"; + tailf:substatement "tailf:cache"; + tailf:substatement "tailf:opaque"; + tailf:substatement "tailf:internal"; + description + "Identifies a callback in a data provider. A data provider implements + access to external data, either configuration data in a database or + operational data. By default ConfD uses the embedded database + (CDB) to store all data. However, some or all of + the configuration data may be stored in an external source. In + order for ConfD to be able to manipulate external data, a data + provider registers itself using the callpoint id as described in + confd_lib_dp(3). + + A callpoint is inherited to all child nodes unless another + 'callpoint' or an 'cdb-oper' is defined."; + } + + extension config { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "tailf:callpoint"; + description + "If this statement is present, the callpoint is applied to nodes with a + matching value of their 'config' property."; + } + + extension transform { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "tailf:callpoint"; + description + "If set to 'true', the callpoint is a transformation callpoint. How + transformation callpoints are used is described in the + 'Transformations, Hooks, Hidden Data and Symlinks' chapter + in the User's Guide."; + } + + extension set-hook { + argument value { + tailf:arg-type { + type enumeration { + enum subtree; + enum object; + enum node; + } + } + } + tailf:use-in "tailf:callpoint"; + description + "Set hooks are a means to associate user code to the + transaction. Whenever an element gets written, created, or + deleted, user code gets invoked and can optionally write more + data into the same transaction. + + The difference between set- and transaction hooks are that set + hooks are invoked immediately when a write operation is requested + by a north bound agent, and transaction hooks are invoked at + commit time. + + The value 'subtree' means that all nodes in the configuration + below where the hook is defined are affected. + + The value 'object' means that the hook only applies to the list + where it is defined, i.e. it applies to all child nodes that + are not themselves lists. + + The value 'node' means that the hook only applies to + the node where it is defined and none of its children. + + For more details on hooks, + see the 'Transformations, Hooks, Hidden Data and Symlinks' + chapter in the User's Guide."; + } + + extension transaction-hook { + argument value { + tailf:arg-type { + type enumeration { + enum subtree; + enum object; + enum node; + } + } + } + tailf:use-in "tailf:callpoint"; + tailf:substatement "tailf:invocation-mode"; + description + "Transaction hooks are a means to associate user code to the + transaction. Whenever an element gets written, created, or + deleted, user code gets invoked and can optionally write more + data into the same transaction. + + The difference between set- and transaction hooks are that set + hooks are invoked immediately when an element is modified, but + transaction hooks are invoked at commit time. + + The value 'subtree' means that all nodes in the configuration + below where the hook is defined are affected. + + The value 'object' means that the hook only applies to the list + where it is defined, i.e. it applies to all child nodes that + are not themselves lists. + + The value 'node' means that the hook only applies to + the node where it is defined and none of its children. + + For more details on hooks, + see the 'Transformations, Hooks, Hidden Data and Symlinks' + chapter in the User's Guide."; + } + + extension invocation-mode { + argument value { + tailf:arg-type { + type enumeration { + enum per-operation; + enum per-transaction; + } + default per-operation; + } + } + tailf:use-in "tailf:transaction-hook"; + description + "By default, the node-specific write callbacks (create(), set_elem(), + etc) for a transaction hook are invoked for the invidual data nodes + that are modified in the transaction. If 'tailf:invocation-mode' is + set to 'per-transaction', there will instead be a single invocation + of a generic write callback (write_all())."; + } + + extension cache { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "tailf:callpoint"; + tailf:substatement "tailf:timeout"; + description + "If set to 'true', the operational data served by the callpoint will + be cached by ConfD. If set to 'true' in a node that represents + configuration data, the statement 'tailf:config' must be present + and set to 'false'. This feature is further described in the section + 'Caching operational data' in the 'Operational data' chapter in + the User's Guide."; + } + + extension timeout { + argument value { + tailf:arg-type { + type uint64; + } + } + tailf:use-in "tailf:cache"; + description + "Specifies how long the operational data will be cached, in seconds. + This value will override the global value specified via + /confdConfig/opcache/timeout in the confd.conf(5) file."; + } + + extension opaque { + argument value { + tailf:arg-type { + type string { + length "1..255"; + } + } + } + tailf:use-in "tailf:callpoint"; + tailf:use-in "tailf:validate"; + tailf:use-in "tailf:actionpoint"; + description + "Defines an opaque string which is passed to the callback function + in the context."; + } + + extension id { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "module"; + description + "This statement is used when old confspec models are translated to + YANG. It needs to be present if systems deployed with data + based on confspecs are updated to YANG based data models. + + In confspec, the 'id' of a data model was a string that never + would change, even if the namespace URI would change. It is not + needed in YANG, since the namespace URi cannot change as a module + is updated. + + This statement is typically present in YANG modules generated by + cs2yang. If no live upgrade needs to be done from a confspec + based system to a YANG based system, this statement can be + removed from such a generated module."; + } + + extension cdb-oper { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:substatement "description"; + tailf:substatement "tailf:persistent"; + description + "Indicates that operational data nodes below this node are stored in + CDB."; + } + + extension persistent { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "tailf:cdb-oper"; + description + "If it is set to 'true', the operational data is stored on disk. If + set to 'false', the operational data is not persistent across + ConfD restarts. The default is 'false'."; + } + + extension id-value { + argument value { + tailf:arg-type { + type uint32 { + range "1..4294967294"; + } + } + } + tailf:use-in "module"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "identity"; + tailf:use-in "notification"; + tailf:use-in "choice"; + tailf:use-in "case"; + tailf:use-in "tailf:action"; + description + "This statement lets you specify a hard wired numerical id value to + associate with the parent node. This id value is normally auto + generated by confdc and is used when working with the ConfD API + to refer to a tag name, to avoid expensive string comparison. + Under certain rare circumstances this auto generated hash value + may collide with a hash value generated for a node in another + data model. Whenever such a collision occurs the ConfD daemon + fails to start and instructs the developer to use the 'id-value' + statement to resolve the collision. + + + A thorough discussion on id-value can be found in the section Hash + Values and the id-value Statement in the YANG chapter in the User + Guide."; + } + + extension default-ref { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "refine"; + description + "This statement defines a dynamic default value. It is a reference to + some other leaf in the datamodel. If no value has been set for + this leaf, it defaults to the value of the leaf that the + 'default-ref' argument points to. + + The textual format of a 'default-ref' is an XPath location path with + no predicates. + + The type of the leaf with a 'default-ref' will be set to the + type of the referred leaf. This means that the type statement in + the leaf with the 'default-ref' is ignored, but it SHOULD match the + type of the referred leaf. + + Here is an example, where a group without a 'hold-time' will get as + default the value of another leaf up in the hierarchy: + + leaf hold-time { + mandatory true; + type int32; + } + list group { + key 'name'; + leaf name { + type string; + } + leaf hold-time { + type int32; + tailf:default-ref '../../hold-time'; + } + } + "; + } + + extension sort-order { + argument how { + tailf:arg-type { + type enumeration { + enum normal { + description + "Entries are sorted on the key values."; + } + enum snmp { + description + "All string key values are considered to + start with a length byte for the purpose of sorting."; + } + enum snmp-implied { + description + "As 'snmp', but uses a length byte for all except the last key."; + } + enum unsorted { + description + "Entries do not have any special order. Note that it is + not possible to use the function 'find_next' on an + unsorted list. If an unsorted list is filtered (e.g., + in the CLI, the entire list must be traversed. + + If this value is given for a list stored in CDB, it + has no effect."; + } + } + default normal; + } + } + tailf:use-in "list"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:secondary-index"; + description + "This statement can be used for 'ordered-by system' lists and + leaf-lists only. It indicates in which way the list entries + are sorted."; + } + + extension link { + argument target { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:substatement "tailf:inherit-set-hook"; + description + "This statement specifies that the data node should be + implemented as a link to another data node, called the target + data node. This means that whenever the node is modified, the + system modifies the target data node instead, and whenever the + data node is read, the system returns the value of target data + node. + + Note that if the data node is a leaf, the target node MUST also + be a leaf, and if the data node is a leaf-list, the target node + MUST also be a leaf-list. + + Note that the type of the data node MUST be the same as the + target data node. Currently the compiler cannot check this. + + The argument is an XPath absolute location path. If + the target lies within lists, all keys must be specified. + A key either has a value, or is a reference to a key in the path of the + source node, using the function current() as starting + point for an XPath location path. For example: + + /a/b[k1='paul'][k2=current()/../k]/c"; + } + + extension lower-case { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + description + "Use for config false leafs and leaf-lists only. + + This extension serves as a hint to the system that the + leaf's type has the implict pattern '[^A-Z]*', i.e., all + strings returned by the data provider are lower case (in + the 7-bit ASCII range). + + The CLI uses this hint when it is run in case-insensitive mode + to optimize the lookup calls towards the data provider."; + } + + extension inherit-set-hook { + argument value { + tailf:arg-type { + type boolean; + default "false"; + } + } + tailf:use-in "tailf:symlink"; + tailf:use-in "tailf:link"; + description + "This statement specifies that a 'tailf:set-hook' statement should + survive through symlinks. If set to true a set hook gets called as + soon as the value is set via a symlink but also during commit. The + normal behaviour is to only call the set hook during commit time."; + } + + extension secondary-index { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "list"; + tailf:occurence "*"; + tailf:substatement "tailf:index-leafs" { + tailf:occurence "1"; + } + tailf:substatement "tailf:sort-order"; + tailf:substatement "tailf:display-default-order"; + description + "This statement creates a secondary index with a given name in the + parent list. The secondary index can be used to control the + displayed sort order of the instances of the list. + + Read more about sort order in 'The ConfD Command-Line Interface + (CLI)' chapters in the User Guide, confd_lib_dp(3), and + confd_lib_maapi(3). + + NOTE: Currently secondary-index is not supported for config false + data stored in CDB."; + } + + extension index-leafs { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:secondary-index"; + tailf:occurence "1"; + description + "This statement contains a space separated list of leaf names. Each + such leaf must be a direct child to the list. The secondary + index is kept sorted according to the values of these leafs."; + } + + extension typepoint { + argument id { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "typedef"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:occurence "*"; + description + "If a typedef, leaf, or leaf-list has a 'typepoint' statement, a + user-defined type is specified, as opposed to a derivation or + specification of an existing type. The implementation of a + user-defined type must be provided in the form of a shared object + with C callback functions that is loaded into the ConfD daemon at + startup time. Read more about user-defined types in the + confd_types(3) manual page. + + The argument defines the ID associated with a typepoint. This + ID is provided by the shared object, and used by the ConfD + daemon to locate the implementation of a specific user-defined + type."; + } + + /* + * Validation related statements + */ + + extension unique-selector { + argument context-path { + tailf:arg-type { + type string; + } + } + tailf:use-in "module"; + tailf:use-in "submodule"; + tailf:use-in "grouping"; + tailf:use-in "augment"; + tailf:use-in "container"; + tailf:use-in "list"; + tailf:occurence "*"; + + tailf:substatement "tailf:unique-leaf" { + tailf:occurence "+"; + } + description + "The standard YANG statement 'unique' can be used to check for + uniqueness within a single list only. Specifically, it cannot + be used to check for uniqueness of leafs within a sublist. + + For example: + + container a { + list b { + ... + unique 'server/ip server/port'; + list server { + ... + leaf ip { ... }; + leaf port { ... }; + } + } + } + + The unique expression above is not legal. The intention is + that there must not be any two 'server' entries in any 'b' with + the same combination of ip and port. This would be illegal: + + + + b1 + + 10.0.0.1 + 80 + + + + b2 + + 10.0.0.1 + 80 + + + + + With 'tailf:unique-selector' and 'tailf:unique-leaf', this kind + of constraint can be defined. + + The argument to 'tailf:unique-selector' is an XPath descendant + location path (matches the rule 'descendant-schema-nodeid' in + RFC 6020). The first node in the path MUST be a list node, and + it MUST be defined in the same module as the + tailf:unique-selector. For example, the following is illegal: + + module y { + ... + import x { + prefix x; + } + tailf:unique-selector '/x:server' { // illegal + ... + } + } + + For each instance of the node where the selector is defined, it + is evaluated, and for each node selected by the selector, a + tuple is constructed by evaluating the 'tailf:unique-leaf' + expression. All such tuples must be unique. If a + 'tailf:unique-leaf' expression refers to a non-existing leaf, + the corresponding tuple is ignored. + + In the example above, the unique expression can be replaced by: + + container a { + tailf:unique-selector 'b/server' { + tailf:unique-leaf 'ip'; + tailf:unique-leaf 'port'; + } + list b { + ... + } + } + + For each container 'a', the XPath expression 'b/server' is + evaluated. For each such server, a 2-tuple is constructed with + the 'ip' and 'port' leafs. Each such 2-tuple is guaranteed to + be unique."; + } + + extension unique-leaf { + argument leaf-expr { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:unique-selector"; + tailf:occurence "+"; + description + "See 'tailf:unique-selector' for a description of how this statement + is used. + + The argument is an XPath descendant location path (matches the + rule 'descendant-schema-nodeid' in RFC 6020), and it MUST refer to + a leaf."; + } + + extension validate { + argument id { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "grouping"; + tailf:use-in "refine"; + tailf:use-in "must"; + tailf:occurence "*"; + tailf:substatement "description"; + tailf:substatement "tailf:call-once"; + tailf:substatement "tailf:dependency" { + tailf:occurence "*"; + } + tailf:substatement "tailf:opaque"; + tailf:substatement "tailf:internal"; + tailf:substatement "tailf:priority"; + description + "Identifies a validation callback which is invoked when a configuration + value is to be validated. The callback validates a value and + typically checks it towards other values in the data store. + Validation callbacks are used when the YANG built-in validation + constructs ('must', 'unique') are not expressive enough. + + Callbacks use the API described in confd_lib_maapi(3) to + access whatever other configuration values needed to perform the + validation. + + Validation callbacks are typically assigned to individual nodes + in the data model, but it may be feasible to use a single + validation callback on a root node. In that case the callback + is responsible for validation of all values and their + relationships throughout the data store. + + The 'validate' statment should in almost all cases have a + 'tailf:dependency' substatement. If such a statement is not + given, the validate function is evaluated at every commit, + leading to overall performance degradation. + + If the 'validate' statement is defined in a 'must' statement, + validation callback is called instead of evaluating the must + expression. This is useful if the evaluation of the must statement + uses too much resources, and the condition expressed with the must + statement is easier to check with a validation callback function."; + } + + extension call-once { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "tailf:validate"; + description + "This optional statement can be used only if the parent statement is + a list. If 'call-once' is 'true'. the validation callback is + only called once even though there exists many list entries in + the data store. This is useful if we have a huge amount of + instances or if values assigned to each instance have to be + validated in comparison with its siblings."; + } + + extension dependency { + argument path { + tailf:arg-type { + type string; + } + } + tailf:use-in "must"; + tailf:use-in "when"; + tailf:use-in "tailf:validate"; + tailf:substatement "tailf:xpath-root"; + tailf:occurence "*"; + description + "This statement is used to specify that the must or when expression + or validation function depends on a set of subtrees in the data + store. Whenever a node in one of those subtrees are modified, + the must or when expression is evaluated, or validation code executed. + + The textual format of a 'dependency' is an XPath location path with + no predicates. + + If the node that declares the dependency is a leaf, there is an + implicit dependency to the leaf itself. + + For example, with the leafs below, the validation code for'vp' + will be called whenever 'a' or 'b' is modified. + + leaf a { + type int32; + tailf:validate vp { + tailf:dependency '../b'; + } + } + leaf b { + type int32; + } + + For 'when' and 'must' expressions, the compiler can derive the + dependencies automatically from the XPath expression in most + cases. The exception is if any wildcards are used in the expression. + + For 'when' expressions to work, a 'tailf:dependency' statement + must be given, unless the compiler can figure out the dependency + by itself. + + Note that having 'must' expressions or a 'tailf:validate' + statement without dependencies impacts the overall performance + of the system, since all such 'must' expressions or validation + functions are evaluated at every commit."; + } + + extension no-dependency { + tailf:use-in "must"; + tailf:use-in "tailf:validate"; + tailf:occurence "?"; + description + "This optional statements can be used to explicitly say that a 'must' + expression or a validation function is evaluated at every + commit. Use this with care, since the overall performance of + the system is impacted if this statement is used."; + } + + extension override-auto-dependencies { + tailf:use-in "must"; + tailf:use-in "when"; + description + "This optional statement can be used to instruct the compiler to + use the provided tailf:dependency statements instead of the + dependencies that the compiler calculates from the expression. + + Use with care, and only if you are sure that the provided dependecies + are correct."; + } + + extension priority { + tailf:use-in "tailf:validate"; + argument value { + tailf:arg-type { + type uint32; + } + } + description + "This extension takes an integer parameter specifying the order + validation code will be evaluated, in order of increasing + priority. + + The default priority is 0."; + } + + extension no-subtree-match { + tailf:use-in "tailf:path-filters"; + description + "See tailf:path-filters."; + } + + + /* + * User interface related statements + */ + + extension info { + argument text { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "typedef"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "identity"; + tailf:use-in "type"; + tailf:use-in "enum"; + tailf:use-in "bit"; + tailf:use-in "length"; + tailf:use-in "pattern"; + tailf:use-in "range"; + tailf:use-in "refine"; + tailf:use-in "action"; + tailf:use-in "tailf:action"; + tailf:use-in "tailf:symlink"; + tailf:use-in "tailf:cli-exit-command"; + description + "Contains a textual description of the definition, suitable for + being presented to the CLI and WebUI users. + + The first sentence of this textual description is used in the + CLI as a summary, and displayed to the user when a short + explanation is presented. + + The 'description' statement is related, but targeted to the module + reader, rather than the CLI or WebUI user. + + The info string may contain a ';;' keyword. It is used in type + descriptions for leafs when the builtin type info needs to be + customized. A 'normal' info string describing a type is assumed + to contain a short textual description. When ';;' is present it + works as a delimiter where the text before the keyword is + assumed to contain a short description and the text after the + keyword a long(er) description. In the context of completion in + the CLI the text will be nicely presented in two columns where + both descriptions are aligned when displayed."; + } + + extension info-html { + argument text { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "identity"; + tailf:use-in "tailf:action"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "This statement works exactly as 'tailf:info', with the exception + that it can contain HTML markup. The WebUI will display the + string with the HTML markup, but the CLI will remove all HTML markup + before displaying the string to the user. In most cases, + using this statement avoids using special descriptions in webspecs + and clispecs. + + If this statement is present, 'tailf:info' cannot be given at the same + time."; + } + + extension sort-priority { + argument value { + tailf:arg-type { + type int32; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "This extension takes an integer parameter specifying the order and + can be placed on leafs, containers, lists and leaf-lists. + When showing, or getting configuration, leaf values will be returned + in order of increasing sort-priority. + + The default sort-priority is 0."; + } + + extension writable { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "leaf"; + description + "This extension makes operational data (i.e., config false data) + writable. Only valid for leafs."; + } + + extension suppress-echo { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "typedef"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + description + "If this statetement is set to 'true', leafs of this type will not have + their values echoed when input in the webui or when the CLI prompts + for the value. The value will also not be included in the audit + log in clear text but will appear as ***."; + } + + extension hidden { + argument tag { + tailf:arg-type { + type string { + pattern '[^\*].*|..+'; // must not be single '*' +// YANG 1.1: +// pattern '\*' { +// modifier invert-match; +// } + } + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:action"; + tailf:use-in "refine"; + tailf:use-in "tailf:symlink"; + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:occurence "*"; + + description + "This statement can be used to hide a node from some, or all, + northbound interfaces. All nodes with the same value are + considered a hide group and are treated the same with regards to + being visible or not in a northbound interface. + + A node with an hidden property is not shown in the northbound + user interfaces (CLI and Web UI) unless an 'unhide' operation has + been performed in the user interface. + + The hidden value 'full' indicates that the node should be hidden + from all northbound interfaces, including programmatical interfaces + such as NETCONF. + + The value '*' is not valid. + + A hide group can be unhidden only if this has been explicitly + allowed in the confd.conf(5) daemon configuration. + + Multiple hide groups can be specified by giving this statement + multiple times. The node is shown if any of the specified hide groups + has been given in the 'unhide' operation. + + Note that if a mandatory node is hidden, a hook callback + function (or similar) might be needed in order to set the + element."; + } + + extension display-when { + argument condition { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + tailf:occurence "*"; + tailf:substatement "tailf:xpath-root"; + description + "The argument contains an XPath expression which specifies when + the node should be displayed in the CLI and WebUI. For example, + when the CLI performs completion, and one of the candidates is + a node with a 'display-when' expression, the expression is + evaluated by the CLI. If the XPath expression evaluates to + true, the node is shown as a possible completion candidate, + otherwise not. + + For a list, the display-when expression is evaluated once for the + entire list. In this case, the XPath context node is the list's parent + node. + + This feature is further described in the 'Transformations, Hooks, + Hidden Data and Symlinks' chapter in the User Guide."; + } + + extension display-groups { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "This property is used in the CLI when 'enableDisplayGroups' has been + set to true in the confd.conf(5) file. Display groups are used + to control which elements should be displayed by the show command. + + The argument is a space-separated string of tags. + + In the J-style CLI the 'show status', 'show table' and 'show + all' commands use display groups. In the C- and I-style + CLIs the 'show ' command uses display groups. + + If no display groups are specified when running the commands, the + node will be displayed if it does not have the 'display-groups' + property, or if the property value includes the special value 'none'. + + If display groups are specified when running the command, then + the node will be displayed only if its 'display-group' + property contains one of the specified display groups."; + } + + extension display-default-order { + tailf:use-in "tailf:secondary-index"; + description + "Specifies that the list should be displayed sorted according + to this secondary index in the show command. + + If the list has more than one secondary index, + 'display-default-order' must be present in one index only. + + Used in J-, I- and C-style CLIs and WebUI."; + } + + extension alt-name { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "This property is used to specify an alternative name for the + node in the CLI. It is used instead of the node name in the CLI, + both for input and output."; + } + + extension display-status-name { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "This property is used to specify an alternative name for the + element in the CLI. It is used when displaying status + information in the C- and I-style CLIs."; + } + + extension display-column-name { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "refine"; + description + "This property is used to specify an alternative column name for the + leaf in the CLI. It is used when displaying the leaf in a + table in the CLI."; + } + + extension display-hint { + argument hint { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "typedef"; + description + "This statement can be used to add a display-hint to a leaf or + typedef of type binary. The display-hint is used in the CLI + and WebUI instead of displaying the binary as a base64-encoded + string. It is also used for input. + + The value of a 'display-hint' is defined in RFC 2579. + + For example, with the display-hint value '1x:', the value is + printed and inputted as a colon-separated hex list."; + } + + /* + * SNMP mapping statements + */ + + extension snmp-oid { + argument oid { + tailf:arg-type { + type tailf:tailf-oid; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "module"; + tailf:use-in "refine"; + description + "Used when the YANG module is mapped to an SNMP module. + + If this statement is present as a direct child to 'module', + it indicates the top level OID for the module. + + When the parent node is mapped to an SNMP object, this statement + specifies the OID of the SNMP object. It may be either a full + OID or just a suffix (a period, followed by an integer). In the + latter case, a full OID must be given for some ancestor element. + + NOTE: when this statement is set in a list, it refers to the OID of + the correspondig table, not the table entry."; + } + + extension snmp-name { + argument name { + tailf:arg-type { + type tailf:snmp-identifier; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "enum"; + tailf:use-in "refine"; + tailf:occurence "*"; + description + "Used when the YANG module is mapped to an SNMP module. + + When the parent node is mapped to an SNMP object, this statement + specifies the name of the SNMP object. + + If the parent node is mapped to multiple SNMP objects, this + statement can be given multiple times. The first statement + specifies the primary table. + + In a list, the argument is interpreted as: + + [MIB-MODULE-NAME:]TABLE-NAME + + For a leaf representing a table column, it is interpreted as: + + [[MIB-MODULE-NAME:]TABLE-NAME:]NAME + + For a leaf representing a scalar variable, it is interpreted as: + + [MIB-MODULE-NAME:]NAME + + If a YANG list is mapped to multiple SNMP tables, each such SNMP + table must be specified with a 'tailf:snmp-name' statement. If + the table is defined in another MIB than the MIB specified in + 'tailf:snmp-mib-module-name', the MIB name must be specified in this + argument. + + A leaf in a list that is mapped to multiple SNMP tables must specify + the name of the table it is mapped to if it is different from the + primary table. + + In the following example, a single YANG list 'interface' is mapped + to the MIB tables ifTable, ifXTable, and ipv4InterfaceTable: + + list interface { + key index; + tailf:snmp-name 'ifTable'; // primary table + tailf:snmp-name 'ifXTable'; + tailf:snmp-name 'IP-MIB:ipv4InterfaceTable'; + + leaf index { + type int32; + } + leaf description { + type string; + tailf:snmp-name 'ifDescr'; // mapped to primary table + } + leaf name { + type string; + tailf:snmp-name 'ifXTable:ifName'; + } + leaf ipv4-enable { + type boolean; + tailf:snmp-name + 'IP-MIB:ipv4InterfaceTable:ipv4InterfaceEnableStatus'; + } + ... + } + + When emitting a mib from yang, enum labels are used as-is if they + follow the SMI rules for labels (no '.' or '_' characters and beginning + with a lowercase letter). Any label that doesn't satisfy the SMI rules + will be converted as follows: + + An initial uppercase character will be downcased. + + If the initial character is not a letter it will be prepended with + an 'a'. + + Any '.' or '_' characters elsewhere in the label will be substituted + with '-' characters. + + In the resulting label, any multiple '-' character sequence will be + replaced with a single '-' character. + + If this automatic conversion is not suitable, snmp-name can be used + to specify the label to use when emitting a MIB."; + } + + extension snmp-mib-module-name { + argument name { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "module"; + tailf:use-in "refine"; + description + "Used when the YANG module is mapped to an SNMP module. + + Specifies the name of the SNMP MIB module where the SNMP objects + are defined. + + This property is inherited by all child nodes."; + } + + extension snmp-row-status-column { + argument value { + tailf:arg-type { + type uint32 { + range "1..max"; + } + } + } + tailf:use-in "list"; + tailf:use-in "refine"; + description + "Used when an SNMP module is generated from the YANG module. + + When the parent list node is mapped to an SNMP table, this + statement specifies the column number of the generated RowStatus + column. If it is not specified, the generated RowStatus column + will be the last in the table."; + } + + extension snmp-lax-type-check { + argument value { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "leaf"; + description + "Normally, the ConfD MIB compiler checks that the data type of an SNMP + object matches the data type of the corresponding YANG leaf. If + both objects are writeble, the data types need to precisely + match, but if the SNMP object is read-only, or if + snmp-lax-type-check is set to 'true', the compiler accepts the + object if the SNMP type's value space is a superset of the YANG + type's value space. + + If snmp-lax-type-check is true and the MIB object is writable, the SNMP + agent will reject values outside the YANG data type range in runtime."; + } + + extension snmp-exclude-object { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + description + "Used when an SNMP MIB is generated from a YANG module, using + the --generate-oids option to confdc. + + If this statement is present, confdc will exclude this object + from the resulting MIB."; + } + + extension snmp-delete-value { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:substatement "tailf:snmp-send-delete-value"; + description + "This statement is used to define a value to be used in SNMP + to delete an optional leaf. The argument to this statement is the + special value. This special value must not be part of the value + space for the YANG leaf. + + If the optional leaf does not exists, reading it over SNMP returns + 'noSuchInstance', unless the statement 'tailf:snmp-send-delete-value' + is used, in which case the same value as used to delete the node + is returned. + + For example, the YANG leaf: + + leaf opt-int { + type int32 { + range '1..255'; + } + tailf:snmp-delete-value 0 { + tailf:snmp-send-delete-value; + } + } + + can be mapped to a SMI object with syntax: + + SYNTAX Integer32 (0..255) + + Setting such an object to '0' over SNMP will delete the node + from the datastore. If the node does not exsist, reading it over + SNMP will return '0'."; + } + + extension snmp-send-delete-value { + tailf:use-in "tailf:snmp-delete-value"; + description + "See tailf:snmp-delete-value."; + } + + /* + * SNMP NED statements + */ + + extension snmp-ned-set-before-row-modification { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + description + "If this statement is present on a leaf, it tells the SNMP NED + that if a column in the row is modified, and it is marked with + 'tailf:snmp-ned-modification-dependent', then the column marked + with 'tailf:snmp-ned-set-before-modification' needs to be set to + before the other column is modified. After all such + columns have been modified, the column marked with + 'tailf:snmp-ned-set-before-modification' is reset to its initial + value."; + } + + extension snmp-ned-modification-dependent { + tailf:use-in "leaf"; + description + "This statement is used on all columns in a table that + require the usage of the column marked with + tailf:snmp-ned-set-before-row-modification. + + This statement can be used on any column in a table where one + leaf is marked with tailf:snmp-ned-set-before-row-modification, + or a table that AUGMENTS such a table, or a table with a + foreign index in such a table."; + } + + extension snmp-ned-accessible-column { + argument leaf-name { + tailf:arg-type { + type union { + type tailf:identifier; + type int32; + } + } + } + tailf:use-in "list"; + description + "The name or subid number of an accessible column that is + instantiated in all table entries in a table. The column does + not have to be writable. The SNMP NED will use this column + when it uses GET-NEXT to loop through the list entries, and + when doing existence tests. + + If this column is not given, the SNMP NED uses the following + algorithm: + + 1. If there is a RowStatus column, it will be used. + 2. If an INDEX leaf is accessible, it will be used. + 3. Otherwise, use the first accessible column returned + by the SNMP agent."; + } + + extension snmp-ned-delete-before-create { + tailf:use-in "list"; + description + "This statement is used in a list to make the SNMP NED always send + deletes before creates. Normally, creates are sent before deletes."; + } + + extension snmp-ned-recreate-when-modified { + tailf:use-in "list"; + description + "This statement is used in a list to make the SNMP NED delete + and recreate the row when a column in the row is modified."; + } + + /* + * Java code generation statements + */ + + extension java-class-name { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "refine"; + description + "Used to give another name than the default name to generated Java + classes. This statemement is typically used to avoid name conflicts + in the Java classes."; + } + + /* + * Common code generation statemements + */ + + extension code-name { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "enum"; + tailf:use-in "bit"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "identity"; + tailf:use-in "notification"; + tailf:use-in "tailf:action"; + description + "Used to give another name to the enum or node name in generated + header files. This statement is typically used to avoid name + conflicts if there is a data node with the same name as the + enumeration, if there are multiple enumerations in different + types with the same name but different values, or if there are + multiple node names that are mapped to the same name in the + header file."; + } + + /* + * Data modeling extensions + */ + + extension action { + argument name { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "augment"; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "grouping"; + tailf:occurence "*"; + + tailf:substatement "description"; + tailf:substatement "grouping"; + tailf:substatement "if-feature"; + tailf:substatement "reference"; + tailf:substatement "input"; + tailf:substatement "output"; + tailf:substatement "status"; + tailf:substatement "typedef"; + tailf:substatement "tailf:actionpoint"; + tailf:substatement "tailf:alt-name"; + tailf:substatement "tailf:cli-mount-point"; + tailf:substatement "tailf:cli-configure-mode"; + tailf:substatement "tailf:cli-operational-mode"; + tailf:substatement "tailf:cli-oper-info"; + tailf:substatement "tailf:code-name"; + tailf:substatement "tailf:confirm-text"; + tailf:substatement "tailf:display-when"; + tailf:substatement "tailf:exec"; + tailf:substatement "tailf:hidden"; + tailf:substatement "tailf:info"; + tailf:substatement "tailf:info-html"; + description + "Defines an action (method) in the data model. + + When the action is invoked, the instance on which the action is + invoked is explicitly identified by an hierarchy of + configuration or state data. + + The action statement can have either a 'tailf:actionpoint' or a + 'tailf:exec' substatement. If the action is implemented as a + callback in an application daemon, 'tailf:actionpoint' is used, + whereas 'tailf:exec' is used for an action implemented as a + standalone executable (program or script). Additionally, 'action' + can have the same substatements as the standard YANG 'rpc' + statement, e.g., 'description', 'input', and 'output'. + + For example: + + container sys { + list interface { + key name; + leaf name { + type string; + } + tailf:action reset { + tailf:actionpoint my-ap; + input { + leaf after-seconds { + mandatory false; + type int32; + } + } + } + } + } + + We can also add a 'tailf:confirm-text', which defines a string to + be used in the user interfaces to prompt the user for + confirmation before the action is executed. The optional + 'tailf:confirm-default' and 'tailf:cli-batch-confirm-default' can be set + to control if the default is to proceed or to abort. The latter will only + be used during batch processing in the CLI (e.g. non-interactive mode). + + tailf:action reset { + tailf:actionpoint my-ap; + input { + leaf after-seconds { + mandatory false; + type int32; + } + } + tailf:confirm-text 'Really want to do this?' { + tailf:confirm-default true; + } + } + + The 'tailf:actionpoint' statement can have a 'tailf:opaque' + substatement, to define an opaque string that is passed to the + callback function. + + tailf:action reset { + tailf:actionpoint my-ap { + tailf:opaque 'reset-interface'; + } + input { + leaf after-seconds { + mandatory false; + type int32; + } + } + } + + When we use the 'tailf:exec' substatement, the argument to exec + specifies the program or script that should be executed. For + example: + + tailf:action reboot { + tailf:exec '/opt/sys/reboot.sh' { + tailf:args '-c $(context) -p $(path)'; + } + input { + leaf when { + type enumeration { + enum now; + enum 10secs; + enum 1min; + } + } + } + }"; + } + + extension actionpoint { + argument name { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "tailf:action"; + tailf:use-in "refine"; + tailf:substatement "tailf:opaque"; + tailf:substatement "tailf:internal"; + description + "Identifies the callback in a data provider that implements the + action. See confd_lib_dp(3) for details on the API."; + } + + extension confirm-text { + argument text { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "tailf:action"; + tailf:substatement "tailf:confirm-default"; + tailf:substatement "tailf:cli-batch-confirm-default"; + description + "A string which is used in the user interfaces to prompt the user for + confirmation before the action is executed. The optional + 'confirm-default' and 'cli-batch-confirm-default' can be set to control + if the default is to proceed or to abort. The latter will only + be used during batch processing in the CLI (e.g. non-interactive mode)."; + } + + extension confirm-default { + argument name { + tailf:arg-type { + type boolean; + } + } + tailf:use-in "tailf:confirm-text"; + description + "Specifies if the default is to proceed or abort the action when a + confirm-text is set. If this value is not specified, a ConfD + global default value can be set in clispec(5)."; + } + + extension indexed-view { + tailf:use-in "list"; + tailf:substatement "tailf:auto-compact"; + description + "This element can only be used if the list has a single key of + an integer type. + + It is used to signal that lists instances uses an indexed view, + i.e., making it possible to insert a new list entry at a certain + position. If a list entry is inserted at a certain position, list + entries following this position are automatically renumbered by the + system, if needed, to make room for the new entry. + + This statement is mainly provided for backwards compatibility with + confspecs. New data models should consider using YANG's ordered-by + user statement instead."; + } + + extension auto-compact { + tailf:use-in "tailf:indexed-view"; + description + "If an indexed-view list is marked with this statement, it means that + the server will automatically renumber entires after a delete + operation so that the list entries are strictly monotonically + increasing, starting from 1, with no holes. New list entries + can either be insterted anywhere in the list, or created at the + end; but it is an error to try to create a list entry with a + key that would result in a hole in the sequence. + + For example, if the list has entries 1,2,3 it is an error to + create entry 5, but correct to create 4."; + } + + extension key-default { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "leaf"; + description + "Must be used for key leafs only. + + Specifies a value that the CLI and WebUI will use when a list entry is + created, and this key leaf is not given a value. + + If one key leaf has a key-default value, all key leafs that + follow this key leaf must also have key-default values."; + } + + extension error-info { + tailf:use-in "module"; + tailf:use-in "submodule"; + tailf:occurence "?"; + + tailf:substatement "description"; + tailf:substatement "leaf" { + tailf:occurence "*"; + } + tailf:substatement "leaf-list" { + tailf:occurence "*"; + } + tailf:substatement "list" { + tailf:occurence "*"; + } + tailf:substatement "container" { + tailf:occurence "*"; + } + tailf:substatement "choice" { + tailf:occurence "*"; + } + tailf:substatement "uses" { + tailf:occurence "*"; + } + description + "Declares a set of data nodes to be used in the NETCONF + element. + + A data provider can use one of the + confd_*_seterr_extended_info() functions (see confd_lib_dp(3)) + to set these data nodes on errors. + + This statement may be used multiple times. + + For example: + + tailf:error-info { + leaf severity { + type enumeration { + enum info; + enum error; + enum critical; + } + } + container detail { + leaf class { + type uint8; + } + leaf code { + type uint8; + } + } + }"; + } + + extension non-strict-leafref { + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:substatement "path" { + tailf:occurence "1"; + } + description + "This statement can be used in leafs and leaf-lists similar + to 'leafref', but allows reference to non-existing leafs, + and allows reference from config to non-config. + + This statement takes no argument, but expects the core YANG + statement 'path' as a substatement. The function 'deref' cannot + be used in the path, since it works on nodes of type leafref + only. + + The type of the leaf or leaf-list must be exactly the same + as the type of the target. + + This statement can be viewed as a substitute for a standard + 'require-instance false' on leafrefs, which isn't allowed. + + The CLI uses this statement to provide completion with + existing values, and the WebUI uses it to provide a + drop-down box with existing values."; + } + + extension no-leafref-check { + tailf:use-in "type"; + description + "This statement can be used to let 'leafref' type statements + reference non-existing leafs. While similar to the + 'tailf:non-strict-leafref' statement, this does not allow + reference from config to non-config."; + } + + /* + * RPC and action implementation statements + */ + + extension exec { + argument cmd { + tailf:arg-type { + type string; + } + } + tailf:use-in "rpc"; + tailf:use-in "action"; + tailf:use-in "tailf:action"; + + tailf:substatement "tailf:args"; + tailf:substatement "tailf:uid"; + tailf:substatement "tailf:gid"; + tailf:substatement "tailf:wd"; + tailf:substatement "tailf:global-no-duplicate"; + tailf:substatement "tailf:raw-xml"; + tailf:substatement "tailf:interruptible"; + tailf:substatement "tailf:interrupt"; + description + "Specifies that the rpc or action is implemented as an OS executable. + The argument 'cmd' is the path to the executable file. If the + command is in the $PATH of ConfD, the 'cmd' can be just the name + of the executable."; + } + + extension args { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:exec"; + description + "Specifies arguments to send to the executable when it is invoked by + ConfD. The argument 'value' is a space separated list of + argument strings. It may contain variables on the form + $(variablename). These variables will be expanded before the + command is executed. The following variables are always available: + + $(user) The name of the user which runs the operation. + + $(groups) A comma separated string of the names of the groups + the user belongs to. + + $(ip) The source ip address of the user session. + + $(uid) The user id of the user. + + $(gid) The group id of the user. + + When the parent 'exec' statement is a substatement of 'action', the + following additional variablenames are available: + + $(keypath) The path that identifies the parent container of 'action' + in string keypath form, e.g., + '/sys:host{earth}/interface{eth0}'. + + $(path) The path that identifies the parent container of 'action' + in CLI path form, e.g., 'host earth interface eth0'. + + $(context) cli | webui | netconf | any string provided by MAAPI + + For example: + args '-user $(user) $(uid)'; + might expand to: + -user bob 500 + "; + } + + extension raw-xml { + tailf:use-in "tailf:exec"; + tailf:substatement "tailf:batch"; + description + "Specifies that ConfD should not convert the RPC XML parameters to + command line arguments. Instead, ConfD just passes the raw XML on + stdin to the program. + + This statement is not allowed in 'tailf:action'."; + } + + extension interruptible { + argument value { + tailf:arg-type { + type boolean; + default "true"; + } + } + tailf:use-in "tailf:exec"; + description + "Specifies whether the client can abort the + execution of the executable."; + } + + extension interrupt { + argument signal { + tailf:arg-type { + type enumeration { + enum sigkill; + enum sigint; + enum sigterm; + } + default "sigkill"; + } + } + tailf:use-in "tailf:exec"; + description + "This statement specifies which signal is sent to executable by ConfD + in case the client terminates or aborts the execution. + + If not specified, 'sigkill' is sent."; + } + + + extension uid { + argument value { + tailf:arg-type { + type union { + type enumeration { + enum confd { + description + "The command is run as the same user id as the ConfD daemon."; + } + enum user { + description + "The command is run as the same user id as the user logged + in to ConfD. This user id MUST exist as an actual user id + in the underlying operating system."; + } + enum root { + description + "The command is run as root."; + } + } + type uint32; + } + } + } + tailf:use-in "tailf:exec"; + description + "Specifies which user id to use when executing the command. + + If 'uid' is an integer value, the command is run as the user with + this user id. + + If 'uid' is set to either 'user', 'root' or an integer user id, the + ConfD daemon must have been started as root (or setuid), or the + ConfD executable program 'cmdwrapper' must have setuid root + permissions."; + } + + extension gid { + argument value { + tailf:arg-type { + type union { + type enumeration { + enum confd { + description + "The command is run as the same group id as the ConfD daemon."; + } + enum user { + description + "The command is run as the same group id as the user logged + in to ConfD. This group id MUST exist as an actual group id + in the underlying operating system."; + } + enum root { + description + "The command is run as root."; + } + } + type uint32; + } + } + } + tailf:use-in "tailf:exec"; + description + "Specifies which group id to use when executing the command. + + If 'gid' is an integer value, the command is run as the group with + this group id. + + If 'gid' is set to either 'user', 'root' or an integer group id, the + ConfD daemon must have been started as root (or setuid), or the + ConfD executable program 'cmdwrapper' must have setuid root + permissions."; + } + + extension wd { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:exec"; + description + "Specifies which working directory to use when executing the + command. If not given the command is executed from the homedir + of the user logged in to ConfD."; + } + + extension global-no-duplicate { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:exec"; + description + "Specifies that only one instance with the same name can be run at any + one time in the system. The command can be started either from + the CLI, the WebUI or through NETCONF. If a client tries to + execute this command while another operation with the same + 'global-no-duplicate' name is running, a 'resource-denied' error is + generated."; + } + + extension batch { + tailf:use-in "tailf:raw-xml"; + description + "Specifies that the command returns immediately, but still runs in the + background."; + } + + /* + * Deprecated types + */ + + typedef hex-list { + type string { + pattern '(([0-9a-fA-F]){2}(:([0-9a-fA-F]){2})*)?'; + } + status deprecated; + description + "DEPRECATED: Use yang:hex-string instead. There are no plans to remove + tailf:hex-list. + + A list of colon-separated hexa-decimal octets e.g. '4F:4C:41:71'. + + The statement tailf:value-length can be used to restrict the number + of octets. Note that using the 'length' restriction limits the + number of characters in the lexical representation."; + } + + /* + * Deprecated statements + */ + + extension symlink { + argument name { + tailf:arg-type { + type tailf:identifier; + } + } + status deprecated; + tailf:use-in "list"; + tailf:use-in "container"; + tailf:use-in "module"; + tailf:use-in "submodule"; + tailf:use-in "augment"; + tailf:use-in "case"; + tailf:occurence "*"; + + tailf:substatement "status"; + tailf:substatement "tailf:alt-name"; + tailf:substatement "tailf:cli-add-mode"; + tailf:substatement "tailf:cli-allow-join-with-key"; + tailf:substatement "tailf:cli-allow-join-with-value"; + tailf:substatement "tailf:cli-allow-key-abbreviation"; + tailf:substatement "tailf:cli-allow-range"; + tailf:substatement "tailf:cli-allow-wildcard"; + tailf:substatement "tailf:cli-autowizard"; + tailf:substatement "tailf:cli-boolean-no"; + tailf:substatement "tailf:cli-break-sequence-commands"; + tailf:substatement "tailf:cli-column-align"; + tailf:substatement "tailf:cli-column-stats"; + tailf:substatement "tailf:cli-column-width"; + tailf:substatement "tailf:cli-compact-stats"; + tailf:substatement "tailf:cli-compact-syntax"; + tailf:substatement "tailf:cli-completion-actionpoint"; + tailf:substatement "tailf:cli-custom-error"; + tailf:substatement "tailf:cli-custom-range"; + tailf:substatement "tailf:cli-custom-range-actionpoint"; + tailf:substatement "tailf:cli-custom-range-enumerator"; + tailf:substatement "tailf:cli-delayed-auto-commit"; + tailf:substatement "tailf:cli-delete-container-on-delete"; + tailf:substatement "tailf:cli-delete-when-empty"; + tailf:substatement "tailf:cli-diff-dependency" { + tailf:occurence "*"; + } + tailf:substatement "tailf:cli-disabled-info"; + tailf:substatement "tailf:cli-disallow-value"; + tailf:substatement "tailf:cli-display-empty-config"; + tailf:substatement "tailf:cli-display-separated"; + tailf:substatement "tailf:cli-drop-node-name"; + tailf:substatement "tailf:cli-no-keyword"; + tailf:substatement "tailf:cli-enforce-table"; + tailf:substatement "tailf:cli-embed-no-on-delete"; + tailf:substatement "tailf:cli-exit-command"; + tailf:substatement "tailf:cli-explicit-exit"; + tailf:substatement "tailf:cli-expose-key-name"; + tailf:substatement "tailf:cli-expose-ns-prefix"; + tailf:substatement "tailf:cli-flat-list-syntax"; + tailf:substatement "tailf:cli-flatten-container"; + tailf:substatement "tailf:cli-full-command"; + tailf:substatement "tailf:cli-full-no"; + tailf:substatement "tailf:cli-full-show-path"; + tailf:substatement "tailf:cli-hide-in-submode"; + tailf:substatement "tailf:cli-ignore-modified"; + tailf:substatement "tailf:cli-incomplete-command"; + tailf:substatement "tailf:cli-incomplete-no"; + tailf:substatement "tailf:cli-incomplete-show-path"; + tailf:substatement "tailf:cli-instance-info-leafs"; + tailf:substatement "tailf:cli-key-format"; + tailf:substatement "tailf:cli-list-syntax"; + tailf:substatement "tailf:cli-min-column-width"; + tailf:substatement "tailf:cli-mode-name"; + tailf:substatement "tailf:cli-mode-name-actionpoint"; + tailf:substatement "tailf:cli-multi-value"; + tailf:substatement "tailf:cli-multi-word-key"; + tailf:substatement "tailf:cli-multi-line-prompt"; + tailf:substatement "tailf:cli-no-key-completion"; + tailf:substatement "tailf:cli-no-match-completion"; + tailf:substatement "tailf:cli-no-name-on-delete"; + tailf:substatement "tailf:cli-no-value-on-delete"; + tailf:substatement "tailf:cli-oper-info"; + tailf:substatement "tailf:cli-optional-in-sequence"; + tailf:substatement "tailf:cli-prefix-key"; + tailf:substatement "tailf:cli-preformatted"; + tailf:substatement "tailf:cli-range-delimiters"; + tailf:substatement "tailf:cli-range-list-syntax"; + tailf:substatement "tailf:cli-recursive-delete"; + tailf:substatement "tailf:cli-remove-before-change"; + tailf:substatement "tailf:cli-reset-container"; + tailf:substatement "tailf:cli-run-template"; + tailf:substatement "tailf:cli-run-template-enter"; + tailf:substatement "tailf:cli-run-template-footer"; + tailf:substatement "tailf:cli-run-template-legend"; + tailf:substatement "tailf:cli-sequence-commands"; + tailf:substatement "tailf:cli-show-config"; + tailf:substatement "tailf:cli-show-no"; + tailf:substatement "tailf:cli-show-order-tag"; + tailf:substatement "tailf:cli-show-order-taglist"; + tailf:substatement "tailf:cli-show-template"; + tailf:substatement "tailf:cli-show-template-enter"; + tailf:substatement "tailf:cli-show-template-footer"; + tailf:substatement "tailf:cli-show-template-legend"; + tailf:substatement "tailf:cli-show-with-default"; + tailf:substatement "tailf:cli-strict-leafref"; + tailf:substatement "tailf:cli-suppress-key-abbreviation"; + tailf:substatement "tailf:cli-suppress-key-sort"; + tailf:substatement "tailf:cli-suppress-list-no"; + tailf:substatement "tailf:cli-suppress-mode"; + tailf:substatement "tailf:cli-suppress-no"; + tailf:substatement "tailf:cli-suppress-range"; + tailf:substatement "tailf:cli-suppress-shortenabled"; + tailf:substatement "tailf:cli-suppress-show-conf-path"; + tailf:substatement "tailf:cli-suppress-show-match"; + tailf:substatement "tailf:cli-suppress-show-path"; + tailf:substatement "tailf:cli-suppress-silent-no"; + tailf:substatement "tailf:cli-suppress-validation-warning-prompt"; + tailf:substatement "tailf:cli-suppress-wildcard"; + tailf:substatement "tailf:cli-table-footer"; + tailf:substatement "tailf:cli-table-legend"; + tailf:substatement "tailf:cli-trim-default"; + tailf:substatement "tailf:cli-value-display-template"; + tailf:substatement "tailf:display-when"; + tailf:substatement "tailf:hidden" { + tailf:occurence "*"; + } + tailf:substatement "tailf:inherit-set-hook"; + tailf:substatement "tailf:info"; + tailf:substatement "tailf:info-html"; + tailf:substatement "tailf:path" { + tailf:occurence "1"; + } + tailf:substatement "tailf:snmp-exclude-object"; + tailf:substatement "tailf:snmp-name" { + tailf:occurence "*"; + } + tailf:substatement "tailf:snmp-oid"; + tailf:substatement "tailf:sort-priority"; + description + "DEPRECATED: Use tailf:link instead. There are no plans to remove + tailf:symlink. + + This statement defines a 'symbolic link' from a node to some other node. + The argument is the name of the new node, and the mandatory substatement + 'tailf:path' points to the node which is linked to."; + } + + extension path { + argument path { + tailf:arg-type { + type string; + } + } + status deprecated; + tailf:occurence "1"; + tailf:use-in "tailf:symlink"; + description + "This statement specifies which node a symlink points to. + + The textual format of a symlink is an XPath absolute location path. If + the target lies within lists, all keys must be specified. + A key either has a value, or is a reference to a key in the path of the + source node, using the function current() as starting + point for an XPath location path. For example: + + /a/b[k1='paul'][k2=current()/../k]/c + "; + } + + /* + * Tail-f internal statements + */ + + extension internal { + tailf:use-in "tailf:callpoint"; + tailf:use-in "tailf:validate"; + tailf:use-in "tailf:actionpoint"; + description + "For internal ConfD / NCS use only."; + } + + extension junos-val-as-xml-tag { + tailf:use-in "leaf"; + description + "Internal extension to handle non-YANG JUNOS data models. + Use only for key enumeration leafs."; + } + + extension junos-val-with-prev-xml-tag { + tailf:use-in "leaf"; + description + "Internal extension to handle non-YANG JUNOS data models. + Use only for keys where previous key is marked with + 'tailf:junos-val-as-xml-tag'."; + } + + extension ned-ignore-compare-config { + tailf:use-in "leaf"; + description + "Typically used for ignoring device encrypted leafs + in the compare-config output."; + } + + extension xpath-root { + argument value { + tailf:arg-type { + type uint8; + } + } + tailf:use-in "must"; + tailf:use-in "when"; + tailf:use-in "path"; + tailf:use-in "tailf:display-when"; + tailf:use-in "tailf:cli-diff-dependency"; + tailf:use-in "tailf:cli-diff-before"; + tailf:use-in "tailf:cli-diff-delete-before"; + tailf:use-in "tailf:cli-diff-set-before"; + tailf:use-in "tailf:cli-diff-create-before"; + tailf:use-in "tailf:cli-diff-modify-before"; + tailf:use-in "tailf:cli-diff-after"; + tailf:use-in "tailf:cli-diff-delete-after"; + tailf:use-in "tailf:cli-diff-set-after"; + tailf:use-in "tailf:cli-diff-create-after"; + tailf:use-in "tailf:cli-diff-modify-after"; + description + "Internal extension to 'chroot' XPath expressions"; + } + + extension ncs-device-type { + argument type { + tailf:arg-type { + type string; + } + } + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "refine"; + tailf:use-in "module"; + description + "Internal extension to tell NCS what type of device the data model + is used for."; + } + + extension structure { + argument name { + tailf:arg-type { + type tailf:identifier; + } + } + tailf:use-in "module"; + tailf:use-in "submodule"; + tailf:occurence "*"; + + tailf:substatement "description"; + tailf:substatement "leaf" { + tailf:occurence "*"; + } + tailf:substatement "leaf-list" { + tailf:occurence "*"; + } + tailf:substatement "list" { + tailf:occurence "*"; + } + tailf:substatement "container" { + tailf:occurence "*"; + } + tailf:substatement "choice" { + tailf:occurence "*"; + } + tailf:substatement "uses" { + tailf:occurence "*"; + } + description + "Internal extension to define a data structure without any semantics + attached."; + } + + extension meta-data { + argument value { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:occurence "*"; + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "tailf:symlink"; + tailf:use-in "refine"; + tailf:substatement "tailf:meta-value" { + tailf:occurence "?"; + } + + description + "Extra meta information attached to the node. The instance data part + of this information is accessible using MAAPI. It is also printed + in communication with CLI NEDs, but is not visible to normal + users of the CLI. + + To CLI NEDs, the output will be printed as comments like this: + ! meta-data :: /ncs:devices/device{xyz}/config/xyz:AA :: A_STRING + + The schema information is available to the ConfD C-API through the + confd_cs_node struct, and to the JSON-RPC API through get-schema. + + Note: Can't be used on key leafs."; + } + + extension meta-value { + argument value { + tailf:arg-type { + type string; + } + } + tailf:use-in "tailf:meta-data"; + tailf:occurence "?"; + description + "This statement contains a string value for the meta data key. + + The output from the CLI to CLI NEDs will be similar to + comments like this: + ! meta-data :: /ncs:devices/device{xyz}/config/xyz:AA :: A_KEY :: A_VALUE + "; + } + + extension ned-data { + argument path-expression { + yin-element true; + tailf:arg-type { + type string; + } + } + tailf:occurence "*"; + tailf:use-in "container"; + tailf:use-in "list"; + tailf:use-in "leaf"; + tailf:use-in "leaf-list"; + tailf:use-in "refine"; + tailf:substatement "tailf:transaction" { + tailf:occurence "?"; + } + tailf:substatement "tailf:xpath-root" { + tailf:occurence "?"; + } + tailf:substatement "tailf:operation" { + tailf:occurence "*"; + } + description + "Dynamic meta information to be added by the NCS device manager. + + In the cases where NCS can't provide the complete 'to' and + 'from' transactions to the NED to read from (most notably when + using the commit queue) this annotation can be used to tell the + NCS device manager to save part of the 'to' and / or 'from' + transaction so that the NED will be able to read from these + parts as needed. + + The 'path-expression' will be used as an XPath filter to + indicate which data will be preserved. Use the 'transaction' + substatement to choose which transaction to apply the filter + on. The context node of the XPath filter is always the instance + data node corresponding to the schema node where the 'ned-data' + extension is added. + + Note that the filter will only be applied if the node that + has this annotation is in the diffset of the transaction. The + 'operation' substatement can be used to further limit when the + filter should be applied."; + } + + extension transaction { + argument direction { + yin-element true; + tailf:arg-type { + type enumeration { + enum from; + enum to; + enum both; + } + default to; + } + } + tailf:occurence "?"; + description + "Which transaction that the result of the XPath filter will be + applied to, when set to 'both' it will apply to both the 'to' + and the 'from' transaction."; + } + + extension operation { + argument op { + yin-element true; + tailf:arg-type { + type enumeration { + enum value_set; + enum created; + enum deleted; + enum modified; + enum moved; + } + } + } + tailf:occurence "*"; + description + "Only evaluate the XPath filter when the operation matches."; + } + + extension ned-default-handling { + argument mode { + tailf:arg-type { + type enumeration { + enum explicit; + enum report-all; + enum trim; + } + } + } + tailf:use-in "leaf"; + description + "This statement can only be used in NEDs for devices that have + irregular handling of defaults. It sets a special default + handling mode for the leaf, regardless of the device's native + default handling mode."; + } + +} diff --git a/vendor/cisco/xr/755/tailf-meta-extensions.yang b/vendor/cisco/xr/755/tailf-meta-extensions.yang new file mode 100644 index 000000000..664bb22bf --- /dev/null +++ b/vendor/cisco/xr/755/tailf-meta-extensions.yang @@ -0,0 +1,153 @@ +submodule tailf-meta-extensions { + + belongs-to tailf-common { + prefix tailf; + } + + organization "Tail-f Systems"; + + description + "This submodule defines Tail-f YANG meta extensions statements."; + + revision 2017-03-08 { + description + "Released as part of ConfD-6.4 / NCS-4.4. + + Corrected the pattern for the tailf:tailf-oid typedef."; + } + + revision 2016-11-24 { + description + "Released as part of ConfD-6.3. + + Added tailf:identifier-ref."; + } + + revision 2013-11-07 { + description + "Released as part of ConfD-5.0. + + Added tailf:occurrence."; + } + + revision 2010-08-19 { + description + "Released as part of ConfD-3.3.1. + + Added tailf:snmp-identifier."; + } + + revision 2010-03-18 { + description + "Released as part of ConfD-3.2."; + } + + /* + * Types used to describe the extension statements' arguments. + */ + + typedef identifier { + type string { + pattern "[A-Za-z_][A-Za-z0-9_-]*"; + } + } + + typedef identifier-ref { + type string { + pattern "([A-Za-z_][A-Za-z0-9_-]*:)?[A-Za-z_][A-Za-z0-9_-]*"; + } + } + + typedef snmp-identifier { + type string { + pattern "[A-Za-z_][A-Za-z0-9_-]*(:[A-Za-z_][A-Za-z0-9_-]*)*"; + } + } + + typedef tailf-oid { + type string { + pattern '(([0-1](\.[1-3]?[0-9]))' + + '|(2.(0|([1-9]\d*)))' + + '|([A-Za-z_][A-Za-z0-9_-]*))?' + + '(\.(0|([1-9]\d*)))+'; + } + } + + /* + * Descriptive meta extensions + */ + + extension use-in { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "extension"; + tailf:occurence "*"; + description + "Specifies in which statements a particular extension statement can be + used."; + } + + extension substatement { + argument name { + tailf:arg-type { + type string; + } + } + tailf:use-in "extension"; + tailf:occurence "*"; + + tailf:substatement "tailf:occurence"; + description + "Specifies which statements can occur as substatement to the + given statement."; + } + + extension arg-type { + tailf:use-in "argument"; + tailf:substatement "type" { + tailf:occurence "1"; + } + tailf:substatement "default"; + description + "Specifies the type of the argument."; + } + + extension occurence { + argument value { + tailf:arg-type { + type enumeration { + enum "?" { + description + "The extenstion may be given zero or one time. + This is the default."; + } + enum "*" { + description + "The extenstion may be given zero or multiple times."; + } + enum "+" { + description + "The extenstion must be given at least once."; + } + enum "1" { + description + "The extenstion must be given exactly once."; + } + } + } + } + tailf:use-in "extension"; + description + "Specifices how an extension statement may be used. + + If this statement is given as a substatement to 'extension', + it applies to all 'use-in' statements. + + If this statement is given as a substatement to 'tailf:substatement', + it applies to this substatement."; + } + +} diff --git a/vendor/cisco/xr/755/yang_library_module_set.xml b/vendor/cisco/xr/755/yang_library_module_set.xml new file mode 100644 index 000000000..ab962d214 --- /dev/null +++ b/vendor/cisco/xr/755/yang_library_module_set.xml @@ -0,0 +1,4067 @@ + + + + UM-preferred-super-set + + Cisco-IOS-XR-ip-pfilter-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-pfilter-oper + + Cisco-IOS-XR-ip-pfilter-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-ncs-grid-svr-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ncs-grid-svr-oper + + Cisco-IOS-XR-ncs-grid-svr-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-attestation-agent-ima-oper + 2022-07-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-attestation-agent-ima-oper + + Cisco-IOS-XR-attestation-agent-ima-oper-sub1 + 2022-07-29 + + + + Cisco-IOS-XR-um-ptp-cfg + 2021-12-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ptp-cfg + + + Cisco-IOS-XR-tty-management-cmd-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-cmd-oper + + Cisco-IOS-XR-tty-management-cmd-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-crypto-cfg + 2022-05-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-crypto-cfg + + + Cisco-IOS-XR-um-traps-selective-vrf-download-cfg + 2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-selective-vrf-download-cfg + + + Cisco-IOS-XR-asic-error-oper + 2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-asic-error-oper + + Cisco-IOS-XR-asic-error-oper-sub2 + 2021-02-10 + + + Cisco-IOS-XR-asic-error-oper-sub1 + 2021-02-10 + + + + Cisco-IOS-XR-lmp-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-datatypes + + + Cisco-IOS-XR-um-ethernet-services-access-list-cfg + 2020-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-services-access-list-cfg + + + Cisco-IOS-XR-ethernet-cfm-act + 2020-11-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-act + + + Cisco-IOS-XR-sysdb-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-sysdb-oper + + + Cisco-IOS-XR-um-attestation-cfg + 2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-attestation-cfg + + + Cisco-IOS-XR-um-performance-measurement-cfg + 2021-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-performance-measurement-cfg + + + Cisco-IOS-XR-Ethernet-SPAN-oper + 2022-09-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-oper + + Cisco-IOS-XR-Ethernet-SPAN-oper-sub2 + 2022-09-05 + + + Cisco-IOS-XR-Ethernet-SPAN-oper-sub3 + 2022-09-05 + + + Cisco-IOS-XR-Ethernet-SPAN-oper-sub1 + 2022-09-05 + + + + Cisco-IOS-XR-um-traps-fru-ctrl-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-fru-ctrl-cfg + + + Cisco-IOS-XR-fabric-fgid-stats-8000-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-fgid-stats-8000-oper + + Cisco-IOS-XR-fabric-fgid-stats-8000-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-traps-entity-cfg + 2021-10-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-cfg + + + Cisco-IOS-XR-um-cont-sonet-cfg + 2021-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sonet-cfg + + + Cisco-IOS-XR-snmp-sensormib-oper + 2020-05-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-sensormib-oper + + Cisco-IOS-XR-snmp-sensormib-oper-sub1 + 2020-05-15 + + + Cisco-IOS-XR-snmp-sensormib-oper-sub2 + 2020-05-15 + + + + Cisco-IOS-XR-um-ipsla-cfg + 2021-12-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipsla-cfg + + + Cisco-IOS-XR-infra-syslog-oper + 2020-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-syslog-oper + + Cisco-IOS-XR-infra-syslog-oper-sub1 + 2020-09-22 + + + + Cisco-IOS-XR-um-ip-virtual-cfg + 2020-04-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ip-virtual-cfg + + + Cisco-IOS-XR-um-lacp-cfg + 2019-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lacp-cfg + + + Cisco-IOS-XR-um-traps-mpls-ldp-cfg + 2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-mpls-ldp-cfg + + + ietf-syslog-types + 2015-11-09 + urn:ietf:params:xml:ns:yang:ietf-syslog-types + + + Cisco-IOS-XR-um-traps-ipsec-cfg + 2020-04-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-ipsec-cfg + + + Cisco-IOS-XR-um-hw-module-port-range-cfg + 2022-03-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-hw-module-port-range-cfg + + + Cisco-IOS-XR-shellutil-copy-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-copy-act + + + Cisco-IOS-XR-lib-keychain-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-act + + + Cisco-IOS-XR-eigrp-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-datatypes + + + Cisco-IOS-XR-snmp-ifmib-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-ifmib-oper + + Cisco-IOS-XR-snmp-ifmib-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-wdsysmon-fd-proc-oper + 2020-04-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-proc-oper + + Cisco-IOS-XR-wdsysmon-fd-proc-oper-sub1 + 2020-04-19 + + + + Cisco-IOS-XR-um-traps-pim-cfg + 2020-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-pim-cfg + + + Cisco-IOS-XR-ascii-ltrace-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ascii-ltrace-oper + + Cisco-IOS-XR-ascii-ltrace-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-if-bundle-cfg + 2021-03-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-bundle-cfg + + + Cisco-IOS-XR-igp-topodb-oper + 2021-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-igp-topodb-oper + + Cisco-IOS-XR-igp-topodb-oper-sub1 + 2021-10-22 + + + + Cisco-IOS-XR-ethernet-cfm-datatypes + 2020-01-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-datatypes + + + Cisco-IOS-XR-mpls-te-oper + 2022-08-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-oper + + Cisco-IOS-XR-mpls-te-oper-sub3 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub8 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub4 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub5 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub2 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub7 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub1 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub6 + 2022-08-30 + + + Cisco-IOS-XR-mpls-te-oper-sub9 + 2022-08-30 + + + + Cisco-IOS-XR-snmp-test-trap-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-test-trap-act + + + Cisco-IOS-XR-um-clock-cfg + 2020-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-clock-cfg + + + Cisco-IOS-XR-invmgr-diag-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-diag-oper + + Cisco-IOS-XR-invmgr-diag-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-mibs-subscriber-cfg + 2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-subscriber-cfg + + + Cisco-IOS-XR-isis-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-isis-act + + + Cisco-IOS-XR-um-snmp-server-cfg + 2022-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-cfg + + + Cisco-IOS-XR-tunnel-l2tun-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-l2tun-oper + + Cisco-IOS-XR-tunnel-l2tun-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-ip-iep-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iep-oper + + Cisco-IOS-XR-ip-iep-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-envmon-oper + 2023-06-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-envmon-oper + + Cisco-IOS-XR-envmon-oper-sub2 + 2023-06-30 + + + Cisco-IOS-XR-envmon-oper-sub1 + 2023-06-30 + + + + Cisco-IOS-XR-tty-show-line-oper + 2021-08-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-show-line-oper + + Cisco-IOS-XR-tty-show-line-oper-sub1 + 2021-08-27 + + + + Cisco-IOS-XR-ofa-netflow-oper + 2019-08-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-netflow-oper + + Cisco-IOS-XR-ofa-netflow-oper-sub1 + 2019-08-26 + + + Cisco-IOS-XR-ofa-netflow-oper-sub2 + 2019-08-26 + + + + Cisco-IOS-XR-dwdm-ui-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-dwdm-ui-oper + + Cisco-IOS-XR-dwdm-ui-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-policy-repository-oper + 2021-02-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-policy-repository-oper + + Cisco-IOS-XR-policy-repository-oper-sub1 + 2021-02-08 + + + + Cisco-IOS-XR-um-router-hsrp-cfg + 2021-03-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-hsrp-cfg + + + Cisco-IOS-XR-um-line-general-cfg + 2020-08-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-general-cfg + + + Cisco-IOS-XR-um-aaa-nacm-cfg + 2021-11-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-nacm-cfg + + + Cisco-IOS-XR-fabric-fsdb-server-oper + 2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-fsdb-server-oper + + Cisco-IOS-XR-fabric-fsdb-server-oper-sub1 + 2020-06-26 + + + + Cisco-IOS-XR-lpts-ifib-act + 2020-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-ifib-act + + + ietf-netconf-acm + "2018-02-14" + urn:ietf:params:xml:ns:yang:ietf-netconf-acm + + + Cisco-IOS-XR-syslog-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-syslog-act + + + Cisco-IOS-XR-tmgctrl-dti-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tmgctrl-dti-oper + + Cisco-IOS-XR-tmgctrl-dti-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-linux-xlnc-oper + 2021-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-xlnc-oper + + Cisco-IOS-XR-linux-xlnc-oper-sub1 + 2021-12-03 + + + + Cisco-IOS-XR-appmgr-oper + 2021-09-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-oper + + Cisco-IOS-XR-appmgr-oper-sub1 + 2021-09-09 + + + + Cisco-IOS-XR-ip-rip-oper + 2022-03-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rip-oper + + Cisco-IOS-XR-ip-rip-oper-sub1 + 2022-03-31 + + + + Cisco-IOS-XR-um-traps-otn-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-otn-cfg + + + Cisco-IOS-XR-ipv4-bgp-act + 2020-06-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-act + + + Cisco-IOS-XR-infra-xtc-oper + 2021-09-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-oper + + Cisco-IOS-XR-infra-xtc-oper-sub1 + 2021-09-28 + + + + Cisco-IOS-XR-um-display-qos-cfg + 2020-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-display-qos-cfg + + + Cisco-IOS-XR-smart-license-act + 2020-07-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-act + + Cisco-IOS-XR-smart-license-errors + 2020-02-03 + + + + Cisco-IOS-XR-um-redundancy-cfg + 2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-redundancy-cfg + + + Cisco-IOS-XR-wd-proc-state-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-wd-proc-state-oper + + Cisco-IOS-XR-wd-proc-state-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-policymap-classmap-cfg + 2022-03-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-policymap-classmap-cfg + + + Cisco-IOS-XR-pbr-oper + 2020-02-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-pbr-oper + + Cisco-IOS-XR-pbr-oper-sub1 + 2020-02-21 + + + + Cisco-IOS-XR-um-explicit-paths-cfg + 2021-01-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-explicit-paths-cfg + + + Cisco-IOS-XR-ip-rsvp-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rsvp-oper + + Cisco-IOS-XR-ip-rsvp-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-8000-lpts-oper + 2021-03-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-lpts-oper + + Cisco-IOS-XR-8000-lpts-oper-sub1 + 2021-03-30 + + + + Cisco-IOS-XR-infra-tc-oper + 2020-07-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-tc-oper + + Cisco-IOS-XR-infra-tc-oper-sub1 + 2020-07-26 + + + + Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg + 2022-01-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-power-profile-sff-cfg + + + Cisco-IOS-XR-um-if-ip-address-cfg + 2020-05-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ip-address-cfg + + + Cisco-IOS-XR-plat-chas-invmgr-ng-oper + 2020-05-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-plat-chas-invmgr-ng-oper + + Cisco-IOS-XR-plat-chas-invmgr-ng-oper-sub1 + 2020-05-14 + + + + Cisco-IOS-XR-wd-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-wd-oper + + Cisco-IOS-XR-wd-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-tunnel-gre-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-gre-datatypes + + + Cisco-IOS-XR-um-snmp-server-mroutemib-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-mroutemib-cfg + + + Cisco-IOS-XR-infra-script-mgmt-oper + 2022-11-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-oper + + Cisco-IOS-XR-infra-script-mgmt-oper-sub1 + 2022-11-21 + + + + Cisco-IOS-XR-platform-event-history-oper + 2020-04-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-platform-event-history-oper + + Cisco-IOS-XR-platform-event-history-oper-sub1 + 2020-04-17 + + + + Cisco-IOS-XR-um-cont-stm-cfg + 2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-stm-cfg + + + Cisco-IOS-XR-linux-os-reboot-history-oper + 2023-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-os-reboot-history-oper + + Cisco-IOS-XR-linux-os-reboot-history-oper-sub1 + 2023-03-03 + + + + Cisco-IOS-XR-um-mpls-static-cfg + 2021-08-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-static-cfg + + + Cisco-IOS-XR-es-acl-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-datatypes + + + Cisco-IOS-XR-um-dynamic-template-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dynamic-template-cfg + + + Cisco-IOS-XR-aaa-lib-datatypes + 2020-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-datatypes + + + Cisco-IOS-XR-pmengine-oper + 2021-12-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-oper + + Cisco-IOS-XR-pmengine-oper-sub1 + 2021-12-17 + + + + Cisco-IOS-XR-manageability-perfmgmt-oper + 2020-11-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-oper + + Cisco-IOS-XR-manageability-perfmgmt-oper-sub1 + 2020-11-05 + + + + Cisco-IOS-XR-clns-isis-oper + 2022-07-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-oper + + Cisco-IOS-XR-clns-isis-oper-sub1 + 2022-07-28 + + + Cisco-IOS-XR-clns-isis-oper-sub2 + 2022-07-28 + + + + Cisco-IOS-XR-ofa-npu-qos-oper + 2022-09-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-qos-oper + + Cisco-IOS-XR-ofa-npu-qos-oper-sub1 + 2022-09-19 + + + + Cisco-IOS-XR-um-grpc-cfg + 2022-09-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-grpc-cfg + + + Cisco-IOS-XR-um-banner-cfg + 2021-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-banner-cfg + + + Cisco-IOS-XR-ip-sbfd-oper + 2020-07-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-sbfd-oper + + Cisco-IOS-XR-ip-sbfd-oper-sub1 + 2020-07-01 + + + + Cisco-IOS-XR-um-object-group-cfg + 2020-10-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-object-group-cfg + + + Cisco-IOS-XR-test-ocni-isis-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-test-ocni-isis-oper + + Cisco-IOS-XR-test-ocni-isis-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-drivers-media-eth-act + 2021-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-act + + + Cisco-IOS-XR-um-ipv6-access-list-cfg + 2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-access-list-cfg + + + Cisco-IOS-XR-um-traps-config-copy-cfg + 2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-config-copy-cfg + + + Cisco-IOS-XR-snmp-agent-oper + 2020-09-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-agent-oper + + Cisco-IOS-XR-snmp-agent-oper-sub2 + 2020-09-15 + + + Cisco-IOS-XR-snmp-agent-oper-sub5 + 2020-09-15 + + + Cisco-IOS-XR-snmp-agent-oper-sub7 + 2020-09-15 + + + Cisco-IOS-XR-snmp-agent-oper-sub3 + 2020-09-15 + + + Cisco-IOS-XR-snmp-agent-oper-sub6 + 2020-09-15 + + + Cisco-IOS-XR-snmp-agent-oper-sub1 + 2020-09-15 + + + Cisco-IOS-XR-snmp-agent-oper-sub4 + 2020-09-15 + + + + Cisco-IOS-XR-um-multicast-routing-cfg + 2021-09-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-multicast-routing-cfg + + + ietf-interfaces + 2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-interfaces + + + Cisco-IOS-XR-ipv6-ospfv3-act + 2020-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-act + + + Cisco-IOS-XR-l2vpn-oper + 2022-03-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2vpn-oper + + Cisco-IOS-XR-l2vpn-oper-sub4 + 2022-03-14 + + + Cisco-IOS-XR-l2vpn-oper-sub1 + 2022-03-14 + + + Cisco-IOS-XR-l2vpn-oper-sub3 + 2022-03-14 + + + Cisco-IOS-XR-l2vpn-oper-sub2 + 2022-03-14 + + + + Cisco-IOS-XR-crypto-ssh-oper + 2022-11-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-ssh-oper + + Cisco-IOS-XR-crypto-ssh-oper-sub2 + 2022-11-14 + + + Cisco-IOS-XR-crypto-ssh-oper-sub1 + 2022-11-14 + + + + Cisco-IOS-XR-controller-odu-clear-prbs-act + 2021-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-odu-clear-prbs-act + + + Cisco-IOS-XR-dot1x-oper + 2021-03-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-dot1x-oper + + Cisco-IOS-XR-dot1x-oper-sub1 + 2021-03-31 + + + + Cisco-IOS-XR-controller-ains-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-ains-act + + + Cisco-IOS-XR-controller-optics-oper + 2023-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-optics-oper + + Cisco-IOS-XR-controller-optics-oper-sub2 + 2023-03-23 + + + Cisco-IOS-XR-controller-optics-oper-sub1 + 2023-03-23 + + + + Cisco-IOS-XR-um-if-ethernet-lmi-cfg + 2021-06-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ethernet-lmi-cfg + + + Cisco-IOS-XR-um-mpls-ldp-cfg + 2022-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-ldp-cfg + + + Cisco-IOS-XR-types + 2022-03-09 + http://cisco.com/ns/yang/cisco-xr-types + + + Cisco-IOS-XR-snmp-entitymib-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-snmp-entitymib-oper + + Cisco-IOS-XR-snmp-entitymib-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-mpls-lsd-oper + 2021-04-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-lsd-oper + + Cisco-IOS-XR-mpls-lsd-oper-sub1 + 2021-04-20 + + + + Cisco-IOS-XR-tunnel-nve-oper + 2022-02-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-nve-oper + + Cisco-IOS-XR-tunnel-nve-oper-sub1 + 2022-02-25 + + + + Cisco-IOS-XR-um-conflict-policy-cfg + 2021-05-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-conflict-policy-cfg + + + Cisco-IOS-XR-smart-license-platform-oper + 2021-06-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-platform-oper + + Cisco-IOS-XR-smart-license-platform-oper-sub1 + 2021-06-03 + + + + Cisco-IOS-XR-um-pbr-policy-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-pbr-policy-cfg + + + Cisco-IOS-XR-ip-ntp-oper + 2021-08-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-oper + + Cisco-IOS-XR-ip-ntp-oper-sub1 + 2021-08-23 + + + + Cisco-IOS-XR-switch-act + 2020-03-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-switch-act + + + Cisco-IOS-XR-clns-isis-datatypes + 2022-01-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-clns-isis-datatypes + + + Cisco-IOS-XR-appmgr-act + 2021-09-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-appmgr-act + + + Cisco-IOS-XR-crypto-act + 2022-03-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-act + + + Cisco-IOS-XR-cnbng-nal-act + 2021-08-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-cnbng-nal-act + + + Cisco-IOS-XR-evpn-oper + 2022-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-evpn-oper + + Cisco-IOS-XR-evpn-oper-sub1 + 2022-02-17 + + + + Cisco-IOS-XR-um-8000-fpd-cfg + 2022-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-fpd-cfg + + + Cisco-IOS-XR-clear-counters-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-clear-counters-act + + + Cisco-IOS-XR-um-line-exec-timeout-cfg + 2020-09-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-exec-timeout-cfg + + + Cisco-IOS-XR-um-cont-dwdm-cfg + 2021-02-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-dwdm-cfg + + + Cisco-IOS-XR-um-mibs-rfmib-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-rfmib-cfg + + + Cisco-IOS-XR-crypto-cepki-new-oper + 2022-06-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-new-oper + + Cisco-IOS-XR-crypto-cepki-new-oper-sub1 + 2022-06-08 + + + + Cisco-IOS-XR-ipv4-dhcpd-oper + 2022-02-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-dhcpd-oper + + Cisco-IOS-XR-ipv4-dhcpd-oper-sub1 + 2022-02-11 + + + Cisco-IOS-XR-ipv4-dhcpd-oper-sub2 + 2022-02-11 + + + + Cisco-IOS-XR-um-cont-optics-host-loopback-cfg + 2023-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-host-loopback-cfg + + + Cisco-IOS-XR-rsi-agent-oper + 2020-12-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-rsi-agent-oper + + Cisco-IOS-XR-rsi-agent-oper-sub1 + 2020-12-18 + + + + Cisco-IOS-XR-um-if-mac-address-cfg + 2021-02-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-mac-address-cfg + + + Cisco-IOS-XR-mpls-ldp-oper-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-oper-datatypes + + + Cisco-IOS-XR-um-mibs-eventmib-cfg + 2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-eventmib-cfg + + + Cisco-IOS-XR-ipv6-new-dhcpv6d-oper + 2022-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-oper + + Cisco-IOS-XR-ipv6-new-dhcpv6d-oper-sub1 + 2022-04-06 + + + + Cisco-IOS-XR-ipv4-autorp-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-autorp-datatypes + + + Cisco-IOS-XR-infra-rmf-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rmf-oper + + Cisco-IOS-XR-infra-rmf-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-subscriber-redundancy-cfg + 2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-redundancy-cfg + + + Cisco-IOS-XR-um-ssm-cfg + 2021-01-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ssm-cfg + + + Cisco-IOS-XR-um-hostname-cfg + 2021-04-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-hostname-cfg + + + Cisco-IOS-XR-um-8000-hw-module-profile-cfg + 2023-07-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-profile-cfg + + + Cisco-IOS-XR-aaa-locald-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-oper + + Cisco-IOS-XR-aaa-locald-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-control-plane-cfg + 2021-03-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-control-plane-cfg + + + Cisco-IOS-XR-man-ipsla-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-ipsla-oper + + Cisco-IOS-XR-man-ipsla-oper-sub2 + 2019-04-05 + + + Cisco-IOS-XR-man-ipsla-oper-sub3 + 2019-04-05 + + + Cisco-IOS-XR-man-ipsla-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-cont-ether-cfg + 2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-ether-cfg + + + Cisco-IOS-XR-fabric-plane-health-oper + 2020-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-fabric-plane-health-oper + + Cisco-IOS-XR-fabric-plane-health-oper-sub1 + 2020-10-10 + + + + Cisco-IOS-XR-ipv4-ospf-oper + 2021-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-oper + + Cisco-IOS-XR-ipv4-ospf-oper-sub1 + 2021-10-01 + + + Cisco-IOS-XR-ipv4-ospf-oper-sub2 + 2021-10-01 + + + Cisco-IOS-XR-ipv4-ospf-oper-sub3 + 2021-10-01 + + + + Cisco-IOS-XR-um-subscriber-cfg + 2020-08-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-cfg + + + Cisco-IOS-XR-um-l2snoop-cfg + 2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2snoop-cfg + + + Cisco-IOS-XR-lpts-pa-oper + 2021-11-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pa-oper + + Cisco-IOS-XR-lpts-pa-oper-sub1 + 2021-11-24 + + + + Cisco-IOS-XR-um-netconf-yang-cfg + 2020-03-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-netconf-yang-cfg + + + Cisco-IOS-XR-um-iidmgr-cfg + 2021-06-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-iidmgr-cfg + + + Cisco-IOS-XR-ip-bfd-oper + 2022-07-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-bfd-oper + + Cisco-IOS-XR-ip-bfd-oper-sub1 + 2022-07-12 + + + + Cisco-IOS-XR-ping-act + 2021-03-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ping-act + + Cisco-IOS-XR-ipv6-ping-act + 2021-03-05 + + + Cisco-IOS-XR-ipv4-ping-act + 2021-03-05 + + + + Cisco-IOS-XR-um-evpn-host-cfg + 2021-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-evpn-host-cfg + + + Cisco-IOS-XR-um-frequency-synchronization-cfg + 2021-08-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-frequency-synchronization-cfg + + + Cisco-IOS-XR-um-if-ipv4-cfg + 2020-10-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipv4-cfg + + + Cisco-IOS-XR-mfwd-oper + 2020-10-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-mfwd-oper + + Cisco-IOS-XR-mfwd-oper-sub2 + 2020-10-11 + + + Cisco-IOS-XR-mfwd-oper-sub1 + 2020-10-11 + + + + Cisco-IOS-XR-um-traps-entity-redundancy-cfg + 2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-redundancy-cfg + + + Cisco-IOS-XR-manageability-object-tracking-oper + 2021-04-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-oper + + Cisco-IOS-XR-manageability-object-tracking-oper-sub1 + 2021-04-11 + + + + Cisco-IOS-XR-ipv6-nd-oper + 2019-11-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-nd-oper + + Cisco-IOS-XR-ipv6-nd-oper-sub1 + 2019-11-08 + + + + Cisco-IOS-XR-ptp-oper + 2020-09-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-oper + + Cisco-IOS-XR-ptp-oper-sub1 + 2020-09-07 + + + + Cisco-IOS-XR-ipv4-ospf-act + 2020-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ospf-act + + + Cisco-IOS-XR-Ethernet-SPAN-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-datatypes + + + Cisco-IOS-XR-segment-routing-ms-cfg + 2019-06-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-cfg + + + Cisco-IOS-XR-ipv4-acl-datatypes + 2021-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-datatypes + + + Cisco-IOS-XR-csd-oper + 2021-07-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-csd-oper + + Cisco-IOS-XR-csd-oper-sub1 + 2021-07-23 + + + + Cisco-IOS-XR-ip-rib-ipv6-oper + 2022-02-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-ipv6-oper + + Cisco-IOS-XR-ip-rib-ipv6-oper-sub1 + 2022-02-03 + + + Cisco-IOS-XR-ip-rib-ipv6-oper-sub2 + 2022-02-03 + + + + Cisco-IOS-XR-man-ems-oper + 2021-10-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-ems-oper + + Cisco-IOS-XR-man-ems-oper-sub1 + 2021-10-22 + + + + Cisco-IOS-XR-um-process-cfg + 2021-03-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-process-cfg + + + Cisco-IOS-XR-um-ipv6-prefix-list-cfg + 2020-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-prefix-list-cfg + + + Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg + 2022-01-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-power-profile-sfd-cfg + + + Cisco-IOS-XR-um-router-static-cfg + 2022-08-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-static-cfg + + + Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg + 2020-09-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-police-acl-cfg + + + Cisco-IOS-XR-mrib-oper + 2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-mrib-oper + + Cisco-IOS-XR-mrib-oper-sub1 + 2022-03-24 + + + + Cisco-IOS-XR-lpts-pre-ifib-oper + 2021-10-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-oper + + Cisco-IOS-XR-lpts-pre-ifib-oper-sub1 + 2021-10-19 + + + + Cisco-IOS-XR-um-router-msdp-cfg + 2021-01-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-msdp-cfg + + + Cisco-IOS-XR-bundlemgr-oper + 2022-02-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-bundlemgr-oper + + Cisco-IOS-XR-bundlemgr-oper-sub1 + 2022-02-16 + + + Cisco-IOS-XR-bundlemgr-oper-sub2 + 2022-02-16 + + + + Cisco-IOS-XR-um-session-redundancy-cfg + 2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-session-redundancy-cfg + + + Cisco-IOS-XR-um-if-nve-cfg + 2022-03-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-nve-cfg + + + Cisco-IOS-XR-sysmgr-oper + 2021-04-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-oper + + Cisco-IOS-XR-sysmgr-oper-sub1 + 2021-04-29 + + + + Cisco-IOS-XR-um-if-ipsubscriber-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipsubscriber-cfg + + + Cisco-IOS-XR-npu-fsdb-stats-oper + 2022-03-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-npu-fsdb-stats-oper + + Cisco-IOS-XR-npu-fsdb-stats-oper-sub1 + 2022-03-03 + + + + Cisco-IOS-XR-cfgmgr-rollback-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-rollback-act + + + Cisco-IOS-XR-um-aaa-task-user-cfg + 2022-09-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-task-user-cfg + + + Cisco-IOS-XR-um-if-l2transport-cfg + 2020-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-l2transport-cfg + + + Cisco-IOS-XR-um-rsvp-cfg + 2022-08-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-rsvp-cfg + + + Cisco-IOS-XR-um-filesystem-inventory-cfg + 2021-11-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-filesystem-inventory-cfg + + + Cisco-IOS-XR-common-acl-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-common-acl-datatypes + + + ietf-yang-library + 2019-01-04 + urn:ietf:params:xml:ns:yang:ietf-yang-library + + + Cisco-IOS-XR-um-ltrace-cfg + 2020-09-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ltrace-cfg + + + Cisco-IOS-XR-ip-domain-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-domain-oper + + Cisco-IOS-XR-ip-domain-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-gnss-receiver-cfg + 2021-10-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-gnss-receiver-cfg + + + Cisco-IOS-XR-man-netconf-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-netconf-oper + + Cisco-IOS-XR-man-netconf-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-lpts-profiling-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-profiling-cfg + + + Cisco-IOS-XR-freqsync-datatypes + 2021-01-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-datatypes + + + Cisco-IOS-XR-flow-oper + 2022-09-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-flow-oper + + Cisco-IOS-XR-flow-oper-sub2 + 2022-09-25 + + + Cisco-IOS-XR-flow-oper-sub1 + 2022-09-25 + + + + Cisco-IOS-XR-mpls-te-act + 2022-02-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-act + + + Cisco-IOS-XR-aaa-protocol-radius-oper + 2021-02-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-protocol-radius-oper + + Cisco-IOS-XR-aaa-protocol-radius-oper-sub2 + 2021-02-23 + + + Cisco-IOS-XR-aaa-protocol-radius-oper-sub1 + 2021-02-23 + + + + Cisco-IOS-XR-um-vty-pool-cfg + 2022-10-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-vty-pool-cfg + + + Cisco-IOS-XR-ip-tcp-oper + 2021-05-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-tcp-oper + + Cisco-IOS-XR-ip-tcp-oper-sub5 + 2021-05-21 + + + Cisco-IOS-XR-ip-tcp-oper-sub1 + 2021-05-21 + + + Cisco-IOS-XR-ip-tcp-oper-sub4 + 2021-05-21 + + + Cisco-IOS-XR-ip-tcp-oper-sub3 + 2021-05-21 + + + Cisco-IOS-XR-ip-tcp-oper-sub2 + 2021-05-21 + + + + Cisco-IOS-XR-lib-type6-server-oper + 2019-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-server-oper + + Cisco-IOS-XR-lib-type6-server-oper-sub1 + 2019-09-20 + + + + Cisco-IOS-XR-um-traps-system-cfg + 2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-system-cfg + + + Cisco-IOS-XR-sks-act + 2020-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-sks-act + + + Cisco-IOS-XR-um-domain-cfg + 2021-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-domain-cfg + + + Cisco-IOS-XR-pmengine-clear-act + 2020-09-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-pmengine-clear-act + + + Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg + 2021-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-ether-macsec-pm-cfg + + + Cisco-IOS-XR-infra-objmgr-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-objmgr-oper + + Cisco-IOS-XR-infra-objmgr-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-flowspec-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-flowspec-oper + + Cisco-IOS-XR-flowspec-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-password6-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-password6-cfg + + + Cisco-IOS-XR-um-mirror-cfg + 2021-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mirror-cfg + + + Cisco-IOS-XR-um-router-convergence-cfg + 2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-convergence-cfg + + + Cisco-IOS-XR-um-config-mode-cfg + 2021-02-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-mode-cfg + + + Cisco-IOS-XR-ipv6-io-oper + 2019-10-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-io-oper + + Cisco-IOS-XR-ipv6-io-oper-sub1 + 2019-10-21 + + + + Cisco-IOS-XR-um-l2-ethernet-cfg + 2022-03-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2-ethernet-cfg + + + Cisco-IOS-XR-ipv4-hsrp-oper + 2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-hsrp-oper + + Cisco-IOS-XR-ipv4-hsrp-oper-sub1 + 2022-03-24 + + + + Cisco-IOS-XR-um-l2vpn-cfg + 2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-l2vpn-cfg + + + Cisco-IOS-XR-platform-oir-history-oper + 2020-05-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-platform-oir-history-oper + + Cisco-IOS-XR-platform-oir-history-oper-sub1 + 2020-05-26 + + + + Cisco-IOS-XR-cfgmgr-clear-inconsistency-act + 2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-clear-inconsistency-act + + + Cisco-IOS-XR-um-telemetry-model-driven-cfg + 2021-06-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-telemetry-model-driven-cfg + + + Cisco-IOS-XR-mpls-vpn-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-vpn-oper + + Cisco-IOS-XR-mpls-vpn-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-ipv6-ma-oper + 2020-09-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ma-oper + + Cisco-IOS-XR-ipv6-ma-oper-sub1 + 2020-09-03 + + + + Cisco-IOS-XR-ip-iarm-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-datatypes + + + Cisco-IOS-XR-ipv6-ospfv3-oper + 2022-09-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-ospfv3-oper + + Cisco-IOS-XR-ipv6-ospfv3-oper-sub1 + 2022-09-05 + + + + Cisco-IOS-XR-um-router-isis-cfg + 2022-10-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-isis-cfg + + + Cisco-IOS-XR-ipv4-autorp-oper + 2019-08-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-autorp-oper + + Cisco-IOS-XR-ipv4-autorp-oper-sub2 + 2019-08-27 + + + Cisco-IOS-XR-ipv4-autorp-oper-sub1 + 2019-08-27 + + + + Cisco-IOS-XR-ipv4-bgp-oper + 2023-07-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oper + + Cisco-IOS-XR-ipv4-bgp-oper-sub1 + 2023-07-05 + + + + Cisco-IOS-XR-um-lldp-cfg + 2022-11-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lldp-cfg + + + Cisco-IOS-XR-procthreadname-oper + 2022-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-procthreadname-oper + + Cisco-IOS-XR-procthreadname-oper-sub1 + 2022-07-07 + + + + iana-if-type + of this YANG module can be obtained from + urn:ietf:params:xml:ns:yang:iana-if-type + + + Cisco-IOS-XR-um-arp-cfg + 2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-arp-cfg + + + Cisco-IOS-XR-um-monitor-session-cfg + 2022-10-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-monitor-session-cfg + + + Cisco-IOS-XR-um-logging-cfg + 2023-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-cfg + + + Cisco-IOS-XR-um-lpts-pifib-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-cfg + + + Cisco-IOS-XR-um-mibs-ifmib-cfg + 2021-02-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-ifmib-cfg + + + Cisco-IOS-XR-ipv6-acl-datatypes + 2021-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-datatypes + + + Cisco-IOS-XR-um-key-chain-cfg + 2021-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-key-chain-cfg + + + Cisco-IOS-XR-lpts-pre-ifib-act + 2020-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pre-ifib-act + + + Cisco-IOS-XR-um-watchd-cfg + 2021-06-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-watchd-cfg + + + Cisco-IOS-XR-install-augmented-act + 2022-06-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-augmented-act + + + Cisco-IOS-XR-um-line-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-cfg + + + Cisco-IOS-XR-msdp-oper + 2021-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-msdp-oper + + Cisco-IOS-XR-msdp-oper-sub1 + 2021-09-22 + + + + Cisco-IOS-XR-um-linux-networking-cfg + 2020-10-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-linux-networking-cfg + + + Cisco-IOS-XR-infra-sla-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-oper + + + Cisco-IOS-XR-ipv4-pim-oper + 2021-01-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-pim-oper + + Cisco-IOS-XR-ipv4-pim-oper-sub2 + 2021-01-30 + + + Cisco-IOS-XR-ipv4-pim-oper-sub1 + 2021-01-30 + + + + Cisco-IOS-XR-mpls-ldp-oper + 2023-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-oper + + Cisco-IOS-XR-mpls-ldp-oper-sub3 + 2023-02-17 + + + Cisco-IOS-XR-mpls-ldp-oper-sub2 + 2023-02-17 + + + Cisco-IOS-XR-mpls-ldp-oper-sub1 + 2023-02-17 + + + + Cisco-IOS-XR-um-adt-cfg + 2021-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-adt-cfg + + + ietf-yang-types + 2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-yang-types + + + Cisco-IOS-XR-um-aaa-tacacs-server-cfg + 2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-tacacs-server-cfg + + + Cisco-IOS-XR-um-if-tunnel-cfg + 2022-08-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-tunnel-cfg + + + Cisco-IOS-XR-linux-security-showenc-oper + 2021-07-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-security-showenc-oper + + Cisco-IOS-XR-linux-security-showenc-oper-sub1 + 2021-07-01 + + + + Cisco-IOS-XR-um-dot1x-cfg + 2022-03-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dot1x-cfg + + + Cisco-IOS-XR-um-logging-correlator-cfg + 2020-09-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-correlator-cfg + + + Cisco-IOS-XR-lpts-pa-act + 2020-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-pa-act + + + Cisco-IOS-XR-ipv4-io-oper + 2021-03-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-io-oper + + Cisco-IOS-XR-ipv4-io-oper-sub1 + 2021-03-26 + + + Cisco-IOS-XR-ipv4-io-oper-sub2 + 2021-03-26 + + + + Cisco-IOS-XR-um-config-validation-cfg + 2021-06-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-validation-cfg + + + Cisco-IOS-XR-ofa-npu-stats-oper + 2023-07-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-stats-oper + + Cisco-IOS-XR-ofa-npu-stats-oper-sub1 + 2023-07-02 + + + + Cisco-IOS-XR-mab-oper + 2022-03-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-mab-oper + + Cisco-IOS-XR-mab-oper-sub1 + 2022-03-14 + + + + Cisco-IOS-XR-um-if-l2trans-service-policy-cfg + 2021-10-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-l2trans-service-policy-cfg + + + Cisco-IOS-XR-ipv4-ma-oper + 2021-03-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-ma-oper + + Cisco-IOS-XR-ipv4-ma-oper-sub1 + 2021-03-26 + + + + Cisco-IOS-XR-ethernet-cfm-oper + 2022-01-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-cfm-oper + + Cisco-IOS-XR-ethernet-cfm-oper-sub3 + 2022-01-18 + + + Cisco-IOS-XR-ethernet-cfm-oper-sub1 + 2022-01-18 + + + Cisco-IOS-XR-ethernet-cfm-oper-sub2 + 2022-01-18 + + + Cisco-IOS-XR-ethernet-cfm-oper-sub4 + 2022-01-18 + + + + Cisco-IOS-XR-um-dhcp-ipv6-cfg + 2021-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dhcp-ipv6-cfg + + + Cisco-IOS-XR-eigrp-oper + 2020-09-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-eigrp-oper + + Cisco-IOS-XR-eigrp-oper-sub1 + 2020-09-14 + + + + Cisco-IOS-XR-um-traps-rsvp-cfg + 2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-rsvp-cfg + + + Cisco-IOS-XR-platforms-ofa-table-stats-oper + 2022-10-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-ofa-table-stats-oper + + Cisco-IOS-XR-platforms-ofa-table-stats-oper-sub1 + 2022-10-20 + + + + Cisco-IOS-XR-linux-os-heap-summary-oper + 2021-04-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-os-heap-summary-oper + + Cisco-IOS-XR-linux-os-heap-summary-oper-sub1 + 2021-04-16 + + + + Cisco-IOS-XR-infra-alarm-logger-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-oper + + Cisco-IOS-XR-infra-alarm-logger-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-cont-sts-cfg + 2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sts-cfg + + + Cisco-IOS-XR-um-cef-accounting-cfg + 2022-06-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cef-accounting-cfg + + + Cisco-IOS-XR-um-pool-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-pool-cfg + + + Cisco-IOS-XR-um-environment-cfg + 2022-02-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-environment-cfg + + + Cisco-IOS-XR-um-router-bgp-cfg + 2022-09-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-bgp-cfg + + + Cisco-IOS-XR-um-access-list-datatypes + 2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-access-list-datatypes + + + Cisco-IOS-XR-um-config-commit-cfg + 2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-commit-cfg + + + Cisco-IOS-XR-ip-iarm-v6-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-v6-oper + + Cisco-IOS-XR-ip-iarm-v6-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-nsr-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-nsr-cfg + + + Cisco-IOS-XR-install-act + 2022-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-act + + + Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg + 2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-snmp-server-notification-log-mib-cfg + + + Cisco-IOS-XR-crypto-macsec-secy-oper + 2022-02-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-secy-oper + + Cisco-IOS-XR-crypto-macsec-secy-oper-sub1 + 2022-02-08 + + + + Cisco-IOS-XR-ipv4-arp-oper + 2022-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-oper + + Cisco-IOS-XR-ipv4-arp-oper-sub1 + 2022-07-11 + + + Cisco-IOS-XR-ipv4-arp-oper-sub3 + 2022-07-11 + + + Cisco-IOS-XR-ipv4-arp-oper-sub2 + 2022-07-11 + + + + Cisco-IOS-XR-sysmgr-act + 2020-01-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-sysmgr-act + + + Cisco-IOS-XR-um-install-cfg + 2021-02-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-install-cfg + + + Cisco-IOS-XR-um-subscriber-accounting-cfg + 2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-subscriber-accounting-cfg + + + Cisco-IOS-XR-um-tcp-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-tcp-cfg + + + Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper + + Cisco-IOS-XR-pfi-im-cmd-ctrlr-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-exception-cfg + 2020-09-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-exception-cfg + + + Cisco-IOS-XR-um-traps-ipsla-cfg + 2021-05-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-ipsla-cfg + + + Cisco-IOS-XR-um-router-mld-cfg + 2021-10-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-mld-cfg + + + Cisco-IOS-XR-um-cont-sonet-pm-cfg + 2020-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sonet-pm-cfg + + + Cisco-IOS-XR-um-lpts-pifib-domain-cfg + 2021-07-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-domain-cfg + + + Cisco-IOS-XR-ipv4-smiap-oper + 2022-01-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-smiap-oper + + Cisco-IOS-XR-ipv4-smiap-oper-sub1 + 2022-01-17 + + + + Cisco-IOS-XR-switch-oper + 2020-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-switch-oper + + Cisco-IOS-XR-switch-oper-sub1 + 2020-08-13 + + + + Cisco-IOS-XR-um-event-manager-cfg + 2022-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-event-manager-cfg + + + Cisco-IOS-XR-qos-ma-oper + 2020-07-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-qos-ma-oper + + + Cisco-IOS-XR-l2-eth-infra-oper + 2022-07-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-oper + + Cisco-IOS-XR-l2-eth-infra-oper-sub1 + 2022-07-14 + + + Cisco-IOS-XR-l2-eth-infra-oper-sub3 + 2022-07-14 + + + Cisco-IOS-XR-l2-eth-infra-oper-sub2 + 2022-07-14 + + + + Cisco-IOS-XR-um-config-display-cfg + 2021-04-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-display-cfg + + + ietf-netconf + 2011-06-01 + urn:ietf:params:xml:ns:netconf:base:1.0 + + + Cisco-IOS-XR-segment-routing-srv6-datatypes + 2022-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-datatypes + + + cisco-semver + 2019-03-13 + http://cisco.com/ns/yang/cisco-semver + + + Cisco-IOS-XR-um-error-disable-cfg + 2022-08-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-error-disable-cfg + + + Cisco-IOS-XR-um-sap-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-sap-cfg + + + Cisco-IOS-XR-ifmgr-oper + 2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ifmgr-oper + + Cisco-IOS-XR-ifmgr-oper-sub2 + 2020-10-01 + + + Cisco-IOS-XR-ifmgr-oper-sub1 + 2020-10-01 + + + + Cisco-IOS-XR-um-cli-alias-cfg + 2021-02-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cli-alias-cfg + + + Cisco-IOS-XR-config-cfgmgr-exec-oper + 2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-exec-oper + + Cisco-IOS-XR-config-cfgmgr-exec-oper-sub1 + 2020-06-26 + + + + Cisco-IOS-XR-um-cinetd-cfg + 2020-03-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cinetd-cfg + + + Cisco-IOS-XR-um-raw-cfg + 2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-raw-cfg + + + Cisco-IOS-XR-um-aaa-cfg + 2022-07-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-cfg + + + Cisco-IOS-XR-tamsvcs-oper + 2021-06-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-tamsvcs-oper + + Cisco-IOS-XR-tamsvcs-oper-sub1 + 2021-06-25 + + + + Cisco-IOS-XR-ip-static-ipv4-oper + 2023-06-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-ipv4-oper + + Cisco-IOS-XR-ip-static-ipv4-oper-sub1 + 2023-06-21 + + + + Cisco-IOS-XR-ip-udp-oper + 2020-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-udp-oper + + Cisco-IOS-XR-ip-udp-oper-sub2 + 2020-04-06 + + + Cisco-IOS-XR-ip-udp-oper-sub3 + 2020-04-06 + + + Cisco-IOS-XR-ip-udp-oper-sub1 + 2020-04-06 + + + Cisco-IOS-XR-ip-udp-oper-sub4 + 2020-04-06 + + + + Cisco-IOS-XR-ipv4-igmp-oper + 2021-05-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-igmp-oper + + Cisco-IOS-XR-ipv4-igmp-oper-sub1 + 2021-05-17 + + + + Cisco-IOS-XR-tty-management-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-oper + + Cisco-IOS-XR-tty-management-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-fib-common-oper + 2023-02-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-fib-common-oper + + Cisco-IOS-XR-fib-common-oper-sub1 + 2023-02-06 + + + Cisco-IOS-XR-fib-common-oper-sub6 + 2023-02-06 + + + Cisco-IOS-XR-fib-common-oper-sub5 + 2023-02-06 + + + Cisco-IOS-XR-fib-common-oper-sub7 + 2023-02-06 + + + Cisco-IOS-XR-fib-common-oper-sub3 + 2023-02-06 + + + Cisco-IOS-XR-fib-common-oper-sub2 + 2023-02-06 + + + Cisco-IOS-XR-fib-common-oper-sub4 + 2023-02-06 + + + + Cisco-IOS-XR-shellutil-filesystem-oper + 2021-03-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-filesystem-oper + + Cisco-IOS-XR-shellutil-filesystem-oper-sub1 + 2021-03-22 + + + + Cisco-IOS-XR-um-flow-cfg + 2022-09-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-flow-cfg + + + ietf-netconf-monitoring + 2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring + + + Cisco-IOS-XR-um-performance-mgmt-cfg + 2021-07-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-performance-mgmt-cfg + + + Cisco-IOS-XR-um-if-encap-ambiguous-cfg + 2021-12-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-encap-ambiguous-cfg + + + Cisco-IOS-XR-mvpn-oper + 2021-12-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-mvpn-oper + + Cisco-IOS-XR-mvpn-oper-sub1 + 2021-12-09 + + + + Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg + 2021-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-odu-otu-dwdm-optics-pm-cfg + + + Cisco-IOS-XR-pfi-im-cmd-oper + 2022-03-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-pfi-im-cmd-oper + + Cisco-IOS-XR-pfi-im-cmd-oper-sub2 + 2022-03-07 + + + Cisco-IOS-XR-pfi-im-cmd-oper-sub1 + 2022-03-07 + + + + Cisco-IOS-XR-emon-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-emon-oper + + Cisco-IOS-XR-emon-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-mediasvr-linux-oper + 2020-07-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-mediasvr-linux-oper + + Cisco-IOS-XR-mediasvr-linux-oper-sub1 + 2020-07-11 + + + + Cisco-IOS-XR-install-oper + 2021-08-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-oper + + Cisco-IOS-XR-install-oper-sub1 + 2021-08-10 + + + + Cisco-IOS-XR-mpls-te-datatypes + 2022-08-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-te-datatypes + + + Cisco-IOS-XR-Ethernet-SPAN-act + 2021-03-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-Ethernet-SPAN-act + + + Cisco-IOS-XR-shellutil-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-oper + + Cisco-IOS-XR-shellutil-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-cli-diff-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-cli-diff-act + + + Cisco-IOS-XR-mpls-ldp-mldp-oper + 2022-01-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-mldp-oper + + Cisco-IOS-XR-mpls-ldp-mldp-oper-sub1 + 2022-01-27 + + + + Cisco-IOS-XR-infra-alarm-logger-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-alarm-logger-datatypes + + + Cisco-IOS-XR-8000-qos-oper + 2021-06-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-qos-oper + + Cisco-IOS-XR-8000-qos-oper-sub2 + 2021-06-28 + + + Cisco-IOS-XR-8000-qos-oper-sub1 + 2021-06-28 + + + + Cisco-IOS-XR-orrspf-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-orrspf-oper + + Cisco-IOS-XR-orrspf-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-mpls-static-oper + 2022-03-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-static-oper + + Cisco-IOS-XR-mpls-static-oper-sub1 + 2022-03-29 + + + + Cisco-IOS-XR-infra-xtc-cfg + 2021-09-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-cfg + + + Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg + 2021-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dyn-tmpl-service-policy-cfg + + + Cisco-IOS-XR-rgmgr-oper + 2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-rgmgr-oper + + Cisco-IOS-XR-rgmgr-oper-sub1 + 2021-12-01 + + + + Cisco-IOS-XR-wd-death-notif-configured-proc-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-wd-death-notif-configured-proc-oper + + Cisco-IOS-XR-wd-death-notif-configured-proc-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-interface-cfg + 2021-05-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-interface-cfg + + + Cisco-IOS-XR-platforms-common-tams-act + 2010-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-common-tams-act + + + Cisco-IOS-XR-um-router-rib-cfg + 2021-03-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-rib-cfg + + + Cisco-IOS-XR-gnss-oper + 2020-10-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-gnss-oper + + Cisco-IOS-XR-gnss-oper-sub1 + 2020-10-20 + + + + Cisco-IOS-XR-um-8000-spp-policer-cfg + 2022-12-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-spp-policer-cfg + + + Cisco-IOS-XR-install-augmented-oper + 2021-08-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-augmented-oper + + Cisco-IOS-XR-install-augmented-oper-sub2 + 2021-08-25 + + + Cisco-IOS-XR-install-augmented-oper-sub1 + 2021-08-25 + + + + Cisco-IOS-XR-man-xml-ttyagent-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-man-xml-ttyagent-oper + + Cisco-IOS-XR-man-xml-ttyagent-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-config-hostname-cfg + 2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-config-hostname-cfg + + + Cisco-IOS-XR-ztp-oper + 2021-09-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-ztp-oper + + Cisco-IOS-XR-ztp-oper-sub1 + 2021-09-02 + + + + Cisco-IOS-XR-telemetry-model-driven-oper + 2021-09-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-telemetry-model-driven-oper + + Cisco-IOS-XR-telemetry-model-driven-oper-sub2 + 2021-09-13 + + + Cisco-IOS-XR-telemetry-model-driven-oper-sub1 + 2021-09-13 + + + + Cisco-IOS-XR-freqsync-oper + 2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-oper + + Cisco-IOS-XR-freqsync-oper-sub1 + 2021-12-01 + + + + ietf-inet-types + 2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-inet-types + + + Cisco-IOS-XR-um-cdp-cfg + 2020-09-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cdp-cfg + + + Cisco-IOS-XR-um-cont-stm-pm-cfg + 2020-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-stm-pm-cfg + + + Cisco-IOS-XR-um-mibs-sensormib-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-sensormib-cfg + + + Cisco-IOS-XR-filesysinv-show-oper-deviations + + http://cisco.com/ns/yang/Cisco-IOS-XR-filesysinv-show-oper-deviations + + + cisco-xr-ietf-yang-library-deviations + "2019-10-21" + http://cisco.com/ns/yang/cisco-xr-ietf-yang-library-deviations + + + Cisco-IOS-XR-um-cont-otu-cfg + 2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-otu-cfg + + + Cisco-IOS-XR-um-traps-bulkstat-cfg + 2021-06-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-bulkstat-cfg + + + Cisco-IOS-XR-terminal-device-oper + 2020-05-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-terminal-device-oper + + Cisco-IOS-XR-terminal-device-oper-sub1 + 2020-05-20 + + + + Cisco-IOS-XR-infra-placed-act + 2020-09-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-placed-act + + + Cisco-IOS-XR-procfind-oper + 2020-02-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-procfind-oper + + Cisco-IOS-XR-procfind-oper-sub1 + 2020-02-28 + + + + Cisco-IOS-XR-um-cont-breakout-cfg + 2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-breakout-cfg + + + Cisco-IOS-XR-um-ipv4-prefix-list-cfg + 2020-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-prefix-list-cfg + + + Cisco-IOS-XR-um-if-arp-cfg + 2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-arp-cfg + + + Cisco-IOS-XR-um-cont-oc-pm-cfg + 2020-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-oc-pm-cfg + + + Cisco-IOS-XR-um-yang-server-cfg + 2021-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-yang-server-cfg + + + Cisco-IOS-XR-um-mpls-oam-cfg + 2022-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-oam-cfg + + + Cisco-IOS-XR-um-mibs-fabric-cfg + 2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-fabric-cfg + + + Cisco-IOS-XR-um-cont-vc-pm-cfg + 2021-02-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-vc-pm-cfg + + + Cisco-IOS-XR-um-router-eigrp-cfg + 2021-06-29 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-eigrp-cfg + + + Cisco-IOS-XR-l2-eth-infra-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2-eth-infra-datatypes + + + Cisco-IOS-XR-healthcheck-oper + 2021-10-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-healthcheck-oper + + Cisco-IOS-XR-healthcheck-oper-sub1 + 2021-10-19 + + + Cisco-IOS-XR-healthcheck-oper-sub2 + 2021-10-19 + + + + Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg + 2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-service-sysadmin-login-banner-cfg + + + Cisco-IOS-XR-um-traps-flash-cfg + 2020-04-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-flash-cfg + + + tailf-common + 2018-09-11 + http://tail-f.com/yang/common + + tailf-cli-extensions + 2018-09-11 + + + tailf-meta-extensions + 2017-03-08 + + + + Cisco-IOS-XR-config-cfgmgr-oper + 2020-06-26 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-cfgmgr-oper + + + Cisco-IOS-XR-install-search-act + 2020-08-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-install-search-act + + + Cisco-IOS-XR-lldp-clear-act + 2021-10-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-lldp-clear-act + + + Cisco-IOS-XR-um-rcc-cfg + 2020-09-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-rcc-cfg + + + Cisco-IOS-XR-cfgmgr-cfs-check-act + 2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-cfgmgr-cfs-check-act + + + Cisco-IOS-XR-um-cont-sts-pm-cfg + 2020-06-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-sts-pm-cfg + + + Cisco-IOS-XR-um-cont-cpri-cfg + 2021-05-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-cpri-cfg + + + Cisco-IOS-XR-es-acl-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-es-acl-oper + + Cisco-IOS-XR-es-acl-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-ip-static-ipv6-oper + 2023-06-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-static-ipv6-oper + + Cisco-IOS-XR-ip-static-ipv6-oper-sub1 + 2023-06-21 + + + + Cisco-IOS-XR-shellutil-dir-oper + 2020-10-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-dir-oper + + Cisco-IOS-XR-shellutil-dir-oper-sub1 + 2020-10-14 + + + + Cisco-IOS-XR-um-location-cfg + 2020-01-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-location-cfg + + + Cisco-IOS-XR-um-cont-optics-speed-cfg + 2022-02-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-speed-cfg + + + Cisco-IOS-XR-tty-show-terminal-oper + 2021-08-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-show-terminal-oper + + Cisco-IOS-XR-tty-show-terminal-oper-sub1 + 2021-08-27 + + + + Cisco-IOS-XR-um-telnet-cfg + 2020-09-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-telnet-cfg + + + Cisco-IOS-XR-um-router-ospf-cfg + 2022-07-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospf-cfg + + + Cisco-IOS-XR-um-cont-odu-cfg + 2022-09-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-odu-cfg + + + Cisco-IOS-XR-dpa-port-mapper-oper + 2021-06-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-dpa-port-mapper-oper + + Cisco-IOS-XR-dpa-port-mapper-oper-sub1 + 2021-06-12 + + + + Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg + 2022-08-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-hw-module-profile-netflow-cfg + + + Cisco-IOS-XR-tunnel-ip-ea-oper + 2022-12-03 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-ip-ea-oper + + Cisco-IOS-XR-tunnel-ip-ea-oper-sub1 + 2022-12-03 + + + + Cisco-IOS-XR-um-ethernet-oam-cfg + 2021-02-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-oam-cfg + + + Cisco-IOS-XR-mpls-oam-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-oam-oper + + Cisco-IOS-XR-mpls-oam-oper-sub2 + 2019-04-05 + + + Cisco-IOS-XR-mpls-oam-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-crypto-cepki-oper + 2022-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-cepki-oper + + + Cisco-IOS-XR-um-ipv4-access-list-cfg + 2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-access-list-cfg + + + Cisco-IOS-XR-segment-routing-ms-oper + 2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-ms-oper + + Cisco-IOS-XR-segment-routing-ms-oper-sub2 + 2021-12-01 + + + Cisco-IOS-XR-segment-routing-ms-oper-sub1 + 2021-12-01 + + + Cisco-IOS-XR-segment-routing-ms-oper-sub3 + 2021-12-01 + + + + Cisco-IOS-XR-um-traps-entity-state-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-entity-state-cfg + + + Cisco-IOS-XR-um-ethernet-cfm-cfg + 2021-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ethernet-cfm-cfg + + + Cisco-IOS-XR-aaa-nacm-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-nacm-oper + + Cisco-IOS-XR-aaa-nacm-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-lib-mpp-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-mpp-oper + + Cisco-IOS-XR-lib-mpp-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-8000-udf-cfg + 2020-12-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-udf-cfg + + + Cisco-IOS-XR-um-flowspec-cfg + 2021-07-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-flowspec-cfg + + + Cisco-IOS-XR-ipv6-acl-oper + 2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-acl-oper + + Cisco-IOS-XR-ipv6-acl-oper-sub1 + 2022-07-08 + + + + Cisco-IOS-XR-ethernet-link-oam-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-link-oam-oper + + Cisco-IOS-XR-ethernet-link-oam-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-ipv6-smiap-oper + 2022-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-smiap-oper + + Cisco-IOS-XR-ipv6-smiap-oper-sub1 + 2022-04-05 + + + + Cisco-IOS-XR-um-mpls-l3vpn-cfg + 2019-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-l3vpn-cfg + + + Cisco-IOS-XR-mpls-io-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-io-oper + + Cisco-IOS-XR-mpls-io-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-pbr-cfg + 2021-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-pbr-cfg + + + Cisco-IOS-XR-um-service-timestamps-cfg + 2020-10-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-service-timestamps-cfg + + + Cisco-IOS-XR-um-if-vrf-cfg + 2019-10-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-vrf-cfg + + + Cisco-IOS-XR-mirror-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mirror-oper + + Cisco-IOS-XR-mirror-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-l2rib-oper + 2021-07-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-l2rib-oper + + Cisco-IOS-XR-l2rib-oper-sub1 + 2021-07-09 + + + + Cisco-IOS-XR-system-reboot-act + 2020-07-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-system-reboot-act + + + Cisco-IOS-XR-ethernet-lldp-oper + 2022-11-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-lldp-oper + + Cisco-IOS-XR-ethernet-lldp-oper-sub1 + 2022-11-08 + + + Cisco-IOS-XR-ethernet-lldp-oper-sub2 + 2022-11-08 + + + + Cisco-IOS-XR-event-manager-policy-map-oper + 2022-01-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-event-manager-policy-map-oper + + Cisco-IOS-XR-event-manager-policy-map-oper-sub1 + 2022-01-11 + + + + Cisco-IOS-XR-infra-sla-datatypes + 2020-01-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-datatypes + + + Cisco-IOS-XR-ownership-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ownership-oper + + Cisco-IOS-XR-ownership-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-ipv4-arp-act + 2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-arp-act + + + Cisco-IOS-XR-infra-statsd-oper + 2022-09-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-oper + + Cisco-IOS-XR-infra-statsd-oper-sub1 + 2022-09-30 + + + + Cisco-IOS-XR-procmem-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-procmem-oper + + Cisco-IOS-XR-procmem-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-infra-correlator-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-correlator-oper + + Cisco-IOS-XR-infra-correlator-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-tty-server-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-server-oper + + Cisco-IOS-XR-tty-server-oper-sub1 + 2019-04-05 + + + Cisco-IOS-XR-tty-server-oper-sub5 + 2019-04-05 + + + Cisco-IOS-XR-tty-server-oper-sub3 + 2019-04-05 + + + Cisco-IOS-XR-tty-server-oper-sub4 + 2019-04-05 + + + Cisco-IOS-XR-tty-server-oper-sub2 + 2019-04-05 + + + + Cisco-IOS-XR-um-dhcp-ipv4-cfg + 2021-01-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dhcp-ipv4-cfg + + + Cisco-IOS-XR-um-if-mpls-cfg + 2019-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-mpls-cfg + + + Cisco-IOS-XR-sks-server-oper + 2021-08-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-sks-server-oper + + Cisco-IOS-XR-sks-server-oper-sub1 + 2021-08-11 + + + + Cisco-IOS-XR-crypto-macsec-mka-oper + 2022-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-crypto-macsec-mka-oper + + Cisco-IOS-XR-crypto-macsec-mka-oper-sub1 + 2022-04-28 + + + + Cisco-IOS-XR-um-router-igmp-cfg + 2021-09-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-igmp-cfg + + + Cisco-IOS-XR-8000-platforms-npu-resources-oper + 2022-09-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-platforms-npu-resources-oper + + Cisco-IOS-XR-8000-platforms-npu-resources-oper-sub1 + 2022-09-23 + + + + Cisco-IOS-XR-ip-ntp-admin-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-ntp-admin-oper + + Cisco-IOS-XR-ip-ntp-admin-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-segment-routing-srv6-oper + 2022-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-oper + + Cisco-IOS-XR-segment-routing-srv6-oper-sub1 + 2022-05-19 + + + + Cisco-IOS-XR-um-traps-l2tun-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-l2tun-cfg + + + Cisco-IOS-XR-ipv4-bgp-datatypes + 2022-09-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-datatypes + + + Cisco-IOS-XR-um-ipv6-cfg + 2021-05-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-cfg + + + Cisco-IOS-XR-controller-odu-datatypes + 2020-10-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-odu-datatypes + + + Cisco-IOS-XR-um-track-cfg + 2022-01-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-track-cfg + + + Cisco-IOS-XR-ipv4-acl-oper + 2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-acl-oper + + Cisco-IOS-XR-ipv4-acl-oper-sub1 + 2022-07-08 + + + + Cisco-IOS-XR-um-http-client-cfg + 2022-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-http-client-cfg + + + Cisco-IOS-XR-mpls-ping-act + 2021-04-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ping-act + + + Cisco-IOS-XR-um-mpls-lsd-cfg + 2021-01-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-lsd-cfg + + + cisco-xr-ietf-netconf-monitoring-deviations + "2018-04-09" + http://cisco.com/ns/yang/cisco-xr-ietf-netconf-monitoring-deviations + + + Cisco-IOS-XR-infra-statsd-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-statsd-act + + + Cisco-IOS-XR-um-ipv4-cfg + 2021-02-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv4-cfg + + + Cisco-IOS-XR-um-call-home-cfg + 2022-02-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-call-home-cfg + + + Cisco-IOS-XR-um-dac-rate-cfg + 2020-08-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-dac-rate-cfg + + + Cisco-IOS-XR-um-xml-agent-cfg + 2021-05-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-xml-agent-cfg + + + + + + + + Cisco-IOS-XR-um-power-mgmt-cfg + 2022-02-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-power-mgmt-cfg + + + Cisco-IOS-XR-aaa-tacacs-oper + 2022-11-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-tacacs-oper + + Cisco-IOS-XR-aaa-tacacs-oper-sub1 + 2022-11-01 + + + + Cisco-IOS-XR-ledmgr-oper + 2019-10-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-ledmgr-oper + + Cisco-IOS-XR-ledmgr-oper-sub1 + 2019-10-15 + + + + Cisco-IOS-XR-um-mibs-cbqosmib-cfg + 2020-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mibs-cbqosmib-cfg + + + Cisco-IOS-XR-tmgctrl-tmg-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tmgctrl-tmg-oper + + Cisco-IOS-XR-tmgctrl-tmg-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-tunnel-ip-ma-oper + 2022-08-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-tunnel-ip-ma-oper + + Cisco-IOS-XR-tunnel-ip-ma-oper-sub1 + 2022-08-25 + + + + Cisco-IOS-XR-lib-keychain-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-keychain-oper + + Cisco-IOS-XR-lib-keychain-oper-sub1 + 2019-04-05 + + + + ietf-restconf-monitoring + 2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring + + + Cisco-IOS-XR-ip-daps-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-daps-oper + + Cisco-IOS-XR-ip-daps-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-mld-oper + 2021-12-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-mld-oper + + Cisco-IOS-XR-mld-oper-sub1 + 2021-12-01 + + + + Cisco-IOS-XR-um-router-amt-cfg + 2019-08-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-amt-cfg + + + Cisco-IOS-XR-mpls-traceroute-act + 2021-07-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-traceroute-act + + + Cisco-IOS-XR-um-if-service-policy-qos-cfg + 2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-service-policy-qos-cfg + + + Cisco-IOS-XR-config-valid-ccv-oper + 2021-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-config-valid-ccv-oper + + Cisco-IOS-XR-config-valid-ccv-oper-sub1 + 2021-06-16 + + + Cisco-IOS-XR-config-valid-ccv-oper-sub2 + 2021-06-16 + + + + Cisco-IOS-XR-adt-oper + 2020-05-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-adt-oper + + Cisco-IOS-XR-adt-oper-sub2 + 2020-05-05 + + + Cisco-IOS-XR-adt-oper-sub1 + 2020-05-05 + + + + Cisco-IOS-XR-nto-misc-oper + 2022-01-25 + http://cisco.com/ns/yang/Cisco-IOS-XR-nto-misc-oper + + Cisco-IOS-XR-nto-misc-oper-sub1 + 2022-01-25 + + + + Cisco-IOS-XR-ip-rib-ipv4-oper + 2021-12-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rib-ipv4-oper + + Cisco-IOS-XR-ip-rib-ipv4-oper-sub1 + 2021-12-16 + + + + Cisco-IOS-XR-asic-errors-oper + 2020-11-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-asic-errors-oper + + Cisco-IOS-XR-asic-errors-oper-sub2 + 2020-11-11 + + + Cisco-IOS-XR-asic-errors-oper-sub1 + 2020-11-11 + + + + Cisco-IOS-XR-platform-oper + 2020-07-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-platform-oper + + Cisco-IOS-XR-platform-oper-sub1 + 2020-07-07 + + + + Cisco-IOS-XR-um-script-cfg + 2022-10-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-script-cfg + + + Cisco-IOS-XR-um-vrf-cfg + 2021-07-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-vrf-cfg + + + Cisco-IOS-XR-um-logging-events-cfg + 2020-10-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-logging-events-cfg + + + Cisco-IOS-XR-um-lpts-pifib-police-np-cfg + 2021-07-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-police-np-cfg + + + Cisco-IOS-XR-infra-xtc-agent-oper + 2021-08-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-oper + + Cisco-IOS-XR-infra-xtc-agent-oper-sub1 + 2021-08-31 + + + Cisco-IOS-XR-infra-xtc-agent-oper-sub2 + 2021-08-31 + + + Cisco-IOS-XR-infra-xtc-agent-oper-sub3 + 2021-08-31 + + + + Cisco-IOS-XR-um-router-vrrp-cfg + 2020-12-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-vrrp-cfg + + + Cisco-IOS-XR-lmp-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-lmp-oper + + Cisco-IOS-XR-lmp-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-udp-cfg + 2021-01-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-udp-cfg + + + Cisco-IOS-XR-controller-otu-oper + 2020-05-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-controller-otu-oper + + Cisco-IOS-XR-controller-otu-oper-sub1 + 2020-05-12 + + + + Cisco-IOS-XR-pim-oper + 2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-pim-oper + + Cisco-IOS-XR-pim-oper-sub2 + 2022-03-24 + + + Cisco-IOS-XR-pim-oper-sub1 + 2022-03-24 + + + + Cisco-IOS-XR-authenticated-variable-act + 2020-07-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-authenticated-variable-act + + + Cisco-IOS-XR-smart-license-cfg + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-smart-license-cfg + + + Cisco-IOS-XR-ssh-act + 2021-09-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-ssh-act + + + Cisco-IOS-XR-infra-rsi-oper + 2020-09-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-rsi-oper + + Cisco-IOS-XR-infra-rsi-oper-sub2 + 2020-09-21 + + + Cisco-IOS-XR-infra-rsi-oper-sub1 + 2020-09-21 + + + + Cisco-IOS-XR-um-fault-profile-cfg + 2021-12-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-fault-profile-cfg + + + Cisco-IOS-XR-shellutil-delete-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-shellutil-delete-act + + + Cisco-IOS-XR-um-if-dhcp-client-options-cfg + 2020-04-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-dhcp-client-options-cfg + + + Cisco-IOS-XR-um-router-pim-cfg + 2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-pim-cfg + + + Cisco-IOS-XR-remote-attestation-act + 2021-03-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-remote-attestation-act + + + Cisco-IOS-XR-um-traps-bridgemib-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-bridgemib-cfg + + + Cisco-IOS-XR-um-router-ospfv3-cfg + 2021-09-15 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-ospfv3-cfg + + + Cisco-IOS-XR-um-icmp-cfg + 2020-09-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-icmp-cfg + + + Cisco-IOS-XR-ofa-npu-pfc-oper + 2021-08-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-ofa-npu-pfc-oper + + Cisco-IOS-XR-ofa-npu-pfc-oper-sub1 + 2021-08-19 + + + + Cisco-IOS-XR-linux-security-diskenc-act + 2021-12-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-linux-security-diskenc-act + + + Cisco-IOS-XR-feature-agent-oper + 2021-06-16 + http://cisco.com/ns/yang/Cisco-IOS-XR-feature-agent-oper + + Cisco-IOS-XR-feature-agent-oper-sub1 + 2021-06-16 + + + + Cisco-IOS-XR-um-appmgr-cfg + 2021-06-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-appmgr-cfg + + + Cisco-IOS-XR-invmgr-oper + 2020-11-09 + http://cisco.com/ns/yang/Cisco-IOS-XR-invmgr-oper + + Cisco-IOS-XR-invmgr-oper-sub2 + 2020-11-09 + + + Cisco-IOS-XR-invmgr-oper-sub1 + 2020-11-09 + + + Cisco-IOS-XR-invmgr-oper-sub3 + 2020-11-09 + + + Cisco-IOS-XR-invmgr-oper-sub4 + 2020-11-09 + + + + Cisco-IOS-XR-8000-platforms-npu-memory-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-8000-platforms-npu-memory-oper + + Cisco-IOS-XR-8000-platforms-npu-memory-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-aaa-diameter-cfg + 2023-02-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-diameter-cfg + + + Cisco-IOS-XR-um-event-manager-policy-map-cfg + 2021-08-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-event-manager-policy-map-cfg + + + Cisco-IOS-XR-ptp-pd-oper + 2021-08-04 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-pd-oper + + Cisco-IOS-XR-ptp-pd-oper-sub1 + 2021-08-04 + + + + Cisco-IOS-XR-traceroute-act + 2021-03-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-traceroute-act + + Cisco-IOS-XR-ipv4-traceroute-act + 2021-03-05 + + + Cisco-IOS-XR-ipv6-traceroute-act + 2021-03-05 + + + + Cisco-IOS-XR-infra-policymgr-oper + 2020-09-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-policymgr-oper + + + Cisco-IOS-XR-hwmod-mpa-reload-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-hwmod-mpa-reload-act + + + Cisco-IOS-XR-cdp-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-cdp-oper + + Cisco-IOS-XR-cdp-oper-sub1 + 2019-04-05 + + + + ietf-datastores + 2018-02-14 + urn:ietf:params:xml:ns:yang:ietf-datastores + + + Cisco-IOS-XR-wdsysmon-fd-oper + 2019-07-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-wdsysmon-fd-oper + + Cisco-IOS-XR-wdsysmon-fd-oper-sub1 + 2019-07-05 + + + + Cisco-IOS-XR-fpmgr-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-fpmgr-oper + + Cisco-IOS-XR-fpmgr-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-infra-script-mgmt-act + 2021-10-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-script-mgmt-act + + + Cisco-IOS-XR-ha-eem-policy-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ha-eem-policy-oper + + Cisco-IOS-XR-ha-eem-policy-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-hw-module-quad-cfg + 2020-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-hw-module-quad-cfg + + + Cisco-IOS-XR-ipv4-vrrp-oper + 2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-vrrp-oper + + Cisco-IOS-XR-ipv4-vrrp-oper-sub1 + 2022-03-24 + + + + Cisco-IOS-XR-mpls-ldp-cfg-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ldp-cfg-datatypes + + + Cisco-IOS-XR-um-cont-optics-cfg + 2021-12-07 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-cfg + + + Cisco-IOS-XR-drivers-media-eth-oper + 2021-12-14 + http://cisco.com/ns/yang/Cisco-IOS-XR-drivers-media-eth-oper + + Cisco-IOS-XR-drivers-media-eth-oper-sub1 + 2021-12-14 + + + + Cisco-IOS-XR-um-aaa-radius-server-cfg + 2021-02-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-aaa-radius-server-cfg + + + Cisco-IOS-XR-upgrade-fpd-ng-act + 2019-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-upgrade-fpd-ng-act + + + Cisco-IOS-XR-manageability-object-tracking-datatypes + 2019-11-22 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-object-tracking-datatypes + + + Cisco-IOS-XR-um-traps-alarm-cfg + 2020-12-13 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-alarm-cfg + + + Cisco-IOS-XR-show-fpd-loc-ng-oper + 2020-09-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-show-fpd-loc-ng-oper + + Cisco-IOS-XR-show-fpd-loc-ng-oper-sub1 + 2020-09-18 + + + + Cisco-IOS-XR-um-traps-syslog-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-syslog-cfg + + + Cisco-IOS-XR-um-if-ethernet-cfg + 2021-03-30 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ethernet-cfg + + + Cisco-IOS-XR-tty-management-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-tty-management-datatypes + + + Cisco-IOS-XR-infra-xtc-agent-cfg + 2021-08-31 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-cfg + + + Cisco-IOS-XR-alarmgr-server-oper + 2021-09-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-alarmgr-server-oper + + Cisco-IOS-XR-alarmgr-server-oper-sub1 + 2021-09-27 + + + + Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper + 2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper + + Cisco-IOS-XR-ipv6-new-dhcpv6d-client-oper-sub1 + 2020-09-17 + + + + Cisco-IOS-XR-manageability-perfmgmt-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-manageability-perfmgmt-datatypes + + + Cisco-IOS-XR-spirit-corehelper-context-oper + 2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-spirit-corehelper-context-oper + + Cisco-IOS-XR-spirit-corehelper-context-oper-sub1 + 2020-10-01 + + + + Cisco-IOS-XR-ipv4-bgp-oc-oper + 2020-01-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-oc-oper + + Cisco-IOS-XR-ipv4-bgp-oc-oper-sub1 + 2020-01-28 + + + + Cisco-IOS-XR-um-ntp-cfg + 2022-01-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ntp-cfg + + + Cisco-IOS-XR-um-control-plane-local-cfg + 2020-12-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-control-plane-local-cfg + + + Cisco-IOS-XR-ip-iarm-v4-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iarm-v4-oper + + Cisco-IOS-XR-ip-iarm-v4-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-platforms-ofa-oper + 2020-09-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-platforms-ofa-oper + + + Cisco-IOS-XR-um-line-timestamp-cfg + 2020-10-01 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-line-timestamp-cfg + + + Cisco-IOS-XR-um-cont-optics-mode-cfg + 2021-04-28 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cont-optics-mode-cfg + + + Cisco-IOS-XR-um-ftp-tftp-cfg + 2021-05-12 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ftp-tftp-cfg + + + Cisco-IOS-XR-syncc-oper + 2020-06-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-syncc-oper + + Cisco-IOS-XR-syncc-oper-sub1 + 2020-06-17 + + + + Cisco-IOS-XR-igmp-oper + 2022-03-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-igmp-oper + + Cisco-IOS-XR-igmp-oper-sub1 + 2022-03-24 + + + + Cisco-IOS-XR-um-bfd-sbfd-cfg + 2020-12-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-bfd-sbfd-cfg + + + tailf-actions + "2017-02-28" + http://tail-f.com/ns/netconf/actions/1.0 + + + Cisco-IOS-XR-um-mpls-te-cfg + 2022-10-21 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-mpls-te-cfg + + + Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg + 2020-09-17 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-lpts-pifib-dynamic-flows-cfg + + + Cisco-IOS-XR-infra-smartlicense-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-infra-smartlicense-oper + + Cisco-IOS-XR-infra-smartlicense-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-sandbox-oper + 2022-07-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-sandbox-oper + + Cisco-IOS-XR-sandbox-oper-sub1 + 2022-07-08 + + + + Cisco-IOS-XR-um-if-ipv6-cfg + 2020-10-02 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-ipv6-cfg + + + Cisco-IOS-XR-um-cfg-mibs-cfg + 2020-03-23 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-cfg-mibs-cfg + + + Cisco-IOS-XR-um-traffic-collector-cfg + 2022-11-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traffic-collector-cfg + + + Cisco-IOS-XR-um-ptp-log-servo-cfg + 2020-10-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ptp-log-servo-cfg + + + Cisco-IOS-XR-um-ssh-cfg + 2021-09-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ssh-cfg + + + Cisco-IOS-XR-um-traps-power-cfg + 2020-09-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-power-cfg + + + Cisco-IOS-XR-segment-routing-srv6-cfg + 2022-05-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-segment-routing-srv6-cfg + + + Cisco-IOS-XR-lpts-ifib-oper + 2020-06-24 + http://cisco.com/ns/yang/Cisco-IOS-XR-lpts-ifib-oper + + Cisco-IOS-XR-lpts-ifib-oper-sub1 + 2020-06-24 + + + + Cisco-IOS-XR-lib-type6-act + 2021-04-06 + http://cisco.com/ns/yang/Cisco-IOS-XR-lib-type6-act + + + Cisco-IOS-XR-um-ipv6-nd-cfg + 2022-03-08 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-ipv6-nd-cfg + + + Cisco-IOS-XR-um-if-access-group-cfg + 2019-06-10 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-if-access-group-cfg + + + Cisco-IOS-XR-ptp-datatypes + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-datatypes + + + Cisco-IOS-XR-um-8000-controller-fabric-cfg + 2021-08-19 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-8000-controller-fabric-cfg + + + Cisco-IOS-XR-um-statistics-cfg + 2020-02-20 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-statistics-cfg + + + Cisco-IOS-XR-um-macsec-cfg + 2021-01-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-macsec-cfg + + + Cisco-IOS-XR-perf-meas-oper + 2021-11-18 + http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-oper + + Cisco-IOS-XR-perf-meas-oper-sub2 + 2021-11-18 + + + Cisco-IOS-XR-perf-meas-oper-sub1 + 2021-11-18 + + + + Cisco-IOS-XR-filesysinv-show-oper + 2019-04-05 + http://cisco.com/ns/yang/Cisco-IOS-XR-filesysinv-show-oper + + Cisco-IOS-XR-filesysinv-show-oper-sub1 + 2019-04-05 + + + + Cisco-IOS-XR-um-router-rip-cfg + 2022-01-11 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-router-rip-cfg + + + Cisco-IOS-XR-um-traps-msdp-cfg + 2020-11-27 + http://cisco.com/ns/yang/Cisco-IOS-XR-um-traps-msdp-cfg + + + diff --git a/vendor/cisco/xr/check.sh b/vendor/cisco/xr/check.sh index 2712c9915..643a50a7d 100755 --- a/vendor/cisco/xr/check.sh +++ b/vendor/cisco/xr/check.sh @@ -22,7 +22,7 @@ platform_dir="vendor/cisco/xr" # NOTE: please just have the directories you are checking here -to_check="713 722 734 735 742 753 754 762 771 772 7721 781 782 7822 791 792 7101" +to_check="713 722 734 735 742 753 754 755 762 771 772 7721 781 782 7822 791 792 7101" debug=0